[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [linux-linus bisection] complete test-amd64-i386-qemut-rhel6hvm-intel
branch xen-unstable xenbranch xen-unstable job test-amd64-i386-qemut-rhel6hvm-intel testid xen-boot 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: qemu git://xenbits.xen.org/qemu-xen-traditional.git Tree: qemuu git://xenbits.xen.org/qemu-xen.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: 78c4a49a69e910a162b05e4e8727b9bdbf948f13 Bug not present: 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/65215/ commit 78c4a49a69e910a162b05e4e8727b9bdbf948f13 Merge: 9b81d51 c2489e0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 25 15:11:08 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs fixes from Al Viro: "A couple of fixes for sendfile lockups caught by Dmitry + a fix for ancient sysvfs symlink breakage" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: vfs: Avoid softlockups with sendfile(2) vfs: Make sendfile(2) killable even better fix sysvfs symlinks commit 9b81d512a4a89dadfd3887d1b4443eeb2c20c573 Merge: 4cf193b dcd8376 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 25 11:08:35 2015 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull more block layer fixes from Jens Axboe: "I wasn't going to send off a new pull before next week, but the blk flush fix from Jan from the other day introduced a regression. It's rare enough not to have hit during testing, since it requires both a device that rejects the first flush, and bad timing while it does that. But since someone did hit it, let's get the revert into 4.4-rc3 so we don't have a released rc with that known issue. Apart from that revert, three other fixes: - From Christoph, a fix for a missing unmap in NVMe request preparation. - An NVMe fix from Nishanth that fixes data corruption on powerpc. - Also from Christoph, fix a list_del() attempt on blk-mq that didn't have a matching list_add() at timer start" * 'for-linus' of git://git.kernel.dk/linux-block: Revert "blk-flush: Queue through IO scheduler when flush not required" block: fix blk_abort_request for blk-mq drivers nvme: add missing unmaps in nvme_queue_rq NVMe: default to 4k device page size commit dcd8376c369fa8fde8269e721b14f50475dd397b Author: Jens Axboe <axboe@xxxxxx> Date: Wed Nov 25 10:12:54 2015 -0700 Revert "blk-flush: Queue through IO scheduler when flush not required" This reverts commit 1b2ff19e6a957b1ef0f365ad331b608af80e932e. Jan writes: -- Thanks for report! After some investigation I found out we allocate elevator specific data in __get_request() only for non-flush requests. And this is actually required since the flush machinery uses the space in struct request for something else. Doh. So my patch is just wrong and not easy to fix since at the time __get_request() is called we are not sure whether the flush machinery will be used in the end. Jens, please revert 1b2ff19e6a957b1ef0f365ad331b608af80e932e. Thanks! I'm somewhat surprised that you can reliably hit the race where flushing gets disabled for the device just while the request is in flight. But I guess during boot it makes some sense. -- So let's just revert it, we can fix the queue run manually after the fact. This race is rare enough that it didn't trigger in testing, it requires the specific disable-while-in-flight scenario to trigger. commit 4cf193b4b2363bfed0b4e040e61f20d78192e2e0 Merge: 6ffeba9 b2467e7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 25 09:01:49 2015 -0800 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull KVM fixes from Paolo Bonzini: "Bug fixes for all architectures. Nothing really stands out" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (21 commits) KVM: nVMX: remove incorrect vpid check in nested invvpid emulation arm64: kvm: report original PAR_EL1 upon panic arm64: kvm: avoid %p in __kvm_hyp_panic KVM: arm/arm64: vgic: Trust the LR state for HW IRQs KVM: arm/arm64: arch_timer: Preserve physical dist. active state on LR.active KVM: arm/arm64: Fix preemptible timer active state crazyness arm64: KVM: Add workaround for Cortex-A57 erratum 834220 arm64: KVM: Fix AArch32 to AArch64 register mapping ARM/arm64: KVM: test properly for a PTE's uncachedness KVM: s390: fix wrong lookup of VCPUs by array index KVM: s390: avoid memory overwrites on emergency signal injection KVM: Provide function for VCPU lookup by id KVM: s390: fix pfmf intercept handler KVM: s390: enable SIMD only when no VCPUs were created KVM: x86: request interrupt window when IRQ chip is split KVM: x86: set KVM_REQ_EVENT on local interrupt request from user space KVM: x86: split kvm_vcpu_ready_for_interrupt_injection out of dm_request_for_irq_injection KVM: x86: fix interrupt window handling in split IRQ chip case MIPS: KVM: Uninit VCPU in vcpu_create error path MIPS: KVM: Fix CACHE immediate offset sign extension ... commit b2467e744f89fcb2e723143c2b78bcbaf391828a Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Wed Nov 25 17:21:39 2015 +0800 KVM: nVMX: remove incorrect vpid check in nested invvpid emulation This patch removes the vpid check when emulating nested invvpid instruction of type all-contexts invalidation. The existing code is incorrect because: (1) According to Intel SDM Vol 3, Section "INVVPID - Invalidate Translations Based on VPID", invvpid instruction does not check vpid in the invvpid descriptor when its type is all-contexts invalidation. (2) According to the same document, invvpid of type all-contexts invalidation does not require there is an active VMCS, so/and get_vmcs12() in the existing code may result in a NULL-pointer dereference. In practice, it can crash both KVM itself and L1 hypervisors that use invvpid (e.g. Xen). Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 55ce0da1da287822e5ffb5fcd6e357180d5ba4cd Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 30 20:47:04 2015 +0800 block: fix blk_abort_request for blk-mq drivers We only added the request to the request list for the !blk-mq case, so we should only delete it in that case as well. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bf508e910b02a6107a5aa054e03c6fc8a65dae1e Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 16 07:58:31 2015 +0200 nvme: add missing unmaps in nvme_queue_rq When we fail various metadata related operations in nvme_queue_rq we need to unmap the data SGL. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c5c9f25b98a568451d665afe4aeefe17bf9f2995 Author: Nishanth Aravamudan <nacc at linux.vnet.ibm.com> Date: Tue Nov 24 09:55:05 2015 -0700 NVMe: default to 4k device page size We received a bug report recently when DDW (64-bit direct DMA on Power) is not enabled for NVMe devices. In that case, we fall back to 32-bit DMA via the IOMMU, which is always done via 4K TCEs (Translation Control Entries). The NVMe device driver, though, assumes that the DMA alignment for the PRP entries will match the device's page size, and that the DMA aligment matches the kernel's page aligment. On Power, the the IOMMU page size, as mentioned above, can be 4K, while the device can have a page size of 8K, while the kernel has a page size of 64K. This eventually trips the BUG_ON in nvme_setup_prps(), as we have a 'dma_len' that is a multiple of 4K but not 8K (e.g., 0xF000). In this particular case of page sizes, we clearly want to use the IOMMU's page size in the driver. And generally, the NVMe driver in this function should be using the IOMMU's page size for the default device page size, rather than the kernel's page size. There is not currently an API to obtain the IOMMU's page size across all architectures and in the interest of a stop-gap fix to this functional issue, default the NVMe device page size to 4K, with the intent of adding such an API and implementation across all architectures in the next merge window. With the functionally equivalent v3 of this patch, our hardware test exerciser survives when using 32-bit DMA; without the patch, the kernel will BUG within a few minutes. Signed-off-by: Nishanth Aravamudan <nacc at linux.vnet.ibm.com> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6ffeba9607343f15303a399bc402a538800d89d9 Merge: 81b1a83 0fcb04d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 24 12:53:11 2015 -0800 Merge tag 'dm-4.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper fixes from Mike Snitzer: "Two fixes for 4.4-rc1's DM ioctl changes that introduced the potential for infinite recursion on ioctl (with DM multipath). And four stable fixes: - A DM thin-provisioning fix to restore 'error_if_no_space' setting when a thin-pool is made writable again (after having been out of space). - A DM thin-provisioning fix to properly advertise discard support for thin volumes that are stacked on a thin-pool whose underlying data device doesn't support discards. - A DM ioctl fix to allow ctrl-c to break out of an ioctl retry loop when DM multipath is configured to 'queue_if_no_path'. - A DM crypt fix for a possible hang on dm-crypt device removal" * tag 'dm-4.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm thin: fix regression in advertised discard limits dm crypt: fix a possible hang due to race condition on exit dm mpath: fix infinite recursion in ioctl when no paths and !queue_if_no_path dm: do not reuse dm_blk_ioctl block_device input as local variable dm: fix ioctl retry termination with signal dm thin: restore requested 'error_if_no_space' setting on OODS to WRITE transition commit 81b1a832d79749058863cffe2c0ed4ef40f6e6ec Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Nov 24 11:39:54 2015 -0800 pidns: fix NULL dereference in __task_pid_nr_ns() I got a crash during a "perf top" session that was caused by a race in __task_pid_nr_ns() : pid_nr_ns() was inlined, but apparently compiler chose to read task->pids[type].pid twice, and the pid->level dereference crashed because we got a NULL pointer at the second read : if (pid && ns->level <= pid->level) { // CRASH Just use RCU API properly to solve this race, and not worry about "perf top" crashing hosts :( get_task_pid() can benefit from same fix. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8bd142c01648cdb33e9bcafa0448ba2c20ed814c Merge: d792aba fbb4574 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Nov 24 19:34:40 2015 +0100 Merge tag 'kvm-arm-for-v4.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master KVM/ARM Fixes for v4.4-rc3. Includes some timer fixes, properly unmapping PTEs, an errata fix, and two tweaks to the EL2 panic code. commit 4ce01c518ebf6e3818abf5f4a9e1a1ef9d52f232 Merge: a293154 12e57f5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 24 10:26:30 2015 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block layer fixes from Jens Axboe: "A round of fixes/updates for the current series. This looks a little bigger than it is, but that's mainly because we pushed the lightnvm enabled null_blk change out of the merge window so it could be updated a bit. The rest of the volume is also mostly lightnvm. In particular: - Lightnvm. Various fixes, additions, updates from Matias and Javier, as well as from Wenwei Tao. - NVMe: - Fix for potential arithmetic overflow from Keith. - Also from Keith, ensure that we reap pending completions from a completion queue before deleting it. Fixes kernel crashes when resetting a device with IO pending. - Various little lightnvm related tweaks from Matias. - Fixup flushes to go through the IO scheduler, for the cases where a flush is not required. Fixes a case in CFQ where we would be idling and not see this request, hence not break the idling. From Jan Kara. - Use list_{first,prev,next} in elevator.c for cleaner code. From Gelian Tang. - Fix for a warning trigger on btrfs and raid on single queue blk-mq devices, where we would flush plug callbacks with preemption disabled. From me. - A mac partition validation fix from Kees Cook. - Two merge fixes from Ming, marked stable. A third part is adding a new warning so we'll notice this quicker in the future, if we screw up the accounting. - Cleanup of thread name/creation in mtip32xx from Rasmus Villemoes" * 'for-linus' of git://git.kernel.dk/linux-block: (32 commits) blk-merge: warn if figured out segment number is bigger than nr_phys_segments blk-merge: fix blk_bio_segment_split block: fix segment split blk-mq: fix calling unplug callbacks with preempt disabled mac: validate mac_partition is within sector mtip32xx: use formatting capability of kthread_create_on_node NVMe: reap completion entries when deleting queue lightnvm: add free and bad lun info to show luns lightnvm: keep track of block counts nvme: lightnvm: use admin queues for admin cmds lightnvm: missing free on init error lightnvm: wrong return value and redundant free null_blk: do not del gendisk with lightnvm null_blk: use device addressing mode null_blk: use ppa_cache pool NVMe: Fix possible arithmetic overflow for max segments blk-flush: Queue through IO scheduler when flush not required null_blk: register as a LightNVM device elevator: use list_{first,prev,next}_entry lightnvm: cleanup queue before target removal ... commit fbb4574ce9a37e15a9872860bf202f2be5bdf6c4 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Nov 16 13:58:29 2015 +0000 arm64: kvm: report original PAR_EL1 upon panic If we call __kvm_hyp_panic while a guest context is active, we call __restore_sysregs before acquiring the system register values for the panic, in the process throwing away the PAR_EL1 value at the point of the panic. This patch modifies __kvm_hyp_panic to stash the PAR_EL1 value prior to restoring host register values, enabling us to report the original values at the point of the panic. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 1d7a4e313abbc7200982e5a68121483a3aa32295 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Nov 16 13:55:51 2015 +0000 arm64: kvm: avoid %p in __kvm_hyp_panic Currently __kvm_hyp_panic uses %p for values which are not pointers, such as the ESR value. This can confusingly lead to "(null)" being printed for the value. Use %x instead, and only use %p for host pointers. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 9f958c11b780af74fc311b96d6124740aa21cc68 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Nov 24 16:34:31 2015 +0100 KVM: arm/arm64: vgic: Trust the LR state for HW IRQs We were probing the physial distributor state for the active state of a HW virtual IRQ, because we had seen evidence that the LR state was not cleared when the guest deactivated a virtual interrupted. However, this issue turned out to be a software bug in the GIC, which was solved by: 84aab5e68c2a5e1e18d81ae8308c3ce25d501b29 (KVM: arm/arm64: arch_timer: Preserve physical dist. active state on LR.active, 2015-11-24) Therefore, get rid of the complexities and just look at the LR. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 0e3dfda91d9fe8e2c4d0b5d21434b173a241eeaf Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Nov 24 16:23:05 2015 +0100 KVM: arm/arm64: arch_timer: Preserve physical dist. active state on LR.active We were incorrectly removing the active state from the physical distributor on the timer interrupt when the timer output level was deasserted. We shouldn't be doing this without considering the virtual interrupt's active state, because the architecture requires that when an LR has the HW bit set and the pending or active bits set, then the physical interrupt must also have the corresponding bits set. This addresses an issue where we have been observing an inconsistency between the LR state and the physical distributor state where the LR state was active and the physical distributor was not active, which shouldn't happen. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 7e16aa81f9f6a7cfe2287b788a7d62abc2880185 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Nov 24 10:31:07 2015 +0100 KVM: arm/arm64: Fix preemptible timer active state crazyness We were setting the physical active state on the GIC distributor in a preemptible section, which could cause us to set the active state on different physical CPU from the one we were actually going to run on, hacoc ensues. Since we are no longer descheduling/scheduling soft timers in the flush/sync timer functions, simply moving the timer flush into a non-preemptible section. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 498cd5c32be6e32bc0f8efcad48ab094bb2bfdf3 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Nov 16 10:28:18 2015 +0000 arm64: KVM: Add workaround for Cortex-A57 erratum 834220 Cortex-A57 parts up to r1p2 can misreport Stage 2 translation faults when a Stage 1 permission fault or device alignment fault should have been reported. This patch implements the workaround (which is to validate that the Stage-1 translation actually succeeds) by using code patching. Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c0f0963464c24e034b858441205455bf2a5d93ad Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Nov 16 10:28:17 2015 +0000 arm64: KVM: Fix AArch32 to AArch64 register mapping When running a 32bit guest under a 64bit hypervisor, the ARMv8 architecture defines a mapping of the 32bit registers in the 64bit space. This includes banked registers that are being demultiplexed over the 64bit ones. On exceptions caused by an operation involving a 32bit register, the HW exposes the register number in the ESR_EL2 register. It was so far understood that SW had to distinguish between AArch32 and AArch64 accesses (based on the current AArch32 mode and register number). It turns out that I misinterpreted the ARM ARM, and the clue is in D1.20.1: "For some exceptions, the exception syndrome given in the ESR_ELx identifies one or more register numbers from the issued instruction that generated the exception. Where the exception is taken from an Exception level using AArch32 these register numbers give the AArch64 view of the register." Which means that the HW is already giving us the translated version, and that we shouldn't try to interpret it at all (for example, doing an MMIO operation from the IRQ mode using the LR register leads to very unexpected behaviours). The fix is thus not to perform a call to vcpu_reg32() at all from vcpu_reg(), and use whatever register number is supplied directly. The only case we need to find out about the mapping is when we actively generate a register access, which only occurs when injecting a fault in a guest. Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit e6fab54423450d699a09ec2b899473a541f61971 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Nov 10 15:11:20 2015 +0100 ARM/arm64: KVM: test properly for a PTE's uncachedness The open coded tests for checking whether a PTE maps a page as uncached use a flawed '(pte_val(xxx) & CONST) != CONST' pattern, which is not guaranteed to work since the type of a mapping is not a set of mutually exclusive bits For HYP mappings, the type is an index into the MAIR table (i.e, the index itself does not contain any information whatsoever about the type of the mapping), and for stage-2 mappings it is a bit field where normal memory and device types are defined as follows: #define MT_S2_NORMAL 0xf #define MT_S2_DEVICE_nGnRE 0x1 I.e., masking *and* comparing with the latter matches on the former, and we have been getting lucky merely because the S2 device mappings also have the PTE_UXN bit set, or we would misidentify memory mappings as device mappings. Since the unmap_range() code path (which contains one instance of the flawed test) is used both for HYP mappings and stage-2 mappings, and considering the difference between the two, it is non-trivial to fix this by rewriting the tests in place, as it would involve passing down the type of mapping through all the functions. However, since HYP mappings and stage-2 mappings both deal with host physical addresses, we can simply check whether the mapping is backed by memory that is managed by the host kernel, and only perform the D-cache maintenance if this is the case. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 12e57f59ca3344a588531f68eeede45666e8a6e0 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Nov 24 10:35:31 2015 +0800 blk-merge: warn if figured out segment number is bigger than nr_phys_segments We had seen lots of reports of this kind issue, so add one warnning in blk-merge, then it can be triggered easily and avoid to depend on warning/bug from drivers. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 02e707424c2eadbcda68cd38876c9f4434ca8e1a Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Nov 24 10:35:30 2015 +0800 blk-merge: fix blk_bio_segment_split Commit bdced438acd83a(block: setup bi_phys_segments after splitting) introduces function of computing bio->bi_phys_segments during bio splitting. Unfortunately both bio->bi_seg_front_size and bio->bi_seg_back_size arn't computed, so too many physical segments may be obtained for one request since both the two are used to check if one segment across two bios can be possible. This patch fixes the issue by computing the two variables in blk_bio_segment_split(). Fixes: bdced438acd83a(block: setup bi_phys_segments after splitting) Reported-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reported-by: Mark Salter <msalter@xxxxxxxxxx> Tested-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Tested-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 578270bfbd2803dc7b0b03fbc2ac119efbc73195 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Nov 24 10:35:29 2015 +0800 block: fix segment split Inside blk_bio_segment_split(), previous bvec pointer(bvprvp) always points to the iterator local variable, which is obviously wrong, so fix it by pointing to the local variable of 'bvprv'. Fixes: 5014c311baa2b(block: fix bogus compiler warnings in blk-merge.c) Cc: stable@xxxxxxxxxx #4.3 Reported-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reported-by: Mark Salter <msalter@xxxxxxxxxx> Tested-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Tested-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c2489e07c0a71a56fb2c84bc0ee66cddfca7d068 Author: Jan Kara <jack@xxxxxxx> Date: Mon Nov 23 13:09:51 2015 +0100 vfs: Avoid softlockups with sendfile(2) The following test program from Dmitry can cause softlockups or RCU stalls as it copies 1GB from tmpfs into eventfd and we don't have any scheduling point at that path in sendfile(2) implementation: int r1 = eventfd(0, 0); int r2 = memfd_create("", 0); unsigned long n = 1<<30; fallocate(r2, 0, 0, n); sendfile(r1, r2, 0, n); Add cond_resched() into __splice_from_pipe() to fix the problem. CC: Dmitry Vyukov <dvyukov@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c725bfce7968009756ed2836a8cd7ba4dc163011 Author: Jan Kara <jack@xxxxxxx> Date: Mon Nov 23 13:09:50 2015 +0100 vfs: Make sendfile(2) killable even better Commit 296291cdd162 (mm: make sendfile(2) killable) fixed an issue where sendfile(2) was doing a lot of tiny writes into a filesystem and thus was unkillable for a long time. However sendfile(2) can be (mis)used to issue lots of writes into arbitrary file descriptor such as evenfd or similar special file descriptors which never hit the standard filesystem write path and thus are still unkillable. E.g. the following example from Dmitry burns CPU for ~16s on my test system without possibility to be killed: int r1 = eventfd(0, 0); int r2 = memfd_create("", 0); unsigned long n = 1<<30; fallocate(r2, 0, 0, n); sendfile(r1, r2, 0, n); There are actually quite a few tests for pending signals in sendfile code however we data to write is always available none of them seems to trigger. So fix the problem by adding a test for pending signal into splice_from_pipe_next() also before the loop waiting for pipe buffers to be available. This should fix all the lockup issues with sendfile of the do-ton-of-tiny-writes nature. CC: stable@xxxxxxxxxxxxxxx Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0ebf7f10d67a70e120f365018f1c5fce9ddc567d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Nov 23 21:11:08 2015 -0500 fix sysvfs symlinks The thing got broken back in 2002 - sysvfs does *not* have inline symlinks; even short ones have bodies stored in the first block of file. sysv_symlink() handles that correctly; unfortunately, attempting to look an existing symlink up will end up confusing them for inline symlinks, and interpret the block number containing the body as the body itself. Nobody has noticed until now, which says something about the level of testing sysvfs gets ;-/ Cc: stable@xxxxxxxxxxxxxxx # all of them, not that anyone cared Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a2931547eee19201856a89406397ecc1f978deaf Merge: 1ec2183 2ce47b4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 23 13:19:27 2015 -0800 Merge tag 'linux-kselftest-4.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest fixes from Shuah Khan: "This update consists of one minor documentation fix and a fix to an existing test" * tag 'linux-kselftest-4.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests/seccomp: Get page size from sysconf tools:testing/selftests: fix typo in futex/README commit 0fcb04d59351f790efb8da18edefd6ab4d9bbf3b Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Nov 23 13:44:38 2015 -0500 dm thin: fix regression in advertised discard limits When establishing a thin device's discard limits we cannot rely on the underlying thin-pool device's discard capabilities (which are inherited from the thin-pool's underlying data device) given that DM thin devices must provide discard support even when the thin-pool's underlying data device doesn't support discards. Users were exposed to this thin device discard limits regression if their thin-pool's underlying data device does _not_ support discards. This regression caused all upper-layers that called the blkdev_issue_discard() interface to not be able to issue discards to thin devices (because discard_granularity was 0). This regression wasn't caught earlier because the device-mapper-test-suite's extensive 'thin-provisioning' discard tests are only ever performed against thin-pool's with data devices that support discards. Fix is to have thin_io_hints() test the pool's 'discard_enabled' feature rather than inferring whether or not a thin device's discard support should be enabled by looking at the thin-pool's discard_granularity. Fixes: 216076705 ("dm thin: disable discard support for thin devices if pool's is disabled") Reported-by: Mike Gerber <mike@xxxxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.1+ commit 1ec218373b8ebda821aec00bb156a9c94fad9cd4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 16:45:59 2015 -0800 Linux 4.4-rc2 commit 104e2a6f8b3df8b8200c7f4ac23feb079a44e4f3 Merge: dcfeda9 865762a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 15:21:40 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge slub bulk allocator updates from Andrew Morton: "This missed the merge window because I was waiting for some repairs to come in. Nothing actually uses the bulk allocator yet and the changes to other code paths are pretty small. And the net guys are waiting for this so they can start merging the client code" More comments from Jesper Dangaard Brouer: "The kmem_cache_alloc_bulk() call, in mm/slub.c, were included in previous kernel. The present version contains a bug. Vladimir Davydov noticed it contained a bug, when kernel is compiled with CONFIG_MEMCG_KMEM (see commit 03ec0ed57ffc: "slub: fix kmem cgroup bug in kmem_cache_alloc_bulk"). Plus the mem cgroup counterpart in kmem_cache_free_bulk() were missing (see commit 033745189b1b "slub: add missing kmem cgroup support to kmem_cache_free_bulk"). I don't consider the fix stable-material because there are no in-tree users of the API. But with known bugs (for memcg) I cannot start using the API in the net-tree" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: slab/slub: adjust kmem_cache_alloc_bulk API slub: add missing kmem cgroup support to kmem_cache_free_bulk slub: fix kmem cgroup bug in kmem_cache_alloc_bulk slub: optimize bulk slowpath free by detached freelist slub: support for bulk free with SLUB freelists commit dcfeda9d5f52bf43ae4297d8102a76d88b778d93 Merge: 7f21739 bd63acf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 15:10:57 2015 -0800 Merge tag 'tty-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial fixes from Greg KH: "Here are a few small tty/serial driver fixes for 4.4-rc2 that resolve some reported problems. All have been in linux-next, full details are in the shortlog below" * tag 'tty-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: serial: export fsl8250_handle_irq serial: 8250_mid: Add missing dependency tty: audit: Fix audit source serial: etraxfs-uart: Fix crash serial: fsl_lpuart: Fix earlycon support bcm63xx_uart: Use the device name when registering an interrupt tty: Fix direct use of tty buffer work tty: Fix tty_send_xchar() lock order inversion commit 7f21739301bf894607f64cbb36add761fa4cb772 Merge: 6d2d91b b57f9f3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 13:26:24 2015 -0800 Merge tag 'staging-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging/IIO fixes from Greg KH: "Here are some staging and iio driver fixes for 4.4-rc2. All of these are in response to issues that have been reported and have been in linux-next for a while" * tag 'staging-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: Revert "Staging: wilc1000: coreconfigurator: Drop unneeded wrapper functions" iio: adc: xilinx: Fix VREFN scale iio: si7020: Swap data byte order iio: adc: vf610_adc: Fix division by zero error iio:ad7793: Fix ad7785 product ID iio: ad5064: Fix ad5629/ad5669 shift iio:ad5064: Make sure ad5064_i2c_write() returns 0 on success iio: lpc32xx_adc: fix warnings caused by enabling unprepared clock staging: iio: select IRQ_WORK for IIO_DUMMY_EVGEN vf610_adc: Fix internal temperature calculation commit 6d2d91b3e463a10a745616650066e28b42af649d Merge: 0ec7dc8 19cd80a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 13:15:05 2015 -0800 Merge tag 'usb-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are a number of USB fixes and new device ids for 4.4-rc2. All have been in linux-next and the details are in the shortlog" * tag 'usb-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (28 commits) usblp: do not set TASK_INTERRUPTIBLE before lock USB: MAINTAINERS: cxacru usb: kconfig: fix warning of select USB_OTG USB: option: add XS Stick W100-2 from 4G Systems xhci: Fix a race in usb2 LPM resume, blocking U3 for usb2 devices usb: xhci: fix checking ep busy for CFC xhci: Workaround to get Intel xHCI reset working more reliably usb: chipidea: imx: fix a possible NULL dereference usb: chipidea: usbmisc_imx: fix a possible NULL dereference usb: chipidea: otg: gadget module load and unload support usb: chipidea: debug: disable usb irq while role switch ARM: dts: imx27.dtsi: change the clock information for usb usb: chipidea: imx: refine clock operations to adapt for all platforms usb: gadget: atmel_usba_udc: Expose correct device speed usb: musb: enable usb_dma parameter usb: phy: phy-mxs-usb: fix a possible NULL dereference usb: dwc3: gadget: let us set lower max_speed usb: musb: fix tx fifo flush handling usb: gadget: f_loopback: fix the warning during the enumeration usb: dwc2: host: Fix remote wakeup when not in DWC2_L2 ... commit 0ec7dc8d19683ae292a4866c155824b647226103 Merge: 94521b2 55f1d59 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 12:59:46 2015 -0800 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS fixes from Ralf Baechle: - Fix a flood of annoying build warnings - A number of fixes for Atheros 79xx platforms * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: ath79: Add a machine entry for booting OF machines MIPS: ath79: Fix the size of the MISC INTC registers in ar9132.dtsi MIPS: ath79: Fix the DDR control initialization on ar71xx and ar934x MIPS: Fix flood of warnings about comparsion being always true. commit 94521b2fd27b5ef43573f9f425a48839fa80ebaa Merge: 727cde6 41b85a1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 12:50:58 2015 -0800 Merge branch 'parisc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc update from Helge Deller: "This patchset adds Huge Page and HUGETLBFS support for parisc" Honestly, the hugepage support should have gone through in the merge window, and is not really an rc-time fix. But it only touches arch/parisc, and I cannot find it in myself to care. If one of the three parisc users notices a breakage, I will point at Helge and make rude farting noises. * 'parisc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Map kernel text and data on huge pages parisc: Add Huge Page and HUGETLBFS support parisc: Use long branch to do_syscall_trace_exit parisc: Increase initial kernel mapping to 32MB on 64bit kernel parisc: Initialize the fault vector earlier in the boot process. parisc: Add defines for Huge page support parisc: Drop unused MADV_xxxK_PAGES flags from asm/mman.h parisc: Drop definition of start_thread_som for HP-UX SOM binaries parisc: Fix wrong comment regarding first pmd entry flags commit 727cde6c3af38ebb2dbc40e0b32499a55051851d Merge: 069ec22 e15bf88 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 12:37:20 2015 -0800 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf tool fixes from Thomas Gleixner: "A couple of fixes for perf tools: - Build system updates - Plug a memory leak in an error path of perf probe - Tear down probes correctly when adding fails - Fixes to the perf symbol handling - Fix ordering of event processing in buildid-list - Fix per DSO filtering in the histogram browser" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf probe: Clear probe_trace_event when add_probe_trace_event() fails perf probe: Fix memory leaking on failure by clearing all probe_trace_events perf inject: Also re-pipe lost_samples event perf buildid-list: Requires ordered events perf symbols: Fix dso lookup by long name and missing buildids perf symbols: Allow forcing reading of non-root owned files by root perf hists browser: The dso can be obtained from popup_action->ms.map->dso perf hists browser: Fix 'd' hotkey action to filter by DSO perf symbols: Rebuild rbtree when adjusting symbols for kcore tools: Add a "make all" rule tools: Actually install tmon in the install rule commit 069ec22915b0932e1c2da53255a705593743374f Merge: 3ad5d7e 581b7f15 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 12:00:12 2015 -0800 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Thomas Gleixner: "This update contains: - MPX updates for handling 32bit processes - A fix for a long standing bug in 32bit signal frame handling related to FPU/XSAVE state - Handle get_xsave_addr() correctly in KVM - Fix SMAP check under paravirtualization - Add a comment to the static function trace entry to avoid further confusion about the difference to dynamic tracing" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu: Fix SMAP check in PVOPS environments x86/ftrace: Add comment on static function tracing x86/fpu: Fix get_xsave_addr() behavior under virtualization x86/fpu: Fix 32-bit signal frame handling x86/mpx: Fix 32-bit address space calculation x86/mpx: Do proper get_user() when running 32-bit binaries on 64-bit kernels commit 865762a8119e74b5f0e236d2d8eaaf8be9292a06 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:58 2015 -0800 slab/slub: adjust kmem_cache_alloc_bulk API Adjust kmem_cache_alloc_bulk API before we have any real users. Adjust API to return type 'int' instead of previously type 'bool'. This is done to allow future extension of the bulk alloc API. A future extension could be to allow SLUB to stop at a page boundary, when specified by a flag, and then return the number of objects. The advantage of this approach, would make it easier to make bulk alloc run without local IRQs disabled. With an approach of cmpxchg "stealing" the entire c->freelist or page->freelist. To avoid overshooting we would stop processing at a slab-page boundary. Else we always end up returning some objects at the cost of another cmpxchg. To keep compatible with future users of this API linking against an older kernel when using the new flag, we need to return the number of allocated objects with this API change. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: 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 033745189b1bae3fc931beeaf48604ee7c259309 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:55 2015 -0800 slub: add missing kmem cgroup support to kmem_cache_free_bulk Initial implementation missed support for kmem cgroup support in kmem_cache_free_bulk() call, add this. If CONFIG_MEMCG_KMEM is not enabled, the compiler should be smart enough to not add any asm code. Incoming bulk free objects can belong to different kmem cgroups, and object free call can happen at a later point outside memcg context. Thus, we need to keep the orig kmem_cache, to correctly verify if a memcg object match against its "root_cache" (s->memcg_params.root_cache). Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@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 03ec0ed57ffc77720b811dbb6d44733b58360d9f Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:52 2015 -0800 slub: fix kmem cgroup bug in kmem_cache_alloc_bulk The call slab_pre_alloc_hook() interacts with kmemgc and is not allowed to be called several times inside the bulk alloc for loop, due to the call to memcg_kmem_get_cache(). This would result in hitting the VM_BUG_ON in __memcg_kmem_get_cache. As suggested by Vladimir Davydov, change slab_post_alloc_hook() to be able to handle an array of objects. A subtle detail is, loop iterator "i" in slab_post_alloc_hook() must have same type (size_t) as size argument. This helps the compiler to easier realize that it can remove the loop, when all debug statements inside loop evaluates to nothing. Note, this is only an issue because the kernel is compiled with GCC option: -fno-strict-overflow In slab_alloc_node() the compiler inlines and optimizes the invocation of slab_post_alloc_hook(s, flags, 1, &object) by removing the loop and access object directly. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Reported-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Suggested-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@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 d0ecd894e3d5f768a84403b34019c4a7daa05882 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:49 2015 -0800 slub: optimize bulk slowpath free by detached freelist This change focus on improving the speed of object freeing in the "slowpath" of kmem_cache_free_bulk. The calls slab_free (fastpath) and __slab_free (slowpath) have been extended with support for bulk free, which amortize the overhead of the (locked) cmpxchg_double. To use the new bulking feature, we build what I call a detached freelist. The detached freelist takes advantage of three properties: 1) the free function call owns the object that is about to be freed, thus writing into this memory is synchronization-free. 2) many freelist's can co-exist side-by-side in the same slab-page each with a separate head pointer. 3) it is the visibility of the head pointer that needs synchronization. Given these properties, the brilliant part is that the detached freelist can be constructed without any need for synchronization. The freelist is constructed directly in the page objects, without any synchronization needed. The detached freelist is allocated on the stack of the function call kmem_cache_free_bulk. Thus, the freelist head pointer is not visible to other CPUs. All objects in a SLUB freelist must belong to the same slab-page. Thus, constructing the detached freelist is about matching objects that belong to the same slab-page. The bulk free array is scanned is a progressive manor with a limited look-ahead facility. Kmem debug support is handled in call of slab_free(). Notice kmem_cache_free_bulk no longer need to disable IRQs. This only slowed down single free bulk with approx 3 cycles. Performance data: Benchmarked[1] obj size 256 bytes on CPU i7-4790K @ 4.00GHz SLUB fastpath single object quick reuse: 47 cycles(tsc) 11.931 ns To get stable and comparable numbers, the kernel have been booted with "slab_merge" (this also improve performance for larger bulk sizes). Performance data, compared against fallback bulking: bulk - fallback bulk - improvement with this patch 1 - 62 cycles(tsc) 15.662 ns - 49 cycles(tsc) 12.407 ns- improved 21.0% 2 - 55 cycles(tsc) 13.935 ns - 30 cycles(tsc) 7.506 ns - improved 45.5% 3 - 53 cycles(tsc) 13.341 ns - 23 cycles(tsc) 5.865 ns - improved 56.6% 4 - 52 cycles(tsc) 13.081 ns - 20 cycles(tsc) 5.048 ns - improved 61.5% 8 - 50 cycles(tsc) 12.627 ns - 18 cycles(tsc) 4.659 ns - improved 64.0% 16 - 49 cycles(tsc) 12.412 ns - 17 cycles(tsc) 4.495 ns - improved 65.3% 30 - 49 cycles(tsc) 12.484 ns - 18 cycles(tsc) 4.533 ns - improved 63.3% 32 - 50 cycles(tsc) 12.627 ns - 18 cycles(tsc) 4.707 ns - improved 64.0% 34 - 96 cycles(tsc) 24.243 ns - 23 cycles(tsc) 5.976 ns - improved 76.0% 48 - 83 cycles(tsc) 20.818 ns - 21 cycles(tsc) 5.329 ns - improved 74.7% 64 - 74 cycles(tsc) 18.700 ns - 20 cycles(tsc) 5.127 ns - improved 73.0% 128 - 90 cycles(tsc) 22.734 ns - 27 cycles(tsc) 6.833 ns - improved 70.0% 158 - 99 cycles(tsc) 24.776 ns - 30 cycles(tsc) 7.583 ns - improved 69.7% 250 - 104 cycles(tsc) 26.089 ns - 37 cycles(tsc) 9.280 ns - improved 64.4% Performance data, compared current in-kernel bulking: bulk - curr in-kernel - improvement with this patch 1 - 46 cycles(tsc) - 49 cycles(tsc) - improved (cycles:-3) -6.5% 2 - 27 cycles(tsc) - 30 cycles(tsc) - improved (cycles:-3) -11.1% 3 - 21 cycles(tsc) - 23 cycles(tsc) - improved (cycles:-2) -9.5% 4 - 18 cycles(tsc) - 20 cycles(tsc) - improved (cycles:-2) -11.1% 8 - 17 cycles(tsc) - 18 cycles(tsc) - improved (cycles:-1) -5.9% 16 - 18 cycles(tsc) - 17 cycles(tsc) - improved (cycles: 1) 5.6% 30 - 18 cycles(tsc) - 18 cycles(tsc) - improved (cycles: 0) 0.0% 32 - 18 cycles(tsc) - 18 cycles(tsc) - improved (cycles: 0) 0.0% 34 - 78 cycles(tsc) - 23 cycles(tsc) - improved (cycles:55) 70.5% 48 - 60 cycles(tsc) - 21 cycles(tsc) - improved (cycles:39) 65.0% 64 - 49 cycles(tsc) - 20 cycles(tsc) - improved (cycles:29) 59.2% 128 - 69 cycles(tsc) - 27 cycles(tsc) - improved (cycles:42) 60.9% 158 - 79 cycles(tsc) - 30 cycles(tsc) - improved (cycles:49) 62.0% 250 - 86 cycles(tsc) - 37 cycles(tsc) - improved (cycles:49) 57.0% Performance with normal SLUB merging is significantly slower for larger bulking. This is believed to (primarily) be an effect of not having to share the per-CPU data-structures, as tuning per-CPU size can achieve similar performance. bulk - slab_nomerge - normal SLUB merge 1 - 49 cycles(tsc) - 49 cycles(tsc) - merge slower with cycles:0 2 - 30 cycles(tsc) - 30 cycles(tsc) - merge slower with cycles:0 3 - 23 cycles(tsc) - 23 cycles(tsc) - merge slower with cycles:0 4 - 20 cycles(tsc) - 20 cycles(tsc) - merge slower with cycles:0 8 - 18 cycles(tsc) - 18 cycles(tsc) - merge slower with cycles:0 16 - 17 cycles(tsc) - 17 cycles(tsc) - merge slower with cycles:0 30 - 18 cycles(tsc) - 23 cycles(tsc) - merge slower with cycles:5 32 - 18 cycles(tsc) - 22 cycles(tsc) - merge slower with cycles:4 34 - 23 cycles(tsc) - 22 cycles(tsc) - merge slower with cycles:-1 48 - 21 cycles(tsc) - 22 cycles(tsc) - merge slower with cycles:1 64 - 20 cycles(tsc) - 48 cycles(tsc) - merge slower with cycles:28 128 - 27 cycles(tsc) - 57 cycles(tsc) - merge slower with cycles:30 158 - 30 cycles(tsc) - 59 cycles(tsc) - merge slower with cycles:29 250 - 37 cycles(tsc) - 56 cycles(tsc) - merge slower with cycles:19 Joint work with Alexander Duyck. [1] https://github.com/netoptimizer/prototype-kernel/blob/master/kernel/mm/slab_bulk_test01.c [akpm@xxxxxxxxxxxxxxxxxxxx: BUG_ON -> WARN_ON;return] Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Acked-by: 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 81084651d73737988355f167065fab8a73574db1 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:46 2015 -0800 slub: support for bulk free with SLUB freelists Make it possible to free a freelist with several objects by adjusting API of slab_free() and __slab_free() to have head, tail and an objects counter (cnt). Tail being NULL indicate single object free of head object. This allow compiler inline constant propagation in slab_free() and slab_free_freelist_hook() to avoid adding any overhead in case of single object free. This allows a freelist with several objects (all within the same slab-page) to be free'ed using a single locked cmpxchg_double in __slab_free() and with an unlocked cmpxchg_double in slab_free(). Object debugging on the free path is also extended to handle these freelists. When CONFIG_SLUB_DEBUG is enabled it will also detect if objects don't belong to the same slab-page. These changes are needed for the next patch to bulk free the detached freelists it introduces and constructs. Micro benchmarking showed no performance reduction due to this change, when debugging is turned off (compiled with CONFIG_SLUB_DEBUG). Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Acked-by: 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 41b85a1163386f8328ad570f383973cb3975d2fa Author: Helge Deller <deller@xxxxxx> Date: Sun Nov 22 00:07:44 2015 +0100 parisc: Map kernel text and data on huge pages Adjust the linker script and map_pages() to map kernel text and data on physical 1MB huge/large pages. Signed-off-by: Helge Deller <deller@xxxxxx> commit 736d2169338a50c8814efc186b5423aee43b0c68 Author: Helge Deller <deller@xxxxxx> Date: Sun Nov 22 00:07:06 2015 +0100 parisc: Add Huge Page and HUGETLBFS support This patch adds huge page support to allow userspace to allocate huge pages and to use hugetlbfs filesystem on 32- and 64-bit Linux kernels. A later patch will add kernel support to map kernel text and data on huge pages. The only requirement is, that the kernel needs to be compiled for a PA8X00 CPU (PA2.0 architecture). Older PA1.X CPUs do not support variable page sizes. 64bit Kernels are compiled for PA2.0 by default. Technically on parisc multiple physical huge pages may be needed to emulate standard 2MB huge pages. Signed-off-by: Helge Deller <deller@xxxxxx> commit 337685e556c6f080bf4775950e3b9493852715f8 Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 11:22:32 2015 +0100 parisc: Use long branch to do_syscall_trace_exit Use the 22bit instead of the 17bit branch instruction on a 64bit kernel to reach the do_syscall_trace_exit function from the gateway page. A huge page enabled kernel may need the additional branch distance bits. Signed-off-by: Helge Deller <deller@xxxxxx> commit 332b42e4eb6e955f3be0bbbf1f272aa943954d98 Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 11:17:27 2015 +0100 parisc: Increase initial kernel mapping to 32MB on 64bit kernel For the 64bit kernel the initially 16 MB kernel memory might become too small if you build a kernel with many modules built-in and with kernel text and data areas mapped on huge pages. This patch increases the initial mapping to 32MB for 64bit kernels and keeps 16MB for 32bit kernels. Signed-off-by: Helge Deller <deller@xxxxxx> commit 4182d0cdf853fb044b969318289ae9f451f69c86 Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 10:50:01 2015 +0100 parisc: Initialize the fault vector earlier in the boot process. A fault vector on parisc needs to be 2K aligned. Furthermore the checksum of the fault vector needs to sum up to 0 which is being calculated and written at runtime. Up to now we aligned both PA20 and PA11 fault vectors on the same 4K page in order to easily write the checksum after having mapped the kernel read-only (by mapping this page only as read-write). But when we want to map the kernel text and data on huge pages this makes things harder. So, simplify it by aligning both fault vectors on 2K boundries and write the checksum before we map the page read-only. Signed-off-by: Helge Deller <deller@xxxxxx> commit 1f25ad26d65b3740f44d6e03edcd34a5f7b58850 Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 15:46:52 2015 +0100 parisc: Add defines for Huge page support Huge pages on parisc will have the same size as one pmd table, which is on a 64bit kernel 2MB on a kernel with 4K kernel page sizes, and on a 32bit kernel 4MB when used with 4K kernel pages. Since parisc does not physically supports 2MB huge page sizes, emulate it with two consecutive 1MB page sizes instead. Keeping the same huge page size as one pmd will allow us to add transparent huge page support later on. Bit 21 in the pte flags was unused and will now be used to mark a page as huge page (_PAGE_HPAGE_BIT). Signed-off-by: Helge Deller <deller@xxxxxx> commit dcbf0d299c00ed4f82ea8d6e359ad88a5182f9b8 Author: Helge Deller <deller@xxxxxx> Date: Sun Nov 22 12:14:14 2015 +0100 parisc: Drop unused MADV_xxxK_PAGES flags from asm/mman.h Drop the MADV_xxK_PAGES flags, which were never used and were from a proposed API which was never integrated into the generic Linux kernel code. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Helge Deller <deller@xxxxxx> commit 3ad5d7e06a96d54a55acb5ab25938a06814605c8 Merge: 707b4f4 b4a6471 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 21 10:49:13 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge misc fixes from Andrew Morton: "A bunch of fixes" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: slub: mark the dangling ifdef #else of CONFIG_SLUB_DEBUG slub: avoid irqoff/on in bulk allocation slub: create new ___slab_alloc function that can be called with irqs disabled mm: fix up sparse warning in gfpflags_allow_blocking ocfs2: fix umask ignored issue PM/OPP: add entry in MAINTAINERS kernel/panic.c: turn off locks debug before releasing console lock kernel/signal.c: unexport sigsuspend() kasan: fix kmemleak false-positive in kasan_module_alloc() fat: fix fake_offset handling on error path mm/hugetlbfs: fix bugs in fallocate hole punch of areas with holes mm/page-writeback.c: initialize m_dirty to avoid compile warning various: fix pci_set_dma_mask return value checking mm: loosen MADV_NOHUGEPAGE to enable Qemu postcopy on s390 mm: vmalloc: don't remove inexistent guard hole in remove_vm_area() tools/vm/page-types.c: support KPF_IDLE ncpfs: don't allow negative timeouts configfs: allow dynamic group creation MAINTAINERS: add Moritz as reviewer for FPGA Manager Framework slab.h: sprinkle __assume_aligned attributes commit 707b4f493e77638387f29d5ea35e383c418e710d Merge: 4143fc8 3da6d49 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 21 10:26:24 2015 -0800 Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fixes from Thomas Gleixner: "Two timer fixlets from Arnd: - Use proper constant size in the FSL timer driver - Prevent a build error for legacy platforms" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: clocksource: Disallow drivers for ARCH_USES_GETTIMEOFFSET clocksource/fsl: Avoid harmless 64-bit warnings commit 4143fc83bb0c05a4e2042d78e18a75156e914260 Merge: 876454a 1c7d4dd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 21 10:19:15 2015 -0800 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq fixes from Thomas Gleixner: "Three fixes for the ARM GIC interrupt controller from Marc addressing various shortcomings versus boot initialization and suspend/resume" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip/gic: Add save/restore of the active state irqchip/gic: Clear enable bits before restoring them irqchip/gic: Make sure all interrupts are deactivated at boot commit 876454ac1a710acd434c2f23617f91d7df82387b Merge: 81051f9 1ddaa02 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 21 09:52:07 2015 -0800 Merge tag 'for-linus-20151120' of git://git.infradead.org/linux-mtd Pull MTD fixes from Brian Norris: - MAINTAINERS updates for brcmnand driver - Fix reboot hangs seen when multiple NAND flash chips are registered with the same controller - Fix build issues on jz4740 NAND driver; the error was introduced in 4.3, so I guess nobody really cared, but we might as well fix it * tag 'for-linus-20151120' of git://git.infradead.org/linux-mtd: MAINTAINERS: brcmnand: Add co-maintainer for Broadcom SoCs MAINTAINERS: brcmnand: Add Broadcom internal mailing-list mtd: nand: fix shutdown/reboot for multi-chip systems mtd: jz4740_nand: fix build on jz4740 after removing gpio.h commit b094f89ca42fbb8ce40174d5f85ca8430e499da6 Author: Jens Axboe <axboe@xxxxxx> Date: Fri Nov 20 20:29:45 2015 -0700 blk-mq: fix calling unplug callbacks with preempt disabled Liu reported that running certain parts of xfstests threw the following error: BUG: sleeping function called from invalid context at mm/page_alloc.c:3190 in_atomic(): 1, irqs_disabled(): 0, pid: 6, name: kworker/u16:0 3 locks held by kworker/u16:0/6: #0: ("writeback"){++++.+}, at: [<ffffffff8107f083>] process_one_work+0x173/0x730 #1: ((&(&wb->dwork)->work)){+.+.+.}, at: [<ffffffff8107f083>] process_one_work+0x173/0x730 #2: (&type->s_umount_key#44){+++++.}, at: [<ffffffff811e6805>] trylock_super+0x25/0x60 CPU: 5 PID: 6 Comm: kworker/u16:0 Tainted: G OE 4.3.0+ #3 Hardware name: Red Hat KVM, BIOS Bochs 01/01/2011 Workqueue: writeback wb_workfn (flush-btrfs-108) ffffffff81a3abab ffff88042e282ba8 ffffffff8130191b ffffffff81a3abab 0000000000000c76 ffff88042e282ba8 ffff88042e27c180 ffff88042e282bd8 ffffffff8108ed95 ffff880400000004 0000000000000000 0000000000000c76 Call Trace: [<ffffffff8130191b>] dump_stack+0x4f/0x74 [<ffffffff8108ed95>] ___might_sleep+0x185/0x240 [<ffffffff8108eea2>] __might_sleep+0x52/0x90 [<ffffffff811817e8>] __alloc_pages_nodemask+0x268/0x410 [<ffffffff8109a43c>] ? sched_clock_local+0x1c/0x90 [<ffffffff8109a6d1>] ? local_clock+0x21/0x40 [<ffffffff810b9eb0>] ? __lock_release+0x420/0x510 [<ffffffff810b534c>] ? __lock_acquired+0x16c/0x3c0 [<ffffffff811ca265>] alloc_pages_current+0xc5/0x210 [<ffffffffa0577105>] ? rbio_is_full+0x55/0x70 [btrfs] [<ffffffff810b7ed8>] ? mark_held_locks+0x78/0xa0 [<ffffffff81666d50>] ? _raw_spin_unlock_irqrestore+0x40/0x60 [<ffffffffa0578c0a>] full_stripe_write+0x5a/0xc0 [btrfs] [<ffffffffa0578ca9>] __raid56_parity_write+0x39/0x60 [btrfs] [<ffffffffa0578deb>] run_plug+0x11b/0x140 [btrfs] [<ffffffffa0578e33>] btrfs_raid_unplug+0x23/0x70 [btrfs] [<ffffffff812d36c2>] blk_flush_plug_list+0x82/0x1f0 [<ffffffff812e0349>] blk_sq_make_request+0x1f9/0x740 [<ffffffff812ceba2>] ? generic_make_request_checks+0x222/0x7c0 [<ffffffff812cf264>] ? blk_queue_enter+0x124/0x310 [<ffffffff812cf1d2>] ? blk_queue_enter+0x92/0x310 [<ffffffff812d0ae2>] generic_make_request+0x172/0x2c0 [<ffffffff812d0ad4>] ? generic_make_request+0x164/0x2c0 [<ffffffff812d0ca0>] submit_bio+0x70/0x140 [<ffffffffa0577b29>] ? rbio_add_io_page+0x99/0x150 [btrfs] [<ffffffffa0578a89>] finish_rmw+0x4d9/0x600 [btrfs] [<ffffffffa0578c4c>] full_stripe_write+0x9c/0xc0 [btrfs] [<ffffffffa057ab7f>] raid56_parity_write+0xef/0x160 [btrfs] [<ffffffffa052bd83>] btrfs_map_bio+0xe3/0x2d0 [btrfs] [<ffffffffa04fbd6d>] btrfs_submit_bio_hook+0x8d/0x1d0 [btrfs] [<ffffffffa05173c4>] submit_one_bio+0x74/0xb0 [btrfs] [<ffffffffa0517f55>] submit_extent_page+0xe5/0x1c0 [btrfs] [<ffffffffa0519b18>] __extent_writepage_io+0x408/0x4c0 [btrfs] [<ffffffffa05179c0>] ? alloc_dummy_extent_buffer+0x140/0x140 [btrfs] [<ffffffffa051dc88>] __extent_writepage+0x218/0x3a0 [btrfs] [<ffffffff810b7ed8>] ? mark_held_locks+0x78/0xa0 [<ffffffffa051e2c9>] extent_write_cache_pages.clone.0+0x2f9/0x400 [btrfs] [<ffffffffa051e422>] extent_writepages+0x52/0x70 [btrfs] [<ffffffffa05001f0>] ? btrfs_set_inode_index+0x70/0x70 [btrfs] [<ffffffffa04fcc17>] btrfs_writepages+0x27/0x30 [btrfs] [<ffffffff81184df3>] do_writepages+0x23/0x40 [<ffffffff81212229>] __writeback_single_inode+0x89/0x4d0 [<ffffffff81212a60>] ? writeback_sb_inodes+0x260/0x480 [<ffffffff81212a60>] ? writeback_sb_inodes+0x260/0x480 [<ffffffff8121295f>] ? writeback_sb_inodes+0x15f/0x480 [<ffffffff81212ad2>] writeback_sb_inodes+0x2d2/0x480 [<ffffffff810b1397>] ? down_read_trylock+0x57/0x60 [<ffffffff811e6805>] ? trylock_super+0x25/0x60 [<ffffffff810d629f>] ? rcu_read_lock_sched_held+0x4f/0x90 [<ffffffff81212d0c>] __writeback_inodes_wb+0x8c/0xc0 [<ffffffff812130b5>] wb_writeback+0x2b5/0x500 [<ffffffff810b7ed8>] ? mark_held_locks+0x78/0xa0 [<ffffffff810660a8>] ? __local_bh_enable_ip+0x68/0xc0 [<ffffffff81213362>] ? wb_do_writeback+0x62/0x310 [<ffffffff812133c1>] wb_do_writeback+0xc1/0x310 [<ffffffff8107c3d9>] ? set_worker_desc+0x79/0x90 [<ffffffff81213842>] wb_workfn+0x92/0x330 [<ffffffff8107f133>] process_one_work+0x223/0x730 [<ffffffff8107f083>] ? process_one_work+0x173/0x730 [<ffffffff8108035f>] ? worker_thread+0x18f/0x430 [<ffffffff810802ed>] worker_thread+0x11d/0x430 [<ffffffff810801d0>] ? maybe_create_worker+0xf0/0xf0 [<ffffffff810801d0>] ? maybe_create_worker+0xf0/0xf0 [<ffffffff810858df>] kthread+0xef/0x110 [<ffffffff8108f74e>] ? schedule_tail+0x1e/0xd0 [<ffffffff810857f0>] ? __init_kthread_worker+0x70/0x70 [<ffffffff816673bf>] ret_from_fork+0x3f/0x70 [<ffffffff810857f0>] ? __init_kthread_worker+0x70/0x70 The issue is that we've got the software context pinned while calling blk_flush_plug_list(), which flushes callbacks that are allowed to sleep. btrfs and raid has such callbacks. Flip the checks around a bit, so we can enable preempt a bit earlier and flush plugs without having preempt disabled. This only affects blk-mq driven devices, and only those that register a single queue. Reported-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Tested-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bd63acf9e9a6b48e9c6c15f0f413f85a481cb5ef Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 16:48:09 2015 +0100 serial: export fsl8250_handle_irq fsl8250_handle_irq is now used by the of_serial driver, and that fails if it is a loadable module: ERROR: "fsl8250_handle_irq" [drivers/tty/serial/of_serial.ko] undefined! This exports the symbol to avoid randconfig errors. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: d43b54d269d2 ("serial: Enable Freescale 16550 workaround on arm") Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa70045e9df47d2e7a698e5f7a0d21423a58cdaa Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Thu Nov 12 15:21:23 2015 +0200 serial: 8250_mid: Add missing dependency 8250_mid uses rational_best_approximation() function, so the driver needs to select CONFIG_RATIONAL option. This fixes build error when CONFIG_RATIONAL is not enabled: drivers/built-in.o: In function `mid8250_set_termios': 8250_mid.c:(.text+0x10169a): undefined reference to `rational_best_approximation' Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b2a3d628aa752f0ab825fc6d4d07b09e274d1c1 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Nov 8 08:52:31 2015 -0500 tty: audit: Fix audit source The data to audit/record is in the 'from' buffer (ie., the input read buffer). Fixes: 72586c6061ab ("n_tty: Fix auditing support for cannonical mode") Cc: stable <stable@xxxxxxxxxxxxxxx> # 4.1+ Cc: Miloslav TrmaÄ? <mitr@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f356d7a7ddb5ea545e81c84eecfdf1b5ab4647fc Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Nov 1 18:32:56 2015 -0800 serial: etraxfs-uart: Fix crash Since commit 7d8c70d8048c ("serial: mctrl-gpio: rename init function"), crisv32 either do not build or crash as follows. Unable to handle kernel NULL pointer dereference Linux 4.3.0-rc7-next-20151101 #1 Sun Nov 1 11:41:28 PST 2015 ... Call Trace: [<c0004a0e>] show_stack+0x0/0x9e [<c004c0c0>] printk+0x0/0x2c [<c00059d4>] show_registers+0x14a/0x1c2 [<c004c0c0>] printk+0x0/0x2c [<c0004b52>] die_if_kernel+0x7c/0x9e [<c0005346>] do_page_fault+0x32e/0x3e6 [<c01dc59c>] of_get_property+0x0/0x2c [<c01e0558>] of_irq_parse_raw+0x12a/0x376 [<c01dc59c>] of_get_property+0x0/0x2c [<c0053aca>] get_page_from_freelist+0x73e/0x856 [<c01dc59c>] of_get_property+0x0/0x2c [<c0008912>] d_mmu_refill+0x10a/0x112 [<c01b488c>] devm_kmalloc+0x40/0x56 [<c01b47d0>] add_dr+0xc/0x1c [<c01b4800>] devm_add_action+0x2/0x4e [<c01abdbc>] mctrl_gpio_init_noauto+0x1c/0x76 [<c01abf9e>] mctrl_gpio_init+0x22/0x110 The function call in the etraxfs-uart driver was not renamed, possibly due to interference with commit 7b9c5162c182 ("serial: etraxfs-uart: use mctrl_gpio helpers for handling modem signals"). Fixes: 7d8c70d8048c ("serial: mctrl-gpio: rename init function") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Niklas Cassel <nks@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bec8bf61dc911ebe04a7997db2c44ed51d8ade9d Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 09:55:21 2015 -0400 serial: fsl_lpuart: Fix earlycon support Earlycon support for Freescale lpuart should only be enabled when console support is enabled. Fixes: 1d59b382f1c4 ("serial: fsl_lpuart: add earlycon support") Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83f7fa6c2976a9db9edf3abf7749176ca36fb4cc Author: Simon Arlott <simon@xxxxxxxxxxx> Date: Sun Nov 15 16:14:32 2015 +0000 bcm63xx_uart: Use the device name when registering an interrupt Use the device name when registering an interrupt so that multiple ports don't all have the same interrupt name. Signed-off-by: Simon Arlott <simon@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17a69219713b5063698038151fea9167b5b0c7b4 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Nov 8 07:53:06 2015 -0500 tty: Fix direct use of tty buffer work Recent abstraction of tty buffer work introduced api to manage tty input kworker; use it. Fixes: e176058f0de5 ("tty: Abstract tty buffer work") Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee0c1a65cf95230d5eb3d9de94fd2ead9a428c67 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 08:03:54 2015 -0500 tty: Fix tty_send_xchar() lock order inversion The correct lock order is atomic_write_lock => termios_rwsem, as established by tty_write() => n_tty_write(). Fixes: c274f6ef1c666 ("tty: Hold termios_rwsem for tcflow(TCIxxx)") Reported-and-Tested-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4a64718797b84b64a6ddf3d4183c29c2e79ef1d Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:41 2015 -0800 slub: mark the dangling ifdef #else of CONFIG_SLUB_DEBUG The #ifdef of CONFIG_SLUB_DEBUG is located very far from the associated #else. For readability mark it with a comment. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 87098373e244840e00bd1c93884c1d917411597e Author: Christoph Lameter <cl@xxxxxxxxx> Date: Fri Nov 20 15:57:38 2015 -0800 slub: avoid irqoff/on in bulk allocation Use the new function that can do allocation while interrupts are disabled. Avoids irq on/off sequences. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a380a3c75529a5c42b78c0d64a46404f8cb0c0d1 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Fri Nov 20 15:57:35 2015 -0800 slub: create new ___slab_alloc function that can be called with irqs disabled Bulk alloc needs a function like that because it enables interrupts before calling __slab_alloc which promptly disables them again using the expensive local_irq_save(). Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21fa8442799945beaca074cb5bcf7cfe24969d59 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Nov 20 15:57:32 2015 -0800 mm: fix up sparse warning in gfpflags_allow_blocking sparse says: include/linux/gfp.h:274:26: warning: incorrect type in return expression (different base types) include/linux/gfp.h:274:26: expected bool include/linux/gfp.h:274:26: got restricted gfp_t ...add a forced cast to silence the warning. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f1eb48758aacf6c1ffce18179295adbf3bd7640 Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Date: Fri Nov 20 15:57:30 2015 -0800 ocfs2: fix umask ignored issue New created file's mode is not masked with umask, and this makes umask not work for ocfs2 volume. Fixes: 702e5bc ("ocfs2: use generic posix ACL infrastructure") Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Gang He <ghe@xxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 875fa6fbb8d8d5bbf8cc2fa7b340a716f50ee0c7 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Nov 20 15:57:27 2015 -0800 PM/OPP: add entry in MAINTAINERS Add entry for operating performance points into MAINTAINERS file. This will also allow get_maintainers to list OPP stakeholders properly. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Rafael Wysocki <rjw@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7625b3a0007decf2b135cb47ca67abc78a7b1bc1 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Nov 20 15:57:24 2015 -0800 kernel/panic.c: turn off locks debug before releasing console lock Commit 08d78658f393 ("panic: release stale console lock to always get the logbuf printed out") introduced an unwanted bad unlock balance report when panic() is called directly and not from OOPS (e.g. from out_of_memory()). The difference is that in case of OOPS we disable locks debug in oops_enter() and on direct panic call nobody does that. Fixes: 08d78658f393 ("panic: release stale console lock to always get the logbuf printed out") Reported-by: kernel test robot <ying.huang@xxxxxxxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: HATAYAMA Daisuke <d.hatayama@xxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Cc: Seth Jennings <sjenning@xxxxxxxxxx> Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Petr Mladek <pmladek@xxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9d8a765211335cfdad464b90fb19f546af5706ae Author: Richard Weinberger <richard@xxxxxx> Date: Fri Nov 20 15:57:21 2015 -0800 kernel/signal.c: unexport sigsuspend() sigsuspend() is nowhere used except in signal.c itself, so we can mark it static do not pollute the global namespace. But this patch is more than a boring cleanup patch, it fixes a real issue on UserModeLinux. UML has a special console driver to display ttys using xterm, or other terminal emulators, on the host side. Vegard reported that sometimes UML is unable to spawn a xterm and he's facing the following warning: WARNING: CPU: 0 PID: 908 at include/linux/thread_info.h:128 sigsuspend+0xab/0xc0() It turned out that this warning makes absolutely no sense as the UML xterm code calls sigsuspend() on the host side, at least it tries. But as the kernel itself offers a sigsuspend() symbol the linker choose this one instead of the glibc wrapper. Interestingly this code used to work since ever but always blocked signals on the wrong side. Some recent kernel change made the WARN_ON() trigger and uncovered the bug. It is a wonderful example of how much works by chance on computers. :-) Fixes: 68f3f16d9ad0f1 ("new helper: sigsuspend()") Signed-off-by: Richard Weinberger <richard@xxxxxx> Reported-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx> Tested-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.5+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 459372545c9c0d6f491e280dccc8a54a61b60e56 Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Fri Nov 20 15:57:18 2015 -0800 kasan: fix kmemleak false-positive in kasan_module_alloc() Kmemleak reports the following leak: unreferenced object 0xfffffbfff41ea000 (size 20480): comm "modprobe", pid 65199, jiffies 4298875551 (age 542.568s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff82354f5e>] kmemleak_alloc+0x4e/0xc0 [<ffffffff8152e718>] __vmalloc_node_range+0x4b8/0x740 [<ffffffff81574072>] kasan_module_alloc+0x72/0xc0 [<ffffffff810efe68>] module_alloc+0x78/0xb0 [<ffffffff812f6a24>] module_alloc_update_bounds+0x14/0x70 [<ffffffff812f8184>] layout_and_allocate+0x16f4/0x3c90 [<ffffffff812faa1f>] load_module+0x2ff/0x6690 [<ffffffff813010b6>] SyS_finit_module+0x136/0x170 [<ffffffff8239bbc9>] system_call_fastpath+0x16/0x1b [<ffffffffffffffff>] 0xffffffffffffffff kasan_module_alloc() allocates shadow memory for module and frees it on module unloading. It doesn't store the pointer to allocated shadow memory because it could be calculated from the shadowed address, i.e. kasan_mem_to_shadow(addr). Since kmemleak cannot find pointer to allocated shadow, it thinks that memory leaked. Use kmemleak_ignore() to tell kmemleak that this is not a leak and shadow memory doesn't contain any pointers. Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 928a477102c4fc6739883415b66987207e3502f4 Author: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:57:15 2015 -0800 fat: fix fake_offset handling on error path For the root directory, . and .. are faked (using dir_emit_dots()) and ctx->pos is reset from 2 to 0. A corrupted root directory could cause fat_get_entry() to fail, but ->iterate() (fat_readdir()) reports progress to the VFS (with ctx->pos rewound to 0), so any following calls to ->iterate() continue to return the same entries again and again. The result is that userspace will never see the end of the directory, causing e.g. 'ls' to hang in a getdents() loop. [hirofumi@xxxxxxxxxxxxxxxxxx: cleanup and make sure to correct fake_offset] Reported-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx> Tested-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx> Signed-off-by: Richard Weinberger <richard.weinberger@xxxxxxxxx> Signed-off-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1817889e3b2cc1db8abb595712095129ff9156c1 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Fri Nov 20 15:57:13 2015 -0800 mm/hugetlbfs: fix bugs in fallocate hole punch of areas with holes Hugh Dickins pointed out problems with the new hugetlbfs fallocate hole punch code. These problems are in the routine remove_inode_hugepages and mostly occur in the case where there are holes in the range of pages to be removed. These holes could be the result of a previous hole punch or simply sparse allocation. The current code could access pages outside the specified range. remove_inode_hugepages handles both hole punch and truncate operations. Page index handling was fixed/cleaned up so that the loop index always matches the page being processed. The code now only makes a single pass through the range of pages as it was determined page faults could not race with truncate. A cond_resched() was added after removing up to PAGEVEC_SIZE pages. Some totally unnecessary code in hugetlbfs_fallocate() that remained from early development was also removed. Tested with fallocate tests submitted here: http://librelist.com/browser//libhugetlbfs/2015/6/25/patch-tests-add-tests-for-fallocate-system-call/ And, some ftruncate tests under development Fixes: b5cec28d36f5 ("hugetlbfs: truncate_hugepages() takes a range of pages") Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: "Hillf Danton" <hillf.zj@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [4.3] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 50e55bf626ad3ebbca45c0c0d03eb1710a139638 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Fri Nov 20 15:57:10 2015 -0800 mm/page-writeback.c: initialize m_dirty to avoid compile warning When building kernel with gcc 5.2, the below warning is raised: mm/page-writeback.c: In function 'balance_dirty_pages.isra.10': mm/page-writeback.c:1545:17: warning: 'm_dirty' may be used uninitialized in this function [-Wmaybe-uninitialized] unsigned long m_dirty, m_thresh, m_bg_thresh; The m_dirty{thresh, bg_thresh} are initialized in the block of "if (mdtc)", so if mdts is null, they won't be initialized before being used. Initialize m_dirty to zero, also initialize m_thresh and m_bg_thresh to keep consistency. They are used later by if condition: !mdtc || m_dirty <= dirty_freerun_ceiling(m_thresh, m_bg_thresh) If mdtc is null, dirty_freerun_ceiling will not be called at all, so the initialization will not change any behavior other than just ceasing the compile warning. (akpm: the patch actually reduces .text size by ~20 bytes on gcc-4.x.y) [akpm@xxxxxxxxxxxxxxxxxxxx: add comment] Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1a47de6e4a8dc2aaf3c3fb544b60730b74abe0f1 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Nov 20 15:57:07 2015 -0800 various: fix pci_set_dma_mask return value checking pci_set_dma_mask returns a negative errno value, not a bool like pci_dma_supported. This of course was just a giant test for attention :) Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reported-by: Jongman Heo <jongman.heo@xxxxxxxxxxx> Tested-by: Jongman Heo <jongman.heo@xxxxxxxxxxx> [pcnet32] Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Antti Palosaari <crope@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1a763615688b891246c5b0a932d7a95fea4c1a68 Author: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:57:04 2015 -0800 mm: loosen MADV_NOHUGEPAGE to enable Qemu postcopy on s390 MADV_NOHUGEPAGE processing is too restrictive. kvm already disables hugepage but hugepage_madvise() takes the error path when we ask to turn on the MADV_NOHUGEPAGE bit and the bit is already on. This causes Qemu's new postcopy migration feature to fail on s390 because its first action is to madvise the guest address space as NOHUGEPAGE. This patch modifies the code so that the operation succeeds without error now. For consistency reasons do the same for MADV_HUGEPAGE. Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7511c3ede752e6dd67df20779b4e11effe102637 Author: Jerome Marchand <jmarchan@xxxxxxxxxx> Date: Fri Nov 20 15:57:02 2015 -0800 mm: vmalloc: don't remove inexistent guard hole in remove_vm_area() Commit 71394fe50146 ("mm: vmalloc: add flag preventing guard hole allocation") missed a spot. Currently remove_vm_area() decreases vm->size to "remove" the guard hole page, even when it isn't present. All but one users just free the vm_struct rigth away and never access vm->size anyway. Don't touch the size in remove_vm_area() and have __vunmap() use the proper get_vm_area_size() helper. Signed-off-by: Jerome Marchand <jmarchan@xxxxxxxxxx> Acked-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 429d48622cb08b7b4908cb63b43a135be9b3db09 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Fri Nov 20 15:56:59 2015 -0800 tools/vm/page-types.c: support KPF_IDLE PageIdle is exported in include/uapi/linux/kernel-page-flags.h, so let's make page-types.c tool handle it. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1491e30ed1a741009d1d38f9285f7a29e6c05c78 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Nov 20 15:56:56 2015 -0800 ncpfs: don't allow negative timeouts This code causes a static checker warning because it's a user controlled variable where we cap the upper bound but not the lower bound. Let's return an -EINVAL for negative timeouts. [akpm@xxxxxxxxxxxxxxxxxxxx: remove unneeded `else'] Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> Cc: Petr Vandrovec <petr@xxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5cf6a51e6062afe7cc507f32f1e5f7e6497ae844 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Fri Nov 20 15:56:53 2015 -0800 configfs: allow dynamic group creation This patchset introduces IIO software triggers, offers a way of configuring them via configfs and adds the IIO hrtimer based interrupt source to be used with software triggers. The architecture is now split in 3 parts, to remove all IIO trigger specific parts from IIO configfs core: (1) IIO configfs - creates the root of the IIO configfs subsys. (2) IIO software triggers - software trigger implementation, dynamically creating /config/iio/triggers group. (3) IIO hrtimer trigger - is the first interrupt source for software triggers (with syfs to follow). Each trigger type can implement its own set of attributes. Lockdep seems to be happy with the locking in configfs patch. This patch (of 5): We don't want to hardcode default groups at subsystem creation time. We export: * configfs_register_group * configfs_unregister_group to allow drivers to programatically create/destroy groups later, after module init time. This is needed for IIO configfs support. (akpm: the other 4 patches to be merged via the IIO tree) Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Suggested-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Hartmut Knaack <knaack.h@xxxxxx> Cc: Octavian Purdila <octavian.purdila@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Adriana Reus <adriana.reus@xxxxxxxxx> Cc: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Cc: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd7d664a2bcf93634a57d208e8e480ab7448c107 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Fri Nov 20 15:56:51 2015 -0800 MAINTAINERS: add Moritz as reviewer for FPGA Manager Framework Nominate myself as Reviewer. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Acked-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94a58c360a45c066ab5472cfd2bf2a4ba63aa532 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:56:48 2015 -0800 slab.h: sprinkle __assume_aligned attributes The various allocators return aligned memory. Telling the compiler that allows it to generate better code in many cases, for example when the return value is immediately passed to memset(). Some code does become larger, but at least we win twice as much as we lose: $ scripts/bloat-o-meter /tmp/vmlinux vmlinux add/remove: 0/0 grow/shrink: 13/52 up/down: 995/-2140 (-1145) An example of the different (and smaller) code can be seen in mm_alloc(). Before: : 48 8d 78 08 lea 0x8(%rax),%rdi : 48 89 c1 mov %rax,%rcx : 48 89 c2 mov %rax,%rdx : 48 c7 00 00 00 00 00 movq $0x0,(%rax) : 48 c7 80 48 03 00 00 movq $0x0,0x348(%rax) : 00 00 00 00 : 31 c0 xor %eax,%eax : 48 83 e7 f8 and $0xfffffffffffffff8,%rdi : 48 29 f9 sub %rdi,%rcx : 81 c1 50 03 00 00 add $0x350,%ecx : c1 e9 03 shr $0x3,%ecx : f3 48 ab rep stos %rax,%es:(%rdi) After: : 48 89 c2 mov %rax,%rdx : b9 6a 00 00 00 mov $0x6a,%ecx : 31 c0 xor %eax,%eax : 48 89 d7 mov %rdx,%rdi : f3 48 ab rep stos %rax,%es:(%rdi) So gcc's strategy is to do two possibly (but not really, of course) unaligned stores to the first and last word, then do an aligned rep stos covering the middle part with a little overlap. Maybe arches which do not allow unaligned stores gain even more. I don't know if gcc can actually make use of alignments greater than 8 for anything, so one could probably drop the __assume_xyz_alignment macros and just use __assume_aligned(8). The increases in code size are mostly caused by gcc deciding to opencode strlen() using the check-four-bytes-at-a-time trick when it knows the buffer is sufficiently aligned (one function grew by 200 bytes). Now it turns out that many of these strlen() calls showing up were in fact redundant, and they're gone from -next. Applying the two patches to next-20151001 bloat-o-meter instead says add/remove: 0/0 grow/shrink: 6/52 up/down: 244/-2140 (-1896) Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81051f9120560059ba7055e974e42bd05a67de6d Merge: 116dfe5 cdc5a31 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:52:52 2015 -0800 Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "A few bugfixes and one PCI ID addition from I2C" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: i801: add Intel Lewisburg device IDs i2c: fix wakeup irq parsing i2c: xiic: Prevent concurrent running of the IRQ handler and __xiic_start_xfer() i2c: Revert "i2c: xiic: Do not reset controller before every transfer" i2c: imx: fix a compiling error commit 116dfe5e88cd0c9368bf0db28708fff6b549951f Merge: 9580306 1ef0623 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:47:27 2015 -0800 Merge tag '4.4-fix' of git://git.lwn.net/linux Pull documentation fix from Jon Corbet: "A single fix from Mauro for a 4.4 regression that would cause the docs build to fail on systems with ancient Perl installations" * tag '4.4-fix' of git://git.lwn.net/linux: kernel-doc: Make it compatible with Perl versions below 5.12 again commit 95803066c697d40798a5db861f6152e533736a25 Merge: 400f3f2 2e6edc9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:00:50 2015 -0800 Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull libnvdimm fixes from Dan Williams: - A collection of crash and deadlock fixes for DAX that are also tagged for -stable. We will look to re-enable DAX pmd mappings in 4.5, but for now 4.4 and -stable should disable it by default. - A fixup to ext2 and ext4 to mirror the same warning emitted by XFS when mounting with "-o dax" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: block: protect rw_page against device teardown mm, dax: fix DAX deadlocks (COW fault) dax: disable pmd mappings ext2, ext4: warn when mounting with dax enabled commit 400f3f255debc5a1b5eba631adddc19a9f74a6e4 Merge: 2f25535 a3767e3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 09:01:07 2015 -0800 Merge tag 'pm+acpi-4.4-rc2' 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 (ACPI core, PM core, cpufreq, ACPI EC driver, device properties) including three reverts of recent intel_pstate driver commits due to a regression introduced by one of them plus support for Atom Airmont cores in intel_pstate (which really boils down to adding new frequency tables for Airmont) and additional turbostat updates. Specifics: - Revert three recent intel_pstate driver commits one of which introduced a regression and the remaining two depend on the problematic one (Rafael Wysocki). - Fix breakage related to the recently introduced ACPI _CCA object support in the PCI DMA setup code (Suravee Suthikulpanit). - Fix up the recently introduced ACPI CPPC support to only use the hardware-reduced version of the PCCT structure as the only architecture to support it (ARM64) will only use hardware-reduced ACPI anyway (Ashwin Chaugule). - Fix a cpufreq mediatek driver build problem (Arnd Bergmann). - Fix the SMBus transaction handling implementation in the ACPI core to avoid re-entrant calls to wait_event_timeout() which makes intermittent boot stalls related to the Smart Battery Subsystem initialization go away and revert a workaround of another problem with the same underlying root cause (Chris Bainbridge). - Fix the generic wakeup interrupts framework to avoid using invalid IRQ numbers (Dmitry Torokhov). - Remove a redundant check from the ACPI EC driver (Markus Elfring). - Modify the intel_pstate driver so it can support more Atom flavors than just one (Baytrail) and add support for Atom Airmont cores (which require new freqnency tables) to it (Philippe Longepe). - Clean up MSR-related symbols in turbostat (Len Brown)" * tag 'pm+acpi-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: PCI: Fix OF logic in pci_dma_configure() Revert "Documentation: kernel_parameters for Intel P state driver" cpufreq: mediatek: fix build error cpufreq: intel_pstate: Add separate support for Airmont cores cpufreq: intel_pstate: Replace BYT with ATOM Revert "cpufreq: intel_pstate: Use ACPI perf configuration" Revert "cpufreq: intel_pstate: Avoid calculation for max/min" ACPI-EC: Drop unnecessary check made before calling acpi_ec_delete_query() Revert "ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook" ACPI / SMBus: Fix boot stalls / high CPU caused by reentrant code PM / wakeirq: check that wake IRQ is valid before accepting it ACPI / CPPC: Use h/w reduced version of the PCCT structure x86: remove unused definition of MSR_NHM_PLATFORM_INFO tools/power turbostat: use new name for MSR_PLATFORM_INFO commit 2f255351c133318cf9e0e4a003ca345bef5914fc Merge: 86eaf54 1451ad03 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 08:20:04 2015 -0800 Merge tag 'powerpc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixlet from Michael Ellerman: "Wire up sys_mlock2()" * tag 'powerpc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc: Wire up sys_mlock2() commit 02e2a5bfebe99edcf9d694575a75032d53fe1b73 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Nov 19 17:18:54 2015 -0800 mac: validate mac_partition is within sector If md->signature == MAC_DRIVER_MAGIC and md->block_size == 1023, a single 512 byte sector would be read (secsize / 512). However the partition structure would be located past the end of the buffer (secsize % 512). Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8aeea03195ee6e33fcb00039c414eabfc37a4eb8 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 10:46:49 2015 +0100 mtip32xx: use formatting capability of kthread_create_on_node kthread_create_on_node takes format+args, so there's no need to do the pretty-printing in advance. Moreover, "mtip_svc_thd_99" (including its '\0') only just fits in 16 bytes, so if index could ever go above 99 we'd have a stack buffer overflow. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 604e8c8da8854351496215d269c3fa93859e3fee Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Fri Nov 20 08:38:13 2015 -0700 NVMe: reap completion entries when deleting queue Make sure that there are no unprocesssed entries on a completion queue before deleting it, and check for validity of the CQ door bell before writing completions to it. This fixes problems with doing a sysfs reset of the device while it's handling IO. Tested-by: Jon Derrick <jonathan.derrick@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2fde0e482db2b43bb4ed0e9aebfbe78ebcbbf5a6 Author: Javier Gonzalez <javier@xxxxxxxxxxx> Date: Fri Nov 20 13:47:57 2015 +0100 lightnvm: add free and bad lun info to show luns Add free block, used block, and bad block information to the show debug interface. This information is used to debug how targets track blocks. Also, change debug function name to make it more generic. Signed-off-by: Javier Gonzalez <javier@xxxxxxxxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0b59733b95f9d7af6bee6e6a4d0d444eb694c514 Author: Javier Gonzalez <javier@xxxxxxxxxxx> Date: Fri Nov 20 13:47:56 2015 +0100 lightnvm: keep track of block counts Maintain number of in use blocks, free blocks, and bad blocks in a per lun basis. This allows the upper layers to get information about the state of each lun. Also, account for blocks reserved to the device on the free block count. nr_free_blocks matches now the actual number of blocks on the free list when the device is booted. Signed-off-by: Javier Gonzalez <javier@xxxxxxxxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 47b3115ae7b799be8b77b0f024215ad4f68d6460 Author: Wenwei Tao <ww.tao0320@xxxxxxxxx> Date: Fri Nov 20 13:47:55 2015 +0100 nvme: lightnvm: use admin queues for admin cmds According to the Open-Channel SSD Specification, the NVMe-NVM admin commands use vendor specific opcodes of NVMe, so use the NVMe admin queue to dispatch these commands. Signed-off-by: Wenwei Tao <ww.tao0320@xxxxxxxxx> Updated by me to include set bad block table as well and also use the admin queue for l2p len calculation. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 93e70c1f2883f2db2d6a1f339d0e26f00b138e4e Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Fri Nov 20 13:47:54 2015 +0100 lightnvm: missing free on init error If either max_phys_sect is out of bound, the nvm_dev structure is not freed. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 480fc0db819d706ea5608545a12d33cf8d5a31ab Author: Wenwei Tao <ww.tao0320@xxxxxxxxx> Date: Fri Nov 20 13:47:53 2015 +0100 lightnvm: wrong return value and redundant free The return value should be non-zero under error conditions. Remove nvme_free(dev) to avoid free dev more than once. Signed-off-by: Wenwei Tao <ww.tao0320@xxxxxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit cdc5a3110e7c3ae793f367285789a6bc39c962dc Author: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Date: Thu Nov 5 11:40:25 2015 -0800 i2c: i801: add Intel Lewisburg device IDs Adding Intel codename Lewisburg platform device IDs for SMBus. Signed-off-by: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c18fba23061f16dde128e10d4869ba4e88e0e81a Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Nov 12 15:42:26 2015 +0200 i2c: fix wakeup irq parsing This patch fixes obvious copy-past error in wake up irq parsing code which leads to the fact that dev_pm_set_wake_irq() will be called with wrong IRQ number when "wakeup" IRQ is not defined in DT. Fixes: 3fffd1283927 ("i2c: allow specifying separate wakeup interrupt in device tree") Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.3 commit d0fe5258e6be609dab7e53335d845818684d1dcf Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Nov 16 14:42:04 2015 +0100 i2c: xiic: Prevent concurrent running of the IRQ handler and __xiic_start_xfer() Prior to commit e6c9a037bc8a ("i2c: xiic: Remove the disabling of interrupts") IRQs where disabled when the initial __xiic_start_xfer() was called. After the commit the interrupt is enabled while the function is running, this means it is possible for the interrupt to be triggered while the function is still running. When this happens the internal data structures get corrupted and undefined behavior can occur like the following crash: Internal error: Oops: 17 [#1] PREEMPT SMP ARM Modules linked in: CPU: 0 PID: 2040 Comm: i2cdetect Not tainted 4.0.0-02856-g047a308 #10956 Hardware name: Xilinx Zynq Platform task: ee0c9500 ti: e99a2000 task.ti: e99a2000 PC is at __xiic_start_xfer+0x6c4/0x7c8 LR is at __xiic_start_xfer+0x690/0x7c8 pc : [<c02bbffc>] lr : [<c02bbfc8>] psr: 800f0013 sp : e99a3da8 ip : 00000000 fp : 00000000 r10: 00000001 r9 : 600f0013 r8 : f0180000 r7 : f0180000 r6 : c064e444 r5 : 00000017 r4 : ee031010 r3 : 00000000 r2 : 00000000 r1 : 600f0013 r0 : 0000000f Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 18c5387d Table: 29a5404a DAC: 00000015 Process i2cdetect (pid: 2040, stack limit = 0xe99a2210) Stack: (0xe99a3da8 to 0xe99a4000) 3da0: ee031010 00000000 00000001 ee031020 ee031224 c02bc5ec 3dc0: ee34c604 00000000 ee0c9500 e99a3dcc e99a3dd0 e99a3dd0 e99a3dd8 c069f0e8 3de0: 00000000 ee031020 c064e100 ffff90bb e99a3e48 c02b6590 ee031020 00000001 3e00: e99a3e48 ee031020 00000000 e99a3e63 00000001 c02b6ec4 00000000 00000000 3e20: 00000000 c02b7320 e99a3ef0 00000000 00000000 e99e3df0 00000000 00000000 3e40: 00000103 2814575f 0000003e c00a0000 e99a3e85 0001003e ee0c0000 e99a3e63 3e60: eefd3578 c064e61c ee0c9500 c0041e04 0000056c e9a56db8 00006e5a b6f5c000 3e80: ee0c9548 eefd0040 00000001 eefd3540 ee0c9500 eefd39a0 c064b540 ee0c9500 3ea0: 00000000 ee92b000 00000000 bef4862c ee34c600 e99ecdc0 00000720 00000003 3ec0: e99a2000 00000000 00000000 c02b8b30 00000000 00000000 00000000 e99a3f24 3ee0: b6e80000 00000000 00000000 c04257e8 00000000 e99a3f24 c02b8f08 00000703 3f00: 00000003 c02116bc ee935300 00000000 bef4862c ee34c600 e99ecdc0 c02b91f0 3f20: e99ecdc0 00000720 bef4862c eeb725f8 e99ecdc0 c00c9e2c 00000003 00000003 3f40: ee248dc0 00000000 ee248dc8 00000002 eeb7c1a8 00000000 00000000 c00bb360 3f60: 00000000 00000000 00000003 ee248dc0 bef4862c e99ecdc0 e99ecdc0 00000720 3f80: 00000003 e99a2000 00000000 c00c9f68 00000000 00000000 b6f22000 00000036 3fa0: c000dfa4 c000de20 00000000 00000000 00000003 00000720 bef4862c bef4862c 3fc0: 00000000 00000000 b6f22000 00000036 00000000 00000000 b6f60000 00000000 3fe0: 00013040 bef48614 00008cab b6ecdbe6 400f0030 00000003 2f7fd821 2f7fdc21 [<c02bbffc>] (__xiic_start_xfer) from [<c02bc5ec>] (xiic_xfer+0x94/0x168) [<c02bc5ec>] (xiic_xfer) from [<c02b6590>] (__i2c_transfer+0x4c/0x7c) [<c02b6590>] (__i2c_transfer) from [<c02b6ec4>] (i2c_transfer+0x9c/0xc4) [<c02b6ec4>] (i2c_transfer) from [<c02b7320>] (i2c_smbus_xfer+0x3a0/0x4ec) [<c02b7320>] (i2c_smbus_xfer) from [<c02b8b30>] (i2cdev_ioctl_smbus+0xb0/0x214) [<c02b8b30>] (i2cdev_ioctl_smbus) from [<c02b91f0>] (i2cdev_ioctl+0xa0/0x1d4) [<c02b91f0>] (i2cdev_ioctl) from [<c00c9e2c>] (do_vfs_ioctl+0x4b0/0x5b8) [<c00c9e2c>] (do_vfs_ioctl) from [<c00c9f68>] (SyS_ioctl+0x34/0x5c) [<c00c9f68>] (SyS_ioctl) from [<c000de20>] (ret_fast_syscall+0x0/0x34) Code: e283300c e5843210 eafffe64 e5943210 (e1d320b4) The issue can easily be reproduced by performing I2C access under high system load or IO load. To fix the issue protect the invocation to __xiic_start_xfer() form xiic_start_xfer() with the same lock that is used to protect the interrupt handler. Fixes: e6c9a037bc8a ("i2c: xiic: Remove the disabling of interrupts") Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9656eeebf3f1dd05376c4c923797369746d9a618 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Nov 16 14:42:03 2015 +0100 i2c: Revert "i2c: xiic: Do not reset controller before every transfer" Commit d701667bb331 ("i2c: xiic: Do not reset controller before every transfer") removed the reinitialization of the controller before the start of each transfer. Apparently this change is not safe to make and the commit results in random I2C bus failures. An easy way to trigger the issue is to run i2cdetect. Without the patch applied: 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- UU UU -- UU 3c -- -- UU 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- With the patch applied every other or so invocation: 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30: -- -- -- -- -- -- -- -- UU UU -- UU 3c -- -- UU 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- So revert the commit for now. Fixes: d701667bb331 ("i2c: xiic: Do not reset controller before every transfer") Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8bb6fd585d419d906fb3c228db47fbc4e4272a00 Author: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxxxxxxxx> Date: Tue Nov 17 17:53:18 2015 +0800 i2c: imx: fix a compiling error drivers/i2c/busses/i2c-imx.c:978:2: error: implicit declaration of function â??pinctrl_select_stateâ?? [-Werror=implicit-function-declaration] pinctrl_select_state(i2c_imx->pinctrl, i2c_imx->pinctrl_pins_gpio); ^ Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 55f1d5988c52d481dc489e29ee5e8905b18ff859 Author: Alban Bedel <albeu@xxxxxxx> Date: Tue Nov 17 21:52:00 2015 +0100 MIPS: ath79: Add a machine entry for booting OF machines As I'm using a board with a broken old bootloader I hardcoded the mips_machtype and did't notice that the machine entry was still missing. [ralf@xxxxxxxxxxxxxx: Fixed spelling message noticed by Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>.] Signed-off-by: Alban Bedel <albeu@xxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: Felix Fietkau <nbd@xxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11503/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit accbfb52d09ac00147f02c4335d1cc47665e6653 Author: Alban Bedel <albeu@xxxxxxx> Date: Tue Nov 17 20:34:51 2015 +0100 MIPS: ath79: Fix the size of the MISC INTC registers in ar9132.dtsi There is 2 registers that is 8 bytes long, not 4. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Alexander Couzens <lynxis@xxxxxxx> Cc: Joel Porquet <joel@xxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11508/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5011a7e808c9fec643d752c5a495a48f27268a48 Author: Alban Bedel <albeu@xxxxxxx> Date: Tue Nov 17 09:40:07 2015 +0100 MIPS: ath79: Fix the DDR control initialization on ar71xx and ar934x The DDR control initialization needs to know the SoC type, however ath79_detect_sys_type() was called after ath79_ddr_ctrl_init(). Reverse the order to fix the DDR control initialization on ar71xx and ar934x. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Cc: Felix Fietkau <nbd@xxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v4.2+ Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11500/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1e208ae7326caa33ef7d4496d7ff1c404657a4a3 Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 10:12:42 2015 +0100 parisc: Drop definition of start_thread_som for HP-UX SOM binaries The definition of start_thread_som was planned to be used to execute HP-UX SOM binaries. Since HP-UX compatibility was dropped with kernel 4.0 there is no need to carry it further. Signed-off-by: Helge Deller <deller@xxxxxx> commit 2b3f34451054768a3da27ea1e86da676bf4621bd Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 10:09:18 2015 +0100 parisc: Fix wrong comment regarding first pmd entry flags The first pmd entry is marked with PxD_FLAG_ATTACHED instead of _PAGE_GATEWAY. Signed-off-by: Helge Deller <deller@xxxxxx> commit 86eaf54d07f239243f674d6256e5c4be6578348a Merge: c69bde7 2c5d740 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 20:51:31 2015 -0800 Merge tag 'dmaengine-fix-4.4-rc2' of git://git.infradead.org/users/vkoul/slave-dma Pull dmaengine fixes from Vinod Koul: "This has odd fixes spreadout drivers, not major here - usbdmac fixes for pm - edma build and logic fixes - build warn fixes for few drivers" * tag 'dmaengine-fix-4.4-rc2' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: at_hdmac: use %pad format string for dma_addr_t dmaengine: at_xdmac: use %pad format string for dma_addr_t dmaengine: imx-sdma: remove __init annotation on sdma_event_remap dmaengine: edma: predecence bug in GET_NUM_QDMACH() dmaengine: edma: fix build without CONFIG_OF dmaengine: of_dma: Correct return code for of_dma_request_slave_channel in case !CONFIG_OF dmaengine: sh: usb-dmac: Fix pm_runtime_{enable,disable}() imbalance dmaengine: sh: usb-dmac: Fix crash on runtime suspend commit c69bde78f05c34f0f3c1f3025d6214d6e06389f4 Merge: cd6caf5 2d591ab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 20:39:38 2015 -0800 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "A varied bunch of fixes, the radeon pull is probably a bit larger than I'd like, but it contains 2 weeks of stuff, and the Fiji fixes are a bit large, but they are Fiji specific. Otherwise: - mgag200: One cursor regression oops fix. - vc4: A few small fixes and cleanups. - core: Atomic fixes and Atomic helper fixes - i915: Revert for the backlight regression along with a bunch of fixes" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (58 commits) drm/atomic-helper: Check encoder/crtc constraints Revert "drm/i915: skip modeset if compatible for everyone." drm/mgag200: fix kernel hang in cursor code. drm/amdgpu: reserve/unreserve objects out of map/unmap operations drm/amdgpu: move bo_reserve out of amdgpu_vm_clear_bo drm/amdgpu: add lock for interval tree in vm drm/amdgpu: keep the owner for VMIDs drm/amdgpu: move VM manager clean into the VM code again drm/amdgpu: cleanup VM coding style drm/amdgpu: remove unused VM manager field drm/amdgpu: cleanup scheduler command submission drm/amdgpu: fix typo in firmware name drm/i915: Consider SPLL as another shared pll, v2. drm/i915: Fix gpu frequency change tracing drm/vc4: Make sure that planes aren't scaled. drm/vc4: Fix some failure to track __iomem decorations on pointers. drm/vc4: checking for NULL instead of IS_ERR drm/vc4: fix itnull.cocci warnings drm/vc4: fix platform_no_drv_owner.cocci warnings drm/vc4: vc4_plane_duplicate_state() can be static ... commit cd6caf550a2adc763c6301ecc0be01f422fb2aea Merge: 8bdddfa c7f42c6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 18:14:47 2015 -0800 Merge tag 'for-linus-4.4' of git://git.code.sf.net/p/openipmi/linux-ipmi Pull IPMI updates from Corey Minyard: "Some fixes for small IPMI problems. The most significant is that the driver wasn't starting the timer for some messages, which would result in problems if that message failed for some reason. The others are small optimizations or making things a little neater" * tag 'for-linus-4.4' of git://git.code.sf.net/p/openipmi/linux-ipmi: ipmi watchdog : add panic_wdt_timeout parameter char: ipmi: Move MODULE_DEVICE_TABLE() to follow struct ipmi: Stop the timer immediately if idle ipmi: Start the timer and thread on internal msgs commit 8bdddfae6590ecbc4a48e1a5b93386d6b8956fe5 Merge: b4ba1f0 0ba58de Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 17:58:44 2015 -0800 Merge tag 'renesas-sh-drivers-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas Pull SH driver fixlet from Simon Horman: "I am sending this change after v4.4-rc1 has been released as it depends on SoC changes which are present in that rc: = Remove now unnecessary reference to CONFIG_ARCH_SHMOBILE_MULTI" * tag 'renesas-sh-drivers-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: drivers: sh: Get rid of CONFIG_ARCH_SHMOBILE_MULTI commit 19cd80a214821f4b558560ebd76bfb2c38b4f3d8 Author: Jiri Slaby <jslaby@xxxxxxx> Date: Mon Nov 2 10:27:00 2015 +0100 usblp: do not set TASK_INTERRUPTIBLE before lock It is not permitted to set task state before lock. usblp_wwait sets the state to TASK_INTERRUPTIBLE and calls mutex_lock_interruptible. Upon return from that function, the state will be TASK_RUNNING again. This is clearly a bug and a warning is generated with LOCKDEP too: WARNING: CPU: 1 PID: 5109 at kernel/sched/core.c:7404 __might_sleep+0x7d/0x90() do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffffa0c588d0>] usblp_wwait+0xa0/0x310 [usblp] Modules linked in: ... CPU: 1 PID: 5109 Comm: captmon Tainted: G W 4.2.5-0.gef2823b-default #1 Hardware name: LENOVO 23252SG/23252SG, BIOS G2ET33WW (1.13 ) 07/24/2012 ffffffff81a4edce ffff880236ec7ba8 ffffffff81716651 0000000000000000 ffff880236ec7bf8 ffff880236ec7be8 ffffffff8106e146 0000000000000282 ffffffff81a50119 000000000000028b 0000000000000000 ffff8802dab7c508 Call Trace: ... [<ffffffff8106e1c6>] warn_slowpath_fmt+0x46/0x50 [<ffffffff8109a8bd>] __might_sleep+0x7d/0x90 [<ffffffff8171b20f>] mutex_lock_interruptible_nested+0x2f/0x4b0 [<ffffffffa0c588fc>] usblp_wwait+0xcc/0x310 [usblp] [<ffffffffa0c58bb2>] usblp_write+0x72/0x350 [usblp] [<ffffffff8121ed98>] __vfs_write+0x28/0xf0 ... Commit 7f477358e2384c54b190cc3b6ce28277050a041b (usblp: Implement the ENOSPC convention) moved the set prior locking. So move it back after the lock. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Fixes: 7f477358e2 ("usblp: Implement the ENOSPC convention") Acked-By: Pete Zaitcev <zaitcev@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44243ef42d77ae367e6e9c68afca3b4578d2d461 Author: Simon Arlott <simon@xxxxxxxxxxx> Date: Sun Nov 15 17:12:08 2015 +0000 USB: MAINTAINERS: cxacru Make cxacru an orphan. I still have a few of these devices for testing but haven't had an ADSL1 connection for several years. Signed-off-by: Simon Arlott <simon@xxxxxxxxxxx> Cc: Duncan Sands <baldrick@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4f161308ac280ce5b27681ddcc2bbac6de39c20 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Nov 19 11:47:47 2015 +0800 usb: kconfig: fix warning of select USB_OTG When choose randconfig for kernel build, it reports below warning: "warning: (USB_OTG_FSM && FSL_USB2_OTG && USB_MV_OTG) selects USB_OTG which has unmet direct dependencies (USB_SUPPORT && USB && PM)" In fact, USB_OTG is visible symbol and depends on PM, so the driver needs to depend on it to reduce dependency problem. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 638148e20c7f8f6e95017fdc13bce8549a6925e0 Author: Bjørn Mork <bjorn@xxxxxxx> Date: Wed Nov 18 21:12:33 2015 +0100 USB: option: add XS Stick W100-2 from 4G Systems Thomas reports " 4gsystems sells two total different LTE-surfsticks under the same name. .. The newer version of XS Stick W100 is from "omega" .. Under windows the driver switches to the same ID, and uses MI03\6 for network and MI01\6 for modem. .. echo "1c9e 9b01" > /sys/bus/usb/drivers/qmi_wwan/new_id echo "1c9e 9b01" > /sys/bus/usb-serial/drivers/option1/new_id T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 4 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1c9e ProdID=9b01 Rev=02.32 S: Manufacturer=USB Modem S: Product=USB Modem S: SerialNumber= C: #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan I: If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage Now all important things are there: wwp0s29f7u2i3 (net), ttyUSB2 (at), cdc-wdm0 (qmi), ttyUSB1 (at) There is also ttyUSB0, but it is not usable, at least not for at. The device works well with qmi and ModemManager-NetworkManager. " Reported-by: Thomas Schäfer <tschaefer@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3767e3c9da514e63e898772b72b932f9eb3b062 Merge: 0aba0ab8 a76032e 4981c2b 768acd6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Nov 20 01:22:52 2015 +0100 Merge branches 'acpi-smbus', 'acpi-ec' and 'acpi-pci' * acpi-smbus: Revert "ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook" ACPI / SMBus: Fix boot stalls / high CPU caused by reentrant code * acpi-ec: ACPI-EC: Drop unnecessary check made before calling acpi_ec_delete_query() * acpi-pci: PCI: Fix OF logic in pci_dma_configure() commit 0aba0ab8915bcad3ae7e05e18bc2c5c55570e328 Merge: 9832bf3 6f9b36c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Nov 20 01:22:33 2015 +0100 Merge branch 'pm-sleep' * pm-sleep: PM / wakeirq: check that wake IRQ is valid before accepting it commit 9832bf3a35f55b8650280a6a3236859e751a1294 Merge: d9f67db 3bf7f56 d29d673 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Nov 20 01:22:10 2015 +0100 Merge branches 'pm-cpufreq' and 'acpi-cppc' * pm-cpufreq: Revert "Documentation: kernel_parameters for Intel P state driver" cpufreq: mediatek: fix build error cpufreq: intel_pstate: Add separate support for Airmont cores cpufreq: intel_pstate: Replace BYT with ATOM Revert "cpufreq: intel_pstate: Use ACPI perf configuration" Revert "cpufreq: intel_pstate: Avoid calculation for max/min" * acpi-cppc: ACPI / CPPC: Use h/w reduced version of the PCCT structure commit 768acd64d68b232e0d2b9623d9846457355f0c27 Author: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx> Date: Wed Nov 18 16:49:52 2015 -0800 PCI: Fix OF logic in pci_dma_configure() This patch fixes a bug introduced by previous commit, which incorrectly checkes the of_node of the end-point device. Instead, it should check the of_node of the host bridge. Fixes: 50230713b639 ("PCI: OF: Move of_pci_dma_configure() to pci_dma_configure()") Reported-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2d591ab18a77e25def2c483b495e07b42a3ea79f Merge: db39563 7383123 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Nov 20 09:45:31 2015 +1000 Merge tag 'drm-intel-fixes-2015-11-19' of git://anongit.freedesktop.org/drm-intel into drm-fixes i915 fixes for 4.4, including the revert for the backlight regression Olof reported. Otherwise fixes all around. * tag 'drm-intel-fixes-2015-11-19' of git://anongit.freedesktop.org/drm-intel: Revert "drm/i915: skip modeset if compatible for everyone." drm/i915: Consider SPLL as another shared pll, v2. drm/i915: Fix gpu frequency change tracing drm/i915: Don't clobber the addfb2 ioctl params drm/i915: Clear intel_crtc->atomic before updating it. drm/i915: get runtime PM reference around GEM set_caching IOCTL drm/i915: Fix GT frequency rounding drm/i915: quirk backlight present on Macbook 4, 1 drm/i915: Fix crtc_y assignment in intel_find_initial_plane_obj() commit db3956372f086eaf1c079dc12c3f03ae9f306ba5 Merge: f6619ef 5481c8f Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Nov 20 09:44:50 2015 +1000 Merge tag 'topic/drm-fixes-2015-11-19' of git://anongit.freedesktop.org/drm-intel into drm-fixes Here are some drm core fixes for v4.4 that I've picked up. Atomic fixes from Maarten, and atomic helper fixes from Ville and Daniel. Admittedly the topmost commit didn't sit in our tree for very long, but does come with reviews and testing from trustworthy people. * tag 'topic/drm-fixes-2015-11-19' of git://anongit.freedesktop.org/drm-intel: drm/atomic-helper: Check encoder/crtc constraints drm: Fix primary plane size for stereo doubled modes for legacy setcrtc drm/core: Fix old_fb handling in pan_display_atomic. drm/core: Fix old_fb handling in restore_fbdev_mode_atomic. drm/atomic: add a drm_atomic_clean_old_fb helper. drm/core: Fix old_fb handling in drm_mode_atomic_ioctl. drm/core: Set legacy_cursor_update in drm_atomic_helper_disable_plane. commit 54514aa465e94316a4bf1c5dfe970536bec3e76f Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Thu Nov 19 12:50:10 2015 +0100 null_blk: do not del gendisk with lightnvm The gendisk structure has not been initialized when using lightnvm. Make sure to not delete it upon exit. Also make sure that we use the appropriate disk_name at unregistration. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5b40db99099ddebe31e9b1b759894cf09c0c6679 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Thu Nov 19 12:50:09 2015 +0100 null_blk: use device addressing mode The linear addressing mode was removed in 7386af2. Make null_blk instead expose the ppa format geometry and support the generic addressing mode. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6bb9535bc3f59194a0ae17b17ca71aecd0f7e3a2 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Thu Nov 19 12:50:08 2015 +0100 null_blk: use ppa_cache pool Instead of using a page pool, we can save memory by only allocating room for 64 entries for the ppa command. Introduce a ppa_cache to allocate only the required memory for the ppa list. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0a72f2ad84cc9dde5e4c7ab905a2f89593ddc0b6 Merge: dad67d5 59536da Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 14:08:37 2015 -0800 Merge tag 'usb-serial-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus Johan writes: USB-serial fixes for v4.4-rc2 Here are some new device ids, support for an odd qcserial Gobi interface layout and a fix for the qcserial Huawei interface layout. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 2e6edc95382cc36423aff18a237173ad62d5ab52 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Nov 19 13:29:28 2015 -0800 block: protect rw_page against device teardown Fix use after free crashes like the following: general protection fault: 0000 [#1] SMP Call Trace: [<ffffffffa0050216>] ? pmem_do_bvec.isra.12+0xa6/0xf0 [nd_pmem] [<ffffffffa0050ba2>] pmem_rw_page+0x42/0x80 [nd_pmem] [<ffffffff8128fd90>] bdev_read_page+0x50/0x60 [<ffffffff812972f0>] do_mpage_readpage+0x510/0x770 [<ffffffff8128fd20>] ? I_BDEV+0x20/0x20 [<ffffffff811d86dc>] ? lru_cache_add+0x1c/0x50 [<ffffffff81297657>] mpage_readpages+0x107/0x170 [<ffffffff8128fd20>] ? I_BDEV+0x20/0x20 [<ffffffff8128fd20>] ? I_BDEV+0x20/0x20 [<ffffffff8129058d>] blkdev_readpages+0x1d/0x20 [<ffffffff811d615f>] __do_page_cache_readahead+0x28f/0x310 [<ffffffff811d6039>] ? __do_page_cache_readahead+0x169/0x310 [<ffffffff811c5abd>] ? pagecache_get_page+0x2d/0x1d0 [<ffffffff811c76f6>] filemap_fault+0x396/0x530 [<ffffffff811f816e>] __do_fault+0x4e/0xf0 [<ffffffff811fce7d>] handle_mm_fault+0x11bd/0x1b50 Cc: <stable@xxxxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <lkp@xxxxxxxxx> Acked-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> [willy: symmetry fixups] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit b4ba1f0f6533e3a49976f5736b263478509099a0 Merge: a3d66b5 92e788b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 12:21:23 2015 -0800 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Catalin Marinas: - Fix size alignment in __iommu_{alloc,free}_attrs - Kernel memory mapping fix with CONFIG_DEBUG_RODATA for page sizes other than 4KB and a fix of the mark_rodata_ro permissions - dma_get_ops() simplification and behaviour alignment between DT and ACPI - function_graph trace fix for cpu_suspend() (CPUs returning from deep sleep via a different path and confusing the tracer) - Use of non-global mappings for UEFI run-time services to avoid a (potentially theoretical) TLB conflict - Crypto priority reduction of core AES cipher (the accelerated asynchronous implementation is preferred when available) - Reverting an old commit that removed BogoMIPS from /proc/cpuinfo on arm64. Apparently, we had it for a relatively short time and libvirt started checking for its presence - Compiler warnings fixed (ptrace.h inclusion from compat.h, smp_load_acquire with const argument) * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: restore bogomips information in /proc/cpuinfo arm64: barriers: fix smp_load_acquire to work with const arguments arm64: Fix R/O permissions in mark_rodata_ro arm64: crypto: reduce priority of core AES cipher arm64: use non-global mappings for UEFI runtime regions arm64: kernel: pause/unpause function graph tracer in cpu_suspend() arm64: do not include ptrace.h from compat.h arm64: simplify dma_get_ops arm64: mm: use correct mapping granularity under DEBUG_RODATA arm64/dma-mapping: Fix sizes in __iommu_{alloc,free}_attrs commit a3d66b5a17f81ee84604f95b0e2c9ccf0434c6f0 Merge: 319645c e41b104 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 12:16:12 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching Pull livepatching fix from Jiri Kosina: "A fix for module handling in case kASLR has been enabled, from Zhou Chengming" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching: livepatch: x86: fix relocation computation with kASLR commit 319645cac26c2d065a485f5d59228433ad602f71 Merge: 1282ac4 a3088ab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 12:10:51 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID fixes from Jiri Kosina: "Two functional fixes for wacom HID driver from Ping Cheng and Jiri Kosina" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: wacom: fixup quirks setup for WACOM_DEVICETYPE_PAD HID: wacom: Add outbounding area for DTU1141 commit 6824c5ef5e8900e61ce8ed40885cacc1c9301c14 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Wed Nov 18 16:33:08 2015 -0700 NVMe: Fix possible arithmetic overflow for max segments Reported-by: Paul Grabinar <paul.grabinar@xxxxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1282ac407cf4c3eaeaddd8d776a7ffbd2b94c2e7 Merge: 34258a3 d3df046 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 11:33:58 2015 -0800 Merge tag 'mmc-v4.4-rc1' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC fixes from Ulf Hansson: "Here are some mmc fixes intended for v4.4 rc2. It's based on a commit prior rc1 as I wanted to get them a bit more tested in next before sending you the pull request. MMC core: - Improve reliability when selecting HS200 mode - Improve reliability when selecting HS400 mode - mmc: remove bondage between REQ_META and reliable write MMC host: - pxamci: Fix read-only gpio detection polarity - mtk-sd: Preinitialize delay_phase to fix the case when delay is zero - android-goldfish: Fix build dependency by adding HAS_DMA - dw_mmc: Remove Seungwon Jeon from MAINTAINERS" * tag 'mmc-v4.4-rc1' of git://git.linaro.org/people/ulf.hansson/mmc: mmc: remove bondage between REQ_META and reliable write mmc: MMC_GOLDFISH should depend on HAS_DMA mmc: mediatek: Preinitialize delay_phase in get_best_delay() MAINTAINERS: mmc: Remove Seungwon Jeon from dw_mmc mmc: mmc: Improve reliability of mmc_select_hs400() mmc: mmc: Move mmc_switch_status() mmc: mmc: Fix HS setting in mmc_select_hs400() mmc: mmc: Improve reliability of mmc_select_hs200() mmc: pxamci: fix read-only gpio detection polarity commit bcbd94ff481ec1d7b5c824d90df82d0faafabd35 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Thu Nov 19 07:36:50 2015 -0500 dm crypt: fix a possible hang due to race condition on exit A kernel thread executes __set_current_state(TASK_INTERRUPTIBLE), __add_wait_queue, spin_unlock_irq and then tests kthread_should_stop(). It is possible that the processor reorders memory accesses so that kthread_should_stop() is executed before __set_current_state(). If such reordering happens, there is a possible race on thread termination: CPU 0: calls kthread_should_stop() it tests KTHREAD_SHOULD_STOP bit, returns false CPU 1: calls kthread_stop(cc->write_thread) sets the KTHREAD_SHOULD_STOP bit calls wake_up_process on the kernel thread, that sets the thread state to TASK_RUNNING CPU 0: sets __set_current_state(TASK_INTERRUPTIBLE) spin_unlock_irq(&cc->write_thread_wait.lock) schedule() - and the process is stuck and never terminates, because the state is TASK_INTERRUPTIBLE and wake_up_process on CPU 1 already terminated Fix this race condition by using a new flag DM_CRYPT_EXIT_THREAD to signal that the kernel thread should exit. The flag is set and tested while holding cc->write_thread_wait.lock, so there is no possibility of racy access to the flag. Also, remove the unnecessary set_task_state(current, TASK_RUNNING) following the schedule() call. When the process was woken up, its state was already set to TASK_RUNNING. Other kernel code also doesn't set the state to TASK_RUNNING following schedule() (for example, do_wait_for_common in completion.c doesn't do it). Fixes: dc2676210c42 ("dm crypt: offload writes to thread") Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 92e788b749862ebe9920360513a718e5dd4da7a9 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Wed Nov 18 10:48:55 2015 -0800 arm64: restore bogomips information in /proc/cpuinfo As previously reported, some userspace applications depend on bogomips showed by /proc/cpuinfo. Although there is much less legacy impact on aarch64 than arm, it does break libvirt. This patch reverts commit 326b16db9f69 ("arm64: delay: don't bother reporting bogomips in /proc/cpuinfo"), but with some tweak due to context change and without the pr_info(). Fixes: 326b16db9f69 ("arm64: delay: don't bother reporting bogomips in /proc/cpuinfo") Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.12+ Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d792abacaf1a1a8dfea353fab699b97fa6251c2a Merge: 62a193e 152e9f6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Nov 19 17:59:32 2015 +0100 Merge tag 'kvm-s390-master-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-master KVM: s390: Fixes for 4.4 1. disallow changing the SIMD mode when CPUs have been created. it allowed userspace to corrupt kernel memory 2. Fix vCPU lookup. Until now the vCPU number equals the vCPU id. Some kernel code places relied on that. This might a: cause guest failures b: allow userspace to corrupt kernel memory 3. Fencing of the PFMF instruction should use the guest facilities and not the host facilities. commit 5481c8fb1da2a573861095fbea078f30c664d0bd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Nov 18 18:46:48 2015 +0100 drm/atomic-helper: Check encoder/crtc constraints This was totally lost when I originally created the atomic helpers. We probably should also check possible_clones in the helpers, but since the legacy ones didn't do that this is for a separate patch. Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447868808-10266-1-git-send-email-daniel.vetter@xxxxxxxx commit 152e9f65d66f0a3891efc3869440becc0e7ff53f Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 09:06:06 2015 +0100 KVM: s390: fix wrong lookup of VCPUs by array index For now, VCPUs were always created sequentially with incrementing VCPU ids. Therefore, the index in the VCPUs array matched the id. As sequential creation might change with cpu hotplug, let's use the correct lookup function to find a VCPU by id, not array index. Let's also use kvm_lookup_vcpu() for validation of the sending VCPU on external call injection. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # db27a7a KVM: Provide function for VCPU lookup by id commit b85de33a1a3433487b6a721cfdce25ec8673e622 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 09:38:15 2015 +0100 KVM: s390: avoid memory overwrites on emergency signal injection Commit 383d0b050106 ("KVM: s390: handle pending local interrupts via bitmap") introduced a possible memory overwrite from user space. User space could pass an invalid emergency signal code (sending VCPU) and therefore exceed the bitmap. Let's take care of this case and check that the id is in the valid range. Reviewed-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.19+ db27a7a KVM: Provide function for VCPU lookup by id Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit db27a7a37aa0b1f8b373f8b0fb72a2ccaafb85b7 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 09:03:50 2015 +0100 KVM: Provide function for VCPU lookup by id Let's provide a function to lookup a VCPU by id. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> [split patch from refactoring patch] commit 03c02807e25ef0f44767f28e939efc2c5deb0f3d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Nov 13 13:31:58 2015 +0100 KVM: s390: fix pfmf intercept handler The pfmf intercept handler should check if the EDAT 1 facility is installed in the guest, not if it is installed in the host. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 5967c17b118a2bd1dd1d554cc4eee16233e52bec Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 12:08:48 2015 +0100 KVM: s390: enable SIMD only when no VCPUs were created We should never allow to enable/disable any facilities for the guest when other VCPUs were already created. kvm_arch_vcpu_(load|put) relies on SIMD not changing during runtime. If somebody would create and run VCPUs and then decides to enable SIMD, undefined behaviour could be possible (e.g. vector save area not being set up). Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.1+ commit 581b7f158fe0383b492acd1ce3fb4e99d4e57808 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Date: Wed Jun 3 10:31:14 2015 +0100 x86/cpu: Fix SMAP check in PVOPS environments There appears to be no formal statement of what pv_irq_ops.save_fl() is supposed to return precisely. Native returns the full flags, while lguest and Xen only return the Interrupt Flag, and both have comments by the implementations stating that only the Interrupt Flag is looked at. This may have been true when initially implemented, but no longer is. To make matters worse, the Xen PVOP leaves the upper bits undefined, making the BUG_ON() undefined behaviour. Experimentally, this now trips for 32bit PV guests on Broadwell hardware. The BUG_ON() is consistent for an individual build, but not consistent for all builds. It has also been a sitting timebomb since SMAP support was introduced. Use native_save_fl() instead, which will obtain an accurate view of the AC flag. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Tested-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: <lguest@xxxxxxxxxxxxxxxx> Cc: Xen-devel <xen-devel@xxxxxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1433323874-6927-1-git-send-email-andrew.cooper3@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 112677d683d31ebd6a8e8b02e0620ae512354b2d Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Nov 17 09:43:24 2015 +0900 x86/ftrace: Add comment on static function tracing There was a confusion between update_ftrace_function() and static function tracing trampoline regarding 3rd parameter (ftrace_ops). Add a comment for clarification. Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1447721004-2551-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7383123647566a813692bb37a1389c767ed89158 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Nov 19 10:26:30 2015 +0200 Revert "drm/i915: skip modeset if compatible for everyone." This reverts commit 6764e9f8724f1231b4deac53b9a82286ac0830e7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:06 2015 +0200 drm/i915: skip modeset if compatible for everyone. Bring back the i915.fastboot module parameter, disabled by default, due to backlight regression on Chromebook Pixel 2015. Apparently the firmware of the Chromebook in question enables the panel but disables backlight to avoid a brief garbage scanout upon loading the kernel/module. With fastboot, we leave the backlight untouched, in this case disabled. The user would have to do a modeset (i.e. not just crank up the brightness) to enable the backlight. There is no clean fix readily available, so get back to the drawing board by reverting. [N.B. The reference below is for when the thread was included on public lists, and some of the context had already been dropped by then.] Reported-and-tested-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> References: http://marc.info/?i=CAKMK7uES7xk05ki92oeX6gmvZWAh9f2vL7yz=6T+fGK9J3X7cQ@xxxxxxxxxxxxxx Fixes: 6764e9f8724f ("drm/i915: skip modeset if compatible for everyone.") Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447921590-3785-1-git-send-email-jani.nikula@xxxxxxxxx commit f6619ef7508261be2ba3ded313ccc46ce670d0d3 Author: Wang, Rui Y <rui.y.wang@xxxxxxxxx> Date: Wed Nov 18 23:00:53 2015 +0800 drm/mgag200: fix kernel hang in cursor code. The machine hang completely with the following message on the console: [ 487.777538] BUG: unable to handle kernel NULL pointer dereference at 0000000000000060 [ 487.777554] IP: [<ffffffff8158aaee>] _raw_spin_lock+0xe/0x30 [ 487.777557] PGD 42e9f7067 PUD 42f2fa067 PMD 0 [ 487.777560] Oops: 0002 [#1] SMP ... [ 487.777618] CPU: 21 PID: 3190 Comm: Xorg Tainted: G E 4.4.0-rc1-3-default+ #6 [ 487.777620] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS BRHSXSD1.86B.0059.R00.1501081238 01/08/2015 [ 487.777621] task: ffff880853ae4680 ti: ffff8808696d4000 task.ti: ffff8808696d4000 [ 487.777625] RIP: 0010:[<ffffffff8158aaee>] [<ffffffff8158aaee>] _raw_spin_lock+0xe/0x30 [ 487.777627] RSP: 0018:ffff8808696d79c0 EFLAGS: 00010246 [ 487.777628] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 [ 487.777629] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000060 [ 487.777630] RBP: ffff8808696d79e0 R08: 0000000000000000 R09: ffff88086924a780 [ 487.777631] R10: 000000000001bb40 R11: 0000000000003246 R12: 0000000000000000 [ 487.777632] R13: ffff880463a27360 R14: ffff88046ca50218 R15: 0000000000000080 [ 487.777634] FS: 00007f3f81c5a8c0(0000) GS:ffff88086f060000(0000) knlGS:0000000000000000 [ 487.777635] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 487.777636] CR2: 0000000000000060 CR3: 000000042e678000 CR4: 00000000001406e0 [ 487.777638] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 487.777639] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 487.777639] Stack: [ 487.777642] ffffffffa00eb5fa ffff8808696d7b60 ffff88086b87d800 0000000000000000 [ 487.777644] ffff8808696d7ac8 ffffffffa01694b6 ffff8808696d7ae8 ffffffff8109c8d5 [ 487.777647] ffff880469158740 ffff880463a27000 ffff88086b87d800 ffff88086b87d800 [ 487.777647] Call Trace: [ 487.777674] [<ffffffffa00eb5fa>] ? drm_gem_object_lookup+0x1a/0xa0 [drm] [ 487.777681] [<ffffffffa01694b6>] mga_crtc_cursor_set+0xc6/0xb60 [mgag200] [ 487.777691] [<ffffffff8109c8d5>] ? find_busiest_group+0x35/0x4a0 [ 487.777696] [<ffffffff81086294>] ? __might_sleep+0x44/0x80 [ 487.777699] [<ffffffff815888c2>] ? __ww_mutex_lock+0x22/0x9c [ 487.777722] [<ffffffffa0104f64>] ? drm_modeset_lock+0x34/0xf0 [drm] [ 487.777733] [<ffffffffa0148d9e>] restore_fbdev_mode+0xee/0x2a0 [drm_kms_helper] [ 487.777742] [<ffffffffa014afce>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2e/0x70 [drm_kms_helper] [ 487.777748] [<ffffffffa014b037>] drm_fb_helper_set_par+0x27/0x50 [drm_kms_helper] [ 487.777752] [<ffffffff8134560c>] fb_set_var+0x18c/0x3f0 [ 487.777777] [<ffffffffa02a9b0a>] ? __ext4_handle_dirty_metadata+0x8a/0x210 [ext4] [ 487.777783] [<ffffffff8133cb97>] fbcon_blank+0x1b7/0x2b0 [ 487.777790] [<ffffffff813be2a3>] do_unblank_screen+0xb3/0x1c0 [ 487.777795] [<ffffffff813b5aba>] vt_ioctl+0x118a/0x1210 [ 487.777801] [<ffffffff813a8fe0>] tty_ioctl+0x3f0/0xc90 [ 487.777808] [<ffffffff81172018>] ? kzfree+0x28/0x30 [ 487.777813] [<ffffffff811e053f>] ? mntput+0x1f/0x30 [ 487.777817] [<ffffffff811d3f5d>] do_vfs_ioctl+0x30d/0x570 [ 487.777822] [<ffffffff8107ed3a>] ? task_work_run+0x8a/0xa0 [ 487.777825] [<ffffffff811d4234>] SyS_ioctl+0x74/0x80 [ 487.777829] [<ffffffff8158aeae>] entry_SYSCALL_64_fastpath+0x12/0x71 [ 487.777851] Code: 65 ff 0d ce 02 a8 7e 5d c3 ba 01 00 00 00 f0 0f b1 17 85 c0 75 e8 b0 01 5d c3 0f 1f 00 65 ff 05 b1 02 a8 7e 31 c0 ba 01 00 00 00 <f0> 0f b1 17 85 c0 75 01 c3 55 89 c6 48 89 e5 e8 4e f5 b1 ff 5d [ 487.777854] RIP [<ffffffff8158aaee>] _raw_spin_lock+0xe/0x30 [ 487.777855] RSP <ffff8808696d79c0> [ 487.777856] CR2: 0000000000000060 [ 487.777860] ---[ end trace 672a2cd555e0ebd3 ]--- The cursor code may be entered with file_priv == NULL && handle == NULL. The problem was introduced by: "bf89209 drm/mga200g: Hold a proper reference for cursor_set" which calls drm_gem_object_lookup(dev, file_priv...). Previously this wasn't a problem because we checked the handle. Move the check early in the function can fix the problem. Signed-off-by: Rui Wang <rui.y.wang@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e6c84acb3afcdf4bdbedc75d268b6c8bd7c4ed7a Merge: 8ed59fd bf893ac Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 19 13:17:08 2015 +1000 Merge branch 'drm-vc4-fixes' of git://github.com/anholt/linux into drm-fixes Here are a few little VC4 fixes for 4.4 that I didn't get in to you before the -next pull request. I dropped the feature-ish one I'd mentioned, and also droppped the one I saw you included in the last -fixes pull request. * 'drm-vc4-fixes' of git://github.com/anholt/linux: drm/vc4: Make sure that planes aren't scaled. drm/vc4: Fix some failure to track __iomem decorations on pointers. drm/vc4: checking for NULL instead of IS_ERR drm/vc4: fix itnull.cocci warnings drm/vc4: fix platform_no_drv_owner.cocci warnings drm/vc4: vc4_plane_duplicate_state() can be static commit 8ed59fd6d4691bd1e67b71f84e473f440fc7c821 Merge: 34258a3 49b02b1 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 19 13:15:17 2015 +1000 Merge branch 'drm-fixes-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Radeon and amdgpu fixes for 4.4. A bit more the usual since I missed last week. Misc fixes all over the place. The big changes are the tiling configuration fixes for Fiji. * 'drm-fixes-4.4' of git://people.freedesktop.org/~agd5f/linux: (35 commits) drm/amdgpu: reserve/unreserve objects out of map/unmap operations drm/amdgpu: move bo_reserve out of amdgpu_vm_clear_bo drm/amdgpu: add lock for interval tree in vm drm/amdgpu: keep the owner for VMIDs drm/amdgpu: move VM manager clean into the VM code again drm/amdgpu: cleanup VM coding style drm/amdgpu: remove unused VM manager field drm/amdgpu: cleanup scheduler command submission drm/amdgpu: fix typo in firmware name drm/amdgpu: remove the unnecessary parameter adev for amdgpu_sa_bo_new() drm/amdgpu: wait interruptible when semaphores are disabled v2 drm/amdgpu: update pd while updating vm as well drm/amdgpu: fix handling order in scheduler CS drm/amdgpu: fix incorrect mutex usage v3 drm/amdgpu: cleanup scheduler fence get/put dance drm/amdgpu: add command submission workflow tracepoint drm/amdgpu: update Fiji's tiling mode table drm/amdgpu: fix bug that can't enter thermal interrupt for bonaire. drm/amdgpu: fix seq_printf format string drm/radeon: fix quirk for MSI R7 370 Armor 2X ... commit 0df9d41ab5d43dc5b20abc8b22a6b6d098b03994 Author: Yigal Korman <yigal@xxxxxxxxxxxxx> Date: Mon Nov 16 14:09:15 2015 +0200 mm, dax: fix DAX deadlocks (COW fault) DAX handling of COW faults has wrong locking sequence: dax_fault does i_mmap_lock_read do_cow_fault does i_mmap_unlock_write Ross's commit[1] missed a fix[2] that Kirill added to Matthew's commit[3]. Original COW locking logic was introduced by Matthew here[4]. This should be applied to v4.3 as well. [1] 0f90cc6609c7 mm, dax: fix DAX deadlocks [2] 52a2b53ffde6 mm, dax: use i_mmap_unlock_write() in do_cow_fault() [3] 843172978bb9 dax: fix race between simultaneous faults [4] 2e4cdab0584f mm: allow page fault handlers to perform the COW Cc: <stable@xxxxxxxxxxxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Dave Chinner <dchinner@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Acked-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Yigal Korman <yigal@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 2ce47b44b25d8fb0114ff117813742adbefec8ff Author: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Date: Fri Nov 13 11:17:51 2015 +0800 selftests/seccomp: Get page size from sysconf The commit fd88d16c58c2 ("selftests/seccomp: Be more precise with syscall arguments.") use PAGE_SIZE directly which lead to build failure on arm64. Replace it with generic interface(sysconf(_SC_PAGESIZE)) to fix this failure. Build and test successful on x86_64 and arm64. Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Tested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 3bf7f56e70c9f0edb4f91cbb73a393c3b1d24801 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Nov 19 00:42:23 2015 +0100 Revert "Documentation: kernel_parameters for Intel P state driver" Revert commit 053f56def57b (Documentation: kernel_parameters for Intel P state driver) as the code documented by it has been reverted already. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2d4ee3036774e394d416cded9d5cf7661ffb4e4f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 22:27:55 2015 +0100 cpufreq: mediatek: fix build error The recently added mt8173 cpufreq driver relies on the cpu topology that is always present on ARM64 but optional on ARM32: drivers/cpufreq/mt8173-cpufreq.c: In function 'mtk_cpufreq_init': drivers/cpufreq/mt8173-cpufreq.c:441:30: error: 'cpu_topology' undeclared (first use in this function) cpumask_copy(policy->cpus, &cpu_topology[policy->cpu].core_sibling); This refines the Kconfig dependencies so that we can still build on ARM32, but only if COMPILE_TEST is selected and the CPU topology code is present. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1421df63c3cf956c69c26ac9660c6e223eeed980 Author: Philippe Longepe <philippe.longepe@xxxxxxxxxxxxxxx> Date: Mon Nov 9 17:40:47 2015 -0800 cpufreq: intel_pstate: Add separate support for Airmont cores There are two flavors of Atom cores to be supported by intel_pstate, Silvermont and Airmont, so make the driver distinguish between them by adding separate frequency tables. Separate the CPU defaults params for each of them and match the CPU IDs against them as appropriate. Signed-off-by: Philippe Longepe <philippe.longepe@xxxxxxxxxxxxxxx> Signed-off-by: Stephane Gasparini <stephane.gasparini@xxxxxxxxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> [ rjw: Subject and changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 938d21a2a6370241c86d515ca574aaaa9e8812f2 Author: Philippe Longepe <philippe.longepe@xxxxxxxxxxxxxxx> Date: Mon Nov 9 17:40:46 2015 -0800 cpufreq: intel_pstate: Replace BYT with ATOM Rename symbol and function names starting with "BYT" or "byt" to start with "ATOM" or "atom", respectively, so as to make it clear that they may apply to Atom in general and not just to Baytrail (the goal is to support several Atoms architectures eventually). This should not lead to any functional changes. Signed-off-by: Philippe Longepe <philippe.longepe@xxxxxxxxxxxxxxx> Signed-off-by: Stephane Gasparini <stephane.gasparini@xxxxxxxxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> [ rjw : Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6ee11e413c495390dacabd96ad462eea9de9dfbd Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Nov 19 00:20:42 2015 +0100 Revert "cpufreq: intel_pstate: Use ACPI perf configuration" Revert commit 37afb0003242 (cpufreq: intel_pstate: Use ACPI perf configuration) that is reported to cause a regression to happen on a system where invalid data are returned by the ACPI _PSS object. Since that commit makes assumptions regarding the _PSS output correctness that may turn out to be overly optimistic in general, there is a concern that it may introduce regression on more systems, so it's better to revert it now and we'll revisit the underlying issue in the next cycle with a more robust solution. Conflicts: drivers/cpufreq/intel_pstate.c Fixes: 37afb0003242 (cpufreq: intel_pstate: Use ACPI perf configuration) Reported-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 799281a3c481a738801bf17e3079a6f91df56cd3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Nov 18 23:29:56 2015 +0100 Revert "cpufreq: intel_pstate: Avoid calculation for max/min" Revert commit 4ef451487019 (cpufreq: intel_pstate: Avoid calculation for max/min) as it depends on commit 37afb0003242 (cpufreq: intel_pstate: Use ACPI perf configuration) that causes problems to happen and needs to be reverted. Conflicts: drivers/cpufreq/intel_pstate.c Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b57f9f34e27bf81c97b10d6725d71824e448c37e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Nov 5 18:51:23 2015 +0900 Revert "Staging: wilc1000: coreconfigurator: Drop unneeded wrapper functions" The source and destination pointers are misplaced. This will be like, ether_addr_copy(data, bssid + ADDR2); -> ether_addr_copy(bssid, data + ADDR2); and also to use ether_addr_copy, it has to be proved that src/dst address are properly aligned(2). I revert this as author agree to drop this patch. This reverts commit d4622f68db8095dd54179e3134e97812727f6b89. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ddaa021b000220b5f2ad023e4f15ed44990974b Author: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Date: Tue Nov 17 13:50:08 2015 -0500 MAINTAINERS: brcmnand: Add co-maintainer for Broadcom SoCs Adding myself as co-maintainer of nand controller driver for the Broadcom SoCs. Signed-off-by: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 819db468b26797d9f53d547dd2a9fe94859a16e0 Merge: 8005c49 a57f8da Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Nov 18 13:15:50 2015 -0800 Merge tag 'iio-fixes-for-4.4a' of ssh://ra.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus Jonathan writes: First set of IIO fixes for the 4.4 cycle. This set does not include those for issues introduced during the merge window. Fixes of those will follow in a future series. * ad5064 - Make sure the local i2c_write returns 0 on success rather than the number of bytes transfered. Otherwise we report an error on all writes. - Fix a shift for ad5629 and ad5669 which gives incorrect DAC output on these parts. * ad7793 - The product ID on the datasheet is wrong. Fix it in the driver. * IIO_DUMMY_EVGEN - select IRQ_WORK as a dependency. * lpc32xx - make sure clock is prepared before enabling. * si7020 - data byte order was reversed. Fix it. * vf610 - Internal temperature calculation was wrong if a different reference voltage was used. Now use a linear interpolation function to make it work over the full range. - Fix a division by zero in the case of a device tree property not being present (same issue two fixes). * xilinx XADC - VREFN scale was wrong - fix it. commit c139aa60c1007429335131167a0ca181e38c5668 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Nov 18 10:13:08 2015 +0000 arm64: barriers: fix smp_load_acquire to work with const arguments A newly introduced function in include/net/sock.h passes a const argument to smp_load_acquire: static inline int sk_state_load(const struct sock *sk) { return smp_load_acquire(&sk->sk_state); } This cause an allmodconfig build failure, since our underlying load-acquire implementation does not handle const types correctly: include/net/sock.h: In function 'sk_state_load': ./arch/arm64/include/asm/barrier.h:71:3: error: read-only variable '___p1' used as 'asm' output asm volatile ("ldarb %w0, %1" \ This patch fixes the problem by reusing the trick in READ_ONCE that loads via a non-const member of an anonymous union. This has the advantage of allowing us to use smp_load_acquire on packed structures (e.g. arch_spinlock_t) as well as primitive types. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Reported-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit dad67d5f3d0efe01d38c6cebcb6698280e51927b Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Wed Nov 18 10:48:22 2015 +0200 xhci: Fix a race in usb2 LPM resume, blocking U3 for usb2 devices Clear device initiated resume variables once device is fully up and running in U0 state. Resume needs to be signaled for 20ms for usb2 devices before they can be moved to U0 state. An interrupt is triggered if a device initiates resume. As we handle the event in interrupt context we can not sleep for 20ms, so we instead set a resume flag, a timestamp, and start the roothub polling. The roothub code will later move the port to U0 when it finds a port in resume state with the resume flag set, and timestamp passed by 20ms. A host initiated resume is however not done in interrupt context, and host initiated resume code will directly signal resume, wait 20ms and then move the port to U0. These two codepaths can race, if we are in the middle of a host initated resume, while sleeping for 20ms, we may handle a port event and find the port in resume state. The port event handling code will assume the resume was device initiated and set the resume flag and timestamp. Root hub code will however not catch the port in resume state again as the host initated resume code has already moved the port to U0. The resume flag and timestamp will remain set for this port preventing port from suspending again (LPM setting port to U3) Fix this for now by always clearing the device initated resume parameters once port is in U0 Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42df7215facf27be8d53e657dd4a12d4ebad0a44 Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Wed Nov 18 10:48:21 2015 +0200 usb: xhci: fix checking ep busy for CFC Function ep_ring_is_processing() checks the dequeue pointer in endpoint context to know whether an endpoint is busy with processing TRBs. This is not correct since dequeue pointer field in an endpoint context is only valid when the endpoint is in Halted or Stopped states. This buggy code causes audio noise when playing sound with USB headset connected to host controllers which support CFC (one of xhci 1.1 features). This patch should exist in stable kernel since v4.3. Reported-and-tested-by: YD Tseng <yd_tseng@xxxxxxxxxxxxxx> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # v4.3 Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5964396190d0c40dd549c23848c282fffa5d1f2 Author: Rajmohan Mani <rajmohan.mani@xxxxxxxxx> Date: Wed Nov 18 10:48:20 2015 +0200 xhci: Workaround to get Intel xHCI reset working more reliably Existing Intel xHCI controllers require a delay of 1 mS, after setting the CMD_RESET bit in command register, before accessing any HC registers. This allows the HC to complete the reset operation and be ready for HC register access. Without this delay, the subsequent HC register access, may result in a system hang, very rarely. Verified CherryView / Braswell platforms go through over 5000 warm reboot cycles (which was not possible without this patch), without any xHCI reset hang. Signed-off-by: Rajmohan Mani <rajmohan.mani@xxxxxxxxx> Tested-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53de980796e0b7463dfaa81edc41b272f07b1f17 Merge: aa05cfa 6f51bc3 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Nov 18 09:21:17 2015 -0800 Merge tag 'usb-ci-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-linus Peter writes: USB Chipidea Fixes for v4.4-rc2 The first four fixes was for v4.3-rc7, but it is too late at that time, and other two small fixes are for possible NULL pointer issue. commit 34258a32d9a9fc9e38fb549efe1692301cc31f85 Merge: 0d77a12 f52c74f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 18 08:59:29 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 fixes from Martin Schwidefsky: "Assorted bug fixes, the mlock2 system call gets added, and one improvement. The boot from dasd devices is now possible from a wider range of devices" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390: remove SALIPL loader s390: wire up mlock2 system call s390: remove g5 elf platform support s390: avoid cache aliasing under z/VM and KVM s390/sclp: _sclp_wait_int(): retain full PSW mask s390/zcrypt: Fix initialisation when zcrypt is built-in s390/zcrypt: Fix kernel crash on systems without AP bus support s390: add support for ipl devices in subchannel sets > 0 s390/ipl: fix out of bounds access in scpdata_write s390/pci_dma: improve debugging of errors during dma map s390/pci_dma: handle dma table failures s390/pci_dma: unify label of invalid translation table entries s390/syscalls: remove system call number calculation s390/cio: simplify css_generate_pgid s390/diag: add a s390 prefix to the diagnose trace point s390/head: fix error message on unsupported hardware commit 0d77a123ffb5d11b97895afe8430191a273b23d6 Merge: 7f151f1 cef03d7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 18 08:43:29 2015 -0800 Merge tag 'hwmon-for-linus-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon fixes from Guenter Roeck: "Fix build issues in scpi and ina2xx drivers, update scpi driver to support recent firmware, and fix an uninitialized variable warning in applesmc driver" * tag 'hwmon-for-linus-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (scpi) skip unsupported sensors properly hwmon: (scpi) add thermal-of dependency hwmon : (applesmc) Fix uninitialized variables warnings hwmon: (ina2xx) Fix build issue by selecting REGMAP_I2C commit 49b02b180a541d6fb31031aaffe75496e9238942 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri Nov 13 14:18:38 2015 +0800 drm/amdgpu: reserve/unreserve objects out of map/unmap operations Change-Id: Id6514f2fb6e002437fdbe99353d5d35f4ac736c7 Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit ef9f0a83d68cecca241ee5d61b797d598722772e Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri Nov 13 13:43:22 2015 +0800 drm/amdgpu: move bo_reserve out of amdgpu_vm_clear_bo Change-Id: Ifbb0c06680494bfa04d0be5e5941d31ae2e5ef28 Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit c25867dfabf045a8148fd179fa759bb17f670e42 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri Nov 13 13:32:01 2015 +0800 drm/amdgpu: add lock for interval tree in vm Change-Id: I62b892a22af37b32e6b4aefca80a25cf45426ed2 Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 1c16c0a7b26c6c905dc79c4194135ca2f360f0f5 Author: Christian König <christian.koenig@xxxxxxx> Date: Sat Nov 14 21:31:40 2015 +0100 drm/amdgpu: keep the owner for VMIDs We don't need the last VM use any more, keep the owner directly. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <davdi1.zhou@xxxxxxx> commit ea89f8c9e8ba8a7b75446eef36917da50d2186d9 Author: Christian König <christian.koenig@xxxxxxx> Date: Sun Nov 15 20:52:06 2015 +0100 drm/amdgpu: move VM manager clean into the VM code again It's not a good idea to duplicate that code. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <davdi1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8b4fb00b5db271bb1e117a078d5d7a161d8d8af1 Author: Christian König <christian.koenig@xxxxxxx> Date: Sun Nov 15 16:04:16 2015 +0100 drm/amdgpu: cleanup VM coding style Fix the indentation and move the VM functions to the structures. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <davdi1.zhou@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit eeed25ab83bbd68b2c9dba3cc2ce5913537594f6 Author: Christian König <christian.koenig@xxxxxxx> Date: Sun Nov 15 15:50:07 2015 +0100 drm/amdgpu: remove unused VM manager field Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <davdi1.zhou@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> commit 984810fc45389c545719fbb4219e8a12b27032a4 Author: Christian König <christian.koenig@xxxxxxx> Date: Sat Nov 14 21:05:35 2015 +0100 drm/amdgpu: cleanup scheduler command submission Unify the two code path again, cause they do pretty much the same thing. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <davdi1.zhou@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> commit 2269a395790dd1ed3ae6e7708d76731e92fd46ff Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 17 11:02:47 2015 +0100 drm/amdgpu: fix typo in firmware name Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 00490c22b1b59b168d89de798f0790bfd9541515 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Nov 16 14:42:12 2015 +0100 drm/i915: Consider SPLL as another shared pll, v2. When diagnosing a unrelated bug for someone on irc, it would seem the hardware can be brought up by the BIOS with the embedded displayport using the SPLL for spread spectrum. Right now this is not handled well in i915, and it calculates the crtc needs to be reprogrammed on the first modeset without SSC, but the SPLL itself was kept active. Fix this by exposing SPLL as a shared pll that will not be returned by intel_get_shared_dpll; you have to know it exists to use it. Changes since v1: - Create a separate dpll_hw_state.spll for spll, and use separate pll functions for spll. Tested-by: Emil Renner Berthing <kernel@xxxxxxxx> Tested-by: Gabriel Feceoru <gabriel.feceoru@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447681332-6318-1-git-send-email-maarten.lankhorst@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 0b2aa5b80bbf4d0fb5daa1fb83ff637daa12d552 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Thu Nov 12 12:21:10 2015 -0800 arm64: Fix R/O permissions in mark_rodata_ro The permissions in mark_rodata_ro trigger a build error with STRICT_MM_TYPECHECKS. Fix this by introducing PAGE_KERNEL_ROX for the same reasons as PAGE_KERNEL_RO. From Ard: "PAGE_KERNEL_EXEC has PTE_WRITE set as well, making the range writeable under the ARMv8.1 DBM feature, that manages the dirty bit in hardware (writing to a page with the PTE_RDONLY and PTE_WRITE bits both set will clear the PTE_RDONLY bit in that case)" Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 08c6781cfaa196d4b257ec043c17e8746d9284e3 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Nov 16 13:12:48 2015 +0100 arm64: crypto: reduce priority of core AES cipher The asynchronous, merged implementations of AES in CBC, CTR and XTS modes are preferred when available (i.e., when instantiating ablkciphers explicitly). However, the synchronous core AES cipher combined with the generic CBC mode implementation will produce a 'cbc(aes)' blkcipher that is callable asynchronously as well. To prevent this implementation from being used when the accelerated asynchronous implemenation is also available, lower its priority to 250 (i.e., below the asynchronous module's priority of 300). Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 62a193edaf90df38356e292f47a17f28e0cee3f1 Author: Matt Gingell <gingell@xxxxxxxxxx> Date: Mon Nov 16 15:26:07 2015 -0800 KVM: x86: request interrupt window when IRQ chip is split Before this patch, we incorrectly enter the guest without requesting an interrupt window if the IRQ chip is split between user space and the kernel. Because lapic_in_kernel no longer implies the PIC is in the kernel, this patch tests pic_in_kernel to determining whether an interrupt window should be requested when entering the guest. If the APIC is in the kernel and we request an interrupt window the guest will return immediately. If the APIC is masked the guest will not not make forward progress and unmask it, leading to a loop when KVM reenters and requests again. This patch adds a check to ensure the APIC is ready to accept an interrupt before requesting a window. Reviewed-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Matt Gingell <gingell@xxxxxxxxxx> [Use the other newly introduced functions. - Paolo] Fixes: 1c1a9ce973a7863dd46767226bce2a5f12d48bc6 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 934bf65354227981df15bbc755d33f4ba3443ff2 Author: Matt Gingell <gingell@xxxxxxxxxx> Date: Mon Nov 16 15:26:05 2015 -0800 KVM: x86: set KVM_REQ_EVENT on local interrupt request from user space Set KVM_REQ_EVENT when a PIC in user space injects a local interrupt. Currently a request is only made when neither the PIC nor the APIC is in the kernel, which is not sufficient in the split IRQ chip case. This addresses a problem in QEMU where interrupts are delayed until another path invokes the event loop. Reviewed-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Matt Gingell <gingell@xxxxxxxxxx> Fixes: 1c1a9ce973a7863dd46767226bce2a5f12d48bc6 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 782d422bcaee4680c640fbc8ce8c45524fd11790 Author: Matt Gingell <gingell@xxxxxxxxxx> Date: Mon Nov 16 15:26:00 2015 -0800 KVM: x86: split kvm_vcpu_ready_for_interrupt_injection out of dm_request_for_irq_injection This patch breaks out a new function kvm_vcpu_ready_for_interrupt_injection. This routine encapsulates the logic required to determine whether a vcpu is ready to accept an interrupt injection, which is now required on multiple paths. Reviewed-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Matt Gingell <gingell@xxxxxxxxxx> Fixes: 1c1a9ce973a7863dd46767226bce2a5f12d48bc6 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 127a457acb2131fdb31c68c98cf11eda8ba7b380 Author: Matt Gingell <gingell@xxxxxxxxxx> Date: Tue Nov 17 17:32:05 2015 +0100 KVM: x86: fix interrupt window handling in split IRQ chip case This patch ensures that dm_request_for_irq_injection and post_kvm_run_save are in sync, avoiding that an endless ping-pong between userspace (who correctly notices that IF=0) and the kernel (who insists that userspace handles its request for the interrupt window). To synchronize them, it also adds checks for kvm_arch_interrupt_allowed and !kvm_event_needs_reinjection. These are always needed, not just for in-kernel LAPIC. Signed-off-by: Matt Gingell <gingell@xxxxxxxxxx> [A collage of two patches from Matt. - Paolo] Fixes: 1c1a9ce973a7863dd46767226bce2a5f12d48bc6 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 585bb8f9a5e592f2ce7abbe5ed3112d5438d2754 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Nov 11 14:21:20 2015 +0000 MIPS: KVM: Uninit VCPU in vcpu_create error path If either of the memory allocations in kvm_arch_vcpu_create() fail, the vcpu which has been allocated and kvm_vcpu_init'd doesn't get uninit'd in the error handling path. Add a call to kvm_vcpu_uninit() to fix this. Fixes: 669e846e6c4e ("KVM/MIPS32: MIPS arch specific APIs for KVM") Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 3.10.x- Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c5c2a3b998f1ff5a586f9d37e154070b8d550d17 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Nov 11 14:21:19 2015 +0000 MIPS: KVM: Fix CACHE immediate offset sign extension The immediate field of the CACHE instruction is signed, so ensure that it gets sign extended by casting it to an int16_t rather than just masking the low 16 bits. Fixes: e685c689f3a8 ("KVM/MIPS32: Privileged instruction/target branch emulation.") Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 3.10.x- Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 002374f371bd02df864cce1fe85d90dc5b292837 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Nov 11 14:21:18 2015 +0000 MIPS: KVM: Fix ASID restoration logic ASID restoration on guest resume should determine the guest execution mode based on the guest Status register rather than bit 30 of the guest PC. Fix the two places in locore.S that do this, loading the guest status from the cop0 area. Note, this assembly is specific to the trap & emulate implementation of KVM, so it doesn't need to check the supervisor bit as that mode is not implemented in the guest. Fixes: b680f70fc111 ("KVM/MIPS32: Entry point for trampolining to...") Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 3.10.x- Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 65da0a8e34a857f2ba9ccb91dc8f8f964cf938b7 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Nov 17 09:53:31 2015 +0100 arm64: use non-global mappings for UEFI runtime regions As pointed out by Russell King in response to the proposed ARM version of this code, the sequence to switch between the UEFI runtime mapping and current's actual userland mapping (and vice versa) is potentially unsafe, since it leaves a time window between the switch to the new page tables and the TLB flush where speculative accesses may hit on stale global TLB entries. So instead, use non-global mappings, and perform the switch via the ordinary ASID-aware context switch routines. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 0f94592efd36213c961145fe1ab0c3bc323ec053 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Nov 17 18:14:26 2015 +0200 drm/i915: Fix gpu frequency change tracing With gen < 9 we have had always 50Mhz units as our hw ratio. With gen >= 9 the hw ratio changed to 16.667Mhz (50/3). The result was that our gpu frequency tracing started to output values 3 times larger than expected due to hardcoded scaling value. Fix this by using Use intel_gpu_freq() when generating Mhz value from ratio for 'intel_gpu_freq_change' trace event. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92591 Cc: stable@xxxxxxxxxxxxxxx # v4.3+ Reported-by: Eero Tamminen <eero.t.tamminen@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447776866-29384-1-git-send-email-mika.kuoppala@xxxxxxxxx commit 6f51bc340d2a1c71a2409f80f3e60fe2c44e35ae Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Nov 12 08:43:34 2015 +0100 usb: chipidea: imx: fix a possible NULL dereference of_match_device could return NULL, and so cause a NULL pointer dereference later. Reported-by: coverity (CID 1324138) Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 090bc267ea1013bbb33778b343b4acd78b9c5d9b Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Nov 12 08:43:33 2015 +0100 usb: chipidea: usbmisc_imx: fix a possible NULL dereference of_match_device could return NULL, and so cause a NULL pointer dereference later. Renaming tmp_dev to of_id (like all others do) in the process. Reported-by: coverity (CID 1324135) Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 85da852df66e5e0d3aba761b0fece7c958ff0685 Author: Li Jun <B47624@xxxxxxxxxxxxx> Date: Fri Dec 12 09:11:42 2014 +0800 usb: chipidea: otg: gadget module load and unload support This patch is to support load and unload gadget driver in full OTG mode. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Tested-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v4.0+ commit 251b3c8b57481bcecd3f753108e36e7389ce12ac Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Tue Oct 13 18:23:31 2015 +0800 usb: chipidea: debug: disable usb irq while role switch Since the ci->role will be set after the host role start is complete, there will be nobody cared irq during start host if usb irq enabled. This error can be reproduced on i.mx6 sololite EVK board by: 1. disable otg id irq(IDIE) and disable all real otg properties of usbotg1 in dts. 2. boot up the board with ID cable and usb device connected. 3. echo gadget > /sys/kernel/debug/ci_hdrc.0/role 4. echo host > /sys/kernel/debug/ci_hdrc.0/role 5. irq 212: nobody cared. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit facf47ee6b4d07d43c3bfd6f0762f1b28f64703a Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Sep 16 09:35:06 2015 +0800 ARM: dts: imx27.dtsi: change the clock information for usb For imx27, it needs three clocks to let the controller work, the old code is wrong, and usbmisc has not included clock handling code any more. Without this patch, it will cause below data abort when accessing usbmisc registers. usbcore: registered new interface driver usb-storage Unhandled fault: external abort on non-linefetch (0x008) at 0xf4424600 pgd = c0004000 [f4424600] *pgd=10000452(bad) Internal error: : 8 [#1] PREEMPT ARM Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 4.1.0-next-20150701-dirty #3089 Hardware name: Freescale i.MX27 (Device Tree Support) task: c7832b60 ti: c783e000 task.ti: c783e000 PC is at usbmisc_imx27_init+0x4c/0xbc LR is at usbmisc_imx27_init+0x40/0xbc pc : [<c03cb5c0>] lr : [<c03cb5b4>] psr: 60000093 sp : c783fe08 ip : 00000000 fp : 00000000 r10: c0576434 r9 : 0000009c r8 : c7a773a0 r7 : 01000000 r6 : 60000013 r5 : c7a776f0 r4 : c7a773f0 r3 : f4424600 r2 : 00000000 r1 : 00000001 r0 : 00000001 Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 0005317f Table: a0004000 DAC: 00000017 Process swapper (pid: 1, stack limit = 0xc783e190) Stack: (0xc783fe08 to 0xc7840000) Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Reported-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v4.1+ Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit ae3e57ae26cdcc85728bb566f999bcb9a7cc6954 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Sep 16 09:40:51 2015 +0800 usb: chipidea: imx: refine clock operations to adapt for all platforms Some i.mx platforms need three clocks to let controller work, but others only need one, refine clock operation to adapt for all platforms, it fixes a regression found at i.mx27. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v4.1+ commit e15bf88a44d1fcb685754b2868b1cd28927af3aa Merge: 2a49f02 092b1f0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Nov 18 06:56:48 2015 +0100 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: - Do not change the key of an object in a rbtree, this time it was the one for DSOs lookup by its long_name, and the noticed symptom was with 'perf buildid-list --with-hits' (Adrian Hunter) - 'perf inject' is a pipe, events it doesn't touch should be passed on, PERF_RECORD_LOST wasn't, fix it (Adrian Hunter) - Make 'perf buildid-list' request event ordering, as it needs to first get the mmap events to be able to mark wich DSOs had hits (Adrian Hunter) - Fix memory leaks on failure in 'perf probe' (Masami Hiramatsu, Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1ef0623371e0a39a476fb05e575089cf48178f5c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Nov 17 13:29:49 2015 -0200 kernel-doc: Make it compatible with Perl versions below 5.12 again Changeset 4d73270192ec('scripts/kernel-doc: Replacing highlights hash by an array') broke compatibility of the kernel-doc script with older versions of perl by using "keys ARRAY" syntax with is available only on Perl 5.12 or newer, according with: http://perldoc.perl.org/functions/keys.html Restore backward compatibility by replacing "foreach my $k (keys ARRAY)" by a C-like variant: "for (my $k = 0; $k < !ARRAY; $k++)" Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit aa05cfa95f686be5d1485094402ebc7b03729e0e Merge: 8005c49 d134c48 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 14:47:58 2015 -0800 Merge tag 'fixes-for-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus Felipe writes: usb: fixes for v4.4-rc2 First round of fixes for this -rc cycle. We have the usual set of miscellaneous fixes. The important thing here is support for Intel Broxton SoC on dwc3, some fixes for Rockchip SoCs on dwc2 and a fix on dwc3 to let it report lower speeds than USB_SPEED_SUPER. commit 7f151f1d8abb7d5930b49d4796b463dca1673cb7 Merge: a18ab2f e7523a4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 13:52:59 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix list tests in netfilter ingress support, from Florian Westphal. 2) Fix reversal of input and output interfaces in ingress hook invocation, from Pablo Neira Ayuso. 3) We have a use after free in r8169, caught by Dave Jones, fixed by Francois Romieu. 4) Splice use-after-free fix in AF_UNIX frmo Hannes Frederic Sowa. 5) Three ipv6 route handling bug fixes from Martin KaFai Lau: a) Don't create clone routes not managed by the fib6 tree b) Don't forget to check expiration of DST_NOCACHE routes. c) Handle rt->dst.from == NULL properly. 6) Several AF_PACKET fixes wrt transport header setting and SKB protocol setting, from Daniel Borkmann. 7) Fix thunder driver crash on shutdown, from Pavel Fedin. 8) Several Mellanox driver fixes (max MTU calculations, use of correct DMA unmap in TX path, etc.) from Saeed Mahameed, Tariq Toukan, Doron Tsur, Achiad Shochat, Eran Ben Elisha, and Noa Osherovich. 9) Several mv88e6060 DSA driver fixes (wrong bit definitions for certain registers, etc.) from Neil Armstrong. 10) Make sure to disable preemption while updating per-cpu stats of ip tunnels, from Jason A. Donenfeld. 11) Various ARM64 bpf JIT fixes, from Yang Shi. 12) Flush icache properly in ARM JITs, from Daniel Borkmann. 13) Fix masking of RX and TX interrupts in ravb driver, from Masaru Nagai. 14) Fix netdev feature propagation for devices not implementing ->ndo_set_features(). From Nikolay Aleksandrov. 15) Big endian fix in vmxnet3 driver, from Shrikrishna Khare. 16) RAW socket code increments incorrect SNMP counters, fix from Ben Cartwright-Cox. 17) IPv6 multicast SNMP counters are bumped twice, fix from Neil Horman. 18) Fix handling of VLAN headers on stacked devices when REORDER is disabled. From Vlad Yasevich. 19) Fix SKB leaks and use-after-free in ipvlan and macvlan drivers, from Sabrina Dubroca. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (83 commits) MAINTAINERS: Update Mellanox's Eth NIC driver entries net/core: revert "net: fix __netdev_update_features return.." and add comment af_unix: take receive queue lock while appending new skb rtnetlink: fix frame size warning in rtnl_fill_ifinfo net: use skb_clone to avoid alloc_pages failure. packet: Use PAGE_ALIGNED macro packet: Don't check frames_per_block against negative values net: phy: Use interrupts when available in NOLINK state phy: marvell: Add support for 88E1540 PHY arm64: bpf: make BPF prologue and epilogue align with ARM64 AAPCS macvlan: fix leak in macvlan_handle_frame ipvlan: fix use after free of skb ipvlan: fix leak in ipvlan_rcv_frame vlan: Do not put vlan headers back on bridge and macvlan ports vlan: Fix untag operations of stacked vlans with REORDER_HEADER off via-velocity: unconditionally drop frames with bad l2 length ipg: Remove ipg driver dl2k: Add support for IP1000A-based cards snmp: Remove duplicate OUTMCAST stat increment net: thunder: Check for driver data in nicvf_remove() ... commit bf893acc1675516fabf238a5ee3b52859c5687dc Author: Eric Anholt <eric@xxxxxxxxxx> Date: Fri Oct 23 10:36:27 2015 +0100 drm/vc4: Make sure that planes aren't scaled. We would scan out the memory around them if an upscale was attempted, and would just scan out incorrectly for downscaling. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 36f4f69a092d766581f2442ddffea051e1ef464e Author: Eric Anholt <eric@xxxxxxxxxx> Date: Fri Oct 23 10:24:11 2015 +0100 drm/vc4: Fix some failure to track __iomem decorations on pointers. Caught by the kbuild test robot. v2: Fix the +i I dropped in the first version. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 79513237da7ecc0981e7d962a784625b32cabfdc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:21:40 2015 +0300 drm/vc4: checking for NULL instead of IS_ERR vc4_plane_init() returns an ERR_PTR on error, it doesn't return NULL. This was obviously intended because the next lines call PTR_ERR(primary_plane) already. Fixes: c8b75bca92cb ('Eric Anholt <eric@xxxxxxxxxx>') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 2fa8e90433cdc2d9f09883f45fd2942dc042d6a6 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Fri Oct 23 07:38:00 2015 +0200 drm/vc4: fix itnull.cocci warnings Connector cannot be null because it is a list entry, ie accessed at an offset from the positions of the list structure pointers themselves. Generated by: scripts/coccinelle/iterators/itnull.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit e2ab3218f46bce3380189ba4ac2a8cbdb2ae6272 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Fri Oct 23 07:39:45 2015 +0200 drm/vc4: fix platform_no_drv_owner.cocci warnings drivers/gpu/drm/vc4/vc4_drv.c:248: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: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 91276ae2ea7d588cb70ed54fb0b00b732aa7ea04 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Oct 22 11:12:26 2015 +0800 drm/vc4: vc4_plane_duplicate_state() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit e7523a497d48a9921983a80670f7a02dc4639d41 Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Tue Nov 17 18:25:07 2015 +0200 MAINTAINERS: Update Mellanox's Eth NIC driver entries Eugenia (Jenny) Emantayev is replacing Amir Vadai as the mlx4 Ethernet driver maintainer. Saeed Mahameed is assigned to maintain mlx5 Eth functionality. Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17b85d29e82cc3c874a497a8bc5764d6a2b043e2 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 15:49:06 2015 +0100 net/core: revert "net: fix __netdev_update_features return.." and add comment This reverts commit 00ee59271777 ("net: fix __netdev_update_features return on ndo_set_features failure") and adds a comment explaining why it's okay to return a value other than 0 upon error. Some drivers might actually change flags and return an error so it's better to fire a spurious notification rather than miss these. CC: MichaÅ? MirosÅ?aw <mirq-linux@xxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3a116e04cc6a94d595ead4e956ab1bc1d2f4746 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 15:10:59 2015 +0100 af_unix: take receive queue lock while appending new skb While possibly in future we don't necessarily need to use sk_buff_head.lock this is a rather larger change, as it affects the af_unix fd garbage collector, diag and socket cleanups. This is too much for a stable patch. For the time being grab sk_buff_head.lock without disabling bh and irqs, so don't use locked skb_queue_tail. Fixes: 869e7c62486e ("net: af_unix: implement stream sendpage support") Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b22b941b2c253a20e1d000c671594c4f3f0a3858 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 14:16:52 2015 +0100 rtnetlink: fix frame size warning in rtnl_fill_ifinfo Fix the following warning: CC net/core/rtnetlink.o net/core/rtnetlink.c: In function â??rtnl_fill_ifinfoâ??: net/core/rtnetlink.c:1308:1: warning: the frame size of 2864 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ by splitting up the huge rtnl_fill_ifinfo into some smaller ones, so we don't have the huge frame allocations at the same time. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19125c1a4fd873421698876f34a06dbe18d25f17 Author: Martin Zhang <martinbj2008@xxxxxxxxx> Date: Tue Nov 17 20:49:30 2015 +0800 net: use skb_clone to avoid alloc_pages failure. 1. new skb only need dst and ip address(v4 or v6). 2. skb_copy may need high order pages, which is very rare on long running server. Signed-off-by: Junwei Zhang <linggao.zjw@xxxxxxxxxxxxxxx> Signed-off-by: Martin Zhang <martinbj2008@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90836b67e2171f48be696bdd3c4006d1e6f031fc Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Nov 17 10:40:21 2015 +0100 packet: Use PAGE_ALIGNED macro Use PAGE_ALIGNED(...) instead of open-coding it. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4194b4914a824c21bcad9305d6180825f4dc1f5e Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Nov 17 10:38:36 2015 +0100 packet: Don't check frames_per_block against negative values rb->frames_per_block is an unsigned int, thus can never be negative. Also fix spacing in the calculation of frames_per_block. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 321beec5047af83db90c88114b7e664b156f49fe Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Nov 16 23:36:46 2015 +0100 net: phy: Use interrupts when available in NOLINK state The NOLINK state will poll the phy once a second to see if the link has come up. If the phy has an interrupt line, this polling can be skipped, since the phy should interrupt when the link returns. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 819ec8e1f349f73bdf65bf33a364538e59007a9a Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Nov 16 23:34:41 2015 +0100 phy: marvell: Add support for 88E1540 PHY The 88E1540 can be found embedded in the Marvell 88E6352 switch. It is compatible with the 88E1510, so add support for it, using the 88E1510 specific functions. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec0738db8d7a9bd6653d9f9d81b201a519144d63 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Mon Nov 16 14:35:35 2015 -0800 arm64: bpf: make BPF prologue and epilogue align with ARM64 AAPCS Save and restore FP/LR in BPF prog prologue and epilogue, save SP to FP in prologue in order to get the correct stack backtrace. However, ARM64 JIT used FP (x29) as eBPF fp register, FP is subjected to change during function call so it may cause the BPF prog stack base address change too. Use x25 to replace FP as BPF stack base register (fp). Since x25 is callee saved register, so it will keep intact during function call. It is initialized in BPF prog prologue when BPF prog is started to run everytime. Save and restore x25/x26 in BPF prologue and epilogue to keep them intact for the outside of BPF. Actually, x26 is unnecessary, but SP requires 16 bytes alignment. So, the BPF stack layout looks like: high original A64_SP => 0:+-----+ BPF prologue |FP/LR| current A64_FP => -16:+-----+ | ... | callee saved registers +-----+ | | x25/x26 BPF fp register => -80:+-----+ | | | ... | BPF prog stack | | | | current A64_SP => +-----+ | | | ... | Function call stack | | +-----+ low CC: Zi Shen Lim <zlim.lnx@xxxxxxxxx> CC: Xi Wang <xi.wang@xxxxxxxxx> Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e639b8d8a7a728f0b05ef2df6cb6b45dc3d4e556 Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Mon Nov 16 22:54:20 2015 +0100 macvlan: fix leak in macvlan_handle_frame Reset pskb in macvlan_handle_frame in case skb_share_check returned a clone. Fixes: 8a4eb5734e8d ("net: introduce rx_handler results and logic around that") Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a534dc529853c69e94994aa47c1d80a03ce2c11d Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Mon Nov 16 22:44:53 2015 +0100 ipvlan: fix use after free of skb ipvlan_handle_frame is a rx_handler, and when it returns a value other than RX_HANDLER_CONSUMED (here, NET_RX_DROP aka RX_HANDLER_ANOTHER), __netif_receive_skb_core expects that the skb still exists and will process it further, but we just freed it. Fixes: 2ad7bf363841 ("ipvlan: Initial check-in of the IPVLAN driver.") Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf554ada0be7077906aa9a17faf151ff66e3cb8e Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Mon Nov 16 22:34:26 2015 +0100 ipvlan: fix leak in ipvlan_rcv_frame Pass a **skb to ipvlan_rcv_frame so that if skb_share_check returns a new skb, we actually use it during further processing. It's safe to ignore the new skb in the ipvlan_xmit_* functions, because they call ipvlan_rcv_frame with local == true, so that dev_forward_skb is called and always takes ownership of the skb. Fixes: 2ad7bf363841 ("ipvlan: Initial check-in of the IPVLAN driver.") Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb3f8b42aaba19325eff7e99842ca36429a0a3b8 Merge: 6c606fa 28f9ee2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Nov 17 14:38:36 2015 -0500 Merge branch 'vlan-reorder' Vladislav Yasevich says: ==================== Fix issues with vlans without REORDER_HEADER A while ago Phil Sutter brought up an issue with vlans without REORDER_HEADER and bridges. The problem was that if a vlan without REORDER_HEADER was a port in the bridge, the bridge ended up forwarding corrupted packets that still contained the vlan header. The same issue exists for bridge mode macvlan/macvtap devices. An additional issue with vlans without REORDER_HEADER is that stacking them also doesn't work. The reason here is that skb_reorder_vlan_header() function assumes that it on ETH_HLEN bytes deep into the packet. That is not the case, when you a vlan without REORRDER_HEADER flag set. This series attempts to correct these 2 issues. 1) To solve the stacked vlans problem, the patch simply use skb->mac_len as an offset to start copying mac addresses that is part of header reordering. 2) To fix the issue with bridge/macvlan/macvtap, the second patch simply doesn't write the vlan header back to the packet if the vlan device is either a bridge or a macvlan port. This ends up being the simplest and least performance intrussive solution. I've considered extending patch 2 to all stacked devices (essentially checked for the presense of rx_handler), but that feels like a broader restriction and _may_ break existing uses. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28f9ee22bcdd84726dbf6267d0b58f254166b900 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Mon Nov 16 15:43:45 2015 -0500 vlan: Do not put vlan headers back on bridge and macvlan ports When a vlan is configured with REORDER_HEADER set to 0, the vlan header is put back into the packet and makes it appear that the vlan header is still there even after it's been processed. This posses a problem for bridge and macvlan ports. The packets passed to those device may be forwarded and at the time of the forward, vlan headers end up being unexpectedly present. With the patch, we make sure that we do not put the vlan header back (when REORDER_HEADER is 0) if a bridge or macvlan has been configured on top of the vlan device. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6e18ff111701b4ff6947605bfbe9594ec42a6e8 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Mon Nov 16 15:43:44 2015 -0500 vlan: Fix untag operations of stacked vlans with REORDER_HEADER off When we have multiple stacked vlan devices all of which have turned off REORDER_HEADER flag, the untag operation does not locate the ethernet addresses correctly for nested vlans. The reason is that in case of REORDER_HEADER flag being off, the outer vlan headers are put back and the mac_len is adjusted to account for the presense of the header. Then, the subsequent untag operation, for the next level vlan, always use VLAN_ETH_HLEN to locate the begining of the ethernet header and that ends up being a multiple of 4 bytes short of the actuall beginning of the mac header (the multiple depending on the how many vlan encapsulations ethere are). As a reslult, if there are multiple levles of vlan devices with REODER_HEADER being off, the recevied packets end up being dropped. To solve this, we use skb->mac_len as the offset. The value is always set on receive path and starts out as a ETH_HLEN. The value is also updated when the vlan header manupations occur so we know it will be correct. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c606fa32c4272894248c1abbc15257fc04250be Author: Timo Teräs <timo.teras@xxxxxx> Date: Mon Nov 16 14:36:32 2015 +0200 via-velocity: unconditionally drop frames with bad l2 length By default the driver allowed incorrect frames to be received. What is worse the code does not handle very short frames correctly. The FCS length is unconditionally subtracted, and the underflow can cause skb_put to be called with large number after implicit cast to unsigned. And indeed, an skb_over_panic() was observed with via-velocity. This removes the module parameter as it does not work in it's current state, and should be implemented via NETIF_F_RXALL if needed. Suggested-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Signed-off-by: Timo Teräs <timo.teras@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43e43c9ea60a7a1831ec823773e924d2dadefd44 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Tue Nov 17 09:36:56 2015 +0000 dm mpath: fix infinite recursion in ioctl when no paths and !queue_if_no_path In multipath_prepare_ioctl(), - pgpath is a path selected from available paths - m->queue_io is true if we cannot send a request immediately to paths, either because: * there is no available path * the path group needs activation (pg_init) - pg_init is not started - pg_init is still running - m->queue_if_no_path is true if the device is configured to queue I/O if there are no available paths If !pgpath && !m->queue_if_no_path, the handler should return -EIO. However in the course of refactoring the condition check has broken and returns success in that case. Since bdev points to the dm device itself, dm_blk_ioctl() calls __blk_dev_driver_ioctl() for itself and recurses until crash. You could reproduce the problem like this: # dmsetup create mp --table '0 1024 multipath 0 0 0 0' # sg_inq /dev/mapper/mp <crash> [ 172.648615] BUG: unable to handle kernel paging request at fffffffc81b10268 [ 172.662843] PGD 19dd067 PUD 0 [ 172.666269] Thread overran stack, or stack corrupted [ 172.671808] Oops: 0000 [#1] SMP ... Fix the condition check with some clarifications. Fixes: e56f81e0b01e ("dm: refactor ioctl handling") Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 647a20d5cad7477033bc021ec9dd75edf4bbf9a0 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Nov 17 14:11:34 2015 -0500 dm: do not reuse dm_blk_ioctl block_device input as local variable (Ab)using the @bdev passed to dm_blk_ioctl() opens the potential for targets' .prepare_ioctl to fail if they go on to check the bdev for !NULL. Fixes: e56f81e0b01e ("dm: refactor ioctl handling") Reported-by: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 5bbbfdf685657771fda05b926b28ca0f79163a28 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Tue Nov 17 09:39:26 2015 +0000 dm: fix ioctl retry termination with signal dm-mpath retries ioctl, when no path is readily available and the device is configured to queue I/O in such a case. If you want to stop the retry before multipathd decides to turn off queueing mode, you could send signal for the process to exit from the loop. However the check of fatal signal has not carried along when commit 6c182cd88d17 ("dm mpath: fix ioctl deadlock when no paths") moved the loop from dm-mpath to dm core. As a result, we can't terminate such a process in the retry loop. Easy reproducer of the situation is: # dmsetup create mp --table '0 1024 multipath 0 0 0 0' # dmsetup message mp 0 'queue_if_no_path' # sg_inq /dev/mapper/mp then you should be able to terminate sg_inq by pressing Ctrl+C. Fixes: 6c182cd88d17 ("dm mpath: fix ioctl deadlock when no paths") Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit a18ab2f6cb79eeccedea61b8c7bf71d24e087d42 Merge: 864f83a e62d6e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 10:11:08 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs fixes from Al Viro: "A fs-cache regression fix, and adding a warning about obnoxiou^W moderation of list given in MAINTAINERS" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: MAINTAINERS: linux-cachefs@xxxxxxxxxx is moderated for non-subscribers FS-Cache: Add missing initialization of ret in cachefiles_write_page() commit 864f83a1f65bc8614705fc7c053969bb09939215 Merge: 8005c49 176155d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 09:40:05 2015 -0800 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fix from Herbert Xu: "This fixes a bug in the qat driver where a user-space pointer is dereferenced" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: qat - don't use userspace pointer commit d134c48d889ddceadf4c990e6f3df16b816ed5d4 Author: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Date: Mon Nov 16 19:22:08 2015 +0100 usb: gadget: atmel_usba_udc: Expose correct device speed Following changes that appeared in lk 4.0.0, the gadget udc driver for some ARM based Atmel SoCs (e.g. at91sam9x5 and sama5d3 families) incorrectly deduced full-speed USB link speed even when the hardware had negotiated a high-speed link. The fix is to make sure that the UDPHS Interrupt Enable Register value does not mask the SPEED bit in the Interrupt Status Register. For a mass storage gadget this problem lead to failures when the host had a USB 3 port with the xhci_hcd driver. If the host was a USB 2 port using the ehci_hcd driver then the mass storage gadget worked (but probably at a lower speed than it should have). Signed-off-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #4.0+ Fixes: 9870d895ad87 ("usb: atmel_usba_udc: Mask status with enabled irqs") Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 51676c8d6daac6dd11f768cb26db8d5b572f65b4 Author: Bin Liu <b-liu@xxxxxx> Date: Fri Nov 13 15:45:24 2015 -0600 usb: musb: enable usb_dma parameter Change the permission of usb_dma parameter so it can be used for runtime debug without reboot. Signed-off-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 89d99aea94a5bf8eae530cd77df40904d382946c Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Nov 12 08:45:52 2015 +0100 usb: phy: phy-mxs-usb: fix a possible NULL dereference of_match_device could return NULL, and so cause a NULL pointer dereference later. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9e51b2b1fda19143f48d182ed7a2943f21e1ae4 Author: Ben McCauley <ben.mccauley@xxxxxxxxxx> Date: Mon Nov 16 10:47:24 2015 -0600 usb: dwc3: gadget: let us set lower max_speed In some SoCs, dwc3 is implemented as a USB2.0 only core, meaning that it can't ever achieve SuperSpeed. Currect driver always sets gadget.max_speed to USB_SPEED_SUPER unconditionally. This can causes issues to some Host stacks where the host will issue a GetBOS() request and we will reply with a BOS containing Superspeed Capability Descriptor. At least Windows seems to be upset by this fact and prints a warning that we should connect $this device to another port. [ balbi@xxxxxx : rewrote entire commit, including source code comment to make a lot clearer what the problem is ] Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Ben McCauley <ben.mccauley@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 68fe05e2a45181ce02ab2698930b37f20487bd24 Author: Bin Liu <b-liu@xxxxxx> Date: Fri Nov 6 12:08:56 2015 -0600 usb: musb: fix tx fifo flush handling Here are a few changes in musb_h_tx_flush_fifo(). - It has been observed that sometimes (if not always) musb is unable to flush tx fifo during urb dequeue when disconnect a device. But it seems to be harmless, since the tx fifo flush is done again in musb_ep_program() when re-use the hw_ep. But the WARN() floods the console in the case when multiple tx urbs are queued, so change it to dev_WARN_ONCE(). - applications could queue up many tx urbs, then the 1ms delay could causes minutes of delay in device disconnect. So remove it to get better user experience. The 1ms delay does not help the flushing anyway. - cleanup the debug code - related to lastcsr. ---- Note: The tx fifo flush issue has been observed during device disconnect on AM335x. To reproduce the issue, ensure tx urb(s) are queued when unplug the usb device which is connected to AM335x usb host port. I found using a usb-ethernet device and running iperf (client on AM335x) has very high chance to trigger the problem. Better to turn on dev_dbg() in musb_cleanup_urb() with CPPI enabled to see the issue when aborting the tx channel. Signed-off-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5e216d54b4862611c663e1e3e8ca1db1930ef948 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Nov 3 15:57:38 2015 +0800 usb: gadget: f_loopback: fix the warning during the enumeration The current code tries to allocate memory with GFP_KERNEL at interrupt context, it would show below warning during the enumeration when I test it with chipidea hardware, change GFP flag as GFP_ATOMIC can fix this issue. [ 40.438237] zero gadget: high-speed config #2: loopback [ 40.444924] ------------[ cut here ]------------ [ 40.449609] WARNING: CPU: 0 PID: 0 at kernel/locking/lockdep.c:2755 lockdep_trace_alloc+0x108/0x128() [ 40.461715] DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags)) [ 40.467130] Modules linked in: [ 40.470216] usb_f_ss_lb g_zero libcomposite evbug [ 40.473822] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.3.0-rc5-00168-gb730aaf #604 [ 40.481496] Hardware name: Freescale i.MX6 SoloX (Device Tree) [ 40.487345] Backtrace: [ 40.489857] [<80014e94>] (dump_backtrace) from [<80015088>] (show_stack+0x18/0x1c) [ 40.497445] r6:80b67a80 r5:00000000 r4:00000000 r3:00000000 [ 40.503234] [<80015070>] (show_stack) from [<802e27b4>] (dump_stack+0x8c/0xa4) [ 40.510503] [<802e2728>] (dump_stack) from [<8002cfe8>] (warn_slowpath_common+0x80/0xbc) [ 40.518612] r6:8007510c r5:00000009 r4:80b49c88 r3:00000001 [ 40.524396] [<8002cf68>] (warn_slowpath_common) from [<8002d05c>] (warn_slowpath_fmt+0x38/0x40) [ 40.533109] r8:bcfdef80 r7:bdb705cc r6:000080d0 r5:be001e80 r4:809cc278 [ 40.539965] [<8002d028>] (warn_slowpath_fmt) from [<8007510c>] (lockdep_trace_alloc+0x108/0x128) [ 40.548766] r3:809d0128 r2:809cc278 [ 40.552401] r4:600b0193 [ 40.554990] [<80075004>] (lockdep_trace_alloc) from [<801093d4>] (kmem_cache_alloc+0x28/0x15c) [ 40.563618] r4:000080d0 r3:80b4aa8c [ 40.567270] [<801093ac>] (kmem_cache_alloc) from [<804d95e4>] (ep_alloc_request+0x58/0x68) [ 40.575550] r10:7f01f104 r9:00000001 r8:bcfdef80 r7:bdb705cc r6:bc178700 r5:00000000 [ 40.583512] r4:bcfdef80 r3:813c0a38 [ 40.587183] [<804d958c>] (ep_alloc_request) from [<7f01f7ec>] (loopback_set_alt+0x114/0x21c [usb_f_ss_lb]) [ 40.596929] [<7f01f6d8>] (loopback_set_alt [usb_f_ss_lb]) from [<7f006910>] (composite_setup+0xbd0/0x17e8 [libcomposite]) [ 40.607902] r10:bd3a2c0c r9:00000000 r8:bcfdef80 r7:bc178700 r6:bdb702d0 r5:bcfdefdc [ 40.615866] r4:7f0199b4 r3:00000002 [ 40.619542] [<7f005d40>] (composite_setup [libcomposite]) from [<804dae88>] (udc_irq+0x784/0xd1c) [ 40.628431] r10:80bb5619 r9:c0876140 r8:00012001 r7:bdb71010 r6:bdb70568 r5:00010001 [ 40.636392] r4:bdb70014 [ 40.638985] [<804da704>] (udc_irq) from [<804d64f8>] (ci_irq+0x5c/0x118) [ 40.645702] r10:80bb5619 r9:be11e000 r8:00000117 r7:00000000 r6:bdb71010 r5:be11e060 [ 40.653666] r4:bdb70010 [ 40.656261] [<804d649c>] (ci_irq) from [<8007f638>] (handle_irq_event_percpu+0x7c/0x13c) [ 40.664367] r6:00000000 r5:be11e060 r4:bdb05cc0 r3:804d649c [ 40.670149] [<8007f5bc>] (handle_irq_event_percpu) from [<8007f740>] (handle_irq_event+0x48/0x6c) [ 40.679036] r10:00000000 r9:be008000 r8:00000001 r7:00000000 r6:bdb05cc0 r5:be11e060 [ 40.686998] r4:be11e000 [ 40.689581] [<8007f6f8>] (handle_irq_event) from [<80082850>] (handle_fasteoi_irq+0xd4/0x1b0) [ 40.698120] r6:80b56a30 r5:be11e060 r4:be11e000 r3:00000000 [ 40.703898] [<8008277c>] (handle_fasteoi_irq) from [<8007ec04>] (generic_handle_irq+0x28/0x3c) [ 40.712524] r7:00000000 r6:80b4aaf4 r5:00000117 r4:80b445fc [ 40.718304] [<8007ebdc>] (generic_handle_irq) from [<8007ef20>] (__handle_domain_irq+0x6c/0xe8) [ 40.727033] [<8007eeb4>] (__handle_domain_irq) from [<800095d4>] (gic_handle_irq+0x48/0x94) [ 40.735402] r9:c080f100 r8:80b4ac6c r7:c080e100 r6:80b67d40 r5:80b49f00 r4:c080e10c [ 40.743290] [<8000958c>] (gic_handle_irq) from [<80015d38>] (__irq_svc+0x58/0x78) [ 40.750791] Exception stack(0x80b49f00 to 0x80b49f48) [ 40.755873] 9f00: 00000001 00000001 00000000 80024320 80b48000 80b4a9d0 80b4a984 80b433e4 [ 40.764078] 9f20: 00000001 807f4680 00000000 80b49f5c 80b49f20 80b49f50 80071ca4 800113fc [ 40.772272] 9f40: 200b0013 ffffffff [ 40.775776] r9:807f4680 r8:00000001 r7:80b49f34 r6:ffffffff r5:200b0013 r4:800113fc [ 40.783677] [<800113d4>] (arch_cpu_idle) from [<8006c5bc>] (default_idle_call+0x28/0x38) [ 40.791798] [<8006c594>] (default_idle_call) from [<8006c6dc>] (cpu_startup_entry+0x110/0x1b0) [ 40.800445] [<8006c5cc>] (cpu_startup_entry) from [<807e95dc>] (rest_init+0x12c/0x168) [ 40.808376] r7:80b4a8c0 r3:807f4b7c [ 40.812030] [<807e94b0>] (rest_init) from [<80ad7cc0>] (start_kernel+0x360/0x3d4) [ 40.819528] r5:80bcb000 r4:80bcb050 [ 40.823171] [<80ad7960>] (start_kernel) from [<8000807c>] (0x8000807c) It fixes commit 91c42b0da8e3 ("usb: gadget: loopback: Fix looping back logic implementation"). Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Reviewed-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1fb7f12d5bec1b0a699c85d724bd5184a01fa2dd Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Thu Oct 22 13:05:03 2015 -0700 usb: dwc2: host: Fix remote wakeup when not in DWC2_L2 In commit 734643dfbdde ("usb: dwc2: host: add flag to reflect bus state") we changed dwc2_port_suspend() not to set the lx_state anymore (instead it sets the new bus_suspended variable). This introduced a bug where we would fail to detect device insertions if: 1. Plug empty hub into dwc2 2. Plug USB flash drive into the empty hub. 3. Wait a few seconds 4. Unplug USB flash drive 5. Less than 2 seconds after step 4, plug the USB flash drive in again. The dwc2_hcd_rem_wakeup() function should have been changed to look at the new bus_suspended variable. Let's fix it. Since commit b46146d59fda ("usb: dwc2: host: resume root hub on remote wakeup") talks about needing the root hub resumed if the bus was suspended, we'll include it in our test. It appears that the "port_l1_change" should only be set to 1 if we were in DWC2_L1 (the driver currently never sets this), so we'll update the former "else" case based on this test. Fixes: 734643dfbdde ("usb: dwc2: host: add flag to reflect bus state") Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Tested-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f16593034a30bcbef8f63c37d0f2b9e1a0902c2d Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Tue Oct 20 16:33:53 2015 -0700 usb: dwc2: host: Fix ahbcfg for rk3066 The comment for ahbcfg for rk3066 parameters (also used for rk3288) claimed that ahbcfg was INCR16, but it wasn't. Since the bits weren't shifted properly, the 0x7 ended up being masked and we ended up programming 0x3 for the HBstLen. Let's set it to INCR16 properly. As per Wu Liang Feng at Rockchip this may increase transmission efficiency. I did blackbox tests with writing 0s to a USB-based SD reader (forcefully capping CPU Freq to try to measure efficiency): cd /sys/devices/system/cpu/cpu0/cpufreq echo userspace > scaling_governor echo 126000 > scaling_setspeed for i in $(seq 10); do dd if=/dev/zero of=/dev/sdb bs=1M count=750 done With the above tests I found that speeds went from ~15MB/s to ~18MB/s. Note that most other tests I did (including reading from the same USB reader) didn't show any difference in performance. Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Reviewed-by: Liangfeng Wu <wulf@xxxxxxxxxxxxxx> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit de818bd4522c40ea02a81b387d2fa86f989c9623 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Nov 17 11:50:51 2015 +0000 arm64: kernel: pause/unpause function graph tracer in cpu_suspend() The function graph tracer adds instrumentation that is required to trace both entry and exit of a function. In particular the function graph tracer updates the "return address" of a function in order to insert a trace callback on function exit. Kernel power management functions like cpu_suspend() are called upon power down entry with functions called "finishers" that are in turn called to trigger the power down sequence but they may not return to the kernel through the normal return path. When the core resumes from low-power it returns to the cpu_suspend() function through the cpu_resume path, which leaves the trace stack frame set-up by the function tracer in an incosistent state upon return to the kernel when tracing is enabled. This patch fixes the issue by pausing/resuming the function graph tracer on the thread executing cpu_suspend() (ie the function call that subsequently triggers the "suspend finishers"), so that the function graph tracer state is kept consistent across functions that enter power down states and never return by effectively disabling graph tracer while they are executing. Fixes: 819e50e25d0c ("arm64: Add ftrace support") Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.16+ Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 76dc3769d7c3cdcfa7c4c7768a7cb87cd91af12f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Nov 11 19:11:28 2015 +0200 drm/i915: Don't clobber the addfb2 ioctl params We try to convert the old way of of specifying fb tiling (obj->tiling) into the new fb modifiers. We store the result in the passed in mode_cmd structure. But that structure comes directly from the addfb2 ioctl, and gets copied back out to userspace, which means we're clobbering the modifiers that the user provided (all 0 since the DRM_MODE_FB_MODIFIERS flag wasn't even set by the user). Hence if the user reuses the struct for another addfb2, the ioctl will be rejected since it's now asking for some modifiers w/o the flag set. Fix the problem by making a copy of the user provided structure. We can play any games we want with the copy. IGT-Version: 1.12-git (x86_64) (Linux: 4.4.0-rc1-stereo+ x86_64) ... Subtest basic-X-tiled: SUCCESS (0.001s) Test assertion failure function pitch_tests, file kms_addfb_basic.c:167: Failed assertion: drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0 Last errno: 22, Invalid argument Stack trace: #0 [__igt_fail_assert+0x101] #1 [pitch_tests+0x619] #2 [__real_main426+0x2f] #3 [main+0x23] #4 [__libc_start_main+0xf0] #5 [_start+0x29] #6 [<unknown>+0x29] Subtest framebuffer-vs-set-tiling failed. **** DEBUG **** Test assertion failure function pitch_tests, file kms_addfb_basic.c:167: Failed assertion: drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0 Last errno: 22, Invalid argument **** END **** Subtest framebuffer-vs-set-tiling: FAIL (0.003s) ... IGT-Version: 1.12-git (x86_64) (Linux: 4.4.0-rc1-stereo+ x86_64) Subtest framebuffer-vs-set-tiling: SUCCESS (0.000s) Cc: stable@xxxxxxxxxxxxxxx # v4.1+ Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Fixes: 2a80eada326f ("drm/i915: Add fb format modifier support") Testcase: igt/kms_addfb_basic/clobbered-modifier Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447261890-3960-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx commit 83926117273cd6d9ffa1b5ff0cc566ad38648b70 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Nov 16 17:02:34 2015 +0200 drm: Fix primary plane size for stereo doubled modes for legacy setcrtc Properly double the hdisplay/vdisplay timings that we use as the primary plane size with stereo doubled modes. Otherwise the modeset gets rejected on machines where the primary plane must be fullscreen, and on the rest only the first eye would get a visible plane. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx #v3.19+ Fixes: 042652ed9599 ("drm/atomic-helper: implementatations for legacy interfaces") Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447686157-29607-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Testcase: igt/kms_3d Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ba8af3e592f7175b5f9a92d2cfcc00b82097d1be Author: Maarten Lankhorst <maarten@xxxxxxxxxxxxxx> Date: Mon Nov 16 12:49:14 2015 +0100 drm/i915: Clear intel_crtc->atomic before updating it. If an atomic update fails intel_crtc->atomic may have have some values left from the last atomic check. One example is atomic->wait_for_vblank, which results in spurious errors in kms_flip. [ 1551.892708] ------------[ cut here ]------------ [ 1551.892721] WARNING: CPU: 3 PID: 4179 at ../drivers/gpu/drm/drm_irq.c:1199 drm_wait_one_vblank+0x197/0x1a0 [drm]() [ 1551.892722] vblank not available on crtc 2, ret=-22 [ 1551.892751] Modules linked in: snd_hda_intel i915 drm_kms_helper drm intel_gtt i2c_algo_bit cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea agpgart cfg80211 binfmt_misc snd_hda_codec_hdmi intel_rapl iosf_mbi x86_pkg_temp_thermal coretemp kvm_intel snd_hda_codec_realtek kvm snd_hda_codec_generic iTCO_wdt aesni_intel aes_x86_64 glue_helper lrw snd_hda_codec gf128mul ablk_helper cryptd snd_hwdep psmouse snd_hda_core pcspkr snd_pcm snd_timer snd lpc_ich i2c_i801 mfd_core soundcore wmi evdev [last unloaded: drm] [ 1551.892753] CPU: 3 PID: 4179 Comm: kms_pipe_crc_ba Tainted: G U W 4.3.0-reg+ #6 [ 1551.892754] Hardware name: /DZ77BH-55K, BIOS BHZ7710H.86A.0100.2013.0517.0942 05/17/2013 [ 1551.892758] ffffffffa03128d8 ffff8800cec73890 ffffffff812c0f3c ffff8800cec738d8 [ 1551.892760] ffff8800cec738c8 ffffffff8104ff36 ffff880116ae2290 0000000000000002 [ 1551.892762] ffff8800d39fcda0 ffff8800d038b4d0 ffff8800d42b5550 ffff8800cec73928 [ 1551.892763] Call Trace: [ 1551.892768] [<ffffffff812c0f3c>] dump_stack+0x4e/0x82 [ 1551.892771] [<ffffffff8104ff36>] warn_slowpath_common+0x86/0xc0 [ 1551.892773] [<ffffffff8104ffbc>] warn_slowpath_fmt+0x4c/0x50 [ 1551.892781] [<ffffffffa02e6708>] ? drm_vblank_get+0x78/0xd0 [drm] [ 1551.892787] [<ffffffffa02e6d47>] drm_wait_one_vblank+0x197/0x1a0 [drm] [ 1551.892813] [<ffffffffa03d052f>] intel_post_plane_update+0xef/0x120 [i915] [ 1551.892832] [<ffffffffa03d11d2>] intel_atomic_commit+0x4c2/0x1600 [i915] [ 1551.892862] [<ffffffffa02ff0c7>] ? drm_atomic_check_only+0x147/0x5e0 [drm] [ 1551.892872] [<ffffffffa02feeb7>] ? drm_atomic_add_affected_connectors+0x27/0xf0 [drm] [ 1551.892881] [<ffffffffa02ff597>] drm_atomic_commit+0x37/0x60 [drm] [ 1551.892887] [<ffffffffa034301a>] restore_fbdev_mode+0x28a/0x2c0 [drm_kms_helper] [ 1551.892895] [<ffffffffa0345253>] drm_fb_helper_restore_fbdev_mode_unlocked+0x33/0x80 [drm_kms_helper] [ 1551.892900] [<ffffffffa03452cd>] drm_fb_helper_set_par+0x2d/0x50 [drm_kms_helper] [ 1551.892920] [<ffffffffa03e7a9a>] intel_fbdev_set_par+0x1a/0x60 [i915] [ 1551.892923] [<ffffffff8131a5a7>] fb_set_var+0x1a7/0x3f0 [ 1551.892927] [<ffffffff8109732f>] ? trace_hardirqs_on_caller+0x12f/0x1c0 [ 1551.892931] [<ffffffff81314f32>] fbcon_blank+0x212/0x2f0 [ 1551.892935] [<ffffffff81373f4a>] do_unblank_screen+0xba/0x1d0 [ 1551.892937] [<ffffffff8136b725>] vt_ioctl+0x13d5/0x1450 [ 1551.892940] [<ffffffff8107cdd1>] ? preempt_count_sub+0x41/0x50 [ 1551.892943] [<ffffffff8135d8a3>] tty_ioctl+0x423/0xe30 [ 1551.892947] [<ffffffff8119f721>] do_vfs_ioctl+0x301/0x560 [ 1551.892949] [<ffffffff8119b1e3>] ? putname+0x53/0x60 [ 1551.892952] [<ffffffff811ab376>] ? __fget_light+0x66/0x90 [ 1551.892955] [<ffffffff8119f9f9>] SyS_ioctl+0x79/0x90 [ 1551.892958] [<ffffffff81552e97>] entry_SYSCALL_64_fastpath+0x12/0x6f [ 1551.892961] ---[ end trace 3e764d4b6628c91c ]--- Testcase: kms_flip Reported-and-tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx #v4.3 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/5649C2BA.6080300@xxxxxxxxxxxxxx commit 1c7d4dd46ee048afe19e1294634df6fa66862519 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Nov 16 19:13:28 2015 +0000 irqchip/gic: Add save/restore of the active state When using EOImode==1, we may mark interrupts as being forwarded to a virtual machine. In that case, the interrupt is left active while being passed to the VM. If we suspend the system before the VM has deactivated the interrupt, the active state will be lost (which may be very annoying, as this may result in spurious interrupts and a confused guest). To avoid this, save and restore the active state together with the rest of the GIC registers. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1447701208-18150-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 92eda4ad4371225d6ccf9cded74315547e9a3153 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Nov 16 19:13:27 2015 +0000 irqchip/gic: Clear enable bits before restoring them When restoring the GIC state (after a suspend/resume cycle, for example), the driver directly writes the 'enabled' state it has saved by accessing GICD_ISENABLERn, which performs an OR operation between the value present in the register and the value we write. If whatever code that has run before we reentered the kernel has enabled an interrupt that was previously disabled, we won't restore that disabled state. Making sure we first clear the register (by writting to GICD_ICENABLERn) before restoring the enabled state. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1447701208-18150-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0eece2b22849c90b730815c893425a36b9d10fd5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Nov 16 19:13:26 2015 +0000 irqchip/gic: Make sure all interrupts are deactivated at boot When booting a GIC/GICv3 based system, we have no idea what state the firmware (or previous kernel in the case of kexec) has left the GIC, and some interrupts may still be active. In order to garantee that we have a clean state, make sure the active bits are cleared at init time. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1447701208-18150-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit adc235aff6fcf5ae4d8dc00faf30a07632b9725b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 17:32:15 2015 +0100 arm64: do not include ptrace.h from compat.h including ptrace.h brings a definition of BITS_PER_PAGE into device drivers and cause a build warning in allmodconfig builds: drivers/block/drbd/drbd_bitmap.c:482:0: warning: "BITS_PER_PAGE" redefined #define BITS_PER_PAGE (1UL << (PAGE_SHIFT + 3)) This uses a slightly different way to express current_pt_regs() that avoids the use of the header and gets away with the already included asm/ptrace.h. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 1dccb598df549d892b6450c261da54cdd7af44b4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 17:25:48 2015 +0100 arm64: simplify dma_get_ops Including linux/acpi.h from asm/dma-mapping.h causes tons of compile-time warnings, e.g. drivers/isdn/mISDN/dsp_ecdis.h:43:0: warning: "FALSE" redefined drivers/isdn/mISDN/dsp_ecdis.h:44:0: warning: "TRUE" redefined drivers/net/fddi/skfp/h/targetos.h:62:0: warning: "TRUE" redefined drivers/net/fddi/skfp/h/targetos.h:63:0: warning: "FALSE" redefined However, it looks like the dependency should not even there as I do not see why __generic_dma_ops() cares about whether we have an ACPI based system or not. The current behavior is to fall back to the global dma_ops when a device has not set its own dma_ops, but only for DT based systems. This seems dangerous, as a random device might have different requirements regarding IOMMU or coherency, so we should really never have that fallback and just forbid DMA when we have not initialized DMA for a device. This removes the global dma_ops variable and the special-casing for ACPI, and just returns the dma ops that got set for the device, or the dummy_dma_ops if none were present. The original code has apparently been copied from arm32 where we rely on it for ISA devices things like the floppy controller, but we should have no such devices on ARM64. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> [catalin.marinas@xxxxxxx: removed acpi_disabled check in arch_setup_dma_ops()] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4fee9f364b9b99f76732f2a6fd6df679a237fa74 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Nov 16 11:18:14 2015 +0100 arm64: mm: use correct mapping granularity under DEBUG_RODATA When booting a 64k pages kernel that is built with CONFIG_DEBUG_RODATA and resides at an offset that is not a multiple of 512 MB, the rounding that occurs in __map_memblock() and fixup_executable() results in incorrect regions being mapped. The following snippet from /sys/kernel/debug/kernel_page_tables shows how, when the kernel is loaded 2 MB above the base of DRAM at 0x40000000, the first 2 MB of memory (which may be inaccessible from non-secure EL1 or just reserved by the firmware) is inadvertently mapped into the end of the module region. ---[ Modules start ]--- 0xfffffdffffe00000-0xfffffe0000000000 2M RW NX ... UXN MEM/NORMAL ---[ Modules end ]--- ---[ Kernel Mapping ]--- 0xfffffe0000000000-0xfffffe0000090000 576K RW NX ... UXN MEM/NORMAL 0xfffffe0000090000-0xfffffe0000200000 1472K ro x ... UXN MEM/NORMAL 0xfffffe0000200000-0xfffffe0000800000 6M ro x ... UXN MEM/NORMAL 0xfffffe0000800000-0xfffffe0000810000 64K ro x ... UXN MEM/NORMAL 0xfffffe0000810000-0xfffffe0000a00000 1984K RW NX ... UXN MEM/NORMAL 0xfffffe0000a00000-0xfffffe00ffe00000 4084M RW NX ... UXN MEM/NORMAL The same issue is likely to occur on 16k pages kernels whose load address is not a multiple of 32 MB (i.e., SECTION_SIZE). So round to SWAPPER_BLOCK_SIZE instead of SECTION_SIZE. Fixes: da141706aea5 ("arm64: add better page protections to arm64") Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Laura Abbott <labbott@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.0+ Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 07d3bad6c1210bd21e85d084807ef4ee4ac43a78 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Nov 11 11:29:11 2015 +0100 drm/core: Fix old_fb handling in pan_display_atomic. Don't touch plane->old_fb/fb without having the right locks held. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447237751-9663-6-git-send-email-maarten.lankhorst@xxxxxxxxxx commit f72c6b33edda439acff81a0da612f2bcd1f46f35 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Nov 11 11:29:10 2015 +0100 drm/core: Fix old_fb handling in restore_fbdev_mode_atomic. Don't touch plane->old_fb/fb without having the right locks held. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447237751-9663-5-git-send-email-maarten.lankhorst@xxxxxxxxxx commit 0f45c26fc302c02b0576db37d4849baa53a2bb41 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Nov 11 11:29:09 2015 +0100 drm/atomic: add a drm_atomic_clean_old_fb helper. This is useful for all the boilerplate code about cleaning old_fb. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447237751-9663-4-git-send-email-maarten.lankhorst@xxxxxxxxxx commit 4572372847680ee04f184df916d5cf007c94ff7e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Nov 11 11:29:08 2015 +0100 drm/core: Fix old_fb handling in drm_mode_atomic_ioctl. plane_mask should be cleared inside the retry loop, because it gets reset on every retry. Without this fix the plane->fb refcounting might get out of sync on retries, resulting in either leaked memory or use-after-free. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx #v4.3 Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447237751-9663-3-git-send-email-maarten.lankhorst@xxxxxxxxxx commit 24e79d0ddc416184594aa8193023c15d85ab15db Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Nov 11 11:29:07 2015 +0100 drm/core: Set legacy_cursor_update in drm_atomic_helper_disable_plane. legacy_cursor_update was being set in restore_fbdev_mode_atomic which was probably unintended. Fix this by only setting it in the function that needs it. This oversight was introduced in commit bbb1e52402b2a288b09ae37e8182599931c7e9df Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:35:58 2015 -0400 drm/fb-helper: atomic restore_fbdev_mode()... Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [Jani: checkpatch fix] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447237751-9663-2-git-send-email-maarten.lankhorst@xxxxxxxxxx commit ee82c9ed41e896bd47e121d87e4628de0f2656a3 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Sun Nov 15 16:06:32 2015 -0800 dax: disable pmd mappings While dax pmd mappings are functional in the nominal path they trigger kernel crashes in the following paths: BUG: unable to handle kernel paging request at ffffea0004098000 IP: [<ffffffff812362f7>] follow_trans_huge_pmd+0x117/0x3b0 [..] Call Trace: [<ffffffff811f6573>] follow_page_mask+0x2d3/0x380 [<ffffffff811f6708>] __get_user_pages+0xe8/0x6f0 [<ffffffff811f7045>] get_user_pages_unlocked+0x165/0x1e0 [<ffffffff8106f5b1>] get_user_pages_fast+0xa1/0x1b0 kernel BUG at arch/x86/mm/gup.c:131! [..] Call Trace: [<ffffffff8106f34c>] gup_pud_range+0x1bc/0x220 [<ffffffff8106f634>] get_user_pages_fast+0x124/0x1b0 BUG: unable to handle kernel paging request at ffffea0004088000 IP: [<ffffffff81235f49>] copy_huge_pmd+0x159/0x350 [..] Call Trace: [<ffffffff811fad3c>] copy_page_range+0x34c/0x9f0 [<ffffffff810a0daf>] copy_process+0x1b7f/0x1e10 [<ffffffff810a11c1>] _do_fork+0x91/0x590 All of these paths are interpreting a dax pmd mapping as a transparent huge page and making the assumption that the pfn is covered by the memmap, i.e. that the pfn has an associated struct page. PTE mappings do not suffer the same fate since they have the _PAGE_SPECIAL flag to cause the gup path to fault. We can do something similar for the PMD path, or otherwise defer pmd support for cases where a struct page is available. For now, 4.4-rc and -stable need to disable dax pmd support by default. For development the "depends on BROKEN" line can be removed from CONFIG_FS_DAX_PMD. Cc: <stable@xxxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reported-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 9e5b8a6e53c79e6ccdbe6e62142ed9f317cefd46 Author: Wei Jiangang <weijg.fnst@xxxxxxxxxxxxxx> Date: Mon Nov 9 14:26:39 2015 +0800 tools:testing/selftests: fix typo in futex/README Correct typo in tools/testing/selftests/futex/README. Signed-off-by: Wei Jiangang <weijg.fnst@xxxxxxxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit e62d6e244f759556b569801c38dc4ca27a58bd18 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Nov 12 11:46:33 2015 +0000 MAINTAINERS: linux-cachefs@xxxxxxxxxx is moderated for non-subscribers Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cf89752645e47d86ba8a4157f4b121fcb33434c5 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Nov 12 11:46:23 2015 +0000 FS-Cache: Add missing initialization of ret in cachefiles_write_page() fs/cachefiles/rdwr.c: In function â??cachefiles_write_pageâ??: fs/cachefiles/rdwr.c:882: warning: â??retâ?? may be used uninitialized in this function If the jump to label "error" is taken, "ret" will indeed be uninitialized, and random stack data may be printed by the debug code. Fixes: 102f4d900c9c8f5e ("FS-Cache: Handle a write to the page immediately beyond the EOF marker") Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1285734c7a776b6195f8aaac6fa6acce26b5b97a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Nov 16 15:34:15 2015 -0800 MAINTAINERS: brcmnand: Add Broadcom internal mailing-list The Broadcom NAND driver is used by many different groups at Broadcom now, so use the same mailing-list we use for other areas of the kernel. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a3088abc68f79ac30e6e8ccb07a15c8093e39684 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Nov 17 00:24:14 2015 +0100 HID: wacom: fixup quirks setup for WACOM_DEVICETYPE_PAD Given that INTUOSHT < BAMBOO_PT features->type >= INTUOSHT || features->type <= BAMBOO_PT condition is always true, and therefore device_type is under certain circumstances wrongly set with WACOM_DEVICETYPE_PAD bit set. Fix the condition so that it actually represents the range as intended. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4981c2b7abfe92a7ad3c9888b8a1ada552d49406 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 22:42:27 2015 +0100 ACPI-EC: Drop unnecessary check made before calling acpi_ec_delete_query() The acpi_ec_delete_query() 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> [ rjw: Subject ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a76032e0abef027df83f7f053580aa297de54818 Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Date: Thu Nov 12 19:24:47 2015 +0000 Revert "ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook" Revert commit 3349fb64b292 (ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook), since the delay introduced by it is not necessary any more after commit add68d6aa9e2 (ACPI / SMBus: Fix boot stalls / high CPU caused by reentrant code). Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1b2ff19e6a957b1ef0f365ad331b608af80e932e Author: Jan Kara <jack@xxxxxxxx> Date: Thu Nov 12 14:25:52 2015 +0100 blk-flush: Queue through IO scheduler when flush not required Currently blk_insert_flush() just adds flush request to q->queue_head when flush is not required. That completely bypasses IO scheduler so e.g. CFQ can be idling waiting for new request to arrive and will idle through the whole window unnecessarily. Luckily this only happens in rare cases as usually checks in generic_make_request_checks() clear FLUSH and FUA flags early if they are not needed. When no flushing is actually required, we can easily fix the problem by properly queueing the request through the IO scheduler. Ideally IO scheduler should be also made aware of requests queued via blk_flush_queue_rq(). However inserting flush request through IO scheduler can have unwanted side-effects since due to flush batching delaying the flush request in IO scheduler will delay all flush requests possibly coming from other processes. So we keep adding the request directly to q->queue_head. Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit add68d6aa9e2492e51707ca603ada5b26c626757 Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Date: Thu Nov 12 18:05:37 2015 +0000 ACPI / SMBus: Fix boot stalls / high CPU caused by reentrant code In the SBS initialisation, a reentrant call to wait_event_timeout() causes an intermittent boot stall of several minutes usually following the "Switching to clocksource tsc" message. Another symptom of this bug is high CPU usage from programs (Firefox, upowerd) querying the battery state. This is caused by: 1. drivers/acpi/sbshc.c wait_transaction_complete() calls wait_event_timeout(): if (wait_event_timeout(hc->wait, smb_check_done(hc), msecs_to_jiffies(timeout))) 2. ___wait_event sets task state to uninterruptible 3. ___wait_event calls the "condition" smb_check_done() 4. smb_check_done (sbshc.c) calls through to ec_read() in drivers/acpi/ec.c 5. ec_guard() is reached which calls wait_event_timeout() if (wait_event_timeout(ec->wait, ec_transaction_completed(ec), guard)) ie. wait_event_timeout() is being called again inside evaluation of the previous wait_event_timeout() condition 5. The EC IRQ handler calls wake_up() and wakes up the sleeping task in ec_guard() 6. The task is now in state running even though the wait "condition" is still being evaluated 7. The "condition" check returns false so ___wait_event calls schedule_timeout() 8. Since the task state is running, the scheduler immediately schedules it again 9. This loop usually repeats for around 250 seconds even though the original wait_event_timeout was only 1000ms. The timeout is incorrect because each call to schedule_timeout() usually returns immediately, taking less than 1ms, so the jiffies timeout counter is not decremented. The task is now stuck in a running state, and so is highly likely to be immediately rescheduled, which takes less than a jiffy. The loop will never exit if all schedule_timeout() calls take less than a jiffy. Fix this by replacing SMBus reads in the wait_event_timeout condition with checks of a boolean value that is updated by the EC query handler. Link: https://bugzilla.kernel.org/show_bug.cgi?id=107191 Link: https://lkml.org/lkml/2015/11/6/776 Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b2b7e00148a203e9934bbd17aebffae3f447ade7 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Thu Nov 12 20:25:10 2015 +0100 null_blk: register as a LightNVM device Add support for registering as a LightNVM device. This allows us to evaluate the performance of the LightNVM subsystem. In /drivers/Makefile, LightNVM is moved above block device drivers to make sure that the LightNVM media managers have been initialized before drivers under /drivers/block are initialized. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Fix by Jens Axboe to remove unneeded slab cache and the following memory leak. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4736346bb47966254ee6d1fc50267a2609791cba Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Nov 16 23:30:00 2015 +0800 elevator: use list_{first,prev,next}_entry To make the intention clearer, use list_{first,prev,next}_entry instead of list_entry. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d09f9581b235a92abbe372531660b468fadabc17 Author: Javier González <javier@xxxxxxxxxxx> Date: Mon Nov 16 15:34:47 2015 +0100 lightnvm: cleanup queue before target removal This prevents outstanding IOs to be sent for completion to target after the target has been removed. The flow is now: stop new IOs > cleanup queue > remove target. Signed-off-by: Javier Gonzalez <javier@xxxxxxxxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dad1b00977f9dc8120b48f9711deb4aa6462a3a6 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:46 2015 +0100 nvme: remove reserved double word The specification was updated the remove the double word just after number of configuration groups and capabilities. Update the identify structure to reflect it. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2393bd39c77f21488ac7e5337cac1523e9ebd2c4 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:45 2015 +0100 nvme: missing ppaf copy The ppa format was not copied from the NVMe specific ppa format to the lightnvm specific ppa format. This led to the ppa format not being communicated to the layers above. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7386af270c72be65c7cb2ba4ad0d4e70dc373106 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:44 2015 +0100 lightnvm: remove linear and device addr modes The linear and device specific address modes can be replaced with a simple offset and bit length conversion that is generic across all devices. This both simplifies the specification and removes the special case for qemu nvme, that previously relied on the linear address mapping. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c1480ad5943261e01a62eaa7132eab76f9c490e0 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:43 2015 +0100 lightnvm: prevent double free on init error Both the nvm_register and nvm_init does a kfree(dev) on error. Make sure to only free it once. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit edad2e6606ee62dd7dfc5b001fae39c5c8015a55 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:42 2015 +0100 lightnvm: prematurely activate nvm_dev We register with nvm_devices when there registration can still fail. Move the final registration at the end of the nvm_register function to make sure we are fully registered when added to the nvm_devices list. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4264c980e3e9bb904b7f41dc9c64786cc5466bee Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:41 2015 +0100 lightnvm: check for NAND flash and its type Only NAND flash with SLC and MLC is supported. Make sure to not try to initialize TLC memory or other non-volatile memory types. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 73387e7bed260c89628fc6a4e3632b45be9776b0 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:40 2015 +0100 lightnvm: remove unused attrs in nvm_id structs The nvm_id, nvm_id_group and nvm_addr_format data structures contain reserved attributes. They are unused by media managers and targets. Remove them. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 12be5edf68e785dd5dc8665db5a88152b49c1fe8 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:39 2015 +0100 lightnvm: expose mccap in identify command The mccap field is required for I/O command option support. It defines the following flash access modes: * SLC mode * Erase/Program Suspension * Scramble On/Off * Encryption It is slotted in between mpos and cpar, changing the offset for cpar as well. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 36d5dbc694e0d1b1909506666d7c27b53f7f9674 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:38 2015 +0100 lightnvm: update alignments for identify command A single 8 bit and 16 bit reserve field were inserted in the specification to align fields appropriately. Reflect this in the identify group structure. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 11450469830f2481a9e7cb181609288d40f41323 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:37 2015 +0100 lightnvm: update bad block table format The specification was changed to reflect a multi-value bad block table. Instead of bit-based bad block table, the bad block table now allows eight bad block categories. Currently four are defined: * Factory bad blocks * Grown bad blocks * Device-side reserved blocks * Host-side reserved blocks The factory and grown bad blocks are the regular bad blocks. The reserved blocks are either for internal use or external use. In particular, the device-side reserved blocks allows the host to bootstrap from a limited number of flash blocks. Reducing the flash blocks to scan upon super block initialization. Support for both get bad block table and set bad block table is added. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit aedf17f4515b12ba1cd73298e66baa69cf93010e Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:36 2015 +0100 lightnvm: change max_phys_sect to uint The max_phys_sect variable is defined as a char. We do a boundary check to maximally allow 256 physical page descriptors per command. As we are not indexing from zero. This expression is always false. Bump the max_phys_sect to an unsigned int to support the range check. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4ead1a25ce436f73501d6358450f3ba0c1cb2ce3 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:35 2015 +0100 MAINTAINERS: Add linux-block list to LightNVM for patches Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f1a454a37618b819f2528ccd234f77a02b3a6016 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 22:36:12 2015 +0100 ipg: Remove ipg driver Now that IP1000A chips are supported by dl2k driver, the buggy ipg driver can be removed. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3f45d322cbd379c46466cc2ecab7e2d719b22ed Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 22:36:11 2015 +0100 dl2k: Add support for IP1000A-based cards Add support for IP1000A chips to dl2k driver. IP1000A chip looks like a TC9020 with integrated PHY. This allows IP1000A chips to work reliably because the ipg driver is buggy - it loses packets under load and then completely stops transmitting data. Tested with Asus NX1101 v2.0 at 10, 100 and 1000Mbps: vendor=0x13f0 device=0x1023 (rev 0x41) subsystem vendor=0x1043 device=0x8180 MAC address registers access needed to be changed from 8-bit to 16-bit because 8-bit does not work on IP1000A. 8-bit access is not even allowed in the TC9020 datasheet (although it worked). 16-bit access works on both. Tested that it does not break D-Link DGE-550T (DL-2000 chip, probably a rebranded TC9020): vendor=0x1186 device=0x4000 (rev 0x0c) subsystem vendor=0x1186 device=0x4000 Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f9b36cd2497660e254c67ed131f0b297ed8bf40 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Nov 12 10:26:57 2015 -0800 PM / wakeirq: check that wake IRQ is valid before accepting it Check that IRQ number passed to dev_pm_set_wake_irq() and dev_pm_set_dedicated_wake_irq() is valid (not negative) before accepting it. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bbf0b34578a71f42d19bd6c966f09221044921fe Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Sun Sep 6 14:00:46 2015 +0800 drm/amdgpu: remove the unnecessary parameter adev for amdgpu_sa_bo_new() Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 680513cc0accf14cb447663b65e02ae307ac3811 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 10 15:03:50 2015 +0200 drm/amdgpu: wait interruptible when semaphores are disabled v2 Otherwise debugging locked up processes isn't possible. v2: rebased Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v1) commit d9f67dbc0f55e67dd18fc18fa05a9d5d2bd52914 Merge: 8005c49 5369a21 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 16 22:57:02 2015 +0100 Merge branch 'pm-tools' * pm-tools: x86: remove unused definition of MSR_NHM_PLATFORM_INFO tools/power turbostat: use new name for MSR_PLATFORM_INFO commit 41033f029e393a64e81966cbe34d66c6cf8a2e7e Author: Neil Horman <nhorman@xxxxxxxxxxxxx> Date: Mon Nov 16 13:09:10 2015 -0500 snmp: Remove duplicate OUTMCAST stat increment the OUTMCAST stat is double incremented, getting bumped once in the mcast code itself, and again in the common ip output path. Remove the mcast bump, as its not needed Validated by the reporter, with good results Signed-off-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Reported-by: Claus Jensen <claus.jensen@xxxxxxxxxxxxx> CC: Claus Jensen <claus.jensen@xxxxxxxxxxxxx> CC: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7750130d93decff06120df0d8ea024ff8a038a21 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Mon Nov 16 17:51:34 2015 +0300 net: thunder: Check for driver data in nicvf_remove() In some cases the crash is caused by nicvf_remove() being called from outside. For example, if we try to feed the device to vfio after the probe has failed for some reason. So, move the check to better place. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88ad4175b201ae24be5e9b7752cf33c1306b64e4 Author: Bjørn Mork <bjorn@xxxxxxx> Date: Mon Nov 16 19:16:40 2015 +0100 net/core: use netdev name in warning if no parent A recent flaw in the netdev feature setting resulted in warnings like this one from VLAN interfaces: WARNING: CPU: 1 PID: 4975 at net/core/dev.c:2419 skb_warn_bad_offload+0xbc/0xcb() : caps=(0x00000000001b5820, 0x00000000001b5829) len=2782 data_len=0 gso_size=1348 gso_type=16 ip_summed=3 The ":" is supposed to be preceded by a driver name, but in this case it is an empty string since the device has no parent. There are many types of network devices without a parent. The anonymous warnings for these devices can be hard to debug. Log the network device name instead in these cases to assist further debugging. This is mostly similar to how __netdev_printk() handles orphan devices. Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8844f97238ca6c1ca92a5d6c69f53efd361a266f Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Nov 16 16:25:56 2015 +0100 af_unix: don't append consumed skbs to sk_receive_queue In case multiple writes to a unix stream socket race we could end up in a situation where we pre-allocate a new skb for use in unix_stream_sendpage but have to free it again in the locked section because another skb has been appended meanwhile, which we must use. Accidentally we didn't clear the pointer after consuming it and so we touched freed memory while appending it to the sk_receive_queue. So, clear the pointer after consuming the skb. This bug has been found with syzkaller (http://github.com/google/syzkaller) by Dmitry Vyukov. Fixes: 869e7c62486e ("net: af_unix: implement stream sendpage support") Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24cb7055a3066634a0f3fa0cd6a4780652905d35 Author: Dragos Tatulea <dragos@xxxxxxxxxxxx> Date: Mon Nov 16 10:52:48 2015 +0100 net: switchdev: fix return code of fdb_dump stub rtnl_fdb_dump always expects an index to be returned by the ndo_fdb_dump op, but when CONFIG_NET_SWITCHDEV is off, it returns an error. Fix that by returning the given unmodified idx. A similar fix was 0890cf6cb6ab ("switchdev: fix return value of switchdev_port_fdb_dump in case of error") but for the CONFIG_NET_SWITCHDEV=y case. Fixes: 45d4122ca7cd ("switchdev: add support for fdb add/del/dump via switchdev_port_obj ops.") Signed-off-by: Dragos Tatulea <dragos@xxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab6d7846cf80affc43b9d412fed5e25dfcf4f35d Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Nov 15 15:02:16 2015 +0200 bnx2x: Fix VLANs null-pointer for 57710, 57711 Commit 05cc5a39ddb7 "bnx2x: add vlan filtering offload" introduced a regression in regard for vlans for 57710, 57711 adapters - Loading 8021q module on a machine with such an adapter would cause a null pointer dereference, as the driver mistakenly publishes it has capabilities for vlan CTAG filtering. Reported-by: Otto Sabart <osabart@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 d60cf616ec39141b3483304fde69acf0dcec80eb Author: Masaru Nagai <masaru.nagai.vx@xxxxxxxxxxx> Date: Sun Nov 15 21:34:42 2015 +0900 ravb: remove unhandle int cause This driver does not handle the AVB-DMAC Receive FIFO Warning interrupt now, so the interrupt should not be enabled. Signed-off-by: Masaru Nagai <masaru.nagai.vx@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 027ac58e3c757277dd6cb8975d1b69c27853aa76 Author: Ben Cartwright-Cox <ben@xxxxxxxxxxxxx> Date: Sat Nov 14 15:13:58 2015 +0000 raw: increment correct SNMP counters for ICMP messages Sending ICMP packets with raw sockets ends up in the SNMP counters logging the type as the first byte of the IPv4 header rather than the ICMP header. This is fixed by adding the IP Header Length to the casting into a icmphdr struct. Signed-off-by: Ben Cartwright-Cox <ben@xxxxxxxxxxxxx> Acked-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c300366b6b978fcb84f8eeb6205e5980cc0c40c3 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sat Nov 14 11:06:57 2015 +0100 sfc: constify pci_error_handlers structures This pci_error_handlers structure is never modified, like all the other pci_error_handlers structures, so declare it as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 166e23623e7482070aa124ad805f600672377019 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sat Nov 14 11:06:53 2015 +0100 net: cavium: liquidio: constify pci_error_handlers structures This pci_error_handlers structure is never modified, like all the other pci_error_handlers structures, so declare it as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d37d5ec861b0d937c0bdd70f0138e2750aacccdb Author: Shrikrishna Khare <skhare@xxxxxxxxxx> Date: Fri Nov 13 15:42:10 2015 -0800 Driver: Vmxnet3: Fix use of mfTableLen for big endian architectures Signed-off-by: Shrikrishna Khare <skhare@xxxxxxxxxx> Reported-by: Masao Uebayashi <uebayasi@xxxxxxxxx> Signed-off-by: Bhavesh Davda <bhavesh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b88393cdf6b1322522849e61f7a3328f4fd3843 Author: Daniele Palmas <dnlplm@xxxxxxxxx> Date: Fri Nov 13 18:01:21 2015 +0100 net: usb: cdc_ether: add Dell DW5580 as a mobile broadband adapter Since Dell DW5580 is a 3G modem, this patch adds the device as a mobile broadband adapter Signed-off-by: Daniele Palmas <dnlplm@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00ee5927177792a6e139d50b6b7564d35705556a Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 15:20:24 2015 +0100 net: fix __netdev_update_features return on ndo_set_features failure If ndo_set_features fails __netdev_update_features() will return -1 but this is wrong because it is expected to return 0 if no features were changed (see netdev_update_features()), which will cause a netdev notifier to be called without any actual changes. Fix this by returning 0 if ndo_set_features fails. Fixes: 6cb6a27c45ce ("net: Call netdev_features_change() from netdev_update_features()") CC: MichaÅ? MirosÅ?aw <mirq-linux@xxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f8dc33e8ee7e59bee3bc6dc2088807a384b285a Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 14:54:01 2015 +0100 net: fix feature changes on devices without ndo_set_features When __netdev_update_features() was updated to ensure some features are disabled on new lower devices, an error was introduced for devices which don't have the ndo_set_features() method set. Before we'll just set the new features, but now we return an error and don't set them. Fix this by returning the old behaviour and setting err to 0 when ndo_set_features is not present. Fixes: e7868a85e1b2 ("net/core: ensure features get disabled on new lower devs") CC: Jarod Wilson <jarod@xxxxxxxxxx> CC: Jiri Pirko <jiri@xxxxxxxxxxx> CC: Ido Schimmel <idosch@xxxxxxxxxxxx> CC: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> CC: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> CC: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Reviewed-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Jarod Wilson <jarod@xxxxxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Tested-by: Dave Young <dyoung@xxxxxxxxxx> Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bbe14f54297467ddb23b7d1db564a2468c6ae151 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Nov 13 13:06:12 2015 +0200 switchdev: bridge: Check return code is not EOPNOTSUPP When NET_SWITCHDEV=n, switchdev_port_attr_set simply returns EOPNOTSUPP. In this case we should not emit errors and warnings to the kernel log. Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Fixes: 0bc05d585d38 ("switchdev: allow caller to explicitly request attr_set as deferred") Fixes: 6ac311ae8bfb ("Adding switchdev ageing notification on port bridged") Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d5d309815bc377ec8235df380fda6d1befbc57cc Author: Ivan Vecera <ivecera@xxxxxxxxxx> Date: Fri Nov 13 11:36:58 2015 +0100 be2net: replace hardcoded values with existing define Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4114ec905de2f02b91703c484bba9b62dc3bbb87 Author: Ivan Vecera <ivecera@xxxxxxxxxx> Date: Fri Nov 13 11:36:57 2015 +0100 be2net: remove unused local rsstable array Remove rsstable array and its initialization from be_set_rss_hash_opts(). The array became unused after "e255787 be2net: Support for configurable RSS hash key". The initial RSS table is now filled and stored for later usage during Rx queue creation. Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx> Acked-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2452cb0c6503f05ab371b26c3216c5fba54d4476 Author: Masaru Nagai <masaru.nagai.vx@xxxxxxxxxxx> Date: Fri Nov 13 19:24:49 2015 +0900 ravb: Fix int mask value overwritten issue When RX/TX interrupt for Network Control queue and Best Effort queue is issued at the same time, the interrupt mask of Network Control queue will be reset when the mask of Best Effort queue is set. This patch fixes this problem. Signed-off-by: Masaru Nagai <masaru.nagai.vx@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd998ecd2f031cfdb88436ea12f7c6d0b09c7a80 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Fri Nov 13 09:46:59 2015 +0300 net: smsc911x: Reset PHY during initialization On certain hardware after software reboot the chip may get stuck and fail to reinitialize during reset. This can be fixed by ensuring that PHY is reset too. Old PHY resetting method required operational MDIO interface, therefore the chip should have been already set up. In order to be able to function during probe, it is changed to use PMT_CTRL register. The problem could be observed on SMDK5410 board. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3d4c682c240595c3637c552dc1afa985bc6d382 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Nov 14 01:16:18 2015 +0100 bpf, arm64: start flushing icache range from header While recently going over ARM64's BPF code, I noticed that the icache range we're flushing should start at header already and not at ctx.image. Reason is that after b569c1c622c5 ("net: bpf: arm64: address randomize and write protect JIT code"), we also want to make sure to flush the random-sized trap in front of the start of the actual program (analogous to x86). No operational differences from user side. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebaef649c26b44ff28114b452fd067a270ca7f02 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Nov 14 01:26:53 2015 +0100 bpf, arm: start flushing icache range from header During review I noticed that the icache range we're flushing should start at header already and not at ctx.image. Reason is that after 55309dd3d4cd ("net: bpf: arm: address randomize and write protect JIT code"), we also want to make sure to flush the random-sized trap in front of the start of the actual program (analogous to x86). No operational differences from user side. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Tested-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30b50aa612018bd92f5a85534cc2668423e8c7e8 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Thu Nov 12 14:07:46 2015 -0800 bpf: samples: exclude asm/sysreg.h for arm64 commit 338d4f49d6f7114a017d294ccf7374df4f998edc ("arm64: kernel: Add support for Privileged Access Never") includes sysreg.h into futex.h and uaccess.h. But, the inline assembly used by asm/sysreg.h is incompatible with llvm so it will cause BPF samples build failure for ARM64. Since sysreg.h is useless for BPF samples, just exclude it from Makefile via defining __ASM_SYSREG_H. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fcd593b943bfcc21ad84d3321422401de071d8a Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Thu Nov 12 13:57:00 2015 -0800 arm64: bpf: fix JIT frame pointer setup BPF fp should point to the top of the BPF prog stack. The original implementation made it point to the bottom incorrectly. Move A64_SP to fp before reserve BPF prog stack space. CC: Zi Shen Lim <zlim.lnx@xxxxxxxxx> CC: Xi Wang <xi.wang@xxxxxxxxx> Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Reviewed-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7729b053814ac91af340f5055970afc87d7fee21 Author: MÃ¥ns RullgÃ¥rd <mans@xxxxxxxxx> Date: Thu Nov 12 18:41:12 2015 +0000 net: phy: vitesse: add support for VSC8601 This adds support for the Vitesse VSC8601 PHY. Generic functions are used for everything except interrupt handling. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0eae5982a3571dc15a9e7684c02e8774ba2fb1c7 Author: MÃ¥ns RullgÃ¥rd <mans@xxxxxxxxx> Date: Thu Nov 12 17:40:20 2015 +0000 net: phy: at803x: support interrupt on 8030 and 8035 Commit 77a993942 "phy/at8031: enable at8031 to work on interrupt mode" added interrupt support for the 8031 PHY but left out the other two chips supported by this driver. This patch sets the .ack_interrupt and .config_intr functions for the 8030 and 8035 drivers as well. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4fe85f9c9146f60457e9512fb6055e69e6a7a65 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Thu Nov 12 17:35:58 2015 +0100 ip_tunnel: disable preemption when updating per-cpu tstats Drivers like vxlan use the recently introduced udp_tunnel_xmit_skb/udp_tunnel6_xmit_skb APIs. udp_tunnel6_xmit_skb makes use of ip6tunnel_xmit, and ip6tunnel_xmit, after sending the packet, updates the struct stats using the usual u64_stats_update_begin/end calls on this_cpu_ptr(dev->tstats). udp_tunnel_xmit_skb makes use of iptunnel_xmit, which doesn't touch tstats, so drivers like vxlan, immediately after, call iptunnel_xmit_stats, which does the same thing - calls u64_stats_update_begin/end on this_cpu_ptr(dev->tstats). While vxlan is probably fine (I don't know?), calling a similar function from, say, an unbound workqueue, on a fully preemptable kernel causes real issues: [ 188.434537] BUG: using smp_processor_id() in preemptible [00000000] code: kworker/u8:0/6 [ 188.435579] caller is debug_smp_processor_id+0x17/0x20 [ 188.435583] CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted 4.2.6 #2 [ 188.435607] Call Trace: [ 188.435611] [<ffffffff8234e936>] dump_stack+0x4f/0x7b [ 188.435615] [<ffffffff81915f3d>] check_preemption_disabled+0x19d/0x1c0 [ 188.435619] [<ffffffff81915f77>] debug_smp_processor_id+0x17/0x20 The solution would be to protect the whole this_cpu_ptr(dev->tstats)/u64_stats_update_begin/end blocks with disabling preemption and then reenabling it. Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ca641b0f02a3a1eedbc8c296e695326da9bbaf9 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Nov 9 16:37:28 2015 -0800 mtd: nand: fix shutdown/reboot for multi-chip systems If multiple NAND chips are registered to the same controller, then when rebooting the system, the first one will grab the controller lock, while the second will wait forever for the first one to release it. i.e., a classic deadlock. This problem was solved for a similar case (suspend/resume) back in commit 6b0d9a841249 ("mtd: nand: fix multi-chip suspend problem"), and the shutdown state really isn't much different for us, so rather than adding a new special case to nand_get_device(), we can just overload the FL_PM_SUSPENDED state. Now, multiple chips can "get" the same controller lock (preventing further I/O), while we still allow other chips to pass through nand_shutdown(). Original report: http://thread.gmane.org/gmane.linux.drivers.mtd/59726 http://lists.infradead.org/pipermail/linux-mtd/2015-July/059992.html Fixes: 72ea403669c7 ("mtd: nand: added nand_shutdown") Reported-by: Andrew E. Mileski <andrewm@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Scott Branden <sbranden@xxxxxxxxxxxx> Cc: Andrew E. Mileski <andrewm@xxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 96dd922c198286681fbbc15100e196e0f629e2fb Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Nov 11 15:36:16 2015 -0800 mtd: jz4740_nand: fix build on jz4740 after removing gpio.h Fallout from commit 832f5dacfa0b ("MIPS: Remove all the uses of custom gpio.h") We see errors like this: drivers/mtd/nand/jz4740_nand.c: In function 'jz_nand_detect_bank': drivers/mtd/nand/jz4740_nand.c:340:9: error: 'JZ_GPIO_MEM_CS0' undeclared (first use in this function) drivers/mtd/nand/jz4740_nand.c:340:9: note: each undeclared identifier is reported only once for each function it appears in drivers/mtd/nand/jz4740_nand.c:359:2: error: implicit declaration of function 'jz_gpio_set_function' [-Werror=implicit-function-declaration] drivers/mtd/nand/jz4740_nand.c:359:29: error: 'JZ_GPIO_FUNC_MEM_CS0' undeclared (first use in this function) drivers/mtd/nand/jz4740_nand.c:399:29: error: 'JZ_GPIO_FUNC_NONE' undeclared (first use in this function) drivers/mtd/nand/jz4740_nand.c: In function 'jz_nand_probe': drivers/mtd/nand/jz4740_nand.c:528:13: error: 'JZ_GPIO_MEM_CS0' undeclared (first use in this function) drivers/mtd/nand/jz4740_nand.c: In function 'jz_nand_remove': drivers/mtd/nand/jz4740_nand.c:555:14: error: 'JZ_GPIO_MEM_CS0' undeclared (first use in this function) Patched similarly to: https://patchwork.linux-mips.org/patch/11089/ Fixes: 832f5dacfa0b ("MIPS: Remove all the uses of custom gpio.h") Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3da6d49e847128378c30292848125cc3e207e5f7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 17:51:17 2015 +0100 clocksource: Disallow drivers for ARCH_USES_GETTIMEOFFSET We can now select clocksource drivers like ti-32k and CONFIG_OF on ancient machines that still use gettimeoffset, and the combination results in a link error. arch/arm/kernel/built-in.o: In function `time_init': (.init.text+0xc28): undefined reference to `clocksource_probe' The reason for this is that the Makefile is hidden behind CONFIG_ARCH_USES_GETTIMEOFFSET, but the Kconfig file is not, and it has shown up just now because the ti-32k driver was added and can be selected using COMPILE_TEST on all platforms. This patch hides the Kconfig menu in CONFIG_ARCH_USES_GETTIMEOFFSET as well. Fixes: dfedaf105d60 "clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE" Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Felipe Balbi <balbi@xxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/7579471.4N90fYPQOK@wuerfel Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit dde7632ed02382e4bac2b57c66ee2285764f2cd7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 17:34:50 2015 +0100 clocksource/fsl: Avoid harmless 64-bit warnings The ftm_clockevent_init passes the value of "~0UL" into a function that takes a 32-bit argument, which drops the upper 32 bits, as gcc warns about on ARM64: clocksource/fsl_ftm_timer.c: In function 'ftm_clockevent_init': clocksource/fsl_ftm_timer.c:206:13: warning: large integer implicitly truncated to unsigned type [-Woverflow] This was obviously unintended behavior, and is easily avoided by using '~0u' as the integer literal, because that is 32-bit wide on all architectures. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: Stefan Agner <stefan@xxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/3990834.xnjhm37Grs@wuerfel Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit cef03d7e66bd70c4baf61dd2431cf8de250834de Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Oct 28 17:17:31 2015 +0000 hwmon: (scpi) skip unsupported sensors properly Currently it's assumed that firmware exports only the class of sensors supported by the driver. However with newer firmware or SCPI protocol revision, support for newer classes of sensors can be present. The driver fails to probe with the following warning if an unsupported class of sensor is encountered in the firmware. sysfs: cannot create duplicate filename '/devices/platform/scpi/scpi:sensors/hwmon/hwmon0/' ------------[ cut here ]------------ WARNING: at fs/sysfs/dir.c:31 Modules linked in: CPU: 0 PID: 6 Comm: kworker/u12:0 Not tainted 4.3.0-rc7 #137 Hardware name: ARM Juno development board (r0) (DT) Workqueue: deferwq deferred_probe_work_func PC is at sysfs_warn_dup+0x54/0x78 LR is at sysfs_warn_dup+0x54/0x78 This patch fixes the above issue by skipping through the unsupported class of SCPI sensors. Fixes: 68acc77a2d51 ("hwmon: Support thermal zones registration for SCP temperature sensors") Fixes: ea98b29a05e9 ("hwmon: Support sensors exported via ARM SCP interface") Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Punit Agrawal <punit.agrawal@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit d42d5b6f729929f2bbd17d22a2b223b7138470da Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 17:56:39 2015 +0100 hwmon: (scpi) add thermal-of dependency The newly added scpi thermal support is broken when the scpi driver is built-in but the thermal driver is a loadable module: drivers/built-in.o: In function `scpi_hwmon_probe': (.text+0x444d70): undefined reference to `thermal_zone_of_sensor_unregister' (.text+0x444d94): undefined reference to `thermal_zone_of_sensor_register' drivers/built-in.o: In function `scpi_hwmon_remove': (text+0x444e6c): undefined reference to `thermal_zone_of_sensor_unregister' This uses the same Kconfig trick that we have in a couple of other drivers already to ensure we can only select the driver in valid configurations when either THERMAL_OF is disabled, or when with a dependency on CONFIG_THERMAL that can force SCPI to be a loadable module in the case I was hitting. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 68acc77a2d51 ("hwmon: Support thermal zones registration for SCP temperature sensors") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit ef83b6e8f40bb24b92ad73b5889732346e54a793 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Sep 29 15:48:11 2015 -0400 ext2, ext4: warn when mounting with dax enabled Similar to XFS warn when mounting DAX while it is still considered under development. Also, aspects of the DAX implementation, for example synchronization against multiple faults and faults causing block allocation, depend on the correct implementation in the filesystem. The maturity of a given DAX implementation is filesystem specific. Cc: <stable@xxxxxxxxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: linux-ext4@xxxxxxxxxxxxxxx Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reported-by: Dave Chinner <david@xxxxxxxxxxxxx> Acked-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 59536da34513c594af2a6fd35ba65ea45b6960a1 Author: Bjørn Mork <bjorn@xxxxxxx> Date: Mon Nov 16 13:15:46 2015 +0100 USB: qcserial: Fix support for HP lt4112 LTE/HSPA+ Gobi 4G Modem The DEVICE_HWI type was added under the faulty assumption that Huawei devices based on Qualcomm chipsets and firmware use the static USB interface numbering known from Gobi devices. But this model does not apply to Huawei devices like the HP branded lt4112 (Huawei me906e). Huawei firmwares will dynamically assign interface numbers. Functions are renumbered when the firmware is reconfigured. Fix by changing the DEVICE_HWI type to use a simplified version of Huawei's subclass + protocol scheme: Blacklisting known network interface combinations and assuming the rest are serial. Reported-and-tested-by: Muri Nicanor <muri+libqmi@xxxxxxxxxx> Tested-by: Martin Hauke <mardnh@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: e7181d005e84 ("USB: qcserial: Add support for HP lt4112 LTE/HSPA+ Gobi 4G Modem") Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 0ba58de231066e47de87ccc4d61c5e396fe9bd27 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 27 22:06:52 2015 +0200 drivers: sh: Get rid of CONFIG_ARCH_SHMOBILE_MULTI Shmobile is all multiplatform these days, so get rid of the reference to CONFIG_ARCH_SHMOBILE_MULTI. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2c2025b41aeff57963f9ae2dd909fea704c625ab Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Tue Oct 27 23:26:33 2015 +0200 usb: phy: omap-otg: fix uninitialized pointer otg_dev->extcon was referenced before otg_dev was initialized. Fix. Cc: <stable@xxxxxxxxxxxxxxx> # v4.3 Fixes: a2fd2423240f ("usb: phy: omap-otg: Replace deprecated API of extcon") Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 705e63d2b29c8bbf091119084544d353bda70393 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Oct 23 09:53:50 2015 +0200 usb: musb: core: fix order of arguments to ulpi write callback There is a bit of a mess in the order of arguments to the ulpi write callback. There is int ulpi_write(struct ulpi *ulpi, u8 addr, u8 val) in drivers/usb/common/ulpi.c; struct usb_phy_io_ops { ... int (*write)(struct usb_phy *x, u32 val, u32 reg); } in include/linux/usb/phy.h. The callback registered by the musb driver has to comply to the latter, but up to now had "offset" first which effectively made the function broken for correct users. So flip the order and while at it also switch to the parameter names of struct usb_phy_io_ops's write. Fixes: ffb865b1e460 ("usb: musb: add ulpi access operations") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b4c580a43d520b7812c0fd064fbab929ce2f1da0 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Wed Oct 21 14:37:04 2015 +0300 usb: dwc3: pci: add support for Intel Broxton SOC PCI IDs for Broxton based platforms. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 43c27fb5c21eb238ce5ffc7766bc59ab773bfd7c Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Thu Nov 12 15:33:09 2015 +0800 drm/amdgpu: update pd while updating vm as well Change-Id: I93a861cd6707f7d91672b9e19757cc50008cd7a2 Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 5d82730af746abca2aa74e00de6370d338df7e95 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Nov 13 13:04:50 2015 +0100 drm/amdgpu: fix handling order in scheduler CS We need to clear parser.ibs and num_ibs before amd_sched_fence_create, otherwise the IB could be freed twice if fence creates fails. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit e284022163716ecf11c37fd1057c35d689ef2c11 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Nov 5 19:49:48 2015 +0100 drm/amdgpu: fix incorrect mutex usage v3 Before this patch the scheduler fence was created when we push the job into the queue, so we could only get the fence after pushing it. The mutex now was necessary to prevent the thread pushing the jobs to the hardware from running faster than the thread pushing the jobs into the queue. Otherwise the thread pushing jobs into the queue would have accessed possible freed up memory when it tries to get a reference to the fence. So what you get in the end is thread A: mutex_lock(&job->lock); ... Kick of thread B. ... mutex_unlock(&job->lock); And thread B: mutex_lock(&job->lock); .... mutex_unlock(&job->lock); kfree(job); I'm actually not sure if I'm still up to date on this, but this usage pattern used to be not allowed with mutexes. See here as well https://lwn.net/Articles/575460/. v2: remove unrelated changes, fix missing owner v3: rebased, add more commit message Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4a562283376197722b295d27633134401bbc80f5 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Nov 6 14:09:21 2015 +0100 drm/amdgpu: cleanup scheduler fence get/put dance The code was correct, but getting two references when the ownership is linearly moved on is a bit awkward and just overhead. Signed: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7034decf6a5b1ff778d83ff9d7ce1f0b404804e4 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Wed Nov 11 14:56:00 2015 +0800 drm/amdgpu: add command submission workflow tracepoint OGL needs these tracepoints to investigate performance issue. Change-Id: I5e58187d061253f7d665dfce8e4e163ba91d3e2b Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> commit 5f2e816b2957fdde3c7d51d55db6751a980f4bea Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Thu Nov 5 09:50:21 2015 +0800 drm/amdgpu: update Fiji's tiling mode table Change-Id: I925c15015390113f7e27746ec5751eaa6a92c2a7 Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c305fd5fffae5b826b9f8f7ef32fe72ee83354fc Author: Rex Zhu <Rex.Zhu@xxxxxxx> Date: Tue Oct 13 13:57:52 2015 +0800 drm/amdgpu: fix bug that can't enter thermal interrupt for bonaire. Set reversed bit to enable/disable thermal interrupt. Signed-off-by: Rex Zhu <Rex.Zhu@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit e1b35f6103b37e0d81184b32906b7010170dda02 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 10 13:17:55 2015 +0100 drm/amdgpu: fix seq_printf format string The amdgpu driver has a debugfs interface that shows the amount of VRAM in use, but the newly added code causes a build error on all 32-bit architectures: drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:1076:17: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'long long int' [-Wformat=] This fixes the format string to use "%llu" for printing 64-bit numbers, which works everywhere, as long as we also cast to 'u64'. Unlike atomic64_t, u64 is defined as 'unsigned long long' on all architectures. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: a2ef8a974931 ("drm/amdgpu: add vram usage into debugfs") Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 515c752dabee9945c1e8686c87f7cdeb3935eea4 Author: Maxim Sheviakov <mrader3940@xxxxxxxxx> Date: Tue Nov 10 13:09:13 2015 -0500 drm/radeon: fix quirk for MSI R7 370 Armor 2X There was a typo in the original. bug: https://bugs.freedesktop.org/show_bug.cgi?id=92865 Signed-off-by: Maxim Sheviakov <mrader3940@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a80b30476d240482d360a25a1b2e8c13036ed750 Author: Jay Cornwall <jay@xxxxxxxxxxxx> Date: Thu Nov 5 13:06:15 2015 -0600 drm/amdgpu: Fix default page access routing The VM default page (used when a VM translation fails) is allocated in system memory. The VM is misconfigured to interpret the physical address as referencing a VRAM physical page. Route default page accesses to system memory. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Jay Cornwall <jay@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.2+ Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 24dd2f64c5a877392925202321c7c2c46c2b0ddf Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Nov 10 13:01:35 2015 -0500 drm/radeon: unconditionally set sysfs_initialized Avoids spew on resume for systems where sysfs may fail even on init. bug: https://bugzilla.kernel.org/show_bug.cgi?id=106851 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 7e52a81c2f0326a85d3ebc005829bcd604731c6d Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Nov 4 15:44:39 2015 +0100 drm/amdgpu: cleanup amdgpu_cs_parser handling No need any more to allocate that structure dynamically, just put it on the stack. This is a start to cleanup some of the scheduler fallouts. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e4a58a28b50f30e72292b6659d94410cbf7355ad Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Nov 5 17:00:25 2015 +0100 drm/amdgpu: fix leaking the IBs on error Fixing a memory leak when the scheduler is enabled. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f5617f9dde5ae2466560f7cb008c741e2b88adab Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Thu Nov 5 11:41:50 2015 +0800 drm/amd: add kmem cache for sched fence Change-Id: I45bb8ff10ef05dc3b15e31a77fbcf31117705f11 Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit b49c84a5765cf68b8e2fdb1dc4eded9c208e6d58 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Thu Nov 5 11:28:28 2015 +0800 drm/amdgpu: add kmem cache for amdgpu fence Change-Id: I5ad8dd156ccf27a6f18004aa0a215a0925b6e67b Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 451f698bcac84c49dd4e25dd8e89dbd66796b4cd Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Thu Nov 5 15:24:46 2015 +0800 drm/amdgpu: update fiji_mgcg_cgcg_init table Change-Id: If44b8057741c78208f1976f60f31b535c944d0bd Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 16ae42feb0ce6cc80473d35dd82a1cd07e2e7178 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 3 14:53:28 2015 +0100 drm/amdgpu: use common fence for amdgpu_vm_fence Just cleanup the function parameters. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b56c22853eabde22a93d77bbd5250c1655405d74 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 29 17:01:19 2015 +0100 drm/amdgpu: use fence_is_later() for vm_flush as well v2 v2: remove superfluous check 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 c2776afe740db5598c4c457dcacb94d4427b13f9 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 3 13:27:39 2015 +0100 drm/amdgpu: use a timer for fence fallback Less overhead than a work item and also adds proper cleanup handling. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 935c186aaecc25258495351adaba34f7c507d298 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 3 21:23:08 2015 +0100 drm/amdgpu: remove fence trace points Mostly unused and replaced by the common trace points. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fa6760482bed1ed752568fe09135c078e9768595 Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Fri Oct 30 18:29:46 2015 +0800 drm/amdgpu: update Fiji's mmPA_SC_RASTER_CONFIG value Change-Id: I6d138306a878450e5bf8a77a2f1aacc380a39fe5 Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 938204985c1c46c28a88cb558d9e38610044b67a Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Thu Nov 5 17:25:28 2015 +0900 drm/radeon: Only prompt for enabling PAT when we'd allow write-combining No use bothering users about this for whom we disable write-combining for other reasons anyway. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a28bbd5824d4a2af98de45b300ab8d8fb39739fc Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Thu Nov 5 17:25:27 2015 +0900 drm/radeon: Always disable RADEON_GEM_GTT_UC along with RADEON_GEM_GTT_WC Write-combining is a CPU feature. From the GPU POV, these both simply mean no GPU<->CPU cache coherency. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 96ea47c0ec8c012509116bee8c57414281428fc4 Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Thu Nov 5 17:25:26 2015 +0900 drm/radeon: Disable uncacheable CPU mappings of GTT with RV6xx They reportedly cause random GPU hangs. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91268 Reviewed-by: Christian König <christian.koenig@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 172c238612ebf81cabccc86b788c9209af591f61 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Nov 6 10:53:01 2015 -0500 dm thin: restore requested 'error_if_no_space' setting on OODS to WRITE transition A thin-pool that is in out-of-data-space (OODS) mode may transition back to write mode -- without the admin adding more space to the thin-pool -- if/when blocks are released (either by deleting thin devices or discarding provisioned blocks). But as part of the thin-pool's earlier transition to out-of-data-space mode the thin-pool may have set the 'error_if_no_space' flag to true if the no_space_timeout expires without more space having been made available. That implementation detail, of changing the pool's error_if_no_space setting, needs to be reset back to the default that the user specified when the thin-pool's table was loaded. Otherwise we'll drop the user requested behaviour on the floor when this out-of-data-space to write mode transition occurs. Reported-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Joe Thornber <ejt@xxxxxxxxxx> Fixes: 2c43fd26e4 ("dm thin: fix missing out-of-data-space to write mode transition if blocks are released") Cc: stable@xxxxxxxxxxxxxxx commit fd0fe6acf1dd88aabfbf383f7e4c16315387a7b7 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Wed Nov 4 21:25:32 2015 +0200 drm/i915: get runtime PM reference around GEM set_caching IOCTL After Damien's D3 fix I started to get runtime suspend residency for the first time and that revealed a breakage on the set_caching IOCTL path that accesses the HW but doesn't take an RPM ref. Fix this up. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: http://patchwork.freedesktop.org/patch/msgid/1446665132-22491-1-git-send-email-imre.deak@xxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 500a3d2eb3883b71350036e15aad286cc6e5df21 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Nov 13 19:29:41 2015 +0200 drm/i915: Fix GT frequency rounding When we set and later readback a frequency value through sysfs interface, igt/pm_rpm assumes that we get same value back if it matches hw granularity. On bxt we have found out that this is not always the case. Currently frequency - hw ratio - frequency conversions round down, with few exceptions on platforms that have more specific conversions. On bxt the supported range can be for example from 100Mhz to 650Mhz. Midpoint is then calculated by test to be 375 which pm_rps uses to find a closest hw supported frequency. That is 366 (ratio 22), which it then writes back. But as the rounding down kicks in, driver actually sets 350 instead of 366, as 366 is 2/3 below 22 * 50/3. Fix this by rounding to closest instead of rounding down in freq-ratio-freq conversions. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92768 Testcase: igt/pm_rps/basic-api Tested-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Cc: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447435781-23416-1-git-send-email-mika.kuoppala@xxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 1bcb49e663f88bccee35b8688e6a3da2bea31fd4 Author: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Date: Sat Nov 14 16:49:30 2015 +0000 USB: ti_usb_3410_5052: Add Honeywell HGI80 ID The Honeywell HGI80 is a wireless interface to the evohome connected thermostat. It uses a TI 3410 USB-serial port. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit e07af133c3e2716db25e3e1e1d9f10c2088e9c1a Author: Aleksander Morgado <aleksander@xxxxxxxxxxxxx> Date: Wed Nov 11 19:51:40 2015 +0100 USB: serial: option: add support for Novatel MiFi USB620L Also known as Verizon U620L. The device is modeswitched from 1410:9020 to 1410:9022 by selecting the 4th USB configuration: $ sudo usb_modeswitch â??v 0x1410 â??p 0x9020 â??u 4 This configuration provides a ECM interface as well as TTYs ('Enterprise Mode' according to the U620 Linux integration guide). Signed-off-by: Aleksander Morgado <aleksander@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 9d5b5ed796d7afd7e8d2ac4b4fb77c6a49463f4b Author: Petr Å tetiar <ynezz@xxxxxxx> Date: Tue Nov 3 11:25:28 2015 +0100 USB: qcserial: Add support for Quectel EC20 Mini PCIe module It seems like this device has same vendor and product IDs as G2K devices, but it has different number of interfaces(4 vs 5) and also different interface layout which makes it currently unusable: usbcore: registered new interface driver qcserial usbserial: USB Serial support registered for Qualcomm USB modem usb 2-1.2: unknown number of interfaces: 5 lsusb output: Bus 002 Device 003: ID 05c6:9215 Qualcomm, Inc. Acer Gobi 2000 Wireless Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x05c6 Qualcomm, Inc. idProduct 0x9215 Acer Gobi 2000 Wireless Modem bcdDevice 2.32 iManufacturer 1 Quectel iProduct 2 Quectel LTE Module iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 209 bNumInterfaces 5 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Signed-off-by: Petr Å tetiar <ynezz@xxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> [johan: rename define and add comment ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 1b9448b071caa7d10bb2569fabe3020a2c25ae59 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Nov 5 11:49:59 2015 +0200 drm/i915: quirk backlight present on Macbook 4, 1 Unsurprisingly macbooks have backlights, just the VBT doesn't seem to know it in this case. Reported-and-tested-by: Daniel Nicoletti <dantti12@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88325 Fixes: c675949ec58c ("drm/i915: do not setup backlight if not available according to VBT") Cc: stable@xxxxxxxxxxxxxxx # v3.15+ Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446716999-1796-1-git-send-email-jani.nikula@xxxxxxxxx commit f44e26593aea9b920e892fc490ffd2a1a0b9123f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Nov 13 19:16:13 2015 +0200 drm/i915: Fix crtc_y assignment in intel_find_initial_plane_obj() Let's set crtc_y to 0 instead of setting src_y twice. Multiple assignments in one statement is a good way to hide bugs. Please don't do that. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Fixes: be5651f2d581 ("drm/i915: Update missing properties in find_initial_plane_obj") Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447434973-12369-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c7f42c63901b964833eb23a9bda873b799e7f308 Author: Jean-Yves Faye <jean-yves.faye@xxxxxx> Date: Tue Sep 29 11:39:19 2015 +0200 ipmi watchdog : add panic_wdt_timeout parameter In order to allow panic actions to be processed, the ipmi watchdog driver sets a new timeout value on panic. The 255s timeout was designed to allow kdump and others actions on panic, as in http://lkml.iu.edu/hypermail/linux/kernel/0711.3/0258.html This is counter-intuitive for a end-user who sets watchdog timeout value to something like 30s and who expects BMC to reset the system within 30s of a panic. This commit allows user to configure the timeout on panic. Signed-off-by: Jean-Yves Faye <jean-yves.faye@xxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit f52c74fee95f1f4dd2bc1c75e016d849150eb2de Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Nov 13 14:17:14 2015 +0100 s390: remove SALIPL loader There is no known user, therefore remove the code. Acked-by: Rob Van Der Heij <robvdheij@xxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 932f608193cdbd3a275a4aefb94760dfd4a1f736 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Nov 16 12:31:33 2015 +0100 s390: wire up mlock2 system call Passes mlock2-tests test case in 64 bit and compat mode. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 95486e4979e56e7da2fbb4fd32eb54d672b1e074 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Nov 16 12:07:10 2015 +0100 MIPS: Fix flood of warnings about comparsion being always true. ./arch/mips/include/asm/page.h:204:13: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] The default value of ARCH_PFN_OFFSET is 0 thus triggering this warning for all platforms using the default value. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ddfd4a054b91def32cd1fe214f0a4d5506bb553b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Nov 13 12:45:12 2015 +0100 s390: remove g5 elf platform support Remove dead code, since this could only happen on a 31 bit machine where the kernel wouldn't IPL. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c7e8b2c21c6a6fd88022ae64f997ebc574036067 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Nov 10 12:30:28 2015 +0100 s390: avoid cache aliasing under z/VM and KVM commit 1f6b83e5e4d3 ("s390: avoid z13 cache aliasing") checks for the machine type to optimize address space randomization and zero page allocation to avoid cache aliases. This check might fail under a hypervisor with migration support. z/VMs "Single System Image and Live Guest Relocation" facility will "fake" the machine type of the oldest system in the group. For example in a group of zEC12 and Z13 the guest appears to run on a zEC12 (architecture fencing within the relocation domain) Remove the machine type detection and always use cache aliasing rules that are known to work for all machines. These are the z13 aliasing rules. Suggested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit bd1c6ff74ce0bbd8cda6eb7763fa0e2625dfcc8b Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Wed Nov 4 13:23:52 2015 +0000 arm64/dma-mapping: Fix sizes in __iommu_{alloc,free}_attrs The iommu-dma layer does its own size-alignment for coherent DMA allocations based on IOMMU page sizes, but we still need to consider CPU page sizes for the cases where a non-cacheable CPU mapping is created. Whilst everything on the alloc/map path seems to implicitly align things enough to make it work, some functions used by the corresponding unmap/free path do not, which leads to problems freeing odd-sized allocations. Either way it's something we really should be handling explicitly, so do that to make both paths suitably robust. Reported-by: Yong Wu <yong.wu@xxxxxxxxxxxx> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 1451ad03fac3e86948728e0b11f63dee73d3106c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Nov 11 21:54:26 2015 +1100 powerpc: Wire up sys_mlock2() The selftest passes on 64-bit LE and 32-bit BE. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5e0a0ee4d397665e5a509ed03ed9c41727c5f228 Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Thu Nov 5 15:39:27 2015 -0700 hwmon : (applesmc) Fix uninitialized variables warnings Fix the following "maybe used uninitialized" warnings by initializing the variables to keep the compiler quiet. There is no "used uninitialized" in this case. CC [M] drivers/hwmon/applesmc.o drivers/hwmon/applesmc.c: In function â??applesmc_init_smcregâ??: drivers/hwmon/applesmc.c:595:43: warning: â??right_light_sensorâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] s->num_light_sensors = left_light_sensor + right_light_sensor; ^ drivers/hwmon/applesmc.c:540:26: note: â??right_light_sensorâ?? was declared here bool left_light_sensor, right_light_sensor; ^ drivers/hwmon/applesmc.c:595:43: warning: â??left_light_sensorâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] s->num_light_sensors = left_light_sensor + right_light_sensor; ^ drivers/hwmon/applesmc.c:540:7: note: â??left_light_sensorâ?? was declared here bool left_light_sensor, right_light_sensor; ^ Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 92e11f002cac5f6d60bc7498d8d33e6a5fb9cb6f Author: Li Yang <leoli@xxxxxxxxxxxxx> Date: Thu Nov 5 14:18:17 2015 -0600 hwmon: (ina2xx) Fix build issue by selecting REGMAP_I2C Since a0de56c81fcf ("hwmon: (ina2xx) convert driver to using regmap") the driver requires REGMAP_I2C to build. Select it by default in Kconfig. Reported-by: Guo Chunrong <B40290@xxxxxxxxxxxxx> Cc: Marc Titinger <mtitinger@xxxxxxxxxxxx> Signed-off-by: Li Yang <leoli@xxxxxxxxxxxxx> Fixes: a0de56c81fcf ("hwmon: (ina2xx) convert driver to using regmap") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2c5d7407e012721f02741f1adae2b1bdf6ef6449 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 15:18:22 2015 +0100 dmaengine: at_hdmac: use %pad format string for dma_addr_t dma_addr_t may be defined as 32 or 64 bit depending on configuration, so it cannot be printed using the normal format strings, as gcc correctly warns: drivers/dma/at_hdmac.c: In function 'atc_prep_dma_interleaved': drivers/dma/at_hdmac.c:731:28: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=] This changes the format strings to use the special "%pad" format string that prints a dma_addr_t, and changes the arguments so we pass the address by reference as required. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 268914f4e7a013a4798b5544cce9d9584de99889 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 15:16:53 2015 +0100 dmaengine: at_xdmac: use %pad format string for dma_addr_t dma_addr_t may be defined as 32 or 64 bit depending on configuration, so it cannot be printed using the normal format strings, as gcc correctly warns: drivers/dma/at_xdmac.c: In function 'at_xdmac_interleaved_queue_desc': drivers/dma/at_xdmac.c:922:51: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=] This changes the format strings to use the special "%pad" format string that prints a dma_addr_t, and changes the arguments so we pass the address by reference as required. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 29f493dafa6113d28763e9efb853e6972b41ade5 Author: Jason Liu <r64343@xxxxxxxxxxxxx> Date: Wed Nov 11 17:20:49 2015 +0800 dmaengine: imx-sdma: remove __init annotation on sdma_event_remap The sdma_probe function will call sdma_event_remap, but sdma_event_remap marked with the __init annotation which make the kbuild complains as the following log: WARNING: drivers/dma/built-in.o(.text+0x56fc): Section mismatch in reference from the function sdma_probe() to the function .init.text:sdma_event_remap() The function sdma_probe() references the function __init sdma_event_remap(). This is often because sdma_probe lacks a __init annotation or the annotation of sdma_event_remap is wrong. Remove the __init annotation on sdma_event_remap to kill this build warning Signed-off-by: Jason Liu <r64343@xxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f5ea7ad252452f0b461e04a0d0e468f1f6ad8b3b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:38:31 2015 +0300 dmaengine: edma: predecence bug in GET_NUM_QDMACH() The current code uses bits 0-2 instead of 4-6 as the comment says. Fixes: 633e42b8c546 ('dmaengine: edma: Get qDMA channel information from HW also') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 638bdc8ce845285e1112f4870aded1638187fc98 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 3 15:00:57 2015 +0100 dmaengine: edma: fix build without CONFIG_OF During the edma rework, a build error was introduced for the case that CONFIG_OF is disabled: drivers/built-in.o: In function `edma_tc_set_pm_state': :(.text+0x43bf0): undefined reference to `of_find_device_by_node' As the edma_tc_set_pm_state() function does nothing in case we are running without OF, this adds an IS_ENABLED() check that turns the function into an empty stub then and avoids the link error. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: ca304fa9bb76 ("ARM/dmaengine: edma: Public API to use private struct pointer") Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 500404ebcbd074ca11aa0c3fd9a268aa4054fd8b Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Nov 3 12:28:10 2015 +0200 dmaengine: of_dma: Correct return code for of_dma_request_slave_channel in case !CONFIG_OF of_dma_request_slave_channel should return either pointer for valid dma_chan or ERR_PTR() error code, NULL is not expected to be returned. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit bf55555baaf80cdf2cc4176fee02545a07a8ff4a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Sun Oct 25 11:09:34 2015 +0100 dmaengine: sh: usb-dmac: Fix pm_runtime_{enable,disable}() imbalance If the call to pm_runtime_get_sync() failed, Runtime PM was left enabled. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 36fa4a530b7798aa85789953b08d94c03fb09fa5 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Sun Oct 25 11:09:33 2015 +0100 dmaengine: sh: usb-dmac: Fix crash on runtime suspend If CONFIG_PREEMPT=y: Unable to handle kernel NULL pointer dereference at virtual address 00000014 pgd = c0003000 [00000014] *pgd=80000040004003, *pmd=00000000 Internal error: Oops: 206 [#1] PREEMPT SMP ARM Modules linked in: CPU: 0 PID: 17 Comm: kworker/0:1 Tainted: G W 4.3.0-rc3-koelsch-022 71-g705498fc5e6a5da8-dirty #1789 Hardware name: Generic R8A7791 (Flattened Device Tree) Workqueue: pm pm_runtime_work task: ef578e40 ti: ef57a000 task.ti: ef57a000 PC is at usb_dmac_chan_halt+0xc/0xc0 LR is at usb_dmac_runtime_suspend+0x28/0x38 pc : [<c023c880>] lr : [<c023c95c>] psr: 80000113 sp : ef57bdf8 ip : 00000008 fp : 00000003 r10: 00000008 r9 : c06ab928 r8 : ef49e810 r7 : 00000000 r6 : 000000ac r5 : ef770010 r4 : 00000000 r3 : 00000000 r2 : 8ffc2b84 r1 : 00000000 r0 : ef770010 Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 30c5307d Table: 40003000 DAC: fffffffd Process kworker/0:1 (pid: 17, stack limit = 0xef57a210) Stack: (0xef57bdf8 to 0xef57c000) [... [<c023c880>] (usb_dmac_chan_halt) from [<c023c95c>] (usb_dmac_runtime_suspend+0x28/0x38) [<c023c95c>] (usb_dmac_runtime_suspend) from [<c027b25c>] (pm_genpd_runtime_suspend+0x74/0x23c) This happens because usb_dmac_probe() calls pm_runtime_put() before usb_dmac_chan_probe(), leading to the device being suspended before the DMA channels are initialized, causing a NULL pointer dereference. Move the call to pm_runtime_put() to the end of usb_dmac_probe() to fix this. Add a check to usb_dmac_runtime_suspend() to prevent the crash from happening in the error path. Reported-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 66f44018300c5e6f53c9d30d6920332cf0e6a8f9 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Sep 19 16:43:23 2015 +0100 char: ipmi: Move MODULE_DEVICE_TABLE() to follow struct The policy for drivers is to have MODULE_DEVICE_TABLE() just after the struct used in it. For clarity. Suggested-by: Corey Minyard <minyard@xxxxxxx> Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 314ef52fe67f8f03453b69169f954e2d04679bbd Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Sat Sep 5 17:58:13 2015 -0500 ipmi: Stop the timer immediately if idle The IPMI driver would let the final timeout just happen, but it could easily just stop the timer. If the timer stop fails that's ok, that should be rare. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 0cfec916e86d881e209de4b4ae9959a6271e6660 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Sat Sep 5 17:44:13 2015 -0500 ipmi: Start the timer and thread on internal msgs The timer and thread were not being started for internal messages, so in interrupt mode if something hung the timer would never go off and clean things up. Factor out the internal message sending and start the timer for those messages, too. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Tested-by: Gouji, Masayuki <gouji.masayuki@xxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 17c790a60dad11c0193127e83ac8e183b4fed1a2 Merge: 8863002 6a4b298 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 15 20:16:26 2015 -0500 Merge branch 'mv88e6060-fixes' Neil Armstrong says: ==================== net: dsa: mv88e6060: cleanup and fix setup This patchset introduces some fixes and a registers addressing cleanup for the mv88e6060 DSA driver. The first patch removes the poll_link as mv88e6xxx. The 3 following patches fixes the setup in regards of the datasheet. The 2 last patches introduces a clean header and replaces all magic values. v2: cleanup InitReady patch, add missing Acked-by and fix header copyright notice ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a4b2980d18164a09734c2069ddb4ad4a3b69c71 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:36 2015 +0100 net: dsa: mv88e6060: replace magic values with register defines To align with the mv88e6xxx code, use the register defines to access all the register addresses and bit fields. Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7e3931181595cd15e22e199d1bbabb0468d5a93 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:42 2015 +0100 net: dsa: mv88e6060: add register defines header file To align with the mv88e6xxx code, add a similar header file with all the register defines. The file is based on the mv88e6xxx header for coherency. Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Acked-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83ea0f4cb344089b6f240d3793d8c522a8501037 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:32 2015 +0100 net: dsa: mv88e6060: use the correct bit shift for mac0 According to the mv88e6060 datasheet, the first mac byte must be at position 9 instead of 8 since the bit 8 is used to select if the mac address must differ for each port for Pause frames. Use the correct shift and set the same mac address for all port. Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b73c774e08cf1e8877b000585e8598ecee890c7f Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:24 2015 +0100 net: dsa: mv88e6060: use the correct MaxFrameSize bit According to the mv88e6060 datasheet, the MaxFrameSize bit position is 10 instead of 11 which is reserved. Use the bit correctly to setup max frame size to 1536. Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c37909b4bb24320a59f697439bc77c700ca354fe Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:19 2015 +0100 net: dsa: mv88e6060: use the correct InitReady bit According to the mv88e6060 datasheet, the InitReady bit position is 11 and the polarity is inverted. Use the bit correctly to detect the end of initialization. Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Acked-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc1e7eb846ae6677426c2dcdfe5ea323cf9036e9 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:14 2015 +0100 net: dsa: mv88e6060: remove poll_link callback As of mv88e6xxx remove the poll_link callback since the link state change polling is now handled by the phylib. Tested on a mv88e6060 B0 device with a TI DM816X SoC. Suggested-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8005c49d9aea74d382f474ce11afbbc7d7130bec Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 17:00:27 2015 -0800 Linux 4.4-rc1 commit 8863002c5acd6f89b6cf57df4dff2248e97381e1 Merge: 340c78e d49c219 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 15 18:43:47 2015 -0500 Merge branch 'mellanox-net-fixes' Or Gerlitz says: ==================== Mellanox NIC driver update, Nov 12, 2015 Few small mlx5 and mlx4 fixes from the team... done over net commit c5a3788 "Merge branch 'akpm' (patches from Andrew)" Eran's patch needs to go to 4.2 and 4.3 stable kernels. Tariq's patch need to go to 4.3 stable too. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d49c2197fd70c37d57982804465268440a33183a Author: Noa Osherovich <noaos@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:30 2015 +0200 net/mlx4_core: Avoid returning success in case of an error flow The err variable wasn't set with the correct error value in some cases. Fixes: 47605df95398 ('mlx4: Modify proxy/tunnel QP mechanism [..]') Signed-off-by: Noa Osherovich <noaos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5adbfee72282bb1f456d52b04adacd4fe6ac502 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:29 2015 +0200 net/mlx4_core: Fix sleeping while holding spinlock at rem_slave_counters When cleaning slave's counter resources, we hold a spinlock that protects the slave's counters list. As part of the clean, we call __mlx4_clear_if_stat which calls mlx4_alloc_cmd_mailbox which is a sleepable function. In order to fix this issue, hold the spinlock, and copy all counter indices into a temporary array, and release the spinlock. Afterwards, iterate over this array and free every counter. Repeat this scenario until the original list is empty (a new counter might have been added while releasing the counters from the temporary array). Fixes: b72ca7e96acf ("net/mlx4_core: Reset counters data when freed") Reported-by: Moni Shoua <monis@xxxxxxxxxxxx> Tested-by: Moni Shoua <monis@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4e28cbd24c8cb004960ddb8b22124953f6c220c Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:28 2015 +0200 net/mlx5e: Use the right DMA free function on TX path On xmit path we use skb_frag_dma_map() which is using dma_map_page(), while upon completion we dma-unmap the skb fragments using dma_unmap_single() rather than dma_unmap_page(). To fix this, we now save the dma map type on xmit path and use this info to call the right dma unmap method upon TX completion. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50a9eea694ab8e0779069e0a4e0b12e145521468 Author: Doron Tsur <doront@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:27 2015 +0200 net/mlx5e: Max mtu comparison fix On change mtu the driver compares between hardware queried mtu and software requested mtu. We need to compare between software representation of the queried mtu and the requested mtu. Fixes: facc9699f0fe ('net/mlx5e: Fix HW MTU settings') Signed-off-by: Doron Tsur <doront@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66189961e986e53ae39822898fc2ce88f44c61bb Author: Tariq Toukan <tariqt@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:26 2015 +0200 net/mlx5e: Added self loopback prevention Prevent outgoing multicast frames from looping back to the RX queue. By introducing new HW capability self_lb_en_modifiable, which indicates the support to modify self_lb_en bit in modify_tir command. When this capability is set we can prevent TIRs from sending back loopback multicast traffic to their own RQs, by "refreshing TIRs" with modify_tir command, on every time new channels (SQs/RQs) are created at device open. This is needed since TIRs are static and only allocated once on driver load, and the loopback decision is under their responsibility. Fixes issues of the kind: "IPv6: eth2: IPv6 duplicate address fe80::e61d:2dff:fe5c:f2e9 detected!" The issue is seen since the IPv6 solicitations multicast messages are loopedback and the network stack thinks they are coming from another host. Fixes: 5c50368f3831 ("net/mlx5e: Light-weight netdev open/stop") Signed-off-by: Tariq Toukan <tariqt@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba6c4c094470dc83a7275000bac2fbd46bd5ab69 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:25 2015 +0200 net/mlx5e: Fix inline header size calculation mlx5e_get_inline_hdr_size didn't take into account the vlan insertion into the inline WQE segment. This could lead to max inline violation in cases where skb_headlen(skb) + VLAN_HLEN >= sq->max_inline. Fixes: 3ea4891db8d0 ("net/mlx5e: Fix LSO vlan insertion") Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 340c78e5906264c42f9415005c7ba0a4efcfe735 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 12 09:14:12 2015 -0800 ipvs: use skb_to_full_sk() helper SYNACK packets might be attached to request sockets. Use skb_to_full_sk() helper to avoid illegal accesses to inet_sk(skb->sk) Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Acked-by: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00fd38d938db3f1ab1c486549afc450cb7e751b1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 12 08:43:18 2015 -0800 tcp: ensure proper barriers in lockless contexts Some functions access TCP sockets without holding a lock and might output non consistent data, depending on compiler and or architecture. tcp_diag_get_info(), tcp_get_info(), tcp_poll(), get_tcp4_sock() ... Introduce sk_state_load() and sk_state_store() to fix the issues, and more clearly document where this lack of locking is happening. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5883d9c6d7e680bcdc7a8a9ed2509cd10dd98206 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Thu Nov 12 14:55:18 2015 +0300 net: thunder: Fix crash upon shutdown after failed probe If device probe fails, driver remains bound to the PCI device. However, driver data has been reset to NULL. This causes crash upon dereferencing it in nicvf_remove() Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed5a377d87dc4c87fb3e1f7f698cba38cd893103 Author: lucien <lucien.xin@xxxxxxxxx> Date: Thu Nov 12 13:07:07 2015 +0800 sctp: translate host order to network order when setting a hmacid now sctp auth cannot work well when setting a hmacid manually, which is caused by that we didn't use the network order for hmacid, so fix it by adding the transformation in sctp_auth_ep_set_hmacs. even we set hmacid with the network order in userspace, it still can't work, because of this condition in sctp_auth_ep_set_hmacs(): if (id > SCTP_AUTH_HMAC_ID_MAX) return -EOPNOTSUPP; so this wasn't working before and thus it won't break compatibility. Fixes: 65b07e5d0d09 ("[SCTP]: API updates to suport SCTP-AUTH extensions.") Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52b4620294b772cdc56a9495bc0df1f81b389315 Merge: d7475de 5cfb4c8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 15 18:00:48 2015 -0500 Merge branch 'packet-fixes' Daniel Borkmann says: ==================== packet fixes Fixes a couple of issues in packet sockets, i.e. on TX ring side. See individual patches for details. v2 -> v3: - First two patches unchanged, kept Jason's Ack - Reworked 3rd patch and split into 3: - check for dev type as discussed with Willem - infer skb->protocol - fix max len for dgram v1 -> v2: - Added patch 2 as suggested by Dave - Rest is unchanged from previous submission ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5cfb4c8d05b4409c4044cb9c05b19705c1d9818b Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 11 23:25:44 2015 +0100 packet: fix tpacket_snd max frame len Since it's introduction in commit 69e3c75f4d54 ("net: TX_RING and packet mmap"), TX_RING could be used from SOCK_DGRAM and SOCK_RAW side. When used with SOCK_DGRAM only, the size_max > dev->mtu + reserve check should have reserve as 0, but currently, this is unconditionally set (in it's original form as dev->hard_header_len). I think this is not correct since tpacket_fill_skb() would then take dev->mtu and dev->hard_header_len into account for SOCK_DGRAM, the extra VLAN_HLEN could be possible in both cases. Presumably, the reserve code was copied from packet_snd(), but later on missed the check. Make it similar as we have it in packet_snd(). Fixes: 69e3c75f4d54 ("net: TX_RING and packet mmap") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c72219b75fde768efccf7666342282fab7f9e4e7 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 11 23:25:43 2015 +0100 packet: infer protocol from ethernet header if unset In case no struct sockaddr_ll has been passed to packet socket's sendmsg() when doing a TX_RING flush run, then skb->protocol is set to po->num instead, which is the protocol passed via socket(2)/bind(2). Applications only xmitting can go the path of allocating the socket as socket(PF_PACKET, <mode>, 0) and do a bind(2) on the TX_RING with sll_protocol of 0. That way, register_prot_hook() is neither called on creation nor on bind time, which saves cycles when there's no interest in capturing anyway. That leaves us however with po->num 0 instead and therefore the TX_RING flush run sets skb->protocol to 0 as well. Eric reported that this leads to problems when using tools like trafgen over bonding device. I.e. the bonding's hash function could invoke the kernel's flow dissector, which depends on skb->protocol being properly set. In the current situation, all the traffic is then directed to a single slave. Fix it up by inferring skb->protocol from the Ethernet header when not set and we have ARPHRD_ETHER device type. This is only done in case of SOCK_RAW and where we have a dev->hard_header_len length. In case of ARPHRD_ETHER devices, this is guaranteed to cover ETH_HLEN, and therefore being accessed on the skb after the skb_store_bits(). Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c70c132488794e2489ab045559b0ce0afcf17de Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 11 23:25:42 2015 +0100 packet: only allow extra vlan len on ethernet devices Packet sockets can be used by various net devices and are not really restricted to ARPHRD_ETHER device types. However, when currently checking for the extra 4 bytes that can be transmitted in VLAN case, our assumption is that we generally probe on ARPHRD_ETHER devices. Therefore, before looking into Ethernet header, check the device type first. This also fixes the issue where non-ARPHRD_ETHER devices could have no dev->hard_header_len in TX_RING SOCK_RAW case, and thus the check would test unfilled linear part of the skb (instead of non-linear). Fixes: 57f89bfa2140 ("network: Allow af_packet to transmit +4 bytes for VLAN packets.") Fixes: 52f1454f629f ("packet: allow to transmit +4 byte in TX_RING slot for VLAN case") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fd6c80d9dd938ca338c70698533a7e304752846 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 11 23:25:41 2015 +0100 packet: always probe for transport header We concluded that the skb_probe_transport_header() should better be called unconditionally. Avoiding the call into the flow dissector has also not really much to do with the direct xmit mode. While it seems that only virtio_net code makes use of GSO from non RX/TX ring packet socket paths, we should probe for a transport header nevertheless before they hit devices. Reference: http://thread.gmane.org/gmane.linux.network/386173/ Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efdfa2f7848f64517008136fb41f53c4a1faf93a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 11 23:25:40 2015 +0100 packet: do skb_probe_transport_header when we actually have data In tpacket_fill_skb() commit c1aad275b029 ("packet: set transport header before doing xmit") and later on 40893fd0fd4e ("net: switch to use skb_probe_transport_header()") was probing for a transport header on the skb from a ring buffer slot, but at a time, where the skb has _not even_ been filled with data yet. So that call into the flow dissector is pretty useless. Lets do it after we've set up the skb frags. Fixes: c1aad275b029 ("packet: set transport header before doing xmit") Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7475de58575c904818efa369c82e88c6648ce2e Author: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Date: Wed Nov 11 14:24:27 2015 -0800 tools/net: Use include/uapi with __EXPORTED_HEADERS__ Use the local uapi headers to keep in sync with "recently" added #define's (e.g. SKF_AD_VLAN_TPID). Refactored CFLAGS, and bpf_asm doesn't need -I. Fixes: 3f356385e8a4 ("filter: bpf_asm: add minimal bpf asm tool") Signed-off-by: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e63e904c629ac7c092b17328aeed88ca6e437ed3 Merge: 9001d94 02bcf4e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 15 17:15:50 2015 -0500 Merge branch 'ipv6-route-fixes' Martin KaFai Lau says: ==================== ipv6: Fixes for pmtu update and DST_NOCACHE route This patchset fixes: 1. An oops during IPv6 pmtu update on a IPv4 GRE running in an IPSec setup 2. Misc fixes on DST_NOCACHE route ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02bcf4e082e4dc634409a6a6cb7def8806d6e5e6 Author: Martin KaFai Lau <kafai@xxxxxx> Date: Wed Nov 11 11:51:08 2015 -0800 ipv6: Check rt->dst.from for the DST_NOCACHE route All DST_NOCACHE rt6_info used to have rt->dst.from set to its parent. After commit 8e3d5be73681 ("ipv6: Avoid double dst_free"), DST_NOCACHE is also set to rt6_info which does not have a parent (i.e. rt->dst.from is NULL). This patch catches the rt->dst.from == NULL case. Fixes: 8e3d5be73681 ("ipv6: Avoid double dst_free") Signed-off-by: Martin KaFai Lau <kafai@xxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5973fb1e245086071bf71994c8b54d99526ded03 Author: Martin KaFai Lau <kafai@xxxxxx> Date: Wed Nov 11 11:51:07 2015 -0800 ipv6: Check expire on DST_NOCACHE route Since the expires of the DST_NOCACHE rt can be set during the ip6_rt_update_pmtu(), we also need to consider the expires value when doing ip6_dst_check(). This patches creates __rt6_check_expired() to only check the expire value (if one exists) of the current rt. In rt6_dst_from_check(), it adds __rt6_check_expired() as one of the condition check. Signed-off-by: Martin KaFai Lau <kafai@xxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d3f6d297bfb7af24d0508460fdb3d1ec4903fa3 Author: Martin KaFai Lau <kafai@xxxxxx> Date: Wed Nov 11 11:51:06 2015 -0800 ipv6: Avoid creating RTF_CACHE from a rt that is not managed by fib6 tree The original bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1272571 The setup has a IPv4 GRE tunnel running in a IPSec. The bug happens when ndisc starts sending router solicitation at the gre interface. The simplified oops stack is like: __lock_acquire+0x1b2/0x1c30 lock_acquire+0xb9/0x140 _raw_write_lock_bh+0x3f/0x50 __ip6_ins_rt+0x2e/0x60 ip6_ins_rt+0x49/0x50 ~~~~~~~~ __ip6_rt_update_pmtu.part.54+0x145/0x250 ip6_rt_update_pmtu+0x2e/0x40 ~~~~~~~~ ip_tunnel_xmit+0x1f1/0xf40 __gre_xmit+0x7a/0x90 ipgre_xmit+0x15a/0x220 dev_hard_start_xmit+0x2bd/0x480 __dev_queue_xmit+0x696/0x730 dev_queue_xmit+0x10/0x20 neigh_direct_output+0x11/0x20 ip6_finish_output2+0x21f/0x770 ip6_finish_output+0xa7/0x1d0 ip6_output+0x56/0x190 ~~~~~~~~ ndisc_send_skb+0x1d9/0x400 ndisc_send_rs+0x88/0xc0 ~~~~~~~~ The rt passed to ip6_rt_update_pmtu() is created by icmp6_dst_alloc() and it is not managed by the fib6 tree, so its rt6i_table == NULL. When __ip6_rt_update_pmtu() creates a RTF_CACHE clone, the newly created clone also has rt6i_table == NULL and it causes the ip6_ins_rt() oops. During pmtu update, we only want to create a RTF_CACHE clone from a rt which is currently managed (or owned) by the fib6 tree. It means either rt->rt6i_node != NULL or rt is a RTF_PCPU clone. It is worth to note that rt6i_table may not be NULL even it is not (yet) managed by the fib6 tree (e.g. addrconf_dst_alloc()). Hence, rt6i_node is a better check instead of rt6i_table. Fixes: 45e4fd26683c ("ipv6: Only create RTF_CACHE routes after encountering pmtu") Signed-off-by: Martin KaFai Lau <kafai@xxxxxx> Reported-by: Chris Siebenmann <cks-rhbugzilla@xxxxxxxxxxxxxx> Cc: Chris Siebenmann <cks-rhbugzilla@xxxxxxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9001d94dfd558f175bede9f847276f691cd9c164 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Wed Nov 11 15:22:40 2015 +0000 fjes: fix inconsistent indenting minor change, indenting is one tab out. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73ed5d25dce0354ea381d6dc93005c3085fae03d Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 16:23:15 2015 +0100 af-unix: fix use-after-free with concurrent readers while splicing During splicing an af-unix socket to a pipe we have to drop all af-unix socket locks. While doing so we allow another reader to enter unix_stream_read_generic which can read, copy and finally free another skb. If exactly this skb is just in process of being spliced we get a use-after-free report by kasan. First, we must make sure to not have a free while the skb is used during the splice operation. We simply increment its use counter before unlocking the reader lock. Stream sockets have the nice characteristic that we don't care about zero length writes and they never reach the peer socket's queue. That said, we can take the UNIXCB.consumed field as the indicator if the skb was already freed from the socket's receive queue. If the skb was fully consumed after we locked the reader side again we know it has been dropped by a second reader. We indicate a short read to user space and abort the current splice operation. This bug has been found with syzkaller (http://github.com/google/syzkaller) by Dmitry Vyukov. Fixes: 2b514574f7e8 ("net: af_unix: implement splice for stream af_unix sockets") Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ca9b67606f0ce984b5811b0830cfd7d143f6077 Merge: 051b29f 41ac18e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:36:24 2015 -0800 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf updates from Thomas Gleixner: "Mostly updates to the perf tool plus two fixes to the kernel core code: - Handle tracepoint filters correctly for inherited events (Peter Zijlstra) - Prevent a deadlock in perf_lock_task_context (Paul McKenney) - Add missing newlines to some pr_err() calls (Arnaldo Carvalho de Melo) - Print full source file paths when using 'perf annotate --print-line --full-paths' (Michael Petlan) - Fix 'perf probe -d' when just one out of uprobes and kprobes is enabled (Wang Nan) - Add compiler.h to list.h to fix 'make perf-tar-src-pkg' generated tarballs, i.e. out of tree building (Arnaldo Carvalho de Melo) - Add the llvm-src-base.c and llvm-src-kbuild.c files, generated by the 'perf test' LLVM entries, when running it in-tree, to .gitignore (Yunlong Song) - libbpf error reporting improvements, using a strerror interface to more precisely tell the user about problems with the provided scriptlet, be it in C or as a ready made object file (Wang Nan) - Do not be case sensitive when searching for matching 'perf test' entries (Arnaldo Carvalho de Melo) - Inform the user about objdump failures in 'perf annotate' (Andi Kleen) - Improve the LLVM 'perf test' entry, introduce a new ones for BPF and kbuild tests to check the environment used by clang to compile .c scriptlets (Wang Nan)" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits) perf/x86/intel/rapl: Remove the unused RAPL_EVENT_DESC() macro tools include: Add compiler.h to list.h perf probe: Verify parameters in two functions perf session: Add missing newlines to some pr_err() calls perf annotate: Support full source file paths for srcline fix perf test: Add llvm-src-base.c and llvm-src-kbuild.c to .gitignore perf: Fix inherited events vs. tracepoint filters perf: Disable IRQs across RCU RS CS that acquires scheduler lock perf test: Do not be case sensitive when searching for matching tests perf test: Add 'perf test BPF' perf test: Enhance the LLVM tests: add kbuild test perf test: Enhance the LLVM test: update basic BPF test program perf bpf: Improve BPF related error messages perf tools: Make fetch_kernel_version() publicly available bpf tools: Add new API bpf_object__get_kversion() bpf tools: Improve libbpf error reporting perf probe: Cleanup find_perf_probe_point_from_map to reduce redundancy perf annotate: Inform the user about objdump failures in --stdio perf stat: Make stat options global perf sched latency: Fix thread pid reuse issue ... commit 051b29f2798b5f1a95e745613117eeb367ab4bce Merge: 8f98e29 25b3e5a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:35:33 2015 -0800 Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fix from Thomas Gleixner: "A single fix to prevent math underflow in the numa balancing code" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/numa: Fix math underflow in task_tick_numa() commit 8f98e292eb612956e1add401f28dc76ffea20323 Merge: bba072d b32e1f5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:34:32 2015 -0800 Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull liblockdep fixes from Thomas Gleixner: "Three small patches to synchronize liblockdep with the latest core changes" * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: tools/liblockdep: explicitly declare lockdep API we call from liblockdep tools/liblockdep: add userspace versions of WRITE_ONCE and RCU_INIT_POINTER tools/liblockdep: remove task argument from debug_check_no_locks_held commit bba072dfd7bf87f0712e569a78ae9c0e91e0a8df Merge: 511601b 04633df Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:32:59 2015 -0800 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Thomas Gleixner: "A couple of fixes and updates related to x86: - Fix the W+X check regression on XEN - The real fix for the low identity map trainwreck - Probe legacy PIC early instead of unconditionally allocating legacy irqs - Add cpu verification to long mode entry - Adjust the cache topology to AMD Fam17H systems - Let Merrifield use the TSC across S3" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu: Call verify_cpu() after having entered long mode too x86/setup: Fix low identity map for >= 2GB kernel range x86/mm: Skip the hypervisor range when walking PGD x86/AMD: Fix last level cache topology for AMD Fam17h systems x86/irq: Probe for PIC presence before allocating descs for legacy IRQs x86/cpu/intel: Enable X86_FEATURE_NONSTOP_TSC_S3 for Merrifield commit 511601bdbcacd3ab615564941409bf012435b23d Merge: b84da9f 4717f13 22b886d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:30:48 2015 -0800 Merge branches 'irq-urgent-for-linus' and 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq and timer fixes from Thomas Gleixner: - An irq regression fix to restore the wakeup behaviour of chained interrupts. - A timer fix for a long standing race versus timers scheduled on a target cpu which got exposed by recent changes in the workqueue implementation. * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq/PM: Restore system wake up from chained interrupts * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: timers: Use proper base migration in add_timer_on() commit b84da9fa47cf6e8dfd71d673a2f744ec1cac452c Merge: 12b76f3 da34232 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:10:53 2015 -0800 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS updates from Ralf Baechle: "These are the highlists of the main MIPS pull request for 4.4: - Add latencytop support - Support appended DTBs - VDSO support and initially use it for gettimeofday. - Drop the .MIPS.abiflags and ELF NOTE sections from vmlinux - Support for the 5KE, an internal test core. - Switch all MIPS platfroms to libata drivers. - Improved support, cleanups for ralink and Lantiq platforms. - Support for the new xilfpga platform. - A number of DTB improvments for BMIPS. - Improved support for CM and CPS. - Minor JZ4740 and BCM47xx enhancements" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (120 commits) MIPS: idle: add case for CPU_5KE MIPS: Octeon: Support APPENDED_DTB MIPS: vmlinux: create a section for appended DTB MIPS: Clean up compat_siginfo_t MIPS: Fix PAGE_MASK definition MIPS: BMIPS: Enable GZIP ramdisk and timed printks MIPS: Add xilfpga defconfig MIPS: xilfpga: Add mipsfpga platform code MIPS: xilfpga: Add xilfpga device tree files. dt-bindings: MIPS: Document xilfpga bindings and boot style MIPS: Make MIPS_CMDLINE_DTB default MIPS: Make the kernel arguments from dtb available MIPS: Use USE_OF as the guard for appended dtb MIPS: BCM63XX: Use pr_* instead of printk MIPS: Loongson: Cleanup CONFIG_LOONGSON_SUSPEND. MIPS: lantiq: Disable xbar fpi burst mode MIPS: lantiq: Force the crossbar to big endian MIPS: lantiq: Initialize the USB core on boot MIPS: lantiq: Return correct value for fpi clock on ar9 MIPS: ralink: Add missing clock on rt305x ... commit a57f8dac46fbac5ab0e31aef1a98b3f6eb30c079 Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Wed Nov 11 21:24:38 2015 +0100 iio: adc: xilinx: Fix VREFN scale The scaling factor for VREFN is 3.0/4096 (not 1.0/4096), just as for VREFP. This is not immediately obvious from the specification (Xilinx UG480), but has been confirmed by Xilinx support. Suggested-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0d2f6fd3ffd5e7a447233a57112246bc00064752 Author: Chris Lesiak <chris.lesiak@xxxxxxxxx> Date: Mon Nov 2 15:45:03 2015 -0600 iio: si7020: Swap data byte order The Silicon Labs Si7013, Si7020, and Si7021 family of I2C humidity and temperature sensors deliver 16 bit data high byte first. See the datasheet available at: https://www.silabs.com/Support%20Documents%2fTechnicalDocs%2fSi7020-A20.pdf But as documented in Documentation/i2c/smbus-protocol, i2c_smbus_read_word_data() expects the low byte first. Change the driver to use i2c_smbus_read_word_swapped to get correct byte order. Signed-off-by: Chris Lesiak <chris.lesiak@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 12b76f3bf336388916ddf8047156f9e9993ff4e9 Merge: b3a0d9a 2db1a57 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 14 09:43:00 2015 -0800 Merge tag 'sound-fix-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are a collection of small fixes tha have been gathered for 4.4-rc1. The only significant changes are those in PCI drivers Kconfig, to use "depends on" instead of "select" for CONFIG_ZONE_DMA. A reverse select is often more user-friendly, but in this case, it makes hard to manage with the conflict with ZONE_DEVICE, so changed in such a way for now. Others are all small fixes and quirks: an error check in soundcore reigster_chrdev(), HD-audio HDMI/DP phantom jack fix, Intel Broxton DP quirk, USB-audio DSD device quirk, some constifications, etc" * tag 'sound-fix-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: pci: depend on ZONE_DMA ALSA: hda - Simplify phantom jack handling for HDMI/DP ALSA: hda/hdmi - apply Skylake fix-ups to Broxton display codec ALSA: ctxfi: constify rsc ops structures ALSA: usb: Add native DSD support for Aune X1S ALSA: oxfw: add an comment to Kconfig for TASCAM FireOne sound: fix check for error condition of register_chrdev() commit b3a0d9a232c72c38c9db6fe1456015a82119afc3 Merge: 63f4f7e 30b9dbe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 14 09:09:37 2015 -0800 Merge tag 'arc-4.4-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC fixes from Vineet Gupta: "Found a couple of brown paper bag bugs with the prev pull request (including a SMP build breakage report from Guenter). Since these are urgent I also decided to send over a bunch of other pending fixes which could have otherwise waited an rc or two. Summary: - A bunch of brown paper bag bugs (MAINTAINERS list email, SMP build failure) - cpu_relax() now compiler barrier for UP as well - handling of userspace Bus Errors for ARCompact builds" * tag 'arc-4.4-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARC: Fix silly typo in MAINTAINERS file ARC: cpu_relax() to be compiler barrier even for UP ARC: use ASL assembler mnemonic ARC: [arcompact] Handle bus error from userspace as Interrupt not exception ARC: remove extraneous header include ARCv2: lib: memcpy: use local symbols commit 30b9dbee895ff0d5cbf155bd1ef3f0f5992bca6f Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Nov 14 12:58:53 2015 +0530 ARC: Fix silly typo in MAINTAINERS file commit 1cfc05cbe2c9757c6cc36804df96e3ed28e940a1 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Nov 9 17:48:34 2015 +0530 ARC: cpu_relax() to be compiler barrier even for UP cpu_relax() on ARC has been barrier only for SMP (and no-op for UP). Per recent discussions, it is safer to make it a compiler barrier unconditionally. Link: http://lkml.kernel.org/r/53A7D3AA.9020100@xxxxxxxxxxxx Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit a6416f57ce57fb390b6ee30b12c01c29032a26af Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Nov 5 09:13:31 2015 +0530 ARC: use ASL assembler mnemonic ARCompact and ARCv2 only have ASL, while binutils used to support LSL as a alias mnemonic. Newer binutils (upstream) don't want to do that so replace it. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 541366da6a93f52f468b408ba24ab6bb5e4fd3d8 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Oct 31 01:22:51 2015 +0530 ARC: [arcompact] Handle bus error from userspace as Interrupt not exception Bus errors from userspace on ARCompact based cores are handled by core as a high priority L2 interrupt but current code treated it as interrupt Handling an interrupt like exception is certainly not going to go unnoticed. (and it worked so far as we never saw a Bus error from userspace until IPPK guys tested a DDR controller with ECC error detection etc hence needed to explicitly trigger/handle such errors) - So move mem_service exception handler from common code into ARCv2 code. - In ARCompact code, define mem_service as L2 interrupt handler which just drops down to pure kernel mode and goes of to enqueue SIGBUS Reported-by: Nelson Pereira <npereira@xxxxxxxxxxxx> Tested-by: Ana Martins <amartins@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 76a8c40c65a2fc9e526fcba97c0cd1a6ecbd3438 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Oct 31 00:47:39 2015 +0530 ARC: remove extraneous header include Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 63f4f7e8df6c504f39c6493799b54775916030d6 Merge: 4bfc89d ebaf31c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 21:53:18 2015 -0800 Merge tag 'chrome-platform-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform Pull chrome platform updates from Olof Johansson: "Here's the branch of chrome platform changes for v4.4. Some have been queued up for the full 4.3 release cycle since I forgot to send them in for that round (rebased early on to deal with fixes conflicts). Most of these enable EC communication stuff -- Pixel 2015 support, enabling building for ARM64 platforms, and a few fixes for memory leaks. There's also a patch in here to allow reading/writing the verified boot context, which depends on a sysfs patch acked by Greg" * tag 'chrome-platform-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform: platform/chrome: Fix i2c-designware adapter name platform/chrome: Support reading/writing the vboot context sysfs: Support is_visible() on binary attributes platform/chrome: cros_ec: Fix possible leak in led_rgb_store() platform/chrome: cros_ec: Fix leak in sequence_store() platform/chrome: Enable Chrome platforms on 64-bit ARM platform/chrome: cros_ec_dev - Add a platform device ID table platform/chrome: cros_ec_lpc - Add support for Google Pixel 2 platform/chrome: cros_ec_lpc - Use existing function to check EC result platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO Revert "platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM" commit 4bfc89d26a0d177a79574fc1b54fc728e3bb8b4e Merge: a30b7ca b829834 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 21:47:06 2015 -0800 Merge tag 'platform-drivers-x86-v4.4-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull another x86 platform driver update from Darren Hart: "Support for the unfortunately rather unique ESC key on the Ideapad Yoga 3 and two DMI matches for rfkill support. Solitary fix for potential missed errors for asus-wmi. Downgrade a thinkpad_acpi message to info. asus-wmi: - fix error handling in store_sys_wmi() ideapad-laptop: - Add Lenovo Yoga 900 to no_hw_rfkill dmi list - include Yoga 3 1170 in add rfkill whitelist - add support for Yoga 3 ESC key thinkpad_acpi: - Don't yell on unsupported brightness interfaces" * tag 'platform-drivers-x86-v4.4-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: asus-wmi: fix error handling in store_sys_wmi() ideapad-laptop: Add Lenovo Yoga 900 to no_hw_rfkill dmi list ideapad-laptop: include Yoga 3 1170 in add rfkill whitelist ideapad-laptop: add support for Yoga 3 ESC key thinkpad_acpi: Don't yell on unsupported brightness interfaces commit a30b7ca2894994e4e2f2e06811ee67fa637bca2e Merge: d83763f bbdb5c2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 21:41:14 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull more input updates from Dmitry Torokhov: "An update to the tsc2005 driver that allows it to also support tsc2004 (basically the same controller, but uses i2c instead of spi bus), and a couple of bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: parkbd - drop bogus __init from parkbd_allocate_serio() Input: elantech - add Fujitsu Lifebook U745 to force crc_enabled Input: tsc2004 - add support for tsc2004 Input: tsc200x-core - rename functions and variables Input: tsc2005 - separate SPI and core functions commit d83763f4a6adb2f417c3288ee903982985ae949c Merge: 9aa3d65 0a5149b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 20:35:54 2015 -0800 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull final round of SCSI updates from James Bottomley: "Sorry for the delay in this patch which was mostly caused by getting the merger of the mpt2/mpt3sas driver, which was seen as an essential item of maintenance work to do before the drivers diverge too much. Unfortunately, this caused a compile failure (detected by linux-next), which then had to be fixed up and incubated. In addition to the mpt2/3sas rework, there are updates from pm80xx, lpfc, bnx2fc, hpsa, ipr, aacraid, megaraid_sas, storvsc and ufs plus an assortment of changes including some year 2038 issues, a fix for a remove before detach issue in some drivers and a couple of other minor issues" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (141 commits) mpt3sas: fix inline markers on non inline function declarations sd: Clear PS bit before Mode Select. ibmvscsi: set max_lun to 32 ibmvscsi: display default value for max_id, max_lun and max_channel. mptfusion: don't allow negative bytes in kbuf_alloc_2_sgl() scsi: pmcraid: replace struct timeval with ktime_get_real_seconds() mvumi: 64bit value for seconds_since1970 be2iscsi: Fix bogus WARN_ON length check scsi_scan: don't dump trace when scsi_prep_async_scan() is called twice mpt3sas: Bump mpt3sas driver version to 09.102.00.00 mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs mpt2sas, mpt3sas: Update the driver versions mpt3sas: setpci reset kernel oops fix mpt3sas: Added OEM Gen2 PnP ID branding names mpt3sas: Refcount fw_events and fix unsafe list usage mpt3sas: Refcount sas_device objects and fix unsafe list usage mpt3sas: sysfs attribute to report Backup Rail Monitor Status mpt3sas: Ported WarpDrive product SSS6200 support mpt3sas: fix for driver fails EEH, recovery from injected pci bus error mpt3sas: Manage MSI-X vectors according to HBA device type ... commit 9aa3d651a9199103eb6451aeb0ac1b66a6d770a6 Merge: 5d2eb54 5179822 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 20:04:17 2015 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending Pull SCSI target updates from Nicholas Bellinger: "This series contains HCH's changes to absorb configfs attribute ->show() + ->store() function pointer usage from it's original tree-wide consumers, into common configfs code. It includes usb-gadget, target w/ drivers, netconsole and ocfs2 changes to realize the improved simplicity, that now renders the original include/target/configfs_macros.h CPP magic for fabric drivers and others, unnecessary and obsolete. And with common code in place, new configfs attributes can be added easier than ever before. Note, there are further improvements in-flight from other folks for v4.5 code in configfs land, plus number of target fixes for post -rc1 code" In the meantime, a new user of the now-removed old configfs API came in through the char/misc tree in commit 7bd1d4093c2f ("stm class: Introduce an abstraction for System Trace Module devices"). This merge resolution comes from Alexander Shishkin, who updated his stm class tracing abstraction to account for the removal of the old show_attribute and store_attribute methods in commit 517982229f78 ("configfs: remove old API") from this pull. As Alexander says about that patch: "There's no need to keep an extra wrapper structure per item and the awkward show_attribute/store_attribute item ops are no longer needed. This patch converts policy code to the new api, all the while making the code quite a bit smaller and easier on the eyes. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>" That patch was folded into the merge so that the tree should be fully bisectable. * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (23 commits) configfs: remove old API ocfs2/cluster: use per-attribute show and store methods ocfs2/cluster: move locking into attribute store methods netconsole: use per-attribute show and store methods target: use per-attribute show and store methods spear13xx_pcie_gadget: use per-attribute show and store methods dlm: use per-attribute show and store methods usb-gadget/f_serial: use per-attribute show and store methods usb-gadget/f_phonet: use per-attribute show and store methods usb-gadget/f_obex: use per-attribute show and store methods usb-gadget/f_uac2: use per-attribute show and store methods usb-gadget/f_uac1: use per-attribute show and store methods usb-gadget/f_mass_storage: use per-attribute show and store methods usb-gadget/f_sourcesink: use per-attribute show and store methods usb-gadget/f_printer: use per-attribute show and store methods usb-gadget/f_midi: use per-attribute show and store methods usb-gadget/f_loopback: use per-attribute show and store methods usb-gadget/ether: use per-attribute show and store methods usb-gadget/f_acm: use per-attribute show and store methods usb-gadget/f_hid: use per-attribute show and store methods ... commit 5d2eb548b309be34ecf3b91f0b7300a2b9d09b8c Merge: 2870f6c 29608d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 18:02:30 2015 -0800 Merge branch 'for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs xattr cleanups from Al Viro. * 'for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: f2fs: xattr simplifications squashfs: xattr simplifications 9p: xattr simplifications xattr handlers: Pass handler to operations instead of flags jffs2: Add missing capability check for listing trusted xattrs hfsplus: Remove unused xattr handler list operations ubifs: Remove unused security xattr handler vfs: Fix the posix_acl_xattr_list return value vfs: Check attribute names in posix acl xattr handers commit 2870f6c4d136e093e22159b8916918ff42c92218 Merge: 934f98d 152d7bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 17:35:48 2015 -0800 Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull libnvdimm fixes from Dan Williams: - three fixes tagged for -stable including a crash fix, simple performance tweak, and an invalid i/o error. - build regression fix for the nvdimm unit tests - nvdimm documentation update * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: dax: fix __dax_pmd_fault crash libnvdimm: documentation clarifications libnvdimm, pmem: fix size trim in pmem_direct_access() libnvdimm, e820: fix numa node for e820-type-12 pmem ranges tools/testing/nvdimm, acpica: fix flag rename build breakage commit 29608d208b3619b3b508a6871622db789611d8a3 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:54 2015 +0200 f2fs: xattr simplifications Now that the xattr handler is passed to the xattr handler operations, we have access to the attribute name prefix, so simplify f2fs_xattr_generic_list. Also, f2fs_xattr_advise_list is only ever called for f2fs_xattr_advise_handler; there is no need to double check for that. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Cc: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Cc: Changman Lee <cm224.lee@xxxxxxxxxxx> Cc: Chao Yu <chao2.yu@xxxxxxxxxxx> Cc: linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0ddaf72c1da8b84bc2896e1997ef3f1a22765194 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:53 2015 +0200 squashfs: xattr simplifications Now that the xattr handler is passed to the xattr handler operations, we have access to the attribute name prefix, so simplify the squashfs xattr handlers a bit. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Cc: Phillip Lougher <phillip@xxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e409de992e3ea3674393465f07cc71c948edd87a Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:52 2015 +0200 9p: xattr simplifications Now that the xattr handler is passed to the xattr handler operations, we can use the same get and set operations for the user, trusted, and security xattr namespaces. In those namespaces, we can access the full attribute name by "reattaching" the name prefix the vfs has skipped for us. Add a xattr_full_name helper to make this obvious in the code. For the "system.posix_acl_access" and "system.posix_acl_default" attributes, handler->prefix is the full attribute name; the suffix is the empty string. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Cc: Ron Minnich <rminnich@xxxxxxxxxx> Cc: Latchesar Ionkov <lucho@xxxxxxxxxx> Cc: v9fs-developer@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d9a82a04033f87bbd06efb29f78c0170a38154a8 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:51 2015 +0200 xattr handlers: Pass handler to operations instead of flags The xattr_handler operations are currently all passed a file system specific flags value which the operations can use to disambiguate between different handlers; some file systems use that to distinguish the xattr namespace, for example. In some oprations, it would be useful to also have access to the handler prefix. To allow that, pass a pointer to the handler to operations instead of the flags value alone. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bf781714b3e1421a0ebcd0137d081e6566a89f15 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:50 2015 +0200 jffs2: Add missing capability check for listing trusted xattrs The vfs checks if a task has the appropriate access for get and set operations, but it cannot do that for the list operation; the file system must check for that itself. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e282fb7f3bce68089ae2b40c227b015c23764a38 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:49 2015 +0200 hfsplus: Remove unused xattr handler list operations The list operations can never be called; they are even documented to be unused. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 13d3408f100186d2755d9ac1ad8b5de9e1975a92 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:48 2015 +0200 ubifs: Remove unused security xattr handler Ubifs installs a security xattr handler in sb->s_xattr but doesn't use the generic_{get,set,list,remove}xattr inode operations needed for processing this list of attribute handlers; the handler is never called. Instead, ubifs uses its own xattr handlers which also process security xattrs. Remove the dead code. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> Cc: Artem Bityutskiy <dedekind1@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx Cc: Subodh Nijsure <snijsure@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit dae5f57a72a6c913926cf3569edb0556a409a3df Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 15:25:08 2015 +0100 vfs: Fix the posix_acl_xattr_list return value When a filesystem that contains POSIX ACLs is mounted without ACL support (-o noacl), the appropriate behavior is not to list any existing POSIX ACL xattrs. The return value for list xattr handlers in this case is 0, not an error code: several filesystems that use the POSIX ACL xattr handlers do not expect the list operation to fail. Symlinks cannot have ACLs, so posix_acl_xattr_list will never be called for symlinks in the first place. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c361016adeb5acb17a67000689602b7515930f13 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 15:25:07 2015 +0100 vfs: Check attribute names in posix acl xattr handers The get and set operations of the POSIX ACL xattr handlers failed to check the attribute names, so all names with "system.posix_acl_access" or "system.posix_acl_default" as a prefix were accepted. Reject invalid names from now on. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 934f98d7e8123892bd9ca8ea08728ee0784e6597 Merge: f3996e6 222e684 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 17:05:32 2015 -0800 Merge tag 'vfio-v4.4-rc1' of git://github.com/awilliam/linux-vfio Pull VFIO updates from Alex Williamson: - Use kernel interfaces for VPD emulation (Alex Williamson) - Platform fix for releasing IRQs (Eric Auger) - Type1 IOMMU always advertises PAGE_SIZE support when smaller mapping sizes are available (Eric Auger) - Platform fixes for incorrectly using copies of structures rather than pointers to structures (James Morse) - Rework platform reset modules, fix leak, and add AMD xgbe reset module (Eric Auger) - Fix vfio_device_get_from_name() return value (Joerg Roedel) - No-IOMMU interface (Alex Williamson) - Fix potential out of bounds array access in PCI config handling (Dan Carpenter) * tag 'vfio-v4.4-rc1' of git://github.com/awilliam/linux-vfio: vfio/pci: make an array larger vfio: Include No-IOMMU mode vfio: Fix bug in vfio_device_get_from_name() VFIO: platform: reset: AMD xgbe reset module vfio: platform: reset: calxedaxgmac: fix ioaddr leak vfio: platform: add dev_info on device reset vfio: platform: use list of registered reset function vfio: platform: add compat in vfio_platform_device vfio: platform: reset: calxedaxgmac: add reset function registration vfio: platform: introduce module_vfio_reset_handler macro vfio: platform: add capability to register a reset function vfio: platform: introduce vfio-platform-base module vfio/platform: store mapped memory in region, instead of an on-stack copy vfio/type1: handle case where IOMMU does not support PAGE_SIZE size VFIO: platform: clear IRQ_NOAUTOEN when de-assigning the IRQ vfio/pci: Use kernel VPD access functions vfio: Whitelist PCI bridges commit f3996e6ac6e2bd739d8a82cc9acae0653c2d5dca Merge: e75cdf9 7b52e27 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 16:40:36 2015 -0800 Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 Pull SMB3 updates from Steve French: "A collection of SMB3 patches adding some reliability features (persistent and resilient handles) and improving SMB3 copy offload. I will have some additional patches for SMB3 encryption and SMB3.1.1 signing (important security features), and also for improving SMB3 persistent handle reconnection (setting ChannelSequence number e.g.) that I am still working on but wanted to get this set in since they can stand alone" * 'for-next' of git://git.samba.org/sfrench/cifs-2.6: Allow copy offload (CopyChunk) across shares Add resilienthandles mount parm [SMB3] Send durable handle v2 contexts when use of persistent handles required [SMB3] Display persistenthandles in /proc/mounts for SMB3 shares if enabled [SMB3] Enable checking for continuous availability and persistent handle support [SMB3] Add parsing for new mount option controlling persistent handles Allow duplicate extents in SMB3 not just SMB3.1.1 commit e75cdf9898132f521df98a3ce1c280a2f85d360a Merge: ca4ba96 d5f2e33 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 16:30:29 2015 -0800 Merge branch 'for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fixes and cleanups from Chris Mason: "Some of this got cherry-picked from a github repo this week, but I verified the patches. We have three small scrub cleanups and a collection of fixes" * 'for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: btrfs: Use fs_info directly in btrfs_delete_unused_bgs btrfs: Fix lost-data-profile caused by balance bg btrfs: Fix lost-data-profile caused by auto removing bg btrfs: Remove len argument from scrub_find_csum btrfs: Reduce unnecessary arguments in scrub_recheck_block btrfs: Use scrub_checksum_data and scrub_checksum_tree_block for scrub_recheck_block_checksum btrfs: Reset sblock->xxx_error stats before calling scrub_recheck_block_checksum btrfs: scrub: setup all fields for sblock_to_check btrfs: scrub: set error stats when tree block spanning stripes Btrfs: fix race when listing an inode's xattrs Btrfs: fix race leading to BUG_ON when running delalloc for nodatacow Btrfs: fix race leading to incorrect item deletion when dropping extents Btrfs: fix sleeping inside atomic context in qgroup rescan worker Btrfs: fix race waiting for qgroup rescan worker btrfs: qgroup: exit the rescan worker during umount Btrfs: fix extent accounting for partial direct IO writes commit d29d67357db8dad08f97162bbeb51e4975ee67fd Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Thu Nov 12 19:52:30 2015 -0500 ACPI / CPPC: Use h/w reduced version of the PCCT structure CPPC is enabled only on platforms which support the h/w reduced ACPI specification, so use the h/w reduced version of the PCCT consistently when deferencing PCCT contents. Fixes: 337aadff8e45 (ACPI: Introduce CPU performance controls using CPPC) Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5369a21e3f26ef9d2bf6ea1b322d6899a4ed08e0 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu Nov 12 02:42:32 2015 -0500 x86: remove unused definition of MSR_NHM_PLATFORM_INFO MSR_NHM_PLATFORM_INFO has been replaced by... MSR_PLATFORM_INFO Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ec0adc539b8bf59b7c00db0748671f6594b77843 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu Nov 12 02:42:31 2015 -0500 tools/power turbostat: use new name for MSR_PLATFORM_INFO MSR_PLATFORM_INFO is the new name for MSR_NHM_PLATFORM_INFO no functional change Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bbdb5c22e12507e7f1637091bc24fe4d33e128e5 Merge: e60e063 5e0baca Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Nov 13 11:56:45 2015 -0800 Merge branch 'next' into for-linus Prepare second round of input updates for 4.3 merge window. commit ca4ba96e02e932a0c9997a40fd51253b5b2d0f9d Merge: 4aeabc6 583d0fe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 09:24:40 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph updates from Sage Weil: "There are several patches from Ilya fixing RBD allocation lifecycle issues, a series adding a nocephx_sign_messages option (and associated bug fixes/cleanups), several patches from Zheng improving the (directory) fsync behavior, a big improvement in IO for direct-io requests when striping is enabled from Caifeng, and several other small fixes and cleanups" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: libceph: clear msg->con in ceph_msg_release() only libceph: add nocephx_sign_messages option libceph: stop duplicating client fields in messenger libceph: drop authorizer check from cephx msg signing routines libceph: msg signing callouts don't need con argument libceph: evaluate osd_req_op_data() arguments only once ceph: make fsync() wait unsafe requests that created/modified inode ceph: add request to i_unsafe_dirops when getting unsafe reply libceph: introduce ceph_x_authorizer_cleanup() ceph: don't invalidate page cache when inode is no longer used rbd: remove duplicate calls to rbd_dev_mapping_clear() rbd: set device_type::release instead of device::release rbd: don't free rbd_dev outside of the release callback rbd: return -ENOMEM instead of pool id if rbd_dev_create() fails libceph: use local variable cursor instead of &msg->cursor libceph: remove con argument in handle_reply() ceph: combine as many iovec as possile into one OSD request ceph: fix message length computation ceph: fix a comment typo rbd: drop null test before destroy functions commit 4aeabc6b5ca3b9d025f287978096e138bdfbdd35 Merge: be4773e 91633a6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 09:19:05 2015 -0800 Merge tag '4.4-additional' of git://git.lwn.net/linux Pull more documentation updates from Jon Corbet: "A few more documentation patches that wandered in and have no reason to wait; these include some improvements to the suggestions for email clients and patch submission" * tag '4.4-additional' of git://git.lwn.net/linux: Documentation: Add minimal Mutt config for using Gmail Documentation: Add note on sending files directly with Mutt Documentation: dontdiff: remove media from dontdiff Documentation/SubmittingPatches: discuss In-Reply-To Remove email address from Documentation/filesystems/overlayfs.txt can-doc: Add missing semicolon to example commit be4773e6a11a0cc1e63c9c32f000b870e51b8c01 Merge: f6d07df f20780f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 09:12:38 2015 -0800 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull drm sti driver updates from Dave Airlie: "The sti driver had a requirement on some patches in Greg's tree, they are in, so I see no problems just merging this one now" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: drm/sti: load HQVDP firmware the first time HQVDP's plane is used drm/sti: fix typo issue in sti_mode_config_init drm/sti: set mixer background color through module param drm/sti: Remove local fbdev emulation Kconfig option drm/sti: remove redundant sign extensions drm/sti: hdmi use of_get_i2c_adapter_by_node interface drm/sti: hdmi fix i2c adapter device refcounting drm/sti: Do not export symbols drm/sti: Build monolithic driver drm/sti: Use drm_crtc_vblank_*() API drm/sti: Store correct CRTC index in events drm/sti: Select FW_LOADER drm/sti: Constify function pointer structs commit 092b1f0b5f9f797812da0de927c3aa26acbe8762 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 13 12:29:11 2015 +0000 perf probe: Clear probe_trace_event when add_probe_trace_event() fails When probing with a glob, errors in add_probe_trace_event() won't be passed to debuginfo__find_trace_events() because it would be modified by probe_point_search_cb(). It causes a segfault if perf fails to find an argument for a probe point matched by the glob. For example: # ./perf probe -v -n 'SyS_dup? oldfd' probe-definition(0): SyS_dup? oldfd symbol:SyS_dup? file:(null) line:0 offset:0 return:0 lazy:(null) parsing arg: oldfd into oldfd 1 arguments Looking at the vmlinux_path (7 entries long) Using /lib/modules/4.3.0-rc4+/build/vmlinux for symbols Open Debuginfo file: /lib/modules/4.3.0-rc4+/build/vmlinux Try to find probe point from debuginfo. Matched function: SyS_dup3 found inline addr: 0xffffffff812095c0 Probe point found: SyS_dup3+0 Searching 'oldfd' variable in context. Converting variable oldfd into trace event. oldfd type is long int. found inline addr: 0xffffffff812096d4 Probe point found: SyS_dup2+36 Searching 'oldfd' variable in context. Failed to find 'oldfd' in this function. Matched function: SyS_dup3 Probe point found: SyS_dup3+0 Searching 'oldfd' variable in context. Converting variable oldfd into trace event. oldfd type is long int. Matched function: SyS_dup2 Probe point found: SyS_dup2+0 Searching 'oldfd' variable in context. Converting variable oldfd into trace event. oldfd type is long int. Found 4 probe_trace_events. Opening /sys/kernel/debug/tracing//kprobe_events write=1 Writing event: p:probe/SyS_dup3 _text+2135488 oldfd=%di:s64 Segmentation fault (core dumped) # This patch ensures that add_probe_trace_event() doesn't touches tf->ntevs and tf->tevs if those functions fail. After the patch: # perf probe 'SyS_dup? oldfd' Failed to find 'oldfd' in this function. Added new events: probe:SyS_dup3 (on SyS_dup? with oldfd) probe:SyS_dup3_1 (on SyS_dup? with oldfd) probe:SyS_dup2 (on SyS_dup? with oldfd) You can now use it in all perf tools, such as: perf record -e probe:SyS_dup2 -aR sleep 1 Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1447417761-156094-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0196e787ceb58cdfea822482ec70019bc16cbd51 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Nov 13 12:29:10 2015 +0000 perf probe: Fix memory leaking on failure by clearing all probe_trace_events Fix memory leaking on the debuginfo__find_trace_events() failure path which frees an array of probe_trace_events but doesn't clears all the allocated sub-structures and strings. So, before doing zfree(tevs), clear all the array elements which may have allocated resources. Reported-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1447417761-156094-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d8145b3e30a24280c396d88c8703c50a1ea0aa3a Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Nov 13 11:48:32 2015 +0200 perf inject: Also re-pipe lost_samples event perf inject must re-pipe all events otherwise they get dropped from the output file. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1447408112-1920-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1216b65c502e0f130cc9984dfd5f9e1968c1eb46 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Nov 13 11:48:31 2015 +0200 perf buildid-list: Requires ordered events 'perf buildid-list' processes events to determine hits (i.e. with-hits option). That may not work if events are not sorted in order. i.e. MMAP events must be processed before the samples that depend on them so that sample processing can 'hit' the DSO to which the MMAP refers. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1447408112-1920-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e266a753bf51b2c3b46d0d230349662c35ac5629 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Nov 13 11:48:30 2015 +0200 perf symbols: Fix dso lookup by long name and missing buildids Commit 4598a0a6d22f ("perf symbols: Improve DSO long names lookup speed with rbtree") Added a tree to lookup dsos by long name. That tree gets corrupted whenever a dso long name is changed because the tree is not updated. One effect of that is buildid-list does not work with the 'with-hits' option because dso lookup fails and results in two structs for the same dso. The first has the buildid but no hits, the second has hits but no buildid. e.g. Before: $ tools/perf/perf record ls arch certs CREDITS Documentation firmware include ipc Kconfig lib Makefile net REPORTING-BUGS scripts sound usr block COPYING crypto drivers fs init Kbuild kernel MAINTAINERS mm README samples security tools virt [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.012 MB perf.data (11 samples) ] $ tools/perf/perf buildid-list 574da826c66538a8d9060d393a8866289bd06005 [kernel.kallsyms] 30c94dc66a1fe95180c3d68d2b89e576d5ae213c /lib/x86_64-linux-gnu/libc-2.19.so $ tools/perf/perf buildid-list -H 574da826c66538a8d9060d393a8866289bd06005 [kernel.kallsyms] 0000000000000000000000000000000000000000 /lib/x86_64-linux-gnu/libc-2.19.so After: $ tools/perf/perf buildid-list -H 574da826c66538a8d9060d393a8866289bd06005 [kernel.kallsyms] 30c94dc66a1fe95180c3d68d2b89e576d5ae213c /lib/x86_64-linux-gnu/libc-2.19.so The fix is to record the root of the tree on the dso so that dso__set_long_name() can update the tree when the long name changes. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Fixes: 4598a0a6d22f ("perf symbols: Improve DSO long names lookup speed with rbtree") Link: http://lkml.kernel.org/r/1447408112-1920-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ff38e82931aeaa339d6bf4a9980e011cbfd14927 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Thu Nov 12 17:21:14 2015 -0800 HID: wacom: Add outbounding area for DTU1141 DTU1141 has an extra 1 mm tablet active outbounding area on each side of the display, same as those recently released DTUs. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 176155dac13f528e0a58c14dc322623219365d91 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Oct 21 14:57:09 2015 -0700 crypto: qat - don't use userspace pointer Bugfix - don't dereference userspace pointer. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2a49f02a7580d23802ea0e16ceb6d5523ab21aa8 Merge: 41ac18e 2059fc7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Nov 13 10:10:45 2015 +0100 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 'd' hotkey for filtering by DSO in the top/report TUI browser (Arnaldo Carvalho de Melo) - Allow forcing reading of non-root owned /tmp/perf-PID JIT symbol maps (Arnaldo Carvalho de Melo) - Rebuild rbtree when adjusting symbols for kcore (Adrian Hunter) - Actually install tmon in the tools/ install rule (Kamal Mostafa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a5149ba02bdf75281b8bc94cf6dfa94c527fa6f Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Fri Nov 13 12:35:36 2015 +1100 mpt3sas: fix inline markers on non inline function declarations After merging the scsi tree, today's linux-next build (powerpc allyesconfig) failed like this: In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:59:0: drivers/scsi/mpt3sas/mpt3sas_scsih.c: In function '_scsih_io_done': drivers/scsi/mpt3sas/mpt3sas_base.h:1414:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_get': function body not available mpt3sas_scsi_direct_io_get(struct MPT3SAS_ADAPTER *ioc, u16 smid); ^ drivers/scsi/mpt3sas/mpt3sas_scsih.c:4448:6: error: called from here if (mpt3sas_scsi_direct_io_get(ioc, smid) && ^ In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:59:0: drivers/scsi/mpt3sas/mpt3sas_base.h:1416:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_set': function body not available mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io); ^ drivers/scsi/mpt3sas/mpt3sas_scsih.c:4454:3: error: called from here mpt3sas_scsi_direct_io_set(ioc, smid, 0); ^ In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:5 9:0: drivers/scsi/mpt3sas/mpt3sas_base.h:1416:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_set': function body not available mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io); ^ drivers/scsi/mpt3sas/mpt3sas_scsih.c:4454:3: error: called from here mpt3sas_scsi_direct_io_set(ioc, smid, 0); ^ Presumably caused by commit c84b06a48c4d ("mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs") Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 152d7bd80dca5ce77ec2d7313149a2ab990e808e Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Nov 12 18:33:54 2015 -0800 dax: fix __dax_pmd_fault crash Since 4.3 introduced devm_memremap_pages() the pfns handled by DAX may optionally have a struct page backing. When a mapped pfn reaches vmf_insert_pfn_pmd() it fails with a crash signature like the following: kernel BUG at mm/huge_memory.c:905! [..] Call Trace: [<ffffffff812a73ba>] __dax_pmd_fault+0x2ea/0x5b0 [<ffffffffa01a4182>] xfs_filemap_pmd_fault+0x92/0x150 [xfs] [<ffffffff811fbe02>] handle_mm_fault+0x312/0x1b50 Fix this by falling back to 4K mappings in the pfn_valid() case. Longer term, vmf_insert_pfn_pmd() needs to grow support for architectures that can provide a 'pmd_special' capability. Cc: <stable@xxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Reported-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit f6d07dfcb15aad199d7351d3122eabd506968daf Merge: 0e97606 5bad7d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 18:24:47 2015 -0800 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "One urgent fix for an oops under console lock in some drivers, one uapi fix, and one revert to fix rockchip regression" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: Revert "drm/rockchip: Convert the probe function to the generic drm_of_component_probe()" drm: Don't oops in drm_calc_timestamping_constants() if drm_vblank_init() wasn't called drm: Use userspace compatible type in fourcc_mod_code macro commit 0e976064256523ca604bd82048ae0e3402ce2467 Merge: 5e2078b e428abb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 16:22:54 2015 -0800 Merge tag 'trace-v4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull trace cleanups from Steven Rostedt: "This contains three more clean up patches. One patch is needed to make tracing work without debugfs now that tracing uses its own tracefs. The second is removing an unused variable. The third is fixing a warning about unused variables when MAX_TRACER is not configured. Note, this warning shows up in gcc 6.0, but does not show up in gcc 4.9, as it seems that gcc does not complain about constants not being used" * tag 'trace-v4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: #ifdef out uses of max trace when CONFIG_TRACER_MAX_TRACE is not set tracing: Remove unused ftrace_cpu_disabled per cpu variable tracing: Make tracing work when debugfs is not configured in commit f20780f3e8feec0eebcf9fb41e1d90202fffaeff Merge: a18e2fa e00fe64 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Nov 13 10:08:19 2015 +1000 Merge branch 'drm-sti-next-2015-11-03' of http://git.linaro.org/people/benjamin.gaignard/kernel into drm-next sti/drm changes Add better support for firmware loading lots of fixes. * 'drm-sti-next-2015-11-03' of http://git.linaro.org/people/benjamin.gaignard/kernel: drm/sti: load HQVDP firmware the first time HQVDP's plane is used drm/sti: fix typo issue in sti_mode_config_init drm/sti: set mixer background color through module param drm/sti: Remove local fbdev emulation Kconfig option drm/sti: remove redundant sign extensions drm/sti: hdmi use of_get_i2c_adapter_by_node interface drm/sti: hdmi fix i2c adapter device refcounting drm/sti: Do not export symbols drm/sti: Build monolithic driver drm/sti: Use drm_crtc_vblank_*() API drm/sti: Store correct CRTC index in events drm/sti: Select FW_LOADER drm/sti: Constify function pointer structs commit 5bad7d29a7bcffb2dbc28ea2728eeb3af13784f2 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Tue Nov 10 16:47:19 2015 +0800 Revert "drm/rockchip: Convert the probe function to the generic drm_of_component_probe()" This reverts commit 52f5eb60940de889ce98a876f6933b574ead3225. Rockchip drm can't work with generic drm_of_component_probe now Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 0c545ac4815657e0b062344c690ea35a11eeaec8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Nov 12 14:34:18 2015 +0200 drm: Don't oops in drm_calc_timestamping_constants() if drm_vblank_init() wasn't called Seems the crtc helpers call drm_calc_timestamping_constants() unconditionally even if the driver didn't initialize vblank support by calling drm_vblank_init(). That used to be OK since the constants were stored under drm_crtc. However I broke this with commit eba1f35dfe14 ("drm: Move timestamping constants into drm_vblank_crtc") when I moved the constants to live inside the drm_vblank_crtc struct instead. If drm_vblank_init() isn't called, we don't allocate these structures, and so drm_calc_timestamping_constants() will oops. Fix it by adding a check into drm_calc_timestamping_constants() to see if vblank support was initialized at all. And to keep in line with other such checks, also toss in a check and warn for the case where vblank support was initialized, but the wrong number of crtcs was specified. Fixes the following sort of oops: BUG: unable to handle kernel NULL pointer dereference at 00000000000000b0 IP: [<ffffffffa014b266>] drm_calc_timestamping_constants+0x86/0x130 [drm] PGD 0 Oops: 0002 [#1] SMP Modules linked in: sr_mod cdrom mgag200(+) i2c_algo_bit drm_kms_helper ahci syscopyarea sysfillrect sysimgblt libahci fb_sys_fops bnx2x ttm tg3(+) mdio drm ptp sd_mod libata i2c_core pps_core libcrc32c hpsa dm_mirror dm_region_hash dm_log dm_mod CPU: 0 PID: 418 Comm: kworker/0:2 Not tainted 4.3.0+ #1 Hardware name: HP ProLiant DL380 Gen9, BIOS P89 06/09/2015 Workqueue: events work_for_cpu_fn task: ffff88046ca95500 ti: ffff88007830c000 task.ti: ffff88007830c000 RIP: 0010:[<ffffffffa014b266>] [<ffffffffa014b266>] drm_calc_timestamping_constants+0x86/0x130 [drm] RSP: 0018:ffff88007830f4e8 EFLAGS: 00010246 RAX: 0000000000fe4c00 RBX: ffff88006a849160 RCX: 0000000000000540 RDX: 0000000000000000 RSI: 000000000000fde8 RDI: ffff88006a849000 RBP: ffff88007830f518 R08: ffff88007830c000 R09: 00000001b87e3712 R10: 00000000000050c4 R11: 0000000000000000 R12: 0000000000fe4c00 R13: ffff88006a849000 R14: 0000000000000000 R15: 000000000000fde8 FS: 0000000000000000(0000) GS:ffff88046f800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000000000b0 CR3: 00000000019d6000 CR4: 00000000001406f0 Stack: ffff88007830f518 ffff88006a849000 ffff880c69b90340 ffff880c69b90000 ffff880c69b90348 ffff880c69b90340 ffff88007830f748 ffffffffa042f7e7 ffff88006a849090 0000000000000000 ffff88006a849160 0000000000000000 Call Trace: [<ffffffffa042f7e7>] drm_crtc_helper_set_mode+0x3d7/0x4b0 [drm_kms_helper] [<ffffffffa04307d4>] drm_crtc_helper_set_config+0x8d4/0xb10 [drm_kms_helper] [<ffffffffa01548d4>] drm_mode_set_config_internal+0x64/0x100 [drm] [<ffffffffa043c342>] drm_fb_helper_pan_display+0xa2/0x280 [drm_kms_helper] [<ffffffff81392c7b>] fb_pan_display+0xbb/0x170 [<ffffffff8138cf70>] bit_update_start+0x20/0x50 [<ffffffff8138b81b>] fbcon_switch+0x39b/0x590 [<ffffffff8140a3d0>] redraw_screen+0x1a0/0x240 [<ffffffff8140b30e>] do_bind_con_driver+0x2ee/0x310 [<ffffffff8140b651>] do_take_over_console+0x141/0x1b0 [<ffffffff81387377>] do_fbcon_takeover+0x57/0xb0 [<ffffffff8138c98b>] fbcon_event_notify+0x60b/0x750 [<ffffffff810a5599>] notifier_call_chain+0x49/0x70 [<ffffffff810a58dd>] __blocking_notifier_call_chain+0x4d/0x70 [<ffffffff810a5916>] blocking_notifier_call_chain+0x16/0x20 [<ffffffff8139282b>] fb_notifier_call_chain+0x1b/0x20 [<ffffffff81394881>] register_framebuffer+0x1f1/0x330 [<ffffffffa043d9aa>] drm_fb_helper_initial_config+0x27a/0x3d0 [drm_kms_helper] [<ffffffffa0469b4d>] mgag200_fbdev_init+0xdd/0xf0 [mgag200] [<ffffffffa0468586>] mgag200_modeset_init+0x176/0x1e0 [mgag200] [<ffffffffa0464659>] mgag200_driver_load+0x3f9/0x580 [mgag200] [<ffffffffa014e067>] drm_dev_register+0xa7/0xb0 [drm] [<ffffffffa015054f>] drm_get_pci_dev+0x8f/0x1e0 [drm] [<ffffffffa046937b>] mga_pci_probe+0x9b/0xc0 [mgag200] [<ffffffff813662d5>] local_pci_probe+0x45/0xa0 [<ffffffff8109afe4>] work_for_cpu_fn+0x14/0x20 [<ffffffff8109e13c>] process_one_work+0x14c/0x3c0 [<ffffffff8109eaa4>] worker_thread+0x244/0x470 [<ffffffff8168bfba>] ? __schedule+0x2aa/0x760 [<ffffffff8109e860>] ? rescuer_thread+0x310/0x310 [<ffffffff810a4438>] kthread+0xd8/0xf0 [<ffffffff810a4360>] ? kthread_park+0x60/0x60 [<ffffffff8169030f>] ret_from_fork+0x3f/0x70 [<ffffffff810a4360>] ? kthread_park+0x60/0x60 Code: f6 31 d2 41 89 c2 8b 83 b4 00 00 00 0f af c1 48 98 48 69 c0 40 42 0f 00 48 f7 f6 f6 43 74 10 41 89 c4 75 26 f6 05 9a 6f 03 00 01 <45> 89 96 b0 00 00 00 45 89 a6 ac 00 00 00 75 35 48 83 c4 08 5b RIP [<ffffffffa014b266>] drm_calc_timestamping_constants+0x86/0x130 [drm] RSP <ffff88007830f4e8> CR2: 00000000000000b0 Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Reported-by: Jeff Moyer <jmoyer@xxxxxxxxxx> References: http://lists.freedesktop.org/archives/dri-devel/2015-November/094217.html Fixes: eba1f35dfe14 ("drm: Move timestamping constants into drm_vblank_crtc") Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 9589fcde27a6726b83bc525fba5c57e4b2c0328e Merge: a18e2fa 6172180 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Nov 13 09:54:31 2015 +1000 Merge tag 'topic/drm-fixes-2015-11-11' of git://anongit.freedesktop.org/drm-intel into drm-fixes Single fix for uapi. * tag 'topic/drm-fixes-2015-11-11' of git://anongit.freedesktop.org/drm-intel: drm: Use userspace compatible type in fourcc_mod_code macro commit 5e2078b2899da31ff4c9854e932b186685d5bea0 Merge: a4d8c7c e3a7a3b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 15:54:30 2015 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull misc block fixes from Jens Axboe: "Stuff that got collected after the merge window opened. This contains: - NVMe: - Fix for non-striped transfer size setting for NVMe from Sathyavathi. - (Some) support for the weird Apple nvme controller in the macbooks. From Stephan Günther. - The error value leak for dax from Al. - A few minor blk-mq tweaks from me. - Add the new linux-block@xxxxxxxxxxxxxxx mailing list to the MAINTAINERS file. - Discard fix for brd, from Jan. - A kerneldoc warning for block core from Randy. - An older fix from Vivek, converting a WARN_ON() to a rate limited printk when a device is hot removed with dirty inodes" * 'for-linus' of git://git.kernel.dk/linux-block: block: don't hardcode blk_qc_t -> tag mask dax_io(): don't let non-error value escape via retval instead of EFAULT block: fix blk-core.c kernel-doc warning fs/block_dev.c: Remove WARN_ON() when inode writeback fails NVMe: add support for Apple NVMe controller NVMe: use split lo_hi_{read,write}q blk-mq: mark __blk_mq_complete_request() static MAINTAINERS: add reference to new linux-block list NVMe: Increase the max transfer size when mdts is 0 brd: Refuse improperly aligned discard requests commit a4d8c7c9f7754405c52c59e1b1e984df5749d7bb Merge: a18e2fa cc25b99 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 15:48:10 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security subsystem fixes from James Morris: "This includes several fixes for TPM, as well as a fix for the x.509 certificate parser to address CVE-2015-5327" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: X.509: Fix the time validation [ver #2] tpm: fix compat 'ppi' link handling in tpm_chip_register() tpm: fix missing migratable flag in sealing functionality for TPM2 TPM: revert the list handling logic fixed in 398a1e7 TPM: Avoid reference to potentially freed memory tpm_tis: restore IRQ vector in IO memory after failed probing tpm_tis: free irq after probing commit a18e2fa5e670a1b84e66522b221c42875b02028a Merge: 7dac710 01b305a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 15:33:11 2015 -0800 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes and clean-ups from Catalin Marinas: "Here's a second pull request for this merging window with some fixes/clean-ups: - __cmpxchg_double*() return type fix to avoid truncation of a long to int and subsequent logical "not" in cmpxchg_double() misinterpreting the operation success/failure - BPF fixes for mod and div by zero - Fix compilation with STRICT_MM_TYPECHECKS enabled - VDSO build fix without libgcov - Some static and __maybe_unused annotations - Kconfig clean-up (FRAME_POINTER) - defconfig update for CRYPTO_CRC32_ARM64" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: suspend: make hw_breakpoint_restore static arm64: mmu: make split_pud and fixup_executable static arm64: smp: make of_parse_and_init_cpus static arm64: use linux/types.h in kvm.h arm64: build vdso without libgcov arm64: mark cpus_have_hwcap as __maybe_unused arm64: remove redundant FRAME_POINTER kconfig option and force to select it arm64: fix R/O permissions of FDT mapping arm64: fix STRICT_MM_TYPECHECKS issue in PTE_CONT manipulation arm64: bpf: fix mod-by-zero case arm64: bpf: fix div-by-zero case arm64: Enable CRYPTO_CRC32_ARM64 in defconfig arm64: cmpxchg_dbl: fix return value type commit 7dac7102afbeb99daa454f555f1ea1f42fad2f78 Merge: 3370b69 f639eeb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 15:26:39 2015 -0800 Merge tag 'for-4.4' of git://git.osdn.jp/gitroot/uclinux-h8/linux Pull h8300 updates from Yoshinori Sato: "Some bug fixes" * tag 'for-4.4' of git://git.osdn.jp/gitroot/uclinux-h8/linux: h8300: enable CLKSRC_OF h8300: Don't set CROSS_COMPILE unconditionally asm-generic: {get,put}_user ptr argument evaluate only 1 time h8300: bit io fix h8300: zImage fix h8300: register address fix h8300: Fix alignment for .data h8300: unaligned divcr register support. commit 3370b69eb0c1f6a05f9051e8fc3e8768461a80f7 Merge: be23c9d 3702897 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 14:34:06 2015 -0800 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull second batch of kvm updates from Paolo Bonzini: "Four changes: - x86: work around two nasty cases where a benign exception occurs while another is being delivered. The endless stream of exceptions causes an infinite loop in the processor, which not even NMIs or SMIs can interrupt; in the virt case, there is no possibility to exit to the host either. - x86: support for Skylake per-guest TSC rate. Long supported by AMD, the patches mostly move things from there to common arch/x86/kvm/ code. - generic: remove local_irq_save/restore from the guest entry and exit paths when context tracking is enabled. The patches are a few months old, but we discussed them again at kernel summit. Andy will pick up from here and, in 4.5, try to remove it from the user entry/exit paths. - PPC: Two bug fixes, see merge commit 370289756becc for details" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (21 commits) KVM: x86: rename update_db_bp_intercept to update_bp_intercept KVM: svm: unconditionally intercept #DB KVM: x86: work around infinite loop in microcode when #AC is delivered context_tracking: avoid irq_save/irq_restore on guest entry and exit context_tracking: remove duplicate enabled check KVM: VMX: Dump TSC multiplier in dump_vmcs() KVM: VMX: Use a scaled host TSC for guest readings of MSR_IA32_TSC KVM: VMX: Setup TSC scaling ratio when a vcpu is loaded KVM: VMX: Enable and initialize VMX TSC scaling KVM: x86: Use the correct vcpu's TSC rate to compute time scale KVM: x86: Move TSC scaling logic out of call-back read_l1_tsc() KVM: x86: Move TSC scaling logic out of call-back adjust_tsc_offset() KVM: x86: Replace call-back compute_tsc_offset() with a common function KVM: x86: Replace call-back set_tsc_khz() with a common function KVM: x86: Add a common TSC scaling function KVM: x86: Add a common TSC scaling ratio field in kvm_vcpu_arch KVM: x86: Collect information for setting TSC scaling ratio KVM: x86: declare a few variables as __read_mostly KVM: x86: merge handle_mmio_page_fault and handle_mmio_page_fault_common KVM: PPC: Book3S HV: Don't dynamically split core when already split ... commit 2059fc7a5a9e667797b8ec503bfb4685afee48d8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Nov 12 16:50:13 2015 -0300 perf symbols: Allow forcing reading of non-root owned files by root When the root user tries to read a file owned by some other user we get: # ls -la perf.data -rw-------. 1 acme acme 20032 Nov 12 15:50 perf.data # perf report File perf.data not owned by current user or root (use -f to override) # perf report -f | grep -v ^# | head -2 30.96% ls [kernel.vmlinux] [k] do_set_pte 28.24% ls libc-2.20.so [.] intel_check_word # That wasn't happening when the symbol code tried to read a JIT map, where the same check was done but no forcing was possible, fix it. Reported-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Tested-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://permalink.gmane.org/gmane.linux.kernel.perf.user/2380 Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b7f294b58adb02d928dccb04bd39cb789db09e1f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Nov 12 16:01:56 2015 -0300 perf hists browser: The dso can be obtained from popup_action->ms.map->dso So no need to have a 'dso' member in 'popup_action', remove it as no code is using it, already. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-76a6s0007slug0op0wkl6o8b@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fae00650f7910da7064f45d49c95df88fab816f6 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Nov 12 15:59:26 2015 -0300 perf hists browser: Fix 'd' hotkey action to filter by DSO When pressing 'd' the expected action is to filter all entries by the DSO in the current entry, but for that the action->map needs to be set, and only action->dso was being set, fix it. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: 045b80dd0340 ("perf hists browser: Use the map to determine if a DSO is being used as a kernel") Link: http://lkml.kernel.org/n/tip-xqhfzgoblq49lk5h5u82atro@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 866548dd6e22c3795ae5146a9746a5cf659698f1 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Nov 6 15:59:29 2015 +0200 perf symbols: Rebuild rbtree when adjusting symbols for kcore Normally symbols are read from the DSO and adjusted, if need be, so that the symbol start matches the file offset in the DSO file (we want the file offset because that is what we know from MMAP events). That is done by dso__load_sym() which inserts the symbols *after* adjusting them. In the case of kcore, the symbols have been read from kallsyms and the symbol start is the memory address. The symbols have to be adjusted to match the kcore file offsets. dso__split_kallsyms_for_kcore() does that, but now the adjustment is being done *after* the symbols have been inserted. It appears dso__split_kallsyms_for_kcore() was assuming that changing the symbol start would not change the order in the rbtree - which is, of course, not guaranteed. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/563CB241.2090701@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6ba98c5dc78708cb7fd29950c4a50c4c7e88f95 Author: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Date: Wed Nov 11 14:25:34 2015 -0800 tools: Add a "make all" rule Signed-off-by: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jonathan Cameron <jic23@xxxxxxxxxx> Cc: Pali Rohar <pali.rohar@xxxxxxxxx> Cc: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Link: http://lkml.kernel.org/r/1447280736-2161-2-git-send-email-kamal@xxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 49e4a2293035b420e807e739999d59c8ec1488e9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 22:03:40 2015 +0100 stmmac: avoid ipq806x constant overflow warning Building dwmac-ipq806x on a 64-bit architecture produces a harmless warning from gcc: stmmac/dwmac-ipq806x.c: In function 'ipq806x_gmac_probe': include/linux/bitops.h:6:19: warning: overflow in implicit constant conversion [-Woverflow] val = QSGMII_PHY_CDR_EN | stmmac/dwmac-ipq806x.c:333:8: note: in expansion of macro 'QSGMII_PHY_CDR_EN' #define QSGMII_PHY_CDR_EN BIT(0) #define BIT(nr) (1UL << (nr)) This is a result of the type conversion rules in C, when we take the logical OR of multiple different types. In particular, we have and unsigned long QSGMII_PHY_CDR_EN == BIT(0) == (1ul << 0) == 0x0000000000000001ul and a signed int 0xC << QSGMII_PHY_TX_DRV_AMP_OFFSET == 0xc0000000 which together gives a signed long value 0xffffffffc0000001l and when this is passed into a function that takes an unsigned int type, gcc warns about the signed overflow and the loss of the upper 32-bits that are all ones. This patch adds 'ul' type modifiers to the literal numbers passed in here, so now the expression remains an 'unsigned long' with the upper bits all zero, and that avoids the signed overflow and the warning. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: b1c17215d718 ("stmmac: add ipq806x glue layer") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2db1a57986d37653583e67ccbf13082aadc8f25d Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Nov 12 12:13:57 2015 -0800 ALSA: pci: depend on ZONE_DMA There are several sound drivers that 'select ZONE_DMA'. This is backwards as ZONE_DMA is an architecture capability exported to drivers. Switch the polarity of the dependency to disable these drivers when the architecture does not support ZONE_DMA. This was discovered in the context of testing/enabling devm_memremap_pages() which depends on ZONE_DEVICE. ZONE_DEVICE in turn depends on !ZONE_DMA. Reported-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit be23c9d20b341a58ad7107f9e9aa5735cea3da13 Merge: 5d50ac7 f57ab32 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 11:50:33 2015 -0800 Merge tag 'pm+acpi-4.4-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: "The only new feature in this batch is support for the ACPI _CCA device configuration object, which it a pre-requisite for future ACPI PCI support on ARM64, but should not affect the other architectures. The rest is fixes and cleanups, mostly in cpufreq (including intel_pstate), the Operating Performace Points (OPP) framework and tools (cpupower and turbostat). Specifics: - Support for the ACPI _CCA configuration object intended to tell the OS whether or not a bus master device supports hardware managed cache coherency and a new set of functions to allow drivers to check the cache coherency support for devices in a platform firmware interface agnostic way (Suravee Suthikulpanit, Jeremy Linton). - ACPI backlight quirks for ESPRIMO Mobile M9410 and Dell XPS L421X (Aaron Lu, Hans de Goede). - Fixes for the arm_big_little and s5pv210-cpufreq cpufreq drivers (Jon Medhurst, Nicolas Pitre). - kfree()-related fixup for the recently introduced CPPC cpufreq frontend (Markus Elfring). - intel_pstate fix reducing kernel log noise on systems where P-states are managed by hardware (Prarit Bhargava). - intel_pstate maintainers information update (Srinivas Pandruvada). - cpufreq core optimization related to the handling of delayed work items used by governors (Viresh Kumar). - Locking fixes and cleanups of the Operating Performance Points (OPP) framework (Viresh Kumar). - Generic power domains framework cleanups (Lina Iyer). - cpupower tool updates (Jacob Tanenbaum, Sriram Raghunathan, Thomas Renninger). - turbostat tool updates (Len Brown)" * tag 'pm+acpi-4.4-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits) PCI: ACPI: Add support for PCI device DMA coherency PCI: OF: Move of_pci_dma_configure() to pci_dma_configure() of/pci: Fix pci_get_host_bridge_device leak device property: ACPI: Remove unused DMA APIs device property: ACPI: Make use of the new DMA Attribute APIs device property: Adding DMA Attribute APIs for Generic Devices ACPI: Adding DMA Attribute APIs for ACPI Device device property: Introducing enum dev_dma_attr ACPI: Honor ACPI _CCA attribute setting cpufreq: CPPC: Delete an unnecessary check before the function call kfree() PM / OPP: Add opp_rcu_lockdep_assert() to _find_device_opp() PM / OPP: Hold dev_opp_list_lock for writers PM / OPP: Protect updates to list_dev with mutex PM / OPP: Propagate error properly from dev_pm_opp_set_sharing_cpus() cpufreq: s5pv210-cpufreq: fix wrong do_div() usage MAINTAINERS: update for intel P-state driver Creating a common structure initialization pattern for struct option cpupower: Enable disabled Cstates if they are below max latency cpupower: Remove debug message when using cpupower idle-set -D switch cpupower: cpupower monitor reports uninitialized values for offline cpus ... commit 382a483e53fa9a84579aa92701d54801b37fb8fd Merge: 3917429 086f332 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Nov 12 14:17:16 2015 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Pablo Neira Ayuso: ==================== Netfilter fixes for net The following patchset contains Netfilter fixes for your net tree. This large batch that includes fixes for ipset, netfilter ingress, nf_tables dynamic set instantiation and a longstanding Kconfig dependency problem. More specifically, they are: 1) Add missing check for empty hook list at the ingress hook, from Florian Westphal. 2) Input and output interface are swapped at the ingress hook, reported by Patrick McHardy. 3) Resolve ipset extension alignment issues on ARM, patch from Jozsef Kadlecsik. 4) Fix bit check on bitmap in ipset hash type, also from Jozsef. 5) Release buckets when all entries have expired in ipset hash type, again from Jozsef. 6) Oneliner to initialize conntrack tuple object in the PPTP helper, otherwise the conntrack lookup may fail due to random bits in the structure holes, patch from Anthony Lineham. 7) Silence a bogus gcc warning in nfnetlink_log, from Arnd Bergmann. 8) Fix Kconfig dependency problems with TPROXY, socket and dup, also from Arnd. 9) Add __netdev_alloc_pcpu_stats() to allow creating percpu counters from atomic context, this is required by the follow up fix for nf_tables. 10) Fix crash from the dynamic set expression, we have to add new clone operation that should be defined when a simple memcpy is not enough. This resolves a crash when using per-cpu counters with new Patrick McHardy's flow table nft support. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39174291d8e8acfd1113214a943263aaa03c57c8 Author: françois romieu <romieu@xxxxxxxxxxxxx> Date: Wed Nov 11 23:35:18 2015 +0100 r8169: fix kasan reported skb use-after-free. Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Reported-by: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Fixes: d7d2d89d4b0af ("r8169: Add software counter for multicast packages") Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Corinna Vinschen <vinschen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8de5dff8bae634497f4413bc3067389f2ed267da Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Tue Nov 10 16:10:45 2015 -0800 libnvdimm: documentation clarifications A bunch of changes that I hope will help in understanding it better for first-time readers. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 589e75d15702dc720b363a92f984876704864946 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Sat Oct 24 19:55:58 2015 -0700 libnvdimm, pmem: fix size trim in pmem_direct_access() This masking prevents access to the end of the device via dax_do_io(), and is unnecessary as arch_add_memory() would have rejected an unaligned allocation. Cc: <stable@xxxxxxxxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit f7256dc0cdbc68903502997bde619f555a910f50 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Nov 11 16:46:33 2015 -0800 libnvdimm, e820: fix numa node for e820-type-12 pmem ranges Rather than punt on the numa node for these e820 ranges try to find a better answer with memory_add_physaddr_to_nid() when it is available. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Tested-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit f42957967fb435aef6fc700fbbd9df89533b9a2e Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Nov 10 15:50:33 2015 -0800 tools/testing/nvdimm, acpica: fix flag rename build breakage Commit ca321d1ca672 "ACPICA: Update NFIT table to rename a flags field" performed a tree-wide s/ACPI_NFIT_MEM_ARMED/ACPI_NFIT_MEM_NOT_ARMED/ operation, but missed the tools/testing/nvdimm/ directory. Cc: Bob Moore <robert.moore@xxxxxxxxx> Cc: Lv Zheng <lv.zheng@xxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 01b305a234943c25c336a6f2f77932a4eaf125fa Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Thu Nov 12 20:04:44 2015 +0800 arm64: suspend: make hw_breakpoint_restore static hw_breakpoint_restore is only used within suspend.c, so it can be declared static. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 9a17a213345584fbc692f6b3a715aa451d4c75e9 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Thu Nov 12 20:04:43 2015 +0800 arm64: mmu: make split_pud and fixup_executable static split_pud and fixup_executable are only called from within mmu.c, so they can be declared static. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 29b8302b1a7baef6b4c71ff368bd14729f26eb0c Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Thu Nov 12 20:04:42 2015 +0800 arm64: smp: make of_parse_and_init_cpus static of_parse_and_init_cpus is only called from within smp.c, so it can be declared static. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d19279154b3fff9adff96b54d1a77dfb8f01e3da Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 15:41:08 2015 +0100 arm64: use linux/types.h in kvm.h We should always use linux/types.h instead of asm/types.h for consistency, and Kbuild actually warns about it: ./usr/include/asm/kvm.h:35: include of <linux/types.h> is preferred over <asm/types.h> This patch does as Kbuild asks us. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 543097843ca7c9ac3758d0b5879ea2a6f44089de Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 15:37:12 2015 +0100 arm64: build vdso without libgcov On a cross-toolchain without glibc support, libgcov may not be available, and attempting to build an arm64 kernel with GCOV enabled then results in a build error: /home/arnd/cross-gcc/lib/gcc/aarch64-linux/5.2.1/../../../../aarch64-linux/bin/ld: cannot find -lgcov We don't really want to link libgcov into the vdso anyway, so this patch just disables GCOV in the vdso directory, just as we do for most other architectures. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3d6d103538e73a5710ea66d95fa2b652bf6eab77 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 15:20:16 2015 +0100 arm64: mark cpus_have_hwcap as __maybe_unused cpus_have_hwcap() is defined as a 'static' function an only used in one place that is inside of an #ifdef, so we get a warning when the only user is disabled: arch/arm64/kernel/cpufeature.c:699:13: warning: 'cpus_have_hwcap' defined but not used [-Wunused-function] This marks the function as __maybe_unused, so the compiler knows that it can drop the function definition without warning about it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 37b01d53ceef ("arm64/HWCAP: Use system wide safe values") Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 836d525baada26e1a7462e87805337b9a9b729f6 Author: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Date: Wed Nov 11 14:25:33 2015 -0800 tools: Actually install tmon in the install rule Signed-off-by: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Pali Rohar <pali.rohar@xxxxxxxxx> Cc: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Link: http://lkml.kernel.org/r/1447280736-2161-1-git-send-email-kamal@xxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f07f21b3e20c11017cea17ec841f0150a62aac53 Author: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 14:16:57 2015 +0100 s390/sclp: _sclp_wait_int(): retain full PSW mask There's no reason to clear all PSW mask bits other than the addressing mode bits. Just use the previous PSW mask as-is. Signed-off-by: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit febdfbd2137a5727f70dfbf920105c07e6c2a21e Merge: 0da3968 2c5d16d Author: James Bottomley <JBottomley@xxxxxxxx> Date: Thu Nov 12 07:06:18 2015 -0500 Merge tag '4.4-scsi-mkp' into misc SCSI queue for 4.4. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 909cadc6c8c7e52149fb4687453277d6cabe8c80 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Nov 12 11:52:13 2015 +0100 ALSA: hda - Simplify phantom jack handling for HDMI/DP The HDMI codec parser may create a phantom jack, but the helper function snd_hda_jack_add_kctl() treats always as a normal jack. This is superfluous as the jack query is executed at each time the jack sync is performed. Since the HDMI codec parser is the only caller of this function, it's easier to change back this directly calling the original __snd_hda_jack_add_kctl() with phantom_jack parameter. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit da34232641a91ca785a787c23c158488e459b938 Merge: bf463f2 3bfb722 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Nov 12 11:36:03 2015 +0100 Merge branch '4.3-fixes' into mips-for-linux-next commit bf463f2f7510771db180908507005379850dade0 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Sep 5 18:47:31 2015 +0200 MIPS: idle: add case for CPU_5KE While the 5KE processors have never been taped out, they exists though a CP0.PRId and experimental RTLs or QEMU implementations. Add a case entry in the idle code, as they can use the standard idle loop like the 5K processors. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11099/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 651d19fb10fac0f1f25c028c8e46ded9fc43a640 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Fri Sep 11 17:46:15 2015 +0300 MIPS: Octeon: Support APPENDED_DTB Use appended DTB when available. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11115/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 87db537da4cd1bfad388511a3647bbb497d2fb61 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Fri Sep 11 17:46:14 2015 +0300 MIPS: vmlinux: create a section for appended DTB For bootloaders that support booting only ELF kernels and load only ELF segments to memory there is no easy way to supply DTB without kernel recompilation. For that purpose, create a section called .appended_dtb that can be later updated with board-specific DTB using binutils e.g. at kernel installation time. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11114/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d00d920338382ceaefc643760daf9936ae9c5788 Author: Amanieu d'Antras <amanieu@xxxxxxxxx> Date: Thu Nov 5 00:50:24 2015 +0000 MIPS: Clean up compat_siginfo_t While mips can't use the generic compat_siginfo_t directly because its si_code and si_errno are inverted, we can still make it as close to the generic version as possible. This makes it easier to update when new members are added to siginfo_t. The main changes are adding a missing _sigsys union member and eliminating the unused _irix_sigchld one. Signed-off-by: Amanieu d'Antras <amanieu@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11455/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 22b14523994588279ae9c5ccfe64073c1e5b3c00 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 9 20:56:28 2015 -0400 MIPS: Fix PAGE_MASK definition Make PAGE_MASK an unsigned long, like it is on x86, to avoid: In file included from arch/mips/kernel/asm-offsets.c:14:0: include/linux/mm.h: In function '__pfn_to_pfn_t': include/linux/mm.h:1050:2: warning: left shift count >= width of type pfn_t pfn_t = { .val = pfn | (flags & PFN_FLAGS_MASK), }; ...where PFN_FLAGS_MASK is: #define PFN_FLAGS_MASK (~PAGE_MASK << (BITS_PER_LONG - PAGE_SHIFT)) Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-nvdimm@xxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11280/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cc25b994acfbc901429da682d0f73c190e960206 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Nov 12 09:36:40 2015 +0000 X.509: Fix the time validation [ver #2] This fixes CVE-2015-5327. It affects kernels from 4.3-rc1 onwards. Fix the X.509 time validation to use month number-1 when looking up the number of days in that month. Also put the month number validation before doing the lookup so as not to risk overrunning the array. This can be tested by doing the following: cat <<EOF | openssl x509 -outform DER | keyctl padd asymmetric "" @s -----BEGIN CERTIFICATE----- MIIDbjCCAlagAwIBAgIJAN/lUld+VR4hMA0GCSqGSIb3DQEBCwUAMCkxETAPBgNV BAoMCGxvY2FsLWNhMRQwEgYDVQQDDAtzaWduaW5nIGtleTAeFw0xNTA5MDEyMTMw MThaFw0xNjA4MzEyMTMwMThaMCkxETAPBgNVBAoMCGxvY2FsLWNhMRQwEgYDVQQD DAtzaWduaW5nIGtleTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANrn crcMfMeG67nagX4+m02Xk9rkmsMKI5XTUxbikROe7GSUVJ27sPVPZp4mgzoWlvhh jfK8CC/qhEhwep8Pgg4EJZyWOjhZb7R97ckGvLIoUC6IO3FC2ZnR7WtmWDgo2Jcj VlXwJdHhKU1VZwulh81O61N8IBKqz2r/kDhIWiicUCUkI/Do/RMRfKAoDBcSh86m gOeIAGfq62vbiZhVsX5dOE8Oo2TK5weAvwUIOR7OuGBl5AqwFlPnXQolewiHzKry THg9e44HfzG4Mi6wUvcJxVaQT1h5SrKD779Z5+8+wf1JLaooetcEUArvWyuxCU59 qxA4lsTjBwl4cmEki+cCAwEAAaOBmDCBlTAMBgNVHRMEBTADAQH/MAsGA1UdDwQE AwIHgDAdBgNVHQ4EFgQUyND/eKUis7ep/hXMJ8iZMdUhI+IwWQYDVR0jBFIwUIAU yND/eKUis7ep/hXMJ8iZMdUhI+KhLaQrMCkxETAPBgNVBAoMCGxvY2FsLWNhMRQw EgYDVQQDDAtzaWduaW5nIGtleYIJAN/lUld+VR4hMA0GCSqGSIb3DQEBCwUAA4IB AQAMqm1N1yD5pimUELLhT5eO2lRdGUfTozljRxc7e2QT3RLk2TtGhg65JFFN6eml XS58AEPVcAsSLDlR6WpOpOLB2giM0+fV/eYFHHmh22yqTJl4YgkdUwyzPdCHNOZL hmSKeY9xliHb6PNrNWWtZwhYYvRaO2DX4GXOMR0Oa2O4vaYu6/qGlZOZv3U6qZLY wwHEJSrqeBDyMuwN+eANHpoSpiBzD77S4e+7hUDJnql4j6xzJ65+nWJ89fCrQypR 4sN5R3aGeIh3QAQUIKpHilwek0CtEaYERgc5m+jGyKSc1rezJW62hWRTaitOc+d5 G5hh+9YpnYcxQHEKnZ7rFNKJ -----END CERTIFICATE----- EOF If it works, it emit a key ID; if it fails, it should give a bad message error. Reported-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Acked-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 5ca9d3a4286a1a4aaa46acc7c1c29a15d8d0fea2 Merge: 5d50ac7 d56e4f7 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Nov 12 20:38:04 2015 +1100 Merge tag 'tpmdd-next-20151110' of https://github.com/jsakkine/linux-tpmdd into for-linus commit 370289756beccdc2a6ef9c7998fe67a7ca68bfc2 Merge: a96036b f74f2e2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Nov 12 10:06:29 2015 +0100 Merge branch 'kvm-ppc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into HEAD "Paolo, I have two fixes for HV KVM which I would like to have included in v4.4-rc1. The first one is a fix for a bug identified by Red Hat which causes occasional guest crashes. The second one fixes a bug which causes host stalls and timeouts under certain circumstances when the host is configured for static 2-way micro-threading mode." commit 41ac18ebfc429ce3f4d369ef07447d652999a0cd Author: Huang Rui <ray.huang@xxxxxxx> Date: Wed Nov 4 17:43:53 2015 +0800 perf/x86/intel/rapl: Remove the unused RAPL_EVENT_DESC() macro Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Li <tony.li@xxxxxxx> Link: http://lkml.kernel.org/r/1446630233-3166-1-git-send-email-ray.huang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a05917b6ba9dc9a95fc42bdcbe3a875e8ad83935 Author: Huaitong Han <huaitong.han@xxxxxxxxx> Date: Fri Nov 6 17:00:23 2015 +0800 x86/fpu: Fix get_xsave_addr() behavior under virtualization KVM uses the get_xsave_addr() function in a different fashion from the native kernel, in that the 'xsave' parameter belongs to guest vcpu, not the currently running task. But 'xsave' is replaced with current task's (host) xsave structure, so get_xsave_addr() will incorrectly return the bad xsave address to KVM. Fix it so that the passed in 'xsave' address is used - as intended originally. Signed-off-by: Huaitong Han <huaitong.han@xxxxxxxxx> Reviewed-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave.hansen@xxxxxxxxx Link: http://lkml.kernel.org/r/1446800423-21622-1-git-send-email-huaitong.han@xxxxxxxxx [ Tidied up the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ab6b52947545a5355154f64f449f97af9d05845f Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Tue Nov 10 16:23:54 2015 -0800 x86/fpu: Fix 32-bit signal frame handling (This should have gone to LKML originally. Sorry for the extra noise, folks on the cc.) Background: Signal frames on x86 have two formats: 1. For 32-bit executables (whether on a real 32-bit kernel or under 32-bit emulation on a 64-bit kernel) we have a 'fpregset_t' that includes the "FSAVE" registers. 2. For 64-bit executables (on 64-bit kernels obviously), the 'fpregset_t' is smaller and does not contain the "FSAVE" state. When creating the signal frame, we have to be aware of whether we are running a 32 or 64-bit executable so we create the correct format signal frame. Problem: save_xstate_epilog() uses 'fx_sw_reserved_ia32' whenever it is called for a 32-bit executable. This is for real 32-bit and ia32 emulation. But, fpu__init_prepare_fx_sw_frame() only initializes 'fx_sw_reserved_ia32' when emulation is enabled, *NOT* for real 32-bit kernels. This leads to really wierd situations where 32-bit programs lose their extended state when returning from a signal handler. The kernel copies the uninitialized (zero) 'fx_sw_reserved_ia32' out to userspace in save_xstate_epilog(). But when returning from the signal, the kernel errors out in check_for_xstate() when it does not see FP_XSTATE_MAGIC1 present (because it was zeroed). This leads to the FPU/XSAVE state being initialized. For MPX, this leads to the most permissive state and means we silently lose bounds violations. I think this would also mean that we could lose *ANY* FPU/SSE/AVX state. I'm not sure why no one has spotted this bug. I believe this was broken by: 72a671ced66d ("x86, fpu: Unify signal handling code paths for x86 and x86_64 kernels") way back in 2012. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 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: dave@xxxxxxxx Cc: fenghua.yu@xxxxxxxxx Cc: yu-cheng.yu@xxxxxxxxx Link: http://lkml.kernel.org/r/20151111002354.A0799571@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f3119b830264d89d216bfb378ab65065dffa02d9 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Nov 11 10:19:34 2015 -0800 x86/mpx: Fix 32-bit address space calculation I received a bug report that running 32-bit MPX binaries on 64-bit kernels was broken. I traced it down to this little code snippet. We were switching our "number of bounds directory entries" calculation correctly. But, we didn't switch the other side of the calculation: the virtual space size. This meant that we were calculating an absurd size for bd_entry_virt_space() on 32-bit because we used the 64-bit virt_space. This was _also_ broken for 32-bit kernels running on 64-bit hardware since boot_cpu_data.x86_virt_bits=48 even when running in 32-bit mode. Correct that and properly handle all 3 possible cases: 1. 32-bit binary on 64-bit kernel 2. 64-bit binary on 64-bit kernel 3. 32-bit binary on 32-bit kernel This manifested in having bounds tables not properly unmapped. It "leaked" memory but had no functional impact otherwise. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> 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/20151111181934.FA7FAC34@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 46561c3959d6307d22139c24cd0bf196162e5681 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Nov 11 10:19:31 2015 -0800 x86/mpx: Do proper get_user() when running 32-bit binaries on 64-bit kernels When you call get_user(foo, bar), you effectively do a copy_from_user(&foo, bar, sizeof(*bar)); Note that the sizeof() is implicit. When we reach out to userspace to try to zap an entire "bounds table" we need to go read a "bounds directory entry" in order to locate the table's address. The size of a "directory entry" depends on the binary being run and is always the size of a pointer. But, when we have a 64-bit kernel and a 32-bit application, the directory entry is still only 32-bits long, but we fetch it with a 64-bit pointer which makes get_user() does a 64-bit fetch. Reading 4 extra bytes isn't harmful, unless we are at the end of and run off the table. It might also cause the zero page to get faulted in unnecessarily even if you are not at the end. Fix it up by doing a special 32-bit get_user() via a cast when we have 32-bit userspace. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> 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/20151111181931.3ACF6822@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 492cf7a0be68676382050daa06335f56db2cdb08 Merge: b71b437 5602ea0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Nov 12 07:37:53 2015 +0100 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: - Add missing newlines to some pr_err() calls (Arnaldo Carvalho de Melo) - Print full source file paths when using 'perf annotate --print-line --full-paths' (Michael Petlan) - Fix 'perf probe -d' when just one out of uprobes and kprobes is enabled (Wang Nan) - Add compiler.h to list.h to fix 'make perf-tar-src-pkg' generated tarballs, i.e. out of tree building (Arnaldo Carvalho de Melo) - Add the llvm-src-base.c and llvm-src-kbuild.c files, generated by the 'perf test' LLVM entries, when running it in-tree, to .gitignore (Yunlong Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5d50ac70fe98518dbf620bfba8184254663125eb Merge: 31c1feb 4e14e49 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 20:18:48 2015 -0800 Merge tag 'xfs-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs Pull xfs updates from Dave Chinner: "There is nothing really major here - the only significant addition is the per-mount operation statistics infrastructure. Otherwises there's various ACL, xattr, DAX, AIO and logging fixes, and a smattering of small cleanups and fixes elsewhere. Summary: - per-mount operational statistics in sysfs - fixes for concurrent aio append write submission - various logging fixes - detection of zeroed logs and invalid log sequence numbers on v5 filesystems - memory allocation failure message improvements - a bunch of xattr/ACL fixes - fdatasync optimisation - miscellaneous other fixes and cleanups" * tag 'xfs-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (39 commits) xfs: give all workqueues rescuer threads xfs: fix log recovery op header validation assert xfs: Fix error path in xfs_get_acl xfs: optimise away log forces on timestamp updates for fdatasync xfs: don't leak uuid table on rmmod xfs: invalidate cached acl if set via ioctl xfs: Plug memory leak in xfs_attrmulti_attr_set xfs: Validate the length of on-disk ACLs xfs: invalidate cached acl if set directly via xattr xfs: xfs_filemap_pmd_fault treats read faults as write faults xfs: add ->pfn_mkwrite support for DAX xfs: DAX does not use IO completion callbacks xfs: Don't use unwritten extents for DAX xfs: introduce BMAPI_ZERO for allocating zeroed extents xfs: fix inode size update overflow in xfs_map_direct() xfs: clear PF_NOFREEZE for xfsaild kthread xfs: fix an error code in xfs_fs_fill_super() xfs: stats are no longer dependent on CONFIG_PROC_FS xfs: simplify /proc teardown & error handling xfs: per-filesystem stats counter implementation ... commit 31c1febd7a45229edb3e5d86f354e3c1df543cbb Merge: b4a2375 0442f14 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 20:11:28 2015 -0800 Merge tag 'nfsd-4.4' of git://linux-nfs.org/~bfields/linux Pull nfsd updates from Bruce Fields: "Apologies for coming a little late in the merge window. Fortunately this is another fairly quiet one: Mainly smaller bugfixes and cleanup. We're still finding some bugs from the breakup of the big NFSv4 state lock in 3.17 -- thanks especially to Andrew Elble and Jeff Layton for tracking down some of the remaining races" * tag 'nfsd-4.4' of git://linux-nfs.org/~bfields/linux: svcrpc: document lack of some memory barriers nfsd: fix race with open / open upgrade stateids nfsd: eliminate sending duplicate and repeated delegations nfsd: remove recurring workqueue job to clean DRC SUNRPC: drop stale comment in svc_setup_socket() nfsd: ensure that seqid morphing operations are atomic wrt to copies nfsd: serialize layout stateid morphing operations nfsd: improve client_has_state to check for unused openowners nfsd: fix clid_inuse on mount with security change sunrpc/cache: make cache flushing more reliable. nfsd: move include of state.h from trace.c to trace.h sunrpc: avoid warning in gss_key_timeout lockd: get rid of reference-counted NSM RPC clients SUNRPC: Use MSG_SENDPAGE_NOTLAST when calling sendpage() lockd: create NSM handles per net namespace nfsd: switch unsigned char flags in svc_fh to bools nfsd: move svc_fh->fh_maxsize to just after fh_handle nfsd: drop null test before destroy functions nfsd: serialize state seqid morphing operations commit b4a237598aa740562f842db76d97465c44fb74c1 Merge: c970872 b1d06b6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 19:54:05 2015 -0800 Merge tag 'devicetree-fixes-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull DeviceTree fixes from Rob Herring: - Add empty of_translate_address needed for HiSilicon network driver. - Fix alignment requirements for CMA regions in DT. - Fix booting on PPC systems which can't do WARN() early. - Rename ak4554 binding doc from .c to .txt. * tag 'devicetree-fixes-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: of: Provide static inline function for of_translate_address if needed drivers: of: of_reserved_mem: fixup the alignment with CMA setup of: Print rather than WARN'ing when overlap check fails dt-bindings: ak4554: extension should be .txt commit c970872e59e46774d508777291b2f90910ab695b Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Wed Nov 11 19:43:11 2015 -0800 thermal: rockchip: fix compile error Missing a include file caused compile error. drivers/thermal/rockchip_thermal.c: In function 'rockchip_thermal_suspend': drivers/thermal/rockchip_thermal.c:720:2: error: implicit declaration of function 'pinctrl_pm_select_sleep_state' [-Werror=implicit-function-declaration] ... Fixes: 7e38a5b1daa1 ("thermal: rockchip: support the sleep pinctrl state to avoid glitches") Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <lkp@xxxxxxxxx> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f639eeb4a60ce39f154753e3a745bd755e0fe084 Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 02:10:09 2015 +0900 h8300: enable CLKSRC_OF Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit 2c5d16d6a9e7218e57b716e4fd9d77c776d21471 Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 16:04:43 2015 -0200 sd: Clear PS bit before Mode Select. According to SPC-4, in a Mode Select, the PS bit in Mode Pages is reserved and must be set to 0 by the driver. In the sd implementation, function cache_type_store does a Mode Sense, which might set the PS bit on the read buffer, followed by a Mode Select, which receives the same buffer, without explicitly clearing the PS bit. So, in cases where target supports saving the Mode Page to a non-volatile location, we end up doing a Mode Select with the PS bit set, which could cause an illegal request error if the target is checking this. This was observed on a new firmware change, which was subsequently reverted, but this changes sd.c to be more compliant with SPC-4. This patch clears the PS bit in the buffer returned by Mode Select, right before it is used in the Mode Select command. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3467a1468fe00fe3f693907f01d980f62d1e46a3 Author: Laurent Vivier <lvivier@xxxxxxxxxx> Date: Mon Nov 9 17:49:09 2015 +0100 ibmvscsi: set max_lun to 32 As defined in 4.6.9 of SAM-4, the encoding of LUN is on 5 bits (max_lun=32) and the current value is only 8. Set max_lun to IBMVSCSI_MAX_LUN (32). Signed-off-by: Laurent Vivier <lvivier@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit e3678a0c4c207d2d0104d69bffbe37c965d4e87d Author: Laurent Vivier <lvivier@xxxxxxxxxx> Date: Mon Nov 9 17:49:08 2015 +0100 ibmvscsi: display default value for max_id, max_lun and max_channel. As devices with values greater than that are silently ignored, this gives some hints to the sys admin to know why he doesn't see his devices... Signed-off-by: Laurent Vivier <lvivier@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 491212014ec3ab6c477e7368405c5ae028b05ceb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 11 01:15:24 2015 +0300 mptfusion: don't allow negative bytes in kbuf_alloc_2_sgl() There is a static checker warning here because "bytes" is controlled by the user and we cap the upper bound with min() but allow negatives. Negative bytes will result in some nasty warning messages but are not super harmful. Anyway, no one needs negative bytes so let's just check for it and return NULL. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 9c9bd593f30fc8a4d6e70d72b49b5651fa492e65 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Nov 9 11:34:20 2015 -0800 scsi: pmcraid: replace struct timeval with ktime_get_real_seconds() Replace the use of struct timeval and do_gettimeofday() with 64 bit ktime_get_real_seconds. Prevents 32-bit type overflow in year 2038 on 32-bit systems. Driver was using the seconds portion of struct timeval (.tv_secs) to pass a millseconds timestamp to the firmware. This change maintains that same behavior using ktime_get_real_seconds. The structure used to pass the timestamp to firmware is 48 bits and works fine as long as the top 16 bits are zero and they will be zero for a long time..ie. thousands of years. Alternative Change: Add sub second granularity to timestamp As noted above, the driver only used the seconds portion of timeval, ignores the microseconds portion, and by multiplying by 1000 effectively does a <<10 and always writes zero into timestamp[0]. The alternative change would pass all the bits to the firmware: struct timespec64 ts; ktime_get_real_ts64(&ts); timestamp = ts.tv_sec * MSEC_PER_SEC + ts.tv_nsec / NSEC_PER_MSEC; Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 36f8ef7f7684997f1c1efcc775b1d7cdf452ce44 Author: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Date: Fri Oct 30 02:11:10 2015 -0700 mvumi: 64bit value for seconds_since1970 struct mvumi_hs_page2 stores a "seconds_since1970" field which is of type u64. It is however, written to, using 'struct timeval' which has a 32-bit seconds field and whose value will overflow in year 2038. This patch uses ktime_get_real_seconds() instead since it provides a 64-bit seconds value, which is 2038 safe. Signed-off-by: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit dd29dae00d39186890a5eaa2fe4ad8768bfd41a9 Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Date: Fri Oct 30 12:22:58 2015 -0600 be2iscsi: Fix bogus WARN_ON length check drivers/scsi/be2iscsi/be_main.c: In function 'be_sgl_create_contiguous': drivers/scsi/be2iscsi/be_main.c:3187:18: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses] WARN_ON(!length > 0); gcc version 5.2.1 Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Cc: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxxxxx> Cc: Minh Tran <minh.tran@xxxxxxxxxxxxx> Cc: John Soni Jose <sony.john-n@xxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <JBottomley@xxxxxxxx> Reported-by: Joel Stanley <joel@xxxxxxxxx> Reviewed-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit a4cf30e15ccea82a07fa5870e8af787b9ea1a672 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Oct 30 12:37:49 2015 +0100 scsi_scan: don't dump trace when scsi_prep_async_scan() is called twice The only user of scsi_prep_async_scan() is scsi_scan_host() and it handles the situation correctly. Move 'called twice' reporting to debug level as well. The issue is observed on Hyper-V: on any device add/remove event storvsc driver calls scsi_scan_host() and in case previous scan is still running we get the message and stack dump on console. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit abc01f7d54da8c77d650e730bcaef1c6c3982a5a Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:41 2015 +0530 mpt3sas: Bump mpt3sas driver version to 09.102.00.00 Bump mpt3sas driver version to 09.102.00.00 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c84b06a48c4d8ac8270624453132f3fa1a4a0f9d Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:35 2015 +0530 mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs Modified the mpt3sas driver to have a single driver module which supports both SAS 2.0 & SAS 3.0 HBA devices. * Added SAS 2.0 HBA device IDs to the mpt3sas_pci_table pci table. * Created two separate SCSI host templates for SAS2 and SAS3 HBAs so that, during the driver load time driver can use corresponding host template(based the pci device ID) while registering a scsi host adapter instance for that pci device. * Registered two IOCTL devices, mpt2ctl is for SAS2 HBAs & mpt3ctl for SAS3 HBAs. Also updated the code to make sure that mpt2ctl device processes only those ioctl cmds issued for the SAS2 HBAs and mpt3ctl device processes only those ioctl cmds issued for the SAS3 HBAs. * Added separate indexing for SAS2 and SAS3 HBAs. * Replaced compile time check 'MPT2SAS_SCSI' to run time check 'hba_mpi_version_belonged' whereever needed. * Aliased this merged driver to mpt2sas using MODULE_ALIAS. * Moved global varaible 'driver_name' to per adapter instance variable. * Created two raid function template and used corresponding raid function templates based on the run time check 'hba_mpi_version_belonged'. * Moved mpt2sas_warpdrive.c file from mpt2sas to mpt3sas folder and renamed it as mpt3sas_warpdrive.c. * Also renamed the functions in mpt3sas_warpdrive.c file to follow current driver function name convention. * Updated the Makefile to build mpt3sas_warpdrive.o file for these WarpDrive-specific functions. * Also in function mpt3sas_setup_direct_io(), used sector_div() API instead of division operator (which gives compilation errors on 32 bit machines). * Removed mpt2sas files, mpt2sas directory & mpt3sas_module.c file. * Added module parameter 'hbas_to_enumerate' which permits using this merged driver as a legacy mpt2sas driver or as a legacy mpt3sas driver. Here are the available options for this module parameter: 0 - Merged driver which enumerates both SAS 2.0 & SAS 3.0 HBAs 1 - Acts as legacy mpt2sas driver, which enumerates only SAS 2.0 HBAs 2 - Acts as legacy mpt3sas driver, which enumerates only SAS 3.0 HBAs * Removed mpt2sas entries from SCSI's Kconfig and Makefile files. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit d0c627afb7a6753488b9e8948b307941880b1b9e Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:34 2015 +0530 mpt2sas, mpt3sas: Update the driver versions Bump the mpt2sas driver version to 20.102.00.00 and Bump the mpt3sas driver version to 9.101.00.00. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 08c4d550c5797d842b1f1bb85d474a8b54f02382 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:33 2015 +0530 mpt3sas: setpci reset kernel oops fix 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 This patch is ported from commit 6229b414b3ad ("mpt2sas: setpci reset kernel oops fix"). Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 989e43c7ec3401f95e40a792367995e4d4fc5b66 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:32 2015 +0530 mpt3sas: Added OEM Gen2 PnP ID branding names Added OEM Gen2 PnP ID branding names from mpt2sas driver. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 146b16c8071f5f6c67895d15beeee1163f5107c4 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:31 2015 +0530 mpt3sas: Refcount fw_events and fix unsafe list usage The fw_event_work struct is concurrently referenced at shutdown. 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. This patch is ported from commit 008549f6e8a1 ("mpt2sas: Refcount fw_events and fix unsafe list usage"). These changes are also required for mpt3sas. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit d1cb5e495e5384f6d90a8573f1be9cc79b85c862 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:30 2015 +0530 mpt3sas: Refcount sas_device objects and fix unsafe list usage sas_device 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. This patch is ported from the following mpt2sas driver commit d224fe0d6097 ("mpt2sas: Refcount sas_device objects and fix unsafe list usage"). Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 422630955ea34841a2a074cb6734ec5d70758b0d Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:29 2015 +0530 mpt3sas: sysfs attribute to report Backup Rail Monitor Status A new sysfs shost attribute called "BMR_status" is implemented to report Backup Rail Monitor status. This attribute is located in: /sys/class/scsi_host/host#/BMR_status When reading this adapter attribute, the driver will output the state of GPIO[24]. It returns "0" if BMR is healthy and "1" for failure. If it returns an empty string then it means that there was an error while obtaining the BMR status. Check dmesg for what error has occurred. This sysfs shost attribute is mainly for WarpDrive controllers. This commit is a port of 6c265660c262 ("mpt2sas: Provide sysfs attribute to report Backup Rail Monitor Status"). Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 7786ab6aff9cea97eb0a8d67705c68e97a664bf3 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:28 2015 +0530 mpt3sas: Ported WarpDrive product SSS6200 support Ported the following list of WarpDrive-specific patches: 1. commit 0bdccdb0a090ad8dc5f851cad5e843244c410ee8 ("mpt2sas: WarpDrive New product SSS6200 support added") 2. commit 82a452581230b3ffc9d6475dffdb2568497b5fec ("mpt2sas: WarpDrive Infinite command retries due to wrong scsi command entry in MPI message") 3. commit ba96bd0b1d4a4e11f23671e1f375a5c8f46b0fe7 ("mpt2sas: Support for greater than 2TB capacity WarpDrive") 4. commit 4da7af9494b2f98a1503a2634059300c3e4615e6 ("mpt2sas: Do not retry a timed out direct IO for Warpdrive") 5. commit daeaa9df92bd742f4e6d4d6039d689277a8e31bd ("mpt2sas: Avoid type casting for direct I/O commands"). Also set the mpt2_ioctl_iocinfo adapter_type to: 1. MPT3_IOCTL_INTERFACE_SAS3 for Gen3 HBAs 2. MPT2_IOCTL_INTERFACE_SAS2_SSS6200 for Warp Drive 3. MPT2_IOCTL_INTERFACE_SAS2 for other Gen2 HBAs Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 16e179bda58f0931854a669c9a70fd9139015899 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:27 2015 +0530 mpt3sas: fix for driver fails EEH, recovery from injected pci bus error This patch stops the driver to invoke kthread (which remove the dead ioc) for some time while EEH recovery has started. This patch is a port of commit b4730fb6e54a ("mpt2sas: fix for driver fails EEH, recovery from injected pci bus error")'. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 42081173c74e0867b996f5fd6b46d3c1606377c7 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:26 2015 +0530 mpt3sas: Manage MSI-X vectors according to HBA device type 1. Do not enable MSI-X vectors for SAS2008 B0 controllers 2. Enable a single MSI-X vector for the following controller: a. SAS2004 b. SAS2008 c. SAS2008_1 d. SAS2008_2 e. SAS2008_3 f. SAS2116_1 g. SAS2116_2 3. Enable Combined Reply Post Queue Support (i.e. 96 MSI-X vectors) for Gen3 Invader/Fury C0 and above revision HBAs 4. Enable Combined Reply Post Queue Support (i.e. 96 MSI-X vectors) for all Intruder and Cutlass HBAs Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 45506049c7abd4c17c35ad43adc07bf1236a3fcf Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:25 2015 +0530 mpt3sas: Don't send PHYDISK_HIDDEN RAID action request on SAS2 HBAs Avoid sending PHYDISK_HIDDEN RAID action requests to SAS2 controllers since they don't support it. Also enable fast_path only for SAS3 HBAs. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 471ef9d4e4982595b2a6081d314a69ca626245ae Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:24 2015 +0530 mpt3sas: Build MPI SGL LIST on GEN2 HBAs and IEEE SGL LIST on GEN3 HBAs Gen2 HBAs use MPI scatter-gather lists whereas Gen3 HBAs use IEEE scatter-gather lists. Modify the common code part in such a way that it will build IEEE SGL tables for Gen3 HBAs and MPI SGL tables for Gen2 HBAs. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit af0094115b080b41eb5a3567c177ce960a07dea4 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:23 2015 +0530 mpt2sas, mpt3sas: Remove SCSI_MPTXSAS_LOGGING entry from Kconfig Currently there is a logging level option provided for each of our drivers in the kernel configuration utility. Users can enable this option to get more verbose information. By default it is enabled. Only when this option is enabled will the functions which display the required information get compiled in. As we are merging the both drivers we can no longer provide this configuration option. Remove the SCSI_MPTXSAS_LOGGING entry from Kconfig and unconditionally enable logging (by removing the #ifdef CONFIG_SCSI_MPT3SAS_LOGGING preprocessor check conditions) so that all functions which are defined to display more verbose information get compiled in. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit d357e84d65dfcdb502fdb1aaab2873a82a828db5 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:22 2015 +0530 mpt3sas: Define 'hba_mpi_version_belonged' IOC variable 1. Use 'hba_mpi_version_belonged' IOC varable to uniquely identify each individual generation driver functionality at runtime. 2. Declare global variable 'driver_name' and use this variable while reserving PCI regions and while allocating the IRQs. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 09ec55ed74ebb8a61859609011d28ab0bcb15e08 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:21 2015 +0530 mpt2sas: Remove .c and .h files from mpt2sas driver Remove .c and .h files which are no longer needed from mpt2sas driver. We are reusing this code from mpt3sas. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit f57ab32a843690fe7431ebb3a2f461e689a2e3c7 Merge: f6f18a2 89ba7d8 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Nov 12 00:22:56 2015 +0100 Merge branch 'pm-tools' * pm-tools: Creating a common structure initialization pattern for struct option cpupower: Enable disabled Cstates if they are below max latency cpupower: Remove debug message when using cpupower idle-set -D switch cpupower: cpupower monitor reports uninitialized values for offline cpus tools/power turbostat: bugfix: print MAX_NON_TURBO_RATIO tools/power turbostat: simplify Bzy_MHz calculation commit f6f18a261c1748973e9aac529ed81bb4abd9f120 Merge: 1f47b0d 2547923 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Nov 12 00:22:50 2015 +0100 Merge branch 'pm-domains' * pm-domains: PM / Domains: Allocate memory outside domain locks PM / Domains: Remove dev->driver check for runtime PM commit 78f97c8f612d0e7d7d08d741549e89e8c951920a Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:20 2015 +0530 mpt2sas: Move Gen2 HBA's device registration to a separate file 1. Create a mpt2sas_module.c file for mpt2sas where GEN2 HBA devices register with PCI, SML, IOCTL subsystems. 2. Updated the Makefile to use the object files from mpt3sas folder. 3. Defined a compilation flag SCSI_MPT2SAS which can be used to not include those sections of code from mpt3sas driver which are not required for mpt2sas driver. 4. Inherited automatic diag buffer feature from mpt3sas driver. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 7497392a1193ea5b32d8a8a2b8d77888e7fe8221 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:19 2015 +0530 mpt3sas: Move Gen3 HBA's device registration to a separate file Created a mpt3sas_module.c file for mpt3sas driver where it can register SAS3 HBA devices with PCI, SML, IOCTL subsystems. Also removed the corresponding interfaces from mpt3sas_scsih.c file. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 8a7e4c24e08fceb94887eb6d8123d6059dc5ddcd Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:18 2015 +0530 mpt3sas: Added mpt2sas driver definitions 1. Added mpt2sas driver related macros in mpt3sas header files 2. Made scsi host's, raid class', pci's, ioctl's callback functions global so that both drivers can use them. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3c5866565f37d45e3b812e3045caf2358f2f2377 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Nov 11 17:30:17 2015 +0530 mpt2sas: Use mpi headers from mpt3sas Use a single set of the hardware description headers instead of having them in the source tree twice. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 5602ea09c19e85557f2b4d30be1d6ba349b7a038 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Nov 11 12:54:42 2015 -0300 tools include: Add compiler.h to list.h list.h needs WRITE_ONCE() since 7f5f873c6a07 ("rculist: Use WRITE_ONCE() when deleting from reader-visible list") add it before including the kernel's list.h file. This fixes builds of 'make perf-tar-src-pkg' perf tool tarball builds, i.e. out of tree builds. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-e0rb8f7jwz0jn24ttyick9u6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 421fd0845eaeecce6b3806f7f0c0d67d1f9ad108 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 09:50:15 2015 +0000 perf probe: Verify parameters in two functions On kernel with only one out of CONFIG_KPROBE_EVENTS and CONFIG_UPROBE_EVENTS enabled, 'perf probe -d' causes a segfault because perf_del_probe_events() calls probe_file__get_events() with a negative fd. This patch fixes it by adding parameter validation at the entry of probe_file__get_events() and probe_file__get_rawlist(). Since they are both non-static public functions (in .h file), parameter verifying is required. v1 -> v2: Verify fd at the head of probe_file__get_rawlist() instead of checking at call site (suggested by Masami and Arnaldo at [1,2]). [1] http://lkml.kernel.org/r/50399556C9727B4D88A595C8584AAB37526048E3@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [2] http://lkml.kernel.org/r/20151105155830.GV13236@xxxxxxxxxx Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446803415-83382-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e87b49116dedba3464fd8d0ec9393b4841167334 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Nov 9 17:12:03 2015 -0300 perf session: Add missing newlines to some pr_err() calls Before: [acme@zoo linux]$ perf evlist WARNING: The perf.data file's data size field is 0 which is unexpected. Was the 'perf record' command properly terminated? non matching sample_type[acme@zoo linux]$ After: [acme@zoo linux]$ perf evlist WARNING: The perf.data file's data size field is 0 which is unexpected. Was the 'perf record' command properly terminated? non matching sample_type [acme@zoo linux]$ Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-wscok3a2s7yrj8156oc2r6qe@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4a4c03c1bb286bf0def7ae506bc076285f58d8b6 Author: Michael Petlan <mpetlan@xxxxxxxxxx> Date: Mon Nov 9 16:33:31 2015 +0100 perf annotate: Support full source file paths for srcline fix The --full-paths option did not show the full source file paths in the 'perf annotate' tool, because the value of the option was not propagated into the related functions. With this patch the value of the --full-paths option is known to the function that composes the srcline string, so it prints the full path when necessary. Committer Note: This affects annotate when the --print-line option is used: # perf annotate -h 2>&1 | grep print-line -l, --print-line print matching source lines (may be slow) Looking just at the lines that should be affected by this change: Before: # perf annotate --print-line --full-paths --stdio fput | grep '\.[ch]:[0-9]\+' 94.44 atomic64_64.h:114 5.56 file_table.c:265 file_table.c:265 5.56 : ffffffff81219a00: callq ffffffff81769360 <__fentry__> atomic64_64.h:114 94.44 : ffffffff81219a05: lock decq 0x38(%rdi) After: # perf annotate --print-line --full-paths --stdio fput | grep '\.[ch]:[0-9]\+' 94.44 /home/git/linux/arch/x86/include/asm/atomic64_64.h:114 5.56 /home/git/linux/fs/file_table.c:265 /home/git/linux/fs/file_table.c:265 5.56 : ffffffff81219a00: callq ffffffff81769360 <__fentry__> /home/git/linux/arch/x86/include/asm/atomic64_64.h:114 94.44 : ffffffff81219a05: lock decq 0x38(%rdi) # Signed-off-by: Michael Petlan <mpetlan@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://permalink.gmane.org/gmane.linux.kernel.perf.user/2365 Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3d07b3bed8eac28bbb336cd9304f1974d9a425fb Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Mon Nov 9 11:10:03 2015 +0800 perf test: Add llvm-src-base.c and llvm-src-kbuild.c to .gitignore Commit b31de018a6284a25e0fdfeb028e724f8417ec3b1 ("perf test: Enhance the LLVM test: update basic BPF test program") dynamically creates file llvm-src-base.c during the perf building. Similarly, the commit 7af3f3d55b80cce40ad94b6b8e173dccedaf25e6 ("perf test: Enhance the LLVM tests: add kbuild test") dynamically creates file llvm-src-kbuild.c during the perf building. Add them to .gitignore. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: b31de018a628 ("perf test: Enhance the LLVM test: update basic BPF test program") Fixes: 7af3f3d55b80 ("perf test: Enhance the LLVM tests: add kbuild test") Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8d3de01cfa37bfcf54f1d84eafb7db8530b74199 Merge: 842cf0b 100ceb6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 10:21:34 2015 -0800 Merge tag 'firewire-update' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 Pull firewire fix from Stefan Richter: "Work around JMicron initialization quirk, which ffected isochronous transmission, e.g. audio via FFADO or ALSA" * tag 'firewire-update' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394: firewire: ohci: fix JMicron JMB38x IT context discovery commit 91633a6dc7cb49ae7c3d268e183ddc905e739fff Author: Eddie Kovsky <ewk@xxxxxxxxxxxx> Date: Thu Nov 5 23:25:35 2015 -0700 Documentation: Add minimal Mutt config for using Gmail This patch provides a minimal configuration to set up Mutt for submitting plain text patches using Gmail. Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 803cfe2635cff6ea2147dc1065b5bd0bb98c6394 Author: Eddie Kovsky <ewk@xxxxxxxxxxxx> Date: Thu Nov 5 23:23:01 2015 -0700 Documentation: Add note on sending files directly with Mutt Like 'git send-email', Mutt can also be used to send patches generated with 'git format-patch'. This works regardless of the editor the contributor has set up to use with Mutt. Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 842cf0b9525813b084720a82d0d3aabc750b7ccc Merge: 65d57b30 7c7afc4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 09:45:24 2015 -0800 Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs update from Al Viro: - misc stable fixes - trivial kernel-doc and comment fixups - remove never-used block_page_mkwrite() wrapper function, and rename the function that is _actually_ used to not have double underscores. * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: fs: 9p: cache.h: Add #define of include guard vfs: remove stale comment in inode_operations vfs: remove unused wrapper block_page_mkwrite() binfmt_elf: Correct `arch_check_elf's description fs: fix writeback.c kernel-doc warnings fs: fix inode.c kernel-doc warning fs/pipe.c: return error code rather than 0 in pipe_write() fs/pipe.c: preserve alloc_file() error code binfmt_elf: Don't clobber passed executable's file header FS-Cache: Handle a write to the page immediately beyond the EOF marker cachefiles: perform test on s_blocksize when opening cache file. FS-Cache: Don't override netfs's primary_index if registering failed FS-Cache: Increase reference of parent after registering, netfs success debugfs: fix refcount imbalance in start_creating commit 65d57b3050eed3d848e51761904668b5d156743c Merge: c8fff3e 4afa5f9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 09:23:07 2015 -0800 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fix from Herbert Xu: "This fixes a bug in the algif_hash interface that may lead to crashes when used with certain algorithms such as HMAC" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: algif_hash - Only export and import on sockets with data commit c8fff3ed321abf11bea7464884b0876c46ff2491 Merge: baf51c4 5dcd7b4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 09:16:10 2015 -0800 Merge tag 'pwm/for-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm Pull pwm updates from Thierry Reding: "This round contains a couple of new drivers for the Marvell Berlin family of SoCs, various SoCs from Renesas and Broadcom as well as the backlight PWM present on MediaTek SoCs. Further existing drivers are extended to support a wider range of hardware. The remaining patches are minor fixes and cleanups across the board. Note that one of the patches included in this pull request is against arch/unicore32. I've included it here because I couldn't get a response from Guan Xuetao and I consider the change low-risk. Equivalent patches have been merged and tested in Samsung and PXA trees. The goal is to finally get rid of legacy code paths that have repeatedly been causing headaches" * tag 'pwm/for-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (24 commits) pwm: sunxi: Fix whitespace issue pwm: sysfs: Make use of the DEVICE_ATTR_[RW][WO] macro's pwm: sysfs: Remove unnecessary temporary variable unicore32: nb0916: Use PWM lookup table pwm: pwm-rcar: Revise the device tree binding document about compatible pwm: Return -ENODEV if no PWM lookup match is found pwm: sun4i: Add support for PWM controller on sun5i SoCs pwm: Set enable state properly on failed call to enable pwm: lpss: Add support for runtime PM pwm: lpss: Add more Intel Broxton IDs pwm: lpss: Support all four PWMs on Intel Broxton pwm: lpss: Add support for multiple PWMs pwm-pca9685: enable ACPI device found on Galileo Gen2 pwm: Add MediaTek display PWM driver support dt-bindings: pwm: Add MediaTek display PWM bindings pwm: tipwmss: Enable on TI DRA7x and AM437x pwm: atmel-hlcdc: add sama5d2 SoC support. pwm: Add Broadcom BCM7038 PWM controller support Documentation: dt: add Broadcom BCM7038 PWM controller binding pwm: Add support for R-Car PWM Timer ... commit 0214503c5b42d05f146ede6d0bbf49265eca2909 Author: Wang YanQing <udknight@xxxxxxxxx> Date: Fri Oct 30 01:15:39 2015 +0800 Documentation: dontdiff: remove media from dontdiff media will hide all the changes in drivers/media. Signed-off-by: Wang YanQing <udknight@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d7ac8d85d39f460df9204b875eb985e18a5c523b Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Nov 5 15:21:47 2015 -0500 Documentation/SubmittingPatches: discuss In-Reply-To Add a paragraph suggesting best practices for when to link patches to previous LKML messages via In-Reply-To. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> [jc: moved the added text to a separate section] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit a907c907656bdbe082555a579ee6058a873b6e3a Author: NeilBrown <neilb@xxxxxxxx> Date: Sat Nov 7 17:38:58 2015 +1100 Remove email address from Documentation/filesystems/overlayfs.txt I'm getting a surprising large number of questions about overlayfs sent to me personally, rather than to a relevant mailing list. So remove my email address from the documentation, and add a note about looking in the MAINTAINERS file. Signed-off-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit e2807e67d58328053dc3b6f4b91033ca4ab21c0d Author: Stefan Tatschner <rumpelsepp@xxxxxxxxxxxxx> Date: Mon Nov 9 14:17:09 2015 +0100 can-doc: Add missing semicolon to example The example code for CAN_BCM, connect(s, (struct sockaddr *)&addr, sizeof(addr)) lacks a semicolon at the end of the line. This patch adds that missing semicolon to ensure that the given code snippet actually compiles. Signed-off-by: Stefan Tatschner <rumpelsepp@xxxxxxxxxxxxx> Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit baf51c43926ec9aa42ef9d33ca6ee9e3e043aebe Merge: c5a3788 7c5b275 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 09:03:01 2015 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux Pull thermal updates from Zhang Rui: - Implement generic devfreq cooling mechanism through frequency reduction for devices using devfreq. From Ã?rjan Eide and Javi Merino. - Introduce OMAP3 support on TI SoC thermal driver. From Pavel Mack and Eduardo Valentin. - A bounch of small fixes on devfreq_cooling, Exynos, IMX, Armada, and Rockchip thermal drivers. * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (24 commits) thermal: exynos: Directly return 0 instead of using local ret variable thermal: exynos: Remove unneeded semicolon thermal: exynos: Use IS_ERR() because regulator cannot be NULL thermal: exynos: Fix first temperature read after registering sensor thermal: exynos: Fix unbalanced regulator disable on probe failure devfreq_cooling: return on allocation failure thermal: rockchip: support the sleep pinctrl state to avoid glitches in s2r dt-bindings: rockchip-thermal: Add the pinctrl states in this document thermal: devfreq_cooling: Make power a u64 thermal: devfreq_cooling: use a thermal_cooling_device for register and unregister thermal: underflow bug in imx_set_trip_temp() thermal: armada: Fix possible overflow in the Armada 380 thermal sensor formula thermal: imx: register irq handler later in probe thermal: rockhip: fix setting thermal shutdown polarity thermal: rockchip: fix handling of invalid readings devfreq_cooling: add trace information thermal: Add devfreq cooling PM / OPP: get the voltage for all OPPs tools/thermal: tmon: use pkg-config also for CFLAGS linux/thermal.h: rename KELVIN_TO_CELSIUS to DECI_KELVIN_TO_CELSIUS ... commit e3a7a3bf362e2a8acc301e5eaec2631e740a8a95 Author: Jens Axboe <axboe@xxxxxx> Date: Wed Nov 11 09:37:34 2015 -0700 block: don't hardcode blk_qc_t -> tag mask Use the shift/mask we use elsewhere. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit cadfbb6ec2e55171479191046142c927a8b12d87 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 19:42:49 2015 -0700 dax_io(): don't let non-error value escape via retval instead of EFAULT Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.0+ Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ccc2600b8a28f3eb0c126cd00312baba1c22cccb Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Fri Oct 30 18:36:16 2015 -0700 block: fix blk-core.c kernel-doc warning Fix kernel-doc warning in blk-core.c: Warning(..//block/blk-core.c:1549): No description found for parameter 'same_queue_rq' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dbd3ca50753e70e09cad747dce23b1a7683a3342 Author: Vivek Goyal <vgoyal@xxxxxxxxxx> Date: Mon Nov 9 09:23:40 2015 -0700 fs/block_dev.c: Remove WARN_ON() when inode writeback fails If a block device is hot removed and later last reference to device is put, we try to writeback the dirty inode. But device is gone and that writeback fails. Currently we do a WARN_ON() which does not seem to be the right thing. Convert it to a ratelimited kernel warning. Reported-by: Andi Kleen <andi@xxxxxxxxxxxxxx> Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> [jmoyer@xxxxxxxxxx: get rid of unnecessary name initialization, 80 cols] Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c74dc7801d515d01847fd5cf2b472489fa5717b1 Author: Stephan Günther <guenther@xxxxxx> Date: Wed Nov 4 00:49:45 2015 +0100 NVMe: add support for Apple NVMe controller Add PCI ID of Apple's NVMe controller. Signed-off-by: Stephan Guenther <guenther@xxxxxx> Signed-off-by: Maurice Leclaire <leclaire@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit a310acd7a7ea53533886c11bb7edd11ffd61a036 Author: Stephan Günther <guenther@xxxxxx> Date: Sat Nov 7 18:07:02 2015 -0700 NVMe: use split lo_hi_{read,write}q Some controllers may require ordered split transfers even on 64bit machines, e.g. Apple's NVMe controller as found in the MacBook8,1 and MacBookAir7,1 (256/512GB models). This patch enforces ordered split transfers on 64bit platforms, which works around that issue for all controllers. As pointed out by Christoph [1] there should be no performance impact due to that modification. [1] http://lists.infradead.org/pipermail/linux-nvme/2015-November/002965.html Signed-off-by: Stephan Guenther <guenther@xxxxxx> Signed-off-by: Maurice Leclaire <leclaire@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Updated by me to explicitly use lo_hi_read/writeq instead of playing define tricks. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1fa8cc52f46c14fb1afc20c220855c40a5d28fcd Author: Jens Axboe <axboe@xxxxxx> Date: Thu Nov 5 14:32:55 2015 -0700 blk-mq: mark __blk_mq_complete_request() static It's no longer used outside of blk-mq core. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 82c426e0f1f0b279a04cbafd1d25b504bbf49c22 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Nov 5 13:29:25 2015 -0700 MAINTAINERS: add reference to new linux-block list In the past, I've resisted doing a non-lkml related block/storage list. But we have more activity now than we previously did, and ain't nobody got time to track and follow lkml. So now linux-block@xxxxxxxxxxxxxxx exists. Please CC your patches related to block/storage here, and we'll have an easier time tracking them. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b12363d0a5da00c422641f3d926fffb713192ea3 Author: Sathyavathi M <sathya.m@xxxxxxxxxxx> Date: Thu Nov 5 12:52:28 2015 -0700 NVMe: Increase the max transfer size when mdts is 0 This patch address the issue when IO with 128KB from FIO is split into two parts, 124KB and 4KB, due to max transfer size(127KB). This degrades the device performance. Signed-off-by: Sathyavathi M <sathya.m@xxxxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2dbe5495763612f7c1b68fc897cd28c9e22079b8 Author: Jan Kara <jack@xxxxxxxx> Date: Wed Nov 4 17:13:39 2015 +0100 brd: Refuse improperly aligned discard requests Currently when improperly aligned discard request is submitted, we just silently discard more / less data which results in filesystem corruption in some cases. Refuse such misaligned requests. Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e41b104c7dba92443e594e6bc86e4b0bf1cdf573 Author: Zhou Chengming <zhouchengming1@xxxxxxxxxx> Date: Fri Nov 6 14:25:00 2015 +0800 livepatch: x86: fix relocation computation with kASLR With kASLR enabled, old_addr provided by patch module is being shifted accrodingly so that the symbol lookups work. To have module relocations handled properly as well, the same transformation needs to be perfomed on relocation address information. [jkosina@xxxxxxx: extended / reworded changelog a bit] Reported-by: Cyril B. <cbay@xxxxxxxxxxxxxx> Signed-off-by: Zhou Chengming <zhouchengming1@xxxxxxxxxx> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 121a868d05500b9d7e5108cc52474dafbf60e285 Author: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 11:06:08 2015 +0100 s390/zcrypt: Fix initialisation when zcrypt is built-in ap_bus and zcrypt_api assumed module information to always be present and initialisation to be done in module loading order (symbol dependencies). These assumptions don't hold if zcrypt is built-in; THIS_MODULE will be NULL in this case and init call order is linker order, i.e. Makefile order. Fix initialisation order by ordering the object files in the Makefile according to their dependencies, like the module loader would do. Fix message type registration by using a dedicated "name" field rather than piggy-backing on the module ("owner") information. There's no change to the requirement that module name and msgtype name are identical. The existing name macros are used. We don't need any special code for dealing with the drivers being built-in; the generic module support code already does the right thing. Test results: 1. CONFIG_MODULES=y, CONFIG_ZCRYPT=y KVM: boots, no /sys/bus/ap (expected) LPAR with CEX5: boots, /sys/bus/ap/devices/card*/type present 2. CONFIG_MODULES=y, CONFIG_ZCRYPT=m=: KVM: boots, loading zcrypt_cex4 (and ap) fails (expected) LPAR with CEX5: boots, loading =zcrypt_cex4= succeeds, /sys/bus/ap/devices/card*/type present after explicit module loading 3. CONFIG_MODULES unset, CONFIG_ZCRYPT=y: KVM: boots, no /sys/bus/ap (expected) LPAR with CEX5: boots, /sys/bus/ap/devices/card*/type present No further testing (user-space functionality) was done. Fixes: 3b6245fd303f ("s390/zcrypt: Separate msgtype implementation from card modules.") Signed-off-by: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e387753c5fb4ae40393ba3f00b7958744670cac2 Author: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 18:29:52 2015 +0100 s390/zcrypt: Fix kernel crash on systems without AP bus support On systems without AP bus (e.g. KVM) the kernel crashes during init calls when zcrypt is built-in: kernel BUG at drivers/base/driver.c:153! illegal operation: 0001 ilc:1 [#1] SMP Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.2.0+ #221 task: 0000000010a40000 ti: 0000000010a48000 task.ti:0000000010a48000 Krnl PSW : 0704c00180000000 0000000000592bd6(driver_register+0x106/0x140) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3 0000000000000012 0000000000000000 0000000000c45328 0000000000c44e30 00000000009ef63c 000000000067f598 0000000000cf3c58 0000000000000000 000000000000007b 0000000000cb1030 0000000000000002 0000000000000000 0000000000ca8580 0000000010306700 00000000001001d8 0000000010a4bd88 Krnl Code: 0000000000592bc6: f0b00004ebcf srp 4(12,%r0),3023(%r14),0 0000000000592bcc: f0a0000407f4 srp 4(11,%r0),2036,0 #0000000000592bd2: a7f40001 brc 15,592bd4 >0000000000592bd6: e330d0000004 lg %r3,0(%r13) 0000000000592bdc: c0200021edfd larl %r2,9d07d6 0000000000592be2: c0e500126d8f brasl %r14,7e0700 0000000000592be8: e330d0080004 lg %r3,8(%r13) 0000000000592bee: a7f4ffab brc 15,592b44 Call Trace: ([<00000000001001c8>] do_one_initcall+0x90/0x1d0) [<0000000000c6dd34>] kernel_init_freeable+0x1e4/0x2a0 [<00000000007db53a>] kernel_init+0x2a/0x120 [<00000000007e8ece>] kernel_thread_starter+0x6/0xc [<00000000007e8ec8>] kernel_thread_starter+0x0/0xc Last Breaking-Event-Address: [<0000000000592bd2>] driver_register+0x102/0x140 When zcrypt is built as a module, the module loader ensures that the driver modules cannot be loaded if the AP bus module returns an error during initialisation. But if zcrypt and the driver are built-in, the driver is getting initialised even if the AP bus initialisation failed. The driver invokes ap_driver_register() during initialisation, which then causes operations on uninitialised data structures to be performed. Explicitly protect ap_driver_register() by introducing an "initialised" flag that gets set iff the AP bus initialisation was successful. When the AP bus initialisation failed, ap_driver_register() will error out with -ENODEV, causing the driver initialisation to fail as well. Test results: 1. Inside KVM (no AP bus), zcrypt built-in Boots. /sys/bus/ap not present (expected). 2. Inside KVM (no AP bus), zcrypt as module Boots. Loading zcrypt_cex4 fails because loading ap_bus fails (expected). 3. On LPAR with CEX5, zcrypt built-in Boots. /sys/bus/ap/devices/card* present but .../card*/type missing (i.e. zcrypt_device_register() fails, unrelated issue). 4. On LPAR with CEX5, zcrypt as module Boots. Loading zcrypt_cex4 successful, /sys/bus/ap/devices/card*/type present. No further testing (user-space functionality) was done. Signed-off-by: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 18e22a1772260045648e49e2048ecc7193422a80 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 29 18:39:54 2015 +0200 s390: add support for ipl devices in subchannel sets > 0 Allow to ipl from CCW based devices residing in any subchannel set. Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e2656412f2a7343ecfd13eb74bac0a6e6e9c5aad Author: Lu, Han <han.lu@xxxxxxxxx> Date: Wed Nov 11 16:54:27 2015 +0800 ALSA: hda/hdmi - apply Skylake fix-ups to Broxton display codec Broxton and Skylake have the same behavior on display audio. So this patch applys Skylake fix-ups to Broxton. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 997effa0c198ab3b7d4b62cf443d797e4e0bf5ff Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 16 12:51:58 2015 -0700 MIPS: BMIPS: Enable GZIP ramdisk and timed printks Update bmips_be_defconfig and bmips_stb_defconfig to have GZIP ramdisk support enabled by default as well was timed printks. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Kevin Cernekee <cernekee@xxxxxxxxx> Reviewed-by: Dragan Stancevic <dragan.stancevic@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: blogic@xxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11307/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e0bedada3a497d0640dd5db93e7ad0735f487492 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 09:58:06 2015 +0100 s390/ipl: fix out of bounds access in scpdata_write The input buffer in reipl_fcp_scpdata_write is accessed out of bounds when an offset is specified. The problem is that the offset refers to the data we should write to and not to the buffer we read from. So instead of memcpy(scp_data, buf + off, count); we could just do memcpy(scp_data + off, buf, count); However we not only modify the data but also store its length. For this to work we'd need to remember a state per open FH. Since that's not possible with sysfs callbacks let's just fail when an offset is specified. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Acked-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 43f2cdeb7a61598050028f1eae51b9cb5398af42 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Nov 8 23:40:41 2015 +0100 ALSA: ctxfi: constify rsc ops structures The various rsc ops structures are never modified, so declare them as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 834cc15b443840d94e225bb0ff0604b1c1f6f2e1 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Mon Oct 26 11:30:57 2015 +0000 MIPS: Add xilfpga defconfig Add defconfig for MIPSfpga Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: robh+dt@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11363/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9937f5fff889bde488c5ffd238dcb49e9b9cc7b7 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Mon Oct 26 11:30:56 2015 +0000 MIPS: xilfpga: Add mipsfpga platform code The xilfpga platform will be DT only. Add required platform code. DT files have already been added separately. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: robh+dt@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11364/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 552b8b363ede5fc53db343b67c0b2b5eaf783a11 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Mon Oct 26 11:30:55 2015 +0000 MIPS: xilfpga: Add xilfpga device tree files. Add device tree files for the MIPSfpga platform. See Documentation/devicetree/bindings/mips/img/xilfpga.txt for details about MIPSfpga Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: robh+dt@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11362/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 26c188be1f99d609cd4946f97fdf9e29d3d5c81e Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Mon Oct 26 11:30:54 2015 +0000 dt-bindings: MIPS: Document xilfpga bindings and boot style Xilfpga boots only with device-tree. Document the required properties and the unique boot style Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: robh+dt@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11361/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2bcef9b457bbe159a5e3843e2578d8195e0b1c56 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 13:13:03 2015 +0200 MIPS: Make MIPS_CMDLINE_DTB default Seval of-enabled machines (bmips, lantiq, xlp, pistachio, ralink) copied the arguments from dtb to arcs_command_line to prevent the kernel from overwriting them. Since there is now an option to keep the dtb arguments, default to the new option remove the "backup" to arcs_command_line in case of USE_OF is enabled, except for those platforms that still take the bootloader arguments or do not use any at all. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11285/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2024972ef5330dcae47f400c586764d8f4cb0b04 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 13:13:02 2015 +0200 MIPS: Make the kernel arguments from dtb available Similar to how arm allows using selecting between bootloader arguments, dtb arguments and both, allow to select them on mips. But since we have less control over the place of the dtb do not modify it but instead use the boot_command_line for merging them. The default is "use bootloader arguments" to keep the current behaviour as default. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11284/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5b24d52ce23d1c7a5c2bd884e57463e266eb8b85 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 13:13:01 2015 +0200 MIPS: Use USE_OF as the guard for appended dtb Since OF is now a user selectable symbol, the choice for appended dtb support should only be visible when USE_OF is selected, as this indicates actual machine support for device tree in MIPS. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11283/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 63893ea5304c919656613a47b04e35c6814d9041 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Wed Oct 14 04:27:38 2015 -0700 MIPS: BCM63XX: Use pr_* instead of printk Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Jonas Gorski <jogo@xxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Nicolas Schichan <nschichan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11300/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5361832704d3224c09dd5732ae656d9d5014c1d8 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Wed Oct 7 14:07:59 2015 +0800 MIPS: Loongson: Cleanup CONFIG_LOONGSON_SUSPEND. Now LOONGSON_CHIPCFG register definition doesn't depend on CPUFREQ any more, so CPU_SUPPORTS_CPUFREQ is no longer needed for suspend/resume. Remove CONFIG_LOONGSON_SUSPEND and use CONFIG_SUSPEND instead. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: John Crispin <john@xxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11274/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 08b3c894e56580b8ed3e601212a25bda974c3cc2 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Thu Nov 5 03:56:23 2015 +0100 MIPS: lantiq: Disable xbar fpi burst mode Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11458/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9eb8c69e0b00d5e7970a682454180780b6a3d020 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 13:14:15 2015 +0100 MIPS: lantiq: Force the crossbar to big endian Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11450/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 26cfdbe30d81c209a5e81c4c311b02b10b5821c3 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 13:14:14 2015 +0100 MIPS: lantiq: Initialize the USB core on boot There is a DWC2 USB core in these SoCs. To make USB work we need to first reset and power the state machine. These are SoC specific registers and not part of the actual USB core. Signed-off-by: Antti Seppälä <a.seppala@xxxxxxxxx> Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11449/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1601078df26605da7a8107bdd3143ef6b9d07e3b Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 13:14:13 2015 +0100 MIPS: lantiq: Return correct value for fpi clock on ar9 Some configurations of AR9 reported the incorrect speed for the fpi bus. Signed-off-by: Ben Mulvihill <ben.mulvihill@xxxxxxxxx> Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11448/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 69ebed7dc9311ea383dd0b9542c823a51b20e679 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:14 2015 +0100 MIPS: ralink: Add missing clock on rt305x The rt305x support is missing a clock required by the ethernet driver. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11447/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1a93520504aa035f037e7e255aee670561a38946 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:13 2015 +0100 MIPS: ralink: Put the pci bus into reset state before rebooting the SoC Some pcie cards have problems after a reboot without this. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11446/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 81ab9f6c5ff8565e4cba330e340a8979a10521d7 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:12 2015 +0100 MIPS: ralink: Don't set pm_power_off Setting pm_power_off is apprently wrong and makes drivers such as gpio-poweroff not work. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11445/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bc19f5d677c10f323650e6bb5fe45ab5fb11e9a9 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:11 2015 +0100 MIPS: ralink: Remove check for CONFIG_PCI on non-PCI SoCs The code currently panics if PCI is enabled but the SoC has no PCI bus. This check is superfluous as the driver only loads if enabled in the devicetree. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11444/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 37bcc03f97e05cc65ce87d3b2fdcd4e5b28ce06c Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:10 2015 +0100 MIPS: ralink: Fix invalid tick count The current code adds the delta twice, which is obviously wrong. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11443/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 73afa6c4208257ea1733a03918fea731a18131e7 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Thu Nov 5 03:59:58 2015 +0100 MIPS: ralink: Add tty detection MT7688 has several uarts that can be used for console. There are several boards in the wild, that use ttyS1 or ttyS2. This patch applies a simply autodetection routine to figure out which ttyS the bootloader used as console. The uarts come up in 6 bit mode by default. The bootloader will have set 8 bit mode on the console. Find that 8bit tty and use it. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11459/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b361bd762e7724e660a44955ae4840aa984e3871 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:08 2015 +0100 MIPS: ralink: Fix usb issue during frequency scaling If the USB HCD is running and the cpu is scaled too low, then the USB stops working. Increase the idle speed of the core to fix this if the kernel is built with USB support. The "magic" values are taken from the Ralink SDK Kernel. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11441/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 418d29c8706170c6801998e48341181b274a47a8 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:07 2015 +0100 MIPS: ralink: Unify SoC id handling This makes detection a lot easier for audio, wifi, ... drivers. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11440/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 81857db913e9782546d29b52cd3efc80c0145c23 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:06 2015 +0100 MIPS: ralink: Add support for mt7688 MT7688 is similar tot he MT7628 but has a different wifi radio. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11439/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1b04be20f6e38672d81f2de844488164bca988ca Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Tue Oct 27 15:48:11 2015 +0900 MIPS: BMIPS: Add SATA/PHY nodes for bcm7362 Add AHCI and PHY device nodes to MIPS-based BCM7362 set-top box platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Dragan Stancevic <dragan.stancevic@xxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11379/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 19e88101c78fdbfb93580f7ac0eb64eea040cbb6 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Tue Oct 27 15:48:10 2015 +0900 MIPS: BMIPS: Add SATA/PHY nodes for bcm7346 Add AHCI and PHY device nodes to MIPS-based BCM7346 set-top box platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Dragan Stancevic <dragan.stancevic@xxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11378/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ce6df6376a1eeb63c694f8e82e9563b59c5506a6 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Tue Oct 27 15:48:09 2015 +0900 MIPS: BMIPS: Add SATA/PHY nodes for bcm7425 Add AHCI and PHY device nodes to MIPS-based BCM7425 set-top box platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Dragan Stancevic <dragan.stancevic@xxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11377/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f50cbf5329e045e8d69046ea9093e6bafdc09516 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Wed Oct 21 11:37:01 2015 +0900 MIPS: BMIPS: Add I2C node for bcm7362 Add I2C device nodes to BMIPS based BCM7362 platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Cc: linux-i2c@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11336/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fb575b85efd091bad0e0a1220426086c789074d7 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Wed Oct 21 11:37:00 2015 +0900 MIPS: BMIPS: Add I2C node for bcm7360 Add I2C device nodes to BMIPS based BCM7360 platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Cc: linux-i2c@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11335/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ad8378383e2c705871125f5c9d36936d80068174 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Wed Oct 21 11:36:59 2015 +0900 MIPS: BMIPS: Add I2C node for bcm7358 Add I2C device nodes to BMIPS based BCM7358 platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Cc: linux-i2c@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11334/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 39d9b6b223900cdcc36f78c7f9b4173975ca668c Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Wed Oct 21 11:36:58 2015 +0900 MIPS: BMIPS: Add I2C node for bcm7346 Add I2C device nodes to BMIPS based BCM7346 platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Cc: linux-i2c@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11333/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6e807852676a2ef6f104b56114d7a5096d42ff37 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:44 2015 +0100 MIPS: Lantiq: Fix check for return value of request_mem_region() request_mem_region() returns a pointer and not an integer with an error value. A check for "< 0" on a pointer will cause problems, replace it with not null checks instead. This was found with sparse. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11395/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 13648d724549ec5bd986e88ec628c1b42ab0258e Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:43 2015 +0100 MIPS: Lantiq: Add support for xRX220 SoC Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11394/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5072d8142a830102317411e5599d7347cdd88a9f Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:42 2015 +0100 MIPS: Lantiq: Add misc clocks Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11393/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e71f6d356dccce4ba49a402bf7e9cb44671787cb Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:41 2015 +0100 MIPS: Lantiq: Add 1e103100.deu clock Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11392/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a3a6853498903dc937710a9f00af8a6679b3e704 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:40 2015 +0100 MIPS: Lantiq: Add clock for mei driver Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11391/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a5c1aad853a499f2b9f3a74e0d019b2ea8ad5825 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:39 2015 +0100 MIPS: Lantiq: Add SoC detection for ar10 and grx390 Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11390/ Patchwork: https://patchwork.linux-mips.org/patch/11399/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit eefee024b012df827fd0aebffcd05665d8511a8a Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:38 2015 +0100 MIPS: Lantiq: Add support for gphy firmware loading for ar10 and grx390 Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11389/ Patchwork: https://patchwork.linux-mips.org/patch/11398/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d0b991e376e6293f1122813f28c63d3c93fdc97b Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:37 2015 +0100 MIPS: Lantiq: Add pmu bits for ar10 and grx390 Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11388/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e182c98a59e3cf9e78d1d20f32d3bd3d1b4c521a Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:36 2015 +0100 MIPS: Lantiq: Add PMU bits for USB and SDIO devices This adds the PUM bits for USB and SDIO devices Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11387/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 95135bfa7ead1becc2879230f72583dde2b71a0c Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:35 2015 +0100 MIPS: Lantiq: Deactivate most of the devices by default When the SoC starts up most of the devices should be deactivated by the PMU, they should be activated when they get used by their drivers. Some devices should not get deactivate at startup like the serial, register them in a special way. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11386/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 61e371d8222fe9fd9beb15f94d27aeec58f36a2d Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:34 2015 +0100 MIPS: Lantiq: Add clock detection for grx390 and ar10 This add detection of some clocks on the ar10 and grx390. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11385/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 18a3af60fcb6c0f2948e4e2922d3fcaeb1d74c64 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:33 2015 +0100 MIPS: Lantiq: Fix pp32 clock on vr9 The vendor code uses different clock values for this clock. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11384/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b5a03d0cb32c35f7ca9a042f01c1de14daaeeb11 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:32 2015 +0100 MIPS: Lantiq: Rename CGU_SYS_VR9 register This register is also used on other SoCs. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11383/ Patchwork: https://patchwork.linux-mips.org/patch/11397/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 758d2443edd57a44cfebde585a46fabc8f298250 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:31 2015 +0100 MIPS: Lantiq: Add support for setting PMU register on AR10 and GRX390 This adds support for setting the PMU register on the AR10 and GRX390. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11382/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cab7b8363ce5413a69817a2275cf12efa0001334 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:30 2015 +0100 MIPS: Lantiq: Add locking for PMU register and check status afterwards The PMU register are accessed in a non atomic way and they could be accessed by different threads simultaneously, which could cause problems this patch adds locking around the PMU registers. In addition we now also wait till the PMU is actually deactivated. [ralf@xxxxxxxxxxxxxx: Fix spelling mistake in commit message as noticed by Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>.] Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11381/ Patchwork: https://patchwork.linux-mips.org/patch/11396/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d8cfb5037bfc875e6dc8e09e4caceb443c04ff6a Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Oct 26 11:13:16 2015 +0100 MIPS: BCM47xx: Fetch board info directly in callback function This drops another symbol dependency between setup.c and sprom.c which will allow us to make SPROM code a separated module (and share it with ARM). Patch tested on Linksys WRT300N V1. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11360/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2f94acde42b70c81129b398c44aa09411974a16d Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Oct 25 22:16:48 2015 +0100 MIPS: BCM47xx: Fix some WARNINGs pointed in sprom.c by checkpatch.pl There are still few left: 1) Most of them about lines over 80 chars (increased readability exception) 2) Wrong parsing of preprocessor macros Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11356/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit daa7ce02513d2188fe6f5ff47ce5ef83eb7de739 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Oct 25 22:16:47 2015 +0100 MIPS: BCM47xx: Support on-SoC bus in SPROM reading function To support (extract) SPROM on Broadcom ARM devices we should separate SPROM code and make it a separated module. We won't want to export bcm47xx_fill_sprom symbol so we should support SoC SPROM in the standard fallback function and then modify ssb to use it. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11355/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 500fab97c682f3264eb7f96c22575d70cce6b2b4 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Oct 25 23:21:42 2015 +0100 MIPS: lantiq: add clk_round_rate() This adds a basic implementation of clk_round_rate() The clk_round_rate() function is called by multiple drivers and subsystems now and the lantiq clk driver is supposed to export this, but doesn't do so, this causes linking problems like this one: ERROR: "clk_round_rate" [drivers/media/v4l2-core/videodev.ko] undefined! Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.1+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11358/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e1e1611598148e03c6d65e6c23338f4ff2cee71e Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Fri Oct 23 15:39:02 2015 +0300 MIPS: Add LATENCYTOP support Add LATENCYTOP support for MIPS. Tested on OCTEON. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11353/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 972cfd5502cc87d388a6d358eae717ac48ca4817 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Oct 25 22:24:25 2015 +0100 MIPS: pci-rt3883: drop unneeded of_node_get for_each_child_of_node performs an of_node_get on each iteration, so no of_node_get is needed on breaking out of the loop when the device_node structure is saved in another variable. A simplified semantic match that finds this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root; local idexpression child; @@ for_each_child_of_node(root, child) { ... * of_node_get(child) ... break; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: kernel-janitors@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11357/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a7f4df4e21dd8a8dab96e88acd2c9c5017b83fc6 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Wed Oct 21 09:57:44 2015 +0100 MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime() Add user-mode implementations of gettimeofday() and clock_gettime() to the VDSO. This is currently usable with 2 clocksources: the CP0 count register, which is accessible to user-mode via RDHWR on R2 and later cores, or the MIPS Global Interrupt Controller (GIC) timer, which provides a "user-mode visible" section containing a mirror of its counter registers. This section must be mapped into user memory, which is done below the VDSO data page. When a supported clocksource is not in use, the VDSO functions will return -ENOSYS, which causes libc to fall back on the standard syscall path. When support for neither of these clocksources is compiled into the kernel at all, the VDSO still provides clock_gettime(), as the coarse realtime/monotonic clocks can still be implemented. However, gettimeofday() is not provided in this case as nothing can be done without a suitable clocksource. This causes the symbol lookup to fail in libc and it will then always use the standard syscall path. This patch includes a workaround for a bug in QEMU which results in RDHWR on the CP0 count register always returning a constant (incorrect) value. A fix for this has been submitted, and the workaround can be removed after the fix has been in stable releases for a reasonable amount of time. A simple performance test which calls gettimeofday() 1000 times in a loop and calculates the average execution time gives the following results on a Malta + I6400 (running at 20MHz): - Syscall: ~31000 ns - VDSO (GIC): ~15000 ns - VDSO (CP0): ~9500 ns [markos.chandras@xxxxxxxxxx: - Minor code re-arrangements in order for mappings to be made in the order they appear to the process' address space. - Move do_{monotonic, realtime} outside of the MIPS_CLOCK_VSYSCALL ifdef - Use gic_get_usm_range so we can do the GIC mapping in the arch/mips/kernel/vdso instead of the GIC irqchip driver] Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11338/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c0a9f72c156baf1e88c33c6ba4450647af1b8804 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Mon Oct 12 10:40:43 2015 +0100 irqchip: irq-mips-gic: Provide function to map GIC user section The GIC provides a "user-mode visible" section containing a mirror of the counter registers which can be mapped into user memory. This will be used by the VDSO time function implementations, so provide a function to map it in. When the GIC is not enabled in Kconfig a dummy inline version of this function is provided, along with "#define gic_present 0", so that we don't have to litter the VDSO code with ifdefs. [markos.chandras@xxxxxxxxxx: - Move mapping code to arch/mips/kernel/vdso.c and use a resource type to get the GIC usermode information - Avoid renaming function arguments and use __gic_base_addr to hold the base GIC address prior to ioremap.] [ralf@xxxxxxxxxxxxxx: Fix up gic_get_usm_range() to compile and make inline again.] Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: http://patchwork.linux-mips.org/patch/11281/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ebb5e78cc63417a35254a791de66e1cc84f963cc Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Wed Oct 21 09:54:38 2015 +0100 MIPS: Initial implementation of a VDSO Add an initial implementation of a proper (i.e. an ELF shared library) VDSO. With this commit it does not export any symbols, it only replaces the current signal return trampoline page. A later commit will add user implementations of gettimeofday()/clock_gettime(). To support both new toolchains and old ones which don't generate ABI flags section, we define its content manually and then use a tool (genvdso) to patch up the section to have the correct name and type. genvdso also extracts symbol offsets ({,rt_}sigreturn) needed by the kernel, and generates a C file containing a "struct mips_vdso_image" containing both the VDSO data and these offsets. This C file is compiled into the kernel. On 64-bit kernels we require a different VDSO for each supported ABI, so we may build up to 3 different VDSOs. The VDSO to use is selected by the mips_abi structure. A kernel/user shared data page is created and mapped below the VDSO image. This is currently empty, but will be used by the user time function implementations which are added later. [markos.chandras@xxxxxxxxxx: - Add more comments - Move abi detection in genvdso.h since it's the get_symbol function that needs it. - Add an R6 specific way to calculate the base address of VDSO in order to avoid the branch instruction which affects performance. - Do not patch .gnu.attributes since it's not needed for dynamic linking. - Simplify Makefile a little bit. - checkpatch fixes - Restrict VDSO support for binutils < 2.25 for pre-R6 - Include atomic64.h for O32 variant on MIPS64] Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11337/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 22773aa9b95657f0adc2b5342428d9da7a6d5d02 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:56 2015 +0200 MIPS: mpc30x_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts mpc30x_defconfig to use libata PATA drivers. PS This platform still uses "ide0=base[,ctl[,irq]]" hack in its defconfig. The hack itself has been removed in 2008 and this platform should be converted to using PATA platform host driver (pata_platform) instead. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11141/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1b7d801263522d9e1a122a6913c42acb5bf6c2c0 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:55 2015 +0200 MIPS: maltaup_xpa_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts maltaup_xpa_defconfig to use libata PATA drivers (tc86c001 IDE host driver has no corresponding libata driver yet so it is not converted). Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11140/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 93c7e664ff6af49c05d1b78b54aa6f02e1ba88f6 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:54 2015 +0200 MIPS: maltaup_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts maltaup_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11142/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b0b98ad9b59f2a4c011d4b1ff40efa663b2b4e43 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:53 2015 +0200 MIPS: maltasmvp_eva_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts maltasmvp_eva_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11139/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 255faa84276ae8c42a660af3ad6e089ac89d22b4 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:52 2015 +0200 MIPS: maltaaprp_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts maltaaprp_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: b.zolnierkie@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11137/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 077b649a2ffe53109c98379fe7ba2fa4fdc9a34a Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:51 2015 +0200 MIPS: malta_qemu_32r6_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts malta_qemu_32r6_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: b.zolnierkie@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11138/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5f6df05b2faf893bc119d4bf1ef2decefedd0440 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:50 2015 +0200 MIPS: malta_kvm_guest_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts malta_kvm_guest_defconfig to use libata PATA drivers (tc86c001 IDE host driver has no corresponding libata driver yet so it is not converted). Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Sanjay Lal <sanjayl@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11136/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 91c6fbabaed76ce0d85c357fe2f9e9dfc74d0640 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:49 2015 +0200 MIPS: malta_kvm_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts malta_kvm_defconfig to use libata PATA drivers (tc86c001 IDE host driver has no corresponding libata driver yet so it is not converted). Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Sanjay Lal <sanjayl@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11135/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d17e465543e7689168ea2a913e67231876a668d5 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:48 2015 +0200 MIPS: malta_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts malta_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11134/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7ff7a5b1bfff71a1814f3542c1bd3c8f3e08bbbe Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:47 2015 +0200 MIPS: lemote2f_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts lemote2f_defconfig to use libata PATA drivers. PS This platform uses CS5536 chipset which (due to historical reasons) has basic support in AMD/nVidia PATA host driver and full support in a newer CS5536 PATA one (pata_cs5536). Thus most likely this platform should switch to using the latter host driver. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11133/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 973852fc0d1be1fa47a03c7c0a106a0667714edd Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:46 2015 +0200 MIPS: lasat_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts lasat_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Brian Murphy <brian@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11132/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1485ddcc2ffaaa801c4104b85eac95c2f32c4220 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:45 2015 +0200 MIPS: fuloong2e_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts fuloong2e_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11131/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5c2a53a1e0ee8713b9160a52ed374cc8d8cd0c82 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:44 2015 +0200 MIPS: e55_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts e55_defconfig to use libata PATA drivers. PS This platform still uses "ide0=base[,ctl[,irq]]" hack in its defconfig. The hack itself has been removed in 2008 and this platform should be converted to using PATA platform host driver (pata_platform) instead. Cc: Yoichi Yuasa <yoichi_yuasa@xxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5081f4fc32243c3ebbd95638abd3ef1a2ae1247f Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:43 2015 +0200 MIPS: capcella_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts capcella_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11129/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit adcdd4287da33132d4a72a9bcf60183c1cab5563 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:42 2015 +0200 MIPS: bigsur_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts bigsur_defconfig to use libata PATA drivers (tc86c001 IDE host driver has no corresponding libata driver yet so it is not converted). Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11128/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cab25bc7537badea41f635a049f45408c24dff26 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 12:03:37 2015 -0700 MIPS: Extend hardware table walking support to MIPS64 Extend the existing support for Hardware Table Walking (HTW) to MIPS64 systems by supporting PMDs & setting the pointer size bit in PWSize, then ceasing to blacklist HTW on MIPS64 systems. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11224/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ecafe3e9b27644b51282b539878b7671ea28ac34 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:58:43 2015 -0700 MIPS: Malta: Register UP SMP ops if all else fails If we fail to register any real SMP implementations, fall back to registering the dummy UP implementation. Otherwise when we build an SMP kernel & run it on a system where the SMP implementations fail to probe (eg. QEMU) the kernel will perform a NULL dereference attempting to call mp_ops->smp_setup() from plat_smp_setup(). Notably this fixes booting kernels with CPS SMP enabled on QEMU, which doesn't currently implement the CM, CPC or GIC. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11223/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e81a8c7dabac05d444eda315ff1a747b0fe38396 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:56:38 2015 -0700 MIPS: Malta: Setup RAM regions via DT Move memory configuration to be performed via device tree for the Malta board. This moves more Malta specific code to malta-dtshim.c, leaving the rest of the mti-malta code a little more board-agnostic. This will be useful to share more code between boards, with the device tree providing the board specifics as intended. Since we can't rely upon Malta boards running a bootloader capable of handling devictrees & filling in the required information, a piece of shim code (malta_dt_shim) is added to consume the (e)memsize variables provided as part of the bootloader environment (or on the kernel command line) then generate the DT memory node using the provided values. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11222/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ea050714bc3656a25b4b5fc73f3682532c7180eb Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:56:37 2015 -0700 MIPS: Malta: Remove fw_memblock_t abstraction The fw_getmdesc function & fw_memblock_t abstraction is only used by Malta, and so far as I can tell serves no purpose beyond making the code less clear than it could be. Remove the useless level of abstraction. 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/11221/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e1137e1d5944c2a23ca100a0b4fe6310f9cc086d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:56:36 2015 -0700 MIPS: Malta: Split obj-y entries across lines Split the obj-y entries to their own lines such that it's easier to see what's going on when adding or removing entries. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11220/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 033549c60969753d9c54053901b2041d91c4fbff Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:53 2015 -0700 MIPS: Allow RIXI for 32-bit kernels on MIPS64 Commit a68d09a156b2 ("MIPS: Don't use RI/XI with 32-bit kernels on 64-bit CPUs") prevented use of RIXI on MIPS64 systems, stating that the "TLB handlers cannot handle this case". What they actually couldn't handle was cases where there were less fill bits in the Entry{Lo,Hi} registers than bits used by software in PTEs. The handlers can now deal with this case, so enable RIXI for MIPS32 kernels on MIPS64 systems. Note that beyond the obvious benefits provided by having RIXI on such systems, this is required for systems implementing MIPSr6 where RIXI cannot be disabled. This reverts commit a68d09a156b2 ("MIPS: Don't use RI/XI with 32-bit kernels on 64-bit CPUs"). Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Joshua Kinard <kumba@xxxxxxxxxx> 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> Patchwork: https://patchwork.linux-mips.org/patch/11219/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 00bf1c691d082c1945fdba032c03a9a82e9e7e61 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:52 2015 -0700 MIPS: tlbex: Avoid placing software PTE bits in Entry* PFN fields Commit 748e787eb6de ("MIPS: Optimize TLB refill for RI/XI configurations.") stopped explicitly clearing the bits used by software in PTEs by making use of a rotate instruction that rotates them into the fill bits of the Entry{Lo,Hi} register. This can only work if there are actually enough fill bits in the register to cover the software maintained bits, otherwise we end up writing those bits into the upper bits of the PFN or PFNX field of the Entry{Lo,Hi} register. Fix this by detecting the number of fill bits present in the Entry{Lo,Hi} registers & explicitly clearing the software bits where necessary. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11218/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c6956728c76d35f2314dd54a74680360760cc2fd Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:51 2015 -0700 MIPS: Tidy EntryLo bit definitions, add PFN Tidy up the definition of the EntryLo RI & XI bits using BITS_PER_LONG rather than #ifdef'ing on CONFIG_64BIT, and add a definition for the offset to the PFN field for use by a later patch. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx 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> Patchwork: https://patchwork.linux-mips.org/patch/11217/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c676589b057a01dab418985f018123a634c1265c Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:50 2015 -0700 MIPS: tlbex: Share MIPS32 32 bit phys & MIPS64 64 bit phys code The code in build_update_entries for 64 bit physical addresses on a MIPS64 CPU and 32 bit physical addresses on a MIPS32 CPU is now identical, with the exception of r4k bug workaround in the latter which would simply not apply to the former. Remove the duplication and some Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11216/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 974a0b6a2c40260b0ac64a5523106f5991cc5127 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:49 2015 -0700 MIPS: tlbex: Remove some RIXI redundancy The cpu_has_rixi cases in build_update_entries are now identical to the non-RIXI cases with the one exception of the r45k_bvahwbug case which is hardcoded as never happening anyway & presumably was either missed from the RIXI path or would never happen on a CPU with RIXI support. Remove the redundant checks & duplication. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11215/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit dbfd657ad12d872d04d5b105876669058285a166 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:48 2015 -0700 MIPS: tlbex: Stop open-coding build_convert_pte_to_entrylo Make use of build_convert_pte_to_entrylo in the RIXI cases within build_update_entries rather than open-coding it 4 times. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11214/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5b10a0e84b4ebe02a7018846e882caa112b4ffc6 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:24:20 2015 -0700 MIPS: Always use r4k_wait_irqoff for MIPSr6 Prior to release 6 of the MIPS architecture it has been implementation dependent whether masked interrupts cause a wait instruction to return, so the kernel has effectively had to maintain a whitelist of cores upon which it is safe to use the r4k_wait_irqoff cpu_wait implementation. With MIPSr6 this is no longer implementation dependent and r4k_wait_irqoff can always be used. Remove the existing I6400 case which will no longer ever be hit, and was incorrect anyway since I6400 & r6 in general doesn't have the WII bit. 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> Patchwork: https://patchwork.linux-mips.org/patch/11210/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 78a54c4d8e5a7915a4ec2ba0eb461fae50590683 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:18 2015 -0700 MIPS: CM, CPC: Ensure core-other GCRs reflect the correct core Ensure the update to which core the core-other GCR regions reflect has taken place before any core-other GCRs are accessed by placing a memory barrier (sync instruction) between the write to the core-other registers and any such GCR accesses. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11209/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4ede31617056b7424eef28dce59dd6dbe81729c3 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:17 2015 -0700 MIPS: CM: make use of mips_cm_{lock,unlock}_other Document that CPC core-other accesses must take place within the bounds of the CM lock, and begin using the CM lock functions where we access the GCRs of other cores. This is required because with CM3 the CPC began using GCR_CL_OTHER instead of CPC_CL_OTHER. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Niklas Cassel <niklas.cassel@xxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11208/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 23d5de8efb9aed48074a72bf3d43841e1556ca42 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:16 2015 -0700 MIPS: CM: Introduce core-other locking functions Introduce mips_cm_lock_other & mips_cm_unlock_other, mirroring the existing CPC equivalents, in order to lock access from the current core to another via the core-other GCR region. This hasn't been required in the past but with CM3 the CPC starts using GCR_CL_OTHER rather than CPC_CL_OTHER and this will be required for safety. [ralf@xxxxxxxxxxxxxx: Fix merge conflict.] 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/11207/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 252d6aa605fa05b559347d3ed0a4f11bbdf6d3d0 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:15 2015 -0700 MIPS: CM: Fix GCR_Cx_CONFIG PVPE mask The PVPE (or PVP in >= CM3) field is 10 bits wide, but the mask previously only covered the bottom 9 bits. Extend the mask to cover all 10 bits of the field. 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/11206/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a8c20614b0163a71f2df3f9788bfe8b9ff07d742 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:14 2015 -0700 MIPS: CPS: Warn if a core doesn't start When debugging core bringup it is useful to see the state of the CPC sequencer, so output that value if the core hasn't started within a reasonable amount of time (1 second). This avoids simply appearing to the user to hang if a secondary core fails to start. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Niklas Cassel <niklas.cassel@xxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11205/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 192fbc20258c79e3f776a5ce6cea4654376f5af6 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:13 2015 -0700 MIPS: CPS: Skip Config1 presence check The Config1 register is architecturally defined as required, and is thus present in all systems which may make use of cps-vec.S. Skip the check for its presence via the Config.M bit. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11204/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 946db17349f6922a9c8a959c34ad9fb3aa238952 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:12 2015 -0700 MIPS: CPS: Read CM GCR base from cop0 Rather than patching the start of mips_cps_core_entry to provide the base address of the CM GCRs, simply read that base address from the cop0 CMGCRBase register, converting from the physical address to an uncached virtual address. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Niklas Cassel <niklas.cassel@xxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11203/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 609cf6f2291a69d09aa5c02d74cd4488b19aa9a6 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:11 2015 -0700 MIPS: CPS: Early debug using an ns16550-compatible UART Provide support for outputting early debug information, in the form of various register values should an exception occur, during the early bringup of secondary cores. This code requires an ns16550-compatible UART accessible from the secondary core, and is written in assembly due to the environment in which such early exceptions occur where way may not have a stack, be coherent or even have initialised caches. [ralf@xxxxxxxxxxxxxx: Fix merge conflict.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11202/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 195cee92afcb20b2156437e98b144d94812e4afd Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Nov 10 17:06:37 2015 +0000 MIPS: Fix duplicate CP0_* definitions. Remove the definition in locore.S and move a few of the other similar definitions in asm/mipsregs.h too. CP0_INTCTL, CP0_SRSCTL, & CP0_SRSMAP are unused so they're just dropped instead. CP0_DDATA_LO is left where it is as I have patches to eliminate its use in locore.S and it otherwise is unlikely to need to be used from assembly code. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11461/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7c7afc440c8ec311ae135df892cc489436a1ff00 Author: Tzvetelin Katchov <katchov@xxxxxxxxx> Date: Wed Oct 7 20:15:21 2015 -0400 fs: 9p: cache.h: Add #define of include guard The include file was intended to have an include guard, but the #define part is missing. Signed-off-by: Tzvetelin Katchov <katchov@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c8fffa643583e00eb9a783abbca251b11bc0d163 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Thu Oct 8 17:07:20 2015 -0600 vfs: remove stale comment in inode_operations The big warning comment that is currently at the end of struct inode_operations was added as part of this commit: 4aa7c6346be3 ("vfs: add i_op->dentry_open()") It was added to warn people not to use the newly added 'dentry_open' function pointer. This function pointer was removed as part of this commit: 4bacc9c9234c ("overlayfs: Make f_path always point to the overlay and f_inode to the underlay") The comment was left behind and now refers to nothing, so remove it. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5c50002963369c7c622b18ff751719eadbe225c5 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Oct 13 16:51:02 2015 -0600 vfs: remove unused wrapper block_page_mkwrite() The function currently called "__block_page_mkwrite()" used to be called "block_page_mkwrite()" until a wrapper for this function was added by: commit 24da4fab5a61 ("vfs: Create __block_page_mkwrite() helper passing error values back") This wrapper, the current "block_page_mkwrite()", is currently unused. __block_page_mkwrite() is used directly by ext4, nilfs2 and xfs. Remove the unused wrapper, rename __block_page_mkwrite() back to block_page_mkwrite() and update the comment above block_page_mkwrite(). Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> Cc: Jan Kara <jack@xxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 54d15714f7497094a0839537f0d47946edb45761 Author: Maciej W. Rozycki <macro@xxxxxxxxxx> Date: Mon Oct 26 15:47:57 2015 +0000 binfmt_elf: Correct `arch_check_elf's description Correct `arch_check_elf's description, mistakenly copied and pasted from `arch_elf_pt_proc'. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 88a578d823c1d8acb298cf317f76a3220d307d2e Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Thu Nov 5 16:54:04 2015 -0800 fs: fix writeback.c kernel-doc warnings Fix kernel-doc warnings in fs/fs-writeback.c by moving a #define macro to after the function's opening brace. Also #undef this macro at the end of the function. ..//fs/fs-writeback.c:1984: warning: Excess function parameter 'inode' description in 'I_DIRTY_INODE' ..//fs/fs-writeback.c:1984: warning: Excess function parameter 'flags' description in 'I_DIRTY_INODE' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 034ae4bac93afb483aaf8531e3a6de2ee7f1be6e Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Thu Nov 5 16:53:47 2015 -0800 fs: fix inode.c kernel-doc warning Fix kernel-doc warning in fs/inode.c: ..//fs/inode.c:1606: warning: No description found for parameter 'inode' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6ae08069939f17422835448acae76bda8d96b16a Author: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Sat Oct 17 16:26:09 2015 -0500 fs/pipe.c: return error code rather than 0 in pipe_write() pipe_write() would return 0 if it failed to merge the beginning of the data to write with the last, partially filled pipe buffer. It should return an error code instead. Userspace programs could be confused by write() returning 0 when called with a nonzero 'count'. The EFAULT error case was a regression from f0d1bec9d5 ("new helper: copy_page_from_iter()"), while the ops->confirm() error case was a much older bug. Test program: #include <assert.h> #include <errno.h> #include <unistd.h> int main(void) { int fd[2]; char data[1] = {0}; assert(0 == pipe(fd)); assert(1 == write(fd[1], data, 1)); /* prior to this patch, write() returned 0 here */ assert(-1 == write(fd[1], NULL, 1)); assert(errno == EFAULT); } Cc: stable@xxxxxxxxxxxxxxx # at least v3.15+ Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e9bb1f9b12e33fc0b2169b3937dc50c44ad87dd5 Author: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Sat Oct 17 16:26:08 2015 -0500 fs/pipe.c: preserve alloc_file() error code If sys_pipe() was unable to allocate a 'struct file', it always failed with ENFILE, which means "The number of simultaneously open files in the system would exceed a system-imposed limit." However, alloc_file() actually returns an ERR_PTR value and might fail with other error codes. Currently, in addition to ENFILE, it can fail with ENOMEM, potentially when there are few open files in the system. Update sys_pipe() to preserve this error code. In a prior submission of a similar patch (1) some concern was raised about introducing a new error code for sys_pipe(). However, for most system calls, programs cannot assume that new error codes will never be introduced. In addition, ENOMEM was, in fact, already a possible error code for sys_pipe(), in the case where the file descriptor table could not be expanded due to insufficient memory. (1) http://comments.gmane.org/gmane.linux.kernel/1357942 Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b582ef5c53040c5feef4c96a8f9585b6831e2441 Author: Maciej W. Rozycki <macro@xxxxxxxxxx> Date: Mon Oct 26 15:48:19 2015 +0000 binfmt_elf: Don't clobber passed executable's file header Do not clobber the buffer space passed from `search_binary_handler' and originally preloaded by `prepare_binprm' with the executable's file header by overwriting it with its interpreter's file header. Instead keep the buffer space intact and directly use the data structure locally allocated for the interpreter's file header, fixing a bug introduced in 2.1.14 with loadable module support (linux-mips.org commit beb11695 [Import of Linux/MIPS 2.1.14], predating kernel.org repo's history). Adjust the amount of data read from the interpreter's file accordingly. This was not an issue before loadable module support, because back then `load_elf_binary' was executed only once for a given ELF executable, whether the function succeeded or failed. With loadable module support supported and enabled, upon a failure of `load_elf_binary' -- which may for example be caused by architecture code rejecting an executable due to a missing hardware feature requested in the file header -- a module load is attempted and then the function reexecuted by `search_binary_handler'. With the executable's file header replaced with its interpreter's file header the executable can then be erroneously accepted in this subsequent attempt. Cc: stable@xxxxxxxxxxxxxxx # all the way back Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 102f4d900c9c8f5ed89ae4746d493fe3ebd7ba64 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Nov 4 15:20:42 2015 +0000 FS-Cache: Handle a write to the page immediately beyond the EOF marker Handle a write being requested to the page immediately beyond the EOF marker on a cache object. Currently this gets an assertion failure in CacheFiles because the EOF marker is used there to encode information about a partial page at the EOF - which could lead to an unknown blank spot in the file if we extend the file over it. The problem is actually in fscache where we check the index of the page being written against store_limit. store_limit is set to the number of pages that we're allowed to store by fscache_set_store_limit() - which means it's one more than the index of the last page we're allowed to store. The problem is that we permit writing to a page with an index _equal_ to the store limit - when we should reject that case. Whilst we're at it, change the triggered assertion in CacheFiles to just return -ENOBUFS instead. The assertion failure looks something like this: CacheFiles: Assertion failed 1000 < 7b1 is false ------------[ cut here ]------------ kernel BUG at fs/cachefiles/rdwr.c:962! ... RIP: 0010:[<ffffffffa02c9e83>] [<ffffffffa02c9e83>] cachefiles_write_page+0x273/0x2d0 [cachefiles] Cc: stable@xxxxxxxxxxxxxxx # v2.6.31+; earlier - that + backport of a17754f (at least) Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 95201a40604791bc4a2e8d066429be89fb82b46d Author: NeilBrown <neilb@xxxxxxx> Date: Wed Nov 4 15:20:34 2015 +0000 cachefiles: perform test on s_blocksize when opening cache file. cachefiles requires that s_blocksize in the cache is not greater than PAGE_SIZE, and performs the check every time a block is accessed. Move the test to the place where the file is "opened", where other file-validity tests are performed. Signed-off-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b130ed5998e62879a66bad08931a2b5e832da95c Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Nov 4 15:20:24 2015 +0000 FS-Cache: Don't override netfs's primary_index if registering failed Only override netfs->primary_index when registering success. Cc: stable@xxxxxxxxxxxxxxx # v2.6.30+ Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 86108c2e34a26e4bec3c6ddb23390bf8cedcf391 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Nov 4 15:20:15 2015 +0000 FS-Cache: Increase reference of parent after registering, netfs success If netfs exist, fscache should not increase the reference of parent's usage and n_children, otherwise, never be decreased. v2: thanks David's suggest, move increasing reference of parent if success use kmem_cache_free() freeing primary_index directly v3: don't move "netfs->primary_index->parent = &fscache_fsdef_index;" Cc: stable@xxxxxxxxxxxxxxx # v2.6.30+ Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0ee9608c89e81a1ccee52ecb58a7ff040e2522d9 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Nov 5 00:01:51 2015 +0100 debugfs: fix refcount imbalance in start_creating In debugfs' start_creating(), we pin the file system to safely access its root. When we failed to create a file, we unpin the file system via failed_creating() to release the mount count and eventually the reference of the vfsmount. However, when we run into an error during lookup_one_len() when still in start_creating(), we only release the parent's mutex but not so the reference on the mount. Looks like it was done in the past, but after splitting portions of __create_file() into start_creating() and end_creating() via 190afd81e4a5 ("debugfs: split the beginning and the end of __create_file() off"), this seemed missed. Noticed during code review. Fixes: 190afd81e4a5 ("debugfs: split the beginning and the end of __create_file() off") Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b82983401684ba06fcf3fbafa63edf371c0d4775 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 11 01:18:16 2015 +0300 asus-wmi: fix error handling in store_sys_wmi() The asus_wmi_get_devstate_simple() returns 0-1 on success. In theory according to static checkers, it can return either -EIO or -ENODEV on failure. Currently the error handling code only handles -ENODEV and -EIO is treated as success. Let's make it handle the -EIO error as well. It's possible that it can't actually return -EIO and this patch is not needed but in that case this patch is harmless and silences a static checker warning so it's still worth it. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit c5a37883f42be712a989e54d5d6c0159b0e56599 Merge: 5dfe5b2 247e75d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 21:14:23 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge final patch-bomb from Andrew Morton: "Various leftovers, mainly Christoph's pci_dma_supported() removals" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: pci: remove pci_dma_supported usbnet: remove ifdefed out call to dma_supported kaweth: remove ifdefed out call to dma_supported sfc: don't call dma_supported nouveau: don't call pci_dma_supported netup_unidvb: use pci_set_dma_mask insted of pci_dma_supported cx23885: use pci_set_dma_mask insted of pci_dma_supported cx25821: use pci_set_dma_mask insted of pci_dma_supported cx88: use pci_set_dma_mask insted of pci_dma_supported saa7134: use pci_set_dma_mask insted of pci_dma_supported saa7164: use pci_set_dma_mask insted of pci_dma_supported tw68-core: use pci_set_dma_mask insted of pci_dma_supported pcnet32: use pci_set_dma_mask insted of pci_dma_supported lib/string.c: add ULL suffix to the constant definition hugetlb: trivial comment fix selftests/mlock2: add ULL suffix to 64-bit constants selftests/mlock2: add missing #define _GNU_SOURCE commit 5dfe5b2c714a5bea0908c1e00da0e8e00535f55c Merge: 152813e 67afc21 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 21:11:58 2015 -0800 Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild updates from Michal Marek: "This is the non-critical part of kbuild: - several coccinelle updates - make deb-pkg creates an armhf package if CONFIG_VFP=y - make tags understands some more powerpc macros" * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: coccinelle: Improve checking for missing NULL terminators coccinelle: ifnullfree: handle various destroy functions coccinelle: ifnullfree: various cleanups cocinelle: iterators: semantic patch to delete unneeded of_node_put deb-pkg: Add automatic support for armhf architecture scripts/coccinelle: fix typos coccinelle: misc: remove "complex return code" warnings Coccinelle: fix incorrect -include option transformation coccinelle: tests: improve odd_ptr_err.cocci coccinelle: misc: move constants to the right scripts/tags.sh: Teach tags about some powerpc macros commit 152813e6e4bbb5f017e33eba7eb01bbda4b389b8 Merge: c34e6e0 be596aa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 21:06:50 2015 -0800 Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kconfig updates from Michal Marek: - 'make xconfig' ported to Qt5, dropping support for Qt3 - merge_config.sh supports a single-input-file mode and also respects $KCONFIG_CONFIG - Fix for incorrect display of >= and > in dependency expressions * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (44 commits) Add current selection check. Use pkg-config to find Qt 4 and 5 instead of direct qmake kconfig: Fix copy&paste error kconfig/merge_config.sh: Accept a single file kconfig/merge_config.sh: Support KCONFIG_CONFIG Update the buildsystem for KConfig finding Qt Port xconfig to Qt5 - Update copyright. Port xconfig to Qt5 - Fix goParent issue. Port xconfig to Qt5 - on Back clicked, deselect old item. Port xconfig to Qt5 - Add(back) one click checkbox toggle. Port xconfig to Qt5 - Add(back) lineedit editing. Port xconfig to Qt5 - Remove some commented code. Port xconfig to Qt5 - Source format. Port xconfig to Qt5 - Add horizontal scrollbar, and scroll per pixel. Port xconfig to Qt5 - Change ConfigItem constructor parent type. Port xconfig to Qt5 - Disable ConfigList soring Port xconfig to Qt5 - Remove ConfigList::updateMenuList template. Port xconfig to Qt5 - Add ConfigList::mode to initializer list. Port xconfig to Qt5 - Add ConfigItem::nextItem to initializer list. Port xconfig to Qt5 - Tree widget set column titles. ... commit c34e6e0bd5d729948119d4b3e15b075ec0b80d6f Merge: 6a177af dcb825a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 20:55:37 2015 -0800 Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kbuild update from Michal Marek: "The kbuild branch for v4.4-rc1 only has one commit: A new make kselftest-clean target cleans tools/testing/selftests" * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kselftest: add kselftest-clean rule commit 6a177af775d92cff7ef36a681c304dc750dbe121 Merge: ae36ce0 3b5bab3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 20:46:45 2015 -0800 Merge tag 'linux-kselftest-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest updates from Shuah Khan: "This 12 patch update for 4.4-rc1 consists of a new pstore test and fixes to existing tests" * tag 'linux-kselftest-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests: breakpoint: Actually build it selftests: vm: Try harder to allocate huge pages selftests: Make scripts executable selftests: kprobe: Choose an always-defined function to probe selftests: memfd: Stop unnecessary rebuilds selftests: Add missing #include directives selftests/seccomp: Be more precise with syscall arguments. selftests/seccomp: build and pass on arm64 selftests: memfd_test: Revised STACK_SIZE to make it 16-byte aligned selftests/pstore: add pstore test scripts going with reboot selftests/pstore: add pstore test script for pre-reboot selftests: add .gitignore for efivarfs commit ae36ce07abbdde3521dc0ef7e32143b88718cd21 Merge: 2df4ee7 10855ae Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 20:37:28 2015 -0800 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Two build fixes, one for VC4, one for nouveau where the ARM only code is doing something a bit strange. While people are discussing that, just workaround it and fix the build for now. The code in question will never get used on anything non-ARM anyways. Also one fix for AST that SuSE had been hiding in their kernel, that allows all fbdev apps to work on that driver" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/nouveau: fix build failures on all non ARM. drm/ast: Initialized data needed to map fbdev memory drm/vc4: Add dependency on HAVE_DMA_ATTRS, and select DRM_GEM_CMA_HELPER commit d5f2e33b92b10b8007be50b570a27e9bacfb4c3a Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Oct 8 18:46:44 2015 +0800 btrfs: Use fs_info directly in btrfs_delete_unused_bgs No need to use root->fs_info in btrfs_delete_unused_bgs(), use fs_info directly instead. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2c9fe835525896077e7e6d8e416b97f2f868edef Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Nov 9 11:51:32 2015 +0800 btrfs: Fix lost-data-profile caused by balance bg Reproduce: (In integration-4.3 branch) TEST_DEV=(/dev/vdg /dev/vdh) TEST_DIR=/mnt/tmp umount "$TEST_DEV" >/dev/null mkfs.btrfs -f -d raid1 "${TEST_DEV[@]}" mount -o nospace_cache "$TEST_DEV" "$TEST_DIR" btrfs balance start -dusage=0 $TEST_DIR btrfs filesystem usage $TEST_DIR dd if=/dev/zero of="$TEST_DIR"/file count=100 btrfs filesystem usage $TEST_DIR Result: We can see "no data chunk" in first "btrfs filesystem usage": # btrfs filesystem usage $TEST_DIR Overall: ... Metadata,single: Size:8.00MiB, Used:0.00B /dev/vdg 8.00MiB Metadata,RAID1: Size:122.88MiB, Used:112.00KiB /dev/vdg 122.88MiB /dev/vdh 122.88MiB System,single: Size:4.00MiB, Used:0.00B /dev/vdg 4.00MiB System,RAID1: Size:8.00MiB, Used:16.00KiB /dev/vdg 8.00MiB /dev/vdh 8.00MiB Unallocated: /dev/vdg 1.06GiB /dev/vdh 1.07GiB And "data chunks changed from raid1 to single" in second "btrfs filesystem usage": # btrfs filesystem usage $TEST_DIR Overall: ... Data,single: Size:256.00MiB, Used:0.00B /dev/vdh 256.00MiB Metadata,single: Size:8.00MiB, Used:0.00B /dev/vdg 8.00MiB Metadata,RAID1: Size:122.88MiB, Used:112.00KiB /dev/vdg 122.88MiB /dev/vdh 122.88MiB System,single: Size:4.00MiB, Used:0.00B /dev/vdg 4.00MiB System,RAID1: Size:8.00MiB, Used:16.00KiB /dev/vdg 8.00MiB /dev/vdh 8.00MiB Unallocated: /dev/vdg 1.06GiB /dev/vdh 841.92MiB Reason: btrfs balance delete last data chunk in case of no data in the filesystem, then we can see "no data chunk" by "fi usage" command. And when we do write operation to fs, the only available data profile is 0x0, result is all new chunks are allocated single type. Fix: Allocate a data chunk explicitly to ensure we don't lose the raid profile for data. Test: Test by above script, and confirmed the logic by debug output. Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit aefbe9a633b50a6124dbeb33a5d4efcdc6de6c30 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Sep 29 21:03:54 2015 +0800 btrfs: Fix lost-data-profile caused by auto removing bg Reproduce: (In integration-4.3 branch) TEST_DEV=(/dev/vdg /dev/vdh) TEST_DIR=/mnt/tmp umount "$TEST_DEV" >/dev/null mkfs.btrfs -f -d raid1 "${TEST_DEV[@]}" mount -o nospace_cache "$TEST_DEV" "$TEST_DIR" umount "$TEST_DEV" mount -o nospace_cache "$TEST_DEV" "$TEST_DIR" btrfs filesystem usage $TEST_DIR We can see the data chunk changed from raid1 to single: # btrfs filesystem usage $TEST_DIR Data,single: Size:8.00MiB, Used:0.00B /dev/vdg 8.00MiB # Reason: When a empty filesystem mount with -o nospace_cache, the last data blockgroup will be auto-removed in umount. Then if we mount it again, there is no data chunk in the filesystem, so the only available data profile is 0x0, result is all new chunks are created as single type. Fix: Don't auto-delete last blockgroup for a raid type. Test: Test by above script, and confirmed the logic by debug output. Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3b5753ec23597b05fd41d3f19ef582d6af1a6477 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 24 22:03:02 2015 +0800 btrfs: Remove len argument from scrub_find_csum It is useless. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit affe4a5ae18baa2ab67af42eb21d7d734b851819 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 24 21:32:06 2015 +0800 btrfs: Reduce unnecessary arguments in scrub_recheck_block We don't need pass so many arguments for recheck sblock now, this patch cleans them. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ba7cf9882bd25bed77aad7dd8865e80c7ae0070a Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 24 21:18:02 2015 +0800 btrfs: Use scrub_checksum_data and scrub_checksum_tree_block for scrub_recheck_block_checksum We can use existing scrub_checksum_data() and scrub_checksum_tree_block() for scrub_recheck_block_checksum(), instead of write duplicated code. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 772d233f5dec86e38a96e58cc995e7b04ab4ec68 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 24 21:10:18 2015 +0800 btrfs: Reset sblock->xxx_error stats before calling scrub_recheck_block_checksum We should reset sblock->xxx_error stats before calling scrub_recheck_block_checksum(). Current code run correctly because all sblock are allocated by k[cz]alloc(), and the error stats are not got changed. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4734b7ed79e1230602927a38bc4d04dbe9dd09c1 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 19 22:39:18 2015 +0800 btrfs: scrub: setup all fields for sblock_to_check scrub_setup_recheck_block() isn't setup all necessary fields for sblock_to_check because history reason. So current code need more arguments in severial functions, and more local variables, just to passing these lacked values to necessary place. This patch setup above fields to sblock_to_check in scrub_setup_recheck_block(), for: 1: more cleanup for function arg, local variable 2: to make sblock_to_check complete, then we can use sblock_to_check without concern about some uninitialized member. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 9799d2c32bef6fba098fbef763002bc8d4851a2c Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Aug 25 21:31:40 2015 +0800 btrfs: scrub: set error stats when tree block spanning stripes It is better to show error stats to user when we found tree block spanning stripes. On a btrfs created by old version of btrfs-convert: Before patch: # btrfs scrub start -B /dev/vdh scrub done for 8b342d35-2904-41ab-b3cb-2f929709cf47 scrub started at Tue Aug 25 21:19:09 2015 and finished after 00:00:00 total bytes scrubbed: 53.54MiB with 0 errors # dmesg ... [ 128.711434] BTRFS error (device vdh): scrub: tree block 27054080 spanning stripes, ignored. logical=27000832 [ 128.712744] BTRFS error (device vdh): scrub: tree block 27054080 spanning stripes, ignored. logical=27066368 ... After patch: # btrfs scrub start -B /dev/vdh scrub done for ff7f844b-7a4e-4b1a-88a9-8252ab25be1b scrub started at Tue Aug 25 21:42:29 2015 and finished after 00:00:00 total bytes scrubbed: 53.60MiB with 2 errors error details: corrected errors: 0, uncorrectable errors: 2, unverified errors: 0 ERROR: There are uncorrectable errors. # dmesg ...omit... # Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 10855aeb1e78533c041065b33e34315e1f381c2e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 10 08:36:59 2015 +1000 drm/nouveau: fix build failures on all non ARM. gk20a is an ARM only GPU, so we can just do the correct thing on ARM but fail on other architectures. The other option was to use SWIOTLB as the define, which means phys_to_page exists, but this seems clearer. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 28fb4cb7fa6f63dc2fbdb5f2564dcbead8e3eee0 Author: Egbert Eich <eich@xxxxxxx> Date: Wed Jun 11 14:59:55 2014 +0200 drm/ast: Initialized data needed to map fbdev memory Due to a missing initialization there was no way to map fbdev memory. Thus for example using the Xserver with the fbdev driver failed. This fix adds initialization for fix.smem_start and fix.smem_len in the fb_info structure, which fixes this problem. Requested-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Egbert Eich <eich@xxxxxxx> [pulled from SuSE tree by me - airlied] Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 2df4ee78d042ee3d17cbebd51e31b300286549dc Merge: 3419b45 8a92126 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 18:11:41 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix null deref in xt_TEE netfilter module, from Eric Dumazet. 2) Several spots need to get to the original listner for SYN-ACK packets, most spots got this ok but some were not. Whilst covering the remaining cases, create a helper to do this. From Eric Dumazet. 3) Missiing check of return value from alloc_netdev() in CAIF SPI code, from Rasmus Villemoes. 4) Don't sleep while != TASK_RUNNING in macvtap, from Vlad Yasevich. 5) Use after free in mvneta driver, from Justin Maggard. 6) Fix race on dst->flags access in dst_release(), from Eric Dumazet. 7) Add missing ZLIB_INFLATE dependency for new qed driver. From Arnd Bergmann. 8) Fix multicast getsockopt deadlock, from WANG Cong. 9) Fix deadlock in btusb, from Kuba Pawlak. 10) Some ipv6_add_dev() failure paths were not cleaning up the SNMP6 counter state. From Sabrina Dubroca. 11) Fix packet_bind() race, which can cause lost notifications, from Francesco Ruggeri. 12) Fix MAC restoration in qlcnic driver during bonding mode changes, from Jarod Wilson. 13) Revert bridging forward delay change which broke libvirt and other userspace things, from Vlad Yasevich. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (65 commits) Revert "bridge: Allow forward delay to be cfgd when STP enabled" bpf_trace: Make dependent on PERF_EVENTS qed: select ZLIB_INFLATE net: fix a race in dst_release() net: mvneta: Fix memory use after free. net: Documentation: Fix default value tcp_limit_output_bytes macvtap: Resolve possible __might_sleep warning in macvtap_do_read() mvneta: add FIXED_PHY dependency net: caif: check return value of alloc_netdev net: hisilicon: NET_VENDOR_HISILICON should depend on HAS_DMA drivers: net: xgene: fix RGMII 10/100Mb mode netfilter: nft_meta: use skb_to_full_sk() helper net_sched: em_meta: use skb_to_full_sk() helper sched: cls_flow: use skb_to_full_sk() helper netfilter: xt_owner: use skb_to_full_sk() helper smack: use skb_to_full_sk() helper net: add skb_to_full_sk() helper and use it in selinux_netlbl_skbuff_setsid() bpf: doc: correct arch list for supported eBPF JIT dwc_eth_qos: Delete an unnecessary check before the function call "of_node_put" bonding: fix panic on non-ARPHRD_ETHER enslave failure ... commit 3419b45039c6b799c974a8019361c045e7ca232c Merge: 01504f5 c1c5346 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 17:23:49 2015 -0800 Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block Pull block IO poll support from Jens Axboe: "Various groups have been doing experimentation around IO polling for (really) fast devices. The code has been reviewed and has been sitting on the side for a few releases, but this is now good enough for coordinated benchmarking and further experimentation. Currently O_DIRECT sync read/write are supported. A framework is in the works that allows scalable stats tracking so we can auto-tune this. And we'll add libaio support as well soon. Fow now, it's an opt-in feature for test purposes" * 'for-4.4/io-poll' of git://git.kernel.dk/linux-block: direct-io: be sure to assign dio->bio_bdev for both paths directio: add block polling support NVMe: add blk polling support block: add block polling support blk-mq: return tag/queue combo in the make_request_fn handlers block: change ->make_request_fn() and users to return a queue cookie commit 01504f5e9e071f1dde1062e3be15f54d4555308f Merge: 4bde961 8c1c5f2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 16:35:06 2015 -0800 Merge tag 'upstream-4.4-rc1' of git://git.infradead.org/linux-ubifs Pull UBI/UBIFS updates from Richard Weinberger: - access time support for UBIFS by Dongsheng Yang - random cleanups and bug fixes all over the place * tag 'upstream-4.4-rc1' of git://git.infradead.org/linux-ubifs: ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs ubifs: make ubifs_[get|set]xattr atomic UBIFS: Delete unnecessary checks before the function call "iput" UBI: Remove in vain semicolon UBI: Fastmap: Fix PEB array type UBIFS: Fix possible memory leak in ubifs_readdir() fs/ubifs: remove unnecessary new_valid_dev check ubi: fastmap: Implement produce_free_peb() UBIFS: print verbose message when rescanning a corrupted node UBIFS: call dbg_is_power_cut() instead of reading c->dbg->pc_happened UBI: drop null test before destroy functions UBI: Update comments to reflect UBI_METAONLY flag UBI: Fix debug message UBI: Fix typo in comment UBI: Fastmap: Simplify expression UBIFS: fix a typo in comment of ubifs_budget_req UBIFS: use kmemdup rather than duplicating its implementation commit 4bde961e5245bb37dab4831107bbed23e433d55a Merge: c6de7f1 2eb5f31 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 16:33:37 2015 -0800 Merge branch 'for-linus-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml Pull UML updates from Richard Weinberger: - a new hrtimer based clocksource by Anton Ivanov - ptrace() enhancments by Richard Weinberger - random cleanups and bug fixes all over the place * 'for-linus-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: um: Switch clocksource to hrtimers um: net: replace GFP_KERNEL with GFP_ATOMIC when spinlock is held um: Report host OOM more nicely um: Simplify STUB_DATA loading um: Remove dead symbol from i386 syscall stub um: Remove dead code from x86_64 syscall stub um: Get rid of open coded NR_SYSCALLS um: Store syscall number after syscall_trace_enter() um: Define PTRACE_OLDSETOPTIONS commit 247e75dba60140395cd7e808d32f76f208bedf76 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:50 2015 -0800 pci: remove pci_dma_supported Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 704c16db0e055e9a2acd4a5353e92b1ae4408a90 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:47 2015 -0800 usbnet: remove ifdefed out call to dma_supported Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21fd6c099dc0d6eb97fbd28a8c16c1b331e1d45a Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:44 2015 -0800 kaweth: remove ifdefed out call to dma_supported Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Oliver Neukum <oliver@xxxxxxxxxx> Cc: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8722b8fbceecfb63bdd74674fc5e49a8c511a1f6 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:42 2015 -0800 sfc: don't call dma_supported dma_set_mask already checks for a supported DMA mask before updating it, the call to dma_supported is redundant. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Solarflare linux maintainers <linux-net-drivers@xxxxxxxxxxxxxx> Cc: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0dcc4a59d5a9821ed6f6cf5e88c96ff4f25e55aa Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:39 2015 -0800 nouveau: don't call pci_dma_supported Just try to set a 64-bit DMA mask first and retry with the smaller dma_mask if dma_set_mask failed. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e806f75d527f7d0372fe838a80d3b7a6e1fde1b9 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:36 2015 -0800 netup_unidvb: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Sergey Kozlov <serjk@xxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4571e4a2fc6c984d2e13517aa5a6ede240a1f733 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:33 2015 -0800 cx23885: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Pawel Osciak <pawel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 251c5912d995a146522d30a642767f5fb0f1440b Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:31 2015 -0800 cx25821: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 111be8b28d87769dfbde901602d262902575805d Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:28 2015 -0800 cx88: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f546e121b5c8672cbae4243a75b9f8dcaed6b1fd Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:25 2015 -0800 saa7134: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Pawel Osciak <pawel@xxxxxxxxxx> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 45fa9c039a09d25cb656f29ac3b061fe5672feab Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:23 2015 -0800 saa7164: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Steven Toth <stoth@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bad007bca7b7643fea786737071c86088ba2803b Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:20 2015 -0800 tw68-core: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Pawel Osciak <pawel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 46a7fd8a9b302116b3263bc8e47f8f08c0d3a2ca Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:17 2015 -0800 pcnet32: use pci_set_dma_mask insted of pci_dma_supported All drivers should be using dma_set_mask / pci_set_dma_mask to try to set the dma mask instead of just querying it. Without that some iommu implementations may not work. pci_dma_supported is removed entirely, but dma_supported stays for dma_ops implementations for now. This patch (of 15): This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Don Fry <pcnet32@xxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Pawel Osciak <pawel@xxxxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Cc: Sergey Kozlov <serjk@xxxxxxxx> Cc: Shradha Shah <sshah@xxxxxxxxxxxxxx> Cc: Solarflare linux maintainers <linux-net-drivers@xxxxxxxxxxxxxx> Cc: Steven Toth <stoth@xxxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3368e8fbcda539e4f9d6cdb750f23c25021698c9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Nov 10 14:45:14 2015 -0800 lib/string.c: add ULL suffix to the constant definition 8-byte constant is too big for long and compiler complains about this. lib/string.c:907:20: warning: constant 0x0101010101010101 is so big it is long Append ULL suffix to explicitly show its type. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d15c7c09325bcc5c924ae5ef52e2bc91b6753715 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue Nov 10 14:45:11 2015 -0800 hugetlb: trivial comment fix Recently alloc_buddy_huge_page() was renamed to __alloc_buddy_huge_page(), so let's sync comments. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e14231cfe70253cb3c32289d06407e68f4575939 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Nov 10 14:45:09 2015 -0800 selftests/mlock2: add ULL suffix to 64-bit constants On 32-bit (e.g. m68k): mlock2-tests.c: In function 'lock_check': mlock2-tests.c:293: warning: integer constant is too large for 'long' type mlock2-tests.c:294: warning: integer constant is too large for 'long' type mlock2-tests.c:299: warning: integer constant is too large for 'long' type ... Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Eric B Munson <emunson@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 60997feb14d5634fc7a9b18ab3c026ba8d3a5839 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Nov 10 14:45:06 2015 -0800 selftests/mlock2: add missing #define _GNU_SOURCE On glibc 2.3.6: mlock2-tests.c: In function 'seek_to_smaps_entry': mlock2-tests.c:158: warning: implicit declaration of function 'getline' According to the manpage of getline(), it needs _GNU_SOURCE before glibc 2.10. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Eric B Munson <emunson@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c6de7f1754bd474019c60d6f076fa3f704e46b78 Merge: 52e9a33 f23d0e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 16:24:25 2015 -0800 Merge tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag Pull metag arch updates from James Hogan: "A fix for 4KiB stacks with SMP, and a change of maintenance status to 'Odd Fixes'" * tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: MAINTAINERS: Change Meta arch port status to Odd Fixes metag: Turn irq_ctx_* macros into static inlines metag: SMP: Fix 4KiB stack setup on secondary CPUs commit b1d06b60e90cd5016798b9984f8e420e753f4846 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Nov 6 19:28:22 2015 -0800 of: Provide static inline function for of_translate_address if needed If OF_ADDRESS is not configured, builds can fail with errors such as drivers/net/ethernet/hisilicon/hns_mdio.c: In function 'hns_mdio_bus_name': drivers/net/ethernet/hisilicon/hns_mdio.c:411:3: error: implicit declaration of function 'of_translate_address' as currently seen when building sparc:allmodconfig. Introduce a static inline function if OF_ADDRESS is not configured to fix the build failure. Return OF_BAD_ADDR in this case. For this to work, the definition of OF_BAD_ADDR has to be moved outside CONFIG_OF conditional code. Fixes: 876133d3161d ("net: hisilicon: add OF dependency") Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 1cc8e3458b5110253c8f5aaf1890d5ffea9bb7b7 Author: Jason Liu <r64343@xxxxxxxxxxxxx> Date: Tue Nov 10 20:30:26 2015 +0800 drivers: of: of_reserved_mem: fixup the alignment with CMA setup There is an alignment mismatch issue between the of_reserved_mem and the CMA setup requirement. The of_reserved_mem will try to get the alignment value from the DTS and pass it to __memblock_alloc_base to do the memory block base allocation, but the alignment value specified in the DTS may not satisfy the CAM setup requirement since CMA setup required the alignment as the following in the code: align = PAGE_SIZE << max(MAX_ORDER - 1, pageblock_order); The sanity check in the function of rmem_cma_setup will fail if the alignment does not setup correctly and thus CMA will fail to setup. This patch is to fixup the alignment to meet the CMA setup required. Mailing-list-thread: https://lkml.org/lkml/2015/11/9/138 Signed-off-by: Jason Liu <r64343@xxxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 85a1c77fb8c4ae91d203fd0e8c3b54b50662d3c6 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Nov 10 16:08:33 2015 +1100 of: Print rather than WARN'ing when overlap check fails __rmem_check_for_overlap() is called very early in boot, and on some powerpc systems it's not safe to call WARN that early in boot. If the overlap check fails the system will oops instead of printing a warning. Furthermore because it's so early in boot the console is not up and the user doesn't see the oops, they just get a dead system. Fix it by printing an error instead of calling WARN. Fixes: ae1add247bf8 ("of: Check for overlap in reserved memory regions") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 87ab5205e620f0936f5c65c9d6c7b341dca9d5f9 Author: Raphael Poggi <poggi.raph@xxxxxxxxx> Date: Fri Nov 6 13:51:47 2015 -0800 dt-bindings: ak4554: extension should be .txt Signed-off-by: Raphaël Poggi <poggi.raph@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 52e9a33333fc337d03ffb865048f9ccae8552a8d Merge: c0d6fe2 7c9730c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 15:08:32 2015 -0800 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: "Defconfig updates are kept separate from other branches mostly to avoid conflicts between the different categories (driver branch enabling something that has context conflict with SoC options, etc). A lot of this again is scattered across the various hardware platforms. multi_v7_defconfig, our "generic" config for most 32-bit platforms has been gone through by Marvell Berlin maintainers and added most options they need to run on their hardware. Broadcom NSP is also added there, and the new Atmel SAMA5D2 (added last release). Rockchip also has display and other devices supported in that config. In addition to that, the usual small churn of new options being added here and there" * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits) ARM: multi_v7_defconfig: enable UniPhier I2C drivers ARM: multi_v7_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 ARM: exynos_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 ARM: exynos_defconfig: Enable WiFi-Ex as a module instead built-in ARM: exynos_defconfig: Disable simplefb support ARM: exynos_defconfig: Enable LEDS for Odroid-XU3/XU4 ARM: multi_v7_defconfig: Enable DWC2 USB driver and USB ethernet gadget ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget ARM: exynos_defconfig: Enable USB Video Class support ARM: multi_v7_defconfig: improve multi_v7_defconfig support for Berlin ARM: tegra: Update multi_v7_defconfig ARM: multi_v7_defconfig: Add Atmel SDHCI device ARM: multi_v7_defconfig: Add Atmel Flexcom device ARM: multi_v7_defconfig: Add Atmel SAMA5D2 SoC ARM: at91/defconfig: add sama5d2 and its new devices to sama5 defconfig ARM: at91/defconfig: update at91_dt defconfig ARM: at91/defconfig: update sama5 defconfig ARM: configs: Enable FIXED_PHY in multi_v7 defconfig ARM: configs: update lpc18xx defconfig ARM: socfpga_defconfig: enable fpga manager ... commit c0d6fe2f01c475cc137d90607a07578586883df8 Merge: b44a3d2 3e4dda7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 15:06:26 2015 -0800 Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM DT updates from Olof Johansson: "As usual, this is the massive branch we have for each release. Lots of various updates and additions of hardware descriptions on existing hardware, as well as the usual additions of new boards and SoCs. This is also the first release where we've started mixing 64- and 32-bit DT updates in one branch. (Specific details on what's actually here and new is pretty easy to tell from the diffstat, so there's little point in duplicating listing it here)" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (499 commits) ARM: dts: uniphier: add system-bus-controller nodes ARM64: juno: disable NOR flash node by default ARM: dts: uniphier: add outer cache controller nodes arm64: defconfig: Enable PCI generic host bridge by default arm64: Juno: Add support for the PCIe host bridge on Juno R1 Documentation: of: Document the bindings used by Juno R1 PCIe host bridge ARM: dts: uniphier: add I2C aliases for ProXstream2 boards dts/Makefile: Add build support for LS2080a QDS & RDB board DTS dts/ls2080a: Add DTS support for LS2080a QDS & RDB boards dts/ls2080a: Update Simulator DTS to add support of various peripherals dts/ls2080a: Remove text about writing to Free Software Foundation dts/ls2080a: Update DTSI to add support of various peripherals doc: DTS: Update DWC3 binding to provide reference to generic bindings doc/bindings: Update GPIO devicetree binding documentation for LS2080A Documentation/dts: Move FSL board-specific bindings out of /powerpc Documentation: DT: Add entry for FSL LS2080A QDS and RDB boards arm64: Rename FSL LS2085A SoC support code to LS2080A arm64: Use generic Layerscape SoC family naming ARM: dts: uniphier: add ProXstream2 Vodka board support ARM: dts: uniphier: add ProXstream2 Gentil board support ... commit 89ba7d8c22acb43e318ca1c82e25c8b75ef7a7b2 Merge: 57ab3b08 759d2a9 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Nov 11 00:01:21 2015 +0100 Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux into pm-tools Pull turbostat changes for v4.4 from Len Brown. * 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: tools/power turbostat: bugfix: print MAX_NON_TURBO_RATIO tools/power turbostat: simplify Bzy_MHz calculation commit b44a3d2a85c64208a57362a1728efb58a6556cd6 Merge: 56e0464 d13a5c8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 15:00:03 2015 -0800 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: "As we've enabled multiplatform kernels on ARM, and greatly done away with the contents under arch/arm/mach-*, there's still need for SoC-related drivers to go somewhere. Many of them go in through other driver trees, but we still have drivers/soc to hold some of the "doesn't fit anywhere" lowlevel code that might be shared between ARM and ARM64 (or just in general makes sense to not have under the architecture directory). This branch contains mostly such code: - Drivers for qualcomm SoCs for SMEM, SMD and SMD-RPM, used to communicate with power management blocks on these SoCs for use by clock, regulator and bus frequency drivers. - Allwinner Reduced Serial Bus driver, again used to communicate with PMICs. - Drivers for ARM's SCPI (System Control Processor). Not to be confused with PSCI (Power State Coordination Interface). SCPI is used to communicate with the assistant embedded cores doing power management, and we have yet to see how many of them will implement this for their hardware vs abstracting in other ways (or not at all like in the past). - To make confusion between SCPI and PSCI more likely, this release also includes an update of PSCI to interface version 1.0. - Rockchip support for power domains. - A driver to talk to the firmware on Raspberry Pi" * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (57 commits) soc: qcom: smd-rpm: Correct size of outgoing message bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus bus: sunxi-rsb: Add Allwinner Reduced Serial Bus (RSB) controller bindings ARM: bcm2835: add mutual inclusion protection drivers: psci: make PSCI 1.0 functions initialization version dependent dt-bindings: Correct paths in Rockchip power domains binding document soc: rockchip: power-domain: don't try to print the clock name in error case soc: qcom/smem: add HWSPINLOCK dependency clk: berlin: add cpuclk ARM: berlin: dts: add CLKID_CPU for BG2Q ARM: bcm2835: Add the Raspberry Pi firmware driver soc: qcom: smem: Move RPM message ram out of smem DT node soc: qcom: smd-rpm: Correct the active vs sleep state flagging soc: qcom: smd: delete unneeded of_node_put firmware: qcom-scm: build for correct architecture level soc: qcom: smd: Correct SMEM items for upper channels qcom-scm: add missing prototype for qcom_scm_is_available() qcom-scm: fix endianess issue in __qcom_scm_is_call_available soc: qcom: smd: Reject send of too big packets soc: qcom: smd: Handle big endian CPUs ... commit 56e0464980febfa50432a070261579415c72664e Merge: a5e1d71 b1e4006 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 14:56:23 2015 -0800 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 and/or improved SoC support for this release: Marvell Berlin: - Enable standard DT-based cpufreq - Add CPU hotplug support Freescale: - Ethernet init for i.MX7D - Suspend/resume support for i.MX6UL Allwinner: - Support for R8 chipset (used on NTC's $9 C.H.I.P board) Mediatek: - SMP support for some platforms Uniphier: - L2 support - Cleaned up SMP support, etc. plus a handful of other patches around above functionality, and a few other smaller changes" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits) ARM: uniphier: rework SMP operations to use trampoline code ARM: uniphier: add outer cache support Documentation: EXYNOS: Update bootloader interface on exynos542x ARM: mvebu: add broken-idle option ARM: orion5x: use mac_pton() helper ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned ARM: sunxi: Add R8 support ARM: digicolor: select pinctrl/gpio driver arm: berlin: add CPU hotplug support arm: berlin: use non-self-cleared reset register to reset cpu ARM: mediatek: add smp bringup code ARM: mediatek: enable gpt6 on boot up to make arch timer working soc: mediatek: Fix random hang up issue while kernel init soc: ti: qmss: make acc queue support optional in the driver soc: ti: add firmware file name as part of the driver Documentation: dt: soc: Add description for knav qmss driver ARM: S3C64XX: Use PWM lookup table for mach-smartq ARM: S3C64XX: Use PWM lookup table for mach-hmt ARM: S3C64XX: Use PWM lookup table for mach-crag6410 ARM: S3C64XX: Use PWM lookup table for smdk6410 ... commit a5e1d715a8d0696961d99d31d869aa522f1cad5a Merge: 64fd8c8 d3dc3df Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 14:48:36 2015 -0800 Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanups from Olof Johansson: "Again we have a sizable (but not huge) cleanup branch with a net delta of about -3k lines. Main contents here is: - A bunch of development/cleanup of a few PXA boards - Removal of bockw platforms on shmobile, since the platform has now gone completely multiplatform. Whee! - move of the 32kHz timer on OMAP to a proper timesource - Misc cleanup of older OMAP material (incl removal of one board file) - Switch over to new common PWM lookup support for several platforms There's also a handful of other cleanups across the tree, but the above are the major pieces" * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (103 commits) ARM: OMAP3: hwmod data: Remove legacy mailbox data and addrs ARM: DRA7: hwmod data: Remove spinlock hwmod addrs ARM: OMAP4: hwmod data: Remove spinlock hwmod addrs ARM: DRA7/AM335x/AM437x: hwmod: Remove gpmc address space from hwmod data ARM: Remove __ref on hotplug cpu die path ARM: Remove open-coded version of IRQCHIP_DECLARE arm: omap2: board-generic: use omap4_local_timer_init for AM437x ARM: DRA7/AM335x/AM437x: hwmod: Remove elm address space from hwmod data ARM: OMAP: Remove duplicated operand in OR operation clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode ARM: pxa: raumfeld: make some variables static ARM: OMAP: Change all cpu_is_* occurences to soc_is_* for id.c ARM: OMAP2+: Rename cpu_is macros to soc_is arm: omap2: timer: limit hwmod usage to non-DT boots arm: omap2+: select 32k clocksource driver clocksource: add TI 32.768 Hz counter driver arm: omap2: timer: rename omap_sync32k_timer_init() arm: omap2: timer: always call clocksource_of_init() when DT arm: omap2: timer: move realtime_counter_init() around ... commit 086f332167d64b645d37405854f049b9ad7371ab Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Nov 10 13:39:42 2015 +0100 netfilter: nf_tables: add clone interface to expression operations With the conversion of the counter expressions to make it percpu, we need to clone the percpu memory area, otherwise we crash when using counters from flow tables. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit aabc92bbe3cfe4c545f8ccdaaeeea012a46f0abf Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Nov 10 14:31:18 2015 +0100 net: add __netdev_alloc_pcpu_stats() to indicate gfp flags nf_tables may create percpu counters from the packet path through its dynamic set instantiation infrastructure, so we need a way to allocate this through GFP_ATOMIC. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74ec4d55c4d243330d93fc52e23e37d2e76548ba Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 10 13:22:15 2015 +0100 netfilter: fix xt_TEE and xt_TPROXY dependencies Kconfig is too smart for its own good: a Kconfig line that states select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES means that if IP6_NF_IPTABLES is set to 'm', then NF_DEFRAG_IPV6 will also be set to 'm', regardless of the state of the symbol from which it is selected. When the xt_TEE driver is built-in and nothing else forces NF_DEFRAG_IPV6 to be built-in, this causes a link-time error: net/built-in.o: In function `tee_tg6': net/netfilter/xt_TEE.c:46: undefined reference to `nf_dup_ipv6' This works around that behavior by changing the dependency to 'if IP6_NF_IPTABLES != n', which is interpreted as boolean expression rather than a tristate and causes the NF_DEFRAG_IPV6 symbol to be built-in as well. The bug only occurs once in thousands of 'randconfig' builds and does not really impact real users. From inspecting the other surrounding Kconfig symbols, I am guessing that NETFILTER_XT_TARGET_TPROXY and NETFILTER_XT_MATCH_SOCKET have the same issue. If not, this change should still be harmless. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c872a2d9e3627829591736ddd8e8710a0afb2f95 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 10 13:08:15 2015 +0100 netfilter: nfnetlink_log: work around uninitialized variable warning After a recent (correct) change, gcc started warning about the use of the 'flags' variable in nfulnl_recv_config() net/netfilter/nfnetlink_log.c: In function 'nfulnl_recv_config': net/netfilter/nfnetlink_log.c:320:14: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized] net/netfilter/nfnetlink_log.c:828:6: note: 'flags' was declared here The warning first shows up in ARM s3c2410_defconfig with gcc-4.3 or higher (including 5.2.1, which is the latest version I checked) I tried working around it by rearranging the code but had no success with that. As a last resort, this initializes the variable to zero, which shuts up the warning, but means that we don't get a warning if the code is ever changed in a way that actually causes the variable to be used without first being written. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 8cbc870829ec ("netfilter: nfnetlink_log: validate dependencies to avoid breaking atomicity") Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 64fd8c8a0ff421b47a879fbff5b82563b7fb82f5 Merge: b0aeba7 19c1c32 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 14:45:05 2015 -0800 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: "A handful of fixes that came in and didn't seem warranted to go in through the 4.3-rc cycle. - MAINTAINERS updates for one of the Broadcom platforms and lpc18xx - A couple of non-critical Davinci bugfixes - A fix to reset irq affinity for TI platforms (silences a warning at reboot)" * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: MAINTAINERS: update lpc18xx entry with more drivers soc: ti: reset irq affinity before freeing irq ARM: cns3xxx: pci: avoid potential stack overflow ARM: davinci: clock: Correct return values for API functions ARM: davinci: re-use %*ph specifier MAINTAINERS: add entry for the Broadcom Northstar Plus SoCs commit b0aeba741b2d082e4f0773881af4906ce2bb8231 Author: Tony Luck <tony.luck@xxxxxxxxx> Date: Tue Nov 10 10:09:47 2015 -0800 Fix alloc_node_mem_map() to work on ia64 again In commit a1c34a3bf00a ("mm: Don't offset memmap for flatmem") Laura fixed a problem for Srinivas relating to the bottom 2MB of RAM on an ARM IFC6410 board. One small wrinkle on ia64 is that it allocates the node_mem_map earlier in arch code, so it skips the block of code where "offset" is initialized. Move initialization of start and offset before the check for the node_mem_map so that they will always be available in the latter part of the function. Tested-by: Laura Abbott <laura@xxxxxxxxxxxx> Fixes: a1c34a3bf00a (mm: Don't offset memmap for flatmem) Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0442f14b15f8e7a8b3778a9f8cf640ef89b2df26 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Fri Oct 9 01:44:07 2015 +0000 svcrpc: document lack of some memory barriers We're missing memory barriers in net/sunrpc/svcsock.c in some spots we'd expect them. But it doesn't appear they're necessary in our case, and this is likely a hot path--for now just document the odd behavior. Kosuke Tatsukawa found this issue while looking through the linux source code for places calling waitqueue_active() before wake_up*(), but without preceding memory barriers, after sending a patch to fix a similar issue in drivers/tty/n_tty.c (Details about the original issue can be found here: https://lkml.org/lkml/2015/9/28/849). Reported-by: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 8a921265e2cd31e61a0c2eda582af54c5bfef897 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Tue Nov 10 06:15:32 2015 -0500 Revert "bridge: Allow forward delay to be cfgd when STP enabled" This reverts commit 34c2d9fb0498c066afbe610b15e18995fd8be792. There are 2 reasons for this revert: 1) The commit in question doesn't do what it says it does. The description reads: "Allow bridge forward delay to be configured when Spanning Tree is enabled." This was already the case before the commit was made. What the commit actually do was disallow invalid values or 'forward_delay' when STP was turned off. 2) The above change was actually a change in the user observed behavior and broke things like libvirt and other network configs that set 'forward_delay' to 0 without enabling STP. The value of 0 is actually used when STP is turned off to immediately mark the bridge as forwarding. Signed-off-by: Vlad Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a31d82d85afdcbdb8c4128dfd6146992dc6b3576 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Tue Nov 10 15:28:17 2015 -0500 bpf_trace: Make dependent on PERF_EVENTS Arnd Bergmann reported: In my ARM randconfig tests, I'm getting a build error for newly added code in bpf_perf_event_read and bpf_perf_event_output whenever CONFIG_PERF_EVENTS is disabled: kernel/trace/bpf_trace.c: In function 'bpf_perf_event_read': kernel/trace/bpf_trace.c:203:11: error: 'struct perf_event' has no member named 'oncpu' if (event->oncpu != smp_processor_id() || ^ kernel/trace/bpf_trace.c:204:11: error: 'struct perf_event' has no member named 'pmu' event->pmu->count) This can happen when UPROBE_EVENT is enabled but KPROBE_EVENT is disabled. I'm not sure if that is a configuration we care about, otherwise we could prevent this case from occuring by adding Kconfig dependencies. Looking at this further, it's really that UPROBE_EVENT enables PERF_EVENTS. By just having BPF_EVENTS depend on PERF_EVENTS, then all is fine. Link: http://lkml.kernel.org/r/4525348.Aq9YoXkChv@wuerfel Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bdb96cb69d9e4c6038a976fa9def9f8ae024ff8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 10 11:28:15 2015 +0100 qed: select ZLIB_INFLATE The newly added qlogic qed driver uses the zlib library, but misses the dependency: drivers/built-in.o: In function `qed_alloc_stream_mem': drivers/net/ethernet/qlogic/qed/qed_main.c:707: undefined reference to `zlib_inflate_workspacesize' drivers/built-in.o: In function `qed_unzip_data': drivers/net/ethernet/qlogic/qed/qed_main.c:675: undefined reference to `zlib_inflateInit2' This changes Kconfig to always select zlib when needed. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: fe56b9e6a8d9 ("qed: Add module with basic common support") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3934bbc0446e4cae977a6efe82ce993d37434e53 Merge: 264015f 14f09e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 12:13:00 2015 -0800 Merge tag 'md/4.4-rc0-fix' of git://neil.brown.name/md Pull config fix for md from Neil Brown: "New config dependency needed as md/raid5 now uses crc32c" * tag 'md/4.4-rc0-fix' of git://neil.brown.name/md: raid5-cache: add crc32c Kconfig dependency commit 264015f8a83fefc62c5125d761fbbadf924e520c Merge: d55fc37 ab27a8d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 12:07:22 2015 -0800 Merge tag 'libnvdimm-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull libnvdimm updates from Dan Williams: "Outside of the new ACPI-NFIT hot-add support this pull request is more notable for what it does not contain, than what it does. There were a handful of development topics this cycle, dax get_user_pages, dax fsync, and raw block dax, that need more more iteration and will wait for 4.5. The patches to make devm and the pmem driver NUMA aware have been in -next for several weeks. The hot-add support has not, but is contained to the NFIT driver and is passing unit tests. The coredump support is straightforward and was looked over by Jeff. All of it has received a 0day build success notification across 107 configs. Summary: - Add support for the ACPI 6.0 NFIT hot add mechanism to process updates of the NFIT at runtime. - Teach the coredump implementation how to filter out DAX mappings. - Introduce NUMA hints for allocations made by the pmem driver, and as a side effect all devm allocations now hint their NUMA node by default" * tag 'libnvdimm-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: coredump: add DAX filtering for FDPIC ELF coredumps coredump: add DAX filtering for ELF coredumps acpi: nfit: Add support for hot-add nfit: in acpi_nfit_init, break on a 0-length table pmem, memremap: convert to numa aware allocations devm_memremap_pages: use numa_mem_id devm: make allocations numa aware by default devm_memremap: convert to return ERR_PTR devm_memunmap: use devres_release() pmem: kill memremap_pmem() x86, mm: quiet arch_add_memory() commit d55fc37856244c929965c190c8e9dcb49e2c07aa Merge: 42d4ebb 75ecc64 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 11:58:25 2015 -0800 Merge branch 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c updates from Wolfram Sang: - New drivers: UniPhier (with and without FIFO) - some drivers got some bigger rework: ismt, designware, img-scb (rcar had to be reverted because issues were showing up just lately) - ACPI: reworked the device scanning and added support for muxes ... and quite a lot of driver bugfixes and cleanups this time. All files touched outside of the i2c realm have proper acks. * 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (70 commits) i2c: rcar: Revert the latest refactoring series i2c: pnx: remove superfluous assignment MAINTAINERS: i2c: drop i2c-pnx maintainer MAINTAINERS: i2c: mark also subdirectories as maintained i2c: cadence: enable driver for ARM64 i2c: i801: Document Intel DNV and Broxton i2c: at91: manage unexpected RXRDY flag when starting a transfer i2c: pnx: Use setup_timer instead of open coding it i2c: add ACPI support for I2C mux ports acpi: add acpi_preset_companion() stub i2c: pxa: Add support for pxa910/988 & new configuration features i2c: au1550: Convert to devm_kzalloc and devm_ioremap_resource i2c-dev: Fix I2C_SLAVE ioctl comment i2c-dev: Fix typo in ioctl name reference i2c: sirf: tune the divider to make i2c bus freq more accurate i2c: imx: Use -ENXIO as error in the NACK case i2c: i801: Add support for Intel Broxton i2c: i801: Add support for Intel DNV i2c: mediatek: add i2c resume support i2c: imx: implement bus recovery ... commit 42d4ebb42a17754d2e8344dc1aa486119671d0eb Merge: 6aabef6 760d280 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:11:12 2015 -0800 Merge git://www.linux-watchdog.org/linux-watchdog Pull watchdog update from Wim Van Sebroeck: - New driver for Broadcom 7038 Set-Top Box - imx2_wdt: Use register definition in regmap_write() - intel-mid: add Magic Closure flag - watchdog framework improvements: - Use device tree alias for naming watchdogs - propagate ping error code to the user space - Always evaluate new timeout against min_timeout - Use single variable name for struct watchdog_device - include clean-ups * git://www.linux-watchdog.org/linux-watchdog: watchdog: include: add units for timeout values in kerneldoc watchdog: include: fix some typos watchdog: core: propagate ping error code to the user space watchdog: watchdog_dev: Use single variable name for struct watchdog_device watchdog: Always evaluate new timeout against min_timeout watchdog: intel-mid: add Magic Closure flag watchdog: imx2_wdt: Use register definition in regmap_write() watchdog: watchdog_dev: Use device tree alias for naming watchdogs watchdog: Watchdog driver for Broadcom Set-Top Box watchdog: bcm7038: add device tree binding documentation commit 6aabef681df96b851b4a11459520d4a20ab1cae4 Merge: 1eb196c ba95339 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:09:01 2015 -0800 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging Pull tiny hwmon update from Jean Delvare. * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (k10temp) Remove duplicate pci-id define commit 1eb196c3c01f364d6cd3e8c0e16dc4702fdaffd9 Merge: 041c795 fdcb4b2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:07:50 2015 -0800 Merge tag 'ntb-4.4' of git://github.com/jonmason/ntb Pull NTB bugfixes from Jon Mason: "NTB Bug fixes for potential NULL pointer accesses, accesses of a freed pointer, invalid buffer pointer, and a compiler warning. Also, unification of upstream/downstream addresses" * tag 'ntb-4.4' of git://github.com/jonmason/ntb: NTB: fix 32-bit compiler warning NTB: unify translation addresses NTB: invalid buf pointer in multi-MW setups NTB: remove unused variable NTB: fix access of free-ed pointer NTB: Fix issue where we may be accessing NULL ptr commit 041c79514af9080c75197078283134f538f46b44 Merge: 7d88471 34635b1a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:05:17 2015 -0800 Merge tag 'dmaengine-4.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma Pull dmaengine updates from Vinod Koul: "This time we have a very typical update which is mostly fixes and updates to drivers and no new drivers. - the biggest change is coming from Peter for edma cleanup which even caused some last minute regression, things seem settled now - idma64 and dw updates - iotdma updates - module autoload fixes for various drivers - scatter gather support for hdmac" * tag 'dmaengine-4.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (77 commits) dmaengine: edma: Add dummy driver skeleton for edma3-tptc Revert "ARM: DTS: am33xx: Use the new DT bindings for the eDMA3" Revert "ARM: DTS: am437x: Use the new DT bindings for the eDMA3" dmaengine: dw: some Intel devices has no memcpy support dmaengine: dw: platform: provide platform data for Intel dmaengine: dw: don't override platform data with autocfg dmaengine: hdmac: Add scatter-gathered memset support dmaengine: hdmac: factorise memset descriptor allocation dmaengine: virt-dma: Fix kernel-doc annotations ARM: DTS: am437x: Use the new DT bindings for the eDMA3 ARM: DTS: am33xx: Use the new DT bindings for the eDMA3 dmaengine: edma: New device tree binding dmaengine: Kconfig: edma: Select TI_DMA_CROSSBAR in case of ARCH_OMAP dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx dmaengine: edma: Merge the of parsing functions dmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot dmaengine: edma: Refactor the dma device and channel struct initialization dmaengine: edma: Get qDMA channel information from HW also dmaengine: edma: Merge map_dmach_to_queue into assign_channel_eventq dmaengine: edma: Correct PaRAM access function names (_parm_ to _param_) ... commit 7d884710bb3635f94dac152ae226ca54a585a223 Merge: 3b13866 1e3929e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:01:21 2015 -0800 Merge tag 'rtc-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux Pull RTC updates from Alexandre Belloni: "Core: - Fix rtctest error path New drivers: - Microcrystal RV8803 Subsystem wide cleanups: - remove misuse of IRQF_NO_SUSPEND flag Drivers: - at91rm9200: clear RTC alarm status flag prior to suspending - davinci: remove incorrect reference to probe function - ds1307: Fix alarm programming for mcp794xx - ds1390: trickle charger support, fix ds1390_get_reg - isl1208: Pass the IRQF_ONESHOT flag - opal: fix type of token - pcf2127: fix RTC_READ_VL, remove useless driver version - pcf85063: return an error when date is invalid - pcf8563: add CLKOUT to common clock framework - rx8025: remove unnecessary braces - s3c: Set year, month, day value for setting alarm - stmp3xxx: unify register access macros - License fixes: pcf2127, da9063 - wakeup-source support for isl12057 and opal" * tag 'rtc-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (23 commits) rtc: Add a driver for Micro Crystal RV8803 rtc: s3c: Set year, month, day value for setting alarm rtc: ds1307: Fix alarm programming for mcp794xx rtc: isl12057: enable support for the standard "wakeup-source" property rtc: opal: enable support for the stardard "wakeup-source" property rtc: isl1208: Pass the IRQF_ONESHOT flag rtc: pcf8563: add CLKOUT to common clock framework rtc: davinci: remove incorrect reference to probe function rtc: at91rm9200: clear RTC alarm status flag prior to suspending rtc: pcf2127: remove useless driver version rtc: pcf2127: fix reading uninitialized value on RTC_READ_VL ioctl rtc: stmp3xxx: unify register access macros rtc: da9063: GPL copyright inconsistency fix rtc: pcf85063: return an error when date is invalid rtc: rx8025: remove unnecessary braces rtc: ds1343: remove misuse of IRQF_NO_SUSPEND flag rtc: ab8500: remove misuse of IRQF_NO_SUSPEND flag rtc: pl031: remove misuse of IRQF_NO_SUSPEND flag rtc: opal: fix type of token rtc: ds1390: Add trickle charger device tree binding ... commit 3b13866869b8407497d20a916450594e117583e6 Merge: 3e82806 08bfb45 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:00:09 2015 -0800 Merge tag 'fbdev-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: - omap: fix hdmi audio configuration issue - ssd1307fb: add ssd1309 support - tridentfb: support DDC - gxt4500: enable support for non-PPC platforms * tag 'fbdev-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: radeonfb: Deinline large functions gxt4500: enable panning gxt4500: Use arch_phys_wc_* for framebuffer gxt4500: fix color order gxt4500: fix 16bpp 565 mode gxt4500: enable on non-PPC architectures tridentfb: Add DDC support fb_ddc: Allow I2C adapters without SCL read capability fbdev: ssd1307fb: add ssd1309 support fbdev: ssd1307fb: alphabetize headers video/omap: remove invalid check OMAPDSS: hdmi: Reconfigure and restart audio when display is enabled commit 3e82806b97398d542a5e03bd94861f79ce10ecee Merge: bd4f203 816d220 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 09:33:06 2015 -0800 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull drm updates from Dave Airlie: "I Was Almost Tempted To Capitalise Every Word, but then I decided I couldn't read it myself! I've also got one pull request for the sti driver outstanding. It relied on a commit in Greg's tree and I didn't find out in time, that commit is in your tree now so I might send that along once this is merged. I also had the accidental misfortune to have access to a Skylake on my desk for a few days, and I've had to encourage Intel to try harder, which seems to be happening now. Here is the main drm-next pull request for 4.4. Highlights: New driver: vc4 driver for the Rasberry Pi VPU. (From Eric Anholt at Broadcom.) Core: Atomic fbdev support Atomic helpers for runtime pm dp/aux i2c STATUS_UPDATE handling struct_mutex usage cleanups. Generic of probing support. Documentation: Kerneldoc for VGA switcheroo code. Rename to gpu instead of drm to reflect scope. i915: Skylake GuC firmware fixes HPD A support VBT backlight fallbacks Fastboot by default for some systems FBC work BXT/SKL workarounds Skylake deeper sleep state fixes amdgpu: Enable GPU scheduler by default New atombios opcodes GPUVM debugging options Stoney support. Fencing cleanups. radeon: More efficient CS checking nouveau: gk20a instance memory handling improvements. Improved PGOB detection and GK107 support Kepler GDDR5 PLL statbility improvement G8x/GT2xx reclock improvements new userspace API compatiblity fixes. virtio-gpu: Add 3D support - qemu 2.5 has it merged for it's gtk backend. msm: Initial msm88896 (snapdragon 8200) exynos: HDMI cleanups Enable mixer driver byt default Add DECON-TV support vmwgfx: Move to using memremap + fixes. rcar-du: Add support for R8A7793/4 DU armada: Remove support for non-component mode Improved plane handling Power savings while in DPMS off. tda998x: Remove unused slave encoder support Use more HDMI helpers Fix EDID read handling dwhdmi: Interlace video mode support for ipu-v3/dw_hdmi Hotplug state fixes Audio driver integration imx: More color formats support. tegra: Minor fixes/improvements" [ Merge fixup: remove unused variable 'dev' that had all uses removed in commit 4e270f088011: "drm/gem: Drop struct_mutex requirement from drm_gem_mmap_obj" ] * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (764 commits) drm/vmwgfx: Relax irq locking somewhat drm/vmwgfx: Properly flush cursor updates and page-flips drm/i915/skl: disable display side power well support for now drm/i915: Extend DSL readout fix to BDW and SKL. drm/i915: Do graphics device reset under forcewake drm/i915: Skip fence installation for objects with rotated views (v4) vga_switcheroo: Drop client power state VGA_SWITCHEROO_INIT drm/amdgpu: group together common fence implementation drm/amdgpu: remove AMDGPU_FENCE_OWNER_MOVE drm/amdgpu: remove now unused fence functions drm/amdgpu: fix fence fallback check drm/amdgpu: fix stoping the scheduler timeout drm/amdgpu: cleanup on error in amdgpu_cs_ioctl() drm/i915: Fix locking around GuC firmware load drm/amdgpu: update Fiji's Golden setting drm/amdgpu: update Fiji's rev id drm/amdgpu: extract common code in vi_common_early_init drm/amd/scheduler: don't oops on failure to load drm/amdgpu: don't oops on failure to load (v2) drm/amdgpu: don't VT switch on suspend ... commit c1c534609fe8a859f9c8108a5591e6e8a97e34d1 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Nov 10 10:14:38 2015 -0700 direct-io: be sure to assign dio->bio_bdev for both paths btrfs sets ->submit_io(), and we failed to set the block dev for that path. That resulted in a potential NULL dereference when we later wait for IO in dio_await_one(). Reported-by: kernel test robot <ying.huang@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e428abbbf616cd8fdd1162e4a624ad1d47b47544 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Nov 10 05:15:15 2015 +0800 tracing: #ifdef out uses of max trace when CONFIG_TRACER_MAX_TRACE is not set tracing_max_lat_fops is used only when TRACER_MAX_TRACE enabled, so also swith the related code. The related warning with defconfig under x86_64: CC kernel/trace/trace.o kernel/trace/trace.c:5466:37: warning: â??tracing_max_lat_fopsâ?? defined but not used [-Wunused-const-variable] static const struct file_operations tracing_max_lat_fops = { Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 7fc0564e3a8d16df096f48c9c6425ba84d945c6e Author: Andrew Elble <aweits@xxxxxxx> Date: Thu Nov 5 20:42:43 2015 -0500 nfsd: fix race with open / open upgrade stateids We observed multiple open stateids on the server for files that seemingly should have been closed. nfsd4_process_open2() tests for the existence of a preexisting stateid. If one is not found, the locks are dropped and a new one is created. The problem is that init_open_stateid(), which is also responsible for hashing the newly initialized stateid, doesn't check to see if another open has raced in and created a matching stateid. This fix is to enable init_open_stateid() to return the matching stateid and have nfsd4_process_open2() swap to that stateid and switch to the open upgrade path. In testing this patch, coverage to the newly created path indicates that the race was indeed happening. Signed-off-by: Andrew Elble <aweits@xxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 34ed9872e745fa56f10e9bef2cf3d2336c6c8816 Author: Andrew Elble <aweits@xxxxxxx> Date: Thu Oct 15 12:07:28 2015 -0400 nfsd: eliminate sending duplicate and repeated delegations We've observed the nfsd server in a state where there are multiple delegations on the same nfs4_file for the same client. The nfs client does attempt to DELEGRETURN these when they are presented to it - but apparently under some (unknown) circumstances the client does not manage to return all of them. This leads to the eventual attempt to CB_RECALL more than one delegation with the same nfs filehandle to the same client. The first recall will succeed, but the next recall will fail with NFS4ERR_BADHANDLE. This leads to the server having delegations on cl_revoked that the client has no way to FREE or DELEGRETURN, with resulting inability to recover. The state manager on the server will continually assert SEQ4_STATUS_RECALLABLE_STATE_REVOKED, and the state manager on the client will be looping unable to satisfy the server. List discussion also reports a race between OPEN and DELEGRETURN that will be avoided by only sending the delegation once to the client. This is also logically in accordance with RFC5561 9.1.1 and 10.2. So, let's: 1.) Not hand out duplicate delegations. 2.) Only send them to the client once. RFC 5561: 9.1.1: "Delegations and layouts, on the other hand, are not associated with a specific owner but are associated with the client as a whole (identified by a client ID)." 10.2: "...the stateid for a delegation is associated with a client ID and may be used on behalf of all the open-owners for the given client. A delegation is made to the client as a whole and not to any specific process or thread of control within it." Reported-by: Eric Meddaugh <etmsys@xxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Cc: Olga Kornievskaia <aglo@xxxxxxxxx> Signed-off-by: Andrew Elble <aweits@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 3e80dbcda7f3e1e349a779d7a14c0e08677c39fa Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Nov 4 11:02:29 2015 -0500 nfsd: remove recurring workqueue job to clean DRC We have a shrinker, we clean out the cache when nfsd is shut down, and prune the chains on each request. A recurring workqueue job seems like unnecessary overhead. Just remove it. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ea833f5de3ab49a0aac79a16633fd510390b83a6 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Oct 27 10:23:30 2015 +0000 SUNRPC: drop stale comment in svc_setup_socket() The svc_setup_socket() function does set the send and receive buffer sizes, so the comment is out-of-date: Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4717f133736dec10605da9e29e707144c8d486df Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Nov 10 11:58:12 2015 +0200 genirq/PM: Restore system wake up from chained interrupts Commit e509bd7da149 ("genirq: Allow migration of chained interrupts by installing default action") breaks PCS wake up IRQ behaviour on TI OMAP based platforms (dra7-evm). TI OMAP IRQ wake up configuration: GIC-irqchip->PCM_IRQ |- omap_prcm_register_chain_handler |- PRCM-irqchip -> PRCM_IO_IRQ |- pcs_irq_chain_handler |- pinctrl-irqchip -> PCS_uart1_wakeup_irq This happens because IRQ PM code (irq/pm.c) is expected to ignore chained interrupts by default: static bool suspend_device_irq(struct irq_desc *desc) { if (!desc->action || desc->no_suspend_depth) return false; - it's expected !desc->action = true for chained interrupts; but, after above change, all chained interrupt descriptors will have default action handler installed - chained_action. As result, chained interrupts will be silently disabled during system suspend. Hence, fix it by introducing helper function irq_desc_is_chained() and use it in suspend_device_irq() for chained interrupts identification and skip them, once detected. Fixes: e509bd7da149 ("genirq: Allow migration of chained interrupts..") Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: <nsekhar@xxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1447149492-20699-1-git-send-email-grygorii.strashko@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3bfb7224566593219dbd67474dacb23ef7c080e3 Author: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 00:54:48 2015 +0200 MIPS: OCTEON: omit ELF NOTE segments OCTEON Pre-SDK-1.8.1 bootloaders can not handle PT_NOTE program headers, so do not emit them. Before the patch: $ readelf --program-headers octeon-vmlinux Elf file type is EXEC (Executable file) Entry point 0xffffffff815d09d0 There are 2 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000001000 0xffffffff81100000 0xffffffff81100000 0x0000000000b57f80 0x0000000001b86360 RWE 1000 NOTE 0x00000000004e02e0 0xffffffff815df2e0 0xffffffff815df2e0 0x0000000000000024 0x0000000000000024 R 4 After the patch: $ readelf --program-headers octeon-vmlinux Elf file type is EXEC (Executable file) Entry point 0xffffffff815d09d0 There are 1 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000001000 0xffffffff81100000 0xffffffff81100000 0x0000000000b57f80 0x0000000001b86360 RWE 1000 The patch was tested on DSR-1000N router. Signed-off-by: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Matthew Fortune <Matthew.Fortune@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11403/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 61379878320664ed44901b0537254e983fc7e4c4 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Fri Oct 30 00:54:47 2015 +0200 MIPS: vmlinux: discard .MIPS.abiflags Discard .MIPS.abiflags from vmlinux. It's not needed and will cause issues e.g. with old OCTEON bootloaders that cannot tolerate additional program headers. Before the patch: $ readelf --program-headers octeon-vmlinux Elf file type is EXEC (Executable file) Entry point 0xffffffff815d09d0 There are 3 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align ABIFLAGS 0x00000000005e77f0 0xffffffff816e67f0 0xffffffff816e67f0 0x0000000000000018 0x0000000000000018 R 8 LOAD 0x0000000000001000 0xffffffff81100000 0xffffffff81100000 0x0000000000b57f80 0x0000000001b86360 RWE 1000 NOTE 0x00000000004e02e0 0xffffffff815df2e0 0xffffffff815df2e0 0x0000000000000024 0x0000000000000024 R 4 After the patch: $ readelf --program-headers octeon-vmlinux Elf file type is EXEC (Executable file) Entry point 0xffffffff815d09d0 There are 2 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000001000 0xffffffff81100000 0xffffffff81100000 0x0000000000b57f80 0x0000000001b86360 RWE 1000 NOTE 0x00000000004e02e0 0xffffffff815df2e0 0xffffffff815df2e0 0x0000000000000024 0x0000000000000024 R 4 Suggested-by: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Suggested-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: David Daney <ddaney.cavm@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11402/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5dcd7b42f1d06c62b5589441e69cc77c26c8b725 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Mon Oct 26 22:32:33 2015 +0100 pwm: sunxi: Fix whitespace issue This patch changes no code, it just fixes the whitespacing. Operators should be separated from operands by a single space. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 65cdc6914a959d8e1ea562f05fb323a0b8cb7cb1 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Mon Oct 26 22:32:37 2015 +0100 pwm: sysfs: Make use of the DEVICE_ATTR_[RW][WO] macro's For the npwm property the PWM sysfs interface already made use of the DEVICE_ATTR_RO macro. This patch expands this to the other sysfs properties so that the code base is concise and makes use of this helpful macro. This has the advantage of slightly reducing the code size, improving readability and no longer using magic values for permissions. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 0344d0d69b3360ec551581c141c6599a0dcb5f27 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Mon Oct 26 22:32:36 2015 +0100 pwm: sysfs: Remove unnecessary temporary variable Use the result of pwm_is_enabled() directly instead of storing it in a temporary variable. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit b68edac9217ef433470f78d3fb54a769ef95a45f Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 08:05:30 2015 +0200 unicore32: nb0916: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit cdc137089a752d496880526dad2569eaa6ba092d Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Tue Oct 6 20:28:28 2015 +0900 pwm: pwm-rcar: Revise the device tree binding document about compatible The compatible should be "renesas,pwm-rcar", and one the the SoC specific string. So, this patch revises the documentation. Reported-by: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 655a03554cbdf73e8114367441f10858baac59bf Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 14:38:32 2015 +0200 pwm: Return -ENODEV if no PWM lookup match is found When looking up a PWM using the lookup table, assume that all entries will have been added already, so failure to find a match means that no corresponding entry has been registered. This fixes an issue where -EPROBE_DEFER would be returned if the PWM lookup table is empty. After this fix, -EPROBE_DEFER is reserved for situations where no provider has yet registered for a matching entry. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit f6649f7ad8efbaf82679ab0ccdfe837a65bd58d8 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Oct 11 11:49:57 2015 +0200 pwm: sun4i: Add support for PWM controller on sun5i SoCs The PWM controller on sun5i SoCs is identical to the one found on sun7i SoCs. On the A13 package only one of the 2 pins is routed to the outside, so only advertise one PWM channel there. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit d1cd21427747f15920cd726f5f67a07880e7dee4 Author: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Date: Fri Oct 16 17:40:58 2015 -0700 pwm: Set enable state properly on failed call to enable The pwm_enable() function didn't clear the enabled bit if a call to the driver's ->enable() callback returned an error. The result was that the state of the PWM core was wrong. Clearing the bit when enable returns an error ensures the state is properly set. Tested-by: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jonathan Richardson <jonathar@xxxxxxxxxxxx> [thierry.reding@xxxxxxxxx: add missing kerneldoc for the lock] Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit a96036b8ef7df9f10cd575c0d78359bd33188e8e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Nov 10 11:55:36 2015 +0100 KVM: x86: rename update_db_bp_intercept to update_bp_intercept Because #DB is now intercepted unconditionally, this callback only operates on #BP for both VMX and SVM. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cbdb967af3d54993f5814f1cee0ed311a055377d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Nov 10 09:14:39 2015 +0100 KVM: svm: unconditionally intercept #DB This is needed to avoid the possibility that the guest triggers an infinite stream of #DB exceptions (CVE-2015-8104). VMX is not affected: because it does not save DR6 in the VMCS, it already intercepts #DB unconditionally. Reported-by: Jan Beulich <jbeulich@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 54a20552e1eae07aa240fa370a0293e006b5faed Author: Eric Northup <digitaleric@xxxxxxxxxx> Date: Tue Nov 3 18:03:53 2015 +0100 KVM: x86: work around infinite loop in microcode when #AC is delivered It was found that a guest can DoS a host by triggering an infinite stream of "alignment check" (#AC) exceptions. This causes the microcode to enter an infinite loop where the core never receives another interrupt. The host kernel panics pretty quickly due to the effects (CVE-2015-5307). Signed-off-by: Eric Northup <digitaleric@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d0e536d89395ecd8ab78fe999dc4d6f5d140ce46 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 28 02:39:56 2015 +0100 context_tracking: avoid irq_save/irq_restore on guest entry and exit guest_enter and guest_exit must be called with interrupts disabled, since they take the vtime_seqlock with write_seq{lock,unlock}. Therefore, it is not necessary to check for exceptions, nor to save/restore the IRQ state, when context tracking functions are called by guest_enter and guest_exit. Split the body of context_tracking_entry and context_tracking_exit out to __-prefixed functions, and use them from KVM. Rik van Riel has measured this to speed up a tight vmentry/vmexit loop by about 2%. Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Tested-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f70cd6b07e629f367bb9b1ac9d0e3e669eb325c0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 28 02:39:55 2015 +0100 context_tracking: remove duplicate enabled check All calls to context_tracking_enter and context_tracking_exit are already checking context_tracking_is_enabled, except the context_tracking_user_enter and context_tracking_user_exit functions left in for the benefit of assembly calls. Pull the check up to those functions, by making them simple wrappers around the user_enter and user_exit inline functions. Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Tested-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8cfe9866960581303f244780945c5d12ecc4e5bc Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:12 2015 +0800 KVM: VMX: Dump TSC multiplier in dump_vmcs() This patch enhances dump_vmcs() to dump the value of TSC multiplier field in VMCS. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit be7b263ea925324e54e48c3558d4719be5374053 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:11 2015 +0800 KVM: VMX: Use a scaled host TSC for guest readings of MSR_IA32_TSC This patch makes kvm-intel to return a scaled host TSC plus the TSC offset when handling guest readings to MSR_IA32_TSC. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ff2c3a1803775cc72dc6f624b59554956396b0ee Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:10 2015 +0800 KVM: VMX: Setup TSC scaling ratio when a vcpu is loaded This patch makes kvm-intel module to load TSC scaling ratio into TSC multiplier field of VMCS when a vcpu is loaded, so that TSC scaling ratio can take effect if VMX TSC scaling is enabled. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 64903d6195cbfb051ce339d30848cc64babdba12 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:09 2015 +0800 KVM: VMX: Enable and initialize VMX TSC scaling This patch exhances kvm-intel module to enable VMX TSC scaling and collects information of TSC scaling ratio during initialization. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 27cca94e032c1749825fdd9b6b379e4235cd52e1 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:08 2015 +0800 KVM: x86: Use the correct vcpu's TSC rate to compute time scale This patch makes KVM use virtual_tsc_khz rather than the host TSC rate as vcpu's TSC rate to compute the time scale if TSC scaling is enabled. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4ba76538dd52dd9b18b464e509cb8f3ed4ed993f Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:07 2015 +0800 KVM: x86: Move TSC scaling logic out of call-back read_l1_tsc() Both VMX and SVM scales the host TSC in the same way in call-back read_l1_tsc(), so this patch moves the scaling logic from call-back read_l1_tsc() to a common function kvm_read_l1_tsc(). Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 58ea6767874e791a6c4f5c96c7d9155de4b1af28 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:06 2015 +0800 KVM: x86: Move TSC scaling logic out of call-back adjust_tsc_offset() For both VMX and SVM, if the 2nd argument of call-back adjust_tsc_offset() is the host TSC, then adjust_tsc_offset() will scale it first. This patch moves this common TSC scaling logic to its caller adjust_tsc_offset_host() and rename the call-back adjust_tsc_offset() to adjust_tsc_offset_guest(). Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 07c1419a32bbba08cf1efb6d1ecaf24f174fa4c3 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:05 2015 +0800 KVM: x86: Replace call-back compute_tsc_offset() with a common function Both VMX and SVM calculate the tsc-offset in the same way, so this patch removes the call-back compute_tsc_offset() and replaces it with a common function kvm_compute_tsc_offset(). Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 381d585c80e34988269bd7901ad910981e900be1 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:04 2015 +0800 KVM: x86: Replace call-back set_tsc_khz() with a common function Both VMX and SVM propagate virtual_tsc_khz in the same way, so this patch removes the call-back set_tsc_khz() and replaces it with a common function. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 35181e86df97e4223f4a28fb33e2bcf3b73de141 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:03 2015 +0800 KVM: x86: Add a common TSC scaling function VMX and SVM calculate the TSC scaling ratio in a similar logic, so this patch generalizes it to a common TSC scaling function. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> [Inline the multiplication and shift steps into mul_u64_u64_shr. Remove BUG_ON. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ad721883e9c5f46cc5fa9496bc12c097c6238b4a Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:02 2015 +0800 KVM: x86: Add a common TSC scaling ratio field in kvm_vcpu_arch This patch moves the field of TSC scaling ratio from the architecture struct vcpu_svm to the common struct kvm_vcpu_arch. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bc9b961b357ea8129d75613b7af4fdf57ced9b9f Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:01 2015 +0800 KVM: x86: Collect information for setting TSC scaling ratio The number of bits of the fractional part of the 64-bit TSC scaling ratio in VMX and SVM is different. This patch makes the architecture code to collect the number of fractional bits and other related information into variables that can be accessed in the common code. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 893590c73426585dfd9f33358b19f18d9395fb2f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Nov 6 11:46:24 2015 +0100 KVM: x86: declare a few variables as __read_mostly These include module parameters and variables that are set by kvm_x86_ops->hardware_setup. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 450869d6dbb72b370774fd4ee14c4f275bb08f98 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 4 13:41:21 2015 +0100 KVM: x86: merge handle_mmio_page_fault and handle_mmio_page_fault_common They are exactly the same, except that handle_mmio_page_fault has an unused argument and a call to WARN_ON. Remove the unused argument from the callers, and move the warning to (the former) handle_mmio_page_fault_common. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2f34f173816c4d35b7bb225fed410585e55147fe Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Mon Nov 9 10:09:55 2015 -0800 arm64: remove redundant FRAME_POINTER kconfig option and force to select it FRAME_POINTER is defined in lib/Kconfig.debug, it is unnecessary to redefine it in arch/arm64/Kconfig.debug. ARM64 depends on frame pointer to get correct stack trace (also selecting ARCH_WANT_FRAME_POINTERS). However, the lib/Kconfig.debug definition allows such option to be disabled. This patch forces FRAME_POINTER always on on arm64. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit bd4f203e433387d39be404b67ad02acf6f76b7bc Merge: e6604ec 1bde925 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 21:05:13 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge third patch-bomb from Andrew Morton: "We're pretty much done over here - I'm still waiting for a nouveau merge so I can cleanly finish up Christoph's dma-mapping rework. - bunch of small misc stuff - fold abs64() into abs(), remove abs64() - new_valid_dev() cleanups - binfmt_elf_fdpic feature work" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (24 commits) fs/binfmt_elf_fdpic.c: provide NOMMU loader for regular ELF binaries fs/stat.c: remove unnecessary new_valid_dev() check fs/reiserfs/namei.c: remove unnecessary new_valid_dev() check fs/nilfs2/namei.c: remove unnecessary new_valid_dev() check fs/ncpfs/dir.c: remove unnecessary new_valid_dev() check fs/jfs: remove unnecessary new_valid_dev() checks fs/hpfs/namei.c: remove unnecessary new_valid_dev() check fs/f2fs/namei.c: remove unnecessary new_valid_dev() check fs/ext2/namei.c: remove unnecessary new_valid_dev() check fs/exofs/namei.c: remove unnecessary new_valid_dev() check fs/btrfs/inode.c: remove unnecessary new_valid_dev() check fs/9p: remove unnecessary new_valid_dev() checks include/linux/kdev_t.h: old/new_valid_dev() can return bool include/linux/kdev_t.h: remove unused huge_valid_dev() kmap_atomic_to_page() has no users, remove it drivers/scsi/cxgbi: fix build with EXTRA_CFLAGS dma: remove external references to dma_supported Documentation/sysctl/vm.txt: fix misleading code reference of overcommit_memory remove abs64() kernel.h: make abs() work with 64-bit types ... commit ebaf31c46cce0dc8a6ed690b5456b295aa7586a6 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Nov 3 13:09:00 2015 +0200 platform/chrome: Fix i2c-designware adapter name Commit d80d134182ba ("i2c: designware: Move common probe code into i2c_dw_probe()") caused the I2C adapter lookup code here to fail for PCI enumerated i2c-designware because commit changed the adapter name but didn't update it here. Fix the I2C adapter lookup by using the "Synopsys DesignWare I2C adapter" name. Reported-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> Fixes: d80d134182ba ("i2c: designware: Move common probe code into i2c_dw_probe()") Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Tested-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d69bbf88c8d0b367cf3e3a052f6daadf630ee566 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Nov 9 17:51:23 2015 -0800 net: fix a race in dst_release() Only cpu seeing dst refcount going to 0 can safely dereference dst->flags. Otherwise an other cpu might already have freed the dst. Fixes: 27b75c95f10d ("net: avoid RCU for NOCACHE dst") Reported-by: Greg Thelen <gthelen@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c94ddbc139bf8511d79153a81191b07f8e03eb4 Author: Justin Maggard <jmaggard10@xxxxxxxxx> Date: Mon Nov 9 17:21:05 2015 -0800 net: mvneta: Fix memory use after free. After changing an interface's MTU, then bringing the interface down and back up again, I immediately saw tons of kernel messages like below. The reason for this bad behavior is mvneta_rxq_drop_pkts(), which calls dma_unmap_single() on already-freed memory. So we need to switch the order of those two operations. [ 152.388518] BUG: Bad page state in process ifconfig pfn:1b518 [ 152.388526] page:dff3dbc0 count:0 mapcount:0 mapping: (null) index:0x0 [ 152.395178] flags: 0x200(arch_1) [ 152.398441] page dumped because: PAGE_FLAGS_CHECK_AT_PREP flag set [ 152.398446] bad because of flags: [ 152.398450] flags: 0x200(arch_1) [ 152.401716] Modules linked in: [ 152.401728] CPU: 0 PID: 1453 Comm: ifconfig Tainted: P B O 4.1.12.armada.1 #1 [ 152.401733] Hardware name: Marvell Armada 370/XP (Device Tree) [ 152.401749] [<c0015b1c>] (unwind_backtrace) from [<c0011d8c>] (show_stack+0x10/0x14) [ 152.401762] [<c0011d8c>] (show_stack) from [<c06aa68c>] (dump_stack+0x74/0x90) [ 152.401772] [<c06aa68c>] (dump_stack) from [<c0096c08>] (bad_page+0xc4/0x124) [ 152.401783] [<c0096c08>] (bad_page) from [<c0099378>] (get_page_from_freelist+0x4e4/0x644) [ 152.401794] [<c0099378>] (get_page_from_freelist) from [<c0099620>] (__alloc_pages_nodemask+0x148/0x784) [ 152.401805] [<c0099620>] (__alloc_pages_nodemask) from [<c00ac658>] (kmalloc_order+0x10/0x20) [ 152.401818] [<c00ac658>] (kmalloc_order) from [<c04c6f44>] (mvneta_rx_refill+0xc4/0xe8) [ 152.401830] [<c04c6f44>] (mvneta_rx_refill) from [<c04c96c0>] (mvneta_setup_rxqs+0x298/0x39c) [ 152.401842] [<c04c96c0>] (mvneta_setup_rxqs) from [<c04c9904>] (mvneta_open+0x3c/0x150) [ 152.401853] [<c04c9904>] (mvneta_open) from [<c0597764>] (__dev_open+0xac/0x124) [ 152.401864] [<c0597764>] (__dev_open) from [<c05979e4>] (__dev_change_flags+0x8c/0x148) [ 152.401875] [<c05979e4>] (__dev_change_flags) from [<c0597ac0>] (dev_change_flags+0x18/0x48) [ 152.401886] [<c0597ac0>] (dev_change_flags) from [<c060d308>] (devinet_ioctl+0x620/0x6d0) [ 152.401897] [<c060d308>] (devinet_ioctl) from [<c057d810>] (sock_ioctl+0x64/0x288) [ 152.401908] [<c057d810>] (sock_ioctl) from [<c00dcb7c>] (do_vfs_ioctl+0x78/0x608) [ 152.401918] [<c00dcb7c>] (do_vfs_ioctl) from [<c00dd170>] (SyS_ioctl+0x64/0x74) [ 152.401930] [<c00dd170>] (SyS_ioctl) from [<c000f3a0>] (ret_fast_syscall+0x0/0x3c) Signed-off-by: Justin Maggard <jmaggard@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e6604ecb70d4b1dbc0372c6518b51c25c4b135a1 Merge: 9d74288 941c3ff Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 18:11:22 2015 -0800 Merge tag 'nfs-for-4.4-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs Pull NFS client updates from Trond Myklebust: "Highlights include: New features: - RDMA client backchannel from Chuck - Support for NFSv4.2 file CLONE using the btrfs ioctl Bugfixes + cleanups: - Move socket data receive out of the bottom halves and into a workqueue - Refactor NFSv4 error handling so synchronous and asynchronous RPC handles errors identically. - Fix a panic when blocks or object layouts reads return a bad data length - Fix nfsroot so it can handle a 1024 byte long path. - Fix bad usage of page offset in bl_read_pagelist - Various NFSv4 callback cleanups+fixes - Fix GETATTR bitmap verification - Support hexadecimal number for sunrpc debug sysctl files" * tag 'nfs-for-4.4-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (53 commits) Sunrpc: Supports hexadecimal number for sysctl files of sunrpc debug nfs: Fix GETATTR bitmap verification nfs: Remove unused xdr page offsets in getacl/setacl arguments fs/nfs: remove unnecessary new_valid_dev check SUNRPC: fix variable type NFS: Enable client side NFSv4.1 backchannel to use other transports pNFS/flexfiles: Add support for FF_FLAGS_NO_IO_THRU_MDS pNFS/flexfiles: When mirrored, retry failed reads by switching mirrors SUNRPC: Remove the TCP-only restriction in bc_svc_process() svcrdma: Add backward direction service for RPC/RDMA transport xprtrdma: Handle incoming backward direction RPC calls xprtrdma: Add support for sending backward direction RPC replies xprtrdma: Pre-allocate Work Requests for backchannel xprtrdma: Pre-allocate backward rpc_rqst and send/receive buffers SUNRPC: Abstract backchannel operations xprtrdma: Saving IRQs no longer needed for rb_lock xprtrdma: Remove reply tasklet xprtrdma: Use workqueue to process RPC/RDMA replies xprtrdma: Replace send and receive arrays xprtrdma: Refactor reply handler error handling ... commit 9d74288ca79249af4b906215788b37d52263b58b Merge: 123a28d 31dddd9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 18:01:23 2015 -0800 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. There are only six patches this time: 1. A cleanup patch from Andreas to remove the gl_spin #define in favor of its value for the sake of clarity. 2. A fix from Andy Price to mark the inode dirty during fallocate. 3. A fix from Andy Price to set s_mode on mount failures to prevent a stack trace. 4 A patch from me to prevent a kernel BUG() in trans_add_meta/trans_add_data due to uninitialized storage. 5. A patch from me to protecting our freeing of the in-core directory hash table to prevent double-free. 6. A fix for a page/block rounding problem that resulted in a metadata coherency problem when the block size != page size" I've got a lot more patches in various stages of review and testing, but I'm afraid they'll have to wait until the next merge window. So next time we're likely to have a lot more" * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: GFS2: Fix rgrp end rounding problem for bsize < page size GFS2: Protect freeing directory hash table with i_lock spin_lock gfs2: Remove gl_spin define gfs2: Add missing else in trans_add_meta/data GFS2: Set s_mode before parsing mount options GFS2: fallocate: do not rely on file_update_time to mark the inode dirty commit 0da39687a15403251bdfd1c6fb18025c0607326b Author: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Date: Fri Oct 30 01:30:40 2015 -0700 stex: Remove use of struct timeval Function stex_gettime uses 'struct timeval' whose tv_sec value will overflow on 32-bit systems in year 2038 and beyond. This patch replaces the use of struct timeval and do_gettimeofday with ktime_get_real_seconds, which returns a 64-bit seconds value. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5cb9b40d6127fed91b00abe44498f19f6ed6a77f Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 15:54:23 2015 +0100 scsi_sysfs: Fix queue_ramp_up_period return code Writing a number to /sys/bus/scsi/devices/<sdev>/queue_ramp_up_period returns the value of that number instead of the number of bytes written. This behavior can confuse programs expecting POSIX write() semantics. Fix this by returning the number of bytes written instead. Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 123a28d8b522b03dd97c1f791245924088616ac0 Merge: 373ee21 5726b27 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 17:38:34 2015 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs Pull ext2 fix from Jan Kara: "Fix for DAX on ext2" * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: ext2: Add locking for DAX faults commit edb394b512098e9d68923db8340230c3caa4893f Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:41 2015 -0400 bnx2fc: Update version number to 2.9.6. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 50a87414695fc5009ba776a61f48d3d67ffdd6ed Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:39 2015 -0400 bnx2fc: Remove explicit logouts. Explicit logouts from bnx2fc were causing race conditions in either returning stale SCSI commands or not allowing a target to log back in. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit adcf7dfbea80382457a552b4eb7aa2b7d9f76dac Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:38 2015 -0400 bnx2fc: Fix FCP RSP residual parsing. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1fffa19991b5a907303ca3f09cf3d8e91b0bd911 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:37 2015 -0400 bnx2fc: Set ELS transfer length correctly for middle path commands. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit de909d8740b74bed0f8274cdb818f7ce410a4a4a Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:36 2015 -0400 bnx2fc: Remove 'NetXtreme II' from source files. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 97586090a9d7bfb697a9a27ba9eca7e00a7d3b13 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:35 2015 -0400 bnx2fc: Update copyright for 2015. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d9b43a10f0d04564c6e05de3728c3cbba64c644d Author: Seymour, Shane M <shane.seymour@xxxxxxx> Date: Mon Oct 12 04:31:17 2015 +0000 st: allow debug output to be enabled or disabled via sysfs Change st driver to allow enabling or disabling debug output via sysfs file /sys/bus/scsi/drivers/st/debug_flag. Previously the only way to enable debug output was: 1. loading the driver with the module parameter debug_flag=1 2. an ioctl call (this method was also the only way to dynamically disable debug output). To use the ioctl you need a second tape drive (if you are actively testing the first tape drive) since a second process cannot open the first tape drive if it is in use. The this change is only functional if the value of the macro DEBUG in st.c is a non-zero value (which it is by default). Signed-off-by: Shane Seymour <shane.seymour@xxxxxxx> Reviewed-by: Laurence Oberman <oberman.l@xxxxxxxxx> Acked-by: Kai Mäkisara <kai.makisara@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c59ab4e5afade13fdb65efc99c07fb8455aecba5 Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Sun Oct 11 22:35:18 2015 +0200 libfc: Use the correct function name in kernel-doc comment. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Acked-by: Vasu Dev <vasu.dev@xxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 64d513ac31bd02a3c9b69ef04444f36c196f9a9d Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 8 09:28:04 2015 +0100 scsi: use host wide tags by default This patch changes the !blk-mq path to the same defaults as the blk-mq I/O path by always enabling block tagging, and always using host wide tags. We've had blk-mq available for a few releases so bugs with this mode should have been ironed out, and this ensures we get better coverage of over tagging setup over different configs. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Jens Axboe <axboe@xxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 720ba808e9ca276919f566bbe2b4e09c79f25faa Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 7 15:11:04 2015 +0200 bnx2fc: reduce stack usage in __bnx2fc_enable When the bnx2fc driver was changed to read the npiv table from nvram, the stack of the __bnx2fc_enable function gained an additional 1028 byte structure that gcc rightfully warns about: drivers/scsi/bnx2fc/bnx2fc_fcoe.c: In function '__bnx2fc_enable': drivers/scsi/bnx2fc/bnx2fc_fcoe.c:2134:1: warning: the frame size of 1128 bytes is larger than 1024 bytes [-Wframe-larger-than=] In order to avoid a possible kernel stack overflow and to get rid of the warning, this changes the function to use a dynamic allocation of the structure using kzalloc. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 2971ff67bd3 ("bnx2fc: Read npiv table from nvram and create vports.") Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e79504236548e4c909959ba444f87a12224555ac Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 23 19:02:32 2015 +0530 lpfc: fix memory leak and NULL dereference kmalloc() can return NULL and without checking we were dereferencing it. Moreover if kmalloc succeeds but the function fails in other parts then we were returning the error code but we missed freeing lcb_context. While at it fixed one related checkpatch warning. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 481ebb3daac39c6c1a8f78f98b823a9c9591616f Author: Jiri Slaby <jslaby@xxxxxxx> Date: Tue Oct 6 14:27:45 2015 +0200 fcoe: use continue instead of goto+label There is a label pointing to the start of a while loop and a goto nested only in the loop. The goto jumps to the label in some cases. Replace the goto and the label by simple continue. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2a188cb42b43b7a579c2b6d0e9fa095182333540 Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 16:01:37 2015 -0400 pm80xx: remove the SCSI host before detaching from SAS transport Previously, when this module was unloaded via 'rmmod' with at least one drive attached, the SCSI error handler thread would become stuck in an infinite recovery loop and lockup the system, necessitating a reboot. Once the SAS layer is detached, the driver will fail any subsequent commands since the target devices are removed. However, removing the SCSI host generates a SYNCHRONIZE CACHE (10) command, which was failed and left the error handler no method of recovery. This patch simply removes the SCSI host first so that no more commands can come down, prior to cleaning up the SAS layer. Note that the stack is built up with the SCSI host first, and then the SAS layer. Perhaps it should be reversed for symmetry, so that commands cannot be sent to the pm80xx driver prior to attaching the SAS layer? What was really strange about this bug was that it was introduced at commit cff549e4860f ("[SCSI]: proper state checking and module refcount handling in scsi_device_get"). This commit appears to tinker with how the reference counting is performed for SCSI device objects. My theory is that prior to this commit, the refcount for a device object was blindly incremented at some point during the teardown process which coincidentially made the device stick around during the procedure, which also coincidentially made any commands sent to the driver not fail (since the device was technically still "there"). After this commit was applied, my theory is the refcount for the device object is not being incremented at a specific point anymore, which makes the device go away, and thus made the pm80xx driver fail any subsequent commands. You may also want to see the following for more details: [1] http://www.spinics.net/lists/linux-scsi/msg37208.html [2] http://marc.info/?l=linux-scsi&m=144416476406993&w=2 Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Acked-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 08d8a817cfda033da9d2f2c5314ef9b993f60010 Author: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:34:18 2015 +0100 mvsas: remove SCSI host before detaching from SAS transport commit cff549e4860f ("scsi: proper state checking and module refcount handling in scsi_device_get") the reference count of scsi device was changed, which could lead to when rmmod with at least on drive attached, SCSI error handle will run into infinite loop, and lockup the system. Fix it by remove scsi host first, this way scsi core will not send commands down after detaching SAS transport. This is a follow up fix for Benjamin's fix for pm80xx. See also: http://www.spinics.net/lists/linux-scsi/msg90088.html Signed-off-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 373ee21eecebc5c06786a803d99661a3657afcc7 Merge: f4d6893 d0cf62f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 16:37:00 2015 -0800 Merge branch 'parisc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc updates from Helge Deller: "We have two patches in here: - The parisc uapi headers have been screwed up since quite some time. This patch fixes some bugs (e.g. endianess not respected in compat_semid64_ds) and cleans them up (e.g. uid_t was used instead of __kernel_uid_t) so that they can be used by userspace again. This patch has been reviewed by Arnd Bergmann and is scheduled for stable kernel series. - Drop the hpux_stat64 struct from stat.h, we do not support HP-UX binaries since kernel 4.0" * 'parisc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Fixes and cleanups in kernel uapi header files parisc: Drop hpux_stat64 struct from stat.h header file commit 4024593d5d9cc0002184f1748b7cdb1705f08e05 Author: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:33:45 2015 +0100 aic94xx: remove SCSI host before detaching from SAS transport commit cff549e4860f ("scsi: proper state checking and module refcount handling in scsi_device_get") the reference count of scsi device was changed, which could lead to when rmmod with at least on drive attached, SCSI error handle will run into infinite loop, and lockup the system. Fix it by remove scsi host first, this way scsi core will not send commands down after detaching SAS transport. This is a follow up fix for Benjamin's fix for pm80xx. See also: http://www.spinics.net/lists/linux-scsi/msg90088.html Signed-off-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit f4d68930a88219ffda60f137dcc858e4f5db6680 Merge: 3510ca1 bb3fc5d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 16:36:10 2015 -0800 Merge tag 'nios2-v4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2 Pull nios2 updates from Ley Foon Tan: - nios2: Remove unnecessary #ifdef guards - nios2: Switch to generic __xchg() - nios2: Fix unused variable warning * tag 'nios2-v4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2: nios2: Remove unnecessary #ifdef guards nios2: Switch to generic __xchg() nios2: Fix unused variable warning commit 4927f1fcf9afc0043a4a88c98cb7cb6caec11ff1 Author: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:32:29 2015 +0100 isci: remove SCSI host before detaching from SAS transport commit cff549e4860f ("scsi: proper state checking and module refcount handling in scsi_device_get") , the reference count of scsi device was changed, which could lead to when rmmod with at least on drive attached, SCSI error handle will run into infinite loop, and lockup the system. Fix it by remove scsi host first, this way scsi core will not send commands down after detaching SAS transport. This is a follow up fix for Benjamin's fix for pm80xx. See also: http://www.spinics.net/lists/linux-scsi/msg90088.html Signed-off-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3e4dda70cc989a4f8079541972942609229e9f55 Merge: 1b38b0e 8713181 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Nov 9 16:35:19 2015 -0800 Merge branch 'next/arm64' into next/dt Merging in the few patches I had kept separate from main next/dt, since others got merged here directly. * next/arm64: arm64: defconfig: Enable PCI generic host bridge by default arm64: Juno: Add support for the PCIe host bridge on Juno R1 Documentation: of: Document the bindings used by Juno R1 PCIe host bridge arm64: dts: mt8173: Add clocks for SCPSYS unit arm64: dts: mt8173: Add subsystem clock controller device nodes + Linux 4.3-rc5 commit bf2cf3baa20b0a6cd2d08707ef05dc0e992a8aa0 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Sep 18 17:23:42 2015 -0700 scsi: Fix a bdi reregistration race Unregister and reregister BDI devices in the proper order. This patch avoids that the following kernel warning can get triggered: WARNING: CPU: 7 PID: 203 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x68/0x80() sysfs: cannot create duplicate filename '/devices/virtual/bdi/8:32' Workqueue: events_unbound async_run_entry_fn Call Trace: [<ffffffff814ff5a4>] dump_stack+0x4c/0x65 [<ffffffff810746ba>] warn_slowpath_common+0x8a/0xc0 [<ffffffff81074736>] warn_slowpath_fmt+0x46/0x50 [<ffffffff81237ca8>] sysfs_warn_dup+0x68/0x80 [<ffffffff81237d8e>] sysfs_create_dir_ns+0x7e/0x90 [<ffffffff81291f58>] kobject_add_internal+0xa8/0x320 [<ffffffff812923a0>] kobject_add+0x60/0xb0 [<ffffffff8138c937>] device_add+0x107/0x5e0 [<ffffffff8138d018>] device_create_groups_vargs+0xd8/0x100 [<ffffffff8138d05c>] device_create_vargs+0x1c/0x20 [<ffffffff8117f233>] bdi_register+0x63/0x2a0 [<ffffffff8117f497>] bdi_register_dev+0x27/0x30 [<ffffffff81281549>] add_disk+0x1a9/0x4e0 [<ffffffffa00c5739>] sd_probe_async+0x119/0x1d0 [sd_mod] [<ffffffff8109a81a>] async_run_entry_fn+0x4a/0x140 [<ffffffff81091078>] process_one_work+0x1d8/0x7c0 [<ffffffff81091774>] worker_thread+0x114/0x460 [<ffffffff81097878>] kthread+0xf8/0x110 [<ffffffff8150801f>] ret_from_fork+0x3f/0x70 See also patch "block: destroy bdi before blockdev is unregistered" (commit ID 6cd18e711dd8). Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ce664fb5d4628632a6eceb8e69cbf015b7fb232a Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:26:10 2015 -0200 ipr: Driver version 2.6.3. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit cd9d715c28d0320acb53df68ebecc035cfe60913 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 16 19:36:20 2015 +0530 FlashPoint: fix build warning We have been getting a warning about non ANSI function. warning: non-ANSI function declaration of function 'FPT_SccbMgrTableInitAll' Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Khalid Aziz <khalid@xxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3510ca19a82ba4c6a17af79c1f0448622a406efa Merge: e4da7e9 afaa7c5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 16:32:13 2015 -0800 Merge tag 'xtensa-20151108' of git://github.com/czankel/xtensa-linux Pull xtensa updates from Chris Zankel: - fix remaining issues with noMMU cores - fix build for cores w/o cache or zero overhead loop options - fix boot of secondary cores in SMP configuration - add support for DMA to high memory pages - add dma_to_phys and phys_to_dma functions. * tag 'xtensa-20151108' of git://github.com/czankel/xtensa-linux: xtensa: implement dma_to_phys and phys_to_dma xtensa: support DMA to high memory Revert "xtensa: cache inquiry and unaligned cache handling functions" xtensa: drop unused sections and remapped reset handlers xtensa: fix secondary core boot in SMP xtensa: add FORCE_MAX_ZONEORDER to Kconfig xtensa: nommu: provide defconfig for de212 on kc705 xtensa: nommu: xtfpga: add kc705 DTS xtensa: add de212 core variant xtensa: nommu: select HAVE_FUTEX_CMPXCHG xtensa: nommu: fix default memory start address xtensa: nommu: provide correct KIO addresses xtensa: nommu: fix USER_RING definition xtensa: xtfpga: fix integer overflow in TASK_SIZE xtensa: fix build for configs without cache options xtensa: fixes for configs without loop option commit 1a47af26b71e3267f6a5da0103cb65d00b1ff32e Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:26:09 2015 -0200 ipr: Issue Configure Cache Parameters command. Some new adapters require a special Configure Cache Parameters command to enable the adapter write cache, so send this during the adapter initialization if the adapter requires it. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 1021b3ffad7682a09437cafffae32e26d0ce83e9 Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:26:08 2015 -0200 ipr: Inquiry IOA page 0xC4 during initialization. Add an IOA Inquiry command for Page 0xC4 during IOA initialization to collect cache capabilities, particularly to check if Sync IOA Write Cache is supported. Inquiry will happen right after Cap Inquiry on page 0xD0; and will execute only if the "Supported Pages" field in Inquiry Page 0x0 shows support for Page 0xC4. Otherwise, assume Sync IOA Write Cache is not supported. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 4f92d01a642d27716f60cdab0fd3c527fb7cfb0f Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:26:07 2015 -0200 ipr: Don't set NO_ULEN_CHK bit when resource is a vset. According to the IPR specification, Inhibit Underlength Checking bit must be disabled when issuing commands to vsets. Enabling it in this case might cause SCSI commands to fail with an Illegal Request, so make sure we keep this bit cleared when resource is a vset. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit f41f1d994e0e2e0fab29c6f3f9c77350f1769166 Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:26:06 2015 -0200 ipr: Add delay to ensure coherent dumps. Add a holding pattern prior to collecting dump data, to wait for the IOA indication that the Mailbox register is stable and won't change without an explicit reset. This ensures we'll be collecting meaningful dump data, even when dumping right after an adapter reset. In the event of a timeout, we still force the dump, since a partial dump still might be useful. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3209f9d780d137cdb54c85e0a776cb19e723a170 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Tue Oct 6 18:04:01 2015 -0700 scsi: storvsc: Fix a bug in the handling of SRB status flags SRB status can have additional information. Mask these out before processing SRB status. This patch was sent as part of a collection of patches more than a year ago. While the rest of the patches in the set were comitted, this patch was not. I woulod like to thank Olaf for noticing that this patch was not committed upstream. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 81988a0e6b031bc80da15257201810ddcf989e64 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Thu Oct 1 14:53:17 2015 -0700 storvsc: get rid of bounce buffer Storvsc driver needs to ensure there are no 'holes' in the presented sg list (all segments in the middle of the list need to be of PAGE_SIZE). When a hole is detected storvsc driver creates a 'bounce sgl' without holes and copies data over with copy_{to,from}_bounce_buffer() functions. Setting virt_boundary_mask to PAGE_SIZE - 1 guarantees we'll never see such holes so we can significantly simplify the driver. This is also supposed to bring us some performance improvement for certain workloads as we eliminate copying. Reported-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8cf308e1225f5f93575f03cc4dbef24516fa81c9 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Mon Aug 31 08:21:54 2015 -0700 storvsc: Don't set the SRB_FLAGS_QUEUE_ACTION_ENABLE flag Don't set the SRB_FLAGS_QUEUE_ACTION_ENABLE flag since we are not specifying tags. Without this, the qlogic driver doesn't work properly with storvsc. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e4da7e9a54649d6877ac23828ff93ce7191eae2c Merge: 50c3650 4ac3131 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 16:22:26 2015 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu Pull m68knommu/coldfire fix from Greg Ungerer: "Only a single patch, fixes brk area setup problem in nommu environments" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: fs/binfmt_elf_fdpic.c: fix brk area overlap with stack on NOMMU commit ead1cbf92745b2b52846da56c9b3dd83ea4e718b Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:41 2015 -0400 aacraid: Update driver version Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 84859c926b0828b07b2c3dd66a440ef4120a8668 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:40 2015 -0400 aacraid: Use pci_enable_msix_range() As pci_enable_msix() deprecated, replaced with pci_enable_msix_range() Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e728f8e39ffd8f7054e0718b4fb308c32235a5c2 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:39 2015 -0400 aacraid: IOCTL fix Driver blocks ioctls once it received shutdown/suspend request during suspend/hybernation. This patch unblocks ioctls on resume path. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8b1462e0ebb677ee07da6c18f7047539ea6e449e Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:38 2015 -0400 aacraid: Reset irq affinity hints Reset irq affinity hints before releasing IRQ. Removed duplicate code of IRQ acquire/release. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 55b8760847a6e593ab67448ca79f83c4b1a9f012 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:37 2015 -0400 aacraid: Tune response path if IsFastPath bit set If 'IsFastPath' bit is set, then response path assumes no error and skips error check. Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c6992781d9e8086d592f95870092a59042d111a2 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:36 2015 -0400 aacraid: Enable 64bit write to controller register If writeq() not supported, then do atomic two 32bit write Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9022d375bd22869ba3e5ad3635f00427cfb934fc Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:35 2015 -0400 aacraid: Change interrupt mode to MSI for Series 6 This change always sets MSI interrupt mode for series-6 controller. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit de665f28f788ad72ff6a0ce6ac2721d77248b7cf Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:34 2015 -0400 aacraid: Add Power Management support * .suspend() and .resume() routines implemented in the driver * aac_release_resources() initiates firmware shutdown * aac_acquire_resources re-initializes the host interface Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fb5d40d4fca272286695c67da0a2d0a9d0954615 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:33 2015 -0400 aacraid: Fix for LD name and UID not exposed to OS Driver sends the right size of the response buffer. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 50c36504fc6090847f1fbdc7cf4852ae16d6e500 Merge: ce5c2d2 d1189c6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 15:53:39 2015 -0800 Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module updates from Rusty Russell: "Nothing exciting, minor tweaks and cleanups" * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: scripts: [modpost] add new sections to white list modpost: Add flag -E for making section mismatches fatal params: don't ignore the rest of cmdline if parse_one() fails modpost: abort if a module symbol is too long commit fb9c54dc1f74708882505d288ed8e8857cb4b22d Author: John Soni Jose <sony.john@xxxxxxxxxxxxx> Date: Thu Aug 20 04:44:31 2015 +0530 be2iscsi: Bump the driver version Signed-off-by: John Soni Jose <sony.john@xxxxxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 340c99e9adacfe1bc7dd50eec4d4fa3203288042 Author: John Soni Jose <sony.john@xxxxxxxxxxxxx> Date: Thu Aug 20 04:44:30 2015 +0530 be2iscsi: Fix updating the next pointer during WRB posting While posting WRB the next_pointer of the current WRB should point to itself and the previous WRB next_pointer should point to the current WRB. The next pointer value was retrieved during alloc_pdu and was updated in wrb before ringing the doorbell. The fix retrieves the next_pointer just before ringing the doorbell and updates in the WRB. Signed-off-by: John Soni Jose <sony.john@xxxxxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4e14e49a91e18098fd8ef30743972e0c3cb727c1 Merge: 264e89a 7a29ac4 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Nov 10 10:20:48 2015 +1100 Merge branch 'xfs-misc-fixes-for-4.4-3' into for-next commit 1bde925d235478cd5e70a7d9f94f3d8eb7c6362b Author: Rich Felker <dalias@xxxxxxxx> Date: Mon Nov 9 14:59:01 2015 -0800 fs/binfmt_elf_fdpic.c: provide NOMMU loader for regular ELF binaries The ELF binary loader in binfmt_elf.c requires an MMU, making it impossible to use regular ELF binaries on NOMMU archs. However, the FDPIC ELF loader in binfmt_elf_fdpic.c is fully capable as a loader for plain ELF, which requires constant displacements between LOAD segments, since it already supports FDPIC ELF files flagged as needing constant displacement. This patch adjusts the FDPIC ELF loader to accept non-FDPIC ELF files on NOMMU archs. They are treated identically to FDPIC ELF files with the constant-displacement flag bit set, except for personality, which must match the ABI of the program being loaded; the PER_LINUX_FDPIC personality controls how the kernel interprets function pointers passed to sigaction. Files that do not set a stack size requirement explicitly are given a default stack size (matching the amount of committed stack the normal ELF loader for MMU archs would give them) rather than being rejected; this is necessary because plain ELF files generally do not declare stack requirements in theit program headers. Only ET_DYN (PIE) format ELF files are supported, since loading at a fixed virtual address is not possible on NOMMU. This patch was developed and tested on J2 (SH2-compatible) but should be usable immediately on all archs where binfmt_elf_fdpic is available. Moreover, by providing dummy definitions of the elf_check_fdpic() and elf_check_const_displacement() macros for archs which lack an FDPIC ABI, it should be possible to enable building of binfmt_elf_fdpic on all other NOMMU archs and thereby give them ELF binary support, but I have not yet tested this. The motivation for using binfmt_elf_fdpic.c rather than adapting binfmt_elf.c to NOMMU is that the former already has all the necessary code to work properly on NOMMU and has already received widespread real-world use and testing. I hope this is not controversial. I'm not really happy with having to unset the FDPIC_FUNCPTRS personality bit when loading non-FDPIC ELF. This bit should really reset automatically on execve, since otherwise, executing non-ELF binaries (e.g. bFLT) from an FDPIC process will leave the personality in the wrong state and severely break signal handling. But that's a separate, existing bug and I don't know the right place to fix it. Signed-off-by: Rich Felker <dalias@xxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Matt Mackall <mpm@xxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Oleg Endo <oleg.endo@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 28f65708a57395799781f5c44863b50f99facbf2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:58 2015 -0800 fs/stat.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3cc5d9a905826e835d4d4dcd0faf922ab7b9eaf9 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:55 2015 -0800 fs/reiserfs/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3348a172befd1b78025e30037bc383514be8d32f Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:53 2015 -0800 fs/nilfs2/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Acked-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4467e29f0c48d0fc3e164c39c1eccd1ce230fbe4 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:50 2015 -0800 fs/ncpfs/dir.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Petr Vandrovec <petr@xxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a2a17044094d0816d56a9e151bbf146d89a23010 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:47 2015 -0800 fs/jfs: remove unnecessary new_valid_dev() checks new_valid_dev() always returns 1, so the !new_valid_dev() checks are not needed. Remove them. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Acked-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fdca5e6a6d0a6600ff24d6d9c843e5aee637f29f Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:44 2015 -0800 fs/hpfs/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Mikulas Patocka <mikulas@xxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a8415e4b130e0cd919c7c6584bdf27660f3ff295 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:42 2015 -0800 fs/f2fs/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Cc: Changman Lee <cm224.lee@xxxxxxxxxxx> Cc: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d7df00072e64f972e0f7eb4fea78eed2da9c0e59 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:39 2015 -0800 fs/ext2/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5738939289d58829fd8b73f8c26b34ab08539fcf Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:37 2015 -0800 fs/exofs/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Acked-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> Cc: Benny Halevy <bhalevy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cac0a85992229a631d4e01934d2e1c042566189 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:34 2015 -0800 fs/btrfs/inode.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Acked-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 349c7037b15927eed3cc8a5dbc08639dea654ea5 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:31 2015 -0800 fs/9p: remove unnecessary new_valid_dev() checks new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Cc: Ron Minnich <rminnich@xxxxxxxxxx> Cc: Latchesar Ionkov <lucho@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b9758b9c6f65f55c94370636c04e976edc93e1a Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:28 2015 -0800 include/linux/kdev_t.h: old/new_valid_dev() can return bool Make old/new_valid_dev return bool due to these two particular functions only using either one or zero as their return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7bc4f1d281bc1f807fd0c9aaa2f2d333b6508790 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:26 2015 -0800 include/linux/kdev_t.h: remove unused huge_valid_dev() There's no user of huge_valid_dev() any more, so remove it. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 77c5b5da02f0a30d61144a546c4ef3657e3b817d Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Mon Nov 9 14:58:23 2015 -0800 kmap_atomic_to_page() has no users, remove it Removal started in commit 5bbeed12bdc3 ("sparc32: drop unused kmap_atomic_to_page"). Let's do it across the whole tree. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce1fb04153e6d27b5f0e23a30bacaacfcae8195f Author: Jiri Slaby <jslaby@xxxxxxx> Date: Mon Nov 9 14:58:21 2015 -0800 drivers/scsi/cxgbi: fix build with EXTRA_CFLAGS EXTRA_CFLAGS are intended to be used on the command line, not by Kbuild. In case of cxgbi drivers, use of EXTRA_CFLAGS results in a compilation failure: drivers/scsi/cxgbi/cxgb4i/cxgb4i.c:24:21: fatal error: t4_regs.h: No such file or directory when building like: $ make drivers/scsi/cxgbi/ EXTRA_CFLAGS=-Wwhatever Use ccflags-y instead of EXTRA_CFLAGS. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0e77acef8ec21c82530214728631fb7a416e75c7 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Nov 9 14:58:18 2015 -0800 dma: remove external references to dma_supported Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c56050c700d18f18fbec934f56069150bcec3709 Author: Chun Chen <chenchun.feed@xxxxxxxxx> Date: Mon Nov 9 14:58:15 2015 -0800 Documentation/sysctl/vm.txt: fix misleading code reference of overcommit_memory The origin document references to cap_vm_enough_memory is because cap_vm_enough_memory invoked __vm_enough_memory before and it no longer does now. Signed-off-by: Chun Chen <ramichen@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 79211c8ed19c055ca105502c8733800d442a0ae6 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 14:58:13 2015 -0800 remove abs64() Switch everything to the new and more capable implementation of abs(). Mainly to give the new abs() a bit of a workout. Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c8299cb605b27dd5a49f7a69e48fd23e5a206298 Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Mon Nov 9 14:58:10 2015 -0800 kernel.h: make abs() work with 64-bit types For 64-bit arguments, the abs macro casts it to an int which leads to lost precision and may cause incorrect results. To deal with 64-bit types abs64 macro has been introduced but still there are places where abs macro is used incorrectly. To deal with the problem, expand abs macro such that it operates on s64 type when dealing with 64-bit types while still returning long when dealing with smaller types. This fixes one known bug (per John): The internal clocksteering done for fine-grained error correction uses a : logarithmic approximation, so any time adjtimex() adjusts the clock : steering, timekeeping_freqadjust() quickly approximates the correct clock : frequency over a series of ticks. : : Unfortunately, the logic in timekeeping_freqadjust(), introduced in commit : dc491596f639438 (Rework frequency adjustments to work better w/ nohz), : used the abs() function with a s64 error value to calculate the size of : the approximated adjustment to be made. : : Per include/linux/kernel.h: "abs() should not be used for 64-bit types : (s64, u64, long long) - use abs64()". : : Thus on 32-bit platforms, this resulted in the clocksteering to take a : quite dampended random walk trying to converge on the proper frequency, : which caused the adjustments to be made much slower then intended (most : easily observed when large adjustments are made). Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Reported-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c2d5eebfe3421a31499b552800041e684639076 Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Date: Mon Nov 9 14:58:06 2015 -0800 sparc/sparc64: allocate sys_membarrier system call number Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Acked-by: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 784567f4b0cb0df300aa9a87de2596df5c0038b3 Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Mon Nov 9 14:58:03 2015 -0800 mips: add entry for new mlock2 syscall A previous commit introduced the new mlock2 syscall, add entries for the MIPS architecture. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dbce03b9e3e61e122451a7aa4e6900d5f0bb5993 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Nov 9 14:58:00 2015 -0800 fs/writeback.c: fix kernel-doc warnings Fix kernel-doc warnings in fs/fs-writeback.c by moving a #define macro to after the function's opening brace. Also #undef this macro at the end of the function. ../fs/fs-writeback.c:1984: warning: Excess function parameter 'inode' description in 'I_DIRTY_INODE' ../fs/fs-writeback.c:1984: warning: Excess function parameter 'flags' description in 'I_DIRTY_INODE' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 30fdc8ee0ef0d9dffaeaccb202f79d69e1291cbd Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Nov 9 14:57:58 2015 -0800 fs/inode.c: fix kernel-doc warning Fix kernel-doc warning in fs/inode.c: ../fs/inode.c:1606: warning: No description found for parameter 'inode' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7a29ac474a47eb8cf212b45917683ae89d6fa13b Author: Chris Mason <clm@xxxxxx> Date: Tue Nov 10 10:10:34 2015 +1100 xfs: give all workqueues rescuer threads We're consistently hitting deadlocks here with XFS on recent kernels. After some digging through the crash files, it looks like everyone in the system is waiting for XFS to reclaim memory. Something like this: PID: 2733434 TASK: ffff8808cd242800 CPU: 19 COMMAND: "java" #0 [ffff880019c53588] __schedule at ffffffff818c4df2 #1 [ffff880019c535d8] schedule at ffffffff818c5517 #2 [ffff880019c535f8] _xfs_log_force_lsn at ffffffff81316348 #3 [ffff880019c53688] xfs_log_force_lsn at ffffffff813164fb #4 [ffff880019c536b8] xfs_iunpin_wait at ffffffff8130835e #5 [ffff880019c53728] xfs_reclaim_inode at ffffffff812fd453 #6 [ffff880019c53778] xfs_reclaim_inodes_ag at ffffffff812fd8c7 #7 [ffff880019c53928] xfs_reclaim_inodes_nr at ffffffff812fe433 #8 [ffff880019c53958] xfs_fs_free_cached_objects at ffffffff8130d3b9 #9 [ffff880019c53968] super_cache_scan at ffffffff811a6f73 #10 [ffff880019c539c8] shrink_slab at ffffffff811460e6 #11 [ffff880019c53aa8] shrink_zone at ffffffff8114a53f #12 [ffff880019c53b48] do_try_to_free_pages at ffffffff8114a8ba #13 [ffff880019c53be8] try_to_free_pages at ffffffff8114ad5a #14 [ffff880019c53c78] __alloc_pages_nodemask at ffffffff8113e1b8 #15 [ffff880019c53d88] alloc_kmem_pages_node at ffffffff8113e671 #16 [ffff880019c53dd8] copy_process at ffffffff8104f781 #17 [ffff880019c53ec8] do_fork at ffffffff8105129c #18 [ffff880019c53f38] sys_clone at ffffffff810515b6 #19 [ffff880019c53f48] stub_clone at ffffffff818c8e4d xfs_log_force_lsn is waiting for logs to get cleaned, which is waiting for IO, which is waiting for workers to complete the IO which is waiting for worker threads that don't exist yet: PID: 2752451 TASK: ffff880bd6bdda00 CPU: 37 COMMAND: "kworker/37:1" #0 [ffff8808d20abbb0] __schedule at ffffffff818c4df2 #1 [ffff8808d20abc00] schedule at ffffffff818c5517 #2 [ffff8808d20abc20] schedule_timeout at ffffffff818c7c6c #3 [ffff8808d20abcc0] wait_for_completion_killable at ffffffff818c6495 #4 [ffff8808d20abd30] kthread_create_on_node at ffffffff8106ec82 #5 [ffff8808d20abdf0] create_worker at ffffffff8106752f #6 [ffff8808d20abe40] worker_thread at ffffffff810699be #7 [ffff8808d20abec0] kthread at ffffffff8106ef59 #8 [ffff8808d20abf50] ret_from_fork at ffffffff818c8ac8 I think we should be using WQ_MEM_RECLAIM to make sure this thread pool makes progress when we're not able to allocate new workers. [dchinner: make all workqueues WQ_MEM_RECLAIM] Signed-off-by: Chris Mason <clm@xxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 848ccfc8fe0e8ae572ed0d8a9a2c3a0cda3bce3b Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Nov 10 10:10:33 2015 +1100 xfs: fix log recovery op header validation assert Commit 89cebc84 ("xfs: validate transaction header length on log recovery") added additional validation of the on-disk op header length to protect from buffer overflow during log recovery. It accounts for the fact that the transaction header can be split across multiple op headers. It added an assert for when this occurs that verifies the length of the second part of a split transaction header is less than a full transaction header. In other words, it expects that the first op header of a split transaction header includes at least some portion of the transaction header. This expectation is not always valid as a zero-length op header can exist for the first op header of a split transaction header (see xlog_recover_add_to_trans() for details). This means that the second op header can have a valid, full length transaction header and thus the full header is copied in xlog_recover_add_to_cont_trans(). Fix the assert in xlog_recover_add_to_cont_trans() to handle this case correctly and require that the op header length is less than or equal to a full transaction header. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit edfb8ebce225a0638cf62591d4ccb502f052ffd4 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 10 10:09:45 2015 +1100 xfs: Fix error path in xfs_get_acl Error codes from xfs_attr_get other than -ENOATTR were not properly reported. Fix that. In addition, the declaration of struct xfs_inode in xfs_acl.h isn't needed. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f06fcc7155dcbcd9b697d499595a2c1a3945bda2 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:51 2015 +0200 scsi: ufs-qcom: add QUniPro hardware support and power optimizations New revisions of UFS host controller supports the new UniPro hardware controller (referred as QUniPro). This patch adds the support to enable this new UniPro controller hardware. This change also adds power optimization for bus scaling feature, as well as support for HS-G3 power mode. Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 6e3fd44d7b7638e0f7e3331eaf7f90f3a629f3e7 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:50 2015 +0200 scsi: ufs-qcom: add debug prints for test bus Adds support for configuring and reading the test bus and debug registers. This change also adds another vops in order to print the debug registers. Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 47555a5c8a11a423e6767f942941c745766c99a2 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:49 2015 +0200 scsi: ufs: make the UFS variant a platform device This change turns the UFS variant (SCSI_UFS_QCOM) into a UFS a platform device. In order to do so a few additional changes are required: 1. The ufshcd-pltfrm is no longer serves as a platform device. Now it only serves as a group of platform APIs such as PM APIs (runtime suspend/resume, system suspend/resume etc), parsers of clocks, regulators and pm_levels from DT. 2. What used to be the old platform "probe" is now "only" a pltfrm_init() routine, that does exactly the same, but only being called by the new probe function of the UFS variant. Reviewed-by: Rob Herring <robherring2@xxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 0263bcd0e8319642440fa29c184b0d7f4b2d5857 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:48 2015 +0200 scsi: ufs: creates wrapper functions for vops In order to simplify the code a set of wrapper functions is created to test and call each of the variant operations. Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 1ce5898af55e23e933f6a68d102d4be730e9b503 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:47 2015 +0200 scsi: ufs: add ufshcd_get_variant ufshcd_set_variant This patch adds ufshcd_get_variant() and ufshcd_set_variant() routines in order to get/set the variant specific data. Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 9bac5db4b229977054c9936e859dc41e1cd64c59 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:46 2015 +0200 scsi: ufs-qcom: update configuration option of SCSI_UFS_QCOM component This change is required in order to be able to build the component as a module. Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit fb819ee85e4281821b26f1e5b1812bb43ab5c41a Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:45 2015 +0200 scsi: ufs-qcom: fix compilation warning if compiled as a module This change fixes a compilation warning that happens if SCSI_UFS_QCOM is compiled as a module. Also this patch fixes an error happens when insmod the module: "ufs_qcom: module license 'unspecified' taints kernel." Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit aeeed76b32e440a542e2bd224513844dcf6097d0 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:44 2015 +0200 phy: qcom-ufs: fix build error when the component is built as a module Export the following functions in order to avoid build errors when the component PHY_QCOM_UFS is compiled as a module: ERROR: "ufs_qcom_phy_disable_ref_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_enable_ref_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_is_pcs_ready" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_disable_iface_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_start_serdes" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_calibrate_phy" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_enable_dev_ref_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_set_tx_lane_enable" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_disable_dev_ref_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_save_controller_version" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_enable_iface_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! make[1]: *** [__modpost] Error 1 Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 2565df91a2a834046024a9baed479dc97dcfc712 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Nov 1 16:31:52 2015 -0800 drm/vc4: Add dependency on HAVE_DMA_ATTRS, and select DRM_GEM_CMA_HELPER Avoid the following build errors, seen with m68k:allmodconfig and other architectures which do not support HAVE_DMA_ATTRS. ERROR: "drm_gem_cma_create" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_prime_mmap" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_prime_get_sg_table" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_vm_ops" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_mmap" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_prime_vunmap" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_prime_import_sg_table" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_free_object" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_prime_vmap" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_dumb_map_offset" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_create" [drivers/gpu/drm/drm_kms_helper.ko] undefined! ERROR: "drm_gem_cma_describe" [drivers/gpu/drm/drm_kms_helper.ko] undefined! ERROR: "drm_gem_cma_free_object" [drivers/gpu/drm/drm_kms_helper.ko] undefined! Acked-by: Eric Anholt <eric@xxxxxxxxxx> Fixes: c8b75bca92cb ("drm/vc4: Add KMS support for Raspberry Pi.") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit f71c882dd4cfe4aa88ea07b1402ddd43605d4aef Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Nov 9 17:09:05 2015 +0100 ideapad-laptop: Add Lenovo Yoga 900 to no_hw_rfkill dmi list Like some of the other Yoga models the Lenovo Yoga 900 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 900 to the no_hw_rfkill dmi list, fixing the wifi breakage. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1275490 Cc: stable@xxxxxxxxxxxxxxx Reported-and-tested-by: Kevin Fenzi <kevin@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit c789fffc56a1a6c4bd9cbd15269d86089d757214 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Nov 6 23:26:59 2015 +0100 ideapad-laptop: include Yoga 3 1170 in add rfkill whitelist This changes the entry to the whitelist of machines that do not have a physical rfkill switch. Unfortunately, the Yoga 3 generation seems to use upper-case letters for the YOGA 3 Pro-1370, while it uses normal capitalization for its Yoga 3 1170 and 1470 siblings. In order to catch all variants of the Yoga 3, I'm changing both the entry for the 1470 (using "Yoga" as the name) and the entry for the Pro 1370 (using all-caps "YOGA") to not match the exact model number but only the generation. This way, the 1170 and 1470 models share one entry, but if the firmware changes from one format to the other, it will still work. The second entry for Yoga 2 Pro that was recently added for some reason ended up not being added in alphanumeric order, and I'm moving the Yoga 3 1470 entry down while making the change, so they are sorted more logically. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 74caab996c68393c0a985dccfd0ee6b33fb016e6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Nov 6 22:28:49 2015 +0100 ideapad-laptop: add support for Yoga 3 ESC key The ideapad-laptop handles most special keys on various Lenovo Laptops including the Yoga line. Unfortunately, the Yoga 3 11/13/14 models have one important exception, which is the Fn-ESC combination. On other Lenovo Laptops, this is FnLock, which switches the function keys between the primary (Mute, Vol down, Vol up, ...) and the secondary (F1, F2, F3, ...) behavior. On the new machines, FnLock is only available through BIOS setup (possibly through a yet-to-be-implemented feature in this driver) but not through Fn-ESC, but instead the ESC key itself switched between ESC and a "Paper Display" app for Windows. Unfortunately, that means that you can never have both ESC *and* the function keys working at the same time without needing to press Fn on one of them. As pointed out in the official Lenovo Forum by dozens of users, this makes the machine rather useless for any serious work [1]. I have now studied the ACPI DSDT one more time and found the event that is generated for the ESC key. Unlike all other key events on this machine, it is actually a WMI, while the other ones are read from the embedded controller. I am now installing a WMI notifier that uses the event number from the WMI subsystem as the scancode. The only event number generated here is '128', and that fits in nicely with the two existing ranges of scancodes used by the EC: 0-15 for the 16-bit VPCCMD_R_VPC register, 16-17 for the VPCCMD_R_NOVO register and 64-67 for VPCCMD_R_SPECIAL_BUTTONS. The only sane way to handle this button (in absence of the Windows Paper Display driver) seems to be to have it emit KEY_ESC, so that is what I use as the default. Should any user ever want to overwrite the default, they can install their own keymap. To ensure that we can still build the driver without adding a CONFIG_WMI dependency, all new code is enclosed in #ifdef. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> [1] https://forums.lenovo.com/t5/Lenovo-Yoga-Series-Notebooks/YOGA-3-14-How-to-reclaim-my-Esc-key-and-permanently-disable/td-p/2070816 Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f23d0e2468bc538e8c33223af8963ef40b7515bf Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Nov 9 18:40:59 2015 +0000 MAINTAINERS: Change Meta arch port status to Odd Fixes For a while now the Meta architecture port has been supported with only odd fixes rather than any big new features, since it has now been effectively supersceded by MIPS, and there is no prospect of any new products being based on it. Change the maintenance status to Odd Fixes in order to reflect reality. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit f1cd1f0b7d1b5d4aaa5711e8f4e4898b0045cb6d Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Nov 9 18:06:38 2015 +0000 Btrfs: fix race when listing an inode's xattrs When listing a inode's xattrs we have a time window where we race against a concurrent operation for adding a new hard link for our inode that makes us not return any xattr to user space. In order for this to happen, the first xattr of our inode needs to be at slot 0 of a leaf and the previous leaf must still have room for an inode ref (or extref) item, and this can happen because an inode's listxattrs callback does not lock the inode's i_mutex (nor does the VFS does it for us), but adding a hard link to an inode makes the VFS lock the inode's i_mutex before calling the inode's link callback. If we have the following leafs: Leaf X (has N items) Leaf Y [ ... (257 INODE_ITEM 0) (257 INODE_REF 256) ] [ (257 XATTR_ITEM 12345), ... ] slot N - 2 slot N - 1 slot 0 The race illustrated by the following sequence diagram is possible: CPU 1 CPU 2 btrfs_listxattr() searches for key (257 XATTR_ITEM 0) gets path with path->nodes[0] == leaf X and path->slots[0] == N because path->slots[0] is >= btrfs_header_nritems(leaf X), it calls btrfs_next_leaf() btrfs_next_leaf() releases the path adds key (257 INODE_REF 666) to the end of leaf X (slot N), and leaf X now has N + 1 items searches for the key (257 INODE_REF 256), with path->keep_locks == 1, because that is the last key it saw in leaf X before releasing the path ends up at leaf X again and it verifies that the key (257 INODE_REF 256) is no longer the last key in leaf X, so it returns with path->nodes[0] == leaf X and path->slots[0] == N, pointing to the new item with key (257 INODE_REF 666) btrfs_listxattr's loop iteration sees that the type of the key pointed by the path is different from the type BTRFS_XATTR_ITEM_KEY and so it breaks the loop and stops looking for more xattr items --> the application doesn't get any xattr listed for our inode So fix this by breaking the loop only if the key's type is greater than BTRFS_XATTR_ITEM_KEY and skip the current key if its type is smaller. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit ab27a8d04b32b6ee8c30c14c4afd1058e8addc82 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Mon Oct 5 16:33:37 2015 -0600 coredump: add DAX filtering for FDPIC ELF coredumps Add explicit filtering for DAX mappings to FDPIC ELF coredump. This is useful because DAX mappings have the potential to be very large. This patch has only been compile tested. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 5037835c1f3eabf4f22163fc0278dd87165f8957 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Mon Oct 5 16:33:36 2015 -0600 coredump: add DAX filtering for ELF coredumps Add two new flags to the existing coredump mechanism for ELF files to allow us to explicitly filter DAX mappings. This is desirable because DAX mappings, like hugetlb mappings, have the potential to be very large. Update the coredump_filter documentation in Documentation/filesystems/proc.txt so that it addresses the new DAX coredump flags. Also update the documented default value of coredump_filter to be consistent with the core(5) man page. The documentation being updated talks about bit 4, Dump ELF headers, which is enabled if CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is turned on in the kernel config. This kernel config option defaults to "y" if both ELF binaries and coredump are enabled. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 85ce230051c37dfb979385eb0244bf3655625ba6 Merge: 538ea4a 2098516 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Nov 9 13:29:39 2015 -0500 Merge branch 'for-4.4/hotplug' into libnvdimm-for-next commit 5e0baca8b3247f459af50947eaafc68bb8168b33 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Nov 9 09:26:44 2015 -0800 Input: parkbd - drop bogus __init from parkbd_allocate_serio() WARNING: vmlinux.o(.text+0x1056606): Section mismatch in reference from the function parkbd_attach() to the function .init.text:parkbd_allocate_serio() The function parkbd_attach() references the function __init parkbd_allocate_serio(). This is often because parkbd_attach lacks a __init annotation or the annotation of parkbd_allocate_serio is wrong. Commit 33ca8ab97cbb676d ("Input: parkbd - use parallel port device model") dropped the __init attribute from the sole caller of parkbd_allocate_serio(), but forgot to remove it from parkbd_allocate_serio() itself. Fixes: 33ca8ab97cbb676d ("Input: parkbd - use parallel port device model") Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit fb53c439d84387621c53808a3957ffd9876e5094 Author: Tomas Henzl <thenzl@xxxxxxxxxx> Date: Fri Nov 6 16:24:09 2015 +0100 hpsa: move lockup_detected attribute to host attr This patch fixes a 'general protection fault' issue by moving the attribute to where it was likely meant. Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit ec2c3aa94d9207fd2557203f36677da8be75b354 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:52:40 2015 -0600 hpsa: bump the driver version Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Gerry Morong <gerry.morong.pmcs.com> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit d04e62b9d63a7498735761dc40eaed88b7fd9d80 Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:52:34 2015 -0600 hpsa: add in sas transport class Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 1faf072c0e3ab0bc41fc1d343883dac704b82946 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 15:52:28 2015 -0600 hpsa: fix multiple issues in path_info_show path_info_show() seems to be broken in multiple ways. First, there's 817 return snprintf(buf, output_len+1, "%s%s%s%s%s%s%s%s", 818 path[0], path[1], path[2], path[3], 819 path[4], path[5], path[6], path[7]); so hopefully output_len contains the combined length of the eight strings. Otherwise, snprintf will stop copying to the output buffer, but still end up reporting that combined length - which in turn would result in user-space getting a bunch of useless nul bytes (thankfully the upper sysfs layer seems to clear the output buffer before passing it to the various ->show routines). But we have 767 output_len = snprintf(path[i], 768 PATH_STRING_LEN, "[%d:%d:%d:%d] %20.20s ", 769 h->scsi_host->host_no, 770 hdev->bus, hdev->target, hdev->lun, 771 scsi_device_type(hdev->devtype)); so output_len at best contains the length of the last string printed. Inside the loop, we then otherwise add to output_len. By magic, we still have PATH_STRING_LEN available every time... This wouldn't really be a problem if the bean-counting has been done properly and each line actually does fit in 50 bytes, and maybe it does, but I don't immediately see why. Suppose we end up taking this branch: 802 output_len += snprintf(path[i] + output_len, 803 PATH_STRING_LEN, 804 "BOX: %hhu BAY: %hhu %s\n", 805 box, bay, active); An optimistic estimate says this uses strlen("BOX: 1 BAY: 2 Active\n") which is 21. Now add the 20 bytes guaranteed by the %20.20s and then some for the rest of that format string, and we're easily over 50 bytes. I don't think we can get over 100 bytes even being pessimistic, so this just means we'll scribble into the next path[i+1] and maybe get that overwritten later, leading to some garbled output (in fact, since we'd overwrite the previous string's 0-terminator, we could end up with one very long string and then print various suffixes of that, leading to much more than 400 bytes of output). Except of course when we're filling path[7], where overrunning it means writing random stuff to the kernel stack, which is usually a lot of fun. We can fix all of that and get rid of the 400 byte stack buffer by simply writing directly to the given output buffer, which the upper layer guarantees is at least PAGE_SIZE. s[c]nprintf doesn't care where it is writing to, so this doesn't make the spin lock hold time any longer. Using scnprintf ensures that output_len always represents the number of bytes actually written to the buffer, so we'll report the proper amount to the upper layer. Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 7c59a0d46125d8c47c840e874d2cc9dd082afdf7 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:52:22 2015 -0600 hpsa: enhance device messages Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c2adae44e9161612c89e52d233c83086195f454c Author: Scott Teel <scott.teel@xxxxxxxx> Date: Wed Nov 4 15:52:16 2015 -0600 hpsa: disable report lun data caching When external target arrays are present, disable the firmware's normal behavior of returning a cached copy of the report lun data, and force it to collect new data each time we request a report luns. This is necessary for external arrays, since there may be no reliable signal from the external array to the smart array when lun configuration changes, and thus when driver requests report luns, it may be stale data. Use diag options to turn off RPL data caching. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 34592254c13324add1972e6a7d5f6636d95ade33 Author: Scott Teel <scott.teel@xxxxxxxx> Date: Wed Nov 4 15:52:09 2015 -0600 hpsa: add discovery polling for PT RAID devices. There are problems with getting configuration change notification in pass-through RAID environments. So, activate flag h->discovery_polling when one of these devices is detected in update_scsi_devices. After discovery_polling is set, execute a report luns from rescan_controller_worker (every 30 seconds). If the data from report_luns is different than last time (binary compare), execute a full rescan via update_scsi_devices. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 2d62a33e05d471bef6b2e5478f57d05b9baded85 Author: Scott Teel <scott.teel@xxxxxxxx> Date: Wed Nov 4 15:52:03 2015 -0600 hpsa: eliminate fake lun0 enclosures We don't need to create fake enclosure devices at Lun0 in external target array configurations anymore. This was done to support Pre-SCSI rev 5 controllers that didn't suppoprt report luns commands, so the SCSI layer had to scan targets. If there was no LUN at LUN 0, then the target scan would stop, and move to the next target. Lun0 enclosure device was added to prevent sparsely-numbered LUNs from being missed. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 66749d0d617a9cda967f168802f1fb1a6e598a92 Author: Scott Teel <scott.teel@xxxxxxxx> Date: Wed Nov 4 15:51:57 2015 -0600 hpsa: generalize external arrays External array LUNs must use target and lun numbers assigned by the external array. So the driver must treat these differently from local LUNs when assigning lun/target. LUN's 'model' field has been used to detect Lun types that need special treatment, but the desire is to eliminate the need to reference specific array models, and support any external array. Pass-through RAID (PTRAID) luns are not luns of the local controller, so they are not reported in LUN count of command 'ID controller'. However, they ARE reported in "Report logical Luns" command. Local luns are listed first, then PTRAID LUNs. The number of luns from "Report LUNs" in excess of those reported by 'ID controller' are therefore the PTRAID LUNS. We can now remove function is_ext_target, and the 'white list' array of supported model names. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 096ccff47e152aef8e9ef318c02781daedc433b7 Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:51:51 2015 -0600 hpsa: move scsi_add_device and scsi_remove_device calls to new function preparation for adding the sas transport class Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c795505a742807fe6ba81d6c63b57c7d2737df3d Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:51:45 2015 -0600 hpsa: refactor hpsa_figure_bus_target_lun setup for sas transport. Need to set the bus and target accordingly. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 75d23d894a4054dea2912e8ccad3134b8b90f1f1 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:51:39 2015 -0600 hpsa: enhance hpsa_get_device_id use an index into vpd data for SAS/SATA drives Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit f3f017305d4da61b64098f3d89cb64563c95087a Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:51:33 2015 -0600 hpsa: add function is_logical_device simplify checking for logical/physical devices Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 04fa2f44461dd90a00b514cd75ce82f829924826 Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:51:27 2015 -0600 hpsa: simplify update scsi devices remove repeated calculation that checks for physical or logical devices. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 2a168208a35515b8ca54fbf1a17581ad2a852a3f Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:51:21 2015 -0600 hpsa: simplify check for device exposure remove macros and cleanup device exposure checking Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit a736e9b6a03283a2e0fc8190b748b3a672f289c1 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:51:14 2015 -0600 hpsa: correct ioaccel2 sg chain len Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit f2039b03290b3b1e0556b85b7018273e116d17c3 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:51:08 2015 -0600 hpsa: correct check for non-disk devices The driver is using two MACROs which seemingly are looking in the wrong location for the device_flags returned from CISS_REPORT_PHYS. Both MACROs, NON_DISK_PHYS_DEV and PHYS_IOACCEL, are using the pointer returned from figure_lunaddrbytes which is the address of the LUN.lunid element in the extended CISS_REPORT_PHYS. But the MACROS are using offsets beyond the range of the element (offset 17 of an 8 byte element). These MACROs actually are looking at the correct location but they fail static checker analysis. It also will not work if any new elements are added to the extended LUN structure. Change the code to use the structure elements directly since this MACRO is only used in one location. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 0b9b7b6eecad03e0ba4290af7145e2c5d1f8ff13 Author: Scott Teel <scott.teel@xxxxxxxx> Date: Wed Nov 4 15:51:02 2015 -0600 hpsa: fix physical target reset Set reset type in device_reset_handler to do either logical unit reset for logical devices, or physical target reset, for physical devices. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit da03ded045b6249261e6c82d942e6d0298dabc9b Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:56 2015 -0600 hpsa: fix hpsa_adjust_hpsa_scsi_table Fix a NULL pointer issue in the driver when devices are removed during a reset. Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c8a6c9a6b41367d147990756b311ed5a67f19005 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:50 2015 -0600 hpsa: correct transfer length for 6 byte read/write commands handle block counts of 0. Cleanup block and block count calculations. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 683fc444697a388f17cbc3bd7e64191ce000b6b4 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:44 2015 -0600 hpsa: abandon rescans on memory alloaction failures. Abandon and reschedule rescan process only if device inquiries fail due to mem alloc failures, which are likely to occur for all devices. Otherwise, skip device if inquiry fails for other reasons, and continue rescanning process for other devices. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 853633e85996cb661e7aed5b3ae8823b12f265cf Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:37 2015 -0600 hpsa: allow driver requested rescans Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by; Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 1d33d85d4e51d85ee986b603de90be4f0b2faf2c Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:31 2015 -0600 hpsa: fix null device issues Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 9975ec9dbeb1775d29faaae50b31e2c19f740bf8 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:25 2015 -0600 hpsa: check for null arguments to dev_printk Check for NULLs. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3ad7de6b7d031165e8b2c0775986128de17c5a63 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:19 2015 -0600 hpsa: change devtype to unsigned This member is used in calls to scsi_device_type. It should be unsigned since the kernel checks for upper bounds and it should never be negative. Suggested-by: Tomas Henzl <thenzl@xxxxxxxxxx> Suggested-by: Hannes Reinecke <hare@xxxxxxx> Suggested-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit b48d9804281957ea35340076c2492c924ceb3ef0 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:13 2015 -0600 hpsa: remove unused hpsa_tag_discard_error_bits This function is no longer used. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 55d95d39b70fa391d609927242f55307d5536b17 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:07 2015 -0600 hpsa: stop zeroing reset_cmds_out and ioaccel_cmds_out during rescan pulling the rug out from under the reset handler likewise for ioaccel_cmds_out Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 8aa60681dbc0a501697663af0cd9c31df046d709 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:01 2015 -0600 hpsa: remove unused parameter hostno This parameter was once used before scan_start was defined but now it is no longer used. Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 863e02d0e173bb9d8cea6861be22820b25c076cc Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 10:49:54 2015 +0100 scsi_sysfs: Fix queue_ramp_up_period return code Writing a number to /sys/bus/scsi/devices/<sdev>/queue_ramp_up_period returns the value of that number instead of the number of bytes written. This behavior can confuse programs expecting POSIX write() semantics. Fix this by returning the number of bytes written instead. Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 821b414405a78c3d38921c2545b492eb974d3814 Author: Niklas Cassel <niklas.cassel@xxxxxxxx> Date: Mon Nov 9 15:59:00 2015 +0100 net: Documentation: Fix default value tcp_limit_output_bytes Commit c39c4c6abb89 ("tcp: double default TSQ output bytes limit") updated default value for tcp_limit_output_bytes Signed-off-by: Niklas Cassel <niklas.cassel@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a499a2e9d9c03fd35bd9920b629e4d5b1d6cc1f0 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Mon Nov 9 09:14:17 2015 -0500 macvtap: Resolve possible __might_sleep warning in macvtap_do_read() macvtap_do_read code calls macvtap_put_user while it might be set up to wait for the user. This results in the following warning: Jun 23 16:25:26 galen kernel: ------------[ cut here ]------------ Jun 23 16:25:26 galen kernel: WARNING: CPU: 0 PID: 30433 at kernel/sched/core.c: 7286 __might_sleep+0x7f/0x90() Jun 23 16:25:26 galen kernel: do not call blocking ops when !TASK_RUNNING; state =1 set at [<ffffffff810f1c1f>] prepare_to_wait+0x2f/0x90 Jun 23 16:25:26 galen kernel: CPU: 0 PID: 30433 Comm: cat Not tainted 4.1.0-rc6+ #11 Jun 23 16:25:26 galen kernel: Call Trace: Jun 23 16:25:26 galen kernel: [<ffffffff817f76ba>] dump_stack+0x4c/0x65 Jun 23 16:25:26 galen kernel: [<ffffffff810a07ca>] warn_slowpath_common+0x8a/0xc 0 Jun 23 16:25:26 galen kernel: [<ffffffff810a0846>] warn_slowpath_fmt+0x46/0x50 Jun 23 16:25:26 galen kernel: [<ffffffff810f1c1f>] ? prepare_to_wait+0x2f/0x90 Jun 23 16:25:26 galen kernel: [<ffffffff810f1c1f>] ? prepare_to_wait+0x2f/0x90 Jun 23 16:25:26 galen kernel: [<ffffffff810cdc1f>] __might_sleep+0x7f/0x90 Jun 23 16:25:26 galen kernel: [<ffffffff811f8e15>] might_fault+0x55/0xb0 Jun 23 16:25:26 galen kernel: [<ffffffff810fab9d>] ? trace_hardirqs_on_caller+0x fd/0x1c0 Jun 23 16:25:26 galen kernel: [<ffffffff813f639c>] copy_to_iter+0x7c/0x360 Jun 23 16:25:26 galen kernel: [<ffffffffa052da86>] macvtap_do_read+0x256/0x3d0 [macvtap] Jun 23 16:25:26 galen kernel: [<ffffffff810f20e0>] ? prepare_to_wait_event+0x110/0x110 Jun 23 16:25:26 galen kernel: [<ffffffffa052dcab>] macvtap_read_iter+0x2b/0x50 [macvtap] Jun 23 16:25:26 galen kernel: [<ffffffff81247f2e>] __vfs_read+0xae/0xe0 Jun 23 16:25:26 galen kernel: [<ffffffff81248526>] vfs_read+0x86/0x140 Jun 23 16:25:26 galen kernel: [<ffffffff812493b9>] SyS_read+0x49/0xb0 Jun 23 16:25:26 galen kernel: [<ffffffff8180182e>] system_call_fastpath+0x12/0x76 Jun 23 16:25:26 galen kernel: ---[ end trace 22e33f67e70c0c2a ]--- Make sure thet we call finish_wait() if we have the skb to process before trying to actually process it. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92e6246c8e02f4ce9960731e2411e49c1f0fabbf Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Mon Nov 9 10:56:57 2015 +0100 scsi: Export SCSI Inquiry data to sysfs Export the RAW SCSI Inquiry to sysfs as binfile. This way the data can be used by userland without the need to have and ioctl or use the sg_inq tool. Here is an example of the provided data linux:~ # hexdump /sys/class/scsi_device/1\:0\:0\:0/device/inquiry 0000000 8005 3205 001f 0000 4551 554d 2020 2020 0000010 4551 554d 4420 4456 522d 4d4f 2020 2020 0000020 2e32 2e33 0000024 Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 4bed5395a521b475c2164510596d9af366a3d6dc Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 9 15:08:57 2015 +0100 mvneta: add FIXED_PHY dependency The fixed_phy infrastructure is done in a way that is optional, by providing 'static inline' helper functions doing nothing in include/linux/phy_fixed.h for all its APIs. However, three out of the four users (DSA, BCMGENET, and SYSTEMPORT) always 'select FIXED_PHY', presumably because they need that. MVNETA is the fourth one, and if that is built-in but FIXED_PHY is configured as a loadable module, we get a link error: drivers/built-in.o: In function `mvneta_fixed_link_update': fpga-mgr.c:(.text+0x33ed80): undefined reference to `fixed_phy_update_state' Presumably this driver has the same dependency as the others, so this patch also uses 'select' to ensure that the fixed-phy support is built-in. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 898b2970e2c9 ("mvneta: implement SGMII-based in-band link state signaling") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cfb76d77c009b38e607c8a2adc8bdd57b5081768 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 13:19:10 2015 +0100 net: caif: check return value of alloc_netdev I don't know if dev can actually be NULL here, but the test should be above alloc_netdev(), to avoid leaking the struct net_device in case dev is actually NULL. And of course the return value from alloc_netdev should be tested. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3870502a66fe26c80c034db1aa915d69850854aa Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Nov 9 10:34:30 2015 +0100 net: hisilicon: NET_VENDOR_HISILICON should depend on HAS_DMA If NO_DMA=y: ERROR: "dma_set_mask" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_unmap_single" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_unmap_page" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_mapping_error" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_map_page" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_supported" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_map_single" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_set_mask" [drivers/net/ethernet/hisilicon/hns/hns_dsaf.ko] undefined! ERROR: "dma_supported" [drivers/net/ethernet/hisilicon/hns/hns_dsaf.ko] undefined! ERROR: "dma_unmap_single" [drivers/net/ethernet/hisilicon/hns/hnae.ko] undefined! ERROR: "dma_unmap_page" [drivers/net/ethernet/hisilicon/hns/hnae.ko] undefined! ERROR: "dma_mapping_error" [drivers/net/ethernet/hisilicon/hns/hnae.ko] undefined! ERROR: "dma_map_page" [drivers/net/ethernet/hisilicon/hns/hnae.ko] undefined! ERROR: "dma_map_single" [drivers/net/ethernet/hisilicon/hns/hnae.ko] undefined! ERROR: "dma_alloc_coherent" [drivers/net/ethernet/hisilicon/hix5hd2_gmac.ko] undefined! ERROR: "dma_mapping_error" [drivers/net/ethernet/hisilicon/hix5hd2_gmac.ko] undefined! ERROR: "dma_map_single" [drivers/net/ethernet/hisilicon/hix5hd2_gmac.ko] undefined! ERROR: "dma_unmap_single" [drivers/net/ethernet/hisilicon/hix5hd2_gmac.ko] undefined! ERROR: "dma_free_coherent" [drivers/net/ethernet/hisilicon/hix5hd2_gmac.ko] undefined! ERROR: "dma_alloc_coherent" [drivers/net/ethernet/hisilicon/hip04_eth.ko] undefined! ERROR: "dma_mapping_error" [drivers/net/ethernet/hisilicon/hip04_eth.ko] undefined! ERROR: "dma_map_single" [drivers/net/ethernet/hisilicon/hip04_eth.ko] undefined! ERROR: "dma_unmap_single" [drivers/net/ethernet/hisilicon/hip04_eth.ko] undefined! ERROR: "dma_free_coherent" [drivers/net/ethernet/hisilicon/hip04_eth.ko] undefined! As this affects all of HNS_ENET, HNS_DSAF, HNS, HIX5HD2_GMAC, and HIP04_ETH, add a dependency on HAS_DMA to the main NET_VENDOR_HISILICON symbol to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fb74c4e66daab5c3fb3b949d37c15684d7ee82a Author: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Nov 5 21:17:38 2015 +0530 megaraid_sas: Fix sparse warning Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit aed335eecf8f09c28588b01c7f7e24ee78156e28 Author: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Nov 5 21:17:37 2015 +0530 megaraid_sas: Make tape drives visible on PERC5 controllers The DELL PERC5 controller firmware does not list tape drives in response to MR_DCMD_PD_LIST_QUERY. This causes tape drives not be exposed to the OS when connected to a PERC5 controller. This patch permits detection of tape drives connected to a PERC5 controller by exposing non-TYPE_DISK devices unconditionally. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 222e684ca762e9288108fcf852eb5d08cbe10ae3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Nov 9 15:24:55 2015 +0300 vfio/pci: make an array larger Smatch complains about a possible out of bounds error: drivers/vfio/pci/vfio_pci_config.c:1241 vfio_cap_init() error: buffer overflow 'pci_cap_length' 20 <= 20 The problem is that pci_cap_length[] was defined as large enough to hold "PCI_CAP_ID_AF + 1" elements. The code in vfio_cap_init() assumes it has PCI_CAP_ID_MAX + 1 elements. Originally, PCI_CAP_ID_AF and PCI_CAP_ID_MAX were the same but then we introduced PCI_CAP_ID_EA in commit f80b0ba95964 ("PCI: Add Enhanced Allocation register entries") so now the array is too small. Let's fix this by making the array size PCI_CAP_ID_MAX + 1. And let's make a similar change to pci_ext_cap_length[] for consistency. Also both these arrays can be made const. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit d56e4f75346933dd2cb11533a668ce883908c859 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Sat Nov 7 13:33:25 2015 +0200 tpm: fix compat 'ppi' link handling in tpm_chip_register() __compat_only_sysfs_link_entry_to_kobj() was unconditionally called for TPM1 chips, which caused crash on Acer C720 laptop where DSM for the ACPI object did not exist. There are two reasons for unwanted behavior: * The code did not check whether __compat_only_sysfs_link_entry_to_kobj() returned -ENOENT. This is OK. It just meanst that ppi is not available. * The code did not clean up properly. Compat link should added only after all other init is done. This patch sorts out these issues. Fixes: 9b774d5cf2db Reported-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Tested-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit 2e31125c241212e2407d61a2d1cbdad0055a30b0 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Fri Oct 30 14:57:02 2015 +0200 tpm: fix missing migratable flag in sealing functionality for TPM2 The 'migratable' flag was not added to the key payload. This patch fixes the problem. Fixes: 0fe5480303a1 ("keys, trusted: seal/unseal with TPM 2.0 chips") Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit b1a4144a695ff4a6834a2680600f36f991fa4926 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Mon Nov 2 19:55:29 2015 +0200 TPM: revert the list handling logic fixed in 398a1e7 Mimi reported that afb5abc reverts the fix in 398a1e7. This patch reverts it back. Fixes: afb5abc262e9 ("tpm: two-phase chip management functions") Reported-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit eb8ed1eb9a158c460d10205eaff71fd4ac67c160 Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Thu Oct 22 22:32:41 2015 +0200 TPM: Avoid reference to potentially freed memory Reference to the 'np' node is dropped before dereferencing the 'sizep' and 'basep' pointers, which could by then point to junk if the node has been freed. Refactor code to call 'of_node_put' later. Fixes: c5df39262dd5 ("drivers/char/tpm: Add securityfs support for event log") Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit 14b5c1c9159bf6f109b667d31da82859d8c8cdcd Author: Martin Wilck <Martin.Wilck@xxxxxxxxxxxxxx> Date: Mon Nov 9 16:38:50 2015 +0200 tpm_tis: restore IRQ vector in IO memory after failed probing If the probing finishes without success, it will leave the value 15 in the TPM_IRQ_VECTOR register. If the driver is unloaded and reloaded, it will "think" that the hardware had been programmed with IRQ 15, and will not probe again. This patch restores the original value in the IO memory if no IRQ is probed. Signed-off-by: Martin Wilck <Martin.Wilck@xxxxxxxxxxxxxx> Acked-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit 2aef9da60bfdeb68dbcd4f114c098cbaa841b4ee Author: Martin Wilck <Martin.Wilck@xxxxxxxxxxxxxx> Date: Thu Nov 5 17:19:09 2015 +0100 tpm_tis: free irq after probing Release IRQs used for probing only. Otherwise the TPM will end up with all IRQs 3-15 assigned. Fixes: afb5abc262e9 ("tpm: two-phase chip management functions") Signed-off-by: Martin Wilck <Martin.Wilck@xxxxxxxxxxxxxx> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Tested-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit 31dddd9eb9ebae9a2a9b502750e9e481d752180a Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Wed Oct 28 09:05:31 2015 -0500 GFS2: Fix rgrp end rounding problem for bsize < page size This patch fixes a bug introduced by commit 7005c3e. That patch tries to map a vm range for resource groups, but the calculation breaks down when the block size is less than the page size. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 7b52e2793a58af61b5d349c2c080437a437a4edb Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Nov 9 08:59:45 2015 -0600 Allow copy offload (CopyChunk) across shares FSCTL_SRV_COPYCHUNK_WRITE only requires that the source and target be on the same server (not the same volume or same share), so relax the existing check (which required them to be on the same share). Note that this works to Windows (and presumably most other NAS) but Samba requires that the source and target be on the same share. Moving a file across shares is a common use case and can be very heplful (100x faster). Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Reviewed-by: David Disseldorp <ddiss@xxxxxxxxx> commit 25b3e5a3344e1f700c1efec5b6f0199f04707fb1 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Thu Nov 5 15:56:22 2015 -0500 sched/numa: Fix math underflow in task_tick_numa() The NUMA balancing code implements delays in scanning by advancing curr->node_stamp beyond curr->se.sum_exec_runtime. With unsigned math, that creates an underflow, which results in task_numa_work being queued all the time, even when we don't want to. Avoiding the math underflow makes it possible to reduce CPU overhead in the NUMA balancing code. Reported-and-tested-by: Jan Stancek <jstancek@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@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: mgorman@xxxxxxx Link: http://lkml.kernel.org/r/1446756983-28173-2-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b71b437eedaed985062492565d9d421d975ae845 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Nov 2 10:50:51 2015 +0100 perf: Fix inherited events vs. tracepoint filters Arnaldo reported that tracepoint filters seem to misbehave (ie. not apply) on inherited events. The fix is obvious; filters are only set on the actual (parent) event, use the normal pattern of using this parent event for filters. This is safe because each child event has a reference to it. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20151102095051.GN17308@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2fd59077755c44dbbd9b2fa89cf988235a3a6a2b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 05:48:38 2015 -0800 perf: Disable IRQs across RCU RS CS that acquires scheduler lock The perf_lock_task_context() function disables preemption across its RCU read-side critical section because that critical section acquires a scheduler lock. If there was a preemption during that RCU read-side critical section, the rcu_read_unlock() could attempt to acquire scheduler locks, resulting in deadlock. However, recent optimizations to expedited grace periods mean that IPI handlers that execute during preemptible RCU read-side critical sections can now cause the subsequent rcu_read_unlock() to acquire scheduler locks. Disabling preemption does nothiing to prevent these IPI handlers from executing, so these optimizations introduced a deadlock. In theory, this deadlock could be avoided by pulling all wakeups and printk()s out from rnp->lock critical sections, but in practice this would re-introduce some RCU CPU stall warning bugs. Given that acquiring scheduler locks entails disabling interrupts, these deadlocks can be avoided by disabling interrupts (instead of disabling preemption) across any RCU read-side critical that acquires scheduler locks and holds them across the rcu_read_unlock(). This commit therefore makes this change for perf_lock_task_context(). Reported-by: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20151104134838.GR29027@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fb226c3d7c77b4f99cee675795cc0e70937c56ee Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Nov 9 09:55:46 2015 +0100 arm64: fix R/O permissions of FDT mapping The mapping permissions of the FDT are set to 'PAGE_KERNEL | PTE_RDONLY' in an attempt to map the FDT as read-only. However, not only does this break at build time under STRICT_MM_TYPECHECKS (since the two terms are of different types in that case), it also results in both the PTE_WRITE and PTE_RDONLY attributes to be set, which means the region is still writable under ARMv8.1 DBM (and an attempted write will simply clear the PT_RDONLY bit). So instead, define PAGE_KERNEL_RO (which already has an established meaning across architectures) and use that instead. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit b219545e9646e9d4089a74029c82ae59645e12ae Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Nov 9 09:55:45 2015 +0100 arm64: fix STRICT_MM_TYPECHECKS issue in PTE_CONT manipulation The new page table code that manipulates the PTE_CONT flags does so in a way that is inconsistent with STRICT_MM_TYPECHECKS. Fix it by using the correct combination of __pgprot() and pgprot_val(). Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 16771c7c704769c5f3d70c024630b6e5b3eafa67 Author: Jurgen Kramer <gtmkramer@xxxxxxxxx> Date: Mon Nov 9 12:13:55 2015 +0100 ALSA: usb: Add native DSD support for Aune X1S This patch adds native DSD support for the Aune X1S 32BIT/384 DSD DAC Signed-off-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d3df0465db00cf4ed9f90d0bfc3b827d32b9c796 Author: Luca Porzio <lporzio@xxxxxxxxxx> Date: Fri Nov 6 15:12:26 2015 +0000 mmc: remove bondage between REQ_META and reliable write Anytime a write operation is performed with Reliable Write flag enabled, the eMMC device is enforced to bypass the cache and do a write to the underling NVM device by Jedec specification; this causes a performance penalty since write operations can't be optimized by the device cache. In our tests, we replayed a typical mobile daily trace pattern and found ~9% overall time reduction in trace replay by using this patch. Also the write ops within 4KB~64KB chunk size range get a 40~60% performance improvement by using the patch (as this range of write chunks are the ones affected by REQ_META). This patch has been discussed in the Mobile & Embedded Linux Storage Forum and it's the results of feedbacks from many people. We also checked with fsdevl and f2fs mailing list developers that this change in the usage of REQ_META is not affecting FS behavior and we got positive feedbacks. Reporting here the feedbacks: http://comments.gmane.org/gmane.linux.file-systems/97219 http://thread.gmane.org/gmane.linux.file-systems.f2fs/3178/focus=3183 Signed-off-by: Bruce Ford <bford@xxxxxxxxxx> Signed-off-by: Luca Porzio <lporzio@xxxxxxxxxx> Fixes: ce39f9d17c14 ("mmc: support packed write command for eMMC4.5 devices") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c255cb2ed3c7960b2c68f45de1dc0ac2197c8f78 Author: Anthony Lineham <anthony.lineham@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 11:17:03 2015 +1300 netfilter: Fix removal of GRE expectation entries created by PPTP The uninitialized tuple structure caused incorrect hash calculation and the lookup failed. Link: https://bugzilla.kernel.org/show_bug.cgi?id=106441 Signed-off-by: Anthony Lineham <anthony.lineham@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3d35877294005911da54c36e2ab4d7b72d5e9331 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Nov 9 10:36:01 2015 +0100 mmc: MMC_GOLDFISH should depend on HAS_DMA If NO_DMA=y: ERROR: dma_unmap_sg [drivers/mmc/host/android-goldfish.ko] undefined! ERROR: dma_alloc_coherent [drivers/mmc/host/android-goldfish.ko] undefined! ERROR: dma_map_sg [drivers/mmc/host/android-goldfish.ko] undefined! ERROR: dma_free_coherent [drivers/mmc/host/android-goldfish.ko] undefined! Add a dependency on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 62d494ca2773563e333e670cd18378705dad32d4 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Nov 6 12:22:08 2015 +0100 mmc: mediatek: Preinitialize delay_phase in get_best_delay() drivers/mmc/host/mtk-sd.c: In function â??get_best_delayâ??: drivers/mmc/host/mtk-sd.c:1284: warning: â??delay_phase.startâ?? is used uninitialized in this function drivers/mmc/host/mtk-sd.c:1284: warning: â??delay_phase.maxlenâ?? is used uninitialized in this function If delay is zero, these fields are indeed not initialized. Let the compiler preinitialize the whole struct to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ae3fbdd1becdfe4488e43bc023ea672bf2c90660 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Nov 6 12:21:33 2015 +0100 MAINTAINERS: mmc: Remove Seungwon Jeon from dw_mmc Unfortunate, Seungwon's email has been bouncing for some time and it seems like he has moved on to other duties. So, I would like to thank him for his efforts, but it's now time to remove him as the co-maintainer for the dw_mmc driver. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit d23029332c3d51fb5ac117ba5cde4dc0a3ec3fa6 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 28 14:25:43 2015 +0200 mmc: mmc: Improve reliability of mmc_select_hs400() mmc_select_hs400() calls __mmc_switch() which checks the switch is successful using CMD13 (SEND_STATUS). The problem is that it does that using the timing settings of the previous mode. That is prone to error, especially when switching from HS to HS400 because the timing parameters for HS mode are tighter than the timing parameters for HS400 mode. In the case when CMD13 polling is used (i.e. not MMC_CAP_WAIT_WHILE_BUSY) with the switch command, it must be assumed that using different modes on the card and host must work. However in the case when CMD13 polling is not used (i.e. MMC_CAP_WAIT_WHILE_BUSY) mmc_select_hs400() can be made more reliable by setting the host to the correct timing before sending CMD13. This patch does that. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 974007aaf240aa195b31c34cfdb013524a2dcfca Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 28 14:25:42 2015 +0200 mmc: mmc: Move mmc_switch_status() Move the mmc_switch_status() function in preparation for calling it in mmc_select_hs400(). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 51b12f7764fa8bb464cbd0f7bbd3a408d21ade16 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 28 14:25:41 2015 +0200 mmc: mmc: Fix HS setting in mmc_select_hs400() mmc_select_hs400() begins with the card and host in HS200 mode. Therefore, any commands sent to the card should use HS200 timing. It is incorrect to set the host to High Speed (HS) timing before sending the switch command. Doing so is unreliable because the timing parameters for HS mode are tighter than the timing parameters for HS200 mode. Thus the HS timings should be set only after the card has switched mode. However, it is not unreasonable first to reduce the frequency to the HS mode frequency, which should make the switch command and subsequent CMD13 commands more reliable. This patch does that. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1815e61b1a7efe81017a883e817292daf7d2f922 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 28 14:25:40 2015 +0200 mmc: mmc: Improve reliability of mmc_select_hs200() Currently mmc_select_hs200() uses __mmc_switch() which checks the success of the switch to HS200 mode using CMD13 (SEND_STATUS). The problem is that it does that using the timing settings of legacy mode. That is prone to error, not least because the timing parameters for legacy mode are tighter than the timing parameters for HS200 mode. In the case when CMD13 polling is used (i.e. not MMC_CAP_WAIT_WHILE_BUSY) with the switch command, it must be assumed that using different modes on the card and host must work. However in the case when CMD13 polling is not used (i.e. MMC_CAP_WAIT_WHILE_BUSY) mmc_select_hs200() can be made more reliable by setting the host to the correct timing before sending CMD13. This patch does that. A complication is that the caller, mmc_select_timing(), will ignore a switch error (indicated by -EBADMSG), assume the old mode is valid and continue, so the old timing must be restored in that case. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 26d49fe7195385f2f1e406feddb01c16b53e77b6 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Thu Nov 5 20:46:53 2015 +0100 mmc: pxamci: fix read-only gpio detection polarity The commit converting pxamci to slot-gpio API inverted the logic of the read-only gpio. Fix it by inverting the logic again. Fixes: fd546ee6a7dc ("mmc: pxamci: fix card detect with slot-gpio API") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1d512cb77bdbda80f0dd0620a3b260d697fd581d Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Nov 9 00:33:58 2015 +0000 Btrfs: fix race leading to BUG_ON when running delalloc for nodatacow If we are using the NO_HOLES feature, we have a tiny time window when running delalloc for a nodatacow inode where we can race with a concurrent link or xattr add operation leading to a BUG_ON. This happens because at run_delalloc_nocow() we end up casting a leaf item of type BTRFS_INODE_[REF|EXTREF]_KEY or of type BTRFS_XATTR_ITEM_KEY to a file extent item (struct btrfs_file_extent_item) and then analyse its extent type field, which won't match any of the expected extent types (values BTRFS_FILE_EXTENT_[REG|PREALLOC|INLINE]) and therefore trigger an explicit BUG_ON(1). The following sequence diagram shows how the race happens when running a no-cow dellaloc range [4K, 8K[ for inode 257 and we have the following neighbour leafs: Leaf X (has N items) Leaf Y [ ... (257 INODE_ITEM 0) (257 INODE_REF 256) ] [ (257 EXTENT_DATA 8192), ... ] slot N - 2 slot N - 1 slot 0 (Note the implicit hole for inode 257 regarding the [0, 8K[ range) CPU 1 CPU 2 run_dealloc_nocow() btrfs_lookup_file_extent() --> searches for a key with value (257 EXTENT_DATA 4096) in the fs/subvol tree --> returns us a path with path->nodes[0] == leaf X and path->slots[0] == N because path->slots[0] is >= btrfs_header_nritems(leaf X), it calls btrfs_next_leaf() btrfs_next_leaf() --> releases the path hard link added to our inode, with key (257 INODE_REF 500) added to the end of leaf X, so leaf X now has N + 1 keys --> searches for the key (257 INODE_REF 256), because it was the last key in leaf X before it released the path, with path->keep_locks set to 1 --> ends up at leaf X again and it verifies that the key (257 INODE_REF 256) is no longer the last key in the leaf, so it returns with path->nodes[0] == leaf X and path->slots[0] == N, pointing to the new item with key (257 INODE_REF 500) the loop iteration of run_dealloc_nocow() does not break out the loop and continues because the key referenced in the path at path->nodes[0] and path->slots[0] is for inode 257, its type is < BTRFS_EXTENT_DATA_KEY and its offset (500) is less then our delalloc range's end (8192) the item pointed by the path, an inode reference item, is (incorrectly) interpreted as a file extent item and we get an invalid extent type, leading to the BUG_ON(1): if (extent_type == BTRFS_FILE_EXTENT_REG || extent_type == BTRFS_FILE_EXTENT_PREALLOC) { (...) } else if (extent_type == BTRFS_FILE_EXTENT_INLINE) { (...) } else { BUG_ON(1) } The same can happen if a xattr is added concurrently and ends up having a key with an offset smaller then the delalloc's range end. So fix this by skipping keys with a type smaller than BTRFS_EXTENT_DATA_KEY. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit adaa0b6c49795551b07576e952dfa94c3ccded51 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Oct 19 11:44:24 2015 -0700 MIPS: Switch BMIPS5000 to use r4k_wait_irqoff() BCM7425 CPU Interface Zephyr Processor, pages 5-309 and 5-310 BCM7428B0 CPU Interface Zephyr Processor, pages 5-337 and 5-338 WAIT instruction: Thread enters wait state. No instructions are executed until an interrupt occurs. The processor's clocks are stopped if both threads are in idle mode. Description: Execution of this instruction puts the thread into wait state, an idle mode in which no instructions are fetched or executed. The thread remains in wait state until an interrupt occurs that is not masked by the interrupt mask field in the Status register. Then, if interrupts are enabled by the IE bit in the Status register, the interrupt is serviced. The ERET instruction returns to the instruction following the WAIT instruction. If interrupts are disabled, the processor resumes executing instructions with the next sequential instruction. Programming notes: The WAIT instruction should be executed while interrupts are disabled by the IE bit in the Status register. This avoids a potential timing hazard, which occurs if an interrupt is taken between testing the counter and executing the WAIT instruction. In this hazard case, the interrupt will have been completed before the WAIT instruction is executed, so the processor will remain indefinitely in wait state until the next interrupt. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: cernekee@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11322/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ba953391e03fd3b9eb0db19814cadb201574b4e2 Author: Adam Majer <adamm@xxxxxxxxxxx> Date: Mon Nov 9 10:14:29 2015 +0100 hwmon: (k10temp) Remove duplicate pci-id define PCI_DEVICE_ID_AMD_15H_M60H_NB_F3 is now defined in pci_ids.h Signed-off-by: Adam Majer <adamm@xxxxxxxxxxx> Acked-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> commit 7963b3f127a7486815bc10639630c95c2792b811 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Oct 19 11:49:52 2015 -0700 MIPS: add nmi_enter() + nmi_exit() to nmi_exception_handler() We need to enter NMI context when NMI interrupt fires. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11323/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 52d43d8184b1840c7cf6136724223585f51a1074 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 11:20:44 2015 +0100 s390/pci_dma: improve debugging of errors during dma map Improve debugging to find out what went wrong during a failed dma map/unmap operation. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 66728eeea6d80060e4b9df55c7845c838ff2799f Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 11:19:13 2015 +0100 s390/pci_dma: handle dma table failures We use lazy allocation for translation table entries but don't handle allocation (and other) failures during translation table updates. Handle these failures and undo translation table updates when it's meaningful. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 4d5a6b72959601d6c12e7e1ef3aa4132f0a62523 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 11:15:28 2015 +0100 s390/pci_dma: unify label of invalid translation table entries Newly allocated translation table entries are flagged as invalid and protected. If an existing translation table entry is invalidated, the protection flag is left unchanged. If a page (with invalid and protection flag set) is accessed it's undefined which type of exception we'll receive. Make sure to always set the invalid flag only. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 86b68c3873a82144033a82707781829e3f7b3859 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Nov 6 13:50:25 2015 +0100 s390/syscalls: remove system call number calculation Explicitly write the system call number for each define instead of calculating it. This makes it easier to parse the file when generating system call tables for various tools and libraries. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit cd5dead9d32423d63c802328c0563d7ff29647cd Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 22:40:27 2015 +0200 s390/cio: simplify css_generate_pgid Simplify the css_generate_pgid code by using stap() independent of CONFIG_SMP. For !CONFIG_SMP builds stap() will deliver the address of the cpu we IPL'ed from (which can be != 0). Note: the ifdef was likely added to be compatible with _very_ old machines which we don't support anyway. Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 230ccb370f8f95b2600a1fce90ceb8ee70a15dbc Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Nov 5 13:50:04 2015 +0100 s390/diag: add a s390 prefix to the diagnose trace point Documentation/trace/tracepoints.txt states that the naming scheme for tracepoints is "subsys_event" to avoid collisions. Rename the 'diagnose' tracepoint to 's390_diagnose'. Reported-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c6eafbf9903c4283ba146098ad54240a24ffbeb1 Author: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 13:32:08 2015 +0100 s390/head: fix error message on unsupported hardware startup calls the C function _sclp_print_early() if the machine we're running on is not supported by the kernel. sclp.c is getting built with -m64, so _sclp_print_early() expects the zSeries ELF ABI to be used. We previously called _sclp_print_early() using the S/390 ELF ABI, with a stack frame size of 96 bytes and while being in 31-bit address mode. This caused _sclp_wait_int() (called indirectly from _sclp_print_early()) to jump to an undefined address. While _sclp_wait_int() contained some code to deal with being called in 31-bit addressing mode, it didn't quite work. While fixing this is possible, the code would still only work by chance and could break any time. Ensure compliance with the zSeries ELF ABI by switching to 64-bit addressing mode early and using a minimum stack frame size of 160 bytes. Signed-off-by: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b32e1f58c254bd62f8a5852b8b181f6d51df1463 Merge: 66ef349 2b62c2d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Nov 9 08:45:42 2015 +0100 Merge branch 'liblockdep-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux into locking/urgent Pull liblockdep fixes from Sasha Levin: " ... three fixes for liblockdep. Just keeping up with kernel code changes and new gcc versions." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bb3fc5ddef93836a36a39308cf7eca82ef0a1c4c Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Fri Nov 6 14:19:11 2015 +0800 nios2: Remove unnecessary #ifdef guards __HAVE_ARCH_MEMMOVE and __HAVE_ARCH_MEMSET are unconditionally defined for nios2, so there is no need to protect the function definitions of memmove() and memset(). Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 713e9b802e21e762f31336da72bcfc32e1ab65ac Author: Marek Vasut <marex@xxxxxxx> Date: Wed Sep 30 22:08:00 2015 +0800 nios2: Switch to generic __xchg() The generic __xchg() implementation present in asm-generic/cmpxchg.h is correct on nios2 and even generates the same code. Switch to this generic implementation to trim down the amount of ad-hoc copies of the code. Signed-off-by: Marek Vasut <marex@xxxxxxx> Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 4db2196d0c0de110779b1767d956995efefdb915 Author: Marek Vasut <marex@xxxxxxx> Date: Wed Sep 30 22:06:46 2015 +0800 nios2: Fix unused variable warning Fix the following compiler splat by adding __maybe_unused annotation to the variable. Using this particular annotation has the least ugly impact on the code compared to using ifdeffery. arch/nios2/kernel/setup.c: In function 'nios2_boot_init': arch/nios2/kernel/setup.c:107:7: warning: unused variable 'cmdline_passed' [-Wunused-variable] char cmdline_passed[COMMAND_LINE_SIZE] = { 0, }; ^ Signed-off-by: Marek Vasut <marex@xxxxxxx> Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 761d4be5cf666973db317aab944b45bb07fe0a4f Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Sat Nov 7 11:50:40 2015 -0800 drivers: net: xgene: fix RGMII 10/100Mb mode This patch fixes the RGMII 10/100M mode by reprogramming the clock. Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Tested-by: Fushen Chen <fchen@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b73c8bfd07eb53a964b7b917b0599e12103097fb Merge: fb9a10d 3aed822 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 8 20:56:39 2015 -0500 Merge branch 'skb_to_full_sk' Eric Dumazet says: ==================== net: add skb_to_full_sk() helper Many contexts need to reach listener socket from skb attached to a request socket. This patch series add skb_to_full_sk() to clearly express this need and use it where appropriate. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3aed822591556f93169ff532fda8c71b9b596de5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:12 2015 -0800 netfilter: nft_meta: use skb_to_full_sk() helper SYNACK packets might be attached to request sockets. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02a56c81cf33dea892da1f8a5231b0f7d7e714fe Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:11 2015 -0800 net_sched: em_meta: use skb_to_full_sk() helper SYNACK packets might be attached to request sockets. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 743b2a66744635b6d91e3d9da1fff29ad5ceb456 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:10 2015 -0800 sched: cls_flow: use skb_to_full_sk() helper SYNACK packets might be attached to request sockets. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fdd723e2a856b6132d5e7beb2a2d3ec1e6a6297f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:09 2015 -0800 netfilter: xt_owner: use skb_to_full_sk() helper SYNACK packets might be attached to a request socket, xt_owner wants to gte the listener in this case. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8827d90e29e664aa959817467a3da72041ca2269 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:08 2015 -0800 smack: use skb_to_full_sk() helper This module wants to access sk->sk_security, which is not available for request sockets. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54abc686c2d111e98228943a7e1e51cc256e35d9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:07 2015 -0800 net: add skb_to_full_sk() helper and use it in selinux_netlbl_skbuff_setsid() Generalize selinux_skb_sk() added in commit 212cd0895330 ("selinux: fix random read in selinux_ip_postroute_compat()") so that we can use it other contexts. Use it right away in selinux_netlbl_skbuff_setsid() Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb9a10d9d8552acf6f9dee2ecb2d047777821d8b Merge: d0b8914 82aff3e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 8 20:47:26 2015 -0500 Merge tag 'nfc-fixes-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-fixes Samuel Ortiz says: ==================== NFC 4.4 fixes This is the 1st NFC fixes pull request for 4.4. It includes bug fixes and one fix for a build failure, all of them introduced with the first NFC pull request for 4.4. We have: - Fix nfcmrvl SPI driver potential build error due to a broken Kconfig dependency. - A few fixes for the firmware download implementation for the nfcmrvl UART driver. - A GPIO allocation leak for the nfcmrvl driver. - One code simplification for the nfcmrvl DT handling. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0b891415f5e6e3d478cf069e573c70f9d9c0217 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Fri Nov 6 21:38:58 2015 -0800 bpf: doc: correct arch list for supported eBPF JIT aarch64 and s390x support eBPF JIT too, correct document to reflect this and avoid any confusion. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afaa7c542cc9c4d8a99ba252a8ea5e8bc7c897e2 Merge: 6a13feb 4c3dab3 Author: Chris Zankel <chris@xxxxxxxxxx> Date: Sun Nov 8 23:12:47 2015 +0000 Merge tag 'xtensa-for-next-20151109' of git://github.com/jcmvbkbc/linux-xtensa Xtensa improvements for 4.4: - fix remaining issues with noMMU cores; - fix build for cores w/o cache or zero overhead loop options; - fix boot of secondary cores in SMP configuration; - add support for DMA to high memory pages; - add dma_to_phys and phys_to_dma functions. commit e75cb467df29a428612c162e6f1451c5c0717091 Merge: b486598 0aae24e Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun Nov 8 23:52:23 2015 +0100 Merge branch 'master' of git://blackhole.kfki.hu/nf Jozsef Kadlecsik says: ==================== Please apply the next bugfixes against the nf tree. - Fix extensions alignment in ipset: Gerhard Wiesinger reported that the missing data aligments lead to crash on non-intel architecture. The patch was tested on armv7h by Gerhard Wiesinger and on x86_64 and sparc64 by me. - An incorrect index at the hash:* types could lead to falsely early expired entries and memory leak when the comment extension was used too. - Release empty hash bucket block when all entries are expired or all slots are empty instead of shrinkig the data part to zero. ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4c3dab398d1317546d22b27be1a73b2c83ec7153 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Nov 7 06:59:51 2015 +0300 xtensa: implement dma_to_phys and phys_to_dma This fixes the following build error seen in -next: drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:143:2: error: implicit declaration of function 'dma_to_phys' Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit c7ca9fe17b84719ef2edbe854e1b0cac04a91e2f Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Oct 9 02:44:23 2015 +0300 xtensa: support DMA to high memory - don't bugcheck if high memory page is passed to xtensa_map_page; - turn empty dcache flush macros into functions so that they could be passed as function parameters; - use kmap_atomic to map high memory pages for cache invalidation/ flushing performed by xtensa_sync_single_for_{cpu,device}. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 14f09e2f9b85076133b795a2d2615f635482de1b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 3 15:12:01 2015 +0100 raid5-cache: add crc32c Kconfig dependency The recent change of the raid5-cache code to use crc32c instead of crc32 causes link errors when CONFIG_LIBCRC32C is disabled: drivers/built-in.o: In function crc32c' core.c:(.text+0x1c6060): undefined reference to `crc32c' This adds an explicit 'select' statement like all other users of this function do. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 5cb2fbd6ea0d ("raid5-cache: use crc32c checksum") Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit aeafbf8486c9e2bd53f5cc3c10c0b7fd7149d69c Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Nov 6 13:33:33 2015 +0000 Btrfs: fix race leading to incorrect item deletion when dropping extents While running a stress test I got the following warning triggered: [191627.672810] ------------[ cut here ]------------ [191627.673949] WARNING: CPU: 8 PID: 8447 at fs/btrfs/file.c:779 __btrfs_drop_extents+0x391/0xa50 [btrfs]() (...) [191627.701485] Call Trace: [191627.702037] [<ffffffff8145f077>] dump_stack+0x4f/0x7b [191627.702992] [<ffffffff81095de5>] ? console_unlock+0x356/0x3a2 [191627.704091] [<ffffffff8104b3b0>] warn_slowpath_common+0xa1/0xbb [191627.705380] [<ffffffffa0664499>] ? __btrfs_drop_extents+0x391/0xa50 [btrfs] [191627.706637] [<ffffffff8104b46d>] warn_slowpath_null+0x1a/0x1c [191627.707789] [<ffffffffa0664499>] __btrfs_drop_extents+0x391/0xa50 [btrfs] [191627.709155] [<ffffffff8115663c>] ? cache_alloc_debugcheck_after.isra.32+0x171/0x1d0 [191627.712444] [<ffffffff81155007>] ? kmemleak_alloc_recursive.constprop.40+0x16/0x18 [191627.714162] [<ffffffffa06570c9>] insert_reserved_file_extent.constprop.40+0x83/0x24e [btrfs] [191627.715887] [<ffffffffa065422b>] ? start_transaction+0x3bb/0x610 [btrfs] [191627.717287] [<ffffffffa065b604>] btrfs_finish_ordered_io+0x273/0x4e2 [btrfs] [191627.728865] [<ffffffffa065b888>] finish_ordered_fn+0x15/0x17 [btrfs] [191627.730045] [<ffffffffa067d688>] normal_work_helper+0x14c/0x32c [btrfs] [191627.731256] [<ffffffffa067d96a>] btrfs_endio_write_helper+0x12/0x14 [btrfs] [191627.732661] [<ffffffff81061119>] process_one_work+0x24c/0x4ae [191627.733822] [<ffffffff810615b0>] worker_thread+0x206/0x2c2 [191627.734857] [<ffffffff810613aa>] ? process_scheduled_works+0x2f/0x2f [191627.736052] [<ffffffff810613aa>] ? process_scheduled_works+0x2f/0x2f [191627.737349] [<ffffffff810669a6>] kthread+0xef/0xf7 [191627.738267] [<ffffffff810f3b3a>] ? time_hardirqs_on+0x15/0x28 [191627.739330] [<ffffffff810668b7>] ? __kthread_parkme+0xad/0xad [191627.741976] [<ffffffff81465592>] ret_from_fork+0x42/0x70 [191627.743080] [<ffffffff810668b7>] ? __kthread_parkme+0xad/0xad [191627.744206] ---[ end trace bbfddacb7aaada8d ]--- $ cat -n fs/btrfs/file.c 691 int __btrfs_drop_extents(struct btrfs_trans_handle *trans, (...) 758 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); 759 if (key.objectid > ino || 760 key.type > BTRFS_EXTENT_DATA_KEY || key.offset >= end) 761 break; 762 763 fi = btrfs_item_ptr(leaf, path->slots[0], 764 struct btrfs_file_extent_item); 765 extent_type = btrfs_file_extent_type(leaf, fi); 766 767 if (extent_type == BTRFS_FILE_EXTENT_REG || 768 extent_type == BTRFS_FILE_EXTENT_PREALLOC) { (...) 774 } else if (extent_type == BTRFS_FILE_EXTENT_INLINE) { (...) 778 } else { 779 WARN_ON(1); 780 extent_end = search_start; 781 } (...) This happened because the item we were processing did not match a file extent item (its key type != BTRFS_EXTENT_DATA_KEY), and even on this case we cast the item to a struct btrfs_file_extent_item pointer and then find a type field value that does not match any of the expected values (BTRFS_FILE_EXTENT_[REG|PREALLOC|INLINE]). This scenario happens due to a tiny time window where a race can happen as exemplified below. For example, consider the following scenario where we're using the NO_HOLES feature and we have the following two neighbour leafs: Leaf X (has N items) Leaf Y [ ... (257 INODE_ITEM 0) (257 INODE_REF 256) ] [ (257 EXTENT_DATA 8192), ... ] slot N - 2 slot N - 1 slot 0 Our inode 257 has an implicit hole in the range [0, 8K[ (implicit rather than explicit because NO_HOLES is enabled). Now if our inode has an ordered extent for the range [4K, 8K[ that is finishing, the following can happen: CPU 1 CPU 2 btrfs_finish_ordered_io() insert_reserved_file_extent() __btrfs_drop_extents() Searches for the key (257 EXTENT_DATA 4096) through btrfs_lookup_file_extent() Key not found and we get a path where path->nodes[0] == leaf X and path->slots[0] == N Because path->slots[0] is >= btrfs_header_nritems(leaf X), we call btrfs_next_leaf() btrfs_next_leaf() releases the path inserts key (257 INODE_REF 4096) at the end of leaf X, leaf X now has N + 1 keys, and the new key is at slot N btrfs_next_leaf() searches for key (257 INODE_REF 256), with path->keep_locks set to 1, because it was the last key it saw in leaf X finds it in leaf X again and notices it's no longer the last key of the leaf, so it returns 0 with path->nodes[0] == leaf X and path->slots[0] == N (which is now < btrfs_header_nritems(leaf X)), pointing to the new key (257 INODE_REF 4096) __btrfs_drop_extents() casts the item at path->nodes[0], slot path->slots[0], to a struct btrfs_file_extent_item - it does not skip keys for the target inode with a type less than BTRFS_EXTENT_DATA_KEY (BTRFS_INODE_REF_KEY < BTRFS_EXTENT_DATA_KEY) sees a bogus value for the type field triggering the WARN_ON in the trace shown above, and sets extent_end = search_start (4096) does the if-then-else logic to fixup 0 length extent items created by a past bug from hole punching: if (extent_end == key.offset && extent_end >= search_start) goto delete_extent_item; that evaluates to true and it ends up deleting the key pointed to by path->slots[0], (257 INODE_REF 4096), from leaf X The same could happen for example for a xattr that ends up having a key with an offset value that matches search_start (very unlikely but not impossible). So fix this by ensuring that keys smaller than BTRFS_EXTENT_DATA_KEY are skipped, never casted to struct btrfs_file_extent_item and never deleted by accident. Also protect against the unexpected case of getting a key for a lower inode number by skipping that key and issuing a warning. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit fdcb4b2e78220bde95ce4ba3213088e3a1f1cec6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 7 09:59:34 2015 +0200 NTB: fix 32-bit compiler warning resource_size_t may be 32-bit wide on some architectures, which causes this warning when building the NTB code: drivers/ntb/ntb_transport.c: In function 'ntb_transport_link_work': drivers/ntb/ntb_transport.c:828:46: warning: right shift count >= width of type [-Wshift-count-overflow] The warning is harmless but can be avoided by using the upper_32_bits() macro. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: e26a5843f7f5 ("NTB: Split ntb_hw_intel and ntb_transport drivers") Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 8b782fab4da771c97a198f6cb496d124dace36fd Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Sep 24 13:03:05 2015 -0700 NTB: unify translation addresses There is no need for the upstream and downstream addresses to be different for the NTB configs. Go to using a single set of address. It is still possible to configure them differently using module parameter override however. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked and Tested-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit c92ba3c5d97de59c016d1a23ebab17293a792621 Author: Jon Mason <jdmason@xxxxxxxx> Date: Sun Oct 4 22:54:22 2015 -0400 NTB: invalid buf pointer in multi-MW setups Order of operations issue with the QP Num and MW count, which would result in the receive buffer pointer being invalid if there are more than 1 MW. Corrected with parenthesis to enforce the proper order of operations. Reported-by: John I. Kading <John.Kading@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 70d4687d60184915b6f40920041caa1df4f4d033 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 13:39:42 2015 +0530 NTB: remove unused variable These variables were not used anywhere. So remove them. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit d4adee09fd1cf65189cb8901eb7506aea3e869ac Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 13:39:41 2015 +0530 NTB: fix access of free-ed pointer We were accessing nt->mw_vec after freeing it. Fix the error path so that we free nt->mw_vec after we have finished using it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 04afde45e096201f8fd74c1db848a5d85d1aa57d Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Sep 17 13:27:04 2015 -0700 NTB: Fix issue where we may be accessing NULL ptr smatch detected an issue in the function ntb_transport_max_size() where we could be dereferencing a dma channel pointer when it is NULL. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit d0cf62fb63f760e98244d31396b3b58f3a1e326b Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 6 23:36:01 2015 +0100 parisc: Fixes and cleanups in kernel uapi header files This patch fixes some bugs and partly cleans up the parisc uapi header files to what glibc defined: - compat_semid64_ds was wrong and did not take the endianess into account - ipc64_perm exported userspace types which broke building userspace packages on debian (e.g. trinity) - ipc64_perm needs to use a 32bit mode_t on 64bit kernel - msqid64_ds and semid64_ds needs unsigned longs for various struct members - shmid64_ds exported size_t instead of __kernel_size_t And finally add some compile-time checks for the sizes of those structs to avoid future breakage. Runtime-tested with the Linux Test Project (LTP) testsuite. Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+ Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 338f169a456a42905b81ac90fc9d7c00ca4dbde4 Author: Helge Deller <deller@xxxxxx> Date: Wed Oct 28 21:40:18 2015 +0100 parisc: Drop hpux_stat64 struct from stat.h header file The struct hpux_stat64 is not needed any longer since we dropped HP-UX support in commit 04c1614 ("parisc: hpux - Drop support for HP-UX binaries"). Signed-off-by: Helge Deller <deller@xxxxxx> commit 8546d2e5b15e454d2d492a1e9625732980e8eb26 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Mon Oct 19 13:13:52 2015 +0530 iio: adc: vf610_adc: Fix division by zero error In case the fsl,adck-max-frequency property is not present in the device tree, a division by zero error results during the probe call on kernel boot (see below). This patch fixes it and also restores device tree compatibility in case kernels are booting with old device trees without this property specified. [ 1.063229] Division by zero in kernel. [ 1.067152] CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-rc5-00212-gcc88cef #37 [ 1.074650] Hardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree) [ 1.081135] Backtrace: [ 1.083694] [<800134a4>] (dump_backtrace) from [<8001369c>] (show_stack+0x18/0x1c) [ 1.091340] r7:00000008 r6:8e0ae210 r5:00000000 r4:8e299800 [ 1.097146] [<80013684>] (show_stack) from [<80297b1c>] (dump_stack+0x24/0x28) [ 1.104483] [<80297af8>] (dump_stack) from [<80013608>] (__div0+0x1c/0x20) [ 1.111421] [<800135ec>] (__div0) from [<802968b4>] (Ldiv0+0x8/0x10) [ 1.117865] [<80424350>] (vf610_adc_probe) from [<803153b4>] (platform_drv_probe+0x4c/0xac) [ 1.126311] r10:00000000 r9:8076a5ec r8:00000000 r7:fffffdfb r6:807cc67c r5:8e0ae210 [ 1.134319] r4:807f6c54 [ 1.136915] [<80315368>] (platform_drv_probe) from [<803138bc>] (driver_probe_device+0x20c/0x2f8) [ 1.145882] r7:807cc67c r6:00000000 r5:8e0ae210 r4:807f6c54 [ 1.151657] [<803136b0>] (driver_probe_device) from [<80313a3c>] (__driver_attach+0x94/0x98) [ 1.160190] r9:8076a5ec r8:00000098 r7:00000000 r6:8e0ae244 r5:807cc67c r4:8e0ae210 [ 1.168112] [<803139a8>] (__driver_attach) from [<80311cb8>] (bus_for_each_dev+0x70/0xa4) [ 1.176383] r7:00000000 r6:803139a8 r5:807cc67c r4:00000000 [ 1.182159] [<80311c48>] (bus_for_each_dev) from [<80313318>] (driver_attach+0x24/0x28) [ 1.190260] r6:807bb568 r5:8e2a5b00 r4:807cc67c [ 1.194996] [<803132f4>] (driver_attach) from [<80312f50>] (bus_add_driver+0x1a4/0x21c) [ 1.203113] [<80312dac>] (bus_add_driver) from [<803142a8>] (driver_register+0x80/0x100) [ 1.211275] r7:8e2a7dc0 r6:807a8160 r5:80789e14 r4:807cc67c [ 1.217075] [<80314228>] (driver_register) from [<803152f8>] (__platform_driver_register+0x5c/0x64) [ 1.226216] r5:80789e14 r4:807a8160 [ 1.229877] [<8031529c>] (__platform_driver_register) from [<80789e30>] (vf610_adc_driver_init+0x1c/0x20) [ 1.239556] [<80789e14>] (vf610_adc_driver_init) from [<800095f8>] (do_one_initcall+0x94/0x1dc) [ 1.248365] [<80009564>] (do_one_initcall) from [<8076ae34>] (kernel_init_freeable+0x13c/0x1e0) [ 1.257155] r10:80794830 r9:8076a5ec r8:00000098 r7:807d5780 r6:807d5780 r5:00000006 [ 1.265153] r4:807a0ee8 [ 1.267753] [<8076acf8>] (kernel_init_freeable) from [<80590ef0>] (kernel_init+0x18/0xf0) [ 1.276021] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:80590ed8 [ 1.284015] r4:807d5780 [ 1.286615] [<80590ed8>] (kernel_init) from [<8000f878>] (ret_from_fork+0x14/0x3c) [ 1.294278] r5:80590ed8 r4:00000000 Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3bc27cdfe989906fb025204c68a6f85b07b3a192 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 16 13:31:27 2015 +0200 h8300: Don't set CROSS_COMPILE unconditionally The h8300 architecture Makefile sets the CROSS_COMPILE variable to "h8300-unknown-linux-" unconditionally but doing that prevents the variable to be used if a toolchain with a different binary name is installed in the machine. So only set CROSS_COMPILE to that default if the variable has not been set by the user before. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> commit a02613a4ba679eacec8251976d02809d533fa717 Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:56:06 2015 +0900 asm-generic: {get,put}_user ptr argument evaluate only 1 time Current implemantation ptr argument evaluate 2 times. It'll be an unexpected result. Changes v5: Remove unnecessary const. Changes v4: Temporary pointer type change to const void* Changes v3: Some build error fix. Changes v2: Argument x protect. Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit a795239b698d3f7c455b7f8841f5c62d20eefb23 Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 12 17:57:24 2015 +0900 h8300: bit io fix "WU" constraint required memory address. Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit 78f02cac9515127efd7dc45e82bbbdb969b3302a Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 31 23:42:37 2015 +0900 h8300: zImage fix - stack fix - configure base address Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit 780ffcd51cb287174e2d5cfe5ece2a7e73db6f37 Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 31 23:34:22 2015 +0900 h8300: register address fix Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit 75078de4ac2901315b77dd813ae2bcb6a5fc1238 Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 31 23:28:17 2015 +0900 h8300: Fix alignment for .data Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit aca2518064556ae5658974d78cb71f4883911d3d Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 31 23:25:35 2015 +0900 h8300: unaligned divcr register support. DIVCR is unaligned long word. So we need adjustment for long word align. Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit 1e3929ef0e1c4c7127b785ce7a236965b3739406 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 23:48:32 2015 +0100 rtc: Add a driver for Micro Crystal RV8803 This driver supports the following functions: - reading and settings time - alarms when connected to an IRQ - reading and clearing the voltage low flags - nvram Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit fb4ac3c14b07a6fd33a399845273661172ed282d Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Sun Nov 1 20:49:04 2015 +0900 rtc: s3c: Set year, month, day value for setting alarm This patch sets year, month, day value for set_alarm function. The current driver omits to set the values. This fixes setting wake alarm for dates different than current day. Without the patch the alarm scheduled for tomorrow would fire today on chosen time. Signed-off-by: Donggeun Kim <dg77.kim@xxxxxxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.kim@xxxxxxxxxxx> Signed-off-by: KyungMin Park <kyungmin.park@xxxxxxxxxxx> [k.kozlowski: Rebase and test the patch, update commit message] Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 62c8c20af92ea312ecb22cec4e83082e5843076b Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Oct 23 09:29:57 2015 +0300 rtc: ds1307: Fix alarm programming for mcp794xx mcp794xx alarm registers must be written in BCD format. However, the alarm programming logic neglected this by adding one to the value after bin2bcd conversion has been already done, writing bad values to month register in case the alarm being set is in October. In this case, the alarm month value becomes 0x0a instead of the expected 0x10. Fix by moving the +1 addition within the bin2bcd call also. Fixes: 1d1945d261a2 ("drivers/rtc/rtc-ds1307.c: add alarm support for mcp7941x chips") Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f4b6722248e4991a65e545d6b19e4497202e8a8a Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Wed Oct 21 11:10:01 2015 +0100 rtc: isl12057: enable support for the standard "wakeup-source" property Though the isl12057 rtc driver should and will continue to support the legacy "isil,irq2-can-wakeup-machine" property to enable RTC as the wakeup source, we need to add support for the new standard property "wakeup-source". This patch adds support for "wakeup-source" property in addition to the existing "isil,irq2-can-wakeup-machine" property. Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 347e40f0302c7e817e64256284b9e69a8b2711d2 Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Wed Oct 21 11:10:00 2015 +0100 rtc: opal: enable support for the stardard "wakeup-source" property Though the opal rtc driver should and will continue to support the legacy "has-tpo" property to enable RTC as the wakeup source, we need to add support for the new standard property "wakeup-source" This patch adds support for "wakeup-source" property in addition to the existing "has-tpo" property. Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7a96f2874c524a0f42b8c8f2ac03da3f02c96194 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sun Oct 18 22:06:22 2015 -0200 rtc: isl1208: Pass the IRQF_ONESHOT flag Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. So pass the IRQF_ONESHOT flag in this case. The semantic patch that makes this change is available in scripts/coccinelle/misc/irqf_oneshot.cocci Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a39a6405d5f949bc651694028a55d74c514ef1f9 Author: Heiko Schocher <hs@xxxxxxx> Date: Fri Oct 16 13:31:29 2015 +0200 rtc: pcf8563: add CLKOUT to common clock framework Add the clkout output clk to the common clock framework. Disable the CLKOUT of the RTC after power-up. After power-up/reset of the RTC, CLKOUT is enabled by default, with CLKOUT enabled the RTC chip has 2-3 times higher power consumption. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit dbb812b141f3bf3dbea75353da799da3d3373d53 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 15:14:05 2015 +0200 rtc: davinci: remove incorrect reference to probe function The davinci rtc driver uses the module_platform_driver_probe() helper to call the probe function and mark it as __init, but it also puts a reference into its davinci_rtc_driver function. This will crash if we ever get a deferred probe and the probe function is called again after the init section has been removed. kbuild warns about this: WARNING: vmlinux.o(.data+0x1aa2b4): Section mismatch in reference from the variable davinci_rtc_driver to the function .init.text:davinci_rtc_probe() The variable davinci_rtc_driver references the function __init davinci_rtc_probe() This patch removes the .probe callback from the platform driver, which avoids those problems. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 921372bf5a7c03a05de25a083b852c6b5d9d97a7 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Oct 12 16:39:23 2015 +0800 rtc: at91rm9200: clear RTC alarm status flag prior to suspending As said in the SAMA5D2 datasheet, "Prior to instructing the device to enter ULP mode 1, ... and the internal sources of wake-up must be cleared." This patch is to clear the RTC alarm status flag prior to suspending to avoid the erroneous wake-up activity, as it is often used as the wake-up source for the ULP mode 1. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3cfcb50b48029d84038208a98d1b85ad0dfa8172 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:17:20 2015 +0200 rtc: pcf2127: remove useless driver version A driver version is only really sensible for oot drivers. Also the dev_info about having found a chip only signals that allocating the driver data succeeded and so isn't worth much. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f97cfddc886bc8f9d4302447f8773239bed854c1 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:17:19 2015 +0200 rtc: pcf2127: fix reading uninitialized value on RTC_READ_VL ioctl The flag reported on the RTC_READ_VL ioctl is only initialized when the date is read out. So the voltage low value doesn't represent reality but the status at the time the date was read (or 0 if the date was not read yet). Moreover when userspace requests a value via an ioctl there is no added benefit to also make a prosa representation of this (and other) values appear in the kernel log so remove the calls to dev_info and the driver data members to track their state. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 24417829936d82b03b156e0d036c3b8f25aa93fd Author: Harald Geyer <harald@xxxxxxxxx> Date: Fri Oct 2 20:18:01 2015 +0000 rtc: stmp3xxx: unify register access macros Use STMP_OFFSET_REG_(SET|CLR) instead of defining _SET and _CLR for STMP3XXX_RTC_CTRL and STMP3XXX_RTC_PERSISTENT0 - no functional changes. Signed-off-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit ce006ca6d3158466f7d4b32736b8d9c70fd11526 Author: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Fri Oct 2 11:21:11 2015 +0100 rtc: da9063: GPL copyright inconsistency fix Fix misleading and inconsistent copyright header wording. Alter the copyright header text and MODULE_LICENSE macro to ensure the GPL v2 licence description is correctly represented. It will remove the incorrectly LGPL worded text. Words such as "Library" from the line "GNU Library General Public License"; and replace the word "library" with "program" in several other places. The copyright should match the GPL v2 description as specified in the GNU license found here: http://www.gnu.org/licenses/gpl-2.0.html It should also match this copyright text with the correct MODULE_LICENSE macro text as found in the kernel: include/linux/module.h In this case "GNU Public License v2 or later" is linked with "GPL". Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 5413eaba5ae093b0704b5458696922f6518adac4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 23:02:46 2015 +0200 rtc: pcf85063: return an error when date is invalid Return an error when the date is invalid as the policy should be implemented there. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit b1f9d790b59dc04f8813a49a92ddd8651770ffee Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 26 16:25:28 2015 +0200 rtc: rx8025: remove unnecessary braces braces {} are not necessary for single statement blocks Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit caff0cc419d764287675e55bb46405c6e1fe43ee Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Mon Sep 21 16:47:02 2015 +0100 rtc: ds1343: remove misuse of IRQF_NO_SUSPEND flag The IRQF_NO_SUSPEND flag is used to identify the interrupts that should be left enabled so as to allow them to work as expected during the suspend-resume cycle, but doesn't guarantee that it will wake the system from a suspended state, enable_irq_wake is recommended to be used for the wakeup. This patch removes the use of IRQF_NO_SUSPEND flags and uses newly introduce PM wakeup APIs dev_pm_{set,clear}_wake_irq. Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 93a6f9168f2fbeb5bb000ba079e17a11bedc1a62 Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Mon Sep 21 16:46:58 2015 +0100 rtc: ab8500: remove misuse of IRQF_NO_SUSPEND flag The IRQF_NO_SUSPEND flag is used to identify the interrupts that should be left enabled so as to allow them to work as expected during the suspend-resume cycle, but doesn't guarantee that it will wake the system from a suspended state, enable_irq_wake is recommended to be used for the wakeup. This patch removes the use of IRQF_NO_SUSPEND flags and uses newly introduce PM wakeup APIs dev_pm_{set,clear}_wake_irq. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit eff6dd41c2240f49e562b89d50ed3e86485cc4ad Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Mon Sep 21 16:46:57 2015 +0100 rtc: pl031: remove misuse of IRQF_NO_SUSPEND flag The IRQF_NO_SUSPEND flag is used to identify the interrupts that should be left enabled so as to allow them to work as expected during the suspend-resume cycle, but doesn't guarantee that it will wake the system from a suspended state, enable_irq_wake is recommended to be used for the wakeup. This patch removes the use of IRQF_NO_SUSPEND flags and uses newly introduce PM wakeup APIs dev_pm_{set,clear}_wake_irq. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c35300941656508d37315625d276c5a104823505 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:56 2015 +0200 rtc: opal: fix type of token The variable can take signed values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit fa395fb8fc3206cdd70b046e0b98168576cc71ef Author: Ivan Grimaldi <grimaldi.ivan@xxxxxxxxx> Date: Fri Sep 18 17:27:57 2015 +0200 rtc: ds1390: Add trickle charger device tree binding Introduce a device tree binding for specifying the trickle charger configuration for ds1390. Signed-off-by: Ivan Grimaldi <grimaldi.ivan@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2ec68825fc55d1ddeb04ab861f3bfdbaa8e9f3c4 Author: Ivan Grimaldi <grimaldi.ivan@xxxxxxxxx> Date: Fri Sep 18 17:27:56 2015 +0200 rtc: ds1390: fix ds1390_get_reg return value spi_write_then_read puts in rx_buf the received data starting from the first byte of the rx_buf Signed-off-by: Ivan Grimaldi <grimaldi.ivan@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 94d505e9746a53af79094904ff0aa0cf0952ed58 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Nov 8 14:46:34 2015 +0900 ALSA: oxfw: add an comment to Kconfig for TASCAM FireOne A commit to add support for this model should have added a comment about this model to Kconfig. Fixes: 759a2f40c9fa('ALSA: oxfw: add an entry for TASCAM FireOne') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bad9bc2d466445b0398b78a452b7706a05ebc182 Merge: 66ef349 345c99a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Nov 8 08:22:37 2015 +0100 Merge tag 'perf-core-for-mingo-2' 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: Fixes: - libbpf error reporting improvements, using a strerror interface to more precisely tell the user about problems with the provided scriptlet, be it in C or as a ready made object file (Wang Nan) - Do not be case sensitive when searching for matching 'perf test' entries (Arnaldo Carvalho de Melo) - Inform the user about objdump failures in 'perf annotate' (Andi Kleen) Infrastructure changes: - Improve the LLVM 'perf test' entry, introduce a new ones for BPF and kbuild tests to check the environment used by clang to compile .c scriptlets (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ce5c2d2c256a4c8b523036537cd6be2d6af8f69d Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 16:06:59 2015 -0800 arm64: fixup for mm renames __GFP_WAIT was renamed for __GFP_RECLAIM and the gfpflags_allow_blocking() helper was added. Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad804a0b2a769a0eed29015c53fe395449c09d13 Merge: ab9f2fa 5f2a2d5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 14:32:45 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge second patch-bomb from Andrew Morton: - most of the rest of MM - procfs - lib/ updates - printk updates - bitops infrastructure tweaks - checkpatch updates - nilfs2 update - signals - various other misc bits: coredump, seqfile, kexec, pidns, zlib, ipc, dma-debug, dma-mapping, ... * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (102 commits) ipc,msg: drop dst nil validation in copy_msg include/linux/zutil.h: fix usage example of zlib_adler32() panic: release stale console lock to always get the logbuf printed out dma-debug: check nents in dma_sync_sg* dma-mapping: tidy up dma_parms default handling pidns: fix set/getpriority and ioprio_set/get in PRIO_USER mode kexec: use file name as the output message prefix fs, seqfile: always allow oom killer seq_file: reuse string_escape_str() fs/seq_file: use seq_* helpers in seq_hex_dump() coredump: change zap_threads() and zap_process() to use for_each_thread() coredump: ensure all coredumping tasks have SIGNAL_GROUP_COREDUMP signal: remove jffs2_garbage_collect_thread()->allow_signal(SIGCONT) signal: introduce kernel_signal_stop() to fix jffs2_garbage_collect_thread() signal: turn dequeue_signal_lock() into kernel_dequeue_signal() signals: kill block_all_signals() and unblock_all_signals() nilfs2: fix gcc uninitialized-variable warnings in powerpc build nilfs2: fix gcc unused-but-set-variable warnings MAINTAINERS: nilfs2: add header file for tracing nilfs2: add tracepoints for analyzing reading and writing metadata files ... commit ab9f2faf8f40604551336e5b0a18e0910a57b92c Merge: 75021d2 db7489e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 13:33:07 2015 -0800 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma Pull rdma updates from Doug Ledford: "This is my initial round of 4.4 merge window patches. There are a few other things I wish to get in for 4.4 that aren't in this pull, as this represents what has gone through merge/build/run testing and not what is the last few items for which testing is not yet complete. - "Checksum offload support in user space" enablement - Misc cxgb4 fixes, add T6 support - Misc usnic fixes - 32 bit build warning fixes - Misc ocrdma fixes - Multicast loopback prevention extension - Extend the GID cache to store and return attributes of GIDs - Misc iSER updates - iSER clustering update - Network NameSpace support for rdma CM - Work Request cleanup series - New Memory Registration API" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (76 commits) IB/core, cma: Make __attribute_const__ declarations sparse-friendly IB/core: Remove old fast registration API IB/ipath: Remove fast registration from the code IB/hfi1: Remove fast registration from the code RDMA/nes: Remove old FRWR API IB/qib: Remove old FRWR API iw_cxgb4: Remove old FRWR API RDMA/cxgb3: Remove old FRWR API RDMA/ocrdma: Remove old FRWR API IB/mlx4: Remove old FRWR API support IB/mlx5: Remove old FRWR API support IB/srp: Dont allocate a page vector when using fast_reg IB/srp: Remove srp_finish_mapping IB/srp: Convert to new registration API IB/srp: Split srp_map_sg RDS/IW: Convert to new memory registration API svcrdma: Port to new memory registration API xprtrdma: Port to new memory registration API iser-target: Port to new memory registration API IB/iser: Port to new fast registration API ... commit 75021d28594d9b6fb4d05bbc41f77948a0db0e02 Merge: 6f1da31 8d090f4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 13:05:44 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial updates from Jiri Kosina: "Trivial stuff from trivial tree that can be trivially summed up as: - treewide drop of spurious unlikely() before IS_ERR() from Viresh Kumar - cosmetic fixes (that don't really affect basic functionality of the driver) for pktcdvd and bcache, from Julia Lawall and Petr Mladek - various comment / printk fixes and updates all over the place" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: bcache: Really show state of work pending bit hwmon: applesmc: fix comment typos Kconfig: remove comment about scsi_wait_scan module class_find_device: fix reference to argument "match" debugfs: document that debugfs_remove*() accepts NULL and error values net: Drop unlikely before IS_ERR(_OR_NULL) mm: Drop unlikely before IS_ERR(_OR_NULL) fs: Drop unlikely before IS_ERR(_OR_NULL) drivers: net: Drop unlikely before IS_ERR(_OR_NULL) drivers: misc: Drop unlikely before IS_ERR(_OR_NULL) UBI: Update comments to reflect UBI_METAONLY flag pktcdvd: drop null test before destroy functions commit 6f1da317ac1df15f442b5fd37be7740c7cb55057 Merge: 99aaa9c d64e19d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 12:49:27 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID updates from Jiri Kosina: "Highlights: - Intel Skylake Win8 precision touchpads support fixes/improvements from Mika Westerberg - Lenovo Yoga 2 quirk from Ritesh Raj Sarraf - potential uninitialized buffer access fix in HID core from Richard Purdie - Wacom Intuos and Wacom Cintiq 2 support improvements from Jason Gerecke and Ping Cheng - initiation of sysfs deprecation process for most of the roccat drivers, from the roccat support maintiner Stefan Achatz - quite a few device ID / quirk additions and small fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (30 commits) HID: logitech: Add support for G29 HID: logitech: Simplify wheel detection scheme HID: wacom: Call 'wacom_query_tablet_data' only after 'hid_hw_start' HID: wacom: Fix ABS_MISC reporting for Cintiq Companion 2 HID: wacom: Remove useless conditions from 'wacom_query_tablet_data' HID: wacom: fix Intuos wireless report id issue HID: fix some indenting issues HID: wacom: Expect 'touch_max' touches if HID_DG_CONTACTCOUNT not present HID: wacom: Tie cached HID_DG_CONTACTCOUNT indices to report ID HID: roccat: Fixed resubmit: Deprecating most Roccat sysfs attributes HID: wacom: Report full pressure range for Intuos, Cintiq 13HD Touch HID: wacom: Add support for Cintiq Companion 2 HID: multitouch: Fetch feature reports on demand for Win8 devices HID: sensor-hub: Add quirk for Lenovo Yoga 2 with ITE Chips HID: usbhid: Fix for the WiiU adapter from Mayflash HID: corsair: boolify struct k90_led.removed HID: corsair: Add Corsair Vengeance K90 driver HID: hid-input: allow input_configured callback return errors HID: multitouch: Add suffix for HID_DG_TOUCHPAD HID: i2c-hid: Fill in physical device providing HID functionality ... commit 99aaa9c64be5fe728975109c96ef297f5650883d Merge: 27eb427b e2391a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 12:15:17 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching Pull livepatching fix from Jiri Kosina: "A fix for a kernel oops in case CONFIG_DEBUG_SET_MODULE_RONX is unset (as in such case it's possible for module struct to share a page with executable text, which is currently not being handled with grace) from Josh Poimboeuf" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching: livepatch: Fix crash with !CONFIG_DEBUG_SET_MODULE_RONX commit 03e88ae6b369da2a26a6e09ad165e57d210789cd Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Fri Nov 6 22:07:26 2015 +0300 tracing: Remove unused ftrace_cpu_disabled per cpu variable Since the ring buffer is lockless, there is no need to disable ftrace on CPU. And no one doing so: after commit 68179686ac67cb ("tracing: Remove ftrace_disable/enable_cpu()") ftrace_cpu_disabled stays the same after initialization, nothing changes it. ftrace_cpu_disabled shouldn't be used by any external module since it disables only function and graph_function tracers but not any other tracer. Link: http://lkml.kernel.org/r/1446836846-22239-1-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3694bfbdb3bd5cf6632140c7f7fdf6f31d43ee66 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 16:30:34 2015 +0100 dwc_eth_qos: Delete an unnecessary check before the function call "of_node_put" The of_node_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: David S. Miller <davem@xxxxxxxxxxxxx> commit 40baec225765c54eefa870530dd613bad9829bb7 Author: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> Date: Fri Nov 6 17:23:23 2015 -0800 bonding: fix panic on non-ARPHRD_ETHER enslave failure Since commit 7d5cd2ce529b, when bond_enslave fails on devices that are not ARPHRD_ETHER, if needed, it resets the bonding device back to ARPHRD_ETHER by calling ether_setup. Unfortunately, ether_setup clobbers dev->flags, clearing IFF_UP if the bond device is up, leaving it in a quasi-down state without having actually gone through dev_close. For bonding, if any periodic work queue items are active (miimon, arp_interval, etc), those will remain running, as they are stopped by bond_close. At this point, if the bonding module is unloaded or the bond is deleted, the system will panic when the work function is called. This panic is resolved by calling dev_close on the bond itself prior to calling ether_setup. Cc: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> Fixes: 7d5cd2ce5292 ("bonding: correctly handle bonding type change on enslave failure") Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e824de8ae2a00ee71c5bfbadd004d12c6dd85561 Author: Jarod Wilson <jarod@xxxxxxxxxx> Date: Fri Nov 6 09:25:31 2015 -0500 net/qlcnic: fix mac address restore in bond mode 5/6 The bonding driver saves a copy of slaves' original mac address and then assigns whatever mac as needed to the slave, depending on mode. In at least modes 5 and 6 (balance-tlb, balance-alb), it often ends up being the mac address of another slave. On release from the bond, the original mac address is supposed to get restored via a dev_set_mac_address() call in the bonding driver's __bond_release_one() function, which calls the slave's ndo_set_mac_address function, which for qlcnic, is qlcnic_set_mac(). Now, this function tries to be somewhat intelligent and exit early if you're trying to set the mac address to the same thing that is already set. The problem here is that adapter->mac_addr isn't in sync with netdev->dev_addr. The qlcnic driver still has the original mac stored in adapter->mac_addr, while the bonding driver has updated netdev->dev_addr, so qlcnic thinks we're trying to set the same address it already has. I think the way to go here, since the function updates both netdev and adapter's stored mac addresses, is to check if either of them doesn't match the newly requested mac. Simply checking netdev's value only could result in a similar mismatch and non-update, so look at both. CC: Dept-GELinuxNICDev@xxxxxxxxxx CC: netdev@xxxxxxxxxxxxxxx CC: Manish Chopra <manish.chopra@xxxxxxxxxx> Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7b5964d4d0bddf429c44b457172891be000a3d3 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 09:30:29 2015 +0100 fjes: Delete an unnecessary check before the function call "vfree" The vfree() function performs also input parameter validation. 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: David S. Miller <davem@xxxxxxxxxxxxx> commit 15c4f638f3d41bae52105ca4c0c8760afbcbeaab Author: Jens Axboe <axboe@xxxxxx> Date: Tue Oct 27 14:09:51 2015 +0900 directio: add block polling support This adds support for sync O_DIRECT read/write poll support. Signed-off-by: Jens Axboe <axboe@xxxxxx> [hch: split from a larger patch, minor updates] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit a0fa9647a54e81883abd57c5c865d1747f68a577 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Nov 3 20:37:26 2015 -0700 NVMe: add blk polling support Add nvme_poll(), which will check a specific completion queue for command completions. Wire that up to the new block layer poll mechanism. Signed-off-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit 05229beeddf7e75e2e616ddaad4b70e7fca9528d Author: Jens Axboe <axboe@xxxxxx> Date: Thu Nov 5 10:44:55 2015 -0700 block: add block polling support Add basic support for polling for specific IO to complete. This uses the cookie that blk-mq passes back, which enables the block layer to pass this cookie to the driver to spin for a specific request. This will be combined with request latency tracking, so we can make qualified decisions about when to poll and when not to. For now, for benchmark purposes, we add a sysfs file that controls whether polling is enabled or not. Signed-off-by: Jens Axboe <axboe@xxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit 7b371636fb6d187873d9d2730c2b1febc48a9b47 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Nov 5 10:41:40 2015 -0700 blk-mq: return tag/queue combo in the make_request_fn handlers Return a cookie, blk_qc_t, from the blk-mq make request functions, that allows a later caller to uniquely identify a specific IO. The cookie doesn't mean anything to the caller, but the caller can use it to later pass back to the block layer. The block layer can then identify the hardware queue and request from that cookie. Signed-off-by: Jens Axboe <axboe@xxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit dece16353ef47d8d33f5302bc158072a9d65e26f Author: Jens Axboe <axboe@xxxxxx> Date: Thu Nov 5 10:41:16 2015 -0700 block: change ->make_request_fn() and users to return a queue cookie No functional changes in this patch, but it prepares us for returning a more useful cookie related to the IO that was queued up. Signed-off-by: Jens Axboe <axboe@xxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit 8c1c5f263833ec2dc8fd716cf4281265c485d7ad Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Sat Nov 7 12:46:11 2015 +0800 ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs To make ubifs support atime flexily, this commit introduces a Kconfig option named as UBIFS_ATIME_SUPPORT. With UBIFS_ATIME_SUPPORT=n: ubifs keeps the full compatibility to no_atime from the start of ubifs. =================UBIFS_ATIME_SUPPORT=n======================= -o - no atime -o atime - no atime -o noatime - no atime -o relatime - no atime -o strictatime - no atime -o lazyatime - no atime With UBIFS_ATIME_SUPPORT=y: ubifs supports the atime same with other main stream file systems. =================UBIFS_ATIME_SUPPORT=y======================= -o - default behavior (relatime currently) -o atime - atime support -o noatime - no atime support -o relatime - relative atime support -o strictatime - strict atime support -o lazyatime - lazy atime support Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ab92a20bce3b4c21927cc1ae514c482f50ad3487 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Tue Aug 18 12:38:36 2015 +0800 ubifs: make ubifs_[get|set]xattr atomic This commit make the ubifs_[get|set]xattr protected by ui_mutex. Originally, there is a possibility that ubifs_getxattr to get a wrong value. P1 P2 ---------- ---------- ubifs_getxattr ubifs_setxattr - kfree() - memcpy() - kmemdup() Then ubifs_getxattr() would get a non-sense data. To solve this problem, this commit make the xattr of ubifs_inode updated in atomic. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 0aae24eb409fc429f54ca3809f904f1b91e295e0 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Sat Nov 7 11:24:51 2015 +0100 netfilter: ipset: Fix hash type expire: release empty hash bucket block When all entries are expired/all slots are empty, release the bucket. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit e9dfdc052d018268926ab769d5b7598226713d5a Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Sat Nov 7 11:23:34 2015 +0100 netfilter: ipset: Fix hash:* type expiration Incorrect index was used when the data blob was shrinked at expiration, which could lead to falsely expired entries and memory leak when the comment extension was used too. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 95ad1f4a9358dff1dcf84bf5c9cc84caa9215f7f Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Sat Nov 7 11:21:47 2015 +0100 netfilter: ipset: Fix extension alignment The data extensions in ipset lacked the proper memory alignment and thus could lead to kernel crash on several architectures. Therefore the structures have been reorganized and alignment attributes added where needed. The patch was tested on armv7h by Gerhard Wiesinger and on x86_64, sparc64 by Jozsef Kadlecsik. Reported-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx> Tested-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx> Tested-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit cb68429d155507ec46f1922d2beb7bc637de4836 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Nov 7 01:56:05 2015 +0300 sound: fix check for error condition of register_chrdev() init_oss_soundcore() compares returned value of register_chrdev() with -1, while other error codes can be returned. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 04633df0c43d710e5f696b06539c100898678235 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Nov 5 16:57:56 2015 +0100 x86/cpu: Call verify_cpu() after having entered long mode too When we get loaded by a 64-bit bootloader, kernel entry point is startup_64 in head_64.S. We don't trust any and all bootloaders because some will fiddle with CPU configuration so we go ahead and massage each CPU into sanity again. For example, some dell BIOSes have this XD disable feature which set IA32_MISC_ENABLE[34] and disable NX. This might be some dumb workaround for other OSes but Linux sure doesn't need it. A similar thing is present in the Surface 3 firmware - see https://bugzilla.kernel.org/show_bug.cgi?id=106051 - which sets this bit only on the BSP: # rdmsr -a 0x1a0 400850089 850089 850089 850089 I know, right?! There's not even an off switch in there. So fix all those cases by sanitizing the 64-bit entry point too. For that, make verify_cpu() callable in 64-bit mode also. Requested-and-debugged-by: "H. Peter Anvin" <hpa@xxxxxxxxx> Reported-and-tested-by: Bastien Nocera <bugzilla@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1446739076-21303-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 68accac392d859d24adcf1be3a90e41f978bd54c Author: Krzysztof Mazur <krzysiek@xxxxxxxxxxxx> Date: Fri Nov 6 14:18:36 2015 +0100 x86/setup: Fix low identity map for >= 2GB kernel range The commit f5f3497cad8c extended the low identity mapping. However, if the kernel uses more than 2 GB (VMSPLIT_2G_OPT or VMSPLIT_1G memory split), the normal memory mapping is overwritten by the low identity mapping causing a crash. To avoid overwritting, limit the low identity map to cover only memory before kernel range (PAGE_OFFSET). Fixes: f5f3497cad8c "x86/setup: Extend low identity map to cover whole kernel range Signed-off-by: Krzysztof Mazur <krzysiek@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1446815916-22105-1-git-send-email-krzysiek@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f4e342c87776884f0309942a3880ca7e835239f9 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Thu Nov 5 13:56:35 2015 -0500 x86/mm: Skip the hypervisor range when walking PGD The range between 0xffff800000000000 and 0xffff87ffffffffff is reserved for hypervisor and therefore we should not try to follow PGD's indexes corresponding to those addresses. While this has always been a problem, with the new W+X warning mechanism ptdump_walk_pgd_level_core() can now be called during boot, causing a PV Xen guest to crash. [ tglx: Replaced the macro with a readable inline ] Fixes: e1a58320a38d "x86/mm: Warn on W^X mappings" Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: xen-devel@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1446749795-27764-1-git-send-email-boris.ostrovsky@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3849e91f571dcb48cf2c8143480c59137d44d6bc Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Wed Nov 4 12:49:42 2015 +0100 x86/AMD: Fix last level cache topology for AMD Fam17h systems On AMD Fam17h systems, the last level cache is not resident in the northbridge. Therefore, we cannot assign cpu_llc_id to the same value as Node ID as we have been doing until now. We should rather look at the ApicID bits of the core to provide us the last level cache ID info. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jacob Shin <jacob.w.shin@xxxxxxxxx> Link: http://lkml.kernel.org/r/1446582899-9378-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8c058b0b9c34d8c8d7912880956543769323e2d8 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Tue Nov 3 10:40:14 2015 +0100 x86/irq: Probe for PIC presence before allocating descs for legacy IRQs Commit d32932d02e18 ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces") brought a regression for Hyper-V Gen2 instances. These instances don't have i8259 legacy PIC but they use legacy IRQs for serial port, rtc, and acpi. With this commit included we end up with these IRQs not initialized. Earlier, there was a special workaround for legacy IRQs in mp_map_pin_to_irq() doing mp_irqdomain_map() without looking at nr_legacy_irqs() and now we fail in __irq_domain_alloc_irqs() when irq_domain_alloc_descs() returns -EEXIST. The essence of the issue seems to be that early_irq_init() calls arch_probe_nr_irqs() to figure out the number of legacy IRQs before we probe for i8259 and gets 16. Later when init_8259A() is called we switch to NULL legacy PIC and nr_legacy_irqs() starts to return 0 but we already have 16 descs allocated. Solve the issue by separating i8259 probe from init and calling it in arch_probe_nr_irqs() before we actually use nr_legacy_irqs() information. Fixes: d32932d02e18 ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces") Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1446543614-3621-1-git-send-email-vkuznets@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 354dbaa7ff5b53a0ed1c0f7a9773d5953b3a1bb9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 8 18:56:26 2015 +0300 x86/cpu/intel: Enable X86_FEATURE_NONSTOP_TSC_S3 for Merrifield The Intel Merrifield SoC is a successor of the Intel MID line of SoCs. Let's set the neccessary capability for that chip. See commit c54fdbb2823d (x86: Add cpu capability flag X86_FEATURE_NONSTOP_TSC_S3) for the details. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444319786-36125-1-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 816d2206f0f9953ca854e4ff1a2749a5cbd62715 Merge: d0baf92 1b0e3a0 Author: Dave Airlie <airlied@xxxxxxxxx> Date: Sat Nov 7 17:16:59 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-11-06' of git://anongit.freedesktop.org/drm-intel into drm-next Here's a handful of i915 fixes for drm-next/v4.4. Imre's commit alone should address the remaining warnings galore you experienced on Skylake. Almost all of the rest are also fixes against user or QA reported bugs, with references. * tag 'drm-intel-next-fixes-2015-11-06' of git://anongit.freedesktop.org/drm-intel: drm/i915/skl: disable display side power well support for now drm/i915: Extend DSL readout fix to BDW and SKL. drm/i915: Do graphics device reset under forcewake drm/i915: Skip fence installation for objects with rotated views (v4) drm/i915: add quirk to enable backlight on Dell Chromebook 11 (2015) drm/i915/skl: Prevent unclaimed register writes on skylake. drm/i915: disable CPU PWM also on LPT/SPT backlight disable drm/i915: Fix maxfifo watermark calc on vlv cursor planes drm/i915: add hotplug activation period to hotplug update mask commit d0baf9218cacd9dd606c75f9961f94172b16de12 Merge: e02328f d2e8851 Author: Dave Airlie <airlied@xxxxxxxxx> Date: Sat Nov 7 17:16:29 2015 +1000 Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next One is fix for a regression in 4.3, One irq locking rework. * 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Relax irq locking somewhat drm/vmwgfx: Properly flush cursor updates and page-flips commit 5f2a2d5d423d5337a1392fa016ec23a8a4206006 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Nov 6 16:33:04 2015 -0800 ipc,msg: drop dst nil validation in copy_msg d0edd8528362 ("ipc: convert invalid scenarios to use WARN_ON") relaxed the nil dst parameter check, originally being a full BUG_ON. However, this check seems quite unnecessary when the only purpose is for ceckpoint/restore (MSG_COPY flag): o The copy variable is set initially to nil, apparently as a way of ensuring that prepare_copy is previously called. Which is in fact done, unconditionally at the beginning of do_msgrcv. o There is no concurrency with 'copy' (stack allocated in do_msgrcv). Furthermore, any errors in 'copy' (and thus prepare_copy/copy_msg) should always handled by IS_ERR() family. Therefore remove this check altogether as it can never occur with the current users. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Stanislav Kinsbursky <skinsbursky@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cb7ae262e230064ba282094b7e1f60a092448b72 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Fri Nov 6 16:33:01 2015 -0800 include/linux/zutil.h: fix usage example of zlib_adler32() alder32 was renamed to zlib_adler32 since before 2.6.11. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08d78658f393fefaa2e6507ea052c6f8ef4002a2 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Nov 6 16:32:58 2015 -0800 panic: release stale console lock to always get the logbuf printed out In some cases we may end up killing the CPU holding the console lock while still having valuable data in logbuf. E.g. I'm observing the following: - A crash is happening on one CPU and console_unlock() is being called on some other. - console_unlock() tries to print out the buffer before releasing the lock and on slow console it takes time. - in the meanwhile crashing CPU does lots of printk()-s with valuable data (which go to the logbuf) and sends IPIs to all other CPUs. - console_unlock() finishes printing previous chunk and enables interrupts before trying to print out the rest, the CPU catches the IPI and never releases console lock. This is not the only possible case: in VT/fb subsystems we have many other console_lock()/console_unlock() users. Non-masked interrupts (or receiving NMI in case of extreme slowness) will have the same result. Getting the whole console buffer printed out on crash should be top priority. [akpm@xxxxxxxxxxxxxxxxxxxx: tweak comment text] Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: HATAYAMA Daisuke <d.hatayama@xxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Cc: Seth Jennings <sjenning@xxxxxxxxxx> Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f8306429c4c75f9e2bf39fcfe990b0af2f7292d Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Fri Nov 6 16:32:55 2015 -0800 dma-debug: check nents in dma_sync_sg* Like dma_unmap_sg, dma_sync_sg* should be called with the original number of entries passed to dma_map_sg, so do the same check in the sync path as we do in the unmap path. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 002edb6f6f2a79bea50de11260ddc9572e6db731 Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Fri Nov 6 16:32:51 2015 -0800 dma-mapping: tidy up dma_parms default handling Many DMA controllers and other devices set max_segment_size to indicate their scatter-gather capability, but have no interest in segment_boundary_mask. However, the existence of a dma_parms structure precludes the use of any default value, leaving them as zeros (assuming a properly kzalloc'ed structure). If a well-behaved IOMMU (or SWIOTLB) then tries to respect this by ensuring a mapped segment does not cross a zero-byte boundary, hilarity ensues. Since zero is a nonsensical value for either parameter, treat it as an indicator for "default", as might be expected. In the process, clean up a bit by replacing the bare constants with slightly more meaningful macros and removing the superfluous "else" statements. [akpm@xxxxxxxxxxxxxxxxxxxx: dma-mapping.h needs sizes.h for SZ_64K] Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Reviewed-by: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8639b46139b0e4ea3b1ab1c274e410ee327f1d89 Author: Ben Segall <bsegall@xxxxxxxxxx> Date: Fri Nov 6 16:32:48 2015 -0800 pidns: fix set/getpriority and ioprio_set/get in PRIO_USER mode setpriority(PRIO_USER, 0, x) will change the priority of tasks outside of the current pid namespace. This is in contrast to both the other modes of setpriority and the example of kill(-1). Fix this. getpriority and ioprio have the same failure mode, fix them too. Eric said: : After some more thinking about it this patch sounds justifiable. : : My goal with namespaces is not to build perfect isolation mechanisms : as that can get into ill defined territory, but to build well defined : mechanisms. And to handle the corner cases so you can use only : a single namespace with well defined results. : : In this case you have found the two interfaces I am aware of that : identify processes by uid instead of by pid. Which quite frankly is : weird. Unfortunately the weird unexpected cases are hard to handle : in the usual way. : : I was hoping for a little more information. Changes like this one we : have to be careful of because someone might be depending on the current : behavior. I don't think they are and I do think this make sense as part : of the pid namespace. Signed-off-by: Ben Segall <bsegall@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Ambrose Feinstein <ambrose@xxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de90a6bcaede81f35e8caf4566d1006267230377 Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Fri Nov 6 16:32:45 2015 -0800 kexec: use file name as the output message prefix kexec output message misses the prefix "kexec", when Dave Young split the kexec code. Now, we use file name as the output message prefix. Currently, the format of output message: [ 140.290795] SYSC_kexec_load: hello, world [ 140.291534] kexec: sanity_check_segment_list: hello, world Ideally, the format of output message: [ 30.791503] kexec: SYSC_kexec_load, Hello, world [ 79.182752] kexec_core: sanity_check_segment_list, Hello, world Remove the custom prefix "kexec" in output message. Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Acked-by: Dave Young <dyoung@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f930902eb8806cff8dcaef9ff9faf3cfa5fd748 Author: Greg Thelen <gthelen@xxxxxxxxxx> Date: Fri Nov 6 16:32:42 2015 -0800 fs, seqfile: always allow oom killer Since 5cec38ac866b ("fs, seq_file: fallback to vmalloc instead of oom kill processes") seq_buf_alloc() avoids calling the oom killer for PAGE_SIZE or smaller allocations; but larger allocations can use the oom killer via vmalloc(). Thus reads of small files can return ENOMEM, but larger files use the oom killer to avoid ENOMEM. The effect of this bug is that reads from /proc and other virtual filesystems can return ENOMEM instead of the preferred behavior - oom killing something (possibly the calling process). I don't know of anyone except Google who has noticed the issue. I suspect the fix is more needed in smaller systems where there isn't any reclaimable memory. But these seem like the kinds of systems which probably don't use the oom killer for production situations. Memory overcommit requires use of the oom killer to select a victim regardless of file size. Enable oom killer for small seq_buf_alloc() allocations. Fixes: 5cec38ac866b ("fs, seq_file: fallback to vmalloc instead of oom kill processes") Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Greg Thelen <gthelen@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25c6bb76eafe37c8963ae58a6a1bcf4069caeedb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:32:40 2015 -0800 seq_file: reuse string_escape_str() strint_escape_str() escapes input string by given criteria. In case of seq_escape() the criteria is to convert some characters to their octal representation. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b91a318e422a0201a7bd7ac2626eecec6b27ae1 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:32:37 2015 -0800 fs/seq_file: use seq_* helpers in seq_hex_dump() This improves code readability. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d61ba58953fcf708c850bfd90b2858f2ddfbc34c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:34 2015 -0800 coredump: change zap_threads() and zap_process() to use for_each_thread() Change zap_threads() paths to use for_each_thread() rather than while_each_thread(). While at it, change zap_threads() to avoid the nested if's to make the code more readable and lessen the indentation. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Kyle Walker <kwalker@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Stanislav Kozina <skozina@xxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5fa534c987784c4811757a34c425aff3ce3b5037 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:31 2015 -0800 coredump: ensure all coredumping tasks have SIGNAL_GROUP_COREDUMP task_will_free_mem() is wrong in many ways, and in particular the SIGNAL_GROUP_COREDUMP check is not reliable: a task can participate in the coredumping without SIGNAL_GROUP_COREDUMP bit set. change zap_threads() paths to always set SIGNAL_GROUP_COREDUMP even if other CLONE_VM processes can't react to SIGKILL. Fortunately, at least oom-kill case if fine; it kills all tasks sharing the same mm, so it should also kill the process which actually dumps the core. The change in prepare_signal() is not strictly necessary, it just ensures that the patch does not bring another subtle behavioural change. But it reminds us that this SIGNAL_GROUP_EXIT/COREDUMP case needs more changes. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Kyle Walker <kwalker@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Stanislav Kozina <skozina@xxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9317bb9696566e6759203ffcaa80481b725785b3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:28 2015 -0800 signal: remove jffs2_garbage_collect_thread()->allow_signal(SIGCONT) jffs2_garbage_collect_thread() does allow_signal(SIGCONT) for no reason, SIGCONT will wake a stopped task up even if it is ignored. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9a13049e83f346cb1cbd60c64e520a73c396af16 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:25 2015 -0800 signal: introduce kernel_signal_stop() to fix jffs2_garbage_collect_thread() jffs2_garbage_collect_thread() can race with SIGCONT and sleep in TASK_STOPPED state after it was already sent. Add the new helper, kernel_signal_stop(), which does this correctly. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit be0e6f290f78b84a3b21b8c8c46819c4514fe632 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:22 2015 -0800 signal: turn dequeue_signal_lock() into kernel_dequeue_signal() 1. Rename dequeue_signal_lock() to kernel_dequeue_signal(). This matches another "for kthreads only" kernel_sigaction() helper. 2. Remove the "tsk" and "mask" arguments, they are always current and current->blocked. And it is simply wrong if tsk != current. 3. We could also remove the 3rd "siginfo_t *info" arg but it looks potentially useful. However we can simplify the callers if we change kernel_dequeue_signal() to accept info => NULL. 4. Remove _irqsave, it is never called from atomic context. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2e01fabe67ccaff1d59bda01e60a61f5fb0aa7b6 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:19 2015 -0800 signals: kill block_all_signals() and unblock_all_signals() It is hardly possible to enumerate all problems with block_all_signals() and unblock_all_signals(). Just for example, 1. block_all_signals(SIGSTOP/etc) simply can't help if the caller is multithreaded. Another thread can dequeue the signal and force the group stop. 2. Even is the caller is single-threaded, it will "stop" anyway. It will not sleep, but it will spin in kernel space until SIGCONT or SIGKILL. And a lot more. In short, this interface doesn't work at all, at least the last 10+ years. Daniel said: Yeah the only times I played around with the DRM_LOCK stuff was when old drivers accidentally deadlocked - my impression is that the entire DRM_LOCK thing was never really tested properly ;-) Hence I'm all for purging where this leaks out of the drm subsystem. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4f05028f8d1af782cfd03d09e0a052e9745dc5ad Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:16 2015 -0800 nilfs2: fix gcc uninitialized-variable warnings in powerpc build Some false positive warnings are reported for powerpc build. The following warnings are reported in http://kisskb.ellerman.id.au/kisskb/buildresult/12519703/ CC fs/nilfs2/super.o fs/nilfs2/super.c: In function 'nilfs_resize_fs': fs/nilfs2/super.c:376:2: warning: 'blocknr' may be used uninitialized in this function [-Wuninitialized] fs/nilfs2/super.c:362:11: note: 'blocknr' was declared here CC fs/nilfs2/recovery.o fs/nilfs2/recovery.c: In function 'nilfs_salvage_orphan_logs': fs/nilfs2/recovery.c:631:21: warning: 'sum' may be used uninitialized in this function [-Wuninitialized] fs/nilfs2/recovery.c:585:32: note: 'sum' was declared here fs/nilfs2/recovery.c: In function 'nilfs_search_super_root': fs/nilfs2/recovery.c:873:11: warning: 'sum' may be used uninitialized in this function [-Wuninitialized] Another similar warning is reported in http://kisskb.ellerman.id.au/kisskb/buildresult/12520079/ CC fs/nilfs2/btree.o fs/nilfs2/btree.c: In function 'nilfs_btree_convert_and_insert': include/asm-generic/bitops/non-atomic.h:105:20: warning: 'bh' may be used uninitialized in this function [-Wuninitialized] fs/nilfs2/btree.c:1859:22: note: 'bh' was declared here This cleans out these warnings by forcing the variables to be initialized. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09ef29e0f6ac9f08ba4cc501ab4a3c33be526343 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:14 2015 -0800 nilfs2: fix gcc unused-but-set-variable warnings Fix the following build warnings: $ make W=1 [...] CC [M] fs/nilfs2/btree.o fs/nilfs2/btree.c: In function 'nilfs_btree_split': fs/nilfs2/btree.c:923:8: warning: variable 'newptr' set but not used [-Wunused-but-set-variable] __u64 newptr; ^ fs/nilfs2/btree.c:922:8: warning: variable 'newkey' set but not used [-Wunused-but-set-variable] __u64 newkey; ^ CC [M] fs/nilfs2/dat.o fs/nilfs2/dat.c: In function 'nilfs_dat_prepare_end': fs/nilfs2/dat.c:158:8: warning: variable 'start' set but not used [-Wunused-but-set-variable] __u64 start; ^ CC [M] fs/nilfs2/segment.o fs/nilfs2/segment.c: In function 'nilfs_segctor_do_immediate_flush': fs/nilfs2/segment.c:2433:6: warning: variable 'err' set but not used [-Wunused-but-set-variable] int err; ^ CC [M] fs/nilfs2/sufile.o fs/nilfs2/sufile.c: In function 'nilfs_sufile_alloc': fs/nilfs2/sufile.c:320:27: warning: variable 'ncleansegs' set but not used [-Wunused-but-set-variable] unsigned long nsegments, ncleansegs, nsus, cnt; ^ CC [M] fs/nilfs2/alloc.o fs/nilfs2/alloc.c: In function 'nilfs_palloc_prepare_alloc_entry': fs/nilfs2/alloc.c:478:38: warning: variable 'groups_per_desc_block' set but not used [-Wunused-but-set-variable] unsigned long n, entries_per_group, groups_per_desc_block; ^ Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c35c7ac5da8ddfd7c6cd1acc29b052a15f437e24 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:11 2015 -0800 MAINTAINERS: nilfs2: add header file for tracing This adds header file "include/trace/events/nilfs2.h" to maintainer-ship of nilfs2 so that updates to the nilfs2 header file go to the mailing list of nilfs2. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a9cd207c23ca4fa5bd5f1092e867e87542e349a3 Author: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:08 2015 -0800 nilfs2: add tracepoints for analyzing reading and writing metadata files This patch adds tracepoints for analyzing requests of reading and writing metadata files. The tracepoints cover every in-place mdt files (cpfile, sufile, and datfile). Example of tracing mdt_insert_new_block(): cp-14635 [000] ...1 30598.199309: nilfs2_mdt_insert_new_block: inode = ffff88022a8d0178 ino = 3 block = 155 cp-14635 [000] ...1 30598.199520: nilfs2_mdt_insert_new_block: inode = ffff88022a8d0178 ino = 3 block = 5 cp-14635 [000] ...1 30598.200828: nilfs2_mdt_insert_new_block: inode = ffff88022a8d0178 ino = 3 block = 253 Signed-off-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: TK Kato <TK.Kato@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 83eec5e6dd10f0b1ab83ee660c8be883b3da7ba8 Author: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:05 2015 -0800 nilfs2: add tracepoints for analyzing sufile manipulation This patch adds tracepoints which would be useful for analyzing segment usage from a perspective of high level sufile manipulation (check, alloc, free). sufile is an important in-place updated metadata file, so analyzing the behavior would be useful for performance turning. example of usage (a case of allocation): $ sudo bin/tpoint nilfs2:nilfs2_segment_usage_allocated Tracing nilfs2:nilfs2_segment_usage_allocated. Ctrl-C to end. segctord-17800 [002] ...1 10671.867294: nilfs2_segment_usage_allocated: sufile = ffff880054f908a8 segnum = 2 segctord-17800 [002] ...1 10675.073477: nilfs2_segment_usage_allocated: sufile = ffff880054f908a8 segnum = 3 Signed-off-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Benixon Dhas <benixon.dhas@xxxxxxx> Cc: TK Kato <TK.Kato@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 44fda114601fa5edebeacecb265f09d802670bc0 Author: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:02 2015 -0800 nilfs2: add a tracepoint for transaction events This patch adds a tracepoint for transaction events of nilfs. With the tracepoint, these events can be tracked: begin, abort, commit, trylock, lock, and unlock. Basically, these events have corresponding functions e.g. begin event corresponds nilfs_transaction_begin(). The unlock event is an exception. It corresponds to the iteration in nilfs_transaction_lock(). Only one tracepoint is introcued: nilfs2_transaction_transition. The above events are distinguished with newly introduced enum. With this tracepoint, we can analyse a critical section of segment constructoin. Sample output by tpoint of perf-tools: cp-4457 [000] ...1 63.266220: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800bf5ccc58 count = 1 flags = 9 state = BEGIN cp-4457 [000] ...1 63.266221: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800bf5ccc58 count = 0 flags = 9 state = COMMIT cp-4457 [000] ...1 63.266221: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800bf5ccc58 count = 0 flags = 9 state = COMMIT segctord-4371 [001] ...1 68.261196: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 0 flags = 10 state = TRYLOCK segctord-4371 [001] ...1 68.261280: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 0 flags = 10 state = LOCK segctord-4371 [001] ...1 68.261877: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 1 flags = 10 state = BEGIN segctord-4371 [001] ...1 68.262116: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 0 flags = 18 state = COMMIT segctord-4371 [001] ...1 68.265032: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 0 flags = 18 state = UNLOCK segctord-4371 [001] ...1 132.376847: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 0 flags = 10 state = TRYLOCK This patch also does trivial cleaning of comma usage in collection stage transition event for consistent coding style. Signed-off-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58497703837048ac501ce56056eb74b4361108fc Author: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:59 2015 -0800 nilfs2: add a tracepoint for tracking stage transition of segment construction This patch adds a tracepoint for tracking stage transition of block collection in segment construction. With the tracepoint, we can analysis the behavior of segment construction in depth. It would be useful for bottleneck detection and debugging, etc. The tracepoint is created with the standard trace API of linux (like ext3, ext4, f2fs and btrfs). So we can analysis with existing tools easily. Of course, more detailed analysis will be possible if we can create nilfs specific analysis tools. Below is an example of event dump with Brendan Gregg's perf-tools (https://github.com/brendangregg/perf-tools). Time consumption between each stage can be obtained. $ sudo bin/tpoint nilfs2:nilfs2_collection_stage_transition Tracing nilfs2:nilfs2_collection_stage_transition. Ctrl-C to end. segctord-14875 [003] ...1 28311.067794: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_INIT segctord-14875 [003] ...1 28311.068139: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_GC segctord-14875 [003] ...1 28311.068139: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_FILE segctord-14875 [003] ...1 28311.068486: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_IFILE segctord-14875 [003] ...1 28311.068540: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_CPFILE segctord-14875 [003] ...1 28311.068561: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_SUFILE segctord-14875 [003] ...1 28311.068565: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_DAT segctord-14875 [003] ...1 28311.068573: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_SR segctord-14875 [003] ...1 28311.068574: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_DONE For capturing transition correctly, this patch adds wrappers for the member scnt of nilfs_cstage. With this change, every transition of the stage can produce trace event in a correct manner. Signed-off-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0c14a9ee79467cd6a04b281577e1e6f74806ab2 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:56 2015 -0800 nilfs2: free unused dat file blocks during garbage collection As a nilfs2 volume ages, the amount of available disk space decreases little by little due to bloat of DAT (disk address translation) metadata file. Even if we delete all files in a file system and free their block addresses from the DAT file through a garbage collection, empty DAT blocks are not freed. This fixes the issue by extending the deallocator of block addresses so that empty data blocks and empty bitmap blocks of DAT are deleted. The following comparison shows the effect of this patch. Each shows disk amount information of a nilfs2 volume that we cleaned out by deleting all files and running gc after having filled 90% of its capacity. Before: Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 500105212 3022844 472072192 1% /test After: Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 500105212 16380 475078656 1% /test Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da019954dd821682d6b2a8330c9c90acb943c456 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:54 2015 -0800 nilfs2: add helper functions to delete blocks from dat file This adds delete functions for data blocks of metadata files using bitmap based allocator. nilfs_palloc_delete_entry_block() deletes an entry block (e.g. block storing dat entries), and nilfs_palloc_delete_bitmap_block() deletes a bitmap block, respectively. These helpers are intended to be used in the successive change on deallocator of block addresses ("nilfs2: free unused dat file blocks during garbage collection"). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b22580948c39d71fb150c1d53148a381011dd109 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:51 2015 -0800 nilfs2: get rid of nilfs_palloc_group_is_in() This unfolds nilfs_palloc_group_is_in() helper function into nilfs_palloc_freev() function to simplify a range check and an index calculation repeatedy performed in a loop of the function. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 18c41b37f0f16a0d6e5b1a73563d0c1333e7ef70 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:48 2015 -0800 nilfs2: refactor nilfs_palloc_find_available_slot() The current implementation of nilfs_palloc_find_available_slot() function is overkill. The underlying bit search routine is well optimized, so this uses it more simply in nilfs_palloc_find_available_slot(). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e9e63a671fbe13f448fb2e69dfdbb6c2a008368 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:45 2015 -0800 nilfs2: do not call nilfs_mdt_bgl_lock() needlessly In the bitmap based allocator implementation, nilfs_mdt_bgl_lock() helper is frequently used to get a spinlock protecting a target block group. This reduces its usage and simplifies arguments of some related functions by directly passing a pointer to the spinlock. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b7bed712d090c340b97d455c5cb62d151e004503 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:43 2015 -0800 nilfs2: use nilfs_warning() in allocator implementation This uses nilfs_warning() to replace "printk(KERN_WARNING ...);" in the bitmap based allocator implementation of nilfs2. The warning messages are modified to include the device name and the inode number in each message. This makes it clear which metadata file of which device has output warnings such as "entry number xxxx already freed". Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da80a39fc962ceca085ddfb7d63e00309b305f17 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Nov 6 16:31:40 2015 -0800 nilfs2: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6d32f7a391466ed89d8a1018fdff5330766cc272 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Nov 6 16:31:37 2015 -0800 checkpatch: improve the unnecessary initialisers tests Global and static variables don't need to be initialized to 0. There is already a test for this but the output message doesn't mention booleans initialized to false. Improve the output message and the test by adding various forms with possible specific integer types and possible multiple zeros. Miscellanea: o Use a variable to hold the possible 0 test Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Shailendra Verma <shailendra.v@xxxxxxxxxxx> Tested-by: Shailendra Verma <shailendra.v@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 369c8dd390baffd77b892b563d03f800e65d2dfa Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Nov 6 16:31:34 2015 -0800 checkpatch: improve tests for fixes:, long lines and stack dumps in commit log Including BUG and stack dumps in commit logs makes checkpatch produce some false positive warning messages. checkpatch has multiple types of false positives: o Commit message lines > 75 chars o Stack dump address are mistaken for git commit IDs o Link: and Fixes: lines are allowed to be > 75 chars. o Fixes: style doesn't require ("<commit_description>") parentheses and double quotes like other uses of git commit ID and description. Fix these. Miscellanea: o Move the test for checking $commit_log_possible_stack_dump above the test for a long line commit message o Add test for hex address surrounded by square or angle brackets Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f029f540c2f7e010e4922d44ba0dfd05da79f88 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:31:31 2015 -0800 lib/hexdump.c: truncate output in case of overflow There is a classical off-by-one error in case when we try to place, for example, 1+1 bytes as hex in the buffer of size 6. The expected result is to get an output truncated, but in the reality we get 6 bytes filed followed by terminating NUL. Change the logic how we fill the output in case of byte dumping into limited space. This will follow the snprintf() behaviour by truncating output even on half bytes. Fixes: 114fc1afb2de (hexdump: make it return number of bytes placed in buffer) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reported-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8de1ee7ebfb4979c6444e81273e12e7a972c367d Author: Cody P Schafer <dev@xxxxxxxxxx> Date: Fri Nov 6 16:31:28 2015 -0800 rbtree: clarify documentation of rbtree_postorder_for_each_entry_safe() I noticed that commit a20135ffbc44 ("writeback: don't drain bdi_writeback_congested on bdi destruction") added a usage of rbtree_postorder_for_each_entry_safe() in mm/backing-dev.c which appears to try to rb_erase() elements from an rbtree while iterating over it using rbtree_postorder_for_each_entry_safe(). Doing this will cause random nodes to be missed by the iteration because rb_erase() may rebalance the tree, changing the ordering that we're trying to iterate over. The previous documentation for rbtree_postorder_for_each_entry_safe() wasn't clear that this wasn't allowed, it was taken from the docs for list_for_each_entry_safe(), where erasing isn't a problem due to list_del() not reordering. Explicitly warn developers about this potential pit-fall. Note that I haven't fixed the actual issue that (it appears) the commit referenced above introduced (not familiar enough with that code). In general (and in this case), the patterns to follow are: - switch to rb_first() + rb_erase(), don't use rbtree_postorder_for_each_entry_safe(). - keep the postorder iteration and don't rb_erase() at all. Instead just clear the fields of rb_node & cgwb_congested_tree as required by other users of those structures. [akpm@xxxxxxxxxxxxxxxxxxxx: tweak comments] Signed-off-by: Cody P Schafer <dev@xxxxxxxxxx> Cc: John de la Garza <john@xxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 90224350eaaf8b8043b19c393048f732bc2e4120 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:31:26 2015 -0800 lib/is_single_threaded.c: change current_is_single_threaded() to use for_each_thread() Change current_is_single_threaded() to use for_each_thread() rather than deprecated while_each_thread(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f773f32d71a4ed9a645634da107cd249e09e1180 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:31:23 2015 -0800 lib/kobject.c: use kvasprintf_const for formatting ->name Sometimes kobject_set_name_vargs is called with a format string conaining no %, or a format string of precisely "%s", where the single vararg happens to point to .rodata. kvasprintf_const detects these cases for us and returns a copy of that pointer instead of duplicating the string, thus saving some run-time memory. Otherwise, it falls back to kvasprintf. We just need to always deallocate ->name using kfree_const. Unfortunately, the dance we need to do to perform the '/' -> '!' sanitization makes the resulting code rather ugly. I instrumented kstrdup_const to provide some statistics on the memory saved, and for me this gave an additional ~14KB after boot (306KB was already saved; this patch bumped that to 320KB). I have KMALLOC_SHIFT_LOW==3, and since 80% of the kvasprintf_const hits were satisfied by an 8-byte allocation, the 14K would roughly be quadrupled when KMALLOC_SHIFT_LOW==5. Whether these numbers are sufficient to justify the ugliness I'll leave to others to decide. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0a9df786a6ae2f898114bdd242b64920dedf53bd Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:31:20 2015 -0800 lib/kasprintf.c: introduce kvasprintf_const This adds kvasprintf_const which tries to use kstrdup_const if possible: If the format string contains no % characters, or if the format string is exactly "%s", we delegate to kstrdup_const. Otherwise, we fall back to kvasprintf. Just as for kstrdup_const, the main motivation is to save memory by reusing .rodata when possible. The return value should be freed by kfree_const, just like for kstrdup_const. There is deliberately no kasprintf_const: In the vast majority of cases, the format string argument is a literal, so one can determine statically whether one could instead use kstrdup_const directly (which would also require one to change all corresponding kfree calls to kfree_const). Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2cf12f821cd4f996bfabeec23d8f25e7a2052a28 Author: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Date: Fri Nov 6 16:31:17 2015 -0800 lib/llist.c: fix data race in llist_del_first llist_del_first reads entry->next, but it did not acquire visibility over the entry node. As the result it can get a stale value of entry->next (e.g. NULL or whatever garbage was there before the appending thread wrote correct value). And then commit that value as llist head with cmpxchg. That will corrupt llist. Note there is a control-dependency between read of head->first and read of entry->next, but it does not make the code correct. Kernel memory model unambiguously says: "A load-load control dependency requires a full read memory barrier". Use smp_load_acquire to acquire visibility over the entry node. The data race was found with KernelThreadSanitizer (KTSAN). Here is an example of KTSAN report: ThreadSanitizer: data-race in llist_del_first Read of size 1 by thread T389 (K2630, CPU0): [<ffffffff8156b8a9>] llist_del_first+0x39/0x70 lib/llist.c:74 [< inlined >] tty_buffer_alloc drivers/tty/tty_buffer.c:181 [<ffffffff81664af4>] __tty_buffer_request_room+0xb4/0x250 drivers/tty/tty_buffer.c:292 [<ffffffff81664e6c>] tty_insert_flip_string_fixed_flag+0x6c/0x150 drivers/tty/tty_buffer.c:337 [< inlined >] tty_insert_flip_string include/linux/tty_flip.h:35 [<ffffffff81667422>] pty_write+0x72/0xc0 drivers/tty/pty.c:110 [< inlined >] process_output_block drivers/tty/n_tty.c:611 [<ffffffff8165c016>] n_tty_write+0x346/0x7f0 drivers/tty/n_tty.c:2401 [< inlined >] do_tty_write drivers/tty/tty_io.c:1159 [<ffffffff816568df>] tty_write+0x21f/0x3f0 drivers/tty/tty_io.c:1245 [<ffffffff8125f00f>] __vfs_write+0x5f/0x1f0 fs/read_write.c:489 [<ffffffff8125ff8f>] vfs_write+0xef/0x280 fs/read_write.c:538 [< inlined >] SYSC_write fs/read_write.c:585 [<ffffffff81261390>] SyS_write+0x70/0xe0 fs/read_write.c:577 [<ffffffff81ee862e>] entry_SYSCALL_64_fastpath+0x12/0x71 arch/x86/entry/entry_64.S:186 Previous write of size 8 by thread T226 (K761, CPU0): [<ffffffff8156b832>] llist_add_batch+0x32/0x70 lib/llist.c:44 (discriminator 16) [< inlined >] llist_add include/linux/llist.h:180 [<ffffffff816649fc>] tty_buffer_free+0x6c/0xb0 drivers/tty/tty_buffer.c:221 [<ffffffff816651e7>] flush_to_ldisc+0x107/0x300 drivers/tty/tty_buffer.c:514 [<ffffffff810b20ee>] process_one_work+0x47e/0x930 kernel/workqueue.c:2036 [<ffffffff810b2650>] worker_thread+0xb0/0x900 kernel/workqueue.c:2170 [<ffffffff810bbe20>] kthread+0x150/0x170 kernel/kthread.c:209 [<ffffffff81ee8a1f>] ret_from_fork+0x3f/0x70 arch/x86/entry/entry_64.S:526 Signed-off-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Huang Ying <ying.huang@xxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 943ba6503802a46318cb9f5ab45be31d42e6f884 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Nov 6 16:31:14 2015 -0800 lib/test-string_helpers.c: add string_get_size() tests Add a couple of simple tests for string_get_size(). The last one will hang the kernel without the 'lib/string_helpers.c: fix infinite loop in string_get_size()' fix. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: James Bottomley <JBottomley@xxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c78bc170f393317dfa9d57baa599a51061ea86a Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Fri Nov 6 16:31:11 2015 -0800 lib/halfmd4.c: use rol32 inline function in the ROUND macro <linux/bitops.h> provides rol32() inline function, let's use already predefined function instead of direct expression. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 78e3c7951021b4e1a554b3d619506b55b0619073 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Nov 6 16:31:08 2015 -0800 arch/x86/kernel/cpu/perf_event_msr.c: use sign_extend64() for sign extension Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 06d8f8178c5709ff21cfbe16b6c078d2669b6e80 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Nov 6 16:31:05 2015 -0800 arch/sh/kernel/traps_64.c: use sign_extend64() for sign extension Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 48e203e21b29cd4b2c58403fe8bca68e2e854895 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Nov 6 16:31:02 2015 -0800 bitops.h: add sign_extend64() Months back, this was discussed, see https://lkml.org/lkml/2015/1/18/289 The result was the 64-bit version being "likely fine", "valuable" and "correct". The discussion fell asleep but since there are possible users, let's add it. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e2eb53aa96754b97d158eff884dde88abbad925e Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Nov 6 16:30:58 2015 -0800 bitops.h: improve sign_extend32()'s documentation It is often overlooked that sign_extend32(), despite its name, is safe to use for 16 and 8 bit types as well. This should help prevent sign extension being done manually some other way. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd2c3e7f94f3d8210320bfb9b5712bdcbb12f8db Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Nov 6 16:30:55 2015 -0800 MAINTAINERS: add missing extcon directory Add the missing extcon directory to maintain them. When using get_maintainer.pl, the result should include the correct maintainer information. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2a7cb1dc82fc2a52e747b4c496c13f6575fb1790 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Nov 6 16:30:52 2015 -0800 get_maintainer: add subsystem to reviewer output Reviewer output currently does not include the subsystem that matched. Add it. Miscellanea: o Add a get_subsystem_name routine to centralize this Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4f07510df2e8c47fd65b8ffaaf6c5d334d59d598 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Nov 6 16:30:49 2015 -0800 get_maintainer: --r (list reviewer) is on by default We don't consistenly document the default value next to the option listing, but we do have a list of defaults here, so let's keep it up to date. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1312bfe61c08684f7325f17858933017bae7f59 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Nov 6 16:30:46 2015 -0800 get_maintainer: add --no-foo options to --help Many flag options are boolean and support both a positive and a negative invocation from the command line. Some of these are even mentioned by example (e.g., --nogit is mentioned as a default option), but they aren't explicitly mentioned in the list of options. It happens that some of these are pretty important, as they are default-on, and to turn them off, you have to know about the --no-foo version. Rather than clutter the whole help text with bracketed '--[no]foo', let's just mention the general rule, a la 'man gcc'. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cc7ff0ef6eca3deeea4a424ca47a67c8450d5424 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Nov 6 16:30:43 2015 -0800 get_maintainer: it's '--pattern-depth', not '-pattern-depth' Though it appears that Perl's GetOptions will take either, the latter is not documented in the options listing. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3cbcca8a80ea30f7e3efb29217193a089484de28 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Nov 6 16:30:41 2015 -0800 get_maintainer: add missing documentation for --git-blame-signatures I really haven't used this option much myself, so feel free to improve on the documentation for it. I just noticed it while inspecting this script for undocumented features. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3824657c522f19f85a76bd932821174a5557a382 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:38 2015 -0800 printk: prevent userland from spoofing kernel messages The following statement of ABI/testing/dev-kmsg is not quite right: It is not possible to inject messages from userspace with the facility number LOG_KERN (0), to make sure that the origin of the messages can always be reliably determined. Userland actually can inject messages with a facility of 0 by abusing the fact that the facility is stored in a u8 data type. By using a facility which is a multiple of 256 the assignment of msg->facility in log_store() implicitly truncates it to 0, i.e. LOG_KERN, allowing users of /dev/kmsg to spoof kernel messages as shown below: The following call... # printf '<%d>Kernel panic - not syncing: beer empty\n' 0 >/dev/kmsg ...leads to the following log entry (dmesg -x | tail -n 1): user :emerg : [ 66.137758] Kernel panic - not syncing: beer empty However, this call... # printf '<%d>Kernel panic - not syncing: beer empty\n' 0x800 >/dev/kmsg ...leads to the slightly different log entry (note the kernel facility): kern :emerg : [ 74.177343] Kernel panic - not syncing: beer empty Fix that by limiting the user provided facility to 8 bit right from the beginning and catch the truncation early. Fixes: 7ff9554bb578 ("printk: convert byte-buffer to variable-length...") Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Petr Mladek <pmladek@xxxxxxx> Cc: Alex Elder <elder@xxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Kay Sievers <kay@xxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d7ec9a05d6defda8432da574a2a888eed6fc29f6 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:35 2015 -0800 lib/vsprintf.c: update documentation %n is no longer just ignored; it results in early return from vsnprintf. Also add a request to add test cases for future %p extensions. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Kletzander <mkletzan@xxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 317dc34ab786d4f22bf7ed8ab546b9ae57f900d0 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Fri Nov 6 16:30:32 2015 -0800 selftests: run lib/test_printf module This runs the lib/test_printf module to make sure printf is operating sanely. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 707cc7280f452a162c52bc240eae62568b9753c2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:29 2015 -0800 test_printf: test printf family at runtime This adds a simple module for testing the kernel's printf facilities. Previously, some %p extensions have caused a wrong return value in case the entire output didn't fit and/or been unusable in kasprintf(). This should help catch such issues. Also, it should help ensure that changes to the formatting algorithms don't break anything. I'm not sure if we have a struct dentry or struct file lying around at boot time or if we can fake one, but most %p extensions should be testable, as should the ordinary number and string formatting. The nature of vararg functions means we can't use a more conventional table-driven approach. For now, this is mostly a skeleton; contributions are very welcome. Some tests are/will be slightly annoying to write, since the expected output depends on stuff like CONFIG_*, sizeof(long), runtime values etc. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Martin Kletzander <mkletzan@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80c9eb46fa7236c1236ec695bfa2403c10cb8645 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:26 2015 -0800 lib/vsprintf.c: remove SPECIAL handling in pointer() As a quick git grep -E '%[ +0#-]*#[ +0#-]*(\*|[0-9]+)?(\.(\*|[0-9]+)?)?p' shows, nobody uses the # flag with %p. Should one try to do so, one will be met with warning: `#' flag used with `%p' gnu_printf format [-Wformat] (POSIX and C99 both say "... For other conversion specifiers, the behavior is undefined.". Obviously, the kernel can choose to define the behaviour however it wants, but as long as gcc issues that warning, users are unlikely to show up.) Since default_width is effectively always 2*sizeof(void*), we can simplify the prologue of pointer() and save a few instructions. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Martin Kletzander <mkletzan@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 762abb515415a5a4a37423f4f4ff5770d5a14bac Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:23 2015 -0800 lib/vsprintf.c: also improve sanity check in bstr_printf() Quoting from 2aa2f9e21e4e ("lib/vsprintf.c: improve sanity check in vsnprintf()"): On 64 bit, size may very well be huge even if bit 31 happens to be 0. Somehow it doesn't feel right that one can pass a 5 GiB buffer but not a 3 GiB one. So cap at INT_MAX as was probably the intention all along. This is also the made-up value passed by sprintf and vsprintf. I should have seen this copy-pasted instance back then, but let's just do it now. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Martin Kletzander <mkletzan@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b006f19b055f90b73e97086490f95b83095dcc91 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:20 2015 -0800 lib/vsprintf.c: handle invalid format specifiers more robustly If we meet any invalid or unsupported format specifier, 'handling' it by just printing it as a literal string is not safe: Presumably the format string and the arguments passed gcc's type checking, but that means something like sprintf(buf, "%n %pd", &intvar, dentry) would end up interpreting &intvar as a struct dentry*. When the offending specifier was %n it used to be at the end of the format string, but we can't rely on that always being the case. Also, gcc doesn't complain about some more or less exotic qualifiers (or 'length modifiers' in posix-speak) such as 'j' or 'q', but being unrecognized by the kernel's printf implementation, they'd be interpreted as unknown specifiers, and the rest of arguments would be interpreted wrongly. So let's complain about anything we don't understand, not just %n, and stop pretending that we'd be able to make sense of the rest of the format/arguments. If the offending specifier is in a printk() call we unfortunately only get a "BUG: recent printk recursion!", but at least direct users of the sprintf family will be caught. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Martin Kletzander <mkletzan@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e4ee7b13b522d07196e737f399843c58569604d Author: Martin Kletzander <mkletzan@xxxxxxxxxx> Date: Fri Nov 6 16:30:17 2015 -0800 printk: synchronize %p formatting documentation Move all pointer-formatting documentation to one place in the code and one place in the documentation instead of keeping it in three places with different level of completeness. Documentation/printk-formats.txt has detailed information about each modifier, docstring above pointer() has short descriptions of them (as that is the function dealing with %p) and docstring above vsprintf() is removed as redundant. Both docstrings in the code that were modified are updated with a reminder of updating the documentation upon any further change. [akpm@xxxxxxxxxxxxxxxxxxxx: fix comment] Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3e406b1d7c1e5c14c84a71eb4bee5f46ba690401 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:15 2015 -0800 lib/dynamic_debug.c: use kstrdup_const Using kstrdup_const, thus reusing .rodata when possible, saves around 2 kB of runtime memory on my laptop/.config combination. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit eac44a5e07be41a153e52c35c4d7dc0fec23adb3 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:12 2015 -0800 fs/jffs2/wbuf.c: remove stray semicolon Reported-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9add850c211a39d5ab1a091d48795e21599a73d0 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:09 2015 -0800 include/linux/compiler-gcc.h: improve __visible documentation Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 54708d2858e79a2bdda10bf8a20c80eb96c20613 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:30:06 2015 -0800 proc: actually make proc_fd_permission() thread-friendly The commit 96d0df79f264 ("proc: make proc_fd_permission() thread-friendly") fixed the access to /proc/self/fd from sub-threads, but introduced another problem: a sub-thread can't access /proc/<tid>/fd/ or /proc/thread-self/fd if generic_permission() fails. Change proc_fd_permission() to check same_thread_group(pid_task(), current). Fixes: 96d0df79f264 ("proc: make proc_fd_permission() thread-friendly") Reported-by: "Jin, Yihua" <yihua.jin@xxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3a49f3d2a10dfb27411d321900197a3d6c52405b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:03 2015 -0800 fs/proc/array.c: set overflow flag in case of error For now in task_name() we ignore the return code of string_escape_str() call. This is not good if buffer suddenly becomes not big enough. Do the proper error handling there. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1965c8b7ac7dd147663faf77a66a693ac3ddcb85 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:00 2015 -0800 mm: use 'unsigned int' for compound_dtor/compound_order on 64BIT On 64 bit system we have enough space in struct page to encode compound_dtor and compound_order with unsigned int. On x86-64 it leads to slightly smaller code size due usesage of plain MOV instead of MOVZX (zero-extended move) or similar effect. allyesconfig: text data bss dec hex filename 159520446 48146736 72196096 279863278 10ae5fee vmlinux.pre 159520382 48146736 72196096 279863214 10ae5fae vmlinux.post On other architectures without native support of 16-bit data types the Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d00181b96eb86c914cb327d1de974a1b71366e1b Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:57 2015 -0800 mm: use 'unsigned int' for page order Let's try to be consistent about data type of page order. [sfr@xxxxxxxxxxxxxxxx: fix build (type of pageblock_order)] [hughd@xxxxxxxxxx: some configs end up with MAX_ORDER and pageblock_order having different types] Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1d798ca3f16437c71ff63e36597ff07f9c12e4d6 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:54 2015 -0800 mm: make compound_head() robust Hugh has pointed that compound_head() call can be unsafe in some context. There's one example: CPU0 CPU1 isolate_migratepages_block() page_count() compound_head() !!PageTail() == true put_page() tail->first_page = NULL head = tail->first_page alloc_pages(__GFP_COMP) prep_compound_page() tail->first_page = head __SetPageTail(p); !!PageTail() == true <head == NULL dereferencing> The race is pure theoretical. I don't it's possible to trigger it in practice. But who knows. We can fix the race by changing how encode PageTail() and compound_head() within struct page to be able to update them in one shot. The patch introduces page->compound_head into third double word block in front of compound_dtor and compound_order. Bit 0 encodes PageTail() and the rest bits are pointer to head page if bit zero is set. The patch moves page->pmd_huge_pte out of word, just in case if an architecture defines pgtable_t into something what can have the bit 0 set. hugetlb_cgroup uses page->lru.next in the second tail page to store pointer struct hugetlb_cgroup. The patch switch it to use page->private in the second tail page instead. The space is free since ->first_page is removed from the union. The patch also opens possibility to remove HUGETLB_CGROUP_MIN_ORDER limitation, since there's now space in first tail page to store struct hugetlb_cgroup pointer. But that's out of scope of the patch. That means page->compound_head shares storage space with: - page->lru.next; - page->next; - page->rcu_head.next; That's too long list to be absolutely sure, but looks like nobody uses bit 0 of the word. page->rcu_head.next guaranteed[1] to have bit 0 clean as long as we use call_rcu(), call_rcu_bh(), call_rcu_sched(), or call_srcu(). But future call_rcu_lazy() is not allowed as it makes use of the bit and we can get false positive PageTail(). [1] http://lkml.kernel.org/g/20150827163634.GD4029@xxxxxxxxxxxxxxxxxx Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f1e61557f0230d51a3df8d825f2c156e75563bff Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:50 2015 -0800 mm: pack compound_dtor and compound_order into one word in struct page The patch halves space occupied by compound_dtor and compound_order in struct page. For compound_order, it's trivial long -> short conversion. For get_compound_page_dtor(), we now use hardcoded table for destructor lookup and store its index in the struct page instead of direct pointer to destructor. It shouldn't be a big trouble to maintain the table: we have only two destructor and NULL currently. This patch free up one word in tail pages for reuse. This is preparation for the next patch. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 32e7ba1ea1f8d1f0ea4983e768f8b566770a55b3 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:47 2015 -0800 zsmalloc: use page->private instead of page->first_page We are going to rework how compound_head() work. It will not use page->first_page as we have it now. The only other user of page->first_page beyond compound pages is zsmalloc. Let's use page->private instead of page->first_page here. It occupies the same storage space. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bc4f610d5a884eedfeac3b08f2ac87df74a1e55f Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:44 2015 -0800 slab, slub: use page->rcu_head instead of page->lru plus cast We have properly typed page->rcu_head, no need to cast page->lru. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 474e4eeaf26b6c3298ca3ae9d0a705b0853efb2a Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:40 2015 -0800 mm: drop page->slab_page Since 8456a648cf44 ("slab: use struct page for slab management") nobody uses slab_page field in struct page. Let's drop it. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6fe5186f0c7c18a8beb6d96c21e2390df7a12375 Author: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Date: Fri Nov 6 16:29:38 2015 -0800 zsmalloc: reduce size_class memory usage Each `struct size_class' contains `struct zs_size_stat': an array of NR_ZS_STAT_TYPE `unsigned long'. For zsmalloc built with no CONFIG_ZSMALLOC_STAT this results in a waste of `2 * sizeof(unsigned long)' per-class. The patch removes unneeded `struct zs_size_stat' members by redefining NR_ZS_STAT_TYPE (max stat idx in array). Since both NR_ZS_STAT_TYPE and zs_stat_type are compile time constants, GCC can eliminate zs_stat_inc()/zs_stat_dec() calls that use zs_stat_type larger than NR_ZS_STAT_TYPE: CLASS_ALMOST_EMPTY and CLASS_ALMOST_FULL at the moment. ./scripts/bloat-o-meter mm/zsmalloc.o.old mm/zsmalloc.o.new add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-39 (-39) function old new delta fix_fullness_group 97 94 -3 insert_zspage 100 86 -14 remove_zspage 141 119 -22 To summarize: a) each class now uses less memory b) we avoid a number of dec/inc stats (a minor optimization, but still). The gain will increase once we introduce additional stats. A simple IO test. iozone -t 4 -R -r 32K -s 60M -I +Z patched base " Initial write " 4145599.06 4127509.75 " Rewrite " 4146225.94 4223618.50 " Read " 17157606.00 17211329.50 " Re-read " 17380428.00 17267650.50 " Reverse Read " 16742768.00 16162732.75 " Stride read " 16586245.75 16073934.25 " Random read " 16349587.50 15799401.75 " Mixed workload " 10344230.62 9775551.50 " Random write " 4277700.62 4260019.69 " Pwrite " 4302049.12 4313703.88 " Pread " 6164463.16 6126536.72 " Fwrite " 7131195.00 6952586.00 " Fread " 12682602.25 12619207.50 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 6f0b22760b7d8317569252cc7c36cbed22ebe401 Author: Hui Zhu <zhuhui@xxxxxxxxxx> Date: Fri Nov 6 16:29:35 2015 -0800 mm/zsmalloc.c: remove useless line in obj_free() Signed-off-by: Hui Zhu <zhuhui@xxxxxxxxxx> Reviewed-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 2c35169572b84897b43e6f3e9667fd1904451f34 Author: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Date: Fri Nov 6 16:29:32 2015 -0800 zsmalloc: don't test shrinker_enabled in zs_shrinker_count() We don't let user to disable shrinker in zsmalloc (once it's been enabled), so no need to check ->shrinker_enabled in zs_shrinker_count(), at the moment at least. 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 759b26b29885a8ef6101aa554d9990803f6ef792 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Fri Nov 6 16:29:29 2015 -0800 zsmalloc: use preempt.h for in_interrupt() A cosmetic change. Commit c60369f01125 ("staging: zsmalloc: prevent mappping in interrupt context") added in_interrupt() check to zs_map_object() and 'hardirq.h' include; but in_interrupt() macro is defined in 'preempt.h' not in 'hardirq.h', so include it instead. 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 12a7bfad58cd604616dd5205efa6dc2be6f299eb Author: Hui Zhu <zhuhui@xxxxxxxxxx> Date: Fri Nov 6 16:29:26 2015 -0800 zsmalloc: fix obj_to_head use page_private(page) as value but not pointer In obj_malloc(): if (!class->huge) /* record handle in the header of allocated chunk */ link->handle = handle; else /* record handle in first_page->private */ set_page_private(first_page, handle); In the hugepage we save handle to private directly. But in obj_to_head(): if (class->huge) { VM_BUG_ON(!is_first_page(page)); return *(unsigned long *)page_private(page); } else return *(unsigned long *)obj; It is used as a pointer. The reason why there is no problem until now is huge-class page is born with ZS_FULL so it can't be migrated. However, we need this patch for future work: "VM-aware zsmalloced page migration" to reduce external fragmentation. Signed-off-by: Hui Zhu <zhuhui@xxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f958c98f28d088a1ef3e021ab7aeb59a234b953 Author: Hui Zhu <zhuhui@xxxxxxxxxx> Date: Fri Nov 6 16:29:23 2015 -0800 zsmalloc: add comments for ->inuse to zspage [akpm@xxxxxxxxxxxxxxxxxxxx: fix grammar] Signed-off-by: Hui Zhu <zhuhui@xxxxxxxxxx> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6f3526d6db7cbe8b53e42d6bf0cad2072afcf3fe Author: Sergey SENOZHATSKY <sergey.senozhatsky@xxxxxxxxx> Date: Fri Nov 6 16:29:21 2015 -0800 mm: zsmalloc: constify struct zs_pool name Constify `struct zs_pool' ->name. [akpm@xxxxxxxxxxxxxxxxxxx: constify zpool_create_pool()'s `type' arg also] Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 69e18f4dbedfbf208452e9da9979c92da30d2442 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Fri Nov 6 16:29:18 2015 -0800 zpool: remove redundant zpool->type string, const-ify zpool_get_type Make the return type of zpool_get_type const; the string belongs to the zpool driver and should not be modified. Remove the redundant type field in the struct zpool; it is private to zpool.c and isn't needed since ->driver->type can be used directly. Add comments indicating strings must be null-terminated. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c99b42c3529e5e1bff00f68250dc869f7de3bd5f Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Fri Nov 6 16:29:15 2015 -0800 zswap: use charp for zswap param strings Instead of using a fixed-length string for the zswap params, use charp. This simplifies the code and uses less memory, as most zswap param strings will be less than the current maximum length. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3d9c637f4ae74b45d95bb6cbd793fbffad0a709c Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Fri Nov 6 16:29:12 2015 -0800 module: export param_free_charp() Change the param_free_charp() function from static to exported. It is used by zswap in the next patch ("zswap: use charp for zswap param strings"). Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b0c9865fd2d7a34aa58bb58756ff088d2ec4bbcd Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Fri Nov 6 16:29:09 2015 -0800 mm/zswap.c: remove unneeded initialization to NULL in zswap_entry_find_get() On the next line entry variable will be re-initialized so no need to init it with NULL. Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c53e0d2737f3ce4afa27d5703494eb14610ec26 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Fri Nov 6 16:29:06 2015 -0800 zram: make is_partial_io/valid_io_request/page_zero_filled return boolean Make is_partial_io()/valid_io_request()/page_zero_filled() return boolean, since each function only uses either one or zero as its return value. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Reviewed-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 1237275580f3e2b998d355b2ff7f84c6b423aa11 Author: Sergey SENOZHATSKY <sergey.senozhatsky@xxxxxxxxx> Date: Fri Nov 6 16:29:04 2015 -0800 zram: keep the exact overcommited value in mem_used_max `mem_used_max' is designed to store the max amount of memory zram consumed to store the data. However, it does not represent the actual 'overcommited' (max) value. The existing code goes to -ENOMEM overcommited case before it updates `->stats.max_used_pages', which hides the reason we went to -ENOMEM in the first place -- we actually used more memory than `->limit_pages': alloced_pages = zs_get_total_pages(meta->mem_pool); if (zram->limit_pages && alloced_pages > zram->limit_pages) { zs_free(meta->mem_pool, handle); ret = -ENOMEM; goto out; } update_used_max(zram, alloced_pages); Which is misleading. User will see -ENOMEM, check `->limit_pages', check `->stats.max_used_pages', which will keep the value BEFORE zram passed `->limit_pages', and see: `->stats.max_used_pages' < `->limit_pages' Move update_used_max() before we do `->limit_pages' check, so that user will see: `->stats.max_used_pages' > `->limit_pages' should the overcommit and -ENOMEM happen. 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 1d5b43bfb60f7ba2b51792978a6b0781d4ebba93 Author: Luis Henriques <luis.henriques@xxxxxxxxxxxxx> Date: Fri Nov 6 16:29:01 2015 -0800 zram: introduce comp algorithm fallback functionality When the user supplies an unsupported compression algorithm, keep the previously selected one (knowingly supported) or the default one (if the compression algorithm hasn't been changed yet). Note that previously this operation (i.e. setting an invalid algorithm) would result in no algorithm being selected, which means that this represents a small change in the default behaviour. Minchan said: For initializing zram, we need to set up 3 optional parameters in advance. 1. the number of compression streams 2. memory limitation 3. compression algorithm Although user pass completely wrong value to set up for 1 and 2 parameters, it's okay because they have default value so zram will be initialized with the default value (of course, when user passes a wrong value via *echo*, sysfs returns -EINVAL so the user can notice it). But 3 is not consistent with other optional parameters. IOW, if the user passes a wrong value to set up 3 parameter, zram's initialization would fail unlike other optional parameters. So this patch makes them consistent. Signed-off-by: Luis Henriques <luis.henriques@xxxxxxxxxxxxx> Acked-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 6f6461562e8805784538fa469e9a538cd2b3d553 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:58 2015 -0800 mm/memcontrol.c: uninline mem_cgroup_usage gcc version 5.2.1 20151010 (Debian 5.2.1-22) $ size mm/memcontrol.o mm/memcontrol.o.before text data bss dec hex filename 35535 7908 64 43507 a9f3 mm/memcontrol.o 35762 7908 64 43734 aad6 mm/memcontrol.o.before Cc: Michal Hocko <mhocko@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 23d0127096cb91cb6d354bdc71bd88a7bae3a1d5 Author: Jan Kara <jack@xxxxxxxx> Date: Fri Nov 6 16:28:55 2015 -0800 fs/sync.c: make sync_file_range(2) use WB_SYNC_NONE writeback sync_file_range(2) is documented to issue writeback only for pages that are not currently being written. After all the system call has been created for userspace to be able to issue background writeout and so waiting for in-flight IO is undesirable there. However commit ee53a891f474 ("mm: do_sync_mapping_range integrity fix") switched do_sync_mapping_range() and thus sync_file_range() to issue writeback in WB_SYNC_ALL mode since do_sync_mapping_range() was used by other code relying on WB_SYNC_ALL semantics. These days do_sync_mapping_range() went away and we can switch sync_file_range(2) back to issuing WB_SYNC_NONE writeback. That should help PostgreSQL avoid large latency spikes when flushing data in the background. Andres measured a 20% increase in transactions per second on an SSD disk. Signed-off-by: Jan Kara <jack@xxxxxxxx> Reported-by: Andres Freund <andres@xxxxxxxxxxx> Tested-By: Andres Freund <andres@xxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d6669d689f397137381fe6729293e0eba1ef09a8 Author: Aaron Tomlin <atomlin@xxxxxxxxxx> Date: Fri Nov 6 16:28:52 2015 -0800 thp: remove unused vma parameter from khugepaged_alloc_page The "vma" parameter to khugepaged_alloc_page() is unused. It has to remain unused or the drop read lock 'map_sem' optimisation introduce by commit 8b1645685acf ("mm, THP: don't hold mmap_sem in khugepaged when allocating THP") wouldn't be safe. So let's remove it. Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c62d25556be6c965dc14288e796a576e8e39a7e9 Author: Michal Hocko <mhocko@xxxxxxxx> Date: Fri Nov 6 16:28:49 2015 -0800 mm, fs: introduce mapping_gfp_constraint() There are many places which use mapping_gfp_mask to restrict a more generic gfp mask which would be used for allocations which are not directly related to the page cache but they are performed in the same context. Let's introduce a helper function which makes the restriction explicit and easier to track. This patch doesn't introduce any functional changes. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Suggested-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 89903327607232de32f05100cf03f9390b858e0b Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:46 2015 -0800 include/linux/mmzone.h: reflow comment Someone has an 86 column display. Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd56b046426760aa0c852ad6e4b6b07891222d65 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:43 2015 -0800 mm: page_alloc: hide some GFP internals and document the bits and flag combinations Andrew stated the following We have quite a history of remote parts of the kernel using weird/wrong/inexplicable combinations of __GFP_ flags. I tend to think that this is because we didn't adequately explain the interface. And I don't think that gfp.h really improved much in this area as a result of this patchset. Could you go through it some time and decide if we've adequately documented all this stuff? This patches first moves some GFP flag combinations that are part of the MM internals to mm/internal.h. The rest of the patch documents the __GFP_FOO bits under various headings and then documents the flag combinations. It will not help callers that are brain damaged but the clarity might motivate some fixes and avoid future mistakes. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 97a16fc82a7c5b0cfce95c05dfb9561e306ca1b1 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:40 2015 -0800 mm, page_alloc: only enforce watermarks for order-0 allocations The primary purpose of watermarks is to ensure that reclaim can always make forward progress in PF_MEMALLOC context (kswapd and direct reclaim). These assume that order-0 allocations are all that is necessary for forward progress. High-order watermarks serve a different purpose. Kswapd had no high-order awareness before they were introduced (https://lkml.kernel.org/r/413AA7B2.4000907@xxxxxxxxxxxx). This was particularly important when there were high-order atomic requests. The watermarks both gave kswapd awareness and made a reserve for those atomic requests. There are two important side-effects of this. The most important is that a non-atomic high-order request can fail even though free pages are available and the order-0 watermarks are ok. The second is that high-order watermark checks are expensive as the free list counts up to the requested order must be examined. With the introduction of MIGRATE_HIGHATOMIC it is no longer necessary to have high-order watermarks. Kswapd and compaction still need high-order awareness which is handled by checking that at least one suitable high-order page is free. With the patch applied, there was little difference in the allocation failure rates as the atomic reserves are small relative to the number of allocation attempts. The expected impact is that there will never be an allocation failure report that shows suitable pages on the free lists. The one potential side-effect of this is that in a vanilla kernel, the watermark checks may have kept a free page for an atomic allocation. Now, we are 100% relying on the HighAtomic reserves and an early allocation to have allocated them. If the first high-order atomic allocation is after the system is already heavily fragmented then it'll fail. [akpm@xxxxxxxxxxxxxxxxxxxx: simplify __zone_watermark_ok(), per Vlastimil] Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0aaa29a56e4fb0fc9e24edb649e2733a672ca099 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:37 2015 -0800 mm, page_alloc: reserve pageblocks for high-order atomic allocations on demand High-order watermark checking exists for two reasons -- kswapd high-order awareness and protection for high-order atomic requests. Historically the kernel depended on MIGRATE_RESERVE to preserve min_free_kbytes as high-order free pages for as long as possible. This patch introduces MIGRATE_HIGHATOMIC that reserves pageblocks for high-order atomic allocations on demand and avoids using those blocks for order-0 allocations. This is more flexible and reliable than MIGRATE_RESERVE was. A MIGRATE_HIGHORDER pageblock is created when an atomic high-order allocation request steals a pageblock but limits the total number to 1% of the zone. Callers that speculatively abuse atomic allocations for long-lived high-order allocations to access the reserve will quickly fail. Note that SLUB is currently not such an abuser as it reclaims at least once. It is possible that the pageblock stolen has few suitable high-order pages and will need to steal again in the near future but there would need to be strong justification to search all pageblocks for an ideal candidate. The pageblocks are unreserved if an allocation fails after a direct reclaim attempt. The watermark checks account for the reserved pageblocks when the allocation request is not a high-order atomic allocation. The reserved pageblocks can not be used for order-0 allocations. This may allow temporary wastage until a failed reclaim reassigns the pageblock. This is deliberate as the intent of the reservation is to satisfy a limited number of atomic high-order short-lived requests if the system requires them. The stutter benchmark was used to evaluate this but while it was running there was a systemtap script that randomly allocated between 1 high-order page and 12.5% of memory's worth of order-3 pages using GFP_ATOMIC. This is much larger than the potential reserve and it does not attempt to be realistic. It is intended to stress random high-order allocations from an unknown source, show that there is a reduction in failures without introducing an anomaly where atomic allocations are more reliable than regular allocations. The amount of memory reserved varied throughout the workload as reserves were created and reclaimed under memory pressure. The allocation failures once the workload warmed up were as follows; 4.2-rc5-vanilla 70% 4.2-rc5-atomic-reserve 56% The failure rate was also measured while building multiple kernels. The failure rate was 14% but is 6% with this patch applied. Overall, this is a small reduction but the reserves are small relative to the number of allocation requests. In early versions of the patch, the failure rate reduced by a much larger amount but that required much larger reserves and perversely made atomic allocations seem more reliable than regular allocations. [yalin.wang2010@xxxxxxxxx: fix redundant check and a memory leak] Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 974a786e63c96a2401a78ddba926f34c128474f1 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:34 2015 -0800 mm, page_alloc: remove MIGRATE_RESERVE MIGRATE_RESERVE preserves an old property of the buddy allocator that existed prior to fragmentation avoidance -- min_free_kbytes worth of pages tended to remain contiguous until the only alternative was to fail the allocation. At the time it was discovered that high-order atomic allocations relied on this property so MIGRATE_RESERVE was introduced. A later patch will introduce an alternative MIGRATE_HIGHATOMIC so this patch deletes MIGRATE_RESERVE and supporting code so it'll be easier to review. Note that this patch in isolation may look like a false regression if someone was bisecting high-order atomic allocation failures. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f77cf4e4cc9d40310a7224a1a67c733aeec78836 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:31 2015 -0800 mm, page_alloc: delete the zonelist_cache The zonelist cache (zlc) was introduced to skip over zones that were recently known to be full. This avoided expensive operations such as the cpuset checks, watermark calculations and zone_reclaim. The situation today is different and the complexity of zlc is harder to justify. 1) The cpuset checks are no-ops unless a cpuset is active and in general are a lot cheaper. 2) zone_reclaim is now disabled by default and I suspect that was a large source of the cost that zlc wanted to avoid. When it is enabled, it's known to be a major source of stalling when nodes fill up and it's unwise to hit every other user with the overhead. 3) Watermark checks are expensive to calculate for high-order allocation requests. Later patches in this series will reduce the cost of the watermark checking. 4) The most important issue is that in the current implementation it is possible for a failed THP allocation to mark a zone full for order-0 allocations and cause a fallback to remote nodes. The last issue could be addressed with additional complexity but as the benefit of zlc is questionable, it is better to remove it. If stalls due to zone_reclaim are ever reported then an alternative would be to introduce deferring logic based on a timeout inside zone_reclaim itself and leave the page allocator fast paths alone. The impact on page-allocator microbenchmarks is negligible as they don't hit the paths where the zlc comes into play. Most page-reclaim related workloads showed no noticeable difference as a result of the removal. The impact was noticeable in a workload called "stutter". One part uses a lot of anonymous memory, a second measures mmap latency and a third copies a large file. In an ideal world the latency application would not notice the mmap latency. On a 2-node machine the results of this patch are stutter 4.3.0-rc1 4.3.0-rc1 baseline nozlc-v4 Min mmap 20.9243 ( 0.00%) 20.7716 ( 0.73%) 1st-qrtle mmap 22.0612 ( 0.00%) 22.0680 ( -0.03%) 2nd-qrtle mmap 22.3291 ( 0.00%) 22.3809 ( -0.23%) 3rd-qrtle mmap 25.2244 ( 0.00%) 25.2396 ( -0.06%) Max-90% mmap 48.0995 ( 0.00%) 28.3713 ( 41.02%) Max-93% mmap 52.5557 ( 0.00%) 36.0170 ( 31.47%) Max-95% mmap 55.8173 ( 0.00%) 47.3163 ( 15.23%) Max-99% mmap 67.3781 ( 0.00%) 70.1140 ( -4.06%) Max mmap 24447.6375 ( 0.00%) 12915.1356 ( 47.17%) Mean mmap 33.7883 ( 0.00%) 27.7944 ( 17.74%) Best99%Mean mmap 27.7825 ( 0.00%) 25.2767 ( 9.02%) Best95%Mean mmap 26.3912 ( 0.00%) 23.7994 ( 9.82%) Best90%Mean mmap 24.9886 ( 0.00%) 23.2251 ( 7.06%) Best50%Mean mmap 22.0157 ( 0.00%) 22.0261 ( -0.05%) Best10%Mean mmap 21.6705 ( 0.00%) 21.6083 ( 0.29%) Best5%Mean mmap 21.5581 ( 0.00%) 21.4611 ( 0.45%) Best1%Mean mmap 21.3079 ( 0.00%) 21.1631 ( 0.68%) Note that the maximum stall latency went from 24 seconds to 12 which is still bad but an improvement. The milage varies considerably 2-node machine on an earlier test went from 494 seconds to 47 seconds and a 4-node machine that tested an earlier version of this patch went from a worst case stall time of 6 seconds to 67ms. The nature of the benchmark is inherently unpredictable as it is hammering the system and the milage will vary between machines. There is a secondary impact with potentially more direct reclaim because zones are now being considered instead of being skipped by zlc. In this particular test run it did not occur so will not be described. However, in at least one test the following was observed 1. Direct reclaim rates were higher. This was likely due to direct reclaim being entered instead of the zlc disabling a zone and busy looping. Busy looping may have the effect of allowing kswapd to make more progress and in some cases may be better overall. If this is found then the correct action is to put direct reclaimers to sleep on a waitqueue and allow kswapd make forward progress. Busy looping on the zlc is even worse than when the allocator used to blindly call congestion_wait(). 2. There was higher swap activity as direct reclaim was active. 3. Direct reclaim efficiency was lower. This is related to 1 as more scanning activity also encountered more pages that could not be immediately reclaimed In that case, the direct page scan and reclaim rates are noticeable but it is not considered a problem for a few reasons 1. The test is primarily concerned with latency. The mmap attempts are also faulted which means there are THP allocation requests. The ZLC could cause zones to be disabled causing the process to busy loop instead of reclaiming. This looks like elevated direct reclaim activity but it's the correct action to take based on what processes requested. 2. The test hammers reclaim and compaction heavily. The number of successful THP faults is highly variable but affects the reclaim stats. It's not a realistic or reasonable measure of page reclaim activity. 3. No other page-reclaim intensive workload that was tested showed a problem. 4. If a workload is identified that benefitted from the busy looping then it should be fixed by having direct reclaimers sleep on a wait queue until woken by kswapd instead of busy looping. We had this class of problem before when congestion_waits() with a fixed timeout was a brain damaged decision but happened to benefit some workloads. If a workload is identified that relied on the zlc to busy loop then it should be fixed correctly and have a direct reclaimer sleep on a waitqueue until woken by kswapd. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 71baba4b92dc1fa1bc461742c6ab1942ec6034e9 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:28 2015 -0800 mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM __GFP_WAIT was used to signal that the caller was in atomic context and could not sleep. Now it is possible to distinguish between true atomic context and callers that are not willing to sleep. The latter should clear __GFP_DIRECT_RECLAIM so kswapd will still wake. As clearing __GFP_WAIT behaves differently, there is a risk that people will clear the wrong flags. This patch renames __GFP_WAIT to __GFP_RECLAIM to clearly indicate what it does -- setting it allows all reclaim activity, clearing them prevents it. [akpm@xxxxxxxxxxxxxxxxxxxx: fix build] [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 40113370836e8e79befa585277296ed42781ef31 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:25 2015 -0800 mm: page_alloc: remove GFP_IOFS GFP_IOFS was intended to be shorthand for clearing two flags, not a set of allocation flags. There is only one user of this flag combination now and there appears to be no reason why Lustre had to be protected from reclaim stalls. As none of the sites appear to be atomic, this patch simply deletes GFP_IOFS and converts Lustre to using GFP_KERNEL, GFP_NOFS or GFP_NOIO as appropriate. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0164adc89f6bb374d304ffcc375c6d2652fe67d Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:21 2015 -0800 mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd __GFP_WAIT has been used to identify atomic context in callers that hold spinlocks or are in interrupts. They are expected to be high priority and have access one of two watermarks lower than "min" which can be referred to as the "atomic reserve". __GFP_HIGH users get access to the first lower watermark and can be called the "high priority reserve". Over time, callers had a requirement to not block when fallback options were available. Some have abused __GFP_WAIT leading to a situation where an optimisitic allocation with a fallback option can access atomic reserves. This patch uses __GFP_ATOMIC to identify callers that are truely atomic, cannot sleep and have no alternative. High priority users continue to use __GFP_HIGH. __GFP_DIRECT_RECLAIM identifies callers that can sleep and are willing to enter direct reclaim. __GFP_KSWAPD_RECLAIM to identify callers that want to wake kswapd for background reclaim. __GFP_WAIT is redefined as a caller that is willing to enter direct reclaim and wake kswapd for background reclaim. This patch then converts a number of sites o __GFP_ATOMIC is used by callers that are high priority and have memory pools for those requests. GFP_ATOMIC uses this flag. o Callers that have a limited mempool to guarantee forward progress clear __GFP_DIRECT_RECLAIM but keep __GFP_KSWAPD_RECLAIM. bio allocations fall into this category where kswapd will still be woken but atomic reserves are not used as there is a one-entry mempool to guarantee progress. o Callers that are checking if they are non-blocking should use the helper gfpflags_allow_blocking() where possible. This is because checking for __GFP_WAIT as was done historically now can trigger false positives. Some exceptions like dm-crypt.c exist where the code intent is clearer if __GFP_DIRECT_RECLAIM is used instead of the helper due to flag manipulations. o Callers that built their own GFP flags instead of starting with GFP_KERNEL and friends now also need to specify __GFP_KSWAPD_RECLAIM. The first key hazard to watch out for is callers that removed __GFP_WAIT and was depending on access to atomic reserves for inconspicuous reasons. In some cases it may be appropriate for them to use __GFP_HIGH. The second key hazard is callers that assembled their own combination of GFP flags instead of starting with something like GFP_KERNEL. They may now wish to specify __GFP_KSWAPD_RECLAIM. It's almost certainly harmless if it's missed in most cases as other activity will wake kswapd. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 016c13daa5c9e4827eca703e2f0621c131f2cca3 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:18 2015 -0800 mm, page_alloc: use masks and shifts when converting GFP flags to migrate types This patch redefines which GFP bits are used for specifying mobility and the order of the migrate types. Once redefined it's possible to convert GFP flags to a migrate type with a simple mask and shift. The only downside is that readers of OOM kill messages and allocation failures may have been used to the existing values but scripts/gfp-translate will help. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 46e700abc44ce215acb4341d9702ce3972eda571 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:15 2015 -0800 mm, page_alloc: remove unnecessary taking of a seqlock when cpusets are disabled There is a seqcounter that protects against spurious allocation failures when a task is changing the allowed nodes in a cpuset. There is no need to check the seqcounter until a cpuset exists. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c9ab0c4fbeb0202bac3548378a977e1536ebe3ca Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:12 2015 -0800 mm, page_alloc: remove unnecessary recalculations for dirty zone balancing File-backed pages that will be immediately written are balanced between zones. This heuristic tries to avoid having a single zone filled with recently dirtied pages but the checks are unnecessarily expensive. Move consider_zone_balanced into the alloc_context instead of checking bitmaps multiple times. The patch also gives the parameter a more meaningful name. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e2b19197ff9dc46f3e3888f273c4395f9e5a9856 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:09 2015 -0800 mm, page_alloc: remove unnecessary parameter from zone_watermark_ok_safe Overall, the intent of this series is to remove the zonelist cache which was introduced to avoid high overhead in the page allocator. Once this is done, it is necessary to reduce the cost of watermark checks. The series starts with minor micro-optimisations. Next it notes that GFP flags that affect watermark checks are abused. __GFP_WAIT historically identified callers that could not sleep and could access reserves. This was later abused to identify callers that simply prefer to avoid sleeping and have other options. A patch distinguishes between atomic callers, high-priority callers and those that simply wish to avoid sleep. The zonelist cache has been around for a long time but it is of dubious merit with a lot of complexity and some issues that are explained. The most important issue is that a failed THP allocation can cause a zone to be treated as "full". This potentially causes unnecessary stalls, reclaim activity or remote fallbacks. The issues could be fixed but it's not worth it. The series places a small number of other micro-optimisations on top before examining GFP flags watermarks. High-order watermarks enforcement can cause high-order allocations to fail even though pages are free. The watermark checks both protect high-order atomic allocations and make kswapd aware of high-order pages but there is a much better way that can be handled using migrate types. This series uses page grouping by mobility to reserve pageblocks for high-order allocations with the size of the reservation depending on demand. kswapd awareness is maintained by examining the free lists. By patch 12 in this series, there are no high-order watermark checks while preserving the properties that motivated the introduction of the watermark checks. This patch (of 10): No user of zone_watermark_ok_safe() specifies alloc_flags. This patch removes the unnecessary parameter. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit db2a0dd7a43de595d3f0542986bb17ccb6cc364c Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Fri Nov 6 16:28:06 2015 -0800 mm/oom_kill.c: introduce is_sysrq_oom helper Introduce is_sysrq_oom helper function indicating oom kill triggered by sysrq to improve readability. No functional changes. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 27eb427bdc0960ad64b72da03e3596c801e7a9e9 Merge: 7130098 2959a32 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 17:17:13 2015 -0800 Merge branch 'for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs updates from Chris Mason: "We have a lot of subvolume quota improvements in here, along with big piles of cleanups from Dave Sterba and Anand Jain and others. Josef pitched in a batch of allocator fixes based on production use here at FB. We found that mount -o ssd_spread greatly improved our performance on hardware raid5/6, but it exposed some CPU bottlenecks in the allocator. These patches make a huge difference" * 'for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (100 commits) Btrfs: fix hole punching when using the no-holes feature Btrfs: find_free_extent: Do not erroneously skip LOOP_CACHING_WAIT state btrfs: Fix a data space underflow warning btrfs: qgroup: Fix a rebase bug which will cause qgroup double free btrfs: qgroup: Fix a race in delayed_ref which leads to abort trans btrfs: clear PF_NOFREEZE in cleaner_kthread() btrfs: qgroup: Don't copy extent buffer to do qgroup rescan btrfs: add balance filters limits, stripes and usage to supported mask btrfs: extend balance filter usage to take minimum and maximum btrfs: add balance filter for stripes btrfs: extend balance filter limit to take minimum and maximum btrfs: fix use after free iterating extrefs btrfs: check unsupported filters in balance arguments Btrfs: fix regression running delayed references when using qgroups Btrfs: fix regression when running delayed references Btrfs: don't do extra bitmap search in one bit case Btrfs: keep track of largest extent in bitmaps Btrfs: don't keep trying to build clusters if we are fragmented Btrfs: cut down on loops through the allocator Btrfs: don't continue setting up space cache when enospc ... commit 1f47b0ddf3ebebe632b96b29a0033505d5adfe8b Merge: 1ede53f d7e53e3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Nov 7 01:30:49 2015 +0100 Merge branch 'pm-cpufreq' * pm-cpufreq: cpufreq: s5pv210-cpufreq: fix wrong do_div() usage MAINTAINERS: update for intel P-state driver cpufreq: governor: Quit work-handlers early if governor is stopped intel_pstate: decrease number of "HWP enabled" messages cpufreq: arm_big_little: fix frequency check when bL switcher is active commit 1ede53f73171722fcf1b5be63bcd64e42d14affc Merge: 3930f66 0597e81 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Nov 7 01:30:40 2015 +0100 Merge branch 'pm-opp' * pm-opp: PM / OPP: Add opp_rcu_lockdep_assert() to _find_device_opp() PM / OPP: Hold dev_opp_list_lock for writers PM / OPP: Protect updates to list_dev with mutex PM / OPP: Propagate error properly from dev_pm_opp_set_sharing_cpus() PM / OPP: Parse all power-supply related bindings together PM / OPP: Rename routines specific to old bindings with _v1 PM / OPP: Improve print messages with pr_fmt commit 3930f660b4eea1de077969174e6e055d51413fab Merge: f2115fa e50b9be efb2d3b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Nov 7 01:30:22 2015 +0100 Merge branches 'acpi-video' and 'acpi-cppc' * acpi-video: ACPI / video: only register backlight for LCD device ACPI / video: Add a quirk to force acpi-video backlight on Dell XPS L421X * acpi-cppc: cpufreq: CPPC: Delete an unnecessary check before the function call kfree() commit f2115faaf0df42623638dfbfc5bdaab6ef7375ab Merge: 0d51ce9 29dbe1f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Nov 7 01:30:10 2015 +0100 Merge branch 'acpi-pci' * acpi-pci: PCI: ACPI: Add support for PCI device DMA coherency PCI: OF: Move of_pci_dma_configure() to pci_dma_configure() of/pci: Fix pci_get_host_bridge_device leak device property: ACPI: Remove unused DMA APIs device property: ACPI: Make use of the new DMA Attribute APIs device property: Adding DMA Attribute APIs for Generic Devices ACPI: Adding DMA Attribute APIs for ACPI Device device property: Introducing enum dev_dma_attr ACPI: Honor ACPI _CCA attribute setting Conflicts: drivers/crypto/ccp/ccp-platform.c commit 29dbe1f0af88b4162d2b57e790db7a51ab061f35 Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:54 2015 -0700 PCI: ACPI: Add support for PCI device DMA coherency This patch adds support for setting up PCI device DMA coherency from ACPI _CCA object that should normally be specified in the DSDT node of its PCI host bridge. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 50230713b63941f4b6b562eea0834f751aa0801e Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:53 2015 -0700 PCI: OF: Move of_pci_dma_configure() to pci_dma_configure() This patch move of_pci_dma_configure() to a more generic pci_dma_configure(), which can be extended by non-OF code (e.g. ACPI). This has no functional change. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 37efbe20fb19cee43d95b7ba9e54d5d0b00c0d67 Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:52 2015 -0700 of/pci: Fix pci_get_host_bridge_device leak In case of error, the current code return w/o calling pci_put_host_bridge_device. This patch fixes this. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ab3d527329f01dd63dc852041006d1a24895d116 Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:51 2015 -0700 device property: ACPI: Remove unused DMA APIs These DMA APIs are replaced with the newer versions, which return the enum dev_dma_attr. So, we can safely remove them. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1831eff876bd0bb8d64e9965a7ff47486c9a3ecd Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:50 2015 -0700 device property: ACPI: Make use of the new DMA Attribute APIs Now that we have the new DMA attribute APIs, we can replace the older acpi_check_dma() and device_dma_is_coherent(). Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e5e558644bbb23cad03c586703331b8bcd9e0e6c Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:49 2015 -0700 device property: Adding DMA Attribute APIs for Generic Devices The function device_dma_is_coherent() does not sufficiently communicate device DMA attributes. Instead, this patch introduces device_get_dma_attr(), which returns enum dev_dma_attr. It replaces the acpi_check_dma(), which will be removed in subsequent patch. This also provides a convenient function, device_dma_supported(), to check DMA support of the specified device. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b84f196d963c3159329f72ca1913b08679004a43 Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:48 2015 -0700 ACPI: Adding DMA Attribute APIs for ACPI Device Adding acpi_get_dma_attr() to query DMA attributes of ACPI devices. It returns the enum dev_dma_attr, which communicates DMA information more clearly. This API replaces the acpi_check_dma(), which will be removed in subsequent patch. This patch also provides a convenient function, acpi_dma_supported(), to check DMA support of the specified ACPI device. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1b9863c6aa56d92126ec0d5c42eae25df52b7ca1 Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:47 2015 -0700 device property: Introducing enum dev_dma_attr A device could have one of the following DMA attributes: * DMA not supported * DMA non-coherent * DMA coherent So, this patch introduces enum dev_dma_attribute. This will be used by new APIs introduced in later patches. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d764c21c7b1aa5ce982eaa8400517d8004d30267 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 28 15:50:46 2015 -0700 ACPI: Honor ACPI _CCA attribute setting ACPI configurations can now mark devices as noncoherent, support that choice. NOTE: This is required to support USB on ARM Juno Development Board. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 713009809681e5a7871e96e6992692c805b4480b Merge: 9cf5c09 be69e1c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:23:27 2015 -0800 Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 updates from Ted Ts'o: "Add support for the CSUM_SEED feature which will allow future userspace utilities to change the file system's UUID without rewriting all of the file system metadata. A number of miscellaneous fixes, the most significant of which are in the ext4 encryption support. Anyone wishing to use the encryption feature should backport all of the ext4 crypto patches up to 4.4 to get fixes to a memory leak and file system corruption bug. There are also cleanups in ext4's feature test macros and in ext4's sysfs support code" * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (26 commits) fs/ext4: remove unnecessary new_valid_dev check ext4: fix abs() usage in ext4_mb_check_group_pa ext4: do not allow journal_opts for fs w/o journal ext4: explicit mount options parsing cleanup ext4, jbd2: ensure entering into panic after recording an error in superblock [PATCH] fix calculation of meta_bg descriptor backups ext4: fix potential use after free in __ext4_journal_stop jbd2: fix checkpoint list cleanup ext4: fix xfstest generic/269 double revoked buffer bug with bigalloc ext4: make the bitmap read routines return real error codes jbd2: clean up feature test macros with predicate functions ext4: clean up feature test macros with predicate functions ext4: call out CRC and corruption errors with specific error codes ext4: store checksum seed in superblock ext4: reserve code points for the project quota feature ext4: promote ext4 over ext2 in the default probe order jbd2: gate checksum calculations on crc driver presence, not sb flags ext4: use private version of page_zero_new_buffers() for data=journal mode ext4 crypto: fix bugs in ext4_encrypted_zeroout() ext4 crypto: replace some BUG_ON()'s with error checks ... commit efb2d3be53e4343ab6495729b3ec9ffb95261035 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 21:10:29 2015 +0100 cpufreq: CPPC: Delete an unnecessary check before the function call kfree() The kfree() 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: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0597e818501f595090a49a1779ab6ec377051b11 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Nov 5 14:21:21 2015 +0530 PM / OPP: Add opp_rcu_lockdep_assert() to _find_device_opp() _find_device_opp() should be called with rcu-read lock or dev_opp_list_lock held. Add the opp_rcu_lockdep_assert() check to make sure caller have taken appropriate locks. Fix comment over the routine as well. 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 4a3a1353a84796f93d389694e3b87ede533953fe Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Nov 5 14:21:20 2015 +0530 PM / OPP: Hold dev_opp_list_lock for writers Writers need to update OPP device and their list with dev_opp_list_lock mutex held, which was missed at few places. Fix it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: 4.3 <stable@xxxxxxxxxxxxxxx> # 4.3 Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 87b4115db0239865bc812f61704bb1f43e2439b6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Nov 5 14:21:19 2015 +0530 PM / OPP: Protect updates to list_dev with mutex dev_opp_list_lock is used everywhere to protect device and OPP lists, but dev_pm_opp_set_sharing_cpus() is missed somehow. And instead we used rcu-lock, which wouldn't help here as we are adding a new list_dev. This also fixes a problem where we have called kzalloc(..., GFP_KERNEL) from within rcu-lock, which isn't allowed as kzalloc can sleep when called with GFP_KERNEL. With CONFIG_DEBUG_ATOMIC_SLEEP set, we get following lockdep-splat: include/linux/rcupdate.h:578 Illegal context switch in RCU read-side critical section! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 5 locks held by swapper/0/1: #0: (&dev->mutex){......}, at: [<c02f68f4>] __driver_attach+0x48/0x98 #1: (&dev->mutex){......}, at: [<c02f6904>] __driver_attach+0x58/0x98 #2: (cpu_hotplug.lock){++++++}, at: [<c00249d0>] get_online_cpus+0x40/0xb0 #3: (subsys mutex#5){+.+.+.}, at: [<c02f4f8c>] subsys_interface_register+0x44/0xdc #4: (rcu_read_lock){......}, at: [<c0305c80>] dev_pm_opp_set_sharing_cpus+0x0/0x1e4 stack backtrace: CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 4.3.0-rc7-00047-g81f5932958a8 #59 Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [<c0016874>] (unwind_backtrace) from [<c001355c>] (show_stack+0x10/0x14) [<c001355c>] (show_stack) from [<c022553c>] (dump_stack+0x94/0xbc) [<c022553c>] (dump_stack) from [<c004904c>] (___might_sleep+0x24c/0x298) [<c004904c>] (___might_sleep) from [<c00f07e4>] (kmem_cache_alloc+0xe8/0x164) [<c00f07e4>] (kmem_cache_alloc) from [<c0305354>] (_add_list_dev+0x30/0x58) [<c0305354>] (_add_list_dev) from [<c0305d50>] (dev_pm_opp_set_sharing_cpus+0xd0/0x1e4) [<c0305d50>] (dev_pm_opp_set_sharing_cpus) from [<c040eda4>] (cpufreq_init+0x4cc/0x62c) [<c040eda4>] (cpufreq_init) from [<c040a964>] (cpufreq_online+0xbc/0x73c) [<c040a964>] (cpufreq_online) from [<c02f4fe0>] (subsys_interface_register+0x98/0xdc) [<c02f4fe0>] (subsys_interface_register) from [<c040a640>] (cpufreq_register_driver+0x110/0x17c) [<c040a640>] (cpufreq_register_driver) from [<c040ef64>] (dt_cpufreq_probe+0x60/0x8c) [<c040ef64>] (dt_cpufreq_probe) from [<c02f8084>] (platform_drv_probe+0x44/0xa4) [<c02f8084>] (platform_drv_probe) from [<c02f67c0>] (driver_probe_device+0x208/0x2f4) [<c02f67c0>] (driver_probe_device) from [<c02f6940>] (__driver_attach+0x94/0x98) [<c02f6940>] (__driver_attach) from [<c02f4c1c>] (bus_for_each_dev+0x68/0x9c) Reported-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: 4.3 <stable@xxxxxxxxxxxxxxx> # 4.3 Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1794ec1f9585501e4ed4390f5a5d396fd28c63ce Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Nov 5 14:21:18 2015 +0530 PM / OPP: Propagate error properly from dev_pm_opp_set_sharing_cpus() We are returning 0 even in case of errors, fix it. Fixes: 8d4d4e98acd6 ("PM / OPP: Add helpers for initializing CPU OPPs") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: 4.3 <stable@xxxxxxxxxxxxxxx> # 4.3 Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 54bcfdf19ec7c2f2788fa76426c91abdc4dab973 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 20:00:42 2015 +0100 UBIFS: Delete unnecessary checks before the function call "iput" The iput() 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: Richard Weinberger <richard@xxxxxx> commit a396ce4bd21dd67bcec2aabc05f81fd2fa14f820 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 19 22:26:43 2015 +0200 UBI: Remove in vain semicolon ...found while browsing. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 2a130f1aa54c2fb35abfc4d66e0239c80d054210 Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 14:55:55 2015 -0300 UBI: Fastmap: Fix PEB array type The PEB array is an array of __be32, so let's fix the scan_pool() prototype accordingly. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit aeeb14f763917ccf639a602cfbeee6957fd944a2 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 12 23:35:36 2015 +0200 UBIFS: Fix possible memory leak in ubifs_readdir() If ubifs_tnc_next_ent() returns something else than -ENOENT we leak file->private_data. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: David Gstir <david@xxxxxxxxxxxxx> commit 86ba9ed928f33cf6afbac433ff03dd8c6a0ceac4 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 21:57:33 2015 +0800 fs/ubifs: remove unnecessary new_valid_dev check As currently new_valid_dev always returns 1, so new_valid_dev check is not needed, remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 9cf5c095b65da63c08b928a7d0015d5d5dca8a66 Merge: 22402cd 4008cb3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 14:22:15 2015 -0800 Merge tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic Pull asm-generic cleanups from Arnd Bergmann: "The asm-generic changes for 4.4 are mostly a series from Christoph Hellwig to clean up various abuses of headers in there. The patch to rename the io-64-nonatomic-*.h headers caused some conflicts with new users, so I added a workaround that we can remove in the next merge window. The only other patch is a warning fix from Marek Vasut" * tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: asm-generic: temporarily add back asm-generic/io-64-nonatomic*.h asm-generic: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations gpio-mxc: stop including <asm-generic/bug> n_tracesink: stop including <asm-generic/bug> n_tracerouter: stop including <asm-generic/bug> mlx5: stop including <asm-generic/kmap_types.h> hifn_795x: stop including <asm-generic/kmap_types.h> drbd: stop including <asm-generic/kmap_types.h> move count_zeroes.h out of asm-generic move io-64-nonatomic*.h out of asm-generic commit 2eb5f31bc4ea24bb293e82934cfa1cce9573304b Author: Anton Ivanov <aivanov@xxxxxxxxxxx> Date: Mon Nov 2 16:16:37 2015 +0000 um: Switch clocksource to hrtimers UML is using an obsolete itimer call for all timers and "polls" for kernel space timer firing in its userspace portion resulting in a long list of bugs and incorrect behaviour(s). It also uses ITIMER_VIRTUAL for its timer which results in the timer being dependent on it running and the cpu load. This patch fixes this by moving to posix high resolution timers firing off CLOCK_MONOTONIC and relaying the timer correctly to the UML userspace. Fixes: - crashes when hosts suspends/resumes - broken userspace timers - effecive ~40Hz instead of what they should be. Note - this modifies skas behavior by no longer setting an itimer per clone(). Timer events are relayed instead. - kernel network packet scheduling disciplines - tcp behaviour especially under load - various timer related corner cases Finally, overall responsiveness of userspace is better. Signed-off-by: Thomas Meyer <thomas@xxxxxxxx> Signed-off-by: Anton Ivanov <aivanov@xxxxxxxxxxx> [rw: massaged commit message] Signed-off-by: Richard Weinberger <richard@xxxxxx> commit e17c6d77b28c6feab446ad6eaec865e8031ed616 Author: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Date: Thu Oct 29 21:00:32 2015 +0530 um: net: replace GFP_KERNEL with GFP_ATOMIC when spinlock is held since GFP_KERNEL with GFP_ATOMIC while spinlock is held, as code while holding a spinlock should be atomic. GFP_KERNEL may sleep and can cause deadlock, where as GFP_ATOMIC may fail but certainly avoids deadlockdex f70dd54..d898f6c 100644 Signed-off-by: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 70c8205f40a385383b0c81f59550cf27273bf912 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 22:26:09 2015 +0100 um: Report host OOM more nicely If UML runs on the host side out of memory, report this condition more nicely. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 1b2411c283e8e178b1c57d07f7fe082442a0927b Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 26 10:38:27 2015 +0100 um: Simplify STUB_DATA loading As long STUB_DATA fits into 32bits we can use a plain mov. If it will grow at some point in future we will switch to movabsq. In any case the code is smaller and more easy to read than the current one Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 246d254f1ab62bc83ac84a8ebd263e5384412ce8 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 21:41:10 2015 +0100 um: Remove dead symbol from i386 syscall stub syscall_stub is nowhere used these days. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ec2c6c01ff241f8fad95c79de3364c76a474b3fa Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 21:41:10 2015 +0100 um: Remove dead code from x86_64 syscall stub syscall_stub is dead code as um is using only batch_syscall_stub. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit f10e6d652bc2dad67b5e7b6e6d890c76f739ed77 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 20:28:14 2015 +0100 um: Get rid of open coded NR_SYSCALLS We can use __NR_syscall_max. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 1d80f0cda10118d7505bd0a09a5c1c72f3a5f6c8 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 19:54:33 2015 +0100 um: Store syscall number after syscall_trace_enter() To support changing syscall numbers we have to store it after syscall_trace_enter(). Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 44011b897adf4be7a5bd7f2baf2ffec9cd87ec74 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 11:44:05 2015 +0100 um: Define PTRACE_OLDSETOPTIONS ...such that processes within UML can do a ptrace(PTRACE_OLDSETOPTIONS, ...) Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 22402cd0af685c1a5d067c87db3051db7fff7709 Merge: 7c623ca d227c3a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 13:30:20 2015 -0800 Merge tag 'trace-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracking updates from Steven Rostedt: "Most of the changes are clean ups and small fixes. Some of them have stable tags to them. I searched through my INBOX just as the merge window opened and found lots of patches to pull. I ran them through all my tests and they were in linux-next for a few days. Features added this release: ---------------------------- - Module globbing. You can now filter function tracing to several modules. # echo '*:mod:*snd*' > set_ftrace_filter (Dmitry Safonov) - Tracer specific options are now visible even when the tracer is not active. It was rather annoying that you can only see and modify tracer options after enabling the tracer. Now they are in the options/ directory even when the tracer is not active. Although they are still only visible when the tracer is active in the trace_options file. - Trace options are now per instance (although some of the tracer specific options are global) - New tracefs file: set_event_pid. If any pid is added to this file, then all events in the instance will filter out events that are not part of this pid. sched_switch and sched_wakeup events handle next and the wakee pids" * tag 'trace-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (68 commits) tracefs: Fix refcount imbalance in start_creating() tracing: Put back comma for empty fields in boot string parsing tracing: Apply tracer specific options from kernel command line. tracing: Add some documentation about set_event_pid ring_buffer: Remove unneeded smp_wmb() before wakeup of reader benchmark tracing: Allow dumping traces without tracking trace started cpus ring_buffer: Fix more races when terminating the producer in the benchmark ring_buffer: Do no not complete benchmark reader too early tracing: Remove redundant TP_ARGS redefining tracing: Rename max_stack_lock to stack_trace_max_lock tracing: Allow arch-specific stack tracer recordmcount: arm64: Replace the ignored mcount call into nop recordmcount: Fix endianness handling bug for nop_mcount tracepoints: Fix documentation of RCU lockdep checks tracing: ftrace_event_is_function() can return boolean tracing: is_legal_op() can return boolean ring-buffer: rb_event_is_commit() can return boolean ring-buffer: rb_per_cpu_empty() can return boolean ring_buffer: ring_buffer_empty{cpu}() can return boolean ring-buffer: rb_is_reader_page() can return boolean ... commit 2b62c2dbb902625f5c5a30c0209f261b1cf15a2a Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Nov 6 15:47:29 2015 -0500 tools/liblockdep: explicitly declare lockdep API we call from liblockdep It seems that newer gcc complains about lack of explicit declaration for some of the API we use, add it in. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> commit e308e942e122f5de1a180f0b2a4002d09a757f45 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Nov 6 15:34:23 2015 -0500 tools/liblockdep: add userspace versions of WRITE_ONCE and RCU_INIT_POINTER These were added to the kernel code in cee34d88c ("lockdep: Fix a race between /proc/lock_stat and module unload"). There's nothing special we need to do about them in userspace. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> commit 1393ba5c9beb2b33e315d9d4348a15ab3d1bf3a6 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Nov 6 15:29:52 2015 -0500 tools/liblockdep: remove task argument from debug_check_no_locks_held The tas argument was removed from the kernel code in 1b1d2fb4 ("lockdep: remove task argument from debug_check_no_locks_held"). Remove it in loblockdep too. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> commit 345c99a303e1d97b407bf99190314a878d59ca92 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Nov 6 17:03:38 2015 -0300 perf test: Do not be case sensitive when searching for matching tests Before: # perf test llvm # perf test LLVM 35: Test LLVM searching and compiling : Ok # After # perf test llvm 35: Test LLVM searching and compiling : Ok # Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-c1u05npqbf6epse17ovfejoj@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba1fae431e74bb427a699187434142fd3fe98390 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:49:43 2015 +0000 perf test: Add 'perf test BPF' This patch adds BPF testcase for testing BPF event filtering. By utilizing the result of 'perf test LLVM', this patch compiles the eBPF sample program then test its ability. The BPF script in 'perf test LLVM' lets only 50% samples generated by epoll_pwait() to be captured. This patch runs that system call for 111 times, so the result should contain 56 samples. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446817783-86722-8-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7af3f3d55b80cce40ad94b6b8e173dccedaf25e6 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:49:42 2015 +0000 perf test: Enhance the LLVM tests: add kbuild test This patch adds a kbuild testcase to check whether kernel headers can be correctly found. For example: # mv /lib/modules/4.3.0-rc5{,.bak} # perf test LLVM 38: Test LLVM searching and compiling : Skip # perf test -v LLVM ... <stdin>:11:10: fatal error: 'uapi/linux/fs.h' file not found #include <uapi/linux/fs.h> ^ 1 error generated. ERROR: unable to compile - Hint: Check error message shown above. Hint: You can also pre-compile it into .o using: clang -target bpf -O2 -c - with proper -I and -D options. Failed to compile test case: 'Test kbuild searching' test child finished with -2 Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446817783-86722-7-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b31de018a6284a25e0fdfeb028e724f8417ec3b1 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:49:41 2015 +0000 perf test: Enhance the LLVM test: update basic BPF test program This patch replaces the original toy BPF program with the previously introduced bpf-script-example.c. Dynamically embeddeding it into 'llvm-src-base.c'. The newly introduced BPF program attaches a BPF program to 'sys_epoll_pwait()'. perf itself never use that syscall, so further test can verify their result with it. The program would generate 1 sample in every 2 calls of epoll_pwait() system call. Since the resulting BPF object is useful per se for further tests, test_llvm__fetch_bpf_obj() is introduced for creating BPF objects from source. The LLVM test was rewritten to use it. Committer note: Running it: [root@zoo wb]# perf test -v LLVM 35: Test LLVM searching and compiling : --- start --- test child forked, pid 17740 Kernel build dir is set to /lib/modules/4.3.0-rc1+/build set env: KBUILD_DIR=/lib/modules/4.3.0-rc1+/build unset env: KBUILD_OPTS include option is set to -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include -I/home/git/linux/arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated -I/home/git/linux/include -Iinclude -I/home/git/linux/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/home/git/linux/include/uapi -Iinclude/generated/uapi -include /home/git/linux/include/linux/kconfig.h set env: NR_CPUS=4 set env: LINUX_VERSION_CODE=0x40300 set env: CLANG_EXEC=/usr/libexec/icecc/bin/clang set env: CLANG_OPTIONS=-xc set env: KERNEL_INC_OPTIONS= -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include -I/home/git/linux/arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated -I/home/git/linux/include -Iinclude -I/home/git/linux/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/home/git/linux/include/uapi -Iinclude/generated/uapi -include /home/git/linux/include/linux/kconfig.h set env: WORKING_DIR=/lib/modules/4.3.0-rc1+/build set env: CLANG_SOURCE=- llvm compiling command template: echo '/* * bpf-script-example.c * Test basic LLVM building */ #ifndef LINUX_VERSION_CODE # error Need LINUX_VERSION_CODE # error Example: for 4.2 kernel, put 'clang-opt="-DLINUX_VERSION_CODE=0x40200" into llvm section of ~/.perfconfig' #endif #define BPF_ANY 0 #define BPF_MAP_TYPE_ARRAY 2 #define BPF_FUNC_map_lookup_elem 1 #define BPF_FUNC_map_update_elem 2 static void *(*bpf_map_lookup_elem)(void *map, void *key) = (void *) BPF_FUNC_map_lookup_elem; static void *(*bpf_map_update_elem)(void *map, void *key, void *value, int flags) = (void *) BPF_FUNC_map_update_elem; struct bpf_map_def { unsigned int type; unsigned int key_size; unsigned int value_size; unsigned int max_entries; }; #define SEC(NAME) __attribute__((section(NAME), used)) struct bpf_map_def SEC("maps") flip_table = { .type = BPF_MAP_TYPE_ARRAY, .key_size = sizeof(int), .value_size = sizeof(int), .max_entries = 1, }; SEC("func=sys_epoll_pwait") int bpf_func__sys_epoll_pwait(void *ctx) { int ind =0; int *flag = bpf_map_lookup_elem(&flip_table, &ind); int new_flag; if (!flag) return 0; /* flip flag and store back */ new_flag = !*flag; bpf_map_update_elem(&flip_table, &ind, &new_flag, BPF_ANY); return new_flag; } char _license[] SEC("license") = "GPL"; int _version SEC("version") = LINUX_VERSION_CODE; ' | $CLANG_EXEC -D__KERNEL__ -D__NR_CPUS__=$NR_CPUS -DLINUX_VERSION_CODE=$LINUX_VERSION_CODE $CLANG_OPTIONS $KERNEL_INC_OPTIONS -Wno-unused-value -Wno-pointer-sign -working-directory $WORKING_DIR -c "$CLANG_SOURCE" -target bpf -O2 -o - test child finished with 0 ---- end ---- Test LLVM searching and compiling: Ok [root@zoo wb]# Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446817783-86722-6-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d64e19db030dadb1c9d2747ace919fd952be359c Merge: df70793 937804f 18339f5 f3984ed 29fae1c c6956eb 6d4f544 8d2f847 636a89d 86e88f0 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Fri Nov 6 21:45:15 2015 +0100 Merge branches 'for-4.3/upstream-fixes', 'for-4.4/corsair', 'for-4.4/dragonrise', 'for-4.4/i2c-hid', 'for-4.4/logitech', 'for-4.4/microsoft', 'for-4.4/multitouch', 'for-4.4/roccat-sysfs-deprecation', 'for-4.4/upstream' and 'for-4.4/wacom' into for-linus commit 7c623cac4939fb36916c029609dd22e3dec0a014 Merge: 9bbd4b9 829a7da Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 12:33:41 2015 -0800 Merge tag 'for-v4.4-important-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply Pull power supply fix from Sebastian Reichel: "Just a single revert for a patch, that I should not have queued. Detailed description is inside the patch. It's totally my fault, that this happened, sorry about that :(" * tag 'for-v4.4-important-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: Revert "ARM: dts: twl4030: Add iio properties for bci subnode" commit 29fae1c85166ef525b8b6518e749295e0c9d1e20 Author: Simon Wood <simon@xxxxxxxxxxxxx> Date: Mon Nov 2 07:56:52 2015 -0700 HID: logitech: Add support for G29 At present the G29 is mis-identified as a DFGT, this patch ensures that the wheel is correctly detected and allows setting the LEDs and turning range via the '/sys' interface. This wheel can also emulate other types of Logitech wheels. Signed-off-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit bbec1bd0faa211a0a0abaf947cd4a236d080ad28 Author: Simon Wood <simon@xxxxxxxxxxxxx> Date: Mon Nov 2 07:56:51 2015 -0700 HID: logitech: Simplify wheel detection scheme Simplfy how hid-logitech driver detects the native mode of the wheel, done by looking at the USB-ID revision and comparing bit mask. Signed-off-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 829a7da03fd5f94c3a3ee1f8e22371e81cf73c79 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Nov 6 17:00:01 2015 +0100 Revert "ARM: dts: twl4030: Add iio properties for bci subnode" This reverts commit af19161aaed7ff8d1a52b2e517460f2fa0774e32, which breaks the omap3 device tree build due to a wrong reference. I accidently queued this change via the power supply subsystem while telling Marek at the same time, that it should go through Tony. Following that I did miss Stephen's messages about the build failure in linux-next and since he switched to merging an older snapshot nobody else noticed the problem in my tree. I didn't notice myself, since I did not build any device tree files assuming none have changed by me. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Reported-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9bbd4b9f38f56b4ee2c8ff268a1104ff38333e90 Merge: 3e069ad 2d799dd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 12:17:09 2015 -0800 Merge tag 'devicetree-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull DeviceTree updates from Rob Herring: "A fairly large (by DT standards) pull request this time with the majority being some overdue moving DT binding docs around to consolidate similar bindings. - DT binding doc consolidation moving similar bindings to common locations. The majority of these are display related which were scattered in video/, fb/, drm/, gpu/, and panel/ directories. - Add new config option, CONFIG_OF_ALL_DTBS, to enable building all dtbs in the tree for most arches with dts files (except powerpc for now). - OF_IRQ=n fixes for user enabled CONFIG_OF. - of_node_put ref counting fixes from Julia Lawall. - Common DT binding for wakeup-source and deprecation of all similar bindings. - DT binding for PXA LCD controller. - Allow ignoring failed PCI resource translations in order to ignore 64-bit addresses on non-LPAE 32-bit kernels. - Support setting the NUMA node from DT instead of only from parent device. - Couple of earlycon DT parsing fixes for address and options" * tag 'devicetree-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (45 commits) MAINTAINERS: update DT binding doc locations devicetree: add Sigma Designs vendor prefix of: simplify arch_find_n_match_cpu_physical_id() function Documentation: arm: Fixed typo in socfpga fpga mgr example Documentation: devicetree: fix reference to legacy wakeup properties Documentation: devicetree: standardize/consolidate on "wakeup-source" property drivers: of: removing assignment of 0 to static variable xtensa: enable building of all dtbs mips: enable building of all dtbs metag: enable building of all dtbs metag: use common make variables for dtb builds h8300: enable building of all dtbs arm64: enable building of all dtbs arm: enable building of all dtbs arc: enable building of all dtbs arc: use common make variables for dtb builds of: add config option to enable building of all dtbs of/fdt: fix error checking for earlycon address of/overlay: add missing of_node_put of/platform: add missing of_node_put ... commit d3e0ce393057cfa907a0c4fe7b1ff56d5c30cca5 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:58:09 2015 +0000 perf bpf: Improve BPF related error messages A series of bpf loader related error codes were introduced to help error reporting. Functions were improved to return these new error codes. Functions which return pointers were adjusted to encode error codes into return value using the ERR_PTR() interface. bpf_loader_strerror() was improved to convert these error messages to strings. It checks the error codes and calls libbpf_strerror() and strerror_r() accordingly, so caller don't need to consider checking the range of the error code. In bpf__strerror_load(), print kernel version of running kernel and the object's 'version' section to notify user how to fix his/her program. v1 -> v2: Use macro for error code. Fetch error message based on array index, eliminate for-loop. Print version strings. Before: # perf record -e ./test_kversion_nomatch_program.o sleep 1 event syntax error: './test_kversion_nomatch_program.o' \___ Failed to load program: Validate your program and check 'license'/'version' sections in your object SKIP After: # perf record -e ./test_kversion_nomatch_program.o ls event syntax error: './test_kversion_nomatch_program.o' \___ 'version' (4.4.0) doesn't match running kernel (4.3.0) SKIP Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446818289-87444-1-git-send-email-wangnan0@xxxxxxxxxx [ Add 'static inline' to bpf__strerror_prepare_load() when LIBBPF is disabled ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3e069adabc9487b5e28065a17e6a228da3412dfd Merge: 02f0d3f e60e063 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 11:57:41 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: "Items of note: - evdev users can now limit or mask the kind of events they will receive. This will allow applications such as power manager or network manager to only be woken when user presses special keys such as KEY_POWER or KEY_WIFI and not be bothered with ordinary key presses coming from keyboard - support for FocalTech FT6236 touchscreen controller - support for ROHM BU21023/24 touchscreen controller - edt-ft5x06 touchscreen driver got a face lift and can now be used with FT5506 - support for Google Fiber TV Box remote controls - improvements in xpad driver (with more to come) - several parport-based drivers have been switched to the new device model - other miscellaneous driver improvements" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (70 commits) HID: hid-gfrm: avoid warning for input_configured API change HID: hid-input: allow input_configured callback return errors Input: evdev - fix bug in checking duplicate clock change request Input: add userio module Input: evdev - add event-mask API Input: snvs_pwrkey - remove duplicated semicolon HID: hid-gfrm: Google Fiber TV Box remote controls Input: e3x0-button - update Kconfig description Input: tegra-kbc - drop use of IRQF_NO_SUSPEND flag Input: tegra-kbc - enable support for the standard "wakeup-source" property Input: xen - check return value of xenbus_printf Input: hp_sdc_rtc - fix y2038 problem in proc_show Input: nomadik-ske-keypad - fix a trivial typo Input: xpad - fix clash of presence handling with LED setting Input: edt-ft5x06 - work around FT5506 firmware bug Input: edt-ft5x06 - add support for FT5506 Input: edt-ft5x06 - add support for different max support points Input: edt-ft5x06 - use max support points to determine how much to read Input: rotary-encoder - add support for quarter-period mode Input: rotary-encoder - use of_property_read_bool ... commit 02f0d3f758ab456c50199b723a53f2443fa4f684 Merge: 2d49dcb f8479dd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 11:50:24 2015 -0800 Merge tag 'for-linus-20151106' of git://git.infradead.org/linux-mtd Pull MTD updates from Brian Norris: "Core: - WARN (in some cases) when a struct mtd_info is registered multiple times; in the past this was "supported", but it's still error prone for future development. There's only one ugly case of this left in the tree (that we're aware of) and the owners are aware of the problems there. - fix potential deadlock in the blkdev removal path NOTE: the (potential) deadlock was introduced in a for-stable patch. This one is also marked for -stable. - ioctl(BLKPG) compat_ioctl support; resolves issues with 32-bit user space vs 64-bit kernel space - Set MTD parent device correctly throughout the tree, so the tree structure appears correctly in sysfs; many drivers were missing this (soft) requirement - Move device tree partitions (ofpart) into a dedicated 'partitions' subnode; this helps to disambiguate whether a node is a partition or some other auxiliary data - Improve error handling for partitioning failures NAND: - General: Increase timeout period, for corner-case systems with less-than-accurate jiffies - Fix OF-based autoloading of several NAND drivers when built as modules - pxa3xx_nand: - Rework timing configuration to be more dynamic - Refactor PM support - brcmnand: prepare for NorthStar 2 support (ARM64, 16-bit NAND chips) - sunxi_nand: refactoring and a few bug fixes - vf610: new NAND driver - FSMC: add SW BCH support; support common NAND DT bindings - lpc32xx_slc: refactor and improve timing calculations logic - denali: support for rev 5.1 SPI NOR: - Layering improvements - Added Winbond lock/unlock support - Added mtd_is_locked() (i.e., ioctl(MEMISLOCKED)) support - Increase full-chip-erase timeout linearly with flash size - fsl-quadspi: fix compile for non-ARM architectures - New flash support" * tag 'for-linus-20151106' of git://git.infradead.org/linux-mtd: (169 commits) mtd: don't WARN about overloaded users of mtd->reboot_notifier.notifier_call mtd: nand: sunxi: avoid retrieving data before ECC pass mtd: nand: sunxi: fix sunxi_nfc_hw_ecc_read/write_chunk() mtd: blkdevs: fix potential deadlock + lockdep warnings mtd: ofpart: move ofpart partitions to a dedicated dt node doc: dt: mtd: support partitions in a special 'partitions' subnode mtd: brcmnand: Force 8bit mode before doing nand_scan_ident() mtd: brcmnand: factor out CFG and CFG_EXT bitfields mtd: mtdpart: Do not fail mtd probe when parsing partitions fails mtd: fsl-quadspi: fix macro collision problems with READ/WRITE mtd: warn when registering the same master many times mtd: fixup corner case error handling in mtd_device_parse_register() mtd: tests: Replace timeval with ktime_t mtd: fsmc_nand: Add BCH4 SW ECC support for SPEAr600 mtd: nand: vf610_nfc: use nand_check_erased_ecc_chunk() helper mtd: nand: increase ready wait timeout and report timeouts mtd: docg3: off by one in doc_register_sysfs() mtd: pxa3xx_nand: clean up the pxa3xx timings mtd: pxa3xx_nand: rework flash detection and timing setup mtd: pxa3xx_nand: add helpers to setup the timings ... commit 2d49dcb9e48f65a69281fe4c698c8f1a20215daf Merge: 3c87b79 cb1ca0b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 11:41:57 2015 -0800 Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration Pull mailbox updates from Jassi Brar: - a TI specific quirk to get CPU control working via remote master. - a new mailbox driver for an ST platform. - a generic test driver to aid new driver development. And a couple of fixes to make that really clean. * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration: mailbox: mailbox-test: avoid reading iomem twice mailbox: Off by one in mbox_test_message_read() mailbox/omap: Add ti,mbox-send-noirq quirk to fix AM33xx CPU Idle mailbox: mailbox-test: Correctly repair Sparse warnings mailbox: Fix a couple of trivial static checker issues mailbox: Add generic mechanism for testing Mailbox Controllers mailbox: Add support for ST's Mailbox IP mailbox: dt: Supply bindings for ST's Mailbox IP PCC: fix dereference of ERR_PTR commit 3c87b791880a2e0dad281c6494b94968d412bfa3 Merge: 0280d1a 7225107 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 11:29:53 2015 -0800 Merge tag 'pci-v4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI updates from Bjorn Helgaas: "Resource management: - Add support for Enhanced Allocation devices (Sean O. Stalley) - Add Enhanced Allocation register entries (Sean O. Stalley) - Handle IORESOURCE_PCI_FIXED when sizing resources (David Daney) - Handle IORESOURCE_PCI_FIXED when assigning resources (David Daney) - Handle Enhanced Allocation capability for SR-IOV devices (David Daney) - Clear IORESOURCE_UNSET when reverting to firmware-assigned address (Bjorn Helgaas) - Make Enhanced Allocation bitmasks more obvious (Bjorn Helgaas) - Expand Enhanced Allocation BAR output (Bjorn Helgaas) - Add of_pci_check_probe_only to parse "linux,pci-probe-only" (Marc Zyngier) - Fix lookup of linux,pci-probe-only property (Marc Zyngier) - Add sparc mem64 resource parsing for root bus (Yinghai Lu) PCI device hotplug: - pciehp: Queue power work requests in dedicated function (Guenter Roeck) Driver binding: - Add builtin_pci_driver() to avoid registration boilerplate (Paul Gortmaker) Virtualization: - Set SR-IOV NumVFs to zero after enumeration (Alexander Duyck) - Remove redundant validation of SR-IOV offset/stride registers (Alexander Duyck) - Remove VFs in reverse order if virtfn_add() fails (Alexander Duyck) - Reorder pcibios_sriov_disable() (Alexander Duyck) - Wait 1 second between disabling VFs and clearing NumVFs (Alexander Duyck) - Fix sriov_enable() error path for pcibios_enable_sriov() failures (Alexander Duyck) - Enable SR-IOV ARI Capable Hierarchy before reading TotalVFs (Ben Shelton) - Don't try to restore VF BARs (Wei Yang) MSI: - Don't alloc pcibios-irq when MSI is enabled (Joerg Roedel) - Add msi_controller setup_irqs() method for special multivector setup (Lucas Stach) - Export all remapped MSIs to sysfs attributes (Romain Bezut) - Disable MSI on SiS 761 (Ondrej Zary) AER: - Clear error status registers during enumeration and restore (Taku Izumi) Generic host bridge driver: - Fix lookup of linux,pci-probe-only property (Marc Zyngier) - Allow multiple hosts with different map_bus() methods (David Daney) - Pass starting bus number to pci_scan_root_bus() (David Daney) - Fix address window calculation for non-zero starting bus (David Daney) Altera host bridge driver: - Add msi.h to ARM Kbuild (Ley Foon Tan) - Add Altera PCIe host controller driver (Ley Foon Tan) - Add Altera PCIe MSI driver (Ley Foon Tan) APM X-Gene host bridge driver: - Remove msi_controller assignment (Duc Dang) Broadcom iProc host bridge driver: - Fix header comment "Corporation" misspelling (Florian Fainelli) - Fix code comment to match code (Ray Jui) - Remove unused struct iproc_pcie.irqs[] (Ray Jui) - Call pci_fixup_irqs() for ARM64 as well as ARM (Ray Jui) - Fix PCIe reset logic (Ray Jui) - Improve link detection logic (Ray Jui) - Update PCIe device tree bindings (Ray Jui) - Add outbound mapping support (Ray Jui) Freescale i.MX6 host bridge driver: - Return real error code from imx6_add_pcie_port() (Fabio Estevam) - Add PCIE_PHY_RX_ASIC_OUT_VALID definition (Fabio Estevam) Freescale Layerscape host bridge driver: - Remove ls_pcie_establish_link() (Minghuan Lian) - Ignore PCIe controllers in Endpoint mode (Minghuan Lian) - Factor out SCFG related function (Minghuan Lian) - Update ls_add_pcie_port() (Minghuan Lian) - Remove unused fields from struct ls_pcie (Minghuan Lian) - Add support for LS1043a and LS2080a (Minghuan Lian) - Add ls_pcie_msi_host_init() (Minghuan Lian) HiSilicon host bridge driver: - Add HiSilicon SoC Hip05 PCIe driver (Zhou Wang) Marvell MVEBU host bridge driver: - Return zero for reserved or unimplemented config space (Russell King) - Use exact config access size; don't read/modify/write (Russell King) - Use of_get_available_child_count() (Russell King) - Use for_each_available_child_of_node() to walk child nodes (Russell King) - Report full node name when reporting a DT error (Russell King) - Use port->name rather than "PCIe%d.%d" (Russell King) - Move port parsing and resource claiming to separate function (Russell King) - Fix memory leaks and refcount leaks (Russell King) - Split port parsing and resource claiming from port setup (Russell King) - Use gpio_set_value_cansleep() (Russell King) - Use devm_kcalloc() to allocate an array (Russell King) - Use gpio_desc to carry around gpio (Russell King) - Improve clock/reset handling (Russell King) - Add PCI Express root complex capability block (Russell King) - Remove code restricting accesses to slot 0 (Russell King) NVIDIA Tegra host bridge driver: - Wrap static pgprot_t initializer with __pgprot() (Ard Biesheuvel) Renesas R-Car host bridge driver: - Build pci-rcar-gen2.c only on ARM (Geert Uytterhoeven) - Build pcie-rcar.c only on ARM (Geert Uytterhoeven) - Make PCI aware of the I/O resources (Phil Edworthy) - Remove dependency on ARM-specific struct hw_pci (Phil Edworthy) - Set root bus nr to that provided in DT (Phil Edworthy) - Fix I/O offset for multiple host bridges (Phil Edworthy) ST Microelectronics SPEAr13xx host bridge driver: - Fix dw_pcie_cfg_read/write() usage (Gabriele Paoloni) Synopsys DesignWare host bridge driver: - Make "clocks" and "clock-names" optional DT properties (Bhupesh Sharma) - Use exact access size in dw_pcie_cfg_read() (Gabriele Paoloni) - Simplify dw_pcie_cfg_read/write() interfaces (Gabriele Paoloni) - Require config accesses to be naturally aligned (Gabriele Paoloni) - Make "num-lanes" an optional DT property (Gabriele Paoloni) - Move calculation of bus addresses to DRA7xx (Gabriele Paoloni) - Replace ARM pci_sys_data->align_resource with global function pointer (Gabriele Paoloni) - Factor out MSI msg setup (Lucas Stach) - Implement multivector MSI IRQ setup (Lucas Stach) - Make get_msi_addr() return phys_addr_t, not u32 (Lucas Stach) - Set up high part of MSI target address (Lucas Stach) - Fix PORT_LOGIC_LINK_WIDTH_MASK (Zhou Wang) - Revert "PCI: designware: Program ATU with untranslated address" (Zhou Wang) - Use of_pci_get_host_bridge_resources() to parse DT (Zhou Wang) - Make driver arch-agnostic (Zhou Wang) Miscellaneous: - Make x86 pci_subsys_init() static (Alexander Kuleshov) - Turn off Request Attributes to avoid Chelsio T5 Completion erratum (Hariprasad Shenai)" * tag 'pci-v4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (94 commits) PCI: altera: Add Altera PCIe MSI driver PCI: hisi: Add HiSilicon SoC Hip05 PCIe driver PCI: layerscape: Add ls_pcie_msi_host_init() PCI: layerscape: Add support for LS1043a and LS2080a PCI: layerscape: Remove unused fields from struct ls_pcie PCI: layerscape: Update ls_add_pcie_port() PCI: layerscape: Factor out SCFG related function PCI: layerscape: Ignore PCIe controllers in Endpoint mode PCI: layerscape: Remove ls_pcie_establish_link() PCI: designware: Make "clocks" and "clock-names" optional DT properties PCI: designware: Make driver arch-agnostic ARM/PCI: Replace pci_sys_data->align_resource with global function pointer PCI: designware: Use of_pci_get_host_bridge_resources() to parse DT Revert "PCI: designware: Program ATU with untranslated address" PCI: designware: Move calculation of bus addresses to DRA7xx PCI: designware: Make "num-lanes" an optional DT property PCI: designware: Require config accesses to be naturally aligned PCI: designware: Simplify dw_pcie_cfg_read/write() interfaces PCI: designware: Use exact access size in dw_pcie_cfg_read() PCI: spear: Fix dw_pcie_cfg_read/write() usage ... commit 60603950f836ef4e88daddf61a273b91e671db2d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Nov 6 11:26:01 2015 -0800 Input: elantech - add Fujitsu Lifebook U745 to force crc_enabled Another Lifebook machine that needs the same quirk as other similar models to make the driver working. Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=883192 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0280d1a099da1d211e76ec47cc0944c993a36316 Merge: 5bc23a0 5cf92c8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 11:04:07 2015 -0800 Merge tag 'sound-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "Here is the first batch of updates for sound system on 4.4-rc1. Again at this time, the update looks fairly calm; no big changes in either ALSA core or ASoC infrastructures, rather all small cleanups, in addition to the new stuff as usual. The biggest changes are about Firewire sound devices. It gained lots of new device support, and MIDI functionality. Also there are updates for a few still working-in-progress stuff (topology API and ASoC skylake), too. But overall, this update should give no big surprise. Some highlights are below: Core: - A few more Kconfig items for tinification; it's marked as EXPERT, so normal user should't be bothered :) - Refactoring with a new PCM hw_constraint helper - Removal of unused transfer_ack_{begin,end} PCM callbacks Firewire: - Restructuring of code subtree, lots of refactoring - Support AMDTP variants - New driver for Digidesign 002/003 family - Adds support for TASCAM FireOne to ALSA OXFW driver - Add MIDI support to TASCAM and Digi00x devices HD-Audio: - Automated modalias generation for codec drivers, finally - Improvement on heuristics for setting mixer name - A few fixes for longstanding bugs on Creative CA0132 cards - Addition of audio rate callback with i915 communication - Fix suspend issue on recent Dell XPS - Intel Lewisburg controller support ASoC: - Updates to the topology userspace interface - Big updates to the Renesas support (rcar) - More updates for supporting Intel Sky Lake systems - New drivers for Asahi Kasei Microdevices AK4613, Allwinnner A10, Cirrus Logic WM8998, Dialog DA7219, Nuvoton NAU8825, Rockchip S/PDIF, and Atmel class D amplifier USB-Audio: - A fix for newer Roland MIDI devices - Quirks and workarounds for Zoom R16/24 device Misc: - A few fixes for some old Cirrus CS46xx PCI sound boards - Yet another fixes for some old ESS Maestro3 PCI sound boards" * tag 'sound-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (330 commits) ALSA: hda - Add Intel Lewisburg device IDs Audio ALSA: hda - Apply pin fixup for HP ProBook 6550b ALSA: hda - Fix lost 4k BDL boundary workaround ALSA: maestro3: Fix Allegro mute until master volume/mute is touched ALSA: maestro3: Enable docking support for Dell Latitude C810 ALSA: firewire-digi00x: add another rawmidi character device for MIDI control ports ALSA: firewire-digi00x: add MIDI operations for MIDI control port ALSA: firewire-digi00x: rename identifiers of MIDI operation for physical ports ALSA: cs46xx: Fix suspend for all channels ALSA: cs46xx: Fix Duplicate front for CS4294 and CS4298 codecs ALSA: DocBook: Add soc-ops.c and soc-compress.c ALSA: hda - Add / fix kernel doc comments ALSA: Constify ratden/ratnum constraints ALSA: hda - Disable 64bit address for Creative HDA controllers ALSA: hda/realtek - Dell XPS one ALC3260 speaker no sound after resume back ALSA: hda/ca0132 - Convert leftover pr_info() and pr_err() ASoC: fsl: Use #ifdef instead of #if for CONFIG_PM_SLEEP ASoC: rt5645: Sort the order for register bit defines ASoC: dwc: add check for master/slave format ASoC: rt5645: Add the HWEQ for the speaker output ... commit 07bc5c699a3d8fe5e26dbcd72e4103c7988055ba Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:55:35 2015 +0000 perf tools: Make fetch_kernel_version() publicly available There are 2 places in llvm-utils.c which find kernel version information through uname. This patch extracts the uname related code into a fetch_kernel_version() function and puts it into util.h so it can be reused. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446818135-87310-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 45825d8ab8ef6287f5d05aea141419d8d4278852 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:49:38 2015 +0000 bpf tools: Add new API bpf_object__get_kversion() bpf_object__get_kversion() can be used to fetch value of object's 'version' section. Following patch will use it for error reporting. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446817783-86722-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5bc23a0cdee4a6757fcc2919eb26827fe11e3bee Merge: 4dcee4d 9d6c243 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 10:53:48 2015 -0800 Merge tag 'backlight-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight Pull backlight updates from Lee Jones: "New Device Support - None New Functionality: - None Core Frameworks: - Reject legacy PWM request for device defined in DT Fix-ups: - Remove unnecessary MODULE_ALIAS(); adp8860_bl, adp8870_bl - Simplify code: pm8941-wled - Supply default-brightness logic; pm8941-wled Bug Fixes: - Clean up OF node; 88pm860x_bl - Ensure struct is zeroed; lp855x_bl" * tag 'backlight-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: backlight: pm8941-wled: Add default-brightness property backlight: pm8941-wled: Fix ptr_ret.cocci warnings backlight: pwm: Reject legacy PWM request for device defined in DT backlight: 88pm860x_bl: Add missing of_node_put backlight: adp8870: Remove unnecessary MODULE_ALIAS() backlight: adp8860: Remove unnecessary MODULE_ALIAS() backlight: lp855x: Make sure props struct is zeroed commit 6371ca3b541c82d8aa6a9002bd52d92bcdda5944 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:49:37 2015 +0000 bpf tools: Improve libbpf error reporting In this patch, a series of libbpf specific error numbers and libbpf_strerror() are introduced to help reporting errors. Functions are updated to pass correct the error number through the CHECK_ERR() macro. All users of bpf_object__open{_buffer}() and bpf_program__title() in perf are modified accordingly. In addition, due to the error codes changing, bpf__strerror_load() is also modified to use them. bpf__strerror_head() is also changed accordingly so it can parse libbpf errors. bpf_loader_strerror() is introduced for that purpose, and will be improved by the following patch. load_program() is improved not to dump log buffer if it is empty. log buffer is also used to deduce whether the error was caused by an invalid program or other problem. v1 -> v2: - Using macro for error code. - Fetch error message based on array index, eliminate for-loop. - Use log buffer to detect the reason of failure. 3 new error code are introduced to replace LIBBPF_ERRNO__LOAD. In v1: # perf record -e ./test_ill_program.o ls event syntax error: './test_ill_program.o' \___ Failed to load program: Validate your program and check 'license'/'version' sections in your object SKIP # perf record -e ./test_kversion_nomatch_program.o ls event syntax error: './test_kversion_nomatch_program.o' \___ Failed to load program: Validate your program and check 'license'/'version' sections in your object SKIP # perf record -e ./test_big_program.o ls event syntax error: './test_big_program.o' \___ Failed to load program: Validate your program and check 'license'/'version' sections in your object SKIP In v2: # perf record -e ./test_ill_program.o ls event syntax error: './test_ill_program.o' \___ Kernel verifier blocks program loading SKIP # perf record -e ./test_kversion_nomatch_program.o event syntax error: './test_kversion_nomatch_program.o' \___ Incorrect kernel version SKIP (Will be further improved by following patches) # perf record -e ./test_big_program.o event syntax error: './test_big_program.o' \___ Program too big SKIP Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446817783-86722-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4dcee4d84394dc5d9a0cc3e9ccbb633fd2ea08d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 10:47:12 2015 -0800 mfd: avoid newly introduced compiler warning Commit b158b69a3765 ("mfd: rtsx: Simplify function return logic") removed the use of the 'err' variable, but left the variable itself around, resulting in gcc quite reasonably warning: drivers/mfd/rtsx_pcr.c: In function â??rtsx_pci_set_pull_ctlâ??: drivers/mfd/rtsx_pcr.c:565:6: warning: unused variable â??errâ?? [-Wunused-variable] int err; ^ Get rid of the unused variable, and avoid the new warning. Cc: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Cc: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b4865988eab598e56e6e628b9b32441acd142b28 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Nov 6 18:35:57 2015 +0100 netfilter: ingress: fix wrong input interface on hook The input and output interfaces in nf_hook_state_init() are flipped. This fixes iif matching on nftables. Reported-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 61b590b9ee4221173ad6990a1150c5c9db73564e Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Oct 23 12:43:18 2015 +0200 netfilter: ingress: don't use nf_hook_list_active nf_hook_list_active() always returns true once at least one device has NF_INGRESS hook enabled. Thus, don't use this function. Instead, inverse the test and use the static key to elide list_empty test if no NF_INGRESS hooks are active. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit bc914532a08892b30954030a0ba68f8534c67f76 Merge: 54727e6 271bb17 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 10:23:50 2015 -0800 Merge tag 'mfd-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "New Device Support: - Add support for 88pm860; 88pm80x - Add support for 24c08 EEPROM; at24 - Add support for Broxton Whiskey Cove; intel* - Add support for RTS522A; rts5227 - Add support for I2C devices; intel_quark_i2c_gpio New Functionality: - Add microphone support; arizona - Add general purpose switch support; arizona - Add fuel-gauge support; da9150-core - Add shutdown support; sec-core - Add charger support; tps65217 - Add flexible serial communication unit support; atmel-flexcom - Add power button support; axp20x - Add led-flash support; rt5033 Core Frameworks: - Supply a generic macro for defining Regmap IRQs - Rework ACPI child device matching Fix-ups: - Use Regmap to access registers; tps6105x - Use DEFINE_RES_IRQ_NAMED() macro; da9150 - Re-arrange device registration order; intel_quark_i2c_gpio - Allow OF matching; cros_ec_i2c, atmel-hlcdc, hi6421-pmic, max8997, sm501 - Handle deferred probe; twl6040 - Improve accuracy of headphone detect; arizona - Unnecessary MODULE_ALIAS() removal; bcm590xx, rt5033 - Remove unused code; htc-i2cpld, arizona, pcf50633-irq, sec-core - Simplify code; kempld, rts5209, da903x, lm3533, da9052, arizona - Remove #iffery; arizona - DT binding adaptions; many Bug Fixes: - Fix possible NULL pointer dereference; wm831x, tps6105x - Fix 64bit bug; intel_soc_pmic_bxtwc - Fix signedness issue; arizona" * tag 'mfd-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (73 commits) bindings: mfd: s2mps11: Add documentation for s2mps15 PMIC mfd: sec-core: Remove unused s2mpu02-rtc and s2mpu02-clk children extcon: arizona: Add extcon specific device tree binding document MAINTAINERS: Add binding docs for Cirrus Logic/Wolfson Arizona devices mfd: arizona: Remove bindings covered in new subsystem specific docs mfd: rt5033: Add RT5033 Flash led sub device mfd: lpss: Add Intel Broxton PCI IDs mfd: lpss: Add Broxton ACPI IDs mfd: arizona: Signedness bug in arizona_runtime_suspend() mfd: axp20x: Add a cell for the power button part of the, axp288 PMICs mfd: dt-bindings: Document pulled down WRSTBI pin on S2MPS1X mfd: sec-core: Disable buck voltage reset on watchdog falling edge mfd: sec-core: Dump PMIC revision to find out the HW mfd: arizona: Use correct type ID for device tree config mfd: arizona: Remove use of codec build config #ifdefs mfd: arizona: Simplify adding subdevices mfd: arizona: Downgrade type mismatch messages to dev_warn mfd: arizona: Factor out checking of jack detection state mfd: arizona: Factor out DCVDD isolation control mfd: Make TPS6105X select REGMAP_I2C ... commit d618651b0f112d9715d0ca6f9dbea87761be15d7 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Wed Oct 21 12:46:10 2015 +0200 thinkpad_acpi: Don't yell on unsupported brightness interfaces The thinkpad_acpi driver currently emits error messages on unsupported brightness interfaces, giving the impression that someone will implement those. However, this error is spit out on nearly every thinkpad in production since 2 years now. Furthermore, the backlight interfaces on those devices are supported by the i915 driver just fine. Downgrade the error message to a normal pr_info() and stop telling people to report it to IBM. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f8479dd6a03cfdc3b14e742045bfd8748cd86bd7 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Nov 3 17:01:53 2015 -0800 mtd: don't WARN about overloaded users of mtd->reboot_notifier.notifier_call There are multiple types of users of mtd->reboot_notifier.notifier_call: (1) A while back, the cfi_cmdset_000{1,2} chip drivers implemented a reboot notifier to (on a best effort basis) attempt to reset their flash chips before rebooting. (2) More recently, we implemented a common _reboot() hook so that MTD drivers (particularly, NAND flash) could better halt I/O operations without having to reimplement the same notifier boilerplate. Currently, the WARN_ONCE() condition here was written to handle (2), but at the same time it mis-diagnosed case (1) as an already-registered MTD. Let's fix this by having the WARN_ONCE() condition better imitate the condition that immediately follows it. (Wow, I don't know how I missed that one.) (Side note: Unfortunately, we can't yet combine the reboot notifier code for (1) and (2) with a patch like [1], because some users of (1) also use mtdconcat, and so the mtd_info struct from cfi_cmdset_000{1,2} won't actually get registered with mtdcore, and therefore their reboot notifier won't get registered.) [1] http://patchwork.ozlabs.org/patch/417981/ Suggested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Jesper Nilsson <jespern@xxxxxxxx> Cc: linux-cris-kernel@xxxxxxxx Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 54727e6e950aacd14ec9cd4260e9fe498322828c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 09:12:41 2015 -0800 x86: don't make DEBUG_WX default to 'y' even with DEBUG_RODATA It turns out that we still have issues with the EFI memory map that ends up polluting our kernel page tables with writable executable pages. That will get sorted out, but in the meantime let's not make the scary complaint about them be on by default. The code is useful for developers, but not ready for end user testing yet. Acked-by: Borislav Petkov <bp@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 14e589ff4aa3f28a5424e92b6495ecb8950080f7 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Nov 4 20:43:59 2015 -0800 arm64: bpf: fix mod-by-zero case Turns out in the case of modulo by zero in a BPF program: A = A % X; (X == 0) the expected behavior is to terminate with return value 0. The bug in JIT is exposed by a new test case [1]. [1] https://lkml.org/lkml/2015/11/4/499 Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Reported-by: Yang Shi <yang.shi@xxxxxxxxxx> Reported-by: Xi Wang <xi.wang@xxxxxxxxx> CC: Alexei Starovoitov <ast@xxxxxxxxxxxx> Fixes: e54bcde3d69d ("arm64: eBPF JIT compiler") Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+ Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 251599e1d6906621f49218d7b474ddd159e58f3b Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Tue Nov 3 22:56:44 2015 -0800 arm64: bpf: fix div-by-zero case In the case of division by zero in a BPF program: A = A / X; (X == 0) the expected behavior is to terminate with return value 0. This is confirmed by the test case introduced in commit 86bf1721b226 ("test_bpf: add tests checking that JIT/interpreter sets A and X to 0."). Reported-by: Yang Shi <yang.shi@xxxxxxxxxx> Tested-by: Yang Shi <yang.shi@xxxxxxxxxx> CC: Xi Wang <xi.wang@xxxxxxxxx> CC: Alexei Starovoitov <ast@xxxxxxxxxxxx> CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Fixes: e54bcde3d69d ("arm64: eBPF JIT compiler") Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+ Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4d17da4ca7cca51ccacc07ece684bb6ea6bfaa7d Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Nov 6 16:50:43 2015 +0000 arm64: Enable CRYPTO_CRC32_ARM64 in defconfig CONFIG_CRYPTO_CRC32_ARM64 has been around since commit f6f203faa3eb ("crypto: crc32 - Add ARM64 CRC32 hw accelerated module") but defconfig did not automatically enable it. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d2e8851a909c76c6f0b34553f2c9993808bc1d58 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Oct 28 19:07:35 2015 +0100 drm/vmwgfx: Relax irq locking somewhat Relax locking with the goal of reducing the number of locking cycles and time spent with irqs disabled. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 4e0858a682c008a2a8f5f4fb3aec705500575ae1 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Nov 5 02:18:55 2015 -0800 drm/vmwgfx: Properly flush cursor updates and page-flips With the introduction of the new command buffer mechanism, proper care wasn't taken to flush cursor image updates and event-less screen-target page-flips. Fix this by introducing explicit flush points. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit 8b1291994d8e5e621a8af7e165b106e50d04bbf1 Author: Jiaxing Wang <hello.wjx@xxxxxxxxx> Date: Fri Nov 6 16:04:16 2015 +0800 tracing: Make tracing work when debugfs is not configured in Currently tracing_init_dentry() returns -ENODEV when debugfs is not configured in, which causes tracefs not populated with tracing files and directories, so we will get an empty directory even after we manually mount tracefs. We can make tracing_init_dentry() return NULL if debugfs is not configured in and can manually mount tracefs. But return -ENODEV if debugfs is configured in but not initialized or failed to create automount point as that would break backward compatibility with older tools. Link: http://lkml.kernel.org/r/1446797056-11683-1-git-send-email-hello.wjx@xxxxxxxxx Signed-off-by: Jiaxing Wang <hello.wjx@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8d090f47315507c3064ca4eefa9a1da52390b52e Author: Petr Mladek <pmladek@xxxxxxxx> Date: Mon Oct 5 14:39:52 2015 +0200 bcache: Really show state of work pending bit WORK_STRUCT_PENDING is a mask for testing the pending bit. test_bit() expects the number of the bit and we need to use WORK_STRUCT_PENDING_BIT there. Also work_data_bits() is defined in workqueues.h now. I have noticed this just by chance when looking how WORK_STRUCT_PENDING_BIT is used. The change is compile tested. Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0a62f6869f2768687af2c94d97f3b2fcf5b73367 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Nov 6 17:30:03 2015 +0900 perf probe: Cleanup find_perf_probe_point_from_map to reduce redundancy In find_perf_probe_point_from_map(), the 'ret' variable is initialized with -ENOENT but overwritten by the return code of kernel_get_symbol_address_by_name(), and after that it is re-initialized with -ENOENT again. Setting ret=-ENOENT twice looks a bit redundant. This avoids the overwriting and just returns -ENOENT if some error happens to simplify the code. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ufp1zgbktzmttcputozneomd@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f080be27d7d9333e4815655a2cedab91c3aa7acc Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Mon Oct 26 12:58:27 2015 +0200 pwm: lpss: Add support for runtime PM To be able to save some power when PWM is not in use, add support for runtime PM for this driver. This also allows the platform to transition to low power S0ix states when the system is idle. Signed-off-by: Huiquan Zhong <huiquan.zhong@xxxxxxxxx> Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 03f00e5311d5d0d3ac716121865cb967259980ca Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 20 16:53:07 2015 +0300 pwm: lpss: Add more Intel Broxton IDs Add more Intel Broxton ACPI and PCI IDs to the driver supported devices list. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 87219cb47e5ccfb932177e960c495d475bc16add Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 20 16:53:06 2015 +0300 pwm: lpss: Support all four PWMs on Intel Broxton Intel Broxton has similar PWM than Intel Braswell but instead of one it has four PWMs included in one PCI/ACPI device. This patch adds support for all the four PWMs and changes the PCI part of the driver to use 'pwm_lpss_bxt_info' instead. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 4e11f5acb25b0b8eb937c726ade319b988fe3664 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 20 16:53:05 2015 +0300 pwm: lpss: Add support for multiple PWMs New Intel SoCs such as Broxton will have four PWMs per PCI (or ACPI) device. Each PWM has 1k of register space allocated from the parent device. Add support for this. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 62ec9b3f02a9bccaf699bd4691db98f779c3075f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Nov 5 19:06:07 2015 -0800 perf annotate: Inform the user about objdump failures in --stdio When the browser fails to annotate it is difficult for users to find out what went wrong. Add some errors for objdump failures that are displayed in the UI. Note it would be even better to handle these errors smarter, like falling back to the binary when the debug info is somehow corrupted. But for now just giving a better error is an improvement. Committer note: This works for --stdio, where errors just scroll by the screen: # perf annotate --stdio intel_idle Failure running objdump --start-address=0xffffffff81418290 --stop-address=0xffffffff814183ae -l -d --no-show-raw -S -C /root/.debug/.build-id/28/2777c262e6b3c0451375163c9a81c893218ab1 2>/dev/null|grep -v /root/.debug/.build-id/28/2777c262e6b3c0451375163c9a81c893218ab1|expand Percent | Source code & Disassembly of vmlinux for cycles:pp ------------------------------------------------------------------ And with that one can use that command line to try to find out more about what happened instead of getting a blank screen, an improvement. We need tho to improve this further to get it to work with other UIs, like --tui and --gtk, where it continues showing a blank screen, no messages, as the pr_err() used is enough just for --stdio. 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/1446779167-18949-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 912b8439041317a0562609ad892eeab9ba2f0cb2 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 7 13:18:49 2015 +0300 pwm-pca9685: enable ACPI device found on Galileo Gen2 There is a chip connected to i2c bus on Intel Galileo Gen2 board. Enable it via ACPI ID INT3492. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 1b0e3a049efe471c399674fd954500ce97438d30 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Nov 5 23:04:11 2015 +0200 drm/i915/skl: disable display side power well support for now The display power well support on this platform is in a somewhat broken state atm, so disable it by default. This in effect will get rid of incorrect assert WARNs about the CSR/DMC firmware not being loaded during power well toggling. It also removes a problem during driver loading where a register is accessed while its backing power well is down, resulting in another WARN. Until we come up with the root cause of the second problem and the proper fix for both issues, keep all display side power wells on. Also clarify a bit the option description. Reported-by: Dave Airlie <airlied@xxxxxxxxxx> Reference: http://mid.gmane.org/CAPM=9tyjBQjSBTKa49cRr6SYkpNW7Pq-fUFznZZ8Y1snvvk7mA@xxxxxxxxxxxxxx Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446757451-2777-1-git-send-email-imre.deak@xxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit e2391a2dcaca41c6de0fbc25329969fc7142f20d Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Date: Thu Nov 5 15:18:03 2015 -0600 livepatch: Fix crash with !CONFIG_DEBUG_SET_MODULE_RONX When loading a patch module on a kernel with !CONFIG_DEBUG_SET_MODULE_RONX, the following crash occurs: [ 205.988776] livepatch: enabling patch 'kpatch_meminfo_string' [ 205.989829] BUG: unable to handle kernel paging request at ffffffffa08d2fc0 [ 205.989863] IP: [<ffffffff8154fecb>] do_init_module+0x8c/0x1ba [ 205.989888] PGD 1a10067 PUD 1a11063 PMD 7bcde067 PTE 3740e161 [ 205.989915] Oops: 0003 [#1] SMP [ 205.990187] CPU: 2 PID: 14570 Comm: insmod Tainted: G O K 4.1.12 [ 205.990214] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.8.1-20150318_183358- 04/01/2014 [ 205.990249] task: ffff8800374aaa90 ti: ffff8800794b8000 task.ti: ffff8800794b8000 [ 205.990276] RIP: 0010:[<ffffffff8154fecb>] [<ffffffff8154fecb>] do_init_module+0x8c/0x1ba [ 205.990307] RSP: 0018:ffff8800794bbd58 EFLAGS: 00010246 [ 205.990327] RAX: 0000000000000000 RBX: ffffffffa08d2fc0 RCX: 0000000000000000 [ 205.990356] RDX: 01ffff8000000080 RSI: 0000000000000000 RDI: ffffffff81a54b40 [ 205.990382] RBP: ffff88007b4c4d80 R08: 0000000000000007 R09: 0000000000000000 [ 205.990408] R10: 0000000000000008 R11: ffffea0001f18840 R12: 0000000000000000 [ 205.990433] R13: 0000000000000001 R14: ffffffffa08d2fc0 R15: ffff88007bd0bc40 [ 205.990459] FS: 00007f1128fbc700(0000) GS:ffff88007fc80000(0000) knlGS:0000000000000000 [ 205.990488] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 205.990509] CR2: ffffffffa08d2fc0 CR3: 000000002606e000 CR4: 00000000001406e0 [ 205.990536] Stack: [ 205.990545] ffff8800794bbec8 0000000000000001 ffffffffa08d3010 ffffffff810ecea9 [ 205.990576] ffffffff810e8e40 000000000005f360 ffff88007bd0bc50 ffffffffa08d3240 [ 205.990608] ffffffffa08d52c0 ffffffffa08d3210 ffff8800794bbed8 ffff8800794bbf1c [ 205.990639] Call Trace: [ 205.990651] [<ffffffff810ecea9>] ? load_module+0x1e59/0x23a0 [ 205.990672] [<ffffffff810e8e40>] ? store_uevent+0x40/0x40 [ 205.990693] [<ffffffff810e99b5>] ? copy_module_from_fd.isra.49+0xb5/0x140 [ 205.990718] [<ffffffff810ed5bd>] ? SyS_finit_module+0x7d/0xa0 [ 205.990741] [<ffffffff81556832>] ? system_call_fastpath+0x16/0x75 [ 205.990763] Code: f9 00 00 00 74 23 49 c7 c0 92 e1 60 81 48 8d 53 18 89 c1 4c 89 c6 48 c7 c7 f0 85 7d 81 31 c0 e8 71 fa ff ff e8 58 0e 00 00 31 f6 <c7> 03 00 00 00 00 48 89 da 48 c7 c7 20 c7 a5 81 e8 d0 ec b3 ff [ 205.990916] RIP [<ffffffff8154fecb>] do_init_module+0x8c/0x1ba [ 205.990940] RSP <ffff8800794bbd58> [ 205.990953] CR2: ffffffffa08d2fc0 With !CONFIG_DEBUG_SET_MODULE_RONX, module text and rodata pages are writable, and the debug_align() macro allows the module struct to share a page with executable text. When klp_write_module_reloc() calls set_memory_ro() on the page, it effectively turns the module struct into a read-only structure, resulting in a page fault when load_module() does "mod->state = MODULE_STATE_LIVE". Reported-by: Cyril B. <cbay@xxxxxxxxxxxxxx> Tested-by: Cyril B. <cbay@xxxxxxxxxxxxxx> Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b291681926a142958112eedde62823230d6afb84 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Nov 3 08:31:41 2015 +0100 drm/i915: Extend DSL readout fix to BDW and SKL. Those platforms have the same bug as haswell, and the same fix applies to them. The original HSW fix that this extends is commit 41b578fb0e8b930f2470d3f673b0fa279e77a7b8 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 12:15:54 2015 -0700 drm/i915: workaround bad DSL readout v3 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Acked-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v4.3 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91579 Link: http://patchwork.freedesktop.org/patch/msgid/1446535913-31970-3-git-send-email-maarten.lankhorst@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d1e41ff11941784f469f17795a4d9425c2eb4b7a Merge: 2f4bf52 d2f2061 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 23:45:53 2015 -0800 Merge tag 'platform-drivers-x86-v4.4-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform driver update from Darren Hart: "Various toshiba hotkey and keyboard related fixes and a new WMI driver. Several intel_scu_ipc cleanups and a locking fix. A spattering of small single fixes across various platforms. I was asked to pick up an OLPC cleanup as the driver appeared unmaintained and it seemed similar to what is maintained in platform/drivers/x86. I have included the patch and an update to the MAINTAINERS file. toshiba_acpi: - Initialize hotkey_event_type variable - Remove unneeded u32 variables from *setup_keyboard - Add 0x prefix to available_kbd_modes_show function - Change default Hotkey enabling value - Unify hotkey enabling functions toshiba-wmi: - Toshiba WMI Hotkey Driver intel_scu_ipc: - Protect dev member assignment on ->remove() - Switch to use module_pci_driver() macro - Convert to use struct device * - Propagate pointer to struct intel_scu_ipc_dev - Fix error path by turning to devm_* / pcim_* acer-wmi: - remove threeg and interface sysfs interfaces OLPC: - Use %*ph specifier instead of passing direct values MAINTAINERS: - Add drivers/platform/olpc to drivers/platform/x86 sony-laptop: - Fix handling sony_nc_hotkeys_decode result intel_mid_powerbtn: - Remove misuse of IRQF_NO_SUSPEND flag compal-laptop: - Add charge control limit asus-wmi: - restore kbd led level after resume" * tag 'platform-drivers-x86-v4.4-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: toshiba_acpi: Initialize hotkey_event_type variable intel_scu_ipc: Protect dev member assignment on ->remove() intel_scu_ipc: Switch to use module_pci_driver() macro intel_scu_ipc: Convert to use struct device * intel_scu_ipc: Propagate pointer to struct intel_scu_ipc_dev intel_scu_ipc: Fix error path by turning to devm_* / pcim_* acer-wmi: remove threeg and interface sysfs interfaces OLPC: Use %*ph specifier instead of passing direct values MAINTAINERS: Add drivers/platform/olpc to drivers/platform/x86 platform/x86: Toshiba WMI Hotkey Driver sony-laptop: Fix handling sony_nc_hotkeys_decode result intel_mid_powerbtn: Remove misuse of IRQF_NO_SUSPEND flag compal-laptop: Add charge control limit asus-wmi: restore kbd led level after resume toshiba_acpi: Remove unneeded u32 variables from *setup_keyboard toshiba_acpi: Add 0x prefix to available_kbd_modes_show function toshiba_acpi: Change default Hotkey enabling value toshiba_acpi: Unify hotkey enabling functions commit 2f4bf528eca5b2d9eef12b6d323c040254f8f67c Merge: 2e3078a 8bdf202 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 23:38:43 2015 -0800 Merge tag 'powerpc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc updates from Michael Ellerman: - Kconfig: remove BE-only platforms from LE kernel build from Boqun Feng - Refresh ps3_defconfig from Geoff Levand - Emit GNU & SysV hashes for the vdso from Michael Ellerman - Define an enum for the bolted SLB indexes from Anshuman Khandual - Use a local to avoid multiple calls to get_slb_shadow() from Michael Ellerman - Add gettimeofday() benchmark from Michael Neuling - Avoid link stack corruption in __get_datapage() from Michael Neuling - Add virt_to_pfn and use this instead of opencoding from Aneesh Kumar K.V - Add ppc64le_defconfig from Michael Ellerman - pseries: extract of_helpers module from Andy Shevchenko - Correct string length in pseries_of_derive_parent() from Nathan Fontenot - Free the MSI bitmap if it was slab allocated from Denis Kirjanov - Shorten irq_chip name for the SIU from Christophe Leroy - Wait 1s for secondaries to enter OPAL during kexec from Samuel Mendoza-Jonas - Fix _ALIGN_* errors due to type difference, from Aneesh Kumar K.V - powerpc/pseries/hvcserver: don't memset pi_buff if it is null from Colin Ian King - Disable hugepd for 64K page size, from Aneesh Kumar K.V - Differentiate between hugetlb and THP during page walk from Aneesh Kumar K.V - Make PCI non-optional for pseries from Michael Ellerman - Individual System V IPC system calls from Sam bobroff - Add selftest of unmuxed IPC calls from Michael Ellerman - discard .exit.data at runtime from Stephen Rothwell - Delete old orphaned PrPMC 280/2800 DTS and boot file, from Paul Gortmaker - Use of_get_next_parent to simplify code from Christophe Jaillet - Paginate some xmon output from Sam bobroff - Add some more elements to the xmon PACA dump from Michael Ellerman - Allow the tm-syscall selftest to build with old headers from Michael Ellerman - Run EBB selftests only on POWER8 from Denis Kirjanov - Drop CONFIG_TUNE_CELL in favour of CONFIG_CELL_CPU from Michael Ellerman - Avoid reference to potentially freed memory in prom.c from Christophe Jaillet - Quieten boot wrapper output with run_cmd from Geoff Levand - EEH fixes and cleanups from Gavin Shan - Fix recursive fenced PHB on Broadcom shiner adapter from Gavin Shan - Use of_get_next_parent() in of_get_ibm_chip_id() from Michael Ellerman - Fix section mismatch warning in msi_bitmap_alloc() from Denis Kirjanov - Fix ps3-lpm white space from Rudhresh Kumar J - Fix ps3-vuart null dereference from Colin King - nvram: Add missing kfree in error path from Christophe Jaillet - nvram: Fix function name in some errors messages, from Christophe Jaillet - drivers/macintosh: adb: fix misleading Kconfig help text from Aaro Koskinen - agp/uninorth: fix a memleak in create_gatt_table from Denis Kirjanov - cxl: Free virtual PHB when removing from Andrew Donnellan - scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target from Michael Ellerman - scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building with O= from Michael Ellerman - Freescale updates from Scott: Highlights include 64-bit book3e kexec/kdump support, a rework of the qoriq clock driver, device tree changes including qoriq fman nodes, support for a new 85xx board, and some fixes. - MPC5xxx updates from Anatolij: Highlights include a driver for MPC512x LocalPlus Bus FIFO with its device tree binding documentation, mpc512x device tree updates and some minor fixes. * tag 'powerpc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (106 commits) powerpc/msi: Fix section mismatch warning in msi_bitmap_alloc() powerpc/prom: Use of_get_next_parent() in of_get_ibm_chip_id() powerpc/pseries: Correct string length in pseries_of_derive_parent() powerpc/e6500: hw tablewalk: make sure we invalidate and write to the same tlb entry powerpc/mpc85xx: Add FSL QorIQ DPAA FMan support to the SoC device tree(s) powerpc/mpc85xx: Create dts components for the FSL QorIQ DPAA FMan powerpc/fsl: Add #clock-cells and clockgen label to clockgen nodes powerpc: handle error case in cpm_muram_alloc() powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake powerpc/book3e-64: Enable kexec powerpc/book3e-64/kexec: Set "r4 = 0" when entering spinloop powerpc/booke: Only use VIRT_PHYS_OFFSET on booke32 powerpc/book3e-64/kexec: Enable SMP release powerpc/book3e-64/kexec: create an identity TLB mapping powerpc/book3e-64: Don't limit paca to 256 MiB powerpc/book3e/kdump: Enable crash_kexec_wait_realmode powerpc/book3e: support CONFIG_RELOCATABLE powerpc/booke64: Fix args to copy_and_flush powerpc/book3e-64: rename interrupt_end_book3e with __end_interrupts powerpc/e6500: kexec: Handle hardware threads ... commit 2e3078af2c67730c479f1d183af5b367f5d95337 Merge: ea5c58e b3b0d09 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 23:10:54 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge patch-bomb from Andrew Morton: - inotify tweaks - some ocfs2 updates (many more are awaiting review) - various misc bits - kernel/watchdog.c updates - Some of mm. I have a huge number of MM patches this time and quite a lot of it is quite difficult and much will be held over to next time. * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (162 commits) selftests: vm: add tests for lock on fault mm: mlock: add mlock flags to enable VM_LOCKONFAULT usage mm: introduce VM_LOCKONFAULT mm: mlock: add new mlock system call mm: mlock: refactor mlock, munlock, and munlockall code kasan: always taint kernel on report mm, slub, kasan: enable user tracking by default with KASAN=y kasan: use IS_ALIGNED in memory_is_poisoned_8() kasan: Fix a type conversion error lib: test_kasan: add some testcases kasan: update reference to kasan prototype repo kasan: move KASAN_SANITIZE in arch/x86/boot/Makefile kasan: various fixes in documentation kasan: update log messages kasan: accurately determine the type of the bad access kasan: update reported bug types for kernel memory accesses kasan: update reported bug types for not user nor kernel memory accesses mm/kasan: prevent deadlock in kasan reporting mm/kasan: don't use kasan shadow pointer in generic functions mm/kasan: MODULE_VADDR is not available on all archs ... commit ea5c58e70c3a148ada0d3061a8f529589bb766ba Author: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Fri Nov 6 00:32:04 2015 -0600 vfs: clear remainder of 'full_fds_bits' in dup_fd() This fixes a bug from commit f3f86e33dc3d ("vfs: Fix pathological performance case for __alloc_fd()"). v2: refactor to share fd bitmap copying code Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f74f2e2e26199f695ca3df94f29e9ab7cb707ea4 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Nov 3 16:03:30 2015 +1100 KVM: PPC: Book3S HV: Don't dynamically split core when already split In static micro-threading modes, the dynamic micro-threading code is supposed to be disabled, because subcores can't make independent decisions about what micro-threading mode to put the core in - there is only one micro-threading mode for the whole core. The code that implements dynamic micro-threading checks for this, except that the check was missed in one case. This means that it is possible for a subcore in static 2-way micro-threading mode to try to put the core into 4-way micro-threading mode, which usually leads to stuck CPUs, spinlock lockups, and other stalls in the host. The problem was in the can_split_piggybacked_subcores() function, which should always return false if the system is in a static micro-threading mode. This fixes the problem by making can_split_piggybacked_subcores() use subcore_config_ok() for its checks, as subcore_config_ok() includes the necessary check for the static micro-threading modes. Credit to Gautham Shenoy for working out that the reason for the hangs and stalls we were seeing was that we were trying to do dynamic 4-way micro-threading while we were in static 2-way mode. Fixes: b4deba5c41e9 Cc: vger@xxxxxxxxxxxxxxxxx # v4.3 Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit cf29b21595b91eecce6ca69b0f92d60bca076ef0 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Oct 27 16:10:20 2015 +1100 KVM: PPC: Book3S HV: Synthesize segment fault if SLB lookup fails When handling a hypervisor data or instruction storage interrupt (HDSI or HISI), we look up the SLB entry for the address being accessed in order to translate the effective address to a virtual address which can be looked up in the guest HPT. This lookup can occasionally fail due to the guest replacing an SLB entry without invalidating the evicted SLB entry. In this situation an ERAT (effective to real address translation cache) entry can persist and be used by the hardware even though there is no longer a corresponding SLB entry. Previously we would just deliver a data or instruction storage interrupt (DSI or ISI) to the guest in this case. However, this is not correct and has been observed to cause guests to crash, typically with a data storage protection interrupt on a store to the vmemmap area. Instead, what we do now is to synthesize a data or instruction segment interrupt. That should cause the guest to reload an appropriate entry into the SLB and retry the faulting instruction. If it still faults, we should find an appropriate SLB entry next time and be able to handle the fault. Tested-by: Thomas Huth <thuth@xxxxxxxxxx> Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit b3b0d09c7a2330759ac293f5269bd932439ea0ff Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Thu Nov 5 18:51:43 2015 -0800 selftests: vm: add tests for lock on fault Test the mmap() flag, and the mlockall() flag. These tests ensure that pages are not faulted in until they are accessed, that the pages are unevictable once faulted in, and that VMA splitting and merging works with the new VM flag. The second test ensures that mlock limits are respected. Note that the limit test needs to be run a normal user. Also add tests to use the new mlock2 family of system calls. [treding@xxxxxxxxxx: : Fix mlock2-tests for 32-bit architectures] [treding@xxxxxxxxxx: ensure the mlock2 syscall number can be found] [treding@xxxxxxxxxx: use the right arguments for main()] Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b0f205c2a3082dd9081f9a94e50658c5fa906ff1 Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Thu Nov 5 18:51:39 2015 -0800 mm: mlock: add mlock flags to enable VM_LOCKONFAULT usage The previous patch introduced a flag that specified pages in a VMA should be placed on the unevictable LRU, but they should not be made present when the area is created. This patch adds the ability to set this state via the new mlock system calls. We add MLOCK_ONFAULT for mlock2 and MCL_ONFAULT for mlockall. MLOCK_ONFAULT will set the VM_LOCKONFAULT modifier for VM_LOCKED. MCL_ONFAULT should be used as a modifier to the two other mlockall flags. When used with MCL_CURRENT, all current mappings will be marked with VM_LOCKED | VM_LOCKONFAULT. When used with MCL_FUTURE, the mm->def_flags will be marked with VM_LOCKED | VM_LOCKONFAULT. When used with both MCL_CURRENT and MCL_FUTURE, all current mappings and mm->def_flags will be marked with VM_LOCKED | VM_LOCKONFAULT. Prior to this patch, mlockall() will unconditionally clear the mm->def_flags any time it is called without MCL_FUTURE. This behavior is maintained after adding MCL_ONFAULT. If a call to mlockall(MCL_FUTURE) is followed by mlockall(MCL_CURRENT), the mm->def_flags will be cleared and new VMAs will be unlocked. This remains true with or without MCL_ONFAULT in either mlockall() invocation. munlock() will unconditionally clear both vma flags. munlockall() unconditionally clears for VMA flags on all VMAs and in the mm->def_flags field. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de60f5f10c58d4f34b68622442c0e04180367f3f Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Thu Nov 5 18:51:36 2015 -0800 mm: introduce VM_LOCKONFAULT The cost of faulting in all memory to be locked can be very high when working with large mappings. If only portions of the mapping will be used this can incur a high penalty for locking. For the example of a large file, this is the usage pattern for a large statical language model (probably applies to other statical or graphical models as well). For the security example, any application transacting in data that cannot be swapped out (credit card data, medical records, etc). This patch introduces the ability to request that pages are not pre-faulted, but are placed on the unevictable LRU when they are finally faulted in. The VM_LOCKONFAULT flag will be used together with VM_LOCKED and has no effect when set without VM_LOCKED. Setting the VM_LOCKONFAULT flag for a VMA will cause pages faulted into that VMA to be added to the unevictable LRU when they are faulted or if they are already present, but will not cause any missing pages to be faulted in. Exposing this new lock state means that we cannot overload the meaning of the FOLL_POPULATE flag any longer. Prior to this patch it was used to mean that the VMA for a fault was locked. This means we need the new FOLL_MLOCK flag to communicate the locked state of a VMA. FOLL_POPULATE will now only control if the VMA should be populated and in the case of VM_LOCKONFAULT, it will not be set. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a8ca5d0ecbdde5cc3d7accacbd69968b0c98764e Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Thu Nov 5 18:51:33 2015 -0800 mm: mlock: add new mlock system call With the refactored mlock code, introduce a new system call for mlock. The new call will allow the user to specify what lock states are being added. mlock2 is trivial at the moment, but a follow on patch will add a new mlock state making it useful. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1aab92ec3de552362397b718744872ea2d17add2 Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Thu Nov 5 18:51:29 2015 -0800 mm: mlock: refactor mlock, munlock, and munlockall code mlock() allows a user to control page out of program memory, but this comes at the cost of faulting in the entire mapping when it is allocated. For large mappings where the entire area is not necessary this is not ideal. Instead of forcing all locked pages to be present when they are allocated, this set creates a middle ground. Pages are marked to be placed on the unevictable LRU (locked) when they are first used, but they are not faulted in by the mlock call. This series introduces a new mlock() system call that takes a flags argument along with the start address and size. This flags argument gives the caller the ability to request memory be locked in the traditional way, or to be locked after the page is faulted in. A new MCL flag is added to mirror the lock on fault behavior from mlock() in mlockall(). There are two main use cases that this set covers. The first is the security focussed mlock case. A buffer is needed that cannot be written to swap. The maximum size is known, but on average the memory used is significantly less than this maximum. With lock on fault, the buffer is guaranteed to never be paged out without consuming the maximum size every time such a buffer is created. The second use case is focussed on performance. Portions of a large file are needed and we want to keep the used portions in memory once accessed. This is the case for large graphical models where the path through the graph is not known until run time. The entire graph is unlikely to be used in a given invocation, but once a node has been used it needs to stay resident for further processing. Given these constraints we have a number of options. We can potentially waste a large amount of memory by mlocking the entire region (this can also cause a significant stall at startup as the entire file is read in). We can mlock every page as we access them without tracking if the page is already resident but this introduces large overhead for each access. The third option is mapping the entire region with PROT_NONE and using a signal handler for SIGSEGV to mprotect(PROT_READ) and mlock() the needed page. Doing this page at a time adds a significant performance penalty. Batching can be used to mitigate this overhead, but in order to safely avoid trying to mprotect pages outside of the mapping, the boundaries of each mapping to be used in this way must be tracked and available to the signal handler. This is precisely what the mm system in the kernel should already be doing. For mlock(MLOCK_ONFAULT) the user is charged against RLIMIT_MEMLOCK as if mlock(MLOCK_LOCKED) or mmap(MAP_LOCKED) was used, so when the VMA is created not when the pages are faulted in. For mlockall(MCL_ONFAULT) the user is charged as if MCL_FUTURE was used. This decision was made to keep the accounting checks out of the page fault path. To illustrate the benefit of this set I wrote a test program that mmaps a 5 GB file filled with random data and then makes 15,000,000 accesses to random addresses in that mapping. The test program was run 20 times for each setup. Results are reported for two program portions, setup and execution. The setup phase is calling mmap and optionally mlock on the entire region. For most experiments this is trivial, but it highlights the cost of faulting in the entire region. Results are averages across the 20 runs in milliseconds. mmap with mlock(MLOCK_LOCKED) on entire range: Setup avg: 8228.666 Processing avg: 8274.257 mmap with mlock(MLOCK_LOCKED) before each access: Setup avg: 0.113 Processing avg: 90993.552 mmap with PROT_NONE and signal handler and batch size of 1 page: With the default value in max_map_count, this gets ENOMEM as I attempt to change the permissions, after upping the sysctl significantly I get: Setup avg: 0.058 Processing avg: 69488.073 mmap with PROT_NONE and signal handler and batch size of 8 pages: Setup avg: 0.068 Processing avg: 38204.116 mmap with PROT_NONE and signal handler and batch size of 16 pages: Setup avg: 0.044 Processing avg: 29671.180 mmap with mlock(MLOCK_ONFAULT) on entire range: Setup avg: 0.189 Processing avg: 17904.899 The signal handler in the batch cases faulted in memory in two steps to avoid having to know the start and end of the faulting mapping. The first step covers the page that caused the fault as we know that it will be possible to lock. The second step speculatively tries to mlock and mprotect the batch size - 1 pages that follow. There may be a clever way to avoid this without having the program track each mapping to be covered by this handeler in a globally accessible structure, but I could not find it. It should be noted that with a large enough batch size this two step fault handler can still cause the program to crash if it reaches far beyond the end of the mapping. These results show that if the developer knows that a majority of the mapping will be used, it is better to try and fault it in at once, otherwise mlock(MLOCK_ONFAULT) is significantly faster. The performance cost of these patches are minimal on the two benchmarks I have tested (stream and kernbench). The following are the average values across 20 runs of stream and 10 runs of kernbench after a warmup run whose results were discarded. Avg throughput in MB/s from stream using 1000000 element arrays Test 4.2-rc1 4.2-rc1+lock-on-fault Copy: 10,566.5 10,421 Scale: 10,685 10,503.5 Add: 12,044.1 11,814.2 Triad: 12,064.8 11,846.3 Kernbench optimal load 4.2-rc1 4.2-rc1+lock-on-fault Elapsed Time 78.453 78.991 User Time 64.2395 65.2355 System Time 9.7335 9.7085 Context Switches 22211.5 22412.1 Sleeps 14965.3 14956.1 This patch (of 6): Extending the mlock system call is very difficult because it currently does not take a flags argument. A later patch in this set will extend mlock to support a middle ground between pages that are locked and faulted in immediately and unlocked pages. To pave the way for the new system call, the code needs some reorganization so that all the actual entry point handles is checking input and translating to VMA flags. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit eb06f43f1c94d502b7867b0998e92cdabbc060bc Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Thu Nov 5 18:51:26 2015 -0800 kasan: always taint kernel on report Currently we already taint the kernel in some cases. E.g. if we hit some bug in slub memory we call object_err() which will taint the kernel with TAINT_BAD_PAGE flag. But for other kind of bugs kernel left untainted. Always taint with TAINT_BAD_PAGE if kasan found some bug. This is useful for automated testing. Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Reviewed-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 89d3c87e20d95e3238eac85e43de7b3cb1f39d8b Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Thu Nov 5 18:51:23 2015 -0800 mm, slub, kasan: enable user tracking by default with KASAN=y It's recommended to have slub's user tracking enabled with CONFIG_KASAN, because: a) User tracking disables slab merging which improves detecting out-of-bounds accesses. b) User tracking metadata acts as redzone which also improves detecting out-of-bounds accesses. c) User tracking provides additional information about object. This information helps to understand bugs. Currently it is not enabled by default. Besides recompiling the kernel with KASAN and reinstalling it, user also have to change the boot cmdline, which is not very handy. Enable slub user tracking by default with KASAN=y, since there is no good reason to not do this. [akpm@xxxxxxxxxxxxxxxxxxxx: little fixes, per David] Signed-off-by: Andrey Ryabinin <aryabinin@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 10f702627e139e21465f4c9d44f63527bbca163c Author: Xishi Qiu <qiuxishi@xxxxxxxxxx> Date: Thu Nov 5 18:51:21 2015 -0800 kasan: use IS_ALIGNED in memory_is_poisoned_8() Use IS_ALIGNED() to determine whether the shadow span two bytes. It generates less code and more readable. Also add some comments in shadow check functions. Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx> Acked-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Andrey Konovalov <adech.fo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e0d57714394f5e2ce4e2f9bbebf48e3c7a7fd3be Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Thu Nov 5 18:51:18 2015 -0800 kasan: Fix a type conversion error The current KASAN code can not find the following out-of-bounds bugs: char *ptr; ptr = kmalloc(8, GFP_KERNEL); memset(ptr+7, 0, 2); the cause of the problem is the type conversion error in *memory_is_poisoned_n* function. So this patch fix that. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Vladimir Murzin <vladimir.murzin@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f523e737c08f5daaec9fac017e1bc5695e6f2760 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Thu Nov 5 18:51:15 2015 -0800 lib: test_kasan: add some testcases Add some out of bounds testcases to test_kasan module. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Vladimir Murzin <vladimir.murzin@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d0926efe728e00afbd81a1e3c498222cf908d23 Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:51:12 2015 -0800 kasan: update reference to kasan prototype repo Update the reference to the kasan prototype repository on github, since it was renamed. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c63f06dd15797736c31dc86e6392811d0bac34a1 Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:51:09 2015 -0800 kasan: move KASAN_SANITIZE in arch/x86/boot/Makefile Move KASAN_SANITIZE in arch/x86/boot/Makefile above the comment related to SVGA_MODE, since the comment refers to 'the next line'. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0295fd5d570626817d10deadf5a2ad5e49c36a1d Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:51:06 2015 -0800 kasan: various fixes in documentation [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25add7ec708170e4eaef1f9793a07803b2fb5c71 Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:51:03 2015 -0800 kasan: update log messages We decided to use KASAN as the short name of the tool and KernelAddressSanitizer as the full one. Update log messages according to that. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdf6a273dc4346277ab9d148ef29f6e058624a8c Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:51:01 2015 -0800 kasan: accurately determine the type of the bad access Makes KASAN accurately determine the type of the bad access. If the shadow byte value is in the [0, KASAN_SHADOW_SCALE_SIZE) range we can look at the next shadow byte to determine the type of the access. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0952d87fd6a6211ac51b2abdc5c066b49c651fd8 Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:50:58 2015 -0800 kasan: update reported bug types for kernel memory accesses Update the names of the bad access types to better reflect the type of the access that happended and make these error types "literals" that can be used for classification and deduplication in scripts. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e91210766341cb356ead7fd39f07493a3d00b80f Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:50:55 2015 -0800 kasan: update reported bug types for not user nor kernel memory accesses Each access with address lower than kasan_shadow_to_mem(KASAN_SHADOW_START) is reported as user-memory-access. This is not always true, the accessed address might not be in user space. Fix this by reporting such accesses as null-ptr-derefs or wild-memory-accesses. There's another reason for this change. For userspace ASan we have a bunch of systems that analyze error types for the purpose of classification and deduplication. Sooner of later we will write them to KASAN as well. Then clearly and explicitly stated error types will bring value. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fc5aeeaf593278f07ffa4d97296e27423ecae867 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:51 2015 -0800 mm/kasan: prevent deadlock in kasan reporting When we end up calling kasan_report in real mode, our shadow mapping for the spinlock variable will show poisoned. This will result in us calling kasan_report_error with lock_report spin lock held. To prevent this disable kasan reporting when we are priting error w.r.t kasan. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2377d4eaab2aabe1938b3974b5b94f5ba4c7ead Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:48 2015 -0800 mm/kasan: don't use kasan shadow pointer in generic functions We can't use generic functions like print_hex_dump to access kasan shadow region. This require us to setup another kasan shadow region for the address passed (kasan shadow address). Some architectures won't be able to do that. Hence make a copy of the shadow region row and pass that to generic functions. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 527f215b78976e94995dce7163b07539b576d519 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:46 2015 -0800 mm/kasan: MODULE_VADDR is not available on all archs Use is_module_address instead Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ba8663cbfae066fc504b858db7cbb7d03c2b872 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:43 2015 -0800 mm/kasan: rename kasan_enabled() to kasan_report_enabled() The function only disable/enable reporting. In the later patch we will be adding a kasan early enable/disable. Rename kasan_enabled to properly reflect its function. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5ba97bf9d8754bd984e81c1061fcda682681939e Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:40 2015 -0800 mm: remove refresh_cpu_vm_stats() definition for !SMP kernel refresh_cpu_vm_stats(int cpu) is no longer referenced by !SMP kernel since Linux 3.12. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a5be35632cf3048d3922e2e2fb05a4c6f0889ff0 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:50:37 2015 -0800 Documentation/filesystems/proc.txt: a little tidying There's an odd line about "Locked" at the head of the description of /proc/meminfo: it seems to have strayed from /proc/PID/smaps, so lead it back there. Move "Swap" and "SwapPss" descriptions down above it, to match the order in the file (though "PageSize"s still undescribed). The example of "Locked: 374 kB" (the same as Pss, neither Rss nor Size) is so unlikely as to be misleading: just make it 0, this is /bin/bash text; which would be "dw" (disabled write) not "de" (do not expand). Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0424c429f8e0555a337d71e0a13f2289c636ec9 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:50:34 2015 -0800 tmpfs: avoid a little creat and stat slowdown LKP reports that v4.2 commit afa2db2fb6f1 ("tmpfs: truncate prealloc blocks past i_size") causes a 14.5% slowdown in the AIM9 creat-clo benchmark. creat-clo does just what you'd expect from the name, and creat's O_TRUNC on 0-length file does indeed get into more overhead now shmem_setattr() tests "0 <= 0" instead of "0 < 0". I'm not sure how much we care, but I think it would not be too VW-like to add in a check for whether any pages (or swap) are allocated: if none are allocated, there's none to remove from the radix_tree. At first I thought that check would be good enough for the unmaps too, but no: we should not skip the unlikely case of unmapping pages beyond the new EOF, which were COWed from holes which have now been reclaimed, leaving none. This gives me an 8.5% speedup: on Haswell instead of LKP's Westmere, and running a debug config before and after: I hope those account for the lesser speedup. And probably someone has a benchmark where a thousand threads keep on stat'ing the same file repeatedly: forestall that report by adjusting v4.3 commit 44a30220bc0a ("shmem: recalculate file inode when fstat") not to take the spinlock in shmem_getattr() when there's no work to do. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Reported-by: Ying Huang <ying.huang@xxxxxxxxxxxxxxx> Tested-by: Ying Huang <ying.huang@xxxxxxxxxxxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Cc: Yu Zhao <yuzhao@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b72bdfa73603f2f81fbac651b9ae36807e877752 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Thu Nov 5 18:50:32 2015 -0800 mm, oom: add comment for why oom_adj exists /proc/pid/oom_adj exists solely to avoid breaking existing userspace binaries that write to the tunable. Add a comment in the only possible location within the kernel tree to describe the situation and motivation for keeping it around. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c12176d3368b9b36ae484d323d41e94be26f9b65 Author: Michal Hocko <mhocko@xxxxxxxx> Date: Thu Nov 5 18:50:29 2015 -0800 memcg: fix thresholds for 32b architectures. Commit 424cdc141380 ("memcg: convert threshold to bytes") has fixed a regression introduced by 3e32cb2e0a12 ("mm: memcontrol: lockless page counters") where thresholds were silently converted to use page units rather than bytes when interpreting the user input. The fix is not complete, though, as properly pointed out by Ben Hutchings during stable backport review. The page count is converted to bytes but unsigned long is used to hold the value which would be obviously not sufficient for 32b systems with more than 4G thresholds. The same applies to usage as taken from mem_cgroup_usage which might overflow. Let's remove this bytes vs. pages internal tracking differences and handle thresholds in page units internally. Chage mem_cgroup_usage() to return the value in page units and revert 424cdc141380 because this should be sufficient for the consistent handling. mem_cgroup_read_u64 as the only users of mem_cgroup_usage outside of the threshold handling code is converted to give the proper in bytes result. It is doing that already for page_counter output so this is more consistent as well. The value presented to the userspace is still in bytes units. Fixes: 424cdc141380 ("memcg: convert threshold to bytes") Fixes: 3e32cb2e0a12 ("mm: memcontrol: lockless page counters") Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> From: Michal Hocko <mhocko@xxxxxxxxxx> Subject: memcg-fix-thresholds-for-32b-architectures-fix Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: memcg-fix-thresholds-for-32b-architectures-fix-fix don't attempt to inline mem_cgroup_usage() The compiler ignores the inline anwyay. And __always_inlining it adds 600 bytes of goop to the .o file. Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6071ca5201066f4b2a61cfb693dd186d6bc6e9f3 Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Nov 5 18:50:26 2015 -0800 mm: page_counter: let page_counter_try_charge() return bool page_counter_try_charge() currently returns 0 on success and -ENOMEM on failure, which is surprising behavior given the function name. Make it follow the expected pattern of try_stuff() functions that return a boolean true to indicate success, or false for failure. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f5fc3c5d817435970aa301d066820a9ac12c8120 Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Nov 5 18:50:23 2015 -0800 mm: memcontrol: eliminate root memory.current memory.current on the root level doesn't add anything that wouldn't be more accurate and detailed using system statistics. It already doesn't include slabs, and it'll be a pain to keep in sync when further memory types are accounted in the memory controller. Remove it. Note that this applies to the new unified hierarchy interface only. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e0ec90ee7e6f6cbaa6d59ffb48d2a7af5e80e61d Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:20 2015 -0800 mm, hugetlbfs: optimize when NUMA=n My recent patch "mm, hugetlb: use memory policy when available" added some bloat to hugetlb.o. This patch aims to get some of the bloat back, especially when NUMA is not in play. It does this with an implicit #ifdef and marking some things static that should have been static in my first patch. It also makes the warnings only VM_WARN_ON()s. They were responsible for a pretty big chunk of the bloat. Doing this gets our NUMA=n text size back to a wee bit _below_ where we started before the original patch. It also shaves a bit of space off the NUMA=y case, but not much. Enforcing the mempolicy definitely takes some text and it's hard to avoid. size(1) output: text data bss dec hex filename 30745 3433 2492 36670 8f3e hugetlb.o.nonuma.baseline 31305 3755 2492 37552 92b0 hugetlb.o.nonuma.patch1 30713 3433 2492 36638 8f1e hugetlb.o.nonuma.patch2 (this patch) 25235 473 41276 66984 105a8 hugetlb.o.numa.baseline 25715 475 41276 67466 1078a hugetlb.o.numa.patch1 25491 473 41276 67240 106a8 hugetlb.o.numa.patch2 (this patch) Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 099730d67417dfee273e9b10ac2560ca7fac7eb9 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:17 2015 -0800 mm, hugetlb: use memory policy when available I have a hugetlbfs user which is never explicitly allocating huge pages with 'nr_hugepages'. They only set 'nr_overcommit_hugepages' and then let the pages be allocated from the buddy allocator at fault time. This works, but they noticed that mbind() was not doing them any good and the pages were being allocated without respect for the policy they specified. The code in question is this: > struct page *alloc_huge_page(struct vm_area_struct *vma, ... > page = dequeue_huge_page_vma(h, vma, addr, avoid_reserve, gbl_chg); > if (!page) { > page = alloc_buddy_huge_page(h, NUMA_NO_NODE); dequeue_huge_page_vma() is smart and will respect the VMA's memory policy. But, it only grabs _existing_ huge pages from the huge page pool. If the pool is empty, we fall back to alloc_buddy_huge_page() which obviously can't do anything with the VMA's policy because it isn't even passed the VMA. Almost everybody preallocates huge pages. That's probably why nobody has ever noticed this. Looking back at the git history, I don't think this _ever_ worked from when alloc_buddy_huge_page() was introduced in 7893d1d5, 8 years ago. The fix is to pass vma/addr down in to the places where we actually call in to the buddy allocator. It's fairly straightforward plumbing. This has been lightly tested. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b4e289a6a659c5c2c056a67fa4f31f3dd8317537 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:50:14 2015 -0800 mm/hugetlb: make node_hstates array static There are no users of the node_hstates array outside of the mm/hugetlb.c. So let's make it static. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9dd861d55b01f1d0848f82007e8665371ae18710 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:11 2015 -0800 mm/maccess.c: actually return -EFAULT from strncpy_from_unsafe As far as I can tell, strncpy_from_unsafe never returns -EFAULT. ret is the result of a __copy_from_user_inatomic(), which is 0 for success and positive (in this case necessarily 1) for access error - it is never negative. So we were always returning the length of the, possibly truncated, destination string. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3acaea6804b3a10e996ce6ebc342089f481e1cdb Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:08 2015 -0800 mm/cma.c: suppress warning mm/cma.c: In function 'cma_alloc': mm/cma.c:366: warning: 'pfn' may be used uninitialized in this function The patch actually improves the tracing a bit: if alloc_contig_range() fails, tracing will display the offending pfn rather than -1. Cc: Stefan Strogin <stefan.strogin@xxxxxxxxx> Cc: Michal Nazarewicz <mpn@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 42cb14b110a5698ccf26ce59c4441722605a3743 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:50:05 2015 -0800 mm: migrate dirty page without clear_page_dirty_for_io etc clear_page_dirty_for_io() has accumulated writeback and memcg subtleties since v2.6.16 first introduced page migration; and the set_page_dirty() which completed its migration of PageDirty, later had to be moderated to __set_page_dirty_nobuffers(); then PageSwapBacked had to skip that too. No actual problems seen with this procedure recently, but if you look into what the clear_page_dirty_for_io(page)+set_page_dirty(newpage) is actually achieving, it turns out to be nothing more than moving the PageDirty flag, and its NR_FILE_DIRTY stat from one zone to another. It would be good to avoid a pile of irrelevant decrementations and incrementations, and improper event counting, and unnecessary descent of the radix_tree under tree_lock (to set the PAGECACHE_TAG_DIRTY which radix_tree_replace_slot() left in place anyway). Do the NR_FILE_DIRTY movement, like the other stats movements, while interrupts still disabled in migrate_page_move_mapping(); and don't even bother if the zone is the same. Do the PageDirty movement there under tree_lock too, where old page is frozen and newpage not yet visible: bearing in mind that as soon as newpage becomes visible in radix_tree, an un-page-locked set_page_dirty() might interfere (or perhaps that's just not possible: anything doing so should already hold an additional reference to the old page, preventing its migration; but play safe). But we do still need to transfer PageDirty in migrate_page_copy(), for those who don't go the mapping route through migrate_page_move_mapping(). Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cf4b769abb8aef01f887543cb8308c0d8671367c Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:50:02 2015 -0800 mm: page migration avoid touching newpage until no going back We have had trouble in the past from the way in which page migration's newpage is initialized in dribs and drabs - see commit 8bdd63809160 ("mm: fix direct reclaim writeback regression") which proposed a cleanup. We have no actual problem now, but I think the procedure would be clearer (and alternative get_new_page pools safer to implement) if we assert that newpage is not touched until we are sure that it's going to be used - except for taking the trylock on it in __unmap_and_move(). So shift the early initializations from move_to_new_page() into migrate_page_move_mapping(), mapping and NULL-mapping paths. Similarly migrate_huge_page_move_mapping(), but its NULL-mapping path can just be deleted: you cannot reach hugetlbfs_migrate_page() with a NULL mapping. Adjust stages 3 to 8 in the Documentation file accordingly. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 470f119f012068e5d94458c98dc4eec102f88cd3 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:59 2015 -0800 mm: page migration use migration entry for swapcache too Hitherto page migration has avoided using a migration entry for a swapcache page mapped into userspace, apparently for historical reasons. So any page blessed with swapcache would entail a minor fault when it's next touched, which page migration otherwise tries to avoid. Swapcache in an mlocked area is rare, so won't often matter, but still better fixed. Just rearrange the block in try_to_unmap_one(), to handle TTU_MIGRATION before checking PageAnon, that's all (apart from some reindenting). Well, no, that's not quite all: doesn't this by the way fix a soft_dirty bug, that page migration of a file page was forgetting to transfer the soft_dirty bit? Probably not a serious bug: if I understand correctly, soft_dirty afficionados usually have to handle file pages separately anyway; but we publish the bit in /proc/<pid>/pagemap on file mappings as well as anonymous, so page migration ought not to perturb it. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Reviewed-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 03f15c86c8d1b9d81e6d215715e110aef8f936e0 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:56 2015 -0800 mm: simplify page migration's anon_vma comment and flow __unmap_and_move() contains a long stale comment on page_get_anon_vma() and PageSwapCache(), with an odd control flow that's hard to follow. Mostly this reflects our confusion about the lifetime of an anon_vma, in the early days of page migration, before we could take a reference to one. Nowadays this seems quite straightforward: cut it all down to essentials. I cannot see the relevance of swapcache here at all, so don't treat it any differently: I believe the old comment reflects in part our anon_vma confusions, and in part the original v2.6.16 page migration technique, which used actual swap to migrate anon instead of swap-like migration entries. Why should a swapcache page not be migrated with the aid of migration entry ptes like everything else? So lose that comment now, and enable migration entries for swapcache in the next patch. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5c3f9a67371643b6faa987622bc1b67667bab848 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:53 2015 -0800 mm: page migration remove_migration_ptes at lock+unlock level Clean up page migration a little more by calling remove_migration_ptes() from the same level, on success or on failure, from __unmap_and_move() or from unmap_and_move_huge_page(). Don't reset page->mapping of a PageAnon old page in move_to_new_page(), leave that to when the page is freed. Except for here in page migration, it has been an invariant that a PageAnon (bit set in page->mapping) page stays PageAnon until it is freed, and I think we're safer to keep to that. And with the above rearrangement, it's necessary because zap_pte_range() wants to identify whether a migration entry represents a file or an anon page, to update the appropriate rss stats without waiting on it. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7db7671f835ccad66db20154ac1274140937d9b7 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:49 2015 -0800 mm: page migration trylock newpage at same level as oldpage Clean up page migration a little by moving the trylock of newpage from move_to_new_page() into __unmap_and_move(), where the old page has been locked. Adjust unmap_and_move_huge_page() and balloon_page_migrate() accordingly. But make one kind-of-functional change on the way: whereas trylock of newpage used to BUG() if it failed, now simply return -EAGAIN if so. Cutting out BUG()s is good, right? But, to be honest, this is really to extend the usefulness of the custom put_new_page feature, allowing a pool of new pages to be shared perhaps with racing uses. Use an "else" instead of that "skip_unmap" label. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Acked-by: Rafael Aquini <aquini@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2def7424c9be0069831380823fdb5cf72103b919 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:46 2015 -0800 mm: page migration use the put_new_page whenever necessary I don't know of any problem from the way it's used in our current tree, but there is one defect in page migration's custom put_new_page feature. An unused newpage is expected to be released with the put_new_page(), but there was one MIGRATEPAGE_SUCCESS (0) path which released it with putback_lru_page(): which can be very wrong for a custom pool. Fixed more easily by resetting put_new_page once it won't be needed, than by adding a further flag to modify the rc test. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 14e0f9bcc95f1aef26a9f860cceda35faee79b34 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:43 2015 -0800 mm: correct a couple of page migration comments It's migrate.c not migration,c, and nowadays putback_movable_pages() not putback_lru_pages(). Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Acked-by: Rafael Aquini <aquini@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 45637bab30d6e7651737f51aa99417baef4d114a Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:40 2015 -0800 mm: rename mem_cgroup_migrate to mem_cgroup_replace_page After v4.3's commit 0610c25daa3e ("memcg: fix dirty page migration") mem_cgroup_migrate() doesn't have much to offer in page migration: convert migrate_misplaced_transhuge_page() to set_page_memcg() instead. Then rename mem_cgroup_migrate() to mem_cgroup_replace_page(), since its remaining callers are replace_page_cache_page() and shmem_replace_page(): both of whom passed lrucare true, so just eliminate that argument. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 51afb12ba809db664682a31154c11e720e2c363c Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:37 2015 -0800 mm: page migration fix PageMlocked on migrated pages Commit e6c509f85455 ("mm: use clear_page_mlock() in page_remove_rmap()") in v3.7 inadvertently made mlock_migrate_page() impotent: page migration unmaps the page from userspace before migrating, and that commit clears PageMlocked on the final unmap, leaving mlock_migrate_page() with nothing to do. Not a serious bug, the next attempt at reclaiming the page would fix it up; but a betrayal of page migration's intent - the new page ought to emerge as PageMlocked. I don't see how to fix it for mlock_migrate_page() itself; but easily fixed in remove_migration_pte(), by calling mlock_vma_page() when the vma is VM_LOCKED - under pte lock as in try_to_unmap_one(). Delete mlock_migrate_page()? Not quite, it does still serve a purpose for migrate_misplaced_transhuge_page(): where we could replace it by a test, clear_page_mlock(), mlock_vma_page() sequence; but would that be an improvement? mlock_migrate_page() is fairly lean, and let's make it leaner by skipping the irq save/restore now clearly not needed. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b87537d9e2feb30f6a962f27eb32768682698d3b Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:33 2015 -0800 mm: rmap use pte lock not mmap_sem to set PageMlocked KernelThreadSanitizer (ktsan) has shown that the down_read_trylock() of mmap_sem in try_to_unmap_one() (when going to set PageMlocked on a page found mapped in a VM_LOCKED vma) is ineffective against races with exit_mmap()'s munlock_vma_pages_all(), because mmap_sem is not held when tearing down an mm. But that's okay, those races are benign; and although we've believed for years in that ugly down_read_trylock(), it's unsuitable for the job, and frustrates the good intention of setting PageMlocked when it fails. It just doesn't matter if here we read vm_flags an instant before or after a racing mlock() or munlock() or exit_mmap() sets or clears VM_LOCKED: the syscalls (or exit) work their way up the address space (taking pt locks after updating vm_flags) to establish the final state. We do still need to be careful never to mark a page Mlocked (hence unevictable) by any race that will not be corrected shortly after. The page lock protects from many of the races, but not all (a page is not necessarily locked when it's unmapped). But the pte lock we just dropped is good to cover the rest (and serializes even with munlock_vma_pages_all(), so no special barriers required): now hold on to the pte lock while calling mlock_vma_page(). Is that lock ordering safe? Yes, that's how follow_page_pte() calls it, and how page_remove_rmap() calls the complementary clear_page_mlock(). This fixes the following case (though not a case which anyone has complained of), which mmap_sem did not: truncation's preliminary unmap_mapping_range() is supposed to remove even the anonymous COWs of filecache pages, and that might race with try_to_unmap_one() on a VM_LOCKED vma, so that mlock_vma_page() sets PageMlocked just after zap_pte_range() unmaps the page, causing "Bad page state (mlocked)" when freed. The pte lock protects against this. You could say that it also protects against the more ordinary case, racing with the preliminary unmapping of a filecache page itself: but in our current tree, that's independently protected by i_mmap_rwsem; and that race would be why "Bad page state (mlocked)" was seen before commit 48ec833b7851 ("Revert mm/memory.c: share the i_mmap_rwsem"). Vlastimil Babka points out another race which this patch protects against. try_to_unmap_one() might reach its mlock_vma_page() TestSetPageMlocked a moment after munlock_vma_pages_all() did its Phase 1 TestClearPageMlocked: leaving PageMlocked and unevictable when it should be evictable. mmap_sem is ineffective because exit_mmap() does not hold it; page lock ineffective because __munlock_pagevec() only takes it afterwards, in Phase 2; pte lock is effective because __munlock_pagevec_fill() takes it to get the page, after VM_LOCKED was cleared from vm_flags, so visible to try_to_unmap_one. Kirill Shutemov points out that if the compiler chooses to implement a "vma->vm_flags &= VM_WHATEVER" or "vma->vm_flags |= VM_WHATEVER" operation with an intermediate store of unrelated bits set, since I'm here foregoing its usual protection by mmap_sem, try_to_unmap_one() might catch sight of a spurious VM_LOCKED in vm_flags, and make the wrong decision. This does not appear to be an immediate problem, but we may want to define vm_flags accessors in future, to guard against such a possibility. While we're here, make a related optimization in try_to_munmap_one(): if it's doing TTU_MUNLOCK, then there's no point at all in descending the page tables and getting the pt lock, unless the vma is VM_LOCKED. Yes, that can change racily, but it can change racily even without the optimization: it's not critical. Far better not to waste time here. Stopped short of separating try_to_munlock_one() from try_to_munmap_one() on this occasion, but that's probably the sensible next step - with a rename, given that try_to_munlock()'s business is to try to set Mlocked. Updated the unevictable-lru Documentation, to remove its reference to mmap semaphore, but found a few more updates needed in just that area. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7a14239a8fff45a241b6943a3ac444d5b67fcbed Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:30 2015 -0800 mm Documentation: undoc non-linear vmas While updating some mm Documentation, I came across a few straggling references to the non-linear vmas which were happily removed in v4.0. Delete them. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 706874e9096e9d468eed9c2b03c8374e806535f3 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:49:27 2015 -0800 mm: do not inc NR_PAGETABLE if ptlock_init failed If ALLOC_SPLIT_PTLOCKS is defined, ptlock_init may fail, in which case we shouldn't increment NR_PAGETABLE. Since small allocations, such as ptlock, normally do not fail (currently they can fail if kmemcg is used though), this patch does not really fix anything and should be considered as a code cleanup. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d3875a01eeafef7ef0b73a99462cb9bd55e8485 Author: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:49:24 2015 -0800 mm: clear_soft_dirty_pmd() requires THP Don't build clear_soft_dirty_pmd() if transparent huge pages are not enabled. Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 326c2597a3b93b8a89e0c3a2b41fd9971d095a97 Author: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:49:21 2015 -0800 mm: clear pte in clear_soft_dirty() As mentioned in the commit 56eecdb912b5 ("mm: Use ptep/pmdp_set_numa() for updating _PAGE_NUMA bit"), architectures like ppc64 don't do tlb flush in set_pte/pmd functions. So when dealing with existing pte in clear_soft_dirty, the pte must be cleared before being modified. Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c8f95ed1a9ce373d20d3b09a6a9fb91c8beef27e Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Nov 5 18:49:19 2015 -0800 ksm: unstable_tree_search_insert error checking cleanup get_mergeable_page() can only return NULL (also in case of errors) or the pinned mergeable page. It can't return an error different than NULL. This optimizes away the unnecessary error check. Add a return after the "out:" label in the callee to make it more readable. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Petr Holasek <pholasek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 85c6e8dd23c6aa9ff299bf5256fe5f0a6c44f100 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Nov 5 18:49:16 2015 -0800 ksm: use find_mergeable_vma in try_to_merge_with_ksm_page Doing the VM_MERGEABLE check after the page == kpage check won't provide any meaningful benefit. The !vma->anon_vma check of find_mergeable_vma is the only superfluous bit in using find_mergeable_vma because the !PageAnon check of try_to_merge_one_page() implicitly checks for that, but it still looks cleaner to share the same find_mergeable_vma(). Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Petr Holasek <pholasek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 98666f8a2576b12f5f3ebcef61a8cdbefede1be3 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Nov 5 18:49:13 2015 -0800 ksm: use the helper method to do the hlist_empty check This just uses the helper function to cleanup the assumption on the hlist_node internals. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Petr Holasek <pholasek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2e5ff85edea30a59b96cf9e20e8886991b0d097 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Nov 5 18:49:10 2015 -0800 ksm: don't fail stable tree lookups if walking over stale stable_nodes The stable_nodes can become stale at any time if the underlying pages gets freed. The stable_node gets collected and removed from the stable rbtree if that is detected during the rbtree lookups. Don't fail the lookup if running into stale stable_nodes, just restart the lookup after collecting the stale stable_nodes. Otherwise the CPU spent in the preparation stage is wasted and the lookup must be repeated at the next loop potentially failing a second time in a second stale stable_node. If we don't prune aggressively we delay the merging of the unstable node candidates and at the same time we delay the freeing of the stale stable_nodes. Keeping stale stable_nodes around wastes memory and it can't provide any benefit. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Petr Holasek <pholasek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad12695f177c3403a64348b42718faf9727fe358 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Nov 5 18:49:07 2015 -0800 ksm: add cond_resched() to the rmap_walks While at it add it to the file and anon walks too. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Petr Holasek <pholasek@xxxxxxxxxx> Acked-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit df4065516b0dbfa35ac0e9b8124d441221c0a285 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:49:04 2015 -0800 memcg: simplify and inline __mem_cgroup_from_kmem Before the previous patch ("memcg: unify slab and other kmem pages charging"), __mem_cgroup_from_kmem had to handle two types of kmem - slab pages and pages allocated with alloc_kmem_pages - memcg in the page struct. Now we can unify it. Since after it, this function becomes tiny we can fold it into mem_cgroup_from_kmem. [hughd@xxxxxxxxxx: move mem_cgroup_from_kmem into list_lru.c] Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f3ccb2c42297757d2e9b820ad37960462df7b7c1 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:49:01 2015 -0800 memcg: unify slab and other kmem pages charging We have memcg_kmem_charge and memcg_kmem_uncharge methods for charging and uncharging kmem pages to memcg, but currently they are not used for charging slab pages (i.e. they are only used for charging pages allocated with alloc_kmem_pages). The only reason why the slab subsystem uses special helpers, memcg_charge_slab and memcg_uncharge_slab, is that it needs to charge to the memcg of kmem cache while memcg_charge_kmem charges to the memcg that the current task belongs to. To remove this diversity, this patch adds an extra argument to __memcg_kmem_charge that can be a pointer to a memcg or NULL. If it is not NULL, the function tries to charge to the memcg it points to, otherwise it charge to the current context. Next, it makes the slab subsystem use this function to charge slab pages. Since memcg_charge_kmem and memcg_uncharge_kmem helpers are now used only in __memcg_kmem_charge and __memcg_kmem_uncharge, they are inlined. Since __memcg_kmem_charge stores a pointer to the memcg in the page struct, we don't need memcg_uncharge_slab anymore and can use free_kmem_pages. Besides, one can now detect which memcg a slab page belongs to by reading /proc/kpagecgroup. Note, this patch switches slab to charge-after-alloc design. Since this design is already used for all other memcg charges, it should not make any difference. [hannes@xxxxxxxxxxx: better to have an outer function than a magic parameter for the memcg lookup] Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> 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 d05e83a6f861ad02c2fcba75d4c4cfe49e3bc90f Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:48:59 2015 -0800 memcg: simplify charging kmem pages Charging kmem pages proceeds in two steps. First, we try to charge the allocation size to the memcg the current task belongs to, then we allocate a page and "commit" the charge storing the pointer to the memcg in the page struct. Such a design looks overcomplicated, because there is not much sense in trying charging the allocation before actually allocating a page: we won't be able to consume much memory over the limit even if we charge after doing the actual allocation, besides we already charge user pages post factum, so being pedantic with kmem pages just looks pointless. So this patch simplifies the design by merging the "charge" and the "commit" steps into the same function, which takes the allocated page. Also, rename the charge and uncharge methods to memcg_kmem_charge and memcg_kmem_uncharge and make the charge method return error code instead of bool to conform to mem_cgroup_try_charge. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bde304bdf4ec4a5f58cc1e90fe2d9cd2d96304c4 Author: Xishi Qiu <qiuxishi@xxxxxxxxxx> Date: Thu Nov 5 18:48:56 2015 -0800 mm/page_alloc.c: skip ZONE_MOVABLE if required_kernelcore is larger than totalpages If kernelcore was not specified, or the kernelcore size is zero (required_movablecore >= totalpages), or the kernelcore size is larger than totalpages, there is no ZONE_MOVABLE. We should fill the zone with both kernel memory and movable memory. Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: <zhongjiang@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a2c1aad3b5fccbb948878b75f9b8f13248666fd6 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Nov 5 18:48:52 2015 -0800 mm/vmacache: inline vmacache_valid_mm() This function incurs in very hot paths and merely does a few loads for validity check. Lets inline it, such that we can save the function call overhead. (akpm: this is cosmetic - the compiler already inlines vmacache_valid_mm()) Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f7ae3a95eab4e6766768cef664d2d429f53bd5f4 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Thu Nov 5 18:48:50 2015 -0800 include/linux/vm_event_item.h: change HIGHMEM_ZONE macro definition Change HIGHMEM_ZONE to be the same as the DMA_ZONE macro. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a1c34a3bf00af2cede839879502e12dc68491ad5 Author: Laura Abbott <laura@xxxxxxxxxxxx> Date: Thu Nov 5 18:48:46 2015 -0800 mm: Don't offset memmap for flatmem Srinivas Kandagatla reported bad page messages when trying to remove the bottom 2MB on an ARM based IFC6410 board BUG: Bad page state in process swapper pfn:fffa8 page:ef7fb500 count:0 mapcount:0 mapping: (null) index:0x0 flags: 0x96640253(locked|error|dirty|active|arch_1|reclaim|mlocked) page dumped because: PAGE_FLAGS_CHECK_AT_FREE flag(s) set bad because of flags: flags: 0x200041(locked|active|mlocked) Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 3.19.0-rc3-00007-g412f9ba-dirty #816 Hardware name: Qualcomm (Flattened Device Tree) unwind_backtrace show_stack dump_stack bad_page free_pages_prepare free_hot_cold_page __free_pages free_highmem_page mem_init start_kernel Disabling lock debugging due to kernel taint Removing the lower 2MB made the start of the lowmem zone to no longer be page block aligned. IFC6410 uses CONFIG_FLATMEM where alloc_node_mem_map allocates memory for the mem_map. alloc_node_mem_map will offset for unaligned nodes with the assumption the pfn/page translation functions will account for the offset. The functions for CONFIG_FLATMEM do not offset however, resulting in overrunning the memmap array. Just use the allocated memmap without any offset when running with CONFIG_FLATMEM to avoid the overrun. Signed-off-by: Laura Abbott <laura@xxxxxxxxxxxx> Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reported-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Tested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Cc: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Arnd Bergman <arnd@xxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c2d42c16ad83006a706d83e51a7268db04af733a Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:48:43 2015 -0800 mm/vmstat.c: uninline node_page_state() With x86_64 (config http://ozlabs.org/~akpm/config-akpm2.txt) and old gcc (4.4.4), drivers/base/node.c:node_read_meminfo() is using 2344 bytes of stack. Uninlining node_page_state() reduces this to 440 bytes. The stack consumption issue is fixed by newer gcc (4.8.4) however with that compiler this patch reduces the node.o text size from 7314 bytes to 4578. Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 27f28b972e12a4080e5f5e4eb36b8224705652d4 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Nov 5 18:48:41 2015 -0800 mm/mmap.c: change __install_special_mapping() args order Make __install_special_mapping() args order match the caller, so the caller can pass their register args directly to callee with no touch. For most of architectures, args (at least the first 5th args) are in registers, so this change will have effect on most of architectures. For -O2, __install_special_mapping() may be inlined under most of architectures, but for -Os, it should not. So this change can get a little better performance for -Os, at least. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c9427bc043da23de03d142c3c87ce4a57297c471 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Nov 5 18:48:38 2015 -0800 mm/nommu.c: drop unlikely inside BUG_ON() (1) For !CONFIG_BUG cases, the bug call is a no-op, so we couldn't care less and the change is ok. (2) ppc and mips, which HAVE_ARCH_BUG_ON, do not rely on branch predictions as it seems to be pointless[1] and thus callers should not be trying to push an optimization in the first place. (3) For CONFIG_BUG and !HAVE_ARCH_BUG_ON cases, BUG_ON() contains an unlikely compiler flag already. Hence, we can drop unlikely behind BUG_ON(). [1] http://lkml.iu.edu/hypermail/linux/kernel/1101.3/02289.html Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1e3ee14b9355a688ffe24725fa746ab120c42881 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Thu Nov 5 18:48:35 2015 -0800 mm/mmap.c: do not initialize retval in mmap_pgoff() When fget() fails we can return -EBADF directly. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e6ee219fdd69c87ceaeb421bcd753a63937f8f31 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Thu Nov 5 18:48:32 2015 -0800 mm/mmap.c: remove redundant statement "error = -ENOMEM" It is still a little better to remove it, although it should be skipped by "-O2". Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>=0A= Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ca65c19ddbb45f504edf92fe7126ecc94d56e36 Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Thu Nov 5 18:48:29 2015 -0800 mm: optimize PageHighMem() check This came up when implementing HIHGMEM/PAE40 for ARC. The kmap() / kmap_atomic() generated code seemed needlessly bloated due to the way PageHighMem() macro is implemented. It derives the exact zone for page and then does pointer subtraction with first zone to infer the zone_type. The pointer arithmatic in turn generates the code bloat. PageHighMem(page) is_highmem(page_zone(page)) zone_off = (char *)zone - (char *)zone->zone_pgdat->node_zones Instead use is_highmem_idx() to work on zone_type available in page flags ----- Before ----- 80756348: mov_s r13,r0 8075634a: ld_s r2,[r13,0] 8075634c: lsr_s r2,r2,30 8075634e: mpy r2,r2,0x2a4 80756352: add_s r2,r2,0x80aef880 80756358: ld_s r3,[r2,28] 8075635a: sub_s r2,r2,r3 8075635c: breq r2,0x2a4,80756378 <kmap+0x48> 80756364: breq r2,0x548,80756378 <kmap+0x48> ----- After ----- 80756330: mov_s r13,r0 80756332: ld_s r2,[r13,0] 80756334: lsr_s r2,r2,30 80756336: sub_s r2,r2,1 80756338: brlo r2,2,80756348 <kmap+0x30> For x86 defconfig build (32 bit only) it saves around 900 bytes. For ARC defconfig with HIGHMEM, it saved around 2K bytes. ---->8------- ./scripts/bloat-o-meter x86/vmlinux-defconfig-pre x86/vmlinux-defconfig-post add/remove: 0/0 grow/shrink: 0/36 up/down: 0/-934 (-934) function old new delta saveable_page 162 154 -8 saveable_highmem_page 154 146 -8 skb_gro_reset_offset 147 131 -16 ... ... __change_page_attr_set_clr 1715 1678 -37 setup_data_read 434 394 -40 mon_bin_event 1967 1927 -40 swsusp_save 1148 1105 -43 _set_pages_array 549 493 -56 ---->8------- e.g. For ARC kmap() Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Jennifer Herbert <jennifer.herbert@xxxxxxxxxx> Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4d7b3394f76ed72cfdec23ca5571dbab6ec41793 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Nov 5 18:48:26 2015 -0800 mm/oom_kill: fix the wrong task->mm == mm checks in oom_kill_process() Both "child->mm == mm" and "p->mm != mm" checks in oom_kill_process() are wrong. task->mm can be NULL if the task is the exited group leader. This means in particular that "kill sharing same memory" loop can miss a process with a zombie leader which uses the same ->mm. Note: the process_has_mm(child, p->mm) check is still not 100% correct, p->mm can be NULL too. This is minor, but probably deserves a fix or a comment anyway. [akpm@xxxxxxxxxxxxxxxxxxxx: document process_shares_mm() a bit] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Kyle Walker <kwalker@xxxxxxxxxx> Cc: Stanislav Kozina <skozina@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c319025a6c79e532d862e3a0b9506ba316a4d13a Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Nov 5 18:48:23 2015 -0800 mm/oom_kill: cleanup the "kill sharing same memory" loop Purely cosmetic, but the complex "if" condition looks annoying to me. Especially because it is not consistent with OOM_SCORE_ADJ_MIN check which adds another if/continue. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Kyle Walker <kwalker@xxxxxxxxxx> Cc: Stanislav Kozina <skozina@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0c1b2d783cf3432490bf1e532c742fffeadc0bf3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Nov 5 18:48:20 2015 -0800 mm/oom_kill: remove the wrong fatal_signal_pending() check in oom_kill_process() The fatal_signal_pending() was added to suppress unnecessary "sharing same memory" message, but it can't 100% help anyway because it can be false-negative; SIGKILL can be already dequeued. And worse, it can be false-positive due to exec or coredump. exec is mostly fine, but coredump is not. It is possible that the group leader has the pending SIGKILL because its sub-thread originated the coredump, in this case we must not skip this process. We could probably add the additional ->group_exit_task check but this patch just removes the wrong check along with pr_info(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Kyle Walker <kwalker@xxxxxxxxxx> Cc: Stanislav Kozina <skozina@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09357814778a38a5ab2d031cba6c9e9fe090c849 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Nov 5 18:48:17 2015 -0800 mm: add the "struct mm_struct *mm" local into Cosmetic, but expand_upwards() and expand_downwards() overuse vma->vm_mm, a local variable makes sense imho. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 87e8827b37c0c391d9915d0dc6a06c9b5f9cac65 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Nov 5 18:48:14 2015 -0800 mm: fix the racy mm->locked_vm change in "mm->locked_vm += grow" and vm_stat_account() in acct_stack_growth() are not safe; multiple threads using the same ->mm can do this at the same time trying to expans different vma's under down_read(mmap_sem). This means that one of the "locked_vm += grow" changes can be lost and we can miss munlock_vma_pages_all() later. Move this code into the caller(s) under mm->page_table_lock. All other updates to ->locked_vm hold mmap_sem for writing. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9fd745d450e7e2b0d2f1b386b886e7d568b64404 Author: Xishi Qiu <qiuxishi@xxxxxxxxxx> Date: Thu Nov 5 18:48:11 2015 -0800 mm: fix overflow in find_zone_movable_pfns_for_nodes() If the user set "movablecore=xx" to a large number, corepages will overflow. Fix the problem. Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Acked-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d031a157915e0508ffa1ab9f1bbf977257529cb4 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Thu Nov 5 18:48:08 2015 -0800 mm/vmscan.c: fix types of some locals In zone_reclaimable_pages(), `nr' is returned by a function which is declared as returning "unsigned long", so declare it such. Negative values are meaningless here. In zone_pagecache_reclaimable() we should also declare `delta' and `nr_pagecache_reclaimable' as being unsigned longs because they're used to store the values returned by zone_page_state() and zone_unmapped_file_pages() which also happen to return unsigned integers. [akpm@xxxxxxxxxxxxxxxxxxxx: make zone_pagecache_reclaimable() return ulong rather than long] Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da39da3a54fed88e29024f2f1f6cd7357cd03a44 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Thu Nov 5 18:48:05 2015 -0800 mm, oom: remove task_lock protecting comm printing The oom killer takes task_lock() in a couple of places solely to protect printing the task's comm. A process's comm, including current's comm, may change due to /proc/pid/comm or PR_SET_NAME. The comm will always be NULL-terminated, so the worst race scenario would only be during update. We can tolerate a comm being printed that is in the middle of an update to avoid taking the lock. Other locations in the kernel have already dropped task_lock() when printing comm, so this is consistent. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Suggested-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2d1e10412c2388ff9b6afc60536eaa195a419289 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Nov 5 18:48:02 2015 -0800 mm, compaction: distinguish contended status in tracepoints Compaction returns prematurely with COMPACT_PARTIAL when contended or has fatal signal pending. This is ok for the callers, but might be misleading in the traces, as the usual reason to return COMPACT_PARTIAL is that we think the allocation should succeed. After this patch we distinguish the premature ending condition in the mm_compaction_finished and mm_compaction_end tracepoints. The contended status covers the following reasons: - lock contention or need_resched() detected in async compaction - fatal signal pending - too many pages isolated in the zone (only for async compaction) Further distinguishing the exact reason seems unnecessary for now. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1743d0506003f7db0602d120ecf63e2747af0d72 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Nov 5 18:47:59 2015 -0800 mm, compaction: export tracepoints zone names to userspace Some compaction tracepoints use zone->name to print which zone is being compacted. This works for in-kernel printing, but not userspace trace printing of raw captured trace such as via trace-cmd report. This patch uses zone_idx() instead of zone->name as the raw value, and when printing, converts the zone_type to string using the appropriate EM() macros and some ugly tricks to overcome the problem that half the values depend on CONFIG_ options and one does not simply use #ifdef inside of #define. trace-cmd output before: transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 zone=ffffffff81815d7a order=9 ret=partial after: transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 zone=Normal order=9 ret=partial Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa6c7b46aaa0cc00846703e8c0ec1e1636ff25ba Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Nov 5 18:47:56 2015 -0800 mm, compaction: export tracepoints status strings to userspace Some compaction tracepoints convert the integer return values to strings using the compaction_status_string array. This works for in-kernel printing, but not userspace trace printing of raw captured trace such as via trace-cmd report. This patch converts the private array to appropriate tracepoint macros that result in proper userspace support. trace-cmd output before: transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 zone=ffffffff81815d7a order=9 ret= after: transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 zone=ffffffff81815d7a order=9 ret=partial Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 840807a8f40bb25a8df5b6412bba6bc156643be5 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:47:54 2015 -0800 mm/oom_kill.c: suppress unnecessary "sharing same memory" message oom_kill_process() sends SIGKILL to other thread groups sharing victim's mm. But printing "Kill process %d (%s) sharing same memory\n" lines makes no sense if they already have pending SIGKILL. This patch reduces the "Kill process" lines by printing that line with info level only if SIGKILL is not pending. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> 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 880b768937e90c433c0c8254a22b1eb63df005a4 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:47:51 2015 -0800 mm/oom_kill.c: fix potentially killing unrelated process At the for_each_process() loop in oom_kill_process(), we are comparing address of OOM victim's mm without holding a reference to that mm. If there are a lot of processes to compare or a lot of "Kill process %d (%s) sharing same memory" messages to print, for_each_process() loop could take very long time. It is possible that meanwhile the OOM victim exits and releases its mm, and then mm is allocated with the same address and assigned to some unrelated process. When we hit such race, the unrelated process will be killed by error. To make sure that the OOM victim's mm does not go away until for_each_process() loop finishes, get a reference on the OOM victim's mm before calling task_unlock(victim). [oleg@xxxxxxxxxx: several fixes] Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 426fb5e72d92b868912e47a1e3ca2df6eabc3872 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:47:44 2015 -0800 mm/oom_kill.c: reverse the order of setting TIF_MEMDIE and sending SIGKILL It was confirmed that a local unprivileged user can consume all memory reserves and hang up that system using time lag between the OOM killer sets TIF_MEMDIE on an OOM victim and sends SIGKILL to that victim, for printk() inside for_each_process() loop at oom_kill_process() can consume many seconds when there are many thread groups sharing the same memory. Before starting oom-depleter process: Node 0 DMA: 3*4kB (UM) 6*8kB (U) 4*16kB (UEM) 0*32kB 0*64kB 1*128kB (M) 2*256kB (EM) 2*512kB (UE) 2*1024kB (EM) 1*2048kB (E) 1*4096kB (M) = 9980kB Node 0 DMA32: 31*4kB (UEM) 27*8kB (UE) 32*16kB (UE) 13*32kB (UE) 14*64kB (UM) 7*128kB (UM) 8*256kB (UM) 8*512kB (UM) 3*1024kB (U) 4*2048kB (UM) 362*4096kB (UM) = 1503220kB As of invoking the OOM killer: Node 0 DMA: 11*4kB (UE) 8*8kB (UEM) 6*16kB (UE) 2*32kB (EM) 0*64kB 1*128kB (U) 3*256kB (UEM) 2*512kB (UE) 3*1024kB (UEM) 1*2048kB (U) 0*4096kB = 7308kB Node 0 DMA32: 1049*4kB (UEM) 507*8kB (UE) 151*16kB (UE) 53*32kB (UEM) 83*64kB (UEM) 52*128kB (EM) 25*256kB (UEM) 11*512kB (M) 6*1024kB (UM) 1*2048kB (M) 0*4096kB = 44556kB Between the thread group leader got TIF_MEMDIE and receives SIGKILL: Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB Node 0 DMA32: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB The oom-depleter's thread group leader which got TIF_MEMDIE started memset() in user space after the OOM killer set TIF_MEMDIE, and it was free to abuse ALLOC_NO_WATERMARKS by TIF_MEMDIE for memset() in user space until SIGKILL is delivered. If SIGKILL is delivered before TIF_MEMDIE is set, the oom-depleter can terminate without touching memory reserves. Although the possibility of hitting this time lag is very small for 3.19 and earlier kernels because TIF_MEMDIE is set immediately before sending SIGKILL, preemption or long interrupts (an extreme example is SysRq-t) can step between and allow memory allocations which are not needed for terminating the OOM victim. Fixes: 83363b917a29 ("oom: make sure that TIF_MEMDIE is set under task_lock") Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [4.0+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 13308ca9ef9acb325b52bd8562639b5844f3cbf2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:47:40 2015 -0800 mm/memcontrol: make mem_cgroup_inactive_anon_is_low() return bool Make mem_cgroup_inactive_anon_is_low return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 42e2e45777a8c2ec32b6a3c3d81a7d454f6afb6d Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:47:36 2015 -0800 mm/vmscan: make inactive_anon/file_is_low return bool Make inactive_anon/file_is_low return bool due to these particular functions only using either one or zero as their return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80f73b4b71f767f7fcd85f68be18af7795904484 Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Thu Nov 5 18:47:32 2015 -0800 Documentation/vm/transhuge.txt: add information about max_ptes_swap max_ptes_swap specifies how many pages can be brought in from swap when collapsing a group of pages into a transparent huge page. /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_swap A higher value can cause excessive swap IO and waste memory. A lower value can prevent THPs from being collapsed, resulting fewer pages being collapsed into THPs, and lower memory access performance. Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3608de0787e51d3d826656e105524b48ade7b16f Author: Jerome Marchand <jmarchan@xxxxxxxxxx> Date: Thu Nov 5 18:47:29 2015 -0800 mm/memcontrol.c: fix order calculation in try_charge() Since commit 6539cc053869 ("mm: memcontrol: fold mem_cgroup_do_charge()"), the order to pass to mem_cgroup_oom() is calculated by passing the number of pages to get_order() instead of the expected size in bytes. AFAICT, it only affects the value displayed in the oom warning message. This patch fix this. Michal said: : We haven't noticed that just because the OOM is enabled only for page : faults of order-0 (single page) and get_order work just fine. Thanks for : noticing this. If we ever start triggering OOM on different orders this : would be broken. Signed-off-by: Jerome Marchand <jmarchan@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a5f65109026b35b654b94fdcd26a971185a53adc Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Thu Nov 5 18:47:26 2015 -0800 mm: hwpoison: ratelimit messages from unpoison_memory() Currently kernel prints out results of every single unpoison event, which i= s not necessary because unpoison is purely a testing feature and testers can = get little or no information from lots of lines of unpoison log storm. So this patch ratelimits printk in unpoison_memory(). This patch introduces a file local ratelimit_state, which adds 64 bytes to memory-failure.o. If we apply pr_info_ratelimited() for 8 callsite below, 2= 56 bytes is added, so it's a win. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aa750fd71c242dba02ee2034e15fbd7d0cdb2461 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Thu Nov 5 18:47:23 2015 -0800 mm/filemap.c: make global sync not clear error status of individual inodes filemap_fdatawait() is a function to wait for on-going writeback to complete but also consume and clear error status of the mapping set during writeback. The latter functionality is critical for applications to detect writeback error with system calls like fsync(2)/fdatasync(2). However filemap_fdatawait() is also used by sync(2) or FIFREEZE ioctl, which don't check error status of individual mappings. As a result, fsync() may not be able to detect writeback error if events happen in the following order: Application System admin ---------------------------------------------------------- write data on page cache Run sync command writeback completes with error filemap_fdatawait() clears error fsync returns success (but the data is not on disk) This patch adds filemap_fdatawait_keep_errors() for call sites where writeback error is not handled so that they don't clear error status. Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21c527a3cba07f9a9ce17b3a445f110a847793e2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:47:20 2015 -0800 mm/compaction.c: add an is_via_compact_memory() helper Introduce is_via_compact_memory() helper indicating compacting via /proc/sys/vm/compact_memory to improve readability. To catch this situation in __compaction_suitable, use order as parameter directly instead of using struct compact_control. This patch has no functional changes. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 29d06bbb41595f82db309a5516426ef8bd0f27b7 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:47:17 2015 -0800 mm/vmscan: make inactive_anon_is_low_global return directly Delete unnecessary if to let inactive_anon_is_low_global return directly. No functional changes. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d317b2b6536592a9b51fe65faed43d65ca9158e Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Thu Nov 5 18:47:14 2015 -0800 mm: hugetlb: proc: add HugetlbPages field to /proc/PID/status Currently there's no easy way to get per-process usage of hugetlb pages, which is inconvenient because userspace applications which use hugetlb typically want to control their processes on the basis of how much memory (including hugetlb) they use. So this patch simply provides easy access to the info via /proc/PID/status. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Joern Engel <joern@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25ee01a2fca02dfb5a3ce316e77910c468108199 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Thu Nov 5 18:47:11 2015 -0800 mm: hugetlb: proc: add hugetlb-related fields to /proc/PID/smaps Currently /proc/PID/smaps provides no usage info for vma(VM_HUGETLB), which is inconvenient when we want to know per-task or per-vma base hugetlb usage. To solve this, this patch adds new fields for hugetlb usage like below: Size: 20480 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB AnonHugePages: 0 kB Shared_Hugetlb: 18432 kB Private_Hugetlb: 2048 kB Swap: 0 kB KernelPageSize: 2048 kB MMUPageSize: 2048 kB Locked: 0 kB VmFlags: rd wr mr mw me de ht [hughd@xxxxxxxxxx: fix Private_Hugetlb alignment ] Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Joern Engel <joern@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 600e19afc5f8a6c18ea49cee9511c5797db02391 Author: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Date: Thu Nov 5 18:47:08 2015 -0800 mm: use only per-device readahead limit Maximal readahead size is limited now by two values: 1) by global 2Mb constant (MAX_READAHEAD in max_sane_readahead()) 2) by configurable per-device value* (bdi->ra_pages) There are devices, which require custom readahead limit. For instance, for RAIDs it's calculated as number of devices multiplied by chunk size times 2. Readahead size can never be larger than bdi->ra_pages * 2 value (POSIX_FADV_SEQUNTIAL doubles readahead size). If so, why do we need two limits? I suggest to completely remove this max_sane_readahead() stuff and use per-device readahead limit everywhere. Also, using right readahead size for RAID disks can significantly increase i/o performance: before: dd if=/dev/md2 of=/dev/null bs=100M count=100 100+0 records in 100+0 records out 10485760000 bytes (10 GB) copied, 12.9741 s, 808 MB/s after: $ dd if=/dev/md2 of=/dev/null bs=100M count=100 100+0 records in 100+0 records out 10485760000 bytes (10 GB) copied, 8.91317 s, 1.2 GB/s (It's an 8-disks RAID5 storage). This patch doesn't change sys_readahead and madvise(MADV_WILLNEED) behavior introduced by 6d2be915e589b58 ("mm/readahead.c: fix readahead failure for memoryless NUMA nodes and limit readahead pages"). Signed-off-by: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Wu Fengguang <fengguang.wu@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: onstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b171e4093017d4d6e411f5e97823e5e4a21266a2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:47:06 2015 -0800 mm/page_alloc: remove unused parameter in init_currently_empty_zone() Commit a2f3aa025766 ("[PATCH] Fix sparsemem on Cell") fixed an oops experienced on the Cell architecture when init-time functions, early_*(), are called at runtime by introducing an 'enum memmap_context' parameter to memmap_init_zone() and init_currently_empty_zone(). This parameter is intended to be used to tell whether the call of these two functions is being made on behalf of a hotplug event, or happening at boot-time. However, init_currently_empty_zone() does not use this parameter at all, so remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2f81fb2b72b83b661b11da6f1b0bd3526706278 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Nov 5 18:47:03 2015 -0800 mm, migrate: count pages failing all retries in vmstat and tracepoint Migration tries up to 10 times to migrate pages that return -EAGAIN until it gives up. If some pages fail all retries, they are counted towards the number of failed pages that migrate_pages() returns. They should also be counted in the /proc/vmstat pgmigrate_fail and in the mm_migrate_pages tracepoint. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 35bd16a227534cb6ffc9b26a33061c2dcf91934b Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:47:00 2015 -0800 mm/memblock: make memblock_remove_range() static memblock_remove_range() is only used in the mm/memblock.c, so we can make it static. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f19cb115a25f3f25752fdc56340e7433462157ba Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:57 2015 -0800 mm/mremap: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de1741a1333ea37694dddf7c94aa4cf2d0e58912 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:54 2015 -0800 mm/mmap: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 891c49abfb097bbd7024b4072dd1c8e1c995d3ec Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:51 2015 -0800 mm/vmalloc: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8fd9e4883a2b08c52ec00f3c214b45d096fc697a Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:49 2015 -0800 mm/mlock: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ea53cde089e07cfd7996c2072f770ebb984ce8db Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:46 2015 -0800 mm/util: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f09f1243ca2d5d297881bf2c2148d9ab35314314 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:43 2015 -0800 mm/percpu: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d57b0146aa942b939bbd77e09130270dc9b97d2 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:40 2015 -0800 mm/early_ioremap: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e7bbdd071314b52507e6c615e2cec90d46f82c57 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:38 2015 -0800 mm/mincore: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1824cb753354e026ab898cd472bddd540b50b00b Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:35 2015 -0800 mm/nommu: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b0d61c7e56815b0b881c81f6779a65f4fdae4bc0 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:32 2015 -0800 mm/msync: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c118baf802562688d46e6002f2b5fe66b947da21 Author: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:46:29 2015 -0800 arch/powerpc/mm/numa.c: do not allocate bootmem memory for non existing nodes With the setup_nr_nodes(), we have already initialized node_possible_map. So it is safe to use for_each_node here. There are many places in the kernel that use hardcoded 'for' loop with nr_node_ids, because all other architectures have numa nodes populated serially. That should be reason we had maintained the same for powerpc. But, since sparse numa node ids possible on powerpc, we unnecessarily allocate memory for non existent numa nodes. For e.g., on a system with 0,1,16,17 as numa nodes nr_node_ids=18 and we allocate memory for nodes 2-14. This patch we allocate memory for only existing numa nodes. The patch is boot tested on a 4 node tuleta, confirming with printks that it works as expected. Signed-off-by: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 145949a1387ba7a4fd0df15181e09345ec7b0492 Author: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:46:26 2015 -0800 mm/list_lru.c: replace nr_node_ids for loop with for_each_node() The functions used in the patch are in slowpath, which gets called whenever alloc_super is called during mounts. Though this should not make difference for the architectures with sequential numa node ids, for the powerpc which can potentially have sparse node ids (for e.g., 4 node system having numa ids, 0,1,16,17 is common), this patch saves some unnecessary allocations for non existing numa nodes. Even without that saving, perhaps patch makes code more readable. [vdavydov@xxxxxxxxxxxxx: take memcg_aware check outside for_each loop] Signed-off-by: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 61f9ec1d8e97131ce55159647fcdfeccc0f40647 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Nov 5 18:46:23 2015 -0800 mm: fix docbook comment for get_vaddr_frames() get_vaddr_frames() has a comment that's *almost* a docbook comment; add the missing star so that the tools will find it properly. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f822c24c2b32a9feafb33e3b9a9e23ef4278c2c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Nov 5 18:46:20 2015 -0800 memcg: drop unnecessary cold-path tests from __memcg_kmem_bypass() __memcg_kmem_bypass() decides whether a kmem allocation should be bypassed to the root memcg. Some conditions that it tests are valid criteria regarding who should be held accountable; however, there are a couple unnecessary tests for cold paths - __GFP_FAIL and fatal_signal_pending(). The previous patch updated try_charge() to handle both __GFP_FAIL and dying tasks correctly and the only thing these two tests are doing is making accounting less accurate and sprinkling tests for cold path conditions in the hot paths. There's nothing meaningful gained by these extra tests. This patch removes the two unnecessary tests from __memcg_kmem_bypass(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 10d53c748bc9531f47e13f98e32ef28be4399862 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Nov 5 18:46:17 2015 -0800 memcg: ratify and consolidate over-charge handling try_charge() is the main charging logic of memcg. When it hits the limit but either can't fail the allocation due to __GFP_NOFAIL or the task is likely to free memory very soon, being OOM killed, has SIGKILL pending or exiting, it "bypasses" the charge to the root memcg and returns -EINTR. While this is one approach which can be taken for these situations, it has several issues. * It unnecessarily lies about the reality. The number itself doesn't go over the limit but the actual usage does. memcg is either forced to or actively chooses to go over the limit because that is the right behavior under the circumstances, which is completely fine, but, if at all avoidable, it shouldn't be misrepresenting what's happening by sneaking the charges into the root memcg. * Despite trying, we already do over-charge. kmemcg can't deal with switching over to the root memcg by the point try_charge() returns -EINTR, so it open-codes over-charing. * It complicates the callers. Each try_charge() user has to handle the weird -EINTR exception. memcg_charge_kmem() does the manual over-charging. mem_cgroup_do_precharge() performs unnecessary uncharging of root memcg, which BTW is inconsistent with what memcg_charge_kmem() does but not broken as [un]charging are noops on root memcg. mem_cgroup_try_charge() needs to switch the returned cgroup to the root one. The reality is that in memcg there are cases where we are forced and/or willing to go over the limit. Each such case needs to be scrutinized and justified but there definitely are situations where that is the right thing to do. We alredy do this but with a superficial and inconsistent disguise which leads to unnecessary complications. This patch updates try_charge() so that it over-charges and returns 0 when deemed necessary. -EINTR return is removed along with all special case handling in the callers. While at it, remove the local variable @ret, which was initialized to zero and never changed, along with done: label which just returned the always zero @ret. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cbfb479809c1b8d871cb9a31832e065e900a24c1 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Nov 5 18:46:14 2015 -0800 memcg: collect kmem bypass conditions into __memcg_kmem_bypass() memcg_kmem_newpage_charge() and memcg_kmem_get_cache() are testing the same series of conditions to decide whether to bypass kmem accounting. Collect the tests into __memcg_kmem_bypass(). This is pure refactoring. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b23afb93d317c65cef553b804f08dec8a7a0f7e1 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Nov 5 18:46:11 2015 -0800 memcg: punt high overage reclaim to return-to-userland path Currently, try_charge() tries to reclaim memory synchronously when the high limit is breached; however, if the allocation doesn't have __GFP_WAIT, synchronous reclaim is skipped. If a process performs only speculative allocations, it can blow way past the high limit. This is actually easily reproducible by simply doing "find /". slab/slub allocator tries speculative allocations first, so as long as there's memory which can be consumed without blocking, it can keep allocating memory regardless of the high limit. This patch makes try_charge() always punt the over-high reclaim to the return-to-userland path. If try_charge() detects that high limit is breached, it adds the overage to current->memcg_nr_pages_over_high and schedules execution of mem_cgroup_handle_over_high() which performs synchronous reclaim from the return-to-userland path. As long as kernel doesn't have a run-away allocation spree, this should provide enough protection while making kmemcg behave more consistently. It also has the following benefits. - All over-high reclaims can use GFP_KERNEL regardless of the specific gfp mask in use, e.g. GFP_NOFS, when the limit was breached. - It copes with prio inversion. Previously, a low-prio task with small memory.high might perform over-high reclaim with a bunch of locks held. If a higher prio task needed any of these locks, it would have to wait until the low prio task finished reclaim and released the locks. By handing over-high reclaim to the task exit path this issue can be avoided. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 626ebc4100285be56fe3546f29b6afeb36b6871a Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Nov 5 18:46:09 2015 -0800 memcg: flatten task_struct->memcg_oom task_struct->memcg_oom is a sub-struct containing fields which are used for async memcg oom handling. Most task_struct fields aren't packaged this way and it can lead to unnecessary alignment paddings. This patch flattens it. * task.memcg_oom.memcg -> task.memcg_in_oom * task.memcg_oom.gfp_mask -> task.memcg_oom_gfp_mask * task.memcg_oom.order -> task.memcg_oom_order * task.memcg_oom.may_oom -> task.memcg_may_oom In addition, task.memcg_may_oom is relocated to where other bitfields are which reduces the size of task_struct. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 55e1ceaf2586ab11aafba798a6b9499dd7c14441 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Nov 5 18:46:06 2015 -0800 mm/mmap.c: remove useless statement "vma = NULL" in find_vma() Before the main loop, vma is already is NULL. There is no need to set it to NULL again. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ab32b6f1b88444524e52429fab334ff96683a3f Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:46:03 2015 -0800 uaccess: reimplement probe_kernel_address() using probe_kernel_read() probe_kernel_address() is basically the same as the (later added) probe_kernel_read(). The return value on EFAULT is a bit different: probe_kernel_address() returns number-of-bytes-not-copied whereas probe_kernel_read() returns -EFAULT. All callers have been checked, none cared. probe_kernel_read() can be overridden by the architecture whereas probe_kernel_address() cannot. parisc, blackfin and um do this, to insert additional checking. Hence this patch possibly fixes obscure bugs, although there are only two probe_kernel_address() callsites outside arch/. My first attempt involved removing probe_kernel_address() entirely and converting all callsites to use probe_kernel_read() directly, but that got tiresome. This patch shrinks mm/slab_common.o by 218 bytes. For a single probe_kernel_address() callsite. Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 86d2adccfbe7d5a1f050fa08db9638c9168736d9 Author: Alexey Klimov <klimov.linux@xxxxxxxxx> Date: Thu Nov 5 18:46:00 2015 -0800 mm/mlock.c: reorganize mlockall() return values and remove goto-out label In mlockall syscall wrapper after out-label for goto code just doing return. Remove goto out statements and return error values directly. Also instead of rewriting ret variable before every if-check move returns to 'error'-like path under if-check. Objdump asm listing showed me reducing by few asm lines. Object file size descreased from 220592 bytes to 220528 bytes for me (for aarch64). Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9fbed25407ccc87a7bb47ea3f411e1ca34a95f8b Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Thu Nov 5 18:45:57 2015 -0800 mm/kmemleak.c: remove unneeded initialization of object to NULL Few lines below object is reinitialized by lookup_object() so we don't need to init it by NULL in the beginning of find_and_get_object(). Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d4322d88f5fdf92729dd40f923013414fbb2184d Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Thu Nov 5 18:45:54 2015 -0800 mm: slab: only move management objects off-slab for sizes larger than KMALLOC_MIN_SIZE On systems with a KMALLOC_MIN_SIZE of 128 (arm64, some mips and powerpc configurations defining ARCH_DMA_MINALIGN to 128), the first kmalloc_caches[] entry to be initialised after slab_early_init = 0 is "kmalloc-128" with index 7. Depending on the debug kernel configuration, sizeof(struct kmem_cache) can be larger than 128 resulting in an INDEX_NODE of 8. Commit 8fc9cf420b36 ("slab: make more slab management structure off the slab") enables off-slab management objects for sizes starting with PAGE_SIZE >> 5 (128 bytes for a 4KB page configuration) and the creation of the "kmalloc-128" cache would try to place the management objects off-slab. However, since KMALLOC_MIN_SIZE is already 128 and freelist_size == 32 in __kmem_cache_create(), kmalloc_slab(freelist_size) returns NULL (kmalloc_caches[7] not populated yet). This triggers the following bug on arm64: kernel BUG at /work/Linux/linux-2.6-aarch64/mm/slab.c:2283! Internal error: Oops - BUG: 0 [#1] SMP Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 4.3.0-rc4+ #540 Hardware name: Juno (DT) PC is at __kmem_cache_create+0x21c/0x280 LR is at __kmem_cache_create+0x210/0x280 [...] Call trace: __kmem_cache_create+0x21c/0x280 create_boot_cache+0x48/0x80 create_kmalloc_cache+0x50/0x88 create_kmalloc_caches+0x4c/0xf4 kmem_cache_init+0x100/0x118 start_kernel+0x214/0x33c This patch introduces an OFF_SLAB_MIN_SIZE definition to avoid off-slab management objects for sizes equal to or smaller than KMALLOC_MIN_SIZE. Fixes: 8fc9cf420b36 ("slab: make more slab management structure off the slab") Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.15+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f835703ea67633617ca82bc150f6ee70831b40a Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:45:51 2015 -0800 mm/slub: calculate start order with reserved in consideration In slub_order(), the order starts from max(min_order, get_order(min_objects * size)). When (min_objects * size) has different order from (min_objects * size + reserved), it will skip this order via a check in the loop. This patch optimizes this a little by calculating the start order with `reserved' in consideration and removing the check in loop. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: 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 033fd1bd3c50fdda267d27d02f9bc656f0b9ddb8 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:45:48 2015 -0800 mm/slub: use get_order() instead of fls() get_order() is more easy to understand. This patch just replaces it. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Reviewed-by: Pekka Enberg <penberg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 422ff4d70c1b3b2deed431dc095432dc691f4269 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:45:46 2015 -0800 mm/slub: correct the comment in calculate_order() In calculate_order(), it tries to calculate the best order by adjusting the fraction and min_objects. On each iteration on min_objects, fraction iterates on 16, 8, 4. Which means the acceptable waste increases with 1/16, 1/8, 1/4. This patch corrects the comment according to the code. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: 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 40911a798b5abbbec6b2e271a42addd6b26228a0 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Thu Nov 5 18:45:43 2015 -0800 mm/slab_common.c: initialize kmem_cache pointer to NULL The assignment to NULL within the error condition was written in a 2014 patch to suppress a compiler warning. However it would be cleaner to just initialize the kmem_cache to NULL and just return it in case of an error condition. Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> 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 76f8ec712aa94da9fbfc9c318edc89aa1e48006b Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:40 2015 -0800 Doc/slub: document slabinfo-gnuplot.sh script Add documentation on how to use slabinfo-gnuplot.sh script. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4a981abd115d6ade5fe8a07d5ca1d1f987a0c2f7 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:37 2015 -0800 tools/vm/slabinfo: gnuplot slabifo extended stat GNUplot `slabinfo -X' stats, collected, for example, using the following command: while [ 1 ]; do slabinfo -X >> stats; sleep 1; done `slabinfo-gnuplot.sh stats' pre-processes collected records and generate graphs (totals, slabs sorted by size, slabs sorted by size). Graphs can be [individually] regenerate with different samples range and graph width-heigh (-r %d,%d and -s %d,%d options). To visually compare N `totals' graphs: slabinfo-gnuplot.sh -t FILE1-totals FILE2-totals ... FILEN-totals Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 2cee611af8638d80d3abb71f878829a7e998bb44 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:34 2015 -0800 tools/vm/slabinfo: cosmetic globals cleanup checkpatch.pl complains about globals being explicitly zeroed out: "ERROR: do not initialise globals to 0 or NULL". New globals, introduced in this patch set, have no explicit 0 initialization; clean up the old ones to make it less hairy. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 a8ea0bf1286a3a96466139a828f3d161d19ca015 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:31 2015 -0800 tools/vm/slabinfo: output sizes in bytes Introduce "-B|--Bytes" opt to disable store_size() dynamic size scaling and report size in bytes instead. This `expands' the interface a bit, it's impossible to use printf("%6s") anymore to output sizes. Example: slabinfo -X -N 2 Slabcache Totals ---------------- Slabcaches : 91 Aliases : 119->69 Active: 63 Memory used: 199798784 # Loss : 10689376 MRatio: 5% # Objects : 324301 # PartObj: 18151 ORatio: 5% Per Cache Average Min Max Total ---------------------------------------------------------------------------- #Objects 5147 1 89068 324301 #Slabs 199 1 3886 12537 #PartSlab 12 0 240 778 %PartSlab 32% 0% 100% 6% PartObjs 5 0 4569 18151 % PartObj 26% 0% 100% 5% Memory 3171409 8192 127336448 199798784 Used 3001736 160 121429728 189109408 Loss 169672 0 5906720 10689376 Per Object Average Min Max ----------------------------------------------------------- Memory 585 8 8192 User 583 8 8192 Loss 2 0 64 Slabs sorted by size -------------------- Name Objects Objsize Space Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 69948 1736 127336448 3871/0/15 18 3 0 95 a dentry 89068 288 26058752 3164/0/17 28 1 0 98 a Slabs sorted by loss -------------------- Name Objects Objsize Loss Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 69948 1736 5906720 3871/0/15 18 3 0 95 a inode_cache 11628 864 537472 642/0/4 18 2 0 94 a Besides, store_size() does not use powers of two for G/M/K if (value > 1000000000UL) { divisor = 100000000UL; trailer = 'G'; } else if (value > 1000000UL) { divisor = 100000UL; trailer = 'M'; } else if (value > 1000UL) { divisor = 100; trailer = 'K'; } Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 016c6cdf3df8b05a23ff7b0e77aa7f4fe83e700d Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:28 2015 -0800 tools/vm/slabinfo: introduce extended totals mode Add "-X|--Xtotals" opt to output extended totals summary, which includes: -- totals summary -- slabs sorted by size -- slabs sorted by loss (waste) Example: ======= slabinfo --X -N 1 Slabcache Totals ---------------- Slabcaches : 91 Aliases : 120->69 Active: 65 Memory used: 568.3M # Loss : 30.4M MRatio: 5% # Objects : 920.1K # PartObj: 161.2K ORatio: 17% Per Cache Average Min Max Total --------------------------------------------------------- #Objects 14.1K 1 227.8K 920.1K #Slabs 533 1 11.7K 34.7K #PartSlab 86 0 4.3K 5.6K %PartSlab 24% 0% 100% 16% PartObjs 17 0 129.3K 161.2K % PartObj 17% 0% 100% 17% Memory 8.7M 8.1K 384.7M 568.3M Used 8.2M 160 366.5M 537.9M Loss 468.8K 0 18.2M 30.4M Per Object Average Min Max --------------------------------------------- Memory 587 8 8.1K User 584 8 8.1K Loss 2 0 64 Slabs sorted by size ---------------------- Name Objects Objsize Space Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 211142 1736 384.7M 11732/40/10 18 3 0 95 a Slabs sorted by loss ---------------------- Name Objects Objsize Loss Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 211142 1736 18.2M 11732/40/10 18 3 0 95 a Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 0d00bf589f0f8976b5bccbb5bd03a497762b5545 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:25 2015 -0800 tools/vm/slabinfo: fix alternate opts names Fix mismatches between usage() output and real opts[] options. Add missing alternative opt names, e.g., '-S' had no '--Size' opts[] entry, etc. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 2651f6e7fe1c24b0a50691828edd392971d57d4f Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:22 2015 -0800 tools/vm/slabinfo: sort slabs by loss Introduce opt "-L|--sort-loss" to sort and output slabs by loss (waste) in slabcache(). Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 4980a9639b4bf4948f4cba60e3e6c45a635b98ec Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:20 2015 -0800 tools/vm/slabinfo: limit the number of reported slabs Introduce opt "-N|--lines=K" to limit the number of slabs being reported in output_slabs(). Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 2b10075539d334b4732a07857672972fe971f7df Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:17 2015 -0800 tools/vm/slabinfo: use getopt no_argument/optional_argument This patchset adds 'extended' slabinfo mode that provides additional information: -- totals summary -- slabs sorted by size -- slabs sorted by loss (waste) The patches also introduces several new slabinfo options to limit the number of slabs reported, sort slabs by loss (waste); and some fixes. Extended output example (slabinfo -X -N 2): Slabcache Totals ---------------- Slabcaches : 91 Aliases : 119->69 Active: 63 Memory used: 199798784 # Loss : 10689376 MRatio: 5% # Objects : 324301 # PartObj: 18151 ORatio: 5% Per Cache Average Min Max Total ---------------------------------------------------------------------------- #Objects 5147 1 89068 324301 #Slabs 199 1 3886 12537 #PartSlab 12 0 240 778 %PartSlab 32% 0% 100% 6% PartObjs 5 0 4569 18151 % PartObj 26% 0% 100% 5% Memory 3171409 8192 127336448 199798784 Used 3001736 160 121429728 189109408 Loss 169672 0 5906720 10689376 Per Object Average Min Max ----------------------------------------------------------- Memory 585 8 8192 User 583 8 8192 Loss 2 0 64 Slabs sorted by size -------------------- Name Objects Objsize Space Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 69948 1736 127336448 3871/0/15 18 3 0 95 a dentry 89068 288 26058752 3164/0/17 28 1 0 98 a Slabs sorted by loss -------------------- Name Objects Objsize Loss Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 69948 1736 5906720 3871/0/15 18 3 0 95 a inode_cache 11628 864 537472 642/0/4 18 2 0 94 a The last patch in the series addresses Linus' comment from http://marc.info/?l=linux-mm&m=144148518703321&w=2 (well, it's been some time. sorry.) gnuplot script takes the slabinfo records file, where every record is a `slabinfo -X' output. So the basic workflow is, for example, as follows: while [ 1 ]; do slabinfo -X -N 2 >> stats; sleep 1; done ^C slabinfo-gnuplot.sh stats The last command will produce 3 png files (and 3 stats files) -- graph of slabinfo totals -- graph of slabs by size -- graph of slabs by loss It's also possible to select a range of records for plotting (a range of collected slabinfo outputs) via `-r 10,100` (for example); and compare totals from several measurements (to visially compare slabs behaviour (10,50 range)) using pre-parsed totals files: slabinfo-gnuplot.sh -r 10,50 -t stats-totals1 .. stats-totals2 This also, technically, supports ktest. Upload new slabinfo to target, collect the stats and give the resulting stats file to slabinfo-gnuplot This patch (of 8): Use getopt constants in `struct option' ->has_arg instead of numerical representations. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 cd918c557439c8f0750f64883367aeff264b5fd8 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:45:14 2015 -0800 mm/slab_common.c: do not warn that cache is busy on destroy more than once Currently, when kmem_cache_destroy() is called for a global cache, we print a warning for each per memcg cache attached to it that has active objects (see shutdown_cache). This is redundant, because it gives no new information and only clutters the log. If a cache being destroyed has active objects, there must be a memory leak in the module that created the cache, and it does not matter if the cache was used by users in memory cgroups or not. This patch moves the warning from shutdown_cache(), which is called for shutting down both global and per memcg caches, to kmem_cache_destroy(), so that the warning is only printed once if there are objects left in the cache being destroyed. Signed-off-by: Vladimir Davydov <vdavydov@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 d60fdcc9e3febde2ebd49fe517e13f428bc12843 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:45:11 2015 -0800 mm/slab_common.c: clear pointers to per memcg caches on destroy Currently, we do not clear pointers to per memcg caches in the memcg_params.memcg_caches array when a global cache is destroyed with kmem_cache_destroy. This is fine if the global cache does get destroyed. However, a cache can be left on the list if it still has active objects when kmem_cache_destroy is called (due to a memory leak). If this happens, the entries in the array will point to already freed areas, which is likely to result in data corruption when the cache is reused (via slab merging). Signed-off-by: Vladimir Davydov <vdavydov@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 c9a77a792003ce9d70df8937c8c87aee6e177149 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:45:08 2015 -0800 mm/slab_common.c: rename cache create/destroy helpers do_kmem_cache_create(), do_kmem_cache_shutdown(), and do_kmem_cache_release() sound awkward for static helper functions that are not supposed to be used outside slab_common.c. Rename them to create_cache(), shutdown_cache(), and release_caches(), respectively. This patch is a pure cleanup and does not introduce any functional changes. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> 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 8748dd5c98f7fe506ccb31a094833401ed120915 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:45:05 2015 -0800 include/linux/compiler-gcc.h: hide assume_aligned attribute from sparse The patch "slab.h: sprinkle __assume_aligned attributes" causes *tons* of whinges if you do 'make C=2' with sparse 0.5.0: CHECK drivers/media/usb/pwc/pwc-if.c include/linux/slab.h:307:43: error: attribute '__assume_aligned__': unknown attribute include/linux/slab.h:308:58: error: attribute '__assume_aligned__': unknown attribute include/linux/slab.h:337:73: error: attribute '__assume_aligned__': unknown attribute include/linux/slab.h:375:74: error: attribute '__assume_aligned__': unknown attribute include/linux/slab.h:378:80: error: attribute '__assume_aligned__': unknown attribute sparse apparently pretends to be gcc >= 4.9, yet isn't prepared to handle all the function attributes supported by those gccs and complains loudly. So hide the definition of __assume_aligned from it (so that the generic one in compiler.h gets used). Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reported-by: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Tested-By: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Cc: Christopher Li <sparse@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a744fd17b5233360681ce03e43804406745b680b Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:45:02 2015 -0800 compiler.h: add support for function attribute assume_aligned gcc 4.9 added the function attribute assume_aligned, indicating to the caller that the returned pointer may be assumed to have a certain minimal alignment. This is useful if, for example, the return value is passed to memset(). Add a shorthand macro for that. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fda901241fb89449244537db4fb27b06e491b74f Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:44:59 2015 -0800 slab: convert slab_is_available() to boolean A good candidate to return a boolean result. Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Reviewed-by: 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 39d2da2161d35de301ec5397ce9103c68b883054 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:56 2015 -0800 kernel/watchdog.c: fix race between proc_watchdog_thresh() and watchdog_timer_fn() Theoretically it is possible that the watchdog timer expires right at the time when a user sets 'watchdog_thresh' to zero (note: this disables the lockup detectors). In this scenario, the is_softlockup() function - which is called by the timer - could produce a false positive. Fix this by checking the current value of 'watchdog_thresh'. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a2a45b85ec45db4b041ea5d93b21033dbc3cc0fc Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:53 2015 -0800 kernel/watchdog.c: remove {get|put}_online_cpus() from watchdog_{park|unpark}_threads() watchdog_{park|unpark}_threads() are now called in code paths that protect themselves against CPU hotplug, so {get|put}_online_cpus() calls are redundant and can be removed. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8614ddef82139d08234dbf681188f9bcddae9f03 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:50 2015 -0800 kernel/watchdog.c: avoid races between /proc handlers and CPU hotplug The handler functions for watchdog parameters in /proc/sys/kernel do not protect themselves against races with CPU hotplug. Hence, theoretically it is possible that a new watchdog thread is started on a hotplugged CPU while a parameter is being modified, and the thread could thus use a parameter value that is 'in transition'. For example, if 'watchdog_thresh' is being set to zero (note: this disables the lockup detectors) the thread would erroneously use the value zero as the sample period. To avoid such races and to keep the /proc handler code consistent, call {get|put}_online_cpus() in proc_watchdog_common() {get|put}_online_cpus() in proc_watchdog_thresh() {get|put}_online_cpus() in proc_watchdog_cpumask() Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ee89e71eb091d3ef8ca2be8bd4ec77ccfa91334c Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:47 2015 -0800 kernel/watchdog.c: avoid race between lockup detector suspend/resume and CPU hotplug The lockup detector suspend/resume interface that was introduced by commit 8c073d27d7ad ("watchdog: introduce watchdog_suspend() and watchdog_resume()") does not protect itself against races with CPU hotplug. Hence, theoretically it is possible that a new watchdog thread is started on a hotplugged CPU while the lockup detector is suspended, and the thread could thus interfere unexpectedly with the code that requested to suspend the lockup detector. Avoid the race by calling get_online_cpus() in lockup_detector_suspend() put_online_cpus() in lockup_detector_resume() Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac1f591249d95372f3a5ab3828d4af5dfbf5efd3 Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Thu Nov 5 18:44:44 2015 -0800 kernel/watchdog.c: add sysctl knob hardlockup_panic The only way to enable a hardlockup to panic the machine is to set 'nmi_watchdog=panic' on the kernel command line. This makes it awkward for end users and folks who want to run automate tests (like myself). Mimic the softlockup_panic knob and create a /proc/sys/kernel/hardlockup_panic knob. Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 55537871ef666b4153fd1ef8782e4a13fee142cc Author: Jiri Kosina <jkosina@xxxxxxx> Date: Thu Nov 5 18:44:41 2015 -0800 kernel/watchdog.c: perform all-CPU backtrace in case of hard lockup In many cases of hardlockup reports, it's actually not possible to know why it triggered, because the CPU that got stuck is usually waiting on a resource (with IRQs disabled) in posession of some other CPU is holding. IOW, we are often looking at the stacktrace of the victim and not the actual offender. Introduce sysctl / cmdline parameter that makes it possible to have hardlockup detector perform all-CPU backtrace. Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ee7fed540563b27e1028bec0b509921496c91bf9 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:39 2015 -0800 watchdog: do not unpark threads in watchdog_park_threads() on error If kthread_park() returns an error, watchdog_park_threads() should not blindly 'roll back' the already parked threads to the unparked state. Instead leave it up to the callers to handle such errors appropriately in their context. For example, it is redundant to unpark the threads if the lockup detectors will soon be disabled by the callers anyway. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c993590c6ae6273681d9fb2a8d26dce03bf9d96c Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:36 2015 -0800 watchdog: implement error handling in lockup_detector_suspend() lockup_detector_suspend() now handles errors from watchdog_park_threads(). Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b43cb43cb85b91d79d9f0719ff581e8cb6dfbb8f Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:33 2015 -0800 watchdog: implement error handling in update_watchdog_all_cpus() and callers update_watchdog_all_cpus() now passes errors from watchdog_park_threads() up to functions in the call chain. This allows watchdog_enable_all_cpus() and proc_watchdog_update() to handle such errors too. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58cf690a09987c9a56933df05c0369d691d6224d Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:30 2015 -0800 watchdog: move watchdog_disable_all_cpus() outside of ifdef Move watchdog_disable_all_cpus() outside of the ifdef so that it is available if CONFIG_SYSCTL is not defined. This is preparation for "watchdog: implement error handling in update_watchdog_all_cpus() and callers". Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d283c640cee6472852b95036ddd512c2ba0c1139 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:27 2015 -0800 watchdog: fix error handling in proc_watchdog_thresh() The original watchdog_park_threads() function that was introduced by commit 81a4beef91ba ("watchdog: introduce watchdog_park_threads() and watchdog_unpark_threads()") takes a very simple approach to handle errors returned by kthread_park(): It attempts to roll back all watchdog threads to the unparked state. However, this may be undesired behaviour from the perspective of the caller which may want to handle errors as appropriate in its specific context. Currently, there are two possible call chains: - watchdog suspend/resume interface lockup_detector_suspend watchdog_park_threads - write to parameters in /proc/sys/kernel proc_watchdog_update watchdog_enable_all_cpus update_watchdog_all_cpus watchdog_park_threads Instead of 'blindly' attempting to unpark the watchdog threads if a kthread_park() call fails, the new approach is to disable the lockup detectors in the above call chains. Failure becomes visible to the user as follows: - error messages from lockup_detector_suspend() or watchdog_enable_all_cpus() - the state that can be read from /proc/sys/kernel/watchdog_enabled - the 'write' system call in the latter call chain returns an error I did not experience kthread_park() failures in practice, I used some instrumentation to fake error returns from kthread_park() in order to test the patches. This patch (of 5): Restore the previous value of watchdog_thresh _and_ sample_period if proc_watchdog_update() returns an error. The variables must be consistent to avoid false positives of the lockup detectors. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 451637e454f0b41689cd07cdc3fa53388c22890d Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:44:24 2015 -0800 kernel/watchdog.c: is_hardlockup can be boolean Make is_hardlockup return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b64787401fd85b66403dd05159a749e333059c0a Author: Dominique Martinet <dominique.martinet@xxxxxx> Date: Thu Nov 5 18:44:21 2015 -0800 9p: do not overwrite return code when locking fails If the remote locking fail, we run a local vfs unlock that should work and return success to userland when we didn't actually lock at all. We need to tell the application that tried to lock that it didn't get it, not that all went well. Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Cc: Ron Minnich <rminnich@xxxxxxxxxx> Cc: Latchesar Ionkov <lucho@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 720abae3d68ae966044497dd9ee5ccf3b16e700c Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Thu Nov 5 18:44:18 2015 -0800 rcu: force alignment on struct callback_head/rcu_head Make struct callback_head aligned to size of pointer. On most architectures it happens naturally due ABI requirements, but some architectures (like CRIS) have weird ABI and we need to ask it explicitly. The alignment is required to guarantee that bits 0 and 1 of @next will be clear under normal conditions -- as long as we use call_rcu(), call_rcu_bh(), call_rcu_sched(), or call_srcu() to queue callback. This guarantee is important for few reasons: - future call_rcu_lazy() will make use of lower bits in the pointer; - the structure shares storage spacer in struct page with @compound_head, which encode PageTail() in bit 0. The guarantee is needed to avoid false-positive PageTail(). False postive PageTail() caused crash on crisv32[1]. It happend due misaligned task_struct->rcu, which was byte-aligned. [1] http://lkml.kernel.org/r/55FAEA67.9000102@xxxxxxxxxxxx Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 262d8a8779e24596ec3452ebb7d0a989de91089a Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:44:16 2015 -0800 ocfs2: clean up unused variable in ocfs2_duplicate_clusters_by_page() readahead_pages in ocfs2_duplicate_clusters_by_page is defined but not used, so clean it 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 5afc44e2e9678c0808211f1662732b368cc25f76 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:44:13 2015 -0800 ocfs2: add uuid to ocfs2 thread name for problem analysis A node can mount multiple ocfs2 volumes. And if thread names are same for each volume/domain, it will bring inconvenience when analyzing problems because we have to identify which volume/domain the messages belong to. Since thread name will be printed to messages, so add volume uuid or dlm name to thread name can benefit problem analysis. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Gang He <ghe@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1529a41f777a48f95d4af29668b70ffe3360e1b Author: alex chen <alex.chen@xxxxxxxxxx> Date: Thu Nov 5 18:44:10 2015 -0800 ocfs2: should reclaim the inode if '__ocfs2_mknod_locked' returns an error In ocfs2_mknod_locked if '__ocfs2_mknod_locke d' returns an error, we should reclaim the inode successfully claimed above, otherwise, the inode never be reused. The case is described below: ocfs2_mknod ocfs2_mknod_locked ocfs2_claim_new_inode Successfully claim the inode __ocfs2_mknod_locked ocfs2_journal_access_di Failed because of -ENOMEM or other reasons, the inode lockres has not been initialized yet. iput(inode) ocfs2_evict_inode ocfs2_delete_inode ocfs2_inode_lock ocfs2_inode_lock_full_nested __ocfs2_cluster_lock Return -EINVAL because of the inode lockres has not been initialized. So the following operations are not performed ocfs2_wipe_inode ocfs2_remove_inode ocfs2_free_dinode ocfs2_free_suballoc_bits Signed-off-by: Alex Chen <alex.chen@xxxxxxxxxx> Reviewed-by: 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 0986fe9b50f425ec81f25a1a85aaf3574b31d801 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:44:07 2015 -0800 ocfs2: fix race between mount and delete node/cluster There is a race case between mount and delete node/cluster, which will lead o2hb_thread to malfunctioning dead loop. o2hb_thread { o2nm_depend_this_node(); <<<<<< race window, node may have already been deleted, and then enter the loop, o2hb thread will be malfunctioning because of no configured nodes found. while (!kthread_should_stop() && !reg->hr_unclean_stop && !reg->hr_aborted_start) { } So check the return value of o2nm_depend_this_node() is needed. If node has been deleted, do not enter the loop and let mount fail. 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 93d911fcce259a3f950ee20592beee31b855cd96 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:44:04 2015 -0800 ocfs2: only take lock if dio entry when recover orphans We have no need to take inode mutex, rw and inode lock if it is not dio entry when recover orphans. Optimize it by adding a flag OCFS2_INODE_DIO_ORPHAN_ENTRY to ocfs2_inode_info to reduce contention. Signed-off-by: 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 30edc43c7ff0760f6896c37c06a84533546588fa Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:44:01 2015 -0800 ocfs2: do not include dio entry in case of orphan scan dio entry will only do truncate in case of ORPHAN_NEED_TRUNCATE. So do not include it when doing normal orphan scan to reduce contention. Signed-off-by: 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 1d1aff8cf367d2216a678c722161784e207965c4 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:43:58 2015 -0800 ocfs2: improve performance for localalloc Currently cluster allocation is always trying to find a victim chain (a chian has most space), and this may lead to poor performance because of discontiguous allocation in some scenarios. Our test case is block size 4k, cluster size 1M and mount option with localalloc=2048 (2G), since a gd is 32256M (about 31.5G) and a localalloc window is only 2G, creating 50G file will result in 2G from gd0, 2G from gd1, ... One way to improve performance is enlarge localalloc window size (max 31104M), but this will make end user feel that about 30G is suddenly "missing", and localalloc currently do not support steal, which means one node cannot use another node's localalloc even it is not used in fact. So using the last gd to record the allocation and continues with the gd if it has enough space for a localalloc window can make the allocation as more contiguous as possible. Our test result is below (evaluated in IOPS), which is using iometer running in VM, dynamic vhd virtual disk stored in ocfs2. IO model Original After Improved(%) 16K60%Write100%Random 703 876 24.59% 8K90%Write100%Random 735 827 12.59% 4K100%Write100%Random 859 915 6.52% 4K100%Read100%Random 2092 2600 24.30% Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Tested-by: Norton Zhu <norton.zhu@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 4e357b932a665e62eb0642633057b8d7156ed8db Author: jiangyiwen <jiangyiwen@xxxxxxxxxx> Date: Thu Nov 5 18:43:55 2015 -0800 ocfs2: fill in the unused portion of the block with zeros by dio_zero_block() A simplified test case is (this case from Ryan): 1) dd if=/dev/zero of=/mnt/hello bs=512 count=1 oflag=direct; 2) truncate /mnt/hello -s 2097152 file 'hello' is not exist before test. After this command, file 'hello' should be all zero. But 512~4096 is some random data. Setting bh state to new when get a new block, if so, direct_io_worker()->dio_zero_block() will fill-in the unused portion of the block with zero. Signed-off-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Reviewed-by: 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 d162eaad7726e5f10a2b5813bdfac9d55c8eba69 Author: Norton.Zhu <norton.zhu@xxxxxxxxxx> Date: Thu Nov 5 18:43:52 2015 -0800 ocfs2_direct_IO_write() misses ocfs2_is_overwrite() error code If ocfs2_is_overwrite failed, ocfs2_direct_IO_write mays till return success to the caller. Signed-off-by: Norton.Zhu <norton.zhu@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 ce4f2fd7eacd84d78530fb97621621ae50d167f1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Nov 5 18:43:49 2015 -0800 logfs: fix build warning fs/logfs/dev_bdev.c: In function '__bdev_writeseg': include/linux/kernel.h:601:17: warning: comparison of distinct pointer types lacks a cast [enabled by default] (void) (&_min1 == &_min2); \ fs/logfs/dev_bdev.c:84:14: note: in expansion of macro 'min' max_pages = min(nr_pages, BIO_MAX_PAGES); fs/logfs/dev_bdev.c: In function 'do_erase': include/linux/kernel.h:601:17: warning: comparison of distinct pointer types lacks a cast [enabled by default] (void) (&_min1 == &_min2); \ fs/logfs/dev_bdev.c:174:14: note: in expansion of macro 'min' max_pages = min(nr_pages, BIO_MAX_PAGES); Lets use min_t and mention the type. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d30e2c05a1a231452c273e74851d6b70d516f7f2 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Nov 5 18:43:46 2015 -0800 inotify: actually check for invalid bits in sys_inotify_add_watch() The comment here says that it is checking for invalid bits. But, the mask is *actually* checking to ensure that _any_ valid bit is set, which is quite different. Without this check, an unexpected bit could get set on an inotify object. Since these bits are also interpreted by the fsnotify/dnotify code, there is the potential for an object to be mishandled inside the kernel. For instance, can we be sure that setting the dnotify flag FS_DN_RENAME on an inotify watch is harmless? Add the actual check which was intended. Retain the existing inotify bits are being added to the watch. Plus, this is existing behavior which would be nice to preserve. I did a quick sniff test that inotify functions and that my 'inotify-tools' package passes 'make check'. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: John McCutchan <john@xxxxxxxxxxxxxxxxx> Cc: Robert Love <rlove@xxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6933599697c96c3213c95f5f1fc7cb6abfd08c54 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Nov 5 18:43:43 2015 -0800 inotify: hide internal kernel bits from fdinfo There was a report that my patch: inotify: actually check for invalid bits in sys_inotify_add_watch() broke CRIU. The reason is that CRIU looks up raw flags in /proc/$pid/fdinfo/* to figure out how to rebuild inotify watches and then passes those flags directly back in to the inotify API. One of those flags (FS_EVENT_ON_CHILD) is set in mark->mask, but is not part of the inotify API. It is used inside the kernel to _implement_ inotify but it is not and has never been part of the API. My patch above ensured that we only allow bits which are part of the API (IN_ALL_EVENTS). This broke CRIU. FS_EVENT_ON_CHILD is really internal to the kernel. It is set _anyway_ on all inotify marks. So, CRIU was really just trying to set a bit that was already set. This patch hides that bit from fdinfo. CRIU will not see the bit, not try to set it, and should work as before. We should not have been exposing this bit in the first place, so this is a good patch independent of the CRIU problem. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Reported-by: Andrey Wagin <avagin@xxxxxxxxx> Acked-by: Andrey Vagin <avagin@xxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Acked-by: Eric Paris <eparis@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: John McCutchan <john@xxxxxxxxxxxxxxxxx> Cc: Robert Love <rlove@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c5b2759bf8c2cbc60e5560c72cf51a2628f6d30 Merge: 809b6ec 98cadf2 c422a8e Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Fri Nov 6 09:32:10 2015 +0800 Merge branches 'thermal-core', 'thermal-intel' and 'thermal-soc' into next commit c422a8ed6fb5ba0c318ae8b31f881e9f2f2f65a1 Merge: c75960a e35dbb4 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Fri Nov 6 09:30:53 2015 +0800 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal into thermal-soc commit 2c302e7e41050dbc174d50b58ad42eedf5dbd6fa Merge: 933425fb 52708d6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 16:34:48 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc updates from David Miller: "Just a couple of fixes/cleanups: - Correct NUMA latency calculations on sparc64, from Nitin Gupta. - ASI_ST_BLKINIT_MRU_S value was wrong, from Rob Gardner. - Fix non-faulting load handling of non-quad values, also from Rob Gardner. - Cleanup VISsave assembler, from Sam Ravnborg. - Fix iommu-common code so it doesn't emit rediculous warnings on some architectures, particularly ARM" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: Fix numa distance values sparc64: Don't restrict fp regs for no-fault loads iommu-common: Fix error code used in iommu_tbl_range_{alloc,free}(). sparc64: use ENTRY/ENDPROC in VISsave sparc64: Fix incorrect ASI_ST_BLKINIT_MRU_S value commit 933425fb0010bd02bd459b41e63082756818ffce Merge: a3e7531 a3eaa86 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 16:26:26 2015 -0800 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull KVM updates from Paolo Bonzini: "First batch of KVM changes for 4.4. s390: A bunch of fixes and optimizations for interrupt and time handling. PPC: Mostly bug fixes. ARM: No big features, but many small fixes and prerequisites including: - a number of fixes for the arch-timer - introducing proper level-triggered semantics for the arch-timers - a series of patches to synchronously halt a guest (prerequisite for IRQ forwarding) - some tracepoint improvements - a tweak for the EL2 panic handlers - some more VGIC cleanups getting rid of redundant state x86: Quite a few changes: - support for VT-d posted interrupts (i.e. PCI devices can inject interrupts directly into vCPUs). This introduces a new component (in virt/lib/) that connects VFIO and KVM together. The same infrastructure will be used for ARM interrupt forwarding as well. - more Hyper-V features, though the main one Hyper-V synthetic interrupt controller will have to wait for 4.5. These will let KVM expose Hyper-V devices. - nested virtualization now supports VPID (same as PCID but for vCPUs) which makes it quite a bit faster - for future hardware that supports NVDIMM, there is support for clflushopt, clwb, pcommit - support for "split irqchip", i.e. LAPIC in kernel + IOAPIC/PIC/PIT in userspace, which reduces the attack surface of the hypervisor - obligatory smattering of SMM fixes - on the guest side, stable scheduler clock support was rewritten to not require help from the hypervisor" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (123 commits) KVM: VMX: Fix commit which broke PML KVM: x86: obey KVM_X86_QUIRK_CD_NW_CLEARED in kvm_set_cr0() KVM: x86: allow RSM from 64-bit mode KVM: VMX: fix SMEP and SMAP without EPT KVM: x86: move kvm_set_irq_inatomic to legacy device assignment KVM: device assignment: remove pointless #ifdefs KVM: x86: merge kvm_arch_set_irq with kvm_set_msi_inatomic KVM: x86: zero apic_arb_prio on reset drivers/hv: share Hyper-V SynIC constants with userspace KVM: x86: handle SMBASE as physical address in RSM KVM: x86: add read_phys to x86_emulate_ops KVM: x86: removing unused variable KVM: don't pointlessly leave KVM_COMPAT=y in non-KVM configs KVM: arm/arm64: Merge vgic_set_lr() and vgic_sync_lr_elrsr() KVM: arm/arm64: Clean up vgic_retire_lr() and surroundings KVM: arm/arm64: Optimize away redundant LR tracking KVM: s390: use simple switch statement as multiplexer KVM: s390: drop useless newline in debugging data KVM: s390: SCA must not cross page boundaries KVM: arm: Do not indent the arguments of DECLARE_BITMAP ... commit a3e7531535a0c6e5acbaa5436f37933bb471aa95 Merge: 39cf7c3 a82544c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 16:20:21 2015 -0800 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI updates from James Bottomley: "First round of SCSI updates for the 4.4 merge window. This batch includes a couple of minor fixes, some core changes to help issues we're still seeing with the suspend/resume code and updates to lpfc and cxlflash. We're (actually Martin Petersen is) trying to wrangle a mpt2/mpt3sas merger for the merge window which will help enormously with the maintenance burden, so there will be another round before it closes" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (56 commits) cxlflash: Fix to avoid bypassing context cleanup cxlflash: Fix to avoid lock instrumentation rejection cxlflash: Fix to avoid corrupting port selection mask cxlflash: Fix to escalate to LINK_RESET on login timeout cxlflash: Fix to avoid leaving dangling interrupt resources cxlflash: Fix to avoid potential deadlock on EEH cxlflash: Correct trace string cxlflash: Fix to avoid corrupting adapter fops cxlflash: Fix to double the delay each time MAINTAINERS: Add cxlflash driver cxlflash: Fix to prevent stale AFU RRQ cxlflash: Correct spelling, grammar, and alignment mistakes cxlflash: Fix to prevent EEH recovery failure cxlflash: Fix MMIO and endianness errors cxlflash: Fix function prolog parameters and return codes cxlflash: Remove unnecessary scsi_block_requests cxlflash: Correct behavior in device reset handler following EEH cxlflash: Fix to prevent workq from accessing freed memory cxlflash: Correct usage of scsi_host_put() cxlflash: Fix AFU version access/storage and add check ... commit 39cf7c398122ff6d7df13d2832810933d227ac59 Merge: ab1228e b67ad2f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 16:12:10 2015 -0800 Merge tag 'iommu-updates-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull iommu updates from Joerg Roedel: "This time including: - A new IOMMU driver for s390 pci devices - Common dma-ops support based on iommu-api for ARM64. The plan is to use this as a basis for ARM32 and hopefully other architectures as well in the future. - MSI support for ARM-SMMUv3 - Cleanups and dead code removal in the AMD IOMMU driver - Better RMRR handling for the Intel VT-d driver - Various other cleanups and small fixes" * tag 'iommu-updates-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (41 commits) iommu/vt-d: Fix return value check of parse_ioapics_under_ir() iommu/vt-d: Propagate error-value from ir_parse_ioapic_hpet_scope() iommu/vt-d: Adjust the return value of the parse_ioapics_under_ir iommu: Move default domain allocation to iommu_group_get_for_dev() iommu: Remove is_pci_dev() fall-back from iommu_group_get_for_dev iommu/arm-smmu: Switch to device_group call-back iommu/fsl: Convert to device_group call-back iommu: Add device_group call-back to x86 iommu drivers iommu: Add generic_device_group() function iommu: Export and rename iommu_group_get_for_pci_dev() iommu: Revive device_group iommu-ops call-back iommu/amd: Remove find_last_devid_on_pci() iommu/amd: Remove first/last_device handling iommu/amd: Initialize amd_iommu_last_bdf for DEV_ALL iommu/amd: Cleanup buffer allocation iommu/amd: Remove cmd_buf_size and evt_buf_size from struct amd_iommu iommu/amd: Align DTE flag definitions iommu/amd: Remove old alias handling code iommu/amd: Set alias DTE in do_attach/do_detach iommu/amd: WARN when __[attach|detach]_device are called with irqs enabled ... commit d2f20619942fe4618160a7fa3dbdcbac335cff59 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Nov 4 09:28:26 2015 -0700 toshiba_acpi: Initialize hotkey_event_type variable Commit 53147b6cabee5e8d1997b5682fcc0c3b72ddf9c2 ("toshiba_acpi: Fix hotkeys registration on some toshiba models") fixed an issue on some laptops regarding hotkeys registration, however, if failed to address the initialization of the hotkey_event_type variable, and thus, it can lead to potential unwanted effects as the variable is being checked. This patch initializes such variable to avoid such unwanted effects. Cc: <stable@xxxxxxxxxxxxxxx> # 4.1+ Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit ab1228e42e71f5cb687c740c4c304f1d48bcf68a Merge: 5ebe0ee 0bdec95 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 16:06:52 2015 -0800 Merge git://git.infradead.org/intel-iommu Pull intel iommu updates from David Woodhouse: "This adds "Shared Virtual Memory" (aka PASID support) for the Intel IOMMU. This allows devices to do DMA using process address space, translated through the normal CPU page tables for the relevant mm. With corresponding support added to the i915 driver, this has been tested with the graphics device on Skylake. We don't have the required TLP support in our PCIe root ports for supporting discrete devices yet, so it's only integrated devices that can do it so far" * git://git.infradead.org/intel-iommu: (23 commits) iommu/vt-d: Fix rwxp flags in SVM device fault callback iommu/vt-d: Expose struct svm_dev_ops without CONFIG_INTEL_IOMMU_SVM iommu/vt-d: Clean up pasid_enabled() and ecs_enabled() dependencies iommu/vt-d: Handle Caching Mode implementations of SVM iommu/vt-d: Fix SVM IOTLB flush handling iommu/vt-d: Use dev_err(..) in intel_svm_device_to_iommu(..) iommu/vt-d: fix a loop in prq_event_thread() iommu/vt-d: Fix IOTLB flushing for global pages iommu/vt-d: Fix address shifting in page request handler iommu/vt-d: shift wrapping bug in prq_event_thread() iommu/vt-d: Fix NULL pointer dereference in page request error case iommu/vt-d: Implement SVM_FLAG_SUPERVISOR_MODE for kernel access iommu/vt-d: Implement SVM_FLAG_PRIVATE_PASID to allocate unique PASIDs iommu/vt-d: Add callback to device driver on page faults iommu/vt-d: Implement page request handling iommu/vt-d: Generalise DMAR MSI setup to allow for page request events iommu/vt-d: Implement deferred invalidate for SVM iommu/vt-d: Add basic SVM PASID support iommu/vt-d: Always enable PASID/PRI PCI capabilities before ATS iommu/vt-d: Add initial support for PASID tables ... commit 5ebe0ee802c52cdf0c0eed8f3eccc9a056e412a3 Merge: 1873499 3ce9623 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 15:59:24 2015 -0800 Merge tag 'docs-for-linus' of git://git.lwn.net/linux Pull documentation update from Jon Corbet: "There is a nice new document from Neil on how pathname lookups work and some new CAN driver documentation. Beyond that, we have kernel-doc fixes, a bit more work to support reproducible builds, and the usual collection of small fixes" * tag 'docs-for-linus' of git://git.lwn.net/linux: (34 commits) Documentation: add new description of path-name lookup. Documentation/vm/slub.txt: document slabinfo-gnuplot.sh Doc: ABI/stable: Fix typo in ABI/stable doc: Clarify that nmi_watchdog param is for hardlockups Typo correction for description in gpio document. DocBook: Fix kernel-doc to be case-insensitive for private: kernel-docs.txt: update kernelnewbies reference Doc:kvm: Fix typo in Doc/virtual/kvm Documentation/Changes: Add bc in "Current Minimal Requirements" section Documentation/email-clients.txt: remove trailing whitespace DocBook: Use a fixed encoding for output MAINTAINERS: The docs tree has moved Docs/kernel-parameters: Add earlycon devicetree usage SubmittingPatches: make Subject examples match the de facto standard Documentation: gpio: mention that <function>-gpio has been deprecated Documentation: cgroups: just fix a few typos Documentation: Update kselftest.txt Documentation: DMA API: Be more explicit that nents is always the same Documentation: Update the default value of crashkernel low zram: update documentation ... commit 1873499e13648a2dd01a394ed3217c9290921b3d Merge: 3460b01 ba94c3f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 15:32:38 2015 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security subsystem update from James Morris: "This is mostly maintenance updates across the subsystem, with a notable update for TPM 2.0, and addition of Jarkko Sakkinen as a maintainer of that" * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (40 commits) apparmor: clarify CRYPTO dependency selinux: Use a kmem_cache for allocation struct file_security_struct selinux: ioctl_has_perm should be static selinux: use sprintf return value selinux: use kstrdup() in security_get_bools() selinux: use kmemdup in security_sid_to_context_core() selinux: remove pointless cast in selinux_inode_setsecurity() selinux: introduce security_context_str_to_sid selinux: do not check open perm on ftruncate call selinux: change CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE default KEYS: Merge the type-specific data with the payload data KEYS: Provide a script to extract a module signature KEYS: Provide a script to extract the sys cert list from a vmlinux file keys: Be more consistent in selection of union members used certs: add .gitignore to stop git nagging about x509_certificate_list KEYS: use kvfree() in add_key Smack: limited capability for changing process label TPM: remove unnecessary little endian conversion vTPM: support little endian guests char: Drop owner assignment from i2c_driver ... commit 3460b01b12aaf0011cb30f6f502edd05752f70eb Merge: 6de29ccb 233a686 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 15:26:43 2015 -0800 Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit Pull audit updates from Paul Moore: "Seven audit patches for 4.4, but really only one of any significant value, the remainder are trivial cleanups that are described well enough in the patch descriptions. The one significant patch is an attempt to make communication between the kernel's audit subsystem and the userspace audit daemon a bit more robust by retrying on certain transient error conditions. All in all, it's a pretty small set of patches this time around with just fixes and cleanups" * 'upstream' of git://git.infradead.org/users/pcmoore/audit: audit: make audit_log_common_recv_msg() a void function audit: removing unused variable audit: fix comment block whitespace audit: audit_tree_match can be boolean audit: audit_string_contains_control can be boolean audit: audit_dummy_context can be boolean audit: try harder to send to auditd upon netlink failure commit 6de29ccb50f2caef07cdd888efc8cb933497b6a4 Merge: 69234ac f2ca379 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 15:20:56 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull userns hardlink capability check fix from Eric Biederman: "This round just contains a single patch. There has been a lot of other work this period but it is not quite ready yet, so I am pushing it until 4.5. The remaining change by Dirk Steinmetz wich fixes both Gentoo and Ubuntu containers allows hardlinks if we have the appropriate capabilities in the user namespace. Security wise it is really a gimme as the user namespace root can already call setuid become that user and create the hardlink" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: namei: permit linking with CAP_FOWNER in userns commit 69234acee54407962a20bedf90ef9c96326994b5 Merge: 11eaaad d574567 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 14:51:32 2015 -0800 Merge branch 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup Pull cgroup updates from Tejun Heo: "The cgroup core saw several significant updates this cycle: - percpu_rwsem for threadgroup locking is reinstated. This was temporarily dropped due to down_write latency issues. Oleg's rework of percpu_rwsem which is scheduled to be merged in this merge window resolves the issue. - On the v2 hierarchy, when controllers are enabled and disabled, all operations are atomic and can fail and revert cleanly. This allows ->can_attach() failure which is necessary for cpu RT slices. - Tasks now stay associated with the original cgroups after exit until released. This allows tracking resources held by zombies (e.g. pids) and makes it easy to find out where zombies came from on the v2 hierarchy. The pids controller was broken before these changes as zombies escaped the limits; unfortunately, updating this behavior required too many invasive changes and I don't think it's a good idea to backport them, so the pids controller on 4.3, the first version which included the pids controller, will stay broken at least until I'm sure about the cgroup core changes. - Optimization of a couple common tests using static_key" * 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (38 commits) cgroup: fix race condition around termination check in css_task_iter_next() blkcg: don't create "io.stat" on the root cgroup cgroup: drop cgroup__DEVEL__legacy_files_on_dfl cgroup: replace error handling in cgroup_init() with WARN_ON()s cgroup: add cgroup_subsys->free() method and use it to fix pids controller cgroup: keep zombies associated with their original cgroups cgroup: make css_set_rwsem a spinlock and rename it to css_set_lock cgroup: don't hold css_set_rwsem across css task iteration cgroup: reorganize css_task_iter functions cgroup: factor out css_set_move_task() cgroup: keep css_set and task lists in chronological order cgroup: make cgroup_destroy_locked() test cgroup_is_populated() cgroup: make css_sets pin the associated cgroups cgroup: relocate cgroup_[try]get/put() cgroup: move check_for_release() invocation cgroup: replace cgroup_has_tasks() with cgroup_is_populated() cgroup: make cgroup->nr_populated count the number of populated css_sets cgroup: remove an unused parameter from cgroup_task_migrate() cgroup: fix too early usage of static_branch_disable() cgroup: make cgroup_update_dfl_csses() migrate all target processes atomically ... commit 11eaaadb3ea376c6c194491c2e9bddd647f9d253 Merge: e25ac7d 159b5bb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 14:32:54 2015 -0800 Merge branch 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata updates from Tejun Heo: "Most are ahci and other device specific additions. Dan cleaned up ahci IRQ handling to prepare for future MSIX changes. On the libata core side, Vinayak updated SG handling so that NCQ commands can be issued through SG_IO and Christoph cleaned up code a bit. There's one merge from for-4.3-fixes to include a pata_macio commit that didn't get pushed out" * 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: ahci: add new Intel device IDs ahci: Add Marvell 88se91a2 device id ahci: cleanup ahci_host_activate_multi_irqs ahci: ahci_host_activate: kill IRQF_SHARED devicetree: bindings: Fixed a few typos ahci: qoriq: Disable NCQ on ls2080a SoC ahci: qoriq: Rename LS2085A SoC support code to LS2080A libata: enable LBA flag in taskfile for ata_scsi_pass_thru() libata: add support for NCQ commands for SG interface ahci: qoriq: Fix a compiling warning pata_it821x: use "const char *" for string literals libata: only call ->done once all per-tag ressources are released libata: cleanup ata_scsi_qc_complete ata: ahci: find eSATA ports and flag them as removable libata: samsung_cf: fix handling platform_get_irq result ata: pata_macio: Fix module autoload for OF platform driver ata: pata_pxa: dmaengine conversion ahci: added a new driver for supporting Freescale AHCI sata devicetree:bindings: add devicetree bindings for Freescale AHCI Revert "ahci: added support for Freescale AHCI sata" commit e25ac7ddaae0e798f794cdaf9109bc71246110cd Merge: 75f5db39 e227358 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 14:16:27 2015 -0800 Merge branch 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq Pull workqueue update from Tejun Heo: "This pull request contains one patch to make an unbound worker pool allocated from the NUMA node containing it if such node exists. As unbound worker pools are node-affine by default, this makes most pools allocated on the right node" * 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: Allocate the unbound pool using local node memory commit d7e53e35f9f54cdfa09a8456ae8e9874ec66bb36 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Tue Nov 3 17:13:57 2015 -0500 cpufreq: s5pv210-cpufreq: fix wrong do_div() usage It is wrong to use do_div() with 32-bit dividends (unsigned long is 32 bits on 32-bit architectures). Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 58ac1f6202aab03d1f2c5fcfe3552af4b93321d3 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Mon Nov 2 09:45:46 2015 -0800 MAINTAINERS: update for intel P-state driver Add Srinivas Pandruvada and Len Brown as maintainers and remove Kristen Carlson Accardi from the list of maintainers. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 212cd0895330b775f2db49451f046a5ca4e5704b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 5 13:39:24 2015 -0800 selinux: fix random read in selinux_ip_postroute_compat() In commit e446f9dfe17b ("net: synack packets can be attached to request sockets"), I missed one remaining case of invalid skb->sk->sk_security access. Dmitry Vyukov got a KASan report pointing to it. Add selinux_skb_sk() helper that is responsible to get back to the listener if skb is attached to a request socket, instead of duplicating the logic. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Paul Moore <paul@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 432599d7a7062ad7e37e72601607dc35596afe40 Merge: 49a496c 4bb6cdc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Nov 5 16:33:10 2015 -0500 Merge branch 'bnxt_en-fixes' Michael Chan says: ==================== bnxt_en: Bug fixes. Miscellaneous small bug fixes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bb6cdce386d620d10d2588ea5bf4093a3b21ab9 Author: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Date: Thu Nov 5 16:25:51 2015 -0500 bnxt_en: More robust SRIOV cleanup sequence. Instead of always calling pci_sriov_disable() in remove_one(), the driver should detect whether VFs are currently assigned to the VMs. If the VFs are active in VMs, then it should not disable SRIOV as it is catastrophic to the VMs. Instead, it just leaves the VFs alone and continues to unload the PF. The user can then cleanup the VMs even after the PF driver has been unloaded. Signed-off-by: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84e86b98f6515aaeaac053b234be158b25457184 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Thu Nov 5 16:25:50 2015 -0500 bnxt_en: Fix comparison of u16 sw_id against negative value. Assign the return value from bitmap_find_free_region() to an integer variable and check for negative error codes first, before assigning the bit ID to the unsigned sw_id field. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11809490ac17810cff90c12e9f2f3e0303a72121 Author: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Date: Thu Nov 5 16:25:49 2015 -0500 bnxt_en: map CAG_REG_LEGACY_INT_STATUS_MASK to GRC window #4 In order to use offset 0x4014 for reading CAG interrupt status, the actual CAG register must be mapped to GRC bar0 window #4. Otherwise, the driver is reading garbage. This patch corrects this issue. Signed-off-by: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 614388ce39f3d61ad7f95db65f409d35d5943616 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Thu Nov 5 16:25:48 2015 -0500 bnxt_en: Determine tcp/ipv6 RSS hash type correctly. The profile ID in the completion record needs to be ANDed with the profile ID mask of 0x1f. This bug was causing the SKB hash type and the gso_type to be wrong in some cases. Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5d7774db350e77f2506e36e1797c958d1b118c8 Author: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Date: Thu Nov 5 16:25:47 2015 -0500 bnxt_en: Change sp events definitions to represent bit position. Fix the sp event bits to be bit positions instead of bit values since the bit helper functions are expecting the former. Signed-off-by: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75f5db39ff14ed95056f2cca3ad98c3cae97170c Merge: 52787e9 c70efb8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 13:15:12 2015 -0800 Merge tag 'spi-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi updates from Mark Brown: "Quite a lot of activity in SPI this cycle, almost all of it in drivers with a few minor improvements and tweaks in the core. - Updates to pxa2xx to support Intel Broxton and multiple chip selects. - Support for big endian in the bcm63xx driver. - Multiple slave support for the mt8173 - New driver for the auxiliary SPI controller in bcm2835 SoCs. - Support for Layerscale SoCs in the Freescale DSPI driver" * tag 'spi-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (87 commits) spi: pxa2xx: Rework self-initiated platform data creation for non-ACPI spi: pxa2xx: Add support for Intel Broxton spi: pxa2xx: Detect number of enabled Intel LPSS SPI chip select signals spi: pxa2xx: Add output control for multiple Intel LPSS chip selects spi: pxa2xx: Use LPSS prefix for defines that are Intel LPSS specific spi: Add DSPI support for layerscape family spi: ti-qspi: improve ->remove() callback spi/spi-xilinx: Fix race condition on last word read spi: Drop owner assignment from spi_drivers spi: Add THIS_MODULE to spi_driver in SPI core spi: Setup the master controller driver before setting the chipselect spi: dw: replace magic constant by DW_SPI_DR spi: mediatek: mt8173 spi multiple devices support spi: mediatek: handle controller_data in mtk_spi_setup spi: mediatek: remove mtk_spi_config spi: mediatek: Update document devicetree bindings to support multiple devices spi: fix kernel-doc warnings about missing return desc in spi.c spi: fix kernel-doc warnings about missing return desc in spi.h spi: pxa2xx: Align a few defines spi: pxa2xx: Save other reg_cs_ctrl bits when configuring chip select ... commit 52787e91bf5375e68e90f381bd157bd92e1f4a77 Merge: f66477a 62e544b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 13:06:22 2015 -0800 Merge tag 'regulator-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "This is quite a quiet release in terms of volume of patches but it includes a couple of really nice core changes - the work Sascha has done in particular is something I've wanted to get done for a long time but just never got round to myself. Highlights include: - Support from Sascha Hauer for setting the voltage of parent supplies based on requests from their children. This is used both to allow set_voltage() to work through a dumb switch and to improve the efficiency of systems where DCDCs are used to supply LDOs by minimising the voltage drop over the LDOs. - Removal of regulator_list by Tomeu Vizoso, meaning we're not duplicating the device list maintained by the driver core. - Support for Wolfson/Cirrus WM8998 and WM1818" * tag 'regulator-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (29 commits) regulator: Use regulator_lock_supply() for get_voltage() too regulator: arizona: Add regulator specific device tree binding document regulator: stw481x: compile on COMPILE_TEST regulator: qcom-smd: Correct set_load() unit regulator: core: Propagate voltage changes to supply regulators regulator: core: Factor out regulator_map_voltage regulator: i.MX anatop: Allow supply regulator regulator: introduce min_dropout_uV regulator: core: create unlocked version of regulator_set_voltage regulator: arizona-ldo1: Fix handling of GPIO 0 regulator: da9053: Update regulator for DA9053 BC silicon support regulator: max77802: Separate sections for nodes and properties regulator: max77802: Add input supply properties to DT binding doc regulator: axp20x: set supply names for AXP22X DC1SW/DC5LDO internally regulator: axp20x: Drop AXP221 DC1SW and DC5LDO regulator supplies from bindings mfd: tps6105x: Use i2c regmap to access registers regulator: act8865: add DT binding for property "active-semi,vsel-high" regulator: act8865: support output voltage by VSET2[] bits regulator: arizona: add support for WM8998 and WM1814 regulator: core: create unlocked version of regulator_list_voltage ... commit f66477a0aeb77f97a7de5f791700dadc42f3f792 Merge: 400c5bd e5bf199 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:59:36 2015 -0800 Merge tag 'clk-for-linus-20151104' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux Pull clk updates from Stephen Boyd: "The majority of the changes are driver updates and new device support. The core framework is mostly unchanged this time around, with only a couple patches to expose a clk provider API and make getting clk parent names from DT more robust. Driver updates: - Support for clock controllers found on Broadcom Northstar SoCs and bcm2835 SoC - Support for Allwinner audio clocks - A few cleanup patches for Tegra drivers and support for the highest DFLL frequencies on Tegra124 - Samsung exynos7 fixes and improvements - i.Mx SoC updates to add a few missing clocks and keep debug uart clocks on during kernel intialization - Some mediatek cleanups and support for more subsystem clocks - Support for msm8916 gpu/audio clocks and qcom's GDSC power domain controllers - A new driver for the Silabs si514 clock chip" * tag 'clk-for-linus-20151104' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (143 commits) clk: qcom: msm8960: Fix dsi1/2 halt bits clk: lpc18xx-cgu: fix potential system hang when disabling unused clocks clk: lpc18xx-ccu: fix potential system hang when disabling unused clocks clk: Add clk_hw_is_enabled() for use by clk providers clk: Add stubs for of_clk_*() APIs when CONFIG_OF=n clk: versatile-icst: fix memory leak clk: Remove clk_{register,unregister}_multiplier() clk: iproc: define Broadcom NS2 iProc clock binding clk: iproc: define Broadcom NSP iProc clock binding clk: ns2: add clock support for Broadcom Northstar 2 SoC clk: iproc: Separate status and control variables clk: iproc: Split off dig_filter clk: iproc: Add PLL base write function clk: nsp: add clock support for Broadcom Northstar Plus SoC clk: iproc: Add PWRCTRL support clk: cygnus: Convert all macros to all caps ARM: cygnus: fix link failures when CONFIG_COMMON_CLK_IPROC is disabled clk: imx31: add missing of_node_put clk: imx27: add missing of_node_put clk: si5351: add missing of_node_put ... commit 49a496c97d035f2eab7cef4894dd46202184fc81 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 5 12:50:19 2015 -0800 tcp: use correct req pointer in tcp_move_syn() calls I mistakenly took wrong request sock pointer when calling tcp_move_syn() @req_unhash is either a copy of @req, or a NULL value for FastOpen connexions (as we do not expect to unhash the temporary request sock from ehash table) Fixes: 805c4bc05705 ("tcp: fix req->saved_syn race") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Ying Cai <ycai@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0547311133159bf95f7998726e4e4932d78d8ce Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Nov 5 15:40:45 2015 +0100 perf stat: Make stat options global So they can be used in perf stat record command in following patch. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1446734469-11352-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 400c5bd5a5b1faf3089322ace58b974446a8ddc3 Merge: 9bd9fa6 6bd03ce Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:28:15 2015 -0800 Merge tag 'for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply Pull power supply and reset updates from Sebastian Reichel: - new AXP20X USB Power driver - new Qualcomm SMBB driver - new TPS65217 Charger driver - BQ24257: add BQ24250/BQ24251 support - overhaul bq27x00 battery driver, rename to bq27xxx - misc fixes and cleanups * tag 'for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (54 commits) power: bq27xxx_battery: Remove unneeded dependency in Kconfig power: bq27xxx_battery: move irq handler to i2c section power: bq27xxx_battery: fix platform probe twl4030_charger: add missing iio dependency power_supply: charger-manager: add missing of_node_put Documentation: power: bq24257: Document exported sysfs entries power: bq24257: Add various device-specific sysfs properties power: bq24257: Allow input current limit sysfs access power: bq24257: Add input DPM voltage threshold setting support power: bq24257: Add over voltage protection setting support power: bq24257: Add SW-based approach for Power Good determination power: bq24257: Allow manual setting of input current limit power: bq24257: Add bit definition for temp sense enable power: bq24257: Add basic support for bq24250/bq24251 dt: power: bq24257-charger: Cover additional devices power: bq24257: Simplify bq24257_power_supply_init() power: bq24257: Use managed power supply register power: bq24257: Streamline input current limit setup power: bq24257: Remove IRQ config through stat-gpios power: bq27xxx_battery: fix signedness bug in bq27xxx_battery_read_health() ... commit 9bd9fa6c147e68fc4dc3b35893979720ba7d0321 Merge: b037865 16bd586 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:13:47 2015 -0800 Merge tag 'hsi-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi Pull HSI updates from Sebastian Reichel: "Misc fixes" * tag 'hsi-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi: hsi: controllers:remove redundant code hsi: correctly handle return value of kzalloc hsi: omap_ssi_port: Prevent warning if cawake_gpio is not defined. hsi: fix double kfree HSI: Fix a typo commit b0378657549bbc73ac0ec6e9332fcf3c53362365 Merge: 66339fd 79f5b6a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:05:15 2015 -0800 Merge tag 'media/v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: "Media updates, including: - Lots of improvements at the kABI documentation - Split of Videobuf2 into a common part and a V4L2 specific one - Split of the VB2 tracing events into a separate header file - s5p-mfc got support for Exynos 5433 - v4l2 fixes for 64-bits alignment when running 32 bits userspace on ARM - Added support for SDR radio transmitter at core, vivid and hackrf drivers - Some y2038 fixups - Some improvements at V4L2 colorspace support - saa7164 converted to use the V4L2 core control framework - several new boards additions, cleanups and fixups PS: There are two patches for scripts/kernel-doc that are needed by the documentation patches on Media. Jon is OK on merging those via my tree" * tag 'media/v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (146 commits) [media] c8sectpfe: Remove select on CONFIG_FW_LOADER_USER_HELPER_FALLBACK [media] DocBook media: update copyright/version numbers [media] ivtv: Convert to get_user_pages_unlocked() [media] media/v4l2-ctrls: fix setting autocluster to manual with VIDIOC_S_CTRL [media] DocBook media: Fix a typo in encoder cmd [media] DocBook: add SDR specific info to G_MODULATOR / S_MODULATOR [media] DocBook: add SDR specific info to G_TUNER / S_TUNER [media] hackrf: do not set human readable name for formats [media] hackrf: add support for transmitter [media] hackrf: switch to single function which configures everything [media] hackrf: add control for RF amplifier [media] DocBook: add modulator type field [media] v4l: add type field to v4l2_modulator struct [media] DocBook: document SDR transmitter [media] v4l2: add support for SDR transmitter [media] DocBook: document tuner RF gain control [media] v4l2: add RF gain control [media] v4l2: rename V4L2_TUNER_ADC to V4L2_TUNER_SDR [media] media/vivid-osd: fix info leak in ioctl [media] media: videobuf2: Move v4l2-specific stuff to videobuf2-v4l2 ... commit 66339fdacb63fc7908e7eb755b9fffa672ffbb10 Merge: 0fcb9d2 306e5c2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 11:51:18 2015 -0800 Merge tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull pstore updates from Tony Luck: "Half dozen small cleanups plus change to allow pstore backend drivers to be unloaded" * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: pstore: fix code comment to match code efi-pstore: fix kernel-doc argument name pstore: Fix return type of pstore_is_mounted() pstore: add pstore unregister pstore: add a helper function pstore_register_kmsg pstore: add vmalloc error check commit 30f7ea1c2b5f5fb7462c5ae44fe2e40cb2d6a474 Author: Francesco Ruggeri <fruggeri@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 08:16:14 2015 -0800 packet: race condition in packet_bind There is a race conditions between packet_notifier and packet_bind{_spkt}. It happens if packet_notifier(NETDEV_UNREGISTER) executes between the time packet_bind{_spkt} takes a reference on the new netdevice and the time packet_do_bind sets po->ifindex. In this case the notification can be missed. If this happens during a dev_change_net_namespace this can result in the netdevice to be moved to the new namespace while the packet_sock in the old namespace still holds a reference on it. When the netdevice is later deleted in the new namespace the deletion hangs since the packet_sock is not found in the new namespace' &net->packet.sklist. It can be reproduced with the script below. This patch makes packet_do_bind check again for the presence of the netdevice in the packet_sock's namespace after the synchronize_net in unregister_prot_hook. More in general it also uses the rcu lock for the duration of the bind to stop dev_change_net_namespace/rollback_registered_many from going past the synchronize_net following unlist_netdevice, so that no NETDEV_UNREGISTER notifications can happen on the new netdevice while the bind is executing. In order to do this some code from packet_bind{_spkt} is consolidated into packet_do_dev. import socket, os, time, sys proto=7 realDev='em1' vlanId=400 if len(sys.argv) > 1: vlanId=int(sys.argv[1]) dev='vlan%d' % vlanId os.system('taskset -p 0x10 %d' % os.getpid()) s = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, proto) os.system('ip link add link %s name %s type vlan id %d' % (realDev, dev, vlanId)) os.system('ip netns add dummy') pid=os.fork() if pid == 0: # dev should be moved while packet_do_bind is in synchronize net os.system('taskset -p 0x20000 %d' % os.getpid()) os.system('ip link set %s netns dummy' % dev) os.system('ip netns exec dummy ip link del %s' % dev) s.close() sys.exit(0) time.sleep(.004) try: s.bind(('%s' % dev, proto+1)) except: print 'Could not bind socket' s.close() os.system('ip netns del dummy') sys.exit(0) os.waitpid(pid, 0) s.close() os.system('ip netns del dummy') sys.exit(0) Signed-off-by: Francesco Ruggeri <fruggeri@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d799dde8e69494e0234b8ecd5ce95cd06224329 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Nov 5 13:40:40 2015 -0600 MAINTAINERS: update DT binding doc locations After the recent moving of DT binding documents, some maintainers entries are stale. Update them to the new locations. In bindings/fb/, there were only 2 files and I'm assuming the FB maintainers don't want to be copied on all of bindings/display/. So I've dropped them. Reported-by: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Cc: Alison Wang <alison.wang@xxxxxxxxxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Cc: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f668f5f7e0861087ef9d64d473a9c1399fc25471 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 5 11:34:06 2015 -0800 ipv4: use sk_fullsock() in ipv4_conntrack_defrag() Before converting a 'socket pointer' into inet socket, use sk_fullsock() to detect timewait or request sockets. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Tested-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 805c4bc05705fb2b71ec970960b456eee9900953 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 5 11:07:13 2015 -0800 tcp: fix req->saved_syn race For the reasons explained in commit ce1050089c96 ("tcp/dccp: fix ireq->pktopts race"), we need to make sure we do not access req->saved_syn unless we own the request sock. This fixes races for listeners using TCP_SAVE_SYN option. Fixes: e994b2f0fb92 ("tcp: do not lock listener to process SYN packets") Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Ying Cai <ycai@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fcb9d21b4e18ede3727b8905e74acd0d1daef56 Merge: d000f8d beaa57d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 11:22:07 2015 -0800 Merge tag 'for-f2fs-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs updates from Jaegeuk Kim: "Most part of the patches include enhancing the stability and performance of in-memory extent caches feature. In addition, it introduces several new features and configurable points: - F2FS_GOING_DOWN_METAFLUSH ioctl to test power failures - F2FS_IOC_WRITE_CHECKPOINT ioctl to trigger checkpoint by users - background_gc=sync mount option to do gc synchronously - periodic checkpoints - sysfs entry to control readahead blocks for free nids And the following bug fixes have been merged. - fix SSA corruption by collapse/insert_range - correct a couple of gc behaviors - fix the results of f2fs_map_blocks - fix error case handling of volatile/atomic writes" * tag 'for-f2fs-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (54 commits) f2fs: fix to skip shrinking extent nodes f2fs: fix error path of ->symlink f2fs: fix to clear GCed flag for atomic written page f2fs: don't need to submit bio on error case f2fs: fix leakage of inmemory atomic pages f2fs: refactor __find_rev_next_{zero}_bit f2fs: support fiemap for inline_data f2fs: flush dirty data for bmap f2fs: relocate the tracepoint for background_gc f2fs crypto: fix racing of accessing encrypted page among f2fs: export ra_nid_pages to sysfs f2fs: readahead for free nids building f2fs: support lower priority asynchronous readahead in ra_meta_pages f2fs: don't tag REQ_META for temporary non-meta pages f2fs: add a tracepoint for f2fs_read_data_pages f2fs: set GFP_NOFS for grab_cache_page f2fs: fix SSA updates resulting in corruption Revert "f2fs: do not skip dentry block writes" f2fs: add F2FS_GOING_DOWN_METAFLUSH to test power-failure f2fs: merge meta writes as many possible ... commit d000f8d67f2bb464c9cf4fb5103f78d8cb406c05 Merge: 9576c2f a6b1533 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 11:15:25 2015 -0800 Merge tag 'dlm-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm Pull dlm update from David Teigland: "This includes one simple fix to make posix locks interruptible by signals in cases where a signal handler is used" * tag 'dlm-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm: dlm: make posix locks interruptible commit 428ad1bc6dd766bb44171bba43a8a3219be77d2e Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Nov 5 10:26:46 2015 +0100 net: stmmac: fix double-initialization of phy_iface The variable phy_iface is double-initialized to itself. This patch remove that. Reported-by: coverity (CID 1271141) Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b15acbfe937f9c48a81d6aa306f9fa8b53abc13 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Nov 5 11:41:28 2015 +0300 qlogic: qed: fix error codes in qed_resc_alloc() We accidentally return success instead of -ENOMEM here. Fixes: fe56b9e6a8d9 ('qed: Add module with basic common support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e79a8bcb780314a555897a933d16553b80dbca1f Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 17:23:40 2015 -0500 net: dsa: mv88e6xxx: isolate unbridged ports The DSA documentation specifies that each port must be capable of forwarding frames to the CPU port. The last changes on bridging support for the mv88e6xxx driver broke this requirement for non-bridged ports. So as for the bridged ports, reserve a few VLANs (4000+) in the switch to isolate ports that have not been bridged yet. By default, a port will be isolated with the CPU and DSA ports. When the port joins a bridge, it will leave its reserved port. When it is removed from a bridge, it will join its reserved VLAN again. Fixes: 5fe7f68016ff ("net: dsa: mv88e6xxx: fix hardware bridging") Reported-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9576c2f2934eb5839a468ae156418ef595d5fec6 Merge: 8e483ed 616fb38 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 10:31:29 2015 -0800 Merge tag 'locks-v4.4-1' of git://git.samba.org/jlayton/linux Pull file locking updates from Jeff Layton: "The largest series of changes is from Ben who offered up a set to add a new helper function for setting locks based on the type set in fl_flags. Dmitry also send in a fix for a potential race that he found with KTSAN" * tag 'locks-v4.4-1' of git://git.samba.org/jlayton/linux: locks: cleanup posix_lock_inode_wait and flock_lock_inode_wait Move locks API users to locks_lock_inode_wait() locks: introduce locks_lock_inode_wait() locks: Use more file_inode and fix a comment fs: fix data races on inode->i_flctx locks: change tracepoint for generic_add_lease commit e60e063c14b13d0f66ffc708b8aa5d1a8208606e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 5 10:10:27 2015 -0800 HID: hid-gfrm: avoid warning for input_configured API change The input_configured callback was recently changed to return an 'int', but the newly added driver uses the old API: drivers/hid/hid-gfrm.c:151:22: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] This changes the driver like the other ones. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 34fc1322e7aa ("HID: hid-gfrm: Google Fiber TV Box remote controls") Fixes: b2c68a2f1bab ("HID: hid-input: allow input_configured callback return errors") Acked-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9154301a47b33bdc273d8254c407792524367558 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Sep 29 15:52:59 2015 -0700 HID: hid-input: allow input_configured callback return errors When configuring input device via input_configured callback we may encounter errors (for example input_mt_init_slots() may fail). Instead of continuing with half-initialized input device let's allow driver indicate failures. Signed-off-by: Jaikumar Ganesh <jaikumarg@xxxxxxxxxxx> Signed-off-by: Arve HjønnevÃ¥g <arve@xxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Nikolai Kondrashov <Nikolai.Kondrashov@xxxxxxxxxx> Acked-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 57a65667991aaddef730b0c910111ab76a1ff245 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Thu Nov 5 14:00:56 2015 +0000 arm64: cmpxchg_dbl: fix return value type The current arm64 __cmpxchg_double{_mb} implementations carry out the compare exchange by first comparing the old values passed in to the values read from the pointer provided and by stashing the cumulative bitwise difference in a 64-bit register. By comparing the register content against 0, it is possible to detect if the values read differ from the old values passed in, so that the compare exchange detects whether it has to bail out or carry on completing the operation with the exchange. Given the current implementation, to detect the cmpxchg operation status, the __cmpxchg_double{_mb} functions should return the 64-bit stashed bitwise difference so that the caller can detect cmpxchg failure by comparing the return value content against 0. The current implementation declares the return value as an int, which means that the 64-bit value stashing the bitwise difference is truncated before being returned to the __cmpxchg_double{_mb} callers, which means that any bitwise difference present in the top 32 bits goes undetected, triggering false positives and subsequent kernel failures. This patch fixes the issue by declaring the arm64 __cmpxchg_double{_mb} return values as a long, so that the bitwise difference is properly propagated on failure, restoring the expected behaviour. Fixes: e9a4b795652f ("arm64: cmpxchg_dbl: patch in lse instructions when supported by the CPU") Cc: <stable@xxxxxxxxxxxxxxx> # 4.3+ Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 40998193560dab6c3ce8d25f4fa58a23e252ef38 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 19 16:35:46 2015 +0200 scsi: restart list search after unlock in scsi_remove_target When dropping a lock while iterating a list we must restart the search as other threads could have manipulated the list under us. Without this we can get stuck in an endless loop. This bug was introduced by commit bc3f02a795d3b4faa99d37390174be2a75d091bd Author: Dan Williams <djbw@xxxxxx> Date: Tue Aug 28 22:12:10 2012 -0700 [SCSI] scsi_remove_target: fix softlockup regression on hot remove Which was itself trying to fix a reported soft lockup issue http://thread.gmane.org/gmane.linux.kernel/1348679 However, we believe even with this revert of the original patch, the soft lockup problem has been fixed by commit f2495e228fce9f9cec84367547813cbb0d6db15a Author: James Bottomley <JBottomley@xxxxxxxxxxxxx> Date: Tue Jan 21 07:01:41 2014 -0800 [SCSI] dual scan thread bug fix Thanks go to Dan Williams <dan.j.williams@xxxxxxxxx> for tracking all this prior history down. Reported-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Fixes: bc3f02a795d3b4faa99d37390174be2a75d091bd Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b3d8cf019fb9dd28389b08da7bf54ffabf453ed3 Author: Petr Å tetiar <ynezz@xxxxxxx> Date: Thu Nov 5 12:55:01 2015 +0100 USB: qmi_wwan: Add quirk for Quectel EC20 Mini PCIe module This device has same vendor and product IDs as G2K devices, but it has different number of interfaces(4 vs 5) and also different interface layout where EC20 has QMI on interface 4 instead of 0. lsusb output: Bus 002 Device 003: ID 05c6:9215 Qualcomm, Inc. Acer Gobi 2000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x05c6 Qualcomm, Inc. idProduct 0x9215 Acer Gobi 2000 Wireless Modem bcdDevice 2.32 iManufacturer 1 Quectel iProduct 2 Quectel LTE Module iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 209 bNumInterfaces 5 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Signed-off-by: Petr Å tetiar <ynezz@xxxxxxx> Acked-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 096273304cb13b1b6a611026759df7c738a0e4e2 Merge: d4e4bc1 4062418 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Nov 5 11:38:06 2015 -0500 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth Johan Hedberg says: ==================== pull request: bluetooth 2015-11-05 The following set of Bluetooth patches would be good to get into 4.4-rc1 if possible: - Fix for missing LE CoC parameter validity checks - Fix for potential deadlock in btusb - Fix for issuing unsupported commands during HCI init Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0014de172d228e450377d1fd079d94e67128d27f Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Nov 2 12:10:25 2015 +0100 perf sched latency: Fix thread pid reuse issue The latency subcommand holds a tree of working atoms sorted by thread's pid/tid. If there's new thread with same pid and tid, the old working atom is found and assert bug condition is hit in search function: thread_atoms_search: Assertion `!(thread != atoms->thread)' failed Changing the sort function to use thread object pointers together with pid and tid check. This way new thread will never find old one with same pid/tid. Link: http://lkml.kernel.org/n/tip-o4doazhhv0zax5zshkg8hnys@xxxxxxxxxxxxxx Reported-by: Mohit Agrawal <moagrawa@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1446462625-15807-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 98d3b258ede2cdac31a2728543f652964e597e79 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Nov 5 13:19:25 2015 +0000 perf tools: Fix find_perf_probe_point_from_map() which incorrectly returns success It is possible that find_perf_probe_point_from_map() fails to find a symbol but still returns 0 because of an small error when coding: find_perf_probe_point_from_map() set 'ret' to error code at first, but also use it to hold return value of kernel_get_symbol_address_by_name(). This patch resets 'ret' to error even kernel_get_symbol_address_by_name() success, so if !sym, the whole function returns error correctly. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446729565-27592-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 956959f6b7a982b2e789a7a8fa1de437074a5eb9 Author: Peter Feiner <pfeiner@xxxxxxxxxx> Date: Wed Nov 4 09:21:46 2015 -0800 perf trace: Fix documentation for -i The -i flag was incorrectly listed as a short flag for --no-inherit. It should have only been listed as a short flag for --input. This documentation error has existed since the --input flag was introduced in 6810fc915f7a89d8134edb3996dbbf8eac386c26 (perf trace: Add option to analyze events in a file versus live). Signed-off-by: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Link: http://lkml.kernel.org/r/1446657706-14518-1-git-send-email-pfeiner@xxxxxxxxxx Fixes: 6810fc915f7a ("perf trace: Add option to analyze events in a file versus live") Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c77c04aa9c2b3a154f5cb0559feaee3fb7a6935 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Nov 5 14:56:34 2015 +0800 tools lib bpf: Change FEATURE-DUMP to FEATURE-DUMP.libbpf Commit ed63f34c026e9a60d17fa750ecdfe3f600d49393 ("perf tools: Make perf depend on libbpf") triggers the build of libbpf when building the perf tools, dynamically creating FEATURE-DUMP.libbpf. It failed to update the tools/lib/bpf/.gitignore file to have that prefix, fix it. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: 65f041bee783 ("tools lib bpf: Use FEATURE_USER to allow building in the same dir as perf") Link: http://lkml.kernel.org/r/1446706594-4142-1-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4a4f66a1a7031675745812729ade94ad1caf1db6 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Nov 4 11:20:05 2015 +0000 perf llvm: Pass LINUX_VERSION_CODE to BPF program when compiling Arnaldo suggests to make LINUX_VERSION_CODE works like __func__ and __FILE__ so user don't need to care setting right linux version too much. In this patch, perf llvm transfers LINUX_VERSION_CODE macro through clang cmdline. [1] http://lkml.kernel.org/r/20151029223744.GK2923@xxxxxxxxxx Committer notes: Before, forgetting to update the version: # uname -r 4.3.0-rc1+ # cat bpf.c __attribute__((section("fork=_do_fork"), used)) int fork(void *ctx) { return 1; } char _license[] __attribute__((section("license"), used)) = "GPL"; int _version __attribute__((section("version"), used)) = 0x40200; # # perf record -e bpf.c sleep 1 event syntax error: 'bpf.c' \___ Invalid argument: Are you root and runing a CONFIG_BPF_SYSCALL kernel? (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events # After: # grep version bpf.c int _version __attribute__((section("version"), used)) = LINUX_VERSION_CODE; # perf record -e bpf.c sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data ] # perf evlist -v perf_bpf_probe:fork: type: 2, size: 112, config: 0x5ee, { sample_period, sample_freq }: 1, sample_type: IP|TID|TIME|CPU|PERIOD|RAW, 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 # Suggested-and-Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446636007-239722-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 59f41af980f95cbd556a6dc2e064b412abc439cf Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Nov 4 11:20:04 2015 +0000 perf llvm: Pass number of configured CPUs to clang compiler This patch introduces a new macro "__NR_CPUS__" to perf's embedded clang compiler, which represent the number of configured CPUs in this system. BPF programs can use this macro to create a map with the same number of system CPUs. For example: struct bpf_map_def SEC("maps") pmu_map = { .type = BPF_MAP_TYPE_PERF_EVENT_ARRAY, .key_size = sizeof(int), .value_size = sizeof(u32), .max_entries = __NR_CPUS__, }; Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446636007-239722-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 98916392a0bdfd71668b711fd93915791f45df02 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Nov 4 16:25:32 2015 -0300 perf tools: Allow shuffling the build tests Those tests take a long time and sometimes we stop it, so allow randomly shuffling the tests so that we have a better chance of running more of them in partial 'make build-test' runs. Using it just on the 'build-test' target, i.e.: make -C tools/perf build-test Is equivalent to: make SHUF=1 -C tools/perf -f tests/make Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ey7461i9q4k8u0987j8guun6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb8382e05817a8104ea0edb63b8e37b8fbecd14c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Nov 4 15:08:11 2015 +0100 perf tools: Insert split maps correctly into origin group When new maps are cloned out of split map they are added into origin map's group, but their groups pointer is not updated. This could lead to a segfault, because map->groups is expected to be always set as reported by Markus: __map__is_kernel (map=map@entry=0x1abb7a0) at util/map.c:238 238 return __machine__kernel_map(map->groups->machine, map->type) = (gdb) bt #0 __map__is_kernel (map=map@entry=0x1abb7a0) at util/map.c:238 #1 0x00000000004393e4 in symbol_filter (map=map@entry=0x1abb7a0, sym=sym@entry #2 0x00000000004fcd4d in dso__load_sym (dso=dso@entry=0x166dae0, map=map@entry #3 0x00000000004a64e0 in dso__load (dso=0x166dae0, map=map@entry=0x1abb7a0, fi #4 0x00000000004b941f in map__load (filter=0x4393c0 <symbol_filter>, map=<opti #5 map__find_symbol (map=0x1abb7a0, addr=40188, filter=0x4393c0 <symbol_filter ... Adding __map_groups__insert function to add map into groups together with map->groups pointer update. It takes no lock as opposed to existing map_groups__insert, as maps__fixup_overlappings(), where it is being called, already has the necessary lock held. Using __map_groups__insert to add new maps after map split. Reported-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20151104140811.GA32664@xxxxxxxxxxxxxxxxxxxx Fixes: cfc5acd4c80b ("perf top: Filter symbols based on __map__is_kernel(map)") Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 99106bc17e667989b4c0af0a6afcbd6ddbada8fb Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Nov 5 13:11:38 2015 +0200 drm/i915: Do graphics device reset under forcewake We have a timed release of a forcewake when using I915_READ/WRITE macros. wait_for() macro will go to quite long sleep if the first read doesn't satisfy the condition for successful exit. With these two interacting, it is possible that we lose the forcewake during the wait_for() and the subsequent read will reaquire forcewake. Further experiments with skl shows that when we lose forcewake, we lose the reset request we submitted. So reset request register is not power context saved. Grab forcewakes for all engines before starting the reset/request dance so that all requests stay valid for the duration of reset requisition across all the engines. v2: Add comment on power well sleeps. Wrap the reset handling under forcewake instead of just reset requests (Chris) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92774 Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Tested-by: Tomi Sarvela <tomix.p.sarvela@xxxxxxxxx> (v1, v2) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446721898-1450-1-git-send-email-mika.kuoppala@xxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 100ceb66d5c40cc0c7018e06a9474302470be73c Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Date: Tue Nov 3 01:46:21 2015 +0100 firewire: ohci: fix JMicron JMB38x IT context discovery Reported by Clifford and Craig for JMicron OHCI-1394 + SDHCI combo controllers: Often or even most of the time, the controller is initialized with the message "added OHCI v1.10 device as card 0, 4 IR + 0 IT contexts, quirks 0x10". With 0 isochronous transmit DMA contexts (IT contexts), applications like audio output are impossible. However, OHCI-1394 demands that at least 4 IT contexts are implemented by the link layer controller, and indeed JMicron JMB38x do implement four of them. Only their IsoXmitIntMask register is unreliable at early access. With my own JMB381 single function controller I found: - I can reproduce the problem with a lower probability than Craig's. - If I put a loop around the section which clears and reads IsoXmitIntMask, then either the first or the second attempt will return the correct initial mask of 0x0000000f. I never encountered a case of needing more than a second attempt. - Consequently, if I put a dummy reg_read(...IsoXmitIntMaskSet) before the first write, the subsequent read will return the correct result. - If I merely ignore a wrong read result and force the known real result, later isochronous transmit DMA usage works just fine. So let's just fix this chip bug up by the latter method. Tested with JMB381 on kernel 3.13 and 4.3. Since OHCI-1394 generally requires 4 IT contexts at a minium, this workaround is simply applied whenever the initial read of IsoXmitIntMask returns 0, regardless whether it's a JMicron chip or not. I never heard of this issue together with any other chip though. I am not 100% sure that this fix works on the OHCI-1394 part of JMB380 and JMB388 combo controllers exactly the same as on the JMB381 single- function controller, but so far I haven't had a chance to let an owner of a combo chip run a patched kernel. Strangely enough, IsoRecvIntMask is always reported correctly, even though it is probed right before IsoXmitIntMask. Reported-by: Clifford Dunn Reported-by: Craig Moore <craig.moore@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> commit 6172180c6b37ea164bf8a9bad70bb348d0a16563 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Wed Sep 23 10:10:31 2015 +0100 drm: Use userspace compatible type in fourcc_mod_code macro __u64 should be used instead of u64. Feature originally added in: commit e3eb3250d84ef97b766312345774367b6a310db8 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Thu Feb 5 14:41:52 2015 +0000 drm: add support for tiled/compressed/etc modifier in addfb2 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx # v4.1+ Fixes: e3eb3250d84e ("drm: add support for tiled/compressed/etc modifier in addfb2") Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1442999431-28568-1-git-send-email-tvrtko.ursulin@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9807216f585fc69a6cad3668414a2936a84444c8 Author: Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> Date: Thu Oct 29 18:54:38 2015 -0700 drm/i915: Skip fence installation for objects with rotated views (v4) While pinning a fb object to the display plane, only install a fence if the object is using a normal view. This corresponds with the behavior found in i915_gem_object_do_pin() where the fencability criteria is determined only for objects with normal views. v2: Look at the object's map_and_fenceable flag to determine whether to install a fence or not (Chris). v3: Pin and unpin a fence only if the current view type is normal. v4: Extend the "view type is normal" check for pin_fence as well. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446170078-20792-1-git-send-email-vivek.kasireddy@xxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 3b2ba7b31d56c3d8f57cd5d32b8fb5101ab446e4 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Nov 5 10:51:37 2015 +0000 Btrfs: fix sleeping inside atomic context in qgroup rescan worker We are holding a btree path with spinning locks and then we attempt to clone an extent buffer, which calls kmem_cache_alloc() and this function can sleep, causing the following trace to be reported on a debug kernel: [107118.218536] BUG: sleeping function called from invalid context at mm/slab.c:2871 [107118.224110] in_atomic(): 1, irqs_disabled(): 0, pid: 19148, name: kworker/u32:3 [107118.226120] INFO: lockdep is turned off. [107118.226843] Preemption disabled at:[<ffffffffa05ffa22>] btrfs_clear_lock_blocking_rw+0x96/0xea [btrfs] [107118.229175] CPU: 3 PID: 19148 Comm: kworker/u32:3 Tainted: G W 4.3.0-rc5-btrfs-next-17+ #1 [107118.231326] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.1-0-g4adadbd-20150316_085822-nilsson.home.kraxel.org 04/01/2014 [107118.233687] Workqueue: btrfs-qgroup-rescan btrfs_qgroup_rescan_helper [btrfs] [107118.236835] 0000000000000000 ffff880424bf3b78 ffffffff812566f4 0000000000000000 [107118.238369] ffff880424bf3ba0 ffffffff81070664 ffffffff817f1cd5 0000000000000b37 [107118.239769] 0000000000000000 ffff880424bf3bc8 ffffffff8107070a 0000000000008850 [107118.241244] Call Trace: [107118.241729] [<ffffffff812566f4>] dump_stack+0x4e/0x79 [107118.242602] [<ffffffff81070664>] ___might_sleep+0x23a/0x241 [107118.243586] [<ffffffff8107070a>] __might_sleep+0x9f/0xa6 [107118.244532] [<ffffffff8115af70>] cache_alloc_debugcheck_before+0x25/0x36 [107118.245939] [<ffffffff8115d52b>] kmem_cache_alloc+0x50/0x215 [107118.246930] [<ffffffffa05e627e>] __alloc_extent_buffer+0x2a/0x11f [btrfs] [107118.248121] [<ffffffffa05ecb1a>] btrfs_clone_extent_buffer+0x3d/0xdd [btrfs] [107118.249451] [<ffffffffa06239ea>] btrfs_qgroup_rescan_worker+0x16d/0x434 [btrfs] [107118.250755] [<ffffffff81087481>] ? arch_local_irq_save+0x9/0xc [107118.251754] [<ffffffffa05f7952>] normal_work_helper+0x14c/0x32a [btrfs] [107118.252899] [<ffffffffa05f7952>] ? normal_work_helper+0x14c/0x32a [btrfs] [107118.254195] [<ffffffffa05f7c82>] btrfs_qgroup_rescan_helper+0x12/0x14 [btrfs] [107118.255436] [<ffffffff81063b23>] process_one_work+0x24a/0x4ac [107118.263690] [<ffffffff81064285>] worker_thread+0x206/0x2c2 [107118.264888] [<ffffffff8106407f>] ? rescuer_thread+0x2cb/0x2cb [107118.267413] [<ffffffff8106904d>] kthread+0xef/0xf7 [107118.268417] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 [107118.269505] [<ffffffff8147d10f>] ret_from_fork+0x3f/0x70 [107118.270491] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 So just use blocking locks for our path to solve this. This fixes the patch titled: "btrfs: qgroup: Don't copy extent buffer to do qgroup rescan" Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit a3eaa8649e4c6a6afdafaa04b9114fb230617bb1 Author: Kai Huang <kai.huang@xxxxxxxxxxxxxxx> Date: Wed Nov 4 13:46:05 2015 +0800 KVM: VMX: Fix commit which broke PML I found PML was broken since below commit: commit feda805fe7c4ed9cf78158e73b1218752e3b4314 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:55 2015 +0800 KVM: VMX: unify SECONDARY_VM_EXEC_CONTROL update Unify the update in vmx_cpuid_update() Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> [Rewrite to use vmcs_set_secondary_exec_control. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> The reason is in above commit vmx_cpuid_update calls vmx_secondary_exec_control, in which currently SECONDARY_EXEC_ENABLE_PML bit is cleared unconditionally (as PML is enabled in creating vcpu). Therefore if vcpu_cpuid_update is called after vcpu is created, PML will be disabled unexpectedly while log-dirty code still thinks PML is used. Fix this by clearing SECONDARY_EXEC_ENABLE_PML in vmx_secondary_exec_control only when PML is not supported or not enabled (!enable_pml). This is more reasonable as PML is currently either always enabled or disabled. With this explicit updating SECONDARY_EXEC_ENABLE_PML in vmx_enable{disable}_pml is not needed so also rename vmx_enable{disable}_pml to vmx_create{destroy}_pml_buffer. Fixes: feda805fe7c4ed9cf78158e73b1218752e3b4314 Signed-off-by: Kai Huang <kai.huang@xxxxxxxxxxxxxxx> [While at it, change a wrong ASSERT to an "if". The condition can happen if creating the VCPU fails with ENOMEM. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 190631f1c8cb7e4d5c27ff87e22ed53817e78759 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Nov 5 10:06:23 2015 +0000 Btrfs: fix race waiting for qgroup rescan worker We were initializing the completion (fs_info->qgroup_rescan_completion) object after releasing the qgroup rescan lock, which gives a small time window for a rescan waiter to not actually wait for the rescan worker to finish. Example: CPU 1 CPU 2 fs_info->qgroup_rescan_completion->done is 0 btrfs_qgroup_rescan_worker() complete_all(&fs_info->qgroup_rescan_completion) sets fs_info->qgroup_rescan_completion->done to UINT_MAX / 2 ... do some other stuff .... qgroup_rescan_init() mutex_lock(&fs_info->qgroup_rescan_lock) set flag BTRFS_QGROUP_STATUS_FLAG_RESCAN in fs_info->qgroup_flags mutex_unlock(&fs_info->qgroup_rescan_lock) btrfs_qgroup_wait_for_completion() mutex_lock(&fs_info->qgroup_rescan_lock) sees flag BTRFS_QGROUP_STATUS_FLAG_RESCAN in fs_info->qgroup_flags mutex_unlock(&fs_info->qgroup_rescan_lock) wait_for_completion_interruptible( &fs_info->qgroup_rescan_completion) fs_info->qgroup_rescan_completion->done is > 0 so it returns immediately init_completion(&fs_info->qgroup_rescan_completion) sets fs_info->qgroup_rescan_completion->done to 0 So fix this by initializing the completion object while holding the mutex fs_info->qgroup_rescan_lock. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 7343dd61fd1b57c40cc06a5b5b5386df7f73c3ac Author: Justin Maggard <jmaggard10@xxxxxxxxx> Date: Wed Nov 4 15:56:16 2015 -0800 btrfs: qgroup: exit the rescan worker during umount I was hitting a consistent NULL pointer dereference during shutdown that showed the trace running through end_workqueue_bio(). I traced it back to the endio_meta_workers workqueue being poked after it had already been destroyed. Eventually I found that the root cause was a qgroup rescan that was still in progress while we were stopping all the btrfs workers. Currently we explicitly pause balance and scrub operations in close_ctree(), but we do nothing to stop the qgroup rescan. We should probably be doing the same for qgroup rescan, but that's a much larger change. This small change is good enough to allow me to unmount without crashing. Signed-off-by: Justin Maggard <jmaggard@xxxxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> commit 9c9464cc92668984ebed79e22b5063877a8d97db Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Nov 4 09:52:04 2015 +0000 Btrfs: fix extent accounting for partial direct IO writes When doing a write using direct IO we can end up not doing the whole write operation using the direct IO path, in that case we fallback to a buffered write to do the remaining IO. This happens for example if the range we are writing to contains a compressed extent. When we do a partial write and fallback to buffered IO, due to the existence of a compressed extent for example, we end up not adjusting the outstanding extents counter of our inode which ends up getting decremented twice, once by the DIO ordered extent for the partial write and once again by btrfs_direct_IO(), resulting in an arithmetic underflow at extent-tree.c:drop_outstanding_extent(). For example if we have: extents [ prealloc extent ] [ compressed extent ] offsets A B C D E and at the moment our inode's outstanding extents counter is 0, if we do a direct IO write against the range [B, D[ (which has a length smaller than 128Mb), we end up bumping our inode's outstanding extents counter to 1, we create a DIO ordered extent for the range [B, C[ and then fallback to a buffered write for the range [C, D[. The direct IO handler (inode.c:btrfs_direct_IO()) decrements the outstanding extents counter by 1, leaving it with a value of 0, through a call to btrfs_delalloc_release_space() and then shortly after the DIO ordered extent finishes and calls btrfs_delalloc_release_metadata() which ends up to attempt to decrement the inode's outstanding extents counter by 1, resulting in an assertion failure at drop_outstanding_extent() because the operation would result in an arithmetic underflow (0 - 1). This produces the following trace: [125471.336838] BTRFS: assertion failed: BTRFS_I(inode)->outstanding_extents >= num_extents, file: fs/btrfs/extent-tree.c, line: 5526 [125471.338844] ------------[ cut here ]------------ [125471.340745] kernel BUG at fs/btrfs/ctree.h:4173! [125471.340745] invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [125471.340745] Modules linked in: btrfs f2fs xfs libcrc32c dm_flakey dm_mod crc32c_generic xor raid6_pq nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc loop fuse parport_pc acpi_cpufreq psmouse i2c_piix4 parport pcspkr serio_raw microcode processor evdev i2c_core button ext4 crc16 jbd2 mbcache sd_mod sg sr_mod cdrom ata_generic virtio_scsi ata_piix virtio_pci virtio_ring floppy libata virtio e1000 scsi_mod [last unloaded: btrfs] [125471.340745] CPU: 10 PID: 23649 Comm: kworker/u32:1 Tainted: G W 4.3.0-rc5-btrfs-next-17+ #1 [125471.340745] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.1-0-g4adadbd-20150316_085822-nilsson.home.kraxel.org 04/01/2014 [125471.340745] Workqueue: btrfs-endio-write btrfs_endio_write_helper [btrfs] [125471.340745] task: ffff8804244fcf80 ti: ffff88040a118000 task.ti: ffff88040a118000 [125471.340745] RIP: 0010:[<ffffffffa0550da1>] [<ffffffffa0550da1>] assfail.constprop.46+0x1e/0x20 [btrfs] [125471.340745] RSP: 0018:ffff88040a11bc78 EFLAGS: 00010296 [125471.340745] RAX: 0000000000000075 RBX: 0000000000005000 RCX: 0000000000000000 [125471.340745] RDX: ffffffff81098f93 RSI: ffffffff8147c619 RDI: 00000000ffffffff [125471.340745] RBP: ffff88040a11bc78 R08: 0000000000000001 R09: 0000000000000000 [125471.340745] R10: ffff88040a11bc08 R11: ffffffff81651000 R12: ffff8803efb4a000 [125471.340745] R13: ffff8803efb4a000 R14: 0000000000000000 R15: ffff8802f8e33c88 [125471.340745] FS: 0000000000000000(0000) GS:ffff88043dd40000(0000) knlGS:0000000000000000 [125471.340745] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [125471.340745] CR2: 00007fae7ca86095 CR3: 0000000001a0b000 CR4: 00000000000006e0 [125471.340745] Stack: [125471.340745] ffff88040a11bc88 ffffffffa04ca0cd ffff88040a11bcc8 ffffffffa04ceeb1 [125471.340745] ffff8802f8e33940 ffff8802c93eadb0 ffff8802f8e0bf50 ffff8803efb4a000 [125471.340745] 0000000000000000 ffff8802f8e33c88 ffff88040a11bd38 ffffffffa04eccfa [125471.340745] Call Trace: [125471.340745] [<ffffffffa04ca0cd>] drop_outstanding_extent+0x3d/0x6d [btrfs] [125471.340745] [<ffffffffa04ceeb1>] btrfs_delalloc_release_metadata+0x51/0xdd [btrfs] [125471.340745] [<ffffffffa04eccfa>] btrfs_finish_ordered_io+0x420/0x4eb [btrfs] [125471.340745] [<ffffffffa04ecdda>] finish_ordered_fn+0x15/0x17 [btrfs] [125471.340745] [<ffffffffa050e6e8>] normal_work_helper+0x14c/0x32a [btrfs] [125471.340745] [<ffffffffa050e9c8>] btrfs_endio_write_helper+0x12/0x14 [btrfs] [125471.340745] [<ffffffff81063b23>] process_one_work+0x24a/0x4ac [125471.340745] [<ffffffff81064285>] worker_thread+0x206/0x2c2 [125471.340745] [<ffffffff8106407f>] ? rescuer_thread+0x2cb/0x2cb [125471.340745] [<ffffffff8106407f>] ? rescuer_thread+0x2cb/0x2cb [125471.340745] [<ffffffff8106904d>] kthread+0xef/0xf7 [125471.340745] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 [125471.340745] [<ffffffff8147d10f>] ret_from_fork+0x3f/0x70 [125471.340745] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 [125471.340745] Code: a5 55 a0 48 89 e5 e8 42 50 bc e0 0f 0b 55 89 f1 48 c7 c2 f0 a8 55 a0 48 89 fe 31 c0 48 c7 c7 14 aa 55 a0 48 89 e5 e8 22 50 bc e0 <0f> 0b 0f 1f 44 00 00 55 31 c9 ba 18 00 00 00 48 89 e5 41 56 41 [125471.340745] RIP [<ffffffffa0550da1>] assfail.constprop.46+0x1e/0x20 [btrfs] [125471.340745] RSP <ffff88040a11bc78> [125471.539620] ---[ end trace 144259f7838b4aa4 ]--- So fix this by ensuring we adjust the outstanding extents counter when we do the fallback just like we do for the case where the whole write can be done through the direct IO path. We were also adjusting the outstanding extents counter by a constant value of 1, which is incorrect because we were ignorning that we account extents in BTRFS_MAX_EXTENT_SIZE units, o fix that as well. The following test case for fstests reproduces 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() { rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # real QA test starts here _need_to_be_root _supported_fs btrfs _supported_os Linux _require_scratch _require_xfs_io_command "falloc" rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount "-o compress" # Create a compressed extent covering the range [700K, 800K[. $XFS_IO_PROG -f -s -c "pwrite -S 0xaa -b 100K 700K 100K" \ $SCRATCH_MNT/foo | _filter_xfs_io # Create prealloc extent covering the range [600K, 700K[. $XFS_IO_PROG -c "falloc 600K 100K" $SCRATCH_MNT/foo # Write 80K of data to the range [640K, 720K[ using direct IO. This # range covers both the prealloc extent and the compressed extent. # Because there's a compressed extent in the range we are writing to, # the DIO write code path ends up only writing the first 60k of data, # which goes to the prealloc extent, and then falls back to buffered IO # for writing the remaining 20K of data - because that remaining data # maps to a file range containing a compressed extent. # When falling back to buffered IO, we used to trigger an assertion when # releasing reserved space due to bad accounting of the inode's # outstanding extents counter, which was set to 1 but we ended up # decrementing it by 1 twice, once through the ordered extent for the # 60K of data we wrote using direct IO, and once through the main direct # IO handler (inode.cbtrfs_direct_IO()) because the direct IO write # wrote less than 80K of data (60K). $XFS_IO_PROG -d -c "pwrite -S 0xbb -b 80K 640K 80K" \ $SCRATCH_MNT/foo | _filter_xfs_io # Now similar test as above but for very large write operations. This # triggers special cases for an inode's outstanding extents accounting, # as internally btrfs logically splits extents into 128Mb units. $XFS_IO_PROG -f -s \ -c "pwrite -S 0xaa -b 128M 258M 128M" \ -c "falloc 0 258M" \ $SCRATCH_MNT/bar | _filter_xfs_io $XFS_IO_PROG -d -c "pwrite -S 0xbb -b 256M 3M 256M" $SCRATCH_MNT/bar \ | _filter_xfs_io # Now verify the file contents are correct and that they are the same # even after unmounting and mounting the fs again (or evicting the page # cache). # # For file foo, all bytes in the range [0, 640K[ must have a value of # 0x00, all bytes in the range [640K, 720K[ must have a value of 0xbb # and all bytes in the range [720K, 800K[ must have a value of 0xaa. # # For file bar, all bytes in the range [0, 3M[ must havea value of 0x00, # all bytes in the range [3M, 259M[ must have a value of 0xbb and all # bytes in the range [259M, 386M[ must have a value of 0xaa. # echo "File digests before remounting the file system:" md5sum $SCRATCH_MNT/foo | _filter_scratch md5sum $SCRATCH_MNT/bar | _filter_scratch _scratch_remount echo "File digests after remounting the file system:" md5sum $SCRATCH_MNT/foo | _filter_scratch md5sum $SCRATCH_MNT/bar | _filter_scratch status=0 exit Fixes: e1cbbfa5f5aa ("Btrfs: fix outstanding_extents accounting in DIO") Fixes: 3e05bde8c3c2 ("Btrfs: only adjust outstanding_extents when we do a short write") Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 86e88f0e7068e37d9774eb9d93515c44ffa74006 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Tue Nov 3 16:57:58 2015 -0800 HID: wacom: Call 'wacom_query_tablet_data' only after 'hid_hw_start' When connecting the Cintiq Companion 2 as an external tablet (i.e., using it in "hybrid" mode) it has been seen to cause the kernel of the machine it is connected to to Oops. The cause has been traced to us attempting to switch the tablet's mode prior to actually starting HID device (resulting in the eventual dereference of the uninitialized control URB). Commit 3b164a0 moved the mode switch from occuring post-start to occurring pre-start. The change was not seen to cause issues largely due to the fact that most devices mode switch with 'hid_hw_raw_request' (which is safe to call prior to start) rather than 'hid_hw_request'. Moving the call back to its original location resolves the issue, but causes some touch-only Bamboo tablets (e.g. 056a:00d0) to stop working. The affected tablets require us to perform a mode switch on their vestigial pen interface prior ignoring with -ENODEV, meaning that the code which is responsible for doing the ignoring has to move as well. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1b4a5ddb127caf125e14551ebd334be1acf21805 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Oct 6 15:12:05 2015 +0100 MIPS: CDMM: Add builtin_mips_cdmm_driver() macro Add helper macro builtin_mips_cdmm_driver() for builtin CDMM drivers that don't do anything special in init and have no exit. The module_mips_cdmm_driver() helper isn't really appropriate for drivers that can't be built as a module. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 4.2.x- Patchwork: http://patchwork.linux-mips.org/patch/11264/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5cf92c8b3dc5da59e05dc81bdc069cedf6f38313 Author: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Date: Wed Nov 4 15:56:09 2015 -0800 ALSA: hda - Add Intel Lewisburg device IDs Audio Adding Intel codename Lewisburg platform device IDs for audio. [rearranged the position by tiwai] Signed-off-by: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8bdf2023e238ce2262d0cf1aca78785dc46e15db Merge: 3b0e21e 39e69f5 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Nov 5 19:35:12 2015 +1100 Merge branch 'next' of git://git.denx.de/linux-denx-agust into next MPC5xxx updates from Anatolij: "Highlights include a driver for MPC512x LocalPlus Bus FIFO with its device tree binding documentation, mpc512x device tree updates and some minor fixes." commit 8e483ed1342a4ea45b70f0f33ac54eff7a33d918 Merge: e880e874 e2d8680 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 22:15:15 2015 -0800 Merge tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver updates from Greg KH: "Here is the big char/misc driver update for 4.4-rc1. Lots of different driver and subsystem updates, hwtracing being the largest with the addition of some new platforms that are now supported. Full details in the shortlog. All of these have been in linux-next for a long time with no reported issues" * tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (181 commits) fpga: socfpga: Fix check of return value of devm_request_irq lkdtm: fix ACCESS_USERSPACE test mcb: Destroy IDA on module unload mcb: Do not return zero on error path in mcb_pci_probe() mei: bus: set the device name before running fixup mei: bus: use correct lock ordering mei: Fix debugfs filename in error output char: ipmi: ipmi_ssif: Replace timeval with timespec64 fpga: zynq-fpga: Fix issue with drvdata being overwritten. fpga manager: remove unnecessary null pointer checks fpga manager: ensure lifetime with of_fpga_mgr_get fpga: zynq-fpga: Change fw format to handle bin instead of bit. fpga: zynq-fpga: Fix unbalanced clock handling misc: sram: partition base address belongs to __iomem space coresight: etm3x: adding documentation for sysFS's cpu interface vme: 8-bit status/id takes 256 values, not 255 fpga manager: Adding FPGA Manager support for Xilinx Zynq 7000 ARM: zynq: dt: Updated devicetree for Zynq 7000 platform. ARM: dt: fpga: Added binding docs for Xilinx Zynq FPGA manager. ver_linux: proc/modules, limit text processing to 'sed' ... commit e880e87488d5bbf630dd716e6de8a53585614568 Merge: 118c216 c23fe83 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:50:37 2015 -0800 Merge tag 'driver-core-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core updates from Greg KH: "Here's the "big" driver core updates for 4.4-rc1. Primarily a bunch of debugfs updates, with a smattering of minor driver core fixes and updates as well. All have been in linux-next for a long time" * tag 'driver-core-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: debugfs: Add debugfs_create_ulong() of: to support binding numa node to specified device in devicetree debugfs: Add read-only/write-only bool file ops debugfs: Add read-only/write-only size_t file ops debugfs: Add read-only/write-only x64 file ops debugfs: Consolidate file mode checks in debugfs_create_*() Revert "mm: Check if section present during memory block (un)registering" driver-core: platform: Provide helpers for multi-driver modules mm: Check if section present during memory block (un)registering devres: fix a for loop bounds check CMA: fix CONFIG_CMA_SIZE_MBYTES overflow in 64bit base/platform: assert that dev_pm_domain callbacks are called unconditionally sysfs: correctly handle short reads on PREALLOC attrs. base: soc: siplify ida usage kobject: move EXPORT_SYMBOL() macros next to corresponding definitions kobject: explain what kobject's sd field is debugfs: document that debugfs_remove*() accepts NULL and error values debugfs: Pass bool pointer to debugfs_create_bool() ACPI / EC: Fix broken 64bit big-endian users of 'global_lock' commit 118c216e16c5ccb028cd03a0dcd56d17a07ff8d7 Merge: fd0d351 e3cc313 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:40:53 2015 -0800 Merge tag 'staging-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver updates from Greg KH: "Here's the big staging driver update for 4.4-rc1. If you were disappointed for 4.3-rc1 that we didn't contribute enough changesets, you should be happy with this pull request of over 2400 patches. But overall we removed more lines of code than we added, which is nice to see. Full details in the shortlog. All of these have been in linux-next for a while" Greg, I've never been disappointed in how few commits Staging contributes to the kernel.. Never. * tag 'staging-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (2431 commits) Staging: rtl8192u: ieee80211: added missing blank lines Staging: rtl8192u: ieee80211: removed unnecessary braces Staging: rtl8192u: ieee80211: corrected block comments Staging: rtl8192u: ieee80211: corrected indent Staging: rtl8192u: ieee80211: added missing spaces after if Staging: rtl8192u: ieee80211: added missing space around '=' Staging: rtl8192u: ieee80211: fixed position of else statements Staging: rtl8192u: ieee80211: fixed open brace positions staging: rdma: ipath: Remove unneeded vairable. staging: rtl8188eu: pwrGrpCnt variable removed in store_pwrindex_offset function staging: rtl8188eu: new variable for hal_data->MCSTxPowerLevelOriginalOffset[pwrGrpCnt] in store_pwrindex_offset function staging: rtl8188eu: checkpatch fixes: 'Avoid CamelCase' in hal/bb_cfg.c staging: rtl8188eu: checkpatch fixes: line over 80 characters splited into two parts staging: rtl8188eu: checkpatch fixes: alignment should match open parenthesis staging: rtl8188eu: checkpatch fixes: unnecessary parentheses removed in hal/bb_cfg.c staging: rtl8188eu: checkpatch fixes: spaces preferred around that '|' in hal/bb_cfg.c staging: rtl8188eu: operator = replaced by += in loop increment staging: rtl8188eu: occurrence of the 5 GHz code marked staging: rtl8188eu: increment placed into for loop header staging: rtl8188eu: while loop replaced by for loop in rtw_restruct_wmm_ie ... commit fd0d351de7bbd718bc2b34d5846854831aa2b88c Merge: 3d6f478 e052c6d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:35:12 2015 -0800 Merge tag 'tty-4.4-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 and serial driver update for 4.4-rc1. Lots of serial driver updates and a few small tty core changes. Full details in the shortlog. All of these have been in linux-next for a while" * tag 'tty-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (148 commits) tty: Use unbound workqueue for all input workers tty: Abstract tty buffer work tty: Prevent tty teardown during tty_write_message() tty: core: Use correct spinlock flavor in tiocspgrp() tty: Combine SIGTTOU/SIGTTIN handling serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty() ttyFDC: Fix build problems due to use of module_{init,exit} tty: remove unneeded return statement serial: 8250_mid: add support for DMA engine handling from UART MMIO dmaengine: hsu: remove platform data dmaengine: hsu: introduce stubs for the exported functions dmaengine: hsu: make the UART driver in control of selecting this driver serial: fix mctrl helper functions serial: 8250_pci: Intel MID UART support to its own driver serial: fsl_lpuart: add earlycon support tty: disable unbind for old 74xx based serial/mpsc console port serial: pl011: Spelling s/clocks-names/clock-names/ n_tty: Remove reader wakeups for TTY_BREAK/TTY_PARITY chars tty: synclink, fix indentation serial: at91, fix rs485 properties ... commit 3d6f47801c34e42da26e2b6b29706f0bfe423978 Merge: e0700ce 0bbc367 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:26:27 2015 -0800 Merge tag 'usb-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB updates from Greg KH: "Here is the big USB patchset for 4.4-rc1. As usual, most of the changes are in the gadget subsystem, and we removed a host controller for a device that is no longer in existance, and probably never was even made public. There is also other minor driver updates and new device ids, full details in the changelog. All of these have been in linux-next for a while" * tag 'usb-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (233 commits) USB: core: Codestyle fix in urb.c usb: misc: usb3503: Use i2c_add_driver helper macro usb: host: lpc32xx: don't unregister phy device usb: host: lpc32xx: balance clk enable/disable on removal usb: host: lpc32xx: fix warnings caused by enabling unprepared clock uwb: drp: Use setup_timer uwb: neh: Use setup_timer uwb: rsv: Use setup_timer USB: qcserial: add Sierra Wireless MC74xx/EM74xx usb: chipidea: otg: don't wait vbus drops below BSV when starts host chipidea: ci_hdrc_pci: use PCI_VDEVICE() instead of PCI_DEVICE() doc: dt-binding: ci-hdrc-usb2: split vendor specific properties usb: chipidea: imx: add imx6ul usb support doc: dt-binding: ci-hdrc-usb2: improve property description usb: chipidea: imx: add usb support for imx7d Doc: usb: ci-hdrc-usb2: Add phy-clkgate-delay-us entry usb: chipidea: Add support for 'phy-clkgate-delay-us' property usb: chipidea: Use extcon framework for VBUS and ID detect usb: gadget: net2280: restore ep_cfg after defect7374 workaround usb: dwc2: host: Fix use after free w/ simultaneous irqs ... commit e0700ce70921fbe3d1913968c663beb9df2b01a9 Merge: ac322de aad9ae4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:19:53 2015 -0800 Merge tag 'dm-4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper updates from Mike Snitzer: "Smaller set of DM changes for this merge. I've based these changes on Jens' for-4.4/reservations branch because the associated DM changes required it. - Revert a dm-multipath change that caused a regression for unprivledged users (e.g. kvm guests) that issued ioctls when a multipath device had no available paths. - Include Christoph's refactoring of DM's ioctl handling and add support for passing through persistent reservations with DM multipath. - All other changes are very simple cleanups" * tag 'dm-4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm switch: simplify conditional in alloc_region_table() dm delay: document that offsets are specified in sectors dm delay: capitalize the start of an delay_ctr() error message dm delay: Use DM_MAPIO macros instead of open-coded equivalents dm linear: remove redundant target name from error messages dm persistent data: eliminate unnecessary return values dm: eliminate unused "bioset" process for each bio-based DM device dm: convert ffs to __ffs dm: drop NULL test before kmem_cache_destroy() and mempool_destroy() dm: add support for passing through persistent reservations dm: refactor ioctl handling Revert "dm mpath: fix stalls when handling invalid ioctls" dm: initialize non-blk-mq queue data before queue is used commit ac322de6bf5416cb145b58599297b8be73cd86ac Merge: ccf21b6 339421d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:12:47 2015 -0800 Merge tag 'md/4.4' of git://neil.brown.name/md Pull md updates from Neil Brown: "Two major components to this update. 1) The clustered-raid1 support from SUSE is nearly complete. There are a few outstanding issues being worked on. Maybe half a dozen patches will bring this to a usable state. 2) The first stage of journalled-raid5 support from Facebook makes an appearance. With a journal device configured (typically NVRAM or SSD), the "RAID5 write hole" should be closed - a crash during degraded operations cannot result in data corruption. The next stage will be to use the journal as a write-behind cache so that latency can be reduced and in some cases throughput increased by performing more full-stripe writes. * tag 'md/4.4' of git://neil.brown.name/md: (66 commits) MD: when RAID journal is missing/faulty, block RESTART_ARRAY_RW MD: set journal disk ->raid_disk MD: kick out journal disk if it's not fresh raid5-cache: start raid5 readonly if journal is missing MD: add new bit to indicate raid array with journal raid5-cache: IO error handling raid5: journal disk can't be removed raid5-cache: add trim support for log MD: fix info output for journal disk raid5-cache: use bio chaining raid5-cache: small log->seq cleanup raid5-cache: new helper: r5_reserve_log_entry raid5-cache: inline r5l_alloc_io_unit into r5l_new_meta raid5-cache: take rdev->data_offset into account early on raid5-cache: refactor bio allocation raid5-cache: clean up r5l_get_meta raid5-cache: simplify state machine when caches flushes are not needed raid5-cache: factor out a helper to run all stripes for an I/O unit raid5-cache: rename flushed_ios to finished_ios raid5-cache: free I/O units earlier ... commit d4e4bc16102cb1338be9c75f797156718f8a806d Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Wed Nov 4 11:36:37 2015 -0800 bpf: add mod default A and X test cases When running "mod X" operation, if X is 0 the filter has to be halt. Add new test cases to cover A = A mod X if X is 0, and A = A mod 1. CC: Xi Wang <xi.wang@xxxxxxxxx> CC: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Acked-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Xi Wang <xi.wang@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccf21b69a83afaee4d5499e0d03eacf23946e08c Merge: 527d152 73fcf4e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:01:27 2015 -0800 Merge branch 'for-4.4/reservations' of git://git.kernel.dk/linux-block Pull block reservation support from Jens Axboe: "This adds support for persistent reservations, both at the core level, as well as for sd and NVMe" [ Background from the docs: "Persistent Reservations allow restricting access to block devices to specific initiators in a shared storage setup. All implementations are expected to ensure the reservations survive a power loss and cover all connections in a multi path environment" ] * 'for-4.4/reservations' of git://git.kernel.dk/linux-block: NVMe: Precedence error in nvme_pr_clear() nvme: add missing endianess annotations in nvme_pr_command NVMe: Add persistent reservation ops sd: implement the Persistent Reservation API block: add an API for Persistent Reservations block: cleanup blkdev_ioctl commit df761ea1f39fe1c020c31327656bce7a5a406201 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Nov 4 16:00:32 2015 +0100 bnxt_en: add VXLAN dependency VXLAN may be a loadable module, and this driver cannot be built-in in that case, or we get a link error: drivers/built-in.o: In function `__bnxt_open_nic': drivers/net/ethernet/broadcom/bnxt/bnxt.c:4581: undefined reference to `vxlan_get_rx_port' This adds a Kconfig dependency that ensures that either VXLAN is disabled (which the driver handles correctly), or we depend on VXLAN itself and disallow built-in compilation when VXLAN is a module. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.") Acked-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f25348b65cd073f77945f559ab1e5de83422cd1 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Nov 4 14:59:06 2015 +0100 net: add forgotten IFF_L3MDEV_SLAVE define Fixes: fee6d4c77 ("net: Add netif_is_l3_slave") Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 527d1529e38b36fd22e65711b653ab773179d9e8 Merge: effa04c 4125a09 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 20:51:48 2015 -0800 Merge branch 'for-4.4/integrity' of git://git.kernel.dk/linux-block Pull block integrity updates from Jens Axboe: ""This is the joint work of Dan and Martin, cleaning up and improving the support for block data integrity" * 'for-4.4/integrity' of git://git.kernel.dk/linux-block: block, libnvdimm, nvme: provide a built-in blk_integrity nop profile block: blk_flush_integrity() for bio-based drivers block: move blk_integrity to request_queue block: generic request_queue reference counting nvme: suspend i/o during runtime blk_integrity_unregister md: suspend i/o during runtime blk_integrity_unregister md, dm, scsi, nvme, libnvdimm: drop blk_integrity_unregister() at shutdown block: Inline blk_integrity in struct gendisk block: Export integrity data interval size in sysfs block: Reduce the size of struct blk_integrity block: Consolidate static integrity profile properties block: Move integrity kobject to struct gendisk commit 2a189f9e57650e9f310ddf4aad75d66c1233a064 Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Wed Nov 4 14:47:53 2015 +0100 ipv6: clean up dev_snmp6 proc entry when we fail to initialize inet6_dev In ipv6_add_dev, when addrconf_sysctl_register fails, we do not clean up the dev_snmp6 entry that we have already registered for this device. Call snmp6_unregister_dev in this case. Fixes: a317a2f19da7d ("ipv6: fail early when creating netdev named all or default") Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit effa04cc5a31b3f12cda6025ab93460f1f0e454e Merge: a9aa31c 5f436e5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 20:46:08 2015 -0800 Merge branch 'for-4.4/lightnvm' of git://git.kernel.dk/linux-block Pull lightnvm support from Jens Axboe: "This adds support for lightnvm, and adds support to NVMe as well. This is pretty exciting, in that it enables new and interesting use cases for compatible flash devices. There's a LWN writeup about an earlier posting here: https://lwn.net/Articles/641247/ This has been underway for a while, and should be ready for merging at this point" * 'for-4.4/lightnvm' of git://git.kernel.dk/linux-block: nvme: lightnvm: clean up a data type lightnvm: refactor phys addrs type to u64 nvme: LightNVM support rrpc: Round-robin sector target with cost-based gc gennvm: Generic NVM manager lightnvm: Support for Open-Channel SSDs commit a9aa31cdc2a7be4a70b0ea24a451dfeb00ce0024 Merge: d9734e0 b3975e9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 20:37:27 2015 -0800 Merge branch 'for-4.4/drivers' of git://git.kernel.dk/linux-block Pull block driver updates from Jens Axboe: "Here are the block driver changes for 4.4. This pull request contains: - NVMe: - Refactor and moving of code to prepare for proper target support. From Christoph and Jay. - 32-bit nvme warning fix from Arnd. - Error initialization fix from me. - Proper namespace removal and reference counting support from Keith. - Device resume fix on IO failure, also from Keith. - Dependency fix from Keith, now that nvme isn't under the umbrella of the block anymore. - Target location and maintainers update from Jay. - From Ming Lei, the long awaited DIO/AIO support for loop. - Enable BD-RE writeable opens, from Georgios" * 'for-4.4/drivers' of git://git.kernel.dk/linux-block: (24 commits) Update target repo for nvme patch contributions NVMe: initialize error to '0' nvme: use an integer value to Linux errno values nvme: fix 32-bit build warning NVMe: Add explicit block config dependency nvme: include <linux/types.Ä¥> in <linux/nvme.h> nvme: move to a new drivers/nvme/host directory nvme.h: add missing nvme_id_ctrl endianess annotations nvme: move hardware structures out of the uapi version of nvme.h nvme: add a local nvme.h header nvme: properly handle partially initialized queues in nvme_create_io_queues nvme: merge nvme_dev_start, nvme_dev_resume and nvme_async_probe nvme: factor reset code into a common helper nvme: merge nvme_dev_reset into nvme_reset_failed_dev nvme: delete dev from dev_list in nvme_reset NVMe: Simplify device resume on io queue failure NVMe: Namespace removal simplifications NVMe: Reference count open namespaces cdrom: Random writing support for BD-RE media block: loop: support DIO & AIO ... commit d9734e0d1ccf87e828ad172c58a96dff97cfc0ba Merge: 0d51ce9 2404e60 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 20:28:10 2015 -0800 Merge branch 'for-4.4/core' of git://git.kernel.dk/linux-block Pull core block updates from Jens Axboe: "This is the core block pull request for 4.4. I've got a few more topic branches this time around, some of them will layer on top of the core+drivers changes and will come in a separate round. So not a huge chunk of changes in this round. This pull request contains: - Enable blk-mq page allocation tracking with kmemleak, from Catalin. - Unused prototype removal in blk-mq from Christoph. - Cleanup of the q->blk_trace exchange, using cmpxchg instead of two xchg()'s, from Davidlohr. - A plug flush fix from Jeff. - Also from Jeff, a fix that means we don't have to update shared tag sets at init time unless we do a state change. This cuts down boot times on thousands of devices a lot with scsi/blk-mq. - blk-mq waitqueue barrier fix from Kosuke. - Various fixes from Ming: - Fixes for segment merging and splitting, and checks, for the old core and blk-mq. - Potential blk-mq speedup by marking ctx pending at the end of a plug insertion batch in blk-mq. - direct-io no page dirty on kernel direct reads. - A WRITE_SYNC fix for mpage from Roman" * 'for-4.4/core' of git://git.kernel.dk/linux-block: blk-mq: avoid excessive boot delays with large lun counts blktrace: re-write setting q->blk_trace blk-mq: mark ctx as pending at batch in flush plug path blk-mq: fix for trace_block_plug() block: check bio_mergeable() early before merging blk-mq: check bio_mergeable() early before merging block: avoid to merge splitted bio block: setup bi_phys_segments after splitting block: fix plug list flushing for nomerge queues blk-mq: remove unused blk_mq_clone_flush_request prototype blk-mq: fix waitqueue_active without memory barrier in block/blk-mq-tag.c fs: direct-io: don't dirtying pages for ITER_BVEC/ITER_KVEC direct read fs/mpage.c: forgotten WRITE_SYNC in case of data integrity write block: kmemleak: Track the page allocations for struct request commit d227c3ae4e94e5eb11dd780a811f59e1a7b74ccd Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 4 23:33:17 2015 +0100 tracefs: Fix refcount imbalance in start_creating() In tracefs' start_creating(), we pin the file system to safely access its root. When we failed to create a file, we unpin the file system via failed_creating() to release the mount count and eventually the reference of the singleton vfsmount. However, when we run into an error during lookup_one_len() when still in start_creating(), we only release the parent's mutex but not so the reference on the mount. F.e., in securityfs_create_file(), after doing simple_pin_fs() when lookup_one_len() fails there, we infact do simple_release_fs(). This seems necessary here as well. Same issue seen in debugfs due to 190afd81e4a5 ("debugfs: split the beginning and the end of __create_file() off"), which seemed to got carried over into tracefs, too. Noticed during code review. Link: http://lkml.kernel.org/r/68efa86101b778cf7517ed7c6ad573bd69f60ec6.1446672850.git.daniel@xxxxxxxxxxxxx Fixes: 4282d60689d4 ("tracefs: Add new tracefs file system") Cc: stable@xxxxxxxxxxxxxxx # 4.1+ Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 87aec47d173ca730d014b6b0246ca6be18b0ce94 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:29:11 2015 +0300 qlogic: qed: fix a test for MODE_MF_SI MODE_MF_SI is 9. We should be testing bit 9 instead of AND 0x9. Fixes: fe56b9e6a8d9 ('qed: Add module with basic common support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c169c28f40bd78b772c4d95306735c00f8db80d Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:27:16 2015 +0300 qlogic/qed: remove bogus NULL check We check if "p_hwfn" is NULL and then dereference it in the error handling code. I read the code and it isn't NULL so let's remove the check. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40624183c202278e7e0edd01d1273efc87ddd1f2 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Nov 2 14:39:17 2015 +0200 Bluetooth: L2CAP: Add missing checks for invalid LE DCID When receiving a connect response we should make sure that the DCID is within the valid range and that we don't already have another channel allocated for the same DCID. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ab0c127fbb21c19adb34b78ba26b84748d0cd4de Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Nov 2 14:39:16 2015 +0200 Bluetooth: L2CAP: Fix checked range when allocating new CID The 'dyn_end' value is also a valid CID so it should be included in the range of values checked. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8a7889cc6e2dbbace114130f4efd9b77452069cd Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Nov 2 14:39:15 2015 +0200 Bluetooth: L2CAP: Fix returning correct LE CoC response codes The core spec defines specific response codes for situations when the received CID is incorrect. Add the defines for these and return them as appropriate from the LE Connect Request handler function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2ab216a7a9ca89d77388ad3f22a31f752dec5897 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Nov 1 09:39:48 2015 +0100 Bluetooth: Check for supported white list before issuing commands The white list commands might not be implemented if the controller does not actually support the white list. So check the supported commands first before issuing these commands. Not supporting the white list is the same as supporting a white list with zero size. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f6fc86f2c572ff1d192e8b5d5bf339ba06ebe3e4 Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Wed Oct 28 15:18:05 2015 +0100 Bluetooth: Fix possible deadlock in btusb commit 8f9d02f470f48416444ac3a1eacecdd0f743f1a7 introduced spinlocks in btusb_work. This is run in a context of a worqueue and can be interrupted by hardware irq. If it happens while spinlock is held, we have a deadlock. Solution is to use _irqsave/_resore version of locking [ 466.460560] ================================= [ 466.460565] [ INFO: inconsistent lock state ] [ 466.460572] 4.3.0-rc6+ #1 Tainted: G W [ 466.460576] --------------------------------- [ 466.460582] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage. [ 466.460589] kworker/0:2/94 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 466.460595] (&(&data->rxlock)->rlock){?.-...}, at: [<ffffffffa0526923>] btusb_work+0xa3/0x3fd [btusb] [ 466.460621] {IN-HARDIRQ-W} state was registered at: [ 466.460625] [<ffffffff811021b5>] __lock_acquire+0xc45/0x1e80 [ 466.460638] [<ffffffff811040d5>] lock_acquire+0xe5/0x1f0 [ 466.460646] [<ffffffff8182f108>] _raw_spin_lock+0x38/0x50 [ 466.460657] [<ffffffffa0525448>] btusb_recv_intr+0x38/0x170 [btusb] [ 466.460668] [<ffffffffa0525626>] btusb_intr_complete+0xa6/0x130 [btusb] [ 466.460679] [<ffffffff815d8f1e>] __usb_hcd_giveback_urb+0x8e/0x160 [ 466.460690] [<ffffffff815d911f>] usb_hcd_giveback_urb+0x3f/0x120 [ 466.460698] [<ffffffff81606e4d>] uhci_giveback_urb+0xad/0x280 [ 466.460706] [<ffffffff81608f64>] uhci_scan_schedule.part.33+0x6b4/0xbe0 [ 466.460714] [<ffffffff81609b50>] uhci_irq+0xd0/0x180 [ 466.460722] [<ffffffff815d8296>] usb_hcd_irq+0x26/0x40 [ 466.460729] [<ffffffff81117d40>] handle_irq_event_percpu+0x40/0x300 [ 466.460739] [<ffffffff81118040>] handle_irq_event+0x40/0x60 [ 466.460746] [<ffffffff8111af39>] handle_fasteoi_irq+0x89/0x150 [ 466.460754] [<ffffffff8101e0f3>] handle_irq+0x73/0x120 [ 466.460763] [<ffffffff81832f11>] do_IRQ+0x61/0x120 [ 466.460772] [<ffffffff8183084c>] ret_from_intr+0x0/0x31 [ 466.460780] [<ffffffff81697a77>] cpuidle_enter+0x17/0x20 [ 466.460790] [<ffffffff810f62c2>] call_cpuidle+0x32/0x60 [ 466.460800] [<ffffffff810f65a8>] cpu_startup_entry+0x2b8/0x3f0 [ 466.460807] [<ffffffff818214ca>] rest_init+0x13a/0x140 [ 466.460817] [<ffffffff81f76029>] start_kernel+0x4a3/0x4c4 [ 466.460827] [<ffffffff81f75339>] x86_64_start_reservations+0x2a/0x2c [ 466.460837] [<ffffffff81f75485>] x86_64_start_kernel+0x14a/0x16d [ 466.460846] irq event stamp: 754913 [ 466.460851] hardirqs last enabled at (754913): [<ffffffff8182f4cc>] _raw_spin_unlock_irq+0x2c/0x40 [ 466.460861] hardirqs last disabled at (754912): [<ffffffff8182f28d>] _raw_spin_lock_irq+0x1d/0x60 [ 466.460869] softirqs last enabled at (753024): [<ffffffff810aeaa0>] __do_softirq+0x380/0x490 [ 466.460880] softirqs last disabled at (753009): [<ffffffff810aedef>] irq_exit+0x10f/0x120 [ 466.460888] other info that might help us debug this: [ 466.460894] Possible unsafe locking scenario: [ 466.460899] CPU0 [ 466.460903] ---- [ 466.460907] lock(&(&data->rxlock)->rlock); [ 466.460915] <Interrupt> [ 466.460918] lock(&(&data->rxlock)->rlock); [ 466.460926] *** DEADLOCK *** [ 466.460935] 2 locks held by kworker/0:2/94: [ 466.460939] #0: ("events"){.+.+.+}, at: [<ffffffff810c69bb>] process_one_work+0x16b/0x660 [ 466.460958] #1: ((&data->work)){+.+...}, at: [<ffffffff810c69bb>] process_one_work+0x16b/0x660 [ 466.460974] Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7362945aea72fccc9df4f4e7643c971e0a8c33dc Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 4 12:58:42 2015 +0000 VSOCK: call sk->sk_data_ready() on accept() When a listen socket enqueues a connection for userspace to accept(), the sk->sk_data_ready() callback should be invoked. In-kernel socket users rely on this callback to detect when incoming connections are available. Currently the sk->sk_state_change() callback is invoked by vmci_transport.c. This happens to work for userspace applications since sk->sk_state_change = sock_def_wakeup() and sk->sk_data_ready = sock_def_readable() both wake up the accept() waiter. In-kernel socket users, on the other hand, fail to detect incoming connections. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f63ce5b6fa5e9a0faf7a0e1ef2993a502878c78a Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Nov 4 13:49:49 2015 +0100 tun_dst: Fix potential NULL dereference In tun_dst_unclone() the return value of skb_metadata_dst() is checked for being NULL after it is dereferenced. Fix this by moving the dereference after the NULL check. Found by the Coverity scanner (CID 1338068). Fixes: fc4099f17240 ("openvswitch: Fix egress tunnel info.") Cc: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7868a85e1b26bcb2e71088841eec1d310a97ac9 Author: Jarod Wilson <jarod@xxxxxxxxxx> Date: Tue Nov 3 23:09:32 2015 -0500 net/core: ensure features get disabled on new lower devs With moving netdev_sync_lower_features() after the .ndo_set_features calls, I neglected to verify that devices added *after* a flag had been disabled on an upper device were properly added with that flag disabled as well. This currently happens, because we exit __netdev_update_features() when we see dev->features == features for the upper dev. We can retain the optimization of leaving without calling .ndo_set_features with a bit of tweaking and a goto here. Fixes: fd867d51f889 ("net/core: generic support for disabling netdev features down stack") CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Eric Dumazet <edumazet@xxxxxxxxxx> CC: Jay Vosburgh <j.vosburgh@xxxxxxxxx> CC: Veaceslav Falico <vfalico@xxxxxxxxx> CC: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> CC: Jiri Pirko <jiri@xxxxxxxxxxx> CC: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx> CC: Michal Kubecek <mkubecek@xxxxxxx> CC: Alexander Duyck <alexander.duyck@xxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx Reported-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1b8d903c6c3862160d2d5036806a94786c8fc4e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 15:59:28 2015 -0800 net: Fix prefsrc lookups A bug report (https://bugzilla.kernel.org/show_bug.cgi?id=107071) noted that the follwoing ip command is failing with v4.3: $ ip route add 10.248.5.0/24 dev bond0.250 table vlan_250 src 10.248.5.154 RTNETLINK answers: Invalid argument 021dd3b8a142d changed the lookup of the given preferred source address to use the table id passed in, but this assumes the local entries are in the given table which is not necessarily true for non-VRF use cases. When validating the preferred source fallback to the local table on failure. Fixes: 021dd3b8a142d ("net: Add routes to the table associated with the device") Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87e9f0315952b0dd8b5e51ba04beda03efc009d9 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Nov 3 15:41:16 2015 -0800 ipv4: fix a potential deadlock in mcast getsockopt() path Sasha reported the following lockdep warning: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(sk_lock-AF_INET); lock(rtnl_mutex); lock(sk_lock-AF_INET); lock(rtnl_mutex); This is due to that for IP_MSFILTER and MCAST_MSFILTER, we take rtnl lock before the socket lock in setsockopt() path, but take the socket lock before rtnl lock in getsockopt() path. All the rest optnames are setsockopt()-only. Fix this by aligning the getsockopt() path with the setsockopt() path, so that all mcast socket path would be locked in the same order. Note, IPv6 part is different where rtnl lock is not held. Fixes: 54ff9ef36bdf ("ipv4, ipv6: kill ip_mc_{join, leave}_group and ipv6_sock_mc_{join, drop}") Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ee3bd4a8c7463cdef0b82ebc33fc94a9170a7e0 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Nov 3 14:32:57 2015 -0800 ipv4: disable BH when changing ip local port range This fixes the following lockdep warning: [ INFO: inconsistent lock state ] 4.3.0-rc7+ #1197 Not tainted --------------------------------- inconsistent {IN-SOFTIRQ-R} -> {SOFTIRQ-ON-W} usage. sysctl/1019 [HC0[0]:SC0[0]:HE1:SE1] takes: (&(&net->ipv4.ip_local_ports.lock)->seqcount){+.+-..}, at: [<ffffffff81921de7>] ipv4_local_port_range+0xb4/0x12a {IN-SOFTIRQ-R} state was registered at: [<ffffffff810bd682>] __lock_acquire+0x2f6/0xdf0 [<ffffffff810be6d5>] lock_acquire+0x11c/0x1a4 [<ffffffff818e599c>] inet_get_local_port_range+0x4e/0xae [<ffffffff8166e8e3>] udp_flow_src_port.constprop.40+0x23/0x116 [<ffffffff81671cb9>] vxlan_xmit_one+0x219/0xa6a [<ffffffff81672f75>] vxlan_xmit+0xa6b/0xaa5 [<ffffffff817f2deb>] dev_hard_start_xmit+0x2ae/0x465 [<ffffffff817f35ed>] __dev_queue_xmit+0x531/0x633 [<ffffffff817f3702>] dev_queue_xmit_sk+0x13/0x15 [<ffffffff818004a5>] neigh_resolve_output+0x12f/0x14d [<ffffffff81959cfa>] ip6_finish_output2+0x344/0x39f [<ffffffff8195bf58>] ip6_finish_output+0x88/0x8e [<ffffffff8195bfef>] ip6_output+0x91/0xe5 [<ffffffff819792ae>] dst_output_sk+0x47/0x4c [<ffffffff81979392>] NF_HOOK_THRESH.constprop.30+0x38/0x82 [<ffffffff8197981e>] mld_sendpack+0x189/0x266 [<ffffffff8197b28b>] mld_ifc_timer_expire+0x1ef/0x223 [<ffffffff810de581>] call_timer_fn+0xfb/0x28c [<ffffffff810ded1e>] run_timer_softirq+0x1c7/0x1f1 Fixes: b8f1a55639e6 ("udp: Add function to make source port for UDP tunnels") Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d51ce9ca1116e8f4dc87cb51db8dd250327e9bb Merge: 41ecf14 1ab6846 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 18:10:13 2015 -0800 Merge tag 'pm+acpi-4.4-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI updates from Rafael Wysocki: "Quite a new features are included this time. First off, the Collaborative Processor Performance Control interface (version 2) defined by ACPI will now be supported on ARM64 along with a cpufreq frontend for CPU performance scaling. Second, ACPI gets a new infrastructure for the early probing of IRQ chips and clock sources (along the lines of the existing similar mechanism for DT). Next, the ACPI core and the generic device properties API will now support a recently introduced hierarchical properties extension of the _DSD (Device Specific Data) ACPI device configuration object. If the ACPI platform firmware uses that extension to organize device properties in a hierarchical way, the kernel will automatically handle it and make those properties available to device drivers via the generic device properties API. It also will be possible to build the ACPICA's AML interpreter debugger into the kernel now and use that to diagnose AML-related problems more efficiently. In the future, this should make it possible to single-step AML execution and do similar things. Interesting stuff, although somewhat experimental at this point. Finally, the PM core gets a new mechanism that can be used by device drivers to distinguish between suspend-to-RAM (based on platform firmware support) and suspend-to-idle (or other variants of system suspend the platform firmware is not involved in) and possibly optimize their device suspend/resume handling accordingly. In addition to that, some existing features are re-organized quite substantially. First, the ACPI-based handling of PCI host bridges on x86 and ia64 is unified and the common code goes into the ACPI core (so as to reduce code duplication and eliminate non-essential differences between the two architectures in that area). Second, the Operating Performance Points (OPP) framework is reorganized to make the code easier to find and follow. Next, the cpufreq core's sysfs interface is reorganized to get rid of the "primary CPU" concept for configurations in which the same performance scaling settings are shared between multiple CPUs. Finally, some interfaces that aren't necessary any more are dropped from the generic power domains framework. On top of the above we have some minor extensions, cleanups and bug fixes in multiple places, as usual. Specifics: - ACPICA update to upstream revision 20150930 (Bob Moore, Lv Zheng). The most significant change is to allow the AML debugger to be built into the kernel. On top of that there is an update related to the NFIT table (the ACPI persistent memory interface) and a few fixes and cleanups. - ACPI CPPC2 (Collaborative Processor Performance Control v2) support along with a cpufreq frontend (Ashwin Chaugule). This can only be enabled on ARM64 at this point. - New ACPI infrastructure for the early probing of IRQ chips and clock sources (Marc Zyngier). - Support for a new hierarchical properties extension of the ACPI _DSD (Device Specific Data) device configuration object allowing the kernel to handle hierarchical properties (provided by the platform firmware this way) automatically and make them available to device drivers via the generic device properties interface (Rafael Wysocki). - Generic device properties API extension to obtain an index of certain string value in an array of strings, along the lines of of_property_match_string(), but working for all of the supported firmware node types, and support for the "dma-names" device property based on it (Mika Westerberg). - ACPI core fix to parse the MADT (Multiple APIC Description Table) entries in the order expected by platform firmware (and mandated by the specification) to avoid confusion on systems with more than 255 logical CPUs (Lukasz Anaczkowski). - Consolidation of the ACPI-based handling of PCI host bridges on x86 and ia64 (Jiang Liu). - ACPI core fixes to ensure that the correct IRQ number is used to represent the SCI (System Control Interrupt) in the cases when it has been re-mapped (Chen Yu). - New ACPI backlight quirk for Lenovo IdeaPad S405 (Hans de Goede). - ACPI EC driver fixes (Lv Zheng). - Assorted ACPI fixes and cleanups (Dan Carpenter, Insu Yun, Jiri Kosina, Rami Rosen, Rasmus Villemoes). - New mechanism in the PM core allowing drivers to check if the platform firmware is going to be involved in the upcoming system suspend or if it has been involved in the suspend the system is resuming from at the moment (Rafael Wysocki). This should allow drivers to optimize their suspend/resume handling in some cases and the changes include a couple of users of it (the i8042 input driver, PCI PM). - PCI PM fix to prevent runtime-suspended devices with PME enabled from being resumed during system suspend even if they aren't configured to wake up the system from sleep (Rafael Wysocki). - New mechanism to report the number of a wakeup IRQ that woke up the system from sleep last time (Alexandra Yates). - Removal of unused interfaces from the generic power domains framework and fixes related to latency measurements in that code (Ulf Hansson, Daniel Lezcano). - cpufreq core sysfs interface rework to make it handle CPUs that share performance scaling settings (represented by a common cpufreq policy object) more symmetrically (Viresh Kumar). This should help to simplify the CPU offline/online handling among other things. - cpufreq core fixes and cleanups (Viresh Kumar). - intel_pstate fixes related to the Turbo Activation Ratio (TAR) mechanism on client platforms which causes the turbo P-states range to vary depending on platform firmware settings (Srinivas Pandruvada). - intel_pstate sysfs interface fix (Prarit Bhargava). - Assorted cpufreq driver (imx, tegra20, powernv, integrator) fixes and cleanups (Bai Ping, Bartlomiej Zolnierkiewicz, Shilpasri G Bhat, Luis de Bethencourt). - cpuidle mvebu driver cleanups (Russell King). - OPP (Operating Performance Points) framework code reorganization to make it more maintainable (Viresh Kumar). - Intel Broxton support for the RAPL (Running Average Power Limits) power capping driver (Amy Wiles). - Assorted power management code fixes and cleanups (Dan Carpenter, Geert Uytterhoeven, Geliang Tang, Luis de Bethencourt, Rasmus Villemoes)" * tag 'pm+acpi-4.4-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (108 commits) cpufreq: postfix policy directory with the first CPU in related_cpus cpufreq: create cpu/cpufreq/policyX directories cpufreq: remove cpufreq_sysfs_{create|remove}_file() cpufreq: create cpu/cpufreq at boot time cpufreq: Use cpumask_copy instead of cpumask_or to copy a mask cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate() PM / Domains: Merge measurements for PM QoS device latencies PM / Domains: Don't measure ->start|stop() latency in system PM callbacks PM / clk: Fix broken build due to non-matching code and header #ifdefs ACPI / Documentation: add copy_dsdt to ACPI format options ACPI / sysfs: correctly check failing memory allocation ACPI / video: Add a quirk to force native backlight on Lenovo IdeaPad S405 ACPI / CPPC: Fix potential memory leak ACPI / CPPC: signedness bug in register_pcc_channel() ACPI / PAD: power_saving_thread() is not freezable ACPI / PM: Fix incorrect wakeup IRQ setting during suspend-to-idle ACPI: Using correct irq when waiting for events ACPI: Use correct IRQ when uninstalling ACPI interrupt handler cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver cpuidle: mvebu: clean up multiple platform drivers ... commit 8e03a5e75c517de19c26a46147b0dc28096e55ef Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 00:55:13 2015 +0300 sh_eth: merge sh_eth_free_dma_buffer() into sh_eth_ring_free() While the ring allocation is done by a single function, sh_eth_ring_init(), the ring deallocation was split into two functions (almost always called one after the other) for no good reason. Merge sh_eth_free_dma_buffer() into sh_eth_ring_free() which allows us to save space not only on the direct calls of the former function but also on the sh_eth_ring_init()'s simplified error path... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91d80683fc1828141e87babbd01f40e408864914 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 00:17:08 2015 +0300 sh_eth: kill 'ret' variable in sh_eth_ring_init() The 'ret' local variable in sh_eth_ring_init() serves no useful purpose as the only values it gets assigned are 0 and -ENOMEM both of which could be returned directly... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f71e8c96fc654724723ce987e0a8b2aeb81746d Author: Markus Brunner <systemprogrammierung.brunner@xxxxxxxxx> Date: Tue Nov 3 22:09:51 2015 +0100 drivers: net: cpsw: Add support for fixed-link PHY Add support for a fixed-link devicetree sub-node in case the the cpsw MAC is directly connected to a non-mdio PHY/device. Signed-off-by: Markus Brunner <systemprogrammierung.brunner@xxxxxxxxx> Acked-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9c7dbc11a140851deca7ca080c6fa2661676992 Merge: 1b1050c dbc3617 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Nov 4 20:47:50 2015 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Conflicts: net/netfilter/xt_TEE.c Pablo Neira Ayuso says: ==================== Netfilter fixes for net The following patchset contains Netfilter fixes for your net tree, they are: 1) Fix crash when TEE target is used with no --oif, from Eric Dumazet. 2) Oneliner to fix a crash on the redirect traffic to localhost infrastructure when interface has not yet an address, from Munehisa Kamata. 3) Oneliner not to request module all the time from nfnetlink due to wrong type value, from Florian Westphal. I'll make sure these patches 1 and 2 hit -stable. ==================== The conflict in net/netfilter/xt_TEE.c was minor, a change to the 'oif' selection overlapping a function signature change for the nf_dup_ipv{4,6}() routines. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41ecf1404b34d9975eb97f5005d9e4274eaeb76a Merge: 2dc10ad abed7d0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 17:32:42 2015 -0800 Merge tag 'for-linus-4.4-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen updates from David Vrabel: - Improve balloon driver memory hotplug placement. - Use unpopulated hotplugged memory for foreign pages (if supported/enabled). - Support 64 KiB guest pages on arm64. - CPU hotplug support on arm/arm64. * tag 'for-linus-4.4-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (44 commits) xen: fix the check of e_pfn in xen_find_pfn_range x86/xen: add reschedule point when mapping foreign GFNs xen/arm: don't try to re-register vcpu_info on cpu_hotplug. xen, cpu_hotplug: call device_offline instead of cpu_down xen/arm: Enable cpu_hotplug.c xenbus: Support multiple grants ring with 64KB xen/grant-table: Add an helper to iterate over a specific number of grants xen/xenbus: Rename *RING_PAGE* to *RING_GRANT* xen/arm: correct comment in enlighten.c xen/gntdev: use types from linux/types.h in userspace headers xen/gntalloc: use types from linux/types.h in userspace headers xen/balloon: Use the correct sizeof when declaring frame_list xen/swiotlb: Add support for 64KB page granularity xen/swiotlb: Pass addresses rather than frame numbers to xen_arch_need_swiotlb arm/xen: Add support for 64KB page granularity xen/privcmd: Add support for Linux 64KB page granularity net/xen-netback: Make it running on 64KB page granularity net/xen-netfront: Make it running on 64KB page granularity block/xen-blkback: Make it running on 64KB page granularity block/xen-blkfront: Make it running on 64KB page granularity ... commit e02328f47bd75fde9decf9657ec7d769b370f857 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Tue Sep 8 14:17:47 2015 +0200 vga_switcheroo: Drop client power state VGA_SWITCHEROO_INIT hda_intel.c:azx_probe() defers initialization of an audio controller on the discrete GPU if the GPU is powered off. The power state of the GPU is determined by calling vga_switcheroo_get_client_state(). vga_switcheroo_get_client_state() returns VGA_SWITCHEROO_INIT if vga_switcheroo is not enabled, i.e. if no second GPU or no handler has registered. This can go wrong in the following scenario: - Driver for the integrated GPU is not loaded. - Driver for the discrete GPU registers with vga_switcheroo, uses driver power control to power down the GPU, handler cuts power to the GPU. - Driver for the audio controller gets loaded after the GPU was powered down, calls vga_switcheroo_get_client_state() which returns VGA_SWITCHEROO_INIT instead of VGA_SWITCHEROO_OFF. - Consequence: azx_probe() tries to initialize the audio controller even though the GPU is powered down. The power state VGA_SWITCHEROO_INIT was introduced by c8e9cf7bb240 ("vga_switcheroo: Add a helper function to get the client state"). It is not apparent what its benefit might be. The idea seems to be to initialize the audio controller even if the power state is VGA_SWITCHEROO_OFF (were vga_switcheroo enabled), but as shown above this can fail. Drop VGA_SWITCHEROO_INIT to solve this. Acked-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit b26eae934e94240de6bcbcd77b4bdec8bc005168 Merge: 596a1d3 f1811a8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 5 11:07:13 2015 +1000 Merge tag 'drm/panel/for-4.4-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/panel: Changes for v4.4-rc1 Just two small cleanup patches to fix coccinelle warnings. * tag 'drm/panel/for-4.4-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/bridge: ptn3460: Fix coccinelle warnings drm/bridge: ps8622: Fix coccinelle warnings commit 596a1d32bb42795cafbed66945645a74f0a3cc5b Merge: cb0fb27 2bcdcbf Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 5 11:07:03 2015 +1000 Merge tag 'drm/tegra/for-4.4-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/tegra: Changes for v4.4-rc1 Just a couple of minor fixes and cleanups for this cycle. * tag 'drm/tegra/for-4.4-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/tegra: dc: Request/free syncpoint at init/exit drm/tegra: fb: Remove gratuituous blank line gpu: host1x: Fix MLOCK's debug info commit cb0fb271213e8a06ca8815a459dfaddd5bb47b4b Merge: 793423f a5f4185 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 5 11:06:56 2015 +1000 Merge tag 'imx-drm-next-2015-10-30' of git://git.pengutronix.de/git/pza/linux into drm-next imx-drm fixes and color format updates - Some correctness fixes found by coccinelle - Add drivers/gpu/ipu-v3 directory to MAINTAINERS - Add support for more color formats - Fix a regression, making displays larger than FullHD work again * tag 'imx-drm-next-2015-10-30' of git://git.pengutronix.de/git/pza/linux: drm/imx: hdmi: fix HDMI setup to allow modes larger than FullHD gpu: ipu-v3: fix div_ratio type gpu: ipu-v3: csi: add support for 8 bpp grayscale sensors. drm/imx: enable ARGB4444 16-bit color format gpu: ipu-v3: add support for ARGB4444 16-bit color format drm/imx: ipuv3-plane: enable support for RGBX8888 and RGBA8888 pixel formats gpu: ipu-v3: add support for RGBX8888 and RGBA8888 pixel formats drm/imx: enable 15-bit RGB with 1-bit alpha formats gpu: ipu-v3: add support for 15-bit RGB with 1-bit alpha formats MAINTAINERS: Add IPUv3 core driver to the i.MX DRM driver section gpu: ipu-v3: ipu-csi: bool test doesn't need a comparison to false commit 793423ffcb229ae5654b382a1356906f81da2018 Merge: bf248ca a95e264 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 5 10:57:25 2015 +1000 Merge branch 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-next - Updated register headers for GFX 8.1 for Stoney - Add some new CZ revisions - minor pageflip optimizations - Fencing clean up - Warning fix - More fence cleanup - oops fix - Fiji fixes * 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux: (29 commits) drm/amdgpu: group together common fence implementation drm/amdgpu: remove AMDGPU_FENCE_OWNER_MOVE drm/amdgpu: remove now unused fence functions drm/amdgpu: fix fence fallback check drm/amdgpu: fix stoping the scheduler timeout drm/amdgpu: cleanup on error in amdgpu_cs_ioctl() drm/amdgpu: update Fiji's Golden setting drm/amdgpu: update Fiji's rev id drm/amdgpu: extract common code in vi_common_early_init drm/amd/scheduler: don't oops on failure to load drm/amdgpu: don't oops on failure to load (v2) drm/amdgpu: don't VT switch on suspend drm/amdgpu: Make amdgpu_mn functions inline drm/amdgpu: remove amdgpu_fence_ref/unref drm/amdgpu: use common fence for sync drm/amdgpu: use the new fence_is_later drm/amdgpu: use common fences for VMID management v2 drm/amdgpu: move ring_from_fence to common code drm/amdgpu: switch to common fence_wait_any_timeout v2 drm/amdgpu: remove unneeded fence functions ... commit 82aff3ea3b87892ce1476dad83de211741b3ac00 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Nov 3 19:19:36 2015 +0100 NFC: nfcmrvl: avoid being stuck on FW dnld timeout FW Download procedure can block on del_timer_sync because the timer is not running. This patch check that timer is scheduled before cancelling it. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6f8c53695d6521c36052d39e29ac1e51ef37eba7 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Nov 3 19:19:35 2015 +0100 NFC: nfcmrvl: remove unneeded CONFIG_OF switches Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b2fe288eac7247f83b52377b4134ecc5cd856bf2 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Nov 3 19:19:34 2015 +0100 NFC: nfcmrvl: free reset gpio Reset GPIO shall be freed by the driver since the device used in devm_ calls can be still valid on unregister. If user removes the module and inserts it again, the devm_gpio_request will fail because the underlying physical device (e.g i2c) was not removed so the device management won't have freed the gpio. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d2d2e6456ebccb5d31163dcc3191d83183bbd0b5 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Nov 3 19:19:33 2015 +0100 NFC: nfcmrvl: add a small wait after setting UART break A small wait is inserted to ensure that controller has enough time to handle the break character. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit feacf0024bfea807d7302d4aff83b391ac6e4077 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Nov 3 19:19:32 2015 +0100 NFC: nfcmrvl: avoid UART break control during FW download BootROM does not support any form of power management during FW download. On UART, the driver shall not try to send breaks. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1dbac5c578ead0d0f20a06b036d19c109a5a4fb9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 3 15:03:33 2015 +0100 NFC: nfcmrvl: fix SPI driver dependencies The newly added nfcmrvl_spi driver uses the spi_nci infrastructure, but does not have a Kconfig dependency on that, so we can get a link-time error: drivers/built-in.o: In function `nfcmrvl_spi_nci_send': (.text+0x1428dc): undefined reference to `nci_spi_send' drivers/built-in.o: In function `nfcmrvl_spi_probe': (.text+0x142a24): undefined reference to `nci_spi_allocate_spi' drivers/built-in.o: In function `nfcmrvl_spi_int_irq_thread_fn': (.text+0x142abc): undefined reference to `nci_spi_read' This clarifies the dependency. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: caf6e49bf6d0 ("NFC: nfcmrvl: add spi driver") Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2dc10ad81fc017837037e60439662e1b16bdffb9 Merge: e627078 f8f8bdc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 14:47:13 2015 -0800 Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 updates from Catalin Marinas: - "genirq: Introduce generic irq migration for cpu hotunplugged" patch merged from tip/irq/for-arm to allow the arm64-specific part to be upstreamed via the arm64 tree - CPU feature detection reworked to cope with heterogeneous systems where CPUs may not have exactly the same features. The features reported by the kernel via internal data structures or ELF_HWCAP are delayed until all the CPUs are up (and before user space starts) - Support for 16KB pages, with the additional bonus of a 36-bit VA space, though the latter only depending on EXPERT - Implement native {relaxed, acquire, release} atomics for arm64 - New ASID allocation algorithm which avoids IPI on roll-over, together with TLB invalidation optimisations (using local vs global where feasible) - KASan support for arm64 - EFI_STUB clean-up and isolation for the kernel proper (required by KASan) - copy_{to,from,in}_user optimisations (sharing the memcpy template) - perf: moving arm64 to the arm32/64 shared PMU framework - L1_CACHE_BYTES increased to 128 to accommodate Cavium hardware - Support for the contiguous PTE hint on kernel mapping (16 consecutive entries may be able to use a single TLB entry) - Generic CONFIG_HZ now used on arm64 - defconfig updates * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (91 commits) arm64/efi: fix libstub build under CONFIG_MODVERSIONS ARM64: Enable multi-core scheduler support by default arm64/efi: move arm64 specific stub C code to libstub arm64: page-align sections for DEBUG_RODATA arm64: Fix build with CONFIG_ZONE_DMA=n arm64: Fix compat register mappings arm64: Increase the max granular size arm64: remove bogus TASK_SIZE_64 check arm64: make Timer Interrupt Frequency selectable arm64/mm: use PAGE_ALIGNED instead of IS_ALIGNED arm64: cachetype: fix definitions of ICACHEF_* flags arm64: cpufeature: declare enable_cpu_capabilities as static genirq: Make the cpuhotplug migration code less noisy arm64: Constify hwcap name string arrays arm64/kvm: Make use of the system wide safe values arm64/debug: Make use of the system wide safe value arm64: Move FP/ASIMD hwcap handling to common code arm64/HWCAP: Use system wide safe values arm64/capabilities: Make use of system wide safe value arm64: Delay cpu feature capability checks ... commit c932b98c1e47312822d911c1bb76e81ef50e389c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Nov 4 22:39:16 2015 +0100 ALSA: hda - Apply pin fixup for HP ProBook 6550b HP ProBook 6550b needs the same pin fixup applied to other HP B-series laptops with docks for making its headphone and dock headphone jacks working properly. We just need to add the codec SSID to the list. Bugzilla: https://bugzilla.kernel.org/attachment.cgi?id=191971 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 52708d690b8be132ba9d294464625dbbdb9fa5df Author: Nitin Gupta <nitin.m.gupta@xxxxxxxxxx> Date: Mon Nov 2 16:30:24 2015 -0500 sparc64: Fix numa distance values Orabug: 21896119 Use machine descriptor (MD) to get node latency values instead of just using default values. Testing: On an T5-8 system with: - total nodes = 8 - self latencies = 0x26d18 - latency to other nodes = 0x3a598 => latency ratio = ~1.5 output of numactl --hardware - before fix: node distances: node 0 1 2 3 4 5 6 7 0: 10 20 20 20 20 20 20 20 1: 20 10 20 20 20 20 20 20 2: 20 20 10 20 20 20 20 20 3: 20 20 20 10 20 20 20 20 4: 20 20 20 20 10 20 20 20 5: 20 20 20 20 20 10 20 20 6: 20 20 20 20 20 20 10 20 7: 20 20 20 20 20 20 20 10 - after fix: node distances: node 0 1 2 3 4 5 6 7 0: 10 15 15 15 15 15 15 15 1: 15 10 15 15 15 15 15 15 2: 15 15 10 15 15 15 15 15 3: 15 15 15 10 15 15 15 15 4: 15 15 15 15 10 15 15 15 5: 15 15 15 15 15 10 15 15 6: 15 15 15 15 15 15 10 15 7: 15 15 15 15 15 15 15 10 Signed-off-by: Nitin Gupta <nitin.m.gupta@xxxxxxxxxx> Reviewed-by: Chris Hyser <chris.hyser@xxxxxxxxxx> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cae9af6a820b47d3e5e0da4edf23cf6fa69b18d8 Author: Rob Gardner <rob.gardner@xxxxxxxxxx> Date: Fri Oct 30 22:36:23 2015 -0600 sparc64: Don't restrict fp regs for no-fault loads The function handle_ldf_stq() deals with no-fault ASI loads and stores, but restricts fp registers to quad word regs (ie, %f0, %f4 etc). This is valid for the STQ case, but unnecessarily restricts loads, which may be single precision, double, or quad. This results in SIGFPE being raised for this instruction when the source address is invalid: ldda [%g1] ASI_PNF, %f2 but not for this one: ldda [%g1] ASI_PNF, %f4 The validation check for quad register is moved to within the STQ block so that loads are not affected by the check. An additional problem is that the calculation for freg is incorrect when a single precision load is being handled. This causes %f1 to be seen as %f32 etc, and the incorrect register ends up being overwritten. This code sequence demonstrates the problem: ldd [%g1], %f32 ! g1 = valid address lda [%i3] ASI_PNF, %f1 ! i3 = invalid address std %f32, [%g1] This is corrected by basing the freg calculation on the load size. Signed-off-by: Rob Gardner <rob.gardner@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e627078a0cbdc0c391efeb5a2c4eb287328fd633 Merge: 14c7909 b38fecc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 11:31:31 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "There is only one new feature in this pull for the 4.4 merge window, most of it is small enhancements, cleanup and bug fixes: - Add the s390 backend for the software dirty bit tracking. This adds two new pgtable functions pte_clear_soft_dirty and pmd_clear_soft_dirty which is why there is a hit to arch/x86/include/asm/pgtable.h in this pull request. - A series of cleanup patches for the AP bus, this includes the removal of the support for two outdated crypto cards (PCICC and PCICA). - The irq handling / signaling on buffer full in the runtime instrumentation code is dropped. - Some micro optimizations: remove unnecessary memory barriers for a couple of functions: [smb_]rmb, [smb_]wmb, atomics, bitops, and for spin_unlock. Use the builtin bswap if available and make test_and_set_bit_lock more cache friendly. - Statistics and a tracepoint for the diagnose calls to the hypervisor. - The CPU measurement facility support to sample KVM guests is improved. - The vector instructions are now always enabled for user space processes if the hardware has the vector facility. This simplifies the FPU handling code. The fpu-internal.h header is split into fpu internals, api and types just like x86. - Cleanup and improvements for the common I/O layer. - Rework udelay to solve a problem with kprobe. udelay has busy loop semantics but still uses an idle processor state for the wait" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (66 commits) s390: remove runtime instrumentation interrupts s390/cio: de-duplicate subchannel validation s390/css: unneeded initialization in for_each_subchannel s390/Kconfig: use builtin bswap s390/dasd: fix disconnected device with valid path mask s390/dasd: fix invalid PAV assignment after suspend/resume s390/dasd: fix double free in dasd_eckd_read_conf s390/kernel: fix ptrace peek/poke for floating point registers s390/cio: move ccw_device_stlck functions s390/cio: move ccw_device_call_handler s390/topology: reduce per_cpu() invocations s390/nmi: reduce size of percpu variable s390/nmi: fix terminology s390/nmi: remove casts s390/nmi: remove pointless error strings s390: don't store registers on disabled wait anymore s390: get rid of __set_psw_mask() s390/fpu: split fpu-internal.h into fpu internals, api, and type headers s390/dasd: fix list_del corruption after lcu changes s390/spinlock: remove unneeded serializations at unlock ... commit d618382ba5f1a4905db63f4980bf7b0a5826de9d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Nov 4 11:30:57 2015 -0800 iommu-common: Fix error code used in iommu_tbl_range_{alloc,free}(). The value returned from iommu_tbl_range_alloc() (and the one passed in as a fourth argument to iommu_tbl_range_free) is not a DMA address, it is rather an index into the IOMMU page table. Therefore using DMA_ERROR_CODE is not appropriate. Use a more type matching error code define, IOMMU_ERROR_CODE, and update all users of this interface. Reported-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14c79092909a52b6fd6394b6ad5e7756c4f9565e Merge: 1b1050c a01fece Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 11:30:22 2015 -0800 Merge branch 'parisc-4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc updates from Helge Deller: "The most important change is that we reduce L1_CACHE_BYTES to 16 bytes, for which a trivial patch for XPS in the network layer was needed. Then we wire up the sys_membarrier and userfaultfd syscalls and added two other small cleanups" * 'parisc-4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Change L1_CACHE_BYTES to 16 net/xps: Fix calculation of initial number of xps queues parisc: reduce syslog debug output parisc: serial/mux: Convert to uart_console_device instead of open-coded parisc: Wire up userfaultfd syscall parisc: allocate sys_membarrier system call number commit 22b886dd1018093920c4250dee2a9a3cb7cff7b8 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Nov 4 12:15:33 2015 -0500 timers: Use proper base migration in add_timer_on() Regardless of the previous CPU a timer was on, add_timer_on() currently simply sets timer->flags to the new CPU. As the caller must be seeing the timer as idle, this is locally fine, but the timer leaving the old base while unlocked can lead to race conditions as follows. Let's say timer was on cpu 0. cpu 0 cpu 1 ----------------------------------------------------------------------------- del_timer(timer) succeeds del_timer(timer) lock_timer_base(timer) locks cpu_0_base add_timer_on(timer, 1) spin_lock(&cpu_1_base->lock) timer->flags set to cpu_1_base operates on @timer operates on @timer This triggered with mod_delayed_work_on() which contains "if (del_timer()) add_timer_on()" sequence eventually leading to the following oops. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff810ca6e9>] detach_if_pending+0x69/0x1a0 ... Workqueue: wqthrash wqthrash_workfunc [wqthrash] task: ffff8800172ca680 ti: ffff8800172d0000 task.ti: ffff8800172d0000 RIP: 0010:[<ffffffff810ca6e9>] [<ffffffff810ca6e9>] detach_if_pending+0x69/0x1a0 ... Call Trace: [<ffffffff810cb0b4>] del_timer+0x44/0x60 [<ffffffff8106e836>] try_to_grab_pending+0xb6/0x160 [<ffffffff8106e913>] mod_delayed_work_on+0x33/0x80 [<ffffffffa0000081>] wqthrash_workfunc+0x61/0x90 [wqthrash] [<ffffffff8106dba8>] process_one_work+0x1e8/0x650 [<ffffffff8106e05e>] worker_thread+0x4e/0x450 [<ffffffff810746af>] kthread+0xef/0x110 [<ffffffff8185980f>] ret_from_fork+0x3f/0x70 Fix it by updating add_timer_on() to perform proper migration as __mod_timer() does. Reported-and-tested-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Chris Worley <chris.worley@xxxxxxxxxxxxxxx> Cc: bfields@xxxxxxxxxxxx Cc: Michael Skralivetsky <michael.skralivetsky@xxxxxxxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Cc: Shaohua Li <shli@xxxxxx> Cc: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Cc: kernel-team@xxxxxx Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20151029103113.2f893924@xxxxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20151104171533.GI5749@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e35dbb4d4b4499e8a013564f0753dabc1c49e9d9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 8 14:34:06 2015 +0900 thermal: exynos: Directly return 0 instead of using local ret variable The 'ret' variable in exynos5440_tmu_initialize() is initialized to 0 and returned as is. Replace it with direct return statement. This also fixes coccinelle warning: drivers/thermal/samsung/exynos_tmu.c:611:5-8: Unneeded variable: "ret". Return "0" on line 654 Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Tested-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit baba1ebb99ba1ffecfa40268d80e4e6406ef1d17 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 8 14:34:05 2015 +0900 thermal: exynos: Remove unneeded semicolon Remove semicolons after switch statement. Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Tested-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit bfa26838572cd9b2b0623fcbc7b9352dcaa4262b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 8 14:34:04 2015 +0900 thermal: exynos: Use IS_ERR() because regulator cannot be NULL The NULL check in probe's error path is not needed because in that time the regulator cannot be NULL (regulator_get() returns valid pointer or ERR_PTR). Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Tested-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 9e4249b4034090730017deaf632b46b5faaa12b9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 8 14:34:03 2015 +0900 thermal: exynos: Fix first temperature read after registering sensor Thermal core could not read the temperature after registering the thermal sensor with thermal_zone_of_sensor_register() because the driver was not yet initialized. The call trace looked like: exynos_tmu_probe() thermal_zone_of_sensor_register() of_thermal_set_mode() thermal_zone_device_update() exynos_get_temp() if (!data->tmu_read) return -EINVAL; exynos_map_dt_data() data->tmu_read = ... This produced an error in dmesg: thermal thermal_zone0: failed to read out thermal zone (-22) Register the thermal_zone_device later, after parsing Device Tree and enabling necessary clocks, but before calling exynos_tmu_initialize() which uses the registered thermal_zone_device. Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Tested-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 3b6a1a805f34 ("thermal: samsung: core: Exynos TMU rework to use device tree for configuration") Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 824ead03b78403a21449cb7eb153a4344cd3b4c8 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 8 14:34:02 2015 +0900 thermal: exynos: Fix unbalanced regulator disable on probe failure During probe if the regulator could not be enabled, the error exit path would still disable it. This could lead to unbalanced counter of regulator enable/disable. The patch moves code for getting and enabling the regulator from exynos_map_dt_data() to probe function because it is really not a part of getting Device Tree properties. Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Tested-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 5f09a5cbd14a ("thermal: exynos: Disable the regulator on probe failure") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit ce5ee1611284bef81d0308c6c2749902f55ed1d5 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:36:20 2015 +0300 devfreq_cooling: return on allocation failure If the allocation fails then we can't continue. Fixes: a76caf55e5b3 ('thermal: Add devfreq cooling') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 1b1050cdc5cdde43177b375b5f22dc070d45d8f8 Merge: b0f85fa 353b39d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 10:12:43 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide Pull IDE fixlet from David Miller: "Just a y2038 fix to the pdc202xx_new IDE driver" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide: ide: pdc202xx_new: Replace timeval with ktime_t commit eedfcb4bc5f0185a14fc9e1e5a9770ad833ea5a4 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Nov 2 17:50:21 2015 -0800 perf stat: Use common printout function to avoid duplicated code Instead of every caller deciding whether to call abs or nsec printout do it all in a single central function. No functional changes. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1446515428-7450-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4579ecc8b3e0c611b5c8f6ca7f7b07d1412d8a7b Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Nov 2 17:50:20 2015 -0800 perf stat: Move sw clock metrics printout to stat-shadow The sw clock metrics printing was missed in the earlier move to stat-shadow of all the other metric printouts. Move it too. v2: Fix metrics printing in this version to make bisect safe. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1446515428-7450-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c36b97e9430defab4b52ee370c18745343d92f6d Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Thu Oct 29 10:03:41 2015 -0500 GFS2: Protect freeing directory hash table with i_lock spin_lock This patch changes function gfs2_dir_hash_inval so it uses the i_lock spin_lock to protect the in-core hash table, i_hash_cache. This will prevent double-frees due to a race between gfs2_evict_inode and inode invalidation. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit b0f85fa11aefc4f3e03306b4cd47f113bd57dcba Merge: ccc9d4a f32bfb9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 09:41:05 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Pull networking updates from David Miller: Changes of note: 1) Allow to schedule ICMP packets in IPVS, from Alex Gartrell. 2) Provide FIB table ID in ipv4 route dumps just as ipv6 does, from David Ahern. 3) Allow the user to ask for the statistics to be filtered out of ipv4/ipv6 address netlink dumps. From Sowmini Varadhan. 4) More work to pass the network namespace context around deep into various packet path APIs, starting with the netfilter hooks. From Eric W Biederman. 5) Add layer 2 TX/RX checksum offloading to qeth driver, from Thomas Richter. 6) Use usec resolution for SYN/ACK RTTs in TCP, from Yuchung Cheng. 7) Support Very High Throughput in wireless MESH code, from Bob Copeland. 8) Allow setting the ageing_time in switchdev/rocker. From Scott Feldman. 9) Properly autoload L2TP type modules, from Stephen Hemminger. 10) Fix and enable offload features by default in 8139cp driver, from David Woodhouse. 11) Support both ipv4 and ipv6 sockets in a single vxlan device, from Jiri Benc. 12) Fix CWND limiting of thin streams in TCP, from Bendik Rønning Opstad. 13) Fix IPSEC flowcache overflows on large systems, from Steffen Klassert. 14) Convert bridging to track VLANs using rhashtable entries rather than a bitmap. From Nikolay Aleksandrov. 15) Make TCP listener handling completely lockless, this is a major accomplishment. Incoming request sockets now live in the established hash table just like any other socket too. From Eric Dumazet. 15) Provide more bridging attributes to netlink, from Nikolay Aleksandrov. 16) Use hash based algorithm for ipv4 multipath routing, this was very long overdue. From Peter Nørlund. 17) Several y2038 cures, mostly avoiding timespec. From Arnd Bergmann. 18) Allow non-root execution of EBPF programs, from Alexei Starovoitov. 19) Support SO_INCOMING_CPU as setsockopt, from Eric Dumazet. This influences the port binding selection logic used by SO_REUSEPORT. 20) Add ipv6 support to VRF, from David Ahern. 21) Add support for Mellanox Spectrum switch ASIC, from Jiri Pirko. 22) Add rtl8xxxu Realtek wireless driver, from Jes Sorensen. 23) Implement RACK loss recovery in TCP, from Yuchung Cheng. 24) Support multipath routes in MPLS, from Roopa Prabhu. 25) Fix POLLOUT notification for listening sockets in AF_UNIX, from Eric Dumazet. 26) Add new QED Qlogic river, from Yuval Mintz, Manish Chopra, and Sudarsana Kalluru. 27) Don't fetch timestamps on AF_UNIX sockets, from Hannes Frederic Sowa. 28) Support ipv6 geneve tunnels, from John W Linville. 29) Add flood control support to switchdev layer, from Ido Schimmel. 30) Fix CHECKSUM_PARTIAL handling of potentially fragmented frames, from Hannes Frederic Sowa. 31) Support persistent maps and progs in bpf, from Daniel Borkmann. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1790 commits) sh_eth: use DMA barriers switchdev: respect SKIP_EOPNOTSUPP flag in case there is no recursion net: sched: kill dead code in sch_choke.c irda: Delete an unnecessary check before the function call "irlmp_unregister_service" net: dsa: mv88e6xxx: include DSA ports in VLANs net: dsa: mv88e6xxx: disable SA learning for DSA and CPU ports net/core: fix for_each_netdev_feature vlan: Invoke driver vlan hooks only if device is present arcnet/com20020: add LEDS_CLASS dependency bpf, verifier: annotate verbose printer with __printf dp83640: Only wait for timestamps for packets with timestamping enabled. ptp: Change ptp_class to a proper bitmask dp83640: Prune rx timestamp list before reading from it dp83640: Delay scheduled work. dp83640: Include hash in timestamp/packet matching ipv6: fix tunnel error handling net/mlx5e: Fix LSO vlan insertion net/mlx5e: Re-eanble client vlan TX acceleration net/mlx5e: Return error in case mlx5e_set_features() fails net/mlx5e: Don't allow more than max supported channels ... commit a95e264254dca5b6bfb331d5902930d0787bd7e1 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 3 12:21:57 2015 +0100 drm/amdgpu: group together common fence implementation And also add some missing function documentation. No functional change. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7a91d6cb3c8f93288865f98ffa03485aff6dbab4 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Oct 27 17:28:24 2015 +0100 drm/amdgpu: remove AMDGPU_FENCE_OWNER_MOVE Moves are exclusive operations anyway, just use the undefined owner for those. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a67bcd34f6257d5519971a84705e9101ed1160e8 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Oct 26 13:22:33 2015 +0100 drm/amdgpu: remove now unused fence functions Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 24372447e5cfe65d43a462acbf201c7882551b84 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 3 11:26:42 2015 +0100 drm/amdgpu: fix fence fallback check Interrupts are notorious unreliable, enable the fallback at a couple of more places. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 424839a6a913f2d2f473ce6d5b6465aeddf694db Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Nov 2 16:25:10 2015 +0100 drm/amdgpu: fix stoping the scheduler timeout cancel_delayed_work_sync is forbidden in interrupt context. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4cfdcd9cecc05646b08805ba449811a645b3f4a8 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:25:09 2015 +0300 drm/amdgpu: cleanup on error in amdgpu_cs_ioctl() We recently changed the locking in this function and now there is a missing unlock on error. Also there are some other resources that we should probably release as well... Fixes: f48b2659f521 ('drm/amdgpu: fix the broken vm->mutex V2') Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> commit ccc9d4a6d640cbde05d519edeb727881646cf71b Merge: 66ef349 271817a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 09:11:12 2015 -0800 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto update from Herbert Xu: "API: - Add support for cipher output IVs in testmgr - Add missing crypto_ahash_blocksize helper - Mark authenc and des ciphers as not allowed under FIPS. Algorithms: - Add CRC support to 842 compression - Add keywrap algorithm - A number of changes to the akcipher interface: + Separate functions for setting public/private keys. + Use SG lists. Drivers: - Add Intel SHA Extension optimised SHA1 and SHA256 - Use dma_map_sg instead of custom functions in crypto drivers - Add support for STM32 RNG - Add support for ST RNG - Add Device Tree support to exynos RNG driver - Add support for mxs-dcp crypto device on MX6SL - Add xts(aes) support to caam - Add ctr(aes) and xts(aes) support to qat - A large set of fixes from Russell King for the marvell/cesa driver" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (115 commits) crypto: asymmetric_keys - Fix unaligned access in x509_get_sig_params() crypto: akcipher - Don't #include crypto/public_key.h as the contents aren't used hwrng: exynos - Add Device Tree support hwrng: exynos - Fix missing configuration after suspend to RAM hwrng: exynos - Add timeout for waiting on init done dt-bindings: rng: Describe Exynos4 PRNG bindings crypto: marvell/cesa - use __le32 for hardware descriptors crypto: marvell/cesa - fix missing cpu_to_le32() in mv_cesa_dma_add_op() crypto: marvell/cesa - use memcpy_fromio()/memcpy_toio() crypto: marvell/cesa - use gfp_t for gfp flags crypto: marvell/cesa - use dma_addr_t for cur_dma crypto: marvell/cesa - use readl_relaxed()/writel_relaxed() crypto: caam - fix indentation of close braces crypto: caam - only export the state we really need to export crypto: caam - fix non-block aligned hash calculation crypto: caam - avoid needlessly saving and restoring caam_hash_ctx crypto: caam - print errno code when hash registration fails crypto: marvell/cesa - fix memory leak crypto: marvell/cesa - fix first-fragment handling in mv_cesa_ahash_dma_last_req() crypto: marvell/cesa - rearrange handling for sw padded hashes ... commit 033291eccbdb1b70ffc02641edae19ac825dc75d Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Oct 15 15:08:48 2015 -0600 vfio: Include No-IOMMU mode There is really no way to safely give a user full access to a DMA capable device without an IOMMU to protect the host system. There is also no way to provide DMA translation, for use cases such as device assignment to virtual machines. However, there are still those users that want userspace drivers even under those conditions. The UIO driver exists for this use case, but does not provide the degree of device access and programming that VFIO has. In an effort to avoid code duplication, this introduces a No-IOMMU mode for VFIO. This mode requires building VFIO with CONFIG_VFIO_NOIOMMU and enabling the "enable_unsafe_noiommu_mode" option on the vfio driver. This should make it very clear that this mode is not safe. Additionally, CAP_SYS_RAWIO privileges are necessary to work with groups and containers using this mode. Groups making use of this support are named /dev/vfio/noiommu-$GROUP and can only make use of the special VFIO_NOIOMMU_IOMMU for the container. Use of this mode, specifically binding a device without a native IOMMU group to a VFIO bus driver will taint the kernel and should therefore not be considered supported. This patch includes no-iommu support for the vfio-pci bus driver only. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 34635b1accb99b3c3ad3b35a210be198701aac7e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Nov 2 15:21:40 2015 +0200 dmaengine: edma: Add dummy driver skeleton for edma3-tptc The eDMA3 TPTC does not need any software configuration, but it is a separate IP block in the SoC. In order the omap hwmod core to be able to handle the TPTC resources correctly in regards of PM we need to have a driver loaded for it. This patch will add a dummy driver skeleton without probe or remove callbacks provided. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Reported-by: Olof Johansson <olof@xxxxxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e324fc82ea453fcbd3898ec7afb792f750c68979 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Nov 4 13:53:26 2015 +0100 vfio: Fix bug in vfio_device_get_from_name() The vfio_device_get_from_name() function might return a non-NULL pointer, when called with a device name that is not found in the list. This causes undefined behavior, in my case calling an invalid function pointer later on: kernel tried to execute NX-protected page - exploit attempt? (uid: 0) BUG: unable to handle kernel paging request at ffff8800cb3ddc08 [...] Call Trace: [<ffffffffa03bd733>] ? vfio_group_fops_unl_ioctl+0x253/0x410 [vfio] [<ffffffff811efc4d>] do_vfs_ioctl+0x2cd/0x4c0 [<ffffffff811f9657>] ? __fget+0x77/0xb0 [<ffffffff811efeb9>] SyS_ioctl+0x79/0x90 [<ffffffff81001bb0>] ? syscall_return_slowpath+0x50/0x130 [<ffffffff8167f776>] entry_SYSCALL_64_fastpath+0x16/0x75 Fix the issue by returning NULL when there is no device with the requested name in the list. Cc: stable@xxxxxxxxxxxxxxx # v4.2+ Fixes: 4bc94d5dc95d ("vfio: Fix lockdep issue") Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 879ae1880449c88db11c1ebdaedc2da79b2fe73f Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Nov 4 12:54:41 2015 +0100 KVM: x86: obey KVM_X86_QUIRK_CD_NW_CLEARED in kvm_set_cr0() Commit b18d5431acc7 ("KVM: x86: fix CR0.CD virtualization") was technically correct, but it broke OVMF guests by slowing down various parts of the firmware. Commit fb279950ba02 ("KVM: vmx: obey KVM_QUIRK_CD_NW_CLEARED") quirked the first function modified by b18d5431acc7, vmx_get_mt_mask(), for OVMF's sake. This restored the speed of the OVMF code that runs before PlatformPei (including the memory intensive LZMA decompression in SEC). This patch extends the quirk to the second function modified by b18d5431acc7, kvm_set_cr0(). It eliminates the intrusive slowdown that hits the EFI_MP_SERVICES_PROTOCOL implementation of edk2's UefiCpuPkg/CpuDxe -- which is built into OVMF --, when CpuDxe starts up all APs at once for initialization, in order to count them. We also carry over the kvm_arch_has_noncoherent_dma() sub-condition from the other half of the original commit b18d5431acc7. Fixes: b18d5431acc7a2fd22767925f3a6f597aa4bd29e Cc: stable@xxxxxxxxxxxxxxx Cc: Jordan Justen <jordan.l.justen@xxxxxxxxx> Cc: Alex Williamson <alex.williamson@xxxxxxxxxx> Reviewed-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Tested-by: Janusz Mocek <januszmk6@xxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx># Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 89651a3decbe03754f304a0b248f27eeb9a37937 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Nov 3 13:43:05 2015 +0100 KVM: x86: allow RSM from 64-bit mode The SDM says that exiting system management mode from 64-bit mode is invalid, but that would be too good to be true. But actually, most of the code is already there to support exiting from compat mode (EFER.LME=1, EFER.LMA=0). Getting all the way from 64-bit mode to real mode only requires clearing CS.L and CR4.PCIDE. Cc: stable@xxxxxxxxxxxxxxx Fixes: 660a5d517aaab9187f93854425c4c63f4a09195c Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 656ec4a4928a3db7d16e5cb9bce351a478cfd3d5 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Mon Nov 2 22:20:00 2015 +0100 KVM: VMX: fix SMEP and SMAP without EPT The comment in code had it mostly right, but we enable paging for emulated real mode regardless of EPT. Without EPT (which implies emulated real mode), secondary VCPUs won't start unless we disable SM[AE]P when the guest doesn't use paging. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8a22f234a81ab4d1de5d948c3478608f08a9b844 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 28 18:52:02 2015 +0100 KVM: x86: move kvm_set_irq_inatomic to legacy device assignment The function is not used outside device assignment, and kvm_arch_set_irq_inatomic has a different prototype. Move it here and make it static to avoid confusion. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7695405698d011c05a95288f1f3c0a3dd252dccc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 28 19:22:20 2015 +0100 KVM: device assignment: remove pointless #ifdefs The symbols are always defined. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b97e6de9c96cefaa02a6a7464731ea504b45e150 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 28 19:16:47 2015 +0100 KVM: x86: merge kvm_arch_set_irq with kvm_set_msi_inatomic We do not want to do too much work in atomic context, in particular not walking all the VCPUs of the virtual machine. So we want to distinguish the architecture-specific injection function for irqfd from kvm_set_msi. Since it's still empty, reuse the newly added kvm_arch_set_irq and rename it to kvm_arch_set_irq_inatomic. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0669a51015c58b1f036030743a0c0781eb63867f Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Fri Oct 30 15:48:20 2015 +0100 KVM: x86: zero apic_arb_prio on reset BSP doesn't get INIT so its apic_arb_prio isn't zeroed after reboot. BSP won't get lowest priority interrupts until other VCPUs get enough interrupts to match their pre-reboot apic_arb_prio. That behavior doesn't fit into KVM's round-robin-like interpretation of lowest priority delivery ... userspace should KVM_SET_LAPIC on reset, so just zero apic_arb_prio there. Reported-by: Yuki Shibuya <shibuya.yk@xxxxxxxxxxxxxx> Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c75efa974e013640496620f26f0b532cb5cb17f9 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Oct 16 10:07:50 2015 +0300 drivers/hv: share Hyper-V SynIC constants with userspace Moved Hyper-V synic contants from guest Hyper-V drivers private header into x86 arch uapi Hyper-V header. Added Hyper-V synic msr's flags into x86 arch uapi Hyper-V header. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f40606b147dd5b4678cedc877a71deb520ca507e Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Fri Oct 30 16:36:25 2015 +0100 KVM: x86: handle SMBASE as physical address in RSM GET_SMSTATE depends on real mode to ensure that smbase+offset is treated as a physical address, which has already caused a bug after shuffling the code. Enforce physical addressing. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7a036a6f670f63b32c5ee126425f9109271ca13f Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Fri Oct 30 16:36:24 2015 +0100 KVM: x86: add read_phys to x86_emulate_ops We want to read the physical memory when emulating RSM. X86EMUL_IO_NEEDED is returned on all errors for consistency with other helpers. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2da29bccc5045ea10c70cb3a69be777768fd0b66 Author: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Date: Fri Oct 30 12:56:11 2015 +0530 KVM: x86: removing unused variable removing unused variables, found by coccinelle Signed-off-by: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6956d8946d5d1cb2ac913caa8d4259a4d0e00c48 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Mon Oct 19 04:37:18 2015 -0600 KVM: don't pointlessly leave KVM_COMPAT=y in non-KVM configs The symbol was missing a KVM dependency. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 197a4f4b063e4e7a603ff1de56b3cf0400fabc30 Merge: d6cf98e 26caea7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 4 16:24:17 2015 +0100 Merge tag 'kvm-arm-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD KVM/ARM Changes for v4.4-rc1 Includes a number of fixes for the arch-timer, introducing proper level-triggered semantics for the arch-timers, a series of patches to synchronously halt a guest (prerequisite for IRQ forwarding), some tracepoint improvements, a tweak for the EL2 panic handlers, some more VGIC cleanups getting rid of redundant state, and finally a stylistic change that gets rid of some ctags warnings. Conflicts: arch/x86/include/asm/kvm_host.h commit 26caea7693cb99833fe4ecc544c842289d6b3f69 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Tue Oct 27 11:37:31 2015 +0300 KVM: arm/arm64: Merge vgic_set_lr() and vgic_sync_lr_elrsr() Now we see that vgic_set_lr() and vgic_sync_lr_elrsr() are always used together. Merge them into one function, saving from second vgic_ops dereferencing every time. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 212c76545dde8370ebde2a170e4f8e1ed8441dc0 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Tue Oct 27 11:37:30 2015 +0300 KVM: arm/arm64: Clean up vgic_retire_lr() and surroundings 1. Remove unnecessary 'irq' argument, because irq number can be retrieved from the LR. 2. Since cff9211eb1a1f58ce7f5a2d596b617928fd4be0e ("arm/arm64: KVM: Fix arch timer behavior for disabled interrupts ") LR_STATE_PENDING is queued back by vgic_retire_lr() itself. Also, it clears vlr.state itself. Therefore, we remove the same, now duplicated, check with all accompanying bit manipulations from vgic_unqueue_irqs(). 3. vgic_retire_lr() is always accompanied by vgic_irq_clear_queued(). Since it already does more than just clearing the LR, move vgic_irq_clear_queued() inside of it. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c4cd4c168b81dad53e659d18cdae653bc0ec2384 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Tue Oct 27 11:37:29 2015 +0300 KVM: arm/arm64: Optimize away redundant LR tracking Currently we use vgic_irq_lr_map in order to track which LRs hold which IRQs, and lr_used bitmap in order to track which LRs are used or free. vgic_irq_lr_map is actually used only for piggy-back optimization, and can be easily replaced by iteration over lr_used. This is good because in future, when LPI support is introduced, number of IRQs will grow up to at least 16384, while numbers from 1024 to 8192 are never going to be used. This would be a huge memory waste. In its turn, lr_used is also completely redundant since ae705930fca6322600690df9dc1c7d0516145a93 ("arm/arm64: KVM: Keep elrsr/aisr in sync with software model"), because together with lr_used we also update elrsr. This allows to easily replace lr_used with elrsr, inverting all conditions (because in elrsr '1' means 'free'). Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 233a68667cf4c134d07ef7e22bdd77786b5c7360 Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed Nov 4 08:23:52 2015 -0500 audit: make audit_log_common_recv_msg() a void function It always returns zero and no one is checking the return value. Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit c5ea6efda6ff0fd591d6b7a2e1ba086b196dd864 Author: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Date: Wed Nov 4 08:23:52 2015 -0500 audit: removing unused variable Variable rc in not required as it is just used for unchanged for return, and return is always 0 in the function. Signed-off-by: Saurabh Sengar <saurabh.truth@xxxxxxxxx> [PM: fixed spelling errors in description] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 725131efa52812973afda6ff3fbeec6cc22882a5 Author: Scott Matheina <scott@xxxxxxxxxxxx> Date: Wed Nov 4 08:23:51 2015 -0500 audit: fix comment block whitespace Signed-off-by: Scott Matheina <scott@xxxxxxxxxxxx> [PM: fixed subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 6f1b5d7afe1d737b7ca726e08e26f2e0367876d2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Wed Nov 4 08:23:51 2015 -0500 audit: audit_tree_match can be boolean This patch makes audit_tree_match return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> [PM: tweaked the subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 9fcf836b215ca5685030ecab3e35ecc14ee3bcfb Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Wed Nov 4 08:23:51 2015 -0500 audit: audit_string_contains_control can be boolean This patch makes audit_string_contains_control return bool to improve readability due to this particular function only using either one or zero as its return value. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> [PM: tweaked subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 36734810488e618d48cc14782f7111b3dfaffb83 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Wed Nov 4 08:23:51 2015 -0500 audit: audit_dummy_context can be boolean This patch makes audit_dummy_context return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> [PM: subject line tweak] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 32a1dbaece7e37cea415e03cd426172249aa859e Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Nov 4 08:23:50 2015 -0500 audit: try harder to send to auditd upon netlink failure There are several reports of the kernel losing contact with auditd when it is, in fact, still running. When this happens, kernel syslogs show: "audit: *NO* daemon at audit_pid=<pid>" although auditd is still running, and is apparently happy, listening on the netlink socket. The pid in the "*NO* daemon" message matches the pid of the running auditd process. Restarting auditd solves this. The problem appears to happen randomly, and doesn't seem to be strongly correlated to the rate of audit events being logged. The problem happens fairly regularly (every few days), but not yet reproduced to order. On production kernels, BUG_ON() is a no-op, so any error will trigger this. Commit 34eab0a7cd45 ("audit: prevent an older auditd shutdown from orphaning a newer auditd startup") eliminates one possible cause. This isn't the case here, since the PID in the error message and the PID of the running auditd match. The primary expected cause of error here is -ECONNREFUSED when the audit daemon goes away, when netlink_getsockbyportid() can't find the auditd portid entry in the netlink audit table (or there is no receive function). If -EPERM is returned, that situation isn't likely to be resolved in a timely fashion without administrator intervention. In both cases, reset the audit_pid. This does not rule out a race condition. SELinux is expected to return zero since this isn't an INET or INET6 socket. Other LSMs may have other return codes. Log the error code for better diagnosis in the future. In the case of -ENOMEM, the situation could be temporary, based on local or general availability of buffers. -EAGAIN should never happen since the netlink audit (kernel) socket is set to MAX_SCHEDULE_TIMEOUT. -ERESTARTSYS and -EINTR are not expected since this kernel thread is not expected to receive signals. In these cases (or any other unexpected ones for now), report the error and re-schedule the thread, retrying up to 5 times. v2: Removed BUG_ON(). Moved comma in pr_*() statements. Removed audit_strerror() text. Reported-by: Vipin Rathor <v.rathor@xxxxxxxxx> Reported-by: <ctcard@xxxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [PM: applied rgb's fixup patch to correct audit_log_lost() format issues] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 62e544b983a0a8ec36a33017e1d7eb60eb7ffb5e Merge: 2dab48e d9b96d3 c2f4160 2d3eda6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:43 2015 +0000 Merge remote-tracking branches 'regulator/topic/supply', 'regulator/topic/tps6105x' and 'regulator/topic/tps65023' into regulator-next commit 2dab48ef2b2e8b53373acbe354e7c635b03115e1 Merge: 10dde28 b263d20 45d5ea4 1de7d80 a3e123c 4049dc1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:41 2015 +0000 Merge remote-tracking branches 'regulator/topic/load', 'regulator/topic/max77802', 'regulator/topic/pwm', 'regulator/topic/qcom-smd' and 'regulator/topic/stw481x' into regulator-next commit 10dde28d8682808e67b7ab39f08aa58adf502a25 Merge: 6727479 8b70814 424fb28 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:39 2015 +0000 Merge remote-tracking branches 'regulator/topic/da9053' and 'regulator/topic/da9063' into regulator-next commit 6727479f07770df07d0058a396d19671a80d77f1 Merge: 5408dd8 1f37cbe 0d19208 afafcdd 7118f19 f3f400e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:37 2015 +0000 Merge remote-tracking branches 'regulator/topic/act8865', 'regulator/topic/anatop', 'regulator/topic/arizona', 'regulator/topic/axp20x' and 'regulator/topic/bcm590xx' into regulator-next commit 5408dd8f0969ba6c0cfc1a167ca522205e939f06 Merge: ce3c059 85f3b43 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:36 2015 +0000 Merge remote-tracking branch 'regulator/topic/list' into regulator-next commit ce3c059731043f7945dcd80b816540dbd7f928bd Merge: 6a13feb 7ebcf26 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:36 2015 +0000 Merge remote-tracking branch 'regulator/topic/core' into regulator-next commit c70efb85153162295dc80099e95dab93d486a3ed Merge: 4c84518 88d4a74 e6b5140 fc306de Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:16 2015 +0000 Merge remote-tracking branches 'spi/topic/s3c64xx', 'spi/topic/ti-qspi' and 'spi/topic/txx9' into spi-next commit 4c84518523f888994c618585021c76fa499d465e Merge: fc57905 76f67ea 160f8d0 3821a06 54bf450 0db6421 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:12 2015 +0000 Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next commit fc579056af0bdaf9944e2c023c06ae9251cde3c0 Merge: 8a9e776 5a60ada 85c1912 3745760 45a3e77 8cf3af3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:10 2015 +0000 Merge remote-tracking branches 'spi/topic/fsl-dspi', 'spi/topic/mpc512x', 'spi/topic/mtk', 'spi/topic/oc-tiny' and 'spi/topic/octeon' into spi-next commit 8a9e77653fc2bc8590a471b58097f258248b9369 Merge: c2da04d f9b841a d7ef54c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:09 2015 +0000 Merge remote-tracking branches 'spi/topic/coldfire' and 'spi/topic/dw' into spi-next commit c2da04dc21e6687b6cd46a74667e08ab4f651c48 Merge: 076fcb1 6774eea 44d8fb3 57b48ab 95a8fde 0037686 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:06 2015 +0000 Merge remote-tracking branches 'spi/topic/bcm53xx', 'spi/topic/bcm63xx', 'spi/topic/bfin-sport', 'spi/topic/bfin5xx' and 'spi/topic/bitbang' into spi-next commit 076fcb17dd0e3598edad4fa5a980d1596a9f8f48 Merge: 8c60348 b7a2a1c e864658 0beb0a6 ddf0e1c 07bce09 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:04 2015 +0000 Merge remote-tracking branches 'spi/topic/ath97', 'spi/topic/atmel', 'spi/topic/au1550', 'spi/topic/bcm2835' and 'spi/topic/bcm2835aux' into spi-next commit 8c603485752ae844748db94148adc2b46e621d28 Merge: f0a2a04 97d56dc Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:03 2015 +0000 Merge remote-tracking branch 'spi/topic/doc' into spi-next commit f0a2a049f5e33670448b189bfb05d73a5a37ff25 Merge: 3e7018d 8cae042 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:02 2015 +0000 Merge remote-tracking branch 'spi/topic/davinci' into spi-next commit 3e7018def475847418596c76997e0708bacda2c0 Merge: 5ba838c 243f07b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:02 2015 +0000 Merge remote-tracking branch 'spi/topic/core' into spi-next commit 5ba838c97ba143cd971b2cdcbe2c2acbd33e0733 Merge: 26cc44f 06515f8 1476253 468a320 bc27a53 eca37c7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:01:58 2015 +0000 Merge remote-tracking branches 'spi/fix/atmel', 'spi/fix/imx', 'spi/fix/omap2-mcspi', 'spi/fix/ti-qspi' and 'spi/fix/xilinx' into spi-linus commit 26cc44f8a366a7fbebed3b98f499c2774bfcda44 Merge: 6a13feb abeedb0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:01:58 2015 +0000 Merge remote-tracking branch 'spi/fix/core' into spi-linus commit d9b96d35d2521342fdbcbc7468a0f7dcfaba4147 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Nov 3 05:58:14 2015 +0000 regulator: Use regulator_lock_supply() for get_voltage() too Since we need to read voltages of parents as part of setting supply voltages we need to be able to do get_voltage() internally without taking locks so reorganize the locking to take locks on the full tree on entry rather than as we recurse when called externally. Reported-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cb1ca0b3bb6681310e7fe9d29d6d4c76dd71801d Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Wed Nov 4 08:57:22 2015 +0530 mailbox: mailbox-test: avoid reading iomem twice Don't pass mmio region as source to print_hex_dump() and then again to memcpy_fromio(). Do it once and give print_hex_dump() the buffer we just read the data in. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 66ef3493d4bb387f5a83915e33dc893102fd1b43 Merge: 639ab3e d1f0f6c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 21:33:18 2015 -0800 Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 platform changes from Ingo Molnar: "Misc updates to the Intel MID and SGI UV platforms" * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/intel-mid: Make intel_mid_ops static arch/x86/intel-mid: Use kmemdup rather than duplicating its implementation x86/platform/uv: Implement simple dump failover if kdump fails x86/platform/uv: Insert per_cpu accessor function on uv_hub_nmi commit 639ab3eb38c6e92e27e061551dddee6dd3bbb5d2 Merge: 4302d50 e1a5832 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 21:23:56 2015 -0800 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 mm changes from Ingo Molnar: "The main changes are: continued PAT work by Toshi Kani, plus a new boot time warning about insecure RWX kernel mappings, by Stephen Smalley. The new CONFIG_DEBUG_WX=y warning is marked default-y if CONFIG_DEBUG_RODATA=y is already eanbled, as a special exception, as these bugs are hard to notice and this check already found several live bugs" * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm: Warn on W^X mappings x86/mm: Fix no-change case in try_preserve_large_page() x86/mm: Fix __split_large_page() to handle large PAT bit x86/mm: Fix try_preserve_large_page() to handle large PAT bit x86/mm: Fix gup_huge_p?d() to handle large PAT bit x86/mm: Fix slow_virt_to_phys() to handle large PAT bit x86/mm: Fix page table dump to show PAT bit x86/asm: Add pud_pgprot() and pmd_pgprot() x86/asm: Fix pud/pmd interfaces to handle large PAT bit x86/asm: Add pud/pmd mask interfaces to handle large PAT bit x86/asm: Move PUD_PAGE macros to page_types.h x86/vdso32: Define PGTABLE_LEVELS to 32bit VDSO commit 4302d506d5f3419109abdd0d6e400ed6e8148209 Merge: ce4d72f 0e2815d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 21:05:40 2015 -0800 Merge branch 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 sigcontext header cleanups from Ingo Molnar: "This series reorganizes and cleans up various aspects of the main sigcontext UAPI headers, such as unifying the data structures and updating/adding lots of comments to explain all the ABI details and quirks. The headers can now also be built in user-space standalone" * 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/headers: Clean up too long lines x86/headers: Remove <asm/sigcontext.h> references on the kernel side x86/headers: Remove direct sigcontext32.h uses x86/headers: Convert sigcontext_ia32 uses to sigcontext_32 x86/headers: Unify 'struct sigcontext_ia32' and 'struct sigcontext_32' x86/headers: Make sigcontext pointers bit independent x86/headers: Move the 'struct sigcontext' definitions into the UAPI header x86/headers: Clean up the kernel's struct sigcontext types to be ABI-clean x86/headers: Convert uses of _fpstate_ia32 to _fpstate_32 x86/headers: Unify 'struct _fpstate_ia32' and i386 struct _fpstate x86/headers: Unify register type definitions between 32-bit compat and i386 x86/headers: Use ABI types consistently in sigcontext*.h x86/headers: Separate out legacy user-space structure definitions x86/headers: Clean up and better document uapi/asm/sigcontext.h x86/headers: Clean up uapi/asm/sigcontext32.h x86/headers: Fix (old) header file dependency bug in uapi/asm/sigcontext32.h commit ce4d72fac16a9540452957b526443b6080030bff Merge: 0f25f2c 158ecc3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 20:50:26 2015 -0800 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fpu changes from Ingo Molnar: "There are two main areas of changes: - Rework of the extended FPU state code to robustify the kernel's usage of cpuid provided xstate sizes - and related changes (Dave Hansen)" - math emulation enhancements: new modern FPU instructions support, with testcases, plus cleanups (Denys Vlasnko)" * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits) x86/fpu: Fixup uninitialized feature_name warning x86/fpu/math-emu: Add support for FISTTP instructions x86/fpu/math-emu, selftests: Add test for FISTTP instructions x86/fpu/math-emu: Add support for FCMOVcc insns x86/fpu/math-emu: Add support for F[U]COMI[P] insns x86/fpu/math-emu: Remove define layer for undocumented opcodes x86/fpu/math-emu, selftests: Add tests for FCMOV and FCOMI insns x86/fpu/math-emu: Remove !NO_UNDOC_CODE x86/fpu: Check CPU-provided sizes against struct declarations x86/fpu: Check to ensure increasing-offset xstate offsets x86/fpu: Correct and check XSAVE xstate size calculations x86/fpu: Add C structures for AVX-512 state components x86/fpu: Rework YMM definition x86/fpu/mpx: Rework MPX 'xstate' types x86/fpu: Add xfeature_enabled() helper instead of test_bit() x86/fpu: Remove 'xfeature_nr' x86/fpu: Rework XSTATE_* macros to remove magic '2' x86/fpu: Rename XFEATURES_NR_MAX x86/fpu: Rename XSAVE macros x86/fpu: Remove partial LWP support definitions ... commit 0f25f2c1b18f7e47279ec2cf1d24c11c3108873b Merge: f323c49 0d44975 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 20:12:10 2015 -0800 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 kgdb fixlet from Ingo Molnar: "A single debugging related commit: compress the memory usage of a kgdb data structure" * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kgdb: Replace bool_int_array[NR_CPUS] with bitmap commit f323c49b300baf89e2cb4050b0def1856c0b1852 Merge: 33d46f9 2167cea Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 19:39:42 2015 -0800 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cpu changes from Ingo Molnar: "Two changes in this cycle: a Kconfig help text enhancement, and an AMD CLZERO instruction capability detection and enumeration" * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu: Add CLZERO detection x86/Kconfig/cpus: Fix/complete CPU type help texts commit 33d46f9765901a08d7759c031779073263e8b4e3 Merge: 378e4e9 3435dd0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 19:34:22 2015 -0800 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cleanups from Ingo Molnar: "An early_printk cleanup plus deinlining enhancements" * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/early_printk: Set __iomem address space for IO x86/signal: Deinline get_sigframe, save 240 bytes x86: Deinline early_console_register, save 403 bytes x86/e820: Deinline e820_type_to_string, save 126 bytes commit 378e4e98258ad92097bfdf795dbef8b49cf52a34 Merge: a75a3f6 e9c40d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 19:28:37 2015 -0800 Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 boot cleanup from Ingo Molnar: "A single commit: remove an obsolete kcrash boot flag" * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kexec: Remove obsolete 'in_crash_kexec' flag commit bf248ca1f5c7ba1e535ba4bd517a15a1ae965c69 Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Tue Nov 3 21:42:31 2015 +0000 drm/i915: Fix locking around GuC firmware load The GuC firmware load requires struct_mutex to create a GEM object, but this collides badly with request_firmware. Move struct_mutex locking down into the loader itself, so we don't hold it across the entire load process, including request_firmware. [ 20.451400] ====================================================== [ 20.451420] [ INFO: possible circular locking dependency detected ] [ 20.451441] 4.3.0-rc5+ #1 Tainted: G W [ 20.451457] ------------------------------------------------------- [ 20.451477] plymouthd/371 is trying to acquire lock: [ 20.451494] (&dev->struct_mutex){+.+.+.}, at: [<ffffffffa0093c62>] drm_gem_mmap+0x112/0x290 [drm] [ 20.451538] but task is already holding lock: [ 20.451557] (&mm->mmap_sem){++++++}, at: [<ffffffff811fd9ac>] vm_mmap_pgoff+0x8c/0xf0 [ 20.451591] which lock already depends on the new lock. [ 20.451617] the existing dependency chain (in reverse order) is: [ 20.451640] -> #3 (&mm->mmap_sem){++++++}: [ 20.451661] [<ffffffff8110644e>] lock_acquire+0xce/0x1c0 [ 20.451683] [<ffffffff8120ec9a>] __might_fault+0x7a/0xa0 [ 20.451705] [<ffffffff8127e34e>] filldir+0x9e/0x130 [ 20.451726] [<ffffffff81295b86>] dcache_readdir+0x186/0x230 [ 20.451748] [<ffffffff8127e117>] iterate_dir+0x97/0x130 [ 20.451769] [<ffffffff8127e66a>] SyS_getdents+0x9a/0x130 [ 20.451790] [<ffffffff8184f2f2>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 20.451829] -> #2 (&sb->s_type->i_mutex_key#2){+.+.+.}: [ 20.451852] [<ffffffff8110644e>] lock_acquire+0xce/0x1c0 [ 20.451872] [<ffffffff8184b516>] mutex_lock_nested+0x86/0x400 [ 20.451893] [<ffffffff81277790>] walk_component+0x1d0/0x2a0 [ 20.451914] [<ffffffff812779f0>] link_path_walk+0x190/0x5a0 [ 20.451935] [<ffffffff8127803b>] path_openat+0xab/0x1260 [ 20.451955] [<ffffffff8127a651>] do_filp_open+0x91/0x100 [ 20.451975] [<ffffffff81267e67>] file_open_name+0xf7/0x150 [ 20.451995] [<ffffffff81267ef3>] filp_open+0x33/0x60 [ 20.452014] [<ffffffff8157e1e7>] _request_firmware+0x277/0x880 [ 20.452038] [<ffffffff8157e9e4>] request_firmware_work_func+0x34/0x80 [ 20.452060] [<ffffffff810c7020>] process_one_work+0x230/0x680 [ 20.452082] [<ffffffff810c74be>] worker_thread+0x4e/0x450 [ 20.452102] [<ffffffff810ce511>] kthread+0x101/0x120 [ 20.452121] [<ffffffff8184f66f>] ret_from_fork+0x3f/0x70 [ 20.452140] -> #1 (umhelper_sem){++++.+}: [ 20.452159] [<ffffffff8110644e>] lock_acquire+0xce/0x1c0 [ 20.452178] [<ffffffff8184c5c1>] down_read+0x51/0xa0 [ 20.452197] [<ffffffff810c203b>] usermodehelper_read_trylock+0x5b/0x130 [ 20.452221] [<ffffffff8157e147>] _request_firmware+0x1d7/0x880 [ 20.452242] [<ffffffff8157e821>] request_firmware+0x31/0x50 [ 20.452262] [<ffffffffa01b54a4>] intel_guc_ucode_init+0xf4/0x400 [i915] [ 20.452305] [<ffffffffa0213913>] i915_driver_load+0xd63/0x16e0 [i915] [ 20.452343] [<ffffffffa00987d9>] drm_dev_register+0xa9/0xc0 [drm] [ 20.452369] [<ffffffffa009ae3d>] drm_get_pci_dev+0x8d/0x1e0 [drm] [ 20.452396] [<ffffffffa01521e4>] i915_pci_probe+0x34/0x50 [i915] [ 20.452421] [<ffffffff81464675>] local_pci_probe+0x45/0xa0 [ 20.452443] [<ffffffff81465a6d>] pci_device_probe+0xfd/0x140 [ 20.452464] [<ffffffff8156a2e4>] driver_probe_device+0x224/0x480 [ 20.452486] [<ffffffff8156a5c8>] __driver_attach+0x88/0x90 [ 20.452505] [<ffffffff81567cf3>] bus_for_each_dev+0x73/0xc0 [ 20.452526] [<ffffffff81569a7e>] driver_attach+0x1e/0x20 [ 20.452546] [<ffffffff815695ae>] bus_add_driver+0x1ee/0x280 [ 20.452566] [<ffffffff8156b100>] driver_register+0x60/0xe0 [ 20.453197] [<ffffffff81464050>] __pci_register_driver+0x60/0x70 [ 20.453845] [<ffffffffa009b070>] drm_pci_init+0xe0/0x110 [drm] [ 20.454497] [<ffffffffa027f092>] 0xffffffffa027f092 [ 20.455156] [<ffffffff81002123>] do_one_initcall+0xb3/0x200 [ 20.455796] [<ffffffff811d8c01>] do_init_module+0x5f/0x1e7 [ 20.456434] [<ffffffff8114c4e6>] load_module+0x2126/0x27d0 [ 20.457071] [<ffffffff8114cdf9>] SyS_finit_module+0xb9/0xf0 [ 20.457738] [<ffffffff8184f2f2>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 20.458370] -> #0 (&dev->struct_mutex){+.+.+.}: [ 20.459773] [<ffffffff8110584f>] __lock_acquire+0x191f/0x1ba0 [ 20.460451] [<ffffffff8110644e>] lock_acquire+0xce/0x1c0 [ 20.461074] [<ffffffffa0093c88>] drm_gem_mmap+0x138/0x290 [drm] [ 20.461693] [<ffffffff8121a5ec>] mmap_region+0x3ec/0x670 [ 20.462298] [<ffffffff8121abb2>] do_mmap+0x342/0x420 [ 20.462901] [<ffffffff811fd9d2>] vm_mmap_pgoff+0xb2/0xf0 [ 20.463532] [<ffffffff81218f62>] SyS_mmap_pgoff+0x1f2/0x290 [ 20.464118] [<ffffffff8102187b>] SyS_mmap+0x1b/0x30 [ 20.464702] [<ffffffff8184f2f2>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 20.465289] other info that might help us debug this: [ 20.467179] Chain exists of: &dev->struct_mutex --> &sb->s_type->i_mutex_key#2 --> &mm->mmap_sem [ 20.468928] Possible unsafe locking scenario: [ 20.470161] CPU0 CPU1 [ 20.470745] ---- ---- [ 20.471325] lock(&mm->mmap_sem); [ 20.471902] lock(&sb->s_type->i_mutex_key#2); [ 20.472538] lock(&mm->mmap_sem); [ 20.473118] lock(&dev->struct_mutex); [ 20.473704] *** DEADLOCK *** Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 43ed384339ae67a74a8ba4851268b23216ef7a44 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Nov 3 22:15:14 2015 -0500 tracing: Put back comma for empty fields in boot string parsing Both early_enable_events() and apply_trace_boot_options() parse a boot string that may get parsed later on. They both use strsep() which converts a comma into a nul character. To still allow the boot string to be parsed again the same way, the nul character gets converted back to a comma after the token is processed. The problem is that these two functions check for an empty parameter (two commas in a row ",,"), and continue the loop if the parameter is empty, but fails to place the comma back. In this case, the second parsing will end at this blank field, and not process fields afterward. In most cases, users should not have an empty field, but if its going to be checked, the code might as well be correct. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a75a3f6fc92888e4119744d8594ffdf748c3d444 Merge: d2bea73 3bd2951 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 18:59:10 2015 -0800 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 main change in this cycle is another step in the big x86 system call interface rework by Andy Lutomirski, which moves most of the low level x86 entry code from assembly to C, for all syscall entries except native 64-bit system calls: arch/x86/entry/entry_32.S | 182 ++++------ arch/x86/entry/entry_64_compat.S | 547 ++++++++----------------------- 194 insertions(+), 535 deletions(-) ... our hope is that the final remaining step (converting native 64-bit system calls) will be less painful as all the previous steps, given that most of the legacies and quirks are concentrated around native 32-bit and compat environments" * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (47 commits) x86/entry/32: Fix FS and GS restore in opportunistic SYSEXIT x86/entry/32: Fix entry_INT80_32() to expect interrupts to be on um/x86: Fix build after x86 syscall changes x86/asm: Remove the xyz_cfi macros from dwarf2.h selftests/x86: Style fixes for the 'unwind_vdso' test x86/entry/64/compat: Document sysenter_fix_flags's reason for existence x86/entry: Split and inline syscall_return_slowpath() x86/entry: Split and inline prepare_exit_to_usermode() x86/entry: Use pt_regs_to_thread_info() in syscall entry tracing x86/entry: Hide two syscall entry assertions behind CONFIG_DEBUG_ENTRY x86/entry: Micro-optimize compat fast syscall arg fetch x86/entry: Force inlining of 32-bit syscall code x86/entry: Make irqs_disabled checks in exit code depend on lockdep x86/entry: Remove unnecessary IRQ twiddling in fast 32-bit syscalls x86/asm: Remove thread_info.sysenter_return x86/entry/32: Re-implement SYSENTER using the new C path x86/entry/32: Switch INT80 to the new C syscall path x86/entry/32: Open-code return tracking from fork and kthreads x86/entry/compat: Implement opportunistic SYSRETL for compat syscalls x86/vdso/compat: Wire up SYSENTER and SYSCSALL for compat userspace ... commit a4d1e68823033905de4f927e2e392e21a1c507e3 Author: Jiaxing Wang <hello.wjx@xxxxxxxxx> Date: Wed Nov 4 09:14:29 2015 +0800 tracing: Apply tracer specific options from kernel command line. Currently, the trace_options parameter is only applied in tracer_alloc_buffers() when global_trace.current_trace is nop_trace, so a tracer specific option will not be applied even when the specific tracer is also enabled from kernel command line. For example, the 'func_stack_trace' option can't be enabled with the following kernel parameter: ftrace=function ftrace_filter=kfree trace_options=func_stack_trace We can enable tracer specific options by simply apply the options again if the specific tracer is also supplied from command line and started in register_tracer(). To make trace_boot_options_buf can be parsed again, a comma and a space is put back if they were replaced by strsep and strstrip respectively. Also make register_tracer() be __init to access the __init data, and in fact register_tracer is only called from __init code. Link: http://lkml.kernel.org/r/1446599669-9294-1-git-send-email-hello.wjx@xxxxxxxxx Signed-off-by: Jiaxing Wang <hello.wjx@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit d2bea739f8b41d620c235d81e00289d01169dc3c Merge: 5352869 4faefda Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 18:33:15 2015 -0800 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 apic changes from Ingo Molnar: "The main changes in this cycle were: - Numachip updates: new hardware support, fixes and cleanups. (Daniel J Blueman) - misc smaller cleanups and fixlets" * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/io_apic: Make eoi_ioapic_pin() static x86/irq: Drop unlikely before IS_ERR_OR_NULL x86/x2apic: Make stub functions available even if !CONFIG_X86_LOCAL_APIC x86/apic: Deinline various functions x86/numachip: Fix timer build conflict x86/numachip: Introduce Numachip2 timer mechanisms x86/numachip: Add Numachip IPI optimisations x86/numachip: Add Numachip2 APIC support x86/numachip: Cleanup Numachip support commit 53528695ff6d8b77011bc818407c13e30914a946 Merge: b831ef2 e73e85f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 18:03:50 2015 -0800 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler changes from Ingo Molnar: "The main changes in this cycle were: - sched/fair load tracking fixes and cleanups (Byungchul Park) - Make load tracking frequency scale invariant (Dietmar Eggemann) - sched/deadline updates (Juri Lelli) - stop machine fixes, cleanups and enhancements for bugs triggered by CPU hotplug stress testing (Oleg Nesterov) - scheduler preemption code rework: remove PREEMPT_ACTIVE and related cleanups (Peter Zijlstra) - Rework the sched_info::run_delay code to fix races (Peter Zijlstra) - Optimize per entity utilization tracking (Peter Zijlstra) - ... misc other fixes, cleanups and smaller updates" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (57 commits) sched: Don't scan all-offline ->cpus_allowed twice if !CONFIG_CPUSETS sched: Move cpu_active() tests from stop_two_cpus() into migrate_swap_stop() sched: Start stopper early stop_machine: Kill cpu_stop_threads->setup() and cpu_stop_unpark() stop_machine: Kill smp_hotplug_thread->pre_unpark, introduce stop_machine_unpark() stop_machine: Change cpu_stop_queue_two_works() to rely on stopper->enabled stop_machine: Introduce __cpu_stop_queue_work() and cpu_stop_queue_two_works() stop_machine: Ensure that a queued callback will be called before cpu_stop_park() sched/x86: Fix typo in __switch_to() comments sched/core: Remove a parameter in the migrate_task_rq() function sched/core: Drop unlikely behind BUG_ON() sched/core: Fix task and run queue sched_info::run_delay inconsistencies sched/numa: Fix task_tick_fair() from disabling numa_balancing sched/core: Add preempt_count invariant check sched/core: More notrace annotations sched/core: Kill PREEMPT_ACTIVE sched/core, sched/x86: Kill thread_info::saved_preempt_count sched/core: Simplify preempt_count tests sched/core: Robustify preemption leak checks sched/core: Stop setting PREEMPT_ACTIVE ... commit b831ef2cad979912850e34f82415c0c5d59de8cb Merge: b02ac6b dc34bdd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 17:51:33 2015 -0800 Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RAS changes from Ingo Molnar: "The main system reliability related changes were from x86, but also some generic RAS changes: - AMD MCE error injection subsystem enhancements. (Aravind Gopalakrishnan) - Fix MCE and CPU hotplug interaction bug. (Ashok Raj) - kcrash bootup robustness fix. (Baoquan He) - kcrash cleanups. (Borislav Petkov) - x86 microcode driver rework: simplify it by unmodularizing it and other cleanups. (Borislav Petkov)" * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits) x86/mce: Add a default case to the switch in __mcheck_cpu_ancient_init() x86/mce: Add a Scalable MCA vendor flags bit MAINTAINERS: Unify the microcode driver section x86/microcode/intel: Move #ifdef DEBUG inside the function x86/microcode/amd: Remove maintainers from comments x86/microcode: Remove modularization leftovers x86/microcode: Merge the early microcode loader x86/microcode: Unmodularize the microcode driver x86/mce: Fix thermal throttling reporting after kexec kexec/crash: Say which char is the unrecognized x86/setup/crash: Check memblock_reserve() retval x86/setup/crash: Cleanup some more x86/setup/crash: Remove alignment variable x86/setup: Cleanup crashkernel reservation functions x86/amd_nb, EDAC: Rename amd_get_node_id() x86/setup: Do not reserve crashkernel high memory if low reservation failed x86/microcode/amd: Do not overwrite final patch levels x86/microcode/amd: Extract current patch level read to a function x86/ras/mce_amd_inj: Inject bank 4 errors on the NBC x86/ras/mce_amd_inj: Trigger deferred and thresholding errors interrupts ... commit b02ac6b18cd4e2c76bf0a102c20c429b973f5f76 Merge: 105ff3c bebd23a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 17:38:09 2015 -0800 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf updates from Ingo Molnar: "Kernel side changes: - Improve accuracy of perf/sched clock on x86. (Adrian Hunter) - Intel DS and BTS updates. (Alexander Shishkin) - Intel cstate PMU support. (Kan Liang) - Add group read support to perf_event_read(). (Peter Zijlstra) - Branch call hardware sampling support, implemented on x86 and PowerPC. (Stephane Eranian) - Event groups transactional interface enhancements. (Sukadev Bhattiprolu) - Enable proper x86/intel/uncore PMU support on multi-segment PCI systems. (Taku Izumi) - ... misc fixes and cleanups. The perf tooling team was very busy again with 200+ commits, the full diff doesn't fit into lkml size limits. Here's an (incomplete) list of the tooling highlights: New features: - Change the default event used in all tools (record/top): use the most precise "cycles" hw counter available, i.e. when the user doesn't specify any event, it will try using cycles:ppp, cycles:pp, etc and fall back transparently until it finds a working counter. (Arnaldo Carvalho de Melo) - Integration of perf with eBPF that, given an eBPF .c source file (or .o file built for the 'bpf' target with clang), will get it automatically built, validated and loaded into the kernel via the sys_bpf syscall, which can then be used and seen using 'perf trace' and other tools. (Wang Nan) Various user interface improvements: - Automatic pager invocation on long help output. (Namhyung Kim) - Search for more options when passing args to -h, e.g.: (Arnaldo Carvalho de Melo) $ perf report -h interface Usage: perf report [<options>] --gtk Use the GTK2 interface --stdio Use the stdio interface --tui Use the TUI interface - Show ordered command line options when -h is used or when an unknown option is specified. (Arnaldo Carvalho de Melo) - If options are passed after -h, show just its descriptions, not all options. (Arnaldo Carvalho de Melo) - Implement column based horizontal scrolling in the hists browser (top, report), making it possible to use the TUI for things like 'perf mem report' where there are many more columns than can fit in a terminal. (Arnaldo Carvalho de Melo) - Enhance the error reporting of tracepoint event parsing, e.g.: $ oldperf record -e sched:sched_switc usleep 1 event syntax error: 'sched:sched_switc' \___ unknown tracepoint Run 'perf list' for a list of valid events Now we get the much nicer: $ perf record -e sched:sched_switc ls event syntax error: 'sched:sched_switc' \___ can't access trace events Error: No permissions to read /sys/kernel/debug/tracing/events/sched/sched_switc Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug' And after we have those mount point permissions fixed: $ perf record -e sched:sched_switc ls event syntax error: 'sched:sched_switc' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing/events/sched/sched_switc not found. Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?. I.e. basically now the event parsing routing uses the strerror_open() routines introduced by and used in 'perf trace' work. (Jiri Olsa) - Fail properly when pattern matching fails to find a tracepoint, i.e. '-e non:existent' was being correctly handled, with a proper error message about that not being a valid event, but '-e non:existent*' wasn't, fix it. (Jiri Olsa) - Do event name substring search as last resort in 'perf list'. (Arnaldo Carvalho de Melo) E.g.: # perf list clock List of pre-defined events (to be used in -e): cpu-clock [Software event] task-clock [Software event] uncore_cbox_0/clockticks/ [Kernel PMU event] uncore_cbox_1/clockticks/ [Kernel PMU event] kvm:kvm_pvclock_update [Tracepoint event] kvm:kvm_update_master_clock [Tracepoint event] power:clock_disable [Tracepoint event] power:clock_enable [Tracepoint event] power:clock_set_rate [Tracepoint event] syscalls:sys_enter_clock_adjtime [Tracepoint event] syscalls:sys_enter_clock_getres [Tracepoint event] syscalls:sys_enter_clock_gettime [Tracepoint event] syscalls:sys_enter_clock_nanosleep [Tracepoint event] syscalls:sys_enter_clock_settime [Tracepoint event] syscalls:sys_exit_clock_adjtime [Tracepoint event] syscalls:sys_exit_clock_getres [Tracepoint event] syscalls:sys_exit_clock_gettime [Tracepoint event] syscalls:sys_exit_clock_nanosleep [Tracepoint event] syscalls:sys_exit_clock_settime [Tracepoint event] Intel PT hardware tracing enhancements: - Accept a zero --itrace period, meaning "as often as possible". In the case of Intel PT that is the same as a period of 1 and a unit of 'instructions' (i.e. --itrace=i1i). (Adrian Hunter) - Harmonize itrace's synthesized callchains with the existing --max-stack tool option. (Adrian Hunter) - Allow time to be displayed in nanoseconds in 'perf script'. (Adrian Hunter) - Fix potential infinite loop when handling Intel PT timestamps. (Adrian Hunter) - Slighly improve Intel PT debug logging. (Adrian Hunter) - Warn when AUX data has been lost, just like when processing PERF_RECORD_LOST. (Adrian Hunter) - Further document export-to-postgresql.py script. (Adrian Hunter) - Add option to synthesize branch stack from auxtrace data. (Adrian Hunter) Misc notable changes: - Switch the default callchain output mode to 'graph,0.5,caller', to make it look like the default for other tools, reducing the learning curve for people used to 'caller' based viewing. (Arnaldo Carvalho de Melo) - various call chain usability enhancements. (Namhyung Kim) - Introduce the 'P' event modifier, meaning 'max precision level, please', i.e.: $ perf record -e cycles:P usleep 1 Is now similar to: $ perf record usleep 1 Useful, for instance, when specifying multiple events. (Jiri Olsa) - Add 'socket' sort entry, to sort by the processor socket in 'perf top' and 'perf report'. (Kan Liang) - Introduce --socket-filter to 'perf report', for filtering by processor socket. (Kan Liang) - Add new "Zoom into Processor Socket" operation in the perf hists browser, used in 'perf top' and 'perf report'. (Kan Liang) - Allow probing on kmodules without DWARF. (Masami Hiramatsu) - Fix 'perf probe -l' for probes added to kernel module functions. (Masami Hiramatsu) - Preparatory work for the 'perf stat record' feature that will allow generating perf.data files with counting data in addition to the sampling mode we have now (Jiri Olsa) - Update libtraceevent KVM plugin. (Paolo Bonzini) - ... plus lots of other enhancements that I failed to list properly, by: Adrian Hunter, Alexander Shishkin, Andi Kleen, Andrzej Hajda, Arnaldo Carvalho de Melo, Dima Kogan, Don Zickus, Geliang Tang, He Kuang, Huaitong Han, Ingo Molnar, Jan Stancek, Jiri Olsa, Kan Liang, Kirill Tkhai, Masami Hiramatsu, Matt Fleming, Namhyung Kim, Paolo Bonzini, Peter Zijlstra, Rabin Vincent, Scott Wood, Stephane Eranian, Sukadev Bhattiprolu, Taku Izumi, Vaishali Thakkar, Wang Nan, Yang Shi and Yunlong Song" * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (260 commits) perf unwind: Pass symbol source to libunwind tools build: Fix libiberty feature detection perf tools: Compile scriptlets to BPF objects when passing '.c' to --event perf record: Add clang options for compiling BPF scripts perf bpf: Attach eBPF filter to perf event perf tools: Make sure fixdep is built before libbpf perf script: Enable printing of branch stack perf trace: Add cmd string table to decode sys_bpf first arg perf bpf: Collect perf_evsel in BPF object files perf tools: Load eBPF object into kernel perf tools: Create probe points for BPF programs perf tools: Enable passing bpf object file to --event perf ebpf: Add the libbpf glue perf tools: Make perf depend on libbpf perf symbols: Fix endless loop in dso__split_kallsyms_for_kcore perf tools: Enable pre-event inherit setting by config terms perf symbols: we can now read separate debug-info files based on a build ID perf symbols: Fix type error when reading a build-id perf tools: Search for more options when passing args to -h perf stat: Cache aggregated map entries in extra cpumap ... commit 105ff3cbf225036b75a6a46c96d1ddce8e7bdc66 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 17:22:17 2015 -0800 atomic: remove all traces of READ_ONCE_CTRL() and atomic*_read_ctrl() This seems to be a mis-reading of how alpha memory ordering works, and is not backed up by the alpha architecture manual. The helper functions don't do anything special on any other architectures, and the arguments that support them being safe on other architectures also argue that they are safe on alpha. Basically, the "control dependency" is between a previous read and a subsequent write that is dependent on the value read. Even if the subsequent write is actually done speculatively, there is no way that such a speculative write could be made visible to other cpu's until it has been committed, which requires validating the speculation. Note that most weakely ordered architectures (very much including alpha) do not guarantee any ordering relationship between two loads that depend on each other on a control dependency: read A if (val == 1) read B because the conditional may be predicted, and the "read B" may be speculatively moved up to before reading the value A. So we require the user to insert a smp_rmb() between the two accesses to be correct: read A; if (A == 1) smp_rmb() read B Alpha is further special in that it can break that ordering even if the *address* of B depends on the read of A, because the cacheline that is read later may be stale unless you have a memory barrier in between the pointer read and the read of the value behind a pointer: read ptr read offset(ptr) whereas all other weakly ordered architectures guarantee that the data dependency (as opposed to just a control dependency) will order the two accesses. As a result, alpha needs a "smp_read_barrier_depends()" in between those two reads for them to be ordered. The coontrol dependency that "READ_ONCE_CTRL()" and "atomic_read_ctrl()" had was a control dependency to a subsequent *write*, however, and nobody can finalize such a subsequent write without having actually done the read. And were you to write such a value to a "stale" cacheline (the way the unordered reads came to be), that would seem to lose the write entirely. So the things that make alpha able to re-order reads even more aggressively than other weak architectures do not seem to be relevant for a subsequent write. Alpha memory ordering may be strange, but there's no real indication that it is *that* strange. Also, the alpha architecture reference manual very explicitly talks about the definition of "Dependence Constraints" in section 5.6.1.7, where a preceding read dominates a subsequent write. Such a dependence constraint admittedly does not impose a BEFORE (alpha architecture term for globally visible ordering), but it does guarantee that there can be no "causal loop". I don't see how you could avoid such a loop if another cpu could see the stored value and then impact the value of the first read. Put another way: the read and the write could not be seen as being out of order wrt other cpus. So I do not see how these "x_ctrl()" functions can currently be necessary. I may have to eat my words at some point, but in the absense of clear proof that alpha actually needs this, or indeed even an explanation of how alpha could _possibly_ need it, I do not believe these functions are called for. And if it turns out that alpha really _does_ need a barrier for this case, that barrier still should not be "smp_read_barrier_depends()". We'd have to make up some new speciality barrier just for alpha, along with the documentation for why it really is necessary. Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul E McKenney <paulmck@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d63a9788650fcd999b34584316afee6bd4378f19 Merge: 2814228 6e490b0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:10:43 2015 -0800 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull locking changes from Ingo Molnar: "The main changes in this cycle were: - More gradual enhancements to atomic ops: new atomic*_read_ctrl() ops, synchronize atomic_{read,set}() ordering requirements between architectures, add atomic_long_t bitops. (Peter Zijlstra) - Add _{relaxed|acquire|release}() variants for inc/dec atomics and use them in various locking primitives: mutex, rtmutex, mcs, rwsem. This enables weakly ordered architectures (such as arm64) to make use of more locking related optimizations. (Davidlohr Bueso) - Implement atomic[64]_{inc,dec}_relaxed() on ARM. (Will Deacon) - Futex kernel data cache footprint micro-optimization. (Rasmus Villemoes) - pvqspinlock runtime overhead micro-optimization. (Waiman Long) - misc smaller fixlets" * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: ARM, locking/atomics: Implement _relaxed variants of atomic[64]_{inc,dec} locking/rwsem: Use acquire/release semantics locking/mcs: Use acquire/release semantics locking/rtmutex: Use acquire/release semantics locking/mutex: Use acquire/release semantics locking/asm-generic: Add _{relaxed|acquire|release}() variants for inc/dec atomics atomic: Implement atomic_read_ctrl() atomic, arch: Audit atomic_{read,set}() atomic: Add atomic_long_t bitops futex: Force hot variables into a single cache line locking/pvqspinlock: Kick the PV CPU unconditionally when _Q_SLOW_VAL locking/osq: Relax atomic semantics locking/qrwlock: Rename ->lock to ->wait_lock locking/Documentation/lockstat: Fix typo - lokcing -> locking locking/atomics, cmpxchg: Privatize the inclusion of asm/cmpxchg.h commit 3b5bab390181968e403886a45c70f9c13b5b6d29 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:22:29 2015 +0000 selftests: breakpoint: Actually build it Fixes: 9fae100cbd10 ("selftests: breakpoints: fix installing error on ...") Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit ee00479d6702393bf5eda94775349a2e28ba78fa Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:22:22 2015 +0000 selftests: vm: Try harder to allocate huge pages If we need to increase the number of huge pages, drop caches first to reduce fragmentation and then check that we actually allocated as many as we wanted. Retry once if that doesn't work. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 3b4d3819eca5787bae77314851a799ecbf0da02b Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:22:14 2015 +0000 selftests: Make scripts executable Fixes: 87b2d44026e0 ("selftests: add memfd/sealing page-pinning tests") Fixes: 2bf9e0ab08c6 ("locking/static_keys: Provide a selftest") Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit c28628b867485165fd301e061bb9a1284ede700b Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:22:07 2015 +0000 selftests: kprobe: Choose an always-defined function to probe do_fork() is no longer defined on x86, so probe _do_fork() instead. Fixes: 3033f14ab78c ("clone: support passing tls argument via C ...") Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 55f4d731c5b27f3dfe7eaeeb136cd60312f50270 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:21:57 2015 +0000 selftests: memfd: Stop unnecessary rebuilds Instead of explicitly running the compiler, add dependencies and take advantage of implicit rules to build only as necessary. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit c1ee48315d9f0be2c11c61d388a3938c2d4b010a Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:21:46 2015 +0000 selftests: Add missing #include directives Several C programs fail to include the headers declaring all the functions they call, resulting in warnings or errors. After this, memfd_test.c is still missing some function declarations but can't easily get them because of a conflict between <linux/fcntl.h> and <sys/fcntl.h>. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 281422869942c19f05a08d4017c633d08d390938 Merge: f5a8160 b33e18f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 15:40:38 2015 -0800 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU changes from Ingo Molnar: "The main changes in this cycle were: - Improvements to expedited grace periods (Paul E McKenney) - Performance improvements to and locktorture tests for percpu-rwsem (Oleg Nesterov, Paul E McKenney) - Torture-test changes (Paul E McKenney, Davidlohr Bueso) - Documentation updates (Paul E McKenney) - Miscellaneous fixes (Paul E McKenney, Boqun Feng, Oleg Nesterov, Patrick Marlier)" * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits) fs/writeback, rcu: Don't use list_entry_rcu() for pointer offsetting in bdi_split_work_to_wbs() rcu: Better hotplug handling for synchronize_sched_expedited() rcu: Enable stall warnings for synchronize_rcu_expedited() rcu: Add tasks to expedited stall-warning messages rcu: Add online/offline info to expedited stall warning message rcu: Consolidate expedited CPU selection rcu: Prepare for consolidating expedited CPU selection cpu: Remove try_get_online_cpus() rcu: Stop excluding CPU hotplug in synchronize_sched_expedited() rcu: Stop silencing lockdep false positive for expedited grace periods rcu: Switch synchronize_sched_expedited() to IPI locktorture: Fix module unwind when bad torture_type specified torture: Forgive non-plural arguments rcutorture: Fix unused-function warning for torturing_tasks() rcutorture: Fix module unwind when bad torture_type specified rcu_sync: Cleanup the CONFIG_PROVE_RCU checks locking/percpu-rwsem: Clean up the lockdep annotations in percpu_down_read() locking/percpu-rwsem: Fix the comments outdated by rcu_sync locking/percpu-rwsem: Make use of the rcu_sync infrastructure locking/percpu-rwsem: Make percpu_free_rwsem() after kzalloc() safe ... commit f5a8160c1e055c0fd8d16a5b3ac97c638365b0db Merge: 7eeef2a 78b9bc9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 15:05:52 2015 -0800 Merge branch 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull EFI changes from Ingo Molnar: "The main changes in this cycle were: - further EFI code generalization to make it more workable for ARM64 - various extensions, such as 64-bit framebuffer address support, UEFI v2.5 EFI_PROPERTIES_TABLE support - code modularization simplifications and cleanups - new debugging parameters - various fixes and smaller additions" * 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits) efi: Fix warning of int-to-pointer-cast on x86 32-bit builds efi: Use correct type for struct efi_memory_map::phys_map x86/efi: Fix kernel panic when CONFIG_DEBUG_VIRTUAL is enabled efi: Add "efi_fake_mem" boot option x86/efi: Rename print_efi_memmap() to efi_print_memmap() efi: Auto-load the efi-pstore module efi: Introduce EFI_NX_PE_DATA bit and set it from properties table efi: Add support for UEFIv2.5 Properties table efi: Add EFI_MEMORY_MORE_RELIABLE support to efi_md_typeattr_format() efifb: Add support for 64-bit frame buffer addresses efi/arm64: Clean up efi_get_fdt_params() interface arm64: Use core efi=debug instead of uefi_debug command line parameter efi/x86: Move efi=debug option parsing to core drivers/firmware: Make efi/esrt.c driver explicitly non-modular efi: Use the generic efi.memmap instead of 'memmap' acpi/apei: Use appropriate pgprot_t to map GHES memory arm64, acpi/apei: Implement arch_apei_get_mem_attributes() arm64/mm: Add PROT_DEVICE_nGnRnE and PROT_NORMAL_WT acpi, x86: Implement arch_apei_get_mem_attributes() efi, x86: Rearrange efi_mem_attributes() ... commit 7eeef2abe87dc0d8c276f97ccfdb1f42d9d1e4d8 Merge: 6aa2fdb b2f7392 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 15:04:04 2015 -0800 Merge branch 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull wchan kernel address hiding from Ingo Molnar: "This fixes a wchan related information leak in /proc/PID/stat. There's a bit of an ABI twist to it: instead of setting the wchan field to 0 (which is our usual technique) we set it conditionally to a 0/1 flag to keep ABI compatibility with older procps versions that only fetches /proc/PID/wchan (symbolic names) if the absolute wchan address is nonzero" * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: fs/proc, core/debug: Don't expose absolute kernel addresses via wchan commit 5f436e5ef170e5d3301bf5777a3c7c048295db1c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 01:37:31 2015 +0300 nvme: lightnvm: clean up a data type "nlb_pr_rq" can't be more than u32 because "len" is a u32. Later we truncate it to u32 anyway when we calculate min_t(). Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit a748941c95d2cd8f1a23e4e716b3178179c7fdbe Author: Michael Welling <mwelling@xxxxxxxx> Date: Mon Nov 2 22:54:23 2015 -0800 Input: tsc2004 - add support for tsc2004 This adds support for the i2c based tsc2004 touchscreen controller. Signed-off-by: Michael Welling <mwelling@xxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ef3b98c2c3fc6a73ec1e98a463c38329e66c6b95 Author: Michael Welling <mwelling@xxxxxxxx> Date: Mon Nov 2 17:51:49 2015 -0800 Input: tsc200x-core - rename functions and variables The functions, variables, and defines of the new tsc200x-core.c are renamed to tsc200x instead of tsc2005 avoid possible confusion. Signed-off-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6ac2438132ae1f8b12285f9d97a4c8d6aa6f89f0 Author: Michael Welling <mwelling@xxxxxxxx> Date: Mon Nov 2 17:45:51 2015 -0800 Input: tsc2005 - separate SPI and core functions This patch separates the SPI functionality from core functionality that overlaps with the tsc2004. Prepares kernel for new tsc2004 driver without much redundant code. Signed-off-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 84a73014d86fd660822a20c032625e3afe99ca58 Merge: 1955621 bf5f18d Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Nov 3 14:45:16 2015 -0800 Merge branch 'next' into for-linus Prepare first round of input updates for 4.3 merge window. commit 6aa2fdb87cf01d7746955c600cbac352dc04d451 Merge: 7b2a430 d9e4ad5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 14:40:01 2015 -0800 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq updates from Thomas Gleixner: "The irq departement delivers: - Rework the irqdomain core infrastructure to accomodate ACPI based systems. This is required to support ARM64 without creating artificial device tree nodes. - Sanitize the ACPI based ARM GIC initialization by making use of the new firmware independent irqdomain core - Further improvements to the generic MSI management - Generalize the irq migration on CPU hotplug - Improvements to the threaded interrupt infrastructure - Allow the migration of "chained" low level interrupt handlers - Allow optional force masking of interrupts in disable_irq[_nosysnc] - Support for two new interrupt chips - Sigh! - A larger set of errata fixes for ARM gicv3 - The usual pile of fixes, updates, improvements and cleanups all over the place" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits) Document that IRQ_NONE should be returned when IRQ not actually handled PCI/MSI: Allow the MSI domain to be device-specific PCI: Add per-device MSI domain hook of/irq: Use the msi-map property to provide device-specific MSI domain of/irq: Split of_msi_map_rid to reuse msi-map lookup irqchip/gic-v3-its: Parse new version of msi-parent property PCI/MSI: Use of_msi_get_domain instead of open-coded "msi-parent" parsing of/irq: Use of_msi_get_domain instead of open-coded "msi-parent" parsing of/irq: Add support code for multi-parent version of "msi-parent" irqchip/gic-v3-its: Add handling of PCI requester id. PCI/MSI: Add helper function pci_msi_domain_get_msi_rid(). of/irq: Add new function of_msi_map_rid() Docs: dt: Add PCI MSI map bindings irqchip/gic-v2m: Add support for multiple MSI frames irqchip/gic-v3: Fix translation of LPIs after conversion to irq_fwspec irqchip/mxs: Add Alphascale ASM9260 support irqchip/mxs: Prepare driver for hardware with different offsets irqchip/mxs: Panic if ioremap or domain creation fails irqdomain: Documentation updates irqdomain/msi: Use fwnode instead of of_node ... commit 159b5bb46492e4dcef2070b12861030bc360402b Merge: 56e7433 469eabb Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Nov 3 17:29:03 2015 -0500 Merge branch 'for-4.3-fixes' into for-4.4 commit 56e74338a535cbcc2f2da08b1ea1a92920194364 Author: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Date: Tue Nov 3 14:14:18 2015 -0800 ahci: add new Intel device IDs Adding Intel codename Lewisburg platform device IDs for SATA. Signed-off-by: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 7b2a4306f9e7d64bb408a6df3bb419500578068a Merge: 316dde2 03f136a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 14:13:41 2015 -0800 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer updates from Thomas Gleixner: "The timer departement provides: - More y2038 work in the area of ntp and pps. - Optimization of posix cpu timers - New time related selftests - Some new clocksource drivers - The usual pile of fixes, cleanups and improvements" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits) timeconst: Update path in comment timers/x86/hpet: Type adjustments clocksource/drivers/armada-370-xp: Implement ARM delay timer clocksource/drivers/tango_xtal: Add new timer for Tango SoCs clocksource/drivers/imx: Allow timer irq affinity change clocksource/drivers/exynos_mct: Use container_of() instead of this_cpu_ptr() clocksource/drivers/h8300_*: Remove unneeded memset()s clocksource/drivers/sh_cmt: Remove unneeded memset() in sh_cmt_setup() clocksource/drivers/em_sti: Remove unneeded memset()s clocksource/drivers/mediatek: Use GPT as sched clock source clockevents/drivers/mtk: Fix spurious interrupt leading to crash posix_cpu_timer: Reduce unnecessary sighand lock contention posix_cpu_timer: Convert cputimer->running to bool posix_cpu_timer: Check thread timers only when there are active thread timers posix_cpu_timer: Optimize fastpath_timer_check() timers, kselftest: Add 'adjtick' test to validate adjtimex() tick adjustments timers: Use __fls in apply_slack() clocksource: Remove return statement from void functions net: sfc: avoid using timespec ntp/pps: use y2038 safe types in pps_event_time ... commit 316dde2fe95b33657de1fc2db54bfc16aa065790 Merge: 2c2b828 116ef0f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 13:54:35 2015 -0800 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM updates from Russell King: "In this ARM merge, we remove more lines than we add. Changes include: - Enable imprecise aborts early, so that bus errors aren't masked until later in the boot. This has the side effect that boot loaders which provoke these aborts can cause the kernel to crash early in boot, so we install a handler to report this event around the site where these are enabled. - Remove the buggy but impossible to enable cmpxchg syscall code. - Add unwinding annotations to some assembly code. - Add support for atomic half-word exchange for ARMv6k+. - Reduce ioremap() alignment for SMP/LPAE cases where we don't need the large alignment. - Addition of an "optimal" 3G configuration for systems with 1G of RAM. - Increase vmalloc space by 128M. - Constify some SMP operations structures, which have never been writable. - Improve ARMs dma_mmap() support for mapping DMA coherent mappings into userspace. - Fix to the NMI backtrace code in the IPI case on ARM where the failing CPU gets stuck for 10s waiting for its own IPI to be delivered. - Removal of legacy PM support from the AMBA bus driver. - Another fix for the previous fix of vdsomunge" * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (23 commits) ARM: 8449/1: fix bug in vdsomunge swab32 macro arm: add missing of_node_put ARM: 8447/1: catch pending imprecise abort on unmask ARM: 8446/1: amba: Remove unused callbacks for legacy system PM ARM: 8443/1: Adding support for atomic half word exchange ARM: clean up TWD after previous patch ARM: 8441/2: twd: Don't set CLOCK_EVT_FEAT_C3STOP unconditionally ARM: 8440/1: remove obsolete documentation ARM: make highpte an expert option ARM: 8433/1: add a VMSPLIT_3G_OPT config option ARM: 8439/1: Fix backtrace generation when IPI is masked ARM: 8428/1: kgdb: Fix registers on sleeping tasks ARM: 8427/1: dma-mapping: add support for offset parameter in dma_mmap() ARM: 8426/1: dma-mapping: add missing range check in dma_mmap() ARM: remove user cmpxchg syscall ARM: 8438/1: Add unwinding to __clear_user_std() ARM: 8436/1: hw_breakpoint: remove unnecessary header ARM: 8434/2: Revert "7655/1: smp_twd: make twd_local_timer_of_register() no-op for nosmp" ARM: 8432/1: move VMALLOC_END from 0xff000000 to 0xff800000 ARM: 8430/1: use default ioremap alignment for SMP or LPAE ... commit 627645fdb657dfae5fcf26bbf6a6e1b63751dbc8 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Nov 3 16:37:15 2015 -0500 tracing: Add some documentation about set_event_pid Update Documentation to include some comments about how to use set_event_pid. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2c2b8285dcd4d0674b6e77269cf32721fffea59e Merge: 0921f1e 5a364c2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 13:21:09 2015 -0800 Merge tag 'arc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC updates from Vineet Gupta: - Support for new MM features in ARCv2 cores (THP, PAE40) Some generic THP bits are touched - all ACKed by Kirill - Platform framework updates to prepare for EZChip arrival (still in works) - ARC Public Mailing list setup finally (linux-snps-arc@xxxxxxxxxxxxxxxxxx) * tag 'arc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (42 commits) ARC: mm: PAE40 support ARC: mm: PAE40: tlbex.S: Explicitify the size of pte_t ARC: mm: PAE40: switch to using phys_addr_t for physical addresses ARC: mm: HIGHMEM: populate high memory from DT ARC: mm: HIGHMEM: kmap API implementation ARC: mm: preps ahead of HIGHMEM support #2 ARC: mm: preps ahead of HIGHMEM support ARC: mm: use generic macros _BITUL()/_AC() ARC: mm: Improve Duplicate PD Fault handler MAINTAINERS: Add public mailing list for ARC ARC: Ensure DT mem base is same as what kernel is built with ARC: boot: Non Master cpus only need to call EARLY_CPU_SETUP once ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_smp() ARC: smp: Introduce smp hook @init_irq_cpu called for all cores ARC: smp: Rename platform hook @init_smp -> @init_cpu_smp ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_early_smp() ARC: smp: Introduce smp hook @init_early_smp for Master core ARC: remove @init_time, @init_irq platform callbacks ARC: smp: irqchip: handle IPI as percpu irq like timer ARC: boot: Support Halt-on-reset and Run-on-reset SMP booting modes ... commit 54ed1444052467044e9e01334ac8123dd6345211 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Nov 3 16:19:02 2015 -0500 ring_buffer: Remove unneeded smp_wmb() before wakeup of reader benchmark wake_up_process() has a memory barrier before doing anything, thus adding a memory barrier before calling it is redundant. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0921f1efb605d8fda43d794734222d1ad39c6840 Merge: 15f9340 4247896 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 13:15:46 2015 -0800 Merge tag 'cris-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris Pull CRIS changes from Jesper Nilsson: "Mostly another batch of code removal due to move to standard frameworks for CRISv32, initial devicetree configuration for a couple of boards, and some small fixes for kgdb and time handling" * tag 'cris-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris: cris: Drop reference to get_cmos_time() CRIS: Drop code related to obsolete or unused kconfigs cris: time: Cleanup of persistent clock stuff cris: re-use helpers to dump data in hex format CRIS v32: remove old GPIO and LEDs code CRIS v32: remove I2C bitbanging driver CRIS v32: add ARTPEC-3 and P1343 device trees CRIS v32: dev88: add GPIO, LEDs, RTC, temp sensor CRIS: add dt-bindings symlink CRIS v32: increase NR_IRQS cris: arch-v10: kgdb: Add '__used' for static variable is_dyn_brkp cris: arch-v10: kgdb: Use BAR instead of DTP0 for register P12 cris: kgdb: use native hex2bin commit 919cd9799936843d0af4f0904a3e39e70294c4d8 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Sep 4 12:45:56 2015 -0400 tracing: Allow dumping traces without tracking trace started cpus We don't init iter->started when dumping the ftrace buffer, and there's no real need to do so - so allow skipping that check if the iter doesn't have an initialized ->started cpumask. Link: http://lkml.kernel.org/r/1441385156-27279-1-git-send-email-sasha.levin@xxxxxxxxxx Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 15f93405aae307a3cb2c33c795286463601963f7 Merge: df91fba 6ebbabb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 13:09:32 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 Pull avr32 update from Hans-Christian Noren Egtvedt. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32: avr32: atngw100: remove useless include commit f47cb66df2f89dd1f796742c64f9ead77e548a6a Author: Petr Mladek <pmladek@xxxxxxxx> Date: Mon Sep 7 14:38:38 2015 +0200 ring_buffer: Fix more races when terminating the producer in the benchmark The commit b44754d8262d3aab8 ("ring_buffer: Allow to exit the ring buffer benchmark immediately") added a hack into ring_buffer_producer() that set @kill_test when kthread_should_stop() returned true. It improved the situation a lot. It stopped the kthread in most cases because the producer spent most of the time in the patched while cycle. But there are still few possible races when kthread_should_stop() is set outside of the cycle. Then we do not set @kill_test and some other checks pass. This patch adds a better fix. It renames @test_kill/TEST_KILL() into a better descriptive @test_error/TEST_ERROR(). Also it introduces break_test() function that checks for both @test_error and kthread_should_stop(). The new function is used in the producer when the check for @test_error is not enough. It is not used in the consumer because its state is manipulated by the producer via the "reader_finish" variable. Also we add a missing check into ring_buffer_producer_thread() between setting TASK_INTERRUPTIBLE and calling schedule_timeout(). Otherwise, we might miss a wakeup from kthread_stop(). Link: http://lkml.kernel.org/r/1441629518-32712-3-git-send-email-pmladek@xxxxxxxx Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8b46ff6938d2c78a16520a37086944ecbaa8ab8b Author: Petr Mladek <pmladek@xxxxxxxx> Date: Mon Sep 7 14:38:37 2015 +0200 ring_buffer: Do no not complete benchmark reader too early It seems that complete(&read_done) might be called too early in some situations. 1st scenario: ------------- CPU0 CPU1 ring_buffer_producer_thread() wake_up_process(consumer); wait_for_completion(&read_start); ring_buffer_consumer_thread() complete(&read_start); ring_buffer_producer() # producing data in # the do-while cycle ring_buffer_consumer(); # reading data # got error # set kill_test = 1; set_current_state( TASK_INTERRUPTIBLE); if (reader_finish) # false schedule(); # producer still in the middle of # do-while cycle if (consumer && !(cnt % wakeup_interval)) wake_up_process(consumer); # spurious wakeup while (!reader_finish && !kill_test) # leaving because # kill_test == 1 reader_finish = 0; complete(&read_done); 1st BANG: We might access uninitialized "read_done" if this is the the first round. # producer finally leaving # the do-while cycle because kill_test == 1; if (consumer) { reader_finish = 1; wake_up_process(consumer); wait_for_completion(&read_done); 2nd BANG: This will never complete because consumer already did the completion. 2nd scenario: ------------- CPU0 CPU1 ring_buffer_producer_thread() wake_up_process(consumer); wait_for_completion(&read_start); ring_buffer_consumer_thread() complete(&read_start); ring_buffer_producer() # CPU3 removes the module <--- difference from # and stops producer <--- the 1st scenario if (kthread_should_stop()) kill_test = 1; ring_buffer_consumer(); while (!reader_finish && !kill_test) # kill_test == 1 => we never go # into the top level while() reader_finish = 0; complete(&read_done); # producer still in the middle of # do-while cycle if (consumer && !(cnt % wakeup_interval)) wake_up_process(consumer); # spurious wakeup while (!reader_finish && !kill_test) # leaving because kill_test == 1 reader_finish = 0; complete(&read_done); BANG: We are in the same "bang" situations as in the 1st scenario. Root of the problem: -------------------- ring_buffer_consumer() must complete "read_done" only when "reader_finish" variable is set. It must not be skipped due to other conditions. Note that we still must keep the check for "reader_finish" in a loop because there might be spurious wakeups as described in the above scenarios. Solution: ---------- The top level cycle in ring_buffer_consumer() will finish only when "reader_finish" is set. The data will be read in "while-do" cycle so that they are not read after an error (kill_test == 1) or a spurious wake up. In addition, "reader_finish" is manipulated by the producer thread. Therefore we add READ_ONCE() to make sure that the fresh value is read in each cycle. Also we add the corresponding barrier to synchronize the sleep check. Next we set the state back to TASK_RUNNING for the situation where we did not sleep. Just from paranoid reasons, we initialize both completions statically. This is safer, in case there are other races that we are unaware of. As a side effect we could remove the memory barrier from ring_buffer_producer_thread(). IMHO, this was the reason for the barrier. ring_buffer_reset() uses spin locks that should provide the needed memory barrier for using the buffer. Link: http://lkml.kernel.org/r/1441629518-32712-2-git-send-email-pmladek@xxxxxxxx Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit df91fba5e7ed414b1856b33bbed6d55439a14c47 Merge: e8a2a17 bab84fa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 13:01:48 2015 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k Pull m68k update from Geert Uytterhoeven. * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k/sun3: Use %pM format specifier to print ethernet address commit 941c3ff3102ccce440034d59cf9e4e9cc10b720d Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sat Sep 12 09:37:18 2015 +0800 Sunrpc: Supports hexadecimal number for sysctl files of sunrpc debug The sunrpc debug sysctl files only accept decimal number right now. But all the XXXDBUG_XXX macros are defined as hexadecimal. It is not easy to set or check an separate flag. This patch let those files support accepting hexadecimal number, (decimal number is also supported). Also, display it as hexadecimal. v2, Remove duplicate parsing of '0x...', just using simple_strtol(tmpbuf, &s, 0) Fix a bug of isspace() checking after parsing Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e8a2a176dd0f3e4c7252b79dc5cea6bd4acaf78e Merge: 5062ecd ffdc307 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 12:20:29 2015 -0800 Merge tag 'leds_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds Pull LED updates from Jacek Anaszewski: - Move the out-of-LED-tree led-sead3 driver to the LED subsystem. - Add 'invert' sysfs attribute to the heartbeat trigger. - Add Device Tree support to the leds-netxbig driver and add related DT nodes to the kirkwood-netxbig.dtsi and kirkwood-net5big.dts files. Remove static LED setup from the related board files. - Remove redundant brightness conversion operation from leds-netxbig. - Improve leds-bcm6328 driver: improve default-state handling, add more init configuration options, print invalid LED instead of warning only about maximum LED value. - Add a shutdown function for setting gpio-leds into off state when shutting down. - Fix DT flash timeout property naming in leds-aat1290.txt. - Switch to using devm prefixed version of led_classdev_register() (leds-cobalt-qube, leds-hp6xx, leds-ot200, leds-ipaq-micro, leds-netxbig, leds-locomo, leds-menf21bmc, leds-net48xx, leds-wrap). - Add missing of_node_put (leds-powernv, leds-bcm6358, leds-bcm6328, leds-88pm860x). - Coding style fixes and cleanups: led-class/led-core, leds-ipaq-micro. * tag 'leds_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (27 commits) leds: 88pm860x: add missing of_node_put leds: bcm6328: add missing of_node_put leds: bcm6358: add missing of_node_put powerpc/powernv: add missing of_node_put leds: leds-wrap.c: Use devm_led_classdev_register leds: aat1290: Fix property naming of flash-timeout-us leds: leds-net48xx: Use devm_led_classdev_register leds: leds-menf21bmc.c: Use devm_led_class_register leds: leds-locomo.c: Use devm_led_classdev_register leds: leds-gpio: add shutdown function Documentation: leds: update DT bindings for leds-bcm6328 leds-bcm6328: add more init configuration options leds-bcm6328: simplify and improve default-state handling leds-bcm6328: print invalid LED leds: netxbig: set led_classdev max_brightness leds: netxbig: convert to use the devm_ functions ARM: mvebu: remove static LED setup for netxbig boards ARM: Kirkwood: add LED DT entries for netxbig boards leds: netxbig: add device tree binding leds: triggers: add invert to heartbeat ... commit fb8c2293e1a3c4a35a571b82cc2efae0c9e59b2b Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Nov 3 21:49:20 2015 +0300 tracing: Remove redundant TP_ARGS redefining TP_ARGS is not used anywhere in trace.h nor trace_entries.h Firstly, I left just #undef TP_ARGS and had no errors - remove it. Link: http://lkml.kernel.org/r/1446576560-14085-1-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f32bfb9a8ca083f8d148ea90ae5ba66f4831836e Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 22:36:04 2015 +0300 sh_eth: use DMA barriers Commit 7d7355f58ba4 ("sh_eth: Ensure proper ordering of descriptor active bit write/read") did the right thing but used too "heavy" barriers while there were already "lighter" DMA barriers exactly for this case... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73fcf4e20ebd19468b3ad033be93582258435462 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Nov 3 22:50:49 2015 +0300 NVMe: Precedence error in nvme_pr_clear() The original code is equivalent to: u32 cdw10 = (1 | key) ? 1 << 3 : 0; But we want: u32 cdw10 = 1 | (key ? 1 << 3 : 0); Fixes: 1d277a637a71: ('NVMe: Add persistent reservation ops') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0990822c98661bd625033f0d523b5c33566657ef Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:20:57 2015 +0000 VFIO: platform: reset: AMD xgbe reset module This patch introduces a module that registers and implements a low-level reset function for the AMD XGBE device. it performs the following actions: - reset the PHY - disable auto-negotiation - disable & clear auto-negotiation IRQ - soft-reset the MAC Those tiny pieces of code are inherited from the native xgbe driver. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit daac3bbedb8aba714a082d00e2292d462fa24397 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:19 2015 +0000 vfio: platform: reset: calxedaxgmac: fix ioaddr leak In the current code the vfio_platform_region is copied on the stack. As a consequence the ioaddr address is not iounmapped in the vfio platform driver (vfio_platform_regions_cleanup). The patch uses the pointer to the region instead. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 705e60bae3e09bedba0b2ec936bce3f799f46426 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:18 2015 +0000 vfio: platform: add dev_info on device reset It might be helpful for the end-user to check the device reset function was found by the vfio platform reset framework. Lets store a pointer to the struct device in vfio_platform_device and trace when the reset function is called or not found. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit e9e0506ee60dd79714c59457f4301c602786defc Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:17 2015 +0000 vfio: platform: use list of registered reset function Remove the static lookup table and use the dynamic list of registered reset functions instead. Also load the reset module through its alias. The reset struct module pointer is stored in vfio_platform_device. We also remove the useless struct device pointer parameter in vfio_platform_get_reset. This patch fixes the issue related to the usage of __symbol_get, which besides from being moot, prevented compilation with CONFIG_MODULES disabled. Also usage of MODULE_ALIAS makes possible to add a new reset module without needing to update the framework. This was suggested by Arnd. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 0628c4dfd3a781c09aed983cc79b3c43c5c568bd Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:16 2015 +0000 vfio: platform: add compat in vfio_platform_device Let's retrieve the compatibility string on probe and store it in the vfio_platform_device struct Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 680742f644be61657f82d43a2c2fff0489d4a579 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:15 2015 +0000 vfio: platform: reset: calxedaxgmac: add reset function registration This patch adds the reset function registration/unregistration. This is handled through the module_vfio_reset_handler macro. This latter also defines a MODULE_ALIAS which simplifies the load from vfio-platform. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 588646529f2d09b723584d44ef0a8ab6ff2a690d Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:14 2015 +0000 vfio: platform: introduce module_vfio_reset_handler macro The module_vfio_reset_handler macro - define a module alias - implement module init/exit function which respectively registers and unregisters the reset function. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit e086497d313cbcffcdb5405a5a268961b53519b1 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:13 2015 +0000 vfio: platform: add capability to register a reset function In preparation for subsequent changes in reset function lookup, lets introduce a dynamic list of reset combos (compat string, reset module, reset function). The list can be populated/voided with vfio_platform_register/unregister_reset. Those are not yet used in this patch. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 32a2d71c4e808b5aa6c414d4422b5e6c594c8805 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:12 2015 +0000 vfio: platform: introduce vfio-platform-base module To prepare for vfio platform reset rework let's build vfio_platform_common.c and vfio_platform_irq.c in a separate module from vfio-platform and vfio-amba. This makes possible to have separate module inits and works around a race between platform driver init and vfio reset module init: that way we make sure symbols exported by base are available when vfio-platform driver gets probed. The open/release being implemented in the base module, the ref count is applied to the parent module instead. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 1b4bb2eaa9b2583521611b4aa978f9f499c92cd4 Author: James Morse <james.morse@xxxxxxx> Date: Thu Oct 29 16:50:43 2015 +0000 vfio/platform: store mapped memory in region, instead of an on-stack copy vfio_platform_{read,write}_mmio() call ioremap_nocache() to map a region of io memory, which they store in struct vfio_platform_region to be eventually re-used, or unmapped by vfio_platform_regions_cleanup(). These functions receive a copy of their struct vfio_platform_region argument on the stack - so these mapped areas are always allocated, and always leaked. Pass this argument as a pointer instead. Fixes: 6e3f26456009 "vfio/platform: read and write support for the device fd" Signed-off-by: James Morse <james.morse@xxxxxxx> Acked-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Tested-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 4644321fd3c119a819ab24fd2bc2d1f9bca4a695 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Thu Oct 29 17:49:42 2015 +0000 vfio/type1: handle case where IOMMU does not support PAGE_SIZE size Current vfio_pgsize_bitmap code hides the supported IOMMU page sizes smaller than PAGE_SIZE. As a result, in case the IOMMU does not support PAGE_SIZE page, the alignment check on map/unmap is done with larger page sizes, if any. This can fail although mapping could be done with pages smaller than PAGE_SIZE. This patch modifies vfio_pgsize_bitmap implementation so that, in case the IOMMU supports page sizes smaller than PAGE_SIZE we pretend PAGE_SIZE is supported and hide sub-PAGE_SIZE sizes. That way the user will be able to map/unmap buffers whose size/ start address is aligned with PAGE_SIZE. Pinning code uses that granularity while iommu driver can use the sub-PAGE_SIZE size to map the buffer. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit d332736df0c277905de06311ae084e2c76580a3f Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Nov 3 14:50:15 2015 -0500 tracing: Rename max_stack_lock to stack_trace_max_lock Now that max_stack_lock is a global variable, it requires a naming convention that is unlikely to collide. Rename it to the same naming convention that the other stack_trace variables have. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 760d280084f8805e5de73e3591912d5db9da9dbe Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 09:00:16 2015 +0100 watchdog: include: add units for timeout values in kerneldoc Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 80220fa72b917c64675f3ba4008d2c5a7b50b281 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 09:00:15 2015 +0100 watchdog: include: fix some typos Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit bb99d8ccec7f83a2730a29d1ae7eee5ffa446a9e Author: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Date: Fri Oct 30 14:25:39 2015 +0900 tracing: Allow arch-specific stack tracer A stack frame may be used in a different way depending on cpu architecture. Thus it is not always appropriate to slurp the stack contents, as current check_stack() does, in order to calcurate a stack index (height) at a given function call. At least not on arm64. In addition, there is a possibility that we will mistakenly detect a stale stack frame which has not been overwritten. This patch makes check_stack() a weak function so as to later implement arch-specific version. Link: http://lkml.kernel.org/r/1446182741-31019-5-git-send-email-takahiro.akashi@xxxxxxxxxx Signed-off-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 73186df8d7fa574345f0ad626ebe89649f8308a5 Merge: 0c63d80 ebac62f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Nov 3 13:41:45 2015 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Minor overlapping changes in net/ipv4/ipmr.c, in 'net' we were fixing the "BH-ness" of the counter bumps whilst in 'net-next' the functions were modified to take an explicit 'net' parameter. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c63d80c3fac4e6eb0f01dff756e47bc7cd50092 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Tue Nov 3 17:40:53 2015 +0100 switchdev: respect SKIP_EOPNOTSUPP flag in case there is no recursion Caller passing down the SKIP_EOPNOTSUPP switchdev flag expects that -EOPNOTSUPP cannot be returned. But in case of direct op call without recurtion, this may happen. So fix this by checking it always on the end of __switchdev_port_attr_set function. Fixes: 464314ea6c11 ("switchdev: skip over ports returning -EOPNOTSUPP when recursing ports") Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a4f4176217d3a29176dff83f2647c48ebaa30a4 Author: Phil Sutter <phil@xxxxxx> Date: Tue Nov 3 19:01:41 2015 +0100 net: sched: kill dead code in sch_choke.c It looks like this has never been used at all. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37b8e1ca0fd7adce1c75b5d95e5515bd2dc234dd Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 18:18:37 2015 +0100 irda: Delete an unnecessary check before the function call "irlmp_unregister_service" The irlmp_unregister_service() 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: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e38a5b1daa12cbaace3c76402999a84460df3e2 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Fri Oct 23 19:25:27 2015 +0800 thermal: rockchip: support the sleep pinctrl state to avoid glitches in s2r When we come out of system suspend state (S3) the tsadc will have been reset and back at its default state. While reprogramming the tsadc it's possible that we'll glitch the output and unintentionally cause the "over temperature" GPIO to be asserted. Since the over temperature GPIO is often hooked up to something that will cause a reboot or shutdown in hardware, this glitch can be catastrophic on some boards. We'll add support for selecting the "sleep" pinctrl state at suspend time. Boards can use this to effectively disable the tsadc at suspend time and avoid glitches when the system is resumed. Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 9aba783a2afd14642f7a28ce23b10af1935a2fcd Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Fri Oct 23 19:25:26 2015 +0800 dt-bindings: rockchip-thermal: Add the pinctrl states in this document The "init" pinctrl is defined we'll set pinctrl to this state before probe and then "default" after probe. Add the "init" and "sleep" pinctrl as the OTP gpio state, since we need switch the pin to gpio state before the TSADC controller is reset. AFAIK, the TSADC controller is reset, the tshut polarity will be a *low* signal in a short period of time for some devices. Says: The TSADC get the temperature on rockchip thermal. If T(current temperature) < (setting temperature), the OTP output the *high* signal. If T(current temperature) > (setting temperature), the OTP output the *low* Signal. In some cases, the OTP pin is connected to the PMIC, maybe the PMIC can accept the reset response time to avoid this issue. In other words, the system will be always reboot if we make the OTP pin is connected the others IC to control the power. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 1ca843a2d28dec89e58e7227c27a9d55f21f59e1 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 18:25:33 2015 +0100 nfs: Fix GETATTR bitmap verification When decoding GETATTR replies, the client checks the attribute bitmap for which attributes the server has sent. It misses bits at the word boundaries, though; fix that. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8fbcf237439f841e7e9c4675790e08ea1c295bd3 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 18:25:34 2015 +0100 nfs: Remove unused xdr page offsets in getacl/setacl arguments The arguments passed around for getacl and setacl xdr encoding, struct nfs_setaclargs and struct nfs_getaclargs, both contain an array of pages, an offset into the first page, and the length of the page data. The offset is unused as it is always zero; remove it. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 118c9163562426face9ff0903f1cbd3e1a959ca9 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Sep 28 22:30:32 2015 +0800 fs/nfs: remove unnecessary new_valid_dev check As new_valid_dev always returns 1, so !new_valid_dev check is not needed, remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7fc561362da38253522899ccab30c7955d4132df Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:09 2015 +0200 SUNRPC: fix variable type Due to incorrect len type bc_send_request returned always zero. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit b7ceb7d50048d0dd4830f106f0fb7f5424031598 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 2 17:12:27 2015 +0100 lightnvm: refactor phys addrs type to u64 For cases where CONFIG_LBDAF is not set. The struct ppa_addr exceeds its type on 32 bit architectures. ppa_addr requires a 64bit integer to hold the generic ppa format. We therefore refactor it to u64 and replaces the sector_t usages with u64 for physical addresses. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 353b39d1b1511376aca71bc3aba62831370561ca Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 22 18:15:50 2015 +0530 ide: pdc202xx_new: Replace timeval with ktime_t This driver uses 'struct timeval' which we are trying to remove since 32 bit time types will break in the year 2038 by replacing it with ktime_t. This patch changes do_gettimeofday() to ktime_get() because ktime_get() returns a ktime_t while do_gettimeofday() returns struct timeval. This patch also uses ktime_us_delta() to get the elapsed time. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7ca8ef93001eaab4c5c7f4f3accfbe6ffcf5f26 Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Mon Nov 2 14:27:45 2015 +0800 drm/amdgpu: update Fiji's Golden setting Change-Id: Ic3f3bfce4767cc05d04f6eb24e22a0f3e7ceacaa Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit b6bc28ff2995f5c2c29dafc12a7e716de620cc8d Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Mon Nov 2 21:21:34 2015 +0800 drm/amdgpu: update Fiji's rev id Change-Id: I0018e2b72feb771683c57960ba3ce942bec5d3ab Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit a3d08fa56b2b867460e58ecdb649b49804aaa5fd Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Mon Nov 2 21:15:55 2015 +0800 drm/amdgpu: extract common code in vi_common_early_init Change-Id: I9ed25353c559e27bc1b1d5b50f977b0ff03de87f Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit a6b1533e9a57d76cd3d9b7649d29ac604b1874b8 Author: Eric Ren <zren@xxxxxxxx> Date: Wed Oct 14 23:28:26 2015 +0800 dlm: make posix locks interruptible Replace wait_event_killable with wait_event_interruptible so that a program waiting for a posix lock can be interrupted by a signal. With the killable version, a program was not interruptible by a signal if it had a signal handler set for it, overriding the default action of terminating the process. Signed-off-by: Eric Ren <zren@xxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit b3047a77cba193658ebf534ee4abab9cb5446842 Merge: 3d131f0 e420842 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Nov 3 11:30:57 2015 -0500 Merge tag 'mac80211-for-davem-2015-11-03' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 Johannes Berg says: ==================== Another set of fixes: * remove a warning on a check that can trigger without any errors having happened (Andrei) * correctly handle deauth request while in the process of associating (Andrei) * fix TDLS HT operation (Arik) * allow changing AID/listen interval during client setup (Ayala) * be more forgiving with WMM parameters to get HT/VHT in case of broken APs with bad WMM settings (Emmanuel, myself) * a number of other fixes (some in documentation) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d131f070948e4ad93189cb379b3a45d53dce71b Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 10:52:52 2015 -0500 net: dsa: mv88e6xxx: include DSA ports in VLANs DSA ports must be members of a VLAN in order to ensure frame bridging between chained switch chips. Thus tag them in addition to the CPU port when adding a VLAN, and skip them when deleting a VLAN and reporting VLAN members. Also use the UNMODIFIED egress policy, so that frames egress on these ports as they ingress, tagged or untagged. Fixes: 0d3b33e60206 ("net: dsa: mv88e6xxx: add VLAN Load support") Reported-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c7ea3c0791e971f05f78453a587a1640fe09a61 Author: Andrew Lunn <andrew@xxxxxxx> Date: Tue Nov 3 10:52:36 2015 -0500 net: dsa: mv88e6xxx: disable SA learning for DSA and CPU ports Frames with DSA headers passing to/from the CPU were taking place in the MAC learning on these ports, resulting in incorrect ATU entries. Disable learning on these ports. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ba3f7d61a3a9e6d94462b207d302931b53d8c61 Author: Jarod Wilson <jarod@xxxxxxxxxx> Date: Tue Nov 3 10:15:59 2015 -0500 net/core: fix for_each_netdev_feature As pointed out by Nikolay and further explained by Geert, the initial for_each_netdev_feature macro was broken, as feature would get set outside of the block of code it was intended to run in, thus only ever working for the first feature bit in the mask. While less pretty this way, this is tested and confirmed functional with multiple feature bits set in NETIF_F_UPPER_DISABLES. [root@dell-per730-01 ~]# ethtool -K bond0 lro off ... [ 242.761394] bond0: Disabling feature 0x0000000000008000 on lower dev p5p2. [ 243.552178] bnx2x 0000:06:00.1 p5p2: using MSI-X IRQs: sp 74 fp[0] 76 ... fp[7] 83 [ 244.353978] bond0: Disabling feature 0x0000000000008000 on lower dev p5p1. [ 245.147420] bnx2x 0000:06:00.0 p5p1: using MSI-X IRQs: sp 62 fp[0] 64 ... fp[7] 71 [root@dell-per730-01 ~]# ethtool -K bond0 gro off ... [ 251.925645] bond0: Disabling feature 0x0000000000004000 on lower dev p5p2. [ 252.713693] bnx2x 0000:06:00.1 p5p2: using MSI-X IRQs: sp 74 fp[0] 76 ... fp[7] 83 [ 253.499085] bond0: Disabling feature 0x0000000000004000 on lower dev p5p1. [ 254.290922] bnx2x 0000:06:00.0 p5p1: using MSI-X IRQs: sp 62 fp[0] 64 ... fp[7] 71 Fixes: fd867d51f ("net/core: generic support for disabling netdev features down stack") CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Eric Dumazet <edumazet@xxxxxxxxxx> CC: Jay Vosburgh <j.vosburgh@xxxxxxxxx> CC: Veaceslav Falico <vfalico@xxxxxxxxx> CC: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> CC: Jiri Pirko <jiri@xxxxxxxxxxx> CC: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx> CC: Michal Kubecek <mkubecek@xxxxxxx> CC: Alexander Duyck <alexander.duyck@xxxxxxxxx> CC: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74f2d19caff885bc656e9acf2a6e727b66ab0ed1 Author: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxxxxx> Date: Tue Nov 3 20:25:59 2015 +0530 vlan: Invoke driver vlan hooks only if device is present NIC drivers mark device as detached during error recovery. It expects no manangement hooks to be invoked in this state. Invoke driver vlan hooks only if device is present. Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 754107e34165373b3696620cef344227b10eaa99 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 3 14:51:29 2015 +0100 arcnet/com20020: add LEDS_CLASS dependency The newly added led trigger support in the com20020-pci driver causes build errors when CONFIG_LEDS_CLASS is disabled: drivers/built-in.o: In function `com20020pci_probe': (.text+0x185dc4): undefined reference to `devm_led_classdev_register' (.text+0x185dd8): undefined reference to `devm_led_classdev_register' This adds a Kconfig dependency to prevent the invalid configurations. Other drivers appear to be split 50:50 between 'select' and 'depends on' for this symbol, I picked 'depends on' as I could not find a common policy and it generally causes fewer problems. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 8890624a4e8c ("arcnet: com20020-pci: add led trigger support") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d056d9c95be87725c07e514930b41c2c7174e75 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Tue Nov 3 11:39:20 2015 +0100 bpf, verifier: annotate verbose printer with __printf The verbose() printer dumps the verifier state to user space, so let gcc take care to check calls to verbose() for (future) errors. make with W=1 correctly suggests: function might be possible candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32544d021515f767e651648e5702472d48ab9436 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 3 11:10:03 2015 -0500 drm/amd/scheduler: don't oops on failure to load In two places amdgpu tries to tear down something it hasn't initalised when failing. This is what happens when you enable experimental support on topaz which then fails in ring init. This patch allows it to fail cleanly. agd: Split out from from the original patch since the scheduler is a driver independent. Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit fe295b27150afe5ddc5e8bb6670149970b33834d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 3 11:07:11 2015 -0500 drm/amdgpu: don't oops on failure to load (v2) In two places amdgpu tries to tear down something it hasn't initalised when failing. This is what happens when you enable experimental support on topaz which then fails in ring init. This patch allows it to fail cleanly. v2 (agd): split out scheduler change into a separate patch Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit df7989fe1ef5ae39902deb4eed498cf8e51cb7df Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Nov 2 10:52:32 2015 -0500 drm/amdgpu: don't VT switch on suspend Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 592fafe644bf3a48b9e00e182a67d301493634fc Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Nov 3 10:08:53 2015 -0600 Add resilienthandles mount parm Since many servers (Windows clients, and non-clustered servers) do not support persistent handles but do support resilient handles, allow the user to specify a mount option "resilienthandles" in order to get more reliable connections and less chance of data loss (at least when SMB2.1 or later). Default resilient handle timeout (120 seconds to recent Windows server) is used. Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> commit 85013ab5722268cd3c410425bd5a42feb6974a1f Merge: 0561e8e a1f8723 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Nov 3 11:08:22 2015 -0500 Merge branch 'dp83640-fixes' Stefan Sørensen says: ==================== dp83640 driver fixes This series fixes a number of minor bugs in the dp83640 driver. ==================== Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1f8723f38921a0216a63d3ec9f01ec1e2813363 Author: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Date: Tue Nov 3 09:34:08 2015 +0100 dp83640: Only wait for timestamps for packets with timestamping enabled. In the packet timestamping function, check that the ptp version and protocol of the packet matches what we have configured the hardware to actually generate timestamps for, before looking/waiting for a timestamp. Signed-off-by: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f94c943d5dd4b51f3248193e622dd5fcdbb8b11 Author: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Date: Tue Nov 3 09:34:07 2015 +0100 ptp: Change ptp_class to a proper bitmask Change the definition of PTP_CLASS_L2 to not have any bits overlapping with the other defined protocol values, allowing the PTP_CLASS_* definitions to be for simple filtering on packet type. Signed-off-by: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccf6ee9a6980eff9ec0eeaa8f63c65bff34d9697 Author: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Date: Tue Nov 3 09:34:06 2015 +0100 dp83640: Prune rx timestamp list before reading from it The list of rx timestamps are currently only pruned of old entries when a new entry is inserted. If no new entries are added, old timestamps may survive beyond their lifetime, possible causing them to be attached to packets with the same sequence number after a rollover. Signed-off-by: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b063258ab9360207a4f6913d31d761bd85631ab Author: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Date: Tue Nov 3 09:34:05 2015 +0100 dp83640: Delay scheduled work. Currently rx_timestamp_work reschedules itself as a regular workqueue item, effectively causing it run constantly as long as there are packets left in the queue. Fix by using delayed workqueue items, limiting it to run only every two jiffies. Signed-off-by: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 539e44d26855fdd198280ee41360a0b3adcf699b Author: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Date: Tue Nov 3 09:34:04 2015 +0100 dp83640: Include hash in timestamp/packet matching Only using the message type and sequence id for matching timestamps with packets is error prone, as multiple clients may very well be sending packets with the same messagetype and timestamp at the same time. Fix by extending the check to include the hash of bytes 20-29 (source id in PTPv2) that is provided with the timestamps. Signed-off-by: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebac62fe3d24c0ce22dd83afa7b07d1a2aaef44d Author: Michal KubeÄ?ek <mkubecek@xxxxxxx> Date: Tue Nov 3 08:51:07 2015 +0100 ipv6: fix tunnel error handling Both tunnel6_protocol and tunnel46_protocol share the same error handler, tunnel6_err(), which traverses through tunnel6_handlers list. For ipip6 tunnels, we need to traverse tunnel46_handlers as we do e.g. in tunnel46_rcv(). Current code can generate an ICMPv6 error message with an IPv4 packet embedded in it. Fixes: 73d605d1abbd ("[IPSEC]: changing API of xfrm6_tunnel_register") Signed-off-by: Michal Kubecek <mkubecek@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ee8a74f2a5da913637f75a19a0da0e7a08c0f86 Author: Li Bin <huawei.libin@xxxxxxxxxx> Date: Fri Oct 30 16:31:04 2015 +0800 recordmcount: arm64: Replace the ignored mcount call into nop By now, the recordmcount only records the function that in following sections: .text/.ref.text/.sched.text/.spinlock.text/.irqentry.text/ .kprobes.text/.text.unlikely For the function that not in these sections, the call mcount will be in place and not be replaced when kernel boot up. And it will bring performance overhead, such as do_mem_abort (in .exception.text section). This patch make the call mcount to nop for this case in recordmcount. Link: http://lkml.kernel.org/r/1446019445-14421-1-git-send-email-huawei.libin@xxxxxxxxxx Link: http://lkml.kernel.org/r/1446193864-24593-4-git-send-email-huawei.libin@xxxxxxxxxx Cc: <lkp@xxxxxxxxx> Cc: <catalin.marinas@xxxxxxx> Cc: <takahiro.akashi@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+ Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Li Bin <huawei.libin@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c84da8b9ad3761eef43811181c7e896e9834b26b Author: libin <huawei.libin@xxxxxxxxxx> Date: Tue Nov 3 08:58:47 2015 +0800 recordmcount: Fix endianness handling bug for nop_mcount In nop_mcount, shdr->sh_offset and welp->r_offset should handle endianness properly, otherwise it will trigger Segmentation fault if the recordmcount main and file.o have different endianness. Link: http://lkml.kernel.org/r/563806C7.7070606@xxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 3.0+ Signed-off-by: Li Bin <huawei.libin@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2959a32a858a2c44bbbce83d19c158d54cc5998a Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Nov 2 12:32:44 2015 +0000 Btrfs: fix hole punching when using the no-holes feature When we are using the no-holes feature, if we punch a hole into a file range that already contains a hole which overlaps the range we are passing to fallocate(), we end up removing the extent map that represents the existing hole without adding a new one. This happens because with the no-holes feature we do not have explicit extent items to represent holes and therefore the call to __btrfs_drop_extents(), made from btrfs_punch_hole(), returns an end offset to the variable drop_end that is smaller than the end of the range passed to fallocate(), while it drops all existing extent maps in that range. Normally having a missing extent map is not a problem, for example for a readpages() operation we just end up building the extent map by looking at the fs/subvol tree for a matching extent item (or a lack of one for implicit holes). However for an fsync that uses the fast path, which needs to look at the list of modified extent maps, this means the fsync will not record information about the complete hole we had before the fallocate() call into the log tree, resulting in a file with content/layout that does not match what we had neither before nor after the hole punch operation. The following test case for fstests reproduces the issue. It fails without this change because we get a file with a different digest after the fsync log replay and also with a different extent/hole layout. 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/punch . ./common/dmflakey # real QA test starts here _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch _require_xfs_io_command "fpunch" _require_xfs_io_command "fiemap" _require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV # This test was motivated by an issue found in btrfs when the btrfs # no-holes feature is enabled (introduced in kernel 3.14). So enable # the feature if the fs being tested is btrfs. if [ $FSTYP == "btrfs" ]; then _require_btrfs_fs_feature "no_holes" _require_btrfs_mkfs_feature "no-holes" MKFS_OPTIONS="$MKFS_OPTIONS -O no-holes" fi rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _init_flakey _mount_flakey # Create out test file with some data and then fsync it. # We do the fsync only to make sure the last fsync we do in this test # triggers the fast code path of btrfs' fsync implementation, a # condition necessary to trigger the bug btrfs had. $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 128K" \ -c "fsync" \ $SCRATCH_MNT/foobar | _filter_xfs_io # Now punch a hole against the range [96K, 128K[. $XFS_IO_PROG -c "fpunch 96K 32K" $SCRATCH_MNT/foobar # Punch another hole against a range that overlaps the previous range # and ends beyond eof. $XFS_IO_PROG -c "fpunch 64K 128K" $SCRATCH_MNT/foobar # Punch another hole against a range that overlaps the first range # ([96K, 128K[) and ends at eof. $XFS_IO_PROG -c "fpunch 32K 96K" $SCRATCH_MNT/foobar # Fsync our file. We want to verify that, after a power failure and # mounting the filesystem again, the file content reflects all the hole # punch operations. $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foobar echo "File digest before power failure:" md5sum $SCRATCH_MNT/foobar | _filter_scratch echo "Fiemap before power failure:" $XFS_IO_PROG -c "fiemap -v" $SCRATCH_MNT/foobar | _filter_fiemap # Silently drop all writes and umount 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. _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey echo "File digest after log replay:" # Must match the same digest we got before the power failure. md5sum $SCRATCH_MNT/foobar | _filter_scratch echo "Fiemap after log replay:" # Must match the same extent listing we got before the power failure. $XFS_IO_PROG -c "fiemap -v" $SCRATCH_MNT/foobar | _filter_fiemap _unmount_flakey status=0 exit Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 13a0db5a53f56d1f77e8902dd23258c99c2154b8 Author: chandan <chandan@xxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 13:59:46 2015 +0530 Btrfs: find_free_extent: Do not erroneously skip LOOP_CACHING_WAIT state When executing generic/001 in a loop on a ppc64 machine (with both sectorsize and nodesize set to 64k), the following call trace is observed, WARNING: at /root/repos/linux/fs/btrfs/locking.c:253 Modules linked in: CPU: 2 PID: 8353 Comm: umount Not tainted 4.3.0-rc5-13676-ga5e681d #54 task: c0000000f2b1f560 ti: c0000000f6008000 task.ti: c0000000f6008000 NIP: c000000000520c88 LR: c0000000004a3b34 CTR: 0000000000000000 REGS: c0000000f600a820 TRAP: 0700 Not tainted (4.3.0-rc5-13676-ga5e681d) MSR: 8000000102029032 <SF,VEC,EE,ME,IR,DR,RI> CR: 24444884 XER: 00000000 CFAR: c0000000004a3b30 SOFTE: 1 GPR00: c0000000004a3b34 c0000000f600aaa0 c00000000108ac00 c0000000f5a808c0 GPR04: 0000000000000000 c0000000f600ae60 0000000000000000 0000000000000005 GPR08: 00000000000020a1 0000000000000001 c0000000f2b1f560 0000000000000030 GPR12: 0000000084842882 c00000000fdc0900 c0000000f600ae60 c0000000f070b800 GPR16: 0000000000000000 c0000000f3c8a000 0000000000000000 0000000000000049 GPR20: 0000000000000001 0000000000000001 c0000000f5aa01f8 0000000000000000 GPR24: 0f83e0f83e0f83e1 c0000000f5a808c0 c0000000f3c8d000 c000000000000000 GPR28: c0000000f600ae74 0000000000000001 c0000000f3c8d000 c0000000f5a808c0 NIP [c000000000520c88] .btrfs_tree_lock+0x48/0x2a0 LR [c0000000004a3b34] .btrfs_lock_root_node+0x44/0x80 Call Trace: [c0000000f600aaa0] [c0000000f600ab80] 0xc0000000f600ab80 (unreliable) [c0000000f600ab80] [c0000000004a3b34] .btrfs_lock_root_node+0x44/0x80 [c0000000f600ac00] [c0000000004a99dc] .btrfs_search_slot+0xa8c/0xc00 [c0000000f600ad40] [c0000000004ab878] .btrfs_insert_empty_items+0x98/0x120 [c0000000f600adf0] [c00000000050da44] .btrfs_finish_chunk_alloc+0x1d4/0x620 [c0000000f600af20] [c0000000004be854] .btrfs_create_pending_block_groups+0x1d4/0x2c0 [c0000000f600b020] [c0000000004bf188] .do_chunk_alloc+0x3c8/0x420 [c0000000f600b100] [c0000000004c27cc] .find_free_extent+0xbfc/0x1030 [c0000000f600b260] [c0000000004c2ce8] .btrfs_reserve_extent+0xe8/0x250 [c0000000f600b330] [c0000000004c2f90] .btrfs_alloc_tree_block+0x140/0x590 [c0000000f600b440] [c0000000004a47b4] .__btrfs_cow_block+0x124/0x780 [c0000000f600b530] [c0000000004a4fc0] .btrfs_cow_block+0xf0/0x250 [c0000000f600b5e0] [c0000000004a917c] .btrfs_search_slot+0x22c/0xc00 [c0000000f600b720] [c00000000050aa40] .btrfs_remove_chunk+0x1b0/0x9f0 [c0000000f600b850] [c0000000004c4e04] .btrfs_delete_unused_bgs+0x434/0x570 [c0000000f600b950] [c0000000004d3cb8] .close_ctree+0x2e8/0x3b0 [c0000000f600ba20] [c00000000049d178] .btrfs_put_super+0x18/0x30 [c0000000f600ba90] [c000000000243cd4] .generic_shutdown_super+0xa4/0x1a0 [c0000000f600bb10] [c0000000002441d8] .kill_anon_super+0x18/0x30 [c0000000f600bb90] [c00000000049c898] .btrfs_kill_super+0x18/0xc0 [c0000000f600bc10] [c0000000002444f8] .deactivate_locked_super+0x98/0xe0 [c0000000f600bc90] [c000000000269f94] .cleanup_mnt+0x54/0xa0 [c0000000f600bd10] [c0000000000bd744] .task_work_run+0xc4/0x100 [c0000000f600bdb0] [c000000000016334] .do_notify_resume+0x74/0x80 [c0000000f600be30] [c0000000000098b8] .ret_from_except_lite+0x64/0x68 Instruction dump: fba1ffe8 fbc1fff0 fbe1fff8 7c791b78 f8010010 f821ff21 e94d0290 81030040 812a04e8 7d094a78 7d290034 5529d97e <0b090000> 3b400000 3be30050 3bc3004c The above call trace is seen even on x86_64; albeit very rarely and that too with nodesize set to 64k and with nospace_cache mount option being used. The reason for the above call trace is, btrfs_remove_chunk check_system_chunk Allocate chunk if required For each physical stripe on underlying device, btrfs_free_dev_extent ... Take lock on Device tree's root node btrfs_cow_block("dev tree's root node"); btrfs_reserve_extent find_free_extent index = BTRFS_RAID_DUP; have_caching_bg = false; When in LOOP_CACHING_NOWAIT state, Assume we find a block group which is being cached; Hence have_caching_bg is set to true When repeating the search for the next RAID index, we set have_caching_bg to false. Hence right after completing the LOOP_CACHING_NOWAIT state, we incorrectly skip LOOP_CACHING_WAIT state and move to LOOP_ALLOC_CHUNK state where we allocate a chunk and try to add entries corresponding to the chunk's physical stripe into the device tree. When doing so the task deadlocks itself waiting for the blocking lock on the root node of the device tree. This commit fixes the issue by introducing a new local variable to help indicate as to whether a block group of any RAID type is being cached. Signed-off-by: Chandan Rajendra <chandan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 485290a734f14279fa9376b3d6021a2dc1f82356 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Thu Oct 29 17:28:46 2015 +0800 btrfs: Fix a data space underflow warning Even with quota disabled, generic/127 will trigger a kernel warning by underflow data space info. The bug is caused by buffered write, which in case of short copy, the start parameter for btrfs_delalloc_release_space() is wrong, and round_up/down() in btrfs_delalloc_release() extents the range to page aligned, decreasing one more page than expected. This patch will fix it by passing correct start. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2404e607a9ee36db361bebe32787dafa1f7d6c00 Author: Jeff Moyer <jmoyer@xxxxxxxxxx> Date: Tue Nov 3 10:40:06 2015 -0500 blk-mq: avoid excessive boot delays with large lun counts Hi, Zhangqing Luo reported long boot times on a system with thousands of LUNs when scsi-mq was enabled. He narrowed the problem down to blk_mq_add_queue_tag_set, where every queue is frozen in order to set the BLK_MQ_F_TAG_SHARED flag. Each added device will freeze all queues added before it in sequence, which involves waiting for an RCU grace period for each one. We don't need to do this. After the second queue is added, only new queues need to be initialized with the shared tag. We can do that by percolating the flag up to the blk_mq_tag_set, and updating the newly added queue's hctxs if the flag is set. This problem was introduced by commit 0d2602ca30e41 (blk-mq: improve support for shared tags maps). Reported-and-tested-by: Jason Luo <zhangqing.luo@xxxxxxxxxx> Reviewed-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0561e8e8786203f1b82322550e5c31aeef033d2f Merge: fd867d5 3ea4891 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Nov 3 10:41:51 2015 -0500 Merge branch 'mlx5-fixes' Or Gerlitz says: ==================== Mellanox mlx5e driver update, Nov 3 2015 This series contains bunch of small fixes to the mlx5e driver from Achiad. Changes from V0: - removed the driver patch that dealt with IRQ affinity changes during NAPI poll, as this is a generic problem which needs generic solution. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ea4891db8d0d224f59b2fae0f386c8f5e68993f Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:24 2015 +0200 net/mlx5e: Fix LSO vlan insertion Consider vlan insertion impact on headers copy size also for LSO packets. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4cf27bd9ce64d048df52a21cf162ce8b1a99362 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:23 2015 +0200 net/mlx5e: Re-eanble client vlan TX acceleration This reverts commit cd58c714acb9 "net/mlx5e: Disable client vlan TX acceleration". Bring back client vlan insertion offload, the original performance issue was found and fixed in the next patch. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe9f4fe58d17e09b210061ed089dba6e81564652 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:22 2015 +0200 net/mlx5e: Return error in case mlx5e_set_features() fails In case mlx5e_set_features() fails, return the failure status rather than 0. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3435ab59d3febe0c00af2a4d40a6df401effe3de Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:21 2015 +0200 net/mlx5e: Don't allow more than max supported channels Consider MLX5E_MAX_NUM_CHANNELS @ethtool set/get_channels Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61d0e73e0a5ab5fc80f6cd9d54f5146e33288a8d Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:20 2015 +0200 net/mlx5_core: Use the the real irqn in eq->irqn Instead of storing the msix array index in eq->irqn (vecidx), store the real irq number. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 01c196a2d3d1cfaab7d20879236e981104749510 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:19 2015 +0200 net/mlx5e: Wait for RX buffers initialization in a more proper manner Use jiffies rather than wait loop with msleep(). The wait loop didn't take into consideration time when the process was not executing. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1985740904342a884471348f6e038ee5d706c36 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:18 2015 +0200 net/mlx5e: Avoid NULL pointer access in case of configuration failure In case a configuration operation that involves closing and re-opening resources (e.g RX/TX queue size change) fails at the re-opening stage these resources will remain closed. So when executing (following) configuration operations (e.g ifconfig down) we cannot assume that these resources are available. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2b31f75406ed4ae700f5d954603f8119d9e94ca Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Oct 7 07:58:07 2015 +0300 Revert "xtensa: cache inquiry and unaligned cache handling functions" Drop unaligned dcache management functions as they are no longer used. This reverts commit bd974240c9a7 ("xtensa: cache inquiry and unaligned cache handling functions"). Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit b56eae4df9ef922d5785ec4a15d54d9527cedb13 Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Nov 3 09:26:27 2015 -0600 [SMB3] Send durable handle v2 contexts when use of persistent handles required Version 2 of the patch. Thanks to Dan Carpenter and the smatch tool for finding a problem in the first version of this patch. CC: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> commit f16dfa7cd1b588e5d7ef4b5a19ee579f11b7a41f Author: Steve French <smfrench@xxxxxxxxx> Date: Wed Sep 30 21:07:59 2015 -0500 [SMB3] Display persistenthandles in /proc/mounts for SMB3 shares if enabled Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> commit b618f001a20e44f691dd0e2ffea651a40a651871 Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Nov 3 09:15:03 2015 -0600 [SMB3] Enable checking for continuous availability and persistent handle support Validate "persistenthandles" and "nopersistenthandles" mount options against the support the server claims in negotiate and tree connect SMB3 responses. Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> commit 715f8db9102f1ab40ea4a87bedfe86399323698f Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Nov 3 20:21:05 2015 +0900 tools lib bpf: Fix compiler warning on CentOS 6 CC libbpf.o cc1: warnings being treated as errors libbpf.c: In function 'bpf_program__title': libbpf.c:1037: error: declaration of 'dup' shadows a global declaration /usr/include/unistd.h:528: error: shadowed declaration is here mv: cannot stat `./.libbpf.o.tmp': No such file or directory make[3]: *** [libbpf.o] Error 1 make[2]: *** [libbpf-in.o] Error 2 make[1]: *** [/linux/tools/lib/bpf/libbpf.a] Error 2 make[1]: *** Waiting for unfinished jobs.... Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1446549665-2342-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7a0119468c9c2deff24ef24e1b4d2c1bd1523fd5 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Nov 3 10:44:43 2015 +0000 perf bpf: Mute libbpf when '-v' not set According to [1], libbpf should be muted. This patch reset info and warning message level to ensure libbpf doesn't output anything even if error happened. [1] http://lkml.kernel.org/r/20151020151255.GF5119@xxxxxxxxxx Committer note: Before: Testing it with an incompatible kernel version in the .c file that generated foo.o: [root@zoo ~]# perf record -e /tmp/foo.o sleep 1 libbpf: load bpf program failed: Invalid argument libbpf: -- BEGIN DUMP LOG --- libbpf: libbpf: -- END LOG -- libbpf: failed to load program 'fork=_do_fork' libbpf: failed to load object '/tmp/foo.o' event syntax error: '/tmp/foo.o' \___ Invalid argument: Are you root and runing a CONFIG_BPF_SYSCALL kernel? (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events [root@zoo ~]# After: [root@zoo ~]# perf record -e /tmp/foo.o sleep 1 event syntax error: '/tmp/foo.o' \___ Invalid argument: Are you root and runing a CONFIG_BPF_SYSCALL kernel? (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events [root@zoo ~]# This, BTW, need fixing to emit a proper message by validating the version in the foo.o "version" ELF section against the running kernel, warning the user instead of asking the kernel to load a binary that it will refuse due to unmatching kernel version. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446547486-229499-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2a3077414fd6ff1de8972ea55e91f27bcabd913 Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Sep 29 21:49:28 2015 -0500 [SMB3] Add parsing for new mount option controlling persistent handles "nopersistenthandles" and "persistenthandles" mount options added. The former will not request persistent handles on open even when SMB3 negotiated and Continuous Availability share. The latter will request persistent handles (as long as server notes the capability in protocol negotiation) even if share is not Continuous Availability share. Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> commit 597bdeb4ab7396c43935eded15f82e3e100b3ff3 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Nov 3 10:44:42 2015 +0000 perf test: Keep test result clean if '-v' not set According to [1], 'perf test' should avoid output too much information if '-v' is not set, only 'Ok', 'FAIL' or 'Skip' need to be printed. This patch removes several messages sent directly to stderr to make the output clean. Before this patch: # perf test dummy 23: Test using a dummy software event to keep tracking : (not supported) Ok After this patch: # perf test dummy 23: Test using a dummy software event to keep tracking : Skip [1] http://lkml.kernel.org/r/20151020134155.GE4400@xxxxxxxxxx Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446547486-229499-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7225107e158241b7e22f15b9f4c3db0b3330984d Merge: 4ed31f24 bd33b87 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Nov 3 08:39:32 2015 -0600 Merge branch 'pci/host-layerscape' into next * pci/host-layerscape: PCI: layerscape: Add ls_pcie_msi_host_init() PCI: layerscape: Add support for LS1043a and LS2080a PCI: layerscape: Remove unused fields from struct ls_pcie PCI: layerscape: Update ls_add_pcie_port() PCI: layerscape: Factor out SCFG related function PCI: layerscape: Ignore PCIe controllers in Endpoint mode PCI: layerscape: Remove ls_pcie_establish_link() commit 4ed31f24a6416cc60bc8e92c25b2de3060fbedf8 Merge: c2df02b 500a1d9 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Nov 3 08:39:19 2015 -0600 Merge branch 'pci/host-hisi' into next * pci/host-hisi: PCI: hisi: Add HiSilicon SoC Hip05 PCIe driver commit c2df02bdaac28bedcee6b9921b7c2927dafac471 Merge: 1f9a30e af1169b df77016 f6225c3 111feb7 be908d2 d1a082c 8c53e8e 512ee2f 00b9b91 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Nov 3 08:38:27 2015 -0600 Merge branches 'pci/host-altera', 'pci/host-designware', 'pci/host-generic', 'pci/host-imx6', 'pci/host-iproc', 'pci/host-mvebu', 'pci/host-rcar', 'pci/host-tegra' and 'pci/host-xgene' into next * pci/host-altera: PCI: altera: Add Altera PCIe MSI driver PCI: altera: Add Altera PCIe host controller driver ARM: Add msi.h to Kbuild * pci/host-designware: PCI: designware: Make "clocks" and "clock-names" optional DT properties PCI: designware: Make driver arch-agnostic ARM/PCI: Replace pci_sys_data->align_resource with global function pointer PCI: designware: Use of_pci_get_host_bridge_resources() to parse DT Revert "PCI: designware: Program ATU with untranslated address" PCI: designware: Move calculation of bus addresses to DRA7xx PCI: designware: Make "num-lanes" an optional DT property PCI: designware: Require config accesses to be naturally aligned PCI: designware: Simplify dw_pcie_cfg_read/write() interfaces PCI: designware: Use exact access size in dw_pcie_cfg_read() PCI: spear: Fix dw_pcie_cfg_read/write() usage PCI: designware: Set up high part of MSI target address PCI: designware: Make get_msi_addr() return phys_addr_t, not u32 PCI: designware: Implement multivector MSI IRQ setup PCI: designware: Factor out MSI msg setup PCI: Add msi_controller setup_irqs() method for special multivector setup PCI: designware: Fix PORT_LOGIC_LINK_WIDTH_MASK * pci/host-generic: PCI: generic: Fix address window calculation for non-zero starting bus PCI: generic: Pass starting bus number to pci_scan_root_bus() PCI: generic: Allow multiple hosts with different map_bus() methods arm64: dts: Drop linux,pci-probe-only from the Seattle DTS powerpc/PCI: Fix lookup of linux,pci-probe-only property PCI: generic: Fix lookup of linux,pci-probe-only property of/pci: Add of_pci_check_probe_only to parse "linux,pci-probe-only" * pci/host-imx6: PCI: imx6: Add PCIE_PHY_RX_ASIC_OUT_VALID definition PCI: imx6: Return real error code from imx6_add_pcie_port() * pci/host-iproc: PCI: iproc: Fix header comment "Corporation" misspelling PCI: iproc: Add outbound mapping support PCI: iproc: Update PCIe device tree bindings PCI: iproc: Improve link detection logic PCI: iproc: Fix PCIe reset logic PCI: iproc: Call pci_fixup_irqs() for ARM64 as well as ARM PCI: iproc: Remove unused struct iproc_pcie.irqs[] PCI: iproc: Fix code comment to match code * pci/host-mvebu: PCI: mvebu: Remove code restricting accesses to slot 0 PCI: mvebu: Add PCI Express root complex capability block PCI: mvebu: Improve clock/reset handling PCI: mvebu: Use gpio_desc to carry around gpio PCI: mvebu: Use devm_kcalloc() to allocate an array PCI: mvebu: Use gpio_set_value_cansleep() PCI: mvebu: Split port parsing and resource claiming from port setup PCI: mvebu: Fix memory leaks and refcount leaks PCI: mvebu: Move port parsing and resource claiming to separate function PCI: mvebu: Use port->name rather than "PCIe%d.%d" PCI: mvebu: Report full node name when reporting a DT error PCI: mvebu: Use for_each_available_child_of_node() to walk child nodes PCI: mvebu: Use of_get_available_child_count() PCI: mvebu: Use exact config access size; don't read/modify/write PCI: mvebu: Return zero for reserved or unimplemented config space * pci/host-rcar: PCI: rcar: Fix I/O offset for multiple host bridges PCI: rcar: Set root bus nr to that provided in DT PCI: rcar: Remove dependency on ARM-specific struct hw_pci PCI: rcar: Make PCI aware of the I/O resources PCI: rcar: Build pcie-rcar.c only on ARM PCI: rcar: Build pci-rcar-gen2.c only on ARM * pci/host-tegra: PCI: tegra: Wrap static pgprot_t initializer with __pgprot() * pci/host-xgene: PCI/MSI: xgene: Remove msi_controller assignment commit af1169b48b179c9db6b5d57e14552cceccbc04eb Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Fri Oct 23 18:27:13 2015 +0800 PCI: altera: Add Altera PCIe MSI driver Add Altera PCIe MSI driver. This soft IP supports a configurable number of vectors, which is a DTS parameter. [bhelgaas: Kconfig depend on PCIE_ALTERA, typos, whitespace] Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> commit 0d848afe117ac3e31b9d57b65553ff18ef9d288f Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Oct 16 18:30:37 2015 +0300 xtensa: drop unused sections and remapped reset handlers There are no .bootstrap or .ResetVector.text sections linked to the vmlinux image, drop these sections from vmlinux.ld.S. Drop RESET_VECTOR_VADDR definition only used for .ResetVector.text. Drop remapped copies of primary and secondary reset vectors, as modern gdb don't have problems stepping through instructions at arbitrary locations. Drop corresponding sections from the corresponding linker scripts. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit ab45fb145096799dabd18afc58bb5f97171017cd Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Oct 16 17:01:04 2015 +0300 xtensa: fix secondary core boot in SMP There are multiple factors adding to the issue in different configurations: - commit 17290231df16eeee ("xtensa: add fixup for double exception raised in window overflow") added function window_overflow_restore_a0_fixup to double exception vector overlapping reset vector location of secondary processor cores. - on MMUv2 cores RESET_VECTOR1_VADDR may point to uncached kernel memory making code overlapping depend on cache type and size, so that without cache or with WT cache reset vector code overwrites double exception code, making issue even harder to detect. - on MMUv3 cores RESET_VECTOR1_VADDR may point to unmapped area, as MMUv3 cores change virtual address map to match MMUv2 layout, but reset vector virtual address is given for the original MMUv3 mapping. - physical memory region of the secondary reset vector is not reserved in the physical memory map, and thus may be allocated and overwritten at arbitrary moment. Fix it as follows: - move window_overflow_restore_a0_fixup code to .text section. - define RESET_VECTOR1_VADDR so that it points to reset vector in the cacheable MMUv2 map for cores with MMU. - reserve reset vector region in the physical memory map. Drop separate literal section and build mxhead.S with text section literals. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit a9df9338c1a32e7cdc8c6c6fa7c73f0a63a1ca56 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon Nov 2 17:51:02 2015 +0300 xtensa: add FORCE_MAX_ZONEORDER to Kconfig Make maximal memory allocation order configurable, so that drivers could allocate huge buffers when they need to. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit b38feccd663b55ab07116208b68e1ffc7c3c7e78 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Nov 2 14:03:46 2015 +0100 s390: remove runtime instrumentation interrupts The external interrupts for runtime instrumentation buffer-full and runtime instrumentation halted are unused and have no current user. Remove the support and ignore the second parameter of the s390_runtime_instr system call from now on. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e510f681d27d402d74dc7b81e13db118e4180937 Author: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 11:13:18 2015 +0100 s390/cio: de-duplicate subchannel validation cio_validate_io_subchannel() and cio_validate_msg_subchannel() are identical, as the called functions already take care about the differences between subchannel types. Just inline the code into the only user, cio_validate_subchannel(), instead. Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8f0ba83178d4f3630687296c45d593326ec2d63d Author: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 10:45:04 2015 +0100 s390/css: unneeded initialization in for_each_subchannel The ret variable is always set by the fn function. There is no need to initialize it. Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> Reviewed-By: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 295d8fa961466bb9e9ebb87b46fdad4edaf736de Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Oct 29 01:16:04 2015 +0100 s390/Kconfig: use builtin bswap Depending on the gcc version we can use builtin_bswap instead of architecture functions. Doing so is better than the inline assembly version of load reverse for two reasons: - the sequence of load reversed, apply constant mask, save reversed can be optimized to load, apply reversed mask, save - builtins are slightly better to optimize e.g. gcc instruction scheduler cannot optimize grouping on inline assemblies. To enable set we have to ARCH_USE_BUILTIN_BSWAP. bloat-o-meter results: add/remove: 1/1 grow/shrink: 75/533 up/down: 1711/-9394 (-7683) Suggested-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ccc0e7dc708ce1bd2e1c4a2b6a180ae7459374de Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Fri Oct 23 12:10:51 2015 +0200 s390/dasd: fix disconnected device with valid path mask Path verification is either done via dasd_eckd_read_conf() which is triggered during online processing and resume or via do_path_verification_work() which is triggered after path events. The dasd_eckd_read_conf() version added paths unconditionally and did not check if the path mask was empty. This led to devices having the disconnected stop flag set but a valid path mask. So they where not working although they had paths validated successfully. After a resume this state could even not be solved with additional paths added. Fix by checking for an empty path mask in dasd_eckd_read_conf() and clearing the device stop bits for a newly added channel path. Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 251afd69e3328653bae4a8ca09700971ca4000c5 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Thu Oct 15 13:54:39 2015 +0200 s390/dasd: fix invalid PAV assignment after suspend/resume For a valid PAV assignment the DASD driver needs to notice possibly changed configuration data. Thus the failing of read configuration data should also fail the device restore to prevent invalid PAV assignment. The failed device may get restored after additional paths get available later on. If the restore fails after the device was added to the lcu alias handling it needs to be removed from the alias handling before exiting the restore function. Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c7c0c9deb0a4b0715d2c09438420437b86f387c4 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Thu Oct 15 11:10:08 2015 +0200 s390/dasd: fix double free in dasd_eckd_read_conf The configuration data is stored per path and also the first valid configuration data per device. When dasd_eckd_read_conf is called again after a path got lost the device configuration data is cleared but possibly not the per path configuration data. This might lead to a double free when the lost path gets operational again. Fix by clearing all per path configuration data when the first valid configuration data is received and stored. Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 55a423b6f105fa323168f15f4bb67f23b21da44e Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Oct 27 13:13:38 2015 +0100 s390/kernel: fix ptrace peek/poke for floating point registers git commit 155e839a814834a3b4b31e729f4716e59d3d2dd4 "s390/kernel: dynamically allocate FP register save area" introduced a regression in regard to ptrace. If the vector register extension is not present or unused the ptrace peek of a floating pointer register return incorrect data and the ptrace poke to a floating pointer register overwrites the task structure starting at task->thread.fpu.fprs. Cc: stable@xxxxxxxxxx # v4.3 Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8253d42be8ae8c81cabcf678448c09a69d4f3b8c Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Nov 2 15:41:13 2015 -0800 HID: wacom: Fix ABS_MISC reporting for Cintiq Companion 2 The pad handling code introduced for the Cintiq Companion 2 (f7acb55) looks at the wrong bytes in the report when deciding whether ABS_MISC should be sent. This does not cause any issues with the X driver now that the pen and pad have been split to separate devices, but is incorrect and has caused issues when backporting to distros with pre- 3.17 kernels. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6212aae0d4de273e8dbc9f889d0c7ef8317284df Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Nov 2 15:41:12 2015 -0800 HID: wacom: Remove useless conditions from 'wacom_query_tablet_data' When support for the Cintiq Companion Hybrid and Cintiq Companion 2 was added (36d3c51 and f7acb55), the 'wacom_query_tablet_data' function was updated to include references to CINTIQ_HYBRID and CINTIQ_COMPANION_2 with the thought that they were necessary to switch the touch interface into the proper mode. This is unnecessary, however, since those types are only ever associated with the pen interface -- the touch interfaces are either CINTIQ_24HDT or HID_GENERIC. To avoid confusion in the future, we remove the unnecessary CINTIQ_HYBRID and CINTIQ_COMPANION_2 conditions. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5ef796639c2cacaebc07cf7e63bd20d64f7b3cb0 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Oct 26 14:07:58 2015 +0200 watchdog: core: propagate ping error code to the user space Watchdog ping return errors are ignored by watchdog core, Whatchdog daemon should be informed about possible hardware error or underlaying device driver get unregistered. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit bc794ac3b5836ee2b2420b0597f33538ad100be0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Sep 29 01:27:25 2015 -0700 watchdog: watchdog_dev: Use single variable name for struct watchdog_device The current code uses 'wdd', wddev', and 'watchdog' as variable names for struct watchdog_device. This is confusing and makes it difficult to enhance the code. Replace it all with 'wdd'. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Timo Kokkonen <timo.kokkonen@xxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 1e935949111e77b2b1b6fa550e88ff0573c2f4c7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Sep 29 01:27:24 2015 -0700 watchdog: Always evaluate new timeout against min_timeout Up to now, a new timeout value is only evaluated against min_timeout if max_timeout is provided. This does not really make sense; a driver can have a minimum timeout even if it does not have a maximum timeout. Ensure that it is not smaller than min_timeout, even if max_timeout is not set. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit e00fe64a5ccd94590e1c3325346b60aa0ffdc1ff Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Mon Nov 2 10:38:15 2015 +0100 drm/sti: load HQVDP firmware the first time HQVDP's plane is used The way to load the HQVDP firmware has been updated. HQVDP firmware is now loaded the first time an HQVDP plane is used and no more when the HQVDP driver is bound. This solves the dependency we had on the file system availability. The first time the HQVDP plane is used, we are sure that file system is available so request_firmware function will match. CONFIG_FW_LOADER_USER_HELPER_FALLBACK is then no more mandatory. Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 738be9d6ca3adccdd92798fd25f94fef0b27e073 Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Thu Oct 29 14:20:27 2015 +0100 drm/sti: fix typo issue in sti_mode_config_init Assign width to width and height to height. Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 5260fb5b33ffad7b3c1cd84dc260f4d51ef453c0 Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Thu Oct 22 10:35:50 2015 +0200 drm/sti: set mixer background color through module param Add bkgcolor module parameter that allow to change the background color of the mixer. It can be set with an RGB value coded as 0xRRGGBB. The default value is black. Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> Signed-off-by: Nicolas VANHAELEWYN <nicolas.vanhaelewyn@xxxxxx> commit b5d34a272d37c08612aaea9601ddd311757fd149 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Tue Oct 27 13:40:58 2015 +0530 drm/sti: Remove local fbdev emulation Kconfig option DRM_STI_FBDEV config is currently used to enable/disable fbdev emulation for the sti kms driver. Remove this local config option and use the core fb helpers with drm_kms_helper.fbdev_emulation module option to enable/disable fbdev at runtime. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit cebd6fbeb2fc9e7c4f10f3656fe9f1ba863a8549 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 15:14:55 2015 +0200 drm/sti: remove redundant sign extensions arg is long int, so arg = (arg << 22) >> 22 makes the upper 22 bits of arg equal to bit 9 (or bit 41). But we then mask away all but bits 0-9, so this is entirely redundant. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 4d5821a71ce9bed490e5a71987dc03f22e646039 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Sep 21 18:51:27 2015 +0300 drm/sti: hdmi use of_get_i2c_adapter_by_node interface This change is needed to properly lock I2C bus device and driver, which serve DDC lines. Without this change I2C bus driver module may gone in runtime and this won't be noticed by the driver. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 807642d731e08f317e9375e2dcbb49eb0de0daa2 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Sep 21 18:51:26 2015 +0300 drm/sti: hdmi fix i2c adapter device refcounting The commit 53bdcf5f026c ("drm: sti: fix sub-components bind") moves i2c adapter search and locking from .bind() to .probe(), however proper error path in the modified .probe() is not implemented and leftover of the related error path in .bind() remains. This change fixes these issues. Fixes: 53bdcf5f026c ("drm: sti: fix sub-components bind") Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 3a36e186ba4a135a63397a1e58a36f9f602af53e Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 19:02:41 2015 +0200 drm/sti: Do not export symbols None of these exported symbols are used outside of the drm-sti driver, so there is no reason to export them. Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit dcec16efd6776faca6f13ab698cb5cf031d62b66 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 19:02:40 2015 +0200 drm/sti: Build monolithic driver There's no use building the individual drivers as separate modules because they are all only useful if combined into a single DRM/KMS device. Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 2388693e10026ec0be2f7de0bb8fcb5a9bc119f9 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 18:35:38 2015 +0200 drm/sti: Use drm_crtc_vblank_*() API Non-legacy drivers should only use this API to allow per-CRTC data to be eventually moved into struct drm_crtc. Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit df00d029d7f107aa4b35edffca0465664e7289bd Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 18:35:29 2015 +0200 drm/sti: Store correct CRTC index in events A negative pipe causes a special case to be triggered for drivers that don't have proper VBLANK support. STi does support VBLANKs, so there is no need for the fallback code. Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 1352be6eb0f3484bfed6b5676a8e2c34be43ba74 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 12:45:34 2015 +0200 drm/sti: Select FW_LOADER Select FW_LOADER explicitly to satify the direct dependency of FW_LOADER_USER_HELPER_FALLBACK. Acked-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c5de48539cf1821180f4326c47ac1420625eef00 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 2 13:44:15 2015 +0300 drm/sti: Constify function pointer structs Moves a bunch of junk to .rodata from .data. drivers/gpu/drm/sti/sticompositor.ko: -.text 12216 +.text 12212 -.rodata 1284 +.rodata 1400 -.data 488 +.data 372 drivers/gpu/drm/sti/sti_drv.ko: -.rodata 516 +.rodata 544 -.data 368 +.data 340 drivers/gpu/drm/sti/stidvo.ko: -.text 3356 +.text 3348 -.rodata 188 +.rodata 256 -.data 572 +.data 504 drivers/gpu/drm/sti/sti_hda.ko: -.text 3008 +.text 3004 -.rodata 2820 +.rodata 2888 -.data 684 +.data 616 drivers/gpu/drm/sti/stihdmi.ko: -.text 6988 +.text 6980 -.rodata 1340 +.rodata 1408 -.data 176 +.data 108 Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ac506b7f2233b35f17172304255e08cabc072aad Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Oct 29 19:36:03 2015 +0530 ARCv2: lib: memcpy: use local symbols Otherwise perf profiles don't charge tme to memcpy Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e4208427247ecc7306c8f71ab3c5c08e08cf9fda Author: Ayala Beker <ayala.beker@xxxxxxxxx> Date: Fri Oct 23 11:20:06 2015 +0300 cfg80211: allow AID/listen interval changes for unassociated station Currently, cfg80211 rejects updates of AID and listen interval parameters for existing entries. This information is known only at association stage and as a result it's impossible to update entries that were added unassociated. Fix this by allowing updates of these properies for stations that the driver (or mac80211) assigned unassociated state. This then fixes mac80211's use of NL80211_FEATURE_FULL_AP_CLIENT_STATE. Signed-off-by: Ayala Beker <ayala.beker@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit dcae9e0203dfd887a7413cd38d1f87aaac1127f4 Author: Chaitanya T K <chaitanya.mgit@xxxxxxxxx> Date: Fri Oct 30 23:16:15 2015 +0530 mac80211: document sleep requirements for channel context ops Channel context driver operations can sleep, so add might_sleep() and document this. Signed-off-by: Chaitanya T K <chaitanya.mgit@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ef95d8ba384781ce574c10f87b97d6bab2659735 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Oct 25 10:59:42 2015 +0200 mac80211: further improve "no supported rates" warning Allow distinguishing the non-station case from the case of a station without rates, by using -1 for the non-station case. This value cannot be reached with a station since that many legacy rates don't exist. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2ed77ea69205139c3f6016b250d34e09bf48574d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 22 17:46:06 2015 +0200 mac80211: treat bad WMM parameters more gracefully As WMM is required for HT/VHT operation, treat bad WMM parameters more gracefully by falling back to default parameters instead of not using WMM assocation. This makes it possible to still use HT or VHT, although potentially with reduced quality of service due to unintended WMM parameters. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 730a755017139ddedac08d82f73c3532a020d372 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Oct 22 17:46:05 2015 +0200 mac80211: fixup AIFSN instead of disabling WMM Disabling WMM has a huge impact these days. It implies that HT and VHT will be disabled which means that the throughput will be drammatically reduced. Since the AIFSN is a transmission parameter, we can play a bit and fix it up to make it compliant with the 802.11 specification which requires it to be at least 2. Increasing it from 1 to 2 will slightly reduce the likelyhood to get a transmission opportunity compared to other clients that would accept to set AIFSN=1, but at least it will allow HT and VHT which is a huge gain. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cec6628350802b0a652486c41b57d4e1dd37a65c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 22 17:46:04 2015 +0200 mac80211: make enable_qos parameter to ieee80211_set_wmm_default() The function currently determines this value, for use in bss_info.qos, based on the interface type itself. Make it a parameter instead and set it with the same logic for now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e86abc689c5cb963f713c1bab9c37775421a6a96 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 22 17:35:14 2015 +0200 cfg80211/mac80211: clarify RSSI CQM reporting requirements The previous patch changed mac80211 to always report an event after a CQM RSSI reconfiguration. Document that as expected behaviour in both the cfg80211 and mac80211 API. Currently, iwlmvm already implements that behaviour; the other drivers implementing CQM RSSI events may have to be changed. This behaviour lets userspace know what the current state is without relying on querying the data which is racy. Reviewed-by: Sharon, Sara <sara.sharon@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 520c75dcae6e588670962243bac6324e7839b648 Author: Matthias Schiffer <mschiffer@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 21:25:51 2015 +0200 mac80211: fix crash on mesh local link ID generation with VIFs llid_in_use needs to be limited to stations of the same VIF, otherwise it will cause a NULL deref as the sta_info of non-mesh-VIFs don't have sta->mesh set. Steps to reproduce: modprobe mac80211_hwsim channels=2 iw phy phy0 interface add ibss0 type ibss iw phy phy0 interface add mesh0 type mp iw phy phy1 interface add ibss1 type ibss iw phy phy1 interface add mesh1 type mp ip link set ibss0 up ip link set mesh0 up ip link set ibss1 up ip link set mesh1 up iw dev ibss0 ibss join foo 2412 iw dev ibss1 ibss join foo 2412 # Ensure that ibss0 and ibss1 are actually associated; I often need to # leave and join the cell on ibss1 a second time. iw dev mesh0 mesh join bar iw dev mesh1 mesh join bar # crash Signed-off-by: Matthias Schiffer <mschiffer@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 57f255f58165974c131f048b4302728052d92d29 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Oct 25 10:59:34 2015 +0200 mac80211: TDLS: add proper HT-oper IE When 11n peers performs a TDLS connection on a legacy BSS, the HT operation IE must be specified according to IEEE802.11-2012 section 9.23.3.2. Otherwise HT-protection is compromised and the medium becomes noisy for both the TDLS and the BSS links. 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 0d440ea294a00b60ced66c0bc5cb5caa42fd4fbd Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Oct 25 10:59:33 2015 +0200 mac80211: don't reconfigure sched scan in case of wowlan Scheduled scan has to be reconfigured only if wowlan wasn't configured, since otherwise it should continue to run (with the 'any' trigger) or be aborted. The current code will end up asking the driver to start a new scheduled scan without stopping the previous one, and leaking some memory (from the previous request.) Fix this by doing the abort/restart under the proper conditions. 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 968a76cef3d1bb9a3b4d135cd788056e742859f3 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Oct 25 10:59:36 2015 +0200 mac80211: call drv_stop only if driver is started If drv_start() fails during hw_restart, all the running interfaces are being closed/stopped, which results in drv_stop() being called, although the driver was never started successfully. This might cause drivers to perform operations on uninitialized memory (as they assume it was initialized on drv_start) Consider the local->started flag, and call the driver's stop() op only if drv_start() succeeded before. Move drv_start() and drv_stop() to driver-ops.c, as they are no longer simple wrappers. 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 c189a685b83955a39884dc2bdae531bc0adf3b98 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Sun Oct 25 10:59:40 2015 +0200 mac80211: Remove WARN_ON_ONCE in ieee80211_recalc_smps The recalc_smps work can run after the station disassociates. At this stage we already released the channel, but the work will be cancelled only when the interface stops. In this scenario we can hit the warning in ieee80211_recalc_smps, so just remove it. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 43d6df007c0cc111ab8ead8bd95aafab9bb4531d Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Oct 25 10:59:35 2015 +0200 mac80211: use freezable workqueue for restart work Requesting hw restart during suspend might result in the restart work being executed after mac80211 and the hw are suspended. Solve the race by simply scheduling the restart work on a freezable workqueue. Note that there can be some cases of reconfiguration on resume (besides the hardware restart): * wowlan is not configured - All the interfaces removed were removed on suspend, and drv_stop() was called. At this point the driver shouldn't expect for hw_restart anyway, so we can simply cancel it (on resume). * wowlan is configured, drv_resume() == 1 There is no definitive expected behavior in this case, as each driver might have different expectations (e.g. setting some flags on suspend/restart vs. not handling spurious recovery). For now, simply let the hw_restart work run again after resume, and hope the driver will handle it well (or at least initiate another hw restart). 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 a64cba3c5330704a034bd3179270b8d04daf6987 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Sun Oct 25 10:59:38 2015 +0200 mac80211: Fix local deauth while associating Local request to deauthenticate wasn't handled while associating, thus the association could continue even when the user space required to disconnect. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 254d3dfe445f94a764e399ca12e04365ac9413ed Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Oct 25 10:59:41 2015 +0200 mac80211: allow null chandef in tracing In TDLS channel-switch operations the chandef can sometimes be NULL. Avoid an oops in the trace code for these cases and just print a chandef full of zeros. Cc: stable@xxxxxxxxxxxxxxx Fixes: a7a6bdd0670fe ("mac80211: introduce TDLS channel switch ops") 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 4baf6bea37247e59f1971e8009d13aeda95edba2 Author: Ola Olsson <ola1olsson@xxxxxxxxx> Date: Thu Oct 29 07:04:58 2015 +0100 nl80211: Fix potential memory leak from parse_acl_data If parse_acl_data succeeds but the subsequent parsing of smps attributes fails, there will be a memory leak due to early returns. Fix that by moving the ACL parsing later. Cc: stable@xxxxxxxxxxxxxxx Fixes: 18998c381b19b ("cfg80211: allow requesting SMPS mode on ap start") Signed-off-by: Ola Olsson <ola.olsson@xxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 519ee6918b91abdc4bc9720deae17599a109eb40 Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Tue Oct 27 08:35:11 2015 +0100 mac80211: fix divide by zero when NOA update In case of one shot NOA the interval can be 0, catch that instead of potentially (depending on the driver) crashing like this: divide error: 0000 [#1] SMP [...] Call Trace: <IRQ> [<ffffffffc08e891c>] ieee80211_extend_absent_time+0x6c/0xb0 [mac80211] [<ffffffffc08e8a17>] ieee80211_update_p2p_noa+0xb7/0xe0 [mac80211] [<ffffffffc069cc30>] ath9k_p2p_ps_timer+0x170/0x190 [ath9k] [<ffffffffc070adf8>] ath_gen_timer_isr+0xc8/0xf0 [ath9k_hw] [<ffffffffc0691156>] ath9k_tasklet+0x296/0x2f0 [ath9k] [<ffffffff8107ad65>] tasklet_action+0xe5/0xf0 [...] Cc: stable@xxxxxxxxxxxxxxx [3.16+, due to d463af4a1c34 using it] Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ffdc307d038f02617041f8e5c7e3cd00a1706a2a Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:30 2015 +0200 leds: 88pm860x: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression n; expression e,r; @@ for_each_child_of_node(r,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 6cc7624415466022749a868c159ac68367bc9a0e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:29 2015 +0200 leds: bcm6328: add missing of_node_put for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_available_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 4b6ba5e28b2903fa8b51c6d5fdafb2979fe6eeab Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:28 2015 +0200 leds: bcm6358: add missing of_node_put for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_available_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit dde4afe7656084b7886f3b721530c32209842390 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:27 2015 +0200 powerpc/powernv: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit e9aadb864f04f1f7c7f8713fead64a2370be940d Author: Fida Mohammad <fmthoker@xxxxxxxxx> Date: Wed Oct 21 03:58:35 2015 -0700 leds: leds-wrap.c: Use devm_led_classdev_register Use of resource managed function devm_led_classdev_register to make initialization path simpler. Also removed redundant remove function. Signed-off-by: Fida Mohammad <fmthoker@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 10238adb6f2bcc6c418188ef3425ea57297fa3a6 Author: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Date: Thu Oct 22 10:14:07 2015 +0900 leds: aat1290: Fix property naming of flash-timeout-us flash-timeout-us property name is changed to flash-max-timeout-us. This patch fixes that name. Signed-off-by: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 511676230b56249ecb613298f95f9910684fcb4f Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sat Oct 17 05:02:57 2015 +0530 leds: leds-net48xx: Use devm_led_classdev_register Use devm_led_classdev_register instead of led_classdev_register, removing the redundant net48xx_led_remove function. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 81aad9f81e6d89819f12656bd38df9ef639dbe45 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sat Oct 17 01:47:55 2015 +0530 leds: leds-menf21bmc.c: Use devm_led_class_register Use resource-managed function devm_led_classdev_register instead of led_classdev_register, consequently remove redundant menf21bmc_led_remove function. Also drop the unneeded label err_free_leds. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit d43986143463690642bac8897196496d4c776269 Author: Fida Mohammad <fmthoker@xxxxxxxxx> Date: Fri Oct 16 14:33:03 2015 -0700 leds: leds-locomo.c: Use devm_led_classdev_register Use resource managed function devm_led_classdev_register to make initialisation path simpler. Also removed redundant led_classdev_unregister function. Signed-off-by: Fida Mohammad <fmthoker@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 707f33ed85ff423016674d27bb2e60fe8fa352ce Author: Heiko Schocher <hs@xxxxxxx> Date: Tue Oct 13 07:17:12 2015 +0200 leds: leds-gpio: add shutdown function add a shutdown function for setting the gpio-leds into off state when shuting down. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 1d3ff22d633d35048c35c3deeead7ab116cebc32 Author: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Date: Thu Oct 8 12:35:55 2015 +0200 Documentation: leds: update DT bindings for leds-bcm6328 This patch adds latest DT bindings for leds-bcm6328 init register configuration. Signed-off-by: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 9f82c778ce17789a038351a411ff65cd41033c7a Author: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Date: Thu Oct 8 12:35:54 2015 +0200 leds-bcm6328: add more init configuration options This patch adds more init register configuration options: - Serial LEDs multiplexing. - Serial LEDs clock signal low/high polarity. - Serial LEDs data signal low/high polarity. - Serial LEDs shift direction inverted/normal. Signed-off-by: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit d8fe1606d1a7181c877d8b1727cdcfb82f76e91c Author: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Date: Thu Oct 8 12:35:53 2015 +0200 leds-bcm6328: simplify and improve default-state handling This patch simplifies and improves the code related to default-state handling. It also changes the code to power off the LEDs by default. Signed-off-by: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 79653fbb3365002899e7d25ec5ca96aff4241ede Author: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Date: Thu Oct 8 12:35:52 2015 +0200 leds-bcm6328: print invalid LED Print invalid LED instead of warning only about maximum LED value. Signed-off-by: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 7b9d9d88158e99a6a17a292ec4ec47105a771c4f Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sat Sep 26 23:02:38 2015 +0200 leds: netxbig: set led_classdev max_brightness This patch sets the led_classdev max_brightness to the maximum level value supported by hardware. This allows to get rid of the brightness conversion operation (from software [0:LED_FULL] to hardware ranges) in brightness_set(). Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit cd0109555bd118ddb8ee0df0ca5d8f9bd3d7a77f Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sat Sep 26 23:02:37 2015 +0200 leds: netxbig: convert to use the devm_ functions This patch converts the leds-netxbig driver to use the devres functions devm_gpio_request_one() and devm_led_classdev_register(). This allows to simplify the code a bit. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit ebc278f1575942d08ad3278b71cde99bd24eae63 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sat Sep 26 23:02:36 2015 +0200 ARM: mvebu: remove static LED setup for netxbig boards Since DT support is now available for the LEDs found on the LaCie netxbig boards (Kirkwood-based), then the old-fashion netxbig board setup file is no longer needed. This patch removes this file. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 767361fac0f730293c1be8cdf1636cf9510b2245 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sat Sep 26 23:02:35 2015 +0200 ARM: Kirkwood: add LED DT entries for netxbig boards This patch adds DT entries for the LEDs found on the Kirkwood-based LaCie boards 2Big and 5Big Network v2. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 2976b17989094e97567510be3ea91fc2f0c7aab3 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sat Sep 26 23:02:34 2015 +0200 leds: netxbig: add device tree binding This patch adds device tree support for the netxbig LEDs. This also introduces a additionnal DT binding for the GPIO extension bus (netxbig-gpio-ext) used to configure the LEDs. Since this bus could also be used to control other devices, then it seems more suitable to have it in a separate DT binding. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 1c7b9d0edf5ada916fd02e66355f79f2089ee095 Author: Jiri Prchal <jiri.prchal@xxxxxxxxxxx> Date: Thu Oct 8 10:32:26 2015 +0200 leds: triggers: add invert to heartbeat This patch adds possibility to invert heartbeat blinking. The inverted LED is more time ON then OFF. It's because it looks better when the heartbeat LED is next to other LED which is most time ON. The invert value is exported same way via sysfs in file invert like oneshot. I get inspiration from this trigger. Signed-off-by: Jiri Prchal <jiri.prchal@xxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 757b06ae04b3b6c8958ab067e879a8865d076d2a Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Mon Sep 28 14:38:04 2015 +0200 leds: core: Move LED core callbacks out of led-class.c Since the API for controlling LED brightness and blinking is defined in the LED core, move the related timer and work callbacks to the led-core.c, and initialize them through a new led_core_init API. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> commit 22a16873d38829570677871a22cf77f00445206f Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Aug 3 17:04:01 2015 +0200 LED/MIPS: Move SEAD3 LED driver to where it belongs. Fixes the following randconfig problem leds-sead3.c:(.text+0x7dc): undefined reference to `led_classdev_unregister' leds-sead3.c:(.text+0x7e8): undefined reference to `led_classdev_unregister' Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-leds@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 95281b5b598e9805b77dbbaaea400ebc2289bac8 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Mon Sep 7 21:58:29 2015 +0530 leds: leds-ipaq-micro: Fix coding style issues Spaces at the starting of a line are removed, indentation using tab, instead of space. Also, line width of more than 80 characters is also taken care of. Two warnings are left alone to aid better readability. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 431557f4a44f582f83fd83cbee571baeab24b853 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Mon Sep 7 19:43:23 2015 +0530 leds: leds-ipaq-micro: Use devm_led_classdev_register Use of resource-managed function devm_led_classdev_register instead of led_classdev_register is preferred, consequently remove redundant function micro_leds_remove. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 583a2b2cd73c13a91b5f529466dec4d27716d226 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sat Sep 5 19:53:27 2015 +0530 leds: leds-ot200: Use devm_led_classdev_register Use resource-managed function devm_led_classdev_register instead of led_classdev_register to make the error path simpler. The goto is replaced with direct return, unneeded label err is dropped. Also, remove redundant ot200_led_remove. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit c0fc68ba97b0f96fa4aaa6010ead6b77d3ffc3dd Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Sep 6 01:23:37 2015 +0530 leds: leds-hp6xx: Use devm_led_classdev_register Use resource-managed function devm_led_classdev_register instead of led_classdev_register to simplify error path. An unnecessary check of ret is replaced with a direct return Also, remove redundant hp6xxled_remove. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit aa4e2524955971730ff845c0589f2f8f441ad610 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Sep 4 12:12:01 2015 +0200 leds: leds-cobalt-qube: 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, goto is replaced with direct return, unneeded label err_null is dropped and unnecessary variable retval is removed. Also, remove redundant cobalt_qube_led_remove. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit c75960aa7a4ef09bb768fa474071f4190adae49c Merge: 049e6dd 8fb2b9a Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Tue Nov 3 15:24:40 2015 +0800 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal into thermal-soc commit 6ebbabbaed0b38563f62100762e3b3780655f83f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 15:14:21 2015 +0200 avr32: atngw100: remove useless include Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> commit 1c431cb4615334fb81c0d1c0ede21aa4354c1187 Merge: b459004 79ef5dc Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 3 15:42:59 2015 +1000 Merge branch 'linux-4.4' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next - Vast improvements to gk20a instmem handling. - Improved PGOB detection + GK107 support. - Compatibility between old/new interfaces added, final missing piece to finally enabling userspace to start using them. - Kepler GDDR5 PLL stability improvements - Support for non-GPIO (PWM) voltage controllers - G8x/GT2xx memory clock improvements - Misc other fixes * 'linux-4.4' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (45 commits) drm/nouveau: bump patchlevel to indicate availability of abi16/nvif interop drm/nouveau/abi16: implement limited interoperability with usif/nvif drm/nouveau/abi16: introduce locked variant of nouveau_abi16_get() drm/nouveau/abi16: remove unused argument from nouveau_abi16_get() drm/nouveau/pci: enable c800 magic for Medion Erazer X7827 drm/nouveau/pci: enable c800 magic for Lenovo Y510P drm/nouveau/pll/gk104: fix PLL instability due to bad configuration with gddr5 drm/nouveau/clk/g84: Enable reclocking for GDDR3 G94-G200 drm/nouveau/bus/hwsq: Implement VBLANK waiting heuristic drm/nouveau/fb/ramnv50: Script changes for G94 and up drm/nouveau/fb/ramnv50: Deal with cards without timing entries drm/nouveau/fb/ramnv50: Voltage GPIOs drm/nouveau/fb/ramgt215: Restructure r111100 calculation for DDR2 drm/nouveau/fb/ramgt215: Change FBVDD/Q when BIOS asks for it drm/nouveau/fb/ramgt215: Transform GPIO ramfuc method from FBVREF-specific to generic drm/nouveau/bios/rammap: Identify DLLoff for >= GF100 drm/nouveau/pci: Handle 5-bit and 8-bit tag field drm/nouveau/disp,pm: constify nvkm_object_func structures drm/nouveau/gr: add FERMI_COMPUTE_B class to GF110+ drm/nouveau/gr: document mp error 0x10 ... commit b4590047966ba35a626f947c3fee2c4ed7081685 Merge: c0f3f90 df547bf7 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 3 15:42:10 2015 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next This pull request includes comprehensive cleanups to HDMI part and several fixups. In addition, this pull request includes also a defconfig patch which enables mixer driver as default. For this, I got already Acked-by from Krzysztof Kozlowski who is a Exynos SoC maintainer. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (34 commits) drm/exynos/gem: remove DMA-mapping hacks used for constructing page array ARM: exynos_defconfig: enable Exynos DRM Mixer driver drm/exynos: simplify Kconfig component names drm/exynos: re-arrange Kconfig entries drm/exynos: abstract out common dependency drm/exynos: separate Mixer and HDMI drivers drm/exynos/mixer: replace direct cross-driver call with drm mode validation drm/exynos: add atomic_check callback to exynos_crtc drm/exynos/decon5433: add support for DECON-TV drm/exynos/decon5433: remove duplicated initialization drm/exynos/decon5433: merge different flag fields drm/exynos/decon5433: add function to set particular register bits drm/exynos/decon5433: fix timing registers writes drm/exynos/decon5433: add PCLK clock drm/exynos: cleanup name of gem object for exynos_drm drm/exynos: fix to detach device of iommu drm/exynos: add cursor plane support drm/exynos: add global macro for the default primary plane drm/exynos: fix spelling errors drm: exynos: mixer: fix using usleep() in atomic context ... commit 79ef5dca5e5cd5a33662d64c927c1b9786d4edee Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Nov 3 12:40:13 2015 +1000 drm/nouveau: bump patchlevel to indicate availability of abi16/nvif interop Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2621a41647fe783be809e789faa5d8b6b06c8072 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Nov 3 11:21:43 2015 +1000 drm/nouveau/abi16: implement limited interoperability with usif/nvif Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 786a57ef2cebb2d09d7f152b0ed4f1da1d368073 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Nov 3 10:55:45 2015 +1000 drm/nouveau/abi16: introduce locked variant of nouveau_abi16_get() USIF already takes the client mutex, but will need access to ABI16 data in order to provide some limited interoperability. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 09433f24e6e16e590b289489f1f4e16d92e79080 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Nov 3 10:17:49 2015 +1000 drm/nouveau/abi16: remove unused argument from nouveau_abi16_get() Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b41c48571d504f293a9a6a6cfd6c8e5dcb4ccf83 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Sat Oct 31 15:06:11 2015 -0400 drm/nouveau/pci: enable c800 magic for Medion Erazer X7827 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91557 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a2736b07df1f17c24c8890eb7b2dac529d9725d3 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Tue Oct 27 17:39:49 2015 -0400 drm/nouveau/pci: enable c800 magic for Lenovo Y510P Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70354#c75 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 78eaf335e4c8224e74e5d512f20ec48109db9dac Author: Karol Herbst <nouveau@xxxxxxxxxxxxxx> Date: Sun Aug 16 10:19:25 2015 +0200 drm/nouveau/pll/gk104: fix PLL instability due to bad configuration with gddr5 This patch uses an approach closer to the nvidia driver to configure both PLLs for high gddr5 memory clocks (usually above 2400MHz) Previously nouveau used the one PLL as it was used for the lower clocks and just adjusted the second PLL to get as close as possible to the requested clock. This means for my card, that I got a 4050 MHz clock although 4008 MHz was requested. Now the driver iterates over a list of PLL configuration also used by the nvidia driver and then adjust the second PLL to get near the requested clock. Also it hold to some restriction I found while analyzing the PLL configurations This won't fix all gddr5 high clock issues itself, but it should be fine on hybrid gpu systems as found on many laptops these days. Also switching while normal desktop usage should be a lot more stable than before. v2: move the pll code into ramgk104 Signed-off-by: Karol Herbst <nouveau@xxxxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0d42743dfa908a2ca4e349f883361906ebb4db95 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:52 2015 +0100 drm/nouveau/clk/g84: Enable reclocking for GDDR3 G94-G200 Your milage may vary, as it's only been tested on a single G94 and one G96. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Tested-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 271c27665c2d2f719a2fca6a3530a82984f22cca Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:51 2015 +0100 drm/nouveau/bus/hwsq: Implement VBLANK waiting heuristic Avoids waiting for VBLANKS that never arrive on headless or otherwise unconventional set-ups. Strategy taken from MEMX. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Tested-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4d9faafa0fdda2f4ba04b5cdffc0af1bab2312f4 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:50 2015 +0100 drm/nouveau/fb/ramnv50: Script changes for G94 and up 10053c is not even read on some cards, and I have no idea exactly what the criteria are. Likely NVIDIA pre-scans the VBIOS and in their driver disables all features that are never used. The practical effect should be the same as this implementation though. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Tested-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 797eb6ed8f13bb2f88bd605515990ef795a1eff7 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:49 2015 +0100 drm/nouveau/fb/ramnv50: Deal with cards without timing entries Like Pierre's G94. We might want to structure Kepler similarly in a follow-up. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Tested-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1cf688dd1b6f8f3ab998000e0f14b37041c77e30 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:48 2015 +0100 drm/nouveau/fb/ramnv50: Voltage GPIOs Does not seem to be necessary for NVA0, hence untested by me. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Tested-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0b0b78cd7def0fc001fc8cefa8621823bff6a8e5 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:47 2015 +0100 drm/nouveau/fb/ramgt215: Restructure r111100 calculation for DDR2 Seems to be mostly equal to DDR3 on < GT218, should improve stability for DDR2 reclocks. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ef6e8f4c7fd017ee66fc4b0fd3cfeae48c2e26d5 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:46 2015 +0100 drm/nouveau/fb/ramgt215: Change FBVDD/Q when BIOS asks for it Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e0a37f85fc95e3f2550446316bc4a27d00d75993 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:45 2015 +0100 drm/nouveau/fb/ramgt215: Transform GPIO ramfuc method from FBVREF-specific to generic In preparation of changing FBVDDQ, as observed on at least one GDDR3 card. While at it, adhere to func.log[1] properly for consistency. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b4f2bf33bb1d50f1b52fae673dc85dfd750e6712 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:44 2015 +0100 drm/nouveau/bios/rammap: Identify DLLoff for >= GF100 Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5d5b43f59bd214506265ea05a013229ff5291101 Author: Pierre Moreau <pierre.morrow@xxxxxxx> Date: Sat Oct 3 21:35:16 2015 +0200 drm/nouveau/pci: Handle 5-bit and 8-bit tag field If the hardware supports extended tag field (8-bit ones), then enable it. This is usually done by the VBIOS, but not on some MBPs (see fdo#86537). In case extended tag field is not supported, 5-bit tag field is used which limits the possible number of requests to 32. Apparently bits 7:0 of 0x08841c stores some number of outstanding requests, so cap it to 32 if extended tag is unsupported. Fixes: fdo#86537 v2: Restrict changes to chipsets >= 0x84 v3: * Add nvkm_pci_mask to pci.h * Mask bit 8 before setting it v4: * Rename `add` argument of nvkm_pci_mask to `value` * Move code from nvkm_pci_init to g84_pci_init and remove PCIe and chipset checks v5: * Rebase code on latest PCI structure * Restore PCIe check * Fix namings in nvkm_pci_mask * Rephrase part of the commit message Signed-off-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 354a22496613366833edfe29300a6bfe6482255c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Oct 11 14:18:09 2015 +0200 drm/nouveau/disp,pm: constify nvkm_object_func structures These nvkm_object_func structures are never modified. All other nvkm_object_func structures are declared as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2e69a5cd25a131cf283d3b655c01fb6db15dd60c Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Wed Oct 7 18:39:33 2015 -0400 drm/nouveau/gr: add FERMI_COMPUTE_B class to GF110+ GF110+ supports both the A and B compute classes, make sure to accept both. Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3988f645f053a6889d00324dac3e57bd62cb8900 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Wed Oct 7 18:39:32 2015 -0400 drm/nouveau/gr: document mp error 0x10 NVIDIA provided the documentation for mp error 0x10, INVALID_ADDR_SPACE, which apparently happens when trying to use an atomic operation on local or shared memory (instead of global memory). Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bad4274a69328256eb3eaad4baaefd1b33491f7e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 11 15:00:56 2015 +0530 drm/nouveau: fix memory leak If pm_runtime_get_sync() we were going to "out" but we missed freeing vma. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4458c5639ba827d494ab06a81d1bb129ca5aea91 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 2 12:08:08 2015 +0530 drm/nouveau: remove unused function coverity.com reported that memset was using a buffer of size 0, on checking the code it turned out that the function was not being used. So remove it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3c9aca318150ba1152e957a37473ff67d8ebba30 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 15:00:23 2015 +1000 drm/nouveau/pmu/gk107: enable PGOB codepaths Reported to be needed as per fdo#70354 comment #61. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 560f989fe4260f0c729d3fc8a8691a3a02815f25 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 14:58:04 2015 +1000 drm/nouveau/pmu/gk104: check fuse to determine presence of PGOB Not 100% confirmed, but seems to match from the few boards I've looked at so far. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 779d16aacc192bc70232304ffc6b86dcedad1b45 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 09:42:54 2015 +1000 drm/nouveau/pci: prepare for chipset-specific initialisation tasks Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c4266a9c7b0ee66b3d1ca22745d8eb9472e21b4b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 11:36:58 2015 +1000 drm/nouveau/pci/nv46: attempt to fix msi, and re-enable by default Was not able to obtain a trace of NVRM due to kernel version annoyances, however, experimentally confirmed that the WAR we use on NV50/G8x boards works here too. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b31505c472f2451c6143bf4727e79ea177a35ca5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 09:34:45 2015 +1000 drm/nouveau/pci/g94: split implementation from nv40 An upcoming patch will implement functionality that we don't use on any NV40 chipset. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3e55b53bc7039f1a6b051aa1a5ba15eec6dce2e7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 09:29:58 2015 +1000 drm/nouveau/pci/g84: split implementation from nv50 An upcoming patch will implement functionality that we don't use on the original NV50. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b6afa2650cb3ed4ec8ba0c2ccb29c1dc99e039d5 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Thu Sep 24 20:26:15 2015 +0200 drm/nouveau/ibus/gf100: increase wait timeout to avoid read faults Increase clock timeout of some unknown engines in order to avoid failure at high gpcclk rate. This fixes IBUS read faults on my GF119 when reclocking is manually enabled. Note that memory reclocking is completely broken and NvMemExec has to be disabled to allow core clock reclocking only. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 24580d1c310d5987f72adbb49bf3e976a5e5313b Author: Martin Peres <martin.peres@xxxxxxx> Date: Wed Sep 16 22:45:33 2015 +0300 drm/nouveau/gm204/6: add voltage control using the new gk104 volt class I got confirmation that we can read and change the voltage with the same code. The divider is also computed correctly on the gm204 we got our hands on. Thanks to Yoshimo on IRC for executing the tests on his gm204! Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit dc47700f7d965ca0c6abeccc8cf467de8a1ce768 Author: Martin Peres <martin.peres@xxxxxxx> Date: Wed Sep 9 02:13:30 2015 +0200 drm/nouveau/gm107: add voltage control using the new gk104 volt class Let's ignore the other desktop Maxwells until I get my hands on one and confirm that we still can change the voltage. Signed-off-by: Martin Peres <martin.peres@xxxxxxx> commit 1531dbbb56820d4e0fee4f9baa9fc84485bb6623 Author: Martin Peres <martin.peres@xxxxxxx> Date: Wed Sep 9 00:34:33 2015 +0200 drm/nouveau/volt/gk104: add support for pwm and gpio modes Most Keplers actually use the GPIO-based voltage management instead of the new PWM-based one. Use the GPIO mode as a fallback as it already gracefully handles the case where no GPIOs exist. All the Maxwells seem to use the PWM method though. v2: - Do not forget to commit the PWM configuration change! Signed-off-by: Martin Peres <martin.peres@xxxxxxx> commit 4c58a05b4a4709db7a1667d740f3ac2725fa3ce4 Author: Martin Peres <martin.peres@xxxxxxx> Date: Wed Sep 9 04:05:51 2015 +0300 drm/nouveau/volt: add support for non-vid-based voltage controllers This patch is not ideal but it definitely beats a rewrite of the current interface and is very self-contained. Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7bddeba9663962a5bd507e636c84361852314f04 Author: Martin Peres <martin.peres@xxxxxxx> Date: Wed Sep 9 04:05:50 2015 +0300 drm/nouveau/bios/volt: add support for pwm-based volt management Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b31cf78b93243f8ff64297c1f77a4d030c32ca56 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Sep 4 19:59:34 2015 +0900 drm/nouveau/ttm: set the DMA mask for platform devices So far the DMA mask was not set for platform devices, which limited them to a 32-bit physical space. Allow dma_set_mask() to be called for non-PCI devices, and also take the IOMMU bit into account since it could restrict the physically addressable space. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 524883bb48464ed76bd635819989284a249bf917 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Sep 4 19:59:33 2015 +0900 drm/nouveau/ttm: convert to DMA API The pci_dma_* functions are now superseeded in the kernel by the DMA API. Make the conversion to this more generic API. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 68b566534c1275facf64969cfd643fa6a724b351 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Sep 4 19:59:32 2015 +0900 drm/nouveau/instmem/gk20a: make use of the IOMMU bit Use the IOMMU bit specified in platform data instead of hardcoding it to the bit used by current Tegra GPUs. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e396ecd178c6c8373e765d78b5b1a29e38837d3a Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Sep 4 19:59:31 2015 +0900 drm/nouveau/platform: allow to specify the IOMMU bit Current Tegra code taking advantage of the IOMMU assumes a hardcoded value for the IOMMU bit. Make it a platform property instead for flexibility. v2 (Ben Skeggs): remove nvkm dependence on drm structures Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 69c4938249fb48aeed32fd76c67972e71f471cd2 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Sep 4 19:52:11 2015 +0900 drm/nouveau/instmem/gk20a: use direct CPU access The Great Nouveau Refactoring Take II brought us a lot of goodness, including acquire/release methods that are called before and after an instobj is modified. These functions can be used as synchronization points to manage CPU/GPU coherency if we modify an instobj using the CPU. This patch replaces the legacy and slow PRAMIN access for gk20a instmem with CPU mappings and writes. A LRU list is used to unmap unused mappings after a certain threshold (currently 1MB) of mapped instobjs is reached. This allows mappings to be reused most of the time. Accessing instobjs using the CPU requires to maintain the GPU L2 cache, which we do in the acquire/release functions. This triggers a lot of L2 flushes/invalidates, but most of them are performed on an empty cache (and thus return immediately), and overall context setup performance greatly benefits from this (from 250ms to 160ms on Jetson TK1 for a simple libdrm program). Making L2 management more explicit should allow us to grab some more performance in the future. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fcf3f91c34105c3551741febbfc1066aaa7f1db7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Sep 4 14:40:32 2015 +1000 drm/nouveau: remove unnecessary usage of object handles No longer required in a lot of cases, as objects are identified over NVIF via an alternate mechanism since the rework. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a0a49bac2fe18375b7ccb9de4671960531294470 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Sep 3 17:48:15 2015 +0900 drm/nouveau/ltc/gf100: add flush/invalidate functions Allow clients to manually flush and invalidate L2. This will be useful for Tegra systems for which we want to write instmem using the CPU. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 38a8fc78d00749328888bb0e37ad93535e7e9992 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Sep 3 17:48:14 2015 +0900 drm/nouveau/ltc: add hooks for invalidate and flush These are useful for systems without a coherent CPU/GPU bus. For such systems we may need to maintain the L2 ourselves. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 542f60dc84c6f382a56a0b42dc09aa183198a55f Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Sep 3 17:48:13 2015 +0900 drm/nouveau/timer: re-introduce nvkm_wait_xsec macros Reintroduce macros allowing us to test a register against a certain mask, since this is the most common usage pattern for the more generic nvkm_xsec macros and makes the code more concise and readable. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 579b7c58215329803ce184704463de09f0f310ac Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Sep 3 17:39:52 2015 +0900 drm/nouveau/pmu: do not assume a PMU is present Some devices may not have a PMU. Avoid a NULL pointer dereference in such cases by checking whether the pointer given to nvkm_pmu_pgob() is valid. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 04b8a4bd8e01e25b9fa9fa7b1c957a7346ae83c1 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Tue Oct 20 01:15:39 2015 -0400 drm/nouveau/gem: return only valid domain when there's only one On nv50+, we restrict the valid domains to just the one where the buffer was originally created. However after the buffer is evicted to system memory, we might move it back to a different domain that was not originally valid. When sharing the buffer and retrieving its GEM_INFO data, we still want the domain that will be valid for this buffer in a pushbuf, not the one where it currently happens to be. This resolves fdo#92504 and several others. These are due to suspend evicting all buffers, making it more likely that they temporarily end up in the wrong place. Cc: stable@xxxxxxxxxxxxxxx Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92504 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f3951a3709ff50990bf3e188c27d346792103432 Author: Calvin Owens <calvinowens@xxxxxx> Date: Fri Oct 30 16:57:00 2015 -0700 sg: Fix double-free when drives detach during SG_IO In sg_common_write(), we free the block request and return -ENODEV if the device is detached in the middle of the SG_IO ioctl(). Unfortunately, sg_finish_rem_req() also tries to free srp->rq, so we end up freeing rq->cmd in the already free rq object, and then free the object itself out from under the current user. This ends up corrupting random memory via the list_head on the rq object. The most common crash trace I saw is this: ------------[ cut here ]------------ kernel BUG at block/blk-core.c:1420! Call Trace: [<ffffffff81281eab>] blk_put_request+0x5b/0x80 [<ffffffffa0069e5b>] sg_finish_rem_req+0x6b/0x120 [sg] [<ffffffffa006bcb9>] sg_common_write.isra.14+0x459/0x5a0 [sg] [<ffffffff8125b328>] ? selinux_file_alloc_security+0x48/0x70 [<ffffffffa006bf95>] sg_new_write.isra.17+0x195/0x2d0 [sg] [<ffffffffa006cef4>] sg_ioctl+0x644/0xdb0 [sg] [<ffffffff81170f80>] do_vfs_ioctl+0x90/0x520 [<ffffffff81258967>] ? file_has_perm+0x97/0xb0 [<ffffffff811714a1>] SyS_ioctl+0x91/0xb0 [<ffffffff81602afb>] tracesys+0xdd/0xe2 RIP [<ffffffff81281e04>] __blk_put_request+0x154/0x1a0 The solution is straightforward: just set srp->rq to NULL in the failure branch so that sg_finish_rem_req() doesn't attempt to re-free it. Additionally, since sg_rq_end_io() will never be called on the object when this happens, we need to free memory backing ->cmd if it isn't embedded in the object itself. KASAN was extremely helpful in finding the root cause of this bug. Signed-off-by: Calvin Owens <calvinowens@xxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 5f6c99e0ab805d8ec9eda105822912d49aa1d409 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Tue Nov 3 12:27:33 2015 +0800 net: phy: fix a bug in get_phy_c45_ids When probing devices-in-package for a c45 phy, device zero is the last device to probe, however, if driver reads 0 from device zero, c45_ids->devices_in_package is set to '0', the loop condition of probing will be matched again, see codes below: for (i = 1;i < num_ids && c45_ids->devices_in_package == 0;i++) driver will run in a dead loop. This patch restructures the bug and confusing loop, it provides a helper function get_phy_c45_devs_in_pkg which to read devices-in-package registers of a MMD, and rewrites the loop with using the helper function. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd867d51f889aec11cca235ebb008578780d052d Author: Jarod Wilson <jarod@xxxxxxxxxx> Date: Mon Nov 2 21:55:59 2015 -0500 net/core: generic support for disabling netdev features down stack There are some netdev features, which when disabled on an upper device, such as a bonding master or a bridge, must be disabled and cannot be re-enabled on underlying devices. This is a rework of an earlier more heavy-handed appraoch, which simply disables and prevents re-enabling of netdev features listed in a new define in include/net/netdev_features.h, NETIF_F_UPPER_DISABLES. Any upper device that disables a flag in that feature mask, the disabling will propagate down the stack, and any lower device that has any upper device with one of those flags disabled should not be able to enable said flag. Initially, only LRO is included for proof of concept, and because this code effectively does the same thing as dev_disable_lro(), though it will also activate from the ethtool path, which was one of the goals here. [root@dell-per730-01 ~]# ethtool -k bond0 |grep large large-receive-offload: on [root@dell-per730-01 ~]# ethtool -k p5p1 |grep large large-receive-offload: on [root@dell-per730-01 ~]# ethtool -K bond0 lro off [root@dell-per730-01 ~]# ethtool -k bond0 |grep large large-receive-offload: off [root@dell-per730-01 ~]# ethtool -k p5p1 |grep large large-receive-offload: off dmesg dump: [ 1033.277986] bond0: Disabling feature 0x0000000000008000 on lower dev p5p2. [ 1034.067949] bnx2x 0000:06:00.1 p5p2: using MSI-X IRQs: sp 74 fp[0] 76 ... fp[7] 83 [ 1034.753612] bond0: Disabling feature 0x0000000000008000 on lower dev p5p1. [ 1035.591019] bnx2x 0000:06:00.0 p5p1: using MSI-X IRQs: sp 62 fp[0] 64 ... fp[7] 71 This has been successfully tested with bnx2x, qlcnic and netxen network cards as slaves in a bond interface. Turning LRO on or off on the master also turns it on or off on each of the slaves, new slaves are added with LRO in the same state as the master, and LRO can't be toggled on the slaves. Also, this should largely remove the need for dev_disable_lro(), and most, if not all, of its call sites can be replaced by simply making sure NETIF_F_LRO isn't included in the relevant device's feature flags. Note that this patch is driven by bug reports from users saying it was confusing that bonds and slaves had different settings for the same features, and while it won't be 100% in sync if a lower device doesn't support a feature like LRO, I think this is a good step in the right direction. CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Eric Dumazet <edumazet@xxxxxxxxxx> CC: Jay Vosburgh <j.vosburgh@xxxxxxxxx> CC: Veaceslav Falico <vfalico@xxxxxxxxx> CC: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> CC: Jiri Pirko <jiri@xxxxxxxxxxx> CC: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx> CC: Michal Kubecek <mkubecek@xxxxxxx> CC: Alexander Duyck <alexander.duyck@xxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c913df3f3d6f7f5e5ed845e2786b0fc98a41482f Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:31 2015 -0400 pm80xx: avoid a panic if MSI(X) interrupts are disabled If MSI(X) interrupts are disabled via the kernel command line (pci=nomsi), the pm8001 driver will kernel panic because it does not detect that MSI interrupts are disabled and will soldier on and attempt to configure MSI interrupts anyways. This leads to a kernel panic, most likely because a required data structure is not available down the line. Using the pci_msi_enabled() function in order to detect if MSI interrupts are enabled before configuring them resolves this issue and avoids a kernel panic when the module is loaded. Additionally, the irq_vector structure must be initialized when legacy interrupts are being used otherwise legacy interrupts will simply not function and result in another panic. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit b650a8806e1ba0315fbeda8b45c9e53d73abbb6f Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Mon Nov 2 15:42:29 2015 -0500 pm80xx: wait a minimum of 500ms before issuing commands to SPCv The documentation for the 8070 and 8072 SPCv chip explicitly states that a minimum of 500ms must elapse before issuing commands, otherwise the SPCv may not process them and the firmware may get into an unrecoverable state requiring a reboot. While the Linux guys will probably think this is 'racy', it is called out in the chip documentation and inserting this delay makes power management function properly. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit faf321b0b7fe3bfcb00ceb5192ecce9d6257dc06 Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:29 2015 -0400 pm80xx: do not examine registers for iButton feature if ATTO adapter ATTO adapters do not support this feature. If the firmware fails to be ready, it should not check the examined registers in order to examine the state of the feature in order to prevent undefined behavior. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c5614df7ffa74d2fcb591eb4e9008ca38f0bc8c1 Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:28 2015 -0400 pm80xx: set PHY profiles for ATTO 12Gb SAS controllers PHY profiles are not saved in NVRAM on ATTO 12Gb SAS controllers. Therefore, in order for the controller to function in a wide range of configurations, the PHY profiles must be statically set. This patch provides the necessary functionality to do so. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 10efa460fe23c4def83fb98be311502b5c5961fa Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Mon Nov 2 15:39:23 2015 -0500 pm80xx: add support for ATTO devices during SAS address initiailization ATTO SAS controllers retrieve the SAS address from the NVRAM in a location different from non-ATTO PMC Sierra SAS controllers. This patch makes the necessary adjustments in order to retrieve the SAS address on these types of adapters. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit b2dece485966b10012bd16302f05fdde33400ec4 Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:26 2015 -0400 pm80xx: add ATTO PCI IDs to pm8001_pci_table These PCI IDs allow the pm8001 driver to load against ATTO 12Gb SAS controllers that use PMC Sierra 8070 and PMC Sierra 8072 SAS chips. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit db9d4034daa95e64874acd948778d45cb46ae625 Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:25 2015 -0400 pm80xx: add support for PMC Sierra 8070 and PMC Sierra 8072 SAS controllers These SAS controllers support speeds up to 12Gb. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit da2dd6184b6178c12ca3d953356962a6ef5cfaff Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:24 2015 -0400 pm80xx: configure PHY settings based on subsystem vendor ID Previuosly, all PMC Sierra 80xx controllers are assumed to be a motherboard controller, except if the subsystem vendor ID was equal to PCI_VENDOR_ID_ADAPTEC. The driver then attempts to load PHY settings from NVRAM. While this may be correct behavior for most controllers, it does not work with Adaptec and ATTO controllers since they do not store PHY settings in NVRAM and choose to use either custom PHY settings or chip defaults. Loading random values from NVRAM may cause the controllers to malfunction in this edge case. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit b39c9a661b9bc77e064cade26cf913a1d4255d55 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:47:06 2015 -0500 SCSI: Increase REPORT_LUNS timeout This patch fixes an issue seen with an IBM 2145 (SVC) where, following an error injection test which results in paths going offline, when they came back online, the path would timeout the REPORT_LUNS issued during the scan. This timeout situation continued until retries were expired, resulting in falling back to a sequential LUN scan. Then, since the target responds with PQ=1, PDT=0 for all possible LUNs, due to the way the sequential LUN scan code works, we end up adding 512 LUNs for each target, when there is really only a small handful of LUNs that are actually present. This patch increases the timeout used on the REPORT_LUNS to 30 seconds. This patch solves the issue of 512 non existent LUNs showing up after this event. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit b2663a4f30e85ec606b806f5135413e6d5c78d1e Author: Martin Habets <mhabets@xxxxxxxxxxxxxx> Date: Mon Nov 2 12:51:31 2015 +0000 sfc: push partner queue for skb->xmit_more When the IP stack passes SKBs the sfc driver puts them in 2 different TX queues (called partners), one for checksummed and one for not checksummed. If the SKB has xmit_more set the driver will delay pushing the work to the NIC. When later it does decide to push the buffers this patch ensures it also pushes the partner queue, if that also has any delayed work. Before this fix the work in the partner queue would be left for a long time and cause a netdev watchdog. Fixes: 70b33fb ("sfc: add support for skb->xmit_more") Reported-by: Jianlin Shi <jishi@xxxxxxxxxx> Signed-off-by: Martin Habets <mhabets@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c238041f517d0a6458264582e8e2a1513766f8e7 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 01:28:07 2015 +0300 sh_eth: fix typo in RX descriptor bit name The correct name of the RX descriptor 0 bit 30 is RDLE (receive descriptor list end), not RDEL. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8051156d1d3dd99d02e0bf5b127fc8d32f30f69 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:41:14 2015 +0530 megaraid_sas : Remove debug print from function megasas_update_span_set Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit afb2b5ddac9f3727983030bc4450e9e3b5956b2a Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:41:04 2015 +0530 megaraid_sas : Driver version upgrade Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 323c4a02c631d00851d8edc4213c4d184ef83647 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:54 2015 +0530 megaraid_sas : SMAP restriction--do not access user memory from IOCTL code This is an issue on SMAP enabled CPUs and 32 bit apps running on 64 bit OS. Do not access user memory from kernel code. The SMAP bit restricts accessing user memory from kernel code. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 4ece9009774596ee3df0acba65a324b7ea79387c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Nov 2 17:08:19 2015 -0800 sit: fix sit0 percpu double allocations sit0 device allocates its percpu storage twice : - One time in ipip6_tunnel_init() - One time in ipip6_fb_tunnel_init() Thus we leak 48 bytes per possible cpu per network namespace dismantle. ipip6_fb_tunnel_init() can be much simpler and does not return an error, and should be called after register_netdev() Note that ipip6_tunnel_clone_6rd() also needs to be called after register_netdev() (calling ipip6_tunnel_init()) Fixes: ebe084aafb7e ("sit: Use ipip6_tunnel_init as the ndo_init function.") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a176ded3f4bdbd267bc9a79bde12d984c8c517b2 Merge: 12d4309 52bc671 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 22:52:24 2015 -0500 Merge branch 'bonding-actor-updates' Mahesh Bandewar says: ==================== re-org actor admin/oper key updates I was observing machines entering into weird LACP state when the partner is in passive mode. This issue is not because of the partners in passive state but probably because of some operational key update which is pushing the state-machine is that weird state. This was happening randomly on about 1% of the machine (when the sample size is a large set of machines with a variety of NICs/ports bonded). In this patch-series I'm attempting to unify the logic of actor-key / operational-key changes to one place to avoid possible errors in update. Also this eliminates the need for the event-handler to decide if the key needs update. After this patch-set none of the machines (from same sample set) were exhibiting LACP-weirdness that was observed earlier. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52bc67168109ade61014a36feedf09f4bc53d8f1 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Sat Oct 31 12:45:11 2015 -0700 bonding: simplify / unify event handling code for 3ad mode. Old logic of updating state-machine is not required since ad_update_actor_keys() does it implicitly. The only loss is the notification differentiation between speed vs. duplex change. Now only one unified notification is printed. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7bb11dc9f59ddcb33ee317da77b235235aaa582a Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Sat Oct 31 12:45:06 2015 -0700 bonding: unify all places where actor-oper key needs to be updated. actor_admin, and actor_oper key is changed at multiple locations in the code. This patch brings all those updates into one location in an attempt to avoid possible inconsistent updates causing LACP state machine to go in weird state. The unified place is ad_update_actor_key() with simple state-machine logic - (a) If port is "duplex" then only it can participate in LACP (b) Speed change reinitializes the LACP state-machine. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b25c2e7d3c44aaadee55d70f70c31cbc9014c713 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Sat Oct 31 12:45:00 2015 -0700 bonding: Simplify __get_duplex function. Eliminate 'else' clause by simply initializing variable Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12d4309636d30770b54985be05ac512131f328b8 Merge: 1d6119b 42984d7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 22:48:39 2015 -0500 Merge branch 'bpf-persistent' Daniel Borkmann says: ==================== BPF updates This set adds support for persistent maps/progs. Please see individual patches for further details. A man-page update to bpf(2) will be sent later on, also a iproute2 patch for support in tc. v1 -> v2: - Reworked most of patch 4 and 5 - Rebased to latest net-next ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42984d7c1e563bf92e6ca7a0fd89f8e933f2162e Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 29 14:58:10 2015 +0100 bpf: add sample usages for persistent maps/progs This patch adds a couple of stand-alone examples on how BPF_OBJ_PIN and BPF_OBJ_GET commands can be used. Example with maps: # ./fds_example -F /sys/fs/bpf/m -P -m -k 1 -v 42 bpf: map fd:3 (Success) bpf: pin ret:(0,Success) bpf: fd:3 u->(1:42) ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m -G -m -k 1 bpf: get fd:3 (Success) bpf: fd:3 l->(1):42 ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m -G -m -k 1 -v 24 bpf: get fd:3 (Success) bpf: fd:3 u->(1:24) ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m -G -m -k 1 bpf: get fd:3 (Success) bpf: fd:3 l->(1):24 ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m2 -P -m bpf: map fd:3 (Success) bpf: pin ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m2 -G -m -k 1 bpf: get fd:3 (Success) bpf: fd:3 l->(1):0 ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m2 -G -m bpf: get fd:3 (Success) Example with progs: # ./fds_example -F /sys/fs/bpf/p -P -p bpf: prog fd:3 (Success) bpf: pin ret:(0,Success) bpf sock:4 <- fd:3 attached ret:(0,Success) # ./fds_example -F /sys/fs/bpf/p -G -p bpf: get fd:3 (Success) bpf: sock:4 <- fd:3 attached ret:(0,Success) # ./fds_example -F /sys/fs/bpf/p2 -P -p -o ./sockex1_kern.o bpf: prog fd:5 (Success) bpf: pin ret:(0,Success) bpf: sock:3 <- fd:5 attached ret:(0,Success) # ./fds_example -F /sys/fs/bpf/p2 -G -p bpf: get fd:3 (Success) bpf: sock:4 <- fd:3 attached ret:(0,Success) Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2197755b2633e164a439682fb05a9b5ea48f706 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 29 14:58:09 2015 +0100 bpf: add support for persistent maps/progs This work adds support for "persistent" eBPF maps/programs. The term "persistent" is to be understood that maps/programs have a facility that lets them survive process termination. This is desired by various eBPF subsystem users. Just to name one example: tc classifier/action. Whenever tc parses the ELF object, extracts and loads maps/progs into the kernel, these file descriptors will be out of reach after the tc instance exits. So a subsequent tc invocation won't be able to access/relocate on this resource, and therefore maps cannot easily be shared, f.e. between the ingress and egress networking data path. The current workaround is that Unix domain sockets (UDS) need to be instrumented in order to pass the created eBPF map/program file descriptors to a third party management daemon through UDS' socket passing facility. This makes it a bit complicated to deploy shared eBPF maps or programs (programs f.e. for tail calls) among various processes. We've been brainstorming on how we could tackle this issue and various approches have been tried out so far, which can be read up further in the below reference. The architecture we eventually ended up with is a minimal file system that can hold map/prog objects. The file system is a per mount namespace singleton, and the default mount point is /sys/fs/bpf/. Any subsequent mounts within a given namespace will point to the same instance. The file system allows for creating a user-defined directory structure. The objects for maps/progs are created/fetched through bpf(2) with two new commands (BPF_OBJ_PIN/BPF_OBJ_GET). I.e. a bpf file descriptor along with a pathname is being passed to bpf(2) that in turn creates (we call it eBPF object pinning) the file system nodes. Only the pathname is being passed to bpf(2) for getting a new BPF file descriptor to an existing node. The user can use that to access maps and progs later on, through bpf(2). Removal of file system nodes is being managed through normal VFS functions such as unlink(2), etc. The file system code is kept to a very minimum and can be further extended later on. The next step I'm working on is to add dump eBPF map/prog commands to bpf(2), so that a specification from a given file descriptor can be retrieved. This can be used by things like CRIU but also applications can inspect the meta data after calling BPF_OBJ_GET. Big thanks also to Alexei and Hannes who significantly contributed in the design discussion that eventually let us end up with this architecture here. Reference: https://lkml.org/lkml/2015/10/15/925 Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9d8afa90b789b07d414637ab557d169d6b2b84e Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 29 14:58:08 2015 +0100 bpf: consolidate bpf_prog_put{, _rcu} dismantle paths We currently have duplicated cleanup code in bpf_prog_put() and bpf_prog_put_rcu() cleanup paths. Back then we decided that it was not worth it to make it a common helper called by both, but with the recent addition of resource charging, we could have avoided the fix in commit ac00737f4e81 ("bpf: Need to call bpf_prog_uncharge_memlock from bpf_prog_put") if we would have had only a single, common path. We can simplify it further by assigning aux->prog only once during allocation time. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c210129760a010b555372ef74f4e1a46d4eb8a22 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 29 14:58:07 2015 +0100 bpf: align and clean bpf_{map,prog}_get helpers Add a bpf_map_get() function that we're going to use later on and align/clean the remaining helpers a bit so that we have them a bit more consistent: - __bpf_map_get() and __bpf_prog_get() that both work on the fd struct, check whether the descriptor is eBPF and return the pointer to the map/prog stored in the private data. Also, we can return f.file->private_data directly, the function signature is enough of a documentation already. - bpf_map_get() and bpf_prog_get() that both work on u32 user fd, call their respective __bpf_map_get()/__bpf_prog_get() variants, and take a reference. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa79781b65b9cf79807ade78f2703f5e9402c336 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 29 14:58:06 2015 +0100 bpf: abstract anon_inode_getfd invocations Since we're going to use anon_inode_getfd() invocations in more than just the current places, make a helper function for both, so that we only need to pass a map/prog pointer to the helper itself in order to get a fd. The new helpers are called bpf_map_new_fd() and bpf_prog_new_fd(). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d6119baf0610f813eb9d9580eb4fd16de5b4ceb Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Nov 2 09:03:11 2015 -0800 net: fix percpu memory leaks This patch fixes following problems : 1) percpu_counter_init() can return an error, therefore init_frag_mem_limit() must propagate this error so that inet_frags_init_net() can do the same up to its callers. 2) If ip[46]_frags_ns_ctl_register() fail, we must unwind properly and free the percpu_counter. Without this fix, we leave freed object in percpu_counters global list (if CONFIG_HOTPLUG_CPU) leading to crashes. This bug was detected by KASAN and syzkaller tool (http://github.com/google/syzkaller) Fixes: 6d7b857d541e ("net: use lib/percpu_counter API for fragmentation mem accounting") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fa677d2706d325d71dab91bf6e6512c05214e37 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Nov 2 07:50:07 2015 -0800 net: avoid NULL deref in inet_ctl_sock_destroy() Under low memory conditions, tcp_sk_init() and icmp_sk_init() can both iterate on all possible cpus and call inet_ctl_sock_destroy(), with eventual NULL pointer. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df547bf7735a623500eedff9cc6716ac1d82b95d Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Oct 13 13:47:20 2015 +0200 drm/exynos/gem: remove DMA-mapping hacks used for constructing page array Exynos GEM objects contains an array of pointers to the pages, which the allocated buffer consists of. Till now the code used some hacks (like relying on DMA-mapping internal structures or using ARM-specific dma_to_pfn helper) to build this array. This patch fixes this by adding proper call to dma_get_sgtable_attrs() and using the acquired scatter-list to construct needed array. This approach is more portable (work also for ARM64) and finally fixes the layering violation that was present in this code. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 01351315465fe58b9ab990554467773367f74cab Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:41 2015 +0100 ARM: exynos_defconfig: enable Exynos DRM Mixer driver Mixer driver is selected by CONFIG_DRM_EXYNOS_HDMI option. Since Exynos5433 HDMI does not require Mixer. There will be separate options to select Mixer and HDMI. Adding new option to defconfig before Kconfig will allow to keep bisectability. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5a3c35b377ce5b1d438792ee4ebb8e6222dcd50d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:45 2015 +0100 drm/exynos: simplify Kconfig component names Many Exynos DRM sub-options mentions Exynos DRM in their titles. It is redundant and can be safely shortened. The patch additionally makes some entries more descriptive. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit ea9776465d8f1617c99ffe7f90aa245fba474544 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:44 2015 +0100 drm/exynos: re-arrange Kconfig entries Exynos DRM driver have quite big number of components and options. The patch re-arranges them into three logical groups: - CRTCs, - Encoders and Bridges, - Sub-drivers. It should make driver options more clear. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit dba6c5280d62cef3df9c67cafaddf1c7df0d5889 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:43 2015 +0100 drm/exynos: abstract out common dependency All options depends on DRM_EXYNOS so it can be moved to enclosing if clause. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 3cb02b4a9e3e4f71ca7fefaff96ae47dd42a0adc Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:42 2015 +0100 drm/exynos: separate Mixer and HDMI drivers Latest Exynos SoCs does not have Mixer IP, but they still have HDMI IP. Their drivers should be configurable separately. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 3ae24362e02df0aa27ed1dc9d85b720514c99d20 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:40 2015 +0100 drm/exynos/mixer: replace direct cross-driver call with drm mode validation HDMI driver called directly function from MIXER driver to invalidate modes not supported by MIXER. The patch replaces the hack with proper .atomic_check callback. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5625b3418a5bf977e3561bb12229d4c3e96b44d8 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:39 2015 +0100 drm/exynos: add atomic_check callback to exynos_crtc Some CRTCs needs mode validation, this patch adds neccessary callback to Exynos DRM framework. It is called from DRM core via atomic_check helper for drm_crtc. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b8182832c5a9d9ce645d53be84e5db07f8aa5302 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 18:22:41 2015 +0900 drm/exynos/decon5433: add support for DECON-TV DECON-TV IP is responsible for generating video stream which is transferred to HDMI IP. It is almost fully compatible with DECON IP. The patch is based on initial work of Hyungwon Hwang. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5d929ba50a1ea69fba1a92e24fc54d484583a109 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 11:22:39 2015 +0200 drm/exynos/decon5433: remove duplicated initialization Field .commit is already initialized few lines above. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7b6bb6ed01e9f9c20c86b722c733d7219c4c55f6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 11:22:38 2015 +0200 drm/exynos/decon5433: merge different flag fields Driver uses four different fields for internal flags. They can be merged into one. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b219207385dbd575ebd7e1cbf560636c8e780467 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 11:22:37 2015 +0200 drm/exynos/decon5433: add function to set particular register bits The driver often sets only particular bits of configuration registers. Using separate function to such action simplifies the code. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 85de275ad9aff7dae5811fc583a6a43e7b5cc0f1 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 11:22:36 2015 +0200 drm/exynos/decon5433: fix timing registers writes All timing registers should contain values decreased by one. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 4f54f21cd68eb7b2ed355b9de90a2d58b96fdda9 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 11:22:34 2015 +0200 drm/exynos/decon5433: add PCLK clock PCLK clock is used by DECON IP. The patch also replaces magic number with number of clocks in array definition. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 264e89ad3412ce1e2977e5e807bcf7d20d3b0a59 Merge: 2da5c4b 13ad4fe Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Nov 3 13:28:41 2015 +1100 Merge branch 'xfs-dax-updates' into for-next commit 2da5c4b05ab55225f5d1fcc8c1c37d1918232bf4 Merge: fcd8a39 fc0561c Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Nov 3 13:27:58 2015 +1100 Merge branch 'xfs-misc-fixes-for-4.4-2' into for-next commit fc0561cefc04e7803c0f6501ca4f310a502f65b8 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 13:14:59 2015 +1100 xfs: optimise away log forces on timestamp updates for fdatasync xfs: timestamp updates cause excessive fdatasync log traffic Sage Weil reported that a ceph test workload was writing to the log on every fdatasync during an overwrite workload. Event tracing showed that the only metadata modification being made was the timestamp updates during the write(2) syscall, but fdatasync(2) is supposed to ignore them. The key observation was that the transactions in the log all looked like this: INODE: #regs: 4 ino: 0x8b flags: 0x45 dsize: 32 And contained a flags field of 0x45 or 0x85, and had data and attribute forks following the inode core. This means that the timestamp updates were triggering dirty relogging of previously logged parts of the inode that hadn't yet been flushed back to disk. There are two parts to this problem. The first is that XFS relogs dirty regions in subsequent transactions, so it carries around the fields that have been dirtied since the last time the inode was written back to disk, not since the last time the inode was forced into the log. The second part is that on v5 filesystems, the inode change count update during inode dirtying also sets the XFS_ILOG_CORE flag, so on v5 filesystems this makes a timestamp update dirty the entire inode. As a result when fdatasync is run, it looks at the dirty fields in the inode, and sees more than just the timestamp flag, even though the only metadata change since the last fdatasync was just the timestamps. Hence we force the log on every subsequent fdatasync even though it is not needed. To fix this, add a new field to the inode log item that tracks changes since the last time fsync/fdatasync forced the log to flush the changes to the journal. This flag is updated when we dirty the inode, but we do it before updating the change count so it does not carry the "core dirty" flag from timestamp updates. The fields are zeroed when the inode is marked clean (due to writeback/freeing) or when an fsync/datasync forces the log. Hence if we only dirty the timestamps on the inode between fsync/fdatasync calls, the fdatasync will not trigger another log force. Over 100 runs of the test program: Ext4 baseline: runtime: 1.63s +/- 0.24s avg lat: 1.59ms +/- 0.24ms iops: ~2000 XFS, vanilla kernel: runtime: 2.45s +/- 0.18s avg lat: 2.39ms +/- 0.18ms log forces: ~400/s iops: ~1000 XFS, patched kernel: runtime: 1.49s +/- 0.26s avg lat: 1.46ms +/- 0.25ms log forces: ~30/s iops: ~1500 Reported-by: Sage Weil <sage@xxxxxxxxxx> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit af3b63822e73b66f3ca9927b46df8b873ab8c6ec Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Tue Nov 3 13:06:34 2015 +1100 xfs: don't leak uuid table on rmmod Don't leak the UUID table when the module is unloaded. (Found with kmemleak.) Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 47e1bf640558237b79d3009fb7dfe157f12f4f7a Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 12:56:17 2015 +1100 xfs: invalidate cached acl if set via ioctl Setting or removing the "SGI_ACL_[FILE|DEFAULT]" attributes via the XFS_IOC_ATTRMULTI_BY_HANDLE ioctl completely bypasses the POSIX ACL infrastructure, like setting the "trusted.SGI_ACL_[FILE|DEFAULT]" xattrs did until commit 6caa1056. Similar to that commit, invalidate cached acls when setting/removing them via the ioctl as well. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 09cb22d2a57b51d7d052dfe508f260abc67b69b6 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 12:53:54 2015 +1100 xfs: Plug memory leak in xfs_attrmulti_attr_set When setting attributes via XFS_IOC_ATTRMULTI_BY_HANDLE, the user-space buffer is copied into a new kernel-space buffer via memdup_user; that buffer then isn't freed. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 86a21c79745ca97676cbd47f8608839382cc0448 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 12:41:59 2015 +1100 xfs: Validate the length of on-disk ACLs In xfs_acl_from_disk, instead of trusting that xfs_acl.acl_cnt is correct, make sure that the length of the attributes is correct as well. Also, turn the aclp parameter into a const pointer. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 67d8e04e345eafcb2940066f435815032eec467d Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Nov 3 12:40:59 2015 +1100 xfs: invalidate cached acl if set directly via xattr ACLs are stored as extended attributes of the inode to which they apply. XFS converts the standard "system.posix_acl_[access|default]" attribute names used to control ACLs to "trusted.SGI_ACL_[FILE|DEFAULT]" as stored on-disk. These xattrs are directly exposed in on-disk format via getxattr/setxattr, without any ACL aware code in the path to perform validation, etc. This is partly historical and supports backup/restore applications such as xfsdump to back up and restore the binary blob that represents ACLs as-is. Andreas reports that the ACLs observed via the getfacl interface is not consistent when ACLs are set directly via the setxattr path. This occurs because the ACLs are cached in-core against the inode and the xattr path has no knowledge that the operation relates to ACLs. Update the xattr set codepath to trap writes of the special XFS ACL attributes and invalidate the associated cached ACL when this occurs. This ensures that the correct ACLs are used on a subsequent operation through the actual ACL interface. Note that this does not update or add support for setting the ACL xattrs directly beyond the restore use case that requires a correctly formatted binary blob and to restore a consistent i_mode at the same time. It is still possible for a root user to set an invalid or inconsistent (with i_mode) ACL blob on-disk and potentially cause corruption. [ With fixes from Andreas Gruenbacher. ] Reported-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 13ad4fe3e087ab66a140f1e00d98f28aa4e3bb28 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:37:02 2015 +1100 xfs: xfs_filemap_pmd_fault treats read faults as write faults The code initially committed didn't have the same checks for write faults as the dax_pmd_fault code and hence treats all faults as write faults. We can get read faults through this path because they is no pmd_mkwrite path for write faults similar to the normal page fault path. Hence we need to ensure that we only do c/mtime updates on write faults, and freeze protection is unnecessary for read faults. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3af49285854df66260a263198cc15abb07b95287 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:37:02 2015 +1100 xfs: add ->pfn_mkwrite support for DAX ->pfn_mkwrite support is needed so that when a page with allocated backing store takes a write fault we can check that the fault has not raced with a truncate and is pointing to a region beyond the current end of file. This also allows us to update the timestamp on the inode, too, which fixes a generic/080 failure. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 01a155e6cf7db1a8ff2aa73162d7d9ec05ad298f Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:37:02 2015 +1100 xfs: DAX does not use IO completion callbacks For DAX, we are now doing block zeroing during allocation. This means we no longer need a special DAX fault IO completion callback to do unwritten extent conversion. Because mmap never extends the file size (it SEGVs the process) we don't need a callback to update the file size, either. Hence we can remove the completion callbacks from the __dax_fault and __dax_mkwrite calls. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 1ca191576fc862b4766f58e41aa362b28a7c1866 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:37:00 2015 +1100 xfs: Don't use unwritten extents for DAX DAX has a page fault serialisation problem with block allocation. Because it allows concurrent page faults and does not have a page lock to serialise faults to the same page, it can get two concurrent faults to the page that race. When two read faults race, this isn't a huge problem as the data underlying the page is not changing and so "detect and drop" works just fine. The issues are to do with write faults. When two write faults occur, we serialise block allocation in get_blocks() so only one faul will allocate the extent. It will, however, be marked as an unwritten extent, and that is where the problem lies - the DAX fault code cannot differentiate between a block that was just allocated and a block that was preallocated and needs zeroing. The result is that both write faults end up zeroing the block and attempting to convert it back to written. The problem is that the first fault can zero and convert before the second fault starts zeroing, resulting in the zeroing for the second fault overwriting the data that the first fault wrote with zeros. The second fault then attempts to convert the unwritten extent, which is then a no-op because it's already written. Data loss occurs as a result of this race. Because there is no sane locking construct in the page fault code that we can use for serialisation across the page faults, we need to ensure block allocation and zeroing occurs atomically in the filesystem. This means we can still take concurrent page faults and the only time they will serialise is in the filesystem mapping/allocation callback. The page fault code will always see written, initialised extents, so we will be able to remove the unwritten extent handling from the DAX code when all filesystems are converted. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3fbbbea34bac049c0b5938dc065f7d8ee1ef7e67 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:27:22 2015 +1100 xfs: introduce BMAPI_ZERO for allocating zeroed extents To enable DAX to do atomic allocation of zeroed extents, we need to drive the block zeroing deep into the allocator. Because xfs_bmapi_write() can return merged extents on allocation that were only partially allocated (i.e. requested range spans allocated and hole regions, allocation into the hole was contiguous), we cannot zero the extent returned from xfs_bmapi_write() as that can overwrite existing data with zeros. Hence we have to drive the extent zeroing into the allocation code, prior to where we merge the extents into the BMBT and return the resultant map. This means we need to propagate this need down to the xfs_alloc_vextent() and issue the block zeroing at this point. While this functionality is being introduced for DAX, there is no reason why it is specific to DAX - we can per-zero blocks during the allocation transaction on any type of device. It's just slow (and usually slower than unwritten allocation and conversion) on traditional block devices so doesn't tend to get used. We can, however, hook hardware zeroing optimisations via sb_issue_zeroout() to this operation, so it may be useful in future and hence the "allocate zeroed blocks" API needs to be implementation neutral. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3e12dbbdbd8809f0455920e42fdbf9eddc002651 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:27:22 2015 +1100 xfs: fix inode size update overflow in xfs_map_direct() Both direct IO and DAX pass an offset and count into get_blocks that will overflow a s64 variable when an IO goes into the last supported block in a file (i.e. at offset 2^63 - 1FSB bytes). This can be seen from the tracing: xfs_get_blocks_alloc: [...] offset 0x7ffffffffffff000 count 4096 xfs_gbmap_direct: [...] offset 0x7ffffffffffff000 count 4096 xfs_gbmap_direct_none:[...] offset 0x7ffffffffffff000 count 4096 0x7ffffffffffff000 + 4096 = 0x8000000000000000, and hence that overflows the s64 offset and we fail to detect the need for a filesize update and an ioend is not allocated. This is *mostly* avoided for direct IO because such extending IOs occur with full block allocation, and so the "IS_UNWRITTEN()" check still evaluates as true and we get an ioend that way. However, doing single sector extending IOs to this last block will expose the fact that file size updates will not occur after the first allocating direct IO as the overflow will then be exposed. There is one further complexity: the DAX page fault path also exposes the same issue in block allocation. However, page faults cannot extend the file size, so in this case we want to allocate the block but do not want to allocate an ioend to enable file size update at IO completion. Hence we now need to distinguish between the direct IO patch allocation and dax fault path allocation to avoid leaking ioend structures. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3ce96239d482a7d2dfdc1f332152c580b219fef1 Author: Neil Brown <neil@xxxxxxxxxx> Date: Mon Oct 26 15:35:54 2015 +0900 Documentation: add new description of path-name lookup. This document is based on three recent lwn.net articles. Some of the introductory material and linkage between articles has been removed, and some time-based descriptions have been revised. Also all links to code have been removed as the code is very close by. Contains corrections and improvements from Randy Dunlap <rdunlap@xxxxxxxxxxxxx>. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 05be961772ef52c7bdfd237e61c3da0631cdb192 Author: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Date: Fri Oct 23 08:51:45 2015 +0900 Documentation/vm/slub.txt: document slabinfo-gnuplot.sh Add documentation on how to use slabinfo-gnuplot.sh script. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 83432ef3b8fbd459b1b5dafd78be7b7c3fa6a996 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Tue Oct 13 23:40:34 2015 +0900 Doc: ABI/stable: Fix typo in ABI/stable This patch fix some spelling typos in Documentation/ABI/stable. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 5062ecdb662bf3aed6dc975019c53ffcd3b01d1c Merge: e86328c d4a1a31 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 16:16:24 2015 -0800 Merge tag 'regmap-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap updates from Mark Brown: "Quite a few new features for regmap this time, mostly expanding things around the edges of the existing functionality to cover more devices rather than thinsg with wide applicability: - Support for offload of the update_bits() operation to hardware where devices implement bit level access. - Support for a few extra operations that need scratch buffers on fast_io devices where we can't sleep. - Expanded the feature set of regmap_irq to cope with some extra register layouts. - Cleanups to the debugfs code" * tag 'regmap-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: Allow installing custom reg_update_bits function regmap: debugfs: simplify regmap_reg_ranges_read_file() slightly regmap: debugfs: use memcpy instead of snprintf regmap: debugfs: use snprintf return value in regmap_reg_ranges_read_file() regmap: Add generic macro to define regmap_irq regmap: debugfs: Remove scratch buffer for register length calculation regmap: irq: add ack_invert flag for chips using cleared bits as ack regmap: irq: add support for chips who have separate unmask registers regmap: Allocate buffers with GFP_ATOMIC when fast_io == true commit e21a47ff4dcef8c5fb57758035b266299b184146 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 16 09:16:51 2015 +0200 rtc: rtctest: enabling UIE for a chip that doesn't support it returns EINVAL Calling ioctl(..., RTC_UIE_ON, ...) without CONFIG_RTC_INTF_DEV_UIE_EMUL either ends in rtc_update_irq_enable if rtc->uie_unsupported is true or in __rtc_set_alarm in the if (!rtc->ops->set_alarm) branch. In both cases the return value is -EINVAL. So check for that one instead of ENOTTY. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 4d8318bc97a1c37142d0e7618061f09b37d319b6 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 9 11:29:10 2015 +0200 rtc: pcf2127: make module license match the file header The header of the pcf2127 driver specifies GPL v2 only as license, so use "GPL v2" as module license specifier instead of "GPL" as the latter means "GNU Public License v2 or later". Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a15920bea0428cd22291637f6c72542b1843e65f Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Date: Mon Nov 2 17:42:42 2015 -0500 tracepoints: Fix documentation of RCU lockdep checks The documentation on top of __DECLARE_TRACE() does not match its implementation since the condition check has been added to the RCU lockdep checks. Update the documentation to match its implementation. Link: http://lkml.kernel.org/r/1446504164-21563-1-git-send-email-mathieu.desnoyers@xxxxxxxxxxxx CC: Dave Hansen <dave@xxxxxxxx> Fixes: a05d59a56733 "tracing: Add condition check to RCU lockdep checks" Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 583d0fef756a7615e50f0f68ea0892a497d03971 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Nov 2 17:13:58 2015 +0100 libceph: clear msg->con in ceph_msg_release() only The following bit in ceph_msg_revoke_incoming() is unsafe: struct ceph_connection *con = msg->con; if (!con) return; mutex_lock(&con->mutex); <more msg->con use> There is nothing preventing con from getting destroyed right after msg->con test. One easy way to reproduce this is to disable message signing only on the server side and try to map an image. The system will go into a libceph: read_partial_message ffff880073f0ab68 signature check failed libceph: osd0 192.168.255.155:6801 bad crc/signature libceph: read_partial_message ffff880073f0ab68 signature check failed libceph: osd0 192.168.255.155:6801 bad crc/signature loop which has to be interrupted with Ctrl-C. Hit Ctrl-C and you are likely to end up with a random GP fault if the reset handler executes "within" ceph_msg_revoke_incoming(): <yet another reply w/o a signature> ... <Ctrl-C> rbd_obj_request_end ceph_osdc_cancel_request __unregister_request ceph_osdc_put_request ceph_msg_revoke_incoming ... osd_reset __kick_osd_requests __reset_osd remove_osd ceph_con_close reset_connection <clear con->in_msg->con> <put con ref> put_osd <free osd/con> <msg->con use> <-- !!! If ceph_msg_revoke_incoming() executes "before" the reset handler, osd/con will be leaked because ceph_msg_revoke_incoming() clears con->in_msg but doesn't put con ref, while reset_connection() only puts con ref if con->in_msg != NULL. The current msg->con scheme was introduced by commits 38941f8031bf ("libceph: have messages point to their connection") and 92ce034b5a74 ("libceph: have messages take a connection reference"), which defined when messages get associated with a connection and when that association goes away. Part of the problem is that this association is supposed to go away in much too many places; closing this race entirely requires either a rework of the existing or an addition of a new layer of synchronization. In lieu of that, we can make it *much* less likely to hit by disassociating messages only on their destruction and resend through a different connection. This makes the code simpler and is probably a good thing to do regardless - this patch adds a msg_con_set() helper which is is called from only three places: ceph_con_send() and ceph_con_in_msg_alloc() to set msg->con and ceph_msg_release() to clear it. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit a51983e4dd2d4d63912aab939f657c4cd476e21a Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Oct 28 23:52:06 2015 +0100 libceph: add nocephx_sign_messages option Support for message signing was merged into 3.19, along with nocephx_require_signatures option. But, all that option does is allow the kernel client to talk to clusters that don't support MSG_AUTH feature bit. That's pretty useless, given that it's been supported since bobtail. Meanwhile, if one disables message signing on the server side with "cephx sign messages = false", it becomes impossible to use the kernel client since it expects messages to be signed if MSG_AUTH was negotiated. Add nocephx_sign_messages option to support this use case. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 859bff51dc5e92ddfb5eb6f17b8040d9311095bb Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Oct 28 23:50:58 2015 +0100 libceph: stop duplicating client fields in messenger supported_features and required_features serve no purpose at all, while nocrc and tcp_nodelay belong to ceph_options::flags. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 4199b8eec36405822619d4176bddfacf7b47eb44 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Oct 27 16:42:49 2015 +0100 libceph: drop authorizer check from cephx msg signing routines I don't see a way for auth->authorizer to be NULL in ceph_x_sign_message() or ceph_x_check_message_signature(). Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 79dbd1baa651cece408e68a1b445f3628c4b5bdc Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Oct 26 22:23:56 2015 +0100 libceph: msg signing callouts don't need con argument We can use msg->con instead - at the point we sign an outgoing message or check the signature on the incoming one, msg->con is always set. We wouldn't know how to sign a message without an associated session (i.e. msg->con == NULL) and being able to sign a message using an explicitly provided authorizer is of no use. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 8a703a383dd3458753e0ad71860ed3a5097692b3 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 22 18:06:07 2015 +0300 libceph: evaluate osd_req_op_data() arguments only once This patch changes the osd_req_op_data() macro to not evaluate arguments more than once in order to follow the kernel coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> [idryomov@xxxxxxxxx: changelog, formatting] Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 68cd5b4b7612c2956d8553dfb39490b29f32566d Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Oct 27 18:36:06 2015 +0800 ceph: make fsync() wait unsafe requests that created/modified inode If we get a unsafe reply for request that created/modified inode, add the unsafe request to a list in the newly created/modified inode. So we can make fsync() wait these unsafe requests. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 4c06ace81a60636dec358c288ef6aaf3aa6dc599 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Oct 27 17:18:00 2015 +0800 ceph: add request to i_unsafe_dirops when getting unsafe reply Previously we add request to i_unsafe_dirops when registering request. So ceph_fsync() also waits for imcomplete requests. This is unnecessary, ceph_fsync() only needs to wait unsafe requests. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit cbf99a11fb14db0835acd79ecd7469d37e398660 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Oct 26 11:03:46 2015 +0100 libceph: introduce ceph_x_authorizer_cleanup() Commit ae385eaf24dc ("libceph: store session key in cephx authorizer") introduced ceph_x_authorizer::session_key, but didn't update all the exit/error paths. Introduce ceph_x_authorizer_cleanup() to encapsulate ceph_x_authorizer cleanup and switch to it. This fixes ceph_x_destroy(), which currently always leaks key and ceph_x_build_authorizer() error paths. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 5e804ac4824302efc3038e086cb21f2e93ab8900 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Oct 26 16:08:43 2015 +0800 ceph: don't invalidate page cache when inode is no longer used ceph_check_caps() invalidate page cache when inode is not used by any open file. This behaviour is not friendly for workload that repeatly read files. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 4afb04c0c88e21f37e5ef4776e432907d7b12838 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Thu Oct 22 16:44:15 2015 +0200 rbd: remove duplicate calls to rbd_dev_mapping_clear() Commit d1cf5788450e ("rbd: set mapping info earlier") defined rbd_dev_mapping_clear(), but, just a few days after, commit f35a4dee14c3 ("rbd: set the mapping size and features later") moved rbd_dev_mapping_set() calls and added another rbd_dev_mapping_clear() call instead of moving the old one. Around the same time, another duplicate was introduced in rbd_dev_device_release() - kill both. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 6cac4695f2042a1d0e17aa48c5705f69907e74c3 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Fri Oct 16 20:11:25 2015 +0200 rbd: set device_type::release instead of device::release No point in providing an empty device_type::release callback and then setting device::release for each rbd_dev dynamically. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit dd5ac32d425f881624bfe59c8e00dd1c3ccc6bb1 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Fri Oct 16 17:09:24 2015 +0200 rbd: don't free rbd_dev outside of the release callback struct rbd_device has struct device embedded in it, which means it's part of kobject universe and has an unpredictable life cycle. Freeing its memory outside of the release callback is flawed, yet commits 200a6a8be5db ("rbd: don't destroy rbd_dev in device release function") and 8ad42cd0c002 ("rbd: don't have device release destroy rbd_dev") moved rbd_dev_destroy() out to rbd_dev_image_release(). This commit reverts most of that, the key points are: - rbd_dev->dev is initialized in rbd_dev_create(), making it possible to use rbd_dev_destroy() - which is just a put_device() - both before we register with device core and after. - rbd_dev_release() (the release callback) is the only place we kfree(rbd_dev). It's also where we do module_put(), keeping the module unload race window as small as possible. - We pin the module in rbd_dev_create(), but only for mapping rbd_dev-s. Moving image related stuff out of struct rbd_device into another struct which isn't tied with sysfs and device core is long overdue, but until that happens, this will keep rbd module refcount (which users can observe with lsmod) sane. Fixes: http://tracker.ceph.com/issues/12697 Cc: Alex Elder <elder@xxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit b51c83c241910f66b0c9a2ab17cd57db8109a98f Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Thu Oct 15 15:38:57 2015 +0200 rbd: return -ENOMEM instead of pool id if rbd_dev_create() fails Returning pool id (i.e. >= 0) from a sysfs ->store() callback makes userspace think it needs to retry the write. Fix it - it's a leftover from the times when the equivalent of rbd_dev_create() was the first action in rbd_add(). Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 343128ce91836d4131ead74b53d83b72e93d55b2 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 19 21:59:00 2015 +0530 libceph: use local variable cursor instead of &msg->cursor Use local variable cursor in place of &msg->cursor in read_partial_msg_data() and write_partial_msg_data(). Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 70cf052d0c4b60b6fbb981380660893306b9f172 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 18 13:55:38 2015 +0530 libceph: remove con argument in handle_reply() Since handle_reply() does not use its con argument, remove it. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit b5b98989dc7ed2093aeb76f2d0db79888582b0a2 Author: Zhu, Caifeng <zhucaifeng@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:26:15 2015 +0800 ceph: combine as many iovec as possile into one OSD request Both ceph_sync_direct_write and ceph_sync_read iterate iovec elements one by one, send one OSD request for each iovec. This is sub-optimal, We can combine serveral iovec into one page vector, and send an OSD request for the whole page vector. Signed-off-by: Zhu, Caifeng <zhucaifeng@xxxxxxxxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 777d738a5e58ba3b6f3932ab1543ce93703f4873 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 15:04:42 2015 +0200 ceph: fix message length computation create_request_message() computes the maximum length of a message, but uses the wrong type for the time stamp: sizeof(struct timespec) may be 8 or 16 depending on the architecture, while sizeof(struct ceph_timespec) is always 8, and that is what gets put into the message. Found while auditing the uses of timespec for y2038 problems. Fixes: b8e69066d8af ("ceph: include time stamp in every MDS request") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 1291fb950f12005600eb410c206fffd7231dee6f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Wed Sep 30 11:41:05 2015 +0800 ceph: fix a comment typo Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 13bf283408077931ace05449de92c68c1cb55120 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:26 2015 +0200 rbd: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) { \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); x = NULL; -} // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit ac3c860c758a864adb1dd5c7d68dadebe6c86f64 Merge: 260074c 7656677 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Nov 2 17:09:24 2015 -0500 Merge tag 'nfs-rdma-4.4-2' of git://git.linux-nfs.org/projects/anna/nfs-rdma NFS: NFSoRDMA Client Side Changes In addition to a variety of bugfixes, these patches are mostly geared at enabling both swap and backchannel support to the NFS over RDMA client. Signed-off-by: Anna Schumake <Anna.Schumaker@xxxxxxxxxx> commit c0f3f90cf454dd845dcc443afa4f0e312a8eaee0 Merge: a76edb8 b76ff5e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 3 08:02:44 2015 +1000 Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next Changes for vmwgfx for 4.4. If there is time, I'll follow up with a series to move to threaded irqs. * 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Replace iowrite/ioread with volatile memory accesses drm/vmwgfx: Turn off support for multisample count != 0 v2 drm/vmwgfx: switch from ioremap_cache to memremap commit 1f9a30ec2a4acee9a4d664e7405c7eb26a7c4b5e Merge: 6ff33f3 b07461a bee6775 c56d445 8affb48 af86fa4 c23b613 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Nov 2 15:57:03 2015 -0600 Merge branches 'pci/aer', 'pci/hotplug', 'pci/misc', 'pci/msi', 'pci/resource' and 'pci/virtualization' into next * pci/aer: PCI/AER: Clear error status registers during enumeration and restore * pci/hotplug: PCI: pciehp: Queue power work requests in dedicated function * pci/misc: PCI: Turn off Request Attributes to avoid Chelsio T5 Completion erratum x86/PCI: Make pci_subsys_init() static PCI: Add builtin_pci_driver() to avoid registration boilerplate PCI: Remove unnecessary "if" statement * pci/msi: x86/PCI: Don't alloc pcibios-irq when MSI is enabled PCI/MSI: Export all remapped MSIs to sysfs attributes PCI: Disable MSI on SiS 761 * pci/resource: sparc/PCI: Add mem64 resource parsing for root bus PCI: Expand Enhanced Allocation BAR output PCI: Make Enhanced Allocation bitmasks more obvious PCI: Handle Enhanced Allocation capability for SR-IOV devices PCI: Add support for Enhanced Allocation devices PCI: Add Enhanced Allocation register entries PCI: Handle IORESOURCE_PCI_FIXED when assigning resources PCI: Handle IORESOURCE_PCI_FIXED when sizing resources PCI: Clear IORESOURCE_UNSET when reverting to firmware-assigned address * pci/virtualization: PCI: Fix sriov_enable() error path for pcibios_enable_sriov() failures PCI: Wait 1 second between disabling VFs and clearing NumVFs PCI: Reorder pcibios_sriov_disable() PCI: Remove VFs in reverse order if virtfn_add() fails PCI: Remove redundant validation of SR-IOV offset/stride registers PCI: Set SR-IOV NumVFs to zero after enumeration PCI: Enable SR-IOV ARI Capable Hierarchy before reading TotalVFs PCI: Don't try to restore VF BARs commit 306e5c2a3cb45a0256ae6677501d1144e93efa2f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sat Oct 31 23:23:15 2015 +0800 pstore: fix code comment to match code Fix code comment about kmsg_dump register so it matches the code. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit a07e744960b86a1914667bcf28b5f144213bb3d8 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sat Oct 31 23:23:14 2015 +0800 efi-pstore: fix kernel-doc argument name The first argument name in the kernel-doc argument list for efi_pstore_scan_sysfs_enter() was slightly off. Fix it for the kernel doc. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit fd88d16c58c2ad689a68d6790c789e7d5be3fc5b Author: Robert Sesek <rsesek@xxxxxxxxxx> Date: Mon Nov 2 15:28:49 2015 -0500 selftests/seccomp: Be more precise with syscall arguments. Certain syscall emulation layers strictly check that the number of arguments match what the syscall handler expects. The KILL_one_arg_one and KILL_one_arg_six tests passed more parameters than expected to various syscalls, causing failures in this emulation mode. Instead, test using syscalls that take the appropriate number of arguments. Signed-off-by: Robert Sesek <rsesek@xxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 500a1d9a43e0a16e3cfc48f4b192ad421d4de376 Author: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Date: Thu Oct 29 20:02:51 2015 -0500 PCI: hisi: Add HiSilicon SoC Hip05 PCIe driver Add PCIe host support for HiSilicon SoC Hip05, related DT binding documentation, and maintainer update. [bhelgaas: changelog, 32-bit only config write warning text] Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: liudongdong <liudongdong3@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> (DT binding) commit bd33b87a9a15f8182e8c6a49f5413e7ef79372bf Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:20 2015 +0800 PCI: layerscape: Add ls_pcie_msi_host_init() Layerscape PCIe has its own MSI implementation. Register ls_pcie_msi_host_init() to avoid using DesignWare's MSI. [bhelgaas: add comment] Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 5192ec7b24dd78bd82fe554995b8889d317da0c1 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:19 2015 +0800 PCI: layerscape: Add support for LS1043a and LS2080a Both LS1043a and LS2080a are based on ARMv8 64-bit architecture and have similar PCIe implementation. LUT is added to controller. Add LS1043a and LS2080a support. [bhelgaas: move unused field removal into separate patch, include DT update] Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> (DT update) Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> (DT update) commit 0f3cb324bec688c61578c04c5207898050dcc7ac Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Wed Oct 21 16:13:37 2015 -0500 PCI: layerscape: Remove unused fields from struct ls_pcie Removed unused node, dev, and bus fields from struct ls_pcie. [bhelgaas: split into separate patch] Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a167fb73be98f43f16116a2c3a0cd9ad11c8ef61 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:18 2015 +0800 PCI: layerscape: Update ls_add_pcie_port() Update the ls_add_pcie_port() signature to keep it consistent with the other DesignWare-based host drivers. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit d64633453e3b3e580111ecca566d9e2771dad694 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:17 2015 +0800 PCI: layerscape: Factor out SCFG related function For the LS1021a PCIe controller, some status registers are located in SCFG, unlike other Layerscape devices. Move SCFG-related code to ls1021_pcie_host_init() and rename ls_pcie_link_up() to ls1021_pcie_link_up() because LTSSM status is also in SCFG. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 7af4ce3571931bdc043c4220402262f817b9b968 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:16 2015 +0800 PCI: layerscape: Ignore PCIe controllers in Endpoint mode Layerscape PCIe controller supports root complex (RC) and endpoint (EP) modes, which can be set by RCW. If not in RC mode, return -ENODEV without claiming the controller. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 72f71afb86bcdbf9dc2261214bf346fad4e2efb0 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:15 2015 +0800 PCI: layerscape: Remove ls_pcie_establish_link() ls_pcie_establish_link() does not do any real operation, except to wait for the linkup establishment. In fact, this is not necessary. Moreover, each PCIe controller not inserted device will increase the Linux startup time about 200ms. Remove ls_pcie_establish_link(). Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit c451113291c193d3bfbd0682011d2979d649010c Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Nov 2 10:40:17 2015 +0900 ravb: use pdev rather than ndev for error messages This corrects what appear to be typos, making the code consistent with itself, and allowing meaningful prefixes to be displayed with the errors in question. Before: (null): failed to initialize MDIO (null): Cannot allocate desc base address table (size 176 bytes) After: ravb e6800000.ethernet: failed to initialize MDIO ravb e6800000.ethernet: Cannot allocate desc base address table (size 176 bytes) Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec13ad1d705c9990d55ed8ab21946cef323d30c7 Author: Matthias Schiffer <mschiffer@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 01:24:38 2015 +0100 ipv6: fix crash on ICMPv6 redirects with prohibited/blackholed source There are other error values besides ip6_null_entry that can be returned by ip6_route_redirect(): fib6_rule_action() can also result in ip6_blk_hole_entry and ip6_prohibit_entry if such ip rules are installed. Only checking for ip6_null_entry in rt6_do_redirect() causes ip6_ins_rt() to be called with rt->rt6i_table == NULL in these cases, making the kernel crash. Signed-off-by: Matthias Schiffer <mschiffer@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76566773a1f1c2295ed901b6f1241cfe10d99029 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:28:32 2015 -0400 NFS: Enable client side NFSv4.1 backchannel to use other transports Forechannel transports get their own "bc_up" method to create an endpoint for the backchannel service. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> [Anna Schumaker: Add forward declaration of struct net to xprt.h] Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 9e17f8a475fca81950fdddc08df428ed66cf441f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 1 15:36:55 2015 -0800 net: make skb_set_owner_w() more robust skb_set_owner_w() is called from various places that assume skb->sk always point to a full blown socket (as it changes sk->sk_wmem_alloc) We'd like to attach skb to request sockets, and in the future to timewait sockets as well. For these kind of pseudo sockets, we need to take a traditional refcount and use sock_edemux() as the destructor. It is now time to un-inline skb_set_owner_w(), being too big. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Bisected-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eca1e006cf6f6f66a1a90c055a8a6d393475c3f9 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Sun Nov 1 18:31:45 2015 +0200 bridge: vlan: Use rcu_dereference instead of rtnl_dereference br_should_learn() is protected by RCU and not by RTNL, so use correct flavor of nbp_vlan_group(). Fixes: 907b1e6e83ed ("bridge: vlan: use proper rcu for the vlgrp member") Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ab42d78e37a294ac7bc56901d563c642e03c4ae Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Sun Nov 1 16:22:53 2015 +0000 ppp, slip: Validate VJ compression slot parameters completely Currently slhc_init() treats out-of-range values of rslots and tslots as equivalent to 0, except that if tslots is too large it will dereference a null pointer (CVE-2015-7799). Add a range-check at the top of the function and make it return an ERR_PTR() on error instead of NULL. Change the callers accordingly. Compile-tested only. Reported-by: é?æ°¸å?? <guoyonggang@xxxxxx> References: http://article.gmane.org/gmane.comp.security.oss.general/17908 Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0baa57d8dc32db78369d8b5176ef56c5e2e18ab3 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Sun Nov 1 16:21:24 2015 +0000 isdn_ppp: Add checks for allocation failure in isdn_ppp_open() Compile-tested only. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61c8e8aa9fa266d3b917621d69cd8086a0db558d Author: Javi Merino <javi.merino@xxxxxxx> Date: Mon Nov 2 19:03:04 2015 +0000 thermal: devfreq_cooling: Make power a u64 The prototype of do_div() is: uint32_t do_div(uint64_t *n, uint32_t base); Make power u64 to avoid the following warning: drivers/thermal/devfreq_cooling.c: In function 'get_dynamic_power': drivers/thermal/devfreq_cooling.c:267:2: warning: comparison of distinct pointer types lacks a cast [enabled by default] drivers/thermal/devfreq_cooling.c:267:2: warning: right shift count >= width of type [enabled by default] drivers/thermal/devfreq_cooling.c:267:2: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default] include/asm-generic/div64.h:35:17: note: expected 'uint64_t *' but argument is of type 'long unsigned int *' Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 3c99c2cef75eb5bfc05c5728e4560f3ee656d47e Author: Javi Merino <javi.merino@xxxxxxx> Date: Mon Nov 2 19:03:03 2015 +0000 thermal: devfreq_cooling: use a thermal_cooling_device for register and unregister Be consistent with what other cooling devices do and return a struct thermal_cooling_device * on register. Also, for the unregister, accept a struct thermal_cooling_device * as parameter. Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 70910791731b5956171e1bfcad707766b8e18fee Author: Bjørn Mork <bjorn@xxxxxxx> Date: Sun Nov 1 01:34:50 2015 +0100 qmi_wwan: fix entry for HP lt4112 LTE/HSPA+ Gobi 4G Module The lt4112 is a HP branded Huawei me906e modem. Like other Huawei modems, it does not have a fixed interface to function mapping. Instead it uses a Huawei specific scheme: functions are mapped by subclass and protocol. However, the HP vendor ID is used for modems from many different manufacturers using different schemes, so we cannot apply a generic vendor rule like we do for the Huawei vendor ID. Replace the previous lt4112 entry pointing to an arbitrary interface number with a device specific subclass + protocol match. Reported-and-tested-by: Muri Nicanor <muri+libqmi@xxxxxxxxxx> Tested-by: Martin Hauke <mardnh@xxxxxx> Fixes: bb2bdeb83fb1 ("qmi_wwan: Add support for HP lt4112 LTE/HSPA+ Gobi 4G Modem") Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e86328c489d7ecdca99410a06a3f448caf7857bf Merge: bc9d8c2 0963670 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 12:59:12 2015 -0800 Merge tag 'gpio-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO updates from Linus Walleij: "Here is the bulk of GPIO changes for the v4.4 development cycle. The only changes hitting outside drivers/gpio are in the pin control subsystem and these seem to have settled nicely in linux-next. Development mistakes and catfights are nicely documented in the reverts as you can see. The outcome of the ABI fight is that we're working on a chardev ABI for GPIO now, where hope to show results for the v4.5 kernel. Summary of changes: GPIO core: - Define and handle flags for open drain/open collector and open source/open emitter, also know as "single-ended" configurations. - Generic request/free operations that handle calling out to the (optional) pin control backend. - Some refactoring related to an ABI change that did not happen, yet provide useful. - Added a real-time compliance checklist. Many GPIO chips have irqchips, and need to think this over with the RT patches going upstream. - Restructure, fix and clean up Kconfig menus a bit. New drivers: - New driver for AMD Promony. - New driver for ACCES 104-IDIO-16, a port-mapped I/O card, ISA-style. Very retro. Subdriver changes: - OMAP changes to handle real time requirements. - Handle trigger types for edge and level IRQs on PL061 properly. As this hardware is very common it needs to set a proper example for others to follow. - Some container_of() cleanups. - Delete the unused MSM driver in favor of the driver that is embedded inside the pin control driver. - Cleanup of the ath79 GPIO driver used by many, many OpenWRT router targets. - A consolidated IT87xx driver replacing the earlier very specific IT8761e driver. - Handle the TI TCA9539 in the PCA953x driver. Also handle ACPI devices in this subdriver. - Drop xilinx arch dependencies as these FPGAs seem to profilate over a few different architectures. MIPS and ARM come to mind" * tag 'gpio-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (57 commits) gpio: fix up SPI submenu gpio: drop surplus I2C dependencies gpio: drop surplus X86 dependencies gpio: dt-bindings: document the official use of "ngpios" gpio: MAINTAINERS: Add an entry for the ATH79 GPIO driver gpio / ACPI: Allow shared GPIO event to be read via operation region gpio: group port-mapped I/O drivers in a menu gpio: Add ACCES 104-IDIO-16 driver maintainer entry gpio: zynq: Document interrupt-controller DT binding gpio: xilinx: Drop architecture dependencies gpio: generic: Revert to old error handling in bgpio_map gpio: add a real time compliance notes Revert "gpio: add a real time compliance checklist" gpio: Add GPIO support for the ACCES 104-IDIO-16 gpio: driver for AMD Promontory gpio: xlp: Convert to use gpiolib irqchip helpers gpio: add a real time compliance checklist gpio/xilinx: enable for MIPS gpiolib: Add and use OF_GPIO_SINGLE_ENDED flag gpiolib: Split GPIO flags parsing and GPIO configuration ... commit 44f49dd8b5a606870a1f21101522a0f9c4414784 Author: Ani Sinha <ani@xxxxxxxxxx> Date: Fri Oct 30 16:54:31 2015 -0700 ipmr: fix possible race resulting from improper usage of IP_INC_STATS_BH() in preemptible context. Fixes the following kernel BUG : BUG: using __this_cpu_add() in preemptible [00000000] code: bash/2758 caller is __this_cpu_preempt_check+0x13/0x15 CPU: 0 PID: 2758 Comm: bash Tainted: P O 3.18.19 #2 ffffffff8170eaca ffff880110d1b788 ffffffff81482b2a 0000000000000000 0000000000000000 ffff880110d1b7b8 ffffffff812010ae ffff880007cab800 ffff88001a060800 ffff88013a899108 ffff880108b84240 ffff880110d1b7c8 Call Trace: [<ffffffff81482b2a>] dump_stack+0x52/0x80 [<ffffffff812010ae>] check_preemption_disabled+0xce/0xe1 [<ffffffff812010d4>] __this_cpu_preempt_check+0x13/0x15 [<ffffffff81419d60>] ipmr_queue_xmit+0x647/0x70c [<ffffffff8141a154>] ip_mr_forward+0x32f/0x34e [<ffffffff8141af76>] ip_mroute_setsockopt+0xe03/0x108c [<ffffffff810553fc>] ? get_parent_ip+0x11/0x42 [<ffffffff810e6974>] ? pollwake+0x4d/0x51 [<ffffffff81058ac0>] ? default_wake_function+0x0/0xf [<ffffffff810553fc>] ? get_parent_ip+0x11/0x42 [<ffffffff810613d9>] ? __wake_up_common+0x45/0x77 [<ffffffff81486ea9>] ? _raw_spin_unlock_irqrestore+0x1d/0x32 [<ffffffff810618bc>] ? __wake_up_sync_key+0x4a/0x53 [<ffffffff8139a519>] ? sock_def_readable+0x71/0x75 [<ffffffff813dd226>] do_ip_setsockopt+0x9d/0xb55 [<ffffffff81429818>] ? unix_seqpacket_sendmsg+0x3f/0x41 [<ffffffff813963fe>] ? sock_sendmsg+0x6d/0x86 [<ffffffff813959d4>] ? sockfd_lookup_light+0x12/0x5d [<ffffffff8139650a>] ? SyS_sendto+0xf3/0x11b [<ffffffff810d5738>] ? new_sync_read+0x82/0xaa [<ffffffff813ddd19>] compat_ip_setsockopt+0x3b/0x99 [<ffffffff813fb24a>] compat_raw_setsockopt+0x11/0x32 [<ffffffff81399052>] compat_sock_common_setsockopt+0x18/0x1f [<ffffffff813c4d05>] compat_SyS_setsockopt+0x1a9/0x1cf [<ffffffff813c4149>] compat_SyS_socketcall+0x180/0x1e3 [<ffffffff81488ea1>] cstar_dispatch+0x7/0x1e Signed-off-by: Ani Sinha <ani@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3e8b858f375595421817a5475611a3e63bb4a43 Merge: 615a100 b61ed8f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 15:56:12 2015 -0500 Merge branch 'sh_eth-fixes' Sergei Shtylyov says: ==================== sh_eth: fix bugs in sh_eth_ring_init() Here's a set of 2 patches against DaveM's 'net.git' repo which fix couple of bugs in the sh_eth_ring_init() function. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b61ed8fdd845340ee31e8a97403b6101ccf4e4a2 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 02:06:29 2015 +0300 sh_eth: fix WARNING in dma_common_free_remap() Iff the first dma_alloc_coherent() call fails in sh_eth_ring_init(), the following is printed to the kernel console: WARNING: CPU: 0 PID: 1 at drivers/base/dma-mapping.c:334 dma_common_free_remap+0x48/0x6c() trying to free invalid coherent area: (null) Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.3.0-rc7-dirty #969 Hardware name: Generic R8A7791 (Flattened Device Tree) Backtrace: [<c0013820>] (dump_backtrace) from [<c00139bc>] (show_stack+0x18/0x1c) r6:c0662856 r5:00000009 r4:00000000 r3:00204140 [<c00139a4>] (show_stack) from [<c0227510>] (dump_stack+0x74/0x90) [<c022749c>] (dump_stack) from [<c0026ef4>] (warn_slowpath_common+0x8c/0xb8) r4:ee84dce0 r3:c0712774 [<c0026e68>] (warn_slowpath_common) from [<c0026fc4>] (warn_slowpath_fmt+0x38/0x40) r8:ee7f8000 r7:c0734520 r6:00001000 r5:20000008 r4:00000000 [<c0026f90>] (warn_slowpath_fmt) from [<c02df404>] (dma_common_free_remap+0x48/0x6c) r3:00000000 r2:c0662871 [<c02df3bc>] (dma_common_free_remap) from [<c001b9fc>] (__arm_dma_free+0xb8/0xd4) r6:00000001 r5:00000000 r4:00001000 r3:ee8c5584 [<c001b944>] (__arm_dma_free) from [<c001ba68>] (arm_dma_free+0x24/0x2c) r10:0000016b r8:00000000 r7:ee9bc830 r6:00000000 r5:00000400 r4:ee9bc800 [<c001ba44>] (arm_dma_free) from [<c032ebf0>] (sh_eth_ring_init+0x110/0x138) [<c032eae0>] (sh_eth_ring_init) from [<c033179c>] (sh_eth_open+0x94/0x1f4) r6:00000000 r5:ee9bcd18 r4:ee9bc800 [<c0331708>] (sh_eth_open) from [<c041bf7c>] (__dev_open+0x84/0x104) r6:c0565c50 r5:00000000 r4:ee9bc800 [<c041bef8>] (__dev_open) from [<c041c208>] (__dev_change_flags+0x94/0x13c) r7:00001002 r6:00000001 r5:00001003 r4:ee9bc800 [<c041c174>] (__dev_change_flags) from [<c041c2e8>] (dev_change_flags+0x20/0x50) r7:c072c8a0 r6:00000138 r5:00001002 r4:ee9bc800 [<c041c2c8>] (dev_change_flags) from [<c06e8d4c>] (ip_auto_config+0x174/0xf7c) r8:00001002 r7:c072c8a0 r6:c0700040 r5:00000001 r4:ee9bc800 r3:00000101 [<c06e8bd8>] (ip_auto_config) from [<c000a810>] (do_one_initcall+0x100/0x1c8) r10:c06f883c r9:00000000 r8:c06e8bd8 r7:c0734000 r6:c070e918 r5:c070e918 r4:ee083640 [<c000a710>] (do_one_initcall) from [<c06c9ddc>] (kernel_init_freeable+0x11c/0x1ec) r10:c06f883c r9:00000000 r8:00000099 r7:c0734000 r6:c070372c r5:c06f8834 r4:00000007 [<c06c9cc0>] (kernel_init_freeable) from [<c0514d78>] (kernel_init+0x14/0xec) r10:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0514d64 r4:c0734000 [<c0514d64>] (kernel_init) from [<c0010458>] (ret_from_fork+0x14/0x3c) r4:00000000 r3:ee84c000 This is because the code jumps to a wrong label and so tries to free yet unallocated coherent memory. Fix the *goto* in question. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c94e8567d7c7c9d619584da857e9f5b28f283ea Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 02:05:56 2015 +0300 sh_eth: fix uninitialized arrays in sh_eth_ring_init() sh_eth_ring_free() called in the sh_eth_ring_init()'s error path expects the arrays pointed to by 'sh_eth_private::[rt]x_skbuff' to be initialized with NULLs but they are allocated with just kmalloc_array() and so are left filled with random data. Use kcalloc() instead. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28ec8a864f4b67bb801aede7919391531612c7dd Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 22:16:01 2015 +0200 mtd: nand: sunxi: avoid retrieving data before ECC pass The in-band data are copied twice: before ECC correction and after the ECC engine has fixed all the fixable bitflips. Drop the useless memcpy_fromio operation by passing a NULL pointer when calling sunxi_nfc_read_buf(). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 74eb9ff54e21dbeefa04ff30e6aaf780b91dd261 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 22:16:00 2015 +0200 mtd: nand: sunxi: fix sunxi_nfc_hw_ecc_read/write_chunk() The sunxi_nfc_hw_ecc_read/write_chunk() functions try to avoid changing the column address if unnecessary, but the logic to determine whether it's necessary or not is currently wrong: it adds the ecc->bytes value to the current offset where it should actually add ecc->size. Fixes: 913821bdd211 ("mtd: nand: sunxi: introduce sunxi_nfc_hw_ecc_read/write_chunk()") Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b9b377136eb83cace5667cb6e8d53da771df6faa Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 19:39:48 2015 -0400 net: dsa: mv88e6xxx: lookup switch name All the mv88e6xxx drivers use the exact same code in their probe function to lookup the switch name given its ID. Thus introduce a mv88e6xxx_switch_id structure and a mv88e6xxx_lookup_name function in the common mv88e6xxx code. In the meantime make __mv88e6xxx_reg_{read,write} static since we do not need to expose these low-level r/w routines anymore. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3996a4ffb01f57f82abe6c7e60ac9048dd0c31df Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 18:56:45 2015 -0400 net: dsa: mv88e6xxx: assert SMI lock It's easy to forget to lock the smi_mutex before calling the low-level _mv88e6xxx_reg_{read,write}, so add a assert_smi_lock function in them. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df7701621b8ba6a5b387b451e409276ed9c034e5 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Mon Nov 2 14:46:53 2015 -0600 PCI: designware: Make "clocks" and "clock-names" optional DT properties Move the clock-related properties in the DesignWare PCIe controller bindings to 'optional' set of properties. [bhelgaas: move to separate patch] Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit cbce7900598c26a12652f8ca9c41c5b29034c38d Author: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Date: Thu Oct 29 19:57:21 2015 -0500 PCI: designware: Make driver arch-agnostic Previously, dw_pcie_host_init() created the PCI host bridge with pci_common_init_dev(), an ARM-specific function that supplies the ARM- specific pci_sys_data structure as the PCI "sysdata". Make pcie-designware.c arch-agnostic by reimplementing the functionality of pci_common_init_dev() directly in dw_pcie_host_init(). Note that this changes the bridge sysdata from the ARM pci_sys_data to the DesignWare pcie_port structure. This doesn't affect the ARM sysdata users because they are all specific to non-DesignWare host bridges, which will still have pci_sys_data. [bhelgaas: changelog] Tested-by: James Morse <james.morse@xxxxxxx> Tested-by: Gabriel Fernandez <gabriel.fernandez@xxxxxx> Tested-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit b3a72384fe29eec41a202b480145de225a148dbc Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 29 19:57:14 2015 -0500 ARM/PCI: Replace pci_sys_data->align_resource with global function pointer dw_pcie_host_init() creates the PCI host bridge with pci_common_init_dev(), an ARM-specific function that supplies the ARM-specific pci_sys_data structure as the PCI "sysdata". To use dw_pcie_host_init() on other architectures, we will copy the internals of pci_common_init_dev() into pcie-designware.c instead of calling it, and dw_pcie_host_init() will supply the DesignWare pcie_port structure as "sysdata". Most ARM "sysdata" users are specific to non-DesignWare host bridges; they'll be unaffected because those bridges will continue to have the ARM pci_sys_data. Most of the rest are ARM-generic functions called by pci_common_init_dev(); these will be unaffected because dw_pcie_host_init() will no longer call pci_common_init(). But the ARM pcibios_align_resource() can be called by the PCI core for any bridge, so it can't depend on sysdata since it may be either pci_sys_data or pcie_port. Remove the pcibios_align_resource() dependency on sysdata by replacing the pci_sys_data->align_resource pointer with a global function pointer. This is less general (we can no longer have per-host bridge align_resource() methods), but the pci_sys_data->align_resource pointer was used only by Marvell (see mvebu_pcie_enable()), so this would only be a problem if we had a system with a combination of Marvell and other host bridges [bhelgaas: changelog] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 0021d22b73d69f2121b89987a94d5ef5c4e14271 Author: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Date: Thu Oct 29 19:57:06 2015 -0500 PCI: designware: Use of_pci_get_host_bridge_resources() to parse DT Use the new of_pci_get_host_bridge_resources() API in place of the PCI OF DT parser. [bhelgaas: changelog] Tested-by: James Morse <james.morse@xxxxxxx> Tested-by: Gabriel Fernandez <gabriel.fernandez@xxxxxx> Tested-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 9cdce1cdc0c40e6c2e85ed9ca13c32adaa5fe0c5 Author: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Date: Thu Oct 29 19:56:58 2015 -0500 Revert "PCI: designware: Program ATU with untranslated address" Revert f4c55c5a3f7f ("PCI: designware: Program ATU with untranslated address"). Note that dra7xx_pcie_host_init() now modifies pp->io_base, but we still need the original value for dw_pcie_setup() in the path below, so this adds a new io_base_tmp member. It will be removed later when dw_pcie_setup() is removed. dra7xx_add_pcie_port dw_pcie_host_init pp->io_base = range.cpu_addr pp->io_base_tmp = range.cpu_addr # <-- added pp->ops->host_init dra7xx_pcie_host_init # ops->host_init pp->io_base &= DRA7XX_CPU_TO_BUS_ADDR # <-- modified pci_common_init_dev(..., &dw_pci) pcibios_init_hw hw->setup dw_pcie_setup # hw_pci.setup pci_ioremap_io(..., pp->io_base_tmp) # <-- original addr required [bhelgaas: changelog] Tested-by: James Morse <james.morse@xxxxxxx> Tested-by: Gabriel Fernandez <gabriel.fernandez@xxxxxx> Tested-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 883cc17cb193ad73bbc57934aa8d750162a9b79a Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 29 19:56:51 2015 -0500 PCI: designware: Move calculation of bus addresses to DRA7xx Commit f4c55c5a3f7f ("PCI: designware: Program ATU with untranslated address") added the calculation of PCI bus addresses in pcie-designware.c, storing them in new fields added in struct pcie_port. This calculation is done for every DesignWare user even though it only applies to DRA7xx. Move the calculation of the bus addresses to the DRA7xx driver to allow the rework of DesignWare to use the new DT parsing API. Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 907fce0902539ecde609e485eb2ecd7119a7a623 Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Tue Sep 29 00:03:10 2015 +0800 PCI: designware: Make "num-lanes" an optional DT property Currently "num-lanes" is read in dw_pcie_host_init(), but it is only used if we call dw_pcie_setup_rc() while bringing up the link. If the link has already been brought up by firmware, we need not call dw_pcie_setup_rc(), and "num-lanes" is unnecessary. Only complain about "num-lanes" if we actually need it and we didn't find a valid value. [bhelgaas: changelog] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b6b18f589e1ddbfbc31f72ea7fb8a723a2d10058 Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 8 14:27:53 2015 -0500 PCI: designware: Require config accesses to be naturally aligned Add sanity checks on "addr" input parameter in dw_pcie_cfg_read() and dw_pcie_cfg_write(). These checks make sure that accesses are aligned on their size, e.g., a 4-byte config access is aligned on a 4-byte boundary. [bhelgaas: changelog, set *val = 0 in failure case] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 4c45852f494dab827291c656ee9e12f3f4ee64d6 Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 8 14:27:48 2015 -0500 PCI: designware: Simplify dw_pcie_cfg_read/write() interfaces Callers of dw_pcie_cfg_read() and dw_pcie_cfg_write() previously had to split the address into "addr" and "where". The callees assumed "addr" was 32-bit aligned (with zeros in the low two bits) and they used only the low two bits of "where". Accept the entire address in "addr" and drop the now-redundant "where" argument. As an example, this replaces this: int dw_pcie_cfg_read(void __iomem *addr, int where, int size, u32 *val) *val = readb(addr + (where & 1)); with this: int dw_pcie_cfg_read(void __iomem *addr, int size, u32 *val) *val = readb(addr): [bhelgaas: changelog, split access size change to separate patch] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit c003ca99632e1783466f459033874a0e1e31457b Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 8 14:27:43 2015 -0500 PCI: designware: Use exact access size in dw_pcie_cfg_read() dw_pcie_cfg_write() uses the exact 8-, 16-, or 32-bit access size requested, but dw_pcie_cfg_read() previously performed a 32-bit read and masked out the bits requested. Use the exact access size in dw_pcie_cfg_read(). For example, if we want an 8-bit read, use readb() instead of using readl() and masking out the 8 bits we need. This makes it symmetric with dw_pcie_cfg_write(). [bhelgaas: split into separate patch, set *val = 0 in failure case] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit fa3b7cbab548b15da438b0cc13aa515f7f291f4d Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 8 14:27:38 2015 -0500 PCI: spear: Fix dw_pcie_cfg_read/write() usage The first argument of dw_pcie_cfg_read/write() is a 32-bit aligned address. The second argument is the byte offset into a 32-bit word, and dw_pcie_cfg_read/write() only look at the low two bits. SPEAr13xx used dw_pcie_cfg_read() and dw_pcie_cfg_write() incorrectly: it passed important address bits in the second argument, where they were ignored. Pass the complete 32-bit word address in the first argument and only the 2-bit offset into that word in the second argument. Without this fix, SPEAr13xx host will never work with few buggy gen1 card which connects with only gen1 host and also with any endpoint which would generate a read request of more than 128 bytes. [bhelgaas: changelog] Reported-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.17+ commit c8947fbbd19cc05078af3b1f3e9420d5dacd40ea Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 18 13:58:35 2015 -0500 PCI: designware: Set up high part of MSI target address Set up the high part of the MSI target address to allow the MSI target to be above 4GB on 64bit and PAE systems. [bhelgaas: changelog] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit ac00881f922106b45e934dc6988fa9c1ec542d71 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Fri Oct 30 15:16:26 2015 -0700 bpf: convert hashtab lock to raw lock When running bpf samples on rt kernel, it reports the below warning: BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917 in_atomic(): 1, irqs_disabled(): 128, pid: 477, name: ping Preemption disabled at:[<ffff80000017db58>] kprobe_perf_func+0x30/0x228 CPU: 3 PID: 477 Comm: ping Not tainted 4.1.10-rt8 #4 Hardware name: Freescale Layerscape 2085a RDB Board (DT) Call trace: [<ffff80000008a5b0>] dump_backtrace+0x0/0x128 [<ffff80000008a6f8>] show_stack+0x20/0x30 [<ffff8000007da90c>] dump_stack+0x7c/0xa0 [<ffff8000000e4830>] ___might_sleep+0x188/0x1a0 [<ffff8000007e2200>] rt_spin_lock+0x28/0x40 [<ffff80000018bf9c>] htab_map_update_elem+0x124/0x320 [<ffff80000018c718>] bpf_map_update_elem+0x40/0x58 [<ffff800000187658>] __bpf_prog_run+0xd48/0x1640 [<ffff80000017ca6c>] trace_call_bpf+0x8c/0x100 [<ffff80000017db58>] kprobe_perf_func+0x30/0x228 [<ffff80000017dd84>] kprobe_dispatcher+0x34/0x58 [<ffff8000007e399c>] kprobe_handler+0x114/0x250 [<ffff8000007e3bf4>] kprobe_breakpoint_handler+0x1c/0x30 [<ffff800000085b80>] brk_handler+0x88/0x98 [<ffff8000000822f0>] do_debug_exception+0x50/0xb8 Exception stack(0xffff808349687460 to 0xffff808349687580) 7460: 4ca2b600 ffff8083 4a3a7000 ffff8083 49687620 ffff8083 0069c5f8 ffff8000 7480: 00000001 00000000 007e0628 ffff8000 496874b0 ffff8083 007e1de8 ffff8000 74a0: 496874d0 ffff8083 0008e04c ffff8000 00000001 00000000 4ca2b600 ffff8083 74c0: 00ba2e80 ffff8000 49687528 ffff8083 49687510 ffff8083 000e5c70 ffff8000 74e0: 00c22348 ffff8000 00000000 ffff8083 49687510 ffff8083 000e5c74 ffff8000 7500: 4ca2b600 ffff8083 49401800 ffff8083 00000001 00000000 00000000 00000000 7520: 496874d0 ffff8083 00000000 00000000 00000000 00000000 00000000 00000000 7540: 2f2e2d2c 33323130 00000000 00000000 4c944500 ffff8083 00000000 00000000 7560: 00000000 00000000 008751e0 ffff8000 00000001 00000000 124e2d1d 00107b77 Convert hashtab lock to raw lock to avoid such warning. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be596aaa74090f553c61505ad03bb7a7460e5d23 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:28 2015 -0700 Add current selection check. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> [mmarek: I missed it in the original Qt5 patch set, which caused a crash] Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 588446a84776cfb3ebbc1677c3407d6884878bd6 Author: Thiago Macieira <thiago.macieira@xxxxxxxxx> Date: Sun Nov 1 21:12:53 2015 -0600 Use pkg-config to find Qt 4 and 5 instead of direct qmake The Qt Project recommendation is that there should always be a "qmake" binary and it should never be renamed. If it's necessary to handle multiple Qt versions, the Qt Project recommends using qtchooser. Unfortunately, some distros do not follow the recommendation, so we would need to check qmake-qt4, qmake-qt5, etc. So, instead, let's try pkg-config. Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Reported-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Acked-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 21086b990ba51d12670eba342eec76d4bba55d33 Merge: ce10500 ddd611d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 15:40:11 2015 -0500 Merge branch 'bridge_vlan_fixes' Nikolay Aleksandrov says: ==================== bridge: vlan: failure path and comment fixes This is a set from Ido which takes care of one failure path error in nbp_vlan_init (patch 1) and a few comment errors (patch 2). I must admit I didn't expect the port init continues after a vlan init failure but should've checked to make sure. Thanks to Ido for catching these! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ddd611d3fffb90b967e50f5aa6d45d55eb0e1d3f Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 30 17:46:20 2015 +0100 bridge: vlan: Use correct flag name in comment The flag used to indicate if a VLAN should be used for filtering - as opposed to context only - on the bridge itself (e.g. br0) is called 'brentry' and not 'brvlan'. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07bc588fc1087929e8e6dfe95ffcee1cb69a240f Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 30 17:46:19 2015 +0100 bridge: vlan: Prevent possible use-after-free When adding a port to a bridge we initialize VLAN filtering on it. We do not bail out in case an error occurred in nbp_vlan_init, as it can be used as a non VLAN filtering bridge. However, if VLAN filtering is required and an error occurred in nbp_vlan_init, we should set vlgrp to NULL, so that VLAN filtering functions (e.g. br_vlan_find, br_get_pvid) will know the struct is invalid and will not try to access it. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce1050089c969b96c797118f9cb0cf5a421ddc69 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 30 09:46:12 2015 -0700 tcp/dccp: fix ireq->pktopts race IPv6 request sockets store a pointer to skb containing the SYN packet to be able to transfer it to full blown socket when 3WHS is done (ireq->pktopts -> np->pktoptions) As explained in commit 5e0724d027f0 ("tcp/dccp: fix hashdance race for passive sessions"), we must transfer the skb only if we won the hashdance race, if multiple cpus receive the 'ack' packet completing 3WHS at the same time. Fixes: e994b2f0fb92 ("tcp: do not lock listener to process SYN packets") Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b5654349e4728021b9301e42ae16fa11f6832c8 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Fri Oct 30 08:49:10 2015 -0700 RDS: convert bind hash table to re-sizable hashtable To further improve the RDS connection scalabilty on massive systems where number of sockets grows into tens of thousands of sockets, there is a need of larger bind hashtable. Pre-allocated 8K or 16K table is not very flexible in terms of memory utilisation. The rhashtable infrastructure gives us the flexibility to grow the hashtbable based on use and also comes up with inbuilt efficient bucket(chain) handling. Reviewed-by: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3ffaefa1bbcfba1b4ef985fd53406f31b98f277 Author: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Date: Fri Oct 30 19:46:44 2015 +0530 net: rds: changing the return type from int to void as result of function rds_iw_flush_mr_pool is nowhere checked, changing its return type from int to void. also removing the unused variable rc as there is nothing to return Signed-off-by: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 615a1003c6502f0d1812fd2dbe08e86b1c3f5db9 Merge: e6dbe1e 562b103 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 15:33:38 2015 -0500 Merge tag 'linux-can-fixes-for-4.3-20151030' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can Marc Kleine-Budde says: ==================== pull-request: can 2015-10-30 this is a pull request for the upcoming v4.3 release. Marek Vasut provides a patch to use the correct attrlen in the nla_put() in the can_fill_info() function. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc9d8c20ffb47e64a41a4716a06d37cdf88fcc42 Merge: 9ff3ca5 d99c805 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 12:30:39 2015 -0800 Merge tag 'pinctrl-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control updates from Linus Walleij: "This is the big bulk of pin control changes for the v4.4 kernel development cycle. Development pace is high in pin control again this merge window. 28 contributors, 83 patches. It hits a few sites outside the pin control subsystem: - Device tree bindings in Documentation (as usual) - MAINTAINERS - drivers/base/* for the "init" state handling by Doug Anderson. This has been ACKed by Greg. - drivers/usb/renesas_usbhs/rcar2.c, for a dependent Renesas change in the USB subsystem. This has been ACKed by both Greg and Felipe. - arch/arm/boot/dts/sama5d2.dtsi - this should ideally have gone through the ARM SoC tree but ended up here. This time I am using Geert Uytterhoeven as submaintainer for SH PFC since the are three-four people working in parallel with new Renesas ASICs. Summary of changes: Infrastructure: - Doug Anderson wrote a patch adding an "init" state different from the "default" state for pin control state handling in the core framework. This is applied before the driver's probe() call if defined and takes precedence over "default". If both are defined, "init" will be applied *before* probe() and "default" will be applied *after* probe(). Significant subdriver improvements: - SH PFC is switched to getting GPIO ranges from the device tree ranges property on DT platforms. - Got rid of CONFIG_ARCH_SHMOBILE_LEGACY, we are all modernized. - Got rid of SH PFC hardcoded IRQ numbers. - Allwinner sunxi external interrupt through the "r" controller. - Moved the Cygnus driver to use DT-provided GPIO ranges. New drivers: - Atmel PIO4 pin controller for the SAMA4D2 family New subdrivers: - Rockchip RK3036 subdriver - Renesas SH PFC R8A7795 subdriver - Allwinner sunxi A83T PIO subdriver - Freescale i.MX7d iomux lpsr subdriver - Marvell Berlin BG4CT subdriver - SiRF Atlas 7 step B SoC subdriver - Intel Broxton SoC subdriver Apart from this, the usual slew if syntactic and semantic fixes" * tag 'pinctrl-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (81 commits) pinctrl: pinconf: remove needless loop pinctrl: uniphier: guard uniphier directory with CONFIG_PINCTRL_UNIPHIER pinctrl: zynq: fix UTF-8 errors pinctrl: zynq: Initialize early pinctrl: at91: add missing of_node_put pinctrl: tegra-xusb: Correct lane mux options pinctrl: intel: Add Intel Broxton pin controller support pinctrl: intel: Allow requesting pins which are in ACPI mode as GPIOs pinctrl: intel: Add support for multiple GPIO chips sharing the interrupt drivers/pinctrl: Add the concept of an "init" state pinctrl: uniphier: set input-enable before pin-muxing pinctrl: cygnus: Add new compatible string for gpio controller driver pinctrl: cygnus: Remove GPIO to Pinctrl pin mapping from driver pinctrl: cygnus: Optional DT property to support pin mappings pinctrl: sunxi: Add irq pinmuxing to sun6i "r" pincontroller pinctrl: sunxi: Fix irq_of_xlate for the r_pio pinctrl block pinctrl: sh-pfc: Remove obsolete r8a7778 platform_device_id entry pinctrl: sh-pfc: Remove obsolete r8a7779 platform_device_id entry pinctrl: sh-pfc: Stop including <linux/platform_data/gpio-rcar.h> usb: renesas_usbhs: Remove unneeded #include <linux/platform_data/gpio-rcar.h> ... commit 64cf370887ac497e74b2e4224b662bfd1d8db41a Merge: 322cf7e 07f56c6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 15:28:57 2015 -0500 Merge branch 'encx24j600-fixes' Javier Martinez Canillas says: ==================== net: encx24j600: Fix SPI driver module autoload Recently I've been trying to fix module autoloading for all SPI drivers and found that the encx24j600 driver does not fill module alias information due missing a MODULE_DEVICE_TABLE() so module autload won't work and the driver Kconfig symbol is tristate which means the driver can be built as a module. But also the SPI id table is not correctly defined so this series fixes both issues. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07f56c616d06b966c0a63d16172935b257a6a8d4 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 30 13:49:18 2015 +0100 net: encx24j600: Export missing SPI module alias information The driver Kconfig symbol is tristate which means that it can be built as a module but the module alias information is not added to the module info so module autoload won't work since user-space won't have the information. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0cb48cd19ce1e249cd350aa67fbf63560292266 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 30 13:49:17 2015 +0100 net: encx24j600: Fix SPI id table definition A driver's SPI id table is expected to be an array of struct spi_device_id that ends with a zero-initialized sentinel entry. But this driver defines the table as a single struct spi_device_id and sets .id_table to a pointer to this struct. But spi_match_id() has a loop that iterates while the struct spi_device_id .name[0] is not NULL, so not having a sentinel can cause a NULL pointer deference error. This patch defines the SPI id table correctly as all other SPI drivers do. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 209851649dc4f7900a6bfe1de5e2640ab2c7d931 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Tue Oct 27 16:58:27 2015 -0600 acpi: nfit: Add support for hot-add Add a .notify callback to the acpi_nfit_driver that gets called on a hotplug event. From this, evaluate the _FIT ACPI method which returns the updated NFIT with handles for the hot-plugged NVDIMM. Iterate over the new NFIT, and add any new tables found, and register/enable the corresponding regions. In the nfit test framework, after normal initialization, update the NFIT with a new hot-plugged NVDIMM, and directly call into the driver to update its view of the available regions. Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxxx> Cc: Elliott, Robert <elliott@xxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: <linux-acpi@xxxxxxxxxxxxxxx> Cc: <linux-nvdimm@xxxxxxxxxxxx> Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 564d501187317f8df79ddda173cf23735cbddd16 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Tue Oct 27 16:58:26 2015 -0600 nfit: in acpi_nfit_init, break on a 0-length table If acpi_nfit_init is called (such as from nfit_test), with an nfit table that has more memory allocated than it needs (and a similarly large 'size' field, add_tables would happily keep adding null SPA Range tables filling up all available memory. Make it friendlier by breaking out if a 0-length header is found in any of the tables. Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: <linux-acpi@xxxxxxxxxxxxxxx> Cc: <linux-nvdimm@xxxxxxxxxxxx> Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 9ff3ca58b0f99475f269cd6faf4ab1b194243b3f Merge: 17a1359 990995b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 12:14:50 2015 -0800 Merge tag 'edac_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp Pull EDAC updates from Borislav Petkov: "A bunch of fixes all over the place and some hw enablement this time. - Convert EDAC to debugfs wrappers and make drivers use those (Borislav Petkov) - L3 and SoC support for xgene_edac (Loc Ho) - AMD F15h, models 0x60-6f support to amd64_edac (Aravind Gopalakrishnan) - Fixes and cleanups all over the place" * tag 'edac_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (22 commits) EDAC: Fix PAGES_TO_MiB macro misuse EDAC, altera: SoCFPGA EDAC should not look for ECC_CORR_EN EDAC: Use edac_debugfs_remove_recursive() EDAC, ppc4xx_edac: Fix module autoload for OF platform driver Documentation/EDAC: Add reference documents section for amd64_edac EDAC, amd64_edac: Update copyright and remove changelog EDAC, amd64_edac: Extend scrub rate support to F15hM60h EDAC: Don't allow empty DIMM labels EDAC: Fix sysfs dimm_label store operation EDAC: Fix sysfs dimm_label show operation arm64, EDAC: Add L3/SoC DT subnodes to the APM X-Gene SoC EDAC node EDAC, xgene: Add SoC support EDAC, xgene: Fix possible sprintf() overflow issue EDAC, xgene: Add L3 support EDAC, Documentation: Update X-Gene EDAC binding for L3/SoC subnodes EDAC, sb_edac: Fix TAD presence check for sbridge_mci_bind_devs() EDAC, ghes_edac: Remove redundant memory_type array EDAC, xgene: Convert to debugfs wrappers EDAC, i5100: Convert to debugfs wrappers EDAC, altera: Convert to debugfs wrappers ... commit 322cf7e3a4e89236ae386cb5668ae0d787d21136 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Fri Oct 30 16:52:51 2015 +0530 enic: assign affinity hint to interrupts The affinity hint is used by the user space daemon, irqbalancer, to indicate a preferred CPU mask for irqs. This patch sets the irq affinity hint to local numa core first, when exausted we try non-local numa cores. Also set tx xps cpus mask bassed on affinity hint. v2: remove the global affinity policy. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17a1359034e1fb5cfe9e5196a8ab5153acfacdc6 Merge: 66b0199 7cc8d58 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 11:40:22 2015 -0800 Merge tag 'mmc-v4.4' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC updates from Ulf Hansson: "MMC core: - Add new API to set VCCQ voltage - mmc_regulator_set_vqmmc() - Add new ioctl to allow userspace to send multi commands - Wait for card busy signalling before starting SDIO requests - Remove MMC_CLKGATE - Enable tuning for DDR50 mode - Some code clean-up/improvements to mmc pwrseq - Use highest priority for eMMC restart handler - Add DT bindings for eMMC hardware reset support - Extend the mmc_send_tuning() API - Improve ios show for debugfs - A couple of code optimizations MMC host: - Some generic OF improvements - Various code clean-ups - sirf: Add support for DDR50 - sunxi: Add support for card busy detection - mediatek: Use MMC_CAP_RUNTIME_RESUME - mediatek: Add support for eMMC HW-reset - mediatek: Add support for HS400 - dw_mmc: Convert to use the new mmc_regulator_set_vqmmc() API - dw_mmc: Add external DMA interface support - dw_mmc: Some various improvements - dw_mmc-rockchip: MMC tuning with the clock phase framework - sdhci: Properly clear IRQs during resume - sdhci: Enable tuning for DDR50 mode - sdhci-of-esdhc: Use IRQ mode for card detection - sdhci-of-esdhc: Support both BE and LE host controller - sdhci-pci: Build o2micro support in the same module - sdhci-pci: Support for new Intel host controllers - sdhci-acpi: Support for new Intel host controllers" * tag 'mmc-v4.4' of git://git.linaro.org/people/ulf.hansson/mmc: (73 commits) mmc: dw_mmc: fix the wrong setting for UHS-DDR50 mode mmc: dw_mmc: fix the CardThreshold boundary at CardThrCtl register mmc: dw_mmc: NULL dereference in error message mmc: pwrseq: Use highest priority for eMMC restart handler mmc: mediatek: add HS400 support mmc: mmc: extend the mmc_send_tuning() mmc: mediatek: add implement of ops->hw_reset() mmc: mediatek: fix got GPD checksum error interrupt when data transfer mmc: mediatek: change the argument "ddr" to "timing" mmc: mediatek: make cmd_ints_mask to const mmc: dt-bindings: update Mediatek MMC bindings mmc: core: Add DT bindings for eMMC hardware reset support mmc: omap_hsmmc: Enable omap_hsmmc for Keystone 2 mmc: sdhci-acpi: Add more ACPI HIDs for Intel controllers mmc: sdhci-pci: Add more PCI IDs for Intel controllers arm: lpc18xx_defconfig: remove CONFIG_MMC_DW_IDMAC arm: hisi_defconfig: remove CONFIG_MMC_DW_IDMAC arm: exynos_defconfig: remove CONFIG_MMC_DW_IDMAC arc: axs10x_defconfig: remove CONFIG_MMC_DW_IDMAC mips: pistachio_defconfig: remove CONFIG_MMC_DW_IDMAC ... commit 9920e48b830a0f4ec06bcbf0ec3147c88ae72bac Author: Paolo Abeni <pabeni@xxxxxxxxxx> Date: Thu Oct 29 22:20:40 2015 +0100 ipv4: use l4 hash for locally generated multipath flows This patch changes how the multipath hash is computed for locally generated flows: now the hash comprises l4 information. This allows better utilization of the available paths when the existing flows have the same source IP and the same destination IP: with l3 hash, even when multiple connections are in place simultaneously, a single path will be used, while with l4 hash we can use all the available paths. v2 changes: - use get_hash_from_flowi4() instead of implementing just another l4 hash function Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66b019967845a5af58802fd9af77f2317e5298a1 Merge: a5ad88c 3b5ea47 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 11:32:24 2015 -0800 Merge tag 'hwmon-for-linus-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: "New driver for MAX31790, added support for TMP75C, as well as cleanups and minor improvements in various drivers" * tag 'hwmon-for-linus-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (fam15h_power) Add max compute unit accumulated power hwmon: (fam15h_power) Enable power1_input on AMD Carrizo hwmon: (fam15h_power) Refactor attributes for dynamically added hwmon: (ina2xx) remove no longer used variable 'kind' hwmon: (nct6775) Introduce separate temperature labels for NCT6792 and NCT6793 hwmon: (nct6775) NCT6791D and NCT6792D have an additional temperature source hwmon: (ina2xx) give precedence to DT over checking for platform data. hwmon: (ina2xx) convert driver to using regmap hwmon: (coretemp) Increase limit of maximum core ID from 32 to 128. hwmon: (lm75) Add support for TMP75C hwmon: (ibmpowernv) Add OF compatibility table entry hwmon: (abx500) drop the use of IRQF_NO_SUSPEND hwmon: (max31790) Fix dereference of ERR_PTR hwmon: Driver for Maxim MAX31790 commit c6650b2e57725abaa2e36e620d06fa576d26c21c Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:36 2015 +0800 tracing: ftrace_event_is_function() can return boolean Make ftrace_event_is_function() return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-9-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 907bff917a659a8e50e285dc42ef51d7eaba6e62 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:35 2015 +0800 tracing: is_legal_op() can return boolean Make is_legal_op() return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-8-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit cdb2a0a91566d413a6e4e2c57c5d341a2e1173f3 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:34 2015 +0800 ring-buffer: rb_event_is_commit() can return boolean Make rb_event_is_commit() return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-7-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit da58834cf2fa83fe3885753009fecaa49a85f246 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:33 2015 +0800 ring-buffer: rb_per_cpu_empty() can return boolean Makes rb_per_cpu_empty() return bool to improve readability. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-6-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3d4e204d81eec30abffe55d01912e07ce81eef12 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:32 2015 +0800 ring_buffer: ring_buffer_empty{cpu}() can return boolean Make ring_buffer_empty() and ring_buffer_empty_cpu() return bool. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-5-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 06ca320952dc21c537055d2aa36a2c2e96a1b94d Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:31 2015 +0800 ring-buffer: rb_is_reader_page() can return boolean Make rb_is_reader_page() return bool to improve readability due to this particular function only using either true or false as its return value. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-4-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 79851821b2c94fc66cddb80b8b12dcfa09f6e7cb Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:30 2015 +0800 tracing: report_latency() in trace_irqsoff.c can return boolean This patch makes report_latency return bool due to this particular function only using either one or zero as its return value. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-3-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 26ab2ef4516f5c9579b46188809f387406063262 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:29 2015 +0800 tracing: report_latency() in trace_sched_wakeup.c can return boolean This patch makes report_latency return bool to improve readability, indicating whether this new latency should be reported/recorded. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-2-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 67aedeb857fb10b34cd125f962b109ed440b3833 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Wed Sep 30 15:54:10 2015 +0800 Sample: Trace_event: Correct the comments The commit 889204278ccf ("tracing: Update trace-event-sample with TRACE_SYSTEM_VAR documentation") changed TRACE_SYSTEM to 'sample-trace', but didn't make the according change of its name in the comments. Link: http://lkml.kernel.org/r/1443599650-23680-1-git-send-email-zhang.chunyan@xxxxxxxxxx Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4247896f4b8bdbe2c9a03c2f713b636e94eab210 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Oct 25 15:50:59 2015 -0700 cris: Drop reference to get_cmos_time() Function get_cmos_time() was removed with commit 657926a83df9 ("cris: time: Cleanup of persistent clock stuff"). The remaining reference to it may cause the following build error. arch/cris/kernel/built-in.o:(___ksymtab+get_cmos_time+0x0): undefined reference to `get_cmos_time' Makefile:946: recipe for target 'vmlinux' failed Fixes: 657926a83df9 ("cris: time: Cleanup of persistent clock stuff") Cc: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Cc: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit e301a08be4e4ad349b6195562197950d74c86e8a Author: Jesper Nilsson <jespern@xxxxxxxx> Date: Fri Oct 2 11:22:55 2015 +0200 CRIS: Drop code related to obsolete or unused kconfigs Drop all code related to Kconfigs that don't exist. Fix one Kconfig where it was actually typo:ed (ETRAX_KGB_PORT2) Drop content related to CRIS v32 SoCs from etraxgpio.h headerfile, all use of GPIO for both ETRAX FS and ARTPEC-3 should now be through standard gpiolib instead. Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 9f4137fa2cf20bd1ffb1fcb2711c3c347cc86fea Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Fri Jul 17 17:31:26 2015 +0800 cris: time: Cleanup of persistent clock stuff - Remove update_persistent_clock(), as it does nothing now. - Remove read_persistent_clock(), let it fall back to the weak version. Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Acked-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit fad5a06b0cfd9a65c71d09c70520d0cf67e0c577 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 15:17:25 2015 +0300 cris: re-use helpers to dump data in hex format There are native helpers such as print_hex_byte() and %*ph specifier to dump data in hex format. Re-use them instead of a custom approach. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit ab28e96fd1cf1db1579854931890e5613efc5021 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:24 2015 +0200 CRIS v32: remove old GPIO and LEDs code Since we now have a gpiolib driver, remove this code: The gpio-etraxfs driver (along with things like gpio-keys-polled for polling support) replaces the GIO driver implementations in mach-a3 and mach-fs. The various generic external chip drivers replace the "virtual gpio" parts. The generic gpio-leds driver replaces the LED handling. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 79b863c68eba8f7aa5b76c44db3b1df8412c977e Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:23 2015 +0200 CRIS v32: remove I2C bitbanging driver Now that we have a gpiolib GPIO driver, the generic i2c-gpio driver provides this functionality. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 25624b98509f6868829a093392bb6437bcbd7beb Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:22 2015 +0200 CRIS v32: add ARTPEC-3 and P1343 device trees Add a device tree for the Axis P1343 with the ARTPEC-3 SoC and on-board LEDs and RTC. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit a95b3ba2c322c3c373d34988d6928311b1b447a1 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:21 2015 +0200 CRIS v32: dev88: add GPIO, LEDs, RTC, temp sensor Add the GPIO driver to the device tree and, using it, support for the LEDs and the RTC chip (via I2C-GPIO), as well as the temperature sensor (via SPI-GPIO). Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit d4dde7d21c4e243744d574ae38e2971be6a7a3a7 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:20 2015 +0200 CRIS: add dt-bindings symlink Add a dt-bindings symlink to get DT include files, as on other architectures. See c58299a ("kbuild: create an "include chroot" for DT bindings") for the details. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit df90c338087fdec88727a025a8d6400ecb7fe4bd Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:19 2015 +0200 CRIS v32: increase NR_IRQS Increase NR_IQRS so we can fit in GPIO interrupts. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit c33fe4444395a6972b30cb91676d04af2a3dc1a5 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Thu Aug 6 00:34:53 2015 +0200 cris: arch-v10: kgdb: Add '__used' for static variable is_dyn_brkp Within one C file, current gcc can optimize the global static variables according to the C code, but it will skip assembly code -- it will pass them to gas directly. if the static variable is used between C code and assembly code in one C file (e.g. is_dyn_brkp in kgdb.c), it needs '__used' to let gcc know it should be still used, or gcc may remove it for optimization. The related error in this case: LD init/built-in.o arch/cris/arch-v10/kernel/built-in.o: In function `kgdb_handle_breakpoint': (.text+0x2aca): undefined reference to `is_dyn_brkp' arch/cris/arch-v10/kernel/built-in.o: In function `is_static': kgdb.c:(.text+0x2ada): undefined reference to `is_dyn_brkp' Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 8f40dcebefd4a9e8fa24d2ac5e3fd5e410eea58d Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Sat Jul 11 05:47:24 2015 +0800 cris: arch-v10: kgdb: Use BAR instead of DTP0 for register P12 For arch-v10, there is no DTP0 register, and at present, assembler know BAR, so use BAR instead of DTP0, the related error (with allmodconfig): CC arch/cris/arch-v10/kernel/kgdb.o {standard input}: Assembler messages: {standard input}:6: Error: Illegal operands {standard input}:6: Error: Illegal operands Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Hans-Peter Nilsson <hp@xxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 4d0d39758d3e10a31e7f146d56760a92396feb85 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 14:42:29 2015 +0300 cris: kgdb: use native hex2bin There are kernel native helpers to convert hex ascii to the binary format: hex_to_bin() and hex2bin(). Thus, no need to reimplement them customly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 681a4a2f4529517422835b7395df07404dfe2278 Author: Jiaxing Wang <hello.wjx@xxxxxxxxx> Date: Sun Oct 18 19:58:08 2015 +0800 tracing: Update instance_rmdir() to use tracefs_remove_recursive Update instancd_rmdir to use tracefs_remove_recursive instead of debugfs_remove_recursive.This was left in the transition from debugfs to tracefs. Link: http://lkml.kernel.org/r/1445169490-18315-2-git-send-email-hello.wjx@xxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx # 4.1+ Fixes: 8434dc9340cd2 ("tracing: Convert the tracing facility over to use tracefs") Signed-off-by: Jiaxing Wang <hello.wjx@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 260074cd8413489903d4484058e61649d6e08580 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Nov 2 09:59:00 2015 -0500 pNFS/flexfiles: Add support for FF_FLAGS_NO_IO_THRU_MDS For loosely coupled pNFS/flexfiles systems, there is often no advantage at all in going through the MDS for I/O, since the MDS is subject to the same limitations as all other clients when talking to DSes. If a DS is unresponsive, I/O through the MDS will fail. For such systems, the only scalable solution is to have the pNFS clients retry doing pNFS, and so the protocol now provides a flag that allows the pNFS server to signal this. If LAYOUTGET returns FF_FLAGS_NO_IO_THRU_MDS, then we should assume that the MDS wants the client to retry using these devices, even if they were previously marked as being unavailable. To do so, we add a helper, ff_layout_mark_devices_valid() that will be called from layoutget. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 135444126a1175912b43366f6109cb297018f034 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Nov 2 10:11:17 2015 -0500 pNFS/flexfiles: When mirrored, retry failed reads by switching mirrors If the pNFS/flexfiles file is mirrored, and a read to one mirror fails, then we should bump the mirror index, so that we retry to a different mirror. Once we've iterated through all mirrors and all failed, we can return the layout and issue a new LAYOUTGET. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0f2e3bdab6590a5d8900e7d701e21ac9af19924c Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:28:24 2015 -0400 SUNRPC: Remove the TCP-only restriction in bc_svc_process() Allow the use of other transport classes when handling a backward direction RPC call. 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 9468431962616c2449d47c482208a5967e011bf9 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:28:16 2015 -0400 svcrdma: Add backward direction service for RPC/RDMA transport On NFSv4.1 mount points, the Linux NFS client uses this transport endpoint to receive backward direction calls and route replies back to the NFSv4.1 server. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Acked-by: "J. Bruce Fields" <bfields@xxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 63cae47005af51c937f4cdcc4835f29075add2ba Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:28:08 2015 -0400 xprtrdma: Handle incoming backward direction RPC calls Introduce a code path in the rpcrdma_reply_handler() to catch incoming backward direction RPC calls and route them to the ULP's backchannel server. 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 83128a60ca74e996c5e0336c4fff0579f4a8c909 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:59 2015 -0400 xprtrdma: Add support for sending backward direction RPC replies Backward direction RPC replies are sent via the client transport's send_request method, the same way forward direction RPC calls are sent. 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 124fa17d3e33060fbb28e995a42c7f5c8b31b345 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:51 2015 -0400 xprtrdma: Pre-allocate Work Requests for backchannel Pre-allocate extra send and receive Work Requests needed to handle backchannel receives and sends. The transport doesn't know how many extra WRs to pre-allocate until the xprt_setup_backchannel() call, but that's long after the WRs are allocated during forechannel setup. So, use a fixed value for now. 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 f531a5dbc451afb66e9d6c71a69e8358d1847969 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:43 2015 -0400 xprtrdma: Pre-allocate backward rpc_rqst and send/receive buffers xprtrdma's backward direction send and receive buffers are the same size as the forechannel's inline threshold, and must be pre- registered. The consumer has no control over which receive buffer the adapter chooses to catch an incoming backwards-direction call. Any receive buffer can be used for either a forward reply or a backward call. Thus both types of RPC message must all be the same size. 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 42e5c3e2725ba0c0affc1fc8a6aa1d5cf31ecb75 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:35 2015 -0400 SUNRPC: Abstract backchannel operations xprt_{setup,destroy}_backchannel() won't be adequate for RPC/RMDA bi-direction. In particular, receive buffers have to be pre- registered and posted in order to receive incoming backchannel requests. Add a virtual function call to allow the insertion of appropriate backchannel setup and destruction methods for each transport. In addition, freeing a backchannel request is a little different for RPC/RDMA. Introduce an rpc_xprt_op to handle the difference. 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 a5b027e1897c811401862877d0ba4ca26fabc4da Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:27 2015 -0400 xprtrdma: Saving IRQs no longer needed for rb_lock Now that RPC replies are processed in a workqueue, there's no need to disable IRQs when managing send and receive buffers. This saves noticeable overhead per RPC. 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 2da9ab3008f359857eb594b0b4b0fee62f2a73c2 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:18 2015 -0400 xprtrdma: Remove reply tasklet Clean up: The reply tasklet is no longer used. 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 fe97b47cd623ebbaa55a163c336abc47153526d1 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:10 2015 -0400 xprtrdma: Use workqueue to process RPC/RDMA replies The reply tasklet is fast, but it's single threaded. After reply traffic saturates a single CPU, there's no more reply processing capacity. Replace the tasklet with a workqueue to spread reply handling across all CPUs. This also moves RPC/RDMA reply handling out of the soft IRQ context and into a context that allows sleeps. 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 1e465fd4ff475cc29c866ee75496c941b3908e69 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:02 2015 -0400 xprtrdma: Replace send and receive arrays The rb_send_bufs and rb_recv_bufs arrays are used to implement a pair of stacks for keeping track of free rpcrdma_req and rpcrdma_rep structs. Replace those arrays with free lists. To allow more than 512 RPCs in-flight at once, each of these arrays would be larger than a page (assuming 8-byte addresses and 4KB pages). Allowing up to 64K in-flight RPCs (as TCP now does), each buffer array would have to be 128 pages. That's an order-6 allocation. (Not that we're going there.) A list is easier to expand dynamically. Instead of allocating a larger array of pointers and copying the existing pointers to the new array, simply append more buffers to each list. This also makes it simpler to manage receive buffers that might catch backwards-direction calls, or to post receive buffers in bulk to amortize the overhead of ib_post_recv. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Tested-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit b0e178a2d8ad4bd6c6bbf5d3f3cf50ca8907581b Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:26:54 2015 -0400 xprtrdma: Refactor reply handler error handling Clean up: The error cases in rpcrdma_reply_handler() almost never execute. Ensure the compiler places them out of the hot path. No behavior change expected. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Tested-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 4220a07264c0517006a534aed201e29c8d297306 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:26:45 2015 -0400 xprtrdma: Prevent loss of completion signals Commit 8301a2c047cc ("xprtrdma: Limit work done by completion handler") was supposed to prevent xprtrdma's upcall handlers from starving other softIRQ work by letting them return to the provider before all CQEs have been polled. The logic assumes the provider will call the upcall handler again immediately if the CQ is re-armed while there are still queued CQEs. This assumption is invalid. The IBTA spec says that after a CQ is armed, the hardware must interrupt only when a new CQE is inserted. xprtrdma can't rely on the provider calling again, even though some providers do. Therefore, leaving CQEs on queue makes sense only when there is another mechanism that ensures all remaining CQEs are consumed in a timely fashion. xprtrdma does not have such a mechanism. If a CQE remains queued, the transport can wait forever to send the next RPC. Finally, move the wcs array back onto the stack to ensure that the poll array is always local to the CPU where the completion upcall is running. Fixes: 8301a2c047cc ("xprtrdma: Limit work done by completion ...") Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Tested-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 7b3d770c67bc07db5035999e4f864c5f2ff7b10e Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:26:37 2015 -0400 xprtrdma: Re-arm after missed events ib_req_notify_cq(IB_CQ_REPORT_MISSED_EVENTS) returns a positive value if WCs were added to a CQ after the last completion upcall but before the CQ has been re-armed. Commit 7f23f6f6e388 ("xprtrmda: Reduce lock contention in completion handlers") assumed that when ib_req_notify_cq() returned a positive RC, the CQ had also been successfully re-armed, making it safe to return control to the provider without losing any completion signals. That is an invalid assumption. Change both completion handlers to continue polling while ib_req_notify_cq() returns a positive value. Fixes: 7f23f6f6e388 ("xprtrmda: Reduce lock contention in ...") Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Tested-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit a045178887ebafa9514d6b4cb840ac13a26c8365 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:26:29 2015 -0400 xprtrdma: Enable swap-on-NFS/RDMA After adding a swapfile on an NFS/RDMA mount and removing the normal swap partition, I was able to push the NFS client well into swap without any issue. I forgot to swapoff the NFS file before rebooting. This pinned the NFS mount and the IB core and provider, causing shutdown to hang. I think this is expected and safe behavior. Probably shutdown scripts should "swapoff -a" before unmounting any filesystems. 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 8610586d820aa75dc7da470d77fc23492c2492f8 Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 12:24:34 2015 -0500 xprtrdma: don't log warnings for flushed completions Unsignaled send WRs can get flushed as part of normal unmount, so don't log them as warnings. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit bdb5d0f9045ed88811b6253682dff6b576dd0064 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Tue Oct 27 20:12:13 2015 +0800 tracing: Only benchmark the time tracepoints take if tracing is on There's no need to record the time tracepoints take when tracing is off. This is because: 1) We cannot see these records since ring_buffer record is off at that moment. 2) If tracing is off and benchmark tracepoint is enabled, the time tracepoint takes is fewer than the same situation when tracing is on, since the tracepoints need to be wrote into ring_buffer, it would take more time. If turn on tracing at this moment, the average and standard deviation cannot exactly present the time that tracepoints take to write data into ring_buffer. Link: http://lkml.kernel.org/r/1445947933-27955-1-git-send-email-zhang.chunyan@xxxxxxxxxx Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 46a2b61ecb286dddb4efa73b119fec54e1576efe Author: Li Bin <huawei.libin@xxxxxxxxxx> Date: Wed Oct 28 16:23:26 2015 +0800 recordmcount: x86: Assign a meaningful value to rel_type_nop Although, the default value of rel_type_nop is zero, and the value of R_386_NONE/R_X86_64_NONE is zero too, but it should be assigned a meaningful value explicitly, otherwise it looks confused. Assign R_386_NONE to rel_type_nop for 386, assign R_X86_64_NONE to rel_type_nop for x86_64. Link: http://lkml.kernel.org/r/1446020606-16352-1-git-send-email-huawei.libin@xxxxxxxxxx Signed-off-by: Li Bin <huawei.libin@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 799fd44cf5bbcc51c46b674035bfc49cbf6907ba Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Nov 2 13:08:26 2015 -0500 tracing: Call on_each_cpu() when adding or removing single pids from set_event_pid For the case where pids are already in set_event_pid, and one is added or removed then each CPU should be checked to make sure that the new or old pid is on or not on a CPU. For example: # echo 123 >> set_event_pid or # echo '!123' >> set_event_pid Link: http://lkml.kernel.org/r/20151030061643.GA19480@cac Suggested-by: Jiaxing Wang <hello.wjx@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit abed7d0710e8f892c267932a9492ccf447674fb8 Author: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx> Date: Tue Oct 27 15:19:52 2015 -0400 xen: fix the check of e_pfn in xen_find_pfn_range On some NUMA system, after dom0 up, we see below warning even if there are enough pfn ranges that could be used for remapping: "Unable to find available pfn range, not remapping identity pages" Fix it to avoid getting a memory region of zero size in xen_find_pfn_range. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 61dd90224c13ee6eab72822f9f946277a1ddd51f Author: Mans Rullgard <mans@xxxxxxxxx> Date: Fri Oct 2 18:21:47 2015 +0100 devicetree: add Sigma Designs vendor prefix Add the "sigma" vendor prefix for Sigma Designs, Inc. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit de1ab6af5c3d92c0a031083962a7ff270cf301b7 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Nov 2 17:35:34 2015 +0100 ALSA: hda - Fix lost 4k BDL boundary workaround During the migration to HDA core code, we lost the workaround for 4k BDL boundary. The flag exists in the new hdac_bus, but it's never set. This resulted in the sudden sound stall on some controllers that require this workaround like Creative Recon3D. This patch fixes the issue by setting the flag for such controllers properly. Fixes: ccc98865aa44 ('ALSA: hda - Migrate more hdac_stream codes') Cc: <stable@xxxxxxxxxxxxxxx> # v4.2+ Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7adb91bd78a5e00209c56068dc0ad53d4cf4348f Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Mon Oct 26 14:29:12 2015 -0700 HID: wacom: fix Intuos wireless report id issue Intuos Pen in wireless mode does not have the same report id (2) as when it is in USB mode (17). This patch also moves WIRELESS next to REMOTE in type enum so we can group devices with similar features easily. Reported-by: Dale Brewe <dlbrewe@xxxxxxxxxxx> Tested-by: Dale Brewe <dlbrewe@xxxxxxxxxxx> Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 829a2fac71b83c1689213337e8cfc58a9ea12211 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Nov 2 21:06:46 2015 +0530 Revert "ARM: DTS: am33xx: Use the new DT bindings for the eDMA3" This reverts commit d871cd2ec5abf8715774bcb90aa32ae5b750b587 as it causes regression in BBB Reported-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b1c4e98296d2f08e3fcc9aab0c1103e0bc05d9f3 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Nov 2 21:05:29 2015 +0530 Revert "ARM: DTS: am437x: Use the new DT bindings for the eDMA3" This reverts commit e3faf2b8826b8ac58cdaad7f801e59e389320f0e as it causes regression in BBB Reported-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1d1106b0f6b5cb4bc1b88d7bd4c41d0413331c5d Author: Harry Wentland <harry.wentland@xxxxxxx> Date: Wed Jul 15 07:10:41 2015 -0400 drm/amdgpu: Make amdgpu_mn functions inline Unused amdgpu_mn functions threw warnings for every file that includes amdgpu.h. It makes sense to inline this amdgpu_mn stubs to avoid the warning. Signed-off-by: Harry Wentland <harry.wentland@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 6c33dc33cefbd16b288f73024a10f438236a5124 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Oct 2 17:02:07 2015 +0300 xtensa: nommu: provide defconfig for de212 on kc705 Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit adbd75edee554ac2ae3927e2f778e360d341133f Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Oct 2 03:47:13 2015 +0300 xtensa: nommu: xtfpga: add kc705 DTS Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit ca55b2fef3a9373fcfc30f82fd26bc7fccbda732 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Tue Sep 29 23:38:57 2015 +0300 xtensa: add de212 core variant Diamond core 212 is a generic purpose core without full MMU used for sample noMMU configuration. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit d951ba21b95938c24a28a25295c44719d3b51ee2 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Sep 30 15:17:35 2015 +0300 xtensa: nommu: select HAVE_FUTEX_CMPXCHG Not having HAVE_FUTEX_CMPXCHG makes futex_detect_cmpxchg probe cmpxchg_futex_value_locked with NULL address. It's not guaranteed to fault without MMU, instead it locks up on Xtensa when there's no RAM at address 0. Select HAVE_FUTEX_CMPXCHG in noMMU Xtensa configurations. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit d9eb3cb24837f4fb6391b0172f17156377adabba Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Sep 24 23:48:29 2015 +0300 xtensa: nommu: fix default memory start address RAM starts at 0x60000000 on noMMU cores, not at 0x40000000. Fix the default. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 260c64bbabdb8da7248c87e0cdd92023bd7b76c6 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Sep 24 23:36:45 2015 +0300 xtensa: nommu: provide correct KIO addresses KIO region location is different for noMMU cores. Provide different default physical address and make KIO virtual address equal to physical. Move xtensa_get_kio_paddr function close to XCHAL_KIO_PADDR definition and define it not only for MMUv3, but for all MMU options except MMUv2. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit cfedf08b0c09f325fa24d91e8c9433ec481800cf Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sun Sep 20 14:45:37 2015 +0300 xtensa: nommu: fix USER_RING definition There's no kernel/user separation in noMMU and PS.RING may not exist. Even if it exists it should not be used because TLB entries are not set up for user ring on user pages. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit b85d45947951d23cb22d90caecf4c1eb81342c96 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Sep 24 23:34:02 2015 +0300 xtensa: xtfpga: fix integer overflow in TASK_SIZE This fixes the following warning when default memory region crosses 0x80000000: arch/xtensa/include/asm/processor.h:40:47: warning: integer overflow in expression [-Woverflow] #define TASK_SIZE (PLATFORM_DEFAULT_MEM_START + PLATFORM_DEFAULT_MEM_SIZE) ^ Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 01618bded680573163403666d0546be536b22ac0 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Sep 24 23:20:46 2015 +0300 xtensa: fix build for configs without cache options - make cache-related assembly macros empty if core doesn't have corresponding cache type; - don't initialize cache attributes in instruction/data TLB entries if there's no corresponding cache type. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 5029615e25dc5040beb065f36743c127a8e51497 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Sep 24 23:11:53 2015 +0300 xtensa: fixes for configs without loop option Build-time fixes: - make lbeg/lend/lcount save/restore conditional on kernel entry; - don't clear lcount in platform_restart functions unconditionally. Run-time fixes: - use correct end of range register in __endla paired with __loopt, not the unused temporary register. This fixes .bss zero-initialization. Update comments in asmmacro.h; - don't clobber a10 in the usercopy that leads to access to unmapped memory. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit f8f8bdc48851da979c6e0e4808b6031122e4af47 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Oct 27 11:12:51 2015 +0900 arm64/efi: fix libstub build under CONFIG_MODVERSIONS Now that we strictly forbid absolute relocations in libstub code, make sure that we don't emit any when CONFIG_MODVERSIONS is enabled, by stripping the kcrctab sections from the object file. This fixes a build problem under CONFIG_MODVERSIONS=y. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d6cf98e06ea4c4071596bc28f2a0f21412d5c6dc Merge: 4d5140c 70aa396 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Nov 2 13:52:45 2015 +0100 Merge branch 'kvm-ppc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into HEAD There's nothing much in the way of new features this time; it's mostly bug fixes, plus Nikunj has implemented support for KVM_CAP_NR_MEMSLOTS. commit b67ad2f7c7514f94fe6bbd0cd86add445eb4e64a Merge: 6a13feb b61e5e8 3ca9299 166bdbd 8128f23 1228236 393c092 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Mon Nov 2 20:03:34 2015 +0900 Merge branches 'x86/vt-d', 'arm/omap', 'arm/smmu', 's390', 'core' and 'x86/amd' into next Conflicts: drivers/iommu/amd_iommu_types.h commit b61e5e80e3cd37f0183cdc04b03861a0467d9f52 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Mon Nov 2 19:57:31 2015 +0900 iommu/vt-d: Fix return value check of parse_ioapics_under_ir() The function returns 0 on success, so check for the right value. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 4afa5f9617927453ac04b24b584f6c718dfb4f45 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 17:11:19 2015 +0800 crypto: algif_hash - Only export and import on sockets with data The hash_accept call fails to work on sockets that have not received any data. For some algorithm implementations it may cause crashes. This patch fixes this by ensuring that we only export and import on sockets that have received data. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Harsh Jain <harshjain.prof@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Tested-by: Stephan Mueller <smueller@xxxxxxxxxx> commit 4d5140c5799e676f5a8fb805105e8806f2db1902 Merge: 8c85ac1 46b708e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Nov 2 10:42:36 2015 +0100 Merge tag 'kvm-s390-next-20151028' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD KVM: s390: Bugfix and cleanups There is one important bug fix for a potential memory corruption and/or guest errors for guests with 63 or 64 vCPUs. This fix would qualify for 4.3 but is some days too late giving that we are about to release 4.3. Given that this patch is cc stable >= 3.15 anyway, we can handle it via 4.4. merge window. This pull request also contains two cleanups. commit 9be64eee3a87dc03218ca9a12834d1150a57b8a8 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Oct 30 14:50:24 2015 +0200 drm/i915: add quirk to enable backlight on Dell Chromebook 11 (2015) Reported-by: Keith Webb <khwebb@xxxxxxxxx> Suggested-by: Keith Webb <khwebb@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=106671 Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446209424-28801-1-git-send-email-jani.nikula@xxxxxxxxx commit b76ff5ea1cf6fe648e7ce2b84e636f8a95849a0b Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Oct 28 10:44:04 2015 +0100 drm/vmwgfx: Replace iowrite/ioread with volatile memory accesses Now that we use memremap instead of ioremap, Use WRITE_ONCE / READ_ONCE instead of iowrite / ioread. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 53c1e53571b1552204b2111b9fff5086f091bc9a Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Oct 26 04:42:31 2015 -0700 drm/vmwgfx: Turn off support for multisample count != 0 v2 Do this until we know how much MOB memory to allocate for these surfaces. v2: Mask also non-DX multisample. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit 5ad9dceee97477a7bdaa8c57b67cb802627a579d Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 28 00:19:45 2015 -0700 drm/vmwgfx: switch from ioremap_cache to memremap Per commit 2e586a7e017a "drm/vmwgfx: Map the fifo as cached" the driver expects the fifo registers to be cacheable. In preparation for deprecating ioremap_cache() convert its usage in vmwgfx to memremap(). Cc: David Airlie <airlied@xxxxxxxx> Cc: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Cc: Sinclair Yeh <syeh@xxxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit bc88c9e923819b02f8cfaec1bb80d7e5530c0ac5 Merge: cadd16e 2c8d089 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Nov 2 09:00:37 2015 +0100 Merge branch 'for-next' into for-linus commit b10f1b20171945b49988b2b1fe68cb312cc36d32 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Oct 22 13:56:34 2015 +0200 drm/i915/skl: Prevent unclaimed register writes on skylake. I'm getting unclaimed register writes when checking the WM registers after the crtc is disabled. So I would imagine those are guarded by the crtc power well. Fix this by not reading out wm state when the power well is off. Cc: stable@xxxxxxxxxxxxxxx # v4.3 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92181 Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 2c8d08925272b9be383cd81f1973c6faf9fbf53a Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 20:53:14 2015 +0100 ALSA: maestro3: Fix Allegro mute until master volume/mute is touched ESS Allegro (marked ES1989S), [125d:1988] (rev 10) is mute after loading snd-maestro3 and running alsactl restore. Touching master volume or mute makes it work. Looks like a bug in the AC'97 codec integrated into the chip. Write AC97_MASTER register twice to work-around the problem. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3b0e21ec3b22ab5eced5331eaf55949006f22687 Merge: ccde64b e1f580e8 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Nov 2 13:59:48 2015 +1100 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next Freescale updates from Scott: "Highlights include 64-bit book3e kexec/kdump support, a rework of the qoriq clock driver, device tree changes including qoriq fman nodes, support for a new 85xx board, and some fixes. Note that there is a trivial merge conflict with the clock tree's next branch, in the clock Makefile." commit 24ba16bb3d499c49974669cd8429c3e4138ab102 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Nov 2 13:46:58 2015 +1100 xfs: clear PF_NOFREEZE for xfsaild kthread Since xfsaild has been converted to kthread in 0030807c, it calls try_to_freeze() during every AIL push iteration. It however doesn't set itself as freezable, and therefore this try_to_freeze() will never do anything. Before (hopefully eventually) kthread freezing gets converted to fileystem freezing, we'd rather mark xfsaild freezable (as it can generate I/O during suspend). Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 57ab3b08725163bfe385aaeea6837f9b1213af3d Author: Sriram Raghunathan <sriram@xxxxxxxxxxxxx> Date: Fri Oct 23 09:52:45 2015 +0200 Creating a common structure initialization pattern for struct option This patch tries to creates a common structure initialization within the cpupower tool. Previously the ``struct option`` was initialized using `designated initializer` technique which was not needed. There were conflicting initialization methods seen with bench/main.c & others. Signed-off-by: Sriram Raghunathan <sriram@xxxxxxxxxxxxx> Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 19c9fb896f54ade387676f134ce1de9bcd3cd478 Author: Thomas Renninger <trenn@xxxxxxx> Date: Thu Oct 22 17:17:07 2015 +0200 cpupower: Enable disabled Cstates if they are below max latency cpupower idle-set -D <latency> currently only disables all C-states that have a higher latency than the specified <latency>. But if deep sleep states were already disabled and have a lower latency, they should get enabled again. For example: This call: cpupower idle-set -D 30 disables all C-states with a higher or equal latency than 30. If one then calls: cpupower idle-set -D 100 C-states with a latency between 30-99 will get enabled again with this patch now. It is ensured that only C-states with a latency of 100 and higher are disabled. Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 645209472d909071df5af2c42ea623ef011ad3c8 Author: Thomas Renninger <trenn@xxxxxxx> Date: Thu Oct 22 17:17:06 2015 +0200 cpupower: Remove debug message when using cpupower idle-set -D switch Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 20102ac5bee3c7c1ffff43f220e37328b6fffd16 Author: Jacob Tanenbaum <jtanenba@xxxxxxxxxx> Date: Thu Oct 22 17:17:05 2015 +0200 cpupower: cpupower monitor reports uninitialized values for offline cpus [root@hp-dl980g7-02 linux]# cpupower monitor ... 5472| 0| 1|******|******|******|******|| 0.00| 0.00| 0.00| 0.00| 0.00 *is offline 10567| 0| 159|******|******|******|******|| 0.00| 0.00| 0.00| 0.00| 0.00 *is offline 1661206560|859272560| 150|******|******|******|******|| 0.00| 0.00| 0.00| 0.00| 0.00 *is offline 1661206560|943093104| 140|******|******|******|******|| 0.00| 0.00| 0.00| 0.00| 0.00 *is offline because of this cpupower also holds the incorrect value for the number of physical packages in the machine Changed cpupower to initialize the values of an offline cpu's socket and core to -1, warn the user that one or more cpus is/are offline and not print statistics for offline cpus. This fix hides offlined cores where topology cannot be accessed. With a recent kernel patch suggested from Prarit Bhargava it may be possible that soft offlined cores' topology can still be parsed. This patch would then show which cores in which package/socket are offline, when sane toplogoy information is available. Signed-off-by: Jacob Tanenbaum <jtanenba@xxxxxxxxxx> Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2547923d1cc38b4b55c538e450411586acc39ac6 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Oct 28 15:19:50 2015 -0600 PM / Domains: Allocate memory outside domain locks In preparation for supporting IRQ-safe domains, allocate domain data outside the domain locks. These functions are not called in an atomic context, so we can always allocate memory using GFP_KERNEL. By allocating memory before the locks, we can safely lock the domain using spinlocks instead of mutexes. Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 298cd0f0880188422a518e9d780bd49d66ea7ad5 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Oct 28 15:18:59 2015 -0600 PM / Domains: Remove dev->driver check for runtime PM Remove check for driver of a device, for runtime PM. Device may be suspended without an explicit driver. This check seems to be vestigial and incorrect in the current context. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 17:09:15 2015 -0800 mm: get rid of 'vmalloc_info' from /proc/meminfo It turns out that at least some versions of glibc end up reading /proc/meminfo at every single startup, because glibc wants to know the amount of memory the machine has. And while that's arguably insane, it's just how things are. And it turns out that it's not all that expensive most of the time, but the vmalloc information statistics (amount of virtual memory used in the vmalloc space, and the biggest remaining chunk) can be rather expensive to compute. The 'get_vmalloc_info()' function actually showed up on my profiles as 4% of the CPU usage of "make test" in the git source repository, because the git tests are lots of very short-lived shell-scripts etc. It turns out that apparently this same silly vmalloc info gathering shows up on the facebook servers too, according to Dave Jones. So it's not just "make test" for git. We had two patches to just cache the information (one by me, one by Ingo) to mitigate this issue, but the whole vmalloc information of of rather dubious value to begin with, and people who *actually* want to know what the situation is wrt the vmalloc area should just look at the much more complete /proc/vmallocinfo instead. In fact, according to my testing - and perhaps more importantly, according to that big search engine in the sky: Google - there is nothing out there that actually cares about those two expensive fields: VmallocUsed and VmallocChunk. So let's try to just remove them entirely. Actually, this just removes the computation and reports the numbers as zero for now, just to try to be minimally intrusive. If this breaks anything, we'll obviously have to re-introduce the code to compute this all and add the caching patches on top. But if given the option, I'd really prefer to just remove this bad idea entirely rather than add even more code to work around our historical mistake that likely nobody really cares about. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3a91b069eabf5dc8d4cd6f3e66dcd700536ef9f8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 29 08:08:38 2015 +0530 cpufreq: governor: Quit work-handlers early if governor is stopped gov_queue_work() acquires cpufreq_governor_lock to allow cpufreq_governor_stop() to drain delayed work items possibly scheduled on CPUs that share the policy with a CPU being taken offline. However, the same goal may be achieved in a more straightforward way if the policy pointer in the struct cpu_dbs_info matching the policy CPU is reset upfront by cpufreq_governor_stop() under the timer_mutex belonging to it and checked against NULL, under the same lock, at the beginning of dbs_timer(). In that case every instance of dbs_timer() run for a struct cpu_dbs_info sharing the policy pointer in question after cpufreq_governor_stop() has started will notice that that pointer is NULL and bail out immediately without queuing up any new work items. In turn, gov_cancel_work() called by cpufreq_governor_stop() before destroying timer_mutex will wait for all of the delayed work items currently running on the CPUs sharing the policy to drop the mutex, so it may be destroyed safely. Make cpufreq_governor_stop() and dbs_timer() work as described and modify gov_queue_work() so it does not acquire cpufreq_governor_lock any more. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 539342f60b93c9f98c47f75b63fe5b8b13c1d226 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Thu Oct 22 09:43:31 2015 -0400 intel_pstate: decrease number of "HWP enabled" messages When booting an HWP enabled system the kernel displays one "HWP enabled" message for each cpu. The messages are superfluous since HWP is globally enabled across all CPUs. This patch also adds an informational message when HWP is disabled via intel_pstate=no_hwp. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 14f1ba3af6209f0394192ef07fe2bd9bccdc755f Author: Jon Medhurst \(Tixy\) <tixy@xxxxxxxxxx> Date: Wed Oct 21 10:55:33 2015 +0100 cpufreq: arm_big_little: fix frequency check when bL switcher is active The check for correct frequency being set in bL_cpufreq_set_rate is broken when the big.LITTLE switcher is active, for two reasons. 1. The 'new_rate' variable gets overwritten before the test by the code calculating the frequency of the old cluster. 2. The frequency returned by bL_cpufreq_get_rate will be the virtual frequency, not the actual one the intended version of new_rate contains. This means the function always returns an error causing an endless stream of: "cpufreq: __target_index: Failed to change cpu frequency: -5" As the intent is to check for errors that clk_set_rate doesn't report lets move the check to immediately after that and directly use clk_get_rate, rather than the arm_big_little helpers which only confuse matters. Also, update the comment to be hopefully clearer about the purpose of the code. Fixes: 0a95e630b49a (cpufreq: arm_big_little: check if the frequency is set correctly) Signed-off-by: Jon Medhurst <tixy@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ad623c31485581d6b082ef92429db3b728739cd8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:42:45 2015 +0530 PM / OPP: Parse all power-supply related bindings together Move all DT parsing for the power supplies to a single function, rather than keeping them at separate places. This will help manage things properly. 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 b64b9c3f900a0522fb926f1436088e2e36807594 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:42:44 2015 +0530 PM / OPP: Rename routines specific to old bindings with _v1 Clearly distinguish routines based on what version of bindings they parse. We have already postfixed routines properly with _v2 for new bindings. Postfix the older ones now with _v1. 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 d6d2a5289a530a3020703e6a3b19a14668601c27 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Oct 17 09:45:18 2015 +0530 PM / OPP: Improve print messages with pr_fmt To identify OPP core's print messages easily, prefix them with KBUILD_MODNAME. 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 2e002662973fd8d67d5a760776a5d3ea3d3399a9 Merge: 6a13feb fc90888 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 16:43:24 2015 -0800 Merge branch 'fs-file-descriptor-optimization' Merge file descriptor allocation speedup. Eric Dumazet has a test-case for a fairly common network deamon load pattern: openign and closing a lot of sockets that each have very little work done on them. It turns out that in that case, the cost of just finding the correct file descriptor number can be a dominating factor. We've long had a trivial optimization for allocating file descriptors sequentially, but that optimization ends up being not very effective when other file descriptors are being closed concurrently, and the fd patterns are not some simple FIFO pattern. In such cases we ended up spending a lot of time just scanning the bitmap of open file descriptors in order to find the next file descriptor number to open. This trivial patch-series mitigates that by simply introducing a second-level bitmap of which words in the first bitmap are already fully allocated. That cuts down the cost of scanning by an order of magnitude in some pathological (but realistic) cases. The second patch is an even more trivial patch to avoid unnecessarily dirtying the cacheline for the close-on-exec bit array that normally ends up being all empty. * fs-file-descriptor-optimization: vfs: conditionally clear close-on-exec flag vfs: Fix pathological performance case for __alloc_fd() commit e50b9be14ab0ed10b0b3cd4112ff4bed0abf7b6f Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Wed Oct 28 15:09:23 2015 +0800 ACPI / video: only register backlight for LCD device The firmware of ESPRIMO Mobile M9410 has two video output devices that have _BCM control method, one is the type of "External Digital Monitor" while the other is the type of "Internal/Integrated Digital Flat Panel". Only the 2nd video output device's _BCM control method works, but since we have created two and the 1st one got picked up by user space, the backlight functionality is broken. To solve this problem, only register backlight interface for "Internal/Integrated Digital Flat Panel" type video output device on this laptop. Another problem of this laptop is that the IDs listed by the _DOD method doesn't have bit 31 set, which means it doesn't follow the format specified by ACPI spec. But the value indicates that it actually follows that format so I've added a DMI quirk and a module level parameter to force use the device_id_scheme so that we can get the video output device's type to do the decision if we should register backlight interface. Link: https://bugzilla.kernel.org/show_bug.cgi?id=104121 Suggested-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reported-and-tested-by: Christian Scharl <zahlsum-kernelbugs@xxxxxxxx> Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 61f9738d65094a6b18d22c7beb6bb8c3dc0606b9 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Oct 26 15:20:46 2015 +0100 ACPI / video: Add a quirk to force acpi-video backlight on Dell XPS L421X Just like the Dell XPS 15 (L521X) the Dell XPS 14 (L421X) needs to use the acpi-video backlight interface rather then the native one for backlight control to work, add a quirk for this. Link: https://bugzilla.redhat.com/show_bug.cgi?id=1272633 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5293fea28c9355a12792c4a85c9daad612efc503 Merge: 02715e8 205ad97 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 01:30:44 2015 +0100 Merge branch 'device-properties' into acpi-pci commit 6a13feb9c82803e2b815eca72fa7a9f5561d7861 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 16:05:25 2015 -0800 Linux 4.3 commit 1ab68460b1d0671968b35e04f21efcf1ce051916 Merge: 394f716 fa743d9 a617561 89e7b25 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:54:49 2015 +0100 Merge branches 'pm-avs', 'pm-clk' and 'powercap' * pm-avs: PM / AVS: rockchip-io: Fix module autoload for OF platform driver * pm-clk: PM / clk: Fix broken build due to non-matching code and header #ifdefs * powercap: powercap / RAPL: Enable Broxton RAPL support commit 394f7164e65a734f815543d918c7bdc0587593a6 Merge: dcf3d01 a6eed75 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:54:37 2015 +0100 Merge branch 'pm-opp' * pm-opp: PM / OPP: passing NULL to PTR_ERR() PM / OPP: Move cpu specific code to opp/cpu.c PM / OPP: Move opp core to its own directory PM / OPP: Prefix exported opp routines with dev_pm_opp_ PM / OPP: Rename opp init/free table routines PM / OPP: reuse of_parse_phandle() commit dcf3d0183f100a14f60eb5993e124a4a1322ee9a Merge: 69f8947 2b1d88c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:54:30 2015 +0100 Merge branch 'pm-domains' * pm-domains: PM / Domains: Merge measurements for PM QoS device latencies PM / Domains: Don't measure ->start|stop() latency in system PM callbacks PM / Domains: Rename *pm_genpd_poweron|poweroff() PM / Domains: Remove pm_genpd_poweron() API PM / Domains: Remove pm_genpd_poweroff_unused() API soc: dove: Let genpd deal with disabling of unused PM domains PM / Domains: Remove in_progress counter from struct generic_pm_domain PM / domains: Drop unused label PM / Domains: Remove cpuidle attach PM / Domains: Remove name based API for genpd commit 69f8947b8c4777f58d90cc79da2e124570d9e6f0 Merge: 9bb4064 3510fac 54c0a8a Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:54:10 2015 +0100 Merge branches 'pm-cpufreq' and 'pm-cpuidle' * pm-cpufreq: cpufreq: postfix policy directory with the first CPU in related_cpus cpufreq: create cpu/cpufreq/policyX directories cpufreq: remove cpufreq_sysfs_{create|remove}_file() cpufreq: create cpu/cpufreq at boot time cpufreq: Use cpumask_copy instead of cpumask_or to copy a mask cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate() cpufreq: intel_pstate: Fix intel_pstate powersave min_perf_pct value cpufreq: intel_pstate: Avoid calculation for max/min Documentation: kernel_parameters for Intel P state driver cpufreq: intel_pstate: Use ACPI perf configuration cpufreq: intel-pstate: Use separate max pstate for scaling cpufreq: intel_pstate: get P1 from TAR when available cpufreq: Drop redundant check for inactive policies cpufreq : powernv: Report Pmax throttling if capped below nominal frequency cpufreq: imx: update the clock switch flow to support imx6ul cpufreq: tegra20: remove superfluous CONFIG_PM ifdefs cpufreq: conservative: remove 'enable' field cpufreq: integrator: Fix module autoload for OF platform driver * pm-cpuidle: cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver cpuidle: mvebu: clean up multiple platform drivers commit 9bb4064ca3bd771f8df88529a3578f9bb5243911 Merge: 66c4487 d439e64 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:52:19 2015 +0100 Merge branch 'pm-sleep' * pm-sleep: PM / hibernate: fix a comment typo input: i8042: Avoid resetting controller on system suspend/resume PM / PCI / ACPI: Kick devices that might have been reset by firmware PM / sleep: Add flags to indicate platform firmware involvement PM / sleep: Drop pm_request_idle() from pm_generic_complete() PCI / PM: Avoid resuming more devices during system suspend PM / wakeup: wakeup_source_create: use kstrdup_const PM / sleep: Report interrupt that caused system wakeup commit 66c44877242d37873df2abb10e4fce26ff4fc9f9 Merge: 62839e2 8c01275 2165747 584d8d1 e58d154 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:51:46 2015 +0100 Merge branches 'acpi-osl', 'acpi-pad', 'acpi-video' and 'acpi-assorted' * acpi-osl: ACPI / PM: Fix incorrect wakeup IRQ setting during suspend-to-idle ACPI: Using correct irq when waiting for events ACPI: Use correct IRQ when uninstalling ACPI interrupt handler * acpi-pad: ACPI / PAD: power_saving_thread() is not freezable * acpi-video: ACPI / video: Add a quirk to force native backlight on Lenovo IdeaPad S405 * acpi-assorted: ACPI / Documentation: add copy_dsdt to ACPI format options ACPI / sysfs: correctly check failing memory allocation commit 62839e2d018117f2474321b38709dd7e80796e52 Merge: 5b9ddd0 4219853 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:50:37 2015 +0100 Merge branch 'acpi-processor' * acpi-processor: ACPI / CPPC: Fix potential memory leak ACPI / CPPC: signedness bug in register_pcc_channel() ACPI: Allow selection of the ACPI processor driver for ARM64 CPPC: Probe for CPPC tables for each ACPI Processor object ACPI: Add weak routines for ACPI CPU Hotplug ACPI / CPPC: Add a CPUFreq driver for use with CPPC ACPI: Introduce CPU performance controls using CPPC commit 5b9ddd0d7427c16e5d8779e77ba89c2bc5a7324c Merge: ba210f5 b319688 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:50:26 2015 +0100 Merge branch 'acpica' * acpica: ACPICA: Update version to 20150930 ACPICA: Debugger: Fix dead lock issue ocurred in single stepping mode ACPI: Enable build of AML interpreter debugger ACPICA: Debugger: Add thread ID support so that single step mode can only apply to the debugger thread ACPICA: Debugger: Fix "terminate" command by cleaning up subsystem shutdown logic ACPICA: Debugger: Fix "quit/exit" command by cleaning up user commands termination logic ACPICA: Linuxize: Export debugger files to Linux ACPICA: iASL: General cleanup of the file suffix #defines ACPICA: Improve typechecking, both compile-time and runtime ACPICA: Update NFIT table to rename a flags field ACPICA: Debugger: Update mutexes used for multithreaded debugger ACPICA: Update exception code for "file not found" error ACPICA: iASL: Add symbolic operator support for Index() operator ACPICA: Remove unnecessary conditional compilation commit 95fc00a4e15e804356d01c1c53c7da3d99a94f20 Merge: ca04d39 182475b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 14:13:54 2015 -0800 Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull memremap fix from Dan Williams: "The new memremap() api introduced in the 4.3 cycle to unify/replace ioremap_cache() and ioremap_wt() is mishandling the highmem case. This patch has received a build success notification from a 0day-kbuild-robot run and has received an ack from Ard" From the commit message: "The impact of this bug is low for now since the pmem driver is the only user of memremap(), but this is important to fix before more conversions to memremap arrive in 4.4" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: memremap: fix highmem support commit e6dbe1eb2db0d7a14991c06278dd3030c45fb825 Author: Phil Reid <preid@xxxxxxxxxxxxxxxxx> Date: Fri Oct 30 16:43:55 2015 +0800 stmmac: Correctly report PTP capabilities. priv->hwts_*_en indicate if timestamping is enabled/disabled at run time. But priv->dma_cap.time_stamp and priv->dma_cap.atime_stamp indicates HW is support for PTPv1/PTPv2. Signed-off-by: Phil Reid <preid@xxxxxxxxxxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1032a6687168af9509615879d513f77e4049062e Author: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Date: Fri Oct 30 01:24:56 2015 -0700 Use 64-bit timekeeping This patch changes the use of struct timespec in dccp_probe to use struct timespec64 instead. timespec uses a 32-bit seconds field which will overflow in the year 2038 and beyond. timespec64 uses a 64-bit seconds field. Note that the correctness of the code isn't changed, since the original code only uses the timestamps to compute a small elapsed interval. This patch is part of a larger attempt to remove instances of 32-bit timekeeping structures (timespec, timeval, time_t) from the kernel so it is easier to identify where the real 2038 issues are. Signed-off-by: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc2a263bb0604642703cda6cba5ac1ffb1935440 Merge: 5dbebbb c9b3292 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 1 16:57:44 2015 -0500 Merge branch 'ipv4_link_down' Julian Anastasov says: ==================== ipv4: fix problems from the RTNH_F_LINKDOWN introduction Fix two problems from the change that introduced RTNH_F_LINKDOWN flag. The first patch deals with the removal of local route on DOWN event. The second patch makes sure the RTNH_F_LINKDOWN flag is properly updated on UP event because the DOWN event sets it in all cases. v2->v3: - use bool for force var v1->v2: - forgot to add ifconfig dummy0 down in the test case - split to 2 patches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9b3292eeb52c6834e972eb5b8fe38914771ed12 Author: Julian Anastasov <ja@xxxxxx> Date: Fri Oct 30 10:23:34 2015 +0200 ipv4: update RTNH_F_LINKDOWN flag on UP event When nexthop is part of multipath route we should clear the LINKDOWN flag when link goes UP or when first address is added. This is needed because we always set LINKDOWN flag when DEAD flag was set but now on UP the nexthop is not dead anymore. Examples when LINKDOWN bit can be forgotten when no NETDEV_CHANGE is delivered: - link goes down (LINKDOWN is set), then link goes UP and device shows carrier OK but LINKDOWN remains set - last address is deleted (LINKDOWN is set), then address is added and device shows carrier OK but LINKDOWN remains set Steps to reproduce: modprobe dummy ifconfig dummy0 192.168.168.1 up here add a multipath route where one nexthop is for dummy0: ip route add 1.2.3.4 nexthop dummy0 nexthop SOME_OTHER_DEVICE ifconfig dummy0 down ifconfig dummy0 up now ip route shows nexthop that is not dead. Now set the sysctl var: echo 1 > /proc/sys/net/ipv4/conf/dummy0/ignore_routes_with_linkdown now ip route will show a dead nexthop because the forgotten RTNH_F_LINKDOWN is propagated as RTNH_F_DEAD. Fixes: 8a3d03166f19 ("net: track link-status of ipv4 nexthops") Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f823defdd5b106a5e89745ee8b163c71855de1e Author: Julian Anastasov <ja@xxxxxx> Date: Fri Oct 30 10:23:33 2015 +0200 ipv4: fix to not remove local route on link down When fib_netdev_event calls fib_disable_ip on NETDEV_DOWN event we should not delete the local routes if the local address is still present. The confusion comes from the fact that both fib_netdev_event and fib_inetaddr_event use the NETDEV_DOWN constant. Fix it by returning back the variable 'force'. Steps to reproduce: modprobe dummy ifconfig dummy0 192.168.168.1 up ifconfig dummy0 down ip route list table local | grep dummy | grep host local 192.168.168.1 dev dummy0 proto kernel scope host src 192.168.168.1 Fixes: 8a3d03166f19 ("net: track link-status of ipv4 nexthops") Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1cf7d8dda2bd1704ca8552c93d5475af444a986b Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Fri Oct 30 10:50:54 2015 +0800 net: hisilicon: Remove .owner assignment from platform_driver platform_driver doesn't need to set .owner, because platform_driver_register() will set it. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76e398a6271285c1f361d66445a55cdcee5c1b4b Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 12:33:55 2015 -0500 net: dsa: use switchdev obj for VLAN add/del ops Simplify DSA by pushing the switchdev objects for VLAN add and delete operations down to its drivers. Currently only mv88e6xxx is affected. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5dbebbb44a6ad94aab2cd1a46f7676f255403f64 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Oct 29 18:11:35 2015 -0700 net: bcmgenet: Software reset EPHY after power on The EPHY on GENET v1->v3 is extremely finicky, and will show occasional failures based on the timing and reset sequence, ranging from duplicate packets, to extremely high latencies. Perform an additional software reset, and re-configuration to make sure it is in a consistent and working state. Fixes: 6ac3ce8295e6 ("net: bcmgenet: Remove excessive PHY reset") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca04d396a3229d37d8151311ad70d1255a5807bd Merge: f5eab26 2459ee8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 11:45:26 2015 -0800 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Thomas Gleixner: "This set of updates contains: - Another bugfix for the pathologic vm86 machinery. Clear thread.vm86 on fork to prevent corrupting the parent state. This comes along with an update to the vm86 selftest case - Fix another corner case in the ioapic setup code which causes a boot crash on some oddball systems - Fix the fallout from the dma allocation consolidation work, which leads to a NULL pointer dereference when the allocation code is called with a NULL device" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/vm86: Set thread.vm86 to NULL on fork/clone selftests/x86: Add a fork() to entry_from_vm86 to catch fork bugs x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest() x86/dma-mapping: Fix arch_dma_alloc_attrs() oops with NULL dev commit f5eab26701999b1aa26d06772e013b11c4a16f6a Merge: 4bf690d fe326c5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 11:39:03 2015 -0800 Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fixes from Thomas Gleixner: "The last round of minimalistic fixes for clocksource drivers: - Prevent multiple shutdown of the sh_mtu2 clocksource - Annotate a bunch of clocksource/schedclock functions with notrace to prevent an annoying ftrace recursion issue" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: clocksource/drivers/sh_mtu2: Fix multiple shutdown call issue clocksource/drivers/digicolor: Prevent ftrace recursion clocksource/drivers/fsl_ftm_timer: Prevent ftrace recursion clocksource/drivers/vf_pit_timer: Prevent ftrace recursion clocksource/drivers/prima2: Prevent ftrace recursion clocksource/drivers/samsung_pwm_timer: Prevent ftrace recursion clocksource/drivers/pistachio: Prevent ftrace recursion clocksource/drivers/arm_global_timer: Prevent ftrace recursion commit 4bf690d7e09bbac43dfac9af01ba263e08f37e3e Merge: 56ef9db 209da39 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 11:33:04 2015 -0800 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq fixes from Thomas Gleixner: "The last two one-liners for 4.3 from the irqchip space: - Regression fix for armada SoC which addresses the fallout from the set_irq_flags() cleanup - Add the missing propagation of the irq_set_type() callback to the parent interrupt controller of the tegra interrupt chip" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip/tegra: Propagate IRQ type setting to parent irqchip/armada-370-xp: Fix regression by clearing IRQ_NOAUTOEN commit ea3803c193df18d8353d6c8d77034066a08c19f5 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Oct 29 11:57:42 2015 +0000 VSOCK: define VSOCK_SS_LISTEN once only The SS_LISTEN socket state is defined by both af_vsock.c and vmci_transport.c. This is risky since the value could be changed in one file and the other would be out of sync. Rename from SS_LISTEN to VSOCK_SS_LISTEN since the constant is not part of enum socket_state (SS_CONNECTED, ...). This way it is clear that the constant is vsock-specific. The big text reflow in af_vsock.c was necessary to keep to the maximum line length. Text is unchanged except for s/SS_LISTEN/VSOCK_SS_LISTEN/. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b43c142f22236b37aa68faf23ac1bbd75f94c5b5 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Thu Oct 29 09:45:22 2015 +0300 net: smsc911x: Fix crash if loopback test fails On certain hardware in certain situations loopback test fails and the driver gets removed. During mdiobus_unregister() instance of PHY driver gets disposed. But by this time it has already been started using phy_connect_direct(). PHY driver uses DELAYED_WORK in order to maintain its state. Attempting to dispose the driver without calling phy_disconnect() causes deallocation of DELAYED_WORK being active. This shortly causes a bad crash in timer code. The problem can be discovered by enabling CONFIG_DEBUG_OBJECTS_TIMERS and CONFIG_DEBUG_OBJECTS_FREE Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5cbb28a4bf65c7e4daa6c25b651fed8eb888c620 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Oct 28 13:09:53 2015 -0400 tipc: linearize arriving NAME_DISTR and LINK_PROTO buffers Testing of the new UDP bearer has revealed that reception of NAME_DISTRIBUTOR, LINK_PROTOCOL/RESET and LINK_PROTOCOL/ACTIVATE message buffers is not prepared for the case that those may be non-linear. We now linearize all such buffers before they are delivered up to the generic reception layer. In order for the commit to apply cleanly to 'net' and 'stable', we do the change in the function tipc_udp_recv() for now. Later, we will post a commit to 'net-next' moving the linearization to generic code, in tipc_named_rcv() and tipc_link_proto_rcv(). Fixes: commit d0f91938bede ("tipc: add ip/udp media type") Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4444574a41430315a9c3eeb9e37cb0a36444a35 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Oct 28 10:20:30 2015 -0200 fec: Use gpio_set_value_cansleep() We are in a context where we can sleep, and the FEC PHY reset gpio may be on an I2C expander. Use the cansleep() variant when setting the GPIO value. Based on a patch from Russell King for pci-mvebu.c. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24c39de0091197f4c1f1a18a7c31e540000dc3b8 Merge: b75ec3a 405c92f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 1 12:01:37 2015 -0500 Merge branch 'csum_partial_frags' Hannes Frederic Sowa says: ==================== net: clean up interactions of CHECKSUM_PARTIAL and fragmentation This series fixes wrong checksums on the wire for IPv4 and IPv6. Large send buffers and especially NFS lead to wrong checksums in both IPv4 and IPv6. CHECKSUM_PARTIAL skbs should not receive the respective fragmentations functions, so we add WARN_ON_ONCE to those functions to fix up those as soon as they get reported. Changelog: v2: added v4 checks v3: removed WARN_ON_ONCES (advice by Tom Herbert) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 405c92f7a5417274419192ad134d6dc71aedaaa4 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 22:40:42 2015 +0100 ipv6: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment CHECKSUM_PARTIAL skbs should never arrive in ip_fragment. If we get one of those warn about them once and handle them gracefully by recalculating the checksum. Fixes: commit 32dce968dd987 ("ipv6: Allow for partial checksums on non-ufo packets") See-also: commit 72e843bb09d45 ("ipv6: ip6_fragment() should check CHECKSUM_PARTIAL") Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Cc: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 682b1a9d3f9686ee43fd66b48605daff00522157 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 22:40:41 2015 +0100 ipv6: no CHECKSUM_PARTIAL on MSG_MORE corked sockets We cannot reliable calculate packet size on MSG_MORE corked sockets and thus cannot decide if they are going to be fragmented later on, so better not use CHECKSUM_PARTIAL in the first place. The IPv6 code also intended to protect and not use CHECKSUM_PARTIAL in the existence of IPv6 extension headers, but the condition was wrong. Fix it up, too. Also the condition to check whether the packet fits into one fragment was wrong and has been corrected. Fixes: commit 32dce968dd987 ("ipv6: Allow for partial checksums on non-ufo packets") See-also: commit 72e843bb09d45 ("ipv6: ip6_fragment() should check CHECKSUM_PARTIAL") Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Cc: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbd3393c56a8794fe596e7dd20d0efa613b9cf61 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 22:40:40 2015 +0100 ipv4: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment CHECKSUM_PARTIAL skbs should never arrive in ip_fragment. If we get one of those warn about them once and handle them gracefully by recalculating the checksum. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Cc: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d749c9cbffd666956694f307d237e018c464d973 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 22:40:39 2015 +0100 ipv4: no CHECKSUM_PARTIAL on MSG_MORE corked sockets We cannot reliable calculate packet size on MSG_MORE corked sockets and thus cannot decide if they are going to be fragmented later on, so better not use CHECKSUM_PARTIAL in the first place. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Cc: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 030270ba1aa2072d2967c11129c67d9de9aa762b Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 14:32:03 2015 +0100 ALSA: maestro3: Enable docking support for Dell Latitude C810 Enable I2S docking for Dell Latitude C810. This allows the audio output on C/Port II to work (and probably also the audio inputs on C/Dock II). The volume can't be adjusted - none of the mixer controls currently supported affects the I2S output (they belong to the STAC9721/23 AC'97 codec responsible for the laptop internal connectors & speakers). Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2167ceabf34163727ca4e283c0f030e3960932e5 Author: Wan Zongshun <Vincent.Wan@xxxxxxx> Date: Fri Oct 30 13:11:39 2015 +0100 x86/cpu: Add CLZERO detection AMD Fam17h processors introduce support for the CLZERO instruction. It zeroes out the 64 byte cache line specified in RAX. Add the bit here to allow /proc/cpuinfo to list the feature. Boris: we're adding this as a separate ->x86_capability leaf because CPUID_80000008_EBX is going to contain more feature bits and it will fill out with time. Signed-off-by: Wan Zongshun <Vincent.Wan@xxxxxxx> Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> [ Wrap code in patch form, fix comments. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@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/1446207099-24948-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dc34bdd2367fd31744ee3ba1de1b1cc0fa2ce193 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Oct 30 13:11:38 2015 +0100 x86/mce: Add a default case to the switch in __mcheck_cpu_ancient_init() Caught by building with W= which enable -Wswitch-default also. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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/1446207099-24948-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c7f54d21fb02e90042e6233b46716dcb244e70e6 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Fri Oct 30 13:11:37 2015 +0100 x86/mce: Add a Scalable MCA vendor flags bit Scalable MCA (SMCA) is a new feature in AMD Fam17h processors which indicates presence of MCA extensions. MCA extensions expands existing register space for the MCE banks and also introduces a new MSR range to accommodate new banks. Add the detection bit. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> [ Reformat mce_vendor_flags definitions and save indentation levels. Improve comments. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Ashok Raj <ashok.raj@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1446207099-24948-2-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0963670aeaec2287aa263daa0d41384d4dcd5292 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sun Nov 1 10:50:19 2015 +0100 gpio: fix up SPI submenu - Relax dependencies on SPI_MASTER for drivers in the SPI menu that already has this dependency. - Move out the expander that would be hidden for I2C access if SPI_MASTER was not selected. Tentatively create a separate menu for this. - Move the ZX SoC driver to memory-mapped drivers, this must be a mistake and only worked because the system has an SPI master enabled at the same time. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 269a46f80bd9c77b6f862a92ccb52eb8a68d3997 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sun Nov 1 10:43:16 2015 +0100 gpio: drop surplus I2C dependencies The I2C expander menu already depends on I2C, drop subdependecies on individual drivers. Keep the instances of depends on I2C=y though, so these are still restricted to the compiled-in case. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7768feb0f56d4ba6c1ae1395e144e168e41f1900 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sun Nov 1 10:39:07 2015 +0100 gpio: drop surplus X86 dependencies Port-mapped I/O depends on X86 already, so individual drivers need not specify this dependency. Suggested-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 56ef9db24633cf6528d2ce736de0985eb125a3c1 Merge: 060b85b 53dd186 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 21:36:07 2015 -0700 Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "This should be our final batch of fixes for 4.3: - A patch from Sudeep Holla that fixes annotation of wakeup sources properly, old unused format seems to have spread through copying. - Two patches from Tony for OMAP. One dealing with MUSB setup problems due to runtime PM being enabled too early on the parent device. The other fixes IRQ numbering for OMAP1" * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: usb: musb: omap2430: Fix regression caused by driver core change ARM: OMAP1: fix incorrect INT_DMA_LCD ARM: dts: fix gpio-keys wakeup-source property commit 060b85b0d3064032b6810928973f8c7a15ab9c11 Merge: af7eba0 d6a32b9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 21:26:04 2015 -0700 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "This is three essential bug fixes for various SCSI parts. The only affected users are SCSI multi-path via device handler (basically all the enterprise) and mvsas users. The dh bugs are an async entanglement in boot resulting in a serious WARN_ON trip and a use after free on remove leading to a crash with strict memory accounting. The mvsas bug manifests as a null deref oops but only on abort sequences; however, these can commonly occur with SATA attached devices, hence the fix" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi_dh: don't try to load a device handler during async probing scsi_dh: fix use-after-free when removing scsi device mvsas: Fix NULL pointer dereference in mvs_slot_task_free commit af7eba0158e9b4632dcd94c1cd4100689666e14f Merge: d59ebbf d01552a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 21:20:49 2015 -0700 Merge tag 'md/4.3-rc7-fixes' of git://neil.brown.name/md Pull md bug fixes from Neil Brown: "Two more bug fixes for md. One bugfix for a list corruption in raid5 because of incorrect locking. Other for possible data corruption when a recovering device is failed, removed, and re-added. Both tagged for -stable" * tag 'md/4.3-rc7-fixes' of git://neil.brown.name/md: Revert "md: allow a partially recovered device to be hot-added to an array." md/raid5: fix locking in handle_stripe_clean_event() commit b75ec3af27bf011a760e2f44eb25a99b6fbb0fb3 Merge: e7b63ff 523e134 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 1 00:15:30 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit ca9e7a1c85594f61d7ffb414071e6cae82eae23a Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Oct 1 21:40:10 2015 -0500 Allow duplicate extents in SMB3 not just SMB3.1.1 Enable duplicate extents (cp --reflink) ioctl for SMB3.0 not just SMB3.1.1 since have verified that this works to Windows 2016 (REFS) and additional testing done at recent plugfest with SMB3.0 not just SMB3.1.1 This will also make it easier for Samba. Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Reviewed-by: David Disseldorp <ddiss@xxxxxxx> commit 339421def582abb14c2217aa8c8f28bb2e299174 Author: Song Liu <songliubraving@xxxxxx> Date: Thu Oct 8 21:54:13 2015 -0700 MD: when RAID journal is missing/faulty, block RESTART_ARRAY_RW When RAID-4/5/6 array suffers from missing journal device, we put the array in read only state. We should not allow trasition to read-write states (clean and active) before replacing journal device. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit f2076e7d0643d15b11db979acc7cffd2e8d69e77 Author: Shaohua Li <shli@xxxxxx> Date: Thu Oct 8 21:54:12 2015 -0700 MD: set journal disk ->raid_disk Set journal disk ->raid_disk to >=0, I choose raid_disks + 1 instead of 0, because we already have a disk with ->raid_disk 0 and this causes sysfs entry creation conflict. A lot of places assumes disk with ->raid_disk >=0 is normal raid disk, so we add check for journal disk. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit a3dfbdaadba2612faf11f025b8156c36e3700247 Author: Song Liu <songliubraving@xxxxxx> Date: Thu Oct 8 21:54:11 2015 -0700 MD: kick out journal disk if it's not fresh When journal disk is faulty and we are reassemabling the raid array, the journal disk is old. We don't allow the journal disk added to the raid array. Since journal disk is missing in the array, the raid5 will mark the array readonly. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 7dde2ad3c5b4afb4b2544b864fa34dd1f4897ab6 Author: Shaohua Li <shli@xxxxxx> Date: Thu Oct 8 21:54:10 2015 -0700 raid5-cache: start raid5 readonly if journal is missing If raid array is expected to have journal (eg, journal is set in MD superblock feature map) and the array is started without journal disk, start the array readonly. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit a97b7896447a89749d9258fbb9d8c3faf48a7a4e Author: Song Liu <songliubraving@xxxxxx> Date: Thu Oct 8 21:54:09 2015 -0700 MD: add new bit to indicate raid array with journal If a raid array has journal feature bit set, add a new bit to indicate this. If the array is started without journal disk existing, we know there is something wrong. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6e74a9cfb5a55b0a4214809321b67d7065e55555 Author: Shaohua Li <shli@xxxxxx> Date: Thu Oct 8 21:54:08 2015 -0700 raid5-cache: IO error handling There are 3 places the raid5-cache dispatches IO. The discard IO error doesn't matter, so we ignore it. The superblock write IO error can be handled in MD core. The remaining are log write and flush. When the IO error happens, we mark log disk faulty and fail all write IO. Read IO is still allowed to run. Userspace will get a notification too and corresponding daemon can choose setting raid array readonly for example. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c2bb6242ece5a2a0b6bd415c1d58babe83e971a8 Author: Shaohua Li <shli@xxxxxx> Date: Thu Oct 8 21:54:07 2015 -0700 raid5: journal disk can't be removed raid5-cache uses journal disk rdev->bdev, rdev->mddev in several places. Don't allow journal disk disappear magically. On the other hand, we do need to update superblock for other disks to bump up ->events, so next time journal disk will be identified as stale. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 4b482044d24f3db2e11607d0a18f64b3a326972d Author: Shaohua Li <shli@xxxxxx> Date: Thu Oct 8 21:54:06 2015 -0700 raid5-cache: add trim support for log Since superblock is updated infrequently, we do a simple trim of log disk (a synchronous trim) Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 9efdca16e0182eca489a519f576019fd9c0c1b25 Author: Shaohua Li <shli@xxxxxx> Date: Mon Oct 12 16:59:50 2015 -0700 MD: fix info output for journal disk journal disk can be faulty. The Journal and Faulty aren't exclusive with each other. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6143e2cecb9ef9c7d3392c9c2583f231705413a5 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:16 2015 +0200 raid5-cache: use bio chaining Simplify the bio completion handler by using bio chaining and submitting bios as soon as they are full. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 2b8ef16ec4c529c7df3bb4e4eba45ac645a97b00 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:15 2015 +0200 raid5-cache: small log->seq cleanup Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c1b9919849866b96dc435f025beaa307dc76ca27 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:14 2015 +0200 raid5-cache: new helper: r5_reserve_log_entry Factor out code to reserve log space. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 51039cd066553689bb82a588b25a6eba7d453837 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:13 2015 +0200 raid5-cache: inline r5l_alloc_io_unit into r5l_new_meta This is the only user, and keeping all code initializing the io_unit structure together improves readbility. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 1e932a37ccb9ad1984823dead4b48902fc5789f4 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:12 2015 +0200 raid5-cache: take rdev->data_offset into account early on Set up bi_sector properly when we allocate an bio instead of updating it at submission time. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b349feb36cc2b7ed41a5222a0b681153f3525369 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:11 2015 +0200 raid5-cache: refactor bio allocation Split out a helper to allocate a bio for log writes. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 22581f58ed3f0c9eb066d67b696b66f951df5c2b Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:10 2015 +0200 raid5-cache: clean up r5l_get_meta Remove the only partially used local 'io' variable to simplify the code flow. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 56fef7c6e02493dce316de99a11e9e26b852218b Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:09 2015 +0200 raid5-cache: simplify state machine when caches flushes are not needed For devices without a volatile write cache we don't need to send a FLUSH command to ensure writes are stable on disk, and thus can avoid the whole step of batching up bios for processing by the MD thread. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit d8858f4321b744ff02e286165b643e8dc0ef1cf5 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:08 2015 +0200 raid5-cache: factor out a helper to run all stripes for an I/O unit Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 04732f741dce5e21b3ca90677a237635f1e98184 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:07 2015 +0200 raid5-cache: rename flushed_ios to finished_ios After this series we won't nessecarily have flushed the cache for these I/Os, so give the list a more neutral name. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 170364619ac21c2b14869571eeaf767ae825f96c Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:06 2015 +0200 raid5-cache: free I/O units earlier There is no good reason to keep the I/O unit structures around after the stripe has been written back to the RAID array. The only information we need is the log sequence number, and the checkpoint offset of the highest successfull writeback. Store those in the log structure, and free the IO units from __r5l_stripe_write_finished. Besides simplifying the code this also avoid having to keep the allocation for the I/O unit around for a potentially long time as superblock updates that checkpoint the log do not happen very often. This also fixes the previously incorrect calculation of 'free' in r5l_do_reclaim as a side effect: previous if took the last unit which isn't checkpointed into account. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit e6c033f79a0a1e9ca850575dcfa51bb583b592fa Author: Shaohua Li <shli@xxxxxx> Date: Sun Oct 4 09:20:12 2015 -0700 raid5-cache: move reclaim stop to quiesce Move reclaim stop to quiesce handling, where is safer for this stuff. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit ac6096e9d5cb88a31f3af2d140df7d680b42745e Author: Shaohua Li <shli@xxxxxx> Date: Sun Oct 4 09:20:11 2015 -0700 md: show journal for journal disk in disk state sysfs Journal disk state sysfs entry should indicate it's journal Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 0b020e85bdd5765aac2440848e7a927069f5f83c Author: Song Liu <songliubraving@xxxxxx> Date: Thu Sep 3 23:00:35 2015 -0700 skip match_mddev_units check for special roles match_mddev_units is used to check whether 2 RAID arrays share same disk(s). Arrays that share disk(s) will not do resync at the same time for better performance (fewer HDD seek). However, this check should not apply to Spare, Faulty, and Journal disks, as they do not paticipate in resync. In this patch, match_mddev_units skips check for disks with flag "Faulty" or "Journal" or raid_disk < 0. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 253f9fd41afe2492b85de779946b5882a00dcdc5 Author: Shaohua Li <shli@xxxxxx> Date: Fri Sep 4 14:14:16 2015 -0700 raid5-cache: don't delay stripe captured in log There is a case a stripe gets delayed forever. 1. a stripe finishes construction 2. a new bio hits the stripe 3. handle_stripe runs for the stripe. The stripe gets DELAYED bit set since construction can't run for new bio (the stripe is locked since step 1) Without log, handle_stripe will call ops_run_io. After IO finishes, the stripe gets unlocked and the stripe will restart and run construction for the new bio. With log, ops_run_io need to run two times. If the DELAYED bit set, the stripe can't enter into the handle_list, so the second ops_run_io doesn't run, which leaves the stripe stalled. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 85f2f9a4f49d3e3230b3c5fb08362d561691421e Author: Shaohua Li <shli@xxxxxx> Date: Fri Sep 4 14:14:05 2015 -0700 raid5-cache: check stripe finish out of order stripes could finish out of order. Hence r5l_move_io_unit_list() of __r5l_stripe_write_finished might not move any entry and leave stripe_end_ios list empty. This applies on top of http://marc.info/?l=linux-raid&m=144122700510667 Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit bd18f6462f3d167a9b3ec27851c98f82694b2adf Author: Shaohua Li <shli@xxxxxx> Date: Wed Sep 2 13:49:50 2015 -0700 md: skip resync for raid array with journal If a raid array has journal, the journal can guarantee the consistency, we can skip resync after a unclean shutdown. The exception is raid creation or user initiated resync, which we still do a raid resync. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 828cbe989e4f5c8666cb3d99918b03666ccde0a0 Author: Shaohua Li <shli@xxxxxx> Date: Wed Sep 2 13:49:49 2015 -0700 raid5-cache: optimize FLUSH IO with log enabled With log enabled, bio is written to raid disks after the bio is settled down in log disk. The recovery guarantees we can recovery the bio data from log disk, so we we skip FLUSH IO. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 509ffec7089d10521ac91d4537b789d76103b4c0 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 2 13:49:48 2015 -0700 raid5-cache: move functionality out of __r5l_set_io_unit_state Just keep __r5l_set_io_unit_state as a small set the state wrapper, and remove r5l_set_io_unit_state entirely after moving the real functionality to the two callers that need it. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 0fd22b45b2d2e1de162d6a47327d449e0ed45ad2 Author: Shaohua Li <shli@xxxxxx> Date: Wed Sep 2 13:49:47 2015 -0700 raid5-cache: fix a user-after-free bug r5l_compress_stripe_end_list() can free an io_unit. This breaks the assumption only reclaimer can free io_unit. We can add a reference count based io_unit free, but since only reclaim can wait io_unit becoming to STRIPE_END state, we use a simple global wait queue here. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit a8c34f915976e3de044cc31b8bcb46f816f5a52e Author: Shaohua Li <shli@xxxxxx> Date: Wed Sep 2 13:49:46 2015 -0700 raid5-cache: switching to state machine for log disk cache flush Before we write stripe data to raid disks, we must guarantee stripe data is settled down in log disk. To do this, we flush log disk cache and wait the flush finish. That wait introduces sleep time in raid5d thread and impact performance. This patch moves the log disk cache flush process to the stripe handling state machine, which can remove the wait in raid5d. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 5c7e81c3de9eb3db01e16190a1da0899efee645b Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:32:04 2015 -0700 raid5: enable log for raid array with cache disk Now log is safe to enable for raid array with cache disk Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 713cf5a63954bdc1cd4bed0a81e98cbd8fc5928c Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:32:03 2015 -0700 raid5: don't allow resize/reshape with cache(log) support If cache(log) support is enabled, don't allow resize/reshape in current stage. In the future, we can flush all data from cache(log) to raid before resize/reshape and then allow resize/reshape. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 9c3e333d3f8b01407c8e9f78958e28a8594a0827 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:32:02 2015 -0700 raid5: disable batch with log enabled With log enabled, r5l_write_stripe will add the stripe to log. With batch, several stripes are linked together. The stripes must be in the same state. While with log, the log/reclaim unit is stripe, we can't guarantee the several stripes are in the same state. Disabling batch for log now. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 5cb2fbd6ea0d151dcb12d98c06c8761eedfed2ee Author: Shaohua Li <shli@xxxxxx> Date: Wed Oct 28 08:41:25 2015 -0700 raid5-cache: use crc32c checksum crc32c has lower overhead with cpu acceleration. It's a shame I didn't use it in first post, sorry. This changes disk format, but we are still ok in current stage. V2: delete unnecessary type conversion as pointed out by Bart Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> commit d59ebbf19b29f4964b24f38c3ad876c33cdd7368 Merge: 523e134 8731b26 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 16:16:51 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Two drm atomic core fixes. And two radeon patches needed to fix a backlight regression on some older hardware" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm: Correct arguments to list_tail_add in create blob ioctl drm: crtc: integer overflow in drm_property_create_blob() drm/radeon: fix dpms when driver backlight control is disabled drm/radeon: move bl encoder assignment into bl init commit fc90888d07b8e17eec49c04bdb26344fdea96c3b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 16:06:40 2015 -0700 vfs: conditionally clear close-on-exec flag We clear the close-on-exec flag when opening and closing files, and the bit was almost always already clear before. Avoid dirtying the cacheline if the clearning isn't necessary. That avoids unnecessary cacheline dirtying and bouncing in multi-socket environments. Eric Dumazet has a file descriptor benchmark that goes 4% faster from this on his two-socket machine. It's probably partly superlinear improvement due to getting slightly less spinlock contention on the file_lock spinlock due to less work in the critical section. Tested-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f3f86e33dc3da437fa4f204588ce7c78ea756982 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 16:53:57 2015 -0700 vfs: Fix pathological performance case for __alloc_fd() Al Viro points out that: > > * [Linux-specific aside] our __alloc_fd() can degrade quite badly > > with some use patterns. The cacheline pingpong in the bitmap is probably > > inevitable, unless we accept considerably heavier memory footprint, > > but we also have a case when alloc_fd() takes O(n) and it's _not_ hard > > to trigger - close(3);open(...); will have the next open() after that > > scanning the entire in-use bitmap. And Eric Dumazet has a somewhat realistic multithreaded microbenchmark that opens and closes a lot of sockets with minimal work per socket. This patch largely fixes it. We keep a 2nd-level bitmap of the open file bitmaps, showing which words are already full. So then we can traverse that second-level bitmap to efficiently skip already allocated file descriptors. On his benchmark, this improves performance by up to an order of magnitude, by avoiding the excessive open file bitmap scanning. Tested-and-acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aad9ae4550755edc020b5c511a8b54f0104b2f47 Author: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Date: Thu Oct 29 03:54:21 2015 +0900 dm switch: simplify conditional in alloc_region_table() The variable sctx->nr_regions has type unsigned long and the variable nr_regions has type sector_t. Thus the variables may be different when overflow happens. Changed the conditional to "if (nr_regions >= ULONG_MAX)". Also move the assignment of nr_regions after sector_div() and the sanity check which looks more sane. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Reviewed-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit f49e869a61829b8ac6eb069b3824f738cd0146e6 Author: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Date: Wed Oct 28 04:38:56 2015 +0900 dm delay: document that offsets are specified in sectors Only delay params are mentioned in delay.txt. Mention offsets just like documents for linear and flakey do. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e213f33e4d3a00e9916a58e0fff367a7c60e3c9c Author: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Date: Wed Oct 28 04:38:57 2015 +0900 dm delay: capitalize the start of an delay_ctr() error message All other error messages start capitalized. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 340c9ec09b21c29e1e53284acc8993ddf6fc5b2a Author: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Date: Wed Oct 28 04:38:55 2015 +0900 dm delay: Use DM_MAPIO macros instead of open-coded equivalents .map function of dm-delay returns return value of delay_bio(), hence it's supposed to return using a defined DM_MAPIO macro. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Acked-By: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 00272c854ee17b804ce81ef706f611dac17f4f89 Author: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Date: Wed Oct 28 04:38:58 2015 +0900 dm linear: remove redundant target name from error messages Commit 72d94861 back in 2006 should have consistently removed "dm-linear: " from all error messages. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 4c7da06f5a780bbf44ebd7547789e48536d0a823 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Thu Oct 22 16:46:59 2015 -0400 dm persistent data: eliminate unnecessary return values dm_bm_unlock and dm_tm_unlock return an integer value but the returned value is always 0. The calling code sometimes checks the return value and sometimes doesn't. Eliminate these unnecessary return values and also the checks for them. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit dbba42d8a9ebddcc1c1412e8457f79f3cb6ef6e7 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Wed Oct 21 16:34:20 2015 -0400 dm: eliminate unused "bioset" process for each bio-based DM device Commit 54efd50bfd873e2dbf784e0b21a8027ba4299a3e ("block: make generic_make_request handle arbitrarily sized bios") makes it possible for block devices to process large bios. In doing so that commit allocates a new queue->bio_split bioset for each block device, this bioset is used for allocating bios when the driver needs to split large bios. Each bioset allocates a workqueue process, thus the above commit increases the number of processes allocated per block device. DM doesn't need the queue->bio_split bioset, thus we can deallocate it. This reduces the number of allocated processes per bio-based DM device from 3 to 2. Also remove the call to blk_queue_split(), it is not needed because DM does its own splitting. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit a3d939ae7b5f82688a6d3450f95286eaea338328 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Fri Oct 2 11:21:24 2015 -0400 dm: convert ffs to __ffs ffs counts bit starting with 1 (for the least significant bit), __ffs counts bits starting with 0. This patch changes various occurrences of ffs to __ffs and removes subtraction of 1 from the result. Note that __ffs (unlike ffs) is not defined when called with zero argument, but it is not called with zero argument in any of these cases. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 6f65985e2636c0b170eade6a72d216632f065e26 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:05 2015 +0200 dm: drop NULL test before kmem_cache_destroy() and mempool_destroy() Remove DM's unneeded NULL tests before calling these destroy functions, now that they check for NULL, thanks to these v4.3 commits: 3942d2991 ("mm/slab_common: allow NULL cache pointer in kmem_cache_destroy()") 4e3ca3e03 ("mm/mempool: allow NULL `pool' pointer in mempool_destroy()") The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 71cdb6978a80f9f6c51bef0622388c1414c2fe32 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 15 14:10:51 2015 +0200 dm: add support for passing through persistent reservations This adds support to pass through persistent reservation requests similar to the existing ioctl handling, and with the same limitations, e.g. devices may only have a single target attached. This is mostly intended for multipathing. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e56f81e0b01ef4e45292d8c1e19edd4d09724e14 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 15 14:10:50 2015 +0200 dm: refactor ioctl handling This moves the call to blkdev_ioctl and the argument checking to DM core code, and only leaves a callout to find the block device to operate on in the targets. This simplifies the code and allows us to pass through ioctl-like command using other methods in the next patch. Also split out a helper around calling the prepare_ioctl method that will be reused for persistent reservation handling. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 47796938c46b943d157ac8a6f9ed4e3b98b83cf4 Author: Mauricio Faria de Oliveira <mauricfo@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 29 10:24:23 2015 -0200 Revert "dm mpath: fix stalls when handling invalid ioctls" This reverts commit a1989b330093578ea5470bea0a00f940c444c466. That commit introduced a regression at least for the case of the SG_IO ioctl() running without CAP_SYS_RAWIO capability (e.g., unprivileged users) when there are no active paths: the ioctl() fails with the ENOTTY errno immediately rather than blocking due to queue_if_no_path until a path becomes active, for example. That case happens to be exercised by QEMU KVM guests with 'scsi-block' devices (qemu "-device scsi-block" [1], libvirt "<disk type='block' device='lun'>" [2]) from multipath devices; which leads to SCSI/filesystem errors in such a guest. More general scenarios can hit that regression too. The following demonstration employs a SG_IO ioctl() with a standard SCSI INQUIRY command for this objective (some output & user changes omitted for brevity and comments added for clarity). Reverting that commit restores normal operation (queueing) in failing scenarios; tested on linux-next (next-20151022). 1) Test-case is based on sg_simple0 [3] (just SG_IO; remove SG_GET_VERSION_NUM) $ cat sg_simple0.c ... see [3] ... $ sed '/SG_GET_VERSION_NUM/,/}/d' sg_simple0.c > sgio_inquiry.c $ gcc sgio_inquiry.c -o sgio_inquiry 2) The ioctl() works fine with active paths present. # multipath -l 85ag56 85ag56 (...) dm-19 IBM ,2145 size=60G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=0 status=active | |- 8:0:11:0 sdz 65:144 active undef running | `- 9:0:9:0 sdbf 67:144 active undef running `-+- policy='service-time 0' prio=0 status=enabled |- 8:0:12:0 sdae 65:224 active undef running `- 9:0:12:0 sdbo 68:32 active undef running $ ./sgio_inquiry /dev/mapper/85ag56 Some of the INQUIRY command's response: IBM 2145 0000 INQUIRY duration=0 millisecs, resid=0 3) The ioctl() fails with ENOTTY errno with _no_ active paths present, for unprivileged users (rather than blocking due to queue_if_no_path). # for path in $(multipath -l 85ag56 | grep -o 'sd[a-z]\+'); \ do multipathd -k"fail path $path"; done # multipath -l 85ag56 85ag56 (...) dm-19 IBM ,2145 size=60G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=0 status=enabled | |- 8:0:11:0 sdz 65:144 failed undef running | `- 9:0:9:0 sdbf 67:144 failed undef running `-+- policy='service-time 0' prio=0 status=enabled |- 8:0:12:0 sdae 65:224 failed undef running `- 9:0:12:0 sdbo 68:32 failed undef running $ ./sgio_inquiry /dev/mapper/85ag56 sg_simple0: Inquiry SG_IO ioctl error: Inappropriate ioctl for device 4) dmesg shows that scsi_verify_blk_ioctl() failed for SG_IO (0x2285); it returns -ENOIOCTLCMD, later replaced with -ENOTTY in vfs_ioctl(). $ dmesg <...> [] device-mapper: multipath: Failing path 65:144. [] device-mapper: multipath: Failing path 67:144. [] device-mapper: multipath: Failing path 65:224. [] device-mapper: multipath: Failing path 68:32. [] sgio_inquiry: sending ioctl 2285 to a partition! 5) The ioctl() only works if the SYS_CAP_RAWIO capability is present (then queueing happens -- in this example, queue_if_no_path is set); this is due to a conditional check in scsi_verify_blk_ioctl(). # capsh --drop=cap_sys_rawio -- -c './sgio_inquiry /dev/mapper/85ag56' sg_simple0: Inquiry SG_IO ioctl error: Inappropriate ioctl for device # ./sgio_inquiry /dev/mapper/85ag56 & [1] 72830 # cat /proc/72830/stack [<c00000171c0df700>] 0xc00000171c0df700 [<c000000000015934>] __switch_to+0x204/0x350 [<c000000000152d4c>] msleep+0x5c/0x80 [<c00000000077dfb0>] dm_blk_ioctl+0x70/0x170 [<c000000000487c40>] blkdev_ioctl+0x2b0/0x9b0 [<c0000000003128e4>] block_ioctl+0x64/0xd0 [<c0000000002dd3b0>] do_vfs_ioctl+0x490/0x780 [<c0000000002dd774>] SyS_ioctl+0xd4/0xf0 [<c000000000009358>] system_call+0x38/0xd0 6) This is the function call chain exercised in this analysis: SYSCALL_DEFINE3(ioctl, <...>) @ fs/ioctl.c -> do_vfs_ioctl() -> vfs_ioctl() ... error = filp->f_op->unlocked_ioctl(filp, cmd, arg); ... -> dm_blk_ioctl() @ drivers/md/dm.c -> multipath_ioctl() @ drivers/md/dm-mpath.c ... (bdev = NULL, due to no active paths) ... if (!bdev || <...>) { int err = scsi_verify_blk_ioctl(NULL, cmd); if (err) r = err; } ... -> scsi_verify_blk_ioctl() @ block/scsi_ioctl.c ... if (bd && bd == bd->bd_contains) // not taken (bd = NULL) return 0; ... if (capable(CAP_SYS_RAWIO)) // not taken (unprivileged user) return 0; ... printk_ratelimited(KERN_WARNING "%s: sending ioctl %x to a partition!\n" <...>); return -ENOIOCTLCMD; <- ... return r ? : <...> <- ... if (error == -ENOIOCTLCMD) error = -ENOTTY; out: return error; ... Links: [1] http://git.qemu.org/?p=qemu.git;a=commit;h=336a6915bc7089fb20fea4ba99972ad9a97c5f52 [2] https://libvirt.org/formatdomain.html#elementsDisks (see 'disk' -> 'device') [3] http://tldp.org/HOWTO/SCSI-Generic-HOWTO/pexample.html (Revision 1.2, 2002-05-03) Signed-off-by: Mauricio Faria de Oliveira <mauricfo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3b5ea47dbff0c934b7b979bcc772427a2404ed3d Author: Huang Rui <ray.huang@xxxxxxx> Date: Fri Oct 30 17:56:57 2015 +0800 hwmon: (fam15h_power) Add max compute unit accumulated power This patch adds a member in fam15h_power_data which specifies the maximum accumulated power in a compute unit. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 46f29c2b494600cd326b84f87f5765e80fffface Author: Huang Rui <ray.huang@xxxxxxx> Date: Fri Oct 30 17:56:56 2015 +0800 hwmon: (fam15h_power) Enable power1_input on AMD Carrizo This patch enables power1_input attribute for Carrizo platform. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 7deb14b1316def5d4c85f99718d9e530d53cef4e Author: Huang Rui <ray.huang@xxxxxxx> Date: Fri Oct 30 17:56:55 2015 +0800 hwmon: (fam15h_power) Refactor attributes for dynamically added Attributes depend on the CPU model the driver gets loaded on. Therefore, add those attributes dynamically at init time. This is more flexible to control the different attributes on different platforms. Suggested-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 523e13455ec9ec4457a5a1d24ff7132949742b70 Merge: 4bb0fb5 bae818e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 15:19:36 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph fix from Sage Weil: "This sets the stable pages flag on the RBD block device when we have CRCs enabled. (This is necessary since the default assumption for block devices changed in 3.9)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: rbd: require stable pages if message data CRCs are enabled commit 4bb0fb57f3bbe2ed7d4aad75a3c60a051afbd1db Merge: c94eee8 5ffdbe8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 14:49:19 2015 -0700 Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs Pull overlayfs bug fixes from Miklos Szeredi: "This contains fixes for bugs that appeared in earlier kernels (all are marked for -stable)" * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs: ovl: free lower_mnt array in ovl_put_super ovl: free stack of paths in ovl_fill_super ovl: fix open in stacked overlay ovl: fix dentry reference leak ovl: use O_LARGEFILE in ovl_copy_up() commit d99c8053fc2473115f506782822cb7c33c687513 Author: Laurent Meunier <laurent.meunier@xxxxxx> Date: Fri Oct 30 15:15:51 2015 +0100 pinctrl: pinconf: remove needless loop This removes a needless loop which was caught in pinconf.c. Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Laurent Meunier <laurent.meunier@xxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 241297c2af8bf0459a590c143a1d15b93779fab1 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 30 19:28:15 2015 +0900 pinctrl: uniphier: guard uniphier directory with CONFIG_PINCTRL_UNIPHIER CONFIG_PINCTRL_UNIPHIER is more suitable than CONFIG_ARCH_UNIPHIER to guard the drivers/pinctrl/uniphier directory. The current CONFIG_PINCTRL_UNIPHIER_CORE is a bit long (it would break the indentation in drivers/pinctrl/Makefile), so rename it into CONFIG_PINCTRL_UNIPHIER. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a7c6f30c02326a5acccc602b0d0f08a9853eec3f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 30 15:04:37 2015 +0100 pinctrl: zynq: fix UTF-8 errors Fix up Sören's name in the Zynq driver. I caused this. I fix it. Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit aacaffd1d9a6f8e2c7369d83c21d41c3b53e2edc Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 30 11:58:28 2015 +0100 gpio: dt-bindings: document the official use of "ngpios" There are a bunch of drivers that utilize the "ngpios" DT property without any vendor prefix. Try to start cleaning up the mess by defining what we mean by this property. Cc: devicetree@xxxxxxxxxxxxxxx Cc: Pramod Kumar <pramodku@xxxxxxxxxxxx> Cc: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit aad7a2119965a4a504ddf1d8374968135e9a8780 Author: Alban Bedel <albeu@xxxxxxx> Date: Fri Oct 30 11:36:29 2015 +0100 gpio: MAINTAINERS: Add an entry for the ATH79 GPIO driver Add an entry for the ATH79 GPIO driver with myself as maintainer. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c103a10f690cc49054c52f493eeeff143d5f59e7 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Fri Oct 30 12:02:05 2015 +0200 gpio / ACPI: Allow shared GPIO event to be read via operation region In Microsoft Surface3 the GPIO detecting lid state is shared between GPIO event and operation region. Below is simplied version of the DSDT from Surface3 including relevant parts: Scope (GPO0) { Name (_AEI, ResourceTemplate () { GpioInt (Edge, ActiveBoth, Shared, PullNone, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x004C } }) OperationRegion (GPOR, GeneralPurposeIo, Zero, One) Field (GPOR, ByteAcc, NoLock, Preserve) { Connection ( GpioIo (Shared, PullNone, 0x0000, 0x0000, IoRestrictionNone, "\\_SB.GPO0", 0x00, ResourceConsumer,,) { // Pin list 0x004C } ), HELD, 1 } Method (_E4C, 0, Serialized) // _Exx: Edge-Triggered GPE { If ((HELD == One)) { ^^LID.LIDB = One } Else { ^^LID.LIDB = Zero Notify (LID, 0x80) // Status Change } Notify (^^PCI0.SPI1.NTRG, One) // Device Check } } When GPIO 0x4c changes we call ASL method _E4C which tries to read HELD field (the same GPIO). This triggers following error on the console: ACPI Error: Method parse/execution failed [\_SB.GPO0._E4C] (Node ffff88013f4b4438), AE_ERROR (20150930/psparse-542) The error happens because ACPI GPIO operation region handler (acpi_gpio_adr_space_handler()) tries to acquire the very same GPIO which returns an error (-EBUSY) because the GPIO is already reserved for the GPIO event. Fix this so that we "borrow" the event GPIO if we find the GPIO belongs to an event. Allow this only for GPIOs that are read. To be able to go through acpi_gpio->events list for operation region access we need to make sure the list is properly initialized whenever GPIO chip is registered. Link: https://bugzilla.kernel.org/show_bug.cgi?id=106571 Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bc6a73bbfba5d8325b0e659545ce2f3ad983829b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 30 10:32:19 2015 +0100 gpio: group port-mapped I/O drivers in a menu Create a Kconfig submenu for drivers using X86 port-mapped I/O and depend on X86 for this. Suggested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> Cc: Andreas Bofjall <andreas@xxxxxxxxxx> Cc: Diego Elio Pettenò <flameeyes@xxxxxxxxxxxx> Cc: Daniel Krueger <daniel.krueger@xxxxxxxxxxxxxxxxxxxxx> Cc: Bruno Randolf <br1@xxxxxxxxxxx> Cc: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c94eee8a3befe480a1193f2633f16988108393bc Merge: 38dab9a 89bc784 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 11:52:20 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix two regressions in ipv6 route lookups, particularly wrt output interface specifications in the lookup key. From David Ahern. 2) Fix checks in ipv6 IPSEC tunnel pre-encap fragmentation, from Herbert Xu. 3) Fix mis-advertisement of 1000BASE-T on bcm63xx_enet, from Simon Arlott. 4) Some smsc phys misbehave with energy detect mode enabled, so add a DT property and disable it on such switches. From Heiko Schocher. 5) Fix TSO corruption on TX in mv643xx_eth, from Philipp Kirchhofer. 6) Fix regression added by removal of openvswitch vport stats, from James Morse. 7) Vendor Kconfig options should be bool, not tristate, from Andreas Schwab. 8) Use non-_BH() net stats bump in tcp_xmit_probe_skb(), otherwise we barf during TCP REPAIR operations. 9) Fix various bugs in openvswitch conntrack support, from Joe Stringer. 10) Fix NETLINK_LIST_MEMBERSHIPS locking, from David Herrmann. 11) Don't have VSOCK do sock_put() in interrupt context, from Jorgen Hansen. 12) Fix skb_realloc_headroom() failures properly in ISDN, from Karsten Keil. 13) Add some device IDs to qmi_wwan, from Bjorn Mork. 14) Fix ovs egress tunnel information when using lwtunnel devices, from Pravin B Shelar. 15) Add missing NETIF_F_FRAGLIST to macvtab feature list, from Jason Wang. 16) Fix incorrect handling of throw routes when the result of the throw cannot find a match, from Xin Long. 17) Protect ipv6 MTU calculations from wrap-around, from Hannes Frederic Sowa. 18) Fix failed autonegotiation on KSZ9031 micrel PHYs, from Nathan Sullivan. 19) Add missing memory barries in descriptor accesses or xgbe driver, from Thomas Lendacky. 20) Fix release conditon test in pppoe_release(), from Guillaume Nault. 21) Fix gianfar bugs wrt filter configuration, from Claudiu Manoil. 22) Fix violations of RX buffer alignment in sh_eth driver, from Sergei Shtylyov. 23) Fixing missing of_node_put() calls in various places around the networking, from Julia Lawall. 24) Fix incorrect leaf now walking in ipv4 routing tree, from Alexander Duyck. 25) RDS doesn't check pskb_pull()/pskb_trim() return values, from Sowmini Varadhan. 26) Fix VLAN configuration in mlx4 driver, from Jack Morgenstein. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (79 commits) ipv6: protect mtu calculation of wrap-around and infinite loop by rounding issues Revert "Merge branch 'ipv6-overflow-arith'" net/mlx4: Copy/set only sizeof struct mlx4_eqe bytes net/mlx4_en: Explicitly set no vlan tags in WQE ctrl segment when no vlan is present vhost: fix performance on LE hosts bpf: sample: define aarch64 specific registers amd-xgbe: Fix race between access of desc and desc index RDS-TCP: Recover correctly from pskb_pull()/pksb_trim() failure in rds_tcp_data_recv forcedeth: fix unilateral interrupt disabling in netpoll path openvswitch: Fix skb leak using IPv6 defrag ipv6: Export nf_ct_frag6_consume_orig() openvswitch: Fix double-free on ip_defrag() errors fib_trie: leaf_walk_rcu should not compute key if key is less than pn->key net: mv643xx_eth: add missing of_node_put ath6kl: add missing of_node_put net: phy: mdio: add missing of_node_put netdev/phy: add missing of_node_put net: netcp: add missing of_node_put net: thunderx: add missing of_node_put ipv6: gre: support SIT encapsulation ... commit bf5f18d708802737fa0db6306f6b9148f85b2efd Author: Aniroop Mathur <a.mathur@xxxxxxxxxxx> Date: Fri Oct 30 04:15:37 2015 -0700 Input: evdev - fix bug in checking duplicate clock change request clk_type and clkid stores different predefined clock identification values so they cannot be compared for checking duplicate clock change request. Therefore, lets fix it to avoid unexpected results. Signed-off-by: Aniroop Mathur <a.mathur@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5aa4e83dd54a3b33d0f2fbab0a1f06a3614a5949 Author: Marc Titinger <mtitinger@xxxxxxxxxxxx> Date: Thu Oct 29 10:07:17 2015 +0100 hwmon: (ina2xx) remove no longer used variable 'kind' Signed-off-by: Marc Titinger <mtitinger@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2459ee8651dc5ab72790c2ffa99af288c7641b64 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Oct 30 22:42:46 2015 -0700 x86/vm86: Set thread.vm86 to NULL on fork/clone thread.vm86 points to per-task information -- the pointer should not be copied on clone. Fixes: d4ce0f26c790 ("x86/vm86: Move fields from 'struct kernel_vm86_struct' to 'struct vm86'") Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Stas Sergeev <stsp@xxxxxxx> Link: http://lkml.kernel.org/r/71c5d6985d70ec8197c8d72f003823c81b7dcf99.1446270067.git.luto@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 226f1f729ce277720fab60c91dd1b12574cfe66c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Oct 30 22:42:45 2015 -0700 selftests/x86: Add a fork() to entry_from_vm86 to catch fork bugs Mere possession of vm86 state is strange. Make sure that nothing gets corrupted if we fork after calling vm86(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Stas Sergeev <stsp@xxxxxxx> Link: http://lkml.kernel.org/r/08f83295460a80e41dc5e3e81ec40d6844d316f5.1446270067.git.luto@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 926a3ffe346a2e47fe35ace004cbea52587688eb Merge: 212dac5 9290a16 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 31 07:37:21 2015 +0530 Merge branch 'topic/of' into for-linus commit 212dac5665cc4b7329537d932362f31a481cef3b Merge: 3638691 4222a90 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 31 07:37:13 2015 +0530 Merge branch 'topic/ioatdma' into for-linus commit 3638691c64728bad2714a7d4908516997319c481 Merge: 7d9d43a 97c37ac Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 31 07:37:05 2015 +0530 Merge branch 'topic/idma' into for-linus commit 7d9d43ace29be375d3d1654b688b94029308a1be Merge: 6df056d e3faf2b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 31 07:36:55 2015 +0530 Merge branch 'topic/edma' into for-linus Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Conflicts: drivers/dma/edma.c commit 6df056d8e69a557ac76bc7a88960e4addbc98386 Merge: 67d25f0 df5c738 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 31 07:35:07 2015 +0530 Merge branch 'topic/dw' into for-linus commit df5c7386f62d2db95ca48005087195e9a15e2b1f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 13 20:09:19 2015 +0300 dmaengine: dw: some Intel devices has no memcpy support Provide a flag to choose if the device does support memory-to-memory transfers. At least this is not true for iDMA32 controller that might be supported in the future. Besides that Intel BayTrail and Braswell users should not try this feature due to HW specific behaviour. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 175267b389f781748e2bbb6c737e76b5c9bc4c88 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 13 20:09:18 2015 +0300 dmaengine: dw: platform: provide platform data for Intel Provide platform data explicitly for Intel SoCs where dw_dmac is enumerated by ACPI. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 30cb2639aa5253cf5bc4bd7dc5ea7e61b6887379 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 13 20:09:17 2015 +0300 dmaengine: dw: don't override platform data with autocfg Let probe driver decide either it wants to auto configure the driver or have explicitly defined properties. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1b38b0e3349d733679e91b029a7f0dfd9e16a169 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Oct 27 12:21:05 2015 +0900 ARM: dts: uniphier: add system-bus-controller nodes The System Bus Controller block has two register regions, but having only the second one in a separate node was not nice. Replace it with a new node with two register regions in it. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7c9730c5684d8ffd69ee0b9e1739484cc6a35b23 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Oct 27 11:47:13 2015 +0900 ARM: multi_v7_defconfig: enable UniPhier I2C drivers These two drivers were merged into the I2C sub-system by commit dd6fd4a32793 ("i2c: uniphier: add UniPhier FIFO-less I2C driver") and commit 6a62974b667f ("i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver"). Enable them from arch/arm/configs/multi_v7_defconfig. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d13a5c8c4c3dbe299659bcff805f79a2c83e2bbc Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Thu Oct 29 15:09:54 2015 -0700 soc: qcom: smd-rpm: Correct size of outgoing message With the removal of VLAIS the size was incorrectly changed to only cover the headers of the packet, resulting in "empty" requests being sent to the RPM. Correct this so the entire message is transfered. Fixes: 50e1b29b4438 ("soc: qcom: smd: Remove use of VLAIS") Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 38dab9ac1c017e96dc98e978111e365134d41d13 Merge: f9793e3 1955621 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 18:49:44 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input layer fixes from Dmitry Torokhov: - a change to the ALPS driver where we had limit the quirk for trackstick handling from being active on all Dells to just a few models - a fix for a build dependency issue in the sur40 driver - a small clock handling fixup in the LPC32xx touchscreen driver * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: alps - only the Dell Latitude D420/430/620/630 have separate stick button bits Input: sur40 - add dependency on VIDEO_V4L2 Input: lpc32xx_ts - fix warnings caused by enabling unprepared clock commit f9793e379bbb1188c72d8a367083290a14f98c97 Merge: 9b971e7 1266963 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 18:47:18 2015 -0700 Merge tag 'pci-v4.3-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI fix from Bjorn Helgaas: "Sorry for this last-minute update; it's been in -next for quite a while, but I forgot about it until I started getting ready for the merge window. It's small and fixes a way a user could cause a panic via sysfs, so I think it's worth getting it in v4.3. NUMA: - Prevent out of bounds access in sysfs numa_node override (Sasha Levin)" * tag 'pci-v4.3-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: PCI: Prevent out of bounds access in numa_node override commit 53dd186b3fb7254ae0cb4d6648abb5589aaa8c2d Merge: 4db7062 8f2279d Author: Olof Johansson <olof@xxxxxxxxx> Date: Sat Oct 31 01:41:45 2015 +0000 Merge tag 'omap-for-v4.3/fixes-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Two omap regression fixes: - Fix omap3 MUSB with DMA caused by driver core changes - Fix LCD DMA interrupt number for omap1 that did not get changed for sparse IRQ changes * tag 'omap-for-v4.3/fixes-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: usb: musb: omap2430: Fix regression caused by driver core change ARM: OMAP1: fix incorrect INT_DMA_LCD Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 980bbff018f64a22af0e75a12ee14cbfbc547e6a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Oct 28 10:39:55 2015 +0100 ARM64: juno: disable NOR flash node by default After discussing on the mailing list it turns out that accessing the flash memory from the kernel can disrupt CPU sleep states and CPU hotplugging, so let's disable this DT node by default. Setups that want to access the flash can modify this entry to enable the flash again. Quoting Sudeep Holla: "the firmware assumes the flash is always in read mode while Linux leaves NOR flash in "read id" mode after initialization." Reported-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Lorenzo Pieralisi <Lorenzo.Pieralisi@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Leif Lindholm <leif.lindholm@xxxxxxx> Cc: Ryan Harkin <ryan.harkin@xxxxxxxxxx> Fixes: 5078f77e1443 "ARM64: juno: add NOR flash to device tree" Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a40cf3f38881ce8543ceb9667150b4f2ead4c437 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Tue Oct 20 09:31:22 2015 +0200 ahci: Add Marvell 88se91a2 device id Add device id for Marvell 88se91a2 Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 0a142b26921c23ccdb6ef802d8047d02ad4cf0a7 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 30 17:09:35 2015 -0400 ahci: cleanup ahci_host_activate_multi_irqs With devm there is no need to explicitly free irqs on error. Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 899a63c3ebf3fad8723a432c1bba875ec3ef1948 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 30 17:09:30 2015 -0400 ahci: ahci_host_activate: kill IRQF_SHARED MSI messages are per-device, so there will never be another "shared" device in the interrupt chain. Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d72c0f430b19a7ee80d904a59c6c9a1c40e016cc Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Thu Oct 29 14:22:17 2015 +0800 devicetree: bindings: Fixed a few typos There is a few typos in Freescale QorIQ AHCI bindings, This patch fixes them. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 640847298e2b7f19e1376cf5a6fda0fce5d96fb2 Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Thu Oct 29 14:22:16 2015 +0800 ahci: qoriq: Disable NCQ on ls2080a SoC NCQ feature can't be used due to the erratum A-008473. This patch disables NCQ as a workaround. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d19f9aaf01341bd02da3aca3197751f52155551a Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Thu Oct 29 14:22:15 2015 +0800 ahci: qoriq: Rename LS2085A SoC support code to LS2080A Freescale is renaming the LS2085A SoC to LS2080A. This patch addresses the same. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f3c63795e90f0c6238306883b6c72f14d5355721 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 26 10:20:23 2015 -0700 mtd: blkdevs: fix potential deadlock + lockdep warnings Commit 073db4a51ee4 ("mtd: fix: avoid race condition when accessing mtd->usecount") fixed a race condition but due to poor ordering of the mutex acquisition, introduced a potential deadlock. The deadlock can occur, for example, when rmmod'ing the m25p80 module, which will delete one or more MTDs, along with any corresponding mtdblock devices. This could potentially race with an acquisition of the block device as follows. -> blktrans_open() -> mutex_lock(&dev->lock); -> mutex_lock(&mtd_table_mutex); -> del_mtd_device() -> mutex_lock(&mtd_table_mutex); -> blktrans_notify_remove() -> del_mtd_blktrans_dev() -> mutex_lock(&dev->lock); This is a classic (potential) ABBA deadlock, which can be fixed by making the A->B ordering consistent everywhere. There was no real purpose to the ordering in the original patch, AFAIR, so this shouldn't be a problem. This ordering was actually already present in del_mtd_blktrans_dev(), for one, where the function tried to ensure that its caller already held mtd_table_mutex before it acquired &dev->lock: if (mutex_trylock(&mtd_table_mutex)) { mutex_unlock(&mtd_table_mutex); BUG(); } So, reverse the ordering of acquisition of &dev->lock and &mtd_table_mutex so we always acquire mtd_table_mutex first. Snippets of the lockdep output follow: # modprobe -r m25p80 [ 53.419251] [ 53.420838] ====================================================== [ 53.427300] [ INFO: possible circular locking dependency detected ] [ 53.433865] 4.3.0-rc6 #96 Not tainted [ 53.437686] ------------------------------------------------------- [ 53.444220] modprobe/372 is trying to acquire lock: [ 53.449320] (&new->lock){+.+...}, at: [<c043fe4c>] del_mtd_blktrans_dev+0x80/0xdc [ 53.457271] [ 53.457271] but task is already holding lock: [ 53.463372] (mtd_table_mutex){+.+.+.}, at: [<c0439994>] del_mtd_device+0x18/0x100 [ 53.471321] [ 53.471321] which lock already depends on the new lock. [ 53.471321] [ 53.479856] [ 53.479856] the existing dependency chain (in reverse order) is: [ 53.487660] -> #1 (mtd_table_mutex){+.+.+.}: [ 53.492331] [<c043fc5c>] blktrans_open+0x34/0x1a4 [ 53.497879] [<c01afce0>] __blkdev_get+0xc4/0x3b0 [ 53.503364] [<c01b0bb8>] blkdev_get+0x108/0x320 [ 53.508743] [<c01713c0>] do_dentry_open+0x218/0x314 [ 53.514496] [<c0180454>] path_openat+0x4c0/0xf9c [ 53.519959] [<c0182044>] do_filp_open+0x5c/0xc0 [ 53.525336] [<c0172758>] do_sys_open+0xfc/0x1cc [ 53.530716] [<c000f740>] ret_fast_syscall+0x0/0x1c [ 53.536375] -> #0 (&new->lock){+.+...}: [ 53.540587] [<c063f124>] mutex_lock_nested+0x38/0x3cc [ 53.546504] [<c043fe4c>] del_mtd_blktrans_dev+0x80/0xdc [ 53.552606] [<c043f164>] blktrans_notify_remove+0x7c/0x84 [ 53.558891] [<c04399f0>] del_mtd_device+0x74/0x100 [ 53.564544] [<c043c670>] del_mtd_partitions+0x80/0xc8 [ 53.570451] [<c0439aa0>] mtd_device_unregister+0x24/0x48 [ 53.576637] [<c046ce6c>] spi_drv_remove+0x1c/0x34 [ 53.582207] [<c03de0f0>] __device_release_driver+0x88/0x114 [ 53.588663] [<c03de19c>] device_release_driver+0x20/0x2c [ 53.594843] [<c03dd9e8>] bus_remove_device+0xd8/0x108 [ 53.600748] [<c03dacc0>] device_del+0x10c/0x210 [ 53.606127] [<c03dadd0>] device_unregister+0xc/0x20 [ 53.611849] [<c046d878>] __unregister+0x10/0x20 [ 53.617211] [<c03da868>] device_for_each_child+0x50/0x7c [ 53.623387] [<c046eae8>] spi_unregister_master+0x58/0x8c [ 53.629578] [<c03e12f0>] release_nodes+0x15c/0x1c8 [ 53.635223] [<c03de0f8>] __device_release_driver+0x90/0x114 [ 53.641689] [<c03de900>] driver_detach+0xb4/0xb8 [ 53.647147] [<c03ddc78>] bus_remove_driver+0x4c/0xa0 [ 53.652970] [<c00cab50>] SyS_delete_module+0x11c/0x1e4 [ 53.658976] [<c000f740>] ret_fast_syscall+0x0/0x1c [ 53.664621] [ 53.664621] other info that might help us debug this: [ 53.664621] [ 53.672979] Possible unsafe locking scenario: [ 53.672979] [ 53.679169] CPU0 CPU1 [ 53.683900] ---- ---- [ 53.688633] lock(mtd_table_mutex); [ 53.692383] lock(&new->lock); [ 53.698306] lock(mtd_table_mutex); [ 53.704658] lock(&new->lock); [ 53.707946] [ 53.707946] *** DEADLOCK *** Fixes: 073db4a51ee4 ("mtd: fix: avoid race condition when accessing mtd->usecount") Reported-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit 8731b269f01e16193390c7276e70530366b8d626 Author: Maneet Singh <mmaneetsingh@xxxxxxxxxx> Date: Thu Oct 8 10:10:24 2015 -0400 drm: Correct arguments to list_tail_add in create blob ioctl Arguments passed to list_add_tail were reversed resulting in deletion of old blob property everytime the new one is added. Fixes commit e2f5d2ea479b9b2619965d43db70939589afe43a Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Fri May 22 13:34:51 2015 +0100 drm/mode: Add user blob-creation ioctl Signed-off-by: Maneet Singh <mmaneetsingh@xxxxxxxxxx> [seanpaul tweaked commit subject a little] Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxx # v4.2 Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxx> commit d01552a76d71f9879af448e9142389ee9be6e95b Author: NeilBrown <neilb@xxxxxxxx> Date: Sat Oct 31 11:00:56 2015 +1100 Revert "md: allow a partially recovered device to be hot-added to an array." This reverts commit 7eb418851f3278de67126ea0c427641ab4792c57. This commit is poorly justified, I can find not discusison in email, and it clearly causes a problem. If a device which is being recovered fails and is subsequently re-added to an array, there could easily have been changes to the array *before* the point where the recovery was up to. So the recovery must start again from the beginning. If a spare is being recovered and fails, then when it is re-added we really should do a bitmap-based recovery up to the recovery-offset, and then a full recovery from there. Before this reversion, we only did the "full recovery from there" which is not corect. After this reversion with will do a full recovery from the start, which is safer but not ideal. It will be left to a future patch to arrange the two different styles of recovery. Reported-and-tested-by: Nate Dailey <nate.dailey@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx (3.14+) Fixes: 7eb418851f32 ("md: allow a partially recovered device to be hot-added to an array.") commit 9ac0934bbe52290e4e4c2a58ec41cab9b6ca8c96 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 29 16:37:54 2015 +0300 drm: crtc: integer overflow in drm_property_create_blob() The size here comes from the user via the ioctl, it is a number between 1-u32max so the addition here could overflow on 32 bit systems. Fixes: f453ba046074 ('DRM: add mode setting support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx # v4.2 Signed-off-by: Dave Airlie <airlied@xxxxxxxxx> commit 9b971e771ece3f3fa9c6074e5a12d9304e5fa9ef Merge: 7c0f488 73effcc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 16:57:55 2015 -0700 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Will Deacon: "Apologies for this being so late, but we've uncovered a few nasty issues on arm64 which didn't settle down until yesterday and the fixes all look suitable for 4.3. Of the four patches, three of them are Cc'd to stable, with the remaining patch fixing an issue that only took effect during the merge window. Summary: - Fix corruption in SWP emulation when STXR fails due to contention - Fix MMU re-initialisation when resuming from a low-power state - Fix stack unwinding code to match what ftrace expects - Fix relocation code in the EFI stub when DRAM base is not 2MB aligned" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64/efi: do not assume DRAM base is aligned to 2 MB Revert "ARM64: unwind: Fix PC calculation" arm64: kernel: fix tcr_el1.t0sz restore on systems with extended idmap arm64: compat: fix stxr failure case in SWP emulation commit 7c0f488fbed7e498043f26de42c89c00855028c1 Merge: 8a28d67 d305c47 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 16:56:44 2015 -0700 Merge tag 'please-pull-syscalls' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull ia64 kcmp syscall from Tony Luck: "Missed adding the kcmp() syscall a long time ago. Now it seems that it is essential to build systemd" * tag 'please-pull-syscalls' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: [IA64] Wire up kcmp syscall commit b8a9d66d043ffac116100775a469f05f5158c16f Author: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Date: Sat Oct 31 10:53:50 2015 +1100 md/raid5: fix locking in handle_stripe_clean_event() After commit 566c09c53455 ("raid5: relieve lock contention in get_active_stripe()") __find_stripe() is called under conf->hash_locks + hash. But handle_stripe_clean_event() calls remove_hash() under conf->device_lock. Under some cirscumstances the hash chain can be circuited, and we get an infinite loop with disabled interrupts and locked hash lock in __find_stripe(). This leads to hard lockup on multiple CPUs and following system crash. I was able to reproduce this behavior on raid6 over 6 ssd disks. The devices_handle_discard_safely option should be set to enable trim support. The following script was used: for i in `seq 1 32`; do dd if=/dev/zero of=large$i bs=10M count=100 & done neilb: original was against a 3.x kernel. I forward-ported to 4.3-rc. This verison is suitable for any kernel since Commit: 59fc630b8b5f ("RAID5: batch adjacent full stripe write") (v4.1+). I'll post a version for earlier kernels to stable. Signed-off-by: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Fixes: 566c09c53455 ("raid5: relieve lock contention in get_active_stripe()") Signed-off-by: NeilBrown <neilb@xxxxxxxx> Cc: Shaohua Li <shli@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.13 - 4.2 commit db7489e07669073970358b6cacf6a9dd8dc9275e Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 3 10:01:52 2015 -0700 IB/core, cma: Make __attribute_const__ declarations sparse-friendly Move the __attribute_const__ declarations such that sparse understands that these apply to the function itself and not to the return type. This avoids that sparse reports error messages like the following: drivers/infiniband/core/verbs.c:73:12: error: symbol 'ib_event_msg' redeclared with different type (originally declared at include/rdma/ib_verbs.h:470) - different modifiers Fixes: 2b1b5b601230 ("IB/core, cma: Nice log-friendly string helpers") Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5cfdedb7b9a0fe38aa4838bfe66fb9ebc2c9ce15 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Tue Aug 18 15:34:09 2015 +0000 mtd: ofpart: move ofpart partitions to a dedicated dt node Parsing direct subnodes of a mtd device as partitions is unreliable since the mtd device is also part of its bus subsystem and can contain bus data in subnodes. Move ofpart data to a subnode of its own so it is clear which data is part of the partition layout. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fe2585e9c29a650af26824684e5033757fd6bc0c Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Wed Oct 28 15:48:06 2015 -0700 doc: dt: mtd: support partitions in a special 'partitions' subnode To avoid conflict with other drivers using subnodes of the mtd device create only one ofpart-specific node rather than any number of arbitrary partition subnodes. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c23b613507b8fa10e1839fb5a42e1b0318bf1d27 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:21:20 2015 -0500 PCI: Fix sriov_enable() error path for pcibios_enable_sriov() failures Disable VFs if pcibios_enable_sriov() fails, just like we do for other errors in sriov_enable(). Call pcibios_sriov_disable() if virtfn_add() fails. [bhelgaas: changelog, split to separate patch for reviewability] Fixes: 995df527f399 ("PCI: Add pcibios_sriov_enable() and pcibios_sriov_disable()") Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> commit b390864482924a21f8d7e25636d0140de93fba7e Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:21:16 2015 -0500 PCI: Wait 1 second between disabling VFs and clearing NumVFs Per sec 3.3.3.1 of the SR-IOV spec, r1.1, we must allow 1.0s after clearing VF Enable before reading any field in the SR-IOV Extended Capability. Wait 1 second before calling pci_iov_set_numvfs(), which reads PCI_SRIOV_VF_OFFSET and PCI_SRIOV_VF_STRIDE after it sets PCI_SRIOV_NUM_VF. [bhelgaas: split to separate patch for reviewability, add spec reference] Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a39e3fcd72356e2bcb46fd99ec4e98064bd806b2 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:21:11 2015 -0500 PCI: Reorder pcibios_sriov_disable() Move pcibios_sriov_disable() up so it's defined before a future use. [bhelgaas: split to separate patch for reviewability] Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> commit 3443c38205330bc5783a516ef1d0b6f182ee9a85 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:21:05 2015 -0500 PCI: Remove VFs in reverse order if virtfn_add() fails If virtfn_add() fails, we call virtfn_remove() for any previously added devices. Remove the devices in reverse order (first-added is last-removed), which is more natural and doesn't require an additional variable. [bhelgaas: changelog, split to separate patch for reviewability] Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> commit 271bb1773b1eeff6153f1bba16ff0cff23f064b6 Author: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Date: Fri Oct 30 11:55:31 2015 +0530 bindings: mfd: s2mps11: Add documentation for s2mps15 PMIC Add dt-binding documentation for s2mps15 PMIC device. The s2mps15 device is similar to s2mps11/14 PMIC device and has 27 LDO and 10 buck regulators. This also supports RTC and three 32.768KHz clock outputs. Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 644a3746d9724bda20b7f306113262cdb292baae Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Oct 30 16:51:21 2015 +0900 mfd: sec-core: Remove unused s2mpu02-rtc and s2mpu02-clk children The commit 54e8827d5f0e ("mfd: sec-core: Add support for S2MPU02 device") added new MFD child devices for S2MPU02: RTC and clock provider (the clock provider with new compatible). However support for these devices was not added to existing drivers (rtc-s5m, clk-s2mps11). New drivers were not submitted neither. This means that the name of children devices is completely unused. The "samsung,s2mpu02-clk" compatible remains undocumented so it is unclear what is provided by that compatible. Clean up this by removing unused child devices and undocumented compatible. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5530ef113db1b473e8c400954c1f81546f9b2f69 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 16:01:56 2015 +0000 extcon: arizona: Add extcon specific device tree binding document Subsystem specific bindings for the Arizona devices are being factored out of the MFD binding document into separate documents for each subsystem. This patch adds a binding document that covers the existing extcon specific bindings. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f494993fc509f45b1be19c70a20452fd6e5cc14d Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 16:01:59 2015 +0000 MAINTAINERS: Add binding docs for Cirrus Logic/Wolfson Arizona devices Add device tree binding documentation for the Arizona drivers to the MAINTAINERS file. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f2f48a584dc7baec7735eef98dbb7c60cf18f734 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 16:01:58 2015 +0000 mfd: arizona: Remove bindings covered in new subsystem specific docs Binding documentation has been added in new subsystem specific binding documents. This patch removes the now duplicate documentation from the MFD documentation. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b487c17d5ff381943b7c9b6af992eec83ee5c5ee Author: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Date: Fri Oct 23 14:48:03 2015 +0900 mfd: rt5033: Add RT5033 Flash led sub device This patch adds rt5033-led sub device to support it. Signed-off-by: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ff0a04a699b9ea9b795208baff2ae727a6a3085a Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 21 12:41:48 2015 +0300 mfd: lpss: Add Intel Broxton PCI IDs Intel Broxton has the same LPSS block than Intel Sunrisepoint so add Broxton PCI IDs to the list. 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 6a636ec0ab19c64e83d1008a80606e1030a0c422 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 12:41:47 2015 +0300 mfd: lpss: Add Broxton ACPI IDs Intel Broxton has the same LPSS block than Intel Sunrisepoint so add Broxton ACPI IDs to the list. 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 a05950a4453fcfb136ee1eff0bd0a3cfb46a401e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Oct 19 13:18:05 2015 +0300 mfd: arizona: Signedness bug in arizona_runtime_suspend() The "jd_active" variable needs to be signed for the error handling to work. Fixes: 143e5887ae57 ('mfd: arizona: factor out checking of jack detection state') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4d1ea982a9beb4e47bba41131973329e2a012b38 Author: Anup Patel <anup.patel@xxxxxxxxxxxx> Date: Fri Oct 30 12:29:20 2015 +0530 mtd: brcmnand: Force 8bit mode before doing nand_scan_ident() Just like other NAND controllers, the NAND READID command only works in 8bit mode for all versions of BRCMNAND controller. This patch forces 8bit mode for each NAND CS in brcmnand_init_cs() before doing nand_scan_ident() to ensure that BRCMNAND controller is in 8bit mode when NAND READID command is issued. Signed-off-by: Anup Patel <anup.patel@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f06d2a912b55c53e9efbd799f7205dbfe041029 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Oct 30 12:29:19 2015 +0530 mtd: brcmnand: factor out CFG and CFG_EXT bitfields Use enum instead of magic numbers for CFG and CFG_EXT bitfields. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Anup Patel <anup.patel@xxxxxxxxxxxx> commit 9d6c243502b7f0a9696bc6fe5b473e40d8478d28 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Oct 26 10:45:08 2015 -0700 backlight: pm8941-wled: Add default-brightness property Default the brightness to 2048 and add possibility to override this in device tree. Suggested-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8fb2b9ac2aadd6d87f89071c2c85f8c12b41c943 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 21 11:49:09 2015 +0300 thermal: underflow bug in imx_set_trip_temp() We recently changed this from unsigned long to int so it introduced an underflow bug. Fixes: 17e8351a7739 ('thermal: consistently use int for temperatures') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit d1482fb335b8f3f5e667df72b043c5b3d9d03106 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Oct 31 02:43:16 2015 +0900 ALSA: firewire-digi00x: add another rawmidi character device for MIDI control ports Digi 002/003 family uses two ways to transfer MIDI messages. They're different mechanisms, while it's better to handle the ways in different ALSA rawmidi character devices because one character device has just a set of operations. This commit adds another rawmidi character device for control MIDI port. As a result, first rawmidi character device is just for MIDI messages transferred by isochronous packets. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c5fcee0373b390ab8508022951eabd0bd0e06a48 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Oct 31 02:43:15 2015 +0900 ALSA: firewire-digi00x: add MIDI operations for MIDI control port Digi 002/003 family has two types of MIDI port; one is for physical MIDI port and another is for MIDI control message. The former is transferred in isochronous packet, and the latter is transferred by asynchronous transaction. These transmission mechanisms are completely different, while current ALSA digi00x driver defines a set of operations for them with several condition statements. As a result, codes for the operation are messy. This commit adds a set of MIDI operation for control MIDI ports. In later commit, it's applied as an operation for ALSA rawmidi character device. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5918f962207329089371d87adbd033830d3f5cf5 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Oct 31 02:43:14 2015 +0900 ALSA: firewire-digi00x: rename identifiers of MIDI operation for physical ports In following commit, new functions and variables are added for operations of MIDI control port. This commit is a preparation. Current identifiers are renamed so that they mean physical MIDI ports. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b56100db5b057fef889a73cb66c24633696d188b Author: Nadav Haklai <nadavh@xxxxxxxxxxx> Date: Thu Aug 6 18:03:49 2015 +0200 thermal: armada: Fix possible overflow in the Armada 380 thermal sensor formula Update the coefficients so the calculation will not overrun the unsigned long 32bits boundary Signed-off-by: Nadav Haklai <nadavh@xxxxxxxxxxx> Reviewed-by: Victor Axelrod <victora@xxxxxxxxxxx> Reviewed-by: Neta Zur Hershkovits <neta@xxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit bae818ee1577c27356093901a0ea48f672eda514 Author: Ronny Hegewald <ronny.hegewald@xxxxxxxxx> Date: Thu Oct 15 18:50:46 2015 +0000 rbd: require stable pages if message data CRCs are enabled rbd requires stable pages, as it performs a crc of the page data before they are send to the OSDs. But since kernel 3.9 (patch 1d1d1a767206fbe5d4c69493b7e6d2a8d08cc0a0 "mm: only enforce stable page writes if the backing device requires it") it is not assumed anymore that block devices require stable pages. This patch sets the necessary flag to get stable pages back for rbd. In a ceph installation that provides multiple ext4 formatted rbd devices "bad crc" messages appeared regularly (ca 1 message every 1-2 minutes on every OSD that provided the data for the rbd) in the OSD-logs before this patch. After this patch this messages are pretty much gone (only ca 1-2 / month / OSD). Cc: stable@xxxxxxxxxxxxxxx # 3.9+, needs backporting Signed-off-by: Ronny Hegewald <Ronny.Hegewald@xxxxxxxxx> [idryomov@xxxxxxxxx: require stable pages only in crc case, changelog] Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 84866ee5818e95f6e97194656777c10ac24cb9d3 Author: Bai Ping <b51503@xxxxxxxxxxxxx> Date: Mon Sep 14 19:09:51 2015 +0800 thermal: imx: register irq handler later in probe The irq handler should be registered after the tempmon module has been initialized in a known state and the thermal_zone and cpu_cooling device have been registered successfully. Otherwise, if the irq is triggled earlier before thermal probe has been finished, it may lead to 'NULL' pointer kernel panic. Signed-off-by: Bai Ping <b51503@xxxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 452e01b3dbb54f743a200c722981ced169888860 Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Fri Aug 7 14:00:52 2015 -0700 thermal: rockhip: fix setting thermal shutdown polarity When requested thermal shutdown signal polarity is low we need to make sure that the bit representing high level of signal is reset, and not set all other bits in that register. Also rename TSADCV2_INT_PD_CLEAR to TSADCV2_INT_PD_CLEAR_MASK to better reflect its nature. Acked-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit d9a241cbbdca9ead3322c073dbb9dbf61ac76ef0 Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Fri Aug 7 13:59:23 2015 -0700 thermal: rockchip: fix handling of invalid readings We attempted to signal invalid code by returning -EAGAIN from rk_tsadcv2_code_to_temp(), unfortunately the return value was stuffed directly into the temperature pointer, potentially confusing upper layers with temperature of -EINVAL. Let's split temperature from error/success indicator to avoid such confusion. Also change the way we scan the temperature table to start with the 2nd element so that we do not need to worry that we may reference out of bounds element while doing binary search and keep checking that we end up with 'mid' equal to 0 (since we are looking for the temperature that would fall into interval between the 'mid' and 'mid - 1') . Tested-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 510bd068db34b946a067629679c5cc99c8b99f1e Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Oct 28 12:05:27 2015 +0900 of: simplify arch_find_n_match_cpu_physical_id() function This commit does not change the function behavior. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 794fab7d785a2fb5b3f1777619143a8e72955eac Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Fri Oct 30 09:51:27 2015 -0700 Documentation: arm: Fixed typo in socfpga fpga mgr example Addresses should not be prefixed contain '0x' in nodes. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 71a0151c5c82595b58c21b4dd5c07482d8a3d554 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Oct 21 11:09:59 2015 +0100 Documentation: devicetree: fix reference to legacy wakeup properties This patch marks all the reference to the legacy wakeup bindings and replaces them with the standard "wakeup-source" property. All these legacy property are also listed under a separate section in the generic wakeup-source binding document. Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit a68eee4c748c006daae6b06c9c5bb85be77724f6 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Oct 21 11:09:58 2015 +0100 Documentation: devicetree: standardize/consolidate on "wakeup-source" property Currently different drivers use multiple forms of annotating devices that should be set up as wakeup sources for the system. This patch adds a separate binding document inorder to standardize and consolidate to use "wakeup-source" boolean property to mark the devices as wakeup capable. Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 9876b1a4431a3f0959c70e1d817ecab6440cb2e6 Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Sep 10 18:09:31 2015 +0100 devfreq_cooling: add trace information Tracing is useful for debugging and performance tuning. Add similar traces to what's present in the cpu cooling device. Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 2bcdcbfae2895764372ef973a969f395a548f1ea Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Aug 24 14:47:10 2015 +0200 drm/tegra: dc: Request/free syncpoint at init/exit syncpoints are resources provided by host1x and their lifetime is tied to the host1x device. They are not properly reference counted either, so removing the host1x device before any of its clients causes a use-after- free error. Adding proper reference counting would be a major enterprise so work around it for now by requesting and freeing the syncpoint at init and exit time, respectively. The host1x device is guaranteed to be around at this point. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit f1811a8a641329d0dada7c4db7e29ce5ae32a10b Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Aug 21 19:05:39 2015 +0800 drm/bridge: ptn3460: Fix coccinelle warnings The platform_no_drv_owner.cocci coccinelle script generates the following warning: drivers/gpu/drm/bridge/nxp-ptn3460.c:403:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically. Patch generated by scripts/coccinelle/api/platform_no_drv_owner.cocci. Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ab0162b8fd338efad23b9d6fa6a0d2a0ff5e416f Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Aug 21 19:05:39 2015 +0800 drm/bridge: ps8622: Fix coccinelle warnings The platform_no_drv_owner.cocci coccinelle script generates the following warning: drivers/gpu/drm/bridge/parade-ps8622.c:671:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically. Patch generated by scripts/coccinelle/api/platform_no_drv_owner.cocci. Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a76caf55e5b356ba20a5a43ac4d9f7a04b20941d Author: Ã?rjan Eide <orjan.eide@xxxxxxx> Date: Thu Sep 10 18:09:30 2015 +0100 thermal: Add devfreq cooling Add a generic thermal cooling device for devfreq, that is similar to cpu_cooling. The device must use devfreq. In order to use the power extension of the cooling device, it must have registered its OPPs using the OPP library. Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Ã?rjan Eide <orjan.eide@xxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit e56e5ad67d15f775537f1259527f1ad5796da012 Author: Borun Fu <borun.fu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:16:26 2015 +0800 mfd: axp20x: Add a cell for the power button part of the, axp288 PMICs This patch adds the mfd cell info for axp288 power key device. Signed-off-by: Borun Fu <borun.fu@xxxxxxxxxxxxxxx> Signed-off-by: Fei Yang <fei.yang@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8c1065801cedec9272c29c39e95cdf7904373422 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Oct 7 09:44:40 2015 +0900 mfd: dt-bindings: Document pulled down WRSTBI pin on S2MPS1X Document a new Device Tree property 'samsung,s2mps11-wrstbi-ground' indicating that WRSTBI pin of S2MPS13 PMIC is pulled down so corresponding buck warm reset function should be disabled. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8a97d4287e2659f3460a8dec61ccc935154726c0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Oct 7 09:44:41 2015 +0900 mfd: sec-core: Disable buck voltage reset on watchdog falling edge The WRSTBI bit (disabled by default but enabled by bootloader), when set, is responsible for resetting voltages to default values of certain bucks on falling edge of Warm Reset Input pin from AP. However on some boards (with S2MPS13) the pin is pulled down so any suspend will effectively trigger the reset of bucks supplying the power to the little and big cores. In the same time when resuming, these bucks must provide voltage greater or equal to voltage before suspend to match the frequency chosen by cpufreq. If voltage (default value of voltage after reset) is lower than one set by cpufreq before suspend, then system will hang during resuming. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reported-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Tested-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c2c9f1fe4bf2d6597bbaaab7514d9c9092b5b2f6 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Oct 7 09:44:39 2015 +0900 mfd: sec-core: Dump PMIC revision to find out the HW There are different revisions of the same chipset. For example S2MPS13 has more than 2 revisions. They differ slightly in regulator constraints. Print the revision number to easily find which PMIC is used on the board. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2e44e28ad2628cd29a4829ffab06fe7e3b79469c Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:15 2015 +0100 mfd: arizona: Use correct type ID for device tree config In the case of a device tree config the code uses the device ID from the DT entry to check which codec is required but when storing the ID into struct arizona it was always using the non-DT SPI device table to get an ID. This patch changes the code to store the correct ID into struct arizona. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b61c1ec058dabdcbddad7436bb4c009a8fa65b02 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:14 2015 +0100 mfd: arizona: Remove use of codec build config #ifdefs Remove the use of #ifdefs around each case statement of the chip ID and type validation switches. We must ensure that the contained code still compiles to nothing if support for that codec was not built into the kernel, to prevent creation of link references to missing functions. So the ifdefs are replaced with a use of the IS_ENABLED() macro. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ae05ea36d1c9bdc76a4539277d96f5bdf3d39f02 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:13 2015 +0100 mfd: arizona: Simplify adding subdevices The code was using a switch on the code type to execute one of several mfd_add_devices() calls. We're already switching on the code type earlier in the function to select the correct patch function so we can roll selection of the mfd device table into the same switch. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 161ad30bd2ec4be7269b2f8748fa4e5d5847191e Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:12 2015 +0100 mfd: arizona: Downgrade type mismatch messages to dev_warn If the declared codec type doesn't match the detected type we issue a log message but carry on registering the device, so a dev_warn() is appropriate rather than a dev_err() Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e3424273545bef85ebf959c90091d60ba3fc2efc Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:11 2015 +0100 mfd: arizona: Factor out checking of jack detection state Currently runtime_suspend will fully power off the codec if the jack detection is not enabled. Not all future codecs will have jack detection so to prepare for these codecs this patch factors out the check so that it be called as needed in the existing codec-specific switch cases. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e7811147aafb3d6364b8d60223cbe6c323cdf725 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:10 2015 +0100 mfd: arizona: Factor out DCVDD isolation control Currently DCVDD isolation is enabled and disabled for runtime_suspend and runtime_resume. Future codecs will not have the isolation control so to prepare for these codecs this patch factors out the isolation control allowing it to be called as needed in the existing codec-specific switch cases. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 18eb3f041addcdf8ef4a4b80547a67557c8826d6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Oct 7 09:18:04 2015 +0800 mfd: Make TPS6105X select REGMAP_I2C This is required since commit 7e5071199355 ("mfd: tps6105x: Use i2c regmap to access registers"). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0a27186448f17cb1b6734bb302cc1299008e91e9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Oct 7 17:58:48 2015 +0530 mfd: lm3533: Fix unused variable build warning We were getting build warning about unused variable 'ret'. The commit c749db571dcf has removed the use of ret but missed removing the variable which is unused now. Fixes: c749db571dcf ("mfd: lm3533: Simplify function return logic") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ce6a5acc93876f619f32f8f60c7c6e549e46d962 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Mon Jun 29 09:19:39 2015 +0800 mfd: rtsx: Add support for rts522A rts522a(rts5227s) is derived from rts5227, and mainly same with rts5227. Add it to file mfd/rts5227.c to support this chip. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6f44b14870520e2758b758cc3b3b4c09c4b715ab Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Oct 9 18:22:03 2015 +0800 mfd: da9062-core: Rename get_device_type to da9062_get_device_type Rename get_device_type() to da9062_get_device_type(). This function is only used in this file so make it static. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5349ca11ca33dd393539024b613ef352d24cbb51 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 12 17:26:07 2015 +0100 mfd: Kconfig: Compile MFD_STW481X with COMPILE_TEST The driver depends on ARCH_NOMADIK but there isn't a build dependency so it's a good idea to allow the driver to always be built when the COMPILE_TEST option is enabled. That way, the driver can be built with a config generated by make allyesconfig and check if a patch would break the build. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0386af30d3d99d942dd68a8c64beb4f03958e74f Author: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Thu Oct 8 16:17:51 2015 +0100 mfd: da9053: Addition of extra registers for GPIOs 8-13 Definitions for GPIO registers 8, 9, 10, 11, 12 and 13 are added into the register header file. - DA9052_GPIO_8_9_REG 25 - DA9052_GPIO_10_11_REG 26 - DA9052_GPIO_12_13_REG 27 A modification is also made to the MFD core code to define these registers as readable and writable. The functions for da9052_reg_readable() and da9052_reg_writeable() have had their case statements altered to include these new registers. Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5c41f11c625e6860b00e58c237dd03a89a8beccc Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Mon Sep 28 11:13:26 2015 +0200 mfd: atmel-flexcom: Add a driver for Atmel Flexible Serial Communication Unit This driver supports the new Atmel Flexcom. The Flexcom is a wrapper which integrates one SPI controller, one I2C controller and one USART. Only one function can be enabled at a time. This driver selects the function once for all, when the Flexcom is probed, according to the value of the new "atmel,flexcom-mode" device tree property. This driver has chosen to present the Flexcom to the system as a MFD so the implementation is seamless for the existing Atmel SPI, I2C and USART drivers. Also the Flexcom embeds FIFOs: the latest patches of the SPI, I2C and USART drivers take advantage of this new feature. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c335bd5da0054245dfab0ddc8f08bc67a146cc43 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Mon Sep 28 11:13:25 2015 +0200 mfd: devicetree: Add bindings for Atmel Flexcom This patch documents the DT bindings for the Atmel Flexcom which will be introduced by sama5d2x SoCs. These bindings will be used by the actual Flexcom driver to be sent in another patch. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8343284d61a3e71812b116867dab00a170964630 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Mon Sep 28 11:13:24 2015 +0200 mfd: atmel-flexcom: Create include file with macros used by DT bindings This patch defines some macros to be used as value for the "atmel,flexcom-mode" DT property. This value is then written into the Operating Mode (OPMODE) bit field of the Flexcom Mode Register. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f3a654c5198b1de3e6241ab6a9d5c52295504970 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 28 12:56:36 2015 +0300 mfd: intel_soc_pmic_bxtwc: 64 bit bug in bxtwc_val_store() The call to kstrtoul() will corrupt memory on 64 bit systems because an int is 4 bytes and a long is 8. Also it's not a good idea to let users trigger a dev_err() because it just ends up flooding /var/log/messages so I removed the printk. Fixes: 2ddd2086ea9c ('mfd: add Intel Broxton Whiskey Cove PMIC driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ad698ea425f90e4d09694c2cf7155cad4d7badb3 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:07 2015 +0200 mfd: da9052: Simplify function return logic The invoked functions already return zero on success or a negative errno code so there is no need to open code the logic in the caller. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a1c16d71bceec404573ee4ff712f3dc0e58d31c8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:08 2015 +0200 mfd: lm3533: Simplify function return logic The invoked functions already return zero on success or a negative errno code so there is no need to open code the logic in the caller. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5597da29496317fbcfe4db9f8b65fa8645d4cbed Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:06 2015 +0200 mfd: da903x: Simplify function return logic The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b158b69a37651b20a0e68f89cf118461e7de4872 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:05 2015 +0200 mfd: rtsx: Simplify function return logic The invoked functions already return zero on success or a negative errno code so there is no need to open code the logic in the caller. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d8498df1e40e5a232ebe1f1b33edb34887f6a037 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:04 2015 +0200 mfd: kempld-core: Simplify function return logic The invoked functions already return zero on success or a negative errno code so there is no need to open code the logic in the caller. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d6d007429f21626ad0f9cf96589151e0746f5648 Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Sep 10 18:09:29 2015 +0100 PM / OPP: get the voltage for all OPPs The OPP library is now used for power models to calculate the power that a device would consume at a specific OPP. To do that, we use a simple power model which takes frequency and voltage as inputs. We get the voltage and frequency from the OPP library. The devfreq cooling device for the thermal framework controls temperature by disabling OPPs. The power model needs to calculate the power that would be consumed if we reenabled the OPP. Therefore, let dev_pm_opp_get_voltage() work for disabled OPPs. Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit e7238fd2554ebfbc2611ae5c7e58d4cd76f276dc Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:03 2015 +0200 mfd: pcf50633: Remove unneded ret variable The ret variable is not needed since is not used in the function. Remove the variable and just return 0 instead. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a260fba1158241d168bf14eb7cd1176b29ad263c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:02 2015 +0200 mfd: arizona: Remove unneded ret variable The ret variable is not needed since is not used in the function. Remove the variable and just return 0 instead. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a48baac52aab9b017fb79f27795e69193e0f1d24 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:01 2015 +0200 mfd: htc-i2cpld: Remove unneded ret variable The ret variable is not needed since is not used in the function. Remove the variable and just return 0 instead. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ea50e9d3c44b3830eb25286fda5d9f83a68141cf Author: Grigoryev Denis <grigoryev@xxxxxxxxxx> Date: Fri Sep 25 16:57:09 2015 +0000 mfd: tps6105x: Fix possible NULL pointer access tps6105 driver provides two cells. One is for GPIO and another one is for selected mode depending on platform data. When tps6105x is used in GPIO-only mode, this driver calls mfd_add_devices() with mfd_cell .name == NULL. This value causes an oops in platform_device_register() later. The following patch adds a mfd_cell for each possible mode thereby excluding .name assignment in runtime. Signed-off-by: Denis Grigoryev <grigoryev@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ced7e09355cd7f4434eb2c34c4fae450c2fee0e7 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Sep 25 13:39:13 2015 +0100 mfd: qcom_rpm: Drop use of IRQF_NO_SUSPEND flag The driver handles wakeup irq correctly using irq_set_irq_wake. There's no need to use IRQF_NO_SUSPEND while registering the interrupt. This patch removes the use of IRQF_NO_SUSPEND flag. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 50346a1f1419250c2c7c1349757ef4e93136eef2 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Sep 25 18:09:52 2015 +0100 MAINTAINERS: Remove Samuel Ortiz as MFD Maintainer Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 79ae6bb15945f9b7f3e91db3d68f1b77c4b1451c Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Sep 25 17:31:12 2015 +0100 platform: x86: PMC IPC depends on ACPI This patch solves: on x86_64: when CONFIG_ACPI is not enabled: ../drivers/mfd/intel_soc_pmic_bxtwc.c: In function 'bxtwc_probe': ../drivers/mfd/intel_soc_pmic_bxtwc.c:342:2: error: implicit declaration of function 'acpi_evaluate_integer' [-Werror=implicit-function-declaration] status = acpi_evaluate_integer(handle, "_HRV", NULL, &hrv); ^ Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5b855ff3f7d3f95c8c06e690d61ee3e0eddaec90 Author: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Date: Mon Sep 21 10:38:21 2015 -0300 bindings: mfd: cros ec: Document vbc EC property Some EC implementations include a small nvram space used to store verified boot context data. This boolean property lets us indicate whether this space is available or not on a specific EC implementation. Signed-off-by: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3dab794f50451fa910d6a8d4d002c4ecda3cc1f5 Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Tue Sep 22 19:04:24 2015 -0500 mfd: lpc_ich: Separate device cells for clarity The lpc_ich_cells array gives the wrong impression about the relationship between the watchdog and GPIO devices. They are completely distinct devices, so this patch separates the array into distinct mfd_cell structs per device. A side effect of removing the array, is that the lpc_cells enum is no longer needed. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 39d047c0b1c812e9f0014e7100e372e61f2de3de Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Tue Sep 15 00:39:19 2015 +0800 mfd: add Intel Broxton Whiskey Cove PMIC driver Add MFD core driver for Intel Broxton Whiskey Cove PMIC, which is specially accessed by hardware IPC, not a generic I2C device Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6bb3b3acc3d096b938887c90f4bb19a639b99852 Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Tue Sep 15 00:39:18 2015 +0800 mfd: intel_soc_pmic: Add support for Broxton WC PMIC IRQ control registers of Intel Broxton Whisky Cove PMIC are separated in two parts, so add secondary IRQ chip. And the new member of device will be used in PMC IPC regmap APIs. Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0b13ea8e2661822960b59924b02b4a0ebcf22149 Author: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Date: Tue Oct 27 09:12:01 2015 +0530 drivers: of: removing assignment of 0 to static variable no need to initialise static variable with 0, hence correcting it. Signed-off-by: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit a5f4185c4b8c131c0ccafa6b1b00cd4e5413e47e Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Thu Oct 15 15:42:17 2015 +0200 drm/imx: hdmi: fix HDMI setup to allow modes larger than FullHD This worked before the dw-hdmi bridge code was changed to validate the setup data more strictly. Add back support for modes with a pixel clock up to 216MHz. Even higher clocks should work, but we are missing the required setup data for now. Also change the mode validate callbacks to disallow modes with higher pixelclocks, so we don't end up failing the modeset later on. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 9b6d0d33c848661c859ccee331b9d2c2ba74489b Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:48 2015 +0200 gpu: ipu-v3: fix div_ratio type The variable can be negative. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 3e8b2246c36f4a340febc97d140db5dd727bb3c6 Author: Philippe De Muyter <phdm@xxxxxxxxx> Date: Fri Sep 18 15:41:55 2015 +0200 gpu: ipu-v3: csi: add support for 8 bpp grayscale sensors. Enable the MEDIA_BUS_FMT_Y8_1X8 format. Signed-off-by: Philippe De Muyter <phdm@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit cb166a302589f1494a62b6f1ca108fddb3925e31 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Tue Aug 4 17:22:06 2015 +0200 drm/imx: enable ARGB4444 16-bit color format This patch allows to use the ARGB4444 color format on planes. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7d2e8a204aa04b83aca2beb5f1441262c3aa26c8 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Tue Aug 4 17:21:04 2015 +0200 gpu: ipu-v3: add support for ARGB4444 16-bit color format This patch adds support for the ARGB4444 color format. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 59d6b7189a968d627af37fc26a410dced0854b99 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Apr 16 15:56:40 2015 +0200 drm/imx: ipuv3-plane: enable support for RGBX8888 and RGBA8888 pixel formats This patch allows to use the RGBX and RGBA 8:8:8:8 formats. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 067f4aa402ac2c41e70e25abda97af30333d9581 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Apr 16 15:27:04 2015 +0200 gpu: ipu-v3: add support for RGBX8888 and RGBA8888 pixel formats This patch adds support for the RGBA8888, RGBX8888, BGRA8888, and BGRX8888 in-memory formats. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit c639a1cfc4930684300860abdac5ebcb619523ea Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Dec 12 13:40:38 2014 +0100 drm/imx: enable 15-bit RGB with 1-bit alpha formats This patch enables the ARGB1555, ABGR1555, RGBA5551, and BGRA5551 formats to be used on planes. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 0cb8b75792d6b752df945993cc5d455c75bf6884 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Dec 12 13:40:14 2014 +0100 gpu: ipu-v3: add support for 15-bit RGB with 1-bit alpha formats This patch adds support for ARGB1555, ABGR1555, RGBA5551, and BGRA5551 in-memory formats. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit ef739aa4c68be8a05b7f0b91cf87747acbe0b424 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jun 19 16:22:38 2015 +0200 MAINTAINERS: Add IPUv3 core driver to the i.MX DRM driver section The ipu-v3 core driver is maintained in and merged through the same trees as the imx-drm drivers that are using it. This patch adds the drivers/gpu/ipu-v3/ directory to the i.MX DRM driver section. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 6dd0d0e1ae7f3e129c6943cd351d47d194bde238 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat May 9 13:08:25 2015 -0300 gpu: ipu-v3: ipu-csi: bool test doesn't need a comparison to false Bool initializations should use true and false. Bool tests don't need comparisons. Based on contributions from Joe Perches, Rusty Russell and Bruce W Allan. The semantic patch that makes this change is available in scripts/coccinelle/misc/boolinit.cocci. More information about semantic patching is available at http://coccinelle.lip6.fr/ Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit aa644fa64c25ab2231a0fa9464892f5579d4e161 Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Mon Oct 19 17:55:49 2015 +0100 ARM64: Enable multi-core scheduler support by default Make sure that the task scheduler domain hierarchy is set-up correctly on systems with single or multi-cluster topology. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit bf457786f569cc480629d7855cac1fd1173ac009 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Oct 23 16:48:14 2015 +0200 arm64/efi: move arm64 specific stub C code to libstub Now that we added special handling to the C files in libstub, move the one remaining arm64 specific EFI stub C file to libstub as well, so that it gets the same treatment. This should prevent future changes from resulting in binaries that may execute incorrectly in UEFI context. With efi-entry.S the only remaining EFI stub source file under arch/arm64, we can also simplify the Makefile logic somewhat. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Tested-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c8a8067f7d66bf77a0627e0b237b0b4486862a73 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 11 15:38:43 2015 +0200 drm/tegra: fb: Remove gratuituous blank line This was introduced by mistake in commit 0f7d9052fb70 ("drm/tegra: Use new drm_fb_helper functions"). Remove it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 16bd5865cdb3b190105db21bd22a0ca0501e7b20 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Thu Oct 29 15:34:55 2015 +0530 hsi: controllers:remove redundant code Use devm_ioremap_resource() in order to make the code simpler, and remove redundant return value check of platform_get_resource() because this value is alreadytaken care by devm_ioremap_resource() Signed-off-by: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 50224f4d0959981ed03c407af1f35ed7917ae097 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Oct 30 07:52:39 2015 -0700 hwmon: (nct6775) Introduce separate temperature labels for NCT6792 and NCT6793 NCT6792 and NCT6793 are mostly register compatible to NCT6791, but temperature sources are different and difficult to manage with a single temperature label array. Introduce separate temperature label arrays for those chips to reflect the differences. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9a38371a8cda366400e592d10bc062deea09b695 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Aug 29 15:29:25 2015 -0700 hwmon: (nct6775) NCT6791D and NCT6792D have an additional temperature source Both NCT6791D and NCT6792D permit selection of a 'virtual' temperature register as temperature source. The virtual temperature registers are registers 0xea to 0xef in bank 0 and can be written by software. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 562b103a21974c2f9cd67514d110f918bb3e1796 Author: Marek Vasut <marex@xxxxxxx> Date: Fri Oct 30 13:48:19 2015 +0100 can: Use correct type in sizeof() in nla_put() The sizeof() is invoked on an incorrect variable, likely due to some copy-paste error, and this might result in memory corruption. Fix this. Signed-off-by: Marek Vasut <marex@xxxxxxx> Cc: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Cc: linux-stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 8c53e8ed009c68e9a1fdeaf3d36e094db7a262a6 Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Fri Oct 2 11:25:07 2015 +0100 PCI: rcar: Fix I/O offset for multiple host bridges Fix I/O offset for multiple host bridges. Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 42175a35534aab13016297fb48763e9f1126a0ab Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Fri Oct 2 11:25:06 2015 +0100 PCI: rcar: Set root bus nr to that provided in DT On ARM64, setting the root bus number to -1 causes probe failure. Moreover, we should use the bus number specified in the DT as we could have multiple PCIe controllers with different bus ranges. Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 79953dd22c1dfe38196485b53987466b048b8cc2 Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Fri Oct 2 11:25:05 2015 +0100 PCI: rcar: Remove dependency on ARM-specific struct hw_pci The R-Car PCIe 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. Based on 499733e0cc1a ("PCI: generic: Remove dependency on ARM-specific struct hw_pci"). Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d0c3f4dbd20205529be1c0e0de618ce3fdaac844 Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Fri Oct 2 11:25:04 2015 +0100 PCI: rcar: Make PCI aware of the I/O resources Make PCI aware of the I/O resources. Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7c537c67d2e4860cf22c077c80928f16089ad0cc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 30 08:13:42 2015 -0500 PCI: rcar: Build pcie-rcar.c only on ARM The pcie-rcar.c driver (controlled by PCI_RCAR_GEN2_PCIE) uses struct pci_sys_data and pci_ioremap_io(), which only exist on ARM. Building it on other arches, e.g., arm64/shmobile, causes errors like this: drivers/pci/host/pcie-rcar.c:138:52: warning: 'struct pci_sys_data' declared inside parameter list drivers/pci/host/pcie-rcar.c:380:4: error: implicit declaration of function 'pci_ioremap_io' [-Werror=implicit-function-declaration] Build pcie-rcar.c only on ARM. [bhelgaas: changelog, split to separate pci-rcar-gen2 from pcie-rcar] Reported-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> (pci_ioremap_io()) Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 6cbfeae703276c06955318f3ea3d2b933776640c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 30 08:08:17 2015 -0500 PCI: rcar: Build pci-rcar-gen2.c only on ARM The pci-rcar-gen2.c driver (controlled by PCI_RCAR_GEN2) uses struct pci_sys_data, which only exists on ARM. Building it on other arches, e.g., arm64/shmobile, causes errors like this: drivers/pci/host/pci-rcar-gen2.c: In function 'rcar_pci_cfg_base': drivers/pci/host/pci-rcar-gen2.c:112:34: error: dereferencing pointer to incomplete type struct rcar_pci_priv *priv = sys->private_data; ^ Build pci-rcar-gen2.c only on ARM. [bhelgaas: changelog, split to separate pci-rcar-gen2 from pcie-rcar] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit e7b63ff115f21ea6c609cbb08f3d489af627af6e Merge: a493bcf cb866e3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 20:51:56 2015 +0900 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-10-30 1) The flow cache is limited by the flow cache limit which depends on the number of cpus and the xfrm garbage collector threshold which is independent of the number of cpus. This leads to the fact that on systems with more than 16 cpus we hit the xfrm garbage collector limit and refuse new allocations, so new flows are dropped. On systems with 16 or less cpus, we hit the flowcache limit. In this case, we shrink the flow cache instead of refusing new flows. We increase the xfrm garbage collector threshold to INT_MAX to get the same behaviour, independent of the number of cpus. 2) Fix some unaligned accesses on sparc systems. From Sowmini Varadhan. 3) Fix some header checks in _decode_session4. We may call pskb_may_pull with a negative value converted to unsigened int from pskb_may_pull. This can lead to incorrect policy lookups. We fix this by a check of the data pointer position before we call pskb_may_pull. 4) Reload skb header pointers after calling pskb_may_pull in _decode_session4 as this may change the pointers into the packet. 5) Add a missing statistic counter on inner mode errors. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75ecc64ef5a1f310fc80f732ad8cfb7e1bdc59d5 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 12:30:06 2015 +0100 i2c: rcar: Revert the latest refactoring series This whole series caused sometimes timeouts and even OOPSes on some r8a7791 Koelsch boards. We need to understand and fix those first. Revert "i2c: rcar: clean up after refactoring" Revert "i2c: rcar: revoke START request early" Revert "i2c: rcar: check master irqs before slave irqs" Revert "i2c: rcar: don't issue stop when HW does it automatically" Revert "i2c: rcar: init new messages in irq" Revert "i2c: rcar: refactor setup of a msg" Revert "i2c: rcar: remove spinlock" Revert "i2c: rcar: remove unused IOERROR state" Revert "i2c: rcar: rework hw init" Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit a493bcf8d6caf28f062c5f8f2ba486fdbf1ae899 Merge: e258d91 8aaa878 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 20:38:24 2015 +0900 Merge tag 'wireless-drivers-next-for-davem-2015-10-29' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== iwlwifi * bug fix for TDLS * fixes and cleanups in scan * support of several scan plans * improvements in FTM * fixes in FW API * improvements in the failure paths when the bus is dead * other various small things here and there ath10k * add QCA9377 support * fw_stats support for 10.4 firmware ath6kl * report antenna configuration to user space * implement ethtool stats ssb * add Kconfig SSB_HOST_SOC for compiling SoC related code * move functions specific to SoC hosted bus to separated file * pick PCMCIA host code support from b43 driver ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77133e1c0352b42af8017d7618dcf8e49452613b Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sun Oct 25 16:20:59 2015 +0100 i2c: pnx: remove superfluous assignment smatch rightfully says: drivers/i2c/busses/i2c-pnx.c:499 i2c_pnx_xfer warn: unused return: stat = ioread32() Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 14cbc1d0e29667b0c01c9202fcf8ac31893f7daa Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sun Oct 25 16:31:24 2015 +0100 MAINTAINERS: i2c: drop i2c-pnx maintainer Vitaly last acked patch was in 2010. He moved on probably... Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> commit b43ddca4a8d8c9b5439898bd3077736091696ceb Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 29 20:52:24 2015 +0100 ALSA: cs46xx: Fix suspend for all channels snd_cs46xx_suspend() is missing snd_pcm_suspend_all calls for pcm_rear, pcm_center_lfe and pcm_iec958. There's also a copy/paste bug in snd_cs46xx_pcm_iec958(), overwriting pcm_rear in struct snd_cs46xx, leaving pcm_iec958 unused. Fix all this to allow all channels to survive suspend/resume. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eed273b785c531ced49adca87efcee2d96bdb2ef Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 29 20:22:06 2015 +0100 ALSA: cs46xx: Fix Duplicate front for CS4294 and CS4298 codecs Currently, the Duplicate front control is enabled only for two specific revisions of CS4294. Enable it for all CS4294 and CS4298 codecs instead. This fixes rear output on my VC-4620N sound card (CS4620 + CS4298 rev.5). Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 630bc46eaf73ead886fea16a8d06731990ab00d8 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Thu Oct 29 08:25:48 2015 +0100 MAINTAINERS: i2c: mark also subdirectories as maintained Otherwise get_maintainer.pl will fall back to git history and CC more people than needed. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e258d919b175e0160a694a20fb309e29fc93d7b1 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Oct 28 23:17:31 2015 -0700 switchdev: fix: pass correct obj size when deferring obj add Fixes: 4d429c5dd ("switchdev: introduce possibility to defer obj_add/del") Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a7bde55a11c4a22a6ccfc487993d621ae8e3688 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Oct 28 23:17:30 2015 -0700 switchdev: fix: erasing too much of vlan obj when handling multiple vlan specs When adding vlans with multiple IFLA_BRIDGE_VLAN_INFO attrs set in AFSPEC, we would wipe the vlan obj struct after the first IFLA_BRIDGE_VLAN_INFO. Fix this by only clearing what's necessary on each IFLA_BRIDGE_VLAN_INFO iteration. Fixes: 9e8f4a54 ("switchdev: push object ID back to object structure") Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 740215ddb5b3faa0006505de073654cc50e9a299 Merge: 5bf8921 f116317 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 20:19:43 2015 +0900 Merge tag 'nfc-next-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next Samuel Ortiz says: ==================== NFC 4.4 pull request This is the NFC pull request for 4.4. It's a bit bigger than usual, the 3 main culprits being: - A new driver for Intel's Fields Peak NCI chipset. In order to support this chipset we had to export a few NCI routines and extend the driver NCI ops to not only support proprietary commands but also core ones. - Support for vendor commands for both STM drivers, st-nci and st21nfca. Those vendor commands allow to run factory tests through the NFC netlink interface. - New i2c and SPI support for the Marvell driver, together with firmware download support for this driver's core. Besides that we also have: - A few file renames in the STM drivers, to keep the naming consistent between drivers. - Some improvements and fixes on the NCI HCI layer, mostly to properly reach a secure element over a legacy HCI link. - A few fixes for the s3fwrn5 and trf7970a drivers. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5bf8921116ce0972c23b78ea2d98e5c0c6a99ae2 Merge: b7b0b1d 324e786 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 19:41:10 2015 +0900 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-10-28 Here are a some more Bluetooth patches for 4.4 which collected up during the past week. The most important ones are from Kuba Pawlak for fixing locking issues with SCO sockets. There's also a fix from Alexander Aring for 6lowpan, a memleak fix from Julia Lawall for the btmrvl driver and some cleanup patches from Marcel. Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13e3008fae342c86dd645b2ec4c669bbb40c5d33 Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Thu Oct 22 13:30:20 2015 +0200 pinctrl: zynq: Initialize early Supplying pinmux configuration for e.g. gpio pins leads to deferred probes because the pinctrl device is probed much later than gpio. Move the init call to a much earlier stage so it probes before the devices that may need it. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Tested-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e25589894e24b07a33b143b9bfd95fe8d2c0a353 Author: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> Date: Wed Oct 28 17:24:16 2015 -0400 gpio: Add ACCES 104-IDIO-16 driver maintainer entry Add William Breathitt Gray as the maintainer of the ACCES 104-IDIO-16 GPIO driver. Signed-off-by: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d9e4ad5badf4ccbfddee208c898fb8fd0c8836b1 Author: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Date: Wed Oct 28 16:14:31 2015 +0900 Document that IRQ_NONE should be returned when IRQ not actually handled Our IRQ storm detection works when an interrupt handler returns IRQ_NONE for thousands of consecutive interrupts in a second. It doesn't hurt to occasionally return IRQ_NONE when the interrupt is actually genuine. Drivers should only be returning IRQ_HANDLED if they have actually *done* something to stop an interrupt from happening â?? it doesn't just mean "this really *was* my device". Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Cc: davem@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1446016471.3405.201.camel@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b7b0b1d290cc89c39607dd47f8047e1071e65692 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Mon Oct 26 11:06:33 2015 -0700 ipv6: recreate ipv6 link-local addresses when increasing MTU over IPV6_MIN_MTU This change makes it so that we reinitialize the interface if the MTU is increased back above IPV6_MIN_MTU and the interface is up. Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bebd23a2ed31d47e7dd746d3b125068aa2c42d85 Merge: 66a565c 7ed4915 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Oct 30 10:09:37 2015 +0100 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 passing C language eBPF scriptlets via --event in all tools, so that it gets built using clang and then pass it to the kernel via sys_bpf(). (Wang Nan) - Wire up the loaded ebpf object file with associated kprobes, so that it can determine if the kprobes will be filtered or not. (Wang Nan) User visible changes: - Add cmd string table to decode sys_bpf first arg in 'trace'. (Arnaldo Carvalho de Melo) - Enable printing of branch stack in 'perf script'. (Stephane Eranian) - Pass the right file with debug info to libunwind. (Rabin Vincent) Build Fixes: - Make sure fixdep is built before libbpf, fixing a race. (Jiri Olsa) - Fix libiberty feature detection. (Rabin Vincent) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a82544c7baccf2d8a12cee46110cc7d356d3edf0 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:16:32 2015 -0500 cxlflash: Fix to avoid bypassing context cleanup Contexts may be skipped over for cleanup in situations where contention for the adapter's table-list mutex is experienced in the presence of a signal during the execution of the release handler. This can lead to two known issues: - A hang condition on remove as that path tries to wait for users to cleanup - something that will never complete should this scenario play out as the user has already cleaned up from their perspective. - An Oops in the unmap_mapping_range() call that is made as part of the user waiting mechanism that is invoked on remove when contexts are found to still exist. The root cause of this issue can be found in get_context() and how the table-list mutex is acquired. As this code path is shared by several different access points within the driver, a decision was made during the development cycle to acquire this mutex in this location using the interruptible version of the mutex locking service. In almost all of the use-cases and environmental scenarios this holds up, even when the mutex is contended. However, for critical system threads (such as the release handler), failing to acquire the mutex and bailing with the intention of the user being able to try again later is unacceptable. In such a scenario, the context _must_ be derived as it is on an irreversible path to being freed. Without being able to derive the context, the code mistakenly assumes that it has already been freed and proceeds to free up the underlying CXL context resources. From this point on, any usage of [the now stale] CXL context resources will result in undefined behavior. This is root cause of the Oops mentioned as the second known issue as the mapping passed to the unmap_mapping_range() service is owned by the CXL context. To fix this problem, acquisition of the table-list mutex within get_context() is simply changed to use the uninterruptible version of the mutex locking service. This is safe as the timing windows for holding this mutex are short and also protected against blocking. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Acked-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0d73122c3229a332286f3a256ba098d124aba066 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:16:24 2015 -0500 cxlflash: Fix to avoid lock instrumentation rejection When running with lock instrumentation (e.g. lockdep), some of the instrumentation can become disabled at probe time for a cxlflash adapter. This is due to a missing lock registration for the tmf_slock. The fix is to call spin_lock_init() for the tmf_slock during probe. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Acked-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1a47401bb397183e0500db2c7d5f8d2a3506598e Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:16:15 2015 -0500 cxlflash: Fix to avoid corrupting port selection mask The port selection mask of a LUN can be corrupted when the manage LUN ioctl (DK_CXLFLASH_MANAGE_LUN) is issued more than once for any device. This mask indicates to the AFU which port[s] can be used for a data transfer to/from a particular LUN. The mask is critical to ensuring the correct behavior when using the virtual LUN function of this adapter. When the mask is configured for both ports, an I/O may be sent to either port as the AFU assumes that each port has access to the same physical device (specified by LUN ID in the port LUN table). In a situation where the mask becomes incorrectly configured to reflect access to both ports when in fact there is only access through a single port, an I/O can be targeted to the wrong physical device. This can lead to data corruption among other ill effects (e.g. security leaks). The cause for this corruption is the assumption that the ioctl will only be called a second time for a LUN when it is being configured for access via a second port. A boolean 'newly_created' variable is used to differentiate between a LUN that was created (and subsequently configured for single port access) and one that is destined for access across both ports. While initially set to 'true', this sticky boolean is toggled to the 'false' state during a lookup on any next ioctl performed on a device with a matching WWN/WWID. The code fails to realize that the match could in fact be the same device calling in again. From here, an assumption is made that any LUN with 'newly_created' set to 'false' is configured for access over both ports and the port selection mask is set to reflect this. Any future attempts to use this LUN for hosting a virtual LUN will result in the port LUN table being incorrectly programmed. As a remedy, the 'newly_created' concept was removed entirely and replaced with code that always constructs the port selection mask based upon the SCSI channel of the LUN being accessed. The bits remain sticky, therefore allowing for a device to be accessed over both ports when that is in fact the correct physical configuration. Also included in this commit are a few minor related changes to enhance the fix and provide better debug information for port selection mask and port LUN table bugs in the future. These include renaming refresh_local() to lookup_local(), tracing the WWN/WWID as a big-endian entity, and tracing the port selection mask, SCSI channel, and LUN ID each time the port LUN table is programmed. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Acked-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e6e6df3f71a0b567e55d17b08f5bad8f1043afa3 Author: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:16:07 2015 -0500 cxlflash: Fix to escalate to LINK_RESET on login timeout A 'login timed out' asynchronous error interrupt is generated if no response is seen to a FLOGI within 2 seconds. If the time out error is not escalated to a LINK_RESET the port will not be available for use. This fix provides the required escalation. Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Acked-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ee3491ba8f1f7e7cc1302d727ee7055e5c748524 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:16:00 2015 -0500 cxlflash: Fix to avoid leaving dangling interrupt resources When running with an unsupported AFU, the cxlflash driver fails the probe. When the driver is removed, the following Oops is encountered on a show_interrupts() thread: Call Trace: [c000001fba5a7a10] [0000000000000003] 0x3 (unreliable) [c000001fba5a7a60] [c00000000053dcf4] vsnprintf+0x204/0x4c0 [c000001fba5a7ae0] [c00000000030045c] seq_vprintf+0x5c/0xd0 [c000001fba5a7b20] [c00000000030051c] seq_printf+0x4c/0x60 [c000001fba5a7b50] [c00000000013e140] show_interrupts+0x370/0x4f0 [c000001fba5a7c10] [c0000000002ff898] seq_read+0xe8/0x530 [c000001fba5a7ca0] [c00000000035d5c0] proc_reg_read+0xb0/0x110 [c000001fba5a7cf0] [c0000000002ca74c] __vfs_read+0x6c/0x180 [c000001fba5a7d90] [c0000000002cb464] vfs_read+0xa4/0x1c0 [c000001fba5a7de0] [c0000000002cc51c] SyS_read+0x6c/0x110 [c000001fba5a7e30] [c000000000009204] system_call+0x38/0xb4 The Oops is due to not cleaning up correctly on the unsupported AFU error path, leaving various allocated and registered resources. In this case, interrupts are in a semi-allocated/registered state, which the show_interrupts() thread attempts to use. To fix, the cleanup logic in init_afu() is consolidated to error gates at the bottom of the function and the appropriate goto is added to each error path. As a mini side fix while refactoring in this routine, the else statement following the AFU version evaluation is eliminated as it is not needed. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Acked-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit aacb4ff69eea4ac47a7389f90ea7a896abbe92f5 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:52 2015 -0500 cxlflash: Fix to avoid potential deadlock on EEH Ioctl threads that use scsi_execute() can run for an excessive amount of time due to the fact that they have lengthy timeouts and retry logic built in. Under normal operation this is not an issue. However, once EEH enters the picture, a long execution time coupled with the possibility that a timeout can trigger entry to the driver via registered reset callbacks becomes a liability. In particular, a deadlock can occur when an EEH event is encountered while in running in scsi_execute(). As part of the recovery, the EEH handler drains all currently running ioctls, waiting until they have completed before proceeding with a reset. As the scsi_execute()'s are situated on the ioctl path, the EEH handler will wait until they (and the remainder of the ioctl handler they're associated with) have completed. Normally this would not be much of an issue aside from the longer recovery period. Unfortunately, the scsi_execute() triggers a reset when it times out. The reset handler will see that the device is already being reset and wait until that reset completed. This creates a condition where the EEH handler becomes stuck, infinitely waiting for the ioctl thread to complete. To avoid this behavior, temporarily unmark the scsi_execute() threads as an ioctl thread by releasing the ioctl read semaphore. This allows the EEH handler to proceed with a recovery while the thread is still running. Once the scsi_execute() returns, the ioctl read semaphore is reacquired and the adapter state is rechecked in case it changed while inside of scsi_execute(). The state check will wait if the adapter is still being recovered or returns a failure if the recovery failed. In the event that the adapter reset failed, the failure is simply returned as the ioctl would be unable to continue. Reported-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fa3f2c6eb1eb69a9023d648c5bafbf4f062ab84d Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:45 2015 -0500 cxlflash: Correct trace string The trace following the failure of alloc_mem() incorrectly identifies which function failed. This can lead to misdiagnosing a failure. Fix the string to correctly indicate that alloc_mem() failed. Reported-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 17ead26f23e99ab0bb14e0876adab0ee151711f7 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:37 2015 -0500 cxlflash: Fix to avoid corrupting adapter fops The fops owned by the adapter can be corrupted in certain scenarios, opening a window where certain fops are temporarily NULLed before being reset to their proper value. This can potentially lead software to make incorrect decisions, leaving the user with the inability to function as intended. An example of this behavior can be observed when there are a number of users with a high rate of turn around (attach to LUN, perform an I/O, detach from LUN, repeat). Every so often a user is given a valid context and adapter file descriptor, but the file associated with the descriptor lacks the correct read permission bit (FMODE_CAN_READ) and thus the read system call bails before calling the valid read fop. Background: The fops is stored in the adapter structure to provide the ability to lookup the adapter structure from within the fop handler. CXL services use the file's private_data and at present, the CXL context does not have a private section. In an effort to limit areas of the cxlflash driver with code specific the superpipe function, a design choice was made to keep the details of the fops situated away from the legacy portions of the driver. This drove the behavior that the adapter fops is set at the beginning of the disk attach ioctl handler when there are no users present. The corruption that this fix remedies is due to the fact that the fops is initially defaulted to values found within a static structure. When the fops is handed down to the CXL services later in the attach path, certain services are patched. The fops structure remains correct until the user count drops to 0 and the fops is reset, triggering the process to repeat again. The user counts are tightly coupled with the creation and deletion of the user context. If multiple users perform a disk attach at the same time, when the user count is currently 0, some users can be in the middle of obtaining a file descriptor and have not yet reached the context creation code that [in addition to creating the context] increments the user count. Subsequent users coming in to perform the attach see that the user count is still 0, and reinitialize the fops, temporarily removing the patched fops. The users that are in the middle obtaining their file descriptor may then receive an invalid descriptor. The fix simply removes the user count altogether and moves the fops initialization to probe time such that it is only performed one time for the life of the adapter. In the future, if the CXL services adopt a private member for their context, that could be used to store the adapter structure reference and cxlflash could revert to a model that does not require an embedded fops. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b22b4037a013e9ce77cec79d95fdcdc9bece0955 Author: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:30 2015 -0500 cxlflash: Fix to double the delay each time The operator used to double the master context response delay is incorrect and does not result in delay doubling. To fix, use a left shift instead of the XOR operator. Reported-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 11f43ae7735a04994ef3c33295d386ef4e5529b7 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:22 2015 -0500 MAINTAINERS: Add cxlflash driver Add stanza for cxlflash SCSI driver. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit af10483e5e1201e1dcf5836207879e6eb5eb9fd5 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:14 2015 -0500 cxlflash: Fix to prevent stale AFU RRQ Following an adapter reset, the AFU RRQ that resides in host memory holds stale data. This can lead to a condition where the RRQ interrupt handler tries to process stale entries and/or endlessly loops due to an out of sync generation bit. To fix, the AFU RRQ in host memory needs to be cleared after each reset. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f15fbf8d4eb0c20b7c70096788161d69e23f1a9d Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:06 2015 -0500 cxlflash: Correct spelling, grammar, and alignment mistakes There are several spelling and grammar mistakes throughout the driver. Additionally there are a handful of places where there are extra lines and unnecessary variables/statements. These are a nuisance and pollute the driver. Fix spelling and grammar issues. Update some comments for clarity and consistency. Remove extra lines and a few unneeded variables/statements. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8e78262328ecfbe9d72ac40328ecf5e7ff6fc3bf Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:56 2015 -0500 cxlflash: Fix to prevent EEH recovery failure The process_sense() routine can perform a read capacity which can take some time to complete. If an EEH occurs while waiting on the read capacity, the EEH handler will wait to obtain the context's mutex in order to put the context in an error state. The EEH handler will sit and wait until the context is free, but this wait can potentially last forever (deadlock) if the scsi_execute() that performs the read capacity experiences a timeout and calls into the reset callback. When that occurs, the reset callback sees that the device is already being reset and waits for the reset to complete. This leaves two threads waiting on the other. To address this issue, make the context unavailable to new, non-system owned threads and release the context while calling into process_sense(). After returning from process_sense() the context mutex is reacquired and the context is made available again. The context can be safely moved to the error state if needed during the unavailable window as no other threads will hold its reference. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1786f4a0933198632c5e4d27f25e1d467e1fd032 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:48 2015 -0500 cxlflash: Fix MMIO and endianness errors Sparse uncovered several errors with MMIO operations (accessing directly) and handling endianness. These can cause issues when running in different environments. Introduce __iomem and proper endianness tags/swaps where appropriate to make driver sparse clean. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1284fb0cff10fcc3df1e9a50a795868d346fa647 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:40 2015 -0500 cxlflash: Fix function prolog parameters and return codes Several function prologs have incorrect parameter names and return code descriptions. This can lead to confusion when reviewing the source and creates inaccurate documentation. To remedy, update the function prologs to properly reflect parameter names and return codes. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6ef6f94060dc435742a4ff5feae2b2c4b2e57077 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:32 2015 -0500 cxlflash: Remove unnecessary scsi_block_requests The host reset handler is called with I/O already blocked, thus there is no need to explicitly block and unblock I/O in the handler. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ed486daad27afdcb24cee4ea0b1c9f44281e74fc Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:24 2015 -0500 cxlflash: Correct behavior in device reset handler following EEH When the device reset handler is entered while a reset operation is taking place, the handler exits without actually sending a reset (TMF) to the targeted device. This behavior is incorrect as the device is not reset. Further complicating matters is the fact that a success is returned even when the TMF was not sent. To fix, the state is rechecked after coming out of the reset state. When the state is normal, a TMF will be sent out. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d804621d0275da84caedcf2d6cf03fbe3c9ac3aa Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:17 2015 -0500 cxlflash: Fix to prevent workq from accessing freed memory The workq can process work in parallel with a remove event, leading to a condition where the workq handler can access freed memory. To remedy, the workq should be terminated prior to freeing memory. Move the termination call earlier in remove and use cancel_work_sync() instead of flush_work() as there is not a need to process any scheduled work when shutting down. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8b5b1e871a736e93e6ef1b048c276975e7421e04 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:09 2015 -0500 cxlflash: Correct usage of scsi_host_put() Currently, scsi_host_put() is being called prematurely in the remove path and is missing entirely in an error cleanup path. The former can lead to memory being freed too early with subsequent access potentially corrupting data whilst the former would result in a memory leak. Move the usage on remove to be the last cleanup action taken and introduce a call to scsi_host_put() in the one initialization error path that does not use remove to cleanup. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e5ce067b7b6e123a88929a18a8a58811ffcec279 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:01 2015 -0500 cxlflash: Fix AFU version access/storage and add check The AFU version is stored as a non-terminated string of bytes within a 64-bit little-endian register. Presently the value is read directly (no MMIO accessor) and is stored in a buffer that is not big enough to contain a NULL terminator. Additionally the version obtained is not evaluated against a known value to prevent usage with unsupported AFUs. All of these deficiencies can lead to a variety of problems. To remedy, use the correct MMIO accessor to read the version value into a null-terminated buffer and add a check to prevent an incompatible AFU from being used with this driver. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 964497b3bf3fed0a1db9dabe9fe080853230e5a7 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:54 2015 -0500 cxlflash: Remove dual port online dependency At present, both ports must be online for the device to configure properly. Remove this dependency and the unnecessary internal LUN override logic as well. Additionally, as a refactoring measure, change the return code variable name to match that used throughout the driver. With this change, the card will be able to configure even when the link is down. At some later point when the link is transitioned to 'up', a link state change interrupt will trigger the port configuration. Note that despite its void-like behavior, the function was left with a return code for right now in case its behavior needs to be altered again in the near future based on testing. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 16798d3448d33af336e89f8cc6e72a0a3d04e230 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:45 2015 -0500 cxlflash: Fix async interrupt bypass logic A bug was introduced earlier in the development cycle when cleaning up logic statements. Instead of skipping bits that are not set, set bits are skipped, causing async interrupts to not be handled correctly. To fix, simply add back in the proper evaluation for an unset bit. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ef51074a4efef50873fb8939e7feba5dd55488da Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:37 2015 -0500 cxlflash: Fix host link up event handling Following a link up event, the LUNs available to the host may have changed. Without rescanning the host, the LUN topology is unknown to the user. In such a state, the user would be unable to locate provisioned resources. To remedy, the host should be rescanned after a link up event. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8396012ff77affe4def5f0e5757b6c4e8107b33e Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:29 2015 -0500 cxlflash: Fix location of setting resid The resid is incorrectly set which can lead to unnecessary retry attempts by the stack. This is due to resid _always_ being set using a value returned from the adapter. Instead, the value should only be interpreted and set when in an underrun scenario. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 018d1dc9558e748e271cd1600c698f68cba3fb09 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:21 2015 -0500 cxlflash: Fix to avoid stall while waiting on TMF Borrowing the TMF waitq's spinlock causes a stall condition when waiting for the TMF to complete. To remedy, introduce our own spin lock to serialize TMF and use the appropriate wait services. Also add a timeout while waiting for a TMF completion. When a TMF times out, report back a failure such that a bigger hammer reset can occur. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4392ba49eb248868afb412ea147ab16e2e606d66 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:11 2015 -0500 cxlflash: Fix to avoid spamming the kernel log During run-time the driver can be very chatty and spam the system kernel log. Various print statements can be limited and/or moved to development-only mode. Additionally, numerous prints can be converted to trace the corresponding device. Lastly, one spelling correction was made: 'entra' to 'extra'. The following changes were made: - pr_debug to pr_devel - pr_debug to pr_debug_ratelimited - pr_err to dev_err - pr_debug to dev_dbg Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e0f01a21c423c9e58874a9392a69354b7927fca2 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:12:39 2015 -0500 cxlflash: Refine host/device attributes Implement the following suggestions and add two new attributes to allow for debugging the port LUN table. - use scnprintf() instead of snprintf() - use DEVICE_ATTR_RO and DEVICE_ATTR_RW Suggested-by: Shane Seymour <shane.seymour@xxxxxx> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 15305514184875728a545204db893a3c5157fc65 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:12:10 2015 -0500 cxlflash: Make functions static Found during code inspection, that the following functions are not being used outside of the file where they are defined. Make them static. int cxlflash_send_cmd(struct afu *, struct afu_cmd *); void cxlflash_wait_resp(struct afu *, struct afu_cmd *); int cxlflash_afu_reset(struct cxlflash_cfg *); struct afu_cmd *cxlflash_cmd_checkout(struct afu *); void cxlflash_cmd_checkin(struct afu_cmd *); void init_pcr(struct cxlflash_cfg *); int init_global(struct cxlflash_cfg *); Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 439e85c1e89bd1ed8c99f8b46f87f495a675d95e Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:12:00 2015 -0500 cxlflash: Correct naming of limbo state and waitq Limbo is not an accurate representation of this state and is also not consistent with the terminology that other drivers use to represent this concept. Rename the state and and its associated waitq to 'reset'. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0a27ae514740b4d64b586043d6b837ad5d0c40f8 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:11:52 2015 -0500 cxlflash: Fix to avoid CXL services during EEH During an EEH freeze event, certain CXL services should not be called until after the hardware reset has taken place. Doing so can result in unnecessary failures and possibly cause other ill effects by triggering hardware accesses. This translates to a requirement to quiesce all threads that may potentially use CXL runtime service during this window. In particular, multiple ioctls make use of the CXL services when acting on contexts on behalf of the user. Thus, it is essential to 'drain' running ioctls _before_ proceeding with handling the EEH freeze event. Create the ability to drain ioctls by wrapping the ioctl handler call in a read semaphore and then implementing a small routine that obtains the write semaphore, effectively creating a wait point for all currently executing ioctls. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a76df368beb31f55aca03c6cd34c272b86e49470 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:11:43 2015 -0500 cxlflash: Fix context encode mask width The context encode mask covers more than 32-bits, making it a long integer. This should be noted by appending the ULL width suffix to the mask. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e568e23f3c6d7bf60ce00a4e8f1331a5b38bbea0 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:11:34 2015 -0500 cxlflash: Fix to avoid sizeof(bool) Using sizeof(bool) is considered poor form for various reasons and sparse warns us of that. Correct by changing type from bool to u8. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2843fdbddd188edb4d7e60f72f513ad8b82d1a54 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:11:26 2015 -0500 cxlflash: Fix data corruption when vLUN used over multiple cards If the same virtual LUN is accessed over multiple cards, only accesses made over the first card will be valid. Accesses made over the second card will go to the wrong LUN causing data corruption. This is because the global LUN's mode word was being used to determine whether the LUN table for that card needs to be programmed. The mode word would be setup by the first card, causing the LUN table for the second card to not be programmed. By unconditionally initializing the LUN table (not depending on the mode word), the problem is avoided. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 22fe1ae80fd14cb64be61d004b5e6c324bb6e984 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:11:18 2015 -0500 cxlflash: Fix potential oops following LUN removal When a LUN is removed, the sdev that is associated with the LUN remains intact until its reference count drops to 0. In order to prevent an sdev from being removed while a context is still associated with it, obtain an additional reference per-context for each LUN attached to the context. This resolves a potential Oops in the release handler when a dealing with a LUN that has already been removed. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 471a5a60aaf13b2323d2b63d212bbdd6ce2bef28 Author: Manoj Kumar <kumarmn@xxxxxxxxxx> Date: Wed Oct 21 15:11:10 2015 -0500 cxlflash: Fix read capacity timeout The timeout value for read capacity is too small. Certain devices may take longer to respond and thus the command may prematurely timeout. Additionally the literal used for the timeout is stale. Update the timeout to 30 seconds (matches the value used in sd.c) and rework the timeout literal to a more appropriate description. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3ebf203093b4ee07d62ef1a02dbbf7a293770388 Author: Manoj Kumar <kumarmn@xxxxxxxxxx> Date: Wed Oct 21 15:11:00 2015 -0500 cxlflash: Replace magic numbers with literals Magic numbers are not meaningful and can create confusion. As a remedy, replace them with descriptive literals. Replace 512 with literal MAX_SECTOR_UNIT. Replace 5 with literal CMD_RETRIES. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fa4aa632da19fba0154b66a50329acd738304291 Author: Manoj Kumar <kumarmn@xxxxxxxxxx> Date: Wed Oct 21 15:10:31 2015 -0500 cxlflash: Fix to avoid invalid port_sel value If two concurrent MANAGE_LUN ioctls are issued with the same WWID parameter, it would result in an incorrect value of port_sel. This is because port_sel is modified without any locks being held. If the first caller stalls after the return from find_and_create_lun(), the value of port_sel will be set incorrectly to indicate a single port, though in this case it should have been set to both ports. To fix, use the global mutex to serialize the lookup of the WWID and the subsequent modification of port_sel. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6ef68c17d40e1e7e291ca513627a0d2a13ae095f Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 22 15:16:22 2015 +0200 drm/amdgpu: remove amdgpu_fence_ref/unref Just move the remaining users to fence_put/get. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 16545c32a5242634a51c6906533750cf1db54879 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 22 15:04:50 2015 +0200 drm/amdgpu: use common fence for sync Stop using the driver internal functions. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 24233860b97c46eb943215d761e03f6f2e1285a6 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 22 10:53:16 2015 +0200 drm/amdgpu: use the new fence_is_later Instead of coding the check ourself. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d52832986aa52ea18940e817d5d04c081c2f42f3 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 22 11:55:58 2015 +0200 drm/amdgpu: use common fences for VMID management v2 v2: add missing NULL check. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8120b61fdf3d3aa31d6b7e4a4f633bec1d2edd38 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 22 11:29:33 2015 +0200 drm/amdgpu: move ring_from_fence to common code Going to need that elsewhere as well. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ee327caf1a2cdba9313167c36db2d7ff02d534bc Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Oct 20 17:38:07 2015 +0200 drm/amdgpu: switch to common fence_wait_any_timeout v2 No need to duplicate the functionality any more. v2: fix handling if no fence is available. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v1) commit 318cd340c5573a1f021f5b7711893133fe5e8480 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 15 17:58:09 2015 +0200 drm/amdgpu: remove unneeded fence functions amdgpu_fence_default_wait isn't needed any more the default wait does the same thing and amdgpu_test_signaled is dead as well. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 6c455ac17bcf4beae6c094a1007b976b60b4bb57 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Oct 21 12:58:17 2015 +0200 dma-buf/fence: add fence_is_later() Return true when fence 1 is later than fence 2 without checking if any of them are signaled. Useful for driver specific resource handling based on fences. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a519435a96597d8cd96123246fea4ae5a6c90b02 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Oct 20 16:34:16 2015 +0200 dma-buf/fence: add fence_wait_any_timeout function v2 Waiting for the first fence in an array of fences to signal. This is useful for device driver specific resource managers and also Vulkan needs something similar. v2: more parameter checks, handling for timeout==0, remove NULL entry support, better callback removal. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> commit ee6259382ca8f723a2cc90841f903667c7720584 Merge: 65bdc43 c7070fc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 12:27:07 2015 +0900 Merge branch 'mlxsw-flooding-and-cosmetics' Jiri Pirko says: ==================== mlxsw: driver update This driver update mainly brings support for user to be able to setup flooding on specified port, via bridge flag. Also, there is a fix in ageing time conversion. The rest is just cosmetics. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7070fc4ecb50bee801cef85483e043d0ba1dd27 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:05 2015 +0100 mlxsw: spectrum: Make mlxsw_sp_port_switchdev_ops static Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9324f68eea7b01bde25ab4c204227f3583b92ba Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:04 2015 +0100 mlxsw: Put braces on all arms of branch statement Fix a place where checkpatch complains that braces should be used on all arms of this statement. Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef743fddb33f47b34c852f26fbd2057c72c70016 Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:03 2015 +0100 mlxsw: Put constant on the right side of comparisons Fixes those places where checkpatch complains that comparisons should place the constant on the right side of the test. Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 135f9eceb7fa0287e535f9ec921485661e9d6667 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:02 2015 +0100 mlxsw: spectrum: Fix ageing time value The value passed through switchdev attr set is not in jiffies, but in clock_t, so fix the convert. Reported-by: Sagi Rotem <sagir@xxxxxxxxxxxx> Fixes: 56ade8fe3f ("mlxsw: spectrum: Add initial support for Spectrum ASIC") Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75c09280feddcf5c01c00aa11881c4b38559e2ef Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:01 2015 +0100 mlxsw: reg: Avoid unnecessary line wrap for mlxsw_reg_sfd_uc_unpack Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8316f087f7c62a2d21ec4e72926ec07ce777fe48 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:00 2015 +0100 mlxsw: reg: Fix desription typos of couple of SFN items Fix copy-paste errors. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e9ec0839b4994ebc764d8067832dd079336c42f Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:59 2015 +0100 mlxsw: reg: Fix description for reg_sfd_uc_sub_port The original description was for LAG, so fix it. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0293038e0c36db45f2ea4e4e4a8ce0a0faa62139 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:58 2015 +0100 mlxsw: spectrum: Add support for flood control Add or remove a bridged port from the flooding domain of unknown unicast packets according to user configuration. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b3433a942922953df43ef0bc0172119041364c5 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:57 2015 +0100 mlxsw: spectrum: Add support for VLAN ranges in flooding configuration When enabling a range of VLANs on a bridged port we can configure flooding for these VLANs by one register access instead of calling the same register for each VLAN. This is accomplished by using the 'range' field of the Switch Flooding Table Register (SFTR). Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d9b970cee612968c6b888b93736d991762b9edb Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:56 2015 +0100 mlxsw: spectrum: move "bridged" bool to u8 flags It is a flag anyway, so move it to existing u8 flag and don't waste mem. Fix the flags to be in single u8 on the way. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 371e59adcebf9953385bf46d5325ac39a53c5520 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:55 2015 +0100 switchdev: Make flood to CPU optional In certain use cases it is not always desirable for the switch device to flood traffic to CPU port. Instead, only certain packet types (e.g. STP, LACP) should be trapped to it. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 741af0053b43d8b9a688a12c57ece62338616ae8 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:54 2015 +0100 switchdev: Add support for flood control Allow devices supporting this feature to control the flooding of unknown unicast traffic, by making switchdev infrastructure propagate this setting to the switch driver. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65bdc43d2220bc97af037c87aba2407b46f13c2a Merge: b7af147 6ccbe6b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 12:21:57 2015 +0900 Merge branch 'xgene_txrx_delay' Iyappan Subramanian says: ==================== drivers: xgene: Add support RGMII TX/RX delay configuration X-Gene RGMII ethernet controller has a RGMII bridge that performs the task of converting the RGMII signal {RX_CLK,RX_CTL, RX_DATA[3:0]} from PHY to GMII signal {RX_DV,RX_ER,RX_DATA[7:0]} and vice versa. This RGMII bridge has a provision to internally delay the input RX_CLK and the output TX_CLK using configuration registers. This will help in maintain the CLK-CTL delay relationship in various operating conditions. This patch adds support RGMII TX/RX delay configuration. ==================== Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ccbe6b248ef8cc31477a388ea9841b56030bea9 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 26 15:25:16 2015 -0700 Documentation: dts: xgene: Add TX/RX delay field Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16615a4c6f4d54d7655dff19e7061c76043f907d Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 26 15:25:15 2015 -0700 drivers: net: xgene: Add support RGMII TX/RX delay configuration Add RGMII TX/RX delay configuration support. RGMII standard requires 2ns delay to help the RGMII bridge receiver to sample data correctly. If the default value does not provide proper centering of the data sample, the TX/RX delay parameters can be used to adjust accordingly. Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7af1472afa2228bd9fe8b4cea3b003b4027d72d Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 07:52:56 2015 -0700 bridge: set is_local and is_static before fdb entry is added to the fdb hashtable Problem Description: We can add fdbs pointing to the bridge with NULL ->dst but that has a few race conditions because br_fdb_insert() is used which first creates the fdb and then, after the fdb has been published/linked, sets "is_local" to 1 and in that time frame if a packet arrives for that fdb it may see it as non-local and either do a NULL ptr dereference in br_forward() or attach the fdb to the port where it arrived, and later br_fdb_insert() will make it local thus getting a wrong fdb entry. Call chain br_handle_frame_finish() -> br_forward(): But in br_handle_frame_finish() in order to call br_forward() the dst should not be local i.e. skb != NULL, whenever the dst is found to be local skb is set to NULL so we can't forward it, and here comes the problem since it's running only with RCU when forwarding packets it can see the entry before "is_local" is set to 1 and actually try to dereference NULL. The main issue is that if someone sends a packet to the switch while it's adding the entry which points to the bridge device, it may dereference NULL ptr. This is needed now after we can add fdbs pointing to the bridge. This poses a problem for br_fdb_update() as well, while someone's adding a bridge fdb, but before it has is_local == 1, it might get moved to a port if it comes as a source mac and then it may get its "is_local" set to 1 This patch changes fdb_create to take is_local and is_static as arguments to set these values in the fdb entry before it is added to the hash. Also adds null check for port in br_forward. Fixes: 3741873b4f73 ("bridge: allow adding of fdb entries pointing to the bridge device") Reported-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8812fa88371ae567c907448d9a7ba62d09b90c9 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Tue Oct 27 09:49:00 2015 -0400 geneve: add IPv6 bits to geneve_fill_metadata_dst Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a56f86f1be6a381345800d69999eaff87e0161d Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Oct 26 17:01:45 2015 -0400 geneve: handle ipv6 priority like ipv4 tos Other callers of udp_tunnel6_xmit_skb just pass 0 for the prio argument. Jesse Gross <jesse@xxxxxxxxxx> suggested that prio is really the same as IPv4's tos and should be handled the same, so this is my interpretation of that suggestion. Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Reported-by: Jesse Gross <jesse@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ed66f0e8235118a31720acdab3bbbe9debd0f6a Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Oct 26 17:01:44 2015 -0400 geneve: implement support for IPv6-based tunnels NOTE: Link-local IPv6 addresses for remote endpoints are not supported, since the driver currently has no capacity for binding a geneve interface to a specific link. Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0db642151ad80967e9e1c2abf3e19bd7902ecdc9 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 28 15:13:43 2015 +0200 spi: pxa2xx: Rework self-initiated platform data creation for non-ACPI Extend the pxa2xx_spi_acpi_get_pdata() so that it can create platform data also on platforms that do not support ACPI or if CONFIG_ACPI is not set. Now it is expected that "pxa2xx-spi" platform device is either created with explicit platform data or has an ACPI companion device. However there is only little in pxa2xx_spi_acpi_get_pdata() that is really dependent on ACPI companion and it can be reworked to cover also cases where "pxa2xx-spi" device doesn't have ACPI companion and is created without platform data. Do this by renaming the pxa2xx_spi_acpi_get_pdata(), moving it outside of CONFIG_ACPI test and changing a few runtime tests there to support non-ACPI case. Only port/bus ID setting based on ACPI _UID is dependent on ACPI and is moved to own function inside CONFIG_ACPI. Purpose of this to support non-ACPI case for those PCI enumerated compound devices that integrate both LPSS SPI host controller and integrated DMA engine under the same PCI ID and which are registered in MFD layer instead of in spi-pxa2xx-pci.c. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b7c08cf85c9a3a4b05474b7acacc9fbce8fb3eaf Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 28 15:13:42 2015 +0200 spi: pxa2xx: Add support for Intel Broxton LPSS SPI in Intel Broxton is otherwise the same than in Intel Sunrisepoint but it supports up to four chip selects per port and has different FIFO thresholds. Patch adds support for two Broxton SoC variants. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8b136baa5892f25bba0373d6eb0f5f84efc93986 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 28 15:13:41 2015 +0200 spi: pxa2xx: Detect number of enabled Intel LPSS SPI chip select signals SPI capabilities register located in private registers space of newer Intel LPSS SPI host controllers tell in register bits 12:9 which chip select signals are enabled. Use that information for detecting the number of chip selects. For simplicity we assume chip selects are enabled one after another without disabled chip selects between. For instance CS0 | CS1 | CS2 but not CS0 | CS1 | CS3. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d0283eb2dbc11ec08375fdf6a436e96d25b3a593 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 28 15:13:40 2015 +0200 spi: pxa2xx: Add output control for multiple Intel LPSS chip selects Intel LPSS SPI host controllers in upcoming Intel platforms can have up to 4 chip selects per port. Extend chip select control in lpss_ssp_cs_control() by adding a code that selects the active chip select output prior to changing the state. Detection for number of enabled chip select signals will be added by another patch. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 624ea72ebddc1f61d32c9e6265f8d6f6dacd26d6 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 28 15:13:39 2015 +0200 spi: pxa2xx: Use LPSS prefix for defines that are Intel LPSS specific Rename a few defines that are specific to Intel LPSS SPI private registers with LPSS prefix. It makes easier to distinguish them from common defines. Suggested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ad5f498f610fa3fd8bd265139098bc1405cd2783 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Tue Oct 27 19:06:55 2015 -0400 dm: initialize non-blk-mq queue data before queue is used Commit bfebd1cdb497a57757c83f5fbf1a29931591e2a4 ("dm: add full blk-mq support to request-based DM") moves the initialization of the fields backing_dev_info.congested_fn, backing_dev_info.congested_data and queuedata from the function dm_init_md_queue (that is called when the device is created) to dm_init_old_md_queue (that is called after the device type is determined). There is no locking when accessing these variables, thus it is possible for other parts of the kernel to briefly see this data in a transient state (e.g. queue->backing_dev_info.congested_fn initialized and md->queue->backing_dev_info.congested_data uninitialized, resulting in passing an incorrect parameter to the function dm_any_congested). This queue data is left initialized for blk-mq devices even though they that don't use it. Fixes: bfebd1cdb497 ("dm: add full blk-mq support to request-based DM") Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v4.1+ commit 5a60adafb95263d63dfaaf7168680c4b7e50b370 Author: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Date: Wed Oct 28 17:41:59 2015 +0800 spi: Add DSPI support for layerscape family LS1043a and LS2080A in the Layerscape family also support DSPI, make DSPI selectable for these hardwares. Signed-off-by: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e6b5140b706689a38aaeabd9de8fb3e1531cf9cb Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Oct 29 08:57:30 2015 -0500 spi: ti-qspi: improve ->remove() callback there's no need to call pm_runtime_get_sync() followed by pm_runtime_put(). We should, instead, just call pm_runtime_put_sync() and pm_runtime_disable(). Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a76edb8cec0cc864c8b72fa7e84a72336e033e23 Merge: f1a04d8 48aa1e7 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 30 09:49:06 2015 +1000 Merge tag 'topic/drm-misc-2015-10-22' of git://anongit.freedesktop.org/drm-intel into drm-next Few more drm-misc stragglers for 4.4. Big thing is the generic probe for imx/rockchip/armada (but the variant for msm/rpi/exynos is still missing). Also the hdmi clocking fixes from Ville which was a lot of confusion about which tree it should be applied to ;-) * tag 'topic/drm-misc-2015-10-22' of git://anongit.freedesktop.org/drm-intel: drm: correctly check failed allocation vga_switcheroo: Constify vga_switcheroo_handler drm/armada: Convert the probe function to the generic drm_of_component_probe() drm/rockchip: Convert the probe function to the generic drm_of_component_probe() drm/imx: Convert the probe function to the generic drm_of_component_probe() drm: Introduce generic probe function for component based masters. drm/edid: Round to closest when computing the CEA/HDMI alternate clock drm/edid: Fix up clock for CEA/HDMI modes specified via detailed timings commit f1a04d82585032d906e6a7d5b16d38a369033bd0 Merge: 974e59b ed885b2 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 30 09:48:28 2015 +1000 Merge branch 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-next More amdgpu and radeon stuff for drm-next. Stoney support is the big change. The rest is just bug fixes and code cleanups. The Stoney stuff is pretty low impact with respect to existing chips. * 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux: drm/amdgpu: change VM size default to 64GB drm/amdgpu: add Stoney pci ids drm/amdgpu: update the core VI support for Stoney drm/amdgpu: add VCE support for Stoney (v2) drm/amdgpu: add UVD support for Stoney drm/amdgpu: add GFX support for Stoney (v2) drm/amdgpu: add SDMA support for Stoney (v2) drm/amdgpu: add DCE support for Stoney drm/amdgpu: Update SMC/DPM for Stoney drm/amdgpu: add GMC support for Stoney drm/amdgpu: add Stoney chip family drm/amdgpu: fix the broken vm->mutex V2 drm/amdgpu: remove the unnecessary parameter adev for amdgpu_fence_wait_any() drm/amdgpu: remove the exclusive lock drm/amdgpu: remove old lockup detection infrastructure drm: fix trivial typos drm/amdgpu/dce: simplify suspend/resume drm/amdgpu/gfx8: set TC_WB_ACTION_EN in RELEASE_MEM packet drm/radeon: Use rdev->gem.mutex to protect hyperz/cmask owners commit 974e59ba0bc3bcc94d11fce9b34c10af32b5930f Merge: d7e1bc3 606bb5e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 30 09:45:33 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-10-22' of git://anongit.freedesktop.org/drm-intel into drm-next Bunch of -fixes for 4.4. Well not just, I've left the mmio/register work from Ville in here since it's low-risk but lots of churn all over. * tag 'drm-intel-next-fixes-2015-10-22' of git://anongit.freedesktop.org/drm-intel: (23 commits) drm/i915: Use round to closest when computing the CEA 1.001 pixel clocks drm/i915: Kill the leftover RMW from ivb_sprite_disable() drm/i915: restore ggtt double-bind avoidance drm/i915/skl: Enable pipe gamma for sprite planes. drm/i915/skl+: Enable pipe CSC on cursor planes. (v2) MAINTAINERS: add link to the Intel Graphics for Linux web site drm/i915: Move skl/bxt gt specific workarounds to ring init drm/i915: Drop i915_gem_obj_is_pinned() from set-cache-level drm/i915: revert a few more watermark commits drm/i915: Remove dev_priv argument from NEEDS_FORCE_WAKE drm/i915: Clean up LVDS register handling drm/i915: Throw out some useless variables drm/i915: Parametrize and fix SWF registers drm/i915: s/PIPE_FRMCOUNT_GM45/PIPE_FRMCOUNT_G4X/ etc. drm/i915: Turn GEN5_ASSERT_IIR_IS_ZERO() into a function drm/i915: Fix a few bad hex numbers in register defines drm/i915: Protect register macro arguments drm/i915: Include gpio_mmio_base in GMBUS reg defines drm/i915: Parametrize HSW video DIP data registers drm/i915: Eliminate weird parameter inversion from BXT PPS registers ... commit 04ccb89073e7cfc31d9b9208d32b2cdf84a4d97d Merge: 8a28d67 ae93580 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 30 09:32:59 2015 +1000 Merge branch 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-fixes regression fix for backlight on old laptops. * 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: fix dpms when driver backlight control is disabled drm/radeon: move bl encoder assignment into bl init commit af86fa4001ca5644ae20cc2c52cdf67bb7db9752 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Tue Oct 20 11:36:53 2015 -0500 sparc/PCI: Add mem64 resource parsing for root bus David reported that a T5-8 sparc system failed to boot with: pci_sun4v f02dbcfc: PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x804000000000-0x80400fffffff] (bus address [0x0000-0xfffffff]) pci_bus 0000:00: root bus resource [mem 0x800000000000-0x80007effffff] (bus address [0x00000000-0x7effffff]) pci 0000:00:01.0: can't claim BAR 15 [mem 0x100000000-0x4afffffff pref]: no compatible bridge window Note that we don't know about a host bridge aperture that contains BAR 15. OF does report a MEM64 aperture, but before this patch, pci_determine_mem_io_space() ignored it. Add support for host bridge apertures with 64-bit PCI addresses. Also set IORESOURCE_MEM_64 for PCI device and bridge resources in PCI 64-bit memory space. Sparc doesn't actually print the device and bridge resources, but after this patch, we should have the equivalent of this: pci_sun4v f02dbcfc: PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x804000000000-0x80400fffffff] (bus address [0x0000-0xfffffff]) pci_bus 0000:00: root bus resource [mem 0x800000000000-0x80007effffff] (bus address [0x00000000-0x7effffff]) pci_bus 0000:00: root bus resource [mem 0x800100000000-0x8007ffffffff] (bus address [0x100000000-0x7ffffffff]) pci 0000:00:01.0: bridge window [mem 0x800100000000-0x8004afffffff 64bit pref] [bhelgaas: changelog, URL to David's report] Fixes: d63e2e1f3df9 ("sparc/PCI: Clip bridge windows to fit in upstream windows") Link: http://lkml.kernel.org/r/5514391F.2030300@xxxxxxxxxx Reported-by: David Ahern <david.ahern@xxxxxxxxxx> Tested-by: David Ahern <david.ahern@xxxxxxxxxx> Tested-by: Khalid Aziz <khalid.aziz@xxxxxxxxxx> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 597becb4adb7d57b8e9d857a68f764ce96a141b8 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Oct 29 17:35:40 2015 -0500 PCI: Expand Enhanced Allocation BAR output An Enhanced Allocation Capability entry with BEI 0 fills in dev->resource[0] just like a real BAR 0 would, but non-EA experts might not connect "EA - BEI 0" with BAR 0. Decode the EA jargon a little bit, e.g., change this: pci 0002:01:00.0: EA - BEI 0, Prop 0x00: [mem 0x84300000-0x84303fff] to this: pci 0002:01:00.0: BAR 0: [mem 0x84300000-0x84303fff] (from Enhanced Allocation, properties 0x00) Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 26635112d4d057c9ea38f6284423a30a41a09240 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Oct 29 17:35:40 2015 -0500 PCI: Make Enhanced Allocation bitmasks more obvious Expand bitmask #defines completely. This puts the shift in the code instead of in the #define, but it makes it more obvious in the header file how fields in the register are laid out. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 111839917fccf4f74d50ad937321acc6a07eb9c3 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 29 17:35:40 2015 -0500 PCI: Handle Enhanced Allocation capability for SR-IOV devices SR-IOV BARs can be specified via EA entries. Extend the EA parser to extract the SRIOV BAR resources, and modify sriov_init() to use resources previously obtained via EA. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> commit 938174e59f83354251a75a2b90171e0ffdf6f1d7 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Thu Oct 29 17:35:39 2015 -0500 PCI: Add support for Enhanced Allocation devices Add support for devices using Enhanced Allocation entries instead of BARs. This allows the kernel to parse the EA Extended Capability structure in PCI config space and claim the BAR-equivalent resources. See https://pcisig.com/sites/default/files/specification_documents/ECN_Enhanced_Allocation_23_Oct_2014_Final.pdf [bhelgaas: add spec URL, s/pci_ea_set_flags/pci_ea_flags/, consolidate declarations, print unknown property in hex to match spec] Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> [david.daney@xxxxxxxxxx: Add more support/checking for Entry Properties, allow EA behind bridges, rewrite some error messages.] Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit f80b0ba959641f13524507d60eae4d01ea65c991 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Thu Oct 29 17:35:39 2015 -0500 PCI: Add Enhanced Allocation register entries Add registers defined in PCI-SIG's Enhanced allocation ECN. [bhelgaas: s/WRITEABLE/WRITABLE] Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> [david.daney@xxxxxxxxxx: Added more definitions for PCI_EA_BEI_*] Signed-off-by: Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit d04d0111c7701cb7c696216b0af707f4e327ad11 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 29 17:35:39 2015 -0500 PCI: Handle IORESOURCE_PCI_FIXED when assigning resources The new Enhanced Allocation (EA) capability support (patches to follow) creates resources with the IORESOURCE_PCI_FIXED set. During resource assignment in pci_bus_assign_resources(), IORESOURCE_PCI_FIXED resources are not given a parent. This, in turn, causes pci_enable_resources() to fail with a "not claimed" error. So, in __pci_bus_assign_resources(), for IORESOURCE_PCI_FIXED resources, try to request the resource from a parent bus. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> commit a2220d804bf09aae4da45dfd6cc6692e0e422926 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 29 17:35:39 2015 -0500 PCI: Handle IORESOURCE_PCI_FIXED when sizing resources The new Enhanced Allocation (EA) capability support (patches to follow) creates resources with the IORESOURCE_PCI_FIXED set. Since these resources cannot be relocated or resized, their alignment is not really defined, and it is therefore not specified. This causes a problem in pbus_size_mem() where resources with unspecified alignment are disabled. So, in pbus_size_mem() skip IORESOURCE_PCI_FIXED resources, instead of disabling them. [bhelgaas: folded in "flags & IORESOURCE_PCI_FIXED" fix from David] Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> commit e2d8680741edec84f843f783a7f4a44418b818d7 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Thu Oct 29 08:56:31 2015 -0700 fpga: socfpga: Fix check of return value of devm_request_irq The return value should be checked for non-zero, instead of checking it being IS_ERR_VALUE(). Acked-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Cartwright <joshc@xxxxxxxxxxxx> Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce288ec380380f3ab0e3c631b9c2f598835a3f38 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:20:57 2015 -0500 PCI: Remove redundant validation of SR-IOV offset/stride registers Previously, we read, validated, and cached PCI_SRIOV_VF_OFFSET and PCI_SRIOV_VF_STRIDE in sriov_enable(). But sriov_init() now does that via compute_max_vf_buses(), so we don't need to do it again. Remove the PCI_SRIOV_VF_OFFSET and PCI_SRIOV_VF_STRIDE config reads from sriov_enable(). The pci_sriov structure already contains the offset and stride corresponding to the current NumVFs. [bhelgaas: split to separate patch for reviewability] Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> commit ea9a8854161d9580cfabe011c0ae296ecc0e1d4f Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:20:50 2015 -0500 PCI: Set SR-IOV NumVFs to zero after enumeration The enumeration path should leave NumVFs set to zero. But after 4449f079722c ("PCI: Calculate maximum number of buses required for VFs"), we call virtfn_max_buses() in the enumeration path, which changes NumVFs. This NumVFs change is visible via lspci and sysfs until a driver enables SR-IOV. Iterate from TotalVFs down to zero so NumVFs is zero when we're finished computing the maximum number of buses. Validate offset and stride in the loop, so we can test it at every possible NumVFs setting. Rename virtfn_max_buses() to compute_max_vf_buses() to hint that it does have a side effect of updating iov->max_VF_buses. [bhelgaas: changelog, rename, allow numVF==1 && stride==0, rework loop, reverse sense of error path] Fixes: 4449f079722c ("PCI: Calculate maximum number of buses required for VFs") Based-on-patch-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit ff45f9ddbcf5418ff6402432d14ad91a40d9bea9 Author: Ben Shelton <benjamin.h.shelton@xxxxxxxxx> Date: Thu Oct 29 16:20:31 2015 -0500 PCI: Enable SR-IOV ARI Capable Hierarchy before reading TotalVFs For some SR-IOV devices, the number of available virtual functions, i.e., TotalVFs, increases after setting the ARI Capable Hierarchy bit in the SR-IOV Control register. This violates the SR-IOV spec, r1.1, sec 3.3.6, which says TotalVFs is HwInit, but we don't need TotalVFs before setting the ARI Capable bit anyway. Set the ARI Capable Hierarchy bit (if ARI is enabled in the upstream bridge) before reading TotalVFs. [bhelgaas: changelog] Signed-off-by: Ben Shelton <benjamin.h.shelton@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 7ed4915ad60788d6b846e2cd034f49ee15698143 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Thu Oct 29 08:49:36 2015 +0100 perf unwind: Pass symbol source to libunwind Even if --symfs is used to point to the debug binaries, we send in the non-debug filenames to libunwind, which leads to libunwind not finding the debug frame. Fix this by preferring the file in --symfs, if it is available. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rabin Vincent <rabinv@xxxxxxxx> Link: http://lkml.kernel.org/r/1446104978-26429-1-git-send-email-rabin.vincent@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3af6ed84eb43c587beb5f3252222e39e65d08c61 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Thu Oct 29 08:49:37 2015 +0100 tools build: Fix libiberty feature detection Any CFLAGS or LDFLAGS set by the user need to be passed to the feature build command. This many include for example -I or -L to point to libraries and include files in custom paths. In most of the test-*.bin rules in build/feature/Makefile, we use the BUILD macro which always sends in CFLAGS and LDFLAGS. The libiberty build line however doesn't use the BUILD macro and thus needs to send in CFLAGS and LDFLAGS explicitly. Without this, when using custom CFLAGS/LDFLAGS, libiberty fails to be detected and the perf link fails with something like: LINK perf libbfd.a(bfd.o): In function `bfd_errmsg': bfd.c:(.text+0x168): undefined reference to `xstrerror' bbfd.a(opncls.o): In function `_bfd_new_bfd': opncls.c:(.text+0xe8): undefined reference to `objalloc_create' ... Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rabin Vincent <rabinv@xxxxxxxx> Link: http://lkml.kernel.org/r/1446104978-26429-2-git-send-email-rabin.vincent@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cdea01b2bf98affb7e9c44530108a4a28535eee8 Author: Davidlohr Bueso <dave@xxxxxxxxxxx> Date: Fri Oct 30 05:25:59 2015 +0900 blktrace: re-write setting q->blk_trace This is really about simplifying the double xchg patterns into a single cmpxchg, with the same logic. Other than the immediate cleanup, there are some subtleties this change deals with: (i) While the load of the old bt is fully ordered wrt everything, ie: old_bt = xchg(&q->blk_trace, bt); [barrier] if (old_bt) (void) xchg(&q->blk_trace, old_bt); [barrier] blk_trace could still be changed between the xchg and the old_bt load. Note that this description is merely theoretical and afaict very small, but doing everything in a single context with cmpxchg closes this potential race. (ii) Ordering guarantees are obviously kept with cmpxchg. (iii) Gets rid of the hacky-by-nature (void)xchg pattern. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> eviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d509db0473e40134286271b1d1adadccf42ac467 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:20 2015 +0000 perf tools: Compile scriptlets to BPF objects when passing '.c' to --event This patch provides infrastructure for passing source files to --event directly using: # perf record --event bpf-file.c command This patch does following works: 1) Allow passing '.c' file to '--event'. parse_events_load_bpf() is expanded to allow caller tell it whether the passed file is source file or object. 2) llvm__compile_bpf() is called to compile the '.c' file, the result is saved into memory. Use bpf_object__open_buffer() to load the in-memory object. Introduces a bpf-script-example.c so we can manually test it: # perf record --clang-opt "-DLINUX_VERSION_CODE=0x40200" --event ./bpf-script-example.c sleep 1 Note that '--clang-opt' must put before '--event'. Futher patches will merge it into a testcase so can be tested automatically. 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/1444826502-49291-10-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 71dc2326252ff1bcdddc05db03c0f831d16c9447 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:19 2015 +0000 perf record: Add clang options for compiling BPF scripts Although previous patch allows setting BPF compiler related options in perfconfig, on some ad-hoc situation it still requires passing options through cmdline. This patch introduces 2 options to 'perf record' for this propose: --clang-path and --clang-opt. 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: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1444826502-49291-9-git-send-email-wangnan0@xxxxxxxxxx [ Add the new options to the 'record' man page ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1f45b1d49073541947193bd7dac9e904142576aa Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:18 2015 +0000 perf bpf: Attach eBPF filter to perf event This is the final patch which makes basic BPF filter work. After applying this patch, users are allowed to use BPF filter like: # perf record --event ./hello_world.o ls A bpf_fd field is appended to 'struct evsel', and setup during the callback function add_bpf_event() for each 'probe_trace_event'. PERF_EVENT_IOC_SET_BPF ioctl is used to attach eBPF program to a newly created perf event. The file descriptor of the eBPF program is passed to perf record using previous patches, and stored into evsel->bpf_fd. It is possible that different perf event are created for one kprobe events for different CPUs. In this case, when trying to call the ioctl, EEXIST will be return. This patch doesn't treat it as an error. Committer note: The bpf proggie used so far: __attribute__((section("fork=_do_fork"), used)) int fork(void *ctx) { return 0; } char _license[] __attribute__((section("license"), used)) = "GPL"; int _version __attribute__((section("version"), used)) = 0x40300; failed to produce any samples, even with forks happening and it being running in system wide mode. That is because now the filter is being associated, and the code above always returns zero, meaning that all forks will be probed but filtered away ;-/ Change it to 'return 1;' instead and after that: # trace --no-syscalls --event /tmp/foo.o 0.000 perf_bpf_probe:fork:(ffffffff8109be30)) 2.333 perf_bpf_probe:fork:(ffffffff8109be30)) 3.725 perf_bpf_probe:fork:(ffffffff8109be30)) 4.550 perf_bpf_probe:fork:(ffffffff8109be30)) ^C# And it works with all tools, including 'perf trace'. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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/1444826502-49291-8-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 50f1e6d0431d3343cb506037c43ce623bd15581f Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Oct 28 21:44:50 2015 +0100 perf tools: Make sure fixdep is built before libbpf While doing 'make -C tools/perf build-test': LD fixdep-in.o LINK fixdep /bin/sh: /home/acme/git/linux/tools/build/fixdep: Permission denied make[6]: *** [bpf.o] Error 1 make[5]: *** [libbpf-in.o] Error 2 make[4]: *** [/home/acme/git/linux/tools/lib/bpf/libbpf.a] Error 2 make[4]: *** Waiting for unfinished jobs.... The fixdep tool needs to be built as the first binary. Libraries are built in paralel, so each of them needs to depend on fixdep target. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20151028204450.GA25553@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc323ce8e72d6d1beb9af9bbd29c4d55ce3d7fb0 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 31 18:41:13 2015 +0200 perf script: Enable printing of branch stack This patch improves perf script by enabling printing of the branch stack via the 'brstack' and 'brstacksym' arguments to the field selection option -F. The option is off by default and operates only if the perf.data file has branch stack content. The branches are printed in to/from pairs. The most recent branch is printed first. The number of branch entries vary based on the underlying hardware and filtering used. The brstack prints FROM/TO addresses in raw hexadecimal format. The brstacksym prints FROM/TO addresses in symbolic form wherever possible. $ perf script -F ip,brstack 5d3000 0x401aa0/0x5d2000/M/-/-/-/0 ... $ perf script -F ip,brstacksym 4011e0 noploop+0x0/noploop+0x0/P/-/-/0 The notation F/T/M/X/A/C describes the attributes of the branch. F=from, T=to, M/P=misprediction/prediction, X=TSX, A=TSX abort, C=cycles (SKL) 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> Cc: Yuanfang Chen <cyfmxc@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441039273-16260-5-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit be69e1c19f0efb091f29521715c380842fa4cd7e Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 29 14:18:13 2015 -0400 fs/ext4: remove unnecessary new_valid_dev check As new_valid_dev always returns 1, so !new_valid_dev check is not needed, remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f3dd1649122b9e73f869e5304d5fa8554e128b7a Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Thu Oct 29 10:58:09 2015 -0500 gfs2: Remove gl_spin define Commit e66cf161 replaced the gl_spin spinlock in struct gfs2_glock with a gl_lockref lockref and defined gl_spin as gl_lockref.lock (the spinlock in gl_lockref). Remove that define to make the references to gl_lockref.lock more obvious. Signed-off-by: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit cb083816ab5ac3d10a9417527f07fc5962cc3808 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Oct 26 21:42:33 2015 +0000 arm64: page-align sections for DEBUG_RODATA A kernel built with DEBUG_RO_DATA && !CONFIG_DEBUG_ALIGN_RODATA doesn't have .text aligned to a page boundary, though fixup_executable works at page-granularity thanks to its use of create_mapping. If .text is not page-aligned, the first page it exists in may be marked non-executable, leading to failures when an attempt is made to execute code in said page. This patch upgrades ALIGN_DEBUG_RO and ALIGN_DEBUG_RO_MIN to force page alignment for DEBUG_RO_DATA && !CONFIG_DEBUG_ALIGN_RODATA kernels, ensuring that all sections with specific RWX permission requirements are mapped with the correct permissions. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Reported-by: Jeremy Linton <jeremy.linton@xxxxxxx> Reviewed-by: Laura Abbott <laura@xxxxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Suzuki Poulose <suzuki.poulose@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Fixes: da141706aea52c1a ("arm64: add better page protections to arm64") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 86a5906e4d1df1ec160fa9e18b6f2277a5216c60 Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Tue Oct 27 17:40:26 2015 +0000 arm64: Fix build with CONFIG_ZONE_DMA=n Trying to build with CONFIG_ZONE_DMA=n leaves visible references to the now-undefined ZONE_DMA, resulting in a syntax error. Hide the references behind an #ifdef instead of using IS_ENABLED. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 5accd17d0eb523350c9ef754d655e379c9bb93b3 Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Thu Oct 22 15:41:52 2015 +0100 arm64: Fix compat register mappings For reasons not entirely apparent, but now enshrined in history, the architectural mapping of AArch32 banked registers to AArch64 registers actually orders SP_<mode> and LR_<mode> backwards compared to the intuitive r13/r14 order, for all modes except FIQ. Fix the compat_<reg>_<mode> macros accordingly, in the hope of avoiding subtle bugs with KVM and AArch32 guests. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 73effccb9196ccc0241c3fb51dfd8de1d14ae8ed Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Oct 29 15:07:25 2015 +0100 arm64/efi: do not assume DRAM base is aligned to 2 MB The current arm64 Image relocation code in the UEFI stub assumes that the dram_base argument it receives is always a multiple of 2 MB. In reality, it is simply the lowest start address of all RAM entries in the UEFI memory map, which means it could be any multiple of 4 KB. Since the arm64 kernel Image needs to reside TEXT_OFFSET bytes beyond a 2 MB aligned base, or it will fail to boot, make sure we round dram_base to 2 MB before using it to calculate the relocation address. Fixes: e38457c361b30c5a ("arm64: efi: prefer AllocatePages() over efi_low_alloc() for vmlinux") Reported-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 39bfc271bd687be2c8e396e976c0fb9a97963400 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:49 2015 +0300 IB/core: Remove old fast registration API No callers and no providers left, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5eae15927b3bccca6497506c8da38895da029b98 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Oct 29 17:33:32 2015 +0200 IB/ipath: Remove fast registration from the code The driver does not support it anyway, and the support should be added to a generic layer shared by both hfi1, qib and softroce drivers. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 349abd059ed195c75b5f787102a333a4dae10775 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Oct 29 17:33:31 2015 +0200 IB/hfi1: Remove fast registration from the code The driver does not support it anyway, and the support should be added to a generic layer shared by both hfi1, qib and softroce drivers. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 116ef0fcc9268a876c8d1bbf77d8fa80111fa526 Merge: 9ffecb1 38850d7 a4283e4 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Oct 29 15:21:30 2015 +0000 Merge branches 'fixes' and 'misc' into for-next commit 38850d786a799c3ff2de0dc1980902c3263698dc Author: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Date: Wed Oct 28 19:00:26 2015 +0100 ARM: 8449/1: fix bug in vdsomunge swab32 macro Commit 8a603f91cc48 ("ARM: 8445/1: fix vdsomunge not to depend on glibc specific byteswap.h") unfortunately introduced a bug created but not found during discussion and patch simplification. Reported-by: Efraim Yawitz <efraim.yawitz@xxxxxxxxx> Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Fixes: 8a603f91cc48 ("ARM: 8445/1: fix vdsomunge not to depend on glibc specific byteswap.h") Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ae93580ee59c02395c1711d3e6b90546b8137b86 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Oct 27 10:56:44 2015 -0400 drm/radeon: fix dpms when driver backlight control is disabled If driver backlight control is disabled, either by driver parameter or default per-asic setting, revert to the old behavior. Fixes a regression in commit: 4281f46ef839050d2ef60348f661eb463c21cc2e Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 4cee6a9057d5e13911f0cb6e143d11dc1a3245dd Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 28 14:26:32 2015 -0400 drm/radeon: move bl encoder assignment into bl init So that the bl encoder will be null if the GPU does not control the backlight. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 46b708ea875f14f5496109df053624199f3aae87 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 23 15:24:03 2015 +0200 KVM: s390: use simple switch statement as multiplexer We currently do some magic shifting (by exploiting that exit codes are always a multiple of 4) and a table lookup to jump into the exit handlers. This causes some calculations and checks, just to do an potentially expensive function call. Changing that to a switch statement gives the compiler the chance to inline and dynamically decide between jump tables or inline compare and branches. In addition it makes the code more readable. bloat-o-meter gives me a small reduction in code size: add/remove: 0/7 grow/shrink: 1/1 up/down: 986/-1334 (-348) function old new delta kvm_handle_sie_intercept 72 1058 +986 handle_prog 704 696 -8 handle_noop 54 - -54 handle_partial_execution 60 - -60 intercept_funcs 120 - -120 handle_instruction 198 - -198 handle_validity 210 - -210 handle_stop 316 - -316 handle_external_interrupt 368 - -368 Right now my gcc does conditional branches instead of jump tables. The inlining seems to give us enough cycles as some micro-benchmarking shows minimal improvements, but still in noise. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 58c383c62e1a4379cee531b56e4293211f2d5ded Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Oct 12 13:27:29 2015 +0200 KVM: s390: drop useless newline in debugging data the s390 debug feature does not need newlines. In fact it will result in empty lines. Get rid of 4 leftovers. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit c5c2c393468576bad6d10b2b5fefff8cd25df3f4 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 08:41:29 2015 +0100 KVM: s390: SCA must not cross page boundaries We seemed to have missed a few corner cases in commit f6c137ff00a4 ("KVM: s390: randomize sca address"). The SCA has a maximum size of 2112 bytes. By setting the sca_offset to some unlucky numbers, we exceed the page. 0x7c0 (1984) -> Fits exactly 0x7d0 (2000) -> 16 bytes out 0x7e0 (2016) -> 32 bytes out 0x7f0 (2032) -> 48 bytes out One VCPU entry is 32 bytes long. For the last two cases, we actually write data to the other page. 1. The address of the VCPU. 2. Injection/delivery/clearing of SIGP externall calls via SIGP IF. Especially the 2. happens regularly. So this could produce two problems: 1. The guest losing/getting external calls. 2. Random memory overwrites in the host. So this problem happens on every 127 + 128 created VM with 64 VCPUs. Cc: stable@xxxxxxxxxxxxxxx # v3.15+ Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 729a78417a7b5c1f59e15d21a1900758375c4647 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 29 11:48:18 2015 -0300 perf trace: Add cmd string table to decode sys_bpf first arg # perf trace -e bpf perf record -e /tmp/foo.o -a 362.779 (0.130 ms): perf/3451 bpf(cmd: PROG_LOAD, uattr: 0x7ffe9a6825d0, size: 48) = 3 Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2b0nknu53baz9e0wj4thcdd8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 89bc7848a91bc99532f5c21b2885472ba710f249 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 13:21:04 2015 +0100 ipv6: protect mtu calculation of wrap-around and infinite loop by rounding issues Raw sockets with hdrincl enabled can insert ipv6 extension headers right into the data stream. In case we need to fragment those packets, we reparse the options header to find the place where we can insert the fragment header. If the extension headers exceed the link's MTU we actually cannot make progress in such a case. Instead of ending up in broken arithmetic or rounding towards 0 and entering an endless loop in ip6_fragment, just prevent those cases by aborting early and signal -EMSGSIZE to user space. This is the second version of the patch which doesn't use the overflow_usub function, which got reverted for now. Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e0d69a9cc9172d7896c2113f983a74f6e8ff303 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 13:21:03 2015 +0100 Revert "Merge branch 'ipv6-overflow-arith'" Linus dislikes these changes. To not hold up the net-merge let's revert it for now and fix the bug like Linus suggested. This reverts commit ec3661b42257d9a06cf0d318175623ac7a660113, reversing changes made to c80dbe04612986fd6104b4a1be21681b113b5ac9. Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8aaa878de83a0de3833f5b00bc822dbcd403ec36 Merge: 845da6e 13eff53 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Thu Oct 29 15:34:27 2015 +0200 Merge ath-next from ath.git Major changes: ath10k: * add QCA9377 support * fw_stats support for 10.4 firmware ath6kl: * report antenna configuration to user space * implement ethtool stats commit 5a364c2a1762e8a78721fafc93144509c0b6cb84 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Feb 6 18:44:57 2015 +0300 ARC: mm: PAE40 support This is the first working implementation of 40-bit physical address extension on ARCv2. Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 66a565c203bc31b76969711fbd92da11bee2f129 Merge: 6fc774e 4edf30e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 29 13:17:56 2015 +0100 Merge tag 'perf-ebpf-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull basic perf/ebpf integration: "Please see the changeset comments, but this is the very basic integration of perf with libbpf that, given a .o file built for the 'bpf' target with clang, will get it validated and loaded into the kernel via the sys_bpf syscall, which can be seen using 'perf trace' to trace the whole thing looking just for the bpf and perf_event_open syscalls: # perf trace -e bpf,perf_event_open perf record -g --event /tmp/foo.o -a 362.779 ( 0.129 ms): perf/22408 bpf(cmd: 5, uattr: 0x7ffd4edb6db0, size: 48 ) = 3 384.192 ( 0.016 ms): perf/22408 perf_event_open(attr_uptr: 0x7ffd4edbace0, pid: -1, cpu: 3, group_fd: -1, flags: FD_CLOEXEC) = 5 384.247 ( 0.038 ms): perf/22408 perf_event_open(attr_uptr: 0x37aedd8, pid: -1, group_fd: -1, flags: FD_CLOEXEC) = 5 384.261 ( 0.007 ms): perf/22408 perf_event_open(attr_uptr: 0x37aedd8, pid: -1, group_fd: -1, flags: FD_CLOEXEC) = 5 387.680 ( 3.413 ms): perf/22408 perf_event_open(attr_uptr: 0x3222f08, pid: -1, group_fd: -1, flags: FD_CLOEXEC) = 5 387.688 ( 0.005 ms): perf/22408 perf_event_open(attr_uptr: 0x3222f08, pid: -1, cpu: 1, group_fd: -1, flags: FD_CLOEXEC) = 6 387.693 ( 0.004 ms): perf/22408 perf_event_open(attr_uptr: 0x3222f08, pid: -1, cpu: 2, group_fd: -1, flags: FD_CLOEXEC) = 7 387.698 ( 0.003 ms): perf/22408 perf_event_open(attr_uptr: 0x3222f08, pid: -1, cpu: 3, group_fd: -1, flags: FD_CLOEXEC) = 8 ^C[ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.221 MB perf.data (2 samples) ] # perf script bash 18389 [002] 83446.412607: perf_bpf_probe:fork: (ffffffff8109be30) 29be31 _do_fork (/lib/modules/4.3.0-rc6+/build/vmlinux) 96d662 tracesys_phase2 (/lib/modules/4.3.0-rc6+/build/vmlinux) bd56c __libc_fork (/usr/lib64/libc-2.17.so) 413b2 make_child (/usr/bin/bash) bash 18389 [002] 83447.227255: perf_bpf_probe:fork: (ffffffff8109be30) 29be31 _do_fork (/lib/modules/4.3.0-rc6+/build/vmlinux) 96d662 tracesys_phase2 (/lib/modules/4.3.0-rc6+/build/vmlinux) bd56c __libc_fork (/usr/lib64/libc-2.17.so) 413b2 make_child (/usr/bin/bash) # perf evlist -v perf_bpf_probe:fork: type: 2, size: 112, config: 0x6cf, { sample_period, sample_freq }: 1, sample_type: IP|TID|TIME|CALLCHAIN|CPU|PERIOD|RAW, disabled: 1, inherit: 1, mmap: 1, comm: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 # More work is about to be reviewed, tested and merged that will allow the whole process of going from a .c file to an .o file via clang, etc to be done automagically. (Wang Nan)" Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13eff5311382cb109725363026cdb4717714bf65 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Thu Oct 22 09:07:39 2015 -0700 ath6kl: implement ethtool stats This supports a way to get target stats through normal ethtool stats API. For instance: # ethtool -S wlan1 NIC statistics: tx_pkts_nic: 353 tx_bytes_nic: 25142 rx_pkts_nic: 6 rx_bytes_nic: 996 d_tx_ucast_pkts: 89 d_tx_bcast_pkts: 264 d_tx_ucast_bytes: 3020 d_tx_bcast_bytes: 22122 ... Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0370248379579aa0274c8f14f2d9af1f32388104 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Thu Oct 22 09:07:38 2015 -0700 ath6kl: break stats gathering code into separate method This will allow us to call it from elsewhere when implementing ethtool stats. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 53cc3291bcfbefc0b3f1e3b7b30ed028b5f1a75d Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Wed Oct 21 14:53:21 2015 -0700 ath6kl: fix firmware version assignment Improper use of strlcpy caused garbage to be appended to the firmware version string. Fix this by paying attention to the ie_lenth. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7fd98524560cac3a629aa1130d45260d4469d254 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Wed Oct 21 14:53:20 2015 -0700 ath6kl: add error message to explain lack of HT It can take a user a while to understand why their NIC that advertises 802.11n support cannot actually do 802.11n. Print out a warning in the logs to save the next poor person to use this NIC some trouble. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9c2e90ffc97a8f45b98d81345d8f2eff192d09ef Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Wed Oct 21 14:53:19 2015 -0700 ath6kl: report antenna configuration This lets 'iw phy phy0 info' report antennas for the radio device: ... Available Antennas: TX 0x2 RX 0x2 Configured Antennas: TX 0x2 RX 0x2 ... Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5140a5fde2b44d366338e00ad7c2a7ede8be3e65 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 25 15:59:24 2015 +0200 wil6210: handle failure in Tx vring config When configuring Tx vring for new connection, WMI call to the firmware may fail. In this case, need to clean up properly. In particular, need to call cfg80211_del_sta() in case of AP like interface. Perform full "disconnect" procedure for proper clean up Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 817f18534412532198bf3da8dfd2663a1d75a7de Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 25 15:59:23 2015 +0200 wil6210: fix device ready detection Adjust driver behavior during FW boot. Proper sequence of events after reset and FW download, is as following: - FW prepares mailbox structure and reports IRQ "FW_READY" - driver caches mailbox registers, marks mailbox readiness - FW sends WMI_FW_READY event, ignore it - FW sends WMI_READY event with some data - driver stores relevant data marks FW is operational Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit e3d2ed9434331dedb9eeece586d38aec9e29f60b Author: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Date: Sun Oct 25 15:59:22 2015 +0200 wil6210: Fix TSO overflow handling When Tx ring full is encountered with TSO, printout of "DMA error" was wrongly printed. In addition, in case of Tx ring full return proper error code so that NETDEV_TX_BUSY is returned to network stack in order not to drop the packets and retry transmission of the packets when ring is emptied. Signed-off-by: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b03fbab0c4d502510400b7ee5fb3d5bab6d859bf Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 25 15:59:21 2015 +0200 wil6210: ignore selected WMI events Some events are ignored for purpose; such events should not be treated as "unhandled events". Replace info message saying "unhandled" with debug one saying "ignore", to reduce dmesg pollution Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a226b519d43a2a6b37267fea051aacb4a79c9614 Author: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Date: Wed Oct 28 15:09:53 2015 +0100 ath10k: add QCA9377 chipset support Add the hardware name, revision and update the pci_id table. Currently there're two HW ref. designs available I'm aware of, with 1.0.2 and 1.1 chip revisions. I've access and been using the first one so far and this patch cover only it. QCA9377 inherits most of the stuff (e.g. fw interfaces) from QCA61x4 design, so the integration was pretty straightforward. Signed-off-by: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5036fe0f6fae8a961745f5cf8d82a2a4912ae1ef Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:51:14 2015 +0530 ath10k: reload HT/VHT capabilities on antenna change To reflect configured antenna settings in HT/VHT MCS map, reload the HT/VHT capabilities upon antenna change. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f58512f336bbb166610be4a4c42ec1184edcd426 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:51:13 2015 +0530 ath10k: move static HT/VHT capability setup functions Move HT and VHT capabiltity setup static functions to avoid forward declaration. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7a1d70ab05488146d20cfc8fb9e4acfd132c7bf5 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:51:12 2015 +0530 ath10k: fill HT/VHT MCS rateset only for configured chainmask HT/VHT MCS rateset should be filled only for configured chainmask rather that max supported chainmask. Fix that by checking configured chainmask while filling HT/VHT MCS rate map. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 166de3f1895dfc49d1f16cc39fd76dab6d7961d2 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:51:11 2015 +0530 ath10k: remove supported chain mask Removing supported chainmask fields as it can be always derived from num_rf_chains. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b4c306d0c53ec1b444a4da1f1a3fefaace6b486e Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:01:06 2015 +0530 ath10k: remove shadow copy of CE descriptors for source ring For the messages from host to target, shadow copy of CE descriptors are maintained in source ring. Before writing actual CE descriptor, first shadow copy is filled and then it is copied to CE address space. To optimize in download path and to reduce d-cache pressure, removing shadow copy of CE descriptors. This will also reduce driver memory consumption by 33KB during on device probing. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 765952e40dbadd4a74a44f55ac1344c338571bb9 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:01:05 2015 +0530 ath10k: cleanup copy engine send completion The physical address necessary to unmap DMA ('bufferp') is stored in ath10k_skb_cb as 'paddr'. ath10k doesn't rely on the meta/transfer_id when handling send completion (htc ep id is stored in sk_buff control buffer). So the unused output arguments {bufferp, nbytesp and transfer_idp} are removed from CE send completion. This change is needed before removing the shadow copy of copy engine (CE) descriptors in follow up patch. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1e8f86d9cbe9431dcda36fdd85a9f342d639dca5 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:01:04 2015 +0530 ath10k: remove send completion validation in diag read/write CE diag window access is serialized (it has to be by design) so there's no way to get a different send completion. so there's no need for post completion validation. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b4e84c5606f6c91a3fff96c25b9347dc75b2002d Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:01:03 2015 +0530 ath10k: use local memory instead of shadow descriptor in ce_send Currently to avoid uncached memory access while filling up copy engine descriptors, shadow descriptors are used. This can be optimized further by removing shadow descriptors. To achieve that first shadow ring dependency in ce_send is removed by creating local copy of the descriptor on stack and make a one-shot copy into the "uncached" descriptor. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 98dd2b92bb591007e82fb58808f60134ee4479bf Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 21:38:33 2015 +0200 ath10k: add fw_stats support to 10.4 firmware This patch adds support for getting firmware debug stats in 10.4 fw. Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Tamizh chelvam <c_traja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a81a98cee94519807e826e199bb579a546efa289 Author: Alan Liu <alanliu@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 21:38:32 2015 +0200 ath10k: add FW API support to test mode Add WMI-TLV and FW API support in ath10k testmode. Ath10k can get right wmi command format from UTF image to communicate UTF firmware. Signed-off-by: Alan Liu <alanliu@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7cc8d580228cc712edcf7a1856a3bdb38c164e83 Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Wed Oct 21 19:49:42 2015 +0900 mmc: dw_mmc: fix the wrong setting for UHS-DDR50 mode When card is running with DDR mode, dwmmc needs to set DDR_REG bit at UHS_REG register. Before this patch, dwmmc controller doesn't consider this. If this patch is not applied, CRC or other error shoulds be occurred. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 98daafd8a09d9a514bc2166709731d659037003b Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Wed Oct 21 19:49:41 2015 +0900 mmc: dw_mmc: fix the CardThreshold boundary at CardThrCtl register According to DesignWare DoC file, CardThreshold bit should be bit[27:16]. So it's correct to use (0xFFF << 16), not (0x1FFF << 16). Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4539d36ef2bbf2ee1519e7cfb51c6fdddda3e4e6 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 22 22:53:46 2015 +0300 mmc: dw_mmc: NULL dereference in error message The "host->dms->ch" pointer is NULL here so we can't use it to print the error message. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6fc774ef4ceca99c35dd3fb230dab618f78c8d6f Merge: 4341801 443f8c7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 29 10:29:18 2015 +0100 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: - Enable per-event perf_event_attr.inherit setting by config terms, i.e. this becomes possible: $ perf record -e cycles/inherit/ -e instructions/no-inherit/ This affects the default, that can be changed globally using the --no-inherit option. This fine grained control appeared in the eBPF patchkit, but this added flexibility may end up being useful in other scenarios. (Wang Nan) - Setup pager when printing usage and help, we have long lists of options, better use the pager like we do with normal tooling output, i.e. when needed, and including any error messages in the paged output. (Namhyung Kim) - Search for more options when passing args to -h, e.g.: (Arnaldo Carvalho de Melo) $ perf report -h interface Usage: perf report [<options>] --gtk Use the GTK2 interface --stdio Use the stdio interface --tui Use the TUI interface - Fix reading separate debuginfo files based on a build-id, problem found on a Debian system. (Dima Kogan) - Fix endless loop when splitting kallsyms symbols per section for handling kcore files, problem found on a s390x system. (Jiri Olsa) Infrastructure changes: - Prep work for the 'perf stat record' work that will allow generating perf.data files with counting data in addition to the sampling mode we have now (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ca0640850e43f5f80c6029e2895b119b705f23bd Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Thu Oct 29 17:57:29 2015 +0900 nvme: LightNVM support The first generation of Open-Channel SSDs is based on NVMe. The NVMe driver is extended with support for the LightNVM command set. Detection is made through PCI IDs. Current supported devices are the qemu nvme simulator and CNEX Labs Westlake SSD. The qemu nvme enables support through vendor specific bits in the namespace identification and the CNEX Labs Westlake SSD implements a LightNVM compatible firmware and is detected using the same method as qemu. After detection, vendor specific codes are used to identify the device and enumerate supported features. Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Javier González <jg@xxxxxxxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0b48d12d0365a628d2257a4560b3b06c825fe1cd Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:44 2015 +0530 megaraid_sas: Make PI enabled VD 8 byte DMA aligned Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 91626c2701acad605c434b5e8245cbeea6671382 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:34 2015 +0530 megaraid_sas: Initialize tasklet before setting up IRQs It may happen (kdump), that an interrupt is invoked just after the setup_irqs function was called but before the tasklet was initialised. At this phase the hw ints should have been disabled, but for unknown reason this mechanism seems to not work properly. From: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3222251dbbe9f155e7b8c910b770d6ff922fb47e Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:24 2015 +0530 megaraid_sas: Indicate online firmware upgrade support for Secure JBOD feature Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c4bd265415d5b06d7e3615c53036f589f300076e Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:14 2015 +0530 megaraid_sas: Update OCR capability on controller properties change Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit ae1519ec448bc31a7fe7369b66e7c78872f91e84 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Wed Oct 28 19:54:57 2015 +0100 rrpc: Round-robin sector target with cost-based gc This target allows an Open-Channel SSD to be exposed asas a block device. It implements a round-robin approach for sector allocation, together with a greedy cost-based garbage collector. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 48add0f5a6f46919dd307575aad6ea3de7c9cb2a Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Wed Oct 28 19:54:56 2015 +0100 gennvm: Generic NVM manager The implementation for Open-Channel SSDs is divided into media management and targets. This patch implements a generic media manager for open-channel SSDs. After a media manager has been initialized, single or multiple targets can be instantiated with the media managed as the backend. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit cd9e9808d18fe7107c306f6e71c8be7230ee42b4 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Wed Oct 28 19:54:55 2015 +0100 lightnvm: Support for Open-Channel SSDs Open-channel SSDs are devices that share responsibilities with the host in order to implement and maintain features that typical SSDs keep strictly in firmware. These include (i) the Flash Translation Layer (FTL), (ii) bad block management, and (iii) hardware units such as the flash controller, the interface controller, and large amounts of flash chips. In this way, Open-channels SSDs exposes direct access to their physical flash storage, while keeping a subset of the internal features of SSDs. LightNVM is a specification that gives support to Open-channel SSDs LightNVM allows the host to manage data placement, garbage collection, and parallelism. Device specific responsibilities such as bad block management, FTL extensions to support atomic IOs, or metadata persistence are still handled by the device. The implementation of LightNVM consists of two parts: core and (multiple) targets. The core implements functionality shared across targets. This is initialization, teardown and statistics. The targets implement the interface that exposes physical flash to user-space applications. Examples of such targets include key-value store, object-store, as well as traditional block devices, which can be application-specific. Contributions in this patch from: Javier Gonzalez <jg@xxxxxxxxxxx> Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Jesper Madsen <jmad@xxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 357ae967ad66e357f78b5cfb5ab6ca07fb4a7758 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:04 2015 +0530 megaraid_sas: Do not use PAGE_SIZE for max_sectors Do not use PAGE_SIZE marco to calculate max_sectors per I/O request. Driver code assumes PAGE_SIZE will be always 4096 which can lead to wrongly calculated value if PAGE_SIZE is not 4096. This issue was reported in Ubuntu Bugzilla Bug #1475166. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 7364d34b878d78c4df90d0e6a5e06f8ad0c283e4 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:39:54 2015 +0530 megaraid_sas: Support for Cutlass (12 Gbps) controller Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 90c204bc59a313bf03a0641caee3e2b5945629b5 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:39:44 2015 +0530 megaraid_sas: Support for Intruder (12 Gbps) controller Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 5a8cb85b569b2349493aadb81a747e077766907d Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:39:34 2015 +0530 megaraid_sas: Remove PCI id checks Remove PCI id based checks and use instance->ctrl_context to decide whether controller is MFI-based or a Fusion adapter. Additionally, Fusion adapters are divided into two categories: Thunderbolt and Invader. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 0d5b47a724bab0ebaaa933d6ff5e584957aaa188 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:39:24 2015 +0530 megaraid_sas: Expose TAPE drives unconditionally Expose non-disk (TAPE drive, CD-ROM) unconditionally. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 001e2e730ce4e6dc2cd97fcb169097febfc7b200 Author: Marc Titinger <mtitinger@xxxxxxxxxxxx> Date: Tue Oct 27 10:51:08 2015 +0100 hwmon: (ina2xx) give precedence to DT over checking for platform data. when checking for the value of the shunt resistor. Signed-off-by: Marc Titinger <mtitinger@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit a0de56c81fcf9f1a691e22e519b0dff21c48c645 Author: Marc Titinger <mtitinger@xxxxxxxxxxxx> Date: Wed Oct 28 12:04:53 2015 +0100 hwmon: (ina2xx) convert driver to using regmap Any sysfs "show" read access from the client app will result in reading all registers (8 with ina226). Depending on the host this can limit the best achievable read rate. This changeset allows for individual register accesses through regmap. Tested with BeagleBone Black (Baylibre-ACME) and ina226. Signed-off-by: Marc Titinger <mtitinger@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 609fb07b2bdebe5d2c6a9da7e9d8e05155086418 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:24:21 2015 +0530 megaraid_sas: Version update Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 92bb6505785b632a1b0f735b21c4b34326ec048f Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:24:11 2015 +0530 megaraid_sas: Code refactor for use of requestorId Some of these code changes were proposed by David Binderman. Removed redudant check of requestorId. Redundant condition: instance.requestorId. Check for plasma firmware 1.11 are now restructured to support only specific device id. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 75b96061eb95c9b9f8a1da6995f1c314526f3572 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:24:01 2015 +0530 megaraid_sas: Fix validHandles check in I/O path Syncro firmware supports round robin I/O switching on dual path. Driver uses validHandles to check for dual path. However, it is supposed to check for values > 1 (not > 2). Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 714f517745729e060ef716d16026e26e5fce591f Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:51 2015 +0530 megaraid_sas: Print critical firmware event messages Print firmware events in human-readable form. This will help users track any critical firmware events without special application support. Sample syslogd output: megaraid_sas 0000:02:00.0: 8619 (491648347s/0x0020/WARN) - Controller temperature threshold exceeded. This may indicate inadequate system cooling. Switching to low performance mode. The format of logged events is: "<pci_dev_id>: <sequence_number> (<timestamp>/<locale>/<class>) - <description>" Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 79b82c2c560025afbb88ba7ad5cddb9c2203cf2e Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:41 2015 +0530 megaraid_sas: Chip reset if driver fails to get IOC ready Fix the issue reported at: http://marc.info/?l=linux-scsi&m=143694494104544&w=2 Try to do chip reset at driver load time. If firmware fails to reach ready state, try chip reset using adp_reset() callback. For Fusion adapters the call back was previously void. Provide a suitable reset function. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit bd5f9484262a13397a0725f4a43f7baaa3341125 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:31 2015 +0530 megaraid_sas: Support for max_io_size 1MB Driver will expose max sge = 256 (earlier it was 64) if firmware supports extended IO size (1M). Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 4dbbe3cec443f0c6867e7ef549704966fbd6f48b Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:21 2015 +0530 megaraid_sas: Code cleanup-use local variable drv_ops inside megasas_ioc_init_fusion Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3761cb4cf65ec78846b4b8cba9c0578bb10f92d5 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:11 2015 +0530 megaraid_sas: JBOD sequence number support Implemented JBOD map which will provide quick access for JBOD path and also provide sequence number. This will help hardware to fail command to the FW in case of any sequence mismatch. Fast Path I/O for JBOD will refer JBOD map (which has sequence number per JBOD device) instead of RAID map. Previously, the driver used RAID map to get device handle for fast path I/O and this not have sequence number information. Now, driver will use JBOD map instead. As part of error handling, if JBOD map is failed/not supported by firmware, driver will continue using legacy behavior. Now there will be three IO paths for JBOD (syspd): - JBOD map with sequence number (Fast Path) - RAID map without sequence number (Fast Path) - FW path via h/w exception queue deliberately setup devhandle 0xFFFF (FW path). Relevant data structures: - Driver send new DCMD MR_DCMD_SYSTEM_PD_MAP_GET_INFO for this purpose. - struct MR_PD_CFG_SEQ- This structure represent map of single physical device. - struct MR_PD_CFG_SEQ_NUM_SYNC- This structure represent whole JBOD map in general(size, count of sysPDs configured, struct MR_PD_CFG_SEQ of syspD with 0 index). - JBOD sequence map size is: sizeof(struct MR_PD_CFG_SEQ_NUM_SYNC) + (sizeof(struct MR_PD_CFG_SEQ) * (MAX_PHYSICAL_DEVICES - 1)) which is allocated while setting up JBOD map at driver load time. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit e0bd0874f2de21613e572669b2de1e4b0c3a97de Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:01 2015 +0530 megaraid_sas: Increase timeout to 60 secs for abort frames during shutdown Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 0be3f4c9e6b8f12c8c0d7b156b995b30134c7448 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:22:51 2015 +0530 megaraid_sas: Synchronize driver headers with firmware APIs Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit d57456753787ab158f906f1f8eb58d54a2ccd9f4 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 29 11:43:05 2015 +0900 cgroup: fix race condition around termination check in css_task_iter_next() css_task_iter_next() checked @it->cur_task before grabbing css_set_lock and assumed that the result won't change afterwards; however, tasks could leave the cgroup being iterated terminating the iterator before css_task_lock is acquired. If this happens, css_task_iter_next() tries to calculate the current task from NULL cg_list pointer leading to the following oops. BUG: unable to handle kernel paging request at fffffffffffff7d0 IP: [<ffffffff810d5f22>] css_task_iter_next+0x42/0x80 ... CPU: 4 PID: 6391 Comm: JobQDisp2 Not tainted 4.0.9-22_fbk4_rc3_81616_ge8d9cb6 #1 Hardware name: Quanta Freedom/Winterfell, BIOS F03_3B08 03/04/2014 task: ffff880868e46400 ti: ffff88083404c000 task.ti: ffff88083404c000 RIP: 0010:[<ffffffff810d5f22>] [<ffffffff810d5f22>] css_task_iter_next+0x42/0x80 RSP: 0018:ffff88083404fd28 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff88083404fd68 RCX: ffff8804697fb8b0 RDX: fffffffffffff7c0 RSI: ffff8803b7dff800 RDI: ffffffff822c0278 RBP: ffff88083404fd38 R08: 0000000000017160 R09: ffff88046f4070c0 R10: ffffffff810d61f7 R11: 0000000000000293 R12: ffff880863bf8400 R13: ffff88046b87fd80 R14: 0000000000000000 R15: ffff88083404fe58 FS: 00007fa0567e2700(0000) GS:ffff88046f900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: fffffffffffff7d0 CR3: 0000000469568000 CR4: 00000000001406e0 Stack: 0000000000000246 0000000000000000 ffff88083404fde8 ffffffff810d6248 ffff88083404fd68 0000000000000000 ffff8803b7dff800 000001ef000001ee 0000000000000000 0000000000000000 ffff880863bf8568 0000000000000000 Call Trace: [<ffffffff810d6248>] cgroup_pidlist_start+0x258/0x550 [<ffffffff810cf66d>] cgroup_seqfile_start+0x1d/0x20 [<ffffffff8121f8ef>] kernfs_seq_start+0x5f/0xa0 [<ffffffff811cab76>] seq_read+0x166/0x380 [<ffffffff812200fd>] kernfs_fop_read+0x11d/0x180 [<ffffffff811a7398>] __vfs_read+0x18/0x50 [<ffffffff811a745d>] vfs_read+0x8d/0x150 [<ffffffff811a756f>] SyS_read+0x4f/0xb0 [<ffffffff818d4772>] system_call_fastpath+0x12/0x17 Fix it by moving the termination condition check inside css_set_lock. @it->cur_task is now cleared after being put and @it->task_pos is tested for termination instead of @it->cset_pos as they indicate the same condition and @it->task_pos is what's being dereferenced. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Calvin Owens <calvinowens@xxxxxx> Fixes: ed27b9f7a17d ("cgroup: don't hold css_set_rwsem across css task iteration") Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit 13d3e895faf68ab5f1981298198897a20b35827a Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:48 2015 +0300 RDMA/nes: Remove old FRWR API No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b8533eccc8eadabc559ed25e4b848c71a2433c18 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:47 2015 +0300 IB/qib: Remove old FRWR API No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d3cfd002e6586d715515c2f293cf04cf72b33002 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:46 2015 +0300 iw_cxgb4: Remove old FRWR API No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 94e585cb7467a3e4cecb7267cd8303d2b693a8b9 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:45 2015 +0300 RDMA/cxgb3: Remove old FRWR API No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 191cfed565c0435aeced5f11f6cf9b03ec380d5b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:44 2015 +0300 RDMA/ocrdma: Remove old FRWR API No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e761c67fbf20d60175750ce2994822f30f2edf6a Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:43 2015 +0300 IB/mlx4: Remove old FRWR API support No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit dd01e66a6c532a8cd183cbc02ebaef99f186345f Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:42 2015 +0300 IB/mlx5: Remove old FRWR API support No ULP uses it anymore, go ahead and remove it. Keep only the local invalidate part of the handlers. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9a21be531cacecce6c897faacd66ed4c7dbbe88b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:41 2015 +0300 IB/srp: Dont allocate a page vector when using fast_reg The new fast registration API does not reuqire a page vector so we can't avoid allocating it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 51c2b8e2ac872cd90a12c5e606eeb0daf1a91e25 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:40 2015 +0300 IB/srp: Remove srp_finish_mapping No callers left, remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f7f7aab1a5c0a495ae9a2d604badd1e3f9f20795 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:39 2015 +0300 IB/srp: Convert to new registration API Instead of constructing a page list, call ib_map_mr_sg and post a new ib_reg_wr. srp_map_finish_fr now returns the number of sg elements registered. Remove srp_finish_mapping since no one is calling it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 26630e8a09b72e8783e8963781d39e7edb2a60b9 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:38 2015 +0300 IB/srp: Split srp_map_sg This is a preparation patch for the new registration API conversion. It splits srp_map_sg per registration strategy (srp_map_sg[fmr|fr|dma]. On its own it adds some code duplication, but it makes the API switch easier to comprehend. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9ddc87374af90ee694bcc8d3412c6f2b51df1fea Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:37 2015 +0300 RDS/IW: Convert to new memory registration API Get rid of fast_reg page list and its construction. Instead, just pass the RDS sg list to ib_map_mr_sg and post the new ib_reg_wr. This is done both for server IW RDMA_READ registration and the client remote key registration. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 412a15c0fe537c59c794d4e8134580b9cb984a0c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:36 2015 +0300 svcrdma: Port to new memory registration API Instead of maintaining a fastreg page list, keep an sg table and convert an array of pages to a sg list. Then call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Tested-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4143f34e01e9cdf1882f98c54d9073e4de8c28fb Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:35 2015 +0300 xprtrdma: Port to new memory registration API Instead of maintaining a fastreg page list, keep an sg table and convert an array of pages to a sg list. Then call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Tested-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 16c2d702f2c76892f47944a53d9e1ce42023046d Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:34 2015 +0300 iser-target: Port to new memory registration API Remove fastreg page list allocation as the page vector is now private to the provider. Instead of constructing the page list and fast_req work request, call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 39405885005a8b01e3523d3351ea74ae3b965842 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:33 2015 +0300 IB/iser: Port to new fast registration API Remove fastreg page list allocation as the page vector is now private to the provider. Instead of constructing the page list and fast_req work request, call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0ba24dd39a3f401dd12d129a65d2e2e7fe7f96eb Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:32 2015 +0300 RDMA/nes: Support the new memory registration API Support the new memory registration API by allocating a private page list array in nes_mr and populate it when nes_map_mr_sg is invoked. Also, support IB_WR_REG_MR by duplicating IB_WR_FAST_REG_MR handling and take the needed information from different places: - page_size, iova, length (ib_mr) - page array (nes_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 38071a461f0a87a86ece011356bdac991795ce04 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:31 2015 +0300 IB/qib: Support the new memory registration API Support the new memory registration API by allocating a private page list array in qib_mr and populate it when qib_map_mr_sg is invoked. Also, support IB_WR_REG_MR by duplicating qib_fastreg_mr just take the needed information from different places: - page_size, iova, length (ib_mr) - page array (qib_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8376b86de7d35d43cf1a33a1f43bc015b5a095d9 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:30 2015 +0300 iw_cxgb4: Support the new memory registration API Support the new memory registration API by allocating a private page list array in c4iw_mr and populate it when c4iw_map_mr_sg is invoked. Also, support IB_WR_REG_MR by duplicating build_fastreg just take the needed information from different places: - page_size, iova, length (ib_mr) - page array (c4iw_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 14fb4171ab1c298101697fe844dbf062ff6f4adf Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:29 2015 +0300 RDMA/cxgb3: Support the new memory registration API Support the new memory registration API by allocating a private page list array in iwch_mr and populate it when iwch_map_mr_sg is invoked. Also, support IB_WR_REG_MR by duplicating build_fastreg just take the needed information from different places: - page_size, iova, length (ib_mr) - page array (iwch_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2eaa1c5647a3fd21684120f63e414367055249c7 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:28 2015 +0300 RDMA/ocrdma: Support the new memory registration API Support the new memory registration API by allocating a private page list array in ocrdma_mr and populate it when ocrdma_map_mr_sg is invoked. Also, support IB_WR_REG_MR by duplicating IB_WR_FAST_REG_MR, but take the needed information from different places: - page_size, iova, length, access flags (ib_mr) - page array (ocrdma_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1b2cd0fc673c0bf9a37c6456267a7246fdd6a816 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:27 2015 +0300 IB/mlx4: Support the new memory registration API Support the new memory registration API by allocating a private page list array in mlx4_ib_mr and populate it when mlx4_ib_map_mr_sg is invoked. Also, support IB_WR_REG_MR by setting the exact WQE as IB_WR_FAST_REG_MR, just take the needed information from different places: - page_size, iova, length, access flags (ib_mr) - page array (mlx4_ib_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8a187ee52b043f8201e7089e5e538974142722e0 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:26 2015 +0300 IB/mlx5: Support the new memory registration API Support the new memory registration API by allocating a private page list array in mlx5_ib_mr and populate it when mlx5_ib_map_mr_sg is invoked. Also, support IB_WR_REG_MR by setting the exact WQE as IB_WR_FAST_REG_MR, just take the needed information from different places: - page_size, iova, length, access flags (ib_mr) - page array (mlx5_ib_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a7060009161344637da8cb4a389ead5fc156ea37 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:25 2015 +0300 IB/mlx5: Remove dead fmr code Just function declarations - no need for those laying arround. If for some reason someone will want FMR support in mlx5, it should be easy enough to restore a few structs. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4c67e2bfc8b7121d51434362fa7c2d012f8bcf1b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:24 2015 +0300 IB/core: Introduce new fast registration API The new fast registration verb ib_map_mr_sg receives a scatterlist and converts it to a page list under the verbs API thus hiding the specific HW mapping details away from the consumer. The provider drivers are provided with a generic helper ib_sg_to_pages that converts a scatterlist into a vector of page addresses. The drivers can still perform any HW specific page address setting by passing a set_page function pointer which will be invoked for each page address. This allows drivers to avoid keeping a shadow page vectors and convert them to HW specific translations by doing extra copies. This API will allow ULPs to remove the duplicated code of constructing a page vector from a given sg list. The send work request ib_reg_wr also shrinks as it will contain only mr, key and access flags in addition. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 63e8790d39a2d7c9a0ebeab987a6033d184bc6ba Merge: 95893dd eb14ab3 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Wed Oct 28 22:23:34 2015 -0400 Merge branch 'wr-cleanup' into k.o/for-4.4 commit eb14ab3ba14081e403be93dc6396627567fadf60 Merge: 9ffecb1 25556ae Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Wed Oct 28 22:21:09 2015 -0400 Merge branch 'wr-cleanup' of git://git.infradead.org/users/hch/rdma into wr-cleanup Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> Conflicts: drivers/infiniband/ulp/isert/ib_isert.c - Commit 4366b19ca5eb (iser-target: Change the recv buffers posting logic) changed the logic in isert_put_datain() and had to be hand merged commit 67d25f0d4e24775418aae403610cae99e27cdc3c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 11:41:00 2015 +0200 dmaengine: hdmac: Add scatter-gathered memset support Just like memset support, the HDMAC might be used to do a memset over a discontiguous memory area. In such a case, we'll just build up a chain of memset descriptors over the contiguous chunks of memory to set, in order to allow such a support. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ce2a673d66b2cab4b459981be1a28bbb6c071555 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 11:40:59 2015 +0200 dmaengine: hdmac: factorise memset descriptor allocation The memset and scatter gathered memset are going to use some common logic to create their descriptors. Move that logic into a function of its own so that we can share it with the future memset_sg callback. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0d49fee9c11ed1864f286d52eae2b73a7df0a7c8 Merge: 28ca3e8 49dfebe Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Oct 29 10:31:11 2015 +0900 Merge branch 'topic/dw' into for-linus commit e3cc3136df33de1aa26d606f2a42cac3fd30cf54 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:08 2015 +0100 Staging: rtl8192u: ieee80211: added missing blank lines This patch resolves the following checkpatch warnings: - WARNING: Missing a blank line after declarations Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d92e43496f803dcbb3c6542ffe133d7b08b96aa Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:07 2015 +0100 Staging: rtl8192u: ieee80211: removed unnecessary braces This patch fixes the following checkpatch warning: - WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1cb1af28a9376ebd1a5bd156f4556b944622e17 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:06 2015 +0100 Staging: rtl8192u: ieee80211: corrected block comments This patch reformats some block comments in order to match the Linux kernel coding style. Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7bdb7d554e0e433b92b63f3472523cc3067f8ab4 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:05 2015 +0100 Staging: rtl8192u: ieee80211: corrected indent This patch corrects the indentation in five instances in the ieee80211_crypt_tkip.c file. Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65ed40ddea689921bd83e5ad30fe48f0ad03c182 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:04 2015 +0100 Staging: rtl8192u: ieee80211: added missing spaces after if This patch fixes the following checkpatch error: - ERROR: space required before the open parenthesis '(' Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4255e7c928534cafa25207a1dd236b7d8f894b6 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:03 2015 +0100 Staging: rtl8192u: ieee80211: added missing space around '=' This patch fixes the following checkpatch error: - ERROR: spaces required around that '=' Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df58f2b9c824c248430abc701a7cf678d3616c49 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:02 2015 +0100 Staging: rtl8192u: ieee80211: fixed position of else statements This patch fixes the following checkpatch error: - ERROR: else should follow close brace '}' Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 840a121e06d5f59cf16623e64336abc98784f6dd Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:01 2015 +0100 Staging: rtl8192u: ieee80211: fixed open brace positions This patch fixes the following checkpatch error: - ERROR: that open brace { should be on the previous line Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7de9728fee04453b79281414aa4a0899826a3908 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Wed Oct 28 18:34:55 2015 +0530 staging: rdma: ipath: Remove unneeded vairable. Remove unneeded variable ret, directly return 0. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 853a46638e3cc574b6889c97ee9554afbf743efb Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:31:10 2015 +0700 staging: rtl8188eu: pwrGrpCnt variable removed in store_pwrindex_offset function This variable used only once in the beginning of the function, it can be removed. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bee5d583bd4926310d62f36257e355deebbdfe2 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:31:10 2015 +0700 staging: rtl8188eu: new variable for hal_data->MCSTxPowerLevelOriginalOffset[pwrGrpCnt] in store_pwrindex_offset function hal_data->MCSTxPowerLevelOriginalOffset[pwrGrpCnt] frequent in this function, so it replaced by the power_level_offset new variable. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83d7b6cbc859144d51f88cc6ee87c04a4634bd34 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:30:32 2015 +0700 staging: rtl8188eu: checkpatch fixes: 'Avoid CamelCase' in hal/bb_cfg.c This is checkpatch fixes for hal/bb_cfg.c file: Avoid CamelCase. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 420a952e4255dfbb5f7fed6d9937aae01d931282 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:29:11 2015 +0700 staging: rtl8188eu: checkpatch fixes: line over 80 characters splited into two parts This is checkpatch fixes for hal/bb_cfg.c file: line over 80 characters. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d5efcbddc565f163debc462a65e8ac1f975a5f8 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:28:19 2015 +0700 staging: rtl8188eu: checkpatch fixes: alignment should match open parenthesis This is checkpatch fixes for hal/bb_cfg.c file: alignment should match open parenthesis. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ce5b8d3f2dc87b820c5820231c1029e968c1009 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:27:26 2015 +0700 staging: rtl8188eu: checkpatch fixes: unnecessary parentheses removed in hal/bb_cfg.c This is checkpatch fixes for hal/bb_cfg.c file: unnecessary parentheses around <expr>. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53d06211e23b09fc8b0686cdf568fd81f6752ae3 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:26:57 2015 +0700 staging: rtl8188eu: checkpatch fixes: spaces preferred around that '|' in hal/bb_cfg.c This is checkpatch fixes for hal/bb_cfg.c file: spaces preferred around that '|'. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 160edfddf775e6ed92351512e4ece9870ede566e Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:26:00 2015 +0700 staging: rtl8188eu: operator = replaced by += in loop increment x = x + a and x += a equivalen, but second preferably. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32b5844e1f57e5c0801d86a4a48d8f817f65d976 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:25:39 2015 +0700 staging: rtl8188eu: occurrence of the 5 GHz code marked Channel numbers greater than 14 are used here, which are possible only for the 5 GHz frequency. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b546c0f9c3fc8e5a20aff2ac984472a7f33ef9cc Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:24:24 2015 +0700 staging: rtl8188eu: increment placed into for loop header The increment at the end of the cycle, and it can be placed in the loop header. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 628bd1c057157a67f40a5acb6dd58278ade018bf Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:23:57 2015 +0700 staging: rtl8188eu: while loop replaced by for loop in rtw_restruct_wmm_ie This patch replaces while loop with for loop, because the initial condition and the increment clearly and briefly defined for this loop. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bc8c2fb223378d3c17825112c59235efd06c49d Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:23:14 2015 +0700 staging: rtl8188eu: unused MIN macro removed This patch removes unused MIN macro from include/rtw_security.h. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7687e58a5aa759594096f3d7c990fdb0f88a3c9d Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:23:14 2015 +0700 staging: rtl8188eu: unused MEM_ALIGNMENT_OFFSET and MEM_ALIGNMENT_PADDING macros removed This patch removes unused MEM_ALIGNMENT_OFFSET and MEM_ALIGNMENT_PADDING macros from include/basic_types.h. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a3a379d354c9518e6897a28bd06badfcf2235e6 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:21:28 2015 +0700 staging: rtl8188eu: unused SUCCESS and FAIL macros removed This patch removes unused SUCCESS and FAIL macros in include/basic_types.h. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 016c6bbaf18cb3f375972d9f7b2c3ff60a57a261 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:20:28 2015 +0700 staging: rtl8188eu: abs kernel macro used in simularity_compare function abs macro is useful for determining the difference between the two integers. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 530c9b1b21fc41fd54c1c4f0f4b05368304c0105 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:19:50 2015 +0700 staging: rtl8188eu: ternary operator (?:) replaced by min_t kernel macro min_t macro better conveys the meaning of the code. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad8d8cd3b507fd72a64a61412623450740182828 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:18:10 2015 +0700 staging: rtl8188eu: ternary operator (?:) replaced by min_t kernel macro min_t macro better conveys the meaning of the code. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20e765310e003651378d8b58bb1e74f8e4b35c08 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:16:25 2015 +0700 staging: rtl8188eu: ternary operator (?:) replaced by min/max kernel macro min (or max) kernel macro better conveys the meaning of the code. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66eaaf4d0dee6fefb8b1b9a67e3228be4ec41052 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:15:31 2015 +0700 staging: rtl8188eu: clamp kernel macro used in proc_get_rx_signal To limit the range of integers there is clamp macro. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbef4729a1c9eefa509f10c9a0a799e026d54719 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:13:57 2015 +0700 staging: rtl8188eu: sizeof/sizeof replaced by ARRAY_SIZE kernel macro ARRAY_SIZE shorter and more difficult to create bugs. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2911905bca5403d87d35805f80d9c7f178e4802 Author: Bogicevic Sasa <brutallesale@xxxxxxxxx> Date: Tue Oct 27 12:24:28 2015 +0100 drivers:staging:wlan_ng Fix no space is necessary after a cast This fixes "No space is necessary after a cast" messages from checkpatch.pl Signed-off-by: Bogicevic Sasa <brutallesale@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b18a0eb107677d44fb28d46532cb8ac796f1d93 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Oct 27 15:27:26 2015 +0100 staging: board: Set PM domain before probe PM domains shouldn't be modified after a device is probed, so set it before device registration to be sure of that. In the future the PM domain pointer will be set through a setter that will WARN if the device has been probed already. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eca37c7c117460e2fbe4e32c991bff32a961f688 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Oct 28 16:16:02 2015 +0100 spi/spi-xilinx: Fix race condition on last word read Some users have reported that in polled mode the driver fails randomly to read the last word of the transfer. The end condition used for the transmissions (in polled and irq mode) has been the TX_EMPTY flag. But Lars-Peter Clausen has identified a delay from the TX_EMPTY to the actual end of the data rx. I believe that this race condition has not been detected until now because of the latency added by the IRQ handler or the PCIe bridge. This bugs affects setups with low latency access to the spi core. This patch replaces the readout logic: For all the words, except the last one, the TX_EMPTY flag is used (and cached). If !TX_EMPY or is the last word. The status register is read and the RX_EMPTY flag is used. The performance is not affected: there is an extra read of the Status Register, but the readout can start as soon as there is a word in the buffer. Reported-by: Edward Kigwana <ekigwana@xxxxxxxxxx> Initial-fix-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2cb202c1886ca363305fba82e340bdbd71387079 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Tue Oct 27 16:47:53 2015 -0400 lkdtm: fix ACCESS_USERSPACE test Add a copy_to_user() call to the ACCESS_USERSPACE test prior to attempting direct dereferencing of the user address to ensure the page is present. Otherwise, a fault occurs on arm kernels even prior to the introduction of CONFIG_CPU_SW_DOMAIN_PAN, and there is no difference in behavior for CONFIG_CPU_SW_DOMAIN_PAN=n vs CONFIG_CPU_SW_DOMAIN_PAN=y. Before this change, for any value of CONFIG_CPU_SW_DOMAIN_PAN: lkdtm: Performing direct entry ACCESS_USERSPACE lkdtm: attempting bad read at b6fe8000 Unable to handle kernel paging request at virtual address b6fe8000 After this change, for CONFIG_CPU_SW_DOMAIN_PAN=n: lkdtm: Performing direct entry ACCESS_USERSPACE lkdtm: attempting bad read at b6efc000 lkdtm: attempting bad write at b6efc000 After this change, for CONFIG_CPU_SW_DOMAIN_PAN=y: lkdtm: Performing direct entry ACCESS_USERSPACE lkdtm: attempting bad read at b6f7d000 Unhandled fault: page domain fault (0x01b) at 0xb6f7d000 ... Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 169883a63eb7e34e8e1c92fd451f34a5635c29ad Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Wed Oct 28 08:22:16 2015 +0100 mcb: Destroy IDA on module unload Destroy mcb_ida on module_unload Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf25c19979b2ee1019201b809e93b6bca9947cfd Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Wed Oct 28 08:22:15 2015 +0100 mcb: Do not return zero on error path in mcb_pci_probe() There is an error path in mcb_pci_probe() where it returns zero instead of error code. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 213dd193fab8288e2b0b96dc93f974ec33ba2298 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Wed Oct 28 14:34:35 2015 +0200 mei: bus: set the device name before running fixup The mei bus fixup use dev_xxx services for printing to kernel log so we need to setup the device name prior to running fixup hooks. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2da55cfd603d1c08dd1a396f943d6205eca47227 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Wed Oct 28 14:34:34 2015 +0200 mei: bus: use correct lock ordering The correct lock order is cl_bus_lock device_lock me_clients_rwsem This order was violated in bus rescan and remove routines when me_client_rwsem was locked before cl_bus_lock. Chain exists of: [ 4.321653] &dev->device_lock --> &dev->me_clients_rwsem --> &dev->cl_bus_lock [ 4.321653] [ 4.321679] Possible unsafe locking scenario: [ 4.321679] [ 4.321693] CPU0 CPU1 [ 4.321701] ---- ---- [ 4.321709] lock(&dev->cl_bus_lock); [ 4.321720] lock(&dev->me_clients_rwsem); [ 4.321733] lock(&dev->cl_bus_lock); [ 4.321745] lock(&dev->device_lock); [ 4.321755] [ 4.321755] *** DEADLOCK *** [ 4.321755] Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0cf55bbef2f9f5a51d947c430e207d2360e89e4c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:25 2015 +0000 staging: comedi: comedi_test: implement commands on AO subdevice Implement COMEDI asynchronous commands on the fake analog output subdevice. This is useful for testing asynchronous commands in the "write" direction when no real hardware is available. A normal kernel timer is used to drive the command. The new timer expiry function `waveform_ao_timer()` handles whole "scans" at a time according to the number of scan period that have elapsed since the last scan. Data for each channel in the scan is written to the internal loopback array `devpriv->ao_loopbacks[]` and can be read back on the analog input channels. However, if several scan periods are outstanding in the timer expiry function, only the latest available scan data is written to the loopback array in order to save processing time. The expiry function also checks for underrun conditions, and checks for normal termination of the asynchronous command when a "stop" scan count is reached. After the command is tested by `waveform_ao_cmdtest()` and set up by `waveform_ao_cmd()`, it is not started until an internal trigger function `waveform_ao_inttrig_start()` is called as a result of the user performing an `INSN_INTTRIG` instruction on the subdevice. The command is stopped when the "cancel" handler `waveform_ao_cancel()` is called. This may be due to the command terminating due to completion or an error, or as a result of the user cancelling the command. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9406a3140a76772cc6bbf8704ecebbd249e9ca9b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:24 2015 +0000 staging: comedi: comedi_test: rename waveform_ai_interrupt() `waveform_ai_interrupt()` is a timer expiry function used to generate fake waveform data for an analog input subdevice. Rename it to `waveform_ai_timer()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1eb85ae8574eac40463ca3bfcef4608f7a374bd0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:23 2015 +0000 staging: comedi: comedi_test: handle partial scans in timer routine For asynchronous command handling on the analog input subdevice, a kernel timer routine is used to generate the fake waveform data. A "scan" consists of a number of conversions separated in time by a conversion period. Successive scans are separated in time by a scan period, which is at least the conversion period multiplied by the number of conversions per scan. Currently, the timer routine does not generate any data until the end of a scan period, generating whole scans of data at a time. Change it to generate data at the end of each conversion period, with an extra delay after the final conversion in each scan if necessary. Use new member `ai_convert_time` in the private data structure `struct waveform_private` to keep track of when the next conversion is due. This replaces the old member `ai_last_scan_time` which kept track of the time of the previous scan. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0c6fe1294f4931af263f0386fb45943451e8b4f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:22 2015 +0000 staging: comedi: comedi_test: allow read-back of AO channels COMEDI drivers often allow the last value written to a channel on an analog output subdevice to be read back via the "insn_read" handler. The "comedi_test" driver does not currently support that. It is a bit special because it loops back the last values written to the channel on the analog output subdevice to be read back via corresponding channels on the analog input subdevice. The "insn_read" handler for the analog input subdevice is `waveform_ai_insn_read()`. Set that as the "insn_read" handler for the analog output subdevice as well. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b2468fe9854941a175d57642a05aad6f52289c7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:21 2015 +0000 staging: comedi: comedi_test: use unsigned short for loopback values The last sample values written to the AO subdevice channels by its "insn_write" handler `waveform_ao_insn_write()` are stored in the member array `ao_loopbacks[]` in the device private data `struct waveform_private`. They can be read back via the "insn_read" handler of the AI subdevice `waveform_ai_insn_read()`. As the stored sample values are only 16 bits wide, change the type of the `ao_loopbacks[]` member to `unsigned short` to save some space. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e5ffbf29c2042464c64998d2798431c358df251 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:20 2015 +0000 staging: comedi: comedi_test: make timer rate similar to scan rate The asynchronous command handling for the analog input subdevice uses a kernel timer which expires approximately `HZ` times a second. However, it only needs to do anything after each scan period. Set the timer to expire just after the next scan period. Although the timer expiry function `waveform_ai_interrupt()` uses precise time values to generate the fake waveforms used to generate the data, those time values are constructed in a precise sequence, and do not depend on the time the timer expiry function is actually called. So the timer expiry rate does not have to be very precise. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3f24dff89748215f7f3054487731bec3b618669 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:19 2015 +0000 staging: comedi: comedi_test: rename waveform members Rename the members `struct waveform_private` associated with fake waveform generation. The affected members are `uvolt_amplitude` --> `wf_amplitude` (the amplitude of the waveform), `usec_period` --> `wf_period` (the period of the waveform), and `usec_current` --> `wf_current` (the current time within a waveform period). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 807060a369577ebdbbbf3f697a37f121a2e5bf6a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:18 2015 +0000 staging: comedi: comedi_test: rename members for AI commands Rename the members of `struct waveform_private` that are used to handle AI commands, apart from those members used to control fake waveform generation. The renames are `timer` --> `ai_timer`, `scan_period` --> `ai_scan_period`, and `convert_period` --> `ai_convert_period`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66d4da800d1a70e7c6b27ba7a61e4bc39b1f3304 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:17 2015 +0000 staging: comedi: comedi_test: simplify time since last AI scan The private data structure `struct waveform_private` currently uses member `last` to remember the time of the last timer interrupt, and the member `usec_remainder` to keep track of how far into a simulated scan the interrupt occurred. Replace these with a single new member `ai_last_scan_time` that records the time of the last scan. This simplifies the calculation of the number of scans to simulate in the timer routine, `waveform_ai_interrupt()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21ec1bf73483f1cceb252ecf9323160fc9473f7b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:16 2015 +0000 staging: comedi: comedi_test: use unsigned int for waveform timing Use `unsigned int` instead of `unsigned long` to hold the period of the fake waveform generator and the current time within each waveform. The waveform period will be no more than `INT_MAX` and the current time within the waveform (prior to the modulo operation to bring it actually within the waveform period) will be no more than `INT_MAX + UINT_MAX / 1000`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fa8a260d22b5a6da088afb12e3321a35f397104 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:15 2015 +0000 staging: comedi: comedi_test: move modulo operations for waveform The fake waveform generator functions, `fake_sawtooth()` and `fake_squarewave()`, called from `fake_waveform()`, have a `current_time` parameter which is the time since the start of a waveform period. The parameter value may be greater than the waveform period so they do a modulo operation to bring it into range. Do the modulo operations outside the functions in `waveform_ai_interrupt()` so that the waveform generator functions always get a `current_time` parameter less than the waveform period and do not have to do the modulo operation themselves. Also, only do the modulo operations when the time since the start of a waveform exceeds the waveform period. Usually, several samples are produced in each waveform period and modulo operations are typically more expensive than a simple comparison. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 783ddaebd3978cb9a1c6899899b2208a96d2b9f0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:14 2015 +0000 staging: comedi: comedi_test: support scan_begin_src == TRIG_FOLLOW It is quite common for COMEDI subdevices that support commands to support setting `scan_begin_src` to `TRIG_FOLLOW`. This means the next scan begins once all conversions in the current scan are complete. Support the following timing combinations for the AI subdevice: scan_begin_src == TRIG_TIMER && convert_src == TRIG_TIMER scan_begin_src == TRIG_TIMER && convert_src == TRIG_NOW scan_begin_src == TRIG_FOLLOW && convert_src == TRIG_TIMER The actual scan period in microseconds is stored in the `scan_period` member of the private data structure `struct waveform_private`. An `unsigned int` is still wide enough, because the conversion period is no more than `UINT_MAX / 1000` microseconds and the number of conversions is no more than 16 (`N_CHANS * 2`). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5afdcad2f818ed623f61e79ea63fcd347bef1a8c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:13 2015 +0000 staging: comedi: comedi_test: limit maximum convert_arg When testing the parameters for setting up an asynchronous command on the AI subdevice, limit the maximum conversion period (`cmd->convert_arg`) so that the number of conversions in a scan (`cmd->scan_end_arg`, same as `cmd->chanlist_len`) multiplied by the conversion period fits within an `unsigned int`, as that is used to limit the minimum scan period (`cmd->scan_begin_arg`). Also ensure rounding of the conversion period and scan period to the nearest microsecond both fit in an `unsigned int`. Do all this in stage 4 ("fix up any arguments") of the command testing. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87f64803ca9fc4d4748a648a69532dcb52f7fc6a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:12 2015 +0000 staging: comedi: comedi_test: remove nano_per_micro The `static const int nano_per_micro` variable is set to 1000, the number of nanoseconds in a microsecond. Remove it and use the `NSEC_PER_USEC` macro from <linux/time.h> instead. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19e86985b08e2470aeb805f71d2e2ebf19bcdc95 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:11 2015 +0000 staging: comedi: comedi_test: saturate fake waveform values While an asynchronous command is running on the analog input subdevice, fake waveform generators are connected to each channel to provide the input voltages that are converted to sample value. Channel 0 is connected to a sawtooth generator, channel 1 is connected to a squarewave generator, and the remaining channels are connected to a flatline generator. The non-flatline generators share the same amplitude (in microvolts) and period (in microseconds) which are configured when the COMEDI device is attached. All waveforms are centered around 0 microvolts and the non-flatline waveforms go between -amplitude and +amplitude. It is possible for the waveforms to swing outside the input range of the channels to which they are connected. When that happens, the sample values resulting from simulated A-to-D conversion will wrap around due to integer overflow. Prevent that by clamping the sample values that would go out of range. This is closer to how a real hardware device would behave (assuming the input voltage is not high enough to damage the hardware!). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbad8cf4263009845139cc329738a106df6461d2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:10 2015 +0000 staging: comedi: comedi_test: reformat multi-line comments Use the preferred style for multi-line comments. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c27fc351cf4298b5ade8f3bda8f8be15af5d6cde Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 28 15:14:35 2015 +0100 staging: most: remove exclusive wait_queue This patch removes the unnecessary wait_queue that has exclusively been used for the poll function and its poll_table. Instead, an already existing one is used. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f9cacb62d94c4828827ead22d9b6e7d6d7aa1e8 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 28 15:49:15 2015 +0100 staging: most: hdm-dim2: use min_t() This patch replaces the usage of min() by min_t(). Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 806535b623b9bfd501728269ed1f62245c96192b Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:55 2015 +0200 staging: iio: accel: add bracket on all branches of the if/else This patch adds brackets on all of the conditional branches in order to follow the linux coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48948abe0557e70bce687e5889799177903f8232 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:54 2015 +0200 staging: iio: accel: place logical operators on the previous line This patch moves the logical operators on the previous line in order to follow the linux coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 663b03d8ae9e5923fc47471023fa8d243831bc73 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:53 2015 +0200 staging: iio: accel: remove unwanted blank lines This patch removes unwanted blank lines in order to follow the linux coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c50ea26641279b8993ed3796d91598329d012420 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:52 2015 +0200 staging: iio: accel: fix block comments alignment This patch properly aligns the block comment in order to follow the linux coding style convetions. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a613ad42daa8eb507c641f0cbf33984ad8a02c4 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:51 2015 +0200 staging: iio: accel: add blank lines after function definitions This patch add blank lines after functions definitions in order to follow the linux coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89ea25c7ae9829611a15ece90ac6d4a423864ea1 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:50 2015 +0200 staging: iio: accel: change uint8_t to u8 This patch changes uint8_t type to preferred kernel type u8 in order to follow the linux coding style conventions. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 252b1d8466544da68eca02e485d30d1af4c63ee6 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:49 2015 +0200 staging: iio: accel: properly align function arguments This patch properly aligns the function arguments or its parameters in order to match the open bracket. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1abe0c9a72dbf9ca060ecce86a8beedf66436024 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:48 2015 +0200 staging: iio: accel: add spaces aroung binary operators This patch adds spaces around binary operators such as '*', '/', '+' in order to improve readability. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bc852413be32a07d12364ee24c772b335fa6f86 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 29 01:53:30 2015 +0530 Staging: wilc1000: Prefer eth_broadcast_addr over memset() This patch is to the host_interface.c that fixes up following warning by checkpatch: -prefer eth_broadcast_addr() over memset() Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d21ad20f496f5c14df5cccbef74883837003851 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:28 2015 +0900 staging: wilc1000: fix line over 80 characters This patch fixes line over 80 characters found by checkpatch. WARNING: line over 80 characters FILE: drivers/staging/wilc1000/host_interface.h:424: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58eabd68a438f8b4755fab7160a31745f5723db4 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:27 2015 +0900 staging: wilc1000: replace kmalloc/memcpy with kmemdup This patch replaces kmalloc followed by memcpy with kmemdup. It is also added error checking to return -ENOMEM when kmemdup is failed. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff3bce2f6caca3d004780fd46a2566e69993742c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:26 2015 +0900 staging: wilc1000: rename tenuAuth_type in host_int_add_wep_key_bss_ap This patch changes tenuAuth_type to auth_type that is sixth argument of this function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 730a28da66ce00f4f31f613ac6aefaf7a7acaf07 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:25 2015 +0900 staging: wilc1000: rename u8mode in host_int_add_wep_key_bss_ap This patch changes u8mode to mode that is fifth argument of this function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a76dc953d569193d6668852a8b729cbfa8ce83a6 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:24 2015 +0900 staging: wilc1000: rename u8Keyidx in host_int_add_wep_key_bss_ap This patch changes u8Keyidx to index that is fourth argument of this function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5389b0749751378dae9262eb4bc6fb51d025acb Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:23 2015 +0900 staging: wilc1000: rename u8WepKeylen in host_int_add_wep_key_bss_ap This patch changes u8WepKeylen to len that is third argument of this function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8111725a3afa6c20d2bd62d2b2d729ecf18cf7d7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:22 2015 +0900 staging: wilc1000: rename pu8WepKey in host_int_add_wep_key_bss_ap This patch changes pu8WepKey to key that is second argument of this function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd74146158b2d6f5865eedc29cc600d4b71cf53e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:21 2015 +0900 staging: wilc1000: replace u8 with int. This patch changes data type of variable i from u8 to int. It is used as index of an array to print its content. It's better to use as data type of int. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a558ac6c9711ac1dc264aeb4019317fc9e9b4c0e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:20 2015 +0900 staging: wilc1000: fix parameter name of function declaration This patch changes struct host_if_drv of host_int_add_wep_key_bss_ap function declaration from hWFIDrv to hif_drv. With this change, first parameter name of this function declaration and definition has same name as hif_drv. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 641c20a63508cfefef52759dc175a113d7157caa Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:19 2015 +0900 staging: wilc1000: fix return type of host_int_add_wep_key_bss_ap This patch changes return type of host_int_add_wep_key_bss_ap from s32 to int. The result variable gets return value from wilc_mq_send that has return type of int. It should be changed return type of this function as well as data type of result variable. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf491d935a2a77203d9e215a67b7924964a3f618 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:38 2015 +0900 staging: wilc1000: fix line over 80 characters This patch fixes line over 80 characters found by checkpatch. WARNING: line over 80 characters FILE: drivers/staging/wilc1000/host_interface.h:408: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cc0c328d564b0061a0bd156e8734125a64a0531 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:37 2015 +0900 staging: wilc1000: replace kmalloc/memcpy with kmemdup This patch replaces kmalloc followed by memcpy with kmemdup. It is also added error checking of kmemdup. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b2cc3e57c7d1de64beaba467058e85489ad4ab1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:36 2015 +0900 staging: wilc1000: rename u8Keyidx in host_int_add_wep_key_bss_sta This patch changes u8Keyidx to index that is fourth argument of host_int_add_wep_key_bss_sta to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbc53194f88cf2ae84c2ea7dd5b66ff237d4eb76 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:35 2015 +0900 staging: wilc1000: rename u8WepKeylen in host_int_add_wep_key_bss_sta This patch changes u8WepKeylen to len that is third argument of host_int_add_wep_key_bss_sta to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fba778b11dd2d1379f6c4d45a76f3cedf8c81c52 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:34 2015 +0900 staging: wilc1000: rename pu8WepKey in host_int_add_wep_key_bss_sta This patch changes pu8WepKey to key that is second argument of host_int_add_wep_key_bss_sta to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e4aebe1c0e65d1b32d31f7cdaa6d4cb3e8f55bd Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:33 2015 +0900 staging: wilc1000: fix parameter name of function declaration This patch changes struct host_if_drv of host_int_add_wep_key_bss_sta function declaration from hWFIDrv to hif_drv. With this change, first parameter name of this function declaration and definition has same name as hif_drv. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66b8cb89e1816b6f4a245aee0febca8edec34cce Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:32 2015 +0900 staging: wilc1000: fix return type of host_int_add_wep_key_bss_sta This patch changes return type of host_int_add_wep_key_bss_sta from s32 to int. The result variable gets return value from wilc_mq_send that has return type of int. It should be changed return type of this function as well as data type of result variable. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8060fc080b1ea6641d2d8c01ffb31afea045345 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 29 00:30:01 2015 +0530 Staging: wilc1000: wilc_wfi_cfgoperations: Remove irrelevant wrapper function Remove the wrapper function WILC_WFI_add_wilcvendorspec() and replace its call with memcpy(). Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce081898622bde64aa913a3740c6e1a237a52286 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Tue Oct 27 22:58:06 2015 +0530 Staging: wilc1000: coreconfigurator: Remove trailing whitespace In block comments, trailing whitespaces should be removed. Fix checkpatch ERROR: trailing whitespace Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5beef2ca4f88cdafb05a5cde26052757dfc580e7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:36 2015 +0900 staging: wilc1000: rename u8RemainOnChan_pendingreq of struct host_if_drv This patch renames u8RemainOnChan_pendingreq of struct host_if_drv to remain_on_ch_pending to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d61f8e1eee1deb243ed538f290f90256ecb04975 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:35 2015 +0900 staging: wilc1000: rename strHostIfRemainOnChan of struct host_if_drv This patch renames strHostIfRemainOnChan of struct host_if_drv to remain_on_ch to avoid CamelCase naming convention. And, remove the relation comment. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8b1713246e90b81cd633910fe4128016ae43576 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:34 2015 +0900 staging: wilc1000: rename strWILC_UsrConnReq of struct host_if_drv This patch renames strWILC_UsrConnReq of struct host_if_drv to usr_conn_req to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70793b2ab4ddfe2cb8e4c6248d29a4919301760c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:33 2015 +0900 staging: wilc1000: rename strWILC_UsrScanReq of struct host_if_drv This patch renames strWILC_UsrScanReq of struct host_if_drv to usr_scan_req to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ceba0afed057533a6e338c961e3a279c1e7f6f6 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:32 2015 +0900 staging: wilc1000: rename u8MacAddress of struct get_mac_addr This patch renames u8MacAddress of struct get_mac_addr to mac_addr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae5e4522d3e969e41a5ae99b51f8df0f3f9c635c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:31 2015 +0900 staging: wilc1000: rename u8MacAddress of struct set_mac_addr This patch renames u8MacAddress of struct set_mac_addr to mac_addr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c96debf114f0e68349948180d27eb76e1ef44104 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:30 2015 +0900 staging: wilc1000: rename u32Mode of struct op_mode This patch renames u32Mode of struct op_mode to mode to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a7f3b12f1d32ddb9ae716cb25828f51d3f2b0f16 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:29 2015 +0900 staging: wilc1000: rename u32Address of struct drv_handler This patch renames u32Address of struct drv_handler to handler to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45102f83e282ee83bed35a64ba5c36e1cdddb90b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:28 2015 +0900 staging: wilc1000: rename variable strWID This patch renames variable strWID to wid to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4be55e228724883a07f4c1c76b8a49036172dd73 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:27 2015 +0900 staging: wilc1000: rename au8StartTime of struct join_bss_param This patch renames au8StartTime of struct join_bss_param to start_time to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df165a68de358eb2df1455ba196859f310854844 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:26 2015 +0900 staging: wilc1000: host_interface: removes unused functions This patch removes unused functions at host_interface files. - host_int_send_join_leave_info_to_host - host_int_send_network_info_to_host Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96a6800089e3b4a39f7ac9eb74c51956e583ddbc Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:25 2015 +0900 staging: wilc1000: fixes please don't use multiple blank lines This patch fixes the checks reported by checkpatch.pl for Please don't use multiple blank lines. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c09389acd4ff28b7c94dfa9546b781e50f2e5785 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:24 2015 +0900 staging: wilc1000: fixes missing a blank line after declarations This patch fixes the warnings reported by checkpatch.pl for Missing a blank line after declarations. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0711645c8105a747388225f2ad178f566a241dbe Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:23 2015 +0900 staging: wilc1000: fixes blank lines aren't necessary brace This patch fixes the checks reported by checkpatch.pl for Blank lines aren't necessary after an open brace '{' and Blank lines aren't necessary before a close brace '}'. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1666e2a2650dfdee6fa683bb6e04f09e2d12a3a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:22 2015 +0900 staging: wilc1000: fixes braces {} are not necessary for single statement blocks This patch fixes the warnings reported by checkpatch.pl for braces {} are not necessary for single statement blocks Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bafaa69656a42c4dde6d9afccfd43b47a77f378a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:21 2015 +0900 staging: wilc1000: remove unnecessary parentheses around This patch removes the checks reported by checkpatch.pl for unnecessary parentheses around. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c9dbce89606524d39860b88c7ea26cc579f62fd Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Oct 28 17:43:27 2015 +0900 staging: wilc1000: change MAINTAINERS This patch removes Rachel Kim from the MAINTAINERS list because she retires from her position and adds Austin shin as new MAINTAINER for the Atmel wireless link controller: WILC1000 and WILC3000. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbef61e749caf22b51ed4e1981aedd8426a4d837 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:27:21 2015 +0900 staging: wilc1000: wilc_msgqueue.c : remove goto statement This patch removes goto statement and moves the spin lock position. If a memory allocation fails, directly returns an error. The spin lock actually protects the pHandle. Therefore, call spin lock just before pHandle is used. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82bb18e1bdcd774059556c58650a04c004a21c9d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:28:03 2015 +0900 staging: wilc1000: tcp_process: add argument dev and use private data This patch adds new argument net_device and use netdev private data member wilc instead of g_linux_wlan. Pass argument dev to the function as well. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 691bbd42b0dde916e489ee71babfa17bab32720e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:28:02 2015 +0900 staging: wilc1000: wilc_wlan_txq_add_net_pkt: add argument struct net_device This patch add new argument struct net_device *dev and pass net_device to wilc_wlan_txq_add_net_pkt. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7495be52a25b7136aa437262a7e04d41d7afdde Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:28:01 2015 +0900 staging: wilc1000: mac_xmit: use netdev private wilc instead of g_linux_wlan This patch uses netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50a0b3b7f5f8fd6a5e8163fbf6c436807085fd4a Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:28:00 2015 +0900 staging: wilc1000: wilc_wlan_txq_get_next: add argument wilc This patch adds new argument struct wilc and use wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d06f362cbf570efa34e8264f77428e4d3fb1c859 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:59 2015 +0900 staging: wilc1000: wilc_wlan_rxq_add: add argument wilc and use it This patch adds new argument struct wilc and use it instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 178c383f5472e96015ef8dbab2141b1ce836a199 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:58 2015 +0900 staging: wilc1000: Set_machw_change_vir_if: add argument struct net_device Add new argument net_device and use netdev private data member wilc instead of g_linux_wlan. Pass argument dev to the function as well. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ad81fd6125f0a0b612b1a995b584f09e4f80c3b Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:57 2015 +0900 staging: wilc1000: GetIfHandler: add argument struct wilc and use it This patch adds new argument struct wilc and use it instead of g_linux_wlan. And also pass wilc to the function. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb1991aca9738d369c14837c73c2b7c183637f92 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:56 2015 +0900 staging: wilc1000: frmw_to_linux: add argument struct wilc This patch adds new argument struct wilc and use it instead of g_linux_wlan. Pass argument wilc to the function as well. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db38763516626e89f9b8a3f3892ce1664a43c753 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:55 2015 +0900 staging: wilc1000: wilc_wlan_rxq_remove: add argument wilc and use it This patch adds new argument struct wilc and use it instead of g_linux_wlan. Pass wilc to wilc_wlan_rxq_remove. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2de7cbecef34e8e4b83a6771aebe87b4f6cac0c3 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:54 2015 +0900 staging: wilc1000: wilc_wlan_cleanup: add new argument struct net_device This patch adds new function argument net_device and pass dev to the functions. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07320b6bc3ea5a75b6a0c7a36bd8dddbd746225c Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:53 2015 +0900 staging: wilc1000: mac_ioctl: use private data instead of g_linux_wlan Use netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32dd51bca67a511dc7afb5a95ee33a0f9a85f811 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:52 2015 +0900 staging: wilc1000: wlan_deinitialize_threads: change argument and use wilc This patch changes function parameter type struct wilc with struct net_device and use netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11f4b2eee7725534918ad2dda0cd3ed5ed25d831 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:51 2015 +0900 staging: wilc1000: WILC_WFI_mgmt_rx: add argument wilc and use it This patch add new argument wilc and use it instead of g_wlan_linux. Declare the function in wilc_wfi_netdevice.h. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c67c05380c555cc2c0c252b92eb6fe75a94bb06 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:50 2015 +0900 staging: wilc1000: wlan_deinit_locks: change argument wilc with net_device This patch changes argument wilc with net_device and use netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5382219138db78b82631501b0f614e5fd012ad1 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:49 2015 +0900 staging: wilc1000: host_int_init: add argument net_device This patch add argument net_device and pass netdev private data member wilc to kthread_run. Pass net_device to the function as well. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c029e99ca4299731cf553444d291562b91fdbc22 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:48 2015 +0900 staging: wilc1000: wilc_wlan_txq_filter_dup_tcp_ack: add argument and use wilc This patch add argument net_device dev and use netdev private data member wilc instead of g_linux_wlan. Pass argument dev to the function. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1332cadbbe5c125ea333be8ab4b5eec2f6b2b73 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:47 2015 +0900 staging: wilc1000: wilc_wlan_handle_txq: add argument and use wilc This patch adds argument net_device dev and use netdev private data memeber wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 886875845a5d9f1d915fba17bd75d7bef38ebd6d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:46 2015 +0900 staging: wilc1000: linux_wlan_txq_task: use wilc instead of g_linux_wlan Pass argument dev instead of wilc from kthread_run and use netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75a94665a12313e051f1c2595a41fe20da668981 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:45 2015 +0900 staging: wilc1000: wlan_initialize_threads: change argument with net_device This patch changes function argument with net_device and use netdev private data member wilc instead of g_linux_wlan. And there are assignment code with different value continuously. Take last code. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 472791a94ff6a3f698feb51b7c41618a4f7dd5b1 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:44 2015 +0900 staging: wilc1000: linux_wlan_set_bssid: use wilc instead of g_linux_wlan This patch uses netdev private data memeber wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64f2b71b606074f10a0845294653c0c8d956a53b Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:43 2015 +0900 staging: wilc1000: linux_wlan_mac_indicate: add argument and use wilc This patch adds argument wilc and pass the function wilc. Use wilc instead of g_linux_wlan and pd. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39ce4d3d733a54162dc833f6004483438a606026 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:42 2015 +0900 staging: wilc1000: wilc_wlan_handle_rxq: add new argument and use wilc This patch adds new argument struct wilc and use it instead of g_linux_wlan. Pass wilc to the function as well. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bcd45b653e2d9c9bd04f245a14d26af895cd63a Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:41 2015 +0900 staging: wilc1000: wilc_wlan_handle_isr_ext: add argument struct wilc This patch adds argument struct wilc and pass wilc to the function. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50b929e08ee09ceb6ffa8416af818bed358718f6 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:40 2015 +0900 staging: wilc1000: wilc_handle_isr: add argument wilc to wilc_handle_isr This patch add new argument wilc to wilc_handle_isr and pass wilc to the function. It is void type for now because wilc_wlan.c was implemented platform independently at the beginning (linux_wlan.c is implementation of LINUX part), so the header file which defines struct wilc cannot be included at this moment, but this driver is dedicated to LINUX so wilc_wlan.c and linux_wlan.c will be merged. After that, this void type will be changed with struct wilc as well as other functions which are using void type in wilc_wlan.h. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec5cc75061b4e6250e5dace58f236c1f567b99fd Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:39 2015 +0900 staging: wilc1000: deinit_irq: use wilc instead of g_linux_wlan This patch changes function parameter linux_wlan_t nic with net_dev dev and use netdev private data member wilc instead of nic and g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e7933d0e79ab84f37389893ce66c35567d9bf6e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:38 2015 +0900 staging: wilc1000: isr_bh_routine: use wilc instead of g_linux_wlan Use netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3948362d56e5f0ca29f597e75e8b09d6dd8edfd4 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:37 2015 +0900 staging: wicl1000: isr_uh_routine: use netdev private wilc Use netdev private member wilc instead of g_linux_wlan and change argument wilc with dev in the function request_threaded_irq to pass back to handler the function isr_uh_routine. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 702c0e50f6b3fc8f3b7718a0fc2b467841671afb Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:20:14 2015 +0900 staging: wilc1000: fix build error on SPI wilc_netdev_init function has parameters to pass but no argument is passed when bus type SPI is selected. Which causes build error. This patch passes argument &wilc to the function wilc_netdev_init. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Fixes: 12ba5416dc77 ("staging: wilc1000: assign pointer of g_linux_wlan to sdio device data") Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f0d15ec953302bfc1a386dbcb5c6218a1457785 Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:28 2015 -0400 staging: lustre: cleanup over 80 characters in libcfs_hash.h Fix up all the over 80 character line issues in libcfs_hash.h reported by checkpatch.pl. At the same time update this header to match what is in the OpenSFS lustre branch. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49a0b0ad3c6e6c74c7562546ba378db132b222fa Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:27 2015 -0400 staging: lustre: convert last typedef data types in hash.c Change the last typedef data types cfs_hash_lookup_intent_t to enum and cfs_hash_cond_arg_t to a structure. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cd3d8505e710a84bf76e28fb79e992b6aa106bd Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:26 2015 -0400 staging: lustre: change cfs_hash_head*_t to struct Change cfs_hash_head_t and cfs_head_head_dep_t from typedef to true structures. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e6094f8ae200b7616e785cf3228f82bc1d51f1f Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:25 2015 -0400 staging: lustre: change cfs_hash_dhead*_t to struct Change cfs_hash_dhead_t and cfs_head_dhead_dep_to from typedef to true structures. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db9fc06bae1fdaae129b2bf8d86d85e746e757fc Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:24 2015 -0400 staging: lustre: change cfs_hash_ops_t to struct Change cfs_hash_ops_t to struct cfs_hash_ops. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccb006a5e453706cd077bbc6893eaa97ae3f81f0 Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:23 2015 -0400 staging: lustre: change cfs_hash_hlist_ops_t to struct Change cfs_hash_hlist_ops_t to struct cfs_hash_hlist_ops. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7587364b723ba49556f61af4fc9067d6fb3d00b0 Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:22 2015 -0400 staging: lustre: change cfs_hash_lock_ops_t to struct Change cfs_hash_lock_ops_t to struct cfs_hash_lock_ops. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b60a1d6bc297bffdabeb85fd7d14d80cfa5d0c9 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 27 21:23:46 2015 +0530 Staging: lustre: Remove unused lustre_lfsck_user.h file Remove the header file lustre_lfsck_user.h since it is not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 657ff36ff5cbf53040bf87952f3b10a999a74ddc Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 29 00:38:44 2015 +0530 staging: rtl8712: rtl871x_io: Remove unused function Drop function that is declared but not called anywhere. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f386ee173773eac13eaa8d10992ca970a63c1e9d Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 27 14:02:37 2015 +0530 staging: rtl8723au: core: Remove unnecessary functions Drop functions that are declared but are not being used anywhere. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efc19548e8eaa845983d59a9c7c3daed2c8c9e9a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Oct 28 18:37:20 2015 +0530 Staging: wlan-ng: Remove unused p80211meta.h file Remove the header file p80211meta.h since it is not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8732dd2f58a8e5d86044ed8dd913825157c8495 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Oct 27 16:08:37 2015 -0700 Staging: iio: adc: Fix sparse warning Fix following sparse endianness problems: CHECK drivers/staging/iio/adc/ad7816.c drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16 drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16 drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16 drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16 Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c3577db3e4f2a7f516462e7ef2b4fb1f09ffd8c Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Oct 27 16:07:54 2015 -0700 Staging: iio: impedance-analyzer: Fix sparse warning Fix following sparse endian warning: drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 832bf28ce436c97c224ad88e304d76f1f96b7a99 Author: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Date: Tue Oct 27 14:56:13 2015 +0530 Staging: panel: Logical continuations should be on the previous line This patch fixes the checkpatch issue: CHECK: Logical continuations should be on the previous line Signed-off-by: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebd43516d3879f882a403836bba8bc5791f26a28 Author: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Date: Tue Oct 27 14:55:46 2015 +0530 Staging: panel: usleep_range is preferred over udelay This patch fixes the issue: CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt Signed-off-by: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46f566ed53b00f186ce77833453b983e3a0feb08 Author: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Date: Tue Oct 27 14:55:15 2015 +0530 Staging: panel: Removing multiple blank lines This patch fixes the checkpatch issue CHECK: Please don't use multiple blank lines Signed-off-by: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b3c9eb292b0d9b5e82ba69215b7f19a6c41fce8 Author: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Date: Tue Oct 27 14:54:51 2015 +0530 Staging: panel: spaces preferred around that '/' This patch fixes the checkpatch issue: CHECK: spaces preferred around that '/' Signed-off-by: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cbb97ea3e386eb95ecbd99260d681792963cebf Author: David Cohen <david.a.cohen@xxxxxxxxxxxxxxx> Date: Mon Oct 5 16:49:58 2015 -0700 watchdog: intel-mid: add Magic Closure flag Adding WDIOF_MAGICCLOSE to Intel MID watchdog driver. Once the watchdog is opened, it makes sense to disable watchdog only if it was gracefully released. Signed-off-by: David Cohen <david.a.cohen@xxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 9493c0d824f7012dab7034a5b527ac8f07db5bed Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Oct 2 00:25:28 2015 -0300 watchdog: imx2_wdt: Use register definition in regmap_write() In order to improve readability it is better to pass the register name definition rather than to pass its hardcoded offset. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit d305c4773458fdd6ff9c52bfdea8c67fbd3b2072 Author: Ã?meric MASCHINO <emeric.maschino@xxxxxxxxx> Date: Tue Sep 22 23:58:48 2015 +0200 [IA64] Wire up kcmp syscall systemd > 218 fails to compile on ia64 with: error: â??__NR_kcmpâ?? undeclared [1]. I've been told that this is because the kcmp syscall hasn't been wired up for the ia64 arch [2]. The proposed patch thus wire up the kcmp syscall for the ia64 arch. [1] https://bugs.gentoo.org/show_bug.cgi?id=560492 [2] https://bugs.gentoo.org/show_bug.cgi?id=560492#c17 Signed-off-by: Ã?meric MASCHINO <emeric.maschino@xxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit fe537d003f9a97c65848e47b3b9acbb0c5002fd9 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Oct 27 17:00:17 2015 +0100 drm/amdgpu: ignore scheduler fences from the same entity We are going to submit them before the job anyway. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 6bd53c4125e545a495fba63024d5522e33c600f5 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 23 18:53:36 2015 -0400 drm/amdgpu: add GFX 8.1 register headers Minor differences compared to GFX 8.0 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 62f77f095c27dc6b3536735aa960a8bb21e4c5eb Author: Maharaja <c_mkenna@xxxxxxxxxxxxxxxx> Date: Wed Oct 21 11:49:18 2015 +0300 ath10k: enable adaptive CCA European Union has made it mandatory that all devices working in 2.4 GHz has to adhere to the ETSI specification (ETSI EN 300 328 V1.9.1) beginnig this year. The standard basically speaks about interferences in 2.4Ghz band. For example, when 802.11 device detects interference, TX must be stopped as long as interference is present. Adaptive CCA is a feature, when enabled the device learns from the environment and configures CCA levels adaptively. This will improve detecting interferences and the device can stop trasmissions till the interference is present eventually leading to good performances in varying interference conditions. The patch includes code for enabling adaptive CCA for 10.2.4 firmware on QCA988X. Signed-off-by: Maharaja <c_mkenna@xxxxxxxxxxxxxxxx> Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 97303480753e48fb313dc0e15daaf11b0451cdb8 Author: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Date: Tue Sep 22 19:59:48 2015 +0200 arm64: Increase the max granular size Increase the standard cacheline size to avoid having locks in the same cacheline. Cavium's ThunderX core implements cache lines of 128 byte size. With current granulare size of 64 bytes (L1_CACHE_SHIFT=6) two locks could share the same cache line leading a performance degradation. Increasing the size fixes that. Increasing the size has no negative impact to cache invalidation on systems with a smaller cache line. There is an impact on memory usage, but that's not too important for arm64 use cases. Signed-off-by: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 845da6e58e19b932b8364ec3678b8f7f80d6b6a9 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Oct 25 19:32:43 2015 +0100 ssb: add Kconfig entry for compiling SoC related code This allows saving a little of space when not using ssb on Broadcom SoC. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 830c7df46247b44aa46ae276073e2e10727c9e93 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Oct 25 19:32:42 2015 +0100 ssb: move functions specific to SoC hosted bus to separated file This cleans main.c a bit and will allow us to compile SoC related code conditionally in the future. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 399500da18f7fe79699c0e4f603f8874cecb3898 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Oct 15 07:23:25 2015 +0200 ssb: pick PCMCIA host code support from b43 driver ssb bus can be found on various "host" devices like PCI/PCMCIA/SDIO. Every ssb bus contains cores AKA devices. The main idea is to have ssb driver scan/initialize bus and register ready-to-use cores. This way ssb drivers can operate on a single core mostly ignoring underlaying details. For some reason PCMCIA support was split between ssb and b43. We got PCMCIA host device probing in b43, then bus scanning in ssb and then wireless core probing back in b43. The truth is it's very unlikely we will ever see PCMCIA ssb device with no 802.11 core but I still don't see any advantage of the current architecture. With proposed change we get the same functionality with a simpler architecture, less Kconfig symbols, one killed EXPORT and hopefully cleaner b43. Since b43 supports both: ssb & bcma I prefer to keep ssb specific code in ssb driver. This mostly moves code from b43's pcmcia.c to bridge_pcmcia_80211.c. We already use similar solution with b43_pci_bridge.c. I didn't use "b43" in name of this new file as in theory any driver can operate on wireless core. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0117e78aec73f1c0869e50d11a255b28aa4db8f0 Author: Marty Faltesek <mfaltesek@xxxxxxxxxx> Date: Sun Oct 25 22:54:01 2015 -0700 mwifiex: toggle carrier state in start_ap/stop_ap. In uap mode the carrier is not enabled until after the first STA joins. The carrier triggers the bridge to start its state machine, and if STP is enabled, it takes 4 seconds as it transitions from disabled to forwarding. During this time the bridge drops all traffic, and the EAPOL handshake times out after 3 seconds, preventing stations from joining. Follow the logic used in mac80211 and start the carrier in start_ap and disable it in stop_ap. This has a nice benefit of allowing the first station connection time to be reduced by up to 75% when STP is in use. Signed-off-by: Martin Faltesek <mfaltesek@xxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 072255241d2e3e9c1e23fc693f0333be72adfe2a Author: yfw <fengwei.yin@xxxxxxxxxx> Date: Mon Oct 26 10:36:22 2015 +0800 wcn36xx: Remove warning message when dev is NULL for arm64 dma_alloc. arm64 has requirement that all the dma operations have actual device. Otherwise, following warnning message shown and dma allocation fails: WARNING: CPU: 0 PID: 954 at arch/arm64/mm/dma-mapping.c:106 __dma_alloc+0x24c/0x258() Use an actual device structure for DMA allocation Modules linked in: wcn36xx wcn36xx_platform CPU: 0 PID: 954 Comm: ifconfig Not tainted 4.0.0+ #14 Hardware name: Qualcomm Technologies, Inc. MSM 8916 MTP (DT) Call trace: [<ffffffc000089904>] dump_backtrace+0x0/0x124 [<ffffffc000089a38>] show_stack+0x10/0x1c [<ffffffc000627114>] dump_stack+0x80/0xc4 [<ffffffc0000b2e64>] warn_slowpath_common+0x98/0xd0 [<ffffffc0000b2ee8>] warn_slowpath_fmt+0x4c/0x58 [<ffffffc00009487c>] __dma_alloc+0x248/0x258 [<ffffffbffc009270>] wcn36xx_dxe_allocate_mem_pools+0xc4/0x108 [wcn36xx] [<ffffffbffc0079c4>] wcn36xx_start+0x38/0x240 [wcn36xx] [<ffffffc0005f161c>] ieee80211_do_open+0x1b0/0x9a4 [<ffffffc0005f1e68>] ieee80211_open+0x58/0x68 [<ffffffc00051693c>] __dev_open+0xb0/0x120 [<ffffffc000516c10>] __dev_change_flags+0x88/0x150 [<ffffffc000516cf4>] dev_change_flags+0x1c/0x5c [<ffffffc000570950>] devinet_ioctl+0x644/0x6f0 Signed-off-by: Yin, Fengwei <fengwei.yin@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8e8e54c490032f15779d7b199548eb0143b70f0f Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Sat Oct 24 13:42:15 2015 -0400 wcn36xx: introduce per-channel ring buffer locks wcn36xx implements a ring buffer for transmitted frames for each (high and low priority) DMA channel. The ring buffers are lockless: new frames are inserted at the head of the queue, while finished packets are reaped from the tail. Unfortunately, the list manipulations are missing any kind of barriers so are susceptible to various races: for example, a TX completion handler might read an updated desc->ctrl before the head has actually advanced, and then null out the ctl->skb pointer while it is still being used in the TX path. Simplify things here by adding a spin lock when traversing the ring. This change increased stability for me without adding any noticeable overhead on my platform (xperia z). Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 56bae464275ac57cbf993f3ed15e96d6e1ec00a2 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Oct 20 14:19:26 2015 +0200 ath9k: fix phyerror codes Some of the ath9k_phyerr enums were wrong from the beginning (and even before). Most of the time the codes were used for counters to be displayed over debugfs, which made this a non-functional issue. Some (e.g. ATH9K_PHYERR_FALSE_RADAR_EXT) are used for radar detection and require the correct code to work as intended. This patch includes: a) fixes ATH9K_PHYERR_FALSE_RADAR_EXT: 24 => 36 ATH9K_PHYERR_CCK_LENGTH_ILLEGAL: 32 => 28 ATH9K_PHYERR_CCK_POWER_DROP: 33 => 29 ATH9K_PHYERR_HT_CRC_ERROR: 34 => 32 ATH9K_PHYERR_HT_LENGTH_ILLEGAL: 35 => 33 ATH9K_PHYERR_HT_RATE_ILLEGAL: 36 => 34 b) extensions ATH9K_PHYERR_CCK_BLOCKER = 24 ATH9K_PHYERR_HT_ZLF = 35 ATH9K_PHYERR_GREEN_FIELD = 37 Aside from the correction and completion made in the enum, the patch also extends the display of the related counters in the debugfs. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 989b8376f33721f7206dd058330da05972a71384 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Mon Oct 19 11:15:00 2015 -0400 orinoco_usb: return error in ezusb_probe when alloc_orinocodev fails The current code exits after alloc_orinocodev, but fails to change the return value to something that indicates the failure. This patch changes the return value to -ENOMEM. https://bugzilla.kernel.org/show_bug.cgi?id=106181 Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit dae0412d0caa4948da07fe4ad91352b5b61a70ec Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 21:04:14 2015 +0200 airo: fix scan after SIOCSIWAP (airo_set_wap) SIOCSIWAP (airo_set_wap) affects scan: only the AP specified by SIOCSIWAP is present in scan results. This makes NetworkManager work for the first time but then unable to find any other APs. Clear APList before starting scan and set it back after scan completes to work-around the problem. To avoid losing packets during scan, modify disable_MAC() to omit netif_carrier_off() call when lock == 2. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f675f93a797a18fc1f82030d56d02286039d0fb3 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 21:04:13 2015 +0200 airo: Track APList_rid in struct airo_info Instead of dynamically allocating APList, make it a member of struct airo_info to always track state of APList_rid. This simplifies suspend/resume and allows removal of readAPListRid. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6e4a0f2b5c56af6be43b546df16b1ece7df537d8 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Oct 26 12:53:17 2015 +0900 arm64: remove bogus TASK_SIZE_64 check The comparison between TASK_SIZE_64 and MODULES_VADDR does not make any sense on arm64, it is simply something that has been carried over from the ARM port which arm64 is based on. So drop it. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit b3bcb1b27203c24fbf181748cec6eec10419678d Merge: 6d08f61 2edb7a3 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Wed Oct 28 20:48:26 2015 +0200 Merge tag 'iwlwifi-next-for-kalle-2015-10-25' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * bug fix for TDLS * fixes and cleanups in scan * support of several scan plans * improvements in FTM * fixes in FW API * improvements in the failure paths when the bus is dead * other various small things here and there commit f90df5e27d978c492c4d911476622a7413621213 Author: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Date: Mon Oct 26 11:48:16 2015 +0800 arm64: make Timer Interrupt Frequency selectable It allows a selectable timer interrupt frequency of 100, 250, 300 and 1000 HZ. We will get better performance when choose a suitable frequency in some scene. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit f23bef34d34b6325916daddc4cfdeee53d5139e6 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Mon Oct 26 17:26:57 2015 +0600 arm64/mm: use PAGE_ALIGNED instead of IS_ALIGNED The <linux/mm.h> already provides the PAGE_ALIGNED macro. Let's use this macro instead of IS_ALIGNED and passing PAGE_SIZE directly. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: Laura Abbott <laura@xxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 59f2413573e4ee1e76062beef4a359156500db94 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 27 12:05:55 2015 +0000 arm64: cachetype: fix definitions of ICACHEF_* flags test_bit and set_bit take the bit number to operate on, rather than a mask. This patch fixes the ICACHEF_* definitions so that they represent the bit index in __icache_flags as opposed to the mask returned by the BIT macro. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit fde4a59fc1c55709b96d0f07110895f20015b6cc Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 27 12:05:54 2015 +0000 arm64: cpufeature: declare enable_cpu_capabilities as static enable_cpu_capabilities is only called from within cpufeature.c, so it can be declared static. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 8f2279d5d908119a08e906be1c6b69c744d0c379 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Oct 28 10:16:04 2015 -0700 usb: musb: omap2430: Fix regression caused by driver core change Commit ddef08dd00f5 ("Driver core: wakeup the parent device before trying probe") started automatically ensuring the parent device is enabled when the child gets probed. This however caused a regression for MUSB omap2430 interface as the runtime PM for the parent device needs the child initialized to access the MUSB hardware registers. Let's delay the enabling of PM runtime for the parent until the child has been properly initialized as suggested in an earlier patch by Grygorii Strashko <grygorii.strashko@xxxxxx>. In addition to delaying pm_runtime_enable, we now also need to make sure the parent is enabled during omap2430_musb_init. We also want to propagate an error from omap2430_runtime_resume if struct musb is not initialized. Note that we use pm_runtime_put_noidle here for both the child and parent to prevent an extra runtime_suspend/resume cycle. Let's also add some comments to avoid confusion between the two different devices. Fixes: ddef08dd00f5 ("Driver core: wakeup the parent device before trying probe") Suggested-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6675bce251b6ec20ec09c07e941d9f664be4ae58 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Oct 28 13:57:09 2015 +0200 drm/i915: disable CPU PWM also on LPT/SPT backlight disable Although we don't support or enable CPU PWM with LPT/SPT based systems, it may have been enabled prior to loading the driver. Disable the CPU PWM on LPT/SPT backlight disable to avoid warnings on LCPLL disable. The issue has been present on BDW since BDW enabling, but was recently introduced on HSW with commit 437b15b8017e0d946453c10794b0c5d4591cf180 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 4 16:55:13 2015 +0300 drm/i915: use pch backlight override on hsw too Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reference: http://mid.gmane.org/87y4frhwsn.fsf@xxxxxxxxxxxxxxxxxxxx Reported-by: kernel test robot <ying.huang@xxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446033429-8006-1-git-send-email-jani.nikula@xxxxxxxxx commit 9702970c7bd3e2d6fecb642a190269131d4ac16c Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Oct 28 16:56:13 2015 +0000 Revert "ARM64: unwind: Fix PC calculation" This reverts commit e306dfd06fcb44d21c80acb8e5a88d55f3d1cf63. With this patch applied, we were the only architecture making this sort of adjustment to the PC calculation in the unwinder. This causes problems for ftrace, where the PC values are matched against the contents of the stack frames in the callchain and fail to match any records after the address adjustment. Whilst there has been some effort to change ftrace to workaround this, those patches are not yet ready for mainline and, since we're the odd architecture in this regard, let's just step in line with other architectures (like arch/arm/) for now. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e13d918a19a7b6cba62b32884f5e336e764c2cc6 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Oct 27 17:29:10 2015 +0000 arm64: kernel: fix tcr_el1.t0sz restore on systems with extended idmap Commit dd006da21646 ("arm64: mm: increase VA range of identity map") introduced a mechanism to extend the virtual memory map range to support arm64 systems with system RAM located at very high offset, where the identity mapping used to enable/disable the MMU requires additional translation levels to map the physical memory at an equal virtual offset. The kernel detects at boot time the tcr_el1.t0sz value required by the identity mapping and sets-up the tcr_el1.t0sz register field accordingly, any time the identity map is required in the kernel (ie when enabling the MMU). After enabling the MMU, in the cold boot path the kernel resets the tcr_el1.t0sz to its default value (ie the actual configuration value for the system virtual address space) so that after enabling the MMU the memory space translated by ttbr0_el1 is restored as expected. Commit dd006da21646 ("arm64: mm: increase VA range of identity map") also added code to set-up the tcr_el1.t0sz value when the kernel resumes from low-power states with the MMU off through cpu_resume() in order to effectively use the identity mapping to enable the MMU but failed to add the code required to restore the tcr_el1.t0sz to its default value, when the core returns to the kernel with the MMU enabled, so that the kernel might end up running with tcr_el1.t0sz value set-up for the identity mapping which can be lower than the value required by the actual virtual address space, resulting in an erroneous set-up. This patchs adds code in the resume path that restores the tcr_el1.t0sz default value upon core resume, mirroring this way the cold boot path behaviour therefore fixing the issue. Cc: <stable@xxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Fixes: dd006da21646 ("arm64: mm: increase VA range of identity map") Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 589cb22bbedacf325951014c07a35a2b01ca57f6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Oct 15 13:55:53 2015 +0100 arm64: compat: fix stxr failure case in SWP emulation If the STXR instruction fails in the SWP emulation code, we leave *data overwritten with the loaded value, therefore corrupting the data written by a subsequent, successful attempt. This patch re-jigs the code so that we only write back to *data once we know that the update has happened. Cc: <stable@xxxxxxxxxxxxxxx> Fixes: bd35a4adc413 ("arm64: Port SWP/SWPB emulation support from arm") Reported-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Reported-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 1bd5dfe41b994a6e793363894befef76626965a9 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Mon Oct 26 20:23:53 2015 +0200 ARM: OMAP1: fix incorrect INT_DMA_LCD Commit 685e2d08c54b ("ARM: OMAP1: Change interrupt numbering for sparse IRQ") turned on SPARSE_IRQ on OMAP1, but forgot to change the number of INT_DMA_LCD. This broke the boot at least on Nokia 770, where the device hangs during framebuffer initialization. Fix by defining INT_DMA_LCD like the other interrupts. Cc: stable@xxxxxxxxxxxxxxx # v4.2+ Fixes: 685e2d08c54b ("ARM: OMAP1: Change interrupt numbering for sparse IRQ") Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 95893dde99d9d14f8a6ac99ea3103792a8da5f25 Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Thu Oct 22 15:20:11 2015 +0300 IB/ucma: Take the network namespace from the process Add support for network namespaces from user space. This is done by passing the network namespace of the process instead of init_net. 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 fa20105e09e97e81aadf02f722c31195e4a75c84 Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Thu Oct 22 15:20:10 2015 +0300 IB/cma: Add support for network namespaces Add support for network namespaces in the ib_cma module. This is accomplished by: 1. Adding network namespace parameter for rdma_create_id. This parameter is used to populate the network namespace field in rdma_id_private. rdma_create_id keeps a reference on the network namespace. 2. Using the network namespace from the rdma_id instead of init_net inside of ib_cma, when listening on an ID and when looking for an ID for an incoming request. 3. Decrementing the reference count for the appropriate network namespace when calling rdma_destroy_id. In order to preserve the current behavior init_net is passed when calling from other modules. 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 4be74b42a6d05a74a21362010cd3920fa17f63c7 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Oct 22 15:20:09 2015 +0300 IB/cma: Separate port allocation to network namespaces Keep a struct for each network namespace containing the IDRs for the RDMA CM port spaces. The struct is created dynamically using the generic_net mechanism. This patch is internal infrastructure work for the following patches. In this patch, init_net is statically used as the network namespace for the new port-space API. 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 565edd1d555513ab5d67a847d50d7c14c82ef6c3 Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Thu Oct 22 15:20:08 2015 +0300 IB/addr: Pass network namespace as a parameter Add network namespace support to the ib_addr module. For that, all the address resolution and matching should be done using the appropriate namespace instead of init_net. This is achieved by: 1. Adding an explicit network namespace argument to exported function that require a namespace. 2. Saving the namespace in the rdma_addr_client structure. 3. Using it when calling networking functions. In order to preserve the behavior of calling modules, &init_net is passed as the parameter in calls from other modules. This is modified as namespace support is added on more levels. 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 630c3183cec33b502e80846e728c3ff165d1c84d Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:12:59 2015 +0300 IB/iser: Enable SG clustering iser is perfectly capable supporting SG clustering as it translates the SG list to a page vector. Enabling SG clustering can dramatically reduce the number of SG elements, which doesn't make much of a difference at this point, but with arbitrary SG list support, reducing the number of SG elements can benefit greatly as as it would reduce the length of the HW descriptors array. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit dd0107a08996c0ab8cac2b98ddbed5313e118e81 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:12:58 2015 +0300 IB/iser: set block queue_virt_boundary The block layer can reliably guarantee that SG lists won't contain gaps (page unaligned) if a driver set the queue virt_boundary. With this setting the block layer will: - refuse merges if bios are not aligned to the virtual boundary - split bios/requests that are not aligned to the virtual boundary - or, bounce buffer SG_IOs that are not aligned to the virtual boundary Since iser is working in 4K page size, set the virt_boundary to 4K pages. With this setting, we can now safely remove the bounce buffering logic in iser. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4edf30e39e6cff32390eaff6a1508969b3cd967b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:17 2015 +0000 perf bpf: Collect perf_evsel in BPF object files This patch creates a 'struct perf_evsel' for every probe in a BPF object file(s) and fills 'struct evlist' with them. The previously introduced dummy event is now removed. After this patch, the following command: # perf record --event filter.o ls Can trace on each of the probes defined in filter.o. The core of this patch is bpf__foreach_tev(), which calls a callback function for each 'struct probe_trace_event' event for a bpf program with each associated file descriptors. The add_bpf_event() callback creates evsels by calling parse_events_add_tracepoint(). Since bpf-loader.c will not be built if libbpf is turned off, an empty bpf__foreach_tev() is defined in bpf-loader.h to avoid build errors. Committer notes: Before: # /tmp/oldperf record --event /tmp/foo.o -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.198 MB perf.data ] # perf evlist /tmp/foo.o # perf evlist -v /tmp/foo.o: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|CPU|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 I.e. we create just the PERF_TYPE_SOFTWARE (type: 1), PERF_COUNT_SW_DUMMY(config 0x9) event, now, with this patch: # perf record --event /tmp/foo.o -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.210 MB perf.data ] # perf evlist -v perf_bpf_probe:fork: type: 2, size: 112, config: 0x6bd, { sample_period, sample_freq }: 1, sample_type: IP|TID|TIME|CPU|PERIOD|RAW, disabled: 1, inherit: 1, mmap: 1, comm: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 # We now have a PERF_TYPE_SOFTWARE (type: 1), but the config states 0x6bd, which is how, after setting up the event via the kprobes interface, the 'perf_bpf_probe:fork' event is accessible via the perf_event_open syscall. This is all transient, as soon as the 'perf record' session ends, these probes will go away. To see how it looks like, lets try doing a neverending session, one that expects a control+C to end: # perf record --event /tmp/foo.o -a So, with that in place, we can use 'perf probe' to see what is in place: # perf probe -l perf_bpf_probe:fork (on _do_fork@acme/git/linux/kernel/fork.c) We also can use debugfs: [root@felicio ~]# cat /sys/kernel/debug/tracing/kprobe_events p:perf_bpf_probe/fork _text+638512 Ok, now lets stop and see if we got some forks: [root@felicio linux]# perf record --event /tmp/foo.o -a ^C[ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.325 MB perf.data (111 samples) ] [root@felicio linux]# perf script sshd 1271 [003] 81797.507678: perf_bpf_probe:fork: (ffffffff8109be30) sshd 18309 [000] 81797.524917: perf_bpf_probe:fork: (ffffffff8109be30) sshd 18309 [001] 81799.381603: perf_bpf_probe:fork: (ffffffff8109be30) sshd 18309 [001] 81799.408635: perf_bpf_probe:fork: (ffffffff8109be30) <SNIP> Sure enough, we have 111 forks :-) Callchains seems to work as well: # perf report --stdio --no-child # To display the perf.data header info, please use --header/--header-only options. # # Total Lost Samples: 0 # # Samples: 562 of event 'perf_bpf_probe:fork' # Event count (approx.): 562 # # Overhead Command Shared Object Symbol # ........ ........ ................ ............ # 44.66% sh [kernel.vmlinux] [k] _do_fork | ---_do_fork entry_SYSCALL_64_fastpath __libc_fork make_child 26.16% make [kernel.vmlinux] [k] _do_fork <SNIP> # Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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/1444826502-49291-7-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1e5e3ee8ff3877db6943032b54a6ac21c095affd Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:16 2015 +0000 perf tools: Load eBPF object into kernel This patch utilizes bpf_object__load() provided by libbpf to load all objects into kernel. Committer notes: Testing it: When using an incorrect kernel version number, i.e., having this in your eBPF proggie: int _version __attribute__((section("version"), used)) = 0x40100; For a 4.3.0-rc6+ kernel, say, this happens and needs checking at event parsing time, to provide a better error report to the user: # perf record --event /tmp/foo.o sleep 1 libbpf: load bpf program failed: Invalid argument libbpf: -- BEGIN DUMP LOG --- libbpf: libbpf: -- END LOG -- libbpf: failed to load program 'fork=_do_fork' libbpf: failed to load object '/tmp/foo.o' event syntax error: '/tmp/foo.o' \___ Invalid argument: Are you root and runing a CONFIG_BPF_SYSCALL kernel? (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events If we instead make it match, i.e. use 0x40300 on this v4.3.0-rc6+ kernel, the whole process goes thru: # perf record --event /tmp/foo.o -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.202 MB perf.data ] # perf evlist -v /tmp/foo.o: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|CPU|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 # Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1444826502-49291-6-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b8b339ea3b76392b1be7445f5ce57958fa6539f3 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 28 00:51:48 2015 -0400 drm/amdgpu: add some additional CZ revisions Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit aa3abf30bb28addcf593578d37447d42e3f65fc3 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:15 2015 +0000 perf tools: Create probe points for BPF programs This patch introduces bpf__{un,}probe() functions to enable callers to create kprobe points based on section names a BPF program. It parses the section names in the program and creates corresponding 'struct perf_probe_event' structures. The parse_perf_probe_command() function is used to do the main parsing work. The resuling 'struct perf_probe_event' is stored into program private data for further using. By utilizing the new probing API, this patch creates probe points during event parsing. To ensure probe points be removed correctly, register an atexit hook so even perf quit through exit() bpf__clear() is still called, so probing points are cleared. Note that bpf_clear() should be registered before bpf__probe() is called, so failure of bpf__probe() can still trigger bpf__clear() to remove probe points which are already probed. strerror style error reporting scaffold is created by this patch. bpf__strerror_probe() is the first error reporting function in bpf-loader.c. Committer note: Trying it: To build a test eBPF object file: I am testing using a script I built from the 'perf test -v LLVM' output: $ cat ~/bin/hello-ebpf export KERNEL_INC_OPTIONS="-nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include -I/home/acme/git/linux/arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated -I/home/acme/git/linux/include -Iinclude -I/home/acme/git/linux/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/home/acme/git/linux/include/uapi -Iinclude/generated/uapi -include /home/acme/git/linux/include/linux/kconfig.h" export WORKING_DIR=/lib/modules/4.2.0/build export CLANG_SOURCE=- export CLANG_OPTIONS=-xc OBJ=/tmp/foo.o rm -f $OBJ echo '__attribute__((section("fork=do_fork"), used)) int fork(void *ctx) {return 0;} char _license[] __attribute__((section("license"), used)) = "GPL";int _version __attribute__((section("version"), used)) = 0x40100;' | \ clang -D__KERNEL__ $CLANG_OPTIONS $KERNEL_INC_OPTIONS -Wno-unused-value -Wno-pointer-sign -working-directory $WORKING_DIR -c "$CLANG_SOURCE" -target bpf -O2 -o /tmp/foo.o && file $OBJ --- First asking to put a probe in a function not present in the kernel (misses the initial _): $ perf record --event /tmp/foo.o sleep 1 Probe point 'do_fork' not found. event syntax error: '/tmp/foo.o' \___ You need to check probing points in BPF file (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events $ --- Now, with "__attribute__((section("fork=_do_fork"), used)): $ grep _do_fork /proc/kallsyms ffffffff81099ab0 T _do_fork $ perf record --event /tmp/foo.o sleep 1 Failed to open kprobe_events: Permission denied event syntax error: '/tmp/foo.o' \___ Permission denied --- Cool, we need to provide some better hints, "kprobe_events" is too low level, one doesn't strictly need to know the precise details of how these things are put in place, so something that shows the command needed to fix the permissions would be more helpful. Lets try as root instead: # perf record --event /tmp/foo.o sleep 1 Lowering default frequency rate to 1000. Please consider tweaking /proc/sys/kernel/perf_event_max_sample_rate. [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.013 MB perf.data ] # perf evlist /tmp/foo.o [root@felicio ~]# perf evlist -v /tmp/foo.o: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 1000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 --- Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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/1444826502-49291-5-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 84c86ca12b2189df751eed7b2d67cb63bc8feda5 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:14 2015 +0000 perf tools: Enable passing bpf object file to --event By introducing new rules in tools/perf/util/parse-events.[ly], this patch enables 'perf record --event bpf_file.o' to select events by an eBPF object file. It calls parse_events_load_bpf() to load that file, which uses bpf__prepare_load() and finally calls bpf_object__open() for the object files. After applying this patch, commands like: # perf record --event foo.o sleep become possible. However, at this point it is unable to link any useful things onto the evsel list because the creating of probe points and BPF program attaching have not been implemented. Before real events are possible to be extracted, to avoid perf report error because of empty evsel list, this patch link a dummy evsel. The dummy event related code will be removed when probing and extracting code is ready. Commiter notes: Using it: $ ls -la foo.o ls: cannot access foo.o: No such file or directory $ perf record --event foo.o sleep libbpf: failed to open foo.o: No such file or directory event syntax error: 'foo.o' \___ BPF object file 'foo.o' is invalid (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events $ $ file /tmp/build/perf/perf.o /tmp/build/perf/perf.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped $ perf record --event /tmp/build/perf/perf.o sleep libbpf: /tmp/build/perf/perf.o is not an eBPF object file event syntax error: '/tmp/build/perf/perf.o' \___ BPF object file '/tmp/build/perf/perf.o' is invalid (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events $ $ file /tmp/foo.o /tmp/foo.o: ELF 64-bit LSB relocatable, no machine, version 1 (SYSV), not stripped $ perf record --event /tmp/foo.o sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.013 MB perf.data ] $ perf evlist /tmp/foo.o $ perf evlist -v /tmp/foo.o: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 $ So, type 1 is PERF_TYPE_SOFTWARE, config 0x9 is PERF_COUNT_SW_DUMMY, ok. $ perf report --stdio Error: The perf.data file has no samples! # To display the perf.data header info, please use --header/--header-only options. # $ Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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/1444826502-49291-4-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 69d262a93a25cf475012ea2e00aeb29f4932c028 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:13 2015 +0000 perf ebpf: Add the libbpf glue The 'bpf-loader.[ch]' files are introduced in this patch. Which will be the interface between perf and libbpf. bpf__prepare_load() resides in bpf-loader.c. Following patches will enrich these two files. 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/1444826502-49291-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ed63f34c026e9a60d17fa750ecdfe3f600d49393 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:12 2015 +0000 perf tools: Make perf depend on libbpf By adding libbpf into perf's Makefile, this patch enables perf to build libbpf if libelf is found and neither NO_LIBELF nor NO_LIBBPF is set. The newly introduced code is similar to how libapi and libtraceevent are wired into Makefile.perf. MANIFEST is also updated for 'make perf-*-src-pkg'. Append make_no_libbpf to tools/perf/tests/make. The 'bpf' feature check is appended into default FEATURE_TESTS and FEATURE_DISPLAY, so perf will check the API version of bpf in /path/to/kernel/include/uapi/linux/bpf.h. Which should not fail except when we are trying to port this code to an old kernel. Error messages are also updated to notify users about the lack of BPF support in 'perf record' if libelf is missing or the BPF API check failed. tools/lib/bpf is added to TAG_FOLDERS to allow us to navigate libbpf files when working on perf using tools/perf/tags. 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/1444826502-49291-2-git-send-email-wangnan0@xxxxxxxxxx [ Document NO_LIBBPF in Makefile.perf, noted by Jiri Olsa ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fe326c5cc07cd265abad29c35c142cfae09889e4 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Oct 28 10:43:23 2015 +0900 clocksource/drivers/sh_mtu2: Fix multiple shutdown call issue On the r7s72100 Genmai board the MTU2 driver currently triggers a common clock framework WARN_ON(enable_count) when disabling the clock due to the MTU2 driver after recent callback rework may call ->set_state_shutdown() multiple times. A similar issue was spotted for the TMU driver and fixed in: 452b132 clocksource/drivers/sh_tmu: Fix traceback spotted in -next On r7s72100 Genmai v4.3-rc7 built with shmobile_defconfig spits out the following during boot: sh_mtu2 fcff0000.timer: ch0: used for clock events ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:675 clk_core_disable+0x2c/0x6c() CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.3.0-rc7 #1 Hardware name: Generic R7S72100 (Flattened Device Tree) Backtrace: [<c00133d4>] (dump_backtrace) from [<c0013570>] (show_stack+0x18/0x1c) [<c0013558>] (show_stack) from [<c01c7aac>] (dump_stack+0x74/0x90) [<c01c7a38>] (dump_stack) from [<c00272fc>] (warn_slowpath_common+0x88/0xb4) [<c0027274>] (warn_slowpath_common) from [<c0027400>] (warn_slowpath_null+0x24/0x2c) [<c00273dc>] (warn_slowpath_null) from [<c03a9320>] (clk_core_disable+0x2c/0x6c) [<c03a92f4>] (clk_core_disable) from [<c03aa0a0>] (clk_disable+0x40/0x4c) [<c03aa060>] (clk_disable) from [<c0395d2c>] (sh_mtu2_disable+0x24/0x50) [<c0395d08>] (sh_mtu2_disable) from [<c0395d6c>] (sh_mtu2_clock_event_shutdown+0x14/0x1c) [<c0395d58>] (sh_mtu2_clock_event_shutdown) from [<c007d7d0>] (clockevents_switch_state+0xc8/0x114) [<c007d708>] (clockevents_switch_state) from [<c007d834>] (clockevents_shutdown+0x18/0x28) [<c007d81c>] (clockevents_shutdown) from [<c007dd58>] (clockevents_exchange_device+0x70/0x78) [<c007dce8>] (clockevents_exchange_device) from [<c007e578>] (tick_check_new_device+0x88/0xe0) [<c007e4f0>] (tick_check_new_device) from [<c007daf0>] (clockevents_register_device+0xac/0x120) [<c007da44>] (clockevents_register_device) from [<c0395be8>] (sh_mtu2_probe+0x230/0x350) [<c03959b8>] (sh_mtu2_probe) from [<c028b6f0>] (platform_drv_probe+0x50/0x98) Reported-by: Chris Brandt <chris.brandt@xxxxxxxxxxx> Fixes: 19a9ffb ("clockevents/drivers/sh_mtu2: Migrate to new 'set-state' interface") Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 25d464183ca3522ae27ec1bbef5ddcbbbef65017 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 5 15:41:36 2015 +0530 ARC: mm: PAE40: tlbex.S: Explicitify the size of pte_t Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 28b4af729fc4f7ee748c4bccb50ba5a6066418eb Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Sep 14 18:43:42 2015 -0700 ARC: mm: PAE40: switch to using phys_addr_t for physical addresses That way a single flip of phys_addr_t to 64 bit ensures all places dealing with physical addresses get correct data Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 29e332261d2ae0900e3befffd90cd70594cd7a84 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Oct 28 19:06:10 2015 +0530 ARC: mm: HIGHMEM: populate high memory from DT Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 443f8c75e8d58d394b0e65b47e02e5cd8ed32b41 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 26 14:51:30 2015 +0100 perf symbols: Fix endless loop in dso__split_kallsyms_for_kcore Currently we split symbols based on the map comparison, but symbols are stored within dso objects and maps could point into same dso objects (kernel maps). Hence we could end up changing rbtree we are currently iterating and mess it up. It's easily reproduced on s390x by running: $ perf record -a -- sleep 3 $ perf buildid-list -i perf.data --with-hits The fix is to compare dso objects instead. Reported-by: Michael Petlan <mpetlan@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20151026135130.GA26003@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 374ce938aaeb481114b2a8fdedd261f9b2ff9b2b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 28 10:55:02 2015 +0000 perf tools: Enable pre-event inherit setting by config terms This patch allows perf record setting event's attr.inherit bit by config terms like: # perf record -e cycles/no-inherit/ ... # perf record -e cycles/inherit/ ... So user can control inherit bit for each event separately. In following example, a.out fork()s in main then do some complex CPU intensive computations in both of its children. Basic result with and without inherit: # perf record -e cycles -e instructions ./a.out [ perf record: Woken up 9 times to write data ] [ perf record: Captured and wrote 2.205 MB perf.data (47920 samples) ] # perf report --stdio # ... # Samples: 23K of event 'cycles' # Event count (approx.): 23641752891 ... # Samples: 24K of event 'instructions' # Event count (approx.): 30428312415 # perf record -i -e cycles -e instructions ./a.out [ perf record: Woken up 5 times to write data ] [ perf record: Captured and wrote 1.111 MB perf.data (24019 samples) ] ... # Samples: 12K of event 'cycles' # Event count (approx.): 11699501775 ... # Samples: 12K of event 'instructions' # Event count (approx.): 15058023559 Cancel inherit for one event when globally enable: # perf record -e cycles/no-inherit/ -e instructions ./a.out [ perf record: Woken up 7 times to write data ] [ perf record: Captured and wrote 1.660 MB perf.data (36004 samples) ] ... # Samples: 12K of event 'cycles/no-inherit/' # Event count (approx.): 11895759282 ... # Samples: 24K of event 'instructions' # Event count (approx.): 30668000441 Enable inherit for one event when globally disable: # perf record -i -e cycles/inherit/ -e instructions ./a.out [ perf record: Woken up 7 times to write data ] [ perf record: Captured and wrote 1.654 MB perf.data (35868 samples) ] ... # Samples: 23K of event 'cycles/inherit/' # Event count (approx.): 23285400229 ... # Samples: 11K of event 'instructions' # Event count (approx.): 14969050259 Committer note: One can check if the bit was set, in addition to seeing the result in the perf.data file size as above by doing one of: # perf record -e cycles -e instructions -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.911 MB perf.data (63 samples) ] # perf evlist -v cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 instructions: size: 112, config: 0x1, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, inherit: 1, freq: 1, sample_id_all: 1, exclude_guest: 1 # So, the inherit bit was set in both, now, if we disable it globally using --no-inherit: # perf record --no-inherit -e cycles -e instructions -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.910 MB perf.data (56 samples) ] # perf evlist -v cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 instructions: size: 112, config: 0x1, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, freq: 1, sample_id_all: 1, exclude_guest: 1 No inherit bit set, then disabling it and setting just on the cycles event: # perf record --no-inherit -e cycles/inherit/ -e instructions -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.909 MB perf.data (48 samples) ] # perf evlist -v cycles/inherit/: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 instructions: size: 112, config: 0x1, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, freq: 1, sample_id_all: 1, exclude_guest: 1 # We can see it as well in by using a more verbose level of debug messages in the tool that sets up the perf_event_attr, 'perf record' in this case: [root@zoo ~]# perf record -vv --no-inherit -e cycles/inherit/ -e instructions -a usleep 1 ------------------------------------------------------------ perf_event_attr: size 112 { sample_period, sample_freq } 4000 sample_type IP|TID|TIME|ID|CPU|PERIOD read_format ID disabled 1 inherit 1 mmap 1 comm 1 freq 1 task 1 sample_id_all 1 exclude_guest 1 mmap2 1 comm_exec 1 ------------------------------------------------------------ sys_perf_event_open: pid -1 cpu 0 group_fd -1 flags 0x8 sys_perf_event_open: pid -1 cpu 1 group_fd -1 flags 0x8 sys_perf_event_open: pid -1 cpu 2 group_fd -1 flags 0x8 sys_perf_event_open: pid -1 cpu 3 group_fd -1 flags 0x8 ------------------------------------------------------------ perf_event_attr: size 112 config 0x1 { sample_period, sample_freq } 4000 sample_type IP|TID|TIME|ID|CPU|PERIOD read_format ID disabled 1 freq 1 sample_id_all 1 exclude_guest 1 ------------------------------------------------------------ sys_perf_event_open: pid -1 cpu 0 group_fd -1 flags 0x8 <SNIP> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446029705-199659-2-git-send-email-wangnan0@xxxxxxxxxx [ s/u64/bool/ for the perf_evsel_config_term inherit field - jolsa] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 45890f6d34e70d9dd194bd1729eba3ff72cabf78 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Mar 9 18:53:49 2015 +0530 ARC: mm: HIGHMEM: kmap API implementation Implement kmap* API for ARC. This enables - permanent kernel maps (pkmaps): :kmap() API - fixmap : kmap_atomic() We use a very simple/uniform approach for both (unlike some of the other arches). So fixmap doesn't use the customary compile time address stuff. The important semantic is sleep'ability (pkmap) vs. not (fixmap) which the API guarantees. Note that this patch only enables highmem for subsequent PAE40 support as there is no real highmem for ARC in pure 32-bit paradigm as explained below. ARC has 2:2 address split of the 32-bit address space with lower half being translated (virtual) while upper half unstranslated (0x8000_0000 to 0xFFFF_FFFF). kernel itself is linked at base of unstranslated space (i.e. 0x8000_0000 onwards), which is mapped to say DDR 0x0 by external Bus Glue logic (outside the core). So kernel can potentially access 1.75G worth of memory directly w/o need for highmem. (the top 256M is taken by uncached peripheral space from 0xF000_0000 to 0xFFFF_FFFF) In PAE40, hardware can address memory beyond 4G (0x1_0000_0000) while the logical/virtual addresses remain 32-bits. Thus highmem is required for kernel proper to be able to access these pages for it's own purposes (user space is agnostic to this anyways). Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 6101be5ad439806c70b54bdd083e7db9e3affb3d Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Oct 28 18:48:17 2015 +0530 ARC: mm: preps ahead of HIGHMEM support #2 Explicit'ify that all memory added so far is low memory Nothing semantical Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 336e2136e1353db8e9e731c27381ee0735656a8a Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Mar 5 17:06:31 2015 +0530 ARC: mm: preps ahead of HIGHMEM support Before we plug in highmem support, some of code needs to be ready for it - copy_user_highpage() needs to be using the kmap_atomic API - mk_pte() can't assume page_address() - do_page_fault() can't assume VMALLOC_END is end of kernel vaddr space Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit d40846457fc23cd841a60fdc2786e08a8bedb35b Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Wed Sep 2 20:43:30 2015 +0300 ARC: mm: use generic macros _BITUL()/_AC() Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 8840e14cd82d398d348b2947fad3a630e93260ba Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Oct 13 12:11:38 2015 +0530 ARC: mm: Improve Duplicate PD Fault handler - Move the verbosity knob from .data to .bss by using inverted logic - No need to readout PD1 descriptor - clip the non pfn bits of PD0 to avoid clipping inside the loop Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 914beb9fc26d6225295b8315ab54026f8f22755c Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Oct 28 13:39:05 2015 +0000 x86/xen: add reschedule point when mapping foreign GFNs Mapping a large range of foreign GFNs can take a long time, add a reschedule point after each batch of 16 GFNs. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> commit 5baecbcd9c9a2f491afe1369fc22e7363f9c94d5 Author: Dima Kogan <dima@xxxxxxxxxxxxxxx> Date: Mon Sep 7 17:34:19 2015 -0700 perf symbols: we can now read separate debug-info files based on a build ID Recent GDB (at least on a vanilla Debian box) looks for debug information in /usr/lib/debug/.build-id/nn/nnnnnnn where nn/nnnnnn is the build-id of the stripped ELF binary. This is documented here: https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html This was not working in perf because we didn't read the build id until AFTER we searched for the separate debug information file. This patch reads the build ID and THEN does the search. Signed-off-by: Dima Kogan <dima@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/87si6pfwz4.fsf@xxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f2f3096888569ff1fc15fa0187a39eef3a24b28e Author: Dima Kogan <dima@xxxxxxxxxxxxxxx> Date: Mon Sep 7 17:30:28 2015 -0700 perf symbols: Fix type error when reading a build-id This was benign, but wrong. The build-id should live in a char[], not a char*[] Signed-off-by: Dima Kogan <dima@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/87si6pfwz4.fsf@xxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b33e18f61bd18227a456016a77b1a968f5bc1d65 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Oct 27 14:19:39 2015 +0900 fs/writeback, rcu: Don't use list_entry_rcu() for pointer offsetting in bdi_split_work_to_wbs() bdi_split_work_to_wbs() uses list_for_each_entry_rcu_continue() to walk @bdi->wb_list. To set up the initial iteration condition, it uses list_entry_rcu() to calculate the entry pointer corresponding to the list head; however, this isn't an actual RCU dereference and using list_entry_rcu() for it ended up breaking a proposed list_entry_rcu() change because it was feeding an non-lvalue pointer into the macro. Don't use the RCU variant for simple pointer offsetting. Use list_entry() instead. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Dipankar Sarma <dipankar@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Lai Jiangshan <jiangshanlai@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Patrick Marlier <patrick.marlier@xxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: pranith kumar <bobby.prani@xxxxxxxxx> Link: http://lkml.kernel.org/r/20151027051939.GA19355@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e4340bbb07dd38339c0773543dd928886e512a57 Merge: c13dc31 a22c4d7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 28 13:17:01 2015 +0100 Merge branch 'linus' into core/rcu, to fix up a semantic conflict Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5804dc7cf986cc99689ef54e577f9efb4f1c455 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Oct 28 12:33:48 2015 +0100 ALSA: DocBook: Add soc-ops.c and soc-compress.c These have been missing in the template file although they provide good kernel doc comments. Let's add them. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 78dd5e21b075053e67194ea8f496439bebc52728 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Oct 28 12:26:48 2015 +0100 ALSA: hda - Add / fix kernel doc comments Give some readable comment in kernel doc style for each exported function, as I promised in the previous meetings. While we're at it, fix the wrong comments, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 78b9bc947b18ed16b6c2c573d774e6d54ad9452d Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Oct 23 11:48:17 2015 +0200 efi: Fix warning of int-to-pointer-cast on x86 32-bit builds Commit: 0f96a99dab36 ("efi: Add "efi_fake_mem" boot option") introduced the following warning message: drivers/firmware/efi/fake_mem.c:186:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] new_memmap_phy was defined as a u64 value and cast to void*, causing a int-to-pointer-cast warning on x86 32-bit builds. However, since the void* type is inappropriate for a physical address, the definition of struct efi_memory_map::phys_map has been changed to phys_addr_t in the previous patch, and so the cast can be dropped entirely. This patch also changes the type of the "new_memmap_phy" variable from "u64" to "phys_addr_t" to align with the types of memblock_alloc() and struct efi_memory_map::phys_map. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> [ Removed void* cast, updated commit log] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kamezawa.hiroyu@xxxxxxxxxxxxxx Cc: linux-efi@xxxxxxxxxxxxxxx Cc: matt.fleming@xxxxxxxxx Link: http://lkml.kernel.org/r/1445593697-1342-2-git-send-email-ard.biesheuvel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 44511fb9e55ada760822b0b0d7be9d150576f17f Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Oct 23 11:48:16 2015 +0200 efi: Use correct type for struct efi_memory_map::phys_map We have been getting away with using a void* for the physical address of the UEFI memory map, since, even on 32-bit platforms with 64-bit physical addresses, no truncation takes place if the memory map has been allocated by the firmware (which only uses 1:1 virtually addressable memory), which is usually the case. However, commit: 0f96a99dab36 ("efi: Add "efi_fake_mem" boot option") adds code that clones and modifies the UEFI memory map, and the clone may live above 4 GB on 32-bit platforms. This means our use of void* for struct efi_memory_map::phys_map has graduated from 'incorrect but working' to 'incorrect and broken', and we need to fix it. So redefine struct efi_memory_map::phys_map as phys_addr_t, and get rid of a bunch of casts that are now unneeded. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: izumi.taku@xxxxxxxxxxxxxx Cc: kamezawa.hiroyu@xxxxxxxxxxxxxx Cc: linux-efi@xxxxxxxxxxxxxxx Cc: matt.fleming@xxxxxxxxx Link: http://lkml.kernel.org/r/1445593697-1342-1-git-send-email-ard.biesheuvel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9acdc911b55569145034b01075adf658891afbd2 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 26 10:52:57 2015 +0530 MAINTAINERS: Add public mailing list for ARC Cc: <stable@xxxxxxxxxxxxxxx> #3.9+ Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit f759ee57b205223e98fdc97e26cbef305b8048e1 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Jan 23 18:10:26 2015 +0530 ARC: Ensure DT mem base is same as what kernel is built with Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 483bcc99c0a349570b30fc9cb20dea20c9387a4b Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Oct 15 20:32:39 2015 +0530 ARC: boot: Non Master cpus only need to call EARLY_CPU_SETUP once With prev fixes, all cores now start via common entry point @stext which already calls EARLY_CPU_SETUP for all cores - so no need to invoke it again Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit aa0efcde45a36d1ea2bc5bde4d47f36ec17502de Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 12 15:15:48 2015 +0530 ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_smp() MCIP now registers it's own per cpu setup routine (for IPI IRQ request) using smp_ops.init_irq_cpu(). So no need for platforms to do that. This now completely decouples platforms from MCIP. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 286130ebf196d9643800977d57bdb7cda266b49e Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Oct 14 14:38:02 2015 +0530 ARC: smp: Introduce smp hook @init_irq_cpu called for all cores Note this is not part of platform owned static machine_desc, but more of device owned plat_smp_ops (rather misnamed) which a IPI provider or some such typically defines. This will help us seperate out the IPI registration from platform specific init_cpu_smp() into device specific init_irq_cpu() Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 8721a7f5a6f95c38cacbe1be22c820a7698926ef Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Oct 13 15:26:00 2015 +0530 ARC: smp: Rename platform hook @init_smp -> @init_cpu_smp This conveys better that it is called for each cpu Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 26b8f996239884451aeb1213747e3ca808c26024 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 12 16:38:07 2015 +0530 ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_early_smp() MCIP now registers it's own probe callback with smp_ops.init_early_smp() which is called by ARC common code, so no need for platforms to do that. This decouples the platforms and MCIP and helps confine MCIP details to it's own file. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e55af4da026ebdb9ded3cb7708b8a8bd7884ad3a Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 12 16:28:55 2015 +0530 ARC: smp: Introduce smp hook @init_early_smp for Master core This adds a platform agnostic early SMP init hook which is called on Master core before calling setup_processor() setup_arch() smp_init_cpus() smp_ops.init_early_smp() ... setup_processor() How this helps: - Used for one time init of certain SMP centric IP blocks, before calling setup_processor() which probes various bits of core, possibly including this block - Currently platforms need to call this IP block init from their init routines, which doesn't make sense as this is specific to ARC core and not platform and otherwise requires copy/paste in all (and hence a possible point of failure) e.g. MCIP init is called from 2 platforms currently (axs10x and sim) which will go away once we have this. This change only adds the hooks but they are empty for now. Next commit will populate them and remove the explicit init calls from platforms. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 4c82f28617ab9ce938118f0b99156a96c64d3da0 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Oct 13 08:48:54 2015 +0530 ARC: remove @init_time, @init_irq platform callbacks These are not in use for ARC platforms. Moreover DT mechanims exist to probe them w/o explicit platform calls. - clocksource drivers can use CLOCKSOURCE_OF_DECLARE() - intc IRQCHIP_DECLARE() calls + cascading inside DT allows external intc to be probed automatically Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e0868e6f673d0d2db6a3c3798605e6efb756e61e Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 12 14:58:54 2015 +0530 ARC: smp: irqchip: handle IPI as percpu irq like timer The reason this was not done so far was lack of genuine IPI_IRQ for ARC700, as we don't have a SMP version of core yet (which might change soon thx to EZChip). Nevertheles to increase the build coverage, we need to allow CONFIG_SMP for ARC700 and still be able to run it on a UP platform (nsim or AXS101) with a UP Device Tree (SMP-on-UP) The build itself requires some define for IPI_IRQ and even a dummy value is fine since that code won't run anyways. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e5e113cf0d19392f26c6b63e63ad4680ee4ec5da Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Oct 28 11:37:53 2015 +0100 ALSA: Constify ratden/ratnum constraints The ALSA core does not modify the constraints provided by a driver. Most constraint helper functions already take a const pointer to the constraint description, the exception at the moment being the ratden and ratnum constraints. Make those const as well, this allows a driver to declare them as const. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3971cdc202f638f252e39316d42492ace04cc1b1 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Oct 9 11:26:12 2015 +0530 ARC: boot: Support Halt-on-reset and Run-on-reset SMP booting modes For Run-on-reset, non masters need to spin wait. For Halt-on-reset they can jump to entry point directly. Also while at it, made reset vector handler as "the" entry point for kernel including host debugger based boot (which uses the ELF header entry point) Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 8a28d67457b613258aa0578ccece206d166f2b9f Merge: a22c4d7 977bf06 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 18:59:53 2015 +0900 Merge tag 'powerpc-4.3-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fix from Michael Ellerman: - powerpc/dma: dma_set_coherent_mask() should not be GPL only from Ben * tag 'powerpc-4.3-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc/dma: dma_set_coherent_mask() should not be GPL only commit 3510fac4549201919c565250fdff5cfa63db9e86 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Oct 16 12:41:12 2015 +0530 cpufreq: postfix policy directory with the first CPU in related_cpus The sysfs policy directory is postfixed currently with the CPU number for which the policy was created, which isn't necessarily the first CPU in related_cpus mask. To make it more consistent and predictable, lets postfix the policy with the first cpu in related-cpus mask. Suggested-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 96bdda61f58b70431bbe8a3e49794c8210f7691b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:35:24 2015 +0530 cpufreq: create cpu/cpufreq/policyX directories The cpufreq sysfs interface had been a bit inconsistent as one of the CPUs for a policy had a real directory within its sysfs 'cpuX' directory and all other CPUs had links to it. That also made the code a bit complex as we need to take care of moving the sysfs directory if the CPU containing the real directory is getting physically hot-unplugged. Solve this by creating 'policyX' directories (per-policy) in /sys/devices/system/cpu/cpufreq/ directory, where X is the CPU for which the policy was first created. This also removes the need of keeping kobj_cpu and we can remove it now. Suggested-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Acked-by: is more of a general agreement from the person that he is Reviewed-by: is a more strict tag and implies that the reviewer has Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c82bd44437f5d53d1654d9e36a9e4e55610f6624 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:35:23 2015 +0530 cpufreq: remove cpufreq_sysfs_{create|remove}_file() They don't do anything special now, remove the unnecessary wrapper. Reviewed-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8eec1020f0c0c03f7219ed50cf1b754be49dd448 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:35:22 2015 +0530 cpufreq: create cpu/cpufreq at boot time Later patches will need to create policy specific directories in /sys/devices/system/cpu/cpufreq/ directory and so the cpufreq directory wouldn't be ever empty. And so no fun creating/destroying it on need basis anymore. Create it once on system boot. Reviewed-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0998a03a3a4d35290993f86ffed0e311e8dd78f5 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:35:21 2015 +0530 cpufreq: Use cpumask_copy instead of cpumask_or to copy a mask ->related_cpus is empty at this point of time and copying ->cpus to it or orring ->related_cpus with ->cpus would result in the same value. But cpumask_copy makes it rather clear. Reviewed-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 083701b13c79a908fb400dc24aaa80aad07ac462 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Oct 13 13:39:01 2015 +0530 cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate() 'timer_mutex' is required to sync work-handlers of policy->cpus. update_sampling_rate() is just canceling the works and queuing them again. This isn't protecting anything at all in update_sampling_rate() and is not gonna be of any use. Even if a work-handler is already running for a CPU, cancel_delayed_work_sync() will wait for it to finish. Drop these unnecessary locks. 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 b3975e94f5688691f487ea00126dabe8f5bee3af Author: Jay Freyensee <james_p_freyensee@xxxxxxxxxxxxxxx> Date: Wed Oct 28 16:37:51 2015 +0900 Update target repo for nvme patch contributions Per http://www.nvmexpress.org/resources/linux-driver-information/, the old nvme git repo is stale. Updating MAINTAINERS to the Supported target currently used by the community. Signed-off-by: Jay Freyensee <james_p_freyensee@xxxxxxxxxxxxxxx> Updated by me to add Keith as the maintainer, me as the co-maintainer. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0bdec95ce52d2705787f813e82c1ff2f1b29af17 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Oct 28 15:14:09 2015 +0900 iommu/vt-d: Fix rwxp flags in SVM device fault callback This is the downside of using bitfields in the struct definition, rather than doing all the explicit masking and shifting. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit f11631748ee6973f85238109a3fa8ab8e760e5a4 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Mon Oct 26 13:58:54 2015 +0200 NFC: nci: non-static functions can not be inline This fixes a build error that seems to be toochain dependent (Not seen with gcc v5.1): In file included from net/nfc/nci/rsp.c:36:0: net/nfc/nci/rsp.c: In function â??nci_rsp_packetâ??: include/net/nfc/nci_core.h:355:12: error: inlining failed in call to always_inline â??nci_prop_rsp_packetâ??: function body not available inline int nci_prop_rsp_packet(struct nci_dev *ndev, __u16 opcode, Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 977bf062bba3eb8d03f66d5b4e227e5d7ebc1e08 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:20:05 2015 +0900 powerpc/dma: dma_set_coherent_mask() should not be GPL only When turning this from inline to an exported function I was a bit over-eager and made it GPL only. This prevents the use of pretty much all non-GPL PCI driver which is a bit over the top. Let's bring it back in line with other architecture. Fixes: 817820b0226a ("powerpc/iommu: Support "hybrid" iommu/direct DMA ops for coherent_mask < dma_mask") Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2b1d88cda32f81685bae45c00bf517f77bcda3cd Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 15 17:02:19 2015 +0200 PM / Domains: Merge measurements for PM QoS device latencies Measure latency does by itself contribute to an increased latency, thus we should avoid it when it isn't needed. By merging the latency measurements for the ->save_state() and the ->stop() callbacks, we get one measurement instead of two and we get one value to store instead of two. Let's also apply the likewise change for the ->start() and ->restore_state() callbacks. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 51cda844892fded75d3ad07d0233e73572eba2f3 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 15 17:02:06 2015 +0200 PM / Domains: Don't measure ->start|stop() latency in system PM callbacks Measure latency does by itself contribute to an increased latency, thus we should avoid it when it isn't needed. Genpd measures latencies in the system PM phase for the ->start|stop() callbacks and is thus affecting the system PM suspend/resume time. Moreover these latencies are validated only at runtime PM suspend/resume. To this reasoning, let's decide to leave these measurements out of the system PM phase. There should be plenty of occasions during runtime PM to perform these measurements anyway. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a61756165116563064ab94183713509b546c428b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Oct 19 10:16:07 2015 +0200 PM / clk: Fix broken build due to non-matching code and header #ifdefs If an architecture's main Kconfig file doesn't include kernel/power/Kconfig, but CONFIG_PM=y and HAVE_CLK=y (e.g. m68knommu allmodconfig): drivers/base/power/clock_ops.c: In function â??__pm_clk_addâ??: drivers/base/power/clock_ops.c:106: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c: At top level: drivers/base/power/clock_ops.c:120: error: redefinition of â??pm_clk_addâ?? include/linux/pm_clock.h:64: error: previous definition of â??pm_clk_addâ?? was here drivers/base/power/clock_ops.c:135: error: redefinition of â??pm_clk_add_clkâ?? include/linux/pm_clock.h:69: error: previous definition of â??pm_clk_add_clkâ?? was here drivers/base/power/clock_ops.c:171: error: redefinition of â??pm_clk_removeâ?? include/linux/pm_clock.h:73: error: previous definition of â??pm_clk_removeâ?? was here drivers/base/power/clock_ops.c: In function â??pm_clk_removeâ??: drivers/base/power/clock_ops.c:180: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c:180: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c: At top level: drivers/base/power/clock_ops.c:207: error: redefinition of â??pm_clk_initâ?? include/linux/pm_clock.h:54: error: previous definition of â??pm_clk_initâ?? was here drivers/base/power/clock_ops.c: In function â??pm_clk_initâ??: drivers/base/power/clock_ops.c:210: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c: At top level: drivers/base/power/clock_ops.c:221: error: redefinition of â??pm_clk_createâ?? include/linux/pm_clock.h:57: error: previous definition of â??pm_clk_createâ?? was here drivers/base/power/clock_ops.c:234: error: redefinition of â??pm_clk_destroyâ?? include/linux/pm_clock.h:61: error: previous definition of â??pm_clk_destroyâ?? was here drivers/base/power/clock_ops.c: In function â??pm_clk_destroyâ??: drivers/base/power/clock_ops.c:246: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c:246: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c: At top level: drivers/base/power/clock_ops.c:263: error: expected identifier or â??(â?? before â??voidâ?? drivers/base/power/clock_ops.c:263: error: expected â??)â?? before numeric constant drivers/base/power/clock_ops.c:293: error: expected identifier or â??(â?? before â??voidâ?? drivers/base/power/clock_ops.c:293: error: expected â??)â?? before numeric constant drivers/base/power/clock_ops.c: In function â??pm_clk_runtime_suspendâ??: drivers/base/power/clock_ops.c:384: error: called object â??0uâ?? is not a function drivers/base/power/clock_ops.c: In function â??pm_clk_runtime_resumeâ??: drivers/base/power/clock_ops.c:400: error: called object â??0uâ?? is not a function This happens because: - drivers/base/power/clock_ops.c depends on CONFIG_HAVE_CLK, - the failing code inside clock_ops.c additionally depends on CONFIG_PM, - the forward declarations and other definitions in <linux/pm_clock.h> depend on CONFIG_PM_CLK, - CONFIG_PM_CLK is defined as PM && HAVE_CLK in kernel/power/Kconfig, but it is not included on all architectures. Fix this by protecting the failing code inside clock_ops.c by CONFIG_PM_CLK instead of CONFIG_PM, so it matches <linux/pm_clock.h>. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e18f6ac30d31433d8cd9ccf693d3cdd5d2e66ef9 Merge: e407f39 c02b050 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 27 20:27:45 2015 -0700 Merge branch 'mlx4-fixes' Or Gerlitz says: ==================== Mellanox mlx4 driver fixes for 4.3-rc7 Jack's fix is for a regression introduced in 4.3-rc1 Carol's fix addresses an issue which exists for while and turns to beat us hard on PPC, please queue for -stable. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c02b05011fadf8e409e41910217ca689f2fc9d91 Author: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:36:20 2015 +0200 net/mlx4: Copy/set only sizeof struct mlx4_eqe bytes When doing memcpy/memset of EQEs, we should use sizeof struct mlx4_eqe as the base size and not caps.eqe_size which could be bigger. If caps.eqe_size is bigger than the struct mlx4_eqe then we corrupt data in the master context. When using a 64 byte stride, the memcpy copied over 63 bytes to the slave_eq structure. This resulted in copying over the entire eqe of interest, including its ownership bit -- and also 31 bytes of garbage into the next WQE in the slave EQ -- which did NOT include the ownership bit (and therefore had no impact). However, once the stride is increased to 128, we are overwriting the ownership bits of *three* eqes in the slave_eq struct. This results in an incorrect ownership bit for those eqes, which causes the eq to seem to be full. The issue therefore surfaced only once 128-byte EQEs started being used in SRIOV and (overarchitectures that have 128/256 byte cache-lines such as PPC) - e.g after commit 77507aa249ae "net/mlx4_core: Enable CQE/EQE stride support". Fixes: 08ff32352d6f ('mlx4: 64-byte CQE/EQE support') Signed-off-by: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 092bf0fc80f5fb7928244ad63d8a2a8df8a72a3e Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:36:19 2015 +0200 net/mlx4_en: Explicitly set no vlan tags in WQE ctrl segment when no vlan is present We do not set the ins_vlan field to zero when no vlan id is present in the packet. Since WQEs in the TX ring are not zeroed out between uses, this oversight could result in having vlan flags present in the WQE ctrl segment when no vlan is preset. Fixes: e38af4faf01d ('net/mlx4_en: Add support for hardware accelerated 802.1ad vlan') Reported-by: Gideon Naim <gideonn@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d08f617872cc048173d59f1ce4660b030bab5a6 Author: yankejian <yankejian@xxxxxxxxxx> Date: Tue Oct 27 19:16:34 2015 +0800 net: hisilicon: updates HNS config and documents updates the bindings documents and dtsi file according to the review comments[https://lkml.org/lkml/2015/9/21/670] from Rob Herring <robh@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e407f39afdc0741dcf20aed100b8e738ccab7cb1 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Oct 27 11:37:39 2015 +0200 vhost: fix performance on LE hosts commit 2751c9882b947292fcfb084c4f604e01724af804 ("vhost: cross-endian support for legacy devices") introduced a minor regression: even with cross-endian disabled, and even on LE host, vhost_is_little_endian is checking is_le flag so there's always a branch. To fix, simply check virtio_legacy_is_little_endian first. Cc: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit edc9b4272e3298c4a6a86d34d03e951033566f69 Author: Li Peng <lipeng321@xxxxxxxxxx> Date: Tue Oct 27 17:17:40 2015 +0800 net: hns: fixes the bug tested XGE by ethtool -p delete action of ETHTOOL_ID_ON/ETHTOOL_ID_OFF in XGE ethtool -p, so Hardware control the LED state instead of software. Signed-off-by: Li Peng <lipeng321@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fcc60333ccf5622f1788ab72848e1a880667fe0 Author: Abhimanyu <abhimanyu@xxxxxxxxxxxxx> Date: Tue Oct 27 14:17:43 2015 +0530 gianfar: Increase TX_TIMEOUT to 5HZ Increased TX_TIMEOUT to 5HZ to accommodate worst case situation for traffic and CPU intensive use cases Signed-off-by: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Signed-off-by: Abhimanyu <abhimanyu@xxxxxxxxxxxxx> Acked-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccde64b51b33821159d52b0940fb21869bfdb316 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Wed Oct 21 14:29:13 2015 +0300 powerpc/msi: Fix section mismatch warning in msi_bitmap_alloc() Building with CONFIG_DEBUG_SECTION_MISMATCH gives the following warning: The function .msi_bitmap_alloc() references the function __init .memblock_virt_alloc_try_nid(). Memory allocation in msi_bitmap_alloc() uses either slab allocator or memblock boot time allocator depending on slab_is_available(). So the section mismatch warning is correct, but in practice there is no bug so mark msi_bitmap_alloc() as __init_refok. Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> [mpe: Flesh out change log a bit] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 16c1d606263ea37754be0d0ed655ab1c99c4cf7e Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Oct 26 09:48:46 2015 +0900 powerpc/prom: Use of_get_next_parent() in of_get_ibm_chip_id() Use of_get_next_parent() to simplifiy the logic in of_get_ibm_chip_id(). Original-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f755ecfb8cec7b19dff84295309f2afb24a5afd1 Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 10:46:47 2015 -0500 powerpc/pseries: Correct string length in pseries_of_derive_parent() Commit a030e1e4bbd085bbcfd0a23f8d355fcd41f39bed make a change to use kstrndup() instead of kmalloc() + strlcpy() in the pseries_of_derive_parent() routine that introduces a subtle change in the parent path name generated. The kstrndup() routine will copy n characters followed by a terminating null, whereas strlcpy() will copy n-1 characters and add a terminating null. This slight difference results in having a parent path that includes the tailing '/' character, "/cpus/" vs. "/cpus". This then causes the subsequent call to of_find_node_by_path() to fail, and in the case of DLPAR add operations the DLPAR request fails. This patch decrements the pointer returned from kbasename() to point to the '/' character before the base name instead of the base name. This then adjusts the string length calculations to not include the trailing '/' in the parent path name. Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 54c0a8a8f5079de866f99d6f0e782c7857511b10 Merge: 32b8819 ab31993 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Oct 28 04:02:37 2015 +0100 Merge branch 'cpuidle/4.4' of http://git.linaro.org/people/daniel.lezcano/linux into pm-cpuidle Pull ARM cpuidle changes for v4.4 from Daniel Lezcano. * 'cpuidle/4.4' of http://git.linaro.org/people/daniel.lezcano/linux: cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver cpuidle: mvebu: clean up multiple platform drivers commit d59542ddcb547871b1913c34c31a6d207627db02 Merge: f8e529e c096377 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 27 19:56:56 2015 -0700 Merge tag 'wireless-drivers-next-for-davem-2015-10-27' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== here's a bigger pull request for 4.4. The diffstat looks scary as we created a new directory realtek for all realtek drivers. In the future I'm planning to create similar directories for all vendors, currently we just have ath, mediatek and realtek. This change has been in linux-next for a couple of weeks so it should be safe, but of course you never know. There's also a new driver rtl8xxxu for few realtek USB devices. This just made it to the last linux-next build. Otherwise there's nothing really special, more info below. If time permits, and it's ok for you, I'm hoping to send you a one more pull request this week. brcmfmac * using netdev carrier state * add and rework some cfg80211 callbacks mainly for AP mode * use devcoredump when triggered by firmware event realtek * create new directory drivers/net/wireless/realtek/ for all realtek drivers, not visible to users (no kconfig changes etc) * add rtl8xxxu, a new mac80211 driver for RTL8723AU, RTL8188CU, RTL8188RU, RTL8191CU, RTL8192CU and hopefully more in the future ath10k * add board 2 API support for automatically choosing correct board file * data path optimisations * disable PCI power save for qca988x and QCA99x0 due to interop reasons wil6210 * BlockAckReq support * firmware crashdump using devcoredump * capture all frames with sniffer ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8e529ed941ba2bbcbf310b575d968159ce7e895 Author: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> Date: Tue Oct 27 09:23:59 2015 +0900 seccomp, ptrace: add support for dumping seccomp filters This patch adds support for dumping a process' (classic BPF) seccomp filters via ptrace. PTRACE_SECCOMP_GET_FILTER allows the tracer to dump the user's classic BPF seccomp filters. addr should be an integer which represents the ith seccomp filter (0 is the most recently installed filter). data should be a struct sock_filter * with enough room for the ith filter, or NULL, in which case the filter is not saved. The return value for this command is the number of BPF instructions the program represents, or negative in the case of errors. Command specific errors are ENOENT: which indicates that there is no ith filter in this seccomp tree, and EMEDIUMTYPE, which indicates that the ith filter was not installed as a classic BPF filter. A caveat with this approach is that there is no way to get explicitly at the heirarchy of seccomp filters, and users need to memcmp() filters to decide which are inherited. This means that a task which installs two of the same filter can potentially confuse users of this interface. v2: * make save_orig const * check that the orig_prog exists (not necessary right now, but when grows eBPF support it will be) * s/n/filter_off and make it an unsigned long to match ptrace * count "down" the tree instead of "up" when passing a filter offset v3: * don't take the current task's lock for inspecting its seccomp mode * use a 0x42** constant for the ptrace command value v4: * don't copy to userspace while holding spinlocks v5: * add another condition to WARN_ON v6: * rebase on net-next Signed-off-by: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> CC: Will Drewry <wad@xxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> CC: Andy Lutomirski <luto@xxxxxxxxxxxxxx> CC: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> CC: Serge E. Hallyn <serge.hallyn@xxxxxxxxxx> CC: Alexei Starovoitov <ast@xxxxxxxxxx> CC: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b9e3bd5b2f807f66a959cc079c495915f032c67 Merge: c0f9c7e cf4b24f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 27 19:53:04 2015 -0700 Merge branch 'mpls-multipath-improvements' Robert Shearman says: ==================== mpls: mulipath improvements Two improvements to the recently added mpls multipath support. The first is a fix for missing initialisation the nexthop address length for the v4 and v6 explicit null label routes, and the second is to reduce the amount of memory used by mpls routes by changing the way the via addresses are stored. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf4b24f0024fc2e3fbc653a659356d224b5b9172 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Tue Oct 27 00:37:36 2015 +0000 mpls: reduce memory usage of routes Nexthops for MPLS routes have a via address field sized for the largest via address that is expected, which is 32 bytes. This means that in the most common case of having ipv4 via addresses, 28 bytes of memory more than required are used per nexthop. In the other common case of an ipv6 nexthop then 16 bytes more than required are used. With large numbers of MPLS routes this extra memory usage could start to become significant. To avoid allocating memory for a maximum length via address when not all of it is required and to allow for ease of iterating over nexthops, then the via addresses are changed to be stored in the same memory block as the route and nexthops, but in an array after the end of the array of nexthops. New accessors are provided to retrieve a pointer to the via address. To allow for O(1) access without having to store a pointer or offset per nh, the via address for each nexthop is sized according to the maximum via address for any nexthop in the route, which is stored in a new route field, rt_max_alen, but this is in an existing hole in struct mpls_route so it doesn't increase the size of the structure. Each via address is ensured to be aligned to VIA_ALEN_ALIGN to account for architectures that don't allow unaligned accesses. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4e04fc7357b6cef0856cb14b42306af1af990e5 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Tue Oct 27 00:37:35 2015 +0000 mpls: fix forwarding using v4/v6 explicit null Fill in the via address length for the predefined IPv4 and IPv6 explicit-null label routes. Fixes: f8efb73c97e2 ("mpls: multipath route support") Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85ff8a43f39fa6d2f970b5e1e5c03df87abde242 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Mon Oct 26 17:02:19 2015 -0700 bpf: sample: define aarch64 specific registers Define aarch64 specific registers for building bpf samples correctly. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20986ed826cbb36bb8f2d77f872e3c52d8d30647 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Mon Oct 26 17:13:54 2015 -0500 amd-xgbe: Fix race between access of desc and desc index During Tx cleanup it's still possible for the descriptor data to be read ahead of the descriptor index. A memory barrier is required between the read of the descriptor index and the start of the Tx cleanup loop. This allows a change to a lighter-weight barrier in the Tx transmit routine just before updating the current descriptor index. Since the memory barrier does result in extra overhead on arm64, keep the previous change to not chase the current descriptor value. This prevents the execution of the barrier for each loop performed. Suggested-by: Alexander Duyck <alexander.duyck@xxxxxxxxx> Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ce675ff39b9958d1c10f86cf58e357efaafc856 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Mon Oct 26 12:46:37 2015 -0400 RDS-TCP: Recover correctly from pskb_pull()/pksb_trim() failure in rds_tcp_data_recv Either of pskb_pull() or pskb_trim() may fail under low memory conditions. If rds_tcp_data_recv() ignores such failures, the application will receive corrupted data because the skb has not been correctly carved to the RDS datagram size. Avoid this by handling pskb_pull/pskb_trim failure in the same manner as the skb_clone failure: bail out of rds_tcp_data_recv(), and retry via the deferred call to rds_send_worker() that gets set up on ENOMEM from rds_tcp_read_sock() Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b7c874348ea14ec3c358fe95e56d6f830540248 Author: Neil Horman <nhorman@xxxxxxxxxxxxx> Date: Mon Oct 26 12:24:22 2015 -0400 forcedeth: fix unilateral interrupt disabling in netpoll path Forcedeth currently uses disable_irq_lockdep and enable_irq_lockdep, which in some configurations simply calls local_irq_disable. This causes errant warnings in the netpoll path as in netpoll_send_skb_on_dev, where we disable irqs using local_irq_save, leading to the following warning: WARNING: at net/core/netpoll.c:352 netpoll_send_skb_on_dev+0x243/0x250() (Not tainted) Hardware name: netpoll_send_skb_on_dev(): eth0 enabled interrupts in poll (nv_start_xmit_optimized+0x0/0x860 [forcedeth]) Modules linked in: netconsole(+) configfs ipv6 iptable_filter ip_tables ppdev parport_pc parport sg microcode serio_raw edac_core edac_mce_amd k8temp snd_hda_codec_realtek snd_hda_codec_generic forcedeth snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer snd soundcore snd_page_alloc i2c_nforce2 i2c_core shpchp ext4 jbd2 mbcache sr_mod cdrom sd_mod crc_t10dif pata_amd ata_generic pata_acpi sata_nv dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan] Pid: 1940, comm: modprobe Not tainted 2.6.32-573.7.1.el6.x86_64.debug #1 Call Trace: [<ffffffff8107bbc1>] ? warn_slowpath_common+0x91/0xe0 [<ffffffff8107bcc6>] ? warn_slowpath_fmt+0x46/0x60 [<ffffffffa00fe5b0>] ? nv_start_xmit_optimized+0x0/0x860 [forcedeth] [<ffffffff814b3593>] ? netpoll_send_skb_on_dev+0x243/0x250 [<ffffffff814b37c9>] ? netpoll_send_udp+0x229/0x270 [<ffffffffa02e3299>] ? write_msg+0x39/0x110 [netconsole] [<ffffffffa02e331b>] ? write_msg+0xbb/0x110 [netconsole] [<ffffffff8107bd55>] ? __call_console_drivers+0x75/0x90 [<ffffffff8107bdba>] ? _call_console_drivers+0x4a/0x80 [<ffffffff8107c445>] ? release_console_sem+0xe5/0x250 [<ffffffff8107d200>] ? register_console+0x190/0x3e0 [<ffffffffa02e71a6>] ? init_netconsole+0x1a6/0x216 [netconsole] [<ffffffffa02e7000>] ? init_netconsole+0x0/0x216 [netconsole] [<ffffffff810020d0>] ? do_one_initcall+0xc0/0x280 [<ffffffff810d4933>] ? sys_init_module+0xe3/0x260 [<ffffffff8100b0d2>] ? system_call_fastpath+0x16/0x1b ---[ end trace f349c7af88e6a6d5 ]--- console [netcon0] enabled netconsole: network logging started Fix it by modifying the forcedeth code to use disable_irq_nosync_lockdep_irqsavedisable_irq_nosync_lockdep_irqsave instead, which saves and restores irq state properly. This also saves us a little code in the process Tested by the reporter, with successful restuls Patch applies to the head of the net tree Signed-off-by: Neil Horman <nhorman@xxxxxxxxxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> Reported-by: Vasily Averin <vvs@xxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbc3617f4c1f9fcbe63612048cb9583fea1e11ab Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Oct 27 13:20:25 2015 +0100 netfilter: nfnetlink: don't probe module if it exists nfnetlink_bind request_module()s all the time as nfnetlink_get_subsys() shifts the argument by 8 to obtain the subsys id. So using type instead of type << 8 always returns NULL. Fixes: 03292745b02d11 ("netlink: add nlk->netlink_bind hook for module auto-loading") Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c0f9c7e45d374ce6dc369443fa586c2fe228c345 Author: Bert Kenward <bkenward@xxxxxxxxxxxxxx> Date: Mon Oct 26 14:23:42 2015 +0000 sfc: replace spinlocks with bit ops for busy poll locking This patch reduces the overhead of locking for busy poll. Previously the state was protected by a lock, whereas now it's manipulated solely with atomic operations. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 080a270f5adec1ada1357eb66321e7222cc34301 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 13:51:37 2015 +0100 sock: don't enable netstamp for af_unix sockets netstamp_needed is toggled for all socket families if they request timestamping. But some protocols don't need the lower-layer timestamping code at all. This patch starts disabling it for af-unix. E.g. systemd enables timestamping during boot-up on the journald af-unix sockets, thus causing the system to globally enable timestamping in the lower networking stack. Still, it is very probable that timestamping gets activated, by e.g. dhclient or various NTP implementations. Reported-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6092db1aba2d151acd40a0370b80b5c043936d2d Merge: 8941faa 133fac0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 27 19:35:01 2015 -0700 Merge branch 'qed-driver' Ariel Elior says: ==================== Add new drivers: qed & qede This series implements the driver set for Qlogic's new QL4xxx series. These are 10/20/25/40/50/100 Gig capable converged nics, supporting ethernet (obviously), iscsi, fcoe, roce and iwarp protocols. The overall driver design includes a common module ('qed') and protocol specific dependent modules for ethernet ('qede'), fcoe ('qedf'), iscsi ('qedi') and roce ('qedr'). The common module contains all of the common logic, e.g. initialization, cleanup, infrastructure for interrupt handling, link management, slowpath etc. as well as protocol agnostic features, and supplying an abstraction layer for other modules. The protocol specific modules can be compiled and operated independently of each other, with the exception of the rdma modules which are dependent on the ethernet module, in accordance with the kernel rdma stack design. This series only adds the core and ethernet modules, with basic L2 capabilities. Future series will add the rest of the modules and enhance the L2 functionality. Ths patch series is constructed of the following patches: qed: Add module with basic common support qed: Add basic L2 interface qede: Add basic Network driver qed: Add slowpath L2 support qede: Add basic network device support qede: Add classification configuration qed: Add link support qede: Add support for link qed: Add statistics support qede: Add basic ethtool support This project is a team effort, thanks go to Yuval Mintz, Dmitry Kravkov, Michal Kalderon, Tomer Tayar, Manish Chopra, Sudarsana Kalluru, Rajesh Borundia, Sony Chacko, Artum Zolotushko, Harish Patil, Rasesh Mody, Sergey Ukhterov and Elad Manela, as well as former team members, Eilon Greenstein and Shmulik Ravid. Changes from previos version: ----------------------------- From Version 7: - Various small fixes according to Dave's suggestions; Largest change [code-wise] - don't use tabs for indenting function arguments. From Version 6: - Reduced the number of arguments for functions with exceptionally high number of parameters. From Version 5: - Style change and fixes [mostly in 1, 4 and 7]. Thanks go to Francois Romieu, a mere mortal. ;-) From Version 4: - Drop dependency for x86_64. From Version 3: - Limit support of initial submission to x86_64. - Fix endian problems appearing via sparse [although no BE support yet]. - Fix small issues suggested by the kbuild test robot. From Version 2: - Removed U64_{HI,LO}; Using {upper,lower}_32_bits instead. - Use regular napi weight definition. - [We still use the __le variants for variables, since we didn't get a reply regarding the change into non-user API types]. From Version 1: - Removed private license file; Instead revised comments at source headers. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 133fac0eedc355be5cdbeb9cdfc6df59d2bbbdd1 Author: Sudarsana Kalluru <Sudarsana.Kalluru@xxxxxxxxxx> Date: Mon Oct 26 11:02:34 2015 +0200 qede: Add basic ethtool support This adds basic ethtool operations to the qed driver, allowing support in: - Statistics gathering [ethtool -S] - Setting of debug level [ethtool -s <interface> msglvl] - Getting basic information [ethtool, ethtool -i] In addition it adds the ability to change the MTU. Signed-off-by: Sudarsana Kalluru <Sudarsana.Kalluru@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 9df2ed0415b13218f84262c2372323ef028310fc Author: Manish Chopra <Manish.Chopra@xxxxxxxxxx> Date: Mon Oct 26 11:02:33 2015 +0200 qed: Add statistics support Device statistics can be gathered on-demand. This adds the qed support for reading the statistics [both function and port] from the device, and adds to the public API a method for requesting the current statistics. Signed-off-by: Manish Chopra <Manish.Chopra@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 a2ec6172d29cf3aed92e9db40e83e36329db1dd5 Author: Sudarsana Kalluru <Sudarsana.Kalluru@xxxxxxxxxx> Date: Mon Oct 26 11:02:32 2015 +0200 qede: Add support for link This adds basic link functionality to qede - driver still doesn't provide users with an API to change any link property, but it does request qed to initialize the link using default configuration, and registers a callback that allows it to get link notifications. This patch adds the ability of the driver to set the carrier as active and to enable traffic as a result of async. link notifications. Following this patch, driver should be capable of running traffic. Signed-off-by: Sudarsana Kalluru <Sudarsana.Kalluru@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 cc875c2e4f34e86c2f562f18b6e917cfcc560bcb Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Oct 26 11:02:31 2015 +0200 qed: Add link support Physical link is handled by the management Firmware. This patch lays the infrastructure for attention handling in the driver, as link change notifications arrive via async. attentions, as well the handling of such notifications. This patch also extends the API with the protocol drivers by adding registered callbacks which the protocol driver passes to qed in order to be notified of async. events originating from the FW/HW. 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 0d8e0aa05796c8a5652c164de5e4f16d8c9ee199 Author: Sudarsana Kalluru <Sudarsana.Kalluru@xxxxxxxxxx> Date: Mon Oct 26 11:02:30 2015 +0200 qede: classification configuration Add the ability to configure basic classification in driver by implementing ndo_set_mac_address() and ndo_set_rx_mode(). Signed-off-by: Sudarsana Kalluru <Sudarsana.Kalluru@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 2950219d87b040959f23484dd4ff5856bf1bc172 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Oct 26 11:02:29 2015 +0200 qede: Add basic network device support This patch includes the basic Rx/Tx support for the driver [although carrier will still never be turned on]. Following this patch the driver registers a network device, initializes it and prepares it for traffic. Signed-off-by: Sudarsana Kalluru <Sudarsana.Kalluru@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 cee4d26448c1000ccc1711eb5e6ed4c15f18fa83 Author: Manish Chopra <Manish.Chopra@xxxxxxxxxx> Date: Mon Oct 26 11:02:28 2015 +0200 qed: Add slowpath L2 support This patch adds to the qed the support to configure various L2 elements, such as channels and basic filtering conditions. It also enhances its public API to allow qede to later utilize this functionality. Signed-off-by: Manish Chopra <Manish.Chopra@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 e712d52b9f2a8ecf14ba0a2ec9a80ed0b194c4a1 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Oct 26 11:02:27 2015 +0200 qede: Add basic Network driver The Qlogic Everest Driver for Ethernet is the Ethernet specific module for QL4xxx ethernet products by Qlogic. This patch adds a very minimal PCI driver, one that doesn't yet register a network device, but one that does interact with qed and does a basic initialization of the HW. 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 25c089d78f3833edf614fc377e75e9cf848562f5 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Oct 26 11:02:26 2015 +0200 qed: Add basic L2 interface This patch adds a public API for a network driver to work on top of QED. The interface itself is very minimal - it's mostly infrastructure, as the only content it has after this patch is a query for HW-based information required for the creation of a network interface [I.e., no actual protocol-specific configurations are supported]. Signed-off-by: Manish Chopra <Manish.Chopra@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 fe56b9e6a8d957d6a20729d626027f800c17a2da Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Oct 26 11:02:25 2015 +0200 qed: Add module with basic common support The Qlogic Everest Driver is the backend module for the QL4xxx ethernet products by Qlogic. This module serves two main purposes: 1. It's responsible to contain all the common code that will be shared between the various drivers that would be used with said line of products. Flows such as chip initialization and de-initialization fall under this category. 2. It would abstract the protocol-specific HW & FW components, allowing the protocol drivers to have a clean APIs which is detached in its slowpath configuration from the actual HSI. This adds a very basic module without any protocol-specific bits. I.e., this adds a basic implementation that almost entirely falls under the first category. 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 6f5cadee44d83395dcd78d557b577e1021e192e4 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Sun Oct 25 20:21:50 2015 -0700 openvswitch: Fix skb leak using IPv6 defrag nf_ct_frag6_gather() makes a clone of each skb passed to it, and if the reassembly is successful, expects the caller to free all of the original skbs using nf_ct_frag6_consume_orig(). This call was previously missing, meaning that the original fragments were never freed (with the exception of the last fragment to arrive). Fix this by ensuring that all original fragments except for the last fragment are freed via nf_ct_frag6_consume_orig(). The last fragment will be morphed into the head, so it must not be freed yet. Furthermore, retain the ->next pointer for the head after skb_morph(). Fixes: 7f8a436eaa2c ("openvswitch: Add conntrack action") Reported-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 190b8ffbb700a9aa47acc559779bc79c0cb14766 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Sun Oct 25 20:21:49 2015 -0700 ipv6: Export nf_ct_frag6_consume_orig() This is needed in openvswitch to fix an skb leak in the next patch. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74c16618137f1505b0a32dea3ec73a2ef6f8f842 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Sun Oct 25 20:21:48 2015 -0700 openvswitch: Fix double-free on ip_defrag() errors If ip_defrag() returns an error other than -EINPROGRESS, then the skb is freed. When handle_fragments() passes this back up to do_execute_actions(), it will be freed again. Prevent this double free by never freeing the skb in do_execute_actions() for errors returned by ovs_ct_execute. Always free it in ovs_ct_execute() error paths instead. Fixes: 7f8a436eaa2c ("openvswitch: Add conntrack action") Reported-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5523662edd4fe937267053c2018b75be2ac17860 Author: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Date: Sat Oct 24 13:10:29 2015 -0700 Input: add userio module Debugging input devices, specifically laptop touchpads, can be tricky without having the physical device handy. Here we try to remedy that with userio. This module allows an application to connect to a character device provided by the kernel, and emulate any serio device. In combination with userspace programs that can record PS/2 devices and replay them through the /dev/userio device, this allows developers to debug driver issues on the PS/2 level with devices simply by requesting a recording from the user experiencing the issue without having to have the physical hardware in front of them. Signed-off-by: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3821a065f5672c430a088ae68b4da2a2d2b34106 Author: Andrew F. Davis <afd@xxxxxx> Date: Fri Oct 23 08:59:11 2015 -0500 spi: Drop owner assignment from spi_drivers An spi_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca5d24854210dd02548a080d4271560e926c4fcb Author: Andrew F. Davis <afd@xxxxxx> Date: Fri Oct 23 08:59:10 2015 -0500 spi: Add THIS_MODULE to spi_driver in SPI core Add spi_register_driver helper macro that adds THIS_MODULE to spi_driver for the registering driver. We rename and modify the existing spi_register_driver to enable this. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c2229fe1430d4e1c70e36520229dd64a87802b20 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Tue Oct 27 15:06:45 2015 -0700 fib_trie: leaf_walk_rcu should not compute key if key is less than pn->key We were computing the child index in cases where the key value we were looking for was actually less than the base key of the tnode. As a result we were getting incorrect index values that would cause us to skip over some children. To fix this I have added a test that will force us to use child index 0 if the key we are looking for is less than the key of the current tnode. Fixes: 8be33e955cb9 ("fib_trie: Fib walk rcu should take a tnode and key instead of a trie and a leaf") Reported-by: Brian Rak <brak@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abeedb0159eec42c52a28fc44457164f71aa12a9 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Oct 16 10:29:03 2015 -0500 spi: Setup the master controller driver before setting the chipselect SPI controllers may need to be properly setup before chip selects can be used. Therefore, wait until the spi controller has a chance to perform their setup procedure before trying to use the chip select. This also insures that the chip selects pins are in a good state before asseting them which otherwise may cause confusion. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Tested-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Tested-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d7ef54ca1219ddf99d56a0f7cf40912ab4c4bb0b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 27 17:48:16 2015 +0200 spi: dw: replace magic constant by DW_SPI_DR The offset 0x60 is the offset of the data register defined as DW_SPI_DR in the header file. Use it. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit afafcdd3ffcda1c47e2f79f9a26cf1b2157e39c3 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 16:01:57 2015 +0000 regulator: arizona: Add regulator specific device tree binding document Subsystem specific bindings for the Arizona devices are being factored out of the MFD binding document into separate documents for each subsystem. This patch adds a binding document that covers the existing regulator specific bindings. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a22c4d7e34402ccdf3414f64c50365436eba7b93 Author: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Date: Thu Oct 22 09:59:42 2015 -0700 block: re-add discard_granularity and alignment checks In commit b49a087("block: remove split code in blkdev_issue_{discard,write_same}"), discard_granularity and alignment checks were removed. Ideally, with bio late splitting, the upper layers shouldn't need to depend on device's limits. Christoph reported a discard regression on the HGST Ultrastar SN100 NVMe device when mkfs.xfs. We have not found the root cause yet. This patch re-adds discard_granularity and alignment checks by reverting the related changes in commit b49a087. The good thing is now we can remove the 2G discard size cap and just use UINT_MAX to avoid bi_size overflow. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Reviewed-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e1f580e8ced56d7c0a2b096e00e8b8e861d13671 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Oct 22 20:23:48 2015 +0800 powerpc/e6500: hw tablewalk: make sure we invalidate and write to the same tlb entry In order to workaround Erratum A-008139, we have to invalidate the tlb entry with tlbilx before overwriting. Due to the performance consideration, we don't add any memory barrier when acquire/release the tcd lock. This means the two load instructions for esel_next do have the possibility to return different value. This is definitely not acceptable due to the Erratum A-008139. We have two options to fix this issue: a) Add memory barrier when acquire/release tcd lock to order the load/store to esel_next. b) Just make sure to invalidate and write to the same tlb entry and tolerate the race that we may get the wrong value and overwrite the tlb entry just updated by the other thread. We observe better performance using option b. So reserve an additional register to save the value of the esel_next. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit da414bb923d95f1f59fbf534a0e2ef9f52ffc667 Author: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Date: Wed Aug 5 06:42:07 2015 +0300 powerpc/mpc85xx: Add FSL QorIQ DPAA FMan support to the SoC device tree(s) Based on prior work by Andy Fleming <afleming@xxxxxxxxxxxxx> Signed-off-by: Shruti Kanetkar <Shruti@xxxxxxxxxxxxx> Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit d55ad2967d891ef9c48adf46c6d915bec81a9375 Author: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Date: Wed Aug 5 06:38:12 2015 +0300 powerpc/mpc85xx: Create dts components for the FSL QorIQ DPAA FMan Based on prior work by Andy Fleming <afleming@xxxxxxxxxxxxx> Signed-off-by: Shruti Kanetkar <Shruti@xxxxxxxxxxxxx> Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7a1db41d83881bed7d5e13972ed308f05153ceee Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 27 17:41:16 2015 -0500 powerpc/fsl: Add #clock-cells and clockgen label to clockgen nodes This allows new-style clock references to be used, which is needed for fman. The old clock nodes will be removed and all clock references converted to new-style once the qoriq-cpufreq driver is updated to stop depending on the old-style references in cpu nodes. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 43f2cfcce26e2d67a3689d40777885a98447c586 Merge: 9d28cc8 e994412 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 27 18:14:16 2015 -0500 Merge branch 'clock' into HEAD This is a major overhaul of the clk-qoriq driver, which I'm merging via PPC with Stephen Boyd's ack in order to apply subsequent PPC patches that depend on it. commit 9d28cc811bbb43c7ca8dc8be375bab1e0efb037b Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Fri Aug 21 18:48:31 2015 +0200 powerpc: handle error case in cpm_muram_alloc() rh_alloc() returns (unsigned long)-ERRxx on error, which may result in overwriting memory outside the MURAM AREA. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 9100d20c5b6307bacd8756aba2f157cb1a8ffb56 Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Mon Sep 21 16:47:00 2015 +0100 powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets IRQF_NO_SUSPEND flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_set_wak is not implemented. Also there's no need to set the IRQF_NO_SUSPEND flag as it doesn't guarantee wakeup for that interrupt. This patch removes the redundant mpic_irq_set_wake and sets the IRQCHIP_SKIP_SET_WAKE for only FSL MPIC. Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 96eea6426f56042c28eff849cb2cc01895db081e Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:22 2015 -0500 powerpc/book3e-64: Enable kexec Allow KEXEC for book3e, and bypass or convert non-book3e stuff in kexec code. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood@xxxxxxxxxxxxx: move code to minimize diff, and cleanup] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ae73e4ccbc91853259d730fd8c5089bdf06a4fa3 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:21 2015 -0500 powerpc/book3e-64/kexec: Set "r4 = 0" when entering spinloop book3e_secondary_core_init will only create a TLB entry if r4 = 0, so do so. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ffda09a9941c18d9f08d1176d55588d505f62912 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:20 2015 -0500 powerpc/booke: Only use VIRT_PHYS_OFFSET on booke32 The way VIRT_PHYS_OFFSET is not correct on book3e-64, because it does not account for CONFIG_RELOCATABLE other than via the 32-bit-only virt_phys_offset. book3e-64 can (and if the comment about a GCC miscompilation is still relevant, should) use the normal ppc64 __va/__pa. At this point, only booke-32 will use VIRT_PHYS_OFFSET, so given the issues with its calculation, restrict its definition to booke-32. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 567cf94dc7801f6602a73b55f04cb096a3c351fb Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:19 2015 -0500 powerpc/book3e-64/kexec: Enable SMP release The SMP release mechanism for FSL book3e is different from when booting with normal hardware. In theory we could simulate the normal spin table mechanism, but not at the addresses U-Boot put in the device tree -- so there'd need to be even more communication between the kernel and kexec to set that up. Instead, kexec-tools will set a boolean property linux,booted-from-kexec in the /chosen node. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx commit cf904e3088fd3760d9f6fed5fde755ac299590b7 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:18 2015 -0500 powerpc/book3e-64/kexec: create an identity TLB mapping book3e has no real MMU mode so we have to create an identity TLB mapping to make sure we can access the real physical address. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood: cleanup, and split off some changes] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ecc4999f68d157a25c500d18586a16f09a029cb4 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:17 2015 -0500 powerpc/book3e-64: Don't limit paca to 256 MiB This limit only makes sense on book3s, and on book3e it can cause problems with kdump if we don't have any memory under 256 MiB. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit eeaab663a06c3ddc7213d30d304de73e30bc772e Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:16 2015 -0500 powerpc/book3e/kdump: Enable crash_kexec_wait_realmode While book3e doesn't have "real mode", we still want to wait for all the non-crash cpus to complete their shutdown. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 1cb6e064924857e600d13b4f6be5511145ecb560 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:15 2015 -0500 powerpc/book3e: support CONFIG_RELOCATABLE book3e is different with book3s since 3s includes the exception vectors code in head_64.S as it relies on absolute addressing which is only possible within this compilation unit. So we have to get that label address with got. And when boot a relocated kernel, we should reset ipvr properly again after .relocate. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood: cleanup and ifdef removal] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 835c031c98ee1d166c7fdcdbd8c9cc20e05286d4 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:14 2015 -0500 powerpc/booke64: Fix args to copy_and_flush Convert r4/r5, not r6, to a virtual address when calling copy_and_flush. Otherwise, r3 is already virtual, and copy_to_flush tries to access r3+r6, PAGE_OFFSET gets added twice. This isn't normally seen because on book3e we normally enter with the kernel at zero and thus skip copy_to_flush -- but it will be needed for kexec support. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood: split patch and rewrote changelog] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 68d1014019b41c5069b749583a70ede60150b8c2 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:13 2015 -0500 powerpc/book3e-64: rename interrupt_end_book3e with __end_interrupts Rename 'interrupt_end_book3e' to '__end_interrupts' so that the symbol can be used by both book3s and book3e. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood: edit changelog] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit f34b3e19fd060b87e97c89050f2b40b8ada468a9 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:12 2015 -0500 powerpc/e6500: kexec: Handle hardware threads The new kernel will be expecting secondary threads to be disabled, not spinning. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 939fbf00805b395743e2406755ca20f5f959a598 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:11 2015 -0500 powerpc/85xx: Implement 64-bit kexec support Unlike 32-bit 85xx kexec, we don't do a core reset. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood: edit changelog, and cleanup] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit eba5de8dc163fac4d20f0afed8183431491b570f Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:10 2015 -0500 powerpc/fsl-booke-64: Don't limit ppc64_rma_size to one TLB entry This is required for kdump to work when loaded at at an address that does not fall within the first TLB entry -- which can easily happen because while the lower limit is enforced via reserved memory, which doesn't affect how much is mapped, the upper limit is enforced via a different mechanism that does. Thus, more TLB entries are needed than would normally be used, as the total memory to be mapped might not be a power of two. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 23d88271b4f97f66de521ac9b2c1471e6311cf26 Merge: 3d0aa36 625faa6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 07:24:53 2015 +0900 Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM fixes from Russell King: "Two fixes for ARM and one for clkdev: - Fix another build issue with vdsomunge on non-glibc systems - Fix a randconfig build error caused by an invalid configuration - Fix a clkdev problem causing the Nokia n700 to no longer boot" * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: clkdev: fix clk_add_alias() with a NULL alias device name ARM: 8445/1: fix vdsomunge not to depend on glibc specific byteswap.h ARM: make RiscPC depend on MMU commit 3d0aa366072a194c6a339d37b85d5b99e936097e Merge: dc5bc3f 174fd8d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 07:22:15 2015 +0900 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull blkcg fix from Jens Axboe: "One final fix that should go into 4.3. It's a simple 2x1 liner, fixing a blkcg accounting issue. It was using the wrong bio member to look at the sync and write bits..." * 'for-linus' of git://git.kernel.dk/linux-block: blkcg: fix incorrect read/write sync/async stat accounting commit dc5bc3f1e3d886ce1193281bb2bfb2b44f4aeae4 Merge: 9e17f90 3fc89ad Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 07:20:10 2015 +0900 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fix from Herbert Xu: "This fixes a problem in the Crypto API that may cause spurious errors when signals are received by the process that made the orignal system call into the kernel" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: api - Only abort operations on fatal signal commit 9e17f9070280bd58af9aead415544387a7a61427 Merge: 858e904 275d7d4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 07:17:50 2015 +0900 Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module preemption fix from Rusty Russell: "Turns out we should have always been disabling preemption here; someone finally caught it thanks to Peter Z's additional checks" * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: module: Fix locking in symbol_put_addr() commit 25fff6aa3213676200a0acc9ee37a1ab56d16cd6 Merge: 3f5ceec 9908570 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 27 16:13:23 2015 -0500 Merge branch 'all-dtbs-v2' into for-next commit f2ca379642d7a843be972ea4167abdd3c8c9e5d1 Author: Dirk Steinmetz <public@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 16:09:19 2015 +0200 namei: permit linking with CAP_FOWNER in userns Attempting to hardlink to an unsafe file (e.g. a setuid binary) from within an unprivileged user namespace fails, even if CAP_FOWNER is held within the namespace. This may cause various failures, such as a gentoo installation within a lxc container failing to build and install specific packages. This change permits hardlinking of files owned by mapped uids, if CAP_FOWNER is held for that namespace. Furthermore, it improves consistency by using the existing inode_owner_or_capable(), which is aware of namespaced capabilities as of 23adbe12ef7d3 ("fs,userns: Change inode_capable to capable_wrt_inode_uidgid"). Signed-off-by: Dirk Steinmetz <public@xxxxxxxxxxxxxxxxxx> This is hitting us in Ubuntu during some dpkg upgrades in containers. When upgrading a file dpkg creates a hard link to the old file to back it up before overwriting it. When packages upgrade suid files owned by a non-root user the link isn't permitted, and the package upgrade fails. This patch fixes our problem. Tested-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> commit 990857042f599440ea7a10b84c17a06ed21078e5 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 17:51:21 2015 -0500 xtensa: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: linux-xtensa@xxxxxxxxxxxxxxxx commit 0426f6482d5d61c0d762aafa03b27b96d02a68a7 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 18:01:06 2015 -0500 mips: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx commit b02a687508c4d49c54dd8eaac6ae9e84ddc86d18 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 18:00:15 2015 -0500 metag: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit 1aa4c51e468e3d38122c2da2f32b54a084d0efdb Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 17:52:24 2015 -0500 metag: use common make variables for dtb builds Use dtb-y and always make variables to build dtbs instead of explicit dtbs rule. This is in preparation to support building all dtbs. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit 0395c1aacfbaa0bc959faf415c7d95f20bb4a377 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 17:59:26 2015 -0500 h8300: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: uclinux-h8-devel@xxxxxxxxxxxxxxxxxxxx commit d58d76efffe77413668a4ff7cf0d506fcab98efd Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Oct 8 12:09:11 2015 -0500 arm64: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. This is simpler for arm64 which has a bunch of sub-dirs. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit efd8c4ff731e6fc851d24249aebde8e05b095cc5 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Oct 8 12:08:44 2015 -0500 arm: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. This is simpler for arm64 which has a bunch of sub-dirs. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> commit b83abc8c2c45f8a926bdeaa46fc8dce236e13fdd Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 17:51:00 2015 -0500 arc: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 10375ccc670669a26adbc059b6723aeee4bfa4bb Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Oct 8 10:10:53 2015 -0500 arc: use common make variables for dtb builds Use dtb-y and always make variables to build dtbs instead of explicit dtbs rule. This is in preparation to support building all dtbs. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 1b7c501b51a8c851ff82769cbe905ef19cb70239 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 17:57:33 2015 -0500 of: add config option to enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. In order to only build dtbs, this option can be used by creating an allno.config file containing: CONFIG_COMPILE_TEST=y CONFIG_OF=y CONFIG_OF_ALL_DTBS=y And then running: make KCONFIG_ALLCONFIG=1 allnoconfig make dtbs While building the dtbs themselves don't need a cross compiler, the scripts dependency does need one. This can be hacked around by commenting out "subdir-y += mod" in scripts/Makefile. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Frank Rowand <frowand.list@xxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> commit 1276ece32c5d18790e8bcff89e692fd3c1790bab Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Oct 14 15:32:56 2015 +0000 VFIO: platform: clear IRQ_NOAUTOEN when de-assigning the IRQ The vfio platform driver currently sets the IRQ_NOAUTOEN before doing the request_irq to properly handle the user masking. However it does not clear it when de-assigning the IRQ. This brings issues when loading the native driver again which may not explicitly enable the IRQ. This problem was observed with xgbe driver. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 4e1a635552d3df7bb743de8c2be156293c53839e Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Oct 27 14:53:05 2015 -0600 vfio/pci: Use kernel VPD access functions The PCI VPD capability operates on a set of window registers in PCI config space. Writing to the address register triggers either a read or write, depending on the setting of the PCI_VPD_ADDR_F bit within the address register. The data register provides either the source for writes or the target for reads. This model is susceptible to being broken by concurrent access, for which the kernel has adopted a set of access functions to serialize these registers. Additionally, commits like 932c435caba8 ("PCI: Add dev_flags bit to access VPD through function 0") and 7aa6ca4d39ed ("PCI: Add VPD function 0 quirk for Intel Ethernet devices") indicate that VPD registers can be shared between functions on multifunction devices creating dependencies between otherwise independent devices. Fortunately it's quite easy to emulate the VPD registers, simply storing copies of the address and data registers in memory and triggering a VPD read or write on writes to the address register. This allows vfio users to avoid seeing spurious register changes from accesses on other devices and enables the use of shared quirks in the host kernel. We can theoretically still race with access through sysfs, but the window of opportunity is much smaller. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> commit 5f096b14d421ba23249b752e41989ecfaa6ae226 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Oct 27 14:53:04 2015 -0600 vfio: Whitelist PCI bridges When determining whether a group is viable, we already allow devices bound to pcieport. Generalize this to include any PCI bridge device. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 3f5ceec96470050d20d7281d49985e3b1cfc3995 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 23 20:47:20 2015 +0900 of/fdt: fix error checking for earlycon address fdt_translate_address() returns OF_BAD_ADDR on error. It is defined as a u64 value, so the variable "addr" should be defined as u64 as well. Fixes: fb11ffe74c79 ("of/fdt: add FDT serial scanning for earlycon") Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f4efcce33d2e5224a905369f9906f3931f5d907c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Oct 27 17:35:58 2015 -0300 perf tools: Search for more options when passing args to -h Recently 'perf <tool> -h' was made aware of arguments and would show just the help for the arguments specified, but that required a strict form, i.e.: $ perf -h --tui worked, but: $ perf -h tui didn't. Make it support both cases and also look at the option help when neither matches, so that he following examples works: $ perf report -h interface Usage: perf report [<options>] --gtk Use the GTK2 interface --stdio Use the stdio interface --tui Use the TUI interface $ perf report -h stack Usage: perf report [<options>] -g, --call-graph <print_type,threshold[,print_limit],order, sort_key[,branch]> Display call graph (stack chain/backtrace): print_type: call graph printing style (graph|flat|fractal|none) threshold: minimum call graph inclusion threshold (<percent>) print_limit: maximum number of call graph entry (<number>) order: call graph order (caller|callee) sort_key: call graph sort key (function|address) branch: include last branch info to call graph (branch) Default: graph,0.5,caller,function --max-stack <n> Set the maximum stack depth when parsing the callchain, anything beyond the specified depth will be ignored. Default: 127 $ Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-xzqvamzqv3cv0p6w3inhols3@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e5bf1991ea62b4f4fc906d0828f7eed988fc3835 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 26 18:23:22 2015 -0700 clk: qcom: msm8960: Fix dsi1/2 halt bits The halt bits for these clocks seem wrong. I get the following warning while booting on an msm8960-cdp: WARNING: CPU: 0 PID: 1 at drivers/clk/qcom/clk-branch.c:97 clk_branch_toggle+0xd0/0x138() dsi1_clk status stuck at 'on' Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.3.0-rc3-00113-g5532cfb567fe #110 Hardware name: Qualcomm (Flattened Device Tree) [<c0216984>] (unwind_backtrace) from [<c02138f8>] (show_stack+0x10/0x14) [<c02138f8>] (show_stack) from [<c04a525c>] (dump_stack+0x70/0xbc) [<c04a525c>] (dump_stack) from [<c0223c70>] (warn_slowpath_common+0x78/0xb4) [<c0223c70>] (warn_slowpath_common) from [<c0223d40>] (warn_slowpath_fmt+0x30/0x40) [<c0223d40>] (warn_slowpath_fmt) from [<c05fc2dc>] (clk_branch_toggle+0xd0/0x138) [<c05fc2dc>] (clk_branch_toggle) from [<c05f3f3c>] (clk_disable_unused_subtree+0x98/0x1b0) [<c05f3f3c>] (clk_disable_unused_subtree) from [<c05f3ec4>] (clk_disable_unused_subtree+0x20/0x1b0) [<c05f3ec4>] (clk_disable_unused_subtree) from [<c05f5474>] (clk_disable_unused+0x58/0xd8) [<c05f5474>] (clk_disable_unused) from [<c0209710>] (do_one_initcall+0xac/0x1ec) [<c0209710>] (do_one_initcall) from [<c0991db4>] (kernel_init_freeable+0x11c/0x1e8) [<c0991db4>] (kernel_init_freeable) from [<c0727ae0>] (kernel_init+0x8/0xec) [<c0727ae0>] (kernel_init) from [<c0210238>] (ret_from_fork+0x14/0x3c) Fix the status bits and the errors go away. Fixes: 5532cfb567fe ("clk: qcom: mmcc-8960: Add DSI related clocks") Acked-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1e5a29318ba8506f52a8d727b5c6a53143f9882a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Oct 25 15:51:18 2015 +0100 perf stat: Cache aggregated map entries in extra cpumap Currently any time we need to access socket or core id for given cpu, we access the sysfs topology file. Adding a cpus_aggr_map cpu_map to cache those entries. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445784728-21732-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2322f573f8131da9c6d1fab01fe0a0c2c23aa549 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Oct 25 15:51:17 2015 +0100 perf cpu_map: Add cpu_map__empty_new function Adding cpu_map__empty_new interface to create empty cpumap with given size. The cpumap entries are initialized with -1. It'll be used for caching cpu_map in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445784728-21732-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit af3399817428d8adc2c87c91df23fde77dbcdb35 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Oct 25 15:51:44 2015 +0100 perf evsel: Move id_offset out of struct perf_evsel union member Because the 'perf stat record' patches will use the id_offset member together with the priv pointer. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445784728-21732-29-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 06ef431ab8060aa8ef51b36f56773d01f6a53f24 Merge: 790a2ee 2c66e24d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 27 18:40:47 2015 +0100 Merge tag 'efi-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into core/efi Pull EFI fix from Matt Fleming: - Fix a kernel panic by not passing EFI virtual mapping addresses to __pa() in the x86 pageattr code. Since these virtual addreses are not part of the direct mapping or kernel text mapping, passing them to __pa() will trigger a BUG_ON() when CONFIG_DEBUG_VIRTUAL is enabled. (Sai Praneeth Prakhya) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d94b986aa734efea09fbc8f59390ba2e4e00f9d0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:35 2015 +0200 pinctrl: at91: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9d4cc85d290578ec07e37d063d73f0e8707ea3eb Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 16 10:24:01 2015 +0100 pinctrl: tegra-xusb: Correct lane mux options The description of the XUSB_PADCTL_USB3_PAD_MUX_0 register in the Tegra124 documentation implies that all functions (pcie, usb3 and sata) can be muxed onto to all lanes (pcie lanes 0-4 and sata lane 0). However, it has been confirmed that this is not the case and the mux'ing options much more limited. Unfortunately, the public documentation has not been updated to reflect this and so detail the actual mux'ing options here by function: Function: Lanes: pcie1 x2: pcie3, pcie4 pcie1 x4: pcie1, pcie2, pcie3, pcie4 pcie2 x1 (option1): pcie0 pcie2 x1 (option2): pcie2 usb3 port 0: pcie0 usb3 port 1 (option 1): pcie1 usb3 port 1 (option 2): sata0 sata: sata0 Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 787dfbb294b25b37211d0749e7cdbb20d443c680 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Fri Oct 23 09:25:30 2015 -0700 gpio: zynq: Document interrupt-controller DT binding HW and driver support the GPIO as interrupt-controller. Document that in the DT binding. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c3ac54a6f554475b034f87d471417bf0afcf3a42 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 22 22:51:27 2015 +0300 mailbox: Off by one in mbox_test_message_read() We need to leave space for the NUL char. Fixes: 8ea4484d0c2b ('mailbox: Add generic mechanism for testing Mailbox Controllers') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> commit 9dd4e173f71d5ac6ea37f7dbf49af6e5cd44f9fb Author: Justin Chen <justinpopo6@xxxxxxxxx> Date: Wed Sep 2 11:00:17 2015 -0700 watchdog: watchdog_dev: Use device tree alias for naming watchdogs Currently there is no way to easily differentiate multiple watchdog devices. The watchdogs are named by the order they are probed. 1st probed watchdog: /dev/watchdog0 2nd probed watchdog: /dev/watchdog1 ... This change uses the alias of the watchdog device node for the name of the watchdog. aliases { watchdog0 = "/...../...." watchdog3 = "/..../....." watchdog2 = "/..../....." ... } This will translate to... /dev/watchdog0 /dev/watchdog3 /dev/watchdog2 v2 Assign alias number to id in watchdog_core instead of watchdog_dev. If failed to get id, fallback to original ida_simple_get call. Signed-off-by: Justin Chen <justinpopo6@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 79786721c29ff8fecf2903ba080479476015553d Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Thu Oct 22 21:51:18 2015 -0700 gpio: xilinx: Drop architecture dependencies The driver does not have any real architecture dependencies. To avoid listing each architecture that might use this driver on some FPGA-enabled platform, drop these dependencies. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7a3629fe999028e09bc96ccb0c9e22e0a9cf2725 Author: Justin Chen <justinpopo6@xxxxxxxxx> Date: Mon Aug 31 11:02:43 2015 -0700 watchdog: Watchdog driver for Broadcom Set-Top Box Watchdog driver for Broadcom 7038 and newer chips. Signed-off-by: Justin Chen <justinpopo6@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 5c5049dab955690d2b30e9397d128d4685211f74 Author: Justin Chen <justinpopo6@xxxxxxxxx> Date: Mon Aug 31 11:02:42 2015 -0700 watchdog: bcm7038: add device tree binding documentation Add device tree binding documentation for the watchdog hardware block on bcm7038 and newer SoCs. Signed-off-by: Justin Chen <justinpopo6@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 5a37ed0a9eda5fd77a4cc92c6e46b6f6e8db873d Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Fri Oct 23 14:55:38 2015 +0100 drm/i915: Fix maxfifo watermark calc on vlv cursor planes A typo resulted in the watermarks for cursor planes not being calculated correctly. Fixed the typo. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit cadd16ea33a938d49aee99edd4758cc76048b399 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 27 14:21:51 2015 +0100 ALSA: hda - Disable 64bit address for Creative HDA controllers We've had many reports that some Creative sound cards with CA0132 don't work well. Some reported that it starts working after reloading the module, while some reported it starts working when a 32bit kernel is used. All these facts seem implying that the chip fails to communicate when the buffer is located in 64bit address. This patch addresses these issues by just adding AZX_DCAPS_NO_64BIT flag to the corresponding PCI entries. I casually had a chance to test an SB Recon3D board, and indeed this seems helping. Although this hasn't been tested on all Creative devices, it's safer to assume that this restriction applies to the rest of them, too. So the flag is applied to all Creative entries. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ee1a6ca43dba07465c71f6ab661702d703f5eb06 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 13:08:45 2015 +0300 pinctrl: intel: Add Intel Broxton pin controller support This driver adds pinctrl/GPIO support for Intel Broxton. The GPIO controller is based on the same hardware design that is already used in Intel Sunrisepoint so we leverage the core driver here. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4341e8a5458f10cb7265167061fa06ebf3a3a903 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 13:08:44 2015 +0300 pinctrl: intel: Allow requesting pins which are in ACPI mode as GPIOs Reserved for ACPI actually means that in such case the GPIO hardware will not update the interrupt status register (GPI_IS) even if the pin is configured to trigger an interrupt. It will update GPI_GPE_STS instead and does not trigger an interrupt. Allow using such pins as GPIOs, only prevent their usage as interrupts. We also rename function intel_pad_reserved_for_acpi() to be intel_pad_acpi_mode() which reflects the actual meaning better. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c71183697250b356be6c7c1abc2e9a74073e1dca Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Oct 25 00:49:27 2015 +0900 perf tools: Introduce usage_with_options_msg() Now usage_with_options() setup a pager before printing message so normal printf() or pr_err() will not be shown. The usage_with_options_msg() can be used to print some help message before usage strings. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445701767-12731-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 193b40c8258f781d8dc395909b2971472aad6796 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 13:08:43 2015 +0300 pinctrl: intel: Add support for multiple GPIO chips sharing the interrupt On Intel Broxton the GPIO hardware consists of several chips that all share the parent interrupt. It is not possible to handle this by setting chained handler for each chip (as they will overwrite each other). To overcome this we need to request the interrupt using devm_request_irq() and pass IRQF_SHARED with the flags. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b2f68b6306dbdbfd9b8cf46c697b52efa78f9ad6 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Oct 21 00:12:00 2015 -0700 gpio: generic: Revert to old error handling in bgpio_map Returning an error instead of NULL in bgpio_map if platform_get_resource_byname does not find a resource was introduced with commit cf3f2a2c8bae ("gpio: generic: improve error handling in bgpio_map"). This results in several qemu runtime failures with default and non-default configurations, if attempts are made to boot from mmcblk0. Examples for failures with multi_v7_defconfig are Machine: vexpress-a9 dtb: vexpress-v2p-ca9 Machine: vexpress-a15 dtb: vexpress-v2p-ca15-tc1 Crash: VFS: Cannot open root device "mmcblk0" or unknown-block(0,0): error -6 Please append a correct "root=" boot option; here are the available partitions: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Looking into the code, always returning an error if bgpio_map fails does not appear to make much sense, since the code in bgpio_setup_io specifically supports some of the resources to be NULL. Fixes: cf3f2a2c8bae ("gpio: generic: improve error handling in bgpio_map") Cc: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ef0eebc05130b0d22b0ea65c0cd014ee16fc89c7 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Tue Oct 20 21:15:06 2015 -0700 drivers/pinctrl: Add the concept of an "init" state For pinctrl the "default" state is applied to pins before the driver's probe function is called. This is normally a sensible thing to do, but in some cases can cause problems. That's because the pins will change state before the driver is given a chance to program how those pins should behave. As an example you might have a regulator that is controlled by a PWM (output high = high voltage, output low = low voltage). The firmware might leave this pin as driven high. If we allow the driver core to reconfigure this pin as a PWM pin before the PWM's probe function runs then you might end up running at too low of a voltage while we probe. Let's introudce a new "init" state. If this is defined we'll set pinctrl to this state before probe and then "default" after probe (unless the driver explicitly changed states already). An alternative idea that was thought of was to use the pre-existing "sleep" or "idle" states and add a boolean property that we should start in that mode. This was not done because the "init" state is needed for correctness and those other states are only present (and only transitioned in to and out of) when (optional) power management is enabled. Changes in v3: - Moved declarations to pinctrl/devinfo.h - Fixed author/SoB Changes in v2: - Added comment to pinctrl_init_done() as per Linus W. Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Tested-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c307b002548590c5d8c32b964831de671ad4affe Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Oct 20 17:22:15 2015 +0300 gpio: add a real time compliance notes Put in a compliance checklist. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4aa50b87f1e99164a93314c25ed3a827c24bc54f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Oct 27 11:13:18 2015 +0100 Revert "gpio: add a real time compliance checklist" This reverts commit 677b2ff4afd9996eabefc9472c701211b4b49e87. commit 1c6e58d83615678875bf52747f8841c49291dfcf Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Oct 21 17:15:40 2015 +0200 mmc: pwrseq: Use highest priority for eMMC restart handler The pwrseq_emmc driver does a eMMC card reset before a system reboot to allow broken or limited ROM boot-loaders (that don't have an eMMC reset logic) to be able to read the second stage from the eMMC. But this has to be called before a system reboot handler and while most of them use the priority 128, there are other restart handlers (such as the syscon-reboot one) that use a higher priority. So, use the highest priority to make sure that the eMMC hw is reset before a system reboot. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Tested-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Tested-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Tested-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bac7f4c1bf5e7c6ccd5bb71edc015b26c77f7460 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Oct 20 17:25:09 2015 +0900 pinctrl: uniphier: set input-enable before pin-muxing While IECTRL is disabled, input signals are pulled-down internally. If pin-muxing is set up first, glitch signals (Low to High transition) might be input to hardware blocks. Bad case scenario: [1] The hardware block is already running before pinctrl is handled. (the reset is de-asserted by default or by a firmware, for example) [2] The pin-muxing is set up. The input signals to hardware block are pulled-down by the chip-internal biasing. [3] The pins are input-enabled. The signals from the board reach the hardware block. Actually, one invalid character is input to the UART blocks for such SoCs as PH1-LD4, PH1-sLD8, where UART devices start to run at the power on reset. To avoid such problems, pins should be input-enabled before muxing. Fixes: 6e9088920258 ("pinctrl: UniPhier: add UniPhier pinctrl core support") Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reported-by: Dai Okamura <okamura.dai@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1ceacea220c36e7933216e79b0ca21e1318b7c8d Author: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> Date: Mon Oct 19 12:59:14 2015 -0400 gpio: Add GPIO support for the ACCES 104-IDIO-16 The ACCES 104-IDIO-16 family of PC/104 utility boards feature 16 optically isolated inputs and 16 optically isolated FET solid state outputs. This driver provides GPIO support for these 32 channels of digital I/O. Change-of-State detection interrupts are not supported. GPIO 0-15 correspond to digital outputs 0-15, while GPIO 16-31 correspond to digital inputs 0-15. The base port address for the device may be set via the idio_16_base module parameter. Signed-off-by: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e0548004d433e4454c5d129a5c5b0905442bfe8e Author: Pramod Kumar <pramodku@xxxxxxxxxxxx> Date: Mon Oct 19 11:13:11 2015 +0530 pinctrl: cygnus: Add new compatible string for gpio controller driver This new compatible string, "brcm,iproc-gpio", should be used for all new iproc-based future SoCs. Signed-off-by: Pramod Kumar <pramodku@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ea92211c0844afbe8b3f83809ea2f51bc53acc68 Author: Pramod Kumar <pramodku@xxxxxxxxxxxx> Date: Mon Oct 19 11:13:09 2015 +0530 pinctrl: cygnus: Remove GPIO to Pinctrl pin mapping from driver Remove gpio to pinctrl pin mapping code from driver and address this through standard property "gpio-ranges". Signed-off-by: Pramod Kumar <pramodku@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 03e09bc18580c84961c8a05470e8d5ed197ecd84 Author: Pramod Kumar <pramodku@xxxxxxxxxxxx> Date: Mon Oct 19 11:13:08 2015 +0530 pinctrl: cygnus: Optional DT property to support pin mappings If GPIO controller's pins are muxed, pin-controller subsystem need to be intimated by defining mapping between gpio and pinmux controller. This patch adds required properties to define this mapping via DT. Signed-off-by: Pramod Kumar <pramodku@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6397b7f5f405f30f03f67ef829306c5af6d3369b Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:29 2015 +0800 mmc: mediatek: add HS400 support add HS400 mode and tune support Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9979dbe5158899b556eb772b7335e29417ac0ddd Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:28 2015 +0800 mmc: mmc: extend the mmc_send_tuning() The mmc_execute_tuning() has already prepared the opcode, there is no need to prepare it again at mmc_send_tuning(), and, there is a BUG of mmc_send_tuning() to determine the opcode by bus width, assume eMMC was running at HS200, 4bit mode, then the mmc_send_tuning() will overwrite the opcode from CMD21 to CMD19, then got error. in addition, extend an argument of "cmd_error" to allow getting if there was cmd error when tune response. Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> [Ulf: Rebased patch] Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c9b5061e7728da1f7192ecaf3ffab4a7300920dc Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:26 2015 +0800 mmc: mediatek: add implement of ops->hw_reset() add implement of ops->hw_reset() for eMMC Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 62b0d27af85ef1b1729c2ed675c12020e1fbf10f Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:25 2015 +0800 mmc: mediatek: fix got GPD checksum error interrupt when data transfer Even if we only use one gpd, we need alloc 2 gpd and make the gpd->next pointer to the second gpd, or may get gpd checksum error, this was checked by hardware Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6e622947e149fa9fd62e3609aab010935c8e10bd Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:24 2015 +0800 mmc: mediatek: change the argument "ddr" to "timing" use the ios->timing directly is better It can reflect current timing and do settings by timing Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 726a9aac31a89d5a02614ca8f2b3f644df621c27 Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:23 2015 +0800 mmc: mediatek: make cmd_ints_mask to const cmd_ints_mask and data_ints_mask are constant value, so make it to const Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2c21d26825d5c1fda1729541d5fad56ee7ef7fa2 Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:22 2015 +0800 mmc: dt-bindings: update Mediatek MMC bindings Add 400Mhz clock source for HS400 mode Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 794f15782d9f12aa5a43f796680a5fc4f2c424e3 Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:21 2015 +0800 mmc: core: Add DT bindings for eMMC hardware reset support Sometime only need set MMC_CAP_HW_RESET for one of MMC hosts, So set it in device tree is better. Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fc18111b8973e2c7cc0c2ba6183795e5266ddff7 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Oct 27 02:26:11 2015 +0800 backlight: pm8941-wled: Fix ptr_ret.cocci warnings drivers/video/backlight/pm8941-wled.c:404: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 Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 324e786ee39c70ffbdc280c34b7d2b6da5c87879 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 27 08:35:24 2015 +0100 bluetooth: 6lowpan: fix NOHZ: local_softirq_pending Jukka reported about the following warning: "NOHZ: local_softirq_pending 08" I remember this warning and we had a similar issue when using workqueues and calling netif_rx. See commit 5ff3fec ("mac802154: fix NOHZ local_softirq_pending 08 warning"). This warning occurs when calling "netif_rx" inside the wrong context (non softirq context). The net core api offers "netif_rx_ni" to call netif_rx inside the correct softirq context. Reported-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d480297498f32c3d54e1445c2fafc7ae969c558f Author: Jubin John <jubin.john@xxxxxxxxx> Date: Mon Oct 26 10:28:49 2015 -0400 staging/rdma/hfi1: Update driver version string to 0.9-294 Signed-off-by: Jubin John <jubin.john@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83525b61c3a03603ef4b7f7ee0e420ee534bee42 Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Mon Oct 26 10:28:48 2015 -0400 staging/rdma/hfi1: add additional rc traces Add additional rc traces to aid in debugging rc retry logic. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64ffd86cf9c1b5d7febcb9dfbd415d886fa76451 Author: Jubin John <jubin.john@xxxxxxxxx> Date: Mon Oct 26 10:28:47 2015 -0400 staging/rdma/hfi1: Add unit # to verbs txreq cache name The name used to create the verbs txreq cache was not qualified with the unit number. This causes a panic when destroying the cache on a dual HFI systems. Create a unique name with the unit number with this patch Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Jubin John <jubin.john@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abfc4459c99d2c87e11f2cd67f8c069a03cfe143 Author: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Date: Mon Oct 26 10:28:46 2015 -0400 staging/rdma/hfi1: Load SBus firmware once per ASIC Using fw_sbus_load to control SBus firmware load doesn't scale across multiple HFI1 cards in a single system. This patch ensures that the SBus firmware is loaded once per ASIC. Reviewed-by: Dean Luick <dean.luick@xxxxxxxxx> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4f30031c33cdff10c87d0a56ef575508ed7b54d Author: Dean Luick <dean.luick@xxxxxxxxx> Date: Mon Oct 26 10:28:44 2015 -0400 staging/rdma/hfi1: Thread the receive interrupt. When under heavy load, the receive interrupt handler can run too long with IRQs disabled. Add a mixed-mode threading scheme. Initially process packets in the handler for quick responses (latency). If there are too many packets to process move to a thread to continue (bandwidth). Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b77d713a310b5c6eba13e9c394bcf0b085c4a49d Author: Dean Luick <dean.luick@xxxxxxxxx> Date: Mon Oct 26 10:28:43 2015 -0400 staging/rdma/hfi1: Add irqsaves in the packet processing path In preparation for threading the receive interrupt, add irqsaves in the packet processing path. When the receive interrupt is threaded, the packet processing path is no longer guaranteed to have IRQs disabled. Add irqsaves where needed on several locks in the packet processing path. Anything that did not have an obvious, "close" irqsave in its caller is a candidate. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 028d72545bca0670c7efc5b13fc9ea05a2f55643 Author: Ignacio Hernandez <ignacio.hernandez@xxxxxxxxx> Date: Mon Oct 26 10:28:42 2015 -0400 staging/rdma/hfi1: Increase SDMA descriptor queue size A value of 2048 increased PSM performance while not impacting verbs performance. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Reviewed-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Ignacio Hernandez <ignacio.hernandez@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee947859bf8a357a45176b238dc9f9db11eb4d4e Author: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Date: Mon Oct 26 10:28:41 2015 -0400 staging/rdma/hfi1: Allow tuning of SDMA interrupt rate The SDMA engines were configured to generate progress interrupts every time they processed N/2 descriptors (where N is the size of the descriptor queue). This interval was too infrequent, leading to degraded performance. This commit adds a module parameter, as well as a recommended default, which allows for the tuning of the interrupt frequency. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef12cb904e096335ef179bfe30e637a9c2464343 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 12:38:13 2015 +0100 s390/cio: move ccw_device_stlck functions device_ops.c should only contain functions that are called by ccw device drivers. Move the cio internal functions that handle unconditional reserve + release to device_pgid.c Acked-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8421d212e831cb03ba65bada57a733ad875286bf Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 12:35:06 2015 +0100 s390/cio: move ccw_device_call_handler device_ops.c should only contain functions that are called by ccw device drivers. Move the cio internal function ccw_device_call_handler to device_fsm.c where it's used. Remove some useless comments while at it. Acked-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 439eb131f796d8b2cf625d791b22b42962b9dd0d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Oct 15 13:40:55 2015 +0200 s390/topology: reduce per_cpu() invocations Each per_cpu() invocation generates extra code. Since there are a lot of similiar calls in the topology code we can avoid a lot of them. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 36324963a3006d2c416095d87d8272e4825c679b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 13:04:12 2015 +0200 s390/nmi: reduce size of percpu variable Change the flag fields within struct mcck_struct to simple bit fields to reduce the size of the structure which is used as percpu variable. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 975be635d929e3cfdae149d6de055f31a17c92d7 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 13:03:05 2015 +0200 s390/nmi: fix terminology According to the architecture registers are validated and not revalidated. So change comments and functions names to match. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit dc6e15556a9f21d640a62ae6de3cbfa68ec687a4 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 13:00:39 2015 +0200 s390/nmi: remove casts Remove all the casts to and from the machine check interruption code. This patch changes struct mci to a union, which contains an anonymous structure with the already known bits and in addition an unsigned long field, which contains the raw machine check interruption code. This allows to simply assign and decoce the interruption code value without the need for all those casts we had all the time. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3d68286a4304574c250ca3b0a5429d2901688f16 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 12:39:09 2015 +0200 s390/nmi: remove pointless error strings s390_handle_damage() has character string parameter which was used as a pointer to verbose error message. The hope was (a lot of years ago) when analyzing dumps that register R2 would still contain the pointer and therefore it would be rather easy to tell what went wrong. However gcc optimizes the strings away since a long time. And even if it wouldn't it is necessary to have a close look at the machine check interruption code to tell what's wrong. So remove the pointless error strings. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit f9e6edfb9cf780edfe0a649a85ed00032e787f69 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 12:28:28 2015 +0200 s390: don't store registers on disabled wait anymore The current disabled wait code stores register contents into their save areas, however it is (at least) missing the new vector registers. Given the fact that the whole exercise seems to be rather pointless simply don't save any registers anymore. In a "live" system it is always possible to inspect register contents, and in case of a dump the register contents will be stored by the dump mechanism. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ecbafda85371a3d85814aab8ff080a19e4d98b36 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 11:54:03 2015 +0200 s390: get rid of __set_psw_mask() With the removal of 31 bit code we can always assume that the epsw instruction is available. Therefore use the __extract_psw() function to disable and enable machine checks. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3c6c065a510ed59f7fddabac4be2f932ecfe9275 Author: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Date: Mon Oct 26 10:28:39 2015 -0400 staging/rdma/hfi1: Wrong cast breaks desired pointer arithmetic The address being mapped into a process's memory for notification events was improperly calculated due to cast that was happening too early. dd->events is a pointer and should have been casted to unsigned long after the pointer arithmetic was done, not before. As a result, processes were looking at the wrong place and not seeing their notification events. Signed-off-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9fb6318d0696b481b1e3cd8aa702141a59569c0 Author: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Date: Mon Oct 26 10:28:37 2015 -0400 staging/rdma/hfi1: Prevent silent data corruption with user SDMA User SDMA keeps track of progress into the submitted IO vectors by tracking an offset into the vectors when packets are submitted. This offset is updated after a successful submission of a txreq to the SDMA engine. The same offset was used when determining whether an IO vector should be 'freed' (pages unpinned) in the SDMA callback functions. This was causing a silent data corruption in big jobs (> 2 nodes, 120 ranks each) on the receive side because the send side was mistakenly unpinning the vector pages before the HW has processed all descriptors referencing the vector. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit febffe2c2846305c4c810b2900e70753180f9cda Author: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Date: Mon Oct 26 10:28:36 2015 -0400 staging/rdma/hfi1: Fix port bounce issues with 0.22 DC firmware The DC firmware overwrites the enable_lane_tx register and does not update it on a host request to go to Poll. This causes an infinite loop through the LNI state machine if a link width downgrade occurs. This patch re-sets the enable_lane_tx register to all 4 lanes. Reviewed-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b421922e66db43ffccb28a7df7c44263a917ba63 Author: Dean Luick <dean.luick@xxxxxxxxx> Date: Mon Oct 26 10:28:35 2015 -0400 staging/rdma/hfi1: Add a schedule in send thread When under heavy load, the send handler can run too long without allowing other tasks to run. Add a conditional resched to break this up. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c91b4a126a801e93c3b569775926699dc291b6c1 Author: Caz Yokoyama <caz.yokoyama@xxxxxxxxx> Date: Mon Oct 26 10:28:34 2015 -0400 staging/rdma/hfi1: Reset firmware instead of reloading Sbus Reset firmware instead of reloading Sbus firmware if it's already done for this ASIC. To work around thermal polling problem in firmware, don't reload Sbus firmware, instead, reset the firmware on the initialization of the second HFI. Reviewed-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Reviewed-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Caz Yokoyama <caz.yokoyama@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07839049db8e07c1a0ade9a102b2261cd50ac2c1 Author: Jareer Abdel-Qader <jareer.h.abdel-qader@xxxxxxxxx> Date: Mon Oct 26 10:28:33 2015 -0400 staging/rdma/hfi1: close shared context security hole Driver does not verify userid for shared context assignments, allowing malicious user access. Reviewed by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Jareer H Abdel-Qader <jareer.h.abdel-qader@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4d26d81ad7f599159511ca8d1a81b82dad474f6 Author: Niranjana Vishwanathapura <niranjana.vishwanathapura@xxxxxxxxx> Date: Mon Oct 26 10:28:32 2015 -0400 staging/rdma/hfi1: Add coalescing support for SDMA TX descriptors This fixes transmit errors when the number of scatter gather elements in the request is more that the number of per packet descriptors supported by the hardware, allocate and coalesce the extra scatter gather elements into a single buffer. The last descriptor is reserved and used for this coalesced buffer. Verbs potentially need this support when transferring small data chunks involving different memory regions. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Reviewed-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c2f85b8ce8acee0502d61fb53015eabd7d4c8fb Author: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Date: Mon Oct 26 10:28:31 2015 -0400 staging/rdma/hfi1: Remove QSFP_ENABLED from HFI capability mask The QSFP interface code has been running without issues and the flag is never set to off. This patch removes the QSFP_ENABLED bit from HFI1_CAP. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25d97dd5a33d79595d1859f01484e51264db8653 Author: Vennila Megavannan <vennila.megavannan@xxxxxxxxx> Date: Mon Oct 26 10:28:30 2015 -0400 staging/rdma/hfi1: Prevent host software lock up If packets stop egressing the hardware link, software can lock up. Implement a timeout for send context halt recovery. This patch increases the timeout for packet egress to 500 us and timer resets to zero if the packet occupancy changes. Also we bounce the link on time out. Reviewed-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Vennila Megavannan <vennila.megavannan@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc060245a234d7ab1228e25e584208bd9489594c Author: Dean Luick <dean.luick@xxxxxxxxx> Date: Mon Oct 26 10:28:29 2015 -0400 staging/rdma/hfi1: Extend the offline timeout The latest version of the 8051 firmware will wait longer when bringing the link down. Extend the driver's timeout to go with that. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c03ed85678cec9792430bdd728d3565e4cce9ae Author: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Date: Mon Oct 26 10:28:28 2015 -0400 staging/rdma/hfi1: Fix code to reset ASIC CSRs on FLR The ASIC registers were not reset on FLR, and the code to protect the ASIC block against multiple initializations by peer HFIs did not extend to multiple ASICs in a system. This patch addresses this gap. Reviewed-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13a69f5299688074666e1f74b90ddc6beae43e6d Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Mon Oct 26 10:28:27 2015 -0400 staging/rdma/hfi1: Fix regression in send performance The clear_ahg call is new in hfi1 vs qib. For small messages the progress routine always builds one and clears out the ahg state when the queue has gone to empty which is the predominant case for small messages. Inline the routine and avoid the call to sdma_ahg_free to mitigate the performance impact. Finally, move the routine to qp.h for scope reasons. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daac731ba815ef0669d99db5a6a176bac567e156 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 16:13:25 2015 +0530 staging: hfi1: sdma: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3faf606973159ed33b8d1c17ea1678431902727 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 16:13:24 2015 +0530 staging: hfi1: driver: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. <smpl> @timer@ expression e1,e2,e3,fn_ptr; @@ -init_timer(&e1); +setup_timer(&e1, fn_ptr, e2); ... when != fn_ptr = e3 -e1.function = fn_ptr; -e1.data = e2; </smpl> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af28398d316327ca2eff839ee1d8fa832a71bfb4 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:08 2015 +0200 staging: sm750fb: remove unused fields from struct sm750_dev The {x,y}LCD fields of struct sm750_dev are not used and can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 823e034c0f18d0571f44ce903dd47fa388706b61 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:07 2015 +0200 staging: sm750fb: remove '#ifdef CAP_EXP*' conditionals There are several occurencies of '#ifdef CAP_EXP<something>', spelled differently each time. None of these is ever defined and therefore they enclose dead code that can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e359b6a863e19f2eb5519b31658b4a9cc8812a05 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:06 2015 +0200 staging: sm750fb: merge lynx_share into sm750_dev Both struct lynx_share and struct sm750_dev reprsent some parts of the SM750 graphics adapter. There is no point to keep these parts in different structures. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ac97f19df35bf5ab663e096279478d4b8e20f6a Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:05 2015 +0200 staging: sm750fb: remove unused field in lynx_cursor The lynx_share field in lynx_cursor structure is never used and can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52e933278a09777b5c0631951a0a7edd49eb2abc Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:04 2015 +0200 staging: sm750fb: fix wrong indentation Fix wrong indentation of a line in lynxfb_set_fbinfo Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 083c2048f53b5373de0fc463d4ad0787b66c8167 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:03 2015 +0200 staging: sm750fb: use sm750_dev with pci_{get, set}_drvdata Use sm750_dev as private driver data for the PCI device Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fd92f51daa5748eebc2793b8da4af1bb4d37d23 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:02 2015 +0200 staging: sm750fb: use 'struct sm750_dev *' instead of 'void *' Use proper 'struct sm750_dev *' type instead of 'void *' Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 700591a9adc8b1b8978283fd988fcb85aa1c8993 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:01 2015 +0200 staging: sm750fb: replace lynx_share with sm750_dev in function calls Use sm750_dev rather than lynx_share as parameter for hw_sm750_map, hw_sm750_inithw and hw_sm750_initAccel functions. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 142de763c08e6ff1e4966b654654859ed7a5492c Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:00 2015 +0200 staging: sm750fb: remove hw_sm750_getVMSize function The hw_sm750_getVMSize wraps ddk750_getVMSize without any added functionality. Call ddk750_getVMSize directly and remove hw_sm750_getVMSize. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f11fa2a972719520680f50352787618774dc0a9c Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:59 2015 +0200 staging: sm750fb: replace lynx_share with sm750_dev in lynxfb_par Use sm750_dev instead of lynx_share in the private data of the frambuffer device. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c96341916d3452e51f3c7d8460db4ecd344f8718 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:58 2015 +0200 staging: sm750fb: remove unused PROC_SPEC_* typedefs The PROC_SPEC* typedefs are not used and can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1757d106a9ce8cc299ffbc3cb87711ab72f95af6 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:57 2015 +0200 staging: sm750fb: merge struct sm750_state into struct sm750_dev The struct sm750_state is never used on its own. Merge it into the struct sm750_dev. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ef2f688578c5de8231ae325f5dff8cfe970d2da Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:56 2015 +0200 staging: sm750fb: rename 'struct sm750_dev' variables to sm750_dev Use consistent naming for 'struct sm750_dev' variables Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc3d48f33e0a0b9f1a28d3ab06d4adc788726a9b Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:55 2015 +0200 staging: sm750fb: rename struct sm750_share to sm750_dev The struct sm750_share represents the device state and name sm750_dev seems more appropriate. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05407e153fce1e548fe34086057960da3d5adb53 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:54 2015 +0200 staging: sm750fb: merge sm750_hw.h into sm750.h There is no actual need to split type definitions and global function declarations between lots of small headers. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 492bcecfd8faa5e83f76422c85f08d7efcfe925b Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:53 2015 +0200 staging: sm750fb: remove unused smi_indent variable The smi_indent variable is only declared, but never used. Remove it. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3a3f9f5123683bc87ce70189c9912a15b76b91b Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:52 2015 +0200 staging: sm750fb: replace PADDING macro with ALIGN The custom macro PADDING differs from standard kernel ALIGN only in parameters order. Replace PADDING with ALIGN and remove it's definition. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6732071c259f79623219126c6e40f7c13a551287 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:51 2015 +0200 staging: sm750fb: remove unused SPC_SM750 define The SPC_SM750 define is not used and can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb7f40559e292325e7b69e83a161f4e121a38cbe Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:50 2015 +0200 staging: sm750fb: replace lynx_cursor methods with function calls The methods in lynx_cursor always use the same implementation and there is no point to use redirection rather than direct function call. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe821aad9c470beec5952159b3b84b87eea52eeb Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 11:44:16 2015 -0700 staging: r8723au: remove unneeded forward function declarations Remove unneeded forward function declarations. Addresses checkpatch.pl: WARNING: externs should be avoided in .c files Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e4427f46bcdaa11a4a25fc3f71e342097cc18a8 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 11:43:09 2015 -0700 staging: r8723au: move function type in line with function name Move function types to be adjacent to the function names in declarations to improve readability. Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e3144c1d6931864440e8c24023b75c9d2f485bd Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 11:42:01 2015 -0700 staging: r8723au: insert correct spacing around operands Adds required spacing around operands to improve readability. Corrects checkpatch.pl ERROR: spaces required * Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 159b023da8067786fa1b77e25faf61d586df2fdc Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 11:36:56 2015 -0700 staging: r8723au: use kernel preferred style for commenting Reworked comments per kernel coding style to improve readability. Corrects checkpatch.pl: WARNING: Block comments use * on subsequent lines WARNING: line over 80 characters Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f79dc1679aff988297e020759c413f014a770aa9 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Mon Oct 26 23:27:20 2015 +0530 staging: rtl8188eu: Remove unnecessary variables Remove unnecessary variable that can be replaced with a single line of code. The semantic patch used to find this is: // <smpl> @@ expression ret; @@ - if (ret) return ret; - return 0; + return ret; @@ local idexpression ret; expression e; @@ - ret = e; - return ret; + return e; @@ type T; identifier i; expression E; @@ - T i = E; ... when != i @@ type T; identifier i; @@ - T i; ... when != i // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d743db9f053f8d95f0cbd2470aea39d225ac4f9e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 27 12:33:25 2015 +0530 staging: rtl8712: rtl871x_mp: Remove unused function Drop unused function that is defined but is not called anywhere. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b85f3d4e58379e523b06d9725f26f0a0566a1727 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Mon Oct 26 23:25:59 2015 +0530 staging: rtl8712: Remove unnecessary variables Remove unnecessary variables that can be replaced with a single line of code. The semantic patch used to find this is: // <smpl> @@ expression ret; @@ - if (ret) return ret; - return 0; + return ret; @@ local idexpression ret; expression e; @@ - ret = e; - return ret; + return e; @@ type T; identifier i; expression E; @@ - T i = E; ... when != i @@ type T; identifier i; @@ - T i; ... when != i // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0d97eb5c0c889fc68eb97885d488c3842e296da Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 27 12:05:10 2015 +0530 Staging: lustre: lprocfs_status: Remove unused declaration Remove declaration of function lprocfs_wr_timeouts from header file since it is not used Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15ae37aa587c3f01a63ed990cc63a4a49943617a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 27 12:05:09 2015 +0530 Staging: lustre: lustre_log: Remove unused functions Remove the functions which are defined but not used anywhere Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92fdd777976e3f868351a905ac6047dfb99875bb Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Tue Oct 27 00:43:45 2015 +0800 Staging: mt29f_spinand: Indent to match open parenthesis Fix alignment issues by properly indenting function parameters in accordance to the kernel coding style. Checkpatch pointed out this issue. CHECK: Alignment should match open parenthesis Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcfe55b4afa396340f9a3bb70b56f9b8b5b49e51 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 24 22:51:00 2015 +0530 staging: rtl8192u: ieee80211: Do not export static function Remove the export symbol for static function. The semantic patch used to find this is: // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01afde858797f1bef08b77b06555945b532d1140 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:32 2015 -0700 staging: media: omap4iss: Fixes line break This patch fixes the checkpatch issue: CHECK: Logical continuations should be on the previous line Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9e50a06eb1303445f38dc4a7e83b6093082200e Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:31 2015 -0700 staging: media: omap4iss: Matches alignment with open parenthesis This patch fixes some of the checkpatch issue: CHECK: Alignment should match open parenthesis Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13613700590b37cf1c67b453368d094cb2b050de Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:30 2015 -0700 staging: media: omap4iss: Removes unnecessary blank lines This patch fixes checkpatch issues: CHECK: Blank lines aren't necessary before a close brace '}' CHECK: Please don't use multiple blank lines Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 422de35a179fa7f648505479e85c79b170fed7a2 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:29 2015 -0700 staging: media: omap4iss: Replaces bit shift on 1 with BIT Macro This patch fixes some of the checkpatch issue: CHECK: Prefer using the BIT macro Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 107c59e00c621611ed22310bf35fd75c7b382092 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:28 2015 -0700 staging: media: omap4iss: Fixes misspelling This patch fixes the checkpatch issue: CHECK: 'splitted' may be misspelled - perhaps 'split'? Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9058fc9262057c8f6c17b122b69217cdb4fc4643 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:27 2015 -0700 staging: media: omap4iss: Fixes NULL comparison This patch fixes the checkpatch issue: CHECK: Comparison to NULL could be written Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a09ad8c7a3285b99b7d976deadbd62ed1ac4c90e Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Mon Oct 26 12:00:04 2015 +0300 staging: vt6656: Do not use multiple blank lines. Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines" Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd49ebb6dd947d7e647229c5df1e969f10d7bc72 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Mon Oct 26 12:00:03 2015 +0300 staging: vt6656: Add space around '|' Add space around operator '|'. Problem found using checkpatch.pl CHECK: spaces preferred around that '|' (ctx:VxV) Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f8e7f17f6f5472d8029c22b1b8d3f9a4b1c8dff Author: Vinayak Kale <vinayak.kale@xxxxxxxxxxx> Date: Tue Oct 27 13:11:46 2015 +0530 libata: enable LBA flag in taskfile for ata_scsi_pass_thru() Enable LBA in taskfile flags for ata_scsi_pass_thru() Signed-off-by: Vinayak Kale <vinayak.kale@xxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6ed1131fe196ad7ffc13acc1a1eadc08a1db0303 Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Mon Oct 26 15:37:39 2015 +0800 ALSA: hda/realtek - Dell XPS one ALC3260 speaker no sound after resume back This machine had I2S codec for speaker output. It need to refill the I2S codec initial verb after resume back. Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Reported-and-tested-by: George Gugulea <gugulea@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ee7fb331c3ac642b6bf8b9dc6f23a6a2e389d717 Author: Vinayak Kale <vinayak.kale@xxxxxxxxxxx> Date: Tue Oct 27 11:19:15 2015 +0530 libata: add support for NCQ commands for SG interface This patch is needed to make NCQ commands with FPDMA protocol value (eg READ/WRITE FPDMA) work over SCSI Generic (SG) interface. Signed-off-by: Vinayak Kale <vinayak.kale@xxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 174fd8d369613c4e06660f3704caaba48dac8554 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 22 09:27:12 2015 +0900 blkcg: fix incorrect read/write sync/async stat accounting While unifying how blkcg stats are collected, 77ea733884eb ("blkcg: move io_service_bytes and io_serviced stats into blkcg_gq") incorrectly used bio->flags instead of bio->rw to tell the IO type. This made IOs to be accounted as the wrong type. Fix it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: 77ea733884eb ("blkcg: move io_service_bytes and io_serviced stats into blkcg_gq") Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d6a32b98099fb6b257e9b4f7b3febb5aae6f7408 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 8 09:25:32 2015 +0100 scsi_dh: don't try to load a device handler during async probing Request_module gets really unhappy when called from async probing, so revert to not auto load device handler modules during the SCSI bus scan. While autoloading would be really useful we never did this until 4.3-rc and it turns out that functionality doesn't actually work. Fixes: 566079 ("dm-mpath, scsi_dh: request scsi_dh modules in scsi_dh, not dm-mpath") Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reported-by: Paul Mackerras <paulus@xxxxxxxxxx> Tested-by: Paul Mackerras <paulus@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 94f9cd81436c85d8c3a318ba92e236ede73752fc Author: Munehisa Kamata <kamatam@xxxxxxxxxx> Date: Mon Oct 26 19:10:52 2015 -0700 netfilter: nf_nat_redirect: add missing NULL pointer check Commit 8b13eddfdf04cbfa561725cfc42d6868fe896f56 ("netfilter: refactor NAT redirect IPv4 to use it from nf_tables") has introduced a trivial logic change which can result in the following crash. BUG: unable to handle kernel NULL pointer dereference at 0000000000000030 IP: [<ffffffffa033002d>] nf_nat_redirect_ipv4+0x2d/0xa0 [nf_nat_redirect] PGD 3ba662067 PUD 3ba661067 PMD 0 Oops: 0000 [#1] SMP Modules linked in: ipv6(E) xt_REDIRECT(E) nf_nat_redirect(E) xt_tcpudp(E) iptable_nat(E) nf_conntrack_ipv4(E) nf_defrag_ipv4(E) nf_nat_ipv4(E) nf_nat(E) nf_conntrack(E) ip_tables(E) x_tables(E) binfmt_misc(E) xfs(E) libcrc32c(E) evbug(E) evdev(E) psmouse(E) i2c_piix4(E) i2c_core(E) acpi_cpufreq(E) button(E) ext4(E) crc16(E) jbd2(E) mbcache(E) dm_mirror(E) dm_region_hash(E) dm_log(E) dm_mod(E) CPU: 0 PID: 2536 Comm: ip Tainted: G E 4.1.7-15.23.amzn1.x86_64 #1 Hardware name: Xen HVM domU, BIOS 4.2.amazon 05/06/2015 task: ffff8800eb438000 ti: ffff8803ba664000 task.ti: ffff8803ba664000 [...] Call Trace: <IRQ> [<ffffffffa0334065>] redirect_tg4+0x15/0x20 [xt_REDIRECT] [<ffffffffa02e2e99>] ipt_do_table+0x2b9/0x5e1 [ip_tables] [<ffffffffa0328045>] iptable_nat_do_chain+0x25/0x30 [iptable_nat] [<ffffffffa031777d>] nf_nat_ipv4_fn+0x13d/0x1f0 [nf_nat_ipv4] [<ffffffffa0328020>] ? iptable_nat_ipv4_fn+0x20/0x20 [iptable_nat] [<ffffffffa031785e>] nf_nat_ipv4_in+0x2e/0x90 [nf_nat_ipv4] [<ffffffffa03280a5>] iptable_nat_ipv4_in+0x15/0x20 [iptable_nat] [<ffffffff81449137>] nf_iterate+0x57/0x80 [<ffffffff814491f7>] nf_hook_slow+0x97/0x100 [<ffffffff814504d4>] ip_rcv+0x314/0x400 unsigned int nf_nat_redirect_ipv4(struct sk_buff *skb, ... { ... rcu_read_lock(); indev = __in_dev_get_rcu(skb->dev); if (indev != NULL) { ifa = indev->ifa_list; newdst = ifa->ifa_local; <--- } rcu_read_unlock(); ... } Before the commit, 'ifa' had been always checked before access. After the commit, however, it could be accessed even if it's NULL. Interestingly, this was once fixed in 2003. http://marc.info/?l=netfilter-devel&m=106668497403047&w=2 In addition to the original one, we have seen the crash when packets that need to be redirected somehow arrive on an interface which hasn't been yet fully configured. This change just reverts the logic to the old behavior to avoid the crash. Fixes: 8b13eddfdf04 ("netfilter: refactor NAT redirect IPv4 to use it from nf_tables") Signed-off-by: Munehisa Kamata <kamatam@xxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4b60c887d4896f0ea1bfed5b5e2ff5fdc6aed046 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 13:50:29 2015 -0700 staging: iio: dummy: replace block comment with single line comment Replace one block comment with a single line comment. Follow style of previous comment and omit word channel, since it's clear the topic is channels. Addresses checkpatch.pl: WARNING: Block comments use * on subsequent lines Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8087abc456d84a4688b789719fb50d2b344a17a Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 13:48:23 2015 -0700 staging: iio: dummy: use uppercase descriptors for enum names Replace lower case names in the enum dummy_scan_elements with uppercase names and a descriptive prefix: DUMMY_INDEX_ Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31a99443a53aa65cdaaaaa3bcd5ed685eec87419 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sun Oct 25 23:31:41 2015 +0200 staging: iio: adis16060_core: Fix error handling We need to check adis16060_spi_read return code to avoid feeding user space with bogus data. While, at it introduce out_unlock label in order to simplify locking on error path. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c58f0eb9cd48c8b3426df1b073da796623c2b45 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sun Oct 25 22:49:42 2015 +0200 staging: iio: Remove unused variable Remove variable that is initialized but not used. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df2f4c4e4b79d7128431bbc89172d4eacd64d6b2 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Sun Oct 25 15:23:50 2015 +0200 staging: nvec: Do not use multiple blank lines. Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines". Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f773a8347962e1aecac8aa32ca54b3fcff941b79 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Sun Oct 25 07:48:57 2015 -0700 staging: slicoss: Fixes block comment style This patch fixes the checkpatch.pl warnings: WARNING: Block comments use * on subsequent lines WARNING: Block comments use a trailing */ on a separate line Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d45ffcd648971ab11b14120e43723757b17a137 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Sun Oct 25 07:48:56 2015 -0700 staging: slicoss: Adds space around operators This patch fixes the checkpatch.pl check: CHECK: spaces preferred around that â??â?? Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8610cbc57427c9e1fd64552dda801549514721f1 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Sun Oct 25 07:48:55 2015 -0700 staging: slicoss: Removes unnecessary space after a cast This patch fixes the checkpatch.pl check: CHECK: No space is necessary after a cast Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfe459398f8098e819ba993782b2c63ef4c339cf Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Sun Oct 25 07:48:54 2015 -0700 staging: slicoss: Removes multiple blank lines This patch fixes the checkpatch.pl check: CHECK: Please don't use multiple blank lines Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c7b67f9065d0b83e8501318003551e63c6b48b4 Author: Lijun Pan <Lijun.Pan@xxxxxxxxxxxxx> Date: Sun Oct 25 17:41:19 2015 -0500 staging: fsl-mc: section mismatch bug fix WARNING: drivers/staging/built-in.o(.init.text+0xdc): Section mismatch in reference from the function fsl_mc_bus_driver_init() to the function .exit.text:dprc_driver_exit() The function __init fsl_mc_bus_driver_init() references a function __exit dprc_driver_exit(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __exit annotation of dprc_driver_exit() so it may be used outside an exit section. Signed-off-by: Lijun Pan <Lijun.Pan@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a15b2225dd504d6fb5eb4b5a1b29b71cdc9b1f06 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Mon Oct 26 08:05:57 2015 -0700 Staging: lustre: Replace LPROCFS_CLIMP_CHECK with lprocfs_climp_check Static inline functions are preferred over macros. The function is placed in obd_class.h instead lprocfs_status.h because obd_class.h includes header obd.h which contains definition of struct obd_device and in that way avoids build error: Dereferencing pointer to incomplete type. Also remove macro LPROCFS_CLIMP_CHECK since it's no longer used. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d816fb6cd4fa52f3efab89802dfa9d3e8371d77 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Mon Oct 26 22:37:26 2015 +0530 staging: lustre: ptlrpc: Replace seq_printf() with seq_putc() Replace seq_printf() with seq_putc() since it is more expensive than seq_putc(). Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70003e65208539658cdcb90c978e10b010a477a8 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 27 00:30:08 2015 +0200 staging: lustre: Replace sscanf with kstrtoint Replace single variable sscanf with specialized function kstrtoint at the suggestion of checkpatch.pl, to fix 'WARNING: Prefer kstrto<type> to single variable sscanf' Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 242b532500374129c45e4c0a69a20c1ab3b8bb78 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 10:06:30 2015 +0200 staging: lustre: remove unused OBD_PAGE_ALLOC/FREE and friends The OBD_PAGE_ALLOC/FREE and related macros are not used and can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c52e4232f292667e1ebb16c4dfd46975d8d48d1 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 10:06:29 2015 +0200 staging: lustre: get rid of OBD_PAGE_ALLOC/FREE Use alloc_page and __free_page instead Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a96be0d46825689ac9b6078056e523ba96acec4 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sun Oct 25 23:16:31 2015 +0200 staging: lustre: Don't ignore error code Error stored in rc was never reported, so directly return it here. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81b9c1abc0fd955d636334615055691f15a1a125 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 25 05:56:55 2015 +0530 Staging: lustre: Remove unused obd_cache.h file Remove the header file obd_cache.h since it is not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e47e22203c9235d669d4918df97e54af2ec7b83 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 25 05:49:42 2015 +0530 Staging: lustre: ptlrpc: Remove EXPORT_SYMBOL for sptlrpc_rule_set_expand Since sptlrpc_rule_set_expand is static, export symbol is not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5860be3f7007862b0bed1df6f1d5d2937fde4a93 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 24 22:49:50 2015 +0530 staging: lustre: ldlm: Do not export static function Remove the export symbol for static function. The semantic patch used to find this is: // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92d354cbe95fcaa0e5f795ad7706bc8393915c57 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 23 10:56:09 2015 +0100 staging: comedi: fix extreme case of comedi_nsamples_left() `comedi_nsamples_left(s, nsamples)` returns the number of samples remaining to complete an asynchronous command or the passed in `nsamples`, whichever is lower. However, it goes wrong in the extreme case of setting the `nsamples` parameter to `UINT_MAX` when the number of conversions per "scan" (`s->async->cmd.scan_end_arg`) is 1. It uses `comedi_nscans_remaining(s, nscans)` to determine the number of scans remaining, or the parameter `nscans`, whichever is lower. To determine the parameter `nscans`, it divides `nsamples` by the number of conversions per scan and adds 1. The addition of 1 is to avoid setting the parameter `nscans` to 0, as `comedi_nscans_remaining(s, nscans)` treats that value specially. However in the extreme case where `nsamples` is `UINT_MAX` and the number of samples per scan is 1, the addition of 1 to `nscans` overflows, producing the unwanted 0. Fix it by refactoring new a function `__comedi_nscans_remaining(s, nscans)` out of `comedi_nscans_remaining(s, nscans)`. The new function does everything except the special handling when `nscans` is 0. Change `comedi_nsamples_remaining()` to call the new function without adding 1 to `nscans` to avoid the overflow. This overflow bug doesn't affect any of the current COMEDI drivers. I stumbled across it while changing to one of the drivers. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5c4e4e9d1b31e307d855d3cacbb6f3381ef6140 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 26 20:21:26 2015 +0530 Staging: wilc1000: coreconfigurator: Remove unnecessary parentheses Parentheses around some arguments and expressions are not required and should be removed. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a66907d10076a48d70adde1a78e46a8aa0c0857c Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 26 20:21:05 2015 +0530 Staging: wilc1000: coreconfigurator: Remove irrelevant wrapper function Remove the function get_current_channel() and replace its calls by get_current_channel_802_11n() as the former function's definition involves only returning the value of latter function. Semantic patch used to find out the issue: @@ identifier f,g; @@ *f(...) { return g(...); } Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4622f68db8095dd54179e3134e97812727f6b89 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 26 20:16:32 2015 +0530 Staging: wilc1000: coreconfigurator: Drop unneeded wrapper functions Replace the wrapper functions get_address1(), get_address2() and get_address3() with the standard kernel function ether_addr_copy(). Semantic patch used to identify the issue: @@ identifier f,g; @@ *f(...) { g(...); } Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9081987d4f1acc2af9f578e6ca8b10748b438be6 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 26 05:52:50 2015 +0000 staging: wilc1000: return -ENOMEM when kmalloc failed The driver is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Fixes smatch warning and similars: drivers/staging/wilc1000/host_interface.c:1757 Handle_Key() warn: returning -1 instead of -ENOMEM is sloppy Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df8b4830a0ac547a18cdf701ca9a04b4c4f3b05b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 26 09:44:45 2015 +0900 staging: wilc1000: rename host_int_set_WEPDefaultKeyID This patch replaces host_int_set_WEPDefaultKeyID with host_int_set_wep_default_key to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e91d03497e0359493ca25f9202e8ae61977b11a7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 26 09:44:44 2015 +0900 staging: wilc1000: rename u8Index in host_int_set_WEPDefaultKeyID This patch changes second parameter of host_int_set_WEPDefaultKeyID from u8Index to index to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 707ea47a45f2b02152b09cd99a5e91fdc576517f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 26 09:44:43 2015 +0900 staging: wilc1000: fix parameter name of function declaration This patch changes struct host_if_drv of host_int_set_WEPDefaultKeyID function declaration from hWFIDrv to hif_drv in host_interface.h With this change, first parameter name of this function declaration and definition has same name as hif_drv. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b41c7c9762a9923c784b2b92c4abd2f2ac45bfa Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 26 09:44:42 2015 +0900 staging: wilc1000: fix return type of host_int_set_WEPDefaultKeyID This patch changes return type of host_int_set_WEPDefaultKeyID from s32 to int. The result variable gets return value from wilc_mq_send that has return type of int. It should be changed return type int as well as data type of result variable. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8941faa161b526199e55ca7764cf875383453612 Author: emmanuel.grumbach@xxxxxxxxx <emmanuel.grumbach@xxxxxxxxx> Date: Mon Oct 26 10:31:29 2015 +0200 net: tso: add support for IPv6 Adding IPv6 for the TSO helper API is trivial: * Don't play with the id (which doesn't exist in IPv6) * Correctly update the payload_len (don't include the length of the IP header itself) Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2be7010cad9ed7a3b67a84c274db1e7bc70e0556 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Mon Oct 26 01:13:49 2015 +0200 mei: Fix debugfs filename in error output Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e994412c5f19402a834f4b0d95e9159d1c7b0fb8 Author: Hou Zhiqiang <B48286@xxxxxxxxxxxxx> Date: Fri Oct 23 16:01:21 2015 +0800 clk: qoriq: Add ls1043a support. Signed-off-by: Hou Zhiqiang <B48286@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 61b9da925a5e985afc268eb8184f1af3ef542422 Merge: 4b3418f 59fbcbc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 26 22:16:02 2015 -0700 Merge tag 'arcnet-for-4.4-rc1' of git://git.pengutronix.de/git/mgr/linux Michael Grzeschik says: ==================== This series includes code simplifaction. The main changes are the correct xceiver handling (enable/disable) of the com20020 cards. The driver now handles link status change detection. The EAE PCI-ARCNET cards now make use of the rotary encoded subdevice indexing and got support for led triggers on transmit and reconnection events. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fe012964a39ead19405ba8d65f50d4fd598f5b8 Merge: 7e3b6e7 26b7974 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 26 22:08:22 2015 -0700 Merge branch 'net_of_node_put' Julia Lawall says: ==================== add missing of_node_put The various for_each device_node iterators performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The complete semantic patch that fixes this problem is (http://coccinelle.lip6.fr): // <smpl> @r@ local idexpression n; expression e1,e2; iterator name for_each_node_by_name, for_each_node_by_type, for_each_compatible_node, for_each_matching_node, for_each_matching_node_and_match, for_each_child_of_node, for_each_available_child_of_node, for_each_node_with_property; iterator i; statement S; expression list [n1] es; @@ ( ( for_each_node_by_name(n,e1) S | for_each_node_by_type(n,e1) S | for_each_compatible_node(n,e1,e2) S | for_each_matching_node(n,e1) S | for_each_matching_node_and_match(n,e1,e2) S | for_each_child_of_node(e1,n) S | for_each_available_child_of_node(e1,n) S | for_each_node_with_property(n,e1) S ) & i(es,n,...) S ) @@ local idexpression r.n; iterator r.i; expression e; expression list [r.n1] es; @@ i(es,n,...) { ... ( of_node_put(n); | e = n | return n; | + of_node_put(n); ? return ...; ) ... } @@ local idexpression r.n; iterator r.i; expression e; expression list [r.n1] es; @@ i(es,n,...) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n @@ local idexpression r.n; iterator r.i; expression e; identifier l; expression list [r.n1] es; @@ i(es,n,...) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? goto l; ) ... } ... l: ... when != n// </smpl> ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26b7974d9ad7f93891ee8c39ee63bd2515da7744 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:07 2015 +0100 net: mv643xx_eth: add missing of_node_put for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_available_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81a577034b000964ca791281a975f0ba9a9d7eed Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:06 2015 +0100 ath6kl: add missing of_node_put for_each_compatible_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression e; local idexpression n; @@ for_each_compatible_node(n,...) { ... when != of_node_put(n) when != e = n ( return n; | + of_node_put(n); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 028623418766ea64f4256035b06ac6cbc0a67892 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:03 2015 +0100 net: phy: mdio: add missing of_node_put for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_available_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 447ed7360037b6e38c0206ddcbd04a256ec94099 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:02 2015 +0100 netdev/phy: add missing of_node_put for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression r.n; expression r,e; @@ for_each_available_child_of_node(r,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd252796852193277a07da505601a2f407c70e0b Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:01 2015 +0100 net: netcp: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression r.n; expression r,e; @@ for_each_child_of_node(r,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c387ebbaff8652943a1cbcab496aecadc6a8875 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:00 2015 +0100 net: thunderx: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression r.n; expression r,e; @@ for_each_child_of_node(r,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e3b6e7423d5f994257c1de88e06b509673fdbcf Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Oct 24 05:47:44 2015 -0700 ipv6: gre: support SIT encapsulation gre_gso_segment() chokes if SIT frames were aggregated by GRO engine. Fixes: 61c1db7fae21e ("ipv6: sit: add GSO/TSO support") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c501cdd6823a644cf35ac594c635310bf077125 Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Mon Oct 26 16:17:14 2015 +0000 Bluetooth: Fix crash on fast disconnect of SCO Fix a crash that may happen when a connection is closed before it was fully established. Mapping conn->hcon was released by shutdown function, but it is still referenced in (not yet finished) connection established handling function. [ 4635.254073] BUG: unable to handle kernel NULL pointer dereference at 00000013 [ 4635.262058] IP: [<c11659f0>] memcmp+0xe/0x25 [ 4635.266835] *pdpt = 0000000024190001 *pde = 0000000000000000 [ 4635.273261] Oops: 0000 [#1] PREEMPT SMP [ 4635.277652] Modules linked in: evdev ecb vfat fat libcomposite usb2380 isofs zlib_inflate rfcomm(O) udc_core bnep(O) btusb(O) btbcm(O) btintel(O) bluetooth(O) cdc_acm arc4 uinput hid_mule [ 4635.321761] Pid: 363, comm: kworker/u:2H Tainted: G O 3.8.0-119.1-plk-adaptation-byt-ivi-brd #1 [ 4635.332642] EIP: 0060:[<c11659f0>] EFLAGS: 00010206 CPU: 0 [ 4635.338767] EIP is at memcmp+0xe/0x25 [ 4635.342852] EAX: e4720678 EBX: 00000000 ECX: 00000006 EDX: 00000013 [ 4635.349849] ESI: 00000000 EDI: fb85366c EBP: e40c7dc0 ESP: e40c7db4 [ 4635.356846] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 4635.362873] CR0: 8005003b CR2: 00000013 CR3: 24191000 CR4: 001007f0 [ 4635.369869] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 4635.376865] DR6: ffff0ff0 DR7: 00000400 [ 4635.381143] Process kworker/u:2H (pid: 363, ti=e40c6000 task=e40c5510 task.ti=e40c6000) [ 4635.390080] Stack: [ 4635.392319] e4720400 00000000 fb85366c e40c7df4 fb842285 e40c7de2 fb853200 00000013 [ 4635.401003] e3f101c4 e4720678 e3f101c0 e403be0a e40c7dfc e416a000 e403be0a fb85366c [ 4635.409692] e40c7e1c fb820186 020f6c00 e47c49ac e47c4008 00000000 e416a000 e47c402c [ 4635.418380] Call Trace: [ 4635.421153] [<fb842285>] sco_connect_cfm+0xff/0x236 [bluetooth] [ 4635.427893] [<fb820186>] hci_sync_conn_complete_evt.clone.101+0x227/0x268 [bluetooth] [ 4635.436758] [<fb82370f>] hci_event_packet+0x1caa/0x21d3 [bluetooth] [ 4635.443859] [<c106231f>] ? trace_hardirqs_on+0xb/0xd [ 4635.449502] [<c1375b8a>] ? _raw_spin_unlock_irqrestore+0x42/0x59 [ 4635.456340] [<fb814b67>] hci_rx_work+0xb9/0x350 [bluetooth] [ 4635.462663] [<c1039f1e>] ? process_one_work+0x17b/0x2e6 [ 4635.468596] [<c1039f77>] process_one_work+0x1d4/0x2e6 [ 4635.474333] [<c1039f1e>] ? process_one_work+0x17b/0x2e6 [ 4635.480294] [<fb814aae>] ? hci_cmd_work+0xda/0xda [bluetooth] [ 4635.486810] [<c103a3fa>] worker_thread+0x171/0x20f [ 4635.492257] [<c10456c5>] ? complete+0x34/0x3e [ 4635.497219] [<c103ea06>] kthread+0x90/0x95 [ 4635.501888] [<c103a289>] ? manage_workers+0x1df/0x1df [ 4635.507628] [<c1376537>] ret_from_kernel_thread+0x1b/0x28 [ 4635.513755] [<c103e976>] ? __init_kthread_worker+0x42/0x42 [ 4635.519975] Code: 74 0d 3c 79 74 04 3c 59 75 0c c6 02 01 eb 03 c6 02 00 31 c0 eb 05 b8 ea ff ff ff 5d c3 55 89 e5 57 56 53 31 db eb 0e 0f b6 34 18 <0f> b6 3c 1a 43 29 fe 75 07 49 85 c9 7f [ 4635.541264] EIP: [<c11659f0>] memcmp+0xe/0x25 SS:ESP 0068:e40c7db4 [ 4635.548166] CR2: 0000000000000013 [ 4635.552177] ---[ end trace e05ce9b8ce6182f6 ]--- Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4b3418fba0fe819197e3359d5ddbef84ba2c59de Author: Bjørn Mork <bjorn@xxxxxxx> Date: Sat Oct 24 14:00:20 2015 +0200 ipv6: icmp: include addresses in debug messages Messages like "icmp6_send: no reply to icmp error" are close to useless. Adding source and destination addresses to provide some more clue. Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1075ef5950da97927ae1b3ef76d03e211c4fdb55 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Oct 23 14:58:19 2015 -0700 bpf: make tracing helpers gpl only exported perf symbols are GPL only, mark eBPF helper functions used in tracing as GPL only as well. Suggested-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62544ce8e01c1879d420ba309f7f319d24c0f4e6 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Oct 22 17:10:14 2015 -0700 bpf: fix bpf_perf_event_read() helper Fix safety checks for bpf_perf_event_read(): - only non-inherited events can be added to perf_event_array map (do this check statically at map insertion time) - dynamically check that event is local and !pmu->count Otherwise buggy bpf program can cause kernel splat. Also fix error path after perf_event_attrs() and remove redundant 'extern'. Fixes: 35578d798400 ("bpf: Implement function bpf_perf_event_read() that get the selected hardware PMU conuter") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37457607ecaffe56718a0e423548edeb3d4a11b7 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Oct 26 16:09:44 2015 +0800 spi: mediatek: mt8173 spi multiple devices support mt8173 IC spi HW has 4 gpio group, it's possible to support max <= 4 slave devices, even mtk spi HW is not congruent to spi core. 1. When a device do a spi_message transfer, spi HW should know which pad-group this device is on, and then writes pad-select register. 2. Mtk pad-select register just selects which MISO pin HW will receive data. For example, pad-select=1(select spi1 pins), HW just receives data from spi1 MISO, but it still send waveform to all 4 group cs/clk/mosi. If cs pin in other groups is still spi mode, after spi1 is selected(by active cs pin), devices on other group will also be selected. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 58a984c79a68d508ccfccf4b82c0eaf7f487c399 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Oct 26 16:09:43 2015 +0800 spi: mediatek: handle controller_data in mtk_spi_setup controller_data is related with device, so move to master->setup function. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 79b5d3f24dcec547ea5db7d2e0b557a36f92b16b Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Oct 26 16:09:41 2015 +0800 spi: mediatek: remove mtk_spi_config mtk_spi_config() and mtk_spi_prepare_message() both initialize spi register, so remove mtk_spi_config() and init all register in mtk_spi_prepare_message(). Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eca3a1ee8dd7ec5819bd77d598044eb6ecdf4495 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Oct 26 16:09:41 2015 +0800 spi: mediatek: Update document devicetree bindings to support multiple devices This patch updates document devicetree bindings to support multiple devices. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d8e018c0b3211902af1bfb5d5b280f955a4633b7 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:45 2015 +0100 NFC: nfcmrvl: update device tree bindings for Marvell NFC Align NFC bindgins to use marvell instead of mrvl. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit caf6e49bf6d02e6bb94df680bbe3beaf680fdefa Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:44 2015 +0100 NFC: nfcmrvl: add spi driver This driver adds the support of SPI-based Marvell NFC controller. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2bd832459a0827b8dcf13b345380b66f92089d74 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:43 2015 +0100 NFC: NCI: allow spi driver to choose transfer clock In some cases low level drivers might want to update the SPI transfer clock (e.g. during firmware download). This patch adds this support. Without any modification the driver will use the default SPI clock (from pdata or device tree). Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fcd9d046fd8998cc984f2ff80e76f246ebca15b6 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:42 2015 +0100 NFC: NCI: move generic spi driver to a module SPI driver should be a module. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b5b3e23e4cace008e1a30e8614a484d14dfd07a1 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:41 2015 +0100 NFC: nfcmrvl: add i2c driver This driver adds the support of I2C-based Marvell NFC controller. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 58d34aa677ec248539262c54a618d61804a893f1 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:40 2015 +0100 NFC: nfcmrvl: configure head/tail room values per low level drivers Low-level drivers may need to add some data before and/or after NCI packet. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3194c6870158e305dac2af52f83681e9cb67280f Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:39 2015 +0100 NFC: nfcmrvl: add firmware download support Implement firmware download protocol for Marvell NFC controllers. This protocol is based on NCI frames that's why parts of its implementation use some NCI generic functions. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit e5629d29470134af1954d2bbe45c4f2b73f68ee9 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:38 2015 +0100 NFC: NCI: export nci_send_frame and nci_send_cmd function Export nci_send_frame and nci_send_cmd symbols to allow drivers to use it. This is needed for example if NCI is used during firmware download phase. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fb101c0e9cc635b811b413b26a6690240c303f54 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:37 2015 +0100 NFC: nfcmrvl: remove unneeded version defines Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 15d17170b4e44c5768c3d32b093cd393c4dbc158 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Oct 26 07:50:11 2015 +0100 NFC: st21nfca: Add support for proprietary commands Add support for proprietary commands useful mainly for factory testings. Here is a list: - FACTORY_MODE: Allow to set the driver into a mode where no secure element are activated. It does not consider any NFC_ATTR_VENDOR_DATA. - HCI_CLEAR_ALL_PIPES: Allow to execute a HCI clear all pipes command. It does not consider any NFC_ATTR_VENDOR_DATA. - HCI_DM_PUT_DATA: Allow to configure specific CLF registry as for example RF trimmings or low level drivers configurations (I2C, SPI, SWP). - HCI_DM_UPDATE_AID: Allow to configure an AID routing into the CLF routing table following RF technology, CLF mode or protocol. - HCI_DM_GET_INFO: Allow to retrieve CLF information. - HCI_DM_GET_DATA: Allow to retrieve CLF configurable data such as low level drivers configurations or RF trimmings. - HCI_DM_LOAD: Allow to load a firmware into the CLF. A complete packet can be more than 8KB. - HCI_DM_RESET: Allow to run a CLF reset in order to "commit" CLF configuration changes without CLF power off. - HCI_GET_PARAM: Allow to retrieve an HCI CLF parameter (for example the white list). - HCI_DM_FIELD_GENERATOR: Allow to generate different kind of RF technology. When using this command to anti-collision is done. - HCI_LOOPBACK: Allow to echo a command and test the Dh to CLF connectivity. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2b6e5bfed0288524fca1376eb89856363cb8c55e Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:50 2015 +0100 NFC: st-nci: Replace st21nfcb by st_nci in makefile Replace 1 missing st21nfcb by st_nci Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit bd8f1a31a98b9f26201167f695bc807e3ff45841 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:49 2015 +0100 NFC: st-nci: remove duplicated skb dump Remove SPI_DUMP_SKB and I2C_DUMP_SKB as skb is already dumped in ndlc layer. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit bb2496c3ecae8a4a24c86b3c67de192f30fa1385 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:48 2015 +0100 NFC: st-nci: Disable irq when powering the device up Upon some conditions (timing, CLF errors, platform errors...), the irq might be already active when powering the device. Add irq_active variable as a guard to avoid kernel warning message Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a9e062d0599f499082320006ae3b54cf391bf996 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:47 2015 +0100 NFC: st21nfca: Add error messages for unexpected HCI events Potentially an unexpected HCI event may occur because of a firmware bug. It could be transparent for the user but we should at least log it. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 57dc828a7740f600ea8ce3049c3745aa805c83c9 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:45 2015 +0100 NFC: st21nfca: Add few code style fixes Add a minor code style fixes Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 064d00479697907730a4aff9edf879c0ca4743f0 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:44 2015 +0100 NFC: st-nci: Add few code style fixes Add some few code style fixes. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 96d4581f0b3712221d6ed4a765bb6b4ea40f2b2f Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:43 2015 +0100 NFC: netlink: Add mode parameter to deactivate_target functions In order to manage in a better way the nci poll mode state machine, add mode parameter to deactivate_target functions. This way we can manage different target state. mode parameter make sense only in nci core. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cde2aa99ba702ab8efa583495e54731b9f854e66 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:42 2015 +0100 NFC: st21nfca: Fix host_list verification after SEactivation A secure element can be activated in different order. The host_list is updated keeping a fixed order: <terminal_host_id><uicc_id><ese_id>. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4e932acc6fd66c905b2d0ca452dcf69321b6c414 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:41 2015 +0100 NFC: st-nci: Fix host_list verification after SE activation A secure element can be activated in different order. The host_list is updated keeping a fixed order: <terminal_host_id><uicc_id><ese_id>. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 06521053a06062f62f001d79b7c1449a614cc4af Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:40 2015 +0100 NFC: st-nci: Increase delay between 2 secure element activations After internal discussion, it appears this timing should be increased to 20 ms for interoperability reason. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3648dc6d27f648b8e3ce9b48874627a833d53c3a Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:39 2015 +0100 NFC: st-nci: Add ese-present/uicc-present dts properties In order to align with st21nfca, dts configuration properties ese_present and uicc_present are made available in st-nci driver. So far, in early development firmware, because nci_nfcee_mode_set(DISABLE) was not supported we had to try to enable it during the secure element discovery phase. After several trials on commercial and qualified firmware it appears that nci_nfcee_mode_set(ENABLE) and nci_nfcee_mode_set(DISABLE) are properly supported. Such feature also help us to eventually save some time (~5ms) when only one secure element is connected. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit be73c2cbc857a4a3424c0e3cdd70002d5a27a756 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:38 2015 +0100 NFC: netlink: Add missing NFC_ATTR comments NFC_CMD_ACTIVATE_TARGET and NFC_ATTR_SE_PARAMS comments are missing. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2b5dbe089f619f995faf2fe6beb7efb705eed302 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:37 2015 +0100 NFC: st-nci: Add error messages when an unexpected HCI event occurs Potentially an unexpected HCI event may occur because of a firmware bug. It could be transparent for the user but we need to at least log it. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b1fa4dc4ffef843bda17f26bbf54fb5d8bc23d2b Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:36 2015 +0100 NFC: st-nci: Add support for proprietary commands Add support for proprietary commands useful mainly for factory testings. Here is a list: - FACTORY_MODE: Allow to set the driver into a mode where no secure element are activated. It does not consider any NFC_ATTR_VENDOR_DATA. - HCI_CLEAR_ALL_PIPES: Allow to execute a HCI clear all pipes command. It does not consider any NFC_ATTR_VENDOR_DATA. - HCI_DM_PUT_DATA: Allow to configure specific CLF registry like for example RF trimmings or low level drivers configurations (I2C, SPI, SWP). - HCI_DM_UPDATE_AID: Allow to configure an AID routing into the CLF routing table following RF technology, CLF mode or protocol. - HCI_DM_GET_INFO: Allow to retrieve CLF information. - HCI_DM_GET_DATA: Allow to retrieve CLF configurable data such as low level drivers configurations or RF trimmings. - HCI_DM_DIRECT_LOAD: Allow to load a firmware into the CLF. A complete packet can be more than 8KB. - HCI_DM_RESET: Allow to run a CLF reset in order to "commit" CLF configuration changes without CLF power off. - HCI_GET_PARAM: Allow to retrieve an HCI CLF parameter (for example the white list). - HCI_DM_FIELD_GENERATOR: Allow to generate different kind of RF technology. When using this command to anti-collision is done. - HCI_LOOPBACK: Allow to echo a command and test the Dh to CLF connectivity. - HCI_DM_VDC_MEASUREMENT_VALUE: Allow to measure the field applied on the CLF antenna. A value between 0 and 0x0f is returned. 0 is maximum. - HCI_DM_FWUPD_START: Allow to put CLF into firmware update mode. It is a specific CLF command as there is no GPIO for this. - HCI_DM_FWUPD_END: Allow to complete firmware update. - HCI_DM_VDC_VALUE_COMPARISON: Allow to compare the field applied on the CLF antenna to a reference value. - MANUFACTURER_SPECIFIC: Allow to retrieve manufacturer specific data received during a NCI_CORE_INIT_CMD. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 90ce321da8ce3d00e19586993887346286208386 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 26 14:11:19 2015 +0800 btrfs: qgroup: Fix a rebase bug which will cause qgroup double free When rebasing my patchset, I forgot to pick up a cleanup patch to remove old hotfix in 4.2 release. Witouth the cleanup, it will screw up new qgroup reserve framework and always cause minus reserved number. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5846a3c26873e86b034c702a8bc202aa76082369 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 26 14:11:18 2015 +0800 btrfs: qgroup: Fix a race in delayed_ref which leads to abort trans Between btrfs_allocerved_file_extent() and btrfs_add_delayed_qgroup_reserve(), there is a window that delayed_refs are run and delayed ref head maybe freed before btrfs_add_delayed_qgroup_reserve(). This will cause btrfs_dad_delayed_qgroup_reserve() to return -ENOENT, and cause transaction to be aborted. This patch will record qgroup reserve space info into delayed_ref_head at btrfs_add_delayed_ref(), to eliminate the race window. Reported-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 696249132158014d594896df3a81390616069c5c Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Oct 26 15:06:19 2015 +0900 btrfs: clear PF_NOFREEZE in cleaner_kthread() cleaner_kthread() kthread calls try_to_freeze() at the beginning of every cleanup attempt. This operation can't ever succeed though, as the kthread hasn't marked itself as freezable. Before (hopefully eventually) kthread freezing gets converted to fileystem freezing, we'd rather mark cleaner_kthread() freezable (as my understanding is that it can generate filesystem I/O during suspend). Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0a0e8b89389266bed9cc074c57ea662e4b9b2621 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 26 09:19:43 2015 +0800 btrfs: qgroup: Don't copy extent buffer to do qgroup rescan Ancient qgroup code call memcpy() on a extent buffer and use it for leaf iteration. As extent buffer contains lock, pointers to pages, it's never sane to do such copy. The following bug may be caused by this insane operation: [92098.841309] general protection fault: 0000 [#1] SMP [92098.841338] Modules linked in: ... [92098.841814] CPU: 1 PID: 24655 Comm: kworker/u4:12 Not tainted 4.3.0-rc1 #1 [92098.841868] Workqueue: btrfs-qgroup-rescan btrfs_qgroup_rescan_helper [btrfs] [92098.842261] Call Trace: [92098.842277] [<ffffffffc035a5d8>] ? read_extent_buffer+0xb8/0x110 [btrfs] [92098.842304] [<ffffffffc0396d00>] ? btrfs_find_all_roots+0x60/0x70 [btrfs] [92098.842329] [<ffffffffc039af3d>] btrfs_qgroup_rescan_worker+0x28d/0x5a0 [btrfs] Where btrfs_qgroup_rescan_worker+0x28d is btrfs_disk_key_to_cpu(), called in reading key from the copied extent_buffer. This patch will use btrfs_clone_extent_buffer() to a better copy of extent buffer to deal such case. Reported-by: Stephane Lesimple <stephane_btrfs@xxxxxxxxxxx> Suggested-by: Filipe Manana <fdmanana@xxxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b66d62ba1e0d7ada5b89afffe19d12662b5c92c9 Author: David Sterba <dsterba@xxxxxxxx> Date: Fri Oct 16 19:15:50 2015 +0200 btrfs: add balance filters limits, stripes and usage to supported mask Enable the extended 'limit' syntax (a range), the new 'stripes' and extended 'usage' syntax (a range) filters in the filters mask. The patch comes separate and not within the series that introduced the new filters because the patch adding the mask was merged in a late rc. The integration branch was based on an older rc and could not merge the patch due to the missing changes. Prerequisities: * btrfs: check unsupported filters in balance arguments * btrfs: extend balance filter limit to take minimum and maximum * btrfs: add balance filter for stripes * btrfs: extend balance filter usage to take minimum and maximum Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit bc3094673f22d00794a8606200788e411b4ec80d Author: David Sterba <dsterba@xxxxxxxx> Date: Tue Oct 20 18:22:13 2015 +0200 btrfs: extend balance filter usage to take minimum and maximum Similar to the 'limit' filter, we can enhance the 'usage' filter to accept a range. The change is backward compatible, the range is applied only in connection with the BTRFS_BALANCE_ARGS_USAGE_RANGE flag. We don't have a usecase yet, the current syntax has been sufficient. The enhancement should provide parity with other range-like filters. Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dee32d0ac3719ef8d640efaf0884111df444730f Author: GabrÃel Arthúr Pétursson <gabriel@xxxxxxxxx> Date: Mon Sep 28 22:32:41 2015 +0000 btrfs: add balance filter for stripes Balance block groups which have the given number of stripes, defined by a range min..max. This is useful to selectively rebalance only chunks that do not span enough devices, applies to RAID0/10/5/6. Signed-off-by: GabrÃel Arthúr Pétursson <gabriel@xxxxxxxxx> [ renamed bargs members, added to the UAPI, wrote the changelog ] Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 12907fc79818a62a2478f84f7795afa774bf7f9c Author: David Sterba <dsterba@xxxxxxxx> Date: Sat Oct 10 17:16:50 2015 +0200 btrfs: extend balance filter limit to take minimum and maximum The 'limit' filter is underdesigned, it should have been a range for [min,max], with some relaxed semantics when one of the bounds is missing. Besides that, using a full u64 for a single value is a waste of bytes. Let's fix both by extending the use of the u64 bytes for the [min,max] range. This can be done in a backward compatible way, the range will be interpreted only if the appropriate flag is set (BTRFS_BALANCE_ARGS_LIMIT_RANGE). Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2849a854224487bc578b73b64422c3cb3ef93ff5 Author: Chris Mason <clm@xxxxxx> Date: Tue Oct 13 14:06:48 2015 -0400 btrfs: fix use after free iterating extrefs The code for btrfs inode-resolve has never worked properly for files with enough hard links to trigger extrefs. It was trying to get the leaf out of a path after freeing the path: btrfs_release_path(path); leaf = path->nodes[0]; item_size = btrfs_item_size_nr(leaf, slot); The fix here is to use the extent buffer we cloned just a little higher up to avoid deadlocks caused by using the leaf in the path. Signed-off-by: Chris Mason <clm@xxxxxx> cc: stable@xxxxxxxxxxxxxxx # v3.7+ cc: Mark Fasheh <mfasheh@xxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 849ef9286f30c88113906dc35f44a499c0cb385d Author: David Sterba <dsterba@xxxxxxxx> Date: Mon Oct 12 16:55:54 2015 +0200 btrfs: check unsupported filters in balance arguments We don't verify that all the balance filter arguments supplemented by the flags are actually known to the kernel. Thus we let it silently pass and do nothing. At the moment this means only the 'limit' filter, but we're going to add a few more soon so it's better to have that fixed. Also in older stable kernels so that it works with newer userspace tools. Cc: stable@xxxxxxxxxxxxxxx # 3.16+ Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 23695e41a1cac017edad2b38607f33678a31b877 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Tue Oct 6 04:32:57 2015 +0000 scsi_dh: fix use-after-free when removing scsi device The commit 1bab0de0274f ("dm-mpath, scsi_dh: don't let dm detach device handlers") removed reference counting of attached scsi device handler. As a result, handler data is freed immediately via scsi_dh->detach() in the context of scsi_remove_device() where activation request can be still in flight. This patch moves scsi_dh_handler_detach() to sdev releasing function, scsi_device_dev_release_usercontext(), at that point the device is already in quiesced state. Fixes: 1bab0de0274f ("dm-mpath, scsi_dh: don't let dm detach device handlers") Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2280521719e81919283b82902ac24058f87dfc1b Author: DÄ?vis MosÄ?ns <davispuh@xxxxxxxxx> Date: Fri Aug 21 07:29:22 2015 +0300 mvsas: Fix NULL pointer dereference in mvs_slot_task_free When pci_pool_alloc fails in mvs_task_prep then task->lldd_task stays NULL but it's later used in mvs_abort_task as slot which is passed to mvs_slot_task_free causing NULL pointer dereference. Just return from mvs_slot_task_free when passed with NULL slot. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=101891 Signed-off-by: DÄ?vis MosÄ?ns <davispuh@xxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 28ca3e8556e3ecda74adf1c4c3453ed9d5b9e5e6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Oct 20 13:14:45 2015 +0200 dmaengine: virt-dma: Fix kernel-doc annotations In kernel-doc annotations parameters need to start with a @ for them to be properly recognized. Add those where missing for virt-dma. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b704f70ce2003c8046d5c0128303aeeb0d93d890 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 11:57:29 2015 -0400 SCSI: fix bug in scsi_dev_info_list matching The "compatible" matching algorithm used for looking up old-style blacklist entries in a scsi_dev_info_list is buggy. The core of the algorithm looks like this: if (memcmp(devinfo->vendor, vendor, min(max, strlen(devinfo->vendor)))) /* not a match */ where max is the length of the device's vendor string after leading spaces have been removed but trailing spaces have not. Because of the min() computation, either entry could be a proper substring of the other and the code would still think that they match. In the case originally reported, the device's vendor and product strings were "Inateck " and " ". These matched against the following entry in the global device list: {"", "Scanner", "1.80", BLIST_NOLUN} because "" is a substring of "Inateck " and "" (the result of removing leading spaces from the device's product string) is a substring of "Scanner". The mistaken match prevented the system from scanning and finding the device's second Logical Unit. This patch fixes the problem by making two changes. First, the code for leading-space removal is hoisted out of the loop. (This means it will sometimes run unnecessarily, but since a large percentage of all lookups involve the "compatible" entries in global device list, this should be an overall improvement.) Second and more importantly, the patch removes trailing spaces and adds a check to verify that the two resulting strings are exactly the same length. This prevents matches where one entry is a proper substring of the other. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Reported-by: Giulio Bernardi <ugilio@xxxxxxxxx> Tested-by: Giulio Bernardi <ugilio@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c42b3654f48bc06189a2d99629c9cf7bb79e8fe3 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 11:57:21 2015 -0400 SCSI: refactor device-matching code in scsi_devinfo.c In drivers/scsi/scsi_devinfo.c, the scsi_dev_info_list_del_keyed() and scsi_get_device_flags_keyed() routines contain a large amount of duplicate code for finding vendor/product matches in a scsi_dev_info_list. This patch factors out the duplicate code and puts it in a separate function, scsi_dev_info_list_find(). Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Suggested-by: Giulio Bernardi <ugilio@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 06a16293f71927f756dcf37558a79c0b05a91641 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Sat Oct 24 16:20:18 2015 -0700 Input: evdev - add event-mask API Hardware manufacturers group keys in the weirdest way possible. This may cause a power-key to be grouped together with normal keyboard keys and thus be reported on the same kernel interface. However, user-space is often only interested in specific sets of events. For instance, daemons dealing with system-reboot (like systemd-logind) listen for KEY_POWER, but are not interested in any main keyboard keys. Usually, power keys are reported via separate interfaces, however, some i8042 boards report it in the AT matrix. To avoid waking up those system daemons on each key-press, we had two ideas: - split off KEY_POWER into a separate interface unconditionally - allow filtering a specific set of events on evdev FDs Splitting of KEY_POWER is a rather weird way to deal with this and may break backwards-compatibility. It is also specific to KEY_POWER and might be required for other stuff, too. Moreover, we might end up with a huge set of input-devices just to have them properly split. Hence, this patchset implements the second idea: An event-mask to specify which events you're interested in. Two ioctls allow setting this mask for each event-type. If not set, all events are reported. The type==0 entry is used same as in EVIOCGBIT to set the actual EV_* mask of filtered events. This way, you have a two-level filter. We are heavily forward-compatible to new event-types and event-codes. So new user-space will be able to run on an old kernel which doesn't know the given event-codes or event-types. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit fd6ddfa4c1ddfb4a149b31845144b4cf3cbef54d Author: Maurizio Lombardi <mlombard@xxxxxxxxxx> Date: Wed Aug 12 17:00:23 2015 +0200 fnic: check pci_map_single() return value the kernel prints some warnings when compiled with CONFIG_DMA_API_DEBUG. This is because the fnic driver doesn't check the return value of pci_map_single(). [ 11.942770] scsi host12: fnic [ 11.950811] ------------[ cut here ]------------ [ 11.950818] WARNING: at lib/dma-debug.c:937 check_unmap+0x47b/0x920() [ 11.950821] fnic 0000:0c:00.0: DMA-API: device driver failed to check map error[device address=0x0000002020a30040] [size=44 bytes] [mapped as single] Signed-off-by: Maurizio Lombardi <mlombard@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed By: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5a2415b0769233194f20d3906c3ffc6a2033317c Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sun Oct 11 13:03:47 2015 -0700 mtd: mtdpart: Do not fail mtd probe when parsing partitions fails Due to wrong assumption in ofpart ofpart fails on Exynos on SPI chips with no partitions because the subnode containing controller data confuses the ofpart parser. Thus compiling in ofpart support automatically fails probing any SPI NOR flash without partitions on Exynos. Compiling in a partitioning scheme should not cause probe of otherwise valid device to fail. Instead, let's do the following: * try parsers until one succeeds * if no parser succeeds, report the first error we saw * even in the failure case, allow MTD to probe, with fallback partitions or no partitions at all -- the master device will still be registered Issue report and comments initially by Michal Suchanek. Reported-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c4f39bdaf40e2651f4fb3e6944e05166f1ab1d38 Author: Ketan Mukadam <ketan.mukadam@xxxxxxxxxxxxx> Date: Sat Jul 4 04:12:33 2015 +0530 be2iscsi: Revert ownership to Emulex We would like to get the following updates in: Revert ownership to "Emulex" from "Avago Technologies" Signed-off-by: Ketan Mukadam <ketan.mukadam@xxxxxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9d27e2163168dc5f42785e19fca2e8de453c5e44 Author: Ketan Mukadam <ketan.mukadam@xxxxxxxxxxxxx> Date: Sat Jul 4 04:12:23 2015 +0530 MAINTAINERS: Update be2iscsi driver Signed-off-by: Ketan Mukadam <ketan.mukadam@xxxxxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3242c9ee0b6104c901336a9498bb7ec64923eb1f Merge: f7e1b37 cb36859 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 26 18:32:22 2015 -0700 Merge branch 'sh_eth-fixes' Sergei Shtylyov says: ==================== sh_eth: RX buffer alignment fixes Here's a set of 2 patches against DaveM's 'net.git' repo which are the fixes to the RX buffer size calculation. [1/2] sh_eth: fix RX buffer size alignment [2/2] sh_eth: fix RX buffer size calculation ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb3685958dd4c46d7646d244063ea3ec8adf3618 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 00:46:40 2015 +0300 sh_eth: fix RX buffer size calculation The RX buffer size calulation failed to account for the length granularity (which is now 32 bytes)... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab8579169b79c062935dade949287113c7c1ba73 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 00:46:03 2015 +0300 sh_eth: fix RX buffer size alignment Both Renesas R-Car and RZ/A1 manuals state that RX buffer length must be a multiple of 32 bytes, while the driver only uses 16 byte granularity... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6dbad420a00fbc06c7c9168f75ec66bb2120a18 Author: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Date: Fri Jun 6 13:05:59 2014 -0500 bnx2fc: Do not log error for netevents that need no action Do not log error for netevents that need no action such as NETDEV_REGISTER 0x0005, NETDEV_CHANGEADDR, and NETDEV_CHANGENAME. It results in logging error messages such as these [ 35.315872] bnx2fc: Unknown netevent 5 [ 35.315935] bnx2fc: Unknown netevent 8 [ 35.353866] bnx2fc: Unknown netevent 10 and generating bug reports. Remove logging this message as an ERROR instead of turning them into either DEBUG or INFO level messages. Signed-off-by: Shirish Pargaonkar <spargaonkar@xxxxxxxx> Acked-by: Eddie Wai <eddie.wai@xxxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit baae8fac019a5d0dc3f39be0f867d13b5c8ee59a Author: James Smart <james.smart@xxxxxxxxxxxxx> Date: Mon Aug 31 16:48:22 2015 -0400 lpfc: Update version to 11.0.0.0 for upstream patch set Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8b7c94e3478dbb0296293b43a974c3561d01e9fb Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 23 12:11:08 2015 -0700 net: dsa: bcm_sf2: Unhardcode port numbers While the current driver mostly supports BCM7445 which has a hardcoded location for its MoCA port on port 7 and port 0 for its internal PHY, this is not necessarily true for all other chips out there such as BCM3390 for instance. Walk the list of ports from Device Tree, get their port number ("reg" property), and then parse the "phy-mode" property and initialize two internal variables: moca_port and a bitmask of internal PHYs. Since we use interrupts for the MoCA port, we introduce two helper functions to enable/disable interrupts and do this at the appropriate bank (INTRL2_0 or INTRL2_1). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3faf2b8826b8ac58cdaad7f801e59e389320f0e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:12 2015 +0300 ARM: DTS: am437x: Use the new DT bindings for the eDMA3 Switch to use the ti,edma3-tpcc and ti,edma3-tptc binding for the eDMA3 and enable the DMA even crossbar with ti,am335x-edma-crossbar. With the new bindings boards can customize and tweak the DMA channel priority to match their needs. With the new binding the memcpy is safe to be used since with the old binding it was not possible for a driver to know which channel is allowed to be used as non HW triggered channel. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d871cd2ec5abf8715774bcb90aa32ae5b750b587 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:11 2015 +0300 ARM: DTS: am33xx: Use the new DT bindings for the eDMA3 Switch to use the ti,edma3-tpcc and ti,edma3-tptc binding for the eDMA3 and enable the DMA even crossbar with ti,am335x-edma-crossbar. With the new bindings boards can customize and tweak the DMA channel priority to match their needs. With the new binding the memcpy is safe to be used since with the old binding it was not possible for a driver to know which channel is allowed to be used as non HW triggered channel. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1be5336bc7ba050ee07d352643bf4c01c513553c Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:10 2015 +0300 dmaengine: edma: New device tree binding With the old binding and driver architecture we had many issues: No way to assign eDMA channels to event queues, thus not able to tune the system by moving specific DMA channels to low/high priority servicing. We moved the cyclic channels to high priority within the code, but that was just a workaround to this issue. Memcopy was fundamentally broken: even if the driver scanned the DT/devices in the booted system for direct DMA users (which is not effective when the events are going through a crossbar) and created a map of 'used' channels, this information was not really usable. Since via dmaengien API the eDMA driver will be called with _some_ channel number, we would try to request this channel when any channel is requested for memcpy. By luck we got channel which is not used by any device most of the time so things worked, but if a device would have been using the given channel, but not requested it, the memcpy channel would have been waiting for HW event. The old code had the am33xx/am43xx DMA event router handling embedded. This should have been done in a separate driver since it is not part of the actual eDMA IP. There were no way to 'lock' PaRAM slots to be used by the DSP for example when booting with DT. In DT boot the edma node used more than one hwmod which is not a good practice and the kernel prints warning because of this. With the new bindings and the changes in the driver we can: - No regression with Legacy binding and non DT boot - DMA channels can be assigned to any TC (to set priority) - PaRAM slots can be reserved for other cores to use - Dynamic power management for CC and TCs, if only TC0 is used all other TC can be powered down for example Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f7c7cae94832fc09ccff080b4cc2358ac11e2150 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:09 2015 +0300 dmaengine: Kconfig: edma: Select TI_DMA_CROSSBAR in case of ARCH_OMAP Since the crossbar is needed for eDMA when it is used on OMAP like platforms (am335x/am437x and later DRA7xx), select the crossbar to be built if ARCH_OMAP is set. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 42dbdcc6bf965997c088caff2a8be7f9bf44f701 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:08 2015 +0300 dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx The DMA event crossbar on AM33xx/AM43xx is different from the one found in DRA7x family. Instead of a single event crossbar it has 64 identical mux attached to each eDMA event line. When the 0 event mux is selected, the default mapped event is going to be routed to the corresponding eDMA event line. If different mux is selected, then the selected event is going to be routed to the given eDMA event. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 966a87b5962ed0d058e93809ae310fa542a69c8e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:07 2015 +0300 dmaengine: edma: Merge the of parsing functions Instead of nesting functions just merge them since the resulting function is still small and readable. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 56c7b749965947af45efaf8a7021a1f86d4ce4d8 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:06 2015 +0300 dmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot The channel/slot reservation is not supported when booted with DT so there is not need to allocate memory. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 02f77ef1197bd0acde8c0b7ed2b4dee7da7bcbf6 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:05 2015 +0300 dmaengine: edma: Refactor the dma device and channel struct initialization Move all code under one function to do the dma device and eDMA channel related setup so they are not scattered around the driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 633e42b8c5465acf03671be7bd2866c486816596 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:04 2015 +0300 dmaengine: edma: Get qDMA channel information from HW also Query the number of qDMA channels from CCCFG register. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f9425deb662ac07099ec151ffb4791eef48e9d83 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:03 2015 +0300 dmaengine: edma: Merge map_dmach_to_queue into assign_channel_eventq edma_assign_channel_eventq() is a wrapper around edma_map_dmach_to_queue() We can merge the content of the later so we will have only one function to be used for mapping channels to given eventq Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d9c345d18a8df5a5427cca80d2b9d981468ef270 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:02 2015 +0300 dmaengine: edma: Correct PaRAM access function names (_parm_ to _param_) These inline functions are designed to modify parts of the PaRAM in eDMA. Change the names accordingly. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 34cf30111cfccd18e1ccf2456f72dff6d42bd853 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:01 2015 +0300 dmaengine: edma: Simplify function parameter list for channel operations Instead of passing a pointer to struct edma_cc and the channel number, pass only the pointer to the edma_chan structure for the given channel. This struct contains all the information needed by the functions and the use of this makes it obvious that most of the sanity checks can be removed from the driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit df6694f80365a72700d4c68fcf61ef068f5b3c25 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:00 2015 +0300 dmaengine: edma: Optimize memcpy operation If the transfer is shorted then 64K we can complete it with one ACNT burst by configuring ACNT to the length of the copy, this require one paRAM slot. Otherwise we use two paRAM slots for the copy: slot1: will copy (length / 32767) number of 32767 byte long blocks slot2: will be configured to copy the remaining data. According to tests this patch increases the throughput of memcpy from ~3MB/s to 15MB/s Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 21a31846a7736a88709fe6fe2e73857d884de89c Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:17:59 2015 +0300 dmaengine: edma: Remove alignment constraint for memcpy Despite the claim by the original commit adding the memcpy support, eDMA does not have constraint on the alignment of src, dst or length in increment mode. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 21bf0b977afd1825100b43c464766dc4acdd43d3 Author: James Smart <james.smart@xxxxxxxxxxxxx> Date: Mon Aug 31 16:48:21 2015 -0400 lpfc: Fix default RA_TOV and ED_TOV in the FC/FCoE driver for all topologies Initial link up defaults were not properly being tracked relative to initial FLOGI or pt2pt PLOGI. Add code to initialize them. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8fe5c1655759b353cf4f0d045dd1773aa3b7ef4e Author: James Smart <james.smart@xxxxxxxxxxxxx> Date: Mon Aug 31 16:48:19 2015 -0400 lpfc: The linux driver does not reinitiate discovery after a failed FLOGI Forgot to clear FCF Discovery in-progress flag upon FLOGI failures. Thus we didn't restart FLOGI. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit eec3d3121988fa9c24f50ece81244ca1c85b7c25 Author: James Smart <james.smart@xxxxxxxxxxxxx> Date: Mon Aug 31 16:48:18 2015 -0400 lpfc: Fix for discovery failure in PT2PT when FLOGI's ELS ACC response gets aborted Fix for discovery failure in PT2PT when FLOGI's ELS ACC response gets aborted Change login state machine to: - Restart FLOGI if prior is ABTS'd - Reject incoming FLOGIs if we have one pending The above ensures that we always finish FLOGI processing, regardless of who initated FLOGI, before processing PLOGI's. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d38dd52c79bc117a2ba7c27949d50721adc9d1d3 Author: James Smart <james.smart@xxxxxxxxxxxxx> Date: Mon Aug 31 16:48:17 2015 -0400 lpfc: Add support for Lancer G6 and 32G FC links Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 680060d3e02d175516832e9af058ffe96ecc4cdc Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 23 11:38:07 2015 -0700 net: dsa: bcm_sf2: Implement FDB operations Add support for the FDB add, delete, and dump operations. The add and delete operations are implemented using directed ARL operations using the specified MAC address and consist in a read operation, write and readback operation. The dump operation consists in using the ARL search and software filtering entries which are not for the desired port. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6599eaaa45e0f40ddbbcf164cf3e3524faed9383 Author: Ales Novak <alnovak@xxxxxxx> Date: Mon Aug 31 16:48:16 2015 -0400 fix: lpfc_send_rscn_event sends bigger buffer size lpfc_send_rscn_event() allocates data for sizeof(struct lpfc_rscn_event_header) + payload_len, but claims that the data has size of sizeof(struct lpfc_els_event_header) + payload_len. That leads to buffer overruns. Signed-off-by: Ales Novak <alnovak@xxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Sebastian Herbszt <herbszt@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit db6f1c2f900b536d23de386dc7f2a53aa80d7307 Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Mon Aug 31 16:48:14 2015 -0400 lpfc: remove set but not used variables Remove set but not used variables. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3bb11fc5d0584adc075ddc6b42abdfb2ee776e9d Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Mon Aug 31 16:48:13 2015 -0400 lpfc:Make the function lpfc_sli4_mbox_completions_pending static in order to comply with function prototype This makes the function lpfc_sli4_mbox_completion's definition static now in order to comply with its prototype being also declared as static too. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Sebastian Herbszt <herbszt@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c0365c0692d6ea038bb4feda308eec69e11292a3 Author: Ian Mitchell <imitchell@xxxxxxx> Date: Mon Aug 31 16:48:12 2015 -0400 Fix kmalloc overflow in LPFC driver at large core count This patch allows the LPFC to start up without a fatal kernel bug based on an exceeded KMALLOC_MAX_SIZE and a too large NR_CPU-based maskbits field. The bug was based on the number of CPU cores in a system. Using the get_cpu_mask() function declared in kernel/cpu.c allows the driver to load on the community kernel 4.2 RC1. Below is the kernel bug reproduced: 8<-------------------------------------------------------------------- 2199382.828437 ( 0.005216)| lpfc 0003:02:00.0: enabling device (0140 -> 0142) 2199382.999272 ( 0.170835)| ------------[ cut here ]------------ 2199382.999337 ( 0.000065)| WARNING: CPU: 84 PID: 404 at mm/slab_common.c:653 kmalloc_slab+0x2f/0x89() 2199383.004534 ( 0.005197)| Modules linked in: lpfc(+) usbcore(+) mptctl scsi_transport_fc sg lpc_ich i2c_i801 usb_common tpm_tis mfd_core tpm acpi_cpufreq button scsi_dh_alua scsi_dh_rdacusbcore: registered new device driver usb 2199383.020568 ( 0.016034)| 2199383.020581 ( 0.000013)| scsi_dh_hp_sw scsi_dh_emc scsi_dh gru thermal sata_nv processor piix fan thermal_sysehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver 2199383.035288 ( 0.014707)| 2199383.035306 ( 0.000018)| hwmon ata_piix 2199383.035336 ( 0.000030)| CPU: 84 PID: 404 Comm: kworker/84:0 Not tainted 3.18.0-rc2-gat-00106-ga7ca10f-dirty #178 2199383.047077 ( 0.011741)| ehci-pci: EHCI PCI platform driver 2199383.047134 ( 0.000057)| Hardware name: SGI UV2000/ROMLEY, BIOS SGI UV 2000/3000 series BIOS 01/15/2013 2199383.056245 ( 0.009111)| Workqueue: events work_for_cpu_fn 2199383.066174 ( 0.009929)| 000000000000028d ffff88eef827bbe8 ffffffff815a542f 000000000000028d 2199383.069545 ( 0.003371)| ffffffff810ea142 ffff88eef827bc28 ffffffff8104365c ffff88eefe4006c8 2199383.076214 ( 0.006669)| 0000000000000000 00000000000080d0 0000000000000000 0000000000000004 2199383.079213 ( 0.002999)| Call Trace: 2199383.084084 ( 0.004871)| [<ffffffff815a542f>] dump_stack+0x49/0x62 2199383.087283 ( 0.003199)| [<ffffffff810ea142>] ? kmalloc_slab+0x2f/0x89 2199383.091415 ( 0.004132)| [<ffffffff8104365c>] warn_slowpath_common+0x77/0x92 2199383.095197 ( 0.003782)| [<ffffffff8104368c>] warn_slowpath_null+0x15/0x17 2199383.103336 ( 0.008139)| [<ffffffff810ea142>] kmalloc_slab+0x2f/0x89 2199383.107082 ( 0.003746)| [<ffffffff8110fd9e>] __kmalloc+0x13/0x16a 2199383.112531 ( 0.005449)| [<ffffffffa01a8ed9>] lpfc_pci_probe_one_s4+0x105b/0x1644 [lpfc] 2199383.115316 ( 0.002785)| [<ffffffff81302b92>] ? pci_bus_read_config_dword+0x75/0x87 2199383.123431 ( 0.008115)| [<ffffffffa01a951f>] lpfc_pci_probe_one+0x5d/0xcb5 [lpfc] 2199383.127364 ( 0.003933)| [<ffffffff81497119>] ? dbs_check_cpu+0x168/0x177 2199383.136438 ( 0.009074)| [<ffffffff81496fa5>] ? gov_queue_work+0xb4/0xc0 2199383.140407 ( 0.003969)| [<ffffffff8130b2a1>] local_pci_probe+0x1e/0x52 2199383.143105 ( 0.002698)| [<ffffffff81052c47>] work_for_cpu_fn+0x13/0x1b 2199383.147315 ( 0.004210)| [<ffffffff81054965>] process_one_work+0x222/0x35e 2199383.151379 ( 0.004064)| [<ffffffff81054e76>] worker_thread+0x3d5/0x46e 2199383.159402 ( 0.008023)| [<ffffffff81054aa1>] ? process_one_work+0x35e/0x35e 2199383.163097 ( 0.003695)| [<ffffffff810599c6>] kthread+0xc8/0xd2 2199383.167476 ( 0.004379)| [<ffffffff810598fe>] ? kthread_freezable_should_stop+0x5b/0x5b 2199383.176434 ( 0.008958)| [<ffffffff815a8cac>] ret_from_fork+0x7c/0xb0 2199383.180086 ( 0.003652)| [<ffffffff810598fe>] ? kthread_freezable_should_stop+0x5b/0x5b 2199383.192333 ( 0.012247)| ehci-pci 0000:00:1a.0: EHCI Host Controller -------------------------------------------------------------------->8 The proposed solution was approved by James Smart at Emulex and tested on a UV2 machine with 6144 cores. With the fix, the LPFC module loads with no unwanted effects on the system. Signed-off-by: Ian Mitchell <imitchell@xxxxxxx> Signed-off-by: Alex Thorlton <athorlton@xxxxxxx> Suggested-by: Robert Elliot <elliott@xxxxxx> [james.smart: resolve unused variable warning] Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 7973967f803da922af10599fb2bf4d66889e40d1 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Mon Aug 31 16:48:11 2015 -0400 lpfc: Destroy lpfc_hba_index IDR on module exit Destroy lpfc_hba_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> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5f406fae01e4243d128956421815518d00212c3a Author: Bodo Stroesser <bstroesser@xxxxxxxxxxxxxx> Date: Mon Aug 31 16:48:10 2015 -0400 lpfc: in sli3 use configured sg_seg_cnt for sg_tablesize Currently the module parameter lpfc_sg_seg_count does not have effect for sli3 devices. In lpfc_sli_driver_resource_setup(), which is used for sli3, the code writes the configured sg_seg_cnt into lpfc_template.sg_tablesize. But lpfc_template is the template used for sli4 only. Thus the value should correctly be written to lpfc_template_s3->sg_tablesize. This patch is for kernel 4.1-rc5, but is tested with lpfc 10.2.405.26 only. Signed-off-by: Bodo Stroesser <bstroesser@xxxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Sebastian Herbszt <herbszt@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c6cb9b4fd984334b420115e6a504a2ef92cf7f3f Author: Firo Yang <firogm@xxxxxxxxx> Date: Mon Aug 31 16:48:09 2015 -0400 lpfc: Remove unnessary cast kzalloc() returns a void pointer - no need to cast it in drivers/scsi/lpfc/lpfc_init.c::lpfc_sli_driver_resource_setup() Signed-off-by: Firo Yang <firogm@xxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 290237d2aa832ec418e9abb229f6869aa8b6dbb5 Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Mon Aug 31 16:48:08 2015 -0400 lpfc: fix model description Remove trailing space from model description. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 76b1ba7feda533a74c5874a1d15bb4039083efc8 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:39 2015 +0800 clocksource/drivers/digicolor: Prevent ftrace recursion Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. We should not trace digicolor_timer_sched_read() function. Fix this by adding the notrace attribute to this function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit bd859a44b2f6749fd82e89dabbaa37f2c8aa33fe Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:40 2015 +0800 clocksource/drivers/fsl_ftm_timer: Prevent ftrace recursion Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. We should not trace the ftm_read_sched_clock() function. Fix this by adding the notrace attribute to this function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 36361abc8bc14e80f6b4db561665e5e15249c181 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:38 2015 +0800 clocksource/drivers/vf_pit_timer: Prevent ftrace recursion Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. We should not trace the pit_read_sched_clock() function. Fix this by adding a notrace attribute to this function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit cdc68ec01853baf3558c6d25f19c869add4a6888 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:37 2015 +0800 clocksource/drivers/prima2: Prevent ftrace recursion Currently prima2 timer can be used as a scheduler clock. We properly marked sirfsoc_read_sched_clock() as notrace but we then call another function sirfsoc_timer_read() that _wasn't_ notrace. Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. Fix this by adding notrace attribute to the sirfsoc_timer_read() function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit b8725dab66f0b2d57affb33a7f6ca094d9f1f8dd Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:35 2015 +0800 clocksource/drivers/samsung_pwm_timer: Prevent ftrace recursion Currently samsung_pwm_timer can be used as a scheduler clock. We properly marked samsung_read_sched_clock() as notrace but we then call another function samsung_clocksource_read() that _wasn't_ notrace. Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. Fix this by adding notrace attribute to the samsung_clocksource_read() function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit f8af0e9c644caf64d0f42dce816c18346c744a9f Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:36 2015 +0800 clocksource/drivers/pistachio: Prevent ftrace recursion Currently pistachio can be used as a scheduler clock. We properly marked pistachio_read_sched_clock() as notrace but we then call another function pistachio_clocksource_read_cycles() that _wasn't_ notrace. Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. Fix this by adding notrace attribute to the pistachio_clocksource_read_cycles() function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit d6df3576e6b4bcf765f5ace69915b4fa4a7ee1c3 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:34 2015 +0800 clocksource/drivers/arm_global_timer: Prevent ftrace recursion Currently arm_global_timer can be used as a scheduler clock. We properly marked gt_sched_clock_read() as notrace but we then call another function gt_counter_read() that _wasn't_ notrace. Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. Fix this by adding an extra notrace function to keep other users of gt_counter_read() traceable. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 9ace41adb46e36e0709983702230d3602210c171 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 26 01:45:01 2015 -0700 Input: snvs_pwrkey - remove duplicated semicolon Remove the unneded semicolon since it is clearly a typo error. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 195562194aad3a0a3915941077f283bcc6347b9b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Oct 26 01:50:28 2015 -0700 Input: alps - only the Dell Latitude D420/430/620/630 have separate stick button bits commit 92bac83dd79e ("Input: alps - non interleaved V2 dualpoint has separate stick button bits") assumes that all alps v2 non-interleaved dual point setups have the separate stick button bits. Later we limited this to Dell laptops only because of reports that this broke things on non Dell laptops. Now it turns out that this breaks things on the Dell Latitude D600 too. So it seems that only the Dell Latitude D420/430/620/630, which all share the same touchpad / stick combo, have these separate bits. This patch limits the checking of the separate bits to only these models fixing regressions with other models. Reported-and-tested-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Tested-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-By: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7c62f299bafef82c83169ac0c4cf77874446fc83 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 2 13:42:21 2015 +0900 ARM: dts: uniphier: add outer cache controller nodes Add L2 cache controller nodes for all the UniPhier SoC DTSI. Also, add an L3 cache controller node for PH1-Pro5 DTSI. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b1e4006aeda8c8784029de17d47987c21ea75f6d Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 2 13:42:20 2015 +0900 ARM: uniphier: rework SMP operations to use trampoline code The complexity of the boot sequence of UniPhier SoC family is a PITA due to the following hardware limitations: [1] No dedicated on-chip SRAM SoCs in general have small SRAM, on which a tiny firmware or a boot loader can run before SDRAM is initialized. As UniPhier SoCs do not have any dedicated SRAM accessible from CPUs, the locked outer cache is used instead. Due to the ARM specification, to have access to the outer cache, the MMU must be enabled. This is done for all CPU cores by the program hard-wired in the boot ROM. The boot ROM code loads a small amount of program (this is usually SPL of U-Boot) from a non-volatile device onto the locked outer cache, and the primary CPU jumps to it. The secondary CPUs stay in the boot ROM until they are kicked by the primary CPU. [2] CPUs can not directly jump to SDRAM address space As mentioned above, the MMU is enable for all the CPUs with the page table hard-wired in the boot ROM. Unfortunately, the page table only has minimal sets of valid sections; all the sections of SDRAM address space are zero-filled. That means all the CPUs, including secondary ones, can not jump directly to SDRAM address space. So, the primary CPU must bring up secondary CPUs to accessible address mapped onto the outer cache, then again kick them to SDRAM address space. Before this commit, this complex task was done with help of a boot loader (U-Boot); U-Boot SPL brings up the secondary CPUs to the entry of U-Boot SPL and they stay there until they are kicked by Linux. This is not nice because a boot loader must put the secondary CPUs into a certain state expected by the kernel. It makes difficult to port another boot loader because the boot loader and the kernel must work in sync to wake up the secondary CPUs. This commit reworks the SMP operations so that they do not rely on particular boot loader implementation; the SMP operations (platsmp.c) put trampoline code (headsmp.S) on a locked way of the outer cache. The secondary CPUs jump from the boot ROM to secondary_entry via the trampoline code. The boot loader no longer needs to take care of SMP. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e7ecbc057bc5cffb8ad10b6bf7a80684fd426d23 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 2 13:42:19 2015 +0900 ARM: uniphier: add outer cache support This commit adds support for UniPhier outer cache controller. All the UniPhier SoCs are equipped with the L2 cache, while the L3 cache is currently only integrated on PH1-Pro5 SoC. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ababae44108b0e94b58eef6cb5bd830bd040a47f Author: Werner Pawlitschko <werner.pawlitschko@xxxxxxxx> Date: Tue Oct 27 09:08:04 2015 +0900 x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest() Commit 4857c91f0d19 changed the way how irq affinity is setup in setup_ioapic_dest() from using the core helper function to unconditionally calling the irq_set_affinity() callback of the underlying irq chip. That results in a NULL pointer dereference for the rare case where the underlying irq chip is lapic_chip which has no irq_set_affinity() callback. lapic_chip is occasionally used for the timer interrupt (irq 0). The fix is simple: Check the availability of the callback instead of calling it unconditionally. Fixes: 4857c91f0d19 "x86/ioapic: Force affinity setting in setup_ioapic_dest()" Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit cf516d08eceb4c442f0f2f1a73ebf994b1dbf0ed Merge: 047e664 32b8819 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 09:13:38 2015 +0900 Merge 4.3-rc7 into staging-next We want the other staging patches in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8713181dced9b2d0c2a99613449b9e45b656df83 Merge: 17e2aa0 324e84c Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Oct 27 08:51:50 2015 +0900 Merge branch 'for-upstream/juno-pcie' of git://linux-arm.org/linux-ld into next/arm64 * 'for-upstream/juno-pcie' of git://linux-arm.org/linux-ld: arm64: defconfig: Enable PCI generic host bridge by default arm64: Juno: Add support for the PCIe host bridge on Juno R1 Documentation: of: Document the bindings used by Juno R1 PCIe host bridge Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit da4689c0263ee5f4eee64e166a6bee6a68b9242e Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Oct 27 08:36:08 2015 +0900 iommu/vt-d: Expose struct svm_dev_ops without CONFIG_INTEL_IOMMU_SVM The point in providing an inline version of intel_svm_bind_mm() which just returns -ENOSYS is that people are supposed to be able to *use* it and just see that it fails. So we need to let them have a definition of struct svm_dev_ops (and the flags) too. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 858e904bd71dd0057a548d6785d94ce5ec4aeabd Merge: ce6f988 cbf3ccd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 07:44:13 2015 +0900 Merge tag 'iommu-fixes-v4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull iommu fixes from Joerg Roedel: "Two late fixes for the AMD IOMMU driver: - add an additional check to the io page-fault handler to avoid a BUG_ON being hit in handle_mm_fault() - fix a problem with devices writing to the system management area and were blocked by the IOMMU because the driver wrongly cleared out the DTE flags allowing that access" * tag 'iommu-fixes-v4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/amd: Don't clear DTE flags when modifying it iommu/amd: Fix BUG when faulting a PROT_NONE VMA commit ce6f9886037f5566cb8e440b9caa5e7d7334e53b Merge: 896066e 8bce6d3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 07:41:48 2015 +0900 Merge tag 'md/4.3-rc6-fixes' of git://neil.brown.name/md Pull md fixes from Neil Brown: "Some raid1/raid10 fixes. I meant to get this to you before -rc7, but what with all the travel plans.. Two fixes for bugs that are in both raid1 and raid10. Both related to bad-block-lists and at least one needs to be back ported to 3.1. Also a revision for the "new" layout in raid10. This "new" code (which aims to improve robustness) actually reduces robustness in some cases. It probably isn't in use at all as not public user-space code makes use of these new layouts. However just in case someone has their own code, it would be good to get the WARNing out for them sooner" * tag 'md/4.3-rc6-fixes' of git://neil.brown.name/md: md/raid10: fix the 'new' raid10 layout to work correctly. md/raid10: don't clear bitmap bit when bad-block-list write fails. md/raid1: don't clear bitmap bit when bad-block-list write fails. md/raid10: submit_bio_wait() returns 0 on success md/raid1: submit_bio_wait() returns 0 on success commit 896066ee1cf4d653057dac4e952f49c96ad16fa7 Merge: 85051e2 22ca7ca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 07:40:01 2015 +0900 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Last fixes from me: one amdgpu/radeon suspend resume and one leak fix, along with one vmware fix for some issues when command submission fails" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/amdgpu: don't try to recreate sysfs entries on resume drm/radeon: don't try to recreate sysfs entries on resume drm/amdgpu: stop leaking page flip fence drm/vmwgfx: Stabilize the command buffer submission code commit 04850c4d8613127a9b488321c0ad83bff7519311 Author: Han Xu <b45815@xxxxxxxxxxxxx> Date: Fri Oct 23 13:18:28 2015 -0500 mtd: fsl-quadspi: fix macro collision problems with READ/WRITE Change the READ/WRITE to FSL_READ/FSL_WRITE to resolve any possible namespace collisions with READ/WRITE macros (e.g., from <linux/fs.h>). Problems have been seen, for example, on mips: >> drivers/mtd/spi-nor/fsl-quadspi.c:186:5: error: 'LUT_0' undeclared (first use in this function) ((LUT_##ins) << INSTR0_SHIFT)) ^ >> drivers/mtd/spi-nor/fsl-quadspi.c:188:30: note: in expansion of macro 'LUT0' On SPARC: drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_init_lut': drivers/mtd/spi-nor/fsl-quadspi.c:369:1: error: 'LUT_0' undeclared (first use in this function) drivers/mtd/spi-nor/fsl-quadspi.c:418:1: error: pasting "LUT_" and "(" does not give a valid preprocessing token drivers/mtd/spi-nor/fsl-quadspi.c:418:2: error: implicit declaration of function 'LUT_' And surely on others. Fixes: d26a22d06708 ("mtd: fsl-quadspi: allow building for other ARCHes with COMPILE_TEST") Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Han Xu <b45815@xxxxxxxxxxxxx> [Brian: rewrote commit description] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 67afc2110a84872aa6aae44ce6b2ea6534db1438 Author: Daniel Granat <d.granat@xxxxxxxxxxx> Date: Fri Oct 23 17:31:06 2015 +0200 coccinelle: Improve checking for missing NULL terminators Extend checking on tables containing structures which are initialized without specifying member name. Added new tables for checking: i2c_device_id and platform_device_id. Signed-off-by: Daniel Granat <d.granat@xxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 4743775c6de44b3c36e15bcab2dee928b6361a16 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Oct 26 22:28:26 2015 +0100 coccinelle: ifnullfree: handle various destroy functions Extend ifnullfree to the various destroy functions that were recently extended to tolerate NULL arguments. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ca047e715c638eacf58cb830c3ef36cecc45c3f8 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Oct 26 22:28:25 2015 +0100 coccinelle: ifnullfree: various cleanups Adjust tests to compare against NULL, to match cases that explicitly make that comparison. Remove removal and re-addition of freeing functions. Add position variable on usb_free_urb in the non-patch case. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 41167d072b8626ed14e80241c71beb99ac65db53 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Oct 22 22:11:59 2015 +0200 cocinelle: iterators: semantic patch to delete unneeded of_node_put Device node iterators perform an of_node_put on each iteration, so putting an of_node_put before a continue results in a double put. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 63a478fbc05cb0627b0a33a69f3aed8dcb965953 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Sep 28 02:34:40 2015 +0100 deb-pkg: Add automatic support for armhf architecture The Debian armhf architecture uses the ARM EABI hard-float variant, whereas armel uses the soft-float variant. Although the kernel doesn't use FP itself, CONFIG_VFP must be enabled to support hard-float userland and will probably be disabled when supporting a soft-float userland. So set the architecture to armhf by default when CONFIG_AEABI and CONFIG_VFP are both enabled. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Acked-by: Ian Campbell <ijc@xxxxxxxxxxxxxx> Acked-by: Fathi Boudra <fathi.boudra@xxxxxxxxxx> Reviewed-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit be0dbff8b46d69bd738f63b4fe0cf64417f776b0 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jun 1 16:17:20 2015 -0700 mtd: warn when registering the same master many times When CONFIG_MTD_PARTITIONED_MASTER=y, it is fatal to call mtd_device_parse_register() twice on the same MTD, as we try to register the same device/kobject multipile times. When CONFIG_MTD_PARTITIONED_MASTER=n, calling mtd_device_parse_register() is more of just a nuisance, as we can mostly navigate around any conflicting actions. But anyway, doing so is a Bad Thing (TM), and we should complain loudly for any drivers that try to do this. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> commit 3e00ed0e984bbec47f5e531bad3cf36885aa5d83 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jun 1 16:17:19 2015 -0700 mtd: fixup corner case error handling in mtd_device_parse_register() Since commit 3efe41be224c ("mtd: implement common reboot notifier boilerplate"), we might try to register a reboot notifier for an MTD that failed to register. Let's avoid this by making the error path clearer. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> commit 7c2aa6116b5bdc0cc09ae5917ea0b5ef3cc45cec Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 17 11:35:46 2015 +0200 scripts/coccinelle: fix typos Fix a couple spelling mistakes. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit cbd3e2493ca359131f412133bc57407a974285e6 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 23 12:56:51 2015 -0400 drm/radeon/dce4+: optimize pageflip (v2) Taking the grph update lock is only necessary when updating the the secondary address (for single pipe stereo). v2: fix comment as per Michel's suggestion Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1a617a8475e8509255cc77f88c148095f4cc05ba Author: Johan Hovold <johan@xxxxxxxxxx> Date: Wed Sep 30 18:37:27 2015 -0400 coccinelle: misc: remove "complex return code" warnings This effectively reverts 932058a5d5f9 ("coccinelle: misc: semantic patch to delete overly complex return code processing"). There can be both symmetry and readability reasons for not wanting to do the final function call as part of the return statement and to maintain a clear separation of success and error paths. Since this is in no way mandated by the coding standard, let's just remove this semantic patch to avoid having "clean up" patches being posted over and over in response to these Coccinelle warnings. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 182475b7a2831abf7e6ca83b2aced0bef5dcdfd3 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Oct 26 16:55:56 2015 -0400 memremap: fix highmem support Currently memremap checks if the range is "System RAM" and returns the kernel linear address. This is broken for highmem platforms where a range may be "System RAM", but is not part of the kernel linear mapping. Fallback to ioremap_cache() in these cases, to let the arch code attempt to handle it. Note that ARM ioremap will WARN when attempting to remap ram, and in that case the caller needs to be fixed. For this reason, existing ioremap_cache() usages for ARM are already trained to avoid attempts to remap ram. The impact of this bug is low for now since the pmem driver is the only user of memremap(), but this is important to fix before more conversions to memremap arrive in 4.4. Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reported-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 5b169108571e0ada22f9b9f5448a2e4fefb5faa6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 22 15:15:30 2015 +0200 Coccinelle: fix incorrect -include option transformation kbuild/gcc uses -include option to include files and -I to provide paths for #include <> directive. In case of spatch latter option should be prefixed with two -. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit af30c0a00aa0d086a820c2ec75544c07611834d7 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 22 20:29:54 2015 +0530 mtd: tests: Replace timeval with ktime_t Changes the 32-bit time type timeval to the 64-bit time type ktime_t, since 32-bit systems using struct timeval will break in the year 2038. Correspondingly change do_gettimeofday() to ktime_get() since ktime_get returns a ktime_t, but do_gettimeofday returns a struct timeval.Here, ktime_get() is used instead of ktime_get_real() since ktime_get() uses monotonic clock. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e278fc71b2c63905d3631b8d7b12ab7bcba9d2be Author: Stefan Roese <sr@xxxxxxx> Date: Mon Oct 19 08:40:13 2015 +0200 mtd: fsmc_nand: Add BCH4 SW ECC support for SPEAr600 This patch adds support for 4-bit ECC BCH4 for the SPEAr600 SoC. This can be used by boards equipped with a NAND chip that requires 4-bit ECC strength. The SPEAr600 HW ECC only supports 1-bit ECC strength. To enable SW BCH4, you need to specify this in your nand controller DT node: nand-ecc-mode = "soft_bch"; nand-ecc-strength = <4>; nand-ecc-step-size = <512>; Tested on a custom SPEAr600 board. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> [Brian: tweaked the comments a bit] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 48c25cf441182e629e52e7f9fa56c2019e75fb00 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 29 14:11:56 2015 -0700 mtd: nand: vf610_nfc: use nand_check_erased_ecc_chunk() helper Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit b70af9bef49bd9a5f4e7a2327d9074e29653e665 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Tue Oct 6 14:52:07 2015 +0100 mtd: nand: increase ready wait timeout and report timeouts If nand_wait_ready() times out, this is silently ignored, and its caller will then proceed to read from/write to the chip before it is ready. This can potentially result in corruption with no indication as to why. While a 20ms timeout seems like it should be plenty enough, certain behaviour can cause it to timeout much earlier than expected. The situation which prompted this change was that CPU 0, which is responsible for updating jiffies, was holding interrupts disabled for a fairly long time while writing to the console during a printk, causing several jiffies updates to be delayed. If CPU 1 happens to enter the timeout loop in nand_wait_ready() just before CPU 0 re- enables interrupts and updates jiffies, CPU 1 will immediately time out when the delayed jiffies updates are made. The result of this is that nand_wait_ready() actually waits less time than the NAND chip would normally take to be ready, and then read_page() proceeds to read out bad data from the chip. The situation described above may seem unlikely, but in fact it can be reproduced almost every boot on the MIPS Creator Ci20. Therefore, this patch increases the timeout to 400ms. This should be enough to cover cases where jiffies updates get delayed. In nand_wait() the timeout was previously chosen based on whether erasing or programming. This is changed to be 400ms unconditionally as well to avoid similar problems there. nand_wait() is also slightly refactored to be consistent with nand_wait{,_status}_ready(). These changes should have no effect during normal operation. Debugging this was made more difficult by the misleading comment above nand_wait_ready() stating "The timeout is caught later" - no timeout was ever reported, leading me away from the real source of the problem. Therefore, a pr_warn() is added when a timeout does occur so that it is easier to pinpoint similar problems in future. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Harvey Hunt <harvey.hunt@xxxxxxxxxx> Reviewed-by: Niklas Cassel <niklas.cassel@xxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Niklas Cassel <niklas.cassel@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 02da7b42777c159c6897e233e6c53d5581c07dab Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Aug 30 22:18:14 2015 +0200 coccinelle: tests: improve odd_ptr_err.cocci The original version only considered the case where the then branch contains only one call to PTR_ERR. Reimplement the whole thing to allow multiple calls, with potentially different arguments. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 74a8478f9ea2b3e70640a64db8acd54d4225a2c4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Sep 4 21:27:51 2015 +0200 coccinelle: misc: move constants to the right Move constants to the right in binary operators. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit c23a5847695dbda865fdb032a25b7f95a1438042 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Oct 24 18:55:24 2015 +0200 clk: lpc18xx-cgu: fix potential system hang when disabling unused clocks The clock consumer (CCU) of the CGU must be able to check if a CGU base clock is really running since access to the CCU registers requires a running base clock. Access with a disabled base clock will cause the system to hang. Fix this issue by adding code that check if the parent clock is running in the is_enabled clk_ops callback. Since certain clocks can be cascaded this must be added to all clock gates. The hang would occur if the boot ROM or boot loader didn't setup and enable the USB0 clock. Then when the clk framework tried to access the CCU register it would hang the system. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2a9a06f98f26654d3b07482319ea0be276689f0b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Oct 24 18:55:23 2015 +0200 clk: lpc18xx-ccu: fix potential system hang when disabling unused clocks CCU branch clock register must only be accessed while the base (parent) clock is running. Access with a disabled base clock will cause the system to hang. Fix this issue by adding code that check if the parent clock is running in the is_enabled clk_ops callback. This hang would occur when disabling unused clocks after AMBA runtime pm had already disabled some of the clocks. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit be68bf883170b3e4123fc4ff3745e38fb45a573e Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Oct 24 18:55:22 2015 +0200 clk: Add clk_hw_is_enabled() for use by clk providers Add clk_hw_is_enabled() to the provider APIs so clk providers can use a struct clk_hw instead of a struct clk to check if a clk is enabled or not. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 679c51cffc3b316bd89ecc91ef92603dd6d4fc68 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 26 11:55:34 2015 -0700 clk: Add stubs for of_clk_*() APIs when CONFIG_OF=n Compiling the versatile clock driver with COMPILE_TEST=y and CONFIG_OF=n leads to the following error: drivers/clk/versatile/clk-sp810.c: In function 'clk_sp810_of_setup': drivers/clk/versatile/clk-sp810.c:103:6: error: implicit declaration of function 'of_clk_parent_fill' [-Werror=implicit-function-declaration] Silence it by providing stubs APIs for of_clk_parent_fill(). Throw in a stub for of_clk_get_parent_count() too because we're in the area. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2382960793c2480277ae98a891ea5aa566e06ff1 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Oct 19 13:20:05 2015 +0300 mtd: docg3: off by one in doc_register_sysfs() Smatch found a bug in the error handling: drivers/mtd/devices/docg3.c:1634 doc_register_sysfs() error: buffer overflow 'doc_sys_attrs' 4 <= 4 The problem is that if the very last device_create_file() fails, then we are beyond the end of the array. Actually, any time i == 3 then there is a problem. We can fix this an simplify the code at the same time by moving the !ret conditions out of the for loops and using a goto instead. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 89c1702da717164fcff633594e130f54dd563499 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 10:29:04 2015 +0200 mtd: pxa3xx_nand: clean up the pxa3xx timings With the previous modifications, lots of pxa3xx specific definitions can be removed. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f19fe9833d3cb7d95ccd4da6bd83de1d4c77592f Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 10:29:03 2015 +0200 mtd: pxa3xx_nand: rework flash detection and timing setup Rework the pxa3xx_nand driver to allow using functions exported by the nand framework to detect the flash and the timings. Then setup the timings using the helpers previously added. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f225b7f52c428e6dccfd28f4cdd93dfe1c936c4 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 10:29:02 2015 +0200 mtd: pxa3xx_nand: add helpers to setup the timings Add helpers to setup the timings in the pxa3xx driver. These helpers allow to either make use of the nand framework nand_sdr_timings or the pxa3xx specific pxa3xx_nand_host, for compatibility reasons. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ab53a571a4777c36324a030a632281daaf505118 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 10:29:00 2015 +0200 mtd: pxa3xx_nand: fix some compile issues on non-ARM arches Using readsl() result in a build error on i386. Fix this by using ioread32_rep() instead, to allow compile testing the pxa3xx nand driver on other architectures later. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 01b19455c08cc37d1c3ef174524278e84c92fec1 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Oct 25 00:49:26 2015 +0900 perf tools: Setup pager when printing usage and help It's annoying to see error or help message when command has many options like in perf record, report or top. So setup pager when print parser error or help message - it should be OK since no UI is enabled at the parsing time. The usage_with_options() already disables it by calling exit_browser() anyway. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445701767-12731-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b272a59d835cd8ca6b45f41c66c61b473996c759 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Oct 25 00:49:25 2015 +0900 perf report: Rename to --show-cpu-utilization So that it can be more consistent with other --show-* options. The old name (--showcpuutilization) is provided only for compatibility. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445701767-12731-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5f4a6932ec2e1a53642e97a1be64bc7b169942f Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Oct 25 00:49:24 2015 +0900 perf tools: Improve ambiguous option help message Currently if an option name is ambiguous it only prints first two matched option names but no help. It'd be better it could show all possible names and help messages too. Before: $ perf report --show Error: Ambiguous option: show (could be --show-total-period or --show-ref-call-graph) Usage: perf report [<options>] After: $ perf report --show Error: Ambiguous option: show (could be --show-total-period or --show-ref-call-graph) Usage: perf report [<options>] -n, --show-nr-samples Show a column with the number of samples --showcpuutilization Show sample percentage for different cpu modes -I, --show-info Display extended information about perf.data file --show-total-period Show a column with the sum of periods --show-ref-call-graph Show callgraph from reference event Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445701767-12731-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c0963772cbbf1b7dc9fad4497f3aba8526bb07d6 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Sun Oct 25 18:24:38 2015 +0200 rtl8xxxu: fix unused rtl8192cu_fops compiler warning kbuild reported: rtl8xxxu.c:5786:32: warning: â??rtl8192cu_fopsâ?? defined but not used [-Wunused-variable] Fix it by adding temporary ifdefs around the static functions. Fixes: 033695bdf6d7 ("rtl8xxxu: move devices supported by rtlwifi under UNTESTED config") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d9684bb5b3ef83e22a7270341e722f1acc1d97e5 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 26 16:54:16 2015 +0100 ALSA: hda/ca0132 - Convert leftover pr_info() and pr_err() Use codec_*() macro instead of pr_*() for improving the log information. The current form even slips from alsa-info.sh. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a7cedab6ccd7f02c86476ae52760a5d0482806fa Author: Lokesh Vutla <lokeshvutla@xxxxxx> Date: Tue Oct 20 16:50:06 2015 -0500 mmc: omap_hsmmc: Enable omap_hsmmc for Keystone 2 Enable omap_hsmmc for Keystone 2 architecture which reuses the HSMMC IP found on OMAP platforms. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e839b134761444e5988d5eee1ef54a0ff2327344 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 21 11:15:46 2015 +0300 mmc: sdhci-acpi: Add more ACPI HIDs for Intel controllers Add ACPI HIDs for Intel host controllers including one supporting HS400. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4fd4c0655b82b0f81841b915ef1e70e2141d4a38 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 21 11:15:45 2015 +0300 mmc: sdhci-pci: Add more PCI IDs for Intel controllers Add PCI IDs for Intel host controllers Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b3b78f2cb2eeca47f3b81dd795fd341a337363c4 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:43:01 2015 +0800 arm: lpc18xx_defconfig: remove CONFIG_MMC_DW_IDMAC DesignWare MMC Controller's transfer mode should be decided at runtime instead of compile-time. So we remove this config option and read dw_mmc's register to select DMA master. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fdd36e530e0f29b86aaa2013e0d9dee0964ecf6f Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:42:49 2015 +0800 arm: hisi_defconfig: remove CONFIG_MMC_DW_IDMAC DesignWare MMC Controller's transfer mode should be decided at runtime instead of compile-time. So we remove this config option and read dw_mmc's register to select DMA master. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 391ce1e0eb0af2cb5d85273a142061fb77ecf135 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:42:37 2015 +0800 arm: exynos_defconfig: remove CONFIG_MMC_DW_IDMAC DesignWare MMC Controller's transfer mode should be decided at runtime instead of compile-time. So we remove this config option and read dw_mmc's register to select DMA master. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 005a5243aab6a2d45910233593bf9cba4f207bf2 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:42:20 2015 +0800 arc: axs10x_defconfig: remove CONFIG_MMC_DW_IDMAC DesignWare MMC Controller's transfer mode should be decided at runtime instead of compile-time. So we remove this config option and read dw_mmc's register to select DMA master. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b13af8f9685e85d0a0939aae8c5fce53f8e90186 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:42:05 2015 +0800 mips: pistachio_defconfig: remove CONFIG_MMC_DW_IDMAC DesignWare MMC Controller's transfer mode should be decided at runtime instead of compile-time. So we remove this config option and read dw_mmc's register to select DMA master. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 87ffa7d30d0be24f4bcf08005f145903c5ef55b7 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:41:50 2015 +0800 Documentation: synopsys-dw-mshc: add bindings for idmac and edmac synopsys-dw-mshc supports three types of transfer mode. We add bindings and description for how to use them at runtime. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 70692752af12e2dbae48685b1d07fe7bdb2fab31 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:41:37 2015 +0800 mmc: dw_mmc: use macro for HCON register operations This patch add some macros for HCON register operations to make code more readable. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3fc7eaef44dbcbcd602b6bcd0ac6efba7a30b108 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:41:23 2015 +0800 mmc: dw_mmc: Add external dma interface support DesignWare MMC Controller can supports two types of DMA mode: external dma and internal dma. We get a RK312x platform integrated dw_mmc and ARM pl330 dma controller. This patch add edmac ops to support these platforms. I've tested it on RK31xx platform with edmac mode and RK3288 platform with idmac mode. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9e4703df3aa9829a84d6ccf19c6062ba19a8de71 Author: yangbo lu <yangbo.lu@xxxxxxxxxxxxx> Date: Fri Oct 16 15:44:03 2015 +0800 mmc: sdhci-of-esdhc: avoid writing power control register The eSDHC doesn't have a standard power control register, so when writing this register in stack we should do nothing to avoid incorrect operation. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a599579ee8e32daebdfa4d97b24389c680ef5789 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 01:40:16 2015 +0300 DT: mmc: sh_mmcif: document R8A7794 support Renesas R8A7794 SoC also has the MMCIF controller. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 76d63c2b59d4a1481bedc65a3ef25e9d1354dca3 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 01:39:39 2015 +0300 DT: mmc: sh_mmcif: fix "compatible" property text The "compatible" property text contradicts even the example given in the MMCIF binding document itself; moreover, the Renesas MMCIF driver only matches on the generic "compatible" string and doesn't look for the SoC specific strings at all. Thus describe "renesas,sh-mmcif" as a fallback value. Fixes: b4c27763d749 ("mmc: sh_mmcif: Document DT bindings") Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2860d060ac902df0164cc9580f843b101e27a2c6 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:53:03 2015 +0300 mmc: skip reclaiming host on mmc_add_card() error There's little sense in releasing the host on mmc_add_card() error immediately after reclaiming it, so reclaim the host only in case of success. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7f8a9a7e98f99e9cd874eaf6ca2f00438c2a7c38 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Oct 10 17:08:32 2015 +0100 mmc: android-goldfish: Allow compiling the driver with COMPILE_TEST The driver depends on GOLDFISH but there isn't a build dependency so it's a good idea to allow the driver to always be built when the COMPILE_TEST option is enabled. That way, the driver can be built with a config generated by make allyesconfig and check if a patch would break the build. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c41d31f71d8889919d2f3becbccd6d2d7a3bd243 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Oct 12 14:48:30 2015 +0200 ARM: dts: rockchip: add tuning related settings to veyron devices This allows the tuning code to run and use higher speeds on capable cards. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f71ddc5873cb90ffb217de50aed8bdd2fb00fc9f Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Mon Oct 12 14:48:29 2015 +0200 ARM: dts: rockchip: Add drive/sample clocks for rk3288 dw_mmc devices The drive/sample clocks can be phase shifted. The drive clock could be used in a future patch to adjust hold times. The sample clock is used for tuning. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit cbb79e43c82635840cdcbf71b1d1c374e2c3a025 Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Mon Oct 12 14:48:28 2015 +0200 mmc: dw_mmc-rockchip: MMC tuning with the clock phase framework This algorithm will try 1 degree increments, since there's no way to tell what resolution the underlying phase code uses. As an added bonus, doing many tunings yields better results since some tests are run more than once (ex: if the underlying driver uses 45 degree increments, the tuning code will try the same angle more than once). It will then construct a list of good phase ranges (even ranges that cross 360/0), will pick the biggest range then it will set the sample_clk to the middle of that range. We do not touch ciu_drive (and by extension define default-drive-phase). Drive phase is mostly used to define minimum hold times, while one could write some code to determine what phase meets the minimum hold time (ex 10 degrees) this will not work with the current clock phase framework (which floors angles, so we'll get 0 deg, and there's no way to know what resolution the floors happen at). We assume that the default drive angles set by the hardware are good enough. If a device has device specific code (like exynos) then that will still take precedence, otherwise this new code will execute. If the device wants to tune, but has no sample_clk defined we'll return EIO with an error message. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f8085bbada3b124b5b39b61bb1a7a0a78c24604b Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Mon Oct 12 14:48:27 2015 +0200 mmc: dw_mmc-rockchip: dt-binding: Add tuning related things Add ciu_drive, ciu_sample clocks and default-sample-phase. This will later be used by tuning code. We do not touch ciu_drive (and by extension define default-drive-phase). Drive phase is mostly used to define minimum hold times, while one could write some code to determine what phase meets the minimum hold time (ex 10 degrees) this will not work with the current clock phase framework (which floors angles, so we'll get 0 deg, and there's no way to know what resolution the floors happen at). We assume that the default drive angles set by the hardware are good enough. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e0848f5d294c703917260a6228cc08b8be46c527 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Mon Oct 12 14:48:26 2015 +0200 mmc: dw_mmc: Use mmc_regulator_set_vqmmc in start_signal_voltage_switch We've introduced a new helper in the MMC core: mmc_regulator_set_vqmmc(). Let's use this in dw_mmc. Using this new helper has some advantages: 1. We get the mmc_regulator_set_vqmmc() behavior of trying to match VQMMC and VMMC when the signal voltage is 3.3V. This ensures max compatibility. 2. We get rid of a few more warnings when probing unsupported voltages. 3. We get rid of some non-dw_mmc specific code in dw_mmc. Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2086f801cb2a796279e817e68255654c4cfd3be3 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Mon Oct 12 14:48:25 2015 +0200 mmc: core: Add mmc_regulator_set_vqmmc() This adds logic to the MMC core to set VQMMC. This is expected to be called by MMC drivers like dw_mmc as part of (or instead of) their start_signal_voltage_switch() callback. A few notes: * When setting the signal voltage to 3.3V we do our best to make VQMMC and VMMC match. It's been reported that this makes some old cards happy since they were tested back in the day before UHS when VQMMC and VMMC were provided by the same regulator. A nice side effect of this is that we don't end up on the hairy edge of VQMMC (2.7V), which some EEs claim is a little too close to the minimum for comfort. This is done in two steps. At first we try to find a VQMMC within a 0.3V tolerance of VMMC and if this is not supported by the supplying regulator we try to find a suitable voltage within the whole 2.7V-3.6V area of the spec. * The two step approach is currently necessary, as the used regulator_set_voltage_triplet(min, target, max) uses a simple implementation that just tries two basic steps: regulator_set_voltage(target, max); regulator_set_voltage(min, target); So with only one step with 2.7-3.6V borders, if a suitable voltage is a bit below VMMC, we would directly get the lowest 2.7V which some boards (like Rockchips) don't like at all. * When setting the signal voltage to 1.8V or 1.2V we aim for that specific voltage instead of picking the lowest one in the range. * We very purposely don't print errors in mmc_regulator_set_vqmmc(). There are cases where the MMC core will try several different voltages and we don't want to pollute the logs. Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 310c805e7f133443cd57f880b73557a4a8f54b30 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Oct 12 18:00:54 2015 +0200 mmc: core: move ocr-bit to voltage translation into separate function We will shortly need the calculation of an ocr-bit to the actual voltage in a second place too, so move it from mmc_regulator_set_ocr to a common function mmc_ocrbitnum_to_vdd to make that possible. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9eadcc0581a8ccaf4c2378aa1c193fb164304f1d Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Oct 2 10:56:11 2015 +0200 mmc: core: Remove MMC_CLKGATE MMC_CLKGATE was once invented to save power by gating the bus clock at request inactivity. At that time it served its purpose. The modern way to deal with power saving for these scenarios, is by using runtime PM. Nowadays, several host drivers have deployed runtime PM, but for those that haven't and which still cares power saving at request inactivity, it's certainly time to deploy runtime PM as it has been around for several years now. To simplify code to mmc core and thus decrease maintenance efforts, this patch removes all code related to MMC_CLKGATE. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a22950c888e3770c958a5c489906b48d3764a783 Author: yangbo lu <yangbo.lu@xxxxxxxxxxxxx> Date: Thu Oct 8 18:36:57 2015 +0800 mmc: sdhci-of-esdhc: add quirk SDHCI_QUIRK_BROKEN_TIMEOUT_VAL for ls1021a Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2ca635242ec40c8d575e337a0b2b0a1928ad6581 Author: yangbo lu <yangbo.lu@xxxxxxxxxxxxx> Date: Thu Oct 8 18:36:47 2015 +0800 mmc: kconfig: reconfigure MMC_SDHCI_OF_ESDHC option Freescale eSDHC driver now supports both little-endian and big-endian mode eSDHC IPs for ARM and PPC. So, MMC_SDHCI_OF_ESDHC option needs to be reconfigured. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f4932cfd22f151af19d552c0ee607b2fb9c41b53 Author: yangbo lu <yangbo.lu@xxxxxxxxxxxxx> Date: Thu Oct 8 18:36:36 2015 +0800 mmc: sdhci-of-esdhc: support both BE and LE host controller To support little endian eSDHC controller, we redefine both BE and LE IO accessors. In the new accessors, use ioread*/iowrite* instead of in_be32/out_be32 and will select accessors according to endian mode in probe function. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e38eeca5c23389f9a606e4847f0f9731b2e889f2 Author: yangbo lu <yangbo.lu@xxxxxxxxxxxxx> Date: Thu Oct 8 18:36:23 2015 +0800 mmc: dt: add DT binding for little-endian eSDHC host controller Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 06bf9c565444643ce2732f8a297f76b953acde6b Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Oct 6 10:26:21 2015 +0300 mmc: sdhci-pci: Add another PCI ID for an Intel eMMC host controller Add another PCI ID for an Intel eMMC host controller. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4351f19a337d48a780762d076408ebe9b0c1f945 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Wed Sep 30 16:07:38 2015 +0200 clk: rockchip: Make calculations use rounding Let's use DIV_ROUND_CLOSEST for rounding, not just truncating division. This lets us get closer to the right rate. Before this: set_phase(86) delay_nums=26 reg[0xf000420c]=0x468 actual_degrees=83 set_phase(89) delay_nums=27 reg[0xf000420c]=0x46c actual_degrees=86 After this: set_phase(86) delay_nums=27 reg[0xf000420c]=0x46c actual_degrees=86 set_phase(89) delay_nums=28 reg[0xf000420c]=0x470 actual_degrees=90 Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f0232063fb64fc79bfb7b6b35d611b2e4a79ffe6 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Wed Sep 30 16:07:37 2015 +0200 clk: rockchip: Allow more precision for some mmc clock phases Because of the inexact nature of the extra MMC delay elements (it's not possible to keep the phase monotonic and to also make phases (mod 90) > 70), we previously only allowed phases (mod 90) of 22.5, 45, and 67.5. But it's not the end of the world if the MMC clock phase goes non-monotonic. At most we'll be 25 degrees off. It's way better to test more phases to look for bad ones than to be 25 degrees off, because in the case of MMC really the point is to find bad phases and get as far asway from the as possible. If we get to test extra phases by going slightly non-monotonic then that might be fine. Worst case we would end up at a phases that's slight differnt than the one we wanted, but at least we'd still be quite far away from the a bad phase. Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Fold in more precise variance-values of 44-77 instead of 40-80. Fold in the actual removal of the monotonic requirement and adapt patch message accordingly. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7582041ff3d4aaa348894858d6384c4a9981c5fc Author: kbuild test robot <lkp@xxxxxxxxx> Date: Tue Oct 6 04:01:04 2015 +0800 mmc: sdhci-pci: fix simple_return.cocci warnings drivers/mmc/host/sdhci-pci-core.c:447:1-4: WARNING: end returns can be simpified Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f0cbd7806d736d77714994cc41c5161c0a29cccf Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Oct 5 20:31:58 2015 +0100 mmc: sdhci-pci: Make sdhci_pci_o2_fujin2_pci_init() static It has no external callers. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 659c9bc114a810b3a3c1e50585cc57f1312a6d60 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Oct 5 20:31:18 2015 +0100 mmc: sdhci-pci: Build o2micro support in the same module sdhci-pci-o2micro.c contains no initialisation and its functions are only called from shdci-pci.c, so there is no reason for it to be a separate module, let alone or for it to always be built-in. - Rename sdhci-pci.c to sdhci-pci-core.c so that the sdhci-pci module can be built from multiple source files - Add sdhci-pci-o2micro.c to it - Remove redundant exports Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0de9125fa823e526c9f68dc0987aae342ec94cbd Author: Weijun Yang <york.yang@xxxxxxx> Date: Sun Oct 4 12:04:13 2015 +0000 mmc: sirf: fix the capbility to support DDR50 According to hardware spec, validate DDR50 mode for SDXC. Signed-off-by: Weijun Yang <york.yang@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9faac7b95ea4f9e83b7a914084cc81ef1632fd91 Author: Weijun Yang <york.yang@xxxxxxx> Date: Sun Oct 4 12:04:12 2015 +0000 mmc: sdhci: enable tuning for DDR50 CMD19 tuning is also available for DDR50 mode. Signed-off-by: Weijun Yang <york.yang@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4324f6de6d2eb9b232410eb0d67bfafdde8ba711 Author: Weijun Yang <york.yang@xxxxxxx> Date: Sun Oct 4 12:04:11 2015 +0000 mmc: core: enable CMD19 tuning for DDR50 mode As SD Specifications Part1 Physical Layer Specification Version 3.01 says, CMD19 tuning is available for unlocked cards in transfer state of 1.8V signaling mode. The small difference between v3.00 and 3.01 spec means that CMD19 tuning is also available for DDR50 mode. Signed-off-by: Weijun Yang <york.yang@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b093410c9aef29efbf2f4af7b00b2dcc1c119fe8 Author: Grant Grundler <grundler@xxxxxxxxxxxx> Date: Wed Sep 23 18:30:33 2015 -0700 mmc: block: copy resp[] data on err for MMC_IOC_MULTI_CMD MMC_IOC_CMD and MMC_IOC_MULTI_CMD ioctl() code currently bails on any eMMC errors. However, in case there is any resp[] data, we should attempt to copy resp[] back to user space. The user app can then determine which command(s) failed in the MMC_IOC_MULTI_CMD case AND/OR report better diagnostics in both cases. Gwendal Grignou provided the idea and it was previously implemented and tested on v3.18 ChromeOS kernel: https://chromium-review.googlesource.com/#/c/299956 Signed-off-by: Grant Grundler <grundler@xxxxxxxxxxxx> Reviewed-by: Hyung Taek Ryoo <hryoo@xxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Tested-by: David Riley <davidriley@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 85f45058eeef94fdc9f533cca8e17679e44f1177 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Thu Sep 24 08:13:43 2015 +0800 mmc: debugfs: implement ios show for SDR12 and SDR25 This patch add MMC_TIMING_UHS_SDR12 and MMC_TIMING_UHS_SDR25 for mmc_ios_show to show the ios->timing if mmc card runs under these two modes. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c1590dd86d6e34df214f30a501682e392be0ba3c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 17:30:26 2015 +0200 mmc: sunxi: Add card busy detection Some sdio wifi modules have not been working reliable with the sunxi-mmc host code. This turns out to be caused by starting new io-rw commands while the card signals that it is still busy processing a previous command. This commit adds card-busy detection to the sunxi-mmc driver which together with recent core changes to check card-busy before starting io-rw commands fixes the wifi reliability issues on the Cubietruck and other sunxi boards using sdio wifi. Reported-by: Eugene K <sigintmailru@xxxxxxxxx> Suggested-by: Eugene K <sigintmailru@xxxxxxxxx> Cc: Eugene K <sigintmailru@xxxxxxxxx> Cc: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5d3f6ef04d65dda92a3573841a7215fb05c347de Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 17:30:25 2015 +0200 mmc: Wait for card_busy before starting sdio requests Some sdio wifi chips will not work properly if we try to start new sdio-rw requests while the device is signalling that it is busy. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit de98c55682790437fb3c6b5335f2bf3ce20539db Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 17:30:24 2015 +0200 mmc: Add mmc_is_io_op helper function Add a helper function to check if an opcode is a sd-io-rw-* opcode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a5f5774c55a2e3ed75f4d6c5556b7bfcb726e6f0 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Tue Sep 22 10:27:53 2015 +0100 mmc: block: Add new ioctl to send multi commands Certain eMMC devices allow vendor specific device information to be read via a sequence of vendor commands. These vendor commands must be issued in sequence and an atomic fashion. One way to support this would be to add an ioctl function for sending a sequence of commands to the device atomically as proposed here. These multi commands are simple array of the existing mmc_ioc_cmd structure. The structure passed via the ioctl uses a __u64 type to specify the number of commands (so that the structure is aligned on a 64-bit boundary) and a zero length array as a header for list of commands to be issued. The maximum number of commands that can be sent is determined by MMC_IOC_MAX_CMDS (which defaults to 255 and should be more than sufficient). This based upon work by Seshagiri Holi <sholi@xxxxxxxxxx>. Signed-off-by: Seshagiri Holi <sholi@xxxxxxxxxx> Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit aaa58d0e932c518bdb1d9dc767876d7a8c68e17e Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Wed Sep 16 14:36:10 2015 +0800 mmc: sdhci-pltfm: enable interrupt mode to detect card for ls1021a Enable interrupt mode to detect card instead of polling mode for ls1021a by removing the quirk SDHCI_QUIRK_BROKEN_CARD_DETECTION. This could improve data transferring performance and avoid the call trace caused by polling card status sometime. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ce037275861ea6c016ab88a6b884adb8c481db31 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:14:54 2015 +0200 mmc: pwrseq_simple: use GPIO descriptors array API The simple power sequence provider sets a value for multiple GPIOs in one go so it is better to use the API already provided by the GPIO descriptor API instead of open coding the same logic. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8131e815f723ec8fee018d6fa34348d61c0e54b8 Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Sep 22 14:00:44 2015 +0800 mmc: mediatek: Add MMC_CAP_RUNTIME_RESUME support Add MMC_CAP_RUNTIME_RESUME support to save resume time Drop unnecessary SDC_ARG write Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d1f23f9304f303e15200c8b7940eeeeb1a1c8c6a Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Tue Sep 22 09:20:08 2015 +0800 mmc: debugfs: implement ios show for driver type This patch add ios->drv_type for mmc_ios_show to show the card's driver type. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b73f34c22d283f049347f7f625c272ec22830eb3 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 23:50:25 2015 +0200 mmc: omap: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 774523539fff7bf34499b7b088dc8b2c0b4a04bc Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 23:49:59 2015 +0200 mmc: moxart: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e02b9d7cbfe1536aef9e7ba7751993d7eca6e829 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Thu Sep 17 15:09:54 2015 +0200 mmc: sdhci-pltfm: Use of_property_read_u32 instead of open-coding it Use of_property_read_u32 instead of of_get_property with return value checks and endianness conversion. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bf7241d02eb4704beeaa055cb027ba7b28344a0e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:12:07 2015 +0200 mmc: mmc_spi: Export OF module alias information Drivers needs to export the OF id table and this be built into the module or udev won't have the necessary information to autoload the driver module when the device is registered via OF. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 930d50f7fd49fe485d9126ffd26dcc0428d7920a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Sep 16 09:19:49 2015 +0300 mmc: sdhci-of-at91: remove a line of dead code The goto is correct and the unreachable "return -EINVAL" should be removed. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 14a7b416434a8076afb2dea8bb51c6514b41a47b Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Sep 15 18:32:58 2015 +0800 mmc: sdhci: call sdhci_init() before request irq sdhci_init() will clear all irqs and set the needed irqs. So logically sdhci_init() should be called before request irq. If not, some irqs may be triggled and handled wrongly. Take the following into consideration, after request irq, if SDIO card interrupt enabled, a sd card in the sd slot will trigger a mass of interrupt(SDHCI_INT_CARD_INT), because at this time, the vmmc-regulator still not restore, no voltage supply for the sd card, so the pin of data0~data3 change and keep low, interrupt(SDHCI_INT_CARD_INT) will rise up ceaselessly. Due to we already reguest irq, system will be busy in handling this endless irq, can't response to other event. So we should call sdhci_init() before request irq in sd resume. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 28804293b9086100ae784a15d62ebf6249db433c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:53:20 2015 +0200 mmc: sdhci-bcm-kona: fix logic to check for 8-bit data width The driver prints if the data width is 8-bit but it's using a binary OR instead of a binary AND so it will always report as "is_8bit=Y" regardless of the flags in host->mmc->caps. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a30b55119d086d33bd6046dfdd4723c810fd2579 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 14 14:00:35 2015 +0200 mmc: pwrseq: use gpiod_get() instead of index 0 The gpiod_get() function expands to gpiod_get_index() with index 0 so it's better to use it since is easier to read and more concise. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f90d2e4035d456cb20c0b784725d556eb4de4d8a Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Sep 15 15:19:45 2015 +0200 mmc: core: Convert __mmc_switch() into an internal core function As there are no users of the __mmc_switch() API, except for the mmc core itself, let's convert it from an exported function into an internal. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7eece8d0e436e1eabc6b0adb04872964afe20b35 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:30:04 2015 +0200 mmc: vub300: Remove unneded semicolons They aren't needed and are just creating null statements so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 17a90539710d090d7bfb736c071a94451dc09170 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:30:03 2015 +0200 mmc: wbsd: Remove unneded semicolon It's not needed an is just creating a null statement, so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bf8b8511af7721e6f81848a1fd1359716602f3b7 Author: Yousong Zhou <yszhou4tech@xxxxxxxxx> Date: Thu Sep 10 00:33:16 2015 +0800 mmc: sd: Remove superfluous error code assignment Signed-off-by: Yousong Zhou <yszhou4tech@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8d1ffc8c982e4480059ef735e8f15f631e40e80c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 11 14:41:55 2015 +0200 mmc: core: Keep host claimed while invoking mmc_power_off|up() As mmc_claim_host() invokes pm_runtime_get_sync() for the mmc host device, it's important that the host is kept claimed for *all* accesses to it via the host_ops callbacks. In some code paths for SDIO, particularly related to the PM support, mmc_power_off|up() is invoked without keeping the host claimed. Let's fix these. Moreover, mmc_start|stop_host() also invokes mmc_power_off|up() without claiming the host, let's fix these as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 0cd2f04453fcb7bf3f38a4a72d1619636b4afa57 Author: Michele Curti <michele.curti@xxxxxxxxx> Date: Sat Sep 5 08:49:52 2015 +0200 mmc: sdhci-acpi: detect sd card reader on asus x205ta Add an entry to the sdhci_acpi_uids list to detect the SD card reader on the Asus X205Ta laptop. dstd table: Device (SDHC) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "PNP0FFF") // _HID: Hardware ID Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) Name (_DDN, "Intel(R) SD Card Controller - 80860F16") // _DDN: DOS Dev Name (_UID, 0x03) // _UID: Unique ID Name (RDEP, Package (0x02) Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3924bac47abe2e789ffda39685aa9f70dcde02c7 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Oct 26 15:09:53 2015 +0100 i2c: cadence: enable driver for ARM64 This IP is available on Xilinx ZynqMP. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2b630df721ee4c286d286ab5d5d958d34c86f067 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Oct 26 13:26:56 2015 +0200 i2c: i801: Document Intel DNV and Broxton Add missing entries into i2c-i801 documentation and Kconfig about recently added Intel DNV and Broxton. Reported-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 4a322296680e560a8ff7eb05c1e58a8cf8497344 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 31 00:58:30 2015 +0200 mfd: rt5033: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the module aliases which already contains a "rt5033". So the alias is not needed. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9828ab4711d6e605ecb565c995123ed849908553 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 31 00:58:29 2015 +0200 mfd: bcm590xx: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the module aliases and also "bcm590xx" isn't a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 55cec67aa3ddb7bfb5043ce1540db8839059ccb7 Author: Enric Balletbo i Serra <eballetbo@xxxxxxxxx> Date: Tue Sep 8 10:09:39 2015 +0200 mfd: tps65217: Add battery charger as subdevice Add tps65217 battery charger subdevice. Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 26fade40a0391f0fc2a49a7c597120e76e41a1ec Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 09:39:30 2015 +0100 mfd: wm8998: Fixup register defaults/readables Remove defaults for a bunch of volatile registers and remove ARIZONA_CTRL_IF_SPI_CFG_1 from the readable list since it doesn't exist on wm8998 which is I2C only. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9111fa5c4032589e9b7ccc01e330810ba05726bf Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 09:49:22 2015 +0100 mfd: arizona: Add register bits to support the ANC block Some Arizona devices have a hardware ANC block present. This patch adds the registers necessary to configure this hardware block. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0a464dfdf8dec7410bd6bc8af9086098ee712a04 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:07:56 2015 +0100 mfd: arizona: Fix typo in arizona_irq_map The type of the data for the main Arizona IRQ chip should be struct arizona not struct regmap_irq_chip_data. The bug is harmless but should probably be corrected anyway. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 16dfd10375011e0999ce9d96df2df08380edf001 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:07:56 2015 +0200 mfd: wm831x: Fix possible NULL pointer dereference The driver always checks for pdata being NULL except in one place. Add a check to prevent a possible NULL pointer deference error. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d785334a0d5deff30a487c74324b842d2179553d Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Mon Sep 14 21:12:45 2015 +0900 mfd: s2mps11: Add manual shutdown method for Odroid XU3 On Odroid XU3 board (with S2MPS11 PMIC) the PWRHOLD bit in CTRL1 register must be manually set to 0 before initiating power off sequence. One of usual power down methods for Exynos based devices looks like: 1. PWRHOLD pin of PMIC is connected to PSHOLD of Exynos SoC. 2. Exynos holds up this pin during system operation. 3. ACOKB pin of PMIC is pulled up to VBATT and optionally to pin in other device. 4. When PWRHOLD/PSHOLD goes low, the PMIC will turn off the power if ACOKB goes high. On Odroid XU3 family the difference is in (3) - the ACOKB is grounded. This means that PMIC must manually set PWRHOLD field to low and then wait for signal from Application Processor (the usual change in PWRHOLD/PSHOLD pin will actually cut off the power). The patch adds respective binding allowing Odroid XU3 device to be powered off. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Reported-by: Anand Moon <linux.amoon@xxxxxxxxx> Tested-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 689d4453ed8212ab4a5d53982ac01cbe6531d18a Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:32:48 2015 +0300 mfd: intel-lpss: Use writeq() helper There are already helper functions to do 64-bit I/O on 32-bit machines, thus we don't need to reinvent the wheel. In our case we can't use readq() / writeq() even on 64-bit kernel since there is a hardware limitation (OCP bus is a 32-bit bus). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 327cc18e76295690f560feb999cd4ec0e5d661d5 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 20:16:50 2015 +0200 mfd: sm501: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 01bd09f040698ffbe45e4b8ed7a4399148d2cf9b Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 20:16:32 2015 +0200 mfd: max8997: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 544507362d2d1bd3514358df6c6df573f023afd7 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 20:16:10 2015 +0200 mfd: hi6421-pmic: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a0aef1f529c9caf207176337ff0418a68a32e87f Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 20:15:44 2015 +0200 mfd: atmel-hlcdc: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c6d005ad7989803a2e30f95c81e71575c86543a1 Author: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 18 12:55:58 2015 +0100 mfd: Fixup clients of multi_reg_write/register_patch Introduced by: commit 8019ff6cfc04 ("regmap: Use reg_sequence for multi_reg_write / register_patch") Interacting with: commit 561629755a21 ("mfd: arizona: Add support for WM8998 and WM1814") commit 81207880cef2 ("mfd: wm5110: Add register patch for rev E and above") Signed-off-by: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f6d10341390d5d5bda1122dc5365e34d78f672ee Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Aug 27 23:50:02 2015 +0200 mfd: stmpe: PWM on 24xx has altfunc 1 On the STMPE2401 and STMPE2401 altfunction 1 corresponds to the PWM channels. This oneliner was missing in the case-switch, making it impossible to enable the PWM channel output. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 75c08f17ec87c2d742487bb87408d6feebc526bd Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Sep 18 09:29:04 2015 -0700 mfd: twl6040: Fix deferred probe handling for clk32k Commit 68bab8662f49 ("mfd: twl6040: Optional clk32k clock handling") added clock handling for the 32k clock from palmas-clk. However, that patch did not consider a typical situation where twl6040 is built-in, and palmas-clk is a loadable module like we have in omap2plus_defconfig. If palmas-clk is not loaded before twl6040 probes, we will get a "clk32k is not handled" warning during booting. This means that any drivers relying on this clock will mysteriously fail, including omap5-uevm WLAN and audio. Note that for WLAN, we probably should also eventually get the clk32kgaudio for MMC3 directly as that's shared between audio and WLAN SDIO at least for omap5-uevm. It seems the WLAN chip cannot get it as otherwise MMC3 won't get properly probed. Fixes: 68bab8662f49 ("mfd: twl6040: Optional clk32k clock handling") Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 62a2e633474107a9ae93dfedf16341ec6414a907 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Tue Aug 25 14:34:28 2015 +0530 mfd: 88pm80x: Add 88pm860 chip type support Add chip identification support for 88PM860 device to the pm80x_chip_mapping table. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 385c0012dfa0b1cdcb16907d847eb2a720f17a9a Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 07:48:10 2015 +0200 mfd: cros_ec_i2c: Add OF match table The Documentation/devicetree/bindings/mfd/cros-ec.txt DT binding doc lists "google,cros-ec-i2c" as a compatible string but the corresponding driver does not have an OF match table. Add the table to the driver so the I2C core can do an OF style match. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 74b533c529f88b7ae4d607276916f9d8d44571f5 Merge: 6c20b93 40d8edc 1d7f833 b4fe8ba 7e50711 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Oct 26 14:48:22 2015 +0000 Merge branches 'ib-extcon-mfd-4.4', 'ib-mfd-i2c-v4.4', 'ib-mfd-power-4.4', 'ib-mfd-regmap-4.4' and 'ib-mfd-regulator-4.4' into ibs-for-mfd-merged commit a9bed6b10bd117a300cceb9062003f7a2761ef99 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Oct 26 10:38:27 2015 +0100 i2c: at91: manage unexpected RXRDY flag when starting a transfer In some cases, we could start a new i2c transfer with the RXRDY flag set. It is not a clean state and it leads to print annoying error messages even if there no real issue. The cause is only having garbage data in the Receive Holding Register because of a weird behavior of the RXRDY flag. Reported-by: Peter Rosin <peda@xxxxxxxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Tested-by: Peter Rosin <peda@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Fixes: 93563a6a71bb ("i2c: at91: fix a race condition when using the DMA controller") Cc: stable@xxxxxxxxxxxxxxx #4.1 commit 40d8edc9bf056ea83e50152a4ccd33048d26ccde Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:44 2015 +0300 at24: enable ACPI device found on Galileo Gen2 There is a 24c08 chip connected to i2c bus on Intel Galileo Gen2 board. Enable it via ACPI ID INT3499. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 918fe70cf4750e21350a8a40b28117b9e2991a10 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:43 2015 +0300 mfd: intel_quark_i2c_gpio: support devices behind i2c bus On Intel Galileo Gen2 the GPIO expanders are connected to the i2c bus. For those devices the ACPI table has specific parameters that refer to an actual i2c host controller. Since MFD now copes with that specific configuration we have to provide a necessary information how to distinguish devices in ACPI namespace. Here the _ADR values are provided. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 236fd469f4d1beb59a47875fa3f222d514173ad0 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:42 2015 +0300 mfd: intel_quark_i2c_gpio: load gpio driver first On Intel Galileo boards the GPIO expander is connected to i2c bus. Moreover it is able to generate interrupt, but interrupt line is connected to GPIO. That's why we have to have GPIO driver in place when we will probe i2c host with device connected to it. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 98a3be44ffa67b812de7aa7aed9f2331edcfb1a5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:41 2015 +0300 mfd: core: redo ACPI matching of the children devices There is at least one board on the market, i.e. Intel Galileo Gen2, that uses _ADR to distinguish the devices under one actual device. Due to this we have to improve the quirk in the MFD core to handle that board. Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 10af309a86669878099b40cec24dbb52aca1d3ed Merge: 3f84ccf 660c40b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Oct 26 14:49:11 2015 +0100 Merge branch 'sh-pfc-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel commit 6057d40f41a30f234533e5cf28810dd3fd2b6995 Author: YD Tseng <ltyu101@xxxxxxxxx> Date: Mon Oct 19 11:07:37 2015 +0800 gpio: driver for AMD Promontory This patch adds a new GPIO driver for AMD Promontory chip. This GPIO controller is enumerated by ACPI and the ACPI compliant hardware ID is AMDF030. Change history: v2: 1. fix coding style 2. registers renaming v3: 1. change include file 2. fix coding style 3. remove module_init/exit, add module_platform_driver 4. remove MODULE_ALIAS v4: 1. change TOTAL_GPIO_PINS to PT_TOTAL_GPIO 2. remove PCI dependency in Kconfig 3. fix subject line Signed-off-by: YD Tseng <Yd_Tseng@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d82ad8e0c0ecc49e81bf7d57fdc09b7d76c1afc0 Merge: 2740357 bb9a13a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 26 08:32:46 2015 +0100 Merge tag 'asoc-v4.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v4.4 Not much core work here, a few small tweaks to interfaces but mainly the changes here are driver ones. Highlights include: - Updates to the topology userspace interface - Big updates to the Renesas support from Morimoto-san - Most of the support for Intel Sky Lake systems. - New drivers for Asahi Kasei Microdevices AK4613, Allwinnner A10, Cirrus Logic WM8998, Dialog DA7219, Nuvoton NAU8825 and Rockchip S/PDIF. - A new driver for the Atmel Class D speaker drivers commit a4283e41bbd80c629770f954cc5d013eb8851229 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sat Oct 10 23:41:42 2015 +0200 arm: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The of_node_put is duplicated in front of each error return, because the function contains a later error return that is beyond the end of the for_each_child_of_node and thus doesn't need of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; iterator name for_each_child_of_node; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child + of_node_put(child); ? break; ... } ... when != child // </smpl> Additionally, concatenated a string in an affected line to avoid introducing a checkpatch warning. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d1189c63ea5e3272dc390a83e1235f142b739eb4 Author: Noam Camus <noamc@xxxxxxxxxx> Date: Mon Oct 26 19:51:46 2015 +1030 scripts: [modpost] add new sections to white list In our ARC toolchain the default linker script includes special sections used for code and data located in special fast memory. To avoid warnings we add these sections i.e. .cmem* and .fmt_slot* to white list. Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 324e84cb9265120b49c4835ae850e4b83228aa73 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Fri Oct 9 14:10:12 2015 +0100 arm64: defconfig: Enable PCI generic host bridge by default Now that pci-host-generic can be used under arm64, enable it by default so that SBSA compliant systems can use it. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> commit c770d19459a76919ddd4a2573daceba458cb7809 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Tue Sep 22 17:50:57 2015 +0100 arm64: Juno: Add support for the PCIe host bridge on Juno R1 Juno R1 board sports a functional PCIe host bridge that is compliant with the SBSA standard found [1] here. With the right firmware that initialises the XpressRICH3 controller one can use the generic Host Bridge driver to use the PCIe hardware. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0029a/ commit e8e1dc803f0f7b60119d7988a9032d53628deca3 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Fri Oct 9 17:47:03 2015 +0100 Documentation: of: Document the bindings used by Juno R1 PCIe host bridge ARM's Juno R1 board used PLDA XpressRICH3-AXI IP to implement a PCIe host bridge. Introduce "plda" as vendor prefix for PLDA and document the DT bindings for PLDA XpressRICH3-AXI IP as well as ARM's Juno R1. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> commit 4e7d30dba493b60a80e9b590add1b4402265cc83 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Oct 25 23:21:42 2015 +0100 MIPS: lantiq: add clk_round_rate() This adds a basic implementation of clk_round_rate() The clk_round_rate() function is called by multiple drivers and subsystems now and the lantiq clk driver is supposed to export this, but doesn't do so, this causes linking problems like this one: ERROR: "clk_round_rate" [drivers/media/v4l2-core/videodev.ko] undefined! Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.1+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11358/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8fe2c5478b11d407e3c19d96eb9c0bfe19ce5f8c Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:10 2015 -0700 MIPS: CPS: Set Status.KX on entry for MIPS64 kernels If the kernel may make use of 64 bit addresses outside of the compatibility address space then we need to set KX such that those accesses can succeed. Do so for MIPS64 kernels. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11201/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b85ff244533fb4b88f34bcca55c194f142338c3f Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:09 2015 -0700 MIPS: CPS: Set Status.BEV bit during early boot Set the Status.BEV bit throughout the early startup of a secondary core such that if an exception occurs the core branches to one of the exception vector entries from cps-vec.S, rather than branching to whatever is set in EBase. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11200/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 47b26a467dc7dacbeae9240af5a35fc2fec48650 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:26:41 2015 -0700 MIPS: Always read full 64 bit CM error GCRs for CM3 CM3 has 64 bit GCR_ERROR_* registers, but the code in mips_cm_error_report was previously only reading 32 bits of it in MIPS32 kernels. Fix by splitting the reads for CM2 & CM3, and making use of the read64_ variants of the accessor function for CM3. 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/11189/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b657a628661570adb301284084a5335302685269 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:26:40 2015 -0700 MIPS: Allow read64 GCR accessors to work on MIPS32 kernels If we run a MIPS32 kernel on a system using CM3 we may still need to access 64 bit GCRs, as will be done in later patches. Allow this by having the read64_gcr_* accessor functions perform 2 x 32 bit reads on those systems. 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/11188/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f88e632480baf223cad67ac553a6729535db6d74 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:26:39 2015 -0700 MIPS: Avoid buffer overrun in mips_cm_error_report Commit 3885c2b463f6 ("MIPS: CM: Add support for reporting CM cache errors") added cases for decoding errors reported by CM3, but leaves the buf variable which is printed as a string uninitialised for cause values other than 1, 2 or 3. Fix by ensuring the buf variable is initialised to an empty string in such cases. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11187/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 03b1b85d3d6c4f4153472afb7e015f1352e0c8f2 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:26:38 2015 -0700 MIPS: Don't read GCRs when a CM is not present Commit 3885c2b463f6 ("MIPS: CM: Add support for reporting CM cache errors") leads to Malta boards unconditionally reading CM GCRs upon bus errors, regardless of whether a CM is present. This is incorrect & will lead to further exceptions. Fix by moving the GCR reads to after the check for whether a CM is present. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11186/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7784494ae7864a112d4858b2b494e0358ec412a1 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:26:37 2015 -0700 MIPS: Clarify mips_cm_is64 documentation The documentation for mips_cm_is64 implied that the width of the CM GCRs would change depending upon the CPU, which is not true. Reword the explanation to be clearer that the GCR width is purely dependent upon the version of the CM. 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/11185/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6759657341100ce876e69946365ef91907e3015e Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:16:39 2015 -0700 MIPS: Allow 24Hz timer frequency A boundary exists beyond which the timer frequency becomes high enough that timer interrupts saturate the system and either cause it to slow to a crawl or stop functioning entirely. Where that boundary lies depends upon a number of factors such as the overhead of each interrupt and the overall speed of the CPU, but correlates strongly with the clock frequency at which the CPU runs. When running on emulators during bringup or debug of a CPU that clock frequency is very low, which results in the boundary at which the timer frequency becomes unsustainable being very low. The current minimum of 48Hz pushes against boundary in certain situations in current systems. Allow the kernel to be configured for a 24Hz timer frequency in order to avoid problems on such slow running systems. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11184/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a13c996249a5ca7635853a4e7e15033393575e46 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:15:22 2015 -0700 MIPS: traps: tidy up ebase calculation Rather than #ifdef on CONFIG_KVM_GUEST & redefine the guest kseg0 base locally, make use of the CAC_BASE macro which has the correct value in both cases. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11183/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ee42a3344cc43bb404160ecb12038825638fcbf4 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 14:42:37 2015 +0200 MIPS: JZ4740: Remove unused linux/leds_pwm.h include The board code never sets up a leds-pwm device, so including the header is not necessary. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11262/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0503b69729f6ba83eacaf4dc97e54d55b7f1feba Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 13:31:17 2015 +0200 MIPS: JZ4740: Use PWM lookup table Associate the PWM with the pwm-beeper device using a PWM lookup table. This will eventually allow the legacy function calls to pwm_request() to be removed from all consumer drivers. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11261/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1ee3630a3e57f38f688a6f0a5f9edbd8a0d7201f Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Sep 29 12:19:48 2015 +0200 MIPS: Use ARCH_USE_BUILTIN_BSWAP. ARCH_USE_BUILTIN_BSWAP will use __builtin_bswap16(), __builtin_bswap32() and __builtin_bswap64() where available. This allows better instruction scheduling. On pre-R2 processors it will result in 32 bit and 64 bit swapping being performed in a call to a __bswapsi2() rsp. __bswapdi2() functions, so we add these, too. For a 4.2 kernel with GCC 4.9 this yields the following kernel sizes: text data bss dec hex filename 3996071 155804 88992 4240867 40b5e3 vmlinux ip22 baseline 3985687 159900 88992 4234579 409d53 vmlinux ip22 + bswap patch 6913157 378552 251024 7542733 7317cd vmlinux ip27 baseline 6878581 378552 251024 7508157 7290bd vmlinux ip27 + bswap patch 5773777 268752 187424 6229953 5f0fc1 vmlinux malta baseline 5773401 268752 187424 6229577 5f0e49 vmlinux malta + bswap patch Presumably the code size improvments yield better cache hit rate thus better performance compensating for the extra function call but this will still need to be benchmarked. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d478b088a2f74fc8f34af7ceed86fa7640ca8610 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:10:56 2015 -0700 MIPS: Allow L2 prefetch to be configured via debugfs When debugging or examining the performance of a system it can be useful to examine the effect of L2 prefetching. Provide an optional debugfs entry to allow a user to enable or disable L2 prefetching. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11182/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 75dcfc1d678d76a82288c043bfd5bfc0fbd43b49 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:10:55 2015 -0700 MIPS: Declare mips_debugfs_dir in a header We have many extern declarations of mips_debugfs_dir through arch/mips/ in various C files. Unify them by declaring mips_debugfs_dir in a header, including it in each affected C file & removing the duplicate declarations. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: James Cowgill <James.Cowgill@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11181/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4d035516921713b41bb279682e53b4fbd5a87232 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:10:54 2015 -0700 MIPS: Enable L2 prefetching for CM >= 2.5 On systems with CM 2.5 & beyond there may be L2 prefetch units present which are not enabled by default. Detect them, configuring & enabling prefetching when available. 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> Patchwork: https://patchwork.linux-mips.org/patch/11180/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 37f2a174c491dee09844491e5869f5701894ade4 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:10:53 2015 -0700 MIPS: Introduce API for enabling & disabling L2 prefetch Introduce new functions in struct bcache_ops to enable & disable L2 cache prefetching, and to retrieve the current state of L2 prefetching. This will be used in later patches. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11179/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c1a0e9bc885d46e519fd87d35af6a7937abfb986 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:07:41 2015 -0700 MIPS: Allow compact branch policy to be changed When debugging it can be helpful to change the policy for compiler use of MIPSr6 compact branches, in order to rule out or home in on their involvement in bugs. Allow the GCC -mcompact-branches= flag to be set via Kconfig under the "Kernel hacking" menu. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11178/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 05513992c69d159e698bb4b5f651abd0ceff525c Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:34:08 2015 +0200 MIPS: Remove invalid check Unsigned values cannot be lesser than zero. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [ralf@xxxxxxxxxxxxxx: Chris Dearman's original commit 9318c51acd9689505850152cc98277a6d6f2d752 ([MIPS] MIPS32/MIPS64 secondary cache management) introduced these less than zero checks in 2.6.18.] [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Chris Dearman <chris.dearman@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11165/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f25319d2cb439249a6859f53ad42ffa332b0acba Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Oct 16 23:09:57 2015 +0200 MIPS: atomic: Fix comment describing atomic64_add_unless's return value. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Fixes: f24219b4e90cf70ec4a211b17fbabc725a0ddf3c (cherry picked from commit f0a232cde7be18a207fd057dd79bbac8a0a45dec) commit 34fc1322e7aaaa74f3f9e5194a2e85bae522d3c2 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Oct 26 01:15:58 2015 -0700 HID: hid-gfrm: Google Fiber TV Box remote controls Add HID driver for Google Fiber TV Box remote controls Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 05f216ddca08728fcb7b1eb3808159b81b48c124 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Sun Oct 25 13:49:29 2015 -0700 Input: e3x0-button - update Kconfig description The driver is now used for the entire USRP e3xx series, this commit fixes the description that will be displayed in the menu accordingly. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8ad165e9228208b3ec21b5714c06c691b2236850 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Oct 26 01:36:00 2015 -0700 Input: tegra-kbc - drop use of IRQF_NO_SUSPEND flag The driver handles wakeup irq correctly using device_init_wakeup and enable_irq_wake. There's no need to use IRQF_NO_SUSPEND while registering the interrupt. This patch removes the use of IRQF_NO_SUSPEND flag. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b42a1148de452ab1a3ee15caac2960a063e28f03 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu Oct 22 23:38:40 2015 -0700 Input: tegra-kbc - enable support for the standard "wakeup-source" property Though the tegra-kbc driver should/will continue to support the legacy "nvidia,wakeup-source" property to enable keyboard as the wakeup source, we need to add support for the new standard property "wakeup-source". This patch adds support for "wakeup-source" property in addition to the existing "nvidia,wakeup-source" property. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 59fbcbc61e1f0fd9acdf3efb09faca0320049718 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Wed Sep 16 10:15:45 2015 +0200 arcnet: add netif_carrier_on/off for reconnect The arcnet device has no interrupt to detect if the link has changed from disconnected to connected. This patch adds an timer to toggle the link detection. The timer will get retriggered as long as the reconnection interrupts accure. If the recon interrupts hold off for >1s we define the connection stable again. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 8890624a4e8c2c7046d63bfd15d7331af9f55f10 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Sep 18 00:12:50 2014 +0200 arcnet: com20020-pci: add led trigger support The EAE PLX-PCI card has special leds on the the main io pci resource bar. This patch adds support to trigger the conflict and data leds with the packages. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 5ef216c1f84825c6942fdd6c24d12a08ac2df135 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Sep 18 00:12:50 2014 +0200 arcnet: com20020-pci: add rotary index support The EAE PLX-PCI card has a special rotary encoder to configure the address of every card individually. We take this information for the initial setup of the cards dev_id. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit ae8ede6a0cdcf3b21596f44dff30bbd02265bb41 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Fri Mar 20 15:22:24 2015 +0100 arcnet: com20020-pci: set dev_port to the subdevice index This patch sets the dev_port according to the index of the card. This can be used by udev to name the ports in userspace. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 27daf6ed5c1fbeca9029c59c7f4f70a5c7e13531 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Fri Mar 20 15:20:59 2015 +0100 arcnet: com20020: add enable and disable device on open/close This patch changes the driver to properly work with the linux netif interface. The controller gets enabled on open and disabled on close. Therefor it removes every bogus start of the xceiver. It only gets enabled on com20020_open and disabled on com20020_close. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit b82de0e28ccac15e1a0c3b4f6f20dfd230049041 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Wed Apr 22 16:41:46 2015 +0200 arcnet: move dev_free_skb to its only user The call for dev_free_skb is done only once. This patch moves its call to its only user and removes the obsolete condition variable. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit fb662288284e8f2ec26f13d50a6b0d5781771648 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Oct 26 03:45:22 2015 -0400 tracing: Fix sparse RCU warning p_start() and p_stop() are seq_file functions that match. Teach sparse to know that rcu_read_lock_sched() that is taken by p_start() is released by p_stop. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c4297e8f7f453c83a75c2cbd93e57d8d9f36a316 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Oct 26 02:08:38 2015 +0100 Bluetooth: Fix some obvious coding style issues in the SCO module Lets fix this obvious coding style issues in the SCO module and bring it in line with the rest of the Bluetooth subsystem. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 05fcd4c4f1011858fe86dd7423304d8cae8e8d2e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 25 23:29:22 2015 +0100 Bluetooth: Replace hci_notify with hci_sock_dev_event There is no point in wrapping hci_sock_dev_event around hci_notify. It is an empty wrapper which adds no value. So remove it. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 242c0ebd3730334c43b9c04eeec40d8dd5c3a26e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 25 22:45:53 2015 +0100 Bluetooth: Rename bt_cb()->req into bt_cb()->hci The SKB context buffer for HCI request is really not just for requests, information in their are preserved for the whole HCI layer. So it makes more sense to actually rename it into bt_cb()->hci and also call it then struct hci_ctrl. In addition that allows moving the decoded opcode for outgoing packets into that struct. So far it was just consuming valuable space from the main shared items. And opcode are not valid for L2CAP packets. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d94a61040d8f99cbaf7f3e7686315edcc6dc2400 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 25 22:45:18 2015 +0100 Bluetooth: Remove unneeded parenthesis around MSG_OOB There are two checks that are still using (MSG_OOB) instead of just MSG_OOB and so lets just fix them. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 813fd67b57ffca0dd19fe1834f894a4558cf5e0b Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Fri Oct 2 09:33:47 2015 +0900 drm/exynos: cleanup name of gem object for exynos_drm Struct of gem object in exynos_drm driver is struct exynos_drm_gem_obj. It's too long and we can know its meaning of name without _obj postfix. We use several names to variable name of gem object for exynos_drm - exynos_gem_obj, gem_obj and obj. Especially "obj" name can cause misunderstanding with variable name "obj" of struct drm_gem_object. This will clean about name of gem object for exynos_drm as follows. s/struct exynos_drm_gem_obj/struct exynos_drm_gem s/exynos_gem_obj or gem_obj or obj/exynos_gem Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 4d91a855989af53b81f1ad7a82250d973f9b7b01 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Fri Oct 2 09:30:38 2015 +0900 drm/exynos: fix to detach device of iommu The arm_iommu_detach_device() is a function to detach device of iommu attached by arm_iommu_attach_device(). The exynos-drm uses arm_iommu_attach_device() so it should use arm_iommu_detach_device() to detach device of iommu, not iommu_detach_device(). The drm_release_iommu_mapping() is a function to release mapping of iommu created by arm_iommu_create_mapping(). It is called by exynos_drm_unload() so shouldn't be called by drm_iommu_detach_device(). Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 323db0ed7de21dff93affd51c4c742a3dec1c103 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Fri Sep 4 19:05:57 2015 -0300 drm/exynos: add cursor plane support Set one of the planes for each crtc driver as a cursor plane enabled window managers to fully work on exynos. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5d3d099574ba6319998ae9275090e42140d6b37a Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Oct 12 22:07:48 2015 +0900 drm/exynos: add global macro for the default primary plane Define DEFAULT_WIN as zero to help set the primary plane on all CRTCs. Some CRTCs were defining a variable to store the default window, but that is not necessary as the default (primary) window is always the window zero. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c691349ca429c3a57487eca857f87d2b2442c359 Author: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Date: Fri Oct 2 17:59:26 2015 +0900 drm/exynos: fix spelling errors This patch fixes spelling errors in drm fimc/gsc inavild -> invaild Signed-off-by: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 02b3de431111014643c48a326b46d127df061658 Author: Tomasz Stanislawski <t.stanislaws@xxxxxxxxxxx> Date: Fri Sep 25 14:48:29 2015 +0200 drm: exynos: mixer: fix using usleep() in atomic context This patch fixes calling usleep_range() after taking reg_slock using spin_lock_irqsave(). The mdelay() is used instead. Waiting in atomic context is not the best idea in general. Hopefully, waiting occurs only when Video Processor fails to reset correctly. Signed-off-by: Tomasz Stanislawski <t.stanislaws@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cf3e0fdd54f7d792e158cbb87ead1d9e6a5c58f7 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:28 2015 +0200 drm/exynos/hdmi: remove unused field The patch removes unused hdmi_context field. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d24bb3e59d3863304f81e71e10c0e9a1ae13c16d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:27 2015 +0200 drm/exynos/hdmi: improve HDMI/ACR related code Simple formula can be used to calculate CTS and N coefficients. Additionaly ACR registers have different offsets for different versions of IP. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 185f22d222fb12d571eed43fc6d5d13e27813f05 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:26 2015 +0200 drm/exynos/hdmi: convert container_of macro to inline function Inline function is safer than macro, also the name has been changed to be consistent with other inline function encoder_to_hdmi. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit af1f7c24d619f2c21f7f6cbac140ef469840e6d3 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:25 2015 +0200 drm/exynos/hdmi: remove deprecated hdmi_resources structure hdmi_resources structure was filled by old platform data code and is not necessary anymore. The patch removes it at groups together resource related fields in hdmi_context. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 2228b7cda25b79f106411b97bd039ed0b97067a6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:24 2015 +0200 drm/exynos/hdmi: convert to gpiod API The patch converts API to gpiod and moves initialization code to hdmi_resources_init. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit da5e36ae963b24318e0d6b9f226abb795999106a Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:23 2015 +0200 drm/exynos/hdmi: simplify clock re-parenting Driver tries to disable sclk_hdmi during re-parenting, to avoid possible glitches. It is ineffective as the clock is used also by other devices (mixer). Anyway driver works without disabling sclk_hdmi. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1ab739db8ed86ab2815d903c0e53d88a88e315c4 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:22 2015 +0200 drm/exynos/hdmi: use constant size array for regulators Driver always uses the same number of regulators, so there is no point in dynamic allocation. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 498d5a373ac4aa20d7ad63770f2196922ae2f26c Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:21 2015 +0200 drm/exynos/hdmi: use optional regulator_get for hdmi-en hdmi-en is an optional regulator so it should be better handled by devm_regulator_get_optional call. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 2445c4a44f200a3137dbaaa3603f2f095c9fdd45 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:20 2015 +0200 drm/exynos/hdmi: fix removal order DRM device should be destroyed before releasing resources. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1993c33942c7518ceeb77117e5f0e20d5ef269df Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:19 2015 +0200 drm/exynos/hdmi: replace all writeb with writel Registers are 32-bit, even if only lower 8-bits are used. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 74a74ff4e6fa55d9bdeba57187c3622a55ec2204 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:18 2015 +0200 drm/exynos/hdmi: simplify HDMI-PHY power sequence Currently driver tries to set specific HDMI-PHY registers in three situations: - before reset, - before power off, - after applying HDMI-PHY configuration. First two cases seems to be unnecessary - register contents will be lost anyway. The third case can be merged with HDMI-PHY configuration by fixing the last byte of configuration data. The patch has been tested with following platforms: - exynos4210-universal_c210, - exynos4412-odroidu3, - exynos5422-odroidxu3. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8eb6d4ec99bf4c5004d4b87f4f9dc539b708bdb1 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:17 2015 +0200 drm/exynos/hdmi: move PLL stabilization check code to separate function The patch moves PLL stabilization check to separate function, adjust timeout parameters and de-duplicates code common for both HW variants. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 633d00b327c0ef5ec0113e27d2d5e36073ebca7d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:16 2015 +0200 drm/exynos/hdmi: use mappings for registers with IP dependent address Some registers resides at different offsets depending on device version. This patch adds infrastructure for mapping such registers to proper address based on hdmi_type. It adds also mappings to some registers. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit e68d547b8ae109c7ecaaaad665c8de8373a215bc Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:14 2015 +0200 drm/exynos/hdmi: remove support for deprecated compatible This compatible was marked as deprecated in Jun 2013 and it is not used since then. Additionally its driver data points to wrong pll settings, so it cannot work anyway. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 298a96c12b2d8fd845ae0c2c21c0a1c0b470f99e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sun Oct 25 23:11:43 2015 +0200 x86/dma-mapping: Fix arch_dma_alloc_attrs() oops with NULL dev Commit 6894258eda2f broke drivers that pass NULL as the device pointer to dma_alloc. The reason is that arch_dma_alloc_attrs() now calls dma_alloc_coherent_gfp_flags() which in turn calls dma_alloc_coherent_mask(), where the device pointer is dereferenced unconditionally. Fix things by moving the ISA DMA fallback device assignment before the call to dma_alloc_coherent_gfp_flags(). Fixes: 6894258eda2f ("dma-mapping: consolidate dma_{alloc,free}_{attrs,coherent}") Reported-and-tested-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Link: http://lkml.kernel.org/r/1445807503-8920-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ba723199d18eeb5021cd6ace4aaf90670d6b3133 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:35 2015 +0100 NFC: st21nfca: Fix st21nfca_gates offset It is useless to start from index 0 when looking for a gate because only dynamic pipes are retrieved with ST21NFCA_DM_GETINFO(ST21NFCA_DM_GETINFO_PIPE_LIST). The first dynamic pipe is present at index 3. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d3f13c558f2501d4bd0212030f692bc56fbcb755 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:34 2015 +0100 NFC: st-nci: Fix st_nci_gates offset It is useless to start from index 0 when looking for a gate because only dynamic pipes are retrieved with ST_NCI_DM_GETINFO(ST_NCI_DM_GETINFO_PIPE_LIST). The first dynamic pipe is present at index 3. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 7e35740438bafcc8be0e05ff2461b73d631caeb0 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:33 2015 +0100 NFC: st-nci: Add support for NCI_HCI_IDENTITY_MGMT_GATE NCI_HCI_IDENTITY_MGMT_GATE might be useful to get information about hardware or firmware version. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 404b3e585b15d7431a0ffa5cf67090569fad88c1 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:32 2015 +0100 NFC: st-nci: initialize gate_count in st_nci_hci_network_init When initializing ndev->hci_dev->init_data, only gates field was set. gate_count needs to be initialized as well. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 92d108b6f4fcabf45df5fa9631cfc4ada35e9ab1 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:31 2015 +0100 NFC: st21nfca: Keep st21nfca_gates unchanged in load_session We need to keep initial st_nci_gates values in order for nfc_hci_dev_connect_gates to create and open pipe when necessary. For example after a firmware update CLF pipes are cleared. Changing pipe values in st21nfca_gates was causing nfc_hci_dev_connect_gates not using accurate pipes value. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 22c84c5b23932161546b7b16c61a6eb85bf587b8 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:30 2015 +0100 NFC: st-nci: Keep st_nci_gates unchanged in load_session We need to keep initial st_nci_gates values in order for nci_hci_dev_connect_gates to create and open pipe when necessary. For example after a firmware update CLF pipes are cleared. Changing pipe values in st_nci_gates was causing nci_hci_dev_connect_gates not using accurate pipes value. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6443ce97d2266b24f8315cb7e3ff99adf822a597 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:29 2015 +0100 NFC: st21nfca: Open NFC_HCI_LINK_MGMT_PIPE NFC_HCI_LINK_MGMT_PIPE was never opened in nfc_hci_load_session. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9dfe29f1796f9d92db6e7d33a3fc8ed8e496912a Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:28 2015 +0100 NFC: st-nci: Open NCI_HCI_LINK_MGMT_PIPE NCI_HCI_LINK_MGMT_PIPE was never opened in st_nci_hci_load_session. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4d37a772b7437bed2ffb94e391a0534198588d20 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:27 2015 +0100 NFC: st21nfca: Remove HCI gates initialization in load_session hdev->init_data.gates is already initialized in st21nfca_hci_probe. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 543a0a301fb831f19a37ac06fbe8094e0b5a2c73 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:26 2015 +0100 NFC: st-nci: Remove HCI init_data.gates initialization in load_session ndev->hci_dev->init_data.gates is already initialized in st_nci_hci_network. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a1b0b9415817c14d207921582f269d03f848b69f Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:25 2015 +0100 NFC: nci: Create pipe on specific gate in nci_hci_connect_gate Some gates might need to have their pipes explicitly created. Add a call to nci_hci_create_pipe in nci_hci_connect_gate for every gate that is different than NCI_HCI_LINK_MGMT_GATE or NCI_HCI_ADMIN_GATE. In case of an error when opening a pipe, like in hci layer, delete the pipe if it was created. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 8a49943f5bc5ff4f835d50451ecf2380eab44d2e Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:24 2015 +0100 NFC: nci: Call nci_hci_clear_all_pipes at HCI initial activation. When session_id is filled to 0xff, the pipe configuration is probably incorrect and needs to be cleared. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fa6fbadea5d3618339fae8f9d5136a470bad4fa7 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:23 2015 +0100 NFC: nci: add nci_hci_clear_all_pipes functions nci_hci_clear_all_pipes might be use full in some cases for example after a firmware update. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit e65917b6d54f8b47d8293ea96adfa604fd46cf0d Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:22 2015 +0100 NFC: nci: extract pipe value using NCI_HCP_MSG_GET_PIPE When receiving data in nci_hci_msg_rx_work, extract pipe value using NCI_HCP_MSG_GET_PIPE macro. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d8cd37ed2fc871c66b4c79c59f651dc2cdf7091c Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:21 2015 +0100 NFC: nci: Fix improper management of HCI return code When sending HCI data over NCI, HCI return code is part of the NCI data. In order to get correctly the HCI return code, we assume the NCI communication is successful and extract the return code for the nci_hci functions return code. This is done because nci_to_errno does not match hci return code value. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 500c4ef02277eaadbfe20537f963b6221f6ac007 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:20 2015 +0100 NFC: nci: Fix incorrect data chaining when sending data When sending HCI data over NCI, cmd information should be present only on the first packet. Each packet shall be specifically allocated and sent to the NCI layer. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a1269dd116319335db6d73013a31c038486c813e Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:19 2015 +0100 NFC: st-nci: Fix incorrect spi buffer size When sending data over SPI, the maximum expected length is the maximum nci packet payload + data header size + the frame head room (1 for the ndlc header) + the frame trail room (0). Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1c54795da05a792e495387317240625696d37abd Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:18 2015 +0100 NFC: st21nfca: Align st21nfca driver with other nfc driver Align st21nfca driver with or nfc driver: - Remove st21nfca_ prefix - Merge st21nfca_se.h, st21nfca_dep.h in st21nfca.h Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3d2ef3b3962c60e3b25de6a981127d95cb0be98b Merge: edd2a06 a5ea06d Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 14:43:38 2015 +0900 Merge tag 'sunxi-dt-for-4.4-3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Allwinner DT changes for 4.4, round 3 A bunch of new boards, but mostly enable the support for the Audio Codec on the older SoCs (A10, A10s, A13, A20, R8) and enable it on various boards. * tag 'sunxi-dt-for-4.4-3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: dts: sun6i: Add dts file for MSI Primo81 tablet ARM: dts: sun6i: Add simplefb node labels to reference at board level ARM: dts: sun4i: Enable audio codec on Marsboard A10. ARM: dts: sun4i: Add dts file for the pov protab2-ips9 tablet ARM: sun4i: Enable cubieboard audio codec ARM: sun5i: chip: Enable the audio codec ARM: sun4i: Enable audio-codec on Mele A1000 ARM: sun7i: Enable cubieboard2 audio codec ARM: sun7i: dt: enable audio codec on Cubietruck ARM: sun7i: Add sunxi codec device node ARM: sun5i: Add the Audio codec DT node ARM: sun4i: Add sunxi codec device node ARM: sun7i: Add audio codec clock ARM: sun5i: Add audio codec clock ARM: sun4i: Add audio codec clock ARM: sun7i: Add audio PLL ARM: sun5i: Add audio PLL ARM: sun4i: Add audio PLL ARM: dts: sun7i: Enable USB DRC on pcDuino v3 Nano ARM: dts: sun6i: Add support for Sinlinx A31s SDK board Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit edd2a06d9c06a28f6f636929d586d17de835cd6b Merge: 64ebda3 9b038bc Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 14:42:37 2015 +0900 Merge tag 'sunxi-clocks-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Bringing in the sunxi clock branch since it introduces header file contents that is needed by the DT branch. This is a stable tag shared with the clk tree. Allwinner clock additions for 4.4 - Support for the Audio PLL and child clocks - Support for the A33 AHB gates - New clk-multiplier generic driver * tag 'sunxi-clocks-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: clk: sunxi: mod1 clock support clk: sunxi: codec clock support clk: sunxi: pll2: Add A13 support clk: sunxi: Add a driver for the PLL2 clk: Add a basic multiplier clock clk: sunxi: Add A33 gates support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d1611c3aba11ffa281bdd027aace52f5a370b8c5 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Sun Oct 25 22:27:57 2015 -0400 bnxt_en: Fix compile warnings when CONFIG_INET is not set. bnxt_gro_skb() has unused variables when CONFIG_INET is not set. We really cannot support hardware GRO if CONFIG_INET is not set, so compile out bnxt_gro_skb() completely and define BNXT_FLAG_GRO to be 0 if CONFIG_INET is not set. This will effectively always disable hardware GRO if CONFIG_INET is not set. Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3dc3df6330e4b4d799bef4aac6f934b5e726b1c Merge: 7b6e28c ef4da0c Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 14:35:41 2015 +0900 Merge tag 'omap-for-v4.4/soc-clean-up' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Minimal omap SoC changes for v4.4 merge window. As we've spent quite a bit of time sorting out regressions for v4.3 and are very late with these, I've kept the changes down to minimum: - A series of timer changes from Felipe Balbi to get us closer to moving the remaining timer code into drivers - A series of hwmod clean-up changes queued by Paul Walmsley - SoC detection clean-up to use soc_is instead of cpu_is as CPU is within the SoC and is confusing naming. The rest we can now change along with the other clean-up * tag 'omap-for-v4.4/soc-clean-up' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (21 commits) ARM: OMAP3: hwmod data: Remove legacy mailbox data and addrs ARM: DRA7: hwmod data: Remove spinlock hwmod addrs ARM: OMAP4: hwmod data: Remove spinlock hwmod addrs ARM: DRA7/AM335x/AM437x: hwmod: Remove gpmc address space from hwmod data arm: omap2: board-generic: use omap4_local_timer_init for AM437x ARM: DRA7/AM335x/AM437x: hwmod: Remove elm address space from hwmod data ARM: OMAP: Remove duplicated operand in OR operation clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE ARM: OMAP: Change all cpu_is_* occurences to soc_is_* for id.c ARM: OMAP2+: Rename cpu_is macros to soc_is arm: omap2: timer: limit hwmod usage to non-DT boots arm: omap2+: select 32k clocksource driver clocksource: add TI 32.768 Hz counter driver arm: omap2: timer: rename omap_sync32k_timer_init() arm: omap2: timer: always call clocksource_of_init() when DT arm: omap2: timer: move realtime_counter_init() around arm: omap2: timer: provide generic sync32k_timer_init function arm: omap2: timer: remove __omap_gptimer_init() arm: omap2: timer: add a gptimer argument to sync32k_timer_init() arm: omap2: timer: get rid of obfuscating macros ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e67e7e596f3ff19fb90520be9f2130aa54914181 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:17 2015 +0100 NFC: st-nci: include st-nci.h instead of ndlc.h st-nci.h already include ndlc.h. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 64ebda3acd6ea592e6f97dcd0682e87aa7cf8d61 Merge: 5f76048 121432c Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 14:27:33 2015 +0900 Merge tag 'arm/soc/for-4.4/rpi-dt-v2' of https://github.com/Broadcom/stblinux into next/dt This pull request contains the DT changes for BCM2835 in 4.4. It pulls in clk/clk-bcm2835 (which Stephen Boyd has said would be stable) because the DT changes to enable the clock driver need the driver itself to be present. These changes include the following: - Eric Anholt, moves the bcm2835 clock driver under bcm/ where it belongs with other Broadcom clock providers drivers, defines the binding for new clock driver, adds support for programming the BCM2835 audio domain, adds the DDC I2C controller to Device Tree, and finally migrates the Device Tree to use the new clock driver binding - Lubomir Rintel adds support for the Raspberry Pi Model A+ and B revision 2, and remove the I2S controller which is non-existent on Raspberry Pi Model B - Stefan Wahren adds an uart0 label for referencing the UART adapter * tag 'arm/soc/for-4.4/rpi-dt-v2' of https://github.com/Broadcom/stblinux: ARM: bcm2835: Add the DDC I2C controller to the device tree. ARM: bcm2835: Switch to using the new clock driver support. ARM: bcm2835: dt: Add Raspberry Pi Model A+ ARM: bcm2835: dt: Add Raspberry Pi Model B rev2 ARM: bcm2835: dt: Raspberry Pi Model B had no I2S ARM: bcm2835: add label for uart0 clk: bcm2835: Add support for programming the audio domain clocks clk: bcm2835: Add binding docs for the new platform clock driver. clk: bcm2835: Move under bcm/ with other Broadcom SoC clk drivers. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f5876627715e3584db379a0549f8ce6f3f06e2bc Author: Christophe Ricard <christophe-h.ricard@xxxxxx> Date: Mon Oct 26 05:55:22 2015 +0100 NFC: st-nci: Align st-nci driver with other nfc driver Align st-nci driver with other NFC drivers: - Remove st-nci_ prefix - Merge se.h in st-nci.h Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit e58d154b60488a67278d4d54853ef04d30b06251 Author: Rami Rosen <ramirose@xxxxxxxxx> Date: Sat Sep 26 19:27:57 2015 +0300 ACPI / Documentation: add copy_dsdt to ACPI format options commit aa2110cb1a75 (ACPI: add boot option acpi=copy_dsdt to fix corrupt DSDT) added copy_dsdt as an ACPI boot option, but did not add it to ACPI format options in Documentation/kernel-parameters.txt. Fix that. Signed-off-by: Rami Rosen <ramirose@xxxxxxxxx> [ rjw: Subject & changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bc1e49df345cf9be38ba29ead45a12f86ceb5fe2 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Thu Oct 15 12:19:30 2015 -0400 ACPI / sysfs: correctly check failing memory allocation Since kobject_create_and_add() can fail under memory pressure, its return value needs to be checked against NULL before passing it to sysfs_create_file(). Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> [ rjw: Subject & changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 584d8d1eb123b8be1274bf69f3ce07cee848d40d Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Oct 21 13:45:03 2015 +0200 ACPI / video: Add a quirk to force native backlight on Lenovo IdeaPad S405 The Lenovo IdeaPad S405 is a not "Windows8 ready" machine which still has a broken ACPI video backlight implementation. Add a quirk to force use of native backlight on this machine. Link: https://bugzilla.redhat.com/show_bug.cgi?id=1201530 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4219853aef645d29b122daa8a8b7bd792f1cc7c9 Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Fri Oct 23 05:02:52 2015 -0400 ACPI / CPPC: Fix potential memory leak Commit 337aadff8e45 (ACPI: Introduce CPU performance controls using CPPC) leads to the following static checker warning: drivers/acpi/cppc_acpi.c:527 acpi_cppc_processor_probe() warn: overwrite may leak 'cpc_ptr' Fix the warning by removing the bogus per-CPU pointer dereference. Fixes: 337aadff8e45 (ACPI: Introduce CPU performance controls using CPPC) Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 32c0b2f606a4b71fc7b7cfa479cf47648854d9d9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 22 22:52:59 2015 +0300 ACPI / CPPC: signedness bug in register_pcc_channel() The "pcc_subspace_idx" is -1 if it hasn't been initialized yet. We need it to be signed. Fixes: 337aadff8e45 (ACPI: Introduce CPU performance controls using CPPC) Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 21657471688508ced523b3bf0a763d73d546ad1a Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Oct 26 04:02:01 2015 +0100 ACPI / PAD: power_saving_thread() is not freezable power_saving_thread() calls try_to_freeze(), but the thread doesn't mark itself freezable through set_freezable(), so the try_to_freeze() call is useless. Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8c01275e0cdf1959aa25c322fd5870c097733195 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Sun Oct 25 01:02:46 2015 +0800 ACPI / PM: Fix incorrect wakeup IRQ setting during suspend-to-idle For an ACPI compatible system, the SCI (ACPI System Control Interrupt) is used to wake the system up from suspend-to-idle. Once the CPU is woken up by the SCI, the interrupt handler will first check if the current IRQ has been configured for system wakeup, so irq_pm_check_wakeup() is invoked to validate the IRQ number. However, during suspend-to-idle, enable_irq_wake() is called for acpi_gbl_FADT.sci_interrupt, although the IRQ number that the SCI handler has been installed for should be passed to it instead. Thus, if acpi_gbl_FADT.sci_interrupt happens to be different from that number, ACPI interrupts will not be able to wake up the system from sleep. Fix this problem by passing the IRQ number returned by acpi_gsi_to_irq() to enable_irq_wake() instead of acpi_gbl_FADT.sci_interrupt. Cc: 3.18+ <stable@xxxxxxxxxxxxxxx> # 3.18+ Acked-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit efb1cf7d28b8aeacec53e9ba8f3f2809c5cb9686 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Sun Oct 25 01:02:36 2015 +0800 ACPI: Using correct irq when waiting for events When the system is waiting for GPE/fixed event handler to finish, it uses acpi_gbl_FADT.sci_interrupt directly as the IRQ number. However, the remapped IRQ returned by acpi_gsi_to_irq() should be passed to synchronize_hardirq() instead of it. Cc: 3.19+ <stable@xxxxxxxxxxxxxxx> # 3.19+ Acked-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 49e4b84333f338d4f183f28f1f3c1131b9fb2b5a Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Sun Oct 25 01:02:19 2015 +0800 ACPI: Use correct IRQ when uninstalling ACPI interrupt handler Currently when the system is trying to uninstall the ACPI interrupt handler, it uses acpi_gbl_FADT.sci_interrupt as the IRQ number. However, the IRQ number that the ACPI interrupt handled is installed for comes from acpi_gsi_to_irq() and that is the number that should be used for the handler removal. Fix this problem by using the mapped IRQ returned from acpi_gsi_to_irq() as appropriate. Cc: All applicable <stable@xxxxxxxxxxxxxxx> Acked-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 85051e295fb7487fd22546f86058e99d5266dd88 Merge: 32b8819 5dd32ea Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 12:29:16 2015 +0900 Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Two driver bugfixes for the I2C subsystem" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: pnx: fix runtime warnings caused by enabling unprepared clock i2c: mv64xxx: really allow I2C offloading commit bb9a13a0209c56cdf27d125a1f2f6f34378c64f4 Merge: eee89f5 931dfa6 3e2a71b c1fe81f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:20 2015 +0900 Merge remote-tracking branches 'asoc/topic/wm8904', 'asoc/topic/wm8955' and 'asoc/topic/wm8960' into asoc-next commit eee89f5c9ac1fdade9050db5321b9c6fc3496044 Merge: 9939b14 76a822a 8444f59 523bade 4d0197a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:18 2015 +0900 Merge remote-tracking branches 'asoc/topic/topology', 'asoc/topic/wm2000', 'asoc/topic/wm8731' and 'asoc/topic/wm8903' into asoc-next commit 9939b14b743f534005dfdaa1e519ff99c7a135c2 Merge: 71831ef ce7b8db c570b82 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:16 2015 +0900 Merge remote-tracking branches 'asoc/topic/ssm2518' and 'asoc/topic/sunxi' into asoc-next commit 71831ef6991138fa01fa3cc8e253b03e545e5af6 Merge: 512def8 3db7cb9 16566e4 7a5b8ba 4272975 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:13 2015 +0900 Merge remote-tracking branches 'asoc/topic/rt298', 'asoc/topic/rt5640', 'asoc/topic/samsung' and 'asoc/topic/sh' into asoc-next commit 512def88cb67915edce1081327c0b280f02fbf19 Merge: 3db5de5 b415b4d 0f7e177 b3f2dcd dc6d84c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:10 2015 +0900 Merge remote-tracking branches 'asoc/topic/rcar', 'asoc/topic/rl6347a', 'asoc/topic/rockchip' and 'asoc/topic/rt286' into asoc-next commit 3db5de560ce6d404e9c1377512f2d93245cd048a Merge: 8707344 218d2ce 58ceb57 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:08 2015 +0900 Merge remote-tracking branches 'asoc/topic/nau8825' and 'asoc/topic/pxa' into asoc-next commit 8707344edd833738bfdde8ed21bd1a0fd5418015 Merge: f72362e 43ac946 6abca1d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:06 2015 +0900 Merge remote-tracking branches 'asoc/topic/imx' and 'asoc/topic/intel' into asoc-next commit f72362e6b7522040c16a224d5dcf2022e5468803 Merge: 1c9d000 ab57b8e 7ab8a54 739146b 50760ca Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:03 2015 +0900 Merge remote-tracking branches 'asoc/topic/dwc', 'asoc/topic/es8328', 'asoc/topic/fsl' and 'asoc/topic/fsl-card' into asoc-next commit 1c9d000c5b3c73d1ae79fe0f332a79a166a8131c Merge: 7034ef5 c5cff89 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:02 2015 +0900 Merge remote-tracking branch 'asoc/topic/da7219' into asoc-next commit 7034ef5f604a9e92dd80d042cb3f64d4b1f22375 Merge: 2c218b7 391ac3ef 955da48 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:00 2015 +0900 Merge remote-tracking branches 'asoc/topic/atmel-classd' and 'asoc/topic/da7213' into asoc-next commit 2c218b7434205d2151118bd66832d73fb85e36ae Merge: 4cb803b 92b822a 6ebbce0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:58 2015 +0900 Merge remote-tracking branches 'asoc/topic/ad193x' and 'asoc/topic/arizona' into asoc-next commit 4cb803b8edf575641a372ba0ca433cd48deb3af2 Merge: b27aafe bc86e53 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:58 2015 +0900 Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-next commit b27aafedfdef2507de79a8a9b95f6aa815ba696c Merge: 12e7b4a 1d387a3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:57 2015 +0900 Merge remote-tracking branch 'asoc/topic/doc' into asoc-next commit 12e7b4a4f3096fcb93b222ba644e975ffcf4f21b Merge: 6439e5c 93e39a1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:56 2015 +0900 Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next commit 6439e5c2a784f6b00dd136df54d6f0859bc77af3 Merge: 7c9c29e 6f0c422 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:55 2015 +0900 Merge remote-tracking branch 'asoc/topic/core' into asoc-next commit 7c9c29eefa8ba503a34bac4ca4fb27083b78b726 Merge: 32b8819 4922e7a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:54 2015 +0900 Merge tag 'asoc-v4.3-rc2' into asoc-next ASoC: Updates for v4.4 A first batch of updates targetted at v4.4. There are no substantial core fixes here, the biggest block of changes is updates to the rcar drivers and the addition of a CODEC driver for the AK4613. # gpg: Signature made Fri 25 Sep 2015 05:37:06 KST using RSA key ID 5D5487D0 # gpg: key CD7BEEBC: no public key for trusted key - skipped # gpg: key CD7BEEBC marked as ultimately trusted # gpg: key AF88CD16: no public key for trusted key - skipped # gpg: key AF88CD16 marked as ultimately trusted # gpg: key 16005C11: no public key for trusted key - skipped # gpg: key 16005C11 marked as ultimately trusted # gpg: key 5621E907: no public key for trusted key - skipped # gpg: key 5621E907 marked as ultimately trusted # gpg: key 5C6153AD: no public key for trusted key - skipped # gpg: key 5C6153AD marked as ultimately trusted # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit 739146b6144a6541cf94a668d6e7227b7882af30 Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Thu Oct 22 15:56:40 2015 -0700 ASoC: fsl: Use #ifdef instead of #if for CONFIG_PM_SLEEP Change them to #ifdef as CONFIG_PM_SLEEP might not be defined at all. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ce247b45a3289f88008c13ca26ccde0db5fea690 Merge: 444c37ae c64c607 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:07:40 2015 +0900 Merge branch 'topic/fsl-mega-fast' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-fsl commit 2bf8bda933a04b5b9cdeb9a6b412fd8bd1ea7500 Merge: d787dcd 16134b3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 10:39:22 2015 +0900 Merge tag 'arm/soc/for-4.4/rpi-drivers' of https://github.com/Broadcom/stblinux into next/drivers This pull request contains the Raspberry Pi firmware driver, for communicating with the VPU which has exclusive control of some of the peripherals. Eric adds the actual firmware driver and Alexander fixes the header file which was missing include guards. * tag 'arm/soc/for-4.4/rpi-drivers' of https://github.com/Broadcom/stblinux: ARM: bcm2835: add mutual inclusion protection ARM: bcm2835: Add the Raspberry Pi firmware driver Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5f76048695eea2233b75d95161fa6170d83807ce Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Oct 24 12:25:31 2015 +0900 ARM: dts: uniphier: add I2C aliases for ProXstream2 boards Add aliases to fix the I2C indexes like the other UniPhier boards. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 8ca532ad2b050da0d0db3544d9ab8b40675e4ca1 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Oct 21 15:27:36 2015 -0400 tracing: Check all tasks on each CPU when filtering pids My tests found that if a task is running but not filtered when set_event_pid is modified, then it can still be traced. Call on_each_cpu() to check if the current running task should be filtered and update the per cpu flags of tr->data appropriately. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3fdaf80f4a836911c0eda1cee92f8aa625f90197 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 25 12:58:44 2015 -0400 tracing: Implement event pid filtering Add the necessary hooks to use the pids loaded in set_event_pid to filter all the events enabled in the tracing instance that match the pids listed. Two probes are added to both sched_switch and sched_wakeup tracepoints to be called before other probes are called and after the other probes are called. The first is used to set the necessary flags to let the probes know to test if they should be traced or not. The sched_switch pre probe will set the "ignore_pid" flag if neither the previous or next task has a matching pid. The sched_switch probe will set the "ignore_pid" flag if the next task does not match the matching pid. The pre probe allows for probes tracing sched_switch to be traced if necessary. The sched_wakeup pre probe will set the "ignore_pid" flag if neither the current task nor the wakee task has a matching pid. The sched_wakeup post probe will set the "ignore_pid" flag if the current task does not have a matching pid. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4909010788640b7101bf50cddb7c5e60172b4433 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Sep 24 11:33:26 2015 -0400 tracing: Add set_event_pid directory for future use Create a tracing directory called set_event_pid, which currently has no function, but will be used to filter all events for the tracing instance or the pids that are added to the file. The reason no functionality is added with this commit is that this commit focuses on the creation and removal of the pids in a safe manner. And tests can be made against this change to make sure things are correct before hooking features to the list of pids. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 7904b5c4988e18b50056b5e71a3ffca752a8a451 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 22 17:13:19 2015 -0400 tracepoint: Give priority to probes of tracepoints In order to guarantee that a probe will be called before other probes that are attached to a tracepoint, there needs to be a mechanism to provide priority of one probe over the others. Adding a prio field to the struct tracepoint_func, which lets the probes be sorted by the priority set in the structure. If no priority is specified, then a priority of 10 is given (this is a macro, and perhaps may be changed in the future). Now probes may be added to affect other probes that are attached to a tracepoint with a guaranteed order. One use case would be to allow tracing of tracepoints be able to filter by pid. A special (higher priority probe) may be added to the sched_switch tracepoint and set the necessary flags of the other tracepoints to notify them if they should be traced or not. In case a tracepoint is enabled at the sched_switch tracepoint too, the order of the two are not random. Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f7e1b37ec84730c759eee54289f61f30e59d79de Merge: 30aa7b1 abb1ed7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 25 18:28:23 2015 -0700 Merge branch 'gianfar-fixes' Claudiu Manoil says: ==================== gianfar: Misc. fixes and updates Various fixes for some older issues, including having a MAINTAINERS entry for this driver. I'd recommend applying them on top of net, thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abb1ed7b793fcb10cadb378fe0eeee589b61a9e1 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Oct 23 11:42:01 2015 +0300 MAINTAINERS: Add entry for gianfar ethernet driver Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1de65a5ea32de7b335ab505366d45cefadbbdf71 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Oct 23 11:42:00 2015 +0300 gianfar: Fix Rx BSY error handling The Rx BSY error interrupt indicates that a frame was received and discarded due to lack of buffers, so it's a rx ring overflow condition and has nothing to do with with bad rx packets. Use the right counter. BSY conditions happen when the SoC is under performance stress. Doing *more* work in stress situations by trying to schedule NAPI is not a good idea as the stressed system becomes still more stressed. The Rx interrupt is already at work making sure the NAPI is scheduled. So calling gfar_receive() here does not help. This issue was present since day 1. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15bf176db1fb00333af7050c0c699fc7b4e4a960 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Oct 23 11:41:59 2015 +0300 gianfar: Don't enable the Filer w/o the Parser Under one unusual circumstance it's possible to wrongly set FILREN without enabling PRSDEP as well in the RCTRL register, against the hardware specifications. With the default config this does not happen because the default Rx offloads (Rx csum and Rx VLAN) properly enable PRSDEP. But if anyone disables all these offloads (via ethtool), we get a wrong configuration were the Rx flow classification and hashing, and other Filer based features (e.g. wake-on-filer interrupt) won't work. This patch fixes the issue. Also, account for Rx FCB insertion which happens every time PRSDEP is set. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5188f7e5a7175975f8b943a4b25e499c98a7b9d6 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Oct 23 11:41:58 2015 +0300 gianfar: Remove duplicated argument to bitwise OR RQFCR_AND is duplicated. Add missing space as well. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc86e53a0ae9bb26c1af04034e010d8f22b1b0da Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Oct 24 14:55:41 2015 +0800 ASoC: rt5645: Sort the order for register bit defines So we have consistent order for register bit defines. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3ed770f60317a02a5a5e4a7345dc13d8819f56e8 Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Thu Oct 22 15:09:04 2015 -0400 net: encx24j600: Fix mask to update LED configuration This fixes the mask used to update the LED configuration so that it clears the necessary bits as well as setting the bits according to the mask. Also reverse the LED configuration to show the Link state + collisions in LEDA and the Link state + TX/RX events in LEDB. Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da92bf99dd9f4b62df6168787bf0a92dc7d1bce7 Merge: 1586a58 e483911 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 25 18:20:41 2015 -0700 Merge branch 'mvneta-ethtool-stats' Russell King says: ==================== mvneta ethtool statistics Sorry for v3 - I forgot to update the commit message on patch 1 as requested by Marcin. This short series adds ethtool statistics reporting to mvneta. Having discussed with Andrew on IRC, we decided I'd pick up his patch into my series. My change for patch 1 compared to the previous RFC splits out the reading of the statistics from the hardware into a separate function, in order to facilitate work going on elsewhere to arrange for the statistics to be preserved across a suspend/resume cycle. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e483911f9f16d508dd2652ac860977533b96e34e Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Oct 22 18:37:36 2015 +0100 net: mvneta: Fix clearing of MIB statistics The existing function to clear the MIB statatistics was using the wrong address for the registers. Also, the counters would of been cleared when the interface was brought up, not during the probe. Fix both of these. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b0cdefa4cd5dca85967f66da8ab376c0321b845 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Oct 22 18:37:30 2015 +0100 net: mvneta: add ethtool statistics Add support for the ethtool statistic interface, returning the full set of statistics which both Armada 370, 38x and Armada XP can support. Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3af37f0228232d1ad1963c559aaa86dc48a8cfc2 Merge: a83e682 f0864f8 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 10:19:41 2015 +0900 Merge tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/defconfig Samsung defconfig udpates for v4.4 - exynos_defconfig : enable USB Video Class for Peach boards. : enable DWC2 USB and USB ethernet gadget : enable LEDs (LEGS_GPIO and LEDS_PWM)for Odroid-XU3/XU4 : enable RTL8152 for Odroid-XU4 : enable WiFi-Ex as a module instead of build-in : disable temporal simplefb support (FB_SIMPLE) because exynos DRM driver can support it now - multi_v7_defconfig : enable DWC2 USB and USB ethernet gadget : enable RTL8152 for Odroid-XU4 * tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: multi_v7_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 ARM: exynos_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 ARM: exynos_defconfig: Enable WiFi-Ex as a module instead built-in ARM: exynos_defconfig: Disable simplefb support ARM: exynos_defconfig: Enable LEDS for Odroid-XU3/XU4 ARM: multi_v7_defconfig: Enable DWC2 USB driver and USB ethernet gadget ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget ARM: exynos_defconfig: Enable USB Video Class support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 156746b1733057e50b3b3cb33c3669dac06676ab Merge: a5ac4a6 97d5c7a Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 10:18:41 2015 +0900 Merge tag 'samsung-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc Samsung SoC updates for v4.4 - use PWM lookup table with pwm_add_table() for the following boards : s3c24xx h1940 and rx1950 : s3c64xx smdk6410, crag6410, hmt and smartq - document: update bootloader interface on exynos542x * tag 'samsung-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: Documentation: EXYNOS: Update bootloader interface on exynos542x ARM: S3C64XX: Use PWM lookup table for mach-smartq ARM: S3C64XX: Use PWM lookup table for mach-hmt ARM: S3C64XX: Use PWM lookup table for mach-crag6410 ARM: S3C64XX: Use PWM lookup table for smdk6410 ARM: S3C24XX: Use PWM lookup table for mach-rx1950 ARM: S3C24XX: Use PWM lookup table for mach-h1940 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 17e2aa01e461a3d3c4df3ea62aa3899df306d38c Merge: dd5cf71 c60ce7f Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 10:17:36 2015 +0900 Merge tag 'samsung-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/arm64 Samsung arm64 DT update for v4.4 - add BUS1 instance pinctrl support on exynos7 SoC * tag 'samsung-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: arm64: dts: Add BUS1 instance pinctrl support for exynos7 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 99b6eb55ce137d769c2294449d1fe3821def9269 Merge: 3eb52a0 d6b9aea Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 10:13:50 2015 +0900 Merge tag 'samsung-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Samsung 2nd DT updates for v4.4 - use exynos5420-dw-mshc instead of exynos5250 for exynos3250 - add DISP1 clocks and the DISP1 power domain of two closk on exynos5250 (clock commit got Stephen's ack) - add vbus regulators on exynos3250, exynos4210 and exynos4412 boards - fix typo in regulator enable GPIO property on s5pv20-aquila and goni - document: correct the example of exynos power domain clocks - document: consolidate exynos SoC dt-bindings and non-Samsung boards related compatibles (FriendlyARM, Google, Hardkernel and Insignal) - update MAINTAINER entries accordingly (documentation) * tag 'samsung-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: MAINTAINERS: Add documentation and dt-bindings for exynos stuff dt-bindings: EXYNOS: Document compatibles from other vendors dt-bindings: Consolidate Exynos SoC bindings ARM: dts: Add clocks to DISP1 domain in exynos5250 dt-bindings: Correct the example for Exynos power domain clocks ARM: dts: Fix typo in regulator enable GPIO property in s5pv210-goni ARM: dts: Fix typo in regulator enable GPIO property in s5pv210-aquila ARM: dts: Add vbus regulator to USB2 phy nodes on exynos3250, exynos4210 and exynos4412 boards clk: samsung: exynos5250: Add DISP1 clocks ARM: dts: use exynos5420-dw-mshc compatible for exynos3250 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 30aa7b18e8f997a6c35e8d866642396a787afbb8 Merge: ce9d9b8 34411b6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 25 18:13:37 2015 -0700 Merge branch 'thunderx-fixes' David Daney says: ==================== net: thunderx: Support pass-2 revision hardware. With the availability of a new revision of the ThunderX NIC hardware a few changes to the driver are required. With these, the driver works on all currently available hardware revisions. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34411b68b132e403ddf395419e986475a9993d9b Author: Thanneeru Srinivasulu <tsrinivasulu@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 17:14:10 2015 -0700 net: thunderx: Incorporate pass2 silicon CPI index configuration changes Add support for ThunderX pass2 CPI and MPI configuration changes. MPI_ALG is not enabled i.e MCAM parsing is disabled. Signed-off-by: Thanneeru Srinivasulu <tsrinivasulu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88ed237720bd618240439714a57fb69ea96428e7 Author: David Daney <david.daney@xxxxxxxxxx> Date: Fri Oct 23 17:14:09 2015 -0700 net: thunderx: Rewrite silicon revision tests. The test for pass-1 silicon was incorrect, it should be for all revisions less than 8. Also the revision is already present in the pci_dev, so there is no need to read and keep a private copy. Remove rev_id and code to read it from struct nicpf. Create new static inline function pass1_silicon() to be used to testing the silicon version. Use pass1_silicon() for revision checks, this will be more widely used in follow on patches. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e85777ff071b51f500b130b6d036922af32be25 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Fri Oct 23 17:14:08 2015 -0700 net: thunderx: Fix incorrect subsystem devid of VF on pass2 silicon Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9bf45e08ef36b6726a5744f0029325e81b3248a Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Fri Oct 23 17:14:07 2015 -0700 net: thunderx: Remove PF soft reset. In some silicon revisions, the soft reset clobbers PCI config space, so quit doing the reset. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d787dcdb9c8f412b1dd0727f90d3f793a61a2551 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Oct 23 20:41:31 2015 +0200 bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus Reduced Serial Bus (RSB) is an Allwinner proprietery interface used to communicate with PMICs and other peripheral ICs. RSB is a two-wire push-pull serial bus that supports 1 master device and up to 15 active slave devices. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4a5705a9c270e6e62f735846604d8593a890ca1b Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Oct 23 20:41:30 2015 +0200 bus: sunxi-rsb: Add Allwinner Reduced Serial Bus (RSB) controller bindings Reduced Serial Bus is a proprietary 2-line push-pull serial bus supporting multiple slave devices. It was developed by Allwinner, Inc. and used by Allwinner and X-Powers, Inc. for their line of PMICs and other peripheral ICs. Recent Allwinner SoCs, starting with the A23, have an RSB controller. This is used to talk to the PMIC, and later with the A80 and A83 platform, the audio codec IC. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 03f136a2074b2b8890da4a24df7104558ad0da48 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Tue Jul 14 19:24:45 2015 +0200 timeconst: Update path in comment Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Cc: hofrat@xxxxxxxxx Link: http://lkml.kernel.org/r/1436894685-5868-1-git-send-email-Jason@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a5ac4a66c6d897720bc6e8f332650630b1ff38ee Merge: c2c2b3d 9d2ea95 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:58:26 2015 +0900 Merge tag 'mvebu-soc-4.4-2' of git://git.infradead.org/linux-mvebu into next/soc mvebu soc for 4.4 (part 2) - Use mac_pton() helper in the oropn5x board instead of duplicating it - Add the broken-idle option allowing to boot boards with a mistake in the hardware design * tag 'mvebu-soc-4.4-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add broken-idle option ARM: orion5x: use mac_pton() helper Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3eb52a06d511e97809852ae8e7787a38a05c5ca0 Merge: 41adfe8 481b4f1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:53:14 2015 +0900 Merge tag 'tegra-for-4.4-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt ARM: tegra: Devicetree changes for v4.4-rc1 Mostly a bunch of updates to the Toradex Apalis and Colibri platforms along with a couple of cleanup patches. * tag 'tegra-for-4.4-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (25 commits) ARM: tegra: Use consistent indentation for SATA node ARM: tegra: colibri-eval: Fix power/wakeup key ARM: tegra: colibri-eval: Add comment concerning SD/MMC ARM: tegra: colibri-eval: Fix vendor string of M41T0M6 RTC ARM: tegra: colibri: Properly align pin names ARM: tegra: colibri: Replace eMMC label by comment ARM: tegra: colibri: Activate STMPE811 touch controller ARM: tegra: colibri: Add touch pen interrupt pin muxing ARM: tegra: colibri: Fix comment about 3v3 fixed supply ARM: tegra: colibri: Add pin muxing for on-module power I2C ARM: tegra: colibri: Improve comment about thermal alert pin ARM: tegra: colibri: Fix HDMI supplies ARM: tegra: colibri: Update hardware revisions compatibility ARM: tegra: apalis-eval: Fix power/wakeup key ARM: tegra: apalis-eval: Fix backlight PWM comment ARM: tegra: apalis-eval: Set OTG dr_mode ARM: tegra: apalis-eval: Enable HDA controller ARM: tegra: apalis: Properly align pin names ARM: tegra: apalis: Add digital audio pin muxing ARM: tegra: apalis: Add comment concerning eMMC ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a83e682ee2579eaae50a6bdae46b62c7a515e696 Merge: 98376f6 2fb43ce Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:47:19 2015 +0900 Merge tag 'tegra-for-4.4-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/defconfig ARM: tegra: Default configuration updates for v4.4-rc1 Enable touchscreen and audio support on Toradex Colibri platforms. * tag 'tegra-for-4.4-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Update multi_v7_defconfig ARM: tegra: Update default configuration ARM: tegra: Rebuild default configuration on v4.3-rc1 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c2c2b3d35706e4d4b481757a4cb6a2462f847db5 Merge: 44024ce e77b675 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:45:56 2015 +0900 Merge tag 'tegra-for-4.4-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc ARM: tegra: Core SoC changes for v4.4-rc1 A single patch to restore rfkill support on AC100. * tag 'tegra-for-4.4-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: paz00: use con_id's to refer GPIO's in gpiod_lookup table Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 44024ce036e9b837b63f84004f1e63f2a277378a Merge: fa54cda 5fcf8d1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:44:48 2015 +0900 Merge tag 'at91-ab-soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/soc More SoC changes for 4.4: - a great fix for PM/suspend/resume * tag 'at91-ab-soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 98376f6af8f17cbc086cfc60ad6ab75f52d72a65 Merge: 302f9f6 4af8540 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:44:07 2015 +0900 Merge tag 'at91-ab-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/defconfig defconfig update for 4.4: - Add sama5d2 and its peripherals to sama5_defconfig and multi_v7_defconfig - Trivial savedefconfig updates to at91_dt_defconfig and sama5_defconfig * tag 'at91-ab-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: multi_v7_defconfig: Add Atmel SDHCI device ARM: multi_v7_defconfig: Add Atmel Flexcom device ARM: multi_v7_defconfig: Add Atmel SAMA5D2 SoC ARM: at91/defconfig: add sama5d2 and its new devices to sama5 defconfig ARM: at91/defconfig: update at91_dt defconfig ARM: at91/defconfig: update sama5 defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 209da39154837ec1b69fb34f438041939911e4b4 Author: Lucas Stach <dev@xxxxxxxxxx> Date: Sun Oct 25 16:39:12 2015 +0100 irqchip/tegra: Propagate IRQ type setting to parent The LIC doesn't deal with the different types of interrupts itself but needs to forward calls to set the appropriate type to its parent IRQ controller. Without this fix all IRQs routed through the LIC will stay at the initial EDGE type, while most of them should actually be level triggered. Fixes: 1eec582158e2 "irqchip: tegra: Add Tegra210 support" Signed-off-by: Lucas Stach <dev@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.1 Link: http://lkml.kernel.org/r/1445787552-13062-1-git-send-email-dev@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 353d6d6c82e5d2533ba22e7f9fb081582bf50dc2 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:48:15 2015 +0200 irqchip/armada-370-xp: Fix regression by clearing IRQ_NOAUTOEN Commit d17cab4451df1 ("irqchip: Kill off set_irq_flags usage") changed the code of armada_370_xp_mpic_irq_map() from using set_irq_flags() to irq_set_probe(). While the commit log seems to imply that there are no functional changes, there are indeed functional changes introduced by this commit: the IRQ_NOAUTOEN flag is no longer cleared. This functional change causes a regression on Armada XP, which no longer works properly after suspend/resume because per-CPU interrupts remain disabled. Due to how the hardware registers work, the irq-armada-370-xp cannot simply save/restore a bunch of registers at suspend/resume to make sure that the interrupts remain in the same state after resuming. Therefore, it relies on the kernel to say whether the interrupt is disabled or not, using the irqd_irq_disabled() function. This was all working fine while the IRQ_NOAUTOEN flag was cleared. With the change introduced by Rob Herring in d17cab4451df1, the IRQ_NOAUTOEN flag is now set for all interrupts. irqd_irq_disabled() returns false for per-CPU interrupts, and therefore our per-CPU interrupts are no longer re-enabled after resume. This commit works around this problem by clearing again the IRQ_NOAUTOEN flags, so that we are back to the situation we had before commit d17cab4451df1. This work around is proposed as a minimal fix for the problem, while a better long-term solution is being worked on. Fixes: d17cab4451df1 "irqchip: Kill off set_irq_flags usage" Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1445435295-19956-1-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4ac313111018cb44ecc250445de5ccb93026a980 Author: Rich Felker <dalias@xxxxxxxx> Date: Thu Aug 20 15:11:06 2015 -0400 fs/binfmt_elf_fdpic.c: fix brk area overlap with stack on NOMMU On NOMMU archs, the FDPIC ELF loader sets up the usable brk range to overlap with all but the last PAGE_SIZE bytes of the stack. This leads to catastrophic memory reuse/corruption if brk is used. Fix by setting the brk area to zero size to disable its use. Signed-off-by: Rich Felker <dalias@xxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit ba210f5de42f4604730ffaea96bfb6e591740bde Merge: e3ed766 02715e8 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 25 22:55:31 2015 +0100 Merge branch 'acpi-pci' * acpi-pci: ia64/PCI/ACPI: Use common interface to support PCI host bridge x86/PCI/ACPI: Use common interface to support PCI host bridge ACPI/PCI: Reset acpi_root_dev->domain to 0 when pci_ignore_seg is set PCI/ACPI: Add interface acpi_pci_root_create() ia64/PCI: Use common struct resource_entry to replace struct iospace_resource ia64/PCI/ACPI: Use common ACPI resource parsing interface for host bridge ACPI/PCI: Enhance ACPI core to support sparse IO space commit e3ed766b4958bf7889539f09aec3f6a72d2c4dd2 Merge: 343ccb0 3722ed2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 25 22:55:14 2015 +0100 Merge branch 'acpi-init' * acpi-init: clocksource: cosmetic: Drop OF 'dependency' from symbols clocksource / arm_arch_timer: Convert to ACPI probing clocksource: Add new CLKSRC_{PROBE,ACPI} config symbols clocksource / ACPI: Add probing infrastructure for ACPI-based clocksources irqchip / GIC: Convert the GIC driver to ACPI probing irqchip / ACPI: Add probing infrastructure for ACPI-based irqchips ACPI: Add early device probing infrastructure commit 343ccb040e60c3688d4413e839975fc3c8f9e287 Merge: ab736d7 6a0d12e 362414d 6119754 f934c74 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 25 22:54:46 2015 +0100 Merge branches 'acpi-scan', 'acpi-tables', 'acpi-ec' and 'acpi-assorted' * acpi-scan: ACPI / scan: use kstrdup_const() in acpi_add_id() ACPI / scan: constify struct acpi_hardware_id::id ACPI / scan: constify first argument of struct acpi_scan_handler::match * acpi-tables: ACPI / tables: test the correct variable x86, ACPI: Handle apic/x2apic entries in MADT in correct order ACPI / tables: Add acpi_subtable_proc to ACPI table parsers * acpi-ec: ACPI / EC: Fix a race issue in acpi_ec_guard_event() ACPI / EC: Fix query handler related issues * acpi-assorted: ACPI: change acpi_sleep_proc_init() to return void ACPI: change init_acpi_device_notify() to return void commit ab736d7dc17e681be001648607be20c549b6229c Merge: 32b8819 205ad97 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 25 22:51:48 2015 +0100 Merge branch 'device-properties' * device-properties: ACPI / property: Fix subnode lookup scope for data-only subnodes acpi-dma: Add support for "dma-names" device property device property: Add fwnode_property_match_string() ACPI / property: Extend device_get_next_child_node() to data-only nodes ACPI / gpio: Split acpi_get_gpiod_by_index() ACPI / property: Extend fwnode_property_* to data-only subnodes ACPI / property: Expose data-only subnodes via sysfs ACPI / property: Add support for data-only subnodes ACPI / property: Add routine for extraction of _DSD properties commit 0bbc367e21bfeea33230d893be4fa3a3ff9bcb48 Merge: ae416ba 32b8819 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 06:39:46 2015 +0900 Merge 4.3-rc7 into usb-next We want the USB and other fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1da5537eccd865b83fedbbb7ea704669f6d255fd Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Mon Oct 5 18:44:17 2015 +0200 Bluetooth: Fix locking issue during fast SCO reconnection. When SCO connection is requested and disconnected fast, there is a change that sco_sock_shutdown is going to preempt thread started in sco_connect_cfm. When this happens struct sock sk may be removed but a pointer to it is still held in sco_conn_ready, where embedded spinlock is used. If it is used, but struct sock has been removed, it will crash. Block connection object, which will prevent struct sock from being removed and give connection process chance to finish. BUG: spinlock bad magic on CPU#0, kworker/u:2H/319 lock: 0xe3e99434, .magic: f3000000, .owner: (���/0, .owner_cpu: -203804160 Pid: 319, comm: kworker/u:2H Tainted: G O 3.8.0-115.1-plk-adaptation-byt-ivi-brd #1 Call Trace: [<c1155659>] ? do_raw_spin_lock+0x19/0xe9 [<fb75354f>] ? sco_connect_cfm+0x92/0x236 [bluetooth] [<fb731dbc>] ? hci_sync_conn_complete_evt.clone.101+0x18b/0x1cb [bluetooth] [<fb734ee7>] ? hci_event_packet+0x1acd/0x21a6 [bluetooth] [<c1041095>] ? finish_task_switch+0x50/0x89 [<c1349a2e>] ? __schedule+0x638/0x6b8 [<fb727918>] ? hci_rx_work+0xb9/0x2b8 [bluetooth] [<c103760a>] ? queue_delayed_work_on+0x21/0x2a [<c1035df9>] ? process_one_work+0x157/0x21b [<fb72785f>] ? hci_cmd_work+0xef/0xef [bluetooth] [<c1036217>] ? worker_thread+0x16e/0x20a [<c10360a9>] ? manage_workers+0x1cf/0x1cf [<c103a0ef>] ? kthread+0x8d/0x92 [<c134adf7>] ? ret_from_kernel_thread+0x1b/0x28 [<c103a062>] ? __init_kthread_worker+0x24/0x24 BUG: unable to handle kernel NULL pointer dereference at (null) IP: [< (null)>] (null) *pdpt = 00000000244e1001 *pde = 0000000000000000 Oops: 0010 [#1] PREEMPT SMP Modules linked in: evdev ecb rfcomm(O) libcomposite usb2380 udc_core bnep(O) btusb(O) btbcm(O) cdc_acm btintel(O) bluetooth(O) arc4 uinput hid_multitouch usbhid hid iwlmvm(O)e Pid: 319, comm: kworker/u:2H Tainted: G O 3.8.0-115.1-plk-adaptation-byt-ivi-brd #1 EIP: 0060:[<00000000>] EFLAGS: 00010246 CPU: 0 EIP is at 0x0 EAX: e3e99400 EBX: e3e99400 ECX: 00000100 EDX: 00000000 ESI: e3e99434 EDI: fb763ce0 EBP: e49b9e44 ESP: e49b9e14 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 CR0: 8005003b CR2: 00000000 CR3: 24444000 CR4: 001007f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 Process kworker/u:2H (pid: 319, ti=e49b8000 task=e4ab9030 task.ti=e49b8000) Stack: fb75355b 00000246 fb763900 22222222 22222222 22222222 e3f94460 e3ca7c0a e49b9e4c e3f34c00 e3ca7c0a fb763ce0 e49b9e6c fb731dbc 02000246 e4cec85c e4cec008 00000000 e3f34c00 e4cec000 e3c2ce00 0000002c e49b9ed0 fb734ee7 Call Trace: [<fb75355b>] ? sco_connect_cfm+0x9e/0x236 [bluetooth] [<fb731dbc>] ? hci_sync_conn_complete_evt.clone.101+0x18b/0x1cb [bluetooth] [<fb734ee7>] ? hci_event_packet+0x1acd/0x21a6 [bluetooth] [<c1041095>] ? finish_task_switch+0x50/0x89 [<c1349a2e>] ? __schedule+0x638/0x6b8 [<fb727918>] ? hci_rx_work+0xb9/0x2b8 [bluetooth] [<c103760a>] ? queue_delayed_work_on+0x21/0x2a [<c1035df9>] ? process_one_work+0x157/0x21b [<fb72785f>] ? hci_cmd_work+0xef/0xef [bluetooth] [<c1036217>] ? worker_thread+0x16e/0x20a [<c10360a9>] ? manage_workers+0x1cf/0x1cf [<c103a0ef>] ? kthread+0x8d/0x92 [<c134adf7>] ? ret_from_kernel_thread+0x1b/0x28 [<c103a062>] ? __init_kthread_worker+0x24/0x24 Code: Bad EIP value. EIP: [<00000000>] 0x0 SS:ESP 0068:e49b9e14 CR2: 0000000000000000 ---[ end trace 942a6577c0abd725 ]--- Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 435c513369768f5840cd57101e398bc450fd26de Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Mon Oct 5 18:44:16 2015 +0200 Bluetooth: Fix locking issue on SCO disconnection Thread handling SCO disconnection may get preempted in '__sco_sock_close' after dropping a reference to hci_conn but before marking this as NULL in associated struct sco_conn. When execution returs to this thread, this connection will possibly be released, resulting in kernel crash Lock connection before this point. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<fb770ab9>] __sco_sock_close+0x194/0x1ff [bluetooth] *pdpt = 0000000023da6001 *pde = 0000000000000000 Oops: 0002 [#1] PREEMPT SMP Modules linked in: evdev ecb rfcomm(O) libcomposite usb2380 udc_core bnep(O) btusb(O) btbcm(O) cdc_acm btintel(O) bluetooth(O) arc4 uinput hid_multitouch usbhid iwlmvm(O) hide Pid: 984, comm: bluetooth Tainted: G O 3.8.0-115.1-plk-adaptation-byt-ivi-brd #1 EIP: 0060:[<fb770ab9>] EFLAGS: 00010282 CPU: 2 EIP is at __sco_sock_close+0x194/0x1ff [bluetooth] EAX: 00000000 EBX: e49d7600 ECX: ef1ec3c2 EDX: 000000c3 ESI: e4c12000 EDI: 00000000 EBP: ef1edf5c ESP: ef1edf4c DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 80050033 CR2: 00000000 CR3: 23da7000 CR4: 001007f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 Process bluetooth (pid: 984, ti=ef1ec000 task=e47f2550 task.ti=ef1ec000) Stack: e4c120d0 e49d7600 00000000 08421a40 ef1edf70 fb770b7a 00000002 e8a4cc80 08421a40 ef1ec000 c12966b1 00000001 00000000 0000000b 084954c8 c1296b6c 0000001b 00000002 0000001b 00000002 00000000 00000002 b2524880 00000046 Call Trace: [<fb770b7a>] ? sco_sock_shutdown+0x56/0x95 [bluetooth] [<c12966b1>] ? sys_shutdown+0x37/0x53 [<c1296b6c>] ? sys_socketcall+0x12e/0x1be [<c134ae7e>] ? sysenter_do_call+0x12/0x26 [<c1340000>] ? ip_vs_control_net_cleanup+0x46/0xb1 Code: e8 90 6b 8c c5 f6 05 72 5d 78 fb 04 74 17 8b 46 08 50 56 68 0a fd 77 fb 68 60 5d 78 fb e8 68 95 9e c5 83 c4 10 8b 83 fc 01 00 00 <c7> 00 00 00 00 00 eb 32 ba 68 00 00 0b EIP: [<fb770ab9>] __sco_sock_close+0x194/0x1ff [bluetooth] SS:ESP 0068:ef1edf4c CR2: 0000000000000000 ---[ end trace 47fa2f55a9544e69 ]--- Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 75e34f5cf69bd731d3b7375a786d4a15494fb8c6 Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Mon Oct 5 18:44:15 2015 +0200 Bluetooth: Fix crash on SCO disconnect When disconnecting audio from the phone's side, it may happen, that a thread handling HCI message 'disconnection complete' will get preempted in 'sco_conn_del' before calling 'sco_sock_kill', still holding a pointer to struct sock sk. Interrupting thread started in 'sco_sock_shutdown' will carry on releasing resources and will eventually release struct sock. When execution goes back to first thread it will call sco_sock_kill using now invalid pointer to already destroyed socket. Fix is to grab a reference to the socket a release it after calling 'sco_sock_kill'. [ 166.358213] BUG: unable to handle kernel paging request at 7541203a [ 166.365228] IP: [<fb6e8bfb>] bt_sock_unlink+0x1a/0x38 [bluetooth] [ 166.372068] *pdpt = 0000000024b19001 *pde = 0000000000000000 [ 166.378483] Oops: 0002 [#1] PREEMPT SMP [ 166.382871] Modules linked in: evdev ecb rfcomm(O) libcomposite usb2380 udc_core bnep(O) btusb(O) btbcm(O) btintel(O) cdc_acm bluetooth(O) arc4 uinput hid_multitouch iwlmvm(O) usbhid hide [ 166.424233] Pid: 338, comm: kworker/u:2H Tainted: G O 3.8.0-115.1-plk-adaptation-byt-ivi-brd #1 [ 166.435112] EIP: 0060:[<fb6e8bfb>] EFLAGS: 00010206 CPU: 0 [ 166.441259] EIP is at bt_sock_unlink+0x1a/0x38 [bluetooth] [ 166.447382] EAX: 632e6563 EBX: e4bfc600 ECX: e466d4d3 EDX: 7541203a [ 166.454369] ESI: fb7278ac EDI: e4d52000 EBP: e4669e20 ESP: e4669e0c [ 166.461366] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 166.467391] CR0: 8005003b CR2: 7541203a CR3: 24aba000 CR4: 001007f0 [ 166.474387] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 166.481375] DR6: ffff0ff0 DR7: 00000400 [ 166.485654] Process kworker/u:2H (pid: 338, ti=e4668000 task=e466e030 task.ti=e4668000) [ 166.494591] Stack: [ 166.496830] e4bfc600 e4bfc600 fb715c28 e4717ee0 e4d52000 e4669e3c fb715cf3 e4bfc634 [ 166.505518] 00000068 e4d52000 e4c32000 fb7277c0 e4669e6c fb6f2019 0000004a 00000216 [ 166.514205] e4660101 e4c32008 02000001 00000013 e4d52000 e4c32000 e3dc9240 00000005 [ 166.522891] Call Trace: [ 166.525654] [<fb715c28>] ? sco_sock_kill+0x73/0x9a [bluetooth] [ 166.532295] [<fb715cf3>] ? sco_conn_del+0xa4/0xbf [bluetooth] [ 166.538836] [<fb6f2019>] ? hci_disconn_complete_evt.clone.55+0x1bd/0x205 [bluetooth] [ 166.547609] [<fb6f73d3>] ? hci_event_packet+0x297/0x223c [bluetooth] [ 166.554805] [<c10416da>] ? dequeue_task+0xaf/0xb7 [ 166.560154] [<c1041095>] ? finish_task_switch+0x50/0x89 [ 166.566086] [<c1349a2e>] ? __schedule+0x638/0x6b8 [ 166.571460] [<fb6eb906>] ? hci_rx_work+0xb9/0x2b8 [bluetooth] [ 166.577975] [<c1035df9>] ? process_one_work+0x157/0x21b [ 166.583933] [<fb6eb84d>] ? hci_cmd_work+0xef/0xef [bluetooth] [ 166.590448] [<c1036217>] ? worker_thread+0x16e/0x20a [ 166.596088] [<c10360a9>] ? manage_workers+0x1cf/0x1cf [ 166.601826] [<c103a0ef>] ? kthread+0x8d/0x92 [ 166.606691] [<c134adf7>] ? ret_from_kernel_thread+0x1b/0x28 [ 166.613010] [<c103a062>] ? __init_kthread_worker+0x24/0x24 [ 166.619230] Code: 85 63 ff ff ff 31 db 8d 65 f4 89 d8 5b 5e 5f 5d c3 56 8d 70 04 53 89 f0 89 d3 e8 7e 17 c6 c5 8b 53 28 85 d2 74 1a 8b 43 24 85 c0 <89> 02 74 03 89 50 04 c7 43 28 00 00 00 [ 166.640501] EIP: [<fb6e8bfb>] bt_sock_unlink+0x1a/0x38 [bluetooth] SS:ESP 0068:e4669e0c [ 166.649474] CR2: 000000007541203a [ 166.653420] ---[ end trace 0181ff2c9e42d51e ]--- [ 166.658609] note: kworker/u:2H[338] exited with preempt_count 1 Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c0859e2f4ca530c0bf6a333ca3eb8430008e62c9 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:32 2015 +0200 Bluetooth: btmrvl: add missing of_node_put for_each_compatible_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression e; local idexpression n; @@ for_each_compatible_node(n, ...) { ... when != of_node_put(n) when != e = n ( return n; | + of_node_put(n); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b06c4bf5c874a57254b197f53ddf588e7a24a2bf Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Oct 23 07:52:54 2015 +0100 Btrfs: fix regression running delayed references when using qgroups In the kernel 4.2 merge window we had a big changes to the implementation of delayed references and qgroups which made the no_quota field of delayed references not used anymore. More specifically the no_quota field is not used anymore as of: commit 0ed4792af0e8 ("btrfs: qgroup: Switch to new extent-oriented qgroup mechanism.") Leaving the no_quota field actually prevents delayed references from getting merged, which in turn cause the following BUG_ON(), at fs/btrfs/extent-tree.c, to be hit when qgroups are enabled: static int run_delayed_tree_ref(...) { (...) BUG_ON(node->ref_mod != 1); (...) } This happens on a scenario like the following: 1) Ref1 bytenr X, action = BTRFS_ADD_DELAYED_REF, no_quota = 1, added. 2) Ref2 bytenr X, action = BTRFS_DROP_DELAYED_REF, no_quota = 0, added. It's not merged with Ref1 because Ref1->no_quota != Ref2->no_quota. 3) Ref3 bytenr X, action = BTRFS_ADD_DELAYED_REF, no_quota = 1, added. It's not merged with the reference at the tail of the list of refs for bytenr X because the reference at the tail, Ref2 is incompatible due to Ref2->no_quota != Ref3->no_quota. 4) Ref4 bytenr X, action = BTRFS_DROP_DELAYED_REF, no_quota = 0, added. It's not merged with the reference at the tail of the list of refs for bytenr X because the reference at the tail, Ref3 is incompatible due to Ref3->no_quota != Ref4->no_quota. 5) We run delayed references, trigger merging of delayed references, through __btrfs_run_delayed_refs() -> btrfs_merge_delayed_refs(). 6) Ref1 and Ref3 are merged as Ref1->no_quota = Ref3->no_quota and all other conditions are satisfied too. So Ref1 gets a ref_mod value of 2. 7) Ref2 and Ref4 are merged as Ref2->no_quota = Ref4->no_quota and all other conditions are satisfied too. So Ref2 gets a ref_mod value of 2. 8) Ref1 and Ref2 aren't merged, because they have different values for their no_quota field. 9) Delayed reference Ref1 is picked for running (select_delayed_ref() always prefers references with an action == BTRFS_ADD_DELAYED_REF). So run_delayed_tree_ref() is called for Ref1 which triggers the BUG_ON because Ref1->red_mod != 1 (equals 2). So fix this by removing the no_quota field, as it's not used anymore as of commit 0ed4792af0e8 ("btrfs: qgroup: Switch to new extent-oriented qgroup mechanism."). The use of no_quota was also buggy in at least two places: 1) At delayed-refs.c:btrfs_add_delayed_tree_ref() - we were setting no_quota to 0 instead of 1 when the following condition was true: is_fstree(ref_root) || !fs_info->quota_enabled 2) At extent-tree.c:__btrfs_inc_extent_ref() - we were attempting to reset a node's no_quota when the condition "!is_fstree(root_objectid) || !root->fs_info->quota_enabled" was true but we did it only in an unused local stack variable, that is, we never reset the no_quota value in the node itself. This fixes the remainder of problems several people have been having when running delayed references, mostly while a balance is running in parallel, on a 4.2+ kernel. Very special thanks to Stéphane Lesimple for helping debugging this issue and testing this fix on his multi terabyte filesystem (which took more than one day to balance alone, plus fsck, etc). Also, this fixes deadlock issue when using the clone ioctl with qgroups enabled, as reported by Elias Probst in the mailing list. The deadlock happens because after calling btrfs_insert_empty_item we have our path holding a write lock on a leaf of the fs/subvol tree and then before releasing the path we called check_ref() which did backref walking, when qgroups are enabled, and tried to read lock the same leaf. The trace for this case is the following: INFO: task systemd-nspawn:6095 blocked for more than 120 seconds. (...) Call Trace: [<ffffffff86999201>] schedule+0x74/0x83 [<ffffffff863ef64c>] btrfs_tree_read_lock+0xc0/0xea [<ffffffff86137ed7>] ? wait_woken+0x74/0x74 [<ffffffff8639f0a7>] btrfs_search_old_slot+0x51a/0x810 [<ffffffff863a129b>] btrfs_next_old_leaf+0xdf/0x3ce [<ffffffff86413a00>] ? ulist_add_merge+0x1b/0x127 [<ffffffff86411688>] __resolve_indirect_refs+0x62a/0x667 [<ffffffff863ef546>] ? btrfs_clear_lock_blocking_rw+0x78/0xbe [<ffffffff864122d3>] find_parent_nodes+0xaf3/0xfc6 [<ffffffff86412838>] __btrfs_find_all_roots+0x92/0xf0 [<ffffffff864128f2>] btrfs_find_all_roots+0x45/0x65 [<ffffffff8639a75b>] ? btrfs_get_tree_mod_seq+0x2b/0x88 [<ffffffff863e852e>] check_ref+0x64/0xc4 [<ffffffff863e9e01>] btrfs_clone+0x66e/0xb5d [<ffffffff863ea77f>] btrfs_ioctl_clone+0x48f/0x5bb [<ffffffff86048a68>] ? native_sched_clock+0x28/0x77 [<ffffffff863ed9b0>] btrfs_ioctl+0xabc/0x25cb (...) The problem goes away by eleminating check_ref(), which no longer is needed as its purpose was to get a value for the no_quota field of a delayed reference (this patch removes the no_quota field as mentioned earlier). Reported-by: Stéphane Lesimple <stephane_btrfs@xxxxxxxxxxx> Tested-by: Stéphane Lesimple <stephane_btrfs@xxxxxxxxxxx> Reported-by: Elias Probst <mail@xxxxxxxxxxxxxx> Reported-by: Peter Becker <floyd.net@xxxxxxxxx> Reported-by: Malte Schröder <malte@xxxxxxxx> Reported-by: Derek Dongray <derek@xxxxxxxxxxxxx> Reported-by: Erkki Seppala <flux-btrfs@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.2+ Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> commit 2c3cf7d5f6105bb957df125dfce61d4483b8742d Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Oct 22 09:47:34 2015 +0100 Btrfs: fix regression when running delayed references In the kernel 4.2 merge window we had a refactoring/rework of the delayed references implementation in order to fix certain problems with qgroups. However that rework introduced one more regression that leads to the following trace when running delayed references for metadata: [35908.064664] kernel BUG at fs/btrfs/extent-tree.c:1832! [35908.065201] invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [35908.065201] Modules linked in: dm_flakey dm_mod btrfs crc32c_generic xor raid6_pq nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc loop fuse parport_pc psmouse i2 [35908.065201] CPU: 14 PID: 15014 Comm: kworker/u32:9 Tainted: G W 4.3.0-rc5-btrfs-next-17+ #1 [35908.065201] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.1-0-g4adadbd-20150316_085822-nilsson.home.kraxel.org 04/01/2014 [35908.065201] Workqueue: btrfs-extent-refs btrfs_extent_refs_helper [btrfs] [35908.065201] task: ffff880114b7d780 ti: ffff88010c4c8000 task.ti: ffff88010c4c8000 [35908.065201] RIP: 0010:[<ffffffffa04928b5>] [<ffffffffa04928b5>] insert_inline_extent_backref+0x52/0xb1 [btrfs] [35908.065201] RSP: 0018:ffff88010c4cbb08 EFLAGS: 00010293 [35908.065201] RAX: 0000000000000000 RBX: ffff88008a661000 RCX: 0000000000000000 [35908.065201] RDX: ffffffffa04dd58f RSI: 0000000000000001 RDI: 0000000000000000 [35908.065201] RBP: ffff88010c4cbb40 R08: 0000000000001000 R09: ffff88010c4cb9f8 [35908.065201] R10: 0000000000000000 R11: 000000000000002c R12: 0000000000000000 [35908.065201] R13: ffff88020a74c578 R14: 0000000000000000 R15: 0000000000000000 [35908.065201] FS: 0000000000000000(0000) GS:ffff88023edc0000(0000) knlGS:0000000000000000 [35908.065201] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [35908.065201] CR2: 00000000015e8708 CR3: 0000000102185000 CR4: 00000000000006e0 [35908.065201] Stack: [35908.065201] ffff88010c4cbb18 0000000000000f37 ffff88020a74c578 ffff88015a408000 [35908.065201] ffff880154a44000 0000000000000000 0000000000000005 ffff88010c4cbbd8 [35908.065201] ffffffffa0492b9a 0000000000000005 0000000000000000 0000000000000000 [35908.065201] Call Trace: [35908.065201] [<ffffffffa0492b9a>] __btrfs_inc_extent_ref+0x8b/0x208 [btrfs] [35908.065201] [<ffffffffa0497117>] ? __btrfs_run_delayed_refs+0x4d4/0xd33 [btrfs] [35908.065201] [<ffffffffa049773d>] __btrfs_run_delayed_refs+0xafa/0xd33 [btrfs] [35908.065201] [<ffffffffa04a976a>] ? join_transaction.isra.10+0x25/0x41f [btrfs] [35908.065201] [<ffffffffa04a97ed>] ? join_transaction.isra.10+0xa8/0x41f [btrfs] [35908.065201] [<ffffffffa049914d>] btrfs_run_delayed_refs+0x75/0x1dd [btrfs] [35908.065201] [<ffffffffa04992f1>] delayed_ref_async_start+0x3c/0x7b [btrfs] [35908.065201] [<ffffffffa04d4b4f>] normal_work_helper+0x14c/0x32a [btrfs] [35908.065201] [<ffffffffa04d4e93>] btrfs_extent_refs_helper+0x12/0x14 [btrfs] [35908.065201] [<ffffffff81063b23>] process_one_work+0x24a/0x4ac [35908.065201] [<ffffffff81064285>] worker_thread+0x206/0x2c2 [35908.065201] [<ffffffff8106407f>] ? rescuer_thread+0x2cb/0x2cb [35908.065201] [<ffffffff8106407f>] ? rescuer_thread+0x2cb/0x2cb [35908.065201] [<ffffffff8106904d>] kthread+0xef/0xf7 [35908.065201] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 [35908.065201] [<ffffffff8147d10f>] ret_from_fork+0x3f/0x70 [35908.065201] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 [35908.065201] Code: 6a 01 41 56 41 54 ff 75 10 41 51 4d 89 c1 49 89 c8 48 8d 4d d0 e8 f6 f1 ff ff 48 83 c4 28 85 c0 75 2c 49 81 fc ff 00 00 00 77 02 <0f> 0b 4c 8b 45 30 8b 4d 28 45 31 [35908.065201] RIP [<ffffffffa04928b5>] insert_inline_extent_backref+0x52/0xb1 [btrfs] [35908.065201] RSP <ffff88010c4cbb08> [35908.310885] ---[ end trace fe4299baf0666457 ]--- This happens because the new delayed references code no longer merges delayed references that have different sequence values. The following steps are an example sequence leading to this issue: 1) Transaction N starts, fs_info->tree_mod_seq has value 0; 2) Extent buffer (btree node) A is allocated, delayed reference Ref1 for bytenr A is created, with a value of 1 and a seq value of 0; 3) fs_info->tree_mod_seq is incremented to 1; 4) Extent buffer A is deleted through btrfs_del_items(), which calls btrfs_del_leaf(), which in turn calls btrfs_free_tree_block(). The later returns the metadata extent associated to extent buffer A to the free space cache (the range is not pinned), because the extent buffer was created in the current transaction (N) and writeback never happened for the extent buffer (flag BTRFS_HEADER_FLAG_WRITTEN not set in the extent buffer). This creates the delayed reference Ref2 for bytenr A, with a value of -1 and a seq value of 1; 5) Delayed reference Ref2 is not merged with Ref1 when we create it, because they have different sequence numbers (decided at add_delayed_ref_tail_merge()); 6) fs_info->tree_mod_seq is incremented to 2; 7) Some task attempts to allocate a new extent buffer (done at extent-tree.c:find_free_extent()), but due to heavy fragmentation and running low on metadata space the clustered allocation fails and we fall back to unclustered allocation, which finds the extent at offset A, so a new extent buffer at offset A is allocated. This creates delayed reference Ref3 for bytenr A, with a value of 1 and a seq value of 2; 8) Ref3 is not merged neither with Ref2 nor Ref1, again because they all have different seq values; 9) We start running the delayed references (__btrfs_run_delayed_refs()); 10) The delayed Ref1 is the first one being applied, which ends up creating an inline extent backref in the extent tree; 10) Next the delayed reference Ref3 is selected for execution, and not Ref2, because select_delayed_ref() always gives a preference for positive references (that have an action of BTRFS_ADD_DELAYED_REF); 11) When running Ref3 we encounter alreay the inline extent backref in the extent tree at insert_inline_extent_backref(), which makes us hit the following BUG_ON: BUG_ON(owner < BTRFS_FIRST_FREE_OBJECTID); This is always true because owner corresponds to the level of the extent buffer/btree node in the btree. For the scenario described above we hit the BUG_ON because we never merge references that have different seq values. We used to do the merging before the 4.2 kernel, more specifically, before the commmits: c6fc24549960 ("btrfs: delayed-ref: Use list to replace the ref_root in ref_head.") c43d160fcd5e ("btrfs: delayed-ref: Cleanup the unneeded functions.") This issue became more exposed after the following change that was added to 4.2 as well: cffc3374e567 ("Btrfs: fix order by which delayed references are run") Which in turn fixed another regression by the two commits previously mentioned. So fix this by bringing back the delayed reference merge code, with the proper adaptations so that it operates against the new data structure (linked list vs old red black tree implementation). This issue was hit running fstest btrfs/063 in a loop. Several people have reported this issue in the mailing list when running on kernels 4.2+. Very special thanks to Stéphane Lesimple for helping debugging this issue and testing this fix on his multi terabyte filesystem (which took more than one day to balance alone, plus fsck, etc). Fixes: c6fc24549960 ("btrfs: delayed-ref: Use list to replace the ref_root in ref_head.") Reported-by: Peter Becker <floyd.net@xxxxxxxxx> Reported-by: Stéphane Lesimple <stephane_btrfs@xxxxxxxxxxx> Tested-by: Stéphane Lesimple <stephane_btrfs@xxxxxxxxxxx> Reported-by: Malte Schröder <malte@xxxxxxxx> Reported-by: Derek Dongray <derek@xxxxxxxxxxxxx> Reported-by: Erkki Seppala <flux-btrfs@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.2+ Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> commit a06347c04c13e380afce0c9816df51f00b83faf1 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:42 2015 +0300 NFC: Add Intel Fields Peak NFC solution driver Fields Peak complies with the ISO/IEC 14443A/B, 15693, 18092, and JIS X 6319-4. It is an NCI based controller. RF Protocols supported: - NFC Forum Type 1 Tags (Jewel, Topaz) - NFC Forum Type 2 Tags (Mifare UL) - NFC Forum Type 3 Tags (FeliCa) - NFC Forum Type 4A (ISO/IEC 14443 A-4 106kbps to 848kbps) - NFC Forum Type 4B (ISO/IEC 14443 B-4 106kbps to 848kbps) - NFCIP in passive and active modes (ISO/IEC 18092 106kbps to 424kbps) - Bâ?? (based on ISO/IEC 14443 B-2) - iCLASS (based on ISO/IEC 15693-2) - Vicinity cards (ISO/IEC 15693-3) - Kovio tags (NFC Forum Type 2) The device can be enumerated using ACPI using the id INT339A. The 1st GPIO is the IRQ and the 2nd is the RESET pin. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 85b9ce9a21b119a8163f20d60e7f0ce58fffbeef Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:41 2015 +0300 NFC: nci: add nci_get_conn_info_by_id function This functin takes as a parameter a pointer to the nci_dev struct and the first byte from the values of the first domain specific parameter that was used for the connection creation. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit caa575a86ec1f177730cafa089d69ab4e424860c Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:40 2015 +0300 NFC: nci: fix possible crash in nci_core_conn_create If the number of destination speific parameters supplied is 0 the call will fail. If the first destination specific parameter does not have a value, curr_id will be set to 0. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 22e4bd09c401905671f3787a8392d269a0ebfa0d Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:39 2015 +0300 NFC: nci: rename nci_prop_ops to nci_driver_ops Initially it was used to create hooks in the driver for proprietary operations. Currently it is being used for hooks for both proprietary and generic operations. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 047e6646579c2853afba0111f573796daf4fd485 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Sun Oct 25 04:01:25 2015 +0530 Staging: wilc1000: Remove boolean comparision This patch is to the host_interface.c file that fixes up following warning reported by coccicheck: WARNING: Comparison to bool Boolean tests do not need explicit comparison to true or false Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e16d07501becacdc766132facaceba47db839a6 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 24 22:09:05 2015 +0530 staging: rdma: amso1100: Drop unnecessary goto Deletes the jump to a label on the next line when the label isn't used anywhere else. The semantic patch used to find this is: // <smpl> @r@ identifier l; @@ -if (...) goto l; -l: // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24523a94538ef500b867a2d4b2cb5bf72c8287a0 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 16:13:23 2015 +0530 staging: rdma: hfi1: chip: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. <smpl> @timer@ expression e1,e2,e3,fn_ptr; @@ -init_timer(&e1); +setup_timer(&e1, fn_ptr, e2); ... when != fn_ptr = e3 -e1.function = fn_ptr; -e1.data = e2; </smpl> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f663d5de57ae65ae1e38cefdad3e109432c169e Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Sat Oct 24 22:35:47 2015 +0800 Staging: mt29f_spinand: Prefer using the BIT macro Replace all instances of bit shifting on 1 with the BIT(x) macro. In addition, convert other non-1 shift operations with the equivalent BIT(x) macro for uniformity. Issue pointed out by checkpatch. CHECK: Prefer using the BIT macro Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c75e057744fb16d00668674cf41d63b61ee3cd2d Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Sun Oct 25 01:24:51 2015 +0800 Staging: mt29f_spinand: Replace udelay function with usleep_range Use 'usleep_range' instead of 'udelay' to elapse time. For spinand_reset, define the upper limit by a factor of 2 to keep the wait short while still allowing a "good enough" range for wakeup. Define the range 250us - 1ms for spinand_cmdfunc to provide enough leeway before issuing spinand_reset. Checkpatch found this issue. CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6a0692befc1b85dc2e5408e90e51452a6533f47 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 15:47:31 2015 +0530 staging: ipath: ipath_init_chip: Use setup_timer Use of the timer API function setup_timer instead of init_timer, removing the structure field assignments, and make the codeflow more readable. The simplified sematic patch used is :- <smpl> @timer@ expression e1,e2,e3,fn_ptr; @@ -init_timer(&e1); +setup_timer(&e1, fn_ptr, e2); ... when != fn_ptr = e3 -e1.function = fn_ptr; -e1.data = e2; </smpl> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cc918a8565e2a7f6df78cb46777091a862fee54 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 15:47:32 2015 +0530 staging: ipath: ipath_sdma: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 567ae32ad87c8778965350b189a36d757293c82d Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 15:47:33 2015 +0530 staging: ipath: ipath_verbs: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6149e2e4447c86eaf3c1870694dfe4b2bcd8ec0d Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 15:47:30 2015 +0530 staging: ipath: ipath_driver: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. The simplified semantic patch used is :- <smpl> @timer@ expression e1,e2,e3,fn_ptr; @@ -init_timer(&e1); +setup_timer(&e1, fn_ptr, e2); ... when != fn_ptr = e3 -e1.function = fn_ptr; -e1.data = e2; </smpl> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae416ba4e94a30486ba2af0afe052579e7114ab8 Author: Jonas Hesselmann <jonas.hesselmann@xxxxxxxxxx> Date: Sun Oct 25 19:28:58 2015 +0100 USB: core: Codestyle fix in urb.c Delete braces around single statement block suggested by checkpatch.pl Signed-off-by: Jonas Hesselmann <jonas.hesselmann@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a97a3cba298fd989802bf34541c94b6488c3834 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:38 2015 +0300 NFC: nci: Allow the driver to set handler for core nci ops The driver may be required to act when some responses or notifications arrive. For example the NCI core does not have a handler for NCI_OP_CORE_GET_CONFIG_RSP. The NFCC can send a config response that has to be read by the driver and the packet may contain vendor specific data. The Fields Peak driver needs to take certain actions when a reset notification arrives (packet also not handled by the nfc core). The driver handlers do not interfere with the core and they are called after the core processes the packet. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 7bc4824ed5cf9feb0173b90a6bec28f694a5f7ce Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:37 2015 +0300 NFC: nci: Introduce nci_core_cmd This allows sending core commands from the driver. The driver should be able to send NCI core commands like CORE_GET_CONFIG_CMD. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit e4dbd62528931951aa9d3b313ee7d536df5069fc Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:36 2015 +0300 NFC: nci: Do not call post_setup when setup fails The driver should know that it can continue with post setup where setup left off. Being able to execute post_setup when setup fails may force the developer to keep this state in the driver. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a9433c11b1aa0639cc6e4842fff52af2422af06d Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:35 2015 +0300 NFC: nci: Introduce new core opcodes Add NCI_OP_CORE_GET_CONFIG_CMD, NCI_OP_CORE_GET_CONFIG_RSP and NCI_OP_CORE_RESET_NTF. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2663589ce67e5429bac89544bb0e102bb1fcf617 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:34 2015 +0300 NFC: nci: Add function to get max packet size for conn FDP driver needs to send the firmware as regular packets (not fragmented). The driver should have a way to get the max packet size for a given connection. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ea785c094d38bc5eae8011330759d68f45236559 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:33 2015 +0300 NFC: nci: Export nci data send API For the firmware update the driver may use nci_send_data. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit dc42143b8468b1fe6385962d1d78ddadc76c5168 Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Date: Fri Oct 23 17:05:37 2015 +0200 NFC: st-nci: Rename st-nci_se.c Rename it to se.c to keep the driver files namespace consistent. Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 43e9f2aa7788cc60eb11fe3cb4fb6f0b63c35de6 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Tue Oct 20 23:47:19 2015 +0530 i2c: pnx: Use setup_timer instead of open coding it Use timer API function setup_timer instead of init_timer to initialize the timer. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8eb5c87a92c065aaca39ac3e841b07906a4959a2 Author: Dustin Byford <dustin@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 12:27:07 2015 -0700 i2c: add ACPI support for I2C mux ports Although I2C mux devices are easily enumerated using ACPI (_HID/_CID or device property compatible string match), enumerating I2C client devices connected through an I2C mux needs a little extra work. This change implements a method for describing an I2C device hierarchy that includes mux devices by using an ACPI Device() for each mux channel along with an _ADR to set the channel number for the device. See Documentation/acpi/i2c-muxes.txt for a simple example. To make this work the ismt, i801, and designware pci/platform devs now share an ACPI companion with their I2C adapter dev similar to how it's done in OF. This is done on the assumption that power management functions will not be called directly on the I2C dev that is sharing the ACPI node. Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Dustin Byford <dustin@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c0e5c4450494d74c8deb4f47ddcbb74c94937e20 Author: Dustin Byford <dustin@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 12:27:06 2015 -0700 acpi: add acpi_preset_companion() stub Add a stub for acpi_preset_companion(). Fixes build failures when acpi_preset_companion() is used and CONFIG_ACPI is not set. Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Dustin Byford <dustin@xxxxxxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 785171fd6cd7dcd7ada5a733b6a2d44ec566c3a0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Oct 12 14:56:28 2015 +0200 iio:ad7793: Fix ad7785 product ID While the datasheet for the AD7785 lists 0xXB as the product ID the actual product ID is 0xX3. Fix the product ID otherwise the driver will reject the device due to non matching IDs. Fixes: e786cc26dcc5 ("staging:iio:ad7793: Implement stricter id checking") Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1586a5877db9eee313379738d6581bc7c6ffb5e3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 23 10:59:16 2015 -0700 af_unix: do not report POLLOUT on listeners poll(POLLOUT) on a listener should not report fd is ready for a write(). This would break some applications using poll() and pfd.events = -1, as they would not block in poll() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Alan Burlison <Alan.Burlison@xxxxxxxxxx> Tested-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 742e038330a485350334ee5eb75dce4a9dff87cd Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Sat Oct 24 22:56:01 2015 +0800 tipc: link_is_bc_sndlink() can be static TO: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx CC: Jon Maloy <jon.maloy@xxxxxxxxxxxx> CC: Ying Xue <ying.xue@xxxxxxxxxxxxx> CC: tipc-discussion@xxxxxxxxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5dcbe97bedd6ba4b0f574a96cc2e293d26f3d857 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Oct 13 18:15:38 2015 +0200 iio: ad5064: Fix ad5629/ad5669 shift The ad5629/ad5669 are the I2C variant of the ad5628/ad5668, which has a SPI interface. They are mostly identical with the exception that the shift factor is different. Currently the driver does not take care of this difference which leads to incorrect DAC output values. Fix this by introducing a custom channel spec for the ad5629/ad5669 with the correct shift factor. Fixes: commit 6a17a0768f77 ("iio:dac:ad5064: Add support for the ad5629r and ad5669r") Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 03fe472ef33b7f31fbd11d300dbb3fdab9c00fd4 Author: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Date: Tue Oct 13 18:15:37 2015 +0200 iio:ad5064: Make sure ad5064_i2c_write() returns 0 on success i2c_master_send() returns the number of bytes transferred on success while the ad5064 driver expects that the write() callback returns 0 on success. Fix that by translating any non negative return value of i2c_master_send() to 0. Fixes: commit 6a17a0768f77 ("iio:dac:ad5064: Add support for the ad5629r and ad5669r") Signed-off-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 01bb70ae0b98d266fa3e860482c7ce22fa482a6e Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 21:44:38 2015 +0300 iio: lpc32xx_adc: fix warnings caused by enabling unprepared clock If common clock framework is configured, the driver generates a warning, which is fixed by this change: root@devkit3250:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw ------------[ cut here ]------------ WARNING: CPU: 0 PID: 724 at drivers/clk/clk.c:727 clk_core_enable+0x2c/0xa4() Modules linked in: sc16is7xx snd_soc_uda1380 CPU: 0 PID: 724 Comm: cat Not tainted 4.3.0-rc2+ #198 Hardware name: LPC32XX SoC (Flattened Device Tree) Backtrace: [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c) [<>] (show_stack) from [<>] (dump_stack+0x20/0x28) [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8) [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c) [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xa4) [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38) [<>] (clk_enable) from [<>] (lpc32xx_read_raw+0x38/0x80) [<>] (lpc32xx_read_raw) from [<>] (iio_read_channel_info+0x70/0x94) [<>] (iio_read_channel_info) from [<>] (dev_attr_show+0x28/0x4c) [<>] (dev_attr_show) from [<>] (sysfs_kf_seq_show+0x8c/0xf0) [<>] (sysfs_kf_seq_show) from [<>] (kernfs_seq_show+0x2c/0x30) [<>] (kernfs_seq_show) from [<>] (seq_read+0x1c8/0x440) [<>] (seq_read) from [<>] (kernfs_fop_read+0x38/0x170) [<>] (kernfs_fop_read) from [<>] (do_readv_writev+0x16c/0x238) [<>] (do_readv_writev) from [<>] (vfs_readv+0x50/0x58) [<>] (vfs_readv) from [<>] (default_file_splice_read+0x1a4/0x308) [<>] (default_file_splice_read) from [<>] (do_splice_to+0x78/0x84) [<>] (do_splice_to) from [<>] (splice_direct_to_actor+0xc8/0x1cc) [<>] (splice_direct_to_actor) from [<>] (do_splice_direct+0xa0/0xb8) [<>] (do_splice_direct) from [<>] (do_sendfile+0x1a8/0x30c) [<>] (do_sendfile) from [<>] (SyS_sendfile64+0x104/0x10c) [<>] (SyS_sendfile64) from [<>] (ret_fast_syscall+0x0/0x38) Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit aea545fa90812cf68b3bf1f09715c465ba942ab3 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Oct 17 00:29:55 2015 +0200 staging: iio: select IRQ_WORK for IIO_DUMMY_EVGEN The iio dummy code was recently changed to use irq_work_queue, but that code is compiled into the kernel only if IRQ_WORK is set, so we can get a link error here: drivers/built-in.o: In function `iio_evgen_poke': (.text+0x208a04): undefined reference to `irq_work_queue' This changes the Kconfig file to match what other drivers do. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: fd2bb310ca3d ("Staging: iio: Move evgen interrupt generation to irq_work") Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 6219f432ec037317a77c40910da12a626c34af1c Author: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Date: Mon Oct 19 21:24:36 2015 +0530 vf610_adc: Fix internal temperature calculation Calculate ADCR_VTEMP25 using VTEMP25 at VREFH_ADC 3V3. Existing calculations consider the typical values provided in datasheet. Those typical values are valid for VREFH_ADC at 3.0V. VTEMP25 is different for different VREFH_ADC voltages. With VREFH_ADC at 3.3V, voltage at 25°C is 0.699V. Hence update the VTEMP25 to 0.699V which gives ADCR@Temp25 as 867. Formula for finding ADCR@Temp25: ADCR@Temp25 = (ADCR@Vdd * V@TEMP25 * 10) / VDDconv ADCR@Vdd for 12-Bit ADC = 4095 VDDconv = VREFH_ADC * 10 VREFH_ADC@xxxx ADCR@Temp25 = (4095 * .699 * 10) / 33 ADCR@Temp25 ~= 867 | VREFH_ADC | V@TEMP25 | VDDconv | ADCR@Temp25 | | 3.0V | 0.696mV | 30 | 950 | | 3.3V | 0.699mV | 33 | 867 | Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2edb7a3372c76c9379d0fc00e4274ea8f018248a Author: Moshe Harel <moshe.harel@xxxxxxxxx> Date: Thu Sep 10 15:29:09 2015 +0300 iwlwifi: nvm: free old section data when reading nvm file When reading external NVM file, if a section exists both in OTP and in the external file, the memory that was allocated at OTP reading is not freed. This is possible only on systems that have an external NVM file which is typically the case on embedded systems. Signed-off-by: Moshe Harel <moshe.harel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 06ecdba319e2b389c94c7b6a9c936d09ec188359 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Mon Oct 12 14:47:11 2015 +0300 iwlwifi: mvm: disable TDLS ac queues correctly The iwl_mvm_disable_queue function requires the TID to be set to IWL_MAX_TID_COUNT when disabling an AC queue. Call it correctly for TDLS scenarios. Fixes: 4ecafae9e568 ("iwlwifi: mvm: support using multiple ACs on single HW queue") Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 78ba82f777f3ab41f10afa3694c9c7633bf595d4 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Oct 15 10:58:48 2015 +0300 iwlwifi: mvm: take scan ref only on success In some cases, scan reference was taken, but wasn't released even though scan command wasn't actually issued. Change the current code to simply take the reference only on success. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c8f423159e3e53d30e5b36a455797ee2072b09d0 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 11 12:07:21 2015 +0200 iwlwifi: mvm: remove pointless scan plan checks As cfg80211 already enforces these limits, there's little point in having them again here in our code. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 46eebec9794e47ebad0352285db50a10de595bb5 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 11 12:09:22 2015 +0200 iwlwifi: mvm: clean up some whitespace in scan code Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit effd19298c7767457772d489c88f1b7ffa6e7bd9 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Tue Jun 30 12:08:28 2015 +0300 iwlwifi: mvm: Implement per vif frame registration API Implement config_iface_filter() driver op. Currently support only probe request registration for p2p client vifs, by setting MAC_FILTER_IN_PROBE_REQUEST flag in MAC_CONTEXT_CMD. This is needed since WFDS spec and certification require a P2P client to be discoverable on its operating channel. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 053225de121a950b94a1989802c22895797ffbfc Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Sep 10 15:00:22 2015 +0300 iwlwifi: avoid read/write operations if the bus is dead Recovery takes too much time if the bus is dead (each timeout is 2000ms, etc.). Explicitly skip fw dump in this case, as it will result in garbage data (and might take signifcant time) Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit cd55ccea5978d7e87852be3ea5daf89c95b7e78a Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Wed Aug 19 12:46:12 2015 +0300 iwlwifi: mvm: Add support for two scheduled scan plans Add support for two scan plans for scheduled scan. The first plan will run for a limited number of iterations, then the second plan will run infinitely. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5888a40c50b181bab6737167cfc1bf653945e2a1 Author: Luca Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Oct 6 09:54:57 2015 +0300 iwlwifi: mvm: let any command flag be passed to iwl_mvm_flushtx_path() Instead of only allowing the caller to decide whether the CMD_ASYNC flag is set, let it pass the entire flags bitmask. This allows more flexibility and will be needed when we call this function in the suspend flow (where other flags are needed). Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c84af35de612fb45db6b5c5968b575813f5daa3b Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Aug 12 17:52:12 2015 +0300 iwlwifi: mvm: Allow setting ctrl-chnl-position in FTM responder This patch enables the debugfs user to configure an FTM responder with the appropriate control channel position. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b08dbed71a876d982e3506a97702535fd5cff48c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Oct 6 14:07:44 2015 +0200 iwlwifi: mvm: use short timeouts in P2P low latency if supported Those timeouts are used for AM-to-PSM transition. We already have those pairs defined for default and WOWLAN use cases. We expect that by using shorter threshold for low latency P2P, e.g. for Miracast video scenario, we might save a considerable amount of power. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9645edb607427a9728b9269dfded74e8c42a9d48 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Oct 6 13:28:48 2015 +0200 iwlwifi: mvm: use wowlan RX/TX timeouts in D0i3 In "hostless" mode (D3 or D0i3) the same parameters were intended to be used, but the code doesn't do that properly. Fix it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 78efc702c8b6ddd6563d836f0d9844bf1f288f9b Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Tue Oct 6 12:22:47 2015 +0300 iwlwifi: mvm: correctly request DTS-measure for new cards Since the 8000 series, the DTS measurement request command has been changed. Use an ucode capability flag to determine which version is supported and send the extended command when needed. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 03a19cbb91994212be72ce15ac3406fa9f8ba079 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Oct 21 19:55:32 2015 +0300 iwlwifi: pcie: fix (again) prepare card flow The hardware bug in the commit mentioned below forces us not to re-enable the clock gating in the Host Cluster. The impact on the power consumption is minimal and it allows the WAKE_ME interrupt to propagate. CC: <stable@xxxxxxxxxxxxxxx> [4.1+] Fixes: c9fdec9f3970 ("iwlwifi: pcie: fix prepare card flow") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f0afea54ee0dd212186de0291ec025c63016fa39 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Mon Jul 20 17:55:51 2015 +0300 iwlwifi: mvm: Dump FW's virtual image in the case of a NIC error When paging is enabled the driver stores part of the FW's image in the DRAM. Dump FW's virtual image in the case of a NIC error. Signed-off-by: Golan Ben-Ami <golan.ben.ami@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e621c2282e310aa83a50db4da3e16dfc5945db08 Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Thu Sep 3 15:42:09 2015 +0300 iwlwifi: rs: Remove workaround that disables MIMO on P2P Remove an old workaround that's no longer needed and enable MIMO on P2P interfaces. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 10d15322ed26652263a579bcb59dfd49ab8a30de Merge: 0316d30 e5a9f8d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Oct 25 12:38:20 2015 +0200 Merge remote-tracking branch 'mac80211-next/master' into next commit 2c66e24d75d424919c42288b418d2e593fa818b1 Author: Sai Praneeth <sai.praneeth.prakhya@xxxxxxxxx> Date: Fri Oct 16 16:20:27 2015 -0700 x86/efi: Fix kernel panic when CONFIG_DEBUG_VIRTUAL is enabled When CONFIG_DEBUG_VIRTUAL is enabled, all accesses to __pa(address) are monitored to see whether address falls in direct mapping or kernel text mapping (see Documentation/x86/x86_64/mm.txt for details), if it does not, the kernel panics. During 1:1 mapping of EFI runtime services we access virtual addresses which are == physical addresses, thus the 1:1 mapping and these addresses do not fall in either of the above two regions and hence when passed as arguments to __pa() kernel panics as reported by Dave Hansen here https://lkml.kernel.org/r/5462999A.7090706@xxxxxxxxxx So, before calling __pa() virtual addresses should be validated which results in skipping call to split_page_count() and that should be fine because it is used to keep track of everything *but* 1:1 mappings. Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya@xxxxxxxxx> Reported-by: Dave Hansen <dave.hansen@xxxxxxxxx> Reviewed-by: Borislav Petkov <bp@xxxxxxx> Cc: Ricardo Neri <ricardo.neri@xxxxxxxxx> Cc: Glenn P Williamson <glenn.p.williamson@xxxxxxxxx> Cc: Ravi Shankar <ravi.v.shankar@xxxxxxxxx> Signed-off-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> commit a01fece2e4185ac173abd16d10304d73d47ebf00 Author: John David Anglin <dave.anglin@xxxxxxxx> Date: Wed Oct 14 20:32:11 2015 -0400 parisc: Change L1_CACHE_BYTES to 16 Change L1_CACHE_BYTES to 16 bytes. Tested for 16 days on rp3440. Additional remarks from Helge Deller: Saves ~17 kb of kernel code/data and gives a slight performance improvement in various test cases. Signed-off-by: John David Anglin <dave.anglin@xxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit c59f419bdd1f056e1ceacbd29f7be7bcff746a5d Author: Helge Deller <deller@xxxxxx> Date: Sun Oct 25 10:00:32 2015 +0100 net/xps: Fix calculation of initial number of xps queues The existing code breaks on architectures where the L1 cache size (L1_CACHE_BYTES) is smaller or equal the size of struct xps_map. The new code ensures that we get at minimum one initial xps queue, or even more as long as it fits into the next multiple of L1_CACHE_SIZE. Signed-off-by: Helge Deller <deller@xxxxxx> Acked-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> commit 4341801873e23bbecee76dabb7c111e3693b900f Merge: 80fcd45 161d904 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Oct 25 09:40:31 2015 +0100 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 from Arnaldo Carvalho de Melo: New user-visible features: - Show ordered command line options when -h is used or when an unknown option is specified. (Arnaldo Carvalho de Melo) - If options are passed after -h, show just its descriptions, not all options. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5fa6fc79f5b1fbe540300dbe3efbaa515b05282 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Mon Aug 24 11:29:36 2015 +0530 i2c: pxa: Add support for pxa910/988 & new configuration features TWSI_ILCR & TWSI_IWCR registers are used to adjust clock rate of standard & fast mode in pxa910/988; so this patch adds these two new entries to "struct pxa_reg_layout" and "struct pxa_i2c". Signed-off-by: Jett.Zhou <jtzhou@xxxxxxxxxxx> Signed-off-by: Yi Zhang <yizhang@xxxxxxxxxxx> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Tested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> [wsa: white space fixes] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit aa5b477db5826e9922c4fe78ccf53fb2df039367 Author: Andrew F. Davis <afd@xxxxxx> Date: Thu Oct 22 14:11:11 2015 -0500 usb: misc: usb3503: Use i2c_add_driver helper macro Use i2c_add_driver as it will add THIS_MODULE for us. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 164f0aa87232b85c17181922a28c3f410ea9a32b Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 22:30:26 2015 +0300 usb: host: lpc32xx: don't unregister phy device There is no need to unregister the I2C device, which serves as a phy from host code, this should be done in the correspondent phy driver. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1a0c4239653a9a4fba90e9f3e407c7cb6140f61 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 22:30:25 2015 +0300 usb: host: lpc32xx: balance clk enable/disable on removal The change adds missing clk_disable_unprepare(usb_otg_clk) call, also the disabled clocks are sorted in order opposite to enabled clocks. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ae79876d8c9e2ff7d083ad799fcf98488af49b6 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 22:30:24 2015 +0300 usb: host: lpc32xx: fix warnings caused by enabling unprepared clock If common clock framework is configured, the driver generates a warning, which is fixed by this change: WARNING: CPU: 0 PID: 573 at drivers/clk/clk.c:728 clk_core_enable+0x2c/0xf0() Modules linked in: ohci_nxp(+) sc16is7xx snd_soc_uda1380 CPU: 0 PID: 573 Comm: udevd Not tainted 4.3.0-rc2+ #285 Hardware name: LPC32XX SoC (Flattened Device Tree) Backtrace: [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c) [<>] (show_stack) from [<>] (dump_stack+0x20/0x28) [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8) [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c) [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xf0) [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38) [<>] (clk_enable) from [<>] (ohci_hcd_nxp_probe+0x1d0/0x518 [ohci_nxp]) [<>] (ohci_hcd_nxp_probe [ohci_nxp]) from [<>] (platform_drv_probe+0x50/0xa0) [<>] (platform_drv_probe) from [<>] (driver_probe_device+0x18c/0x408) [<>] (driver_probe_device) from [<>] (__driver_attach+0x70/0x94) [<>] (__driver_attach) from [<>] (bus_for_each_dev+0x74/0x98) [<>] (bus_for_each_dev) from [<>] (driver_attach+0x20/0x28) [<>] (driver_attach) from [<>] (bus_add_driver+0x11c/0x248) [<>] (bus_add_driver) from [<>] (driver_register+0xa4/0xe8) [<>] (driver_register) from [<>] (__platform_driver_register+0x50/0x64) [<>] (__platform_driver_register) from [<>] (ohci_nxp_init+0x3c/0x5c [ohci_nxp]) [<>] (ohci_nxp_init [ohci_nxp]) from [<>] (do_one_initcall+0x11c/0x1dc) [<>] (do_one_initcall) from [<>] (do_init_module+0x60/0x368) [<>] (do_init_module) from [<>] (load_module+0x16d0/0x1b7c) [<>] (load_module) from [<>] (SyS_finit_module+0x90/0xa4) [<>] (SyS_finit_module) from [<>] (ret_fast_syscall+0x0/0x38) Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf0d5fbd5594444d7c46b16993f944bc318fd01d Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Tue Oct 20 23:58:17 2015 +0530 uwb: drp: Use setup_timer Use timer API function setup_timer instead of init_timer to initialize a kernel timer. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9ca0c948c921e960006aaf319a29c004917cdf6 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Tue Oct 20 23:59:53 2015 +0530 uwb: neh: Use setup_timer Use timer API function setup_timer instead of init_timer to initialize the timer. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a895dc0509e6d2dbe4ec8a184a55323738fde9f6 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Wed Oct 21 00:00:37 2015 +0530 uwb: rsv: Use setup_timer Use timer API function setup_timer instead of init_timer to initialize the timer. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 526290aa6288e133db18d64c2c175a0a1a58b438 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 24 01:21:04 2015 +0530 char: ipmi: ipmi_ssif: Replace timeval with timespec64 This patch replaces timeval with timespec64 as 32 bit 'struct timeval' will not give current time beyond 2038. The patch changes the code to use ktime_get_real_ts64() which returns a 'struct timespec64' instead of do_gettimeofday() which returns a 'struct timeval' This patch also alters the format string in pr_info() for now.tv_sec to incorporate 'long long' on 32 bit architectures. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 575ff198f5a3981e8d9fb54e61876f9082ca3bd7 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Fri Oct 23 21:33:34 2015 -0700 staging: r8723au: remove externs and include needed header file Remove extern declaration and add include of header file to get same. Addresses checkpatch.pl: WARNING: externs should be avoided in .c files Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48c9578c1c63515ce9e0bfb54b051dce5cfa3675 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Fri Oct 23 21:32:20 2015 -0700 staging: r8723au: replace explicit NULL comparisons with ! Replace explicit NULL comparison with ! operator to simplify code. Addresses checkpatch.pl: WARNING: Comparisons should place the constant on the right side of the test Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9cd7afaf1fed8ef4ac6c930bd52043492954d40 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Fri Oct 23 21:28:00 2015 -0700 staging: r8723au: use kernel preferred style for commenting Reworked comments per kernel coding style to improve readability. Corrects checkpatch.pl: WARNING: Block comments use * on subsequent lines WARNING: line over 80 characters Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b7bbd18c7a078e4824e8a7531ea3d5995c33855 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Sat Oct 24 00:30:03 2015 +0300 staging: wlan-ng: Do not use multiple blank lines. Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines" Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a16d77fc05750921add13ae7ac8bd7c321689181 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Fri Oct 23 22:12:14 2015 +0300 staging: speakup: Remove multiple assignments Remove multiple assignments by factorizing them.Problem found using checkpatch.pl CHECK: multiple assignments should be avoided Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7526a468841f463e24c3756a139623b24d1408e6 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 23 23:44:48 2015 +0530 staging: vt6656: Remove unnecessary braces and tab spacing This patch removes unnecessary braces around if-else single statement blocks and unnecessary tab space aligning Tool used is uncrustify. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11d7e632e3102fec4d81e8f746d4afce65effe2c Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 23 19:57:52 2015 +0530 Staging: rtl8723au: Use put_unaligned_le32 Introduce the use of function put_unaligned_le32. A simplified version of Coccinelle semantic patch used - @@ identifier tmp; expression ptr; expression y,e; type T; @@ - tmp = cpu_to_le32(y); <+... when != tmp - memcpy(ptr, (T)&tmp, ...); + put_unaligned_le32(y,ptr); ...+> ? tmp = e @@ type T; identifier tmp; @@ - T tmp; ...when != tmp Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 646287ba9faececebeffa998a5b75160ec94e090 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 21 23:16:56 2015 +0200 staging: fbtft: fix voltage settings for C-Berry28 This patch fixes some internal voltage settings for the C-Berry28 display. The original example source files for the C-Berry28 as provided by its vendor admatec contained six issues where a command parameter's value didn't match its corresponding comment. I've informed admatec about these discrepancies on 2015-08-25. In the meantime, I've assumed the comments to be more reliable than the code, and thus have used these values to write the initial C-Berry28 driver. After having received a reply from admatec on 2015-10-16 that the issues have been fixed in their example code, it has turned out that for the voltages VCOM and AVDD, the code was indeed correct, but the comments were wrong. This patch is meant to fix these two pending mistakes. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef8f317795dae8410fc749c5b198d8d5e68de632 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 21 23:16:55 2015 +0200 staging: fbtft: use init function instead of init sequence This patch converts the default init sequence of the ST7789V display controller into an init function, as init sequences are considered deprecated by the maintainers of fbtft. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d7b169214bbbc9bb0b1dfb3a29cac97f7939ca4 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 21 23:16:54 2015 +0200 staging: fbtft: remove redundant set_addr_win() function This patch removes the function set_addr_win() from fb_st7789v.c, as its definition is redundant to the default implementation fbtft_set_addr_win() which can be found in fbtft-core.c. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 598af18afc6dd5753622b8e4c9a6cd185f4223a4 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 21 23:16:53 2015 +0200 staging: fbtft: use MIPI DCS for ST7789V and C-Berry28 This patch makes use of the standard MIPI Display Command Set to remove redundant entries from the command enum of the ST7789V display controller and also some of the magic constants found in the init sequence of the C-Berry28 display. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 164e265b63db867b77d0f57ddf2324bbdaa151f3 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Tue Oct 20 23:09:37 2015 -0700 staging: r8723au: add & use local variable to simplify references Add local variable scanned_queue to rtw_createbss_cmd23a_callback() and use it (5x) to simplify references. Addresses checkpatch.pl WARNING: line over 80 characters Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c12e8dba0ebfcfe398e520ecbb3f1cb97b6d1a6c Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Tue Oct 20 23:08:27 2015 -0700 staging: r8723au: move constant to right of comparison test Move constant to right of comparison test to improve readability. Addresses checkpatch.pl: WARNING: Comparisons should place the constant on the right side of the test Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d07fc1b027403d05b223c7c99ace996de8cad7b Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Tue Oct 20 23:06:45 2015 -0700 staging: r8723au: replace printk() with netdev_err() Replace printk() with netdev_err() for uniform error reporting. Issue found by checkpatch. Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68535a16bb6a8878ad8731867a85f8acd9337e7d Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Thu Oct 22 15:15:39 2015 +0300 staging: vt6655: Add space around '*' Add space around operator '*'. Problem found using checkpatch.pl CHECK: spaces preferred around that '*' (ctx:VxV) Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0cddeac382a2ac846adef88eac7e254f38046d4b Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Thu Oct 22 00:48:29 2015 +0300 staging: vt6655: Add space around '*' Add space around operator '*'. Problem found using checkpatch.pl CHECK: spaces preferred around that '*' (ctx:VxV) Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c182ae20791d638c07ff499709c4a1d4697bd7c Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 18:32:38 2015 +0100 staging: rtl8723au: core: rtw_wlan_util: fix misleading indentation For loop is outside of the else branch of the above conditional statement. Fixing misleading indentation. Fix a smatch warning: drivers/staging/rtl8723au/core/rtw_wlan_util.c:528 WMMOnAssocRsp23a() warn: curly braces intended? Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ada40ba4e5b5f6a668a4d684e12a8b097fbafee3 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 21 20:00:49 2015 +0300 staging: rtl8712: Replace kmalloc with kmalloc_array Replace kmalloc with specialized function kmalloc_array when the size is a multiplication of: number_of_elements * size_of_element Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 614a2910900084d93fe80611a3d14c62edc0ea10 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Tue Oct 20 23:29:31 2015 +0300 staging: netlogic: Do not use multiple blank lines. Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines" Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9108b71b1f7335149d68fbd166af7236ed60373 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 21 23:17:56 2015 +0300 staging: dgap: add spaces around binary operator '|' This patch adds spaces around binary operator '|'. Done with coccinelle semantic patch: @@ identifier x, y, z; @@ ( - x|y|z + x | y | z | - x|y + x | y ) Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44209c93299efbc84eb8c29827b3132bf06f7e42 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 21 23:17:55 2015 +0300 staging: dgap: remove unnecessary brackets This patch removes unnecessary brackets when dealing with unary operators like '&'. Done with coccinelle semantic patch: @@ expression e; @@ ( - &(e) + &e ) Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 181225530e2f625869fb8ad242444d8efa8a478b Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 21 23:17:54 2015 +0300 staging: dgap: remove unnecessary space after cast This patch removes unnecessary spaces after the cast. Patch done with coccinelle semantic patch: @rule0@ type t; identifier e; constant c; expression expr; @@ ( - (t) e + (t)e | - (t) c + (t)c | - (t) expr + (t)expr ) Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 629c7349a2e5bc6c5680c00b3e822b2384bf0523 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 21 23:17:53 2015 +0300 staging: dgap: properly indent to match open paranthesis Indent parameters and arguments passed to function calls to match open paranthesis Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb795c68479f9ada8e5a0d5b54af18fd54a951a5 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 21 23:17:52 2015 +0300 staging: dgap: remove unnecessary blank lines This patch removes the unnecessary blank lines before a closed bracket and after an open bracket. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd857a158abcf2ad0134e9f044ba74b2bd0b468a Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:47 2015 +0300 staging: iio: magnetometer: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05824120e4ff5f431370db106d1a034b3923e0db Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:46 2015 +0300 staging: iio: gyro: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac1640fbd833b6dfaab1cc8e08ec1e511be189a8 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:45 2015 +0300 staging: iio: trigger: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97deb1bc1183f8d91f0ebde1403980e5f9429f6e Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:44 2015 +0300 staging: iio: frequency: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6e65f97db4ebd6a9aec26eccca2992eb638afd3 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:43 2015 +0300 staging: iio: cdc: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eee587ea87343777f51825c532462635dd2e4157 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:42 2015 +0300 staging: iio: accel: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 062f782b37059f7156e59f46c71225ba4a5efa06 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:41 2015 +0300 staging: iio: meter: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d59b7b68344df4a2a9eb31e0d667692bfa43a690 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:40 2015 +0300 staging: iio: light: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9efbbfada99cd553fa16f66a49b98acf011080a9 Author: Anton Tatuev <tatuev.a.a@xxxxxxxxx> Date: Thu Oct 22 18:37:30 2015 +0300 skein: fix coding style Added spaces around binary operators. Signed-off-by: Tatuev Anton <tatuev.a.a@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78b987879726ed61630e3ea0f567360138723e07 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Thu Oct 22 16:25:08 2015 +0300 staging: skein: Add space around '%' Add space around operator '%'. Problem found using checkpatch.pl CHECK: spaces preferred around that '%' (ctx:VxV) Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a28617fbc99fa8276ebe88faa3d46f8fa451378 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Fri Oct 23 00:01:35 2015 +0300 staging: octeon: Do not use multiple blank lines. Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines". Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73eee567cbdc3e2f70843a1090786ceb0391061e Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 21 20:00:50 2015 +0300 staging: octeon-usb: Replace kmalloc with kmalloc_array Replace kmalloc with specialized function kmalloc_array when the size is a multiplication of: number_of_elements * size_of_element Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffca44fb93e755e3af822966ddf0a5d041d8bd93 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Tue Oct 20 00:57:39 2015 +0530 staging: octeon: Remove explicit NULL comparison Remove the explicit NULL comparison and rewrite in a compact form. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 192b6a8475f8312f0d1f19a010fcca322018d14f Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Tue Oct 20 00:57:38 2015 +0530 staging: octeon: Remove explicit NULL comparison Remove the explicit NULL comparison and rewrite in a compact form. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ef2de5ae0377bc88c1f5021c3797db3c62bc384 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 19 18:16:01 2015 +0100 staging: rtl8712: spaces preferred around operands Clean up all instances of checkpatch.pl checks: CHECK: spaces preferred around that '+' (and other operands) Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 168a2c10288d78f1e8504d132f59bb407f4fb9a6 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 19 18:15:29 2015 +0100 staging: rtl8712: braces should be used on all arms Fix all instances of the following checkpatch.pl check: CHECK: braces {} should be used on all arms of this statement Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ca96884b12dd2d57e0339d9f4a29e4888edc0e2 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 19 18:14:29 2015 +0100 staging: rtl8712: Remove boolean comparisons Boolean tests do not need explicit comparison to true or false. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf31378ba705945fb7b7d6e6c96e47a8a6ce4503 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Mon Oct 19 22:37:51 2015 +0530 staging: ion: Remove explicit NULL comparison Rewrite explicit NULL comparison in its simpler form. <smpl> @NULL_REPLACE@ expression e; @@ -e == NULL + !e Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7346489110da94ed5792a8f1ef3116e0bd1961f6 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 18:29:59 2015 +0100 staging: rtl8188eu: fix misleading indentation Code is correct, i needs to be moved back by 2 to correct for the last iteration of the while loop, since READ_NEXT_PAIR advances two. Fixing the misleading indentation. Fix a smatch warning: drivers/staging/rtl8188eu/hal/rf_cfg.c:217 rtl88e_phy_config_rf_with_headerfile() warn: curly braces intended? Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c68ed09fe11cdd45cd84f8dcf634c2ca4075a52 Author: Anish Bhatt <anish@xxxxxxxxxx> Date: Sun Oct 18 22:51:41 2015 -0700 rtl8188eu : BIT() macro cleanup Use the BIT(x) macro directly instead using multiple BITX defines. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0dcce5fbfac9cb238c4666b8798065eb982bb82 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:30 2015 +0200 staging: rtl8192e: _rtl92e_fw_boot_cpu: Remove unneeded goto Drop ugly label as no resource cleanup is needed. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91d7b8cf7cfef7a1e3e344e5bbbaf664505eb2c9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:29 2015 +0200 staging: rtl8192e: fw: Use netdev_dbg instead of RT_TRACE Drop legacy logging system. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15d140664c94f56e67e4cf3107c000471ae72a9c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:28 2015 +0200 staging: rtl8192e: Remove _rtl92e_fw_download_code() Reuse rtl92e_send_cmd_pkt() instead. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4c807d6d5fa653dc060a75e963cb2834f697ed4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:27 2015 +0200 staging: rtl8192e: Swap firmware endian in _rtl92e_fw_prepare() Remove endian swap from _rtl92e_fw_download_code(), this way it can be replaced with _rtl92e_send_cmd_pkt(). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09b1893831d23bac5d6a0a84ac578fdec7099b7d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:26 2015 +0200 staging: rtl8192e: Add _rtl92e_fw_prepare Add function to request and prepare firmware image. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51dac5f09577e8300602e378d115075cf656a32c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:25 2015 +0200 staging: rtl8192e: Add _rtl92e_wait_for_fw() Add function waiting for firmware load/boot; Remove _rtl92e_is_fw_ready() that is obsolete (can be replaced with _rtl92e_wait_for_fw(). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58533b221730c0ccbcd7d7694b2111679f11d99d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:24 2015 +0200 staging: rtl8192e: init_fw: Drop unneded check rst_opt is always equal to OPT_SYSTEM_RESET in this scope. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6167a6c88c07f5efe9fb86603f2b095b7ccc941a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:23 2015 +0200 staging: rtl8192e: Rename rt_firmware::firmware_status to status Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 292f4b47baf8e45b4196dab432ee787fd1eeca88 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:22 2015 +0200 staging: rtl8192e: Add rt_fw_blob rt_fw_blob contains single firmware blob and its size. Update firmware loading code accordingly. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0f6479165ed0380e8588f50ff728b76131c4383 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:21 2015 +0200 staging: rtl8192e: cmd_pkt: Handle INIT packets Add support for DESC_PACKET_TYPE_INIT to rtl92e_send_cmd_pkt(). With this generalization, _rtl92e_fw_download_code() may be removed after slight modification. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e7da09afd129d9b75b561808d5ed9209d6d2f2c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:20 2015 +0200 staging: rtl8192e: Use macro to represent fragmentation threshold Add CMDPACKET_FRAG_SIZE macro and use it as fragmentation threshold in send_cmd_pkt functions. This makes rt_firmware::cmdpacket_frag_thresold and rtl92e_init_fw_param() obsolete. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c008fa83c416bbdcca9a49fb2d6f3fbc50daf421 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:19 2015 +0200 staging: rtl8192e: cmdpkt: Pass data as const void* Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d15fe3e01989df34c5afc0d61fb53337484872b0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:18 2015 +0200 staging: rtl8192e: cmdpkt: Reorder arguments Use send_cmd_pkt(dev, type, data , size) order to avoid confusion Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e74c73c9837171c380f4c2ce4c749a0b62e4b8c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:17 2015 +0200 staging: rtl8192e: cmdpkt: Simplify argument names Rename: codevirtualaddress -> data buffer_len -> len packettype -> type Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1afacec6636dcf7b77ed0fdd34b7d09afaf3b323 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:16 2015 +0200 staging: rtl8192e: cmdpkt: Use packettype properly rtl92e_send_cmd_pkt used hardcoded NORMAL packet type. As it may be used to send other packet types as well - use provided packet type instead of defaults. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62d46eaac6c64c48413d62aae285a013439c51b9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:15 2015 +0200 staging: rtl8192e: rtl_dm: Use proper packet type rtl92e_send_cmd_packet sends only NORMAL packets, passing invalid type (even it it's ignored) is confusing. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba57f5fadb79f35e9e2a75617dccd62415db5252 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Oct 19 12:24:39 2015 +0530 Staging: emxx_udc: Add space around operator. Add a space around '>>' operator. Problem found using checkpatch. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Reviewed-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a602ac4d6ecda412746fe249423d6455e32a264 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 18 22:59:18 2015 +0100 staging: emxx_udc: Remove boolean comparisons Boolean tests do not need explicit comparison to true or false. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6512edec48b2ccfe9bb969ce26ebbbcd49de6c4b Author: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Date: Wed Oct 21 18:42:37 2015 -0700 staging: ft1000: remove obsolete driver Remove support for Qleadtek Flash-OFDM modems. Telecom carrier is discontinuing service for the radio technology. See http://www.gtigroup.org/news/ind/2015-08-18/6996.html. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb96c7fc24fb89d7e3382260e1b391c05895cfa6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:05 2015 -0700 staging: comedi: adl_pci9118: tidy up pci9118_ai_setup_dma() For aesthetics, init the dmalen[01] local variables when they are declared. Use a local variable, 'scan_bytes', for the (devpriv->ai_n_realscanlen << 1) calculation. For aesthetics and clarification, use comedi_bytes_per_sample() instead of the '<< 1' shift to calculate the value. The local variable 'i' is badly named. Remove it and use a local variable 'tmp' where it is used. When checking the DMA buffer lengths for non-neverending commands the scan length calculation, (devpriv->ai_n_realscanlen << 1) * cmd->stop_arg, could overflow. Use and unsigned long long local variable to hold the calculation and avoid the overflow. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45037a9569183b49a9c9cf9faea294228c3963d2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:04 2015 -0700 staging: comedi: adl_pci9118: rename interrupt_*() functions For aesthetics, rename these functions so it they 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 5c912f1f285e91c9059f8b3cf2ff170ee42d604d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:03 2015 -0700 staging: comedi: adl_pci9118: rename move_block_from_dma() Rename this 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 9459ff2b6bd103bd4bd0e31f5144a7b2b6e76bae Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:02 2015 -0700 staging: comedi: adl_pci9118: rename valid_samples_in_act_dma_buf() Rename this 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 ad1a9646b72ab58649b0e75bda794f7ca79ae497 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:01 2015 -0700 staging: comedi: adl_pci9118: rename interrupt_pci9118_ai_mode4_switch() For aesthetics, remove "interrupt_" from this functions name to shorten it 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 dd2907c3e7a759e1ea2ea5587704515d907dd937 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:00 2015 -0700 staging: comedi: adl_pci9118: remove PCI9118_CHANLEN This define is only used to initialize the analog input sudevice 'len_chanlist'. Remove the define and just open code the value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 766957f6f1841e5d435798741852f2697ad0b2ad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:12:59 2015 -0700 staging: comedi: adl_pci9118: remove unused defines These defines are not used in the driver. 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 0f3cb85ac85a6819248544113b495af27921e454 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:12:58 2015 -0700 staging: comedi: adl_pci9118: tidy up check_channel_list() Rename this function to give it namespace associated with the driver. Currently this function is called by both the AI (*do_cmdtest) and the (*do_cmd) functions. It really only needs to be called by the (*do_cmdtest) to validate that the chanlist meets the requirements of the hardware. It's only called by the (*do_cmd) to verify that the scan length is not to large after adding the extra samples needed to satisfy the DMA. Move the extra scan length check into the (*do_cmd) function and remove the unnecessary parameters 'frontadd' and 'backadd'. Tidy up the reset of the function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c999314efef94be997b762bc22f0be55e139df8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:12:57 2015 -0700 staging: comedi: adl_pci9118: remove unnecessary check in check_channel_list() Step 3 of the AI (*do_cmdtest) validates that the cmd->chanlist_len is >= 1. If it's not the (*do_cmdtest) fails and check_channel_list() is never called. This This function is also called by the AI (*do_cmd) and the comedi core ensures that the async command has a valid chanlist. Remove the unnecessary 'n_chan' check. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 323538b825d4b1eb6c8a9022998822898ab52dff Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:12:56 2015 -0700 staging: comedi: adl_pci9118: TRIG_INT is not vaild for scan_begin_src The (*do_cmdtest) in this driver validated the scan_begin_src as being TRIG_FOLLOW | TRIG_TIMER | TRIG_EXT. The TRIG_INT source is not valid. Remove the Step 2 mutual compatibility check that makes sure that TRIG_INT is only used for the start_src or the scan_begin_src. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9aed06693df75c0e81ae2a25c3ed51dbb4d4ac61 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 13:16:33 2015 +0300 staging: comedi: Fix return flow Simplify function return flow. Issue found with coccinelle. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64289a650656d7307832376fdfaf1e7131236a4b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:44:02 2015 -0700 staging: comedi: cb_pcidas: update MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "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 d52688055c9cdc81475882009e437248f073edf9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:44:01 2015 -0700 staging: comedi: cb_pcidas: fix cb_pcidas_ao_nofifo_insn_write() The comedi core expects (*insn_write) functions to write insn->n data values to the hardware. Fix this function to work like the core expects. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef7e20934ec906e7986566d45ea8ae652a64ba09 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:44:00 2015 -0700 staging: comedi: cb_pcidas: fix cb_pcidas_ao_fifo_insn_write() The comedi core expects (*insn_write) functions to write insn->n data values to the hardware. Fix this function to work like the core expects. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f92738ca2fa4f8ca30424ac2b770e2c8a8a7b364 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:43:59 2015 -0700 staging: comedi: cb_pcidas: remove superfluous comment The ao (*cancel) function does not need commented. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 042bac563b28c8067fa958470dd5c1dc31d42cb2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:43:58 2015 -0700 staging: comedi: cb_pcidas: absorb cal_enable_bits() This inline function just returns the bits needd to enable a calibration source. For aethetics, absorb it into the callers. Sorten the variable name in the private data used to hold the current calibration source. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46c95d970fc2a2c9e7abc0560bbba7155f615982 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:43:57 2015 -0700 staging: comedi: cb_pcidas: consolidate interrupt clear code The analog output and analog input interrupts are currently cleared as they are handled. Refactor the code to gather all the bits needed to clear the interrupts and do it once at the end of the interrupt handler. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d783469871f48c765c5684dc99fcc409b944754 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:43:56 2015 -0700 staging: comedi: cb_pcidas: split ai code out of interrupt handler Clarify the interrupt handler by splitting the analog input handling into a new function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abfe2196e03d7026776a0bfb94f93ae1227b23d0 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 22:35:30 2015 +0800 staging: comedi: make ni_tio_has_gate2_registers return boolean This patch makes ni_tio_has_gate2_registers return boolean, since this function only uses either one or zero as its return value. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1ccdddc2e60e73011d0a5e2f06913be84b8bafb Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Mon Oct 19 18:49:12 2015 +0200 Staging: rtl8192e: Use module_pci_driver Use module_pci_driver for drivers whose init and exit functions only register and unregister, respectively. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e6e63283691a2a9048a35d9c6c59cf0abd342e4 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Sun Oct 18 22:14:48 2015 -0500 staging: rtl8712: Add device ID for Sitecom WLA2100 This adds the USB ID for the Sitecom WLA2100. The Windows 10 inf file was checked to verify that the addition is correct. Reported-by: Frans van de Wiel <fvdw@xxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Frans van de Wiel <fvdw@xxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> [All stable versions] Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3a56f750d430115f07d703858b8f3af31e17a87 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Thu Oct 22 22:20:15 2015 +0530 Staging: xgifb: Remove space after cast This patch fixes the checkpatch check: CHECK: No space is necessary after a cast Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 076e235856d1fbb026fd13dbf9139efb86a7b496 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Thu Oct 22 22:18:26 2015 +0530 Staging: xgifb: Fix comparison to NULL warning Change comparison to NULL to a ! operation. Found using checkpatch. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d46afbce659f8ca4feef61451c719275698e7fc Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Thu Oct 22 22:17:24 2015 +0530 Staging: xgifb: Remove extra blank lines. This patch fixes the checkpatch.pl check: CHECK: Please don't use multiple blank lines Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fc27711dea034db381b6a5c532f384721e9ca73 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Thu Oct 22 22:16:19 2015 +0530 Staging: xgifb: Remove blank line before } and after { Remove blank line after { and before }. Problem found using checkpatch. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8acac9421fedb008f2ef04763c3912d138ac936 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Thu Oct 22 20:21:22 2015 +0530 Staging: xgifb: Replace udelay, mdelay functions with usleep_range This patch fixes the checkpatch.pl check: CHECK: usleep_range is preferred over udelay. Replace mdelay with usleep_range function too. Add 1 millisecond to the delay time to get a reasonable upper limit which saves one wakeup call. Do same throughout the file. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fd9a2a19c241ce22f05cdc82b8eefb7f8a3e92f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 22:35:32 2015 +0800 staging: xgifb: make XGIfb_has_VB return boolean This patch makes XGIfb_has_VB return boolean, since this function only uses either one or zero as its return value. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bff1d83d78db66d3307f856344fd2202b8b77ce3 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sat Oct 24 07:45:44 2015 +0530 staging: most: hdm-usb: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. <smpl> @timer@ expression e1,e2,e3,fn_ptr; @@ -init_timer(&e1); +setup_timer(&e1, fn_ptr, e2); ... when != fn_ptr = e3 -e1.function = fn_ptr; -e1.data = e2; </smpl> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f96d48aaa915178995b4bf246793168376fd0576 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:51 2015 +0200 staging: most: remove comparison to NULL Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 181a2aa185c092b840a2bc089e83629619f5b1ab Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:50 2015 +0200 staging: most: use preferred kzalloc parameters This patch uses the preferred call to kzalloc. It replaces kzalloc(sizeof(struct aim_fh)...) by kzalloc(sizeof(*fh)...). Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2aa9b96ff6b3bbeedf8e0a042e6f24f71775c58a Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:49 2015 +0200 staging: most: use preferred kernel types This patch makes use of the preferred kernel types such as u16, u32. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 623d800252111942d357d8d8592d578d3783ff67 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:48 2015 +0200 staging: most: fix logical operator position This patch puts logical continuations on the previous line to meet coding style. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df8da2e3e400b2f4601bdba4ecd424c212fe7d5c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:47 2015 +0200 staging: most: remove unnecessary parentheses This patch simply removes unnecessary parentheses. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cbe5aa65d5d4e90c8bb661d021b50131eb963c6 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:45 2015 +0200 staging: most: use blank line after declarations This patch fixes style violation regarding blank lines after function/struct/union/enum declarations. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9deba73de56ce5782ca46460b1ca5a5de82439c1 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:44 2015 +0200 staging: most: use braces on all arms of statement This patch fixes style issues regarding braces on all arms of a statement. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edaa1e33e21ab38c683be0037605e3408f2a5a02 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:43 2015 +0200 staging: most: make alignment match open parenthesis This patch fixes coding style violations by making alignments match open parenthesis. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6c3f3458f456d53da0f2ed587a0227b8b950eda Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:42 2015 +0200 staging: most: remove multiple assignment This patch removes multiple assignments as specified in coding style. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a64557bae30d5d9f8c3e32e22c5e4cbfdf1ca083 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:41 2015 +0200 staging: most: removed redundant code This patch removes redundant code. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16dc374338b0124c937c0dda4588b06a4c9bd708 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:40 2015 +0200 staging: most: put spaces around operator This patch puts spaces around the asterisk operator. It is needed to prevent checkpatch from reporting an issue. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ac23b344e72f21cc832c5f02744ab86e9210d12 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:39 2015 +0200 staging: most: remove multiple blank lines This patch removes the usage of multiple blank lines from driver modules. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1c9e0ca0cfda2e6e93333ff86e086f0b925318e Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 21:57:09 2015 +0800 staging: IB/ipath: remove sched.h header sched.h header in ipath_*.c is now unnecessary, since I have added sched.h in ipath_kernel.h. So remove it. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 335c8ea16069aefd929acf6b287b3a23b39db978 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 21:57:08 2015 +0800 staging: IB/ipath: use TASK_COMM_LEN in ipath_portdata Use comm[TASK_COMM_LEN] instead of comm[16] in ipath_kernel.h. And add sched.h header in it. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9821ed04795f019bfa14573847c743c6b89d96c4 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Fri Oct 23 17:55:11 2015 +0300 staging: sm750fb: use direct call to hw_sm750_output_setMode The proc_setMode method in lynx_output always uses the same implementation and there is no point to use redirection rather than direct function call. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c202beee7f4b2b4f363e21fea714c8afcb08b12e Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Fri Oct 23 17:55:10 2015 +0300 staging: sm750fb: replace lynx_crtc methods with function calls The methods in lynx_crtc always use the same implementation and there is no point to use redirection rather than direct function call. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b2941e27e364c2c3ef7731dab9c7c8564acb690 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Fri Oct 23 17:55:09 2015 +0300 staging: sm750fb: remove unused methods from lynx_share The suspend and resume methods in lynx_share are not implemented and never set. Remove them. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4edd3f3af2f4b9296bccbe8dd7de18b5de683801 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Fri Oct 23 17:55:08 2015 +0300 staging: sm750fb: remove ancient kernel support Remove the code that should be compiled for ancient kernel versions together with controlling '#if LINUX_VERSION_CODE' conditionals Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b108da75862b231ada8f26002138161214ca62d1 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Fri Oct 23 17:55:07 2015 +0300 staging: sm750fb: remove defintion of offsetof There is no need to redefine offsetof Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a81b9477a0a247148096e8184a2657fdbd04a82 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 22 09:38:41 2015 +0300 staging: sm750fb: remove unused pllcalparam typedef The pllcalparam type is not used and can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a61dc139ceb5e9f0b2033fd1075ec68b53b14283 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 22 09:38:40 2015 +0300 staging: sm750fb: simplify PLL divisors calculations The calcPllValues currently uses arrays of PLL parametres that contain possible PLL control register field values and redundant data that is calculated according to those values. The usage of these arrays can be replaced with simple arithmetics. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cfac7d6a70b41982c770838edd5c2a3b4dbe55e6 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 22 09:38:39 2015 +0300 staging: sm750fb: remove '#if 1' conditionals The code enclosed in '#if 1' anyway gets compiled. Removing useless conditionals. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f741554e25e5c94bca1d5157608baab80586f81c Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 18 21:27:57 2015 +0530 staging: sm750fb: Replace uint32_t with u32 Replace uint32_t with u32 consistent with Linux kernel coding practice. Problem found using checkpatch.pl Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 347cf6d109637b337dd3dd3ec777e9fd060d8644 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 18 19:25:10 2015 +0530 staging: sm750fb: Replace include <asm/*.h> with include <linux/*.h> Problem found using checkpatch.pl WARNING: Use #include <linux/io.h> instead of <asm/io.h> WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a487db8b67044b98fddf5433d4a5c96a2ce06d3a Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Oct 18 15:51:52 2015 +0300 staging: gdm724x: remove multiple blank lines This patch removes multiple blank lines in order to follow linux kernel coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b7df122f894f5b731e0f06777302ec248a7d9f1 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Oct 18 15:51:51 2015 +0300 staging: gdm724x: correct kzalloc/kmalloc sizeof argument This patch converts sizeof(TYPE) to sizeof(VAR) when used as a kzalloc/kmaloc argument. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba7f55b705b94e26293971b9fbda183238cdc30c Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Oct 18 15:51:50 2015 +0300 staging: gdm724x: add spaces around binary operators This patch add spaces around binary operators in order to follow kernel coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6f6fd8a871cebc8085719c08ea489d1d98bb21e Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Oct 18 15:51:49 2015 +0300 stating: gdm724x: remove explicit NULL comparison This patch converts explicit NULL comparison to its shorter equivalent form. Done with coccinelle semantic patch: @@ expression e; @@ - e == NULL + !e Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4785ef8102390fa7e0e8865efd44036b7337e22 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Oct 18 15:51:48 2015 +0300 staging: gdm724x: properly indent to match open paranthesis Indent parameters and arguments passed to function calls to match open paranthesis Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb1dc957054c6a9823b20b2672f5193e47bc5f6d Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 21 20:00:51 2015 +0300 staging: rdma: Replace kmalloc with kmalloc_array Replace kmalloc with specialized function kmalloc_array when the size is a multiplication of: number_of_elements * size_of_element Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df5ddcc97e694bfa5dafa838c26e5b974c706929 Author: Nilesh Kokane <nilesh.kokane05@xxxxxxxxx> Date: Fri Oct 23 11:24:04 2015 +0530 staging: lustre: lnet :socklnd Braces not necessary Braces not needed for single statement block Signed-off-by: Nilesh Kokane <Nilesh.Kokane05@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daa4d3ea1e353c0f6e7b2bd657d07e0c3f4cd756 Author: Nilesh Kokane <nilesh.kokane05@xxxxxxxxx> Date: Fri Oct 23 11:02:20 2015 +0530 Staging: lustre: lnet :socklnd return statement in void function not useful Return function in void function is not needed. Signed-off-by: Nilesh Kokane <Nilesh.Kokane05@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7fc8f5a82b9082fdd738895c103b9f25ea530846 Author: Nilesh Kokane <nilesh.kokane05@xxxxxxxxx> Date: Thu Oct 22 22:42:43 2015 +0530 Staging: lustre: lov_obd: fixed a brace coding style issue Fixed a coding style issue. Signed-off-by: Nilesh kokane <Nilesh.Kokane05@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 017384481135574b0efc61d0f00a3167a93f5726 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 18:40:40 2015 +0100 staging: lustre: o2iblnd: fix misleading indentation The code is correct, the indentation is misleading. Only the the return rc is part of the conditional statement if rc != 0. Fix a smatch warning: drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2157 kiblnd_hdev_setup_mrs() warn: curly braces intended? Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a77ddf7cc0e5d6eee2434ed7035abbb5019f99bf Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:49 2015 -0400 staging: lustre: Use C99 initializers for struct netstrfns Update struct netstrfns to use C99 initializers. Remove old LND types from the netstrfns table, as they are long obsolete and shouldn't be needed even for interop anymore. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6210 Reviewed-on: http://review.whamcloud.com/15088 Reviewed-by: frank zago <fzago@xxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a1e76c07dacf774cd047aad62e8daa315433967 Author: Frederic Saunier <frederic.saunier@xxxxxxxx> Date: Wed Oct 21 21:52:48 2015 -0400 staging: lustre: remove last entry of libcfs_netstrfns[] Currently NID string handling test for the last entry, and last entry has .nf_type == (__u32) -1. If we ask for a non existent LND we hit the last entry which then calls a strlen on a NULL which causes a error. We can avoid this problem if we just remove the last entry since it is not used for anything except as a last entry marker. Signed-off-by: Frederic Saunier <frederic.saunier@xxxxxxxx> Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6501 Reviewed-on: http://review.whamcloud.com/15424 Reviewed-by: frank zago <fzago@xxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80feb1ef349ed03f121c086c02579ee9a08bb343 Author: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Date: Wed Oct 21 21:52:47 2015 -0400 staging: lustre: provide separate buffers for libcfs_*2str() Provide duplicates with separate buffers for libcfs_*2str() functions. Replace libcfs_nid2str() with libcfs_nid2str_r() function in critical places. Provide buffer size for nf_addr2str functions. Use __u32 as nf_type always Signed-off-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6070 Reviewed-on: http://review.whamcloud.com/13185 Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 335ea564509045796dc07faa7333162a0b03f214 Author: Joshua Walgenbach <jjw@xxxxxx> Date: Wed Oct 21 21:52:46 2015 -0400 staging: lustre: add in NID range management for libcfs This is a partial backport of the NID range management added in for nodemap. We only backport the libcfs related parts here. Signed-off-by: Joshua Walgenbach <jjw@xxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3527 Reviewed-on: http://review.whamcloud.com/8057 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Andrew Perepechko <andrew_perepechko@xxxxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Ken Hornstein <kenh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8834329bb954fd054db70f03fb4399cea87b462 Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:45 2015 -0400 staging: lustre: Avoid nid range related forward declarations in nidstring.c Since forward declarations are frowned on upstream we move the NID range handling to near the start of the nidstring.c file. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/15086 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245 Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1af01da79ef67868bc95a113a8613cf26d9c931 Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:44 2015 -0400 staging: lustre: move cfs_ip_addr_* function from kernel libcfs to LNet Both of cfs_ip_addr_parse and cfs_ip_addr_match which are located in libcfs kernel module are used only for LNet so move this into the nidstring handling code where it belongs. Also create user land versions of these functions in the libcfs user land library. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245 Reviewed-on: http://review.whamcloud.com/15085 Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: frank zago <fzago@xxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00e27ff1e2de33f7b278b50999e2d587f019b0e8 Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:43 2015 -0400 staging: lustre: move struct netstrfns to nidstr.h The reason struct netstrfns exist in nidstrings.c was to avoid forward decleration errors. The best way to handle this instead is to move this structure to a header file. Since this structure is used in the userland utilities as well so we place it in nidstr.h which is exposed to userland. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245 Reviewed-on: http://review.whamcloud.com/15083 Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a620ec637274706370db1b2178d409304a4f66eb Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:42 2015 -0400 staging: lustre: remove cfs_ip_addr_free wrapper No need to have a one line wrapper in libcfs that only is used to delete a list which is only done once in the LNet layer. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43049a83b57118753abcd9fa2141a0ce64533680 Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:41 2015 -0400 staging: lustre: remove libcfs_init_string function All the function libcfs_init_string did was initialize a spinlock. We can initialize the spinlock statically instead. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47ca6ec2673eff06e6befab2c04528c5b1f3c5bb Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:40 2015 -0400 staging: lustre: move nidstring handling to LNet layer Moved the source file nidstring.c from libcfs to lnet since that is the only place it is used. With the move of nidstring to lnet some functions in libcfs need to be exported. In later patches those functions that are only used by LNet also will be moved to the LNet layer. Also add in missing MAX_NUMERIC_VALUE defination. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1dfc93af0462117db3754846d386e7c47144709 Author: Gregoire Pichon <gregoire.pichon@xxxxxxxx> Date: Wed Oct 21 21:52:39 2015 -0400 staging: lustre: add a service that prints a nidlist The libcfs already provides services to parse a string into a nidlist and to match a nid into a nidlist. This patch implements a service that prints a nidlist into a buffer. This is required for instance to print the nosquash_nids parameter of the MDT procfs component. Additionally, this patch fixes a bug in return code of parse_addrange() routine, so that parsing of nids including a * character works fine ('*@elan' for instance). Signed-off-by: Gregoire Pichon <gregoire.pichon@xxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-1778 Reviewed-on: http://review.whamcloud.com/9221 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Liang Zhen <liang.zhen@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 185938e06f9608de836169c8ff5492154272cec0 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:53 2015 +0300 staging: lustre: remove unused OBD_SLAB_ALLOC* and OBD_SLAB_FREE* macros The OBD_SLAB_ALLOC* and OBD_SLAB_FREE* macros are not used and can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c4d8ed8e880f6f9d6183e31a52cf89528d11784 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:52 2015 +0300 staging: lustre: replace OBD_SLAB_FREE with kmem_cache_free Use kmem_cache_free directly instead of wrapping macro. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50d3036294e9d4c5763e5fbc6557e5b07c2bdac0 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:51 2015 +0300 staging: lustre: replace OBD_SLAB_FREE_PTR with kmem_cache_free Use kmem_cache_free directly instead of wrapping macro. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebbc7c8b920e57c4ab3291b382ada1b92ca70822 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:50 2015 +0300 staging: lustre: replace OBD_SLAB_ALLOC_GFP with kmem_cache_alloc Use kmem_cache_free directly instead of wrapping macro. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccaabce1171b3194ded7c3961ed33ff09a5a0739 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:49 2015 +0300 staging: lustre: replace OBD_SLAB_ALLOC_PTR_GFP with kmem_cache_alloc The OBD_SLAB_ALLOC_PTR_GFP macro expands to call to kmem_cache_alloc, which may be used directly. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbc63f56fb159deb3203327848968311366b83df Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:48 2015 +0300 staging: lustre: replace OBD_SLAB_ALLOC_PTR with kmem_cache_alloc The OBD_SLAB_ALLOC_PTR macro expands to call to kmem_cache_alloc, which may be used directly. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4fb17e7504316d01c1fd1fe3e5f0f4d9640d227 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:47 2015 +0300 staging: lustre: remove unused OBDO_{ALLOC, FREE} macros The OBDO_ALLOC and OBDO_FREE macros are not used and can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ba262fb6a15994542d77c662d82484990eb18cb Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:46 2015 +0300 staging: lustre: replace OBDO_FREE with kmem_cache_free Use kmem_cache_free directly instead of wrapping macro. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 131637b811fd8e6c7f2743316f127dcb4407ad7c Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:45 2015 +0300 staging: lustre: replace OBDO_ALLOC with kmem_cache_alloc Use direct call to kmem_cache_alloc instead of wrapping macro Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4490ff89b136451940cd8a4a21e2be9396664498 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:44 2015 +0300 staging: lustre: remove unused OBD_SLAB_CPT_ALLOC* macros The OBD_SLAB_CPT_ALLOC* macros are not used and can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce1c42ed6053c229666a47d9e0d2d82c3e71813e Author: Sanne Wouda <snnw@xxxxxxxxxxxxxx> Date: Mon Oct 19 13:56:51 2015 +0200 staging: lustre: kernel style neating (block comments) Fix lustre/ptlrpc/client.c block comments following the Coding Style preferred format for multi-line and single-line comments: /* * This is the preferred style for multi-line * comments in the Linux kernel source code. * Please use it consistently. * * Description: A column of asterisks on the left side, * with beginning and ending almost-blank lines. */ Included some minor textual fixes to get some comments on a single line. Signed-off-by: Sanne Wouda <snnw@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b318b411cc9dcc6309eaeba56ff822979e2b15c Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 19 00:17:13 2015 +0530 Staging: lustre: interval_tree: Remove multiple assignments Remove multiple assignments by factorizing them. Fix checkpatch CHECK: multiple assignments should be avoided Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 316bd5e085cbd38176a7c1ea100416322bc1633f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 22:35:31 2015 +0800 staging: lustre: make sptlrpc_flavor_has_bulk return boolean This patch makes sptlrpc_flavor_has_bulk return boolean, since this function only uses either one or zero as its return value. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ebafb530be42dea90cb698857ac518058346b7b Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Sun Oct 18 18:50:30 2015 +0530 Staging: lustre: lproc_osc: Add check on a variable Variable rc is not tested for negative values and hence a check should be included. Also, a check for variable val should be introduced. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae127bf301d784e533b353571634e38c6ff6eb59 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sun Oct 18 13:31:57 2015 +0300 staging: lustre: Replace aligned packed with packed Replace __aligned__((packed)) with __packed in order to follow the best practices and to fix checkpatch.pl warning: 'WARNING: __packed is preferred over __attribute__((packed))' Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32b88194f71d6ae7768a29f87fbba454728273ee Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 25 10:39:47 2015 +0900 Linux 4.3-rc7 commit 4cd1a64a3b2a1290e6abb560db0dcc8260d1e274 Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Fri Oct 23 01:09:56 2015 +0800 Staging: mt29f_spinand: Remove redundant cast on 'retval' Remove the unneeded cast to 'int' since 'retval' is originally declared as 'int'. Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74f63bd664b68efdb5b81db8c39765430206f394 Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Sat Oct 24 00:13:19 2015 +0800 Staging: mt29f_spinand: Use preferred kernel types Replace remaining instances of 'uint8_t' with 'u8' for consistency since 'u8' and 'u16' are already being used in other parts of the code. Replace also 'uint32_t' with 'u32' on the header file. Checkpatch pointed out this issue. CHECK: Prefer kernel type 'u8' over 'uint8_t' CHECK: Prefer kernel type 'u32' over 'uint32_t' Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 236276625452545c161448c70d67f0388bb13b4a Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Fri Oct 23 01:07:40 2015 +0800 Staging: mt29f_spinand: Remove multiple blank lines Remove excess blank line in-between two function declarations. Issue found by checkpatch. CHECK: Please don't use multiple blank lines Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a25d6da550319dd2d483b5043a416fd12b32aca Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Fri Oct 23 01:07:39 2015 +0800 Staging: mt29f_spinand: Remove blank line before '}' and after '{' braces Remove unneeded blank lines preceding/following '}' and '{' braces, as pointed out by checkpatch. This patch addresses the following checkpatch checks: CHECK: Blank lines aren't necessary before a close brace '}' CHECK: Blank lines aren't necessary after an open brace '{' Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 522f005082ff480da44353e97ce44b308f803ff0 Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Fri Oct 23 01:07:38 2015 +0800 Staging: mt29f_spinand: Add blank line after function declaration Add missing blank line in-between function declarations. Issue found by checkpatch. CHECK: Please use a blank line after function/struct/union/enum declarations Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34b8dae75fd52e5216456edbaee401f62c8024f5 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Oct 21 20:19:18 2015 +0530 Staging: rtl8192u: Eliminate use of MSECS macro Use msecs_to_jiffies instead of driver specific macro MSECS. This is done using Coccinelle and semantic patch used for this is as follows: @@expression t;@@ - MSECS(t) + msecs_to_jiffies(t) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b6a8799f341820e7327fb534f130c7f82fb6356 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Oct 17 11:39:25 2015 +0100 staging: rtl8192u: simplify conditional The code can be much cleaner and readable by simplifying the conditional statement. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ff0c8a97d3ec26ed3c7a26a74851a4b0fb515e3 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 23 14:28:17 2015 +0900 staging: wilc1000: isr_bh_routine: remove unused variable nic This patch removes unused variable nic. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c07f8c7ca0e2119065f4b3f497ad99304bdd8ea Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 23:31:11 2015 +0800 staging: wilc1000: fix trivial typos s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c1d05d103f99f3c7979ab37f6431bd641c6bb3f Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:14:03 2015 +0900 staging: wilc1000: init_irq: change argument and use netdev private wilc This patch changes function argument type wilc with net_device and use netdev private data member wilc instead of p_nic. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 684dc1861c9e4e1c52de5f8410d6ce4ac0e970ab Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:14:02 2015 +0900 staging: wilc1000: start_ap: use netdev private data wilc Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b86935eb98e1afae43616ec7316afbbeb313e51 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:14:01 2015 +0900 staging: wilc1000: wilc_mgmt_frame_register: use netdev private wilc Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 692e2aceffd00f91a846f6e628277222899b198e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:14:00 2015 +0900 staging: wilc1000: del_key: use netdev private wilc instead of g_linux_wlan Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7646920087bc523b4ef1fa2b00cbbf3a6c0cc1c1 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:59 2015 +0900 staging: wilc1000: add_key: use netdev private wilc instead of g_linux_wlan Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1ec2c12a3f238a7a7a0397bfd164b596316968a Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:58 2015 +0900 staging: wilc1000: CfgConnectResult: use netdev private wilc Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53dc0cfea3cfec470418730df7abfef401f75a4d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:57 2015 +0900 staging: wilc1000: wilc1000_wlan_deinit: change argument and use wilc This patch changes function argument wilc with net_device and use nic->wilc instead of global variable g_linux_wlan. The null check codes should be placed before it is used so move it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 299382cf437d5115f8c132dd0bd87aa78ee146b7 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:56 2015 +0900 staging: wilc1000: chage_virtual_intf: use netdev private wilc Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca64ad6e6436ed69aa6b79eaf39ff833986bcea8 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:55 2015 +0900 staging: wilc1000: mac_close: use netdev private wilc instead of g_linux_wlan Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3c1366ebbdf54e85810951e8efc9fcf9e430b99 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:54 2015 +0900 staging: wilc1000: mac_open: use netdev private wilc Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38afb390497a0c5f72e936ced1d29ef99a1e9131 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:53 2015 +0900 staging: wilc1000: wlan_init_locks: change parameter and use wilc This patch changes function parameter type wilc with net_device and use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fa683b66524805c25b5fec3eb79d963e2f4485d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:52 2015 +0900 staging: wilc1000: wilc1000_wlan_init: use netdev private wilc This patch use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38b3001de95ad5a52cf32ebb9c7fe1fd2b16c396 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:51 2015 +0900 staging: wilc1000: add wilc to netdev private data structure This patch add wilc to struct perInterface_wlan_t which is netdev private data to access wilc via netdev_priv function. Assign wilc to nic->wilc. The global variable g_linux_wlan will be replaced with netdev private data member wilc step by step. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0f52fbac74e4ab17014c1625a651689a96896bb Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 17:10:46 2015 +0900 staging: wilc1000: fix the bug on copying bssid This patch reverts the commit, d79fd35b8c5d927695b48fa35aa586919818cce9. The WID_JOIN_REQ_EXTENDED among WIDs needs two parameters for the request to be sent to the firmware, which are the SA and the BSSID. For this case, both is the same bssid in the handle_connect function. So, it's required to be copied twice. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12ba5416dc7702cc5bb6d8611d4c288302722c6a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:56 2015 +0900 staging: wilc1000: assign pointer of g_linux_wlan to sdio device data This patch assigns wl pointer to sdio device data. The global variable g_linux_wlan will be removed finally. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75ce07d4a09e31a8d2c38bce95e92d12031e605a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:55 2015 +0900 staging: wilc1000: introduce struct wilc_sdio for sdio data This patch introduces struct wilc_sdio for sdio driver data. The wilc_sdio is allocated and set as driver data when the sdio is probed and deallocated when the sdio is removed. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b46d68825c2d3af70ad18b53dfed6516e393b7fa Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:54 2015 +0900 staging: wilc1000: remove COMPLEMENT_BOOT This patch removes a preprocessor definition, COMPLEMENT_BOOT which is not used anymore. This is just workaround to avoid weird issue, which is that 11b core is not ready after the power is givin to the chip. However, this issue happened only in the unstable hardware a long time ago and no more seen. In addition, this patch removes _fail_threads_ statement to avoid the build warning after removing COMPLEMENT_BOOT conditionals. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b8ad7bc90bca63d6bc00b57af1a5f94c1897e12 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:53 2015 +0900 staging: wilc1000: rename wilc_firmware in the struct wilc This patch renames wilc_firmware in the struct wilc to the firmware. In addition, null assignments to the wl->firmware after release_firmware are removed because it is not necessary. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4875c499dc9b69f64c849677b55f0fc02a461a49 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:52 2015 +0900 staging: wilc1000: move clean up codes into wl_wlan_cleanup function This patch moves clean up codes from exit_wilc_driver into the wl_wlan_cleanup newly introduced in this patch. In addition, it is called by linux_sdio_remove function. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 817f3fb988642f050d6e4afce5db0a3e7a345720 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:51 2015 +0900 staging: wilc1000: rename wilc_netdev in the struct wilc_vif This patch renames wilc_netdev in the struct wilc_vif to the ndev. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3134a57875e2cb87d6c84088fc634fa4e1c155c4 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:50 2015 +0900 staging: wilc1000: rename drvHandler in the struct wilc_vif This patch renames drvHandler in the struct wilc_vif to the hif_drv. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7201cd2ca5d03e9b3b6d21e5a23fd82246a3501d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:49 2015 +0900 staging: wilc1000: rename aBSSID in the sturct wilc_vif This patch renames aBSSID in the struct wilc_vif to the bssid. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e7fa470efb691058de43e65373aa919e4523fe2 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:48 2015 +0900 staging: wilc1000: rename aSrcAddress in the struct wilc_vif This patch renames aSrcAddress in the struct wilc_vif to the src_addr. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8259a53e1c88765084a68c38bc6c5ebae563d6e5 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:47 2015 +0900 staging: wilc1000: rename strInterfaceInfo in the sturct wilc This patch renames strInterfaceInfo in the struct wilc to the vif. In addition, unnecessary print statements around it are removed in this patch. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1b30f6a34166af4f1ee8b35906600b55f7fd591 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:46 2015 +0900 staging: wilc1000: rename u8NoIfcs in the struct wilc This patch renames u8NoIfcs of the struct wilc to the vif_num to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 080f11bb3782352a05dfec5fd3ecddf94793af0c Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:45 2015 +0900 staging: wilc1000: change the type of wilc1000_initialized This patch changes the type of wilc1000_initialized in the struc wilc from int to bool and also renames it to the initialized. In addition, unnecessary wilc1000_initialized codes are removed in this patch. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91109e113c71715cd0f21fd94fb2db95103f4092 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:13 2015 +0900 staging: wilc1000: fixes comparison to NULL could be written This patch fixes the checks reported by checkpatch.pl for comparison to NULL could be written. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c8360b3f9397caaf106add76a3374bcd084aba7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:12 2015 +0900 staging: wilc1000: fixes alignment should match open parenthesis This patch fixes the checks reported by checkpatch.pl for alignment should match open parenthesis. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 771788078a5c20bb1979e3ad2a6ef6a78e1044f9 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:11 2015 +0900 staging: wilc1000: fixes unnecessary variable replacement This patch removes an unnecessary variable use for the errors and returns errors directly without a result variable. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f3295a2dd08a28762bc627f5c3d57409b34474d Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:10 2015 +0900 staging: wilc1000: move variable FALSE_FRMWR_CHANNEL This patch moves the variable 'FALSE_FRMWR_CHANNEL' to where local definitions are. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7178aed8ec170006ed3264ecb0b78de6d087c9b6 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:09 2015 +0900 staging: wilc1000: move variable clients_count This patch moves static variable clients_count to around where the local variables are togther. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31390eec7dce6360a96e32d440bf6e0c1bb31d0f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:08 2015 +0900 staging: wilc1000: rename variable s32Error This patch renames variable s32Error to result to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52984aab3369869d43efdf15743cc23795413f68 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 23:31:10 2015 +0800 dmaengine: ste_dma40: fix a trivial typo s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 16134b3bc317c571e953d18196acf0a92afda5ff Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Oct 22 20:46:05 2015 +0200 ARM: bcm2835: add mutual inclusion protection This patch adds mutual inclusion protection for the rpi firmware header. Cc: Eric Anholt <eric@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d42fde70849c5ba2f00c37a0666305eb507a47b8 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Sat Oct 24 21:33:01 2015 +0200 iommu/vt-d: Clean up pasid_enabled() and ecs_enabled() dependencies When booted with intel_iommu=ecs_off we were still allocating the PASID tables even though we couldn't actually use them. We really want to make the pasid_enabled() macro depend on ecs_enabled(). Which is unfortunate, because currently they're the other way round to cope with the Broadwell/Skylake problems with ECS. Instead of having ecs_enabled() depend on pasid_enabled(), which was never something that made me happy anyway, make it depend in the normal case on the "broken PASID" bit 28 *not* being set. Then pasid_enabled() can depend on ecs_enabled() as it should. And we also don't need to mess with it if we ever see an implementation that has some features requiring ECS (like PRI) but which *doesn't* have PASID support. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 5a10ba27d963bc79d6ac2e4996cdbb012195c306 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Sat Oct 24 21:06:39 2015 +0200 iommu/vt-d: Handle Caching Mode implementations of SVM Not entirely clear why, but it seems we need to reserve PASID zero and flush it when we make a PASID entry present. Quite we we couldn't use the true PASID value, isn't clear. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 22ca7ca52e80524360b43944a0556b2a6dc1aa21 Merge: aef8cc9 09dc138 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Sun Oct 25 05:02:33 2015 +1000 Merge branch 'vmwgfx-fixes-4.3' of git://people.freedesktop.org/~thomash/linux I'm not sure whether this patch comes in too late, but it would be good to have it in. It stabilizes command submission in case of command buffer errors. * 'vmwgfx-fixes-4.3' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Stabilize the command buffer submission code commit aef8cc903583c5a205b696fb0a51e1eca9117321 Merge: 01815536 c86f5ebf Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Sun Oct 25 05:01:57 2015 +1000 Merge branch 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux Two regression fixes and a memory leak fix for amdgpu and radeon. * 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux: drm/amdgpu: don't try to recreate sysfs entries on resume drm/radeon: don't try to recreate sysfs entries on resume drm/amdgpu: stop leaking page flip fence commit 687f079addba1ac7f97ce97080c2291bbe8c8dce Merge: ba3e208 2af5ae3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 24 06:56:54 2015 -0700 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: improve broadcast implementation The TIPC broadcast link implementation is currently complex and hard to follow. It also incurs some amount of code and structure duplication, something that can be reduced significantly with a little effort. This commit series introduces a number of improvements which address both the locking structure, the code/structure duplication issue, and the overall readbility of the code. The series consists of three main parts: 1-7: Adaptation to the new link structure, and preparation for the next step. In particular, we want the broadcast transmission link to have a life cycle that is longer than any of its potential (unicast and broadcast receive links) users. This eliminates the need to always test for the presence of this link before accessing it. 8-10: This is what is really new in this series. Commit #9 is by far the largest and most important one, because it moves most of the broadcast functionality into link.c, partially reusing the fields and functionality of the unicast link. The removal of the "node_map" infrastructure in commit #10 is also an important achievement. 11-16: Some improvements leveraging the changes made in the previous commits. The series needs commit 53387c4e22ac ("tipc: extend broadcast link window size") and commit e53567948f82 ("tipc: conditionally expand buffer headroom over udp tunnel") which are both present in 'net' but not yet in 'net-next', to apply cleanly. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2af5ae372a4b6d6e2d3314af0e9c865d6d64f8d3 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:48 2015 -0400 tipc: clean up unused code and structures After the previous changes in this series, we can now remove some unused code and structures, both in the broadcast, link aggregation and link code. There are no functional changes in this commit. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c49a0a84391bcc313b3dc2a9ceee6de684e07655 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:47 2015 -0400 tipc: ensure binding table initial distribution is sent via first link Correct synchronization of the broadcast link at first contact between two nodes is dependent on the assumption that the binding table "bulk" update passes via the same link as the initial broadcast syncronization message, i.e., via the first link that is established. This is not guaranteed in the current implementation. If two link come up very close to each other in time, the "bulk" may quite well pass via the second link, and hence void the guarantee of a correct initial synchronization before the broadcast link is opened. This commit makes two small changes to strengthen this guarantee. 1) We let the second established link occupy slot 1 of the "active_links" array, while the first link will retain slot 0. (This is in reality a cosmetic change, we could just as well keep the current, opposite order) 2) We let the name distributor always use link selector/slot 0 when it sends it binding table updates. The extra traffic bias on the first link caused by this change should be negligible, since binding table updates constitutes a very small fraction of the total traffic. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c72fa872a23f03b2b9c17e88f3b0a8070924e5f1 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:46 2015 -0400 tipc: eliminate link's reference to owner node With the recent commit series, we have established a one-way dependency between the link aggregation (struct tipc_node) instances and their pertaining tipc_link instances. This has enabled quite significant code and structure simplifications. In this commit, we eliminate the field 'owner', which points to an instance of struct tipc_node, from struct tipc_link, and replace it with a pointer to struct net, which is the only external reference now needed by a link instance. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7214bcf8753109256d635ba079938fbd6fcf713b Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:45 2015 -0400 tipc: eliminate redundant buffer cloning at transmission Since all packet transmitters (link, bcast, discovery) are now sending consumable buffer clones to the bearer layer, we can remove the redundant buffer cloning that is perfomed in the lower level functions tipc_l2_send_msg() and tipc_udp_send_msg(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60852d679575b0d7ce62497938116f92654ae908 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:44 2015 -0400 tipc: let neighbor discoverer tranmsit consumable buffers The neighbor discovery function currently uses the function tipc_bearer_send() for transmitting packets, assuming that the sent buffers are not consumed by the called function. We want to change this, in order to avoid unnecessary buffer cloning elswhere in the code. This commit introduces a new function tipc_bearer_skb() which consumes the sent buffers, and let the discoverer functions use this new call instead. The discoverer does now itself perform the cloning when that is necessary. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 959e1781aa230aecc90e4deb80117fd9a53dede7 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:43 2015 -0400 tipc: introduce jumbo frame support for broadcast Until now, we have only been supporting a fix MTU size of 1500 bytes for all broadcast media, irrespective of their actual capability. We now make the broadcast MTU adaptable to the carrying media, i.e., we use the smallest MTU supported by any of the interfaces attached to TIPC. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b06b281e79375fcbd9ffaec7c5fdc350b888d089 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:42 2015 -0400 tipc: simplify bearer level broadcast Until now, we have been keeping track of the exact set of broadcast destinations though the help structure tipc_node_map. This leads us to have to maintain a whole infrastructure for supporting this, including a pseudo-bearer and a number of functions to manipulate both the bearers and the node map correctly. Apart from the complexity, this approach is also limiting, as struct tipc_node_map only can support cluster local broadcast if we want to avoid it becoming excessively large. We want to eliminate this limitation, in order to enable introduction of scoped multicast in the future. A closer analysis reveals that it is unnecessary maintaining this "full set" overview; it is sufficient to keep a counter per bearer, indicating how many nodes can be reached via this bearer at the moment. The protocol is now robust enough to handle transitional discrepancies between the nominal number of reachable destinations, as expected by the broadcast protocol itself, and the number which is actually reachable at the moment. The initial broadcast synchronization, in conjunction with the retransmission mechanism, ensures that all packets will eventually be acknowledged by the correct set of destinations. This commit introduces these changes. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5266698661401afc5e4a1a521cf9ba10724d10dd Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:41 2015 -0400 tipc: let broadcast packet reception use new link receive function The code path for receiving broadcast packets is currently distinct from the unicast path. This leads to unnecessary code and data duplication, something that can be avoided with some effort. We now introduce separate per-peer tipc_link instances for handling broadcast packet reception. Each receive link keeps a pointer to the common, single, broadcast link instance, and can hence handle release and retransmission of send buffers as if they belonged to the own instance. Furthermore, we let each unicast link instance keep a reference to both the pertaining broadcast receive link, and to the common send link. This makes it possible for the unicast links to easily access data for broadcast link synchronization, as well as for carrying acknowledges for received broadcast packets. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd556f209af53b9cdc45df8c467feb235376c4df Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:40 2015 -0400 tipc: introduce capability bit for broadcast synchronization Until now, we have tried to support both the newer, dedicated broadcast synchronization mechanism along with the older, less safe, RESET_MSG/ ACTIVATE_MSG based one. The latter method has turned out to be a hazard in a highly dynamic cluster, so we find it safer to disable it completely when we find that the former mechanism is supported by the peer node. For this purpose, we now introduce a new capabability bit, TIPC_BCAST_SYNCH, to inform any peer nodes that dedicated broadcast syncronization is supported by the present node. The new bit is conveyed between peers in the 'capabilities' field of neighbor discovery messages. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f566124570625c29c3fd79bac4d9cd97c0c31a1 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:39 2015 -0400 tipc: let broadcast transmission use new link transmit function This commit simplifies the broadcast link transmission function, by leveraging previous changes to the link transmission function and the broadcast transmission link life cycle. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1ab3f1dea3df566ad38caf98baf69c656679090 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:38 2015 -0400 tipc: make struct tipc_link generic to support broadcast Realizing that unicast is just a special case of broadcast, we also see that we can go in the other direction, i.e., that modest changes to the current unicast link can make it generic enough to support broadcast. The following changes are introduced here: - A new counter ("ackers") in struct tipc_link, to indicate how many peers need to ack a packet before it can be released. - A corresponding counter in the skb user area, to keep track of how many peers a are left to ack before a buffer can be released. - A new counter ("acked"), to keep persistent track of how far a peer has acked at the moment, i.e., where in the transmission queue to start updating buffers when the next ack arrives. This is to avoid double acknowledgements from a peer, with inadvertent relase of packets as a result. - A more generic tipc_link_retrans() function, where retransmit starts from a given sequence number, instead of the first packet in the transmision queue. This is to minimize the number of retransmitted packets on the broadcast media. When the new functionality is taken into use in the next commits, we expect it to have minimal effect on unicast mode performance. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 323019069e8d96d87e9dba51f897060f94999821 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:37 2015 -0400 tipc: use explicit allocation of broadcast send link The broadcast link instance (struct tipc_link) used for sending is currently aggregated into struct tipc_bclink. This means that we cannot use the regular tipc_link_create() function for initiating the link, but do instead have to initiate numerous fields directly from the bcast_init() function. We want to reduce dependencies between the broadcast functionality and the inner workings of tipc_link. In this commit, we introduce a new function tipc_bclink_create() to link.c, and allocate the instance of the link separately using this function. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0e05498e9eae16a6d8c86543e77930ec152e655e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:36 2015 -0400 tipc: make link implementation independent from struct tipc_bearer In reality, the link implementation is already independent from struct tipc_bearer, in that it doesn't store any reference to it. However, we still pass on a pointer to a bearer instance in the function tipc_link_create(), just to have it extract some initialization information from it. I later commits, we need to create instances of tipc_link without having any associated struct tipc_bearer. To facilitate this, we want to extract the initialization data already in the creator function in node.c, before calling tipc_link_create(), and pass this info on as individual parameters in the call. This commit introduces this change. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5fd9fd635104f4816da158cdac6917e99e192eac Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:35 2015 -0400 tipc: create broadcast transmission link at namespace init The broadcast transmission link is currently instantiated when the network subsystem is started, i.e., on order from user space via netlink. This forces the broadcast transmission code to do unnecessary tests for the existence of the transmission link, as well in single mode node as in network mode. In this commit, we do instead create the link during initialization of the name space, and remove it when it is stopped. The fact that the transmission link now has a guaranteed longer life cycle than any of its potential clients paves the way for further code simplifcations and optimizations. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0043550b0a88b72216161d6f25eb0a2e0e78babf Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:34 2015 -0400 tipc: move broadcast link lock to struct tipc_net The broadcast lock will need to be acquired outside bcast.c in a later commit. For this reason, we move the lock to struct tipc_net. Consistent with the changes in the previous commit, we also introducee two new functions tipc_bcast_lock() and tipc_bcast_unlock(). The code that is currently using tipc_bclink_lock()/unlock() will be phased out during the coming commits in this series. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6beb19a62a87ef6f7107fcd43c2cc1ebad3edfb5 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:33 2015 -0400 tipc: move bcast definitions to bcast.c Currently, a number of structure and function definitions related to the broadcast functionality are unnecessarily exposed in the file bcast.h. This obscures the fact that the external interface towards the broadcast link in fact is very narrow, and causes unnecessary recompilations of other files when anything changes in those definitions. In this commit, we move as many of those definitions as is currently possible to the file bcast.c. We also rename the structure 'tipc_bclink' to 'tipc_bc_base', both since the name does not correctly describe the contents of this struct, and will do so even less in the future, and because we want to use the term 'link' more appropriately in the functionality introduced later in this series. Finally, we rename a couple of functions, such as tipc_bclink_xmit() and others that will be kept in the future, to include the term 'bcast' instead. There are no functional changes in this commit. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba3e2084f268bdfed7627046e58a2218037e15af Merge: a72c951 ce9d9b8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 24 06:54:12 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/ipv6/xfrm6_output.c net/openvswitch/flow_netlink.c net/openvswitch/vport-gre.c net/openvswitch/vport-vxlan.c net/openvswitch/vport.c net/openvswitch/vport.h The openvswitch conflicts were overlapping changes. One was the egress tunnel info fix in 'net' and the other was the vport ->send() op simplification in 'net-next'. The xfrm6_output.c conflicts was also a simplification overlapping a bug fix. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a72c9512bf2bef12c5e66a4d910c4b348fe31d61 Merge: 379a80a 13972ad Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 24 05:13:16 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-10-22 Here's probably the last bluetooth-next pull request for 4.4. Among several other changes it contains the rest of the fixes & cleanups from the Bluetooth UnplugFest (that didn't need to be hurried to 4.3). - Refactoring & cleanups to 6lowpan code - New USB ids for two Atheros controllers and BCM43142A0 from Broadcom - Fix (quirk) for broken Broadcom BCM2045 controllers - Support for latest Apple controllers - Improvements to the vendor diagnostic message support Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 033695bdf6d79180f74893830053fcf3e8bc9d24 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Fri Oct 23 20:27:58 2015 +0300 rtl8xxxu: move devices supported by rtlwifi under UNTESTED config There are still four devices which are currently supported both by the new rtl8xxxu driver and rtlwifi. To not break existing setups enable the support for these four devices only when CONFIG_RTL8XXXU_UNTESTED is turned on. Once rtl8xxxu support is found to be good enough the devices can be removed from rtlwifi and enabled by default in rtl8xxxu. Reported-by: Xose Vazquez Perez <xose.vazquez@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 355810d12a8974ff1f3a7336149b65d4bda84634 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:32:01 2015 -0700 raid5: log recovery This is the log recovery support. The process is quite straightforward. We scan the log and read all valid meta/data/parity into memory. If a stripe's data/parity checksum is correct, the stripe will be recoveried. Otherwise, it's discarded and we don't scan the log further. The reclaim process guarantees stripe which starts to be flushed raid disks has completed data/parity and has correct checksum. To recovery a stripe, we just copy its data/parity to corresponding raid disks. The trick thing is superblock update after recovery. we can't let superblock point to last valid meta block. The log might look like: | meta 1| meta 2| meta 3| meta 1 is valid, meta 2 is invalid. meta 3 could be valid. If superblock points to meta 1, we write a new valid meta 2n. If crash happens again, new recovery will start from meta 1. Since meta 2n is valid, recovery will think meta 3 is valid, which is wrong. The solution is we create a new meta in meta2 with its seq == meta 1's seq + 10 and let superblock points to meta2. recovery will not think meta 3 is a valid meta, because its seq is wrong Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 0576b1c618ef220051a8555f2aa7dd316e88f330 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:32:00 2015 -0700 raid5: log reclaim support This is the reclaim support for raid5 log. A stripe write will have following steps: 1. reconstruct the stripe, read data/calculate parity. ops_run_io prepares to write data/parity to raid disks 2. hijack ops_run_io. stripe data/parity is appending to log disk 3. flush log disk cache 4. ops_run_io run again and do normal operation. stripe data/parity is written in raid array disks. raid core can return io to upper layer. 5. flush cache of all raid array disks 6. update super block 7. log disk space used by the stripe can be reused In practice, several stripes consist of an io_unit and we will batch several io_unit in different steps, but the whole process doesn't change. It's possible io return just after data/parity hit log disk, but then read IO will need read from log disk. For simplicity, IO return happens at step 4, where read IO can directly read from raid disks. Currently reclaim run if there is specific reclaimable space (1/4 disk size or 10G) or we are out of space. Reclaim is just to free log disk spaces, it doesn't impact data consistency. The size based force reclaim is to make sure log isn't too big, so recovery doesn't scan log too much. Recovery make sure raid disks and log disk have the same data of a stripe. If crash happens before 4, recovery might/might not recovery stripe's data/parity depending on if data/parity and its checksum matches. In either case, this doesn't change the syntax of an IO write. After step 3, stripe is guaranteed recoverable, because stripe's data/parity is persistent in log disk. In some cases, log disk content and raid disks content of a stripe are the same, but recovery will still copy log disk content to raid disks, this doesn't impact data consistency. space reuse happens after superblock update and cache flush. There is one situation we want to avoid. A broken meta in the middle of a log causes recovery can't find meta at the head of log. If operations require meta at the head persistent in log, we must make sure meta before it persistent in log too. The case is stripe data/parity is in log and we start write stripe to raid disks (before step 4). stripe data/parity must be persistent in log before we do the write to raid disks. The solution is we restrictly maintain io_unit list order. In this case, we only write stripes of an io_unit to raid disks till the io_unit is the first one whose data/parity is in log. The io_unit list order is important for other cases too. For example, some io_unit are reclaimable and others not. They can be mixed in the list, we shouldn't reuse space of an unreclaimable io_unit. Includes fixes to problems which were... Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit f6bed0ef0a808164f51197de062e0450ce6c1f96 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:31:59 2015 -0700 raid5: add basic stripe log This introduces a simple log for raid5. Data/parity writing to raid array first writes to the log, then write to raid array disks. If crash happens, we can recovery data from the log. This can speed up raid resync and fix write hole issue. The log structure is pretty simple. Data/meta data is stored in block unit, which is 4k generally. It has only one type of meta data block. The meta data block can track 3 types of data, stripe data, stripe parity and flush block. MD superblock will point to the last valid meta data block. Each meta data block has checksum/seq number, so recovery can scan the log correctly. We store a checksum of stripe data/parity to the metadata block, so meta data and stripe data/parity can be written to log disk together. otherwise, meta data write must wait till stripe data/parity is finished. For stripe data, meta data block will record stripe data sector and size. Currently the size is always 4k. This meta data record can be made simpler if we just fix write hole (eg, we can record data of a stripe's different disks together), but this format can be extended to support caching in the future, which must record data address/size. For stripe parity, meta data block will record stripe sector. It's size should be 4k (for raid5) or 8k (for raid6). We always store p parity first. This format should work for caching too. flush block indicates a stripe is in raid array disks. Fixing write hole doesn't need this type of meta data, it's for caching extension. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b70abcb24711d1327a8a505ab3e931c24cbab0a7 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:31:58 2015 -0700 raid5: add a new state for stripe log handling When a stripe finishes construction, we write the stripe to raid in ops_run_io normally. With log, we do a bunch of other operations before the stripe is written to raid. Mainly write the stripe to log disk, flush disk cache and so on. The operations are still driven by raid5d and run in the stripe state machine. We introduce a new state for such stripe (trapped into log). The stripe is in this state from the time it first enters ops_run_io (finish construction) to the time it is written to raid. Since we know the state is only for log, we bypass other check/operation in handle_stripe. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6d036f7d52e5a9c3b2ff77883db4c34620681804 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:31:57 2015 -0700 raid5: export some functions Next several patches use some raid5 functions, rename them with raid5 prefix and export out. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 3069aa8def32b0c2b83cd27d1c37ed30b47ce879 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:31:56 2015 -0700 md: override md superblock recovery_offset for journal device Journal device stores data in a log structure. We need record the log start. Here we override md superblock recovery_offset for this purpose. This field of a journal device is meaningless otherwise. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit bac624f3f86a8c7db395c7f85ccad6a504b9c4b4 Author: Song Liu <songliubraving@xxxxxx> Date: Thu Aug 13 14:31:55 2015 -0700 MD: add a new disk role to present write journal device Next patches will use a disk as raid5/6 journaling. We need a new disk role to present the journal device and add MD_FEATURE_JOURNAL to feature_map for backward compability. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c4d4c91b44d8309082127893221a1971a27c50ca Author: Song Liu <songliubraving@xxxxxx> Date: Thu Aug 13 14:31:54 2015 -0700 MD: replace special disk roles with macros Add the following two macros for special roles: spare and faulty MD_DISK_ROLE_SPARE 0xffff MD_DISK_ROLE_FAULTY 0xfffe Add MD_DISK_ROLE_MAX 0xff00 as the maximal possible regular role, and minimal value of special role. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 28c1b9fdf4562b52fe104384b16238c39c8a8d40 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Thu Oct 22 16:01:25 2015 +1100 md-cluster: Call update_raid_disks() if another node --grow's raid_disks To incorporate --grow feature executed on one node, other nodes need to acknowledge the change in number of disks. Call update_raid_disks() to update internal data structures. This leads to call check_reshape() -> md_allow_write() -> md_update_sb(), this results in a deadlock. This is done so it can safely allocate memory (which might trigger writeback which might write to raid1). This is not required for md with a bitmap. In the clustered case, we don't perform md_update_sb() in md_allow_write(), but in do_md_run(). Also we disable safemode for clustered mode. mddev->recovery_cp need not be set in check_sb_changes() because this is required only when a node reads another node's bitmap. mddev->recovery_cp (which is read from sb->resync_offset), is set only if mddev is in_sync. Since we disabled safemode, in_sync is set to zero. In a clustered environment, the MD may not be in sync because another node could be writing to it. So make sure that in_sync is not set in case of clustered node in __md_stop_writes(). Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 30661b49be784e8eecde60330ad7a8bdeb5291b1 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Oct 19 15:44:00 2015 +1100 md-cluster: remove mddev arg from add_resync_info() The arg isn't used, so its presence is only confusing. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 2e2a7cd96f5a076db4d4a4bd564652d37dd034c2 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Oct 19 15:42:18 2015 +1100 md-cluster: don't cast void pointers when assigning them. It is common practice in the kernel to leave out this case. It isn't needed and adds little if any value. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 823815238f5e2bfd3783602ca9c50da9fe41c778 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Oct 19 15:36:07 2015 +1100 md-cluster: discard unused sb_mutex. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit cf97a348c8f700e448588bad4de3504d8d65c2f9 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Oct 16 15:40:22 2015 +0800 md-cluster: Fix warnings when build with CF=-D__CHECK_ENDIAN__ This patches fixes sparse warnings like incorrect type in assignment (different base types), cast to restricted __le64. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 8bce6d35b308d73cdb2ee273c95d711a55be688c Author: NeilBrown <neilb@xxxxxxxx> Date: Thu Oct 22 13:20:15 2015 +1100 md/raid10: fix the 'new' raid10 layout to work correctly. In Linux 3.9 we introduce a new 'far' layout for RAID10 which was supposed to rotate the replicas differently and so provide better resilience. In particular it could survive more combinations of 2 drive failures. Unfortunately. due to a coding error, this some did what was wanted, sometimes improved less than we hoped, and sometimes - in very unlikely circumstances - put multiple replicas on the same device so the redundancy was harmed. No public user-space tool has created arrays using this layout so it is very unlikely that zero-redundancy arrays actually exist. Probably no arrays using any form of the new layout exist. But we cannot be certain. So use another bit in the 'layout' number and introduce a bug-fixed version of the layout. Also when assembling an array, if it has a zero-redundancy layout, give a warning. Reported-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c340702ca26a628832fade4f133d8160a55c29cc Author: NeilBrown <neilb@xxxxxxxx> Date: Sat Oct 24 16:23:48 2015 +1100 md/raid10: don't clear bitmap bit when bad-block-list write fails. When a write fails and a bad-block-list is present, we can update the bad-block-list instead of writing the data. If this succeeds then it is OK clear the relevant bitmap-bit as no further 'sync' of the block is needed. However if writing the bad-block-list fails then we need to treat the write as failed and particularly must not clear the bitmap bit. Otherwise the device can be re-added (after any hardware connection issues are resolved) and because the relevant bit in the bitmap is clear, that block will not be resynced. This leads to data corruption. We already delay the final bio_endio() on the write until the bad-block-list is written so that when the write returns: either that data is safe, the bad-block record is safe, or the fact that the device is faulty is safe. However we *don't* delay the clearing of the bitmap, so the bitmap bit can be recorded as cleared before we know if the bad-block-list was written safely. So: delay that until the write really is safe. i.e. move the call to close_write() until just before calling bio_endio(), and recheck the 'is array degraded' status before making that call. This bug goes back to v3.1 when bad-block-lists were introduced, though it only affects arrays created with mdadm-3.3 or later as only those have bad-block lists. Backports will require at least Commit: 95af587e95aa ("md/raid10: ensure device failure recorded before write request returns.") as well. I'll send that to 'stable' separately. Note that of the two tests of R10BIO_WriteError that this patch adds, the first is certain to fail and the second is certain to succeed. However doing it this way makes the patch more obviously correct. I will tidy the code up in a future merge window. Reported-by: Nate Dailey <nate.dailey@xxxxxxxxxxx> Fixes: bd870a16c594 ("md/raid10: Handle write errors by updating badblock log.") Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit bd8688a199b864944bf62eebed0ca13b46249453 Author: NeilBrown <neilb@xxxxxxxx> Date: Sat Oct 24 16:02:16 2015 +1100 md/raid1: don't clear bitmap bit when bad-block-list write fails. When a write fails and a bad-block-list is present, we can update the bad-block-list instead of writing the data. If this succeeds then it is OK clear the relevant bitmap-bit as no further 'sync' of the block is needed. However if writing the bad-block-list fails then we need to treat the write as failed and particularly must not clear the bitmap bit. Otherwise the device can be re-added (after any hardware connection issues are resolved) and because the relevant bit in the bitmap is clear, that block will not be resynced. This leads to data corruption. We already delay the final bio_endio() on the write until the bad-block-list is written so that when the write returns: either that data is safe, the bad-block record is safe, or the fact that the device is faulty is safe. However we *don't* delay the clearing of the bitmap, so the bitmap bit can be recorded as cleared before we know if the bad-block-list was written safely. So: delay that until the write really is safe. i.e. move the call to close_write() until just before calling bio_endio(), and recheck the 'is array degraded' status before making that call. This bug goes back to v3.1 when bad-block-lists were introduced, though it only affects arrays created with mdadm-3.3 or later as only those have bad-block lists. Backports will require at least Commit: 55ce74d4bfe1 ("md/raid1: ensure device failure recorded before write request returns.") as well. I'll send that to 'stable' separately. Note that of the two tests of R1BIO_WriteError that this patch adds, the first is certain to fail and the second is certain to succeed. However doing it this way makes the patch more obviously correct. I will tidy the code up in a future merge window. Reported-and-tested-by: Nate Dailey <nate.dailey@xxxxxxxxxxx> Cc: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Fixes: cd5ff9a16f08 ("md/raid1: Handle write errors by updating badblock log.") Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit ef4da0c1c8f3ca3e9dcf6936bf687a32cd62f293 Merge: 55ee701 c4384a9 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 23 18:13:38 2015 -0700 Merge tag 'for-v4.4/omap-hwmod-cleanup-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.4/soc ARM: OMAP2+: hwmod cleanup for v4.4 Remove some superfluous data from the OMAP2+ hwmod data files. Mostly this is a result of data being moved to DT files. Nothing too controversial, here. Basic build, boot, and PM test results are available here: http://www.pwsan.com/omap/testlogs/hwmod-cleanup-a-for-v4.4/20151023130140/ commit 161d9041782b86c5493481566539bfc058ceeaff Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 23 13:27:39 2015 -0300 perf tools: Provide help for subset of options Some tools have a lot of options, so, providing a way to show help just for some of them may come handy: $ perf report -h --tui Usage: perf report [<options>] --tui Use the TUI interface $ perf report -h --tui --showcpuutilization -b -c Usage: perf report [<options>] -b, --branch-stack use branch records for per branch histogram filling -c, --comms <comm[,comm...]> only consider symbols in these comms --showcpuutilization Show sample percentage for different cpu modes --tui Use the TUI interface $ Using it with perf bash completion is also handy, just make sure you source the needed file: $ . ~/git/linux/tools/perf/perf-completion.sh Then press tab/tab after -- to see a list of options, put them after -h and only the options chosen will have its help presented: $ perf report -h -- --asm-raw --demangle-kernel --group --kallsyms --pretty --stdio --branch-history --disassembler-style --gtk --max-stack --showcpuutilization --symbol-filter --branch-stack --dsos --header --mem-mode --show-info --symbols --call-graph --dump-raw-trace --header-only --modules --show-nr-samples --symfs --children --exclude-other --hide-unresolved --objdump --show-ref-call-graph --threads --column-widths --fields --ignore-callees --parent --show-total-period --tid --comms --field-separator --input --percentage --socket-filter --tui --cpu --force --inverted --percent-limit --sort --verbose --demangle --full-source-path --itrace --pid --source --vmlinux $ perf report -h --socket-filter Usage: perf report [<options>] --socket-filter <n> only show processor socket that match with this filter Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-83mcdd3wj0379jcgea8w0fxa@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 869c55b0f473fecfe6c294c6fa965dedfe469e02 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 23 11:23:28 2015 -0300 perf tools: Show tool command line options ordered When asking for a listing of the options, be it using -h or when an unknown option is passed, order it by one-letter options, then the ones having just long names. Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-41qh68t35n4ehrpsuazp1dx8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 379a80a1d048dcacfc2011d5d32e16d5c804b9f4 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Fri Oct 23 15:06:19 2015 -0400 bnxt_en: Fix compile errors when CONFIG_BNXT_SRIOV is not set. struct bnxt_pf_info needs to be always defined. Move bnxt_update_vf_mac() to bnxt_sriov.c and add some missing #ifdef CONFIG_BNXT_SRIOV. Reported-by: Jim Hull <jim.hull@xxxxxxx> Tested-by: Jim Hull <jim.hull@xxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28f98a12f7bac9c3e5ba85d245d32ec0910cf8e5 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Thu Oct 22 11:56:09 2015 -0700 fpga: zynq-fpga: Fix issue with drvdata being overwritten. Upon registering a FPGA Manager low level driver, FPGA Manager core overwrites the platform drvdata pointer. Prior to this commit zynq-fpga falsely relied on this pointer to still be valid at remove() time. Reported-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Acked-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92d94a7ec552fafaa036fdb04d0894d6c444cafb Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 12:38:38 2015 -0500 fpga manager: remove unnecessary null pointer checks Remove unnecessary null pointer checks. We want the caller of these functions to do their own pointer checks. Add some comments to document this. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 654ba4cc0f3ed7c0f08bfb39f66059d8c42943ee Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 12:38:37 2015 -0500 fpga manager: ensure lifetime with of_fpga_mgr_get Ensure device and driver lifetime from of_fpga_mgr_get() to fpga_mgr_put(). * Don't put_device() in of_fpga_mgr_get, do it in fpga_mgr_put(). (still do put_device if there is an error). * Do module_get on the low level driver. * Don't need to module_get(THIS_MODULE) since we won't be allowed to unload the fpga manager core without unloading low level driver first. * Remove unnedessary null check for node pointer. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d10eaff5bfc69997a769f9c83b749f0a8c542fa Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Tue Oct 20 10:19:56 2015 -0700 fpga: zynq-fpga: Change fw format to handle bin instead of bit. This gets rid of the code to strip away the header and byteswap, as well as the check for the sync word. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Reviewed-by: Josh Cartwright <joshc@xxxxxx> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6376931babd833dbd6f51e22a3de449ce6c60d61 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Mon Oct 19 13:35:33 2015 -0700 fpga: zynq-fpga: Fix unbalanced clock handling This commit fixes the unbalanced clock handling, where a failed probe would leave the clock with an enable count of -1. Reported-by: Josh Cartwright <joshc@xxxxxx> Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 018155365dccecd9ea9f26e1b26fb0f960c1ee32 Merge: dd5ae68 fd7cd06 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:52:59 2015 +0900 Merge tag 'usb-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are three xhci driver fixes for reported issues for 4.3-rc7 All have been in linux-next for a while with no problems" * tag 'usb-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: xhci: Add spurious wakeup quirk for LynxPoint-LP controllers xhci: handle no ping response error properly xhci: don't finish a TD if we get a short transfer event mid TD commit dd5ae6818ccd4ab0aa6f7d84e88f60a48af0fb52 Merge: 4ee8019 f235f66 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:52:09 2015 +0900 Merge tag 'tty-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial fixes from Greg KH: "Here are two fixes that resolve reported issues, one with the 8250 driver, and the other with the generic fbcon driver. Both have been in linux-next for a while" * tag 'tty-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: fbcon: initialize blink interval before calling fb_set_par Revert "serial: 8250_dma: don't bother DMA with small transfers" commit 4ee8019d3fdc6cce14129a954632c0f81d456884 Merge: 410694e 4301de3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:51:13 2015 +0900 Merge tag 'staging-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver fixes from Greg KH: "Here are four iio driver fixes for 4.3-rc7, fixing some reported issues. All of these have been in linux-next for a while" * tag 'staging-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: iio: mxs-lradc: Fix temperature offset iio: accel: sca3000: memory corruption in sca3000_read_first_n_hw_rb() iio: st_accel: fix interrupt handling on LIS3LV02 iio: adc: twl4030: Fix ADC[3:6] readings commit 410694e214d5b479bc8b035ded0bb832f1c469b4 Merge: 35df017 0ca81a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:28:05 2015 +0900 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma Pull infiniband fixes from Doug Ledford: "It's late in the game, I know, but these fixes seemed important enough to warrant a late pull request. They all involve oopses or use after frees or corruptions. Six serious fixes: - Hold the mutex around the find and corresponding update of our gid - The ifa list is rcu protected, copy its contents under rcu to avoid using a freed structure - On error, netdev might be null, so check it before trying to release it - On init, if workqueue alloc fails, fail init - The new demux patches exposed a bug in mlx5 and ipath drivers, we need to use the payload P_Key to determine the P_Key the packet arrived on because the hardware doesn't tell us the truth - Due to a couple convoluted error flows, it is possible for the CM to trigger a use_after_free and a double_free of rb nodes. Add two checks to prevent that. This code has worked for 10+ years. It is likely that some of the recent changes have caused this issue to surface. The current patch will protect us from nasty events for now while we track down why this is just now showing up" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: IB/cm: Fix rb-tree duplicate free and use-after-free IB/cma: Use inner P_Key to determine netdev IB/ucma: check workqueue allocation before usage IB/cma: Potential NULL dereference in cma_id_from_event IB/core: Fix use after free of ifa IB/core: Fix memory corruption in ib_cache_gid_set_default_gid commit 35df017c4d5571ee6f3061964d1445aae250219c Merge: ea1ee5f 3201ac4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:23:52 2015 +0900 Merge tag 'dm-4.3-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper fixes from Mike Snitzer: "Three stable fixes (two in btree code used by DM thinp and one to properly store flags in DM cache metadata's superblock)" * tag 'dm-4.3-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm cache: the CLEAN_SHUTDOWN flag was not being set dm btree: fix leak of bufio-backed block in btree_split_beneath error path dm btree remove: fix a bug when rebalancing nodes after removal commit ea1ee5ff1b500ccdc64782ecef13d276afb08f14 Merge: ef594c4 e27c5b9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:20:57 2015 +0900 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block layer fixes from Jens Axboe: "A final set of fixes for 4.3. It is (again) bigger than I would have liked, but it's all been through the testing mill and has been carefully reviewed by multiple parties. Each fix is either a regression fix for this cycle, or is marked stable. You can scold me at KS. The pull request contains: - Three simple fixes for NVMe, fixing regressions since 4.3. From Arnd, Christoph, and Keith. - A single xen-blkfront fix from Cathy, fixing a NULL dereference if an error is returned through the staste change callback. - Fixup for some bad/sloppy code in nbd that got introduced earlier in this cycle. From Markus Pargmann. - A blk-mq tagset use-after-free fix from Junichi. - A backing device lifetime fix from Tejun, fixing a crash. - And finally, a set of regression/stable fixes for cgroup writeback from Tejun" * 'for-linus' of git://git.kernel.dk/linux-block: writeback: remove broken rbtree_postorder_for_each_entry_safe() usage in cgwb_bdi_destroy() NVMe: Fix memory leak on retried commands block: don't release bdi while request_queue has live references nvme: use an integer value to Linux errno values blk-mq: fix use-after-free in blk_mq_free_tag_set() nvme: fix 32-bit build warning writeback: fix incorrect calculation of available memory for memcg domains writeback: memcg dirty_throttle_control should be initialized with wb->memcg_completions writeback: bdi_writeback iteration must not skip dying ones writeback: fix bdi_writeback iteration in wakeup_dirtytime_writeback() writeback: laptop_mode_timer_fn() needs rcu_read_lock() around bdi_writeback iteration nbd: Add locking for tasks xen-blkfront: check for null drvdata in blkback_changed (XenbusStateClosing) commit ef594c421a0f96197f28d205e2ee58a83c1e0e37 Merge: 37902bc 6d69bb53 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:19:33 2015 +0900 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph fixes from Sage Weil: "Two fixes. One is a stopgap to prevent a stack blowout when users have a deep chain of image clones. (We'll rewrite this code to be non-recursive for the next window, but in the meantime this is a simple fix that avoids a crash.) The second fixes a refcount underflow" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: rbd: prevent kernel stack blow up on rbd map rbd: don't leak parent_spec in rbd_dev_probe_parent() commit 37902bc190f1396a8c232783b29ddfcaa4026028 Merge: 0386729 0f89abf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:17:58 2015 +0900 Merge branch 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fixes from Chris Mason: "I have two more small fixes this week: Qu's fix avoids unneeded COW during fallocate, and Christian found a memory leak in the error handling of an earlier fix" * 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: btrfs: fix possible leak in btrfs_ioctl_balance() btrfs: Avoid truncate tailing page if fallocate range doesn't exceed inode size commit 174f2366b076db3876c3b7f595edf2aa739f9d43 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jun 9 15:52:49 2015 +0800 i2c: au1550: Convert to devm_kzalloc and devm_ioremap_resource Use devm_* APIs to simplify the code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ab57b8e90c658a72944c48a81a1352e61e84db02 Author: Maruthi Srinivas Bayyavarapu <Maruthi.Bayyavarapu@xxxxxxx> Date: Fri Oct 23 17:15:41 2015 -0400 ASoC: dwc: add check for master/slave format DW i2s controller's master/slave config can be read from a read-only register. Machine driver can try to set a master/slave format on cpu-dai using 'set_fmt' of dai ops. A check is added to verify codec is master when dwc is slave and vice-versa. Signed-off-by: Maruthi Bayyavarapu <maruthi.bayyavarapu@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9e685c84c266582ad002311497684f183db6b937 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Sep 11 11:27:18 2015 +0200 i2c-dev: Fix I2C_SLAVE ioctl comment The first part of the comment is wrong since November 2007, delete it. The second part of the comment is related to I2C_PEC, not I2C_SLAVE, so move it where it belongs. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c57d3e7a9391c03ae7ee5572be850284393f5bef Author: Jean Delvare <jdelvare@xxxxxxx> Date: Tue Sep 8 11:05:49 2015 +0200 i2c-dev: Fix typo in ioctl name reference The ioctl is named I2C_RDWR for "I2C read/write". But references to it were misspelled "rdrw". Fix them. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d64d45cb95e6f9edf58fab49cfc5a7a60ff1a122 Author: Guoying Zhang <Guoying.Zhang@xxxxxxx> Date: Wed Sep 9 10:30:32 2015 +0000 i2c: sirf: tune the divider to make i2c bus freq more accurate In prima2 and atlas7, due to some hardware design issue. we need to adjust the divider ratio a little according to i2c bus frequency ranges. Since i2c is open drain interface that allows the slave to stall the transaction by holding the SCL line at '0', the RTL implementation is waiting for SCL feedback from the pin after setting it to High-Z ('1'). This wait adds to the high-time interval counter few cycles of the input synchronization (depending on the SCL_FILTER_REG field), and also the time it takes for the board pull-up resistor to rise the SCL line. For slow SCL settings these additions are negligible, but they start to affect the speed when clock is set to faster frequencies. This patch is based on the actual tests, and it makes SCL more accurate. Signed-off-by: Guoying Zhang <Guoying.Zhang@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 41adfe8202d2e7ed64f399e875f12f71a7ef7207 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:02:01 2015 +0530 dts/Makefile: Add build support for LS2080a QDS & RDB board DTS This patch adds build support for LS2080a QDS & RDB board DTS files in the arm64 DTS Makefile. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit b9925d59790d63555e3a3fd3b05d5345be1f6efb Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:02:00 2015 +0530 dts/ls2080a: Add DTS support for LS2080a QDS & RDB boards This patch adds the LS2080a DTS files for QDS and RDB boards which support the LS2080a SoC. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 066230950eded98cb00a7eb1fea52db76088bcab Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:58 2015 +0530 dts/ls2080a: Update Simulator DTS to add support of various peripherals This patch updates the LS2080a simulator DTS to add support of various peripherals which are supported on the simulator platform and explicitly disables those which are yet not supported on the platform. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit cff412ef9d3ae86ffae238e6d0bfdd95edb9cf0d Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:59 2015 +0530 dts/ls2080a: Remove text about writing to Free Software Foundation Checkpatch complains about the text suggesting writing to Free Software Foundation for GPLv2 license copy. This patch removes the same from the .dtsi and .dts Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 7bdccef34fc67d3fce6778a018601dd41e43c5ce Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 23 11:36:01 2015 +0200 clk: versatile-icst: fix memory leak A static code checker found a memory leak in the Versatile ICST code. Fix it. Fixes: a183da637c52 "clk: versatile: respect parent rate in ICST clock" Reported-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit acba7855dda0d6e7d87dec2f89b4d9eebb36bbe2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Oct 21 16:26:44 2015 -0700 clk: Remove clk_{register,unregister}_multiplier() These APIs aren't used, so remove them. This can be reverted if we get a user at some point. Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Suggested-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5461597f6ce01904a1d95bb03274c4340dd48164 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:57 2015 +0530 dts/ls2080a: Update DTSI to add support of various peripherals This patch updates the LS2080a DTSI (DTS Include) file to add support for the following peripherals: - USB 3.0 Host - PMU - CCN-504 - SATA - SPI - PCIe Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Signed-off-by: Alison Wang <alison.wang@xxxxxxxxxxxxx> Signed-off-by: Liu Gang <Gang.Liu@xxxxxxxxxxxxx> Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 736c16d37fad9f9c6851e4fdbecf8475b0757c43 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:56 2015 +0530 doc: DTS: Update DWC3 binding to provide reference to generic bindings Since the Synopsys DWC3 controller driver inherits the generic bindings defined in 'usb/generic.txt', this patch tries to capture the same in the DWC3 binging documentation to avoid any confusion in usage of properties like 'dr_mode' for certain SoCs like FSL LS2080A. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit aef9ee29faec85623529edd62ac362686da55071 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:55 2015 +0530 doc/bindings: Update GPIO devicetree binding documentation for LS2080A Update the FSL, GPIO binding documentation to add support for GPIO controller found on Freescale's LS2080A platform. Signed-off-by: Liu Gang <Gang.Liu@xxxxxxxxxxxxx> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 5dd32eae604ee503e5a84a4f18d1381e4cc356cb Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 21:52:27 2015 +0300 i2c: pnx: fix runtime warnings caused by enabling unprepared clock The driver can not be used on a platform with common clock framework until clk_prepare/clk_unprepare calls are added, otherwise clk_enable calls will fail and a WARN is generated. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 4c0657ae432398f729c1d402bab935505a5255b5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Oct 22 14:41:20 2015 -0200 i2c: imx: Use -ENXIO as error in the NACK case According to Documentation/i2c/fault-codes the response to a bus NACK should be -ENXIO, so fix the error code. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit a2cce7a9f1b8cc3d4edce106fb971529f1d4d9ce Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:53 2015 +0530 Documentation/dts: Move FSL board-specific bindings out of /powerpc Since the same board components can be used across ARM and PPC board families, this patch moves the FSL board-specific bindings out of bindings/powerpci. While at it, this patch also adds the bindings for QIXIS FPGA controller found on FSL LS2080A boards. These boards have an on-board FPGA/CPLD connected to the IFC controller. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit cc56a128a5c0875196c7518cf8147e16384b2329 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:52 2015 +0530 Documentation: DT: Add entry for FSL LS2080A QDS and RDB boards This patch adds a devicetree binding documentation for Freescale's LS2080A QDS and RDB boards. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit f43a4b8507f9b2033003a8f42131a291e07210ef Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:51 2015 +0530 arm64: Rename FSL LS2085A SoC support code to LS2080A Freescale is renaming the LS2085A SoC to LS2080A. This patch addresses the same. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 53a5fde05d0e1040394b5f6d1f191d49b0ca88f5 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:50 2015 +0530 arm64: Use generic Layerscape SoC family naming Freescale will be a spinning-out a set of ARMv8 based SoCs which will be based on a similar overall SoC architecture. So, this patch converts the existing infrastructure in the arm64/dts, arm64/Kconfig and arm64/configs to use the generic convention ARCH_LAYERSCAPE in place of the more specific FSL_LS2085A, to save code duplication later-on. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 920c74f0dfd23e205828d23bc11eb7fb0d24b032 Merge: 8d1a327 512fc04 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 23 22:20:53 2015 +0200 Merge tag 'at91-ab-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt Merge "Second batch of DT changes for 4.4" from Alexandre Belloni: - some DT fixes: pullups, disabled property - the PMC is now a syscon - great improvement of sama5d2 support * tag 'at91-ab-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: at91/dt: sama5d2: add missing devices ARM: at91/dt: sama5d4: add the macb1 node ARM: at91/dt: add pullup on mmc2 data signals ARM: at91/dt: sama5d2_xplained: add regulator nodes ARM: at91/dt: fix "disabled" property on at91rm9200 ARM: at91/dt: use syscon for PMC commit 8d1a327c7b88238fae6968aa0a5863c2146a36f4 Merge: 13e77e6 e9a2677 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 23 22:17:19 2015 +0200 Merge tag 'omap-for-v4.4/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap dts changes for v4.4 merge window, part 2" from Tony Lindgren: Few more omap dts changes for v4.4 merge window, mostly to fix and clean up some omap5 issues to allow adding other omap5 boards. Also some other fixes and clean-up: - Fix SDIO WLAN for omap5 that's been broken for a while. As further patches are still needed for wl18xx, no need for stable on this one. - Move most of omap5 support into omap5-board-common.dtsi as most omap5 boards seem to share the same basic set of devices. - Add minimal IGEPv5 support using based on omap5-board-common.dtsi - Remove now unneedes gpio hogging for dra72-evm - Update Javier Martinez Canillas email address - Change earlier IGEP boards to use IOPAD pinmux macros * tag 'omap-for-v4.4/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: am335x-base0033: Use IOPAD pinmux macro ARM: dts: am335x-igep0033: Use IOPAD pinmux macro ARM: dts: omap3-igep0020: Use IOPAD pinmux macro ARM: dts: am437x-gp-evm: Add wakeup interrupt source for pixcir_i2c_ts ARM: dts: Update Javier Martinez Canillas's email ARM: dts: dra72-evm: remove cpsw gpio hogging and add mode-gpios ARM: dts: Add basic support for isee igepv5 ARM: dts: Move most of omap5-uevm.dts to omap5-board-common.dtsi ARM: dts: Fix WLAN regression on omap5-uevm commit 13e77e6b52b8e7f4b90e242d73cf561d96ed4e14 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Oct 21 20:36:30 2015 +0900 ARM: dts: uniphier: add ProXstream2 Vodka board support Initial version of DTS for ProXstream2 Vodka board. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit dd77f423e516293c37c2370b44fd700900409c48 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 22 17:16:58 2015 +0300 i2c: i801: Add support for Intel Broxton This patch adds the SMBUS PCI ID of Intel Broxton. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 97593f773144bc2876e3b5c46d1a5affb9e6eeed Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Oct 21 20:36:29 2015 +0900 ARM: dts: uniphier: add ProXstream2 Gentil board support Initial version of DTS for ProXstream2 Gentil board. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 06ff6b2d63210922a1b1d0f4997e29ce75b5e0c0 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Oct 21 20:36:27 2015 +0900 ARM: dts: uniphier: use stdout-path instead of console Specifying both console and stdout-path is redundant. Add options ":115200n8" to stdout-path and drop "console=ttyS0,115200". Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 84d7f2ebd70d36e9d83e0973d2f4dac56a671f4f Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 13 15:41:39 2015 +0300 i2c: i801: Add support for Intel DNV Intel DNV SoC has the same legacy SMBus host controller than Intel Sunrisepoint PCH. It also has same iTCO watchdog on the bus. Add DNV PCI ID to the list of supported devices. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d6b9aea67f40e138e972b17c7c658bc3c8ac2459 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sat Oct 24 05:07:19 2015 +0900 MAINTAINERS: Add documentation and dt-bindings for exynos stuff Extend the Samsung Exynos maintainer entry to match SoC documentation and SoC dt-bindings directories. Without that some files, like bindings/arm/samsung/pmu.txt, are not matched by existing patterns. This also may serve as a hint where new documentation and bindings (not matching specific subsystem) should be put. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 18f4ce7157dc89fcb696f4757e8be0dda7b07777 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sat Oct 24 05:07:06 2015 +0900 dt-bindings: EXYNOS: Document compatibles from other vendors Document compatibles used on other Exynos-based boards (non-Samsung): FriendlyARM, Google, Hardkernel and Insignal. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Hakjoo Kim <ruppi.kim@xxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 068812ed108acbfe070b893faba9845fe2ea3fd9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sat Oct 24 05:07:02 2015 +0900 dt-bindings: Consolidate Exynos SoC bindings Exynos SoC Device Tree bindings are spread over arm/exynos/ and arm/samsung/ directories. There is no need for that separation and it actually confuses. Put power domain bindings under power/ and remaining samsung-boards.txt under arm/samsung/. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit a3de778b1faecdb4a8709d96ac0ab3a61b40e898 Merge: 7007c60 848dd6a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 23 22:04:49 2015 +0200 Merge tag 'sti-dt-for-v4.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/dt Merge "STi DT changes for v4.4, round 2" from Maxime Coquelin: - Use STiH418's A9 PLL - Add Ethernet support to STiH407 family * tag 'sti-dt-for-v4.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti: ARM: STi: DT: Add support for stih418 A9 pll ARM: dts: Enable Ethernet on STi's B2199 board ARM: dts: Enable Ethernet on STi's B2120 boards ARM: dts: Add Ethernet node to STiH407 family ARM: dts: Fix RGMII pinctrl timings commit 7007c60c28b2f1572b488513d94472046a79fa20 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Fri Sep 25 20:35:34 2015 +0300 ARM: dts: WM8750: fix cpu compatible value The change corrects cpu compatible property to a defined one, see Documentation/devicetree/bindings/arm/cpus.txt Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit dffc912e2c4851960d4b9d33b33dca906b2911b1 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Fri Sep 25 20:35:33 2015 +0300 ARM: dts: TI-Nspire: fix cpu compatible value The change corrects cpu compatible property to a defined one, see Documentation/devicetree/bindings/arm/cpus.txt Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 09027e08ac329eddd8f4a06ddcef8022eded6b87 Author: Liguo Zhang <liguo.zhang@xxxxxxxxxxxx> Date: Tue Oct 6 17:22:56 2015 +0800 i2c: mediatek: add i2c resume support mt65xx i2c controller initial setting will be cleared after system suspend, so we should init mt65xx i2c controller again when system resume. Signed-off-by: Liguo Zhang <liguo.zhang@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9767feb2c64b29775f1ea683130b44f95f67d169 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Oct 1 09:05:50 2015 -0400 nfsd: ensure that seqid morphing operations are atomic wrt to copies Bruce points out that the increment of the seqid in stateids is not serialized in any way, so it's possible for racing calls to bump it twice and end up sending the same stateid. While we don't have any reports of this problem it _is_ theoretically possible, and could lead to spurious state recovery by the client. In the current code, update_stateid is always followed by a memcpy of that stateid, so we can combine the two operations. For better atomicity, we add a spinlock to the nfs4_stid and hold that when bumping the seqid and copying the stateid. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit cc8a55320b5f1196bee5bd14e4bb2ebd3b983317 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Sep 17 07:58:24 2015 -0400 nfsd: serialize layout stateid morphing operations In order to allow the client to make a sane determination of what happened with racing LAYOUTGET/LAYOUTRETURN/CB_LAYOUTRECALL calls, we must ensure that the seqids return accurately represent the order of operations. The simplest way to do that is to ensure that operations on a single stateid are serialized. This patch adds a mutex to the layout stateid, and locks it when checking the layout stateid's seqid. The mutex is held over the entire operation and released after the seqid is bumped. Note that in the case of CB_LAYOUTRECALL we must move the increment of the seqid and setting into a new cb "prepare" operation. The lease infrastructure will call the lm_break callback with a spinlock held, so and we can't take the mutex in that codepath. Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4eaea13425078272895ec37814c6878d78b8db9f Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Oct 15 16:11:01 2015 -0400 nfsd: improve client_has_state to check for unused openowners At least in the v4.0 case openowners can hang around for a while after last close, but they shouldn't really block (for example), a new mount with a different principal. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 2b63482185e6054cc11ca6d6c073f90160c161fd Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Oct 15 15:33:23 2015 -0400 nfsd: fix clid_inuse on mount with security change In bakeathon testing Solaris client was getting CLID_INUSE error when doing a krb5 mount soon after an auth_sys mount, or vice versa. That's not really necessary since in this case the old client doesn't have any state any more: http://tools.ietf.org/html/rfc7530#page-103 "when the server gets a SETCLIENTID for a client ID that currently has no state, or it has state but the lease has expired, rather than returning NFS4ERR_CLID_INUSE, the server MUST allow the SETCLIENTID and confirm the new client ID if followed by the appropriate SETCLIENTID_CONFIRM." This doesn't fix the problem completely since our client_has_state() check counts openowners left around to handle close replays, which we should probably just remove in this case. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 778620364ef525e83597a6edee4d0a69db67fd3d Author: Neil Brown <neilb@xxxxxxxx> Date: Fri Oct 16 08:59:08 2015 +1100 sunrpc/cache: make cache flushing more reliable. The caches used to store sunrpc authentication information can be flushed by writing a timestamp to a file in /proc. This timestamp has a one-second resolution and any entry in cache that was last_refreshed *before* that time is treated as expired. This is problematic as it is not possible to reliably flush the cache without interrupting NFS service. If the current time is written to the "flush" file, any entry that was added since the current second started will still be treated as valid. If one second beyond than the current time is written to the file then no entries can be valid until the second ticks over. This will mean that no NFS request will be handled for up to 1 second. To resolve this issue we make two changes: 1/ treat an entry as expired if the timestamp when it was last_refreshed is before *or the same as* the expiry time. This means that current code which writes out the current time will now flush the cache reliably. 2/ when a new entry in added to the cache - set the last_refresh timestamp to 1 second *beyond* the current flush time, when that not in the past. This ensures that newly added entries will always be valid. Now that we have a very reliable way to flush the cache, and also since we are using "since-boot" timestamps which are monotonic, change cache_purge() to set the smallest future flush_time which will work, and leave it there: don't revert to '1'. Also disable the setting of the 'flush_time' far into the future. That has never been useful and is now awkward as it would cause last_refresh times to be strange. Finally: if a request is made to set the 'flush_time' to the current second, assume the intent is to flush the cache and advance it, if necessary, to 1 second beyond the current 'flush_time' so that all active entries will be deemed to be expired. As part of this we need to add a 'cache_detail' arg to cache_init() and cache_fresh_locked() so they can find the current ->flush_time. Signed-off-by: NeilBrown <neilb@xxxxxxxx> Reported-by: Olaf Kirch <okir@xxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 825213e59ec24110b0a0f94456db42621f928421 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Sat Oct 3 08:19:57 2015 -0400 nfsd: move include of state.h from trace.c to trace.h Any file which includes trace.h will need to include state.h, even if they aren't using any state tracepoints. Ensure that we include any headers that might be needed in trace.h instead of relying on the *.c files to have the right ones. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit cc6a7aab5570beef884ff95f7cade6634bf815a1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 16:13:45 2015 +0200 sunrpc: avoid warning in gss_key_timeout The gss_key_timeout() function causes a harmless warning in some configurations, e.g. ARM imx_v6_v7_defconfig with gcc-5.2, if the compiler cannot figure out the state of the 'expire' variable across an rcu_read_unlock(): net/sunrpc/auth_gss/auth_gss.c: In function 'gss_key_timeout': net/sunrpc/auth_gss/auth_gss.c:1422:211: warning: 'expire' may be used uninitialized in this function [-Wmaybe-uninitialized] To avoid this warning without adding a bogus initialization, this rewrites the function so the comparison is done inside of the critical section. As a side-effect, it also becomes slightly easier to understand because the implementation now more closely resembles the comment above it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: c5e6aecd034e7 ("sunrpc: fix RCU handling of gc_ctx field") Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 0d0f4aab4e4d290138a4ae7f2ef8469e48c9a669 Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Wed Oct 7 14:39:55 2015 +0300 lockd: get rid of reference-counted NSM RPC clients Currently we have reference-counted per-net NSM RPC client which created on the first monitor request and destroyed after the last unmonitor request. It's needed because RPC client need to know 'utsname()->nodename', but utsname() might be NULL when nsm_unmonitor() called. So instead of holding the rpc client we could just save nodename in struct nlm_host and pass it to the rpc_create(). Thus ther is no need in keeping rpc client until last unmonitor request. We could create separate RPC clients for each monitor/unmonitor requests. Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 226453d8cfbd5f3bbdcef0d71e67186715bb811d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Oct 7 13:54:42 2015 -0400 SUNRPC: Use MSG_SENDPAGE_NOTLAST when calling sendpage() If we're sending more pages via kernel_sendpage(), then set MSG_SENDPAGE_NOTLAST. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 1c4b6c3bcf30d0804db0d0647d8ebeb862c6f7e5 Author: Gao Pan <b54642@xxxxxxxxxxxxx> Date: Fri Oct 23 20:28:54 2015 +0800 i2c: imx: implement bus recovery Implement bus recovery methods for i2c-imx so we can recover from situations where SCL/SDA are stuck low. Once i2c bus SCL/SDA are stuck low during transfer, config the i2c pinctrl to gpio mode by calling pinctrl sleep set function, and then use GPIO to emulate the i2c protocol to send nine dummy clock to recover i2c device. After recovery, set i2c pinctrl to default group setting. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Gao Pan <b54642@xxxxxxxxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 3861841d2205714bfabaee4efcbb5e4202884852 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:44 2015 +0300 at24: enable ACPI device found on Galileo Gen2 There is a 24c08 chip connected to i2c bus on Intel Galileo Gen2 board. Enable it via ACPI ID INT3499. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6ebe21c1cf459d9bd501454ba65650c04fdf9288 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:43 2015 +0300 mfd: intel_quark_i2c_gpio: support devices behind i2c bus On Intel Galileo Gen2 the GPIO expanders are connected to the i2c bus. For those devices the ACPI table has specific parameters that refer to an actual i2c host controller. Since MFD now copes with that specific configuration we have to provide a necessary information how to distinguish devices in ACPI namespace. Here the _ADR values are provided. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c39dc960e9c5196022cbc46507d4782b6fc314f6 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:42 2015 +0300 mfd: intel_quark_i2c_gpio: load gpio driver first On Intel Galileo boards the GPIO expander is connected to i2c bus. Moreover it is able to generate interrupt, but interrupt line is connected to GPIO. That's why we have to have GPIO driver in place when we will probe i2c host with device connected to it. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 62a615e083604d291af0cb18f9b4549531ea4f94 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:41 2015 +0300 mfd: core: redo ACPI matching of the children devices There is at least one board on the market, i.e. Intel Galileo Gen2, that uses _ADR to distinguish the devices under one actual device. Due to this we have to improve the quirk in the MFD core to handle that board. Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6a62974b667f3976ec44e255bed31746cca1ff51 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 23 19:52:00 2015 +0900 i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver Add support for on-chip I2C controller used on newer UniPhier SoCs such as PH1-Pro4, PH1-Pro5, etc. This adapter is equipped with 8-depth TX/RX FIFOs. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit dd6fd4a3279310bac214867e31848f47e13caa6f Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 23 19:51:59 2015 +0900 i2c: uniphier: add UniPhier FIFO-less I2C driver Add support for on-chip I2C controller used on old UniPhier SoCs such as PH1-LD4, PH1-sLD8, etc. This adapter is so simple that it has no FIFO in it. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 3eddad96c4395280d5f6f13c958b276c11d3f575 Author: Ken Xue <Ken.Xue@xxxxxxx> Date: Fri Oct 23 13:28:47 2015 +0800 i2c: designware: reverts "i2c: designware: Add support for AMD I2C controller" The patch reverts commit a445900c9060 (i2c: designware: Add support for AMD I2C controller). It never worked anyhow because it did not register a proper clkdev. Since kernel 4.1 starts to support APD, there is no need to get freq from id->driver_data for AMD0010. clkdev is supposed to be already registered in APD. So, revert old design and make AMD0010 looks like other ones. Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx> Signed-off-by: Xiangliang Yu <Xiangliang.Yu@xxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fa721baed6ba9ec5cdb3109d71f31e0974c8d3f1 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Oct 23 16:01:17 2015 +0800 i2c: imx: add support for Freescale Layerscape platforms Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Hou Zhiqiang <B48286@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 97d5c7a77e39ab96a2a6137de0e35dd6e3f38325 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sat Oct 24 04:43:31 2015 +0900 Documentation: EXYNOS: Update bootloader interface on exynos542x Update the documentation about: 1. Usage of PMU_SPARE2 register. Bootloaders on Exynos542x-based boards often use the register PMU_SPARE2 (0x908) in the same way as on Exynos3250: as a indicator the secondary CPU was booted on. The bootloader will set this value to non-zero, after sucessfull power up of secondary CPU. In the same time this booted CPU will stuck (spin) waiting for software reset. 2. Exynos542x entry address for secondary CPU boot up after system suspend (with MCPM enabled and in non-secure mode). See arch/arm/mach-exynos/mcpm-exynos.c for source code. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 69636a85df476f09ed34cff829039ad20cf59fce Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Oct 15 12:31:24 2015 +0200 ARM: dts: Add clocks to DISP1 domain in exynos5250 Adds to the node of the DISP1 power domain the two clocks that need to be reparented while the domain is powered off: CLK_MOUT_ACLK200_DISP1_SUB and CLK_MOUT_ACLK300_DISP1_SUB. Otherwise the state is unknown at power up and the mixer's clocks are all messed up. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/g/561CDC33.7050103@xxxxxxxxxxxxx Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ae8a2881b5336aa96aea937ba3610d5a6dd32a26 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Oct 14 14:58:45 2015 +0900 dt-bindings: Correct the example for Exynos power domain clocks Since commit 29e5eea06bc1 ("ARM: EXYNOS: Get current parent clock for power domain on/off") the "pclkN" names of "clock-names" property is not parsed any more. The bindings and driver were updated but the example was not. Fix the example now. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 1f7ce3d1c96b6f8e38b4afedf9399ca279add78c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 00:12:35 2015 +0300 ARM: dts: Fix typo in regulator enable GPIO property in s5pv210-goni The property name should be "gpio", not "gpios". Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 698da378a34e521bb3a9fe5cf5b8434f3bc6df13 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 00:12:34 2015 +0300 ARM: dts: Fix typo in regulator enable GPIO property in s5pv210-aquila The property name should be "gpio", not "gpios". Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 4ae9a4c66cdcb8b5d4e4d904846f1b450dbcabb4 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 21 14:38:38 2015 +0200 ARM: dts: Add vbus regulator to USB2 phy nodes on exynos3250, exynos4210 and exynos4412 boards Exynos USB2 PHY driver now supports VBUS regulator, so add it to all boards which have it available. This also fixes commit 7eec1266751b ("ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2"), which added new regulators to Trats2 board, but without linking them to the consumers. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 7eec1266751b ("ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2") Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b4dc272b60fd7b43ff5b9ef89714d38c65db2cdb Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Oct 15 12:31:23 2015 +0200 clk: samsung: exynos5250: Add DISP1 clocks When the DISP1 power domain is powered off, there's two clocks that need to be temporarily reparented to OSC, and back to their original parents when the domain is powered on again. We expose these two clocks in the DT bindings so that the DT node of the power domain can reference them. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f0864f843f0249f3e16e1a9af7152d7aa8070b10 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Sun Oct 11 17:36:00 2015 +0000 ARM: multi_v7_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 Odroid XU4 has a RTL8153-CG gigabit Ethernet adapter, connected over USB 3.0. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit a81bb1aca601bf5ba3e40841ae7acc344d98fb84 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Oct 5 09:00:28 2015 +0000 ARM: exynos_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 Odroid-XU4 has a RTL8153-CG gigabit Ethernet adapter, connected over USB 3.0. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ceca418adfd6686325631e386cfa9437031a41be Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 14:42:26 2015 +0200 ARM: exynos_defconfig: Enable WiFi-Ex as a module instead built-in The Marvell WiFi-Ex driver tries to load a firmware on probe. So if the driver is built-in and probed before a firmware is available, this is not loaded and the chip does not work. This happens for example if an initramfs isn't used since the driver is probed before the root filesystem is mounted. Change the default config since the driver isn't needed for machines to boot and is more convenient to have it enabled as a module to avoid requiring an initramfs or to have the firmware built into the kernel. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 5b6ce5216e60fdb34875df4220399c4c3e32667a Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 10 15:42:32 2015 +0200 ARM: exynos_defconfig: Disable simplefb support The simplefb driver allows the kernel to render on a pre-allocated buffer that's been initialized by firmware before the kernel boots. This option was enabled to have display working on the Exynos5250 Snow Chromebook by commit da9d0fbf5e9a ("ARM: exynos: defconfig update") since proper DRM/KMS support did not exist at that time. But now that the Exynos DRM driver has support for this hardware, there is no need to have simplefb enabled. In fact, if a user has a u-boot that injects the simplefb dev node to the FDT before pass it to the kernel, display won't be properly initialized and only a blank screen will be shown since there isn't a proper handoff from the simplefb driver to the Exynos DRM driver. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Tested-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 7729fffa863c187ae27cc45106c6167a216600ff Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Thu Sep 3 18:11:50 2015 +0000 ARM: exynos_defconfig: Enable LEDS for Odroid-XU3/XU4 Odroid XU3 family boards come with RGB LEDs. Enabling LEDS_GPIO and LEDS_PWM allows monitoring the board alive state (heartbeat) and MMC/SDcard IO usage. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> [k.kozlowski: Rewritten the commit message] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f0d616ea572db16480b294094fff7bfc2859a922 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Aug 19 10:19:37 2015 +0200 ARM: multi_v7_defconfig: Enable DWC2 USB driver and USB ethernet gadget DWC2 (s3c-hsotg) hardware module is available on many Exynos based boards, so enable DWC2 driver as well as the most common USB Ethernet gadget. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f16a5b88d87bad1686d48e632d290138dbe31258 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Aug 18 11:15:33 2015 +0200 ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget DWC2 (s3c-hsotg) hardware module is available on many Exynos based boards, so enable DWC2 driver as well as the most common USB Ethernet gadget. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit fa4d0b79209eda0702bbe78931f62a8984407a93 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 17 07:57:43 2015 +0900 ARM: exynos_defconfig: Enable USB Video Class support The Exynos5420 Peach Pit and Exynos5800 Peach Pi boards have a built-in Silicon Motion USB UVC WebCam. Enable support for the USB Video Class driver and its needed media Kconfig symbols so the camera is supported. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c4384a97af852121f66e52ba96e98d6f13ad19eb Author: Suman Anna <s-anna@xxxxxx> Date: Mon Sep 14 18:37:13 2015 -0500 ARM: OMAP3: hwmod data: Remove legacy mailbox data and addrs Remove the mailbox attribute data, irq info and hwmod addr space data that are used for creating the legacy-style mailbox devices, there is no need for these as the support for legacy-mode for this IP is being dropped. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit deb9f54ef380e06fb840a49f184b4d7014366992 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Sep 14 15:49:21 2015 -0500 ARM: DRA7: hwmod data: Remove spinlock hwmod addrs The legacy-style device creation logic for hwspinlock has been removed after the DT-support was added to the driver. The hwmod addr space for spinlock is therefore no longer needed, so remove it. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 8aeff38207df39e2a63578741f7181326dc539cf Author: Suman Anna <s-anna@xxxxxx> Date: Mon Sep 14 15:49:20 2015 -0500 ARM: OMAP4: hwmod data: Remove spinlock hwmod addrs The legacy-style device creation logic for hwspinlock has been removed after the DT-support was added to the driver. The hwmod addr space for spinlock is therefore no longer needed, so remove it. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit e7f73d61ad41822b7804a63df7729ec243c3918f Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Thu Oct 15 11:27:41 2015 -0500 ARM: DRA7/AM335x/AM437x: hwmod: Remove gpmc address space from hwmod data GPMC address information is provided by device tree. No longer need to include this information within hwmod. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> [paul@xxxxxxxxx: fixed chip names in subject line] Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit b29dd5fa56141365ab7e72fd73e5e0e02d62dd6e Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Sat Oct 24 03:42:02 2015 +0900 ARM: dts: use exynos5420-dw-mshc compatible for exynos3250 There are some differences of mobile storage host between exynos3250 and exnos5250. For example, exynos3250 supports the HS400 mode, but exynos5250 doesn't support it. Since exynos3250 can perform the similar function with exynos5420 compatible, this patch changes the compatible from exynos5250 to exynos5420 for mshc. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit eaa6111b70a7cb43b7536eacea8ef501fc4fc235 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Fri Oct 23 18:27:12 2015 +0800 PCI: altera: Add Altera PCIe host controller driver Add the Altera PCIe host controller driver. [bhelgaas: whitespace, fold in DT and maintainer updates, OF_PCI dependency from Arnd] Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> (DT binding) commit 0ab089c2548c6a85b86f7d9392b3d53643c6dffd Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Fri Oct 23 18:27:10 2015 +0800 ARM: Add msi.h to Kbuild Include asm-generic/msi.h to support CONFIG_GENERIC_MSI_IRQ_DOMAIN. This fixes a compilation error: include/linux/msi.h:123:21: fatal error: asm/msi.h: No such file or directory Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3201ac452e84a8a368197d648c9b7011e061804a Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Thu Oct 22 18:10:55 2015 +0100 dm cache: the CLEAN_SHUTDOWN flag was not being set If the CLEAN_SHUTDOWN flag is not set when a cache is loaded then all cache blocks are marked as dirty and a full writeback occurs. __commit_transaction() is responsible for setting/clearing CLEAN_SHUTDOWN (based the flags_mutator that is passed in). Fix this issue, of the cache's on-disk flags being wrong, by making sure __commit_transaction() does not reset the flags after the mutator has altered the flags in preparation for them being serialized to disk. before: sb_flags = mutator(le32_to_cpu(disk_super->flags)); disk_super->flags = cpu_to_le32(sb_flags); disk_super->flags = cpu_to_le32(cmd->flags); after: disk_super->flags = cpu_to_le32(cmd->flags); sb_flags = mutator(le32_to_cpu(disk_super->flags)); disk_super->flags = cpu_to_le32(sb_flags); Reported-by: Bogdan Vasiliev <bogdan.vasiliev@xxxxxxxxx> Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 4dcb8b57df3593dcb20481d9d6cf79d1dc1534be Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Oct 22 10:56:40 2015 -0400 dm btree: fix leak of bufio-backed block in btree_split_beneath error path btree_split_beneath()'s error path had an outstanding FIXME that speaks directly to the potential for _not_ cleaning up a previously allocated bufio-backed block. Fix this by releasing the previously allocated bufio block using unlock_block(). Reported-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Joe Thornber <thornber@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2871c69e025e8bc507651d5a9cf81a8a7da9d24b Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Wed Oct 21 18:36:49 2015 +0100 dm btree remove: fix a bug when rebalancing nodes after removal Commit 4c7e309340ff ("dm btree remove: fix bug in redistribute3") wasn't a complete fix for redistribute3(). The redistribute3 function takes 3 btree nodes and shares out the entries evenly between them. If the three nodes in total contained (MAX_ENTRIES * 3) - 1 entries between them then this was erroneously getting rebalanced as (MAX_ENTRIES - 1) on the left and right, and (MAX_ENTRIES + 1) in the center. Fix this issue by being more careful about calculating the target number of entries for the left and right nodes. Unit tested in userspace using this program: https://github.com/jthornber/redistribute3-test/blob/master/redistribute3_t.c Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 302f9f6b165d6f96b4746866e5e69248523926fb Merge: 57dbe1b ed1098e Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:56:01 2015 -0700 Merge tag 'imx-defconfig-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig The i.MX defconfig updates for 4.4: - Enable i.MX6UL touchscreen controller support. - Remove CONFIG_VMSPLIT_2G option since we already enabled CONFIG_HIGHMEM support. * tag 'imx-defconfig-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v6_v7_defconfig: Remove CONFIG_VMSPLIT_2G ARM: imx_v6_v7_defconfig: enable imx6ul_tsc Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 355d1ef1adefa9bc76d0ae643aa80d611d2c2dad Merge: de0b2a5 607e266 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:51:21 2015 -0700 Merge tag 'imx-dt-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt The i.MX device tree changes for 4.4: - Add IOMUXC LPSR (Low Power State Retention) device for i.MX7D. - Add a few low power mode related devices and touch controller for i.MX6UL. - Add a number of devices for i.MX7D SDB board support, USB, Dual FEC, and eMMC5.0. - i.MX6 Boundary Devices updates: relicense under GPLv2/X11, add Okaya LCD, touch and wifi support, add new boards Nitrogen6_Lite and Nitrogen6_Max. - Enable touch screen and NAND Flash controller for a few Vybrid devices. - Some random and small updates on LS1021A and MXS support. * tag 'imx-dt-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (53 commits) ARM: dts: ls1021a: Add quirk for Erratum A009116 ARM: imx6sx-sdb: Fix typo in regulator enable GPIO property ARM: dts: imx6: phyFLEX: fix typo in "pinctrl-names" ARM: dts: imx6: change the core clock of spdif ARM: dts: vf-colibri: enable NAND flash controller ARM: dts: vf610twr: add NAND flash controller peripherial ARM: dts: imx: add Boundary Devices Nitrogen6_Lite board ARM: dts: imx: add Boundary Devices Nitrogen6_Max board ARM: dts: imx6dl-nitrogen6x: change manufacturer to Boundary Devices ARM: dts: imx6q-nitrogen6x: change manufacturer to Boundary Devices of: Add Boundary Devices Inc. vendor prefix ARM: dts: imx6qdl-sabrelite: relicense under GPLv2/X11 ARM: dts: imx6qdl-nitrogen6x: relicense under GPLv2/X11 ARM: dts: imx6qdl-nitrogen6x: add wifi wl1271 support ARM: dts: imx6dql-nitrogen6x: add touchscreen support ARM: dts: imx6qdl-sabrelite: add Okaya LCD panel ARM: dts: imx6qdl-nitrogen6x: add Okaya LCD panel ARM: dts: vf500-colibri: Add device tree node for touchscreen support ARM: dts: i.MX35: fix cpu compatible value ARM: dts: i.MX31: fix cpu compatible value ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fa54cda779ce6df60ab5cfcb2088567945c76906 Merge: 00b24d4 7f73081 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:49:47 2015 -0700 Merge tag 'imx-soc-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc The i.MX SoC updates for 4.4: - Enable suspend and cpufreq support for i.MX6UL - Add platform level ENET initialization support for i.MX7D * tag 'imx-soc-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: add cpufreq device for imx6ul ARM: imx: add enet init for i.MX7D platform ARM: imx7d: add imx7d iomux-gpr field define ARM: imx: add suspend/resume support for i.mx6ul Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit be77b38a3668306bdc0b0c8dff4660c2a8b38d8e Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Fri Oct 23 14:05:53 2015 +0800 ASoC: rt5645: Add the HWEQ for the speaker output The patch adds the HWEQ function for the speaker output. User can set the HWEQ parameters using the ALSA binary control byte-by-byte. We use the following struct array to store the HWEQ parameters for implementing as simple as possible. struct rt5645_eq_param_s { unsigned short reg; unsigned short val; }; It supports the variant length of the HWEQ parameters that are required. We add the validating function in the function "rt5645_hweq_put" of the ALSA binary control to avoid the user that puts the invalid parameters. In the HWEQ enable function of speaker event, we also add the validating function to prevent that the invalid parameters are applied to codec. The HWEQ parameters should be controlled by DAPM for a specific sequence, so the parameters will be applied to the codec in the speaker power up event of DAPM, and will be disabled in the speaker power down event of DAPM. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd5cf711ff24fde1a9f76c78a4c6e85494f571ac Merge: 25cb62b e34573c Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:25:51 2015 -0700 Merge tag 'v4.3-next-arm64' of https://github.com/mbgg/linux-mediatek into next/arm64 Correct i2c DTS node names in mt8173.dtsi. Add spi DTS node to the mt8173 and mt8173-evb. Add dts nodes for the subsystem clocks on mt8173. This includes mmsys, imgsys, vdecsys, vencsys, vencltsys. Add clock nodes to the scpsys binding, which are needed to access the registers of venc and venc_lt power domains. * tag 'v4.3-next-arm64' of https://github.com/mbgg/linux-mediatek: arm64: dts: mt8173: Add clocks for SCPSYS unit arm64: dts: mt8173: Add subsystem clock controller device nodes arm64: dts: Add spi bus dts arm64: mt8173.dtsi: correct i2c node names Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit de0b2a545c3e3115ef834c48465b4c1a559ad41c Merge: 4751424 060646a Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:24:44 2015 -0700 Merge tag 'v4.3-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt Delete regulator-compatible usage in mt8135-evbp1.dts. The regualtor-compatible binding is deprecated, instead the node name is used. Mediatek timer driver supports as well mt8127, mt8135 and mt8173. Add these SOCs to the bindings list. Power domains venc and venc_lt need clocks two extra clocks to access their registers. We update the bindings documentation about this. Update SMP bindings documentation by adding support for mt6589 and mt81xx SOCs. Update mt8127.dtsi and mt8135.dtsi to enable SMP support. * tag 'v4.3-next-dts' of https://github.com/mbgg/linux-mediatek: ARM: dts: mt8127: enable basic SMP bringup for mt8127 ARM: dts: mt8135: enable basic SMP bringup for mt8135 devicetree: bindings: add new SMP enable method Mediatek SoC dt-bindings: soc: Add clocks for Mediatek SCPSYS unit dt-bindings: add more MediaTek SoC to mtk-timer binding ARM: dts: mt8135-evbp1: remove regulator-compatible usage Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 00b24d445495af5548b163fa6b525108ac713db7 Merge: fc1f61f 0cda070 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:22:05 2015 -0700 Merge tag 'v4.3-next-soc' of https://github.com/mbgg/linux-mediatek into next/soc Do the initial setting of the pmic wrap interrupt before requesting the interrupt. This fixes the corner-case where the pmic is initialized by the bootloader, but not the pmic watchdog. Add support for active wakeup to the scpsys. This allows to keep the power of a scpsys domain during suspend state. With version v4.3 new subsystem clocks are added to the clock dirver. In late init the kernel turns off all unused clocks. This can provoke a hang if the kernel tries to access the venc and venc_lt power domain registers. Add the necessary parent clocks for this power domains to the scpsys so that no random hang happens. The bootloader of mt6589, mt8135 and mt1827 does not turn on the arm-arch-timer. As there is no opensource bootloader in the near future for this architectures we enable the arch timer at kernel boot. We need the arch timer for SMP boot. Add support for SMP on mt6589, mt8127 and mt8135. * tag 'v4.3-next-soc' of https://github.com/mbgg/linux-mediatek: ARM: mediatek: add smp bringup code ARM: mediatek: enable gpt6 on boot up to make arch timer working soc: mediatek: Fix random hang up issue while kernel init soc: mediatek: add scpsys support active_wakeup soc: mediatek: Move the initial setting of pmic wrap interrupt before requesting irq. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 57dbe1baaceacb034b4c00050f04c1a3b726e9c7 Merge: df3e690 21e29d9 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:20:34 2015 -0700 Merge tag 'sunxi-defconfig-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/defconfig Allwinner defconfig changes for 4.4 A bunch of defconfig changes to enable support for new drivers. * tag 'sunxi-defconfig-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: sunxi_defconfig: enable MODULE_UNLOAD can: Allwinner A10/A20 CAN Controller support - Defconfig can: Allwinner A10/A20 CAN Controller support - Defconfig ARM: sunxi_defconfig: Enable LRADC keys (KEYBOARD_SUN4I_LRADC) Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fc1f61f1c0b71a1c21123502c99712ad5b7d8e79 Merge: 5462b10 bef6229 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:19:36 2015 -0700 Merge tag 'sunxi-core-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/soc Allwinner core changes for 4.4 Add support for the Allwinner R8 SoC used in the CHIP. * tag 'sunxi-core-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: sunxi: Add R8 support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4751424117547546d197e99ce91e4bdc0c3a1101 Merge: d8f440b fea3755 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:19:04 2015 -0700 Merge tag 'v4.4-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt SPDIF device nodes for the newly added driver. * tag 'v4.4-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: Add SPDIF optical out on Radxa Rock2 Square ARM: dts: rockchip: Add SPDIF transceiver for RK3288 ARM: dts: rockchip: Add SPDIF optical out on Radxa Rock ARM: dts: rockchip: Add SPDIF transceiver for RK3188 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fe9990f9fd77c7fbdb875799dba79479c5e1276f Merge: 056a72a 4681347 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:18:34 2015 -0700 Merge tag 'v4.4-rockchip-drivers2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/drivers Some fixes for the new power-domain driver, including restricting Rockchip Kconfig options, fixing a possible null-pointer and a typo in the dt-bindings. * tag 'v4.4-rockchip-drivers2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: dt-bindings: Correct paths in Rockchip power domains binding document soc: rockchip: power-domain: don't try to print the clock name in error case soc: rockchip: Restrict to ARCH_ROCKCHIP Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d8f440b6aaca5e28d7fc91b357906a5c3460fdf8 Merge: 2995f0a c2aa565 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:17:27 2015 -0700 Merge tag 'sunxi-dt-for-4.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Allwinner DT changes for 4.4, round 2 More DT patches for 4.4, mostly with new boards coming in (CHIP, BananaPi M2, pcduino2), further consolidation for the q8-based designs and a bunch of random patches enhancing support for existing boards * tag 'sunxi-dt-for-4.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (27 commits) ARM: dts: sun6i: Add a dts file for the Sinovoip BPI-M2 board ARM: dts: sun6i: Add mmc2_pins_a pinmux setting to sun6i-a31.dtsi ARM: dts: sunxi: Fix interrupt-cells for [r]pio on A23/A31/A33/A80 ARM: dts: sun8i: Add NMI interrupt controller node ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus" ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names ARM: dts: sun7i: Add regulator configuration for pcDuino v3 Nano ARM: dts: sun6i: Turn on gmac on Colombus ARM: dts: sun8i: Make et-q8-v1.6.dts a symlink to q8-tablet.dts ARM: dts: sun8i: Make ippo-q8h-v*.dts a symlink to q8-tablet.dts ARM: dts: sun8i: Add sun8i-a23-q8-tablet.dts file ARM: dts: sun5i: Add backlight node to sun5i-q8-common.dtsi ARM: dts: sunxi: Enable PWM controller on Q8 format tablets ARM: dts: sun5i: Add PWM channel 0 pinmux setting for A13/A10s ARM: dts: sun5i: Add PWM controller node for A13 / A10s ARM: sun5i: Add C.H.I.P DTS ARM: dts: sunxi: Add dtsi for AXP22x PMIC ARM: dts: sun7i: Correct USB regulators on pcDuino v3 Nano ARM: sun5i: dt: Add UART3 CTS and RTS pins ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit df3e6906d361e90bfbb3b3ef127bd2b4e667e2e9 Merge: b52d232 ea592ed Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:16:12 2015 -0700 Merge tag 'mvebu-config-4.4-1' of git://git.infradead.org/linux-mvebu into next/defconfig mvebu config for 4.4 (part 1) Update the v7 defconfig witth usefull config for the Seagate NAS * tag 'mvebu-config-4.4-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: enable options for Seagate NAS in mvebu_v7_defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7b6e28c38f7cded35b8ca7e9d65bd01b45a0e8fa Merge: 7b192fb 54c0988 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:15:03 2015 -0700 Merge tag 'pxa-for-4.4' of https://github.com/rjarzmik/linux into next/cleanup This is the pxa changes for v4.4 cycle. This cycle is bigger than usual : - magician was greatly enhanced (new IPs discovered, ...) - almost all legacy board files have been updated to the new PWM API (mostly for backlight control) - some minor fixes in raumfeld, z2 and mioa701 * tag 'pxa-for-4.4' of https://github.com/rjarzmik/linux: (44 commits) ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode ARM: pxa: raumfeld: make some variables static ARM: pxa: magician: Remove pdata for pasic3-leds ARM: pxa: magician: Add support for PXA27x UDC ARM: pxa: magician: Add support for MAX1587A Vcore regulator ARM: pxa: magician: Change comments to be more informative ARM: pxa: magician: Move platform_add_devices() to the end of magician_init() ARM: pxa: magician: Add missing regulator for PWM backlight ARM: pxa: magician: Add debug message for backlight brightness function ARM: pxa: magician: Remove definition of the STUART port ARM: pxa: magician: Fix wrongly enabled USB host ports ARM: pxa: magician: Fix support for Intel Strata NOR Flash ARM: pxa: magician: Fix redundant GPIO request for pxaficp_ir ARM: pxa: magician: Fix platform data for both PXA27x I2C controllers ARM: pxa: magician: Fix and add charging detection functions ARM: pxa: magician: Optimize Samsung LCD refresh to 50Hz ARM: pxa: magician: Rename charger cable detection EGPIOs ARM: pxa: magician: Optimize powerup delays for Samsung LCD ARM: pxa: magician: Rename abstract LCD GPIOs ARM: pxa: magician: Add new discovered EGPIO pins ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 056a72a5597e0f3e06260d0b21feb99296f77427 Merge: 825294c 79b04be Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 09:57:16 2015 -0700 Merge branch 'drivers/psci2' into next/drivers * drivers/psci2: drivers: psci: make PSCI 1.0 functions initialization version dependent Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 79b04beb1e0ac7754e667f0aa47b57a197dc343a Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Fri Oct 23 15:46:50 2015 +0100 drivers: psci: make PSCI 1.0 functions initialization version dependent The PSCI specifications [1] and the SMC calling convention mandate that unimplemented functions ids must return NOT_SUPPORTED (0xffffffff) if a function id is called but it is not implemented. Consequently, PSCI 1.0 function ids that require the 1.0 PSCI_FEATURES call to be initialized: CPU_SUSPEND (psci_init_cpu_suspend()) SYSTEM_SUSPEND (psci_init_system_suspend()) call the PSCI_FEATURES function id independently of the detected PSCI firmware version, since, if the PSCI_FEATURES function id is not implemented, it must return NOT_SUPPORTED according to the PSCI specifications, causing the initialization functions to fail as expected. Some existing PSCI implementations (ie Qemu PSCI emulation), do not comply with the SMC calling convention and fail if function ids that are not implemented are called from the OS, causing boot failures. To solve this issue, this patch adds code that checks the PSCI firmware version before calling PSCI 1.0 initialization functions so that the OS makes sure that it is calling 1.0 functions only if the firmware version detected is 1.0 or greater, therefore avoiding PSCI calls that are bound to fail and might cause system boot failures owing to non-compliant PSCI firmware implementations. [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0022c/DEN0022C_Power_State_Coordination_Interface.pdf Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ce055fe3329e9dece4fb676c8cf7331748b07d32 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 22 14:17:21 2015 -0400 drm/amdgpu/dce11: optimize pageflip Taking the grph update lock is only necessary when updating the the secondary address (for single pipe stereo). Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 0eaaacab038ec03c010cd820554cfa6d1a93cd78 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 22 14:16:57 2015 -0400 drm/amdgpu/dce10: optimize pageflip Taking the grph update lock is only necessary when updating the the secondary address (for single pipe stereo). Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 82326860b3ee58db33536a3e29675e28603f661c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 22 14:08:35 2015 -0400 drm/amdgpu/dce8: optimize pageflip Taking the grph update lock is only necessary when updating the the secondary address (for single pipe stereo). Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 6d69bb536bac0d403d83db1ca841444981b280cd Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Sun Oct 11 19:38:00 2015 +0200 rbd: prevent kernel stack blow up on rbd map Mapping an image with a long parent chain (e.g. image foo, whose parent is bar, whose parent is baz, etc) currently leads to a kernel stack overflow, due to the following recursion in the reply path: rbd_osd_req_callback() rbd_obj_request_complete() rbd_img_obj_callback() rbd_img_parent_read_callback() rbd_obj_request_complete() ... Limit the parent chain to 16 images, which is ~5K worth of stack. When the above recursion is eliminated, this limit can be lifted. Fixes: http://tracker.ceph.com/issues/12538 Cc: stable@xxxxxxxxxxxxxxx # 3.10+, needs backporting for < 4.2 Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Josh Durgin <jdurgin@xxxxxxxxxx> commit 1f2c6651f69c14d0d3a9cfbda44ea101b02160ba Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Sun Oct 11 19:38:00 2015 +0200 rbd: don't leak parent_spec in rbd_dev_probe_parent() Currently we leak parent_spec and trigger a "parent reference underflow" warning if rbd_dev_create() in rbd_dev_probe_parent() fails. The problem is we take the !parent out_err branch and that only drops refcounts; parent_spec that would've been freed had we called rbd_dev_unparent() remains and triggers rbd_warn() in rbd_dev_parent_put() - at that point we have parent_spec != NULL and parent_ref == 0, so counter ends up being -1 after the decrement. Redo rbd_dev_probe_parent() to fix this. Cc: stable@xxxxxxxxxxxxxxx # 3.10+, needs backporting for < 4.2 Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 6abca1d71b62090821240ee2a4507c94ddd144e9 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:42 2015 +0530 ASoC: Intel: Skylake: Add support to topology for module static pin Some module pin connection are static and defined by the topology. This patch adds support for static pin definitions in topology widget private data Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bfa764accdea017b1c557f43fa5f2c77a0dc3b15 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:41 2015 +0530 ASoC: Intel: Skylake: Fix to set Non gateway copier cfg If copier instance is connected to a DMA gateway then driver needs to configure the gateway configuration otherwise set it to invalid. This patch sets the non gateway copier node value to invalid. Signed-off-by: Dharageswari.R <dharageswari.r@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 2ac454ffe6c2cb923711edc8027bbc0e782be457 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:40 2015 +0530 ASoC: Intel: Skylake: Fix to check return value of dsp init If DSP initialization fails, ipc to disable notification will cause NULL ptr exception as ipc is not initialized. This patch returns error if dsp init fails before sending disable notification ipc. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4e10996ba810031a493d903539f595e053826103 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:39 2015 +0530 ASoC: Intel: Skylake: Add support to disable module notifications Each FW modules can report underrun/overrun notification from all modules. This patch disables underrun/overrun notification after firmware is loaded. This will be supportted for debug mode only thru debugfs Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d7b188131c4823a85d17b992083bf8a8c32a2be3 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:38 2015 +0530 ASoC: Intel: Skylake: Update for ssp node index in copier cfg DSP firmware has interface change for SSP node index structure. New FW interface removes the dual_mono field and adds 4 bits for TDM slot group index. This patch updates the ssp dma to align with the DSP firmware structure. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d8adccb220ca270cfcdd80752618095fdc9990c Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Oct 22 23:22:37 2015 +0530 ASoC: Intel: Skylake: Fix to fill all sink/source pipe params Currently params only for first copier widget identified in the source/sink path is queried from NHLT. In the dapm route the playback/capture widget may be connected to more than one copier widget. This patch adds return check to return only for any error case. 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 f0900eb213e0f6f37e1567531f9604b9bed6771d Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Oct 22 23:22:36 2015 +0530 ASoC: Intel: Skylake: Fix to use correct macros for the path iteration In case of playback, for the BE dai source path should be iterated to find the pipe params. With sink path iterated, this resulted in a loop and kernel panic with page request failure. Similar are the cases for Capture and FE dais. Using correct macros to fix the panic 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 bc03281a5c706f6372dfc2100b04aa4055a15c88 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:35 2015 +0530 ASoC: Intel: Skylake: Remove BE copier blob memcpy The BE copier private data allowed endpoint configuration blobs, now these are queried from BIOS, we don't need to copy the blob, but only capability. Removing the blob from private data will not allocate memory for module specific config in which case memcpy will fail. Fix is to assign the ptr queried from the NHLT table for the endpoint configuration. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9270b7b92615324ecda2b3fa0be98b4ab6c3e361 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:34 2015 +0530 ASoC: Intel: Skylake: Fix return for pm_runtime_get_sync() pm_runtime_get_sync() will return a negative value in case of error and can return postive value for success. The return check for pm_runtime_get_sync() must be less than 0, so fix it Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 97d56dc6826896852dae1a2bdab7a42ecde32c6f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 22 18:59:23 2015 +0200 spi: fix kernel-doc warnings about missing return desc in spi.c When building docs with make htmldocs, warnings about not having a description for the return value are reported, i.e: warning: No description found for return value of 'spi_register_driver' Fix these by following the kernel-doc conventions explained in Documentation/kernel-doc-nano-HOWTO.txt. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a1fdeaa71c95e5c6eba40245f84f762202dc69bb Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 22 18:59:22 2015 +0200 spi: fix kernel-doc warnings about missing return desc in spi.h When building docs with make htmldocs, warnings about not having a description for the return value are reported, i.e: warning: No description found for return value of 'spi_write' Fix these by following the kernel-doc conventions explained in Documentation/kernel-doc-nano-HOWTO.txt. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0dc9631221c95cc5ba31c115bf21c9b156aab253 Merge: 7379047 243f07b 6b7bc06 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Oct 24 01:28:29 2015 +0900 Merge branches 'topic/core' and 'topic/stats' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-doc commit 9d2ea95a599a80b08cc802f044626ea2701aade9 Author: Vincent Donnefort <vdonnefort@xxxxxxxxx> Date: Fri Oct 23 12:59:58 2015 +0200 ARM: mvebu: add broken-idle option The broken-idle option can be activated from the coherency-fabric DT node. This property allows to disable the idle capability, when the hardware doesn't support it, like the Seagate Personal Cloud boards. Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 4904dbda41c860fd117b20f3c48adb2780eee37e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 2 17:12:33 2015 +0300 ARM: orion5x: use mac_pton() helper Instead of custom approach let's use generic helper function. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Detlef Vollmann <dv@xxxxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Tested-by: Detlef Vollmann <dv@xxxxxxxxxxx> #on DNS-323 Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit c86f5ebfbd147d1a228ab89ee1658e18939bd7ad Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 23 10:45:14 2015 -0400 drm/amdgpu: don't try to recreate sysfs entries on resume Fixes an error on resume caused by: fa022a9b65d2886486a022fd66b20c823cd76ad9 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 49abb26651167c892393cd9f2ad23df429645ed9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 23 10:38:52 2015 -0400 drm/radeon: don't try to recreate sysfs entries on resume Fixes a harmless error message caused by: 51a4726b04e880fdd9b4e0e58b13f70b0a68a7f5 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5c92d87d30b23844e6998d8318e4c19ee3a907ac Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Oct 21 21:58:28 2015 +0200 drm/amdgpu: stop leaking page flip fence reservation_object_get_fences_rcu already takes the references. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit bf7958607d0b792e0c43482c0c78786023a69832 Merge: e74f510 8443c1a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 23 06:58: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-10-23 This series contains updates to i40e, i40evf, if_link, ixgbe and ixgbevf. Anjali adds a workaround to drop any flow control frames from being transmitted from any VSI, so that a malicious VF cannot send flow control or PFC packets out on the wire. Also fixed a bug in debugfs by grabbing the filter list lock before adding or deleting a filter. Akeem fixes an issue where we were unconditionally returning VEB bridge mode before allowing LB in the add VSI routine, resolve by checking if the bridge is actually in VEB mode first. Mitch fixed an issue where the incorrect structure was being used for VLAN filter list, which meant the VLAN filter list did not get processed correctly and VLAN filters would not be re-enabled after any kind of reset. Helin fixed a problem of possibly getting inconsistent flow control status after a PF reset. The issue was requested_mode was being set with a default value during probe, but the hardware state could be a different value from this mode. Carolyn fixed a problem where the driver output of the OEM version string varied from the other tools. Jean Sacren fixes up kernel documentation by fixing function header comments to match actual variables used in the functions. Also cleaned up variable initialization, when the variable would be over-written immediately. Hiroshi Shimanoto provides three patches to add "trusted" VF by adding netlink directives and an NDO entry. Then implement these new controls in ixgbe and ixgbevf. This series has gone through several iterations to address all the suggested community changes and concerns. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03867292476e6fa7679395838d768dda0a0816c7 Merge: df55793 f7d27c3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 22:34:32 2015 +0900 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Ingo Molnar: "Misc fixes: two KASAN fixes, two EFI boot fixes, two boot-delay optimization fixes, and a fix for a IRQ handling hang observed on virtual platforms" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm, kasan: Silence KASAN warnings in get_wchan() compiler, atomics, kasan: Provide READ_ONCE_NOCHECK() x86, kasan: Fix build failure on KASAN=y && KMEMCHECK=y kernels x86/smpboot: Fix CPU #1 boot timeout x86/smpboot: Fix cpu_init_udelay=10000 corner case boot parameter misbehavior x86/ioapic: Disable interrupts when re-routing legacy IRQs x86/setup: Extend low identity map to cover whole kernel range x86/efi: Fix multiple GOP device support commit df55793680d36e37e6fc384fbd90c39ed83cbe75 Merge: 9f30931 0aaafaa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 22:31:39 2015 +0900 Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fixes from Ingo Molnar: "Misc fixes all around the map: an instrumentation fix, a nohz usability fix, a lockdep annotation fix and two task group scheduling fixes" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/core: Add missing lockdep_unpin() annotations sched/deadline: Fix migration of SCHED_DEADLINE tasks nohz: Revert "nohz: Set isolcpus when nohz_full is set" sched/fair: Update task group's load_avg after task migration sched/fair: Fix overly small weight for interactive group entities sched, tracing: Stop/start critical timings around the idle=poll idle loop commit e74f51056a167036f9168fb8d04b9e16ea12af43 Merge: 654c9c5 1c78efa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 23 06:26:50 2015 -0700 Merge branch 'mpls_multipath' Roopa Prabhu says: ==================== mpls: multipath support This patch adds support for MPLS multipath routes. Includes following changes to support multipath: - splits struct mpls_route into 'struct mpls_route + struct mpls_nh'. - struct mpls_nh represents a mpls nexthop label forwarding entry - Adds support to parse/fill RTA_MULTIPATH netlink attribute for multipath routes similar to ipv4/v6 fib - In the process of restructuring, this patch also consistently changes all labels to u8 $ip -f mpls route add 100 nexthop as 200 via inet 10.1.1.2 dev swp1 \ nexthop as 700 via inet 10.1.1.6 dev swp2 \ nexthop as 800 via inet 40.1.1.2 dev swp3 $ip -f mpls route show 100 nexthop as to 200 via inet 10.1.1.2 dev swp1 nexthop as to 700 via inet 10.1.1.6 dev swp2 nexthop as to 800 via inet 40.1.1.2 dev swp3 ==================== Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c78efa8319cad2f10f421afa627745fb4d9b29f Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Fri Oct 23 06:03:28 2015 -0700 mpls: flow-based multipath selection Change the selection of a multipath route to use a flow-based hash. This more suitable for traffic sensitive to reordering within a flow (e.g. TCP, L2VPN) and whilst still allowing a good distribution of traffic given enough flows. Selection of the path for a multipath route is done using a hash of: 1. Label stack up to MAX_MP_SELECT_LABELS labels or up to and including entropy label, whichever is first. 2. 3-tuple of (L3 src, L3 dst, proto) from IPv4/IPv6 header in MPLS payload, if present. Naturally, a 5-tuple hash using L4 information in addition would be possible and be better in some scenarios, but there is a tradeoff between looking deeper into the packet to achieve good distribution, and packet forwarding performance, and I have erred on the side of the latter as the default. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8efb73c97e2fa0abbe2e07c5c5df07800312643 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 06:03:27 2015 -0700 mpls: multipath route support This patch adds support for MPLS multipath routes. Includes following changes to support multipath: - splits struct mpls_route into 'struct mpls_route + struct mpls_nh' - 'struct mpls_nh' represents a mpls nexthop label forwarding entry - moves mpls route and nexthop structures into internal.h - A mpls_route can point to multiple mpls_nh structs - the nexthops are maintained as a array (similar to ipv4 fib) - In the process of restructuring, this patch also consistently changes all labels to u8 - Adds support to parse/fill RTA_MULTIPATH netlink attribute for multipath routes similar to ipv4/v6 fib - In this patch, the multipath route nexthop selection algorithm simply returns the first nexthop. It is replaced by a hash based algorithm from Robert Shearman in the next patch - mpls_route_update cleanup: remove 'dev' handling in mpls_route_update. mpls_route_update though implemented to update based on dev, it was never used that way. And the dev handling gets tricky with multiple nexthops. Cannot match against any single nexthops dev. So, this patch removes the unused 'dev' handling in mpls_route_update. - dead route/path handling will be implemented in a subsequent patch Example: $ip -f mpls route add 100 nexthop as 200 via inet 10.1.1.2 dev swp1 \ nexthop as 700 via inet 10.1.1.6 dev swp2 \ nexthop as 800 via inet 40.1.1.2 dev swp3 $ip -f mpls route show 100 nexthop as to 200 via inet 10.1.1.2 dev swp1 nexthop as to 700 via inet 10.1.1.6 dev swp2 nexthop as to 800 via inet 40.1.1.2 dev swp3 Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce9d9b8e5c2b7486edf76958bcdb5e6534a915b0 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 23 20:59:49 2015 +0800 net: sysctl: fix a kmemleak warning the returned buffer of register_sysctl() is stored into net_header variable, but net_header is not used after, and compiler maybe optimise the variable out, and lead kmemleak reported the below warning comm "swapper/0", pid 1, jiffies 4294937448 (age 267.270s) hex dump (first 32 bytes): 90 38 8b 01 c0 ff ff ff 00 00 00 00 01 00 00 00 .8.............. 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffc00020f134>] create_object+0x10c/0x2a0 [<ffffffc00070ff44>] kmemleak_alloc+0x54/0xa0 [<ffffffc0001fe378>] __kmalloc+0x1f8/0x4f8 [<ffffffc00028e984>] __register_sysctl_table+0x64/0x5a0 [<ffffffc00028eef0>] register_sysctl+0x30/0x40 [<ffffffc00099c304>] net_sysctl_init+0x20/0x58 [<ffffffc000994dd8>] sock_init+0x10/0xb0 [<ffffffc0000842e0>] do_one_initcall+0x90/0x1b8 [<ffffffc000966bac>] kernel_init_freeable+0x218/0x2f0 [<ffffffc00070ed6c>] kernel_init+0x1c/0xe8 [<ffffffc000083bfc>] ret_from_fork+0xc/0x50 [<ffffffffffffffff>] 0xffffffffffffffff <<end check kmemleak>> Before fix, the objdump result on ARM64: 0000000000000000 <net_sysctl_init>: 0: a9be7bfd stp x29, x30, [sp,#-32]! 4: 90000001 adrp x1, 0 <net_sysctl_init> 8: 90000000 adrp x0, 0 <net_sysctl_init> c: 910003fd mov x29, sp 10: 91000021 add x1, x1, #0x0 14: 91000000 add x0, x0, #0x0 18: a90153f3 stp x19, x20, [sp,#16] 1c: 12800174 mov w20, #0xfffffff4 // #-12 20: 94000000 bl 0 <register_sysctl> 24: b4000120 cbz x0, 48 <net_sysctl_init+0x48> 28: 90000013 adrp x19, 0 <net_sysctl_init> 2c: 91000273 add x19, x19, #0x0 30: 9101a260 add x0, x19, #0x68 34: 94000000 bl 0 <register_pernet_subsys> 38: 2a0003f4 mov w20, w0 3c: 35000060 cbnz w0, 48 <net_sysctl_init+0x48> 40: aa1303e0 mov x0, x19 44: 94000000 bl 0 <register_sysctl_root> 48: 2a1403e0 mov w0, w20 4c: a94153f3 ldp x19, x20, [sp,#16] 50: a8c27bfd ldp x29, x30, [sp],#32 54: d65f03c0 ret After: 0000000000000000 <net_sysctl_init>: 0: a9bd7bfd stp x29, x30, [sp,#-48]! 4: 90000000 adrp x0, 0 <net_sysctl_init> 8: 910003fd mov x29, sp c: a90153f3 stp x19, x20, [sp,#16] 10: 90000013 adrp x19, 0 <net_sysctl_init> 14: 91000000 add x0, x0, #0x0 18: 91000273 add x19, x19, #0x0 1c: f90013f5 str x21, [sp,#32] 20: aa1303e1 mov x1, x19 24: 12800175 mov w21, #0xfffffff4 // #-12 28: 94000000 bl 0 <register_sysctl> 2c: f9002260 str x0, [x19,#64] 30: b40001a0 cbz x0, 64 <net_sysctl_init+0x64> 34: 90000014 adrp x20, 0 <net_sysctl_init> 38: 91000294 add x20, x20, #0x0 3c: 9101a280 add x0, x20, #0x68 40: 94000000 bl 0 <register_pernet_subsys> 44: 2a0003f5 mov w21, w0 48: 35000080 cbnz w0, 58 <net_sysctl_init+0x58> 4c: aa1403e0 mov x0, x20 50: 94000000 bl 0 <register_sysctl_root> 54: 14000004 b 64 <net_sysctl_init+0x64> 58: f9402260 ldr x0, [x19,#64] 5c: 94000000 bl 0 <unregister_sysctl_table> 60: f900227f str xzr, [x19,#64] 64: 2a1503e0 mov w0, w21 68: f94013f5 ldr x21, [sp,#32] 6c: a94153f3 ldp x19, x20, [sp,#16] 70: a8c37bfd ldp x29, x30, [sp],#48 74: d65f03c0 ret Add the possible error handle to free the net_header to remove the kmemleak warning Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb9644bf3b549d20656cca02e8a6332c67cf37d6 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu Oct 22 16:22:46 2015 +0000 xen/arm: don't try to re-register vcpu_info on cpu_hotplug. Call disable_percpu_irq on CPU_DYING and enable_percpu_irq when the cpu is coming up. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Julien Grall <julien.grall@xxxxxxxxxx> commit 1c7a62137bb23bc8a2c05d1dad6105afa569b20e Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu Oct 22 16:21:46 2015 +0000 xen, cpu_hotplug: call device_offline instead of cpu_down When offlining a cpu, instead of cpu_down, call device_offline, which also takes care of updating the cpu.dev.offline field. This keeps the sysfs file /sys/devices/system/cpu/cpuN/online, up to date. Also move the call to disable_hotplug_cpu, because it makes more sense to have it there. We don't call device_online at cpu-hotplug time, because that would immediately take the cpu online, while we want to retain the current behaviour: the user needs to explicitly enable the cpu after it has been hotplugged. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> CC: konrad.wilk@xxxxxxxxxx CC: boris.ostrovsky@xxxxxxxxxx CC: david.vrabel@xxxxxxxxxx commit a314e3eb845389b8f68130c79a63832229dea87b Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu Oct 22 16:20:46 2015 +0000 xen/arm: Enable cpu_hotplug.c Build cpu_hotplug for ARM and ARM64 guests. Rename arch_(un)register_cpu to xen_(un)register_cpu and provide an empty implementation on ARM and ARM64. On x86 just call arch_(un)register_cpu as we are already doing. Initialize cpu_hotplug on ARM. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> commit 89bf4b4e4a8d9ab219cd03aada24e782cf0ac359 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Oct 13 17:50:13 2015 +0100 xenbus: Support multiple grants ring with 64KB The PV ring may use multiple grants and expect them to be mapped contiguously in the virtual memory. Although, the current code is relying on a Linux page will be mapped to a single grant. On build where Linux is using a different page size than the grant (i.e other than 4KB), the grant will always be mapped on the first 4KB of each Linux page which make the final ring not contiguous in the memory. This can be fixed by mapping multiple grant in a same Linux page. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit f73314b28148f9ee9f89a0ae961c8fb36e3269fa Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Oct 13 17:50:12 2015 +0100 xen/grant-table: Add an helper to iterate over a specific number of grants With the 64KB page granularity support on ARM64, a Linux page may be split accross multiple grant. Currently we have the helper gnttab_foreach_grant_in_grant to break a Linux page based on an offset and a len, but it doesn't fit when we only have a number of grants in hand. Introduce a new helper which take an array of Linux page and a number of grant and will figure out the address of each grant. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 9cce2914e2b21339dca12c91dc9f35790366cc4c Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Oct 13 17:50:11 2015 +0100 xen/xenbus: Rename *RING_PAGE* to *RING_GRANT* Linux may use a different page size than the size of grant. So make clear that the order is actually in number of grant. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d5f985c834fbfdedcb629b009ba272ad50add5ac Author: Juergen Gross <jgross@xxxxxxxx> Date: Mon Sep 14 15:20:52 2015 +0200 xen/arm: correct comment in enlighten.c Correct a comment in arch/arm/xen/enlighten.c referencing a wrong source file. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a36012be64e65760d208c23ea68dc12a895001d8 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:56:08 2015 +0200 xen/gntdev: use types from linux/types.h in userspace headers __u32, __u64 etc. are preferred for userspace API headers. Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 91afb7c373e881d5038a78e1206a0f6469440ec3 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:56:07 2015 +0200 xen/gntalloc: use types from linux/types.h in userspace headers __u32, __u64 etc. are preferred for userspace API headers. Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 3990dd27034606312429a09c807ea74a6ec32dde Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Oct 7 14:04:33 2015 +0100 xen/balloon: Use the correct sizeof when declaring frame_list The type of the item in frame_list is xen_pfn_t which is not an unsigned long on ARM but an uint64_t. With the current computation, the size of frame_list will be 2 * PAGE_SIZE rather than PAGE_SIZE. I bet it's just mistake when the type has been switched from "unsigned long" to "xen_pfn_t" in commit 965c0aaafe3e75d4e65cd4ec862915869bde3abd "xen: balloon: use correct type for frame_list". Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 9435cce87950d805e6c8315410f2cb8ff6b2c6a2 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 9 15:18:45 2015 +0100 xen/swiotlb: Add support for 64KB page granularity Swiotlb is used on ARM64 to support DMA on platform where devices are not protected by an SMMU. Furthermore it's only enabled for DOM0. While Xen is always using 4KB page granularity in the stage-2 page table, Linux ARM64 may either use 4KB or 64KB. This means that a Linux page can be spanned accross multiple Xen page. The Swiotlb code has to validate that the buffer used for DMA is physically contiguous in the memory. As a Linux page can't be shared between local memory and foreign page by design (the balloon code always removing entirely a Linux page), the changes in the code are very minimal because we only need to check the first Xen PFN. Note that it may be possible to optimize the function check_page_physically_contiguous to avoid looping over every Xen PFN for local memory. Although I will let this optimization for a follow-up. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 291be10fd7511101d44cf98166d049bd31bc7600 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 9 15:17:33 2015 +0100 xen/swiotlb: Pass addresses rather than frame numbers to xen_arch_need_swiotlb With 64KB page granularity support, the frame number will be different. It will be easier to modify the behavior in a single place rather than in each caller. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 250c9af3d831139317009eaebbe82e20d23a581f Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:36:56 2015 +0100 arm/xen: Add support for 64KB page granularity The hypercall interface is always using 4KB page granularity. This is requiring to use xen page definition macro when we deal with hypercall. Note that pfn_to_gfn is working with a Xen pfn (i.e 4KB). We may want to rename pfn_gfn to make this explicit. We also allocate a 64KB page for the shared page even though only the first 4KB is used. I don't think this is really important for now as it helps to have the pointer 4KB aligned (XENMEM_add_to_physmap is taking a Xen PFN). Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5995a68a6272e4e8f4fe4de82cdc877e650fe8be Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:54:12 2015 +0100 xen/privcmd: Add support for Linux 64KB page granularity The hypercall interface (as well as the toolstack) is always using 4KB page granularity. When the toolstack is asking for mapping a series of guest PFN in a batch, it expects to have the page map contiguously in its virtual memory. When Linux is using 64KB page granularity, the privcmd driver will have to map multiple Xen PFN in a single Linux page. Note that this solution works on page granularity which is a multiple of 4KB. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d0089e8a0e4c9723d85b01713671358e3d6960df Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 13:15:29 2015 +0100 net/xen-netback: Make it running on 64KB page granularity The PV network protocol is using 4KB page granularity. The goal of this patch is to allow a Linux using 64KB page granularity working as a network backend on a non-modified Xen. It's only necessary to adapt the ring size and break skb data in small chunk of 4KB. The rest of the code is relying on the grant table code. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 30c5d7f0da82f55c86c0a09bf21c0623474bb17f Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Apr 10 14:42:21 2015 +0100 net/xen-netfront: Make it running on 64KB page granularity The PV network protocol is using 4KB page granularity. The goal of this patch is to allow a Linux using 64KB page granularity using network device on a non-modified Xen. It's only necessary to adapt the ring size and break skb data in small chunk of 4KB. The rest of the code is relying on the grant table code. Note that we allocate a Linux page for each rx skb but only the first 4KB is used. We may improve the memory usage by extending the size of the rx skb. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 67de5dfbc176ea86ab0278658b5d55f64207ff2d Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:25:56 2015 +0100 block/xen-blkback: Make it running on 64KB page granularity The PV block protocol is using 4KB page granularity. The goal of this patch is to allow a Linux using 64KB page granularity behaving as a block backend on a non-modified Xen. It's only necessary to adapt the ring size and the number of request per indirect frames. The rest of the code is relying on the grant table code. Note that the grant table code is allocating a Linux page per grant which will result to waste 6OKB for every grant when Linux is using 64KB page granularity. This could be improved by sharing the page between multiple grants. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: "Roger Pau Monné" <roger.pau@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit c004a6fe0c405e2aa91b2a88aa1428724e6d06f6 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Jul 22 16:44:54 2015 +0100 block/xen-blkfront: Make it running on 64KB page granularity The PV block protocol is using 4KB page granularity. The goal of this patch is to allow a Linux using 64KB page granularity using block device on a non-modified Xen. The block API is using segment which should at least be the size of a Linux page. Therefore, the driver will have to break the page in chunk of 4K before giving the page to the backend. When breaking a 64KB segment in 4KB chunks, it is possible that some chunks are empty. As the PV protocol always require to have data in the chunk, we have to count the number of Xen page which will be in use and avoid sending empty chunks. Note that, a pre-defined number of grants are reserved before preparing the request. This pre-defined number is based on the number and the maximum size of the segments. If each segment contains a very small amount of data, the driver may reserve too many grants (16 grants is reserved per segment with 64KB page granularity). Furthermore, in the case of persistent grants we allocate one Linux page per grant although only the first 4KB of the page will be effectively in use. This could be improved by sharing the page with multiple grants. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5ed5451d997f7a86c62a5557efc00dc3836dc559 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:37:49 2015 +0100 xen/grant-table: Make it running on 64KB granularity The Xen interface is using 4KB page granularity. This means that each grant is 4KB. The current implementation allocates a Linux page per grant. On Linux using 64KB page granularity, only the first 4KB of the page will be used. We could decrease the memory wasted by sharing the page with multiple grant. It will require some care with the {Set,Clear}ForeignPage macro. Note that no changes has been made in the x86 code because both Linux and Xen will only use 4KB page granularity. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a001c9d95c4ea96589461d58e77c96416a303e2c Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:37:30 2015 +0100 xen/events: fifo: Make it running on 64KB granularity Only use the first 4KB of the page to store the events channel info. It means that we will waste 60KB every time we allocate page for: * control block: a page is allocating per CPU * event array: a page is allocating everytime we need to expand it I think we can reduce the memory waste for the 2 areas by: * control block: sharing between multiple vCPUs. Although it will require some bookkeeping in order to not free the page when the CPU goes offline and the other CPUs sharing the page still there * event array: always extend the array event by 64K (i.e 16 4K chunk). That would require more care when we fail to expand the event channel. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 30756c62997822894fb34e2114f5dc727a12af30 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Mon May 4 15:39:08 2015 +0100 xen/balloon: Don't rely on the page granularity is the same for Xen and Linux For ARM64 guests, Linux is able to support either 64K or 4K page granularity. Although, the hypercall interface is always based on 4K page granularity. With 64K page granularity, a single page will be spread over multiple Xen frame. To avoid splitting the page into 4K frame, take advantage of the extent_order field to directly allocate/free chunk of the Linux page size. Note that PVMMU is only used for PV guest (which is x86) and the page granularity is always 4KB. Some BUILD_BUG_ON has been added to ensure that because the code has not been modified. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 9652c08012580c9961c77fc8726a877e0d437324 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:58:43 2015 +0100 tty/hvc: xen: Use xen page definition The console ring is always based on the page granularity of Xen. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 7d567928db59cb249e5539ebb63890e24431669a Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:38:27 2015 +0100 xen/xenbus: Use Xen page definition All the ring (xenstore, and PV rings) are always based on the page granularity of Xen. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 36f8abd36febf1c6f67dae26ec7a87be44629138 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Mon May 11 13:44:21 2015 +0100 xen/biomerge: Don't allow biovec's to be merged when Linux is not using 4KB pages On ARM all dma-capable devices on a same platform may not be protected by an IOMMU. The DMA requests have to use the BFN (i.e MFN on ARM) in order to use correctly the device. While the DOM0 memory is allocated in a 1:1 fashion (PFN == MFN), grant mapping will screw this contiguous mapping. When Linux is using 64KB page granularitary, the page may be split accross multiple non-contiguous MFN (Xen is using 4KB page granularity). Therefore a DMA request will likely fail. Checking that a 64KB page is using contiguous MFN is tedious. For now, always says that biovec are not mergeable. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4f503fbdf319e4411aa48852b8922c93a9cc0c5d Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Jul 1 14:10:38 2015 +0100 block/xen-blkfront: split get_grant in 2 Prepare the code to support 64KB page granularity. The first implementation will use a full Linux page per indirect and persistent grant. When non-persistent grant is used, each page of a bio request may be split in multiple grant. Furthermore, the field page of the grant structure is only used to copy data from persistent grant or indirect grant. Avoid to set it for other use case as it will have no meaning given the page will be split in multiple grant. Provide 2 functions, to setup indirect grant, the other for bio page. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a7a6df222351de23791bb64165f14c21ff4d1653 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Jun 30 11:58:51 2015 +0100 block/xen-blkfront: Store a page rather a pfn in the grant structure All the usage of the field pfn are done using the same idiom: pfn_to_page(grant->pfn) This will return always the same page. Store directly the page in the grant to clean up the code. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 33204663ef85d9ce79009b2246afe6a2fef8eb1b Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Mon Jun 29 17:35:24 2015 +0100 block/xen-blkfront: Split blkif_queue_request in 2 Currently, blkif_queue_request has 2 distinct execution path: - Send a discard request - Send a read/write request The function is also allocating grants to use for generating the request. Although, this is only used for read/write request. Rather than having a function with 2 distinct execution path, separate the function in 2. This will also remove one level of tabulation. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 3922f32c1e6db2e096ff095a5b8af0b940b97508 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Jun 19 18:05:06 2015 +0100 xen/grant: Add helper gnttab_page_grant_foreign_access_ref_one Many PV drivers contain the idiom: pfn = page_to_gfn(...) /* Or similar */ gnttab_grant_foreign_access_ref Replace it by a new helper. Note that when Linux is using a different page granularity than Xen, the helper only gives access to the first 4KB grant. This is useful where drivers are allocating a full Linux page for each grant. Also include xen/interface/grant_table.h rather than xen/grant_table.h in asm/page.h for x86 to fix a compilation issue [1]. Only the former is useful in order to get the structure definition. [1] Interdependency between asm/page.h and xen/grant_table.h which result to page_mfn not being defined when necessary. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 008c320a96d218712043f8db0111d5472697785c Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Jun 19 17:49:03 2015 +0100 xen/grant: Introduce helpers to split a page into grant Currently, a grant is always based on the Xen page granularity (i.e 4KB). When Linux is using a different page granularity, a single page will be split between multiple grants. The new helpers will be in charge of splitting the Linux page into grants and call a function given by the caller on each grant. Also provide an helper to count the number of grants within a given contiguous region. Note that the x86/include/asm/xen/page.h is now including xen/interface/grant_table.h rather than xen/grant_table.h. It's necessary because xen/grant_table.h depends on asm/xen/page.h and will break the compilation. Furthermore, only definition in interface/grant_table.h is required. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 1084b1988d22dc165c9dbbc2b0e057f9248ac4db Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Mon May 4 15:47:16 2015 +0100 xen: Add Xen specific page definition The Xen hypercall interface is always using 4K page granularity on ARM and x86 architecture. With the incoming support of 64K page granularity for ARM64 guest, it won't be possible to re-use the Linux page definition in Xen drivers. Introduce Xen page definition helpers based on the Linux page definition. They have exactly the same name but prefixed with XEN_/xen_ prefix. Also modify xen_page_to_gfn to use new Xen page definition. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5031612b5eaf15cb6471c6e936a515090810c8f1 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Jul 21 17:57:20 2015 +0100 arm/xen: Drop pte_mfn and mfn_pte They are not used in common code expect in one place in balloon.c which is only compiled when Linux is using PV MMU. It's not the case on ARM. Rather than worrying how to handle the 64KB case, drop them. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a0f2e80fcd3b6b1369527828b02caab01af60c36 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Jun 24 18:03:14 2015 +0100 net/xen-netback: xenvif_gop_frag_copy: move GSO check out of the loop The skb doesn't change within the function. Therefore it's only necessary to check if we need GSO once at the beginning. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4a69c909deb0dd3cae653d14ac0ff52d5440a19c Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Jul 22 14:50:37 2015 +0100 xen/balloon: pre-allocate p2m entries for ballooned pages Pages returned by alloc_xenballooned_pages() will be used for grant mapping which will call set_phys_to_machine() (in PV guests). Ballooned pages are set as INVALID_P2M_ENTRY in the p2m and thus may be using the (shared) missing tables and a subsequent set_phys_to_machine() will need to allocate new tables. Since the grant mapping may be done from a context that cannot sleep, the p2m entries must already be allocated. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> commit 8edfcf882eb91ec9028c7334f90f6ef3db5b0fcf Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Jul 22 14:48:09 2015 +0100 x86/xen: export xen_alloc_p2m_entry() Rename alloc_p2m() to xen_alloc_p2m_entry() and export it. This is useful for ensuring that a p2m entry is allocated (i.e., not a shared missing or identity entry) so that subsequent set_phys_to_machine() calls will require no further allocations. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- v3: - Make xen_alloc_p2m_entry() a nop on auto-xlate guests. commit 1cf6a6c82918c9aad4bb73a7e7379a649e4d8e50 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 16:29:18 2015 +0100 xen/balloon: use hotplugged pages for foreign mappings etc. alloc_xenballooned_pages() is used to get ballooned pages to back foreign mappings etc. Instead of having to balloon out real pages, use (if supported) hotplugged memory. This makes more memory available to the guest and reduces fragmentation in the p2m. This is only enabled if the xen.balloon.hotplug_unpopulated sysctl is set to 1. This sysctl defaults to 0 in case the udev rules to automatically online hotplugged memory do not exist. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- v3: - Add xen.balloon.hotplug_unpopulated sysctl to enable use of hotplug for unpopulated pages. commit 81b286e0f1fe520f2a96f736ffa7e508ac9139ba Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 13:12:46 2015 +0100 xen/balloon: make alloc_xenballoon_pages() always allocate low pages All users of alloc_xenballoon_pages() wanted low memory pages, so remove the option for high memory. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> commit b2ac6aa8f71bf57b948ee68cd913c350b932da88 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 12:10:28 2015 +0100 xen/balloon: only hotplug additional memory if required Now that we track the total number of pages (included hotplugged regions), it is easy to determine if more memory needs to be hotplugged. Add a new BP_WAIT state to signal that the balloon process needs to wait until kicked by the memory add notifier (when the new section is onlined by userspace). Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- v3: - Return BP_WAIT if enough sections are already hotplugged. v2: - New BP_WAIT status after adding new memory sections. commit de5a77d8422fc7ed0b2f4349bceb65a1a639e5b2 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 12:08:20 2015 +0100 xen/balloon: rationalize memory hotplug stats The stats used for memory hotplug make no sense and are fiddled with in odd ways. Remove them and introduce total_pages to track the total number of pages (both populated and unpopulated) including those within hotplugged regions (note that this includes not yet onlined pages). This will be used in a subsequent commit (xen/balloon: only hotplug additional memory if required) when deciding whether additional memory needs to be hotplugged. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> commit 55b3da98a40dbb3776f7454daf0d95dde25c33d2 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Jun 24 15:58:42 2015 +0100 xen/balloon: find non-conflicting regions to place hotplugged memory Instead of placing hotplugged memory at the end of RAM (which may conflict with PCI devices or reserved regions) use allocate_resource() to get a new, suitably aligned resource that does not conflict. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- v3: - Remove stale comment. commit f5775e0b6116b7e2425ccf535243b21768566d87 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Mon Jan 19 11:08:05 2015 +0000 x86/xen: discard RAM regions above the maximum reservation During setup, discard RAM regions that are above the maximum reservation (instead of marking them as E820_UNUSABLE). This allows hotplug memory to be placed at these addresses. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> commit f6a6cb1afe74d6ccc81aa70aa4ac3953762e7e6e Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 13:18:12 2015 +0100 xen/balloon: remove scratch page left overs Commit 0bb599fd30108883b00c7d4a226eeb49111e6932 (xen: remove scratch frames for ballooned pages and m2p override) removed the use of the scratch page for ballooned out pages. Remove some left over function definitions. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> commit 62cedb9f135794ec26a93ae29e5f0231ab263c84 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 16:35:49 2015 +0100 mm: memory hotplug with an existing resource Add add_memory_resource() to add memory using an existing "System RAM" resource. This is useful if the memory region is being located by finding a free resource slot with allocate_resource(). Xen guests will make use of this in their balloon driver to hotplug arbitrary amounts of memory in response to toolstack requests. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> Reviewed-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> commit 9f30931a5482d66710210dafe9b4f2cc92320540 Merge: a2c01ed b67de01 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 22:10:51 2015 +0900 Merge branch 'akpm' (patches from Andrew) Merge fixes from Andrew Morton: "9 fixes" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: ocfs2/dlm: unlock lockres spinlock before dlm_lockres_put fault-inject: fix inverted interval/probability values in printk lib/Kconfig.debug: disable -Wframe-larger-than warnings with KASAN=y mm: make sendfile(2) killable thp: use is_zero_pfn() only after pte_present() check mailmap: update Javier Martinez Canillas' email MAINTAINERS: add Sergey as zsmalloc reviewer mm: cma: fix incorrect type conversion for size during dma allocation kmod: don't run async usermode helper as a child of kworker thread commit 654c9c543ac025f4ecb73047f2e5b689137c77c5 Merge: 6fb3b6b5 f050561 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 23 05:57:53 2015 -0700 Merge branch 'mdiobus_nested_read_write' Neil Armstrong says: ==================== Refactor nested mdiobus read/write functions In order to avoid locked signal false positive for nested mdiobus read/write calls, nested code was introduced in mv88e6xxx and mdio-mux. But mv88e6060 also needs such nested mdiobus read/write calls. For sake of refactoring, introduce nested variants of mdiobus read/write and make them used by mv88e6xxx and mv88e6060. In a next patch, mdio-mux should also use these variant calls. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0505610505caf8443cd5ea269a7936b64711fee Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Thu Oct 22 10:37:57 2015 +0200 net: dsa: Make mv88e6060 use nested mdiobus read/write Like mv88e6xxx and mdio-mux, to avoid lockdep give false positives because of nested MDIO busses, switch to previously introduced nested mdiobus_read/write variants. Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e899e6c51320dd340ccc7a3d4391cedd0ba275b Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Thu Oct 22 10:37:53 2015 +0200 net: dsa: Make mv88e6xxx use nested mdiobus read/write Make the mv88e6xxx driver use the previously introduced nested variants of mdiobus_read/write functions. Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21dd19fed3c3eb42a3877600f4a97a774323e562 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Thu Oct 22 10:37:49 2015 +0200 net: phy: Add nested variants of mdiobus read/write Since nested variants of mdiobus_read/write are used in multiple drivers, add nested variants in the mdiobus core. Suggested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8443c1a4b192089e62642d847ebac3e4d15134c3 Author: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Date: Fri Aug 28 06:59:03 2015 +0000 ixgbe, ixgbevf: Add new mbox API xcast mode The limitation of the number of multicast address for VF is not enough for the large scale server with SR-IOV feature. IPv6 requires the multicast MAC address for each IP address to handle the Neighbor Solicitation message. We couldn't assign over 30 IPv6 addresses to a single VF. This patch introduces the new mailbox API, IXGBE_VF_UPDATE_XCAST_MODE, to update multicast mode of VF. This adds 3 modes; - NONE only L2 exact match addresses or Flow Director enabled - MULTI BAM and ROMPE set - ALLMULTI BAM, ROMPE and MPE set If a guest VF user wants over 30 MAC multicast addresses, set IFF_ALLMULTI to request PF to update xcast mode to enable VF multicast promiscuous mode. On the other hand, enabling VF multicast promiscuous mode may affect security and performance in the network of the NIC. Only trusted VF can enable multicast promiscuous mode. The behavior of untrusted VF is the same as previous version. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 54011e4db839504791cf8317fc48949c683587d4 Author: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Date: Fri Aug 28 06:58:33 2015 +0000 ixgbe: Add new ndo to trust VF Implements the new netdev op to trust VF in ixgbe. The administrator can turn on and off VF trusted by ip command which supports trust message. # ip link set dev eth0 vf 1 trust on or # ip link set dev eth0 vf 1 trust off Send a ping to reset VF on changing the status of trusting. VF driver will reconfigure its features on reset. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6fb3b6b57ae444d7723088656dce86b1be92498d Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri Oct 23 14:41:12 2015 +0300 drivers: net: cpsw: use module_platform_driver There is no reasons to probe cpsw from late_initcall level and it's not recommended. Hence, use module_platform_driver() to register and probe cpsw driver from module_init() level. Cc: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dd461d6aa894761fe67c30ddf81eec0d08be216b Author: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Date: Fri Aug 28 06:57:55 2015 +0000 if_link: Add control trust VF Add netlink directives and ndo entry to trust VF user. This controls the special permission of VF user. The administrator will dedicatedly trust VF user to use some features which impacts security and/or performance. The administrator never turn it on unless VF user is fully trusted. CC: Sy Jong Choi <sy.jong.choi@xxxxxxxxx> Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Acked-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5e0724d027f0548511a2165a209572d48fe7a4c8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 22 08:20:46 2015 -0700 tcp/dccp: fix hashdance race for passive sessions Multiple cpus can process duplicates of incoming ACK messages matching a SYN_RECV request socket. This is a rare event under normal operations, but definitely can happen. Only one must win the race, otherwise corruption would occur. To fix this without adding new atomic ops, we use logic in inet_ehash_nolisten() to detect the request was present in the same ehash bucket where we try to insert the new child. If request socket was not found, we have to undo the child creation. This actually removes a spin_lock()/spin_unlock() pair in reqsk_queue_unlink() for the fast path. Fixes: e994b2f0fb92 ("tcp: do not lock listener to process SYN packets") Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fc4cd52fa7ed86e9d1df94e459b6a2435bfa9c7 Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Tue Oct 13 01:06:32 2015 -0600 i40e: fix unconditional execution of cpu_to_le16() The commit 3092e5e4cc79 ("i40e: add little endian conversion for checksum") fixed the checksum bug on big-endian architecture. But we should not execute cpu_to_le16() unconditionally. Thus, put cpu_to_le16() under certain condition. Cc: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Cc: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0e5229c6c576969bf8f89f8ca74fa7ea355b434e Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Tue Oct 13 01:06:31 2015 -0600 i40e: clean up local variable initialization In both i40e_calc_nvm_checksum() and i40e_update_nvm_checksum(), the local variables designated by 'ret_code' are overwritten immediately. As such, they should merely be declared. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ed17f7e5d7918adb487debe49fadf57fd2b98d1c Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Tue Oct 13 01:06:30 2015 -0600 i40evf: clean up local variable initialization In i40evf_msix_aq(), the first two lines of rd32() are mainly to clear the registers. If we initialize 'val' at this point, it will be overwritten immediately. We shall simply discard the return value here. When we initialize 'val', we might as well include the mask in one step. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 554f4544afa541b25882cd0ca5fd6b01b4e2ce07 Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Tue Oct 13 01:06:28 2015 -0600 i40e: add missing kernel-doc argument The following kernel-doc arguments for their respective functions are missing: 1) @cd_type_cmd_tso_mss for i40e_tso(); 2) @cd_type_cmd_tso_mss for i40e_tsyn(); 3) @tx_ring for i40e_tx_enable_csum(). Add them all for the kernel-doc requirement. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 69c1d70ab6b5b53ec21919f4f8de84041d3f6cdd Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Tue Oct 13 01:06:27 2015 -0600 i40evf: add missing kernel-doc argument @flush has been missing since the inception of i40evf_irq_enable(). Add it for the kernel doc. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a3524e95ac5339e9b65dba2228f3f7efd27648cf Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 2 12:18:16 2015 +0300 i40e: re-use %*ph specifier to hexdump a data Instead of using a custom approach change the code to use %*ph format specifier. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0e320516b280a8cf7258d9d41e7140563dd7c027 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Oct 1 14:37:41 2015 -0400 i40e/i40evf: Bump i40e to 1.3.46 and i40evf to 1.3.33 Bump up the version... Change-ID: Ib8d501021671ba20250115ed54330e2c182255b7 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 de445b3dc29835ae840f202bc62fd3ae42da12ad Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Date: Thu Oct 1 14:37:40 2015 -0400 i40e: Disable VEB bridge mode with SR-IOV failure If a call to enable SR-IOV in the kernel failed, we need to disable I40E_FLAG_VEB_MODE_ENABLED, so that bridge mode could fall back to VEPA, which is a default. Change-ID: I12b6f776769506db85b29bea94b9c88d0b5ee65e Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2efaad86b5cdd0f6d70436fa304a567df8a3cf6c Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Thu Oct 1 14:37:39 2015 -0400 i40e: Fix an incorrect OEM version string This patch fixes a problem where the driver output of the OEM version string varied from the other tools. The mask value and the order of operations were incorrect, per the original change request. Without this patch, the version string will appear incorrect from the driver. Change-ID: Ie1ca6485284b4ce3b57e5a99b18b7641617c7ef7 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 58fc3267f151f6facfc94c6982bef09a53bb5219 Author: Helin Zhang <helin.zhang@xxxxxxxxx> Date: Thu Oct 1 14:37:38 2015 -0400 i40e: fix inconsistent statuses after a PF reset This patch fixes a problem of possibly getting inconsistent flow control statuses after a PF reset. Requested_mode was being set with a default value during probing, but the initial HW state could be different from this mode. Change-ID: I772bf07b78616e87086418d4bd87954b66fa17cd Signed-off-by: Helin Zhang <helin.zhang@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 40d01366e6dd5ef1cb3505f11b2d208cfa3632f3 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Oct 1 14:37:37 2015 -0400 i40evf: use correct struct for list manipulation Not sure how this compiles at all. Use the correct struct for manipulating the VLAN filter list. Without this, the VLAN filter list doesn't get processed correctly, and VLAN filters will not be re-enabled after any kind of reset. Change-ID: Iceff2dc089f303058fb71ecb08419eed471e0e90 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 09603eaa5ca91dd9a318d8722ff5de8feb1e36ab Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Date: Thu Oct 1 14:37:36 2015 -0400 i40e: Fix VEB/VEPA bridge mode mismatch issue Fix i40e_is_vsi_uplink_mode_veb to check if bridge is actually in VEB mode before allowing LB in the add VSI routine, instead of unconditionally returning VEB bridge mode. Change-ID: I162397b1bdd02367735fe9baaeb51465be2a3ce9 Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 10dc0358e802ea60f95432f89c8dd051767fc06f Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Oct 1 14:37:35 2015 -0400 i40e: fix a bug in debugfs with add/del macaddr The new code flow requires us to grab the filter list lock before adding/deleting the filter. Change-ID: I4eaef508ab4da2d1b2e23f20f2a78d931d5b6aeb 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 e7358f54a3954df16d4f87e3cad35063f1c17de5 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Oct 1 14:37:34 2015 -0400 i40e/i40evf: Add a workaround to drop all flow control frames This patch adds a workaround to drop any flow control frames from being transmitted from any VSI. FW can still send flow control frames if flow control is enabled. With this patch in place a malicious VF cannot send flow control or PFC packets out on the wire. Change-ID: I4303b24e98b93066d2767fec24dfe78be591c277 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 ab319939a58678c19a68ff10c8a08cef462a3ba6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 00:24:30 2015 +0100 cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver As the driver doesn't support unbinding, nor does it support arbitary binding of devices, disable the bind/unbind attributes for this driver. Also, as the driver has no remove function, it can never be modular, so use builtin_platform_driver() to avoid the module exit boilerplate. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit da1a64f80d8946d51744e48d0ba138c1b17a4852 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 00:24:25 2015 +0100 cpuidle: mvebu: clean up multiple platform drivers There's no need to use multiple platform drivers, especially when we want to do something different in the probe, but we still use a common probe function. We can use the platform ID system to only register one platform driver, but have it match several devices, and give us the CPU idle driver via the ID's driver_data. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 1acea4f6ce1b1c0941438aca75dd2e5c6b09db60 Author: Guillaume Nault <g.nault@xxxxxxxxxxxx> Date: Thu Oct 22 16:57:10 2015 +0200 ppp: fix pppoe_dev deletion condition in pppoe_release() We can't rely on PPPOX_ZOMBIE to decide whether to clear po->pppoe_dev. PPPOX_ZOMBIE can be set by pppoe_disc_rcv() even when po->pppoe_dev is NULL. So we have no guarantee that (sk->sk_state & PPPOX_ZOMBIE) implies (po->pppoe_dev != NULL). Since we're releasing a PPPoE socket, we want to release the pppoe_dev if it exists and reset sk_state to PPPOX_DEAD, no matter the previous value of sk_state. So we can just check for po->pppoe_dev and avoid any assumption on sk->sk_state. Fixes: 2b018d57ff18 ("pppoe: drop PPPOX_ZOMBIEs in pppoe_release") Signed-off-by: Guillaume Nault <g.nault@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6b8dec99865ea906150e963eacbfd037b579ee9 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Oct 22 11:35:05 2015 +0800 af_key: fix two typos Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0aaafaabfcba8aa991913cd3280a5dbf7f111a2a Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Oct 23 11:50:08 2015 +0200 sched/core: Add missing lockdep_unpin() annotations Luca and Wanpeng reported two missing annotations that led to false lockdep complaints. Add the missing annotations. Reported-by: Luca Abeni <luca.abeni@xxxxxxxx> Reported-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: cbce1a686700 ("sched,lockdep: Employ lock pinning") Link: http://lkml.kernel.org/r/20151023095008.GY17308@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 66ef950d1841487c852d68d00977726f1cd9f053 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Oct 23 11:57:13 2015 +0200 iommu/vt-d: Propagate error-value from ir_parse_ioapic_hpet_scope() Propagate the error-value from the function ir_parse_ioapic_hpet_scope() in parse_ioapics_under_ir() and cleanup its calling loop. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 20a41fba679d665cdae2808e2b9cae97c073351f Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Oct 21 15:37:05 2015 -0500 amd-xgbe: Use wmb before updating current descriptor count The code currently uses the lightweight dma_wmb barrier before updating the current descriptor count. Under heavy load, the Tx cleanup routine was seeing the updated current descriptor count before the updated descriptor information. As a result, the Tx descriptor was being cleaned up before it was used because it was not "owned" by the hardware yet, resulting in a Tx queue hang. Using the wmb barrier insures that the descriptor is updated before the descriptor counter preventing the Tx queue hang. For extra insurance, the Tx cleanup routine is changed to grab the current decriptor count on entry and uses that initial value in the processing loop rather than trying to chase the current value. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Tested-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2fd719bcb0e83cb39cfee22ee800f98a56eceb3 Author: Nathan Sullivan <nathan.sullivan@xxxxxx> Date: Wed Oct 21 14:17:04 2015 -0500 net/phy: micrel: Add workaround for bad autoneg Very rarely, the KSZ9031 will appear to complete autonegotiation, but will drop all traffic afterwards. When this happens, the idle error count will read 0xFF after autonegotiation completes. Reset the PHY when in that state. Signed-off-by: Nathan Sullivan <nathan.sullivan@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b1311807f3d3eb8bef3ccc53127838b3bea3771 Author: Paolo Abeni <pabeni@xxxxxxxxxx> Date: Tue Oct 20 10:28:45 2015 +0200 ipv4: implement support for NOPREFIXROUTE ifa flag for ipv4 address Currently adding a new ipv4 address always cause the creation of the related network route, with default metric. When a host has multiple interfaces on the same network, multiple routes with the same metric are created. If the userspace wants to set specific metric on each routes, i.e. giving better metric to ethernet links in respect to Wi-Fi ones, the network routes must be deleted and recreated, which is error-prone. This patch implements the support for IFA_F_NOPREFIXROUTE for ipv4 address. When an address is added with such flag set, no associated network route is created, no network route is deleted when said IP is gone and it's up to the user space manage such route. Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a13c8f27e4d79420ae7bcb48123fa13851026428 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Thu Oct 22 14:00:51 2015 +0800 iommu/vt-d: Adjust the return value of the parse_ioapics_under_ir Adjust the return value of parse_ioapics_under_ir as negative value representing failure and "0" representing succcess. Just make it consistent with other function implementations, and we can judge if calling is successfull by if (!parse_ioapics_under_ir()) style. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a2c01ed5d46f0686c52272e09f7d2f5be9f573fd Merge: d0ddf98 8832317 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:49:51 2015 +0900 Merge tag 'powerpc-4.3-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixes from Michael Ellerman: - Revert "Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8" from Paul - Handle irq_happened flag correctly in off-line loop from Paul - Validate rtas.entry before calling enter_rtas() from Vasant * tag 'powerpc-4.3-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc/rtas: Validate rtas.entry before calling enter_rtas() powerpc/powernv: Handle irq_happened flag correctly in off-line loop powerpc: Revert "Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8" commit ec3661b42257d9a06cf0d318175623ac7a660113 Merge: c80dbe0 b72a2b0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 23 02:49:41 2015 -0700 Merge branch 'ipv6-overflow-arith' Hannes Frederic Sowa says: ==================== overflow-arith: begin to add support for overflow builtins functions I add a new header, linux/overflow-arith.h, as the central place to add overflow and wrap-around checking functions. The reason I am doing so is that it can make use of compiler supported builtin functions which can leverage hardware. As I need this for a fix in the ipv6 stack, which is also included in this series, I propose to add it sooner than later over Davem's net tree. This is also the reason why I start slowly with only the one function I need at this time. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b72a2b01b686f242028038f630555513c9e4de38 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 11:32:43 2015 +0200 ipv6: protect mtu calculation of wrap-around and infinite loop by rounding issues Raw sockets with hdrincl enabled can insert ipv6 extension headers right into the data stream. In case we need to fragment those packets, we reparse the options header to find the place where we can insert the fragment header. If the extension headers exceed the link's MTU we actually cannot make progress in such a case. Instead of ending up in broken arithmetic or rounding towards 0 and entering an endless loop in ip6_fragment, just prevent those cases by aborting early and signal -EMSGSIZE to user space. Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79907146fb5b1778035870db895fb2bf64061284 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 11:32:42 2015 +0200 overflow-arith: begin to add support for overflow builtin functions The idea of the overflow-arith.h header is to collect overflow checking functions in one central place. If gcc compiler supports the __builtin_overflow_* builtins we use them because they might give better performance, otherwise the code falls back to normal overflow checking functions. The builtin_overflow functions are supported by gcc-5 and clang. The matter of supporting clang is to just provide a corresponding CC_HAVE_BUILTIN_OVERFLOW, because the specific overflow checking builtins don't differ between gcc and clang. I just provide overflow_usub function here as I intend this to get merged into net, more functions will definitely follow as they are needed. Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c80dbe04612986fd6104b4a1be21681b113b5ac9 Author: Andrew Shewmaker <agshew@xxxxxxxxx> Date: Sun Oct 18 21:59:08 2015 -0700 tcp: allow dctcp alpha to drop to zero If alpha is strictly reduced by alpha >> dctcp_shift_g and if alpha is less than 1 << dctcp_shift_g, then alpha may never reach zero. For example, given shift_g=4 and alpha=15, alpha >> dctcp_shift_g yields 0 and alpha remains 15. The effect isn't noticeable in this case below cwnd=137, but could gradually drive uncongested flows with leftover alpha down to cwnd=137. A larger dctcp_shift_g would have a greater effect. This change causes alpha=15 to drop to 0 instead of being decrementing by 1 as it would when alpha=16. However, it requires one less conditional to implement since it doesn't have to guard against subtracting 1 from 0U. A decay of 15 is not unreasonable since an equal or greater amount occurs at alpha >= 240. Signed-off-by: Andrew G. Shewmaker <agshew@xxxxxxxxx> Acked-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab997ad408394bcaf7f3015d4c4e38047eaf2ad6 Author: lucien <lucien.xin@xxxxxxxxx> Date: Fri Oct 23 15:36:53 2015 +0800 ipv6: fix the incorrect return value of throw route The error condition -EAGAIN, which is signaled by throw routes, tells the rules framework to walk on searching for next matches. If the walk ends and we stop walking the rules with the result of a throw route we have to translate the error conditions to -ENETUNREACH. Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0ddf980d6efdcee6c7a85eb0f27baa6b60eeff6 Merge: 2c44f4f 55f4129 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:38:00 2015 +0900 Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Arnd Bergmann: "Most of the changes this time are for incorrect device nodes in various ways, on on imx, berlin, exynos, ux500, uniphier, omap and meson. Chen-Yu Tsai now co-maintains mach-sunxi (Allwinner). Other bug fixes include - a partial revert of a broken tegra gpio patch - irq affinity for arm ccn - suspend on one Armada 385 machine - enable ZONE_DMA to avoid an OMAP crash for over 2GB RAM - turning on a regulator on beagleboard-x15 for HDMI - making the omap gpmc debug code visible - setup of orion network switch - a rare build regression for pxa" * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits) ARM: OMAP2+: Fix imprecise external abort caused by bogus SRAM init thermal: exynos: Fix register read in TMU ARM: OMAP2+: Fix oops with LPAE and more than 2GB of memory ARM: tegra: Comment out gpio-ranges properties ARM: dts: uniphier: fix IRQ number for devices on PH1-LD6b ref board drivers/perf: arm_pmu: avoid CPU device_node reference leak bus: arm-ccn: Fix irq affinity setting on CPU migration bus: arm-ccn: Handle correctly no-more-cpus case ARM: mvebu: correct a385-db-ap compatible string ARM: meson6: DTS: Fix wrong reg mapping and IRQ numbers MAINTAINERS: Update Allwinner entry and add new maintainer ARM: ux500: modify initial levelshifter status ARM: pxa: fix pxa3xx DFI lockup hack Documentation: ARM: List new omap MMC requirements memory: omap-gpmc: dump "before" state before first modification memory: omap-gpmc: Fix unselectable debug option for GPMC ARM: dts: am57xx-beagle-x15: set VDD_SD to always-on ARM: dts: Fix audio card detection on Peach boards ARM: EXYNOS: Fix double of_node_put() when parsing child power domains ARM: orion: Fix DSA platform device after mvmdio conversion ... commit f23d538bc24a83c16127c2eb82c9cf1adc2b5149 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Oct 23 00:57:05 2015 -0400 macvtap: unbreak receiving of gro skb with frag list We don't have fraglist support in TAP_FEATURES. This will lead software segmentation of gro skb with frag list. Fixes by having frag list support in TAP_FEATURES. With this patch single session of netperf receiving were restored from about 5Gb/s to about 12Gb/s on mlx4. Fixes a567dd6252 ("macvtap: simplify usage of tap_features") Cc: Vlad Yasevich <vyasevic@xxxxxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c44f4f03574a3754306b5a8a80b9ed38a795104 Merge: 8a990fb ad355e3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:32:29 2015 +0900 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull KVM bugfixes from Paolo Bonzini: "Bug fixes for ARM, mostly 4.3 regressions related to virtual interrupt controller changes" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: arm/arm64: KVM: Fix disabled distributor operation arm/arm64: KVM: Clear map->active on pend/active clear arm/arm64: KVM: Fix arch timer behavior for disabled interrupts KVM: arm: use GIC support unconditionally KVM: arm/arm64: Fix memory leak if timer initialization fails KVM: arm/arm64: Do not inject spurious interrupts commit 8a990fb47b4c93653745512eca7d2d210678e6c1 Merge: 0122835 1904be1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:24:33 2015 +0900 Merge tag 'trace-fixes-v4.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fixes from Steven Rostedt: "Running tests on other changes, the system locked up due to lots of warnings. It was caused by the stack tracer triggering a warning about using rcu_dereference() when RCU was not watching. This can happen due to the fact that the stack tracer uses the function tracer to check each function, and there are functions that may be called and traced when RCU stopped watching. Namely when a function is called just before going idle or to userspace and after RCU stopped watching that current CPU. The first patch makes sure that RCU is watching when the stack tracer uses RCU. The second patch is to make sure that the stack tracer does not get called by functions in NMI, as it's not NMI safe" * tag 'trace-fixes-v4.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Do not allow stack_tracer to record stack in NMI tracing: Have stack tracer force RCU to be watching commit 0122835a020a9f5c007b3a49ea9b5f1ac68fc7c7 Merge: 45d80f1 b9b6e4a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:21:55 2015 +0900 Merge tag 'sound-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "There is nothing to worry you much, only a few small & stable patches are found for usual stuff, HD-audio (a Lenovo laptop quirk, a fix for minor error handling) and ASoC (trivial fixes for RT298 and WM codecs). The only remaining major change is the fix for ASoC SX_TLV control that was overseen during refactoring, but the fix itself is trivial and safe" * tag 'sound-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ASoC: wm8962: mark cache_dirty flag after software reset in pm_resume ASoC: rt298: fix wrong setting of gpio2_en ASoC: wm8904: Correct number of EQ registers ALSA: hda - Fix deadlock at error in building PCM ASoC: Add info callback for SX_TLV controls ASoC: rt298: correct index default value ALSA: hda - Fix inverted internal mic on Lenovo G50-80 ALSA: hdac: Explicitly add io.h commit 45d80f168d2727f60bf1de64536f4ba62f303130 Merge: a67b20d 56ea37d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:15:20 2015 +0900 Merge tag 'media/v4.3-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media fixes from Mauro Carvalho Chehab: "Some regression fixes and potential security issues: - netup_unidvb: fix potential crash when spi is NULL - rtl28xxu: fix control message flaws - m88ds3103: fix a regression on Kernel 4.2 - c8sectpfe: fix some issues on this new driver - v4l2-flash-led-class: fix a Kbuild dependency - si2157 and si2158: check for array boundary when uploading firmware files - horus3a and lnbh25: fix some building troubles when some options aren't selected - ir-hix5hd2: drop the use of IRQF_NO_SUSPEND" * tag 'media/v4.3-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] m88ds3103: use own reg update_bits() implementation [media] rtl28xxu: fix control message flaws [media] v4l2-flash-led-class: Add missing VIDEO_V4L2 Kconfig dependency [media] netup_unidvb: fix potential crash when spi is NULL [media] si2168: Bounds check firmware [media] si2157: Bounds check firmware [media] ir-hix5hd2: drop the use of IRQF_NO_SUSPEND [media] c8sectpfe: fix return of garbage [media] c8sectpfe: fix ininitialized error return on firmware load failure [media] lnbh25: Fix lnbh25_attach() function return type [media] horus3a: Fix horus3a_attach() function parameters commit a67b20d24c9ed3719146c9a5e95937c38c89e16a Merge: 8a70dd2 c50f13f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:08:22 2015 +0900 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "I've been a bit slow gathering these: - drm/mst: one mutex leak in a fail path - radeon: two oops fixes, one dpm fix - i915: one messy set of fixes, where we revert the original fix, and pull back the proper set of fixes from -next on top. - nouveau: one fix for an illegal buffer placement. Doesn't look too bad, hopefully shouldn't be too much more" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/nouveau/gem: return only valid domain when there's only one drm: fix mutex leak in drm_dp_get_mst_branch_device drm/amdgpu: add missing dpm check for KV dpm late init drm/amdgpu/dpm: don't add pwm attributes if DPM is disabled drm/radeon/dpm: don't add pwm attributes if DPM is disabled drm/i915: Add primary plane to mask if it's visible drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() drm/i915: Assign hwmode after encoder state readout Revert "drm/i915: Add primary plane to mask if it's visible" drm/i915: Deny wrapping an userptr into a framebuffer drm/i915: Enable DPLL VGA mode before P1/P2 divider write drm/i915: Restore lost DPLL register write on gen2-4 drm/i915: Flush pipecontrol post-sync writes drm/i915: Fix kerneldoc for i915_gem_shrink_all commit 121432c7a02f3818eefcad88c9ec428b7139b84a Author: Eric Anholt <eric@xxxxxxxxxx> Date: Fri Oct 9 14:27:47 2015 -0700 ARM: bcm2835: Add the DDC I2C controller to the device tree. We need to use it for getting video modes over HDMI. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> commit 94cb7f76caa0b337acea7c9442a75083a0712c18 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Sep 28 14:22:05 2015 -0700 ARM: bcm2835: Switch to using the new clock driver support. This will give us the ability to set the pixel and HDMI state machine clocks for the VC4 KMS driver, change the CPU frequency, and potentially gate clocks in the future (once we also write a power domain driver). It also gives the uart an explicit clock reference, so that we don't need to change the physical addresses of the old fixed clk_bcm2835.c clocks for Raspberry Pi 2 port. Two clocks get their frequencies updated as a result of this. One is uart's apb_pclk, which was previously accidentally grabbing the fixed uart0_pclk due to the apb_pclk not having clk_register_clkdev() called. The uart doesn't seem to do anything with apb_pclk other than make sure it's on, so that appears safe (also, as far as I can see, the apb clock is actually the same as the VPU clock). The other is EMMC, which according to the docs was supposed to be in the 50-100Mhz range, but it turns out the firmware needed to change to running it at the 250Mhz core clock speed to avoid a bug in clock domain crossing. Additionally, anything using BCM2835_CLOCK_VPU will now have a correct clock rate if the user configures the boot-time core clock speed using config.txt. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> commit 83e7f6e16e796a23028a67211424189e9f14e54f Merge: 1cd99ab 41691b8 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Wed Oct 14 15:37:10 2015 -0700 Merge remote-tracking branch 'clk/clk-bcm2835' into bcm2835-dt-next The DT changes for enabling the clock driver on 2835 require that the clock driver be present. Stephen Boyd has said that these commits would be stable for merging. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit b67de018b37a97548645a879c627d4188518e907 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Oct 22 13:32:29 2015 -0700 ocfs2/dlm: unlock lockres spinlock before dlm_lockres_put dlm_lockres_put will call dlm_lockres_release if it is the last reference, and then it may call dlm_print_one_lock_resource and take lockres spinlock. So unlock lockres spinlock before dlm_lockres_put to avoid deadlock. Signed-off-by: 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 bb387002693ed28b2bb0408c5dec65521b71e5f1 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Oct 22 13:32:27 2015 -0700 fault-inject: fix inverted interval/probability values in printk interval displays the probability and vice versa. Fixes: 6adc4a22f20bb ("fault-inject: add ratelimit option") Acked-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3f181b4d8652f7bcd7e9932c7307b8ecd4d87cf6 Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Thu Oct 22 13:32:24 2015 -0700 lib/Kconfig.debug: disable -Wframe-larger-than warnings with KASAN=y When the kernel compiled with KASAN=y, GCC adds redzones for each variable on stack. This enlarges function's stack frame and causes: 'warning: the frame size of X bytes is larger than Y bytes' The worst case I've seen for now is following: ../net/wireless/nl80211.c: In function `nl80211_send_wiphy': ../net/wireless/nl80211.c:1731:1: warning: the frame size of 5448 bytes is larger than 2048 bytes [-Wframe-larger-than=] That kind of warning becomes useless with KASAN=y. It doesn't necessarily indicate that there is some problem in the code, thus we should turn it off. (The KASAN=y stack size in increased from 16k to 32k for this reason) Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Abylay Ospan <aospan@xxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Cc: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 296291cdd1629c308114504b850dc343eabc2782 Author: Jan Kara <jack@xxxxxxxx> Date: Thu Oct 22 13:32:21 2015 -0700 mm: make sendfile(2) killable Currently a simple program below issues a sendfile(2) system call which takes about 62 days to complete in my test KVM instance. int fd; off_t off = 0; fd = open("file", O_RDWR | O_TRUNC | O_SYNC | O_CREAT, 0644); ftruncate(fd, 2); lseek(fd, 0, SEEK_END); sendfile(fd, fd, &off, 0xfffffff); Now you should not ask kernel to do a stupid stuff like copying 256MB in 2-byte chunks and call fsync(2) after each chunk but if you do, sysadmin should have a way to stop you. We actually do have a check for fatal_signal_pending() in generic_perform_write() which triggers in this path however because we always succeed in writing something before the check is done, we return value > 0 from generic_perform_write() and thus the information about signal gets lost. Fix the problem by doing the signal check before writing anything. That way generic_perform_write() returns -EINTR, the error gets propagated up and the sendfile loop terminates early. Signed-off-by: Jan Kara <jack@xxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 47aee4d8e314384807e98b67ade07f6da476aa75 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Thu Oct 22 13:32:19 2015 -0700 thp: use is_zero_pfn() only after pte_present() check Use is_zero_pfn() on pteval only after pte_present() check on pteval (It might be better idea to introduce is_zero_pte() which checks pte_present() first). Otherwise when working on a swap or migration entry and if pte_pfn's result is equal to zero_pfn by chance, we lose user's data in __collapse_huge_page_copy(). So if you're unlucky, the application segfaults and finally you could see below message on exit: BUG: Bad rss-counter state mm:ffff88007f099300 idx:2 val:3 Fixes: ca0984caa823 ("mm: incorporate zero pages into transparent huge pages") Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [4.1+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8fa0efa01109e294e9be610465c324f771cb5ba Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 22 13:32:16 2015 -0700 mailmap: update Javier Martinez Canillas' email The get_maintainer script still reports my old Collabora email based on old commits but that address no longer exist so update mailmap to report my current email and avoid people sending to the old address. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 41192a2d6a7f4cd6af9fc2f8edbbf24b2694f2f6 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Oct 22 13:32:13 2015 -0700 MAINTAINERS: add Sergey as zsmalloc reviewer Nominate myself as a zsmalloc reviewer. 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 67a2e213e7e937c41c52ab5bc46bf3f4de469f6e Author: Rohit Vaswani <rvaswani@xxxxxxxxxxxxxx> Date: Thu Oct 22 13:32:11 2015 -0700 mm: cma: fix incorrect type conversion for size during dma allocation This was found during userspace fuzzing test when a large size dma cma allocation is made by driver(like ion) through userspace. show_stack+0x10/0x1c dump_stack+0x74/0xc8 kasan_report_error+0x2b0/0x408 kasan_report+0x34/0x40 __asan_storeN+0x15c/0x168 memset+0x20/0x44 __dma_alloc_coherent+0x114/0x18c Signed-off-by: Rohit Vaswani <rvaswani@xxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5211613978cb7353a3237e4372958c0e7514683f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 22 13:32:08 2015 -0700 kmod: don't run async usermode helper as a child of kworker thread call_usermodehelper_exec_sync() does fork() + wait() with "unignored" SIGCHLD. What we have missed is that this worker thread can have other children previously forked by call_usermodehelper_exec_work() without UMH_WAIT_PROC. If such a child exits in between it becomes a zombie because auto-reaping only works if SIGCHLD is ignored, and nobody can reap it (unless/until this worker thread exits too). Change the !UMH_WAIT_PROC case to use CLONE_PARENT. Note: this is only first step. All PF_KTHREAD tasks, even created by kernel_thread() should have ->parent == kthreadd by default. Fixes: bb304a5c6fc63d8506c ("kmod: handle UMH_WAIT_PROC from system unbound workqueue") Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@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 80fcd45ee05b4ef05e61d37a5ffb70a67095a9f6 Merge: 4ba792e f06cff7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Oct 23 10:25:57 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: - The default for callchains is back to 'callee' when --children is not used. (Namhyung Kim) - Move the 'use_offset' option to the right place where the annotate code expects it to be to be able to properly handle it. (Namhyung Kim) - Don't die when an unknown 'annotate' option is found in the perf config file (usually ~/.perfconfig), just warn the user. (Arnaldo Carvalho de Melo) Infrastructure changes: - Support %ps/%pS in libtraceevent. (Scott Wood) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3f84ccf62c9fdd39d2cb1caa725663191c817b65 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Oct 16 09:46:12 2015 +0200 pinctrl: sunxi: Add irq pinmuxing to sun6i "r" pincontroller Add pinmuxing for external interrupt functionality through the sun6i "r" pincontroller. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8297992cad599e8a214e65959ccdde51738fe5a2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Oct 16 09:46:11 2015 +0200 pinctrl: sunxi: Fix irq_of_xlate for the r_pio pinctrl block The r_pio gpio / pin controller has a pin_base of non 0, we need to adjust for this before calling sunxi_pinctrl_desc_find_function_by_pin. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ec7aa963bf81803b70b7da71bf79943ae5b9c531 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Mon Oct 19 09:42:21 2015 -0700 Input: xen - check return value of xenbus_printf Internally, xenbus_printf uses memory allocation, so it can fail under memory pressure, leaving the input device configured as absolute with the backend supplying relative coordinates. Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Reviewed-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ba564e789761368b44be1362ace576831778d371 Author: WEN Pingbo <pingbo.wen@xxxxxxxxxx> Date: Sun Oct 18 16:33:47 2015 -0700 Input: hp_sdc_rtc - fix y2038 problem in proc_show hp_sdc_rtc_proc_show() use timeval to store the time, which will overflow in 2038. This patch fixes this problem by replacing timeval with timespec64. hp_sdc_rtc_proc_show() only output string, so that userspace will work normally if we apply this patch. Not all timer in i8042 have y2038 risk(handshake, match timer, etc), Replacements in those timer are just for consistency. Signed-off-by: WEN Pingbo <pingbo.wen@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2e9776e0c82b4bbf7d50fd6669080ab691156cea Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Oct 20 09:40:42 2015 -0700 Input: nomadik-ske-keypad - fix a trivial typo s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a5ea06d0bc123cc7f49d042fab60ddd3964764c8 Author: Karsten Merker <merker@xxxxxxxxxx> Date: Fri Oct 23 11:50:41 2015 +0800 ARM: dts: sun6i: Add dts file for MSI Primo81 tablet The MSI Primo81 is an A31s based tablet, with 1G RAM, 16G NAND, 768x1024 IPS LCD display, mono speaker, 0.3 MP front camera, 2.0 MP rear camera, 3500 mAh battery, gt911 touchscreen, mma8452 accelerometer and rtl8188etv usb wifi. Has "power", "volume+" and "volume-" buttons (both volume buttons are also connected to the UBOOT_SEL pin). The external connectors are represented by MicroSD slot, MiniHDMI, MicroUSB OTG and 3.5mm headphone jack. USB OTG is enabled in host only mode. AXP221 USB power supply and GPIO support are required for full USB OTG support. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Karsten Merker <merker@xxxxxxxxxx> Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c0949308dd47d74b6525ef4bae638869c0a58754 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Oct 23 11:50:40 2015 +0800 ARM: dts: sun6i: Add simplefb node labels to reference at board level Some boards, such as tablets, have regulators providing power to parts of the display pipeline, like signal converters and LCD panels. Add labels to the simplefb device nodes so that we can reference them in the board dts files to add regulator supply properties. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cb866e3298cd7412503fc7e2c265753c853fab9d Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Date: Fri Oct 23 07:52:58 2015 +0200 xfrm: Increment statistic counter on inner mode error Increment the LINUX_MIB_XFRMINSTATEMODEERROR statistic counter to notify about dropped packets if we fail to fetch a inner mode. Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 8e3c5952144f045a0c81bf674d3f5e1d9aafceb7 Author: Dave Gerlach <d-gerlach@xxxxxx> Date: Tue Sep 22 19:14:52 2015 -0500 mailbox/omap: Add ti,mbox-send-noirq quirk to fix AM33xx CPU Idle The mailbox framework controls the transmission queue and requires either its controller implementations or clients to run the state machine for the Tx queue. The OMAP mailbox controller uses a Tx-ready interrupt as the equivalent of a Tx-done interrupt to run this Tx queue state-machine. The WkupM3 processor on AM33xx and AM43xx SoCs is used to offload certain PM tasks, like doing the necessary operations for Device PM suspend/resume or for entering lower c-states during cpuidle. The CPUIdle on AM33xx requires the messages to be sent without having to trigger the Tx-ready interrupts, as the interrupt would immediately terminate the CPUIdle operation. Support for this has been added by introducing a DT quirk, "ti,mbox-send-noirq" and using it to modify the normal OMAP mailbox controller behavior on the sub-mailboxes used to communicate with the WkupM3 remote processor. This also requires the wkup_m3_ipc driver to adjust its mailbox usage logic to run the Tx state machine. NOTE: - AM43xx does not communicate with WkupM3 for CPU Idle, so is not affected by this behavior. But, it uses the same IPC driver for PM suspend/resume functionality, so requires the quirk as well, because of changes to the common wkup_m3_ipc driver. Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> [s-anna@xxxxxx: revise logic and update comments/patch description] Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit a133f8b65d591101e48336050ceb7e2f51026502 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Oct 20 17:11:27 2015 +0100 mailbox: mailbox-test: Correctly repair Sparse warnings Kbuild test robot reported some Sparse warnings to the tune of: sparse: incorrect type in argument 6 (different address spaces) expected void const *buf got void [noderef] <asn:2>*mmio This was due to passing variables tagged with the Sparse cookie '__iomem' through into memcpy() and print_hex_dump() without adequate protection or casting. These issues were fixed in a previous patch suppressing the warnings, but the issue is indeed still present. This patch fixes the warnings in the correct way, i.e. by using the purposely authored memcpy_{from,to}io() derivatives in the memcpy() case and casting the memory address to (void *) and forcing Sparse to ignore to ignore it in the print_hex_dump() case [NB: This is also what the memcpy() derivatives do]. Reported-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit ea673a4d3a337184f3c314dcc6300bf02f39e077 Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Date: Fri Oct 23 07:32:39 2015 +0200 xfrm4: Reload skb header pointers after calling pskb_may_pull. A call to pskb_may_pull may change the pointers into the packet, so reload the pointers after the call. Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 1a14f1e5550a341f76e5c8f596e9b5f8a886dfbc Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Date: Fri Oct 23 07:31:23 2015 +0200 xfrm4: Fix header checks in _decode_session4. We skip the header informations if the data pointer points already behind the header in question for some protocols. This is because we call pskb_may_pull with a negative value converted to unsigened int from pskb_may_pull in this case. Skipping the header informations can lead to incorrect policy lookups, so fix it by a check of the data pointer position before we call pskb_may_pull. Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 274035751e25ee15a064e43cde7b4e7a9b75d921 Merge: 53e597b a5be88f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Oct 23 06:57:50 2015 +0200 Merge branch 'topic/hw-constraint-single' into for-next commit b9b6e4ac2da74995cb7ac9394854a5fd563014c2 Merge: d289619 f69eccc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Oct 23 06:56:56 2015 +0200 Merge tag 'asoc-fix-v4.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v4.3 A bunch of driver fixes plus one core fix which fixes problems with misreporting values from _SX controls following a recent refactoring. This had gone unnoticed as such controls are quite rare. commit e33d4f13d21e9f604194ebc8730077ff39916c50 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Oct 21 11:48:25 2015 -0400 xfrm: Fix unaligned access to stats in copy_to_user_state() On sparc, deleting established SAs (e.g., by restarting ipsec) results in unaligned access messages via xfrm_del_sa -> km_state_notify -> xfrm_send_state_notify(). Even though struct xfrm_usersa_info is aligned on 8-byte boundaries, netlink attributes are fundamentally only 4 byte aligned, and this cannot be changed for nla_data() that is passed up to userspace. As a result, the put_unaligned() macro needs to be used to set up potentially unaligned fields such as the xfrm_stats in copy_to_user_state() Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 2c7693e081ab86e70931b2d05dbdbbdfab5086a3 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Oct 22 23:21:46 2015 -0500 clk: qoriq: Fix wrong data in p2041_cmux_grp2 Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit d9e1831a420267a7ced708bb259d65b0a3c0344d Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:09 2015 -0500 powerpc/85xx: Load all early TLB entries at once Use an AS=1 trampoline TLB entry to allow all normal TLB1 entries to be loaded at once. This avoids the need to keep the translation that code is executing from in the same TLB entry in the final TLB configuration as during early boot, which in turn is helpful for relocatable kernels (e.g. kdump) where the kernel is not running from what would be the first TLB entry. On e6500, we limit map_mem_in_cams() to the primary hwthread of a core (the boot cpu is always considered primary, as a kdump kernel can be entered on any cpu). Each TLB only needs to be set up once, and when we do, we don't want another thread to be running when we create a temporary trampoline TLB1 entry. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit c56d4450eb6886225a5a0bb231ad2cea9f03284a Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Sun Oct 18 19:55:04 2015 +0530 PCI: Turn off Request Attributes to avoid Chelsio T5 Completion erratum The Chelsio T5 has a PCIe compliance erratum that causes Malformed TLP or Unexpected Completion errors in some systems, which may cause device access timeouts. Per PCIe r3.0, sec 2.2.9, "Completion headers must supply the same values for the Attribute as were supplied in the header of the corresponding Request, except as explicitly allowed when IDO is used." Instead of copying the Attributes from the Request to the Completion, the T5 always generates Completions with zero Attributes. The receiver of a Completion whose Attributes don't match the Request may accept it (which itself seems non-compliant based on sec 2.3.2), or it may handle it as a Malformed TLP or an Unexpected Completion, which will probably lead to a device access timeout. Work around this by disabling "Relaxed Ordering" and "No Snoop" in the Root Port so it always generate Requests with zero Attributes. This does affect all other devices which are downstream of that Root Port, but these are performance optimizations that should not make a functional difference. Note that Configuration Space accesses are never supposed to have TLP Attributes, so we're safe waiting till after any Configuration Space accesses to do the Root Port "fixup". Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> [bhelgaas: changelog, comments, rename to pci_find_pcie_root_port(), rework to use pci_upstream_bridge() and check for Root Port device type, edit diagnostics to clarify intent and devices affected] Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit fc4099f17240767554ff3a73977acb78ef615404 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Thu Oct 22 18:17:16 2015 -0700 openvswitch: Fix egress tunnel info. While transitioning to netdev based vport we broke OVS feature which allows user to retrieve tunnel packet egress information for lwtunnel devices. Following patch fixes it by introducing ndo operation to get the tunnel egress info. Same ndo operation can be used for lwtunnel devices and compat ovs-tnl-vport devices. So after adding such device operation we can remove similar operation from ovs-vport. Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device"). Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0c050c58d840994ba842ad1c338a98e7c12b764 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Thu Oct 22 16:01:17 2015 -0400 bnxt_en: New Broadcom ethernet driver. Broadcom ethernet driver for the new family of NetXtreme-C/E ethernet devices. v5: - Removed empty blank lines at end of files (noted by David Miller). - Moved busy poll helper functions to bnxt.h to at least make the .c file look less cluttered with #ifdef (noted by Stephen Hemminger). v4: - Broke up 2 long message strings with "\n" (suggested by John Linville) - Constify an array of strings (suggested by Stephen Hemminger) - Improve bnxt_vf_pciid() (suggested by Stephen Hemminger) - Use PCI_VDEVICE() to populate pci_device_id table for more compact source. v3: - Fixed 2 more sparse warnings. - Removed some unused structures in .h files. v2: - Fixed all kbuild test robot reported warnings. - Fixed many of the checkpatch.pl errors and warnings. - Fixed the Kconfig description (noted by Dmitry Kravkov). Acked-by: Eddie Wai <eddie.wai@xxxxxxxxxxxx> Acked-by: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Signed-off-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a31adae0b2ab70127b2d5faa6a685e2ea70cc1b Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 16:54:31 2015 -0400 net: dsa: mv88e6xxx: remove debugfs interface It is preferable to have a common debugfs interface for DSA or switchdev instead of a driver specific one. Thus remove the mv88e6xxx debug code. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c472b9b391ecf9011d383956b322e72593d87b2 Merge: 8566b86 e9e5366 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 19:02:08 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-10-22 This series contains fixes to i40e only. Jesse provides two small fixes for i40e, first fixes counters that were being displayed incorrectly due to indexing beyond the array of strings when printing stats. Then fixed the fact that the driver was printing a message about not being able to assign VMDq because a lack of MSI-X vectors, when it was not true. It was due to a line missing that initialized a variable. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7e1bc3f5e70c5a106606e33cfa4d413459611ba Merge: 2b5f900 a9ee34b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 23 11:54:03 2015 +1000 Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next A bit smaller pull this time. Few minor things, plus initial support for msm8996 (snapdragon 820).. Sorry, a bit latish, was hoping to get some 8960/8064 DSI stuff included. But still waiting on the v2 of the patchset (just pending some minor review comments). It would be nice to get the DSI patches merged since it would help some folks trying to get upstream kernel running on n4/n7 and xperia z and wanting to write some more panel drivers. Also, waiting for OCMEM driver to get merged via other trees and then I have a small bit to go along with that to make the gpu actually work on devices w/ OCMEM (snapdragon 800, 805, etc). So maybe a second later pull req, time permitting. * 'msm-next' of git://people.freedesktop.org/~robclark/linux: drm/msm: Remove local fbdev emulation Kconfig option drm/msm/mdp5: Basic support for MDP5 v1.7 (MSM8996) drm/msm/mdp: Add Software Pixel Extension support drm/msm/mdp5: Use the newly introduced enum mdp_component_type drm/msm/hdmi: Add basic HDMI support for msm8996 drm/msm/mdp5: Avoid printing error messages for optional clocks drm/msm: Fix IOMMU clean up path in case msm_iommu_new() fails drm/msm/mdp5: remove the cfg pointer from SMP struct drm/msm/dsi: Updata LNn_CFG4 register settings for 28nm PHY drm: msm: dsi: Don't attempt changing voltage of switches drm/msm: update generated headers commit f504ab1888026d15b5be8f9c262bf4ae9cacd177 Author: Bjørn Mork <bjorn@xxxxxxx> Date: Thu Oct 22 14:24:24 2015 +0200 USB: qcserial: add Sierra Wireless MC74xx/EM74xx New device IDs shamelessly lifted from the vendor driver. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Acked-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8566b86ab9f0f45bc6f7dd422b21de9d0cf5415a Author: Jorgen Hansen <jhansen@xxxxxxxxxx> Date: Thu Oct 22 08:25:25 2015 -0700 VSOCK: Fix lockdep issue. The recent fix for the vsock sock_put issue used the wrong initializer for the transport spin_lock causing an issue when running with lockdep checking. Testing: Verified fix on kernel with lockdep enabled. Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Jorgen Hansen <jhansen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5ee0557c2058226a0d71fd0b22fe02c7de3b021 Merge: 9e43643 92944c4 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 18:25:45 2015 -0700 Merge tag 'usb-serial-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next Johan writes: USB-serial updates for v4.4-rc1 These updates generalise the option DTR/RTS handling so that all usb-wwan-based drivers can use it. This is specifically needed by some Sierra modems, which can now all be handled by qcserial again. Included are also some clean ups of the io_ti firmware handling. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 9e43643b11695911bb1dd585d9a9f758a5ad4d89 Merge: a4d8e93 851ce93 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 18:24:38 2015 -0700 Merge tag 'usb-ci-v4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-next Peter writes: USB Chipidea updates for v4.4-rc1 - Use extcon framework for VBUS and ID detect - Add imx6sx and imx7d support - Other small changes commit ba94c3ff20c9c179f2a80f0e4c71e1571ebbf5c7 Merge: a47c7a6 146aa8b Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Fri Oct 23 12:07:52 2015 +1100 Merge tag 'keys-next-20151021' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next commit e9e53662d8130dd950885e37dc1d97008e1283f9 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Oct 2 17:57:21 2015 -0700 i40e: fix annoying message The driver was printing a message about not being able to assign VMDq because of a lack of MSI-X vectors. This was because a line was missing that initialized a variable, simply a merge error. 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 74a6c66565f5f4eda4aaae53e2e325deeedeaca2 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Oct 2 19:09:34 2015 -0700 i40e: fix stats offsets The code was setting up stats that were not being initialized. This caused several counters to be displayed incorrectly, due to indexing beyond the array of strings when printing stats. 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 a4d8e93c3182a54d8d21a4d1cec6538ae1be9e16 Merge: ffa2366 81e9d14 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 17:19:33 2015 -0700 Merge tag 'usb-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next Felipe writes: usb: patches for v4.4 merge window This pull request is large with a total of 136 non-merge commits. Because of its size, we will only describe the big things in broad terms. Many will be happy to know that dwc3 is now almost twice as fast after some profiling and speed improvements. Also in dwc3, John Youn from Synopsys added support for their new DWC USB3.1 IP Core and the HAPS platform which can be used to validate it. A series of patches from Robert Baldyga cleaned up uses of ep->driver_data as a flag for "claimed endpoint" in favor of the new ep->claimed flag. Sudip Mukherjee fixed a ton of really old problems on the amd5536udc driver. That should make a few people happy. Heikki Krogerus worked on converting dwc3 to the unified device property interface. Together with these, there's a ton of non-critical fixes, typos and stuff like that. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ceb941afa5c38dae8e273089266c412d362c7963 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 22 16:44:43 2015 +0300 spi: pxa2xx: Align a few defines Add more indentation to define lines for making them aligned with the longest one. They would look messy after adding more long defines. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0e8972187971ac6c29a9e5899fa6c555c739237c Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 22 16:44:42 2015 +0300 spi: pxa2xx: Save other reg_cs_ctrl bits when configuring chip select Upcoming Intel platforms use LPSS SPI_CS_CONTROL register bits 15:12 for configuring the chip select polarities. Touch only chip select SW mode and state bits when enabling the software chip select control in order to not clear any other bits in the register. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3b8b6d05942ef5dd952674e7420600f762166e22 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 22 16:44:41 2015 +0300 spi: pxa2xx: Convert unique ID string of ACPI device as unsigned integer Andy noticed numeric unique device ID is unsigned integer so convert it using kstrtouint(). Actually integer in ACPI 2.0 and later is 64 bits litte-endian unsigned integer but quite certainly having so big value here would mean something extra than just the SPI bus number so it won't hurt to assume only lower 32 bits carry the bus number for now. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d2c2f6a47633a36bc8db8c802f7c284da36a7a53 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 22 16:44:40 2015 +0300 spi: pxa2xx: derive struct chip_data from struct drv_data Since we call pxa2xx_ssp_get_clk_div() from pump_transfers() we may derive pointer to struct chip_data from struct drv_data like it's done in the rest of the functions. This will make it less errorprone. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d74c4b1c61ecc5ad8158ac649245fdfc9601c1b5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 22 16:44:39 2015 +0300 spi: pxa2xx: move debug messages to pump_transfer() The speed can be changed from transfer to transfer, that's why the messages do not depict the actual values during ->setup(). Move debug messages from ->setup() to pump_transfers(). Get rid of leftovers as well. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 444c37aeee46db70ce01199863dc046fa68e88b7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Oct 22 10:43:23 2015 +0200 ASoC: fsl_sai: Constify rate constraints The rate constraints in this driver are shared between all device instances. It should not be (and is not) modified at runtime, so make them const. While we are at it also change the type of the rates array from u32 to unsigned int. While both resolve to the same type, u32 is usually used to empathize that the value is for a 32-bit hardware register or similar which makes it slightly confusing in this context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7a5b8ba412b6217de8badaa52283588e50eeae08 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Oct 22 10:43:22 2015 +0200 ASoC: rx1950_uda1380: Constify rate constraints The rate constraints in this board driver are not modified at runtime, so make them const. While we are at it also remove the unnecessary 0 initializer for the mask field. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit de687fb133f7ede18f026feefbeab3106081148d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Oct 22 10:43:21 2015 +0200 ASoC: h1940_uda1380: Constify rate constraints The rate constraints in this board driver are not modified at runtime, so make them const. While we are at it also remove the unnecessary 0 initializer for the mask field. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f69eccc4b248ce53b1b830034babd0a795d5763c Merge: ab5cf7d f8f2dc4 3419871 97aff2c 4eb0f7a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 23 08:44:14 2015 +0900 Merge remote-tracking branches 'asoc/fix/rt298', 'asoc/fix/sx', 'asoc/fix/wm8904' and 'asoc/fix/wm8962' into asoc-linus commit ab5cf7df4578e46f6587c589f0c4d58c7c9a8753 Merge: 7379047 79828b4 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 23 08:44:13 2015 +0900 Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-linus commit 6c760b3dd576329e776b353f2eaefbe2034361b9 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Oct 22 11:14:18 2015 -0700 iser-target: Remove an unused variable Detected this by compiling with W=1. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 78fc3fc4cc33df385dd5e5e02630cf467790e758 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Oct 22 10:59:18 2015 -0700 IB/iser: Remove an unused variable Detected this by compiling with W=1. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f06cff7c59b6b252d667435d7baad48687b41002 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 22 18:10:52 2015 -0300 perf annotate: Don't die() when finding an invalid config option The perf_config() infrastructure we inherited from git calls die() when the provided config callback returns -1, meaning some key in a config section is unexpected, that seems ok for a stdio based tool, but in --tui we end up messing up the output, so just tell the user about the error, wait for a keystroke and return 0, being more resilient and proceeding with what we managed to parse. That die() needs to die, tho :-) 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-pqtsffh2kwr5mwm4qg9kgotu@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5fdf876d30ce7c9b63045b3db8374912ab9b262c Author: Michal Marek <mmarek@xxxxxxxx> Date: Thu Oct 15 22:16:28 2015 +0200 KVM: arm: Do not indent the arguments of DECLARE_BITMAP Besides being a coding style issue, it confuses make tags: ctags: Warning: include/kvm/arm_vgic.h:307: null expansion of name pattern "\1" ctags: Warning: include/kvm/arm_vgic.h:308: null expansion of name pattern "\1" ctags: Warning: include/kvm/arm_vgic.h:309: null expansion of name pattern "\1" ctags: Warning: include/kvm/arm_vgic.h:317: null expansion of name pattern "\1" Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Michal Marek <mmarek@xxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit db85c55f1b01b155332058753854d897e965d67f Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Oct 12 15:04:50 2015 +0100 arm64: kvm: restore EL1N SP for panic If we panic in hyp mode, we inject a call to panic() into the EL1N host kernel. If a guest context is active, we first attempt to restore the minimal amount of state necessary to execute the host kernel with restore_sysregs. However, the SP is restored as part of restore_common_regs, and so we may return to the host's panic() function with the SP of the guest. Any calculations based on the SP will be bogus, and any attempt to access the stack will result in recursive data aborts. When running Linux as a guest, the guest's EL1N SP is like to be some valid kernel address. In this case, the host kernel may use that region as a stack for panic(), corrupting it in the process. Avoid the problem by restoring the host SP prior to returning to the host. To prevent misleading backtraces in the host, the FP is zeroed at the same time. We don't need any of the other "common" registers in order to panic successfully. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: <kvmarm@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit e21f09108754dfdfbb30e547f4edbd3b6884eedb Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 13:57:20 2015 +0200 arm/arm64: KVM: Add tracepoints for vgic and timer The VGIC and timer code for KVM arm/arm64 doesn't have any tracepoints or tracepoint infrastructure defined. Rewriting some of the timer code handling showed me how much we need this, so let's add these simple trace points once and for all and we can easily expand with additional trace points in these files as we go along. Cc: Wei Huang <wei@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit b5905dc12ed4254f7e0aac62bab48f002181f639 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 15:55:22 2015 +0200 arm/arm64: KVM: Improve kvm_exit tracepoint The ARM architecture only saves the exit class to the HSR (ESR_EL2 for arm64) on synchronous exceptions, not on asynchronous exceptions like an IRQ. However, we only report the exception class on kvm_exit, which is confusing because an IRQ looks like it exited at some PC with the same reason as the previous exit. Add a lookup table for the exception index and prepend the kvm_exit tracepoint text with the exception type to clarify this situation. Also resolve the exception class (EC) to a human-friendly text version so the trace output becomes immediately usable for debugging this code. Cc: Wei Huang <wei@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 952105ab524e3fcc719349da5645ec71d9733547 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Tue Oct 13 10:01:25 2015 +0300 KVM: arm/arm64: Fix vGIC documentation Correct some old mistakes in the API documentation: 1. VCPU is identified by index (using kvm_get_vcpu() function), but "cpu id" can be mistaken for affinity ID. 2. Some error codes are wrong. [ Slightly tweaked some grammer and did some s/CPU index/vcpu_index/ in the descriptions. -Christoffer ] Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 3b92830ad41b2fe377e0765322e8aefd0ab8388d Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 25 23:41:17 2015 +0200 KVM: arm/arm64: implement kvm_arm_[halt,resume]_guest We introduce kvm_arm_halt_guest and resume functions. They will be used for IRQ forward state change. Halt is synchronous and prevents the guest from being re-entered. We use the same mechanism put in place for PSCI former pause, now renamed power_off. A new flag is introduced in arch vcpu state, pause, only meant to be used by those functions. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 101d3da09c953b08c814cd9a0b8605623d640ba0 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 25 23:41:16 2015 +0200 KVM: arm/arm64: check power_off in critical section before VCPU run In case a vcpu off PSCI call is called just after we executed the vcpu_sleep check, we can enter the guest although power_off is set. Let's check the power_off state in the critical section, just before entering the guest. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reported-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4f5f1dc03606e18986b874f899cf86b0a3e4f2a5 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 25 23:41:15 2015 +0200 KVM: arm/arm64: check power_off in kvm_arch_vcpu_runnable kvm_arch_vcpu_runnable now also checks whether the power_off flag is set. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 3781528e3045e7c9cc7c4846e0f675b1f353655f Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 25 23:41:14 2015 +0200 KVM: arm/arm64: rename pause into power_off The kvm_vcpu_arch pause field is renamed into power_off to prepare for the introduction of a new pause field. Also vcpu_pause is renamed into vcpu_sleep since we will sleep until both power_off and pause are false. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 75755c6d02df9e9b959b3066c12de5494907e3d9 Author: Wei Huang <wei@xxxxxxxxxx> Date: Fri Oct 9 10:08:43 2015 -0500 arm/arm64: KVM : Enable vhost device selection under KVM config menu vhost drivers provide guest VMs with better I/O performance and lower CPU utilization. This patch allows users to select vhost devices under KVM configuration menu on ARM. This makes vhost support on arm/arm64 on a par with other architectures (e.g. x86, ppc). Signed-off-by: Wei Huang <wei@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 8fe2f19e6e6015911bdd4cfcdb23a32e146ba570 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Sep 4 21:25:12 2015 +0200 arm/arm64: KVM: Support edge-triggered forwarded interrupts We mark edge-triggered interrupts with the HW bit set as queued to prevent the VGIC code from injecting LRs with both the Active and Pending bits set at the same time while also setting the HW bit, because the hardware does not support this. However, this means that we must also clear the queued flag when we sync back a LR where the state on the physical distributor went from active to inactive because the guest deactivated the interrupt. At this point we must also check if the interrupt is pending on the distributor, and tell the VGIC to queue it again if it is. Since these actions on the sync path are extremely close to those for level-triggered interrupts, rename process_level_irq to process_queued_irq, allowing it to cater for both cases. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4b4b4512da2a844b8da2585609b67fae1ce4f4db Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 15:01:27 2015 +0200 arm/arm64: KVM: Rework the arch timer to use level-triggered semantics The arch timer currently uses edge-triggered semantics in the sense that the line is never sampled by the vgic and lowering the line from the timer to the vgic doesn't have any effect on the pending state of virtual interrupts in the vgic. This means that we do not support a guest with the otherwise valid behavior of (1) disable interrupts (2) enable the timer (3) disable the timer (4) enable interrupts. Such a guest would validly not expect to see any interrupts on real hardware, but will see interrupts on KVM. This patch fixes this shortcoming through the following series of changes. First, we change the flow of the timer/vgic sync/flush operations. Now the timer is always flushed/synced before the vgic, because the vgic samples the state of the timer output. This has the implication that we move the timer operations in to non-preempible sections, but that is fine after the previous commit getting rid of hrtimer schedules on every entry/exit. Second, we change the internal behavior of the timer, letting the timer keep track of its previous output state, and only lower/raise the line to the vgic when the state changes. Note that in theory this could have been accomplished more simply by signalling the vgic every time the state *potentially* changed, but we don't want to be hitting the vgic more often than necessary. Third, we get rid of the use of the map->active field in the vgic and instead simply set the interrupt as active on the physical distributor whenever the input to the GIC is asserted and conversely clear the physical active state when the input to the GIC is deasserted. Fourth, and finally, we now initialize the timer PPIs (and all the other unused PPIs for now), to be level-triggered, and modify the sync code to sample the line state on HW sync and re-inject a new interrupt if it is still pending at that time. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4cf1bc4c7cbf35983e565ab491142af59f03bb22 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 14:47:17 2015 +0200 arm/arm64: KVM: Add forwarded physical interrupts documentation Forwarded physical interrupts on arm/arm64 is a tricky concept and the way we deal with them is not apparently easy to understand by reading various specs. Therefore, add a proper documentation file explaining the flow and rationale of the behavior of the vgic. Some of this text was contributed by Marc Zyngier and edited by me. Omissions and errors are all mine. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 54723bb37feac347a169359536f3dff122cabca3 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 14:45:20 2015 +0200 arm/arm64: KVM: Use appropriate define in VGIC reset code We currently initialize the SGIs to be enabled in the VGIC code, but we use the VGIC_NR_PPIS define for this purpose, instead of the the more natural VGIC_NR_SGIS. Change this slightly confusing use of the defines. Note: This should have no functional change, as both names are defined to the number 16. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 8bf9a701e103fd17dbdf0355e43ff5200b4823aa Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 14:42:16 2015 +0200 arm/arm64: KVM: Implement GICD_ICFGR as RO for PPIs The GICD_ICFGR allows the bits for the SGIs and PPIs to be read only. We currently simulate this behavior by writing a hardcoded value to the register for the SGIs and PPIs on every write of these bits to the register (ignoring what the guest actually wrote), and by writing the same value as the reset value to the register. This is a bit counter-intuitive, as the register is RO for these bits, and we can just implement it that way, allowing us to control the value of the bits purely in the reset code. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 9103617df202d74e5c65f8af84a9aa727f812a06 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 25 22:50:57 2015 +0200 arm/arm64: KVM: vgic: Factor out level irq processing on guest exit Currently vgic_process_maintenance() processes dealing with a completed level-triggered interrupt directly, but we are soon going to reuse this logic for level-triggered mapped interrupts with the HW bit set, so move this logic into a separate static function. Probably the most scary part of this commit is convincing yourself that the current flow is safe compared to the old one. In the following I try to list the changes and why they are harmless: Move vgic_irq_clear_queued after kvm_notify_acked_irq: Harmless because the only potential effect of clearing the queued flag wrt. kvm_set_irq is that vgic_update_irq_pending does not set the pending bit on the emulated CPU interface or in the pending_on_cpu bitmask if the function is called with level=1. However, the point of kvm_notify_acked_irq is to call kvm_set_irq with level=0, and we set the queued flag again in __kvm_vgic_sync_hwstate later on if the level is stil high. Move vgic_set_lr before kvm_notify_acked_irq: Also, harmless because the LR are cpu-local operations and kvm_notify_acked only affects the dist Move vgic_dist_irq_clear_soft_pend after kvm_notify_acked_irq: Also harmless, because now we check the level state in the clear_soft_pend function and lower the pending bits if the level is low. Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit d35268da66870d733ae763fd7f9b06a1f63f395e Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 25 19:48:21 2015 +0200 arm/arm64: KVM: arch_timer: Only schedule soft timer on vcpu_block We currently schedule a soft timer every time we exit the guest if the timer did not expire while running the guest. This is really not necessary, because the only work we do in the timer work function is to kick the vcpu. Kicking the vcpu does two things: (1) If the vpcu thread is on a waitqueue, make it runnable and remove it from the waitqueue. (2) If the vcpu is running on a different physical CPU from the one doing the kick, it sends a reschedule IPI. The second case cannot happen, because the soft timer is only ever scheduled when the vcpu is not running. The first case is only relevant when the vcpu thread is on a waitqueue, which is only the case when the vcpu thread has called kvm_vcpu_block(). Therefore, we only need to make sure a timer is scheduled for kvm_vcpu_block(), which we do by encapsulating all calls to kvm_vcpu_block() with kvm_timer_{un}schedule calls. Additionally, we only schedule a soft timer if the timer is enabled and unmasked, since it is useless otherwise. Note that theoretically userspace can use the SET_ONE_REG interface to change registers that should cause the timer to fire, even if the vcpu is blocked without a scheduled timer, but this case was not supported before this patch and we leave it for future work for now. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 3217f7c25bca66eed9b07f0b8bfd1937169b0736 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Thu Aug 27 16:41:15 2015 +0200 KVM: Add kvm_arch_vcpu_{un}blocking callbacks Some times it is useful for architecture implementations of KVM to know when the VCPU thread is about to block or when it comes back from blocking (arm/arm64 needs to know this to properly implement timers, for example). Therefore provide a generic architecture callback function in line with what we do elsewhere for KVM generic-arch interactions. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 990995bad13c2bcf074f87236d1a6c5e09bd5eff Author: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Date: Tue Oct 20 19:45:38 2015 +0800 EDAC: Fix PAGES_TO_MiB macro misuse The PAGES_TO_MiB macro is used for unit conversion but the trace_mc_event() tracepoint expects a page address. Fix that. Signed-off-by: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445341538-24271-1-git-send-email-tanxiaojun@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a9ee34b70e07ce942806eda154e48ea3f754a76f Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Mon Jul 13 12:12:07 2015 +0530 drm/msm: Remove local fbdev emulation Kconfig option DRM_MSM_FBDEV config is used to enable/disable fbdev emulation for the msm kms driver. Replace this with the top level DRM_FBDEV_EMULATION config option where applicable. This also prevents build breaks caused by undefined drm_fb_helper_* functions when legacy fbdev support was disabled. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 883a1e867e0fe7c2dc2e5844ef692f80177631d5 Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Thu Sep 17 00:19:42 2015 +0800 ftrace: Calculate the correct dyn_ftrace number to report to the userspace Now, ftrace only calculate the dyn_ftrace number in the adding breakpoint loop, not in adding update and finish update loop. Calculate the correct dyn_ftrace, once ftrace reports the failure message to the userspace. Link: http://lkml.kernel.org/r/1442420382-13130-1-git-send-email-mnfhuang@xxxxxxxxx Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 464b01a48eb6be48bc58332e029760b5e40ea119 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 22 16:44:17 2015 -0300 perf ui tui: Register the error callbacks before initializing the widgets I.e. we want to tell the user about errors found during, for instance, the ui_browser initialization, so that a call to ui__warning() appears as a window waiting for a key to be pressed. 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ederrwizcl6mfz10vfobl5qq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d879eb5ad5d9e80cfc818c22fdd4335ebb5de063 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:53 2015 -0400 drm/msm/mdp5: Basic support for MDP5 v1.7 (MSM8996) This change adds the basic MDP5 support for MSM8996. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 8e2930c6cfb45acc00da9bd6779f5fdd6ec4cb03 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:52 2015 -0400 drm/msm/mdp: Add Software Pixel Extension support In order to produce an image, the scalar needs to be fed extra pixels. These top/bottom/left/right values depend on a various of factors, including resolution, scaling type, phase step and initial phase. Pixel Extension are programmed by hardware in most targets - and can be overwritten by software. For some targets (e.g.: msm8996), software *must* program those registers. In order to ease this computation, let's always use bilinear filters, which are easier to program from kernel. Eventually, all of these values will come down from user space for better quality. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 95651cd926bfa37036d7011a65421ab0db1b4959 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:51 2015 -0400 drm/msm/mdp5: Use the newly introduced enum mdp_component_type When calculating phase steps, let's use the same enum mdp_component_type in order to ease the readability; 0/1 indexes are a bit confusing and we now have explicit values to index this type of arrays. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 0afbe59edd3fd3618da67b4835b57ebcc4ac3abd Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:49 2015 -0400 drm/msm/hdmi: Add basic HDMI support for msm8996 The HDMI controller is new in MDP5 v1.7. As of now, this change doesn't reflect the novelty and only adds the basics so the probe gets triggered. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit d40325b43750eb4a8a81240e36fe38e9ccbcc9eb Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:47 2015 -0400 drm/msm/mdp5: Avoid printing error messages for optional clocks The current behavior is to try to get optional clocks and print a dev_err message in case of failure. This looks rather confusing and may increase with the amount of optional clocks. We may need a cleaner way to handle per-device clocks but in the meantime, let's reduce the amount of dev_err messages during the probe. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 5e921b19268d87a0c64f3181c0d3ea9df9eea972 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:46 2015 -0400 drm/msm: Fix IOMMU clean up path in case msm_iommu_new() fails msm_iommu_new() can fail and this change makes sure that we detect the failure and free the allocated domain before going any further. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 60fb49ca52ec304a937bcee14ae6acbe1e75562b Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:44 2015 -0400 drm/msm/mdp5: remove the cfg pointer from SMP struct We want to make sure we control all the information being passed down to SMP block. Having access to the cfg pointer here may create bad things in the future. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit e01b1bfd88f9c5ec32b471a5a696a79f45740e63 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Fri Sep 11 15:56:09 2015 -0400 drm/msm/dsi: Updata LNn_CFG4 register settings for 28nm PHY The current settings for 28nm PHY data lane CFG4 registers do not work with certain panels. This change is to modify them to hw recommended values. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 556a76e51b5c8e16986e2cc0a5e14306a4e2505a Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Aug 18 10:34:32 2015 -0700 drm: msm: dsi: Don't attempt changing voltage of switches In some configurations the supplies are voltage switches and not LDOs, making the set voltage call to fail. Check with the regulator framework if the supply can change voltage before attempting. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 8217e97ab9888651f4a5b24c682047457965349a Author: Rob Clark <robdclark@xxxxxxxxx> Date: Thu Oct 22 12:36:57 2015 -0400 drm/msm: update generated headers Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 39ff7cdb5a5e6b75dd049255615828c6531cd109 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Oct 21 11:57:20 2015 +0900 perf annotate: Fix 'annotate.use_offset' config variable usage The annotate__configs should be sorted so that it can use bsearch(3). However commit 0c4a5bcea460 ("perf annotate: Display total number of samples with --show-total-period") added a new config item at the end. This resulted in the 'annotate.use_offset' config variable cannot be found and perf terminated like below: $ perf report bad config file line 6 in ~/.perfconfig Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Martin LiÅ¡ka <mliska@xxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Taeung Song <treeze.taeung@xxxxxxxxx> Fixes: 0c4a5bcea460 ("perf annotate: Display total number of samples with --show-total-period") Link: http://lkml.kernel.org/r/1445396240-3428-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 76a26549eb367f683fbb394b7246bef5dc665f8c Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Oct 22 23:28:32 2015 +0900 perf tools: Improve call graph documents and help messages The --call-graph option is complex so we should provide better guide for users. Also change help message to be consistent with config option names. Now perf top will show help like below: $ perf top --call-graph Error: option `call-graph' requires a value Usage: perf top [<options>] --call-graph <record_mode[,record_size],print_type,threshold[,print_limit],order,sort_key[,branch]> setup and enables call-graph (stack chain/backtrace): record_mode: call graph recording mode (fp|dwarf|lbr) record_size: if record_mode is 'dwarf', max size of stack recording (<bytes>) default: 8192 (bytes) print_type: call graph printing style (graph|flat|fractal|none) threshold: minimum call graph inclusion threshold (<percent>) print_limit: maximum number of call graph entry (<number>) order: call graph order (caller|callee) sort_key: call graph sort key (function|address) branch: include last branch info to call graph (branch) Default: fp,graph,0.5,caller,function Requested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445524112-5201-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6536d910ef17d81597bb8b32adde21ce5ba08bbb Author: Aleksei Mamlin <mamlinav@xxxxxxxxx> Date: Thu Oct 22 13:38:56 2015 +0300 ARM: dts: sun4i: Enable audio codec on Marsboard A10. Enable on-chip audio codec on the Marsboard A10. Signed-off-by: Aleksei Mamlin <mamlinav@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 616fb38fa7a9599293e05ae1fa9acfaf73922434 Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Thu Oct 22 13:38:15 2015 -0400 locks: cleanup posix_lock_inode_wait and flock_lock_inode_wait All callers use locks_lock_inode_wait() instead. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 4f6563677ae833baad8003e14353241bc25da4fc Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Thu Oct 22 13:38:14 2015 -0400 Move locks API users to locks_lock_inode_wait() Instead of having users check for FL_POSIX or FL_FLOCK to call the correct locks API function, use the check within locks_lock_inode_wait(). This allows for some later cleanup. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit e55c34a66f87e78fb1fc6b623b78c5ad74b475af Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Thu Oct 22 13:38:13 2015 -0400 locks: introduce locks_lock_inode_wait() Users of the locks API commonly call either posix_lock_file_wait() or flock_lock_file_wait() depending upon the lock type. Add a new function locks_lock_inode_wait() which will check and call the correct function for the type of lock passed in. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit be908d21b2e9c2cab1ef568dfca4f9777611b3dd Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 16 12:04:04 2015 -0700 PCI: iproc: Fix header comment "Corporation" misspelling Fix an obvious "Broadcom Corporation" typo in a header comment. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ray Jui <rjui@xxxxxxxxxxxx> commit 792aeafa8ed08e5e18fb66ab93b470f78e619f75 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Oct 22 16:45:46 2015 +0900 perf tools: Defaults to 'caller' callchain order only if --children is enabled The caller callchain order is useful with --children option since it can show 'overview' style output, but other commands which don't use --children feature like 'perf script' or even 'perf report/top' without --children are better to keep callee order. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445499946-29817-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a2c10d39af49b00514f7cc7b750757fcc2174f0c Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Oct 22 15:28:49 2015 +0900 perf top: Support call-graph display options also Currently 'perf top --call-graph' option is same as 'perf record'. But 'perf top' also need to receive display options in 'perf report'. To do that, change parse_callchain_report_opt() to allow record options too. Now perf top can receive display options like below: $ perf top --call-graph Error: option `call-graph' requires a value Usage: perf top [<options>] --call-graph <mode[,dump_size],output_type,min_percent[,print_limit],call_order[,branch]> setup and enables call-graph (stack chain/backtrace) recording: fp dwarf lbr, output_type (graph, flat, fractal, or none), min percent threshold, optional print limit, callchain order, key (function or address), add branches $ perf top --call-graph callee,graph,fp Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445495330-25416-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 21cf62847d29392e51c37460856d3c3c57769c5e Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Oct 22 15:28:48 2015 +0900 perf tools: Move callchain help messages to callchain.h These messages will be used by 'perf top' in the next patch. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445495330-25416-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b6bd9c7d543ac160646a667470158c5da319a85c Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Aug 31 16:16:37 2015 -0500 tools lib traceevent: Support %ps/%pS Commits such as 65dd297ac25565 ("xfs: %pF is only for function pointers") caused a regression because pretty_print() didn't support %ps/%pS. The current %pf/%pF implementation in pretty_print() is what %ps/%pS is supposed to do, so use the same code for %ps/%pS. Addressing the incorrect %pf/%pF implementation is beyond the scope of this patch. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150831211637.GA12848@xxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7e26e9ff0a9301398bd7cf8d896536da3a54aa9a Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Oct 22 01:02:33 2015 -0700 pstore: Fix return type of pstore_is_mounted() This patch changes return type of pstore_is_mounted from int to bool. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 56ea37da3b93dfe46cb5c3ee0ee4cc44229ece47 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 3 18:35:14 2015 -0300 [media] m88ds3103: use own reg update_bits() implementation Device stopped to tuning some channels after regmap conversion. Reason is that regmap_update_bits() works a bit differently for partially volatile registers than old homemade routine. Return back to old routine in order to fix issue. Fixes: 478932b16052f5ded74685d096ae920cd17d6424 Cc: <stable@xxxxxxxxxx> # 4.2+ Reported-by: Mark Clarkstone <hello@xxxxxxxxxxxxxxxxxxxx> Tested-by: Mark Clarkstone <hello@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d18ca5b7ceca0e9674cb4bb2ed476b0fcbb23ba2 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Oct 6 00:22:23 2015 -0300 [media] rtl28xxu: fix control message flaws Add lock to prevent concurrent access for control message as control message function uses shared buffer. Without the lock there may be remote control polling which messes the buffer causing IO errors. Increase buffer size and add check for maximum supported message length. Link: https://bugzilla.kernel.org/show_bug.cgi?id=103391 Fixes: c56222a6b25c ("[media] rtl28xxu: move usb buffers to state") Cc: <stable@xxxxxxxxxxxxxxx> # 4.0+ Signed-off-by: Antti Palosaari <crope@xxxxxx> commit 17f38822038ba5d4dba79b72fd111bbf64173063 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Fri Oct 2 06:19:15 2015 -0300 [media] v4l2-flash-led-class: Add missing VIDEO_V4L2 Kconfig dependency Fixes the following randconfig problem: drivers/built-in.o: In function `v4l2_flash_release': (.text+0x12204f): undefined reference to `v4l2_async_unregister_subdev' drivers/built-in.o: In function `v4l2_flash_release': (.text+0x122057): undefined reference to `v4l2_ctrl_handler_free' drivers/built-in.o: In function `v4l2_flash_close': v4l2-flash-led-class.c:(.text+0x12208f): undefined reference to `v4l2_fh_is_singular' v4l2-flash-led-class.c:(.text+0x1220c8): undefined reference to `__v4l2_ctrl_s_ctrl' drivers/built-in.o: In function `v4l2_flash_open': v4l2-flash-led-class.c:(.text+0x12227f): undefined reference to `v4l2_fh_is_singular' drivers/built-in.o: In function `v4l2_flash_init_controls': v4l2-flash-led-class.c:(.text+0x12274e): undefined reference to `v4l2_ctrl_handler_init_class' v4l2-flash-led-class.c:(.text+0x122797): undefined reference to `v4l2_ctrl_new_std_menu' v4l2-flash-led-class.c:(.text+0x1227e0): undefined reference to `v4l2_ctrl_new_std' v4l2-flash-led-class.c:(.text+0x122826): undefined reference to `v4l2_ctrl_handler_setup' v4l2-flash-led-class.c:(.text+0x122839): undefined reference to `v4l2_ctrl_handler_free' drivers/built-in.o: In function `v4l2_flash_init': (.text+0x1228e2): undefined reference to `v4l2_subdev_init' drivers/built-in.o: In function `v4l2_flash_init': (.text+0x12293b): undefined reference to `v4l2_async_register_subdev' drivers/built-in.o: In function `v4l2_flash_init': (.text+0x122949): undefined reference to `v4l2_ctrl_handler_free' drivers/built-in.o:(.rodata+0x20ef8): undefined reference to `v4l2_subdev_queryctrl' drivers/built-in.o:(.rodata+0x20f10): undefined reference to `v4l2_subdev_querymenu' Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxx> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> commit 9d2b064c0ae42ad93b2a0c7da05daef312c96bcc Author: Abylay Ospan <aospan@xxxxxxxx> Date: Fri Sep 25 04:56:21 2015 -0300 [media] netup_unidvb: fix potential crash when spi is NULL Signed-off-by: Abylay Ospan <aospan@xxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 47810b4341ac9d2f558894bc5995e6fa2a1298f9 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Tue Sep 29 21:10:09 2015 -0300 [media] si2168: Bounds check firmware When reading the firmware and sending commands, the length must be bounds checked to avoid overrunning the size of the command buffer and smashing the stack if the firmware is not in the expected format: si2168 11-0064: found a 'Silicon Labs Si2168-B40' si2168 11-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw' si2168 11-0064: firmware download failed -95 Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: ffffffffa085708f Add the proper check. Cc: stable@xxxxxxxxxx Reported-by: Stuart Auchterlonie <sauchter@xxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a828d72df216c36e9c40b6c24dc4b17b6f7b5a76 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Tue Sep 29 21:10:10 2015 -0300 [media] si2157: Bounds check firmware When reading the firmware and sending commands, the length must be bounds checked to avoid overrunning the size of the command buffer and smashing the stack if the firmware is not in the expected format. Add the proper check. Cc: stable@xxxxxxxxxx Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 54bec3970cb5351d08866af1ea8b0787edd7ede3 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 21 12:47:11 2015 -0300 [media] ir-hix5hd2: drop the use of IRQF_NO_SUSPEND This driver doesn't claim the IR transmitter to be wakeup source. It even disables the clock and the IR during suspend-resume cycle. This patch removes yet another misuse of IRQF_NO_SUSPEND. Cc: Patrice Chotard <patrice.chotard@xxxxxx> Cc: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Cc: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 51a3ac5f4dc45120c78fad51096d989914801457 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 07:12:54 2015 -0300 [media] c8sectpfe: fix return of garbage The variable err was never initialized, that means we had been checking a garbage value in the for loop. Moreover if the segment is not outside the firmware file then also we have been returning the garbage. Initialize it to 0 so that on success we return the value and no need to check in the for loop also as it is initially 0 and whenever that value changes we have done a break from the loop. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bf447221a8791d0f5dd28b19336e31e48f05f04a Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Tue Sep 15 08:42:27 2015 -0300 [media] c8sectpfe: fix ininitialized error return on firmware load failure static analysis with cppcheck detected the following error: [drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1210]: (error) Uninitialized variable: ret ret is never initialised, so garbage is being returned. Instead return the error return from the call of request_firmware_nowait Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> commit a9c4e5cfebc44e6caa6b9299af5603f5c2da0c33 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Sep 13 19:45:21 2015 -0300 [media] lnbh25: Fix lnbh25_attach() function return type If CONFIG_DVB_LNBH25 is disabled, a stub static inline function is defined that just prints a warning about the driver being disabled but the function return type was wrong which caused a build error. Fixes: e025273b86fb ("[media] lnbh25: LNBH25 SEC controller driver") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> commit ebdd4b7e6a0dd86736eeb6b9e60b361ef64ccc30 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Sep 13 19:39:22 2015 -0300 [media] horus3a: Fix horus3a_attach() function parameters If CONFIG_DVB_HORUS3A is disabled a stub static inline function is defined that just prints a warning about the driver being disabled but the function parameters were wrong which caused a build error. Fixes: a5d32b358254f ("[media] horus3a: Sony Horus3A DVB-S/S2 tuner driver") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> commit 2995f0a1b607c12ff70581f9b76af02562928f99 Merge: 64aa1fe 6b61f24 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:43:03 2015 -0700 Merge tag 'mvebu-dt-4.4-2' of git://git.infradead.org/linux-mvebu into next/dt mvebu dt for 4.4 (part 2) - Add support for severals Armada-370-based Seagate NAS - Fix Ready NAS device tree - Modify SDHCI binding for A388-GP allowing using it on old and new version of the board * tag 'mvebu-dt-4.4-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: set SW polling as SDHCI card detection on A388-GP arm: mvebu: reorder nodes under internal-regs by address in RN2120 .dts file arm: mvebu: disable unused Armada RTC on ReadyNAS 102, 104 and 2120 ARM: mvebu: add DT support for Seagate Personal Cloud ARM: mvebu: add DT support for Seagate NAS 2 and 4-Bay Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7b192fb7b4b7c672b6fd257402adaf335bd046fd Merge: b96fc2f ef2cdcc Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:35:28 2015 -0700 Merge tag 'mvebu-cleanup-4.4-2' of git://git.infradead.org/linux-mvebu into next/cleanup mvebu cleanup for 4.4 (part 2) Remove code related to Armada 375 Z1 stepping no more supported in mainline * tag 'mvebu-cleanup-4.4-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: remove the workaround imprecise abort fault handler Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b52d2320276cfeb8e8eccdc1b87a3c078da255cf Merge: c2c73aa b97cecc Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:10:28 2015 -0700 Merge tag 'socfpga_defconfig_for_v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/defconfig SoCFPGA defconfig update for v4.4 - Add the FPGA manager config option * tag 'socfpga_defconfig_for_v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga_defconfig: enable fpga manager Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 64aa1fe18304078623119533c725e51aee69b534 Merge: 9174455 0cdbec6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:08:46 2015 -0700 Merge tag 'socfpga_for_v4.4_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt SoCFPGA dts cleanup for v4.4 - Re-order DTS nodes into correct alphabetical order * tag 'socfpga_for_v4.4_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: dts: sort nodes alphabetically Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1476253cef9dbfc1f7f6a1bd19252ca528cd63bd Author: Andrew Y. Kuksov <qxovxp@xxxxxxxxx> Date: Tue Jul 14 16:23:25 2015 +0300 spi: imx: fix ecspi mode setup Fixed problem with setting spi mode 0 or 1 after setting mode 2 or 3 SPI_MODE_0 and SPI_MODE_1 requires clock low when inactive. SPI_MODE_2 and SPI_MODE_3 requires clk high when inactive. Currently driver can just set bits in fields SCLK_PHA (SPI Clock/Data Phase Control), SCLK_POL (SPI Clock Polarity Control), SCLK_CTL (controls the inactive state of SCLK) ans SS_POL (SPI SS Polarity Select) of ECSPIx_CONFIGREG register. This patch allows driver to clear corresponding bits in these fields. Signed-off-by: Andrew Y. Kuksov <qxovxp@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9174455472edf6f373daefbdd9ca97ced0d6b399 Merge: ee04242b ebb2510 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:07:04 2015 -0700 Merge tag 'socfpga_dts_for_v4.4_part_2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt SoCFPGA DTS update for v4.4, part 2 - Add the FPGA manager node * tag 'socfpga_dts_for_v4.4_part_2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: dts: add fpga manager Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 825294cded91f3df99af864e4a67664cd1ccf911 Merge: 73ebb85 faf7ec4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:02:10 2015 -0700 Merge tag 'firmware/psci-1.0' of git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux into next/drivers This pull request contains patches that enable PSCI 1.0 firmware features for arm/arm64 platforms: - Lorenzo Pieralisi adds support for the PSCI_FEATURES call, manages various 1.0 specifications updates (power state id and functions return values) and provides PSCI v1.0 DT bindings - Sudeep Holla implements PSCI v1.0 system suspend support to enable PSCI based suspend-to-RAM * tag 'firmware/psci-1.0' of git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux: drivers: firmware: psci: add system suspend support drivers: firmware: psci: define more generic PSCI_FN_NATIVE macro drivers: firmware: psci: add PSCI v1.0 DT bindings drivers: firmware: psci: add extended stateid power_state support drivers: firmware: psci: add PSCI_FEATURES call drivers: firmware: psci: move power_state handling to generic code drivers: firmware: psci: add INVALID_ADDRESS return value Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b96fc2f3c145815359ac1f9f12cc5c852b9ba3f5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 19 13:05:33 2015 -0700 ARM: Remove __ref on hotplug cpu die path Now that __cpuinit has been removed, the __ref markings on these functions are useless. Remove them. This also reduces the size of the multi_v7_defconfig image: $ size before after text data bss dec hex filename 12683578 1470996 348904 14503478 dd4e36 before 12683274 1470996 348904 14503174 dd4d06 after presumably because now we don't have to jump to code in the .ref.text section and/or the noinline marking is removed. Cc: Shiraz Hashim <shiraz.linux.kernel@xxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: <linux-omap@xxxxxxxxxxxxxxx> Cc: <linux-arm-msm@xxxxxxxxxxxxxxx> Cc: <spear-devel@xxxxxxxxxxx> Cc: <linux-tegra@xxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Barry Song <baohua@xxxxxxxxxx> Acked-by: Andy Gross <agross@xxxxxxxxxxxxxx> Acked-by: Viresh Kumar <vireshk@xxxxxxxxxx> Acked-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4db7062c9a8bff92137bb2f381d81dd1bb5b7872 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Oct 16 17:01:36 2015 +0100 ARM: dts: fix gpio-keys wakeup-source property The keyboard driver for GPIO buttons(gpio-keys) checks for one of the two boolean properties to enable gpio buttons as wakeup source: 1. "wakeup-source" or 2. the legacy "gpio-key,wakeup" However juno, ste-snowball and emev2-kzm9d dts file have a undetected "wakeup" property to indictate the wakeup source. This patch fixes it by making use of "wakeup-source" property. Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Acked-by: Simon Horman <horms@xxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4901aa065bced55be5ae55b58fc032bfc727fdda Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Oct 20 19:13:45 2015 +0800 ASoC: Intel: Skylake: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0cc09e85186082d414a89f85ec1b7ff588547f10 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Oct 16 15:21:10 2015 +0100 ARM: Remove open-coded version of IRQCHIP_DECLARE Now that the IRQCHIP_DECLARE macro has been moved to linux/irqchip.h, it becomes possible to cleanup the open-coded versions of the same macro that have been added to some private irqchips implementations. Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Acked-by: Kukjin Kim <kgene@xxxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b3f2dcddd576a2a6e59c407109610206c4062c8f Author: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Date: Thu Oct 8 20:40:09 2015 +0800 ASoC: rockchip: i2s: share tx/rx lrck when symmetric_rates enabled share lrck_tx to lrck_rx when symmetric_rates enabled. Signed-off-by: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d307e01e41e830adac15e91d8cea38d8a53060a5 Author: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Date: Thu Oct 8 20:40:08 2015 +0800 ASoC: rockchip: add capture property rockchip,capture-channels: max capture channels, 2 channels default. Signed-off-by: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4c9c018b2ac72e6ffaeae472723023dc4fd99a88 Author: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Date: Thu Oct 8 20:40:07 2015 +0800 ASoC: rockchip: i2s: add 8 channels capture support support max 8 channels capture, please add property 'rockchip,capture-channels' in dts to enable this, if not, support 2 channels capture default. Signed-off-by: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 391ac3ef50b9ec575c4d5c6f055efe5096ac1957 Author: Songjun Wu <songjun.wu@xxxxxxxxx> Date: Thu Oct 8 18:13:32 2015 +0800 ASoC: atmel-classd: DT binding for Class D audio amplifier driver DT binding documentation for this new ASoC driver. Signed-off-by: Songjun Wu <songjun.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e0a25b6d18624140905d79775f9e1b05c12502f5 Author: Songjun Wu <songjun.wu@xxxxxxxxx> Date: Thu Oct 8 18:13:31 2015 +0800 ASoC: atmel-classd: add the Audio Class D Amplifier Add driver for the digital imput to PWM output stereo class D amplifier. It comes with filter, digitally controlled gain, an equalizer and a dmphase filter. Signed-off-by: Songjun Wu <songjun.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9aa2b26bd38cdae51adebbbcbb4bb06d38eed1dd Merge: 5f1e3c9 1fd377b Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 09:48:02 2015 -0700 Merge tag 'renesas-cleanup2-for-v4.4' 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.4 * Remove now unused legacy pm domain code * Add missing of_node_put to pm-rmobile * Corresct spelling of interrupt-names in renesas-memory-controller binding documentation * Correct signdness of CPU id in shmobile apmu implementation * Make some functions static as appropriate * tag 'renesas-cleanup2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: R-Mobile: add missing of_node_put ARM: shmobile: dt: Rename incorrect interrupt related binding ARM: shmobile: apmu: correct type of CPU id ARM: shmobile: r8a7779: Remove legacy PM Domain remainings ARM: shmobile: r8a7778: Make r8a7778_init_irq_dt() static ARM: shmobile: smp: Make shmobile_smp_apmu_cpu_shutdown() static Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c2c73aa8593b9996b9b6f85daf21956c7d655fb6 Merge: 7c83d2f fec3fb4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 09:46:49 2015 -0700 Merge tag 'renesas-defconfig2-for-v4.4' 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.4 * Enable HDMI output for Renesas RCar * tag 'renesas-defconfig2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: multi_v7_defconfig: enable HDMI output for Renesas RCar ARM: shmobile: defconfig: enable HDMI output for RCar Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7c83d2f79ec61590907f466787d8199ad0669beb Merge: d3b4aa7 4e7fb93 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 09:44:41 2015 -0700 Merge tag 'qcom-defconfig-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm into next/defconfig Qualcomm ARM Based defconfig Updates for v4.4 * Enable QCOM SMD/RPM in multi_v7_defconfig * Enable QCOM SMD/RPM in qcom_defconfig * tag 'qcom-defconfig-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm: ARM: multi_v7_defconfig: Enable QCOM SMD/RPM ARM: qcom_defconfig: Enable SMD-RPM regulators Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 942e4a30eb87a7565c1cd28a08825f58b0794711 Author: John Lin <john.lin@xxxxxxxxxxx> Date: Mon Sep 21 18:38:19 2015 +0800 ASoC: rt5645: Add dmi "Google Reks" for chrome Signed-off-by: John Lin <john.lin@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 50760cad9de969fe85b24465afe6396b8bbc6a3f Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 19 02:00:25 2015 +0200 ASoC: fsl-asoc-card: add AC'97 support Add AC'97 support to fsl-asoc-card using generic ASoC AC'97 CODEC. The SSI controller will silently enable any TX AC'97 slots that have their bits set in SLOTREQ received from CODEC and then will redirect some of playback samples there. That's why it is important to make sure that any of CODEC playback slots that can pull samples are set to slots 3/4 (standard PCM playback slots). Currently, this applies to S/PDIF slots as they were seen to pull samples sometimes even with S/PDIF output being disabled. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit beaa57dd986d4f398728c060692fc2452895cfd8 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Oct 22 18:24:12 2015 +0800 f2fs: fix to skip shrinking extent nodes In f2fs_shrink_extent_tree we should stop shrink flow if we have already shrunk enough nodes in extent cache. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a6be014e1d28339ba7c745fc4ac1efdbf6e2c1a2 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Oct 22 18:23:08 2015 +0800 f2fs: fix error path of ->symlink Now, in ->symlink of f2fs, we kept the fixed invoking order between f2fs_add_link and page_symlink since we should init node info firstly in f2fs_add_link, then such node info can be used in page_symlink. But we didn't fix to release meta info which was done before page_symlink in our error path, so this will leave us corrupt symlink entry in its parent's dentry page. Fix this issue by adding f2fs_unlink in the error path for removing such linking. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d3b4aa7f787e57d0a049f520c7083c6954803681 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 16:02:50 2015 +0200 ARM: multi_v7_defconfig: improve multi_v7_defconfig support for Berlin Some drivers used on a Marvell Berlin kernel were missing from multi_v7_defconfig. This series add them: * The pxa168 Ethernet driver is added as a loadable module. * The Berlin ADC driver is added as a loadable module. * Both the Berlin USB PHY and SATA PHY drivers are added, built-in, as they are required for the already available USB and SATA functionalities in multi_v7_defconfig. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7fee740697e0d9a57d618b6fec79e4c4e09fd606 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Oct 22 18:18:11 2015 +0800 f2fs: fix to clear GCed flag for atomic written page Atomic write page can be GCed, after committing this kind of page, we should clear the GCed flag for it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6bccb4955c1cc6335d76a9cad87b97c7b1457b8d Merge: 9299b24 58c9c87 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Thu Oct 22 17:30:08 2015 +0100 Merge branch 'irq/for-arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip This is an incremental fix for a patch previously pulled from tip irq/for-arm. * 'irq/for-arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq: Make the cpuhotplug migration code less noisy commit 1d387a3fd86f2acf70803262c5a5a5a89df0e097 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Thu Oct 8 09:37:51 2015 -0700 ASoC: Document DAI signal polarity Currently there is no clear definition of what FSYNC polarity is. Different drivers use its own definition of what is "normal" and what is "inverted" fsync. This leads to compatibility problems between drivers. For example TegraX1 driver assumes that DSP-A format with frames starting at rising FSYNC edge has "inverted" polarity, while RT5677 assumes it is "normal" polarity. Explicitly specify meaning of BCLK/FSYNC polarity to avoid future compatibility problems. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44d8fb30941d85800fbde0a1e3454b1fb23c5ecd Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 12:24:23 2015 +0200 spi/bcm63xx: move register definitions into the driver Move all register definitions and structs into the driver. This allows us dropping the platform_data struct and drop any arch specific includes. Make use of different device names to identify the version of the block we have. Since we now have full control over the message width, we can drop the size check, which was broken anyway, since it never set ret to any error code. Also since we now have no arch depedendent resources, we can now allow compiling it for any arch, hidden behind COMPILE_TEST. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4049dc1a43d1530eb462ec42201335e7b0439a80 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 12 17:27:08 2015 +0100 regulator: stw481x: compile on COMPILE_TEST The driver depends on MFD_STW481X but there isn't a build dependency so it's a good idea to allow the driver to always be built when the COMPILE_TEST option is enabled. That way, the driver can be built with a config generated by make allyesconfig and check if a patch would break the build. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 218d2ce2036f50d259dbcdd37a4db72cad6fc0d1 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Mon Oct 19 16:49:06 2015 -0700 ASoC: nau8825: Show device properties The codec device properties are printed for debugging. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c86ba612bdba4d267ce5aad30ff10b4d994e2b33 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Mon Oct 19 16:49:05 2015 -0700 ASoC: nau8825: Add FLL configuration snd_soc_codec_driver.set_pll is implemented to configure the FLL. The codec internal SYSCLK can be from either the MCLK pin directly, or the FLL. This is configured by snd_soc_codec_driver.set_pll. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 06515f83908d038d9e12ffa3dcca27a1b67f2de0 Author: David Mosberger-Tang <davidm@xxxxxxxxxx> Date: Tue Oct 20 14:26:47 2015 +0200 spi: atmel: Fix DMA-setup for transfers with more than 8 bits per word The DMA-slave configuration depends on the whether <= 8 or > 8 bits are transferred per word, so we need to call atmel_spi_dma_slave_config() with the correct value. Signed-off-by: David Mosberger <davidm@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit ee1d267423a1f8041e2b1a33fc23e4393c67677e Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Oct 20 00:39:03 2015 -0700 pstore: add pstore unregister pstore doesn't support unregistering yet. It was marked as TODO. This patch adds some code to fix it: 1) Add functions to unregister kmsg/console/ftrace/pmsg. 2) Add a function to free compression buffer. 3) Unmap the memory and free it. 4) Add a function to unregister pstore filesystem. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> [Removed __exit annotation from ramoops_remove(). Reported by Arnd Bergmann] Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 53e597b1d194910bef53ed0632da329fef497904 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Oct 22 13:11:56 2015 +0200 ALSA: Remove transfer_ack_{begin,end} callbacks from struct snd_pcm_runtime While there is nothing wrong with the transfer_ack_begin and transfer_ack_end callbacks per-se, the last documented user was part of the alsa-driver 0.5.12a package, which was released 14 years ago and even predates the upstream integration of the ALSA core and has subsequently been superseded by newer alsa-driver releases. This seems to indicate that there is no need for having these callbacks and they are just cruft that can be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a6dd1020d8ac55782f3e04856644cf68765f8c1b Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 22 12:01:05 2015 +0200 nvme: add missing endianess annotations in nvme_pr_command Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Fixes: ad4fd3610c27 ("NVMe: Add persistent reservation ops") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1d277a637a711af44574229c544c44126ad5bf32 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Thu Oct 15 14:10:52 2015 +0200 NVMe: Add persistent reservation ops Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> [hch: rebased, set PTPL=1] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0db65fcfcded76fe4f74e3ca9f4e2baf67b683ef Author: Bjørn Mork <bjorn@xxxxxxx> Date: Thu Oct 22 14:15:58 2015 +0200 qmi_wwan: add Sierra Wireless MC74xx/EM74xx New device IDs shamelessly lifted from the vendor driver. Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 199c6550694dcdf5f568ea9db6fe2b46d14e4fa5 Merge: d46a9d6 ca064bd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 07:46:05 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec Steffen Klassert says: ==================== pull request (net): ipsec 2015-10-22 1) Fix IPsec pre-encap fragmentation for GSO packets. From Herbert Xu. 2) Fix some header checks in _decode_session6. We skip the header informations if the data pointer points already behind the header in question for some protocols. This is because we call pskb_may_pull with a negative value converted to unsigened int from pskb_may_pull in this case. Skipping the header informations can lead to incorrect policy lookups. From Mathias Krause. 3) Allow to change the replay threshold and expiry timer of a state without having to set other attributes like replay counter and byte lifetime. Changing these other attributes may break the SA. From Michael Rossberg. 4) Fix pmtu discovery for local generated packets. We may fail dispatch to the inner address family. As a reault, the local error handler is not called and the mtu value is not reported back to userspace. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 998eb8079f03f44d4017d7941c082b4a57eb2db8 Merge: e9829b9 1a49a2f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 07:39:07 2015 -0700 Merge branch 'dsa-port_fdb_dump' Vivien Didelot says: ==================== net: dsa: implement port_fdb_dump in drivers Not all switch chips provide a Get Next kind of operation to dump FDB entries. It is preferred to let the driver handle the dump operation the way it works best for the chip. Thus, drop port_fdb_getnext and implement the port_fdb_dump operation in DSA, which pushes the switchdev FDB dump callback down to the drivers. mv88e6xxx is the only driver affected and is updated accordingly. v3 -> v4: fix rejects on latest net-next v2 -> v3: opencode switchdev_obj_dump_cb_t to avoid multiple typedef; use ether_addr_copy in fdb_dump v1 -> v2: fix a few "return err" instead of "goto unlock" in mv88e6xxx.c ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a49a2fbf8c15d63a0b5e60d935ec7d5d3d07fd5 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:43 2015 -0400 net: dsa: remove port_fdb_getnext No driver implements port_fdb_getnext anymore, and port_fdb_dump is preferred anyway, so remove this function from DSA. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c49471b6695c5bac0d36c30ca07b8c311cd7cc3 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:42 2015 -0400 net: dsa: mv88e6xxx: remove port_fdb_getnext Now that port_fdb_dump is implemented and even simpler, get rid of port_fdb_getnext. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f33475bd678e3c052f585d5660373ee7e957c742 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:41 2015 -0400 net: dsa: mv88e6xxx: implement port_fdb_dump Implement the port_fdb_dump DSA operation. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0e1a692ff17a37031af03599fbb3666e82c777b Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:40 2015 -0400 net: dsa: mv88e6xxx: write MAC outside of ATU Get Next code There is no need to write the MAC address before every Get Next operation, since ATU MAC registers are not cleared between calls. Move the _mv88e6xxx_atu_mac_write call outside of _mv88e6xxx_atu_getnext so future code could call ATU Get Next multiple times and save a few register access. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36d04ba127eeed94b003155129c7509a2139b474 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:39 2015 -0400 net: dsa: mv88e6xxx: write VID outside of VTU Get Next code There is no need to write the VLAN ID before every Get Next operation, since the VTU VID register is not cleared between calls. Move the VID write call in a _mv88e6xxx_vtu_vid_write function outside of _mv88e6xxx_vtu_getnext so future code could call VTU Get Next multiple times and save a few register accesses. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea70ba980666cffacb57d90d867b2c7952d90700 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:38 2015 -0400 net: dsa: add port_fdb_dump function Not all switch chips support a Get Next operation to iterate on its FDB. So add a more simple port_fdb_dump function for them. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d46a9d678e4c9fac1e968d0593e4dba683389324 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 08:42:22 2015 -0700 net: ipv6: Dont add RT6_LOOKUP_F_IFACE flag if saddr set 741a11d9e410 ("net: ipv6: Add RT6_LOOKUP_F_IFACE flag if oif is set") adds the RT6_LOOKUP_F_IFACE flag to make device index mismatch fatal if oif is given. Hajime reported that this change breaks the Mobile IPv6 use case that wants to force the message through one interface yet use the source address from another interface. Handle this case by only adding the flag if oif is set and saddr is not set. Fixes: 741a11d9e410 ("net: ipv6: Add RT6_LOOKUP_F_IFACE flag if oif is set") Cc: Hajime Tazaki <thehajime@xxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 001cf5048e99df7ddac2716ee9958083488b6071 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Oct 22 11:02:48 2015 +0200 of/overlay: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit e9829b9745b6e1683fd2a90842da498a2197299e Merge: c7fc9eb e5a9f8d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 07:28:41 2015 -0700 Merge tag 'mac80211-next-for-davem-2015-10-21' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== Here's another set of patches for the current cycle: * I merged net-next back to avoid a conflict with the * cfg80211 scheduled scan API extensions * preparations for better scan result timestamping * regulatory cleanups * mac80211 statistics cleanups * a few other small cleanups and fixes ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7fad948a7c22cf47ef4e3c3127cd961ff5e2d394 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Oct 22 11:02:49 2015 +0200 of/platform: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression n; expression root,e; @@ for_each_child_of_node(root,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 8363ccb917c6bd497392f5a6b716f46213d86495 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Oct 22 11:02:51 2015 +0200 of/irq: add missing of_node_put for_each_matching_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression n; expression e; identifier l; @@ for_each_matching_node(n,...) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? goto l; ) ... } ... l: ... when != n // </smpl> Besides the issue found by the semantic patch, this code also stores the device_node value in a list, which requires an of_node_get, and then cleans up the list on exit from the function, which requires an of_node_put. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 855ff2878ec5ef15f0a69a528b2ca676edfb3ee4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Oct 22 11:02:50 2015 +0200 of/unittest: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Combine the puts into code at the end of the function, for conciseness. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 468a32082b04c7febccfcd55b06ecbc438fcddcc Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Fri Oct 9 15:47:41 2015 +0200 spi: omap2-mcspi: disable other channels CHCONF_FORCE in prepare_message Since the "Switch driver to use transfer_one" change, the cs_change behavior has changed and a channel chip select can still be asserted when changing channel from a previous last transfer in a message having the cs_change attribute. Since there is no sense having multiple chip select being asserted at the same time, disable all the remaining forced chip selects in a the prepare_message called right before a spi_transfer_one_message call. It ignores the current channel configuration in order to keep the possibility to leave the chip select asserted between messages. It fixes this bug on a DM8168 SoC ES2.1 Soc and an OMAP4 ES2.1 SoC. It was hanging all the other channels transfers when a CHCONF_FORCE is present on the wrong channel. Fixes: b28cb9414db9 ("spi: omap2-mcspi: Switch driver to use transfer_one") Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Reviewed-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e300745a4c60f424eaf7c7b7cc6bab3e56380c89 Author: Uri Mashiach <uri.mashiach@xxxxxxxxxxxxxx> Date: Wed Oct 21 13:47:44 2015 +0300 devicetree: bindings: Document CompuLab vendor Add CompuLab Ltd. to the list of device tree vendor prefixes. CompuLab manufacturers ARM-based computer-on-module, system-on-module products, and miniature fanless-PCs. Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Uri Mashiach <uri.mashiach@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 656875dfdb7b392eafa00abef5a71c0ef741471b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 16:23:06 2015 +0200 serial: pl011: Spelling s/clocks-names/clock-names/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f517256a68670b84528c45b6f60f21461bb2c60f Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Oct 20 16:03:03 2015 -0500 Documentation/devicetree: Update PCI Device Tree bindings Update broken links to PCI bus and interrupt mapping bindings. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 92a93fd5bbe7dbe0ee7322c92e44a820f62bef90 Merge: 4ef7ea9 c96356a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 07:23:25 2015 -0700 Merge branch 'isdn-null-deref' Karsten Keil says: ==================== Fix potential NULL pointer access and memory leak in ISDN layer2 functions Insu Yun did brinup the issue with not checking the skb_clone() return value in the layer2 I-frame ull functions. This series fix the issue in a way which avoid protocol violations/data loss on a temporary memory shortage. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93e39a11520c000c9086215460bf27b35b09c724 Author: Mythri P K <mythri.p.k@xxxxxxxxx> Date: Tue Oct 20 22:30:08 2015 +0530 ASoC: dapm: Add snd_soc_dapm_kcontrol_widget() Given a kcontrol, we may want to access the parent widget and it's associated data. So export function to return it. Signed-off-by: Mythri P K <mythri.p.k@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 9b8ef9f6b3fcccc2b6ce4bb59d8ab55b36a8b8f0 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Tue Oct 20 22:30:07 2015 +0530 ASoC: dapm: Add startup & shutdown for dai_links For DAI link events, DSPs would like to get notified for startup and shutdown event as well apart for existing hw_params. This helps managing DSP resource allocation and freeup on these events So add support for startup and shutdown for snd_soc_dai_link_event() Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 19a2557b76d64f26c761925cb4fecefb5d72c099 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Tue Oct 20 22:30:06 2015 +0530 ASoC: dapm: Add kcontrol support for PGAs For DSPs we can define processing blocks as DAPM PGA widgets. Some of these proceesing blocks can be configured by usermode like EQ etc. So we need to add support of kcontrol for PGA widgets. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Mythri P K <mythri.p.k@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c96356a9baa2e3d628caf52f3b83df1968628b5f Author: Karsten Keil <keil@xxxxxxxxxxxxx> Date: Wed Oct 21 14:18:39 2015 +0200 mISDN: fix OOM condition for sending queued I-Frames The old code did not check the return value of skb_clone(). The extra skb_clone() is not needed at all, if using skb_realloc_headroom() instead, which gives us a private copy with enough headroom as well. We need to requeue the original skb if the call failed, because we cannot inform upper layers about the data loss. Restructure the code to minimise rollback effort if it happens. This fix kernel bug #86091 Thanks to Insu Yun <wuninsu@xxxxxxxxx> to remind me on this issue. Signed-off-by: Karsten Keil <keil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7a7c95e8e18a3598c4d0f99c35e69dce591daf1 Author: Karsten Keil <keil@xxxxxxxxxxxxx> Date: Wed Oct 21 14:18:38 2015 +0200 ISDN: fix OOM condition for sending queued I-Frames The skb_clone() return value was not checked and the skb_realloc_headroom() usage was wrong, the old skb was not freed. It turned out, that the skb_clone is not needed at all, the skb_realloc_headroom() will create a private copy with enough headroom and the original SKB can be used for the ACK queue. We need to requeue the original skb if the call failed, since the upper layer cannot be informed about memory shortage. Thanks to Insu Yun <wuninsu@xxxxxxxxx> to remind me on this issue. Signed-off-by: Karsten Keil <keil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f92ce7618f0cb0ced87ea1cfe994d2e8473c61b4 Merge: 307751e eb3fcf0 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Oct 22 09:22:09 2015 -0500 Merge branch 'dt-doc-cleanup' into for-next commit eb3fcf007fffe5830d815e713591f3e858f2a365 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Oct 1 22:24:09 2015 -0500 dt-bindings: consolidate interrupt controller bindings Move various interrupt controller bindings into the interrupt-controller/ directory. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx> Cc: linux-mediatek@xxxxxxxxxxxxxxxxxxx commit 62bc9f15e443c3ca02e47f13f339bd7993ae1e65 Author: Rob Herring <robh@xxxxxxxxxx> Date: Fri Sep 25 23:37:27 2015 -0500 dt-bindings: merge ina209 binding into ina2xx binding The ina209 binding only differs from other ina2xx bindings in the compatible string, so add it to the common binding and remove the ina209 binding file. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 5b0277af2e21c4ef4a12572badf66a4a4e827d51 Author: Rob Herring <robh@xxxxxxxxxx> Date: Fri Sep 25 23:29:00 2015 -0500 dt-bindings: move Calxeda bindings to appropriate subsystems Move the Calxeda memory controller and PHY bindings to appropriate subsystem directories. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 24aa40d3c122e57096a314b2503c1e4101f2e84f Author: Rob Herring <robh@xxxxxxxxxx> Date: Fri Sep 25 23:26:58 2015 -0500 dt-bindings: consolidate USB PHYs in bindings/phy Move USB PHY bindings under usb directory to phy directory which already contains other USB PHY bindings. The Samsung USB PHY binding is obsolete and can be removed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit d9d41df3e8ef39b7b2cfeb4e9a2ba5c7cf7cad88 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Sep 3 17:50:01 2015 -0500 dt-bindings: consolidate various misc bindings Move various bindings in misc to appropriate subsystem directories. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 4f2f76f1255444c034c7f95fbaa62b19387936a3 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Sep 3 17:49:07 2015 -0500 dt-bindings: consolidate RNG bindings We have RNG bindings in hwrng/ and rng/. Consolidate them all under rng/. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 58598f5be4fc15070fcb95a2ff36b7b966c3dee7 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Sep 3 17:47:47 2015 -0500 dt-bindings: consolidate eeprom bindings Create a top level eeprom binding directory and move several scattered binding files there. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 7755313e69aac99800c617ea835d86cd06f7f54c Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Sep 21 10:50:52 2015 -0500 dt-bindings: move backlight bindings under leds Backlights are generally a subtype of LEDs at least from a software point of view if not always electrically. Move the bindings from the video directory to underneath the leds dir. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit efdbd7345f8836f7495f3ac6ee237d86cb3bb6b0 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Sep 21 10:51:09 2015 -0500 dt-bindings: consolidate display related bindings This is a quite large renaming to consolidate display related bindings into a single "display" directory from various scattered locations of video, drm, gpu, fb, mipi, and panel. The prior location was somewhat based on the Linux driver location, but bindings should be independent of that. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 4ef7ea9195ea73262cd9730fb54e1eb726da157b Author: Jorgen Hansen <jhansen@xxxxxxxxxx> Date: Wed Oct 21 04:53:56 2015 -0700 VSOCK: sock_put wasn't safe to call in interrupt context In the vsock vmci_transport driver, sock_put wasn't safe to call in interrupt context, since that may call the vsock destructor which in turn calls several functions that should only be called from process context. This change defers the callling of these functions to a worker thread. All these functions were deallocation of resources related to the transport itself. Furthermore, an unused callback was removed to simplify the cleanup. Multiple customers have been hitting this issue when using VMware tools on vSphere 2015. Also added a version to the vmci transport module (starting from 1.0.2.0-k since up until now it appears that this module was sharing version with vsock that is currently at 1.0.1.0-k). Reviewed-by: Aditya Asarwade <asarwade@xxxxxxxxxx> Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Jorgen Hansen <jhansen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7fc9eb79a89049214f9870a6cf978050aaea43a Author: yankejian <yankejian@xxxxxxxxxx> Date: Wed Oct 21 17:57:44 2015 +0800 net: hisilicon: deals with the sub ctrl by syscon the global Soc configuration is treated by syscon, and sub ctrl bus is Soc bus. it has to be treated by syscon. Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: lisheng <lisheng011@xxxxxxxxxx> Signed-off-by: lipeng <lipeng321@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47191d65b647af5eb5c82ede70ed4c24b1e93ef4 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Wed Oct 21 11:47:43 2015 +0200 netlink: fix locking around NETLINK_LIST_MEMBERSHIPS Currently, NETLINK_LIST_MEMBERSHIPS grabs the netlink table while copying the membership state to user-space. However, grabing the netlink table is effectively a write_lock_irq(), and as such we should not be triggering page-faults in the critical section. This can be easily reproduced by the following snippet: int s = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE); void *p = mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0); int r = getsockopt(s, 0x10e, 9, p, (void*)((char*)p + 4092)); This should work just fine, but currently triggers EFAULT and a possible WARN_ON below handle_mm_fault(). Fix this by reducing locking of NETLINK_LIST_MEMBERSHIPS to a read-side lock. The write-lock was overkill in the first place, and the read-lock allows page-faults just fine. Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39e69f55f85731d9c0320c03212a4d1f149464f0 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Tue May 27 01:51:31 2014 +0530 powerpc: Introduce the use of the managed version of kzalloc This patch moves data allocated using kzalloc to managed data allocated using devm_kzalloc and cleans now unnecessary kfree in probe function. The following Coccinelle semantic patch was used for making the change: @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e, e1, e2; @@ probefn(struct platform_device *pdev, ...) { <+... - e = kzalloc(e1, e2) + e = devm_kzalloc(&pdev->dev, e1, e2) ... ?-kfree(e); ...+> } Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> commit ffcea122c42a856ac22dea75dc165fa070849f26 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jul 21 09:21:13 2015 +0200 powerpc: mpc512x: drop bogus and unused psc register bit definitions These were introduced in commit 25ae3a0739c6 ("[POWERPC] mpc512x: Add MPC512x PSC support to MPC52xx psc driver") and never used. Moreover according to the datasheet[1] MEMERROR is bit 25 (0x40) and ORERR is bit 27 (0x10). [1] MPC5125RM Rev. 2; 11/2009 Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> commit e9e6d79c521b91e7103fea37411680e31927487b Merge: aec1592 b08f2b3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 07:04:08 2015 -0700 Merge branch 'cxgb4-trivial-fixes' Hariprasad Shenai says: ==================== Trivial fixes for cxgb4 driver This patch series updates driver description for next gen. adapters, updates firmware info., returns error for setup_rss error case, restores L1 configuration in case of FW rejects new config, updates and aligns ethtool get stats settings, etc 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. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b08f2b35692e640e942deb49bbabe47a264f0023 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:57 2015 +0530 cxgb4: Update ethtool get_drvinfo to get regdump len Update ethtool get_drvinfo to display regdump len and also update firmware string version print to display N/A in case FW isn't present Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c673d156256f427657f0114eea981aaeefa3828 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:56 2015 +0530 cxgb4: Use vmalloc, if kmalloc fails Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ac5fe75df57299cfbd89eb35a36d979742a69d8 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:55 2015 +0530 cxgb4: Return error if setup_rss is called before probe Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52a5f8463b10e49da93190dd0ee24e7f1c4860fd Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:54 2015 +0530 cxgb4/cxgb4vf: Update driver desc. to include Chelsio T6 adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43eb4e82ebf7e3442a724ab9ecd69322eccad530 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:53 2015 +0530 cxgb4: Add info print to display number of MSI-X vectors allocated Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4116542897be9cb5eaae7fdbfd5b2ddeaaaaeaef Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:52 2015 +0530 cxgb4: Restore L1 cfg, if FW rejects new L1 cfg settings In the ethtool set_settings() routine we need to remember our old L1 Configuration in case the firmware rejects the request and then restore that. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9bfdad5ef555d92639a8b2a9e75e1f51ea3235d6 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:51 2015 +0530 cxgb4: Don't disallow turning off auto-negotiation For {1, 10, 40} Gb/s. Prohibiting turning off autonegotiation isn't anywhere in the standard. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eed7342d4b53a697603d568ab8d10561273def42 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:50 2015 +0530 cxgb4: Align ethtool get stat settings Align the ethtool get stats settings with the rest so it looks uniform Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aec15924740edc9886051593bc7769873be9498b Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Tue Oct 20 23:00:10 2015 -0700 openvswitch: Use dev_queue_xmit for vport send. With use of lwtunnel, we can directly call dev_queue_xmit() rather than calling netdev vport send operation. Following change make tunnel vport code bit cleaner. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99e28f18e3f4daa2091802e07ebeb4f541631320 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Tue Oct 20 20:47:46 2015 -0700 openvswitch: Fix incorrect type use. Patch fixes following sparse warning. net/openvswitch/flow_netlink.c:583:30: warning: incorrect type in assignment (different base types) net/openvswitch/flow_netlink.c:583:30: expected restricted __be16 [usertype] ipv4 net/openvswitch/flow_netlink.c:583:30: got int Fixes: 6b26ba3a7d ("openvswitch: netlink attributes for IPv6 tunneling") Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b696e5e93835cee114f24b5b106c73f9f8503ec0 Author: Helge Deller <deller@xxxxxx> Date: Thu Oct 22 15:45:18 2015 +0200 parisc: reduce syslog debug output Signed-off-by: Helge Deller <deller@xxxxxx> commit aa0bdd2995fb991f0c0f0145303803a0474c93e2 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Sep 19 11:43:07 2015 +0800 parisc: serial/mux: Convert to uart_console_device instead of open-coded The implementation of mux_console_device() is very similar to uart_console_device(). Setting .data field in mux_console then we can convert to use uart_console_device(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 7bc2d40ea690a37eccc2f514c96c56fdcda626b5 Author: Helge Deller <deller@xxxxxx> Date: Tue Sep 8 15:45:32 2015 +0200 parisc: Wire up userfaultfd syscall Signed-off-by: Helge Deller <deller@xxxxxx> commit b6096755f43c443101e6f5d3acc74efa746cb4ec Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Date: Mon Sep 7 12:15:51 2015 -0400 parisc: allocate sys_membarrier system call number Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Tested-by: Helge Deller <deller@xxxxxx> CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> CC: linux-api@xxxxxxxxxxxxxxx CC: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> CC: linux-parisc@xxxxxxxxxxxxxxx Signed-off-by: Helge Deller <deller@xxxxxx> commit 721daebbdb9ba44756a9695878ecca8aad38009b Merge: 63b11e7 3911169 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 06:42:23 2015 -0700 Merge branch 'bpf-perf' Alexei Starovoitov says: ==================== bpf_perf_event_output helper Over the last year there were multiple attempts to let eBPF programs output data into perf events by He Kuang and Wangnan. The last one was: https://lkml.org/lkml/2015/7/20/736 It was almost perfect with exception that all bpf programs would sent data into one global perf_event. This patch set takes different approach by letting user space open independent PERF_COUNT_SW_BPF_OUTPUT events, so that program output won't collide. Wangnan is working on corresponding perf patches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39111695b1b88a21e81983a38786d877e770da81 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Oct 20 20:02:35 2015 -0700 samples: bpf: add bpf_perf_event_output example Performance test and example of bpf_perf_event_output(). kprobe is attached to sys_write() and trivial bpf program streams pid+cookie into userspace via PERF_COUNT_SW_BPF_OUTPUT event. Usage: $ sudo ./bld_x64/samples/bpf/trace_output recv 2968913 events per sec Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a43eec304259a6c637f4014a6d4767159b6a3aa3 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Oct 20 20:02:34 2015 -0700 bpf: introduce bpf_perf_event_output() helper This helper is used to send raw data from eBPF program into special PERF_TYPE_SOFTWARE/PERF_COUNT_SW_BPF_OUTPUT perf_event. User space needs to perf_event_open() it (either for one or all cpus) and store FD into perf_event_array (similar to bpf_perf_event_read() helper) before eBPF program can send data into it. Today the programs triggered by kprobe collect the data and either store it into the maps or print it via bpf_trace_printk() where latter is the debug facility and not suitable to stream the data. This new helper replaces such bpf_trace_printk() usage and allows programs to have dedicated channel into user space for post-processing of the raw data collected. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa128e6a148a0a58355bd6814c6283515bbd028a Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Oct 20 20:02:33 2015 -0700 perf: pad raw data samples automatically Instead of WARN_ON in perf_event_output() on unpaded raw samples, pad them automatically. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 63b11e757d6dae570bc22450ec58a5b68cdf5c3c Author: Brenden Blanco <bblanco@xxxxxxxxxxxx> Date: Tue Oct 20 16:47:33 2015 -0700 ipvlan: read direct ifindex instead of iflink In the ipv4 outbound path of an ipvlan device in l3 mode, the ifindex is being grabbed from dev_get_iflink. This works for the physical device case, since as the documentation of that function notes: "Physical interfaces have the same 'ifindex' and 'iflink' values.". However, if the master device is a veth, and the pairs are in separate net namespaces, the route lookup will fail with -ENODEV due to outer veth pair being in a separate namespace from the ipvlan master/routing namespace. ns0 | ns1 | ns2 veth0a--|--veth0b--|--ipvl0 In ipvlan_process_v4_outbound(), a packet sent from ipvl0 in the above configuration will pass fl.flowi4_oif == veth0a to ip_route_output_flow(), but *net == ns1. Notice also that ipv6 processing is not using iflink. Since there is a discrepancy in usage, fixup both v4 and v6 case to use local dev variable. Tested this with l3 ipvlan on top of veth, as well as with single physical interface in the top namespace. Signed-off-by: Brenden Blanco <bblanco@xxxxxxxxxxxx> Reviewed-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34e45ad9378c31ef2b59e8bd63d62f0ca8e719a3 Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Oct 20 16:28:57 2015 -0500 net: phy: dp83848: Add TI DP83848 Ethernet PHY Add support for the TI DP83848 Ethernet PHY device. The DP83848 is a highly reliable, feature rich, IEEE 802.3 compliant single port 10/100 Mb/s Ethernet Physical Layer Transceiver supporting the MII and RMII interfaces. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba40a854ea4f9d81368dc023bd25ac4073058039 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 9 18:16:36 2015 -0400 ASoC: Intel: switch from ioremap_cache to memremap In preparation for deprecating ioremap_cache() convert its usage in skl-nhlt to memremap. Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dbf650b67bb4db1b95807d2aafe2d7cfafd458da Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Oct 20 13:17:40 2015 -0700 tcp: fastopen: limit max_qlen Allowing an application to set whatever limit for the list of recently RST fastopen sessions [1] is not wise, as it open ways to deplete kernel memory. Cap the user provided limit by somaxconn sysctl, like listen() backlog. [1] https://tools.ietf.org/html/rfc7413#section-5.1 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de03fe287bb62e7961ea51d8a1bbae3167852252 Author: Alexander Popov <alex.popov@xxxxxxxxx> Date: Mon Oct 12 00:08:02 2015 +0300 powerpc/512x: add a device tree binding for LocalPlus Bus FIFO Add a device tree binding for Freescale MPC512x LocalPlus Bus FIFO and introduce the document describing that binding. Signed-off-by: Alexander Popov <alex.popov@xxxxxxxxx> Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> commit 1a4bb93f795502e7e8350d4af1aa5909f15ffc28 Author: Alexander Popov <alex.popov@xxxxxxxxx> Date: Mon Oct 12 00:08:01 2015 +0300 powerpc/512x: add LocalPlus Bus FIFO device driver This driver for Freescale MPC512x LocalPlus Bus FIFO (called SCLPC in the Reference Manual) allows Direct Memory Access transfers between RAM and peripheral devices on LocalPlus Bus. Signed-off-by: Alexander Popov <alex.popov@xxxxxxxxx> Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> commit 6f6ddbb09d2a5baded0e23add3ad2d9e9417ab30 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Wed Oct 21 15:44:03 2015 +0200 i2c: at91: fix write transfers by clearing pending interrupt first In some cases a NACK interrupt may be pending in the Status Register (SR) as a result of a previous transfer. However at91_do_twi_transfer() did not read the SR to clear pending interruptions before starting a new transfer. Hence a NACK interrupt rose as soon as it was enabled again at the I2C controller level, resulting in a wrong sequence of operations and strange patterns of behaviour on the I2C bus, such as a clock stretch followed by a restart of the transfer. This first issue occurred with both DMA and PIO write transfers. Also when a NACK error was detected during a PIO write transfer, the interrupt handler used to wrongly start a new transfer by writing into the Transmit Holding Register (THR). Then the I2C slave was likely to reply with a second NACK. This second issue is fixed in atmel_twi_interrupt() by handling the TXRDY status bit only if both the TXCOMP and NACK status bits are cleared. Tested with a at24 eeprom on sama5d36ek board running a linux-4.1-at91 kernel image. Adapted to linux-next. Reported-by: Peter Rosin <peda@xxxxxxxxxxxxxx> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Tested-by: Peter Rosin <peda@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Fixes: 93563a6a71bb ("i2c: at91: fix a race condition when using the DMA controller") Cc: stable@xxxxxxxxxxxxxxx #4.1 commit 319d7f05dfb148935de46f2c7544ecf1e6332161 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 21 10:09:17 2015 +0300 i2c: designware: Fix build error when !CONFIG_PM_SLEEP Commit ("i2c: designware: Rename platform driver probe and PM functions") introduced "'dw_i2c_plat_prepare' undeclared here" and "'dw_i2c_plat_complete' undeclared here" build errors when CONFIG_PM_SLEEP is not set. Fix this by renaming NULL defined dw_i2c_prepare and dw_i2c_complete PM hooks to dw_i2c_plat_prepare and dw_i2c_plat_complete since this was obviously missing from the commit. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ef3e199a49c8e605e326ae60c5e156bfb1ca7e3d Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Oct 22 13:55:07 2015 +0800 ASoC: Intel: sst: only use sst-firmware when DW DMAC is available Currentlly, we use Synopsys DesignWare DMA Controller for baytrail/haswell/broadwell ADSP firmware loading, but for skylake, we don't use it, compiling sst-firmware.c may introduce error when CONFIG_DW_DMAC_CORE is not enabled: sound/built-in.o: In function `sst_dma_new': (.text+0xd7b38): undefined reference to `dw_dma_probe' sound/built-in.o: In function `sst_dma_free': (.text+0xd7c0a): undefined reference to `dw_dma_remove' Here we only compile sst-firmware when CONFIG_DW_DMAC_CORE is selected, to fix the linking error issue. Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8444f59fd7bd8aa079609e575c0688669b85bfcc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:12:45 2015 +0300 ASoC: wm2000: a couple harmless underflows We want these to be zero or one, but by mistake we also accept negative values. It's harmless but we should still clean it up. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ab8a54ea7914574c04c0ac441f9ab65ff21abd9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:11:09 2015 +0300 ASoC: es8328: harmless underflow in es8328_put_deemph() Valid values for "deemph" are zero and one but we accidentally allow negative values as well. It's harmless but it causes static checker warnings and we may as well clean it up. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e2a71b232d6b6270eda72ff659c31c97899c00d Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:10:48 2015 +0300 ASoC: wm8955: harmless underflow in wm8955_put_deemph() Valid values for "deemph" are zero and one, but we mistakenly allow negative values as well. It's harmless but we may as well clean it up. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d0197a5cad29ee58593eceac85cbb712430cd89 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:10:18 2015 +0300 ASoC: wm8903: harmless underflow in wm8903_put_deemph() Valid values for "deemph" are zero and one, but we accidentally allow negative values as well. It's harmless, but static checkers complain and we may as well clean it up. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c1fe81f2cd30c18d7df444697bac8051fdf2aee6 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:09:19 2015 +0300 ASoC: wm8960: harmless underflow in wm8960_put_deemph() We should only accept "deemph" values of zero and one, but by mistake we accept negatives as well. It's harmless but let's clean it up anyway. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 523bade22428d4c6742dd7bfb4c0259a23bb9ec3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:08:57 2015 +0300 ASoC: wm8731: harmless underflow in wm8731_put_deemph() The code tries to verify that "deemph" is zero or one, but it fails to account for that it can be negative. It's harmless because negatives are treated the same as one, but we should fix it just to silence the static checker warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 931dfa6931448ccfd12d4ccd8d1d9289ceb92439 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:08:18 2015 +0300 ASoC: wm8904: harmless underflow in wm8904_put_deemph() We try to check that "deemph" is zero or one, but because of an underflow bug, it can also be negative. It's fine, negative values are handled as non-zero. But it's messy and static checkers complain so let's fix it. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a3e123c1c4dc97b52bfcf57213eefbee9443a9bd Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Oct 12 17:49:52 2015 -0700 regulator: qcom-smd: Correct set_load() unit The set_load() op deals with uA while the SMD packets used mA, so convert as we're building the packet. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6f0c42269f000b1e346c84d9a589f17aa94c96d8 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Tue Oct 13 23:41:00 2015 +0800 ASoC: compress: add config item for soc-compress to make it compiled only when needed We don't always need soc-compress in soc, here add a config item SND_SOC_COMPRESS, when nobody select it, the soc-compress will not be compiled. Here also change Kconfig to 'select SND_SOC_COMPRESS' for drivers that needed soc-compress. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26d9ca3462df8f7e83fc372b23c8da5ed2b1c4f3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 17:04:33 2015 +0200 ASoC: Let snd_soc_limit_volume() take a snd_soc_card snd_soc_limit_volume() operates on a card and the CODEC that is passed in is only used to look up the card. Let it directly take the card instead. This makes it possible to use it when no snd_soc_codec is available. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0729a04977d497cf66234fd7f900ddcec3ef1c52 Author: Hezi Shahmoon <hezi@xxxxxxxxxxx> Date: Tue Oct 20 16:32:24 2015 +0200 i2c: mv64xxx: really allow I2C offloading Commit 00d8689b85a7 ("i2c: mv64xxx: rework offload support to fix several problems") completely reworked the offload support, but left a debugging-related "return false" at the beginning of the mv64xxx_i2c_can_offload() function. This has the unfortunate consequence that offloading is in fact never used, which wasn't really the intention. This commit fixes that problem by removing the bogus "return false". Fixes: 00d8689b85a7 ("i2c: mv64xxx: rework offload support to fix several problems") Signed-off-by: Hezi Shahmoon <hezi@xxxxxxxxxxx> [Thomas: reworked commit log and title.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit 7e610890b554951dc9afa20d22573761ca2915d6 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Oct 20 16:04:12 2015 +0100 powerpc: platforms: mpc52xx_lpbfifo: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> commit 83ea24fd45f8793706b9a259842ab3f144661e25 Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Thu Oct 15 18:23:32 2015 +0530 gpio: xlp: Convert to use gpiolib irqchip helpers commit "325f0a (MIPS: Netlogic: Use chip_data for irq_chip methods)" Updates "mips/netlogic/common/irq.c" to use chip_data to store interrupt controller data pointer. Before this commit handler_data was used to store interrupt controller data which caused errors while using gpiochip_set_chained_irqchip. Update XLP GPIO driver to use the gpiolib irqchip helpers. And add missing depends on OF_GPIO in Kconfig. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 58c9c87ca9dca99f269267f5aadcd051fef1637b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Oct 22 14:34:57 2015 +0200 genirq: Make the cpuhotplug migration code less noisy The original arm code has a pr_debug() statement for the case where the irq chip has no set_affinity() callback. That's sufficient for debugging and we really don't want to spam dmesg with useless warnings for the normal case. Fixes: f1e0bb0ad473: "genirq: Introduce generic irq migration for cpu hotunplug" Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Requested-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Yang Yingliang <yangyingliang@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> commit fc42112c0eaa6fc7c7fe61f8c6fb91b204b4d31d Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Oct 20 14:37:28 2015 +0200 regulator: core: Propagate voltage changes to supply regulators Until now changing the voltage of a regulator only ever effected the regulator itself, but never its supplies. It's a common pattern though to put LDO regulators behind switching regulators. The switching regulators efficiently drop the input voltage but have a high ripple on their output. The output is then cleaned up by the LDOs. For higher energy efficiency the voltage drop at the LDOs should be minimized. For this scenario we need to propagate the voltage change to the supply regulators. Another scenario where voltage propagation is desired is a regulator which only consists of a switch and thus cannot regulate voltages itself. In this case we can pass setting voltages to the supply. This patch adds support for voltage propagation. We do voltage propagation when the current regulator has a minimum dropout voltage specified or if the current regulator lacks a get_voltage operation (indicating it's a switch and not a regulator). Changing the supply voltage must be done carefully. When we are increasing the current regulators output we must first increase the supply voltage and then the regulator itself. When we are decreasing the current regulators voltage we must decrease the supply voltage after changing the current regulators voltage. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2098bf215f85fd92175bd9f851cfdc5df5b736e4 Merge: a204f41 5abe4f2 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Oct 22 13:34:04 2015 +0100 Merge remote-tracking branch 'regulator/topic/dropout' into HEAD commit 16566e47098211e30b3d8a0bc6a3576871ada8e8 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Oct 21 09:46:05 2015 +0800 ASoC: rt5640: Fill up the IN3's support Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 841fdde143a84cb71e168b4131e58e613d978e2a Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Oct 21 09:46:05 2015 +0800 ASoC: rt5640: Revise the input pin name of IN1 and IN2 in document of the devicetree Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4eb0f7abcefad2d4c127aa7502d3122635eddab0 Author: Jiada Wang <jiada_wang@xxxxxxxxxx> Date: Tue Oct 20 11:47:11 2015 +0900 ASoC: wm8962: mark cache_dirty flag after software reset in pm_resume By doing software reset of wm8962 in pm_resume, all registers which have already been set will be reset to default value without regmap interface be involved, thus driver need to mark cache_dirty flag, to let regcache can be updated by regcache_sync(). Signed-off-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b415b4d3122a466f3a73d86a1dd2dcdc13de7ef3 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:15:46 2015 +0000 ASoC: rsnd: remove duplicate parameter from rsnd_ssi_xxx() rsnd_ssi_use_busif() and rsnd_ssi_is_pin_sharing() are the function which returns current SSI status. But these requests duplicated parameter. This patch removes duplicated parameter. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 69819f527afba7a909a2aba32521a3bea8e3b60b Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:15:26 2015 +0000 ASoC: rsnd: remove unused rsnd_dma_to_ssi() macro rsnd_dma_to_ssi() is no longer used, let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c9929345018927acaf52c14c57d78116067be6c9 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:15:04 2015 +0000 ASoC: rsnd: rename rsnd_mod_hw_start/stop to rsnd_mod_power_on/off rsnd_mod_hw_start/stop were unclear naming. It became rsnd_mod_power_on/off by this patch Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 89e3e2c352a523be46be5104bf18e200a8ccd444 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:14:43 2015 +0000 ASoC: rsnd: fixup rsnd_dai_call() behavior for .stop/.quit Current rsnd_dai_call returns immediately if rsnd_mod_call return fail. Thus, each callback-count can be unbalanced for example .init was OK, start was OK, but, .stop was not OK. This case .quit should be called but isn't called. And, rsnd_dai_stream_quit() also not be called. rsnd_dai_call() should call all .stop/.quit eventhough it returns error. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 32a96d558d02581c32b09401b8aa5eecb3965d3e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:14:21 2015 +0000 ASoC: rsnd: fixup rsnd_dai_call() behavior for unimplemented method Current rsnd_dai_call didn't count callback-count if callback wasn't implemented. Thus, it counts can be unbalance. ex) .start : implemented .stop : not implemented This patch solve this issue Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1355720a3b3eba5604431d89d5cf69ce4ad51311 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:14:02 2015 +0000 ASoC: rsnd: fixup rsnd_mod_call() behavior for debug Indicating each module method as debug message before executing is readable/understandable. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b05ce4c0916dec0e31a12c35a3386e3ca3ed989a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:13:44 2015 +0000 ASoC: rsnd: fixup devm_request_irq() option on ssi.c bfc0cfe("ASoC: rsnd: don't use rsnd_mod_to_io() on rsnd_ssi_xxx()") tidyuped devm_request_irq() option from ssi to mod, but devm_free_irq() on rsnd_ssi_dma_remove() didn't modified. This patch fixups this issue. Otherwise kernel will output WARNING message. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9993c16d460e2965da4357575060373a5577167a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:13:27 2015 +0000 ASoC: rsnd: fixup struct rsnd_gen::res array size struct rsnd_gen :: res array size should be RSND_BASE_MAX, not RSND_REG_MAX. This patch fixup it, and indicates whether each data array size is based on what Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c9b9638f617871aa83c197eed8f068294c843b69 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:13:06 2015 +0000 ASoC: rsnd: fixup print debug message after read debug meesage for rsnd_mod_read() should be prints after read Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f9e3dc786a585e1ec371c446c62dcc77d0548629 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Oct 21 17:22:43 2015 +0300 drm/i915: add hotplug activation period to hotplug update mask commit 0706f17c307b056ff6f1848320ba82d76945a6ff Author: Egbert Eich <eich@xxxxxxx> Date: Wed Sep 23 16:15:27 2015 +0200 drm/i915: Avoid race of intel_crt_detect_hotplug() with HPD interrupt, v2 added a check with WARN to ensure only bits within the mask are enabled. Turns out that doesn't hold for G4X, which spits out: [ 2.641439] ------------[ cut here ]------------ [ 2.641444] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/i915/i915_irq.c:182 i915_hotplug_interrupt_update_locked+0x45/0x83() [ 2.641446] WARN_ON(bits & ~mask) etc. Add CRT_HOTPLUG_ACTIVATION_PERIOD_64 to the mask to fix the warning. Reported-and-tested-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> References: https://bugzilla.kernel.org/show_bug.cgi?id=104991 Fixes: 0706f17c307b ("drm/i915: Avoid race of intel_crt_detect_hotplug() with HPD interrupt, v2") Cc: Egbert Eich <eich@xxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445437363-3030-1-git-send-email-jani.nikula@xxxxxxxxx commit 45efccdbec3cd465c4776ed9ca1d7b1bba1b7e34 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 19 18:02:01 2015 -0700 netfilter: xt_TEE: fix NULL dereference iptables -I INPUT ... -j TEE --gateway 10.1.2.3 <crash> because --oif was not specified tee_tg_check() sets ->priv pointer to NULL in this case. Fixes: bbde9fc1824a ("netfilter: factor out packet duplication for IPv4/IPv6") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 13972adc3240ea8b18b44906b819c622941a64b6 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 22 12:29:27 2015 +0200 Bluetooth: Increase minor version of core module With the addition of support for diagnostic feature, it makes sense to increase the minor version of the Bluetooth core module. The module version is not used anywhere, but it gives a nice extra hint for debugging purposes. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit aeedebff6961d96e9df58799e6c3a93513d6f66b Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Oct 22 12:11:27 2015 +0200 ieee802154: 6lowpan: fix memory leak Looking at current situation of memory management in 6lowpan receive function I detected some invalid handling. After calling lowpan_invoke_rx_handlers we will do a kfree_skb and then NET_RX_DROP on error handling. We don't do this before, also on skb_share_check/skb_unshare which might manipulate the reference counters. After running some 'grep -r "dev_add_pack" net/' to look how others packet-layer receive callbacks works I detected that every subsystem do a kfree_skb, then NET_RX_DROP without calling skb functions which might manipulate the skb reference counters. This is the reason why we should do the same here like all others subsystems. I didn't find any documentation how the packet-layer receive callbacks handle NET_RX_DROP return values either. This patch will add a kfree_skb, then NET_RX_DROP handling for the "trivial checks", in case of skb_share_check/skb_unshare the kfree_skb call will be done inside these functions. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 88d07feb097b60fcca20ba63d2920b0f05a05fa0 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 22 10:49:39 2015 +0300 Bluetooth: Make hci_disconnect() behave correctly for all states There are a few places that don't explicitly check the connection state before calling hci_disconnect(). To make this API do the right thing take advantage of the new hci_abort_conn() API and also make sure to only read the clock offset if we're really connected. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 89e0ccc882c47a4553698a580bec70cd90bc6319 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 22 10:49:38 2015 +0300 Bluetooth: Take advantage of connection abort helpers Convert the various places mapping connection state to disconnect/cancel HCI command to use the new hci_abort_conn helper API. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dcc0f0d9ce839e1cc97b95d9dac364047bd1b975 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 22 10:49:37 2015 +0300 Bluetooth: Introduce hci_req helper to abort a connection There are several different places needing to make sure that a connection gets disconnected or canceled. The exact action needed depends on the connection state, so centralizing this logic can save quite a lot of code duplication. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a1857390e2a626cd44e494968fc1b41891caec66 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 22 12:06:09 2015 +0300 Bluetooth: hci_bcm: checking for ERR_PTR instead of NULL bt_skb_alloc() returns NULL on error, it never returns an ERR_PTR. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ca0752c5e3e6fad83d286a22d729390bd8004aec Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 22 09:48:37 2015 +0900 blkcg: don't create "io.stat" on the root cgroup The stat files on the root cgroup shows stats for the whole system and usually don't contain any information which isn't available through the usual system monitoring mechanisms. Some controllers skip collecting these duplicate stats to optimize cases where cgroup isn't used and later try to emulate the result on demand. This leads to complexities and subtle differences in the information shown through different channels. This is entirely unnecessary and cgroup v2 is dropping stat files which are duplicate from all controllers. This patch removes "io.stat" from the root hierarchy. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jens Axboe <axboe@xxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 336263770f8e0bc386491757c656e370ef442ef9 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Oct 21 00:04:29 2015 +0200 ARM: dts: sun4i: Add dts file for the pov protab2-ips9 tablet The Point of View protab2-ips9 is a tablet with a 9" ips 1024x768 lcd screen, microsd slot, headphones, mini hdmi, mini usb b and power barrel connectors. It uses a rtl8188cus usb wifi chip and a RDA 5875Y bluetooth chip attached to uart2. It has a bma250 accelerometer attached to i2c1 addr 0x18, this only works when ldo3 is set to 2.8 volt, otherwise i2c1 gets stuck, so for now we mark i2c1 as failed. It has a pixcir,pixcir_tangoc compatible touchscreen attached to i2c2 addr 0x5c. This is not enabled in this dts, because this variant of the pixcir_tangoc has separate wakeup and enable pins both of which need to be driven low before the touchscreen will work. Before we can enable this the pixcir driver and devicetree-bindings need to be extended to support these pins. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 39efe82a0275ea1dbef72d3be567ff8da826f1cd Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 22 12:30:26 2015 +0800 ARM: sun4i: Enable cubieboard audio codec The cubieboard uses the internal codec to output sound to its mini-jack. Enable it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit e54693ed82ae0fee934a21328536751afd293c80 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 10:37:01 2015 +0200 ARM: sun5i: chip: Enable the audio codec The CHIP v0.2 has a composite output on a mini-jack connector, the audio part being provided by the on-SoC codec. Enable it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit bc8362e6ec63d870cd51df7479f7e923e30c2c2a Author: Marcus Cooper <codekipper@xxxxxxxxx> Date: Wed Jun 10 16:31:01 2015 +0200 ARM: sun4i: Enable audio-codec on Mele A1000 Enable the audio-codec on the Mele A1000 top-set box. Signed-off-by: Marcus Cooper <codekipper@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 4d6b0f8e8638357b8c350f9c50ca5b742093be07 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri May 1 22:39:45 2015 +0200 ARM: sun7i: Enable cubieboard2 audio codec The cubieboard2 uses the internal codec to output sound to its mini-jack. Enable it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit faef4af445b030f148463a60a1efc62997ed49b4 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 18 01:10:05 2014 -0300 ARM: sun7i: dt: enable audio codec on Cubietruck This commit enables the on-chip audio codec present on the A20 SoC for the Cubietruck. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 4ba792e303e278052bb0ee60cce15d6d7dc15c7c Merge: 43e41ad e3d006c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 22 09:33: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: - Print branch filter state in verbose mode. (Andi Kleen) - Fix core dump caused by per-socket/core system-wide stat. (Kan Liang) - Update libtraceevent KVM plugin. (Paolo Bonzini) Infrastructure changes: - Add fixdep to 'tools/build' .gitignore. (Yunlong Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c81d555a264bde740adc314f3931046994534106 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 22 09:38:35 2015 +0300 Bluetooth: Fix crash in SMP when unpairing When unpairing the keys stored in hci_dev are removed. If SMP is ongoing the SMP context will also have references to these keys, so removing them from the hci_dev lists will make the pointers invalid. This can result in the following type of crashes: BUG: unable to handle kernel paging request at 6b6b6b6b IP: [<c11f26be>] __list_del_entry+0x44/0x71 *pde = 00000000 Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC Modules linked in: hci_uart btqca btusb btintel btbcm btrtl hci_vhci rfcomm bluetooth_6lowpan bluetooth CPU: 0 PID: 723 Comm: kworker/u5:0 Not tainted 4.3.0-rc3+ #1379 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.8.1-20150318_183358- 04/01/2014 Workqueue: hci0 hci_rx_work [bluetooth] task: f19da940 ti: f1a94000 task.ti: f1a94000 EIP: 0060:[<c11f26be>] EFLAGS: 00010202 CPU: 0 EIP is at __list_del_entry+0x44/0x71 EAX: c0088d20 EBX: f30fcac0 ECX: 6b6b6b6b EDX: 6b6b6b6b ESI: f4b60000 EDI: c0088d20 EBP: f1a95d90 ESP: f1a95d8c DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 CR0: 8005003b CR2: 6b6b6b6b CR3: 319e5000 CR4: 00000690 Stack: f30fcac0 f1a95db0 f82dc3e1 f1bfc000 00000000 c106524f f1bfc000 f30fd020 f1a95dc0 f1a95dd0 f82dcbdb f1a95de0 f82dcbdb 00000067 f1bfc000 f30fd020 f1a95de0 f1a95df0 f82d1126 00000067 f82d1126 00000006 f30fd020 f1bfc000 Call Trace: [<f82dc3e1>] smp_chan_destroy+0x192/0x240 [bluetooth] [<c106524f>] ? trace_hardirqs_on_caller+0x14e/0x169 [<f82dcbdb>] smp_teardown_cb+0x47/0x64 [bluetooth] [<f82dcbdb>] ? smp_teardown_cb+0x47/0x64 [bluetooth] [<f82d1126>] l2cap_chan_del+0x5d/0x14d [bluetooth] [<f82d1126>] ? l2cap_chan_del+0x5d/0x14d [bluetooth] [<f82d40ef>] l2cap_conn_del+0x109/0x17b [bluetooth] [<f82d40ef>] ? l2cap_conn_del+0x109/0x17b [bluetooth] [<f82c0205>] ? hci_event_packet+0x5b1/0x2092 [bluetooth] [<f82d41aa>] l2cap_disconn_cfm+0x49/0x50 [bluetooth] [<f82d41aa>] ? l2cap_disconn_cfm+0x49/0x50 [bluetooth] [<f82c0228>] hci_event_packet+0x5d4/0x2092 [bluetooth] [<c1332c16>] ? skb_release_data+0x6a/0x95 [<f82ce5d4>] ? hci_send_to_monitor+0xe7/0xf4 [bluetooth] [<c1409708>] ? _raw_spin_unlock_irqrestore+0x44/0x57 [<f82b3bb0>] hci_rx_work+0xf1/0x28b [bluetooth] [<f82b3bb0>] ? hci_rx_work+0xf1/0x28b [bluetooth] [<c10635a0>] ? __lock_is_held+0x2e/0x44 [<c104772e>] process_one_work+0x232/0x432 [<c1071ddc>] ? rcu_read_lock_sched_held+0x50/0x5a [<c104772e>] ? process_one_work+0x232/0x432 [<c1047d48>] worker_thread+0x1b8/0x255 [<c1047b90>] ? rescuer_thread+0x23c/0x23c [<c104bb71>] kthread+0x91/0x96 [<c14096a7>] ? _raw_spin_unlock_irq+0x27/0x44 [<c1409d61>] ret_from_kernel_thread+0x21/0x30 [<c104bae0>] ? kthread_parkme+0x1e/0x1e To solve the issue, introduce a new smp_cancel_pairing() API that can be used to clean up the SMP state before touching the hci_dev lists. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fc64361ac15318126c64193929616fc4832071a6 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 22 09:38:31 2015 +0300 Bluetooth: Disable auto-connection parameters when unpairing For connection parameters that are left around until a disconnection we should at least clear any auto-connection properties. This way a new Add Device call is required to re-set them after calling Unpair Device. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 759d2a932b82009a7039ef5567e7dcba153ce123 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu Oct 22 02:42:12 2015 -0400 tools/power turbostat: bugfix: print MAX_NON_TURBO_RATIO MSR_TURBO_ACTIVATION_RATIO: 0x00000016 (MAX_NON_TURBO_RATIO=6 lock=0) should print all 7 bits of MAX_NON_TURBO_RATIO (in decimal): MSR_TURBO_ACTIVATION_RATIO: 0x00000016 (MAX_NON_TURBO_RATIO=22 lock=0) Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 10e07f13c06690488087f5d3f2c59a9728def339 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:54 2015 +0300 IB/core: Remove smac and vlan id from path record The GID cache accompanies every GID with attributes. The GID attributes link the GID with its netdevice, which could be resolved to smac and vlan id easily. Since we've added the netdevice (ifindex and net) to the path record, storing the L2 attributes is duplicated data and hence these attributes are removed. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit aa744cc01fe0f21dfbe2744d3fd5f2fb3244c9b3 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:53 2015 +0300 IB/core: Remove smac and vlan id from qp_attr and ah_attr Smac and vlan id could be resolved from the GID attribute, and thus these attributes aren't needed anymore. Removing them. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5c266b2304fb886d1f2b1e3c5f5be91ff1c61254 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:52 2015 +0300 IB/cm: Remove the usage of smac and vid of qp_attr and cm_av The cm and cma don't need to explicitly handle vlan and smac, as they are resolved from the GID index now. Removing this portion of code. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit dbf727de7440f73c4b92be4b958cbc24977e8ca2 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:51 2015 +0300 IB/core: Use GID table in AH creation and dmac resolution Previously, vlan id and source MAC were used from QP attributes. Since the net device is now stored in the GID attributes, they could be used instead of getting this information from the QP attributes. IB_QP_SMAC, IB_QP_ALT_SMAC, IB_QP_VID and IB_QP_ALT_VID were removed because there is no known libibverbs that uses them. This commit also modifies the vendors (mlx4, ocrdma) drivers in order to use the new approach. ocrdma driver changes were done by Somnath Kotur <Somnath.Kotur@xxxxxxxxxxxxx> Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 99b27e3b5da0871cb43980960fb14ff625adffad Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:50 2015 +0300 IB/cache: Add ib_find_gid_by_filter cache API GID cache API users might want to search for GIDs with specific attributes rather than just specifying GID, net device and port. This is used in a later patch, where we find the sgid index by L2 Ethernet attributes. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit abae1b71dd37bab506b14a6cf6ba7148f4d57232 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:49 2015 +0300 IB/cma: cma_validate_port should verify the port and netdevice Previously, cma_validate_port searched for GIDs in IB cache and then tried to verify the found port. This could fail when there are identical GIDs on both ports. In addition, netdevice should be taken into account when searching the GID table. Fixing cma_validate_port to search only the relevant port's cache and netdevice. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c2c6ff134596e2691de7506667b712bef93cb1f0 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:48 2015 +0300 IB/cm: cm_init_av_by_path should find a GID by its netdevice Previously, the CM has searched the cache for any sgid_index whose GID matches the path's GID. Since the path record stores the net device, the CM should now search only for GIDs which originated from this net device. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ba36e37fd3ca3dc8f215b14bcfdccf9f41b65767 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:47 2015 +0300 IB/core: Add netdev to path record In order to find the sgid_index, one could just query the IB cache with the correct GID and netdevice. Therefore, instead of storing the L2 attributes directly in the path, we only store the ifindex and net and use them later to get the sgid_index. The vlan_id and smac L2 attributes are removed in a later patch. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d300ec528b799ca87935b3667f5563f397f00f85 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:46 2015 +0300 IB/core: Expose and rename ib_find_cached_gid_by_port cache API Sometime consumers might want to search for a GID in a specific port. For example, when a WC arrives and we want to search the GID that matches that port - it's better to search only the relevant port. Exposing and renaming ib_cache_gid_find_by_port in order to match the naming convention of the module. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 55ee3ab2e49a9ead850722ef47698243dd226d16 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:45 2015 +0300 IB/core: Add netdev and gid attributes paramteres to cache Adding an ability to query the IB cache by a netdev and get the attributes of a GID. These parameters are necessary in order to successfully resolve the required GID (when the netdevice is known) and get the Ethernet L2 attributes from a GID. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit fbfb6625ea2d1bd535db03838df381768a2d6865 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:42 2015 +0300 IB/mlx4: Add support for blocking multicast loopback QP creation user flag MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK is now supported downstream. In addition, this flag was supported only for IB_QPT_UD, now, with the new implementation it is supported for all QP types. Support IB_USER_VERBS_EX_CMD_CREATE_QP in order to get the flag from user space using the extension create qp command. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7b59f0f9516040157450443b9df591556c0c49a9 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:41 2015 +0300 IB/mlx4: Add counter based implementation for QP multicast loopback block Current implementation for MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK is not supported when link layer is Ethernet. This patch will add counter based implementation for multicast loopback prevention. HW can drop multicast loopback packets if sender QP counter index is equal to receiver QP counter index. If qp flag MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK is set and link layer is Ethernet, create a new counter and attach it to the QP so it will continue receiving multicast loopback traffic but it's own. The decision if to create a new counter is being made at the qp modification to RTR after the QP's port is set. When QP is destroyed or moved back to reset state, delete the counter. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 3ba8e31d5a4343fa042c976a9ce9c3c16946c92d Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:40 2015 +0300 IB/mlx4: Add IB counters table This is an infrastructure step for allocating and attaching more than one counter to QPs on the same port. Allocate a counters table and manage the insertion and removals of the counters in load and unload of mlx4 IB. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 74194fb9c80cedb3130d26802c52deec3caebc75 Author: Maor Gottlieb <maorg@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:39 2015 +0300 net/mlx4_en: Implement mcast loopback prevention for ETH qps Set the mcast loopback prevention bit in the QPC for ETH MLX QPs (not RSS QPs), when the firmware supports this feature. In addition, all rx ring QPs need to be updated in order not to enforce loopback checks. This prevents getting packets we sent both from the network stack and the HCA. Loopback prevention is done by comparing the counter indices of the sent and receiving QPs. If they're equal, packets aren't loopback-ed. Signed-off-by: Maor Gottlieb <maorg@xxxxxxxxxxxx> Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9a8928359736ab170303ee8a2cc15db54e3a4a8f Author: Maor Gottlieb <maorg@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:38 2015 +0300 net/mlx4_core: Add support for filtering multicast loopback Update device capabilities regarding HW filtering multicast loopback support. Add MLX4_UPDATE_QP_ETH_SRC_CHECK_MC_LB attribute to mlx4_update_qp to enable changing QP context to support filtering incoming multicast loopback traffic according the sender's counter index. Set the corresponding bits in QP context to force the loopback source checks if attribute is given and HW supports it. Signed-off-by: Maor Gottlieb <maorg@xxxxxxxxxxxx> Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ddf9529be19cb3674bd59c5b2a3375503663bba8 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:37 2015 +0300 IB/core: Allow setting create flags in QP init attribute Allow setting IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK at create_flags in ib_uverbs_create_qp_ex. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Reviewed-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6d8a74972b7115b41d4d17a4444c026755ca24be Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Wed Oct 21 17:00:42 2015 +0300 IB/core: Extend ib_uverbs_create_qp ib_uverbs_ex_create_qp follows the extension verbs mechanism. New features (for example, QP creation flags field which is added in a downstream patch) could used via user-space libraries without breaking the ABI. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Reviewed-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 963cab508296a06ed8063c848f32d74f2b4b4c26 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Sep 23 17:19:27 2015 +0530 iw_cxgb4: Adds support for T6 adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 279998059729422fc0d551b5deb266a174cbab47 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Sep 23 17:19:26 2015 +0530 cxgb4: T6 adapter lld support for iw_cxgb4 driver Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e2aacd963a06fc558a809ecb62f5833e6c340b28 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 10:08:59 2015 -0400 net: mdio-gpio: move platform data header This header file only contains the platform data structure definition, so move it to the include/linux/platform_data/ directory. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 844338e5a46f5d80566fa853c6168a78cdadab01 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 10:08:58 2015 -0400 ARM: gemini: remove unnecessary mdio-gpio includes Remove the inclusion of linux/mdio-gpio.h in nas4220b, wbd111 and wbd222 boards since mdio-gpio is not used. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 104eb270e665f4fcd8cb8c8ab4c4d4538c604e92 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Oct 20 10:42:24 2015 +0200 net: sun4i-emac: Properly free resources on probe failure and remove Fix sun4i-emac not releasing the following resources: -iomapped memory not released on probe-failure nor on remove -clock not getting disabled on probe-failure nor on remove -sram not being released on remove And while at it also add error checking to the clk_prepare_enable call done on probe. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6aa74d546ccb94c99a1e95fb461f8b0e9410a3e Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Tue Oct 20 14:56:00 2015 +0800 net: hisilicon: fix ptr_ret.cocci warnings drivers/net/ethernet/hisilicon/hns/hnae.c:442: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 CC: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit feec0cb3f20b837f8ca36e974267918d7a4497f8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 19 20:40:17 2015 -0700 ipv6: gro: support sit protocol Tom Herbert added SIT support to GRO with commit 19424e052fb4 ("sit: Add gro callbacks to sit_offload"), later reverted by Herbert Xu. The problem came because Tom patch was building GRO packets without proper meta data : If packets were locally delivered, we would not care. But if packets needed to be forwarded, GSO engine was not able to segment individual segments. With the following patch, we correctly set skb->encapsulation and inner network header. We also update gso_type. Tested: Server : netserver modprobe dummy ifconfig dummy0 8.0.0.1 netmask 255.255.255.0 up arp -s 8.0.0.100 4e:32:51:04:47:e5 iptables -I INPUT -s 10.246.7.151 -j TEE --gateway 8.0.0.100 ifconfig sixtofour0 sixtofour0 Link encap:IPv6-in-IPv4 inet6 addr: 2002:af6:798::1/128 Scope:Global inet6 addr: 2002:af6:798::/128 Scope:Global UP RUNNING NOARP MTU:1480 Metric:1 RX packets:411169 errors:0 dropped:0 overruns:0 frame:0 TX packets:409414 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:20319631739 (20.3 GB) TX bytes:29529556 (29.5 MB) Client : netperf -H 2002:af6:798::1 -l 1000 & Checked on server traffic copied on dummy0 and verify segments were properly rebuilt, with proper IP headers, TCP checksums... tcpdump on eth0 shows proper GRO aggregation takes place. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f3af27786913851e720bc9466d1abffcfa7aff6 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 19 20:17:59 2015 -0700 net: dummy: add more features While testing my SIT/GRO patch using netfilter TEE module and a dummy device, I found some features were missing : TSO IPv6, UFO, and encapsulated traffic. ethtool -k dummy0 now gives : ... tcp-segmentation-offload: on tx-tcp-segmentation: on tx-tcp-ecn-segmentation: on tx-tcp6-segmentation: on udp-fragmentation-offload: on ... tx-gre-segmentation: on tx-ipip-segmentation: on tx-sit-segmentation: on tx-udp_tnl-segmentation: on Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e754ec69ab69601420eb2ed58ece803d77c93f61 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Mon Oct 19 19:19:00 2015 -0700 openvswitch: Serialize nested ct actions if provided If userspace provides a ct action with no nested mark or label, then the storage for these fields is zeroed. Later when actions are requested, such zeroed fields are serialized even though userspace didn't originally specify them. Fix the behaviour by ensuring that no action is serialized in this case, and reject actions where userspace attempts to set these fields with mask=0. This should make netlink marshalling consistent across deserialization/reserialization. Reported-by: Jarno Rajahalme <jrajahalme@xxxxxxxxxx> 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 4f0909ee3d8e3514a274121f3bf217a4920fa12d Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Mon Oct 19 19:18:59 2015 -0700 openvswitch: Mark connections new when not confirmed. New, related connections are marked as such as part of ovs_ct_lookup(), but they are not marked as "new" if the commit flag is used. Make this consistent by setting the "new" flag whenever !nf_ct_is_confirmed(ct). Reported-by: Jarno Rajahalme <jrajahalme@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 1d008a1df927846788b9dc02e770f65951f98ddc Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Mon Oct 19 19:18:58 2015 -0700 openvswitch: Clarify conntrack COMMIT behaviour The presence of this attribute does not modify the ct_state for the current packet, only future packets. Make this more clear in the header definition. 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 9e384715e9e702704c6941c575f0e6b322132a3a Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Mon Oct 19 19:18:57 2015 -0700 openvswitch: Reject ct_state masks for unknown bits Currently, 0-bits are generated in ct_state where the bit position is undefined, and matches are accepted on these bit-positions. If userspace requests to match the 0-value for this bit then it may expect only a subset of traffic to match this value, whereas currently all packets will have this bit set to 0. Fix this by rejecting such masks. 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 e2e8009ff72ad2a795b67785f3238af152146368 Author: Renato Westphal <renatowestphal@xxxxxxxxx> Date: Mon Oct 19 18:51:34 2015 -0200 tcp: remove improper preemption check in tcp_xmit_probe_skb() Commit e520af48c7e5a introduced the following bug when setting the TCP_REPAIR sockoption: [ 2860.657036] BUG: using __this_cpu_add() in preemptible [00000000] code: daemon/12164 [ 2860.657045] caller is __this_cpu_preempt_check+0x13/0x20 [ 2860.657049] CPU: 1 PID: 12164 Comm: daemon Not tainted 4.2.3 #1 [ 2860.657051] Hardware name: Dell Inc. PowerEdge R210 II/0JP7TR, BIOS 2.0.5 03/13/2012 [ 2860.657054] ffffffff81c7f071 ffff880231e9fdf8 ffffffff8185d765 0000000000000002 [ 2860.657058] 0000000000000001 ffff880231e9fe28 ffffffff8146ed91 ffff880231e9fe18 [ 2860.657062] ffffffff81cd1a5d ffff88023534f200 ffff8800b9811000 ffff880231e9fe38 [ 2860.657065] Call Trace: [ 2860.657072] [<ffffffff8185d765>] dump_stack+0x4f/0x7b [ 2860.657075] [<ffffffff8146ed91>] check_preemption_disabled+0xe1/0xf0 [ 2860.657078] [<ffffffff8146edd3>] __this_cpu_preempt_check+0x13/0x20 [ 2860.657082] [<ffffffff817e0bc7>] tcp_xmit_probe_skb+0xc7/0x100 [ 2860.657085] [<ffffffff817e1e2d>] tcp_send_window_probe+0x2d/0x30 [ 2860.657089] [<ffffffff817d1d8c>] do_tcp_setsockopt.isra.29+0x74c/0x830 [ 2860.657093] [<ffffffff817d1e9c>] tcp_setsockopt+0x2c/0x30 [ 2860.657097] [<ffffffff81767b74>] sock_common_setsockopt+0x14/0x20 [ 2860.657100] [<ffffffff817669e1>] SyS_setsockopt+0x71/0xc0 [ 2860.657104] [<ffffffff81865172>] entry_SYSCALL_64_fastpath+0x16/0x75 Since tcp_xmit_probe_skb() can be called from process context, use NET_INC_STATS() instead of NET_INC_STATS_BH(). Fixes: e520af48c7e5 ("tcp: add TCPWinProbe and TCPKeepAlive SNMP counters") Signed-off-by: Renato Westphal <renatow@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36a28b21169d28db2a3409a4e2d4b9a7563c1a00 Merge: e535679 00db674 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 21 19:26:17 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Pablo Neira Ayuso says: ==================== Netfilter fixes for net The following patchset contains four Netfilter fixes for net, they are: 1) Fix Kconfig dependencies of new nf_dup_ipv4 and nf_dup_ipv6. 2) Remove bogus test nh_scope in IPv4 rpfilter match that is breaking --accept-local, from Xin Long. 3) Wait for RCU grace period after dropping the pending packets in the nfqueue, from Florian Westphal. 4) Fix sleeping allocation while holding spin_lock_bh, from Nikolay Borisov. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1974ed05ea90264d534a200e8a13932ad55f8b8 Author: Arad, Ronen <ronen.arad@xxxxxxxxx> Date: Mon Oct 19 09:23:28 2015 -0700 netlink: Rightsize IFLA_AF_SPEC size calculation if_nlmsg_size() overestimates the minimum allocation size of netlink dump request (when called from rtnl_calcit()) or the size of the message (when called from rtnl_getlink()). This is because ext_filter_mask is not supported by rtnl_link_get_af_size() and rtnl_link_get_size(). The over-estimation is significant when at least one netdev has many VLANs configured (8 bytes for each configured VLAN). This patch-set "rightsizes" the protocol specific attribute size calculation by propagating ext_filter_mask to rtnl_link_get_af_size() and adding this a argument to get_link_af_size op in rtnl_af_ops. Bridge module already used filtering aware sizing for notifications. br_get_link_af_size_filtered() is consistent with the modified get_link_af_size op so it replaces br_get_link_af_size() in br_af_ops. br_get_link_af_size() becomes unused and thus removed. Signed-off-by: Ronen Arad <ronen.arad@xxxxxxxxx> Acked-by: Sridhar Samudrala <sridhar.samudrala@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e53567948f82368247b4b1a63fcab4c76ef7d51c Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Mon Oct 19 11:43:11 2015 -0400 tipc: conditionally expand buffer headroom over udp tunnel In commit d999297c3dbbe ("tipc: reduce locking scope during packet reception") we altered the packet retransmission function. Since then, when restransmitting packets, we create a clone of the original buffer using __pskb_copy(skb, MIN_H_SIZE), where MIN_H_SIZE is the size of the area we want to have copied, but also the smallest possible TIPC packet size. The value of MIN_H_SIZE is 24. Unfortunately, __pskb_copy() also has the effect that the headroom of the cloned buffer takes the size MIN_H_SIZE. This is too small for carrying the packet over the UDP tunnel bearer, which requires a minimum headroom of 28 bytes. A change to just use pskb_copy() lets the clone inherit the original headroom of 80 bytes, but also assumes that the copied data area is of at least that size, something that is not always the case. So that is not a viable solution. We now fix this by adding a check for sufficient headroom in the transmit function of udp_media.c, and expanding it when necessary. Fixes: commit d999297c3dbbe ("tipc: reduce locking scope during packet reception") Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a4264a9250fc6d555ff305aa5e5168723805bb9 Author: Andreas Schwab <schwab@xxxxxxx> Date: Mon Oct 19 17:37:13 2015 +0200 net: cavium: change NET_VENDOR_CAVIUM to bool CONFIG_NET_VENDOR_CAVIUM is only used to hide/show config options and to include subdirectories in the build, so it doesn't make sense to make it tristate. Signed-off-by: Andreas Schwab <schwab@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45c8b7b175ceb2d542e0fe15247377bf3bce29ec Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Mon Oct 19 11:33:00 2015 -0400 tipc: allow non-linear first fragment buffer The current code for message reassembly is erroneously assuming that the the first arriving fragment buffer always is linear, and then goes ahead resetting the fragment list of that buffer in anticipation of more arriving fragments. However, if the buffer already happens to be non-linear, we will inadvertently drop the already attached fragment list, and later on trig a BUG() in __pskb_pull_tail(). We see this happen when running fragmented TIPC multicast across UDP, something made possible since commit d0f91938bede ("tipc: add ip/udp media type") We fix this by not resetting the fragment list when the buffer is non- linear, and by initiatlizing our private fragment list tail pointer to the tail of the existing fragment list. Fixes: commit d0f91938bede ("tipc: add ip/udp media type") Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1241365f1aeb24ef0ffe82970f7c558022ddc85f Author: James Morse <james.morse@xxxxxxx> Date: Mon Oct 19 16:31:55 2015 +0100 openvswitch: Allocate memory for ovs internal device stats. "openvswitch: Remove vport stats" removed the per-vport statistics, in order to use the netdev's statistics fields. "openvswitch: Fix ovs_vport_get_stats()" fixed the export of these stats to user-space, by using the provided netdev_ops to collate them - but ovs internal devices still use an unallocated dev->tstats field to count packets, which are no longer exported by this api. Allocate the dev->tstats field for ovs internal devices, and wire up ndo_get_stats64 with the original implementation of ovs_vport_get_stats(). On its own, "openvswitch: Fix ovs_vport_get_stats()" fixes the OOPs, unmasking a full-on panic on arm64: =============%<============== [<ffffffbffc00ce4c>] internal_dev_recv+0xa8/0x170 [openvswitch] [<ffffffbffc0008b4>] do_output.isra.31+0x60/0x19c [openvswitch] [<ffffffbffc000bf8>] do_execute_actions+0x208/0x11c0 [openvswitch] [<ffffffbffc001c78>] ovs_execute_actions+0xc8/0x238 [openvswitch] [<ffffffbffc003dfc>] ovs_packet_cmd_execute+0x21c/0x288 [openvswitch] [<ffffffc0005e8c5c>] genl_family_rcv_msg+0x1b0/0x310 [<ffffffc0005e8e60>] genl_rcv_msg+0xa4/0xe4 [<ffffffc0005e7ddc>] netlink_rcv_skb+0xb0/0xdc [<ffffffc0005e8a94>] genl_rcv+0x38/0x50 [<ffffffc0005e76c0>] netlink_unicast+0x164/0x210 [<ffffffc0005e7b70>] netlink_sendmsg+0x304/0x368 [<ffffffc0005a21c0>] sock_sendmsg+0x30/0x4c [SNIP] Kernel panic - not syncing: Fatal exception in interrupt =============%<============== Fixes: 8c876639c985 ("openvswitch: Remove vport stats.") Signed-off-by: James Morse <james.morse@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b246fb0f60d318cec6901a0326b94b50d5e1dcb Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Oct 21 19:00:31 2015 -0700 f2fs: don't need to submit bio on error case If commit_atomic_write is failed, we don't need to submit any bio. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f1900fb5eca2cf9b96837e4931165003918d7d29 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 08:26:05 2015 -0700 net: Really fix vti6 with oif in dst lookups 6e28b000825d ("net: Fix vti use case with oif in dst lookups for IPv6") is missing the checks on FLOWI_FLAG_SKIP_NH_OIF. Add them. Fixes: 42a7b32b73d6 ("xfrm: Add oif to dst lookups") Cc: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7b8b384b02f52b20a538e741c75c5d50c0e131f Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Oct 21 18:49:50 2015 -0700 f2fs: fix leakage of inmemory atomic pages If we got failure during commit_atomic_write, abort_volatile_write will be called, but will not drop the inmemory pages due to no FI_ATOMIC_FILE. Actually, there is no reason to check the flag in abort_volatile_write. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 53387c4e22ac33d27a552b3d56bad932bd32531b Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Mon Oct 19 09:21:37 2015 -0400 tipc: extend broadcast link window size The default fix broadcast window size is currently set to 20 packets. This is a very low value, set at a time when we were still testing on 10 Mb/s hubs, and a change to it is long overdue. Commit 7845989cb4b3da1db ("net: tipc: fix stall during bclink wakeup procedure") revealed a problem with this low value. For messages of importance LOW, the backlog queue limit will be calculated to 30 packets, while a single, maximum sized message of 66000 bytes, carried across a 1500 MTU network consists of 46 packets. This leads to the following scenario (among others leading to the same situation): 1: Msg 1 of 46 packets is sent. 20 packets go to the transmit queue, 26 packets to the backlog queue. 2: Msg 2 of 46 packets is attempted sent, but rejected because there is no more space in the backlog queue at this level. The sender is added to the wakeup queue with a "pending packets chain size" number of 46. 3: Some packets in the transmit queue are acked and released. We try to wake up the sender, but the pending size of 46 is bigger than the LOW wakeup limit of 30, so this doesn't happen. 5: Subsequent acks releases all the remaining buffers. Each time we test for the wakeup criteria and find that 46 still is larger than 30, even after both the transmit and the backlog queues are empty. 6: The sender is never woken up and given a chance to send its message. He is stuck. We could now loosen the wakeup criteria (used by link_prepare_wakeup()) to become equal to the send criteria (used by tipc_link_xmit()), i.e., by ignoring the "pending packets chain size" value altogether, or we can just increase the queue limits so that the criteria can be satisfied anyway. There are good reasons (potentially multiple waiting senders) to not opt for the former solution, so we choose the latter one. This commit fixes the problem by giving the broadcast link window a default value of 50 packets. We also introduce a new minimum link window size BCLINK_MIN_WIN of 32, which is enough to always avoid the described situation. Finally, in order to not break any existing users which may set the window explicitly, we enforce that the window is set to the new minimum value in case the user is trying to set it to anything lower. Fixes: 7845989cb4b3da1db ("net: tipc: fix stall during bclink wakeup procedure") Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9e6d153563d2ed69c6cd7fb4fa5ce4ca7c712eb Merge: 56fa9d0 0584f71 Author: Chris Mason <clm@xxxxxx> Date: Wed Oct 21 19:00:38 2015 -0700 Merge branch 'allocator-fixes' into for-linus-4.4 Signed-off-by: Chris Mason <clm@xxxxxx> commit 0584f718ed1f351fca5047a4b1ebba9b5ea41215 Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Oct 2 16:12:23 2015 -0400 Btrfs: don't do extra bitmap search in one bit case When we make ctl->unit allocations from a bitmap there is no point in searching for the next 0 in the bitmap. If we've found a bit we're done and can just exit the loop. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit cef404837002103584c7c82f1e3fc3ec5961f47b Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Oct 2 16:09:42 2015 -0400 Btrfs: keep track of largest extent in bitmaps We can waste a lot of time searching through bitmaps when we are heavily fragmented trying to find large contiguous areas that don't exist in the bitmap. So keep track of the max extent size when we do a full search of a bitmap so that next time around we can just skip the expensive searching if our max size is less than what we are looking for. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c759c4e16179e47e099f491011e6acd7858f8625 Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Oct 2 15:25:10 2015 -0400 Btrfs: don't keep trying to build clusters if we are fragmented If we are extremely fragmented then we won't be able to create a free_cluster. So if this happens set last_ptr->fragmented so that all future allcations will give up trying to create a cluster. When we unpin extents we will unset ->fragmented if we free up a sufficient amount of space in a block group. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a5e681d9bd641c4f0677e87d3a0c92a8f4f16293 Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Oct 1 14:54:10 2015 -0400 Btrfs: cut down on loops through the allocator We try really really hard to make allocations, but sometimes it is just not going to happen, especially when free space is extremely fragmented. So add a few short cuts through the looping states. For example if we couldn't allocate a chunk, just go straight to the NO_EMPTY_SIZE loop. If there are no uncached block groups and we've done a full search, go straight to the ALLOC_CHUNK stage. And finally if we already have empty_size and empty_cluster set to 0 go ahead and return -ENOSPC. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2968b1f48bd7366dd7310acde1ee6d1bf7791142 Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Oct 1 12:55:18 2015 -0400 Btrfs: don't continue setting up space cache when enospc If we hit ENOSPC when setting up a space cache don't bother setting up any of the other space cache's in this transaction, it'll just induce unnecessary latency. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4f4db2174d8d6cdc093cbb79d17fbfe0f4d9fbde Author: Josef Bacik <jbacik@xxxxxx> Date: Tue Sep 29 11:40:47 2015 -0400 Btrfs: keep track of max_extent_size per space_info When we are heavily fragmented we can induce a lot of latency trying to make an allocation happen that is simply not going to happen. Thankfully we keep track of our max_extent_size when going through the allocator, so if we get to the point where we are exiting find_free_extent with ENOSPC then set our space_info->max_extent_size so we can keep future allocations from having to pay this cost. We reset the max_extent_size whenever we release pinned bytes back into this space info so we can redo all the work. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 36af4e0737f6aa494e43497a5a34588a1d5cb12f Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Sep 25 16:13:11 2015 -0400 Btrfs: don't loop in allocator for space cache The space cache needs to have contiguous allocations, and the allocator tries to make allocations by reducing the amount of bytes requested and re-searching. But this just makes us waste time when we are very fragmented, so if we can't find our space just exit, don't bother trying to search again. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3204d33cda40d9bc97f257c441225d3713916661 Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Sep 24 10:46:10 2015 -0400 Btrfs: add a flags field to btrfs_transaction I want to set some per transaction flags, so instead of adding yet another int lets just convert the current two int indicators to flags and add a flags field for future use. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0b670dc44c91bd1e5fac15b5ac4c98c8bd255ca2 Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Sep 23 17:11:16 2015 -0400 Btrfs: fix prealloc under heavy fragmentation conditions If we are heavily fragmented we will continually try to prealloc the largest extent size we can every time we call btrfs_reserve_extent. This can be very expensive when we are heavily fragmented, burning lots of CPU cycles and loops through the allocator. So instead notice when we get a smaller chunk from the allocator than what we specified and use this as the new maximum size we try to allocate. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d0bd456074dca089579818312da7cbe726ad2ff9 Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Sep 23 14:54:14 2015 -0400 Btrfs: add fragment=* debug mount option In tracking down these weird bitmap problems it was helpful to artificially create an extremely fragmented file system. These mount options let us either fragment data or metadata or both. With these options I could reproduce all sorts of weird latencies and hangs that occur under extreme fragmentation and get them fixed. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d9ee522ba3ab51b7e3c6dfcf3743216371bc810f Author: Josef Bacik <jbacik@xxxxxx> Date: Mon Oct 5 10:35:29 2015 -0400 Btrfs: fix qgroup sanity tests With my changes to allow us to find old roots when resolving indirect refs I introduced a regression to the sanity tests. Since we don't really care to go down into the fs roots we just need to have the old behavior of returning ENOENT for dummy roots for the sanity tests. In the future if we want to get fancy we can populate the test fs trees with the references as well. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 161c3549b45aeef05451b6822d8aaaf39c7bedce Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Sep 24 16:17:39 2015 -0400 Btrfs: change how we wait for pending ordered extents We have a mechanism to make sure we don't lose updates for ordered extents that were logged in the transaction that is currently running. We add the ordered extent to a transaction list and then the transaction waits on all the ordered extents in that list. However are substantially large file systems this list can be extremely large, and can give us soft lockups, since the ordered extents don't remove themselves from the list when they do complete. To fix this we simply add a counter to the transaction that is incremented any time we have a logged extent that needs to be completed in the current transaction. Then when the ordered extent finally completes it decrements the per transaction counter and wakes up the transaction if we are the last ones. This will eliminate the softlockup. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 56fa9d0762ed17153c1bdff3c0aeeecbe522b504 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Oct 13 09:53:10 2015 +0800 btrfs: qgroup: Check if qgroup reserved space leaked Add check at btrfs_destroy_inode() time to detect qgroup reserved space leak. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 51773bec7ea352f3b9afa11ecfc72324c7977335 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Thu Oct 8 18:19:37 2015 +0800 btrfs: qgroup: Avoid calling btrfs_free_reserved_data_space in clear_bit_hook In clear_bit_hook, qgroup reserved data is already handled quite well, either released by finish_ordered_io or invalidatepage. So calling btrfs_qgroup_free_data() here is completely meaningless, and since btrfs_qgroup_free_data() will lock io_tree, so it can't be called with io_tree lock hold. This patch will add a new function btrfs_free_reserved_data_space_noquota() for clear_bit_hook() to cease the lockdep warning. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 14524a846eb52c18438e9bd5eb8cf1431fd57b44 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:22:44 2015 +0800 btrfs: fallocate: Add support to accurate qgroup reserve Now fallocate will do accurate qgroup reserve space check, unlike old method, which will always reserve the whole length of the range. With this patch, fallocate will: 1) Iterate the desired range and mark in data rsv map Only range which is going to be allocated will be recorded in data rsv map and reserve the space. For already allocated range (normal/prealloc extent) they will be skipped. Also, record the marked range into a new list for later use. 2) If 1) succeeded, do real file extent allocate. And at file extent allocation time, corresponding range will be removed from the range in data rsv map. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 81fb6f77a02678ddb0755c24f83c4ed5207da046 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Sep 28 16:57:53 2015 +0800 btrfs: qgroup: Add new trace point for qgroup data reserve Now each qgroup reserve for data will has its ftrace event for better debugging. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b9d0b38928e21560550bd3c1a278d6e004d3bde6 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:35:16 2015 +0800 btrfs: Add handler for invalidate page For btrfs_invalidatepage() and its variant evict_inode_truncate_page(), there will be pages don't reach disk. In that case, their reserved space won't be release nor freed by finish_ordered_io() nor delayed_ref handler. So we must free their qgroup reserved space, or we will leaking reserved space again. So this will patch will call btrfs_qgroup_free_data() for invalidatepage() and its variant evict_inode_truncate_page(). And due to the nature of new btrfs_qgroup_reserve/free_data() reserved space will only be reserved or freed once, so for pages which are already flushed to disk, their reserved space will be released and freed by delayed_ref handler. Double free won't be a problem. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 94ed938aba557aa798acf496f09afb289b619fcd Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:25:56 2015 +0800 btrfs: qgroup: Add handler for NOCOW and inline For NOCOW and inline case, there will be no delayed_ref created for them, so we should free their reserved data space at proper time(finish_ordered_io for NOCOW and cow_file_inline for inline). Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7cf5b97650f2ecefbd5afa2d58b61b289b6e3750 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:25:55 2015 +0800 btrfs: qgroup: Cleanup old inaccurate facilities Cleanup the old facilities which use old btrfs_qgroup_reserve() function call, replace them with the newer version, and remove the "__" prefix in them. Also, make btrfs_qgroup_reserve/free() functions private, as they are now only used inside qgroup codes. Now, the whole btrfs qgroup is swithed to use the new reserve facilities. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit df480633b891cf03301d87e56024a8ec3251da5b Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:25:54 2015 +0800 btrfs: extent-tree: Switch to new delalloc space reserve and release Use new __btrfs_delalloc_reserve_space() and __btrfs_delalloc_release_space() to reserve and release space for delalloc. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1ada3a62b56605befdfc34d6d1796601c0869103 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:25:53 2015 +0800 btrfs: extent-tree: Add new version of btrfs_delalloc_reserve/release_space Add new version of btrfs_delalloc_reserve_space() and btrfs_delalloc_release_space() functions, which supports accurate qgroup reserve. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d9d8b2a51a404c2d45b9dc4c755f62cb3ddb7c79 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:22:43 2015 +0800 btrfs: extent-tree: Switch to new check_data_free_space and free_reserved_data_space Use new reserve/free for buffered write and inode cache. For buffered write case, as nodatacow write won't increase quota account, so unlike old behavior which does reserve before check nocow, now we check nocow first and then only reserve data if we can't do nocow write. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4ceff0792d36256a5f879cec51c56e44db90b8ec Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:22:42 2015 +0800 btrfs: extent-tree: Add new version of btrfs_check_data_free_space and btrfs_free_reserved_data_space. Add new functions __btrfs_check_data_free_space() and __btrfs_free_reserved_data_space() to work with new accurate qgroup reserved space framework. The new function will replace old btrfs_check_data_free_space() and btrfs_free_reserved_data_space() respectively, but until all the change is done, let's just use the new name. Also, export internal use function btrfs_alloc_data_chunk_ondemand(), as now qgroup reserve requires precious bytes, some operation can't get the accurate number in advance(like fallocate). But data space info check and data chunk allocate doesn't need to be that accurate, and can be called at the beginning. So export it for later operations. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7174109c6548c4db85a383b8ae9d01469cddd110 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:22:41 2015 +0800 btrfs: qgroup: Use new metadata reservation. As we have the new metadata reservation functions, use them to replace the old btrfs_qgroup_reserve() call for metadata. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 55eeaf0578038c40baaf3cf9408c23e42cd2a2b8 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:08:38 2015 +0800 btrfs: qgroup: Introduce new functions to reserve/free metadata Introduce new functions btrfs_qgroup_reserve/free_meta() to reserve/free metadata reserved space. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 297d750b9f8d7e6f2dbdf8abc5aa3b5c656affdc Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:08:37 2015 +0800 btrfs: delayed_ref: release and free qgroup reserved at proper timing Qgroup reserved space needs to be released from inode dirty map and get freed at different timing: 1) Release when the metadata is written into tree After corresponding metadata is written into tree, any newer write will be COWed(don't include NOCOW case yet). So we must release its range from inode dirty range map, or we will forget to reserve needed range, causing accounting exceeding the limit. 2) Free reserved bytes when delayed ref is run When delayed refs are run, qgroup accounting will follow soon and turn the reserved bytes into rfer/excl numbers. As run_delayed_refs and qgroup accounting are all done at commit_transaction() time, we are safe to free reserved space in run_delayed_ref time(). With these timing to release/free reserved space, we should be able to resolve the long existing qgroup reserve space leak problem. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f64d5ca868214f9beb60108c82fcb96940132bfb Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:08:36 2015 +0800 btrfs: delayed_ref: Add new function to record reserved space into delayed ref Add new function btrfs_add_delayed_qgroup_reserve() function to record how much space is reserved for that extent. As btrfs only accounts qgroup at run_delayed_refs() time, so newly allocated extent should keep the reserved space until then. So add needed function with related members to do it. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f695fdcef83ac6972e0eda1d6588a56348f521a2 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 12 16:28:06 2015 +0800 btrfs: qgroup: Introduce functions to release/free qgroup reserve data space Introduce functions btrfs_qgroup_release/free_data() to release/free reserved data range. Release means, just remove the data range from io_tree, but doesn't free the reserved space. This is for normal buffered write case, when data is written into disc and its metadata is added into tree, its reserved space should still be kept until commit_trans(). So in that case, we only release dirty range, but keep the reserved space recorded some other place until commit_tran(). Free means not only remove data range, but also free reserved space. This is used for case for cleanup and invalidate page. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 524725537023bb25a371722b1329446e5a2adcdb Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 12 16:05:40 2015 +0800 btrfs: qgroup: Introduce btrfs_qgroup_reserve_data function Introduce a new function, btrfs_qgroup_reserve_data(), which will use io_tree to accurate qgroup reserve, to avoid reserved space leaking. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit fefdc55702a5f9f99778b6bdce4c4e1185ff943f Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 12 15:35:38 2015 +0800 btrfs: extent_io: Introduce new function clear_record_extent_bits() Introduce new function clear_record_extent_bits(), which will clear bits for given range and record the details about which ranges are cleared and how many bytes in total it changes. This provides the basis for later qgroup reserve codes. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d38ed27f0442c8cd520e093081127949d4bcf9bc Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 12 14:53:37 2015 +0800 btrfs: extent_io: Introduce new function set_record_extent_bits Introduce new function set_record_extent_bits(), which will not only set given bits, but also record how many bytes are changed, and detailed range info. This is quite important for later qgroup reserve framework. The number of bytes will be used to do qgroup reserve, and detailed range info will be used to cleanup for EQUOT case. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ac46777213e00e26b9210060586f473368c54da2 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 12 12:08:16 2015 +0800 btrfs: extent_io: Introduce needed structure for recoding set/clear bits Add a new structure, extent_change_set, to record how many bytes are changed in one set/clear_extent_bits() operation, with detailed changed ranges info. This provides the needed facilities for later qgroup reserve framework. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 851ce932242d5a79bef8fe625fce37cc2f27033e Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Fri Oct 16 13:53:20 2015 +0800 usb: chipidea: otg: don't wait vbus drops below BSV when starts host Some HW design may use ID pin state to control vbus for otg port, so before host role start, the vbus is already turned on, in this case, we do not need wait vbus dropping below BSV. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 46b95a1d66cc58163a6b3aa7c669ab6fec721404 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 23:55:35 2015 +0300 chipidea: ci_hdrc_pci: use PCI_VDEVICE() instead of PCI_DEVICE() Fix using the PCI_DEVICE() macro instead of less verbose PCI_VDEVICE(). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 5e249ef945b80edd3e50b85cbf5b565ab930552a Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Sep 16 09:24:19 2015 +0800 doc: dt-binding: ci-hdrc-usb2: split vendor specific properties Each vendor may have its specific properties, they are not belonged to common optional properties, split them from common's. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 52fe568e5d717e4c21a29a2a05a27f3dacc431d5 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Sep 16 15:52:32 2015 +0800 usb: chipidea: imx: add imx6ul usb support Add imx6ul usb support. Signed-off-by: Peter chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit c532e74c4ba8f06c5a94c9a79d75e3bf8e7266ff Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Oct 13 17:18:22 2015 +0800 doc: dt-binding: ci-hdrc-usb2: improve property description Improve the description of properties "tx-burst-size-dword" and "rx-burst-size-dword". Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Cc: Shanw Guo <shawnguo@xxxxxxxxxx> commit 5cb377c52fe464c5cdc722944bc0c62a8cb10312 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Sep 9 16:33:02 2015 +0800 usb: chipidea: imx: add usb support for imx7d Add imx7d usb support. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> commit 17aa4450f8ac5390d517f03b3f25a54c5aeebe87 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 8 22:18:15 2015 -0300 Doc: usb: ci-hdrc-usb2: Add phy-clkgate-delay-us entry Add an entry for the optional 'phy-clkgate-delay-us' property that is used to describe the delay time between putting PHY into low power mode and turning off the PHY clock. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 1fbf46280eb6866c762de5ec8ba35f09097b0d53 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 8 22:18:14 2015 -0300 usb: chipidea: Add support for 'phy-clkgate-delay-us' property Add support for the optional 'phy-clkgate-delay-us' property that is used to describe the delay time between putting PHY into low power mode and turning off the PHY clock. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 3ecb3e09b042e70799ff3a1ff464a5ecaa7547d9 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Sep 7 14:45:25 2015 +0300 usb: chipidea: Use extcon framework for VBUS and ID detect On recent Qualcomm platforms VBUS and ID lines are not routed to USB PHY LINK controller. Use extcon framework to receive connect and disconnect ID and VBUS notification. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit a408365c62762c30419018587cffd2b89836434e Merge: a0d58e4 0305cd5 Author: Chris Mason <clm@xxxxxx> Date: Wed Oct 21 18:23:59 2015 -0700 Merge branch 'integration-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/fdmanana/linux into for-linus-4.4 commit a0d58e48db58801a0e764e9b9c87e1782d390fcb Merge: 6db4a73 ddd664f Author: Chris Mason <clm@xxxxxx> Date: Wed Oct 21 18:21:40 2015 -0700 Merge branch 'cleanups/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.4 commit 0f89abf56abbd0e1c6e3cef9813e6d9f05383c1e Author: Christian Engelmayer <cengelma@xxxxxx> Date: Wed Oct 21 00:50:06 2015 +0200 btrfs: fix possible leak in btrfs_ioctl_balance() Commit 8eb934591f8b ("btrfs: check unsupported filters in balance arguments") adds a jump to exit label out_bargs in case the argument check fails. At this point in addition to the bargs memory, the memory for struct btrfs_balance_control has already been allocated. Ownership of bctl is passed to btrfs_balance() in the good case, thus the memory is not freed due to the introduced jump. Make sure that the memory gets freed in any case as necessary. Detected by Coverity CID 1328378. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2b5f900e4fb18d85fc62d4efcf4e7016fc384806 Merge: 1f43710 090425c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 22 10:31:43 2015 +1000 Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next rcar-du support for r8a7793/4 * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev: drm: rcar-du: Add support for the R8A7794 DU drm: rcar-du: Add support for the R8A7793 DU commit 1f43710a8e3d0de5dcbf14d3d8a0b5f31126396f Merge: affa0e0 98a4450 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 22 10:23:31 2015 +1000 Merge tag 'drm-vc4-next-2015-10-21' of http://github.com/anholt/linux into drm-next This pull request introduces the vc4 driver, for kernel modesetting on the Raspberry Pi (bcm2835/bcm2836 architectures). It currently supports a display plane and cursor on the HDMI output. The driver doesn't do 3D, power management, or overlay planes yet. [airlied: fixup the enable/disable vblank APIs] Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> * tag 'drm-vc4-next-2015-10-21' of http://github.com/anholt/linux: drm/vc4: Allow vblank to be disabled drm/vc4: Use the fbdev_cma helpers drm/vc4: Add KMS support for Raspberry Pi. drm/vc4: Add devicetree bindings for VC4. commit f63d19ef52aa66e97fca2425974845177ce02b0a Merge: 938ce30 0064c86 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Oct 21 17:28:19 2015 -0700 Merge branch 'clk-iproc' into clk-next * clk-iproc: clk: iproc: define Broadcom NS2 iProc clock binding clk: iproc: define Broadcom NSP iProc clock binding clk: ns2: add clock support for Broadcom Northstar 2 SoC clk: iproc: Separate status and control variables clk: iproc: Split off dig_filter clk: iproc: Add PLL base write function clk: nsp: add clock support for Broadcom Northstar Plus SoC clk: iproc: Add PWRCTRL support clk: cygnus: Convert all macros to all caps ARM: cygnus: fix link failures when CONFIG_COMMON_CLK_IPROC is disabled commit c50f13f911b90a722308bffbf26187ff3890aa1e Merge: c2a7558 677c884 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 22 10:24:55 2015 +1000 Merge branch 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Just a crash fix for radeon and amdgpu if the user has forcibly disabled dpm and tries to access the pwm sysfs controls. * 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux: drm/amdgpu: add missing dpm check for KV dpm late init drm/amdgpu/dpm: don't add pwm attributes if DPM is disabled drm/radeon/dpm: don't add pwm attributes if DPM is disabled commit c2a75586ff27ee7636bb2bf33ee66992a6603e49 Merge: 37363bc 18e9345 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 22 10:24:21 2015 +1000 Merge tag 'drm-intel-fixes-2015-10-16' of git://anongit.freedesktop.org/drm-intel into drm-fixes The revert dance could use some explanation: we had stuff fixed in -next, and initially backported one commit to v4.3. Now, turns out we need more fixes, and we could cherry-pick them all without conflicts if we reverted the backported one first. So did that to not have to edit and backport them all. * tag 'drm-intel-fixes-2015-10-16' of git://anongit.freedesktop.org/drm-intel: drm/i915: Add primary plane to mask if it's visible drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() drm/i915: Assign hwmode after encoder state readout Revert "drm/i915: Add primary plane to mask if it's visible" drm/i915: Deny wrapping an userptr into a framebuffer drm/i915: Enable DPLL VGA mode before P1/P2 divider write drm/i915: Restore lost DPLL register write on gen2-4 drm/i915: Flush pipecontrol post-sync writes drm/i915: Fix kerneldoc for i915_gem_shrink_all commit 0064c862340626400a56d72e5e86f01ef0d5a498 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:33 2015 -0400 clk: iproc: define Broadcom NS2 iProc clock binding Document the device tree bindings for Broadcom Northstar 2 architecture based clock controller Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7f3c46327fb94451d2f04c48ffc43e2bab7233f5 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:32 2015 -0400 clk: iproc: define Broadcom NSP iProc clock binding Document the device tree bindings for Broadcom Northstar Plus architecture based clock controller Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f7225a832dde995325b486b41728dfbe4634311c Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:31 2015 -0400 clk: ns2: add clock support for Broadcom Northstar 2 SoC The Broadcom Northstar 2 SoC is architected under the iProc architecture. It has the following PLLs: GENPLL SCR, GENPLL SW, LCPLL DDR, LCPLL Ports, all derived from an onboard crystal. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a47c7a6c8aff0563c0ef4adf299268f3c27af0f6 Merge: 083c129 6320565 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Oct 22 11:17:50 2015 +1100 Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/selinux into next commit 083c1290ca73666ce1b551cc89d080d060f02ad6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 21 21:16:29 2015 +0200 apparmor: clarify CRYPTO dependency The crypto framework can be built as a loadable module, but the apparmor hash code can only be built-in, which then causes a link error: security/built-in.o: In function `aa_calc_profile_hash': integrity_audit.c:(.text+0x21610): undefined reference to `crypto_shash_update' security/built-in.o: In function `init_profile_hash': integrity_audit.c:(.init.text+0xb4c): undefined reference to `crypto_alloc_shash' This changes Apparmor to use 'select CRYPTO' like a lot of other subsystems do. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: John Johansen <john.johansen@xxxxxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit b31968828352ecae41d47aaa703e16c1ba06bfd8 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:26:08 2015 +0800 ACPICA: Update version to 20150930 ACPICA commit e9c75ca267262326e80d49a290e8387a5963e2d2 Version 20150930. Link: https://github.com/acpica/acpica/commit/e9c75ca2 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 aaa93a618b3f1a94f70b09f9e22481d4a51976d0 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:26:02 2015 +0800 ACPICA: Debugger: Fix dead lock issue ocurred in single stepping mode ACPICA commit 35273add90da19cd8790fdb5735f52e3c9861684 When single step execution is not ended, executing another control methods leads to dead locks around interpreter lock/namespace lock/method serialization lock. So we should only allow one execution from the debugger at same time. Lv Zheng. Link: https://github.com/acpica/acpica/commit/35273add 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 4d946f7970e51d80f8358e0a619dfb17d89e0920 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:25:56 2015 +0800 ACPI: Enable build of AML interpreter debugger This patch enables ACPICA debugger files using a configurable CONFIG_ACPI_DEBUGGER configuration item. Those debugger related code that was originally masked as ACPI_FUTURE_USAGE now gets unmasked. Necessary OSL stubs are also added in this patch: 1. acpi_os_readable(): This should be arch specific in Linux, while this patch doesn't introduce real implementation and a complex mechanism to allow architecture specific acpi_os_readable() to be implemented to validate the address. It may be done by future commits. 2. acpi_os_get_line(): This is used to obtain debugger command input. This patch only introduces a simple KDB concept example in it and the example should be co-working with the code implemented in acpi_os_printf(). Since this KDB example won't be compiled unless ENABLE_DEBUGGER is defined and it seems Linux has already stopped to use ENABLE_DEBUGGER, thus do not expect it can work properly. This patch also cleans up all other ACPI_FUTURE_USAGE surroundings accordingly. 1. Since linkage error can be automatically detected, declaration in the headers needn't be surrounded by ACPI_FUTURE_USAGE. So only the following separate exported fuction bodies are masked by this macro (other exported fucntions may have already been masked at entire module level via drivers/acpi/acpica/Makefile): acpi_install_exception_handler() acpi_subsystem_status() acpi_get_system_info() acpi_get_statistics() acpi_install_initialization_handler() 2. Since strip can automatically zap the no-user functions, functions that are not marked with ACPI_EXPORT_SYMBOL() needn't get surrounded by ACPI_FUTURE_USAGE. So the following function which is not used by Linux kernel now won't get surrounded by this macro: acpi_ps_get_name() Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f988f24ee7931d3487b36cc0c29164296bf2191e Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:25:50 2015 +0800 ACPICA: Debugger: Add thread ID support so that single step mode can only apply to the debugger thread When the debugger is running in the kernel mode, acpi_db_single_step() may also be invoked by the kernel runtime code path but the single stepping command prompt may be erronously logged as the kernel logs and runtime code path cannot proceed. This patch fixes this issue by adding acpi_gbl_db_thread_id for the debugger thread and preventing acpi_db_single_step() to be invoked from other threads. It is not suitable to add acpi_thread_id parameter for acpi_os_execute() as the function may be implemented as work queue on some hosts. So it is better to let the hosts invoke acpi_set_debugger_thread_id(). Currently acpiexec is not configured as DEBUGGER_MULTI_THREADED, but we can do this. When we do this, it is better to invoke acpi_set_debugger_thread_id() in acpi_os_execute() when the execution type is OSL_DEBUGGER_MAIN_THREAD. The support should look like: create_thread(&tid); if (type == OSL_DEBUGGER_MAIN_THREAD) acpi_set_debugger_thread_id(tid); resume_thread(tid); Similarly, semop() may be used for pthread implementation. But this patch simply skips debugger thread ID check for application instead of introducing such complications as there is no need to skip acpi_db_single_step() for an application debugger - acpiexec. Note that the debugger thread ID can also be used by acpi_os_printf() to filter out debugger output. Lv Zheng. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 086ab742ac97b45ee64507b32b3d1ecbdbc56b39 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:25:42 2015 +0800 ACPICA: Debugger: Fix "terminate" command by cleaning up subsystem shutdown logic ACPICA commit 7e823714911480be47e310fb1b3590d289b9fd99 Segmentation fault can be seen for executing the "terminate" command. This is because acpi_ut_subsystem_shutdown() is errnously called multiple times. This patch cleans up acpi_ut_subsystem_shutdown() logics to fix this issue. Lv Zheng. Link: https://github.com/acpica/acpica/commit/7e823714 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 af08f9cc5073eee875016d28730c99ec86da4198 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:25:32 2015 +0800 ACPICA: Debugger: Fix "quit/exit" command by cleaning up user commands termination logic ACPICA commit 0dd68e16274cd38224aa4781eddc57dc2cbaa108 The quit/exit commands shouldn't invoke acpi_terminate_debugger() and acpi_terminate() right in the user command loop, because when the debugger exits, the kernel ACPI subsystem shouldn't be terminated (acpi_terminate()) and the debugger should only be terminated by its users (acpi_terminate_debugger()) rather than being terminated itself. Leaving such invocations causes kernel panic when the debugger is shipped in the Linux kernel. This patch fixes this issue. Lv Zheng. Link: https://github.com/acpica/acpica/commit/0dd68e16 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 9957510255724c1c746c9a6264c849e9fdd4cd24 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:25:20 2015 +0800 ACPICA: Linuxize: Export debugger files to Linux ACPICA commit bc2d3daa4bd429611451f28800def9fea55e63de This patch exports debugger files to Linux. Link: https://github.com/acpica/acpica/commit/bc2d3daa 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 40c8bec3f2591856e21124270be51a0a2b77c82d Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:30 2015 -0400 clk: iproc: Separate status and control variables Some PLLs have separate registers for Status and Control. The means the pll_base needs to be split into 2 new variables, so that those PLLs can specify device tree registers for those independently. Also, add a new driver flag to identify this presence of the split, and let the driver know that additional registers need to be used. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8832317f662c06f5c06e638f57bfe89a71c9b266 Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 15:53:29 2015 +0530 powerpc/rtas: Validate rtas.entry before calling enter_rtas() Currently we do not validate rtas.entry before calling enter_rtas(). This leads to a kernel oops when user space calls rtas system call on a powernv platform (see below). This patch adds code to validate rtas.entry before making enter_rtas() call. Oops: Exception in kernel mode, sig: 4 [#1] SMP NR_CPUS=1024 NUMA PowerNV task: c000000004294b80 ti: c0000007e1a78000 task.ti: c0000007e1a78000 NIP: 0000000000000000 LR: 0000000000009c14 CTR: c000000000423140 REGS: c0000007e1a7b920 TRAP: 0e40 Not tainted (3.18.17-340.el7_1.pkvm3_1_0.2400.1.ppc64le) MSR: 1000000000081000 <HV,ME> CR: 00000000 XER: 00000000 CFAR: c000000000009c0c SOFTE: 0 NIP [0000000000000000] (null) LR [0000000000009c14] 0x9c14 Call Trace: [c0000007e1a7bba0] [c00000000041a7f4] avc_has_perm_noaudit+0x54/0x110 (unreliable) [c0000007e1a7bd80] [c00000000002ddc0] ppc_rtas+0x150/0x2d0 [c0000007e1a7be30] [c000000000009358] syscall_exit+0x0/0x98 Cc: stable@xxxxxxxxxxxxxxx # v3.2+ Fixes: 55190f88789a ("powerpc: Add skeleton PowerNV platform") Reported-by: NAGESWARA R. SASTRY <nasastry@xxxxxxxxxx> Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> [mpe: Reword change log, trim oops, and add stable + fixes] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f713c6bf32092a259d6baf2be24f9c3dbf2462c3 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:29 2015 -0400 clk: iproc: Split off dig_filter The PLL loop filter/gain can be located in a separate register on some SoCs. Split these off into a separate variable, so that an offset can be added if necessary. Also, make the necessary modifications to the Cygnus and NSP drivers for this change. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7968d24107f5a50a11792f8a7f011877e7470dfa Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:28 2015 -0400 clk: iproc: Add PLL base write function All writes to the PLL base address must be flushed if the IPROC_CLK_NEEDS_READ_BACK flag is set. If we add a function to make the necessary write and reads, we can make sure that any future code which makes PLL base writes will do the correct thing. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 842e71332eebf847133ea8e749c80849dae623c0 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:25:04 2015 +0800 ACPICA: iASL: General cleanup of the file suffix #defines ACPICA commit bed456ed2976bdaafdef406b982fdf6c539befc0 Removed some extraneous defines, reordered others. Link: https://github.com/acpica/acpica/commit/bed456ed 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 a5922a1f738b077c9f341f4bf3c02be436d39687 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:58 2015 +0800 ACPICA: Improve typechecking, both compile-time and runtime ACPICA commit 8d0f96e2a11a4ceabb2cae4b41e0ce1f4d3786b9 Adds much stricter typechecking in the iASL compiler, and also adds some additional checking in the interpreter. Link: https://github.com/acpica/acpica/commit/8d0f96e2 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 ca321d1ca6723ed0e04edd09de49c92b24e3648e Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:52 2015 +0800 ACPICA: Update NFIT table to rename a flags field ACPICA commit 534deab97fb416a13bfede15c538e2c9eac9384a Updated one of the memory subtable flags to clarify. Link: https://github.com/acpica/acpica/commit/534deab9 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 cd64bbf8ce7b27d4a88d533883b59f79c6bbc9f8 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:45 2015 +0800 ACPICA: Debugger: Update mutexes used for multithreaded debugger ACPICA commit 6b2701f619040e803313363f516b200e362a9100 Make these mutex objects independent of the deadlock detection mechanism. This mechanism caused failures with the multithread debugger. This patch doesn't affect Linux kernel as debugger is currently not fully functioning in the Linux kernel. And the further debugger cleanups will take care of handling debugger command signalling correctly instead of using such kind of mutexes. So it is safe to leave this patch as it is. Link: https://github.com/acpica/acpica/commit/6b2701f6 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 92dc96196e96470eb9be7bc3f61f12f1571a2d30 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:38 2015 +0800 ACPICA: Update exception code for "file not found" error ACPICA commit ac1564c26d239348ef13455f61d5616f3961ff43 Used by the ACPICA applications. This patch is a bit broken due to non-portable <errno.h> inclusion as on some platforms, there is no such a header file for their lib-c exports. Fortunately, Linux doesn't compile utfileio.c for either the kernel space ACPICA core (drivers/acpi/acpica) or the userspace ACPICA tools (tools/power/acpi) for now, so it's safe to leave this patch as it is. Link: https://github.com/acpica/acpica/commit/ac1564c2 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 69058ddf28ce86296b1526d0953417f29b6df179 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:32 2015 +0800 ACPICA: iASL: Add symbolic operator support for Index() operator ACPICA commit fbe67c46830f10c839941f8512cac5bddcb86bd3 Index (XXXX, 2) is now supported by XXXX [2] This patch doesn't affect Linux kernel. Link: https://github.com/acpica/acpica/commit/fbe67c46 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 93556118c0679d9ed25e108a94f2b893160fce54 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:26 2015 +0800 ACPICA: Remove unnecessary conditional compilation ACPICA commit eea1f0e561893b6d6417913b2d224082fe3a0a5e Remove use of ACPI_DEBUGGER and ACPI_DISASSEMBLER where these defines are used around entire modules. Note: This type of code also causes problems with IDEs. Link: https://github.com/acpica/acpica/commit/eea1f0e5 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 5f024b0685f753325f1b8cacbe37ffe5921b13d1 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:27 2015 -0400 clk: nsp: add clock support for Broadcom Northstar Plus SoC The Broadcom Northstar Plus SoC is architected under the iProc architecture. It has the following PLLs: ARMPLL, GENPLL, LCPLL0, all derived from an onboard crystal. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 01b6722fdf65a91d588338e5a1964d57fa2dd590 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:26 2015 -0400 clk: iproc: Add PWRCTRL support Some iProc SoC clocks use a different way to control clock power, via the PWRDWN bit in the PLL control register. Since the PLL control register is used to access the PWRDWN bit, there is no need for the pwr_base when this is being used. A new flag, IPROC_CLK_EMBED_PWRCTRL, has been added to identify this usage. We can use the AON interface to write the values to enable/disable PWRDOWN. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Remove useless parentheses] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2dfc8a27ecfb3a54cc60376e0e7c4872934008f1 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:25 2015 -0400 clk: cygnus: Convert all macros to all caps The macros that are being used to initialize the values of the clk structures should be all caps. Find and replace all of them with their relevant counterparts. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1e9bc9d6369ba73885e4786b48f954f05348c3cb Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 15:48:24 2015 -0400 ARM: cygnus: fix link failures when CONFIG_COMMON_CLK_IPROC is disabled When CONFIG_CYGNUS is set but CONFIG_COMMON_CLK_IPROC is disabled, the following link failures are caused: drivers/built-in.o: In function `cygnus_armpll_init': :(.init.text+0x1d290): undefined reference to `iproc_armpll_setup' drivers/built-in.o: In function `cygnus_genpll_clk_init': :(.init.text+0x1d2c4): undefined reference to `iproc_pll_clk_setup' drivers/built-in.o: In function `cygnus_lcpll0_clk_init': :(.init.text+0x1d304): undefined reference to `iproc_pll_clk_setup' drivers/built-in.o: In function `cygnus_mipipll_clk_init': :(.init.text+0x1d344): undefined reference to `iproc_pll_clk_setup' drivers/built-in.o: In function `cygnus_asiu_init': :(.init.text+0x1d370): undefined reference to `iproc_asiu_setup' It is fixed it by always selecting COMMON_CLK_IPROC from ARCH_BCM_IPROC, and making COMMON_CLK_IPROC a silent option (thus preventing it from being erroneously disabled by a user). Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 55ee7017ee31a3abcc240e0d40284b02ddac92c8 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Oct 20 16:05:59 2015 -0500 arm: omap2: board-generic: use omap4_local_timer_init for AM437x AM437x-based boards, can use omap4_local_timer_init() just fine. Let's use that instead. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 938ce30e29dcb8ca0b1bf375305485ed17f40062 Merge: 489e5d4 9b038bc Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Oct 21 16:29:03 2015 -0700 Merge tag 'sunxi-clocks-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-next Pull Allwinner clock additions for 4.4 from Maxime Ripard: - Support for the Audio PLL and child clocks - Support for the A33 AHB gates - New clk-multiplier generic driver * tag 'sunxi-clocks-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: clk: sunxi: mod1 clock support clk: sunxi: codec clock support clk: sunxi: pll2: Add A13 support clk: sunxi: Add a driver for the PLL2 clk: Add a basic multiplier clock clk: sunxi: Add A33 gates support commit 489e5d4152c7bdcff8b0bbf73e90d1d59bbec863 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Oct 21 22:41:39 2015 +0200 clk: imx31: add missing of_node_put for_each_compatible_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression n; expression e; @@ for_each_compatible_node(n,...) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 77cb8ee67582ad815310c4544c7c408056fe59bf Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Oct 21 22:41:38 2015 +0200 clk: imx27: add missing of_node_put for_each_compatible_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression n; expression e; @@ for_each_compatible_node(n,...) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a1bdfbaf9900a7bafebdba796b034371ee1c3f5e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Oct 21 22:41:37 2015 +0200 clk: si5351: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> The resulting puts were manually moved to the end of the function for conciseness. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6bc9d9d62cbc885414c7d4bb1926c43950498479 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Oct 21 22:41:36 2015 +0200 clk: add missing of_node_put for_each_matching_node_and_match performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression e1,e2,e; local idexpression np; @@ for_each_matching_node_and_match(np, e1, e2) { ... when != of_node_put(np) when != e = np ( return np; | + of_node_put(np); ? return ...; ) ... } // </smpl> Besides the problem identified by the semantic patch, this patch adds an of_node_get in front of saving np in a field of parent, to account for the fact that this value will be put on going on to the next element in the iteration, and then adds of_node_puts in the two loops where the parent pointer can be freed. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 37363bc03e0b53c45e98f34e35c75b55611417e0 Merge: 30730c7 2a6c521 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 22 09:15:10 2015 +1000 Merge branch 'linux-4.3' of git://anongit.freedesktop.org/nouveau/linux-2.6 into drm-fixes Just one fix from Ilia to resolve various issues that have resulted from buffer eviction. * 'linux-4.3' of git://anongit.freedesktop.org/nouveau/linux-2.6: drm/nouveau/gem: return only valid domain when there's only one commit 2a6c521bb41ce862e43db46f52e7681d33e8d771 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Tue Oct 20 01:15:39 2015 -0400 drm/nouveau/gem: return only valid domain when there's only one On nv50+, we restrict the valid domains to just the one where the buffer was originally created. However after the buffer is evicted to system memory, we might move it back to a different domain that was not originally valid. When sharing the buffer and retrieving its GEM_INFO data, we still want the domain that will be valid for this buffer in a pushbuf, not the one where it currently happens to be. This resolves fdo#92504 and several others. These are due to suspend evicting all buffers, making it more likely that they temporarily end up in the wrong place. Cc: stable@xxxxxxxxxxxxxxx Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92504 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9e19ca2f627e5a6ee7425c48cc30b7356995b691 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Sat Sep 19 23:29:55 2015 -0500 clk: qoriq: Add ls2080a support. LS2080A is the first implementation of the chassis 3 clockgen, which has a different register layout than previous chips. It is also little endian, unlike previous chips. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0dfc86b3173feee96f36e71879aa6dd56a4d7925 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Sat Sep 19 23:29:54 2015 -0500 clk: qoriq: Move chip-specific knowledge into driver The device tree should describe the chips (or chip-like subblocks) in the system, but it generally does not describe individual registers -- it should identify, rather than describe, a programming interface. This has not been the case with the QorIQ clockgen nodes. The knowledge of what each bit setting of CLKCnCSR means is encoded in three places (binding, pll node, and mux node), and the last also needs to know which options are valid on a particular chip. All three of these locations are considered stable ABI, making it difficult to fix mistakes (of which I have found several), much less refactor the abstraction to be able to address problems, limitations, or new chips. Under the current binding, a pll clock specifier of 2 means that the PLL is divided by 4 -- and the driver implements this, unless there happen to be four clock-output-names rather than 3, in which case it interprets it as PLL divided by 3. This does not appear in the binding documentation at all. That hack is now considered stable ABI. The current device tree nodes contain errors, such as saying that T1040 can set a core clock to PLL/4 when only PLL and PLL/2 are options. The current binding also ignores some restrictions on clock selection, such as p5020's requirement that if a core uses the "wrong" PLL, that PLL must be clocked lower than the "correct" PLL and be at most 80% of the rated CPU frequency. Possibly because of the lack of the ability to express such nuance in the binding, some valid options are omitted from the device trees, such as the ability on p4080 to run cores 0-3 from PLL3 and cores 4-7 from PLL1 (again, only if they are at most 80% of rated CPU frequency). This omission, combined with excessive caution in the cpufreq driver (addressed in a subsequent patch), means that currently on a 1500 MHz p4080 with typical PLL configuration, cpufreq can lower the frequency to 1200 MHz on half the CPUs and do nothing on the others. With this patchset, all CPUs can be lowered to 1200 MHz on a rev2 p4080, and on a rev3 p4080 half can be lowered to 750 MHz and the other half to 600 MHz. The current binding only deals with CPU clocks. To describe FMan in the device tree, we need to describe its clock. Some chips have additional muxes that work like the CPU muxes, but are not described in the device tree. Others require inspecting the Reset Control Word to determine which PLL is used. Rather than continue to extend this mess, replace it. Have the driver bind to the chip-specific clockgen compatible, and keep the detailed description of quirky chip variations in the driver, where it can be easily fixed, refactored, and extended. Older device trees will continue to work (including a workaround for old ls1021a device trees that are missing compatible and reg in the clockgen node, which even the old binding required). The pll/mux details in old device trees will be ignored, but "clocks" properties pointing at the old nodes will still work, and be directed at the corresponding new clock. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 948486544713492f00ac8a9572909101ea892cb0 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Sat Sep 19 23:29:53 2015 -0500 powerpc/fsl: Move fsl_guts.h out of arch/powerpc Freescale's Layerscape ARM chips use the same structure. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 205ad97fc5a6386214323641dd28b822cb6fc624 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 20 18:32:27 2015 +0200 ACPI / property: Fix subnode lookup scope for data-only subnodes The correct scope for looking up the objects to generate data packages for data-only subnodes pointed to by another data-only subnode is the scope of the parent of that subnode and not the scope containing the _DSD object at the top of the hierarchy (the latter works only if all of the objects returning data-only subnode packages in a given hierarchy are in the same scope). Fix the code to work as expected. Fixes: 445b0eb058f5 (ACPI / property: Add support for data-only subnodes) Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 30730c7f5943b3beace1e29f7f1476e05de3da14 Author: Adam Richter <adamrichter4@xxxxxxxxx> Date: Fri Oct 16 03:33:02 2015 -0700 drm: fix mutex leak in drm_dp_get_mst_branch_device In Linux 4.3-rc5, there is an error case in drm_dp_get_branch_device that returns without releasing mgr->lock, resulting a spew of kernel messages about a kernel work function possibly having leaked a mutex and presumably more serious adverse consequences later. This patch changes the error to "goto out" to unlock the mutex before returning. [airlied: grabbed from drm-next as it fixes something we've seen] Signed-off-by: Adam J. Richter <adam_richter2004@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit f96999c35f46fa9bce8a3a2812cd0a28fcde5903 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Oct 20 15:17:19 2015 -0700 f2fs: refactor __find_rev_next_{zero}_bit This patch refactors __find_rev_next_{zero}_bit which was disabled previously due to bugs. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1228236de5f978970fb814cc27138cdb00cbb48d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:43 2015 +0200 iommu: Move default domain allocation to iommu_group_get_for_dev() Now that the iommu core support for iommu groups is not pci-centric anymore, we can move default domain allocation to the bus independent iommu_group_get_for_dev() function. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 391811e185408671180745dfd30914bb64f6368e Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:42 2015 +0200 iommu: Remove is_pci_dev() fall-back from iommu_group_get_for_dev All callers of iommu_group_get_for_dev() provide a device_group call-back now, so this fall-back is no longer needed. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit af65993224c1cfd40b81080c95c6c68d41fc46c7 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:41 2015 +0200 iommu/arm-smmu: Switch to device_group call-back This converts the ARM SMMU and the SMMUv3 driver to use the new device_group call-back. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d5e582971576698ab3e0236359f1ab5b91686047 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:40 2015 +0200 iommu/fsl: Convert to device_group call-back Convert the fsl pamu driver to make use of the new device_group call-back. Cc: Varun Sethi <Varun.Sethi@xxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a960fadbe66e332b82595b3f26f00078caf0310f Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:39 2015 +0200 iommu: Add device_group call-back to x86 iommu drivers Set the device_group call-back to pci_device_group() for the Intel VT-d and the AMD IOMMU driver. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 6eab556a40384de94c2d03c8d9d632e5154367f5 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:38 2015 +0200 iommu: Add generic_device_group() function This function can be used as a device_group call-back and just allocates one iommu-group per device. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5e62292bad10cff25ff75d136c54e62b43bfb0fa Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:37 2015 +0200 iommu: Export and rename iommu_group_get_for_pci_dev() Rename that function to pci_device_group() and export it, so that IOMMU drivers can use it as their device_group call-back. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 46c6b2bc88a729366605d0dedb6a35b8cf7cc4f0 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:36 2015 +0200 iommu: Revive device_group iommu-ops call-back That call-back is currently unused, change it into a call-back function for finding the right IOMMU group for a device. This is a first step to remove the hard-coded PCI dependency in the iommu-group code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 63205654c0e05e5ffa1c6eef2fbef21dcabd2185 Author: Sangwoo <sangwoo2.park@xxxxxxx> Date: Wed Oct 21 17:44:30 2015 -0400 selinux: Use a kmem_cache for allocation struct file_security_struct The size of struct file_security_struct is 16byte at my setup. But, the real allocation size for per each file_security_struct is 64bytes in my setup that kmalloc min size is 64bytes because ARCH_DMA_MINALIGN is 64. This allocation is called every times at file allocation(alloc_file()). So, the total slack memory size(allocated size - request size) is increased exponentially. E.g) Min Kmalloc Size : 64bytes, Unit : bytes Allocated Size | Request Size | Slack Size | Allocation Count --------------------------------------------------------------- 770048 | 192512 | 577536 | 12032 At the result, this change reduce memory usage 42bytes per each file_security_struct Signed-off-by: Sangwoo <sangwoo2.park@xxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> [PM: removed extra subject prefix] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 1d2a168a085f1c65b895f258ee11a52813d25af6 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Wed Oct 21 17:44:27 2015 -0400 selinux: ioctl_has_perm should be static Fixes the following sparse warning: security/selinux/hooks.c:3242:5: warning: symbol 'ioctl_has_perm' was not declared. Should it be static? Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 9529c7886c0741847eeb85cf2b0e0730eebe4fa5 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 17:44:27 2015 -0400 selinux: use sprintf return value sprintf returns the number of characters printed (excluding '\0'), so we can use that and avoid duplicating the length computation. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 21b76f199e25d32b0a7ed3833ca9204898262c24 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 17:44:26 2015 -0400 selinux: use kstrdup() in security_get_bools() This is much simpler. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit aa736c36db3e583d249e1d23a3ac9223b1c55f95 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 17:44:26 2015 -0400 selinux: use kmemdup in security_sid_to_context_core() Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 20ba96aeebd40f09a1d626913235941e290992c7 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 17:44:26 2015 -0400 selinux: remove pointless cast in selinux_inode_setsecurity() security_context_to_sid() expects a const char* argument, so there's no point in casting away the const qualifier of value. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 44be2f65d979291ffb2a47112449507ffe1f9726 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 17:44:25 2015 -0400 selinux: introduce security_context_str_to_sid There seems to be a little confusion as to whether the scontext_len parameter of security_context_to_sid() includes the nul-byte or not. Reading security_context_to_sid_core(), it seems that the expectation is that it does not (both the string copying and the test for scontext_len being zero hint at that). Introduce the helper security_context_str_to_sid() to do the strlen() call and fix all callers. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 44d37ad3602b3823764eeb0f6c1ee3ef6c4fb936 Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Date: Wed Oct 21 17:44:25 2015 -0400 selinux: do not check open perm on ftruncate call Use the ATTR_FILE attribute to distinguish between truncate() and ftruncate() system calls. The two other cases where do_truncate is called with a filp (and therefore ATTR_FILE is set) are for coredump files and for open(O_TRUNC). In both of those cases the open permission has already been checked during file open and therefore does not need to be repeated. Commit 95dbf739313f ("SELinux: check OPEN on truncate calls") fixed a major issue where domains were allowed to truncate files without the open permission. However, it introduced a new bug where a domain with the write permission can no longer ftruncate files without the open permission, even when they receive an already open file. Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 2a35d196c160e352fa56eabb7952f78f4c85f577 Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed Oct 21 17:44:25 2015 -0400 selinux: change CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE default Change the SELinux checkreqprot default value to 0 so that SELinux performs access control checking on the actual memory protections used by the kernel and not those requested by the application. Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit c6a7b0d7a5105ae2e0454b18ce2989be59142afe Author: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Date: Tue Oct 20 14:18:00 2015 +0530 RDMA/ocrdma: Bump up ocrdma version number to 11.0.0.0 Updating the version number to 11.0.0.0 Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit af74d1956f780253d643a15f30d6aaa1c2e4836d Author: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Date: Tue Oct 20 14:17:59 2015 +0530 RDMA/ocrdma: Prevent CQ-Doorbell floods Changing CQ-Doorbell(DB) logic to prevent DB floods, it is supposed to be pressed only if any hw CQE is polled. If cq-arm was requested previously then don't bother about number of hw CQEs polled and arm the CQ. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit aeb922df2c6fc3fc21fd7ec4b9ae7e845e541450 Author: Naga Irrinki <Naga.Irrinki@xxxxxxxxxxxxx> Date: Tue Oct 20 14:17:58 2015 +0530 RDMA/ocrdma: Check resource ids received in Async CQE Some versions of the FW sends wrong QP or CQ IDs in the Async CQE. Adding a check to see whether qp or cq structures associated with the CQE is valid. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit fb16d8c49e6fa2791620cf2cd61d6daa123ed51e Author: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Date: Tue Oct 20 14:17:57 2015 +0530 RDMA/ocrdma: Avoid a possible crash in ocrdma_rem_port_stats debugfs_remove should be called before freeing the driver stats resources to avoid any crash during ocrdma_remove. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5a85f5e9d41bfd8a1fb5136d5ea2815fc75a5271 Author: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Date: Tue Oct 20 14:17:56 2015 +0530 RDMA/ocrdma: Cleanup unused device list and rcu variables ocrdma_dev_list is not used by the driver. So removing the references of this variable. dev->rcu was introduced for the ipv6 notifier for GID management. This is no longer required as the GID management is outside the HW driver. Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxxxxx> Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 3dd9a5dc24c0bfb1453965a22f5234367a8936e3 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 09:57:00 2015 +0530 iw_cxgb4: reverse the ord/ird in the ESTABLISHED upcall The ESTABLISHED event should have the peer's ord/ird so swap the values in the event before the upcall. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f57b780c0000a56b5e51df5f94a35828bb5e6a7a Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 09:56:59 2015 +0530 iw_cxgb4: fix misuse of ep->ord for minimum ird calculation When calculating the minimum ird in c4iw_accept_cr(), we need to always have a value of at least 1 if the RTR message is a 0B read. The code was incorrectly using ep->ord for this logic which was incorrectly adjusting the ird and causing incorrect ord/ird negotiation when using MPAv2 to negotiate these values. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 158c776dba1f6b5eb2e3d5327cda719dc4820c1c Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 09:56:58 2015 +0530 iw_cxgb4: pass the ord/ird in connect reply events This allows client ULPs to get the negotiated ord/ird which is useful to avoid stalling the SQ due to exceeding the ORD. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 99718e59fa8425753a8ec2aceb9ec3faa865eeb6 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 09:56:57 2015 +0530 iw_cxgb4: detect fatal errors while creating listening filters In c4iw_create_listen(), if we're using listen filters, then bail out of the busy loop if the device becomes fatally dead Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e3d006ce8180a0c025ce66bdc89bbc125f85be57 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Oct 21 15:45:13 2015 -0300 perf annotate: Add debug message for out of bounds sample 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-q0lde9ajs84oi38nlyjcqbwg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8b8cde49586566471d65af9a59e25d3edb941387 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Oct 20 11:46:36 2015 -0700 perf evsel: Print branch filter state with -vv Add a missing field to the perf_event_attr debug output. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445366797-30894-4-git-send-email-andi@xxxxxxxxxxxxxx [ Print it between config2 and sample_regs_user (peterz)] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a85240d2543e1947868d81aab44e36bea6bb876e Merge: 51e0164 f8417b48 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Oct 21 16:07:21 2015 -0500 Merge branch 'bugfixes' * bugfixes: NFSv4.1/pnfs: Retry through MDS when getting bad length of data nfs/blocklayout: Fix bad using of page offset in bl_read_pagelist NFS: Return directly if encode_sessionid fail NFS: Fix bad checking of max taglen in callback request NFS: Fix bad defines of callback response maxsize NFS: Use NFS4_MAX_SESSIONID_LEN directly for decode/encode sessionid NFS: Remove unneeded NFS_DEBUG checking before define NFSDBG_FACILITY NFS: Remove the left function defines in callback.h NFS: Remove the left global variable nfs_callback_tcpport NFS: Get rid of the unneeded addr stored in callback arguments nfsroot: make nfsroot to accept the 1024 bytes long directory name commit cfd0c552a8272d691691f40073654d775836e23a Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:57 2015 +0800 blk-mq: mark ctx as pending at batch in flush plug path Most of times, flush plug should be the hottest I/O path, so mark ctx as pending after all requests in the list are inserted. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 676d06077f964f06af52c19e59f0409a8880612f Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:56 2015 +0800 blk-mq: fix for trace_block_plug() The trace point is for tracing plug event of each request queue instead of each task, so we should check the request count in the plug list from current queue instead of current task. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7460d389c01741f0dfff733af93d3b3abd9b974e Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:55 2015 +0800 block: check bio_mergeable() early before merging After bio splitting is introduced, one bio can be splitted and it is marked as NOMERGE because it is too fat to be merged, so check bio_mergeable() earlier to avoid to try to merge it unnecessarily. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e18378a60e27ad7b3e11ecc4e2c92159585dee68 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:54 2015 +0800 blk-mq: check bio_mergeable() early before merging It isn't necessary to try to merge the bio which is marked as NOMERGE. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6ac45aeb6bcad38a2783a7d6e5da4c469497eeb0 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:53 2015 +0800 block: avoid to merge splitted bio The splitted bio has been already too fat to merge, so mark it as NOMERGE. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bdced438acd83ad83a6c6fc7f50099b820245ddb Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:52 2015 +0800 block: setup bi_phys_segments after splitting The number of bio->bi_phys_segments is always obtained during bio splitting, so it is natural to setup it just after bio splitting, then we can avoid to compute nr_segment again during merge. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0809e3ac62319dc7534b64f95ac37e230d740e8a Author: Jeff Moyer <jmoyer@xxxxxxxxxx> Date: Tue Oct 20 23:13:51 2015 +0800 block: fix plug list flushing for nomerge queues Request queues with merging disabled will not flush the plug list after BLK_MAX_REQUEST_COUNT requests have been queued, since the code relies on blk_attempt_plug_merge to compute the request_count. Fix this by computing the number of queued requests even for nomerge queues. Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5d1e623591dfaa64a59ecdac420adc16125524d4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 7 14:29:51 2015 +0200 IB/core: avoid 32-bit warning The INIT_UDATA() macro requires a pointer or unsigned long argument for both input and output buffer, and all callers had a cast from when the code was merged until a recent restructuring, so now we get core/uverbs_cmd.c: In function 'ib_uverbs_create_cq': core/uverbs_cmd.c:1481:66: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] This makes the code behave as before by adding back the cast to unsigned long. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 565197dd8fb1 ("IB/core: Extend ib_uverbs_create_cq") Reviewed-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b61e564af85bde408456f779eb267a37a64dc522 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 7 14:10:04 2015 +0200 RDMA/cxgb4: re-fix 32-bit build warning Casting a pointer to __be64 produces a warning on 32-bit architectures: drivers/infiniband/hw/cxgb4/mem.c:147:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] req->wr.wr_lo = (__force __be64)&wr_wait; This was fixed at least twice for this driver in different places, and accidentally reverted once more. This puts the correct version back in place. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 6198dd8d7a6a7 ("iw_cxgb4: 32b platform fixes") Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f8417b481cce2bed4744fda733f2ff22278bd7ce Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Oct 16 17:23:29 2015 +0800 NFSv4.1/pnfs: Retry through MDS when getting bad length of data If non rpc-based layout driver return bad length of data, nfs retries by calling rpc_restart_call_prepare() that cause an NULL reference panic. This patch lets nfs retry through MDS for non rpc-based layout driver return bad length of data. [13034.883329] BUG: unable to handle kernel NULL pointer dereference at (null) [13034.884902] IP: [<ffffffffa00db372>] rpc_restart_call_prepare+0x62/0x90 [sunrpc] [13034.886558] PGD 0 [13034.888126] Oops: 0000 [#1] KASAN [13034.889710] Modules linked in: blocklayoutdriver(OE) nfsv4(OE) nfs(OE) fscache(E) nfsd(OE) xfs libcrc32c coretemp btrfs crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel ppdev vmw_balloon auth_rpcgss shpchp nfs_acl lockd vmw_vmci parport_pc xor raid6_pq grace parport sunrpc i2c_piix4 vmwgfx drm_kms_helper ttm drm mptspi e1000 serio_raw scsi_transport_spi mptscsih mptbase ata_generic pata_acpi [last unloaded: fscache] [13034.898260] CPU: 0 PID: 10112 Comm: kworker/0:1 Tainted: G OE 4.3.0-rc5+ #279 [13034.899932] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/02/2015 [13034.903342] Workqueue: events bl_read_cleanup [blocklayoutdriver] [13034.905059] task: ffff88006a9148c0 ti: ffff880035e90000 task.ti: ffff880035e90000 [13034.906827] RIP: 0010:[<ffffffffa00db372>] [<ffffffffa00db372>] rpc_restart_call_prepare+0x62/0x90 [sunrpc] [13034.910522] RSP: 0018:ffff880035e97b58 EFLAGS: 00010282 [13034.912378] RAX: fffffbfff04a5a94 RBX: ffff880068fe4858 RCX: 0000000000000003 [13034.914339] RDX: dffffc0000000000 RSI: 0000000000000003 RDI: 0000000000000282 [13034.916236] RBP: ffff880035e97b68 R08: 0000000000000001 R09: 0000000000000001 [13034.918229] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000 [13034.920007] R13: ffff880068fe4858 R14: ffff880068fe4a60 R15: 0000000000001000 [13034.921845] FS: 0000000000000000(0000) GS:ffffffff82247000(0000) knlGS:0000000000000000 [13034.923645] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [13034.925525] CR2: 0000000000000000 CR3: 00000000063dd000 CR4: 00000000001406f0 [13034.932808] Stack: [13034.934813] ffff880068fe4780 0000000000001000 ffff880035e97ba8 ffffffffa08800d2 [13034.936675] ffffffffa088029d ffff880068fe4780 ffff880068fe4858 ffffffffa089c0a0 [13034.938593] ffff880068fe47e0 ffff88005d59faf0 ffff880035e97be0 ffffffffa087e08f [13034.940454] Call Trace: [13034.942388] [<ffffffffa08800d2>] nfs_readpage_result+0x112/0x200 [nfs] [13034.944317] [<ffffffffa088029d>] ? nfs_readpage_done+0xdd/0x160 [nfs] [13034.946267] [<ffffffffa087e08f>] nfs_pgio_result+0x9f/0x120 [nfs] [13034.948166] [<ffffffffa09266cc>] pnfs_ld_read_done+0x7c/0x1e0 [nfsv4] [13034.950247] [<ffffffffa03b07ee>] bl_read_cleanup+0x2e/0x60 [blocklayoutdriver] [13034.952156] [<ffffffff810ebf62>] process_one_work+0x412/0x870 [13034.954102] [<ffffffff810ebe84>] ? process_one_work+0x334/0x870 [13034.955949] [<ffffffff810ebb50>] ? queue_delayed_work_on+0x40/0x40 [13034.957985] [<ffffffff810ec441>] worker_thread+0x81/0x6a0 [13034.959817] [<ffffffff810ec3c0>] ? process_one_work+0x870/0x870 [13034.961785] [<ffffffff810f43bd>] kthread+0x17d/0x1a0 [13034.963544] [<ffffffff810f4240>] ? kthread_create_on_node+0x330/0x330 [13034.965479] [<ffffffff81100428>] ? finish_task_switch+0x88/0x220 [13034.967223] [<ffffffff810f4240>] ? kthread_create_on_node+0x330/0x330 [13034.968929] [<ffffffff81b6ae5f>] ret_from_fork+0x3f/0x70 [13034.970534] [<ffffffff810f4240>] ? kthread_create_on_node+0x330/0x330 [13034.972176] Code: c7 43 50 40 84 0d a0 e8 3d fe 1c e1 48 8d 7b 58 c7 83 e4 00 00 00 00 00 00 00 e8 ca fe 1c e1 4c 8b 63 58 4c 89 e7 e8 be fe 1c e1 <49> 83 3c 24 00 74 12 48 c7 43 50 f0 a2 0e a0 b8 01 00 00 00 5b [13034.977148] RIP [<ffffffffa00db372>] rpc_restart_call_prepare+0x62/0x90 [sunrpc] [13034.978780] RSP <ffff880035e97b58> [13034.980399] CR2: 0000000000000000 Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 15ae2c7bdc9a5a46999319b88a465a64d265dc40 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Oct 16 17:22:50 2015 +0800 nfs/blocklayout: Fix bad using of page offset in bl_read_pagelist Blocklayout uses file offset for the read-back page's offset of first writing, it's definitely wrong, it writes data to bad address of page that cause userspace application segment fault. It must be the page base stored in header->args.pgbase. Also, the pg_offset has no influence with isect and extent length. Note: The offset of the non-first page is always zero. Ps: A test program will segment fault at read() as, #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> int main(int argc, char **argv) { char buf[2049]; char *filename = NULL; int fd = -1; if (argc < 2) { printf("Usage: %s filename\n", argv[0]); return 0; } filename = argv[1]; fd = open(filename, O_RDONLY | O_DIRECT); if (fd < 0) { printf("Open %s fail: %m\n", filename); return 1; } lseek(fd, 2048, SEEK_SET); if (read(fd, buf, sizeof(buf) - 1) != (sizeof(buf) - 1)) printf("Read 4096 bityes data from %s fail: %m\n", filename); out: close(fd); return 0; } Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e0a63c0bfcc6f8283377258b5d892f88abd913c1 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:58:38 2015 +0800 NFS: Return directly if encode_sessionid fail encode_sessionid() may return error, nfs needs process the return value. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 403889c0399c01a12877e3736ae1e96c9ded27be Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:58:16 2015 +0800 NFS: Fix bad checking of max taglen in callback request The taglen should be checked with CB_OP_TAGLEN_MAXSZ directly. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 45724e8a5b2a69b9524fd16ff73345fab9aae279 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:57:58 2015 +0800 NFS: Fix bad defines of callback response maxsize As CB_OP_TAGLEN_MAXSZ, all XXX_MAXSZ should be defined as bit. Each operation should not cantains CB_OP_TAGLEN_MAXSZ. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 590184a6cea32c1f864a8e614f44e35a81a53fe0 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:57:37 2015 +0800 NFS: Use NFS4_MAX_SESSIONID_LEN directly for decode/encode sessionid It's no need to define a temporary variables for NFS4_MAX_SESSIONID_LEN. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 39de493e8801812cae076a02d84b4f80b88f94b9 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:57:03 2015 +0800 NFS: Remove unneeded NFS_DEBUG checking before define NFSDBG_FACILITY It's not needed to checking NFS_DEBUG before define NFSDBG_FACILITY, remove it. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f765bf762bb57d8bda825e5440a4801232cd835f Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:56:29 2015 +0800 NFS: Remove the left function defines in callback.h Commit 778be232a207 "NFS do not find client in NFSv4 pg_authenticate" has remove the define and using of nfs4_set_callback_sessionid(), and commit 36281caa839f "NFSv4: Further clean-ups of delegation stateid validation" has update the checking of stateid, and move the code to nfs4proc.c. This patch remove those function defines left in callback.h Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8c163d8e5ad2bd7982904bbe568706e1b0bbf60a Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:55:59 2015 +0800 NFS: Remove the left global variable nfs_callback_tcpport Commit bbe0a3aa4e22 "NFS: make nfs_callback_tcpport per network context" has make nfs_callback_tcpport per network, but left the global nfs_callback_tcpport, remove it. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit d4e2ce096101bad9ca5bad3c27488905f91e30cb Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:55:21 2015 +0800 NFS: Get rid of the unneeded addr stored in callback arguments Commit c36fca52f5 "NFS refactor nfs_find_client and reference client across callback processing" has store clp in cb_process_state which is set in cb_sequence. So that, it's unneeded to store address pointer in any callback arguments. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c646619355d196293daffdbb4fd877c8f5048e49 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Sep 24 10:19:09 2015 +0800 nfsroot: make nfsroot to accept the 1024 bytes long directory name although NFS_MAXPATHLEN is defined to 1024, nfs client hopes to accept a 1024 byte path, but nfs_root_parms is limited to 256, and the nfs path will truncated when a user inputs nfs path from kernel cmdline enlarge nfs_root_parms to 1024, to make it accept the 1024 bytes long directory name, since nfs_root_parms is defined as _initdata, it will be released after system bootup Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 924d55b06347d813b38c51e75ce1a6666c113933 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 15 14:10:49 2015 +0200 sd: implement the Persistent Reservation API This is a mostly trivial mapping to the PERSISTENT RESERVE IN/OUT commands. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bbd3e064362e5057cc4799ba2e4d68c7593e490b Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 15 14:10:48 2015 +0200 block: add an API for Persistent Reservations This commits adds a driver API and ioctls for controlling Persistent Reservations s/genericly/generically/ at the block layer. Persistent Reservations are supported by SCSI and NVMe and allow controlling who gets access to a device in a shared storage setup. Note that we add a pr_ops structure to struct block_device_operations instead of adding the members directly to avoid bloating all instances of devices that will never support Persistent Reservations. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d8e4bb8103df02a2c509868732dc93fb66110a12 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 15 14:10:47 2015 +0200 block: cleanup blkdev_ioctl Split out helpers for all non-trivial ioctls to make this function simpler, and also start passing around a pointer version of the argument, as that's what most ioctl handlers actually need. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4125a09b0a0d579ebace17f0e62b03ab9d5ab2f4 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:29 2015 -0400 block, libnvdimm, nvme: provide a built-in blk_integrity nop profile The libnvidmm-btt and nvme drivers use blk_integrity to reserve space for per-sector metadata, but sometimes without protection checksums. This property is generically useful, so teach the block core to internally specify a nop profile if one is not provided at registration time. Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Suggested-by: Christoph Hellwig <hch@xxxxxx> [hch: kill the local nvme nop profile as well] Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5a48fc147d7f2718a5c7e73bc8c4067235791fc1 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:23 2015 -0400 block: blk_flush_integrity() for bio-based drivers Since they lack requests to pin the request_queue active, synchronous bio-based drivers may have in-flight integrity work from bio_integrity_endio() that is not flushed by blk_freeze_queue(). Flush that work to prevent races to free the queue and the final usage of the blk_integrity profile. This is temporary unless/until bio-based drivers start to generically take a q_usage_counter reference while a bio is in-flight. Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx> [martin: fix the CONFIG_BLK_DEV_INTEGRITY=n case] Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ac6fc48c9fb7d3220ec4e0be0c29bb314ea75f9f Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:18 2015 -0400 block: move blk_integrity to request_queue A trace like the following proceeds a crash in bio_integrity_process() when it goes to use an already freed blk_integrity profile. BUG: unable to handle kernel paging request at ffff8800d31b10d8 IP: [<ffff8800d31b10d8>] 0xffff8800d31b10d8 PGD 2f65067 PUD 21fffd067 PMD 80000000d30001e3 Oops: 0011 [#1] SMP Dumping ftrace buffer: --------------------------------- ndctl-2222 2.... 44526245us : disk_release: pmem1s systemd--2223 4.... 44573945us : bio_integrity_endio: pmem1s <...>-409 4.... 44574005us : bio_integrity_process: pmem1s --------------------------------- [..] Call Trace: [<ffffffff8144e0f9>] ? bio_integrity_process+0x159/0x2d0 [<ffffffff8144e4f6>] bio_integrity_verify_fn+0x36/0x60 [<ffffffff810bd2dc>] process_one_work+0x1cc/0x4e0 Given that a request_queue is pinned while i/o is in flight and that a gendisk is allowed to have a shorter lifetime, move blk_integrity to request_queue to satisfy requests arriving after the gendisk has been torn down. Cc: Christoph Hellwig <hch@xxxxxx> Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx> [martin: fix the CONFIG_BLK_DEV_INTEGRITY=n case] Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3ef28e83ab15799742e55fd13243a5f678b04242 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:12 2015 -0400 block: generic request_queue reference counting Allow pmem, and other synchronous/bio-based block drivers, to fallback on a per-cpu reference count managed by the core for tracking queue live/dead state. The existing per-cpu reference count for the blk_mq case is promoted to be used in all block i/o scenarios. This involves initializing it by default, waiting for it to drop to zero at exit, and holding a live reference over the invocation of q->make_request_fn() in generic_make_request(). The blk_mq code continues to take its own reference per blk_mq request and retains the ability to freeze the queue, but the check that the queue is frozen is moved to generic_make_request(). This fixes crash signatures like the following: BUG: unable to handle kernel paging request at ffff880140000000 [..] Call Trace: [<ffffffff8145e8bf>] ? copy_user_handle_tail+0x5f/0x70 [<ffffffffa004e1e0>] pmem_do_bvec.isra.11+0x70/0xf0 [nd_pmem] [<ffffffffa004e331>] pmem_make_request+0xd1/0x200 [nd_pmem] [<ffffffff811c3162>] ? mempool_alloc+0x72/0x1a0 [<ffffffff8141f8b6>] generic_make_request+0xd6/0x110 [<ffffffff8141f966>] submit_bio+0x76/0x170 [<ffffffff81286dff>] submit_bh_wbc+0x12f/0x160 [<ffffffff81286e62>] submit_bh+0x12/0x20 [<ffffffff813395bd>] jbd2_write_superblock+0x8d/0x170 [<ffffffff8133974d>] jbd2_mark_journal_empty+0x5d/0x90 [<ffffffff813399cb>] jbd2_journal_destroy+0x24b/0x270 [<ffffffff810bc4ca>] ? put_pwq_unlocked+0x2a/0x30 [<ffffffff810bc6f5>] ? destroy_workqueue+0x225/0x250 [<ffffffff81303494>] ext4_put_super+0x64/0x360 [<ffffffff8124ab1a>] generic_shutdown_super+0x6a/0xf0 Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Suggested-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4cfc766e07a5ed709a9d5289c8644fe78e9f24de Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:07 2015 -0400 nvme: suspend i/o during runtime blk_integrity_unregister Synchronize pending i/o against a change in the integrity profile to avoid the possibility of spurious integrity errors. Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> [keith: also protect dynamic integrity registration] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c7bfced9a6716ff66c9d61f934bb60af08d4688c Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:02 2015 -0400 md: suspend i/o during runtime blk_integrity_unregister Synchronize pending i/o against a change in the integrity profile to avoid the possibility of spurious integrity errors. Given linear_add() is suspending the mddev before manipulating the mddev, do the same for the other personalities. Acked-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 9609b9942b180a50b0162419abd2932a41117fe9 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:19:55 2015 -0400 md, dm, scsi, nvme, libnvdimm: drop blk_integrity_unregister() at shutdown Now that the integrity profile is statically allocated there is no work to do when shutting down an integrity enabled block device. Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: James Bottomley <JBottomley@xxxxxxxx> Acked-by: NeilBrown <neilb@xxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Acked-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d5ce107a2f6198de84ff796e2657de9b67e67bf2 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 18 01:07:55 2014 -0300 ARM: sun7i: Add sunxi codec device node The A20 SoC includes the Allwinner audio codec, capable of both 24-bit playback and capture. This commit adds a device node for it. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 44cdcfc2d91041df422ffa6713c1066c12257ccd Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 16:50:21 2015 +0200 ARM: sun5i: Add the Audio codec DT node The A13 and A10s also have the audio codec present. List it in the device tree. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit bcf884504bac05df5e47766142eed304fa3ad953 Author: Marcus Cooper <codekipper@xxxxxxxxx> Date: Tue Jul 22 13:06:48 2014 +0200 ARM: sun4i: Add sunxi codec device node The A10 SoC includes the Allwinner audio codec, capable of both 24-bit playback and capture. This commit adds a device node for it. Signed-off-by: Marcus Cooper <codekipper@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit dbe4dd1e617a24b609b92c1551702a73c88858aa Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:28:46 2015 +0200 ARM: sun7i: Add audio codec clock The audio codec functional clock is a child of PLL2 and is used to control the audio rate, enable it in the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit ca72f0223760d7f14f092ca65dfccca74fc37c1c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:28:46 2015 +0200 ARM: sun5i: Add audio codec clock The audio codec functional clock is a child of PLL2 and is used to control the audio rate, enable it in the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit b516fa5def5975261bffe4f50169234ad6fad8db Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:28:46 2015 +0200 ARM: sun4i: Add audio codec clock The audio codec functional clock is a child of PLL2 and is used to control the audio rate, enable it in the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 88a86aaa613032e0d5cf70a3d0777302ec2ed40b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:21:49 2015 +0200 ARM: sun7i: Add audio PLL The A20 uses the PLL2 as the audio PLL, which is the parent of all the other audio clocks in the system (i2s, codec, etc.). Add it to the DTSI. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 6f87abb8cd7dc00701f0a732962420fddbf4b79b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:21:49 2015 +0200 ARM: sun5i: Add audio PLL The A13 uses the PLL2 as the audio PLL, which is the parent of all the other audio clocks in the system (i2s, codec, etc.). However, it has a different divider configuration than the A10, hence the difference compatible. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 6ee93e127f52d041342b30c8db485b41abcd5bdd Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:21:49 2015 +0200 ARM: sun4i: Add audio PLL The A10 uses the PLL2 as the audio PLL, which is the parent of all the other audio clocks in the system (i2s, codec, etc.). Add it to the DTSI. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 25520d55cdb6ee289abc68f553d364d22478ff54 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Oct 21 13:19:49 2015 -0400 block: Inline blk_integrity in struct gendisk Up until now the_integrity profile has been dynamically allocated and attached to struct gendisk after the disk has been made active. This causes problems because NVMe devices need to register the profile prior to the partition table being read due to a mandatory metadata buffer requirement. In addition, DM goes through hoops to deal with preallocating, but not initializing integrity profiles. Since the integrity profile is small (4 bytes + a pointer), Christoph suggested moving it to struct gendisk proper. This requires several changes: - Moving the blk_integrity definition to genhd.h. - Inlining blk_integrity in struct gendisk. - Removing the dynamic allocation code. - Adding helper functions which allow gendisk to set up and tear down the integrity sysfs dir when a disk is added/deleted. - Adding a blk_integrity_revalidate() callback for updating the stable pages bdi setting. - The calls that depend on whether a device has an integrity profile or not now key off of the bi->profile pointer. - Simplifying the integrity support routines in DM (Mike Snitzer). Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4c241d08dbfcbdc7a949b91d72707a289d464954 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Oct 21 13:19:43 2015 -0400 block: Export integrity data interval size in sysfs The size of the data interval was not exported in the sysfs integrity directory. Export it so that userland apps can tell whether the interval is different from the device's logical block size. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit a48f041d91bf1aee599fa2adb53b780ed20c2ee5 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Oct 21 13:19:38 2015 -0400 block: Reduce the size of struct blk_integrity The per-device properties in the blk_integrity structure were previously unsigned short. However, most of the values fit inside a char. The only exception is the data interval size and we can work around that by storing it as a power of two. This cuts the size of the dynamic portion of blk_integrity in half. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0f8087ecdeac921fc4920f1328f55c15080bc6aa Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Oct 21 13:19:33 2015 -0400 block: Consolidate static integrity profile properties We previously made a complete copy of a device's data integrity profile even though several of the fields inside the blk_integrity struct are pointers to fixed template entries in t10-pi.c. Split the static and per-device portions so that we can reference the template directly. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit aff34e192e4eeacfb8b5ffc68e10a240f2c0c6d7 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Oct 21 13:19:27 2015 -0400 block: Move integrity kobject to struct gendisk The integrity kobject purely exists to support the integrity subdirectory in sysfs and doesn't really have anything to do with the blk_integrity data structure. Move the kobject to struct gendisk where it belongs. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 51e0164ebe374a26245312515af4ceae11bed4ae Merge: 120bf96 b9788a4 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Oct 21 15:42:20 2015 -0500 Merge branch 'nfsclone' * nfsclone: nfs: add missing linux/types.h NFS: Fix an 'unused variable' complaint when #ifndef CONFIG_NFS_V4_2 nfs42: add NFS_IOC_CLONE_RANGE ioctl nfs42: respect clone_blksize nfs: get clone_blksize when probing fsinfo nfs42: add NFS_IOC_CLONE ioctl nfs42: add CLONE proc functions nfs42: add CLONE xdr functions commit 931cf9a3e55c7a4c0d7340140643ce6fdf7b6e96 Author: Hal Rosenstock <hal@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:04:29 2015 -0400 ib_pack.h: Fix commentary IBA reference for CNP in IB opcode enum IBA spec is now 1.3 not 3.1 and vol 1 should be mentioned as there is also vol 2. Signed-off-by: Hal Rosenstock <hal@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 68a5e6043655a56cdb13b06b3f63d39791fe18eb Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 4 17:00:05 2015 +0800 IB/iser: fix a comment typo Just fix a typo in the code comment. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b9788a446828703cf126dfb9d3843d240af44122 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Wed Oct 21 03:18:16 2015 +0800 nfs: add missing linux/types.h After merging the nfs tree, today's linux-next build (powerpc allyesconfig produced this warning: ./usr/include/linux/nfs.h:40: found __[us]{8,16,32,64} type without #include <linux/types.h> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fe274c5aed1b5e311e0e83306572b70312c0313a Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Mon Oct 19 16:57:10 2015 +0000 usnic: correctly handle kzalloc return value Since kzalloc returns memory address, not error code, it should be checked whether it is null or not. Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Reviewed-by: Dave Goodell <dgoodell@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 35ef4a9ebfe3392da8ca025c8c16365c9da472e5 Author: Dave Goodell \(dgoodell\) <dgoodell@xxxxxxxxx> Date: Thu Oct 15 20:01:29 2015 -0700 MAINTAINERS: update usnic maintainer contacts Upinder hasn't worked for Cisco for a little while now, updating to more active maintainers. Signed-off-by: Dave Goodell <dgoodell@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2c79dad8953626b8b808a353bc661c9f321a64c0 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Thu Oct 15 21:15:15 2015 +0000 usnic: correctly check failed allocation Since ib_alloc_device returns allocated memory address, not error, it should be checked as IS_NULL, not IS_ERR_OR_NULL. Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Reviewed-by: Dave Goodell <dgoodell@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit fc81a06965396150a395b1fe29f1bd13d4825ad6 Merge: 070b399 0ca81a2 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Wed Oct 21 16:40:21 2015 -0400 Merge branch 'k.o/for-4.3-v1' into k.o/for-4.4 Pick up the late fixes from the 4.3 cycle so we have them in our next branch. commit 9b038bc58ad2658c76fd8b50bb333dfd4454573c Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Fri Jul 18 15:28:02 2014 -0300 clk: sunxi: mod1 clock support The module 1 type of clocks consist of a gate and a mux and are used on the audio blocks to mux and gate the PLL2 outputs for AC97, IIS or SPDIF. This commit adds support for them on the sunxi clock driver. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit e2771545f49fbfec874642533058a3423fa29e16 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Fri Jul 18 15:49:37 2014 -0300 clk: sunxi: codec clock support The codec clock on sun4i, sun5i and sun7i is a simple gate with PLL2 as parent. Add a driver for such a clock. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit eb662f854710e6a438789a4b0d1d0cce8c12379d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 13:32:43 2015 +0200 clk: sunxi: pll2: Add A13 support The A13, unlike the A10 and A20, doesn't use a pass-through exception for the 0 value in the pre and post dividers, but increments all the values written in the register by one. Add an exception for both these cases to handle them nicely. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 460d0d444822e9032a2573fc051b45c68b89a97a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 18 15:48:35 2014 -0300 clk: sunxi: Add a driver for the PLL2 The PLL2 on the A10 and later SoCs is the clock used for all the audio related operations. This clock has a somewhat complex output tree, with three outputs (2X, 4X and 8X) with a fixed divider from the base clock, and an output (1X) with a post divider. However, we can simplify things since the 1X divider can be fixed, and we end up by having a base clock not exposed to any device (or at least directly, since the 4X output doesn't have any divider), and 4 fixed divider clocks that will be exposed. This clock seems to have been introduced, at least in this form, in the revision B of the A10, but we don't have any information on the clock used on the revision A. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit f2e0a53271a439a2ab142645867f0cde45b2b3cd Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue May 19 22:19:33 2015 +0200 clk: Add a basic multiplier clock Some clocks are using a multiplier component, however, unlike their mux, gate or divider counterpart, these factors don't have a basic clock implementation. This leads to code duplication across platforms that want to use that kind of clocks, and the impossibility to use the composite clocks with such a clock without defining your own rate operations. Create such a driver in order to remove these issues, and hopefully factor the implementations, reducing code size across platforms and consolidating the various implementations. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 0ca81a2840f77855bbad1b9f172c545c4dc9e6a4 Author: Doron Tsur <doront@xxxxxxxxxxxx> Date: Sun Oct 11 15:58:17 2015 +0300 IB/cm: Fix rb-tree duplicate free and use-after-free ib_send_cm_sidr_rep could sometimes erase the node from the sidr (depending on errors in the process). Since ib_send_cm_sidr_rep is called both from cm_sidr_req_handler and cm_destroy_id, cm_id_priv could be either erased from the rb_tree twice or not erased at all. Fixing that by making sure it's erased only once before freeing cm_id_priv. Fixes: a977049dacde ('[PATCH] IB: Add the kernel CM implementation') Signed-off-by: Doron Tsur <doront@xxxxxxxxxxxx> Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 09dc1387c9c06cdaf55bc99b35238bd2ec0aed4b Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Oct 21 21:31:49 2015 +0200 drm/vmwgfx: Stabilize the command buffer submission code This commit addresses some stability problems with the command buffer submission code recently introduced: 1) Make the vmw_cmdbuf_man_process() function handle reruns internally to avoid losing interrupts if the caller forgets to rerun on -EAGAIN. 2) Handle default command buffer allocations using inline command buffers. This avoids rare allocation deadlocks. 3) In case of command buffer errors we might lose fence submissions. Therefore send a new fence after each command buffer error. This will help avoid lengthy fence waits. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit bee67756eb4ae51ededeb8ce56e7f4fb91d30b43 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Oct 12 12:10:12 2015 -0700 PCI: pciehp: Queue power work requests in dedicated function Up to now, work items to be queued to be handled by pciehp_power_thread() are allocated using kmalloc() in three different locations. If not needed, kfree() is called to free the allocated data. Introduce a separate function to allocate the work item and queue it, and call it only if needed. This reduces code duplication and avoids having to free memory if the work item does not need to get executed. [bhelgaas: tweak "no memory" message, make pciehp_queue_power_work() static] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 17bc08f0d1b17d6d5e4967c1b430af627c5f2041 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:10 2015 +0300 Bluetooth: Remove unnecessary hci_explicit_connect_lookup function There's only one user of this helper which can be replaces with a call to hci_pend_le_action_lookup() and a check for params->explicit_connect. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1ede9868f6577e2bd7eda1a05cd6812aff5c6c8a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:07 2015 +0300 Bluetooth: Remove redundant (and possibly wrong) flag clearing There's no need to clear the HCI_CONN_ENCRYPT_PEND flag in smp_failure. In fact, this may cause the encryption tracking to get out of sync as this has nothing to do with HCI activity. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b5c2b6214c609f2be4c020c0be90758b5feeb446 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:09 2015 +0300 Bluetooth: Add hdev helper variable to hci_le_create_connection_cancel The hci_le_create_connection_cancel() function needs to use the hdev pointer in many places so add a variable for it to avoid the need to dereference the hci_conn every time. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ec182f0397e7065dabf13a99fc745fcab0bdc641 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:03 2015 +0300 Bluetooth: Remove unnecessary indentation in unpair_device() Instead of doing all of the LE-specific handling in an else-branch in unpair_device() create a 'done' label for the BR/EDR branch to jump to and then remove the else-branch completely. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f5ad4ffceba0b34adb0d896a069b81fc68f2d7b6 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:02 2015 +0300 Bluetooth: 6lowpan: Use hci_conn_hash_lookup_le() when possible Use the new hci_conn_hash_lookup_le() API to look up LE connections. This way we're guaranteed exact matches that also take into account the address type. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9d4c1cc15b14b4a96ddfcfac533a12f9f527c129 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:01 2015 +0300 Bluetooth: Use hci_conn_hash_lookup_le() when possible Use the new hci_conn_hash_lookup_le() API to look up LE connections. This way we're guaranteed exact matches that also take into account the address type. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1b51c7b6e878a2df6fdb5bcf51f966eb46a330e0 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:00 2015 +0300 Bluetooth: Add hci_conn_hash_lookup_le() helper function Many of the existing LE connection lookups are forced to use hci_conn_hash_lookup_ba() which doesn't take into account the address type. What's worse, most of the users don't bother checking that the returned address type matches what was wanted. This patch adds a new helper API to look up LE connections based on their address and address type, paving the way to have the hci_conn_hash_lookup_ba() users converted to do more precise lookups. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 85813a7ec774b982899c82f86c52cad47588f863 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:02:59 2015 +0300 Bluetooth: Add le_addr_type() helper function The mgmt code needs to convert from mgmt/L2CAP address types to HCI in many places. Having a dedicated helper function for this simplifies code by shortening it and removing unnecessary 'addr_type' variables. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ed885b210752563b5e90dc0933e262f768ea9fa4 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 15 17:34:20 2015 +0200 drm/amdgpu: change VM size default to 64GB That's still small enough to not waste to much memory on PD/PTs. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ddd664f4478a4aaf0ac67a4297e33f1992bc9be2 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Tue Oct 20 14:56:23 2015 +0100 btrfs: reada: Fix returned errno code reada is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Since the error number is propagated, the caller will get a -EPERM which is the wrong error condition. Also, updating the caller to return the exact value from reada_add_block. Smatch tool warning: reada_add_block() warn: returning -1 instead of -ENOMEM is sloppy Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 0b8d8ce0297c4376d50318692e0aa53a3aaed90c Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Tue Oct 20 14:56:22 2015 +0100 btrfs: check-integrity: Fix returned errno codes check-integrity is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Since the error number is propagated, the caller will get a -EPERM which is the wrong error condition. Also, the smatch tool complains with the following warnings: btrfsic_process_superblock() warn: returning -1 instead of -ENOMEM is sloppy btrfsic_read_block() warn: returning -1 instead of -ENOMEM is sloppy Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit d91876496bcf2236efb75ef12378c964bbe8c970 Author: Byongho Lee <bhlee.kernel@xxxxxxxxx> Date: Wed Oct 14 14:05:24 2015 +0900 btrfs: compress: put variables defined per compress type in struct to make cache friendly Below variables are defined per compress type. - struct list_head comp_idle_workspace[BTRFS_COMPRESS_TYPES] - spinlock_t comp_workspace_lock[BTRFS_COMPRESS_TYPES] - int comp_num_workspace[BTRFS_COMPRESS_TYPES] - atomic_t comp_alloc_workspace[BTRFS_COMPRESS_TYPES] - wait_queue_head_t comp_workspace_wait[BTRFS_COMPRESS_TYPES] BTW, while accessing one compress type of these variables, the next or before address is other compress types of it. So this patch puts these variables in a struct to make cache friendly. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Byongho Lee <bhlee.kernel@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 619ed39242d901339c09faa1b52dad47b0476f6f Author: Byongho Lee <bhlee.kernel@xxxxxxxxx> Date: Thu Oct 8 20:49:34 2015 +0900 btrfs: cleanup iterating over prop_handlers array This patch eliminates the last item of prop_handlers array which is used to check end of array and instead uses ARRAY_SIZE macro. Though this is a very tiny optimization, using ARRAY_SIZE macro is a good practice to iterate array. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Byongho Lee <bhlee.kernel@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 8cd1e73111f95ca915f37ed534bbfbdf24fc1ca8 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 4 17:05:32 2015 +0800 btrfs: fix a comment typo Just fix a typo in the code comment. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 6e4d6fa12ceb22f87d49e043e5a7636abdac970f Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Tue Sep 22 21:00:07 2015 +0000 btrfs: declare rsv_count as unsigned int instead of int rsv_count ultimately gets passed to start_transaction() which now takes an unsigned int as its num_items parameter. The value of rsv_count should always be positive so declare it as being unsigned. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 5aed1dd8b458aa63aa9b7c1c5dd78f54de143c6f Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Tue Sep 22 20:59:15 2015 +0000 btrfs: change num_items type from u64 to unsigned int The value of num_items that start_transaction() ultimately always takes is a small one, so a 64 bit integer is overkill. Also change num_items for btrfs_start_transaction() and btrfs_start_transaction_lflush() as well. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit bdcd3c97d1cb4b8de8b57caab56eb0bb44d1f0f5 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Tue Sep 22 20:02:25 2015 +0000 btrfs: cleanup btrfs_balance profile validity checks Improve readability by generalizing the profile validity checks. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit bb78915203c0c1b07096e50d12f6e8fe54666f4f Author: Shan Hai <shan.hai@xxxxxxxxxxxxx> Date: Mon Sep 21 11:40:57 2015 +0800 btrfs/file.c: remove an unsed varialbe first_index The commit b37392ea86761 ("Btrfs: cleanup unnecessary parameter and variant of prepare_pages()") makes it redundant. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Shan Hai <haishan.bai@xxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 9c170b2644610a62b107c12a007e065d4456798d Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Sep 15 21:08:08 2015 +0800 btrfs: use btrfs_raid_array in btrfs_reduce_alloc_profile btrfs_raid_array[] holds attributes of all raid types. Use btrfs_raid_array[].devs_min is best way for request in btrfs_reduce_alloc_profile(), instead of use complex condition of each raid types. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 8789f4fe608922f484369382a8e507ca12df7f4e Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Sep 15 21:08:07 2015 +0800 btrfs: use btrfs_raid_array for btrfs_get_num_tolerated_disk_barrier_failures() btrfs_raid_array[] is used to define all raid attributes, use it to get tolerated_failures in btrfs_get_num_tolerated_disk_barrier_failures(), instead of complex condition in function. It can make code simple and auto-support other possible raid-type in future. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit af902047508d3619499cbbc2f7c4c5e16428b2e3 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Sep 15 21:08:06 2015 +0800 btrfs: Move btrfs_raid_array to public This array is used to record attributes of each raid type, make it public, and many functions will benifit with this array. For example, num_tolerated_disk_barrier_failures(), we can avoid complex conditions in this function, and get raid attribute simply by accessing above array. It can also make code logic simple, reduce duplication code, and increase maintainability. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit e9cf439f0dc824cca6b2dc0dbb14e17f3f80b7f1 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Wed Sep 9 00:18:50 2015 +0000 btrfs: use a single if() statement for one outcome in get_block_rsv() Rather than have three separate if() statements for the same outcome we should just OR them together in the same if() statement. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit a099d0fdb34f00cee346703036a0a90d267e77d7 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Mon Sep 7 17:24:37 2015 +0300 btrfs: memset cur_trans->delayed_refs to zero Use memset() to null out the btrfs_delayed_ref_root of btrfs_transaction instead of setting all the members to 0 by hand. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 568b1c9cca82623af764ee6ea65dc41a7079171c Author: Byongho Lee <bhlee.kernel@xxxxxxxxx> Date: Tue Sep 1 23:36:28 2015 +0900 btrfs: remove unnecessary list_del We can safely iterate whole list items, without using list_del macro. So remove the list_del call. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Byongho Lee <bhlee.kernel@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit d7641a49a54f66e1a323d0de6b42caeee6d33aa5 Author: Byongho Lee <bhlee.kernel@xxxxxxxxx> Date: Tue Sep 1 23:10:57 2015 +0900 btrfs: replace unnecessary list_for_each_entry_safe to list_for_each_entry There is no removing list element while iterating over list. So, replace list_for_each_entry_safe to list_for_each_entry. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Byongho Lee <bhlee.kernel@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit f2f767e7345dfe56102d6809f647ba38a238f718 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Thu Aug 27 23:53:45 2015 +0000 btrfs: trimming some start_transaction() code away Just call kmem_cache_zalloc() instead of calling kmem_cache_alloc(). We're just initializing most fields to 0, false and NULL later on _anyway_, so to make the code mode readable and potentially gain a bit of performance (completely untested claim), we should fill our btrfs_trans_handle with zeros on allocation then just initialize those five remaining fields (not counting the list_heads) as normal. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 0412e58c6d62168643a285f99b2354fa97df6cf3 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Mon Aug 24 21:56:28 2015 +0000 btrfs: Fixed declaration of old_len old_len is used to store the return value of btrfs_item_size_nr(). The return value of btrfs_item_size_nr() is of type u32. To improve code correctness and avoid mixing signed and unsigned integers I've changed old_len to be of type u32 as well. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit ce0eac2a1d82eb841eae357bcef7ac39df131b21 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Sun Aug 23 16:01:42 2015 +0000 btrfs: Fixed dsize and last_off declarations The return values of btrfs_item_offset_nr and btrfs_item_size_nr are of type u32. To avoid mixing signed and unsigned integers we should also declare dsize and last_off to be of type u32. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 0d51e28a11ad428ac8545a3ec8724395fa1c71a7 Author: Chandan Rajendra <chandan@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 15:26:43 2015 +0530 Btrfs: btrfs_submit_bio_hook: Use btrfs_wq_endio_type values instead of integer constants btrfs_submit_bio_hook() uses integer constants instead of values from "enum btrfs_wq_endio_type". Fix this. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chandan Rajendra <chandan@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 1873041152d2e324e25ddeec5541b90c22c2dc0f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Oct 20 00:39:02 2015 -0700 pstore: add a helper function pstore_register_kmsg Add a new wrapper function pstore_register_kmsg to keep the consistency with other similar pstore_register_* functions. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 549b39a9e7ef3eee2d0895530f277c012abc7b43 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Oct 20 00:39:01 2015 -0700 pstore: add vmalloc error check If vmalloc fails, make write_pmsg return -ENOMEM. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 81b1509aa99b968ac19b0aaa451ecd61a996db10 Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:32:03 2015 -0400 drm/amdgpu: add Stoney pci ids Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 39bb0c92829ad9d7525fa809aa89fc411c85a2c2 Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:31:43 2015 -0400 drm/amdgpu: update the core VI support for Stoney Add core VI enablement for Stoney. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit cfaba566035d2f5a977b18d3287fd407bacf34bc Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:27:55 2015 -0400 drm/amdgpu: add VCE support for Stoney (v2) Stoney is VCE 3.x single. v2: Stoney is single pipe like Fiji Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a39c8cea3512bdf9d002edc9142ff35d314a690e Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:27:21 2015 -0400 drm/amdgpu: add UVD support for Stoney Stoney is UVD 6.x. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e3c7656c22697eeef46ce043e23417241844ab1c Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:29:40 2015 -0400 drm/amdgpu: add GFX support for Stoney (v2) Stoney is GFX 8.1. v2: update to latest golden settings Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bb16e3b6c8641bdf4765c373ba41543861959cbb Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 17:17:51 2015 -0400 drm/amdgpu: add SDMA support for Stoney (v2) Stoney is SDMA 3.x. v2: update to latest golden register settings Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fa2f9befbbbe239bbc6aa1dc6284841a8bd15d49 Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:29:06 2015 -0400 drm/amdgpu: add DCE support for Stoney Stoney is DCE 11.x. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7a753c3f3474458fa1d0b8f41617e41995bc4c40 Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:28:41 2015 -0400 drm/amdgpu: Update SMC/DPM for Stoney Stoney is SMC 8.x. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit aade2f04f94aad4ed68a7a77893b300ef9cf25da Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:26:41 2015 -0400 drm/amdgpu: add GMC support for Stoney Stoney is GMC 8.x. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8affb487d4a4e223d961d7034cb41cd31982b618 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Oct 9 12:23:34 2015 +0200 x86/PCI: Don't alloc pcibios-irq when MSI is enabled The pcibios-irq and MSI both use dev->irq to store the IRQ number. While the MSI code checks for that and frees the pcibios-irq before overwriting dev->irq, the pcibios_alloc_irq() function does not. Usually this is not a problem, as the pcibios-irq is allocated before probe time of the device and the MSI IRQ is allocted from the driver's probe path. But there are PCI devices handled by the core kernel and not by a standard PCI driver, like the AMD IOMMU for example. For the AMD IOMMU a normal PCI device driver does not make sense, because a driver can be forcibly unbound from its device, which is not a good idea for an IOMMU. Nevertheless the PCI core code tries to match the PCI device implementing the AMD IOMMU against drivers, and allocates/frees a pcibios IRQ every time it tries out a new driver. This overwrites the dev->irq field set by pci_enable_msi() and sets it to 0 in the end (because the probe fails and the pcibios-irq is freed again). On suspend/resume this breaks the kernel, because the IRQ descriptor for IRQ 0 is NULL. Fix this by not allocating a pcibios-irq when MSI is already active. This also has the benefit, that a device claimed by the core kernel can not be probed by a PCI driver later. Reported-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> commit 139f491799c303c5269cf6d5600cec9bbf9853e6 Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 14:50:27 2015 -0400 drm/amdgpu: add Stoney chip family Stoney is based on Carrizo with some IP upgrades. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 090425c45db3ec438c161f6a5dd05d1824e65dcd Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jul 17 10:44:33 2015 +0300 drm: rcar-du: Add support for the R8A7794 DU The R8A7794 DU has a fixed output routing configuration with one RGB output per CRTC and thus lacks the RGB output routing register field. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f1ceb84ae0fba02dcb5aa0ff56b5546767376795 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jul 17 10:44:33 2015 +0300 drm: rcar-du: Add support for the R8A7793 DU The R8A7793 DU is identical to the R8A7791 and thus only requires a new DT compatible string. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit ad355e383d826e3506c3caaa0fe991fd112de47b Merge: b10d92a 0d99749 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 21 17:46:56 2015 +0200 Merge tag 'kvm-arm-for-v4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master A late round of KVM/ARM fixes for v4.3-rc7, fixing: - A bug where level-triggered interrupts lowered from userspace are still routed to the guest - A memory leak an a failed initialization path - A build error under certain configurations - Several timer bugs introduced with moving the timer to the active state handling instead of the masking trick. commit f48b2659f521301753f9b3b67e308a79c6110346 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Oct 16 14:06:19 2015 +0800 drm/amdgpu: fix the broken vm->mutex V2 fix the vm->mutex and ww_mutex confilcts. vm->mutex is always token first, then ww_mutex. V2: remove unneccessary checking for pt bo. Change-Id: Iea56e183752c02831126d06d2f5b7a474a6e4743 Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit ce16b0e5a32a157abd6446214e8b91c55064204e Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Sun Sep 6 13:55:03 2015 +0800 drm/amdgpu: remove the unnecessary parameter adev for amdgpu_fence_wait_any() Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 0c418f10104d4aa1d6b83698790898dc9ef1c12d Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Sep 1 15:13:53 2015 +0200 drm/amdgpu: remove the exclusive lock Finally getting rid of it. Signed-off-by: Christian König <christian.koenig@xxxxxxx> commit b7e4dad3e1fc5d3909737fb72e57aedeb0072c7f Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Sep 1 10:50:26 2015 +0200 drm/amdgpu: remove old lockup detection infrastructure It didn't worked to well anyway. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> commit d0be9f4ec1c4ad8a8b6be1efa5bc81e5bce957a3 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 23:29:48 2015 +0800 drm: fix trivial typos s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 55f41297576ddb7868af2f13f3a8107178dee2d0 Merge: 0690f4f db347f1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 21 17:03:37 2015 +0200 Merge tag 'mvebu-fixes-4.3-2' of git://git.infradead.org/linux-mvebu into fixes Merge "mvebu fixes for 4.3 (part 2)" from Gregory CLEMENT: Fix wrong compatible for A385 DB AP preventing using suspend * tag 'mvebu-fixes-4.3-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: correct a385-db-ap compatible string commit 0690f4f2ef487259e9ce39f575c48c89745058f2 Merge: 6701ef0 b28fec1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 21 17:02:13 2015 +0200 Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Merge "Samsung 2nd fixes for v4.3" from Kukjin Kim: - fix SOC detection of exynos thermal on exynos5260 - fix audio card detection on Peach boards - fix double of_node_put() when parsing child power domains * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: thermal: exynos: Fix register read in TMU ARM: dts: Fix audio card detection on Peach boards ARM: EXYNOS: Fix double of_node_put() when parsing child power domains commit 6701ef0318f76a9765a3fc762cbac405e024a8c2 Merge: 4f1d841 57df538 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 21 17:01:14 2015 +0200 Merge tag 'omap-for-v4.3/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "Fixes for omaps for v4.3-rc cycle" from Tony Lindgren: - Fix oops with LPAE and moew than 2GB of memory by enabling ZONE_DMA for LPAE. Probably no need for stable on this one as we only recently ran into this with the mainline kernel - Fix imprecise external abort caused by bogus SRAM init. This affects dm814x recently merged, so no need for stable on this one AFAIK * tag 'omap-for-v4.3/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix imprecise external abort caused by bogus SRAM init ARM: OMAP2+: Fix oops with LPAE and more than 2GB of memory commit 6ac311ae8bfb47de09f349e781e26373944d2ee3 Author: Elad Raz <eladr@xxxxxxxxxxxx> Date: Mon Oct 19 15:37:25 2015 +0300 Adding switchdev ageing notification on port bridged Configure ageing time to the HW for newly bridged device CC: Scott Feldman <sfeldma@xxxxxxxxx> CC: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50010c20597d14667eff0fdb628309986f195230 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Oct 19 13:16:49 2015 +0300 irda: precedence bug in irlmp_seq_hb_idx() This is decrementing the pointer, instead of the value stored in the pointer. KASan detects it as an out of bounds reference. Reported-by: "Berry Cheng ç¨?å??(æ??æ·¼)" <chengmiao.cj@xxxxxxxxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca88ea1247dfee094e2467a3578eaec9bdf0833a Author: Joe Jin <joe.jin@xxxxxxxxxx> Date: Mon Oct 19 13:37:17 2015 +0800 xen-netfront: update num_queues to real created Sometimes xennet_create_queues() may failed to created all requested queues, we need to update num_queues to real created to avoid NULL pointer dereference. Signed-off-by: Joe Jin <joe.jin@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6a835bb04ca34b6fd337eea0544a871ba2349b8 Author: Gao feng <omarapazanadi@xxxxxxxxx> Date: Sun Oct 18 23:35:56 2015 +0800 vsock: fix missing cleanup when misc_register failed reset transport and unlock if misc_register failed. Signed-off-by: Gao feng <omarapazanadi@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10be15ff6c33f1dc0a96cae6089dc2268834e568 Merge: f3c9f95 968200f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 21 07:36:51 2015 -0700 Merge branch 'mv643xx-fixes' Philipp Kirchhofer says: ==================== net: mv643xx_eth: TSO TX data corruption fixes as previously discussed [1] the mv643xx_eth driver has some issues with data corruption when using TCP segmentation offload (TSO). The following patch set improves this situation by fixing two data corruption bugs in the TSO TX path. Before applying the patches repeatedly accessing large files located on a SMB share on my NSA325 NAS with TSO enabled resulted in different hash sums, which confirmed that data corruption is happening during file transfer. After applying the patches the hash sums were the same. As this is my first patch submission please feel free to point out any issues with the patch set. [1] http://thread.gmane.org/gmane.linux.network/336530 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 968200f322daccc6f08fee26fe1bb4232e460408 Author: Philipp Kirchhofer <philipp@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 18 16:02:44 2015 +0200 net: mv643xx_eth: Defer writing the first TX descriptor when using TSO To prevent a race between the TX DMA engine and the CPU the writing of the first transmit descriptor must be deferred until all following descriptors have been updated. The network card may otherwise start transmitting before all packet descriptors are set up correctly, which leads to data corruption or an aborted transmit operation. This deferral is already done in the non-TSO TX path, implement it also in the TSO TX path. Signed-off-by: Philipp Kirchhofer <philipp@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91986fd3d335a2ea651bc85cf5a03f2f61a2aa34 Author: Philipp Kirchhofer <philipp@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 18 16:02:43 2015 +0200 net: mv643xx_eth: Ensure proper data alignment in TSO TX path The TX DMA engine requires that buffers with a size of 8 bytes or smaller must be 64 bit aligned. This requirement may be violated when doing TSO, as in this case larger skb frags can be broken up and transmitted in small parts with then inappropriate alignment. Fix this by checking for proper alignment before handing a buffer to the DMA engine. If the data is misaligned realign it by copying it into the TSO header data area. Signed-off-by: Philipp Kirchhofer <philipp@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9299b24712400d1cfe3dcf3e5dcb6cac2940df56 Author: Dave Martin <Dave.Martin@xxxxxxx> Date: Thu Jul 30 16:36:25 2015 +0100 arm64: Constify hwcap name string arrays The hwcap string arrays used for generating the contents of /proc/cpuinfo are currently arrays of non-const pointers. There's no need for these pointers to be mutable, so this patch makes them const so that they can be moved to .rodata. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4db8e5ea6b07ae83e4361aee3f967f7126e01fa4 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:55 2015 +0100 arm64/kvm: Make use of the system wide safe values Use the system wide safe value from the new API for safer decisions Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3085bb01b40676d946a13064483ab2819ae3b010 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:54 2015 +0100 arm64/debug: Make use of the system wide safe value Use the system wide value of ID_AA64DFR0 to make safer decisions Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit fe80f9f2da1006a4308c2bc018ee1d67f10dd8d0 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:53 2015 +0100 arm64: Move FP/ASIMD hwcap handling to common code The FP/ASIMD is detected in fpsimd_init(), which is built-in unconditionally. Lets move the hwcap handling to the central place. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 37b01d53ceefa390d6eee7a82f3c156b64951bf3 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:52 2015 +0100 arm64/HWCAP: Use system wide safe values Extend struct arm64_cpu_capabilities to handle the HWCAP detection and make use of the system wide value of the feature registers for a reliable set of HWCAPs. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit da8d02d19ffdd201af632c755a473b6df4b3e4cc Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:51 2015 +0100 arm64/capabilities: Make use of system wide safe value Now that we can reliably read the system wide safe value for a feature register, use that to compute the system capability. This patch also replaces the 'feature-register-specific' methods with a generic routine to check the capability. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit dbb4e152b8da1f977d9d8cd7e494ab4ee3622f72 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:50 2015 +0100 arm64: Delay cpu feature capability checks At the moment we run through the arm64_features capability list for each CPU and set the capability if one of the CPU supports it. This could be problematic in a heterogeneous system with differing capabilities. Delay the CPU feature checks until all the enabled CPUs are up(i.e, smp_cpus_done(), so that we can make better decisions based on the overall system capability. Once we decide and advertise the capabilities the alternatives can be applied. From this state, we cannot roll back a feature to disabled based on the values from a new hotplugged CPU, due to the runtime patching and other reasons. So, for all new CPUs, we need to make sure that they have the established system capabilities. Failing which, we bring the CPU down, preventing it from turning online. Once the capabilities are decided, any new CPU booting up goes through verification to ensure that it has all the enabled capabilities and also invokes the respective enable() method on the CPU. The CPU errata checks are not delayed and is still executed per-CPU to detect the respective capabilities. If we ever come across a non-errata capability that needs to be checked on each-CPU, we could introduce them via a new capability table(or introduce a flag), which can be processed per CPU. The next patch will make the feature checks use the system wide safe value of a feature register. NOTE: The enable() methods associated with the capability is scheduled on all the CPUs (which is the only use case at the moment). If we need a different type of 'enable()' which only needs to be run once on any CPU, we should be able to handle that when needed. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> [catalin.marinas@xxxxxxx: static variable and coding style fixes] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ce8b602c694c9482e0ffb7432cd59fa2276673fe Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:49 2015 +0100 arm64: Refactor check_cpu_capabilities check_cpu_capabilities runs through a given list of caps and checks if the system has the cap, updates the system capability bitmap and also runs any enable() methods associated with them. All of this is not quite obvious from the name 'check'. This patch splits the check_cpu_capabilities into two parts : 1) update_cpu_capabilities => Runs through the given list and updates the system wide capability map. 2) enable_cpu_capabilities => Runs through the given list and invokes enable() (if any) for the caps enabled on the system. Cc: Andre Przywara <andre.przywara@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Suggested-by: Catalin Marinas <catalin.marinsa@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c1e8656cbae139c8aaf34d7b802edecbc8a1cf58 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:48 2015 +0100 arm64: Cleanup mixed endian support detection Make use of the system wide safe register to decide the support for mixed endian. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit b3f1537893b54d0f42f52e0f4cde5e17e21f564c Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:47 2015 +0100 arm64: Read system wide CPUID value Add an API for reading the safe CPUID value across the system from the new infrastructure. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3086d391f992984def0aa6aa4a36f54853c58536 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:46 2015 +0100 arm64: Consolidate CPU Sanity check to CPU Feature infrastructure This patch consolidates the CPU Sanity check to the new infrastructure. Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3c739b57108436211c7f798ba3de0bb0cd8ef469 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:45 2015 +0100 arm64: Keep track of CPU feature registers This patch adds an infrastructure to keep track of the CPU feature registers on the system. For each register, the infrastructure keeps track of the system wide safe value of the feature bits. Also, tracks the which fields of a register should be matched strictly across all the CPUs on the system for the SANITY check infrastructure. The feature bits are classified into following 3 types depending on the implication of the possible values. This information is used to decide the safe value for a feature. LOWER_SAFE - The smaller value is safer HIGHER_SAFE - The bigger value is safer EXACT - We can't decide between the two, so a predefined safe_value is used. This infrastructure will be later used to make better decisions for: - Kernel features (e.g, KVM, Debug) - SANITY Check - CPU capability - ELF HWCAP - Exposing CPU Feature register to userspace. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> [catalin.marinas@xxxxxxx: whitespace fix] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ce98a677d897dbaac86905652292fab1eeeb2b93 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:44 2015 +0100 arm64: Handle width of a cpuid feature Introduce a helper to extract cpuid feature for any given width. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 12d11817eaafa414eeb47af684093eb2165ebe37 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:43 2015 +0100 arm64: Move /proc/cpuinfo handling code This patch moves the /proc/cpuinfo handling code: arch/arm64/kernel/{setup.c to cpuinfo.c} No functional changes Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit cdcf817b7e4b62b935d8797f7d07ea0b97760884 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:42 2015 +0100 arm64: Move mixed endian support detection Move the mixed endian support detection code to cpufeature.c from cpuinfo.c. This also moves the update_cpu_features() used by mixed endian detection code, which will get more functionality. Also moves the ID register field shifts to asm/sysreg.h, where all the useful definitions will end up in later patches. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 9cdf8ec4a86b9310111f741bbaf11df9120e0482 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:41 2015 +0100 arm64: Move cpu feature detection code This patch moves the CPU feature detection code from arch/arm64/kernel/{setup.c to cpufeature.c} The plan is to consolidate all the CPU feature handling in cpufeature.c. Apart from changing pr_fmt from "alternatives" to "cpu features", there are no functional changes. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4b998ff1885eecd3dc330bf057e24667c1db84a4 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:40 2015 +0100 arm64: Delay cpuinfo_store_boot_cpu At the moment the boot CPU stores the cpuinfo long before the PERCPU areas are initialised by the kernel. This could be problematic as the non-boot CPU data structures might get copied with the data from the boot CPU, giving us no chance to detect if a particular CPU updated its cpuinfo. This patch delays the boot cpu store to smp_prepare_boot_cpu(). Also kills the setup_processor() which no longer does meaningful work. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3a75578efae64b94d76eacbf8adf2a3ab13c6aa1 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:39 2015 +0100 arm64: Delay ELF HWCAP initialisation until all CPUs are up Delay the ELF HWCAP initialisation until all the (enabled) CPUs are up, i.e, smp_cpus_done(). This is in preparation for detecting the common features across the CPUS and creating a consistent ELF HWCAP for the system. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 64f17818977d0989f7d05347670777611b295799 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:38 2015 +0100 arm64: Make the CPU information more clear At early boot, we print the CPU version/revision. On a heterogeneous system, we could have different types of CPUs. Print the CPU info for all active cpus. Also, the secondary CPUs prints the message only when they turn online. Also, remove the redundant 'revision' information which doesn't make any sense without the 'variant' field. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 146aa8b1453bd8f1ff2304ffb71b4ee0eb9acdcc Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Oct 21 14:04:48 2015 +0100 KEYS: Merge the type-specific data with the payload data Merge the type-specific data with the payload data into one four-word chunk as it seems pointless to keep them separate. Use user_key_payload() for accessing the payloads of overloaded user-defined keys. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> cc: linux-cifs@xxxxxxxxxxxxxxx cc: ecryptfs@xxxxxxxxxxxxxxx cc: linux-ext4@xxxxxxxxxxxxxxx cc: linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx cc: linux-nfs@xxxxxxxxxxxxxxx cc: ceph-devel@xxxxxxxxxxxxxxx cc: linux-ima-devel@xxxxxxxxxxxxxxxxxxxxx commit 4adc605edc5f744dcf432241b5996ff6a13d868c Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Oct 21 14:04:47 2015 +0100 KEYS: Provide a script to extract a module signature The supplied script takes a signed module file and extracts the tailmost signature (there could theoretically be more than one) and dumps all or part of it or the unsigned file to stdout. Call as: scripts/extract-module-sig.pl -[0adnks] module-file >out where the initial flag indicates which bit of the signed file you want dumping to stdout: (*) "-0". Dumps the unsigned data with the signature stripped. (*) "-a". Dumps all of the signature data, including the magic number. (*) "-d". Dumps the signature information block as a sequence of decimal numbers in text form with spaces between (crypto algorithm type, hash type, identifier type, signer's name length, key identifier length and signature length). (*) "-n". Dumps the signer's name contents. (*) "-k". Dumps the key identifier contents. (*) "-s". Dumps the cryptographic signature contents. In the case that the signature is a PKCS#7 (or CMS) message, -n and -k will print a warning to stderr and dump nothing to stdout, but will otherwise complete okay; the entire PKCS#7/CMS message will be dumped by "-s"; and "-d" will show "0 0 2 0 0 <pkcs#7-msg-len>". Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 2221a6ee73e7c8f43af802a1ef9426d4b0d122d3 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Oct 21 14:04:47 2015 +0100 KEYS: Provide a script to extract the sys cert list from a vmlinux file The supplied script takes a vmlinux file - and if necessary a System.map file - locates the system certificates list and extracts it to the named file. Call as: ./scripts/extract-sys-certs vmlinux certs if vmlinux contains symbols and: ./scripts/extract-sys-certs -s System.map vmlinux certs if it does not. It prints something like the following to stdout: Have 27 sections No symbols in vmlinux, trying System.map Have 80088 symbols Have 1346 bytes of certs at VMA 0xffffffff8201c540 Certificate list in section .init.data Certificate list at file offset 0x141c540 If vmlinux contains symbols then that is used rather than System.map - even if one is given. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 27720e75a7a1597252a81dadcd178331c83af861 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Wed Oct 21 14:04:47 2015 +0100 keys: Be more consistent in selection of union members used key->description and key->index_key.description are same because they are unioned. But, for readability, using same name for duplication and validation seems better. Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 48dbc164b40dd9195dea8cd966e394819e420b64 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Oct 21 14:04:47 2015 +0100 certs: add .gitignore to stop git nagging about x509_certificate_list Currently we see this in "git status" if we build in the source dir: Untracked files: (use "git add <file>..." to include in what will be committed) certs/x509_certificate_list It looks like it used to live in kernel/ so we squash that .gitignore entry at the same time. I didn't bother to dig through git history to see when it moved, since it is just a minor annoyance at most. Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: keyrings@xxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit d0e0eba043c78b1d6ce3d29367abb41446d83747 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Wed Oct 21 14:04:46 2015 +0100 KEYS: use kvfree() in add_key There is no need to make a flag to tell that this memory is allocated by kmalloc or vmalloc. Just use kvfree to free the memory. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit e27c5b9d23168cc2cb8fec147ae7ed1f7a2005c3 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Oct 13 18:14:19 2015 -0400 writeback: remove broken rbtree_postorder_for_each_entry_safe() usage in cgwb_bdi_destroy() a20135ffbc44 ("writeback: don't drain bdi_writeback_congested on bdi destruction") added rbtree_postorder_for_each_entry_safe() which is used to remove all entries; however, according to Cody, the iterator isn't safe against operations which may rebalance the tree. Fix it by switching to repeatedly removing rb_first() until empty. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Cody P Schafer <dev@xxxxxxxxxx> Fixes: a20135ffbc44 ("writeback: don't drain bdi_writeback_congested on bdi destruction") Link: http://lkml.kernel.org/g/1443997973-1700-1-git-send-email-dev@xxxxxxxxxx Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3061692921f2d701bb09699d16ed780903dd54e2 Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Fri Oct 16 16:04:49 2015 +0300 tracing: Remove {start,stop}_branch_trace Both start_branch_trace() and stop_branch_trace() are used in only one location, and are both static. As they are small functions there is no need to keep them separated out. Link: http://lkml.kernel.org/r/1445000689-32596-1-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit eb9fae328faff9807a4ab5c1834b19f34dd155d4 Merge: c8fdc32 4f41b1c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 21 07:00:59 2015 -0700 Merge branch 'tcp-rack' Yuchung Cheng says: ==================== RACK loss detection RACK (Recent ACK) loss recovery uses the notion of time instead of packet sequence (FACK) or counts (dupthresh). It's inspired by the FACK heuristic in tcp_mark_lost_retrans(): when a limited transmit (new data packet) is sacked in recovery, then any retransmission sent before that newly sacked packet was sent must have been lost, since at least one round trip time has elapsed. But that existing heuristic from tcp_mark_lost_retrans() has several limitations: 1) it can't detect tail drops since it depends on limited transmit 2) it's disabled upon reordering (assumes no reordering) 3) it's only enabled in fast recovery but not timeout recovery RACK addresses these limitations with a core idea: an unacknowledged packet P1 is deemed lost if a packet P2 that was sent later is is s/acked, since at least one round trip has passed. Since RACK cares about the time sequence instead of the data sequence of packets, it can detect tail drops when a later retransmission is s/acked, while FACK or dupthresh can't. For reordering RACK uses a dynamically adjusted reordering window ("reo_wnd") to reduce false positives on ever (small) degree of reordering, similar to the delayed Early Retransmit. In the current patch set RACK is only a supplemental loss detection and does not trigger fast recovery. However we are developing RACK to replace or consolidate FACK/dupthresh, early retransmit, and thin-dupack. These heuristics all implicitly bear the time notion. For example, the delayed Early Retransmit is simply applying RACK to trigger the fast recovery with small inflight. RACK requires measuring the minimum RTT. Tracking a global min is less robust due to traffic engineering pathing changes. Therefore it uses a windowed filter by Kathleen Nichols. The min RTT can also be useful for various other purposes like congestion control or stat monitoring. This patch has been used on Google servers for well over 1 year. RACK has also been implemented in the QUIC protocol. We are submitting an IETF draft as well. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f41b1c58a32537542f14c1150099131613a5e8a Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:47 2015 -0700 tcp: use RACK to detect losses This patch implements the second half of RACK that uses the the most recent transmit time among all delivered packets to detect losses. tcp_rack_mark_lost() is called upon receiving a dubious ACK. It then checks if an not-yet-sacked packet was sent at least "reo_wnd" prior to the sent time of the most recently delivered. If so the packet is deemed lost. The "reo_wnd" reordering window starts with 1msec for fast loss detection and changes to min-RTT/4 when reordering is observed. We found 1msec accommodates well on tiny degree of reordering (<3 pkts) on faster links. We use min-RTT instead of SRTT because reordering is more of a path property but SRTT can be inflated by self-inflicated congestion. The factor of 4 is borrowed from the delayed early retransmit and seems to work reasonably well. Since RACK is still experimental, it is now used as a supplemental loss detection on top of existing algorithms. It is only effective after the fast recovery starts or after the timeout occurs. The fast recovery is still triggered by FACK and/or dupack threshold instead of RACK. We introduce a new sysctl net.ipv4.tcp_recovery for future experiments of loss recoveries. For now RACK can be disabled by setting it to 0. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 659a8ad56f490279f0efee43a62ffa1ac914a4e0 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:46 2015 -0700 tcp: track the packet timings in RACK This patch is the first half of the RACK loss recovery. RACK loss recovery uses the notion of time instead of packet sequence (FACK) or counts (dupthresh). It's inspired by the previous FACK heuristic in tcp_mark_lost_retrans(): when a limited transmit (new data packet) is sacked, then current retransmitted sequence below the newly sacked sequence must been lost, since at least one round trip time has elapsed. But it has several limitations: 1) can't detect tail drops since it depends on limited transmit 2) is disabled upon reordering (assumes no reordering) 3) only enabled in fast recovery ut not timeout recovery RACK (Recently ACK) addresses these limitations with the notion of time instead: a packet P1 is lost if a later packet P2 is s/acked, as at least one round trip has passed. Since RACK cares about the time sequence instead of the data sequence of packets, it can detect tail drops when later retransmission is s/acked while FACK or dupthresh can't. For reordering RACK uses a dynamically adjusted reordering window ("reo_wnd") to reduce false positives on ever (small) degree of reordering. This patch implements tcp_advanced_rack() which tracks the most recent transmission time among the packets that have been delivered (ACKed or SACKed) in tp->rack.mstamp. This timestamp is the key to determine which packet has been lost. Consider an example that the sender sends six packets: T1: P1 (lost) T2: P2 T3: P3 T4: P4 T100: sack of P2. rack.mstamp = T2 T101: retransmit P1 T102: sack of P2,P3,P4. rack.mstamp = T4 T205: ACK of P4 since the hole is repaired. rack.mstamp = T101 We need to be careful about spurious retransmission because it may falsely advance tp->rack.mstamp by an RTT or an RTO, causing RACK to falsely mark all packets lost, just like a spurious timeout. We identify spurious retransmission by the ACK's TS echo value. If TS option is not applicable but the retransmission is acknowledged less than min-RTT ago, it is likely to be spurious. We refrain from using the transmission time of these spurious retransmissions. The second half is implemented in the next patch that marks packet lost using RACK timestamp. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 625a5e109a3ed6f36a1008a43069a3462b44a424 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:45 2015 -0700 tcp: skb_mstamp_after helper a helper to prepare the first main RACK patch. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77c631273dc1305a89698929decafa6e43bea645 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:44 2015 -0700 tcp: add tcp_tsopt_ecr_before helper a helper to prepare the main RACK patch Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af82f4e84866ecd360a53f770d6217637116e6c1 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:43 2015 -0700 tcp: remove tcp_mark_lost_retrans() Remove the existing lost retransmit detection because RACK subsumes it completely. This also stops the overloading the ack_seq field of the skb control block. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f672258391b42a5c7cc2732c9c063e56a85c8dbe Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:42 2015 -0700 tcp: track min RTT using windowed min-filter Kathleen Nichols' algorithm for tracking the minimum RTT of a data stream over some measurement window. It uses constant space and constant time per update. Yet it almost always delivers the same minimum as an implementation that has to keep all the data in the window. The measurement window is tunable via sysctl.net.ipv4.tcp_min_rtt_wlen with a default value of 5 minutes. The algorithm keeps track of the best, 2nd best & 3rd best min values, maintaining an invariant that the measurement time of the n'th best >= n-1'th best. It also makes sure that the three values are widely separated in the time window since that bounds the worse case error when that data is monotonically increasing over the window. Upon getting a new min, we can forget everything earlier because it has no value - the new min is less than everything else in the window by definition and it's the most recent. So we restart fresh on every new min and overwrites the 2nd & 3rd choices. The same property holds for the 2nd & 3rd best. Therefore we have to maintain two invariants to maximize the information in the samples, one on values (1st.v <= 2nd.v <= 3rd.v) and the other on times (now-win <=1st.t <= 2nd.t <= 3rd.t <= now). These invariants determine the structure of the code The RTT input to the windowed filter is the minimum RTT measured from ACK or SACK, or as the last resort from TCP timestamps. The accessor tcp_min_rtt() returns the minimum RTT seen in the window. ~0U indicates it is not available. The minimum is 1usec even if the true RTT is below that. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e45a3e36b363cc4c79c70f2b4f994e66543a219 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:41 2015 -0700 tcp: apply Kern's check on RTTs used for congestion control Currently ca_seq_rtt_us does not use Kern's check. Fix that by checking if any packet acked is a retransmit, for both RTT used for RTT estimation and congestion control. Fixes: 5b08e47ca ("tcp: prefer packet timing to TS-ECR for RTT") Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f3c9f95056acab715328ee63a80ddf5fd32c0a28 Merge: aebd994 d88ecb3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 21 06:41:51 2015 -0700 Merge branch 'smsc-energy-detect' Heiko Schocher says: ==================== net, phy, smsc: add posibility to disable energy detect mode On some boards the energy enable detect mode leads in trouble with some switches, so make the enabling of this mode configurable through DT. Therefore the property "smsc,disable-energy-detect" is introduced. Patch 1 introduces phy-handle support for the ti,cpsw driver. This is needed now for the smsc phy. Patch 2 adds the disable energy mode functionality to the smsc phy Changes in v2: - add comments from Florian Fainelli - I did not change disable property name into enable because I fear to break existing behaviour - add smsc vendor prefix - remove CONFIG_OF and use __maybe_unused - introduce "phy-handle" ability into ti,cpsw driver, so I can remove bogus: if (!of_node && dev->parent->of_node) of_node = dev->parent->of_node; construct. Therefore new patch for the ti,cpsw driver is necessary. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d88ecb373bd1877acc43e13311a8e0e6daffc3d2 Author: Heiko Schocher <hs@xxxxxxx> Date: Sat Oct 17 06:04:36 2015 +0200 net: phy: smsc: disable energy detect mode On some boards the energy enable detect mode leads in trouble with some switches, so make the enabling of this mode configurable through DT. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e42f715264ff158478fa30eaed847f6e131366b Author: Heiko Schocher <hs@xxxxxxx> Date: Sat Oct 17 06:04:35 2015 +0200 drivers: net: cpsw: add phy-handle parsing add the ability to parse "phy-handle". This is needed for phys, which have a DT node, and need to parse DT properties. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aebd99477f03950fb05b29c7248656167198bf2d Author: Simon Arlott <simon@xxxxxxxxxxx> Date: Thu Oct 15 21:00:22 2015 +0100 bcm63xx_enet: check 1000BASE-T advertisement configuration If a gigabit ethernet PHY is connected to a fast ethernet MAC, then it can detect 1000 support from the partner but not use it. This results in a forced speed of 1000 and RX/TX failure. Check for 1000BASE-T support and then check the advertisement configuration before setting the MAC speed to 1000mbit. Signed-off-by: Simon Arlott <simon@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8fdc324916a864de753db6de6423b048c20cc0f Merge: 26440c8 a1f192c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 21 06:29:56 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-10-19 This series contains updates to i40e and i40evf only. Kiran adds a spinlock around code accessing VSI MAC filter list to ensure that we are synchronizing access to the filter list, otherwise we can end up with multiple accesses at the same time which can cause the VSI MAC filter list to get in an unstable or corrupted state. Jesse fixes overlong BIT defines, where the RSS enabling call were mistakenly missed. Also fixes a bug where the enable function was enabling the interrupt twice while trying to update the two interrupt throttle rate thresholds for Rx and Tx, while refactoring the IRQ enable function to simplify reading the flow. Addressed the high CPU utilization of some small streaming workloads that the driver should reduce CPU in. Anjali fixes two X722 issues with respect to EEPROM checksum verify and reading NVM version info. Fixed where a mask value was accidentally replaced with a bit mask causing Flow Director sideband to be broken. Alex Duyck fixes areas of the drivers which run from hard interrupt context or with interrupts already disabled in netpoll, so use napi_schedule_irqoff() instead of napi_schedule(). Mitch fixes the VF drivers to not easily give up when it is not able to communicate with the PF driver. Carolyn fixes a problem where our tools MAC loopback test, after driver unbind would fail because the hardware was configured for multiqueue and unbind operation did not clear this configuration. Also fixed a issue where the NVMUpdate tool gets bad data from the PHY when using the PHY NVM feature because of contention on the MDIO interface from getting PHY capability calls from the driver during regular operations. Catherine fixed an issue where we were checking if autoneg was allowed to change before checking if autoneg was changing, these checks need to be in the reverse order. Jean Sacren fixes up an function header comment to align the kernel-docs with the actual code. v2: Cleaned up the use of spin_is_locked() in patch 1 based on feedback from David Miller, since it always evaluates to zero on uni-processor builds ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5cff89b5f64b4fc7f6fd9be44b1aa7e766a94e4 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Oct 21 08:34:37 2015 +0800 ASoC: da7219: Fix da7219->alc_en state when enabling ALC Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 13531520e3106e73474225b68b889e9dc7da329e Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Mon Oct 19 10:15:39 2015 +0200 ASoC: rockchip: Drop unneeded properties rockchip i2s/spdif bindings Neither the rockchip i2s nor the rockchip spdif binding support child devices so #address-cells and #size-cells properties aren't required. Remove these from the bindings. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 243f07be2423efe0b17e8ffafc9a36dad50406d3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 20 12:28:29 2015 +0300 spi: core: use gpio_is_valid() helper Check if GPIO pin is valid by API helper function. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5be88f63eaff1c03774aecd7388015cb87f6b2c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:33 2015 +0200 ASoC: cht_bsw_rt5672: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function rather than installing a list constraint with a single value. Since snd_pcm_hw_constraint_single() sets a static constraint while snd_pcm_hw_constraint_list() sets a dynamic constraint the former is slightly more efficient and it also needs less code. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3d6a76c48e7b6a80f1311a7ec71db0c6208c6de4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:32 2015 +0200 ASoC: cht_bsw_rt5645: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function rather than installing a list constraint with a single value. Since snd_pcm_hw_constraint_single() sets a static constraint while snd_pcm_hw_constraint_list() sets a dynamic constraint the former is slightly more efficient and it also needs less code. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a6553a24d44f30aa0ae3ca3bff736d346c9d42d6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:31 2015 +0200 ASoC: cht_bsw_max98090: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function rather than installing a list constraint with a single value. Since snd_pcm_hw_constraint_single() sets a static constraint while snd_pcm_hw_constraint_list() sets a dynamic constraint the former is slightly more efficient and it also needs less code. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d0a1b6607480e9ded3df22d09ff77bc55db586f7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:30 2015 +0200 ASoC: bytcr_rt5640: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function rather than installing a list constraint with a single value. Since snd_pcm_hw_constraint_single() sets a static constraint while snd_pcm_hw_constraint_list() sets a dynamic constraint the former is slightly more efficient and it also needs less code. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1bf2d35b87315431e8eb1a461783f7939520a7c5 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:29 2015 +0200 ASoC: ux500: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4dcdd43b460304b0555a99fdaae7bb931cb71d8f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:28 2015 +0200 ASoC: pcm: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer and is slightly shorter. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit be448b4fa464418b14cd1a05771bd5f5bf8e1480 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:27 2015 +0200 ASoC: rx51: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer and is slightly shorter. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8ce783dc5ea3af3a213ac9b4d9d2ccfeeb9c9058 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 15:21:31 2015 +0300 Bluetooth: Fix missing hdev locking for LE scan cleanup The hci_conn objects don't have a dedicated lock themselves but rely on the caller to hold the hci_dev lock for most types of access. The hci_conn_timeout() function has so far sent certain HCI commands based on the hci_conn state which has been possible without holding the hci_dev lock. The recent changes to do LE scanning before connect attempts added even more operations to hci_conn and hci_dev from hci_conn_timeout, thereby exposing potential race conditions with the hci_dev and hci_conn states. As an example of such a race, here there's a timeout but an l2cap_sock_connect() call manages to race with the cleanup routine: [Oct21 08:14] l2cap_chan_timeout: chan ee4b12c0 state BT_CONNECT [ +0.000004] l2cap_chan_close: chan ee4b12c0 state BT_CONNECT [ +0.000002] l2cap_chan_del: chan ee4b12c0, conn f3141580, err 111, state BT_CONNECT [ +0.000002] l2cap_sock_teardown_cb: chan ee4b12c0 state BT_CONNECT [ +0.000005] l2cap_chan_put: chan ee4b12c0 orig refcnt 4 [ +0.000010] hci_conn_drop: hcon f53d56e0 orig refcnt 1 [ +0.000013] l2cap_chan_put: chan ee4b12c0 orig refcnt 3 [ +0.000063] hci_conn_timeout: hcon f53d56e0 state BT_CONNECT [ +0.000049] hci_conn_params_del: addr ee:0d:30:09:53:1f (type 1) [ +0.000002] hci_chan_list_flush: hcon f53d56e0 [ +0.000001] hci_chan_del: hci0 hcon f53d56e0 chan f4e7ccc0 [ +0.004528] l2cap_sock_create: sock e708fc00 [ +0.000023] l2cap_chan_create: chan ee4b1770 [ +0.000001] l2cap_chan_hold: chan ee4b1770 orig refcnt 1 [ +0.000002] l2cap_sock_init: sk ee4b3390 [ +0.000029] l2cap_sock_bind: sk ee4b3390 [ +0.000010] l2cap_sock_setsockopt: sk ee4b3390 [ +0.000037] l2cap_sock_connect: sk ee4b3390 [ +0.000002] l2cap_chan_connect: 00:02:72:d9:e5:8b -> ee:0d:30:09:53:1f (type 2) psm 0x00 [ +0.000002] hci_get_route: 00:02:72:d9:e5:8b -> ee:0d:30:09:53:1f [ +0.000001] hci_dev_hold: hci0 orig refcnt 8 [ +0.000003] hci_conn_hold: hcon f53d56e0 orig refcnt 0 Above the l2cap_chan_connect() shouldn't have been able to reach the hci_conn f53d56e0 anymore but since hci_conn_timeout didn't do proper locking that's not the case. The end result is a reference to hci_conn that's not in the conn_hash list, resulting in list corruption when trying to remove it later: [Oct21 08:15] l2cap_chan_timeout: chan ee4b1770 state BT_CONNECT [ +0.000004] l2cap_chan_close: chan ee4b1770 state BT_CONNECT [ +0.000003] l2cap_chan_del: chan ee4b1770, conn f3141580, err 111, state BT_CONNECT [ +0.000001] l2cap_sock_teardown_cb: chan ee4b1770 state BT_CONNECT [ +0.000005] l2cap_chan_put: chan ee4b1770 orig refcnt 4 [ +0.000002] hci_conn_drop: hcon f53d56e0 orig refcnt 1 [ +0.000015] l2cap_chan_put: chan ee4b1770 orig refcnt 3 [ +0.000038] hci_conn_timeout: hcon f53d56e0 state BT_CONNECT [ +0.000003] hci_chan_list_flush: hcon f53d56e0 [ +0.000002] hci_conn_hash_del: hci0 hcon f53d56e0 [ +0.000001] ------------[ cut here ]------------ [ +0.000461] WARNING: CPU: 0 PID: 1782 at lib/list_debug.c:56 __list_del_entry+0x3f/0x71() [ +0.000839] list_del corruption, f53d56e0->prev is LIST_POISON2 (00000200) The necessary fix is unfortunately more complicated than just adding hci_dev_lock/unlock calls to the hci_conn_timeout() call path. Particularly, the hci_conn_del() API, which expects the hci_dev lock to be held, performs a cancel_delayed_work_sync(&hcon->disc_work) which would lead to a deadlock if the hci_conn_timeout() call path tries to acquire the same lock. This patch solves the problem by deferring the cleanup work to a separate work callback. To protect against the hci_dev or hci_conn going away meanwhile temporary references are taken with the help of hci_dev_hold() and hci_conn_get(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.3 commit 8dfabe7ab17a7c731bcb560fa42f9e4b745eeadf Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:26 2015 +0200 ASoC: n810: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer and is slightly shorter. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 95c68b86befd1fe796c7928f23d7b5f3f8ddf900 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:25 2015 +0200 ASoC: wl1273: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0de8ab983faa847fff0d7c5ba4e1b8678ddb09ca Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:24 2015 +0200 ASoC: uda134x: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer and is slightly shorter. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e795d83155ec2f45b52977ab492c42647e4dc3cf Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:23 2015 +0200 ASoC: twl4030: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer and is slightly shorter. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 153e2f5ca1ad632693e6a560546f27bddd91f6d8 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:22 2015 +0200 ASoC: adav80x: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b4ffc1be9fde347f0407b96a7074a8dc2bf61a8a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:21 2015 +0200 ALSA: rme9652: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1a8e41efe3f403678cd6099fea8a05af7391de4c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:20 2015 +0200 ALSA: rme96: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 80ec88938a2bbdd1f9d84e13b4e730abaf24f5f9 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:19 2015 +0200 ALSA: rme32: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dfcdb0280b410e4f132c8e4ef2c3e5c9c4797965 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:18 2015 +0200 ALSA: lx6464es: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9c9cb687d9b32bc8aea4b3aec5dd7bf9f912c744 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:17 2015 +0200 ALSA: korg1212: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. While we are at it also fix some code style issues in the affected lines. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bc1043cdcd84cb441d80cfd79ae4325218f6f9ba Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:16 2015 +0200 ALSA: Add helper function to add single value constraint The recommended and most efficient way to constraint a configuration parameter to a single value is to set the minimum and maximum allowed values to the same value, i.e. calling snd_pcm_hw_constraint_minmax() with the same value for min and max. It is not necessarily obvious though that this is the approach that should be taken and some drivers have come up with other ways of solving this problem, e.g. installing a list constraint with a single item. List constraints are dynamic constraints though and hence less efficient than the static min-max constraint. This patch introduces a new helper function called snd_pcm_hw_constraint_single() which only takes a single value has the same effect as calling snd_pcm_hw_constraint_minmax() with the same values for min and max. But it is hopefully semantically more expressive, making it clear that this is the preferred way of setting a single value constraint. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f8f2dc4a7127725383c93b501fcc4e47871b0a9d Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Oct 21 16:18:18 2015 +0800 ASoC: rt298: fix wrong setting of gpio2_en The register value to enable gpio2 was incorrect. So fix it. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 636a89d43e39edacc473c722879f10527acfc95c Author: Jiri Slaby <jslaby@xxxxxxx> Date: Sun Oct 11 16:18:22 2015 +0200 HID: fix some indenting issues Some drivers indent some lines in a very weird manner. Fix that. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit df7079380554e6e8e13a0812c7e6c72f669aba5c Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Wed Oct 7 16:54:22 2015 -0700 HID: wacom: Expect 'touch_max' touches if HID_DG_CONTACTCOUNT not present When introduced in commit 1b5d514, the check 'if (hid_data->cc_index >= 0)' in 'wacom_wac_finger_pre_report' was intended to switch where the driver got the expected number of contacts from: HID_DG_CONTACTCOUNT if the usage was present, or 'touch_max' otherwise. Unfortunately, an oversight worthy of a brown paper bag (specifically, that 'cc_index' could never be negative) meant that the latter 'else' clause would never be entered. The patch prior to this one introduced a way for 'cc_index' to be negative, but only if HID_DG_CONTACTCOUNT is present in some report _other_ than the one being processed. To ensure the 'else' clause is also entered for devices which don't have HID_DG_CONTACTCOUNT on _any_ report, we add the additional constraint that 'cc_report' be non-zero (which is true only if the usage is present in some report). Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 499522c8c015de995aabce3d0f0bf4b9b17f44c3 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Wed Oct 7 16:54:21 2015 -0700 HID: wacom: Tie cached HID_DG_CONTACTCOUNT indices to report ID The cached indicies 'cc_index' and 'cc_value_index' introduced in 1b5d514 are only valid for a single report ID. If a touchscreen has multiple reports with a HID_DG_CONTACTCOUNT usage, its possible that the values will not be correct for the report we're handling, resulting in an incorrect value for 'num_expected'. This has been observed with the Cintiq Companion 2. To address this, we store the ID of the report those indicies are valid for in a new 'cc_report' variable. Before using them to get the expected contact count, we first check if the ID of the report we're processing matches 'cc_report'. If it doesn't, we update the indicies to point to the HID_DG_CONTACTCOUNT usage of the current report (if it has one). Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8d2f8479da3c319218f030dc47382e55b67c2007 Author: Stefan Achatz <erazor_de@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 15:10:28 2015 +0200 HID: roccat: Fixed resubmit: Deprecating most Roccat sysfs attributes Deprecates all Roccat sysfs attributes except the ones for the old Kone by moving abi descriptions from testing to obsolete. For most devices everything can be done using the hidraw ioctls HIDIOCGFEATURE and HIDIOCSFEATURE, so I would suggest future removal of device specific drivers. The userspace tools don't use these attributes for a year now. The first Kone is not fully HID-compliant and will still need a module. Signed-off-by: Stefan Achatz <erazor_de@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 53c656c4138511c2ba54df413dc29976cfa9f084 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Oct 21 16:06:24 2015 +1100 powerpc/powernv: Handle irq_happened flag correctly in off-line loop This fixes a bug where it is possible for an off-line CPU to fail to go into a low-power state (nap/sleep/winkle), and to become unresponsive to requests from the KVM subsystem to wake up and run a VCPU. What can happen is that a maskable interrupt of some kind (external, decrementer, hypervisor doorbell, or HMI) after we have called local_irq_disable() at the beginning of pnv_smp_cpu_kill_self() and before interrupts are hard-disabled inside power7_nap/sleep/winkle(). In this situation, the pending event is marked in the irq_happened flag in the PACA. This pending event prevents power7_nap/sleep/winkle from going to the requested low-power state; instead they return immediately. We don't deal with any of these pending event flags in the off-line loop in pnv_smp_cpu_kill_self() because power7_nap et al. return 0 in this case, so we will have srr1 == 0, and none of the processing to clear interrupts or doorbells will be done. Usually, the most obvious symptom of this is that a KVM guest will fail with a console message saying "KVM: couldn't grab cpu N". This fixes the problem by making sure we handle the irq_happened flags properly. First, we hard-disable before the off-line loop. Once we have hard-disabled, the irq_happened flags can't change underneath us. We unconditionally clear the DEC and HMI flags: there is no processing of timer interrupts while off-line, and the necessary HMI processing is all done in lower-level code. We leave the EE and DBELL flags alone for the first iteration of the loop, so that we won't fail to respond to a split-core request that came in just before hard-disabling. Within the loop, we handle external interrupts if the EE bit is set in irq_happened as well as if the low-power state was interrupted by an external interrupt. (We don't need to do the msgclr for a pending doorbell in irq_happened, because doorbells are edge-triggered and don't remain pending in hardware.) Then we clear both the EE and DBELL flags, and once clear, they cannot be set again (until this CPU comes online again, that is). This also fixes the debug check to not be done when we just ran a KVM guest or when the sleep didn't happen because of a pending event in irq_happened. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 23316316c1af0677a041c81f3ad6efb9dc470b33 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Oct 21 16:03:14 2015 +1100 powerpc: Revert "Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8" This reverts commit 9678cdaae939 ("Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8") because the original commit had multiple, partly self-cancelling bugs, that could cause occasional memory corruption. In fact the logmpp instruction was incorrectly using register r0 as the source of the buffer address and operation code, and depending on what was in r0, it would either do nothing or corrupt the 64k page pointed to by r0. The logmpp instruction encoding and the operation code definitions could be corrected, but then there is the problem that there is no clearly defined way to know when the hardware has finished writing to the buffer. The original commit attempted to work around this by aborting the write-out before starting the prefetch, but this is ineffective in the case where the virtual core is now executing on a different physical core from the one where the write-out was initiated. These problems plus advice from the hardware designers not to use the function (since the measured performance improvement from using the feature was actually mostly negative), mean that reverting the code is the best option. Fixes: 9678cdaae939 ("Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8") Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 63243a4da7d0dfa19dcacd0a529782eeb2f86f92 Author: Simran Rai <ssimran@xxxxxxxxxxxx> Date: Mon Oct 19 15:27:19 2015 -0700 clk: iproc: Fix PLL output frequency calculation This patch affects the clocks that use fractional ndivider in their PLL output frequency calculation. Instead of 2^20 divide factor, the clock's ndiv integer shift was used. Fixed the bug by replacing ndiv integer shift with 2^20 factor. Signed-off-by: Simran Rai <ssimran@xxxxxxxxxxxx> Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Fixes: 5fe225c105fd ("clk: iproc: add initial common clock support") Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 353169acf1858bb2dc3f91475dafabce547de14c Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 15 15:22:35 2015 +1100 powerpc/eeh: Fix recursive fenced PHB on Broadcom shiner adapter Similar to commit b6541db ("powerpc/eeh: Block PCI config access upon frozen PE"), this blocks the PCI config space of Broadcom Shiner adapter until PE reset is completed, to avoid recursive fenced PHB when dumping PCI config registers during the period of error recovery. ~# lspci -ns 0003:03:00.0 0003:03:00.0 0200: 14e4:168a (rev 10) ~# lspci -s 0003:03:00.0 0003:03:00.0 Ethernet controller: Broadcom Corporation \ NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f9433718d6aaecb162639e88150f18367e3ca8f5 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:59 2015 +1100 powerpc/powernv: Simplify pnv_eeh_set_option() This simplifies pnv_eeh_set_option() to avoid unnecessary nested if statements, to improve readability. No functional changes. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4d6186ca6f55b2f71be643af8a112c25e58ac516 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:58 2015 +1100 powerpc/powernv: Remove pnv_eeh_cap_start() This moves the logic of pnv_eeh_cap_start() to pnv_eeh_find_cap() as the function is only called by pnv_eeh_find_cap(). The logic of both functions are pretty simple. No need to have separate functions. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 608fb9c29660aca2845ba0730c514032c493a28f Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:57 2015 +1100 powerpc/powernv: Cleanup on EEH comments This applies cleanup on eeh-powernv.c, no functional changes: * Remove unnecessary comments and empty line. * Correct inaccurate comments. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 00ba05a12b3c9ee398235e03ad4bece7f836ada5 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:56 2015 +1100 powerpc/pseries: Cleanup on pseries_eeh_get_state() This cleans up pseries_eeh_get_state(), no functional changes: * Return EEH_STATE_NOT_SUPPORT early when the 2nd RTAS output argument is zero to avoid nested if statements. * Skip clearing bits in the PE state represented by variable "result" to simplify the code. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 872ee2d6528188c1de942dff5688f55578c1b989 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:55 2015 +1100 powerpc/eeh: More relaxed condition for enabled IO path When one or both of the below two flags are marked in the PE state, the PE's IO path is regarded as enabled: EEH_STATE_MMIO_ACTIVE or EEH_STATE_MMIO_ENABLED. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8234fcedf18debbae0b8b06a5c70def5169c146c Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:54 2015 +1100 powerpc/eeh: Force reset on fenced PHB On fenced PHB, the error handlers in the drivers of its subordinate devices could return PCI_ERS_RESULT_CAN_RECOVER, indicating no reset will be issued during the recovery. It's conflicting with the fact that fenced PHB won't be recovered without reset. This limits the return value from the error handlers in the drivers of the fenced PHB's subordinate devices to PCI_ERS_RESULT_NEED_NONE or PCI_ERS_RESULT_NEED_RESET, to ensure reset will be issued during recovery. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f2da4ccf8bd46d3ab0fac383decf5616ad362c17 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:53 2015 +1100 powerpc/eeh: More relaxed hotplug criterion Currently, we rely on the existence of struct pci_driver::err_handler to decide if the corresponding PCI device should be unplugged during EEH recovery (partially hotplug case). However that check is not sufficient. Some device drivers implement only some of the EEH error handlers to collect diag-data. That means the driver still expects a hotplug to recover from the EEH error. This makes the hotplug criterion more relaxed: if the device driver doesn't provide all necessary EEH error handlers, it will experience hotplug during EEH recovery. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> [mpe: Minor change log rewording] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 98a44504541c6befb28366eb9ec432ba44070dd9 Author: Derek Foreman <derekf@xxxxxxxxxxxxxxx> Date: Thu Jul 2 11:20:21 2015 -0500 drm/vc4: Allow vblank to be disabled Signed-off-by: Derek Foreman <derekf@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 48666d56312b337ff3f04451bf6c3f014fee1eeb Author: Derek Foreman <derekf@xxxxxxxxxxxxxxx> Date: Thu Jul 2 11:19:54 2015 -0500 drm/vc4: Use the fbdev_cma helpers Keep the fbdev_cma pointer around so we can use it on hotplog and close to ensure the frame buffer console is in a useful state. Signed-off-by: Derek Foreman <derekf@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit c8b75bca92cbf064b9fa125fc74a85994452e935 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Mar 2 13:01:12 2015 -0800 drm/vc4: Add KMS support for Raspberry Pi. This is enough for fbcon and bringing up X using xf86-video-modesetting. It doesn't support the 3D accelerator or power management yet. v2: Drop FB_HELPER select thanks to Archit's patches. Do manual init ordering instead of using the .load hook. Structure registration more like tegra's, but still using the typical "component" code. Drop no-op hooks for atomic_begin and mode_fixup() now that they're optional. Drop sentinel in Makefile. Fix minor style nits I noticed on another reread. v3: Use the new bcm2835 clk driver to manage pixel/HSM clocks instead of having a fixed video mode. Use exynos-style component driver matching instead of devicetree nodes to list the component driver instances. Rename compatibility strings to say bcm2835, and distinguish pv0/1/2. Clean up some h/vsync code, and add in interlaced mode setup. Fix up probe/bind error paths. Use bitops.h macros for vc4_regs.h v4: Include i2c.h, allow building under COMPILE_TEST, drop msleep now that other bugs have been fixed, add timeouts to cpu_relax() loops, rename hpd-gpio to hpd-gpios. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1f9573241080449d221b6f8a9cc68e28fdeb7408 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Tue Aug 11 13:17:11 2015 -0700 drm/vc4: Add devicetree bindings for VC4. VC4 is the GPU (display and 3D) subsystem present on the 2835 and some other Broadcom SoCs. This binding follows the model of msm, imx, sti, and others, where there is a subsystem node for the whole GPU, with nodes for the individual HW components within it. v2: Extend the commit message, fix several nits from Stephen Warren. v3: Rename the compatibility strings, clean up node names, drop the unnecessary lists of components. Use compatibility strings for choosing CRTC HVS channel numbers. Document the HDMI clock usage. v4: Whitespace fix, expand acronyms, move to display/ instead of gpu/, rename "hpd-gpio" to "hpd-gpios". Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 393c092a4d3ace7b8cef633ede2171104dd504d7 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:45 2015 +0200 iommu/amd: Remove find_last_devid_on_pci() The value read from the PCI header is not reliable, so remove this code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 226e889b20a99c073615ff5f5b6ea0bbccf25c5f Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:44 2015 +0200 iommu/amd: Remove first/last_device handling The code is buggy and the values read from PCI are not reliable anyway, so it is the best to just remove this code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d1259416985513ba97f75a63ecf5bc75592a4b8d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:43 2015 +0200 iommu/amd: Initialize amd_iommu_last_bdf for DEV_ALL Also initialize the amd_iommu_last_bdf variable when a IVHD_DEV_ALL entry is found in the ACPI table. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f2c2db53b99eb6c48e259a722eef724d6b53b156 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:42 2015 +0200 iommu/amd: Cleanup buffer allocation Clean up the functions to allocate the command, event and ppr-log buffers. Remove redundant code and change the return value to int. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit deba4bce168a87ef90211ba69850d3428b453765 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:41 2015 +0200 iommu/amd: Remove cmd_buf_size and evt_buf_size from struct amd_iommu The driver always uses a constant size for these buffers anyway, so there is no need to waste memory to store the sizes. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ca9cab3a5a9ea2ff03d761494b002897e2e3c4b5 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:40 2015 +0200 iommu/amd: Align DTE flag definitions No functional change. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 61289cbaf6c854a493ad0fa405c3dd39e7a384f3 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:39 2015 +0200 iommu/amd: Remove old alias handling code This mostly removes the code to create dev_data structures for alias device ids. They are not necessary anymore, as they were only created for device ids which have no struct pci_dev associated with it. But these device ids are handled in a simpler way now, so there is no need for this code anymore. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e25bfb56ea7f046b71414e02f80f620deb5c6362 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:38 2015 +0200 iommu/amd: Set alias DTE in do_attach/do_detach With this we don't have to create dev_data entries for non-existent devices (which only exist as request-ids). Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1256f10fb26e5824fde12314b5f4690797478678 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 19:16:47 2015 +0800 clk: berlin: bg2: remove CLK_IGNORE_UNUSED flag for sdio clk The clocks' properties have been already properly set, so there's no need to set this flag for sdio0 and sdio1 clk any more. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 123796bbfcd4f8147c8b8db7b2c976148b257b58 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 19:16:46 2015 +0800 clk: berlin: bg2q: remove CLK_IGNORE_UNUSED flag for sdio clk Since we have added the necessary two clks' properties in dts, we can remove the "sdio" clk's CLK_IGNORE_UNUSED flag now. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 272e4f99e966989394b167b695ab489c60fe1243 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:37 2015 +0200 iommu/amd: WARN when __[attach|detach]_device are called with irqs enabled These functions rely on being called with IRQs disabled. Add a WARN_ON to detect early when its not. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f1dd0a8bcd67e34537fe02fa9cda15aa46368d11 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:36 2015 +0200 iommu/amd: Don't disable IRQs in __detach_device This function is already called with IRQs disabled already. So no need to disable them again. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 150952f96941cb13371770ce0cf47906647d8bba Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:35 2015 +0200 iommu/amd: Do not iterate over alias-list in __[attach|detach]_device The alias list is handled aleady by iommu core code. No need anymore to handle it in this part of the AMD IOMMU code Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f34c73f55a06ac443c492fc11b85f7a44dfdc112 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:34 2015 +0200 iommu/amd: Do not BUG_ON in __detach_device() The condition in the BUG_ON is an indicator of a BUG, but no reason to kill the code path. Turn it into a WARN_ON and bail out if it is hit. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit cbf3ccd09d683abf1cacd36e3640872ee912d99b Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 14:59:36 2015 +0200 iommu/amd: Don't clear DTE flags when modifying it During device assignment/deassignment the flags in the DTE get lost, which might cause spurious faults, for example when the device tries to access the system management range. Fix this by not clearing the flags with the rest of the DTE. Reported-by: G. Richard Bellamy <rbellamy@xxxxxxxxxxxxx> Tested-by: G. Richard Bellamy <rbellamy@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 254f9463c5d41a7ac9d35ca24e6c3196814cb890 Merge: eae1446 9d0c3c6 Author: Michael Turquette <mturquette@xxxxxxxxxxxx> Date: Wed Oct 21 02:26:51 2015 -0700 Merge branch 'clk-shmobile-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into clk-next commit 79ebdc9536c132eb92b4bcce26daaed7f4bf359e Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:49 2015 +0200 MAINTAINERS: Unify the microcode driver section Merge the AMD and Intel sections and generalize the file patterns. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-7-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c595ac2bac930ce79f336c7a7e45e1ea38abfe16 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:48 2015 +0200 x86/microcode/intel: Move #ifdef DEBUG inside the function ... and save us the stub. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-6-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6f7fc44bf1eef6768f9dcb527c737ab24a3203ac Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:47 2015 +0200 x86/microcode/amd: Remove maintainers from comments We have the MAINTAINERS file for that. Also, Andreas doesn't have the time for this work anymore. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-5-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6b26e1bf66bb4bf1b1b9b4f27d1f324875689cf0 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:46 2015 +0200 x86/microcode: Remove modularization leftovers Remove the remaining module functionality leftovers. Make "dis_ucode_ldr" an early_param and make it static again. Drop module aliases, autoloading table, description, etc. Bump version number, while at it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe055896c040df571e4ff56fb196d6845130057b Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:45 2015 +0200 x86/microcode: Merge the early microcode loader Merge the early loader functionality into the driver proper. The diff is huge but logically, it is simply moving code from the _early.c files into the main driver. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a2bc335f100a0f6ee6392b9f97ac4188d84db1d Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:44 2015 +0200 x86/microcode: Unmodularize the microcode driver Make CONFIG_MICROCODE a bool. It was practically a bool already anyway, since early loader was forcing it to =y. Regardless, there's no real reason to have something be a module which gets built-in on the majority of installations out there. And its not like there's noticeable change in functionality - we still can load late microcode - just the module glue disappears. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-2-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8d515fda8946cbfb359dca9d6bd416478f1b45cc Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Thu Oct 15 10:17:06 2015 -0700 HID: wacom: Report full pressure range for Intuos, Cintiq 13HD Touch The new Intuos tablets added in eda01da and the Cintiq 13HD Touch added in b4bf212 are capable of reporting 2048 levels of pressure. Although the kernel reports the correct range to userspace, an oversight has resulted in the driver ingoring the 11th pressure bit and only sending pressures of 0 through 1023. We could fix this issue by expanding the type check to include these devices, but it makes much more sense to just have the driver look at the device's maximum pressure when determining if it should read the 11th bit. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f7acb55cf1b414f8f515697f2a7bb324ba009062 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Tue Oct 13 10:03:49 2015 -0700 HID: wacom: Add support for Cintiq Companion 2 Adds support for the EMR (pen+pad) and touchscreen devices used by the Wacom Cintiq Companion 2. This applies both to using the device as a standalone system, as well as when operating in "Cintiq mode" (where the EMR/touchscreen are simply exposed as USB devices to the system its connected to). Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Clifford Jolly <expiredpopsicle@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 3d45ac4b35cbdf942f2a45b2b927f2ef6a8bda48 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Mon Oct 19 04:35:44 2015 -0600 timers/x86/hpet: Type adjustments Standardize on bool instead of an inconsistent mixture of u8 and plain 'int'. Also use u32 or 'unsigned int' instead of 'unsigned long' when a 32-bit type suffices, generating slightly better code on x86-64. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> 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/5624E3A002000078000AC49A@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 221836e92cd5664de6fc2f1d836f6343ae5f2e43 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 10:41:17 2015 +0200 x86/Kconfig/cpus: Fix/complete CPU type help texts Move the generic help text explaining each CPU type and what to select under the "Processor Family" prompt and not under the M486 option. Also, amend it with the missing options. 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> Link: http://lkml.kernel.org/r/1445244077-25120-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 81ffdcdd97d94110627caa81c23d5d780083731d Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Oct 19 11:17:48 2015 +0200 x86/mce: Fix thermal throttling reporting after kexec The per CPU thermal vector init code checks if the thermal vector is already installed and complains and bails out if it is. This happens after kexec, as kernel shut down does not clear the thermal vector APIC register. This causes two problems: 1. So we always do not fully initialize thermal reports after kexec. The CPU is still likely initialized, as the previous kernel should have done it. But we don't set up the software pointer to the thermal vector, so reporting may end up with a unknown thermal interrupt message. 2. Also it complains for every logical CPU, even though the value is actually derived from BP only. The problem is that we end up with one message per CPU, so on larger systems it becomes very noisy and messes up the otherwise nicely formatted CPU bootup numbers in the kernel log. Just remove the check. I checked the code and there's no valid code paths where the thermal init code for a CPU could be called multiple times. Why the kernel does not clean up this value on shutdown: The thermal monitoring is controlled per logical CPU thread. Normal shutdown code is just running on one CPU. To disable it we would need a broadcast NMI to all CPUs on shut down. That's overkill for this. So we just ignore it after kexec. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445246268-26285-9-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 53b90c0c56b502056da83d768047dcf765bac9fb Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 11:17:47 2015 +0200 kexec/crash: Say which char is the unrecognized It is helpful when the crashkernel cmdline parsing routines actually say which character is the unrecognized one. Make them do so. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-8-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6f3760570e26eefc214e641b6daeddb7106240bb Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 11:17:46 2015 +0200 x86/setup/crash: Check memblock_reserve() retval memblock_reserve() can fail but the crashkernel reservation code doesn't check that and this can lead the user into believing that the crashkernel region was actually reserved. Make sure we check that return value and we exit early with a failure message in the error case. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-7-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f56d55781c1ff5663874775d0672ba954fe5634c Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 11:17:45 2015 +0200 x86/setup/crash: Cleanup some more * Remove unused auto_set variable * Cleanup local function variable declarations * Reformat printk string and use pr_info() No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-6-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 606134f77ce22997fd2800d5937698d85c6990d9 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 11:17:44 2015 +0200 x86/setup/crash: Remove alignment variable Use a macro instead. No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-5-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 97eac21babe47e1a8ed4cac4f8874c5746cf6e36 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 11:17:43 2015 +0200 x86/setup: Cleanup crashkernel reservation functions * Shorten variable names * Realign code, space out for better readability No code changed: # arch/x86/kernel/setup.o: text data bss dec hex filename 4543 3096 69904 77543 12ee7 setup.o.before 4543 3096 69904 77543 12ee7 setup.o.after md5: 8a1b7c6738a553ca207b56bd84a8f359 setup.o.before.asm 8a1b7c6738a553ca207b56bd84a8f359 setup.o.after.asm Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a6775c1a2c2ed863699403cda517916c22aeb72 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Oct 19 11:17:42 2015 +0200 x86/amd_nb, EDAC: Rename amd_get_node_id() This function doesn't give us the "Node ID" as the function name suggests. Rather, it receives a PCI device as argument, checks the available F3 PCI device IDs in the system and returns the index of the matching Bus/Device IDs. Rename it to amd_pci_dev_to_node_id(). No functional change is introduced. Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445246268-26285-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eb6db83d105914c246ac5875be76fd4b944833d5 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Oct 19 11:17:41 2015 +0200 x86/setup: Do not reserve crashkernel high memory if low reservation failed People reported that when allocating crashkernel memory using the ",high" and ",low" syntax, there were cases where the reservation of the high portion succeeds but the reservation of the low portion fails. Then kexec can load the kdump kernel successfully, but booting the kdump kernel fails as there's no low memory. The low memory allocation for the kdump kernel can fail on large systems for a couple of reasons. For example, the manually specified crashkernel low memory can be too large and thus no adequate memblock region would be found. Therefore, we try to reserve low memory for the crash kernel *after* the high memory portion has been allocated. If that fails, we free crashkernel high memory too and return. The user can then take measures accordingly. Tested-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> [ Massage text. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Young <dyoung@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Cc: yinghai@xxxxxxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-2-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 527d10ef3a315d3cb9dc098dacd61889a6c26439 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:52 2015 +1100 powerpc/eeh: Don't unfreeze PHB PE after reset On PowerNV platform, the PE is kept in frozen state until the PE reset is completed to avoid recursive EEH error caused by MMIO access during the period of EEH reset. The PE's frozen state is cleared after BARs of PCI device included in the PE are restored and enabled. However, we needn't clear the frozen state for PHB PE explicitly at this point as there is no real PE for PHB PE. As the PHB PE is always binding with PE#0, we actually clear PE#0, which is wrong. It doesn't incur any problem though. This checks if the PE is PHB PE and doesn't clear the frozen state if it is. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 879c26d4f6a2b573d75cc235946019b6208ed6bc Author: Geoff Levand <geoff@xxxxxxxxxxxxx> Date: Mon Oct 19 10:53:26 2015 -0700 powerpc/ps3: Quieten boot wrapper output with run_cmd Add a boot wrapper script function run_cmd which will run a shell command quietly and only print the output if either V=1 or an error occurs. Also, run the ps3 dd commands with run_cmd to clean up the build output. Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e5a9f8d04660da7ef3a98260aa74c3976f9cb4cd Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Oct 16 17:54:47 2015 +0200 mac80211: move station statistics into sub-structs Group station statistics by where they're (mostly) updated (TX, RX and TX-status) and group them into sub-structs of the struct sta_info. Also rename the variables since the grouping now makes it obvious where they belong. This makes it easier to identify where the statistics are updated in the code, and thus easier to think about them. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 976bd9efdae6a844079ba4a7898a38d229ef246c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Oct 16 17:18:11 2015 +0200 mac80211: move beacon_loss_count into ifmgd There's little point in keeping (and even sending to userspace) the beacon_loss_count value per station, since it can only apply to the AP on a managed-mode connection. Move the value to ifmgd, advertise it only in managed mode, and remove it from ethtool as it's available through better interfaces. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 763aa27a292113b6fd9f6ad8bf633edc9b13c98b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Oct 16 16:55:51 2015 +0200 mac80211: remove sta->last_ack_signal This file only feeds a debugfs file that isn't very useful, so remove it. If necessary, we can add other ways to get this information, for example in the NL80211_CMD_PROBE_CLIENT response. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 81c1f74de3b6a9be0006a734d3584150f9c2e295 Merge: f8273ba bc6f9ae Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Wed Oct 21 11:07:55 2015 +0300 Merge ath-next from ath.git Major changes: ath10k * add board 2 API support for automatically choosing correct board file * data path optimisations * disable PCI power save for qca988x and QCA99x0 due to interop reasons wil6210 * BlockAckReq support * firmware crashdump using devcoredump * capture all frames with sniffer commit f8273bafcbc1bc04d1b139144f78f25c559f10c3 Author: Eric Caruso <ejcaruso@xxxxxxxxxx> Date: Wed Oct 14 12:34:11 2015 -0700 brcm80211: Add support for brcm4371 This is a new Broadcom chip and we should be able to recognize it. Signed-off-by: Eric Caruso <ejcaruso@xxxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 92121e69de8a982c0b33b359ce68657b3ec3c83d Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:21 2015 +0200 brcmfmac: Properly set carrier state of netdev. Use the netif_carrier api to correctly set carrier state on the different modes. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 54b499d9ad10dd0ce9b4ac92507072cad0f37f7a Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:20 2015 +0200 brcmfmac: Remove unused state AP creating. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c443e169577c2dfb8172711ef4b765919d177429 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:19 2015 +0200 brcmfmac: Move brcmf_c_preinit_dcmds prototype to correct file. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bf2a7e0499b922b4d2ffc073a3d14cec93c33af1 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:18 2015 +0200 brcmfmac: Add dump_station support to cfg80221 ops. With this feature it becomes possible to request a station assoc list. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cae355dc90db2bd27bf5ed5400ab2a417a185faa Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:17 2015 +0200 brcmfmac: Add RSSI information to get_station. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 124d517211e4322366f087774dadae136c6cec8b Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:16 2015 +0200 brcmfmac: Fix station info rate information. Txrate and rxrate in get_station got assigned first with value in kbps and then divided by 100 to get it in 100kbps unit. The problem with that is that type of rate is u16 which resulted in incorrect values for high data rate values. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2b76acdbc0431a7d9e87eacb27bb537a211bed16 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:15 2015 +0200 brcmfmac: Rework p2p attach, use single method for p2p dev creation. When module param p2pon is used a p2p device is created at init. This patch reworks how this is done by using the same method as for a dynamically (by user space) created p2p device. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 43569bfaf6ed0ee5b44533ee9ded7e8323734687 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:14 2015 +0200 brcmfmac: remove conversational comment Removing a comment that was only useful during the review of the change that introduced it and which should never have been submitted. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4a3462843f9f363162314ca7667e24c146c7fa71 Author: Franky Lin <frankyl@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:13 2015 +0200 brcmfmac: rename firmware_path to alternative_fw_path In brcmfmac the module parameter "firmware_path" is used as an alternative relative path under the search path used by firmware_class or ueventhelper. Rename the parameter to alternative_fw_path to avoid confusion. Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Arend Van Spriel <arend@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 185f0eb0b5fab0c9bfd7c5d322e2cd05b951d6e8 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:12 2015 +0200 brcmfmac: Fix race condition between USB probe/load and disconnect. When a USB device gets disconnected due to for example removal then it is possible that it is still in the loading phase due to the asynchronous load routines. These routines can then possible access memory which has been freed. Fix this by mutex locking the device init phase. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ff4445a8502cdf06969540c92bb201ee47e70351 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:11 2015 +0200 brcmfmac: expose device memory to devcoredump subsystem Upon PSM watchdog event received from firmware the driver will obtain a memory snapshot of the device and expose it to user-space through the devcoredump framework. This will trigger a uevent. 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 26f1fad29ad973b0fb26a9ca3dcb2a73dde781aa Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Wed Oct 14 20:44:51 2015 -0400 New driver: rtl8xxxu (mac80211) This is an alternate driver for a number of Realtek WiFi USB devices, including RTL8723AU, RTL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU. It was written from scratch utilizing the Linux mac80211 stack. After spending months cleaning up the vendor provided rtl8723au driver, which comes with it's own 802.11 stack included, I decided to rewrite this driver from the bottom up. Many thanks to Johannes Berg for 802.11 insights and help and Larry Finger for help with the vendor driver. The full git log for the development of this driver can be found here: git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git branch rtl8723au-mac80211 This driver is still under development, but has proven to be very stable for me. It currently supports station mode only. It has support for OFDM and CCK rates. It does lack certain features found in the staging driver, such as power management, AMPDU, and 40MHz channel support. In addition it does not support AD-HOC, AP, and monitor mode support at this point. The driver is known to work with the following devices: Lenovo Yoga (rtl8723au) TP-Link TL-WN823N (rtl8192cu) Etekcity 6R (rtl8188cu) Daffodil LAN03 (rtl8188cu) Alfa AWUS036NHR (rtl8188ru) Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 48aa1e748f29373fdcc2bc341eac08ef16bff269 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Mon Oct 19 16:33:30 2015 +0000 drm: correctly check failed allocation drm_property_create_range can be failed in memory pressure Therefore, check return value and handle an error Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 70aa3961a196ac32baf54032b2051bac9a941118 Author: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 15 11:29:58 2015 +0530 KVM: PPC: Book3S HV: Handle H_DOORBELL on the guest exit path Currently a CPU running a guest can receive a H_DOORBELL in the following two cases: 1) When the CPU is napping due to CEDE or there not being a guest vcpu. 2) The CPU is running the guest vcpu. Case 1), the doorbell message is not cleared since we were waking up from nap. Hence when the EE bit gets set on transition from guest to host, the H_DOORBELL interrupt is delivered to the host and the corresponding handler is invoked. However in Case 2), the message gets cleared by the action of taking the H_DOORBELL interrupt. Since the CPU was running a guest, instead of invoking the doorbell handler, the code invokes the second-level interrupt handler to switch the context from the guest to the host. At this point the setting of the EE bit doesn't result in the CPU getting the doorbell interrupt since it has already been delivered once. So, the handler for this doorbell is never invoked! This causes softlockups if the missed DOORBELL was an IPI sent from a sibling subcore on the same CPU. This patch fixes it by explitly invoking the doorbell handler on the exit path if the exit reason is H_DOORBELL similar to the way an EXTERNAL interrupt is handled. Since this will also handle Case 1), we can unconditionally clear the doorbell message in kvmppc_check_wake_reason. Signed-off-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit bfec5c2cc0adad3b343281eb4f9b94222c5f594f Author: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 10:27:53 2015 +0530 KVM: PPC: Implement extension to report number of memslots QEMU assumes 32 memslots if this extension is not implemented. Although, current value of KVM_USER_MEM_SLOTS is 32, once KVM_USER_MEM_SLOTS changes QEMU would take a wrong value. Signed-off-by: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit c64dfe2af3de448f9afa2e542983015b31c1f91c Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Mon May 18 14:10:54 2015 +1000 KVM: PPC: Book3S HV: Make H_REMOVE return correct HPTE value for absent HPTEs This fixes a bug where the old HPTE value returned by H_REMOVE has the valid bit clear if the HPTE was an absent HPTE, as happens for HPTEs for emulated MMIO pages and for RAM pages that have been paged out by the host. If the absent bit is set, we clear it and set the valid bit, because from the guest's point of view, the HPTE is valid. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 572abd563befd56bee918316c4f7ab144d2decf5 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 29 17:15:45 2015 +1000 KVM: PPC: Book3S HV: Don't fall back to smaller HPT size in allocation ioctl Currently the KVM_PPC_ALLOCATE_HTAB will try to allocate the requested size of HPT, and if that is not possible, then try to allocate smaller sizes (by factors of 2) until either a minimum is reached or the allocation succeeds. This is not ideal for userspace, particularly in migration scenarios, where the destination VM really does require the size requested. Also, the minimum HPT size of 256kB may be insufficient for the guest to run successfully. This removes the fallback to smaller sizes on allocation failure for the KVM_PPC_ALLOCATE_HTAB ioctl. The fallback still exists for the case where the HPT is allocated at the time the first VCPU is run, if no HPT has been allocated by ioctl by that time. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 213445b2b40e87e819c7d949ae7d97c30dcd0853 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 21 02:45:19 2015 +0200 Bluetooth: btintel: Enable extra Intel vendor events The Intel Bluetooth controllers can emit extra vendor specific events in error conditions or for debugging purposes. To make the life easier for engineers, enable them by default. When the vendor_diag options has been enabled, then additional debug events are also enabled. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e4c534bbacab81fc67c81ae8af263a70f35ffec9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 21 01:31:45 2015 +0200 Bluetooth: btusb: Set manufacturer for Intel bootloader devices For Intel bootloader devices, set the manufacturer information so that it becomes possible to decode the boot process. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1856f50c66dff0afb4a6a3e22497ae153aec9411 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Fri Oct 16 23:38:45 2015 +0200 powerpc/prom: Avoid reference to potentially freed memory of_get_property() is used inside the loop, but then the reference to the node is dropped before dereferencing the prop pointer, which could by then point to junk if the node has been freed. Instead use of_property_read_u32() to actually read the property value before dropping the reference. of_property_read_u32() requires at least one cell (u32) to be present, which is stricter than the old logic which would happily dereference a property of any size. However we believe all device trees in the wild have at least one cell. Skiboot may produce memory nodes with more than one cell, but that is OK, of_property_read_u32() will return the first one. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> [mpe: Expand change log with device tree details] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 98a63aaf245e2522b0ddd86f38fb83883344bcaf Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 20 23:25:42 2015 +0200 Bluetooth: Introduce driver specific post init callback Some drivers might have to restore certain settings after the init procedure has been completed. This driver callback allows them to hook into that stage. This callback is run just before the controller is declared as powered up. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit aee61f7aa89bbfa48b91628291d8685aa61c970f Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 20 21:30:45 2015 +0200 Bluetooth: hci_uart: Provide initial manufacturer information Provide an early indication about the manufacturer information so that it can be forwarded into monitor channel. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 0f6925fa2907df58496cabc33fa4677c635e2223 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Wed Oct 14 15:26:13 2015 +0800 btrfs: Avoid truncate tailing page if fallocate range doesn't exceed inode size Current code will always truncate tailing page if its alloc_start is smaller than inode size. For example, the file extent layout is like: 0 4K 8K 16K 32K |<-----Extent A---------------->| |<--Inode size: 18K---------->| But if calling fallocate even for range [0,4K), it will cause btrfs to re-truncate the range [16,32K), causing COW and a new extent. 0 4K 8K 16K 32K |///////| <- Fallocate call range |<-----Extent A-------->|<--B-->| The cause is quite easy, just a careless btrfs_truncate_inode() in a else branch without extra judgment. Fix it by add judgment on whether the fallocate range is beyond isize. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ddd70280bf0e92ad81a9526971409603fba21679 Author: Tal Shorer <tal.shorer@xxxxxxxxx> Date: Sat Aug 1 15:27:58 2015 +0300 tracing: gpio: Add Kconfig option for enabling/disabling trace events Add a new options to trace Kconfig, CONFIG_TRACING_EVENTS_GPIO, that is used for enabling/disabling compilation of gpio function trace events. Link: http://lkml.kernel.org/r/1438432079-11704-4-git-send-email-tal.shorer@xxxxxxxxx Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c63b7682b6d90530d3a071ff75b81bfddcce8598 Author: Tal Shorer <tal.shorer@xxxxxxxxx> Date: Sat Aug 1 15:27:57 2015 +0300 tracing: Allow disabling compilation of specific trace systems Allow a trace events header file to disable compilation of its trace events by defining the preprocessor macro NOTRACE. This could be done, for example, according to a Kconfig option. Link: http://lkml.kernel.org/r/1438432079-11704-3-git-send-email-tal.shorer@xxxxxxxxx Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 1904be1b6bb92058c8e00063dd59df2df294e258 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Oct 20 21:48:02 2015 -0400 tracing: Do not allow stack_tracer to record stack in NMI The code in stack tracer should not be executed within an NMI as it grabs spinlocks and stack tracing an NMI gives the possibility of causing a deadlock. Although this is safe on x86_64, because it does not perform stack traces when the task struct stack is not in use (interrupts and NMIs), it may be an issue for NMIs on i386 and other archs that use the same stack as the NMI. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit b86d9371be2fcb6ebf47e6c15d23d0ec1586664a Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 29 19:46:16 2015 +0300 Documentation: ftrace: Module globbing usage Link: http://lkml.kernel.org/r/1443545176-3215-5-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0b507e1ed1b7364def464cfb348ea7c9e87e6e18 Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 29 19:46:15 2015 +0300 ftrace: add module globbing Extend module command for function filter selection with globbing. It uses the same globbing as function filter. sh# echo '*alloc*:mod:*' > set_ftrace_filter Will trace any function with the letters 'alloc' in the name in any module but not in kernel. sh# echo '!*alloc*:mod:ipv6' >> set_ftrace_filter Will prevent from tracing functions with 'alloc' in the name from module ipv6 (do not forget to append to set_ftrace_filter file). sh# echo '*alloc*:mod:!ipv6' > set_ftrace_filter Will trace functions with 'alloc' in the name from kernel and any module except ipv6. sh# echo '*alloc*:mod:!*' > set_ftrace_filter Will trace any function with the letters 'alloc' in the name only from kernel, but not from any module. sh# echo '*:mod:!*' > set_ftrace_filter or sh# echo ':mod:!' > set_ftrace_filter Will trace every function in the kernel, but will not trace functions from any module. sh# echo '*:mod:*' > set_ftrace_filter or sh# echo ':mod:' > set_ftrace_filter As the opposite will trace all functions from all modules, but not from kernel. sh# echo '*:mod:*snd*' > set_ftrace_filter Will trace your sound drivers only (if any). Link: http://lkml.kernel.org/r/1443545176-3215-4-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> [ Made format changes ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 09302fd19efbff9569eaad3f78ead8f411defd87 Merge: fbf9826 38416e5 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Wed Oct 21 10:49:29 2015 +1100 Merge branch 'smack-for-4.4' of https://github.com/cschaufler/smack-next into next commit 9f7378a9d6ced1784e08d3e21a9ddb769523baf2 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Wed Oct 14 12:18:47 2015 +0200 Bluetooth: l2cap_disconnection_req priority over shutdown There is a L2CAP protocol race between the local peer and the remote peer demanding disconnection of the L2CAP link. When L2CAP ERTM is used, l2cap_sock_shutdown() can be called from userland to disconnect L2CAP. However, there can be a delay introduced by waiting for ACKs. During this waiting period, the remote peer may have sent a Disconnection Request. Therefore, recheck the shutdown status of the socket after waiting for ACKs because there is no need to do further processing if the connection has gone. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Harish Jenny K N <harish_kandiga@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 04ba72e6b24f1e0e2221fcd73f08782870473fa1 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Wed Oct 14 12:18:46 2015 +0200 Bluetooth: Reorganize mutex lock in l2cap_sock_shutdown() This commit reorganizes the mutex lock and is now only protecting l2cap_chan_close(). This is now consistent with other places where l2cap_chan_close() is called. If a conn connection exists, call mutex_lock(&conn->chan_lock) before calling l2cap_chan_close() to ensure other L2CAP protocol operations do not interfere. Note that the conn structure has to be protected from being freed as it is possible for the connection to be disconnected whilst the locks are not held. This solution allows the mutex lock to be used even when the connection has just been disconnected. This commit also reduces the scope of chan locking. The only place where chan locking is needed is the call to l2cap_chan_close(chan, 0) which if necessary closes the channel. Therefore, move the l2cap_chan_lock(chan) and l2cap_chan_lock(chan) locking calls to around l2cap_chan_close(chan, 0). This allows __l2cap_wait_ack(sk, chan) to be called with no chan locks being held so L2CAP messaging over the ACL link can be done unimpaired. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Harish Jenny K N <harish_kandiga@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e7456437c15a2fd42cedd25c2b12b06876f285f0 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Wed Oct 14 12:18:45 2015 +0200 Bluetooth: Unwind l2cap_sock_shutdown() l2cap_sock_shutdown() is designed to only action shutdown of the channel when shutdown is not already in progress. Therefore, reorganise the code flow by adding a goto to jump to the end of function handling when shutdown is already being actioned. This removes one level of code indentation and make the code more readable. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Harish Jenny K N <harish_kandiga@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 09bf420f101c9d35ca0b5f539c7f03951fd2e24d Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:26 2015 +0200 6lowpan: put mcast compression in an own function This patch moves the mcast compression algorithmn to an own function like all other compression/decompression methods in iphc. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b5af9bdbfe6d497d27e5936a7d110fc5f64e7c0d Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:25 2015 +0200 6lowpan: rework tc and flow label handling This patch reworks the handling of compression/decompression of traffic class and flow label handling. The current method is hard to understand, also doesn't checks if we can read the buffer from skb length. I tried to put the shifting operations into static inline functions and comment each steps which I did there to make it hopefully somewhat more readable. The big mess to deal with that is the that the ipv6 header bring the order "DSCP + ECN" but iphc uses "ECN + DSCP". Additional the DCSP + ECN bits are splitted in ipv6_hdr inside the priority and flow_lbl[0] fields. I tested these compressions by using fakelb 802.15.4 driver and manipulate the tc and flow label fields manually in function "__ip6_local_out" before the skb will be send to lower layers. Then I looked up the tc and flow label fields in wireshark on a wpan and lowpan interface. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c8a3e7eb98236f7c88e6deddf9f330874070fa09 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:24 2015 +0200 6lowpan: iphc: change define values This patch has the main goal to delete shift operations. Instead we doing masks and equals afterwards. E.g. for the SAM evaluation we masking only the SAM value which fits in iphc1 byte, then comparing with all possible SAM values over a switch case statement. We will not shifting the SAM value to somewhat readable anymore. Additional this patch slighty change the naming style like RFC 6282, e.g. TTL to HLIM and we will drop an errno now if CID flag is set, because we don't support it. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 028b2a8c16c7c6a482075fe42275a44fbe5463fa Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:23 2015 +0200 6lowpan: remove lowpan_is_addr_broadcast This macro is used at 802.15.4 6LoWPAN only and can be replaced by memcmp with the interface broadcast address. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6350047eb8dbd3dcf0ff29a637ece96db8f59d8d Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:22 2015 +0200 6lowpan: move IPHC functionality defines This patch removes the IPHC related defines for doing bit manipulation from global 6lowpan header to the iphc file which should the only one implementation which use these defines. Also move next header compression defines to their nhc implementation. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 607b0bd3f2b9ac118f2c67dbd18c55f1f5aefeb1 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:21 2015 +0200 6lowpan: nhc: move iphc manipulation out of nhc This patch moves the iphc setting of next header commpression bit inside iphc functionality. Setting of IPHC bits should be happen at iphc.c file only. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 478208e3b9988adc7ec2c480f237049aaf7c4609 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:59 2015 +0200 6lowpan: remove lowpan_fetch_skb_u8 This patch removes the lowpan_fetch_skb_u8 function for getting the iphc bytes. Instead we using the generic which has a len parameter to tell the amount of bytes to fetch. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8911d7748ca360ef96cb207cc5165eb9c08669e5 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:58 2015 +0200 6lowpan: cleanup lowpan_header_decompress This patch changes the lowpan_header_decompress function by removing inklayer related information from parameters. This is currently for supporting short and extended address for iphc handling in 802154. We don't support short address handling anyway right now, but there exists already code for handling short addresses in lowpan_header_decompress. The address parameters are also changed to a void pointer, so 6LoWPAN linklayer specific code can put complex structures as these parameters and cast it again inside the generic code by evaluating linklayer type before. The order is also changed by destination address at first and then source address, which is the same like all others functions where destination is always the first, memcpy, dev_hard_header, lowpan_header_compress, etc. This patch also moves the fetching of iphc values from 6LoWPAN linklayer specific code into the generic branch. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a6f773891a836abfa16fcbb8af14c29c3e109336 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:57 2015 +0200 6lowpan: cleanup lowpan_header_compress This patch changes the lowpan_header_compress function by removing unused parameters like "len" and drop static value parameters of protocol type. Instead we really check the protocol type inside inside the skb structure. Also we drop the use of IEEE802154_ADDR_LEN which is link-layer specific. Instead we using EUI64_ADDR_LEN which should always the default case for now. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bf513fd6fc609590b7835c0dba624ccb9f8f9214 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:56 2015 +0200 6lowpan: introduce LOWPAN_IPHC_MAX_HC_BUF_LEN This patch introduces the LOWPAN_IPHC_MAX_HC_BUF_LEN define which represent the worst-case supported IPHC buffer length. It's used to allocate the stack buffer space for creating the IPHC header. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cefdb801c80736017b5a0d97a4a9f816d5a98fc4 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:55 2015 +0200 bluetooth: 6lowpan: use lowpan dispatch helpers This patch adds a check if the dataroom of skb contains a dispatch value by checking if skb->len != 0. This patch also change the dispatch evaluation by the recently introduced helpers for checking the common 6LoWPAN dispatch values for IPv6 and IPHC header. There was also a forgotten else branch which should drop the packet if no matching dispatch is available. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 71cd2aa53dbf9eb8cb954fc9e65de8dab774b7f6 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:54 2015 +0200 mac802154: llsec: use kzfree This patch will use kzfree instead kfree for security related information which can be offered by acccident. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a6ad2a6b9cc1d9d791aee5462cfb8528f366f1d4 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Oct 19 10:51:47 2015 +0300 Bluetooth: Fix removing connection parameters when unpairing The commit 89cbb0638e9b7 introduced support for deferred connection parameter removal when unpairing by removing them only once an existing connection gets disconnected. However, it failed to address the scenario when we're *not* connected and do an unpair operation. What makes things worse is that most user space BlueZ versions will first issue a disconnect request and only then unpair, meaning the buggy code will be triggered every time. This effectively causes the kernel to resume scanning and reconnect to a device for which we've removed all keys and GATT database information. This patch fixes the issue by adding the missing call to the hci_conn_params_del() function to a branch which handles the case of no existing connection. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.19+ commit 22f8e9dbf671a2f36d90d3d8723a2a0c5227fa4b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 20 00:53:33 2015 +0200 Bluetooth: btusb: Add support for latest Apple controllers The latest Apple Bluetooth controllers with Broadcom chip in it have a small design change. Instead of including a USB hub with mouse and keyboard devices, they are now HID interfaces on the same device. T: Bus=04 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#= 39 Spd=12 MxCh= 0 D: Ver= 2.01 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=05ac ProdID=8290 Rev= 0.79 S: Manufacturer=Broadcom Corp. S: Product=Bluetooth USB Host Controller C:* #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr= 0mA A: FirstIf#= 2 IfCount= 4 Cls=ff(vend.) Sub=01 Prot=01 I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid E: Ad=85(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=86(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) 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#= 3 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#= 3 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#= 3 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#= 3 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#= 3 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#= 3 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 I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=btusb E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 5 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) The general layout of Bluetooth devices is that interface 0 is the main interface and interface 1 is for audio data. This design obviously moves it to main interface 2 and audio data on interface 3. Starting with the MacBookPro12,1 (early 2015 models) the new Broadcom BCM943602CS cards are used which show this interface layout. usb 4-1.5: New USB device found, idVendor=05ac, idProduct=8290 usb 4-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 4-1.5: Product: Bluetooth USB Host Controller usb 4-1.5: Manufacturer: Broadcom Corp. Bluetooth: hci0: BCM: chip id 102 build 0243 Bluetooth: hci0: BCM: product 05ac:8290 Bluetooth: hci0: BCM20703A1 Generic USB UHE Apple 20Mhz fcbga_X87 Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 49a5f782d03888e8b55ed799e57a592b76ce32f6 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 20 02:30:48 2015 +0200 Bluetooth: btusb: Set early vendor info for Intel and Broadcom For the controllers from Intel and Broadcom (including Apple), it is helpful to have the information about the manufacturer send out early. This patch sets the hdev->manufacturer information which will be send out before actually calling the vendor specific hdev->setup driver callback. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e131d74a3afe2b44c3bc59dc4ff06bfd0481ab1a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 20 02:30:47 2015 +0200 Bluetooth: Add support setup stage internal notification event Before the vendor specific setup stage is triggered call back into the core to trigger an internal notification event. That event is used to send an index update to the monitor interface. With that specific event it is possible to update userspace with manufacturer information before any HCI command has been executed. This is useful for early stage debugging of vendor specific initialization sequences. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 18e0afab8ce3f1230ce3fef52b2e73374fd9c0e7 Author: Dmitry Tunin <hanipouspilot@xxxxxxxxx> Date: Fri Oct 16 11:45:26 2015 +0300 Bluetooth: ath3k: Add support of AR3012 0cf3:817b device T: Bus=04 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0cf3 ProdID=817b Rev=00.02 C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb BugLink: https://bugs.launchpad.net/bugs/1506615 Signed-off-by: Dmitry Tunin <hanipouspilot@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit cd355ff071cd37e7197eccf9216770b2b29369f7 Author: Dmitry Tunin <hanipouspilot@xxxxxxxxx> Date: Mon Oct 5 19:29:33 2015 +0300 Bluetooth: ath3k: Add new AR3012 0930:021c id This adapter works with the existing linux-firmware. T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0930 ProdID=021c Rev=00.01 C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb BugLink: https://bugs.launchpad.net/bugs/1502781 Signed-off-by: Dmitry Tunin <hanipouspilot@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2faf71ce90782d02e1710c12a19a2084fbbec5cc Author: Santtu Rekilä <sare@xxxxxxxxxx> Date: Mon Oct 5 15:45:27 2015 +0300 Bluetooth: btusb: Add support for Foxconn/Lenovo BCM43142A0 (105b:e065) Recently salvaged this 'BCM43142A0' WiFi/Bluetooth module from a Lenovo laptop and noticed it doesn't work automatically, because the USB IDs are missing from btusb.c. Plugging in the adapter on Linux 4.1 (dmesg): usb 3-3.3.3: new full-speed USB device number 90 using xhci_hcd usb 3-3.3.3: New USB device found, idVendor=105b, idProduct=e065 usb 3-3.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 3-3.3.3: Product: BCM43142A0 usb 3-3.3.3: Manufacturer: Broadcom Corp usb 3-3.3.3: SerialNumber: 0090A286559E /sys/kernel/debug/usb/devices: T: Bus=03 Lev=03 Prnt=22 Port=02 Cnt=02 Dev#= 90 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=105b ProdID=e065 Rev= 1.12 S: Manufacturer=Broadcom Corp S: Product=BCM43142A0 S: SerialNumber=0090A286559E C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) Support for the chipset was added in commit 88f9b65 and a similar BCM43142 based device was added in commit 8f0c304. To work around the issue, I got the firmware (BCM43142A0_001.001.011.0122.0153) off a Windows installation of Broadcom bluetooth driver and converted it to a .hcd -file via. hex2hcd and placed it in /lib/firmware/brcm/BCM.hcd. After that: $ echo "105b e065 0 19ff 0239" > /sys/bus/usb/drivers/btusb/new_id ...(plug in the adapter) usb 3-3.3.3: new full-speed USB device number 91 using xhci_hcd usb 3-3.3.3: New USB device found, idVendor=105b, idProduct=e065 usb 3-3.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 3-3.3.3: Product: BCM43142A0 usb 3-3.3.3: Manufacturer: Broadcom Corp usb 3-3.3.3: SerialNumber: 0090A286559E Bluetooth: hci0: BCM: chip id 70 Bluetooth: hci0: BCM (001.001.011) build 0000 bluetooth hci0: firmware: direct-loading firmware brcm/BCM.hcd Bluetooth: hci0: BCM (001.001.011) build 0154 Bam, now it works for me! /sys/kernel/debug/usb/devices: T: Bus=03 Lev=03 Prnt=22 Port=02 Cnt=02 Dev#= 92 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=105b ProdID=e065 Rev= 1.12 S: Manufacturer=Broadcom Corp S: Product=BCM43142A0 S: SerialNumber=0090A286559E C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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 I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) Signed-off-by: Santtu Rekilä <sare@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 660f0fc07d21114549c1862e67e78b1cf0c90c29 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Mon Sep 7 12:05:41 2015 +0200 Bluetooth: hidp: fix device disconnect on idle timeout The HIDP specs define an idle-timeout which automatically disconnects a device. This has always been implemented in the HIDP layer and forced a synchronous shutdown of the hidp-scheduler. This works just fine, but lacks a forced disconnect on the underlying l2cap channels. This has been broken since: commit 5205185d461d5902325e457ca80bd421127b7308 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Sat Apr 6 20:28:47 2013 +0200 Bluetooth: hidp: remove old session-management The old session-management always forced an l2cap error on the ctrl/intr channels when shutting down. The new session-management skips this, as we don't want to enforce channel policy on the caller. In other words, if user-space removes an HIDP device, the underlying channels (which are *owned* and *referenced* by user-space) are still left active. User-space needs to call shutdown(2) or close(2) to release them. Unfortunately, this does not work with idle-timeouts. There is no way to signal user-space that the HIDP layer has been stopped. The API simply does not support any event-passing except for poll(2). Hence, we restore old behavior and force EUNATCH on the sockets if the HIDP layer is disconnected due to idle-timeouts (behavior of explicit disconnects remains unmodified). User-space can still call getsockopt(..., SO_ERROR, ...) ..to retrieve the EUNATCH error and clear sk_err. Hence, the channels can still be re-used (which nobody does so far, though). Therefore, the API still supports the new behavior, but with this patch it's also compatible to the old implicit channel shutdown. Cc: <stable@xxxxxxxxxxxxxxx> # 3.10+ Reported-by: Mark Haun <haunma@xxxxxxxxx> Reported-by: Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 34cea41e84d5e87a0bd4d5388adab58d0cbc9532 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 18 22:48:28 2015 +0200 Bluetooth: btbcm: Read USB product information for Apple devices For the Apple Bluetooth devices, read the USB product information and print them. This allows for easy mapping of chip and USB details. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8045ce2197bf61b5b82bbe38fcc5feeaf7348ad1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 18 22:37:56 2015 +0200 Bluetooth: btbcm: Fix firmware version number calculation The calculation for the firmware version number is off by one bit. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6c9d435d359898868f71e8ba03f8d5f1cbccaa69 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Oct 17 14:39:27 2015 +0200 Bluetooth: btusb: Mark BCM2045 devices to have broken link key commands The BCM2045 seems to have a problem with the stored link key commands and thus just mark them as broken. HCI Event: Command Complete (0x0e) plen 12 Read Local Supported Features (0x04|0x0003) ncmd 1 status 0x00 Features: 0xff 0xff 0x8d 0xfe 0x8f 0xf9 0x00 0x80 HCI Event: Command Complete (0x0e) plen 12 Read Local Version Information (0x04|0x0001) ncmd 1 status 0x00 HCI Version: 2.0 (0x3) HCI Revision: 0x2000 LMP Version: 2.0 (0x3) LMP Subversion: 0x410d Manufacturer: Broadcom Corporation (15) HCI Event: Command Complete (0x0e) plen 11 Read Buffer Size (0x04|0x0005) ncmd 1 status 0x00 ACL MTU 1017:8 SCO MTU 64:0 HCI Event: Command Complete (0x0e) plen 68 Read Local Supported Commands (0x04|0x0002) ncmd 1 status 0x00 Commands: ffffff03feffcfffffffffff0300f8ff07 HCI Event: Command Complete (0x0e) plen 4 Delete Stored Link Key (0x03|0x0012) ncmd 1 status 0x11 deleted 2048 Error: Unsupported Feature or Parameter Value From the looks of it, this device seems genuine and not one of the devices that are neither Broadcom nor CSR devices in reality. T: Bus=04 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0a5c ProdID=2045 Rev= 1.12 S: Manufacturer=Broadcom Corp S: Product=BCM2045A S: SerialNumber=000000000000 C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA 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 I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none) Reported-and-tested-by: Julio González MejÃas <juliolokooo@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 3e24767b78744c7f335ca8c485ab0a0dcec693ec Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Oct 17 16:00:28 2015 +0200 Bluetooth: btintel: Add diagnostic support for older controllers For the older controllers like Wilkens Peak and Stone Peak, enabling the traces requires to switch into manufacturer mode first. This patch does exactly that, but only for these older controllers. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d8270fbb3ffe9a29d81bdaa66c81ef021ba09651 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Oct 17 16:00:27 2015 +0200 Bluetooth: btintel: Set quirk for non-persistent diagnostic settings For Intel controllers the diagnostics settings are not persistent over HCI Reset. So set the quirk to programm them again on every power up. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7e995b9eadbe226e355b785a765fd90fe0487414 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Oct 17 16:00:26 2015 +0200 Bluetooth: Add new quirk for non-persistent diagnostic settings If the diagnostic settings are not persistent over HCI Reset, then this quirk can be used to tell the Bluetoth core about it. This will ensure that the settings are programmed correctly when the controller is powered up. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7841d06e4398cff7d744539d1e6ea4026ceab2e5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Oct 17 00:03:38 2015 +0200 Bluetooth: bpa10x: fix BT_HCIUART dependency The change to bpa10x to use the h4_recv_buf helper added a dependency on BT_HCIUART. This was incorrectly added to Kconfig by adding a 'select' statement, which now in turn causes build failures when CONFIG_TTY is not set: warning: (BT_HCIBPA10X) selects BT_HCIUART which has unmet direct dependencies (NET && BT && TTY) vers/built-in.o: In function `hci_uart_tty_receive': fpga-mgr.c:(.text+0x282824): undefined reference to `tty_unthrottle' drivers/built-in.o: In function `hci_uart_tty_ioctl': fpga-mgr.c:(.text+0x282aa0): undefined reference to `n_tty_ioctl_helper' drivers/built-in.o: In function `hci_uart_flush': This replaces the 'select BT_HCIUART' dependency with 'depends on', which does not have this kind of problem. Alternatively, one could add 'depends on TTY', but avoiding 'select' on user-visible options is generally the preferred choice as that does not introduce the potential for dependency loops or incomplete dependency chains. Fixes: 91489919247a ("Bluetooth: bpa10x: Fix missing BT_HCIUART dependency") Fixes: 943cc592195e ("Bluetooth: bpa10x: Use h4_recv_buf helper for frame reassembly") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2220994e7187c15848c00c7d9dab632969533396 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 13 13:54:55 2015 +0200 Bluetooth: btusb: Print information of Intel SfP lock states The lock states from Intel SfP controllers can only be read once before loading the firmware. So for debugging purposes, print them out. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit cad20c278085d893ebd616cd20c0747a8e9d53c7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Oct 12 13:36:19 2015 +0200 Bluetooth: Don't use remote address type to decide IRK persistency There are LE devices on the market that start off by announcing their public address and then once paired switch to using private address. To be interoperable with such devices we should simply trust the fact that we're receiving an IRK from them to indicate that they may use private addresses in the future. Instead, simply tie the persistency to the bonding/no-bonding information the same way as for LTKs and CSRKs. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 581d6fd60f37be587690655de05aee200b939e06 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Oct 9 16:13:51 2015 +0200 Bluetooth: Queue diagnostic messages together with HCI packets Sending diagnostic messages directly to the monitor socket might cause issues for devices processing their messages in interrupt context. So instead of trying to directly forward them, queue them up with the other HCI packets and lets them be processed by the sockets at the same time. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bb77543ebd2e38c08412fec7eb1e35b902c5ff77 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Oct 9 16:13:50 2015 +0200 Bluetooth: Restrict valid packet types via HCI_CHANNEL_RAW When using the HCI_CHANNEL_RAW, restrict the packet types to valid ones from the Bluetooth specification. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8cd4f581427213e086fca601bb9d8c7ea9cfeabc Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Oct 9 16:13:49 2015 +0200 Bluetooth: Remove quirk for HCI_VENDOR_PKT filter handling The HCI_VENDOR_PKT quirk was needed for BPA-100/105 devices that send these messages. Now that there is support for proper diagnostic channel this quirk is no longer needed. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6d2e50d24098b1f80ad76db9a9cb9668c4bf6b50 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Oct 9 14:42:08 2015 +0200 Bluetooth: btintel: Add support for enabling tracing functionality For Intel controllers with firmware that allows tracing of baseband functionality this allows enabling it via set_diag driver callback. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 9d08f50401ac7eb32e3c9ae8c4c0a61c6b107fd1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 20:23:08 2015 +0200 Bluetooth: btusb: Add support for Broadcom LM_DIAG interface The Broadcom Bluetooth USB devices have a third interface that is dedicated for LM_DIAG messages. The If#= 2 describes this interface and it consists of one bulk in and one bulk endpoint. T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 38 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=19ff ProdID=0239 Rev= 1.12 S: Manufacturer=Broadcom Corp S: Product=BCM20702A0 C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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 I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=btusb E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) For all Broadcom based devices with this interface, the driver now claims it and schedules URBs for it. This allows to capture the LM_DIAG messages and allows forwarding them via hci_recv_diag into the diagnostic channel of the Bluetooth subsystem. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 91489919247a48ce02686520eca25e9c9200dc6f Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 19:30:05 2015 +0200 Bluetooth: bpa10x: Fix missing BT_HCIUART dependency Selecting just BT_HCIUART_H4 is not enough and it also needs to select BT_HCIUART to avoid this warning: warning: (BT_HCIBPA10X) selects BT_HCIUART_H4 which has unmet direct dependencies (NET && BT && BT_HCIUART) Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 3ba009297149fa45956c33ab5de7c5f4da1f28b8 Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 29 19:46:14 2015 +0300 ftrace: Introduce ftrace_glob structure ftrace_match parameters are very related and I reduce the number of local variables & parameters with it. This is also preparation for module globbing as it would introduce more realated variables & parameters. Link: http://lkml.kernel.org/r/1443545176-3215-3-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> [ Made some formatting changes ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 681ab4696062f5aa939c9e04d058732306a97176 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Oct 20 12:09:13 2015 -0400 md/raid10: submit_bio_wait() returns 0 on success This was introduced with 9e882242c6193ae6f416f2d8d8db0d9126bd996b which changed the return value of submit_bio_wait() to return != 0 on error, but didn't update the caller accordingly. Fixes: 9e882242c6 ("block: Add submit_bio_wait(), remove from md") Cc: stable@xxxxxxxxxxxxxxx (v3.10) Reported-by: Bill Kuzeja <William.Kuzeja@xxxxxxxxxxx> Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 203d27b0226a05202438ddb39ef0ef1acb14a759 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Oct 20 12:09:12 2015 -0400 md/raid1: submit_bio_wait() returns 0 on success This was introduced with 9e882242c6193ae6f416f2d8d8db0d9126bd996b which changed the return value of submit_bio_wait() to return != 0 on error, but didn't update the caller accordingly. Fixes: 9e882242c6 ("block: Add submit_bio_wait(), remove from md") Cc: stable@xxxxxxxxxxxxxxx (v3.10) Reported-by: Bill Kuzeja <William.Kuzeja@xxxxxxxxxxx> Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit bc1d03687b9be3a30aab8e8d78c7884449b6e511 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Oct 9 06:59:23 2015 -0400 perf cpu_map: Fix core dump caused by per-socket/core system-wide stat Perf will core dump if --per-socket/core -a are applied for perf stat. The root cause is that cpu_map__build_map set refcnt of evlist's cpu_map to 1. It should set refcnt for the newly created cpu_map, not evlist's cpu_map. Here is the example: # perf stat -e cycles --per-socket -a sleep 1 Performance counter stats for 'system wide': S0 36 30,196,257 cycles S1 28 15,823,536 cycles 1.001126828 seconds time elapsed *** Error in `./perf': corrupted double-linked list: 0x00000000021f9090 *** ======= Backtrace: ========= /lib64/libc.so.6[0x3002e7bbe7] /lib64/libc.so.6[0x3002e7d2b5] ./perf(perf_evsel__delete+0x28)[0x485bdd] ./perf[0x4800e8] ./perf(perf_evlist__delete+0x5e)[0x482cd5] ./perf(cmd_stat+0xf25)[0x432328] ./perf[0x4768e0] ./perf[0x476ad6] ./perf[0x476b41] ./perf(main+0x1d0)[0x476db2] /lib64/libc.so.6(__libc_start_main+0xf5)[0x3002e21b45] ./perf[0x4202c5] Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444388363-35936-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2f465deef7ce8c722121b782dd91c284f5ae80ca Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Oct 1 12:28:11 2015 +0200 tools lib traceevent: update KVM plugin The format of the role word has changed through the years and the plugin was never updated; some VMX exit reasons were missing too. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: kvm@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443695293-31127-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9d0c3c682033d3f10ac1ad8e72ca0c1b48063409 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Oct 12 11:25:44 2015 +0200 clk: shmobile: Add r8a7795 CPG Core Clock Definitions Add all R-Car H3 Clock Pulse Generator Core Clock Outputs, as listed in Table 8.2a ("List of Clocks [R-Car H3]") of the R-Car Gen3 datasheet (rev. 0.5E). Note that internal CPG clocks (S0, S1, S2, S3, SDSRC, SSPSRC, and RPCSRC) are not included, as they're used as internal clock sources only. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Reviewed-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> commit 3686d3e7d6e65e9d0b6405713ba25e593c34abb7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Oct 12 11:05:24 2015 +0200 clk: shmobile: Add new Renesas CPG/MSSR DT bindings On Renesas ARM SoCs (SH/R-Mobile, R-Car, RZ), the CPG (Clock Pulse Generator) and MSSR (Module Standby and Software Reset) blocks are intimately connected, and share the same register block. Hence it makes sense to describe these two blocks using a single device node in DT, instead of using a hierarchical structure with multiple nodes, using a mix of generic and SoC-specific bindings. These new DT bindings are intended to replace the existing DT bindings for CPG core clocks ("renesas,*-cpg-clocks", "renesas,cpg-div6-clock") and module clocks ("renesas,*-mstp-clocks"), at least for new SoCs. This will make it easier to add module reset support later, which is currently not implemented, and difficult to achieve using the existing bindings due to the intertwined register layout. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Reviewed-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> commit 67f8cf3cee6f398d05de8333c04fea2ddb59c805 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Oct 15 11:34:49 2015 -0700 f2fs: support fiemap for inline_data There is a FIEMAP_EXTENT_INLINE_DATA, pointed out by Marc. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1d373a0ef7a7bc08f95ca820c627e961fb21e188 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 19 10:29:51 2015 -0700 f2fs: flush dirty data for bmap Users expect bmap will give allocated block addresses. Let's play likewise ext4. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5d170139eb10ae12e1bd076245c42b35453d8324 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Oct 18 13:05:40 2015 +0200 vga_switcheroo: Constify vga_switcheroo_handler vga_switcheroo_client_ops has always been declared const since its introduction with 26ec685ff9d9 ("vga_switcheroo: Introduce struct vga_switcheroo_client_ops"). Do so for vga_switcheroo_handler as well. drivers/gpu/drm/amd/amdgpu/amdgpu.ko: 6 .rodata 00009888 - 19 .data 00001f00 + 19 .data 00001ee0 drivers/gpu/drm/nouveau/nouveau.ko: 6 .rodata 000460b8 17 .data 00018fe0 drivers/gpu/drm/radeon/radeon.ko: - 7 .rodata 00030944 + 7 .rodata 00030964 - 21 .data 0000d6a0 + 21 .data 0000d678 drivers/platform/x86/apple-gmux.ko: - 7 .rodata 00000140 + 7 .rodata 00000160 - 11 .data 000000e0 + 11 .data 000000b8 Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx>. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab3964ad2acfbb0dc5414d4c86fa6d8d690f27a1 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Tue Oct 20 09:53:01 2015 +0300 IB/cma: Use inner P_Key to determine netdev When discussing the patches to demux ids in rdma_cm instead of ib_cm, it was decided that it is best to use the P_Key value in the packet headers. However, the mlx5 and ipath drivers are currently unable to send correct P_Key values in GMP headers. They always send using a single P_Key that is set during the GSI QP initialization. Change the rdma_cm code to look at the P_Key value that is part of the packet payload as a workaround. Once the drivers are fixed this patch can be reverted. Fixes: 4c21b5bcef73 ("IB/cma: Add net_dev and private data checks to RDMA CM") Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 79f5b6ae960d380c829fb67d5dadcd1d025d2775 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 19 04:17:30 2015 -0200 [media] c8sectpfe: Remove select on CONFIG_FW_LOADER_USER_HELPER_FALLBACK c8sectpfe driver selects CONFIG_FW_LOADER_USER_HELPER_FALLBACK by some reason, but this option is known to be harmful, leading to minutes of stalls at boot time. The option was intended for only compatibility for an old exotic system that mandates the udev interaction, and not a thing a driver selects by itself. Let's remove it. Fixes: 850a3f7d5911 ('[media] c8sectpfe: Add Kconfig and Makefile for the driver') Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eab2b7612d2bce0b06873e24899a8455a04bb915 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Oct 16 06:13:01 2015 -0300 [media] DocBook media: update copyright/version numbers - Update the copyright year to 2015 in media_api.tmpl. - Main version number of the spec updated to 4.4. - Version 3.21 was used for one changelog, this should be 4.1. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 520e82d44b6d74d35d296ba6ceb990552ce9fb82 Author: Jan Kara <jack@xxxxxxx> Date: Tue Oct 6 06:24:30 2015 -0300 [media] ivtv: Convert to get_user_pages_unlocked() Convert ivtv_yuv_prep_user_dma() to use get_user_pages_unlocked() so that we don't unnecessarily leak knowledge about mm locking into drivers code. CC: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 759b26a1d916400a1a20948eb964dea6ad0bd9e9 Author: Antonio Ospite <ao2@xxxxxx> Date: Wed Oct 14 10:57:32 2015 -0300 [media] media/v4l2-ctrls: fix setting autocluster to manual with VIDIOC_S_CTRL Since commit 5d0360a4f027576e5419d4a7c711c9ca0f1be8ca it's not possible anymore to set auto clusters from auto to manual using VIDIOC_S_CTRL. For example, setting autogain to manual with gspca/ov534 driver and this sequence of commands does not work: v4l2-ctl --set-ctrl=gain_automatic=1 v4l2-ctl --list-ctrls | grep gain_automatic # The following does not work v4l2-ctl --set-ctrl=gain_automatic=0 v4l2-ctl --list-ctrls | grep gain_automatic Changing the value using VIDIOC_S_EXT_CTRLS (like qv4l2 does) works fine. The apparent cause by looking at the changes in 5d0360a and comparing with the code path for VIDIOC_S_EXT_CTRLS seems to be that the code in v4l2-ctrls.c::set_ctrl() is not calling user_to_new() anymore after calling update_from_auto_cluster(master). However the root cause of the problem is that calling update_from_auto_cluster(master) overrides also the _master_ control state calling cur_to_new() while it was supposed to only update the volatile controls. Calling user_to_new() after update_from_auto_cluster(master) was just masking the original bug by restoring the correct new value of the master control before making the changes permanent. Fix the original bug by making update_from_auto_cluster() not override the new master control value. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.17 and up Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b2df45531619508a722cdafac2bde3ca2f8ae9e5 Author: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxxx> Date: Tue Oct 13 11:17:39 2015 -0300 [media] DocBook media: Fix a typo in encoder cmd A copy-paste from DECODER_CMD : replace decoded by encoded. 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 c7c1d5a5dea80d908fa9a7945424d872b3588757 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:09 2015 -0300 [media] DocBook: add SDR specific info to G_MODULATOR / S_MODULATOR Add SDR specific notes to G_MODULATOR / S_MODULATOR documentation. Signed-off-by: Antti Palosaari <crope@xxxxxx> [hans.verkuil@xxxxxxxxx: add quotes in "The term 'modulator'"] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f9b4376c82a81943fc196709315dfe554774286a Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:08 2015 -0300 [media] DocBook: add SDR specific info to G_TUNER / S_TUNER Add SDR specific notes to G_TUNER / S_TUNER documentation. Add V4L2_TUNER_SDR and V4L2_TUNER_RF to supported tuner types to table. Signed-off-by: Antti Palosaari <crope@xxxxxx> [hans.verkuil@xxxxxxxxx: add quotes in "The term 'tuner'"] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 36c6326c5c22054605b0425a1896542a4222d7d6 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:07 2015 -0300 [media] hackrf: do not set human readable name for formats Format names are set by core nowadays. Remove name from driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8bc4a9ed85046c214458c9e82aea75d2f46cfffd Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:06 2015 -0300 [media] hackrf: add support for transmitter HackRF SDR device has both receiver and transmitter. There is limitation that receiver and transmitter cannot be used at the same time (half-duplex operation). That patch implements transmitter support to existing receiver only driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> [hans.verkuil@xxxxxxxxx: fix krobot unused variable warning] [hans.verkuil@xxxxxxxxx: add back s_modulator from PATCHv4] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eec20f0654a45c43b303a2f386c654c4171d9f6e Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:05 2015 -0300 [media] hackrf: switch to single function which configures everything Implement single funtion, hackrf_set_params(), which handles all needed settings. Controls and other IOCTLs are just wrappers to that function. That way we can get easily better control what we could do on different device states - sleeping, receiving, transmitting. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b3ae29667e22921b8bd8ba84bf719a240f303aa2 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:04 2015 -0300 [media] hackrf: add control for RF amplifier There is Avago MGA-81563 amplifier just right after antenna connector. It could be turned on/off and its gain is around 12dB. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 486dc9e59fd0ab6c674432f3d57721d1521bc17d Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:03 2015 -0300 [media] DocBook: add modulator type field Add new modulator type field to documentation. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4124a3c4abcf3c37d2445ff9a936a2d08988e01a Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:02 2015 -0300 [media] v4l: add type field to v4l2_modulator struct Add type field to that struct like it counterpart v4l2_tuner already has. We need type field to distinguish different tuner types from each others for transmitter too. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit be8ee526fb0b91681fb02d69d2a642a6ec2f2377 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:01 2015 -0300 [media] DocBook: document SDR transmitter Add documentation for V4L SDR transmitter (output) devices. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9effc72fd71b6e8fd2676bcb57fac3f05ab93043 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:00 2015 -0300 [media] v4l2: add support for SDR transmitter New IOCTL ops: vidioc_enum_fmt_sdr_out vidioc_g_fmt_sdr_out vidioc_s_fmt_sdr_out vidioc_try_fmt_sdr_out New vb2 buffertype: V4L2_BUF_TYPE_SDR_OUTPUT New v4l2 capability: V4L2_CAP_SDR_OUTPUT Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b2411b93cdcb5cb154827b8fcd2f436dd0ddab73 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:50:59 2015 -0300 [media] DocBook: document tuner RF gain control Add brief description for tuner RF gain control. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 41018cb84a9ed440db1508d67d9dd4084d5460eb Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:50:58 2015 -0300 [media] v4l2: add RF gain control Add new RF tuner gain control named RF Gain. That is aimed for first amplifier chip right after antenna connector. There is existing LNA Gain control, which is quite same, but it is aimed for cases amplifier is integrated to tuner chip. Some designs have both, as almost all recent tuner silicons has integrated LNA/RF amplifier in any case. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0174b381caf89443d92c6fe75f725f2bfeba96b6 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Sep 17 16:04:19 2015 -0400 IB/ucma: check workqueue allocation before usage Allocating a workqueue might fail, which wasn't checked so far and would lead to NULL ptr derefs when an attempt to use it was made. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f3c3ecec97c24cf0e53bb61ee85698acc00bcd68 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:50:57 2015 -0300 [media] v4l2: rename V4L2_TUNER_ADC to V4L2_TUNER_SDR SDR receiver has ADC (Analog-to-Digital Converter) and SDR transmitter has DAC (Digital-to-Analog Converter). Originally I though it could be good idea to have own type for receiver and transmitter, but now I feel one common type for SDR is enough. So lets rename it. Signed-off-by: Antti Palosaari <crope@xxxxxx> Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: this was added in 4.4, so update 4.2 to 4.4] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eda98796aff0d9bf41094b06811f5def3b4c333c Author: Salva Peiró <speirofr@xxxxxxxxx> Date: Wed Oct 7 07:09:26 2015 -0300 [media] media/vivid-osd: fix info leak in ioctl The vivid_fb_ioctl() code fails to initialize the 16 _reserved bytes of struct fb_vblank after the ->hcount member. Add an explicit memset(0) before filling the structure to avoid the info leak. Signed-off-by: Salva Peiró <speirofr@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3c5be988e0b6a2f368e1659083b39e1f7ac909aa Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Oct 6 06:37:49 2015 -0300 [media] media: videobuf2: Move v4l2-specific stuff to videobuf2-v4l2 Move v4l2-specific stuff from videobu2-core to videobuf2-v4l2 without doing any functional changes. Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b3b51f9f6f5d91cd16afaed0c22df2c56ed5f92e Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Mon Sep 21 16:02:02 2015 +0300 IB/cma: Potential NULL dereference in cma_id_from_event If the lookup of a listening ID failed for an AF_IB request, the code would try to call dev_put() on a NULL net_dev. Fixes: be688195bd08 ("IB/cma: Fix net_dev reference leak with failed requests") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f6aad2615c8c4ed806e70693adacb6c93f13564a Author: Michal Sojka <sojkam1@xxxxxxxxxxx> Date: Mon Oct 19 16:51:02 2015 +0200 kconfig: Fix copy&paste error Fixes: 31847b67bec0 ("kconfig: allow use of relations other than (in)equality") Signed-off-by: Michal Sojka <sojkam1@xxxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit b0e0e1f83de31aa0428c38b692c590cc0ecd3f03 Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Oct 6 06:37:48 2015 -0300 [media] media: videobuf2: Prepare to divide videobuf2 Prepare to divide videobuf2 - Separate vb2 trace events from v4l2 trace event. - Make wrapper functions that will move to v4l2-side. - Make vb2_core_* functions that will remain in core-side. - Add a callback function table for buffer operation which makes vb2-core to be able to invoke a v4l2-side functions. - Rename internal functions as vb2_*. Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3909642034ffd7a8906ff3f2b2a71455bf39e7f6 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 15:01:03 2015 +0300 IB/core: Fix use after free of ifa When using ifup/ifdown while executing enum_netdev_ipv4_ips, ifa could become invalid and cause use after free error. Fixing it by protecting with RCU lock. Fixes: 03db3a2d81e6 ('IB/core: Add RoCE GID table management') Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bed04f9342473743fc96b71c3130f645c718bd47 Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Oct 6 06:37:47 2015 -0300 [media] media: videobuf2: Replace v4l2-specific data with vb2 data Simple changes that replace v4l2-specific data with vb2 data in videobuf2-core. enum v4l2_buf_type --> int enum v4l2_memory --> enum vb2_memory VIDEO_MAX_FRAME --> VB2_MAX_FRAME VIDEO_MAX_PLANES --> VB2_MAX_PLANES struct v4l2_fh *owner --> void *owner V4L2_TYPE_IS_MULTIPLANAR() --> is_multiplanar V4L2_TYPE_IS_OUTPUT() --> is_output Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 33119e80c3b96ac81912677a6e86dc1890a5859f Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Oct 6 06:37:46 2015 -0300 [media] media: videobuf2: Change queue_setup argument Replace struct v4l2_format * with void * to make queue_setup() for common use. And then, modify all device drivers related with this change. Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: fix missing const in fimc-lite.c] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4d0b0ed636601691460adee0a953a03e4cdcbbe0 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Oct 7 07:13:45 2015 -0300 [media] s5p-mfc: use MFC_BUF_FLAG_EOS to identify last buffers in decoder capture queue MFC driver never delivered EOS event to apps feeding constantly its capture buffer with fresh buffers. The patch fixes it by marking last buffers returned by MFC with MFC_BUF_FLAG_EOS flag and firing EOS event on de-queuing such buffers. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 96c57776cd375ae19eff28f3c8dda4f42b6146e2 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Oct 7 07:15:31 2015 -0300 [media] s5p-mfc: end-of-stream handling for newer encoders MFC encoder supports end-of-stream handling for encoder in version 5 of hardware. This patch adds it also for newer version. It was successfully tested on MFC-v8. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f6375eafeb0fac0a32e88eb6e5984faf9648fe81 Author: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Date: Fri Oct 2 06:00:17 2015 -0300 [media] s5p-mfc: fix spelling errors This patch fixes spelling errors in mfc encoder. inavild -> invaild Signed-off-by: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 418dae2276065680bde7ae27d2c075e612a54de6 Author: Tiffany Lin <tiffany.lin@xxxxxxxxxxxx> Date: Thu Sep 24 06:02:36 2015 -0300 [media] media: vb2 dma-sg: Fully cache synchronise buffers in prepare and finish In videobuf2 dma-sg memory types the prepare and finish ops, instead of passing the number of entries in the original scatterlist as the "nents" parameter to dma_sync_sg_for_device() and dma_sync_sg_for_cpu(), the value returned by dma_map_sg() was used. Albeit this has been suggested in comments of some implementations (which have since been corrected), this is wrong. Fixes: d790b7eda953 ("vb2-dma-sg: move dma_(un)map_sg here") Cc: stable@xxxxxxxxxxxxxxx # for v3.19 and up Signed-off-by: Tiffany Lin <tiffany.lin@xxxxxxxxxxxx> Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d9a985883fa32453d099d6293188c11d75cef1fa Author: Tiffany Lin <tiffany.lin@xxxxxxxxxxxx> Date: Thu Sep 24 06:02:36 2015 -0300 [media] media: vb2 dma-contig: Fully cache synchronise buffers in prepare and finish In videobuf2 dma-contig memory type the prepare and finish ops, instead of passing the number of entries in the original scatterlist as the "nents" parameter to dma_sync_sg_for_device() and dma_sync_sg_for_cpu(), the value returned by dma_map_sg() was used. Albeit this has been suggested in comments of some implementations (which have since been corrected), this is wrong. Fixes: 199d101efdba ("v4l: vb2-dma-contig: add prepare/finish to dma-contig allocator") Cc: stable@xxxxxxxxxxxxxxx # for v3.8 and up Signed-off-by: Tiffany Lin <tiffany.lin@xxxxxxxxxxxx> Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f06d89028b35c938f9f7551e03f400037f0da82c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 13:18:49 2015 -0300 [media] smiapp: 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: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e9a267702d32fc8e71abe5f172d2924bad86e52f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 19 17:34:21 2015 +0200 ARM: dts: am335x-base0033: Use IOPAD pinmux macro Use the AM33XX pinmux IOPAD macro to define the physical address instead of the offset from the padconf address. It makes the DTS easier to read since matches the addresses listed in the Technical Reference Manual. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8a3ecb217f11884890d81c9440087c0765606daf Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 19 17:34:20 2015 +0200 ARM: dts: am335x-igep0033: Use IOPAD pinmux macro Use the AM33xx pinmux IOPAD macro to define the physical address instead of the offset from the padconf address. It makes the DTS easier to read since matches the addresses listed in the Technical Reference Manual. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fd20719443e420d09e2813d7c7b582e229f3cbdc Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 19 17:34:19 2015 +0200 ARM: dts: omap3-igep0020: Use IOPAD pinmux macro Use the OMAP3 pinmux IOPAD macro to define the physical address instead of the offset from the padconf address. It makes the DTS easier to read since matches the addresses listed in the Technical Reference Manual. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f513d22c9cb09ff95a0c2d26e18940fbda50d6db Author: Vignesh R <vigneshr@xxxxxx> Date: Wed Oct 14 19:24:25 2015 +0530 ARM: dts: am437x-gp-evm: Add wakeup interrupt source for pixcir_i2c_ts On am437x-gp-evm, pixcir_i2c_ts can wakeup the system from low power state via pinctrl and IO daisy chain using generic wakeirq framework. With commit 3fffd1283927 ("i2c: allow specifying separate wakeup interrupt in device tree") i2c core allows optional wakeirq to be specified via device tree. Add wakeup irq entry to enable pixcir_i2c_ts to wake the system from low power state. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 56a31e549e007ad7ca623d99294af0eca8517bf8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Oct 14 12:00:30 2015 +0200 ARM: dts: Update Javier Martinez Canillas's email I see that people are still sending emails to my old address (that no longer exists) since is the one mentioned in the IGEP DTS. Replace it with my current email address to avoid this. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 625faa6a720d26fc0db9e20b48dc0dfe4c8d8ddf Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Oct 20 11:49:44 2015 +0100 clkdev: fix clk_add_alias() with a NULL alias device name clk_add_alias() was not correctly handling the case where alias_dev_name was NULL: rather than producing an entry with a NULL dev_id pointer, it would produce a device name of (null). Fix this. Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 2568999835d7 ("clkdev: add clkdev_create() helper") Reported-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 36958598b7acf690b514141122234b1c3b8e4282 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 21 20:23:51 2015 +0530 ARM: dts: dra72-evm: remove cpsw gpio hogging and add mode-gpios With the current implementation of GPIO hogging and with gpio-pcf857x is built as module, ethernet doesn't work on boot and doesn't throw any error/warning to user. Ethernet becomes operational when inserting gpio-pcf857x module, even this time there is no error/warning logs to user that ethernet is operational. When using with NFS rootfs and gpio-pcf857x as module, board doesn't boot as it doesn't get any ip address and doesn't throw any error/warning. To over come this, now cpsw driver tries to get mode-gpios. When gpio-pcf857x is built as module it will throw error, so that user can decide either to built in gpio-pcf857x to continue with nfs boot or choose alternate rootfs filesystem like sd/ramdisk. When using mmc/ramdisk as root fs, cpsw will probe defer and re-probes again when gpio-pcf857x module is inserted and ethernet becomes operational. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8c5ec4c7ec0b58658d0fab813b9aca420b85ebfa Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Oct 20 15:16:30 2015 +0100 i2c: stu300: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 598cf1611b2686243c011207d24aa38e09f1a115 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Oct 20 15:16:29 2015 +0100 i2c: rk3x: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 93ae965022bfcdde473a5ff09e48dff7c8dab08c Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Oct 20 15:16:28 2015 +0100 i2c: meson: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d695e22a27a958cb20f5b11df2692c13b15fc80e Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Oct 20 15:16:27 2015 +0100 i2c: ibm-iic: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c6f1891323e6a259c0b0f516a3a3e0f6b0ee2c5f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Oct 7 10:16:31 2015 +0200 i2c: rcar: Remove obsolete platform data support Since commit 4baadb9e05c68962 ("ARM: shmobile: r8a7778: remove obsolete setup code"), Renesas R-Car 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> [wsa: removed now unused ret value and cast to proper enum type] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7bb6da5a3d2dae725ed228a97dd65f82e3fbd934 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 15:18:26 2015 +0200 i2c: sh_mobile: add support for r8a7795 (R-Car H3) Enable the I2C core for this SoC. It is compitable to Gen2 SoCs, so reuse the settings. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0d997491f814c87310a6ad7be30a9049c7150489 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Oct 17 19:05:27 2015 +0200 arm/arm64: KVM: Fix disabled distributor operation We currently do a single update of the vgic state when the distributor enable/disable control register is accessed and then bypass updating the state for as long as the distributor remains disabled. This is incorrect, because updating the state does not consider the distributor enable bit, and this you can end up in a situation where an interrupt is marked as pending on the CPU interface, but not pending on the distributor, which is an impossible state to be in, and triggers a warning. Consider for example the following sequence of events: 1. An interrupt is marked as pending on the distributor - the interrupt is also forwarded to the CPU interface 2. The guest turns off the distributor (it's about to do a reboot) - we stop updating the CPU interface state from now on 3. The guest disables the pending interrupt - we remove the pending state from the distributor, but don't touch the CPU interface, see point 2. Since the distributor disable bit really means that no interrupts should be forwarded to the CPU interface, we modify the code to keep updating the internal VGIC state, but always set the CPU interface pending bits to zero when the distributor is disabled. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 544c572e03174438b6656ed24a4516b9a9d5f14a Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Oct 17 17:55:12 2015 +0200 arm/arm64: KVM: Clear map->active on pend/active clear When a guest reboots or offlines/onlines CPUs, it is not uncommon for it to clear the pending and active states of an interrupt through the emulated VGIC distributor. However, since the architected timers are defined by the architecture to be level triggered and the guest rightfully expects them to be that, but we emulate them as edge-triggered, we have to mimic level-triggered behavior for an edge-triggered virtual implementation. We currently do not signal the VGIC when the map->active field is true, because it indicates that the guest has already been signalled of the interrupt as required. Normally this field is set to false when the guest deactivates the virtual interrupt through the sync path. We also need to catch the case where the guest deactivates the interrupt through the emulated distributor, again allowing guests to boot even if the original virtual timer signal hit before the guest's GIC initialization sequence is run. Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit cff9211eb1a1f58ce7f5a2d596b617928fd4be0e Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Oct 16 12:41:21 2015 +0200 arm/arm64: KVM: Fix arch timer behavior for disabled interrupts We have an interesting issue when the guest disables the timer interrupt on the VGIC, which happens when turning VCPUs off using PSCI, for example. The problem is that because the guest disables the virtual interrupt at the VGIC level, we never inject interrupts to the guest and therefore never mark the interrupt as active on the physical distributor. The host also never takes the timer interrupt (we only use the timer device to trigger a guest exit and everything else is done in software), so the interrupt does not become active through normal means. The result is that we keep entering the guest with a programmed timer that will always fire as soon as we context switch the hardware timer state and run the guest, preventing forward progress for the VCPU. Since the active state on the physical distributor is really part of the timer logic, it is the job of our virtual arch timer driver to manage this state. The timer->map->active boolean field indicates whether we have signalled this interrupt to the vgic and if that interrupt is still pending or active. As long as that is the case, the hardware doesn't have to generate physical interrupts and therefore we mark the interrupt as active on the physical distributor. We also have to restore the pending state of an interrupt that was queued to an LR but was retired from the LR for some reason, while remaining pending in the LR. Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Reported-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4a5d69b73948d0e03cd38d77dc11edb2e707165f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 15:22:31 2015 +0200 KVM: arm: use GIC support unconditionally The vgic code on ARM is built for all configurations that enable KVM, but the parent_data field that it references is only present when CONFIG_IRQ_DOMAIN_HIERARCHY is set: virt/kvm/arm/vgic.c: In function 'kvm_vgic_map_phys_irq': virt/kvm/arm/vgic.c:1781:13: error: 'struct irq_data' has no member named 'parent_data' This flag is implied by the GIC driver, and indeed the VGIC code only makes sense if a GIC is present. This changes the CONFIG_KVM symbol to always select GIC, which avoids the issue. Fixes: 662d9715840 ("arm/arm64: KVM: Kill CONFIG_KVM_ARM_{VGIC,TIMER}") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 399ea0f6bcd318af94ec8e4ffe96703ed674f22e Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Tue Oct 6 11:14:35 2015 +0300 KVM: arm/arm64: Fix memory leak if timer initialization fails Jump to correct label and free kvm_host_cpu_state Reviewed-by: Wei Huang <wei@xxxxxxxxxx> Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 437f9963bc4fd75889c1fe9289a92dea9124a439 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Fri Sep 25 17:00:29 2015 +0300 KVM: arm/arm64: Do not inject spurious interrupts When lowering a level-triggered line from userspace, we forgot to lower the pending bit on the emulated CPU interface and we also did not re-compute the pending_on_cpu bitmap for the CPU affected by the change. Update vgic_update_irq_pending() to fix the two issues above and also raise a warning in vgic_quue_irq_to_lr if we encounter an interrupt pending on a CPU which is neither marked active nor pending. [ Commit text reworked completely - Christoffer ] Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit e7db0d34b38d56bbdb3d2d64c6233c53b77a3c6c Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 15:18:25 2015 +0200 i2c: rcar: add support for r8a7795 (R-Car H3) Enable the I2C core for this SoC. I add a new type because this version has new features (e.g. DMA) which will be added somewhen later. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ce7b8dbdded8552d1fd25cc9289da361c5cc765e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Oct 20 16:54:46 2015 +0800 ASoC: ssm2518: Drop .volatile_reg implementation The implementation of ssm2518_register_volatile always returns false, this behavior is the same as no .volatile_reg callback implementation when cache_type != REGCACHE_NONE. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 92b822a499607c32ce12ffd798a095babedc3202 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Oct 20 16:56:11 2015 +0800 ASoC: ad193x: Drop .volatile_reg implementation adau193x_reg_volatile() always return false. This seems pointless because current code uses REGCACHE_NONE cache_type which is supposed to be volatile. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f937b43d48f1080e39de723d15680b2ad5d7e6fd Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Oct 20 23:46:59 2015 +0900 ALSA: firewire-tascam: clear extra MIDI bytes in an asynchronous transaction When MIDI buffer stores two or more MIDI messages, TASCAM driver transfers asynchronous transactions including one MIDI message and extra bytes from second MIDI message. This commit fixes this bug by clearing needless bytes in the buffer. The consumed bytes are already calculated correctly, thus the sequence of transactions is already correct. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 123990e930ac1213df2dfa0e2d57cfc0e1dd5e02 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Oct 20 23:46:58 2015 +0900 ALSA: firewire-tascam: fix loop condition with some readable variables In transactions for MIDI messages, the first byte is used for label and the rest is for MIDI bytes. In current code, these are handled correctly, while there's a small mistake for loop condition to include meaningless statement. This commit adds two local variables for them and improve the loop condition. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b7ab614f301741ae3cb61fb6a90e290083d3b95d Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Oct 20 23:46:57 2015 +0900 ALSA: firewire-tascam: use better name for local variables to describe their intension In the callback function of asynchronous MIDI port, the intension of some local variables are not clear. This commit improves them. The 'len' variable is used to calculate the number of MIDI bytes including in the transaction. The 'consume' variable is used to return the actual number of consumed bytes in ALSA MIDI buffer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 516a30615635fdec6a298d7b7cedca1270bc641c Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Oct 20 23:46:56 2015 +0900 ALSA: firewire-tascam: change type of valiables according to function prototype In the callback function of asynchronous MIDI port, some local variables are declared 'unsigned int', while they're assigned to int value of return from snd_rawmidi_transmit_peek(). This commit fixes the type. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9f9c5617c8f7dfd1190c438894a8701db25f171f Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Oct 20 23:46:55 2015 +0900 ALSA: firewire-tascam: remove buffer initialization in driver side The given buffer to callback function is cleared in caller side. This commit removes buffer initialization in callee side. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eae14465de250be75021659789f138a70a553ac5 Merge: b30c645 88d909b Author: Michael Turquette <mturquette@xxxxxxxxxxxx> Date: Tue Oct 20 08:49:11 2015 -0700 Merge tag 'tegra-for-4.4-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into clk-next clk: tegra: Changes for v4.4-rc1 This contains a patch that allows the DFLL to use clock rates higher than 2^31-1 Hz by using the ->determine_rate() operation instead of the ->round_rate() operation. Other than that there's a couple of cleanups in preparation for Tegra210 support. commit b299167652fe58f1ebadb3e3ac84a5a0b74e534e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Oct 7 02:45:11 2015 +0300 i2c: ocores: support big-endian register layout This allows using OpenCores I2C controller attached to its host in native-endian mode with bi-endian CPUs. Example of such system is Xtensa XTFPGA platform. Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8a5e3d472e04a19a47de41cbe4856169ade11af2 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Tue Sep 8 08:56:23 2015 +0200 i2c: au1550: relax bus timings a bit The i2c-au1550 driver has to program various setup and hold times for the sda/scl signals by hand. The current values seem to be working best when the driver is supplied with 50MHz, however on the DB1300 board 48MHz is the closest we can get to it, and the timings are a bit too tight for that, leading to the last bit of a transmission sometimes being swallowed. This manifests itself in wrong readings of the ne1619 sensor and inability to configure the wm8731 i2s codec. With the relaxed timings, both the sensor and the i2s codec can now be accessed more reliably over a wider range of I2C block input frequencies. Verified on DB1200, DB1300 and DB1550 boards. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 26f590e674d3ecf7517148fdb62d2983469bd993 Author: Barry Song <21cnbao@xxxxxxxxx> Date: Mon Sep 7 03:08:55 2015 +0000 i2c: tegra: drop duplicated code for assigning algo This code is repeated in probe: i2c_dev->adapter.algo = &tegra_i2c_algo; Cc: Donglin Peng <pengdonglin137@xxxxxxx> Signed-off-by: Barry Song <21cnbao@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit a2d7629048322ae62bff57f34f5f995e25ed234c Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Oct 20 11:38:08 2015 -0400 tracing: Have stack tracer force RCU to be watching The stack tracer was triggering the WARN_ON() in module.c: static void module_assert_mutex_or_preempt(void) { #ifdef CONFIG_LOCKDEP if (unlikely(!debug_locks)) return; WARN_ON(!rcu_read_lock_sched_held() && !lockdep_is_held(&module_mutex)); #endif } The reason is that the stack tracer traces all function calls, and some of those calls happen while exiting or entering user space and idle. Some of these functions are called after RCU had already stopped watching, as RCU does not watch userspace or idle CPUs. If a max stack is hit, then the save_stack_trace() is called, which will check module addresses and call module_assert_mutex_or_preempt(), and then trigger the warning. Sad part is, the warning itself will also do a stack trace and tigger the same warning. That probably should be fixed. The warning was added by 0be964be0d45 "module: Sanitize RCU usage and locking" but this bug has probably been around longer. But it's unlikely to cause much harm, but the new warning causes the system to lock up. Cc: stable@xxxxxxxxxxxxxxx # 4.2+ Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc:"Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 5d52f482ebb7d0845e84cb235700061bc5682ada Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Oct 20 15:52:13 2015 +0100 iommu/vt-d: Fix SVM IOTLB flush handling Change the 'pages' parameter to 'unsigned long' to avoid overflow. Fix the device-IOTLB flush parameter calculation â?? the size of the IOTLB flush is indicated by the position of the least significant zero bit in the address field. For example, a value of 0x12345f000 will flush from 0x123440000 to 0x12347ffff (256KiB). Finally, the cap_pgsel_inv() is not relevant to SVM; the spec says that *all* implementations must support page-selective invaliation for "first-level" translations. So don't check for it. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 35780e860f7d4a5f33f6ceadf09038ee26f1ef43 Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Date: Mon Sep 14 11:03:50 2015 +0200 i2c: davinci: Optimize clock generation on Keystone SoC According to "KeyStone Architecture Inter-IC Control Bus User Guide", fixed additive part of frequency divisors (referred as "d" in the code and datasheet) always equals to 6, independent of module clock prescaler. module clock frequency master clock frequency = ---------------------- (ICCL + 6) + (ICCH + 6) It was not the case with original Davinci IP. Introduce new compatible property "ti,keystone-i2c", which triggers special handling in the driver. Without this change Keystone-based systems (having 204.8MHz input clock) choose prescaler 29 (PSC=28). Using d=5 in this case leads to bus bitrate ~353kHz instead of requested 400kHz. After correction, assuming d=6 bus rate is ~392kHz. This gives ~11% transfer rate increase. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Tested-by: Hemanth Guruva Reddy <hemanth.guruva_reddy@xxxxxxxxx> Tested-by: Lukasz Gemborowski <lukasz.gemborowski@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 064181b00e33c917145194247b4abcfa36ca06d7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:24:02 2015 +0300 i2c: ismt: issue a warning when fail to request MSI Issue the warning in all error paths when unable to register MSI or its handler. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6befa6dd8de73fd726f3b69b63e4aa7b17a25531 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:24:01 2015 +0300 i2c: ismt: propagate actual error code Propagate actual return code when requesting interrupt fails. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f92d155d3eb05e74380383450eb86ba995c8d766 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:24:00 2015 +0300 i2c: ismt: do not duplicate msi_enabled flag struct pci_dev already has a flag to track if MSI is enabled or not. Use it directly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fb8918b2cf8741eef3972cbe70ab5dabd6ff67e7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:23:59 2015 +0300 i2c: ismt: PCI core handles power state for us There is no need to repeat the work that is already done in the PCI driver core. Remove suspend and resume callbacks. Note that there is no more calls performed to enable or disable a PCI device during suspend-resume cycle. Nowadays they seems to be superfluous. Someone can read more in [1]. [1] https://www.kernel.org/doc/ols/2009/ols2009-pages-319-330.pdf Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 600ca08023e33b6afe7ba65aebe419058e17eec7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:23:58 2015 +0300 i2c: ismt: improve usage of devres API pcim_release() will release any requested region. There is no need to duplicate this effort in the driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6109dbd618e5921eed6b4d09d48c0abc8cd508cd Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:24:03 2015 +0300 i2c: ismt: mark register space with __iomem This fixes the code to suppress sparse warnings like: drivers/i2c/busses/i2c-ismt.c:725:36: warning: incorrect type in argument 2 (different address spaces) drivers/i2c/busses/i2c-ismt.c:725:36: expected void volatile [noderef] <asn:2>*addr drivers/i2c/busses/i2c-ismt.c:725:36: got void * Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 166c2ba398640278ae6037be4aa5562c03cf3d24 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 7 13:18:44 2015 +0300 i2c / ACPI: Rework I2C device scanning The way we currently scan I2C devices behind an I2C host controller does not work in cases where the I2C device in question is not declared directly below the host controller ACPI node. This is perfectly legal according the ACPI 6.0 specification and some existing systems are doing this. To be able to enumerate all devices which are connected to a certain I2C host controller we need to rework the current I2C scanning routine a bit. Instead of scanning directly below the host controller we scan the whole ACPI namespace for present devices with valid I2cSerialBus() connection pointing to the host controller in question. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Tested-by: Dustin Byford <dustin@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 97aff2c03a1e4d343266adadb52313613efb027f Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 10:25:58 2015 +0100 ASoC: wm8904: Correct number of EQ registers There are 24 EQ registers not 25, I suspect this bug came about because the registers start at EQ1 not zero. The bug is relatively harmless as the extra register written is an unused one. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit f4aaa1c8a5c0e0a3fc565360df83965f3918c874 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 20 12:11:41 2015 +0300 spi: dw: remove a NULL check when call ->remove() Currently all users aware about calling dw_spi_remove_host() with properly set parameter. Remove unneeded check. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02f20387e1bca550639c37b1945f20cd32ddfcce Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 20 12:11:40 2015 +0300 spi: dw: explicitly free IRQ handler in dw_spi_remove_host() The following warning occurs when DW SPI is compiled as a module and it's a PCI device. On the removal stage pcibios_free_irq() is called earlier than free_irq() due to the latter is called at managed resources free strage. ------------[ cut here ]------------ WARNING: CPU: 1 PID: 1003 at /home/andy/prj/linux/fs/proc/generic.c:575 remove_proc_entry+0x118/0x150() remove_proc_entry: removing non-empty directory 'irq/38', leaking at least 'dw_spi1' Modules linked in: spi_dw_midpci(-) spi_dw [last unloaded: dw_dmac_core] CPU: 1 PID: 1003 Comm: modprobe Not tainted 4.3.0-rc5-next-20151013+ #32 00000000 00000000 f5535d70 c12dc220 f5535db0 f5535da0 c104e912 c198a6bc f5535dcc 000003eb c198a638 0000023f c11b4098 c11b4098 f54f1ec8 f54f1ea0 f642ba20 f5535db8 c104e96e 00000009 f5535db0 c198a6bc f5535dcc f5535df0 Call Trace: [<c12dc220>] dump_stack+0x41/0x61 [<c104e912>] warn_slowpath_common+0x82/0xb0 [<c11b4098>] ? remove_proc_entry+0x118/0x150 [<c11b4098>] ? remove_proc_entry+0x118/0x150 [<c104e96e>] warn_slowpath_fmt+0x2e/0x30 [<c11b4098>] remove_proc_entry+0x118/0x150 [<c109b96a>] unregister_irq_proc+0xaa/0xc0 [<c109575e>] free_desc+0x1e/0x60 [<c10957d2>] irq_free_descs+0x32/0x70 [<c109b1a0>] irq_domain_free_irqs+0x120/0x150 [<c1039e8c>] mp_unmap_irq+0x5c/0x60 [<c16277b0>] intel_mid_pci_irq_disable+0x20/0x40 [<c1627c7f>] pcibios_free_irq+0xf/0x20 [<c13189f2>] pci_device_remove+0x52/0xb0 [<c13f6367>] __device_release_driver+0x77/0x100 [<c13f6da7>] driver_detach+0x87/0x90 [<c13f5eaa>] bus_remove_driver+0x4a/0xc0 [<c128bf0d>] ? selinux_capable+0xd/0x10 [<c13f7483>] driver_unregister+0x23/0x60 [<c10bad8a>] ? find_module_all+0x5a/0x80 [<c1317413>] pci_unregister_driver+0x13/0x60 [<f80ac654>] dw_spi_driver_exit+0xd/0xf [spi_dw_midpci] [<c10bce9a>] SyS_delete_module+0x17a/0x210 Explicitly call free_irq() at removal stage of the DW SPI driver. Fixes: 04f421e7b0b1 (spi: dw: use managed resources) Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a204f41e2d670c07c4dbd382d5bd8f6db8347ac2 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Oct 20 14:37:27 2015 +0200 regulator: core: Factor out regulator_map_voltage _regulator_call_set_voltage has code to translate a minimum/maximum voltage pair into a selector. This code is useful for others aswell, so create a regulator_map_voltage function. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d289619a219dd01e255d7b5e30f9171b25efea48 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 20 16:23:55 2015 +0200 ALSA: hda - Fix deadlock at error in building PCM The HDA codec driver issues snd_hda_codec_reset() at the error path of PCM build. This was needed in the earlier code base, but the recent rewrite to use the standard bus binding made this a deadlock: modprobe D 0000000000000005 0 720 716 0x00000080 Call Trace: [<ffffffff816a5dbe>] schedule+0x3e/0x90 [<ffffffff816a61a5>] schedule_preempt_disabled+0x15/0x20 [<ffffffff816a7ae5>] __mutex_lock_slowpath+0xb5/0x120 [<ffffffff816a7b6b>] mutex_lock+0x1b/0x30 [<ffffffff8148656b>] device_release_driver+0x1b/0x30 [<ffffffff81485c15>] bus_remove_device+0x105/0x180 [<ffffffff814822b9>] device_del+0x139/0x260 [<ffffffffa05e0ec5>] snd_hdac_device_unregister+0x25/0x30 [snd_hda_core] [<ffffffffa074fa6a>] snd_hda_codec_reset+0x2a/0x70 [snd_hda_codec] [<ffffffffa075007b>] snd_hda_codec_build_pcms+0x18b/0x1b0 [snd_hda_codec] [<ffffffffa074a44e>] hda_codec_driver_probe+0xbe/0x140 [snd_hda_codec] [<ffffffff81486ac4>] driver_probe_device+0x1f4/0x460 [<ffffffff81486dc0>] __driver_attach+0x90/0xa0 [<ffffffff81484844>] bus_for_each_dev+0x64/0xa0 [<ffffffff814862de>] driver_attach+0x1e/0x20 [<ffffffff81485e7b>] bus_add_driver+0x1eb/0x280 [<ffffffff81487680>] driver_register+0x60/0xe0 [<ffffffffa074a0da>] __hda_codec_driver_register+0x5a/0x60 [snd_hda_codec] [<ffffffffa070a01e>] realtek_driver_init+0x1e/0x1000 [snd_hda_codec_realtek] [<ffffffff810002f3>] do_one_initcall+0xb3/0x200 [<ffffffff816a1fc5>] do_init_module+0x60/0x1f8 [<ffffffff810ee5c3>] load_module+0x1653/0x1bd0 [<ffffffff810eed48>] SYSC_finit_module+0x98/0xc0 [<ffffffff810eed8e>] SyS_finit_module+0xe/0x10 [<ffffffff816aa032>] entry_SYSCALL_64_fastpath+0x16/0x75 The simple fix is just to remove this call, since we don't need to think about unbinding at there any longer. Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=948758 Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 271817a3e92c0455bda5856d87eca244ad67d3a2 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Mon Oct 19 17:23:28 2015 -0400 crypto: asymmetric_keys - Fix unaligned access in x509_get_sig_params() x509_get_sig_params() has the same code pattern as the one in pkcs7_verify() that is fixed by commit 62f57d05e287 ("crypto: pkcs7 - Fix unaligned access in pkcs7_verify()") so apply a similar fix here: make sure that desc is pointing at an algined value past the digest_size, and take alignment values into consideration when doing kzalloc() Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 381ceef785aa3957cd78f13b9311a09a8ea8ed45 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Oct 19 12:19:45 2015 +0100 crypto: akcipher - Don't #include crypto/public_key.h as the contents aren't used Don't #include crypto/public_key.h in akcipher as the contents of the header aren't used and changes in a future patch cause it to fail to compile if CONFIG_KEYS=n. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 642c117b927fae34cb85ac7ff278f5fc5bb93a47 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Oct 19 13:37:42 2015 +0900 hwrng: exynos - Add Device Tree support Add Device Tree support for the driver. The Pseudo Random Number Generator module is the same in almost all of Exynos SoCs, since Exynos4210 (however the tests were done only on Trats2 board with Exynos4412). There are some differences on newer Exynos Octa (Exynos542x) SoCs. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bd1dffb1424682ac5b5849e0998c26dffcd61d9e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Oct 19 13:37:41 2015 +0900 hwrng: exynos - Fix missing configuration after suspend to RAM After suspend to RAM the device stopped to work with ETIMEDOUT error: $ dd if=/dev/hwrng of=/dev/null bs=1 count=16 dd: reading `/dev/hwrng': Connection timed out In the STATUS register the bits #5 (PRNG_DONE) and #1 (SEED_SETTING_DONE) were not set. Instead PRNG_ERROR (seventh bit) was high. After each system suspend initialize the seed to fix the error. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d7fd6075a205f19cd0c570c8b5badb8c69321d88 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Oct 19 13:37:40 2015 +0900 hwrng: exynos - Add timeout for waiting on init done Driver may hang waiting indefinitely for PRNG to finish its initialization stage. Instead of stalling return -ETIMEDOUT error. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2b748a2f642a95c8125bfd8981d430a4e4d73e15 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Oct 19 13:37:39 2015 +0900 dt-bindings: rng: Describe Exynos4 PRNG bindings Document the bindings used by exynos-rng Pseudo Random Number Generator driver. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6de59d453ae567c1b637ef9469c37fd8367cd1b4 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:26 2015 +0100 crypto: marvell/cesa - use __le32 for hardware descriptors Much of the driver uses cpu_to_le32() to convert values for descriptors to little endian before writing. Use __le32 to define the hardware- accessed parts of the descriptors, and ensure most places where it's reasonable to do so use cpu_to_le32() when assigning to these. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ea1f662bde067563328ec3083884aaffb3d902d8 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:20 2015 +0100 crypto: marvell/cesa - fix missing cpu_to_le32() in mv_cesa_dma_add_op() When tdma->src is freed in mv_cesa_dma_cleanup(), we convert the DMA address from a little-endian value prior to calling dma_pool_free(). However, mv_cesa_dma_add_op() assigns tdma->src without first converting the DMA address to little endian. Fix this. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0f3304dc18b1316bc6d32921f2a7837938f90c30 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:15 2015 +0100 crypto: marvell/cesa - use memcpy_fromio()/memcpy_toio() Use the IO memcpy() functions when copying from/to MMIO memory. These locations were found via sparse. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 35622eae188761f30df916a6cae4fa8c942a6366 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:10 2015 +0100 crypto: marvell/cesa - use gfp_t for gfp flags Use gfp_t not u32 for the GFP flags. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5d754137ab905aaaf69acf81c9c6c7005bcfe6e4 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:05 2015 +0100 crypto: marvell/cesa - use dma_addr_t for cur_dma cur_dma is part of the software state, not read by the hardware. Storing it in LE32 format is wrong, use dma_addr_t for this. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b150856152cc442050ed3041e912ff0258c50f87 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:00 2015 +0100 crypto: marvell/cesa - use readl_relaxed()/writel_relaxed() Use relaxed IO accessors where appropriate. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 660c40bd9837854b3d3cc75e6ddb41cc8ac32a1d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 25 11:29:01 2015 +0200 pinctrl: sh-pfc: Remove obsolete r8a7778 platform_device_id entry Since the removal of the r8a7778 legacy SoC code in commit 4baadb9e05c68962 ("ARM: shmobile: r8a7778: remove obsolete setup code"), r8a7778 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: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5eb6fc210ea2f988731f54eda0497d0518b89347 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 25 11:27:19 2015 +0200 pinctrl: sh-pfc: Remove obsolete r8a7779 platform_device_id entry Since the removal of the r8a7779 legacy SoC code in commit c99cd90d98a98aa1 ("ARM: shmobile: r8a7779: Remove legacy SoC code"), r8a7779 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: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 659f313dcfb9eaf4de7d415fe9fd1856252444f5 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:51:31 2015 +0100 crypto: caam - fix indentation of close braces The kernel's coding style suggests that closing braces for initialisers should not be aligned to the open brace column. The CodingStyle doc shows how this should be done. Remove the additional tab. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5ec908319ab53072d3a2188e62ed2e5d7b846951 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:51:25 2015 +0100 crypto: caam - only export the state we really need to export Avoid exporting lots of state by only exporting what we really require, which is the buffer containing the set of pending bytes to be hashed, number of pending bytes, the context buffer, and the function pointer state. This reduces down the exported state size to 216 bytes from 576 bytes. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c7556ff7e3e4f2747583bcc787f12ec9460ec3a6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:51:20 2015 +0100 crypto: caam - fix non-block aligned hash calculation caam does not properly calculate the size of the retained state when non-block aligned hashes are requested - it uses the wrong buffer sizes, which results in errors such as: caam_jr 2102000.jr1: 40000501: DECO: desc idx 5: SGT Length Error. The descriptor is trying to read more data than is contained in the SGT table. We end up here with: in_len 0x46 blocksize 0x40 last_bufsize 0x0 next_bufsize 0x6 to_hash 0x40 ctx_len 0x28 nbytes 0x20 which results in a job descriptor of: jobdesc@889: ed03d918: b0861c08 3daa0080 f1400000 3d03d938 jobdesc@889: ed03d928: 00000068 f8400000 3cde2a40 00000028 where the word at 0xed03d928 is the expected data size (0x68), and a scatterlist containing: sg@892: ed03d938: 00000000 3cde2a40 00000028 00000000 sg@892: ed03d948: 00000000 3d03d100 00000006 00000000 sg@892: ed03d958: 00000000 7e8aa700 40000020 00000000 0x68 comes from 0x28 (the context size) plus the "in_len" rounded down to a block size (0x40). in_len comes from 0x26 bytes of unhashed data from the previous operation, plus the 0x20 bytes from the latest operation. The fixed version would create: sg@892: ed03d938: 00000000 3cde2a40 00000028 00000000 sg@892: ed03d948: 00000000 3d03d100 00000026 00000000 sg@892: ed03d958: 00000000 7e8aa700 40000020 00000000 which replaces the 0x06 length with the correct 0x26 bytes of previously unhashed data. This fixes a previous commit which erroneously "fixed" this due to a DMA-API bug report; that commit indicates that the bug was caused via a test_ahash_pnum() function in the tcrypt module. No such function has ever existed in the mainline kernel. Given that the change in this commit has been tested with DMA API debug enabled and shows no issue, I can only conclude that test_ahash_pnum() was triggering that bad behaviour by CAAM. Fixes: 7d5196aba3c8 ("crypto: caam - Correct DMA unmap size in ahash_update_ctx()") Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 434b421241f2d0faa7fea75f6320de00c5e3430e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:51:15 2015 +0100 crypto: caam - avoid needlessly saving and restoring caam_hash_ctx When exporting and importing the hash state, we will only export and import into hashes which share the same struct crypto_ahash pointer. (See hash_accept->af_alg_accept->hash_accept_parent.) This means that saving the caam_hash_ctx structure on export, and restoring it on import is a waste of resources. So, remove this code. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6ea30f0acfd1c269520c561b45762c0de590007f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:51:10 2015 +0100 crypto: caam - print errno code when hash registration fails Print the errno code when hash registration fails, so we know why the failure occurred. This aids debugging. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8c07f3a8c487df241f5e809e8f6d5dd7c9d75b54 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:57 2015 +0100 crypto: marvell/cesa - fix memory leak To: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>,Arnaud Ebalard <arno@xxxxxxxxxxxx>,Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>,Jason Cooper <jason@xxxxxxxxxxxxxx> The local chain variable is not cleaned up if an error occurs in the middle of DMA chain creation. Fix that by dropping the local chain variable and using the dreq->chain field which will be cleaned up by mv_cesa_dma_cleanup() in case of errors. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8efbc2c0f6b4e52e384ecb1714511f0194c4d56a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:52 2015 +0100 crypto: marvell/cesa - fix first-fragment handling in mv_cesa_ahash_dma_last_req() When adding the software padding, this must be done using the first/mid fragment mode, and any subsequent operation needs to be a mid-fragment. Fix this. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ab270e7055e0aa9d4dc3bf419cdfdde340174978 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:47 2015 +0100 crypto: marvell/cesa - rearrange handling for sw padded hashes Rearrange the last request handling for hashes which require software padding. We prepare the padding to be appended, and then append as much of the padding to any existing data that's already queued up, adding an operation block and launching the operation. Any remainder is then appended as a separate operation. This ensures that the hardware only ever sees multiples of the hash block size to be operated on for software padded hashes, thus ensuring that the engine always indicates that it has finished the calculation. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit aee84a7e6ed515f0f217317ff261a15db4bff0bb Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:42 2015 +0100 crypto: marvell/cesa - rearrange handling for hw finished hashes Rearrange the last request handling for hardware finished hashes by moving the generation of the fragment operation into this path. This results in a simplified sequence to handle this case, and allows us to move the software padded case further down into the function. Add comments describing these parts. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 58953e15ef015ba9136b7234a7098cf827428999 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:37 2015 +0100 crypto: marvell/cesa - rearrange last request handling Move the test for the last request out of mv_cesa_ahash_dma_last_req() to its caller, and move the mv_cesa_dma_add_frag() down into this function. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e41bbebddec44f7c06585f42686b2a529513fc6a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:32 2015 +0100 crypto: marvell/cesa - avoid adding final operation within loop Avoid adding the final operation within the loop, but instead add it outside. We combine this with the handling for the no-data case. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bd274b10856b91f702fa767114aa7e6ac45b933d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:26 2015 +0100 crypto: marvell/cesa - ensure iter.base.op_len is the full op length When we process the last request of data, and the request contains user data, the loop in mv_cesa_ahash_dma_req_init() marks the first data size as being iter.base.op_len which does not include the size of the cache data. This means we end up hashing an insufficient amount of data. Fix this by always including the cache size in the first operation length of any request. This has the effect that for a request containing no user data, iter.base.op_len === iter.src.op_offset === creq->cache_ptr As a result, we include one further change to use iter.base.op_len in the cache-but-no-user-data case to make the next change clearer. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d9bba4c3ebbc65b9113624eb1690bed776fb6106 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:21 2015 +0100 crypto: marvell/cesa - use presence of scatterlist to determine data load Use the presence of the scatterlist to determine whether we should load any new user data to the engine. The following shall always be true at this point: iter.base.op_len == 0 === iter.src.sg In doing so, we can: 1. eliminate the test for iter.base.op_len inside the loop, which makes the loop operation more obvious and understandable. 2. move the operation generation for the cache-only case. This prepares the code for the next step in its transformation, and also uncovers a bug that will be fixed in the next patch. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0971d09a8566abd6640acdbe3fd304e67e257bd3 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:16 2015 +0100 crypto: marvell/cesa - move mv_cesa_dma_add_frag() calls Move the calls to mv_cesa_dma_add_frag() into the parent function, mv_cesa_ahash_dma_req_init(). This is in preparation to changing when we generate the operation blocks, as we need to avoid generating a block for a partial hash block at the end of the user data. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2f396a91d1d01a423fd87b7c6ff71600d06b9c05 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:11 2015 +0100 crypto: marvell/cesa - always ensure mid-fragments after first-fragment If we add a template first-fragment operation, always update the template to be a mid-fragment. This ensures that mid-fragments always follow on from a first fragment in every case. This means we can move the first to mid-fragment update code out of mv_cesa_ahash_dma_add_data(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9621288673cb2a1805eadf29b92e5bcec6a0e2e5 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:06 2015 +0100 crypto: marvell/cesa - factor out adding an operation and launching it Add a helper to add the fragment operation block followed by the DMA entry to launch the operation. Although at the moment this pattern only strictly appears at one site, two other sites can be factored as well by slightly changing the order in which the DMA operations are performed. This should be harmless as the only thing which matters is to have all the data loaded into SRAM prior to launching the operation. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8651791e5403a0e0634b76dee91b102dc4f40385 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:01 2015 +0100 crypto: marvell/cesa - factor out first fragment decisions to helper Multiple locations in the driver test the operation context fragment type, checking whether it is a first fragment or not. Introduce a mv_cesa_mac_op_is_first_frag() helper, which returns true if the fragment operation is for a first fragment. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c439e4eec73373c6d5b7129ece69d67978ada307 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:56 2015 +0100 crypto: marvell/cesa - const-ify argument to mv_cesa_get_op_cfg() mv_cesa_get_op_cfg() does not write to its argument, it only reads. So, let's make it const. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d30cb2fa34829161cfa1f847049b3fcfcfeebc93 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:51 2015 +0100 crypto: marvell/cesa - ensure template operation is initialised Ensure that the template operation is fully initialised, otherwise we end up loading data from the kernel stack into the engines, which can upset the hash results. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 51954a968bbedcabf2b42fec2ec51386f0dee0c4 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:46 2015 +0100 crypto: marvell/cesa - fix the bit length endianness The endianness of the bit length used in the final stage depends on the endianness of the algorithm - md5 hashes need it to be in little endian format, whereas SHA hashes need it in big endian format. Use the previously added algorithm endianness flag to control this. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a9eb678f8addc1bfb80bacc45f6df1108fd1c0d9 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:40 2015 +0100 crypto: marvell/cesa - add flag to determine algorithm endianness Rather than determining whether we're using a MD5 hash by looking at the digest size, switch to a cleaner solution using a per-request flag initialised by the method type. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4c2b130c8ae79af734e5e57f3662e25ef4d20e8d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:35 2015 +0100 crypto: marvell/cesa - keep creq->state in CPU endian format at all times Currently, we read/write the state in CPU endian, but on the final request, we convert its endian according to the requested algorithm. (md5 is little endian, SHA are big endian.) Always keep creq->state in CPU native endian format, and perform the necessary conversion when copying the hash to the result. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 80754539ec936b0afe8a3c406b7d67612977cc71 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:30 2015 +0100 crypto: marvell/cesa - easier way to get the transform There's an easier way to get at the hash transform - rather than using crypto_ahash_tfm(ahash), we can get it directly from req->base.tfm. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 524e56c31a6fe21e6f6f543360359e7a97dfabfb Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:37:41 2015 +0800 crypto: ahash - Add crypto_ahash_blocksize This patch adds the missing helper crypto_ahash_blocksize which returns the block size of an ahash algorithm. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 63349d02c195030f97c9c2000bbf32539056316f Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Oct 18 12:45:18 2015 +0200 lib/mpi: fix off by one in mpi_read_raw_from_sgl The patch fixes the analysis of the input data which contains an off by one. The issue is visible when the SGL contains one byte per SG entry. The code for checking for zero bytes does not operate on the data byte. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4a4b0bad0653a0dce876987f7487b2c5e3ecb05f Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Oct 16 11:40:56 2015 -0700 crypto: qat - fix crypto_get_instance_node function qat_crypto_get_instance_node function needs to handle situation when the first dev in the list is not started. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f02b7d0c7b433b9a8175ac9027391272877a43ce Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Fri Oct 16 17:01:51 2015 +0100 hwrng: exynos - Fix unbalanced PM runtime get/puts Currently this driver calls pm_runtime_get_sync() rampantly but never puts anything back. This makes it impossible for the device to autosuspend properly; it will remain fully active after the first use. Fix in the obvious way. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 839a42af9441982311f33241529f711f23c857c8 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Oct 15 20:34:53 2015 +0200 lib/mpi: clean unused SHA1_DIGEST_LENGTH The define SHA1_DIGEST_LENGTH is not used anywhere, so remove it. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 69af775a18ff1d07f527b2f6caec171af5e1397e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 25 10:55:44 2015 +0200 pinctrl: sh-pfc: Stop including <linux/platform_data/gpio-rcar.h> This header file will be removed soon. Copy the helper macro RCAR_GP_PIN(), which is used by the pinctrl drivers only, to sh_pfc.h, and drop the #include. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f15f30449ab252fdc9405f99d46edacc225328cf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 25 10:51:02 2015 +0200 usb: renesas_usbhs: Remove unneeded #include <linux/platform_data/gpio-rcar.h> This header file will be removed soon. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> commit b8b47d678a5f0b5826044242780a988f8af50b22 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Sep 21 16:27:23 2015 +0200 pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] The sh_pfc_soc_info.gpio_data[] array contains not only GPIO data, but also various other pinmux-related data (functions and marks). Every single driver already calls its local array pinmux_data[]. Hence rename the sh_pfc_soc_info member to "pinmux_data". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit ae7465a0972aee889d79d94dbd1e65d3fab07414 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Oct 5 16:55:54 2015 +0200 pinctrl: sh-pfc: r8a7778: Add bias (pull-up) pinconf support On this SoC there is no simple mapping of GP pins to pull-up register bits, so we need a table. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 22768fc60abbf58b04601b27796268f0363ab185 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Oct 5 16:55:53 2015 +0200 pinctrl: sh-pfc: Add macros defining GP ports with config flags PORT_GP_CFG_1 and PORT_GP_CFG_32 work like their non-CFG counterparts but accept an extra argument with config flags. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 0f7711aa300355d46e2a532d9c5cd13ca67d1b02 Author: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Date: Sat Oct 3 02:21:49 2015 +0300 pinctrl: sh-pfc: r8a7794: Add VIN pin groups Add VIN0/1 pin groups to R8A7794 PFC driver. Sergei: rebased, renamed, added changelog, gathered 12 VIN1 data pins into a single pin group, added "vin1_data10" pin group, used 'union vin_data' and VIN_DATA_PIN_GROUP() macro to describe VIN1 pins, reversed the order of the VIN1 pin groups, removed unneeded empty lines, fixed VIN1 separator comment. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 423caa52534ff15a63a8f86f8ecb99cfa8e9cbca Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 3 02:21:15 2015 +0300 pinctrl: sh-pfc: r8a779[01]: Move 'union vin_data' to shared header file R8A7790/1 PFC drivers use almost identical 'union vin_data' and completely identical VIN_DATA_PIN_GROUP() macro; we thus can move them into the shared header file... Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 3fc89adb9fa4beff31374a4bf50b3d099d88ae83 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 18:23:57 2015 +0800 crypto: api - Only abort operations on fatal signal Currently a number of Crypto API operations may fail when a signal occurs. This causes nasty problems as the caller of those operations are often not in a good position to restart the operation. In fact there is currently no need for those operations to be interrupted by user signals at all. All we need is for them to be killable. This patch replaces the relevant calls of signal_pending with fatal_signal_pending, and wait_for_completion_interruptible with wait_for_completion_killable, respectively. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 56a3f30e029396948989b96716f27b87e3510e0f Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Tue Oct 20 14:59:20 2015 +0100 arm64: Make 36-bit VA depend on EXPERT Commit 215399392fe4 (arm64: 36 bit VA) introduced 36-bit VA support for the arm64 kernel when the 16KB page configuration is enabled. While this is a valid hardware configuration, it's not something we want to encourage since it reduces the memory (and I/O) range that the kernel can access. Make this depend on EXPERT to avoid complaints of Linux not mapping the whole RAM, especially on platforms following the ARM recommended memory map. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit e1d040cfcf76c1c1b5d71fc08ab577a0cf72fefd Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Oct 15 16:51:56 2015 +0800 perf build: Add fixdep to .gitignore Commit 7c422f5572667fef0db38d2046ecce69dcf0afc8 ("tools build: Build fixdep helper from perf and basic libs") dynamically creates fixdep during the perf building. Add it to .gitignore. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: 7c422f557266 ("tools build: Build fixdep helper from perf and basic libs") Link: http://lkml.kernel.org/r/1444899116-8220-1-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 26440c835f8b1a491e2704118ac55bf87334366c Merge: 371f1c7 1099f86 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 20 06:08:27 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/usb/asix_common.c net/ipv4/inet_connection_sock.c net/switchdev/switchdev.c In the inet_connection_sock.c case the request socket hashing scheme is completely different in net-next. The other two conflicts were overlapping changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fb43cecf5164fd99d0fd9fdd87f40e5148ecd91 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Oct 20 14:42:30 2015 +0200 ARM: tegra: Update multi_v7_defconfig Enable some options that have recently been enabled on Tegra platforms: * TOUCHSCREEN_WM97XX: touchscreen support on Toradex Colibri * SND_SOC_TEGRA_WM9712: audio support on Toradex Colibri Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 88d909bedf4df7285d6e8d8730425df0d163512e Author: Rhyland Klein <rklein@xxxxxxxxxx> Date: Thu Jun 18 17:28:17 2015 -0400 clk: tegra: Modify tegra_audio_clk_init to accept more plls tegra_audio_clk_init was written expecting a single PLL to be passed in directly. Change this to accept an array which will allow for supporting multiple plls and specifying specific data about them, like their parent, which may change over time. Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Rhyland Klein <rklein@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit db592c4e2b6010069efc983ba3a35f0850844132 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jun 18 17:28:16 2015 -0400 clk: tegra: Update struct tegra_clk_pll_params kerneldoc Benson Leung pointed out that the kerneldoc for this structure has become stale. Update the field descriptions to match the structure content. Reported-by: Benson Leung <bleung@xxxxxxxxxxxx> Acked-by: Rhyland Klein <rklein@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Rhyland Klein <rklein@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit fdc1feadc0ac19b056482023c82ba624ff704495 Author: Rhyland Klein <rklein@xxxxxxxxxx> Date: Mon Apr 13 12:38:17 2015 -0400 clk: tegra: Fix comments for structure definitions Some fields moved from the tegra_clk_pll struct to the tegra_pll_params struct. Update the struct comments to reflect where the fields really are. Signed-off-by: Rhyland Klein <rklein@xxxxxxxxxx> Acked-By: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4182b8d454331c5ca85b57c0a7357073d96b170f Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 12:40:09 2015 +0200 clk: tegra: dfll: Monitor code is DEBUG_FS only The monitor code is used with DEBUG_FS only, so move it into the corresponding #ifdef block to avoid potential compiler warnings. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 481b4f1a3f64c529333186a9e94eab41b271e3d8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 10:00:05 2015 +0200 ARM: tegra: Use consistent indentation for SATA node The indentation for properties in the SATA device tree node on Tegra124 deviates from the rest of the device tree file. Restore consistency and get rid of a couple of gratuitous blank lines while at it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3bc2159faf897bab51e4f1144b525d21823832a6 Merge: b2c280b cb0f253 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Oct 20 12:37:45 2015 +0200 Merge branch 'clockevents/4.4' of http://git.linaro.org/people/daniel.lezcano/linux into timers/core clockevent updates from Daniel Lezcano: - Remove unneeded memset in em_sti, sh_cmt and h8300 because there are already zeroed by a kzalloc (Alexey Klimov) - Optimize code by replacing this_cpu_ptr by container_of on the exynos_mct (Alexey Klimov) - Get immune from a spurious interrupt when enabling the mtk_timer (Daniel Lezcano) - Use the dynamic irq affinity to optimize wakeup and useless IPI timer on the imx timer (Lucas Stach) - Add new timer for Tango SoCs (Marc Gonzalez) - Implement the timer delay for armada-370-xp (Russell King) - Use GPT as clock source (Yingjoe Chen) commit b2c280bdd6ea31be66c9b6a666e71daa49beef75 Merge: c8d75aa 090e2ed Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Oct 20 12:30:53 2015 +0200 Merge branch 'fortglx/4.4/time' of https://git.linaro.org/people/john.stultz/linux into timers/core Time updates from John Stultz: - More 2038 work from Arnd Bergmann around ntp and pps commit 7fc7e86d096f13cf88391b09a3a387172450ad79 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Tue Oct 20 10:23:15 2015 +0100 drm/armada: Convert the probe function to the generic drm_of_component_probe() The armada DRM driver keeps some old platform data compatibility in the probe function that makes moving to the generic drm_of_component_probe() a bit more complicated that it should. Refactor the probe function to do the platform_data processing after the generic probe (and only if that fails). This way future cleanup can further remove support for it. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445332995-11212-5-git-send-email-Liviu.Dudau@xxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 52f5eb60940de889ce98a876f6933b574ead3225 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Tue Oct 20 10:23:14 2015 +0100 drm/rockchip: Convert the probe function to the generic drm_of_component_probe() Use the generic drm_of_component_probe() function to probe for components. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445332995-11212-4-git-send-email-Liviu.Dudau@xxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9cace32f7e9fb3d506bab2bfda2cafd11e0b5825 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Tue Oct 20 10:23:13 2015 +0100 drm/imx: Convert the probe function to the generic drm_of_component_probe() The generic function is functionally equivalent to the driver's imx_drm_platform_probe(). Use the generic function and reduce the overall code size. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445332995-11212-3-git-send-email-Liviu.Dudau@xxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit df785aa87f3a43d6784f1d59803646ad69447da8 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Tue Oct 20 10:23:12 2015 +0100 drm: Introduce generic probe function for component based masters. A lot of component based DRM drivers use a variant of the same code as the probe function. They bind the crtc ports in the first iteration and then scan through the child nodes and bind the encoders attached to the remote endpoints. Factor the common code into a separate function called drm_of_component_probe() in order to increase code reuse. Cc: David Airlie <airlied@xxxxxxxx> Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445332995-11212-2-git-send-email-Liviu.Dudau@xxxxxxx Acked-by: Eric Anholt <eric@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9afd808cf3c45810492f2e05b7c422c99edc88cc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 8 11:43:33 2015 +0300 drm/edid: Round to closest when computing the CEA/HDMI alternate clock Rounding to the closest kHz seems like the better option that round down or up when computing the alternate clock for CEA/HDMI modes. It'll give us a slightly more accurate clock in some cases. Not sure why I went for the down+up approach originally. Perhaps I was thinking we can go back and forth betwen the two frequencies without introducing errors, but round to closest still maintains that property. Cc: Adam Jackson <ajax@xxxxxxxxxx> Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Cc: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Adam Jackson <ajax@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fa3a7340eaa174a36c12c31747dc6eccd08530b5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 8 11:43:32 2015 +0300 drm/edid: Fix up clock for CEA/HDMI modes specified via detailed timings EDID detailed timings have a resolution of 10kHz for the pixel clock, so they can't represent certain CEA/HDMI modes accurately. If we see a mode coming in via detailed timings which otherwise matches one of the CEA/HDMI modes except the clock is just a bit off, let's assume that the intention was for that mode to be one of the CEA/HDMI modes and go ahead and fix up the clock to match the CEA/HDMI spec exactly (well, as close as we can get with the 1 kHz resolution we use). This should help code that's looking for an exact clock match (eg. i915 audio N/CTS setup). Cc: Adam Jackson <ajax@xxxxxxxxxx> Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Cc: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Adam Jackson <ajax@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f7d27c35ddff7c100d7a98db499ac0040149ac05 Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Mon Oct 19 11:37:18 2015 +0300 x86/mm, kasan: Silence KASAN warnings in get_wchan() get_wchan() is racy by design, it may access volatile stack of running task, thus it may access redzone in a stack frame and cause KASAN to warn about this. Use READ_ONCE_NOCHECK() to silence these warnings. Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Kostya Serebryany <kcc@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Wolfram Gloger <wmglo@xxxxxxxxxxxxxxxxxxxxxxxx> Cc: kasan-dev <kasan-dev@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445243838-17763-3-git-send-email-aryabinin@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d976441f44bc5d48635d081d277aa76556ffbf8b Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Mon Oct 19 11:37:17 2015 +0300 compiler, atomics, kasan: Provide READ_ONCE_NOCHECK() Some code may perform racy by design memory reads. This could be harmless, yet such code may produce KASAN warnings. To hide such accesses from KASAN this patch introduces READ_ONCE_NOCHECK() macro. KASAN will not check the memory accessed by READ_ONCE_NOCHECK(). The KernelThreadSanitizer (KTSAN) is going to ignore it as well. This patch creates __read_once_size_nocheck() a clone of __read_once_size(). The only difference between them is 'no_sanitized_address' attribute appended to '*_nocheck' function. This attribute tells the compiler that instrumentation of memory accesses should not be applied to that function. We declare it as static '__maybe_unsed' because GCC is not capable to inline such function: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368 With KASAN=n READ_ONCE_NOCHECK() is just a clone of READ_ONCE(). Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Kostya Serebryany <kcc@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Wolfram Gloger <wmglo@xxxxxxxxxxxxxxxxxxxxxxxx> Cc: kasan-dev <kasan-dev@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445243838-17763-2-git-send-email-aryabinin@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 43e41adc9e8c36545888d78fed2ef8d102a938dc Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Oct 13 09:09:11 2015 +0200 perf record: Add ability to sample call branches This patch add a new branch type sampling filter to perf record. It is named 'call' and maps to PERF_SAMPLE_BRANCH_CALL. It samples direct call branches only, unlike 'any_call' which includes indirect calls as well. $ perf record -j call -e cycles ..... The man page is updated accordingly. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: khandual@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444720151-10275-5-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 24f1a79a5fc10858e05ee0bf651ec99abfc0319b Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Oct 13 09:09:10 2015 +0200 perf/powerpc: Add support for PERF_SAMPLE_BRANCH_CALL The patch catches PERF_SAMPLE_BRANCH_CALL because it is not clear whether this is actually supported by the hardware. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: khandual@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444720151-10275-4-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d892819faa6860d469aae71d70c336b391c25505 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Oct 13 09:09:09 2015 +0200 perf/x86: Add support for PERF_SAMPLE_BRANCH_CALL This patch enables the suport for the PERF_SAMPLE_BRANCH_CALL for Intel x86 processors. When the processor support LBR filtering this the selection is done in hardware. Otherwise, the filter is applied by software. Note that we chose to include zero length calls because they also represent calls. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: khandual@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444720151-10275-3-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c229bf9dc179d2023e185c0f705bdf68484c1e73 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Oct 13 09:09:08 2015 +0200 perf: Add PERF_SAMPLE_BRANCH_CALL Add a new branch sample type to cover only call branches (function calls). The current ANY_CALL included direct, indirect calls and far jumps. We want to be able to differentiate indirect from direct calls. Therefore we introduce PERF_SAMPLE_BRANCH_CALL. The implementation is up to each architecture. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: khandual@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444720151-10275-2-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b9511cd761faafca7a1acc059e792c1399f9d7c6 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Oct 16 16:24:05 2015 +0300 perf/x86: Fix time_shift in perf_event_mmap_page Commit: b20112edeadf ("perf/x86: Improve accuracy of perf/sched clock") allowed the time_shift value in perf_event_mmap_page to be as much as 32. Unfortunately the documented algorithms for using time_shift have it shifting an integer, whereas to work correctly with the value 32, the type must be u64. In the case of perf tools, Intel PT decodes correctly but the timestamps that are output (for example by perf script) have lost 32-bits of granularity so they look like they are not changing at all. Fix by limiting the shift to 31 and adjusting the multiplier accordingly. Also update the documentation of perf_event_mmap_page so that new code based on it will be more future-proof. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Fixes: b20112edeadf ("perf/x86: Improve accuracy of perf/sched clock") Link: http://lkml.kernel.org/r/1445001845-13688-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e73e85f0593832aa583b252f9a16cf90ed6d30fa Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sat Oct 10 20:53:15 2015 +0200 sched: Don't scan all-offline ->cpus_allowed twice if !CONFIG_CPUSETS If CONFIG_CPUSETS=n then "case cpuset" changes the state and runs the already failed for_each_cpu() loop again for no reason. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151010185315.GA24100@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 62694cd51322262a9142e946915fc4783113ccff Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Oct 9 18:36:29 2015 +0200 sched: Move cpu_active() tests from stop_two_cpus() into migrate_swap_stop() The cpu_active() tests are not fundamentally part of stop_two_cpus(), move then into the scheduler where they belong. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 07f06cb3b5f6bd21374a48dbefdb431d71d53974 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Oct 9 18:00:54 2015 +0200 sched: Start stopper early Ensure the stopper thread is active 'early', because the load balancer pretty much assumes that its available. And when 'online && active' the load-balancer is fully available. Not only the numa balancing stop_two_cpus() caller relies on it, but also the self migration stuff does, and at CPU_ONLINE time the cpu really is 'free' to run anything. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151009160054.GA10176@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f0cf16cbd0659d2dd21352da9f06f3fab7a51596 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Oct 9 18:00:51 2015 +0200 stop_machine: Kill cpu_stop_threads->setup() and cpu_stop_unpark() Now that we always use stop_machine_unpark() to wake the stopper threas up, we can kill ->setup() and fold cpu_stop_unpark() into stop_machine_unpark(). And we do not need stopper->lock to set stopper->enabled = true. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151009160051.GA10169@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c00166d87e730088d919814020e96ffed129d0d1 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Oct 9 18:00:49 2015 +0200 stop_machine: Kill smp_hotplug_thread->pre_unpark, introduce stop_machine_unpark() 1. Change smpboot_unpark_thread() to check ->selfparking, just like smpboot_park_thread() does. 2. Introduce stop_machine_unpark() which sets ->enabled and calls kthread_unpark(). 3. Change smpboot_thread_call() and cpu_stop_init() to call stop_machine_unpark() by hand. This way: - IMO the ->selfparking logic becomes more consistent. - We can kill the smp_hotplug_thread->pre_unpark() method. - We can easily unpark the stopper thread earlier. Say, we can move stop_machine_unpark() from smpboot_thread_call() to sched_cpu_active() as Peter suggests. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151009160049.GA10166@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d8bc853582bfd81a9c08ca6922aeb01570080ccc Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 8 19:01:41 2015 +0200 stop_machine: Change cpu_stop_queue_two_works() to rely on stopper->enabled Change cpu_stop_queue_two_works() to ensure that both CPU's have stopper->enabled == T or fail otherwise. This way stop_two_cpus() no longer needs to check cpu_active() to avoid the deadlock. This patch doesn't remove these checks, we will do this later. Note: we need to take both stopper->lock's at the same time, but this will also help to remove lglock from stop_machine.c, so I hope this is fine. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151008170141.GA25537@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5caa1c089aebcb83ccd5b79a3b88b0aa58288d05 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 8 16:51:34 2015 +0200 stop_machine: Introduce __cpu_stop_queue_work() and cpu_stop_queue_two_works() Preparation to simplify the review of the next change. Add two simple helpers, __cpu_stop_queue_work() and cpu_stop_queue_two_works() which simply take a bit of code from their callers. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151008145134.GA18146@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 233e7f267e580fefdeb36628b7efe8bfe056d27c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 8 16:51:31 2015 +0200 stop_machine: Ensure that a queued callback will be called before cpu_stop_park() cpu_stop_queue_work() checks stopper->enabled before it queues the work, but ->enabled == T can only guarantee cpu_stop_signal_done() if we race with cpu_down(). This is not enough for stop_two_cpus() or stop_machine(), they will deadlock if multi_cpu_stop() won't be called by one of the target CPU's. stop_machine/stop_cpus are fine, they rely on stop_cpus_mutex. But stop_two_cpus() has to check cpu_active() to avoid the same race with hotplug, and this check is very unobvious and probably not even correct if we race with cpu_up(). Change cpu_down() pass to clear ->enabled before cpu_stopper_thread() flushes the pending ->works and returns with KTHREAD_SHOULD_PARK set. Note also that smpboot_thread_call() calls cpu_stop_unpark() which sets enabled == T at CPU_ONLINE stage, so this CPU can't go away until cpu_stopper_thread() is called at least once. This all means that if cpu_stop_queue_work() succeeds, we know that work->fn() will be called. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151008145131.GA18139@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c80a1daa7eb6470b84868ed135a26f414b02bf2e Merge: 9a30ae2 b6e84c9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 20 10:19:40 2015 +0200 Merge branch 'topic/hda-modalias' into for-next commit b6e84c99b121fcba34166842987be96956148bb8 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Mon Oct 19 16:58:46 2015 +0530 ALSA: hdac: Add macro for hda ext devices entry With the new modalias infrastructure support added for hda, create a macro for ext devices similar to legacy to add the device entry. 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 6af597de62a365dfec6021b9796aa302044e7cc3 Merge: 558a65b 5aa5050 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 20 10:18:16 2015 +0200 Merge branch 'sched/urgent' into sched/core, to pick up fixes and resolve conflicts Conflicts: kernel/sched/fair.c Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 677b2ff4afd9996eabefc9472c701211b4b49e87 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 2 14:26:05 2015 -0700 gpio: add a real time compliance checklist Add some information about real time compliance to the driver document. Inspired by Grygorii Strashko's real time compliance patches. Cc: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6e490b0106a2118ee4c37c37847454a5c2dc6e32 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Oct 7 15:10:38 2015 +0100 ARM, locking/atomics: Implement _relaxed variants of atomic[64]_{inc,dec} Now that the core code supports acquire/release/relaxed versions of the atomic_inc family, implement only the _relaxed flavours in the ARM backend so that we get all of the others for free. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Davidlohr Bueso <dbueso@xxxxxxx> 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> Link: http://lkml.kernel.org/r/1444227038-12533-1-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a1a2ab2ff7040bdc9a31bfe7173913971f7d723b Merge: 00eb4ba 7379047 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 20 10:16:46 2015 +0200 Merge tag 'v4.3-rc6' into locking/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 975c947e75f09ca4910053b626be2376e3313cf2 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 17 12:00:05 2015 +0200 ALSA: hda - Advertise MODALIAS in uevent By setting the MODALIAS variable in uevents, userspace helpers will be enabled to load modules via the module alias associated with a device. This information is required to automatically load HDA codec drivers instead of having to explicitly request the various modules in the HDA core code. [Note that currently the legacy HDA controller driver tries to bind codec modules manually. It's for supporting the fallback generic drivers. This new udev modalias support was added rather for ASoC HDA ext drivers, since this addition itself won't hurt the legacy HDA -- tiwai] [Use the common helper function to generate the modalias -- tiwai] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b9a94a9c787d053e8d3bb7e7dff9648e723a4533 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 1 16:20:04 2015 +0200 ALSA: hda - convert to hda_device_id Finally we have a proper infrastructure to generate the modaliases automatically, let's move to hda_device_id from the legacy hda_codec_preset that contains basically the same information. The patch function hook is stored in driver_data field, which is long, and we need an explicit cast. Other than that, the conversion is mostly straightforward. Each entry is even simplified using a macro, and the lengthy (and error-prone) manual modaliases got removed. As a result, we achieved a quite good diet: 14 files changed, 407 insertions(+), 595 deletions(-) Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 78abb2afaf3d7635e9b1770c50e50b59820c4e5d Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Sep 29 13:56:47 2015 +0530 ALSA: hda - Add hdaudio bus modalias support This patch just adds modalias sysfs entry to each hdaudio bus entry. [rewritten to call the common helper function by tiwai] Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4f9e0c38c5e991e2d050d13e28be74b93ab704c0 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Oct 16 11:35:49 2015 +0200 ALSA: hda - Add a common helper to give the codec modalias string This patch provide a new common helper function, snd_hdac_codec_modalias(), to give the codec modalias name string. This function will be used by multiple places in the later patches. Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit da23ac1e40ce844d1a9553906bdacce160af76f6 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Sep 29 13:56:10 2015 +0530 ALSA: hda - Add hduadio support to DEVTABLE For generating modalias entries automatically, move the definition of struct hda_device_id to linux/mod_devicetable.h and add the handling of this record in file2alias helper. The new modalias is represented with combination of vendor id, device id, and api version as "hdaudio:vNrNaN". This patch itself doesn't convert the existing modaliases. Since they were added manually, this patch won't give any regression by itself at this point. [Modified the modalias format to adapt the api_version field, and drop invalid ANY_ID definition by tiwai] Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 93ed8560e98afc486df94f5a6238c1f0894b38b8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 15 21:35:53 2015 +0200 ALSA: hda - Add api_version to hda_device_id struct For distinguishing the difference between HDA legacy and ext codec driver entries, we need to expose the value corresponding to type field. This patch adds a new field, api_version, to hda_device_id struct, so that this information is embedded in modalias string. Although the information is basically redundant (struct hdac_device already has type field), the helper that extracts from MODULE_DEVICE_TABLE() won't take it account except for the exported table entries themselves. So we need to put the same information in the table, too. Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5aa5050787f449e7eaef2c5ec93c7b357aa7dcdc Author: Luca Abeni <luca.abeni@xxxxxxxx> Date: Fri Oct 16 10:06:21 2015 +0200 sched/deadline: Fix migration of SCHED_DEADLINE tasks Commit: 9d5142624256 ("sched/deadline: Reduce rq lock contention by eliminating locking of non-feasible target") broke select_task_rq_dl() and find_lock_later_rq(), because it introduced a comparison between the local task's deadline and dl.earliest_dl.curr of the remote queue. However, if the remote runqueue does not contain any SCHED_DEADLINE task its earliest_dl.curr is 0 (always smaller than the deadline of the local task) and the remote runqueue is not selected for pushing. As a result, if an application creates multiple SCHED_DEADLINE threads, they will never be pushed to runqueues that do not already contain SCHED_DEADLINE tasks. This patch fixes the issue by checking if dl.dl_nr_running == 0. Signed-off-by: Luca Abeni <luca.abeni@xxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Fixes: 9d5142624256 ("sched/deadline: Reduce rq lock contention by eliminating locking of non-feasible target") Link: http://lkml.kernel.org/r/1444982781-15608-1-git-send-email-luca.abeni@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0baabb385eb4bce699ddab0db015112be6cf1e6a Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Mon Oct 12 17:21:23 2015 +0200 nohz: Revert "nohz: Set isolcpus when nohz_full is set" This reverts: 8cb9764fc88b ("nohz: Set isolcpus when nohz_full is set") We assumed that full-nohz users always want scheduler isolation on full dynticks CPUs, therefore we included full-nohz CPUs on cpu_isolated_map. This means that tasks run by default on CPUs outside the nohz_full range unless their affinity is explicity overwritten. This suits pure isolation workloads but when the machine is needed to run common workloads, the available sets of CPUs to run common tasks becomes reduced. We reach an extreme case when CONFIG_NO_HZ_FULL_ALL is enabled as it leaves only CPU 0 for non-isolation tasks, which makes people think that their supercomputer regressed to 90's UP - which is true in a sense. Some full-nohz users appear to be interested in running normal workloads either before or after an isolation workload. Full-nohz isn't optimized toward normal workloads but it's still better than UP performance. We are reaching a limitation in kernel presets here. Lets revert this cpu_isolated_map inclusion and let userspace do its own scheduler isolation using cpusets or explicit affinity settings. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Reported-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul E . McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1444663283-30068-1-git-send-email-fweisbec@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3e386d56bafbb6d2540b49367444997fc671ea69 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Tue Oct 13 09:18:23 2015 +0800 sched/fair: Update task group's load_avg after task migration When cfs_rq has cfs_rq->removed_load_avg set (when a task migrates from this cfs_rq), we need to update its contribution to the group's load_avg. This should not increase tg's update too much, because in most cases, the cfs_rq has already decayed its load_avg. Tested-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-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> Link: http://lkml.kernel.org/r/1444699103-20272-2-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fde7d22e01aa0d252fc5c95fa11f0dac35a4dd59 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Tue Oct 13 09:18:22 2015 +0800 sched/fair: Fix overly small weight for interactive group entities Commit: 9d89c257dfb9 ("sched/fair: Rewrite runnable load and utilization average tracking") led to an overly small weight for interactive group entities. The bad case can be easily reproduced when a number of CPU hogs compete for the CPUs at the same time (thanks to Mike). This is largly because the task group's load average tracking cross CPUs lags behind the real changes. To fix this we accelerate the group share distribution process by using the load.weight of the cfs_rq. This may increase the entire group's share, but we have to do so to protect the (fragile) interactive tasks, especially from CPU hogs. Reported-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Tested-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Tested-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-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> Link: http://lkml.kernel.org/r/1444699103-20272-1-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0fd5eba575da7f036fa7092b2b4c13e1416ef4aa Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Thu Oct 15 11:27:40 2015 -0500 ARM: DRA7/AM335x/AM437x: hwmod: Remove elm address space from hwmod data ELM address information is provided by device tree. No longer need to include this information within hwmod. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> [paul@xxxxxxxxx: fixed chip names in subject line; dropped the OMAP4 section since the OMAP4 SoC DTS file doesn't have the ELM address space documented yet] Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 40d4f23f42b0e6997db5bbfba9dc6bf349e8ad81 Merge: e9363de a4c6a3e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 20 09:31:22 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: User visible changes: - 'perf bench mem' now prefaults unconditionally, no sense in providing modes where page faults are measured. (Ingo Molnar) - Harmonize -l/--nr_loops accross 'perf bench'. (Ingo Molnar) - Various 'perf bench' consistency improvements. (Ingo Molnar) - Suppress libtraceevent warnings in non-verbose 'perf test' mode. (Namhyung Kim) - Move some tracepoint event test error messages to the verbose mode of 'perf test'. (Namhyung Kim) - Make 'perf help' usage message consistent with other tools. (Yunlong Song) Build fixes: - Fix 'perf bench' build with gcc 4.4.7. (Arnaldo Carvalho de Melo) Infrastructure changes: - 'perf stat' prep work for the 'perf stat scripting' patchkit. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 10b294b3dcb83d8a4efed1386ea20e851d16db41 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Oct 20 01:29:40 2015 -0600 ARM: OMAP: Remove duplicated operand in OR operation Commit b483a4a5a711 ("ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module") added the SYSC_HAS_RESET_STATUS flag to both OMAP4 and OMAP5 USB host module hwmon sysconfig but that flag was already set for OMAP5. So now the flag appears twice in the expression. make coccicheck complains with the following message: omap_hwmod_54xx_data.c:1846:37-58: duplicated argument to & or | Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 21ed5574d1622118b49b0c6342acc8d27d0799be Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Oct 19 22:37:40 2015 -0400 tools/power turbostat: simplify Bzy_MHz calculation Bzy_MHz = TSC_delta*tsc_tweak/APERF_delta/MPERF_delta/measurement_interval becomes Bzy_MHz = base_mhz/APERF_delta/MPERF_delta on systems which support MSR_NHM_PLATFORM_INFO. base_mhz is calculated directly from the base_ratio reported in MSR_NHM_PLATFORM_INFO * bclk, and bclk is discovered via MSR or cpuid. This reduces the dependency of Bzy_MHz calculation on the TSC. Previously, there were 4 TSC readings required in each caculation, the raw TSC delta combined with the measurement_interval. This also removes the "tsc_tweak" correction factor used when TSC runs on a different base clock from the CPU's bclk. After this change, tsc_tweak is used only for %Busy. The end-result should be a Bzy_MHz result slightly less prone to jitter. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit fbf98265891a672111dac8faabd190f62b678545 Merge: d72c391 72e1eed Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Tue Oct 20 12:34:04 2015 +1100 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into next commit 64862dbc98ca0f57022802e8e286c596d8c183e9 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 21:09:30 2015 +0300 mtd: lpc32xx_mlc: fix warnings caused by enabling unprepared clock If common clock framework is configured, the driver generates a warning, which is fixed by this change: WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:727 clk_core_enable+0x2c/0xa4() Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-rc2+ #206 Hardware name: LPC32XX SoC (Flattened Device Tree) Backtrace: [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c) [<>] (show_stack) from [<>] (dump_stack+0x20/0x28) [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8) [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c) [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xa4) [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38) [<>] (clk_enable) from [<>] (lpc32xx_nand_probe+0x208/0x248) [<>] (lpc32xx_nand_probe) from [<>] (platform_drv_probe+0x50/0xa0) [<>] (platform_drv_probe) from [<>] (driver_probe_device+0x18c/0x408) [<>] (driver_probe_device) from [<>] (__driver_attach+0x70/0x94) [<>] (__driver_attach) from [<>] (bus_for_each_dev+0x74/0x98) [<>] (bus_for_each_dev) from [<>] (driver_attach+0x20/0x28) [<>] (driver_attach) from [<>] (bus_add_driver+0x11c/0x248) [<>] (bus_add_driver) from [<>] (driver_register+0xa4/0xe8) [<>] (driver_register) from [<>] (__platform_driver_register+0x50/0x64) [<>] (__platform_driver_register) from [<>] (lpc32xx_nand_driver_init+0x18/0x20) [<>] (lpc32xx_nand_driver_init) from [<>] (do_one_initcall+0x11c/0x1dc) [<>] (do_one_initcall) from [<>] (kernel_init_freeable+0x10c/0x1d4) [<>] (kernel_init_freeable) from [<>] (kernel_init+0x10/0xec) [<>] (kernel_init) from [<>] (ret_from_fork+0x14/0x24) Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 44cab9c9300f274d17a76ebe9c9628365bca0b3e Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 21:09:29 2015 +0300 mtd: lpc32xx_slc: fix warnings caused by enabling unprepared clock If common clock framework is configured, the driver generates a warning, which is fixed by this change: WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:727 clk_core_enable+0x2c/0xa4() Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-rc2+ #201 Hardware name: LPC32XX SoC (Flattened Device Tree) Backtrace: [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c) [<>] (show_stack) from [<>] (dump_stack+0x20/0x28) [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8) [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c) [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xa4) [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38) [<>] (clk_enable) from [<>] (lpc32xx_nand_probe+0x290/0x568) [<>] (lpc32xx_nand_probe) from [<>] (platform_drv_probe+0x50/0xa0) [<>] (platform_drv_probe) from [<>] (driver_probe_device+0x18c/0x408) [<>] (driver_probe_device) from [<>] (__driver_attach+0x70/0x94) [<>] (__driver_attach) from [<>] (bus_for_each_dev+0x74/0x98) [<>] (bus_for_each_dev) from [<>] (driver_attach+0x20/0x28) [<>] (driver_attach) from [<>] (bus_add_driver+0x11c/0x248) [<>] (bus_add_driver) from [<>] (driver_register+0xa4/0xe8) [<>] (driver_register) from [<>] (__platform_driver_register+0x50/0x64) [<>] (__platform_driver_register) from [<>] (lpc32xx_nand_driver_init+0x18/0x20) [<>] (lpc32xx_nand_driver_init) from [<>] (do_one_initcall+0x11c/0x1dc) [<>] (do_one_initcall) from [<>] (kernel_init_freeable+0x10c/0x1d4) [<>] (kernel_init_freeable) from [<>] (kernel_init+0x10/0xec) [<>] (kernel_init) from [<>] (ret_from_fork+0x14/0x24) Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ff84d2b76312681c1b751b1cc1ec6c476937f101 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 19 12:22:57 2015 -0700 mtd: maps: rbtx4939-flash: fix compile error We got the syntax wrong here. Compile tested this time! Error: drivers/mtd/maps/rbtx4939-flash.c: In function 'rbtx4939_flash_probe': >> drivers/mtd/maps/rbtx4939-flash.c:99:11: error: request for member 'dev' in something not a structure or union info->mtd.dev.parent = &dev->dev; ^ Fixes: 9aa7e50276c1 ("mtd: maps: rbtx4939-flash: show parent device in sysfs") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Frans Klaver <fransklaver@xxxxxxxxx> commit 137d36af4a53858b8db7ca83c8480247118b8bdf Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:56:48 2015 +0200 mtd: mtd-user: remove stdint.h include Kernel headers should use linux/types.h instead. Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ab84fce518175aa09ec6e1bb50c2b41dad3e610a Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Wed Sep 30 09:01:19 2015 +0800 mtd: mtdram: check offs and len in mtdram->erase We should prevent user to erasing mtd device with an unaligned offset or length. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit affa0e033b04996700434312c76df3c78f683870 Merge: 2dd3a88 a0fb6ad Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 20 09:01:49 2015 +1000 Merge tag 'topic/drm-misc-2015-10-19' of git://anongit.freedesktop.org/drm-intel into drm-next More drm-misc for 4.4. - fb refcount fix in atomic fbdev - various locking reworks to reduce drm_global_mutex and dev->struct_mutex - rename docbook to gpu.tmpl and include vga_switcheroo stuff, plus more vga_switcheroo (Lukas Wunner) - viewport check fixes for atomic drivers from Ville - DRM_DEBUG_VBL from Ville - non-contentious header fixes from Mikko Rapeli - small things all over * tag 'topic/drm-misc-2015-10-19' of git://anongit.freedesktop.org/drm-intel: (31 commits) drm/fb-helper: Fix fb refcounting in pan_display_atomic drm/fb-helper: Set plane rotation directly drm: fix mutex leak in drm_dp_get_mst_branch_device drm: Check plane src coordinates correctly during page flip for atomic drivers drm: Check crtc viewport correctly with rotated primary plane on atomic drivers drm: Refactor plane src coordinate checks drm: Swap w/h when converting the mode to src coordidates for a rotated primary plane drm: Don't leak fb when plane crtc coodinates are bad ALSA: hda - Spell vga_switcheroo consistently drm/gem: Use kref_get_unless_zero for the weak mmap references drm/vgem: Drop vgem_drm_gem_mmap drm: Fix return value of drm_framebuffer_init() drm/gem: Use container_of in drm_gem_object_free drm/gem: Check locking in drm_gem_object_unreference drm/gem: Drop struct_mutex requirement from drm_gem_mmap_obj drm/i810_drm.h: include drm/drm.h r128_drm.h: include drm/drm.h savage_drm.h: include <drm/drm.h> gpu/doc: Convert to markdown harder gpu/doc: Add vga_switcheroo documentation ... commit 2dd3a88ac8c0ef7737335babfbacf79be68cfbea Merge: 86b6871 80bea18 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 20 09:00:01 2015 +1000 Merge tag 'drm-intel-next-2015-10-10' of git://anongit.freedesktop.org/drm-intel into drm-next - dmc fixes from Animesh (not yet all) for deeper sleep states - piles of prep patches from Ville to make mmio functions type-safe - more fbc work from Paulo all over - w/a shuffling from Arun Siluvery - first part of atomic watermark updates from Matt and Ville (later parts had to be dropped again unfortunately) - lots of patches to prepare bxt dsi support ( Shashank Sharma) - userptr fixes from Chris - audio rate interface between i915/snd_hda plus kerneldoc (Libin Yang) - shrinker improvements and fixes (Chris Wilson) - lots and lots of small patches all over * tag 'drm-intel-next-2015-10-10' of git://anongit.freedesktop.org/drm-intel: (134 commits) drm/i915: Update DRIVER_DATE to 20151010 drm/i915: Partial revert of atomic watermark series drm/i915: Early exit from semaphore_waits_for for execlist mode. drm/i915: Remove wrong warning from i915_gem_context_clean drm/i915: Determine the stolen memory base address on gen2 drm/i915: fix FBC buffer size checks drm/i915: fix CFB size calculation drm/i915: remove pre-atomic check from SKL update_primary_plane drm/i915: don't allocate fbcon from stolen memory if it's too big Revert "drm/i915: Call encoder hotplug for init and resume cases" Revert "drm/i915: Add hot_plug hook for hdmi encoder" drm/i915: use error path drm/i915/irq: Fix misspelled word register in kernel-doc drm/i915/irq: Fix kernel-doc warnings drm/i915: Hook up ring workaround writes at context creation time on Gen6-7. drm/i915: Don't warn if the workaround list is empty. drm/i915: Resurrect golden context on gen6/7 drm/i915/chv: remove pre-production hardware workarounds drm/i915/snb: remove pre-production hardware workaround drm/i915/bxt: Set time interval unit to 0.833us ... commit 86b6871641db10095cfe7d26eac29c3ad5223a8c Merge: 3187567 a32a3c8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 20 08:58:45 2015 +1000 Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next some rcar fixes. * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev: drm: rcar-du: Fix plane state free in plane reset handler drm: rcar-du: Enable DU0 to DPAD connection on R8A7791 drm: rcar-du: Add dependency on OF drm: rcar-du: Remove obsolete rcar-du-r8a779x platform_device_id entries commit a1f192cf70b187ab01b8b03cdeea82b8820c927a Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Sep 28 14:17:00 2015 -0400 i40e/i40evf: Bump i40e to 1.3.38 and i40evf to 1.3.25 Bump. Change-ID: Id0a7ecaa491f88ce94c9eba4901e592a56044ee0 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 a32a3c800ca3ae822dfdd29f5b7ef81fbf970612 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:42:54 2015 +0300 drm: rcar-du: Fix plane state free in plane reset handler The plane reset handler frees the plane state and allocates a new default state, but when doing so attempt to free the plane state using the base plane state pointer instead of casting it to the driver-specific state object that has been allocated. Fix it by using the rcar_du_plane_atomic_destroy_state() function to destroy the plane state instead of duplicating the code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> commit 6f66a484f1ff644b4600368fe3091e31b65d3c50 Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Sat Sep 19 05:08:45 2015 -0600 i40e: declare rather than initialize int object 'err' would be overwritten immediately, so we should declare it only rather than initialize it to zero. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2bc11c634eaebb936345b136a196f555045a47ea Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Sat Sep 19 05:08:43 2015 -0600 i40e: fix kernel-doc argument name The second argument name in the kernel-doc argument list for i40e_features_check() was slightly off. Fix it for the kernel doc. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 52e9689e4ef070eff1e0f9e6e84a8451b86813b5 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Sep 28 14:16:59 2015 -0400 i40e: Move error message to debug level There is an error coming back from get_phy_capabilities that does not seem to have any functional implications. We will continue looking into why this error message is occurring, but in the meantime, we will move it to debug to avoid confusion. Change-ID: I9091754bf62c066ddedeb249923d85606e2d68ed 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 3ce12ee9d8f9ae245f38e6acbd32625d8e002c5b Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Sep 28 14:16:58 2015 -0400 i40e: Fix order of checks when enabling/disabling autoneg in ethtool We were previously checking if autoneg was allowed to change before checking if autoneg was changing. We need to do this in the other order or else we will erroneously return EINVAL when autoneg is not changing. Change-ID: Iff9f7d1c9bddc1ad1e5d227d4f42754f90155410 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 a03dc368547a7a4e9fcedc6f64dd64a9ff5e0593 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Mon Sep 28 14:16:57 2015 -0400 i40e/i40evf: Fix an accidental error with BIT_ULL replacement A mask value of 0x1FF was accidentally replaced with a bit mask causing flow director sideband to be broken. Change-ID: Id3387f67dd1b567b41692b570b383c58671e1eae 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 8589af70d0879a68c93ef77505a6234d22b1b1a7 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Sep 28 14:16:56 2015 -0400 i40e: fix for PHY NVM interaction problem This patch fixes a problem where the NVMUpdate Tool, when using the PHY NVM feature, gets bad data from the PHY because of contention on the MDIO interface from get PHY capability calls from the driver during regular operations. The problem is fixed by adding a check if media is available before calling get PHY capability function because that bit is not set when device is in PHY interaction mode. Change-ID: Ib89991b0f841808dd92410f5e8683d6ee3301cd0 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bcab2db97d2423b97b248ba35eb2277168e71fcc Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Sep 28 14:16:55 2015 -0400 i40e: Fix for Tools loopback test failing after driver load This patch fixes a problem where our Tools MAC Loopback test, after driver unbind would fail. This was because the hw was configured for multiqueue and unbind operation did not clear this configuration. The problem is fixed by resetting this configuration in i40e_remove. Change-ID: I130c05138319182ed1476d3a0b5222d6a6320af9 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ee2319cf17ee64bbd0096f2f8f3f8390c93b1e39 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Sep 28 14:16:54 2015 -0400 i40e/i40evf: adjust interrupt throttle less frequently The adaptive ITR (interrupt throttle rate) algorithm was adjusting the hardware's interrupt rate too frequently. This caused a lot of variation in the interrupt rate for fairly constant workloads. Change the code to have a counter and adjust only once every N number of interrupts. Change-ID: I0460f1f86571037484eca5aca36ac4d889cb8389 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 c56625d59726ee2dc4dfd91c8b6c22098abe1ac4 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Sep 28 14:16:53 2015 -0400 i40e/i40evf: change dynamic interrupt thresholds The dynamic algorithm, while now working, doesn't have good performance in 40G mode. One part of this patch addresses the high CPU utilization of some small streaming workloads that the driver should reduce CPU in. It also changes the minimum ITR that the dynamic algorithm will settle on, causing our minimum latency to go from 12us to about 14us, when using adaptive mode. It also changes the BULK interrupt rate to allow maximum throughput on a 40Gb connection with a single thread of transmit, clamping interrupt rate to 8000 for TX makes single thread traffic go too slow. The new ULTRA bulk setting is introduced and is used when the Rx packet rate on this queue exceeds 40000 packets per second. This value of 40000 was chosen because the automatic tuning of minimum ITR=20us means that a single queue can't quite achieve that many packets per second from a round-robin test. Change-ID: Icce8faa128688ca5fd2c4229bdd9726877a92ea2 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 51cc6d9fccde27310b7dfba2be268ff5b8dcf52d Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Sep 28 14:16:52 2015 -0400 i40e/i40evf: fix bug in throttle rate math The driver was using a value expressed in 2us increments for the divisor to figure out our bytes/usec values. Fix the usecs variable to contain a value in microseconds. Change-ID: I5c20493103c295d6f201947bb908add7040b7c41 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 8f5e39ce9214888464d34ef7949e56bdc999b46c Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Sep 28 14:16:51 2015 -0400 i40e/i40evf: refactor IRQ enable function This change moves a multi-line register setting into a function which simplifies reading the flow of the enable function. This also fixes a bug where the enable function was enabling the interrupt twice while trying to update the two interrupt throttle rate thresholds for Rx and Tx. Change-ID: Ie308f9d0d48540204590cb9d7a5a7b1196f959bb 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 b9029e941dd66d2bc2ab529807a1eef4444f62f0 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Sep 28 14:16:50 2015 -0400 i40evf: don't give up When the VF driver is unable to communicate with the PF, it just gives up and never tries again. Aside from the obvious character flaw that this shows, it's also a lousy user experience. When PF communications fail, wait five seconds, and try again. And again. Don't give up, little VF driver! Your prince will come! Change-ID: Ia1378a39879883563b8faffce819f375821f9585 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 f4f0fb7949a9e55f4f3429381b8b92372038b6cd Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Apr 28 15:26:33 2015 +0300 drm: rcar-du: Enable DU0 to DPAD connection on R8A7791 The DPAD RGB output can be driven by both DU0 and DU1 on R8A7791. Mark the DU0 connection as possible. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f3bda362b5fcab97509001dc51e64a99e30e6fb7 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Jul 16 11:42:37 2015 +0300 drm: rcar-du: Add dependency on OF The driver requires OF support, add a dependency in Kconfig and remove the platform_device_id table that isn't used anymore. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit d519432c8529efe65174cb683b3fb2f31faecffa Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 14:58:52 2015 +0200 drm: rcar-du: Remove obsolete rcar-du-r8a779x 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> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 5d3465a1e4c01be455ef00834ec365e578942d67 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Tue Sep 29 15:19:50 2015 -0700 i40e/i40evf: use napi_schedule_irqoff() The i40e_intr and i40e/i40evf_msix_clean_rings functions run from hard interrupt context or with interrupts already disabled in netpoll. They can use napi_schedule_irqoff() instead of napi_schedule() Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b30c64508b4131ceacc4b8fd9f01a78e1b1794bf Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 23:31:12 2015 +0800 clk: keystone: fix a trivial typo s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 07f89be81fa51ec85456559d7db9bc71379a20c1 Author: Anjali Singhai <anjali.singhai@xxxxxxxxx> Date: Thu Sep 24 15:26:32 2015 -0700 i40e: Fix basic support for X722 devices Acquire NVM, before issuing an AQ read nvm command for X722. We need to acquire the NVM before issuing an AQ read to the NVM otherwise we will get EBUSY from the FW. Also release when done. This fixes the two X722 issues with respect to eeprom checksum verify and reading NVM version info. With this patch in place, i40e driver will provide basic support for X722 devices. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d08f55585f22c38db5fcbed509a71d925e0509c1 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Wed Sep 16 19:01:08 2015 -0700 i40evf: fix overlong BIT defines The defines from the RSS enabling call were mistakenly missed in the patches to the i40e which should have been to i40evf as well. This is a follow up to (commit ed921559886dd40528) "fix 32 bit build warnings". 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 216590355cb0e79fa36c7220176ce850f0e3d276 Author: Kiran Patil <kiran.patil@xxxxxxxxx> Date: Wed Sep 30 14:09:03 2015 -0400 i40e: Lock for VSI's MAC filter list This patch introduces a spinlock which is to be used for synchronizing access to VSI's MAC filter list. This patch also synchronizes execution of other codepaths which are accessing VSI's MAC filter list with execution of service_task:sync_vsi_filters. In function i40e_add_vsi, copied out LAA MAC address instead of cloning MAC filter entry because only MAC address is needed to remove MAC VLAN filter from FW/HW. Change-ID: I0e10ac7c715d44aa994239642aa4d57c998573a2 Signed-off-by: Kiran Patil <kiran.patil@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 a4c6a3e8bbb675a601f529881c51ff226f83c3f1 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 19 18:17:25 2015 -0300 perf bench: Use named initializers in the trailer too To avoid this splat with gcc 4.4.7: cc1: warnings being treated as errors bench/mem-functions.c:273: error: missing initializer bench/mem-functions.c:273: error: (near initialization for â??memcpy_functions[4].descâ??) bench/mem-functions.c:366: error: missing initializer bench/mem-functions.c:366: error: (near initialization for â??memset_functions[4].descâ??) Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0s8o6tgw1pdwvdv02llb9tkd@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d2b5a315ae84d235f00761468885c466f81d7805 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Oct 16 12:41:25 2015 +0200 perf script: Check output fields only for samples There's no need to check sampling output fields for events without perf_event_attr::sample_type field set. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444992092-17897-51-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1fe7a30028eeccd92e6fccfbeb8c5c3811b11b64 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Oct 16 12:41:15 2015 +0200 perf cpu_map: Add data arg to cpu_map__build_map callback Adding data arg to cpu_map__build_map callback, so we could pass data along to the callback. It'll be needed in following patches to retrieve topology info from perf.data. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444992092-17897-41-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f1cbb8f35719e36803f226d1bbf08ac12cedcd76 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Oct 16 12:41:14 2015 +0200 perf cpu_map: Make cpu_map__build_map global We'll need to call it from perf stat in the stat_script patchkit Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444992092-17897-40-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 208df99ed07ca5e86ee41617e0384930fc9ca819 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Oct 16 12:41:04 2015 +0200 perf stat: Add AGGR_UNSET mode Adding AGGR_UNSET mode, so we could distinguish unset aggr_mode in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444992092-17897-30-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 581cc8a2a2a00afc864840720186b0f6a38079d9 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Oct 16 12:41:03 2015 +0200 perf stat: Rename perf_stat struct into perf_stat_evsel It's used as the perf_evsel::priv data, so the name suits better. Also we'll need the perf_stat name free for more generic struct. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444992092-17897-29-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5fcf8d1a0e84792b2bc44922c5d833dab96a9c1e Author: Patrick Doyle <pdoyle@xxxxxxxxxx> Date: Fri Oct 16 12:39:05 2015 +0200 ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned fncpy() requires that the source and the destination are both 8-byte aligned. Signed-off-by: Patrick Doyle <pdoyle@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Fixes: d94e688cae56 ("ARM: at91/pm: move the copying the sram function to the sram initialization phase") Cc: <stable@xxxxxxxxxxxxxxx> # 4.1+ commit cb0f2538039c65f2bb64a9d427dbe9dd7d0f71a6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Oct 19 16:19:20 2015 +0100 clocksource/drivers/armada-370-xp: Implement ARM delay timer Implement an ARM delay timer to be used for udelay() on Armada 37x platforms. This allows us to skip the delay loop calibration at boot, saving 180ms on the boot time of the kernel (which is around 10%). It also means that udelay() will be unaffected by CPU frequency changes when cpufreq is enabled on these platforms. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 677c884ff6370add1360e2b9558285355ebe2b36 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Oct 19 15:54:21 2015 -0400 drm/amdgpu: add missing dpm check for KV dpm late init Skip dpm late init if dpm is disabled. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 27100735adbcb872854674bed1d000825f9954ac Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Oct 19 15:49:11 2015 -0400 drm/amdgpu/dpm: don't add pwm attributes if DPM is disabled PWM fan control is only available with DPM. There is no non-DPM support on amdgpu, so we should never get a crash here because the sysfs nodes would never be created in the first place. Add the check just in case to be on the safe side. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4af8540f0082812e2e092f2d31dbb4d114eee968 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:51 2015 +0200 ARM: multi_v7_defconfig: Add Atmel SDHCI device The AT91 SDHCI device has been introduced with Atmel SAMA5D2 SoC. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit deb8d801ee0f21fa7da79fb830f17c3181898d2b Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:50 2015 +0200 ARM: multi_v7_defconfig: Add Atmel Flexcom device The Flexcom device has been introduced with Atmel SAMA5D2 SoC. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 08a61cbfd225a39a37f39cc94e9085b9f22c04fb Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:49 2015 +0200 ARM: multi_v7_defconfig: Add Atmel SAMA5D2 SoC Add Atmel SAMA5D2 SoC family to multi_v7 image. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a40629a0348b6942338d4f086ad8da14cee466c4 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:48 2015 +0200 ARM: at91/defconfig: add sama5d2 and its new devices to sama5 defconfig Add SAMA5D2 SoC plus Atmel flexcom and Atmel sdhci devices. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 23bf637d545338084580d51217446198fa07c7f4 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:47 2015 +0200 ARM: at91/defconfig: update at91_dt defconfig Trivial savedefconfig update. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 86dcfca525bb842f2caf855788cc754bbee8e351 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:46 2015 +0200 ARM: at91/defconfig: update sama5 defconfig Trivial savedefconfig update. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3a134ae96ca0af06804d343019b85026486e6fe1 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Oct 15 15:39:51 2015 +0800 perf help: Change 'usage' to 'Usage' for consistency Capitalize 'usage' to make it consistent with all the other 'Usage' in the codes, e.g., usage_builtin. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ramkumar Ramachandra <artagnon@xxxxxxxxx> Cc: Sriram Raghunathan <sriram.r@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1444894792-2338-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2a7d44f47f53fa1be677f44c73d78b1bcf9c05d9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Oct 19 09:30:42 2015 -0400 drm/radeon/dpm: don't add pwm attributes if DPM is disabled PWM fan control is only available with DPM. If DPM disabled, don't expose the PWM fan controls to avoid a crash. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92524 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 355b27e181f667dad248a40d3d4d48150e9a593c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Oct 18 10:06:11 2015 +0800 ASoC: ad193x-spi: Add adau1328 to ad193x_spi_id table This driver also supports adau1328, thus add adau1328 to ad193x_spi_id. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9899995e98a4bc670a07e28ff91e3d0dbe08bea9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:25 2015 +0300 spi: dw-mmio: convert to unified device property API Convert the driver to use unfied device property API instead of OF one. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1c2df965387f9a5a657a644bab5a1b5b535365b2 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:24 2015 +0300 spi: dw-pci: remove unused pdev member from struct dw_spi_pci The pdev member is not used anywhere, thus remove it. Moreover struct dw_spi_pci becomes an equivalent of struct dw_spi and therefore remove entire struct dw_spi_pci. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1cc3f141f0cb5a822cdef30fb1d92ae6f4176bfa Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:23 2015 +0300 spi: dw: introduce spi_shutdown_chip() This helper disables SPI controller and sets clock to 0. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d53c0ef319eb5ceb5a089ff3050a2e6808c9adb9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:22 2015 +0300 spi: dw: eliminate unused threshold variables The tx_threshold and rx_threshold variables are not used anywhere. Remove them. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit de6feda884b0079f5f232a41d94da23d198ff230 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:21 2015 +0300 spi: dw: eliminate speed variable in ->transfer_one() There is no point to have a separate variable for speed in ->transfer_one(). While here, remove !chip->clk_div from a condition since it is assigned simultaneously with chip->speed_hz. We can do this safely because a) transfer speed can't be higher than max_freq and therefore chip->clk_div can be 0 only when chip->speed_hz is 0, and b) transfer speed can't be 0, otherwise we will get division by zero exception. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 863cb2f72e636c8721482fd88e256facb59c5737 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:20 2015 +0300 spi: dw: remove bits_per_word member of struct chip_data There is no need to carry over spi->bits_per_word and Co from ->setup() in struct chip_data since ->transfer_one() will anyway take the transfer parameters from struct spi_transfer. This is since SPI core validates both bits_per_word transfer parameter and defaults to spi->bits_per_word in case that per transfer parameter is not set. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4adb1f8f880081ee9921ebd399786387e0cd6f52 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:18 2015 +0300 spi: dw: remove unneeded cr0 member of struct chip_data Since we recalculate cr0 each time we start a transfer the chip_data->cr0 becomes redundant. Remove it and related pieces. This is a follow up to commit 0ed36990a93b (spi: dw: Remove needless if statements). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f0966e61f0a65bef26b9fedbc1a4ab22a6f918b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:17 2015 +0300 spi: dw: use plain struct device * at earlier ->probe() The name of the master device is set during registrationg which happens after we issue the error message. Change it to plain struct device * to see which device registration failed. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 624729fd51871bfbddb647764f180126789a29ee Author: Omair M Abdullah <omair.m.abdullah@xxxxxxxxx> Date: Wed Oct 14 21:11:43 2015 +0530 ASoC: Intel: Skylake - Add Skylake RT286 I2S machine driver Add the SKL I2S machine driver using Realtek ALC286S codec in I2S mode. Signed-off-by: Omair M Abdullah <omair.m.abdullah@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 512fc048e4fdc39f43e78af7e2fed5047d651979 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:44 2015 +0200 ARM: at91/dt: sama5d2: add missing devices Big update of the sama5d2.dtsi file since many patches have reached te mainline: - add generated clocks - enable crypto devices - add flexcom devices - add tdes device - add sdmmc devices Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2057020db384cb971cfd51296426f447e6d66b64 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Oct 13 10:37:10 2015 +0800 ASoC: rockchip: spdif: Convert to use devm_snd_dmaengine_pcm_register Use resource managed API then we can remove snd_dmaengine_pcm_unregister() and snd_soc_unregister_component() calls in .probe error path and .remove. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aa254af25c40d6d1cdc3f354db29eaf3e85a5ede Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:30 2015 +0200 perf bench: Run benchmarks, don't test them So right now we output this text: memcpy: Benchmark for memcpy() functions memset: Benchmark for memset() functions all: Test all memory access benchmarks But the right verb to use with benchmarks is to 'run' them, not 'test' them. So change this (and all similar texts) to: memcpy: Benchmark for memcpy() functions memset: Benchmark for memset() functions all: Run all memory access benchmarks Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-15-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2f211c84ad40469c15226e899b720624fbd28e20 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:29 2015 +0200 perf bench mem: Rename 'routine' to 'function' So right now there's a somewhat inconsistent mess of the benchmarking code and options sometimes calling benchmarked functions 'functions', sometimes calling them 'routines'. Name them 'functions' consistently. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-14-git-send-email-mingo@xxxxxxxxxx [ Updated perf-bench man page, pointed out by David Ahern ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b0d22e52e3d2c2b151dfaa0f6e01bafa5475344f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:28 2015 +0200 perf bench: Harmonize all the -l/--nr_loops options We have three benchmarking subsystems that specify some sort of 'number of loops' parameter - but all of them do it inconsistently: numa: -l/--nr_loops sched messaging: -l/--loops mem memset/memcpy: -i/--iterations Harmonize them to -l/--nr_loops by picking the numa variant - which is also the most likely one to have existing scripting which we don't want to break. Plus improve the parameter help texts to indicate the default value for the nr_loops variable to keep users from guessing ... Also propagate the naming to internal variables. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-13-git-send-email-mingo@xxxxxxxxxx [ Let the harmonisation reach the perf-bench man page as well ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5dd93304a5d386c73c0a59117752acdca67f857d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:27 2015 +0200 perf bench mem: Reorganize the code a bit Reorder functions a bit, so that we synchronize the layout of the memcpy() and memset() portions of the code. This improves the code, especially after we'll add an strlcpy() variant as well. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-12-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 13b1fdce8d46027f346c0533a4323b58e2b5bad8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:26 2015 +0200 perf bench mem: Improve user visible strings - fix various typos in user visible output strings - make the output consistent (wrt. capitalization and spelling) - offer the list of routines to benchmark on '-r help'. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-11-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a69b4f741340a52d0976636a45c9976a883f03a0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:25 2015 +0200 perf bench mem: Fix 'length' vs. 'size' naming confusion So 'perf bench mem memcpy/memset' consistently uses 'len' and 'length' for buffer sizes - while it's really a memory buffer size. (strings have length.) Rename all affected variables. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-10-git-send-email-mingo@xxxxxxxxxx [ Update perf-bench man page ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 38416e53936ecf896948fdeffc36b76979117952 Author: Zbigniew Jasinski <z.jasinski@xxxxxxxxxxx> Date: Mon Oct 19 18:23:53 2015 +0200 Smack: limited capability for changing process label This feature introduces new kernel interface: - <smack_fs>/relabel-self - for setting transition labels list This list is used to control smack label transition mechanism. List is set by, and per process. Process can transit to new label only if label is on the list. Only process with CAP_MAC_ADMIN capability can add labels to this list. With this list, process can change it's label without CAP_MAC_ADMIN but only once. After label changing, list is unset. Changes in v2: * use list_for_each_entry instead of _rcu during label write * added missing description in security/Smack.txt Changes in v3: * squashed into one commit Changes in v4: * switch from global list to per-task list * since the per-task list is accessed only by the task itself there is no need to use synchronization mechanisms on it Changes in v5: * change smackfs interface of relabel-self to the one used for onlycap multiple labels are accepted, separated by space, which replace the previous list upon write Signed-off-by: Zbigniew Jasinski <z.jasinski@xxxxxxxxxxx> Signed-off-by: Rafal Krypa <r.krypa@xxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit e815e327604af880bdcf38cdd711dfa78627ab2a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:24 2015 +0200 perf bench mem: Rename 'routine' to 'routine_str' So bench/mem-functions.c has a 'routine' name for the routines parameter string, but a 'length_str' name for the length parameter string. We also have another entity named 'routine': 'struct routine'. This is inconsistent and confusing: rename 'routine' to 'routine_str'. Also fix typos in the --routine help text. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-9-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b14f2d357675bd7fb4e5a705ac7320a9638ecab5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:23 2015 +0200 perf bench mem: Change 'cycle' to 'cycles' So 'perf bench mem memset/memcpy' has a CPU cycles measurement method, but calls it 'cycle' (singular) throughout the code, which makes it harder to read. Rename all related functions, variables and options to a plural 'cycles' nomenclature. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-8-git-send-email-mingo@xxxxxxxxxx [ s/--cycle/--cycles/g in perf-bench man page ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7a46a8fd13bd60584687f417cd35935965f29ae2 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:22 2015 +0200 perf bench: List output formatting options on 'perf bench -h' So 'perf bench -h' is not very helpful when printing the help line about the output formatting options: -f, --format <default> Specify format style There are two output format styles, 'default' and 'simple', so improve the help text to: -f, --format <default|simple> Specify the output formatting style Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-7-git-send-email-mingo@xxxxxxxxxx [ Removed leftovers from the mem-functions.c rename ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6db175c7333e22ee818373cbea067e3eaa0236f7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:21 2015 +0200 perf bench: Remove the prefaulting complication from 'perf bench mem mem*' So 'perf bench mem memcpy/memset' has elaborate code to measure memcpy()/memset() performance both with freshly allocated buffers (which includes initial page fault overhead) and with preallocated buffers. But the thing is, the resulting bandwidth results are mostly meaningless, because page faults dominate so much of the cost. It might make sense to measure cache cold vs. cache hot performance, but the code does not do this. So remove this complication, and always prefault the ranges before using them. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-6-git-send-email-mingo@xxxxxxxxxx [ Remove --no-prefault, --only-prefault from docs, noticed by David Ahern ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9b2fa7f3e7799a335fd839906ab4d45b7d595dc4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:20 2015 +0200 perf bench: Rename 'mem-memcpy.c' => 'mem-functions.c' So mem-memcpy.c started out as a simple memcpy() benchmark, then it grew memset() functionality and now I plan to add string copy benchmarks as well. This makes the file name a misnomer: rename it to the more generic mem-functions.c name. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-5-git-send-email-mingo@xxxxxxxxxx [ The "rename" was introducing __unused, wasn't removing the old file, and didn't update tools/perf/bench/Build, fix it ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2946f59ac31d703738c00c684613d289e8d001ea Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:19 2015 +0200 perf bench: Eliminate unused argument from bench_mem_common() Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-4-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9abebb8a10ce93db45327bd3a4d06801e6db92f2 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 17 11:32:19 2015 +0200 NFC: delete null dereference The exit label performs device_unlock(&dev->dev);, which will fail when dev is NULL, and nfc_put_device(dev);, which is not useful when dev is NULL, so just exit the function immediately. Problem found using scripts/coccinelle/null/deref_null.cocci Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b43ef78145b10a3fb81a59596d562f21d9bab8d2 Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Tue Oct 13 08:31:04 2015 +0200 NFC: nfcwilink: Drop a useless static qualifier There is no need to have the 'struct nfcwilink *drv' variable static in the probe function. It only wastes a few bytes of memory. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 276197415685e2a91ce367562800cf0f8fbe482c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:18 2015 +0200 perf bench: Default to all routines in 'perf bench mem' So few people know that the --routine option to 'perf bench memcpy/memset' exists, and would not know that it's capable of testing the kernel's memcpy/memset implementations. Furthermore, 'perf bench mem all' will not run all routines: vega:~> perf bench mem all # Running mem/memcpy benchmark... Routine default (Default memcpy() provided by glibc) # Copying 1MB Bytes ... 894.454383 MB/Sec 3.844734 GB/Sec (with prefault) # Running mem/memset benchmark... Routine default (Default memset() provided by glibc) # Copying 1MB Bytes ... 1.220703 GB/Sec 9.042245 GB/Sec (with prefault) Because misleadingly the 'all' refers to 'all sub-benchmarks', not 'all sub-benchmarks and routines'. Fix all this by making the memcpy/memset routine to default to 'all', which results in all the benchmarks being run: triton:~> perf bench mem all # Running mem/memcpy benchmark... Routine default (Default memcpy() provided by glibc) # Copying 1MB Bytes ... 1.448906 GB/Sec 4.957170 GB/Sec (with prefault) Routine x86-64-unrolled (unrolled memcpy() in arch/x86/lib/memcpy_64.S) # Copying 1MB Bytes ... 1.614153 GB/Sec 4.379204 GB/Sec (with prefault) Routine x86-64-movsq (movsq-based memcpy() in arch/x86/lib/memcpy_64.S) # Copying 1MB Bytes ... 1.570036 GB/Sec 4.264465 GB/Sec (with prefault) Routine x86-64-movsb (movsb-based memcpy() in arch/x86/lib/memcpy_64.S) # Copying 1MB Bytes ... 1.788576 GB/Sec 6.554111 GB/Sec (with prefault) # Running mem/memset benchmark... Routine default (Default memset() provided by glibc) # Copying 1MB Bytes ... 2.082223 GB/Sec 9.126752 GB/Sec (with prefault) Routine x86-64-unrolled (unrolled memset() in arch/x86/lib/memset_64.S) # Copying 1MB Bytes ... 5.710892 GB/Sec 8.346688 GB/Sec (with prefault) Routine x86-64-stosq (movsq-based memset() in arch/x86/lib/memset_64.S) # Copying 1MB Bytes ... 9.765625 GB/Sec 12.520032 GB/Sec (with prefault) Routine x86-64-stosb (movsb-based memset() in arch/x86/lib/memset_64.S) # Copying 1MB Bytes ... 9.668936 GB/Sec 12.682630 GB/Sec (with prefault) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-3-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f5bad43b53cbcd1a017c6df3d1bf2c6412a465bd Author: Adam Sampson <ats@xxxxxxxxx> Date: Sat Oct 17 23:08:29 2015 +0100 ARM: dts: sun7i: Enable USB DRC on pcDuino v3 Nano The OTG arrangement on the LinkSprite pcDuino v3 Nano is the same as the pcDuino 1/2/3: the OTG port's 5V line is connected directly to the 5V bus (it's not switchable), and the OTG port's ID pin is connected to PH4 on the A20. Tested successfully in both host and device modes. Signed-off-by: Adam Sampson <ats@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 13839ec495a31844d66d487f740c07771c60a0d0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:17 2015 +0200 perf bench: Improve the 'perf bench mem memcpy' code readability - improve the readability of initializations - fix unnecessary double negations - fix ugly line breaks - fix other small details Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-2-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7cf6d08cafd67a34d0d78cd15baf64e214e050cb Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Oct 11 13:24:13 2015 +0200 NFC: nxp-nci: constify nxp_nci_phy_ops structure The only instance of a nxp_nci_phy_ops structure is never modified. Thus the declaration of the structure and all references to the structure type can be made const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 96577bcdf4868605325485d27d89726a30450e5c Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Oct 18 00:04:09 2015 +0800 ARM: dts: sun6i: Add support for Sinlinx A31s SDK board The Sinlinx A31s SDK is a A31s based module/baseboard development kit. The core module has the SoC, PMIC, DRAM, eMMC and supporting components. There are also pads for UART0, JTAG and I2S. The baseboard has 100 Mbps Ethernet, 5x USB 2.0 host ports via a USB 2.0 hub chip, MMC, HDMI, SPDIF, CIR, audio jacks, 2 tablet-like volume buttons, RS232 style UART and USB OTG (though VBUS is not connected). Various headers are available for other addon modules, such as SDIO WiFi, LCD display, camera sensor, UARTs, I2C, SPI and GPIOs. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 893a84e8180dcc37a3b0fd19d04dbe6cbc6e33db Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Sep 25 10:59:04 2015 +0200 NFC: nfcmrvl: Auto-select core module As I understand it, the core nfcmrvl module is useless without either the USB or the UART access module. So hide NFC_MRVL and select it automatically if either NFC_MRVL_USB or NFC_MRVL_UART is selected. This avoids presenting NFC_MRVL when neither NFC_MRVL_USB nor NFC_MRVL_UART can be selected. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Lauro Ramos Venancio <lauro.venancio@xxxxxxxxxxxxx> Cc: Aloisio Almeida Jr <aloisio.almeida@xxxxxxxxxxxxx> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 04831ae41c034db2e2922c460cc818c4a1f6e7e0 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Sep 25 10:52:26 2015 +0200 NFC: microread: Auto-select core module As I understand it, the core nfc_microread module is useless without either the I2C or the MEI access module. So hide NFC_MICROREAD and select it automatically if either NFC_MICROREAD_I2C or NFC_MICROREAD_MEI is selected. This avoids presenting NFC_MICROREAD when neither NFC_MICROREAD_I2C nor NFC_MICROREAD_MEI can be selected. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Lauro Ramos Venancio <lauro.venancio@xxxxxxxxxxxxx> Cc: Aloisio Almeida Jr <aloisio.almeida@xxxxxxxxxxxxx> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2690c730935873065175de33f59cce5bb221b9dc Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Oct 20 00:23:49 2015 +0900 perf test: Suppress libtraceevent warnings Currently libtraceevent emits warning on unsupported event formats. However it'd be better to see them only -v option is given. To do that, it needs to override the warning() function which is used in the libtracevent. Thus add set_warning_routine() same as set_die_routine() and check the verbose flag in our warning routine. Before: # perf test 5 5: parse events tests : Warning: [kvmmmu:kvm_mmu_get_page] bad op token { Warning: [kvmmmu:kvm_mmu_sync_page] bad op token { Warning: [kvmmmu:kvm_mmu_unsync_page] bad op token { Warning: [kvmmmu:kvm_mmu_prepare_zap_page] bad op token { Warning: [kvmmmu:fast_page_fault] function is_writable_pte not defined ... Ok After: # perf test 5 5: parse events tests : Ok Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445268229-1601-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8719138318316656988dbd422461c1addc9a9159 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Oct 20 00:23:48 2015 +0900 perf test: Silence tracepoint event failures Currently, when 'perf test' is run by a normal user, it'll fail to access tracepoint events. The output becomes somewhat messy because it tries to be nice with long error messages and hints. IMHO this is not needed for 'perf test' by default and AFAIK 'perf test' uses pr_debug() rather than pr_err() for such messages so that one can use -v option to see further details on failed testcases if needed. Before: $ perf test 1: vmlinux symtab matches kallsyms : FAILED! 2: detect openat syscall event :Error: No permissions to read /sys/kernel/debug/tracing/events/syscalls/sys_enter_openat Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing' FAILED! 3: detect openat syscall event on all cpus :Error: No permissions to read /sys/kernel/debug/tracing/events/syscalls/sys_enter_openat Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing' FAILED! ... After: $ perf test 1: vmlinux symtab matches kallsyms : FAILED! 2: detect openat syscall event : FAILED! 3: detect openat syscall event on all cpus : FAILED! ... $ perf test -v 2 2: detect openat syscall event : --- start --- test child forked, pid 30575 Error: No permissions to read /sys/kernel/debug/tracing/events/syscalls/sys_enter_openat Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing' test child finished with -1 ---- end ---- detect openat syscall event: FAILED! Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445268229-1601-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2117c12ab4d351cb309331ba8605a9d4e03f2f1 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Sep 25 10:49:36 2015 +0200 NFC: pn544: Auto-select core module As I understand it, the core nfc_pn544 module is useless without either the I2C or the MEI access module. So hide NFC_PN544 and select it automatically if either NFC_PN544_I2C or NFC_PN544_MEI is selected. This avoids presenting NFC_PN544 when neither NFC_PN544_I2C nor NFC_PN544_MEI can be selected. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Lauro Ramos Venancio <lauro.venancio@xxxxxxxxxxxxx> Cc: Aloisio Almeida Jr <aloisio.almeida@xxxxxxxxxxxxx> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3c39c1a54a26c5495d48df796bc1f3fba78667f2 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:08:42 2015 +0200 NFC: trf7970a: Add OF match table The Documentation/devicetree/bindings/net/nfc/trf7970a.txt DT binding doc lists "ti,trf7970a" 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: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9f93f3e9461a30f425fdba15784db67ce878ce00 Author: Jungseok Lee <jungseoklee85@xxxxxxxxx> Date: Sat Oct 17 14:28:11 2015 +0000 arm64: Synchronise dump_backtrace() with perf callchain Unlike perf callchain relying on walk_stackframe(), dump_backtrace() has its own backtrace logic. A major difference between them is the moment a symbol is recorded. Perf writes down a symbol *before* calling unwind_frame(), but dump_backtrace() prints it out *after* unwind_frame(). As a result, the last valid symbol cannot be hooked in case of dump_backtrace(). This patch addresses the issue as synchronising dump_backtrace() with perf callchain. A simple test and its results are as follows: - crash trigger $ sudo echo c > /proc/sysrq-trigger - current status Call trace: [<fffffe00003dc738>] sysrq_handle_crash+0x24/0x30 [<fffffe00003dd2ac>] __handle_sysrq+0x128/0x19c [<fffffe00003dd730>] write_sysrq_trigger+0x60/0x74 [<fffffe0000249fc4>] proc_reg_write+0x84/0xc0 [<fffffe00001f2638>] __vfs_write+0x44/0x104 [<fffffe00001f2e60>] vfs_write+0x98/0x1a8 [<fffffe00001f3730>] SyS_write+0x50/0xb0 - with this change Call trace: [<fffffe00003dc738>] sysrq_handle_crash+0x24/0x30 [<fffffe00003dd2ac>] __handle_sysrq+0x128/0x19c [<fffffe00003dd730>] write_sysrq_trigger+0x60/0x74 [<fffffe0000249fc4>] proc_reg_write+0x84/0xc0 [<fffffe00001f2638>] __vfs_write+0x44/0x104 [<fffffe00001f2e60>] vfs_write+0x98/0x1a8 [<fffffe00001f3730>] SyS_write+0x50/0xb0 [<fffffe00000939ec>] el0_svc_naked+0x20/0x28 Note that this patch does not cover a case where MMU is disabled. The last stack frame of swapper, for example, has PC in a form of physical address. Unfortunately, a simple conversion using phys_to_virt() cannot cover all scenarios since PC is retrieved from LR - 4, not LR. It is a big tradeoff to change both head.S and unwind_frame() for only a few of symbols in *.S. Thus, this hunk does not take care of the case. Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Cc: James Morse <james.morse@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 096b3224d5e7239ec3e5033bbc7612ac2d5dec3a Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Wed Sep 16 22:23:21 2015 +0800 arm64: add cpu_idle tracepoints to arch_cpu_idle Currently, if cpuidle is disabled or not supported, powertop reports zero wakeups and zero events. This is due to the cpu_idle tracepoints are missing. This patch is to make cpu_idle tracepoints always available even if cpuidle is disabled or not supported. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 215399392fe40f33880ea9de49a1ed8ee26edd10 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:38 2015 +0100 arm64: 36 bit VA 36bit VA lets us use 2 level page tables while limiting the available address space to 64GB. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Steve Capper <steve.capper@xxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 44eaacf1b8999b15cec89bd9d9cd989da4798d53 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:37 2015 +0100 arm64: Add 16K page size support This patch turns on the 16K page support in the kernel. We support 48bit VA (4 level page tables) and 47bit VA (3 level page tables). With 16K we can map 128 entries using contiguous bit hint at level 3 to map 2M using single TLB entry. TODO: 16K supports 32 contiguous entries at level 2 to get us 1G(which is not yet supported by the infrastructure). That should be a separate patch altogether. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Jeremy Linton <jeremy.linton@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Steve Capper <steve.capper@xxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 9d372c9fab34cd8803141871195141995f85c7f7 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Oct 19 14:19:36 2015 +0100 arm64: Add page size to the kernel image header This patch adds the page size to the arm64 kernel image header so that one can infer the PAGESIZE used by the kernel. This will be helpful to diagnose failures to boot the kernel with page size not supported by the CPU. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4bf8b96ed3f7e11422d8b4f58cf43896ed02d1f6 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:35 2015 +0100 arm64: Check for selected granule support Ensure that the selected page size is supported by the CPU(s). If it doesn't park it. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit db488be354bc85724d7b9523e94435fdaa761a35 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:34 2015 +0100 arm64: Kconfig: Fix help text about AArch32 support with 64K pages Update the help text for ARM64_64K_PAGES to reflect the reality about AArch32 support. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit e25781e3dea914cc4c34c946bae5fa3d4516516f Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Oct 19 14:19:33 2015 +0100 arm64: Simplify NR_FIX_BTMAPS calculation We choose NR_FIX_BTMAPS such that each slot (NR_FIX_BTMAPS * PAGE_SIZE) can address 256K. Use division to derive NR_FIX_BTMAPS rather than defining it for each page size. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 755e70b7e3f189aa2503c510fb98208e477a5030 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:32 2015 +0100 arm64: Clean config usages for page size We use !CONFIG_ARM64_64K_PAGES for CONFIG_ARM64_4K_PAGES (and vice versa) in code. It all worked well, so far since we only had two options. Now, with the introduction of 16K, these cases will break. This patch cleans up the code to use the required CONFIG symbol expression without the assumption that !64K => 4K (and vice versa) Cc: Will Deacon <will.deacon@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 6a3fd4026c0c0ac279265c2a5d228233b5bbd28f Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:31 2015 +0100 arm64: Handle 4 level page table for swapper At the moment, we only support maximum of 3-level page table for swapper. With 48bit VA, 64K has only 3 levels and 4K uses section mapping. Add support for 4-level page table for swapper, needed by 16K pages. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c265af51c5f17ec5c0cf0d960133bd6fe5f39eb9 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:30 2015 +0100 arm64: Calculate size for idmap_pg_dir at compile time Now that we can calculate the number of levels required for mapping a va width, reserve exact number of pages that would be required to cover the idmap. The idmap should be able to handle the maximum physical address size supported. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 686e783869d37935510b4d2c266948677be82665 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:29 2015 +0100 arm64: Introduce helpers for page table levels Introduce helpers for finding the number of page table levels required for a given VA width, shift for a particular page table level. Convert the existing users to the new helpers. More users to follow. Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit b433dce056d3814dc4b33e5a8a533d6401ffcfb0 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:28 2015 +0100 arm64: Handle section maps for swapper/idmap We use section maps with 4K page size to create the swapper/idmaps. So far we have used !64K or 4K checks to handle the case where we use the section maps. This patch adds a new symbol, ARM64_SWAPPER_USES_SECTION_MAPS, to handle cases where we use section maps, instead of using the page size symbols. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 87d1587bef394cd8a77dbca8cc92885fe7041b8f Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:27 2015 +0100 arm64: Move swapper pagetable definitions Move the kernel pagetable (both swapper and idmap) definitions from the generic asm/page.h to a new file, asm/kernel-pgtable.h. This is mostly a cosmetic change, to clean up the asm/page.h to get rid of the arch specific details which are not needed by the generic code. Also renames the symbols to prevent conflicts. e.g, BLOCK_SHIFT => SWAPPER_BLOCK_SHIFT Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d3e94f3f2c0f669dfa0d0d51645d5d7d13a9c074 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 12 14:07:41 2015 -0700 mtd: pxa3xx_nand: switch to device PM The old PM model is deprecated. This is equivalent. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> commit 2e17497ccfdf0da39595eb98434fdbac93ad3f9b Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 12 13:33:11 2015 -0700 mtd: pxa3xx_nand: don't duplicate MTD suspend/resume mtd_{suspend,resume}() get called from mtdcore in a class suspend/resume callback. We don't need to call them again here. In practice, this would actually work OK, as nand_base actually handles nesting OK -- it just might print warnings. Untested, but there are few (no?) users of PM for this driver AFAIK. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> commit 01a3c625766328200de1656915007537739847aa Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Oct 14 00:39:44 2015 -0300 mtd: fsl-quadspi: Include <linux/sizes.h> to avoid build error Building for x86 results in the following build errors: drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_init_lut': >> drivers/mtd/spi-nor/fsl-quadspi.c:355:21: error: 'SZ_16M' undeclared (first use in this function) if (q->nor_size <= SZ_16M) { ^ drivers/mtd/spi-nor/fsl-quadspi.c:355:21: note: each undeclared identifier is reported only once for each function it appears in drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_read': >> drivers/mtd/spi-nor/fsl-quadspi.c:208:27: error: 'SZ_4M' undeclared (first use in this function) #define QUADSPI_MIN_IOMAP SZ_4M ^ >> drivers/mtd/spi-nor/fsl-quadspi.c:845:25: note: in expansion of macro 'QUADSPI_MIN_IOMAP' q->memmap_len = len > QUADSPI_MIN_IOMAP ? len : QUADSPI_MIN_IOMAP; Explicitly include <linux/sizes.h> to fix the problem. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d26a22d06708ba5a181003d44fcd6d0885cec8d4 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 12 13:35:16 2015 -0700 mtd: fsl-quadspi: allow building for other ARCHes with COMPILE_TEST This driver doesn't actually need ARCH_MXC to compile. Relax the constraints. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Han xu <han.xu@xxxxxxxxxxxxx> commit a5c603a22bff27f3aea7e747af4229d75278f3ff Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 12 13:35:15 2015 -0700 mtd: fsl-quadspi: fix printk() format warning for size_t Seen when compile-testing on non-32-bit arch: CC drivers/mtd/spi-nor/fsl-quadspi.o drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_read': drivers/mtd/spi-nor/fsl-quadspi.c:873:2: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t' [-Wformat=] dev_dbg(q->dev, "cmd [%x],read from 0x%p, len:%d\n", ^ Also drop the '0x' prefixing to the '%p' formatter, since %p already knows how to format pointers appropriately. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Han xu <han.xu@xxxxxxxxxxxxx> commit a23eb34198c68d9cfdcb7f09f56f2ff416b77c90 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:13 2015 -0700 mtd: spi-nor: add DUAL_READ for w25q{32,64}dw These flash support dual and quad read. Tested dual read on the 32 Mbit version. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f9fff064bb83c55b3fc6291e3b59e3bc78fedddf Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 15 16:53:27 2015 -0400 drm/amdgpu/dce: simplify suspend/resume We were basically opencoding the same thing in both hw_init and resume and hw_fini and suspend. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9254970cbbf542a0085e491810f0144a27885702 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Oct 19 13:38:09 2015 +0100 ARM: 8447/1: catch pending imprecise abort on unmask Install a non-faulting handler just before unmasking imprecise aborts and switch back to the regular one after unmasking is done. This catches any pending imprecise abort that the firmware/bootloader may have left behind that would normally crash the kernel at that point. As there are apparently a lot of bootlaoders out there that do such a thing it makes sense to handle it in the common startup code. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Tested-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c8d46ece44458a2088896d6fcae123a72bdfd429 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Oct 19 09:17:40 2015 +0100 ARM: 8446/1: amba: Remove unused callbacks for legacy system PM Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8a603f91cc4848ab1a0458bc065aa9f64322e123 Author: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Date: Fri Oct 16 22:19:06 2015 +0100 ARM: 8445/1: fix vdsomunge not to depend on glibc specific byteswap.h If the host toolchain is not glibc based then the arm kernel build fails with HOSTCC arch/arm/vdso/vdsomunge arch/arm/vdso/vdsomunge.c:48:22: fatal error: byteswap.h: No such file or directory Observed: with omap2plus_defconfig and compile on Mac OS X with arm ELF cross-compiler. Reason: byteswap.h is a glibc only header. Solution: replace by private byte-swapping macros (taken from arch/mips/boot/elf2ecoff.c and kindly improved by Russell King) Tested to compile on Mac OS X 10.9.5 host. Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 236be662979f74d510ed70e069a3683906fe13df Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 14:21:34 2015 +0200 ARM: at91/dt: sama5d4: add the macb1 node The second macb is present on all the sama5d4 SoCs. Let's add a node reflecting it in the device tree. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7c512d551eac34767cafcd2177b5b69e13c87f54 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Mon Sep 7 17:47:58 2015 +0200 ARM: at91/dt: add pullup on mmc2 data signals MMC data lines may be left floating if nothing is currently driving the data lines, which is the case when mmc is in idle state, thus consuming a useless extra amount of power. Add pullup on mmc2 data signals in the same way it was previously done for mmc0 and mmc1. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 143877e68107e38d19555657c2ec528597ffb70c Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Wed Oct 14 10:59:56 2015 +0800 ARM: at91/dt: sama5d2_xplained: add regulator nodes Add regulator nodes of PMIC ACT8945A chip on the board. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 0db090d5428e53c6b939c65e9fdc01619137d529 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 13:24:24 2015 +0200 ARM: at91/dt: fix "disabled" property on at91rm9200 Fix instances of "disable" instead of "disabled" in the at91rm9200 dtsi. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 620f50332232b089815f7255f6a5fff0a8b10e63 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:28:38 2015 +0200 ARM: at91/dt: use syscon for PMC The PMC is not only used to drive the clocks but also has some registers related to other functions. One of those is for example the USB gadget bias. Using a syscon allows to properly separate those functions. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 606bb5e0b28b540685fb94c22902cd9a948a3779 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 8 11:43:34 2015 +0300 drm/i915: Use round to closest when computing the CEA 1.001 pixel clocks drm_edid.c now computes the alternate CEA clocks using DIV_ROUND_CLOSEST(), so follow suit in the N/CTS setup to make sure we pick the right setting for the mode. Unfortunately we can't actually use DIV_ROUND_CLOSEST() here due to the ({}) construct used, so just stick in raw numbers instead. Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Cc: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Adam Jackson <ajax@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 57df5380853460bc66b59a46273ce113c923d39c Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:23:33 2015 -0700 ARM: OMAP2+: Fix imprecise external abort caused by bogus SRAM init Some omaps are producing imprecise external aborts because we are wrongly trying to init SRAM for device tree based booting. Only omap3 is still using the legacy SRAM code, so we need to make it omap3 specific. Otherwise we can get errors like this on at least dm814x: Unhandled fault: imprecise external abort (0xc06) at 0xc08b156c ... (omap_rev) from [<c08b12e0>] (omap_sram_init+0xf8/0x3e0) (omap_sram_init) from [<c08aca0c>] (omap_sdrc_init+0x10/0xb0) (omap_sdrc_init) from [<c08b581c>] (pdata_quirks_init+0x18/0x44) (pdata_quirks_init) from [<c08b5478>] (omap_generic_init+0x10/0x1c) (omap_generic_init) from [<c08a57e0>] (customize_machine+0x1c/0x40) (customize_machine) from [<c00098a4>] (do_one_initcall+0x80/0x1dc) (do_one_initcall) from [<c08a2ec4>] (kernel_init_freeable+0x218/0x2e8) (kernel_init_freeable) from [<c063a554>] (kernel_init+0x8/0xec) (kernel_init) from [<c000f890>] (ret_from_fork+0x14/0x24) Let's fix the issue by making sure omap_sdrc_init only gets called for omap3. To do that, we need to have compatible "ti,omap3" in the dts files. And let's also use "ti,omap3630" instead of "ti,omap36xx" like we're supposed to. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 607e266c47ef552b6f87c7cf0ba7f3c28ea5af14 Author: Rajesh Bhagat <rajesh.bhagat@xxxxxxxxxxxxx> Date: Wed Oct 14 11:04:12 2015 +0530 ARM: dts: ls1021a: Add quirk for Erratum A009116 Add "snps,quirk-frame-length-adjustment" property to USB3 node for erratum A009116. This property provides value of GFLADJ_30MHZ for post silicon frame length adjustment. Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Rajesh Bhagat <rajesh.bhagat@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 9a9214598aabdddbfbfd31fe167f97686d0b229c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 00:12:33 2015 +0300 ARM: imx6sx-sdb: Fix typo in regulator enable GPIO property The property name should be "gpio", not "gpios". Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reviewed-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit a452afa317e7017ae0e6f3ff443191f6eedc85e3 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 13:43:55 2015 +0200 ARM: dts: imx6: phyFLEX: fix typo in "pinctrl-names" Fix a typo, replacing "pinctrl-name" by "pinctrl-names" in the Phytec phyFLEX-i.MX6 Quad dtsi. Also fix a typo in the board name Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 833f2cbf7091099baee28136dc68678e974c0ac5 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Sat Oct 10 18:15:07 2015 +0800 ARM: dts: imx6: change the core clock of spdif The correct core clock of spdif is SPDIF_GCLK, which is added to clock tree. So the dts also need to be updated. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 654252659ed97062a0973cd2bdd31a8cca655082 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Oct 7 16:58:36 2015 -0700 ARM: dts: vf-colibri: enable NAND flash controller Enable NAND access by adding pinmux and NAND flash controller node to device tree. The NAND chips currently used on the Colibri VF61 requires 8-bit ECC per 512 byte page, hence specify 32-bit ECC strength per 2k page size. Reviewed-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit baeeb541e653ba83a593f3f9b857c55e7bf6ba72 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Oct 7 16:58:35 2015 -0700 ARM: dts: vf610twr: add NAND flash controller peripherial This adds the NAND flash controller (NFC) peripherial. The driver supports the SLC NAND chips found on Freescale's Vybrid Tower System Module. The Micron NAND chip on the module needs 4-bit ECC per 512 byte page. Use 24-bit ECC per 2k page, which is supported by the driver. Signed-off-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Reviewed-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 397a7d45355a25fa1445134fafb48850a24f2abb Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:46 2015 +0200 ARM: dts: imx: add Boundary Devices Nitrogen6_Lite board Based on an i.MX6 Solo with 512MB DDR3. http://boundarydevices.com/product/nitrogen6_lite/ Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit b32e700256bce81a3cdea7869c6fe48b567ff434 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:45 2015 +0200 ARM: dts: imx: add Boundary Devices Nitrogen6_Max board Based on i.MX6 Quad with 4GB of DDR3. http://boundarydevices.com/product/nitrogen6max/ Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 4629cb7f473ea518d155e1a9f0ae818731977776 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:44 2015 +0200 ARM: dts: imx6dl-nitrogen6x: change manufacturer to Boundary Devices Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 64618e71da2f93721fad2397a85a433c10ce2bfa Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:43 2015 +0200 ARM: dts: imx6q-nitrogen6x: change manufacturer to Boundary Devices Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 16fa43988ccaecc99d390938211e55ab58cea962 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:42 2015 +0200 of: Add Boundary Devices Inc. vendor prefix This patch adds the vendor prefix for Boundary Devices Inc. which is a supplier of ARM-based single board computers and System-on-Modules for the general embedded market. Website: http://boundarydevices.com/ Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 95a9e6cb9f38f980d01f8eee67b9004b86a9724c Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:41 2015 +0200 ARM: dts: imx6qdl-sabrelite: relicense under GPLv2/X11 Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit a0689609f06958ce4cdda22bf88de78241d87b66 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:40 2015 +0200 ARM: dts: imx6qdl-nitrogen6x: relicense under GPLv2/X11 Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit f12fb7a27a5d0d3a71d949398a79500d5c75e297 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:39 2015 +0200 ARM: dts: imx6qdl-nitrogen6x: add wifi wl1271 support Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 140fa36f04fa534c17b31f135fc426a5620066db Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:38 2015 +0200 ARM: dts: imx6dql-nitrogen6x: add touchscreen support This patch adds the different touchscreens that can be connected using the displays available for this board. http://boundarydevices.com/product-category/displays/ Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d0ddcc5310934deff62d434dc5d2b82d729f87fa Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:05:20 2015 +0200 ARM: dts: imx6qdl-sabrelite: add Okaya LCD panel This patch adds support for the 7" LCD display available for Sabrelite: http://boundarydevices.com/product/7-800x480-display/ Also add label to backlight_lcd and connect it to the panel. Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 9c3d8fa0604cdcd0b12c3bb3a4972a2413806cf9 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:05:19 2015 +0200 ARM: dts: imx6qdl-nitrogen6x: add Okaya LCD panel This patch adds support for the 7" LCD display available for Nitrogen6x: http://boundarydevices.com/product/7-800x480-display/ Also add label to backlight_lcd and connect it to the panel. Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6e994c5a1dc8c89671717575408c94316fe7f7d8 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Tue Sep 1 18:06:53 2015 +0530 ARM: dts: vf500-colibri: Add device tree node for touchscreen support Add device tree node for touchscreen support on Colibri VF50. The touchscreen functionality on VF50 uses the ADC channels of Vybrid and some GPIOs. Also add pinctrl nodes for proper pinmux. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit b2bbb1669d4f6c1513ba74351264a1abb69575f3 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Fri Sep 25 20:35:31 2015 +0300 ARM: dts: i.MX35: fix cpu compatible value The change corrects cpu compatible property to a defined one, see Documentation/devicetree/bindings/arm/cpus.txt Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit bc6cde35893e300a3bd6b12ecbe75749486dc127 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Fri Sep 25 20:35:30 2015 +0300 ARM: dts: i.MX31: fix cpu compatible value The change corrects cpu compatible property to a defined one, see Documentation/devicetree/bindings/arm/cpus.txt Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 149c08e075953dd6323545808cdfd8c95e9d1b20 Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Fri Sep 25 16:05:57 2015 -0500 ARM: dts: imx: imx7d add iomuxc lpsr device node Add device tree node to support iomuxc-lpsr controller, fsl,input-sel phandle allows to get input select register base address which is shared from main iomuxc controller. Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 47bcc8c07a4a76b6f5786fb8fb8091c6d4764782 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Mon Sep 7 10:55:02 2015 +0800 ARM: dts: imx7d-sdb: add fec1 and fec2 support Enable fec1 and fec2 for i.MX7d-sdb board. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 5b8e6ed482b3913c4af26f537b0bc27c77cac452 Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Fri Sep 18 11:29:52 2015 -0500 ARM: dts: imx7d-pinfunc: add gpio1 pad iomux settings - Add imx7 SoC GPIO1 pad iomuxc settings <mux_reg conf_reg input_reg mux_mode input_val> - Fix UART input select daisy chain setting values Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 60f0ea12d59ed366547b0a3fd5b3a76fccb56899 Author: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Date: Wed Sep 16 16:20:43 2015 +0800 ARM: dts: Add node for ina220 on LS1021ATWR The INA220 monitors both shunt drop and supply voltage. Signed-off-by: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 70b5ea97281fb9ee1ed17c9b9c866a6604b843df Author: Alison Wang <b18965@xxxxxxxxxxxxx> Date: Mon Sep 14 14:45:28 2015 +0800 ARM: ls1021a: Add dma-coherent property for eTSEC nodes This patch adds dma-coherent property for eTSEC nodes, so coherent DMA operations are supported. Signed-off-by: Alison Wang <alison.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit a81fd34da086a62907d2cca920b4788bfc71357f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 7 22:57:12 2015 -0300 ARM: dts: imx7d-sdb: Add USB support Add support for USBOTG1 and USBOTG2. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 60f5a223821b6ba471a5bc555338ab892908e99e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 7 22:57:11 2015 -0300 ARM: dts: imx7d: Add USB support Add USB OTG and Host support. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 0f629217cf4bd43fd1240323a0a1f0af8d9ee235 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Mon Sep 7 10:55:01 2015 +0800 ARM: dts: imx7d: add fec1 and fec2 support for i.MX7d soc Add fec1 and fec2 nodes for i.MX7d soc. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 816aa61c331b763fcb5346eefe8546da5cb588d8 Author: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Date: Wed Aug 12 10:42:41 2015 +0300 ARM: dts: ls1021a: add crypto node Signed-off-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d272c07b5304f913258127eb722dae7730fbfc5f Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Fri Aug 28 17:09:36 2015 +0800 ARM: dts: imx6ul-14x14-evk.dts: add tsc support Add touch screen surpport for i.MX6UL-EVK board. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3add09695ba0f512e653890a9d56973bf9dbb1c2 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Fri Aug 28 17:09:35 2015 +0800 ARM: dts: imx6ul.dtsi: add TSC support Add imx6ul touchscreen controller support. TSC module need ADC2 module to measure the touchscreen coordinate value. This patch put TSC and ADC2 together, make ADC2 module only be used for TSC, can't be used as a normal ADC. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 208c9fe21511bd13831f4802aaf3bfa860728248 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Sep 2 15:16:20 2015 -0300 ARM: dts: imx7d: Add PWM support Add the PWM1-4 nodes. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 1387349d0abc73590b3bf7fc613d546bfab7fd52 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Sep 2 12:55:21 2015 -0300 ARM: dts: imx6sl: Complete the dcp node The DCP block present on MX6SL is compatible with the one on MX28, so add the compatible string and also complete the interrupt entries. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 79826ac6bb6d12c9a71f6e8db798d3714819d2d5 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Aug 16 08:39:17 2015 +0200 ARM: dts: imx: add "jedec,spi-nor" flash compatible binding Starting with commit 8947e396a829 ("Documentation: dt: mtd: replace "nor-jedec" binding with "jedec, spi-nor"") we have "jedec,spi-nor" binding indicating support for JEDEC identification. Use it for all flashes that are supposed to support READ ID op according to the datasheets. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit a7be1e687731e2444f4ea261897b2e8448f5acbf Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Wed Aug 12 22:21:56 2015 +0000 ARM: mxs: enable ocotp for i.MX23 and i.MX28 This patch enables On Chip OTP support for i.MX23 and i.MX28 SoCs, but keeps the old compatible string. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit f651d7816b97fc1468c4b637628a8951a3cb9dac Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:29 2015 +0800 ARM: dts: imx7d-sdb: add eMMC5.0 support imx7d-sdb board has a eMMC5.0 on usdhc3. This eMMC support HS400. This patch add usdhc3 support for HS400 Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit ab0a05d818d5a6e322e6ccd11a33845b477f9ab7 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Sun Sep 6 15:29:34 2015 +0800 ARM: dts: imx6ul: add pm_power_off support i.MX6UL can be powered off by programming SNVS. When long press ON/OFF button(5 seconds), PMIC_ON_REQ pin will be set to low and external PMIC will be powered off. And system can be powered on by long press ON/OFF button again. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 51a374438c33950dd9effc33a005dac2ccc52a2b Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Wed Aug 5 01:48:36 2015 +0800 ARM: dts: imx6ul: add mmdc support for i.mx6ul Add MMDC support for i.MX6UL. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 322d09d6ea04de986d978312de75139b4586ecbe Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Wed Aug 5 01:48:35 2015 +0800 ARM: dts: imx6ul: add sram support for i.mx6ul Add SRAM support for i.MX6UL, it has 128KB ocram starting from 0x900000. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 62b91605c8e87246e3e355697deacb199228a81e Merge: 6ff33f3 84a8725 Author: Shawn Guo <shawnguo@xxxxxxxxxx> Date: Mon Oct 19 22:45:01 2015 +0800 Merge tag 'imx-clk-4.4' into imx/dt The i.MX clock updates for 4.4: - A couple of fixes on i.MX31 and i.MX35 clock initialization functions which makes mxc_timer_init() currently be called twice for DT boot. - Increase i.MX6UL AXI bus clock rate to 264MHz which is the optimal design target. - Add a few missing clocks, ADC clock for i.MX7D, OCOTP clock for Vybrid, and SPDIF_GCLK for i.MX6. - A series from Lucas to fix early debug UART clock setup. This is currently a one-off fix for i.MX platform, and can be extended to become a generic solution later. commit bc6f9ae6043a219b5afadf0391ce77db401a966f Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Fri Oct 16 15:54:52 2015 +0300 ath10k: make fw stats prints specific to firmware version The patch makes debug stats prints fw specific by adding a new member in wmi_ops. That way it's easier to add fw_stats support to 10.4 firmware. Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Tamizh Chelvam <c_traja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1aaf8efba0aeb25eb5858b19472badaa54a41a38 Author: Anilkumar Kolli <akolli@xxxxxxxxxxxxxxxx> Date: Fri Oct 16 15:54:51 2015 +0300 ath10k: disable PCI PS for QCA988X and QCA99X0 This patch disables PCI PS for QCA988X and QCA99X0, Since PCI PS is validated for QCA6174, let it be enabled only for QCA6174. It would be better to execute PCI PS related functions only for the supported devices. PCI time out issue is observed with QCA99X0 on x86 platform, We will disable PCI PS for QCA988X and QCA99X0 until PCI PS is properly implemented. Taking and releasing ps_lock is causing higher CPU consumption. Michal Kazior suggested ps_lock overhead to be reworked so that ath10k_pci_wake/sleep functions are called less often, i.e. move the powersave logic up (only during irq handling, tx path, submitting fw commands) but that's a bigger change and can be implemented later. Signed-off-by: Anilkumar Kolli <akolli@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 81e9d14a53eb1abfbe6ac828a87a2deb4702b5f1 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Oct 19 16:25:15 2015 +0200 usb: gadget: net2280: restore ep_cfg after defect7374 workaround Defect 7374 workaround enables all GPEP as endpoint 0. Restore endpoint number when defect 7374 workaround is disabled. Otherwise, check to match USB endpoint number to hardware endpoint number in net2280_enable() fails. Cc: <stable@xxxxxxxxxxxxxxx> # 4.2 Reported-by: Paul Jones <p.jones@xxxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit dc8730846948e517169f630826cd2c97615f5ee8 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Oct 16 16:01:32 2015 -0700 usb: dwc2: host: Fix use after free w/ simultaneous irqs While plugging / unplugging on a DWC2 host port with "slub_debug=FZPUA" enabled, I found a crash that was quite obviously a use after free. It appears that in some cases when we handle the various sub-cases of HCINT we may end up freeing the QTD. If there is more than one bit set in HCINT we may then end up continuing to use the QTD, which is bad. Let's be paranoid and check for this after each sub-case. This should be safe since we officially have the "hsotg->lock" (it was grabbed in dwc2_handle_hcd_intr). The specific crash I found was: Unable to handle kernel paging request at virtual address 6b6b6b9f At the time of the crash, the kernel reported: (dwc2_hc_nak_intr+0x5c/0x198) (dwc2_handle_hcd_intr+0xa84/0xbf8) (_dwc2_hcd_irq+0x1c/0x20) (usb_hcd_irq+0x34/0x48) Popping into kgdb found that "*qtd" was filled with "0x6b", AKA qtd had been freed and filled with slub_debug poison. kgdb gave a little better stack crawl: 0 dwc2_hc_nak_intr (hsotg=hsotg@entry=0xec42e058, chan=chan@entry=0xec546dc0, chnum=chnum@entry=4, qtd=qtd@entry=0xec679600) at drivers/usb/dwc2/hcd_intr.c:1237 1 dwc2_hc_n_intr (chnum=4, hsotg=0xec42e058) at drivers/usb/dwc2/hcd_intr.c:2041 2 dwc2_hc_intr (hsotg=0xec42e058) at drivers/usb/dwc2/hcd_intr.c:2078 3 dwc2_handle_hcd_intr (hsotg=0xec42e058) at drivers/usb/dwc2/hcd_intr.c:2128 4 _dwc2_hcd_irq (hcd=<optimized out>) at drivers/usb/dwc2/hcd.c:2837 5 usb_hcd_irq (irq=<optimized out>, __hcd=<optimized out>) at drivers/usb/core/hcd.c:2353 Popping up to frame #1 (dwc2_hc_n_intr) found: (gdb) print /x hcint $12 = 0x12 AKA: #define HCINTMSK_CHHLTD (1 << 1) #define HCINTMSK_NAK (1 << 4) Further debugging found that by simulating receiving those two interrupts at the same time it was trivial to replicate the use-after-free. See <http://crosreview.com/305712> for a patch and instructions. This lead to getting the following stack crawl of the actual free: 0 arch_kgdb_breakpoint () at arch/arm/include/asm/outercache.h:103 1 kgdb_breakpoint () at kernel/debug/debug_core.c:1054 2 dwc2_hcd_qtd_unlink_and_free (hsotg=<optimized out>, qh=<optimized out>, qtd=0xe4479a00) at drivers/usb/dwc2/hcd.h:488 3 dwc2_deactivate_qh (free_qtd=<optimized out>, qh=0xe5efa280, hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:671 4 dwc2_release_channel (hsotg=hsotg@entry=0xed424618, chan=chan@entry=0xed5be000, qtd=<optimized out>, halt_status=<optimized out>) at drivers/usb/dwc2/hcd_intr.c:742 5 dwc2_halt_channel (hsotg=0xed424618, chan=0xed5be000, qtd=<optimized out>, halt_status=<optimized out>) at drivers/usb/dwc2/hcd_intr.c:804 6 dwc2_complete_non_periodic_xfer (chnum=<optimized out>, halt_status=<optimized out>, qtd=<optimized out>, chan=<optimized out>, hsotg=<optimized out>) at drivers/usb/dwc2/hcd_intr.c:889 7 dwc2_hc_xfercomp_intr (hsotg=hsotg@entry=0xed424618, chan=chan@entry=0xed5be000, chnum=chnum@entry=6, qtd=qtd@entry=0xe4479a00) at drivers/usb/dwc2/hcd_intr.c:1065 8 dwc2_hc_chhltd_intr_dma (qtd=0xe4479a00, chnum=6, chan=0xed5be000, hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:1823 9 dwc2_hc_chhltd_intr (qtd=0xe4479a00, chnum=6, chan=0xed5be000, hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:1944 10 dwc2_hc_n_intr (chnum=6, hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:2052 11 dwc2_hc_intr (hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:2097 12 dwc2_handle_hcd_intr (hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:2147 13 _dwc2_hcd_irq (hcd=<optimized out>) at drivers/usb/dwc2/hcd.c:2837 14 usb_hcd_irq (irq=<optimized out>, __hcd=<optimized out>) at drivers/usb/core/hcd.c:2353 Though we could add specific code to handle this case, adding the general purpose code to check for all cases where qtd might be freed seemed safer. Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ebd293857797e437fc18f2fb98bf4c63b1d1f381 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 23:31:15 2015 +0800 usb: gadget: fix a trivial typo s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9997e385eb2b9004d989e3710bd9001532410c0 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Sun Oct 18 20:54:37 2015 -0700 iommu/vt-d: Use dev_err(..) in intel_svm_device_to_iommu(..) This will give a little bit of assistance to those developing drivers using SVM. It might cause a slight annoyance to end-users whose kernel disables the IOMMU when drivers are trying to use it. But the fix there is to fix the kernel to enable the IOMMU. Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit a3d5aaa836ed993747af7b53cfca1b3cd3c9fc46 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 15 18:20:45 2015 -0400 drm/amdgpu/gfx8: set TC_WB_ACTION_EN in RELEASE_MEM packet This is the recommended setting from the hw team for newer versions of the firmware. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5726b27b09cc92452b543764899a07e7c8037edd Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Oct 13 16:25:37 2015 -0600 ext2: Add locking for DAX faults Add locking to ensure that DAX faults are isolated from ext2 operations that modify the data blocks allocation for an inode. This is intended to be analogous to the work being done in XFS by Dave Chinner: http://www.spinics.net/lists/linux-fsdevel/msg90260.html Compared with XFS the ext2 case is greatly simplified by the fact that ext2 already allocates and zeros new blocks before they are returned as part of ext2_get_block(), so DAX doesn't need to worry about getting unmapped or unwritten buffer heads. This means that the only work we need to do in ext2 is to isolate the DAX faults from inode block allocation changes. I believe this just means that we need to isolate the DAX faults from truncate operations. The newly introduced dax_sem is intended to replicate the protection offered by i_mmaplock in XFS. In addition to truncate the i_mmaplock also protects XFS operations like hole punching, fallocate down, extent manipulation IOCTLS like xfs_ioc_space() and extent swapping. Truncate is the only one of these operations supported by ext2. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit 9a30ae2df29c27eca58581862928ee2c7bbdfa76 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Oct 19 14:29:27 2015 +0300 ALSA: firewire-tascam: off by one in identify_model() Let's leave space for the NUL char otherwise the static checkers complain that we go beyond the end of the array. Fixes: 53b3ffee7885 ('ALSA: firewire-tascam: change device probing processing') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9fa5cf8c54940688ceb3a52eed7938b6b6585fc8 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:55 2015 +0200 ALSA: USB-audio: Remove mixer entry from Zoom R16/24 quirk The device has no mixer (and identifies itself as such), so just skip the mixer definition. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 759c90fe0129f23a4ff2a7c92e1bd30d41ac829c Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:54 2015 +0200 ALSA: USB-audio: Adjust max packet size calculation for tx_length_quirk For the Zoom R16/24 (tx_length_quirk set), when calculating the maximum sample frequency, consideration must be made for the fact that four bytes of the packet contain a length descriptor and consequently must not be counted as part of the audio data. This is corroborated by the wMaxPacketSize for this device, which is 108 bytes according for the USB playback endpoint descriptor. The frame size is 8 bytes (2 channels of 4 bytes each), and the 108 bytes thus work out as 13 * 8 + 4, i.e. corresponding to 13 frames plus the additional 4 byte length descriptor. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e05704467736231199503e5a21c587e7ec36b829 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:53 2015 +0200 ALSA: USB-audio: Add quirk for Zoom R16/24 playback The Zoom R16/24 have a nonstandard playback format where each isochronous packet contains a length descriptor in the first four bytes. (Curiously, capture data does not contain this and requires no quirk.) The quirk involves adding the extra length descriptor whenever outgoing isochronous packets are generated, both in pcm.c (outgoing audio) and endpoint.c (silent data). In order to make the quirk as unintrusive as possible, for pcm.c:prepare_playback_urb(), the isochronous packet descriptors are initially set up in the same way no matter if the quirk is enabled or not. Once it is time to actually copy the data into the outgoing packet buffer (together with the added length descriptors) the isochronous descriptors are adjusted in order take the increased payload length into account. For endpoint.c:prepare_silent_urb() it makes more sense to modify the actual function, partly because the function is less complex to start with and partly because it is not as time-critical as prepare_playback_urb() (whose bulk is run with interrupts disabled), so the (minute) additional time spent in the non-quirk case is motivated by the simplicity of having a single function for all cases. The quirk is controlled by the new tx_length_quirk member in struct snd_usb_substream and struct snd_usb_audio, which is conveyed to pcm.c and endpoint.c from quirks.c in a similar manner to the txfr_quirk member in the same structs. In contrast to txfr_quirk however, the quirk is enabled directly in quirks.c:create_standard_audio_quirk() by checking the USB ID in that function. Another option would be to introduce a new QUIRK_AUDIO_ZOOM_INTERFACE or somesuch, which would have made the quirk very plain to see in the quirk table, but it was felt that the additional code needed to implement it this way would just make the implementation more complex with no real gain. Tested with a Zoom R16, both by doing capture and playback separately using arecord and aplay (8 channel capture and 2 channel playback, respectively), as well as capture and playback together using Ardour, as well as Audacity and Qtractor together with jackd. The R24 is reportedly compatible with the R16 when used as an audio interface. Both devices share the same USB ID and have the same number of inputs (8) and outputs (2). Therefore "R16/24" is mentioned throughout the patch. Regression tested using an Edirol UA-5 in both class compliant (16-bit) and "advanced" (24 bit, forces the use of quirks) modes. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Tested-by: Panu Matilainen <pmatilai@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b97a936910c8d668d25d60acbf62aea0d2ff587e Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:52 2015 +0200 ALSA: USB-audio: Add offset parameter to copy_to_urb() Preparation for adding Zoom R16/24 quirk. No functional change. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5cf310e976659caeaae350258940b73daaa0d478 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:51 2015 +0200 ALSA: USB-audio: Break out creation of silent urbs from prepare_outbound_urb() Refactoring in preparation for adding Zoom R16/24 quirk. No functional change. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4c4e4391b833e6297e0a6bc43db023a8c55d6835 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:50 2015 +0200 ALSA: USB-audio: Also move out hwptr_done wrap from prepare_playback_urb() Refactoring in preparation for adding Zoom R16/24 quirk. No functional change. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 07a40c2fc6f771a4abb2acc7e59434121e9ddf4e Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:49 2015 +0200 ALSA: USB-audio: Break out copying to urb from prepare_playback_urb() Refactoring in preparation for adding Zoom R16/24 quirk. No functional change. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 759a2f40c9fa3839c021f7cdc4ec19d10fd63b44 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 17:09:40 2015 +0900 ALSA: oxfw: add an entry for TASCAM FireOne TASCAM FireOne is based on OXFW971 and ALSA OXFW driver can support it. These are values of identical registers. $ ./firewire-request /dev/fw1 read 0xfffff0050000 result: 97100105 $ ./firewire-request /dev/fw1 read 0xfffff0090020 result: 39373100 This commit adds an entry for this model. This model has physical controls and its MIDI control messages are transferred to second MIDI data stream multiplexed in one MIDI conformant data channel. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bb71da43469679bf53dc97433dc02895e4d58352 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 17:09:39 2015 +0900 ALSA: oxfw: support more MIDI ports In IEC 61883-6, sequence multiplexing is applied to MIDI conformant data channel. As a result, eight MIDI data streams are included in the channel. Although ALSA AM824 data block processing layer implements this multiplexing, current OXFW driver doesn't utilize it due to wrong calculation of MIDI ports. This commit fixes this bug to add proper calculation. Although this commit allows to use 8 MIDI data streams, the number of available MIDI ports is limited by the number of ALSA MIDI ports added by the driver. Fixes: df075feefbd3('ALSA: firewire-lib: complete AM824 data block processing layer') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 32056041019aa91c2555cc4c280f9fbca8a1be99 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 17:09:38 2015 +0900 ALSA: oxfw: calculating MIDI ports in stream discover Current OXFW driver calculates the number of MIDI ports just before adding ALSA MIDI ports. It's convenient for some devices with quirks to move these codes before handling quirks. This commit implements this idea. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 56b1c72a75ec44a98aca8bbd71ac869a6f54e036 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:58:37 2015 +0900 ALSA: firewire-lib: avoid NULL pointer dereference after closing MIDI port When asynchronous MIDI port is closed before callbacked, the callback function causes NULL pointer dereference to missing MIDI substream. This commit fixes this bug. Fixes: e8a40d9bcb23('ALSA: firewire-lib: schedule work again when MIDI substream has rest of MIDI messages') Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bd04809bbe4c1f749650bb990c969112a5e10aef Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:39:53 2015 +0900 ALSA: firewire-digi00x/firewire-tascam: remove wrong conversion for Config ROM The contents of Config ROM in firewire device structure are already aligned to CPU-endianness. Thus, no need to convert it again. This commit removes needless conversions Fixes: 9edf723fd858('ALSA: firewire-digi00x: add skeleton for Digi 002/003 family') Fixes: c0949b278515('ALSA: firewire-tascam: add skeleton for TASCAM FireWire series') Reported-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fef586d58960bc867c1fa8126ee5d7364a5a89ac Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:39:52 2015 +0900 ALSA: bebob: use correct type for __be32 data In former commit, metering is supported for BeBoB based models customized by M-Audio. The data in transaction is aligned to big-endianness, while in the driver code u16 typed variable is assigned to the data. This causes sparse warnings. bebob_maudio.c:651:31: warning: cast to restricted __be16 bebob_maudio.c:651:31: warning: cast to restricted __be16 bebob_maudio.c:651:31: warning: cast to restricted __be16 bebob_maudio.c:651:31: warning: cast to restricted __be16 This commit fixes this bug by using __be16 variable for the data. Fixes: 3149ac489ff8('ALSA: bebob: Add support for M-Audio special Firewire series') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 463543ac2effaeb2b524f0a0a92f2413c23998ca Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:39:51 2015 +0900 ALSA: fireworks: use u32 type for be32_to_cpup() macro In former commit, snd_efw_command_get_phys_meters() was added to handle metering data. The given buffer is used to save transaction result and to convert between endianness. But this causes sparse warnings. fireworks_command.c:269:25: warning: incorrect type in argument 1 (different base types) fireworks_command.c:269:25: expected unsigned int [usertype] *p fireworks_command.c:269:25: got restricted __be32 [usertype] * This commit fixes this bug. Fixes: bde8a8f23bbe('ALSA: fireworks: Add transaction and some commands') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cbc6f28067aa0aa1193c2bf3546430b2c4dae22c Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:39:50 2015 +0900 ALSA: dice: assign converted data to the same type of variable In former commit, u32 data was assigned to __be32 variable instead of an int variable. This is not enough solution because it still causes sparse warnings. dice.c:80:23: warning: incorrect type in assignment (different base types) dice.c:80:23: expected restricted __be32 [usertype] value dice.c:80:23: got unsigned int dice.c:81:21: warning: restricted __be32 degrades to integer dice.c:81:46: warning: restricted __be32 degrades to integer This commit fixes this bug. Fixes: 7c2d4c0cf5ba('ALSA: dice: Split transaction functionality into a file') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3e93d42a04eea4e621f87bfc51b0ab868e131cb9 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:39:49 2015 +0900 ALSA: dice: correct variable types for __be32 data Some local variables in some functions are typed as unsigned int, while __be32 value is assigned to them. This causes sparse warnings. dice-stream.c:50:17: warning: incorrect type in assignment (different base types) dice-stream.c:50:17: expected unsigned int [unsigned] channel dice-stream.c:50:17: got restricted __be32 [usertype] <noident> dice-stream.c:74:17: warning: incorrect type in assignment (different base types) dice-stream.c:74:17: expected unsigned int [unsigned] channel dice-stream.c:74:17: got restricted __be32 [usertype] <noident> This commit fixes this bug. Fixes: 288a8d0cb04f('ALSA: dice: Change the way to start stream') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d2c85ac24ed7636934f469fac8836b87c7e6cb40 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Sat Oct 17 19:25:07 2015 +0000 hsi: correctly handle return value of kzalloc Since kzalloc can be failed in memory pressure, its return value should be checked and handled. Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8c85ac1c0a1b41299370857765bc0950666ed5d9 Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Mon Oct 19 15:13:29 2015 +0900 KVM: x86: MMU: Initialize force_pt_level before calling mapping_level() Commit fd1369021878 ("KVM: x86: MMU: Move mapping_level_dirty_bitmap() call in mapping_level()") forgot to initialize force_pt_level to false in FNAME(page_fault)() before calling mapping_level() like nonpaging_map() does. This can sometimes result in forcing page table level mapping unnecessarily. Fix this and move the first *force_pt_level check in mapping_level() before kvm_vcpu_gfn_to_memslot() call to make it a bit clearer that the variable must be initialized before mapping_level() gets called. This change can also avoid calling kvm_vcpu_gfn_to_memslot() when !check_hugepage_cache_consistency() check in tdp_page_fault() forces page table level mapping. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5690891bcec5fcfda38da974ffa5488e36a59811 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Oct 19 11:30:19 2015 +0200 kvm: x86: zero EFER on INIT Not zeroing EFER means that a 32-bit firmware cannot enter paging mode without clearing EFER.LME first (which it should not know about). Yang Zhang from Intel confirmed that the manual is wrong and EFER is cleared to zero on INIT. Fixes: d28bc9dd25ce023270d2e039e7c98d38ecbf7758 Cc: stable@xxxxxxxxxxxxxxx Cc: Yang Z Zhang <yang.z.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a0fb6ad7ae28a4dce34c010028dc070eeacae1d9 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Oct 16 19:11:30 2015 +0200 drm/fb-helper: Fix fb refcounting in pan_display_atomic In commit bbb1e52402b2a288b09ae37e8182599931c7e9df Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:35:58 2015 -0400 drm/fb-helper: atomic restore_fbdev_mode().. we've forgotten to do the plane->old_fb refcount dance for pan_display_atomic, which can result in refcount leaks if the current configuration is not from fbcon. Which apparently can happen when vt-switching - fbcon does a pan first before a set_par. OCD-align function parameters while at it. v2: Actually git add the OCD. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92483 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445015490-27682-1-git-send-email-daniel.vetter@xxxxxxxx Tested-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 16e910df19ae8aa2dc0f1e8502aea7a36888457b Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Oct 16 18:23:13 2015 +0200 drm/fb-helper: Set plane rotation directly The point behind standardizing properties into core drm state structures is also that internal code looks prettiers. Take advantage of that and set rotation directly in the fbdev atomic code. Cc: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445012594-25988-1-git-send-email-daniel.vetter@xxxxxxxx Acked-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6749c9f023d49adca3ca4773e93282b95ceebfb5 Author: Adam Richter <adamrichter4@xxxxxxxxx> Date: Fri Oct 16 03:33:02 2015 -0700 drm: fix mutex leak in drm_dp_get_mst_branch_device In Linux 4.3-rc5, there is an error case in drm_dp_get_branch_device that returns without releasing mgr->lock, resulting a spew of kernel messages about a kernel work function possibly having leaked a mutex and presumably more serious adverse consequences later. This patch changes the error to "goto out" to unlock the mutex before returning. Signed-off-by: Adam J. Richter <adam_richter2004@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2afa701d3e0bb9865130990b5e0cfe240ae3b605 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 15 20:40:02 2015 +0300 drm: Check plane src coordinates correctly during page flip for atomic drivers Instead of relying on the old crtc-{x,y,mode} gunk, dig out the primary plane coordinates from the plane state when checking them against the new framebuffer during page flip. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1444930802-8515-5-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 33e0be63759d472e7a6996d1277ff66e92a8685d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Oct 16 18:38:39 2015 +0300 drm: Check crtc viewport correctly with rotated primary plane on atomic drivers On atomic drivers we can dig out the primary plane rotation from the plane state instead of looking at the legacy crtc->invert_dimensions flag. The flag is not set by anyone except omapdrm, and it would be racy to set it the same way in the atomic helpers. v2: Kill crtc->invert_dimensions totally since omap is state based already and no one else ever used it (Matt) Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445009919-22746-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce8d9ecc1b9dafc593bac481a6fcc39cc913543a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 15 20:40:00 2015 +0300 drm: Refactor plane src coordinate checks Pull the plane src coordinate checks into a separate function so that we can share them for the legacy and new stuff. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1444930802-8515-3-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 41121248600f7f8c2a97b256bd9bcec436392a53 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 15 20:39:59 2015 +0300 drm: Swap w/h when converting the mode to src coordidates for a rotated primary plane When converting the mode hdisplay/vdisplay to primary plane src coordinates we need to take into account the current plane rotation. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1444930802-8515-2-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c390eed025dbbd09fff6cf128fb4eee83c9008a3 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 15 20:39:58 2015 +0300 drm: Don't leak fb when plane crtc coodinates are bad Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2b760d88a0fcd85a526a5c1ce4556ceff5723baa Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Fri Sep 4 20:49:36 2015 +0200 ALSA: hda - Spell vga_switcheroo consistently Currently everyone and their dog has their own favourite spelling for vga_switcheroo. This makes it hard to grep dmesg for log entries relating to vga_switcheroo. It also makes it hard to find related source files in the tree. vga_switcheroo.c uses pr_fmt "vga_switcheroo". Use that everywhere. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/9b0175319ce78d831acfcf11e4c6c760f826b0e3.1444663039.git.lukas@xxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2225cfe46bcc7558d9e371d1bc117df2df1fbacd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 11:33:43 2015 +0200 drm/gem: Use kref_get_unless_zero for the weak mmap references Compared to wrapping the final kref_put with dev->struct_mutex this allows us to only acquire the offset manager look both in the final cleanup and in the lookup. Which has the upside that no locks leak out of the core abstractions. But it means that we need to hold a temporary reference to the object while checking mmap constraints, to make sure the object doesn't disappear. Extended the critical region would have worked too, but would result in more leaky locking. Also, this is the final bit which required dev->struct_mutex in gem core, now modern drivers can be completely struct_mutex free! This needs a new drm_vma_offset_exact_lookup_locked and makes both drm_vma_offset_exact_lookup and drm_vma_offset_lookup unused. v2: Don't leak object references in failure paths (David). v3: Add a comment from Chris explaining how the ordering works, with the slight adjustment that I dropped any mention of struct_mutex since with this patch it's now immaterial ot core gem. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Link: http://mid.gmane.org/1444901623-18918-1-git-send-email-daniel.vetter@xxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 3d57b42cabc8472ab63f0adc9529102314218f1e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 09:36:23 2015 +0200 drm/vgem: Drop vgem_drm_gem_mmap It's duplicating (without using some of the helpers) drm_gem_mmap with the addition that it can redirect to drm-buf mmap support. But prime import/export was dropped in commit 990ed2720717173bbdea4cfb2bad37cc7aa91495 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Thu May 21 11:58:30 2015 -0400 drm/vgem: drop DRIVER_PRIME (v2) for now, so this is dead code. And since I want to rework the locking for drm_gem_mmap it seems simpler to de-dupe this code for now and then start over with the reworked one again, if we want to resurrect this all indeed. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Link: http://mid.gmane.org/1444894601-5200-8-git-send-email-daniel.vetter@xxxxxxxx Acked-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3c67d839b30c7d6d6ab5c6fddac0f58ec8095d50 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Thu Oct 15 11:56:56 2015 +0200 drm: Fix return value of drm_framebuffer_init() In its original version, drm_framebuffer_init() returned a negative int if drm_mode_object_get() failed (f453ba046074, "DRM: add mode setting support"). This was accidentally disabled by commit 4b096ac10da0 ("drm: revamp locking around fb creation/destruction"). Thus, drm_framebuffer_init() pretends success if drm_mode_object_get() failed. Reinstate the original behaviour. Also fix erroneous kernel-doc of drm_mode_object_get(). Fixes: 4b096ac10da0 ("drm: revamp locking around fb creation/ destruction") Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6ff774bd472dcbe77df63ab8044cd9cf65535814 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 09:36:26 2015 +0200 drm/gem: Use container_of in drm_gem_object_free Just a random thing I spotted while reading code - better safe than sorry. Link: http://mid.gmane.org/1444894601-5200-11-git-send-email-daniel.vetter@xxxxxxxx Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ef4c6270bf2867e2f8032e9614d1a8cfc6c71663 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 09:36:25 2015 +0200 drm/gem: Check locking in drm_gem_object_unreference Pretty soon only some drivers will need dev->struct_mutex in their gem_free_object callbacks. Hence it's really important to make sure everything still keeps getting this right. v2: Don't check for locking before we check for non-NULL obj. Spotted by Dan Carpenter. Link: http://mid.gmane.org/1444894601-5200-10-git-send-email-daniel.vetter@xxxxxxxx Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit bed08b7e1fa41eac214acb17b7aa20a0e5c4b4e6 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Oct 13 19:17:07 2015 +1100 powerpc/cell: Drop CONFIG_TUNE_CELL in favour of CONFIG_CELL_CPU The TUNE_CELL option allows you to build a kernel that runs on multiple CPUs but is tuned (ie. optimised) to run on Cell CPUs. Now days no one is building a distro in that fashion, and any users who are building custom kernels for their Cell machines are better off building with CONFIG_CELL_CPU, which builds a kernel that only runs on Cell and therefore can be optimised even more aggresively. Dropping the option also avoids confusing other users, who are presented with an option to tune for Cell when they are not building for a Cell CPU at all. Suggested-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 39fcfb911c3862f1366ef84efbea10aff59421c2 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Sun Oct 18 13:23:53 2015 +0300 selftests/powerpc: Run EBB tests only on POWER8 EBB (Event Based Branches) are currently only available on POWER8, so we should skip them on other CPUs. I've found that at least one test loops forever on 970MP (cycles_with_freeze_test). Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> [mpe: Minor change log editing, add skip to cpu_event_vs_ebb_test] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6bd03ce3c12a22d86f59070f1da15aaa2bde8a51 Author: Andrew F. Davis <afd@xxxxxx> Date: Fri Oct 16 09:49:20 2015 -0500 power: bq27xxx_battery: Remove unneeded dependency in Kconfig I2C is only required when using the config item BATTERY_BQ27XXX_I2C which already depends on the I2C subsystem, remove the unneeded dependency from BATTERY_BQ27XXX. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 41a90db8fd35a682650ff8f01ff9cc05f53fa8a6 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Oct 16 15:44:11 2015 +0200 power: bq27xxx_battery: move irq handler to i2c section The IRQ handler is not used by the platform based code resulting in a 'defined but not used' warning, if CONFIG_BQ27XXX_I2C is not enabled. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Andrew F. Davis <afd@xxxxxx> commit 0077ae7e99de5720f8458e2db163fee77ee0fba5 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Oct 16 15:44:10 2015 +0200 power: bq27xxx_battery: fix platform probe Add missing initialization of register mapping table to platform probe function. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Andrew F. Davis <afd@xxxxxx> commit ca064bd89363a6e7e71b1c5226ff1b718957a9d4 Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Date: Mon Oct 19 10:30:05 2015 +0200 xfrm: Fix pmtu discovery for local generated packets. Commit 044a832a777 ("xfrm: Fix local error reporting crash with interfamily tunnels") moved the setting of skb->protocol behind the last access of the inner mode family to fix an interfamily crash. Unfortunately now skb->protocol might not be set at all, so we fail dispatch to the inner address family. As a reault, the local error handler is not called and the mtu value is not reported back to userspace. We fix this by setting skb->protocol on message size errors before we call xfrm_local_error. Fixes: 044a832a7779c ("xfrm: Fix local error reporting crash with interfamily tunnels") Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 558a65bc31a0c7811b34dad32f51f47c55a40000 Author: Chuck Ebbert <cebbert.lkml@xxxxxxxxx> Date: Wed Oct 14 14:31:19 2015 -0400 sched/x86: Fix typo in __switch_to() comments Fix obvious mistake: FS/GS should be DS/ES. Signed-off-by: Chuck Ebbert <cebbert.lkml@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: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20151014143119.78858eeb@r5 Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c13dc31adb04c3f85d54d2fa13e34206f25742eb Merge: 7379047 39cd2dd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:09:54 2015 +0200 Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull RCU updates from Paul E. McKenney: - Miscellaneous fixes. (Paul E. McKenney, Boqun Feng, Oleg Nesterov, Patrick Marlier) - Improvements to expedited grace periods. (Paul E. McKenney) - Performance improvements to and locktorture tests for percpu-rwsem. (Oleg Nesterov, Paul E. McKenney) - Torture-test changes. (Paul E. McKenney, Davidlohr Bueso) - Documentation updates. (Paul E. McKenney) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a75ca545e8d57473da47ece828ad98a10727ec6f Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Fri Oct 16 14:28:53 2015 +0300 x86, kasan: Fix build failure on KASAN=y && KMEMCHECK=y kernels Declaration of memcpy() is hidden under #ifndef CONFIG_KMEMCHECK. In asm/efi.h under #ifdef CONFIG_KASAN we #undef memcpy(), due to which the following happens: In file included from arch/x86/kernel/setup.c:96:0: ./arch/x86/include/asm/desc.h: In function â??native_write_idt_entryâ??: ./arch/x86/include/asm/desc.h:122:2: error: implicit declaration of function â??memcpyâ?? [-Werror=implicit-function-declaration] memcpy(&idt[entry], gate, sizeof(*gate)); ^ cc1: some warnings being treated as errors make[2]: *** [arch/x86/kernel/setup.o] Error 1 We will get rid of that #undef in asm/efi.h eventually. But in the meanwhile move memcpy() declaration out of #ifdefs to fix the build. Reported-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> 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/1444994933-28328-1-git-send-email-aryabinin@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fcafddec4e78a7776db4b6685db6b2902d4300fc Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Oct 16 00:14:29 2015 -0400 x86/smpboot: Fix CPU #1 boot timeout The following commit: a9bcaa02a5104ac ("x86/smpboot: Remove SIPI delays from cpu_up()") Caused some Intel Core2 processors to time-out when bringing up CPU #1, resulting in the missing of that CPU after bootup. That patch reduced the SIPI delays from udelay() 300, 200 to udelay() 0, 0 on modern processors. Several Intel(R) Core(TM)2 systems failed to bring up CPU #1 10/10 times after that change. Increasing either of the SIPI delays to udelay(1) results in success. So here we increase both to udelay(10). While this may be 20x slower than the absolute minimum, it is still 20x to 30x faster than the original code. Tested-by: Donald Parsons <dparsons@xxxxxxxxxxxxx> Tested-by: Shane <shrybman@xxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dparsons@xxxxxxxxxxxxx Cc: shrybman@xxxxxxxxxxxx Link: http://lkml.kernel.org/r/6dd554ee8945984d85aafb2ad35793174d068af0.1444968087.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f1ccd249319efca4ee4faf1d904f5a362cac7c81 Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Oct 16 00:14:28 2015 -0400 x86/smpboot: Fix cpu_init_udelay=10000 corner case boot parameter misbehavior For legacy machines cpu_init_udelay defaults to 10,000. For modern machines it is set to 0. The user should be able to set cpu_init_udelay to any value on the cmdline, including 10,000. Before this patch, that was seen as "unchanged from default" and thus on a modern machine, the user request was ignored and the delay was set to 0. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dparsons@xxxxxxxxxxxxx Cc: shrybman@xxxxxxxxxxxx Link: http://lkml.kernel.org/r/de363cdbbcfcca1d22569683f7eb9873e0177251.1444968087.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fbe6a3114471cccaeaeabfa56937731503ece545 Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Mon Oct 19 00:06:58 2015 -0700 Input: xpad - fix clash of presence handling with LED setting Do not call xpad_identify_controller at init with wireless devices: it conflicts with the already sent presence packet and will be called by xpad360w_process_packet as needed anyway. Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 85001089a764d6d12b47f33a8c9b49cf06cfe045 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Oct 14 13:51:54 2015 +0100 gpio/xilinx: enable for MIPS MIPSfpga uses the axi gpio controller. Enable the driver for MIPS. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 371f1c7e0d854796adc622cc3bacfcc5fc638db1 Merge: 7b4b000 f0a0a97 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 18 22:48:34 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter/IPVS updates for net-next The following patchset contains Netfilter/IPVS updates for your net-next tree. Most relevantly, updates for the nfnetlink_log to integrate with conntrack, fixes for cttimeout and improvements for nf_queue core, they are: 1) Remove useless ifdef around static inline function in IPVS, from Eric W. Biederman. 2) Simplify the conntrack support for nfnetlink_queue: Merge nfnetlink_queue_ct.c file into nfnetlink_queue_core.c, then rename it back to nfnetlink_queue.c 3) Use y2038 safe timestamp from nfnetlink_queue. 4) Get rid of dead function definition in nf_conntrack, from Flavio Leitner. 5) Attach conntrack support for nfnetlink_log.c, from Ken-ichirou MATSUZAWA. This adds a new NETFILTER_NETLINK_GLUE_CT Kconfig switch that controls enabling both nfqueue and nflog integration with conntrack. The userspace application can request this via NFULNL_CFG_F_CONNTRACK configuration flag. 6) Remove unused netns variables in IPVS, from Eric W. Biederman and Simon Horman. 7) Don't put back the refcount on the cttimeout object from xt_CT on success. 8) Fix crash on cttimeout policy object removal. We have to flush out the cttimeout extension area of the conntrack not to refer to an unexisting object that was just removed. 9) Make sure rcu_callback completion before removing nfnetlink_cttimeout module removal. 10) Fix compilation warning in br_netfilter when no nf_defrag_ipv4 and nf_defrag_ipv6 are enabled. Patch from Arnd Bergmann. 11) Autoload ctnetlink dependencies when NFULNL_CFG_F_CONNTRACK is requested. Again from Ken-ichirou MATSUZAWA. 12) Don't use pointer to previous hook when reinjecting traffic via nf_queue with NF_REPEAT verdict since it may be already gone. This also avoids a deadloop if the userspace application keeps returning NF_REPEAT. 13) A bunch of cleanups for netfilter IPv4 and IPv6 code from Ian Morris. 14) Consolidate logger instance existence check in nfulnl_recv_config(). 15) Fix broken atomicity when applying configuration updates to logger instances in nfnetlink_log. 16) Get rid of the .owner attribute in our hook object. We don't need this anymore since we're dropping pending packets that have escaped from the kernel when unremoving the hook. Patch from Florian Westphal. 17) Remove unnecessary rcu_read_lock() from nf_reinject code, we always assume RCU read side lock from .call_rcu in nfnetlink. Also from Florian. 18) Use static inline function instead of macros to define NF_HOOK() and NF_HOOK_COND() when no netfilter support in on, from Arnd Bergmann. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b4b000951f09cfe3604a6fdf5469894b4e75adb Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Fri Oct 16 22:13:21 2015 -0400 RDS: fix rds-ping deadlock over TCP transport Sowmini found hang with rds-ping while testing RDS over TCP. Its a corner case and doesn't happen always. The issue is not reproducible with IB transport. Its clear from below dump why we see it with RDS TCP. [<ffffffff8153b7e5>] do_tcp_setsockopt+0xb5/0x740 [<ffffffff8153bec4>] tcp_setsockopt+0x24/0x30 [<ffffffff814d57d4>] sock_common_setsockopt+0x14/0x20 [<ffffffffa096071d>] rds_tcp_xmit_prepare+0x5d/0x70 [rds_tcp] [<ffffffffa093b5f7>] rds_send_xmit+0xd7/0x740 [rds] [<ffffffffa093bda2>] rds_send_pong+0x142/0x180 [rds] [<ffffffffa0939d34>] rds_recv_incoming+0x274/0x330 [rds] [<ffffffff810815ae>] ? ttwu_queue+0x11e/0x130 [<ffffffff814dcacd>] ? skb_copy_bits+0x6d/0x2c0 [<ffffffffa0960350>] rds_tcp_data_recv+0x2f0/0x3d0 [rds_tcp] [<ffffffff8153d836>] tcp_read_sock+0x96/0x1c0 [<ffffffffa0960060>] ? rds_tcp_recv_init+0x40/0x40 [rds_tcp] [<ffffffff814d6a90>] ? sock_def_write_space+0xa0/0xa0 [<ffffffffa09604d1>] rds_tcp_data_ready+0xa1/0xf0 [rds_tcp] [<ffffffff81545249>] tcp_data_queue+0x379/0x5b0 [<ffffffffa0960cdb>] ? rds_tcp_write_space+0xbb/0x110 [rds_tcp] [<ffffffff81547fd2>] tcp_rcv_established+0x2e2/0x6e0 [<ffffffff81552602>] tcp_v4_do_rcv+0x122/0x220 [<ffffffff81553627>] tcp_v4_rcv+0x867/0x880 [<ffffffff8152e0b3>] ip_local_deliver_finish+0xa3/0x220 This happens because rds_send_xmit() chain wants to take sock_lock which is already taken by tcp_v4_rcv() on its way to rds_tcp_data_ready(). Commit db6526dcb51b ("RDS: use rds_send_xmit() state instead of RDS_LL_SEND_FULL") which was trying to opportunistically finish the send request in same thread context. But because of above recursive lock hang with RDS TCP, the send work from rds_send_pong() needs to deferred to worker to avoid lock up. Given RDS ping is more of connectivity test than performance critical path, its should be ok even for transport like IB. Reported-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Acked-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3958b9e18140457b5600b03619e4c2e530761fe Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 16:12:34 2015 -0700 uapi: add mpls_iptunnel.h Add missing rule to export mpls iptunnel header needed by iproute2 Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc6ef6be52154490c5c03f742e28bc781cc751b2 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 16 13:00:01 2015 -0700 tcp: do not set queue_mapping on SYNACK At the time of commit fff326990789 ("tcp: reflect SYN queue_mapping into SYNACK packets") we had little ways to cope with SYN floods. We no longer need to reflect incoming skb queue mappings, and instead can pick a TX queue based on cpu cooking the SYNACK, with normal XPS affinities. Note that all SYNACK retransmits were picking TX queue 0, this no longer is a win given that SYNACK rtx are now distributed on all cpus. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16175039e6c6527453a23b4949c2a68e82750895 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Mon Oct 19 00:01:05 2015 -0400 ext4: fix abs() usage in ext4_mb_check_group_pa The ext4_fsblk_t type is a long long, which should not be used with abs(), as is done in ext4_mb_check_group_pa(). This patch modifies ext4_mb_check_group_pa() to use abs64() instead. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1e381f60dad913625956ed3a9c5714d9fc7e865f Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Sun Oct 18 23:50:26 2015 -0400 ext4: do not allow journal_opts for fs w/o journal It is appeared that we can pass journal related mount options and such options be shown in /proc/mounts Example: #mkfs.ext4 -F /dev/vdb #tune2fs -O ^has_journal /dev/vdb #mount /dev/vdb /mnt/ -ocommit=20,journal_async_commit #cat /proc/mounts | grep /mnt /dev/vdb /mnt ext4 rw,relatime,journal_checksum,journal_async_commit,commit=20,data=ordered 0 0 But options:"journal_checksum,journal_async_commit,commit=20,data=ordered" has nothing with reality because there is no journal at all. This patch disallow following options for journalless configurations: - journal_checksum - journal_async_commit - commit=%ld - data={writeback,ordered,journal} Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx> commit c93cf2d75779d73376e84e2547de1304113d3f1c Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Sun Oct 18 23:35:32 2015 -0400 ext4: explicit mount options parsing cleanup Currently MOPT_EXPLICIT treated as EXPLICIT_DELALLOC which may be changed in future. Let's fix it now. Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 951b5d959f1da4bae8910085a2d8d6a3d374c72d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 16 12:00:51 2015 +0200 net: hix5hd2_gmac: avoid integer overload warning BITS_RX_EN is an 'unsigned long' constant, so the ones complement of that has bits set that do not fit into a 32-bit variable on 64-bit architectures, which causes a harmless gcc warning: drivers/net/ethernet/hisilicon/hix5hd2_gmac.c: In function 'hix5hd2_port_disable': drivers/net/ethernet/hisilicon/hix5hd2_gmac.c:374:2: warning: large integer implicitly truncated to unsigned type [-Woverflow] writel_relaxed(~(BITS_RX_EN | BITS_TX_EN), priv->base + PORT_EN); This adds a cast to (u32) to tell gcc that the code is indeed fine. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 876133d3161dcb743983d1f9e5bf247aea2fb0f1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 16 11:33:49 2015 +0200 net: hisilicon: add OF dependency The HNS MDIO driver fails to build on older ARM machines that are not yet converted to CONFIG_OF: drivers/net/ethernet/hisilicon/hns_mdio.c: In function 'hns_mdio_bus_name': drivers/net/ethernet/hisilicon/hns_mdio.c:405:14: error: 'OF_BAD_ADDR' undeclared (first use in this function) u64 taddr = OF_BAD_ADDR; ^ drivers/net/ethernet/hisilicon/hns_mdio.c:405:14: note: each undeclared identifier is reported only once for each function it appears in drivers/net/ethernet/hisilicon/hns_mdio.c:409:11: error: implicit declaration of function 'of_translate_address' [-Werror=implicit-function-declaration] taddr = of_translate_address(np, addr); ^ This clarifies the dependency to ensure we don't attempt to build these drivers without CONFIG_OF, but also adds a COMPILE_TEST alternative to give us better build coverage testing. Build-tested on x86 as well to ensure this actually works. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 119c7ad8084affb64b242b7c6d9d9f84b91163cb Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 16 11:30:56 2015 +0200 net: hisilicon: include linux/vmalloc.h in dsaf Some configurations fail to build the hns dsaf code because of a missing header file: ethernet/hisilicon/hns/hns_dsaf_main.c: In function 'hns_dsaf_init': ethernet/hisilicon/hns/hns_dsaf_main.c:1096:2: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration] priv->soft_mac_tbl = vzalloc(sizeof(*priv->soft_mac_tbl) This adds the correct #include. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a679dbbbc6a363339aad75589706ee73762b75d9 Merge: 4639a3b 90a505b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 18 19:57:12 2015 -0700 Merge branch 'hns-fixes' yankejian says: ==================== net: hns: fixes two bugs in hns driver This patchset fixes two bugs in hns driver. - fixes timeout when received pause frame from the connective ports - should be set by using ethtool -s when the devices are link down ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90a505b9f607bf09525bb8eb766b73a658675b38 Author: lisheng <lisheng011@xxxxxxxxxx> Date: Fri Oct 16 17:03:20 2015 +0800 net: hns: fixes a bug about timeout by pause frame this patch fixes the bug triggered timeout sequence. when the connective ports cannot accept the packets with higher speed, they will send out the pause frame to the Soc's mac. At that time, the driver resets the relevant of the Soc, then it causes the packets cannot be sent out immediately. this patch fixes the issue. Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> Signed-off-by: lisheng <lisheng011@xxxxxxxxxx> Signed-off-by: lipeng <lipeng321@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20ddb1d3d0015ff77f83561a0ede7aaebf7417bf Author: Chenny Xu <chenny.xu@xxxxxxxxxx> Date: Fri Oct 16 17:03:19 2015 +0800 net: hns: fixes the issue by using ethtool -s before this patch, hns driver only permits user to set the net device by using ethtool -s when the device is link up. it is obviously not so good. it needs to be set no matter it is link up or down. so this patch fixes this issue. Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> Signed-off-by: lisheng <lisheng011@xxxxxxxxxx> Signed-off-by: lipeng <lipeng321@xxxxxxxxxx> Signed-off-by: Chenny Xu <chenny.xu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4639a3b522f1acec462896f1770523f380fe0157 Merge: b89eb1f abc2b10 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 18 19:54:45 2015 -0700 Merge branch 'hsi-fixes' huangdaode says: ==================== net: hisilicon fix some bugs in HNS drivers This patchset fixes the two bugs in HNS driver, one is remove the hnae sysfs interface according to the review comments from Arnd Bergmann <arnd@xxxxxxxx>, another is fixing the wrong mac_id judgement bug which is found during internal tests. change log: v3: remove the hnae sysfs interface. v2: 1) remove first bug fix, which is fixed in another patch submitted by Arnd Bergmann <arnd@xxxxxxxx> 2) change the code sytyle according to Joe. v1: initial version. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abc2b10eadc6587192adde6ab4050d27dda5ee8f Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Fri Oct 16 11:54:17 2015 +0800 net: hisilicon fix a bug on Hisilicon Network Subsystem This patch fixes the wrong judgement of mac_id when get port num. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31bbd77189a82ed0b7f167d3b8b6561898fa8a80 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Fri Oct 16 11:54:16 2015 +0800 net: hisilicon rm hnae sysfs interface This patch removes the hns driver hnae sysfs interface according to Arnd's review comments. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b89eb1fcf2d4c068f088c39100f5e3067d8cccc9 Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Thu Oct 15 10:37:13 2015 -0700 net: phy: bcm-phy-lib: Fix module license issue The 'bcm-phy-lib.c', added as a part of the commit "net: phy: Add Broadcom phy library for common interfaces" was missing the module license. This was causing an issue when the library is built as a module; "module license 'unspecified' taints kernel". This patch fixes the issue by adding the module license, author and description to the bcm-phy-lib.c file. Fixes: a1cba5613edf5 ("net: phy: Add Broadcom phy library for common interfaces") Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26fb342c734061859fec1bd9e987bb6b78061ef0 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Oct 15 16:54:36 2015 +0800 ipconfig: send Client-identifier in DHCP requests A dhcp server may provide parameters to a client from a pool of IP addresses and using a shared rootfs, or provide a specific set of parameters for a specific client, usually using the MAC address to identify each client individually. The dhcp protocol also specifies a client-id field which can be used to determine the correct parameters to supply when no MAC address is available. There is currently no way to tell the kernel to supply a specific client-id, only the userspace dhcp clients support this feature, but this can not be used when the network is needed before userspace is available such as when the root filesystem is on NFS. This patch is to be able to do something like "ip=dhcp,client_id_type, client_id_value", as a kernel parameter to enable the kernel to identify itself to the server. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 525d12f27bb05c4255857849a8d28c0c086bd28e Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Sun Oct 18 20:57:09 2015 +0300 misc: sram: partition base address belongs to __iomem space The change fixes a warning found by sparse: drivers/misc/sram.c:134:20: warning: incorrect type in assignment (different address spaces) drivers/misc/sram.c:134:20: expected void *base drivers/misc/sram.c:134:20: got void [noderef] <asn:2>* Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8a1978e07c412f8d79b8612f45aaafe7238ca62 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sun Oct 18 16:25:53 2015 -0700 Input: sur40 - add dependency on VIDEO_V4L2 Fix build errors due to missing Kconfig dependency. drivers/built-in.o: In function `sur40_disconnect': sur40.c:(.text+0x22be6e): undefined reference to `video_unregister_device' sur40.c:(.text+0x22be77): undefined reference to `v4l2_device_unregister' drivers/built-in.o: In function `sur40_process_video': sur40.c:(.text+0x22c1d4): undefined reference to `v4l2_get_timestamp' drivers/built-in.o: In function `sur40_probe': sur40.c:(.text+0x22ca82): undefined reference to `v4l2_device_register' sur40.c:(.text+0x22cb1a): undefined reference to `v4l2_device_unregister' sur40.c:(.text+0x22cbf7): undefined reference to `video_device_release_empty' sur40.c:(.text+0x22cc53): undefined reference to `__video_register_device' sur40.c:(.text+0x22cc90): undefined reference to `video_unregister_device' drivers/built-in.o: In function `sur40_vidioc_querycap': sur40.c:(.text+0x22ccb0): undefined reference to `video_devdata' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d72c39114c3f36785bb71aaf9dea642e59723abc Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 18:17:09 2015 -0400 TPM: remove unnecessary little endian conversion The base pointer for the event log is allocated in the local kernel (in prom_instantiate_sml()), therefore it is already in the host's endian byte order and requires no conversion. The content of the 'basep' pointer in read_log() stores the base address of the log. This patch ensures that it is correctly implemented. Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Joy Latten <jmlatten@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ashley Lai <ashley@xxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 0cc698af36ff22295dce2f5e46b0cfe605789fa4 Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 18:17:08 2015 -0400 vTPM: support little endian guests This patch makes the code endianness independent. We defined a macro do_endian_conversion to apply endianness to raw integers in the event entries so that they will be displayed properly. tpm_binary_bios_measurements_show() is modified for the display. Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Joy Latten <jmlatten@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ashley Lai <ashley@xxxxxxxxxxxxx> Reviewed-by: Ashley Lai <ashley@xxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 09e23a4a5dc39ef874403f3f6fa419f49db3677a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:32:29 2015 +0900 char: 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> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 9e5d4af458057344e8cc35b09b2f7a9c9e95d81f Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 20:11:54 2015 -0400 vTPM: get the buffer allocated for event log instead of the actual log The OS should ask Power Firmware (PFW) for the size of the buffer allocated for the event log, instead of the size of the actual event log. It then passes the buffer adddress and size to PFW in the handover process, into which PFW copies the log. Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit b4ed0469d00ad7ad051e5acbdb3e7587fd0221e2 Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 20:11:53 2015 -0400 vTPM: reformat event log to be byte-aligned The event log generated by OpenFirmware in PowerPC is 4-byte aligned. This patch reformats the log to be byte-aligned for the Linux client. Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 2f82e98265e0a46e122ee2a035450d065dbd0f4f Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 20:11:52 2015 -0400 vTPM: fix searching for the right vTPM node in device tree Replace all occurrences of '/ibm,vtpm' with '/vdevice/vtpm', as only the latter is guanranteed to be available for the client OS. The '/ibm,vtpm' node should only be used by Open Firmware, which is susceptible to changes. Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 89adb83c5a378618ed67a1cf4c2c2061364b4d10 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Fri Oct 16 12:14:28 2015 +0300 MAINTAINERS: add new maintainer for TPM DEVICE DRIVER At the moment, no one has time to pay enough attention to this subsystem so that patches get eventually merged into linux-next. Even critical bug fixes can lie for weeks. I'm happy to continue with the current maintainers if they are able to do their job but if this is not the case I cannot find any other solution but apply myself for the job. If there is someone more experienced and/or competent, I'm also happy to let one take the stand. Anything works as long as it works. I just want a solution for this bottleneck. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 0fe5480303a1657b328a0a389f8d99249d9961f5 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Fri Jun 26 22:28:26 2015 +0300 keys, trusted: seal/unseal with TPM 2.0 chips Call tpm_seal_trusted() and tpm_unseal_trusted() for TPM 2.0 chips. We require explicit 'keyhandle=' option because there's no a fixed storage root key inside TPM2 chips. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Reviewed-by: Andreas Fuchs <andreas.fuchs@xxxxxxxxxxxxxxxxx> Tested-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> (on TPM 1.2) Tested-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Tested-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Tested-by: Kevin Strasser <kevin.strasser@xxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 954650efb79f99d5c817c121bb0a7c6c53362048 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Sat May 30 08:09:04 2015 +0300 tpm: seal/unseal for TPM 2.0 Added tpm_trusted_seal() and tpm_trusted_unseal() API for sealing trusted keys. This patch implements basic sealing and unsealing functionality for TPM 2.0: * Seal with a parent key using a 20 byte auth value. * Unseal with a parent key using a 20 byte auth value. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit fe351e8d4eec801beeba1df1f36d76316be6f1a2 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Fri Jun 12 23:34:01 2015 +0200 keys, trusted: move struct trusted_key_options to trusted-type.h Moved struct trusted_key_options to trustes-type.h so that the fields can be accessed from drivers/char/tpm. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit a74f8b36352e79b13d48fa92759c9ea6b78d5817 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Sun Oct 11 12:26:58 2015 +0300 tpm: introduce tpm_buf This patch introduces struct tpm_buf that provides a string buffer for constructing TPM commands. This allows to construct variable sized TPM commands. For the buffer a page is allocated and mapped, which limits maximum size to PAGE_SIZE. Variable sized TPM commands are needed in order to add algorithmic agility. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit b8e98dcdc5ad24bbecc763cd0ac87bbde602e5ea Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Wed May 20 16:44:40 2015 +0300 tpm: update PPI documentation to address the location change. Updated Documentation/ABI/testing/sysfs-driver-ppi in order to explain where PPI attributes are located and how backwards compatibility is addressed. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 9b774d5cf2db4b27324784e8d2c95a06cdf82373 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Tue Apr 14 17:56:48 2015 +0300 tpm: move the PPI attributes to character device directory. Moved PPI attributes to the character device directory. This aligns with the sysfs guidelines and makes them race free because they are created atomically with the character device as part of device_register().The character device and the sysfs attributes appear at the same time to the user space. As part of this change we enable PPI attributes also for TPM 2.0 devices. In order to retain backwards compatibility with TPM 1.x devices, a symlink is created to the platform device directory. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Tested-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> (on TPM 1.2) Tested-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Tested-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 37c1c04cca920de8a68285751b2c7b3d937ad50c Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Wed Apr 22 19:36:06 2015 +0300 sysfs: added __compat_only_sysfs_link_entry_to_kobj() Added a new function __compat_only_sysfs_link_group_to_kobj() that adds a symlink from attribute or group to a kobject. This needed for maintaining backwards compatibility with PPI attributes in the TPM driver. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 399235dc6e95400a1322a9999e92073bc572f0c8 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Tue Sep 29 00:32:19 2015 +0300 tpm, tpm_tis: fix tpm_tis ACPI detection issue with TPM 2.0 Both for FIFO and CRB interface TCG has decided to use the same HID MSFT0101. They can be differentiated by looking at the start method from TPM2 ACPI table. This patches makes necessary fixes to tpm_tis and tpm_crb modules in order to correctly detect, which module should be used. For MSFT0101 we must use struct acpi_driver because struct pnp_driver has a 7 character limitation. It turned out that the root cause in b371616b8 was not correct for https://bugzilla.kernel.org/show_bug.cgi?id=98181. v2: * One fixup was missing from v1: is_tpm2_fifo -> is_fifo v3: * Use pnp_driver for existing HIDs and acpi_driver only for MSFT0101 in order ensure backwards compatibility. v4: * Check for FIFO before doing *anything* in crb_acpi_add(). * There was return immediately after acpi_bus_unregister_driver() in cleanup_tis(). This caused pnp_unregister_driver() not to be called. Cc: stable@xxxxxxxxxx Reported-by: Michael Saunders <mick.saunders@xxxxxxxxx> Reported-by: Michael Marley <michael@xxxxxxxxxxxxxxxxx> Reported-by: Jethro Beekman <kernel@xxxxxxxxxxx> Reported-by: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Tested-by: Michael Marley <michael@xxxxxxxxxxxxxxxxx> Tested-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> (on TPM 1.2) Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 149789ce9d472e6b4fd99336e779ab843754a96c Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Tue Sep 15 20:05:40 2015 +0300 tpm, tpm_crb: fix unaligned read of the command buffer address The command buffer address must be read with exactly two 32-bit reads. Otherwise, on some HW platforms, it seems that HW will abort the read operation, which causes CPU to fill the read bytes with 1's. Therefore, we cannot rely on memcpy_fromio() but must call ioread32() two times instead. Also, this matches the PC Client Platform TPM Profile specification, which defines command buffer address with two 32-bit fields. Cc: stable@xxxxxxxxxx Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 60ecd86c4d985750efa0ea3d8610972b09951715 Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 20:11:51 2015 -0400 vTPM: fix memory allocation flag for rtce buffer at kernel boot At ibm vtpm initialzation, tpm_ibmvtpm_probe() registers its interrupt handler, ibmvtpm_interrupt, which calls ibmvtpm_crq_process to allocate memory for rtce buffer. The current code uses 'GFP_KERNEL' as the type of kernel memory allocation, which resulted a warning at kernel/lockdep.c. This patch uses 'GFP_ATOMIC' instead so that the allocation is high-priority and does not sleep. Cc: stable@xxxxxxxxxx Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit eb6301160dde0227ac27c6ec2a0b57054d88e398 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:08:47 2015 +0200 tpm: 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> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit fcd8a399a9d44a637b5ded0eeea14c7933132121 Merge: 1e2103c f9d460b Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Oct 19 09:03:30 2015 +1100 Merge branch 'xfs-stats-fixes' into for-next commit f9d460b341f23a9bb7df8868975fdfcc2e71aa9b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Oct 19 08:42:47 2015 +1100 xfs: fix an error code in xfs_fs_fill_super() If alloc_percpu() fails, we accidentally return PTR_ERR(NULL), which means success, but we intended to return -ENOMEM. Fixes: 225e4635580c ('xfs: per-filesystem stats in sysfs') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Bill O'Donnell <billodo@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 985ef4dcf94ac0113e2b32ef86bdd5bc47c016b3 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Oct 19 08:42:46 2015 +1100 xfs: stats are no longer dependent on CONFIG_PROC_FS So we need to fix the makefile to understand this, otherwise build errors with CONFIG_PROC_FS=n occur. Reported-and-tested-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3187567222178d4b3742e88242f7abb3c3b7a215 Merge: c76af02 d24796a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Oct 19 07:16:15 2015 +1000 Merge branch 'virtio-gpu-for-drm-next' of git://git.kraxel.org/linux into drm-next Add 3D support to the virtio-gpu. * 'virtio-gpu-for-drm-next' of git://git.kraxel.org/linux: virtio-gpu: add page flip support virtio-gpu: mark as a render gpu virtio-gpu: add basic prime support virtio-gpu: add 3d/virgl support virtio-gpu: don't free things on ttm_bo_init failure virtio-gpu: wait for cursor updates finish virtio-gpu: add & use virtio_gpu_queue_fenced_ctrl_buffer virtio-gpu: add virtio_gpu_queue_ctrl_buffer_locked commit 4327ba52afd03fc4b5afa0ee1d774c9c5b0e85c5 Author: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> Date: Sun Oct 18 17:02:56 2015 -0400 ext4, jbd2: ensure entering into panic after recording an error in superblock If a EXT4 filesystem utilizes JBD2 journaling and an error occurs, the journaling will be aborted first and the error number will be recorded into JBD2 superblock and, finally, the system will enter into the panic state in "errors=panic" option. But, in the rare case, this sequence is little twisted like the below figure and it will happen that the system enters into panic state, which means the system reset in mobile environment, before completion of recording an error in the journal superblock. In this case, e2fsck cannot recognize that the filesystem failure occurred in the previous run and the corruption wouldn't be fixed. Task A Task B ext4_handle_error() -> jbd2_journal_abort() -> __journal_abort_soft() -> __jbd2_journal_abort_hard() | -> journal->j_flags |= JBD2_ABORT; | | __ext4_abort() | -> jbd2_journal_abort() | | -> __journal_abort_soft() | | -> if (journal->j_flags & JBD2_ABORT) | | return; | -> panic() | -> jbd2_journal_update_sb_errno() Tested-by: Hobin Woo <hobin.woo@xxxxxxxxxxx> Signed-off-by: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit c23fe83138ed7b11ad763cbe8bf98e5378c04bd6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sun Oct 18 22:43:19 2015 +0530 debugfs: Add debugfs_create_ulong() Add debugfs_create_ulong() for the users of type 'unsigned long'. These will be 32 bits long on a 32 bit machine and 64 bits long on a 64 bit machine. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c7c2f32884214e5b05da6426c6f737d3cd4efcb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Oct 17 08:18:47 2015 +0300 iommu/vt-d: fix a loop in prq_event_thread() There is an extra semi-colon on this if statement so we always break on the first iteration. Fixes: 0204a4960982 ('iommu/vt-d: Add callback to device driver on page faults') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 3bd29515d1cad26fa85a1a9b442de8816c1f5c54 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Oct 16 15:42:55 2015 -0700 x86/entry/32: Fix FS and GS restore in opportunistic SYSEXIT We either need to restore them before popping and thus changing ESP, or we need to adjust the offsets. The former is simpler. Reported-and-tested-by: Borislav Petkov <bp@xxxxxxx> 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: 5f310f739b4c x86/entry/32: ("Re-implement SYSENTER using the new C path") Link: http://lkml.kernel.org/r/461e5c7d8fa3821529893a4893ac9c4bc37f9e17.1445035014.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 657c1eea0019e80685a84cbb1919794243a187c9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Oct 16 15:42:54 2015 -0700 x86/entry/32: Fix entry_INT80_32() to expect interrupts to be on When I rewrote entry_INT80_32, I thought that int80 was an interrupt gate. It's a trap gate. *facepalm* Thanks to Brian Gerst for pointing out that it's better to change the entry code than to change the gate type. Suggested-by: Brian Gerst <brgerst@xxxxxxxxx> Reported-and-tested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-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> Fixes: 150ac78d63af ("x86/entry/32: Switch INT80 to the new C syscall path") Link: http://lkml.kernel.org/r/dc09d9b574a5c1dcca996847875c73f8341ce0ad.1445035014.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ad4401e53d1a5db557f287fdb0820ef0c7dfffd6 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 13:46:48 2015 +0900 ALSA: oxfw: remove a meaningless entry from firewire Makefile A former commit moves oxfw-related codes to a sub-directory, while it forgot to remove an entry from Makefile in parent directory. Fixes: 1a4e39c2e5ca('ALSA: oxfw: Move to its own directory') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit df4833886f91eea0d20e6e97066adab308625ef8 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 13:46:47 2015 +0900 ALSA: fireworks/bebob/oxfw/dice: enable to make as built-in When committed to upstream, these four modules had wrong entries for Makefile. This forces them to be loadable modules even if they're set as built-in. This commit fixes this bug. Fixes: b5b04336015e('ALSA: fireworks: Add skelton for Fireworks based devices') Fixes: fd6f4b0dc167('ALSA: bebob: Add skelton for BeBoB based devices') Fixes: 1a4e39c2e5ca('ALSA: oxfw: Move to its own directory') Fixes: 14ff6a094815('ALSA: dice: Move file to its own directory') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 56f2de81e020c537f7e35550d13840143cb765cd Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Tue Aug 25 12:08:22 2015 +0800 of: to support binding numa node to specified device in devicetree For now, in function device_add, the new device will be forced to inherit the numa node of its parent. But this will override the device's numa node which configured in devicetree. Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6713e8fb541656d00249dca6627395b461c39ece Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 12 18:09:12 2015 -0700 debugfs: Add read-only/write-only bool file ops There aren't any read-only or write-only bool file ops, but there is a caller of debugfs_create_bool() that calls it with mode equal to 0400. This leads to the possibility of userspace modifying the file, so let's use the newly created debugfs_create_mode() helper here to fix this. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db6652abc3d81e155b6c8740065e9a4927825d9 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 12 18:09:11 2015 -0700 debugfs: Add read-only/write-only size_t file ops There aren't any read-only or write-only size_t file ops, but there is a caller of debugfs_create_size_t() that calls it with mode equal to 0400. This leads to the possibility of userspace modifying the file, so let's use the newly created debugfs_create_mode() helper here to fix this. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82b7d4fb4e0bcb8fe0d49edea21f595664f83c2f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 12 18:09:10 2015 -0700 debugfs: Add read-only/write-only x64 file ops There aren't any read-only or write-only x64 file ops, but there is a caller of debugfs_create_x64() that calls it with mode equal to S_IRUGO. This leads to the possibility of userspace modifying the file, so let's use the newly created debugfs_create_mode() helper here to fix this. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b97f679954b7771183f3c0a6a47b17e185e64a8a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 12 18:09:09 2015 -0700 debugfs: Consolidate file mode checks in debugfs_create_*() The code that creates debugfs file with different file ops based on the file mode is duplicated in each debugfs_create_*() API. Consolidate that code into debugfs_create_mode(), that takes three file ops structures so that we don't have to keep copy/pasting that logic. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3af8a28f43315fc46753465a4e77e5619dd9f30 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Oct 8 22:04:26 2015 -0700 staging: IB/hfi1: use TASK_COMM_LEN in hfi1_ctxtdata Use comm[TASK_COMM_LEN] instead of comm[16]. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0eaa0c2fe9c1667a7ba8405c455d9627eac9540 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Fri Oct 9 08:18:20 2015 -0600 coresight: etm3x: adding documentation for sysFS's cpu interface Supplementing ABI documentation with a description of the newly added interface. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad1bfe410e91189522514ea784668dc75a4e64c4 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Sun Oct 11 01:00:58 2015 +0300 vme: 8-bit status/id takes 256 values, not 255 Fixes an off by one array size. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f235f664a8afabccf863a5dee4777d2d7b676fda Author: Scot Doyle <lkml14@xxxxxxxxxxxxx> Date: Fri Oct 9 15:08:10 2015 +0000 fbcon: initialize blink interval before calling fb_set_par Since commit 27a4c827c34ac4256a190cc9d24607f953c1c459 fbcon: use the cursor blink interval provided by vt a PPC64LE kernel fails to boot when fbcon_add_cursor_timer uses an uninitialized ops->cur_blink_jiffies. Prevent by initializing in fbcon_init before the call to info->fbops->fb_set_par. Reported-and-tested-by: Alistair Popple <alistair@xxxxxxxxxxxx> Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [v4.2] Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37784706bf9e3b723898125b47d6f1e76a8db418 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Fri Oct 16 15:42:30 2015 -0700 fpga manager: Adding FPGA Manager support for Xilinx Zynq 7000 This commit adds FPGA Manager support for the Xilinx Zynq chip. The code borrows some from the xdevcfg driver in Xilinx' vendor tree. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20598490a337abf44a8fb2d229ace6cf8087f2d4 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Fri Oct 16 15:42:29 2015 -0700 ARM: zynq: dt: Updated devicetree for Zynq 7000 platform. Added addtional nodes required for FPGA Manager operation of the Xilinx Zynq Devc configuration interface. Reviewed-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 908ca2dbc819f47ab3ef4d38f83e9e81c218b10d Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Fri Oct 16 15:42:28 2015 -0700 ARM: dt: fpga: Added binding docs for Xilinx Zynq FPGA manager. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1920c298e74b1b9982247bcc33f2a206271ec835 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:40:02 2015 +0300 ver_linux: proc/modules, limit text processing to 'sed' This patch is more of a personal preference, rather than a fix for a problem. The current implementation used a combination of both 'cat' and 'sed' to generate an unsorted list of kernel modules separated by while space. The proposed implementation uses 'sort' and 'sed' to generate a sort list of kernel modules separated by while space. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Arch Linux openSuSE 13.2 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 031c155a8c41edee6fad92dc4eee4c5fe2a06dea Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:40:01 2015 +0300 ver_linux: wireless-tools, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Tested on: Gentoo Linux Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1245b7ec0f8cb223a252c71ed39c33c005c0631c Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:40:00 2015 +0300 ver_linux: use 'udevadm', instead of 'udevinfo' 'udevinfo' no longer seems to be available across various distros. 'udevadm' seems to be the currently valid way to look up the 'udev' version. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29dfecff10f3e1c8b4e2c7e390434d4932c4542f Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:59 2015 +0300 ver_linux: sh-utils, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a343234ed967de0c59cdbbf5629e6d762259549 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:58 2015 +0300 ver_linux: loadkeys, look for numerical input, not field number 'loadkeys -h' no longer prints the version number across all distros, despite the claim to do so in the manpage, which I found to be the case on a Debian Linux system. The proposed implementation utilises the output of 'loadkeys -V' to acquire the version of both 'Kbd' and 'Console-tools'. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be6bb51a9f6a60995e0069bfdd9e0611d78ae4c6 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:57 2015 +0300 ver_linux: net-tools, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7230872ce44667003876f6ef6d3401636033453 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:56 2015 +0300 ver_linux: procps, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53494ba9dac543ffce5bc717556b111ca8c44b7e Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:55 2015 +0300 ver_linux: libcpp, fix missing output Neither 'libg++.so', nor 'libstdc++.so' were found where the current implementation expects them to be found in the distros below. Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Which results in zero ouput generated. The proposed implementation relies on 'ldconfig' to locate the libraries in question. 'Sed' is used to do the text processing. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e5f739c61f669fdd954b1f16674c07bdf5ef8a1 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:54 2015 +0300 ver_linux: ldd, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'head' + 'awk'. The '-v' flag either seems to have been deprecated in some distros, e.g. Gentoo, or is an alias for '--version' in others. The proposed implementation uses the latter flag only. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbb57d10af048d886274129d91f2347d4d48e489 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:53 2015 +0300 ver_linux: libc, input redirection to sed fails in some distros The current implementation has been found not to work across all distros. The proposed implementation relies on 'sed' to both output the string 'Linux C Library' as well as to open '/proc/self/maps' without having to use output redirection. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Arch Linux openSuSE 13.2 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b903fa982db2832d7f402ff00cf30145e8a7fca0 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:52 2015 +0300 ver_linux: ppp, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Tested on: Oracle Linux Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fb0959822e16a91c23cb41e53693180a2b3389f Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:51 2015 +0300 ver_linux: quota-tools, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f437d1ed68d3a51728c0ba3e7fb39a03df74fd1b Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:50 2015 +0300 ver_linux: pcmciautils, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44422f3cd9d2d28049b8eb544ebbc845fd419eef Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:49 2015 +0300 ver_linux: xfsprogs, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63e781ad2442054b9d7b41a949c026ec7c16aafe Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:48 2015 +0300 ver_linux: reiserfsprogs, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fc8de5638e8668df65a4cbeb4ee3e4319b6eaec Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:47 2015 +0300 ver_linux: jfsutils, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'sed' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8782227598084d95358c08a6d3d6ea84422af11 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:46 2015 +0300 ver_linux: e2fsprogs, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'sed' + 'awk'. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bcb2f59240cb5501956f2a089ba82e0b8621564 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:45 2015 +0300 ver_linux: module-init-tools, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12b2732c825c9ff59fa74fe9df50264d8275c14f Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:44 2015 +0300 ver_linux: util-linux, 'fdformat' not ubiquitous any longer The current implementation relies on 'fdformat' to output the version of 'util-linux'. This does not seem to be reliable any longer, as 'fdformat' does not seem to come preinstalled in all ditros these days. The proposed implementation uses 'mount' to output both the version of 'util-linux' and 'mount' proper, as 'mount' is also a part of the 'util-linux' package. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Rely on regex to find the version number, rather than a field number. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e2f5cfb38dbd7d0c4a9cfd5093bea4b027a9d6d Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:43 2015 +0300 ver_linux: binutils, fix inaccurate output Current implementation output on Gentoo Linux: binutils 2.25.1 1.1 2.25.1 Proposed implementation: Binutils 2.25.1 Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Rely on regex to find the version number. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d60b873aecc6fce4893b76500c30374f8c9e394 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:42 2015 +0300 ver_linux: make --version, use regex to find version number Rely on regex to find the version number, rather than a field number. Reduce the number of 'awk' invocations from two to one. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 235024e519fa16242f916ec41b00547582f561a7 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:41 2015 +0300 ver_linux: gcc -dumpversion, use regex to find version number Rely on regex to find the version number, rather than a field number. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4c3fcb3c71f26ec18e06721cb3b6bcb314834f3 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Sep 21 23:52:46 2015 +0300 misc: sram: extend usage of reserved partitions This change adds functionality to operate on reserved SRAM partitions described in device tree file. Two partition properties are added, "pool" and "export", the first one allows to share a specific partition for usage by a kernel consumer in the same manner as it is done for the whole SRAM device, and "export" property provides access to some SRAM area from userspace over sysfs interface. Practically it is possible to specify both properties for an SRAM partition, however simultaneous access from a kernel consumer and from userspace is not serialized, but still the combination may be useful for debugging purpose. The change opens the following scenarios of SRAM usage: * updates in a particular SRAM area specified by offset and size are done by bootloader, then this information is utilized by the kernel, * a particular SRAM area is rw accessed from userspace, the stored data is persistent on soft reboots, * a device driver secures SRAM area for its purposes, * etc. Note, strictly speaking the added optional properties describe policy of SRAM usage, rather than hardware, but here the policy mostly resembles flash partitions in devicetree, which is undoubtedly a very popular option but it does not describe hardware. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50ceb98bebfaf7ae6de5fc46b277c595f4c2ce83 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Oct 13 11:21:19 2015 -0700 MAINTAINERS: Add maintainership for MIC drivers Add entry for MIC drivers to the MAINTAINERS file Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e426115e0ad35513d88a3e423b86f839b02f17b5 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Oct 9 09:41:22 2015 +0300 misc: mic/scif: fix error code in scif_create_remote_lookup() We should be returning -ENOMEM here instead of success. Fixes: ba612aa8b487 ('misc: mic: SCIF memory registration and unregistration') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff65212cc4698f532c452a14fdb94a3b1d1f283d Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 15:52:06 2015 +0300 misc: mic/scif: re-take a lock on error path The caller expects that we take this lock again before returning otherwise it you get double unlocks and races. Fixes: ba612aa8b487 ('misc: mic: SCIF memory registration and unregistration') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edf5600870121f83a20157d102ad12211c226ee0 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Oct 13 15:02:41 2015 +0300 mei: amthif: Do not compare bool to 0/1 Spotted by coccicheck: drivers/misc/mei/amthif.c:479:5-26: WARNING: Comparison of bool to 0/1 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 df7f5447d7b56c08684c7d285621e15e5c3c06b7 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Oct 13 15:02:40 2015 +0300 mei: bus: fix c&p issue in the kdoc s/send/receive/ The buffer in the receive function is not used for sending Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99c2658f00eafe1b7f7c38aeb487239b014867f9 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Oct 13 15:02:39 2015 +0300 mei: fix the KDoc formating KDoc function section start with double start: /** instead of /* 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 34af19132ed77b51f84274c23cef4ed520542319 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Oct 13 15:02:38 2015 +0300 mei: keep the device awake during reads in chunks Long messages are read in chunks, to prevent trashing runtime pm between the reading of the chunks we call pm_runtime_mark_last_busy() on non-final chunk message as the next chunk of the same message will be received immediately in the next interrupt with high probablity. 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 97ccf63f42721e758bb3cd1aa8967a89d26ed0bb Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Oct 13 15:02:37 2015 +0300 mei: cancel driver workers only after client devices were removed In process of client devices removal from the bus there still might be communication between a driver and the mei device hence we need to cancel supporting workers only after all the client devices were removed. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36fccce0e82a5ccd1c7f3861398f3303bff4669a Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Oct 17 11:39:40 2015 -0700 W1: w1-gpio - switch to using dev_pm_ops Let's stop using legacy platform driver hooks for power management and switch to using the standard dev_pm_ops-based hooks. Also, instead of guarding PM methods with #ifdef CONFIG_PM annotate them as __maybe_unused as it provides better compile coverage. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2a47d00c08e2306185945dabaafd11447641077 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Oct 13 22:36:24 2015 +0530 misc: mic: fix memory leak In scif_node_connect() we were returning if the initialization of p2p_ji fails. But at that time p2p_ij has already been initialized and resources allocated for it. And since p2p_ij is not added to the list till now so we will have a leak. Lets deinitialize and release the resources connected to p2p_ij. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82ff3ac7641a645b55f3bee4acceabf6f17e62f4 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 11 21:05:13 2015 -0700 misc: mic: replace kfree with put_device Handle a failed device_register(), replace kfree() with put_device(), which will call cosm/mbus/scif_release_dev(). Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8bf0dece0fcc9b5271b67cae1123ebfcaf8d8bc Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Wed Oct 7 16:34:34 2015 -0700 misc: mic: Fix randconfig build error Fixes randconfig build error reported at http://www.spinics.net/lists/kernel/msg2092346.html Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Reviewed-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52d63671c15bd3dfcd72f4ea324b338d1309db97 Author: Gabriel Laskar <gabriel@xxxxxxxxxxxx> Date: Tue Oct 6 16:27:36 2015 +0200 msm: remove unused header Signed-off-by: Gabriel Laskar <gabriel@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 904dad4742d211b7a8910e92695c0fa957483836 Author: Andy Leiserson <andy@xxxxxxxxxxxxx> Date: Sun Oct 18 00:36:29 2015 -0400 [PATCH] fix calculation of meta_bg descriptor backups "group" is the group where the backup will be placed, and is initialized to zero in the declaration. This meant that backups for meta_bg descriptors were erroneously written to the backup block group descriptors in groups 1 and (desc_per_block-1). Reproduction information: mke2fs -Fq -t ext4 -b 1024 -O ^resize_inode /tmp/foo.img 16G truncate -s 24G /tmp/foo.img losetup /dev/loop0 /tmp/foo.img mount /dev/loop0 /mnt resize2fs /dev/loop0 umount /dev/loop0 dd if=/dev/zero of=/dev/loop0 bs=1024 count=2 e2fsck -fy /dev/loop0 losetup -d /dev/loop0 Signed-off-by: Andy Leiserson <andy@xxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e052c6d15c61cc4caff2f06cbca72b183da9f15e Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 16:36:24 2015 -0400 tty: Use unbound workqueue for all input workers The commonly accepted wisdom that scheduling work on the same cpu that handled interrupt i/o benefits from cache-locality is only true if the cpu is idle (since bound kworkers are often the highest vruntime and thus the lowest priority). Measurements of scheduling via the unbound queue show lowered worst-case latency responses of up to 5x over bound workqueue, without increase in average latency or throughput. pty i/o test measurements show >3x (!) reduced total running time; tests previously taking ~8s now complete in <2.5s. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e176058f0de53c2346734e5254835e0045364001 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 16:36:23 2015 -0400 tty: Abstract tty buffer work Introduce API functions to restart and cancel tty buffer work, rather than manipulate buffer work directly. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b41b9539a1e9531f942ededfcdcff372317d2e7 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 20:28:44 2015 -0400 tty: Prevent tty teardown during tty_write_message() tty_write_message() allows the caller to directly write to a specific tty. Since the line discipline is bypassed for the direct write, nothing prevents the tty from being torn down after the tty count is checked. Hold the tty lock for the duration of the direct write. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e86b5bf15e2be662df303b7067ac08247713401 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 20:28:43 2015 -0400 tty: core: Use correct spinlock flavor in tiocspgrp() tiocspgrp() is the ioctl handler for TIOCSPGRP, which runs in non-atomic context; use spin_lock/unlock_irq (since interrupt state is on). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2812d9e9fd94c54b0482215f579e6aa04452a322 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 20:28:42 2015 -0400 tty: Combine SIGTTOU/SIGTTIN handling The job_control() check in n_tty_read() has nearly identical purpose and results as tty_check_change(). Both functions' purpose is to determine if the current task's pgrp is the foreground pgrp for the tty, and if not, to signal the current pgrp. Introduce __tty_check_change() which takes the signal to send and performs the shared operations for job control() and tty_check_change(). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71a5cd8a4a2602a6e9010b557a23af0a54df87b6 Author: Timur Tabi <timur@xxxxxxxxxxxxxx> Date: Wed Oct 7 15:27:16 2015 -0500 serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty() The UART_DUMMY_DR_RX status bit is equal to (1 << 16), so a u16 is too small to hold that value. The result is that UART_DUMMY_DR_RX is never passed to uart_insert_char(). This means that we're always accepting characters, even when CREAD (in termios) is not set. Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Reviewed-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e8137a185240fa6da0ff91cd9c604716371903b Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Oct 6 15:12:06 2015 +0100 ttyFDC: Fix build problems due to use of module_{init,exit} Commit 0fd972a7d91d (module: relocate module_init from init.h to module.h) broke the build of ttyFDC driver due to that driver's (mis)use of module_mips_cdmm_driver() without first including module.h, for example: In file included from ./arch/mips/include/asm/cdmm.h +11 :0, from drivers/tty/mips_ejtag_fdc.c +34 : include/linux/device.h +1295 :1: warning: data definition has no type or storage class ./arch/mips/include/asm/cdmm.h +84 :2: note: in expansion of macro â??module_driverâ?? drivers/tty/mips_ejtag_fdc.c +1157 :1: note: in expansion of macro â??module_mips_cdmm_driverâ?? include/linux/device.h +1295 :1: error: type defaults to â??intâ?? in declaration of â??module_initâ?? [-Werror=implicit-int] ./arch/mips/include/asm/cdmm.h +84 :2: note: in expansion of macro â??module_driverâ?? drivers/tty/mips_ejtag_fdc.c +1157 :1: note: in expansion of macro â??module_mips_cdmm_driverâ?? drivers/tty/mips_ejtag_fdc.c +1157 :1: warning: parameter names (without types) in function declaration Instead of just adding the module.h include, switch to using the new builtin_mips_cdmm_driver() helper macro and drop the remove callback, since it isn't needed. If module support is added later, the code can always be resurrected. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 4.2.x- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52772ea61594e83118218e3c151eb2b893245059 Author: Guillaume Gomez <guillaume1.gomez@xxxxxxxxx> Date: Sun Oct 4 21:19:18 2015 +0200 tty: remove unneeded return statement Signed-off-by: Guillaume Gomez <guillaume1.gomez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f967fc8f165fadb72166f2bd4785094b3ca21307 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Fri Oct 9 17:14:56 2015 +0200 Revert "serial: 8250_dma: don't bother DMA with small transfers" This reverts commit 9119fba0cfeda6d415c9f068df66838a104b87cb. This commit prevents from sending "big" file using Bluetooth. When sending a lot of data quickly through the Bluetooth interface, and after a variable amount of data sent, transfer fails with error: kernel: [ 415.247453] Bluetooth: hci0 hardware error 0x00 Found on T100TA. After reverting this commit, send works fine for any file size. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Fixes: 9119fba0cfed (serial: 8250_dma: don't bother DMA with small transfers) Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ede6dcd87aa32787f077b6556dce6b0de7d91e6 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Oct 13 13:29:06 2015 +0300 serial: 8250_mid: add support for DMA engine handling from UART MMIO The platforms that have this UART, but that don't have separate PCI device for the DMA Engine, need to create the HSU DMA Engine device separately. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c97ad993d763904fc1c9e0bdc3a6dba062802a2 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Oct 13 13:29:05 2015 +0300 dmaengine: hsu: remove platform data There are no platforms where it's not possible to calculate the number of channels based on IO space length, and since that is the only purpose for struct hsu_dma_platform_data, removing it. Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47f82f1adf701b31d1816bf45118f8e83c02588e Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Oct 13 13:29:04 2015 +0300 dmaengine: hsu: introduce stubs for the exported functions This allows UART drivers to register HSU DMA Engine without being forced to use ifdefs. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec2f1b67f526ee0b314103f7bf2846289fa0f435 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Oct 13 13:29:03 2015 +0300 dmaengine: hsu: make the UART driver in control of selecting this driver HSU (High Speed UART) DMA engine, like the name suggests, is an integrated DMA engine for UART and UART alone. Therefore, making the UART drivers responsible of selecting it and removing the user selectable option for it. The UARTs with this DMA engine can always select HSU_DMA when SERIAL_8250_DMA option is enabled. Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b306f997e2160ff40806fc5b43515f4c135dcb6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 17:04:14 2015 +0200 serial: fix mctrl helper functions A recent patch to create common helper functions for modem control lines created empty helper functions in a header file, but accidentally did not mark them as 'static inline', which causes build errors: drivers/tty/serial/mxs-auart.o: In function `mctrl_gpio_enable_ms': mxs-auart.c:(.text+0x171c): multiple definition of `mctrl_gpio_enable_ms' drivers/tty/serial/clps711x.o:clps711x.c:(.text+0x768): first defined here drivers/tty/serial/mxs-auart.o: In function `mctrl_gpio_disable_ms': mxs-auart.c:(.text+0x1720): multiple definition of `mctrl_gpio_disable_ms' drivers/tty/serial/clps711x.o:clps711x.c:(.text+0x76c): first defined here This adds the missing annotation, so the functions do not get placed in each object file. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: ce59e48fdbad ("serial: mctrl_gpio: implement interrupt handling") Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9eda9bab237259b06690652b145d19e0ce37a77 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Oct 13 13:29:02 2015 +0300 serial: 8250_pci: Intel MID UART support to its own driver Intel MID UART quirks require already quite a bit of code in 8250_pci.c. On new Intel platforms where it is used, the integrated DMA engine no longer has its own PCI device, but is instead configured from the UART's MMIO. That means we will have to add even more code for handling just MID UARTs. Instead of adding that to 8250_pci.c, splitting the support of Intel MID UART into its own driver. Handling of the integrated DMA engine becomes much simpler this way. Own driver will also remove the need for things like specific set_termios hooks for every board using this UART, and simplify the handling of it in general. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d59b382f1c4111933ab56166eb520ac98676b22 Author: Stefan Agner <stefan@xxxxxxxx> Date: Sat Oct 17 00:45:55 2015 -0700 serial: fsl_lpuart: add earlycon support Add support for DT and command line based earlycon support for lpuart and lpuart32 used on Freescale Vybrid and and QorIQ LS1021A processors. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6200cbaf62d481007cb07e73f67da77bc161ae96 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Oct 13 19:06:30 2015 -0400 tty: disable unbind for old 74xx based serial/mpsc console port We recently got rid of some modular code in this driver and also got rid of the unused ".remove" function at the same time. Thierry noted that it was however possible to force the remove through the bind/unbind interface. Since this is a console device used on 2005 vintage 74xx based powerpc embedded targets, and is essentially always used in conjunction with SERIAL_MPSC_CONSOLE=y -- there is no sane reason anyone would ever want to unbind the builtin driver and lose the console. So we just explicitly block bind/unbind operations and prevent root from shooting themselves in the foot. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06e7bd1f9bd86a47e1824f02a821b198eafeb7b6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 16:23:06 2015 +0200 serial: pl011: Spelling s/clocks-names/clock-names/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3868e20f4ce21bb83c7a81bc50664d6a63596a8 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 07:52:27 2015 -0400 n_tty: Remove reader wakeups for TTY_BREAK/TTY_PARITY chars Waking the reader immediately upon receipt of TTY_BREAK or TTY_PARITY chars has no effect on the outcome of read(): 1. Only non-canonical/EXTPROC mode applies since canonical mode will not return data until a line termination is received anyway 2. EXTPROC mode - the reader will always be woken by the input worker 3. Non-canonical modes a. MIN == 0, TIME == 0 b. MIN == 0, TIME > 0 c. MIN > 0, TIME > 0 minimum_to_wake is always 1 in these modes so the reader will always be woken by the input worker d. MIN > 0, TIME == 0 although the reader will not be woken by the input worker unless the minimum data is received, the reader would not otherwise have returned the received data Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bd0162264da0d71df7e37a12a544459ba7ddcde Author: Jiri Slaby <jslaby@xxxxxxx> Date: Sun Oct 11 15:22:45 2015 +0200 tty: synclink, fix indentation The statement after if should be indenteted. So fix this. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77bdec6f0face395ceb303ee7f2525b9dbbeb036 Author: Jiri Slaby <jslaby@xxxxxxx> Date: Sun Oct 11 15:22:44 2015 +0200 serial: at91, fix rs485 properties There is a misplaced bracket in atmel_init_rs485 which sets rs485-rx-during-tx and rs485-enabled-at-boot-time only if rs485-rts-delay is set in of. This is clearly a bug, so fix it by moving the bracket to the proper place. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Cc: Elen Song <elen.song@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f148d6d7b79adb42a8e7fa95bf6be5b607015f26 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:57 2015 -0400 tty: Remove wait_event_interruptible_tty() In-tree users of wait_event_interruptible_tty() have been removed; remove. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aba24888d9af19e0bd1c7e7344fd27841611d7a8 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:56 2015 -0400 tty: r3964: Replace/remove bogus tty lock use The tty lock is strictly for serializing tty lifetime events (open/close/hangup), and not for line discipline serialization. The tty core already provides serialization of concurrent writes to the same tty, and line discipline lifetime management (by ldisc references), so pinning the tty via tty_lock() is unnecessary and counter-productive; remove tty lock use. However, the line discipline is responsible for serializing reads (if required by the line discipline); add read_lock mutex to serialize calls of r3964_read(). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b9ab1b3f0860138681862cf6e4c48be59377ef1 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:55 2015 -0400 tty: r3964: Use tty->read_wait waitqueue The tty core provides read_wait waitqueue specifically for line disciplines to wait readers; otherwise, the line discipline may miss wakeups generated by the tty core. NB: The tty core already provides serialization for the line discipline's close() method, and guarantees no readers or writers will be using the closing instance of the line discipline. Completely remove that wakeup. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc2aaabfd6d6335e2156781ca67715b4de17f993 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:54 2015 -0400 tty: Remove tty_port::close_wait With the removal of tty_wait_until_sent_from_close(), tty drivers no longer wait during open for parallel closes to complete (instead, the tty core waits before calling the driver open() method). Thus, the close_wait waitqueue is no longer used for waiting. Remove struct tty_port::close_wait. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b140dfe622ca23bad6755ce7cd7de2245ef2b68d Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:53 2015 -0400 usb: gadget: gserial: Privatize close_wait close_wait is no longer needed or provided by the tty core. Move close_wait to struct gs_port. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fef062cbf2a90fd926a6fff9eb06dde1b699f1b3 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:52 2015 -0400 tty: Remove ASYNC_CLOSING checks in open()/hangup() methods Since at least before 2.6.30, tty drivers that do not drop the tty lock while closing cannot observe ASYNC_CLOSING set while holding the tty lock; this includes the tty driver's open() and hangup() methods, since the tty core calls these methods holding the tty lock. For these drivers, waiting for ASYNC_CLOSING to clear while opening is not required, since this condition cannot occur. Similarly, even when the open() method drops and reacquires the tty lock after blocking, ASYNC_CLOSING cannot be set (again, for drivers that do not drop the tty lock while closing). Now that tty port drivers no longer drop the tty lock while closing (since 'tty: Remove tty_wait_until_sent_from_close()'), the same conditions apply: waiting for ASYNC_CLOSING to clear while opening is not required, nor is re-checking ASYNC_CLOSING after dropping and reacquiring the tty lock while blocking (eg., in *_block_til_ready()). Note: The ASYNC_CLOSING flag state is still maintained since several bitrotting drivers use it for (dubious) other purposes. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79c1faa4511e78380cd643dac88a775062a08bc0 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:51 2015 -0400 tty: Remove tty_wait_until_sent_from_close() tty_wait_until_sent_from_close() drops the tty lock while waiting for the tty driver to finish sending previously accepted data (ie., data remaining in its write buffer and transmit fifo). tty_wait_until_sent_from_close() was added by commit a57a7bf3fc7e ("TTY: define tty_wait_until_sent_from_close") to prevent the entire tty subsystem from being unable to open new ttys while waiting for one tty to close while output drained. However, since commit 0911261d4cb6 ("tty: Don't take tty_mutex for tty count changes"), holding a tty lock while closing does not prevent other ttys from being opened/closed/hung up, but only prevents lifetime event changes for the tty under lock. Holding the tty lock while waiting for output to drain does prevent parallel non-blocking opens (O_NONBLOCK) from advancing or returning while the tty lock is held. However, all parallel opens _already_ block even if the tty lock is dropped while closing and the parallel open advances. Blocking in open has been in mainline since at least 2.6.29 (see tty_port_block_til_ready(); note the test for O_NONBLOCK is _after_ the wait while ASYNC_CLOSING). IOW, before this patch a non-blocking open will sleep anyway for the _entire_ duration of a parallel hardware shutdown, and when it wakes, the error return will cause a release of its tty, and it will restart with a fresh attempt to open. Similarly with a blocking open that is already waiting; when it's woken, the hardware shutdown has already completed to ASYNC_INITIALIZED is not set, which forces a release and restart as well. So, holding the tty lock across the _entire_ close (which is what this patch does), even while waiting for output to drain, is equivalent to the current outcome wrt parallel opens. Cc: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: David Laight <David.Laight@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Karsten Keil <isdn@xxxxxxxxxxxxxx> CC: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32ede4a51754cb62b0d43d91cb7c4e3c57069a9c Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 9 14:50:02 2015 +0100 serial: tegra: Add helper function for handling RX buffer In the tegra UART driver there are three places where the RX DMA buffer is handled and pushed up to the tty layer. In all three instances the same functions are called and so instead of duplicating the code in three places, move this code to a new helper function and use this new function. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0e066ccb5b2c474385fe10dbb385bde10738177 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 9 14:50:01 2015 +0100 serial: tegra: Remove redundant code and check in tegra_uart_stop_rx() The serial-tegra driver always uses DMA and hence the driver always allocates DMA channels. Therefore, the test to see if the RX DMA channel is initialised in tegra_uart_stop_rx() is unnecessary and so remove the test and the code that corresponds to the case where the RX DMA channel is not initialised. Please note that the call to tegra_uart_stop_rx() should always be before the call to tegra_uart_shutdown() which will uninitialise the RX DMA channel. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2230a9475f7f00173382806f1e4b9ea53d83a469 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 9 14:50:00 2015 +0100 serial: tegra: Remove unnecessary return statements Some functions in the serial-tegra driver have unnecessary return statements at the end of a void function and so remove them. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a24bb28a315ea2579fbf13a99a69a10cf4c085e Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 9 14:49:59 2015 +0100 serial: tegra: Handle another RX race condition Commit 853a699739fe ("serial: tegra: handle race condition on uart rx side") attempted to fix a race condition between the RX end of transmission interrupt and RX DMA completion callback. Despite this fix there is still another case where these two paths can race and result in duplicated data. The race condition is as follows: 1. DMA completion interrupt occurs and schedules tasklet to call DMA callback. 2. DMA callback for the UART driver starts to execute. This will copy the data from the DMA buffer and restart the DMA. This is done under uart port spinlock. 3. During the callback, UART interrupt is raised for end of receive. The UART ISR runs and waits to acquire port spinlock held by the DMA callback. 4. DMA callback gives up spinlock after copying the data, but before restarting DMA. 5. UART ISR acquires the spin lock and reads the same DMA buffer because DMA has not been restarted yet. The release of the spinlock during the DMA callback was introduced by commit 9b88748b362c ("tty: serial: tegra: drop uart_port->lock before calling tty_flip_buffer_push()") to fix a spinlock lock-up issue when calling tty_flip_buffer_push(). However, since then commit a9c3f68f3cd8 ("tty: Fix low_latency BUG") migrated tty_flip_buffer_push() to always use a workqueue, allowing tty_flip_buffer_push() to be called from within atomic sections. Therefore, we can remove the unlocking of the spinlock from the DMA callback and UART ISR and this will ensure that the race condition no longer occurs. Reported-by: Christopher Freeman <cfreeman@xxxxxxxxxx> Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0abcc6df070687816b0ca0aefc3d64c62773063c Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 14:32:30 2015 -0400 serial: 8250_omap: Remove RTS clear Clearing UART_MCR_RTS or UART_MCR_XONANY is unnecessary; these bits are never set in the shadow mcr. The RTS clear is especially confusing. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d43b54d269d27bd512f36e4f0f3d129be582ebc8 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Oct 7 17:31:21 2015 -0500 serial: Enable Freescale 16550 workaround on arm The same serial hardware is present on LS2080A which is arm64, and LS1021A which is arm32, so don't limit the workaround to PPC. Unlike PPC which uses arch/powerpc/kernel/legacy_serial.c, the ARM targets use drivers/tty/serial/of_serial.c, so add the handle_irq override check there as well. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37f0679964fa8a1c345accb4a36da09c07d3b6a3 Author: Andreas Werner <andy@xxxxxxxxxxxxx> Date: Mon Oct 5 19:23:14 2015 +0200 tty: serial: men_z135_uart.c: use mcb memory region size instead of hardcoded one There is no need to hardcode the MEN_Z135_MEM_SIZE. The MCB subsystem already knowns the size which is located in the chameleon table. MCB parse the chameleon table to get the resources of each IP and provide the mcb_request_mem function to get those resources. Use mcb_request_mem to get the resources. This function also takes care of the memory region naming allocated by the driver for each of the instances. Signed-off-by: Andreas Werner <andy@xxxxxxxxxxxxx> Acked-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 270c2adef30e1912002ba014c16c08b86706d01f Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Mon Oct 5 18:00:52 2015 +0100 serial: atmel: fix compiler warning on address cast Turning on KVM and LPAE support on top of a multi_v7_defconfig will produce a compiler warning in the Atmel serial driver: drivers/tty/serial/atmel_serial.c: In function 'atmel_verify_port': drivers/tty/serial/atmel_serial.c:2299:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] if ((void *)port->mapbase != ser->iomem_base) ^ Fix that by using the cast on the right hand side instead, as similar code already does in other drivers. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac0a36679928e3e8d7cc0b4c2fd02fb368186992 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sun Oct 18 00:33:09 2015 +0300 staging: r8188eu: Add _enter_critical_mutex() error handling _enter_critical_mutex() is a simple call to mutex_lock_interruptible(), but there is no error handling code for it. The patch removes wrapper _enter_critical_mutex() and adds error handling for mutex_lock_interruptible(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d566e69024ac9d00ab7d0b0442ad2ba3ed4bd668 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Oct 17 22:28:56 2015 +0300 staging: octeon-ethernet: move cvm_oct_xaui_open() cvm_oct_xaui_open() is trivial and does not need a dedicated file. Move it to the main file. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c265f7479e43a9c0d0f4519adbc6839645c976a Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Oct 17 22:28:55 2015 +0300 staging: octeon-ethernet: drop poll_now parameter from cvm_oct_common_open Drop redundant poll_now parameter from cvm_oct_common_open. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 064e08350f122dbede94be231e7de9012ae47ec0 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Oct 17 22:28:54 2015 +0300 staging: octeon-ethernet: rgmii: poll link status on open Get the initial link status already on open instead of postponing it to the periodic poll task. This unifies the behaviour with other interfaces types. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63f2be5c3b358db031f86eafa9cd450f6558a55b Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 15:33:15 2015 -0500 staging: fsl-mc: Added serialization to mc_send_command() When the same portal is used to call mc_send_command() from two different threads or a thread and an interrupt handler, serialization is required, as the MC only supports one outstanding command per MC portal. Thus, a new command should not be sent to the MC until the last command sent has been responded by the MC. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f95ad21855f750fe0428853214754f414b82daf Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 15:33:14 2015 -0500 staging: fsl-mc:Added support for atomic portals Refactored mc_send_command() to support two flavors of polling: - preemptible (for non-atomic portals), which was already supported. It calls usleep_range() between polling iterations. - non-preemptible (for atomic portals), which is needed when mc_send_command() is called with interrupts disabled. It calls udelay() between polling iterations. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 140305e77aa449b492af0fdd2c0d51b07a3315b2 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 15:33:13 2015 -0500 staging: fsl-mc: refactored mc_send_command() Moved wait logic in mc_send_command() to its own function Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6a3363c13f43599919b82ef64ce32856d836e00 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 15:33:12 2015 -0500 staging: fsl-mc: changed timeout units for MC cmd completion Changed units for the timeout to wait for completion of MC command, from jiffies to milliseconds. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e65f46abafbc98decbc617ca620d44151449e68 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:24 2015 -0500 staging: fsl-mc: Added missing initializer in fsl_mc_bus_driver owner needs to be initialized as THIS_MOUDLE. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a17f4aa62724732b4c3922d5a3a8d22b19ed2901 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:23 2015 -0500 staging: fsl-mc: fixed bug in uninitialized root dprc irq count When initializing the object attributes for the root dprc, the irq_count was uninitialized. Initialize it to 1. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2379bdbc6c37ad9db6538dbe8f56f18968b566ad Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:22 2015 -0500 staging: fsl-mc: Fixed WARN_ON() in fsl_mc_resource_pool_remove_device Check that resource is not NULL before de-referencing it. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09a38ab0b1a67e85b11d363dedc1f5de3d0e17e8 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:21 2015 -0500 staging: fsl-mc: refactored error exit in allocator probe/remove Replaced error gotos with direct returns in fsl_mc_allocator_probe() and fsl_mc_allocator_remove(), since the only error handling done in those functions is to exit. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6958cd44834ecd1e490be94343c44fc64076d391 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:20 2015 -0500 staging: fsl-mc: Fixed bug in fsl_mc_allocator_remove Call fsl_mc_resource_pool_remove_device() only if mc_dev->resource is not NULL. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95e9a09af4b55b8a1daa4d62afb287994aecfb8e Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:19 2015 -0500 staging: fsl-mc: Fixed alignment of copyright comment Whitespace cleanup-- add missing spaces in column 1 of copyright Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 770417bb856e7f82c2906283687143db5f93f0e2 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:18 2015 -0500 staging: fsl-mc: Removed unused DPMCP macros The macros were a left-over from a previous implementation of the dpmcp APIs and are no longer used. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eceebf8bb35f14d4d4862a47fa6440eaff2698de Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:17 2015 -0500 staging: fsl-mc: Changed types of flags, portal size in Changed these two fields from 32-bit integers to 16-bit integers in struct fsl_mc_io, as 32 bits is too much for these fields. This change does not affect other components since fsl_mc_io is an opaque type. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6998d6ba8c7a28a77c703242e232240495c144a2 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:16 2015 -0500 staging: fsl-mc: Changed dev_info() calls to dev_dbg() Changed dev_info() calls to dev_dbg() in fsl_mc_allocator_probe/fsl_mc_allocator_remove, as they are useful only for debugging. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2f8499153aa78b21881b3ca1fcdc026c3a79079 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:15 2015 -0500 staging: fsl-mc: dpmcp opening/closing refactoring Before, we were opening and closing a mc_io's dpmcp object in fsl_mc_portal_reset(), since that was the only function that was calling dpmcp MC operations. However, it is better for maintainability to open the dpmcp object when it gets associated with an mc_io object, and close it when this association is terminated. This way, we are free to call dpmcp operations on a mc_io's dpmcp object at any time, without having to check if the dpmcp object is opened or not. Consequently, the creation/teardown of the association between an mc_io object and a dpmcp is now encapsulated in two functions: fsl_mc_io_set_dpmcp()/fsl_mc_io_unset_dpmcp(). Besides, setting the corresponding pointers for the association, these functions open and close the dpmcp object respectively. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffcd52ef0907f56181a28f4ae5ab6f0b39e3cf58 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:14 2015 -0500 staging: fsl-mc: fsl_mc_io object refactoring Each fsl_mc_io object is associated with an fsl_mc_device object of type "dpmcp" representing the MC portal associated with the fsl_mc_io object. Before, we were representing this association with an fsl_mc_resource pointer. To enhance code clarity, it is more straight forward to use an fsl_mc_device pointer instead. So, this change replaces the 'resource' field in the fsl_mc_io object with 'dpmcp_dev'. Also, it changes parameter 'resource' of fsl_create_mc_io() to be an fsl_mc_device pointer instead. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 724e50f7c21abd1f9ac0bc4d56fc08e3b51e8596 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:13 2015 -0500 staging: fsl-mc: Naming cleanup in fsl_mc-portal_allocate mc_adev is a local variable for the allocated dpmcp object. Renamed mc_adev as dpmcp_dev for clarity. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffa2366666f06ce1df3296d106d90e0c2e0cd6b7 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Sat Oct 17 21:28:45 2015 +0200 usb/host/fotg210: Remove return statement inside if This patch make changes to an if else statement which simplifies the code allowing to remove a return. CC: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e405f0e45e854191755d49bff8dfaa6e3c0584da Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Sat Oct 17 18:19:46 2015 +0200 staging: r8723au: move * to be adjacent to pointer name Move * in pointer types to be adjacent to pointer names per Linux coding style. Addresses checkpatch.pl: ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcc74c4dd696ad9cf3f58f8aeb1938d9b6f57261 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Oct 17 18:19:46 2015 +0200 Staging: lustre: include : Remove unused macros These macro are not used anymore, therefore remove them. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d811ed6974532cdb47301ba993f766c6e5b3fd5d Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Oct 17 18:19:46 2015 +0200 Staging: lustre: include: Convert macro class_export_lock_put into static inline function Static inline functions are preferred over macros. This change is safe because the types of arguments at all the call sites are same. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edc6a40e3a75650be003be0e35a54f3edc6b4f7e Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Oct 17 18:18:34 2015 +0200 Staging: lustre: include: Convert macro class_export_lock_get into static inline function Static inline functions are preferred over macros. This change is safe because the types of arguments at all the call sites are same. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1d825e9376b7c3c9a3eaa26d14bb74c3c3ff2d0 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Oct 17 18:17:05 2015 +0200 Staging: lustre: include: Move function prototypes Functions: struct obd_export *class_export_get(struct obd_export *exp); void class_export_put(struct obd_export *exp) are being used in macros that are converted into static inline functions, therefore move function prototypes to avoid build error in later patches. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 539669779a8e369912d86dc4048175cc47f20c33 Merge: 50bdb12 0f8669e Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 20:12:19 2015 -0700 Merge tag 'phy-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next Kishon writes: phy: for 4.4 *) Add new PHY driver for Broadcom's cygnus PCIe PHY *) Add USB3 PHY driver for mediatek's SoCs *) Add VBUS regulator support for Samsung's exynos PHY *) Misc cleanup Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 6934da9238da947628be83635e365df41064b09b Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Sat Oct 17 22:57:06 2015 -0400 ext4: fix potential use after free in __ext4_journal_stop There is a use-after-free possibility in __ext4_journal_stop() in the case that we free the handle in the first jbd2_journal_stop() because we're referencing handle->h_err afterwards. This was introduced in 9705acd63b125dee8b15c705216d7186daea4625 and it is wrong. Fix it by storing the handle->h_err value beforehand and avoid referencing potentially freed handle. Fixes: 9705acd63b125dee8b15c705216d7186daea4625 Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 33d14975e5ac469963d5d63856b61698ad0bff07 Author: Jan Kara <jack@xxxxxxxx> Date: Sat Oct 17 22:35:09 2015 -0400 jbd2: fix checkpoint list cleanup Unlike comments and expectation of callers journal_clean_one_cp_list() returned 1 not only if it freed the transaction but also if it freed some buffers in the transaction. That could make __jbd2_journal_clean_checkpoint_list() skip processing t_checkpoint_io_list and continue with processing the next transaction. This is mostly a cosmetic issue since the only result is we can sometimes free less memory than we could. But it's still worth fixing. Fix journal_clean_one_cp_list() to return 1 only if the transaction was really freed. Fixes: 50849db32a9f529235a84bcc84a6b8e631b1d0ec Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9c02ac97989d544c89f049e8add7149aaea01671 Author: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> Date: Sat Oct 17 22:28:21 2015 -0400 ext4: fix xfstest generic/269 double revoked buffer bug with bigalloc When you repeatly execute xfstest generic/269 with bigalloc_1k option enabled using the below command: "./kvm-xfstests -c bigalloc_1k -m nodelalloc -C 1000 generic/269" you can easily see the below bug message. "JBD2 unexpected failure: jbd2_journal_revoke: !buffer_revoked(bh);" This means that an already revoked buffer is erroneously revoked again and it is caused by doing revoke for the buffer at the wrong position in ext4_free_blocks(). We need to re-position the buffer revoke procedure for an unspecified buffer after checking the cluster boundary for bigalloc option. If not, some part of the cluster can be doubly revoked. Signed-off-by: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> commit 9008a58e5dcee014f5de69d154e2620870f9224e Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Sat Oct 17 21:33:24 2015 -0400 ext4: make the bitmap read routines return real error codes Make the bitmap reaading routines return real error codes (EIO, EFSCORRUPTED, EFSBADCRC) which can then be reflected back to userspace for more precise diagnosis work. In particular, this means that mballoc no longer claims that we're out of memory if the block bitmaps become corrupt. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 56316a0d28f251dae6a3bc2b6d50e7c25389871f Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Sat Oct 17 16:18:45 2015 -0400 jbd2: clean up feature test macros with predicate functions Create separate predicate functions to test/set/clear feature flags, thereby replacing the wordy old macros. Furthermore, clean out the places where we open-coded feature tests. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit e2b911c53584a92266943f3b7f2cdbc19c1a4e80 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Sat Oct 17 16:18:43 2015 -0400 ext4: clean up feature test macros with predicate functions Create separate predicate functions to test/set/clear feature flags, thereby replacing the wordy old macros. Furthermore, clean out the places where we open-coded feature tests. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> commit 6a797d2737838906f2ea0a31686e87c3151e21ca Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Sat Oct 17 16:16:04 2015 -0400 ext4: call out CRC and corruption errors with specific error codes Instead of overloading EIO for CRC errors and corrupt structures, return the same error codes that XFS returns for the same issues. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 8c81bd8f586c46eaf114758a78d82895a2b081c2 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Sat Oct 17 16:16:02 2015 -0400 ext4: store checksum seed in superblock Allow the filesystem to store the metadata checksum seed in the superblock and add an incompat feature to say that we're using it. This enables tune2fs to change the UUID on a mounted metadata_csum FS without having to (racy!) rewrite all disk metadata. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 8b4953e13f4c5d9a3c869f5fca7d51e1700e7db0 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Oct 17 16:15:18 2015 -0400 ext4: reserve code points for the project quota feature Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 324700604b04954510ddd4c6841a88a06938a28c Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 11:30:15 2015 -0700 Input: lpc32xx_ts - fix warnings caused by enabling unprepared clock If common clock framework is configured, the driver generates a warning, which is fixed by this change: root@devkit3250:~# cat /dev/input/touchscreen0 ------------[ cut here ]------------ WARNING: CPU: 0 PID: 720 at drivers/clk/clk.c:727 clk_core_enable+0x2c/0xa4() Modules linked in: sc16is7xx snd_soc_uda1380 CPU: 0 PID: 720 Comm: cat Not tainted 4.3.0-rc2+ #199 Hardware name: LPC32XX SoC (Flattened Device Tree) Backtrace: [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c) [<>] (show_stack) from [<>] (dump_stack+0x20/0x28) [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8) [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c) [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xa4) [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38) [<>] (clk_enable) from [<>] (lpc32xx_setup_tsc+0x18/0xa0) [<>] (lpc32xx_setup_tsc) from [<>] (lpc32xx_ts_open+0x14/0x1c) [<>] (lpc32xx_ts_open) from [<>] (input_open_device+0x74/0xb0) [<>] (input_open_device) from [<>] (evdev_open+0x110/0x16c) [<>] (evdev_open) from [<>] (chrdev_open+0x1b4/0x1dc) [<>] (chrdev_open) from [<>] (do_dentry_open+0x1dc/0x2f4) [<>] (do_dentry_open) from [<>] (vfs_open+0x6c/0x70) [<>] (vfs_open) from [<>] (path_openat+0xb4c/0xddc) [<>] (path_openat) from [<>] (do_filp_open+0x40/0x8c) [<>] (do_filp_open) from [<>] (do_sys_open+0x124/0x1c4) [<>] (do_sys_open) from [<>] (SyS_open+0x2c/0x30) [<>] (SyS_open) from [<>] (ret_fast_syscall+0x0/0x38) Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit bef6229f36c1c2ddae186f4e328c2359c1dad18d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 9 19:38:04 2015 +0200 ARM: sunxi: Add R8 support The R8 is a new Allwinner SoC based on the A13. While both are very similar, there's still a few differences. Introduce a new compatible to deal with them. In order to have a consistent naming, instead of mentioning the Allwinner A series as the machine name, switch to sun4i/sun5i like what is done for the other families. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 083117c0ca8359ac82854a809120694be6375eb4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Oct 17 18:32:27 2015 +0200 ALSA: hda - Remove obsoleted documentation It's totally outdated. We need a revised version later, maybe better integrated into kernel doc. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 658a69bb7568238fd9a65da2426736435d7e8b01 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Oct 17 18:31:31 2015 +0200 ALSA: hda - Remove leftover snd_hda_bus() prototype It was forgotten to be removed. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2f0eaad91005b00e774a118595a573a9e0fd30fc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Oct 17 18:25:38 2015 +0200 ALSA: hda - Fix bogus codec address check for mixer name assignment The recent commit [7fbe824a0f0e: ALSA: hda - Update mixer name for the lower codec address] tried to improve the mixer chip name assignment in the order of codec address. However, this fix was utterly bogus; it checks the field set in each codec, thus this value is reset at each codec creation, of course. For really handling this priority, the assignment has to be remembered in the common place, namely in hda_bus, instead of hda_codec. Fixes: 7fbe824a0f0e ('ALSA: hda - Update mixer name for the lower codec address') Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c2aa565107fb539a84494fe8dac5fd5eb5678123 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Oct 15 16:28:47 2015 +0200 ARM: dts: sun6i: Add a dts file for the Sinovoip BPI-M2 board The Sinovoip BPI-M2 is a SBC board based on the A31s SoC it features 1G RAM, a microsd slot, Gbit ethernet, 4 usb-a USB-2 ports, ir receiver, stereo headphone jack and hdmi video output. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5edab366c633af72c5fa2dd2bb067fd5f534d031 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Oct 15 16:28:46 2015 +0200 ARM: dts: sun6i: Add mmc2_pins_a pinmux setting to sun6i-a31.dtsi Add a pinmux setting for using mmc2 in regular 4 bit mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6d55d339fa6f957c1ef52dfa2ac85445c62c5a13 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Oct 15 16:28:45 2015 +0200 ARM: dts: sunxi: Fix interrupt-cells for [r]pio on A23/A31/A33/A80 When the gpio interrupt bindings where changed to add a bank to the specifier list, the r_pio nodes of A23/A31/A33 where not updated to match and neither was the pio node of the A80, this fixes this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 919612444272c00e0322a3d081cc720dbfa956d3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:33:02 2015 +0100 staging: vt6655: card.c rename pDevice with priv Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc667b99ccb7392c33b9fd46360356b11755979c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:33:01 2015 +0100 staging: vt6655: rename pOpts and sOpts to opts. bring pointers and members into line. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 068b998835168b5107d1e62a346f52b9f44ed10b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:33:00 2015 +0100 staging: vt6655: remove static inline alloc_td_info. Since this only contains one function and used only twice remove inline altogether. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e06cf9aba8dadb92b1ec12a757d0a824c022176f Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:59 2015 +0100 staging: vt6655: remove static inline alloc_rd_info. Since this only contains one function and only used twice remove inline altogether. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bed02d93a1e3d6880982f9429aa75334afd29851 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:58 2015 +0100 staging: vt6655: replace typedef struct __device_opt with struct vnt_options and members rx_descs0 for nRxDescs0 rx_descs1 for nRxDescs1 tx_descs for nTxDescs int_works short_retry long_retry bbp_type flags Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28c777cb1f828197b3896c6d549e6e091e68e36c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:57 2015 +0100 staging: vt6655: device.h remove typedef enum Covert values to macros. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83373ac0be558428d64b60a994e03eb607313f2a Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:56 2015 +0100 staging: vt6655: device.h remove unsed headers. Most of these headers rate to old api that are no longer used in driver. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5137897949ab640910fc3bbb5d46c0d9c8492e9f Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:55 2015 +0100 staging: vt6655: device.h remove unused macros. None of these are used in driver anymore. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0924a89b0b06ce569c7f536984d64bf6cd2cb4d4 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:54 2015 +0100 staging: vt6655: device_main Replace uIdx with idx. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5eabae947af6f6e1f7c5c7a6eeb5fb691c100ba Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 17 21:20:00 2015 +0530 staging: sm750fb: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro Problem found using checkpatch.pl WARNING: 'Prefer using the BIT macro' Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13d0580cd1eabceb1661049d8830d913d1e31098 Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Sat Oct 17 23:52:26 2015 +0800 Staging: mt29f_spinand: Remove space after a cast Modify retval to reflect removal of space during cast operation. Checkpatch found this issue. CHECK: No space is necessary after a cast Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09c02cb5a610b33425169cabae3efed390ff400a Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Oct 17 15:25:35 2015 +0300 Staging: wilc1000: Remove unnecessary parentheses Problem found using checkpatch.pl: CHECK: Unnecessary parentheses around pstrNetworkInfo->u8SsidLen Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86e4180e122161469f5215aed6a75300a1c406e7 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Oct 17 15:25:34 2015 +0300 Staging: wilc1000: Remove unnecessary else after return Problem found using checkpatch.pl: WARNING: else is not generally useful after a break or return Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 350979e4870711912f4a391d7b2fadfedf775fc3 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Oct 17 15:25:33 2015 +0300 Staging: wilc1000: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5f00637784f09e524ca882e8d43d78e36da166b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 08:55:15 2015 -0700 Staging: lustre: remove unneeded variable ldlm_lock_enqueue() always returns ELDLM_OK, no matter what happens, so removed the unneeded variable that this value was being stored in and just return the value itself. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx commit f0a0a978b66fea782a52b0a7075b3fa9ab27ad0a Merge: c8d71d0 4be3158 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sat Oct 17 14:11:08 2015 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next This merge resolves conflicts with 75aec9df3a78 ("bridge: Remove br_nf_push_frag_xmit_sk") as part of Eric Biederman's effort to improve netns support in the network stack that reached upstream via David's net-next tree. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Conflicts: net/bridge/br_netfilter_hooks.c commit f33e9c434b8ce833bd3dd39436bd0799c3e1d1c5 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Oct 9 12:16:02 2015 +0530 ARC: smp: Move default boot kick/wait code out of MCIP into common code For non halt-on-reset case, all cores start of simultaneously in @stext. Master core0 proceeds with kernel boot, while other spin-wait on @wake_flag being set by master once it is ready. So NO hardware assist is needed for master to "kick" the others. This patch moves this soft implementation out of mcip.c (as there is no hardware assist) into common smp.c Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit d0890ea5b68f63d7b8641455dc5534886fee2fa1 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Oct 2 19:24:20 2015 +0530 ARC: boot log: decode more mmu config items Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 964cf28f9d10f4e5229e4365258c292bc5c856b2 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Oct 2 19:20:27 2015 +0530 ARC: boot log: move helper macros to header for reuse Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit b598e17f6a7a3a9bb6e0953ef586ee3697b59fce Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Oct 2 12:25:35 2015 +0530 ARC: mm: compute TLB size as needed from ways * sets This frees up some bits to hold more high level info such as PAE being present, w/o increasing the size of already bloated cpuinfo struct Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit c583ee4fb013bcf3501b9f10c252ea44cf7c657a Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Sep 29 16:01:13 2015 +0530 ARC: mm: MMU v1..v3 only selectable for ARCompact ISA based cores Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5c35ee642a1d1341b225808b53fc69df2245b87e Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Sep 29 16:05:48 2015 +0530 ARC: make write_aux_reg safer against macro substitution It was generating warnings when called as write_aux_reg(x, paddr >> 32) Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 9fabcc636bf57dcb9c6fc5b1f34861c548944fd4 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Oct 8 17:52:27 2015 +0530 ARC: [arcompact] entry.S: Elide extra check/branch in exception ret path This is done by improving the laddering logic ! Before: if Exception goto excep_or_pure_k_ret if !Interrupt(L2) goto l1_chk else INTERRUPT_EPILOGUE 2 l1_chk: if !Interrupt(L1) (i.e. pure kernel mode) goto excep_or_pure_k_ret else INTERRUPT_EPILOGUE 1 excep_or_pure_k_ret: EXCEPTION_EPILOGUE Now: if !Interrupt(L1 or L2) (i.e. exception or pure kernel mode) goto excep_or_pure_k_ret ; guaranteed to be an interrupt if !Interrupt(L2) goto l1_ret else INTERRUPT_EPILOGUE 2 ; by virtue of above, no need to chk for L1 active l1_ret: INTERRUPT_EPILOGUE 1 excep_or_pure_k_ret: EXCEPTION_EPILOGUE Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5f888087455c5199195c2ba17b91ac7285a33921 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sun Sep 6 19:11:12 2015 +0530 ARC: [arcompact] entry.S: Document preemption games for L2 intr Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 55a2ae775ab4fe7aefa736e0fae6b8d4bd8aaab5 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Sep 5 23:08:31 2015 +0530 ARC: [arcompact] entry.S: Improve early return from exception The requirement is to - Reenable Exceptions (AE cleared) - Reenable Interrupts (E1/E2 set) We need to do wiggle these bits into ERSTATUS and call RTIE. Prev version used the pre-exception STATUS32 as starting point for what goes into ERSTATUS. This required explicit fixups of U/DE/L bits. Instead, use the current (in-exception) STATUS32 as starting point. Being in exception handler U/DE/L can be safely assumed to be correct. Only AE/E1/E2 need to be fixed. So the new implementation is slightly better -Avoids read form memory -Is 4 bytes smaller for the typical 1 level of intr configuration -Depicts the semantics more clearly Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 9dbd3d9bfd56707f9b1ccc301506e2fac0e95795 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Sep 5 22:47:30 2015 +0530 ARC: [arcompact] don't check for hard isr calling local_irq_enable() Historically this was done by ARC IDE driver, which is long gone. IRQ core is pretty robust now and already checks if IRQs are enabled in hard ISRs. Thus no point in checking this in arch code, for every call of irq enabled. Further if some driver does do that - let it bring down the system so we notice/fix this sooner than covering up for sucker This makes local_irq_enable() - for L1 only case atleast simple enough so we can inline it. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit c7119d56d2755fc2770b0e2c1c4385e10f4c9161 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Oct 15 08:04:45 2015 +0530 ARCv2: mm: THP: flush_pmd_tlb_range make SMP safe Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 722fe8fd365a08bd53e9dd105009ab810107b02d Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Feb 27 19:36:35 2015 +0530 ARCv2: mm: THP: Implement flush_pmd_tlb_range() optimization Implement the TLB flush routine to evict a sepcific Super TLB entry, vs. moving to a new ASID on every such flush. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 12ebc1581ad114543ae822aa3a12f76072e2f902 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Feb 20 10:36:28 2015 +0530 mm,thp: introduce flush_pmd_tlb_range ARCHes with special requirements for evicting THP backing TLB entries can implement this. Otherwise also, it can help optimize TLB flush in THP regime. stock flush_tlb_range() typically has optimization to nuke the entire TLB if flush span is greater than a certain threshhold, which will likely be true for a single huge page. Thus a single thp flush will invalidate the entrire TLB which is not desirable. e.g. see arch/arc: flush_pmd_tlb_range Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20151009100816.GC7873@node Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit bd5e88ad72b26ebf7ecb231bc22ceecd6cbdb951 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Jul 9 17:22:44 2015 +0530 mm,thp: reduce ifdef'ery for THP in generic code - pgtable-generic.c: Fold individual #ifdef for each helper into a top level #ifdef. Makes code more readable - Converted the stub helpers for !THP to BUILD_BUG() vs. runtime BUG() Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20151009133450.GA8597@node Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 52585bcc2505d6f888d4ac68ca6c55f6d1ad736a Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Jul 9 17:19:30 2015 +0530 mm: group pte related helpers together This reduces/simplifies the diff for the next patch which moves THP specific code. No semantical changes ! Acked-by: Kirill A. Shutemov kirill.shutemov@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442918096-17454-9-git-send-email-vgupta@xxxxxxxxxxxx Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 443a6312832fe7362edffed960204f750b230f46 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 27 14:03:20 2015 +0530 Documentation/features/vm: THP now supported by ARC Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 6ce187985f31c441f7fc10a4d265182d05bc7ad3 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Mar 12 19:48:03 2015 +0530 ARCv2: mm: THP: boot validation/reporting Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit fe6c1b8611aa3a79a937a5e3b85a16576b6ad159 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Jul 8 18:43:47 2014 +0530 ARCv2: mm: THP support MMUv4 in HS38x cores supports Super Pages which are basis for Linux THP support. Normal and Super pages can co-exist (ofcourse not overlap) in TLB with a new bit "SZ" in TLB page desciptor to distinguish between them. Super Page size is configurable in hardware (4K to 16M), but fixed once RTL builds. The exact THP size a Linx configuration will support is a function of: - MMU page size (typical 8K, RTL fixed) - software page walker address split between PGD:PTE:PFN (typical 11:8:13, but can be changed with 1 line) So for above default, THP size supported is 8K * 256 = 2M Default Page Walker is 2 levels, PGD:PTE:PFN, which in THP regime reduces to 1 level (as PTE is folded into PGD and canonically referred to as PMD). Thus thp PMD accessors are implemented in terms of PTE (just like sparc) Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 00db674bedd68ff8b5afae9030ff5e04d45d1b4a Author: Nikolay Borisov <kernel@xxxxxxxx> Date: Fri Oct 16 09:40:28 2015 +0300 netfilter: ipset: Fix sleeping memory allocation in atomic context Commit 00590fdd5be0 introduced RCU locking in list type and in doing so introduced a memory allocation in list_set_add, which is done in an atomic context, due to the fact that ipset rcu list modifications are serialised with a spin lock. The reason why we can't use a mutex is that in addition to modifying the list with ipset commands, it's also being modified when a particular ipset rule timeout expires aka garbage collection. This gc is triggered from set_cleanup_entries, which in turn is invoked from a timer thus requiring the lock to be bh-safe. Concretely the following call chain can lead to "sleeping function called in atomic context" splat: call_ad -> list_set_uadt -> list_set_uadd -> kzalloc(, GFP_KERNEL). And since GFP_KERNEL allows initiating direct reclaim thus potentially sleeping in the allocation path. To fix the issue change the allocation type to GFP_ATOMIC, to correctly reflect that it is occuring in an atomic context. Fixes: 00590fdd5be0 ("netfilter: ipset: Introduce RCU locking in list type") Signed-off-by: Nikolay Borisov <kernel@xxxxxxxx> Acked-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 724097059a8e5df1aa162d153b8f90b0ffbb82dc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 15 21:17:11 2015 +0300 ALSA: firewire-tascam: off by one in handle_midi_tx() My static checker complains because tscm->spec->midi_capture_ports is either 2 or 4 but the tscm->tx_midi_substreams[] array has 4 elements so this is possibly off by one. I have looked at the code and I think it should be >= instead of > as well. Fixes: 107cc0129a68 ('ALSA: firewire-tascam: add support for incoming MIDI messages by asynchronous transaction') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 69ec98d7e5661a1c98ec51c26d6e91af3bbe0e72 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 15 21:16:30 2015 +0300 ALSA: firewire-tascam: fix an LED bug We recently tried to add some new code to support turning the LED on and off but the code in snd_tscm_transaction_reregister() is unreachable. Fixes: e65e2cb99e44 ('ALSA: firewire-tascam: Turn on/off FireWire LED') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fd7cd061adcf5f7503515ba52b6a724642a839c8 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:30:13 2015 +0300 xhci: Add spurious wakeup quirk for LynxPoint-LP controllers We received several reports of systems rebooting and powering on after an attempted shutdown. Testing showed that setting XHCI_SPURIOUS_WAKEUP quirk in addition to the XHCI_SPURIOUS_REBOOT quirk allowed the system to shutdown as expected for LynxPoint-LP xHCI controllers. Set the quirk back. Note that the quirk was originally introduced for LynxPoint and LynxPoint-LP just for this same reason. See: commit 638298dc66ea ("xhci: Fix spurious wakeups after S5 on Haswell") It was later limited to only concern HP machines as it caused regression on some machines, see both bug and commit: Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66171 commit 6962d914f317 ("xhci: Limit the spurious wakeup fix only to HP machines") Later it was discovered that the powering on after shutdown was limited to LynxPoint-LP (Haswell-ULT) and that some non-LP HP machine suffered from spontaneous resume from S3 (which should not be related to the SPURIOUS_WAKEUP quirk at all). An attempt to fix this then removed the SPURIOUS_WAKEUP flag usage completely. commit b45abacde3d5 ("xhci: no switching back on non-ULT Haswell") Current understanding is that LynxPoint-LP (Haswell ULT) machines need the SPURIOUS_WAKEUP quirk, otherwise they will restart, and plain Lynxpoint (Haswell) machines may _not_ have the quirk set otherwise they again will restart. Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Cc: Oliver Neukum <oneukum@xxxxxxxx> [Added more history to commit message -Mathias] Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b4739b8951d650becbcd855d7d6f18ac98a9a85 Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Mon Oct 12 11:30:12 2015 +0300 xhci: handle no ping response error properly If a host fails to wake up a isochronous SuperSpeed device from U1/U2 in time for a isoch transfer it will generate a "No ping response error" Host will then move to the next transfer descriptor. Handle this case in the same way as missed service errors, tag the current TD as skipped and handle it on the next transfer event. Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e210c422b6fdd2dc123bedc588f399aefd8bf9de Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Mon Oct 12 11:30:11 2015 +0300 xhci: don't finish a TD if we get a short transfer event mid TD If the difference is big enough between the bytes asked and received in a bulk transfer we can get a short transfer event pointing to a TRB in the middle of the TD. We don't want to handle the TD yet as we will anyway receive a new event for the last TRB in the TD. Hold off from finishing the TD and removing it from the list until we receive an event for the last TRB in the TD Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50bdb12388c520e93947fca3cabf233a77fefd42 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:40 2015 +0200 usb/host/fotg210: Add function scan_frame_queue() checkpatch complains about too many leading tabs because the if statement starts after 6 tabs: scan_iosoc() -> for() -> while() -> switch() -> if() -> for() -> if() There is also a goto statement going backwards in case of failure. This patch creates a new inline function named scan_frame_queue() containing the last 4 nesting levels, and removes the need of backwards goto, making the code easier to read. After the patch it becomes: scan_iosoc() -> for() -> while() -> scan_frame_queue() Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32fb1939e3921691c71f7cd274d80d487af72fae Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:39 2015 +0200 usb/host/fotg210: Add function: output_buf_tds_dir() checkpatch complains about too many leading tabs because the switch statement starts after 6 tabs. fill_periodic_buffer() -> for() -> do -> switch() -> if() -> list_for_each_entry() and finally the last switch(). This patch moves the list_for_each_entry() and the last switch() to a new function named output_buf_tds_dir(). This change makes the code easier to read and calm down checkpatch. This patch changes it to: fill_periodic_buffer() -> for() -> do -> switch() -> if() -> output_buf_tds_dir() Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4d66b5f8da338482005cf7f3dd2fcdaed09dd3f Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:38 2015 +0200 usb/host/fotg210: convert macro to inline function This patch convert the macro speed_char in an inline function. The goal of this patch is to make the code easier to read. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05ebc36e48fa53c9cf01271ed11a8415882699f3 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:37 2015 +0200 usb/host/fotg210: replace msleep by usleep_range msleep under 20ms can result in sleeping up to 20ms, which may not be intended. Replace msleep(5) by usleep_range(5000, 10000). The range of 5 ms is to reduce the chances of creating an interrupt while reducing the maximum wait time in 50%. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d88002e2729e93d93631743d57e1f36763ce136 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:36 2015 +0200 usb/host/fotg210: change kmalloc by kmalloc_array This patch replaces: kmalloc(DBG_SCHED_LIMIT * sizeof(*seen), GFP_ATOMIC) by: kmalloc_array(DBG_SCHED_LIMIT, sizeof(*seen), GFP_ATOMIC) as kmalloc_array() should be used for allocating arrays. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f238b4e2b39e94dc9770243c472a80fa41190db0 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:34 2015 +0200 usb/host/fotg210: Remove useless else statement This patch remove an else statement after a return to make the code easier to understand. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ec9b891a2da7a014245feedc00dc66f0da7a271 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:33 2015 +0200 usb/host/fotg210: remove KERN_WARNING from pr_warn This patch remove KERN_WARNING from a call to pr_warn(). Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 259127ba78d0f25c82a13e594f322b5016f40b62 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:32 2015 +0200 usb/host/fotg210: Fix coding style issues This patch fix coding style issues reported by checkpatch that do not change semantics of the code. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34e51ba6b65b5db4e35426759b1fbdf608545238 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Fri Oct 2 13:18:27 2015 +0200 usb-host: Remove fusbh200 driver fusbh200 and fotg210 are very similar. The initial idea was to consolidate both drivers but I'm afraid fusbh200 is not being used. This patch remove the fusbh200 source code, update Kconfig and two Makefiles. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Acked-by: John Chiang <john453@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d491fe75ed1b86f33f671b748e6cfdb9dffaeb32 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 21:11:35 2015 +0300 usb: hcd: use USB_DT_* Fix using the bare numbers to set the 'bDescriptorType' descriptor fields while the values are #define'd in <linux/usb/ch9.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fda182d80a0bf362c3970d44ec188fa4f294729f Author: Duc Dang <dhdang@xxxxxxx> Date: Fri Oct 9 13:30:13 2015 +0300 usb: xhci: configure 32-bit DMA if the controller does not support 64-bit DMA This change avoids DMA error in the cases where dma_mask and coherent_dma_mask of a 32-bit controller get configured as DMA_BIT_MASK(64) when running on a 64-bit system. Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 579085b51c458fd4a5df9d5e19238f5e09bb114b Author: Duc Dang <dhdang@xxxxxxx> Date: Fri Oct 9 13:30:12 2015 +0300 usb: Add support for ACPI identification to xhci-platform Provide the methods to let ACPI identify the need to use xhci-platform. Change the Kconfig files so the xhci-plat.o file is selectable during kernel config. This has been tested on an ARM64 machine with platform XHCI, an x86_64 machine with XHCI, and an x86_64 machine without XHCI. There were no regressions or error messages on the machines without platform XHCI. [dhdang: regenerate the patch over v4.3-rc1 and address new comments] Signed-off-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ebbe398f68be0d9bbd41dcfb57319e697756b37 Author: Duc Dang <dhdang@xxxxxxx> Date: Fri Oct 9 13:30:11 2015 +0300 usb: make xhci platform driver use 64 bit or 32 bit DMA The xhci platform driver needs to work on systems that either only support 64-bit DMA or only support 32-bit DMA. Attempt to set a coherent dma mask for 64-bit DMA, and attempt again with 32-bit DMA if that fails. [dhdang: regenerate the patch over v4.3-rc1 and address new comments] Signed-off-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Duc Dang <dhdang@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8451a34ff6c7c756e9e0f0094a3ba856c9734e5d Author: Lu, Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Fri Oct 9 13:30:10 2015 +0300 usb: xhci: Makefile: move xhci-pci and xhci-plat-hcd after xhci-hcd Module xhci-pci and xhci-plat-hcd depend on xhci-hcd. Module xhci-hcd should be put at a place before xhci-pci and xhci-plat-hcd. Otherwise, xhci_hcd_init() might be executed after other functions in xhci-hcd if they are all selected to be built in. 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 5990e5dd7850b4e76a0dace302ac1f801fb8c729 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 9 13:30:09 2015 +0300 xhci: 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> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c840d6ce772d47c777070ca4bbbfbf21d8d727a3 Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Fri Oct 9 13:30:08 2015 +0300 xhci: create one unified function to calculate TRB TD remainder. xhci versions 1.0 and later report the untransferred data remaining in a TD a bit differently than older hosts. We used to have separate functions for these, and needed to check host version before calling the right function. Now Mediatek host has an additional quirk on how it uses the TD Size field for remaining data. To prevent yet another function for calculating remainder we instead want to make one quirk friendly unified function. Tested-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73061da07d28ac6724bcd9ce4b51cf51a8b6b40e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Oct 16 17:09:13 2015 +0300 intel_th: Check for NULL instead of ERR_PTR devm_ioremap() returns NULL on error, it doesn't return an ERR_PTR, which is what the current code does. This patch corrects these checks. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c090575b013cd1f0070567203498704fa61b2fc Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Fri Oct 16 17:09:12 2015 +0300 stm class: Select configfs STM policy handling is basically configfs, I honestly don't know how we ended up without a Kconfig dependency, but thanks to randconfig testing, it's now caught. Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edebf6199bfec7cdefc69a4178b760d09165a926 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:48:02 2015 -0700 staging: comedi: cb_pcidas: rename handle_ao_interrupt() Rename this 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 790b2f06249602ee2560bb94cce4b934abcba6e4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:48:01 2015 -0700 staging: comedi: cb_pcidas: tidy up analog input subdevice init For aesthetics, add some whitespace to the subdevice initialization and rename the subdevice functions to follow the normal form in comedi drivers. Async command support uses interrupts. For clarity, make sure the driver has an IRQ before initializing command support. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5c51b1d6a7629a3efd413fc9f6a6e5d553d5f24 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:48:00 2015 -0700 staging: comedi: cb_pcidas: tidy up analog output subdevice init For aesthetics, add some whitespace to the subdevice initialization and rename the (*insn_write) functions to follow the normal form in comedi drivers. It's not possible to actually read the analog outpus. For convienence the subdevice readback provided by the core is used to return the last value written to the subdevice. Remove the SDF_READABLE flag from the subdev_flags. Async command support uses interrupts. For clarity, make sure the driver has an IRQ before initializing command support. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4008c7207e832d14414f76774a8ebc7067f2154 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:59 2015 -0700 staging: comedi: cb_pcidas: rename private data 's5933_intcsr_bits' For aesthetics, rename this 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 8499ad694a20de85a9e37da4a1aa57869f368fb2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:58 2015 -0700 staging: comedi: cb_pcidas: rename private data 's5933_config' For aesthetics, rename this 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 16ded01b69b10d09659e61f0703979c63dcd385f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:57 2015 -0700 staging: comedi: cb_pcidas: fix cb_pcidas_eeprom_insn_read() The comedi core expects (*insn_read) operations to return insn->n data values. Refactor this function to work like the core expects. For aesthetics, nvram_read() and use the comedi_timeout() helper to handle the busy wait for the eeprom to be "ready". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73d38effd10b8e399790aa67d6eace855f2d81ce Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:56 2015 -0700 staging: comedi: cb_pcidas: tidy up memory subdevice init For aesthetics, add some whitespace to the initialization of this subdevice. Rename the (*insn_read) 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 d9b0cde41992bbd9047b435354bd5e2317158748 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:55 2015 -0700 staging: comedi: cb_pcidas: tidy up 8800 caldac calibration subdevice For aesthetics, add some whitespace to the subdevice init. It's not possible to actually read from the caldac. For convienence the subdevice readback provided by the core is used to return the last value written to the subdevice. Remove the SDF_READABLE flag from the subdev_flags. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a266cd7992e7d2920a40a27c8192884fee261c21 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:54 2015 -0700 staging: comedi: cb_pcidas: tidy up dac08_write() Rename this function so it has namespace associated with the driver. Also rename the 'value' parameter to avoid having to split the line to keep it under 80 chars. Remove the unnecessary masking on the 'value'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e56aaa24a0347d6e0f3be83eb31252855cadba93 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:53 2015 -0700 staging: comedi: cb_pcidas: tidy up dac08 calibration subdevice For aesthetics, add some whitespace to the subdevice init. It's not possible to actually read from the dac08. For convienence the subdevice readback provided by the core is used to return the last value written to the subdevice. Remove the SDF_READABLE flag from the subdev_flags. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe970e4d2d75497a7fed75cea0acd7150e92ed92 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:52 2015 -0700 staging: comedi: cb_pcidas: refactor 'trimpot' boardinfo Only the pci-das1602/16 boards have an AD8402 trimpot. The rest of the boards supported by this driver have an AD7376 trimpot. Replace the 'enum trimpot_module' in the boardinfo with a bit-field flag 'has_ad8402' 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 873524c8517cf0986768685358d124aae7f7e495 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:51 2015 -0700 staging: comedi: cb_pcidas: tidy up cb_pcidas_trimpot_write() All the boards supported by this driver have an AD7376 or AD8402 trimpot. Replace the switch () with and if () and remove the unreachable dev_err() noise. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d71464fd137d4a830dddfc799de8158e9ddc97c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:50 2015 -0700 staging: comedi: cb_pcidas: absorb caldac/trimpot write functions These functions are all just wrappers for cb_pcidas_calib_write(). Remove them and absorb the code into the callers. Remove the unnecessary masking of the 'chan'. It will always be in range due to the 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 eddd2a4c675c95f19da79b5adbf46851b2441212 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:49 2015 -0700 staging: comedi: cb_pcidas: refactor write_calibration_bitstream() Refactor this function to handle the common code used to select the calibration device (trimpot or caldac) and latch the data after sending the bitstream. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2285cd513128d8765334083a997eaa4df4e08791 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:48 2015 -0700 staging: comedi: cb_pcidas: tidy up caldac_8800_write() Rename this function so it has namespace associated with the driver. For aesthetics, remove the 'static const' local variables. They don't add any significant value. Remove the 'bitstream' local variable. Change the type of the 'value' param to match the callers type and write_calibration_bitstream()'s type. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6eb2455dcf1353408c7525ad8617314b3c084efc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:47 2015 -0700 staging: comedi: cb_pcidas: tidy up trimpot_8402_write() Rename this function so it has namespace associated with the driver. Change the return type to void, it always returns '0' and the return value is never checked. For aesthetics, remove the 'static const' local variables. They don't add any significant value. Remove the 'bitstream' local variable. The 'value' passed to this function will always be in the correct range due to s->maxdata so the masking is not necessary. Change the type of the 'value' param to match the callers type and write_calibration_bitstream()'s type. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c11f4772c54d9bea4448ae9de1d4b99695ee72a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:46 2015 -0700 staging: comedi: cb_pcidas: tidy up trimpot_7376_write() Rename this function so it has namespace associated with the driver. Change the return type to void, it always returns '0' and the return value is never checked. For aesthetics, remove the 'static const' local variables. They don't add any significant value. Remove the 'bitstream' local variable. The 'value' passed to this function will always be in the correct range due to s->maxdata so the masking is not necessary. Change the type of the 'value' param to match the callers type and write_calibration_bitstream()'s type. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19ce5d61528a464d97f7cfa17f01bcdc86ded8ae Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:45 2015 -0700 staging: comedi: cb_pcidas: tidy up calibration trimpot subdevice For aesthetics, add some whitespace to the subdevice init. It's not possible to actually read from the trimpot. For convienence the subdevice readback provided by the core is used to return the last value written to the subdevice. Remove the SDF_READABLE flag from the subdev_flags. Move the comment about the channels from trimpot_8402_write() to the subdevice init and fix the checkpatch.pl issue about: WARNING: Block comments use a trailing */ on a separate line Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53cb50aae6fea6af83bde3c773a34abf3469377c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:44 2015 -0700 staging: comedi: cb_pcidas: use preferred kernel types As suggested by checkpatch.pl: CHECK: Prefer kernel type 'u8' over 'uint8_t' Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be3a7688753b18986c10de5fb99a40b9c639cc59 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:43 2015 -0700 staging: comedi: cb_pcidas: tidy up DAC control/status register Rename this register and its bit defines so they have namespace associated with the driver. Use the BIT macro to define the bits. For aesthetics, rename the associated 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 21b6476af98672f8c784a40817793fe17504f978 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:42 2015 -0700 staging: comedi: cb_pcidas: tidy up calibration register Rename this register and its bit defines so they have namespace associated with the driver. 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 1a55808d6245a294d1785778de7d80cab3d14136 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:41 2015 -0700 staging: comedi: cb_pcidas: tidy up trigger control/status register Rename this register and its bit defines so they have namespace associated with the driver. 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 1f9cb9424e406551e32cd203c2fab37c00943935 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:40 2015 -0700 staging: comedi: cb_pcidas: tidy up ADC mux/control register Rename this register and its bit defines so they have namespace associated with the driver. 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 56a160b0ca481c6f2b56894b5a43862b0103fd93 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:39 2015 -0700 staging: comedi: cb_pcidas: tidy up interrupt/ADC FIFO register Rename this register and its bit defines so they have namespace associated with the driver. Use the BIT macro to define the bits. For aesthetics, rename the associated 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 f5c65f0298c9d2776f91a769ba880b4c6704b939 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:38 2015 -0700 staging: comedi: cb_pcidas: convert inline DAC bit helpers to macros For aesthetics, convert the inline functions that return the bits used to set the DAC range and enable bits to macros. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 964db7469f3b7cae5acd49f863fd612271322bf6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:37 2015 -0700 staging: comedi: cb_pcidas: tidy up PCI BAR2 register defines Rename the defines for the PCI BAR2 register offsets so they have namespace associated with the driver and convert the offsets to hex. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1532421f4128414aa1e86885de8377b28d5bb079 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:36 2015 -0700 staging: comedi: cb_pcidas: tidy up PCI BAR3 register defines Rename the defines for the PCI BAR3 register offsets so they have namespace associated with the driver and convert the offsets to hex. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19aab073245923e8b8b4876dbc2d0287e9e9f700 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:35 2015 -0700 staging: comedi: cb_pcidas: use comedi_range_is_unipolar() Instead of relying on the IS_UNIPOLAR mask value, use the comedi helper function to check if the range is unipolar. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9846ec3a48e1ef4be619478d0822467dbfe79ec4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:34 2015 -0700 staging: comedi: cb_pcidas: tidy up PCI BAR4 register defines Convert the inline function DAC_DATA_REG() into a simple macro. Rename the defines for the PCI BAR4 register offsets so they have namespace associated with the driver and convert the offsets to hex. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71c1d717b3d0318edafc91c45e84140379c86e8d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:33 2015 -0700 staging: comedi: cb_pcidas: rename private data 'ao_registers' This member of the private data holds the PCI BAR4 resource starting address. For aesthetics, rename this member to 'pcibar4'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 800235b64ef3440a77af019a3f6ffd5a42cff785 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:32 2015 -0700 staging: comedi: cb_pcidas: rename private data 'adc_fifo' This member of the private data holds the PCI BAR2 resource starting address. For aesthetics, rename this member to 'pcibar2'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d39f185130432452ba8cead55ec7c4a914133bc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:31 2015 -0700 staging: comedi: cb_pcidas: rename private data 'control_status' This member of the private data holds the PCI BAR1 resource starting address. For aesthetics, rename this member to 'pcibar1'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c368e6687066c0dcaddacdd1bcdf7999caa21fa4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:30 2015 -0700 staging: comedi: cb_pcidas: refactor 'ranges' boardinfo All the boards, except the 'pci-das1001', use the normal analog input range table 'cb_pcidas_ranges'. Convert the 'ranges' boardinfo into a bit-field flag 'use_alt_range' to save a bit of space. For aesthetics, reword the comments in the boardinfo for the bit-field members so they align. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2743803dc4fce84365204a494ef94edd81c8320b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:29 2015 -0700 staging: comedi: cb_pcidas: all boards have 16 analog input channels All the boards supported by this driver have 16 analog input channels. Remove this unnecessary information from the boardinfo. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe97f142bb18903f91cde3de73c6b14ae031d4b4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:28 2015 -0700 staging: comedi: cb_pcidas: refactor analog output boardinfo Only some of the boards supported by this driver have analog outputs but they always have 2 channels. Refactor the 'ao_nchan' member of the boardinfo into a bit-field flag 'has_ao' to save a bit of space. Also, convert the 'has_ao_fifo' member into a bit-field flag. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfd2eb8d2077776fab9dbd2d91082990908480ab Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:27 2015 -0700 staging: comedi: cb_pcidas: refactor 'ai_bits' boardinfo The boards supported by this driver either have 16-bit or 12-bit analog input/output resolution. For aesthetics, replace the 'ai_bits' member of the boardinfo with a bit-field flag 'is_16bit'. Also, change the types of the other bit-field flags to unsigned int. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ab2733b7ce9e20be53f483f626f3d06ff507de3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:26 2015 -0700 staging: comedi: cb_pcidas: remove NUM_CHANNELS_* defines These defines don't add any additional clarity to the driver. Just 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 d41af47d9f3adb49c4328f1b6c769926478679c4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:25 2015 -0700 staging: comedi: cb_pcidas: tidy up multi-line comments Reformat 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 dbabedf38eb9cc435450d48cb68b30f1337e1bea Author: Sakshi Bansal <sakshi.april5@xxxxxxxxx> Date: Thu Oct 15 20:05:03 2015 +0530 staging: netlogic: xlr_net.h: fixed coding style warnings Fixed block comments usage of * on subsequent lines Signed-off-by: Sakshi Bansal <sakshi.april5@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27f88f3f1a7f203f79146a5a2c835c901af100fe Author: Ronit Halder <ronit.crj@xxxxxxxxx> Date: Fri Oct 16 14:20:20 2015 +0530 Staging: rts5208: use dmam_alloc_coherent This patch replaces dma_alloc_coherent with the corresponding managed interface. Signed-off-by: Ronit Halder <ronit.crj@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1446ff09ff87b9103fdde74962b3451f95b059c9 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:29:00 2015 +0200 staging: most: fix line-over-80-characters violations This patch prevents code from crossing the 80 character margin. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2db4b245ec8962ac1c1029462770efbf2d54f18 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:59 2015 +0200 staging: most: change parameter description This patch changes the description of a function parameter for a better understanding. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d58b0ee39abe889dd32718bdf407d13e7dbfb5df Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:58 2015 +0200 staging: most: replace memcpy by ether_addr_copy This patch replaces memcpy() by the preferred function ether_addr_copy(). Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47af41b0d9c078a8f093d418464de6083bd4e80d Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:57 2015 +0200 staging: most: fix misplaced constants in comparisons This patch removes and fixes constants being misplaced in comparisons. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba170ee2b95f53d6e973b63860a4bb80c3140ff4 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:56 2015 +0200 staging: most: make hdm-usb follow the coding style This patch fixes a couple of issues of the hdm-usb module found by checkpatch.pl. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfa1a42ec367afd82d70298e451a1ca1cf4989ce Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:55 2015 +0200 staging: most: fix checkpatch issues of hdm i2c This patch fixes the issues of HDM module i2c found by checkpatch.pl Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff466a5bc26af4f2bed11cd6adf625c6e57e0242 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:54 2015 +0200 staging: most: remove constants from comparisons This patch removes constants from comparisons and fixes checkpatch warnings about constants being put in the wrong place inside a comparison. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9158d33a5d38d1d23717d31c1e5eb11a6ebc982e Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:51 2015 +0200 staging: most: correct coding style breaches This patch fixes line-over-80-characters violation and removes the splitting of quoted strings. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bba76322c3075776f222c4c7dd36f954ed458250 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 16:12:01 2015 +0530 Staging: most: cdev: Remove useless check The variable mbo is already NULL tested so, check on it should be removed. Semantic patch used: @@ expression E; statement S; @@ if(E==NULL) {... return ...;} - if(E) S Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b981da12513469324a18ae8250bca2848f8bf787 Author: Gavin Thomas Claugus <gclaugus@xxxxxxxxx> Date: Tue Oct 13 17:44:40 2015 -0400 Staging: most: fix style issue in aim-cdev/cdev.c Fix 80+ character line in cdev.c to stop checkpatch from whining. Signed-off-by: Gavin Thomas Claugus <gclaugus@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e6731c88b2dc2dd484f5b4177df9f3f95c3f6c9 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Oct 16 21:51:45 2015 +0300 Staging: olpc_dcon: Remove NULL comparison Problem found using checkpatch.pl CHECK: Comparison to NULL could be written "(!)dcon_device" Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdf4b8811f02067dc332f635b59f600a869da1a0 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Oct 16 21:51:44 2015 +0300 Staging: olpc_dcon: Use preferred kernel type This patch "uint16_t" type instead of "u16" type was used. checkpatch.pl issue. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26fc5d01d12323fb9ca231032d47cef4e4cb6bd6 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Oct 16 21:51:43 2015 +0300 Staging: olpc_dcon: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f31c4b4188933e812b66f5e78d4cb0be9d5f3d2 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Fri Oct 16 11:46:29 2015 -0700 staging: r8723au: replace NULL and zero comparison tests with ! operator Replace explicit NULL comparison and zero comparison test with ! operator to simplify code. Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 258e7af2954fb68b55fe9253560f6dfaa4896e54 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 22:09:57 2015 +0530 Staging: dgap: Remove unnecessary test expression struct bd is already NULL tested so, any further NULL checks should be removed. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15aae23e9e5e98a93cf4d942080d17a6ef07d074 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 20:56:22 2015 +0530 Staging: gdx724x: gdm_mux: Remove explicit cast Compiler can typecast variables implicitly so, explicit type cast is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bf3cdee6368a0093584f021aaded582427048dd Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:40:08 2015 +0530 staging: media: lirc: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05ea2d97b9c7a2273a4f0405c036d6e4b61e2245 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:41:30 2015 +0530 staging: media: davinci_vpfe: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79f2af620ef5ae6a6ddf4a3da65568c90c0c5e25 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 16 22:11:36 2015 +0530 staging: panel: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro The semantic patch used to find this is: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 779fcc8410757386bac35ddf4ba026943f2f24f3 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:44:20 2015 +0530 staging: skein: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8a211c481f806c20d56ddb7b0f8533813e936d0 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 16 22:13:29 2015 +0530 staging: vt6655: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro The semantic patch used to find this is: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 574dddc6d73eedb3177c8db4f61fa7cebcabb128 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 16 22:12:35 2015 +0530 staging: vt6656: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro The semantic patch used to find this is: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17accc46ec6e015a48c5afd281381a33d6b1da16 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Thu Oct 15 13:31:11 2015 +0100 staging: vt6655: Remove boolean comparisons Boolean tests do not need explicit comparison to true or false. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b1443a248c5073d0e11e1f26bf7d8522d193b63 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:47:00 2015 +0530 staging: vt6656: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5309c5b8f00b399dd3f80da855d9211944f1ed7e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:45:39 2015 +0530 staging: vt6655: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b49f3b23428433dc1e8bf323d1c39be73f1605e5 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 16 22:10:25 2015 +0530 staging: rdma: amso1100: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro The semantic patch used to find this is: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d32cf44a62716d4fa9e9d8a5d7201a89d936fe5e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 16 22:09:08 2015 +0530 staging: rdma: hfi1: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro The semantic patch used to find this is: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bfe513cac8cf0655489e0e6dd5e7dd3cb2b5927 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Fri Oct 16 09:06:52 2015 -0700 staging: rdma: hfi1: delete unneeded tabs in conditional statement block Delete unneeded tabs to indent statement block correctly at (8, 16). checkpatch.pl: WARNING: suspect code indent for conditional statements (8, 24) Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6618c051b52ec108f5b5a2deacd70fbaed4b4542 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 15:14:41 2015 +0530 Staging: rdma: mad: Remove explicit cast Explicit type casting is not required as compiler can type cast variables implicitly. Therefore, it should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 065779434e59efa6252b3ed27df77f2151d47c54 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:50:56 2015 +0530 staging: rdma: ipath: ipath_eeprom: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 939cb02e6efd4d2d9f3129c6e6c31f68869ab7b3 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:52:08 2015 +0530 staging: rdma: ipath: ipath_init_chip: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16709962c119a75d140da9dc226eeb9035e2c353 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:53:23 2015 +0530 staging: rdma: hfi1: diag: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4690ba0d4f4b2699db6802ebcbd4e66358d67849 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:54:35 2015 +0530 staging: rdma: hfi1: sysfs: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d53d80b12c9683d51b8649a74b6c09ca0c15f8a Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 03:22:22 2015 +0530 staging: unisys: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7eb1f7a09bcc1c5f10241d85bee65e786558f171 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Wed Oct 14 09:45:10 2015 -0400 staging: unisys: visorinput: no need to track open count evdev_open_device() and evdev_close_device() (in evdev.c) already track the open count under lock, and will only call visorinput_open() on the first open and visorinput_close() on the last close. So this patch removes the unnessary logic from visorinput, and the now-unused counter from the struct. 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 1b756c43ce3b1696282670bd1de41d36e5205781 Author: Tim Sell <timothy.sell@xxxxxxxxxx> Date: Fri Oct 16 10:06:47 2015 -0400 staging: unisys: visorinput: fix comment format Fix the multi-line comment formatting in visorinput.c. 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 8f94c5a6829c764cd1a4f8d497ffb201419bed85 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 16 10:06:46 2015 -0400 staging: unisys: visorinput: address checkpatch alignment issues Fix the alignment of function parameters to the parenthesis above. 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 b62c535cd0485804ab889fd8f9ac789ede230dd2 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 02:28:36 2015 +0530 staging: speakup: varhandlers: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5186a9fd2ff333693034cd0d24590dd0bc34ea7 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 03:23:35 2015 +0530 staging: speakup: speakup_audptr: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ea8778ef33438a6509313cc1177a9a8ec44b214 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 14 23:28:29 2015 +0300 staging: speakup: Fix multi-line comment style Thus using the preferred style for multi-line coments as mentioned in Documentation/CodingStyle. It also silences 'Block comments use * on subsequent lines' and 'Block comments use a trailing */ on a separate line' checkpatch.pl warnings. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1092794c0132cfca2329748983b840ffeae379e Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 21:49:20 2015 +0530 Staging: fbtft: fb_ssd1331: Remove unnecessary cast Compiler can typecast variables implicitly so, explicit type cast is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e788b70f3bc058b73390e03bd8e58835ac66fa82 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 21:49:01 2015 +0530 Staging: fbtft: fb_ra8875: Remove useless cast Remove explicit type conversion as it is not required. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 193ef315246df696e3d51e07745c04525c4919db Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 21:38:34 2015 +0530 Staging: fbtft: fb_agm1264k-fl: Remove unnecessary cast Remove explicit typecast from variables as compiler can typecast implicitly. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed400c9617766daf652bb9cc310005d4b6325413 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 14 23:27:12 2015 +0300 staging: fbtft: Fix multi-line comment style Thus use the preferred style for multi-line coments as mentioned in Documentation/CodingStyle. It also silences 'Block comments use * on subsequent lines' checkpatch.pl warnings. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4edff5208df48ebb3099a3b4a521eb58803f877 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:56:52 2015 +0530 staging: dgnc: dgnc_driver: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d09c1b96a731639436402bf0d957b974f4eed6b8 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:55:45 2015 +0530 staging: dgnc: dgnc_tty: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51c826f0733479a44407a7bb28b1c160ec1a19f3 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 14 23:26:15 2015 +0300 staging: dgnc: Fix lines over 80 characters Fix 'line over 80 characters' checkpatch.pl warnings Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df18b9304e3c8db6753519068cc2b8fb8cc6a40b Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 01:42:11 2015 +0530 staging: wlan-ng: Remove useless initialization Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98b5afd833e8b9549418296ae2e02f273b0e7b01 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:19 2015 +0530 Staging: most: Remove unnecessary 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 2594ca30c0ae7f126fc84dc3a795f007c2b2787f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:20 2015 +0530 Staging: gdm724x: Remove unnecessary cast on void pointer void pointers do not need to be cast to other pointer types. Semantic patch: @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 7f44582ea77229331c52cdd1374488523796a86f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:23 2015 +0530 Staging: unisys: Remove unnecessary 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 dd146d2194eeae078a9a8e5562c8eefa475fa220 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:24 2015 +0530 Staging: slicoss: Remove unnecessary 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 759f19dda576703ebb76d7d460dbcbcdc6d0ac2e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:25 2015 +0530 Staging: gdm72xx: Remove unnecessary 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 e4c0c6bc0c3baa6ba8cce4db5568fe9db5ad3c5f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:26 2015 +0530 Staging: comedi: Remove unnecessary 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 2512233334d9694c42a0da14f5a6393e75c7835e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:27 2015 +0530 Staging: rdma: amso1100: Remove unnecessary 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 a787bde8ce7f3c6c5ba50175769827fbde3b42c0 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:29 2015 +0530 Staging: rdma: hfi1: Remove unnecessary 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 0d04cd1972d0d8c51845c243be160fef9480f219 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:30 2015 +0530 Staging: media: Remove unnecessary 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 d762c9b4b48acd082eb1d3ffe56401eac92fbef4 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 00:02:14 2015 +0530 Staging: rtl8188eu: rtw_ieee80211: Remove unnecessary cast Explicit type conversion is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96c35228559a6e9ec14cb494a3f6807b9f755c50 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 00:21:11 2015 +0530 Staging: rtl8188eu: rf_cfg: Remove useless cast Type conversion of variables can be done by compiler implicitly so, explicit conversions should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b6184336ebb5c8dc1eae7f7ab46ee608a748b05 Author: Salva Peiró <speirofr@xxxxxxxxx> Date: Wed Oct 14 17:48:02 2015 +0200 staging/dgnc: fix info leak in ioctl The dgnc_mgmt_ioctl() code fails to initialize the 16 _reserved bytes of struct digi_dinfo after the ->dinfo_nboards member. Add an explicit memset(0) before filling the structure to avoid the info leak. Signed-off-by: Salva Peiró <speirofr@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 561e2967346af25aca786df77a339888574caec2 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 20:50:10 2015 +0530 Staging: iio: tsl2x7x_core: Remove unrequired parentheses from DIV_ROUND_UP Remove parentheses surrounding the first argument of the macro DIV_ROUND_UP as they are not required. Semantic patch used: @@ expression e1,e2; @@ DIV_ROUND_UP( - ( e1 - ) ,e2) Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c6b71a503181ccfcbad25f500f18b1253b8a247 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 19:12:06 2015 +0530 Staging: iio: ad7192: Remove unnecessary NULL test The variable pdata is already NULL tested before so, any further tests should be removed. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 859ba4684ec442b78e7ea8abd3529b9ad7c6024b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 16 10:50:56 2015 +0530 Staging: iio: cdc: Remove unused macros Remove the macros since they are not used anywhere throughout the kernel. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f7e280f5ae61450a7aecd9feefe3f032b6a5abf Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:19 2015 +0300 staging: iio: adc: remove the use of CamelCase Remove the use of CamelCase to follow the kernel naming conventions Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 253ed6848f07b910be5a9bbe1a741c6bc679cb54 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:18 2015 +0300 staging: iio: adc: remove multiple blank lines Remove multiple blank lines since there is no practical reason to have it Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 779c123e1a6cab6e564366198dcdcea8f273dbcf Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:17 2015 +0300 staging: iio: adc: add blank line after declarations Insert a blank line after declarations Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5feb8c51dba6813bcfbdeb688cd5fd6bcde2c5da Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:16 2015 +0300 staging: iio: adc: add spaces around binary operators Add spaces around binary operators like -, +, * etc in order to improve readability Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c30685c67cc21490fc6842cbbc68404be90f6859 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:15 2015 +0300 staging: iio: adc: remove space after cast Remove the space after an explicit cast because there is no point in having it Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 603f102f7887e742ae85939dad80e868c2e64885 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:14 2015 +0300 staging: iio: adc: remove explicit comparison to NULL Use !condition instead off condition == NULL when comparing with NULL Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8ef49f09b26a4c11ad846ef1afa2a726a8c6800 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:13 2015 +0300 staging: iio: adc: properly indent to match open paranthesis Indent parameters and arguments passed to function calls to match open paranthesis Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e4f007500397921bda7038fa4afafde68fc0b23 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:12 2015 +0300 staging: iio: adc: use kernel types u32 and u64 Convert uint32_t to u32 and uint64_t to u64 in order to follow the kernel best practice Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a737ec350caf0d04e3706f86887ac716abf584e Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 22:34:27 2015 +0300 staging: iio: cdc: simplify return flow Simplify return flow ad7150_write_event_params in order to reduce code length. Since i2c_smbus_write_word_data only returns a negative value or 0 the change is safe. This patch fixes the following coccicheck warning: drivers/staging/iio/cdc/ad7150.c:182:2-5: WARNING: end returns can be simpified if negative or 0 value Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd60ac14db902ed8e5c7a769c85fc9005fd69c26 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 23:46:05 2015 +0530 Staging: rtl8192e: rtllib_softmac: Remove useless cast Explicit type conversion is not required to remove it. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3ce40cb734f2a0edd51f3a7cda913274dab42ed Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 02:17:20 2015 +0530 Staging: lustre: lproc_ptlrpc: Replace simple_strtol with simple_stroul The variable inst is a __u32 type and hence the function used should be simple_strtoul. Semantic patch used: @@ typedef __u32; __u32 e; @@ e = - simple_strtol + simple_strtoul (...) Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1930bb5ccf77da3bf1483e2cd85a12ec9c0ed0f6 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:08 2015 -0500 powerpc/fsl_pci: Don't set up inbound windows in kdump crash kernel Otherwise, because the top end of the crash kernel is treated as the absolute top of memory rather than the beginning of a reserved region, in-flight DMA from the previous kernel that targets areas above the crash kernel can trigger a storm of PCI errors. We only do this for kdump, not normal kexec, in case kexec is being used to upgrade to a kernel that wants a different inbound memory map. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Mingkai Hu <Mingkai.hu@xxxxxxxxxxxxx> commit 1112450a18dfcc26dd18000e20bf06bda27f2bad Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:07 2015 -0500 powerpc/85xx: Don't use generic timebase sync on 64-bit 85xx currently uses the generic timebase sync mechanism when CONFIG_KEXEC is enabled, because 32-bit 85xx kexec support does a hard reset of each core. 64-bit 85xx kexec does not do this, so we neither need nor want this (nor is the generic timebase sync code built on ppc64). FWIW, I don't like the fact that the hard reset is done on 32-bit kexec, and I especially don't like the timebase sync being triggered only on the presence of CONFIG_KEXEC rather than actually booting in that environment, but that's beyond the scope of this patch... Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 9f640bf5321dff6af69016d8fe753efa6b2f3e72 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:06 2015 -0500 powerpc/fsl-corenet: Disable coreint if kexec is enabled Problems have been observed in coreint (EPR) mode if interrupts are left pending (due to the lack of device quiescence with kdump) after having tried to deliver to a CPU but unable to deliver due to MSR[EE] -- interrupts no longer get reliably delivered in the new kernel. I tried various ways of fixing it up inside the crash kernel itself, and none worked (including resetting the entire mpic). Masking all interrupts and issuing EOIs in the crashing kernel did help a lot of the time, but the behavior was not consistent. Thus, stick to standard IACK mode when kdump is a possibility. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 01c593d749f4764a87abd8efa397976f2adb8f49 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:05 2015 -0500 powerpc/fsl-booke-64: Allow booting from the secondary thread This allows SMP kernels to work as kdump crash kernels. While crash kernels don't really need to be SMP, this prevents things from breaking if a user does it anyway (which is not something you want to only find out once the main kernel has crashed in the field, especially if whether it works or not depends on which cpu crashed). Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 52246445516e99a59f531a8c72bee8f715a5fd1f Author: poonam aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Date: Sat Sep 19 23:45:42 2015 +0530 powerpc/b4860: Renamed the L2 caches To make provision for more than one L2 caches in the system, change the name from L2 to L2_1; same as in T4 platforms. * Also remove the L2 entry from common file "arch/powerpc/boot/dts/fsl/b4si-post.dtsi" Keep them only in separate files for b4860 and b4420. Signed-off-by: Shaveta Leekha <shaveta@xxxxxxxxxxxxx> Signed-off-by: Poonam Aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit dc37374b9c83382b91f3804845ae593bedc2d13a Author: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Date: Fri Sep 18 12:00:24 2015 +0800 powerpc/fsl: Move Freescale device tree files into fsl folder It makes no sense that some Freescale device tree files are in fsl directory while some others not. This patch move Freescale device tree files into fsl folder. To do that the following two steps are made: - Move Freescale device tree files into fsl folder. - Update the include path in these files from "fsl/*.dtsi" to "*.dtsi". Please add "fsl/" prefix when you make dtb using Makefile. Signed-off-by: Jia Hongtao <hongtao.jia@xxxxxxxxxxxxx> [scottwood: fixed cuImage rule] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 2d80f651c87c7652c3db109030da4ecfcb166eed Author: poonam aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Date: Thu Sep 10 07:31:20 2015 +0530 powerpc/b4860: Removed LIODN register from sRIO node In case of B4860 LIODN register for sRIO is not in GUTs block but in the sRIO register space. Signed-off-by: Varun Sethi <Varun.Sethi@xxxxxxxxxxxxx> Signed-off-by: Poonam Aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit c383ee84e1d575b09d167185d15df24bde25eb15 Author: Andy Fleming <afleming@xxxxxxxxx> Date: Wed Sep 2 13:07:58 2015 -0500 powerpc/85xx: Add support for Varisys Cyrus board This board uses a P5020 chip, and boots just fine using the corenet_generic code. The device tree is very similar to the P5020DS, except that there is no Flash memory. The environment is, instead, stored on an MMC card on the motherboard. Signed-off-by: Andy Fleming <afleming@xxxxxxxxx> [scottwood: fixed trailing whitespace] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 072daeed5525a0d8ad1e5ddfb38f29cef1ca25f2 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Aug 24 11:43:03 2015 -0500 powerpc/fsl_pci: Check for get_user/probe_kernel_address failure Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> commit fea6fc647b589e5954330f1f0497b6de59b7fe01 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 01:36:31 2015 +0530 Staging: lustre: lproc_osc: Change the variable to be checked The variable rc is supposed to hold the value returned by function kstrtoul which can either be 0, -EINVAL (-22) or -ERANGE (-34). Therefore, the check must be performed on rc instead of val for error values. Also, rc can never be greater than 0. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 673536c9880867e7d9bacd261c423ee953bf4392 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 16 01:00:10 2015 +0530 Staging: lustre: obd_support.h: Remove unused OBD_SLAB_FREE_RTN0 Remove macro OBD_SLAB_FREE_RTN0 since it is defined but not used Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3aa95f887f5816c4832f108b2fa4e5f2dba3e11 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 19:46:06 2015 +0530 Staging: lustre: mdc_locks: Remove extra test expression struct it is already NULL tested before so, it should be removed from the if test expression. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83d6b8fee71f66ac2c55b98053be53aa3251e8fa Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 18:24:05 2015 +0530 Staging: lustre: llite_lib: Remove unnecessary NULL check Variable op_data is already tested for NULL value and therefore any further checks should be removed. Semantic patch used: @@ expression E;@@ if(E==NULL) {... return ...;} - if(E){ ... - } Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5ef08d8f1f51f29c9f4f7457e76789e7f10212b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 13:50:19 2015 +0530 Staging: lustre: obd_class.h: Remove unused macro OBD_CHECK_MD_OP Remove macro OBD_CHECK_MD_OP since it is defined but not used Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b55044062ce243868e9f1dbceda8a453fd61c7d3 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:42:53 2015 +0530 staging: lustre: ptlrpc: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab12717607e363124da88d64eeb3fedce9674dfe Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:21 2015 +0530 Staging: lustre: obdclass: Remove unnecessary cast on void pointer void pointers do not need to be cast to other pointer types. 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 cca3241628f02fe68ce22a71bbc555d16915e6a8 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:22 2015 +0530 Staging: lustre: lnet: Remove unnecessary 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 8ba53beb2ce30f5fd0abe1638440889d10988b7c Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:28 2015 +0530 Staging: lustre: ptlrpc: Remove unnecessary 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 167a47c5207fdfbe633cf54518c0291c88d0d97f Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:20:03 2015 +0530 staging: lustre: osc: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9581bada1f64003fd8cc7bc6cad3f0643877b439 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:18:33 2015 +0530 staging: lustre: mgc: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f93fca90e09ade58cc1d4221706c0af5ef29076 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:17:08 2015 +0530 staging: lustre: ptlrpc: sec_gc: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c54ed23f65407f2d91c358e98b9a639ec0c6ca1d Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:15:23 2015 +0530 staging: lustre: ptlrpc: pinger: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 864ef621fa45b5dd6a113d771640fc4984cc8dc6 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:13:30 2015 +0530 staging: lustre: ptlrpc: service: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3df82ddccfc80d6f9665daf05a7836874d32a40c Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:11:37 2015 +0530 staging: lustre: ptlrpc: sec_bulk: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3a8fb0729557ac7f9bee7e208a8227abc056e0e Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 22:48:50 2015 +0530 Staging: rtl8192u: ieee80211_rx: Remove unnecessary code The variable frame_authorized is declared and mentioned in the code but is not used anywhere so, it should be removed. Also, two case statements are merged by removing an extra break. Semantic patch used: @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afd0fea4e691ff53bff8adb4bc89398010b6f954 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 23:03:50 2015 +0530 Staging: rtl8192u: ieee80211_softmac: Remove extra NULL check Remove NULL check on a variable as it is already preceded by one. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d32c16d2fc5c45f97c77f687d8e61277c543d210 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Wed Oct 14 23:55:54 2015 +0530 Staging: rtl8712: Coding style warnings fix for block comments This patch is to the rtl871x_ioctl_linux.c file that fixes up following warnings reported by checkpatch.pl : -Block comments use * on subsequent lines -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1b42bef0a4bfea3b6679ef05e9b26eebe0d0682 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Wed Oct 14 23:55:53 2015 +0530 Staging: rtl8712: Use ether_addr_equal() over memcmp() This patch is to the rtl871x_ioctl_linux.c file that fixes up following warning reported by checkpatch.pl : -Prefer ether_addr_equal() or ether_addr_equal_unaligned() over memcmp() bssid and pnetwork->network.MacAddress both are 6 byte array which aligned with u16 Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e904cc8f57d0fb7efb90529475a5793d534538b2 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Wed Oct 14 23:55:52 2015 +0530 Staging: rtl8712: Fix warning prefer eth_broadcast_addr() over memset() This patch is to the rtl871x_ioctl_linux.c that fixes up following warning by checkpatch.pl: -Prefer eth_broadcast_addr() over memset() Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a90391e4c11c453dfde739f94fac73fe94f1957a Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 02:29:55 2015 +0530 staging: rtl8712: rtl8712_recv: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28aba5001300c46320bdc4eba26a8aebf4d83694 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 19:24:10 2015 +0530 Staging: rtl8712: usb_ops_linux: Remove useless cast Explicit type conversion is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b2ea2c7adf0abb528d277889f74243b537b1705 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 19:14:59 2015 +0530 Staging: rtl8712: rtl871x_io: Remove explicit cast Explicit typecasting is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 993c307eb48accf5fc34f703e6c290ddfc251b6e Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 19:10:21 2015 +0530 Staging: rtl8712: rtl8712_xmit: Remove useless cast Explicit typecasting of variables is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7074ed3df1e23acf68dc398207b6b4bc6a26cac7 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 17:48:58 2015 +0530 Staging: rtl8712: rtl8712_io: Remove unnecessary cast Typecasting should be removed from variables as it is not required. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adc08cc4c9a34a81194e81754f4a1c8b558df850 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 17:38:23 2015 +0530 Staging: rtl8712: rtl8712_cmd: Remove useless cast Explicit type conversions are not required so, remove them. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adc6b375aae108cf03aa42d4e39e42a08be4e9a8 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 17:32:58 2015 +0530 Staging: rtl8712: os_intfs: Remove unnecessary cast Explicit type conversions are not required and so, they should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d538ae34be092486fea32431232bc5cc58df4545 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:38:21 2015 +0530 staging: rtl8723au: core: rtw_ap: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e847655a29384c4a5275b30b0bc553bd2b152e4f Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:37:09 2015 +0530 staging: rtl8723au: core: rtw_recv: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcf7f33866378e51c12bab11826a76658364bd88 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:35:58 2015 +0530 staging: rtl8723au: core: rtw_wlan_util: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d26a752e198fcd4e3bcd8787a045f6aacb93419d Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:34:41 2015 +0530 staging: rtl8723au: hal: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The problem was found using coccinelle semantic patch and further opportunities were identified by hand. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5aebea5590295ab35df87cc0c0a19f0d0241f012 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 15:49:06 2015 +0530 Staging: rtl8723au: rtw_mlme_ext: Remove unnecessary test expression Logical and-ing of a struct and its member should be replaced by the member only as the struct has already been NULL tested before. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad942cb19b416fc64f17871372ee0932878861c0 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 05:04:00 2015 +0530 Staging: rtl8723au: rtl8723a_bt-coexist: Remove unused variable A variable is initialized and then assigned values in the code but is never used and therefore, should be removed. Semantic patch used: @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c03663f98b91cdd04fce2c9fb7a2cc5d164eded Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Oct 16 13:32:47 2015 +0100 mailbox: Fix a couple of trivial static checker issues This patch deals with a few spelling, white space and type warnings reported by Intel's Kbuild Test Robot. Reported-by: kbuild test robot <lkp@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 8ea4484d0c2bb4e2152261943fa1a3522654b1c7 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Oct 16 08:21:30 2015 +0100 mailbox: Add generic mechanism for testing Mailbox Controllers This particular Client implementation uses shared memory in order to pass messages between Mailbox users; however, it can be easily hacked to support any type of Controller. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 9ef4546cbd7eed2412ec6f1161c2b92362379150 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Oct 16 08:21:28 2015 +0100 mailbox: Add support for ST's Mailbox IP ST's platforms currently support a maximum of 5 Mailboxes, one for each of the supported co-processors situated on the platform. Each Mailbox is divided up into 4 instances which consist of 32 channels. Messages are passed between the application and co-processors using shared memory areas. It is the Client's responsibility to manage these areas. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit b5f6737685d54c079db7bec891128de8d07d1c51 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Oct 16 08:21:27 2015 +0100 mailbox: dt: Supply bindings for ST's Mailbox IP Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit f955a398f2cc5bc896388b8046c3c12fc5ec687b Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 03:06:20 2015 +0530 Staging: sm750fb: sm750: Remove irrelevant code The variable ret is only declared and initialized to 0, but never referenced, so remove it. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b02f9240e0e02a030883e3bb7f712f5e1ea58ac9 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 09:26:46 2015 +0300 staging: sm750fb: remove some unnecessary castings The clock divisor calculations in setMasterClock and setMemoryClock unnecessaryly cast unsigned int to unsigned int. Removing the casting. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7092d76f144dc852b2143fe3daabc66fb794dba6 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 09:26:45 2015 +0300 staging: sm750fb: rename getChipClock to get_mxclk_freq The getChipClock is used to detect MXCLK frequency. Make it's name reflect what the function is actually doing. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7751e0e2d2f2dd75e8e7adf96750ac403b799874 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 09:26:44 2015 +0300 staging: sm750fb: merge calcPLL and getPllValue into getChipClock The getChipClock function is used only to get MXCLK frequency, which makes most of getPllValue function unused and thus. The detection of MXCLK frequency may be implemented directly in getChipClock rendering getPllValue and calcPLL unused. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcc43a4b5ed75285aeacf2cf8d9b96d6379fb429 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 16 22:45:39 2015 +0200 staging/wilc: fix Kconfig dependencies, second try My first attempt to fix the Kconfig logic for wilc1000 was incomplete, as it missed the case where SPI is built-in while SDIO is modular and wilc1000 is configured as built-in in SPI mode (or vice versa), which would still lead to a link failure. This works around the problem by adding an intermediate Kconfig symbol "WILC1000_DRIVER" that controls visibility of the SDIO and SPI sub-drivers, so we can control the dependencies better. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 9535ebc5e9cc ("staging/wilc1000: fix Kconfig dependencies") Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92af89d37c415c61c676bb28ae7facdef1821477 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 16 22:05:34 2015 +0200 staging: wilc1000: restore wilc_spi_dev variable A recent change to wilc1000 accidentally deleted an important variable, so we now get a build error when the SPI mode is selected: ERROR: "wilc_spi_dev" [drivers/staging/wilc1000/wilc1000.ko] undefined! This partially reverts the broken commit to put the variable back. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 56293ff232b9 ("staging: wilc1000: linux_wlan_spi: include header") Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e4e87d32804c6a14e41b83c5b3f70ebdc3f0d9e Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Fri Oct 16 16:32:26 2015 +0100 staging: wilc1000: Remove boolean comparisons Boolean tests do not need explicit comparison to true or false. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 543f5b1313b758d38f8ac9c2492a36400a0f0966 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 16 10:47:11 2015 +0530 Staging: wilc1000: Use kmemdup instead of kmalloc and memcpy Replace kmalloc followed by memcpy with kmemdup Problem found using coccicheck Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5c84cd86e86d929a28eb322659f69db353cabb9 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:49:47 2015 +0530 staging: wilc1000: coreconfigurator: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit baba7c743a91da1fa5946da98ce86eddfe81a5fb Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:48:29 2015 +0530 staging: wilc1000: wilc_wfi_cfgoperations: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23fba59de00aeeb587db16b450aea7c497cde8ed Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 15:59:53 2015 +0800 staging: wilc1000: join_req_drv can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 870515c113899cc9595cfe507c4262881a2a1df0 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:15 2015 +0900 staging: wilc1000: rename variable gu8FlushedJoinReqDrvHandler This patch renames variable gu8FlushedJoinReqDrvHandler to join_req_drv to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e0e7c2e4594f9ec85f999b98d186c66403ff1b4 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 15:47:44 2015 +0800 staging: wilc1000: info_element_size can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfef7b84e8772e297ceeeb388f25e0bc611797f8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:14 2015 +0900 staging: wilc1000: rename variable gu32FlushedInfoElemAsocSize This patch renames variable gu32FlushedInfoElemAsocSize to info_element_size to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0626baaacfe36bcbc2c65ea7d210752ed29c9293 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:13 2015 +0900 staging: wilc1000: rename variable gu32FlushedJoinReqSize This patch renames variable gu32FlushedJoinReqSize to join_req_size to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fba4989eb25a02b21c7a8cfc892917a1747590b8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:12 2015 +0900 staging: wilc1000: rename variable gu8FlushedAuthType This patch renames variable gu8FlushedAuthType to auth_type to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23047d5b1e95c003dd6e43d930ace593c53c46ee Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 15:18:34 2015 +0800 staging: wilc1000: mode_11i can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd9d44c510622bf41bdf2bd77a9d8fb44f2f89c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:11 2015 +0900 staging: wilc1000: rename variable gu8Flushed11iMode This patch renames variable gu8Flushed11iMode to mode_11i to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48ce24654e3ae51711fa57ec5e23de6e64036ee9 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:10 2015 +0900 staging: wilc1000: rename variable gu8FlushedInfoElemAsoc This patch renames variable gu8FlushedInfoElemAsoc to info_element to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef5991947fda0d4003417c7457386c294c388cb7 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 15:04:15 2015 +0800 staging: wilc1000: join_req can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 044a641014b3da1acdd9edc7e7b8716f5b145084 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:09 2015 +0900 staging: wilc1000: rename variable gu8FlushedJoinReq This patch renames variable gu8FlushedJoinReq to join_req to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a9adb051cd182d25ba050de8ff99fad83efda7e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:08 2015 +0900 staging: wilc1000: remove unused variable gu32WidConnRstHack This patch removes unused the variable gu32WidConnRstHack. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a74c7bf86c62b0cfd02d127ee00192ccbab6a9b1 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:07 2015 +0900 staging: wilc1000: rename variable gu8DelBcn This patch renames variable gu8DelBcn to del_beacon to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad26906ff6a241f8b114966250ab543ebbfcef9b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:06 2015 +0900 staging: wilc1000: rename variable gu32InactiveTime This patch renames variable gu32InactiveTime to inactive_time to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e75d01c6da6ac7fc6382f999a0cecb5cff32f0e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:05 2015 +0900 staging: wilc1000: rename variable gs8GetIP This patch renames variable gs8GetIP to get_ip to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 078b1e98be884ae0296aeaae657e65b3f98d4080 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:04 2015 +0900 staging: wilc1000: rename variable gs8SetIP This patch renames variable gs8SetIP to set_ip to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95ebb0ffe4e26dbcb75cee57b01119c9f23fccba Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:03 2015 +0900 staging: wilc1000: rename variable gu8Chnl This patch renames variable gu8Chnl to ch_no to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75327a0244b7ba0ef180601d414af6302821a6ff Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:02 2015 +0900 staging: wilc1000: rename variable gs8lnkspd This patch renames variable gs8lnkspd to link_speed. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 144b7b2336443109f921fb00c1fe1b70da885065 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:01 2015 +0900 staging: wilc1000: rename variable gs8Rssi This patch renames variable gs8Rssi to rssi to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f64321c6ba1ec92918e0bb1a9f440290a891580a Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 14:46:26 2015 +0800 staging: wilc1000: scan_while_connected can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca8540e4d79c37a7128000990079650e5bb3302a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:00 2015 +0900 staging: wilc1000: rename variable gbScanWhileConnected This patch renames variable gbScanWhileConnected to scan_while_connected to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a633c0b5d5633d406354a6eb10df838c6dc24632 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:59 2015 +0900 staging: wilc1000: rename variable gapu8RcvdAssocResp This patch renames variable gapu8RcvdAssocResp to rcv_assoc_resp to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24aadb8bd24999416e75fc301389e102cef5194e Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 14:32:40 2015 +0800 staging: wilc1000: periodic_rssi can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 262f55e1543e9f3c837481da695c3531d2c32dcc Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:58 2015 +0900 staging: wilc1000: rename variable g_hPeriodicRSSI This patch renames variable g_hPeriodicRSSI to periodic_rssi to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 172250024cc4b30efde4666e51540010ecd75ee0 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 14:21:32 2015 +0800 staging: wilc1000: hif_sema_deinit can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 440e8993d1258bc6a7d1522dde8b582dd5a1b7d8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:57 2015 +0900 staging: wilc1000: rename variable hSemHostIntDeinit This patch renames variable hSemHostIntDeinit to hif_sema_deinit to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d25af87768e7bc73dd171933f2bbd1464eba1ec Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:56 2015 +0900 staging: wilc1000: rename variable hWaitResponse This patch renames variable hWaitResponse to hif_sema_wait_response to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 413f930eab1111e7591b0494e689309f1dbd34a0 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 14:07:41 2015 +0800 staging: wilc1000: hif_sema_driver can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27ff21681b4362fb8e0623c260603e39c8aa41d5 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:55 2015 +0900 staging: wilc1000: rename variable hSemDeinitDrvHandle This patch renames variable hSemDeinitDrvHandle to hif_sema_driver to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 834e0cb01db0dd33cd9b889dce6a01a05fb6daac Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:54 2015 +0900 staging: wilc1000: rename variable hSemHostIFthrdEnd This patch renames variable hSemHostIFthrdEnd to hif_sema_thread to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb067dcf211fc3b707ad2feecb2986dd7866da9d Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:53 2015 +0900 staging: wilc1000: rename variable gMsgQHostIF This patch renames variable gMsgQHostIF to hif_msg_q to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2115d8ef82d84678ec39e3a2f8b745bb018e07c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:52 2015 +0900 staging: wilc1000: rename variable HostIFthreadHandler This patch renames variable HostIFthreadHandler to hif_thread_handler to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fb770d64e0e0a6ce14ff62e53f9ce86ed214d49 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:51 2015 +0900 staging: wilc1000: remove unused variable gWFiDrvHandle This patch removes unused the variable gWFiDrvHandle. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d8b76b31824c51be48007e4b5c6159a9cc19d6e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:49 2015 +0900 staging: wilc1000: rename au8Interval of struct join_bss_param This patch renames au8Interval of struct join_bss_param to interval to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 109e6cab4804fd8fa84dfca82746e67a435f8102 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:48 2015 +0900 staging: wilc1000: rename au8Duration of struct join_bss_param This patch renames au8Duration of struct join_bss_param to duration to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc179008425b419f7a0fcc0c145d6f69750184ff Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:47 2015 +0900 staging: wilc1000: rename u8Index of struct join_bss_param This patch renames u8Index of struct join_bss_param to idx to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c21047edfa569c05325b7f3511b40b3e3ff4ec53 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:46 2015 +0900 staging: wilc1000: rename u8Count of struct join_bss_param This patch renames u8Count of struct join_bss_param to cnt to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99b669453b3e2add47697a2da1e708ff40a1801c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:45 2015 +0900 staging: wilc1000: rename u8CtWindow of struct join_bss_param This patch renames u8CtWindow of struct join_bss_param to ct_window to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d72b33caee4763d28f5e11cc230ff50b96698582 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:44 2015 +0900 staging: wilc1000: rename u8OppEnable of struct join_bss_param This patch renames u8OppEnable of struct join_bss_param to opp_enabled to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a8d51d776b7f145b3a719f6f8f49e45c1075f23 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:43 2015 +0900 staging: wilc1000: rename u8NoaEnbaled of struct join_bss_param This patch renames u8NoaEnbaled of struct join_bss_param to noa_enabled to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 619d27b88ceddae481ecdf313c455e01258b7360 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:42 2015 +0900 staging: wilc1000: rename ssidLen of struct join_bss_param This patch renames ssidLen of struct join_bss_param to ssid_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a08bc43c4c89e79e7e653bb1c2cdef489843e3a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Oct 14 20:46:32 2015 +0900 staging: wilc1000: remove typedef from the tstrInterfaceInfo This patch removes typedef from the tstrInterfaceInfo and renames it to the wilc_vif. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f61c5aff3b4213f246e0531b47f7c6d76f2574ea Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Oct 14 20:46:30 2015 +0900 staging: wilc1000: remove typedef from the linux_wlan_t This patch removes typedef from the struct linux_wlan_t and renames it to the wilc. In addition, all of linux_wlan_t is replaced with struct wilc and memory allocation style is changed with preferred form as well like the following: p = kmalloc(sizeof(*p), ...) where "struct wilc" is used Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b7ecb01886b4ad34e3cbabb08796bff1e1a709d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Oct 14 20:46:29 2015 +0900 staging: wilc1000: remove extern declarations of g_linux_wlan This patch removes extern declaration of g_linux_wlan from the followings because it is declared as extern in the wilc_wfi_netdevice.h file. - linux_mon.c - linux_wlan_sdio.c - wilc_wfi_cfgoperations.c Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95f840fb5355eda0bf797a2d7b6e684127128cac Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Oct 14 07:29:19 2015 +0530 Staging: wilc1000: Remove null check before kfree kfree on NULL pointer is a no-op. The semantic patch used 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 784c7d2f0e390bcda734ee4ea8c7289777abf1c6 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 03:29:58 2015 +0530 Staging: wilc1000: host_interface: Remove unnecessary enum enum scan_conn_timer and its instances are never used anywhere in the code so, remove it. Semantic patch used: @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5da654541bb3cccaa480e8998f1bb770126341f1 Merge: 26368fd 801ab33 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 21:28:55 2015 -0700 Merge tag 'iio-for-4.4b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: Second set of new drivers, functionality and cleanups for IIO in the 4.4 cycle. Core stuff * adjust resistance documentation to allow for output devices. New device support: * bmc150 - split the i2c driver up into a core and i2c_regmap part including regmap conversion. - add spi support. * mcp4531 digitial potentiometer driver. * Measurement Specialties set of drivers with a core library module providing common functionality. Note that the htu21 has a driver in hwmon, but the view from that side was that, given the range of devices the same silicon turns up in are not all typical hwmon material, that driver would be deprecated in favour of this new support. - ms8607 temperature, pressure and humidty sensor - ms5637 temperature and pressure sensor - htu21 temperature and humidity sensor - tsys02d temperature sensor - tsys01 temperature sensor Cleanups * tree wide. - squish cases where irq 0 is still considered valid. * apds9960 - sparse endian warning cleanups by making endianness explicit. * ad5504 - leave group naming to the core. * ad7746 - cleanup comment style. - drop an unnecessary bit of dev_info - add some appropriate uses of the BIT macro. * ad799x - leave group naming to the core. * hdc100x - introduced this cycle,. - fix a wrong offset value. * lidar - add missing MODULE_DEVICE_TABLE for dt. * max1363 - leave sysfs group naming to the core. * m62332 got the Harmut treatment and as ever he found a 'few' bits the rest of us had missed! - Share scale and offset attributes across channels. - Shutdown the device on driver remove - Use ARRAY_SIZE rather than a hard coded count for channels. - Return more directly in the write_raw callback dropping a local variable along the way. - a few style issues - move to reading the regulator voltage for each use allowing for dynamic regulators. This is a common feature across drivers so we might end up with more fixes throughout the tree for this. * mlx96014 - introduced this cycle. - fixed up a spot of error handling. * vz89x - introduced this cycle. - work around a hardware quirk. commit 4301de3b0ac4614fdf629fa414fb94f598e7ad6f Merge: 25cb62b b94e228 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 21:15:52 2015 -0700 Merge tag 'iio-fixes-for-4.3a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus Jonathan writes: First set of IIO fixes for the 4.3 cycle. * twl4030 - incorrect readings for some channels due to a failure to initialize a bias regulator or configure the lines for input rather than USB use. * lis3lv02 - a missunderstanding of the way the interrupts worked on this chip lead to activation of the wrong interrupt. * sca3000 - an old bug meant that memory corruption could occur in the hardware ring buffer readout function. * mxs-lradc - wrong temp offset. commit f8d960042549eb57cbcfbcdea03459292d9a0171 Merge: 4970c0c 11eecf9 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 21:11:06 2015 -0700 Merge tag 'extcon-next-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next Chanwoo writes: Update extcon for 4.4 Detailed description for patchset: 1. Update the extcon core: - Modify the unique identification and name of each external connector with the additional prefix to clarify both attribute and meaning of external connector as following: : EXTCON_CHG_* mean the charger connector. : EXTCON_JACK_* mean the jack connector. : EXTCON_DISP_* mean the display port connector. - Keep the standard name of USB charging port by refering to the "Battery Charging v1.2 Spec and Adopters Agreement"[1] to use the standard name of USB charging port as following: : EXTCON_CHG_USB_SDP /* Standard Downstream Port */ : EXTCON_CHG_USB_DCP /* Dedicated Charging Port */ : EXTCON_CHG_USB_CDP /* Charging Downstream Port */ : EXTCON_CHG_USB_ACA /* Accessory Charger Adapter */ [1] www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip 2. Update the extcon-arizona.c driver: - Support the WM8998 and WM1814 codec for jack detection. - Support for the ADC mode microphone detection and the general purpose switch for pop suppression. - Fix bug include fixing the headphone detection accuracy at the top end of the range and some corrections around the use of the microphone clamps. 3. Update the extcon-gpio.c driver: - Clean-up the extcon-gpio driver and fix minor issue before supporting the Device tree binding of it. 4. Clean-up and fix the minor issue for extcon drivers: - Export OF module alias information for extcon-rt8973a.c and extcon-sm5502.c. - Fix wrong type of variable of for extcon-rt8973a.c and extcon-sm5502.c. - Use resource managed API for extcon-axp288.c. commit 0f8669e343982ac66f4420335777cb5456b8abb0 Author: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Date: Mon Oct 12 10:41:57 2015 +0800 MAINTAINERS: add Mediatek usb3 phy driver Add Mediatek usb3 phy driver to maintainer entry. Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a109752ea6a55c3682b6ac9114a125c5ce7e5353 Author: Zhao Qiang <qiang.zhao@xxxxxxxxxxxxx> Date: Fri Aug 21 10:48:56 2015 +0800 powerpc/t104xd4rdb: add DS26522 nodes to device tree DS26522 is used for tdm, configured by SPI bus. Add nodes under spi node to t104xd4rdb.dtsi. Signed-off-by: Zhao Qiang <qiang.zhao@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 9378c0251c7ac4b247177fb0c292a025ca1b751c Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Oct 16 15:34:41 2015 -0700 Input: edt-ft5x06 - work around FT5506 firmware bug In the touchscreen controller ISR, reading the tsc starting from register 0x2 causes the tsc to infrequently update the detected finger's x and y coordinate. The irq pin toggles at a fast rate to indicate touch events are happening. However, the tsc on average updates the touch point's x and y value every ~100 ms which is much slower than the advertised rate of 100+ Hz. This leads to multiple reads within this ~100 ms time window returning the same value. Example: X: 10 , Y: 30 X: 10 , Y: 30 X: 10, Y: 30 .. // After 100 ms X: 300, Y: 300 X: 300, y: 300 .. // After 100 ms X: 1743, Y: 621 X: 1743, Y: 621 For some reason if instead of starting to read at register 0x2 you start reading at register 0x0 this issue isn't seen. This seems like a quirk only seen in the EDT FT5506 so to fix this issue simply adjust the code to start reading from 0x0. Technically this isn't wrong so no regressions should be seen with other touchscreen controllers supported by this driver. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit af33e0ad1bf6e065f05a68f177b99202935ed2cf Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Oct 16 15:34:26 2015 -0700 Input: edt-ft5x06 - add support for FT5506 FT5506 is essentially the same as other FT5x06 devices other than supporting 10 support points. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b1d2a3ecb9cbf932a875a59f12f0f44841f29c30 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Oct 16 15:34:16 2015 -0700 Input: edt-ft5x06 - add support for different max support points Update the code so that the maximum supported points aren't hard coded but can be changed. Set the maximum support points based on the data passed along side the compatible field. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c789f1fb07e7c5acc04342cb2e2412aa71cd6c18 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Oct 16 15:34:05 2015 -0700 Input: edt-ft5x06 - use max support points to determine how much to read Calculate the amount of data that needs to be read for the specified max number of support points. If the maximum number of support points changes then the amount that is read from the touch screen controller should reflect this. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 78c102c24cd31ea4f242162e4ca721e75866fcba Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jul 31 11:16:06 2015 +0200 powerpc/dts: don't fall back to fsl,pq3-gpio for fsl,mpc8572-gpio While the handling of fsl,pq3-gpio and fsl,mpc8572-gpio is done in the same driver and the two hardly differ, the latter controller needs a workaround for an erratum in the gpio_get callback. To make this difference more explicit remove fsl,pq3-gpio from the list of compatibles for mpc8572 machines. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 07e9117e43fc5a25787379be011e36d0980f3135 Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Wed Jul 29 15:12:38 2015 +0800 powerpc/dts: Add and fix 1588 timer node for eTSEC Add 1588 timer node in files: arch/powerpc/boot/dts/bsc9131rdb.dtsi arch/powerpc/boot/dts/bsc9132qds.dtsi arch/powerpc/boot/dts/p1010rdb.dtsi arch/powerpc/boot/dts/p1020rdb-pd.dts arch/powerpc/boot/dts/p1021rdb-pc.dtsi arch/powerpc/boot/dts/p1022ds.dtsi arch/powerpc/boot/dts/p1025twr.dtsi For P2020RDB-PC, registers' values should be calculated based on default 1588 reference clock(300MHz) not 250MHz, and fix this in file: arch/powerpc/boot/dts/p2020rdb-pc.dtsi Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 881ea7d3f55bf7b8834c81d86c4dcb3d5f786f15 Author: chenhui zhao <chenhui.zhao@xxxxxxxxxxxxx> Date: Thu Jul 23 11:55:45 2015 +0800 powerpc/corenet: use the mixed mode of MPIC when enabling CPU hotplug Core reset may cause issue if using the proxy mode of MPIC. Use the mixed mode of MPIC if enabling CPU hotplug. Signed-off-by: Chenhui Zhao <chenhui.zhao@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 61e22fff6475448b8e9d3e45f0bab40bae761c96 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 16 16:35:11 2015 -0700 clk: mvebu: Use of_clk_get_parent_name() This reverts commit e79b202c632f24f49f2eb9459b88b5fd9e332263. Now that we use of_clk_get() inside of_clk_get_parent_name() we can safely use it here. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b28fec1324bf8f5010d2c3c5d57db4115bda66d4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 17 08:08:56 2015 +0900 thermal: exynos: Fix register read in TMU The value of emul_con was getting overwritten if the selected soc is SOC_ARCH_EXYNOS5260. And so as a result we were reading from the wrong register in the case of SOC_ARCH_EXYNOS5260. Fixes: 488c7455d74c ("thermal: exynos: Add the support for Exynos5433 TMU") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 3a341a4c30d427fd05617087db1564a595f65093 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 23:39:50 2015 -0700 Input: rotary-encoder - add support for quarter-period mode Some encoders have both outputs low in stable states, others also have a stable state with both outputs high (half-period mode) and some have a stable state in all steps (quarter-period mode). The driver used to support the former states and with this change it can also support the later. This commit also deprecates the 'half-period' property and introduces a new property 'steps-per-period'. This property specifies the number of steps (stable states) produced by the rotary encoder for each GPIO period. Signed-off-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 648b15cb79e90d80f7b53d0184bdb14132a03754 Author: Ben Gamari <bgamari.foss@xxxxxxxxx> Date: Tue Oct 13 23:37:28 2015 -0700 Input: rotary-encoder - use of_property_read_bool This commit makes uses of_property_read_bool() to read boolean properties. This is just cosmetic cleanup. Signed-off-by: Ben Gamari <bgamari.foss@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 33b96d934902f96e901b72ac18bbc47afad1ac20 Author: Elias Vanderstuyft <elias.vds@xxxxxxxxx> Date: Wed Oct 14 17:29:37 2015 -0700 Input: document and check on implicitly defined FF_MAX_EFFECTS There is an undocumented upper bound for the total number of ff effects: FF_GAIN (= 96). This can be found as follows: - user: write(EV_FF, effect_id, iterations) calls kernel: ff->playback(effect_id, ...): starts effect "effect_id" - user: write(EV_FF, FF_GAIN, gain) calls kernel: ff->set_gain(gain, ...): sets gain A collision occurs when effect_id equals FF_GAIN. According to input_ff_event(), FF_GAIN is the smallest value where a collision occurs. Therefore the greatest safe value for effect_id is FF_GAIN - 1, and thus the total number of effects should never exceed FF_GAIN. Define FF_MAX_EFFECTS as FF_GAIN and check on this limit in ff-core. Signed-off-by: Elias Vanderstuyft <elias.vds@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 52a9266788324edbbfd45f02cf23440c01ee0432 Author: Elias Vanderstuyft <elias.vds@xxxxxxxxx> Date: Mon Sep 21 15:59:11 2015 -0700 Input: fix EVIOCSFF macro inconsistency by using _IOW() Just like the EVIOCSABS(abs) macro, use the more compact _IOW(..., type) instead of _IOC(_IOC_WRITE, ..., sizeof(type)) for the EVIOCSFF macro. Signed-off-by: Elias Vanderstuyft <elias.vds@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4f38b9f2f4a56164cad7a42e92f945c3515c5a2e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Oct 14 17:06:08 2015 -0700 devicetree: bindings: Use linux-event-codes.h for evdev codes Add a symlink to uapi/linux/linux-event-codes.h, and include that instead of (re)defining all the evdev type and code values in dt-bindings/input/input.h. This way we do not need to keep all the event codes synced manually. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f902dd893427eade90f7eaf858e5ff8b150a5a12 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Oct 14 17:03:35 2015 -0700 Input: add input-event-codes header file Add input-event-codes header file and move all type and axis defines there. The purpose of this new header file is to have a single canonical source for event-codes which can be used outside of C-code too. One example of such usage is the use of event-codes in devicetree source files. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5532cfb567fec4ebb9775481ef121edb340ec5b8 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Oct 14 18:24:45 2015 +0530 clk: qcom: mmcc-8960: Add DSI related clocks Add rcg and branch clk structs for DSI1 and DSI2 blocks found in MSM8960 and APQ8064. Each DSI instance has 4 pairs of rcg and branch clocks. Populate arrays mmcc_msm8960_clks and mmcc_apq8064_clks with these clocks. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d8aa2beed870f088d4433b7075303e58764f0587 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Oct 14 18:24:44 2015 +0530 clk: qcom: clk-rcg: Add customized clk_ops for DSI RCGs DSI specific RCG clocks required customized clk_ops. There are a total of 4 RCGs per DSI block: DSI, BYTE, ESC and PIXEL. There are a total of 2 clocks coming from the DSI PLL, which serve as inputs to these RCGs. The BYTE and ESC RCGs are fed by one of the post dividers of DSI1 or DSI2 PLLs, and the DSI and PIXEL RCGs are fed by another divider of the PLL. In each of the 2 groups above, only one of the clocks sets its parent. These are BYTE RCG and DSI RCG for each of the groups respectively, as shown in the diagram below. The DSI and BYTE RCGs serve as bypass clocks. We create a new set of ops clk_rcg_bypass2_ops, which are like the regular bypass ops, but don't take in a freq table, since the DSI driver using these clocks is parent-able. The PIXEL RCG needs to derive the required pixel clock using dsixpll. It parses a m/n frac table to retrieve the correct clock. The ESC RCG doesn't have a frac M/N block, it can just apply a pre- divider. Its ops simply check if the required clock rate can be achieved by the pre-divider. +-------------------+ | |---dsixpllbyte---o---> To byte RCG | | | (sets parent rate) | | | | | | | DSI 1/2 PLL | | | | o---> To esc RCG | | (doesn't set parent rate) | | | |----dsixpll-----o---> To dsi RCG +-------------------+ | (sets parent rate) ( x = 1, 2 ) | | o---> To pixel rcg (doesn't set parent rate) Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit dfedaf105d602a4b30a43c188596418ecf3a3b26 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Oct 16 16:10:05 2015 -0500 clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE the new ti 32k clocksource driver should depend on GENERIC_CLOCKSOURCE because of its reliance on sched_clock_register(). Let's enable that to avoid any possible build errors and/or warnings on randbuilds. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ec879f1272283c040bc70e1a1fff5edbb547be59 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 13 17:51:26 2015 +0300 pinctrl: baytrail: Fix compilation warnings when !CONFIG_PM When CONFIG_PM is not set we get following compilation warnings: warning: ââ?¬Ë?byt_gpio_runtime_suspendââ?¬â?¢ defined but not used [-Wunused-function] warning: ââ?¬Ë?byt_gpio_runtime_resumeââ?¬â?¢ defined but not used [-Wunused-function] Fix this by guarding byt_gpio_runtime_suspend()/byt_gpio_runtime_resume() with #ifdef CONFIG_PM. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f487bbf309759153f56bac7d7ba5ee63196ce584 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 13 17:51:25 2015 +0300 pinctrl: intel: Fix compilation warning when !CONFIG_PM_SLEEP We get following warning when CONFIG_PM_SLEEP is not set warning: ââ?¬Ë?intel_gpio_irq_initââ?¬â?¢ defined but not used [-Wunused-function] Since the function is only called from intel_pinctrl_resume() move it inside CONFIG_PM_SLEEP guard as well. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 90b665f627b18822a7bbebeff44ce730ccf74275 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 00:20:21 2015 +0300 gpiolib: Add and use OF_GPIO_SINGLE_ENDED flag The flag matches the DT GPIO_SINGLE_ENDED flag and allows drivers to parse and use the DT flag to handle single-ended (open-drain or open-source) GPIOs. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 923b93e451db876d1479d3e4458fce14fec31d1c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 00:20:20 2015 +0300 gpiolib: Split GPIO flags parsing and GPIO configuration When requesting a GPIO through the legacy or the gpiod_* API the gpiochip request operation is first called and then the GPIO flags are parsed and the GPIO is configured. This prevents the gpiochip from rejecting the request if the flags are not supported by the device. To fix this split the parse-and-configure operation in two and parse flags before requesting the GPIO. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 11091fb0a1227d569d09353e1ce1f88694a033dc Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:39:31 2015 +0200 pinctrl: qcom: ssbi: fix compilation with DEBUG_FS=n The DEBUG_FS=n #defines for the dbg_show functions were missed when renaming the driver from msm_ to pm8xxx_, causing it to break the build when DEBUG_FS isn't enabled: CC [M] drivers/pinctrl/qcom/pinctrl-ssbi-gpio.o drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c:597:14: error: ââ?¬Ë?pm8xxx_gpio_dbg_showââ?¬â?¢ undeclared here (not in a function) .dbg_show = pm8xxx_gpio_dbg_show, Fix this by renaming them correctly. Fixes: b4c45fe974bc ("pinctrl: qcom: ssbi: Family A gpio & mpp drivers") Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 51443fbf3d2cde16011b994252c8004ebcd66fb0 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Thu Oct 15 07:34:15 2015 -0400 cpufreq: intel_pstate: Fix intel_pstate powersave min_perf_pct value On systems that initialize the intel_pstate driver with the performance governor, and then switch to the powersave governor will not transition to lower cpu frequencies until /sys/devices/system/cpu/intel_pstate/min_perf_pct is set to a low value. The behavior of governor switching changed after commit a04759924e25 ("[cpufreq] intel_pstate: honor user space min_perf_pct override on resume"). The commit introduced tracking of performance percentage changes via sysfs in order to restore userspace changes during suspend/resume. The problem occurs because the global values of the newly introduced max_sysfs_pct and min_sysfs_pct are not lowered on the governor change and this causes the powersave governor to inherit the performance governor's settings. A simple change would have been to reset max_sysfs_pct to 100 and min_sysfs_pct to 0 on a governor change, which fixes the problem with governor switching. However, since we cannot break userspace[1] the fix is now to give each governor its own limits storage area so that governor specific changes are tracked. I successfully tested this by booting with both the performance governor and the powersave governor by default, and switching between the two governors (while monitoring /sys/devices/system/cpu/intel_pstate/ values, and looking at the output of cpupower frequency-info). Suspend/Resume testing was performed by Doug Smythies. [1] Systems which suspend/resume using the unmaintained pm-utils package will always transition to the performance governor before the suspend and after the resume. This means a system using the powersave governor will go from powersave to performance, then suspend/resume, performance to powersave. The simple change during governor changes would have been overwritten when the governor changed before and after the suspend/resume. I have submitted https://bugzilla.redhat.com/show_bug.cgi?id=1271225 against Fedora to remove the 94cpufreq file that causes the problem. It should be noted that pm-utils is obsoleted with newer versions of systemd. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 89e7b2553ae182a4b2a19e2e99a59ad0d3ccb1ed Author: Amy Wiles <amy.l.wiles@xxxxxxxxx> Date: Wed Oct 14 08:09:15 2015 -0700 powercap / RAPL: Enable Broxton RAPL support Broxton CPU ID for the RAPL driver. Signed-off-by: Amy Wiles <amy.l.wiles@xxxxxxxxx> [ rjw: Subject and changelog. ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 98c85d583a5dee70d75faed3eb79851dd0a2e2fe Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:34:19 2015 +0200 pinctrl: replace trivial implementations of gpio_chip request/free Replace all trivial request/free callbacks that do nothing but call into pinctrl code with the generic versions. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Acked-by: Baruch Siach <baruch@xxxxxxxxxx> Acked-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Acked-by: Lee Jones <lee@xxxxxxxxxx> Acked-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 02715e86b21955f107f376d84d165424ba9cd372 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:42 2015 +0800 ia64/PCI/ACPI: Use common interface to support PCI host bridge Use common interface to simplify PCI host bridge implementation. Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4d6b4e69a245e9df4b84dba387596086cb66887d Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:41 2015 +0800 x86/PCI/ACPI: Use common interface to support PCI host bridge Use common interface to simplify ACPI PCI host bridge implementation. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a3669868d99c8647d780895d83e74d9a921eba2b Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:40 2015 +0800 ACPI/PCI: Reset acpi_root_dev->domain to 0 when pci_ignore_seg is set Reset acpi_root_dev->domain to 0 when pci_ignore_seg is set to keep consistence between ACPI PCI root device and PCI host bridge device. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2c204383a2922cd6b79b9d78680a049a2144fbcc Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:39 2015 +0800 PCI/ACPI: Add interface acpi_pci_root_create() Introduce common interface acpi_pci_root_create() and related data structures to create PCI root bus for ACPI PCI host bridges. It will be used to kill duplicated arch specific code for IA64 and x86. It may also help ARM64 in future. Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3f7abdefc07755d67e2b2b63608d3128f6e0b3c5 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:38 2015 +0800 ia64/PCI: Use common struct resource_entry to replace struct iospace_resource Use common struct resource_entry to replace private struct iospace_resource. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3772aea7d6f36cfa1dae17f04ffed64b4d747aab Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:37 2015 +0800 ia64/PCI/ACPI: Use common ACPI resource parsing interface for host bridge Use common ACPI resource parsing interface to parse ACPI resources for PCI host bridge, so we could share more code between IA64 and x86. Later we will consolidate arch specific implementations into ACPI core. Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 91236ecc74a25431138f71b6d52e130cd0f774b3 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:36 2015 +0800 ACPI/PCI: Enhance ACPI core to support sparse IO space Enhance ACPI resource parsing interfaces to support sparse IO space, which will be used to share common code between x86 and IA64 later. Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 31831f41bfd1e340bad66014a1b7ccd761ee51cf Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:34:18 2015 +0200 gpio: pl061: use the generic request/free implementations Instead of storing in the chip data whether the chip uses pinctrl and conditionally call pinctrl_{request,free}_gpio, just don't populate request/free in that case. This makes the implementations trivial and the same as the generic implementations, thus we can just use them. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit da4002ee901205df4238dd9a63e5598064a0cd17 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:34:17 2015 +0200 gpio: gpio-xz: use the generic request/free implementations Instead of storing in the chip data whether the chip uses pinctrl and conditionally call pinctrl_{request,free}_gpio, just don't populate request/free in that case. This makes the implementations trivial and the same as the generic implementations, thus we can just use them. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 203f0daafdf228a7e4e90a714a2a085884d91ea4 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:34:16 2015 +0200 gpio: replace trivial implementations of request/free with generic one Replace all trivial request/free callbacks that do nothing but call into pinctrl code with the generic versions. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Joachim Eastwood <manabian@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 88cfe5356a9b5cbc77e444b55c7e0d8ba4cc5ecb Merge: a98f1b7 7420aa4 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Oct 16 22:12:57 2015 +0200 Merge back earlier 'pm-domains' material for v4.4. commit 7855e10294efd4925b351c56d2834dc9f7cff7a2 Merge: 8e601a9 4ef4514 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Oct 16 22:12:02 2015 +0200 Merge back earlier cpufreq material for v4.4. commit c771c2f484857f3b1fc81d180485e96b7cb67c17 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:34:15 2015 +0200 gpiolib: provide generic request/free implementations Provide generic request/free implementations that pinctrl aware gpio drivers can use instead of open coding if they use a 1:1 pin to gpio signal mapping. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0305cd5f7fca85dae392b9ba85b116896eb7c1c7 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Oct 16 12:34:25 2015 +0100 Btrfs: fix truncation of compressed and inlined extents When truncating a file to a smaller size which consists of an inline extent that is compressed, we did not discard (or made unusable) the data between the new file size and the old file size, wasting metadata space and allowing for the truncated data to be leaked and the data corruption/loss mentioned below. We were also not correctly decrementing the number of bytes used by the inode, we were setting it to zero, giving a wrong report for callers of the stat(2) syscall. The fsck tool also reported an error about a mismatch between the nbytes of the file versus the real space used by the file. Now because we weren't discarding the truncated region of the file, it was possible for a caller of the clone ioctl to actually read the data that was truncated, allowing for a security breach without requiring root access to the system, using only standard filesystem operations. The scenario is the following: 1) User A creates a file which consists of an inline and compressed extent with a size of 2000 bytes - the file is not accessible to any other users (no read, write or execution permission for anyone else); 2) The user truncates the file to a size of 1000 bytes; 3) User A makes the file world readable; 4) User B creates a file consisting of an inline extent of 2000 bytes; 5) User B issues a clone operation from user A's file into its own file (using a length argument of 0, clone the whole range); 6) User B now gets to see the 1000 bytes that user A truncated from its file before it made its file world readbale. User B also lost the bytes in the range [1000, 2000[ bytes from its own file, but that might be ok if his/her intention was reading stale data from user A that was never supposed to be public. Note that this contrasts with the case where we truncate a file from 2000 bytes to 1000 bytes and then truncate it back from 1000 to 2000 bytes. In this case reading any byte from the range [1000, 2000[ will return a value of 0x00, instead of the original data. This problem exists since the clone ioctl was added and happens both with and without my recent data loss and file corruption fixes for the clone ioctl (patch "Btrfs: fix file corruption and data loss after cloning inline extents"). So fix this by truncating the compressed inline extents as we do for the non-compressed case, which involves decompressing, if the data isn't already in the page cache, compressing the truncated version of the extent, writing the compressed content into the inline extent and then truncate it. The following test case for fstests reproduces the problem. In order for the test to pass both this fix and my previous fix for the clone ioctl that forbids cloning a smaller inline extent into a larger one, which is titled "Btrfs: fix file corruption and data loss after cloning inline extents", are needed. Without that other fix the test fails in a different way that does not leak the truncated data, instead part of destination file gets replaced with zeroes (because the destination file has a larger inline extent than the source). 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 -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # real QA test starts here _need_to_be_root _supported_fs btrfs _supported_os Linux _require_scratch _require_cloner rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount "-o compress" # Create our test files. File foo is going to be the source of a clone operation # and consists of a single inline extent with an uncompressed size of 512 bytes, # while file bar consists of a single inline extent with an uncompressed size of # 256 bytes. For our test's purpose, it's important that file bar has an inline # extent with a size smaller than foo's inline extent. $XFS_IO_PROG -f -c "pwrite -S 0xa1 0 128" \ -c "pwrite -S 0x2a 128 384" \ $SCRATCH_MNT/foo | _filter_xfs_io $XFS_IO_PROG -f -c "pwrite -S 0xbb 0 256" $SCRATCH_MNT/bar | _filter_xfs_io # Now durably persist all metadata and data. We do this to make sure that we get # on disk an inline extent with a size of 512 bytes for file foo. sync # Now truncate our file foo to a smaller size. Because it consists of a # compressed and inline extent, btrfs did not shrink the inline extent to the # new size (if the extent was not compressed, btrfs would shrink it to 128 # bytes), it only updates the inode's i_size to 128 bytes. $XFS_IO_PROG -c "truncate 128" $SCRATCH_MNT/foo # Now clone foo's inline extent into bar. # This clone operation should fail with errno EOPNOTSUPP because the source # file consists only of an inline extent and the file's size is smaller than # the inline extent of the destination (128 bytes < 256 bytes). However the # clone ioctl was not prepared to deal with a file that has a size smaller # than the size of its inline extent (something that happens only for compressed # inline extents), resulting in copying the full inline extent from the source # file into the destination file. # # Note that btrfs' clone operation for inline extents consists of removing the # inline extent from the destination inode and copy the inline extent from the # source inode into the destination inode, meaning that if the destination # inode's inline extent is larger (N bytes) than the source inode's inline # extent (M bytes), some bytes (N - M bytes) will be lost from the destination # file. Btrfs could copy the source inline extent's data into the destination's # inline extent so that we would not lose any data, but that's currently not # done due to the complexity that would be needed to deal with such cases # (specially when one or both extents are compressed), returning EOPNOTSUPP, as # it's normally not a very common case to clone very small files (only case # where we get inline extents) and copying inline extents does not save any # space (unlike for normal, non-inlined extents). $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/foo $SCRATCH_MNT/bar # Now because the above clone operation used to succeed, and due to foo's inline # extent not being shinked by the truncate operation, our file bar got the whole # inline extent copied from foo, making us lose the last 128 bytes from bar # which got replaced by the bytes in range [128, 256[ from foo before foo was # truncated - in other words, data loss from bar and being able to read old and # stale data from foo that should not be possible to read anymore through normal # filesystem operations. Contrast with the case where we truncate a file from a # size N to a smaller size M, truncate it back to size N and then read the range # [M, N[, we should always get the value 0x00 for all the bytes in that range. # We expected the clone operation to fail with errno EOPNOTSUPP and therefore # not modify our file's bar data/metadata. So its content should be 256 bytes # long with all bytes having the value 0xbb. # # Without the btrfs bug fix, the clone operation succeeded and resulted in # leaking truncated data from foo, the bytes that belonged to its range # [128, 256[, and losing data from bar in that same range. So reading the # file gave us the following content: # # 0000000 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 # * # 0000200 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a # * # 0000400 echo "File bar's content after the clone operation:" od -t x1 $SCRATCH_MNT/bar # Also because the foo's inline extent was not shrunk by the truncate # operation, btrfs' fsck, which is run by the fstests framework everytime a # test completes, failed reporting the following error: # # root 5 inode 257 errors 400, nbytes wrong status=0 exit Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 3fa508cd233da76eb00377440600f53eebfec08a Author: Wei Chen <Wei.Chen@xxxxxxx> Date: Fri Oct 9 06:31:18 2015 +0000 pinctrl: atlas7: support atlas7 step B changes The the pin groups and pin functions have been changed in atlas7 step B soc. We have to update the driver to support step B chip. Changes: 1. add 5 jtag pins to IOC_TOP: "jtag_tdo", "jtag_tms","jtag_tck", "jtag_tdi", "jtag_trstn" these 5 pins can be mutiplex with other functions, so we have to conver these 5 pins in pinmux. 2. add pin groups for audio digmic, audio spdif, can transceiver en, can transceiver stb, i2s0, i2s1 and jtag. 3. serval pins can be located to more PADs: audio_uart0_urfs, audio_uart1_urfs, audio_uart2_urfs, audio_uart2_urxd, audio_uart2_usclk, audio_uart2_utfs, audio_uart2_utxd, can0_rxd, can0_txd, can1_rxd, can1_txd jtag_ntrst, jtag_swdiotms, jtag_tck, jtag_tdi, jtag_tdo, pw_cko0, pw_cko1, pw_i2s01, pw_pwm0, pw_pwm1, sd2_cdb, sd2_wpb, uart2_cts, uart2_rts, uart2_rxd, uart2_txd, uart3_cts, uart3_rts, uart3_rxd, uart3_txd, uart4_cts, uart4_rts, usb0_drvvbus, usb1_drvvbus. Because of Changes#3, some functions should have more than one pin groups. So we have to split the original pin group to serval pin groups. For example: audio_uart0 has 5 pins, on STEPA, each of these 5 pins only has one related PAD. But on STEPB, audio_uart0_urfs has 4 related PAD. So we place the 4 pins with one PAD into a single pin group: audio_uart0_basic_group. and place urfs pin wtih different PADs to 4 different pin groups: audio_uart0_urfs_group0, ..., audio_uart0_urfs_group3 A full audio_uart0 pin group can be: pinctrl-0 = <&audio_uart0_basic_group &audio_uart0_urfs_group0>; If audio_uart0 pin group encountered some confiction, we only have to change the urfs group: pinctrl-0 = <&audio_uart0_basic_group &audio_uart0_urfs_group2>; 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 4d273c2af0fe4fdc84eef27e4521694dc7992065 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Wed Oct 14 15:58:27 2015 -0700 usb: dwc2: host: Protect PCGCTL with lock in dwc2_port_resume() From code inspection, it appears to be unsafe to do a read-modify-write of PCGCTL in dwc2_port_resume(). Let's make sure the spinlock is held around this operation. Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 346cc220a8e51e69233ef4e16af38578f1682a40 Merge: 3ea4a18 bf4c944 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:35:59 2015 -0700 Merge branch 'for-tony' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into omap-for-v4.4/soc commit 23c74bf5fe592dff5f6b07c62fa3f909d917f308 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:32:33 2015 -0700 ARM: dts: Add basic support for isee igepv5 With omap5-board-common.dtsi, we can now easily add support for various omap5 board variants. Let's add minimal support for isee igepv5. So far I've tested that basic things work, such as serial, USB Ethernet, HDMI and WLAN. Note that like omap5-uevm, these boards seem to need to reserve 16MB for a trap section as in commit 03178c66d289 ("ARM: dts: omap5-evm: Update available memory to 2032 MB") and also noted in a u-boot commit at http://marc.info/?l=u-boot&m=134376852603255 and also at http://patchwork.ozlabs.org/patch/159881/. Not sure why this is not needed for omap5-cm-t54.dts, maybe because of different u-boot configuration. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ee9a97dbeeddc8d4d3b3c69400faa2e594f45b4a Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:32:32 2015 -0700 ARM: dts: Move most of omap5-uevm.dts to omap5-board-common.dtsi Looks like thevarious omap5-uevm models and igepv5 are very similar. So let's create omap5-board-common.dtsi to allow fixing up things properly for mainline kernel to support all these. Even if we eventually end up having only PMIC + MMC + eMMC + SDIO WLAN + SATA + USB + HDMI configuration in the omap5-board-common.dtsi, this is the easiest way to add support for other boards rather than diffing various versions of out of tree dts files. My guess is that also omap5-sbc-t54.dts can use this, but I don't have that board so that will need to be dealt with later on. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0efc898a9bea7a2e8e583c6efab0e19dc7093078 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:32:32 2015 -0700 ARM: dts: Fix WLAN regression on omap5-uevm Commit 99f84cae43df ("ARM: dts: add wl12xx/wl18xx bindings") added device tree bindings for the TI WLAN SDIO on many omap variants. I recall wondering how come omap5-uevm did not have the WLAN added and this issue has been bugging me for a while now, and I finally tracked it down to a bad pinmux regression, and a missing deferred probe handling for the 32k clock from palmas that's requested by twl6040. Basically 392adaf796b9 ("ARM: dts: omap5-evm: Add mcspi data") added pin muxing for mcspi4 that conflicts with the onboard WLAN. While some omap5-uevm don't have WLAN populated, the pins are not reused for other devices. And as the SDIO bus should be probed, let's try to enable WLAN by default. Let's fix the regression and add the WLAN configuration as done for the other boards in 99f84cae43df ("ARM: dts: add wl12xx/wl18xx bindings"). And let's use the new MMC pwrseq for the 32k clock as suggested by Javier Martinez Canillas <javier@xxxxxxxxxxxx>. Note that without a related deferred probe fix for twl6040, the 32k clock is not initialized if palmas-clk is a module and twl6040 is built-in. Let's also use the generic "non-removable" instead of the legacy "ti,non-removable" property while at it. And finally, note that omap5 seems to require WAKEUP_EN for the WLAN GPIO interrupt. Fixes: 392adaf796b9 ("ARM: dts: omap5-evm: Add mcspi data") Cc: Sourav Poddar <sourav.poddar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6a3b764b8dc781c36f0f94287df5b2ec23b8fdd7 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:16:21 2015 -0700 ARM: OMAP2+: Fix oops with LPAE and more than 2GB of memory On boards with more than 2GB of RAM booting goes wrong with things not working and we're getting lots of l3 warnings: WARNING: CPU: 0 PID: 1 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x260/0x384() 44000000.ocp:L3 Custom Error: MASTER MMC6 TARGET DMM1 (Idle): Data Access in User mode during Functional access ... [<c044e158>] (scsi_add_host_with_dma) from [<c04705c8>] (ata_scsi_add_hosts+0x5c/0x18c) [<c04705c8>] (ata_scsi_add_hosts) from [<c046b13c>] (ata_host_register+0x150/0x2cc) [<c046b13c>] (ata_host_register) from [<c046b38c>] (ata_host_activate+0xd4/0x124) [<c046b38c>] (ata_host_activate) from [<c047f42c>] (ahci_host_activate+0x5c/0x194) [<c047f42c>] (ahci_host_activate) from [<c0480854>] (ahci_platform_init_host+0x1f0/0x3f0) [<c0480854>] (ahci_platform_init_host) from [<c047c9dc>] (ahci_probe+0x70/0x98) [<c047c9dc>] (ahci_probe) from [<c04220cc>] (platform_drv_probe+0x54/0xb4) Let's fix the issue by enabling ZONE_DMA for LPAE. Note that we need to limit dma_zone_size to 2GB as the rest of the RAM is beyond the 4GB limit. Let's also fix things for dra7 as done in similar patches in the TI tree by Lokesh Vutla <lokeshvutla@xxxxxx>. Reviewed-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b1a0eeb4f6bbfb63c356578eaf76003faa58f56b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 16 12:05:07 2015 -0700 clk: xgene: Remove unused setup.h include This include doesn't look to be used, and compiling this file on arm64 still works, so remove it. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4a7748c3d6419bb81787480526d62bbaf083ef84 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Oct 13 16:18:18 2015 +0200 clk: Allow drivers to build if COMPILE_TEST is enabled These drivers only have runtime but no build time dependencies so can be built for testing purposes if the Kconfig COMPILE_TEST option is enabled. This is useful to have more build coverage and make sure that drivers are not affected by changes that could cause build regressions. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b76281cb97761002277730432812b1687de96062 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 14:35:21 2015 +0200 clk: Make clk input parameter of __clk_get_name() const When calling __clk_get_name() on a const clock: warning: passing argument 1 of '__clk_get_name' discards 'const' qualifier from pointer target type include/linux/clk-provider.h:613:13: note: expected 'struct clk *' but argument is of type 'const struct clk *' __clk_get_name() does not modify the passed clock, hence make it const. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 08ebdf80dc9d3a12cb1f4a0e32c1ddf16a59b5ce Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 17:18:27 2015 +0200 clk: shmobile: mstp: Drop bogus closing parenthesis in error message Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 54c09889bff6d99c8733eed4a26c9391b177c88b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 15:46:08 2015 +0200 ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode The z2 machine calls pxa27x_set_pwrmode() in order to power off the machine, but this function gets discarded early at boot because it is marked __init, as pointed out by kbuild: WARNING: vmlinux.o(.text+0x145c4): Section mismatch in reference from the function z2_power_off() to the function .init.text:pxa27x_set_pwrmode() The function z2_power_off() references the function __init pxa27x_set_pwrmode(). This is often because z2_power_off lacks a __init annotation or the annotation of pxa27x_set_pwrmode is wrong. This removes the __init section modifier to fix rebooting and the build error. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: ba4a90a6d86a ("ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 4a672bfe8f9ee194cdb7bc4e06a8fd79cc7741ea Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Oct 14 11:27:46 2015 +0200 ARM: pxa: raumfeld: make some variables static This fixes the following sparse warnings: arch/arm/mach-pxa/raumfeld.c:510:24: warning: symbol 'raumfeld_w1_gpio_device' was not declared. Should it be static? arch/arm/mach-pxa/raumfeld.c:632:31: warning: symbol 'raumfeld_spi_platform_data' was not declared. Should it be static? arch/arm/mach-pxa/raumfeld.c:851:28: warning: symbol 'audio_va_initdata' was not declared. Should it be static? arch/arm/mach-pxa/raumfeld.c:883:28: warning: symbol 'audio_dummy_initdata' was not declared. Should it be static? arch/arm/mach-pxa/raumfeld.c:931:28: warning: symbol 'max8660_v6_subdev_data' was not declared. Should it be static? Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 7371a20b9a8b81f81cbbf2a13563a9254e304ded Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 17:14:55 2015 +0200 clk: shmobile: r8a7778: Make r8a7778_rates[] and r8a7778_divs[] static const r8a7778_rates[] and r8a7778_divs[] are only used in clk-r8a7778.c, and never modified. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7e96353c3faaedea91f67972d011db41ed21b367 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 17:12:32 2015 +0200 clk: Use %u to format unsigned int in of_clk_src_onecell_get() Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e03499216023fe41d4ba1b9fcb45332a5a169643 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Oct 16 19:36:53 2015 +0100 iommu/vt-d: Fix IOTLB flushing for global pages When flushing kernel-mode PASIDs, we need to flush global pages too. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 3ce6c6e5419477bd718ffa00fbe1594e52c22602 Merge: 0a4807c 84a8725 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 16 11:35:19 2015 -0700 Merge tag 'imx-clk-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into clk-next Pull i.MX updates from Shawn Guo: "The i.MX clock updates for 4.4: - A couple of fixes on i.MX31 and i.MX35 clock initialization functions which makes mxc_timer_init() currently be called twice for DT boot. - Increase i.MX6UL AXI bus clock rate to 264MHz which is the optimal design target. - Add a few missing clocks, ADC clock for i.MX7D, OCOTP clock for Vybrid, and SPDIF_GCLK for i.MX6. - A series from Lucas to fix early debug UART clock setup. This is currently a one-off fix for i.MX platform, and can be extended to become a generic solution later." * tag 'imx-clk-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: clk: imx6: Add SPDIF_GCLK clock in clock tree clk: imx7d: add ADC root clock clk: imx31: Do not call mxc_timer_init twice when booting with DT clk: imx7d: retain early UART clocks during kernel init clk: imx6: retain early UART clocks during kernel init clk: imx5: retain early UART clocks during kernel init clk: imx35: retain early UART clocks during kernel init clk: imx31: retain early UART clocks during kernel init clk: imx27: retain early UART clocks during kernel init clk: imx25: retain early UART clocks during kernel init clk: imx: add common logic to detect early UART usage clk: imx35: Do not call mxc_timer_init twice when booting with DT clk: clk-vf610: Add clock for Vybrid OCOTP controller clk: imx: increase AXI clock rate to 264MHz for i.MX6UL commit 8cae0424787ba02987a6f3a6117f31f6a77260dc Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Fri Oct 16 16:22:07 2015 +0100 spi: davinci: use spi->cs_gpio directly Use spi->cs_gpio directly to remove the following build warning: drivers/spi/spi-davinci.c:219:6: warning: 'gpio' may be used uninitialized in this function Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 57c2ecd9bf971946ea0c6ae90a79c90a22159c73 Author: Vignesh R <vigneshr@xxxxxx> Date: Tue Oct 13 15:51:05 2015 +0530 spi: spi-ti-qspi: switch to polling mode for better r/w performance Currently word completion interrupt is fired for transfer of every word(8bit to 128bit in size). This adds a lot of overhead, and decreases r/w throughput. It hardly takes 3us(@48MHz) for 128bit r/w to complete, hence its better to poll on word complete bit to be set in QSPI_SPI_STATUS_REG instead of using interrupts. This increases the throughput by 30% in both read and write case. So, switch to polling mode instead of interrupts to determine completion of word transfer. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3ad48062233f32a8dd2649403f5afc076710f86b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 13 17:09:14 2015 +0300 spi: pxa2xx: choose closest lower speed As per discussion [1] the best choice is to set closest speed which is not going over the asked one. Do the same approach for Intel Quark boards. [1] http://www.spinics.net/lists/linux-spi/msg03389.html Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c962d03be31f12fd8eea435fa59e5289ce0cc284 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Tue Oct 13 15:07:25 2015 +0800 ASoC: rt5645: Recheck the jack detect status after resuming from S3 The patch rechecks the jack detect status after resuming from S3. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3ea4a18288813fe6a283f708c13b60853ddf8bf1 Author: Keerthy <j-keerthy@xxxxxx> Date: Wed Oct 14 11:13:08 2015 +0530 ARM: OMAP: Change all cpu_is_* occurences to soc_is_* for id.c Currently apart from dra7, omap5 and amx3 all the other SoCs are identified using cpu_is_* functions which is not right since they are all SoCs(System on Chips). Hence changing the SoC identification code to use soc_is instead of cpu_is and keeping defines for cpu_is where needed. This allows us to replace the rest of cpu_is usage along with other fixes as needed. Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Keerthy <j-keerthy@xxxxxx> [tony@xxxxxxxxxxx: reworked the soc.h changes to minimum] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fbc61a26e6b7a2ebc399559ea22df4a35ac05fcb Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Fri Sep 18 14:09:00 2015 -0700 arm64: debug: Fix typo in debug-monitors.c Fix handers to handlers. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c8d71d08aa23679f56e7072358383442c6ede352 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:17:08 2015 +0100 netfilter: ipv4: whitespace around operators This patch cleanses whitespace around arithmetical operators. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 24cebe3f29884bb8f4581c68ba7a124ade0099b0 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:17:07 2015 +0100 netfilter: ipv4: code indentation Use tabs instead of spaces to indent code. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6c28255b46823b37d220bbb2fddfb9b23dda2fd4 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:17:06 2015 +0100 netfilter: ipv4: function definition layout Use tabs instead of spaces to indent second line of parameters in function definitions. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 27951a01688c012b6c77377703fcce90cfe8b1b7 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:17:05 2015 +0100 netfilter: ipv4: ternary operator layout Correct whitespace layout of ternary operators in the netfilter-ipv4 code. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6b61f2497852b7d27e1c024d966c09defbf99948 Author: Marcin Wojtas <mw@xxxxxxxxxxxx> Date: Thu Oct 15 18:25:44 2015 +0200 ARM: mvebu: set SW polling as SDHCI card detection on A388-GP The newest revisions of A388-GP (v1.5 and higher) support only DAT3-based card detection. Revisions < v1.5 based on GPIO detection via I2C expander, but this solution is supposed to be deprecated on new boards. In order to satisfy all type of hardware this commit changes card detection to use software polling mechanism. Also a comment is added on possible card detection options in A388-GP DT board file. Signed-off-by: Marcin Wojtas <mw@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 19f0a602014c0dd7f1ad9e458618c333a668b15a Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:17:04 2015 +0100 netfilter: ipv4: label placement Whitespace cleansing: Labels should not be indented. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3db7cb951835d6226d47e979bca7cacbbb8f9f1c Merge: 3943b9e 7ba6e4e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 16 18:17:31 2015 +0100 Merge branch 'fix/rt298' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt298 commit 3943b9efb381531b99bf9c545736f9e1e2715b9c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Oct 5 21:23:48 2015 +0800 ASoC: rt298: Make rt298_index_def const The index_cache is per instance run time state but rt298_index_def is not. Make rt298_index_def const and make a copy of memory for index_cache rather than directly use the rt298_index_def. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d0b5090575350dd4c9dfde3f81980051031fc9f0 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 10:08:45 2015 -0700 ARM: OMAP2+: Rename cpu_is macros to soc_is The naming for the cpu_is macros is confusing as the CPU is separate and within the SoC. Let's rename all the macros to soc_is, and let's define cpu_is also for the ones still in use. Then we can just remove the cpu_is macros once the users are fixed up. To keep the chances of breaking anything, the changes were generated with the following regular expressions: s/cpu_is/soc_is/g s/CPU/SoC/g Then the list of existing cpu_is users was generated with: $ $ grep -o -e 'cpu_is_.\+()' arch/arm/mach-omap2/*.[chS] | \ cut -d: -f2 | sort | uniq And added to the end of the soc.h. I decided to rework the earlier patches by Keerthy <j-keerthy@xxxxxx> to keep changes down to minimum to avoid potential errors and stick to just search and replace. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0d19208e70b3a65144c7a0b6368f849c57818242 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Oct 13 12:45:30 2015 +0200 regulator: i.MX anatop: Allow supply regulator The anatop regulators are SoC internal LDO regulators usually supplied by an external PMIC. This patch adds support for specifying the supply from the device tree using the vin-supply property. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5abe4f223ed6b820443d3657bd48600692f61c12 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Oct 13 12:45:26 2015 +0200 regulator: introduce min_dropout_uV Many voltage Regulators need a input voltage that is higher than the output voltage. Allow to specify a minimum dropout voltage which will be used later to find the best input voltage for regulators. [Changed uv to uV for consistency and legibility -- broonie] Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a9f226bcd9bb1941e581806e83d2c03d4043c367 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Oct 13 12:45:25 2015 +0200 regulator: core: create unlocked version of regulator_set_voltage The unlocked version will be needed when we start propagating voltage changes to the supply regulators. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 008027c31d57a22bd80dda5acc95b037634eee0f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 20:45:42 2015 +0200 netfilter: turn NF_HOOK into an inline function A recent change to the dst_output handling caused a new warning when the call to NF_HOOK() is the only used of a local variable passed as 'dev', and CONFIG_NETFILTER is disabled: net/ipv6/ip6_output.c: In function 'ip6_output': net/ipv6/ip6_output.c:135:21: warning: unused variable 'dev' [-Wunused-variable] The reason for this is that the NF_HOOK macro in this case does not reference the variable at all, and the call to dev_net(dev) got removed from the ip6_output function. To avoid that warning now and in the future, this changes the macro into an equivalent inline function, which tells the compiler that the variable is passed correctly but still unused. The dn_forward function apparently had the same problem in the past and added a local workaround that no longer works with the inline function. In order to avoid a regression, we have to also remove the #ifdef from decnet in the same patch. Fixes: ede2059dbaf9 ("dst: Pass net into dst->output") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 81b4325eba6baae80a70d1af866278af38fb6cdd Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Oct 13 14:33:28 2015 +0200 netfilter: nf_queue: remove rcu_read_lock calls All verdict handlers make use of the nfnetlink .call_rcu callback so rcu readlock is already held. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7f92a2e9107c2cf870a11bb77738207daa94fee3 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Oct 16 17:22:31 2015 +0100 iommu/vt-d: Fix address shifting in page request handler This really should be VTD_PAGE_SHIFT, not PAGE_SHIFT. Not that we ever really anticipate seeing this used on IA64, but we should get it right anyway. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit ed78d09d59ba9764b7454e8e1ccbb0072a55b6d7 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Oct 13 14:33:27 2015 +0200 netfilter: make nf_queue_entry_get_refs return void We don't care if module is being unloaded anymore since hook unregister handling will destroy queue entries using that hook. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2ffbceb2b08f8ca0496c54a9ebcd11d25275954e Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Oct 13 14:33:26 2015 +0200 netfilter: remove hook owner refcounting since commit 8405a8fff3f8 ("netfilter: nf_qeueue: Drop queue entries on nf_unregister_hook") all pending queued entries are discarded. So we can simply remove all of the owner handling -- when module is removed it also needs to unregister all its hooks. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit bf4c94490aa4491cca758d633c0e641a4419c920 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 15:10:10 2015 -0500 arm: omap2: timer: limit hwmod usage to non-DT boots now that we have a working 32k clocksource driver, we can limit HWMOD usage to non-DT boots and rely on clocksource_of_init() every time we boot with DT. While at that, also make sure that we don't disable the 32-counter device so it gets probed by its driver. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 429ac200c7e1da0cfe2240f0cea18aeaf9a99099 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Oct 5 11:40:58 2015 -0500 arm: omap2+: select 32k clocksource driver Now that we have a 32k clocksource driver, let's select it for OMAP2PLUS builds. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fe851f56d5f5b02a9afca95acde5224c3e73fac1 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 13:55:33 2015 -0500 clocksource: add TI 32.768 Hz counter driver Introduce a new clocksource driver for Texas Instruments 32.768 Hz device which is available on most OMAP-like devices. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6f82e25d2e434a70cde5ad135fa00099e8106a76 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 13:26:45 2015 -0500 arm: omap2: timer: rename omap_sync32k_timer_init() this function is not only about the 32k sync timer, it's OMAP's generic init_time implementation. Let's rename it to make that detail easier to notice. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9c46ffcd521474056629aea580a092559f721b32 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 13:15:02 2015 -0500 arm: omap2: timer: always call clocksource_of_init() when DT If booting with DT, let's make sure to always call clocksource_of_init() as this will make it easier to move timer code to drivers/clocksource in the future. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4681347153dba01836aca18ebcfb4101c927d8ec Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 16:11:41 2015 +0200 dt-bindings: Correct paths in Rockchip power domains binding document Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 3bbafac83775425d0abb68cf9837ee3ca36adb42 Author: Roman Alyautdin <ralyautdin@xxxxxxxxxxxxx> Date: Mon Oct 12 17:14:32 2015 +0300 usb: musb: core: add common method of getting vbus status Fix musb_platform_get_vbus_status return value in case of platform implementation is not defined, bringing expected behaviour of musb_platform_get wrapper. Add musb_vbus_show default method to determine VBUS status in case platform method is not defined. Signed-off-by: Roman Alyautdin <ralyautdin@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 34198710f55b5f359f43e67d9a08fe5aadfbca1b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 13:31:24 2015 +0100 ASoC: Add info callback for SX_TLV controls SX_TLV controls are intended for situations where the register behind the control has some non-zero value indicating the minimum gain and then gains increasing from there and eventually overflowing through zero. Currently every CODEC implementing these controls specifies the minimum as the non-zero value for the minimum and the maximum as the number of gain settings available. This means when the info callback subtracts the minimum value from the maximum value to calculate the number of gain levels available it is actually under reporting the available levels. This patch fixes this issue by adding a new snd_soc_info_volsw_sx callback that does not subtract the minimum value. Fixes: 1d99f2436d0d ("ASoC: core: Rework SOC_DOUBLE_R_SX_TLV add SOC_SINGLE_SX_TLV") Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Tested-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5ab8d262122bc951b308e51cdcc55bc67b1f5fdb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 22:43:07 2015 +0300 spi: core: propagate return code of __spi_validate_bits_per_word() Propagate the actual return code of __spi_validate_bits_per_word() in spi_setup(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ce938001c08c6580a8da38dc226fa605512afab6 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 15 10:37:12 2015 +0100 regulator: arizona-ldo1: Fix handling of GPIO 0 The LDO1 driver is using the arizona_of_get_named_gpio helper function which will return 0 if an error was encountered whilst parsing the GPIO, as under the pdata scheme 0 was not being treated as a valid GPIO. However, since the regulator framework was expanded to allow the use of GPIO 0 this causes us to attempt to register GPIO 0 when we encountered an error parsing the device tree. This patch uses of_get_named_gpio directly and sets the ena_gpio_initialized flag based on the return value. Fixes: 1de3821ace82 ("regulator: Set ena_gpio_initialized in regulator drivers") Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3c6531c7461b80c18284d43b59791c60cd67582f Author: Thomas Hebb <tommyhebb@xxxxxxxxx> Date: Tue Oct 6 22:56:37 2015 +0200 pinctrl: berlin: fix BG2CD field widths The previous register layout was incorrect, many of the fields having fewer bits than were needed to represent all their modes. The new layout is taken from the bootloader source of a BG2CD device. Signed-off-by: Thomas Hebb <tommyhebb@xxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 30cefeacec3e289c00128f28b831fb251650eea6 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri Sep 25 12:06:02 2015 -0700 gpio: omap: fix static checker warning This patch fixes below static checker warning by changing type of irq field in struct gpio_bank from u16 to int. drivers/gpio/gpio-omap.c:1191 omap_gpio_probe() warn: assigning (-6) to unsigned variable 'bank->irq' drivers/gpio/gpio-omap.c 1188 bank->irq = platform_get_irq(pdev, 0); 1189 if (bank->irq <= 0) { bank->irq is u16. 1190 if (!bank->irq) 1191 bank->irq = -ENXIO; Does not work. 1192 if (bank->irq != -EPROBE_DEFER) Does not work. 1193 dev_err(dev, 1194 "can't get irq resource ret=%d\n", bank->irq); 1195 return bank->irq; 1196 } Fixes: commit 89d18e3af8b9: "gpio: omap: switch to use platform_get_irq" Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8b7081442ee29b0de0bede6fcf7752b97159b581 Author: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Fri Oct 16 09:55:54 2015 +0100 regulator: da9053: Update regulator for DA9053 BC silicon support Provide an additional case entry for DA9053_BC in the find_regulator_info() function in order to support BC type silicon for the DA9053 device. Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 07bce09e11f5007635d7f9e6bc55679dd6ed18bd Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Oct 15 10:10:20 2015 +0000 spi: bcm2835aux: change initialization order and switch to platform_get_irq Change the initialization order of the HW so that the interrupt is only requested after the HW is initialized Also the use of irq_of_parse_and_map is replaced by platform_get_irq. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 72aac02b3730fa0e2e1ccab57712a94400344f8a Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 16 14:17:19 2015 +0000 spi: bcm2835aux: fixed bad data on longer transfers There are strange issues with the auxiliary spi device that result in "lost" data in the RX path if the fifo is filled by too much (even though the status register is checked if new data can get filled in). This has been observed primarily for the interrupt case. Polling works fine, probably because the RX fifo is pulled immediately when in the tight polling loop. For that reason we have to limit the pending bytes to less than 15 when filling the fifo in interrupt mode. There also was an issue returning the "wrong" last 1/2 bytes of a transfer when the transfer is not a multiple of 3 bytes. (this impacted polling and interrupt modes) Also fixed an overflow in the estimation of the transfer time used to decide if we run in interrupt or polling mode (found with the spi-bcm2835.c driver originally). Reported-by: Georgii Staroselskii <georgii.staroselskii@xxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ddf0e1c20d8b72c409e4c954002069445babc762 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Oct 15 10:09:11 2015 +0000 spi: bcm2835: change initialization order and switch to platform_get_irq Change the initialization order of the HW so that the interrupt is only requested after the HW is initialized Also the use of irq_of_parse_and_map is replaced by platform_get_irq. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c0ff971ef9acacd4d2caa508e444edad958dead9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Thu Oct 15 19:42:23 2015 +0200 x86/ioapic: Disable interrupts when re-routing legacy IRQs A sporadic hang with consequent crash is observed when booting Hyper-V Gen1 guests: Call Trace: <IRQ> [<ffffffff810ab68d>] ? trace_hardirqs_off+0xd/0x10 [<ffffffff8107b616>] queue_work_on+0x46/0x90 [<ffffffff81365696>] ? add_interrupt_randomness+0x176/0x1d0 ... <EOI> [<ffffffff81471ddb>] ? _raw_spin_unlock_irqrestore+0x3b/0x60 [<ffffffff810c295e>] __irq_put_desc_unlock+0x1e/0x40 [<ffffffff810c5c35>] irq_modify_status+0xb5/0xd0 [<ffffffff8104adbb>] mp_register_handler+0x4b/0x70 [<ffffffff8104c55a>] mp_irqdomain_alloc+0x1ea/0x2a0 [<ffffffff810c7f10>] irq_domain_alloc_irqs_recursive+0x40/0xa0 [<ffffffff810c860c>] __irq_domain_alloc_irqs+0x13c/0x2b0 [<ffffffff8104b070>] alloc_isa_irq_from_domain.isra.1+0xc0/0xe0 [<ffffffff8104bfa5>] mp_map_pin_to_irq+0x165/0x2d0 [<ffffffff8104c157>] pin_2_irq+0x47/0x80 [<ffffffff81744253>] setup_IO_APIC+0xfe/0x802 ... [<ffffffff814631c0>] ? rest_init+0x140/0x140 The issue is easily reproducible with a simple instrumentation: if mdelay(10) is put between mp_setup_entry() and mp_register_handler() calls in mp_irqdomain_alloc() Hyper-V guest always fails to boot when re-routing IRQ0. The issue seems to be caused by the fact that we don't disable interrupts while doing IOPIC programming for legacy IRQs and IRQ0 actually happens. Protect the setup sequence against concurrent interrupts. [ tglx: Make the protection unconditional and not only for legacy interrupts ] Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444930943-19336-1-git-send-email-vkuznets@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f0a3b154bd7d969feaac1f4645e4177433e5f46a Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 29 19:46:13 2015 +0300 ftrace: Clarify code for mod command "Not" is too abstract variable name - changed to clear_filter. Removed ftrace_match_module_records function: comparison with !* or * not does the general code in filter_parse_regex() as it works without mod command for sh# echo '!*' > /sys/kernel/debug/tracing/set_ftrace_filter Link: http://lkml.kernel.org/r/1443545176-3215-2-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 1d48fb6e4aeec5946574712c512c12a053ce82c0 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 23:31:41 2015 +0200 pinctrl: berlin: fix my family name spelling My family name contained an accent when I submitted the Berlin pinctrl series in the first place. There was an encoding issue when the series was applied. Fix this. Signed-off-by: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> [Je me rendis tous les accents aigus] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8a98b4223d0eab88bba5eb215b275da4ff6ed99c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 15 03:25:28 2015 +0000 ASoC: rsnd: Gen1 probe is not error Probing from Gen1 is not error. This patch fixup it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ba6e4ef76c7e43101bd5e0f8987c11a8ed0d325 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Oct 16 15:21:32 2015 +0800 ASoC: rt298: correct index default value Some of the default value on rt298_index_def are incorrect. Change them to the correct value. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9c160bbd6c298c8b4f76b245e26f78bd4bba3993 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 23:31:39 2015 +0200 pinctrl: berlin: add explicit dependency on OF Berlin pinctrl drivers depends on CONFIG_OF. This patch adds this dependency explicitly. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d02f997d61b30ef6f89ad2f2dc4d41613c8b8b88 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 23:31:37 2015 +0200 pinctrl: berlin: select the pinctrl driver according to the SoC used This patch prepares to remove the pinctrl driver selection from the mach-berlin Kconfig. To do so, bool is replaced by def_bool. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c55a7746111144b0fa2c27dd28098f14d4ca79ee Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Oct 16 15:37:10 2015 +0800 pinctrl: dt-binding: document berlin4ct SoC pinctrl Add berlin4ct to existing berlin pinctrl device tree binding. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4be3158abe1e02d24f82b34101e41d662fae2185 Merge: 125ecf4 56ade8f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 16 07:15:31 2015 -0700 Merge branch 'mlxsw-spectrum' Jiri Pirko says: ==================== mlxsw: Driver update, add initial support for Spectrum ASIC Purpose of this patchset is to introduce initial support for Mellanox Spectrum ASIC, including L2 bridge forwarding offload. The only non-mlxsw patch in this patchset is the first one, introducing pre-change upper notifier. That is used in last patch to ensure ports of single ASIC are not bridged into multiple bridges, as that scenario is currently not supported by driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56ade8fe3fe1e134783f61d164305107ae01030f Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:37 2015 +0200 mlxsw: spectrum: Add initial support for Spectrum ASIC Add support for new generation Mellanox Spectrum ASIC, 10/25/40/50 and 100Gb/s Ethernet Switch. The initial driver implements bridge forwarding offload including bridge internal VLAN support, FDB static entries, FDB learning and HW ageing including their setup. 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 a4feea74cd7a8f12d9fae67014533a4220135760 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:36 2015 +0200 mlxsw: reg: Add Switch Port VLAN MAC Learning register definition Since we currently do not support the offloading of 802.1D bridges, we need to be able to let the device know it should not learn MAC addresses on specific {Port, VID} pairs. Add the SPVMLR register, which controls the learning enablement of {Port, VID} pairs. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e534a56a317fa4e55419cc255d6af2683288d71c Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:35 2015 +0200 mlxsw: reg: Add Switch Filtering Database Aging Time register definition Add SFDAT which is used to control switch ageing time. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f65da742d15462786533cf3ea58335aa32e3daa Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:34 2015 +0200 mlxsw: reg: Add Switch Virtual-Port Enabling register definition In order for a port to support {Port, VID} to FID mapping it needs to be configured to a virtual port mode (as opposed to VLAN mode). Add the SVPE register, which enables port virtualization. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 647902397663468c2feefa9cd8097e194802a0b3 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:33 2015 +0200 mlxsw: reg: Add Switch VID to FID Allocation register definition An incoming packet can be classified into a filtering identifer (FID) based on its VID or incoming port and VID ({Port, VID}). Add the SVFA register, which controls this mapping. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1fb693a0875d0d1510cf8e84d35df2661f5a38f Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:32 2015 +0200 mlxsw: reg: Add Switch FID Management register definition Filtering identifiers (FIDs) are unique identifers of bridge instances in the hardware. Add the SFMR register, which is responsible for the creation and configuration of these FIDs. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e059436999d797bbdb36ec41b6f6890a569cbf94 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:31 2015 +0200 mlxsw: reg: Add shared buffer configuration registers definitions Add definitions of SBPR, SBCM, SBPM, SBMM and PBMC registers that are used to configure shared buffers. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2e345f9a454f6e435f1a61b02f0e4f0125b94e3 Author: Elad Raz <eladr@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:30 2015 +0200 mlxsw: reg: Add Switch Port VID and Switch Port VLAN Membership registers definitions Add SPVID and SPVM registers responsible for default port VID configuration and VLAN membership of a port. Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5d88f589297a9b5fb110bf01d621d8c09fb7512 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:29 2015 +0200 mlxsw: reg: Add Switch FDB Notification register definition Add SFN register which is used to poll for newly added and aged-out FDB entries. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 236033b33c09ea9e34ce320d5cf9ef527077d7d5 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:28 2015 +0200 mlxsw: reg: Add Switch Filtering Database register definition Add the SFD register which is responsible for filtering database manipulation, including static and dynamic FDB entries. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d64b1592535e390cdc0605a5b8d4b6665be47003 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:27 2015 +0200 mlxsw: item: Add MLXSW_ITEM_BUF_INDEXED helper Add missing item helper which allows to access char bufs on multiple offsets. This is needed by SFD and SFN register definitions. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b0989b5bcac950c05d72dee5f6dcad38d355b3f Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:26 2015 +0200 mlxsw: item: Make src arg of memcpy_to helper const Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12fd35ab8af9fe32fce6b36881461d6f62408f70 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:25 2015 +0200 mlxsw: cmd: Introduce FID-offset flooding tables Packets destined to offloaded netdevs will be classified to FIDs in the device and flooded in case of BUM. The flooding table used is of type FID-offset, which allows one to create different flooding domains for different FIDs and specify the offset in the flooding table for each FID (not necessarily equal to FID or VID). Add support for this flooding table type, by exposing the configuration of the number of tables from this type and their size. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 453b6a8dd8338d692770bda89a52bc71c8fea2b8 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:24 2015 +0200 mlxsw: cmd: Introduce per-FID flooding tables In the newly introduced Spectrum switch ASIC, packets destined to not offloaded netdevs will be classified to special FIDs (vFIDs) in the device and flooded to the CPU port. The flooding table used is of type per-FID, which allows one to create different flooding domains for different vFIDs. While using a simple single-entry flood table is certainly sufficient at this point, we do plan to offload 802.1D bridges involving VLAN interfaces, thus making this change necessary. Add support for this flooding table type, by exposing the configuration of the number of tables from this type and their size. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc2055f878acb1fbbb3f3e7cb851f2e318def010 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:23 2015 +0200 mlxsw: Enable configuration of flooding domains As part of the introduction of L2 offloads, allow different ports to join/leave the flooding domain, according to user configuration. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 573c7ba006edbecff0714db651dd3602b9d0a6a0 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:22 2015 +0200 net: introduce pre-change upper device notifier This newly introduced netdevice notifier is called before actual change upper happens. That provides a possibility for notifier handlers to know upper change will happen and react to it, including possibility to forbid the change. That is valuable for drivers which can check if the upper device linkage is supported and forbid that in case it is not. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb3ba9558af081c15df2677e17d31861ee689f7b Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Oct 16 15:37:08 2015 +0800 pinctrl: berlin: add the berlin4ct pinctrl driver Add the pin-controller driver for Marvell Berlin BG4CT SoC, with definition of its groups and functions. This uses the core Berlin pinctrl driver. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2df26ef7da6f1960622f37c2a7c57d238603f0d6 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Oct 16 15:37:07 2015 +0800 pinctrl: berlin: Make berlin pinctrl driver visible if COMPILE_TEST=y It is good to allow berlin pinctrl driver to build with COMPILE_TEST, so make the it menu visible when compile-testing. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d5c79fcb193ff825e5d5759cdbbb4a16385fb08f Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Oct 16 15:37:06 2015 +0800 pinctrl: berlin: introduce berlin_pinctrl_probe_regmap() This is to prepare for the next berlin4ct support, where we won't use simple-mfd any more. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 77f3228f771506bac4b1308571a62c769552f8f8 Author: Mark Salyzyn <salyzyn@xxxxxxxxxxx> Date: Tue Oct 13 14:30:51 2015 -0700 arm64: AArch32 user space PC alignment exception ARMv7 does not have a PC alignment exception. ARMv8 AArch32 user space however can produce a PC alignment exception. Add handler so that we do not dump an unexpected stack trace in the logs. Signed-off-by: Mark Salyzyn <salyzyn@xxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4e270f088011c6954034d6c4b5453e5cd7e02c7a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 09:36:24 2015 +0200 drm/gem: Drop struct_mutex requirement from drm_gem_mmap_obj Since 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 there is no need for this any more. v2: Fixup compile noise spotted by 0-day build. Link: http://mid.gmane.org/1444894601-5200-9-git-send-email-daniel.vetter@xxxxxxxx Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 70d994704e2c93a3d6be1de0c9f103fc7c186022 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:51 2015 +0200 drm/i810_drm.h: include drm/drm.h Fixes userspace compilation error: error: array type has incomplete element type struct drm_clip_rect boxes[I810_NR_SAREA_CLIPRECTS]; Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0aa4a4b8200c9e47021e8bd2d54b3d20ca407640 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:46 2015 +0200 r128_drm.h: include drm/drm.h Fixes compile error: drm/r128_drm.h:156:23: error: array type has incomplete element type struct drm_clip_rect boxes[R128_NR_SAREA_CLIPRECTS]; Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 22375f3e79b5b9e1dcbac998fd8473484d391d93 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:49 2015 +0200 savage_drm.h: include <drm/drm.h> Fixes compiler error: drm/savage_drm.h:50:24: error: array type has incomplete element type struct drm_tex_region texList[SAVAGE_NR_TEX_HEAPS][SAVAGE_NR_TEX_REGIONS + Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f71a6d6095782186c10c720d9ed813b68275d30d Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Mon Oct 12 09:10:33 2015 +0200 gpu/doc: Convert to markdown harder This snippet... * Lock VMA manager for extended lookups. Only *_locked() VMA function calls * are allowed while holding this lock. All other contexts are blocked from VMA * until the lock is released via drm_vma_offset_unlock_lookup(). ...causes markdown-enabled kernel-doc to barf: debian/build/build-doc/Documentation/DocBook/gpu.aux.xml:3247: parser error : Opening and ending tag mismatch: emphasis line 3247 and function *<function><emphasis>locked</function> VMA function calls are allowed while ^ /root/airlied/debian/build/build-doc/Documentation/DocBook/gpu.aux.xml:3249: parser error : Opening and ending tag mismatch: function line 3249 and emphasis released via <function>drm</emphasis>vma_offset_unlock_lookup</function>. ^ unable to parse /root/airlied/debian/build/build-doc/Documentation/DocBook/gpu.aux.xml A quick workaround is to replace *_locked() by X_locked(). Cc: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> [danvet: Just drop the X_ too, the usual style is _unlocked, except that _ seems to be what annoys markdown.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6648f4879a12cd428c8584e03b41576521b7198f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Oct 11 11:55:00 2015 +0200 gpu/doc: Add vga_switcheroo documentation Requires Markdown support. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f81707429fe52b2842f0bfb6dac62329ea1d96f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Oct 11 11:26:26 2015 +0200 gpu/doc: Fix up remaining occurrences of old document title Following Daniel's renaming of the document. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a4579b41ccd1e786cadb720b55e06ca6c9d2594 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Oct 7 09:55:28 2015 +0200 drm/doc: Rename docbook to gpu.tmpl DRM is a lot more than a direct rendering manager nowadays, and there's also a bunch of things worth documenting for gpu driver developers outside of drivers/gpu/drm, like vgaarb, vga_switcheroo or the various hardware buses like host1x and ipu-v3. To avoid further confusion let's rename the top-level to reflect reality. And yes I'm already looking forward to when we need to replace the G in GPU with a * ;-) Inspired by a thread with Lukas since he refused to include the vga_switcheroo docs into the drm docs because it's not drm. Cc: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> [Lukas: Drop BUG() easter egg in i915_gem_execbuffer.c spotted by Jani and fix typos in commit message.] Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 02d0a493f3627df8c008417ba11e5f93f049f14c Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Oct 13 10:13:28 2015 -0400 drm: misc cleanup Drop unused drm_atomic and fix comment for drm_debug. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fa3e967fffaf267ccab7959429722da34e45ad77 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Fri Aug 28 12:54:07 2015 +0200 vga_switcheroo: Use enum vga_switcheroo_client_id instead of int Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21c5ba8c1ee02f204e556c26703cebaf9c4019e0 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Fri Aug 28 13:30:32 2015 +0200 vga_switcheroo: Use VGA_SWITCHEROO_UNKNOWN_ID instead of -1 Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 203d027de4d7068c607b60d4310a1599dec8839f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Fri Aug 28 11:56:26 2015 +0200 vga_switcheroo: Use enum vga_switcheroo_state instead of int Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 235fabe09b46469adad2c9e4cb0563758155187c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Oct 9 22:57:37 2015 +0300 drm: Add DRM_DEBUG_VBL() Add a new debug class for _verbose_ debug message from the vblank code. That is message we spew out potentially for every vblank interrupt. Thierry already got annoyed at the spew, and now I managed to lock up my box with these debug prints (seems serial console + a few debug prints every vblank aren't a good combination). Or should I maybe call it DRM_DEBUG_IRQ? Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44844892cb94c4a6a550c0e7bfa9c667f213ee21 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Oct 9 22:57:36 2015 +0300 drm: Don't use '\' for string literal concatenation String literals get concatenated just fine on their own, no need to use '\'. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8c47144bf2964c8599ccce350ef71b62c2cbe28 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:30 2015 +0200 drm/<drivers>: Drop DRM_UNLOCKED from modeset drivers Just one special case (since i915 lost its ums code, yay): - radeon: Has slots for the old ums ioctls which don't have DRM_UNLOCKED, but all filled with drm_invalid_op. So ok to drop it everywhere. Every other kms driver just has DRM_UNLOCKED for all their ioctls, as they should. v2: admgpu happened, include that one too. And i915 lost its UMS support which means we can change all the i915 ioctls too. v3: Rebased on top of new vmwgfx DX interface extensions. v4: Rebase on top of render-node support in exynos. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea487835e8876abf7ad909636e308c801a2bcda6 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 28 21:42:40 2015 +0200 drm: Enforce unlocked ioctl operation for kms driver ioctls With the prep patches for i915 all kms drivers either have DRM_UNLOCKED on all their ioctls. Or the ioctl always directly returns with an invariant return value when in modeset mode. But that's only the case for i915 and radeon. The drm core ioctls are unfortunately too much a mess still to dare this. Follow-up patches will remove DRM_UNLOCKED from all kms drivers to prove that this is indeed the case. Also update the documentation. v2: Really only do this for driver ioctls, spotted by David Herrmann. And drop spurious whitespace change. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c806a6e76795b72b09e2bf967d23b4ed791d0a2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:25 2015 +0200 drm/i915: Mark getparam ioctl as DRM_UNLOCKED With kms all the data getparam looks at is actually invariant, and certainly not protected by the global kms mutex. With ums all the setup code is already racy as hell, so this won't make things any worse. I've done this change so that all ioctl still used by kms drivers are marked as DRM_UNLOCKED, besides that we obviously don't need it any more in kms mode. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 125ecf4b5994f17cb581af399933d0bd0b153080 Merge: 51161aa d1d3951 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 16 06:41:10 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-10-16 This series contains updates to e1000, e1000e, igb, igbvf, ixgbe, ixgbevf, i40e, i40evf and fm10k. Alex Duyck fixes the polling routine for i40e/i40evf were the NAPI budget for receive cleanup was being rounded up to 1 but the netpoll call was expecting no Rx to be processed as the budget passed was 0. Also cleaned up IN_NETPOLL flag that was not adding any value due to the receive cleanup was handled in NAPI. Added support for netpoll for i40evf as well. Jesse updates all of our drivers to use napi_complete_done() instead of napi_complete(), which allows us to use /sys/class/net/ethX/gro_flush_timeout. Added ethtool support to control and report the new Interrupt Limit register, since the XL710 hardware has a different interrupt moderation design that can support a limit of total interrupts per second per vector. Shannon cleans up startup log entries to cut down the number by putting a couple behind debug flags and combining others into single line. Added support to enable/disable printing VEB statistics via ethtool. Jingjing fixes a compile issue by adding const to functions that return strings that are not going to be modified. Greg Rose cleans up defines that were not used and were causing customer confusion. Greg Bowers adds support for setting a new bit in the Set Local LLDP MIB admin queue command Type field. Mitch fixes an issue where vlan_features field was set to the same value as netdev features field, but before the features were actually being set up, leaving the vlan_features empty. Resolve the issue by setting up the netdev features first, then mask out the VLAN feature bits when assigning vlan_features. Fixed VF init timing, where in some instances the VFs would fail to initialize the first time you loaded the driver. To correct this, increased the delay time for the init task and wait longer before giving up. v2: fix missing space in function header comment in patch 3, based on feedback from Sergei Shtylyov. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0cdbec626e2e936a7db43d6a697e70673d4478bf Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Date: Tue Oct 13 20:11:42 2015 +0000 ARM: socfpga: dts: sort nodes alphabetically The sorting policy for this file is alphabetically. Reorder all nodes, that are out of place. Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 7db743c6d8bb7a08396a0ea3084fb9f8ebccc577 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Oct 16 14:34:50 2015 +0100 arm64: Minor coding style fixes for kc_offset_to_vaddr and kc_vaddr_to_offset These were introduced by commit 03875ad52fdd (arm64: add kc_offset_to_vaddr and kc_vaddr_to_offset macro). Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit e99a187b5c5f60fe55ca586f82ac1a3557fb166a Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Fri Oct 16 08:18:24 2015 -0500 PCI: iproc: Add outbound mapping support Certain SoCs require the PCIe outbound mapping to be configured in software. Add support for those chips. [jonmason: Use %pap format when printing size_t to avoid warnings in 32-bit build.] [arnd: Use div64_u64() instead of "%" to avoid __aeabi_uldivmod link error in 32-bit build.] Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 400143e45d39fcedb5106c3aa212746a80a61f7c Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:06 2015 +0530 ath10k: remove htc polling for tx completion Since polling for tx completion is handled whenever target to host messages are received, removing the unnecessary polling mechanism for send completion at HTC level. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0da64f19f01a6dabc4a55c1ee9cef430fcb47f4a Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:05 2015 +0530 ath10k: remove unused dl_is_polled Since polling for received messages not supported, remove unused dl_is_polled. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a70587b3389ae4a97f2b51153cc86b4c1769dcf5 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:04 2015 +0530 ath10k: configure copy engine 5 for HTT messages Currently target to host (T2H) HTT messages are received at copy engine 1. These messages are processed by HTC layer in both host and target. To avoid HTC level processing overhead in both host and target, the unused copy engine 5 is being used for receiving HTT T2H messages. This will speedup the receive data processing as well as htt tx completion. Hence host and target copy engine configuration tables are updated to enable CE5 pipe. The in-direction HTT mapping is now pointing to CE5 for all HTT T2H. Moreover HTT send completion messages are polled from HTC handler as CE 4 is not interrupt-driven. For faster tx completion, CE4 polling needs to be done whenever CE pipe which transports HTT Rx (target->host) is processed. This avoids overhead of polling HTT messages from HTC layer. Servicing CE 4 faster is helping to solve "failed to transmit packet, dropping: -105". Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3f0f7ed420594cc6b7eb8b43294a8ac6815a4be5 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:03 2015 +0530 ath10k: export htt tx rx handlers Some special copy engines delivers messages directly to HTT by bypassing HTC layer. Hence exporting tx_completion and rx_handler for delivering the data to HTT layer. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9d9bdbb0c4099fea202ceee14000704c63338cce Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:02 2015 +0530 ath10k: register per copy engine receive callbacks Register receive callbacks for every copy engines (CE) separately instead of having common receive handler. Some of the copy engines receives different type of messages (i.e HTT/HTC/pktlog) from target. Hence to service them accordingly, register per copy engine receive callbacks. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0e5b2950912e2925b8fe1666c5aa14199c809810 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:01 2015 +0530 ath10k: register per copy engine send completion callbacks Register send completion callbacks for every copy engines (CE) separately instead of having common completion handler. Since some of the copy engines delivers different type of messages, per-CE callbacks help to service them differently. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit aed1dc8231a035af3e7ef3f7ce1bd4ed2a13db31 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:00 2015 +0530 ath10k: export htc tx rx handlers Export HTC layer tx and rx handlers. This will be used by HIF layer for per-CE data processing. Instead of callback mechanism, HIF will call appropriate upper layers API directly. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 90bbaf66ee7b946952f1e82a0069639dea5fd893 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Fri Oct 16 17:57:46 2015 +0800 ALSA: timer: add config item to export PCM timer disabling for expert PCM timer is not always used. For embedded device, we need an interface to disable it when it is not needed, to shrink the kernel size and memory footprint, here add CONFIG_SND_PCM_TIMER for it. When both CONFIG_SND_PCM_TIMER and CONFIG_SND_TIMER is unselected, about 25KB saving bonus we can get. Please be noted that when disabled, those stubs who using pcm timer (e.g. dmix, dsnoop & co) may work incorrectlly. Suggested-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dab9981756dbc3c50c194811f176f0d658c171af Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Fri Oct 16 13:38:33 2015 +0200 ALSA: USB-audio: Add support for Novation Nocturn MIDIcontrol surface The Nocturn needs the MIDI_RAW_BYTES quirk, like other Novation devices. Tested that the Nocturn shows up in aconnect, and that it can be used as a control surface (using the xtor synthesizer patch editor). Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3b93baf56dafa2d27e4fc227990dcd3ffeb10510 Merge: a71225e 54fa97e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Oct 16 14:22:15 2015 +0200 Merge tag 'msi-map-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core Support for msi-map, and msi-parent update from Marc Zyngier: - New map-map property to describe the remapping of requester-ids, and the routing of MSIs to controllers - New hooks to make MSI domains per-device if required - Extension of msi-parent to provide sideband information - Extensive documentation for both msi-map and msi-parent commit 0f4998cbb25855afb47f500e96483d8c38ba1524 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Thu Oct 15 11:11:07 2015 +0200 twl4030_charger: add missing iio dependency This driver fails to link without CONFIG_IIO, since there are no stubs for the iio_channels functions. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Marek Belisko <marek@xxxxxxxxxxxxx> Acked-by: Nikolaus Schaller <hns@xxxxxxxxxxxxx> commit ccd63ce471c9b69663783e919ca4dba9967cd690 Author: Marc Gonzalez <marc_gonzalez@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 16:59:18 2015 +0200 clocksource/drivers/tango_xtal: Add new timer for Tango SoCs Sigma Designs Tango platforms provide a 27 MHz crystal oscillator. Use it for clocksource, sched_clock, and delay_timer. Signed-off-by: Marc Gonzalez <marc_gonzalez@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 54fa97eeb9e22b47d68b67ee00987afa7fbc2178 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Oct 2 14:43:06 2015 +0100 PCI/MSI: Allow the MSI domain to be device-specific So far, we've always considered that for a given PCI device, its MSI controller was either set by the architecture-specific pcibios hook, or simply inherited from the host bridge. This doesn't cover things like firmware-defined topologies like msi-map (DT) or IORT (ACPI), which can provide information about which MSI controller to use on a per-device basis. This patch adds the necessary hook into the MSI code to allow this feature, and provides the msi-map functionnality as a first implementation. Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 098259eb16675a83e1d6ea31e06dc3ec152810a2 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Oct 2 10:19:32 2015 +0100 PCI: Add per-device MSI domain hook So far, we have considered that the MSI domain for a device was either set via the architecture-dependent pcibios implementation or inherited from the host bridge. As we're about to break that assumption, add pci_dev_msi_domain which is the equivalent of pci_host_bridge_msi_domain, but for a single device. Other than moving things around a bit, this patch on its own has no effect. Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 82b9b4243c6d99d9e38087fa89183aa7479185e9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Oct 2 14:38:55 2015 +0100 of/irq: Use the msi-map property to provide device-specific MSI domain While msi-parent is used to point to the MSI controller that works for all the devices behind a root complex, it doesn't allow configurations where each individual device can be routed to a separate MSI controller. The msi-map property provides this flexibility (and much more), so let's add a utility function that parses it, and return the corresponding MSI domain. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit a251b263346e38b9fafebeb49ada9ce894882616 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Oct 1 17:05:45 2015 +0100 of/irq: Split of_msi_map_rid to reuse msi-map lookup The msi-map property is also used to identify the MSI controller as a form of grown-up msi-parent property. Looking it up is complicated enough, and since of_msi_map_rid already implements this, let's turn it into an internal utility function. We'll put that to good use later on. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit deac7fc1c87f24099d7e15d8b662446497f57465 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 18 14:07:40 2015 +0100 irqchip/gic-v3-its: Parse new version of msi-parent property Now that 126b16e2ad98 ("Docs: dt: add generic MSI bindings") has made it into the tree, the time has come to get rid of the old hack, and to parse msi-parent in its full glory. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit c8d175883e0db09ce94b8b47bb2432b787149a6b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 18 14:07:40 2015 +0100 PCI/MSI: Use of_msi_get_domain instead of open-coded "msi-parent" parsing Now that we have a function that implements the complexity of the "msi-parent" property parsing, switch to that. Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 61c08240a103000b75dcf7ef2cf03d552aa91fa3 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 18 14:07:40 2015 +0100 of/irq: Use of_msi_get_domain instead of open-coded "msi-parent" parsing Now that we have a function that implements the complexity of the "msi-parent" property parsing, switch to that. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 48ae34fb39b0c0cfc76275e844fba5b0b04fa49e Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 18 14:07:40 2015 +0100 of/irq: Add support code for multi-parent version of "msi-parent" Since 126b16e2ad98 ("Docs: dt: add generic MSI bindings"), the definition of "msi-parent" has evolved, while maintaining some degree of compatibility. It can now express multiple MSI controllers as parents, as well as some sideband data being communicated to the controller. This patch adds the parsing of the property, iterating over the multiple parents until a suitable irqdomain is found. It can also fallback to the original parsing if the old binding is detected. This support code gets used in the subsequent patches. Suggested-by: Robin Murphy <robin.murphy@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit ccf91e68a4357e7b65a3f1f13f8af2b767213575 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 15:10:50 2015 -0700 irqchip/gic-v3-its: Add handling of PCI requester id. Replace open coded generation PCI/MSI requester id with call to the new function pci_msi_domain_get_msi_rid() which applies the "msi-map" to the id value. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit b6eec9b717d4dcb39ef024b8a3b619a32468b01e Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 15:10:49 2015 -0700 PCI/MSI: Add helper function pci_msi_domain_get_msi_rid(). Add pci_msi_domain_get_msi_rid() to return the MSI requester id (RID). Initially needed by gic-v3 based systems. It will be used by follow on patch to drivers/irqchip/irq-gic-v3-its-pci-msi.c Initially supports mapping the RID via OF device tree. In the future, this could be extended to use ACPI _IORT tables as well. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit d1d39516e41d7ad107e807ebeee1519c412bb0e3 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Sep 28 14:12:44 2015 -0400 i40e/i40evf: Bump i40e to 1.3.34 and i40evf to 1.3.21 Bump. Change-ID: I7ec818a507554648675b9b245ced9e6b6bd9ed4e 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 628f096d8d244f54c3595a478b6e672cdb6c04ed Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Sep 28 14:12:43 2015 -0400 i40e: increase AQ work limit With 64 VFs, we can easily overwhelm the AQ on the PF if we have too low a limit on the number of AQ requests. This leads to ARQ overflow errors, and occasionally VFs that fail to initialize. Since we really only hit this condition on initial VF driver load, the requests that we process are lightweight, so this extra work doesn't cause problems for the PF driver. Change-ID: I620221520d8af987df6ace9ba938ffaf22107681 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 3f7e5c330e19da2ac822ea1d02b744a24497e61b Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Sep 28 14:12:42 2015 -0400 i40evf: relax and stagger init timing a bit On some devices, in some systems, in some configurations, the VFs would fail to initialize the first time you loaded the driver. To correct this, increase the delay time for the init task slightly, and wait longer before giving up. If we enable VFs and load the VF driver in the same kernel as the PF driver, we can totally overwhelm the PF driver with AQ requests because all of the instances try to initialize at the same time. To help alleviate this, stagger the initial scheduling of the init task using the PCIe function as a multiplier. We mask off the function to only three bits so no instance has to wait too long. With these two changes, initializing 128 VFs on a single device goes from four minutes to just a few seconds. Change-ID: If3d8720c1c4e838ab36d8781d9ec295a62380936 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 48becae60f7e461b4b204e6608dc6beebe6c8aff Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Sep 28 14:12:41 2015 -0400 i40e: Recognize 1000Base_T_Optical phy type when link is up 1000Base_T_Optical got added to the function that figures out what is supported when link is down but not when link is up. Add it in there too so that we display the correct information. Change-ID: I85ebcdfa7c02d898c44c673b1500552a53c8042e 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 cc7e406cb967ccc84cd2141398bba24b07d68788 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Sep 28 14:12:40 2015 -0400 i40evf: correctly populate vlan_features The vlan_features field was correctly being set to the same value as the netdev features field. However, this was being done before the features were actually being set up, leaving the vlan_features empty. Also, after a reset, vlan_features will be incorrectly assigned the previous netdev feature flags, which can contain VLAN feature bits. This makes the VLAN code angry and will cause a stack dump. To fix these issues, set up the netdev features first, then mask out the VLAN feature bits when assigning vlan_features. Change-ID: Ib0548869dc83cf6a841cb8697dd94c12359ba4d2 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 5d38c93e7111a68fc7b9f771bf420d9e026a21de Author: Jingjing Wu <jingjing.wu@xxxxxxxxx> Date: Mon Sep 28 14:12:39 2015 -0400 i40e: reset the invalid msg counter in vf when a valid msg is received When the number of invalid messages from a VF is exceeded, the VF will be disabled, due to the invalid messages. This happens if other VF drivers (like DPDK) send a message through the driver's mailbox (aka virtchannel) interface, but the message is not supported by the i40e pf driver, such as CONFIG_PROMISCUOUS_MODE. This patch changes the num_invalid_msgs in struct i40e_vf to record the continuous invalid msgs, and it will be reset when a valid msg is received. Change-ID: Iaec42fd3dcdd281476b3518be23261dd46fc3718 Signed-off-by: Jingjing Wu <jingjing.wu@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 ac26fc136c24edee53f1719e490d896fb07cd79b Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Sep 28 14:12:37 2015 -0400 i40e/i40evf: moderate interrupts differently The XL710 hardware has a different interrupt moderation design that can support a limit of total interrupts per second per vector, in addition to the "number of interrupts per second" controls already established in the driver. This combination of hardware features allows us to set very low default latency settings but minimize the total CPU utilization by not making too many interrupts, should the user desire. The current driver implementation is still enabling the dynamic moderation in the driver, and only using the rx/tx-usecs limit in ethtool to limit the interrupt rate per second, by default. The new code implemented in this patch 2) adds init/use of the new "Interrupt Limit" register 3) adds ethtool knob to control/report the limits above Usage is ethtool -C ethx rx-usecs-high <value> Where <value> is number of microseconds to create a rate of 1/N interrupts per second, regardless of rx-usecs or tx-usecs values. Since there is a credit based scheme in the hardware, the rx-usecs and tx-usecs can be configured for very low latency for short bursts, but once the credit runs out the refill rate on the credits is limited by rx-usecs-high. Change-ID: I3a1075d3296123b0f4f50623c779b027af5b188d 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 947570e800e2ae3cbf827918a999aa88ee1600b0 Author: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Date: Mon Sep 28 14:12:35 2015 -0400 i40e: Add support for non-willing Apps Adds support for setting a new bit in the Set Local LLDP MIB AQ command Type field. When set to 1, the bit indicates to FW that Apps should be treated as non-willing. When 0, FW behaves as before. Change-ID: I0d2101c1606c59c7188d3e6a0c7810e0f205233a Signed-off-by: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1cdfd88f2de89cbfffb5813dc92b7e711920c731 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Sep 28 14:12:34 2015 -0400 i40e: priv flag for controlling VEB stats Add an ethtool priv flag to enable and disable printing the VEB statistics. Change-ID: I7654054a3a73b08aa8310d94ee8fce6219107dd8 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 d9d17cf74aed93add76c9cf648ce2f73b68ce410 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Mon Sep 28 14:12:33 2015 -0400 i40e: Removed unused defines Two defines that are not used are causing customer confusion - remove them. Change-ID: Icef0325aca8e0f4fcdfc519e026bdd375e791200 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 3c5c420535ab7e25a639db16f7b2b16a70e147ec Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Sep 28 14:12:32 2015 -0400 i40e: remove read/write failed messages from nvmupdate Allow the nvmupdate application to decide when a read or write error should be exposed to the user. Since the application needs to use write probes to find the ReadOnly sections on a potentially unknown NVM version in the HW and read probes to check the status of the last write, some error messages are expected, but need not be shown to the users. The driver doesn't know which are ignorable from real errors, so needs to let the application make the decision. Change-ID: I78fca8ab672bede11c10c820b83c26adfd536d03 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 4e68adfeb91d684e5c7a0c6305af872120c71f23 Author: Jingjing Wu <jingjing.wu@xxxxxxxxx> Date: Mon Sep 28 14:12:31 2015 -0400 i40e/i40evf: Fix compile issue related to const string Add const to functions that return strings that aren't going to be modified. This addresses some reported compile complaints. Change-ID: Ic56b1e814ab4d23a50480e7fdec652445f776ee8 Signed-off-by: Jingjing Wu <jingjing.wu@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6dec101765e442fc7f46205acdb2cf3b88879f16 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Sep 28 14:12:30 2015 -0400 i40e: generate fewer startup messages Cut down on the number of startup log entries by putting a couple behind debug flags and combining a couple others into a single line. Change-ID: I708089f086308f84d43f8b6f0e8a634a02d058fb 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 32b3e08fff60494cd1d281a39b51583edfd2b18f Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Sep 24 16:35:47 2015 -0700 drivers/net/intel: use napi_complete_done() As per Eric Dumazet's previous patches: (see commit (24d2e4a50737) - tg3: use napi_complete_done()) Quoting verbatim: Using napi_complete_done() instead of napi_complete() allows us to use /sys/class/net/ethX/gro_flush_timeout GRO layer can aggregate more packets if the flush is delayed a bit, without having to set too big coalescing parameters that impact latencies. </end quote> Tested configuration: low latency via ethtool -C ethx adaptive-rx off rx-usecs 10 adaptive-tx off tx-usecs 15 workload: streaming rx using netperf TCP_MAERTS igb: MIGRATED TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.0.0.1 () port 0 AF_INET : demo ... Interim result: 941.48 10^6bits/s over 1.000 seconds ending at 1440193171.589 Alignment Offset Bytes Bytes Recvs Bytes Sends Local Remote Local Remote Xfered Per Per Recv Send Recv Send Recv (avg) Send (avg) 8 8 0 0 1176930056 1475.36 797726 16384.00 71905 MIGRATED TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.0.0.1 () port 0 AF_INET : demo ... Interim result: 941.49 10^6bits/s over 0.997 seconds ending at 1440193142.763 Alignment Offset Bytes Bytes Recvs Bytes Sends Local Remote Local Remote Xfered Per Per Recv Send Recv Send Recv (avg) Send (avg) 8 8 0 0 1175182320 50476.00 23282 16384.00 71816 i40e: Hard to test because the traffic is incoming so fast (24Gb/s) that GRO always receives 87kB, even at the highest interrupt rate. Other drivers were only compile tested. 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 7709b4c1fff39972b6a1b6183b593c43f1a555fb Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Sep 24 09:04:38 2015 -0700 i40evf: Add support for netpoll Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8b6503590510fd7a8b303feeaf8a45a192e2b8df Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Sep 24 09:04:32 2015 -0700 i40e/i40evf: Drop useless "IN_NETPOLL" flag The code in i40e and i40evf is using an "IN_NETPOLL" flag that has never added any value due to the fact that the Rx clean-up is handled in NAPI. As such the flag was set, the queue was scheduled via NAPI, and then polled from the netpoll controller and if any Rx packets were processed the were processed in the wrong context. In addition the flag itself just added an unneeded conditional to the hot-path so it can safely be dropped and save us a few instructions. Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c67caceb864cf15731532ab25162166c228fa270 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Sep 24 09:04:26 2015 -0700 i40e/i40evf: Fix handling of napi budget The polling routine for i40e was rounding up the budget for Rx cleanup to 1. This is incorrect as the netpoll poll call is expecting no Rx to be processed as the budget passed was 0. Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8db02d8b4089fa8098a170738e8ae7939aa8ae7a Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 15:10:48 2015 -0700 of/irq: Add new function of_msi_map_rid() The device tree property "msi-map" specifies how to create the PCI requester id used in some MSI controllers. Add a new function of_msi_map_rid() that finds the msi-map property and applies its translation to a given requester id. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit b531566e4dced7566dfa2e4925ec8b6a8cb7806b Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Thu Oct 8 15:10:47 2015 -0700 Docs: dt: Add PCI MSI map bindings Currently msi-parent is used by a few bindings to describe the relationship between a PCI root complex and a single MSI controller, but this property does not have a generic binding document. Additionally, msi-parent is insufficient to describe more complex relationships between MSI controllers and devices under a root complex, where devices may be able to target multiple MSI controllers, or where MSI controllers use (non-probeable) sideband information to distinguish devices. This patch adds a generic binding for mapping PCI devices to MSI controllers. This document covers msi-parent, and a new msi-map property (specific to PCI*) which may be used to map devices (identified by their Requester ID) to sideband data for each MSI controller that they may target. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 4008cb3ad223e39273b9cdfa578d04861b197c86 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 14:24:45 2015 +0200 asm-generic: temporarily add back asm-generic/io-64-nonatomic*.h New users of these files still start showing up in linux-next, so it's better to have a migration strategy. All existing users as of 4.3-rc4 are converted to use linux/io-64-nonatomic-*.h, and after 4.4-rc1 we can change all the new ones that have come in since, and then remove this file again. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Reported-by: LKP project <lkp@xxxxxxxxxxxxxxx> commit 1a800589052f03ce09008f82ad2c69f0af5d315a Merge: 8a53554 f5f3497 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Oct 16 12:03:22 2015 +0200 Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into x86/urgent Pull EFI fix from Matt Fleming: - Ensure that the identity mapping in initial_page_table is updated to cover the entire kernel range. This fixes a triple fault on non-PAE kernels when booting on 32-bit EFI due to accessing an unmapped GDT in efi_call_phys_prolog(). (Paolo Bonzini) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f5f3497cad8c8416a74b9aaceb127908755d020a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 14 13:30:45 2015 +0200 x86/setup: Extend low identity map to cover whole kernel range On 32-bit systems, the initial_page_table is reused by efi_call_phys_prolog as an identity map to call SetVirtualAddressMap. efi_call_phys_prolog takes care of converting the current CPU's GDT to a physical address too. For PAE kernels the identity mapping is achieved by aliasing the first PDPE for the kernel memory mapping into the first PDPE of initial_page_table. This makes the EFI stub's trick "just work". However, for non-PAE kernels there is no guarantee that the identity mapping in the initial_page_table extends as far as the GDT; in this case, accesses to the GDT will cause a page fault (which quickly becomes a triple fault). Fix this by copying the kernel mappings from swapper_pg_dir to initial_page_table twice, both at PAGE_OFFSET and at identity mapping. For some reason, this is only reproducible with QEMU's dynamic translation mode, and not for example with KVM. However, even under KVM one can clearly see that the page table is bogus: $ qemu-system-i386 -pflash OVMF.fd -M q35 vmlinuz0 -s -S -daemonize $ gdb (gdb) target remote localhost:1234 (gdb) hb *0x02858f6f Hardware assisted breakpoint 1 at 0x2858f6f (gdb) c Continuing. Breakpoint 1, 0x02858f6f in ?? () (gdb) monitor info registers ... GDT= 0724e000 000000ff IDT= fffbb000 000007ff CR0=0005003b CR2=ff896000 CR3=032b7000 CR4=00000690 ... The page directory is sane: (gdb) x/4wx 0x32b7000 0x32b7000: 0x03398063 0x03399063 0x0339a063 0x0339b063 (gdb) x/4wx 0x3398000 0x3398000: 0x00000163 0x00001163 0x00002163 0x00003163 (gdb) x/4wx 0x3399000 0x3399000: 0x00400003 0x00401003 0x00402003 0x00403003 but our particular page directory entry is empty: (gdb) x/1wx 0x32b7000 + (0x724e000 >> 22) * 4 0x32b7070: 0x00000000 [ It appears that you can skate past this issue if you don't receive any interrupts while the bogus GDT pointer is loaded, or if you avoid reloading the segment registers in general. Andy Lutomirski provides some additional insight: "AFAICT it's entirely permissible for the GDTR and/or LDT descriptor to point to unmapped memory. Any attempt to use them (segment loads, interrupts, IRET, etc) will try to access that memory as if the access came from CPL 0 and, if the access fails, will generate a valid page fault with CR2 pointing into the GDT or LDT." Up until commit 23a0d4e8fa6d ("efi: Disable interrupts around EFI calls, not in the epilog/prolog calls") interrupts were disabled around the prolog and epilog calls, and the functional GDT was re-installed before interrupts were re-enabled. Which explains why no one has hit this issue until now. ] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> [ Updated changelog. ] commit d24796a4a13a6c6a37b9e7145d36f983a27ad2e2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Sep 23 12:19:11 2015 +0200 virtio-gpu: add page flip support Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f3380a3015541f13c25c980011c046e7114dff3d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Jun 16 15:41:56 2015 +1000 virtio-gpu: mark as a render gpu Also add DRM_RENDER_ALLOW to the ioctls. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 11a8f2805d4fd8a9c340b3f1b77990fd69b2dc0c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jan 23 13:04:11 2015 +1000 virtio-gpu: add basic prime support This is enough to enable DRI3. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 62fb7a5e10962ac6ae2a2d2dbd3aedcb2a3e3257 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Oct 28 12:48:00 2014 +0100 virtio-gpu: add 3d/virgl support Add the bits needed for opengl rendering support: query capabilities, new virtio commands, drm ioctls. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7552ed8a1a810552e16664d7020d61d2b01b9199 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 13 16:55:48 2015 +1000 virtio-gpu: don't free things on ttm_bo_init failure ttm_bo_init will call the destroy callback which will do all this, this was causing a double free. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6d41533433e2eff26005ee39d103948fa65dd891 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Sep 15 08:20:46 2015 +0200 virtio-gpu: wait for cursor updates finish Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ec2f0577c7b1fccc7a5d7ee8002a4f162061498f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Aug 19 23:44:15 2015 +0200 virtio-gpu: add & use virtio_gpu_queue_fenced_ctrl_buffer Add helper function to handle the submission of fenced control requests. Make sure we initialize the fence while holding the virtqueue lock, so requests can't be reordered. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9c73f4782642c785569ad50e01324002d160bd09 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Aug 19 23:35:57 2015 +0200 virtio-gpu: add virtio_gpu_queue_ctrl_buffer_locked Add virtio_gpu_queue_ctrl_buffer_locked function, which does the same as virtio_gpu_queue_ctrl_buffer but does not take the virtqueue lock. The caller must hold the lock instead. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f33143d80907602deb1b96db42da93507ed03b31 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Oct 16 10:07:48 2015 +0300 kvm/irqchip: allow only multiple irqchip routes per GSI Any other irq routing types (MSI, S390_ADAPTER, upcoming Hyper-V SynIC) map one-to-one to GSI. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c9a5eccac1abf50649949f15754a7635f263a1ff Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Oct 16 10:07:47 2015 +0300 kvm/eventfd: add arch-specific set_irq Allow for arch-specific interrupt types to be set. For that, add kvm_arch_set_irq() which takes interrupt type-specific action if it recognizes the interrupt type given, and -EWOULDBLOCK otherwise. The default implementation always returns -EWOULDBLOCK. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ba1aefcd6db5536d3eb3ca3ce7bd6786960140ea Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Oct 16 10:07:46 2015 +0300 kvm/eventfd: factor out kvm_notify_acked_gsi() Factor out kvm_notify_acked_gsi() helper to iterate over EOI listeners and notify those matching the given gsi. It will be reused in the upcoming Hyper-V SynIC implementation. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 351dc6477cd35136ce4668401b1b1332a62908a8 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Oct 16 10:07:45 2015 +0300 kvm/eventfd: avoid loop inside irqfd_update() The loop(for) inside irqfd_update() is unnecessary because any other value for irq_entry.type will just trigger schedule_work(&irqfd->inject) in irqfd_wakeup. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7cae2bedcbd4680b155999655e49c27b9cf020fa Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Wed Oct 14 19:33:09 2015 -0300 KVM: x86: move steal time initialization to vcpu entry time As reported at https://bugs.launchpad.net/qemu/+bug/1494350, it is possible to have vcpu->arch.st.last_steal initialized from a thread other than vcpu thread, say the iothread, via KVM_SET_MSRS. Which can cause an overflow later (when subtracting from vcpu threads sched_info.run_delay). To avoid that, move steal time accumulation to vcpu entry time, before copying steal time data to guest. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5225fdf8c8bea4418f69875804584c89a27c170e Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Fri Oct 16 17:08:03 2015 +0900 KVM: x86: MMU: Eliminate an extra memory slot search in mapping_level() Calling kvm_vcpu_gfn_to_memslot() twice in mapping_level() should be avoided since getting a slot by binary search may not be negligible, especially for virtual machines with many memory slots. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d8aacf5df86a961923a2c9c547d341d64a9d9f5d Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Fri Oct 16 17:07:01 2015 +0900 KVM: x86: MMU: Remove mapping_level_dirty_bitmap() Now that it has only one caller, and its name is not so helpful for readers, remove it. The new memslot_valid_for_gpte() function makes it possible to share the common code between gfn_to_memslot_dirty_bitmap() and mapping_level(). Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fd136902187838bcae3a572f41cb703553dd63b8 Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Fri Oct 16 17:06:02 2015 +0900 KVM: x86: MMU: Move mapping_level_dirty_bitmap() call in mapping_level() This is necessary to eliminate an extra memory slot search later. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5ed5c5c8fdbab889837c9223fc6f4bdaa830879c Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Fri Oct 16 17:05:13 2015 +0900 KVM: x86: MMU: Simplify force_pt_level calculation code in FNAME(page_fault)() As a bonus, an extra memory slot search can be eliminated when is_self_change_mapping is true. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cd1872f028556dc0e8424e58413c0268c159383b Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Fri Oct 16 17:04:13 2015 +0900 KVM: x86: MMU: Make force_pt_level bool This will be passed to a function later. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6092d3d3e6db983048469d424a8f2221915a8dd3 Author: Joerg Roedel <joro@xxxxxxxxxx> Date: Wed Oct 14 15:10:54 2015 +0200 kvm: svm: Only propagate next_rip when guest supports it Currently we always write the next_rip of the shadow vmcb to the guests vmcb when we emulate a vmexit. This could confuse the guest when its cpuid indicated no support for the next_rip feature. Fix this by only propagating next_rip if the guest actually supports it. Cc: Bandan Das <bsd@xxxxxxxxxx> Cc: Dirk Mueller <dmueller@xxxxxxxx> Tested-By: Dirk Mueller <dmueller@xxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 951f9fd74f2d826fff1d84a8ec34b491517dc15d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Sep 23 10:34:26 2015 +0200 KVM: x86: manually unroll bad_mt_xwr loop The loop is computing one of two constants, it can be simpler to write everything inline. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 089d7b6ec5151ad06a2cd524bc0580d311b641ad Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Oct 13 09:18:37 2015 -0700 KVM: nVMX: expose VPID capability to L1 Expose VPID capability to L1. For nested guests, we don't do anything specific for single context invalidation. Hence, only advertise support for global context invalidation. The major benefit of nested VPID comes from having separate vpids when switching between L1 and L2, and also when L2's vCPUs not sched in/out on L1. Reviewed-by: Wincy Van <fanwenyi0529@xxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5c614b3583e7b6dab0c86356fa36c2bcbb8322a0 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Oct 13 09:18:36 2015 -0700 KVM: nVMX: nested VPID emulation VPID is used to tag address space and avoid a TLB flush. Currently L0 use the same VPID to run L1 and all its guests. KVM flushes VPID when switching between L1 and L2. This patch advertises VPID to the L1 hypervisor, then address space of L1 and L2 can be separately treated and avoid TLB flush when swithing between L1 and L2. For each nested vmentry, if vpid12 is changed, reuse shadow vpid w/ an invvpid. Performance: run lmbench on L2 w/ 3.5 kernel. Context switching - times in microseconds - smaller is better ------------------------------------------------------------------------- Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw --------- ------------- ------ ------ ------ ------ ------ ------- ------- kernel Linux 3.5.0-1 1.2200 1.3700 1.4500 4.7800 2.3300 5.60000 2.88000 nested VPID kernel Linux 3.5.0-1 1.2600 1.4300 1.5600 12.7 12.9 3.49000 7.46000 vanilla Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Wincy Van <fanwenyi0529@xxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 99b83ac893b84ed1a62ad6d1f2b6cc32026b9e85 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Oct 13 09:12:21 2015 -0700 KVM: nVMX: emulate the INVVPID instruction Add the INVVPID instruction emulation. Reviewed-by: Wincy Van <fanwenyi0529@xxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 51161aa98d0aa4eb20952e16d6c6dbb1d085330e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 16:44:00 2015 -0700 net: Fix suspicious RCU usage in fib_rebalance This command: ip route add 192.168.1.0/24 nexthop via 10.2.1.5 dev eth1 nexthop via 10.2.2.5 dev eth2 generated this suspicious RCU usage message: [ 63.249262] [ 63.249939] =============================== [ 63.251571] [ INFO: suspicious RCU usage. ] [ 63.253250] 4.3.0-rc3+ #298 Not tainted [ 63.254724] ------------------------------- [ 63.256401] ../include/linux/inetdevice.h:205 suspicious rcu_dereference_check() usage! [ 63.259450] [ 63.259450] other info that might help us debug this: [ 63.259450] [ 63.262297] [ 63.262297] rcu_scheduler_active = 1, debug_locks = 1 [ 63.264647] 1 lock held by ip/2870: [ 63.265896] #0: (rtnl_mutex){+.+.+.}, at: [<ffffffff813ebfb7>] rtnl_lock+0x12/0x14 [ 63.268858] [ 63.268858] stack backtrace: [ 63.270409] CPU: 4 PID: 2870 Comm: ip Not tainted 4.3.0-rc3+ #298 [ 63.272478] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014 [ 63.275745] 0000000000000001 ffff8800b8c9f8b8 ffffffff8125f73c ffff88013afcf301 [ 63.278185] ffff8800bab7a380 ffff8800b8c9f8e8 ffffffff8107bf30 ffff8800bb728000 [ 63.280634] ffff880139fe9a60 0000000000000000 ffff880139fe9a00 ffff8800b8c9f908 [ 63.283177] Call Trace: [ 63.283959] [<ffffffff8125f73c>] dump_stack+0x4c/0x68 [ 63.285593] [<ffffffff8107bf30>] lockdep_rcu_suspicious+0xfa/0x103 [ 63.287500] [<ffffffff8144d752>] __in_dev_get_rcu+0x48/0x4f [ 63.289169] [<ffffffff8144d797>] fib_rebalance+0x3e/0x127 [ 63.290753] [<ffffffff8144d986>] ? rcu_read_unlock+0x3e/0x5f [ 63.292442] [<ffffffff8144ea45>] fib_create_info+0xaf9/0xdcc [ 63.294093] [<ffffffff8106c12f>] ? sched_clock_local+0x12/0x75 [ 63.295791] [<ffffffff8145236a>] fib_table_insert+0x8c/0x451 [ 63.297493] [<ffffffff8144bf9c>] ? fib_get_table+0x36/0x43 [ 63.299109] [<ffffffff8144c3ca>] inet_rtm_newroute+0x43/0x51 [ 63.300709] [<ffffffff813ef684>] rtnetlink_rcv_msg+0x182/0x195 [ 63.302334] [<ffffffff8107d04c>] ? trace_hardirqs_on+0xd/0xf [ 63.303888] [<ffffffff813ebfb7>] ? rtnl_lock+0x12/0x14 [ 63.305346] [<ffffffff813ef502>] ? __rtnl_unlock+0x12/0x12 [ 63.306878] [<ffffffff81407c4c>] netlink_rcv_skb+0x3d/0x90 [ 63.308437] [<ffffffff813ec00e>] rtnetlink_rcv+0x21/0x28 [ 63.309916] [<ffffffff81407742>] netlink_unicast+0xfa/0x17f [ 63.311447] [<ffffffff81407a5e>] netlink_sendmsg+0x297/0x2dc [ 63.313029] [<ffffffff813c6cd4>] sock_sendmsg_nosec+0x12/0x1d [ 63.314597] [<ffffffff813c835b>] ___sys_sendmsg+0x196/0x21b [ 63.316125] [<ffffffff8100bf9f>] ? native_sched_clock+0x1f/0x3c [ 63.317671] [<ffffffff8106c12f>] ? sched_clock_local+0x12/0x75 [ 63.319185] [<ffffffff8106c397>] ? sched_clock_cpu+0x9d/0xb6 [ 63.320693] [<ffffffff8107e2d7>] ? __lock_is_held+0x32/0x54 [ 63.322145] [<ffffffff81159fcb>] ? __fget_light+0x4b/0x77 [ 63.323541] [<ffffffff813c8726>] __sys_sendmsg+0x3d/0x5b [ 63.324947] [<ffffffff813c8751>] SyS_sendmsg+0xd/0x19 [ 63.326274] [<ffffffff814c8f57>] entry_SYSCALL_64_fastpath+0x12/0x6f It looks like all of the code paths to fib_rebalance are under rtnl. Fixes: 0e884c78ee19 ("ipv4: L3 hash-based multipath") Cc: Peter Nørlund <pch@xxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac00737f4e8198f8ff5007c70af4dfe4fd47ea94 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:40:44 2015 -0700 bpf: Need to call bpf_prog_uncharge_memlock from bpf_prog_put Currently, is only called from __prog_put_rcu in the bpf_prog_release path. Need this to call this from bpf_prog_put also to get correct accounting. Fixes: aaac3ba95e4c8b49 ("bpf: charge user for creation of BPF maps and programs") Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a302afe980ca6b25b2bae0b5bc816fe1dc1bb039 Merge: 47ea032 ebb516a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 16 00:52:27 2015 -0700 Merge branch 'robust_listener' Eric Dumazet says: ==================== tcp/dccp: make our listener code more robust This patch series addresses request sockets leaks and listener dismantle phase. This survives a stress test with listeners being added/removed quite randomly. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebb516af60e18258aac8e80bbe068740ef1579ed Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 14 11:16:28 2015 -0700 tcp/dccp: fix race at listener dismantle phase Under stress, a close() on a listener can trigger the WARN_ON(sk->sk_ack_backlog) in inet_csk_listen_stop() We need to test if listener is still active before queueing a child in inet_csk_reqsk_queue_add() Create a common inet_child_forget() helper, and use it from inet_csk_reqsk_queue_add() and inet_csk_listen_stop() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f03f2e154f52fdaa982de7e2c386737679963dc9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 14 11:16:27 2015 -0700 tcp/dccp: add inet_csk_reqsk_queue_drop_and_put() helper Let's reduce the confusion about inet_csk_reqsk_queue_drop() : In many cases we also need to release reference on request socket, so add a helper to do this, reducing code size and complexity. Fixes: 4bdc3d66147b ("tcp/dccp: fix behavior of stale SYN_RECV request sockets") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef84d8ce5a36d0c4a6454e7e9dff54d19f96a25f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 14 11:16:26 2015 -0700 Revert "inet: fix double request socket freeing" This reverts commit c69736696cf3742b37d850289dc0d7ead177bb14. At the time of above commit, tcp_req_err() and dccp_req_err() were dead code, as SYN_RECV request sockets were not yet in ehash table. Real bug was fixed later in a different commit. We need to revert to not leak a refcount on request socket. inet_csk_reqsk_queue_drop_and_put() will be added in following commit to make clean inet_csk_reqsk_queue_drop() does not release the reference owned by caller. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0753902d42f5cb01c33f0dec47ba2aa7ecfbb3f Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 12:25:59 2015 +0200 s390/fpu: split fpu-internal.h into fpu internals, api, and type headers Split the API and FPU type definitions into separate header files similar to "x86/fpu: Rename fpu-internal.h to fpu/internal.h" (78f7f1e54b). The new header files and their meaning are: asm/fpu/types.h: FPU related data types, needed for 'struct thread_struct' and 'struct task_struct'. asm/fpu/api.h: FPU related 'public' functions for other subsystems and device drivers. asm/fpu/internal.h: FPU internal functions mainly used to convert FPU register contents in signal handling. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 47ea0325337b166c1c8695119aa6e83cdc035ef5 Author: Ivan Vecera <ivecera@xxxxxxxxxx> Date: Thu Oct 15 21:28:52 2015 +0200 drivers/net: get rid of unnecessary initializations in .get_drvinfo() Many drivers initialize uselessly n_priv_flags, n_stats, testinfo_len, eedump_len & regdump_len fields in their .get_drvinfo() ethtool op. It's not necessary as these fields is filled in ethtool_get_drvinfo(). v2: removed unused variable v3: removed another unused variable Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3ce5b3768b17120dca852513af211c4acd3d2b0 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Oct 15 14:35:01 2015 +0200 soc: rockchip: power-domain: don't try to print the clock name in error case When we never got the the clock-reference, i.e. when IS_ERR(clk) is true, don't try to print the clock name via %pC as this of course produces a null-pointer-dereference in __clk_get_name(). Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> commit a515de660747eb01f3ef80e75bfc51ac63cfc546 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 14:28:56 2015 +0200 cfg80211: reg: fix reg_ignore_cell_hint return type The return type should be enum reg_request_treatment for both branches of the #ifdef. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 81e925747e1c2ef2fa0316c2cd74410c65242a9e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 14:27:04 2015 +0200 cfg80211: reg: reduce chan_reg_rule_print_dbg() ifdef The function is void and static, so just ifdef its contents instead of duplicating the declaration. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9f5068029274a15bf0a92f77e126fe52c3551c19 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 13:35:45 2015 +0200 cfg80211: reg: fix antenna gain in chan_reg_rule_print_dbg() Printing "N/A mBi" is strange - print just "N/A" instead. Also add a missing opening parenthesis. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d34265a3eebe994b3b9a0e4cabbc2dbb8436388b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 13:05:55 2015 +0200 cfg80211: reg: centralize freeing ignored requests Instead of having a lot of places that free ignored requests and then return REG_REQ_OK, make reg_process_hint() process REG_REQ_IGNORE by freeing the request, and let functions it calls return that instead of freeing. This also fixes a leak when a second (different) country IE hint was ignored. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 480908a7ec5f2d37d5610b7d9bc48a38f2093876 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 12:58:58 2015 +0200 cfg80211: reg: clarify 'treatment' handling in reg_process_hint() This function can only deal with treatment values OK and ALREADY_SET so make the callees not return anything else and warn if they do. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit fd453d3c53eed367f18a0c75bd855cdfc9d6d416 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 10:22:12 2015 +0200 cfg80211: reg: rename reg_regdb_query() to reg_query_builtin() The new name better reflects the functionality. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b68630369167a7fd2c4c3d1be96430defc59fb9a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 09:25:18 2015 +0200 cfg80211: reg: make CRDA support optional If there's a built-in regulatory database, there may be little point in also calling out to CRDA and failing if the system is configured that way. Allow removing CRDA support to save ~1K kernel size. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ae23051820461bdc960b76d766e7c1e92dee2ee1 Merge: 175f8d6 c819930 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 15 23:55:33 2015 -0700 Merge branch 'tipc-link-improvements' Jon Maloy says: ==================== tipc: some link level code improvements Extensive testing has revealed some weaknesses and non-optimal solutions in the link level code. This commit series addresses those issues. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c819930090fe3f74c822be765c185b3431360193 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:46 2015 -0400 tipc: update node FSM when peer RESET message is received The change made in the previous commit revealed a small flaw in the way the node FSM is updated. When the function tipc_node_link_down() is called for the last link to a node, we should check whether this was caused by a local reset or by a received RESET message from the peer. In the latter case, we can directly issue a PEER_LOST_CONTACT_EVT to the node FSM, so that it is ready to re-establish contact. If this is not done, the peer node will sometimes have to go through a second establish cycle before the link becomes stable. We fix this in this commit by conditionally issuing the mentioned event in the function tipc_node_link_down(). We also move LINK_RESET FSM even away from the link_reset() function and into the caller function, partially because it is easier to follow the code when state changes are gathered at a limited number of locations, partially because there will be cases in future commits where we don't want the link to go RESET mode when link_reset() is called. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 282b3a056225b35024246f63feb91d769d714dad Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:45 2015 -0400 tipc: send out RESET immediately when link goes down When a link is taken down because of a node local event, such as disabling of a bearer or an interface, we currently leave it to the peer node to discover the broken communication. The default time for such failure discovery is 1.5-2 seconds. If we instead allow the terminating link endpoint to send out a RESET message at the moment it is reset, we can achieve the impression that both endpoints are going down instantly. Since this is a very common scenario, we find it worthwhile to make this small modification. Apart from letting the link produce the said message, we also have to ensure that the interface is able to transmit it before TIPC is detached. We do this by performing the disabling of a bearer in three steps: 1) Disable reception of TIPC packets from the interface in question. 2) Take down the links, while allowing them so send out a RESET message. 3) Disable transmission of TIPC packets on the interface. Apart from this, we now have to react on the NETDEV_GOING_DOWN event, instead of as currently the NEDEV_DOWN event, to ensure that such transmission is possible during the teardown phase. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73f646cec35477b5099d7e952297cb9e1855be45 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:44 2015 -0400 tipc: delay ESTABLISH state event when link is established Link establishing, just like link teardown, is a non-atomic action, in the sense that discovering that conditions are right to establish a link, and the actual adding of the link to one of the node's send slots is done in two different lock contexts. The link FSM is designed to help bridging the gap between the two contexts in a safe manner. We have now discovered a weakness in the implementaton of this FSM. Because we directly let the link go from state LINK_ESTABLISHING to state LINK_ESTABLISHED already in the first lock context, we are unable to distinguish between a fully established link, i.e., a link that has been added to its slot, and a link that has not yet reached the second lock context. It may hence happen that a manual intervention, e.g., when disabling an interface, causes the function tipc_node_link_down() to try removing the link from the node slots, decrementing its active link counter etc, although the link was never added there in the first place. We solve this by delaying the actual state change until we reach the second lock context, inside the function tipc_node_link_up(). This makes it possible for potentail callers of __tipc_node_link_down() to know if they should proceed or not, and the problem is solved. Unforunately, the situation described above also has a second problem. Since there by necessity is a tipc_node_link_up() call pending once the node lock has been released, we must defuse that call by setting the link back from LINK_ESTABLISHING to LINK_RESET state. This forces us to make a slight modification to the link FSM, which will now look as follows. +------------------------------------+ |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 | | | | +-------------+ | | | | | | RESET_EVT | | | | | | | | | | | V V V | | | | +-------------+ +--------------+ RESET_EVT| +--->| RESET |--------->| ESTABLISHING |<----------------+ +-------------+ PEER_ +--------------+ | A RESET_EVT | | | | | | | |FAILOVER_ |FAILOVER_ |FAILOVER_ |BEGIN_EVT |END_EVT |BEGIN_EVT | | | V | | +-------------+ | | FAILINGOVER |<----------------+ +-------------+ Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8306f99a517b91ebf8fa94d017c2c84ca62e107c Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:43 2015 -0400 tipc: disallow packet duplicates in link deferred queue After the previous commits, we are guaranteed that no packets of type LINK_PROTOCOL or with illegal sequence numbers will be attempted added to the link deferred queue. This makes it possible to make some simplifications to the sorting algorithm in the function tipc_skb_queue_sorted(). We also alter the function so that it will drop packets if one with the same seqeunce number is already present in the queue. This is necessary because we have identified weird packet sequences, involving duplicate packets, where a legitimate in-sequence packet may advance to the head of the queue without being detected and de-queued. Finally, we make this function outline, since it will now be called only in exceptional cases. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81204c492b05274ade680c54787cd8ba234dcfd7 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:42 2015 -0400 tipc: improve sequence number checking The sequence number of an incoming packet is currently only checked for less than, equality to, or bigger than the next expected number, meaning that the receive window in practice becomes one half sequence number cycle, or U16_MAX/2. This does not make sense, and may not even be safe if there are extreme delays in the network. Any packet sent by the peer during the ongoing cycle must belong inside his current send window, or should otherwise be dropped if possible. Since a link endpoint cannot know its peer's current send window, it has to base this sanity check on a worst-case assumption, i.e., that the peer is using a maximum sized window of 8191 packets. Using this assumption, we now add a check that the sequence number is not bigger than next_expected + TIPC_MAX_LINK_WIN. We also re-order the checks done, so that the receive window test is performed before the gap test. This way, we are guaranteed that no packet with illegal sequence numbers are ever added to the deferred queue. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9aa358a8109f9f33e96c3a7efb9a07631670294 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:41 2015 -0400 tipc: simplify tipc_link_rcv() reception loop Currently, all packets received in tipc_link_rcv() are unconditionally added to the packet deferred queue, whereafter that queue is walked and all its buffers evaluated for delivery. This is both non-optimal and and makes the queue sorting function unnecessary complex. This commit changes the loop so that an arrived packet is evaluated first, and added to the deferred queue only when a sequence number gap is discovered. A non-empty deferred queue is walked until it is empty or until its head's sequence number doesn't fit. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9945e8043ef9273cfb633d930e2a5a9116009b09 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:40 2015 -0400 tipc: limit usage of temporary skb list during packet reception During packet reception, the function tipc_link_rcv() adds its accepted packets to a temporary buffer queue, before finally splicing this queue into the lock protected input queue that will be delivered up to the socket layer. The purpose is to reduce potential contention on the input queue lock. However, since the vast majority of packets arrive in sequence, they will anyway be added one by one to the input queue, and the use of the temporary queue becomes a sub-optimization. The only case where this queue makes sense is when unpacking buffers from a bundle packet; here we want to avoid dozens of small buffers to be added individually to the lock-protected input queue in a tight loop. In this commit, we remove the general usage of the temporary queue, and keep it only for the packet unbundling case. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c067963f6e128bdca1e4db947f1a0e8ad2bd846 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 15 00:32:21 2015 +0800 ARM: dts: sun8i: Add NMI interrupt controller node The NMI interrupt controller is in charge of the NMI pin exposed by the SoC to the PMIC. The PMIC signals interrupts through this. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 175f8d6746aa4b1dac5ccf576bcbc5488ff21a36 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Thu Oct 15 12:24:09 2015 -0400 mlx4: corretly check failed allocation When allocation fails, mlx4_alloc_cmd_mailbox returns -ENOMEM. Since there is no case that mlx4_alloc_cmd_mailbox returns NULL, it needs to be checked by IS_ERR, not IS_ERR_OR_NULL Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e87eb4051efe76b35d0a297db772f5964a001544 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 15 09:22:11 2015 -0700 bonding: support encapsulated ipv6 TSO If using a sixtofour device on top of a bonding device, skb segmentation of TCP traffic is done right before calling bonding xmit, because bonding only enables TSO for IPv4. This patch improves single flow performance by about 120 % on my hosts, because segmentation is deferred right before calling slave xmit. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 181e4246b4666bc3af148c1dacb330c9be2acf76 Merge: 96aec91 5cd16d8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 15 23:28:03 2015 -0700 Merge branch 'mlxsw-cleanups' Jiri Pirko says: ==================== mlxsw: Driver update, cleanups This patchset contains various cleanups and improvements in mlxsw driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5cd16d8c78fd17520fff437256f0c3a4e960fd5d Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:29 2015 +0200 mlxsw: cmd: Update CONFIG_PROFILE command documentation The meaning of certain parameters in the profile passed to the device during initialization has changed, so update their documentation accordingly. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 801bd3defb2eac756e6570168d0f8187781ad8ad Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:28 2015 +0200 mlxsw: Add trap group for control packets Previously, we trapped flooded and control packets using the same trap group. This can cause flooded packets to overflow the PCI bus and prevent control packets (e.g. STP, LACP) from getting to the CPU. Solve this by splitting the RX trap group to RX and control, which allows us to configure a policer on the first, thereby preventing it from overflowing the PCI bus. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f24af330159aa1afbc6670e5786856a2a99d112c Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:27 2015 +0200 mlxsw: Simplify traps creation The Host Trap Group Table (HTGT) register configures trap groups, which are populated with trap IDs using the Host PacKet Trap (HPKT) register. However, a trap ID can only be present inside one trap group (the last configured). Instead of passing both the trap group and ID for the function that packs HPKT, pass only the trap ID and derive from it the trap group. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebb7963f9b14bbaa07b6074579225d6338318ecb Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:26 2015 +0200 mlxsw: Introduce mlxsw_reg_spms_vid_pack helper and use it Introduce separate helper for packing SPMS VIDs, as it can be used for multiple VIDs and not only for one as previous SPMS pack function provided. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa6ad058bc77b6ae69bd4512b538245ee5db39eb Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:25 2015 +0200 mlxsw: reg: Adjust definition of enum mlxsw_reg_sfgc_type Define max which would be needed later on. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36b78e8ababe6c596680d742f20bece5e8dc9820 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:24 2015 +0200 mlxsw: reg: Remove extra space in SFGC ID define Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f0effd16b69d84558f2e7eb7ccd0e27a43173f4 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:23 2015 +0200 mlxsw: reg: Uppercase letters in register IDs Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cf9dc8b77918c30260bc0f2e1853eb7d1ce34e8 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:22 2015 +0200 mlxsw: Use dev_level_ratelimited instead of net_ratelimit & dev_level Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18ea54454ecdd516ad11bf88d86f1994548692bf Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:21 2015 +0200 mlxsw: core: Do not use EMADs in mlxsw_emad_fini Be symmetric with mlxsw_emad_init and don't use EMADs in mlxsw_emad_fini cleanup function. Use command interface instead. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e2206da73e37c0fc07675b5caf25d3b26e33b7d Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:20 2015 +0200 mlxsw: pci: Limit number of entries being sent in single MAP_FA cmd Firmware accepts only limited number of mapping entries for MAP_FA command. In order to prevent overflow, introduce a limit and in case the number of entries is bigger, call MAP_FA multiple times. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c85c3882ad88dd36105148912cd95084b09a5676 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:19 2015 +0200 mlxsw: pci: Remove MLXSW_PCI_RDQS/SDQS defines and checks Remove strict number check of queues count as various ASICs have different counts. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 424e1114af94a543b3126f84ddd38742c7cfbbb6 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:18 2015 +0200 mlxsw: pci: Do not use MLXSW_PCI_SDQS_COUNT define Use mlxsw_pci_sdq_count helper instead. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4c870b1b496c90dc4fa9cf24937c7a45e84187f Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:17 2015 +0200 mlxsw: pci: Use MLXSW_PCI_CQS_MAX instead of MLXSW_PCI_CQS_COUNT The count of CQs can be different for various ASICs, so just define maximal value and check for that. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ffe053285b77e9cd87c3b8e37f35bdb8de8172d1 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:16 2015 +0200 mlxsw: switchx2: Use ETH_ALEN for mac address length Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33a704a59b6618dceb4a3ec1200b879294962c88 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:15 2015 +0200 mlxsw: Remove multicast ID configuration With respect to a firmware change, the Switch Multicast ID (SMID) register is no longer needed, so the related configuration code can be removed. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d311a28a5853857a73d54d15dc30797aa3b1802d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 16 19:34:24 2015 +0530 PCC: fix dereference of ERR_PTR get_pcc_channel() does not return NULL on error it returns the error code in ERR_PTR, but we have been checking it for NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> commit ebb251030bf25b27b05f0e4204e27b85c5664364 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 19:38:59 2015 +0000 ARM: socfpga: dts: add fpga manager Add FPGA manager to device tree for SoCFPGA. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit ba2746b0facf83c62bebf8aed8f0a3fd446de612 Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Oct 16 13:48:35 2015 +1100 md-cluster: metadata_update_finish: consistently use cmsg.raid_slot as le32 As cmsg.raid_slot is le32, comparing for >0 is not meaningful. So introduce cpu-endian 'raid_slot' and only assign to cmsg.raid_slot when we know value is valid. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 256d0afb11d6e878e8c793e4a6e3bbfb81f9aae8 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Oct 6 12:30:25 2015 -0700 selftests/seccomp: build and pass on arm64 Changing arm64 syscalls is done via a specific register set, more like s390 than like arm (specific ptrace call) and x86 (part of general registers). Since (restarting) poll doesn't exist on arm64, switch to using nanosleep for testing restart_syscall. And since it looks like the syscall ABI is inconsistent on arm-compat, so we must work around it (and document it) in the test. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 1f78dda2cf5e4eeb00aee2a01c9515e2e704b4c0 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Thu Oct 1 15:33:02 2015 +0800 selftests: memfd_test: Revised STACK_SIZE to make it 16-byte aligned There is a mandate of 16-byte aligned stack on AArch64 [1], so the STACK_SIZE here should also be 16-byte aligned, otherwise we would get an error when calling clone(). [1] http://lxr.free-electrons.com/source/arch/arm64/kernel/process.c#L265 Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit f615e2bb1331c5b9dc7f56f39f679738674a1e1f Author: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Date: Fri Oct 2 20:46:41 2015 +0900 selftests/pstore: add pstore test scripts going with reboot To test pstore in earnest, we have to cause kernel crash and check pstore filesystem after reboot. We add two scripts: - pstore_crash_test This script causes kernel crash and reboot. It is executed by 'make run_pstore_crash' in selftests. It can also be used with kdump. - pstore_post_reboot_tests This script includes test cases which check pstore's behavior after crash and reboot. It is executed together with pstore_tests by 'make run_tests [-C pstore]' in selftests. The test cases in pstore_post_reboot_tests are currently following. - Check pstore backend is registered - Mount pstore filesystem - Check dmesg/console/pmsg files exist in pstore filesystem - Check dmesg/console files contain oops end marker - Check pmsg file properly keeps the content written before crash - Remove all files in pstore filesystem Example usage is following. (before reboot) # cd /path/to/selftests # make run_tests -C pstore === Pstore unit tests (pstore_tests) === UUID=b49b02cf-b0c2-4309-be43-b08c3971e37f ... selftests: pstore_tests [PASS] === Pstore unit tests (pstore_post_reboot_tests) === UUID=953eb1bc-8e03-48d7-b27a-6552b24c5b7e Checking pstore backend is registered ... ok backend=ramoops cmdline=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait mem=768M ramoops.mem_address=0x30000000 ramoops.mem_size=0x10000 pstore_crash_test has not been executed yet. we skip further tests. selftests: pstore_post_reboot_tests [PASS] # make run_pstore_crash === Pstore unit tests (pstore_crash_test) === UUID=93c8972d-1466-430b-8c4a-28d8681e74c6 Checking pstore backend is registered ... ok backend=ramoops cmdline=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait mem=768M ramoops.mem_address=0x30000000 ramoops.mem_size=0x10000 Causing kernel crash ... (kernel crash and reboot) ... (after reboot) # make run_tests -C pstore === Pstore unit tests (pstore_tests) === UUID=8e511e77-2285-499f-8bc0-900d9af1fbcc ... selftests: pstore_tests [PASS] === Pstore unit tests (pstore_post_reboot_tests) === UUID=2dcc2132-4f3c-45aa-a38f-3b54bff8cef1 Checking pstore backend is registered ... ok backend=ramoops cmdline=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait mem=768M ramoops.mem_address=0x30000000 ramoops.mem_size=0x10000 Mounting pstore filesystem ... ok Checking dmesg files exist in pstore filesystem ... ok dmesg-ramoops-0 dmesg-ramoops-1 Checking console files exist in pstore filesystem ... ok console-ramoops-0 Checking pmsg files exist in pstore filesystem ... ok pmsg-ramoops-0 Checking dmesg files contain oops end marker dmesg-ramoops-0 ... ok dmesg-ramoops-1 ... ok Checking console file contains oops end marker ... ok Checking pmsg file properly keeps the content written before crash ... ok Removing all files in pstore filesystem console-ramoops-0 ... ok dmesg-ramoops-0 ... ok dmesg-ramoops-1 ... ok pmsg-ramoops-0 ... ok selftests: pstore_post_reboot_tests [PASS] Signed-off-by: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Anton Vorontsov <anton@xxxxxxxxxx> Cc: Colin Cross <ccross@xxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Mark Salyzyn <salyzyn@xxxxxxxxxxx> Cc: Seiji Aguchi <seiji.aguchi.tr@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit cc04a46f11ea046ed53e2c832ae29e4790f7e35f Author: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Date: Fri Oct 2 20:46:39 2015 +0900 selftests/pstore: add pstore test script for pre-reboot The pstore_tests script includes test cases which check pstore's behavior before crash (and reboot). The test cases are currently following. - Check pstore backend is registered - Check pstore console is registered - Check /dev/pmsg0 exists - Write unique string to /dev/pmsg0 The unique string written to /dev/pmsg includes UUID. The UUID is also left in 'uuid' file in order to enable us to check if the pmsg keeps the string correctly after reboot. Example usage is following. # cd /path/to/selftests # make run_tests -C pstore (or just .pstore/pstore_tests) make: Entering directory '/path/to/selftests/pstore' === Pstore unit tests (pstore_tests) === UUID=b49b02cf-b0c2-4309-be43-b08c3971e37f Checking pstore backend is registered ... ok backend=ramoops cmdline=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait mem=768M ramoops.mem_address=0x30000000 ramoops.mem_size=0x10000 Checking pstore console is registered ... ok Checking /dev/pmsg0 exists ... ok Writing unique string to /dev/pmsg0 ... ok selftests: pstore_tests [PASS] make: Leaving directory '/path/to/selftests/pstore' We can also see test logs later. # cat pstore/logs/20151001-072718_b49b02cf-b0c2-4309-be43-b08c3971e37f/pstore_tests.log Thu Oct 1 07:27:18 UTC 2015 === Pstore unit tests (pstore_tests) === UUID=b49b02cf-b0c2-4309-be43-b08c3971e37f Checking pstore backend is registered ... ok backend=ramoops cmdline=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait mem=768M ramoops.mem_address=0x30000000 ramoops.mem_size=0x10000 Checking pstore console is registered ... ok Checking /dev/pmsg0 exists ... ok Writing unique string to /dev/pmsg0 ... ok Signed-off-by: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Anton Vorontsov <anton@xxxxxxxxxx> Cc: Colin Cross <ccross@xxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Mark Salyzyn <salyzyn@xxxxxxxxxxx> Cc: Seiji Aguchi <seiji.aguchi.tr@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit be14484be0a88574cf913bdf957ee91a8fafb0f8 Author: Yuan Sun <sunyuan3@xxxxxxxxxx> Date: Tue Sep 29 10:03:59 2015 +0800 selftests: add .gitignore for efivarfs Signed-off-by: Yuan Sun <sunyuan3@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit c76af02d90ee9e9d2ef478fc6f874ad2abcf3ec9 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:48 2015 +0200 via_drm.h: move struct via_file_private definition to drivers/gpu/drm/via/via_drv.h Fixes userspace compile error since list_head is not exported to userspace headers. Suggested by Emil Velikov <emil.l.velikov@xxxxxxxxx> at https://lkml.org/lkml/2015/6/3/792 Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 7a6007c309c9b0e573dc17ac9d81e8b5f173847d Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:50 2015 +0200 include/uapi/drm/sis_drm.h: move sis_file_private to drivers/gpu/drm/sis/sis_drv.h Fixes userspace compile error: drm/sis_drm.h:68:19: error: field â??obj_listâ?? has incomplete type struct list_head obj_list; Suggested by Emil Velikov <emil.l.velikov@xxxxxxxxx> at https://lkml.org/lkml/2015/6/3/792 Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 966d713e86db1916a0b45a324a935d009737316e Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 22:24:45 2015 +0530 KVM: PPC: Book3S HV: Deliver machine check with MSR(RI=0) to guest as MCE For the machine check interrupt that happens while we are in the guest, kvm layer attempts the recovery, and then delivers the machine check interrupt directly to the guest if recovery fails. On successful recovery we go back to normal functioning of the guest. But there can be cases where a machine check interrupt can happen with MSR(RI=0) while we are in the guest. This means MC interrupt is unrecoverable and we have to deliver a machine check to the guest since the machine check interrupt might have trashed valid values in SRR0/1. The current implementation do not handle this case, causing guest to crash with Bad kernel stack pointer instead of machine check oops message. [26281.490060] Bad kernel stack pointer 3fff9ccce5b0 at c00000000000490c [26281.490434] Oops: Bad kernel stack pointer, sig: 6 [#1] [26281.490472] SMP NR_CPUS=2048 NUMA pSeries This patch fixes this issue by checking MSR(RI=0) in KVM layer and forwarding unrecoverable interrupt to guest which then panics with proper machine check Oops message. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Acked-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 9ace42b1d14b70a0db6d0d5bf8240beddf65d075 Merge: 48f87dd dfbdaf5 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 16 10:25:49 2015 +1000 Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next This series: * adds support for interlaced video modes to the ipu-v3 driver and dw_hdmi bridge. * reworks the dw_hdmi connector enable/disable support, to ensure that when DRM disables the output, it stays disabled irrespective of the hotplug state. * adds support for connector forcing, so we can force the hotplug state for this connector. * adds the ALSA AHB audio driver to the bridge: Iwai has acked the audio driver. * a few fixes to the ACR calculations to allow more modes to work with audio on iMX6. Fabio has independently tested this series, so all patches here carry his tested-by tag. * 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm: bridge/dw_hdmi: replace CTS calculation for the ACR drm: bridge/dw_hdmi: remove ratio support from ACR code drm: bridge/dw_hdmi: adjust pixel clock values in N calculation drm: bridge/dw_hdmi: avoid being recursive in N calculation drm: bridge/dw_hdmi-ahb-audio: allow larger buffer sizes drm: bridge/dw_hdmi-ahb-audio: basic support for multi-channel PCM audio drm: bridge/dw_hdmi-ahb-audio: parse ELD from HDMI driver drm: bridge/dw_hdmi-ahb-audio: add audio driver drm: bridge/dw_hdmi: improve HDMI enable/disable handling drm: bridge/dw_hdmi: add connector mode forcing drm: bridge/dw_hdmi: add support for interlaced video modes gpu: imx: fix support for interlaced modes gpu: imx: simplify sync polarity setting commit 48f87dd146a480c723774962eca675873a8aa1da Merge: 6b62b3e 06d1ee3 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 16 10:10:32 2015 +1000 Merge commit '06d1ee32a4d25356a710b49d5e95dbdd68bdf505' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next Backmerge the drm-fixes pull from Linus's tree into drm-next. This is to fix some conflicts and make future pulls cleaner commit 6b62b3e134676687d5d666e6edc3b45f1507b2b7 Merge: b312785 b44f840 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 16 10:02:35 2015 +1000 Merge tag 'topic/drm-misc-2015-10-08' of git://anongit.freedesktop.org/drm-intel into drm-next Another round of drm-misc. Unfortunately the DRM_UNLOCKED removal for DRIVER_MODESET isn't complete yet for lack of review on 1-2 patches. Otherwise just various stuff all over. * tag 'topic/drm-misc-2015-10-08' of git://anongit.freedesktop.org/drm-intel: drm: Stop using drm_vblank_count() as the hw frame counter drm/irq: Use unsigned int pipe in public API drm: Use DRM_ROTATE_MASK and DRM_REFLECT_MASK drm: Add DRM_ROTATE_MASK and DRM_REFLECT_MASK vga_switcheroo: Add missing locking vgaarb: use kzalloc in vga_arbiter_add_pci_device() drm: Don't zero vblank timestamps from the irq handler drm: Hack around CONFIG_AGP=m build failures drm/i915: Remove setparam ioctl drm: Remove dummy agp ioctl wrappers drm/vmwgfx: Stop checking for DRM_UNLOCKED drm/drm_ioctl.c: kerneldoc drm: Define a drm_invalid_op ioctl implementation drm: Remove __OS_HAS_AGP drm/doc: Update docs about device instance setup commit b312785579f8ec1900d0ed7e6e33bc9517c175fc Merge: aa1b36f 44cc6c0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 16 09:59:19 2015 +1000 Merge tag 'drm-intel-next-2015-09-28-merged' of git://anongit.freedesktop.org/drm-intel into drm-next drm-intel-next-2015-09-28: - fastboot by default for some systems (Maarten Lankhorts) - piles of workarounds for bxt and skl - more fbc work from Paulo - fix hdmi hotplug detection (Sonika) - first few patches from Ville to parametrize register macros, prep work for typesafe mmio functions - prep work for nv12 rotation (Tvrtko Ursulin) - various other bugfixes and improvements all over I have another backmerge here since things became messy and I didn't realize you resolved some of them already (usually you complain when there's a conflict ...). For 4.4 I plan one more feature round after this and then that's it. * tag 'drm-intel-next-2015-09-28-merged' of git://anongit.freedesktop.org/drm-intel: (80 commits) drm/i915: Update DRIVER_DATE to 20150928 drm/i915: fix task reference leak in i915_debugfs.c drm/i915: Defer adding preallocated stolen objects to the VM list drm/i915: Remove extraneous request cancel. drm/i915: Enable querying offset of UV plane with intel_plane_obj_offset drm/i915: Support NV12 in rotated GGTT mapping drm/i915: Support appending to the rotated pages mapping drm/i915: Support planar formats in tile height calculations drm/i915/bxt: Update revision id for BXT C0 drm/i915: Parametrize CSR_PROGRAM registers drm/i915: Parametrize DDI_BUF_TRANS registers drm/i915: Parametrize TV luma/chroma filter registers drm/i915: Replace raw numbers with the approproate register name in ILK turbo code drm/i915: Parametrize ILK turbo registers drm/i915: Parametrize FBC_TAG registers drm/i915: Parametrize GEN7_GT_SCRATCH and GEN7_LRA_LIMITS drm/i915: Parametrize LRC registers drm/i915: Don't pass sdvo_reg to intel_sdvo_select_{ddc, i2c}_bus() drm/i915: Ignore "digital output" and "not HDMI output" bits for eDP detection drm/i915: Make sure we don't detect eDP on g4x ... commit aa1b36f2bb068e6d76b0bef2da286631bfa1bff1 Merge: 99a91c9 2fcef6e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 16 09:39:14 2015 +1000 Merge branch 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-next This is the first radeon and amdgpu pull for drm-next. Highlights include: - Efficiency improvements to the CS checker for pre-SI asics - Cursor fixes ported from radeon to amdgpu - Enable GPU scheduler by default - Add a bunch of GPUVM debugging options - Add support for some new atombios opcodes - Misc cleanups and fixes * 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux: (42 commits) drm/amdgpu: fix lockup when clean pending fences drm/amdgpu: add timer to fence to detect scheduler lockup drm/amdgpu: add VM CS mapping trace point drm/amdgpu: add option to clear VM page tables after every submit drm/amdgpu: add option to stop on VM fault drm/amdgpu: only print meaningful VM faults drm/amdgpu: also trace already allocated VMIDs drm/amdgpu: Drop unnecessary #include <linux/vga_switcheroo.h> drm/radeon: Drop unnecessary #include <linux/vga_switcheroo.h> drm/amdgpu: clean up pageflip interrupt handling drm/amdgpu: rework sdma structures drm/amdgpu: unpin cursor BOs on suspend and pin them again on resume drm/amdgpu/dce8: Fold set_cursor() into show_cursor() drm/amdgpu/dce8: Clean up reference counting and pinning of the cursor BOs drm/amdgpu/dce8: Move hotspot handling out of set_cursor drm/amdgpu/dce8: Re-show the cursor after a modeset (v2) drm/amdgpu/dce8: Use cursor_set2 hook for enabling / disabling the HW cursor drm/amdgpu/dce11: Fold set_cursor() into show_cursor() drm/amdgpu/dce11: Clean up reference counting and pinning of the cursor BOs drm/amdgpu/dce11: Move hotspot handling out of set_cursor ... commit 11eecf910bd81d36425020743b2df73651c5b466 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Sat Oct 3 14:15:13 2015 +0900 extcon: Modify the id and name of external connector This patch modifies the id and name of external connector with the additional prefix to clarify both attribute and meaning of external connector as following: - EXTCON_CHG_* mean the charger connector. - EXTCON_JACK_* mean the jack connector. - EXTCON_DISP_* mean the display port connector. Following table show the new name of external connector with old name: -------------------------------------------------- Old extcon name | New extcon name | -------------------------------------------------- EXTCON_TA | EXTCON_CHG_USB_DCP | EXTCON_CHARGE_DOWNSTREAM| EXTCON_CHG_USB_CDP | EXTCON_FAST_CHARGER | EXTCON_CHG_USB_FAST | EXTCON_SLOW_CHARGER | EXTCON_CHG_USB_SLOW | -------------------------------------------------- EXTCON_MICROPHONE | EXTCON_JACK_MICROPHONE | EXTCON_HEADPHONE | EXTCON_JACK_HEADPHONE | EXTCON_LINE_IN | EXTCON_JACK_LINE_IN | EXTCON_LINE_OUT | EXTCON_JACK_LINE_OUT | EXTCON_VIDEO_IN | EXTCON_JACK_VIDEO_IN | EXTCON_VIDEO_OUT | EXTCON_JACK_VIDEO_OUT | EXTCON_SPDIF_IN | EXTCON_JACK_SPDIF_IN | EXTCON_SPDIF_OUT | EXTCON_JACK_SPDIF_OUT | -------------------------------------------------- EXTCON_HMDI | EXTCON_DISP_HDMI | EXTCON_MHL | EXTCON_DISP_MHL | EXTCON_DVI | EXTCON_DISP_DVI | EXTCON_VGA | EXTCON_DISP_VGA | -------------------------------------------------- And, when altering the name of USB charger connector, EXTCON refers to the "Battery Charging v1.2 Spec and Adopters Agreement"[1] to use the standard name of USB charging port as following. Following name of USB charging port are already used in power_supply subsystem. We chan check it on patch[2]. - EXTCON_CHG_USB_SDP /* Standard Downstream Port */ - EXTCON_CHG_USB_DCP /* Dedicated Charging Port */ - EXTCON_CHG_USB_CDP /* Charging Downstream Port */ - EXTCON_CHG_USB_ACA /* Accessory Charger Adapter */ [1] www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip [2] commit 85efc8a18ced ("power_supply: Add types for USB chargers") Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> [ckeepax: For the Arizona changes] Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> commit 0a4807c2f9a4a1afc2163089176abdc7ee4a361a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Oct 14 14:03:07 2015 -0700 clk: Make of_clk_get_parent_name() robust with #clock-cells = 1 If a clock provider has #clock-cells = 1 and we call of_clk_get_parent_name() on it we may end up returning the name of the provider node if the provider doesn't have a clock-output-names property. This doesn't make sense, especially when you consider that calling of_clk_get_parent_name() on such a node with different indices will return the same name each time. Let's try getting the clock from the framework via of_clk_get() instead, and only fallback to the node name if we have a provider with #clock-cells = 0. This way, we can't hand out the same name for different clocks when we don't actually know their names. Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 087a920d4a3e33285f93a0ae7607f71095ffe601 Merge: 2445a9c e79b202 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 15 16:13:50 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: Partially revert "clk: mvebu: Convert to clk_hw based provider APIs" commit 3afbb9afe2c41d552a04f07aa84867e4ba8d5b76 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 13:12:55 2015 -0500 arm: omap2: timer: move realtime_counter_init() around no functional changes, just moving that function closer to its calling location. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c7cb14a58e6dc2a2eba3ed98e484cd8d7544d51d Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 12:15:50 2015 -0500 arm: omap2: timer: provide generic sync32k_timer_init function instead of constantly defining a small wrapper around __omap_sync32k_timer_init(), let's define a generic one which can be used by all OMAPs. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a5f72ebaead454f95b8e6f353684681640b29ee3 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 11:44:47 2015 -0500 arm: omap2: timer: remove __omap_gptimer_init() __omap_sync32k_timer_init(), now takes the clock source as a parameter. This means we no longer need __omap_gptimer_init(). Note that __omap_sync32k_timer_init() will be renamed in a follow-up patch as it's not longer 32k source specific. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f5409092d4dbb4aaeee18e16143adf63c7506dc5 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 11:38:48 2015 -0500 arm: omap2: timer: add a gptimer argument to sync32k_timer_init() as it turns out, __omap_gptimer_init() and __omap_sync32k_timer_init() are essentially the same thing, but __omap_gptimer_init() wants to always use gptimer. Instead of forcing all those devices to pass a use_gptimer cmdline argument, we add a new function argument to __omap_sync32k_timer_init() in preparation to deleting __omap_gptimer_init(). On a follow-up patch, we will remove uses of __omap_gptimer_init() and replace them with __omap_sync32k_timer_init() and pass the last argument as true. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit be0ac4c374b50c9756e330104c2024263c86de49 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 11:34:39 2015 -0500 arm: omap2: timer: get rid of obfuscating macros those macros just make it a lot more difficult to grep around and actually find similarities. In this patch, we will simply remove them and replace with actual functions and later commits will come to further clean this up. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0328d816deba1da154be23982ac7979ff3934302 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 28 13:25:44 2015 -0500 arm: omap2: timer: always define omap4_local_timer_init omap4_local_timer_init() can be used by other platforms as is. At least AM437x wants to use it. Instead of making omap4-only and providing a stub for builds without OMAP4, we can just make sure that function is always available for all SoCs that need it. Reported-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ee04242becb3623a8b9e7fbda1fb9c4c0e959c82 Merge: 3b2c056 00a9e05 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 23:09:17 2015 +0200 Merge tag 'qcom-arm64-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm into next/dt Pull "Qualcomm ARM64 Updates for v4.4" from Andy Gross: * Add RNG device tree node * Add MSM8x16 serial UART1 node * Enable eMMC on apq8016-sbc board * Fix I2C pinconf sleep state function * Add MSM8916 I2C nodes * Enable I2C busses on LS and HS on APQ8016-sbc * Enable SPI busses on LS and HS on APQ8016-sbc * tag 'qcom-arm64-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm: arm64: dts: apq8016-sbc: enable spi buses on LS and HS arm64: dts: apq8016-sbc: enable i2c buses on LS and HS arm64: dts: qcom: Add msm8916 I2C nodes. arm64: dts: fix i2c pinconf sleep state function arm64: dts: qcom: Enable eMMC on apq8016-sbc board arm64: dts: qcom: Add 8x16 Serial UART1 node arm64: dts: qcom: Add RNG device tree node commit 73ebb85444b0472d90bb70a1a9e6b5df3f92c14c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 13 17:05:39 2015 +0200 soc: qcom/smem: add HWSPINLOCK dependency This fixes a build error when smem is enabled without hwspinlock: drivers/built-in.o: In function `qcom_smem_alloc': rockchip-efuse.c:(.text+0x7a3e4): undefined reference to `__hwspin_lock_timeout' rockchip-efuse.c:(.text+0x7a568): undefined reference to `__hwspin_unlock' drivers/built-in.o: In function `qcom_smem_remove': rockchip-efuse.c:(.text+0x7a5cc): undefined reference to `hwspin_lock_free' drivers/built-in.o: In function `qcom_smem_probe': rockchip-efuse.c:(.text+0x7a960): undefined reference to `hwspin_lock_request_specific' rockchip-efuse.c:(.text+0x7a988): undefined reference to `of_hwspin_lock_get_id' drivers/built-in.o: In function `qcom_smem_get': rockchip-efuse.c:(.text+0x7aa24): undefined reference to `__hwspin_lock_timeout' rockchip-efuse.c:(.text+0x7aafc): undefined reference to `__hwspin_unlock' Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit ead67421a981961aa2f7dd98d9187185dd782389 Merge: 41e602e d0bfd7c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 23:03:24 2015 +0200 Merge tag 'qcom-soc-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm into next/drivers Pull "Qualcomm ARM Based SoC Updates for 4.4" from Andy Gross: * Implement id_table driver matching in SMD * Avoid NULL pointer exception on remove of SMEM * Reorder SMEM/SMD configs * Make qcom_smem_get() return a pointer * Handle big endian CPUs correctly in SMEM * Represent SMD channel layout in structures * Use __iowrite32_copy() in SMD * Remove use of VLAIs in SMD * Handle big endian CPUs correctly in SMD/RPM * Handle big endian CPUs corretly in SMD * Reject sending SMD packets that are too large * Fix endianness issue in SCM __qcom_scm_is_call_available * Add missing prototype for qcom_scm_is_available() * Correct SMEM items for upper channels * Use architecture level to build SCM correctly * Delete unneeded of_node_put in SMD * Correct active/slep state flagging in SMD/RPM * Move RPM message ram out of SMEM DT node * tag 'qcom-soc-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm: soc: qcom: smem: Move RPM message ram out of smem DT node soc: qcom: smd-rpm: Correct the active vs sleep state flagging soc: qcom: smd: delete unneeded of_node_put firmware: qcom-scm: build for correct architecture level soc: qcom: smd: Correct SMEM items for upper channels qcom-scm: add missing prototype for qcom_scm_is_available() qcom-scm: fix endianess issue in __qcom_scm_is_call_available soc: qcom: smd: Reject send of too big packets soc: qcom: smd: Handle big endian CPUs soc: qcom: smd_rpm: Handle big endian CPUs soc: qcom: smd: Remove use of VLAIS soc: qcom: smd: Use __iowrite32_copy() instead of open-coding it soc: qcom: smd: Represent channel layout in structures soc: qcom: smem: Handle big endian CPUs soc: qcom: Make qcom_smem_get() return a pointer soc: qcom: Reorder SMEM/SMD configs soc: qcom: smem: Avoid NULL pointer exception on remove soc: qcom: smd: Implement id_table driver matching commit e4b7037c8613da41fb3f7b029414fe25370f53c0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 17:00:43 2015 -0400 cgroup: drop cgroup__DEVEL__legacy_files_on_dfl Now that interfaces for the major three controllers - cpu, memory, io - are shaping up, there's no reason to have an option to force legacy files to show up on the unified hierarchy for testing. Drop it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 035f4f510583193949168c77dc957293df24bd77 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 17:00:43 2015 -0400 cgroup: replace error handling in cgroup_init() with WARN_ON()s The init sequence shouldn't fail short of bugs and even when it does it's better to continue with the rest of initialization and we were silently ignoring /proc/cgroups creation failure. Drop the explicit error handling and wrap sysfs_create_mount_point(), register_filesystem() and proc_create() with WARN_ON()s. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 5462b10af11d0b334fe37883998e0f38b14127bb Merge: 8207e2e a7b3d5a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:55:53 2015 +0200 Merge tag 'berlin-soc-for-4.4-2' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc Merge "Marvell Berlin SoC for 4.4 take 2" from Sebastian Hesselbarth: - use the non-self-clearing reset register - add cpu hotplug support * tag 'berlin-soc-for-4.4-2' of git://git.infradead.org/users/hesselba/linux-berlin: arm: berlin: add CPU hotplug support arm: berlin: use non-self-cleared reset register to reset cpu commit afcf6c8b75444382e0f9996157207ebae34a8848 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:53 2015 -0400 cgroup: add cgroup_subsys->free() method and use it to fix pids controller pids controller is completely broken in that it uncharges when a task exits allowing zombies to escape resource control. With the recent updates, cgroup core now maintains cgroup association till task free and pids controller can be fixed by uncharging on free instead of exit. This patch adds cgroup_subsys->free() method and update pids controller to use it instead of ->exit() for uncharging. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Aleksa Sarai <cyphar@xxxxxxxxxx> commit 2e91fa7f6d451e3ea9fec999065d2fd199691f9d Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:53 2015 -0400 cgroup: keep zombies associated with their original cgroups cgroup_exit() is called when a task exits and disassociates the exiting task from its cgroups and half-attach it to the root cgroup. This is unnecessary and undesirable. No controller actually needs an exiting task to be disassociated with non-root cgroups. Both cpu and perf_event controllers update the association to the root cgroup from their exit callbacks just to keep consistent with the cgroup core behavior. Also, this disassociation makes it difficult to track resources held by zombies or determine where the zombies came from. Currently, pids controller is completely broken as it uncharges on exit and zombies always escape the resource restriction. With cgroup association being reset on exit, fixing it is pretty painful. There's no reason to reset cgroup membership on exit. The zombie can be removed from its css_set so that it doesn't show up on "cgroup.procs" and thus can't be migrated or interfere with cgroup removal. It can still pin and point to the css_set so that its cgroup membership is maintained. This patch makes cgroup core keep zombies associated with their cgroups at the time of exit. * Previous patches decoupled populated_cnt tracking from css_set lifetime, so a dying task can be simply unlinked from its css_set while pinning and pointing to the css_set. This keeps css_set association from task side alive while hiding it from "cgroup.procs" and populated_cnt tracking. The css_set reference is dropped when the task_struct is freed. * ->exit() callback no longer needs the css arguments as the associated css never changes once PF_EXITING is set. Removed. * cpu and perf_events controllers no longer need ->exit() callbacks. There's no reason to explicitly switch away on exit. The final schedule out is enough. The callbacks are removed. * On traditional hierarchies, nothing changes. "/proc/PID/cgroup" still reports "/" for all zombies. On the default hierarchy, "/proc/PID/cgroup" keeps reporting the cgroup that the task belonged to at the time of exit. If the cgroup gets removed before the task is reaped, " (deleted)" is appended. v2: Build brekage due to missing dummy cgroup_free() when !CONFIG_CGROUP fixed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f0d9a5f175753a371bc7fdff0d584a8d9cd72bb0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:53 2015 -0400 cgroup: make css_set_rwsem a spinlock and rename it to css_set_lock css_set_rwsem is the inner lock protecting css_sets and is accessed from hot paths such as fork and exit. Internally, it has no reason to be a rwsem or even mutex. There are no internal blocking operations while holding it. This was rwsem because css task iteration used to expose it to external iterator users. As the previous patch updated css task iteration such that the locking is not leaked to its users, there's no reason to keep it a rwsem. This patch converts css_set_rwsem to a spinlock and rename it to css_set_lock. It uses bh-safe operations as a planned usage needs to access it from RCU callback context. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ed27b9f7a17ddfbc007e16d4d11f33dff4fc2de7 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:52 2015 -0400 cgroup: don't hold css_set_rwsem across css task iteration css_sets are synchronized through css_set_rwsem but the locking scheme is kinda bizarre. The hot paths - fork and exit - have to write lock the rwsem making the rw part pointless; furthermore, many readers already hold cgroup_mutex. One of the readers is css task iteration. It read locks the rwsem over the entire duration of iteration. This leads to silly locking behavior. When cpuset tries to migrate processes of a cgroup to a different NUMA node, css_set_rwsem is held across the entire migration attempt which can take a long time locking out forking, exiting and other cgroup operations. This patch updates css task iteration so that it locks css_set_rwsem only while the iterator is being advanced. css task iteration involves two levels - css_set and task iteration. As css_sets in use are practically immutable, simply pinning the current one is enough for resuming iteration afterwards. Task iteration is tricky as tasks may leave their css_set while iteration is in progress. This is solved by keeping track of active iterators and advancing them if their next task leaves its css_set. v2: put_task_struct() in css_task_iter_next() moved outside css_set_rwsem. A later patch will add cgroup operations to task_struct free path which may grab the same lock and this avoids deadlock possibilities. css_set_move_task() updated to use list_for_each_entry_safe() when walking task_iters and advancing them. This is necessary as advancing an iter may remove it from the list. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ecb9d535df967b3ca565535e14456f612373bf5e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:52 2015 -0400 cgroup: reorganize css_task_iter functions * Rename css_advance_task_iter() to css_task_iter_advance_css_set() and make it clear it->task_pos too at the end of the iteration. * Factor out css_task_iter_advance() from css_task_iter_next(). The new function whines if called on a terminated iterator. Except for the termination check, this is pure reorganization and doesn't introduce any behavior changes. This will help the planned locking update for css_task_iter. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f6d7d049c17a29fbc4c2723899a242d6889554aa Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:52 2015 -0400 cgroup: factor out css_set_move_task() A task is associated and disassociated with its css_set in three places - during migration, after a new task is created and when a task exits. The first is handled by cgroup_task_migrate() and the latter two are open-coded. These are similar operations and spreading them over multiple places makes it harder to follow and update. This patch collects all task css_set [dis]association operations into css_set_move_task(). While css_set_move_task() may check whether populated state needs to be updated when not strictly necessary, the behavior is essentially equivalent before and after this patch. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 389b9c1bc927c8194a49f5f0c7e069ed0ec79b9e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:51 2015 -0400 cgroup: keep css_set and task lists in chronological order css task iteration will be updated to not leak cgroup internal locking to iterator users. In preparation, update css_set and task lists to be in chronological order. For tasks, as migration path is already using list_splice_tail_init(), only cgroup_enable_task_cg_lists() and cgroup_post_fork() need updating. For css_sets, link_css_set() is the only place which needs to be updated. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 91486f61f486662c27ef86dd910f875832e3a5de Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:51 2015 -0400 cgroup: make cgroup_destroy_locked() test cgroup_is_populated() cgroup_destroy_locked() currently tests whether any css_sets are associated to reject removal if the cgroup contains tasks. This works because a css_set's refcnt converges with the number of tasks linked to it and thus there's no css_set linked to a cgroup if it doesn't have any live tasks. To help tracking resource usage of zombie tasks, putting the ref of css_set will be separated from disassociating the task from the css_set which means that a cgroup may have css_sets linked to it even when it doesn't have any live tasks. This patch updates cgroup_destroy_locked() so that it tests cgroup_is_populated(), which counts the number of populated css_sets, instead of whether cgrp->cset_links is empty to determine whether the cgroup is populated or not. This ensures that rmdirs won't be incorrectly rejected for cgroups which only contain zombie tasks. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 2ceb231b0ab0e3d700c5f7c839273bfeecbefe3b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:51 2015 -0400 cgroup: make css_sets pin the associated cgroups Currently, css_sets don't pin the associated cgroups. This is okay as a cgroup with css_sets associated are not allowed to be removed; however, to help resource tracking for zombie tasks, this is scheduled to change such that a cgroup can be removed even when it has css_sets associated as long as none of them are populated. To ensure that a cgroup doesn't go away while css_sets are still associated with it, make each associated css_set hold a reference on the cgroup if non-root. v2: Root cgroups are special and shouldn't be ref'd by css_sets. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 052c3f3a0b03651d94050d917ebc1df46a31c2f0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:50 2015 -0400 cgroup: relocate cgroup_[try]get/put() Relocate cgroup_get(), cgroup_tryget() and cgroup_put() upwards. This is pure code reorganization to prepare for future changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ad2ed2b35b76f01a876230a3a632efbc81d3fcd6 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:50 2015 -0400 cgroup: move check_for_release() invocation To trigger release agent when the last task leaves the cgroup, check_for_release() is called from put_css_set_locked(); however, css_set being unlinked is being decoupled from task leaving the cgroup and the correct condition to test is cgroup->nr_populated dropping to zero which check_for_release() is already updated to test. This patch moves check_for_release() invocation from put_css_set_locked() to cgroup_update_populated(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 27bd4dbb8d51c476298e62bd088225317b7853de Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:50 2015 -0400 cgroup: replace cgroup_has_tasks() with cgroup_is_populated() Currently, cgroup_has_tasks() tests whether the target cgroup has any css_set linked to it. This works because a css_set's refcnt converges with the number of tasks linked to it and thus there's no css_set linked to a cgroup if it doesn't have any live tasks. To help tracking resource usage of zombie tasks, putting the ref of css_set will be separated from disassociating the task from the css_set which means that a cgroup may have css_sets linked to it even when it doesn't have any live tasks. This patch replaces cgroup_has_tasks() with cgroup_is_populated() which tests cgroup->nr_populated instead which locally counts the number of populated css_sets. Unlike cgroup_has_tasks(), cgroup_is_populated() is recursive - if any of the descendants is populated, the cgroup is populated too. While this changes the meaning of the test, all the existing users are okay with the change. While at it, replace the open-coded ->populated_cnt test in cgroup_events_show() with cgroup_is_populated(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> commit 0de0942db2b36dd91c088a7950398d2e87f23b23 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:49 2015 -0400 cgroup: make cgroup->nr_populated count the number of populated css_sets Currently, cgroup->nr_populated counts whether the cgroup has any css_sets linked to it and the number of children which has non-zero ->nr_populated. This works because a css_set's refcnt converges with the number of tasks linked to it and thus there's no css_set linked to a cgroup if it doesn't have any live tasks. To help tracking resource usage of zombie tasks, putting the ref of css_set will be separated from disassociating the task from the css_set which means that a cgroup may have css_sets linked to it even when it doesn't have any live tasks. This patch updates cgroup->nr_populated so that for the cgroup itself it counts the number of css_sets which have tasks associated with them so that empty css_sets don't skew the populated test. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b309e5b743a999cdb34a3989d1800c608e656c2b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:49 2015 -0400 cgroup: remove an unused parameter from cgroup_task_migrate() cgroup_task_migrate() no longer uses @old_cgrp. Remove it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 41e602e8af1300471e79e298a7276226344071db Merge: 7a0205b 515f1a2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:41:04 2015 +0200 Merge tag 'berlin-new-cpuclk-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/drivers Merge "Marvell Berlin BG2Q CPU clock driver" from Sebastian Hesselbarth: - add BG2Q CPU clock to clk driver * tag 'berlin-new-cpuclk-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: clk: berlin: add cpuclk ARM: berlin: dts: add CLKID_CPU for BG2Q commit fb40c67769100dd2b95d52f447ba0bc19387ca60 Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Thu Oct 15 18:22:15 2015 +0200 ARM: configs: Enable FIXED_PHY in multi_v7 defconfig CONFIG_FIXED_PHY is needed to have Ethernet working on STi boards. Select it as built-in since RootFS is accessible from NFS on these boards. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 3b2c05644bbf9dfcc7ebf848435fba0acd0b5075 Merge: 020effe dfacaf0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:38:10 2015 +0200 Merge tag 'juno-scpi-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into next/dt Merge "SCPI support on ARM64 Juno Development Platform" from Sudeep Holla: 1. SRAM, MHU mailbox and SCPI support 2. CPU topology using cpu-map 3. Clock support for all the cpus 4. Support for SoC sensors * tag 'juno-scpi-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: arm64: dts: Add sensor node to Juno dt arm64: dts: add clock support for all the cpus arm64: dts: add CPU topology on Juno arm64: dts: add SRAM, MHU mailbox and SCPI support on Juno commit 020effe8cb0b2643bdcbfebc547f6e52f924f908 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue Oct 13 14:28:04 2015 +0300 ARM: digicolor: dts: add uart pin configuration Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2d5958e360aefc904c1c49850c92397dc865c7f2 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue Oct 13 14:28:03 2015 +0300 ARM: digicolor: add pinctrl module device node Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 82f8817470eb77d91342940ace15f0f6cc77b6f6 Merge: 2dc71a6 9d45708 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:35:46 2015 +0200 Merge tag 'keystone-dts-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt Merge "ARM Keystone DTS part2 for 4.4" from Santosh Shilimkar: - Typo fix the soc binding documentation - NETCP Accumulator nodes * tag 'keystone-dts-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: dts: keystone: enable accumulator channels Documentation: dt: keystone: Fix up missing quotes commit 2dc71a68d28a04a1149d4b90bba628ff660a8953 Merge: 5d984ee be14641 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:32:53 2015 +0200 Merge tag 'omap-for-v4.4/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "Device tree changes for omaps for v4.4 merge window:" from Tony Lindgren: - DCAN sleep pins for am437x-gp-evm - A series of changes to add audio support for dra7 - Add support for gpio keys and LEDs on dra7 - Regulator clean-up for am335x-wega - A series of changes to enable IOMMUs and mailboxes for dra7 accelerators - Add support for am335x-bonegreen - Fix up GPIO flags where 0 was used instead of GPIO_ACTIVE_HIGH - Fix omap3-lilly-am33x IRQ level flag - Remove duplicate uart2 pinmux for igep and fix indentation and update igep to use pinctrl macros for the register offsets - Fix MMC cd-gpios usage Note that this branch is against v4.3-rc4 as that contains critical MMC related fixes to boot with MMC working on most omaps. * tag 'omap-for-v4.4/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (33 commits) ARM: dts: omap3-igep: Use OMAP3_CORE1_IOPAD pinmux macro ARM: dts: dra7xx: am57xx: fix cd-gpios definition as per hardware design and dt binding docs ARM: dts: am43xx: fix cd-gpios definition as per hardware design and dt binding docs ARM: dts: am335x: fix cd-gpios definition as per hardware design and dt binding docs ARM: dts: omap3-igep0020: Remove duplicate uart2 pinmux ARM: dts: omap3-igep: Fix indentation ARM: dts: omap3-lilly-a83x: Don't use IRQ level flag for a GPIO ARM: dts: DRA74x: Add IOMMU nodes for DSP2 ARM: dts: DRA7: Add common IOMMU nodes ARM: dts: DRA74x: Add dsp2_system syscon node ARM: dts: DRA7: Add dsp1_system syscon node ARM: dts: Use defined GPIO constants in flags cell for OMAP2+ boards ARM: dts: Add am335x-bonegreen ARM: dts: beagle-x15: Enable the system mailboxes 5 and 6 ARM: dts: dra72-evm: Enable the system mailboxes 5 and 6 ARM: dts: dra7-evm: Enable the system mailboxes 5 and 6 ARM: dts: DRA72x: Add IPC sub-mailbox nodes for IPU1, IPU2 & DSP1 ARM: dts: DRA74x: Add IPC sub-mailbox nodes for all IPUs & DSPs ARM: dts: am335x-wega: Clean up regulators ARM: dts: dra7-evm: add gpio key support ... commit 8207e2edbdb5f2b14b653229570a4539a03d906b Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue Oct 13 14:28:02 2015 +0300 ARM: digicolor: select pinctrl/gpio driver Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 7a0205bc1895132d6a56fbbadf01885c4a4f0743 Merge: c049adc 961a86d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:26:03 2015 +0200 Merge tag 'drivers_pl172_for_4.4' of https://github.com/manabian/linux-lpc into next/drivers Merge "PL172 driver updates for v4.4" from Joachim Eastwood: Support for additional ARM MPMCs to the PL172 driver and an update to the bindings documentation to reflect this from Vladimir Zapolskiy. "The change adds support of ARM PrimeCell PL175 MPMC and PL176 MPMC, the static memory controllers on devices are similar to one found on ARM PrimeCell PL172, add support to the existing driver." * tag 'drivers_pl172_for_4.4' of https://github.com/manabian/linux-lpc: doc: dt: arm,pl172: add description of PL175 and PL176 controllers memory: pl172: add ARM PrimeCell PL176 MPMC support memory: pl172: add ARM PrimeCell PL175 MPMC support memory: pl172: correct MPMC peripheral ID register bits commit 04004d4d9ad6caa6eb65767a04afabc0644eadd8 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sun Oct 11 22:40:41 2015 +0200 ARM: configs: update lpc18xx defconfig - Enable SPIFI Flash and JFFS2 to support rootfs on Flash memory - Enable USB Phy, mass storage and SCSI to support USB memory - Enable PCF857x and JC42 I2C devices found on Hitex board - Enable PL172 to support memory mapped NOR Flash - New LPC18xx drivers: I2C, Watchdog, SCT PWM and RTC Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 19c1c32c66514fabeffa029507cdd808b3ee854c Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sun Oct 11 22:40:42 2015 +0200 MAINTAINERS: update lpc18xx entry with more drivers Add explicit entries for drivers used by the lpc18xx that is not caught by the "lpc18xx" regex pattern. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit cfd96d3e74f72fff552fd996634bdf3497a8acc9 Merge: d72b712 0450169 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:22:26 2015 +0200 Merge tag 'keystone-driver-soc_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/soc Merge "ARM Keystone SOC driver updates for 4.4" from Santosh Shilimkar: Documentation and support to be able to load the PDSP firmware necessary for accumulator operation. * tag 'keystone-driver-soc_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: soc: ti: qmss: make acc queue support optional in the driver soc: ti: add firmware file name as part of the driver Documentation: dt: soc: Add description for knav qmss driver commit 275058a2188903786e42b380ea5889ef0a7cdf95 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Oct 15 16:20:11 2015 -0400 NFS: Fix an 'unused variable' complaint when #ifndef CONFIG_NFS_V4_2 Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 95fb6144bb2222b4c0189e76c1aae006b0a02bff Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 15 21:25:15 2015 +0300 iommu/vt-d: shift wrapping bug in prq_event_thread() The "req->addr" variable is a bit field declared as "u64 addr:52;". The "address" variable is a u64. We need to cast "req->addr" to a u64 before the shift or the result is truncated to 52 bits. Fixes: a222a7f0bb6c ('iommu/vt-d: Implement page request handling') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 26322ab55aa90717c7e4bdbd8cf60a70854636f5 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Thu Oct 15 21:12:56 2015 +0100 iommu/vt-d: Fix NULL pointer dereference in page request error case Dan Carpenter pointed out an error path which could lead to us dereferencing the 'svm' pointer after we know it to be NULL because the PASID lookup failed. Fix that, and make it less likely to happen again. Fixes: a222a7f0bb6c ('iommu/vt-d: Implement page request handling') Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit d72b712824ef906f548210b0012ff7c2a041ef7e Merge: aebd774d c4a8ea9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:09:07 2015 +0200 Merge tag 'arm-soc/for-4.4/soc' of http://github.com/Broadcom/stblinux into next/soc Merge "Broadcom soc changes for v4.4 (try 2)" from Florian Fainelli: This pull request contains the following Broadcom SoC platform and driver changes: - Brian Norris create a drivers/soc/brcmstb/ stub as a place holder for SoC-specific code which is coming next - Florian Fainelli adds support for configuring the BCM7xxx SoCs Bus Interface Unit with their specific write-pairing setting, which must be saved and restored during system-wide suspend/resume, and consequently updates the brcmstb machine code to initialize the BIU - Jon Mason adds support for the Northstar Plus SoCs by introducing a custom machine descriptor matching their compatible string and setting up the PL310 L2 cache and enabling the relevant ARM errata for their Cortex-A9 * tag 'arm-soc/for-4.4/soc' of http://github.com/Broadcom/stblinux: ARM: brcmstb: Setup BIU control registers during boot soc: brcmstb: Add Bus Interface Unit control setup soc: add stubs for brcmstb SoC's ARM: NSP: Add basic support for Broadcom Northstar Plus SoC commit a340abcf4173461f688292a6879b4d5bc781c2b1 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:39 2015 +0800 nfs42: add NFS_IOC_CLONE_RANGE ioctl It follows btrfs BTRFS_IOC_CLONE_RANGE lead on ioctl number and arguments. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 811b7b85d6641df580a6c43184cf13d6fcc7498d Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:38 2015 +0800 nfs42: respect clone_blksize draft-ietf-nfsv4-minorversion2-38.txt says: Both cl_src_offset and cl_dst_offset must be aligned to the clone block size Section 12.2.1. The number of bytes to be cloned must be a multiple of the clone block size, except in the case in which cl_src_offset plus the number of bytes to be cloned is equal to the source file size. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2a92ee92d4545448066fb664674c0ae5a9d5ea99 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:37 2015 +0800 nfs: get clone_blksize when probing fsinfo NFSv42 CLONE operation is supposed to respect it. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit bea51b30b281039f0f43fb4f42028ddf33fb601f Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:36 2015 +0800 nfs42: add NFS_IOC_CLONE ioctl It can be called by user space to CLONE two files. Follow btrfs lead and define NFS_IOC_CLONE same as BTRFS_IOC_CLONE. Thus we don't mess up userspace with too many ioctls. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e5341f3a5762d17be9cdd06257c02c0098bdcab8 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:35 2015 +0800 nfs42: add CLONE proc functions Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 36022770de6cf9a403c40a68712ed2d2ea2746be Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:34 2015 +0800 nfs42: add CLONE xdr functions xdr definitions per draft-ietf-nfsv4-minorversion2-38.txt Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit aebd774de939c853122829c29c4cfe79f8b440ac Merge: dc7a499 e1a3e72 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:06:45 2015 +0200 Merge tag 'berlin-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc Merge "Marvell SoC for 4.4 take 1" from Sebastian Hesselbarth: - register cpufreq-dt device * tag 'berlin-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: ARM: berlin: register cpufreq-dt commit dc7a4996741249209d3b0fc200545de877e1fe37 Merge: 19f4705 c582fbf Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:04:18 2015 +0200 Merge tag 'berlin64-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc Merge "Marvell Berlin ARM64 SoC for 4.4 take 1" from Sebastian Hesselbarth: - enable ARCH_REQUIRE_GPIOLIB for DW GPIO driver * tag 'berlin64-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: arm64: berlin: enable ARCH_REQUIRE_GPIOLIB commit 19f47051e59d1366912705b367ceca26cdbe3428 Merge: 55fa3ee d492ccc Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:03:35 2015 +0200 Merge tag 'mvebu-soc-4.4-1' of git://git.infradead.org/linux-mvebu into next/soc Merge "mvebu soc for 4.4 (part 1)" from Gregory CLEMENT: L2 caches optimization for Armada XP * tag 'mvebu-soc-4.4-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add support to clear shared L2 bit on Armada XP commit 5f1e3c910013254221ad4bcf8d6bfcb84a1a05e5 Merge: f88839d d42f265 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:00:27 2015 +0200 Merge tag 'omap-for-v4.4/cleanup-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Merge "Clean-up for omaps for v4.4 merge window" from Tony Lindgren: - Remove legacy omap3 ISP code as the driver is DT only - Remove VoiceBlue board support as it's been unused over 10 years now - Remove unused polarity control macros for TWL - Remove two unneeded semicolons - Remove unused core dpll code for reprogramming the rates Note that this branch is against v4.3-rc4 as that contains critical MMC related fixes to boot with MMC working on most omaps. * tag 'omap-for-v4.4/cleanup-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP3: clock: remove un-used core dpll re-program code ARM: OMAP2+: Remove unneeded semicolons ARM: OMAP3: vc: Remove unused macros ARM: OMAP1: Remove board support for VoiceBlue board ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation commit f88839ddbe68ed28471ac0b0ec2c338ffa3f970f Merge: 064ca93 7ee20ff Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 21:54:05 2015 +0200 Merge tag 'mvebu-cleanup-4.4-1' of git://git.infradead.org/linux-mvebu into next/cleanup Merge "mvebu cleanup for 4.4 (part 1)" from Gregory CLEMENT: use the CR_C define instead of a literal value * tag 'mvebu-cleanup-4.4-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Use a CR_C constant instead of a hard-coded one commit 0dfc70c33409afc232ef0b9ec210535dfbf9bc61 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Thu Oct 15 13:38:48 2015 -0600 NVMe: Fix memory leak on retried commands Resources are reallocated for requeued commands, so unmap and release the iod for the failed command. It's a pretty bad memory leak and causes a kernel hang if you remove a drive because of a busy dma pool. You'll get messages spewing like this: nvme 0000:xx:xx.x: dma_pool_destroy prp list 256, ffff880420dec000 busy and lock up pci and the driver since removal never completes while holding a lock. Cc: stable@xxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 4.0.x- Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit a7b3d5a715f489ee542e59d722281c9f16da50dc Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Sep 14 14:47:45 2015 +0800 arm: berlin: add CPU hotplug support Add cpu hotplug support for berlin SoCs such as BG2 and BG2Q. These SoC don't support power off cpu independently, but we also want cpu hotplug support in these SoCs. We achieve this goal by putting the dying CPU in WFI state after the coherency is disabled, then asserting the dying CPU reset bit to put the CPU in reset state. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit ac7fc233b2c337880d7d973be19f6fb03108d6f7 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Sep 14 14:47:44 2015 +0800 arm: berlin: use non-self-cleared reset register to reset cpu In Berlin SoCs, there are two kinds of cpu reset control registers: the first one's corresponding bits will be self-cleared after some cycles, while the second one's bits won't. Previously the first kind of reset control register is used, this patch uses the second kind one to prepare for the next hotplug commit. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 515f1a2027006839c08c842da919abfcc3c7ae2a Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 15 20:55:55 2015 +0200 clk: berlin: add cpuclk Add cpuclk in the Berlin BG2Q clock driver. This clk has a divider fixed to 1. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 5d984ee707a6774aa0f28722a99fdeac85e47f2c Merge: d819e7a 28c039e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 20:50:02 2015 +0200 Merge tag 'berlin-dt-cpuclk-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt Pull "Marvell Berlin DT CPU clock for 4.4" from Sebastian Hesselbarth: - add missing CLKID_CPU for Berlin BG2Q * tag 'berlin-dt-cpuclk-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: ARM: berlin: dts: add CLKID_CPU for BG2Q commit 0f0ebb13493f1133aa9fbea44783f0e5380a9770 Merge: 6ff33f3 28c039e Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Thu Oct 15 20:49:33 2015 +0200 Merge tag 'berlin-dt-cpuclk-for-4.4-1' into berlin/cpuclk Marvell Berlin DT CPU clock for 4.4 - add missing CLKID_CPU for Berlin BG2Q commit 28c039eebaaa28def9364b9a12a30192be8b4730 Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Thu Oct 15 20:28:46 2015 +0200 ARM: berlin: dts: add CLKID_CPU for BG2Q Marvell Berlin BG2Q SoC also has a clock for the CPU, add a corresponding CLKID to the dt-binding include. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit a86760664f4cf44c0981ac0c91777eed3a2970e4 Author: Romain Bezut <rbezut@xxxxxxxxx> Date: Thu Sep 24 01:31:16 2015 +0200 PCI/MSI: Export all remapped MSIs to sysfs attributes irqbalance uses sysfs attributes to populate its internal database, which is then used to bind the IRQ to the appropriate NUMA node. On a device accepting multiple MSIs and with interrupt remapping enabled, only the first IRQ entry is exported in the "msi_irqs" directory. This results in irqbalance having no clue of the NUMA affinity for the extra IRQs, so it can't bind them to the correct node. Export all MSI interrupts as sysfs attributes when relevant. [bhelgaas: changelog] Signed-off-by: Romain Bezut <rbezut@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c562657a75282afb00498ea82949ba7a9944ed15 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 15 17:04:04 2015 +0300 drm/i915: Kill the leftover RMW from ivb_sprite_disable() We still had one lingering RMW in ivb_sprite_disable(), all the other RMWs were killed off from the sprite code some time ago. Kill the straggler too. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17b38fb89055bf5df402980c9546a8b046552f2b Author: Doron Tsur <doront@xxxxxxxxxxxx> Date: Thu Oct 15 15:01:02 2015 +0300 IB/core: Fix memory corruption in ib_cache_gid_set_default_gid When ib_cache_gid_set_default_gid is called from several threads, updating the table could make find_gid fail, therefore a negative index will be retruned and an invalid table entry will be used. Locking find_gid as well fixes this problem. Fixes: 03db3a2d81e6 ('IB/core: Add RoCE GID table management') Signed-off-by: Doron Tsur <doront@xxxxxxxxxxxx> Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 26ba9cd48fc0c2ff741de913270e9469506f3666 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Sep 24 17:52:52 2015 -0700 gpio: pl061: assign the apropriate handler for irqs The PL061 can handle level IRQs and edge IRQs, however it is just utilizing handle_simple_irq() for all IRQs. Inspired by Stefan Agners patch to vf610, this assigns the right handler depending on what type is set up, and after this handle_bad_irq() is only used as default and if the type is not specified, as is done in the OMAP driver: defining the IRQ type is really not optional for this driver. The interrupt handler was just writing the interrupt clearing register for all lines that were high when entering the handling loop, this is wrong: that register is only supposed to be written (on a per-line basis) for edge IRQs, so this ACK was moved to the .irq_ack() callback as is proper. Tested with PL061 on the ARM RealView PB11MPCore and the MMC/SC card detect GPIO. Cc: Jonas Gorski <jogo@xxxxxxxxxxx> Cc: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit eb351031a15c4a83b9955aadad783c6672ab8868 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 16:46:52 2015 +0800 ahci: qoriq: Fix a compiling warning kbuild test robot reports the warnings: drivers/ata/ahci_qoriq.c: In function 'ahci_qoriq_hardreset': >> include/asm-generic/io.h:163:2: warning: 'px_is' may be used >> uninitialized in this function [-Wuninitialized] drivers/ata/ahci_qoriq.c:70:14: note: 'px_is' was declared here >> include/asm-generic/io.h:163:2: warning: 'px_cmd' may be used >> uninitialized in this function [-Wuninitialized] drivers/ata/ahci_qoriq.c:70:6: note: 'px_cmd' was declared here This patch fixed it by introducing a local variable. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 4f1d841475e1f6e9e32496dda11215db56f4ea73 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Oct 9 17:51:47 2015 +0200 ARM: tegra: Comment out gpio-ranges properties While the addition of these properties is technically correct it unveils a bug with deferred probe. The problem is that the presence of the gpio- range property causes the gpio-tegra driver to defer probe (it needs the pinctrl driver to be ready). That's technically correct, but it causes a couple of issues: - The keyboard on Chromebooks stops working. The reason for that is that the gpio-tegra device has not registered an IRQ domain by the time the EC SPI device is registered, hence the interrupt number resolves to 0. This is technically a bug in the SPI core, since it should really resolve the interrupt at probe time and defer if the IRQ domain isn't available yet. This is similar to what's done for I2C and platform device already. - The gpio-tegra device deferring probe means that it is moved to the end of the dpm_list. This list defines the suspend/resume order for devices. However the core lacks a way to move all users of the gpio-tegra device to the end of the dpm_list at the same time. This in turn results in a subtle bug on Jetson TK1, where the gpio-keys device is used to expose the power key as input. The power key is a convenient way to wake the system from suspend. Interestingly, the gpio-keys device ends up getting probed at a point after gpio-tegra has been probed successfully from having been deferred earlier. As such the driver doesn't need to defer the probe itself, and hence the device isn't moved to the end of the dpm_list. This causes the gpio-tegra device to be suspended before gpio-keys, which in turn leaves gpio-keys unable to wake the system from suspend. There are patches in the works to fix both of the above issues, but they are too involved to make it into v4.3, so in the meantime let's fix the regressions by commenting out the gpio-ranges properties until the fixes have landed. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit b02176f30cd30acccd3b633ab7d9aed8b5da52ff Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 8 12:20:22 2015 -0400 block: don't release bdi while request_queue has live references bdi's are initialized in two steps, bdi_init() and bdi_register(), but destroyed in a single step by bdi_destroy() which, for a bdi embedded in a request_queue, is called during blk_cleanup_queue() which makes the queue invisible and starts the draining of remaining usages. A request_queue's user can access the congestion state of the embedded bdi as long as it holds a reference to the queue. As such, it may access the congested state of a queue which finished blk_cleanup_queue() but hasn't reached blk_release_queue() yet. Because the congested state was embedded in backing_dev_info which in turn is embedded in request_queue, accessing the congested state after bdi_destroy() was called was fine. The bdi was destroyed but the memory region for the congested state remained accessible till the queue got released. a13f35e87140 ("writeback: don't embed root bdi_writeback_congested in bdi_writeback") changed the situation. Now, the root congested state which is expected to be pinned while request_queue remains accessible is separately reference counted and the base ref is put during bdi_destroy(). This means that the root congested state may go away prematurely while the queue is between bdi_dstroy() and blk_cleanup_queue(), which was detected by Andrey's KASAN tests. The root cause of this problem is that bdi doesn't distinguish the two steps of destruction, unregistration and release, and now the root congested state actually requires a separate release step. To fix the issue, this patch separates out bdi_unregister() and bdi_exit() from bdi_destroy(). bdi_unregister() is called from blk_cleanup_queue() and bdi_exit() from blk_release_queue(). bdi_destroy() is now just a simple wrapper calling the two steps back-to-back. While at it, the prototype of bdi_destroy() is moved right below bdi_setup_and_register() so that the counterpart operations are located together. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: a13f35e87140 ("writeback: don't embed root bdi_writeback_congested in bdi_writeback") Cc: stable@xxxxxxxxxxxxxxx # v4.2+ Reported-and-tested-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Link: http://lkml.kernel.org/g/CAAeHK+zUJ74Zn17=rOyxacHU18SgCfC6bsYW=6kCY5GXJBwGfQ@xxxxxxxxxxxxxx Reviewed-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ef658fc2a6809b42dd7002229fd174a9a1645707 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Oct 15 09:49:57 2015 -0600 NVMe: initialize error to '0' Reported-by: Keith Busch <keith.busch@xxxxxxxxx> Fixes: 1951feae88c5 ("nvme: use an integer value to Linux errno values") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 81c04b943872e0332872df18cec1dec89b178b4d Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 12 21:23:39 2015 +0200 nvme: use an integer value to Linux errno values Use a separate integer variable to hold the signed Linux errno values we pass back to the block layer. Note that for pass through commands those might still be NVMe values, but those fit into the int as well. Fixes: f4829a9b7a61: ("blk-mq: fix racy updates of rq->errors") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f1c08c9bc8f475aa242270da30b6cc9232bd19e0 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Oct 14 11:24:17 2015 +0200 clocksource/drivers/imx: Allow timer irq affinity change Allow the timer core to change the smp affinity of the broadcast timer irq by setting CLOCK_EVT_FEAT_DYNIRQ flag. For this to work the timer core needs to be told about the used irq. This reduces interrupt pressure and wakeups on CPU0 as well as vastly reducing the number of timer broadcast IPIs. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 31f7987406497dc65408dee4e84e3f3cc3ffe9cd Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Fri Sep 4 02:49:58 2015 +0300 clocksource/drivers/exynos_mct: Use container_of() instead of this_cpu_ptr() Since evt structure is embedded in per-CPU mevt structure it's definitely faster to use container_of() to get access to mevt if we have evt (for example as incoming function argument) instead of more expensive approach with this_cpu_ptr(&percpu_mct_tick). this_cpu_ptr() on per-CPU mevt structure leads to access to cp15 to get cpu id and arithmetic operations. Container_of() is cheaper since it's just one asm instruction. This should work if used evt pointer is correct and owned by local mevt structure. For example, before this patch set_state_shutdown() looks like: 4a4: e92d4010 push {r4, lr} 4a8: e3004000 movw r4, #0 4ac: ebfffffe bl 0 <debug_smp_processor_id> 4b0: e3003000 movw r3, #0 4b4: e3404000 movt r4, #0 4b8: e3403000 movt r3, #0 4bc: e7933100 ldr r3, [r3, r0, lsl #2] 4c0: e0844003 add r4, r4, r3 4c4: e59400c0 ldr r0, [r4, #192] ; 0xc0 4c8: ebffffd4 bl 420 <exynos4_mct_tick_stop.isra.1> 4cc: e3a00000 mov r0, #0 4d0: e8bd8010 pop {r4, pc} With this patch: 4a4: e92d4010 push {r4, lr} 4a8: e59000c0 ldr r0, [r0, #192] ; 0xc0 4ac: ebffffdb bl 420 <exynos4_mct_tick_stop.isra.1> 4b0: e3a00000 mov r0, #0 4b4: e8bd8010 pop {r4, pc} Also, for me size of exynos_mct.o decreased from 84588 bytes to 83956. Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit ba49af35be8a41af7f00a37902a2d70764078bc5 Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Thu Sep 10 03:38:21 2015 +0300 clocksource/drivers/h8300_*: Remove unneeded memset()s Memory for timer16_priv, timer8_priv and tpu_priv structs is allocated by devm_kzalloc() in corresponding probe functions of drivers. No need to zero it one more time. Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 6eeb8c355fbbe66d1d52eadaa588d5651f8cb092 Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Thu Sep 10 03:38:20 2015 +0300 clocksource/drivers/sh_cmt: Remove unneeded memset() in sh_cmt_setup() Memory for cmt struct is allocated by kzalloc() in sh_cmt_setup. Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit fdbd13105d08fed6a8201549f389e9c12021b67b Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Thu Sep 10 03:38:19 2015 +0300 clocksource/drivers/em_sti: Remove unneeded memset()s Memory for cs and ced fields in struct em_sti_priv is allocated by devm_kzalloc() in the beginning of em_sti_probe() so they don't need to be zeroed one more time in em_sti_register_clocksource() and in em_sti_register_clockevent(). Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit f14665f63b92f958636b7e7610ec2c9726ea9335 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Mon Jul 13 17:32:46 2015 +0800 clocksource/drivers/mediatek: Use GPT as sched clock source When cpu is in deep idle, arch timer will stop counting. Setup GPT as sched clock source so it can keep counting in idle. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit fc686d0037d782c994e338ecb01bfef8bbafff9f Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Aug 24 15:14:30 2015 +0200 clockevents/drivers/mtk: Fix spurious interrupt leading to crash After analysis done by Yingjoe Chen, the timer appears to have a pending interrupt when it is enabled. Fix this by acknowledging the pending interrupt when enabling the timer interrupt. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> commit 166bdbd23161160f2abcea70621adba179050bee Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 18:32:30 2015 +0100 iommu/arm-smmu: Add support for MSI on SMMUv3 Despite being a platform device, the SMMUv3 is capable of signaling interrupts using MSIs. Hook it into the platform MSI framework and enjoy faults being reported in a new and exciting way. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> [will: tidied up the binding example and reworked most of the code] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c88ae5de71629e4b5e4075897d9980a7b079d122 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 13 17:53:24 2015 +0100 iommu/arm-smmu: Remove redundant calculation of gr0 base address Since commit 1463fe44fd0f ("iommu/arm-smmu: Don't use VMIDs for stage-1 translations"), we don't need the GR0 base address when initialising a context bank, so remove the useless local variable and its init code. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c0733a2cf30c1e7923b6ad4f8df67941502923de Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 13 17:51:14 2015 +0100 iommu/arm-smmu: Fix error checking for ASID and VMID allocation The bitmap allocator returns an int, which is one of the standard negative values on failure. Rather than assigning this straight to a u16 (like we do for the ASID and VMID callers), which means that we won't detect failure correctly, use an int for the purposes of error checking. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9d1d459bf52b4a07a934558e055bb61ad82f44cd Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 14:19:48 2015 +0300 intel_scu_ipc: Protect dev member assignment on ->remove() Protect the dev member assignment in ->remove() since user may potentially call unbind from a sysfs even if the driver is built-in. The latter might be racy with ongoing SCU communication. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 51c58f2b4f24214950d3dc6ab31af7c2532b096f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 14:19:47 2015 +0300 intel_scu_ipc: Switch to use module_pci_driver() macro Eliminate some boilerplate code by using module_pci_driver() instead of init/exit, moving the salient bits from init into probe. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 20903169fed97e1a972a85ed0b02f20465ae2ff8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 14:19:46 2015 +0300 intel_scu_ipc: Convert to use struct device * Switch the code to use struct device * instead of struct pci_dev * since there is no reason to access PCI related features in the driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit b0b3f578a1c363585d0f74f3b80a1dc968d150b4 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 14:19:45 2015 +0300 intel_scu_ipc: Propagate pointer to struct intel_scu_ipc_dev As much as possible propagate a pointer to struct intel_scu_ipc_dev. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f63fbcee6720a529b8f94c7d72539c15a1a7a7f8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 14:19:44 2015 +0300 intel_scu_ipc: Fix error path by turning to devm_* / pcim_* The error handling is broken right now since it leaves resources unfreed. Convert the code to use managed resources to fix the error handling. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d819e7a7524fe0f43591b7c274685f6e66e48342 Merge: 5078f77 04edde2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 17:21:01 2015 +0200 Merge tag 'qcom-dt-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm into next/dt Pull "Qualcomm ARM Based Device Tree Updates for v4.4" from Andy Gross: * Add DT binding document for SMEM * Add SMD, RPM, and Regulator nodes on MSM8974 * Remove extra reg element from iadc device * Remove redunandant i2c pinctrl properties on APQ8064 * Remove unnecessary eeprom label on IFC6410 * Remove unnecessary eeprom label from QS600 * Add PM8921 RTC support on APQ8064 * Add PM8921 pwrkey support on APQ8064 * Prefix GSBI6 uart pins on APQ8064 correctly * Add missing GSBI7 uart pinctrl on APQ8064 * Add missing GSBI7 uart pinctrl on IFC6410 * Add missing GSBI7 pinctrl uart property on QS600 * Add pwrseq support for WLAN on IFC6410 * Add pwrseq support for WLAN on QS600 * Add notify led support on IFC6410 * Add SD card detect support onQS600 * Add #power-domain-cells property to documentation * Add Qualcomm SMBB binding document * Add PM8941 charge node * Fix typo in disabled property on MSM8974 * tag 'qcom-dt-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm: ARM: dts: msm8974: fix typo in "disabled" property ARM: dts: qcom-pm8941: Add charger node dt-binding: power: Add Qualcomm SMBB binding arm: dts: qcom: Add #power-domain-cells property ARM: dts: qs600: Add SD card detect support. ARM: dts: apq8064-ifc6410: add notify led support. ARM: dts: qs600: add pwrseq support to WLAN ARM: dts: ifc6410: Add pwrseq support for WLAN ARM: dts: qs600: Add missing pinctrl property for gsbi7 uart ARM: dts: ifc6410: Add missing pinctrl to gsbi7 uart ARM: dts: apq8064: add missing gsbi7 uart pinctrl ARM: dts: apq8064: Prefix the gsbi6 uart pins correctly ARM: dts: apq8064: add pm8921 pwrkey support ARM: dts: apq8064: add pm8921 rtc ARM: dts: qs600: remove unnecessary eeprom label ARM: dts: ifc6410: remove unnecessary eeprom label ARM: dts: apq8064: remove redundant i2c pinctrl properties ARM: dts: qcom: Remove extra reg element from iadc device ARM: dts: msm8974: Add smd, rpm and regulator nodes soc: qcom: Add device tree binding for SMEM commit 5078f77e14431efbfacd541c563b101bd6a99d75 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 15 12:20:15 2015 +0200 ARM64: juno: add NOR flash to device tree The Juno motherboard has a NOR flash on the motherboard, enable this to be accessed with the CFI flash driver. Results after enabling MTD, MTD_CFI, MTD_PHYSMAP, MTD_PHYSMAP_OF, MTD_CFI_INTELEXT: 8000000.flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000089 Chip ID 0x008919 Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Using buffer write method Using auto-unlock on power-up/resume cfi_cmdset_0001: Erase suspend on write enabled erase region 0: offset=0x0,size=0x40000,blocks=255 erase region 1: offset=0x3fc0000,size=0x10000,blocks=4 Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 91c42b0da8e353697c9b49fe541056c5d0518c49 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Wed Oct 14 22:49:40 2015 +0200 usb: gadget: loopback: Fix looping back logic implementation Since commit e0857ce58e8658657f5f12fe25272b93cfeb16aa ("usb: gadget: loopback: don't queue requests to bogus endpoints") Loopback function is not realy working as that commit removed all looping back logic. After that commit ep-out works like /dev/null and ep-in works like /dev/zero. This commit fix this issue by allocating set of out requests and set of in requests but each out req shares buffer with one in req: out_req->buf ---> buf <--- in_req.buf out_req->context <---> in_req.context The completion routine simply enqueue the suitable req in an oposite direction. Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+ Fixes: e0857ce58e8658657f5f12fe25272b93cfeb16aa ("usb: gadget: loopback: don't queue requests to bogus endpoints") Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e3d05583a725530b20f0981ff049257042528280 Merge: 36dd606 99f7445 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 17:18:49 2015 +0200 Merge tag 'renesas-dt2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Second Round of Renesas ARM Based SoC DT Updates for v4.4" from Simon Horman: * Enable the following on the porter board: I2C2, PCI, PCIe, QSPI, SATA0, SDHI0/2, USB PHY and VIN0/ADV7180. * tag 'renesas-dt2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: porter: enable internal PCI and USB PHY ARM: shmobile: porter: enable PCIe ARM: shmobile: porter: add QSPI DT support ARM: shmobile: porter: add VIN0/ADV7180 DT support ARM: shmobile: porter: add I2C2 DT support ARM: shmobile: porter: enable SATA0 ARM: shmobile: porter: add SDHI0/2 DT support commit 36dd6066c05db82da84b7c45113583b7fa57f4fa Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Oct 15 18:05:32 2015 +0900 ARM: dts: uniphier: change the external bus address mapping In UniPhier SoCs before ProXstream2 and PH1-LD6b, two address spaces 0x00000000 - 0x0fffffff 0x40000000 - 0x4fffffff are both mapped to the external bus (also called system bus), so either was OK. In the newest two SoCs, the former (0x00000000 - 0x0fffffff) is assigned for the serial NOR interface. For the consistency, use the latter for all the SoCs. Also, fix the range properties to reflect the real address mapping, where the support card is located at the offset address 0x01f00000 of CS1 of the external bus. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit a787f40a9a29674d1b9146b7a35e491e7a571152 Merge: 2e4e5da d8e1f5e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 17:13:26 2015 +0200 Merge tag 'omap-for-v4.3/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "Fixes for omap against v4.3-rc5" from Tony Lindgren: - Regulator fix for beagle-x15 to fix HDMI without a SD card being inserted - GPMC fix for showing proper timings and to allow enabling debug options that somehow was unselectable earlier - Add minimal documentation for new MMC1 dependency on REGULATOR_PBIAS as it may not be obvious for people with targeted .config files * tag 'omap-for-v4.3/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: Documentation: ARM: List new omap MMC requirements memory: omap-gpmc: dump "before" state before first modification memory: omap-gpmc: Fix unselectable debug option for GPMC ARM: dts: am57xx-beagle-x15: set VDD_SD to always-on commit 2e4e5da55afaf9315f2398e85424fd3824459220 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Oct 15 20:32:05 2015 +0900 ARM: dts: uniphier: fix IRQ number for devices on PH1-LD6b ref board The IRQ signal from external devices on this board is connected to the XIRQ4 pin of the SoC. The IRQ number should be 52, not 50. Fixes: a5e921b4771f ("ARM: dts: uniphier: add ProXstream2 and PH1-LD6b SoC/board support") Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit fb659882cc6482bd2e32ec0ab8ab7afeda649413 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Oct 12 14:48:39 2015 +0100 drivers/perf: arm_pmu: avoid CPU device_node reference leak of_cpu_device_node_get increments the reference count on the CPU device_node, so we must take care to of_node_put once we've finished with it. This patch fixes the perf IRQ probing code to avoid the leak. Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit a0bcbe969f564d1ec08658170dda72a1b7e9053a Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Thu Oct 15 14:32:46 2015 +0100 bus: arm-ccn: Fix irq affinity setting on CPU migration When PMU context is migrating between CPUs, interrupt affinity is set as well. Only this should not happen when the CCN interrupt is not being used at all (the driver is using a hrtimer tick instead). Fixed now. Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit b20519fd5007908c6a816cab1b9db911915e9fbd Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Thu Oct 15 14:32:45 2015 +0100 bus: arm-ccn: Handle correctly no-more-cpus case When migrating events the driver picks another cpu using cpumask_any_but() function, which returns value >= nr_cpu_ids when there is none available, not a negative value as the code assumed. Fixed now. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 1951feae88c5a39105a704188ccf910faf1d0c50 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 12 21:23:39 2015 +0200 nvme: use an integer value to Linux errno values Use a separate integer variable to hold the signed Linux errno values we pass back to the block layer. Note that for pass through commands those might still be NVMe values, but those fit into the int as well. Fixes: f4829a9b7a61: ("blk-mq: fix racy updates of rq->errors") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3a53b3bcc7af2f7ddfb682cb8efb26e40fe50fb1 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Oct 14 21:18:31 2015 +0200 pata_it821x: use "const char *" for string literals Some string literals are pointed to by "char *". This patch fixes that. tj: Updated patch title and description. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 5cec753709adf1a20c8b15edf8e5245cf4fd4e82 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Thu Oct 15 15:52:15 2015 +0100 iommu/vt-d: Implement SVM_FLAG_SUPERVISOR_MODE for kernel access This is only usable for the static 1:1 mapping of physical memory. Any access to vmalloc or module regions will require some way of doing an IOTLB flush. It's theoretically possible to hook into the tlb_flush_kernel_range() function, but that seems like overkill â?? most of the addresses accessed through a kernel PASID *will* be in the 1:1 mapping. If we really need to allow access to more interesting kernel regions, then the answer will probably be an explicit IOTLB flush call after use, akin to the DMA API's unmap function. In fact, it might be worth introducing that sooner rather than later, and making it just BUG() if the address isn't in the static 1:1 mapping. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit f42d79ab67322e51b92dd7aa965e310c71352a64 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Wed Oct 14 05:02:15 2015 +0000 blk-mq: fix use-after-free in blk_mq_free_tag_set() tags is freed in blk_mq_free_rq_map() and should not be used after that. The problem doesn't manifest if CONFIG_CPUMASK_OFFSTACK is false because free_cpumask_var() is nop. tags->cpumask is allocated in blk_mq_init_tags() so it's natural to free cpumask in its counter part, blk_mq_free_tags(). Fixes: f26cdc8536ad ("blk-mq: Shared tag enhancements") Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 21d4de1469a1da20a14a745c5f49488bba417ea7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 8 10:12:01 2015 +0300 gpio: pl061: returning with lock held in pl061_irq_type() We were returning with "chip->lock" held by mistake. It's safe to move the return to before we take the spinlock. Fixes: 1dbf7f299f90 ('gpio: pl061: detail IRQ trigger handling') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 876945dbf6497c7539ef958fee7ade970fbbe17a Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Thu Oct 1 20:14:00 2015 +0100 arm64: Hook up IOMMU dma_ops With iommu_dma_ops in place, hook them up to the configuration code, so IOMMU-fronted devices will get them automatically. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 13b8629f651164d71f4d38b821925f93ba4236c8 Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Thu Oct 1 20:13:59 2015 +0100 arm64: Add IOMMU dma_ops Taking some inspiration from the arch/arm code, implement the arch-specific side of the DMA mapping ops using the new IOMMU-DMA layer. Since there is still work to do elsewhere to make DMA configuration happen in a more appropriate order and properly support platform devices in the IOMMU core, the device setup code unfortunately starts out carrying some workarounds to ensure it works correctly in the current state of things. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 0db2e5d18f76a66ca945447d9f610bed0a94ca5a Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Thu Oct 1 20:13:58 2015 +0100 iommu: Implement common IOMMU ops for DMA mapping Taking inspiration from the existing arch/arm code, break out some generic functions to interface the DMA-API to the IOMMU-API. This will do the bulk of the heavy lifting for IOMMU-backed dma-mapping. Since associating an IOVA allocator with an IOMMU domain is a fairly common need, rather than introduce yet another private structure just to do this for ourselves, extend the top-level struct iommu_domain with the notion. A simple opaque cookie allows reuse by other IOMMU API users with their various different incompatible allocator types. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 569e4f7782fb92d0e1b395b5fb01de642dd74dcf Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Thu Oct 15 13:59:14 2015 +0100 iommu/vt-d: Implement SVM_FLAG_PRIVATE_PASID to allocate unique PASIDs Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 0204a49609824163092c32a8aeb073f7e9acc76d Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Oct 13 17:18:10 2015 +0100 iommu/vt-d: Add callback to device driver on page faults Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit a222a7f0bb6c94c31cc9c755110593656f19de89 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Oct 7 23:35:18 2015 +0100 iommu/vt-d: Implement page request handling Largely based on the driver-mode implementation by Jesse Barnes. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 9172796bc3754af73b90cbd70586812ddbc1e0ca Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Thu Oct 15 10:33:21 2015 -0400 ext4: promote ext4 over ext2 in the default probe order Prevent clean ext3 filesystems from mounting by default with the ext2 driver (with no journal!) by putting ext4 ahead of ext2 in the default probe order. This will have the effect of mounting ext2 filesystems with ext4.ko by default, which is a safer failure than hoping the user notices that their journalled ext3 is now running without a journal! Users who require ext2.ko for ext2 can either disable ext4.ko or explicitly request ext2 via "mount -t ext2" or "rootfstype=ext2". Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 8595798ca34d186d39abcb277591e541776c0ef5 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Thu Oct 15 10:30:36 2015 -0400 jbd2: gate checksum calculations on crc driver presence, not sb flags Change the journal's checksum functions to gate on whether or not the crc32c driver is loaded, and gate the loading on the superblock bits. This prevents a journal crash if someone loads a journal in no-csum mode and then randomizes the superblock, thus flipping on the feature bits. Tested-By: Nikolay Borisov <kernel@xxxxxxxx> Reported-by: Nikolay Borisov <kernel@xxxxxxxx> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 3e9d992f93fecc746baa9d4854acc026d422094f Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Wed Oct 14 23:03:34 2015 +0200 usb: gadget: loopback: fix: Don't share qlen and buflen between instances Each instance of loopback function may have different qlen and buflen attributes values. When linking function to configuration those values had been assigned to global variables. Linking other instance to config overwrites those values. This commit moves those values to f_loopback structure to avoid overwriting. Now each function has its own instance of those values. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Reviewed-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b90197b655185a11640cce3a0a0bc5d8291b8ad2 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Oct 15 10:29:05 2015 -0400 ext4: use private version of page_zero_new_buffers() for data=journal mode If there is a error while copying data from userspace into the page cache during a write(2) system call, in data=journal mode, in ext4_journalled_write_end() were using page_zero_new_buffers() from fs/buffer.c. Unfortunately, this sets the buffer dirty flag, which is no good if journalling is enabled. This is a long-standing bug that goes back for years and years in ext3, but a combination of (a) data=journal not being very common, (b) in many case it only results in a warning message. and (c) only very rarely causes the kernel hang, means that we only really noticed this as a problem when commit 998ef75ddb caused this failure to happen frequently enough to cause generic/208 to fail when run in data=journal mode. The fix is to have our own version of this function that doesn't call mark_dirty_buffer(), since we will end up calling ext4_handle_dirty_metadata() on the buffer head(s) in questions very shortly afterwards in ext4_journalled_write_end(). Thanks to Dave Hansen and Linus Torvalds for helping to identify the root cause of the problem. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit 45c1da501fc5051fb04f579692f5f0a7d3b0ffbe Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 09:36:34 2015 +0200 drm/radeon: Use rdev->gem.mutex to protect hyperz/cmask owners This removes the last depency of radeon for dev->struct_mutex! Also the locking scheme for hyperz/cmask owners seems a bit unsound, there's no protection in the preclose handler (and that never did hold dev->struct_mutex while being called). So grab the same lock there, too. There's also all the checks in the cs checker, but since the overall design seems to never stall for the previous owner I figured it's ok if I leave this racy. It was racy even before I touched it after all too. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 344cb4e0b6f3a0dbef0643eacb4946338eb228c0 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Thu Oct 15 10:19:11 2015 +0800 iommu/vt-d: Use cmpxchg16b to update posted format IRTE atomically If IRTE is in posted format, the 'pda' field goes across the 64-bit boundary, we need use cmpxchg16b to atomically update it. We only expose posted-interrupt when X86_FEATURE_CX16 is supported and use to update it atomically. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 922ec58c70cd4a1065dd3c9f94e845dc1348b533 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 09:12:49 2015 +0200 cfg80211: reg: remove useless reg_timeout scheduling When the functions reg_set_rd_driver() and reg_set_rd_country_ie() return with an error, the calling function already restores data by calling restore_regulatory_settings(), so there's no need to also schedule a timeout (which would lead to other side effects such as indicating CRDA failed, which clearly isn't true.) Remove the scheduling. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c7d319e542a3126bca029745735cdef5a5ca55c2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 09:03:05 2015 +0200 cfg80211: reg: search built-in database directly Instead of searching the built-in database only in the worker, search it directly and return an error if the entry cannot be found (or memory cannot be allocated.) This means that builtin database queries no longer rely on the timeout. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cecbb069cce37dac754380d36c31e286a276e4c3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 08:47:34 2015 +0200 cfg80211: reg: rename reg_call_crda to reg_query_database The new name is more appropriate since in the case of a built-in database it may not really rely on CRDA. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 25b20dbdc47f305ca31fc5eff65b8a069776f679 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 12:05:05 2015 +0200 cfg80211: reg: fix reg_call_crda() return value bug The function reg_call_crda() can't actually validly return REG_REQ_IGNORE as it does now when calling CRDA fails since that return value isn't handled properly. Fix that. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7cf374182391d67f08c0ef0519a57fb594e0f543 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 08:44:32 2015 +0200 cfg80211: reg: remove useless non-NULL check There's no way that the alpha2 pointer can be NULL, so no point in checking that it isn't. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8047d2616dc7ff47d34f5bc64835e060ccb5db1c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 16:16:09 2015 +0200 cfg80211: fix gHz to GHz There's no "g" prefix, only "G" (1e9) that was clearly intended here. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d14f6fced5f9360edca5a1325ddb7077aab1203b Author: Jay Cornwall <jay@xxxxxxxxxxxx> Date: Wed Sep 16 14:10:03 2015 -0500 iommu/amd: Fix BUG when faulting a PROT_NONE VMA handle_mm_fault indirectly triggers a BUG in do_numa_page when given a VMA without read/write/execute access. Check this condition in do_fault. do_fault -> handle_mm_fault -> handle_pte_fault -> do_numa_page mm/memory.c 3147 static int do_numa_page(struct mm_struct *mm, struct vm_area_struct *vma, .... 3159 /* A PROT_NONE fault should not end up here */ 3160 BUG_ON(!(vma->vm_flags & (VM_READ | VM_EXEC | VM_WRITE))); Signed-off-by: Jay Cornwall <jay@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 0a878716265e9af9f697264dc2e858fcc060d833 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 14:23:01 2015 +0200 drm/i915: restore ggtt double-bind avoidance This was accidentally lost in commit 75d04a3773ecee617847de963ae4195d6aa74c28 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Apr 28 17:56:17 2015 +0300 drm/i915/gtt: Allocate va range only if vma is not bound While at it implement an improved version suggested by Chris which avoids the double-bind irrespective of what type of bind is done first. Note that this exact bug was already addressed in commit d0e30adc42d979e4adc36b6c112b57337423b70c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 20:02:48 2015 +0100 drm/i915: Mark PIN_USER binding as GLOBAL_BIND without the aliasing ppgtt but the problem is still that originally in commit 0875546c5318c85c13d07014af5350e9000bc9e9 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Apr 20 09:04:05 2015 -0700 drm/i915: Fix up the vma aliasing ppgtt binding if forgotten to take into account there case where we have a GLOBAL_BIND before a LOCAL_BIND. This patch here fixes that. v2: Pimp commit message and revert the partial fix. v3: Split into two functions to specialize on aliasing_ppgtt y/n. v4: WARN_ON for paranoia in the init sequence, since the ggtt probe and aliasing ppgtt setup are far apart. v5: Style nits. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Link: http://mid.gmane.org/1444911781-32607-1-git-send-email-daniel.vetter@xxxxxxxx Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e12c8ce8c91fe4fa999d3b4cae8eb4af4fab49d5 Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Thu Aug 27 13:46:30 2015 -0700 drm/i915/skl: Enable pipe gamma for sprite planes. Since SKL has universal planes, we should configure the sprite planes and the primary plane the same. For the primary plane we do enable the pipe gamma on the plane so do the same for the non-primary planes. Without this, the pipe CRC values will be different for something displayed on the primary plane and something displayed on a sprite plane when the ARGB8888 format is used. Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc6f93bce582ccf76335843584e6a797ac72813c Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Mon Aug 31 14:03:30 2015 -0700 drm/i915/skl+: Enable pipe CSC on cursor planes. (v2) Extend this to SKL and BXT as it's needed for these platforms as well. v2: Change if condition to HAS_DDI() instead of listing each platform Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 96aec911482246a319bf457f39fa848ce436c8fd Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Oct 14 12:37:32 2015 -0500 amd-xgbe: Use system workqueue for device restart A previous patch switched from using the system workqueue to the device workqueue for various operations. During a device restart the device workqueue is flushed so the restart cannot use this workqueue or else a deadlock results. Move the device restart back to using the system workqueue. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74661bee1f524ca970086748291b3ca1b4c21ffe Merge: adc9048 771acac Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 15 06:09:58 2015 -0700 Merge branch 'switchdev-locking' Jiri Pirko says: ==================== switchdev: change locking This is something which I'm currently struggling with. Callers of attr_set and obj_add/del often hold not only RTNL, but also spinlock (bridge). So in that case, the driver implementing the op cannot sleep. The way rocker is dealing with this now is just to invoke driver operation and go out, without any checking or reporting of the operation status. Since it would be nice to at least put a warning in case the operation fails, it makes sense to do this in delayed work directly in switchdev core instead of implementing this in separate drivers. And that is what this patchset is introducing. So from now on, the locking of switchdev mod ops is consistent. Caller either holds rtnl mutex or in case it does not, caller sets defer flag, telling switchdev core to process the op later, in deferred queue. Function to force to process switchdev deferred ops can be called by op caller in appropriate location, for example after it releases spin lock, to force switchdev core to process pending ops. v1->v2: - rebased on current net-next head (including Scott's ageing patchset) v2->v3: - fixed comment s/of/or/ typo suggested by Nik v3->v4: - the actual patchset is sent instead of different branch I send in v3 :/ v4->v5: - added patch to "const" attr param - reworked deferred ops infrastructure (mainly patch number 1 and internal users (patch 3 and 5)) - resolves the issue pointed out by John ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 771acac2ffa5957b91e881908cd4c9657978a209 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:55 2015 +0200 switchdev: assert rtnl mutex when going over lower netdevs netdev_for_each_lower_dev has to be called with rtnl mutex held. So better enforce it in switchdev functions. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d33eeb645d59ffd14bbc6db977c3783af42dd700 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:54 2015 +0200 rocker: remove nowait from switchdev callbacks. No need to avoid sleeping in switchdev callbacks now, as the switchdev core allows it. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56607386e80cc7ce923592e115a3492485b47c72 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:53 2015 +0200 bridge: defer switchdev fdb del call in fdb_del_external_learn Since spinlock is held here, defer the switchdev operation. Also, ensure that defered switchdev ops are processed before port master device is unlinked. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d429c5ddc5128fccd3048059ae26bb39f0d8284 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:52 2015 +0200 switchdev: introduce possibility to defer obj_add/del Similar to the attr usecase, the caller knows if he is holding RTNL and is in atomic section. So let the called to decide the correct call variant. This allows drivers to sleep inside their ops and wait for hw to get the operation status. Then the status is propagated into switchdev core. This avoids silent errors in drivers. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 850d0cbc9171f63f0418afffb0d89a84db927851 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:51 2015 +0200 switchdev: remove pointers from switchdev objects When object is used in deferred work, we cannot use pointers in switchdev object structures because the memory they point at may be already used by someone else. So rather do local copy of the value. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0bc05d585d381c30de3fdf955730df31593d2101 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:50 2015 +0200 switchdev: allow caller to explicitly request attr_set as deferred Caller should know if he can call attr_set directly (when holding RTNL) or if he has to defer the att_set processing for later. This also allows drivers to sleep inside attr_set and report operation status back to switchdev core. Switchdev core then warns if status is not ok, instead of silent errors happening in drivers. Benefit from newly introduced switchdev deferred ops infrastructure. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7fadf3047d005d17376da65aa9e5734f45a77d4 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:49 2015 +0200 switchdev: make struct switchdev_attr parameter const for attr_set calls Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 793f40147e82cdedc80971fa7f5596d6ed1e555e Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:48 2015 +0200 switchdev: introduce switchdev deferred ops infrastructure Introduce infrastructure which will be used internally to defer ops. Note that the deferred ops are queued up and either are processed by scheduled work or explicitly by user calling deferred_process function. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ca7d910121af4dd8c83294b50546f4664b2a932 Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Thu Oct 15 09:07:07 2015 -0400 locks: Use more file_inode and fix a comment Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 50826874f059af9a7f1ed748528f68ea92d5039c Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Oct 14 21:15:13 2015 +0200 crypto: n2 - set array of const as const Some array of const char are not set as const. This patch fix that. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cac367bfc134174506a57a44834e3a608acc2f9b Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Oct 14 21:14:19 2015 +0200 crypto: sahara - set array of const as const Some array of const char are not set as const. This patch fix that. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 19b14e7e224f1c119a1756fde02ccacefd280212 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Oct 14 21:11:00 2015 +0200 crypto: s390/sha - replace raw value by their coresponding define SHA_MAX_STATE_SIZE is just the number of u32 word for SHA512. So replace the raw value "16" by their meaning (SHA512_DIGEST_SIZE / 4) Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 353519887ca3df97c0e60be4fdf05c44e2faca22 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Sep 21 20:59:56 2015 +0200 crypto: keywrap - add testmgr support The testmanager code for symmetric ciphers is extended to allow verification of the IV after a cipher operation. In addition, test vectors for kw(aes) for encryption and decryption are added. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1c49678e8a35de7d009854f79337261df1e774df Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Sep 21 20:58:56 2015 +0200 crypto: keywrap - enable compilation Hook keywrap source code into Kconfig and Makefile Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e28facde3c39005071cc5323d56539bb44efa446 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Sep 21 20:58:23 2015 +0200 crypto: keywrap - add key wrapping block chaining mode This patch implements the AES key wrapping as specified in NIST SP800-38F and RFC3394. The implementation covers key wrapping without padding. IV handling: The caller does not provide an IV for encryption, but must obtain the IV after encryption which would serve as the first semblock in the ciphertext structure defined by SP800-38F. Conversely, for decryption, the caller must provide the first semiblock of the data as the IV and the following blocks as ciphertext. The key wrapping is an authenticated decryption operation. The caller will receive EBADMSG during decryption if the authentication failed. Albeit the standards define the key wrapping for AES only, the template can be used with any other block cipher that has a block size of 16 bytes. During initialization of the template, that condition is checked. Any cipher not having a block size of 16 bytes will cause the initialization to fail. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8a826a34a52eef9ea1cb93f49ada358fa7b0bb32 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 11:46:46 2015 +0200 crypto: testmgr - test IV value after a cipher operation The crypto drivers are supposed to update the IV passed to the crypto request before calling the completion callback. Test for the IV value before considering the test as successful. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit adc9048c607a08320e87befc940955d6ffe51fac Author: lipeng <lipeng321@xxxxxxxxxx> Date: Thu Oct 15 12:40:34 2015 +0800 net: hisilicon: fixes a bug when using ethtool -S this patch fixes a bug in hns driver. when we want to get statistic info by using ethtool -S, it shows us there are 3 wrong counters info. because the strings related to the registers are wrong. it needs to modify the strings which give us wrong info. Signed-off-by: lipeng <lipeng321@xxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e109a69145c059cede79236c3d44080640f23472 Merge: f6bba8945 a85ce53 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 15 05:56: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-10-15 This series contains updates to i40e, i40evf and ixgbe. Emil changes the ixgbe driver to disable LRO by default in favor or GRO. Mark provides two changes for ixgbe, first fixes a semaphore issue when a reset never completes, it is necessary to retake the semaphore before returning. Jesse fixes up a missing function header comment variable reference. Then enables ethtool priv flags to control flow director at runtime. Neerav changes several i40e error messages to debug only since the messages were printing when there was no functional issue and were meant for debug only. Catherine changes the i40e driver to make only X722 support 100M SGMII, since it is the only device to actually support it. Anjali modifies the i40e/i40evf driver to add writeback on ITR offload support for X722 since the device has a way to work around the descriptor writeback issue. Mitch cleans up obsolete code. Also reduces the i40evf init time by shortening up the delays in the init task to aid in performance in load/unload tests and mitigates DMAR errors in VF enable/disable tests. Shannon modifies i40e to allow flow director sideband when the device is in MFP mode and only has one partition enabled, since we still have plenty of interrupts for managing the flow director activity. Also cleaned up flow director ATR control in debugfs since the priv flag has been added to our ethtool interface. Makes several general code cleanups of redundant or unnecessary code for i40e. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1208225cf48fa3b170b6dfe7369f15c295260755 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Oct 7 15:37:03 2015 +0100 iommu/vt-d: Generalise DMAR MSI setup to allow for page request events Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 907fea3491d52063bb37b1f1ce0cf8a4ae70944c Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Oct 13 14:11:13 2015 +0100 iommu/vt-d: Implement deferred invalidate for SVM Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 7fbe824a0f0e6a73de5b589a6690294f7cb9dae3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 15 14:06:14 2015 +0200 ALSA: hda - Update mixer name for the lower codec address In most cases, we prefer the onboard codec as the primary device, thus it's better to set it as the mixer name. Currently, however, the mixer name is updated per the device instantiation order, and user gets often HDMI/DP or other seen as a mixer chip name. Also, if a codec name is renamed by the driver, the old chip name might be left still as the mixer name. This patch addresses these issues by remembering the chip address that was referred as the mixer name. When a codec with the same or lower address gives its name, renew the mixer name accordingly, as it's either the update of the codec name or we get likely the more appropriate chip as the reference. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d80d134182ba536ececab8d5fca50d779befc9a6 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Oct 12 16:55:35 2015 +0300 i2c: designware: Move common probe code into i2c_dw_probe() There is some code duplication in i2c-designware-platdrv and i2c-designware-pcidrv probe functions. What is even worse that duplication requires i2c_dw_xfer(), i2c_dw_func() and i2c_dw_isr() i2c-designware-core functions to be exported. Therefore move common code into new i2c_dw_probe() and make functions above local to i2c-designware-core. While merging the code patch does following functional changes: - I2C Adapter name will be "Synopsys DesignWare I2C adapter". Previously it was used for platform and ACPI devices but PCI device used "i2c-designware-pci". - Using device name for interrupt name. Previous it was platform device name, ACPI device name or "i2c-designware-pci". - Error code from devm_request_irq() and i2c_add_numbered_adapter() will be printed in case of error. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6ad6fde3970c98348e4201efc22c92be414c86a6 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:32 2015 +0300 i2c: designware: Rename platform driver probe and PM functions Make it easier to distinguish between i2c-designware-platdrv and i2c-designware-core functions and to be consistent with i2c-designware-pcidrv. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8a437459523ad878c6c2bd3a7703b1b88fcbfcd8 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:31 2015 +0300 i2c: designware: Make dw_readl() and dw_writel() static dw_readl() and dw_writel() are not used outside of i2c-designware-core and they are not exported so make them static and remove their forward declaration. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f6ed2b79dc67e9211bb6488938247b9979eece79 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:30 2015 +0300 i2c: designware: Remove unused functions i2c_dw_is_enabled() became unused by the commit be58eda775c8 ("i2c: designware-pci: Cleanup driver power management") and i2c_dw_enable() by the commit 3a48d1c08fe0 ("i2c: prevent spurious interrupt on Designware controllers"). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b9f84adcb834ec2b1fd0ec91676c4b165daf51e6 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:29 2015 +0300 i2c: designware: Disable interrupts before requesting PCI device interrupt Device must not generate interrupts before registering the interrupt handler so move i2c_dw_disable_int() before requesting it. There are no known issues with this. The code has been here since commit fe20ff5c7e9c ("i2c-designware: Add support for Designware core behind PCI devices."). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c335631a68db4b32b24cb59814c485c45f0f4506 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:28 2015 +0300 i2c: designware: Remove interrupt clearing from i2c_dw_pci_probe() There is no need to clear interrupts in i2c_dw_pci_probe() since only place where interrupts are unmasked is i2c_dw_xfer_init() and there interrupts are always cleared after commit 2a2d95e9d6d2 ("i2c: designware: always clear interrupts before enabling them"). This allows to cleanup the code and replace i2c_dw_clear_int() in i2c_dw_xfer_init() by direct register read as there are no other callers. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ded255be2276d365a91af2de7c7f8e2c233d4fa2 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 1 17:59:43 2015 +0200 ALSA: hda - consolidate chip rename functions A few multiple codec drivers do renaming the chip_name string but all these are open-coded and some of them have even no error check. Let's make common helpers to do it properly. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2f26e0a9c9860db290d63e9d85c2c8c09813677f Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Sep 9 11:40:47 2015 +0100 iommu/vt-d: Add basic SVM PASID support This provides basic PASID support for endpoint devices, tested with a version of the i915 driver. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 848dd6a87a10bd24b5a4c8b84eaba3cdd0ec7a19 Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Wed Oct 7 11:08:00 2015 +0200 ARM: STi: DT: Add support for stih418 A9 pll Add support for new PLL-type for stih418 A9-PLL. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 69e7c854c7d4ea30c4e17cfa890946e16c5a36f0 Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Thu Oct 1 17:48:19 2015 +0200 ARM: dts: Enable Ethernet on STi's B2199 board The B2199 board is mounted with Realtek RTL8367 switch. We consider the bootloader will have intiliazed the switch before jumping into the kernel, so we declare it as a fixed link. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 60dfa24588ee76b85f48c2adab5cdf9b868dc629 Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Thu Oct 1 17:45:46 2015 +0200 ARM: dts: Enable Ethernet on STi's B2120 boards These boards are mounted with Realtek RTL8367 switch. We consider the bootloader will have intiliazed the switch before jumping into the kernel, so we declare it as a fixed link. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit ab511d7df1a0f73c4ccccd5655c84efdb7f816c1 Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Thu Oct 1 17:44:41 2015 +0200 ARM: dts: Add Ethernet node to STiH407 family STiH407 family uses the Synopsys IP. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit b89c429c1b4c176fee1912114ec7b2785949783b Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Thu Oct 1 17:42:20 2015 +0200 ARM: dts: Fix RGMII pinctrl timings These new re-timing values provides a better stability on Ethernet link. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit dc881123aa1aeff02ce2dc94c2b810d37173aa90 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Oct 12 15:29:03 2015 +0300 backlight: pwm: Reject legacy PWM request for device defined in DT Platform PWM backlight data provided by board's device tree should be complete enough to successfully request a pwm device using pwm_get() API. This change fixes a bug, when an arbitrary (first found) PWM is connected to a "pwm-backlight" compatible device, when explicit PWM device reference is not given. Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt already describes "pwms" as a required property, instead of blind selection of a potentially wrong PWM reject legacy PWM device registration request, leave legacy API only for non-dt cases. Based on initial implementation done by Dmitry Eremin-Solenikov. Reported-by: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Acked-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Tested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f85de2d9e24ee0b286ae54434f405d4a22f565f0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 10 14:30:50 2015 +0200 backlight: 88pm860x_bl: Add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; iterator name for_each_child_of_node; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child + of_node_put(child); ? break; ... } ... when != child // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b16d0cb9e2fc5c311948c660dd6f4b59a9ccd333 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Oct 12 14:17:37 2015 +0100 iommu/vt-d: Always enable PASID/PRI PCI capabilities before ATS The behaviour if you enable PASID support after ATS is undefined. So we have to enable it first, even if we don't know whether we'll need it. This is safe enough; unless we set up a context that permits it, the device can't actually *do* anything with it. Also shift the feature detction to dmar_insert_one_dev_info() as it only needs to happen once. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 8a94ade4ce6df22006b96c5c9a8d6d12fce67585 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Mar 24 14:54:56 2015 +0000 iommu/vt-d: Add initial support for PASID tables Add CONFIG_INTEL_IOMMU_SVM, and allocate PASID tables on supported hardware. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit ae853ddb9ad5e7c01cad3fbf016040acd961f407 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Sep 9 11:58:59 2015 +0100 iommu/vt-d: Introduce intel_iommu=pasid28, and pasid_enabled() macro As long as we use an identity mapping to work around the worst of the hardware bugs which caused us to defeature it and change the definition of the capability bit, we *can* use PASID support on the devices which advertised it in bit 28 of the Extended Capability Register. Allow people to do so with 'intel_iommu=pasid28' on the command line. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 941fd2e7096495c05d693efcd3141e4e79a51ff6 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 18:14:16 2015 -0500 EDAC, altera: SoCFPGA EDAC should not look for ECC_CORR_EN The bootloader may or may not enable the ECC_CORR_EN bit. By not enabling ECC_CORR_EN, when error happens, it is the user's responsibility to perform a full SDRAM scrub. Remove the check for ECC_CORR_EN. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444864456-21778-1-git-send-email-dinguyen@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 20d09927e669b7e92795c804a3cf82d6c4f3c909 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 15 11:39:28 2015 +1100 selftests/powerpc: Allow the tm-syscall test to build with old headers When building against older kernel headers, currently the tm-syscall test fails to build because PPC_FEATURE2_HTM_NOSC is not defined. Tweak the test so that if PPC_FEATURE2_HTM_NOSC is not defined it still builds, but prints a warning at run time and marks the test as skipped. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 65b6ba6359eefe5560565af2a0e3b06ec6a0f30e Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Oct 14 20:50:35 2015 +1100 selftests/powerpc: Sort the list of SUB_DIRS to build This list has gotten too long. Split it into individual lines and sort them, so in future we can add new entries more cleanly. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0b824f2e2b6cf87f2f5318f0950d431a286d25df Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Oct 14 20:48:04 2015 +1100 selftests/powerpc: Add tests of unmuxed IPC calls This is just a simple test which confirms that the individual IPC syscalls are all available. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ad987fc8eae7b5f4085c5ad2610b9af12018c38a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Oct 14 16:58:36 2015 +1100 powerpc/xmon: Add some more elements to the existing PACA dump list This patch adds a set of new elements to the existing PACA dump list inside an xmon session which can be listed below improving the overall xmon debug support. With this patch, a typical xmon PACA dump looks something like this. paca for cpu 0x0 @ c00000000fdc0000: possible = yes present = yes online = yes lock_token = 0x8000 (0xa) paca_index = 0x0 (0x8) kernel_toc = 0xc000000001393200 (0x10) kernelbase = 0xc000000000000000 (0x18) kernel_msr = 0xb000000000001033 (0x20) emergency_sp = 0xc00000003fff0000 (0x28) mc_emergency_sp = 0xc00000003ffec000 (0x2e0) in_mce = 0x0 (0x2e8) hmi_event_available = 0x0 (0x2ea) data_offset = 0x1fe7b0000 (0x30) hw_cpu_id = 0x0 (0x38) cpu_start = 0x1 (0x3a) kexec_state = 0x0 (0x3b) slb_shadow[0]: = 0xc000000008000000 0x40016e7779000510 slb_shadow[1]: = 0xd000000008000001 0x400142add1000510 vmalloc_sllp = 0x510 (0x1b8) slb_cache_ptr = 0x4 (0x1ba) slb_cache[0]: = 0x000000000003f000 slb_cache[1]: = 0x0000000000000001 slb_cache[2]: = 0x0000000000000003 slb_cache[3]: = 0x0000000000001000 slb_cache[4]: = 0x0000000000001000 slb_cache[5]: = 0x0000000000000000 slb_cache[6]: = 0x0000000000000000 slb_cache[7]: = 0x0000000000000000 dscr_default = 0x0 (0x58) __current = 0xc000000001331e80 (0x290) kstack = 0xc000000001393e30 (0x298) stab_rr = 0x11 (0x2a0) saved_r1 = 0xc0000001fffef5e0 (0x2a8) trap_save = 0x0 (0x2b8) soft_enabled = 0x0 (0x2ba) irq_happened = 0x1 (0x2bb) io_sync = 0x0 (0x2bc) irq_work_pending = 0x0 (0x2bd) nap_state_lost = 0x0 (0x2be) sprg_vdso = 0x0 (0x2c0) tm_scratch = 0x8000000100009033 (0x2c8) core_idle_state_ptr = (null) (0x2d0) thread_idle_state = 0x0 (0x2d8) thread_mask = 0x0 (0x2d9) subcore_sibling_mask = 0x0 (0x2da) user_time = 0x0 (0x2f0) system_time = 0x0 (0x2f8) user_time_scaled = 0x0 (0x300) starttime = 0x3f462418b5cf4 (0x308) starttime_user = 0x3f4622a57092a (0x310) startspurr = 0xd62a5718 (0x318) utime_sspurr = 0x0 (0x320) stolen_time = 0x0 (0x328) Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Endian swap slb_shadow before display, minor formatting] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0c23a88ccc32db31c31677d70e37b49ef3ae9ed9 Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Thu Oct 8 11:50:24 2015 +1100 powerpc/xmon: Paginate kernel log buffer display The kernel log buffer is often much longer than the size of a terminal so paginate it's output. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 958b7c80507a6eb847777b0d6d99d2cad08c529c Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Thu Oct 8 11:50:23 2015 +1100 powerpc/xmon: Paged output for paca display The paca display is already more than 24 lines, which can be problematic if you have an old school 80x24 terminal, or more likely you are on a virtual terminal which does not scroll for whatever reason. This patch adds a new command "#", which takes a single (hex) numeric argument: lines per page. It will cause the output of "dp" and "dpa" to be broken into pages, if necessary. Sample output: 0:mon> # 10 0:mon> dp1 paca for cpu 0x1 @ c00000000fdc0480: possible = yes present = yes online = yes lock_token = 0x8000 (0x8) paca_index = 0x1 (0xa) kernel_toc = 0xc000000000eb2400 (0x10) kernelbase = 0xc000000000000000 (0x18) kernel_msr = 0xb000000000001032 (0x20) emergency_sp = 0xc00000003ffe8000 (0x28) mc_emergency_sp = 0xc00000003ffe4000 (0x2e0) in_mce = 0x0 (0x2e8) data_offset = 0x7f170000 (0x30) hw_cpu_id = 0x8 (0x38) cpu_start = 0x1 (0x3a) kexec_state = 0x0 (0x3b) [Hit a key (a:all, q:truncate, any:next page)] 0:mon> __current = 0xc00000007e696620 (0x290) kstack = 0xc00000007e6ebe30 (0x298) stab_rr = 0xb (0x2a0) saved_r1 = 0xc00000007ef37860 (0x2a8) trap_save = 0x0 (0x2b8) soft_enabled = 0x0 (0x2ba) irq_happened = 0x1 (0x2bb) io_sync = 0x0 (0x2bc) irq_work_pending = 0x0 (0x2bd) nap_state_lost = 0x0 (0x2be) 0:mon> Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> [mpe: Use bool, make some variables static] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b340587e68b479e52039f800d7c60abd417e1975 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Sun Oct 11 22:27:40 2015 +0200 powerpc/mpc5xxx: Use of_get_next_parent to simplify code of_get_next_parent can be used to simplify the while() loop and avoid the need of a temp variable. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1def37586fb1f3bbbedeaa64bf047595958dfc66 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Sun Oct 11 22:23:27 2015 +0200 powerpc/numa: Use of_get_next_parent to simplify code of_get_next_parent can be used to simplify the while() loop and avoid the need of a temp variable. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5fab1d1cb18d27d1a2a5f110e0955a1b3c497013 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Oct 13 19:20:51 2015 -0400 powerpc: Delete old orphaned PrPMC 280/2800 DTS and boot file. In commit 3c8464a9b12bf83807b6e2c896d7e7b633e1cae7 ("powerpc: Delete old PrPMC 280/2800 support") we got rid of most of the C code, and the Makefile/Kconfig hooks, but it seems I left the platform's DTS file orphaned in the tree as well as the boot code. Here we get rid of them both. Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f27b86dc1ec41ff4b5b580949acfab1f9a08a6a0 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Thu Oct 1 22:41:40 2015 +0300 drivers/macintosh: adb: fix misleading Kconfig help text CONFIG_INPUT_KEYBDEV does not exist and no additional keyboard-specific options are needed to get the keyboard working. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4c8123181d692c5b78650ee559f3d970440c9399 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:28:28 2015 +1100 powerpc: discard .exit.data at runtime .exit.text is discarded at run time and there are some references from that to .exit.data, so we need to discard .exit.data at run time as well. Fixes these errors: `.exit.data' referenced in section `.exit.text' of drivers/built-in.o: defined in discarded section `.exit.data' of drivers/built-in.o `.exit.data' referenced in section `.exit.text' of drivers/built-in.o: defined in discarded section `.exit.data' of drivers/built-in.o Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 54f9a64a36e4fc041721a954e674797c2686ea4e Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 15:58:27 2015 +1000 powerpc/eeh: atomic_dec_if_positive() to update passthru count No need to have two atomic opertions (update and fetch/check) when decreasing PE's number of passed devices as one atomic operation is enough. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2e1a2556ebbbe7b53a05b721ac0d3d8ca9873cdb Author: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Date: Tue Oct 13 15:09:44 2015 +1100 cxl: Free virtual PHB when removing When adding a vPHB in cxl_pci_vphb_add(), we allocate a pci_controller struct using pcibios_alloc_controller(). However, we don't free it in cxl_pci_vphb_remove(), causing a leak. Call pcibios_free_controller() in cxl_pci_vphb_remove() to free the vPHB data structure correctly. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6b8b252f40d39e5815be17aaf05f2cb5eaaa41a1 Author: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Date: Thu Sep 10 16:28:34 2015 +1000 powerpc/pci: export pcibios_free_controller() Export pcibios_free_controller(), so it can be used by the cxl module to free virtual PHBs. Signed-off-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a34236155afb1cc41945e58388ac988431bcb0b8 Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Tue Oct 13 12:49:28 2015 +1100 powerpc: Individual System V IPC system calls This patch provides individual system call numbers for the following System V IPC system calls, on PowerPC, so that they do not need to be multiplexed: * semop, semget, semctl, semtimedop * msgsnd, msgrcv, msgget, msgctl * shmat, shmdt, shmget, shmctl Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f7688056cba1a69b1bd595465cd203e20da420e0 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 1 16:44:34 2015 +1000 powerpc/pseries: Drop always true CONFIG_PSERIES_MSI Now that pseries selects PCI_MSI && PCI, EEH will always be true, and therefore CONFIG_PSERIES_MSI will always be true. So drop it, and move msi.o to obj-y. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 44f2aecfd0b57d9a56d61d707fa320ab7d4eda85 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 1 16:44:33 2015 +1000 powerpc/pseries: Move PCI objects to obj-y Make it entirely clear in the Makefile that we always build the pci related files by moving them to obj-y. Note that CONFIG_EEH is now always enabled on pseries, because it depends on PSERIES && PCI. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 84eb9e612b022c8357980bbdba653d9626be2be8 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 1 16:44:32 2015 +1000 powerpc/pseries: Remove use of CONFIG_PCI Now that we always have CONFIG_PCI=y for pseries, we can stop guarding code with CONFIG_PCI ifdefs. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4c9cd468b348c9e47f9380a5b22196c98188a50c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 1 16:44:31 2015 +1000 powerpc/pseries: Make PCI non-optional The pseries build with PCI=n looks to have been broken for at least 5 years, and no one's noticed or cared. Following the obvious breakages backward, the first commit I can find that builds is the parent of 2eb4afb69ff3 ("powerpc/pci: Move pseries code into pseries platform specific area") from April 2009. A distro would never ship a PCI=n kernel, so it is only useful for folks building custom kernels. Also on KVM the virtio devices appear on PCI, so it would only be useful if you were building kernels specifically to run on PowerVM and with no PCI devices. The added code complexity, and testing load (which we've clearly not been doing), is not justified by the small reduction in kernel size for such a niche use case. So just make PCI non-optional on pseries. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bd960f09830cacd812b272b0ddbf4116a503cbbd Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 15 14:33:57 2015 +1100 scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building with O= My recent commit d2036f30cfe1 ("scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target"), contained a bug in that when it checks if KBUILD_DEFCONFIG is a file it forgets to prepend $(srctree) to the path. This causes the build to fail when building out of tree (with O=), and when the value of KBUILD_DEFCONFIG is 'defconfig'. In that case we will fail to find the 'defconfig' file, because we look in the build directory not $(srctree), and so we will call Make again with 'defconfig' as the target. From there we loop infinitely calling 'make defconfig' again and again. The fix is simple, we need to look for the file under $(srctree). Fixes: d2036f30cfe1 ("scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target") Reported-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Michal Marek <mmarek@xxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a85ce532f28efabda030d9065a0c2023a2003f36 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Wed Sep 9 13:37:33 2015 -0700 ixgbe: Check for setup_internal_link method Only call the internal_setup_link method when it is provided. This check is required for newer version parts. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Darin Miller <darin.j.miller@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 164f739361c962ac63aa6f7cbd48309d1bff15fb Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Sep 3 17:19:02 2015 -0400 i40e/i40evf: Bump i40e version to 1.3.28 and i40evf to 1.3.19 Bump. Change-ID: I8d9a99f320af43960deba8718eee2d6de50eaf46 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 c8d75aa47dd585c9538a8205e9bb9847e12cfb84 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Oct 14 12:07:56 2015 -0700 posix_cpu_timer: Reduce unnecessary sighand lock contention It was found while running a database workload on large systems that significant time was spent trying to acquire the sighand lock. The issue was that whenever an itimer expired, many threads ended up simultaneously trying to send the signal. Most of the time, nothing happened after acquiring the sighand lock because another thread had just already sent the signal and updated the "next expire" time. The fastpath_timer_check() didn't help much since the "next expire" time was updated after the threads exit fastpath_timer_check(). This patch addresses this by having the thread_group_cputimer structure maintain a boolean to signify when a thread in the group is already checking for process wide timers, and adds extra logic in the fastpath to check the boolean. Signed-off-by: Jason Low <jason.low2@xxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: hideaki.kimura@xxxxxxx Cc: terry.rudd@xxxxxxx Cc: scott.norton@xxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444849677-29330-5-git-send-email-jason.low2@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d5c373eb5610686162ff50429f63f4c00c554799 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Oct 14 12:07:55 2015 -0700 posix_cpu_timer: Convert cputimer->running to bool In the next patch in this series, a new field 'checking_timer' will be added to 'struct thread_group_cputimer'. Both this and the existing 'running' integer field are just used as boolean values. To save space in the structure, we can make both of these fields booleans. This is a preparatory patch to convert the existing running integer field to a boolean. Suggested-by: George Spelvin <linux@xxxxxxxxxxx> Signed-off-by: Jason Low <jason.low2@xxxxxx> Reviewed: George Spelvin <linux@xxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: hideaki.kimura@xxxxxxx Cc: terry.rudd@xxxxxxx Cc: scott.norton@xxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444849677-29330-4-git-send-email-jason.low2@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 934715a191e4be0c602d39455a7a74316f274d60 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Oct 14 12:07:54 2015 -0700 posix_cpu_timer: Check thread timers only when there are active thread timers The fastpath_timer_check() contains logic to check for if any timers are set by checking if !task_cputime_zero(). Similarly, we can do this before calling check_thread_timers(). In the case where there are only process-wide timers, this will skip all of the computations for per-thread timers when there are no per-thread timers. As suggested by George, we can put the task_cputime_zero() check in check_thread_timers(), since that is more of an optization to the function. Similarly, we move the existing check of cputimer->running to check_process_timers(). Signed-off-by: Jason Low <jason.low2@xxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: hideaki.kimura@xxxxxxx Cc: terry.rudd@xxxxxxx Cc: scott.norton@xxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444849677-29330-3-git-send-email-jason.low2@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7c177d994eb9637302b79e80d331f48dfbe26368 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Oct 14 12:07:53 2015 -0700 posix_cpu_timer: Optimize fastpath_timer_check() In fastpath_timer_check(), the task_cputime() function is always called to compute the utime and stime values. However, this is not necessary if there are no per-thread timers to check for. This patch modifies the code such that we compute the task_cputime values only when there are per-thread timers set. Signed-off-by: Jason Low <jason.low2@xxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: hideaki.kimura@xxxxxxx Cc: terry.rudd@xxxxxxx Cc: scott.norton@xxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444849677-29330-2-git-send-email-jason.low2@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5be8308b1614947f056802cb5775307f0ad54ad2 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Sep 3 17:19:01 2015 -0400 i40evf: speed up init Shorten up the delays in the init task, allowing the VF driver to initialize faster. This aids performance in load/unload tests and mitigates DMAR errors in VF enable/disable tests with absurdly short delays. In the real world, the VF driver will come up more quickly. The original values were set conservatively based on what we expected from the firmware in terms of performance. Now that the driver is in use and we know how well firmware responds to our requests, we can shorten these delays. Change-ID: Ibead77d34b19e8170e667c3f58bc14748bbc5bc9 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 a916549029848f1356bf2d797e83218de53f17b2 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Sep 3 17:19:00 2015 -0400 i40e: remove unnecessary string copy operations Save a little stack space and remove unnecessary strncpy() with a little string pointer. Change-ID: Id2719d34710bfc273d3bb445fec085cd04276e88 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 3e19fec33a5493f8a627a96ad3494d6c6dc2a624 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 15 11:17:09 2015 +0200 ALSA: hda - Enable widget power saving for Cirrus codecs Cirrus codecs have also fine power controls on each widget, thus it gets benefit from the recent widget power-saving feature. As we haven't seen any obvious regressions with tests on some MacBooks, let's try to enable it. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3fced535079a6aaff2d85bd5c52ad50df0558e3d Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Sep 3 17:18:59 2015 -0400 i40e: X722 is on the IOSF bus and does not report the PCI bus info X722 will report Gen 1x1 in the PCI config space as it is on IOSF bus, so skip the PCI bus link/speed check. Change-ID: Icd5f5751dc7fb00dccf0d5dc5a0a644948e7062e 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 3ac67d7bfa2f35cc8a52bdff39e3bbadb6e639a9 Author: Kevin Scott <kevin.c.scott@xxxxxxxxx> Date: Thu Sep 3 17:18:58 2015 -0400 i40e: Store off PHY capabilities Store off reported PHY capabilities in link_info structure. Change-ID: Ife0f037c26983ca985dbf79abf33f8f8791369e8 Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 874d1a10eb1ab466f48627cdd268335a635dde52 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Sep 3 17:18:57 2015 -0400 i40e/i40evf: remove redundant declarations of a variable and a function Remove a variable declaration inside an if block hiding an existing declaration at the start of the function. Also remove a forward function declaration that is no longer needed due to code re-organization. Change-ID: I12954668b722718074949c93d74cd20eaacd93e4 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 106b1941ff304ad6b6b9828b24c8545814a7a4e4 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Sep 3 17:18:56 2015 -0400 i40e: remove FD atr control from debugfs Since the flow-director-atr priv flag was added to our ethtool interface, we don't need the on/off control in debugfs. Change-ID: Ib3b599916434ab30ccd40074e71d7a81609b5bb5 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 6eae9c6a3536f3a676b54ebf82244c23d3b1019f Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Sep 3 17:18:55 2015 -0400 i40e: allow FD SB if MFP mode only has 1 partition Even though the device might be in MFP mode, if there's only one partition enabled, then we still have plenty of interrupts for managing the Flow Directory Sideband activity. This patch enables FD SB in this case. This patch also reverses the sense of the conditional in order to remove the negative logic. Change-ID: I9edf211a6219fc8d159b4be9964f9fd7f4e00bc0 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 9b28ef01003f815d9bbdb50c4208586c9246ad08 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Sep 3 17:18:54 2015 -0400 i40e: remove obsolete version check This version check only applies to very, very old firmware, that only ran on A0 hardware, which we never shipped and don't support in this driver anyway. Remove it, before somebody gets hurt. Change-ID: I3752d090ff488acf98ee76b075af961e9c968ee4 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 1f012279163af2f1bec30de42960f0312be3a52e Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Sep 3 17:18:53 2015 -0400 i40e/i40evf: Add WB_ON_ITR offload support X722 has a way to work around the descriptor WB issue, this offload helps turn that feature on. Change-ID: I7ffa67622426bfca5a651417b63e3afcfeb60412 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 3b6c2179eebf4536d08cf966c9f585dd95c72367 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Sep 3 17:18:52 2015 -0400 i40e: Remove 100M SGMII unless hw is X722 Only the X722 device now supports 100M SGMII, and nothing supports 100M on 1000Base_T. Change-ID: I6f44dcd818944edd40041410e6de380f4a359a0c Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> 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 8279e49531f427ae7e8db894072d91bc42d3eeb5 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Thu Sep 3 17:18:50 2015 -0400 i40e: Change some messages from info to debug only There are several error messages that have been printing when there is no functional issue. These messages should be available at debug message level only. Change-ID: Id91e47bf942c483563995f30d8705fa53acd5aa3 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> 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 ef17178cf5abe304b2098a50f580e8c19e5084d2 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Sep 3 17:18:49 2015 -0400 i40e: use priv flags to control flow director Some customers wish to be able to control our hardware specific feature called flow director, at runtime. This patch enables ethtool priv flags to control this driver/hardware specific feature. ethtool --set-priv-flags ethX flow-director-atr off NOTE: the ethtool ntuple interface controls the flow-director sideband rules. Change-ID: Iba156350b07fa2ce66f53ded51739f9a3781fe0e 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 8e5cfb74bc9c8c12cf91d253b3d27753d54b0d86 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 10 14:30:51 2015 +0200 power_supply: charger-manager: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d4b2f9fe608320604748c3cb90c99b2255782935 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Sep 3 17:18:48 2015 -0400 i40e: Add missing parameter comment to ndo_bridge_setlink Add nlflags to the function comment for ndo_bridge_setlink. Change-ID: I34c704f307f2a3f7bac3ca4b44e2a094d3d082d6 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 8bf7a7b879985321c63e3ae46fee4e7f0d654ab1 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Wed Aug 26 14:10:22 2015 -0700 ixgbe: Fix CS4227-related semaphore error on reset failure If the reset never completes, it is necessary to retake the semaphore before returning, because the caller will release the semaphore. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Darin Miller <darin.j.miller@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 72bfd32d2f84d26aa132dd74a8eef14d039d326f Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Mon Aug 24 18:08:31 2015 -0700 ixgbe: disable LRO by default This patch disables LRO by default in favor of GRO. LRO is incompatible with forwarding and is disabled when forwarding is turned on which makes the default offloads of the driver inconsistent. LRO can still be enabled via ethtool. Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Darin Miller <darin.j.miller@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d14053b3c714178525f22660e6aaf41263d00056 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Thu Oct 15 09:28:06 2015 +0100 iommu/vt-d: Fix ATSR handling for Root-Complex integrated endpoints The VT-d specification says that "Software must enable ATS on endpoint devices behind a Root Port only if the Root Port is reported as supporting ATS transactions." We walk up the tree to find a Root Port, but for integrated devices we don't find one â?? we get to the host bridge. In that case we *should* allow ATS. Currently we don't, which means that we are incorrectly failing to use ATS for the integrated graphics. Fix that. We should never break out of this loop "naturally" with bus==NULL, since we'll always find bridge==NULL in that case (and now return 1). So remove the check for (!bridge) after the loop, since it can never happen. If it did, it would be worthy of a BUG_ON(!bridge). But since it'll oops anyway in that case, that'll do just as well. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit a71225e204f5ba8b41e7bb100ca37c074861d5b1 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Oct 14 12:27:17 2015 +0100 irqchip/gic-v2m: Add support for multiple MSI frames The GICv2m driver is so far limited to a single MSI frame, but nothing prevents an implementation from having several of them. This patch expands the driver to enumerate all frames, keeping the first one as the canonical identifier for the MSI domains. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Duc Dang <dhdang@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444822037-16983-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit db8c70ec1f9d45e530383204c57f2971df4bd334 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Oct 14 12:27:16 2015 +0100 irqchip/gic-v3: Fix translation of LPIs after conversion to irq_fwspec Commit f833f57ff254 ("irqchip: Convert all alloc/xlate users from of_node to fwnode") converted the GICv3 driver to using irq_fwspec as part of its 'translate' method. Too bad it ended up with a copy of the GICv2 'translate' method, which screws up LPI translation (by not translating them at all). Restore the code in its original shape, and just change what is really required... Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444822037-16983-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ffc287c89169705d9a01d48e05453ab0eda631e4 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:56:06 2015 +0200 ALSA: hdspm: use __u8, __u32 and __u64 from linux/types.h instead of stdint.h Kernel headers should use linux/types.h based definitions. Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a82d24f83de2c63199acead488259fcdf947e90e Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:55 2015 +0200 ALSA: emu10k1: added EMU10K1 version of DECLARE_BITMAP macro for UAPI Fixes userspace compilation error: error: expected specifier-qualifier-list before â??DECLARE_BITMAPâ?? DECLARE_BITMAP(gpr_valid, 0x200); /* bitmask of valid initializers */ DECLARE_BITMAP macro is not meant for userspace headers and thus added here as private copy for emu10k.h. Fix was suggested by Arnd Bergmann <arnd@xxxxxxxx> in message <2168807.4Yxh5gl11Q@wuerfel> and Takashi Iwai <tiwai@xxxxxxx> in message <s5h1thx88tk.wl-tiwai@xxxxxxx> on lkml. Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5a1f8c42259a424cfd262185da872764dcc673ad Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 15 10:01:42 2015 +0300 ALSA: oss: underflow in snd_mixer_oss_proc_write() We cap the upper bound of "idx" but not the negative side. Let's make it unsigned to fix this. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6933c35a307cad0b8b847042346dde68866d3d2a Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Wed Oct 14 11:01:05 2015 +0200 s390/dasd: fix list_del corruption after lcu changes A summary unit check occurs when the lcu updates the PAV configuration e.g. base PAV assignment or PAV mode at all. This requires the reset of the drivers internal pavgroups. Therefore the alias devices are flushed and moved via a temporary list to the active_devices list where they are not associated with a pavgroup. In conjunction with updates to the base device the pavgroup may be removed since both base_list and alias_list are empty. Unfortunately during alias flush and move to the active_device list from alias_list the pavgroup pointer is not deleted in the device private structure. This leads to a list del_corruption if another lcu_update tries to move the device in the non existent pavgroup. Fix by removing the pavgroup pointer after the alias device was moved to the active_devices list. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ef2cdccd21513bc8fd2cf9cc2f6894d60382a4b0 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Oct 14 16:48:32 2015 +0200 ARM: mvebu: remove the workaround imprecise abort fault handler This is not needed anymore. Handling a potentially pending imprecise external abort left behind by the bootloader is now done in a slightly safer way inside the common ARM startup code. [gregory.clement@xxxxxxxxxxxxxxxxxx: Beside the Armada 375 Z1 which initially required this, is no more supported] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit db347f1a5304d68c68c52f19971924b1e5842f3c Author: Marcin Wojtas <mw@xxxxxxxxxxxx> Date: Thu Oct 15 03:17:08 2015 +0200 ARM: mvebu: correct a385-db-ap compatible string This commit enables standby support on Armada 385 DB-AP board, because the PM initalization routine requires "marvell,armada380" compatible string for all Armada 38x-based platforms. Beside the compatible "marvell,armada38x" was wrong and should be fixed in the stable kernels too. [gregory.clement@xxxxxxxxxxxxxxxxxx: add information, about the fixes] Fixes: e5ee12817e9ea ("ARM: mvebu: Add Armada 385 Access Point Development Board support") Signed-off-by: Marcin Wojtas <mw@xxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit 224f363246c3668452ec0ab5a0ff51824822f3fd Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Thu Oct 1 15:58:03 2015 +0300 KVM: PPC: e500: fix couple of shift operations on 64 bits Fix couple of cases where we shift left a 32-bit value thus might get truncated results on 64-bit targets. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Suggested-by: Scott Wood <scotttwood@xxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 2daab50e17997424af57d1ab14042a51e9a368ab Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Fri Sep 25 18:02:23 2015 +0300 KVM: PPC: e500: Emulate TMCFG0 TMRN register Emulate TMCFG0 TMRN register exposing one HW thread per vcpu. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> [Laurentiu.Tudor@xxxxxxxxxxxxx: rebased on latest kernel, use define instead of hardcoded value, moved code in own function] Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Acked-by: Scott Wood <scotttwood@xxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit d4cd4f9586f87a5fc828b4c4698aa4faf56c96fc Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:23 2015 +0200 KVM: PPC: e500: fix handling local_sid_lookup result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 6a14c2222419daa7ecebc7f566841b9b4d63b397 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Wed Sep 23 18:06:22 2015 +0300 powerpc/e6500: add TMCFG0 register definition The register is not currently used in the base kernel but will be in a forthcoming kvm patch. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 8cbc870829ecd8f1062f2a756683c80e2d1eae7f Author: Pablo Neira <pablo@xxxxxxxxxxxxx> Date: Tue Oct 13 12:47:48 2015 +0200 netfilter: nfnetlink_log: validate dependencies to avoid breaking atomicity Check that dependencies are fulfilled before updating the logger instance, otherwise we can leave things in intermediate state on errors in nfulnl_recv_config(). [ Ken-ichirou reports that this is also fixing missing instance refcnt drop on error introduced in his patch 914eebf2f434 ("netfilter: nfnetlink_log: autoload nf_conntrack_netlink module NFQA_CFG_F_CONNTRACK config flag"). ] Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Tested-by: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> commit 336a3b3ee925362ca720342bbae4f36b2215064a Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Oct 13 12:47:47 2015 +0200 netfilter: nfnetlink_log: consolidate check for instance in nfulnl_recv_config() This patch consolidates the check for valid logger instance once we have passed the command handling: The config message that we receive may contain the following info: 1) Command only: We always get a valid instance pointer if we just created it. In case that the instance is being destroyed or the command is unknown, we jump to exit path of nfulnl_recv_config(). This patch doesn't modify this handling. 2) Config only: In this case, the instance must always exist since the user is asking for configuration updates. If the instance doesn't exist this returns -ENODEV. 3) No command and no configs are specified: This case is rare. The user is sending us a config message with neither commands nor config options. In this case, we have to check if the instance exists and bail out otherwise. Before this patch, it was possible to send a config message with no command and no config updates for an unexisting instance without triggering an error. So this is the only case that changes. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Tested-by: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> commit 99a91c94972d1d583beb4b4854f55984f7cc2dc8 Merge: bbbe29d 9525c4d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 15 14:17:13 2015 +1000 Merge branch 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next * removes the now unused DRM slave encoder support, which all users have migrated away from, allowing us to simplify the code. * ensure all pending interrupts are processed together, rather than needing the handler to be re-entered each time. * use more HDMI helpers to setup the info frames. * fix EDID read handling by ensuring that we always wait the specified time before attempting to read the EDID, no matter where the EDID read request came from. * 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm/i2c: tda998x: clean up after struct tda998x_priv2 removal drm/i2c: tda998x: kill struct tda998x_priv2 drm/i2c: tda998x: move connector into struct tda998x_priv drm/i2c: tda998x: remove encoder pointer drm/i2c: tda998x: remove DRM slave encoder support drm/i2c: tda998x: use more HDMI helpers drm/i2c: tda998x: handle all outstanding interrupts drm/i2c: tda998x: convert to u8/u16/u32 types drm/i2c: tda998x: re-implement "Fix EDID read timeout on HDMI connect" drm/i2c: tda998x: report whether we actually handled the IRQ drm/i2c: tda998x: remove useless NULL checks commit bbbe29d8e0322bd36053edbd552c228e3111cc0a Merge: d4070ff 7cb410c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 15 14:02:47 2015 +1000 Merge branch 'drm-armada-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next * remove support for the non-component support from the Armada DRM driver, switching it to component-only mode. * create a "armada plane" to allow the primary and overlay planes to share some code. * increase efficiency by using inherently atomic operations, rather than spinlocking to achieve atomicity. Eg, if we want to exchange a value, using xchg(). * increase PM savings by stopping the external pixel clock when we're in DPMS mode. * 'drm-armada-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm/armada: move frame wait wakeup into plane work drm/armada: convert overlay plane vbl worker to a armada plane worker drm/armada: move CRTC flip work to primary plane work drm/armada: move frame wait into armada_frame drm/armada: move the locking for armada_drm_vbl_event_remove() drm/armada: move the update of dplane->ctrl0 out of spinlock drm/armada: move write to dma_ctrl0 to armada_drm_crtc_plane_disable() drm/armada: provide a common helper to disable a plane drm/armada: allocate primary plane ourselves drm/armada: add primary plane creation drm/armada: introduce generic armada_plane struct drm/armada: update armada overlay to use drm_universal_plane_init() drm/armada: use xchg() to atomically update dplane->old_fb drm/armada: factor out retirement of old fb drm/armada: rename overlay identifiers drm/armada: redo locking and atomics for armada_drm_crtc_complete_frame_work() drm/armada: disable CRTC clock during DPMS drm/armada: use drm_plane_force_disable() to disable the overlay plane drm/armada: move vbl code into armada_crtc drm/armada: remove non-component support commit f6bba8945e7cff591127be1f6992c3e466cfff4c Merge: f985c65 2b3ddf2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 14 19:14:50 2015 -0700 Merge branch 'mlx-next' Or Gerlitz says: ==================== Mellanox driver update, Oct 14 2015 This series contains two more patches from Eli, patch from Majd to support PCI error handlers and a fix from Jack to mlx4 VFs when probed without a provisioned mac address. The patch set applied on top of net-next commit bbb300e "Merge branch 'bridge-vlan'" changes from V0: - made the health flag int --> bool to address comment from Dave on patch #1 - fixed sparse warning noted by the 0-day build tests in patch #2 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b3ddf27f48c8061f0676c5a8796008099945280 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 17:43:48 2015 +0300 net/mlx4_core: Replace VF zero mac with random mac in mlx4_core By design, when no default MAC addresses are set in the Hypervisor for VFs, the VFs are passed zero-macs. When such a MAC is received by the VF, it generates a random MAC address and registers that MAC address with the Hypervisor. This random mac generation is currently done in the mlx4_en module. There is a problem, though, if the mlx4_ib module is loaded by a VF before the mlx4_en module. In this case, for RoCE, mlx4_ib will see the un-replaced zero-mac and register that zero-mac as part of QP1 initialization. Having a zero-mac in the port's MAC table creates problems for a Baseboard Management Console. The BMC occasionally sends packets with a zero-mac destination MAC. If there is a zero-mac present in the port's MAC table, the FW will send such BMC packets to the host driver rather than to the wire, and BMC will stop working. To address this problem, we move the replacement of zero-mac addresses with random-mac addresses to procedure mlx4_slave_cap(), which is part of the driver startup for VFs, and is before activation of mlx4_ib and mlx4_en. As a result, zero-mac addresses will never be registered in the port MAC table by the driver. In addition, when mlx4_en does initialize the net device, it needs to set the NET_ADDR_RANDOM flag in the netdev structure if the address was randomly generated. This is done so that udev on the VM does not create a new device name after each VF probe (VM boot and such). To accomplish this, we add a per-port flag in mlx4_dev which gets set whenever mlx4_core replaces a zero-mac with a randomly-generated mac. This flag is examined when mlx4_en initializes the net-device. Fix was suggested by Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3297246c2c8cf8548ba722da3e3a8104cdcd035 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Wed Oct 14 17:43:47 2015 +0300 net/mlx5_core: Wait for FW readiness on startup On device initialization, wait till firmware indicates that that it is done with initialization before proceeding to initialize the device. Also update initialization segment layout to match driver/firmware interface definitions. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89d44f0a6c732db23b219be708e2fe1e03ee4842 Author: Majd Dibbiny <majd@xxxxxxxxxxxx> Date: Wed Oct 14 17:43:46 2015 +0300 net/mlx5_core: Add pci error handlers to mlx5_core driver This patch implement the pci_error_handlers for mlx5_core which allow the driver to recover from PCI error. Once an error is detected in the PCI, the mlx5_pci_err_detected is called and it: 1) Marks the device to be in 'Internal Error' state. 2) Dispatches an event to the mlx5_ib to flush all the outstanding cqes with error. 3) Returns all the on going commands with error. 4) Unloads the driver. Afterwards, the FW is reset and mlx5_pci_slot_reset is called and it enables the device and restore it's pci state. If the later succeeds, mlx5_pci_resume is called, and it loads the SW stack. Signed-off-by: Majd Dibbiny <majd@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd76ee4da55abb21babfc69310d321b9cb9a32e0 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Wed Oct 14 17:43:45 2015 +0300 net/mlx5_core: Fix internal error detection conditions The detection of a fatal condition has been updated to take into account the state reported by the device or by detecting an all ones read of the firmware version which indicates that the device is not accessible. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f985c65c908f6b26c30019a83dc5ea295f5fcf62 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 14 06:16:49 2015 -0700 tcp: avoid spurious SYN flood detection at listen() time At listen() time, there is a small window where listener is visible with a zero backlog, triggering a spurious "Possible SYN flooding on port" message. Nothing prevents us from setting the correct backlog. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2f34a65a61cd1ace3b53c93e8b38d2f79f4ff0d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 14 05:58:38 2015 -0700 tcp/dccp: fix potential NULL deref in __inet_inherit_port() As we no longer hold listener lock in fast path, it is possible that a child is created right after listener freed its bound port, if a close() is done while incoming packets are processed. __inet_inherit_port() must detect this and return an error, so that caller can free the child earlier. Fixes: e994b2f0fb92 ("tcp: do not lock listener to process SYN packets") Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb0801dcc17845ef52a19f9f9fbbb88a1a93f9b6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Oct 14 18:30:48 2015 +0800 net: phy: aquantia/teranetics: Convert to use module_phy_driver macro Use module_phy_driver macro to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6ba06b8b9a947a8385769f458611d3c97410226 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Oct 14 17:04:55 2015 +0100 hwrng: stm32 - Fix build with CONFIG_PM Commit c6a97c42e399 ("hwrng: stm32 - add support for STM32 HW RNG") was inadequately tested (actually it was tested quite hard so incompetent would be a better description that inadequate) and does not compile on platforms with CONFIG_PM set. Fix this. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7f0abb1f0f2b110ec38ade73c241fcba30f9112a Author: lipeng <lipeng321@xxxxxxxxxx> Date: Wed Oct 14 10:28:57 2015 +0800 net: hisilicon net: fix a bug about led this patch fixes a bug in hns driver. the link led is on at the beginning, but at this time the ethernet port is on down status. it needs to reset the led status on init sequence. Signed-off-by: lipeng <lipeng321@xxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3074cce904a26bb645d3ee7ab5026cf7ef0a3d1 Author: Karen Xie <kxie@xxxxxxxxxxx> Date: Tue Oct 13 17:13:59 2015 -0700 cxgb4i: Increased the value of MAX_IMM_TX_PKT_LEN from 128 to 256 bytes This helps improving the latency of small packets. Signed-off-by: Rakesh Ranjan <rakesh@xxxxxxxxxxx> Signed-off-by: Karen Xie <kxie@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3503357fb71af9b215541e1959a7db9325c1f0f Merge: 4568637 42160a0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 14 18:36:58 2015 -0700 Merge tag 'linux-can-next-for-4.4-20151013' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-09-17 this is a pull request of 4 patches for net-next/master. Two patches are by Gerhard Bertelsmann, fixing some problems in the sun4i driver. The patch by Arnd Bergmann stops using timeval for the CAN broadcast manager. The last patch by Alexandre Belloni removes the otherwise unused struct at91_can_data from the driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f29d3b2777ae32e995d45247c8234d83894b953 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Oct 14 16:44:35 2015 -0700 Input: gpio_keys_polled - add support for abs/rel axis This changAdd support for EV_ABS / EV_REL events to the gpio-keys-polled driver. The driver already allows specifying what type of events (key / rel / abs) a button generates when pressed, but for rel / abs axis we also need to specify which value this specific gpio represents. One use case is digital joysticks / direction-pads which are hooked up to gpio, in this case we've left and right buttons which we want to map to EV_ABS, ABS_X and we want generate events for left with a value of -1 and for right with a value of +1 (and similar for up / down and ABS_Y). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4ef45148701917fbc08a7c05bc6a3bb0c0573047 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:12:03 2015 -0700 cpufreq: intel_pstate: Avoid calculation for max/min When requested from cpufreq to set policy, look into _pss and get control values, instead of using max/min perf calculations. These calculation misses next control state in boundary conditions. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 053f56def57bfaef14c97d268ef6bc4ebe952720 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:12:02 2015 -0700 Documentation: kernel_parameters for Intel P state driver Added new option "no_acpi" for not using ACPI processor performance control objects in Intel P state driver. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 37afb00032424d684a48d649fcfb8b5e4f17c409 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:12:01 2015 -0700 cpufreq: intel_pstate: Use ACPI perf configuration Use ACPI _PSS to limit the Intel P State turbo, max and min ratios. This driver uses acpi processor perf lib calls to register performance. The following logic is used to adjust Intel P state driver limits: - If there is no turbo entry in _PSS, then disable Intel P state turbo and limit to non turbo max - If the non turbo max ratio is more than _PSS max non turbo value, then set the max non turbo ratio to _PSS non turbo max - If the min ratio is less than _PSS min then change the min ratio matching _PSS min - Scale the _PSS turbo frequency to max turbo frequency based on control value. This feature can be disabled by using kernel parameters: intel_pstate=no_acpi Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3bcc6fa971c06151d6bf90cb0dc80807f71b93f6 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:12:00 2015 -0700 cpufreq: intel-pstate: Use separate max pstate for scaling Systems with configurable TDP have multiple max non turbo p state. Intel P state uses max non turbo P state for scaling. But using the real max non turbo p state causes underestimation of next P state. So using the physical max non turbo P state as before for scaling. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6a35fc2d6c22bafe45117cdc5d8cee332244edbb Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:11:59 2015 -0700 cpufreq: intel_pstate: get P1 from TAR when available After Ivybridge, the max non turbo ratio obtained from platform info msr is not always guaranteed P1 on client platforms. The max non turbo activation ratio (TAR), determines the max for the current level of TDP. The ratio in platform info is physical max. The TAR MSR can be locked, so updating this value is not possible on all platforms. This change gets this ratio from MSR TURBO_ACTIVATION_RATIO if available, but also do some sanity checking to make sure that this value is correct. The sanity check involves reading the TDP ratio for the current tdp control value when platform has configurable TDP present and matching TAC with this. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 362414d9d2824ee0f4910a73e880860a90e75c3c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 22 15:29:25 2015 +0300 ACPI / tables: test the correct variable The intent was to test "proc[i].handler" instead of "proc->handler". Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d81056b5278c520f1dede99bd59c14366ac8b1e1 Author: Lukasz Anaczkowski <lukasz.anaczkowski@xxxxxxxxx> Date: Wed Sep 9 15:47:29 2015 +0200 x86, ACPI: Handle apic/x2apic entries in MADT in correct order ACPI specifies the following rules when listing APIC IDs: (1) Boot processor is listed first (2) For multi-threaded processors, BIOS should list the first logical processor of each of the individual multi-threaded processors in MADT before listing any of the second logical processors. (3) APIC IDs < 0xFF should be listed in APIC subtable, APIC IDs >= 0xFF should be listed in X2APIC subtable Because of above, when there's more than 0xFF logical CPUs, BIOS interleaves APIC/X2APIC subtables. Assuming, there's 72 cores, 72 hyper-threads each, 288 CPUs total, listing is like this: APIC (0,4,8, .., 252) X2APIC (258,260,264, .. 284) APIC (1,5,9,...,253) X2APIC (259,261,265,...,285) APIC (2,6,10,...,254) X2APIC (260,262,266,..,286) APIC (3,7,11,...,251) X2APIC (255,261,262,266,..,287) Now, before this patch, due to how ACPI MADT subtables were parsed (BSP then X2APIC then APIC), kernel enumerated CPUs in reverted order (i.e. high APIC IDs were getting low logical IDs, and low APIC IDs were getting high logical IDs). This is wrong for the following reasons: () it's hard to predict how cores and threads are enumerated () when it's hard to predict, s/w threads cannot be properly affinitized causing significant performance impact due to e.g. inproper cache sharing () enumeration is inconsistent with how threads are enumerated on other Intel Xeon processors So, order in which MADT APIC/X2APIC handlers are passed is reverse and both handlers are passed to be called during same MADT table to walk to achieve correct CPU enumeration. In scenario when someone boots kernel with options 'maxcpus=72 nox2apic', in result less cores may be booted, since some of the CPUs the kernel will try to use will have APIC ID >= 0xFF. In such case, one should not pass 'nox2apic'. Disclimer: code parsing MADT APIC/X2APIC has not been touched since 2009, when X2APIC support was initially added. I do not know why MADT parsing code was added in the reversed order in the first place. I guess it didn't matter at that time since nobody cared about cores with APIC IDs >= 0xFF, right? This patch is based on work of "Yinghai Lu <yinghai@xxxxxxxxxx>" previously published at https://lkml.org/lkml/2013/1/21/563 Here's the explanation why parsing interface needs to be changed and why simpler approach will not work https://lkml.org/lkml/2015/9/7/285 Signed-off-by: Lukasz Anaczkowski <lukasz.anaczkowski@xxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> (commit message) Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9b3fedde27d3d63055c43c05e8254e252e58ba48 Author: Lukasz Anaczkowski <lukasz.anaczkowski@xxxxxxxxx> Date: Wed Sep 9 15:47:28 2015 +0200 ACPI / tables: Add acpi_subtable_proc to ACPI table parsers ACPI subtable parsing needs to be extended to allow two or more handlers to be run in the same ACPI table walk, thus adding acpi_subtable_proc structure which stores () ACPI table id () handler that processes table () counter how many items has been processed and passing it to acpi_parse_entries_array() and acpi_table_parse_entries_array(). This is needed to fix CPU enumeration when APIC/X2APIC entries are interleaved. Signed-off-by: Lukasz Anaczkowski <lukasz.anaczkowski@xxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1cd99abb5c94733a43ee4dc81dd62e0f7d8c9ff0 Author: Lubomir Rintel <lkundrak@xxxxx> Date: Sun Oct 11 21:37:17 2015 +0200 ARM: bcm2835: dt: Add Raspberry Pi Model A+ Essentially the same as B+. Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 3f37169fb36497dec8f3fad14d835747d5552aa5 Author: Lubomir Rintel <lkundrak@xxxxx> Date: Sun Oct 11 21:37:16 2015 +0200 ARM: bcm2835: dt: Add Raspberry Pi Model B rev2 This one has an extra P5 header (unpopulated) with I2S. Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 645dccb1c132d42dff26ef3d00cf0b903743d99e Author: Lubomir Rintel <lkundrak@xxxxx> Date: Sun Oct 11 21:37:15 2015 +0200 ARM: bcm2835: dt: Raspberry Pi Model B had no I2S It's the Model B rev2 that had it. Remove it. Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 755f121efede867a176bf016f307dc933119d620 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Fri Oct 2 18:31:15 2015 +0000 ARM: bcm2835: add label for uart0 This patch adds a label for uart0 to allow changing of uart0 pins. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 4e3d60656a7235b6b6e86d7ef48b0394276c35b5 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Feb 26 10:08:06 2015 +0000 ARM: bcm2835: Add the Raspberry Pi firmware driver This gives us a function for making mailbox property channel requests of the firmware, which is most notable in that it will let us get and set clock rates. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> commit d975440bf80cfe4afa628141760a4a4151e58dc4 Author: Marek Vasut <marex@xxxxxxx> Date: Sat Sep 19 06:42:21 2015 +0200 asm-generic: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations This change is similar to e001bbae7147b111fe1aa42beaf835635f3c016e ARM: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations A recent change in kernel/acct.c added a new warning for many configurations using generic __xchg() implementation: In file included from ./arch/nios2/include/asm/cmpxchg.h:12:0, from include/asm-generic/atomic.h:18, from arch/nios2/include/generated/asm/atomic.h:1, from include/linux/atomic.h:4, from include/linux/spinlock.h:406, from include/linux/mmzone.h:7, from include/linux/gfp.h:5, from include/linux/mm.h:9, from kernel/acct.c:46: kernel/acct.c: In function 'acct_pin_kill': include/asm-generic/cmpxchg.h:94:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\ ^ include/asm-generic/cmpxchg.h:102:28: note: in expansion of macro 'cmpxchg_local' #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n)) ^ kernel/acct.c:177:2: note: in expansion of macro 'cmpxchg' cmpxchg(&acct->ns->bacct, pin, NULL); ^ The code is in fact correct, it's just a cmpxchg() call that intentionally ignores the result, and no other code does that. The warning does not show up on x86 because of the way that its cmpxchg() macro is written. This changes the asm-ggeneric implementation to use a similar construct with a compound expression instead of a typecast, which causes the compiler to not complain about an unused result. Fix the other macros in this file in a similar way, and place them just below their function implementations. Signed-off-by: Marek Vasut <marex@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 16c3bd35413126ae3e545ea5cd256c80ae755dd2 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:22 2015 +0200 gpio-mxc: stop including <asm-generic/bug> <asm-generic/bug> contains the default implementation of BUG() and friends, which architectures may decide to use. The proper way to get them is <linux/bug.h>, so use that. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit eecbf54fdd164ec8e396caa5b093a183195cacdb Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:21 2015 +0200 n_tracesink: stop including <asm-generic/bug> <asm-generic/bug> contains the default implementation of BUG() and friends, which architectures may decide to use. The proper way to get them is <linux/bug.h>, so use that. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit c7b918050d2a84c12033c8fe69e65844aafad67c Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:20 2015 +0200 n_tracerouter: stop including <asm-generic/bug> <asm-generic/bug> contains the default implementation of BUG() and friends, which architectures may decide to use. The proper way to get them is <linux/bug.h>, so use that. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit adec640e03668e42f30f3b09c0b4d60d44545f6f Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:19 2015 +0200 mlx5: stop including <asm-generic/kmap_types.h> <linux/highmem.h> is the placace the get the kmap type flags, asm-generic files are generic implementations only to be used by architecture code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit ac8427b9ebf541e42f18bf298997d8765b513d51 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:18 2015 +0200 hifn_795x: stop including <asm-generic/kmap_types.h> <linux/highmem.h> is the placace the get the kmap type flags, asm-generic files are generic implementations only to be used by architecture code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dbcbdc432b24ef708f9733a17b16fe58ed143afd Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:17 2015 +0200 drbd: stop including <asm-generic/kmap_types.h> <linux/highmem.h> is the placace the get the kmap type flags, asm-generic files are generic implementations only to be used by architecture code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit a1164a3ac75feeab86f6c02fabdfbf24b81e3c1a Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:15 2015 +0200 move count_zeroes.h out of asm-generic This header contains a few helpers currenly only used by the mpi implementation, and not default implementation of architecture code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2f8e2c877784a0b23f02b41550170a24e14f5c95 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:14 2015 +0200 move io-64-nonatomic*.h out of asm-generic These are not implementations of default architecture code but helpers for drivers. Move them to the place they belong to. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Acked-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 28496be98e5e3761ed146bbc82e18f6a7bb5200b Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:39:51 2015 +0200 ARM: pxa: magician: Remove pdata for pasic3-leds The pasic3-leds driver was never in vanilla kernel. Actual configuration data for a hypothetical driver does not describe hardware completely, so remove them. This patch prepare HTC Magician machine code to pasic3-leds driver addition. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 31134b515f94050723e8841232b7979e52db2601 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:39:33 2015 +0200 ARM: pxa: magician: Add support for PXA27x UDC A PXA27x SoC supports USB device mode, this patch adds support for that. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit ff5eff35c1a268f99c0d0f0877ee388c27cce4d8 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:39:03 2015 +0200 ARM: pxa: magician: Add support for MAX1587A Vcore regulator HTC Magician contains a MAX1587A voltage regulator for a Vcore supply. The Vcore regulation is required for a CPU speed switching. This patch adds declaration for the max1586 driver. Notice: - MAX1587A version does not support the V6 (USIM) output. - A boost resistor was directly measured for a board_id 0x3a. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit f36150b179124f153d6c5a2df4057be801d7f252 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:10:18 2015 +0200 ARM: pxa: magician: Change comments to be more informative This patch changes the comments in the HTC Magician machine source code to better describe used devices and interfaces. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 78afa4fcf4c10ef5bf9828c94443792257159d88 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:42:23 2015 +0200 ARM: pxa: magician: Move platform_add_devices() to the end of magician_init() This patch moves platform_add_devices() (standard declaration of devices) outside of the platform specific device declarations. Moving to the end of the magician_init() clarifies the source code (standard and specific declaration are not mixed). Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit e2f1b8b0ad1e8bd083241a79c179448ec7994b2a Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:40:57 2015 +0200 ARM: pxa: magician: Add missing regulator for PWM backlight Add a fake regulator, which is required for the correct initialization of the PWM backlight driver. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> [ added a missing include for fixed regulator ] Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 539122ad349af70a6780291f7c4a5d7bf17a5b59 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:40:44 2015 +0200 ARM: pxa: magician: Add debug message for backlight brightness function Add a debug message for the backlight brightness function. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit d8ba1c17fb639b060f1b036ec510421e0ad322d4 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:40:23 2015 +0200 ARM: pxa: magician: Remove definition of the STUART port Magician STUART port is connected to the infraport and used by the FICP driver. The FICP driver uses its own definition. Required for correct initialization of the pxaficp_ir driver after planned dmaengine conversion. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 2eb7414a9f793ab1a97b53fbef67546a00815fd4 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:38:03 2015 +0200 ARM: pxa: magician: Fix wrongly enabled USB host ports USB host ports on the HTC Magician are wrongly enabled. Port 1 is for bluetooth and port 2 is for OTG (mux in the charger connector). Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit fdb902b6fca4c4b72cf8131114bc4e6610b3cc24 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:34:39 2015 +0200 ARM: pxa: magician: Fix support for Intel Strata NOR Flash Old definition for the physmap-flash driver is incomplete: - Use of an EGPIO without previous request - Missing the MTD partitions This patch fixes it. Read functionality was tested on the machine with board_id 0x3a. Writing was not tested. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 0f073e3e0c156eca99ce021529b2f914d1d465ff Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:34:18 2015 +0200 ARM: pxa: magician: Fix redundant GPIO request for pxaficp_ir The pxaficp_ir driver requests a power GPIO for the transceiver internally, so a global GPIO allocation in magician_init() is redundant. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 0fb58abb5d75eea47e001ef47ad8cbca545ac4ca Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:33:55 2015 +0200 ARM: pxa: magician: Fix platform data for both PXA27x I2C controllers This patch changes fast_mode settings for the normal and power I2C controller on the HTC Magician machine. Connected device on the Power I2C: - MAX1587A: working in the fast mode Connected devices on the Normal I2C: - UDA1380: working in the fast mode - OV9640: bus became stuck in the fast mode The OV9640 is not using a standard I2C protocol, but an SCCB variant. Maybe it is not fully compatible in the fast mode. Therefore fast mode for normal I2C is disabled. If you not using the OV9640 then you can enable the fast mode for the UDA1380. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> [included Philipp Zabel's comment change] Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit eac2eacc3056842b7dae8ed5ea1edd1a5e966dd8 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:33:02 2015 +0200 ARM: pxa: magician: Fix and add charging detection functions This patch fixes the charging detection functions for pda_power driver (according to newly discovered EGPIOs) and add NiCd backup accumulator charging support. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit e7b97a4ce74ad44a419759b008edc75390aab20c Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:32:12 2015 +0200 ARM: pxa: magician: Optimize Samsung LCD refresh to 50Hz Change the default Samsung LCD refresh from an unrealistic 117Hz to 50Hz as no video applications on the HTC Magician can work that fast. The optimalization lowers the RAM latency at least by 3%. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit f78b3a126bf40535444a1fe087826019b3d72594 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:32:40 2015 +0200 ARM: pxa: magician: Rename charger cable detection EGPIOs This patch renames EGPIOs, which are used for the charging cable presence and type detection. Old names did not correspond with an observed functionality (on board_id 0x3a). The behavior is not: - AC charger - USB charger - Cable detection , but: - AC/USB type - Cable detection1 - Cable detection2 This patch fixes a possible typo in the bit offset for the cable detection EGPIO declaration, too. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit fa5407ad9cd9aa41e00102073958475a89ac5456 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:16:14 2015 +0200 ARM: pxa: magician: Optimize powerup delays for Samsung LCD Delays for the Samsung LCD are greater than needed. These values were extracted from a datasheet. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 6001ae70ea2ed592c45ab927bac21d881747e42a Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:15:57 2015 +0200 ARM: pxa: magician: Rename abstract LCD GPIOs This patch renames GPIOs, which are used to control the power lines to the LCD screen. New names correspond to a real functionality, which was measured on the HTC Magician board_id 0x3a. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 02b0d34f297ea60554b8de9567927f7d55e595a8 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:15:19 2015 +0200 ARM: pxa: magician: Add new discovered EGPIO pins This patch adds EGPIO pins: Infra transceiver power, NiCD charging and inserted charger cable. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 6382a5947962144006e871a548616822e09a6763 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:11:34 2015 +0200 ARM: pxa: magician: Change description of LCD power GPIO This patch changes the description of the LCD power GPIO to be more specific. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit dedad4d289d84a276a79998ad0b9c4300e3cfc48 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:11:11 2015 +0200 ARM: pxa: magician: Optimize debug messages for LCD power Optimize the debug messages for the LCD power. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 7f63a752c695ed1c989d9bb4f607fa5f3b669277 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:10:43 2015 +0200 ARM: pxa: magician: Print more specific error message for global GPIOs Print more specific error message for global GPIOs. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit ccb6f9aec3138adf72e51460bcf1646d6d899446 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:09:52 2015 +0200 ARM: pxa: magician: Fix indentation in machine files This patch fixes the indentation for the HTC Magician machine definition. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 6f26f6f5d1469bdf5f4c2df94949f404f68f52d3 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:57 2015 +0200 ARM: pxa: zylonite: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit a3827639a36ab2886d2254d74372dafff54c5365 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:56 2015 +0200 ARM: pxa: z2: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 5a4412d4a82f956330998275439311555ccb8744 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:54 2015 +0200 ARM: pxa: tavorevb: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 783bc78836563af4e874124cbe1db360a0b597b6 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:41 2015 +0200 ARM: pxa: cm-x300: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit bfcb311744cf4a6d99602b022daabfc107bb35ca Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:50 2015 +0200 ARM: pxa: palmtc: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 18999cba54f7f117ae7b2da01b4ad52f42d4e18c Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:55 2015 +0200 ARM: pxa: viper: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 390f829878b2dafccfaa77d2ea8d95a62238d5e0 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:53 2015 +0200 ARM: pxa: raumfeld: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 542789d2f7834aae5978196b5286b984e52d41d9 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:52 2015 +0200 ARM: pxa: pcm990: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit f5a3b55287dd571967c8b83927cb8740fa977426 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:51 2015 +0200 ARM: pxa: palmte2: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit e2d5b780aacea75777a93953e6967886014ad4f0 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:49 2015 +0200 ARM: pxa: palm27x: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 64c644a40dedd23e9d80d24095ac1a2ab0799ca6 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:48 2015 +0200 ARM: pxa: mioa701: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit a6bedd11dad4ea53ffe195fdeec7053640754581 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:47 2015 +0200 ARM: pxa: mainstone: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> [ split pwm_remove_table() call on 2 lines ] Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 2fcef6ec87a044221fc3c2f16873f7c02b9ae991 Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Tue Oct 13 11:14:23 2015 +0800 drm/amdgpu: fix lockup when clean pending fences The first lockup fence will lock the fence list of scheduler. Then cancel the delayed workqueues for all clean pending fences without waiting the workqueues to finish. Change-Id: I9bec826de1aa49d587b0662f3fb4a95333979429 Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 2440ff2c9151120c8ae27de6565b11831ee07e08 Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Sat Oct 10 08:48:42 2015 +0800 drm/amdgpu: add timer to fence to detect scheduler lockup Change-Id: I67e987db0efdca28faa80b332b75571192130d33 Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: David Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit d6c10f6b81e340e7d2d337183517a6da739d5ba2 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Sep 28 12:00:23 2015 +0200 drm/amdgpu: add VM CS mapping trace point Output all VM mappings a command submission uses. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b495bd3a54e732e846bfde49ba2ea93b62b1de91 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 10 14:00:35 2015 +0200 drm/amdgpu: add option to clear VM page tables after every submit This makes it much easier to find when userspace misses to send some buffers. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d9c13156a628cc9f8f062f2c10e2bff55b92aaab Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Sep 28 12:31:26 2015 +0200 drm/amdgpu: add option to stop on VM fault Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ce0c6bcda6d0d9fc9df65dccb46a68b79ba6f018 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 10 15:00:39 2015 +0200 drm/amdgpu: only print meaningful VM faults Port of radeon commit 9b7d786b900baf7c0d1a7e211570aef1cb27590f. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 39ff8449c5680466f568be57fbf79845ff5529ab Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Sep 28 12:01:20 2015 +0200 drm/amdgpu: also trace already allocated VMIDs Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3d2ce0d2394c82ac2ab7be8746eaa75042f2c997 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Mon Oct 12 11:54:18 2015 +0200 drm/amdgpu: Drop unnecessary #include <linux/vga_switcheroo.h> This was added to two radeon files even though they don't use any vga_switcheroo symbols, the amdgpu fork inherited them: Added to amdgpu_acpi.c by commit d7a2952f1ade ("drm/radeon: Add support for the ATIF ACPI method to the radeon driver"). Added to amdgpu_bios.c by commit 6a9ee8af344e ("vga_switcheroo: initial implementation (v15)"). Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 471577447a9af5f33435496c121343c5282ff3f5 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Mon Oct 12 11:15:17 2015 +0200 drm/radeon: Drop unnecessary #include <linux/vga_switcheroo.h> This was added to three files even though they don't use any vga_switcheroo symbols: Added to radeon_acpi.c by commit d7a2952f1ade ("drm/radeon: Add support for the ATIF ACPI method to the radeon driver"). Added to radeon_asic.c by commit 0a10c85129c2 ("drm/radeon: create radeon_asic.c"). Added to radeon_bios.c by commit 6a9ee8af344e ("vga_switcheroo: initial implementation (v15)"). Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7dfac8965f8e108985bee38c746db2fe53314cc9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 9 11:38:49 2015 -0400 drm/amdgpu: clean up pageflip interrupt handling Check to make sure we aren't touching a non-existent display controller and simplify the code. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c113ea1c4f4a7592f17e53d658873b83af0dbb4b Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 8 16:30:37 2015 -0400 drm/amdgpu: rework sdma structures Rework the sdma structures in the driver to consolidate all of the sdma info into a single structure and allow for asics that may have different numbers of sdma instances. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 756e6880c51376d2e4d53050582d66d88fc281c7 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 8 00:03:36 2015 -0400 drm/amdgpu: unpin cursor BOs on suspend and pin them again on resume Everything is evicted from VRAM before suspend, so we need to make sure all BOs are unpinned and re-pinned after resume. Fixes broken mouse cursor after resume introduced by commit b9729b17. Port of radeon commit: f3cbb17bcf676a2fc6aedebe9fbebd59e550c51a Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a2df42da61109653782949789ffe6c358e5d2685 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 23:46:49 2015 -0400 drm/amdgpu/dce8: Fold set_cursor() into show_cursor() Port of radeon commit: 8991668ab4e26f985a8485719bce5d6d0623a644 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 72b400675a900e80a75cad57db6aa726c68ffb3f Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 8 11:31:58 2015 -0400 drm/amdgpu/dce8: Clean up reference counting and pinning of the cursor BOs Take a GEM reference for and pin the new cursor BO, unpin and drop the GEM reference for the old cursor BO in dce8 crtc_cursor_set2, and use amdgpu_crtc->cursor_addr in dce8 set_cursor. This fixes dce8 cursor_reset accidentally incrementing the cursor BO pin count, and cleans up the code a little. Port of radeon commit: cd404af0c930104462aa91344f07d002cf8248ed Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c4e0dfadb2d4c054ca06641da77294fd5c61725a Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 23:38:03 2015 -0400 drm/amdgpu/dce8: Move hotspot handling out of set_cursor It's only needed in dce8 crtc_cursor_set2. Port of radeon commit: 2e007e611bc0a46dfed1547e0228a57f800e703d Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fd70cf63e24a0cf3105853e3b59eaa52d8b9df17 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 23:34:57 2015 -0400 drm/amdgpu/dce8: Re-show the cursor after a modeset (v2) Setting a mode seems to clear the cursor registers, so we need to re-program them to make sure the cursor is visible. Port of radeon commit: 6d3759fac636028849f3bbec80c4b77e9bfdb1d2 v2: change radeon reference in error message Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 77ed35b889e38775649ed985048cac8c134cd3a3 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 23:26:15 2015 -0400 drm/amdgpu/dce8: Use cursor_set2 hook for enabling / disabling the HW cursor The cursor_set2 hook provides the cursor hotspot position within the cursor image. When the hotspot position changes, we can adjust the cursor position such that the hotspot doesn't move on the screen. This prevents the cursor from appearing to intermittently jump around on the screen when the position of the hotspot within the cursor image changes. Port of radeon commits: 78b1a6010b46a69bcd47b723a80f92693f26d17b 3feba08d79c32777a845c3c8a4ab93092bdf6f19 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ec9353dca9a02b429f31ac58ec7b55ee61757441 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 23:20:45 2015 -0400 drm/amdgpu/dce11: Fold set_cursor() into show_cursor() Port of radeon commit: 8991668ab4e26f985a8485719bce5d6d0623a644 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 232cc6520a6c84a3e5acd075605ddc1bca6bd157 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 8 11:28:49 2015 -0400 drm/amdgpu/dce11: Clean up reference counting and pinning of the cursor BOs Take a GEM reference for and pin the new cursor BO, unpin and drop the GEM reference for the old cursor BO in dce11 crtc_cursor_set2, and use amdgpu_crtc->cursor_addr in dce11 set_cursor. This fixes dce11 cursor_reset accidentally incrementing the cursor BO pin count, and cleans up the code a little. Port of radeon commit: cd404af0c930104462aa91344f07d002cf8248ed Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1996ea09cd89a5bba8b1e193e08850e273046fd6 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 17:25:54 2015 -0400 drm/amdgpu/dce11: Move hotspot handling out of set_cursor It's only needed in dce11 crtc_cursor_set2. Port of radeon commit: 2e007e611bc0a46dfed1547e0228a57f800e703d Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8ddef5a5e51435075b9412698519f8ddb36ee53c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 17:22:23 2015 -0400 drm/amdgpu/dce11: Re-show the cursor after a modeset (v2) Setting a mode seems to clear the cursor registers, so we need to re-program them to make sure the cursor is visible. Port of radeon commit: 6d3759fac636028849f3bbec80c4b77e9bfdb1d2 v2: change radeon reference in error output Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d8ee89c6393d78b52b42fe0f188fe382fa8fc162 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 17:07:01 2015 -0400 drm/amdgpu/dce11: Use cursor_set2 hook for enabling / disabling the HW cursor The cursor_set2 hook provides the cursor hotspot position within the cursor image. When the hotspot position changes, we can adjust the cursor position such that the hotspot doesn't move on the screen. This prevents the cursor from appearing to intermittently jump around on the screen when the position of the hotspot within the cursor image changes. Port of radeon commits: 78b1a6010b46a69bcd47b723a80f92693f26d17b 3feba08d79c32777a845c3c8a4ab93092bdf6f19 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3c681718b4bf73d80fd6a11033e12fd4402a7a1c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Sep 25 09:51:59 2015 -0400 drm/amdgpu/dce10: Fold set_cursor() into show_cursor() Port of radeon commit: 8991668ab4e26f985a8485719bce5d6d0623a644 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f9242d1baff77aa148a6220f906870611dbc4746 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 8 11:25:38 2015 -0400 drm/amdgpu/dce10: Clean up reference counting and pinning of the cursor BOs Take a GEM reference for and pin the new cursor BO, unpin and drop the GEM reference for the old cursor BO in dce10 crtc_cursor_set2, and use amdgpu_crtc->cursor_addr in dce10 set_cursor. This fixes dce10 cursor_reset accidentally incrementing the cursor BO pin count, and cleans up the code a little. Port of radeon commit: cd404af0c930104462aa91344f07d002cf8248ed Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ef67e38cfe63c70b7901bd5fdb8a170a94b2ef69 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 24 17:46:19 2015 -0400 drm/amdgpu/dce10: Move hotspot handling out of set_cursor It's only needed in dce10 crtc_cursor_set2. Port of radeon commit: 2e007e611bc0a46dfed1547e0228a57f800e703d Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit dd0b5d2f886daced723c374fdb0e013e6186493b Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 24 17:43:09 2015 -0400 drm/amdgpu/dce10: Re-show the cursor after a modeset (v2) Setting a mode seems to clear the cursor registers, so we need to re-program them to make sure the cursor is visible. Port of radeon commit: 6d3759fac636028849f3bbec80c4b77e9bfdb1d2 v2: change radeon reference in error message Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 29275a9b09ce2abd8fa01268b217c0b56ff22d83 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 24 17:29:44 2015 -0400 drm/amdgpu/dce10: Use cursor_set2 hook for enabling / disabling the HW cursor The cursor_set2 hook provides the cursor hotspot position within the cursor image. When the hotspot position changes, we can adjust the cursor position such that the hotspot doesn't move on the screen. This prevents the cursor from appearing to intermittently jump around on the screen when the position of the hotspot within the cursor image changes. Port of radeon commits: 78b1a6010b46a69bcd47b723a80f92693f26d17b 3feba08d79c32777a845c3c8a4ab93092bdf6f19 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c2fe16aa36d2bc976f7e79600d3a118fafdcc8dc Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 2 14:26:41 2015 -0400 drm/amdgpu/atom: add support for new div32 opcodes (v3) Better precision than the regular div opcode. v2: drop 64 bit divide v3: fix op handling. This actually is a 64 bit divide. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c9c145021f8fc8445fb07d16073696330b6186c8 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 2 14:16:11 2015 -0400 drm/amdgpu/atom: add support for new mul32 opcodes (v2) Better precision than the regular mul opcode. v2: handle big endian properly. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 554384198c11717d9d9fdb2c9aa83ab78cd50fdf Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 2 14:03:26 2015 -0400 drm/amdgpu/atom: add support for process ds opcode Just skips a data section. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f76097c099ab84befce13c0cbc827ece6ea3bcdb Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 2 13:53:33 2015 -0400 drm/amdgpu/atom: implement debug opcode Basically a nop. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f9e5ca86eeaae430e70b05ec312372dca1055d8d Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Thu Oct 1 12:52:40 2015 +0200 ARM: meson6: DTS: Fix wrong reg mapping and IRQ numbers The DTS erronously uses the wrong reg mapping and IRQ numbers for some UART, WDT and timer nodes. Fix this. Reported-by: John Wehle <john@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d0bfd7c9b162612de55ca2d204403b90dc278db6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 8 13:34:09 2015 -0500 soc: qcom: smem: Move RPM message ram out of smem DT node SMEM is a software construct built on top of a DDR reserved region and sometimes a device memory region called RPM message ram. Having the RPM message ram in the smem DT node's reg property leads to the smem node being located in different places depending on if the message ram is being used or not. Let's add a qcom specific property, qcom,rpm-msg-ram, and point to the device memory from the SMEM node via a phandle. As SMEM is a software construct, it really needs to reside at the root of the DT regardless of whether it's using the message ram or not. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit a8ddd1b998bdad9489876a3068cc45917bee5441 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Oct 13 13:57:43 2015 -0700 soc: qcom: smd-rpm: Correct the active vs sleep state flagging The BIT() was incorrectly inherited from family A and should not be used on family B where the state is denoted by an enum. Reported-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 6083096d961f3cf754c4da282179053f7b85ac16 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Oct 12 22:43:15 2015 +0200 soc: qcom: smd: delete unneeded of_node_put Device node iterators perform an of_node_put on each iteration, so putting an of_node_put before a continue results in a double put. A simplified version of the semantic match that finds this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; iterator i; @@ i(..., child, ...) { ... when != of_node_get(child) * of_node_put(child); ... * continue; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 33e38b4f1c54f9c2d3b2034c18ef937a3c09bc66 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 16:56:19 2015 +0200 firmware: qcom-scm: build for correct architecture level The ".arch_extension sec" directive is only available on ARMv6 or higher, so if we enable the SCM driver while building a kernel for an older CPU, we get a build error: /tmp/ccUyhMOY.s:130: Error: selected processor does not support ARM mode `smc #0' /tmp/ccUyhMOY.s:216: Error: selected processor does not support ARM mode `smc #0' /tmp/ccUyhMOY.s:373: Error: selected processor does not support ARM mode `smc #0' make[4]: *** [drivers/firmware/qcom_scm-32.o] Error 1 This changes the Makefile so we pass the ARMv7 architecture level both for the check and for the actual compilation of the scm driver. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit ea4683e0b6c38ed54e5a66160c99d65f5022ecb2 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Oct 9 22:06:44 2015 -0700 soc: qcom: smd: Correct SMEM items for upper channels Update the SMEM items for the second set of SMD channels, as these where incorrect. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 2d3c277ca5b1a9c12cde1f760ff925b87608bc76 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Sep 29 15:48:55 2015 -0400 qcom-scm: add missing prototype for qcom_scm_is_available() Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit c7b7c609493da428bd5af19d522b14a912b8ea3e Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Sep 29 15:48:53 2015 -0400 qcom-scm: fix endianess issue in __qcom_scm_is_call_available Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit a208ca98ff63e5c94d03810bc80fee9b02fe9972 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Thu Sep 24 18:37:18 2015 -0700 soc: qcom: smd: Reject send of too big packets Attempting to find room for a packet that's bigger than the fifo will never succeed and the calling process will be sleeping forever in the loop, waiting for enough room. So fail early instead. Reported-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 24f60e3776e340136f8d822aff75fe06b78a315f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Sep 17 14:50:53 2015 -0700 soc: qcom: smd: Handle big endian CPUs The smd structures are always in little endian, but the smd driver is not capable of being used on big endian CPUs. Annotate the little endian data members and update the code to do the proper byte swapping. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 30b7ea5eda0afb13164b2d7049a56645cfc1d47b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:50 2015 -0700 soc: qcom: smd_rpm: Handle big endian CPUs The smd rpm structures are always in little endian, but this driver is not capable of being used on big endian CPUs. Annotate the little endian data members and update the code to do the proper byte swapping. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 50e1b29b4438bdb0be61ff41e6925cab6f8a9284 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:48 2015 -0700 soc: qcom: smd: Remove use of VLAIS Usage of VLAIS prevents clang from compiling this file, and it also opens us to the possibility of allocating a large structure on the stack to the point that we blow past the limit of the kernel stack. Remove the VLAIS and allocate a structure on the heap with kmalloc so that we're safer and more clang friendly. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 3b781e55c6cb1afa5da7b2b1b2bb1b0c9ee7bf97 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:47 2015 -0700 soc: qcom: smd: Use __iowrite32_copy() instead of open-coding it We already have a function to do this and it silences some sparse warnings along the way. Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit f02dc82523a72619a10e24355c7b2f12c6814d52 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:46 2015 -0700 soc: qcom: smd: Represent channel layout in structures The rx and tx channel info are laid out in memory next to each other, and there are two types of channel info structures, byte based and word based. We have 4 pointers to these info structures, when we really only need two to point to the different types of structures. Encapsulate the byte based and word based tx/rx structures in a "channel pair" structure that describes the layout of memory and reduces the number of pointers in the smd channel structure by two. Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 9806884d8cd552e6926c162a022cc4b948f4abc8 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:45 2015 -0700 soc: qcom: smem: Handle big endian CPUs The contents of smem are always in little endian, but the smem driver is not capable of being used on big endian CPUs. Annotate the little endian data members and update the code to do the proper byte swapping. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 1a03964dec3cecb6382d172b9dfe318735c2cad7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:44 2015 -0700 soc: qcom: Make qcom_smem_get() return a pointer Passing a void ** almost always requires a cast at the call site. Instead of littering the code with casts every time this function is called, have qcom_smem_get() return a void pointer to the location of the smem item. This frees the caller from having to cast the pointer. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 7d0c8beea6b8d158d9a628b798dfc1638a7a8ce0 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 28 11:23:33 2015 -0700 soc: qcom: Reorder SMEM/SMD configs When I make nconfig, having the SMEM option after the SMD option causes the configurator to get confused when I'm enabling and disabling these options. Let's move SMEM before SMD so there's a clear indented dependency chain. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit f8c67df71bcdd863d623985c9e8dc78368c862db Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 28 11:18:49 2015 -0700 soc: qcom: smem: Avoid NULL pointer exception on remove Don't set a pointer to NULL and then dereference it in the next line. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 1a7caca20ed56a80cea045327deaeb4e4379cbd1 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Aug 28 10:39:20 2015 -0700 soc: qcom: smd: Implement id_table driver matching Implement a id_table based driver maching mechanism for drivers that binds to fixed channels and doesn't need any additional configuration, e.g. IPCRTR and DIAG. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit d42f265a5d7a352d40fa2911666cd5236bc3ccaf Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Oct 14 14:49:16 2015 +0300 ARM: OMAP3: clock: remove un-used core dpll re-program code Remove the OMAP3 core DPLL re-program code, and the associated SRAM code that does the low-level programming of the DPLL divider, idling of the SDRAM etc. This code was never fully implemented in the kernel; things missing were driver side handling of core clock changes (they need to account for their functional clock rate being changed on-the-fly), and the whole framework required for handling this. Thus, there is not much point to keep carrying the low-level support code either. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit be146412501bc2ed49183637605da97f47125696 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 20:31:47 2015 +0300 ARM: dts: omap3-igep: Use OMAP3_CORE1_IOPAD pinmux macro Use the macro instead of absolute register offsets to make the code more readable as the values now match register addresses from the datasheet. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2445a9c5f0de77377da2c7e7163be8488b3d6e7b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Oct 14 13:18:55 2015 +0200 clk: max77802: Update MODULE_AUTHOR() email address The email address listed in MODULE_AUTHOR() no longer exist so to prevent people to send emails to the old address, replace it with my current one. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 30f84a891bf6dc7ffb9c0d0f3361ca6375633ac1 Author: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Date: Wed Oct 14 09:49:24 2015 +0800 EDAC: Use edac_debugfs_remove_recursive() debugfs_remove() is used to remove a file or a directory from the debugfs filesystem, but mci->debugfs might not empty. This can be triggered by the following sequence: 1) Enable CONFIG_EDAC_DEBUG 2) insmod an EDAC module (like i3000_edac or similar) 3) rmmod this module 4) we can see files remaining under <debugfs_mountpoint>/edac/ like "fake_inject", for example. Removing edac_core then, causes a NULL pointer dereference. Reported-by: Yun Wu (Abel) <wuyun.wu@xxxxxxxxxx> Signed-off-by: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Cc: Doug Thompson <dougthompson@xxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444787364-104353-1-git-send-email-tanxiaojun@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6f1f5d5f4dc39e579b3ac348277dd60ee9e44e08 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 14 18:40:10 2015 +0200 mac80211: remove event.c That file contains just a single function, which itself is just a single statement to call a different function. Remove it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3beea3513f6157500984dc6117fcf036b3380d7e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 14 18:36:43 2015 +0200 mac80211: remove cfg.h The file contains just a single declaration that can easily move to another file - remove it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit fbd6ff5ceafa9c9c39e20f5a4f8c46c0b5efb2a2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 14 18:31:30 2015 +0200 mac80211: move sta_set_rate_info_rx() and make it static There's only a single caller of this function, so it can be moved to the same file and made static. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a732fa700133f864c542b335e80a845fe1b80f2b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 14 18:27:07 2015 +0200 mac80211: clean up ieee80211_rx_h_check_dup code Reduce indentation a bit to make the condition more readable. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4a733ef1bea705cdc69d936b95fedab4b47fbd40 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 14 18:02:43 2015 +0200 mac80211: remove PM-QoS listener As this API has never really seen any use and most drivers don't ever use the value derived from it, remove it. Change the only driver using it (rt2x00) to simply use the DTIM period instead of the "max sleep" time. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b1ee27d44d3eef26c042e20c49fafee1b7987d10 Merge: 8ee57b8 df829b0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:57:03 2015 +0200 Merge tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Merge "Samsung DT updates for v4.4" from Kukjin Kim: - New board support : add exynos5250-snow-rev5 DT file to support Snow Rev5+ board : add exynos5422-odroidxu4 DT file to support Odroid XU4 board : split exynos5422-odroidxu3-audio DT file from odroidxu3-common - USE GPIO constants for flags cells for exynos boards - fix cpu compatible value to 'arm926ej-s' for s3c2416 - add DMA support for serial ports for exynos4 - add suspend opp for exynos4412 - remove regulator-compatible usage for exynos4412-trats2 - enable EC vboot context support for Peach boards - move display-timings node to DP for exynos5250-arndale, smdk5250 and smdk5420 - for exynos4412-odroid/odroidu3 : unify voltage regulator style and : remove redundant pinctrl settings : add pwm-fan node and use it as a colling device - for exynos5422-odroidxu3 : fix power off method and LEDs - dt-bindings : grounded AC0KB pin on S2MPS11 : entry how to use PWM FAN as a cooling device * tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (22 commits) ARM: dts: Use GPIO constants for flags cells in exynos5440 boards ARM: dts: Use GPIO constants for flags cells in exynos5420/5422/5800 boards ARM: dts: Use GPIO constants for flags cells in exynos4412 boards ARM: dts: Use GPIO constants for flags cells in exynos4120 boards ARM: dts: Use GPIO constants for flags cells in exynos3250 boards ARM: dts: Enable EC vboot context support on Peach boards ARM: dts: Remove regulator-compatible usage in exynos4412-trats2 ARM: dts: Move display-timings node from fimd to dp in exynos5250-arndale, smdk5250 and smdk5420 ARM: dts: Add Exynos5250 Snow Rev5+ support on exynos5250-snow-rev5 ARM: dts: Unify voltage regulator style in exynos4412-odroid ARM: dts: Remove redundant pinctrl settings in exynos4412-odroid ARM: dts: Fix cpu compatible value for s3c2416 ARM: dts: Add support Odroid XU4 board for exynos5422-odroidxu4 ARM: dts: Split audio configuration to separate exynos5422-odroidxu3-audio ARM: dts: Fix power off method for exynos5422-odroidxu3-common dt-bindings: Document grounded ACOKB pin on S2MPS11 ARM: dts: use pwm-fan device as a cooling device for exynos4412-odroidu3 ARM: dts: Add pwm-fan node for exynos4412-odroidu3 dt-bindings: Documentation entry to explain how to use PWM FAN as a cooling device ARM: dts: add suspend opp to exynos4412 ... commit 8ee57b8182c4069e8b2939dde68a60536c663df1 Author: Ian Campbell <ian.campbell@xxxxxxxxxx> Date: Mon Oct 5 12:53:52 2015 +0100 ARM64: dts: vexpress: Use a symlink to vexpress-v2m-rs1.dtsi from arch=arm Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG" added a new dts file to arch/arm64 which included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a .dtsi supplied by arch/arm. Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there. In that context the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi. The sharing of the .dtsi is legitimate since the baseboard is the same for various vexpress systems whatever processor they use. Previously I attempted to resolve this by creating a shared location for such things but we have been unable to come to a consensus on where that should be. Instead this patch simply replaces the use of ../../ in the dts /include/ with a symlink in arch/arm64/boot/dts/arm pointing to the file arch/arm/boot/dts. Since the split device tree repo will shortly be required to flatten symlinks for other reasons this will cause the dtsi file to appear in both src/arm and src/arm64 in the split repo, which is an improvement on not building for arm64 now. [0] https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/ Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Liviu Dudau <liviu.dudau@xxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Kristina Martsenko <kristina.martsenko@xxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: arm@xxxxxxxxxx Cc: linux-kbuild@xxxxxxxxxxxxxxx Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit a8939d1a2f1a51425a63afad62e007adc85e746b Merge: 49eb592 1431794 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:52:59 2015 +0200 Merge tag 'hisi-soc-dt-for-4.4' of git://github.com/hisilicon/linux-hisi into next/dt Pull "ARM: DT: Hisilicon SoC DT updates for 4.4" from Wei Xu: - Drop console= and earlyprintk bootargs parameter in hisilicon armv7 dts * tag 'hisi-soc-dt-for-4.4' of git://github.com/hisilicon/linux-hisi: ARM: hisilicon: DT: Drop console= and earlyprintk bootargs parameter commit 49eb5926df44df6b59e07b447c0a8afda79ca881 Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Thu Oct 1 12:52:40 2015 +0200 ARM: meson6: DTS: Fix wrong reg mapping and IRQ numbers The DTS erronously uses the wrong reg mapping and IRQ numbers for some UART, WDT and timer nodes. Fix this. Reported-by: John Wehle <john@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e9e50f10a7a06c4108a760ece6847cd0d95947bf Merge: 129c29c 52095d1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:48:10 2015 +0200 Merge tag 'sunxi-dt-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Pull "Allwinner DT changes for 4.4" from Maxime Ripard: DT patches for the 4.4 merge window, most notably: - Enable the OTG controller on more boards - Create new DTSI for the q8's design - Added RSB support to the A23 and A33 SoCs - New boards: Olimex A20 EVB, Yones bs1078v2 Plus the usual random patches enabling and / or enhancing a few things in particular boards. * tag 'sunxi-dt-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (59 commits) ARM: dts: sun6i: hummingbird: Drop AXP221 DC1SW and DC5LDO supplies ARM: dts: sun8i: sinlinx-sina33: Enable Reduced Serial Bus controller ARM: dts: sun8i: q8-common: Enable RSB controller for A23/A33 Q8 tablets ARM: dts: sun8i: Add Reduced Serial Bus controller device node to A23/A33 dtsi ARM: dts: sun4i: Add AXP209 PMU regulators for pcDuino1/2 ARM: sun7i: dt: Add new Olimex A20 EVB device ARM: dts: sun6i: hummingbird: Add aliases for rtc devices ARM: dts: sun7i: Add dts file for Wits Pro A20 DKT ARM: dts: sun7i: Enable USB DRC on Wexler TAB7200 ARM: dts: sun7i: Enable USB DRC on the Orange pi ARM: dts: sun7i: Enable USB DRC on orangepi-mini ARM: dts: axp209: Add usb_power_supply child node to the ax209 node ARM: dts: sun8i: Make ippo-q8h-v1.2.dts a symlink to q8-tablet.dts ARM: dts: sun8i: Add sun8i-a33-q8-tablet.dts file ARM: dts: sun6i: Add support for Yones Toptech bs1078v2 tablets ARM: dts: sun4i: Enable USB DRC on the Marsboard A10 ARM: dts: sun4i: gemei-g9: Add accelerometer (bma250) IRQ ARM: dts: sun8i-a33: Add security system crypto engine clock and device nodes ARM: dts: sun8i: Add pwm-backlight device for A23/A33 Q8 format tablets ARM: sun8i: A23: Add missing msgbox gate ... commit 129c29c4bb4677c849aba8e9647308f664d54811 Merge: c52864f 6031d8b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:46:36 2015 +0200 Merge tag 'lpc18xx_dts_for_4.4' of https://github.com/manabian/linux-lpc into next/dt Pull "Device Tree additions for NXP LPC18xx platform" from Joachim Eastwood: - Reset controller (RGU) - DMA controller and mux - SPI Flash (SPIFI) controller - I2C controller - Watchdog and SCT PWM from Ariel D'Alessandro And board updates for EA4357 dev kit and Hitex LPC4350 eval board adding I2C, SPIFI Flash and some miscellaneous stuff. * tag 'lpc18xx_dts_for_4.4' of https://github.com/manabian/linux-lpc: ARM: dts: lpc4350-hitex-eval: add joystick, buttons and leds ARM: dts: lpc4350-hitex-eval: add i2c0 and devices ARM: dts: lpc4350-hitex-eval: add spifi and flash device ARM: dts: lpc4357-ea4357: add i2c0 and devices ARM: dts: lpc4357-ea4357: add ssp0 ARM: dts: lpc4357-ea4357: add spifi and flash device ARM: dts: lpc18xx: add resets entry to device nodes ARM: dts: lpc18xx: add sct pwm node ARM: dts: lpc18xx: add watchdog node ARM: dts: lpc18xx: add i2c nodes ARM: dts: lpc18xx: add dma to uart0/1/2/3 ARM: dts: lpc18xx: add dma to ssp0/1 ARM: dts: lpc18xx: add dmamux node ARM: dts: lpc18xx: add dmac node ARM: dts: lpc18xx: add spifi node ARM: dts: lpc18xx: add rgu node commit c52864fbc29951af368d274a57c67b3c480a2450 Merge: f8e6333 59995f5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:45:38 2015 +0200 Merge tag 'berlin64-dt-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt Merge "Marvell Berlin ARM64 DT for 4.4 take 1" from Sebastian Hesselbarth: - add BG4CT GPIO nodes - add BG4CT STB reference board * tag 'berlin64-dt-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: arm64: dts: add dts file for Marvell Berlin4CT STB board arm64: dts: berlin4ct: add GPIO nodes commit f8e6333abad0a2b4db50fd1e058a233bcdbebfcb Merge: c85f923 5f5cdc0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:42:14 2015 +0200 Merge tag 'berlin-dt-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt Merge "Marvell Berlin DT for 4.4 take 1" from Sebastian Hesselbarth: - use serial aliases and stdout path - add cpufreq properties to all SoCs - add pwm nodes for all SoCs This depends on topic branch berlin-cpuclk-for-4.4-1 * tag 'berlin-dt-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: ARM: berlin: add a PWM node on the BG2CD ARM: berlin: add a PWM node on the BG2 ARM: berlin: add a PWM node on the BG2Q ARM: berlin: dts: add the cpufreq-dt bindings on the BG2CD ARM: berlin: dts: add the cpufreq-dt bindings on the BG2 ARM: berlin: dts: add the cpufreq-dt bindings on the BG2Q arm: dts: berlin: use stdout-path arm: dts: berlin: add aliases for serial commit c85f9235a612f1b9f3d71c72bd1fea031e6790af Merge: d749d94 9b24a35 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:29:32 2015 +0200 Merge tag 'mvebu-dt-4.4-1' of git://git.infradead.org/linux-mvebu into next/dt Merge "mvebu dt for 4.4 (part 1)" from Gregory CLEMENT: Update dts to use the new crypto driver on mvebu SoCs * tag 'mvebu-dt-4.4-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: modify Orion and Kirkwoord crypto compatible strings ARM: mvebu: use new bindings for existing crypto devices ARM: mvebu: define crypto SRAM ranges for all armada-38x boards ARM: mvebu: add crypto related nodes to armada 38x dtsi ARM: mvebu: define crypto SRAM ranges in armada-375-db.dts ARM: mvebu: add crypto related nodes to armada 375 dtsi ARM: mvebu: define crypto SRAM ranges for all armada-370 boards ARM: mvebu: add crypto related nodes to armada 370 dtsi ARM: mvebu: define crypto SRAM ranges for all armada-xp boards ARM: mvebu: add crypto related nodes to armada-xp.dtsi ARM: mvebu: add CPU config registers in the Armada 370/XP Device Tree commit 5c6dcd7f3b26736a88593586fbeec28b6a1ea78d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 18:39:40 2015 +0100 MAINTAINERS: Update Allwinner entry and add new maintainer Add Chen-Yu Tsai as a co-maintainer to the ARM sunxi support. While we are doing so, also update the entry for new SoCs. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 83bf6b13834d9c926905e45cdfda23fe218fc598 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Oct 13 19:46:54 2015 +0200 ARM: ux500: modify initial levelshifter status commit 1d8aca9df612f5751892fb2642d72536f2f48fd0 "ARM: ux500: fix MMC/SD card regression" fixed broken the level shifter: it should be default ON but became default OFF. Fixes: 1d8aca9df612 "ARM: ux500: fix MMC/SD card regression" Reported-and-tested-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6391074598442b8a8d33e2cfdf277d5568b57f2d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 15:44:49 2015 +0200 ARM: pxa: fix pxa3xx DFI lockup hack Some recently added code to avoid a bug introduced a build error when CONFIG_PM is disabled and a macro is hidden: arch/arm/mach-pxa/pxa3xx.c: In function 'pxa3xx_init': arch/arm/mach-pxa/pxa3xx.c:439:3: error: 'NDCR' undeclared (first use in this function) NDCR = (NDCR & ~NDCR_ND_ARB_EN) | NDCR_ND_ARB_CNTL; ^ This moves the macro outside of the #ifdef so it can be referenced correctly. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: adf3442cc890 ("ARM: pxa: fix DFI bus lockups on startup") Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit e639932e01c096eb280086401d8e3a597e41a3b1 Merge: 8c80385 178b2d0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:13:20 2015 +0200 Merge tag 'imx-fixes-4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes Pull "The i.MX fixes for 4.3, 2nd round:" from Shawn Guo: It includes a single fix for i.MX7D, which corrects the base address of UART2 in device tree. * tag 'imx-fixes-4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: dts: imx7d: Fix UART2 base address commit 8c803854ba06bcd86755c8754943041b110dd537 Merge: d51664a 1f744fd Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:12:10 2015 +0200 Merge tag 'berlin-fixes-for-4.3-1' of git://git.infradead.org/users/hesselba/linux-berlin into fixes Merge "Marvell Berlin fixes for v4.3 take 1" from Sebastian Hesselbarth: - BG2Q USB PHY compatible fix (also tagged for stable v4.2) * tag 'berlin-fixes-for-4.3-1' of git://git.infradead.org/users/hesselba/linux-berlin: ARM: dts: berlin: change BG2Q's USB PHY compatible commit d51664ab9e06225a039487990a3b051fed795137 Merge: 25cb62b d836ace6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:10:55 2015 +0200 Merge tag 'mvebu-fixes-4.3-1' of git://git.infradead.org/linux-mvebu into fixes Merge "mvebu fixes for 4.3 (part 1)" from Gregory CLEMENT: DSA fixes for orion platform * tag 'mvebu-fixes-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: orion: Fix DSA platform device after mvmdio conversion commit c049adc9fd2937562b4880bdc35b8303ff56d425 Merge: 273395f 68acc77 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:07:32 2015 +0200 Merge tag 'arm-scpi-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into next/drivers Merge "ARM System Control and Power Interface(SCPI) support" from Sudeep Holla It adds support for the following features provided by SCP firmware using different subsystems in Linux: 1. SCPI mailbox protocol driver which using mailbox framework 2. Clocks provided by SCP using clock framework 3. CPU DVFS(cpufreq) using existing arm-big-little driver 4. SCPI based sensors including temperature sensors * tag 'arm-scpi-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: hwmon: Support thermal zones registration for SCP temperature sensors hwmon: Support sensors exported via ARM SCP interface firmware: arm_scpi: Extend to support sensors Documentation: add DT bindings for ARM SCPI sensors cpufreq: arm_big_little: add SCPI interface driver clk: scpi: add support for cpufreq virtual device clk: add support for clocks provided by SCP(System Control Processor) firmware: add support for ARM System Control and Power Interface(SCPI) protocol Documentation: add DT binding for ARM System Control and Power Interface(SCPI) protocol commit cc904f9cf26dc455cffbdf6e7eb86717e047d8ff Author: Lukasz Odzioba <lukasz.odzioba@xxxxxxxxx> Date: Mon Oct 12 13:53:32 2015 +0200 hwmon: (coretemp) Increase limit of maximum core ID from 32 to 128. A new limit selected arbitrarily as power of two greater than required minimum for Xeon Phi processor (72 for Knights Landing). Currently driver is not able to handle cores with core ID greater than 32. Such attempt ends up with the following error in dmesg: coretemp coretemp.0: Adding Core XXX failed Signed-off-by: Lukasz Odzioba <lukasz.odzioba@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9c32e815cf9e29d5cfed738ad1cb3d07ea1bb67c Author: Ben Gardner <gardner.ben@xxxxxxxxx> Date: Wed Oct 7 21:55:20 2015 -0500 hwmon: (lm75) Add support for TMP75C The TMP75C has a different control register layout and only supports 12-bit temperature samples (0.0625 deg C). The continuous sample rate is ~12 Hz. Signed-off-by: Ben Gardner <gardner.ben@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 0b056b29f28e45adaf756e579c1bf291584a87cd Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Wed Sep 23 14:44:48 2015 +0200 hwmon: (ibmpowernv) Add OF compatibility table entry Fix module autoload for IBM and Open power platforms. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 47e4b5e152dd78476ed28ddeca3fd1ffe00cc3be Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 21 16:47:04 2015 +0100 hwmon: (abx500) drop the use of IRQF_NO_SUSPEND The description in the driver states: "ABX500 does not provide auto ADC, so to monitor the required temperatures, a periodic work is used. It is more important to not wake up the CPU... If the chip gets too hot during a sleep state it's most likely due to external factors, such as the surrounding temperature and nothing can be done in S/W." So it makes no sense to keep IRQs enabled as it need not be wakeup source. This patch removes the use of IRQF_NO_SUSPEND flag Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 791432cfd95bea3515f8cdfaf72ec263e5d3da80 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 16 19:32:59 2015 +0530 hwmon: (max31790) Fix dereference of ERR_PTR max31790_update_device() return the error code in ERR_PTR. We were checking if it has returned error or not but before checking we have dereferenced it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 195a4b4298a7951c845dac2b326585c66add3435 Author: Il Han <corone.il.han@xxxxxxxxx> Date: Sun Aug 30 20:44:26 2015 +0900 hwmon: Driver for Maxim MAX31790 The driver supports the Maxim MAX31790. Signed-off-by: Il Han <corone.il.han@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 612bece654ff6cd43160e201985be826e96b8bcb Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 12 17:32:14 2015 -0700 um/x86: Fix build after x86 syscall changes I didn't realize that um didn't include x86's asm/syscall.h. Re-add a missing typedef. Reported-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 034042cc1e28 ("x86/entry/syscalls: Move syscall table declarations into asm/syscalls.h") Link: http://lkml.kernel.org/r/8d15b9a88f4fd49e3342757e0a34624ee5ce9220.1444696194.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit af22aa7c766d50712b9afeca53e9e4208ce6284c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 12 17:32:13 2015 -0700 x86/asm: Remove the xyz_cfi macros from dwarf2.h They are currently unused, and I don't think that anyone was ever particularly happy with them. They had the unfortunate property that they made it easy to CFI-annotate things without thinking about them -- when pushing, do you want to just update the CFA offset, or do you also want to update the saved location of the register being pushed? Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> 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/1447bfbd10bb268b4593b32534ecefa1f4df287e.1444696194.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 893a3ec27e1dae62a904f78d53244001979748a6 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 12 17:32:12 2015 -0700 selftests/x86: Style fixes for the 'unwind_vdso' test Checkpatch is really quite bad for user code like this, but it caught two legit style issues. Reported-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> 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/3335040bdd40d2bca4b1a28a3f8b165361c801b7.1444696194.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 790a2ee2427852cff50993c98f15ed88511e9af0 Merge: c7d77a7 0f96a99 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 14 16:05:40 2015 +0200 Merge tag 'efi-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into core/efi Pull v4.4 EFI updates from Matt Fleming: - Make the EFI System Resource Table (ESRT) driver explicitly non-modular by ripping out the module_* code since Kconfig doesn't allow it to be built as a module anyway. (Paul Gortmaker) - Make the x86 efi=debug kernel parameter, which enables EFI debug code and output, generic and usable by arm64. (Leif Lindholm) - Add support to the x86 EFI boot stub for 64-bit Graphics Output Protocol frame buffer addresses. (Matt Fleming) - Detect when the UEFI v2.5 EFI_PROPERTIES_TABLE feature is enabled in the firmware and set an efi.flags bit so the kernel knows when it can apply more strict runtime mapping attributes - Ard Biesheuvel - Auto-load the efi-pstore module on EFI systems, just like we currently do for the efivars module. (Ben Hutchings) - Add "efi_fake_mem" kernel parameter which allows the system's EFI memory map to be updated with additional attributes for specific memory ranges. This is useful for testing the kernel code that handles the EFI_MEMORY_MORE_RELIABLE memmap bit even if your firmware doesn't include support. (Taku Izumi) Note: there is a semantic conflict between the following two commits: 8a53554e12e9 ("x86/efi: Fix multiple GOP device support") ae2ee627dc87 ("efifb: Add support for 64-bit frame buffer addresses") I fixed up the interaction in the merge commit, changing the type of current_fb_base from u32 to u64. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e6d5bf6a8f23d0557ac685b7e81ce148f3a7744c Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Wed Oct 14 19:25:07 2015 +0530 dmaengine: xgene-dma: Remove memcpy offload support due to performance drop The DMA engine supports memory copy, RAID5 XOR, RAID6 PQ, and other computations. But the bandwidth of the entire DMA engine is shared among all channels. This patch re-configures operations availability such that one can achieve maximum performance for XOR and PQ computation by removing the memory offload operations. Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit dd5f5341a3a684c8850f8a8ccbaa70e196518e76 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Wed Sep 23 18:26:57 2015 +0800 KVM: VMX: introduce __vmx_flush_tlb to handle specific vpid Introduce __vmx_flush_tlb() to handle specific vpid. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 991e7a0eedf12721f5561d7a1a54d248dc290bc0 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Wed Sep 16 17:30:05 2015 +0800 KVM: VMX: adjust interface to allocate/free_vpid Adjust allocate/free_vid so that they can be reused for the nested vpid. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6003a4201077da41427dae5e71bb2f31dfdc0c10 Author: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Date: Fri Oct 9 12:21:55 2015 +0000 kvm: fix waitqueue_active without memory barrier in virt/kvm/async_pf.c async_pf_execute() seems to be missing a memory barrier which might cause the waker to not notice the waiter and miss sending a wake_up as in the following figure. async_pf_execute kvm_vcpu_block ------------------------------------------------------------------------ spin_lock(&vcpu->async_pf.lock); if (waitqueue_active(&vcpu->wq)) /* The CPU might reorder the test for the waitqueue up here, before prior writes complete */ prepare_to_wait(&vcpu->wq, &wait, TASK_INTERRUPTIBLE); /*if (kvm_vcpu_check_block(vcpu) < 0) */ /*if (kvm_arch_vcpu_runnable(vcpu)) { */ ... return (vcpu->arch.mp_state == KVM_MP_STATE_RUNNABLE && !vcpu->arch.apf.halted) || !list_empty_careful(&vcpu->async_pf.done) ... return 0; list_add_tail(&apf->link, &vcpu->async_pf.done); spin_unlock(&vcpu->async_pf.lock); waited = true; schedule(); ------------------------------------------------------------------------ The attached patch adds the missing memory barrier. I found this issue when I was looking through the linux source code for places calling waitqueue_active() before wake_up*(), but without preceding memory barriers, after sending a patch to fix a similar issue in drivers/tty/n_tty.c (Details about the original issue can be found here: https://lkml.org/lkml/2015/9/28/849). Signed-off-by: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 13db77347db175a68edd58a79963cdf5cb3a9607 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Oct 8 20:30:00 2015 +0200 KVM: x86: don't notify userspace IOAPIC on edge EOI On real hardware, edge-triggered interrupts don't set a bit in TMR, which means that IOAPIC isn't notified on EOI. Do the same here. Staying in guest/kernel mode after edge EOI is what we want for most devices. If some bugs could be nicely worked around with edge EOI notifications, we should invest in a better interface. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit db2bdcbbbd32e5500b822d5e74ef8b5bd777e687 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Oct 8 20:23:34 2015 +0200 KVM: x86: fix edge EOI and IOAPIC reconfig race KVM uses eoi_exit_bitmap to track vectors that need an action on EOI. The problem is that IOAPIC can be reconfigured while an interrupt with old configuration is pending and eoi_exit_bitmap only remembers the newest configuration; thus EOI from the pending interrupt is not recognized. (Reconfiguration is not a problem for level interrupts, because IOAPIC sends interrupt with the new configuration.) For an edge interrupt with ACK notifiers, like i8254 timer; things can happen in this order 1) IOAPIC inject a vector from i8254 2) guest reconfigures that vector's VCPU and therefore eoi_exit_bitmap on original VCPU gets cleared 3) guest's handler for the vector does EOI 4) KVM's EOI handler doesn't pass that vector to IOAPIC because it is not in that VCPU's eoi_exit_bitmap 5) i8254 stops working A simple solution is to set the IOAPIC vector in eoi_exit_bitmap if the vector is in PIR/IRR/ISR. This creates an unwanted situation if the vector is reused by a non-IOAPIC source, but I think it is so rare that we don't want to make the solution more sophisticated. The simple solution also doesn't work if we are reconfiguring the vector. (Shouldn't happen in the wild and I'd rather fix users of ACK notifiers instead of working around that.) The are no races because ioapic injection and reconfig are locked. Fixes: b053b2aef25d ("KVM: x86: Add EOI exit bitmap inference") [Before b053b2aef25d, this bug happened only with APICv.] Fixes: c7c9c56ca26f ("x86, apicv: add virtual interrupt delivery support") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c77f3fab441c3e466b4c3601a475fc31ce156b06 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Oct 8 20:23:33 2015 +0200 kvm: x86: set KVM_REQ_EVENT when updating IRR After moving PIR to IRR, the interrupt needs to be delivered manually. Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bff98d3b01e0420bfd027d8f320cdc9869f6cc2b Merge: 58f800d b10d92a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 14 16:35:15 2015 +0200 Merge branch 'kvm-master' into HEAD Merge more important SMM fixes. commit e4e886c6b1e2a1ef9654d26dad1c3baca8139b3c Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:06 2015 +0300 dmaengine: edma: Dynamic paRAM slot handling if HW supports it If the eDMA3 has support for channel paRAM slot mapping we can utilize it to allocate slots on demand and save precious slots for real transfers. On am335x the eDMA has 64 channels which means we can unlock 64 paRAM slots out from the available 256. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7a73b135cdb33f78acab118dd72782416d5281b2 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:05 2015 +0300 dmaengine: edma: Rename bitfields for slot and channel usage tracking The names chosen for the bitfields were quite confusing and given no real information on what they are used for... edma_inuse -> slot_inuse: tracks the slot usage/availability edma_unused -> channel_unused: tracks the channel usage/availability Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4ab54f696dc5299d7db9d924f28f408dc0404f1b Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:04 2015 +0300 dmaengine: edma: Read channel mapping support only once from HW Instead of directly reading it from CCCFG register take the information out once when we set up the configuration from the HW. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e4402a129faca71ddd160d89ef7750da0ce2d6c4 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:03 2015 +0300 dmaengine: edma: Simplify and optimize ccerr interrupt handler No need to run through the bits in QEMR and CCERR events since they will not trigger any action, so just clearing the errors there is fine. In case of the missed event the loop can be optimized so we spend less time to handle the event. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7c3b8b3d2608bb4b1a97749c607440785b60ef7f Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:02 2015 +0300 dmaengine: edma: Move the pending error check into helper function In the ccerr interrupt handler the code checks for pending errors in the error status registers in two different places. Move the check out to a helper function. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 79ad2e383d01d03188d9e51e2058545203288bc4 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:01 2015 +0300 dmaengine: edma: Simplify the interrupt handling With the merger of the arch/arm/common/edma.c code into the dmaengine driver, there is no longer need to have per channel callback/data storage for interrupt events. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 11c157337a3fb0a8bed5272b3a43f2bf482032ee Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:00 2015 +0300 dmaengine: edma: Consolidate the comments for functions Remove or rewrite the comments for the internal functions. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit fc014095da23575297288bb3ab215db7c50af381 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:59 2015 +0300 dmaengine: edma: Print warning when linking slots from different eDMA Warning message in case of linking between paRAM slots in different eDMA controllers. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 96f5ff0e108a497372d86a286e6c264b39c09370 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:58 2015 +0300 dmaengine: edma: Use the edma_write_slot instead open coded memcpy_toio edma_write_slot() is for writing an entire paRAM slot. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3287fb4d23fc906edcd5fa8c1632f30946e9c779 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:57 2015 +0300 dmaengine: edma: Use dev_dbg instead pr_debug We have access to dev, so it is better to use the dev_dbg for debug prints. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 907f74a0b46890da59c4f2caf7e17a89695e8132 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:56 2015 +0300 dmaengine: edma: Cleanup regarding the use of dev around the code Be consistent and do not mix the use of dev, &pdev->dev, etc in the functions. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 547c6e27113b7d0d03db6df0d60f91b8eb232793 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:55 2015 +0300 dmaengine: edma: Use devm_kcalloc when possible When allocating a memory for number of items it is better (looks better) to use devm_kcalloc. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit cb78205955d4a2c26c18984896b81cc63b416f63 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:54 2015 +0300 dmaengine: edma: Allocate memory dynamically for bitmaps and structures Instead of using defines to specify the size of different arrays and bitmaps, allocate the memory for them based on the information we get from the HW itself. Since these defines are set based on the worst case, there are devices where they are not valid. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2b6b3b7420190888793c49e97276e1e73bd7eaed Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:53 2015 +0300 ARM/dmaengine: edma: Merge the two drivers under drivers/dma/ Move the code out from arch/arm/common and merge it inside of the dmaengine driver. This change is done with as minimal (if eny) functional change to the code as possible to avoid introducing regression. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit cef5b0da4019358cb03c9b0a964d4d63cd7deaf6 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:52 2015 +0300 ARM: davinci: Add dma_mask to eDMA devices The upcoming change to merge the arch/arm/common/edma.c into drivers/dma/edma.c will need this change when booting daVinci devices in no DT mode. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7ab388e85faa97a35d520720269e7c8e00ad54a0 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:51 2015 +0300 ARM: davinci: Use platform_device_register_full() to create pdev for eDMA Convert the eDMA platform device creation to use struct platform_device_info XXXXXX __initconst and platform_device_register_full() This will allow us to cleanly specify the dma_mask for the devices in an upcoming patch. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b2c843a196b8f5aca74ebabd16c60d59480d6721 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:50 2015 +0300 ARM/dmaengine: edma: Remove limitation on the number of eDMA controllers Since the driver stack no longer depends on lookup with id number in a global array of pointers, the limitation for the number of eDMAs are no longer needed. We can handle as many eDMAs in legacy and DT boot as we have memory for them to allocate the needed structures. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ca304fa9bb762f091e851d48de43f623c975d47a Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:49 2015 +0300 ARM/dmaengine: edma: Public API to use private struct pointer Instead of relying on indexes pointing to edma private date in the global pointer array, pass the private data pointer via the public API. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 700c371913072fc891650a6dafacfd147ce805a7 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:48 2015 +0300 ARM: common: edma: Internal API to use pointer to 'struct edma' Merge the iomem into the 'struct edma' and change the internal (static) functions to use pointer to the edma_cc instead of the ctlr number. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit dc9b60552f6a6a56b1defb88aa9f7f1498fcc045 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:47 2015 +0300 ARM/dmaengine: edma: Move of_dma_controller_register to the dmaengine driver If the of_dma_controller is registered in the non dmaengine driver we could have race condition: the of_dma_controller has been registered, but the dmaengine driver is not yet probed. Drivers requesting DMA channels during this window will fail since we do not yet have dmaengine drivers registered. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d4cb7f404247173e2c760a01bf06fd1016a8b0d4 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:46 2015 +0300 ARM: davinci/common: Convert edma driver to handle one eDMA instance per driver Currently we have one device created to handle all (maximum 2) eDMAs in the system. With this change all eDMA instance will have it's own device/driver. This change is needed for further cleanups in the eDMA driver stack since the one device/driver to handle all eDMAs in the system was not flexible enough and prevents the upcoming work. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8fa7ff4fc01d7f43cd03143e4ec58323865bfacf Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:45 2015 +0300 dmaengine: edma: Simplify and optimize the edma_execute path The code path in edma_execute() and edma_callback() can be simplified and make it more optimal. There is not need to call in to edma_execute() when the transfer has been finished for example. Also the handling of missed/first or next batch of paRAMs can be done in a more optimal way. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d28c2b36d6027702585ca93773b3edd6e5f1a5bd Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:44 2015 +0300 ARM: common: edma: Remove unused functions We no longer have users for these functions so they can be removed. Remove also unused enums from the header file. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 696d8b70c09dd421c4d037fab04341e5b30585cf Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:43 2015 +0300 ARM: common: edma: Fix channel parameter for irq callbacks In case when the interrupt happened for the second eDMA the channel number was incorrectly passed to the client driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 62f57d05e287e950c6e1246b1dba08e12985195a Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue Oct 13 10:54:01 2015 -0400 crypto: pkcs7 - Fix unaligned access in pkcs7_verify() On sparc, we see unaligned access messages on each modprobe[-r]: Kernel unaligned access at TPC[6ad9b4] pkcs7_verify [..] Kernel unaligned access at TPC[6a5484] crypto_shash_finup [..] Kernel unaligned access at TPC[6a5390] crypto_shash_update [..] Kernel unaligned access at TPC[10150308] sha1_sparc64_update [..] Kernel unaligned access at TPC[101501ac] __sha1_sparc64_update [..] These ware triggered by mod_verify_sig() invocations of pkcs_verify(), and are are being caused by an unaligned desc at (sha1, digest_size is 0x14) desc = digest + digest_size; To fix this, pkcs7_verify needs to make sure that desc is pointing at an aligned value past the digest_size, and kzalloc appropriately, taking alignment values into consideration. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5a4eea2658c933205cd014b87066f3faa2dbe7f7 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Mon Oct 12 19:47:04 2015 +0200 crypto: ux500 - Use devm_xxx() managed function Using the devm_xxx() managed function to stripdown the error and remove code. In the same time, we replace request_mem_region/ioremap by the unified devm_ioremap_resource() function. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b0e8b3417a620e6e0a91fd526fbc6db78714198e Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Mon Oct 12 19:47:03 2015 +0200 crypto: atmel - use devm_xxx() managed function Using the devm_xxx() managed function to stripdown the error and remove code. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dc97fa02328b79f05a2ec1693b7596fae52c0e02 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 15:52:34 2015 +0200 crypto: mxs-dcp - mxs-dcp is an stmp device The mxs-dcp driver relies on the stmp_reset_block() helper function, which is provided by CONFIG_STMP_DEVICE. This symbol is always set on MXS, but the driver can now also be built for MXC (i.MX6), which results in a built error if no other driver selects STMP_DEVICE: drivers/built-in.o: In function `mxs_dcp_probe': vf610-ocotp.c:(.text+0x3df302): undefined reference to `stmp_reset_block' This adds the 'select', like all other stmp drivers have it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: a2712e6c75f ("crypto: mxs-dcp - Allow MXS_DCP to be used on MX6SL") Acked-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b47c9fab25fe0a2f92d32fcbb2eb55ad2111cd38 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Mon Oct 12 09:21:30 2015 +0100 ARM: dts: stm32f429: Adopt STM32 RNG driver New bindings and driver have been created for STM32 series parts. This patch integrates this changes. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c6a97c42e399ad0d639f616e58e13f0b4ae87626 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Mon Oct 12 09:21:29 2015 +0100 hwrng: stm32 - add support for STM32 HW RNG Add support for STMicroelectronics STM32 random number generator. The config value defaults to N, reflecting the fact that STM32 is a very low resource microcontroller platform and unlikely to be targeted by any "grown up" defconfigs. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ff90900a4b007d26d4a47abec9891bf8488a7668 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Mon Oct 12 09:21:28 2015 +0100 dt-bindings: Document the STM32 HW RNG bindings This adds documentation of device tree bindings for the STM32 hardware random number generator. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a6479ea487ca8ce11289e88a55a7e348f1ee39ac Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 21:14:22 2015 +0100 crypto: marvell/cesa - factor out common import/export functions As all the import functions and export functions are virtually identical, factor out their common parts into a generic mv_cesa_ahash_import() and mv_cesa_ahash_export() respectively. This performs the actual import or export, and we pass the data pointers and length into these functions. We have to switch a % const operation to do_div() in the common import function to avoid provoking gcc to use the expensive 64-bit by 64-bit modulus operation. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c3bf02a22c5369b25090d12c202ea0807d01978a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 20:43:48 2015 +0100 crypto: marvell/cesa - fix wrong hash results Attempting to use the sha1 digest for openssh via openssl reveals that the result from the hash is wrong: this happens when we export the state from one socket and import it into another via calling accept(). The reason for this is because the operation is reset to "initial block" state, whereas we may be past the first fragment of data to be hashed. Arrange for the operation code to avoid the initialisation of the state, thereby preserving the imported state. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e72f407ee793f1455051cfa834e758afca09e4f6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 20:43:43 2015 +0100 crypto: marvell/cesa - initialise struct mv_cesa_ahash_req When a AF_ALG fd is accepted a second time (hence hash_accept() is used), hash_accept_parent() allocates a new private context using sock_kmalloc(). This context is uninitialised. After use of the new fd, we eventually end up with the kernel complaining: marvell-cesa f1090000.crypto: dma_pool_free cesa_padding, c0627770/0 (bad dma) where c0627770 is a random address. Poisoning the memory allocated by the above sock_kmalloc() produces kernel oopses within the marvell hash code, particularly the interrupt handling. The following simplfied call sequence occurs: hash_accept() crypto_ahash_export() marvell hash export function af_alg_accept() hash_accept_parent() <== allocates uninitialised struct hash_ctx crypto_ahash_import() marvell hash import function hash_ctx contains the struct mv_cesa_ahash_req in its req.__ctx member, and, as the marvell hash import function only partially initialises this structure, we end up with a lot of members which are left with whatever data was in memory prior to sock_kmalloc(). Add zero-initialisation of this structure. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9f5594c91e7cf5952ce39aff8b88c95a19a27e06 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 20:43:38 2015 +0100 crypto: marvell/cesa - fix stack smashing in marvell/hash.c Several of the algorithms in marvell/hash.c have a statesize of zero. When an AF_ALG accept() on an already-accepted file descriptor to calls into hash_accept(), this causes: char state[crypto_ahash_statesize(crypto_ahash_reqtfm(req))]; to be zero-sized, but we still pass this to: err = crypto_ahash_export(req, state); which proceeds to write to 'state' as if it was a "struct md5_state", "struct sha1_state" etc. Add the necessary initialisers for the .statesize member. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c4d007bcb42b3898df5ad65a513f9120ab0eccfc Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 17:39:02 2015 +0200 MAINTAINERS: add maintainers for the Marvell Crypto driver A new crypto driver for Marvell ARM platforms was added in drivers/crypto/marvell/ as part of commit f63601fd616ab ("crypto: marvell/cesa - add a new driver for Marvell's CESA"). This commit adds the relevant developers to the list of maintainers. Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Arnaud Ebalard <arno@xxxxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ea0b3984c1cc8b28de27a3bec285102b4e366a4c Author: Haren Myneni <haren@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 13:45:51 2015 -0700 crypto: 842 - Add CRC and validation support This patch adds CRC generation and validation support for nx-842. Add CRC flag so that nx842 coprocessor includes CRC during compression and validates during decompression. Also changes in 842 SW compression to append CRC value at the end of template and checks during decompression. Signed-off-by: Haren Myneni <haren@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f5128432b08c3e263e1a7ce709d686b1ded51131 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Oct 8 23:12:25 2015 +0600 crypto: jitterentropy - remove unnecessary information from a comment The clocksource does not provide clocksource_register() function since f893598 commit (clocksource: Mostly kill clocksource_register()), so let's remove unnecessary information about this function from a comment. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Suggested-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 22287b0b5988b603b5f0daa282c89aaf2b877313 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Thu Oct 8 09:26:55 2015 -0700 crypto: akcipher - Changes to asymmetric key API Setkey function has been split into set_priv_key and set_pub_key. Akcipher requests takes sgl for src and dst instead of void *. Users of the API i.e. two existing RSA implementation and test mgr code have been updated accordingly. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2d4d1eea540b27c72488fd1914674c42473d53df Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Thu Oct 8 09:26:50 2015 -0700 lib/mpi: Add mpi sgl helpers Add mpi_read_raw_from_sgl and mpi_write_to_sgl helpers. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2163e7b38fd56c058e664c8a09ccc14733dbc1b1 Author: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Date: Wed Oct 14 16:04:21 2015 +0200 kconfig/merge_config.sh: Accept a single file merge_config.sh can usefully be applied to a single file. It implicitly merges with the default configuration. Signed-off-by: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit ed94fea5ba78d03808576f14745d8e59126489bd Author: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Date: Wed Oct 14 16:04:20 2015 +0200 kconfig/merge_config.sh: Support KCONFIG_CONFIG All make targets support $KCONFIG_CONFIG because they run scripts/kconf. Make sure merge_config.sh accesses the correct file in all cases. Previously this script broke in two different code paths, one for targets like kvmconfig (which use merge_config.sh -m then call a target that respects KCONFIG_CONFIG) and one for direct use of the script without -m, which called make rules that edit KCONFIG_CONFIG but verified a different file. Signed-off-by: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 897ee0e85e5fad3109264af5b517a1ebb82912c3 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Oct 14 16:07:14 2015 +0200 usb: gadget: f_sourcesink: fix function params handling Move function parameters to struct f_sourcesink to make them per instance instead of having them as global variables. Since we can have multiple instances of USB function we also want to have separate set of parameters for each instance. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c7d77a7980e434c3af17de19e3348157f9b9ccce Merge: 0ce423b 8a53554 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 14 16:05:18 2015 +0200 Merge branch 'x86/urgent' into core/efi, to pick up a pending EFI fix Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8a53554e12e98d1759205afd7b8e9e2ea0936f48 Author: KÅ?vágó, Zoltán <dirty.ice.hu@xxxxxxxxx> Date: Mon Oct 12 15:13:56 2015 +0100 x86/efi: Fix multiple GOP device support When multiple GOP devices exists, but none of them implements ConOut, the code should just choose the first GOP (according to the comments). But currently 'fb_base' will refer to the last GOP, while other parameters to the first GOP, which will likely result in a garbled display. I can reliably reproduce this bug using my ASRock Z87M Extreme4 motherboard with CSM and integrated GPU disabled, and two PCIe video cards (NVidia GT640 and GTX980), booting from efi-stub (booting from grub works fine). On the primary display the ASRock logo remains and on the secondary screen it is garbled up completely. Signed-off-by: KÅ?vágó, Zoltán <DirtY.iCE.hu@xxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444659236-24837-2-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4568637f7a20bbb1dcbf8ada56de08f6c940bcbd Author: yankejian <yankejian@xxxxxxxxxx> Date: Tue Oct 13 09:53:45 2015 +0800 net: hisilicon: supports promisc mode this patch adds support to set promisc mode. it configs the queue on init seq when it is on promisc mode.and being enabled or disabled promisc mode by upper level user. Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e34573c95a1416b4f26a5cc68b1de198e6b27ad7 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed Oct 7 17:14:41 2015 +0800 arm64: dts: mt8173: Add clocks for SCPSYS unit Add clocks needed by Mediatek VENC and VENC_LT power domianis. These clocks were needed by accessing subsystem's registers, so they need to be enabled before power on these subsystems. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 09a75e8577901489f77a14a3b305a9a1f67bf25b Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Oct 14 08:52:29 2015 +0200 usb: dwc2: refactor common low-level hw code to platform.c DWC2 module on some platforms needs three additional hardware resources: phy controller, clock and power supply. All of them must be enabled/activated to properly initialize and operate. This was initially handled in s3c-hsotg driver, which has been converted to 'gadget' part of dwc2 driver. Unfortunately, not all of this code got moved to common platform code, what resulted in accessing DWC2 registers without enabling low-level hardware resources. This fails for example on Exynos SoCs. This patch moves all the code for managing those resources to common platform.c file and provides convenient wrappers for controlling them. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 758ed196fcc4373a129fd661875af52d7e7d4e73 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Oct 14 08:52:28 2015 +0200 usb: dwc2: remove no longer needed init_mutex init_mutex is a leftover from the time, when s3c-hsotg driver did not implement proper pull up/down control and emulated it by enabling enabling/disabling usb phy. Proper pull up/down control has been added by commit 5b9451f8c4fbaf0549139755fb45ff2b57975b7f ("usb: dwc2: gadget: use soft-disconnect udc feature in pullup() method"), so init_muxtex can be removed now to avoid potential deadlocks with other locks. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0cda07001a9454f371b7a7edabad55d99ef91157 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Oct 2 23:19:39 2015 +0800 ARM: mediatek: add smp bringup code Add support for booting secondary CPUs on mt6589, mt8127 and mt8135. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 9821e545c5e02ac28af7c595ce71d037a1f74dc9 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Oct 2 23:19:37 2015 +0800 ARM: mediatek: enable gpt6 on boot up to make arch timer working We enable GTP6 which ungates the arch timer clock. In the future this should be done in the bootloader. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> commit 41b3e0f067c26dd17837aa49fba13fcb5c6319e1 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed Oct 7 17:14:40 2015 +0800 soc: mediatek: Fix random hang up issue while kernel init In kernel late init, it turns off all unused clocks, which needs to access subsystem registers such as VENC and VENC_LT. Accessing MT8173 VENC registers needs two top clocks, mm_sel and venc_sel. Accessing VENC_LT registers needs mm_sel and venclt_sel. So we need to keep these clocks on before accessing their registers. This patch keeps venc_sel / venclt_sel clock on when VENC / VENC_LT's power is on, to prevent system hang up while accessing its registeres. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 67e56c5651d30cd5adddcf32ab41c71dabf2bcec Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Mon Aug 10 17:50:28 2015 +0800 arm64: dts: mt8173: Add subsystem clock controller device nodes This patch adds device nodes providing subsystem clocks on MT8173, includes mmsys, imgsys, vdecsys, vencsys and vencltsys. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit dfddb969edf021f21a45fc6fd019db4f99d12308 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 9 18:16:46 2015 -0400 iommu/vt-d: Switch from ioremap_cache to memremap In preparation for deprecating ioremap_cache() convert its usage in intel-iommu to memremap. This also eliminates the mishandling of the __iomem annotation in the implementation. Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e9363deeb286e916353f11b11d1f351c6ff54082 Merge: 0e537fe 3a70fcd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 14 15:06:33 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: - Use the alternative with the most descriptive filename containing a vmlinux file for a given build-id, providing a better title line for tools such as 'annotate'. (Arnaldo Carvalho de Melo) - Remove help messages about previous right and left arrow keybidings, that were repurposed for horizontal scrolling. (Arnaldo Carvalho de Melo) - Inform how to reset the symbol filter in the hists browser. (top & report) (Arnaldo Carvalho de Melo) - Add 'm' key for context menu display in the hists browser, that became inacessible with the repurposing of the right arrow key for horizontal scrolling. (Namhyung Kim) - Use debug_frame for callchains if eh_frame is unusable. (Rabin Vicent) Build fixes: - Fix strict-aliasing breakage with gcc 4.4 in the READ_ONCE/WRITE_ONCE code adopted from the kernel tree, that builds with -fno-strict-aliasing while tools/perf/ uses -Wstrict-aliasing=3. (Jiri Olsa) - Fix unw_word_t pointer casts in code using libunwind for callchains, fixing the build in at least 32-bit MIPS systems. (Rabin Vicent) - Work around cross compile build problems related to fixdep. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02a6d6136fa2a17f400a030829a6435556b3e65b Author: Paolo Abeni <pabeni@xxxxxxxxxx> Date: Wed Oct 14 14:25:53 2015 +0200 Revert "ipv4/icmp: redirect messages can use the ingress daddr as source" Revert the commit e2ca690b657f ("ipv4/icmp: redirect messages can use the ingress daddr as source"), which tried to introduce a more suitable behaviour for ICMP redirect messages generated by VRRP routers. However RFC 5798 section 8.1.1 states: The IPv4 source address of an ICMP redirect should be the address that the end-host used when making its next-hop routing decision. while said commit used the generating packet destination address, which do not match the above and in most cases leads to no redirect packets to be generated. Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1b0dc90abdb3487a8b60ac7c843708f98ff409a Author: Thiago Macieira <thiago.macieira@xxxxxxxxx> Date: Tue Sep 22 11:36:39 2015 -0700 Update the buildsystem for KConfig finding Qt The buildsystem will now only search for Qt 4 and Qt 5. Support for Qt 2 and 3 was dropped in the previous commits (Qt 3 was EOL'ed in 2010 or so...). For Qt 5, to be future-proof with the future direction notice appearing in the 5.5 release, C++11 support is automatically enabled. Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit b4ff1de3b8381a471d1b1320be0daa3f8fc2ed85 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:38 2015 -0700 Port xconfig to Qt5 - Update copyright. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit ee7298fbc01e252157a314da7a8a0eaef46ad2a2 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:37 2015 -0700 Port xconfig to Qt5 - Fix goParent issue. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 5df9da9df2071c7c18245b4462e7d65d28df4281 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:36 2015 -0700 Port xconfig to Qt5 - on Back clicked, deselect old item. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 76d53cbbae3fe29bfa92177e4bf3377fab176ec6 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:35 2015 -0700 Port xconfig to Qt5 - Add(back) one click checkbox toggle. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit e336b9f1325acb65121c6911f6f0bd057073db6a Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:34 2015 -0700 Port xconfig to Qt5 - Add(back) lineedit editing. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 5c60014b4ee8dd02f0d10a8995cd1859a479c0dc Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:33 2015 -0700 Port xconfig to Qt5 - Remove some commented code. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit b3c48f964cda9311030416d1ee17bd5bdc4729f2 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:32 2015 -0700 Port xconfig to Qt5 - Source format. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit f999cc06f97e0e75b21a114d38e7477c18a5a673 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:31 2015 -0700 Port xconfig to Qt5 - Add horizontal scrollbar, and scroll per pixel. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit d960b9889984d29182c17d55b3cd95c3d8d9d598 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:30 2015 -0700 Port xconfig to Qt5 - Change ConfigItem constructor parent type. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit a5225e9bc915e9010f31b0ff420a8ce3df669bc6 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:29 2015 -0700 Port xconfig to Qt5 - Disable ConfigList soring Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 5c6f1554ba7f79fedebd3500741027dbb9b6dc79 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:27 2015 -0700 Port xconfig to Qt5 - Remove ConfigList::updateMenuList template. ConfigItem executes parent->takeChild(0) while ConfigList executes parent->takeTopLevelItem(0) Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit dbf629331ac8e9458bb5fb1ccd5b850f3f2f94b6 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:26 2015 -0700 Port xconfig to Qt5 - Add ConfigList::mode to initializer list. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 86c052827b68db49a70597980d0f85c8546a09be Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:25 2015 -0700 Port xconfig to Qt5 - Add ConfigItem::nextItem to initializer list. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit a52cb321de597542eeab63e1033156e05d9f075b Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:24 2015 -0700 Port xconfig to Qt5 - Tree widget set column titles. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit e484fe3a9be894f97a7f982f606ac318648f8db5 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:23 2015 -0700 Port xconfig to Qt5 - Quick workaround to bypass app crash at startup. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 9bd36ed363c9dfec4e47e4ed489aadf3da987314 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:22 2015 -0700 Port xconfig to Qt5 - Set ConfigView object name. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit c14fa5e123cea969b0aca4b6a4e13ce6937e4ed2 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:21 2015 -0700 Port xconfig to Qt5 - Use correct signal names. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 9bfda0ab03877855d9018712a046de0c9e147d34 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:20 2015 -0700 Port xconfig to Qt5 - Remove Qt3Support from Makefile. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit d5d973c3f8a956411fafc997738ff03f213200b6 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:19 2015 -0700 Port xconfig to Qt5 - Put back some of the old implementation(part 2). Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 59e564408f88ee14395dd96f713eae2474edb591 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:18 2015 -0700 Port xconfig to Qt5 - Put back some of the old implementation. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 1019f1a586afe835bf1c6e4e8acfcddd2b7465f6 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:17 2015 -0700 Port xconfig to Qt5 - Introduce Qt4/5 version of ConfigList and ConfigItem Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 92119937e844ef60693411062045d3c63ca8edd9 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:16 2015 -0700 Port xconfig to Qt5 - update signals Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 68ccb7ef4974bfce0d99a4425324a1c7ef85a82e Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:15 2015 -0700 Port xconfig to Qt5 - Fix the code so it compiles with Qt5 Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 76538660fb08f2f794d569a594a95fc55eb03932 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:14 2015 -0700 Port xconfig to Qt5 - Remove custom ListView classes. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 780505e33f0af32808257fd8b6ace5c3e3d9666f Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:13 2015 -0700 Port xconfig to Qt5 - Make single/split/full actions checkable. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 9c86235a19861155cdd81e0cb29f34cd0d07fbe2 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:12 2015 -0700 Port xconfig to Qt5 - Update QAction checkable Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 92298b496df10415b03574efee5fbba9ce8f5ca0 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:11 2015 -0700 Port xconfig to Qt5 - Fix layout margin. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 29a70168e2637385295cc60549c038d3c958f8a8 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:10 2015 -0700 Port xconfig to Qt5 - Fix layout Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 34d6320b825ec2d261d4cb1af83f0582cd2e7954 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:09 2015 -0700 Port xconfig to Qt5 - Replace Q3VBox with QWidget Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 1ce67353a77a260fa917086405e326693c35abf2 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:08 2015 -0700 Port xconfig to Qt5 - Remove unused #include <q3dragobject.h> Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 76bede87084ac891f8ddc727178efa49dc49a0d5 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:07 2015 -0700 Port xconfig to Qt5 - Use QMenu Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 924bbb53d512688bf9caae10a0d2d8b081aea535 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:06 2015 -0700 Port xconfig to Qt5 - Use QTextBrowser Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 041fbdc21fadb7747482bddc22a27a431b678c1c Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:05 2015 -0700 Port xconfig to Qt5 - Use QList Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit bea00771f7d0964192da89d53adf3faf55b1daa9 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:04 2015 -0700 Port xconfig to Qt5 - Use QFileDialog Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 85eaf28a2683b11227fbcd77341339fe3642f795 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:03 2015 -0700 Port xconfig to Qt5 - Use QAction Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit b1f8a45bfee563f6aa9969c6b01f6c831a85e39a Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:02 2015 -0700 Port xconfig to Qt5 - Use QMainWindow, QToolBar Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 8328447af88eaab1db29852cb3e4a71cda5bd887 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:01 2015 -0700 Remove support for QT3 and older. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 7d1f6411b04fef2f0a260205c92e811b280ae117 Merge: 4b418bf b4a5127 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 14 05:53:48 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-10-13 This series contains updates to i40e, i40evf, ixgbe and fm10k. Carolyn cleans up ndo_bridge_getlink() by flagging a parameter as __always_unused, since it is never used. Adds a member to the nvm_info struct to store OEM version info to be output either by OID or ethtool. Neerav cleans up a remaining bit shift to use BIT() macro. Mitch fixes the i40evf driver to properly handle calls to its ndo_set_mac_address() method. It did not properly check to see if the override would be allowed by the PF driver, and it never removed the old address from its filter list. Cleaned up the use of i40e_enable_vf_mappings() in i40e_alloc_vfs(), since it is just redundant since we already call it by i40e_reset_vf(). Fixed a possible panic in some circumstances where the firmware may fail to allocate a VSI for a VF by checking the return value from i40e_alloc_vf_res() and don't try to configure the device further if it failed. Greg fixes the parsing of CEE App TLVs so the caller does not have to consider whether the App came from a CEE or IEEE DCBx negotiation. Shannon moves the device ids into a standalone file due to the desire to write user-land drivers (and other requests) without needing the rest of the include files. Catherine adds the ability to save the module information from get_phy_capabilities() to be used to determine which speeds the module supports. Also cleaned up the PHY structure by removing unused members and add the ability to store the PHY capabilities reported by the firmware. Emil modifies ixgbe to ensure that flow control packets initiated by the VF are dropped and reported as spoofed. Jacob cleans up the fm10k driver to avoid buffer overflow by using sprintf(), so convert to using snprintf(). Also fixed the use of an enum as a boolean, so check for the actual value of NETREG_UNINITIALIZED in case it ever changes from the current value of zero. v2: Dropped patch 11 of the original series, which added functions that were never used. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 668b4ada1cdf406dac9f72503fa2f69f31bed0c5 Author: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 00:40:30 2015 +0100 iommu/arm-smmu: ThunderX mis-extends 64bit registers The SMMU architecture defines two different behaviors when 64-bit registers are written with 32-bit writes. The first behavior causes zero extension into the upper 32-bits. The second behavior splits a 64-bit register into "normal" 32-bit register pairs. On some buggy implementations, registers incorrectly zero extended when they should instead behave as normal 32-bit register pairs. Signed-off-by: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxxxxxxxxxx> [will: removed redundant macro parameters] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 077124c98da3aa5aaf498fd0980ed14eaf777c09 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 18 17:12:24 2015 +0100 iommu/arm-smmu: Remove unneeded '0x' annotation '%pad' automatically prints with '0x', so remove the explicit '0x' annotation. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 941a802d939221028baf6d19afd6dc8652219a81 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 11 16:25:10 2015 +0100 iommu/arm-smmu: Use drvdata instead of maintaining smmu_devices list Rather than keep a private list of struct arm_smmu_device and searching this whenever we need to look up the correct SMMU instance, instead use the drvdata field in the struct device to take care of the mapping for us. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3ca9299e7dc65f2d8242cd7804818a8e840b5a26 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:02:44 2015 -0500 iommu/omap: Add support for configuring dsp iommus on DRA7xx The DSP MMUs on DRA7xx SoC requires configuring an additional MMU_CONFIG register present in the DSP_SYSTEM sub module. This setting dictates whether the DSP Core's MDMA and EDMA traffic is routed through the respective MMU or not. Add the support to the OMAP iommu driver so that the traffic is not bypassed when enabling the MMUs. The MMU_CONFIG register has two different bits for enabling each of these two MMUs present in the DSP processor sub-system on DRA7xx. An id field is added to the OMAP iommu object to identify and enable each IOMMU. The id information and the DSP_SYSTEM.MMU_CONFIG register programming is achieved through the processing of the optional "ti,syscon-mmuconfig" property. A proper value is assigned to the id field only when this property is present. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit c0e44929b571c468c4eca2ffb0fc196b090193f1 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:02:43 2015 -0500 Documentation: dt: Update OMAP iommu bindings for DRA7 DSPs The DSP processor sub-systems on DRA7xx have two MMU instances each, one for the processor core and the other for an internal EDMA block. These MMUs need an additional shared register to be programmed in the DSP_SYSTEM sub-module to be enabled properly. The OMAP IOMMU bindings is updated to account for this additional syscon property required for these DSP IOMMU instances on DRA7xx SoCs. A new compatible "ti,dra7-dsp-iommu" is also defined to distinguish these devices specifically from other DRA7 IOMMU devices. An example of the DRA7 DSP IOMMU nodes is also added to the document for clarity. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit fdbbe8e7914765aef82c696dcefc97fe462c3925 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Oct 9 12:34:23 2015 +0200 s390/spinlock: remove unneeded serializations at unlock the kernel locks have aqcuire/release semantics. No operation done after the lock can be "moved" before the lock and no operation before the unlock can be moved after the unlock. But it is perfectly fine that memory accesses which happen code wise after unlock are performed within the critical section. On s390x, reads are in-order with other reads (PoP section "Storage-Operand Fetch References") and writes are in-order with other writes (PoP section "Storage-Operand Store References"). Writes are also in-order with reads to the same memory location (PoP section "Storage-Operand Store References"). To other CPUs (and the channel subsystem), reads additionally appear to be performed prior to reads or writes that happen after them in the conceptual sequence (PoP section "Relation between Operand Accesses"). So at least as observed by other CPUs and the channel subsystem, reads inside the critical sections will not happen after unlock (and writes are in-order anyway). That's exactly what we need for "RELEASE operations" (memory-barriers.txt): "It guarantees that all memory operations before the RELEASE operation will appear to happen before the RELEASE operation with respect to the other components of the system." Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-By: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> [cross-reading and lot of improvements for the patch description] Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8139b89d7cc5f53cff63a72c8e226385f34a70a2 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Jul 27 12:47:40 2015 +0200 s390/zcrypt: use system work queue for ap_scan_bus There is a system work queue system_long_wq for long running work. Use this work queue for the AP bus scan loop. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b96a9e5140d4d6253e499bd18c35a7d085ac46e2 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 14 17:28:26 2015 +0200 s390/zcrypt: remove support for PCICC and PCICA cards Remove the code for really old crypt cards, PCICC and PCICA. These cards have been out of service for several years. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3f3007afda8bb731a3422430752ca91ddc102e4d Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 14 17:01:23 2015 +0200 s390/zcrypt: introduce state machine for the AP bus Replace the two fields 'unregistered' and 'reset' with a device state with 5 possible values. Introduce two events for the AP devices, device poll and device timeout. With the state machine it is easier to deal with device initialization and suspend/resume. Device polling is simpler as well, the arkane 'flags' passing is gone. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit f58fe336009f451748c1c337f35130a320ef923d Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 14 16:59:27 2015 +0200 s390/zcrypt: use explicit return code for flushed requests If a AP device is removed while messages are still pending, the requests are cancelled by calling the message receive function with an error pointer for the reply. The message type receive handler recognize this and create a fake hardware error TYPE82_RSP_CODE / REP82_ERROR_MACHINE_FAILURE. The message with the hardware error then causes a printk and a return code of -EAGAIN. Replace the intricate scheme with an explicit return code for this sitation and avoid the error message. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit fcd0d1f637e57777fdc742adee6bfbcab5876295 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Jul 23 10:55:59 2015 +0200 s390/zcrypt: cleanup AP bus timer code Set the configuration timer at the end of the ap_scan_bus function. Make use of setup_timer and remove some unnecessary add_timer, mod_timer and del_timer_sync calls. Replace the complicated timer_pending, mod_timer and add_timer code in ap_config_time_store with a simple mod_timer. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 83e9d5d2d45e518deb8cb843bd2e41548c6bb9b2 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Jul 17 13:43:18 2015 +0200 s390/zcrypt: fix suspend/resume of AP bus devices If there are no devices on the AP bus there will not be a single call to the per-device ap_bus_suspend function. Even worse, there will not be a call to the per-device ap_bus_resume either and the AP will fail so resume correctly. Introduce a bus specific dev_pm_ops to suspend / resume the AP bus related things. While we are at it, simplify the power management code of the AP bus. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 98733791e8ea9f700ce2c6feedcbeb7c4703359e Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Jul 17 15:01:08 2015 +0200 s390/zcrypt: fix device unregister race The ap_queue_messsage function will call device_unregister if the unregistered field of the device has been set while trying to queue a message. This races with other device_unregister calls, e.g. from the ap_scan_bus. Remove the call to device_unregister from ap_queue_message and let ap_scan_bus deal with it. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 889875a14f0a3205e78613b3e78ecc4efc187d74 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Jun 26 16:55:35 2015 +0200 s390/zcrypt: fix memory leak with ap configuration data The ap_query_configuration function allocates the ap_config_info structure, but there is no code to free the structure. Allocate the structure in the module_init function and free it again in module_exit. While we are at it simplify a few functions in regard to the ap configuration data. Reviewed-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6acbe21f473f5cff8a11546f090967459b63ab3e Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Jun 26 15:40:41 2015 +0200 s390/zcrypt: remove duplicate low level functions ap_test_queue, ap_query_facilities, __ap_query_functions all use the same PQAP(TAPQ) command. Consolidate the three into a single ap_test_queue function that returns the AP status and the 64-bit result. The exception table entry for PQAP(TAPQ) can be avoided if the T bit for the APFT facility is set only if test_facility(15) indicated that the facility is present. Integrate ap_query_function into ap_query queue to avoid calling PQAP(TAPQ) twice. Reviewed-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 29b0a8250ba63beffba4fe3a42fa75dddf4bd06a Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Oct 9 13:48:03 2015 +0200 s390/etr,stp: fix possible deadlock on machine check The first level machine check handler for etr and stp machine checks may call queue_work() while in nmi context. This may deadlock e.g. if the machine check happened when the interrupted context did hold a lock, that also will be acquired by queue_work(). Therefore split etr and stp machine check handling into first and second level handling. The second level handling will then issue the queue_work() call in process context which avoids the potential deadlock. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 7cc8944e13c73374b6f33b39ca24c0891c87b077 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:07:06 2015 +0200 s390/pci: reshuffle struct used to write debug data zpci_err_insn writes stale stack content to the debugfs. Ensure that the struct in zpci_err_insn is ordered in a way that we don't have uninitialized holes in it. In addition to that add the packed attribute. Fixes: 3d8258e (s390/pci: move debug messages to debugfs) Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 48002bd5af37c3f6ac4a1484427ac52f7f184950 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Oct 8 13:51:44 2015 +0200 s390/bitops: remove 31 bit related comments Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e4165dcbc087eaf0fa892c6eee7fce8ac0482742 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Oct 8 13:38:49 2015 +0200 s390/cmpxchg: remove dead code With the removal of 31 bit support a couple of defines became unused. Remove them. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 004f0bba1902960e0d94d3712b94f7cdd9889ea6 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Oct 6 14:45:35 2015 +0200 s390/nmi: change type of mcck_interruption_code lowcore field For some unknown reason the mcck_interruption_code field is defined as array of two 32 bit values. Given that this actually is a 64 bit field according to the architecture, change the type to u64. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 92778b9920abddacf31876b3f15d8ea07edeca8d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Oct 6 16:23:39 2015 +0200 s390/flags: use _BITUL macro The defines that are used in entry.S have been partially converted to use the _BITUL macro (setup.h). This patch converts the rest. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ac25e790d9c3c9b5d34609b7dc1d60c09494c668 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Oct 6 16:23:29 2015 +0200 s390/flags: fix flag handling The cpu flags and pt_regs flags fields are each 64 bits in size. A flag can be set with helper functions like set_cpu_flags(). These functions create a mask using "1U << flag". This doesn't work if flag is larger than 31, since 1U << 32 == 0. So fix this in case we ever will have such flag numbers. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit db7e007fd61ca07e5f3b04cf2168531b074d318d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Sat Aug 15 11:42:21 2015 +0200 s390/udelay: make udelay have busy loop semantics When using systemtap it was observed that our udelay implementation is rather suboptimal if being called from a kprobe handler installed by systemtap. The problem observed when a kprobe was installed on lock_acquired(). When the probe was hit the kprobe handler did call udelay, which set up an (internal) timer and reenabled interrupts (only the clock comparator interrupt) and waited for the interrupt. This is an optimization to avoid that the cpu is busy looping while waiting that enough time passes. The problem is that the interrupt handler still does call irq_enter()/irq_exit() which then again can lead to a deadlock, since some accounting functions may take locks as well. If one of these locks is the same, which caused lock_acquired() to be called, we have a nice deadlock. This patch reworks the udelay code for the interrupts disabled case to immediately leave the low level interrupt handler when the clock comparator interrupt happens. That way no C code is being called and the deadlock cannot happen anymore. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0c5a69f432ba1e586ac6ae5e4311c2f1cbd051fa Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Oct 7 10:54:36 2015 +0200 s390/compiler.h Fix sparse vs. hotpatch sparse does not understand the s390 specific hotpatch attribute and floods the log with messages like include/uapi/linux/swab.h:92:8: error: attribute 'hotpatch': unknown attribute Let's just dont use it, if __CHECKER__ is defined. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e22cf8ca6f75a6c4fccf2d6ee818bdb1205f32e6 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Oct 6 18:06:15 2015 +0200 s390/cpumf: rework program parameter setting to detect guest samples The program parameter can be used to mark hardware samples with some token. Previously, it was used to mark guest samples only. Improve the program parameter doubleword by combining two parts, the leftmost LPP part and the rightmost PID part. Set the PID part for processes by using the task PID. To distinguish host and guest samples for the kernel (PID part is zero), the guest must always set the program paramater to a non-zero value. Use the leftmost bit in the LPP part of the program parameter to be able to detect guest kernel samples. [brueckner@xxxxxxxxxxxxxxxxxx]: Split __LC_CURRENT and introduced __LC_LPP. Corrected __LC_CURRENT users and adjusted assembler parts. And updated the commit message accordingly. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6a62b485eacaf4db26923bf9442073320fc7199a Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Oct 5 13:04:09 2015 +0200 s390/asm: make use of the OFFSET macro to define assember constants The use of OFFSET instead of DEFINE makes the definitions in asm-offsets.c more readable. While we are at it sort the defines for struct _lowcore according to the field order and remove some unneeded defines. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 18d1a7f675d7fb00d247eb858020da4bee199ddf Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Oct 1 14:11:35 2015 +0200 s390/sclp: avoid merged message output The sclp console and tty code currently uses several message text objects in a single message event to print several lines with one SCCB. This causes the output of these lines to be fused into a block which is noticeable when selecting text in the operating system message panel. Instead use several message events with a single message text object each to print every line on its own. This changes the SCCB layout from struct sccb_header struct evbuf_header struct mdb_header struct go struct mto ... struct mto to struct sccb_header struct evbuf_header struct mdb_header struct go struct mto ... struct evbuf_header struct mdb_header struct go struct mto Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 83abeffbd5dece88129a67f736bdd43a40eccbb1 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 17:02:48 2015 +0200 s390/entry: add assembler macro to conveniently tests under mask Various functions in entry.S perform test-under-mask instructions to test for particular bits in memory. Because test-under-mask uses a mask value of one byte, the mask value and the offset into the memory must be calculated manually. This easily introduces errors and is hard to review and read. Introduce the TSTMSK assembler macro to specify a mask constant and let the macro calculate the offset and the byte mask to generate a test-under-mask instruction. The benefit is that existing symbolic constants can now be used for tests. Also the macro checks for zero mask values and mask values that consist of multiple bytes. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0ac277790ec938087c9047bc7b1b4f30a65406cd Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 17:53:22 2015 +0200 s390/fpu: add static FPU save area for init_task Previously, the init task did not have an allocated FPU save area and saving an FPU state was not possible. Now if the vector extension is always enabled, provide a static FPU save area to save FPU states of vector instructions that can be executed quite early. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b5510d9b68c33964abd938148f407ad3789e369f Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 10:04:41 2015 +0200 s390/fpu: always enable the vector facility if it is available If the kernel detects that the s390 hardware supports the vector facility, it is enabled by default at an early stage. To force it off, use the novx kernel parameter. Note that there is a small time window, where the vector facility is enabled before it is forced to be off. With enabling the vector facility by default, the FPU save and restore functions can be improved. They do not longer require to manage expensive control register updates to enable or disable the vector enablement control for particular processes. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 395e6aa1d0ffbc493a04469aa8f6751ed2aad8c5 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Sep 29 12:51:40 2015 +0200 s390/mm: try to avoid storage key operation in ptep_set_access_flags The call to pgste_set_key in ptep_set_access_flags can be avoided if the old pte is found to be valid at the time the new access rights are set. The function that created the old, valid pte already completed the required storage key operation. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5da7667c035f3a711ec8d0a3997254807dd8bc6d Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 28 15:27:26 2015 +0200 s390/barrier: remove unnecessary serialization in atomics and bitops The principles of operation states reads are in order, writes are in order, writes can be reordered after reads, but no reads can be reordered after writes. The atomic and bitops variantes for z196 use the interlocked-access facility instructions with a memory barrier before and after the instruction. Because of the memory ordering the first barrier is unnecessary and can be removed. Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b5a6b71b1901b9ca495f669c9ad86f2181960aba Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 21 16:05:32 2015 +0200 s390/diag: add tracepoint for diagnose calls To be able to analyse problems in regard to hypervisor overhead add a tracepoing for diagnose calls. It reports the number of the diagnose issued, e.g. sshd-1385 [002] .... 42.701431: diagnose: nr=0x9c <idle>-0 [001] ..s. 43.587528: diagnose: nr=0x9c Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1ec2772e0c3ca3159035c03165355e355efc326b Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Aug 20 17:28:44 2015 +0200 s390/diag: add a statistic for diagnose calls Introduce /sys/debug/kernel/diag_stat with a statistic how many diagnose calls have been done by each CPU in the system. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit acdc9fc9a8121ce2ebcd7533bd72852c20b353f3 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Aug 20 12:57:33 2015 +0200 s390/bitops: implement cache friendly test_and_set_bit_lock The generic implementation for test_and_set_bit_lock in include/asm-generic uses the standard test_and_set_bit operation. This is done with either a 'csg' or a 'loag' instruction. For both version the cache line is fetched exclusively, even if the bit is already set. The result is an increase in cache traffic, for a contented lock this is a bad idea. Acked-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5614dd920a02a524c9abc9573374d81f0535f18a Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 22 14:47:42 2015 +0200 s390/mm: implement soft-dirty bits for user memory change tracking Use bit 2**1 of the pte and bit 2**14 of the pmd for the soft dirty bit. The fault mechanism to do dirty tracking is already in place. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a7b7617493179a0ff76cbc0cc2eb45ad07074765 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 22 14:20:47 2015 +0200 mm: add architecture primitives for software dirty bit clearing There are primitives to create and query the software dirty bits in a pte or pmd. But the clearing of the software dirty bits is done in common code with x86 specific page table functions. Add the missing architecture primitives to clear the software dirty bits to allow the feature to be used on non-x86 systems, e.g. the s390 architecture. Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9d49f86daba3ed22cadf01beff1b130ad25fe0bf Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 18:40:33 2015 +0200 s390/cio: introduce pathmask_to_pos We often need to correlate an 8 bit path mask with the position in a channel path array. Introduce and use pathmask_to_pos for that task. Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ab97d211ef1863942a90d7c93dfd563f0381ca87 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:29:59 2015 +0200 s390/cio: reactivate cmf after hibernate During resume from hibernate we already reenable measurement block updates on a per device basis. In addition to that we also need to activate channel measurement globally using the set channel monitor instruction. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 45bf4b96e6aea81594e510fe5cd10190ff4e6cb1 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 19:53:01 2015 +0200 s390/cio: use kmem_cache for extended measurement block allocation Extended measurement blocks need to be 64 byte aligned. To achieve that 128 bytes for each measurement block are allocated and an align callback returns a 64 byte aligned address inside this area. Replace this code with kmem_cache allocations. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a5e9ca573b5fe47aef30e9c33c31b5fe7b0dfb88 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 19:52:31 2015 +0200 s390/cio: fix memleak in channel measurement The measurement block for the extended measurement data is not freed when switching off per device measurement. Free the measurement block after HW stopped accessing it. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 616503d1d8940049841e5b6f2ab5157f37072ed9 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 19:52:06 2015 +0200 s390/cio: improve locking during cmbe allocation During allocation of extended measurement blocks we check if the device is already active for channel measurement and add the device to a list of devices with active channel measurement. The check is done under ccwlock protection and the list modification is guarded by a different lock. To guarantee that both states are in sync make sure that both locks are held during the allocation process (like it's already done for the "normal" measurement block allocation). Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a6ef15652d260f754ead223d0c55434a3a39fe1d Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 19:51:39 2015 +0200 s390/cio: fix use after free in cmb processing Devices with active channel measurement are included in a list. When a device is removed without deactivating channel measurement first the list_head is freed but still used. Fix this by making sure that channel measurement is deactivated during device deregistration. For devices that we deregister because they are no longer accessible deactivating channel measurement will fail. In this case we can report success because the FW will no longer access the measurement block. In addition to these steps keep an extra device reference while channel measurement is active. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1bc6664bdfb949bc69a08113801e7d6acbf6bc3f Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 15 13:11:42 2015 +0200 s390/cio: use device_lock during cmb activation Hold the device_lock during [de]activation of the channel measurement block to synchronize concurrent usage of these functions. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 279b8f9a0f3ea3399764047d487dfdd8f7bc9795 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 19:50:25 2015 +0200 s390/cio: cleanup cmb_enable sysfs attr Ensure that we hold the ccwlock when accessing private data. Return errors that occur during measurement enabling to userspace. Apply some cleanups while at it. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3c4aac86cbb3389d74152a83c89cf3a31fd7cc0b Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Wed Sep 16 00:54:24 2015 +0600 s390/crash_dump: use for_each_mem_range The <linux/memblock.h> already provides for_each_mem_range() macro that iterates through memblock areas from type_a and not included in type_b. We can remove custom for_each_dump_mem_range() macro and use the for_each_mem_range() instead. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> commit 1afc82aee45c118dc8026d54a230e75ff6baee66 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 11 16:32:24 2015 +0200 s390/barrier: avoid serialization in [smp_]rmb and [smp_]wmb The principles of operation says: The storage-operand fetch references of one instruction occur after those of all preceding instructions and before those of subsequent instructions, as observed by other CPUs and by channel programs. [...] The CPU may fetch the operands of instructions before the instructions are executed. [...] The CPU may delay placing results in storage. [...] the results of one instruction are placed in storage after the results of all preceding instructions have been placed in storage and before any results of the succeeding instructions are stored, as observed by other CPUs and by the channel subsystem. which boils down to: - reads are in order - writes are in order - reads can happen earlier - writes can happen later By definition (see memory-barrier.txt) read barriers orders reads vs reads and write barriers orders writes agains writes. but neither of these orders reads vs. writes. That means we can implement smp_wmb,smp_rmb,wmb and rmb as simple compiler barriers. To avoid reviewing all driver code for correct barrier usage we keep dma_[rw]mb as serialization for now. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 33b5881d11c5d852662efb764f5054347296a062 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 11 16:23:06 2015 +0200 s390/vdso: use correct memory barrier By definition smp_wmb only orders writes against writes. (Finish all previous writes, and do not start any future write). To protect the vdso init code against early reads on other CPUs, let's use a full smp_mb at the end of vdso init. As right now smp_wmb is implemented as full serialization, this needs no stable backport, but this change will be necessary if we reimplement smp_wmb. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e0af21c56ddd592b33f74f986a2cb4478b10786e Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 11 16:09:56 2015 +0200 s390/spinlock: use correct barriers _raw_write_lock_wait first sets the high order bit to indicate a pending writer and then waits for the reader to drop to zero. smp_rmb by definition only orders reads against reads. Let's use a full smp_mb instead. As right now smp_rmb is implemented as full serialization, this needs no stable backport, but this patch will be necessary if we reimplement smp_rmb. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9a21268360f5438796fa935e0b2e9317187ef8f4 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 4 13:52:44 2015 +0200 s390/dasd: mark DASD devices as non rotational We were able to reduce the CPU overhead of big paging scenarios when announcing our paging disks as non-rotational. Almost all dasd devices are implemented in storage servers with cache, raid, striping and lots of magic. There is no point in optimizing the disk schedulers and swap code for a single platter moving arm rotational disks. Given the complexity of the setup and the fact that this change is mostly to disable the additional overhead in swap code, lets keep the other functionality unchanged and do not disable the this device as entropy source - unlike other non-rotational devices. Suggested-by: Christian Ehrhardt <ehrhardt@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1330a1258dc20caa5961b07aa62482793d6f2ecf Author: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:57:24 2015 +0200 s390/zcrypt: enable odd RSA modulus sizes in CRT format In the past only even modulus sizes were allowed for RSA keys in CRT format. This restriction was based on limited RSA key generation on older crypto adapters that provides only even modulus sizes. This restriction is not valid any more. Revoke restrictions that crypto requests can be serviced with odd RSA modulus length in CRT format. Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b02064a9b8134e1aac4e891abf72139ca0b126ee Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 11:57:56 2015 +0200 s390/numa: write kernel message when emu_size has been increased Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e74eba049356fdad6713ab66322d9aeb0e85608b Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Oct 14 13:44:15 2015 +0300 hsi: omap_ssi_port: Prevent warning if cawake_gpio is not defined. The error handling path is broken as cawake_gpio was defined as unsigned integer causing the following warnings on boards that don't use SSI port and so don't have cawake_gpio defined. e.g. beagleboard C4. [ 30.094635] WARNING: CPU: 0 PID: 322 at drivers/gpio/gpiolib.c:86 gpio_to_desc+0xa4/0xb8() [ 30.103363] invalid GPIO -2 [ 30.106292] Modules linked in: omap_ssi_port(+) cpufreq_dt cfbfillrect cfbimgblt leds_gpio cfbcopyarea thermal_sys led_class hwmon gpio_keys encoder_tfp410 connector_analog_tv connector_dvi omap_hdq snd phy_i [ 30.145477] CPU: 0 PID: 322 Comm: modprobe Not tainted 4.3.0-rc4-00030-gca978c0-dirty #335 [ 30.154174] Hardware name: Generic OMAP3-GP (Flattened Device Tree) [ 30.160827] [<c0016ef4>] (unwind_backtrace) from [<c00131f4>] (show_stack+0x10/0x14) [ 30.168975] [<c00131f4>] (show_stack) from [<c033cf08>] (dump_stack+0x80/0x9c) [ 30.176635] [<c033cf08>] (dump_stack) from [<c003e920>] (warn_slowpath_common+0x7c/0xb8) [ 30.185180] [<c003e920>] (warn_slowpath_common) from [<c003e9f0>] (warn_slowpath_fmt+0x30/0x40) [ 30.194366] [<c003e9f0>] (warn_slowpath_fmt) from [<c0376314>] (gpio_to_desc+0xa4/0xb8) [ 30.202819] [<c0376314>] (gpio_to_desc) from [<c0376ac8>] (gpio_request_one+0x14/0x11c) [ 30.211273] [<c0376ac8>] (gpio_request_one) from [<c037370c>] (devm_gpio_request_one+0x3c/0x78) [ 30.220458] [<c037370c>] (devm_gpio_request_one) from [<bf184210>] (ssi_port_probe+0x118/0x504 [omap_ssi_port]) [ 30.231170] [<bf184210>] (ssi_port_probe [omap_ssi_port]) from [<c03d4cfc>] (platform_drv_probe+0x48/0xa4) [ 30.241424] [<c03d4cfc>] (platform_drv_probe) from [<c03d3678>] (driver_probe_device+0x1dc/0x2a0) [ 30.250793] [<c03d3678>] (driver_probe_device) from [<c03d37d0>] (__driver_attach+0x94/0x98) [ 30.259643] [<c03d37d0>] (__driver_attach) from [<c03d1d60>] (bus_for_each_dev+0x54/0x88) [ 30.268249] [<c03d1d60>] (bus_for_each_dev) from [<c03d2d50>] (bus_add_driver+0xe8/0x1f8) [ 30.276916] [<c03d2d50>] (bus_add_driver) from [<c03d4118>] (driver_register+0x78/0xf4) [ 30.285369] [<c03d4118>] (driver_register) from [<c03d5380>] (__platform_driver_probe+0x34/0xd8) [ 30.294647] [<c03d5380>] (__platform_driver_probe) from [<c00097e4>] (do_one_initcall+0x80/0x1d8) [ 30.303985] [<c00097e4>] (do_one_initcall) from [<c011617c>] (do_init_module+0x5c/0x1cc) [ 30.312561] [<c011617c>] (do_init_module) from [<c00c7a68>] (load_module+0x18c8/0x1f0c) [ 30.320983] [<c00c7a68>] (load_module) from [<c00c8188>] (SyS_init_module+0xdc/0x150) [ 30.329223] [<c00c8188>] (SyS_init_module) from [<c000f7e0>] (ret_fast_syscall+0x0/0x1c) Fixes: b209e047bc743 ("HSI: Introduce OMAP SSI driver") Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8785955bbc28be446bcb2ad08cfb0599246746f7 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Oct 9 04:26:35 2015 -0700 mwifiex: remove unnecessary NULL check ra_list cannot be NULL here, so remove the unnecessary NULL check. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit fe24372d1b115863905174aa3c9f988c1eb40630 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Oct 9 04:26:34 2015 -0700 mwifiex: add ndo_validate_addr netdev ops ndo_validate_addr is set to generic eth_validate_addr() function used for MAC address validation. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 505c5cb82ddf0fb6a88d1fc2fbf2386133a9ffcd Author: Ganapathi Bhat <gbhat@xxxxxxxxxxx> Date: Fri Oct 9 04:26:33 2015 -0700 mwifiex: fix AP VHT behaviour Even if hostapd configuration file contains VHT parameters, they were not getting reflected in beacons. The reason is we are resetting them before starting AP. This patch removes redundant BSS_STOP and SYS_RESET firmware commands before starting AP to fix the problem. Signed-off-by: Ganapathi Bhat <gbhat@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f098a045350ecd6045f2f2d5a50fecf2a98962d7 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Oct 1 22:35:21 2015 +0800 hsi: fix double kfree When device_register() fails, kfree() is called in hsi_client_release(), hence there is no need to call kfree in err3 again. Fixes: a2aa24734d9db ("HSI: Add common DT binding for HSI client devices") Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 46dbe2476c93026b20ddf36c6995e678bd867000 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Oct 9 04:26:23 2015 -0700 mwifiex: control WLAN and bluetooth coexistence modes By default our chip will be in spatial coexistence mode. This patch adds a provision to change it to timeshare mode via debugfs command. Enable timeshare coexistence mode echo 1 > /sys/kernel/debug/mwifiex/mlan0/timeshare_coex Go back to spacial coexistence mode echo 0 > /sys/kernel/debug/mwifiex/mlan0/timeshare_coex Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a484804b3eb8de64a2497c484a08359f7ae28210 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 4 16:46:55 2015 +0800 mwifiex: fix a comment typo Just fix a typo in the code comment. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cfa2b42b4d9a3dc10aa1e0c82213f3d30d5bcdf8 Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxx> Date: Tue Sep 29 13:24:37 2015 +0800 ath9k: fix QCA9561 XLNA rxgain initial A small bugfix for commit ede6a5e7b859 ("ath9k: Add QCA956x HW support"). I guess I would have skipped renaming (that initial QCA956x commit has been there already for almost a year with the "5g" in the name) and move the call outside AR_SREV_9462_20_OR_LATER() to make it reachable. Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 871d0051f06030bfddd5971ef2afc1eb7291ab4e Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxx> Date: Tue Sep 29 13:24:36 2015 +0800 ath9k: rename ini_modes_rxgain_5g_xlna to ini_modes_rxgain_xlna rename the variable as preparation for using the array with 2.4 GHz band, etc. Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 16a4ea506503343a066e9b986e4775bf472e5205 Author: Priit Laes <plaes@xxxxxxxxx> Date: Tue Sep 15 09:01:56 2015 +0300 rtlwifi: rtl8192cu: Add missing case in rtl92cu_get_hw_reg Driver was reporting 'switch case not processed' after association, so HW_VAR_KEEP_ALIVE was added and filled similarily to other drivers. Positive side effect to this seems to be a bit more stable connection. Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ce03966a16b03e5cf1a9cbd2f42ca0fbe4118ab5 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Thu Sep 10 07:27:34 2015 -0700 mwifiex: correction in USB8997 chipset's product ID For 8897 chipset, mwifiex_usb unnecessarily used to come into picture when wlan is supposed to be used via PCIe interface and USB interface is for bluetooth. This problem has been resolved for newer chipset by having separate USB product ids for USB-USB8997 and PCIe-USB8997 chipset variants. This patch ensures to use wlan specific product id. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Frank Huang <frankh@xxxxxxxxxxx> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 60a188a2715f5cf9f495bd125600453b9e9b1a55 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Thu Sep 10 07:27:33 2015 -0700 mwifiex: remove USB8897 chipset support We don't have any customer using this chipset via USB interface. if both mwifiex_pcie and mwifiex_usb modules are enabled by user, sometimes mwifiex_usb wins the race even if user wants wlan interface to be on PCIe and USB for bluetooth. This patch solves the problem. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Frank Huang <frankh@xxxxxxxxxxx> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 406df18f1f551a7f54bc68b56cf3ceb36f50cfc4 Author: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> Date: Wed Jul 22 10:42:43 2015 +0200 ath9k: Fix NF CCA limits for AR9287 and AR9227 The FreeBSD driver [0] uses the same 2G values as for the AR9280 chips. Using the same values in ath9k results in much better throughput for me. Before this patch I had a huge amount of packet loss (sometimes up to 40%) and the max transfer speed was somewhere around 5Mbit/s. With this patch applied I have zero packet loss and ten times the throughput. My device uses a AR9227 which is the PCI variant of the AR9287. [0] http://bxr.su/FreeBSD/sys/dev/ath/ath_hal/ar9002/ar9287.h Signed-off-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 18e9345b0db9fe7bd18c3c43967789fe0a2fdb52 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 23 16:11:41 2015 +0200 drm/i915: Add primary plane to mask if it's visible This fixes the warnings like "plane A assertion failure, should be disabled but not" that on the initial modeset during boot. This can happen if the primary plane is enabled by the firmware, but inheriting it fails because the DMAR is active or for other reasons. Most likely caused by commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:54 2015 +0200 drm/i915: update plane state during init This is a new version of commit 721a09f7393de6c28a07516dccd654c6e995944a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Sep 15 14:28:54 2015 +0200 drm/i915: Add primary plane to mask if it's visible That was reverted in order to facilitate easier backporting of some commits from -next to v4.3. Reported-by: Andreas Reis <andreas.reis@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91429 Reported-and-tested-by: Emil Renner Berthing <kernel@xxxxxxxx> Tested-by: Andreas Reis <andreas.reis@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [Jani: cherry-picked from -next to v4.3] Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 0836e6d8c47416d6eb60bb68a5d7213c0c2d0d29 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 10 18:59:08 2015 +0300 drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() Move the sprite/cursor plane disabling to occur in intel_sanitize_crtc() where it belongs instead of doing it in intel_modeset_readout_hw_state(). The plane disabling was first added in 4cf0ebbd4fafbdf8e6431dbb315e5511c3efdc3b drm/i915: Rework plane readout. I got the idea from some patches from Partik and/or Maarten but those moved also the plane state readout to intel_sanitize_crtc() which isn't quite right in my opinion. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=91910 Reviewed-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [Jani: cherry-picked from -next to v4.3] Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c4816c7389d8dbcad036be7e5a34584289d9f590 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 10 18:59:07 2015 +0300 drm/i915: Assign hwmode after encoder state readout The dotclock is often calculated in encoder .get_config(), so we shouldn't copy the adjusted_mode to hwmode until we have read out the dotclock. Gets rid of some warnings like these: [drm:drm_calc_timestamping_constants [drm]] *ERROR* crtc 21: Can't calculate constants, dotclock = 0! [drm:i915_get_vblank_timestamp] crtc 0 is disabled v2: Steal Maarten's idea to move crtc->mode etc. assignment too Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91428 Reviewed-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [Jani: cherry-picked from -next to v4.3] Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 2e2edebefceef201624dcc323a1f7761e0040cf5 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Oct 14 11:29:01 2015 +0300 Revert "drm/i915: Add primary plane to mask if it's visible" This reverts commit 721a09f7393de6c28a07516dccd654c6e995944a. There is nothing wrong with the commit per se. We had two versions of the commit, one in -next headed for v4.4 and this one for v4.3. Turns out we'll need to backport more fixes from -next, and they conflict with the v4.3 version. It gets messy. It will be easiest to revert this one, and backport all the relevant commits from -next without modifications; they apply cleanly after this revert. Requested-by: Joseph Yasi <joe.yasi@xxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=91910#c4 Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f1d2b4d338bf090296f67830025228872fd52513 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 7 15:59:16 2015 -0500 rtlwifi: rtl818x: Move drivers into new realtek directory Now that a new mac80211-based driver for Realtek devices has been submitted, it is time to reorganize the directories. Rather than having directories rtlwifi and rtl818x be in drivers/net/wireless/, they will now be in drivers/net/wireless/realtek/. This change simplifies the directory structure, but does not result in any configuration changes that are visable to the user. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit dbb526ebfec1a322405b7cfcb0c46730f9865ec6 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:20 2015 +0100 netfilter: ipv6: pointer cast layout Correct whitespace layout of a pointer casting. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4305ae44a9690e35c01278fe18270d45188a61bb Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:19 2015 +0100 netfilter: ip6_tables: improve if statements Correct whitespace layout of if statements. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4362495734d155e10174ace9066827780edaed0d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Oct 14 08:56:07 2015 +0000 ASoC: rsnd: Announce for removing Gen1 SRU support Gen1 SRU support was created for preparation of Gen2 SRC support, but no-one is using this feature (sampling rate convert) on Gen1. BockW had used SRU before, but it was pass through mode. This means it is same as SSI. And BockW "platform base" code was removed from upstream code. It is now supported via DT, but it doesn't use SRU. More detail, r8a7778.dtsi has "rcar_sound,src" entry, but no-one is using this feature today. SRU probing has no relation to this removing. This means there is no effect for DT compatibility, no issues on upstream kernel. Gen2 SRC was created from Gen1 SRU, these are similar but not same IP. Keeping Gen1 SRU in current driver is a little bit difficult, and no-one is using it today. Gen1 sound is still supported via SSI. Gen1 SRU support will be removed in the next kernel version. This patch announces it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7e4ac676ee468108886f12a20e25795f1c330939 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:15:34 2015 +0200 irqchip/mxs: Add Alphascale ASM9260 support Freescale iMX23/iMX28 and Alphascale ASM9260 have similar interrupt collectors. We already prepared the mxs driver to handle a different register layout. Add the actual ASM9260 support. Differences between these devices: - Different register offsets - Different count of interupt lines per register - ASM9260 does not provide reset bit - ASM9260 does not support FIQ. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Tested-by: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: marc.zyngier@xxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444677334-12242-6-git-send-email-linux@xxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 25e34b44313b61d7a87819498ccfd0129441604a Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:15:33 2015 +0200 irqchip/mxs: Prepare driver for hardware with different offsets Alphascale asm9260 has similar functionality but different register offsets. To support asm9260 in the mxs driver we need to rework the hardcoded access mechanisms. - Define SET_REG and CLR_REG. These controllers support seperate CLR and SET offsets for each register. - Reimplement HW_ICOLL_INTERRUPT with SET_REG and CLR_REG to make it usable for both cases. - Instead of using icoll_base and adding the offsets at runtime, create a new data structure which contains base pointers to all required regitsters and use it. - Split out functionality, which is required for the init code of mxs and asm9260, into helper functions [ tglx: Massaged changelog and moved the return value change to the previous patch ] Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Tested-by: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: marc.zyngier@xxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444677334-12242-5-git-send-email-linux@xxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e59a8451be1162d5a10a33e40092f1796cb8fdca Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:15:30 2015 +0200 irqchip/mxs: Panic if ioremap or domain creation fails Current code will only warn and then dereference the NULL pointer or continue, which results in a fatal NULL pointer dereference later. If the initialization fails, the machine is unusable, so panic right away. [ tglx: Massaged changelog and picked the irqdomain panic from the next patch] Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Tested-by: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: marc.zyngier@xxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444677334-12242-2-git-send-email-linux@xxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b4a5127b03b7f0b06dcaf08a878ffc93ad53fa82 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Aug 24 17:02:00 2015 -0700 fm10k: do not use enum as boolean Check for actual value NETREG_UNINITIALIZED in case it ever changes from the current value of zero. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f6f19f8bb9afcd0e9970fe51b5affa3063af4499 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Aug 24 17:01:58 2015 -0700 fm10k: use snprintf() instead of sprintf() to avoid buffer overflow Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f079fa005aae08ee0e1bc32699874ff4f02e11c1 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Thu Aug 20 15:31:20 2015 -0700 ixgbe: add flow control ethertype to the anti-spoofing filter This patch makes sure that flow control packets initiated by the VF are dropped and reported as spoofed. Flow control packets can be used to limit the throughput or as DOS attack when generated from a VF. Flow control is not supported per VF hence any pause frames generated from a VF are considered malicious. Also cleaned up indentation and some redundant comments. Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 06a24dd6c29a814a81595861c2cc681329c56bfc Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Aug 31 19:54:55 2015 -0400 i40e/i40evf: Bump i40e version to 1.3.25 and i40evf to 1.3.17 Bump. Change-ID: If3cd42f6c1b9546beed60faf9c79faab35216f58 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 fc72dbce09989b268b20342473ddc8d77c8da350 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Tue Sep 1 11:36:30 2015 -0400 i40e/i40evf: Refactor PHY structure and add phy_capabilities enum Remove unused members in the PHY structure and add a new member to store all the capabilities the PHY has as reported by the FW. This information will help us determine what speeds the device is capable of when link is down. Also add an enum to decode the PHY types the NVM is capable of. Use the phy_types variable to determine what phy types are possible when link is down instead of device id as it will be more accurate. When on a backplane device, we do not support changing any settings, however we should display all the phy_types we are capable of so if we see a backplane dev ID set supported and advertised purely based on the phy_types variable. Change-ID: Ia75d560f1fcd30c54cbfb7458690c5867559a930 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 0a862b43acc6c5d38fd462baa9c76f9197907d73 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Aug 31 19:54:53 2015 -0400 i40e/i40evf: Add module_types and update_link_info Add a module_types variable to the link_info struct to save the module information from get_phy_capabilities. This information can be used to determine which speeds the module supports. Also add a new function update_link_info which updates the module_types parameter and then calls get_link_info. This function should be called in place of get_link_info so that the module_types variable stays up-to-date with the rest of the link information. The EAS table does not reflect the values that are actually returned, so instead, basing these values on the Ethernet compliance codes specified in table 33 of SFF-8436 as these have been accurate. Use the new variable in ethtool to differentiate between a 10G/1G dual speed fiber module and a 10G only module. Change-ID: Ib7585cce321319c10ce15180054c41a6cbd41389 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 d72c95ea422ab63c832a13c075cb73bc87a1276e Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Aug 31 19:54:50 2015 -0400 i40e/i40evf: split device ids into a separate file Due to desires to write userland drivers, and other requests, without needing the rest of the include files, the device ids are pulled out into a standalone file. Change-ID: Ic0b047dbf9d4b0891892309c1f2079f56d9b60e8 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 f0b44440148c257bb5b1872e8ff5d6591afc8f4f Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Aug 31 19:54:49 2015 -0400 i40e: update fw version text string per previous product formats This patch moves the internal fw version and fw api version info to be output in probe. The nvm version, etrack and oem version info are now configured for output via ethtool -i. Change-ID: I05d490093a7137dbefcdef263d014d1e5c9e83d0 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 881d824569aa2df75175aa882ada0c1e48212de3 Author: Vignesh R <vigneshr@xxxxxx> Date: Tue Oct 13 23:31:39 2015 -0700 Input: pixcir_i2c_ts - remove wakeirq related code from pixcir driver With commit 3fffd1283927 ("i2c: allow specifying separate wakeup interrupt in device tree") wakeirq is managed by i2c-core, so remove wakeirq related code from pixcir_i2c_ts driver. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 21be99ec4ed366e24d4735d230aa3086ff2bc6ed Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Aug 31 19:54:48 2015 -0400 i40e: don't panic on VSI allocation failure In some circumstances, the firmware may fail to allocate a VSI for a VF. When this happens, the driver does not react well to the bad news and has a panic attack. To fix this problem, check the return value from i40e_alloc_vf_res and don't try to configure the device further if it failed. Additionally, explicitly clear the INIT bit when we free VF resources, so that this bit will be in the proper state in the failure case, and won't blow up elsewhere. Change-ID: I6a20ce2b59c3458fd832032e88fa28cd42500189 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 47ec6e5a5f57f96d7d382e2d9f8dc5a5bdb45259 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Tue Oct 13 23:24:36 2015 -0700 Input: rotary_encoder - add wake up support This patch adds wake up support to GPIO rotary encoders. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Reviewed-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 027c71bbae3a6eeff00c11d1b708593a5c790314 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Tue Oct 13 23:13:55 2015 -0700 Input: improve autorepeat initialization Add new function input_enable_softrepeat() that allows drivers to initialize their own values for input_dev->rep[REP_DELAY] and input_dev->rep[REP_PERIOD], but also use the software autorepeat functionality from input.c. For example, a HID driver could do: static void xyz_input_configured(struct hid_device *hid, struct hid_input *hidinput) { input_enable_softrepeat(hidinput->input, 400, 100); } static struct hid_driver xyz_driver = { .input_configured = xyz_input_configured, } Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e7e6cfce16e9184497716e004fc9e714a7411ad0 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Aug 31 19:54:47 2015 -0400 i40e: remove redundant call This function call isn't needed here; the same function is already called by i40e_reset_vf. Change-ID: I96ccbf91b752965c9e28fe895d4c7d4c46e3ba44 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 41c3ae8b726e07e366fdb63e0e40a33528f1c3e4 Author: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Date: Mon Aug 31 19:54:46 2015 -0400 i40e: Convert CEE App TLV selector to IEEE selector Changes the parsing of CEE App TLVs to fill in the App selector in struct i40e_dcbx_config with the IEEE App selector so the caller doesn't have to consider whether the App came from a CEE or IEEE DCBX negotiation. Change-ID: Ia7d9d664cde04d2ebcc9822fd22e4929c6edab3a Signed-off-by: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ac24382d41cc72541d5f8810336acf98a5e6d260 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Aug 31 19:54:45 2015 -0400 i40e/i40evf: Add info to nvm info struct for OEM version data This patch adds a member to the nvm_info struct for oem_ver info to be output either by OID or ethtool. Change-ID: I1e5d513ae67622e2af17042924fdb4b5d6d85366 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 14e52ee26bdfd6ad00075b66089b4b63fe36fff0 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Aug 31 19:54:44 2015 -0400 i40evf: properly handle ndo_set_mac_address calls The driver was not correctly handling calls to its ndo_set_mac_address method. It did not properly check to see if the override would be allowed by the PF driver, and never removed the old address from its filter list. Add a new flag to the adapter struct which is set if the MAC address is assigned by the PF. Check this flag and don't allow the MAC address to be changed if it is set. Search for and properly remove the filter for the old MAC address when the new one is set. Change-ID: I817bf620c869c5a80e6a7eab65c9cbad1dc89799 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 ab252253e08c16de28ec0f6da0a7ff684a8fce98 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Mon Aug 31 19:54:43 2015 -0400 i40e: Use BIT() macro for priority map parsing Replace one left over (1 << up) in the i40e_dcb.c file with the BIT() macro. Change-ID: I39492a400a2cee5ac566143a5b436cc478bea0db 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 9f4ffc4426c4a4b6d4a84413e13efba6a72bf81d Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Aug 31 19:54:42 2015 -0400 i40e: Make it clear a parameter is never used Flag the filter_mask parameter as __always_unused in the ndo_bridge_getlink function. Change-ID: Ifc1e99c7fb84bcbf81cf7b0ac891ad8ca956ffb2 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1d55aa9c350b02a0c79d901518026e3af5d5b006 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Aug 31 19:54:41 2015 -0400 i40e/i40evf: Add new link status defines Add the new Port link status bit and rename the link status to function link status. Change-ID: I71289327ae62638ce967b6ad40114caf998b6dab 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 0e339447cf2c8b5c742f9be8e2d73bc27b7ac9c4 Author: Jeff Johnson <jjohnson@xxxxxxxxxxxxxxxx> Date: Thu Oct 8 09:15:53 2015 -0700 ath10k: cleanup ath10k_mac_register() error handling The logic in the error-handling path of ath10k_mac_register() is divergent from the logic in ath10k_mac_unregister(). Update the ath10k_mac_register() error handling logic to align with the ath10k_mac_unregister() logic. Signed-off-by: Jeff Johnson <jjohnson@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 83cfce87d91f06e37bd38f782f0714b406a95873 Author: Mohammed Shafi Shajakhan <mohammed@xxxxxxxxxxxxxxxx> Date: Thu Oct 8 16:03:03 2015 +0530 ath10k: fix cleanup in ath10k_thermal_unregister First remove the 'cooling_device#n' syslink created for ath10k and then unregsiter from the thermal subsystem(cooling) Signed-off-by: Mohammed Shafi Shajakhan <mohammed@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit db0984e51a187f5bbe41231af7e671cc12586346 Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:55:59 2015 +0300 ath10k: select board data based on BMI chip id and board id QCA99X0 uses radio specific board names based on chip id and board id combinations. We get these IDs from the target using BMI after otp.bin has been started. This patch reorders the call to the function ath10k_core_fetch_board_file so that we have OTP binary before requesting for boardid-chipid. We get this OTP data after parsing firmware-N.bin. [kvalo@xxxxxxxxxxxxxxxx: try BMI_PARAM_GET_EEPROM_BOARD_ID with all boards and detect if command is not supported] Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0a51b343abfe2c0dbcbd9ec3c4b18bb8779fefa8 Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:55:58 2015 +0300 ath10k: add board 2 API support QCA6174 needs different board files based on board type. To make it easier to distribute multiple board files and automatically choose correct board file create a simple TLV file format following the same principles as with FW IEs. The file is named board-2.bin and contain multiple board files. Each board file then can have multiple names. ath10k searches for file board-N.bin (where N is the interface version number for the board file, just like we for firmware files) in /lib/firmware/*, for example for qca99x0 it will try to find it here: /lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin If ath10k doesn't find board-2.bin then it will fallback to the old board.bin file. This patch adds a simple name scheme using pci device id which for now will be used by qca6174: bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x This removes the old method of having subsystem ids in ar->spec_board_id and using that in the board file name. Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> [kvalo@xxxxxxxxxxxxxxxx: simplified the file format, rewrote commit log, other smaller changes] Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 517982229f78b2aebf00a8a337e84e8eeea70b8e Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:59 2015 +0200 configfs: remove old API Remove the old show_attribute and store_attribute methods and update the documentation. Also replace the two C samples with a single new one in the proper samples directory where people expect to find it. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 45b997737a8025be2825e464e9e9dd5d07160dc3 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:58 2015 +0200 ocfs2/cluster: use per-attribute show and store methods Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 13a83fc9096dfaf2a7f4671b5777780bbe1d4a30 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:57 2015 +0200 ocfs2/cluster: move locking into attribute store methods The test and separate set bit scheme was racy to start with, so move to do a test_and_set_bit after doing the earlier error checks inside the actual store methods. Also remove the locking for the local attribute which already has a different scheme to synchronize. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ea9ed9cff47e7932925982c8fdaf2d4d1708884f Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:56 2015 +0200 netconsole: use per-attribute show and store methods Note that the old code actually used the store_attributes method to do locking, this is moved into the individual methods. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 2eafd72939fda6118e27d3ee859684987f43921b Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:55 2015 +0200 target: use per-attribute show and store methods This also allows to remove the target-specific old configfs macros, and gets rid of the target_core_fabric_configfs.h header which only had one function declaration left that could be moved to a better place. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Acked-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 64c6be0e6df5b5804613863ca4fb05961948c999 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:54 2015 +0200 spear13xx_pcie_gadget: use per-attribute show and store methods Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9ae0f367df5d0d7be09fad1e2e5b080f6a45ca6b Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:53 2015 +0200 dlm: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: David Teigland <teigland@xxxxxxxxxx Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0b4be4fa878780a15a953577499eb69839942956 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:52 2015 +0200 usb-gadget/f_serial: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0736390bea65cac63bed9671a957031c068a60e7 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:51 2015 +0200 usb-gadget/f_phonet: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3da5e4c10cbacf5f3da043498299ae631a6dfc9c Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:50 2015 +0200 usb-gadget/f_obex: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 495702bcc12fb2c51997088befe37145a34e5e3a Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:49 2015 +0200 usb-gadget/f_uac2: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c6f89f1cca1cfd81cc27307595ebddee29cc84d3 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:48 2015 +0200 usb-gadget/f_uac1: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4a90cb203836e4989cc50121b13ff0fb7f671fcb Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:47 2015 +0200 usb-gadget/f_mass_storage: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 208e61ac7c0a2c3e4b23e74a66ddc2ea471d251e Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:46 2015 +0200 usb-gadget/f_sourcesink: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit aa48a415270f7cf16ec0ef825d19b4f8bd1a875e Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:45 2015 +0200 usb-gadget/f_printer: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3755a273db8f523f8be6c18df9e1506faa93c664 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:44 2015 +0200 usb-gadget/f_midi: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 75ab2256a7d05128f8aa088cdde961d8029bcd55 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:43 2015 +0200 usb-gadget/f_loopback: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f9a63da33d3f86acadc14c5cb66e9ad06860892f Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:42 2015 +0200 usb-gadget/ether: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ea6bd6b14ec67eb22e3eb8b2a2b979b5ea800a3a Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:41 2015 +0200 usb-gadget/f_acm: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit da4e527cd8850712bb705f4c41f0839705ab7c98 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:40 2015 +0200 usb-gadget/f_hid: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 76e0da34c7cec5a7dc94667326a948de2e9c8c8d Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:39 2015 +0200 usb-gadget/uvc: use per-attribute show and store methods UVC is a little different from other configfs consumers in that it wants different function and field names from the exposed attribute name, so it keeps it's local macros to define attributes instead of using the common ones. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 45b6a73f62ebcf3ff067895fb8030e67f4c7b67f Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:38 2015 +0200 usb-gadget: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 870823e629ea194e6cf8e82a9694ac62cad49512 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:37 2015 +0200 configfs: add show and store methods to struct configfs_attribute Add methods to struct configfs_attribute to directly show and store attributes without adding boilerplate code to every user. In addition to the methods this also adds 3 helper macros to define read/write, read-only and write-only attributes with a single line of code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 5e6ecb362bd5950a3d8ce19c32829e4f8c7917d9 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Tue Oct 13 16:36:09 2015 +0100 Btrfs: fix double range unlock of hole region when reading page If when reading a page we find a hole and our caller had already locked the range (bio flags has the bit EXTENT_BIO_PARENT_LOCKED set), we end up unlocking the hole's range and then later our caller unlocks it again, which might have already been locked by some other task once the first unlock happened. Currently this can only happen during a call to the extent_same ioctl, as it's the only caller of __do_readpage() that sets the bit EXTENT_BIO_PARENT_LOCKED for bio flags. Fix this by leaving the unlock exclusively to the caller. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 8039d87d9e473aeb740d4fdbd59b9d2f89b2ced9 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Tue Oct 13 15:15:00 2015 +0100 Btrfs: fix file corruption and data loss after cloning inline extents Currently the clone ioctl allows to clone an inline extent from one file to another that already has other (non-inlined) extents. This is a problem because btrfs is not designed to deal with files having inline and regular extents, if a file has an inline extent then it must be the only extent in the file and must start at file offset 0. Having a file with an inline extent followed by regular extents results in EIO errors when doing reads or writes against the first 4K of the file. Also, the clone ioctl allows one to lose data if the source file consists of a single inline extent, with a size of N bytes, and the destination file consists of a single inline extent with a size of M bytes, where we have M > N. In this case the clone operation removes the inline extent from the destination file and then copies the inline extent from the source file into the destination file - we lose the M - N bytes from the destination file, a read operation will get the value 0x00 for any bytes in the the range [N, M] (the destination inode's i_size remained as M, that's why we can read past N bytes). So fix this by not allowing such destructive operations to happen and return errno EOPNOTSUPP to user space. Currently the fstest btrfs/035 tests the data loss case but it totally ignores this - i.e. expects the operation to succeed and does not check the we got data loss. The following test case for fstests exercises all these cases that result in file corruption and data loss: 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 -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # real QA test starts here _need_to_be_root _supported_fs btrfs _supported_os Linux _require_scratch _require_cloner _require_btrfs_fs_feature "no_holes" _require_btrfs_mkfs_feature "no-holes" rm -f $seqres.full test_cloning_inline_extents() { local mkfs_opts=$1 local mount_opts=$2 _scratch_mkfs $mkfs_opts >>$seqres.full 2>&1 _scratch_mount $mount_opts # File bar, the source for all the following clone operations, consists # of a single inline extent (50 bytes). $XFS_IO_PROG -f -c "pwrite -S 0xbb 0 50" $SCRATCH_MNT/bar \ | _filter_xfs_io # Test cloning into a file with an extent (non-inlined) where the # destination offset overlaps that extent. It should not be possible to # clone the inline extent from file bar into this file. $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 16K" $SCRATCH_MNT/foo \ | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo # Doing IO against any range in the first 4K of the file should work. # Due to a past clone ioctl bug which allowed cloning the inline extent, # these operations resulted in EIO errors. echo "File foo data after clone operation:" # All bytes should have the value 0xaa (clone operation failed and did # not modify our file). od -t x1 $SCRATCH_MNT/foo $XFS_IO_PROG -c "pwrite -S 0xcc 0 100" $SCRATCH_MNT/foo | _filter_xfs_io # Test cloning the inline extent against a file which has a hole in its # first 4K followed by a non-inlined extent. It should not be possible # as well to clone the inline extent from file bar into this file. $XFS_IO_PROG -f -c "pwrite -S 0xdd 4K 12K" $SCRATCH_MNT/foo2 \ | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo2 # Doing IO against any range in the first 4K of the file should work. # Due to a past clone ioctl bug which allowed cloning the inline extent, # these operations resulted in EIO errors. echo "File foo2 data after clone operation:" # All bytes should have the value 0x00 (clone operation failed and did # not modify our file). od -t x1 $SCRATCH_MNT/foo2 $XFS_IO_PROG -c "pwrite -S 0xee 0 90" $SCRATCH_MNT/foo2 | _filter_xfs_io # Test cloning the inline extent against a file which has a size of zero # but has a prealloc extent. It should not be possible as well to clone # the inline extent from file bar into this file. $XFS_IO_PROG -f -c "falloc -k 0 1M" $SCRATCH_MNT/foo3 | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo3 # Doing IO against any range in the first 4K of the file should work. # Due to a past clone ioctl bug which allowed cloning the inline extent, # these operations resulted in EIO errors. echo "First 50 bytes of foo3 after clone operation:" # Should not be able to read any bytes, file has 0 bytes i_size (the # clone operation failed and did not modify our file). od -t x1 $SCRATCH_MNT/foo3 $XFS_IO_PROG -c "pwrite -S 0xff 0 90" $SCRATCH_MNT/foo3 | _filter_xfs_io # Test cloning the inline extent against a file which consists of a # single inline extent that has a size not greater than the size of # bar's inline extent (40 < 50). # It should be possible to do the extent cloning from bar to this file. $XFS_IO_PROG -f -c "pwrite -S 0x01 0 40" $SCRATCH_MNT/foo4 \ | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo4 # Doing IO against any range in the first 4K of the file should work. echo "File foo4 data after clone operation:" # Must match file bar's content. od -t x1 $SCRATCH_MNT/foo4 $XFS_IO_PROG -c "pwrite -S 0x02 0 90" $SCRATCH_MNT/foo4 | _filter_xfs_io # Test cloning the inline extent against a file which consists of a # single inline extent that has a size greater than the size of bar's # inline extent (60 > 50). # It should not be possible to clone the inline extent from file bar # into this file. $XFS_IO_PROG -f -c "pwrite -S 0x03 0 60" $SCRATCH_MNT/foo5 \ | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo5 # Reading the file should not fail. echo "File foo5 data after clone operation:" # Must have a size of 60 bytes, with all bytes having a value of 0x03 # (the clone operation failed and did not modify our file). od -t x1 $SCRATCH_MNT/foo5 # Test cloning the inline extent against a file which has no extents but # has a size greater than bar's inline extent (16K > 50). # It should not be possible to clone the inline extent from file bar # into this file. $XFS_IO_PROG -f -c "truncate 16K" $SCRATCH_MNT/foo6 | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo6 # Reading the file should not fail. echo "File foo6 data after clone operation:" # Must have a size of 16K, with all bytes having a value of 0x00 (the # clone operation failed and did not modify our file). od -t x1 $SCRATCH_MNT/foo6 # Test cloning the inline extent against a file which has no extents but # has a size not greater than bar's inline extent (30 < 50). # It should be possible to clone the inline extent from file bar into # this file. $XFS_IO_PROG -f -c "truncate 30" $SCRATCH_MNT/foo7 | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo7 # Reading the file should not fail. echo "File foo7 data after clone operation:" # Must have a size of 50 bytes, with all bytes having a value of 0xbb. od -t x1 $SCRATCH_MNT/foo7 # Test cloning the inline extent against a file which has a size not # greater than the size of bar's inline extent (20 < 50) but has # a prealloc extent that goes beyond the file's size. It should not be # possible to clone the inline extent from bar into this file. $XFS_IO_PROG -f -c "falloc -k 0 1M" \ -c "pwrite -S 0x88 0 20" \ $SCRATCH_MNT/foo8 | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo8 echo "File foo8 data after clone operation:" # Must have a size of 20 bytes, with all bytes having a value of 0x88 # (the clone operation did not modify our file). od -t x1 $SCRATCH_MNT/foo8 _scratch_unmount } echo -e "\nTesting without compression and without the no-holes feature...\n" test_cloning_inline_extents echo -e "\nTesting with compression and without the no-holes feature...\n" test_cloning_inline_extents "" "-o compress" echo -e "\nTesting without compression and with the no-holes feature...\n" test_cloning_inline_extents "-O no-holes" "" echo -e "\nTesting with compression and with the no-holes feature...\n" test_cloning_inline_extents "-O no-holes" "-o compress" status=0 exit Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 00a9e053da0b9e150b7f8fefa3c409d7e71ce48f Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Oct 9 09:55:29 2015 +0100 arm64: dts: apq8016-sbc: enable spi buses on LS and HS This patch enables spi buses on low speed and high speed expansion connectors on DB410C Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 7c6764b05217b2d679da4a84f69c607f3477b232 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Oct 9 09:55:21 2015 +0100 arm64: dts: apq8016-sbc: enable i2c buses on LS and HS This patch enables i2c buses on low speed and high speed expansion connectors on DB410C. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 7f5b09216831c7c138589c5f77dde7416e687130 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Oct 9 09:55:05 2015 +0100 arm64: dts: qcom: Add msm8916 I2C nodes. This patch adds missing support for i2c0 and i2c6, this support is required to connect the i2c slaves on LS expansion on DB410c. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit dce4f63b1208d061b7efdcf1780923c2d70ba386 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Oct 9 09:54:45 2015 +0100 arm64: dts: fix i2c pinconf sleep state function This patch fixes the i2c pinctrl sleep state by changing the pinconf function to be in gpio mode rather than i2c. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 5941c9bb9fc3c1327b7e7315903959cdff6e91c4 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Thu Oct 1 12:59:31 2015 +0300 arm64: dts: qcom: Enable eMMC on apq8016-sbc board Enable the eMMC on the APQ8016 SBC board (also known as DragonBoard 410c), so that we can use its internal storage. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 9f43020dc43e326203ce036ad19e6608ddb421f2 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Thu Aug 27 15:39:14 2015 -0500 arm64: dts: qcom: Add 8x16 Serial UART1 node This patch adds the nodes required to support the UART1 node on the MSM8916 and also fixes the sleep pins function for UART2. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit f6d24bf30c00e273276a3790c3c50d192f850788 Author: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Date: Tue Aug 25 18:37:42 2015 +0300 arm64: dts: qcom: Add RNG device tree node Adds rng device tree node for msm8916 SoCs. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 4b418bff3dae0c017126220df3e148ba8127e99a Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 13:54:38 2015 -0700 net: vrf: Documentation update, ip commands Add ip commands with examples for creating VRF devics, enslaving interfaces and dumping VRF-focused data (address, neighbors, routes). Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3643885aa8a3c7cff3ba3269337f39361d76f76 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Oct 12 01:19:07 2015 -0700 mISDN: use kstrdup() in dsp_pipeline_build Use kstrdup instead of strlen-kmalloc-strcpy. Remove unneeded NULL test, it will be tested inside kstrdup. Remove 0 length string test, it has been tested in the caller of dsp_pipeline_build. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bdc3d66147b3a623b32216a45431d0cff005f50 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Oct 13 17:12:54 2015 -0700 tcp/dccp: fix behavior of stale SYN_RECV request sockets When a TCP/DCCP listener is closed, its pending SYN_RECV request sockets become stale, meaning 3WHS can not complete. But current behavior is wrong : incoming packets finding such stale sockets are dropped. We need instead to cleanup the request socket and perform another lookup : - Incoming ACK will give a RST answer, - SYN rtx might find another listener if available. - We expedite cleanup of request sockets and old listener socket. Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6fc2171b249e73745c497b578b417a2946f1b2f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:15 2015 -0700 mtd: spi-nor: disable protection for Winbond flash at startup In case the flash was locked at boot time. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 357ca38d47519c1b90eebfe58e188dd299ee2cef Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:14 2015 -0700 mtd: spi-nor: support lock/unlock/is_locked for Winbond Many other flash share the same features as ST Micro. I've tested some Winbond flash, so add them. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5bf0e69b67a5600ea7ef178acd57606d1fc2c134 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:12 2015 -0700 mtd: spi-nor: add mtd_is_locked() support This enables ioctl(MEMISLOCKED). Status can now be reported in the mtdinfo or flash_lock utilities found in mtd-utils. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 62593cf40b23b523b9fc9334ca61ba6c595ebb09 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:11 2015 -0700 mtd: spi-nor: refactor block protection functions This code was a bit sloppy, would produce a lot of copy-and-paste, and did not always provide a sensible interface: * It didn't validate the length for LOCK and the offset for UNLOCK, so we were essentially discarding half of the user-supplied data and assuming what they wanted to lock/unlock * It didn't do very good error checking * It didn't make use of the fact that this operation works on power-of-two dimensions So, rewrite this to do proper bit arithmetic rather than a bunch of hard-coded condition tables. Now we have: * More comments on how this was derived * Notes on what is (and isn't) supported * A more exendible function, so we could add support for other protection ranges * More accurate locking - e.g., suppose the top quadrant is locked (75% to 100%); then in the following cases, case (a) will succeed but (b) will not (return -EINVAL): (a) user requests lock 3rd quadrant (50% to 75%) (b) user requests lock 3rd quadrant, minus a few blocks (e.g., 50% to 73%) Case (b) *should* fail, since we'd have to lock blocks that weren't requested. But the old implementation didn't know the difference and would lock the entire second half (50% to 100%) This refactoring work will also help enable the addition of mtd_is_locked() support and potentially the support of bottom boot protection (TB=1). Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f8900258906c3533b91e779e80f75ec80de816c0 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:10 2015 -0700 mtd: spi-nor: fixup kernel-doc for flash lock/unlock function pointers I got the names of these fields wrong. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f0d2448e9a76db8482e716a067ba5abc713ed981 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:09 2015 -0700 mtd: spi-nor: use SNOR_MFR_* instead of CFI_MFR_* No functional change, just cosmetic. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit db4745edb282766f6532d4b0f643c2348e450e25 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:08 2015 -0700 mtd: spi-nor: add SPI NOR manufacturer IDs These are often similar for CFI (parallel NOR) and for SPI NOR, but they aren't always the same, for various reasons (different namespaces, company acquisitions and renames, etc.). And some don't have CFI_MFR_* entries at all. So let's make a proper place to list the SPI NOR IDs, with all the SPI NOR specific assumptions and comments. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a8a16454edb364858a0a54e17acaeab329e7b47f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:07 2015 -0700 mtd: spi-nor: make bitfield constants more consistent These status bits use different ways of representing similar integer constants -- some are decimal, some are hex. Make them more consistent. At the same time, impose my own preference, since IMO it's clearer what these are when using the BIT() macro. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 801cf21bb5806e39c593bad76b257bba20eaf66f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:06 2015 -0700 mtd: spi-nor: make implicit <linux/bitops.h> dependency explicit We use BIT() in the header. No real problem for now, but it's better to be accurate. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5e3949f0ac5a81a1b06a5d972085cbf1aaf17508 Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 29 19:46:12 2015 +0300 ftrace: Remove redundant strsep in mod_callback By now there isn't any subcommand for mod. Before: sh$ echo '*:mod:ipv6:a' > set_ftrace_filter sh$ echo '*:mod:ipv6' > set_ftrace_filter had the same results, but now first will result in: sh$ echo '*:mod:ipv6:a' > set_ftrace_filter -bash: echo: write error: Invalid argument Also, I clarified ftrace_mod_callback code a little. Link: http://lkml.kernel.org/r/1443545176-3215-1-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> [ converted 'if (ret == 0)' to 'if (!ret)' ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit fa743d96e76c3c74aa379ba828f10119b87ff88c Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Fri Oct 2 15:27:57 2015 +0100 PM / AVS: rockchip-io: 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 <luisbg@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d439e64f22ce0eea681ae90c71f584d3a0145ded Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Sep 29 20:36:58 2015 -0700 PM / hibernate: fix a comment typo Just fix a typo in a function name in kerneldoc comments. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7420aa4fed8cc7f3f7d7cc89ea1028fddfdacac8 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Oct 13 09:58:02 2015 +0200 PM / Domains: Rename *pm_genpd_poweron|poweroff() This is another step to get consistent names of functions in genpd. Let's rename the internal *pm_genpd_poweron|poweroff() into *genpd_poweron|poweroff(). Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e625742f9c6e5d01b5c46efcc2870893735badf3 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Oct 13 10:57:13 2015 +0530 cpufreq: Drop redundant check for inactive policies We just made sure policy->cpu is online and this check will always fail as the policy is active. Drop it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1c5dd13459fe7caaeda82f7be878720c978d26f2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Oct 7 03:03:57 2015 +0200 input: i8042: Avoid resetting controller on system suspend/resume If the upcoming system suspend is not going to be handled by the platform firmware, like in the suspend-to-idle case, it is not necessary to reset the controller in i8042_pm_suspend(), so avoid doing that. Moreover, if the system resume currently in progress has not been started by the platform firmware, like in the suspend-to-idle case, i8042_controller_resume() need not be called by i8042_pm_resume(), so avoid doing that too in that case. Additionally, try to catch the event that woke up the system by calling the interrupt handler early during system resume if it has not been started by the platform firmware. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 58a1fbbb2ee873dd1fe327e80bc7b08e80866269 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Oct 7 00:50:24 2015 +0200 PM / PCI / ACPI: Kick devices that might have been reset by firmware There is a concern that if the platform firmware was involved in the system resume that's being completed, some devices might have been reset by it and if those devices had the power.direct_complete flag set during the preceding suspend transition, they may stay in a reset-power-on state indefinitely (until they are runtime-resumed and then suspended again). That may not be a big deal from the individual device's perspective, but if the system is an SoC, it may be prevented from entering deep SoC-wide low-power states on idle because of that. The devices that are most likely to be affected by this issue are PCI devices and ACPI-enumerated devices using the general ACPI PM domain, so to prevent it from happening for those devices, force a runtime resume for them if they have their power.direct_complete flags set and the platform firmware was involved in the resume transition currently in progress. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ef25ba0476015908ef5960f9faac149ddf34ede0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Oct 7 00:49:34 2015 +0200 PM / sleep: Add flags to indicate platform firmware involvement There are quite a few cases in which device drivers, bus types or even the PM core itself may benefit from knowing whether or not the platform firmware will be involved in the upcoming system power transition (during system suspend) or whether or not it was involved in it (during system resume). For this reason, introduce global system suspend flags that can be used by the platform code to expose that information for the benefit of the other parts of the kernel and make the ACPI core set them as appropriate. Users of the new flags will be added later. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c2df86ea924a8548f54ce90e46fdd6c9495119b2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Sep 30 02:44:29 2015 +0200 PM / sleep: Drop pm_request_idle() from pm_generic_complete() The pm_request_idle() in pm_generic_complete() is pointless as it is called with the runtime PM usage counter different from zero (bumped up by the core during the prepare phase of system suspend) and the core calls pm_runtime_put() for all devices after executing their complete callbacks, so drop it. This allows the PCI PM layer to use pm_generic_complete() too. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 04edde250c3753798475f0a4dc0275dd52f707bd Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 14:02:00 2015 +0200 ARM: dts: msm8974: fix typo in "disabled" property Replace "disable" by "disabled" in the Qualcomm MSM8974 dtsi Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 982afd8ba51153327c6d9dcacda6d0f3c5e2f5e2 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Jul 30 10:53:57 2015 -0700 ARM: dts: qcom-pm8941: Add charger node Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit adb9c60796dba2b2be83f75c7cec59cff11d94ad Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Jul 30 10:53:55 2015 -0700 dt-binding: power: Add Qualcomm SMBB binding Add the Qualcomm Switch-Mode Battery Charger and Boost device tree binding. Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 89c7e671289d142cff2cb0b98ef7c92de5deee03 Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Oct 1 14:56:02 2015 +0530 arm: dts: qcom: Add #power-domain-cells property clock controller nodes which also support power domains (gdscs') need to have a #power-domain-cells property. Add these for gcc and mmcc nodes of msm8974, gcc of apq8084 and msm8916. Also update gcc and mmcc bindings for it. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 8eb84480cc6df9f4b5cbce51e20d86e73f04575c Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:32:18 2015 +0100 ARM: dts: qs600: Add SD card detect support. This patch adds SD card detect support. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 2630a52fd5c996cfba775346ad5a218c4b7dc147 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:32:11 2015 +0100 ARM: dts: apq8064-ifc6410: add notify led support. This patch adds notify led support on IFC6410, whose trigger can be configured from userspace. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit f0b6d95062a6674a58e3aa0c19d170e9ab92e44f Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:32:05 2015 +0100 ARM: dts: qs600: add pwrseq support to WLAN Add pwrseq support to sdcc4 which would enable a proper reset of WLAN without ugly hacks in the board support file. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 03f00be5babcf0ac6747beedbe5fa73a3abd3cdb Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:59 2015 +0100 ARM: dts: ifc6410: Add pwrseq support for WLAN This patch adds pwrseq for WLAN which resets the WLAN just before the SDIO bus is up. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit be87cd0e80e20f5167f3a98613e8be65dfe19879 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:53 2015 +0100 ARM: dts: qs600: Add missing pinctrl property for gsbi7 uart This patch adds missing 2pin uart pinctrl property to gsbi7 uart on CM-QS600. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 17dbc5544e7650722c5715c63f2cf9be43ad144c Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:47 2015 +0100 ARM: dts: ifc6410: Add missing pinctrl to gsbi7 uart This patch adds missing 2pin uart pinctrl property to gsbi7 uart on IFC6410. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 892d6733b89ad11b0f7e939e6c6283163f859116 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:40 2015 +0100 ARM: dts: apq8064: add missing gsbi7 uart pinctrl This patch adds missing gsbi7 uart pinctrl, this is the default debug uart on most boards. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 7648c7bf33f2af8fd6f51f1c56d21b9ff9b2ee35 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:34 2015 +0100 ARM: dts: apq8064: Prefix the gsbi6 uart pins correctly Usage of generic names like "uart_pins" is confusing to the reader, given the fact that there could be more than one uart on APQ8064. This patch adds gsbi prefix to uart pinctrl nodes so as to avoid such confusion. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 3050c5f5afd409c299cfeba815b6f91753c4c112 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:25 2015 +0100 ARM: dts: apq8064: add pm8921 pwrkey support This patch adds support to pm8921 power button. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit bbf89b96d5c6ad60f500128df677522721cb0160 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:19 2015 +0100 ARM: dts: apq8064: add pm8921 rtc This patch adds rtc node for pmic8921. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 2c9c2e5abb3df12f12920f61a28e413ef9a86f56 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:30:59 2015 +0100 ARM: dts: qs600: remove unnecessary eeprom label This patch removes unnecessary eeprom label, which is not used anywhere in the board file. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit e28ce3cc988c39574b84109f4c3faea4fcb97e52 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:30:38 2015 +0100 ARM: dts: ifc6410: remove unnecessary eeprom label This patch removes unnecessary eeprom label, which is not used anywhere in the board file. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 0fbf6104e3ffbfd42f3f84d713f84f397641718e Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:30:13 2015 +0100 ARM: dts: apq8064: remove redundant i2c pinctrl properties This patch removes i2c pinctrl properties from board which which are now mentioned in the SOC specific file. This will avoid redundant properties across multiple board fiiles. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 9afbb3ba399f3539d03fe99620c0707acc69fd18 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Aug 26 12:35:04 2015 -0700 ARM: dts: qcom: Remove extra reg element from iadc device This doesn't match the binding, and the driver doesn't look to be using it. Remove the extra element. CC: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 26368fd7048f2c26d5263a932614351f04436be7 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Tue Oct 13 23:55:07 2015 +0300 Staging: skein: Remove NULL comparison Problem found using checkpatch.pl CHECK: Comparison to NULL could be written "key" Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05489e82f567ce524e4c0c406bdc7ddc61a41412 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 02:23:40 2015 +0530 Staging: wilc1000: wilc_wlan_cfg: Remove unnecessary cast Remove a cast which is not required. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a86f2a1b792ea6b8f21dd3448624f053ef1d6f6 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 02:02:11 2015 +0530 Staging: wilc1000: host_interface: Remove extra NULL test Remove a NULL test on variable hif_drv as it is already preceded by one. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b156f1ed160d621c1c6c7667c46948b4a061db91 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 13 23:07:00 2015 +0530 Staging: wilc1000: Use kzalloc instead of kmalloc and memset Replace kmalloc and memset with a single call to kzalloc. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c6c463ee96a8c357c43f66d391925e0aae1babb Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Oct 13 16:46:53 2015 -0400 "drivers/staging: mark android/ion fcns with EXPORT_SYMBOL for tristate In a recent change, we made a bool into a tristate in: "drivers/staging: make android tegra_ion.c properly tristate", since it was self evident that was the original intention. However on the final link phase we'll see an allmodconfig fail with: ERROR: "ion_device_add_heap" [drivers/staging/android/ion/tegra/tegra_ion.ko] undefined! ERROR: "ion_heap_create" [drivers/staging/android/ion/tegra/tegra_ion.ko] undefined! ERROR: "ion_device_create" [drivers/staging/android/ion/tegra/tegra_ion.ko] undefined! ERROR: "ion_heap_destroy" [drivers/staging/android/ion/tegra/tegra_ion.ko] undefined! ERROR: "ion_device_destroy" [drivers/staging/android/ion/tegra/tegra_ion.ko] undefined! Export the above using the non GPL specific export, since that is what the rest of the ion code base does. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Cc: linux-tegra@xxxxxxxxxxxxxxx Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 045016902bf7abeeb2a86fc9284c30dce228f055 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Oct 13 13:49:04 2015 -0700 soc: ti: qmss: make acc queue support optional in the driver acc channels are available only if accumulator PDSP is loaded and running in the SoC. As this requires firmware and user may not have firmware in the file system, make the accumulator queue support available in qmss driver optional. To use accumulator queus user needs to add firmware to the file system and boot up kernel. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 96ee19becc3bd7b2cebae5828c3eacfebb50b993 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Oct 13 13:49:04 2015 -0700 soc: ti: add firmware file name as part of the driver Currently firmware file name is included in the DTS. This is not scalable as user has to change the DTS if they need upgrade to a new firmware. Instead, add the firmware file name in the driver itself. As long as there is no API change, new firmware upgrade is easy and require no driver change. User is expected to copy the firmware image to the file system and add a sym link to the new firmware for doing an upgrade. Driver add a array of firmware file names to search for the available firmware blobs. This scheme also prepare the driver for future changes to API if ever happens. In such case it is assumed that driver needs to change to accommodate the new firmware and new firmware file name will get added to the array. Also update the DT document to remove the firmware attribute and add description about firmware in the driver documentation. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 29204a8272aae490a1dd252e48e55ca235c3959c Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Oct 13 13:49:04 2015 -0700 Documentation: dt: soc: Add description for knav qmss driver Add documentation for knav qmss driver. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 9d45708f5adb940432bc99325d67ddc813bc4b22 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Oct 13 13:42:43 2015 -0700 ARM: dts: keystone: enable accumulator channels Add low priority accumulator channel that can monitor multiple QMSS queues. User for example could use the accumular queue for Netcp Rx completion. While at it, also add an extra line end of each top level node in DTS to make it more readable. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit dc5fa4ec0dca38ed110e54e20e2f10701e04dfe5 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Oct 13 13:41:03 2015 -0700 Documentation: dt: keystone: Fix up missing quotes Add missing commits for the suggest compatible flags in dt binding. Fixes: 8841cbf666d6 ("Documentation: dt: keystone: provide SoC specific compatible flags") Reported-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit c2a06c38d92d044a69a3eae0138ab95ff0788030 Merge: 25cb62b 23b63f9 Author: NeilBrown <neilb@xxxxxxxx> Date: Wed Oct 14 07:09:52 2015 +1100 Merge branch 'md-next' of git://github.com/goldwynr/linux into for-next md-cluster: A better way for METADATA_UPDATED processing The processing of METADATA_UPDATED message is too simple and prone to errors. Besides, it would not update the internal data structures as required. This set of patches reads the superblock from one of the device of the MD and checks for changes in the in-memory data structures. If there is a change, it performs the necessary actions to keep the internal data structures as it would be in the primary node. An example is if a devices turns faulty. The algorithm is: 1. The initiator node marks the device as faulty and updates the superblock 2. The initiator node sends METADATA_UPDATED with an advisory device number to the rest of the nodes. 3. The receiving node on receiving the METADATA_UPDATED message 3.1 Reads the superblock 3.2 Detects a device has failed by comparing with memory structure 3.3 Calls the necessary functions to record the failure and get the device out of the active array. 3.4 Acknowledges the message. The patch series also fixes adding the disk which was impacted because of the changes. Patches can also be found at https://github.com/goldwynr/linux branch md-next Changes since V2: - Fix status synchrnoization after --add and --re-add operations - Included Guoqing's patches on endian correctness, zeroing cmsg etc - Restructure add_new_disk() and cancel() commit 7c748f5774cb74c6be49fc351007855c96dfb8a3 Author: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Date: Tue Oct 13 08:50:30 2015 +0200 mtd: spi-nor: Add support for s25fl004k Signed-off-by: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit aada20cd2b1af7181523e31231d46ff5a94989b0 Author: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Date: Tue Oct 13 08:51:14 2015 +0200 mtd: spi-nor: s25fl204k supports dual I/0 Signed-off-by: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 45aaeff947190e4b57b2d0db4d74ab5eea450825 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 11:22:18 2015 +0200 mtd: nand: pass page number to ecc->write_xxx() methods The ->read_xxx() methods are all passed the page number the NAND controller is supposed to read, but ->write_xxx() do not have such a parameter. This is a problem if we want to properly implement data scrambling/randomization in order to mitigate MLC sensibility to repeated pattern: to prevent bitflips in adjacent pages in the same block we need to avoid repeating the same pattern at the same offset in those pages, hence the randomizer/scrambler engine need to be passed the page value in order to adapt its seed accordingly. Moreover, adding the page parameter to the ->write_xxx() methods add some consistency to the current API. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> CC: Josh Wu <josh.wu@xxxxxxxxx> CC: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> CC: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> CC: Huang Shijie <shijie.huang@xxxxxxx> CC: Stefan Agner <stefan@xxxxxxxx> CC: devel@xxxxxxxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 693ad87205ce6ea4c5699e3d2413f644ad903177 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:09 2015 +0200 mtd: nand: txx9ndfmc: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 249eab698068f51c477c9ca55c59c8965025f1dd Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:51 2015 +0200 mtd: nand: jz4740_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 50c65c8ffa4fd08926e671f0c4d9702bfc29c4e2 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:46 2015 +0200 mtd: nand: fsl_upm: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6031a9c5e39121165617951c4dc337fed72c7bd5 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:06 2015 +0200 mtd: nand: socrates_nand: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 36645652ad2183130dfc5d4644a69aa2102faa14 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:44 2015 +0200 mtd: nand: fsl_elbc_nand: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 550dab5b357a6103571847d72cd23af069fb872b Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:01 2015 +0200 mtd: nand: pxa3xx_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e6c6c284e7344d4b9d262ceb91aea1ba2127fccb Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:48 2015 +0200 mtd: nand: gpio: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit efefcaee7610c0762c34123d121ef77f6e550214 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:14 2015 +0200 staging: mt29f_spinand: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, take advantage of the default owner and name values set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fd511e218c6a3272ce6a57be9c41e1bc09e37306 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:11 2015 +0200 mtd: onenand: omap2: drop owner and name assignment Owner and name are automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 40acbab6a7402ec89fac673bed6bbbc2b430d60e Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:03 2015 +0200 mtd: nand: s3c2410: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6393b3623340973c9f110060e435c7d42e299120 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:05 2015 +0200 mtd: nand: sharpsl: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 853f1c58c4b2a6f1ec81c335c82d0252b387ab1e Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:57 2015 +0200 mtd: nand: omap2: show parent device structure in sysfs Make sure the device structure is properly shown in sysfs by properly filling in dev.parent. While at it, make use of the default owner and name values set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 61344d074f4f924cf35aeee445568d9b7750d915 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:12 2015 +0200 mtd: onenand: samsung: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9f80f283ab13c2c055d6001f255cf857be695eb4 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:52 2015 +0200 mtd: nand: lpc32xx_mlc: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0033cf072735a80072c877559180288012f4426d Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:55 2015 +0200 mtd: nand: ndfc: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9e86508f3e538d13c879c7c48a5eecb0509aade6 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:59 2015 +0200 mtd: nand: pasemi_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5c5594c92d2300cc955acd5537e782fbf372caa2 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:54 2015 +0200 mtd: nand: mxc_nand: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fe003bc8311f3797b802361dbb6465e13dd43a7f Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:10 2015 +0200 mtd: onenand: generic: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, take advantage of the default owner and name values set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7b679053cd3348fb8efdd07ce39c4e2e2ad46620 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:08 2015 +0200 mtd: nand: tmio_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 611425d33763fba57a02c40ee286b0c7152903ea Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:07 2015 +0200 mtd: nand: sunxi_nand: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c4f7dc72e6a56d50e00b40f76be0119ce9abdeec Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:04 2015 +0200 mtd: nand: sh_flctl: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2eaac143aa6d433f92819acca1e62a337a73e0a3 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:02 2015 +0200 mtd: nand: r852: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f0aa200ceb4f1bce6826d1c24b5c416a6a8b9faf Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:00 2015 +0200 mtd: nand: plat_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner and name set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 84630994fab634baa0250fbd16537f74c8bdbb07 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:58 2015 +0200 mtd: nand: orion_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ae5d843826d147f81a8d5def8d630caae7ab8011 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:56 2015 +0200 mtd: nand: nuc900_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7829ab93f1c2334802d259a7e2a4e22a1fd03bd9 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:53 2015 +0200 mtd: nand: mpc5121_nfc: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 52364683d5dc4beec9ba61a3fb848821b5cb66c4 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:50 2015 +0200 mtd: nand: hisi504_nand: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 4dc67b1d507133a3d6e93c39993efb6af176d59b Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:49 2015 +0200 mtd: nand: gpmi-nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ddece7b6a6c0402430afe8819472e556e9ae8c75 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:47 2015 +0200 mtd: nand: fsmc_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a309c6be782ceb039f6a86fe8d577d9aab64c529 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:45 2015 +0200 mtd: nand: fsl_ifc_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0a1abe7961f1b90bb136157a302490da7d4fe47b Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:43 2015 +0200 mtd: nand: docg4: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fbe1a8bf125214807f1062707fc4097721c3c995 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:42 2015 +0200 mtd: nand: denali: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6a44d420b53e7ab742373bb0c3ee36e75c13faee Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:41 2015 +0200 mtd: nand: davinci_nand: drop owner and name assignment Owner and name are automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2f5997f13f9e98a9a468d803c6d74852bcef1d01 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:40 2015 +0200 mtd: nand: cafe_nand: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c7d5955c467c01221fc1ac4b15bba5f255e44454 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:39 2015 +0200 mtd: nand: bf5xx_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f2b80b43cb2dea346d5893797981b016dae7525 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:38 2015 +0200 mtd: nand: bcm47xxnflash: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e1cdd89f3f78f00f93311b913e8b64979fcd7498 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:37 2015 +0200 mtd: nand: au1550nd: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 03c287d21f52e0cb368d6577bd75db3cc9e42b0b Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:36 2015 +0200 mtd: nand: atmel_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 72169755cf36ce28bed83d6742d28ce4157f7538 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:35 2015 +0200 mtd: maps: sa1100-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Incidentally, it seems the owner field in the concatenated mtds is not actually used, so this shouldn't make much of a difference anyway. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9aa7e50276c17d0658f1035ffe3480085f2a7471 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:34 2015 +0200 mtd: maps: rbtx4939-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2451581f94e3f5c0e9d75ab5a59f3d5b0f557ca3 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:33 2015 +0200 mtd: maps: pxa2xx-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7f6b5dbfd8d95c200ac0de8e5f5842369eee3839 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:32 2015 +0200 mtd: maps: plat_ram: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0df415598ef6551070267b1d8c9dc63f4ac00117 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:31 2015 +0200 mtd: maps: physmap_of: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 201f230b23cb0252679038d9669af21a99f65614 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:30 2015 +0200 mtd: maps: physmap: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ab4a6b4938f74f66fae187fd9e5ba5fe8a7836c6 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:29 2015 +0200 mtd: maps: latch-addr-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c54c2fb783e2ae6636344de690891bc93c077530 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:28 2015 +0200 mtd: maps: lantiq-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e4e07db4ce50d97f14ed1f9bb10c3782cce5fe26 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:27 2015 +0200 mtd: maps: ixp4xx: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5e50a52eb954ca6c23b1d935b77ba75ec125352e Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:26 2015 +0200 mtd: maps: intel_vr_nor: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 28bc7406bd6d0e3fb50f29348bafcaa9e34fabf9 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:25 2015 +0200 mtd: maps: gpio-addr-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 50d3fb562561fcf5b745e71945834735d7386a1f Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Oct 13 20:48:21 2015 +0100 iommu/vt-d: Use plain writeq() for dmar_writeq() where available Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 3435dd08092934ee9672fc28a3ee4c2017741bd6 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 13:47:17 2015 +0300 x86/early_printk: Set __iomem address space for IO There are following warnings on unpatched code: arch/x86/kernel/early_printk.c:198:32: warning: incorrect type in initializer (different address spaces) arch/x86/kernel/early_printk.c:198:32: expected void [noderef] <asn:2>*vaddr arch/x86/kernel/early_printk.c:198:32: got unsigned int [usertype] *<noident> arch/x86/kernel/early_printk.c:205:32: warning: incorrect type in initializer (different address spaces) arch/x86/kernel/early_printk.c:205:32: expected void [noderef] <asn:2>*vaddr arch/x86/kernel/early_printk.c:205:32: got unsigned int [usertype] *<noident> Annotate it proper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444646837-42615-1-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 58f800d5ace99c49e6418cb5757d868f2746acb4 Merge: 1330a01 7391773 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Oct 13 21:32:50 2015 +0200 Merge branch 'kvm-master' into HEAD This merge brings in a couple important SMM fixes, which makes it easier to test latest KVM with unrestricted_guest=0 and to test the in-progress work on SMM support in the firmware. Conflicts: arch/x86/kvm/x86.c commit b97cecc7a61df121f2c1e350e09fc784a1706ef0 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 18:30:02 2015 +0000 ARM: socfpga_defconfig: enable fpga manager Enable fpga manager framework and low level driver for socfpga in socfpga_defconfig Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit b96b1db039ebc584d03a9933b279e0d3e704c528 Author: Robin Ruede <r.ruede@xxxxxxxxx> Date: Wed Sep 30 21:23:33 2015 +0200 btrfs: fix resending received snapshot with parent This fixes a regression introduced by 37b8d27d between v4.1 and v4.2. When a snapshot is received, its received_uuid is set to the original uuid of the subvolume. When that snapshot is then resent to a third filesystem, it's received_uuid is set to the second uuid instead of the original one. The same was true for the parent_uuid. This behaviour was partially changed in 37b8d27d, but in that patch only the parent_uuid was taken from the real original, not the uuid itself, causing the search for the parent to fail in the case below. This happens for example when trying to send a series of linked snapshots (e.g. created by snapper) from the backup file system back to the original one. The following commands reproduce the issue in v4.2.1 (no error in 4.1.6) # setup three test file systems for i in 1 2 3; do truncate -s 50M fs$i mkfs.btrfs fs$i mkdir $i mount fs$i $i done echo "content" > 1/testfile btrfs su snapshot -r 1/ 1/snap1 echo "changed content" > 1/testfile btrfs su snapshot -r 1/ 1/snap2 # works fine: btrfs send 1/snap1 | btrfs receive 2/ btrfs send -p 1/snap1 1/snap2 | btrfs receive 2/ # ERROR: could not find parent subvolume btrfs send 2/snap1 | btrfs receive 3/ btrfs send -p 2/snap1 2/snap2 | btrfs receive 3/ Signed-off-by: Robin Ruede <rruede+git@xxxxxxxxx> Fixes: 37b8d27de5d0 ("Btrfs: use received_uuid of parent during send") Cc: stable@xxxxxxxxxxxxxxx # v4.2+ Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Ed Tomlinson <edt@xxxxxx> commit d92ff4228c57cf781170562fda431163e9f72760 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Oct 10 22:48:59 2015 +0800 ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus" The DC5LDO regulator supplies VDD-CPUS, which is for the embedded controller in the A31 SoC. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6ea0d8d829094e1743f80435e0902119cc670847 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Oct 10 22:48:58 2015 +0800 ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators Now that we have axp22x.dtsi describing common axp22x hardware, use it and reference the nodes instead of declaring the whole tree. Also drop the "always-on" from the vdd-gpu regulator, since we don't support the GPU anyway. And add a regulator reference for cpu0. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 976d84fce6aa1e5bf92b8d06d69014ac45fd5fad Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Oct 10 22:48:56 2015 +0800 ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names The VDD-CPU and VDD-GPU regulators were incorrectly swapped. Fixes: bab03561224ba ("ARM: dts: sun6i: hummingbird: Add AXP221 regulator nodes") Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8a880ee6dab647b9acdced3d4d5bcdbafca78254 Author: Adam Sampson <ats@xxxxxxxxx> Date: Sat Oct 10 21:15:21 2015 +0100 ARM: dts: sun7i: Add regulator configuration for pcDuino v3 Nano The power configuration on this board is the same as the pcDuino v3. This will enable frequency/voltage scaling over the standard A20 operating points from 144 MHz to 960 MHz. Tested using cpufreq-ljt-stress-test on two pcDuino v3 Nano boards; also tested successfully with voltages reduced by 0.025 V. Signed-off-by: Adam Sampson <ats@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 39140480b66b49a6a0e7dadc4b9cd738395a8c4f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Oct 13 14:37:45 2015 +0200 ARM: dts: sun6i: Turn on gmac on Colombus We've everything we need to support the gmac on Colombus, turn it on. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 252b9af1dfa7c644f48819e27158b315f1ee2473 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Oct 13 14:35:48 2015 +0200 ARM: dts: sun8i: Make et-q8-v1.6.dts a symlink to q8-tablet.dts A33 Q8 tablets with the et-q8-v1.6 pcb will work fine with the generic q8-tablet.dts and given the many variants of PCBs found in Q8 tablets using such a specific dts name was a mistake in hindsight. We cannot just drop the et-q8-v1.6.dtb as existing u-boot configs may very well point to it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d8279bcebb28dcd30106e1597b62ba5c08d5df28 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Oct 13 14:35:47 2015 +0200 ARM: dts: sun8i: Make ippo-q8h-v*.dts a symlink to q8-tablet.dts A23 Q8 tablets with the ippo-q8h-v* pcb will work fine with the generic q8-tablet.dts and given the many variants of PCBs found in Q8 tablets using such a specific dts name was a mistake in hindsight. We cannot just drop the ippo-q8h-v*.dtb as existing u-boot configs may very well point to it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2eab04e9c1e5243565b0c098e7b55eeb71d3d97b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Oct 13 14:35:46 2015 +0200 ARM: dts: sun8i: Add sun8i-a23-q8-tablet.dts file This is a generic dts file for A23 based q8 formfactor tablets, this is intended to replace both sun8i-a23-ippo-q8h-v5.dts and sun8i-a23-ippo-q8h-v1.2.dts (these can be fully dropped after a transition period). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 307751ee3212df0d047b0e1a93ce21f2e511d1a1 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Mon Oct 12 13:30:23 2015 +0200 video: fbdev: add Marvell PXA LCD controller binding Add documentation for the PXA LCD controller devicetree binding. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Reviewed-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 62ebf931935964230d6fe39026bc5fbcfac330d3 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 14:43:24 2015 +0200 of/irq: fix guards for irq_of_parse_and_map prototype Since OF is now a userselectable config symbol, having OF=y but OF_IRQ=n is a valid combination for non-OF platforms, and OF=y does not guarantee anymore that OF_IRQ is enabled (or we are building for SPARC). Fixes the following build error with OF=y, IRQ_DOMAIN=n and SPI=y: drivers/built-in.o: In function `spi_register_master': (.text+0xc3ae): undefined reference to `irq_of_parse_and_map' Makefile:935: recipe for target 'vmlinux' failed make: *** [vmlinux] Error 1 Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 52493d446141b07c8ba28dd6a529513f8b2342bd Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 14:43:23 2015 +0200 of/irq: make of_irq_find_parent static of_irq_find_parent has no users outside of of_irq.c, so it does not make sense to expose it in of_irq.h. Therefore remove the prototype and dummy implmeentation and make the function static instead. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f9f9f11dcf0f3b757b282ce7cefea8696212a422 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 14:43:22 2015 +0200 of/irq: move of_msi_configure to the right guard and add a dummy of_msi_configure is part of of_irq.c, which is compiled in when OF_IRQ is enabled, not just OF. Also It is unconditionally called from of_platform_device_create_pdata, which does not depend on OF_IRQ, just OF_ADDRESS, so we need a dummy implementation in case of OF_ADDRESS=y but OF_IRQ=n. Fixes: c706c239 ("of/platform: Assign MSI domain to platform device") Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 6296ad9e3375c6c1ddbb371f589ba6a145bb31df Author: Stefan Agner <stefan@xxxxxxxx> Date: Sat Oct 10 01:29:30 2015 -0700 of/fdt: fix aliases with baudrate in earlycon Many boards use an alias in the stdout-path specification along with console options after a colon (e.g. serial0:115200n8). When using earlycon, this specification currently does not work. While fdt_path_offset supports alias resolution, it does not remove the console options by itself. Use the fdt_path_offset_namelen variant and provide the length of the alias to enable aliases with console options in the stdout-path. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 191b77c3615b77cf77bdbca95fd98f71c0f191ff Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Oct 13 16:44:06 2015 +0300 DT: ARM: pxa: Remove incorrect binding from documentation Remove "mrvl,lpss-ssp" property from documentation because LPSS SSP type is for certain Intel platforms. I believe commit a6e56c28a178 ("ARM: pxa: ssp: add DT bindings") added it by accident by copying all enum pxa_ssp_type types from include/linux/pxa2xx_ssp.h. Please note this was removed from arch/arm/plat-pxa/ssp.c by the commit b692cb83b14d ("ARM: pxa: ssp: Fix build error by removing originally incorrect DT binding"). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 88d5ec1656910102676c2907c40cc2c34a97e977 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 13:51:39 2015 +0200 drm: sti: fix typos in stih4xx binding Fix typos in the st,stih4xx binding, in particular replacing "pinctrl-name" by "pinctrl-names". Fix minor typos in the descriptions too. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f134f25162e7174ebe63f8aa16810192606eb826 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Thu Oct 8 10:24:26 2015 +0300 PCI: of: Ignore resources with failed translation This patch allows PCI host controller to function even if part of resources is unusable for some reason. An example is non-LPAE kernel on a machine which has some 64-bit resources. Unusable resources will be just skipped instead of a complete failure. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 4af971064977b00a437c1ed8ead8876db4e3b58a Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Thu Oct 8 10:24:25 2015 +0300 PCI: of: Add 64-bit address recognition without LPAE support If non-LPAE kernel is booted up on a machine with 64-bit PCI resources, PCI controller probe fails with: PCI host bridge /pcie@10000000 ranges: IO 0x3eff0000..0x3effffff -> 0x00000000 MEM 0x10000000..0x3efeffff -> 0x10000000 MEM 0x8000000000..0xffffffffff -> 0x8000000000 pci-host-generic 3f000000.pcie: resource collision: [mem 0x00000000-0xffffffff] conflicts with /pl011@9000000 [mem 0x09000000-0x09000fff] pci-host-generic: probe of 3f000000.pcie failed with error -16 This happens because res->start assignment in of_pci_range_to_resource() truncates the upper part of the address, because res->start is of phys_addr_t type, which is 32-bit on non-LPAE kernels. This patch adds explicit recognition of 64-bit resources, preventing from potential problems when e. g. 0x8000001234 would be converted to 0x00001234. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 145f48c518edb945ea5b689a1d21052597f9d64b Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Oct 13 15:18:21 2015 +0800 usb: misc: usbtest: add bulk queue test The bulk queue tests are used to show 'best performance' for bulk transfer, we are often asked this question by users. The implementation is the same with iso test, that is queue request at interrupt completion, so we reuse the iso structures, and rename them as common one. It's result should be very close to IC simulation, in order to get that, the device side should also need to prepare enough queue. We have got the 'best performance' (IN: 41MB, OUT: 39MB) at i.mx platform (USB2, ARM Cortex A9, stream mode need to enable) with below command: Host side: modprobe usbtest ./testusb -a -t 27 -g 64 -s 16384 ./testusb -a -t 28 -g 64 -s 16384 Gadget side: modprobe g_zero loopdefault=1 qlen=64 buflen=16384 Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Cc: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 44e4a60dacf8a96f28b5e021b54ba9eeb793ca2e Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Oct 12 11:23:27 2015 +0200 usb: dwc2: fix duplicate argument warning Fix a duplicate argument warning reported by 0-DAY kernel test infrastructure in the following patch: 77dbf71 usb: dwc2: host: add disconnect interrupt to host only interrupts Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8346aa765e14348b7b436825b3c4740895a2fe1a Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 10:57:25 2015 -0700 Revert "mm: Check if section present during memory block (un)registering" This reverts commit 7568fb63f57ac8672f8bf2018171255441238882 as it's already in Linus's tree through a different patch. Reported-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx #v3.15 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b626c77be5ecf34534a45bb2012f6ed0565a0a7 Author: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Date: Wed Oct 7 09:20:14 2015 +0200 staging: fbtft: access screen buffer directly In fbtft-bus.c:fbtft_write_vmem16_bus9(), ioread8() is used for accessing the provided screen array. Since screen_buffer actually points to an ordinary buffer, instead access it directly. Signed-off-by: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b6dc179dcf8e6fa023fb38a0b4fc456b90186f5 Author: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Date: Wed Oct 7 09:20:13 2015 +0200 staging: fbtft: use alternate screen pointer Member screen_base in struct fb_info is declared with __iomem qualifier causing sparse warnings when used as a regular ponter. To avoid the warnings, instead use alternate non-__iomem pointer, screen_buffer, troughout the driver. Signed-off-by: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17a7b0b4d9749f80d365d7baff5dec2f54b0e992 Author: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Date: Wed Oct 7 09:20:12 2015 +0200 fb.h: Provide alternate screen_base pointer Some drivers use member screen_base of struct fb_info to store non- __iomem pointers, creating the need for ugly __force typecasts to avoid sparse warnings. This adds an alternate pointer without the __iomem qualifyer for this use. Signed-off-by: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9f6806551c3b2f02fa8225582d731994a3f3fa2 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 7 22:15:46 2015 +0200 staging: fbtft: add support for C-Berry28 display This patch adds support for the C-Berry28, a small 2.8" color display with a resolution of 320x240 pixels from admatec for the Raspberry Pi. It uses the Sitronix ST7789V display controller along with a custom init sequence and custom gamma curves. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4c402ff3505be1cba62128b74998492566c35e6 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 7 22:15:45 2015 +0200 staging: fbtft: add support for ST7789V display controller This patch adds support for the Sitronix ST7789V display controller. The controller is intended for small color displays with a resolution of up to 320x240 pixels. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56b3152e5e8b0501ff9ef100b772df8ecb3efd82 Author: Anish Bhatt <anish@xxxxxxxxxx> Date: Mon Oct 12 21:02:36 2015 -0700 rtl8192u: BIT() macro cleanup Use the BIT(x) macro directly instead using multiple BITX defines. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb36cc282a9d9cc6c024010e7b65e88d1b088c54 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 18:03:25 2015 +0100 staging: comedi: comedidev.h: spaces preferred around that '*' Fix the checkpatch.pl issues: CHECK: spaces preferred around that '*' (ctx:VxV) Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 214e38421c330a1c9a16e65e071c86986cf3952d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 18:03:24 2015 +0100 staging: comedi: comedidev.h: add comments to spin-lock and mutex Fix the checkpatch.pl issues: CHECK: spinlock_t definition without comment CHECK: struct mutes definition withoug comment Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c3bea26ad3037924fd066c14fd391a69103dd63 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:29 2015 +0100 staging: comedi: check for more errors for zero-length read If the "read" file operation handler, `comedi_read()` is passed 0 for the amount to read, some error conditions are currently skipped and the function just returns 0. Change it to check those error conditions and return an error value if appropriate. The trickiest case is the check for when the previously set up asynchronous command has terminated with an error. In that case, `-EPIPE` is returned (as it is for a read of non-zero length) and the subdevice gets marked as non-busy. A zero-length read that returns 0 has no other effects, in particular, it does not cause the subdevice to be marked as non-busy, and the return value does not indicate an "end-of-file" condition. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39582847757ef79fb9de2661dd9297f1c988478d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:28 2015 +0100 staging: comedi: simplify returned errors for comedi_read() In order to perform a "read" file operation, an asynchronous COMEDI command in the "read" direction needs to have been set up by the current file object on the COMEDI "read" subdevice associated with the file object. If there is a "read" subdevice, but a command has not been set up by the file object (or is has been set-up in the wrong direction), `comedi_read()` currently returns one of two error values `-EINVAL` or `-EACCES`. `-EACCES` is returned if the command was set up by a different subdevice, or somewhat randomly, if a COMEDI "instruction" is currently being processed. `-EINVAL` is returned in other cases. Simplify it by returning `-EINVAL` for all these cases. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8ed75c0836ebc530f7fbf613bba75de3656b105 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:27 2015 +0100 staging: comedi: return error on "read" if no command set up The "read" file operation handler, `comedi_read()` returns an error for pretty much any condition that prevents a "read" going ahead. One of the conditions that prevents a "read" going ahead is that no asynchronous command has been set up, but that currently results in a return value of 0 (unless COMEDI instructions are being processed or an asynchronous command has been set up by a different file object). Change it to return `-EINVAL` in this case. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f84e27adfc4cb0c4aa97d830c43f8c82aca0547c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:26 2015 +0100 staging: comedi: remove superfluous retval = 0 in comedi_read() `comedi_read()` initializes `retval` to 0. The other `retval = 0` assignments are superfluous, so remove them. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42ea907d785d522e5ae661c3774b8a801ac7f00b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:25 2015 +0100 staging: comedi: allow buffer wraparound in comedi_read() `comedi_read()` copies data from the acquisition data buffer, which is cyclic, to the user buffer using a single call to `copy_to_user()`. It currently avoids having to deal with wraparound of the cyclic buffer by limiting the amount it copies (and the amount returned to the user). Change it to deal with the wraparound using two calls to `copy_to_user()` if necessary. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ea939284d3ebde02d5b46d50406c2b7faae1214 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:24 2015 +0100 staging: comedi: avoid bad truncation of a size_t in comedi_read() At one point in `comedi_read()`, the variable `n` gets assigned to the minimum of the parameter `nbytes` and the amount of readable buffer space `m`. The way that is done currently is unsafe in the unlikely case that `nbytes` exceeds `UINT_MAX`, so fix it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76e8e7d4ffb3300217b62637183282a5225d7394 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:23 2015 +0100 staging: comedi: make some variables unsigned in comedi_read() In `comedi_read()`, the `n` and `m` variables are of type `int`. Change them to `unsigned int` as they are used to measure a positive number of bytes. The `count` variable is also of type `int` and holds the returned number of bytes. Change it to type `ssize_t` to match the function's return type. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd060c8f4c93ee564510aa86724d27dca31b9e2a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:22 2015 +0100 staging: comedi: do extra checks for becoming non-busy for "read" `comedi_read()` is the handler for the "read" file operation for COMEDI devices. It mostly runs without using the main mutex of the COMEDI device, but uses the `attach_lock` rwsemaphore to protect against the COMEDI device becoming "detached". A file object can read data resulting from a COMEDI asynchonous command if it initiated the command. The COMEDI subdevice is marked as busy when the command is started. At some point, the "read" handler detects that the command has terminated and all available data has been read and so marks the subdevice as non-busy. In order to mark the subdevice as non-busy, the "read" handler needs to release the `attach_lock` rwsemaphore and `acquire the main `mutex`. There is a vulnerable point between the two, so it checks that the device is still attached after acquiring the mutex. However, it does not currently check that the conditions for becoming non-busy still hold. Add some more checks that the subdevice is still busy with a command initiated by the same file object, that command is in the correct direction (in case the subdevice supports both "read" and "write"), that command has terminated, and has no data available to be read. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09d6b9a9ddbbdbf4e45f553fa4405aeacfd12e47 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:21 2015 +0100 staging: comedi: don't consider "unmunged" data when becoming non-busy If an asynchronous "read" command is no longer running but the subdevice is still busy, it becomes non-busy once there is no more data available in the buffer. Some or all of the data written to the buffer might not have been "munged" yet, and it cannot be read until it has been munged by the writer. However, since the command is no longer running, we cannot expect any remaining unmunged data to get munged so we should ignore it. Call `comedi_buf_read_n_available()` to check the amount of munged data available to be read, replacing the call to `comedi_buf_n_bytes_ready()` which checked the amount of written (but possibly not yet munged) data available to be read. This affects both the "read" file operation (done in `comedi_read()`) and the `COMEDI_BUFINFO` ioctl handling (done in `do_bufinfo_ioctl()`). (The latter is used when data is transferred directly through the mmapped buffer instead of via the "read" file operation.) Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 970679b04c4b2ae8aaede98e214449eb3e6e6b06 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:20 2015 +0100 staging: comedi: remain busy until read end-of-file If a COMEDI subdevice is busy handling an asynchronous command in the "read" direction, then after the command has terminated itself, the "read" file operation handler, `comedi_read()` should keep the subdevice busy until all available data has been read and it has returned 0 to indicate an "end-of-file" condition. Currently, it has a bug where it can mark the subdevice as non-busy even when returning a non-zero count. The bug is slightly hidden because the next "read" will return 0 because the subdevice is no longer busy. Fix it by checking the return count is 0 before deciding to mark the subdevice as non-busy. The call to `comedi_is_subdevice_idle()` is superfluous as the `become_nonbusy` variable will have been set to `true` when considering becoming non-busy. Strictly speaking, checking the return count is superfluous too, as `become_nonbusy` doesn't get set to `true` unless the count is 0, but check the return count anyway to make the intention clearer. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5eb3a742109015cd794e536fe0968197b917e05 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:52 2015 +0100 staging: comedi: don't use mutex when polling file The main mutex in a comedi device can get held for quite a while when processing comedi instructions, so for performance reasons, the "read" and "write" file operations do not use it; they use use the `attach_lock` rwsemaphore to protect against the comedi device becoming detached at an inopportune moment. Do the same for the "poll" file operation. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3834234f99a07d1a84918cb15e9431420c5405f4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:51 2015 +0100 staging: comedi: check command started by file being polled Currently, the "poll" file operation checks if an asynchronous "read" (or "write" command is active on the "read" (or "write" subdevice, but does not consider whether the command was started from the file object being polled. Since that is the only file object able to read (or write) data, take it into consideration. With this change, if no read (or write) command is running on the subdevice, or it is started by a different file object, the file object is marked as readable (or writeable) regardless, but the read (or write) file operation will return an error. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecf04ed34d65b735bbdfa9ae8ea378ffc0faa9f6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:50 2015 +0100 staging: comedi: don't allocate buffer space when polling for write When handling the "poll" file operation and checking for `POLLOUT`, don't allocate space from the buffer for writing, just check that space is available for writing. That check is done after checking that an asynchronous "write" command is running on the subdevice. Allocating the buffer space before checking a "write" command is running can cause problems if the subdevice supports commands in either direction and currently has an active "read" command. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 432fbde739583140c7ee937910786a9d740804c9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:49 2015 +0100 staging: comedi: add new comedi_buf_write_n_available() Add a new function `comedi_buf_write_n_available()` to return the amount of buffer space available for writing, including space already allocated by `comedi_buf_write_alloc()` plus any unallocated space available. This is currently just for internal use by the comedi core, so is not exported. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 274ec5ee5478f1757ba083e366d9490dfaa6bd2f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:48 2015 +0100 staging: comedi: rename comedi_buf_write_n_available Rename the local function `comedi_buf_write_n_available()` to `comedi_buf_write_n_unalloc()`. It is the amount of unallocated space available in the buffer that is available to be allocated for writing and does not include the space that has already been allocated for writing. This is unlike the exported function `comedi_buf_read_n_available()` which includes the space available to be allocated for reading plus the space already allocated for reading. The new name breaks the unintentional naming symmetry (and also clears the way for the old name to be reused for a new function). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 322146d5d485cddb93761bd2593fbc932399b0a1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:47 2015 +0100 staging: comedi: don't poll_wait on same subdevice twice Comedi subdevices that support asynchronous acquisition commands have a wait queue head used for blocking reads or writes and for the poll file operation. The comedi device may have several subdevices that support "read" and/or "write" commands, but each open file object has at most one "read" subdevice and one "write" subdevice. It's possible (though rare) for those to be the same subdevice if the subdevice supports commands in either direction. In that case, the "poll" file operation doesn't really need to do a `poll_wait()` on the same subdevice twice. Although harmless, it wastes a poll table entry. Check for that, and avoid it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 944fd0c92ab7642dd027c1dac0cfb7199904a56d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:11 2015 -0700 staging: comedi: cb_das16_cs: rename private data member 'status[12]' For aesthetics, rename these private data members to match the registers they are associated with. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9d8e8d4c4e869b321f1ddf0349144773c059de8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:10 2015 -0700 staging: comedi: cb_das16_cs: mode analog output comment For aesthetics, move this comment to follow the format of the other subdevices. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b93c2862b95d4c4021aeaf6c18b89e11e245ebab Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:09 2015 -0700 staging: comedi: cb_das16_cs: the DAC16/16-AO only has 4 digital I/O The PC-CARD DAS16/16-AO board only has 4 digital I/O channels. The other boards supported by this driver have 8. Add the boardinfo to correctly initialize the subdevice. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c34f202ba32c1ef10b36b61c1ca236120b8cc4b3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:08 2015 -0700 staging: comedi: cb_das16_cs: hookup 8254 counter subdevice The hardware has an 8254 counter/timer to provide a pacer clock using counters 1 and 2. Counter 0 is available to the user. Hook up the subdevice support to allow the user to use counter 0. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 090b82a3a7bfc192d01ff8910485757db65b858f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:07 2015 -0700 staging: comedi: cb_das16_cs: tidy up analog input subdevice init This driver currently code not support async commands. Remove the SDF_CMD_READ subdev_flag and len_chanlist initialization from the subdevice init. For aesthetics, rename the (*insn_read) function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1dbe3884bbd041a4a9657df0de9d558e8335a3b6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:06 2015 -0700 staging: comedi: cb_das16_cs: refactor 'n_ao_chans' boardinfo Only one of the boards supported by this driver has analog outputs. For aesthetics, change the 'n_ao_chans' member of the boardinfo into a bit-field flag 'has_ao'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f2e618c3bd58d6d54e25564b25d18a7a332bd0a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:05 2015 -0700 staging: comedi: cb_das16_cs: define the misc1 and misc2 register bits Define the bits in these registers and use them to remove the "magic" values in 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 95ea3e760ef8e0c2171025429f989cf44075a91f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:04 2015 -0700 staging: comedi: cb_das16_cs: fix ai mux register programming The ai mux register is used program the hi/lo channels in a scan. According to the user manual, the hi and lo channels should be the same to sample one channel. Introduce some macros to set the appropriate bits in the ai mux register and fix the ai (*insn_read). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2845efb967ed9d1e430675ff67b2129a20bfedac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:03 2015 -0700 staging: comedi: cb_das16_cs: rename register map defines For aesthetics, add _REG to all the register map offsets and convert the values to hex. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ae49e273272245e28b0b205a54c4a88f84944ca Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:02 2015 -0700 staging: comedi: cb_das16_cs: tidy up multi-line comments Reformat 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 9f4d30ddfa4acbb1c255375c9fd2357cd7b8d6b2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:38 2015 -0700 staging: comedi: aio_aio12_8: tidy up digital I/O subdevice init For aesthetics, move and reword the comment to follow the format of the other subdevices. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> CC: Ian Abbott <abbotti@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbea1876dc8da6fba445d69cfda56c955c9714a8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:37 2015 -0700 staging: comedi: aio_aio12_8: rename 'aio_ao12_8' boardinfo This board name is incorrect. The proper name is 104-AO12-4. Change the boardinfo name to 'aio_aio12_4' to follow the format of the other boardtypes. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db70e3934c02c76f85c128e01585d8b6a8fbe61 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:36 2015 -0700 staging: comedi: aio_aio12_8: refactor boardininfo This driver supports three board types with these differences: 104-AIO12-8 - eight 12-bit analog in, four 12-bit analog out 104-AI12-8 - eight 12-bit analog in 104-AO12-4 - four 12-bit analog out Convert the boardinfo 'ai_nchan' and 'ao_nchan' into bit-field flags 'has_ai' and 'has_ao' so 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 ee4c7709fbb29860c3200b1296a18adff01d2307 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:35 2015 -0700 staging: comedi: aio_aio12_8: fix ai (*insn_read) According to the user manual, analog input bipolar data is 2's complement and unipolar is straight binry. Use the core helpers to munge the data appropriately. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1198f6b09f05e1aef96e59c6af359dffa6d926e1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:34 2015 -0700 staging: comedi: aio_aio12_8: analog outputs are single-ended The analog outputs are all single-ended. Remove the SDF_DIFF subdev_flag from the 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 c5fcb7cabc52dfc38ff4b31abc7aac11b54f6bd7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:33 2015 -0700 staging: comedi: aio_aio12_8: move comedi_lrange definition For aesthetics, move the comedi_lrange definition used in this driver to the follow the norm in comedi drivers and rename the variable. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffe4a3173916b7639bd06f61355e14d202ad471f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:32 2015 -0700 staging: comedi: aio_aio12_8: hookup 8254 counter/timer This board has an industry-standard 8254 chip with the gate, clock, and output pins for each counter available on the connector. Hookup the 8254 counter as a comedi subdevice. Provice an (*insn_config) for the user to query the clock source for each channel. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 180480ed410645d0e9ed0ba03b914a7a9aab6b3a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:31 2015 -0700 staging: comedi: aio_aio12_8: update MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "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 471c5d6ccf0ddab58bdf6b5ff72bd71897e2f591 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:30 2015 -0700 staging: comedi: aio_aio12_8: tidy up multi-line comments Reformat 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 4dc4f282070b958e599ed4c6f27078fae78605c7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:29 2015 -0700 staging: comedi: aio_aio12_8: prefer using the BIT macro As suggested by checkpatch.pl, 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 fff5b04fdf238a82fa1dce0d31eeea133b3e580a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:35 2015 -0700 staging: comedi: adv_pci1710: rename private data member 'ai_et_MuxVal' Rename thie CamelCase member of the private data. Add a comment in the interrupt handler to clarify why the channel interval is updated again. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c9b7733958fb861c3df7d56481c8e97613088d3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:34 2015 -0700 staging: comedi: adv_pci1710: tidy up PCI1720_* register defines The PCI-1720 board is supported by this driver but uses a different register map. For aesthetics, rename the defines to match the PCI171X_* format. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39363d061d87d434dc0f597b97e3afd01fe3ca49 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:33 2015 -0700 staging: comedi: adv_pci1710: tidy up remaining PCI171x_* registers Rename these CamelCase defines. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fcce6e2d20b9569b3cb09dda132c8fbeec96072 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:32 2015 -0700 staging: comedi: adv_pci1710: tidy up control register and bits Rename the CamelCase and use the BIT macro to define the bits. Also, rename the associated CamelCase members 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 d67e50feb6bde9082bc098e2b02b7ee1c87747f7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:31 2015 -0700 staging: comedi: adv_pci1710: tidy up status register and bits Rename the CamelCase and 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 a82853304021435f57698ea88cb5ca03fe010aeb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:30 2015 -0700 staging: comedi: adv_pci1710: tidy up multi-line comments Reformat the multi-line comments in the kernel CodingStyle. And refactor them to follow the normal format for comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64a4e72eabd4199d6897f8b1366479b1b8152228 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:42:32 2015 -0700 staging: comedi: adl_pci9111: fix alignment issue Use a local variable for the 'devpriv->ai_bounce_buffer' to shorten the lines in pci9111_handle_fifo_half_full() and gix the checkpath.pl issue about: CHECK: Alignment should match open parenthesis Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0756f8d778205376811653e61ea02749a382b217 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:42:31 2015 -0700 staging: comedi: adl_pci9111: rename CamelCase parameters Rename the CamelCase parameters of plx9050_interrupt_control(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 262a07acc6261a2ca2644b37e8392717cb66ddcb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:42:30 2015 -0700 staging: comedi: adl_pci9111: tidy up multi-line comments Reformat the multi-line comments in the kernel CodingStyle. Remove the unnecessary CHANGELOG information, git provided this better. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68e412987c1c0a277175e2728958446bde8b305f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:42:29 2015 -0700 staging: comedi: adl_pci9111: define a macro for the ai range bits For aesthetics, define a macro to set the analog input range bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8d863cbba81eade976368d8c8b96d19210823a5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:42:28 2015 -0700 staging: comedi: adl_pci9111: prefer using the BIT macro As suggested by checkpatch.pl, 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 c9f6bb961d7afefc238f0e420eb40a155ee9a6e8 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 16:03:42 2015 +0300 staging: lustre: add a blank line after function/struct/union/enum declarations Fixes checkpatch.pl CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations The patch is generated using checkpatch.pl --fix-inplace: for f in $(find drivers/staging/lustre/ -type f) ; do ./scripts/checkpatch.pl --types "LINE_SPACING" --fix-inplace -f $f done Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 106495c41fb24901bd1c192373c3085961378297 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 16:03:41 2015 +0300 staging: lustre: remove multiple blank lines Fixes checkpatch.pl CHECK:LINE_SPACING: Please don't use multiple blank lines. The patch is generated using checkpatch.pl --fix-inplace: for f in $(find drivers/staging/lustre/ -type f) ; do ./scripts/checkpatch.pl --types "LINE_SPACING" --test-only=multiple \ --fix-inplace -f $f done Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50ffcb7edca4e2f6e2204058b78cadd3d1a2e04f Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 16:03:40 2015 +0300 staging: lustre: add missing blank line after declarations Fixes checkpatch.pl WARNING:LINE_SPACING: Missing a blank line after declarations. The patch is generated using checkpatch.pl --fix-inplace: for f in $(find drivers/staging/lustre/ -type f) ; do ./scripts/checkpatch.pl --types "LINE_SPACING" --test-only=Missing \ --fix-inplace -f $f done Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fd624b37da50ba0c63bb153cfd6e1b97b83cc4a Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Oct 13 19:09:21 2015 +0200 Staging: rtl8723au: Use snprintf instead rsprintf Macro rsprintf is useless, remove it and use existing function snprintf instead. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9faa310f2b813bad7682120d37ac760db14eec93 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Oct 13 19:08:03 2015 +0200 Staging: comedi: dt9812: Use mutex instead of semaphore Replace binary semaphore with mutex. Mutex also gives better performance than semaphore. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c29722158c29cb5aad60108268cb8649a171c876 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 13 22:20:28 2015 +0530 Staging: lustre: lov: Remove unused #include header file Remove lclient.h header since it is not used. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 246ed517ebc90469b7f399e12017a4121b6ec2cc Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 13 21:07:49 2015 +0530 Staging: most: Remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the Coccinelle semantic patch that makes this change is as follows: // <smpl> @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // </smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a1d9489e92a4dd93f6f070aa7e9062beed94c69 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 13 21:07:48 2015 +0530 Staging: iio: Remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the Coccinelle semantic patch that makes this change is as follows: // <smpl> @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // </smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30cc9bd64c67c9b1f70a2779302da2ac05335d47 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 13 21:07:47 2015 +0530 Staging: comedi: Remove exceptional & on function name n this file, function names are otherwise used as pointers without &. A simplified version of the Coccinelle semantic patch that makes this change is as follows: // <smpl> @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // </smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 634ffdd9ef91b1a6252347276bed77d3d73b0b9a Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 13 18:51:10 2015 +0530 staging: lustre: llite: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e127cbb06d6e8aee93e298c39ae2caa33a5eef3 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 13 18:50:18 2015 +0530 staging: lustre: llite: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ee8291a2622388c3b732614eb8c4c61a1bdd4dd Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Tue Oct 13 17:04:48 2015 +0530 Staging: wilc1000: wilc_wlan: Remove unnecessary cast Remove cast which is not required. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bd7e5668644424cb70be79ecde4033e1ae123a2 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Tue Oct 13 15:18:38 2015 +0530 Staging: wilc1000: wilc_wfi_cfgoperations: Remove unused code Remove the declaration, initialization and statement having a variable that is not used anywhere in the code. Semantic patch used: @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84e4214f0868ae77771837d0ed4cc6eff10738ba Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Oct 13 10:00:53 2015 -0700 f2fs: relocate the tracepoint for background_gc Once f2fs_gc is done, wait_ms is changed once more. So, its tracepoint would be located after it. Reported-by: He YunLei <heyunlei@xxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3bffac68bfd76f1e94e0c6efff143ace80f90c0b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:11 2015 +0900 staging: wilc1000: rename u32Length of struct rcvd_net_info This patch renames u32Length of struct rcvd_net_info to len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b021b80b426069b7d599e246c32ac1b326681964 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:10 2015 +0900 staging: wilc1000: rename pu8Buffer of struct rcvd_net_info This patch renames pu8Buffer of struct rcvd_net_info to buffer to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78675be5a2858e9c6ca33f0f78e140ef8a45a67d Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:09 2015 +0900 staging: wilc1000: rename au8IPAddr of struct set_ip_addr This patch renames au8IPAddr of struct set_ip_addr to ip_addr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 937918ff160d8102a6c54897231c32ed2efc2b0f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:08 2015 +0900 staging: wilc1000: rename u32Timeout of struct power_mgmt_param This patch renames u32Timeout of struct power_mgmt_param to timeout to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33c70c1b39ad9f8bda41eadf0babf086ee136ca4 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:07 2015 +0900 staging: wilc1000: rename bIsEnabled of struct power_mgmt_param This patch renames bIsEnabled of struct power_mgmt_param to enabled to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4839d39b401e783bab57388341d82500662d5b7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:06 2015 +0900 staging: wilc1000: rename au8MacAddr of struct del_sta This patch renames au8MacAddr of struct del_sta to mac_addr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adab2f715b8b5aa9238206f48b2c9e156cd2907b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:05 2015 +0900 staging: wilc1000: rename u32count of struct set_multicast This patch renames u32count of struct set_multicast to cnt to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bae636eb5a5cb52b67753bd89dc2887cc582f58b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:04 2015 +0900 staging: wilc1000: rename bIsEnabled of struct set_multicast This patch renames bIsEnabled of struct set_multicast to enabled to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7a46c818564329f977f8fa157b5e9e1d0d83012 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:45 2015 +0100 irqdomain: Documentation updates Update the IRQ domain documentation to reflect the changes made while divorcing the domain infrastructure from Device Tree. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-18-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit be5436c83ac8921f33fe07323fab03c6644ce52e Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:44 2015 +0100 irqdomain/msi: Use fwnode instead of of_node As we continue to push of_node towards the outskirts of irq domains, let's start tackling the case of msi_create_irq_domain and its little friends. This has limited impact in both PCI/MSI, platform MSI, and a few drivers. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-17-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2a5e9a072da6469a37d1f0b1577416f51223c280 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:43 2015 +0100 irqdomain: Introduce irq_domain_create_hierarchy As we're about to start converting the various MSI layers to use fwnode_handle instead of device_node, add irq_domain_create_hierarchy as a directly equivalent of irq_domain_add_hierarchy (which still exists as a compatibility interface). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-16-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 462e4fc793b1071dee7c15680218a001318060c5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:42 2015 +0100 acpi/gsi: Cleanup acpi_register_gsi As the only user of drivers/acpi/gsi.c is now using acpi_set_irq_model to set acpi_gsi_domain_id to something meaningful, we can always rely on that information to be present (its absence is an error), and guarantee that new interrupt controllers will use this API. Take this opportunity to cleanup acpi_register_gsi. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-15-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 18bd8847cdd4dac3276ae9973739c570ce37e0b7 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:41 2015 +0100 irqchip/gic: Kill the xlate method We are now left with only two use models for the GIC driver: - Via a firmware interface, which mandates a hierarchical domain, and the use of the 'translate' method - The legacy platforms, which assume irq==hwirq, hence not using the 'xlate' method. The logical conclusion is that we can now nuke the 'xlate' method altogether. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-14-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 891ae7694f862c3605d037066e15ca128faa95d5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:40 2015 +0100 irqchip/gic: Switch ACPI support to stacked domains Now that the basic ACPI GSI code is irq domain aware, make sure that the ACPI support in the GIC doesn't pointlessly deviate from the DT path. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-13-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e81a7cd96bd55bb57d92486c514b7b8f8c8cd8ce Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:39 2015 +0100 irqchip/gic: Get rid of gic_init_bases() Since nobody is using gic_init_bases anymore outside of the GIC driver itself, let's do a bit of housekeeping and remove the now useless entry point. Only gic_init() is now exposed to the rest of the kernel for the benefit of legacy systems. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-12-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2bc6eba4a322e70eac8cde76442c4ac90699fb39 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:38 2015 +0100 acpi/gsi: Add acpi_set_irq_model to initialize the GSI layer In order to start embrassing irqdomains at the GSI level, introduce a new initializer: void acpi_set_irq_model(enum acpi_irq_model_id model, struct fwnode_handle *fwnode); where: - model is the value assigned to acpi_irq_model - fwnode is the identifier for the irqdomain mapping GSI interrupts As nobody calls this code yet, the current code is (mostly) left in place. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-11-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d7f8504d234450bf10bb2eb2d4565d6e9af78e5c Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:37 2015 +0100 acpi/gsi: Always perform an irq domain lookup Instead of directly passing NULL to the various irq_domain functions, start by looking up the domain with a domain identifier.. As this identifier is permanently set to NULL, the lookup function will return the same value (no domain found) and the default will be used, preserving the current behaviour. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-10-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b145dcc45a6af0abfcf9b4de8006d40559c50fc6 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:36 2015 +0100 irqdomain: Add a fwnode_handle allocator In order to be able to reference an irqdomain from ACPI, we need to be able to create an identifier, which is usually a struct device_node. This device node does't really fit the ACPI infrastructure, so we cunningly allocate a new structure containing a fwnode_handle, and return that. This structure doesn't really point to a device (interrupt controllers are not "real" devices in Linux), but as we cannot really deny that they exist, we create them with a new fwnode_type (FWNODE_IRQCHIP). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-9-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1bf4ddc46c5d6123897a54cea4ffe3e90f30600b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:35 2015 +0100 irqdomain: Introduce irq_domain_create_{linear, tree} Just like we have irq_domain_add_{linear,tree} to create a irq domain identified by an of_node, introduce irq_domain_create_{linear,tree} that do the same thing, except that they take a struct fwnode_handle. Existing functions get rewritten in terms of the new ones so that everything keeps working as before (and __irq_domain_add is now fwnode_handle based as well). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-8-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c0131f09de8c2d301814cac86d78f643b8ee0574 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:34 2015 +0100 irqdomain: Introduce irq_create_fwspec_mapping Just like we have irq_create_of_mapping, irq_create_fwspec_mapping creates a IRQ domain mapping for an interrupt described in a struct irq_fwspec. irq_create_of_mapping gets rewritten in terms of the new function, and the hack we introduced before gets removed (now that no stacked irqchip uses of_phandle_args anymore). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-7-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f833f57ff25450b7161798dceaf8575a48d80249 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:33 2015 +0100 irqchip: Convert all alloc/xlate users from of_node to fwnode Since we now have a generic data structure to express an interrupt specifier, convert all hierarchical irqchips that are OF based to use a fwnode_handle as part of their alloc and xlate (which becomes translate) callbacks. As most of these drivers have dependencies (they exchange IRQ specifiers), change them all in a single, massive patch... Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-6-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 11e4438ee330fab0f216ee7cc1b651cb2ddceb5d Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:32 2015 +0100 irqdomain: Introduce a firmware-specific IRQ specifier structure So far the closest thing to a generic IRQ specifier structure is of_phandle_args, which happens to be pretty OF specific (the of_node pointer in there is quite annoying). Let's introduce 'struct irq_fwspec' that can be used in place of of_phandle_args for OF, but also for other firmware implementations (that'd be ACPI). This is used together with a new 'translate' method that is the pendent of 'xlate'. We convert irq_create_of_mapping to use this new structure (with a small hack that will be removed later). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 130b8c6c8d86075304952241bf2365cea6489df1 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:31 2015 +0100 irqdomain: Allow irq domain lookup by fwnode So far, our irq domains are still looked up by device node. Let's change this and allow a domain to be looked up using a fwnode_handle pointer. The existing interfaces are preserved with a couple of helpers. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f110711a6053f08731858aa91420104094188973 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:30 2015 +0100 irqdomain: Convert irqdomain-%3Eof_node to fwnode Now that we have everyone accessing the of_node field via the irq_domain_get_of_node accessor, it is pretty easy to swap it for a pointer to a fwnode_handle. This translates into a few limited changes in __irq_domain_add, and an updated irq_domain_get_of_node. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5d4c9bc7767bc86eb9a0e66df783e3fbada7dc97 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:29 2015 +0100 irqdomain: Use irq_domain_get_of_node() instead of direct field access The struct irq_domain contains a "struct device_node *" field (of_node) that is almost the only link between the irqdomain and the device tree infrastructure. In order to prepare for the removal of that field, convert all users to use irq_domain_get_of_node() instead. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e50226b4b86755e65aef2129e94d952fee3df722 Merge: e984977 25cb62b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Oct 13 19:00:14 2015 +0200 Merge branch 'linus' into irq/core Bring in upstream updates for patches which depend on them commit 8ba1803ff5c9488593d71317d2b3da41e89fab66 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:10 2015 +0900 staging: wilc1000: rename u8Num_AssocSta of struct del_all_sta This patch renames u8Num_AssocSta of struct del_all_sta to assoc_sta to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e51b921639c23c59484b72c932e910522c0cd6ba Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:09 2015 +0900 staging: wilc1000: rename au8Sta_DelAllSta of struct del_all_sta This patch renames au8Sta_DelAllSta of struct del_all_sta to del_all_sta to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dbcb6d37a070b1c0637183d7d23819c1369b0f5 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:08 2015 +0900 staging: wilc1000: rename pu8Tail of struct beacon_attr This patch renames pu8Tail of struct beacon_attr to tail to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 030c57e28ec8dee488c039b9488f8edb5cfa76de Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:07 2015 +0900 staging: wilc1000: rename u32TailLen of struct beacon_attr This patch renames u32TailLen of struct beacon_attr to tail_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ce528b9a8325cf2b8664ef9ac73eb7ff26a4ca0 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:06 2015 +0900 staging: wilc1000: rename pu8Head of struct beacon_attr This patch renames pu8Head of struct beacon_attr to head to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51c6618590f172608e61e29190bbbd865302c7dd Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:05 2015 +0900 staging: wilc1000: rename u32HeadLen of struct beacon_attr This patch renames u32HeadLen of struct beacon_attr to head_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e76ab7708a9babbfe61d70da0804070ff8f871ac Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:04 2015 +0900 staging: wilc1000: rename u32DTIMPeriod of struct beacon_attr This patch renames u32DTIMPeriod of struct beacon_attr to dtim_period to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12262ddac66f56e9f901b085db53e71d6ba8fa74 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:03 2015 +0900 staging: wilc1000: rename u32Interval of struct beacon_attr This patch renames u32Interval of struct beacon_attr to interval to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 730ee059d4ea7403d72819c84b864a27464fe60d Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:02 2015 +0900 staging: wilc1000: rename u8SetChan of struct channel_attr This patch renames u8SetChan of struct channel_attr to set_ch to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f94f4889ad2e3dd494a572ec09a238d3741d3d7b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:01 2015 +0900 staging: wilc1000: rename u32Length of struct rcvd_async_info This patch renames u32Length of struct rcvd_async_info to len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33722ac768c401890bd4f335b771f28179338914 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:00 2015 +0900 staging: wilc1000: rename pu8Buffer of struct rcvd_async_info This patch renames pu8Buffer of struct rcvd_async_info to buffer to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2bed2caaeb847910eb13b527454adc25578875f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:59 2015 +0900 staging: wilc1000: rename pJoinParams of struct connect_attr This patch renames pJoinParams of struct connect_attr to params to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d1527e65b6ebbf3fe32a453f94d664300067be9 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:58 2015 +0900 staging: wilc1000: rename u8channel of struct connect_attr This patch renames u8channel of struct connect_attr to ch to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61b4fd022f443eb11b17e8a4160c4434b2d4fc7f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:57 2015 +0900 staging: wilc1000: rename tenuAuth_type of struct connect_attr This patch renames tenuAuth_type of struct connect_attr to auth_type to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f38db897be4f47a3d015e2b8061e013d6abbe18 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:56 2015 +0900 staging: wilc1000: rename pvUserArg of struct connect_attr This patch renames pvUserArg of struct connect_attr to arg to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6abcc11dba58e954d3d1a9d3f9722c4358712f08 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:55 2015 +0900 staging: wilc1000: rename pfConnectResult of struct connect_attr This patch renames pfConnectResult of struct connect_attr to result to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a64fd6772b0457b04b2782294d8fdc7b10e67acf Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:54 2015 +0900 staging: wilc1000: rename u8security of struct connect_attr This patch renames u8security of struct connect_attr to security to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b59d5c5b57b6ddef538aacef597a3278a7ab09c4 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:53 2015 +0900 staging: wilc1000: rename IEsLen of struct connect_attr This patch renames IEsLen of struct connect_attr to ies_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ea158c47544b9229cd110fc2947a51aee60c261 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:52 2015 +0900 staging: wilc1000: rename pu8IEs of struct connect_attr This patch renames pu8IEs of struct connect_attr to ies to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b3c9fa68bd8c243033cb04cca48ac6dc4543e44 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:51 2015 +0900 staging: wilc1000: rename ssidLen of struct connect_attr This patch renames ssidLen of struct connect_attr to ssid_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7bbd9cf99d312f36004ad361e38662d3da3e97b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:50 2015 +0900 staging: wilc1000: rename pu8ssid of struct connect_attr This patch renames pu8ssid of struct connect_attr to ssid to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9254db077a171cd74476b22675a499442d3b9e63 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:49 2015 +0900 staging: wilc1000: rename pu8bssid of struct connect_attr This patch renames pu8bssid of struct connect_attr to bssid to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d79fd35b8c5d927695b48fa35aa586919818cce9 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:48 2015 +0900 staging: wilc1000: remove duplicate copy routine This patch remove the duplicate bssid copy routine. Already ahead bssid copy routine execute. Therefore do not necessary in this routine. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2fc9f6e957bc0b0207fe31bbb6bf9286628c09f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:47 2015 +0900 staging: wilc1000: fix "ERROR: do not initialise globals to 0 or NULL" This patch fixes the checkpatch.pl error to host_interface.c. - ERROR: do not initialise globals to 0 or NULL Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 629b9ca02231a780920fdc98e9ffdd9e0739a768 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:46 2015 +0900 staging: wilc1000: rename strHiddenNetwork of struct scan_attr This patch renames strHiddenNetwork of struct scan_attr to hidden_network to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f2b50c8dbe6c0fa1c969ee068d4fa0d36ce2dd0 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:45 2015 +0900 staging: wilc1000: rename pvUserArg of struct scan_attr This patch renames pvUserArg of struct scan_attr to arg to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c17c6da659571a115c7b4983da6c6ac464317c34 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:44 2015 +0900 staging: wilc1000: rename pfScanResult of struct scan_attr This patch renames pfScanResult of struct scan_attr to result to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b1f76cd036eeea15f42929eed9a7619381cc15c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:43 2015 +0900 staging: wilc1000: rename IEsLen of struct scan_attr This patch renames IEsLen of struct scan_attr to ies_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6f19aa5b58a7465444a995eb9c221887c45b0fc Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:42 2015 +0900 staging: wilc1000: rename pu8IEs of struct scan_attr This patch renames pu8IEs of struct scan_attr to ies to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f97bd9cab8079c791b6387f501fbff2bb73315dd Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:41 2015 +0900 staging: wilc1000: rename u8ChnlListLen of struct scan_attr This patch renames u8ChnlListLen of struct scan_attr to ch_list_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82eeb0ad3c6367ba7a4c4a999bb223d207a5c7fe Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:40 2015 +0900 staging: wilc1000: rename pu8ChnlFreqList of struct scan_attr This patch renames pu8ChnlFreqList of struct scan_attr to ch_freq_list to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97b457d7e2ad76e1ce3950a6c46e4d3cd0e350b2 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:39 2015 +0900 staging: wilc1000: remove duplicate null check routine This patch removes the duplicate null check routine. The same null check routine is twice executed. Therefore the duplicated routine is not necessary. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e276c8842863aa25c89bd4286909e5ae6739c3a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:38 2015 +0900 staging: wilc1000: rename u8ScanType of struct scan_attr This patch renames u8ScanType of struct scan_attr to type to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 425688986a086196e52c88106d0646bbd4ba5405 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:37 2015 +0900 staging: wilc1000: rename u8ScanSource of struct scan_attr This patch renames u8ScanSource of struct scan_attr to src to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b2ebb28b8505358901ed636845834976aa06fd5 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:36 2015 +0900 staging: wilc1000: rename u8Ciphermode of struct host_if_wpa_attr This patch renames u8Ciphermode of struct host_if_wpa_attr to mode to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6acf2919b31e9be52eaf30ee7569c4b5ef93217b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:35 2015 +0900 staging: wilc1000: rename u8Keylen of struct host_if_wpa_attr This patch renames u8Keylen of struct host_if_wpa_attr to key_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2dfbac54e82e2165049971eaaaeecf68d50260f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:34 2015 +0900 staging: wilc1000: rename u8keyidx of struct host_if_wpa_attr This patch renames u8keyidx of struct host_if_wpa_attr to index to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dacc594dab7a73a987ed2e9b8df725c15bc7ccf4 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:33 2015 +0900 staging: wilc1000: rename u8seqlen of struct host_if_wpa_attr This patch renames u8seqlen of struct host_if_wpa_attr to seq_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e74c0096271233687e9f206b2a772dce966b279 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:32 2015 +0900 staging: wilc1000: rename pu8seq of struct host_if_wpa_attr This patch renames pu8seq of struct host_if_wpa_attr to seq to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 248080aa2a31bff5cd4336a15af3c907962be8da Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:31 2015 +0900 staging: wilc1000: rename pu8macaddr of struct host_if_wpa_attr This patch renames pu8macaddr of struct host_if_wpa_attr to mac_addr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 124968fcc0ef7690d80a70ca0051f583b09ea3ff Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:30 2015 +0900 staging: wilc1000: rename pu8key of struct host_if_wpa_attr This patch renames pu8key of struct host_if_wpa_attr to key to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73b2e381d2ee8a8e33c41fcdeb291f3c6b79abba Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:29 2015 +0900 staging: wilc1000: rename uniHostIFkeyAttr of struct key_attr This patch renames uniHostIFkeyAttr of struct key_attr to attr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d17e38201ece45e3e6ffaf4e89ae30c1ffd604a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:28 2015 +0900 staging: wilc1000: rename u8KeyAction of struct key_attr This patch renames u8KeyAction of struct key_attr to action to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e9f427a3e93a1223d0a065c6f9376cda2fd32d6 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:27 2015 +0900 staging: wilc1000: rename enuKeyType of struct key_attr This patch renames enuKeyType of struct key_attr to type to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae4dfa572a7e67f53f7f1492bd2baacf39dbdc48 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:26 2015 +0900 staging: wilc1000: host_interface.c : remove over-commenting There are over-commenting in the host_interface.c file and most of them are not helpful to explain what the code does and generate 80 ending line over warnings. So, all of comments are removed in this patch and the comments will later be added if necessary with the preferred Linux style. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08b39fbd59781729da9fb6367decaf4804a22721 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Oct 8 13:27:34 2015 +0800 f2fs crypto: fix racing of accessing encrypted page among different competitors Since we use different page cache (normally inode's page cache for R/W and meta inode's page cache for GC) to cache the same physical block which is belong to an encrypted inode. Writeback of these two page cache should be exclusive, but now we didn't handle writeback state well, so there may be potential racing problem: a) kworker: f2fs_gc: - f2fs_write_data_pages - f2fs_write_data_page - do_write_data_page - write_data_page - f2fs_submit_page_mbio (page#1 in inode's page cache was queued in f2fs bio cache, and be ready to write to new blkaddr) - gc_data_segment - move_encrypted_block - pagecache_get_page (page#2 in meta inode's page cache was cached with the invalid datas of physical block located in new blkaddr) - f2fs_submit_page_mbio (page#1 was submitted, later, page#2 with invalid data will be submitted) b) f2fs_gc: - gc_data_segment - move_encrypted_block - f2fs_submit_page_mbio (page#1 in meta inode's page cache was queued in f2fs bio cache, and be ready to write to new blkaddr) user thread: - f2fs_write_begin - f2fs_submit_page_bio (we submit the request to block layer to update page#2 in inode's page cache with physical block located in new blkaddr, so here we may read gabbage data from new blkaddr since GC hasn't writebacked the page#1 yet) This patch fixes above potential racing problem for encrypted inode. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3d53fb9041d7d7bb8e1e1dd8b233cbed187933a7 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Tue Oct 13 20:50:23 2015 +0530 Staging: unisys: visorinput: Remove unused code Remove the code which is not used anywhere in the program. Semantic patch used: @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3248fef2abc1dcaefc62b52766865a6a09e8c57 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Tue Oct 13 11:37:23 2015 -0400 staging: unisys: vmcallinterface.h: convert pragma to __packed Convert from pragma to __packed 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 3aed61d1eb06b8b19b7bb09d49b222ebc3f83347 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:23 2015 +0200 mtd: lpddr: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 90b997527ecbaac44485a52a01768d5ae32f3818 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:22 2015 +0200 mtd: devices: sst251: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7d24272253594abcdca8f52758a574367a5912bf Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:21 2015 +0200 mtd: devices: spear_smi: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 57eea0f5fb221f88c3c9b0ddc967c004bfff7e9c Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:20 2015 +0200 mtd: devices: mtd_dataflash: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1560d2132ae95b36b25cc78811af8eaf9bbb2f8e Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:18 2015 +0200 mtd: devices: docg3: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit eb98198f23d0c6a77afe692b25e8ad634f0404c5 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:17 2015 +0200 mtd: devices: bcm47xxflash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 807f16d4db956b364ae852a63ad7d79460838866 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:16 2015 +0200 mtd: core: set some defaults when dev.parent is set If a parent device is set, add_mtd_device() has enough knowledge to fill in some sane default values for the module name and owner. Do so if they aren't already set. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 260e89a6e0d6dcaccd484cf13a69285c3d22268f Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:15 2015 +0200 mtd: core: tone down suggestion that dev.parent should be set add_mtd_device() has a comment suggesting that the caller should have set dev.parent. This is required to have the parent device symlink show up in sysfs, but not for proper operation of the mtd device itself. Currently we have five drivers registering mtd devices during module initialization, so they don't actually provide a parent device to link to. That means we cannot WARN_ON() here, as it would trigger false positives. Make the comment a bit less firm in its assertion that dev.parent should be set. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7564fde3a13e000867729a291e77cdefa0854b8e Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Oct 13 11:16:48 2015 +0300 MAINTAINERS: add link to the Intel Graphics for Linux web site There's plenty of drm/i915 related hardware and software documentation, and firmware downloads for the latest platforms. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 42160a041db89807691b2a3fbf42e36a98b6019e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 16:56:07 2015 +0200 can: at91: remove at91_can_data struct at91_can_data was used to pass a callback to the driver, allowing it to switch the transceiver on and off. As all at91 boards are now using DT, this is not used anymore, remove that structure. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit ba61a8d9d780980e8284355a0be750897e7af212 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:42 2015 +0200 can: avoid using timeval for uapi The can subsystem communicates with user space using a bcm_msg_head header, which contains two timestamps. This is problematic for multiple reasons: a) The structure layout is currently incompatible between 64-bit user space and 32-bit user space, and cannot work in compat mode (other than x32). b) The timeval structure layout will change in 32-bit user space when we fix the y2038 overflow problem by redefining time_t to 64-bit, making new 32-bit user space incompatible with the current kernel interface. Cars last a long time and often use old kernels, so the actual users of this code are the most likely ones to migrate to y2038 safe user space. This tries to work around part of the problem by changing the publicly visible user interface in the header, but not the binary interface. Fortunately, the values passed around in the structure are relative times and do not actually suffer from the y2038 overflow, so 32-bit is enough here. We replace the use of 'struct timeval' with a newly defined 'struct bcm_timeval' that uses the exact same binary layout as before and that still suffers from problem a) but not problem b). The downside of this approach is that any user space program that currently assigns a timeval structure to these members rather than writing the tv_sec/tv_usec portions individually will suffer a compile-time error when built with an updated kernel header. Fixing this error makes it work fine with old and new headers though. We could address problem a) by using '__u32' or 'int' members rather than 'long', but that would have a more significant downside in also breaking support for all existing 64-bit user binaries that might be using this interface, which is likely not acceptable. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Cc: linux-can@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 3c200db56441365d964b5a983de948821f5011b9 Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:58:39 2015 +0200 can: sun4i: fix MODULE_DESCRIPTION This patch change description of the module. Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 887e07be3fd2d056362a9f851f796580d7bca499 Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:58:38 2015 +0200 can: sun4i: fix arbitration lost error reporting This patch fixes a bug in arbitration error reporting Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 9c4cbf8212e8d8be4bc6e16cc2c21af2bbaab2c1 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Mon Oct 12 13:20:59 2015 +0300 drm/i915: Move skl/bxt gt specific workarounds to ring init Some registers are, naturally, lost in gpu reset/suspend cycle. And some registers, for example in display domain, are not subject to gpu reset so they retain their contents. As hang recovery triggers a reset, recoverable gpu hang can currently flush out essential workarounds and cause havoc later on. When register GEN8_GARBNTL is missing the WaEnableGapsTsvCreditFix:skl, it can cause random system hangs [1]. This workaround was added in: commit 245d96670d26 ("drm/i915:skl: Add WaEnableGapsTsvCreditFix") But another set of system hangs were observed and the failure pattern indicated that there was random gpu hang preceding the system hang [2]. This lead to the realization that we lose this workaround and BDW_SCRATCH1 on reset. Add these workarounds setup in display init to skl/bxt ring init where LRI workarounds are also setup. This way their setup is not dependent on display side init. References: [1] https://bugs.freedesktop.org/show_bug.cgi?id=90854 References: [2] https://bugs.freedesktop.org/show_bug.cgi?id=92315 Reported-by: Tomi Sarvela <tomix.p.sarvela@xxxxxxxxx> Cc: Tomi Sarvela <tomix.p.sarvela@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Tested-by: Tomi Sarvela <tomix.p.sarvela@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 52fa1927e953d8b1fbdcf8a19dc75c1499cc3d5d Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Tue Oct 13 16:18:17 2015 +0100 Revert "arm64: ioremap: add ioremap_cache macro" This reverts commit 1b6d7f8742d5d46c478f10c9e57da18d049b116d. This patch would conflict with Dan Williams' "tree-wide convert to memremap()" series (ioremap_cache replaced by arch_memremap) Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3a70fcd3a4db56731f67f0189514953c74257944 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Oct 13 14:43:58 2015 +0200 tools build: Fix cross compile build He Kuang the new fixdep tool breaks cross compiling. The reason is it wouldn't get compiled under host arch, but under cross arch and failed to run. We need to add support for host side tools build, meanwhile disabling fixdep usage for cross arch builds. Reported-by: He Kuang <hekuang@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20151013124358.GB9467@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1330a0170a48ad3788eff01aaf889203652ab4c7 Merge: b7d2063 60417fc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Oct 13 16:44:51 2015 +0200 Merge tag 'kvm-s390-next-20151013' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD KVM: s390: Fixes for 4.4 A bunch of fixes and optimizations for interrupt and time handling. No fix is important enough to qualify for 4.3 or stable. commit c95f3432118c6b7a3bde63aa6eb95ccd163119eb Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Oct 13 10:52:14 2015 +0200 tools include: Fix strict-aliasing rules breakage Vinson reported build breakage with gcc 4.4 due to strict-aliasing. CC util/annotate.o cc1: warnings being treated as errors util/annotate.c: In function â??disasm__purgeâ??: linux-next/tools/include/linux/compiler.h:66: error: dereferencing pointer â??res.41â?? does break strict-aliasing rules The reason is READ_ONCE/WRITE_ONCE code we took from kernel sources. They intentionaly break aliasing rules. While this is ok for kernel because it's built with -fno-strict-aliasing, it breaks perf which is build with -Wstrict-aliasing=3. Using extra __may_alias__ type to allow aliasing in this case. Reported-and-tested-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Martin Liska <mliska@xxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rabin Vincent <rabin@xxxxxx> Cc: linux-next@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20151013085214.GB2705@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 03875ad52fdde1f110f663470a45d3dcc34b8fef Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Mon Oct 12 14:52:59 2015 +0800 arm64: add kc_offset_to_vaddr and kc_vaddr_to_offset macro This patch add kc_offset_to_vaddr() and kc_vaddr_to_offset(), the default version doesn't work on arm64, because arm64 kernel address is below the PAGE_OFFSET, like module address and vmemmap address are all below PAGE_OFFSET address. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 1b6d7f8742d5d46c478f10c9e57da18d049b116d Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Mon Oct 12 10:28:18 2015 +0800 arm64: ioremap: add ioremap_cache macro Add ioremap_cache macro, because some code will test if this macro is defined or not, and will generate a generric version if not defined, for example, memremap.c do like this. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit cc917ab43541db3ff66d0136042686d40a1b4c9a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 14:22:26 2015 +0100 drm/i915: Deny wrapping an userptr into a framebuffer Pinning a userptr onto the hardware raises interesting questions about the lifetime of such a surface as the framebuffer extends that life beyond the client's address space. That is the hardware will need to keep scanning out from the backing storage even after the client wants to remap its address space. As the hardware pins the backing storage, the userptr becomes invalid and this raises a WARN when the clients tries to unmap its address space. The situation can be even more complicated when the buffer is passed between processes, between a client and display server, where the lifetime and hardware access is even more confusing. Deny it. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c2b63374461c0986147902f719c26412d1f26fbc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Oct 7 22:08:25 2015 +0300 drm/i915: Enable DPLL VGA mode before P1/P2 divider write Apparently writing the DPLL register P1/P2 divider fields won't trigger an actual change in the DPLL output unless VGA mode is enabled for prior to the register write that changes the P1/P2 dividers. The write with the new P1/P2 divider can itself disable VGA mode again without problems. I tested the behaviour on my 946GZ, and when manually frobbing the register with the display on, the behaviour is very clear. However I can't explain why this machine actually works. The P1/P2 divider changes caused by normal modesets do seem to make it through to the hardware somehow since I get a stable picture on the monitor with any resolution. Maybe it's the "three times for luck" stuff that somehow masks the problem, or something. But apparently there are machines (eg. Nick Bowler's G45) where that isn't the case and we fail to get the correct clock from the DPLL. Things used to work because we enabled VGA mode for disabled DPLLs, so when re-enabling the DPLL VGA mode was enabled just prior to the first register write, and hence the P1/P2 change went through without a hitch. That got changed in b8afb9113c51 drm/i915: Keep GMCH DPLL VGA mode always disabled in the name of consistency. In order to keep the consistency part, leave VGA mode disabled for disabled DPLLs, but turn it on just prior to updating the P1/P2 dividers to make sure the hardware picks up on the new values. Cc: Nick Bowler <nbowler@xxxxxxxxxx> Reported-by: Nick Bowler <nbowler@xxxxxxxxxx> Tested-by: Nick Bowler <nbowler@xxxxxxxxxx> 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 8e7a65aa70bcc1235a44e40ae0da5056525fe081 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Oct 7 22:08:24 2015 +0300 drm/i915: Restore lost DPLL register write on gen2-4 We accidentally lost the initial DPLL register write in 1c4e02746147 drm/i915: Fix DVO 2x clock enable on 830M The "three times for luck" hack probably saved us from a total disaster. But anyway, bring the initial write back so that the code actually makes some sense. Reported-and-tested-by: Nick Bowler <nbowler@xxxxxxxxxx> References: http://mid.gmane.org/CAN_QmVyMaArxYgEcVVsGvsMo7-6ohZr8HmF5VhkkL4i9KOmrhw@xxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Cc: Nick Bowler <nbowler@xxxxxxxxxx> 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 83040123fde42ec532d3b632efb5f7f84024e61d Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 13 14:01:06 2015 +0100 arm64: kasan: fix issues reported by sparse Sparse reports some new issues introduced by the kasan patches: arch/arm64/mm/kasan_init.c:91:13: warning: no previous prototype for 'kasan_early_init' [-Wmissing-prototypes] void __init kasan_early_init(void) ^ arch/arm64/mm/kasan_init.c:91:13: warning: symbol 'kasan_early_init' was not declared. Should it be static? [sparse] This patch resolves the problem by adding a prototype for kasan_early_init and marking the function as asmlinkage, since it's only called from head.S. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 40a24488f5250d63341e74b9994159afc4589606 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 16:08:41 2015 +0100 drm/i915: Flush pipecontrol post-sync writes In order to flush the results from in-batch pipecontrol writes (used for example in glQuery) before declaring the batch complete (and so declaring the query results coherent), we need to set the FlushEnable bit in our flushing pipecontrol. The FlushEnable bit "waits until all previous writes of immediate data from post-sync circles are complete before executing the next command". I get GPU hangs on byt without flushing these writes (running ue4). piglit has examples where the flush is required for correct rendering. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ef55f92a92eee54238e16269823a52cfcbb2330c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 14:11:27 2015 +0100 drm/i915: Drop i915_gem_obj_is_pinned() from set-cache-level Since the remove of the pin-ioctl, we only care about not changing the cache level on buffers pinned to the hardware as indicated by obj->pin_display. By knowing that only objects pinned to the hardware will have an elevated vma->pin_count, so we can coallesce many of the linear walks over the obj->vma_list. v2: Try and retrospectively add comments explaining the steps in rebinding the active VMA. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 60417fcc2b0235dfe3dcd589c56dbe3ea1a64c54 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 16:20:36 2015 +0200 KVM: s390: factor out reading of the guest TOD clock Let's factor this out and always use get_tod_clock_fast() when reading the guest TOD. STORE CLOCK FAST does not do serialization and, therefore, might result in some fuzziness between different processors in a way that subsequent calls on different CPUs might have time stamps that are earlier. This semantics is fine though for all KVM use cases. To make it obvious that the new function has STORE CLOCK FAST semantics we name it kvm_s390_get_tod_clock_fast. With this patch, we only have a handful of places were we have to care about STP sync (using preempt_disable() logic). Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 25ed16759660cdfccd4a3cb7d30cce8a797b542a Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue May 12 09:49:14 2015 +0200 KVM: s390: factor out and fix setting of guest TOD clock Let's move that whole logic into one function. We now always use unsigned values when calculating the epoch (to avoid over/underflow defined). Also, we always have to get all VCPUs out of SIE before doing the update to avoid running differing VCPUs with different TODs. Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 5a3d883a59b3fe8dc8775c7a79200a5b11a6761e Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 16:27:24 2015 +0200 KVM: s390: switch to get_tod_clock() and fix STP sync races Nobody except early.c makes use of store_tod_clock() to handle the cc. So if we would get a cc != 0, we would be in more trouble. Let's replace all users with get_tod_clock(). Returning a cc on an ioctl sounded strange either way. We can now also easily move the get_tod_clock() call into the preempt_disable() section. This is in fact necessary to make the STP sync work as expected. Otherwise the host TOD could change and we would end up with a wrong epoch calculation. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 238293b14d9b1f5689e2aa68710000b0f25aa612 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon May 4 12:38:48 2015 +0200 KVM: s390: correctly handle injection of pgm irqs and per events PER events can always co-exist with other program interrupts. For now, we always overwrite all program interrupt parameters when injecting any type of program interrupt. Let's handle that correctly by only overwriting the relevant portion of the program interrupt parameters. Therefore we can now inject PER events and ordinary program interrupts concurrently, resulting in no loss of program interrupts. This will especially by helpful when manually detecting PER events later - as both types might be triggered during one SIE exit. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 66933b78e3204057bfc26343afcd0d463c0e8e55 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 20 13:49:32 2014 +0100 KVM: s390: simplify in-kernel program irq injection The main reason to keep program injection in kernel separated until now was that we were able to do some checking, if really only the owning thread injects program interrupts (via waitqueue_active(li->wq)). This BUG_ON was never triggered and the chances of really hitting it, if another thread injected a program irq to another vcpu, were very small. Let's drop this check and turn kvm_s390_inject_program_int() and kvm_s390_inject_prog_irq() into simple inline functions that makes use of kvm_s390_inject_vcpu(). __must_check can be dropped as they are implicitely given by kvm_s390_inject_vcpu(), to avoid ugly long function prototypes. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 4d32ad6becf0baf09f38707f0aff42c0f4367a99 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Wed May 6 13:51:29 2015 +0200 KVM: s390: drop out early in kvm_s390_has_irq() Let's get rid of the local variable and exit directly if we found any pending interrupt. This is not only faster, but also better readable. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 118b862b153190f92415ece4cb97a896929c5ab8 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 12:25:15 2015 +0200 KVM: s390: kvm_arch_vcpu_runnable already cares about timer interrupts We can remove that double check. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 5f94c58ed0a6db016528d8555f1b655ad354f7bb Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 14:27:51 2015 +0200 KVM: s390: set interception requests for all floating irqs No need to separate pending and floating irqs when setting interception requests. Let's do it for all equally. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit fee0e0fdb2b9c221a3621bede722aa9f9c9f0d39 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 13:32:38 2015 +0200 KVM: s390: disabled wait cares about machine checks, not PER We don't care about program event recording irqs (synchronous program irqs) but asynchronous irqs when checking for disabled wait. Machine checks were missing. Let's directly switch to the functions we have for that purpose instead of testing once again for magic bits. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit f59922b47e0a202386c8e8dcf9f0235b8a028ae0 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Sep 16 12:14:52 2015 +0200 KVM: s390: remove unused variable in __inject_vm the float int structure is no longer used in __inject_vm. Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit e797e4b71777877b19b50e3d736331c947ccffe7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Oct 6 14:53:01 2015 +0200 drm/i915: Fix kerneldoc for i915_gem_shrink_all I've botched this in commit eb0b44adc08c0be01a027eb009e9cdadc31e65a2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 18 14:47:59 2015 +0100 drm/i915: kerneldoc for i915_gem_shrinker.c so let's fix it. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 544d9b17f92d50132f47acd58f38992405298470 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:18 2015 +0100 netfilter: ip6_tables: ternary operator layout Correct whitespace layout of ternary operators in the netfilter-ipv6 code. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f9527ea9b63ac861d5d992d24fdd63ee767e21db Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:17 2015 +0100 netfilter: ipv6: whitespace around operators This patch cleanses whitespace around arithmetical operators. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7695495d5a838995befd59796772c5348125c92b Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:16 2015 +0100 netfilter: ipv6: code indentation Use tabs instead of spaces to indent code. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit cda219c6adb386687d64563671a5259ebf049d0e Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:15 2015 +0100 netfilter: ip6_tables: function definition layout Use tabs instead of spaces to indent second line of parameters in function definitions. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6ac94619b66de77b39dc628099ef3260870b6c77 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:14 2015 +0100 netfilter: ip6_tables: label placement Whitespace cleansing: Labels should not be indented. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 514ed62ed3f6846325d9bfb15cb5c3540547f13b Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Oct 8 23:38:07 2015 +0200 netfilter: sync with packet rx also after removing queue entries We need to sync packet rx again after flushing the queue entries. Otherwise, the following race could happen: cpu1: nf_unregister_hook(H) called, H unliked from lists, calls synchronize_net() to wait for packet rx completion. Problem is that while no new nf_queue_entry structs that use H can be allocated, another CPU might receive a verdict from userspace just before cpu1 calls nf_queue_nf_hook_drop to remove this entry: cpu2: receive verdict from userspace, lock queue cpu2: unlink nf_queue_entry struct E, which references H, from queue list cpu1: calls nf_queue_nf_hook_drop, blocks on queue spinlock cpu2: unlock queue cpu1: nf_queue_nf_hook_drop drops affected queue entries cpu2: call nf_reinject for E cpu1: kfree(H) cpu2: potential use-after-free for H Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Fixes: 085db2c04557 ("netfilter: Per network namespace netfilter hooks.") Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2791a16ca43302d07ac74cbe7c048e367c4632c4 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Oct 9 18:22:43 2015 -0300 drm/i915: revert a few more watermark commits This is a squash of the following commits: Revert "drm/i915: Drop intel_update_sprite_watermarks" This reverts commit 47c99438b52d12df50e182583634a4cfede3c920. Revert "drm/i915/ivb: Move WaCxSRDisabledForSpriteScaling w/a to atomic check" This reverts commit 7809e5ae35b9d8d0710f0874b2e3f10be144e38b. Revert "drm/i915/skl: Eliminate usage of pipe_wm_parameters from SKL-style WM (v3)" This reverts commit 3a05f5e2e78eab7ffe816abb59b6769e331a1957. With these reverts, SKL finally stops failing every single FBC test with FIFO underrun error messages. After some brief testing, it also seems that this commit prevents the machine from completely freezing when we run igt/kms_fbc_crc (see fd.o #92355). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92355 Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bbb300eb976b613a8e4e666d3af39f5ab1031d22 Merge: 4b91816 f409d0e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 13 04:58:04 2015 -0700 Merge branch 'bridge-vlan' Nikolay Aleksandrov says: ==================== bridge: vlan: cleanups & fixes (part 3) Patch 01 converts the vlgrp member to use rcu as it was already used in a similar way so better to make it official and use all the available RCU instrumentation. Patch 02 fixes a bug where the vlan_list can be traversed without rtnl or rcu held which could lead to using freed entries. Patch 03 removes some redundant code that isn't needed anymore. Patch 04 fixes a bug reported by Ido Schimmel about the vlan_flush order and switchdevs, it moves it back. v2: patch 03 and 04 are new, couldn't escape the second synchronize_rcu() since the rhtable destruction can sleep ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f409d0ed87d2721e1099ce36266e98c5aea2d486 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:47:05 2015 +0200 bridge: vlan: move back vlan_flush Ido Schimmel reported a problem with switchdev devices because of the order change of del_nbp operations, more specifically the move of nbp_vlan_flush() which deletes all vlans and frees vlgrp after the rx_handler has been unregistered. So in order to fix this move vlan_flush back where it was and make it destroy the rhtable after NULLing vlgrp and waiting a grace period to make sure noone can see it. Reported-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8d02c3cace37393bf9ff0a9eaa1ee39cda1d259 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:47:04 2015 +0200 bridge: vlan: drop unnecessary flush code As Ido Schimmel pointed out the vlan_vid_del() code in nbp_vlan_flush is unnecessary (and is actually a remnant of the old vlan code) so we can remove it. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9c953eff7f0ec69a52cfa87b912ab48902a0314 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:47:03 2015 +0200 bridge: vlan: use rcu for vlan_list traversal in br_fill_ifinfo br_fill_ifinfo is called by br_ifinfo_notify which can be called from many contexts with different locks held, sometimes it relies upon bridge's spinlock only which is a problem for the vlan code, so use explicitly rcu for that to avoid problems. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 907b1e6e83ed25d9dece1e55b704581b6c127051 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:47:02 2015 +0200 bridge: vlan: use proper rcu for the vlgrp member The bridge and port's vlgrp member is already used in RCU way, currently we rely on the fact that it cannot disappear while the port exists but that is error-prone and we might miss places with improper locking (either RCU or RTNL must be held to walk the vlan_list). So make it official and use RCU for vlgrp to catch offenders. Introduce proper vlgrp accessors and use them consistently throughout the code. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b918163aecdec1c5424dcc317907282c58838df Merge: af37939 ca25449 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 13 04:55:10 2015 -0700 Merge branch 'vrf-ipv6' David Ahern says: ==================== net: VRF support in IPv6 stack Initial support for VRF in IPv6 stack. Makes IPv6 functionality on par with IPv4 -- ping, tcp client/server and udp client/server all work fine. tcpdump on vrf device and external tap (e.g., host side tap device) shows all packets with proper addresses. IPv6 does not need the source address operation like IPv4. Verified vti6 works properly in my setup as does use of an IPv6 address on the VRF device. v3 - re-based to top of net-next (updates per net namespace changes by Eric) - fixed dst_entry typecasts as requested by Dave - added flags to inet6_rtm_getroute (IPv6 version of deaa0a6a930e) v2 - fixed CONFIG_IPV6 dependency as questioned by Cong - if IPV6 is a module, kbuild ensures VRF is a module - if IPV6 is disabled IPV6 functionality is compiled out of VRF module - addressed comments from Nik over IRC - removed duplicate call to netif_is_l3_master in l3mdev_rt6_dst_by_oif - changed allocation flag from GFP_ATOMIC to GFP_KERNEL since it is init time - added free of rt6i_pcpu - check_ipv6_frame returns false only if packet is NDISC type ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca254490c8dfdaddb5df8a763774db0f4c5200c3 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:47:10 2015 -0700 net: Add VRF support to IPv6 stack As with IPv4 support for VRFs added to IPv6 stack by replacing hardcoded table ids with possibly device specific ones and manipulating the oif in the flowi6. The flow flags are used to skip oif compare in nexthop lookups if the device is enslaved to a VRF via the L3 master device. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35402e31366349a32b505afdfe856aeeb8d939a0 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:47:09 2015 -0700 net: Add IPv6 support to VRF device Add support for IPv6 to VRF device driver. Implemenation parallels what has been done for IPv4. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4850687783717fa854554965c4bc85625d0e4a8 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:47:08 2015 -0700 net: Export fib6_get_table and nd_tbl Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccf3c8c3fe1bd4828556650ae7928da6ffb4aaf6 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:47:07 2015 -0700 net: Add IPv6 support to l3mdev Add operations to retrieve cached IPv6 dst entry from l3mdev device and lookup IPv6 source address. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60fb33afb93a85e6ca5804397a9dc6f6907fa58f Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Sep 22 13:08:15 2015 +1000 scripts/tags.sh: Teach tags about some powerpc macros The IO accessors on powerpc are generated using macro fu, ie. out_be32() etc. Also there are some debugger related symbols that are macro generated. Teach scripts/tags.sh about both. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit af3793921d49a772ec1079449219bad4baa0bc96 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 17:55:55 2015 +0200 bridge: fix gc_timer mod/del race condition commit c62987bbd8a1 ("bridge: push bridge setting ageing_time down to switchdev") introduced a timer race condition because the gc_timer can get rearmed after it's supposedly stopped and flushed in br_dev_delete() leading to a use of freed memory. So take rtnl to sync with bridge destruction when setting ageing_timer. Here's the trace reproduced with these two commands running in parallel: while :; do echo 10000 > /sys/class/net/br0/bridge/ageing_timer; done; while :; do brctl addbr br0; ip l set br0 up; ip l set br0 down; brctl delbr br0; done; [ 300.000029] BUG: unable to handle kernel paging request at ffffffff811c59d3 [ 300.000263] IP: [<ffffffff810f168e>] __internal_add_timer+0x2e/0xd0 [ 300.000422] PGD 1a0f067 PUD 1a10063 PMD 10001e1 [ 300.000639] Oops: 0003 [#1] SMP [ 300.000793] Modules linked in: bridge stp llc nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel ppdev aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd snd_hda_codec_generic qxl drm_kms_helper psmouse pcspkr ttm snd_hda_intel 9pnet_virtio evdev serio_raw joydev snd_hda_codec 9pnet virtio_balloon drm snd_hwdep virtio_console snd_hda_core pvpanic snd_pcm i2c_piix4 snd_timer acpi_cpufreq parport_pc snd parport soundcore button processor i2c_core ipv6 autofs4 hid_generic usbhid hid ext4 crc16 mbcache jbd2 sg sr_mod cdrom ata_generic virtio_blk virtio_net e1000 ehci_pci uhci_hcd ehci_hcd usbcore usb_common floppy ata_piix libata virtio_pci virtio_ring virtio scsi_mod [ 300.004008] CPU: 1 PID: 1169 Comm: bash Not tainted 4.3.0-rc3+ #46 [ 300.004008] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 300.004008] task: ffff880035be2200 ti: ffff88003795c000 task.ti: ffff88003795c000 [ 300.004008] RIP: 0010:[<ffffffff810f168e>] [<ffffffff810f168e>] __internal_add_timer+0x2e/0xd0 [ 300.004008] RSP: 0018:ffff88003fd03e78 EFLAGS: 00010046 [ 300.004008] RAX: ffff88003fd0ef60 RBX: 840fc78949c08548 RCX: 00000001ffffffff [ 300.004008] RDX: 0000000000000000 RSI: ffffffff811c59d3 RDI: ffff88003fd0df00 [ 300.004008] RBP: ffff88003fd03e78 R08: 00000000ffffffff R09: 0000000000000000 [ 300.004008] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88003fd0df00 [ 300.004008] R13: 0000000000000000 R14: 0000000000000001 R15: ffffffff816032e0 [ 300.004008] FS: 00007fcbdd609700(0000) GS:ffff88003fd00000(0000) knlGS:0000000000000000 [ 300.004008] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 300.004008] CR2: ffffffff811c59d3 CR3: 0000000037879000 CR4: 00000000000406e0 [ 300.004008] Stack: [ 300.004008] ffff88003fd03ea8 ffffffff810f1775 ffff88003c8cb958 ffff88003fd0df00 [ 300.004008] 0000000000000000 0000000000000001 ffff88003fd03f18 ffffffff810f28c4 [ 300.004008] ffff88003fd0eb68 ffff88003fd0e968 ffff88003fd0e768 ffff88003fd0df68 [ 300.004008] Call Trace: [ 300.004008] <IRQ> [ 300.004008] [<ffffffff810f1775>] cascade+0x45/0x70 [ 300.004008] [<ffffffff810f28c4>] run_timer_softirq+0x2f4/0x340 [ 300.004008] [<ffffffff8107e380>] __do_softirq+0xd0/0x440 [ 300.004008] [<ffffffff8107e8a3>] irq_exit+0xb3/0xc0 [ 300.004008] [<ffffffff815c2032>] smp_apic_timer_interrupt+0x42/0x50 [ 300.004008] [<ffffffff815bfe37>] apic_timer_interrupt+0x87/0x90 [ 300.004008] <EOI> [ 300.004008] [<ffffffff811fb80c>] ? create_object+0x13c/0x2e0 [ 300.004008] [<ffffffff8109b23e>] ? __kernel_text_address+0x4e/0x70 [ 300.004008] [<ffffffff8109b23e>] ? __kernel_text_address+0x4e/0x70 [ 300.004008] [<ffffffff8101e17f>] print_context_stack+0x7f/0xf0 [ 300.004008] [<ffffffff8101d55b>] dump_trace+0x11b/0x300 [ 300.004008] [<ffffffff8102970b>] save_stack_trace+0x2b/0x50 [ 300.004008] [<ffffffff811fb80c>] create_object+0x13c/0x2e0 [ 300.004008] [<ffffffff815b2e8e>] kmemleak_alloc+0x4e/0xb0 [ 300.004008] [<ffffffff811e475d>] kmem_cache_alloc_trace+0x18d/0x2f0 [ 300.004008] [<ffffffff8128b139>] kernfs_fop_open+0xc9/0x380 [ 300.004008] [<ffffffff8120214f>] do_dentry_open+0x1ff/0x2f0 [ 300.004008] [<ffffffff8128b070>] ? kernfs_fop_release+0x70/0x70 [ 300.004008] [<ffffffff812034f9>] vfs_open+0x59/0x60 [ 300.004008] [<ffffffff812130de>] path_openat+0x1ce/0x1260 [ 300.004008] [<ffffffff812154ae>] do_filp_open+0x7e/0xe0 [ 300.004008] [<ffffffff812251ff>] ? __alloc_fd+0xaf/0x180 [ 300.004008] [<ffffffff8120387b>] do_sys_open+0x12b/0x210 [ 300.004008] [<ffffffff8120397e>] SyS_open+0x1e/0x20 [ 300.004008] [<ffffffff815bf0b6>] entry_SYSCALL_64_fastpath+0x16/0x7a [ 300.004008] Code: 66 90 48 8b 46 10 48 8b 4f 40 55 48 89 c2 48 89 e5 48 29 ca 48 81 fa ff 00 00 00 77 20 0f b6 c0 48 8d 44 c7 68 48 8b 10 48 85 d2 <48> 89 16 74 04 48 89 72 08 48 89 30 48 89 46 08 5d c3 48 81 fa [ 300.004008] RIP [<ffffffff810f168e>] __internal_add_timer+0x2e/0xd0 [ 300.004008] RSP <ffff88003fd03e78> [ 300.004008] CR2: ffffffff811c59d3 Fixes: c62987bbd8a1 ("bridge: push bridge setting ageing_time down to switchdev") Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc02aa8e41c50f690d0bb22ed5629468483421b7 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 14:01:39 2015 +0200 switchdev: enforce no pvid flag in vlan ranges We shouldn't allow BRIDGE_VLAN_INFO_PVID flag in VLAN ranges. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Elad Raz <eladr@xxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f83665d0c41f3e24602f7dd03003574f852b326f Merge: 241b271 5fe7f68 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 13 04:26:44 2015 -0700 Merge branch 'dsa-mv88e6xxx-fix-hardware-bridging' Vivien Didelot says: ==================== net: dsa: mv88e6xxx: fix hardware bridging DSA and its drivers currently hook the NETDEV_CHANGEUPPER net_device event in order to configure the VLAN map of every port. This VLAN map is a feature of these switch chips to hardcode and restrict which output ports a given input port can egress frames to. A Linux bridge is a simple untagged VLAN propagated by the bridge code itself. With a proper 802.1Q support, a driver does not need this hook anymore, and will simply program the related VLAN object. This patchset improves the hardware bridging code in the mv88e6xxx driver with a strict 802.1Q mode. Ideally, the equivalent must be done for Broadcom Starfighter 2 and Rocker, before completely getting rid of this hook. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5fe7f68016ff9dcb59632071f9abf30296bbad3c Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 11 18:08:38 2015 -0400 net: dsa: mv88e6xxx: fix hardware bridging Playing with the VLAN map of every port to implement "hardware bridging" in the 88E6352 driver was a hack until full 802.1Q was supported. Indeed with 802.1Q port mode "Disabled" or "Fallback", this feature is used to restrict which output ports an input port can egress frames to. A Linux bridge is an untagged VLAN. With full 802.1Q support, we don't need this hack anymore and can use the "Secure" strict 802.1Q port mode. With this mode, the port-based VLAN map still needs to be configured, but all the logic is VTU-centric. This means that the switch only cares about rules described in its hardware VLAN table, which is exactly what Linux bridge expects and what we want. Note also that the hardware bridging was broken with the previous flexible "Fallback" 802.1Q port mode. Here's an example: Port0 and Port1 belong to the same bridge. If Port0 sends crafted tagged frames with VID 200 to Port1, Port1 receives it. Even if Port1 is in hardware VLAN 200, but not Port0, Port1 will still receive it, because Fallback mode doesn't care about invalid VID or non-member source port. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efd29b3d8266761570fd3f440e2d5aa24c678725 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 11 18:08:37 2015 -0400 net: dsa: do not warn unsupported bridge ops A DSA driver may not provide the port_join_bridge and port_leave_bridge functions, so don't warn in such case. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f02bdffca29bc41e440ac67ffd47b56834d3bf85 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 11 18:08:36 2015 -0400 net: dsa: mv88e6xxx: do not support per-port FID Since we configure a switch chip through a Linux bridge, and a bridge is implemented as a VLAN, there is no need for per-port FID anymore. This patch gets rid of this and simplifies the driver code since we can now directly map all 4095 FIDs available to all VLANs. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ede8098d0fef46ae48e59fcf7088149ca424d959 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 11 18:08:35 2015 -0400 net: dsa: mv88e6xxx: bridges do not need an FID With 88E6352 and similar switch chips, each port has a map to restrict which output port this input port can egress frames to. The current driver code implements hardware bridging using this feature, and assigns to a bridge group the FID of its first member. Now that 802.1Q is fully implemented in this driver, a Linux bridge which is a simple untagged VLAN, already gets its own FID. This patch gets rid of the per-bridge FID and explicits the usage of the port based VLAN map feature. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 241b271952eb319622a6cc740a72abe41fc27ad6 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Sun Oct 11 16:49:44 2015 -0400 RDS-TCP: Reset tcp callbacks if re-using an outgoing socket in rds_tcp_accept_one() Consider the following "duelling syn" sequence between two peers A and B: A B SYN1 --> <-- SYN2 SYN2ACK --> Note that the SYN/ACK has already been sent out by TCP before rds_tcp_accept_one() gets invoked as part of callbacks. If the inet_addr(A) is numerically less than inet_addr(B), the arbitration scheme in rds_tcp_accept_one() will prefer the TCP connection triggered by SYN1, and will send a CLOSE for the SYN2 (just after the SYN2ACK was sent). Since B also follows the same arbitration scheme, it will send the SYN-ACK for SYN1 that will set up a healthy ESTABLISHED connection on both sides. B will also get a CLOSE for SYN2, which should result in the cleanup of the TCP state machine for SYN2, but it should not trigger any stale RDS-TCP callbacks (such as ->writespace, ->state_change etc), that would disrupt the progress of the SYN2 based RDS-TCP connection. Thus the arbitration scheme in rds_tcp_accept_one() should restore rds_tcp callbacks for the winner before setting them up for the new accept socket, and also make sure that conn->c_outgoing is set to 0 so that we do not trigger any reconnect attempts on the passive side of the tcp socket in the future, in conformance with commit c82ac7e69efe ("net/rds: RDS-TCP: only initiate reconnect attempt on outgoing TCP socket.") Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 486798001b92eacbf9f809787a6348750c174035 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Sun Oct 11 16:46:03 2015 -0400 RDS: Invoke ->laddr_check() in rds_bind() for explicitly bound transports. The IP address passed to rds_bind() should be vetted by the transport's ->laddr_check() for a previously bound transport. This needs to be done to avoid cases where, for example, the application has asked for an IB transport, but the IP address passed to bind is only usable on ethernet interfaces. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ded1749371db498233b7e8a73f51a1759494bcd1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:46 2015 +0300 drm/i915: Remove dev_priv argument from NEEDS_FORCE_WAKE Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d0669d007542d7f4829a6a3db50297a4b940fb54 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:45 2015 +0300 drm/i915: Clean up LVDS register handling Keep single 'lvds_reg' and 'lvds' variable around in intel_lvds_init(), and read it just once at the start. Also intel_lvds_get_config() doesn't need to figure out which reg to use since it can just consult lvds_encoder->reg. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 649636ef8274cb7bca10fceef2dca1e0813d8cef Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 22 19:50:01 2015 +0300 drm/i915: Throw out some useless variables Drop some useless 'reg' variables when we only use them once. v2: A few more, including a few variable moves Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 85fa792beee342598f24cede8f0cc45eb741f469 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:43 2015 +0300 drm/i915: Parametrize and fix SWF registers Parametrize the SWF registers. This also fixes the register offsets, which were mostly garbage in the old defines. Also save/restore only as many SWF registers that each platform has. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fd8f507c0de97c3cff39c2e905ad92f15debbdcf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:42 2015 +0300 drm/i915: s/PIPE_FRMCOUNT_GM45/PIPE_FRMCOUNT_G4X/ etc. The PIPE_FRMCOUNT_GM45 and PIPE_FLIPCOUNT_GM45 names have bothered me for a long time. The work equally well for ELK and onwards, so let's s/GM45/G4X/. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b51a284278c634c675fa22e26e9e9b97dec4518a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:41 2015 +0300 drm/i915: Turn GEN5_ASSERT_IIR_IS_ZERO() into a function Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 395b2913e36ffb6a09057ea0b069113960dd3a06 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:40 2015 +0300 drm/i915: Fix a few bad hex numbers in register defines A few register mask defines were missing the '0x' from hex numbers. Or at least I assume those were meant to be hex numbers. Put the '0x' in place. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 571f2c11b343cd6997f35a21f6caa0f78e87fc84 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 11 13:48:05 2015 +0200 qlcnic: constify qlcnic_mbx_ops structure The only instance of a qlcnic_mbx_ops structure is never modified. Thus the declaration of the structure and all references to the structure type can be made const. In the definition of the qlcnic_mailbox structure, the ops field is no longer lined up with the other fields. This was left as is, to avoid a lot of trivial changes on the other lines. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Sony Chacko <sony.chacko@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68d9753837db0e45dadd16a312d479adf3170b2c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:39 2015 +0300 drm/i915: Protect register macro arguments Always put parens around macro argument evaluations. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 699fc401da1c9cc8c6bda578ca3d6310924276a2 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:38 2015 +0300 drm/i915: Include gpio_mmio_base in GMBUS reg defines Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 436c6d4a145b63621cd40d81231b39d22ae84292 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:37 2015 +0300 drm/i915: Parametrize HSW video DIP data registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 03999f0436325106ae4c6ca18646c68e5acc7f1b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Oct 12 19:41:08 2015 +0300 drm/i915: Eliminate weird parameter inversion from BXT PPS registers v2: Keep using the same registers (PCH_*) instead of accidentally starting to use the other ones (BXT_*)2) (Jesse) Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6042639c4c7f9e8a0c634245f034eb94827591a8 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 10:44:32 2015 +0100 drm/i915: Hold dev->event_lock whilst inspecting intel_crtc->unpin_work We should serialise access to the intel_crtc->unpin_work through the dev->event_lock spinlock. It should not be possible for it to disappear without severe error as the mmio_flip worker has not tagged the unpin_work pending flip-completion. Similarly if the error exists, just taking the unpin_work whilst holding the spinlock and then using it unserialised just masks the race. (It is supposed to be valid as the unpin_work exists until the flip completion interrupt which should not fire until we flush the mmio writes to update the display base which is the last time we access the unpin_work from the kthread.) References: https://bugs.freedesktop.org/show_bug.cgi?id=92335 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d7f833fd182c989a7f0d2861a68acbee99865cf Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:31 2015 +0100 mfd: da9150: Use DEFINE_RES_IRQ_NAMED() help macro for IRQ resource Suggested-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 45b1737982fc2de97cf6ca9e6b1c14cef70f0c5c Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:26 2015 +0100 mfd: da9150: Use relative paths in DT bindings document When referencing other DT bindings documentation, use relative path rather than absolute. Suggested-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4e2d9460e24efccd667f0ee9ba3955b5a09ca4df Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:21 2015 +0100 power: da9150: Add DT bindings documentation for Fuel-Gauge Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Acked-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a419b4fd9138c6cd5049d14813e7d94e596e4540 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:16 2015 +0100 power: Add support for DA9150 Fuel-Gauge This adds power supply driver support for the Fuel-Gauge part of the DA9150 combined Charger and Fuel-Gauge device. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Acked-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit daaab943260fbfce27b0e86d44a2826cea60a4fd Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:12 2015 +0100 mfd: da9150: Update DT bindings for Fuel-Gauge support Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1ac710e08a86e4723286873db73edb2a6e99f591 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:08 2015 +0100 mfd: da9150: Add support for Fuel-Gauge Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7ceebfe46ec026b5405416b72772ac5aa9e09e84 Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Oct 9 13:10:37 2015 +0200 netfilter: nfqueue: don't use prev pointer Usage of -prev seems buggy. While packet was out our hook cannot be removed but we have no way to know if the previous one is still valid. So better not use ->prev at all. Since NF_REPEAT just asks to invoke same hook function again, just do so, and continue with nf_interate if we get an ACCEPT verdict. A side effect of this change is that if nf_reinject(NF_REPEAT) causes another REPEAT we will now drop the skb instead of a kernel loop. However, NF_REPEAT loops would be a bug so this should not happen anyway. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ab30965d9bfcd04931f9b70d00faa2ea614835a8 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Sun Oct 11 20:54:51 2015 +0200 ALSA: usb-audio: Fix max packet size calculation for USB audio Rounding must take place before multiplication with the frame size, since each packet contains a whole number of frames. We must also properly consider the data interval, as a larger data interval will result in larger packets, which, depending on the sampling frequency, can result in packet sizes that are less than integral multiples of the packet size for a lower data interval. Detailed explanation and rationale: The code before this commit had the following expression on line 613 to calculate the maximum isochronous packet size: maxsize = ((ep->freqmax + 0xffff) * (frame_bits >> 3)) >> (16 - ep->datainterval); Here, ep->freqmax is the maximum assumed sample frequency, calculated from the nominal sample frequency plus 25%. It is ultimately derived from ep->freqn, which is in the units of frames per packet, from get_usb_full_speed_rate() or usb_high_speed_rate(), as applicable, in Q16.16 format. The expression essentially adds the Q16.16 equivalent of 0.999... (i.e. the largest number less than one) to the sample rate, in order to get a rate whose integer part is rounded up from the fractional value. The multiplication with (frame_bits >> 3) yields the number of bytes in a packet, and the (16 >> ep->datainterval) then converts it from Q16.16 back to an integer, taking into consideration the bDataInterval field of the endpoint descriptor (which describes how often isochronous packets are transmitted relative to the (micro)frame rate (125us or 1ms, for USB high speed and full speed, respectively)). For this discussion we will initially assume a bDataInterval of 0, so the second line of the expression just converts the Q16.16 value to an integer. In order to illustrate the problem, we will set frame_bits 64, which corresponds to a frame size of 8 bytes. The problem here is twofold. First, the rounding operation consists of the addition of 0x0.ffff and subsequent conversion to integer, but as the expression stands, the conversion to integer is done after multiplication with the frame size, rather than before. This results in the resulting maxsize becoming too large. Let's take an example. We have a sample rate of 96 kHz, so our ep->freqn is 0xc0000 (see usb_high_speed_rate()). Add 25% (line 612) and we get 0xf0000. The calculated maxsize is then ((0xf0000 + 0x0ffff) * 8) >> 16 = 127 . However, if we do the number of bytes calculation in a less obscure way it's more apparent what the true corresponding packet size is: we get ceil(96000 * 1.25 / 8000) * 8 = 120, where 1.25 is the 25% from line 612, and the 8000 is the number of isochronous packets per second on a high speed USB connection (125 us microframe interval). This is fixed by performing the complete rounding operation prior to multiplication with the frame rate. The second problem is that when considering the ep->datainterval, this must be done before rounding, in order to take the advantage of the fact that if the number of bytes per packet is not an integer, the resulting rounded-up integer is not necessarily a factor of two when the data interval is increased by the same factor. For instance, assuming a freqency of 41 kHz, the resulting bytes-per-packet value for USB high speed is 41 kHz / 8000 = 5.125, or 0x52000 in Q16.16 format. With a data interval of 1 (ep->datainterval = 0), this means that 6 frames per packet are needed, whereas with a data interval of 2 we need 10.25, i.e. 11 frames needed. Rephrasing the maxsize expression to: maxsize = (((ep->freqmax << ep->datainterval) + 0xffff) >> 16) * (frame_bits >> 3); for the above 96 kHz example we instead get ((0xf0000 + 0xffff) >> 16) * 8 = 120 which is the correct value. We can also do the calculation with a non-integer sample rate which is when rounding comes into effect: say we have 44.1 kHz (resulting ep->freqn = 0x58333, and resulting ep->freqmax 0x58333 * 1.25 = 0x6e3ff (rounded down)): Original maxsize = ((0x6e3ff + 0xffff) * 8) << 16 = 63 (63.124.. rounded down) True maxsize = ceil(44100 * 1.25 / 8000) * 8 = 7 * 8 = 56 New maxsize = ((0x6e3ff + 0xffff) >> 16) * 8 = 7 * 8 = 56 This is also corroborated by the wMaxPacketSize check on line 616. Assume that wMaxPacketSize = 104, with ep->maxpacksize then having the same value. As 104 < 127, we get maxsize = 104. ep->freqmax is then recalculated to (104 / 8) << 16 = 0xd0000 . Putting that rate into the original maxsize calculation yields a maxsize of ((0xd0000 + 0xffff) * 8) >> 16 = 111 (with decimals 111.99988). Clearly, we should get back the 104 here, which we would with the new expression: ((0xd0000 + 0xffff) >> 16) * 8 = 104 . (The error has not been a problem because it only results in maxsize being a bit too big which just wastes a couple of bytes, either as a result of the first maxsize calculation, or because the resulting calculation will hit the wMaxPacketSize value before the packet is too big, resulting in fixing the size to wMaxPacketSize even though the packet is actually not too long.) Tested with an Edirol UA-5 both at 44.1 kHz and 96 kHz. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3c69ea44406bf27b6f2e9b2f11238c344fd8374d Merge: 53b3ffe e8d65a8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 13 11:37:06 2015 +0200 Merge branch 'for-linus' into for-next commit 61f6bba006d4e643fdff62c3d7fd4ea6ca4f468d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Oct 13 11:36:21 2015 +0200 mac80211: use new cfg80211_inform_bss_frame_data() API The new API is more easily extensible with a metadata struct passed to it, use it in mac80211. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e8d65a8d985271a102f07c7456da5b86c19ffe16 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Oct 13 10:10:18 2015 +0200 ALSA: hda - Fix inverted internal mic on Lenovo G50-80 Add the appropriate quirk to indicate the Lenovo G50-80 has a stereo mic input where one channel has reverse polarity. Alsa-info available at: https://launchpadlibrarian.net/220846272/AlsaInfo.txt Cc: stable@xxxxxxxxxxxxxxx BugLink: https://bugs.launchpad.net/bugs/1504778 Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 42f2bb1c494543084b764e1ca253c73db910daf2 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Oct 13 14:57:49 2015 +0530 ALSA: hdac: Explicitly add io.h Compiling the hdac extended core on arm fails with below error: sound/hda/ext/hdac_ext_bus.c: In function 'hdac_ext_writel': >> sound/hda/ext/hdac_ext_bus.c:29:2: error: implicit declaration of >> function +'writel' [-Werror=implicit-function-declaration] writel(value, addr); ^ sound/hda/ext/hdac_ext_bus.c: In function 'hdac_ext_readl': >> sound/hda/ext/hdac_ext_bus.c:34:2: error: implicit declaration of >> function +'readl' [-Werror=implicit-function-declaration] return readl(addr); This is fixed by explicitly including io.h Fixes: 99463b3a3994 - ('ALSA: hda: provide default bus io ops extended hdac') Reported-by: kbuild test robot <lkp@xxxxxxxxx> Suggested-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fea37552600872368a23019aef4bf8c09e0f0380 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:18 2015 +0200 ARM: dts: rockchip: Add SPDIF optical out on Radxa Rock2 Square Enable the SPDIF optical output on Radxa Rock2 square boards Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 874e568e500aeed7d54820c21f3854f3ffa1f59d Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:17 2015 +0200 ARM: dts: rockchip: Add SPDIF transceiver for RK3288 Add the SPDIF transceiver controller definition and pin setup for RK3288 SoCs Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit d97e862ef6ae3f46465f00f9bf043c0df125b899 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:15 2015 +0200 ARM: dts: rockchip: Add SPDIF optical out on Radxa Rock This enables the SPDIF optical audio output on the Radxa Rock Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 39b37ce2e308846550339adf101bf85c04f25eec Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:14 2015 +0200 ARM: dts: rockchip: Add SPDIF transceiver for RK3188 Add the SPDIF transceiver controller and pin for RK3188 Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e2845c458ea27e924b0f2cbd647ba43e810305a5 Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Mon Oct 12 09:51:35 2015 +0300 mac80211: Do not restart scheduled scan if multiple scan plans are set If multiple scan plans were set for scheduled scan, do not restart scheduled scan on reconfig because it is possible that some scan plans were already completed and there is no need to run them all over again. Instead, notify userspace that scheduled scan stopped so it can configure new scan plans for scheduled scan. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3b06d277957c7af705a9c0cdda4b371759efb717 Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Mon Oct 12 09:51:34 2015 +0300 cfg80211: Add multiple scan plans for scheduled scan Add the option to configure multiple 'scan plans' for scheduled scan. Each 'scan plan' defines the number of scan cycles and the interval between scans. The scan plans are executed in the order they were configured. The last scan plan will always run infinitely and thus defines only the interval between scans. The maximum number of scan plans supported by the device and the maximum number of iterations in a single scan plan are advertised to userspace so it can configure the scan plans appropriately. When scheduled scan results are received there is no way to know which scan plan is being currently executed, so there is no way to know when the next scan iteration will start. This is not a problem, however. The scan start timestamp is only used for flushing old scan results, and there is no difference between flushing all results received until the end of the previous iteration or the start of the current one, since no results will be received in between. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit af61426187cd854bffe013ca8547bd8fa3c4dfbf Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 7 15:48:26 2015 +0200 wireless: add WNM action frame categories Add the WNM and unprotected WNM categories and mark the latter as not robust. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a4288289f585d42a19145f266e214acb165fe9b3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 7 15:48:25 2015 +0200 wireless: update robust action frame list Unprotected DMG and VHT action frames are not protected, reflect that in the list. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6e19bc4b7091ffd26586100eee78232b44427ec7 Author: Dmitry Shmidt <dimitrysh@xxxxxxxxxx> Date: Wed Oct 7 11:32:53 2015 +0200 nl80211: allow BSS data to include CLOCK_BOOTTIME timestamp For location and connectivity services, userspace would often like to know the time when the BSS was last seen. The current "last seen" value is calculated in a way that makes it less useful, especially if the system suspended in the meantime. Add the ability for the driver to report a real CLOCK_BOOTTIME stamp that can then be reported to userspace (if present). Drivers wishing to use this must be converted to the new API to call cfg80211_inform_bss_data() or cfg80211_inform_bss_frame_data(). They need to ensure the reported value is accurate enough even when the frame might have been buffered in the device (e.g. firmware.) Signed-off-by: Dmitry Shmidt <dimitrysh@xxxxxxxxxx> [modified to use struct, inlines] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 93f0490e5deb9445737cabf0e436f3288a4042b7 Author: Tamizh chelvam <c_traja@xxxxxxxxxxxxxxxx> Date: Wed Oct 7 10:40:04 2015 +0530 Revert "mac80211: remove exposing 'mfp' to drivers" This reverts commit 5c48f1201744233d4f235c7dd916d5196ed20716. Some device drivers (ath10k) offload part of aggregation including AddBA/DelBA negotiations to firmware. In such scenario, the PMF configuration of the station needs to be provided to driver to enable encryption of AddBA/DelBA action frames. Signed-off-by: Tamizh chelvam <c_traja@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 985f2c87a7109a42cac93f56ea595353d53a1746 Merge: 4d57c67 6623c60 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Oct 13 10:28:16 2015 +0200 Merge remote-tracking branch 'net-next/master' into mac80211-next Merge net-next to get some driver changes that patches depend on (in order to avoid conflicts). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 115719fceaa733d646e39cdce83cc32ddb891a49 Author: Williams, Dan J <dan.j.williams@xxxxxxxxx> Date: Mon Oct 12 21:12:57 2015 +0000 i915: switch from acpi_os_ioremap to memremap i915 expects the OpRegion to be cached (i.e. not __iomem), so explicitly map it with memremap rather than the implied cache setting of acpi_os_ioremap(). Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: David Airlie <airlied@xxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit adfb46721e4a4ef373dee8b773b424c40a176fc2 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Mon Oct 12 10:57:43 2015 +0200 drm/i915: Drop unnecessary #include <linux/vga_switcheroo.h> Commit 599bbb9de0fe ("drm/i915: i915 cannot provide switcher services.") removed all remaining vga_switcheroo symbols from intel_acpi.c but left the include. Drop it. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8f25f6680a8df64409a1fd8bddfe7848ee7c7e0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:53:49 2015 -0700 staging: comedi: adq12b: usleep_range is preferred over udelay Fix checkpatch.pl issue: CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt Replace the udelay() 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 b4fa9199caed382466d7c3e9c8298365baa0d898 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:53:48 2015 -0700 staging: comedi: adq12b: prefer using the BIT macro As suggested by checkpatch.pl, 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 3eb25177b616f1baabdee167e40b577ef8387297 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:53:47 2015 -0700 staging: comedi: adq12b: tidy up multi-line comments Reformat the multi-line comments in the kernel CodingStyle. And refactor them to follow the normal format for comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e81ca3de4ea65822823c082909cabbc68c723586 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:29 2015 -0700 staging: comedi: dt3000: update the MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more ueeful than the generic "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 cb3a6194e18eccc928f0973d6b95c8d27472beb8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:28 2015 -0700 staging: comedi: dt3000: remove #if 0'ed out code Replace the disabled code in dt3k_dio_config() with a comment in case it's actually needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 649c836ea37d30fe5e7c6548ffd22eacec9a29e7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:27 2015 -0700 staging: comedi: dt3000: tidy up memory subdevice init Remove the unnecessary 'len_chanlist' initialization. This member is only used by subdevices that support async commands. For aesthetics, reorder the initialization 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 3a7b06f73296684426db4a44429a8376b0dd729d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:26 2015 -0700 staging: comedi: dt3000: tidy up digital i/o subdevice init Remove the unnecessary 'len_chanlist' initialization. This member is only used by subdevices that support async commands. For aesthetics, reorder the initialization 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 2e310235ca8f26efdeb150a10855ad8c1e886dad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:25 2015 -0700 staging: comedi: dt3000: rename dt3k_ai_insn() For aesthetics, rename this subdevice (*insn_read) function to follow the normal naming in comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78c2f455e2efcb079f719e328133b40ee9110e6c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:24 2015 -0700 staging: comedi: dt3000: the dt3002 board does not have analog outputs According to the boardinfo, the dt3002 board does not have analog outputs. The rest of the board have two 12-bit analog output channels. Replace the 'dachan' and 'dabits' members of the boardinfo with a bit- field flag 'has_ao'. Use the new member to conditionally initialize the analog output subdevice. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91644956fd539968c530f7f1cbb4e65887e1f7a3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:23 2015 -0700 staging: comedi: dt3000: refactor 'adbits' boardinfo All the board supported by this driver have analog inputs. The input resolution is either 12-bit or 16-bit. Replace the 'adbits' member of the boardinfo with a bit-field flag 'ai_is_16bits' and just set if for the 16-bit boards. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2943de6ad54b4a4ecb066f2f8df7c7db0d4c8a99 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:22 2015 -0700 staging: comedi: dt3000: remove proc subdevice This subdevice is not allocated or defined in the driver. Remove the disabled 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 3d5df65076eec71c0a1eb829f176f6e9652fd149 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:21 2015 -0700 staging: comedi: dt3000: tidy up remaining defines Move the remaining defines and prefix them with 'DPR_' for consistency. Define a macro to set the analog input trigger bits to fix the checkpatch.pl issues about: CHECK: spaces preferred around that '<<' (ctx:VxV) CHECK: Prefer using 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 2ce1514c9dbb213061912a60e9624ac0e21e9c74 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:20 2015 -0700 staging: comedi: dt3000: rename the interrupt flag defines For aesthetics, rename these defines so they have association with the register. Move them closer to the register define and use the BIT macro to define them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f17915c2806e0fb081456f1218c1c1b65a57b19 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:19 2015 -0700 staging: comedi: dt3000: rename the SUBS_* defines For aesthetics, rename these defines to avoid any confusion with the similar comedi defines. Move them closer to the register they are associated with. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6520a8619760a45dd2f7b9c1f8d5503a4cc8d29 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:18 2015 -0700 staging: comedi: dt3000: tidy up the command mailbox defines For aesthetics, rename these defines so they are associated with the register. Move the defines closer to the register define. Define some macros for the "completion" and "cmd" bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6366dd4a77e42bc26f0117ff9720d0a2f6882a9e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:17 2015 -0700 staging: comedi: dt3000: rename dual-ported RAM location defines Rename these CamelCase defines and fix the checkpatch.pl issues: CHECK: Avoid CamelCase: <DPR_{various}> CHECK: spaces preferred around that '*' (ctx:VxV) CHECK: spaces preferred around that '+' (ctx:VxV) For aesthetics, move the defines to after the includes. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d9052927ec44b089f406d58538910422e31ee60 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:16 2015 -0700 staging: comedi: dt3000: tidy up multi-line comments Reformat 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 eb12dfc93a0e3021fc61959b6887dfe68daa8234 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:09:35 2015 -0700 staging: comedi: adl_pci9118: rename Compute_and_setup_dma() Rename this CamelCase function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7db6ed68cae2c5b24d2a41a085c42f092efc3c93 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:09:34 2015 -0700 staging: comedi: adl_pci9118: prefer using the BIT macro As suggested by checkpatch.pl, 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 bb7085b1fbc7eee6d254fe978bd00ffcfe959bf6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:47:45 2015 -0700 staging: comedi: addi_apci_2032: document the spinlock_t definition Add some comments to the private data tp quiet the checkpatch.pl issue about: CHECK: spinlock_t definition without comment Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc413f7ad166fcb1f88699616bb2654f42ad72ad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:47:44 2015 -0700 staging: comedi: addi_apci_2032: prefer using the BIT macro As suggested by checkpatch.pl, 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 bb46c4ec04543d8e5a2572e8494aeaca2aa626b3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:30:45 2015 -0700 staging: comedi: ii_pci20kc: update the MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "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 d172b63a5570f8e0c8de859d04aada7514cdedea Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:30:44 2015 -0700 staging: comedi: ii_pci20kc: use comedi_offset_munge() For aesthetics, use the helper function to handle the munging of the analog output data from offset binary to 2's complement and the analog input data from 2's complement 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 c98f4011ebd41ab9ff15e1c52acc446e1ee7e191 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:30:43 2015 -0700 staging: comedi: ii_pci20kc: prefer using the BIT macro As suggested by checkpatch.pl, 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 5050b1353903f71ab81462458100e2927e904d66 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 15:58:44 2015 -0700 staging: comedi: dt9812: reword comments to fix checkpatch.pl issues Reword the block comments to fix the checkpatch.pl issues about: WARNING: Block comments use * on subsequent lines WARNING: Block comments use a trailing */ on a separate line For consistency, also reword the previous comments. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00761a9c4b71682ffc6a988d11f96ccf71cebb4e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 15:58:43 2015 -0700 staging: comedi: dt9812: rename F020_MASK_DACxCN_DACxEN Rename this CamelCase define. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c6e8b1ab21be537fd3ffad5ca1d1b93ed44e5e6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 15:58:42 2015 -0700 staging: comedi: dt9812: tidy up multi-line comment Reformat the multi-line comment 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 f2d1cafee63167604e8f9fd37a3ff938a852212f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:49 2015 -0700 staging: comedi: icp_multi: update the MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "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 f78ce5fd1ef5e99290a4251b95b0c27ba7d2db4f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:48 2015 -0700 staging: comedi: icp_multi: remove board reset during (*detach) The icp_multi_reset() function currnelt does the following during the (*auto_attach) and (*detach) of this driver: 1) disables all interrupts and clears any pending requests 2) resets the analog output channels to 0V (0..5V range) 3) sets all digital output channels to 0 Interrupts are not used by this driver so the disable/clear when detaching is not necessary. Depending on the use, reseting the analog and digital outputs when the driver is detached might not be desireable. Remove the board reset during the (*detach) and use comedi_pci_detach() directly. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e3390725093dfec3143046592ed611b4b7a12e6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:47 2015 -0700 staging: comedi: icp_multi: tidy up subdevice init For aesthetics, add some whitespace to the subdevice initialization. Remove the unnecessary initialization of the 'len_chanlist' for each subdevice. That member is only used by subdevices that support async commands. Also, remove the initialzation of the dev->read_subdev. That member is also only used for async command support. Rename some of the subdevice functions to follow the normal format used in comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afbd3c2b97499d74d068908ecd10cbef0d0c6e16 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:46 2015 -0700 staging: comedi: icp_multi: remove counter subdevice The support functions for this subdevice are not complete. Since the counter is the last subdevice just remove it and it's allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8aedf0f10f0af9324fbb41c28bb57570d0123443 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:45 2015 -0700 staging: comedi: icp_multi: fix clock comment CodingStyle Reword the block comment to fix a CodingStyle issue. For aesthetics, also rename the icp_multi_ao_eoc() function. It's testing for the analog output to be 'ready' not for an 'end-of-conversion'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4f20dd0249fcf1f950d2fc196b7c84a967d5731 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:44 2015 -0700 staging: comedi: icp_multi: remove private data member 'DacCmdStatus' This private data member isn't really needed. The two functions that use it, icp_multi_ao_insn_write() and icp_multi_reset(), mask any previous value before setting the bits. The masking just clears the variable. Refactor the code to not use the private data member. This also removes the need for the private data so remove it's allocation during the attach. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36825db47e12e00413b0c5f8cebb6a6d49f1db36 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:43 2015 -0700 staging: comedi: icp_multi: remove check_channel_list() This function would only be needed in the driver supported async commands. It's #if 0'ed out anyway so just 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 4faa71ff91e783e70e23d86cbf870dc3a9899011 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:42 2015 -0700 staging: comedi: icp_multi: remove useless interrupt disable code This driver does not use interrupts and all the interrupt source are disabled by icp_multi_reset() when the board is first attached. Remove the unnecessary, and useless, disable and clearing of interrupts in the analog input and output (*insn_read) and (*insn_write) functions. This also removes the need for the private data members 'IntEnable' and 'IntStatus'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd61ceddfe31da38c564a587f26164c33962a5cb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:41 2015 -0700 staging: comedi: icp_multi: remove interrupt support The interrupt handler in this driver doesn't do anything other than read the interrupt status register. Since I can't locate a datasheet for the board, remove the useless interrupt support code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9405655029390a58a7ad586541c830687196d78 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:40 2015 -0700 staging: comedi: icp_multi: absorb setup_channel_list() This function is only called in one place and the 'n_chan' parameter is always 1. This makes the for() loop a bit silly. Absorb the function into the caller and simplify the code. This also removes the need for the private data member 'AdcCmdStatus'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc7680d11b874addb345d682d927b7768534998d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:39 2015 -0700 staging: comedi: icp_multi: remove unused members from private data These members are either not used at all or they are set but never used. Just 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 c2a6e057d3bd462bf8f529da484c6baf4a5d63b0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:38 2015 -0700 staging: comedi: icp_multi: remove unnecessary block comment This comment doesn't add any value to the code. 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 24bc018e736f35d99a217a3488d85e83f693d3d9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:37 2015 -0700 staging: comedi: icp_multi: rename static variable 'range_analog' For aesthetics, rename this static variable 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 8537a1a4b46fdd96448cc82c7fa0ea25ab30f994 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:36 2015 -0700 staging: comedi: icp_multi: tidy up the interrupt enable/status register bits For aesthetics, rename these bit defines so they are associated with the registers and use the BIT macro to define them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01544d6e0ebd4a2f756a69263240c87c8610764e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:35 2015 -0700 staging: comedi: icp_multi: tidy up the DAC command/status register bits For aesthetics, rename these bit defines so they are associated with the register and use the BIT macro to define them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 456031d6041a57229b67dbfa598d1ece814fb001 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:34 2015 -0700 staging: comedi: icp_multi: tidy up the ADC command/status register bits For aesthetics, rename these bit defines so they are associated with the register and use the BIT macro to define them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf895d83585ed6a091a20d96c2ecbf403261df4e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:33 2015 -0700 staging: comedi: icp_multi: tidy up multi-line comments Reformat 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 651659c13353cb6a9eee4e94778b1708d3342dcf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:44 2015 -0700 staging: comedi: me_daq: fix me_ai_insn_read() The comedi core expects (*insn_read) functions to return insn->n data values. Refactor the function to work like the core expects. For aesthetics, use the comedi_offset_munge() helper to munge the 2's complement data. This also fixes a minor issue when comedi_timeout() times out. Currently this function just returns which leaves the ADC mode programmed for software triggering. With the refactor the ADC mode is always disabled when the function exits. This allows removing the unnecessary steps to "stop any running conversions" at the start of the function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a844a91cab4556b7b7e336951623b394a80c934 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:43 2015 -0700 staging: comedi: me_daq: allow differential analog inputs The ai (*insn_read) allows differential analog inputs but the subdevice initialization is missing the SDF_DIFF subdev_flag to allow the user to select this mode. Fix the subdevice init. According to the manual, differential operation only works with the first 8 channels and bipolar ranges. Add a check to the (*insn_read) to ensure this. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 450a84e8cf689912cc33d18f5aba38da9312d2b9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:42 2015 -0700 staging: comedi: me_daq: tidy up counter registers For aesthetics, convert the counter registers into macros that take the counter channel and return the correct register offset. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdfc0a0dc5aefa49cfcb853729fe505c9c27d2bc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:41 2015 -0700 staging: comedi: me_daq: tidy up dac data registers For aesthetics, use a macro that takes the analog output channel and returns the correct offset for the data register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99104f62f018df989dc4bdd7c452b2e4e8b266e9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:40 2015 -0700 staging: comedi: me_daq: use comedi_range_is_bipolar() helper Use the helper function to determine if the dac bipolar bit needs to be set. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46ada8afc8fdd2788db152ceb0fc001f46072dfe Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:39 2015 -0700 staging: comedi: me_daq: remove useless for() loop This for() loop isn't needed. Nothing in the loop uses the 'i' variable. 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 16aa2a66050607a3728173ad64a1830a23120b2f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:38 2015 -0700 staging: comedi: me_daq: tidy up dac control register defines Redefine the dac control register bits as macros that take the channel number and return the correct bit values. This register needs to be read after the new values are written in order to actually update the dac. For aesthetics, use the same define to read and write 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 abd2541f3900f058fffdd89dac125b5fd48a0037 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:37 2015 -0700 staging: comedi: me_daq: tidy up ai fifo/chanlist register defines Tidy up this register usage by defining some macros to set the channel and gain bits. Add a define for the bit that enables differential mode. Writing to this offset puts data in the ai chanlist fifo, reading from it gets data from the ai data fifo. For aesthetics, use the same define to read and write 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 faf58f60a4b0e93a5b7f74b74a80aa01089d3f38 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:36 2015 -0700 staging: comedi: me_daq: tidy up timer data register defines For aesthetics, convert the register defines into a macro that takes the timer channel and returns the correct register offset. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0f6de37d63faa88ba2ad7e7b046c7fa359a0656 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:35 2015 -0700 staging: comedi: me_daq: tidy up digital i/o port register defines For aesthetics, add a _REG suffix to these defines. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 065d805744cdb6d92d11fe9a7e12027c78d981cc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:34 2015 -0700 staging: comedi: me_daq: tidy up status register defines Rename the bits of this register so they have association with the register. Use the BIT macro to define the bits. Writing to the status register clears any pending interrupts. For aesthetics, remove the ME_RESET_INTERRUPT define and just use the ME_STATUS_REG define to write the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49e890e0d2c12516736d1c4ae821d6a72b047265 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:33 2015 -0700 staging: comedi: me_daq: tidy up control 2 register defines Rename the bits of this register so they have association with the register. Use the BIT macro to define the bits. Reading the control 2 register updates the DAC registers. For aesthetics, remove the MC_DAC_UPDATE define and just use the ME_CTRL2_REG define to read the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 616f86f00fc9b82a300466c5896c3c6682bbb8dc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:32 2015 -0700 staging: comedi: me_daq: tidy up control 1 register defines Rename the bits of this register so they have association with the register. Use the BIT macro to define the bits. Add a macro to select the ADC mode and remove the magic value used to stop conversion. Reading the control 1 register starts an analog input conversion. For aesthetics, remove the MC_ADC_START define and just use the ME_CTRL1_REG define to read the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cee8eaa254988574452f302dd8ce28a7303d49d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:31 2015 -0700 staging: comedi: me_daq: tidy up private data For aesthetics, rename the local variable used to access dev->private. In comedi drivers this variable is typically named 'devpriv'. For aesthetics, rename the private data members used to mirror the write-only register to, slightly, shorter names. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa7ac9c0fc5418154a6356583f880164cdcaa7f1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:18 2015 -0700 staging: comedi: mf6x4: tidy up subdevice init For aesthetics, add some whitespace to the subdevice initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21cf4eedae651b3850b1e659caad966e6d64136d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:17 2015 -0700 staging: comedi: mf6x4: change type of local variable For aesthetics, change the type of this local variable to unsigned int. This fixes the checkpatch.pl issue about: CHECK: Prefer kernel type 'u32' over 'uint32_t' Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 60 +++++++++++++++++----------------- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae57371378801d0e885d4cb3aaf15b9d7d5d3649 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:16 2015 -0700 staging: comedi: mf6x4: refactor block comment Refactor this block comment to fix the checkpatch.pl issues: WARNING: Block comments use * on subsequent lines WARNING: Block comments use a trailing */ on a separate line Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 2 +- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1df2abb351f1cd998099dff34ed5b5f844c8b387 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:15 2015 -0700 staging: comedi: mf6x4: rename private data 'gpio_R' Rename this CamelCase member of the private data. For consistency, also rename the register defines associated with this member. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 4 ++-- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19e02434714c05da730be08927402d6bc8d51fea Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:14 2015 -0700 staging: comedi: mf6x4: rename remaining BAR1 register defines For consistency, rename the ADSTART and DAC register defines to add a bit of clarity. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 16 ++++++++-------- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b02530f5549a40e2e02dc33157f406d706e1bfa1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:13 2015 -0700 staging: comedi: mf6x4: rename the digital input register defines For aesthetics, rename these defines to clarify them a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 8 ++++---- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 418c971364cb6eb3cc94b9e4ec1ae6bf3fc98dc7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:12 2015 -0700 staging: comedi: mf6x4: remove unnecassary masking of digital outputs THe 's->state' will always be in range for the 8 digital outputs. Remove the unnecessary masking of the value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 6 +++--- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 597063341936a3ccddb30783781d474d7e7d70cd Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:11 2015 -0700 staging: comedi: mf6x4: A/D converter uses 2's complement coding According to the user's manual, the A/D converter uses 2's complement coding. Use the comedi_offset_munge() helper to convert the data to the offset binary format used by comedi. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 5 ++--- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9ab30239aa33e5d79917303f9c67dff98cc75c3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:10 2015 -0700 staging: comedi: mf6x4: introduce a macro to select the AI channel For aesthetics, use a macro to set the bit in the ADCTRL register that selects an analog input channel. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 9 +++++---- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea22ae5e13490712d7498194726b5001355fced6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:09 2015 -0700 staging: comedi: mf6x4: sort the BAR1 register defines For aesthetics, sort the defines in register order. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 10 +++++----- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77eb74166ed603347f3712c984173d3ea5684651 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:08 2015 -0700 staging: comedi: mf6x4: remove unnecessary whitespace For aesthetics, remove the extra whitespace and align all the register defines. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 8 +++----- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e33048b07903435d72cfba7463411a2241d42c20 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:07 2015 -0700 staging: comedi: mf6x4: remove unnecessary defines The MF6X4_DAC_R macro defines the offsets for all the DAC registers. Remove the unnecessary defines for each register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 22 +++++++++++----------- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b7cbf14493f8bf8e171bc5a39780e434181f430 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:06 2015 -0700 staging: comedi: mf6x4: prefer using the BIT macro Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 9 --------- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aafbdb1294f026e20617d9b1028f962af2e239c7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 13:02:51 2015 -0700 staging: comedi: adv_pci1723: prefer using the BIT macro As suggested by checkpatch.pl, 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 a789fdf817c057598c6ae5f76f93591aa1ed3834 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 13:07:04 2015 -0700 staging: comedi: adv_pci1724: prefer using the BIT macro As suggested by checkpatch.pl, 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 ce6295e267014099ec849bb9a2b84c7b9f3dd8eb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:01:37 2015 -0700 staging: comedi: adl_pci6208: prefer using the BIT macro As suggested by checkpatch.pl, 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 dcfd349493f7c37065c262a6f5939c1f3060b157 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:58:55 2015 -0700 staging: comedi: addi_apci_3xxx: prefer using the BIT macro As suggested by checkpatch.pl, 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 6ed30c8945832246bbb4b84271327aa0f341e1dd Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:56:34 2015 -0700 staging: comedi: addi_apci_3120: prefer using the BIT macro As suggested by checkpatch.pl, 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 6cd46d716aa1877e02c82fa5ff8bbff5f85bfc2f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:32:14 2015 -0700 staging: comedi: addi_apci_1032: prefer using the BIT macro As suggested by checkpatch.pl, 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 1da661759f5f34f218d4d65c8872d271146d561b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 13:05:02 2015 -0700 staging: comedi: 8255_pci: prefer using the BIT macro As suggested by checkpatch.pl, 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 71c01379d1c57c96d833202d6b8128ccffc42665 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 15:43:44 2015 -0700 staging: comedi: fl512: usleep_range is preferred over udelay Fix checkpatch.pl issue: CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt Replace the udelay() 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 fca0b7dcfb20e9ca22dea0fdf551a7995cb3f2a4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 15:31:09 2015 -0700 staging: comedi: gsc_hpdi: use preferred kernel types Fix the checkpatch.pl issues about: CHECK: Prefer kernel type 'u32' over 'uint32_t' CHECK: Prefer kernel type 'u8' over 'uint8_t' Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 377767135a7c6f6dc89b65680123411d4f470508 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:35:18 2015 -0700 staging: comedi: ke_counter: prefer using the BIT macro Use a macro to define the clock source options. This fixes the checkpatch.pl issue about: CHECK: Prefer using 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 4403437e57c43c59c691a710a440d0924ed91b28 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:34 2015 -0700 staging: comedi: mpc624: change type of private data 'ai_speed' For aesthetics, change the type of this member to unsigned int. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47bdee7be0b34cc613ec4406a0d9737df1786f32 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:33 2015 -0700 staging: comedi: mpc624: use tabs for whitespace instead of spaces For aesthetics, use tabs instead of spaces for the whitespace in the register defines. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5fbccb9eea7354b7aaf41b10a1b44cf4c7b8d99 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:32 2015 -0700 staging: comedi: mpc624: introduce mpc624_ai_get_sample() Introduce a helper function to read the analog sample from the serially connected A/D converter and handle the munging of the data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa0cf376b9dc3b09af0f40ce7ace76e3d45c33a9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:31 2015 -0700 staging: comedi: mpc624: rename mpc624_ai_rinsn() For aesthetics, rename this function to follow the normal convention in comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b7b3d04f45b89c1c145737528c7b9c87b92a057 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:30 2015 -0700 staging: comedi: mpc624: there are only 4 analog inputs According to the datasheet, this board has 4 differential analog input channels not 8. Fix the subdevice init. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70e803352f100a9404ace6d06a6f7bec3909fb2d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:29 2015 -0700 staging: comedi: mpc624: tidy up subdevice init For aesthetics, add some whitespace to the subdevice init. Remove the unnecessary switch() code used to set the maxdata and range_table. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f1fd22caac0c8c1085dcf6bda143496a7ffd0ce Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:28 2015 -0700 staging: comedi: mpc624: update MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "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 00dd53e00566b1b40f82945f2294602e71582bdb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:27 2015 -0700 staging: comedi: mpc624: tidy up the ai conversion speed code Rename the CamelCase private data 'ulConvertionRate' and MPC624_SPEED_* defines. Create a macro to set the OSR bits that set the ai conversion speed and use it for the various MPC624_SPEED_* defines. Remove the unnecessary comment describing the speeds, this information is alread in the comedi driver comment block. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e437b1abab7486c5100606fcdeba8b1f60884a5d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:26 2015 -0700 staging: comedi: mpc624: tidy up multi-line comments Reformat 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 c9ffbfb066698141a7959de2e91d3fdfd05991b3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:49:54 2015 -0700 staging: comedi: pcl711: prefer using the BIT marco Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97c153da56d0e4ece56cb0065b8e3f40ba29a00b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:47:27 2015 -0700 staging: comedi: pcl812: rename private data 'IRQbits' Rename this CamelCase symbol. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94e9ef19854c8a9c71fdbabdf2c053b18da0aa0d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:47:26 2015 -0700 staging: comedi: pcl812: prefer using the BIT macro Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b20d6f793c5bd0493b26d04cbc7ce04c1c5cea0e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:47:25 2015 -0700 staging: comedi: pcl812: convert hardware type defines into an enum For aesthetics, convert these defines into an enum and rename the CamelCase. Fix the switch() code to use the enum without warnings. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 026d7877c89ee23d632181f23b4a37e73fe985b7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:44:04 2015 -0700 staging: comedi: pcl816: remove #if 0'ed out code Remove the #if 0'ed out code that would initialize an analog output subdevice. The hardware does not normally support an analog output subdevice. Analog outputs are only supported with additional "piggyback" modules. Support for these modules is not included in 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 2d8ea89191c3820bd3c08e75fff2f4d9fbd20f21 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:44:03 2015 -0700 staging: comedi: pcl816: prefer using the BIT macro Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdb3be16df0b4859a4fb21a02357e2007ffe5dbb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:44:02 2015 -0700 staging: comedi: pcl816: tidy up multi-line comments Reformat 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 699849fe452471cfa740cd659f42d349cf0b4bd1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:40:23 2015 -0700 staging: comedi: pcl818: remove unused "boards constants" These defines are not used. Remove them to get rid of the checkpatch.pl issue about avoiding CamelCase. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bbf3ea6c4173fc6586326e1d46877168309d00a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:40:22 2015 -0700 staging: comedi: pcl818: prefer using the BIT macro Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4976034f37b53ffbe4e8aaf3fbeb23f3e55b97c7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:20 2015 -0700 staging: comedi: multiq3: update the MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "Comedi low-level driver". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03a1847719b2bf8f3da1c89b0ae359cb1f92dea6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:18 2015 -0700 staging: comedi: multiq3: remove unnecessary include This driver does not use interrupts. Remove the include. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47f1fa37dbd17014724bd22e9e8fba9f538d27d8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:17 2015 -0700 staging: comedi: multiq3: tidy up multiq3_encoder_insn_read() Encoders are not a "normal" subdevice in comedi. For aesthetics, tidy up this function and add a couple comments to clarify the function and explain the strange munging of the data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc19858e1bbf9a9092eeeb7f670fdab7f11c57ac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:16 2015 -0700 staging: comedi: multiq3: remove unnecessary define This define is not needed. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a0ca07cc1bf65a3a84d68ca337e649c0cfdc22e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:15 2015 -0700 staging: comedi: multiq3: allow user to reset encoder channels Currently this driver resets all the encoder channels when the driver is first attached. Add a (*insn_config) to the subdevice to allow the use to reset the channels manually. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 014d8414ce40e3f2e9733bdde39f474299283290 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:14 2015 -0700 staging: comedi: multiq3: document the encoder chip commands Add some comments to document the commands that are sent to the encoder chips. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6dfb66d8992bb0e1244db36b72ba0c5bb05fb858 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:13 2015 -0700 staging: comedi: multiq3: tidy up control register bit defines For aesthetics, move these defines closer to the register define and use the BIT macro to define the bits. Add macros to set the bits needed to select the channel for the analog output, analog input, and encoder (counter) subdevices as well as the realtime clock registers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dfeacb43453205d97259a5dc3007565f699585b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:12 2015 -0700 staging: comedi: multiq3: introduce multiq3_set_ctrl() According to the programming manual. the 'SH' and 'CLK' bits in the control register need to be kept high at all times. Clarify this by introducing a helper function to set the control register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f8d129ed917d96dd74887e14b0c66366875cfa5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:11 2015 -0700 staging: comedi: multiq3: tidy up status register bit defines For aesthetics, move these defines closer to the register define and use the BIT macro to define the bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 889031c7d8c0a243a97b40c93bb5e769e055fbd5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:10 2015 -0700 staging: comedi: multiq3: tidy up register map defines For auesthetics, rename the register map defines. Convert the offset values to hex and add some whitespace. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f60d35f31782e194eb46357ff2e8aad3c126ce6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:09 2015 -0700 staging: comedi: multiq3: tidy up subdevice init For aesthetics, add some whitespace to the subdevice init and rearrange the initialization a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5affcdc236f1685122a6fdcb1a3c698f96f145ce Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:08 2015 -0700 staging: comedi: multiq3: tidy up multiq3_ai_insn_read() For aesthetics, use the proper symbol when reading the A/D data register to get the 16-bit sample data. Use the comedi_offset_munge() to do the 2's complement to offset binary munging of the sample data. Tidy up the function a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8e66cfd55d2e4e41f2832a9400b142beed95e75 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:07 2015 -0700 staging: comedi: multiq3: tidy up multi-line comments Reformat the multi-line comments in the kernel CodingStyle. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62319bceef42015d5e774e1db2e21fb5853a01bc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:11 2015 -0700 staging: comedi: quatech_daqp_cs: avoid calculating pacer divisor multiple times The pacer will either be used to trigger each conversion or to start each scan. Modify the (*do_cmdtest) so that one one divisor calculation is needed. Save the divisor value in the private data so that the (*do_cmd) does not have to do the calculation again. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d77ef8b43d6a9124f37b2f098b6d65573db0de3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:10 2015 -0700 staging: comedi: quatech_daqp_cs: ai async command requires a pacer The ai (*do_cmd) assumes that either the convert_src is TRIG_TIMER or the scan_begin_src is TRIG_TIMER and always programs the pacer clock with the appropriate trigger argument. Add a Step 2b check to the (*do_cmdtest) to ensure that at least one of the triggers is TRIG_TIMER. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac315c17f91d740c3cba4e83fcc73d7f75c967c0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:09 2015 -0700 staging: comedi: quatech_daqp_cs: cleanup Step 3 of ai (*do_cmdtest) Step 3 of the (*do_cmdtest) trivially validates the async command arguments. The validations also modify the arguments if they are invalid so that the user gets valid values if the test fails. Reorder the checks so that if any of the checks fail proper values are used for subsequent checks. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 848a7f7af0fb490274dc6031b0a79f4440a4948f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:08 2015 -0700 staging: comedi: quatech_daqp_cs: fix daqp_ai_cancel() Make sure interrupts are disabled and the event flags are cleared when an analog input async command is canceled. Remove the unnecessary calls to stop any running conversions in the (*insn_read) and (*do_cmd) functions. The comedi core will only call these functions if the subdevice is not busy (it has already been canceled). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77e7c200f37536e05f714bcebc34f58aba9eabfc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:07 2015 -0700 staging: comedi: quatech_daqp_cs: handle shared interrupt This is a PCMCIA driver and interrupts are always shared. Detect if the hardware did not produce the interrupt and return IRQ_NONE so that other drivers might handle it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f676376d692d8e02603e2bf1d0b4e8ca1b56506d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:06 2015 -0700 staging: comedi: quatech_daqp_cs: remove 'interrupt_mode' The interrupt handler is now only used for the ai async command. Remove the unnecessary 'interrupt_mode' from the private data and tidy up the interrupt handler. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7689f55b62836a5e5de2f9a5cd8d215071636013 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:05 2015 -0700 staging: comedi: quatech_daqp_cs: only hook up cmd support if we have an IRQ Interrupts are only needed by this driver to support the analog input async commands. Don't hook up the command support if pcmcia_request_irq() fails instead of completely failing the (*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 16d6b58753ccc34e6d915118984b60457d2c3327 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:04 2015 -0700 staging: comedi: quatech_daqp_cs: don't use interrupts for ai (*insn_read) The comedi (*insn_read) functions are supposed to do simple one-shot reading of an analog input channel. Currently this driver enables interrupts and uses wait_for_completion_interruptible() to allow the interrupt routine to let the analog input (*insn_read) know that the end-of-conversion has occured. Simplify the function by using the comedi_timeout() helper to check the aux status register to see when the conversion is finished. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c56cdc5cc16dabd6ed0867977a6e374a3cc0da7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:03 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up aux register bitss For aesthetics, and use the BIT macro to define the bits and define some macros for the timer mode and d/a update bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c06c3c953a9b89c1ffe70ba57762fbaafdcd6613 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:02 2015 -0700 staging: comedi: quatech_daqp_cs: document the 16-bit registers All the registers are 8-bit except for the analog output and timer registers. For clarity, add some comments. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f765b2f4fb45a9625bce619c6652b9f48510cef1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:01 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up command register bits For aesthetics, move the bit defines for this register and use the BIT macro to define the bits. Define a macro for the scanrate bits and use it to remove the CamelCase. Rename the defines to match the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd644206e2db1d0249534e2c4e86cbfada4f5bd2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:00 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up status register bits For aesthetics, move the bit defines for this register and 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 b0f9b0ad0fe7146fd5b23ad592ffafc541be286d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:59 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up control register bits For aesthetics, move the bit defines for this register and use the BIT macro to define the bits. Rename the defines to match the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77e546de4cc688b8045686b079e438dafbf9812c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:58 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up scanlist register bits For aesthetics, move the bit defines for this register and 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 bd9d00f105bf0fb26a85f5ad3b75d0b161304478 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:57 2015 -0700 staging: comedi: quatech_daqp_cs: rename register offsets For aesthetics, rename the register map defines and convert the values to hex. Also, move the private data definition and DAQP_FIFO_SIZE define after the register definitions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed811a328a161794e1e2dda0a75c6925cfd6ddcd Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:56 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up multi-line comments Reformat 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 d9952688a33a79cf756de6a8392b9c1eec90cab1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:55 2015 -0700 staging: comedi: quatech_daqp_cs: introduce daqp_clear_events() Introduce a helper function for the common code used to clear any pending interrupts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 075d58164e1271d9da3796fb883db9928b13f91b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:54 2015 -0700 staging: comedi: quatech_daqp_cs: redefine pacer clock options For aesthetics, define a macro for the pacer clock options and rename the CamelCase. Remove the unnecessary local variables used to set the control register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 491205bbc6fbab7388732297037a9a2fc16c3616 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:53 2015 -0700 staging: comedi: quatech_daqp_cs: spaces preferred around that '<<' Fix the checkpatch.pl issues about: CHECK: spaces preferred around that '<<' (ctx:VxV) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e031642eccc040648b09cfc7d632e2e8d0b6f94f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:52 2015 -0700 staging: comedi: quatech_daqp_cs: use comedi_timeout() in ao (*insn_write) The data link between the D/A data port and the D/A converter is a serial link. The serial link requires about 8ms to complete a transfer. Use the comedi_timeout() helper to ensure that there is not a previous transfer still happening before trying to write new data to the channel. For aesthetics, save the readback value after updating the hardware. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1271dd24c63478b08fc574ec8b4fa50902b368f0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:51 2015 -0700 staging: comedi: quatech_daqp_cs: use comedi_offset_munge() in ao (*insn_write) Use the comedi_offset_munge() helper to do the offset binary to two's complement conversion when writing a new analog output value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3f7e15383a9e86a56820c34d5ef761c4682e47b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:50 2015 -0700 staging: comedi: quatech_daqp_cs: introduce daqp_ai_get_sample() Introduce a helper function to get a two's complement sample from the FIFO and munge it to the offset binary format that comedi uses. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d6b700801bfeef15a059fc6739bfcd741cd9c15 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:49 2015 -0700 staging: comedi: quatech_daqp_cs: there are 4 digital inputs This board has 4 digital inputs not 1. Fix the subdevice init. The digital input lines are shared with other functions. Add a comment about this. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23d4f0245f6f48ee374069110b86c75166d1e152 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:48 2015 -0700 staging: comedi: quatech_daqp_cs: there are 4 digital outputs This board has 4 digital outputs not 1. Fix the subdevice init. The digital output lines are used for the external channel selection when the expansion mode is enabled. Add a comment about this. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 647d8aec47336aff073b10ca2de036c1a1f66b6f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 11:59:29 2015 -0700 staging: comedi: pcm3724: update the MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more usefull than the generic "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 5891b5b2aafda9f0013b3bf46ea12d41e094f1bf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 11:59:28 2015 -0700 staging: comedi: pcm3724: tidy up register map defines For aesthetics, rename the register map defines so they have namespace associated with the driver and use the BIT macro to define the bits. Add the missing defines for the registers and use them to remove the magic values from the driver. Add a comment about the extra registers to explain why this driver doesn't just use the standard 8255 driver instead. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 629af2407d78b3cda77856fd7f5b000d24d7e12f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 11:59:27 2015 -0700 staging: comedi: pcm3724: tidy up multi-line comments Reformat 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 0af61e66ee16211a970839c5faac8a4c9869eb49 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:34 2015 -0400 drivers/staging: make emxx_udc.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/staging/emxx_udc/Kconfig:config USB_EMXX drivers/staging/emxx_udc/Kconfig: bool "EMXX USB Function Device Controller" ...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_platform_driver() uses the same init level priority as builtin_platform_driver() the init ordering remains unchanged with this commit. The .remove function was declared __exit, so it wouldn't have been available for a sysfs bind/unbind anyway, so lets be explicit here and use ".suppress_bind_attrs = true" to prevent root from doing something silly. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: Vincenzo Scotti <vinc94@xxxxxxxxx> Cc: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Cc: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Cc: Peter Chen <peter.chen@xxxxxxxxxxxxx> Cc: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Cc: Chris Rorvick <chris@xxxxxxxxxxx> Cc: "Gujulan Elango, Hari Prasath (H.)" <hgujulan@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e20ec73ac2f3b896592a2922104379af1052e581 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:33 2015 -0400 drivers/staging: make android timed_output.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/staging/android/Kconfig:config ANDROID_TIMED_OUTPUT drivers/staging/android/Kconfig: bool "Timed output class driver" ...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 replace module.h with init.h and export.h ; the latter since this file does actually export some symbols. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 380b6549e5f799fabc5523a09446aa8c4da8c26b Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:32 2015 -0400 drivers/staging: make android lowmemorykiller.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/staging/android/Kconfig:config ANDROID_LOW_MEMORY_KILLER drivers/staging/android/Kconfig: bool "Android Low Memory Killer" ...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 replace module.h with init.h and moduleparam.h ; the latter since this file was previously implicitly relying on getting that header. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db1ad33bcfc45bd90994d3855a255e2daf746a3c Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:31 2015 -0400 drivers/staging: make android sw_sync.c explicitly non-modular The Kconfig currently controlling compilation of this code is: staging/android/Kconfig:config SW_SYNC staging/android/Kconfig: bool "Software synchronization objects" ...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 also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12950595906f9879cd0e61da6fa7b1ff6553180b Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:28 2015 -0400 drivers/staging: make android ashmem.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/staging/android/Kconfig:config ASHMEM drivers/staging/android/Kconfig: bool "Enable the Anonymous Shared Memory Subsystem" ...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 replace module.h with init.h and export.h ; the latter since this file uses the global THIS_MODULE. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35890c28eec9535d910380b598712bd4b6d7717d Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:30 2015 -0400 drivers/staging: make android tegra_ion.c properly tristate The Kconfig currently controlling compilation of this code is: drivers/staging/android/ion/Kconfig:config ION_TEGRA drivers/staging/android/ion/Kconfig: tristate "Ion for Tegra" ...which led me to incorrectly conclude this file was built modular earlier. However the above CONFIG is just used to enter the dir and once we do enter that dir, we see the build is unconditional: drivers/staging/android/ion/Makefile:obj-$(CONFIG_ION_TEGRA) += tegra/ drivers/staging/android/ion/tegra/Makefile:obj-y += tegra_ion.o ...meaning that it currently is not being built as a module by anyone. However, given that the Kconfig did explicitly choose tristate, and that the dummy ion driver is (functionally) tristate, I chose to make the Makefile do the right thing for it to build as a module. After this change, on an ARM allmodconfig, we see: CC [M] drivers/staging/android/ion/tegra/tegra_ion.o so it does build OK as a module. I can't vouch for the modular functionality however, so consider this compile tested only. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Cc: linux-tegra@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30d7979259663ce3e0b942498a890a0977a667d6 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:29 2015 -0400 drivers/staging: make android ion_page_pool.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/staging/android/ion/Kconfig:menuconfig ION drivers/staging/android/ion/Kconfig: bool "Ion Memory Manager" ...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. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cea07e523c218ba45b9448ff78e18357880a2548 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Oct 10 17:21:42 2015 +0200 Staging: olpc_dcon: Remove braces Braces in single statement blocks are not needed. Found by checkpatch.pl Signed-off-by: Ksenija Stanojevic<ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36e712a8a14d336a2f6433f64a8e2bb974138aec Author: Parshuram Thombare <thombarepr@xxxxxxxxx> Date: Sat Oct 10 19:06:44 2015 -0400 staging: dgnc: simplify a trivial if-return sequence Signed-off-by: Parshuram Thombare <thombarepr@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35e942f3167a2ba18bd3db9c964183d81c130a7d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 21:19:20 2015 +0530 staging: dgap: remove unused configuration The IO configuration was not used to configure the board. It was only read from the configuration file. Stop reading it and also remove the other related variables defined for it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7df227c4ece0968a625f0fda1e19d2980f6859b9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:15 2015 +0530 staging: dgnc: remove parenthesis checkpatch was warning us about extra unneeded parenthesis. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e352d3f19e12416c4bb489640e8da70657886854 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:14 2015 +0530 staging: dgnc: alignment style checkpatch was warning us that the alignment should match the open parenthesis. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f418259ec2c94205730d1946082cfb7d2f9e62e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:13 2015 +0530 staging: dgnc: remove space after cast Space is not necessary after typecast. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 205fc1fc9520461a18810dc659bdb3fba2d88287 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:12 2015 +0530 staging: dgnc: remove blankline after brace Blank lines are not needed after opening braces. checkpatch was giving us warnings about this. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40215ddffc2fb6ada9fdcd7461a2f0bf922bcca0 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:11 2015 +0530 staging: dgnc: remove blankline before brace Blank lines are not needed before closing braces. checkpatch was giving warning about this. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9753007ed793b41d95d8719594c2029e54c26a90 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:10 2015 +0530 staging: dgnc: remove multiple blank lines checkpatch warns us about multiple blank lines which are not needed. Remove them. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3604af50a24ec45f76088e2da7bfb5758a5c1d7b Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 12 13:22:44 2015 -0700 staging: wilc1000: move open brace in line with control flow statement Move open braces to be in line with "if" control flow statements. Addresses checkpatch.pl: ERROR: that open brace { should be on the previous line Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbeb0dab5e6c3013d176a9070ffa8a1eb250d5f1 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 12 20:49:20 2015 +0530 Staging: wilc1000: linux_wlan: Remove NULL check before kfree kfree on NULL pointer is a no-op. The semantic patch used - // <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 cccfc39e5cf502334558ed511873195d5b8df03f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 12 20:49:19 2015 +0530 Staging: wilc1000: wilc_wfi_cfgoperations: Remove NULL check before kfree kfree on NULL pointer is a no-op. The semantic patch used- // <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 c22cbec069b532c4a9a33236305ee4d833ec67e6 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 11 22:01:37 2015 +0530 Staging: wilc1000: wilc_msgqueue: Use kmemdup instead of kmalloc and memcpy Replace kmalloc and memcpy with kmemdup. Problem found using coccicheck Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39823a50ff371cbaa0baa7ccb7a479e61375b4a0 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Thu Oct 8 21:18:03 2015 -0700 staging: wilc1000: remove braces around single statement blocks Remove excess braces as suggested by checkpatch.pl: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56293ff232b9e2b071ffff177010b296acda0523 Author: Stanislav Kholmanskikh <kholmanskikh.s.s@xxxxxxxxx> Date: Thu Oct 8 21:23:14 2015 +0300 staging: wilc1000: linux_wlan_spi: include header A check using 'sparse' shows warnings in linux_wlan_spi.c: drivers/staging/wilc1000/linux_wlan_spi.c:43:19: warning: symbol 'wilc_spi_dev' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:71:19: warning: symbol 'wilc_bus' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:95:5: warning: symbol 'linux_spi_init' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:195:5: warning: symbol 'linux_spi_write' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:320:5: warning: symbol 'linux_spi_read' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:365:5: warning: symbol 'linux_spi_write_read' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:402:5: warning: symbol 'linux_spi_set_max_speed' was not declared. Should it be static? Let's avoid it by including "linux_wlan_spi.h" header. Signed-off-by: Stanislav Kholmanskikh <kholmanskikh.s.s@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b69b4f0aa7d3e3d5810f5c8c1c55c55be0927d2 Author: Stanislav Kholmanskikh <kholmanskikh.s.s@xxxxxxxxx> Date: Thu Oct 8 21:23:13 2015 +0300 staging: wilc1000: linux_wlan_spi: correct types linux_spi_write(), linux_spi_read(), linux_spi_write_read(): nwi->io_func.u.spi.spi_tx = linux_spi_write; nwi->io_func.u.spi.spi_rx = linux_spi_read; nwi->io_func.u.spi.spi_trx = linux_spi_write_read; are expected to accept arguments of 'u8 *', u32 types: struct { int (*spi_max_speed)(void); int (*spi_tx)(u8 *, u32); int (*spi_rx)(u8 *, u32); int (*spi_trx)(u8 *, u8 *, u32); } spi; However, linux_spi_read() and linux_spi_write_read() do not do this, they use 'unsigned char *' and 'unsigned long' instead. Changed the types of their arguments to satisfy the expectations. Signed-off-by: Stanislav Kholmanskikh <kholmanskikh.s.s@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7fa252e7ef373be0c263635ecdd8987b1db61939 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:15 2015 +0900 staging: wilc1000: rename tenuAuth_type of struct host_if_wep_attr This patch renames tenuAuth_type of struct host_if_wep_attr to auth_type to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5eaff1278a283a8eb94b82b965009f92d78fbe2 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:14 2015 +0900 staging: wilc1000: rename u8mode of struct host_if_wep_attr This patch renames u8mode of struct host_if_wep_attr to mode to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 259b3aa61efb5b94bf72e1da8b404bff6b88fa34 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:13 2015 +0900 staging: wilc1000: rename u8Wepidx of struct host_if_wep_attr This patch renames u8Wepidx of struct host_if_wep_attr to index to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d520e35522055199c011fbc79e4bd8e6a28eb960 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:12 2015 +0900 staging: wilc1000: rename u8WepKeylen of struct host_if_wep_attr This patch renames u8WepKeylen of struct host_if_wep_attr to key_len to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5538d34b323065f321eea8f2847c2b21bef16e8 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:11 2015 +0900 staging: wilc1000: rename pu8WepKey of struct host_if_wep_attr This patch renames pu8WepKey of struct host_if_wep_attr to key in order to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 610e38680fdcaec5911619df317eeea20672fdc6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:10 2015 +0900 staging: wilc1000: rename strHostIFpmkidAttr of union host_if_key_attr This patch renames strHostIFpmkidAttr of union host_if_key_attr to pmkid to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3501a4d7c0bd3bb74440ad6c1e175e669079ddf Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:09 2015 +0900 staging: wilc1000: rename strHostIFwpaAttr of union host_if_key_attr This patch renames strHostIFwpaAttr of union host_if_key_attr to wpa to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ed7a2fbddcd0069801ab4aae928d2036a08b9da Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:08 2015 +0900 staging: wilc1000: rename strHostIFwepAttr of union host_if_key_attr This patch renames strHostIFwepAttr of union host_if_key_attr to wep to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87c05b286316f0dc3ba5f42f16043b213fb71d88 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:07 2015 +0900 staging: wilc1000: rename u32SetCfgFlag of struct cfg_param_val This patch renames u32SetCfgFlag of struct cfg_param_val to flag to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 221371e5b286ed3b199b24a345f0db79d84dce2f Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:06 2015 +0900 staging: wilc1000: rename pstrCfgParamVal in struct cfg_param_attr This patch renames a variable of struct cfg_param_val in struct cfg_param_attr, pstrCfgParamVal to cfg_attr_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4ab1ade75a3ae1d252efb2d38865a677d503e8f Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:05 2015 +0900 staging: wilc1000: replace drvHandler and hWFIDrv with hif_drv This patch replaces the variable names of struct host_if_drv used as the functions' input parameter, drvHandler and hWFIDrv with hif_drv. In addition, the local variable declared in many functions, pstrWFIDrv is removed and hif_drv is directly used. A debug message printing pstrWFIDrv is deleted while removing the local variable because it is not useful as well. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60bd1003e1045732233493595367bf1d6d5df9f2 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:04 2015 +0900 staging: wilc1000: remove wilc_wlan.c included in wilc_wfi_cfgoperations.c This patch removes "wilc_wlan.c" from the wilc_wfi_cfgoperation.c file and adds wilc_wlan.o into Makefile to compile it because there is few benefits. This patch also adds "wilc_wfi_netdevice.h" in the wilc_wlan.c file to avoid the compile errors. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6e55e043f9fbf3c0a04485ec5ffc5d0ba76d498 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:03 2015 +0900 staging: wilc1000: host_infterface.h: remove unused enum tenuWILC_StaFlag This patch removes unused enum tenuWILC_StaFlag from the host_interface.h. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7696edf4d57f7a3d8a45ccf01f201b980c077d08 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:56:02 2015 +0900 staging: wilc1000: remove typedef from tenuScanConnTimer This patch removes typedef from the enum tenuScanConnTimer and renames it to scan_conn_timer. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed3f0379a272d7ef4e787f42575eac642b5b020e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:56:01 2015 +0900 staging: wilc1000: remove typedef from tenuConnDisconnEvent This patch removes typedef from the enum tenuConnDisconnEvent and renames it to conn_event. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 200ac21b0de03a8775763404baa95c373a1b8fd1 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:56:00 2015 +0900 staging: wilc1000: rename typedef from tenuCfgParam This patch rename typedef from the enum tenuCfgParamand rename it to cfg_param. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ec3815f38d74c6ef99dc48d9a7cc18555108565 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:59 2015 +0900 staging: wilc1000: remove typedef from tenuScanEvent This patch removes typedef from the enum tenuScanEvent and rename it to scan_event. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03e7b9c4283b325362e9c6b2640e21d2a3e131a7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:58 2015 +0900 staging: wilc1000: remove typedef from tstrStatistics This patch removes typedef from the struct tstrStatistics and rename it to rf_info. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ef4d19593278905644a5ec6f477b73191a37ab6 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:57 2015 +0900 staging: wilc1000: remove unused struct cfg_param_t This patch removes unused the struct cfg_param_t. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b58a2b6580ef6dda2051b3289d735f45ef8bd02 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:56 2015 +0900 staging: wilc1000: remove unused struct WILC_WFIDrvHandle This patch removes unused the struct WILC_WFIDrvHandle with related commnets. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad61fcea233c09884ebe07762e99536bb54e27e8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:55 2015 +0900 staging: wilc1000: remove typedef from tstrHiddenNetworkInfo This patch removes typedef from the struct tstrHiddenNetworkInfo with related comments and renames it to hidden_net_info. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73735e49383675ee1caf7a93dfd61976c2244fc8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:54 2015 +0900 staging: wilc1000: remove typedef from tstrFoundNetworkInfo This patch removes typedef from the struct tstrFoundNetworkInfo and rename it to found_net_info. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db9f1b1284d704152517d9bba343530b22129394 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:53 2015 +0900 staging: wilc1000: remove typedef from tenuHostIFstate This patch removes typedef from the enum tenuHostIFstate and rename it to host_if_state. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c944a4e8ad2fca231f7a1c1b03aac761b814cb14 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:52 2015 +0900 staging: wilc1000: remove typedef from tstrWILC_UsrConnReq This patch removes typedef from the struct tstrWILC_UsrConnReq with the related comments and renames it to user_conn_req. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4fe59d8e8691ade69a075cc2fd6646e3452701e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:51 2015 +0900 staging: wilc1000: remove typedef from tstrWILC_UsrScanReq This patch removes typedef from the struct tstrWILC_UsrScanReq with related comments and renames it to user_scan_req. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 541963223be3d557dcff30c2aa3c0b2b641fcb97 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:50 2015 +0900 staging: wilc1000: remove _tstrJoinParam from join_bss_param This patch removes struct _tstrJoinParam from the struct join_bss_param because it is not used inside the struct. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0a122178bb0529720e0cdaadb9dd9a126e16796 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:49 2015 +0900 staging: wilc1000: remove typedef from tstrJoinBssParam This patch removes typedef from the struct tstrJoinBssParam and renames it to join_bss_param. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0dba8d3bbdac36d5e01e09ef9363ea1de84b304 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:48 2015 +0900 staging: wilc1000: remove unused struct tstrBssTable This patch removes struct tstrBssTable with related comment. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa2ce581c9582f4ab1458f886341df16497f5b46 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:47 2015 +0900 staging: wilc1000: remove unused struct tstrWidJoinReqExt This patch removes struct tstrWidJoinReqExt because it's not used. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 900bb4a6523e7fa0db8aee0e84036a6de2da23fd Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:46 2015 +0900 staging: wilc1000: rename the member variable, ps8WidVal of wid This patch renames ps8WidVal of struct wid to val. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2fd3e44354370aea686a50e9f18b92d6a8d2b5fe Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:45 2015 +0900 staging: wilc1000: rename the member variable, s32ValueSize of wid This patch renames s32ValueSize of struct wid to size. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daaf16babf759b29c154e124586909a0b74d403b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:44 2015 +0900 staging: wilc1000: rename the member variable, u16WIDid of wid This patch renames u16WIDid of struct wid to id. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 416d8321f597217240f2a287f70b4e7d72266d35 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:43 2015 +0900 staging: wilc1000: rename the member variable, enuWIDtype of wid This patch renames enuWIDtype of struct wid to type. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20212c033aff93330c9f327574159bf6f3c2a49b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:42 2015 +0900 staging: wilc1000: remove typedef from tenuWIDtype This patch remove typedef from the enum tenuWIDtype and rename it to WID_TYPE. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9e0c260996f7ef1e5aa050a687d0e8086749478 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:41 2015 +0900 staging: wilc1000: remove typedef from tstrWID This patch removes typedef from the struct tstrWID and rename it to wid. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 684125a25e46214145dd4349d8326bf40c829a93 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:55:40 2015 +0900 staging: wilc1000: change parameter names in send_config_pkt This patch changes the parameter names in send_config_pkt function as the followings: - u8Mode to mode - pstrWIDs to wids - u32WIDsCount to count - drvHandler to drv Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 033622862c5a2277c6cfdea9e141d45fcd2e9924 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:55:39 2015 +0900 staging: wilc1000: remove bool bRespRequired from send_config_pkt This patch removes 4th parameter, bool bRespRequired from the send_config_pkt function because it is not used inside the funcntion. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aaed3290f9ffe1428ba8a7f4284f80a165cf453f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:38 2015 +0900 staging: wilc1000: wilc_wfi_cfgoperations.c : removes unused local variables This patch removes useless local variable, s32Error and returns directly zero from wilc_wfi_cfgoperations.c and also removes incorrect break in switch-case statement. The break is not useless which is being called right after return statement. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b68d820bb5f47a230998c59b6cc10a269a9f107a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:37 2015 +0900 staging: wilc1000: host_interface.c : removes unused local variables This patch removes unused local variables from host_interface.c. The unused local variable, s32Error is used just to return zero, so this patch calls "returns 0" instead of "return s32Error" after removing s32Error. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2482a79f48e5f8ba567887ee8a9a0f38cd09863b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:36 2015 +0900 staging: wilc1000: rename the member variable, drvHandler of host_if_msg This patch renames drvHandler of struct host_if_msg to drv. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 441dc609da9d64f18026f1b0fb73a2d5f1e0d023 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:35 2015 +0900 staging: wilc1000: remove typedef from tstrWILC_WFIDrv This patch removes typedef from the struct tstrWILC_WFIDrv and rename it to host_if_drv. This patch includes the removal of the comment for tstrWILC_WFIDrv as well. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a589f4f1b6505e26dc592e1aba360af5d6f8dc6 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 12 13:53:22 2015 -0700 staging: gdmwm: move variables to right side of comparison test Move variables to right side of comparison test to improve readability. Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4188e5862f40cb64256127b1ef7acfcc17e5467f Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 12 23:14:15 2015 +0530 Staging: vt6655: mac: Remove extra braces Remove braces from an if block as it comprises of a single statement. Fix checkpatch warning: braces {} are not necessary for single statement blocks Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45e68e45d38871ff76d838a0410fabbd5d26aed0 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 12 00:49:34 2015 +0530 Staging: vt6655: rxtx: Remove extra parentheses Remove unnecessary parentheses around if test expressions. Fixes checkpatch warning : unnecessary parentheses Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2d44fe3ec1b2f0db17e33de62daacc11275d0e3 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 12 00:49:08 2015 +0530 Staging: vt6655: rxtx: Remove extra space character Remove unnecessary space character after the variable RATE_16M preserving the alignment of all other variables and comments. Fixes the warning by checkpatch: space prohibited before that ',' (ctx:WxW) Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1aa41dc7b8ef94c36a1213b475bbe7fe1e81304 Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Sun Oct 11 16:22:10 2015 +0100 Staging: vt6655: Renamed uRATE to rate Renamed uRATE to rate to avoid camelcase Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 749f3c05004ea9bf5b8cfca2c9edd41c764d68c2 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 21:03:29 2015 +0530 Staging: rtl8192e: Use kcalloc instead of kzalloc to allocate array The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41cb5786550ef67f970a2c1446f480d1ee0e2b69 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Mon Oct 12 16:12:34 2015 +0300 staging: octeon-ethernet: xaui: use common init Use common init. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4583edb221eb7297bcbc6f0febe895a96fed5f7 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Mon Oct 12 16:12:33 2015 +0300 staging: octeon-ethernet: xaui: don't register poll function in init Link status poll function is already controlled by open/stop functions, so we don't need to do it on init. This eliminates a redundant xaui link status notification when the module is loaded. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 905907500cd9bae3f6bef24925d5887d5c27e5aa Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Fri Oct 9 22:17:58 2015 +0300 staging: octeon: Fix kernel-doc function description Fix kernel-doc 'Excess function parameter' by moving the description to the correct location. Also corrected parameter description Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0fbf9f303b2d0791953ca13bb6b17f8081cc36a Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Fri Oct 9 22:17:57 2015 +0300 staging: octeon: Remove /** from regular comments Fix kernel-doc warnings 'cannot understand function prototype' by removing /** from regular comments Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b775df29f0ba51f16fae46b6e7c2c6a38f39e33c Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Fri Oct 9 22:17:56 2015 +0300 staging: octeon: Remove extra line from kernel-doc Fix 'bad line' kernel-doc warning Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa1a9c016115152b1b0349a018bf2c743a04ef72 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:46 2015 -0400 staging: unisys: vmcallinterface.h: Cleanup unused fields With the simplified driver models we have more vmcalls that aren't supported by linux guests. 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 b1121ab49f72faeccef3be4eb3ff9548582084c7 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:45 2015 -0400 staging: unisys: diagchannel.h: get rid of unused fields Some more churn of the drivers have made more fields unused, get rid of them. 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 3204d5a28f129800e1e7ca78acd2d30f5752090a Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:44 2015 -0400 staging: unisys: periodic_work.h Fix spacing Cleanup the multiple blank lines check in periodic_work.h. 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 0435d1449bca964182588c6673a944239f279785 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:43 2015 -0400 staging: unisys: periodic_work.h Fix parenthesis alignment Cleanup the checkpatch.pl check alignment should match open parenthesis, in visor_periodic_work_create(). 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 f4b97f9c15da4f86acc98da4d67be2305751fd21 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:42 2015 -0400 staging: unisys: visorchannel.c remove unneeded parenthesis Fix the checkpatch.pl -strict check: CHECK: Unnecessary parentheses around sig_hdr.num_overflows + &(sig_hdr.num_overflows), 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 ad1a71546cd1cb8cf009fdbc15aad9bc7efb820f Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:41 2015 -0400 staging: unisys: visorchannel.c fix spacing around cast Clean up the following checkpatch.pl --strict checks: CHECK: No space is necessary after a cast + buf = (u8 *) __get_free_page(GFP_KERNEL); CHECK: No space is necessary after a cast + free_page((unsigned long) buf); CHECK: spaces preferred around that '+' (ctx:VxE) + SIG_QUEUE_OFFSET(&channel->chan_hdr, queue)+ \ ^ 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 54bf4d454e37d66041871775ce66cda972c70cea Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:40 2015 -0400 staging: unisys: channel.h Fix spacing around operands. Clean up the seven checks reported by checkpatch.pl --strict. CHECK: spaces preferred around that '<<' (ctx:VxV) +#define SIGNATURE_16(A, B) ((A) | (B<<8)) ^ CHECK: spaces preferred around that '+' (ctx:VxV) +#define COVERQ(v, d) (((v)+(d)-1) / (d)) ^ CHECK: spaces preferred around that '-' (ctx:VxV) +#define COVERQ(v, d) (((v)+(d)-1) / (d)) ^ CHECK: spaces preferred around that '*' (ctx:VxV) +#define COVER(v, d) ((d)*COVERQ(v, d)) ^ CHECK: spaces preferred around that '-' (ctx:VxE) + chan->QHDRFLD.sig_base_offset = (u64)(chan->QDATAFLD)- \ ^ CHECK: spaces preferred around that '/' (ctx:VxV) + sizeof(chan->QDATAFLD)/sizeof(QDATATYPE); \ ^ CHECK: spaces preferred around that '-' (ctx:VxV) + chan->QHDRFLD.max_signals = chan->QHDRFLD.max_slots-1; \ 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 9f00be7f9e08c8f95663cda9635d81a87c9ded7f Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:39 2015 -0400 staging: unisys: channel.h covert from pragma to __packed Need to convert from #pragma to __packed for channel structures. 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 91678f37004d84757738790a7257b87cc909f483 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Mon Oct 12 15:28:57 2015 -0400 staging: unisys: visornic: prevent faults if driver re-loaded during stress Prevent faults that would occur during this sequence of activity during network stress: rmmod visornic modprobe visornic /etc/init.d/network restart The problem fixed was that the back-end IO partition was holding onto stale receive buffers after the "rmmod visornic", and erroneously completing them after a subsequent "modprobe visornic". This is fixed in this patch as follows: * Tell the back-end IO partition that we want it to employ its "incarnation mechanism" to ensure it does not complete stale receive buffers after the guest virtual device environment changes (e.g., by re-loading the driver), by setting the ULTRA_IO_DRIVER_SUPPORTS_ENHANCED_RCVBUF_CHECKING feature bit, and supplying a unique incarnation number in rcvpost.unique_num for each receive buffer posted. * When visornic loads, make sure we drain and ignore any possible-stale data in the channel before beginning network operation. Prior to this patch, faults like this would occur almost every time if you attempted to rmmod + modprobe the visornic driver and restart the network service during heavy network activity: BUG: spinlock bad magic on CPU#0, ksoftirqd/0/3 lock: 0xffff88002d8a56d8, .magic: ffff8800, .owner: <none>/-1, .owner_cpu: 2304 CPU: 0 PID: 3 Comm: ksoftirqd/0 Tainted: G C 4.3.0-rc3-ARCH+ #74 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 5e757bc58d15b9fc7d36bb4fcc6f068489e2d29d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 21:03:28 2015 +0530 Staging: unisys: Use kcalloc instead of kzalloc to allocate array The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb30b15aeaeacc980facbe877ed23882e35fcd8c Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Sat Oct 10 19:23:50 2015 +0700 staging: rtl8188eu: spaces preferred around that + inserted This patch inserts spaces preferred around that '+' found by checkpatch. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59056281af5d4b011380bfbb59436a392c452bde Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Sat Oct 10 19:21:54 2015 +0700 staging: rtl8188eu: ARRAY_SIZE instead of sizeof/sizeof used This patch inserts ARRAY_SIZE instead of sizeof(type array[])/sizeof(type), made arraylen variable constant and removes unnecessary default value in variable definition. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e525e7a63ba4b544f47fe57a3ed3480af288f8eb Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 00:55:19 2015 +0530 Staging: rtl8188eu: core: Use ARRAY_SIZE macro ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type. Changes made using Coccinelle- @@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d84d66f6f7f33f74abe4a8446006fe44fcc90a1f Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Thu Oct 8 13:40:11 2015 +0700 staging: rtl8188eu: unused macro read_next_pair removed Unused macro read_next_pair removed from rtl8188eu driver. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19fac3bbe2d797be29665347f3f37dd4ceb29061 Author: Iban Rodriguez <iban.rodriguez@xxxxxxx> Date: Mon Oct 5 21:18:09 2015 +0200 Staging: rtl8188eu: Correct coding style errors Correct errors reported by checkpatch.pl because space prohibited before ','. Also split one line into two as it was longer than 80 characters Signed-off-by: Iban Rodriguez <iban.rodriguez@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 681cd988d3587ca2b3afa3db598a2ecab572b742 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 11 14:16:57 2015 +0100 staging: rtl8712: fix negative level value range->avg_qual.level is of type uint8, so it shouldn't be assigned a negative number. Assigning it 0x100 - 78, which is the equivalent to (20 + -98) dBm when IW_QUAL_DBM is set. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 942eaa867f321380129d8519e5279a67e8f4c04e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 17:54:09 2015 +0530 staging: rtl8712: usleep_range is preferred over udelay Fix checkpatch.pl issue: "CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt". Replace `udelay()` with a call to `usleep_range()` with a reasonable upper limit determined by the other sleeping functions present. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b33fc7229154341c466cbc5c5b7ca69d16054771 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 14:31:11 2015 +0530 staging: rtl8712: Replace GFP_ATOMIC with GFP_KERNEL Replace GFP_ATOMIC with GFP_KERNEL since GFP_ATOMIC is used in atomic context and only needed when functions are not allowed to sleep whereas the function is later calling msleep(). Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eef6c808d3828d55334023c13c96e1ca5cd1008b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 00:55:18 2015 +0530 Staging: rtl8712: Use ARRAY_SIZE macro ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type Changes made using Coccinelle- @@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cd66a18138ce6439ef11dca6347c6c1e180189c Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 11 14:42:01 2015 +0100 staging: rtl8192u: r8192U_wx: fix negative noise and level values range->max_qual.noise and level are of type uint8, so they shouldn't be assigned a negative number. Assigning them 0x100 - 98, and 0x100 - 78 which are the equivalent to -98 dBm and -78 dBm, respectively, when IW_QUAL_DBM is set. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f517f3bf07f1f776f12b2413dbefa21523021ac1 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 11 14:31:07 2015 +0100 staging: rtl8192u: r8192U_core: fix negative noise value ieee80211_rx_stats.noise is of type uint8, so it shouldn't be assigned a negative number. Assigning it 0x100 - 98, which is the equivalent to -98 dBm when IW_QUAL_DBM is set. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 879f3074c2484e7fc972cebf23d0a55fd2430605 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 11 10:41:23 2015 +0530 Staging: rtl8192u: ieee80211: ieee80211_rx: Remove commented printk messages Remove commented out printk messages since they are not needed. Also remove the unnecessary braces and blank lines Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d91398347dade7a234f2d44a2475afca28e3b53a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 11 10:41:22 2015 +0530 Staging: rtl8192u: ieee80211: ieee80211_wx: Remove commented printk messages Remove commented out printk messages since they are not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0ac7d896ab4f0f7dbe6ba771677491f46e8569b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 11 10:41:21 2015 +0530 Staging: rtl8192u: ieee80211: ieee80211_softmac: Remove commented printk messages Remove commented printk since it is not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 075eb0dc3670328fa62425449ca4b52bde2d3c17 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Oct 8 17:21:49 2015 +0200 Staging: rtl8192u: Do not DMA on the stack Fix error "doing DMA on the stack" by using kzalloc for buffer allocation. Issue found by smatch. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 806e6e1bec9c2e7a749748f4edb2e812b6b2fdeb Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 12 14:28:36 2015 -0700 staging: rdma: hfi1: remove unnecessary out of memory messages Out of memory messages are unnecssary in the drivers as they are reported by memory management. Addresses checkpatch.pl: WARNING: Possible unnecessary 'out of memory' message Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be036bbe2c16929806ab747bfe8a88f5d6dbd0e5 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 21:03:27 2015 +0530 Staging: rdma: ipath: Use kcalloc instead of kzalloc to allocate array The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 314fcc0d53261a984788d09a1076c17a919504fe Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 21:03:26 2015 +0530 Staging: rdma: hfi1: Use kcalloc instead of kzalloc to allocate array The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ecc4a18d987e7e9f4b7eff2bf9215ac02c8a980 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 9 15:56:59 2015 +0200 Staging: rdma: Use memdup_user Use memdup_user when user data is immediately copied into the allocated region. Issue found using coccinelle. Signed-off-by: Ksenija Stanojevic<ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 514d4d744d5c40aed94c4424a715227698935be9 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 12 18:44:34 2015 +0530 Staging: most: hdm-i2c: Drop owner assignment from i2c driver i2c_driver does not need to set an owner because core will set it Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f17591fa757a089348c251f23bb9bcebaf08cb1 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Oct 10 13:42:49 2015 +0900 Staging: most: Fix typo in staging/most This patch fix spelling typo found in most Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31557ea0337eb3db5937f441bfa028caba5836d6 Author: Binbin Zhou <zhoubb@xxxxxxxxxx> Date: Mon Oct 12 09:48:27 2015 +0800 staging: sm750fb: Fix the power state error in resume The PM_EVENT_RESUME state is needed when SM750 resume, otherwise it will be failed in the second time of continuous suspend/resume. Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Signed-off-by: Binbin Zhou <zhoubb@xxxxxxxxxx> Reviewed-by: Huacai Chen <chenhc@xxxxxxxxxx> Reviewed-by: Teddy Wang <teddy.wang@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aeec43da3e4927e33b598b05925046eb1ab9d963 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:21:30 2015 +0530 staging: sm750fb: Add space around '&' Add space around operator '&'. Problem found using checkpatch.pl CHECK: spaces preferred around that '&' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e80ef45dadf7895b87d40f053ba861d318a9426a Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:20:36 2015 +0530 staging: sm750fb: Add space around '<<' Add space around operator '<<'. Problem found using checkpatch.pl CHECK: spaces preferred around that '<<' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa355c8645c1f26bef432f66c8943e6fb97ac351 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:19:00 2015 +0530 staging: sm750fb: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edb23022f2c8d58d109e43c3e7428771a724c747 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:17:44 2015 +0530 staging: sm750fb: Rename dispState Rename dispState to disp_state to avoid CamelCase. Problem found using checkpatch.pl CHECK: Avoid CamelCase: <dispState> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0221381c46457c5c305b9cb5bc4f84b8e29e4d71 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:16:02 2015 +0530 staging: sm750fb: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43ce0b538a5e2b8117337e6509f667943222ef3e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:14:27 2015 +0530 staging: sm750fb: Rename miniDiff Rename miniDiff to mini_diff to avoid CamelCase. Problem found using checkpatch.pl CHECK: Avoid CamelCase: <miniDiff> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a76f23d66df1cf41c759fe877e77441c9dd65e5e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 9 03:15:01 2015 +0530 staging: sm750fb: Remove space after opening brace Remove space after opening brace '{'. Problem found using checkpatch.pl CHECK: Blank lines aren't necessary after an open brace '{' Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a66a986b412d96cfa6bf700b721729b722bed9b Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 9 03:11:59 2015 +0530 staging: sm750fb: Remove space before closing brace Remove space before closing brace '}'. Problem found using checkpatch.pl CHECK: Blank lines aren't necessary before a close brace '}' Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0fd4b57ba0258c84b5208913943eece7bf1c8f1 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 9 03:10:15 2015 +0530 staging: sm750fb: Remove space after cast Remove unnecessary space after cast. Problem found using checkpatch.pl CHECK: No space is necessary after a cast Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80fb74c38709fd12e73f33ae464b37821cb01136 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 00:55:17 2015 +0530 Staging: sm750fb: Use ARRAY_SIZE macro ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its first element. Changes made using Coccinelle- @@ type T; T[] E; @@ - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6623c60dc28ee966cd85c6f12aa2fc3c952d0179 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 11 12:49:56 2015 +0200 bridge: vlan: enforce no pvid flag in vlan ranges Currently it's possible for someone to send a vlan range to the kernel with the pvid flag set which will result in the pvid bouncing from a vlan to vlan and isn't correct, it also introduces problems for hardware where it doesn't make sense having more than 1 pvid. iproute2 already enforces this, so let's enforce it on kernel-side as well. Reported-by: Elad Raz <eladr@xxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbb41b91e68a302087762823136c9067138cff7c Author: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Date: Sat Oct 10 21:47:19 2015 +0200 atm: iphase: fix misleading indention Fix a smatch warning: drivers/atm/iphase.c:1178 rx_pkt() warn: curly braces intended? The code is correct, the indention is misleading. In case the allocation of skb fails, we want to skip to the end. Signed-off-by: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21e26ff993dea9dceaf0f19cfec4bef58387b0f2 Author: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Date: Sat Oct 10 21:47:18 2015 +0200 atm: iphase: return -ENOMEM instead of -1 in case of failed kmalloc() Smatch complains about returning hard coded error codes, silence this warning. drivers/atm/iphase.c:115 ia_enque_rtn_q() warn: returning -1 instead of -ENOMEM is sloppy Signed-off-by: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c5b83f0f255542b40a1273c32eb067ec00bb2b2 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 08:26:36 2015 -0700 ipv6 route: use err pointers instead of returning pointer by reference This patch makes ip6_route_info_create return err pointer instead of returning the rt pointer by reference as suggested by Dave Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99dcc7dfb1960d5e2f1577ff3aad69dfeb6e9787 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Sat Oct 10 17:20:38 2015 +0800 net: hns: fix the unknown phy_nterface_t type error This patch fix the building error reported by Jiri Pirko <jiri@xxxxxxxxxxx> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t' phy_interface_t phy_if; ^ the full build log is on https://lists.01.org/pipermail/kbuild-all. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5fcd2d8be43664f1b6a5add3d21a367411add9d4 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 9 15:42:21 2015 -0700 tun: use sk_fullsock() before reading sk->sk_tsflags timewait or request sockets are small and do not contain sk->sk_tsflags Without this fix, we might read garbage, and crash later in __skb_complete_tx_timestamp() -> sock_queue_err_skb() (These pseudo sockets do not have an error queue either) Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7a4609591612119869f2498732da98e4f8d5f4d Merge: 161642e b727759 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 12 19:44:22 2015 -0700 Merge branch 'netns-defrag' Eric W. Biederman says: ==================== net: Pass net into defragmentation This is the next installment of my work to pass struct net through the output path so the code does not need to guess how to figure out which network namespace it is in, and ultimately routes can have output devices in another network namespace. In netfilter and af_packet we defragment packets in the output path, and there is the usual amount of confusion about how to compute which net we are processing the packets in. This patchset clears that confusion up by explicitly passing in struct net in ip_defrag, ip_check_defrag, and nf_ct_frag6_gather. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b72775977c39dcd380777ff5ea8041fdf67ee382 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Oct 9 13:44:55 2015 -0500 ipv6: Pass struct net into nf_ct_frag6_gather The function nf_ct_frag6_gather is called on both the input and the output paths of the networking stack. In particular ipv6_defrag which calls nf_ct_frag6_gather is called from both the the PRE_ROUTING chain on input and the LOCAL_OUT chain on output. The addition of a net parameter makes it explicit which network namespace the packets are being reassembled in, and removes the need for nf_ct_frag6_gather to guess. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19bcf9f203c82c2028f5a0881b1f0690e3207190 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Oct 9 13:44:54 2015 -0500 ipv4: Pass struct net into ip_defrag and ip_check_defrag The function ip_defrag is called on both the input and the output paths of the networking stack. In particular conntrack when it is tracking outbound packets from the local machine calls ip_defrag. So add a struct net parameter and stop making ip_defrag guess which network namespace it needs to defragment packets in. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37fcbab61b8ecf75cb5fd81e5809b71c270f9632 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Oct 9 13:44:53 2015 -0500 ipv4: Only compute net once in ip_call_ra_chain ip_call_ra_chain is called early in the forwarding chain from ip_forward and ip_mr_input, which makes skb->dev the correct expression to get the input network device and dev_net(skb->dev) a correct expression for the network namespace the packet is being processed in. Compute the network namespace and store it in a variable to make the code clearer. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 161642e24fee40fba2c5bc2ceacc00d118a22d65 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 9 11:29:32 2015 -0700 packet: fix match_fanout_group() Recent TCP listener patches exposed a prior af_packet bug : match_fanout_group() blindly assumes it is always safe to cast sk to a packet socket to compare fanout with af_packet_priv But SYNACK packets can be sent while attached to request_sock, which are smaller than a "struct sock". We can read non existent memory and crash. Fixes: c0de08d04215 ("af_packet: don't emit packet on orig fanout group") Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Cc: Eric Leblond <eric@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 991659674288dba28c2f5a3d1a0133ef4d20824a Merge: e2ca690 7e64e5e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 12 19:39:18 2015 -0700 Merge tag 'wireless-drivers-next-for-davem-2015-10-09' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: iwlwifi * some debugfs improvements * fix signedness in beacon statistics * deinline some functions to reduce size when device tracing is enabled * filter beacons out in AP mode when no stations are associated * deprecate firmwares version -12 * fix a runtime PM vs. legacy suspend race * one-liner fix for a ToF bug * clean-ups in the rx code * small debugging improvement * fix WoWLAN with new firmware versions * more clean-ups towards multiple RX queues; * some rate scaling fixes and improvements; * some time-of-flight fixes; * other generic improvements and clean-ups; brcmfmac * rework code dealing with multiple interfaces * allow logging firmware console using debug level * support for BCM4350, BCM4365, and BCM4366 PCIE devices * fixed for legacy P2P and P2P device handling * correct set and get tx-power ath9k * add support for Outside Context of a BSS (OCB) mode mwifiex * add USB multichannel feature ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2ca690b657f4ca5c204fcc6470d462b776d73b3 Author: Paolo Abeni <pabeni@xxxxxxxxxx> Date: Fri Oct 9 14:34:31 2015 +0200 ipv4/icmp: redirect messages can use the ingress daddr as source This patch allows configuring how the source address of ICMP redirect messages is selected; by default the old behaviour is retained, while setting icmp_redirects_use_orig_daddr force the usage of the destination address of the packet that caused the redirect. The new behaviour fits closely the RFC 5798 section 8.1.1, and fix the following scenario: Two machines are set up with VRRP to act as routers out of a subnet, they have IPs x.x.x.1/24 and x.x.x.2/24, with VRRP holding on to x.x.x.254/24. If a host in said subnet needs to get an ICMP redirect from the VRRP router, i.e. to reach a destination behind a different gateway, the source IP in the ICMP redirect is chosen as the primary IP on the interface that the packet arrived at, i.e. x.x.x.1 or x.x.x.2. The host will then ignore said redirect, due to RFC 1122 section 3.2.2.2, and will continue to use the wrong next-op. Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0944d6b5a2fad9ba3b7abb2e94a6b7d40cd4a935 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 9 13:54:11 2015 +0200 bridge: try switchdev op first in __vlan_vid_add/del Some drivers need to implement both switchdev vlan ops and vid_add/kill ndos. For that to work in bridge code, we need to try switchdev op first when adding/deleting vlan id. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3703ebe4035044dea3749fcdd1c0849937147959 Author: wangweidong <wangweidong1@xxxxxxxxxx> Date: Tue Oct 13 10:05:19 2015 +0800 BNX2: free temp_stats_blk on error path In bnx2_init_board, missing free temp_stats_blk on error path when some operations do failed. Just add the 'kfree' operation. Signed-off-by: Wang Weidong <wangweidong1@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31eb4360546b4bd890f349db01295a173c09b0fb Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Oct 13 09:02:01 2015 +0900 perf hists browser: Add 'm' key for context menu display With horizontal scrolling, the left/right arrow keys are used to scroll columns and ENTER/ESC keys are used to enter/exit menu. However if callchain is recorded, the ENTER key is used to toggle callchain expansion so there's no way to display menu. Use 'm' key to display the menu for this case. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444694521-8136-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 76973dd79fd52f187ba3df018bca65792a3d942d Merge: c7d39e3 d475f09 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 12 19:28:32 2015 -0700 Merge branch 'setsockopt_incoming_cpu' Eric Dumazet says: ==================== tcp: better smp listener behavior As promised in last patch series, we implement a better SO_REUSEPORT strategy, based on cpu hints if given by the application. We also moved sk_refcnt out of the cache line containing the lookup keys, as it was considerably slowing down smp operations because of false sharing. This was simpler than converting listen sockets to conventional RCU (to avoid sk_refcnt dirtying) Could process 6.0 Mpps SYN instead of 4.2 Mpps on my test server. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d475f090bf1c0dc2999e98bbf2e7cb2243358849 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 19:33:24 2015 -0700 tcp: shrink tcp_timewait_sock by 8 bytes Reducing tcp_timewait_sock from 280 bytes to 272 bytes allows SLAB to pack 15 objects per page instead of 14 (on x86) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed53d0ab761f5c71d77c8dc05fd19c0a851200db Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 19:33:23 2015 -0700 net: shrink struct sock and request_sock by 8 bytes One 32bit hole is following skc_refcnt, use it. skc_incoming_cpu can also be an union for request_sock rcv_wnd. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e5eb54d303b7cb1174977ca79030e135728c95e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 19:33:22 2015 -0700 net: align sk_refcnt on 128 bytes boundary sk->sk_refcnt is dirtied for every TCP/UDP incoming packet. This is a performance issue if multiple cpus hit a common socket, or multiple sockets are chained due to SO_REUSEPORT. By moving sk_refcnt 8 bytes further, first 128 bytes of sockets are mostly read. As they contain the lookup keys, this has a considerable performance impact, as cpus can cache them. These 8 bytes are not wasted, we use them as a place holder for various fields, depending on the socket type. Tested: SYN flood hitting a 16 RX queues NIC. TCP listener using 16 sockets and SO_REUSEPORT and SO_INCOMING_CPU for proper siloing. Could process 6.0 Mpps SYN instead of 4.2 Mpps Kernel profile looked like : 11.68% [kernel] [k] sha_transform 6.51% [kernel] [k] __inet_lookup_listener 5.07% [kernel] [k] __inet_lookup_established 4.15% [kernel] [k] memcpy_erms 3.46% [kernel] [k] ipt_do_table 2.74% [kernel] [k] fib_table_lookup 2.54% [kernel] [k] tcp_make_synack 2.34% [kernel] [k] tcp_conn_request 2.05% [kernel] [k] __netif_receive_skb_core 2.03% [kernel] [k] kmem_cache_alloc Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70da268b569d32a9fddeea85dc18043de9d89f89 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 19:33:21 2015 -0700 net: SO_INCOMING_CPU setsockopt() support SO_INCOMING_CPU as added in commit 2c8c56e15df3 was a getsockopt() command to fetch incoming cpu handling a particular TCP flow after accept() This commits adds setsockopt() support and extends SO_REUSEPORT selection logic : If a TCP listener or UDP socket has this option set, a packet is delivered to this socket only if CPU handling the packet matches the specified one. This allows to build very efficient TCP servers, using one listener per RX queue, as the associated TCP listener should only accept flows handled in softirq by the same cpu. This provides optimal NUMA behavior and keep cpu caches hot. Note that __inet_lookup_listener() still has to iterate over the list of all listeners. Following patch puts sk_refcnt in a different cache line to let this iteration hit only shared and read mostly cache lines. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 186c6cfb32beae66140bc3c3fe4a519ee0234e33 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Sun Sep 27 20:37:55 2015 +0200 perf callchains: Fix unw_word_t pointer casts unw_word_t is uint64_t even on 32-bit MIPS. Cast it to uintptr_t before the cast to void *p to get rid of the following errors: util/unwind-libunwind.c: In function 'access_mem': util/unwind-libunwind.c:464:4: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] util/unwind-libunwind.c:475:2: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] cc1: all warnings being treated as errors make[3]: *** [util/unwind-libunwind.o] Error 1 Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rabin Vincent <rabinv@xxxxxxxx> Link: http://lkml.kernel.org/r/1443379079-29133-1-git-send-email-rabin.vincent@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8eac1d5e9256260b9cc3bfcdd9b8b995990950f5 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Sun Sep 27 20:37:57 2015 +0200 perf callchain: Use debug_frame if eh_frame is unusable When NO_LIBUNWIND_DEBUG_FRAME=0, use the .debug_frame if the .eh_frame doesn't contain the approprate unwind tables. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rabin Vincent <rabinv@xxxxxxxx> Link: http://lkml.kernel.org/r/1443379079-29133-3-git-send-email-rabin.vincent@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c7d39e32632e5db9dc4da51198b76d8c315946ff Author: Edward Jee <edjee@xxxxxxxxxx> Date: Thu Oct 8 14:56:49 2015 -0700 packet: support per-packet fwmark for af_packet sendmsg Signed-off-by: Edward Hyunkoo Jee <edjee@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f28ea365cdefc3b4fd0373e70b0106a0cd9b4c23 Author: Edward Jee <edjee@xxxxxxxxxx> Date: Thu Oct 8 14:56:48 2015 -0700 sock: support per-packet fwmark It's useful to allow users to set fwmark for an individual packet, without changing the socket state. The function this patch adds in sock layer can be used by the protocols that need such a feature. Signed-off-by: Edward Hyunkoo Jee <edjee@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1bf5fe03184f782f2a6827cf314ae58834865da Merge: 0fa2887 bf50887 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 12 19:13:41 2015 -0700 Merge branch 'bpf-unprivileged' Alexei Starovoitov says: ==================== bpf: unprivileged v1-v2: - this set logically depends on cb patch "bpf: fix cb access in socket filter programs": http://patchwork.ozlabs.org/patch/527391/ which is must have to allow unprivileged programs. Thanks Daniel for finding that issue. - refactored sysctl to be similar to 'modules_disabled' - dropped bpf_trace_printk - split tests into separate patch and added more tests based on discussion v1 cover letter: I think it is time to liberate eBPF from CAP_SYS_ADMIN. As was discussed when eBPF was first introduced two years ago the only piece missing in eBPF verifier is 'pointer leak detection' to make it available to non-root users. Patch 1 adds this pointer analysis. The eBPF programs, obviously, need to see and operate on kernel addresses, but with these extra checks they won't be able to pass these addresses to user space. Patch 2 adds accounting of kernel memory used by programs and maps. It changes behavoir for existing root users, but I think it needs to be done consistently for both root and non-root, since today programs and maps are only limited by number of open FDs (RLIMIT_NOFILE). Patch 2 accounts program's and map's kernel memory as RLIMIT_MEMLOCK. Unprivileged eBPF is only meaningful for 'socket filter'-like programs. eBPF programs for tracing and TC classifiers/actions will stay root only. In parallel the bpf fuzzing effort is ongoing and so far we've found only one verifier bug and that was already fixed. The 'constant blinding' pass also being worked on. It will obfuscate constant-like values that are part of eBPF ISA to make jit spraying attacks even harder. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf5088773faffc4a052b95aa978a1660bf5f3f8d Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Oct 7 22:23:23 2015 -0700 bpf: add unprivileged bpf tests Add new tests samples/bpf/test_verifier: unpriv: return pointer checks that pointer cannot be returned from the eBPF program unpriv: add const to pointer unpriv: add pointer to pointer unpriv: neg pointer checks that pointer arithmetic is disallowed unpriv: cmp pointer with const unpriv: cmp pointer with pointer checks that comparison of pointers is disallowed Only one case allowed 'void *value = bpf_map_lookup_elem(..); if (value == 0) ...' unpriv: check that printk is disallowed since bpf_trace_printk is not available to unprivileged unpriv: pass pointer to helper function checks that pointers cannot be passed to functions that expect integers If function expects a pointer the verifier allows only that type of pointer. Like 1st argument of bpf_map_lookup_elem() must be pointer to map. (applies to non-root as well) unpriv: indirectly pass pointer on stack to helper function checks that pointer stored into stack cannot be used as part of key passed into bpf_map_lookup_elem() unpriv: mangle pointer on stack 1 unpriv: mangle pointer on stack 2 checks that writing into stack slot that already contains a pointer is disallowed unpriv: read pointer from stack in small chunks checks that < 8 byte read from stack slot that contains a pointer is disallowed unpriv: write pointer into ctx checks that storing pointers into skb->fields is disallowed unpriv: write pointer into map elem value checks that storing pointers into element values is disallowed For example: int bpf_prog(struct __sk_buff *skb) { u32 key = 0; u64 *value = bpf_map_lookup_elem(&map, &key); if (value) *value = (u64) skb; } will be rejected. unpriv: partial copy of pointer checks that doing 32-bit register mov from register containing a pointer is disallowed unpriv: pass pointer to tail_call checks that passing pointer as an index into bpf_tail_call is disallowed unpriv: cmp map pointer with zero checks that comparing map pointer with constant is disallowed unpriv: write into frame pointer checks that frame pointer is read-only (applies to root too) unpriv: cmp of frame pointer checks that R10 cannot be using in comparison unpriv: cmp of stack pointer checks that Rx = R10 - imm is ok, but comparing Rx is not unpriv: obfuscate stack pointer checks that Rx = R10 - imm is ok, but Rx -= imm is not Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aaac3ba95e4c8b496d22f68bd1bc01cfbf525eca Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Oct 7 22:23:22 2015 -0700 bpf: charge user for creation of BPF maps and programs since eBPF programs and maps use kernel memory consider it 'locked' memory from user accounting point of view and charge it against RLIMIT_MEMLOCK limit. This limit is typically set to 64Kbytes by distros, so almost all bpf+tracing programs would need to increase it, since they use maps, but kernel charges maximum map size upfront. For example the hash map of 1024 elements will be charged as 64Kbyte. It's inconvenient for current users and changes current behavior for root, but probably worth doing to be consistent root vs non-root. Similar accounting logic is done by mmap of perf_event. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1be7f75d1668d6296b80bf35dcf6762393530afc Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Oct 7 22:23:21 2015 -0700 bpf: enable non-root eBPF programs In order to let unprivileged users load and execute eBPF programs teach verifier to prevent pointer leaks. Verifier will prevent - any arithmetic on pointers (except R10+Imm which is used to compute stack addresses) - comparison of pointers (except if (map_value_ptr == 0) ... ) - passing pointers to helper functions - indirectly passing pointers in stack to helper functions - returning pointer from bpf program - storing pointers into ctx or maps Spill/fill of pointers into stack is allowed, but mangling of pointers stored in the stack or reading them byte by byte is not. Within bpf programs the pointers do exist, since programs need to be able to access maps, pass skb pointer to LD_ABS insns, etc but programs cannot pass such pointer values to the outside or obfuscate them. Only allow BPF_PROG_TYPE_SOCKET_FILTER unprivileged programs, so that socket filters (tcpdump), af_packet (quic acceleration) and future kcm can use it. tracing and tc cls/act program types still require root permissions, since tracing actually needs to be able to see all kernel pointers and tc is for root only. For example, the following unprivileged socket filter program is allowed: int bpf_prog1(struct __sk_buff *skb) { u32 index = load_byte(skb, ETH_HLEN + offsetof(struct iphdr, protocol)); u64 *value = bpf_map_lookup_elem(&my_map, &index); if (value) *value += skb->len; return 0; } but the following program is not: int bpf_prog1(struct __sk_buff *skb) { u32 index = load_byte(skb, ETH_HLEN + offsetof(struct iphdr, protocol)); u64 *value = bpf_map_lookup_elem(&my_map, &index); if (value) *value += (u64) skb; return 0; } since it would leak the kernel address into the map. Unprivileged socket filter bpf programs have access to the following helper functions: - map lookup/update/delete (but they cannot store kernel pointers into them) - get_random (it's already exposed to unprivileged user space) - get_smp_processor_id - tail_call into another socket filter program - ktime_get_ns The feature is controlled by sysctl kernel.unprivileged_bpf_disabled. This toggle defaults to off (0), but can be set true (1). Once true, bpf programs and maps cannot be accessed from unprivileged process, and the toggle cannot be set back to false. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fec3fb4734b4d2c33975077c250ebd4a3a9f8e34 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 08:12:22 2015 +0100 ARM: multi_v7_defconfig: enable HDMI output for Renesas RCar Actviate HDMI output of the RCar DU (and LVDS while we are here). Enable the HDMI encoder chip found on Lager/Koelsch boards. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f9bcb6dc8013d4da6660556ddf2383e4fbcbe3d7 Author: Aurelien Chanot <chanot.a@xxxxxxxxx> Date: Wed Oct 7 12:10:08 2015 -0700 mtd: spi-nor: Add support for Micron n25q032a The N25Q032A is identical to the N25Q032 except it has a different supply voltage range. Therefore, it has a new JEDEC ID. Signed-off-by: Aurelien Chanot <chanot.a@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 99f7445ea41c0187cd2e78bcb58cdd9e6c1756e5 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 01:12:18 2015 +0300 ARM: shmobile: porter: enable internal PCI and USB PHY Enable internal AHB-PCI bridges for the USB EHCI/OHCI controllers attached to them and also enable USB PHY device for the Porter board. We have to enable everything in one patch since EHCI/OHCI devices are already linked to the USB PHY device. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d906d49fc5f49a0129527e8fbc13312f36b9b9ce Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Oct 2 10:47:34 2015 +0100 Btrfs: send, fix file corruption due to incorrect cloning operations If we have a file that shares an extent with other files, when processing the extent item relative to a shared extent, we blindly issue a clone operation that will target a length matching the length in the extent item and uses as a source some other file the receiver already has and points to the same extent. However that range in the other file might not exclusively point only to the shared extent, and so using that length will result in the receiver getting a file with different data from the one in the send snapshot. This issue happened both for incremental and full send operations. So fix this by issuing clone operations with lengths that don't cover regions of the source file that point to different extents (or have holes). The following test case for fstests reproduces 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() { 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 _need_to_be_root _require_cp_reflink _require_xfs_io_command "fpunch" 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 100K extent. $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 100K" \ $SCRATCH_MNT/foo | _filter_xfs_io # Clone our file into a new file named bar. cp --reflink=always $SCRATCH_MNT/foo $SCRATCH_MNT/bar # Now overwrite parts of our foo file. $XFS_IO_PROG -c "pwrite -S 0xbb 50K 10K" \ -c "pwrite -S 0xcc 90K 10K" \ -c "fpunch 70K 10k" \ $SCRATCH_MNT/foo | _filter_xfs_io _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \ $SCRATCH_MNT/snap echo "File digests in the original filesystem:" md5sum $SCRATCH_MNT/snap/foo | _filter_scratch md5sum $SCRATCH_MNT/snap/bar | _filter_scratch _run_btrfs_util_prog send $SCRATCH_MNT/snap -f $send_files_dir/1.snap # Now recreate the filesystem by receiving the send stream 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 # We expect the destination filesystem to have exactly the same file # data as the original filesystem. # The btrfs send implementation had a bug where it sent a clone # operation from file foo into file bar covering the whole [0, 100K[ # range after creating and writing the file foo. This was incorrect # because the file bar now included the updates done to file foo after # we cloned foo to bar, breaking the COW nature of reflink copies # (cloned extents). echo "File digests in the new filesystem:" md5sum $SCRATCH_MNT/snap/foo | _filter_scratch md5sum $SCRATCH_MNT/snap/bar | _filter_scratch status=0 exit Another test case that reproduces the problem when we have compressed extents: 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 _need_to_be_root _require_cp_reflink 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 "-o compress" # Create our file with an extent of 100K starting at file offset 0K. $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 100K" \ -c "fsync" \ $SCRATCH_MNT/foo | _filter_xfs_io # Rewrite part of the previous extent (its first 40K) and write a new # 100K extent starting at file offset 100K. $XFS_IO_PROG -c "pwrite -S 0xbb 0K 40K" \ -c "pwrite -S 0xcc 100K 100K" \ $SCRATCH_MNT/foo | _filter_xfs_io # Our file foo now has 3 file extent items in its metadata: # # 1) One covering the file range 0 to 40K; # 2) One covering the file range 40K to 100K, which points to the first # extent we wrote to the file and has a data offset field with value # 40K (our file no longer uses the first 40K of data from that # extent); # 3) One covering the file range 100K to 200K. # Now clone our file foo into file bar. cp --reflink=always $SCRATCH_MNT/foo $SCRATCH_MNT/bar # Create our snapshot for the send operation. _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \ $SCRATCH_MNT/snap echo "File digests in the original filesystem:" md5sum $SCRATCH_MNT/snap/foo | _filter_scratch md5sum $SCRATCH_MNT/snap/bar | _filter_scratch _run_btrfs_util_prog send $SCRATCH_MNT/snap -f $send_files_dir/1.snap # Now recreate the filesystem by receiving the send stream and verify we # get the same file contents that the original filesystem had. # Btrfs send used to issue a clone operation from foo's range # [80K, 140K[ to bar's range [40K, 100K[ when cloning the extent pointed # to by foo's second file extent item, this was incorrect because of bad # accounting of the file extent item's data offset field. The correct # range to clone from should have been [40K, 100K[. _scratch_unmount _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount "-o compress" _run_btrfs_util_prog receive $SCRATCH_MNT -f $send_files_dir/1.snap echo "File digests in the new filesystem:" # Must match the digests we got in the original filesystem. md5sum $SCRATCH_MNT/snap/foo | _filter_scratch md5sum $SCRATCH_MNT/snap/bar | _filter_scratch status=0 exit Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 267068d83e6df3bcc8b6486dcb2b43e09cd50be8 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 12 14:37:12 2015 +0530 ARM: dts: dra7xx: am57xx: fix cd-gpios definition as per hardware design and dt binding docs As per mmc device tree binding documentation card detect gpio has to be active low signal. When a hardware is designed with active high card detect, gpio polarity has to be changed with cd-inverted dt property. In DRA74x, DRA72x and AM57xx EVMs the card detect gpio is designed as active low gpio. So correcting the dt card detect gpio definition. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0731cbdd5f408502036184ab510c924a6551bf18 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 12 14:37:11 2015 +0530 ARM: dts: am43xx: fix cd-gpios definition as per hardware design and dt binding docs As per mmc device tree binding documentation card detect gpio has to be active low signal. When a hardware is designed with active high card detect, gpio polarity has to be changed with cd-inverted dt property. In AM43xx the card detect gpio is designed as active low gpio. So correcting the dt card detect gpio definition. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c7ce74bc921b9417cc3ff7255ab308960e34998f Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 12 14:37:10 2015 +0530 ARM: dts: am335x: fix cd-gpios definition as per hardware design and dt binding docs As per mmc device tree binding documentation card detect gpio has to be active low signal. When a hardware is designed with active high card detect, gpio polarity has to be changed with cd-inverted dt property. In AM335x the card detect gpio is designed as active low gpio. So correcting the dt card detect gpio definition. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f9459c0aa4d924fb12e2f490bcbe790fa77ceb1e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 13 03:13:02 2015 +0530 staging: lustre: llite: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f999d0987ec1e88c455fb95e48a12a98a9fbd9a6 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 12 20:49:18 2015 +0530 Staging: lustre: osc: Remove null check before kfree kfree on NULL pointer is a no-op. The semantic patch used 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> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03a7fc24e82985e0f1b4c543d310acde9ec84a42 Author: Ryan Van Quinlan <ryan.van.quinlan@xxxxxxxxx> Date: Sat Oct 10 21:53:50 2015 -0700 staging: lustre: lclient: NULL comparison style Fixes checkpatch.pl checks: CHECK: Comparison to NULL could be written ... Signed-off-by: Ryan Van Quinlan <ryan.van.quinlan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3993fa63c253a45e741ffb22a97c9e4df6a3f105 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 23:46:40 2015 +0300 ARM: dts: omap3-igep0020: Remove duplicate uart2 pinmux uart2 pinmux is already defined in omap3-igep0020-common.dtsi, remove the duplicate node. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 272c789b8cb7902feb9cf6087417a881ab9cf6ef Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 23:46:39 2015 +0300 ARM: dts: omap3-igep: Fix indentation Use tabs instead of spaces for indentation. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2e33ffb6d55ede834864861a4a47122e2aa2b6e2 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 22:40:07 2015 +0530 Staging: lustre: obdclass: lprocfs_status: Declare local functions as static Declare lustre_attr_show and lustre_attr_store as static since they are used only in this particular file. Also remove them from corresponding header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5913ef5eb950ff397363201d59f93210a6ccc16f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 22:40:06 2015 +0530 Staging: lustre: obdclass: lu_object: Declare local functions as static Declare lu_dev_add_linkage and lu_object_find as static since they are used only in this particular file. Also remove the corresponding declarations from header file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 848333219c3370a9f6473b50debefbfa467f7b23 Author: Yazen Ghannam <yghannam@xxxxxxxxx> Date: Thu Oct 8 19:01:16 2015 -0400 staging/lustre: Remove unused, commented function call Also fixes a coding style error. Signed-off-by: Yazen Ghannam <yghannam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db8b7b4860d54f26a9a907b918aa06daf28948b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 23:36:47 2015 +0530 Staging: lustre: Remove unused libiam.h header Remove libiam.h since it is not used anywhere throughout the kernel. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5c914fffd9f70d5f112e0a7e30edab7de78f88b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Oct 6 11:22:59 2015 +0200 ARM: dts: omap3-lilly-a83x: Don't use IRQ level flag for a GPIO The card detect GPIO is using IRQ_TYPE_LEVEL_LOW in the GPIO flag cells but this defined constant is meant to be used for a IRQ and not a GPIO. So instead use GPIO_ACTIVE_LOW that seems to be the original intention. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit de7be81decb6b6a96ea8380b87f9c462e22c5b89 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Oct 9 16:31:38 2015 +0300 Staging: skein: Remove space after cast Remove unnecessary space after cast. Problem found using checkpatch.pl CHECK: No space is necessary after a cast. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07a5a4b1ae83914147edc0dfaa5ac5fe3be20c62 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Oct 9 16:31:37 2015 +0300 Staging: skein: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6045d565283f4dea87be87c94d517b37940a3ef Author: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Date: Thu Oct 8 21:57:25 2015 -0700 staging: skein: remove extra indentation Fix macros containing do/while blocks to be indented uniformly. This patch fixes the checkpatch.pl warning: WARNING: suspect code indent for conditional statements Signed-off-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d27a1846ccc27000d9e5027a289ad9e35a88d60 Author: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Date: Thu Oct 8 21:58:36 2015 -0700 staging: skein: fix block comment style Use a separate line for the opening marker of a comment block, a leading asterisk in front of subsequent lines in the block comment, and a separate line for the closing marker of the comment block. 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: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db4a7335dd701a0e20275440ee057d3db2a7ae3 Merge: 62fb50a ee86395 Author: Chris Mason <clm@xxxxxx> Date: Mon Oct 12 16:24:40 2015 -0700 Merge branch 'fix/waitqueue-barriers' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.4 commit 62fb50ab7c903357c92cef2f7677235b92ac575f Merge: 640926f 73416da Author: Chris Mason <clm@xxxxxx> Date: Mon Oct 12 16:24:15 2015 -0700 Merge branch 'anand/sysfs-updates-v4.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.4 Signed-off-by: Chris Mason <clm@xxxxxx> commit d8e1f5ed11a39a68da00f05000466c4f6db4456e Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Oct 12 16:19:54 2015 -0700 Documentation: ARM: List new omap MMC requirements Earlier the PBIAS regulator was optional, not so with recent omap_hsmmc changes. To make things easier for people with custom .config files, let's add minimal documentation for it as suggested by Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fd820a1ec758bc25b0eb10ab5e88e6c61fbcc8aa Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Oct 6 22:07:49 2015 +0200 memory: omap-gpmc: dump "before" state before first modification When gpmc_cs_show_timings is called in gpmc_cs_set_timings() gpmc_cs_program_settings() was already run which modifies the CONFIG1 register. So to be more useful do the "before" dump earlier. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 640926ffdda7e817965d3bfb5bbbc51598ccf49b Merge: 25cb62b f14d104 Author: Chris Mason <clm@xxxxxx> Date: Mon Oct 12 16:22:26 2015 -0700 Merge branch 'cleanup/messages' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.4 commit be59b6192f43a9792f5f636b51358196ba11bbf6 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Oct 12 16:19:54 2015 -0700 memory: omap-gpmc: Fix unselectable debug option for GPMC Commit 63aa945b1013 ("memory: omap-gpmc: Add Kconfig option for debug") added a debug option for GPMC, but somehow managed to keep it unselectable. This probably happened because I had some uncommitted changes and the GPMC option is selected in the platform specific Kconfig. Let's also update the description a bit, it does not mention that enabling the debug option also disables the reset of GPMC controller during the init as pointed out by Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> and Roger Quadros <rogerq@xxxxxx>. Fixes: 63aa945b1013 ("memory: omap-gpmc: Add Kconfig option for debug") Reported-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7e381ec6a36aa44f15fc1a76e6efb9e2cd942e61 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Sep 25 16:02:03 2015 +0300 ARM: dts: am57xx-beagle-x15: set VDD_SD to always-on LDO1 regulator (VDD_SD) is connected to SoC's vddshv8. vddshv8 needs to be kept always powered (see commit 5a0f93c6576a ("ARM: dts: Add am57xx-beagle-x15"), but at the moment VDD_SD is enabled/disabled depending on whether an SD card is inserted or not. This patch sets LDO1 regulator to always-on. This patch has a side effect of fixing another issue, HDMI DDC not working when SD card is not inserted: Why this happens is that the tpd12s015 (HDMI level shifter/ESD protection chip) has LS_OE GPIO input, which needs to be enabled for the HDMI DDC to work. LS_OE comes from gpio6_28. The pin that provides gpio6_28 is powered by vddshv8, and vddshv8 comes from VDD_SD. So when SD card is not inserted, VDD_SD is disabled, and LS_OE stays off. The proper fix for the HDMI DDC issue would be to maybe have the pinctrl framework manage the pin specific power. Apparently this fixes also a third issue (copy paste from Kishon's patch): 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. Fixes: 5a0f93c6576a ("ARM: dts: Add am57xx-beagle-x15") Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Reported-by: Louis McCarthy <compeoree@xxxxxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 63c7ecd7b10778157f7c84367e1535f4c023d828 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:23:25 2015 -0500 ARM: dts: DRA74x: Add IOMMU nodes for DSP2 The DRA74x family of SoCs have a second DSP, that also has two MMUs just like the DSP1 subsystem. Add the IOMMU nodes for this DSP2 subsystem in disabled state to the DRA74x specific DTS file, the nodes would need to be enabled appropriately in the respective board DTS files. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2c7e07c533ac33bab68471968a888f1f789d1523 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:23:24 2015 -0500 ARM: dts: DRA7: Add common IOMMU nodes The DRA7xx family of SOCs have two IPUs and one DSP processor subsystems in common. The IOMMU DT nodes have been added for these processor subsystems, and have been disabled by default. These MMUs are very similar to those on OMAP4 and OMAP5, with the only difference being the presence of a second MMU within the DSP subsystem for the EDMA port. The DSP IOMMUs also need an additional 'ti,syscon-mmuconfig' property compared to the IPU IOMMUs. NOTE: The enabling of these nodes is left to the respective board dts files. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit bddbe6db4a8b3931670357e438ade2784a690312 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:23:23 2015 -0500 ARM: dts: DRA74x: Add dsp2_system syscon node The DSP_SYSTEM sub-module is a dedicated system control logic module present within a DRA7 DSP processor sub-system. This module is responsible for power management, clock generation and connection to the device PRCM module. Add a syscon node for this module for the DSP2 processor sub-system. This is added as a syscon node as it is a common configuration module that can be used by the different IOMMU instances and the corresponding remoteproc device. The node is added to the dra74x.dtsi file, as the DSP2 processor subsystem is usually present only on the DRA74x variants of the DRA7 SoC family. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 99639ace4c83f26698d5a524df01c9a9c2c8c7b6 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:23:22 2015 -0500 ARM: dts: DRA7: Add dsp1_system syscon node The DSP_SYSTEM sub-module is a dedicated system control logic module present within a DRA7 DSP processor sub-system. This module is responsible for power management, clock generation and connection to the device PRCM module. Add a syscon node for this module for the DSP1 processor sub-system. This is added as a syscon node as it is a common configuration module that can be used by the different IOMMU instances and the corresponding remoteproc device. The node is added to the common dra7.dtsi file, as the DSP1 processor sub-system is mostly common across all the variants of the DRA7 SoC family. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3a637e008e542b8ebdc2ceed616b229af0462b14 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Oct 6 11:03:39 2015 +0200 ARM: dts: Use defined GPIO constants in flags cell for OMAP2+ boards Many OMAP2+ DTS are not using the defined constants to express the GPIO polarity. Replace these so the DTS are easier to read. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 79a4e64c679d8a0b1037da174e4aea578c80c4e6 Author: Robert Nelson <robertcnelson@xxxxxxxxx> Date: Fri Sep 25 10:10:31 2015 -0500 ARM: dts: Add am335x-bonegreen SeeedStudio BeagleBone Green (BBG) is clone of the BeagleBone Black (BBB) minus the HDMI port and addition of two Grove connectors (i2c2 and usart2). This board can be identified by the 1A value after A335BNLT (BBB) in the at24 eeprom: 1A: [aa 55 33 ee 41 33 33 35 42 4e 4c 54 1a 00 00 00 |.U3.A335BNLT....|] http://beagleboard.org/green http://www.seeedstudio.com/wiki/Beaglebone_green Signed-off-by: Robert Nelson <robertcnelson@xxxxxxxxx> CC: Tony Lindgren <tony@xxxxxxxxxxx> CC: Jason Kridner <jkridner@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ebbf93f0e76fb0d0afd2ff1a7b6df5badc2fd496 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Sep 18 13:16:34 2015 -0500 ARM: dts: beagle-x15: Enable the system mailboxes 5 and 6 Enable the System Mailboxes 5 and 6 and the corresponding child sub-mailbox (IPC 3.x) nodes for the Beagle X15 EVM boards. This is needed to enable communication with the respective remote processors IPU1, IPU2, DSP1 and DSP2 from the MPU. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 43914a35d2bd4f3ee74fafc4aadcdd4f37df18d3 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Sep 18 13:16:33 2015 -0500 ARM: dts: dra72-evm: Enable the system mailboxes 5 and 6 Enable the System Mailboxes 5 and 6 and the corresponding child sub-mailbox (IPC 3.x) nodes for the DRA72 EVM board. This is needed to enable communication with the respective remote processors IPU1, IPU2, and DSP1 from the MPU. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2bee86799f4aff1c62d7fcba87a1a028c32c7955 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Sep 18 13:16:32 2015 -0500 ARM: dts: dra7-evm: Enable the system mailboxes 5 and 6 Enable the System Mailboxes 5 and 6 and the corresponding child sub-mailbox (IPC 3.x) nodes for the DRA7 EVM board. This is needed to enable communication with the respective remote processors IPU1, IPU2, DSP1 and DSP2 from the MPU. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 48aff9f6faa59677645e02dd9e1c043a75caf1c1 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Sep 18 13:16:31 2015 -0500 ARM: dts: DRA72x: Add IPC sub-mailbox nodes for IPU1, IPU2 & DSP1 Add the sub-mailbox nodes that are used to communicate between MPU and the remote processors IPU1, IPU2 and DSP1. These match the respective node definitions on DRA74x to maintain compatibility for the equivalent remote processors. There is no DSP2 on DRA72x, and so the corresponding sub-mailbox node is not added. These sub-mailbox nodes are added to match the hard-coded mailbox configuration used within the TI IPC 3.x software package. The Dual-Cortex M4 IPU1 and IPU2 processor sub-systems are assumed to be running in SMP-mode, and hence only a single sub-mailbox node is added for each. All these sub-mailbox nodes are left in disabled state, and should be enabled (and modified if needed) as per the individual product configuration in the corresponding board dts files. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a9c8f117f43515572a914e9ec7332906c4e7cdde Author: Suman Anna <s-anna@xxxxxx> Date: Fri Sep 18 13:16:30 2015 -0500 ARM: dts: DRA74x: Add IPC sub-mailbox nodes for all IPUs & DSPs Add the sub-mailbox nodes that are used to communicate between MPU and the remote processors IPU1, IPU2, DSP1 and DSP2. The sub-mailbox nodes utilize the System Mailbox instances 5 and 6. These sub-mailbox nodes are added to match the hard-coded mailbox configuration used within the TI IPC 3.x software package. The Dual-Cortex M4 IPU1 and IPU2 processor sub-systems are assumed to be running in SMP-mode, and hence only a single sub-mailbox node is added for each. All these sub-mailbox nodes are left in disabled state, and should be enabled (and modified if needed) as per the individual product configuration in the corresponding board dts files. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c72bfb883d1d03a7777960d78437c8329684390d Author: Teresa Remmet <t.remmet@xxxxxxxxx> Date: Thu Sep 3 14:00:07 2015 +0200 ARM: dts: am335x-wega: Clean up regulators Cleaned up the regulators on the wega board. Created a simple bus, renamed the regulators according to the schematics and added missing regulator on wega. Signed-off-by: Teresa Remmet <t.remmet@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 863987affb36c029bcd868eb86145c7fa405f5bd Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Aug 27 18:20:47 2015 +0300 ARM: dts: dra7-evm: add gpio key support dra7-evm has 2 gpio keys wired through TS_LCD_GPIO3, TS_LCD_GPIO4 which in turn connected to PCF8575 GPIO pcf_lcd: gpio@20 expander pins 2 and 3. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a96e8808854cceefab45a7b71152ccebf3ba6cdf Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Aug 27 18:20:46 2015 +0300 ARM: dts: dra7-evm: add gpio leds support dra7-evm has 4 user gpio leds connected to PCF8575 GPIO pcf_lcd: gpio@20 expander pins [4,5,6,7], so add corresponding DT nodes. Do not enable any triggers by default as not all of them are proved to work on -RT. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4fbdc6ab836f54e7559a637d9db44be7535c0889 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Aug 27 18:20:45 2015 +0300 ARM: dts: dra7-evm: add pcf8575 gpio expander (i2c1 addr 20) This patch adds DT definition for CF8575 GPIO pcf_lcd: gpio@20 expander which is connected to i2c bus 1 and has slave address 0x20. It allows to control: - tc_lcd gpios, pins p0-p3 - user leds, pins p4-p7 - control LCD panel power, p15 PCF8575 GPIO pcf_lcd: gpio@20 expander supports interrupt controller functionality and its INT line is connected to dra7 GPIO6.11 pin. Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a00e368c197b236ec76e6684a6459cee98335e14 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:07 2015 +0300 ARM: dts: am57xx-beagle-x15: Enable analog audio support The analog audio setup consists of: McASP3 <-> tlv320aic3104 codec Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d929e8bb13972e86ed9cc23578a559e773d57a19 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:06 2015 +0300 ARM: dts: am57xx-beagle-x15: Add fixed regulator for aic3104's DVDD The DVDD is supplied via TPS77018DBVT fixed regulator from vdd_3v3 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a8d3b59cddbdd31211a81379aaa54ed0de91358a Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:05 2015 +0300 ARM: dts: dra72-evm: Audio support The board uses tlv320aic3106 codec connected to McASP3. The master clock for the codec and McASP3 is coming from ATL2. McASP3 is the master on the I2S bus. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6ddd5fce849a5d06bee7e5cf10ad7db21b68aa7b Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:04 2015 +0300 ARM: dts: dra72-evm: Add gpio hog for vin6_sel_s0 to select audio The GPIO expander's p1 on i2c5 bus 0x26 address is used for selecting between audio and VIN6 functionality. For VIN6 use an add on card is needed while audio is present on the board itself. Select the audio functionality over the VIN6 in the dts file. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 61085ee712901ac608c50521f44837a4ff54afdc Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:03 2015 +0300 ARM: dts: dra72-evm: Add fixed regulator representing DVDD supply for aic3106 The DVDD is supplied via TPS77018DBVT fixed regulator from evm_3v3 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Darren Etheridge <detheridge@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a9347bfa9b186615968d049ccbf856f95b2eeace Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:02 2015 +0300 ARM: dts: dra7-evm: Audio support The board uses tlv320aic3106 codec connected to McASP3. The master clock for the codec and McASP3 is coming from ATL2. McASP3 is the master on the I2S bus. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c5d294db75d16b30935fd3be8eef96d82f78355a Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:01 2015 +0300 ARM: dts: dra7-evm: Enable pcf8575 (0x26 address) on i2c2 bus This GPIO expander is used for controlling various muxes on the board. By default select audio functionality over VIN6 by setting the P1 (vin6_sel_s0) pin to low. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d6818223cd46542ed0162ad6208a3425e79fd514 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:00 2015 +0300 ARM: dts: dra7-evm: Add fixed regulator to be used by aic3106's DVDD TPS77018DBVT is used to create 1.8V from avm_3v3_sw's 3.3V connected to aic3106's DVDD. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 27f39e5f5fd1d9eb5ce67507ad57ef5df007f208 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:19:59 2015 +0300 ARM: dts: dra7-evm: Rename mmc2_3v3 supply to evm_3v3_sw Use the name for the supply as it is in the schematics since the same supply is used for other peripherals than MMC2, like audio. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0ad95472bf169a3501991f8f33f5147f792a8116 Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Wed Sep 23 15:49:29 2015 +0300 lockd: create NSM handles per net namespace Commit cb7323fffa85 ("lockd: create and use per-net NSM RPC clients on MON/UNMON requests") introduced per-net NSM RPC clients. Unfortunately this doesn't make any sense without per-net nsm_handle. E.g. the following scenario could happen Two hosts (X and Y) in different namespaces (A and B) share the same nsm struct. 1. nsm_monitor(host_X) called => NSM rpc client created, nsm->sm_monitored bit set. 2. nsm_mointor(host-Y) called => nsm->sm_monitored already set, we just exit. Thus in namespace B ln->nsm_clnt == NULL. 3. host X destroyed => nsm->sm_count decremented to 1 4. host Y destroyed => nsm_unmonitor() => nsm_mon_unmon() => NULL-ptr dereference of *ln->nsm_clnt So this could be fixed by making per-net nsm_handles list, instead of global. Thus different net namespaces will not be able share the same nsm_handle. Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit aaf91ec148910e0c2bfd135ea19f870e7196e64f Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Sep 17 08:28:39 2015 -0400 nfsd: switch unsigned char flags in svc_fh to bools ...just for clarity. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit fcaba026a55803dd21523e6e191ba7f59e02a737 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Sep 17 08:28:38 2015 -0400 nfsd: move svc_fh->fh_maxsize to just after fh_handle This moves the hole in the struct down below the flags fields, which allows us to potentially add a new flag without growing the struct. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e79017ddce8273514d24728523d17033bcbeba6f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:15 2015 +0200 nfsd: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) { \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); x = NULL; -} // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 35a92fe8770ce54c5eb275cd76128645bea2d200 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Sep 17 07:47:08 2015 -0400 nfsd: serialize state seqid morphing operations Andrew was seeing a race occur when an OPEN and OPEN_DOWNGRADE were running in parallel. The server would receive the OPEN_DOWNGRADE first and check its seqid, but then an OPEN would race in and bump it. The OPEN_DOWNGRADE would then complete and bump the seqid again. The result was that the OPEN_DOWNGRADE would be applied after the OPEN, even though it should have been rejected since the seqid changed. The only recourse we have here I think is to serialize operations that bump the seqid in a stateid, particularly when we're given a seqid in the call. To address this, we add a new rw_semaphore to the nfs4_ol_stateid struct. We do a down_write prior to checking the seqid after looking up the stateid to ensure that nothing else is going to bump it while we're operating on it. In the case of OPEN, we do a down_read, as the call doesn't contain a seqid. Those can run in parallel -- we just need to serialize them when there is a concurrent OPEN_DOWNGRADE or CLOSE. LOCK and LOCKU however always take the write lock as there is no opportunity for parallelizing those. Reported-and-Tested-by: Andrew W Elble <aweits@xxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ea823c7cbffa7bae311d78761866ac4db344c89b Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Oct 6 14:27:51 2015 +0200 PM / Domains: Remove pm_genpd_poweron() API Once genpd could be configured to be built with CONFIG_PM_RUNTIME unset (nowadays CONFIG_PM), the pm_genpd_poweron() API served a purpose, since it allowed users to power on a PM domain. As such configuration no longer is supported, users shall solely rely on using some of the runtime PM APIs to power on a PM domain. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bb4b72fc63d4c1c2ccd5e5af95e48b77d6cad80c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Oct 6 14:27:42 2015 +0200 PM / Domains: Remove pm_genpd_poweroff_unused() API As the last user of the pm_genpd_poweroff_unused() API has moved into relying on genpd to deal with this internally from a late_initcall, let's remove the API. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2376692416b73c51d6f3ba5588b8f19cec617d31 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Oct 6 14:27:30 2015 +0200 soc: dove: Let genpd deal with disabling of unused PM domains Genpd tries from a late_initcall to disable unused PM domains, which makes it unnecessary to also manage this from any earlier phase when for example initializing a genpd. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f96b3c4f34b294a2293a5aa1d55e12e66aee055d Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Sep 29 15:12:37 2015 +0200 PM / Domains: Remove in_progress counter from struct generic_pm_domain Commit ba2bbfbf6307 ("PM / Domains: Remove intermediate states..") changed the power off sequence (pm_genpd_poweroff()), which from locking point of view means the genpd mutex is held throughout the sequence. The above change means the in_progress counter can't be updated while pm_genpd_poweroff() is executing, which allows us to remove the counter. Instead we inform pm_genpd_poweroff() via a bool parameter, to indicate whether we call it from the scheduled work or from the ->runtime_suspend() callback, since that all that matters. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ebdee13ac2b4f1463c1c195a40fa4f1555184f17 Author: Anup Patel <anup.patel@xxxxxxxxxxxx> Date: Fri Oct 2 23:26:43 2015 +0530 mtd: nand: Allow MTD_NAND_BRCMNAND to be selected for ARM64 The BRCM NAND driver can be re-used for Broadcom ARM64 SoCs hence this patch updates Kconfig to allow selection of MTD_NAND_BRCMNAND for ARM64. Signed-off-by: Anup Patel <anup.patel@xxxxxxxxxxxx> Reviewed-by: Vikram Prakash <vikramp@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Pramod KUMAR <pramodku@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f08b8ba9f5d7ec528a9fc293e76a14c2851e403 Author: Anup Patel <anup.patel@xxxxxxxxxxxx> Date: Fri Oct 2 23:26:42 2015 +0530 mtd: brcmnand: Fix pointer type-cast in brcmnand_write() We should always type-cast pointer to "long" or "unsigned long" because size of pointer is same as machine word size. This will avoid pointer type-cast issues on both 32bit and 64bit systems. This patch fixes pointer type-cast issue in brcmnand_write() as-per above info. Signed-off-by: Anup Patel <anup.patel@xxxxxxxxxxxx> Reviewed-by: Vikram Prakash <vikramp@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ad806ea66c7cdfa10152c58aa710c9c26ca0d159 Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Sep 9 16:27:08 2015 -0400 ACPI: Allow selection of the ACPI processor driver for ARM64 Now that the ACPI processor driver has been decoupled from the C states and P states functionality, make it selectable on ARM64 so that it can be used by others e.g. CPPC. The C states and P states code is selected only on X86 or IA64 until the relevant support is added on ARM64. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4f2f757351df44c7109a7b93653bed9b8fe10e6b Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Sep 9 16:27:07 2015 -0400 CPPC: Probe for CPPC tables for each ACPI Processor object For each detected ACPI Processor object (ACPI0007), search its device handle for CPPC specific tables (i.e. _CPC) and extract CPU specific 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 56cdc2a05c248c9dfe2480813fc34a4e6d7a77db Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Sep 9 16:27:06 2015 -0400 ACPI: Add weak routines for ACPI CPU Hotplug Add weak functions for architectures which do not support hot-adding and removing CPUs which aren't detected at bootup. (e.g. via MADT). This helps preserve the Kconfig dependency from: commit cbfc1bae55bb ("[ACPI] ACPI_HOTPLUG_CPU Kconfig dependency update") prevent: HOTPLUG_CPU=y ACPI_PROCESSOR=y ACPI_HOTPLUG_CPU=n Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5477fb3bd1e8e43299761850318fe0057172a24a Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Fri Oct 2 10:04:01 2015 -0400 ACPI / CPPC: Add a CPUFreq driver for use with CPPC This driver utilizes the methods introduced in a previous patch titled - "ACPI: Introduce CPU performance controls using CPPC" and enables usage with existing CPUFreq governors. 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 ea1a29a0bdfffd56ca98335c0655308e8d7d0e22 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 12 17:08:48 2015 +0800 f2fs: export ra_nid_pages to sysfs After finishing building free nid cache, we will try to readahead asynchronously 4 more pages for the next reloading, the count of readahead nid pages is fixed. In some case, like SMR drive, read less sectors with fixed count each time we trigger RA may be low efficient, since we will face high seeking overhead, so we'd better let user to configure this parameter from sysfs in specific workload. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2db2388fcf0d880bd7160264274ed873baec4f0d Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 12 17:07:33 2015 +0800 f2fs: readahead for free nids building When there is no free nid in nid cache, all new node allocaters stop their job to wait for reloading of free nids, however reloading is synchronous as we will read 4 NAT pages for building nid cache, it cause the long latency. This patch tries to readahead more NAT pages with READA request flag after reloading of free nids. It helps to improve performance when users allocate node id intensively. Env: Sandisk 32G sd card time for i in `seq 1 60000`; { echo -n > /mnt/f2fs/$i; echo XXXXXX > /mnt/f2fs/$i;} Before: real 0m2.814s user 0m1.220s sys 0m1.536s After: real 0m2.711s user 0m1.136s sys 0m1.568s Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 26879fb101f28c554294eaf25ac7817a2825b180 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 12 17:05:59 2015 +0800 f2fs: support lower priority asynchronous readahead in ra_meta_pages Now, we use ra_meta_pages to reads continuous physical blocks as much as possible to improve performance of following reads. However, ra_meta_pages uses a synchronous readahead approach by submitting bio with READ, as READ is with high priority, it can not be used in the case of preloading blocks, and it's not sure when these RAed pages will be used. This patch supports asynchronous readahead in ra_meta_pages by tagging bio with READA flag in order to allow preloading. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2b947003fa98d5a39f3b21214380d0b1daf750b5 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 12 17:04:21 2015 +0800 f2fs: don't tag REQ_META for temporary non-meta pages In recovery or checkpoint flow, we grab pages temperarily in meta inode's mapping for caching temperary data, actually, datas in these pages were not meta data of f2fs, but still we tag them with REQ_META flag. However, lower device like eMMC may do some optimization for data of such type. So in order to avoid wrong optimization, we'd better remove such flag for temperary non-meta pages. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit b8c2940048adf4b2fcc5ae738f2bd4821ebf6a8a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 12 17:02:26 2015 +0800 f2fs: add a tracepoint for f2fs_read_data_pages This patch adds a tracepoint for f2fs_read_data_pages to trace when pages are readahead by VFS. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 026d4d6db2ae1586dc34305e5689ec46e05842bc Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:19:58 2015 +0300 ARM: dts: dra7: Add McASP3 node Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f95b1064b30a59d93a8df65284b770a2d774040f Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Aug 18 17:01:57 2015 +0300 ARM: dts: am437x-gp-evm: Add DCAN sleep pins Add DCAN sleep pins to save some power during suspend. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 337aadff8e4567e39669e07d9a88b789d78458b5 Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Fri Oct 2 10:01:19 2015 -0400 ACPI: Introduce CPU performance controls using CPPC CPPC stands for Collaborative Processor Performance Controls and is defined in the ACPI v5.0+ spec. It describes CPU performance controls on an abstract and continuous scale allowing the platform (e.g. remote power processor) to flexibly optimize CPU performance with its knowledge of power budgets and other architecture specific knowledge. This patch adds a shim which exports commonly used functions to get and set CPPC specific controls for each CPU. This enables CPUFreq drivers to gather per CPU performance data and use with exisiting governors or even allows for customized governors which are implemented inside CPUFreq drivers. 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 a56c7c6fb3c60857c1335bcb8b914e6f65655486 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Oct 9 15:11:38 2015 -0700 f2fs: set GFP_NOFS for grab_cache_page For normal inodes, their pages are allocated with __GFP_FS, which can cause filesystem calls when reclaiming memory. This can incur a dead lock condition accordingly. So, this patch addresses this problem by introducing f2fs_grab_cache_page(.., bool for_write), which calls grab_cache_page_write_begin() with AOP_FLAG_NOFS. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6e2c64ad7cebf8740c5e1241de374c6b6ea80f81 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Oct 7 12:28:41 2015 -0700 f2fs: fix SSA updates resulting in corruption The f2fs_collapse_range and f2fs_insert_range changes the block addresses directly. But that can cause uncovered SSA updates. In that case, we need to give up to change the block addresses and do buffered writes to keep filesystem consistency. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a125702326d9c3b753fe9c9b9727d3b3dd1cba4a Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Oct 8 10:40:07 2015 -0700 Revert "f2fs: do not skip dentry block writes" The periodic checkpoint can resolve the previous issue. So, now we can use this again to improve the reported performance regression: https://lkml.org/lkml/2015/10/8/20 This reverts commit 15bec0ff5a9ba6d203178fa8772259df6207942a. commit c912a8298c16ef15aa2b7203022c935f439f488b Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Oct 7 09:46:37 2015 -0700 f2fs: add F2FS_GOING_DOWN_METAFLUSH to test power-failure This patch introduces F2FS_GOING_DOWN_METAFLUSH which flushes meta pages like SSA blocks and then blocks all the writes. This can be used by power-failure tests. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a5e22db2689dc717cc3aaeb0c92c3f5445c5ea1f Merge: 2cef548 7236214 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Oct 12 22:30:57 2015 +0200 Merge back earlier 'pm-sleep' material for v4.4. commit 2cef548adf58e9a58a411948b98edb9a3980dbe6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Sep 30 01:10:24 2015 +0200 PCI / PM: Avoid resuming more devices during system suspend Commit bac2a909a096 (PCI / PM: Avoid resuming PCI devices during system suspend) introduced a mechanism by which some PCI devices that were runtime-suspended at the system suspend time might be left in that state for the duration of the system suspend-resume cycle. However, it overlooked devices that were marked as capable of waking up the system just because PME support was detected in their PCI config space. Namely, in that case, device_can_wakeup(dev) returns 'true' for the device and if the device is not configured for system wakeup, device_may_wakeup(dev) returns 'false' and it will be resumed during system suspend even though configuring it for system wakeup may not really make sense at all. To avoid this problem, simply disable PME for PCI devices that have not been configured for system wakeup and are runtime-suspended at the system suspend time for the duration of the suspend-resume cycle. If the device is in D3cold, its config space is not available and it shouldn't be written to, but that's only possible if the device has platform PM support and the platform code is responsible for checking whether or not the device's configuration is suitable for system suspend in that case. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4dddfb882373b542d33a98576975237a23c0110c Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:24 2015 +0900 ARM: S3C64XX: Use PWM lookup table for mach-smartq Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit dd39be623e733ab90ec36d72e72234cd50156724 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:22 2015 +0900 ARM: S3C64XX: Use PWM lookup table for mach-hmt Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 799fbf8ceef4621dd3dd01499ef13cab1d082896 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:22 2015 +0900 ARM: S3C64XX: Use PWM lookup table for mach-crag6410 Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit bf0ff1cd21a34ced1b34a42f12de8ec1ae7cfd3b Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:22 2015 +0900 ARM: S3C64XX: Use PWM lookup table for smdk6410 Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c107fe904a1075be8defff9b3942cde5a930a2bb Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:22 2015 +0900 ARM: S3C24XX: Use PWM lookup table for mach-rx1950 Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 8c78aaa6ee587bce9d913114ba2aec5d345e39ed Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:21 2015 +0900 ARM: S3C24XX: Use PWM lookup table for mach-h1940 Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 914eebf2f434c6c0355faa9d81b4ebdca94819c9 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Wed Oct 7 13:25:50 2015 +0900 netfilter: nfnetlink_log: autoload nf_conntrack_netlink module NFQA_CFG_F_CONNTRACK config flag This patch enables to load nf_conntrack_netlink module if NFULNL_CFG_F_CONNTRACK config flag is specified. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b8bb9baad27e455c467e8fac47eebadbe765c18f Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Tue Oct 13 04:32:53 2015 +0900 ARM: dts: Fix audio card detection on Peach boards Since commit 2fad972d45c4 ("ARM: dts: Add mclk entry for Peach boards"), sound card detection is broken on peach boards and gives below errors: [ 3.630457] max98090 7-0010: MAX98091 REVID=0x51 [ 3.634233] max98090 7-0010: use default 2.8v micbias [ 3.640985] snow-audio sound: HiFi <-> 3830000.i2s mapping ok [ 3.645307] max98090 7-0010: Invalid master clock frequency [ 3.650824] snow-audio sound: ASoC: Peach-Pi-I2S-MAX98091 late_probe() failed: -22 [ 3.658914] snow-audio sound: snd_soc_register_card failed (-22) [ 3.664366] snow-audio: probe of sound failed with error -22 This patch adds missing assigned-clocks and assigned-clock-parents for pmu_system_controller node which is used as "mclk" for audio codec. Fixes: 2fad972d45c4 ("ARM: dts: Add mclk entry for Peach boards") Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 51a6256b00008a3c520f6f31bcd62cd15cb05960 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Oct 13 04:32:49 2015 +0900 ARM: EXYNOS: Fix double of_node_put() when parsing child power domains On each next iteration of for_each_compatible_node() the reference counter for current device node is already decreased by the loop iterator. The manual call to of_node_get() is required only on loop break which is not happening here. The double of_node_get() (with enabled CONFIG_OF_DYNAMIC) lead to decreasing the counter below expected, initial value. Fixes: fe4034a3fad7 ("ARM: EXYNOS: Add missing of_node_put() when parsing power domains") Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 835da3f99d329b1160a1f7fc82c7ac81163d63d0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 22:29:48 2015 +0200 nvme: fix 32-bit build warning Compiling the nvme driver on 32-bit warns about a cast from a __u64 variable to a pointer: drivers/block/nvme-core.c: In function 'nvme_submit_io': drivers/block/nvme-core.c:1847:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void __user *)io.addr, length, NULL, 0); The cast here is intentional and safe, so we can shut up the gcc warning by adding an intermediate cast to 'uintptr_t'. I had previously submitted a patch to fix this problem in the nvme driver, but it was accepted on the same day that two new warnings got added. For clarification, I also change the third instance of this cast to use uintptr_t instead of unsigned long now. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: d29ec8241c10e ("nvme: submit internal commands through the block layer") Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3d42e67fe5ebc1e5c3aae9b1037e38ec99a362cc Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 22:29:48 2015 +0200 nvme: fix 32-bit build warning Compiling the nvme driver on 32-bit warns about a cast from a __u64 variable to a pointer: drivers/block/nvme-core.c: In function 'nvme_submit_io': drivers/block/nvme-core.c:1847:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void __user *)io.addr, length, NULL, 0); The cast here is intentional and safe, so we can shut up the gcc warning by adding an intermediate cast to 'uintptr_t'. I had previously submitted a patch to fix this problem in the nvme driver, but it was accepted on the same day that two new warnings got added. For clarification, I also change the third instance of this cast to use uintptr_t instead of unsigned long now. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: d29ec8241c10e ("nvme: submit internal commands through the block layer") Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4e4f485c89c95c317fadf9faf76d703f0cc7a34d Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Oct 9 19:47:41 2015 +0200 clk: tegra: delete unneeded of_node_put for_each_child_of_node performs an of_node_put on each iteration, so putting an of_node_put before a continue results in a double put. The semantic match that finds this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; iterator name for_each_child_of_node; @@ for_each_child_of_node(root, child) { ... when != of_node_get(child) * of_node_put(child); ... * continue; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 67d7188afe23e4b1b82ee6fed35c14387f169f74 Merge: 53c929c 41691b8 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 12 11:44:49 2015 -0700 Merge branch 'clk-bcm2835' into clk-next * clk-bcm2835: clk: bcm2835: Add support for programming the audio domain clocks clk: bcm2835: Add binding docs for the new platform clock driver. clk: bcm2835: Move under bcm/ with other Broadcom SoC clk drivers. commit d115d7050a0d2c4967532f18c9cb522fea6b7280 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 31 19:48:28 2015 +0300 Revert "usb: dwc3: gadget: drop unnecessary loop when cleaning up TRBs" This reverts commit 8f2c9544aba636134303105ecb164190a39dece4. As it breaks g_ether on my Baytrail FFRD8 device. Everything starts out fine, but after a bit of data has been transferred it just stops flowing. Note that I do get a bunch of these "NOHZ: local_softirq_pending 08" when booting the machine, but I'm not really sure if they're related to this problem. Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e5f68b4a3e7b006f209aba078d6a5ff3a78dd783 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Oct 12 13:25:44 2015 -0500 Revert "usb: dwc3: gadget: remove unnecessary _irqsave()" This reverts commit 70f3a9caa11665e9f9aace581d85d8483716a4c8. That commit was causing a lockdep splat with g_ether and that was interfering with proper functionality. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 41691b8862e2a32080306f17a723efc4b6ca86ab Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Oct 8 18:37:24 2015 -0700 clk: bcm2835: Add support for programming the audio domain clocks This adds support for enabling, disabling, and setting the rate of the audio domain clocks. It will be necessary for setting the pixel clock for HDMI in the VC4 driver and let us write a cpufreq driver. It will also improve compatibility with user changes to the firmware's config.txt, since our previous fixed clocks are unaware of it. The firmware also has support for configuring the clocks through the mailbox channel, but the pixel clock setup by the firmware doesn't work, and it's Raspberry Pi specific anyway. The only conflicts we should have with the firmware would be if we made firmware calls that result in clock management (like opening firmware V3D or ISP access, which we don't support in upstream), or on hardware over-thermal or under-voltage (when the firmware would rewrite PLLB to take the ARM out of overclock). If that happens, our cached .recalc_rate() results would be incorrect, but that's no worse than our current state where we used fixed clocks. The existing fixed clocks in the code are left in place to provide backwards compatibility with old device tree files. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d4a1a317e7478b70e18b9cc8eac7d29090121b6e Merge: b3961e8 b4a21fc ca07e9f 536b560 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 12 19:25:07 2015 +0100 Merge remote-tracking branches 'regmap/topic/atomic', 'regmap/topic/debugfs' and 'regmap/topic/irq-hdr' into regmap-next commit b3961e8703cbacf45116aea44f0c1cdaf8c8b40c Merge: ba5890a 77792b1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 12 19:24:30 2015 +0100 Merge tag 'regmap-offload-update-bits' into regmap-next regmap: Allow buses to provide a custom update_bits() operation Some buses provide a native _update_bits() operation which for uncached registers is faster than doing a read/modify/write cycle as it is a single bus transaction. Add support for implementing this to regmap. # gpg: Signature made Tue 06 Oct 2015 16:21:47 BST using RSA key ID 5D5487D0 # gpg: Oops: keyid_from_fingerprint: no pubkey # gpg: Oops: keyid_from_fingerprint: no pubkey # gpg: key 00000000 occurs more than once in the trustdb # gpg: key 16005C11: no public key for trusted key - skipped # gpg: key 16005C11 marked as ultimately trusted # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit ba5890a0c7576776ada71a21d95833a2281695e2 Merge: 25cb62b a650fdd Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 12 19:24:30 2015 +0100 Merge tag 'regmap-irq-unmask' into regmap-next regmap: Support for split mask and unmask interrupt registers This branch adds an interface for supporting devices which have separate mask and unmask registers. # gpg: Signature made Thu 17 Sep 2015 11:52:20 BST using RSA key ID 5D5487D0 # gpg: Oops: keyid_from_fingerprint: no pubkey # gpg: Oops: keyid_from_fingerprint: no pubkey # gpg: key 00000000 occurs more than once in the trustdb # gpg: key 16005C11: no public key for trusted key - skipped # gpg: key 16005C11 marked as ultimately trusted # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit 51ec005a94b7da34434211f23465d3b7dc841148 Merge: 55582bc d43b1b6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Oct 12 20:24:24 2015 +0200 Merge back earlier cpufreq material for v4.4. commit 06968a54790d9dd87a5bb68e8197b5094eff63c3 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 9 18:16:51 2015 -0400 mtd: pxa2xx-flash: switch from ioremap_cache to memremap In preparation for deprecating ioremap_cache() convert its usage in pxa2xx-flash to memremap. Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> [brian: also convert iounmap to memunmap] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ae428a72b4c46c4553206cf5a2917846c12ef4c2 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 17 15:38:05 2015 +0200 ARM: OMAP2+: Remove unneeded semicolons Remove the unneded semicolons since they are clearly a typo error. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit bf0584959a5bbefbb97efcd4bc8617034bba8906 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 17 15:24:14 2015 +0200 ARM: OMAP3: vc: Remove unused macros The PRM_POLCTRL_TWL_MASK and PRM_POLCTRL_TWL_MASK macros are not used so they can be deleted. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 378102f364d3fba88b8162df13d639d620e9272c Merge: 1a76eb5 25cb62b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:54:35 2015 -0700 Merge 4.3-rc5 into tty-next We want the tty fixes and reverts in here as well so that people can properly test and use it. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1630da0589dbf520e4cf565eda6a74c5a813962 Merge: d5f9e73 25cb62b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:49:33 2015 -0700 Merge 4.3-rc5 into usb-next We want the USB fixes in here as well to make merges easier. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b22abe7b3ca3885e488ad36e5857d15f8158141 Merge: 17db84e 25cb62b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:46:53 2015 -0700 Merge 4.3-rc5 into staging-next We want the fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11feb18f4edb1423ed6091908c45de7ade30d5b7 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Mon Oct 12 11:37:38 2015 -0600 NVMe: Add explicit block config dependency The nvme driver was moved from drivers/block, losing our implicit dependency on CONFIG_BLOCK. This makes it an explicit driver dependency. Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dc7ad3a0f92d47c2cbd35c0ae7e8527b3426414b Author: Ladislav Michl <ladis@xxxxxxxxxxxxxx> Date: Thu Aug 13 22:47:18 2015 +0200 ARM: OMAP1: Remove board support for VoiceBlue board Remove board support files for 10 years discontinued VoiceBlue board. Signed-off-by: Ladislav Michl <ladis@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4970c0cb6aa8996e39b1626887f5fb67a49f5ad1 Merge: 3c0ed7d 25cb62b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:29:36 2015 -0700 Merge 4.3-rc5 into char-misc next We want the fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2aa8f5d63d9183ab185364d4ce849566ede0f301 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 8 10:25:41 2015 +0200 libata: only call ->done once all per-tag ressources are released When calling ->done before releasing resources we could run into a race where the SCSI midlayer sends another command and races with the resources beeing manipulated. For libata this can't currently happen as synchronization happens at a higher level, but I'd still like to fix it to future proof libata and to avoid copy & paste into SCSI drivers where this pattern has led to reproducible crashes. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 801ab33596f3e2a70a3b3599618d966736299014 Author: Jonathan Cameron <jic23@xxxxxxxxxx> Date: Wed Sep 23 20:36:02 2015 +0100 iio:light:apds9960 Fix sparse endian warnings. This patch is a tidy up of warnings from the autobuilder. >> drivers/iio/light/apds9960.c:495:32: sparse: cast to restricted __le16 drivers/iio/light/apds9960.c:635:24: sparse: cast to restricted __le16 >> drivers/iio/light/apds9960.c:672:21: sparse: incorrect type in assignment (different base types) drivers/iio/light/apds9960.c:672:21: expected unsigned short [unsigned] [usertype] buf drivers/iio/light/apds9960.c:672:21: got restricted __le16 [usertype] <noident> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> Cc: mranostay@xxxxxxxxx Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c04782177f212686cd1d74225df34a5c292be25b Author: Jonathan Cameron <jic23@xxxxxxxxxx> Date: Sun Oct 11 12:55:11 2015 +0100 iio:measurement specialties core: Fix endian sparse warnings. This patch changes various types to the appropriate endian specific versions. Also introduces an additional local variable to avoid a single variable being used for both be and cpu endianness. These aren't bugs as such, but clearing them up does make the code clearer. Warning was: sparse warnings: (new ones prefixed by >>) >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: sparse: incorrect type in assignment (different base types) drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: got restricted __be16 [usertype] <noident> >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: sparse: incorrect type in assignment (different base types) drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: got restricted __be16 [usertype] <noident> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 060646a218b357e758b3dc6bbce2865bd0aadd44 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Oct 2 23:19:41 2015 +0800 ARM: dts: mt8127: enable basic SMP bringup for mt8127 Add arch timer node to enable arch-timer support. MT8127 firmware doesn't correctly setup arch-timer frequency and CNTVOFF, add properties to workaround this. This also set cpu enable-method to enable SMP. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit d186a394bb98e9da199b72ce0498fb0f96832e17 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Oct 2 23:19:40 2015 +0800 ARM: dts: mt8135: enable basic SMP bringup for mt8135 Add arch timer node to enable arch-timer support. MT8135 firmware doesn't correctly setup arch-timer frequency and CNTVOFF, add properties to workaround this. This also set cpu enable-method to enable SMP. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 4562c9103696666f086d04b25479dfda81753d0a Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Oct 2 23:19:38 2015 +0800 devicetree: bindings: add new SMP enable method Mediatek SoC This commit add new cpu enable method "mediatek,mt65xx-smp" and "mediatek,mt81xx-tz-smp". Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 79828b4fa835f73cdaf4bffa48696abdcbea9d02 Merge: 721b51f 8c1a9d6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 12 18:09:27 2015 +0100 Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-fix-rt5645 commit f96885b479b904afd8c33f44623f2a9ff916033c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Jul 16 15:55:18 2015 +0300 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4aa8e454d347a1c96a2322683a6798de7e17da5f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 12 14:02:29 2015 -0300 perf hists browser: Inform how to reset the symbol filter When in the hists browser, i.e. in 'perf report' or in 'perf top', it is possible to press '/' and specify a substring to filter by symbol name. Clarify how to remove a filter by making the prompt be: Please enter the name of symbol you want to see. To remove the filter later, press / + ENTER 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-vbq2b0kyufwy6p0ctkfswcoe@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5fe58fd2836987387a6ee8854c529db7f5be650 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Oct 12 21:34:59 2015 +0800 ASoC: rt298: set register non-volatile by default It is not necessary to set registers volatile. So, return false for default case of rt298_volatile_register. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bc27a53928981662079aa243915b443370294a03 Author: Vignesh R <vigneshr@xxxxxx> Date: Mon Oct 12 13:22:02 2015 +0530 spi: ti-qspi: Fix data corruption seen on r/w stress test Writing invalid command to QSPI_SPI_CMD_REG will terminate current transfer and de-assert the chip select. This has to be done before calling spi_finalize_current_message(). Because spi_finalize_current_message() will mark the end of current message transfer and schedule the next transfer. If the chipselect is not de-asserted before calling spi_finalize_current_message() then the next transfer will overlap with the previous transfer leading to data corruption. __spi_pump_message() can be called either from kthread worker context or directly from the calling process's context. It is possible that these two calls can race against each other. But race is serialized by checking whether master->cur_msg == NULL (pointer to msg being handled by transfer_one() at present). The master->cur_msg is set to NULL when spi_finalize_current_message() is called on that message, which means calling spi_finalize_current_message() allows __spi_sync() to pump next message in calling process context. Now if spi-ti-qspi calls spi_finalize_current_message() before we terminate transfer at hardware side, if __spi_pump_message() is called from process context then the successive transactions can overlap. Fix this by moving writing invalid command to QSPI_SPI_CMD_REG to before calling spi_finalize_current_message() call. Cc: stable@xxxxxxxxxxxxxxx # v3.12+ Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 23b63f9fa82eed128b5c585cbfe10ced82d73e91 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:30 2015 +0800 md: check the return value for metadata_update_start We shouldn't run related funs of md_cluster_ops in case metadata_update_start returned failure. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> commit a9720903d1415317e18f439917f760ec592f3e3b Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:27 2015 +0800 md-cluster: only call kick_rdev_from_array after remove disk successfully For cluster raid, we should not kick it from array if the disk can't be remove from array successfully. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 86b572770e7964f006d438c4e05008914e9db79b Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:25 2015 +0800 md-cluster: Add 'SUSE' as author for md-cluster.c Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> commit aee177ac5a4225ac4eeed0aa5edf2338c2d713a4 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:24 2015 +0800 md-cluster: zero cmsg before it was sent Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> commit 256f5b245aab93bfa2d8b86d66545fceea05408e Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:23 2015 +0800 md-cluster: make sure the node do not receive it's own msg During the past test, the node occasionally received the msg which is sent from itself, this case should not happen in theory, but it is better to avoid it in case something wrong happened. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 487cf9142c434530443b7bb8c545e9d0f30391b1 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:22 2015 +0800 md-cluster: remove unnecessary setting for slot Since slot will be set within _sendmsg, we can remove the redundant code in resync_info_update. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> commit faeff83fa478b4dca9877d6b10a25ad252891f14 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:21 2015 +0800 md-cluster: make other members of cluster_msg is handled by little endian funcs Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> commit d216711bed1a0fb6527858f32cd89ff4a6553a97 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Mon Oct 12 10:42:34 2015 -0500 md-cluster: Do not printk() every received message The receive daemon prints kernel messages for every network message received. This would fill the kernel message log with unnecessary messages. Remove the pr_info() messages. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 7727a92544b2a507b83fdc7d3e4b6f4545c9f364 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 12 13:56:50 2015 -0300 perf ui browsers: Remove help messages about use of right and arrow keys They were repurposed for horizontal scrolling, so use just ENTER/ESC in the help messages. 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: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: c6c3c02dea40 ("perf hists browser: Implement horizontal scrolling") Link: http://lkml.kernel.org/n/tip-n5ar4qg8fs12ax4vhr3rxhxj@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc38218e8b598a0092dae9715e603e9628203bec Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sun Oct 11 17:17:24 2015 -0300 perf symbols: Try the .debug/ DSO cache as a last resort Not as the first attempt at finding a vmlinux for the running kernel, this way we get a more informative filename to present in tools, it will check that the build-id is the same as the one previously loaded in the DSO in dso->build_id, reading from /sys/kernel/notes, for instance. E.g. in the annotation TUI, going from 'perf top', for the scsi_sg_alloc kernel function, in the first line: Before: scsi_sg_alloc /root/.debug/.build-id/28/2777c262e6b3c0451375163c9a81c893218ab1 After: scsi_sg_alloc /lib/modules/4.3.0-rc1+/build/vmlinux And: # ls -la /root/.debug/.build-id/28/2777c262e6b3c0451375163c9a81c893218ab1 lrwxrwxrwx. 1 root root 81 Sep 22 16:11 /root/.debug/.build-id/28/2777c262e6b3c0451375163c9a81c893218ab1 -> ../../home/git/build/v4.3.0-rc1+/vmlinux/282777c262e6b3c0451375163c9a81c893218ab1 # file ~/.debug/home/git/build/v4.3.0-rc1+/vmlinux/282777c262e6b3c0451375163c9a81c893218ab1 /root/.debug/home/git/build/v4.3.0-rc1+/vmlinux/282777c262e6b3c0451375163c9a81c893218ab1: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=282777c262e6b3c0451375163c9a81c893218ab1, not stripped # The same as: # file /lib/modules/4.3.0-rc1+/build/vmlinux /lib/modules/4.3.0-rc1+/build/vmlinux: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=282777c262e6b3c0451375163c9a81c893218ab1, not stripped Furthermore: # sha256sum /lib/modules/4.3.0-rc1+/build/vmlinux e7a789bbdc61029ec09140c228e1dd651271f38ef0b8416c0b7d5ff727b98be2 /lib/modules/4.3.0-rc1+/build/vmlinux # sha256sum ~/.debug/home/git/build/v4.3.0-rc1+/vmlinux/282777c262e6b3c0451375163c9a81c893218ab1 e7a789bbdc61029ec09140c228e1dd651271f38ef0b8416c0b7d5ff727b98be2 /root/.debug/home/git/build/v4.3.0-rc1+/vmlinux/282777c262e6b3c0451375163c9a81c893218ab1 [root@zoo new]# 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-9y42ikzq3jisiddoi6f07n8z@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4fc57692268bf841a3cc90b3b056640de2bb1605 Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Mon Oct 12 18:53:00 2015 +0300 Documentation/features/KASAN: arm64 supports KASAN now Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ee7f881b59de4e0e0be250fd0c5d4ade3e30ec34 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Oct 12 18:52:59 2015 +0300 ARM64: kasan: print memory assignment This prints out the virtual memory assigned to KASan in the boot crawl along with other memory assignments, if and only if KASan is activated. Example dmesg from the Juno Development board: Memory: 1691156K/2080768K available (5465K kernel code, 444K rwdata, 2160K rodata, 340K init, 217K bss, 373228K reserved, 16384K cma-reserved) Virtual kernel memory layout: kasan : 0xffffff8000000000 - 0xffffff9000000000 ( 64 GB) vmalloc : 0xffffff9000000000 - 0xffffffbdbfff0000 ( 182 GB) vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000 ( 8 GB maximum) 0xffffffbdc2000000 - 0xffffffbdc3fc0000 ( 31 MB actual) fixed : 0xffffffbffabfd000 - 0xffffffbffac00000 ( 12 KB) PCI I/O : 0xffffffbffae00000 - 0xffffffbffbe00000 ( 16 MB) modules : 0xffffffbffc000000 - 0xffffffc000000000 ( 64 MB) memory : 0xffffffc000000000 - 0xffffffc07f000000 ( 2032 MB) .init : 0xffffffc0007f5000 - 0xffffffc00084a000 ( 340 KB) .text : 0xffffffc000080000 - 0xffffffc0007f45b4 ( 7634 KB) .data : 0xffffffc000850000 - 0xffffffc0008bf200 ( 445 KB) Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 39d114ddc68223022c12ae3a1573912bc4b585e5 Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Mon Oct 12 18:52:58 2015 +0300 arm64: add KASAN support This patch adds arch specific code for kernel address sanitizer (see Documentation/kasan.txt). 1/8 of kernel addresses reserved for shadow memory. There was no big enough hole for this, so virtual addresses for shadow were stolen from vmalloc area. At early boot stage the whole shadow region populated with just one physical page (kasan_zero_page). Later, this page reused as readonly zero shadow for some memory that KASan currently don't track (vmalloc). After mapping the physical memory, pages for shadow memory are allocated and mapped. Functions like memset/memmove/memcpy do a lot of memory accesses. If bad pointer passed to one of these function it is important to catch this. Compiler's instrumentation cannot do this since these functions are written in assembly. KASan replaces memory functions with manually instrumented variants. Original functions declared as weak symbols so strong definitions in mm/kasan/kasan.c could replace them. Original functions have aliases with '__' prefix in name, so we could call non-instrumented variant if needed. Some files built without kasan instrumentation (e.g. mm/slub.c). Original mem* function replaced (via #define) with prefixed variants to disable memory access checks for such files. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Tested-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit fd2203dd3556f6553231fa026060793e67a25ce6 Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Mon Oct 12 18:52:57 2015 +0300 arm64: move PGD_SIZE definition to pgalloc.h This will be used by KASAN latter. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 2a4599a5c9b9f9d5b799f69f478d191c6bf3c072 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed Oct 7 17:14:39 2015 +0800 dt-bindings: soc: Add clocks for Mediatek SCPSYS unit Add clocks needed by Mediatek VENC and VENC_LT power domianis. These clocks were needed by accessing subsystem's registers, so they need to be enabled before power on these subsystems. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 013f2a2320e2b340bfc67ce912bb2317800f5099 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Oct 2 23:05:17 2015 +0800 dt-bindings: add more MediaTek SoC to mtk-timer binding Add compatible string for mt8127, mt8135 and mt8173 and sort the list. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 305d454aaa292be3a09a9d674e6c35f5b4249a13 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Oct 8 20:15:18 2015 +0100 arm64: atomics: implement native {relaxed, acquire, release} atomics Commit 654672d4ba1a ("locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operation") introduced a relaxed atomic API to Linux that maps nicely onto the arm64 memory model, including the new ARMv8.1 atomic instructions. This patch hooks up the API to our relaxed atomic instructions, rather than have them all expand to the full-barrier variants as they do currently. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 44af7927316e83eb8865933f7c836dcc85f8eb74 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 9 15:45:55 2015 +0100 spi: Map SPI OF client IRQ at probe time Currently the IRQs for SPI client devices, registered via device-tree, are mapped when the client devices are registered. If the corresponding irq-chip has not been probed yet, then the probing of the client device will fail and will not be retried. Resolve this by mapping the IRQ at probe time and allow the probe to be deferred if the IRQ is not yet available. If of_irq_get() returns an error that is not -EPROBE_DEFER, then assume that the SPI client does not have an IRQ and set the IRQ number to zero (which is equivalent to irq_of_parse_and_map()). This is based on some inputs from Thierry Reding <treding@xxxxxxxxxx>. Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c5edf9cdc4c483b9a94c03fc0b9f769bd090bf3e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 29 13:04:26 2015 -0400 writeback: fix incorrect calculation of available memory for memcg domains For memcg domains, the amount of available memory was calculated as min(the amount currently in use + headroom according to memcg, total clean memory) This isn't quite correct as what should be capped by the amount of clean memory is the headroom, not the sum of memory in use and headroom. For example, if a memcg domain has a significant amount of dirty memory, the above can lead to a value which is lower than the current amount in use which doesn't make much sense. In most circumstances, the above leads to a number which is somewhat but not drastically lower. As the amount of memory which can be readily allocated to the memcg domain is capped by the amount of system-wide clean memory which is not already assigned to the memcg itself, the number we want is the amount currently in use + min(headroom according to memcg, clean memory elsewhere in the system) This patch updates mem_cgroup_wb_stats() to return the number of filepages and headroom instead of the calculated available pages. mdtc_cap_avail() is renamed to mdtc_calc_avail() and performs the above calculation from file, headroom, dirty and globally clean pages. v2: Dummy mem_cgroup_wb_stats() implementation wasn't updated leading to build failure when !CGROUP_WRITEBACK. Fixed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: c2aa723a6093 ("writeback: implement memcg writeback domain based throttling") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d60d1bddd5b642711a237511845853755b25bf1f Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 29 12:47:53 2015 -0400 writeback: memcg dirty_throttle_control should be initialized with wb->memcg_completions MDTC_INIT() is used to initialize dirty_throttle_control for memcg domains. It used DTC_INIT_COMMON() to initialized mdtc->wb and ->wb_completions which is incorrect as DTC_INIT_COMMON() sets the latter to wb->completions instead of wb->memcg_completions. This can lead to wildly incorrect results when calculating the proportion of dirty memory the memcg domain should get. Remove DTC_INIT_COMMON() and update MDTC_INIT() to initialize mdtc->wb_completions to wb->memcg_completions. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: c2aa723a6093 ("writeback: implement memcg writeback domain based throttling") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b817525a4a80c04e4ca44192d97a1ffa9f2be572 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Oct 2 14:47:05 2015 -0400 writeback: bdi_writeback iteration must not skip dying ones bdi_for_each_wb() is used in several places to wake up or issue writeback work items to all wb's (bdi_writeback's) on a given bdi. The iteration is performed by walking bdi->cgwb_tree; however, the tree only indexes wb's which are currently active. For example, when a memcg gets associated with a different blkcg, the old wb is removed from the tree so that the new one can be indexed. The old wb starts dying from then on but will linger till all its inodes are drained. As these dying wb's may still host dirty inodes, writeback operations which affect all wb's must include them. bdi_for_each_wb() skipping dying wb's led to sync(2) missing and failing to sync the inodes belonging to those wb's. This patch adds a RCU protected @bdi->wb_list which lists all wb's beloinging to that bdi. wb's are added on creation and removed on release rather than on the start of destruction. bdi_for_each_wb() usages are replaced with list_for_each[_continue]_rcu() iterations over @bdi->wb_list and bdi_for_each_wb() and its helpers are removed. v2: Updated as per Jan. last_wb ref leak in bdi_split_work_to_wbs() fixed and unnecessary list head severing in cgwb_bdi_destroy() removed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-and-tested-by: Artem Bityutskiy <dedekind1@xxxxxxxxx> Fixes: ebe41ab0c79d ("writeback: implement bdi_for_each_wb()") Link: http://lkml.kernel.org/g/1443012552.19983.209.camel@xxxxxxxxx Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6fdf860f15d4a6be8f0947bad608d687fe0c7af7 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 29 12:47:51 2015 -0400 writeback: fix bdi_writeback iteration in wakeup_dirtytime_writeback() wakeup_dirtytime_writeback() walks and wakes up all wb's of all bdi's; unfortunately, it was always waking up bdi->wb instead of the wb being walked. Fix it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: 001fe6f617b1 ("writeback: make wakeup_dirtytime_writeback() handle multiple bdi_writeback's") Reviewed-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 9ad18ab938375502c03cf467abecbb77264c9475 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 29 12:47:50 2015 -0400 writeback: laptop_mode_timer_fn() needs rcu_read_lock() around bdi_writeback iteration laptop_mode_timer_fn() was using bdi_for_each_wb() without the required RCU locking leading to the following warning. WARNING: CPU: 0 PID: 0 at include/linux/backing-dev.h:415 laptop_mode_timer_fn+0x106/0x170() ... Call Trace: <IRQ> [<ffffffff81480cdc>] dump_stack+0x4e/0x82 [<ffffffff81051912>] warn_slowpath_common+0x82/0xc0 [<ffffffff81051a0a>] warn_slowpath_null+0x1a/0x20 [<ffffffff8115f0e6>] laptop_mode_timer_fn+0x106/0x170 [<ffffffff810ca8e3>] call_timer_fn+0xb3/0x2f0 [<ffffffff810cad25>] run_timer_softirq+0x205/0x370 [<ffffffff81056854>] __do_softirq+0xd4/0x460 [<ffffffff81056d69>] irq_exit+0x89/0xa0 [<ffffffff8185a892>] smp_apic_timer_interrupt+0x42/0x50 [<ffffffff81858a44>] apic_timer_interrupt+0x84/0x90 ... Fix it by adding rcu_read_lock() around the iteration. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: a06fd6b10228 ("writeback: make laptop_mode_timer_fn() handle multiple bdi_writeback's") Reviewed-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2b63821e5b213ed09a044bf944d91e380549b2da Author: Arnaud Ebalard <arno@xxxxxxxxxxxx> Date: Sat Oct 10 00:10:39 2015 +0200 arm: mvebu: reorder nodes under internal-regs by address in RN2120 .dts file This cosmetic patch reorder nodes under internal-regs by increasing address order, as expected. Signed-off-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 784693def2d36f525d2d259394fd39ac87fc4449 Author: Arnaud Ebalard <arno@xxxxxxxxxxxx> Date: Sat Oct 10 00:10:24 2015 +0200 arm: mvebu: disable unused Armada RTC on ReadyNAS 102, 104 and 2120 By default, armada-370-xp.dtsi file has internal RTC enabled. NETGEAR ReadyNAS 102, 104 and 2120 all use an Intersil ISL12057 I2C RTC chip. The internal RTC not being disabled in the .dts files of those devices result in the following useless first line during boot: [ 4.500056] rtc-mv d0010300.rtc: internal RTC not ticking [ 4.505684] i2c /dev entries driver [ 4.513246] rtc-isl12057 0-0068: rtc core: registered rtc-isl12057 as rtc0 This patch marks Armada internal RTC as disabled in individual .dts files of those devices. Reported-by: TuxOholic <tuxoholic@xxxxxxxxxx> Signed-off-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit f13a5e8a856cda0626da316d853a71952f14b1d7 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 12:24:22 2015 +0200 spi/bcm63xx: move message control word description to register offsets Make the message control word parameters part of the register offsets array so we have them all in one struct. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 682b5280bf00c0618606ecb26cf4a9342d5e282e Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 12:24:21 2015 +0200 spi/bcm63xx: fix standard accessors and compile guard Use the correct guard CONFIG_CPU_BIG_ENDIAN and the *be accessors to follow native endianness on big endian systems. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2273584d3f33f7f2cfe6d7aaade0fa2f1cb3db5 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Fri Oct 9 11:53:12 2015 +0800 workqueue: Allocate the unbound pool using local node memory Currently, get_unbound_pool() uses kzalloc() to allocate the worker pool. Actually, we can use the right node to do the allocation, achieving local memory access. This patch selects target node first, and uses kzalloc_node() instead. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f9b841af4c1c3c3b7ce3552ab5ee5d9c430e9c29 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:39:27 2015 +0100 spi: spi-coldfire-qspi: enable RuntimePM before registering to the core The core may register clients attached to this master which may use funtionality from the master. So, RuntimePM must be enabled before, otherwise this will fail. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4272975a3444f0abde1354285c5720d7819b41ed Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Oct 10 14:17:58 2015 +0900 ASoC: sh: Fit typo in Kconfig s/SUR/SRU/g Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c9322458119ecf2e5cf41dcb204aaf67238b2147 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 14:30:15 2015 +0200 netfilter: bridge: avoid unused label warning With the ARM mini2440_defconfig, the bridge netfilter code gets built with both CONFIG_NF_DEFRAG_IPV4 and CONFIG_NF_DEFRAG_IPV6 disabled, which leads to a harmless gcc warning: net/bridge/br_netfilter_hooks.c: In function 'br_nf_dev_queue_xmit': net/bridge/br_netfilter_hooks.c:792:2: warning: label 'drop' defined but not used [-Wunused-label] This gets rid of the warning by cleaning up the code to avoid the respective #ifdefs causing this problem, and replacing them with if(IS_ENABLED()) checks. I have verified that the resulting object code is unchanged, and an additional advantage is that we now get compile coverage of the unused functions in more configurations. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: dd302b59bde0 ("netfilter: bridge: don't leak skb in error paths") Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d53195c25931a1f662f73488e604b85bc803c8f3 Merge: 4302f5e 92240e8 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Oct 12 17:35:42 2015 +0200 Merge tag 'ipvs4-for-v4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next Simon Horman says: ==================== Fourth Round of IPVS Updates for v4.4 please consider these build warning cleanups from David Ahern and myself. They resolve some minor side effects of Eric Biederman' heroic work to cleanup IPVS which you recently pulled: its queued up for v4.4 so no need to worry about earlier kernel versions. ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit cc4998febd567d1c671684abce5595344bd4e8b2 Author: lucien <lucien.xin@xxxxxxxxx> Date: Tue Oct 6 21:03:07 2015 +0800 netfilter: ipt_rpfilter: remove the nh_scope test in rpfilter_lookup_reverse --accept-local option works for res.type == RTN_LOCAL, which should be from the local table, but there, the fib_info's nh->nh_scope = RT_SCOPE_NOWHERE ( > RT_SCOPE_HOST). in fib_create_info(). if (cfg->fc_scope == RT_SCOPE_HOST) { struct fib_nh *nh = fi->fib_nh; /* Local address is added. */ if (nhs != 1 || nh->nh_gw) goto err_inval; nh->nh_scope = RT_SCOPE_NOWHERE; <=== nh->nh_dev = dev_get_by_index(net, fi->fib_nh->nh_oif); err = -ENODEV; if (!nh->nh_dev) goto failure; but in our rpfilter_lookup_reverse(): if (dev_match || flags & XT_RPFILTER_LOOSE) return FIB_RES_NH(res).nh_scope <= RT_SCOPE_HOST; if nh->nh_scope > RT_SCOPE_HOST, it will fail. --accept-local option will never be passed. it seems the test is bogus and can be removed to fix this issue. if (dev_match || flags & XT_RPFILTER_LOOSE) return FIB_RES_NH(res).nh_scope <= RT_SCOPE_HOST; ipv6 does not have this issue. Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Acked-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e8f3010f7326c00368dbc057bd052bec80dfc072 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Oct 8 20:02:04 2015 +0100 arm64/efi: isolate EFI stub from the kernel proper Since arm64 does not use a builtin decompressor, the EFI stub is built into the kernel proper. So far, this has been working fine, but actually, since the stub is in fact a PE/COFF relocatable binary that is executed at an unknown offset in the 1:1 mapping provided by the UEFI firmware, we should not be seamlessly sharing code with the kernel proper, which is a position dependent executable linked at a high virtual offset. So instead, separate the contents of libstub and its dependencies, by putting them into their own namespace by prefixing all of its symbols with __efistub. This way, we have tight control over what parts of the kernel proper are referenced by the stub. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 207918461eb0aca720fddec5da79bc71c133b9f1 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Oct 8 20:02:03 2015 +0100 arm64: use ENDPIPROC() to annotate position independent assembler routines For more control over which functions are called with the MMU off or with the UEFI 1:1 mapping active, annotate some assembler routines as position independent. This is done by introducing ENDPIPROC(), which replaces the ENDPROC() declaration of those routines. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d4dddfdbbc75f46d2cbab4e9f421999452617d64 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Oct 8 20:02:02 2015 +0100 arm64/efi: remove /chosen/linux, uefi-stub-kern-ver DT property With the stub to kernel interface being promoted to a proper interface so that other agents than the stub can boot the kernel proper in EFI mode, we can remove the linux,uefi-stub-kern-ver field, considering that its original purpose was to prevent this from happening in the first place. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 5ffdbe8bf1e485026e1c7e4714d2841553cf0b40 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Mon Aug 24 15:57:19 2015 +0300 ovl: free lower_mnt array in ovl_put_super This fixes memory leak after umount. Kmemleak report: unreferenced object 0xffff8800ba791010 (size 8): comm "mount", pid 2394, jiffies 4294996294 (age 53.920s) hex dump (first 8 bytes): 20 1c 13 02 00 88 ff ff ....... backtrace: [<ffffffff811f8cd4>] create_object+0x124/0x2c0 [<ffffffff817a059b>] kmemleak_alloc+0x7b/0xc0 [<ffffffff811dffe6>] __kmalloc+0x106/0x340 [<ffffffffa0152bfc>] ovl_fill_super+0x55c/0x9b0 [overlay] [<ffffffff81200ac4>] mount_nodev+0x54/0xa0 [<ffffffffa0152118>] ovl_mount+0x18/0x20 [overlay] [<ffffffff81201ab3>] mount_fs+0x43/0x170 [<ffffffff81220d34>] vfs_kern_mount+0x74/0x170 [<ffffffff812233ad>] do_mount+0x22d/0xdf0 [<ffffffff812242cb>] SyS_mount+0x7b/0xc0 [<ffffffff817b6bee>] entry_SYSCALL_64_fastpath+0x12/0x76 [<ffffffffffffffff>] 0xffffffffffffffff Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Fixes: dd662667e6d3 ("ovl: add mutli-layer infrastructure") Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ commit 0f95502ad84874b3c05fc7cdd9d4d9d5cddf7859 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Mon Aug 24 15:57:18 2015 +0300 ovl: free stack of paths in ovl_fill_super This fixes small memory leak after mount. Kmemleak report: unreferenced object 0xffff88003683fe00 (size 16): comm "mount", pid 2029, jiffies 4294909563 (age 33.380s) hex dump (first 16 bytes): 20 27 1f bb 00 88 ff ff 40 4b 0f 36 02 88 ff ff '......@xxxxxxx backtrace: [<ffffffff811f8cd4>] create_object+0x124/0x2c0 [<ffffffff817a059b>] kmemleak_alloc+0x7b/0xc0 [<ffffffff811dffe6>] __kmalloc+0x106/0x340 [<ffffffffa01b7a29>] ovl_fill_super+0x389/0x9a0 [overlay] [<ffffffff81200ac4>] mount_nodev+0x54/0xa0 [<ffffffffa01b7118>] ovl_mount+0x18/0x20 [overlay] [<ffffffff81201ab3>] mount_fs+0x43/0x170 [<ffffffff81220d34>] vfs_kern_mount+0x74/0x170 [<ffffffff812233ad>] do_mount+0x22d/0xdf0 [<ffffffff812242cb>] SyS_mount+0x7b/0xc0 [<ffffffff817b6bee>] entry_SYSCALL_64_fastpath+0x12/0x76 [<ffffffffffffffff>] 0xffffffffffffffff Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Fixes: a78d9f0d5d5c ("ovl: support multiple lower layers") Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ commit 4302f5eeb95f78da6351a38cb170943651e8599a Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Oct 5 16:51:02 2015 +0200 nfnetlink_cttimeout: add rcu_barrier() on module removal Make sure kfree_rcu() released objects before leaving the module removal exit path. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ae2d708ed8fb8fa713fdd7eacea5df40bae6315b Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Oct 5 16:51:01 2015 +0200 netfilter: conntrack: fix crash on timeout object removal The object and module refcounts are updated for each conntrack template, however, if we delete the iptables rules and we flush the timeout database, we may end up with invalid references to timeout object that are just gone. Resolve this problem by setting the timeout reference to NULL when the custom timeout entry is removed from our base. This patch requires some RCU trickery to ensure safe pointer handling. This handling is similar to what we already do with conntrack helpers, the idea is to avoid bumping the timeout object reference counter from the packet path to avoid the cost of atomic ops. Reported-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 403d89ad9cc076db44c76ab75c7629497d8ddbb2 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Oct 5 16:51:03 2015 +0200 netfilter: xt_CT: don't put back reference to timeout policy object On success, this shouldn't put back the timeout policy object, otherwise we may have module refcount overflow and we allow deletion of timeout that are still in use. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ea592ed290c7b4f398227a3025f6e1ff94e767f0 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Tue Oct 6 16:13:44 2015 +0200 ARM: mvebu: enable options for Seagate NAS in mvebu_v7_defconfig This patch enables the following options needed by the Seagate Personal Cloud 1 and 2-Bay and the Seagate NAS 2 and 4-Bay: SATA_AHCI POWER_RESET_GPIO RTC_DRV_DS1307 RTC_DRV_PCF8563 Additionnally this patch also enables NEW_LEDS which was missing for some reasons. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 0ac73f76addfc3816924f84e3227ddc7570cffbf Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Tue Oct 6 16:13:43 2015 +0200 ARM: mvebu: add DT support for Seagate Personal Cloud This patch adds DT support for the Seagate Personal Cloud 1 and 2-Bay. Here are some information allowing to identify these devices: Product name | Personal Cloud | Personal Cloud 2-Bay Code name (board/PCB) | Cumulus | Cumulus Max Model name (case sticker) | SRN21C | SRN22C Material desc (product spec) | STCRxxxxxxx | STCSxxxxxxx Chipset list: - SoC Marvell Armada 370 88F6707, CPU @1GHz - SDRAM memory: 512MB DDR3 667MHz (16-bits bandwidth) - SPI flash 1MB (Macronix MX25L8006E) - 1 or 2 SATA internal ports - 1 Ethernet Gigabit port (PHY Marvell 88E1518) - 1 USB3 host port (PCIe controller ASM1042) - 1 USB2 host port (SoC) - 2 push buttons (power and reset) - 1 SATA LED (bi-color, white and red) Note that support for the white SATA LED is missing. A dedicated LED driver is needed. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 85a9efcd4e2902ddad251925d81386b0d28c1fb3 Author: Vincent Donnefort <vdonnefort@xxxxxxxxx> Date: Tue Oct 6 16:13:42 2015 +0200 ARM: mvebu: add DT support for Seagate NAS 2 and 4-Bay This patch adds DT support for the Seagate NAS 2 and 4-Bay. Here are some information allowing to identify these devices: Product name | Seagate NAS 2-Bay | Seagate NAS 4-Bay Code name (board/PCB) | Dart 2-Bay | Dart 4-Bay Model name (case sticker) | SRPD20 | SRPD40 Material desc (product spec) | STCTxxxxxxx | STCUxxxxxxx Chipset list (common): - SoC Marvell Armada 370 88F6707, CPU @1.2GHz - SDRAM memory: 512MB DDR3 600MHz (16-bits bandwidth) - NAND flash 256MB, 8-bits (Micron MT29F2G08AAB or Hinyx H27U2G8F2CTR-BC) - 2 SATA II ports (SoC) - 1 Ethernet Gigabit ports (PHY Marvell 88E1518) - 2 USB3 host ports (PCIe controller ASM1042) - GPIO fan (4 speeds) - External I2C RTC (MCP7940NT) - 3 push buttons (power, backup and reset) - 2 SATA LEDs (bi-color, blue and red) - 1 power LED (bi-color, blue and red) Only on 4-Bay models: - 2 extra SATA III ports (PCIe AHCI controller Marvell 88SE9170) - 1 extra Ethernet Gigabit ports (PHY Marvell 88E1518) - I2C GPIO expander (PCA9554A) - 2 extra SATA LEDs (bi-color, blue and red) Note that support for the white SATA LEDs associated with HDDs 0 and 1 is missing. A dedicated LED driver is needed. Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 0399f73299f1b7e04de329050f7111b362b7eeb5 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 12 11:22:42 2015 +0200 x86/microcode/amd: Do not overwrite final patch levels A certain number of patch levels of applied microcode should not be overwritten by the microcode loader, otherwise bad things will happen. Check those and abort update if the current core has one of those final patch levels applied by the BIOS. 32-bit needs special handling, of course. See https://bugzilla.suse.com/show_bug.cgi?id=913996 for more info. Tested-by: Peter KirchgeÃ?ner <pkirchgessner@xxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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> Link: http://lkml.kernel.org/r/1444641762-9437-7-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2eff73c0a11f19ff082a566e3429fbaaca7b8e7b Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 12 11:22:41 2015 +0200 x86/microcode/amd: Extract current patch level read to a function Pave the way for checking the current patch level of the microcode in a core. We want to be able to do stuff depending on the patch level - in this case decide whether to update or not. But that will be added in a later patch. Drop unused local var uci assignment, while at it. Integrate a fix for 32-bit and CONFIG_PARAVIRT from Takashi Iwai: Use native_rdmsr() in check_current_patch_level() because with CONFIG_PARAVIRT enabled and on 32-bit, where we run before paging has been enabled, we cannot deref pv_info yet. Or we could, but we'd need to access its physical address. This way of fixing it is simpler. See: https://bugzilla.suse.com/show_bug.cgi?id=943179 for the background. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxxx>: Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444641762-9437-6-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fa20a2ed6fff717839ec03b6574ea0affcb58841 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Oct 12 11:22:40 2015 +0200 x86/ras/mce_amd_inj: Inject bank 4 errors on the NBC Bank 4 MCEs are logged and reported only on the node base core (NBC) in a socket. Refer to the D18F3x44[NbMcaToMstCpuEn] field in Fam10h and later BKDGs. The node base core (NBC) is the lowest numbered core in the node. This patch ensures that we inject the error on the NBC for bank 4 errors. Otherwise, triggering #MC or APIC interrupts on a core which is not the NBC would not have any effect on the system, i.e. we would not see any relevant output on kernel logs for the error we just injected. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> [ Cleanup comments. ] [ Add a missing dependency on AMD_NB caught by Randy Dunlap. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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> Link: http://lkml.kernel.org/r/1443190851-2172-4-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Link: http://lkml.kernel.org/r/1444641762-9437-5-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a1300e50529795cd605da6a015d4944a18921db0 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Oct 12 11:22:39 2015 +0200 x86/ras/mce_amd_inj: Trigger deferred and thresholding errors interrupts Add the capability to trigger deferred error interrupts and threshold interrupts in order to test the APIC interrupt handler functionality for these type of errors. Update README section about the same too. Reported by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> [ Cleanup comments. ] [ Include asm/irq_vectors.h directly so that misc randbuilds don't fail. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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> Link: http://lkml.kernel.org/r/1443190851-2172-3-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Link: http://lkml.kernel.org/r/1444641762-9437-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 85c9306d44f757d2fb3b0e3e399080a025315c7f Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Oct 12 11:22:38 2015 +0200 x86/ras/mce_amd_inj: Return early on invalid input Invalid inputs such as these are currently reported in dmesg as failing: $> echo sweet > flags [ 122.079139] flags_write: Invalid flags value: et even though the 'flags' attribute has been updated correctly: $> cat flags sw This is because userspace keeps writing the remaining buffer until it encounters an error. However, the input as a whole is wrong and we should not be writing anything to the file. Therefore, correct flags_write() to return -EINVAL immediately on bad input strings. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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> Link: http://lkml.kernel.org/r/1443190851-2172-2-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Link: http://lkml.kernel.org/r/1444641762-9437-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1c8a47df36d72ace8cf78eb6c228aa0f8027d3c2 Author: Miklos Szeredi <miklos@xxxxxxxxxx> Date: Mon Oct 12 15:56:20 2015 +0200 ovl: fix open in stacked overlay If two overlayfs filesystems are stacked on top of each other, then we need recursion in ovl_d_select_inode(). I guess d_backing_inode() is supposed to do that. But currently it doesn't and that functionality is open coded in vfs_open(). This is now copied into ovl_d_select_inode() to fix this regression. Reported-by: Alban Crequy <alban.crequy@xxxxxxxxx> Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Fixes: 4bacc9c9234c ("overlayfs: Make f_path always point to the overlay...") Cc: David Howells <dhowells@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.2+ commit ab79efab0a0ba01a74df782eb7fa44b044dae8b5 Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Sep 18 11:45:22 2015 +0100 ovl: fix dentry reference leak In ovl_copy_up_locked(), newdentry is leaked if the function exits through out_cleanup as this just to out after calling ovl_cleanup() - which doesn't actually release the ref on newdentry. The out_cleanup segment should instead exit through out2 as certainly newdentry leaks - and possibly upper does also, though this isn't caught given the catch of newdentry. Without this fix, something like the following is seen: BUG: Dentry ffff880023e9eb20{i=f861,n=#ffff880023e82d90} still in use (1) [unmount of tmpfs tmpfs] BUG: Dentry ffff880023ece640{i=0,n=bigfile} still in use (1) [unmount of tmpfs tmpfs] when unmounting the upper layer after an error occurred in copyup. An error can be induced by creating a big file in a lower layer with something like: dd if=/dev/zero of=/lower/a/bigfile bs=65536 count=1 seek=$((0xf000)) to create a large file (4.1G). Overlay an upper layer that is too small (on tmpfs might do) and then induce a copy up by opening it writably. Reported-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ commit 0480334fa60488d12ae101a02d7d9e1a3d03d7dd Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Sep 18 11:45:12 2015 +0100 ovl: use O_LARGEFILE in ovl_copy_up() Open the lower file with O_LARGEFILE in ovl_copy_up(). Pass O_LARGEFILE unconditionally in ovl_copy_up_data() as it's purely for catching 32-bit userspace dealing with a file large enough that it'll be mishandled if the application isn't aware that there might be an integer overflow. Inside the kernel, there shouldn't be any problems. Reported-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ commit 84a87250ee4e4f7cf5865be9757e2ea758e5cae3 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Sat Oct 10 18:15:06 2015 +0800 clk: imx6: Add SPDIF_GCLK clock in clock tree Correct SPDIF clock setting issue in clock tree, the SPDIF_GCLK is also one clock of SPDIF, which is missed before. We found an issue that imx can't enter low power mode with spdif if IMX6x_CLK_SPDIF is used as the core clock of spdif. Because spdif driver will register IMX6x_CLK_SPDIF clock to regmap, regmap will do clk_prepare in init function, then IMX6x_CLK_SPDIF clock is prepared in probe, so its parent clock (PLL clock) is prepared, the prepare operation of PLL clock is to enable the clock. But I.MX needs all PLL clock is disabled, then it can enter low power mode. So we can't use IMX6x_CLK_SPDIF as the core clock of spdif, the correct spdif core clock is SPDIF_GCLK, which share same gate bit with IMX6x_CLK_SPDIF clock. SPDIF_GCLK's parent clock is ipg clock. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6fb2ffd737a1d5c06d878ff47a715d20cce78265 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Oct 11 11:55:08 2015 +0200 ARM: dts: sun5i: Add backlight node to sun5i-q8-common.dtsi All A13 based q8 formfactor tablets use the same backlight setup, add a backlight devicetree node for controlling the backlight on these devices. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6bf28cb995a525f090e2fb6370fb8717dbf57598 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Oct 11 11:55:07 2015 +0200 ARM: dts: sunxi: Enable PWM controller on Q8 format tablets Q8 format tablets use channel 0 of the PWM controller for backlight dimming. 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 bb390193060fd35045919681153b057b75f61426 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Oct 11 11:55:06 2015 +0200 ARM: dts: sun5i: Add PWM channel 0 pinmux setting for A13/A10s Add a pinmux setting for the first pwm channel. This is often used for backlight dimming on tablets. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 51763bd73ded2e95c5b8a65ed676df9cc5d735ff Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Oct 11 11:55:05 2015 +0200 ARM: dts: sun5i: Add PWM controller node for A13 / A10s Add dts nodes for the PWM controller on the A13 / A10s. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 7f7308198f98700be82d123569ea59229a75d3c3 Author: Bai Ping <b51503@xxxxxxxxxxxxx> Date: Fri Oct 9 23:35:30 2015 +0800 ARM: imx: add cpufreq device for imx6ul Add cpufreq device for i.MX6UL. Using the common cpufreq of i.MX6 SOC. Signed-off-by: Bai Ping <b51503@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 0f96a99dab366333439e110d6ad253bc7c557c09 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Wed Sep 30 23:01:56 2015 +0900 efi: Add "efi_fake_mem" boot option This patch introduces new boot option named "efi_fake_mem". By specifying this parameter, you can add arbitrary attribute to specific memory range. This is useful for debugging of Address Range Mirroring feature. For example, if "efi_fake_mem=2G@4G:0x10000,2G@0x10a0000000:0x10000" is specified, the original (firmware provided) EFI memmap will be updated so that the specified memory regions have EFI_MEMORY_MORE_RELIABLE attribute (0x10000): <original> efi: mem36: [Conventional Memory| | | | | | |WB|WT|WC|UC] range=[0x0000000100000000-0x00000020a0000000) (129536MB) <updated> efi: mem36: [Conventional Memory| |MR| | | | |WB|WT|WC|UC] range=[0x0000000100000000-0x0000000180000000) (2048MB) efi: mem37: [Conventional Memory| | | | | | |WB|WT|WC|UC] range=[0x0000000180000000-0x00000010a0000000) (61952MB) efi: mem38: [Conventional Memory| |MR| | | | |WB|WT|WC|UC] range=[0x00000010a0000000-0x0000001120000000) (2048MB) efi: mem39: [Conventional Memory| | | | | | |WB|WT|WC|UC] range=[0x0000001120000000-0x00000020a0000000) (63488MB) And you will find that the following message is output: efi: Memory: 4096M/131455M mirrored memory Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 0bbea1ce98ed44779736ecc54ca9cdbca2b95544 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Wed Sep 30 19:20:00 2015 +0900 x86/efi: Rename print_efi_memmap() to efi_print_memmap() This patch renames print_efi_memmap() to efi_print_memmap() and make it global function so that we can invoke it outside of arch/x86/platform/efi/efi.c Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 9ac4d5ab3e7ae6f485501cb6bf3965da34ac1bac Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Sep 28 01:44:16 2015 +0100 efi: Auto-load the efi-pstore module efi-pstore should be auto-loaded on EFI systems, same as efivars. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Lee, Chun-Yi <jlee@xxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit a1041713349d0b823b492d7b4ea4325d0b5666db Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 23 07:29:34 2015 -0700 efi: Introduce EFI_NX_PE_DATA bit and set it from properties table UEFI v2.5 introduces a runtime memory protection feature that splits PE/COFF runtime images into separate code and data regions. Since this may require special handling by the OS, allocate a EFI_xxx bit to keep track of whether this feature is currently active or not. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit bf924863c9445174c6e118f723dc477e2b6ccc7e Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 9 10:08:15 2015 +0200 efi: Add support for UEFIv2.5 Properties table Version 2.5 of the UEFI spec introduces a new configuration table called the 'EFI Properties table'. Currently, it is only used to convey whether the Memory Protection feature is enabled, which splits PE/COFF images into separate code and data memory regions. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Acked-by: Dave Young <dyoung@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 8be4432eb629a2762bad9173d6b06e6ea9c0dfcb Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Thu Aug 27 02:11:19 2015 +0900 efi: Add EFI_MEMORY_MORE_RELIABLE support to efi_md_typeattr_format() UEFI spec 2.5 introduces new Memory Attribute Definition named EFI_MEMORY_MORE_RELIABLE. This patch adds this new attribute support to efi_md_typeattr_format(). Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit ae2ee627dc87a70910de91b791b3cd0e9c6facdd Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Tue Aug 25 16:32:55 2015 +0100 efifb: Add support for 64-bit frame buffer addresses The EFI Graphics Output Protocol uses 64-bit frame buffer addresses but these get truncated to 32-bit by the EFI boot stub when storing the address in the 'lfb_base' field of 'struct screen_info'. Add a 'ext_lfb_base' field for the upper 32-bits of the frame buffer address and set VIDEO_TYPE_CAPABILITY_64BIT_BASE when the field is useable. It turns out that the reason no one has required this support so far is that there's actually code in tianocore to "downgrade" PCI resources that have option ROMs and 64-bit BARS from 64-bit to 32-bit to cope with legacy option ROMs that can't handle 64-bit addresses. The upshot is that basically all GOP devices in the wild use a 32-bit frame buffer address. Still, it is possible to build firmware that uses a full 64-bit GOP frame buffer address. Chad did, which led to him reporting this issue. Add support in anticipation of GOP devices using 64-bit addresses more widely, and so that efifb works out of the box when that happens. Reported-by: Chad Page <chad.page@xxxxxxxx> Cc: Pete Hawkins <pete.hawkins@xxxxxxxx> Acked-by: Peter Jones <pjones@xxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 7968c0e338085eba0ee2f0e0b0d833057a966679 Author: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Date: Wed Aug 26 14:24:58 2015 +0100 efi/arm64: Clean up efi_get_fdt_params() interface As we now have a common debug infrastructure between core and arm64 efi, drop the bit of the interface passing verbose output flags around. Signed-off-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit c9494dc818755f2dd934c93faa933317fae51594 Author: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Date: Wed Aug 26 14:24:57 2015 +0100 arm64: Use core efi=debug instead of uefi_debug command line parameter Now that we have an efi=debug command line option in the core code, use this instead of the arm64-specific uefi_debug option. Signed-off-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 12dd00e83fb83fa41dcc965cdd1e1627494348cb Author: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Date: Wed Aug 26 14:24:56 2015 +0100 efi/x86: Move efi=debug option parsing to core fed6cefe3b6e ("x86/efi: Add a "debug" option to the efi= cmdline") adds the DBG flag, but does so for x86 only. Move this early param parsing to core code. Signed-off-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 18aefbc5cc075617b00ffefba70029541e18fd1a Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Aug 25 19:00:48 2015 -0400 drivers/firmware: Make efi/esrt.c driver explicitly non-modular The Kconfig for this driver is currently hidden with: config EFI_ESRT bool ...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. We don't replace module.h with init.h since the file already has that. Cc: Peter Jones <pjones@xxxxxxxxxx> Cc: linux-efi@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit cdbcd239e2e264dc3ef7bc7865bcb8ec0023876f Merge: 6e06780 7e0abcd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 12 14:52:34 2015 +0200 Merge branch 'x86/ras' into ras/core, to pick up changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0fa28877b26641cca56b607ccec1fcbda7ae09c6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 14:53:54 2015 +0200 net: HNS: fix MDIO dependencies The newly introduced HNS_MDIO Kconfig symbol selects 'MDIO', but that is the wrong symbol as the code used by this driver is provided by PHYLIB rather than the MDIO driver. Also, there is no need to make this driver user selectable, because it is already selected by all drivers that need it. This changes the Kconfig file to select the correct library, and to make the option silent. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 5b904d39406 ("net: add Hisilicon Network Subsystem MDIO support") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c577e59ed7f55be398a2a730447a7f37d72eaa57 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Fri Oct 9 10:40:35 2015 +0100 sfc: fully reset if MC_REBOOT event received without warm_boot_count increment On EF10, MC_CMD_VPORT_RECONFIGURE can cause a CODE_MC_REBOOT event to be sent to a function without incrementing the (adapter-wide) warm_boot_count. In this case, the reboot is not detected by the loop on efx_mcdi_poll_reboot(), so prepare for recovery from an MC reboot anyway. When this codepath is run, the MC has always just rebooted, so this recovery is valid. The loop on efx_mcdi_poll_reboot() is still required for other MC reboot cases, so that actions in response to an MC reboot are performed, such as clearing locally calculated statistics. Siena NICs are unaffected by this change as the above scenario does not apply. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d5404915a92de00cc2a6bd1d1b7f923b70effbd1 Merge: 7533ce3 d0cf57f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 12 05:20:28 2015 -0700 Merge branch 'switchdev_ageing_time' Scott Feldman says: ==================== switchdev: push bridge ageing_time attribute down Push bridge-level attributes down to switchdev drivers. This patchset adds the infrastructure and then pushes, as an example, ageing_time attribute down from bridge to switchdev (rocker) driver. Add some range-checking for ageing_time. RTNETLINK answers: Numerical result out of range Up until now, switchdev attrs where port-level attrs, so the netdev used in switchdev_attr_set() would be a switch port or bond of switch ports. With bridge-level attrs, the netdev passed to switchdev_attr_set() is the bridge netdev. The same recusive algo is used to visit the leaves of the stacked drivers to set the attr, it's just in this case we start one layer higher in the stack. One note is not all ports in the bridge may support setting a bridge-level attribute, so rather than failing the entire set, we'll skip over those ports returning -EOPNOTSUPP. v2->v3: Per Jiri review: push only ageing_time attr down at this time, and don't pass raw bridge IFLA_BR_* values; rather use new switchdev attr ID for ageing_time. v1->v2: rebase w/ net-next ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0cf57f9dddb50ea404bf747a3c6b22b29f82b9a Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Oct 8 19:23:20 2015 -0700 rocker: handle setting bridge ageing_time The FDB cleanup timer will get rescheduled to re-evaluate FDB entries based on new ageing_time. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c62987bbd8a1a1664f99e89e3959339350a6131e Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Oct 8 19:23:19 2015 -0700 bridge: push bridge setting ageing_time down to switchdev Use SWITCHDEV_F_SKIP_EOPNOTSUPP to skip over ports in bridge that don't support setting ageing_time (or setting bridge attrs in general). If push fails, don't update ageing_time in bridge and return err to user. If push succeeds, update ageing_time in bridge and run gc_timer now to recalabrate when to run gc_timer next, based on new ageing_time. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 464314ea6c119ebc22ee78453e63814453c31611 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Oct 8 19:23:18 2015 -0700 switchdev: skip over ports returning -EOPNOTSUPP when recursing ports This allows us to recurse over all the ports, skipping over unsupporting ports. Without the change, the recursion would stop at first unsupported port. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f55ac58ae64cbb0315382e738681fe31837dcac0 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Oct 8 19:23:17 2015 -0700 switchdev: add bridge ageing_time attribute Setting the stage to push bridge-level attributes down to port driver so hardware can be programmed accordingly. Bridge-level attribute example is ageing_time. This is a per-bridge attribute, not a per-bridge-port attr. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53b3ffee788559fe26d32f21b223bf4bad959477 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Mon Oct 12 19:10:25 2015 +0900 ALSA: firewire-tascam: change device probing processing Currently, this driver picks up model name with be32_to_cpu() macro to align characters. This is wrong operation because the result is different depending on CPU endiannness. Additionally, vendor released several versions of firmware for this series. It's not better to assign model-dependent information to device entry according to the version field. This commit fixes these bugs. The name of model is picked up correctly and used to identify model-dependent information. Cc: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Fixes: c0949b278515 ('ALSA: firewire-tascam: add skeleton for TASCAM FireWire series') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e65e2cb99e44704f63b76e4395092b0533bef88b Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Mon Oct 12 19:10:24 2015 +0900 ALSA: firewire-tascam: Turn on/off FireWire LED TASCAM FireWire series has some LEDs on its surface. These LEDs can be turned on/off by receiving asynchronous transactions to a certain address. One of the LEDs is labels as 'FireWire'. It's better to light it up when this driver starts to work. Besides, the LED for 'FireWire' is turned off at bus reset. This commit implements this idea. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0db18e7eec40a4331214185b37b0440856856775 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Mon Oct 12 19:10:23 2015 +0900 ALSA: firewire-tascam: add support for MIDI functionality In former commits, this driver got functionalities to transfer/receive MIDI messages to/from TASCAM FireWire series. This commit adds some ALSA MIDI ports to enable userspace applications to use the functionalities. I note that this commit doesn't support virtual MIDI ports which console models support. A physical controls can be assigned to a certain MIDI ports including physical and virtual. But the way is not clear. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3beab0f844fadefe16b6383f6ff7b76147db686b Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Mon Oct 12 19:10:22 2015 +0900 ALSA: firewire-tascam: add support for outgoing MIDI messages by asynchronous transaction TASCAM FireWire series use asynchronous transaction to receive MIDI messages. The transaction should be sent to a certain address. This commit supports the outgoing MIDI messages. The messages in the transaction includes some quirks: * One MIDI message is transferred in one quadlet transaction, except for system exclusives. * MIDI running status is not allowed, thus transactions always include status byte. * The basic data format is the same as transferring MIDI messages supported in previous commit. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 107cc0129a685e88d09af88b8a371caec5c51ff0 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Mon Oct 12 19:10:21 2015 +0900 ALSA: firewire-tascam: add support for incoming MIDI messages by asynchronous transaction TASCAM FireWire series use asynchronous transaction to transfer MIDI messages. The transaction is sent to a registered address. This commit supports the incoming MIDI messages. The messages in the transaction include some quirks: * Two quadlets are used for one MIDI message and one timestamp. * Usually, the first byte of the first quadlet includes MIDI port and MSB 4 bit of MIDI status. For system exclusive message, the first byte includes MIDI port and 0x04, or 0x07 in the end of the message. * The rest of the first quadlet includes MIDI bytes up to 3. * Several set of MIDI messages and timestamp can be transferred in one block transaction, up to 8 sets. I note that TASCAM FireWire series ignores ID bytes of system exclusive message. When receiving system exclusive messages with ID bytes on physical MIDI bus, the series transfers the messages without ID bytes on IEEE 1394 bus, and vice versa. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7533ce3055bbe9577276a847125b156c44a5bbce Author: Richard Sailer <richard@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 02:41:37 2015 +0200 tcp: change type of alive from int to bool The alive parameter of tcp_orphan_retries, indicates whether the connection is assumed alive or not. In the function and all places calling it is used as a boolean value. Therefore this changes the type of alive to bool in the function definition and all calling locations. Since tcp_orphan_tries is a tcp_timer.c local function no change in any other file or header is necessary. Signed-off-by: Richard Sailer <richard@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3741873b4f73b572b8f8835e6bd114e08316a160 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:38:52 2015 -0700 bridge: allow adding of fdb entries pointing to the bridge device This patch enables adding of fdb entries pointing to the bridge device. This can be used to propagate mac address of vlan interfaces configured on top of the vlan filtering bridge. Before: $bridge fdb add 44:38:39:00:27:9f dev bridge RTNETLINK answers: Invalid argument After: $bridge fdb add 44:38:39:00:27:9f dev bridge Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb50ce324e72bfd5d191d0a834a0ead1a08666b7 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Mon Oct 12 12:10:53 2015 +0100 arm64: Fix missing #include in hw_breakpoint.c A prior commit used to detect the hw breakpoint ABI behaviour based on the target state missed the asm/compat.h include and the build fails with !CONFIG_COMPAT. Fixes: 8f48c0629049 ("arm64: hw_breakpoint: use target state to determine ABI behaviour") Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 465a225fb2afb3ebf1becbe76d46b084d46f30a5 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 9 19:38:43 2015 +0200 ARM: sun5i: Add C.H.I.P DTS The C.H.I.P. is a small SBC with an Allwinner R8, 8GB of NAND, 512MB of RAM, USB host and OTG, a wifi / bluetooth combo chip, an audio/video jack and two connectors to plug additional boards on top of it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit cf09d7b0762c8fd225f0808bb85f573254ad5b54 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Oct 10 22:48:57 2015 +0800 ARM: dts: sunxi: Add dtsi for AXP22x PMIC The AXP22x family of PMIC is used with some Allwinner SoCs. This includes the AXP221, AXP221s and AXP223. They differ in the host interface, maximum supply current for DCDC1 regulator, and default voltage and state for various LDO regulators. Also, the AXP221s does not support fine calibration of the battery fuel gauge. This patch adds a dtsi file for all the common bindings for these PMICs. Currently this is just listing all the regulator nodes. The regulators are initialized based on their device node names. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit dbb64f8635f5d68192108b88759a34633a4bd558 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Thu Oct 1 13:20:27 2015 -0500 md-cluster: Fix adding of new disk with new reload code Adding the disk worked incorrectly with the new reload code. Fix it: - No operation should be performed on rdev marked as Candidate - After a metadata update operation, kick disk if role is 0xfffe else clear Candidate bit and continue with the regular change check. - Saving the mode of the lock resource to check if token lock is already locked, because it can be called twice while adding a disk. However, unlock_comm() must be called only once. - add_new_disk() is called by the node initiating the --add operation. If it needs to be canceled, call add_new_disk_cancel(). The operation is completed by md_update_sb() which will write and unlock the communication. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit c186b128cda5a246da25f474e4689cb2bfacfcac Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Wed Sep 30 13:20:35 2015 -0500 md-cluster: Perform resync/recovery under a DLM lock Resync or recovery must be performed by only one node at a time. A DLM lock resource, resync_lockres provides the mutual exclusion so that only one node performs the recovery/resync at a time. If a node is unable to get the resync_lockres, because recovery is being performed by another node, it set MD_RECOVER_NEEDED so as to schedule recovery in the future. Remove the debug message in resync_info_update() used during development. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 6035519fcf5aa17084b41790cdc584d881d82c03 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Mon Oct 5 18:16:57 2015 -0700 timers, kselftest: Add 'adjtick' test to validate adjtimex() tick adjustments Recently a kernel side NTP bug was fixed via the following commit: 2619d7e9c92d ("time: Fix timekeeping_freqadjust()'s incorrect use of abs() instead of abs64()") When the bug was reported it was difficult to detect, except by tweaking the adjtimex tick value, and noticing how quickly the adjustment took: https://lkml.org/lkml/2015/9/1/488 Thus this patch introduces a new test which manipulates the adjtimex tick value and validates that the results are what we expect. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Miroslav Lichvar <mlichvar@xxxxxxxxxx> Cc: Nuno Gonçalves <nunojpg@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444094217-20258-1-git-send-email-john.stultz@xxxxxxxxxx [ Tidied up the code and the changelog a bit. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b9f27c0f4f7db9e5a4ba59228442a75d3177470c Merge: 9fc4468 25cb62b Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 12 09:51:18 2015 +0200 Merge tag 'v4.3-rc5' into timers/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9babcd7929bc8967ae3bb6093f603b93c2f9958f Author: Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> Date: Thu Oct 8 15:36:06 2015 -0300 sched, tracing: Stop/start critical timings around the idle=poll idle loop When using idle=poll, the preemptoff tracer is always showing the idle task as the culprit for long latencies. That happens because critical timings are not stopped before idle loop. This patch stops critical timings before entering the idle loop, starting it again after the idle loop. This problem does not affect the irqsoff tracer because interruptions are enabled before entering the idle loop. Signed-off-by: Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> Reviewed-by: Luis Claudio R. Goncalves <lgoncalv@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> 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/10fc3705874aef11dbe152a068b591a7be1899b4.1444314899.git.bristot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9c40d257fdd58c5cc97d3fe3aa141dd23ee5e9d Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Tue Oct 6 02:35:55 2015 +0800 x86/kexec: Remove obsolete 'in_crash_kexec' flag Previously, UV NMI used the 'in_crash_kexec' flag to determine whether we are in a kdump kernel or not: 5edd19af18a36a4 ("x86, UV: Make kdump avoid stack dumps") But this flags was removed in the following commit: 9c48f1c629ecfa1 ("x86, nmi: Wire up NMI handlers to new routines") Since it isn't used any more, remove it. Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: cpw@xxxxxxx Cc: kexec@xxxxxxxxxxxxxxxxxxx Cc: mhuang@xxxxxxxxxx Link: http://lkml.kernel.org/r/1444070155-17934-1-git-send-email-mhuang@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1e2103cbf4adfd5490ee5f3ee59750bd70d2047e Merge: 8a56d7c 847f9f6 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Oct 12 18:38:25 2015 +1100 Merge branch 'xfs-misc-fixes-for-4.4-1' into for-next commit 8a56d7c305b9613dfe416fd1af06871ec34bb103 Merge: 316433b 0a50f16 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Oct 12 18:38:11 2015 +1100 Merge branch 'xfs-io-fixes' into for-next commit 316433beda9433697109eb1cd256666f163c7c1f Merge: 9e92054 91f9f5f Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Oct 12 18:37:58 2015 +1100 Merge branch 'xfs-logging-fixes' into for-next commit 9e92054e8e049f8f4c64d2c6961b2a7e3e13977f Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Mon Oct 12 18:21:22 2015 +1100 xfs: simplify /proc teardown & error handling remove_proc_subtree() was added in 3.9, and can be used to simplify our procfile creation error handling and cleanup, removing the nested gotos. It simply removes fs/xfs and everything created under it. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ff6d6af2351caea7db681f4539d0d893e400557a Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 18:21:22 2015 +1100 xfs: per-filesystem stats counter implementation This patch modifies the stats counting macros and the callers to those macros to properly increment, decrement, and add-to the xfs stats counts. The counts for global and per-fs stats are correctly advanced, and cleared by writing a "1" to the corresponding clear file. global counts: /sys/fs/xfs/stats/stats per-fs counts: /sys/fs/xfs/sda*/stats/stats global clear: /sys/fs/xfs/stats/stats_clear per-fs clear: /sys/fs/xfs/sda*/stats/stats_clear [dchinner: cleaned up macro variables, removed CONFIG_FS_PROC around stats structures and macros. ] Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 225e4635580ce9fb12f8a2dc88473161cd64dbf6 Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 18:21:19 2015 +1100 xfs: per-filesystem stats in sysfs This patch implements per-filesystem stats objects in sysfs. It depends on the application of the previous patch series that develops the infrastructure to support both xfs global stats and xfs per-fs stats in sysfs. Stats objects are instantiated when an xfs filesystem is mounted and deleted on unmount. With this patch, the stats directory is created and populated with the familiar stats and stats_clear files. Example: /sys/fs/xfs/sda9/stats/stats /sys/fs/xfs/sda9/stats/stats_clear With this patch, the individual counts within the new per-fs stats file(s) remain at zero. Functions that use the the macros to increment, decrement, and add-to the per-fs stats counts will be covered in a separate new patch to follow this one. Note that the counts within the global stats file (/sys/fs/xfs/stats/stats) advance normally and can be cleared as it was prior to this patch. [dchinner: move setup/teardown to xfs_fs_{fill|put}_super() so it is down before/after any path that uses the per-mount stats. ] Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2aa82191ac36cd2f2a41aa25697db30ed7c619ef Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Mon Sep 28 19:21:35 2015 -0500 md-cluster: Perform a lazy update In a clustered environment, a change such as marking a device faulty, can be recorded by any of the nodes. This is communicated to all the nodes and re-recording such a change is unnecessary, and quite often pretty disruptive. With this patch, just before the update, we detect for the changes and if the changes are already in superblock, we abort the update after clearing all the flags Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 70bcecdb1534a7dcd82503b705c27a048d568c9d Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Aug 21 10:33:39 2015 -0500 md-cluster: Improve md_reload_sb to be less error prone md_reload_sb is too simplistic and it explicitly needs to determine the changes made by the writing node. However, there are multiple areas where a simple reload could fail. Instead, read the superblock of one of the "good" rdevs and update the necessary information: - read the superblock into a newly allocated page, by temporarily swapping out rdev->sb_page and calling ->load_super. - if that fails return - if it succeeds, call check_sb_changes 1. iterates over list of active devices and checks the matching dev_roles[] value. If that is 'faulty', the device must be marked as faulty - call md_error to mark the device as faulty. Make sure not to set CHANGE_DEVS and wakeup mddev->thread or else it would initiate a resync process, which is the responsibility of the "primary" node. - clear the Blocked bit - Call remove_and_add_spares() to hot remove the device. If the device is 'spare': - call remove_and_add_spares() to get the number of spares added in this operation. - Reduce mddev->degraded to mark the array as not degraded. 2. reset recovery_cp - read the rest of the rdevs to update recovery_offset. If recovery_offset is equal to MaxSector, call spare_active() to set it In_sync This required that recovery_offset be initialized to MaxSector, as opposed to zero so as to communicate the end of sync for a rdev. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 2910ff17d154baa5eb50e362a91104e831eb2bb6 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Mon Sep 28 10:27:26 2015 -0500 md: remove_and_add_spares() to activate specific rdev remove_and_add_spares() checks for all devices to activate spare. Change it to activate a specific device if a non-null rdev argument is passed. remove_and_add_spares() can be used to activate spares in slot_store() as well. For hot_remove_disk(), check if rdev->raid_disk == -1 before calling remove_and_add_spares() Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit b8ca846e45197a2de829def27254f833a998723e Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Oct 9 11:27:01 2015 -0500 md-cluster: Wake up suspended process When the suspended_area is deleted, the suspended processes must be woken up in order to complete their I/O. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 099954119d53a24573d22b70a6ea22a0a279e689 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Thu Oct 1 00:09:18 2015 +0800 md-cluster: send BITMAP_NEEDS_SYNC when node is leaving cluster Previously, BITMAP_NEEDS_SYNC message is sent when the resyc aborts, but it could abort for different reasons, and not all of reasons require another node to take over the resync ownship. It is better make BITMAP_NEEDS_SYNC message only be sent when the node is leaving cluster with dirty bitmap. And we also need to ensure dlm connection is ok. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c40f341f1e7fd4eddcfc5881d94cfa8669071ee6 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Wed Aug 19 08:14:42 2015 +1000 md-cluster: Use a small window for resync Suspending the entire device for resync could take too long. Resync in small chunks. cluster's resync window (32M) is maintained in r1conf as cluster_sync_low and cluster_sync_high and processed in raid1's sync_request(). If the current resync is outside the cluster resync window: 1. Set the cluster_sync_low to curr_resync_completed. 2. Check if the sync will fit in the new window, if not issue a wait_barrier() and set cluster_sync_low to sector_nr. 3. Set cluster_sync_high to cluster_sync_low + resync_window. 4. Send a message to all nodes so they may add it in their suspension list. bitmap_cond_end_sync is modified to allow to force a sync inorder to get the curr_resync_completed uptodate with the sector passed. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 3c462c880b52aae2cfbbb8db8b401eef118cc128 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Wed Aug 19 07:35:54 2015 +1000 md: Increment version for clustered bitmaps Add BITMAP_MAJOR_CLUSTERED as 5, in order to prevent older kernels to assemble a clustered device. In order to maximize compatibility, the major version is set to BITMAP_MAJOR_CLUSTERED *only* if the bitmap is clustered. Added MD_FEATURE_CLUSTERED in order to return error for older kernels which would assemble MD even if the bitmap is corrupted. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 9ed38ff53090856769b99e9d2f19740fb11e6956 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Aug 14 12:19:40 2015 -0500 md-cluster: complete all write requests before adding suspend_info process_suspend_info - which handles the RESYNCING request - must not reply until all writes which were initiated before the request arrived, have completed. As a by-product, all process_* functions now take mddev as their first arguement making it uniform. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 847f9f6875fb02b576035e3dc31f5e647b7617a7 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Mon Oct 12 16:04:45 2015 +1100 xfs: more info from kmem deadlocks and high-level error msgs In an effort to get more useful out of "possible memory allocation deadlock" messages, print the size of the requested allocation, and dump the stack if the xfs error level is tuned high. The stack dump is implemented in define_xfs_printk_level() for error levels >= LOGLEVEL_ERR, partly because it seems generically useful, and also because kmem.c has no knowledge of xfs error level tunables or other such bits, it's very kmem-specific. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 91f9f5fe1e7350e872b3fbc3194e8183bddce514 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Mon Oct 12 16:04:15 2015 +1100 xfs: avoid null *src in memcpy call in xlog_write The gcc undefined behavior sanitizer caught this; surely any sane memcpy implementation will no-op if size == 0, but behavior with a *src of NULL is technically undefined (declared nonnull), so avoid it here. We are actually in this situation frequently via xlog_commit_record(), because: struct xfs_log_iovec reg = { .i_addr = NULL, .i_len = 0, .i_type = XLOG_REG_TYPE_COMMIT, }; Reported-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit dbd5c8c9a28899c6ca719eb21afc0afba9dd5574 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 16:04:13 2015 +1100 xfs: pass total block res. as total xfs_bmapi_write() parameter The total field from struct xfs_alloc_arg is a bit of an unknown commodity. It is documented as the total block requirement for the transaction and is used in this manner from most call sites by virtue of passing the total block reservation of the transaction associated with an allocation. Several xfs_bmapi_write() callers pass hardcoded values of 0 or 1 for the total block requirement, which is a historical oddity without any clear reasoning. The xfs_iomap_write_direct() caller, for example, passes 0 for the total block requirement. This has been determined to cause problems in the form of ABBA deadlocks of AGF buffers due to incorrect AG selection in the block allocator. Specifically, the xfs_alloc_space_available() function incorrectly selects an AG that doesn't actually have sufficient space for the allocation. This occurs because the args.total field is 0 and thus the remaining free space check on the AG doesn't actually consider the size of the allocation request. This locks the AGF buffer, the allocation attempt proceeds and ultimately fails (in xfs_alloc_fix_minleft()), and xfs_alloc_vexent() moves on to the next AG. In turn, this can lead to incorrect AG locking order (if the allocator wraps around, attempting to lock AG 0 after acquiring AG N) and thus deadlock if racing with another operation. This problem has been reproduced via generic/299 on smallish (1GB) ramdisk test devices. To avoid this problem, replace the undocumented hardcoded total parameters from the iomap and utility callers to pass the block reservation used for the associated transaction. This is consistent with other xfs_bmapi_write() callers throughout XFS. The assumption is that the total field allows the selection of an AG that can handle the entire operation rather than simply the allocation/range being requested (e.g., resulting btree splits, etc.). This addresses the aforementioned generic/299 hang by ensuring AG selection only occurs when the allocation can be satisfied by the AG. Reported-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 51fcbfe7092a18a138e28110df3ab7e666bf69ee Author: Jan Tulak <jtulak@xxxxxxxxxx> Date: Mon Oct 12 16:03:59 2015 +1100 xfs: avoid dependency on Linux XATTR_SIZE_MAX Currently, we depends on Linux XATTR value for on disk definition. Which causes trouble on other platforms and maybe also if this value was to change. Fix it by creating a custom definition independent from those in Linux (although with the same values), so it is OK with the be16 fields used for holding these attributes. This patch reflects a change in xfsprogs. Signed-off-by: Jan Tulak <jtulak@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 4e247614a92852e8eb29e49be094b6b981a7895f Author: Jan Tulak <jtulak@xxxxxxxxxx> Date: Mon Oct 12 16:02:56 2015 +1100 xfs: prefix XATTR_LIST_MAX with XFS_ Remove a hard dependency of Linux XATTR_LIST_MAX value by using a prefixed version. This patch reflects the same change in xfsprogs. Signed-off-by: Jan Tulak <jtulak@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fef4ded8cb2e53a47093b334e7730d55a3badc59 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Oct 12 16:02:32 2015 +1100 libxfs: fix two comment typos Just fix two typos in code comments. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0a50f162af6ddc2db02c9edc5bbb823c336100a4 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 16:02:08 2015 +1100 xfs: add an xfs_zero_eof() tracepoint Add a tracepoint in xfs_zero_eof() to facilitate tracking and debugging EOF zeroing events. This has proven useful in the context of other direct I/O tracepoints to ensure EOF zeroing occurs within appropriate file ranges. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3136e8bb3054d3bb68942f8f1ee6c26c05f798b0 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 16:02:05 2015 +1100 xfs: always drain dio before extending aio write submission XFS supports and typically allows concurrent asynchronous direct I/O submission to a single file. One exception to the rule is that file extending dio writes that start beyond the current EOF (e.g., potentially create a hole at EOF) require exclusive I/O access to the file. This is because such writes must zero any pre-existing blocks beyond EOF that are exposed by virtue of now residing within EOF as a result of the write about to be submitted. Before EOF zeroing can occur, the current file i_size must be stabilized to avoid data corruption. In this scenario, XFS upgrades the iolock to exclude any further I/O submission, waits on in-flight I/O to complete to ensure i_size is up to date (i_size is updated on dio write completion) and restarts the various checks against the state of the file. The problem is that this protection sequence is triggered only when the iolock is currently held shared. While this is true for async dio in most cases, the caller may upgrade the lock in advance based on arbitrary circumstances with respect to EOF zeroing. For example, the iolock is always acquired exclusively if the start offset is not block aligned. This means that even though the iolock is already held exclusive for such I/Os, pending I/O is not drained and thus EOF zeroing can occur based on an unstable i_size. This problem has been reproduced as guest data corruption in virtual machines with file-backed qcow2 virtual disks hosted on an XFS filesystem. The virtual disks must be configured with aio=native mode and the must not be truncated out to the maximum file size (as some virt managers will do). Update xfs_file_aio_write_checks() to unconditionally drain in-flight dio before EOF zeroing can occur. Rather than trigger the wait based on iolock state, use a new flag and upgrade the iolock when necessary. Note that this results in a full restart of the inode checks even when the iolock was already held exclusive when technically it is only required to recheck i_size. This should be a rare enough occurrence that it is preferable to keep the code simple rather than create an alternate restart jump target. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a45086e27dfa21a4b39134f7505c8f60a3ecdec4 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 15:59:25 2015 +1100 xfs: validate metadata LSNs against log on v5 superblocks Since the onset of v5 superblocks, the LSN of the last modification has been included in a variety of on-disk data structures. This LSN is used to provide log recovery ordering guarantees (e.g., to ensure an older log recovery item is not replayed over a newer target data structure). While this works correctly from the point a filesystem is formatted and mounted, userspace tools have some problematic behaviors that defeat this mechanism. For example, xfs_repair historically zeroes out the log unconditionally (regardless of whether corruption is detected). If this occurs, the LSN of the filesystem is reset and the log is now in a problematic state with respect to on-disk metadata structures that might have a larger LSN. Until either the log catches up to the highest previously used metadata LSN or each affected data structure is modified and written out without incident (which resets the metadata LSN), log recovery is susceptible to filesystem corruption. This problem is ultimately addressed and repaired in the associated userspace tools. The kernel is still responsible to detect the problem and notify the user that something is wrong. Check the superblock LSN at mount time and fail the mount if it is invalid. From that point on, trigger verifier failure on any metadata I/O where an invalid LSN is detected. This results in a filesystem shutdown and guarantees that we do not log metadata changes with invalid LSNs on disk. Since this is a known issue with a known recovery path, present a warning to instruct the user how to recover. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 5bf97b1cb430a3a6da4341ae913299706ebc52f5 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 15:41:29 2015 +1100 xfs: Print name and pid when memory allocation loops This patch adds comm name and pid to warning messages printed by kmem_alloc(), kmem_zone_alloc() and xfs_buf_allocate_memory(). This will help telling which memory allocations (e.g. kernel worker threads, OOM victim tasks, neither) are stalling because these functions are passing __GFP_NOWARN which suppresses not only backtrace but comm name and pid. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b7cdc66be54b64daef593894d12ecc405f117829 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 15:40:24 2015 +1100 xfs: log local to remote symlink conversions correctly on v5 supers A local format symlink inode is converted to extent format when an extended attribute is set on an inode as part of the attribute fork creation. This means a block is allocated, the local symlink target name is copied to the block and the block is logged. Currently, xfs_bmap_local_to_extents() handles logging the remote block data based on the size of the data fork prior to the conversion. This is not correct on v5 superblock filesystems, which add an additional header to remote symlink blocks that is nonexistent in local format inodes. As a result, the full length of the remote symlink block content is not logged. This can lead to corruption should a crash occur and log recovery replay this transaction. Since a callout is already used to initialize the new remote symlink block, update the local-to-extents conversion mechanism to make the callout also responsible for logging the block. It is already required to set the log buffer type and format the block appropriately based on the superblock version. This ensures the remote symlink is always logged correctly. Note that xfs_bmap_local_to_extents() is only called for symlinks so there are no other callouts that require modification. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 009c6e871e98aa23bc2e58474c3d9feb05dd1ae6 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 15:34:20 2015 +1100 xfs: add missing ilock around dio write last extent alignment The iomap codepath (via get_blocks()) acquires and release the inode lock in the case of a direct write that requires block allocation. This is because xfs_iomap_write_direct() allocates a transaction, which means the ilock must be dropped and reacquired after the transaction is allocated and reserved. xfs_iomap_write_direct() invokes xfs_iomap_eof_align_last_fsb() before the transaction is created and thus before the ilock is reacquired. This can lead to calls to xfs_iread_extents() and reads of the in-core extent list without any synchronization (via xfs_bmap_eof() and xfs_bmap_last_extent()). xfs_iread_extents() assert fails if the ilock is not held, but this is not currently seen in practice as the current callers had already invoked xfs_bmapi_read(). What has been seen in practice are reports of crashes down in the xfs_bmap_eof() codepath on direct writes due to seemingly bogus pointer references from xfs_iext_get_ext(). While an explicit reproducer is not currently available to confirm the cause of the problem, crash analysis and code inspection from David Jeffrey had identified the insufficient locking. xfs_iomap_eof_align_last_fsb() is called from other contexts with the inode lock already held, so we cannot acquire it therein. __xfs_get_blocks() acquires and drops the ilock with variable flags to cover the event that the extent list must be read in. The common case is that __xfs_get_blocks() acquires the shared ilock. To provide locking around the last extent alignment call without adding more lock cycles to the dio path, update xfs_iomap_write_direct() to expect the shared ilock held on entry and do the extent alignment under its protection. Demote the lock, if necessary, from __xfs_get_blocks() and push the xfs_qm_dqattach() call outside of the shared lock critical section. Also, add an assert to document that the extent list is always expected to be present in this path. Otherwise, we risk a call to xfs_iread_extents() while under the shared ilock. This is safe as all current callers have executed an xfs_bmapi_read() call under the current iolock context. Reported-by: David Jeffery <djeffery@xxxxxxxxxx> Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 891121e6c02c6242487aa4ea1d5c75b7ecdc45ee Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 08:32:21 2015 +0530 powerpc/mm: Differentiate between hugetlb and THP during page walk We need to properly identify whether a hugepage is an explicit or a transparent hugepage in follow_huge_addr(). We used to depend on hugepage shift argument to do that. But in some case that can result in wrong results. For ex: On finding a transparent hugepage we set hugepage shift to PMD_SHIFT. But we can end up clearing the thp pte, via pmdp_huge_get_and_clear. We do prevent reusing the pfn page via the usage of kick_all_cpus_sync(). But that happens after we updated the pte to 0. Hence in follow_huge_addr() we can find hugepage shift set, but transparent huge page check fail for a thp pte. NOTE: We fixed a variant of this race against thp split in commit 691e95fd7396905a38d98919e9c150dbc3ea21a3 ("powerpc/mm/thp: Make page table walk safe against thp split/collapse") Without this patch, we may hit the BUG_ON(flags & FOLL_GET) in follow_page_mask occasionally. In the long term, we may want to switch ppc64 64k page size config to enable CONFIG_ARCH_WANT_GENERAL_HUGETLB Reported-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ec2640b114d535ba7d895b6ee353791d542f2407 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 12:53:53 2015 +0530 powerpc/mm: Disable hugepd for 64K page size. After commit e2b3d202d1dba8f3546ed28224ce485bc50010be ("powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format"), we don't need to support is_hugepd() for 64K page size. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5cb13dcd0fac071b45c4bebe1801a08ff0d89cad Author: Zhaohongjiang <zhaohongjiang@xxxxxxxxxx> Date: Mon Oct 12 15:28:39 2015 +1100 cancel the setfilesize transation when io error happen When I ran xfstest/073 case, the remount process was blocked to wait transactions to be zero. I found there was a io error happened, and the setfilesize transaction was not released properly. We should add the changes to cancel the io error in this case. Reproduction steps: 1. dd if=/dev/zero of=xfs1.img bs=1M count=2048 2. mkfs.xfs xfs1.img 3. losetup -f ./xfs1.img /dev/loop0 4. mount -t xfs /dev/loop0 /home/test_dir/ 5. mkdir /home/test_dir/test 6. mkfs.xfs -dfile,name=image,size=2g 7. mount -t xfs -o loop image /home/test_dir/test 8. cp a file bigger than 2g to /home/test_dir/test 9. mount -t xfs -o remount,ro /home/test_dir/test [ dchinner: moved io error detection to xfs_setfilesize_ioend() after transaction context restoration. ] Signed-off-by: Zhao Hongjiang <zhaohongjiang@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 687dfe660a3eddbd40335694beb0896e26b5bbd9 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 20:14:45 2015 +0100 ARM: shmobile: defconfig: enable HDMI output for RCar Actviate HDMI output of the RCar DU (and LVDS while we are here). Enable the HDMI encoder chip found on Lager/Koelsch boards. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1fd377b3fc1e071702e27b2f828e3abd8b31c74d Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 10 14:30:52 2015 +0200 ARM: shmobile: R-Mobile: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f9953c5e2a84ffc309ca5f6a281528907a3c8a39 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 00:41:26 2015 +0300 ARM: shmobile: porter: enable PCIe Enable the PCIe controller and clock for the Porter board. This patch is analogous to the commit 485f3ce67c11 ("ARM: shmobile: henninger: Enable PCIe Controller & PCIe bus clock") as there are no differences between the boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2685a2cefe6bcd17e6b407799f41369c7dad422d Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 00:40:31 2015 +0300 ARM: shmobile: porter: add QSPI DT support Define the Porter board dependent part of the QSPI device node. Add device nodes for Spansion S25FL512S SPI flash and the MTD partitions on it. This patch is mostly analogous to the commit f59838d44835 ("ARM: shmobile: henninger: add QSPI DT support") as there are no differences between the boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6d4f5440a3a2bb2e9d0d582bbf98234e9e9bb095 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 7 15:33:43 2015 +0300 HID: multitouch: Fetch feature reports on demand for Win8 devices Some newer Intel Skylake based Dell laptops with Win8 precision touchpad fail when initial feature reports are fetched from it. Below is an example output with some additional debug included: i2c_hid i2c-DLL0704:01: Fetching the HID descriptor i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=20 00 i2c_hid i2c-DLL0704:01: HID Descriptor: 1e 00 00 01 99 02 21 00 24 ... ... i2c_hid i2c-DLL0704:01: i2c_hid_get_report i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 38 02 23 00 i2c_hid i2c-DLL0704:01: report (len=4): 04 00 08 05 i2c_hid i2c-DLL0704:01: report id 13 i2c_hid i2c-DLL0704:01: i2c_hid_get_report i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 3d 02 23 00 i2c_hid i2c-DLL0704:01: failed to retrieve report from device. i2c_hid i2c-DLL0704:01: report id 7 i2c_hid i2c-DLL0704:01: i2c_hid_get_report i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 37 02 23 00 i2c_hid i2c-DLL0704:01: report (len=259): 03 01 07 fc 28 fe 84 40 ... i2c_hid i2c-DLL0704:01: report id 4 i2c_hid i2c-DLL0704:01: i2c_hid_get_report i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 34 02 23 00 We manage to fetch few reports but then the touchpad dies: i2c_designware i2c_designware.1: i2c_dw_handle_tx_abort: lost arbitration i2c_hid i2c-DLL0704:01: failed to retrieve report from device. it eventually pulls the whole I2C bus low: i2c_designware i2c_designware.1: controller timed out i2c_hid i2c-DLL0704:01: failed to set a report to device. Fix this by preventing initial feature report retrieval for Win8 devices. Instead we fetch reports as needed in mt_feature_mapping(). This prevents fetching reports which might cause problems with the device in question. Suggested-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Tested-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 334bb79c18eb8c1a314536b4b347ecab97d25d93 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Sat Oct 10 15:40:42 2015 -0400 doc: Clarify that nmi_watchdog param is for hardlockups The kernel NMI watchdog acts as both a hardlockup and softlockup detector. However, the kernel parameter nmi_watchdog can only enable or disable the hardlockup detector. Clarify that in the documentation. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 0ea1563bc108408083f2ac6dc38d7b8992e5b819 Author: Sachin Pandhare <sachinpandhare@xxxxxxxxx> Date: Tue Oct 6 23:54:55 2015 +0530 Typo correction for description in gpio document. Corrected Documentation/gpio/sysfs.txt for typos and wording. typos: syfs -> sysfs, manges -> manages wording: entry -> entries Signed-off-by: Sachin Pandhare <sachinpandhare@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 0d8c39e6c6dd97fc7fc40e93b44d76bb6dc4d4e4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 09:03:48 2015 -0300 DocBook: Fix kernel-doc to be case-insensitive for private: On some places, people could use Private: to tag the private fields of an struct. So, be case-insensitive when parsing "private:" meta-tag. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 1c35c283f21f36a295da4b286d7e18941b13fa0e Author: Richard Sailer <richard@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 02:14:32 2015 +0200 kernel-docs.txt: update kernelnewbies reference The #kernelnewbies irc channel is no longer hosted on irc.openprojects.net but on irc.oftc.net. Removed pointer to different regional servers since oftc already uses geo-IP load balancing. The "description" quoted from the website no longer exists, therefore removed the reference, quotes and carets. The paragraph also contains a pointer to the kernelnewbies.org website. Therefore changing the title to: "Kernel Newbies IRC Channel and Website." Signed-off-by: Richard Sailer <richard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 5d4f6f3d22b51f1eb8d7687b0e5f2428f5a500c7 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sun Oct 4 00:46:21 2015 +0900 Doc:kvm: Fix typo in Doc/virtual/kvm This patch fix spelling typos in Documentation/virtual/kvm. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 1c3a54e257f764f1564abba142597d472fba49c8 Author: Benoit Lemarchand <benoit.lemarchand@xxxxxxxxx> Date: Tue Sep 29 18:57:11 2015 +0200 Documentation/Changes: Add bc in "Current Minimal Requirements" section bc is mentioned lower in a dedicated section. Yet it is useful to have all dependencies listed in "Current Minimal Requirements" section. Signed-off-by: Benoit Lemarchand <benoit.lemarchand@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit a02b4fc29cc1bc222bd5c998c91e54d378a0944b Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Tue Sep 29 14:15:33 2015 +0100 Documentation/email-clients.txt: remove trailing whitespace Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9fc4468d546b6eb55b0aa5b04b0c36238ebf57e7 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 09:45:30 2015 +0200 timers: Use __fls in apply_slack() In apply_slack(), find_last_bit() is applied to a bitmask consisting of precisely BITS_PER_LONG bits. Since mask is non-zero, we might as well eliminate the function call and use __fls() directly. On x86_64, this shaves 23 bytes of the only caller, mod_timer(). This also gets rid of Coverity CID 1192106, but that is a false positive: Coverity is not aware that mask != 0 implies that find_last_bit will not return BITS_PER_LONG. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443771931-6284-1-git-send-email-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit cfed432d7f4114e16e0163bcfe65e96f0c304493 Author: Guillaume Gomez <guillaume1.gomez@xxxxxxxxx> Date: Wed Sep 23 13:19:19 2015 +0200 clocksource: Remove return statement from void functions Signed-off-by: Guillaume Gomez <guillaume1.gomez@xxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Link: http://lkml.kernel.org/r/CAAOQCfSDgmqSWDBsetau%2ByF8x0%2BDagCF_pfFw0p5xH_BKkKEog@xxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 192db1caa253c087496b9671ab8aa0a53da31f35 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Fri Jul 31 01:12:44 2015 +0000 mtd: nand_bbt: set the smallest size of bbt table When using nandsim to simulate a 128K block nand with `overridesize = 1', the size of mtd device is too small (mtd_size = 4 * block_size) to get the right length of bbt. Then when creating bbt, kzmalloc() will return ZERO_SIZE_PTR. This causes a NULL pointer oops when scanning bbt. [ 952.156166] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 952.157064] IP: [<ffffffff8148ad4a>] nand_isreserved_bbt+0x2a/0x40 [ 952.157064] PGD 0 [ 952.157064] Oops: 0000 [#1] SMP [ 952.157064] Modules linked in: nandsim(+) [last unloaded: nandsim] [ 952.157064] CPU: 1 PID: 7103 Comm: modprobe Not tainted 4.2.0-rc3-next-20150724 #4 [ 952.157064] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [ 952.157064] task: ffff88003e24b980 ti: ffff88003d274000 task.ti: ffff88003d274000 [ 952.157064] RIP: 0010:[<ffffffff8148ad4a>] [<ffffffff8148ad4a>] nand_isreserved_bbt+0x2a/0x40 [ 952.157064] RSP: 0018:ffff88003d277b90 EFLAGS: 00010246 [ 952.157064] RAX: 0000000000000010 RBX: ffff88003d5a1000 RCX: 0000000000000000 [ 952.157064] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88003d919000 [ 952.157064] RBP: ffff88003d277b98 R08: 0000000000020000 R09: 0000000000000000 [ 952.157064] R10: 0000000000000000 R11: 0000000000000195 R12: ffff88003d919000 [ 952.157064] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 952.157064] FS: 00007fada4d07700(0000) GS:ffff88003fd00000(0000) knlGS:0000000000000000 [ 952.157064] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 952.157064] CR2: 0000000000000010 CR3: 0000000037924000 CR4: 00000000000006a0 [ 952.157064] Stack: [ 952.157064] ffffffff814851ec ffff88003d277ba8 ffffffff8147e35f ffff88003d277bf8 [ 952.157064] ffffffff814816f3 ffff88003d277c08 ffff88003d277bc8 0000000000000282 [ 952.157064] 0000000000000001 0000000000000000 ffff88003d209540 0000000000000001 [ 952.157064] Call Trace: [ 952.157064] [<ffffffff814851ec>] ? nand_block_isreserved+0x1c/0x20 [ 952.157064] [<ffffffff8147e35f>] mtd_block_isreserved+0x1f/0x30 [ 952.157064] [<ffffffff814816f3>] allocate_partition+0x463/0x6a0 [ 952.157064] [<ffffffff81481b3b>] add_mtd_partitions+0x4b/0xe0 [ 952.157064] [<ffffffff8147f14c>] mtd_device_parse_register+0x4c/0xe0 [ 952.157064] [<ffffffffa0013daf>] ns_init_module+0xdaf/0xde4 [nandsim] [ 952.157064] [<ffffffff8128d7c8>] ? kasprintf+0x38/0x40 [ 952.157064] [<ffffffffa0013000>] ? 0xffffffffa0013000 [ 952.157064] [<ffffffff810002c3>] do_one_initcall+0x83/0x1b0 [ 952.157064] [<ffffffff8113afab>] ? kmem_cache_alloc_trace+0x6b/0x120 [ 952.157064] [<ffffffff8160b503>] do_init_module+0x5c/0x1dd [ 952.157064] [<ffffffff810aa4db>] load_module+0x1bbb/0x20b0 [ 952.157064] [<ffffffff810a6fc0>] ? __symbol_put+0x30/0x30 [ 952.157064] [<ffffffff810aaac9>] SyS_init_module+0xf9/0x110 [ 952.157064] [<ffffffff810aa9d1>] ? SyS_init_module+0x1/0x110 [ 952.157064] [<ffffffff81615f57>] entry_SYSCALL_64_fastpath+0x12/0x6a [ 952.157064] Code: 00 55 48 8b 87 80 01 00 00 48 89 e5 8b 88 cc 00 00 00 48 8b 80 f0 03 00 00 5d 48 d3 fe 89 f2 83 e6 03 c1 fa 02 8d 0c 36 48 63 d2 <0f> b6 04 10 d3 f8 83 e0 03 3c 02 0f 94 c0 0f b6 c0 c3 0f 1f 40 [ 952.157064] RIP [<ffffffff8148ad4a>] nand_isreserved_bbt+0x2a/0x40 [ 952.157064] RSP <ffff88003d277b90> [ 952.157064] CR2: 0000000000000010 [ 952.204010] ---[ end trace 6ca2e1c041fdba36 ]--- This patch gives a smallest length to bbt, 1 byte, which is enough to represent up to 4 blocks. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 8e2c992b59fcb5e56e3667f5c30c7d26fbbf14a2 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Tue Aug 18 15:34:07 2015 +0000 mtd: mtdpart: add debug prints to partition parser. The probe of a mtd device can fail when a partition parser returns error. The failure due to partition parsing can be quite mysterious when multiple partitioning schemes are compiled in and any of them can fail the probe. Add debug prints which show what parsers were tried and what they returned. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7e0abcd6b7ec1452bf4a850fccbae44043c05806 Author: Gabriel Laskar <gabriel@xxxxxxxxxxxx> Date: Tue Oct 6 16:27:35 2015 +0200 x86/mce: Include linux/ioctl.h in uapi mce header asm/ioctls.h contains definition for termios, not just the _IO* macros. This error was found with a tool in development used to generate automated pretty-printing functions for ioctl decoding in strace. Signed-off-by: Gabriel Laskar <gabriel@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Link: http://lkml.kernel.org/r/1444141657-14898-2-git-send-email-gabriel@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4faefda97bc1be6ca909ba0fd0927ea78f37f67e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 9 17:24:45 2015 +0300 x86/io_apic: Make eoi_ioapic_pin() static We have to define internally used function as static, otherwise the following warning will be generated: arch/x86/kernel/apic/io_apic.c:532:6: warning: no previous prototype for 'eoi_ioapic_pin' [-Wmissing-prototypes] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444400685-98611-1-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d1f0f6c72c14af8a27a6549e0623f7cd61805e83 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 9 17:25:41 2015 +0300 x86/intel-mid: Make intel_mid_ops static The following warning is issued on unfixed code. arch/x86/platform/intel-mid/intel-mid.c:64:22: warning: symbol 'intel_mid_ops' was not declared. Should it be static? Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444400741-98669-1-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 80529c45ab66188a0b3814ba31409b31f5fcb53d Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 05:19:45 2015 +1100 xfs: pass xfsstats structures to handlers and macros This patch is the next step toward per-fs xfs stats. The patch makes the show and clear routines able to handle any stats structure associated with a kobject. Instead of a single global xfsstats structure, add kobject and a pointer to a per-cpu struct xfsstats. Modify the macros that manipulate the stats accordingly: XFS_STATS_INC, XFS_STATS_DEC, and XFS_STATS_ADD now access xfsstats->xs_stats. The sysfs functions need to get from the kobject back to the xfsstats structure which contains it, and pass the pointer to the ->xs_stats percpu structure into the show & clear routines. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a27c264009cb236dc209875043a0c237af46a1af Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 05:18:45 2015 +1100 xfs: consolidate sysfs ops As a part of the series to move xfs global stats from procfs to sysfs, this patch consolidates the sysfs ops functions and removes redundancy. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 50cf5b7402633265fe11430fd63af82c401fad46 Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 05:17:45 2015 +1100 xfs: remove unused procfs code As a part of the work to move xfs global stats from procfs to sysfs, this patch removes the now unused procfs code that was xfs stat specific. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 32f0ea05219e5212cafcbeaa255e627314f87e7e Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 05:16:45 2015 +1100 xfs: create symlink proc/fs/xfs/stat to sys/fs/xfs/stats As a part of the work to move xfs global stats from procfs to sysfs, this patch creates the symlink from proc/fs/xfs/stat to sys/fs/xfs/stats. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit bb230c124730f21eea13deab433f9f8fc96bd5f3 Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 05:15:45 2015 +1100 xfs: create global stats and stats_clear in sysfs Currently, xfs global stats are in procfs. This patch introduces (replicates) the global stats in sysfs. Additionally a stats_clear file is introduced in sysfs. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b3f3db9c39779e1ee0926d369adab78698aef267 Author: Adam Sampson <ats@xxxxxxxxx> Date: Sat Oct 10 13:52:52 2015 +0100 ARM: dts: sun7i: Correct USB regulators on pcDuino v3 Nano The LinkSprite pcDuino v3 Nano's two USB host ports are powered by a single RT9701GB regulator, which has its enable input tied to the A20's PD2 pin, pulled up to 3v3 via a 10k resistor. However, the script.bin that shipped with the device listed PH11 and PH3 as Vbus control pins for the two USB ports. Neither of these are actually connected to anything. Siarhei Siamashka spotted this problem while reviewing the other LinkSprite boards. This patch fixes it by only defining a single regulator, controlled by PD2. Testing shows that the USB ports are now (correctly) only powered up once the USB PHY driver is loaded. Reported-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Adam Sampson <ats@xxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit eeea0fa3c5ae45ea905fbf244291ec5440756fa1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 12:00:30 2015 +0200 ARM: sun5i: dt: Add UART3 CTS and RTS pins Add a separate pinctrl node for the UART3 CTS and RTS pins shared between the A10s and A13. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 6ef8c8bf4c05028407ae75173f5790e5957640d2 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 11:56:09 2015 +0200 ARM: sun5i: dt: Move uart3 pinctrl node to common DTSI The uart3 pins are shared between the A10s and A13, move the pinctrl node to the common DTSI to avoid duplication. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 49e4f3c3271e7eff2800596ba168c932d7d702b8 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 18 09:09:34 2015 +0200 ARM: sun5i: Add R8 DTSI The R8 is very close to the A13, but it still has a few differences, notably a composite output, which the A13 lacks. Add a DTSI based on the A13's to hold those differences. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 5d0c8b190a109e2ef17025aa0b341787ccddfc25 Author: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Date: Fri Oct 9 14:09:39 2015 +0300 ARM: dts: sun4i: Enable USB DRC on pcDuino1/2 Enable the otg/drc usb controller on the pcDuino1/2 board. Note that the pcDuino1 FEX file from the vendor contains the following information in the [usbc0] section: usb_id_gpio = port:PH04<0><1><default><default> usb_det_vbus_gpio = port:PH05<0><0><default><default> usb_drv_vbus_gpio = port:PB09<1><0><default><0> While the pcDuino2 FEX has: usb_id_gpio = port:PH04<0><1><default><default> usb_det_vbus_gpio = port:PH05<0><0><default><default> usb_drv_vbus_gpio = port:PD02<1><0><default><0> The ID pin is indeed PH4. The PD2 pin can be used to switch power on/off for the USB Type A receptacle on pcDuino2, but it has nothing to do with the MicroUSB OTG receptacle. The VBUS pin of the MicroUSB receptacle is always connected to 5V according to the schematics (both pcDuino1 and pcDuino2) and confirmed by doing some tests on pcDuino2. The PH5 pin is just one of the pins on the J8 expansion header and has nothing to do with USB OTG. The PB9 pin is pulled up and connected to the N_VBUSEN pin of AXP209 PMIC, while the VBUS pin of AXP209 only has a capacitor between it and the ground (this pin is not used for anything else). To sum it up. Only the ID pin (PH4) has a real use. And 5V voltage is always served to the MicroUSB OTG receptacle no matter what is the state of the PB9/PD2 pins. This patch has been tested on pcDuino2 to work fine in a host role with a USB keyboard connected via an OTG cable. It also works fine in a device role (cdc_ether) with a regular Micro-B cable connected to a desktop PC. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d6f17def06c461d3ad69caaac720ad1e552595e0 Author: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Date: Fri Oct 9 14:09:38 2015 +0300 ARM: sun4i: dt: Add new LinkSprite pcDuino2 board The LinkSprite pcDuino2 board is almost identical to the older LinkSprite pcDuino1 board according to the schematic pdf files. So we just include the existing "sun4i-a10-pcduino.dts" file and make the necessary adjustments. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 96521b72005feb41dfd014aced0ee6fba3ac0f58 Author: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Date: Fri Oct 9 14:09:37 2015 +0300 ARM: dts: sun4i: Allow to use the PH6 pin for GPIO on pcDuino1/2 The pcDuino1 board does not use any power switches at all for its two USB host ports and the VBUS pins are always connected to 5V. The pcDuino2 board uses the RT9701GB power switch for its single USB host port, but the USB_EN pin (PD2) is pulled up with a 10K resistor. So that the USB power is still enabled by default, resulting in the same behaviour as pcDuino1 if nobody touches the PD2 pin. This minor difference is going to be handled in a follow-up patch, introducing a separate dts file for pcDuino2. The primary reason for this fix is that the current dts file unnecessarily meddles with the PH3 and PH6 pins. But the PH6 pin is available on the Arduino-compatible expansion header and may have a better use for other purposes. This patch fixes the problem and now the PH6 pin can be used with the GPIO sysfs interface. Tested on a pcDuino2 board with a multimeter: echo 230 > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio230/direction echo 0 > /sys/class/gpio/gpio230/value echo 1 > /sys/class/gpio/gpio230/value USB still works as expected too. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit dcfd8443d89f593e0c667a988ab017e716b33061 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 15:36:01 2015 +0200 ARM: dts: sun7i: Enable USB DRC on Bananapi Enable the otg/drc usb controller on the Bananapi. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit a15b80fb0ad7ddab8d2668392cce3c12aff594bd Author: Timo Sigurdsson <public_timo.s@xxxxxxxxxxxxxx> Date: Thu Oct 8 00:18:36 2015 +0200 ARM: dts: sunxi: Add regulators for LeMaker BananaPi sun7i-a20-bananapi.dts doesn't contain regulator nodes for the AXP209 PMU driver, so add them to allow for voltage-scaling with cpufreq-dt. Also add board-specific OPP to use slightly higher voltages at lower frequencies since Kevin Hilman reported that not all BananaPi boards run stable at the default voltages inherited by sun7i-a20.dtsi. Signed-off-by: Timo Sigurdsson <public_timo.s@xxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit e8bd577ae6df59160cd6fd82b8d3562bbbdd3c1d Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:19 2015 +0900 ALSA: firewire-digi00x: add support for MIDI ports for physical controls In former commits, asynchronous transactions are supported for physical controls. This commit adds a pair of MIDI ports for them. This driver already adds diferrent number of ALSA MIDI ports for physical MIDI ports, and the number of in/out ports are different. As seeing as 'amidi' program in alsa-utils package, a pair of in/out MIDI ports is expected with the same name. Therefore, this commit adds a pair of new ports to the first. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b47f525f760f29c4689a7d9bf768c28fcaac2281 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:18 2015 +0900 ALSA: firewire-digi00x: add support of asynchronous transaction for outgoing MIDI messages to physical controls In previous commit, asynchronous transaction for incoming MIDI messages from physical controls is supported. The physical controls may be controlled by receiving MIDI messages at a certain address. This commit supports asynchronous transaction for this purpose. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3646a54acda65afdd76737d40c0994b991742e01 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:17 2015 +0900 ALSA: firewire-digi00x: add support of asynchronous transaction for incoming MIDI messages from physical controls Digi 00x series has two types of model; rack and console. The console models have physical controls. The model can transmit control messages. These control messages are transferred by asynchronous transactions to registered address. This commit supports the asynchronous transaction. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9fbfd38b204a3f04272183c0258a3ded03a5aae8 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:16 2015 +0900 ALSA: firewire-digi00x: add support for MIDI ports corresponding to isochronous packet streaming This commit adds MIDI functionality to capture/playback MIDI messages from/to physical MIDI ports. These messages are transferred in isochronous packets. When no substreams request AMDTP streams to run, this driver starts the streams at current sampling rate. When other substreams start at different sampling rate, the streams are stopped temporarily, then start again at requested sampling rate. This operation can generate missing MIDI bytes, thus it's preferable to start PCM substreams at favorite sampling rate in advance. Digi 002/003 console also has a set of MIDI port for physical controls. These ports are added in later commits. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9dc5d31cdceb5f1ee65edc8a41a5bc7c92d85dd5 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:15 2015 +0900 ALSA: firewire-digi00x: handle MIDI messages in isochronous packets In Digi 002/003 protocol, MIDI messages are transferred in the last data channel of data blocks. Although this data channel has a label of 0x80, it's not fully MIDI conformant data channel especially because the Counter field always zero independently of included MIDI bytes. The 4th byte of the data channel in LSB tells the number of included MIDI bytes. This byte also includes the number of MIDI port. Therefore, the data format in this data channel is: * 1st: 0x80 as label * 2nd: MIDI bytes * 3rd: 0 or MIDI bytes * 4th: the number of MIDI byte and the number of MIDI port This commit adds support of MIDI messages in data block processing layer. Like AM824 data format, this data channel has a capability to transfer more MIDI messages than the capability of phisical MIDI bus. Therefore, a throttle for data rate is required to prevent devices' internal buffer to overflow. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 17385a386ccae1b5a9a135c43493652b4dd82f61 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:14 2015 +0900 ALSA: firewire-digi00x: use in-kernel representation for the type of 8 bits Original code for 'DoubleOhThree' encoding was written with '__u8' type, while the type is usually used to export something to userspace. This commit replaces the type with 'u8'. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ac77423609aa499265a0ab75c497661bc7157f37 Author: Keith A. Milner <maillist@xxxxxxxxxxxxxxx> Date: Sun Oct 11 15:19:48 2015 +0100 ALSA: usb-audio: Allow any MIDI endpoint to drive use of interrupt transfer on newer Roland devices This patch enables interrupt transfer mode for MIDI ports on newer Boss/Roland devices such as the GT-100/001 which support interrupt transfer on both IN and OUT MIDI endpoints. Previously this wasn't being enabled for these devices as the code was specifically looking for the scenario where the IN endpoint supported interrupt transfer and the OUT endpoint was bulk transfer. Newer devices support interrupt transfer for both endpoints. This has been tested on Boss devices GT-001, BR-80 and JS-8 and Roland VS-20. It would benefit from some regresison testing with other devices if possible. Signed-off-by: Keith A. Milner <maillist@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2a7e1713cd652e7d2fdb54057fb6b2508cab15dc Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 22:33:50 2015 +0900 ALSA: firewire-lib: continue packet processing at detecting wrong CIP headers In firewire-lib, isochronous packet streaming is stopped when detecting wrong value for FMT field of CIP headers. Although this is appropriate to IEC 61883-1 and 6, some BeBoB based devices with vendors' customization use invalid value to FMT field of CIP headers in the beginning of streaming. $ journalctl snd-bebob fw1.0: Detect unexpected protocol: 01000000 8000ffff I got this log with M-Audio FireWire 1814. In this line, the value of FMT field is 0x00, while it should be 0x10 in usual AMDTP. Except for the beginning, these devices continue to transfer packets with valid value for FMT field, except for the beginning. Therefore, in this case, firewire-lib should continue to process packets. The former implementation of firewire-lib performs it. This commit loosens the handling of wrong value, to continue packet processing in the case. Fixes: 414ba022a528 ('ALSA: firewire-lib: add support arbitrary value for fmt/fdf fields in CIP header') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6b9866c893fc6a51e74df65fd9d9f851a3c2872e Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 11 08:10:55 2015 +0200 ALSA: bebob: constify various snd_bebob structures The structures of type snd_bebob_clock_spec, snd_bebob_rate_spec, snd_bebob_meter_spec, and snd_bebob_spec are never modified after they are initialized. Make them all const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Tested-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Reviewed-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 399910534cca5f00d22438e80ecc7ccc7f4b8a14 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:58 2015 +0200 iio:dac:m62332: use dynamic scale Some regulators can supply multiple voltages. To take changing voltages into account, the scale needs to be calculated on every read access. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit acf2f67d055c656938a3980a0745ed62fb7985c9 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:57 2015 +0200 iio:dac:m62332: address some style issues Fix some indentation issues and separate returns by empty lines (IIO style). Also rename the channel mask in _read_raw() to mask. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 11687d4aaeb074e0a51c8008c80a14c6b8937b3d Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:56 2015 +0200 iio:dac:m62332: drop unrequired variable A return variable is not required in _write_raw(), and dropping it reduces complexity, as well. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7d2da8eaa92585769dfbafe285b94c8f743510f6 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:55 2015 +0200 iio:dac:m62332: use ARRAY_SIZE Make use of ARRAY_SIZE to prevent buffer issues. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 847e3928de0998883219d7052cf4c049c21966e9 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:54 2015 +0200 iio:dac:m62332: shutdown on remove The regulator framework requests to balance regulator_enable() calls with regulator_disable() calls. To meet this requirement, set channels to 0 on remove, which implies a regulator_disable() call in case that channel was enabled. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 862a76acb2a033b886880fc70db19f00a036b4aa Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:53 2015 +0200 iio:dac:m62332: share scale and offset This device simply uses its Vcc as reference voltage, so the same scale applies for all channels. Also offset doesn't appear to be different for any channel. Represent this by switching these two attributes to info_mask_shared_by_type. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b94e22805a2224061bb263a82b72e09544a5fbb3 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 13:10:54 2015 +0200 iio: mxs-lradc: Fix temperature offset 0° Kelvin is actually â??273.15°C, not -272.15°C. Fix the temperature offset. Also improve the comment explaining the calculation. Reported-by: Janusz Użycki <j.uzycki@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Acked-by: Marek Vasut <marex@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d3a21ce0c60365991e59bbe848457c08f0c3c7ca Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sat Sep 26 23:18:57 2015 -0700 iio: hdc100x: correct IIO_CHAN_INFO_OFFSET value Previous offset wasn't applied in the correct order and invalid. This patchset fixes this issue, and also has the correct scale value applied to the offset. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 6bcfd7f8c28887a4298bc4386b02cb90c9fa0c13 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 11:16:48 2015 -0700 tcp: fix RFS vs lockless listeners Before recent TCP listener patches, we were updating listener sk->sk_rxhash before the cloning of master socket. children sk_rxhash was therefore correct after the normal 3WHS. But with lockless listener, we no longer dirty/change listener sk_rxhash as it would be racy. We need to correctly update the child sk_rxhash, otherwise first data packet wont hit correct cpu if RFS is used. Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Willem de Bruijn <willemb@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5010ea59e1b986d89023c0552fa38e32b519a617 Merge: 6e86ac1 8057b3e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 11 05:28:57 2015 -0700 Merge branch 'dsa-next' Vivien Didelot says: ==================== net: dsa: push switchdev prepare phase in FDB ops This patchset pushes the switchdev prepare phase for the FDB add and del operations down to the DSA drivers. Currently only mv88e6xxx is affected. Since the dump requires a bit of refactoring in the driver, it'll come in a future patchset. Changes in v2: * forward declare switchdev structs instead of fixing the dsa.h include. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8057b3e7a1cfb4da61717ba609e1ea642bb82f9b Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 11:35:14 2015 -0400 net: dsa: use switchdev obj in port_fdb_del For consistency with the FDB add operation, propagate the switchdev_obj_port_fdb structure in the DSA drivers. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f36faf26943f5f5fc1d1a7be6ce252d2ff25e1a Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 11:35:13 2015 -0400 net: dsa: push prepare phase in port_fdb_add Now that the prepare phase is pushed down to the DSA drivers, propagate it to the port_fdb_add function. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 146a32067b3fde1424d737d7fb333eb0951e6419 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 11:35:12 2015 -0400 net: dsa: add port_fdb_prepare Push the prepare phase for FDB operations down to the DSA drivers, with a new port_fdb_prepare function. Currently only mv88e6xxx is affected. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e86ac120e144154d345ebb5839d50b6f713149b Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Thu Oct 8 11:10:19 2015 -0400 net: encx24j600: Fix typos in Kconfig Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7bcfeead48b6f920007ee41bc70a83b58c5ba396 Merge: 8fae307 f640ee9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 11 05:15:30 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-10-08 Here's another set of Bluetooth & 802.15.4 patches for the 4.4 kernel. 802.15.4: - Many improvements & fixes to the mrf24j40 driver - Fixes and cleanups to nl802154, mac802154 & ieee802154 code Bluetooth: - New chipset support in btmrvl driver - Fixes & cleanups to btbcm, btmrvl, bpa10x & btintel drivers - Support for vendor specific diagnostic data through common API - Cleanups to the 6lowpan code - New events & message types for monitor channel Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fae307c8fe9789ff1f4161dcb2db0d689069448 Author: wangweidong <wangweidong1@xxxxxxxxxx> Date: Thu Oct 8 18:03:47 2015 +0800 BNX2: fix a Null Pointer for stats_blk we have two processes to do: P1#: ifconfig eth0 down; which will call bnx2_close, then will , and set Null to stats_blk P2#: ifconfig eth0; which will call bnx2_get_stats64, it will use stats_blk. In one case: --P1#-- --P2#-- stats_blk(no null) bnx2_free_mem ->bp->stats_blk = NULL GET_64BIT_NET_STATS then it will cause 'NULL Pointer' Problem. it is as well with 'ethtool -S ethx'. Allocate the statistics block at probe time so that this problem is impossible Signed-off-by: Wang Weidong <wangweidong1@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e446f9dfe17bbaa76a1fe22912636f38be1e1af8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 05:01:55 2015 -0700 net: synack packets can be attached to request sockets selinux needs few changes to accommodate fact that SYNACK messages can be attached to a request socket, lacking sk_security pointer (Only syncookies are still attached to a TCP_LISTEN socket) Adds a new sk_listener() helper, and use it in selinux and sch_fq Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported by: kernel test robot <ying.huang@xxxxxxxxxxxxxxx> Cc: Paul Moore <paul@xxxxxxxxxxxxxx> Cc: Stephen Smalley <sds@xxxxxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Acked-by: Paul Moore <paul@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21d11bd6f0f15c9c782d1f09557bb71f582a3f53 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 8 10:08:23 2015 +0530 cxgb4: Enhance driver to update FW, when FW is too old t4_check_fw_version() can return several error codes (-EINVAL, -EBUSY, -EAGAIN). The present code sets the adapter state to UNINIT only if its an EFAULT. In all the error cases set the adapter to uninitialized state. In t4_check_fw_version() if call to t4_get_fw_version() fails, repeat the operation a few times before returning failure. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff936a04e5f28b7e0455be0e7fa91334f89e4b44 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Oct 7 10:55:41 2015 -0700 bpf: fix cb access in socket filter programs eBPF socket filter programs may see junk in 'u32 cb[5]' area, since it could have been used by protocol layers earlier. For socket filter programs used in af_packet we need to clean 20 bytes of skb->cb area if it could be used by the program. For programs attached to TCP/UDP sockets we need to save/restore these 20 bytes, since it's used by protocol layers. Remove SK_RUN_FILTER macro, since it's no longer used. Long term we may move this bpf cb area to per-cpu scratch, but that requires addition of new 'per-cpu load/store' instructions, so not suitable as a short term fix. Fixes: d691f9e8d440 ("bpf: allow programs to write to certain skb fields") Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0cc598915fc787193ddb7401a11f80c17ccbabe4 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Oct 9 15:46:18 2015 +0200 soc: rockchip: Restrict to ARCH_ROCKCHIP By definition this directory contains drivers that are specific to the Rockchip architecture. All Kconfig options should therefore depend on ARCH_ROCKCHIP to avoid exposing these symbols on other architectures. For example, this options currently shows up as new when doing an incremental build on PowerPC. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> [add COMPILE_TEST alternative condition] Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e9849777d0e27cdd2902805be51da73e7c79578c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Oct 9 23:28:58 2015 +0200 genirq: Add flag to force mask in disable_irq[_nosync]() If an irq chip does not implement the irq_disable callback, then we use a lazy approach for disabling the interrupt. That means that the interrupt is marked disabled, but the interrupt line is not immediately masked in the interrupt chip. It only becomes masked if the interrupt is raised while it's marked disabled. We use this to avoid possibly expensive mask/unmask operations for common case operations. Unfortunately there are devices which do not allow the interrupt to be disabled easily at the device level. They are forced to use disable_irq_nosync(). This can result in taking each interrupt twice. Instead of enforcing the non lazy mode on all interrupts of a irq chip, provide a settings flag, which can be set by the driver for that particular interrupt line. Reported-and-tested-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1510092348370.6097@nanos commit 18a16b5e26c74dda2881c8f2977d702fd0e13fda Author: Hugo Camboulive <hugo.camboulive@xxxxxxxxx> Date: Sun Oct 4 16:30:45 2015 +0000 staging: iio: adc: fix comment block coding style issue This patch to ad7746.c makes the comment blocks end with a */ on a separate line, and start with a /* on an empty line. Signed-off-by: Hugo Camboulive <hugo.camboulive@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1b75ce658775c9131ea6689ffadcde2663983b6c Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:41 2015 +0200 Add ms8607 meas-spec driver support Support for MS8607 temperature, pressure & humidity sensor. This part is using functions from MS5637 for temperature and pressure and HTU21 for humidity Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 64a70c6502111a2d5bd1dd5eddfa33039aa897b7 Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:40 2015 +0200 Add ms5637 meas-spec driver support Support for MS5637 temperature & pressure sensor Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2b5c53d2c958bda92310d1b371a9314f4aa8c274 Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:39 2015 +0200 Add htu21 meas-spec driver support Support for HTU21 temperature & humidity sensor Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 53bf4d067d5115ac740bdc907023afe95e449fdd Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:38 2015 +0200 Add tsys02d meas-spec driver support Support for TSYS02D temperature sensor Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 374a3a3916a70fc6236bc2b8f8ac02548a128a54 Author: Borislav Petkov <bp@xxxxxxxxx> Date: Fri Oct 9 19:08:59 2015 +0200 x86/entry/64/compat: Document sysenter_fix_flags's reason for existence The code under the label can normally be inline, without the jumping back and forth but the latter is an optimization. Document that. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-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> Link: http://lkml.kernel.org/r/20151009170859.GA24266@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0ce423b6492a02be11662bfaa837dd16945aad3e Author: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Date: Sat Oct 3 23:26:07 2015 +0100 efi: Use the generic efi.memmap instead of 'memmap' Guenter reports that commit: 7bf793115dd9 ("efi, x86: Rearrange efi_mem_attributes()") breaks the IA64 compilation with the following error: drivers/built-in.o: In function `efi_mem_attributes': (.text+0xde962): undefined reference to `memmap' Instead of using the (rather poorly named) global variable 'memmap' which doesn't exist on IA64, use efi.memmap which points to the 'memmap' object on x86 and arm64 and which is NULL for IA64. The fact that efi.memmap is NULL for IA64 is OK because IA64 provides its own implementation of efi_mem_attributes(). Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Jonathan Zhang <zjzhang@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/20151003222607.GA2682@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fcf8ab690e3decf8335c51fdabea773a3f5ea026 Merge: 0e841b0 4f64cb6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Oct 11 10:04:51 2015 +0200 Merge tag 'gic-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core GIC updates for Linux 4.4 from Marc Zyngier: - Enable basic GICv3 support on 32bit ARM (mostly for running VMs with more than 8 virtual CPUs) - arm64 changes to deal with firmware limitations that forces a GICv3 to be used as a GICv2 - A GICv2m erratum workaround on Applied Micro X-Gene2 commit 3c0ed7d56d77b61f2177e8b72855ea32073c2091 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 20:49:23 2015 +0100 MAINTAINERS: add fpga manager framework Add fpga manager framework to MAINTAINERS and add myself as maintainer. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed392688b5312cd4f015b70669fb12c519218113 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Oct 6 12:47:18 2015 +0300 intel_th: Fix integer mismatch warnings Use unsigned long in place of size_t to operate on buffer sizes and offsets to clean up the 32 bit build. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0df771dedf67622b9135709fe4cbfb3222481997 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Oct 6 12:47:17 2015 +0300 stm class: Mark src::link __rcu Source device's link is protected with srcu, mark it as such to have proper build-time validation of accesses to this field. The update side that's dereferencing it under an update lock also needs an accessor to dereference this field to keep sparse happy. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aba54876bb38dde81abead1ed1936eb04fa30ca9 Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Sat Oct 10 09:36:17 2015 -0700 Input: xpad - query wireless controller state at init When we initialize the driver/device, we really don't know how many controllers are connected. So send a "query presence" command to the base-station. (Command discovered by Zachary Lund) Presence packet taken from: https://github.com/computerquip/xpad5 Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b8154002cbdfde1aed2f86bd27f5e2c7e832cabb Author: Pierre-Loup A. Griffais <pgriffais@xxxxxxxxxxxxxxxxx> Date: Sat Oct 10 09:34:17 2015 -0700 Input: xpad - move the input device creation to a new function To allow us to later create / destroy the input device from the urb callback, we need to initialize/ deinitialize the input device from a separate function. So pull that logic out now to make later patches more "obvious" as to what they do. Signed-off-by: "Pierre-Loup A. Griffais" <pgriffais@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5ee8bda943de20017636845a5c8d7069a4a283b8 Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Sat Oct 10 09:33:52 2015 -0700 Input: xpad - x360w: report dpad as buttons and axes as discussed here[0], x360w is the only pad that maps dpad_to_button. This is bad for downstream developers as they have to differ between x360 and x360w which is not intuitive. This patch implements the suggested solution of exposing the dpad both as axes and as buttons. This retains backward compatibility with software already dealing with the difference while makes new software work as expected across x360/ x360w pads. [0] http://www.spinics.net/lists/linux-input/msg34421.html Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 060081529c64cfa9baa2748a4b949159e700da0d Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Sat Oct 10 09:32:55 2015 -0700 Input: xpad - factor out URB submission in xpad_play_effect Move submission logic to a single point at the end of the function. This makes it easy to add locking/ queuing code later on. Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a306a65f46acb040d208523592a2d34f67d47a61 Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Tue Oct 6 17:07:31 2015 -0700 Input: xpad - remove needless bulk out URB used for LED setup This code was probably wrong ever since and is redundant with xpad_send_led_command. Both try to send a similar command to the xbox360 controller. However xpad_send_led_command correctly uses the pad_nr instead of bInterfaceNumber to select the led and re-uses the irq_out URB instead of creating a new one. Note that this change only affects the two supported wireless controllers. Tested using the xbox360 wireless controller (PC). Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e3b651745a03810efffd7ebf2a9b5be65fb70ec3 Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Sat Oct 10 10:00:49 2015 -0700 Input: xpad - use ida() for finding the pad_nr The pad_nr corresponds to the lit up LED on the controller. Therefore there should be no gaps when enumerating. Currently a LED is only re-assigned after a controller is re-connected 4 times. This patch uses ida to track connected pads - this way we can re-assign freed up pad number immediately. Consider the following case: 1. pad A is connected and gets pad_nr = 0 2. pad B is connected and gets pad_nr = 1 3. pad A is disconnected 4. pad A is connected again using ida_simple_get() controller A now correctly gets pad_nr = 0 again. Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 1f6f02b728eef0d937d5138ae60dbf8fbd045f3e Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Tue Oct 6 17:06:16 2015 -0700 Input: xpad - clarify LED enumeration Rename led_no -> pad_nr: the number stored there is not the LED number - it gets translated later on to a LED number in xpad_identify_controller; Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 470446ecef213b17b2c01df9879102948d77f999 Author: Dario Scarpa <dario.scarpa@xxxxxxxxxxx> Date: Tue Oct 6 17:04:36 2015 -0700 Input: xpad - fix Razer Atrox Arcade Stick button mapping The "Razer Atrox Arcade Stick" features 10 buttons, and two of them (LT/RT) don't work properly. Change its definition in xpad_device[] (mapping field) to fix. Signed-off-by: Dario Scarpa <dario.scarpa@xxxxxxxxxxx> Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 39a7a88872df98f0c3c50fe278fd1a1f597afd95 Author: Erik Lundgren <eriklundgren93@xxxxxxxxx> Date: Tue Oct 6 17:04:11 2015 -0700 Input: xpad - add Covert Forces edition of the Xbox One controller It is identical to the Xbox One controller but has a different product ID. Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 10fbb8f56b2f0c13e1f9da9aad45ede6a4c2fb51 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Oct 6 17:00:36 2015 -0700 Input: ft6236 - change module license string to match copyright notice The copyright/license notice says that the code is licensed under GPL v2 only (not GPL v2+), so let's use proper string in MODULE_LICENSE(). Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ee86395458072760d62e66aad10a5e9e8902b8cf Author: David Sterba <dsterba@xxxxxxxx> Date: Mon Feb 16 19:41:40 2015 +0100 btrfs: comment the rest of implicit barriers before waitqueue_active There are atomic operations that imply the barrier for waitqueue_active mixed in an if-condition. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 779adf0f647651f5a45eeee3442c881300ce989e Author: David Sterba <dsterba@xxxxxxxx> Date: Mon Feb 16 19:39:00 2015 +0100 btrfs: remove extra barrier before waitqueue_active Removing barriers is scary, but a call to atomic_dec_and_test implies a barrier, so we don't need to issue another one. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit a83342aa0c8f0ca90057d3837ae8d198186e5153 Author: David Sterba <dsterba@xxxxxxxx> Date: Mon Feb 16 19:36:47 2015 +0100 btrfs: add comments to barriers before waitqueue_active Reduce number of undocumented barriers out there. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 33a9eca7e4a4c2c17aebbb11f0e506a48ebc30c9 Author: David Sterba <dsterba@xxxxxxxx> Date: Sat Oct 10 18:35:10 2015 +0200 btrfs: comment waitqueue_active implied by locks Suggested-by: Chris Mason <clm@xxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit b666a9cd993c6a49c4bf23a1ed476359c978f60b Author: David Sterba <dsterba@xxxxxxxx> Date: Sat Oct 10 18:24:48 2015 +0200 btrfs: add barrier for waitqueue_active in clear_btree_io_tree waitqueue_active should be preceded by a barrier, in this function we don't need to call it all the time. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 730d9ec36bf27e87805aee6ebf462071735e31f9 Author: David Sterba <dsterba@xxxxxxxx> Date: Sat Oct 10 18:16:38 2015 +0200 btrfs: remove waitqueue_active check from btrfs_rm_dev_replace_unblocked Normally the waitqueue_active would need a barrier, but this is not necessary here because it's not a performance sensitive context and we can call wake_up directly. Suggested-by: Chris Mason <clm@xxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit a22fa28f85054c16e72f00e51673aeba28360eef Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Oct 10 10:20:17 2015 -0300 [media] DocBook: Remove kdapi.xml Now that the Demux kABI is documented at device-drivers.xml, remove it from the API docbook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit de08e701c6b9edb0e555da48a95c9250cbec3ea8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Oct 10 10:02:28 2015 -0300 [media] DocBook: Add documentation about the demux API There are several stuff at media's kdapi.xml that don't belong there, as it documents the Kernel internal ABI, and not the userspace API. Add the documentation here. The hole kdapi.xml will be removed on a latter patch, after we finish documenting what's there at the proper places. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9be91db2efcf749eb159c674915d38e5ac14682a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 8 17:33:47 2015 -0300 [media] demux.h: Convert MPEG-TS demux caps to an enum While we can't document #defines, documenting enums are well supported by kernel-doc. So, convert the bitmap defines into an enum. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0e6f2d1533bdd1ea08a15648e35ff4f8e0fcc612 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 8 17:21:48 2015 -0300 [media] demux.h: Convert TS filter type into enum The usage of #define at the kABI is fine, but it doesn't allow adding a proper description. As those defines deserve a proper documentation, let's convert them into an enum and document them at device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4be45fb467e1dd57255056527191d61d8d16e1b3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Oct 10 10:22:20 2015 -0300 [media] DocBook: document typedef dmx_section_cb at demux.h The dvb/kdapi.tmpl has already an extensive documentation about this callback. Now that we've added function typedefs at kernel-doc, add such documentation at demux.h, for it to appear at device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0cf35e8420dd26fac4ba08c67fab92076ea81809 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 8 17:05:11 2015 -0300 [media] DocBook: document typedef dmx_ts_cb at demux.h The dvb/kdapi.tmpl has already an extensive documentation about this callback. Now that we've added function typedefs at kernel-doc, add such documentation at demux.h, for it to appear at device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 837664528e17380cfacfb766de37df31572f07a0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 8 16:14:45 2015 -0300 kernel-doc: better format typedef function output A typedef function looks more likely a function and not a normal typedef. Change the code to use the output_function_*, in order to properly parse the function prototype parameters. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3a80a766328fe73df5951639b5c9013ddba6efec Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:21:44 2015 -0300 kernel-doc: Add a parser for function typedefs The current typedef parser only works for non-function typedefs. As we need to also document some function typedefs, add a parser for it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit abfc97f722348032c9b6b2cd8f464446aaac6a72 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Oct 7 16:27:24 2015 -0300 [media] demux.h: make checkpatch.ph happy There are lots of CodingStyle violations here. Now that we're touching a log on this header files, adding the documentation here, make sure that this will follow the Kernel CodingStyle. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 548e5ae0bd572509ee49e3684a20a3fa696181cb Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Oct 7 16:11:03 2015 -0300 [media] DocBook: document the other structs/enums of demux.h Document the following data types: struct dmx_ts_feed struct dmx_section_filter struct dmx_section_feed enum dmx_frontend_source struct dmx_frontend Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 80bea1897d7bc35e2b201847e12029a9d677cf12 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sat Oct 10 13:35:42 2015 +0200 drm/i915: Update DRIVER_DATE to 20151010 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 58b0497dad1abbe389af83e3d7706be584cf3ba2 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:07 2015 +0100 i2c: img-scb: verify support for requested bit rate The requested bit rate can be outside the range supported by the driver. The maximum bit rate this driver supports at the moment is 400Khz. If the requested bit rate is larger than the maximum supported by the driver, set the bitrate to the maximum supported before bitrate_khz is calculated. Maximum speed supported by the driver can be increased to 1Mhz by adding support for "fast plus mode" in the future. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1ed6faedfc9741cca2d97b25ab73902ba7177093 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:06 2015 +0100 i2c: img-scb: Clear line and interrupt status before starting a transfer Clear line status and all generated interrupts from the interrupt status register before starting a transfer, as we may have unserviced interrupts from previous transfers that might be handled in the context of the new transfer. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0f0a3189978c1bd38a36f97577c38fef861ebff5 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:05 2015 +0100 i2c: img-scb: use line_status instead of i2c->line_status i2c->line_status accumulates the line status bits that have been seen with each interrupt. As we're only interested in that bit from the current interrupt, refer to line_status (the argument to img_i2c_auto) instead of i2c->line_status. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 987008dbc48479af250cddda7f36e920a47ef54f Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:04 2015 +0100 i2c: img-scb: fix LOW and HIGH period values for the SCL clock Currently, after determining the minimum value for the High period (TCKH) the remainder of the internal clock pulses is set as the Low period (TCKL). This causes the i2c clock duty cycle to be much less than 50%. Modify the starting position to TCKH and TCKL at 50% of the internal clock, and adjusts the TCKH and TCKL values from there should the minimum value for TCKL not be met. This results in duty cycles closer to 50%. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5728d95f2458887ae3d95547c04352bba5080ad6 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:03 2015 +0100 i2c: img-scb: use DIV_ROUND_UP to round divisor values Using % can be slow depending on the architecture. Using DIV_ROUND_UP is nicer and more efficient way to do it. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2aefb1bd4101235be7d9f0d5ac8d56aa979f6081 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:02 2015 +0100 i2c: img-scb: do dummy writes before fifo access Move scb_wr_rd_fence to before reading from fifo and writing to fifo to make sure the the first read/write is done after the required number of cycles. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0e59378bc05b084939af54d2066552ac42fa0fee Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:01 2015 +0100 i2c: img-scb: enable fencing for all versions of the ip The code to read from the master read fifo, and write to the master write fifo, checks a bit in an SCB register before every byte to ensure that the fifo is not full (write fifo) or empty (read fifo). Due to clock domain crossing inside the SCB block the updated value of this bit is only visible after 2 cycles. The scb_wr_rd_fence() function does 2 dummy writes (to the read-only revision register), and it's called before reading from or writing to the fifos to ensure that subsequent reads of the fifo status bits do not read stale values. As the 2 dummy writes are required in all versions of the ip, the version check is dropped. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 809b6ecb53e35654d988f8f8f263a51ac6d10003 Author: Olaf Hering <olaf@xxxxxxxxx> Date: Fri Oct 2 09:50:45 2015 +0000 tools/thermal: tmon: use pkg-config also for CFLAGS The header <panel.h> might be in /usr/include/ncursesw, which is not part of the standard include path. This fixes compile on openSUSE. Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit e866a2e3950fe2f708d5cc67d641b1725ef7a708 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:45:31 2015 +0200 linux/thermal.h: rename KELVIN_TO_CELSIUS to DECI_KELVIN_TO_CELSIUS The macros KELVIN_TO_CELSIUS and CELSIUS_TO_KELVIN actually convert between deciKelvins and Celsius, so rename them to reflect that. While at it, use a statement expression in DECI_KELVIN_TO_CELSIUS to prevent expanding the argument multiple times and get rid of a few casts. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit a71544cd9373b879bbb40f55ce4d01556a4bc29e Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Aug 19 11:52:19 2015 +0530 thermal: cpu_cooling: Remove usage of devm functions In the function cpufreq_get_requested_power, the memory allocated for load_cpu is live within the function only. And after the allocation it is immediately freed with devm_kfree. There is no need to allocate memory for load_cpu with devm function so replace devm_kcalloc with kcalloc and devm_kfree with kfree. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 98cadf25dae234130994d9c71cd0d925db4b2a6a Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Mon Aug 3 04:13:16 2015 -0700 thermal: kconfig: select THERMAL_WRITABLE_TRIPS for x86 thermal After the commit "thermal: core: Add Kconfig option to enable writable trips", by default the trips are read only. This cause user space thermal controllers to poll for temperature as they can't set temperature thresholds for getting a notification via uevents. These programs use RW trip in a zone to register thresholds. Since we need to enable the new config introduced by above commit to allow writable trips, selecting CONFIG_THERMAL_WRITABLE_TRIP for x86 thermal drivers. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> commit 68d0d9794864a6bfbc6f88bb0ec980400bc17922 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Fri Oct 9 00:51:46 2015 +0600 x86/PCI: Make pci_subsys_init() static The pci_subsys_init() is a subsys_initcall that can be declared static. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 6066d8cdb6dd0fd51ccd96027f6ae8e6b3b5adff Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Oct 1 16:42:55 2015 -0700 f2fs: merge meta writes as many possible This patch tries to merge IOs as many as possible when background flusher conducts flushing the dirty meta pages. [Before] ... 2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 124320, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 124560, size = 32768 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 95720, size = 987136 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123928, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123944, size = 8192 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123968, size = 45056 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 124064, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 97648, size = 1007616 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123776, size = 8192 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123800, size = 32768 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 124624, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 99616, size = 921600 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123608, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123624, size = 77824 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123792, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123864, size = 32768 ... [After] ... f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 92168, size = 892928 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 93912, size = 753664 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 95384, size = 716800 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 96784, size = 712704 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 104160, size = 364544 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 104872, size = 356352 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 105568, size = 278528 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 106112, size = 319488 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 106736, size = 258048 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 107240, size = 270336 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 107768, size = 180224 ... Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 60b99b486b568c13cbb7caa83cf8a12af7665f1e Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 5 14:49:57 2015 -0700 f2fs: introduce a periodic checkpoint flow This patch introduces a periodic checkpoint feature. Note that, this is not enforcing to conduct checkpoints very strictly in terms of trigger timing, instead just hope to help user experiences. The default value is 60 seconds. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5c2674347466d5c2d5169214e95f4ad6dc09e9b6 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 5 11:32:34 2015 -0700 f2fs: add a tracepoint for background gc This patch introduces a tracepoint to monitor background gc behaviors. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6aefd93b01379bf0b62f8b38dcf7a21397893833 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 5 11:02:54 2015 -0700 f2fs: introduce background_gc=sync mount option This patch introduce background_gc=sync enabling synchronous cleaning in background. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 456b88e4d15de833165cce67c2cdf998139e2fc1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 5 22:24:19 2015 +0800 f2fs: introduce a new ioctl F2FS_IOC_WRITE_CHECKPOINT This patch introduce a new ioctl for those users who want to trigger checkpoint from userspace through ioctl. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d530d4d8e237f4d12c93bb76df40b69b8b8a1dcd Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 5 22:22:44 2015 +0800 f2fs: support synchronous gc in ioctl This patch drops in batches gc triggered through ioctl, since user can easily control the gc by designing the loop around the ->ioctl. We support synchronous gc by forcing using FG_GC in f2fs_gc, so with it, user can make sure that in this round all blocks gced were persistent in the device until ioctl returned. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3342bb303bf48dd8bb5ac94c3356489ff53e4d04 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 5 22:20:40 2015 +0800 f2fs: skip searching dirty map if dirty segment is not exist When searching victim during gc, if there are no dirty segments in filesystem, we will still take the time to search the whole dirty segment map, it's not needed, it's better to skip in this condition. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a43f7ec327b0d86cbb80d0841673038c0706e714 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 5 22:19:24 2015 +0800 f2fs: fix to avoid redundant searching in dirty map during gc When doing gc, we search a victim in dirty map, starting from position of last victim, we will reset the current searching position until we touch the end of dirty map, and then search the whole diryt map. So sometimes we will search the range [victim, last] twice, it's redundant, this patch avoids this issue. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5b7ee374144f8ef2db3e25d0d59a8ad83bb3cf33 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Sep 30 17:38:48 2015 +0800 f2fs: use atomic64_t for extent cache hit stat Our hit stat of extent cache will increase all the time until remount, and we use atomic_t type for the stat variable, so it may easily incur overflow when we query extent cache frequently in a long time running fs. So to avoid that, this patch uses atomic64_t for hit stat variables. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 39307a8e2459ecdee9f1bc0b8a5d7af4a6d8f754 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 22 13:50:47 2015 -0700 f2fs: use vmalloc to handle -ENOMEM error This patch introduces f2fs_kvmalloc to avoid -ENOMEM during mount. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ab126cfc3090fa5af2a87cc0698f793aebbec7d0 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Sep 18 17:33:00 2015 -0700 f2fs: should get a victim from retrials If we do not call get_victim first, we cannot get a new victim for retrial path. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 45fe8492ccbe561c4b8918c2d4c83a0501e50646 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 28 17:42:24 2015 +0800 f2fs: fix to correct freed section number during gc This patch fixes to maintain the right section count freed in garbage collecting when triggering a foreground gc. Besides, when a foreground gc is running on current selected section, once we fail to gc one segment, it's better to abandon gcing the left segments in current section, because anyway we will select next victim for foreground gc, so gc on the left segments in previous section will become overhead and also cause the long latency for caller. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 345a6b2ee2987a11bc8e9c08ff2b68a973fd912c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 28 17:46:01 2015 +0800 f2fs: fix to update {m,c}time correctly when truncating larger This patch fixes to update ctime and atime correctly when truncating larger in ->setattr. The bug is reported by xfstest generic/313 as below: generic/313 2s ... - output mismatch (see ./results/generic/313.out.bad) --- tests/generic/313.out 2015-08-04 15:28:53.430798882 +0800 +++ results/generic/313.out.bad 2015-09-28 17:04:27.294278016 +0800 @@ -1,2 +1,4 @@ QA output created by 313 Silence is golden +ctime not updated after truncate up +mtime not updated after truncate up ... (Run 'diff -u tests/generic/313.out tests/generic/313.out.bad' to see the entire diff) Ran: generic/313 Failures: generic/313 Failed 1 of 1 tests Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 90b803e6fb6243922bff9ddd8a6205c17cb93b31 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Sep 25 19:34:50 2015 -0700 f2fs: do not skip dentry block writes Previously, we skip dentry block writes when wbc is SYNC_NONE with no memory pressure and the number of dirty pages is pretty small. But, we didn't skip for normal data writes, which gives us not much big impact on overall performance. Moreover, by skipping some data writes, kworker falls into infinite loop to try to write blocks, when many dir inodes have only one dentry block. So, this patch removes skipping data writes. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7223554133c3f72809ea6ddbf0d8464e7c70c1b1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 25 17:54:56 2015 +0800 f2fs: remove unneeded f2fs_{,un}lock_op in do_recover_data() Protecting recovery flow by using cp_rwsem is not needed, since we have prevent triggering any checkpoint by locking cp_mutex previously. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1d7e10d58a1f62c8c44668cca1cff6a2dd57d7d9 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Sep 23 09:25:43 2015 +0800 f2fs: fix incorrect bimodal calculation In update_sit_info, we use div_u64 to handle 'u64 divide u64' case, but div_u64 can only handle 32-bits divisor, so our divisor with u64 type passed to div_u64 will overflow, result in the wrong calculation when show debug info of f2fs as below: BDF: 464, avg. vblocks: 23509 (BDF should never exceed 100) So change to use div64_u64 to handle this case correctly. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4abd3f5ac49314fe345566ec859b8e60993207bf Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Sep 22 21:07:47 2015 +0800 f2fs: introduce __try_update_largest_extent This patch adds a new helper __try_update_largest_extent for cleanup. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 545fe4210df5eb4097aa17c68f0f153db27bcf44 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Mon Sep 21 18:55:49 2015 -0400 f2fs: fix error handling for calls to various functions in the function recover_inline_data This fixes error handling for calls to various functions in the function recover_inline_data to check if these particular functions either return a error code or the boolean value false to signal their caller they have failed internally and if this arises return false to signal failure immediately to the caller of recover_inline_data as we cannot continue after failures to calling either the function truncate_inline_inode or truncate_blocks. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9cd81ce3c2f01fc599b9156b94b868b4f578698c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 18 16:55:26 2015 +0800 f2fs: disallow switch extent_cache option dynamically Swith extent_cache option dynamically when remount may casue consistency issue between extent cache and dnode page. Fix in this patch to avoid that condition. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 46c9e1413f3c4ecbbe775e545063e88feb1f9871 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 18 16:54:16 2015 +0800 f2fs: use correct flag in f2fs_map_blocks() We introduce F2FS_GET_BLOCK_READ in commit e2b4e2bc8865 ("f2fs: fix incorrect mapping for bmap"), but forget to use this flag in the right place, fix it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f9811703fefbdb22abf723ec61368777cdad8508 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 21 20:17:52 2015 +0800 f2fs: fix to handle io error in ->direct_IO Here is a oops reported as following message when testing generic/019 of xfstest: ------------[ cut here ]------------ kernel BUG at /home/yuchao/git/f2fs-dev/segment.c:882! invalid opcode: 0000 [#1] SMP Modules linked in: zram lz4_compress lz4_decompress f2fs(O) ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_def CPU: 2 PID: 25441 Comm: fio Tainted: G O 4.3.0-rc1+ #6 Hardware name: Hewlett-Packard HP Z220 CMT Workstation/1790, BIOS K51 v01.61 05/16/2013 task: ffff8803f4e85580 ti: ffff8803fd61c000 task.ti: ffff8803fd61c000 RIP: 0010:[<ffffffffa0784981>] [<ffffffffa0784981>] new_curseg+0x321/0x330 [f2fs] RSP: 0018:ffff8803fd61f918 EFLAGS: 00010246 RAX: 00000000000007ed RBX: 0000000000000224 RCX: 000000000000001f RDX: 0000000000000800 RSI: ffffffffffffffff RDI: ffff8803f56f4300 RBP: ffff8803fd61f978 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000024 R11: ffff8800d23bbd78 R12: ffff8800d0ef0000 R13: 0000000000000224 R14: 0000000000000000 R15: 0000000000000001 FS: 00007f827ff85700(0000) GS:ffff88041ea80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffff600000 CR3: 00000003fef17000 CR4: 00000000001406e0 Stack: 000007ea00000002 0000000100000001 ffff8803f6456248 000007ed0000002b 0000000000000224 ffff880404d1aa20 ffff8803fd61f9c8 ffff8800d0ef0000 ffff8803f6456248 0000000000000001 00000000ffffffff ffffffffa078f358 Call Trace: [<ffffffffa0785b87>] allocate_segment_by_default+0x1a7/0x1f0 [f2fs] [<ffffffffa078322c>] allocate_data_block+0x17c/0x360 [f2fs] [<ffffffffa0779521>] __allocate_data_block+0x131/0x1d0 [f2fs] [<ffffffffa077a995>] f2fs_direct_IO+0x4b5/0x580 [f2fs] [<ffffffff811510ae>] generic_file_direct_write+0xae/0x160 [<ffffffff811518f5>] __generic_file_write_iter+0xd5/0x1f0 [<ffffffff81151e07>] generic_file_write_iter+0xf7/0x200 [<ffffffff81319e38>] ? apparmor_file_permission+0x18/0x20 [<ffffffffa0768480>] ? f2fs_fallocate+0x1190/0x1190 [f2fs] [<ffffffffa07684c6>] f2fs_file_write_iter+0x46/0x90 [f2fs] [<ffffffff8120b4fe>] aio_run_iocb+0x1ee/0x290 [<ffffffff81700f7e>] ? mutex_lock+0x1e/0x50 [<ffffffff8120a1d7>] ? aio_read_events+0x207/0x2b0 [<ffffffff8120b913>] do_io_submit+0x373/0x630 [<ffffffff8120a4f6>] ? SyS_io_getevents+0x56/0xb0 [<ffffffff8120bbe0>] SyS_io_submit+0x10/0x20 [<ffffffff81703857>] entry_SYSCALL_64_fastpath+0x12/0x6a Code: 45 c8 48 8b 78 10 e8 9f 23 bf e0 41 8b 8c 24 cc 03 00 00 89 c7 31 d2 89 c6 89 d8 29 df f7 f1 29 d1 39 cf 0f 83 be fd ff ff eb RIP [<ffffffffa0784981>] new_curseg+0x321/0x330 [f2fs] RSP <ffff8803fd61f918> ---[ end trace 2e577d7f711ddb86 ]--- The reason is that: in the test of generic/019, we will trigger a manmade IO error in block layer through debugfs, after that, prefree segment will no longer be freed, because we always skip doing gc or checkpoint when there occurs an IO error. Meanwhile fio with aio engine generated a large number of direct IOs, which continue allocating spaces in free segment until we run out of them, eventually, results in panic in new_curseg as no more free segment was found. So, this patch changes to return EIO in direct_IO for this condition. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ea58711e884c3006e6f61e44d47f0c2d9f0979e1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Sep 17 20:22:44 2015 +0800 f2fs: do in batches truncation in truncate_hole truncate_data_blocks_range can do in batches truncation which makes all changes in dnode page content, dnode page status, extent cache, block count updating together. But previously, truncate_hole() always truncates one block in dnode page at a time by invoking truncate_data_blocks_range(,1), which make thing slow. This patch changes truncate_hole() to do in batches truncation for all target blocks in one direct node inside truncate_data_blocks_range, which can make our punch hole operation in ->fallocate more efficent. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4d1fa815f26ce92dc4710d28f50071174a2340b7 Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Thu Sep 17 18:42:06 2015 +0800 f2fs: optimize code of f2fs_update_extent_tree_range Fix 2 potential problems: 1. when largest extent needs to be invalidated, it will be reset in __drop_largest_extent, which makes __is_extent_same after always return false, and largest extent unchanged. Now we update it properly. 2. when extent is split and the latter part remains in tree, next_en should be the latter part instead of next extent of original extent. It will cause merge failure if there is in-place update, although there is not, I think this fix will still makes codes less ambiguous. This patch also simplifies codes of invalidating extents, and optimizes the procedues that split extent into two. There are a few modifications after last patch: 1. prev_en now is updated properly. 2. more codes and branches are simplified. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 41a099de3a8d2b570147445c5cddc59c0daf5e96 Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Thu Sep 17 18:24:17 2015 +0800 f2fs: drop largest extent by range now we update extent by range, fofs may not be on the largest extent if the new extent overlaps with it. so add a new function to drop largest extent properly. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a7230d16d5f8635dbc029af057969e46e3eb2246 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 16 14:06:54 2015 -0700 f2fs: check end_io for metapages before making next checkpoint blocks This patch avoids to produce new checkpoint blocks before the previous meta pages were written completely. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 569cf1876a32e574ba8a7fb825cd91bafd003882 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Sep 3 13:38:23 2015 -0700 f2fs crypto: allocate buffer for decrypting filename We got dentry pages from high_mem, and its address space directly goes into the decryption path via f2fs_fname_disk_to_usr. But, sg_init_one assumes the address is not from high_mem, so we can get this panic since it doesn't call kmap_high but kunmap_high is triggered at the end. kernel BUG at ../../../../../../kernel/mm/highmem.c:290! Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM ... (kunmap_high+0xb0/0xb8) from [<c0114534>] (__kunmap_atomic+0xa0/0xa4) (__kunmap_atomic+0xa0/0xa4) from [<c035f028>] (blkcipher_walk_done+0x128/0x1ec) (blkcipher_walk_done+0x128/0x1ec) from [<c0366c24>] (crypto_cbc_decrypt+0xc0/0x170) (crypto_cbc_decrypt+0xc0/0x170) from [<c0367148>] (crypto_cts_decrypt+0xc0/0x114) (crypto_cts_decrypt+0xc0/0x114) from [<c035ea98>] (async_decrypt+0x40/0x48) (async_decrypt+0x40/0x48) from [<c032ca34>] (f2fs_fname_disk_to_usr+0x124/0x304) (f2fs_fname_disk_to_usr+0x124/0x304) from [<c03056fc>] (f2fs_fill_dentries+0xac/0x188) (f2fs_fill_dentries+0xac/0x188) from [<c03059c8>] (f2fs_readdir+0x1f0/0x300) (f2fs_readdir+0x1f0/0x300) from [<c0218054>] (vfs_readdir+0x90/0xb4) (vfs_readdir+0x90/0xb4) from [<c0218418>] (SyS_getdents64+0x64/0xcc) (SyS_getdents64+0x64/0xcc) from [<c0105ba0>] (ret_fast_syscall+0x0/0x30) Cc: <stable@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 973163fc0ce07761eae671e895dc6747a3410fe7 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 18 16:51:51 2015 +0800 f2fs: reorganize f2fs_map_blocks In this patch, we try to reorganize f2fs_map_blocks to make block mapping flow more clear by using following structure: /* check status of mapping */ if (unmapped) { /* blkaddr == NULL_ADDR || blkaddr == NEW_ADDR */ if (create) { /* write path, handle dio write case here */ alloc_and_map; } else { /* * handle read cases from all call paths: * 1. generic read; * 2. dio read; * 3. fiemap; * 4. bmap */ } } /* map buffer_header */ Besides, this patch handles the missing case correctly for dio write: When we fail in __allocate_data_blocks, then in f2fs_map_blocks, we will not allocate blocks correctly for preallocated blocks, but returning with an unmapped buffer head, which will result in failure of dio write. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 514053e4543b33bbd74d8900f368df663cb03325 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 15 14:46:43 2015 -0700 f2fs: declare f2fs_update_extent_tree_range as static This function should be static. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9edcdabf36422d15d01db73b0fa5487e418beff6 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 11 14:43:52 2015 +0800 f2fs: fix overflow of size calculation We have potential overflow issue when calculating size of object, when we left shift index with PAGE_CACHE_SHIFT bits, if type of index has only 32-bits space in 32-bit architecture, left shifting will incur overflow, i.e: pgoff_t index = 0xFFFFFFFF; loff_t size = index << PAGE_CACHE_SHIFT; size: 0xFFFFF000 So we should cast index with 64-bits type to avoid this issue. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 100136acfb4023ab7dc899192e95aca9aedfe98a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 11 14:43:02 2015 +0800 f2fs: fix incorrect searching position when shrinking extent cache When shrinking extent cache, we have two steps in the flow: 1) shrink objects which are unreferenced by inodes; 2) shrink objects from LRU list of extent cache. In step 1, if we haven't shrunk enough number of objects, we will try step 2, but before that we didn't update the searching position which may point to last inode index in global extent tree, result in failing to shrink objects by traversing the all inodes' extent tree. In this patch, we reset searching position to beginning of global extent tree for fixing. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c998012b0bb93009d66349ea7e9747c968375e69 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 11 14:39:02 2015 +0800 f2fs: verify file type early in f2fs_fallocate This patch changes to verify file type early in f2fs_fallocate for cleanup, meanwhile this also fixes to add missing verification for expand_inode_data. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c5cd29d21cebc2e1802a9eea4cd940ddf9825ce1 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Sep 12 11:25:30 2015 -0700 f2fs: no need to lock for update_inode_page all the time As comment says, we don't need to call f2fs_lock_op in write_inode to prevent from producing dirty node pages all the time. That happens only when there is not enough free sections and we can avoid that by calling balance_fs in prior to that. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 25b93346a6b5542fd7de50555f8f0ddfc56d7443 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Sep 12 11:13:04 2015 -0700 f2fs: cover number of dirty node pages under node_write lock This number is referenced by checkpoint under node_write lock. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 538e17e7e96e14f76bb82dd83290a5315da70c3b Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Sun Sep 6 08:28:46 2015 -0400 f2fs: fix incorrect return statement in the function f2fs_ioc_release_volatile_write This fixes the incorrect return statement at the end of the function f2fs_ioc_release_volatile_write's body for returning zero as this is incorrect due to the function call before this return statement to the function punch_hole being able to fail and we should return this function's return fail directly in order to signal to callers of the function f2fs_ioc_release_volatile if a failure arises with this call to punch_hole fails. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 744288c7216bf5876f271c32516dfb66dedb0448 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Sun Sep 6 17:50:13 2015 +0800 f2fs: trace in batches extent info update Rename trace_f2fs_update_extent_tree to trace_f2fs_update_extent_tree_range, then expand and enable it to trace in batches extent info updates. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f6225c3a0c1f2ef908244c31b91d62066360ce1d Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 12:54:16 2015 -0700 PCI: generic: Fix address window calculation for non-zero starting bus Make the offset from the beginning of the "reg" property be from the starting bus number, rather than zero. Hoist the invariant size calculation out of the mapping for loop. Update host-generic-pci.txt to clarify the semantics of the "reg" property with respect to non-zero starting bus numbers. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> commit 8da4aba5bf9869f58d2a6bb30daaf54b2fa72569 Author: Roman Kubiak <r.kubiak@xxxxxxxxxxx> Date: Mon Oct 5 12:27:16 2015 +0200 Smack: pipefs fix in smack_d_instantiate This fix writes the task label when smack_d_instantiate is called, before the label of the superblock was written on the pipe's inode. Signed-off-by: Roman Kubiak <r.kubiak@xxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit d21b7b049c0c1753a10c1d01606f42bad0e0f733 Author: José Bollo <jobol@xxxxxxxxxxx> Date: Fri Oct 2 15:15:56 2015 +0200 Smack: Minor initialisation improvement This change has two goals: - delay the setting of 'smack_enabled' until it will be really effective - ensure that smackfs is valid only if 'smack_enabled' is set (it is already the case in smack_netfilter.c) Signed-off-by: José Bollo <jose.bollo@xxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 8b549ef42a26f4ef604a9ede84f0260103942727 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Sep 27 23:10:25 2015 +0800 smack: smk_ipv6_port_list should be static Fixes the following sparse warning: security/smack/smack_lsm.c:55:1: warning: symbol 'smk_ipv6_port_list' was not declared. Should it be static? Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 5f2bfe2f1de8b745dc294acaf2ca2ad68e09b374 Author: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Date: Tue Aug 25 12:39:46 2015 +0200 Smack: fix a NULL dereference in wrong smack_import_entry() usage 'commit e774ad683f42 ("smack: pass error code through pointers")' made this function return proper error codes instead of NULL. Reflect that. This is a fix for a NULL dereference introduced in 'commit 21abb1ec414c ("Smack: IPv6 host labeling")' echo "$SOME_IPV6_ADDR \"test" > /smack/ipv6host (this should return EINVAL, it doesn't) cat /smack/ipv6host (derefences 0x000a) Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 4f64cb65bf76fbd89c62d8e69c7bf75091950739 Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:19 2015 +0100 arm/arm64: KVM: Only allow 64bit hosts to build VGICv3 Hardware virtualisation of GICv3 is only supported by 64bit hosts for the moment. Some VGICv3 bits are missing from the 32bit side, and this patch allows to still be able to build 32bit hosts when CONFIG_ARM_GIC_V3 is selected. To this end, we introduce a new option, CONFIG_KVM_ARM_VGIC_V3, that is only enabled on the 64bit side. The selection is done unconditionally because CONFIG_ARM_GIC_V3 is always enabled on arm64. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 0b28f1db3dd2d4377c4a4dd8f85713ef44f11a25 Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:18 2015 +0100 ARM: virt: select ARM_GIC_V3 This patch allows ARM guests to use GICv3 on an arm64 host Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit d5cd50d318f70fc62cc2e1399f5f4a0803291395 Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:17 2015 +0100 ARM: add 32bit support to GICv3 Implement the system and memory-mapped register accesses in asm/arch_gicv3.h for 32bit architectures. This patch is a straightforward translation of the arm64 header. 64bit accesses are done in two times and don't need atomicity: TYPER is read-only, and the upper-word of IROUTER is always zero on 32bit architectures. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 72c971262f00185b4c6208812645c3feab4c77a3 Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:16 2015 +0100 irqchip/gic-v3: Specialize readq and writeq accesses On 32bit platforms, we cannot assure that an I/O ldrd or strd will be done atomically. Besides, an hypervisor would be unable to emulate such accesses. In order to allow the AArch32 version of the driver to split them into two 32bit accesses while keeping the requirement for atomic writes, this patch specializes the IROUTER and TYPER accesses. Since the latter is an ID register, it won't need to be read atomically, but we still avoid future confusion by using gic_read_typer instead of a generic gic_readq. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit f6c86a41e1dc2214363b00cc0eadb8a5401c892d Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:15 2015 +0100 irqchip/gic-v3: Change unsigned types for AArch32 compatibility This patch does a few simple compatibility-related changes: - change the system register access prototypes to their actual size, - homogenise mpidr accesses with unsigned long, - force the 64bit register values to unsigned long long. Note: the list registers are 64bit on GICv3, but the AArch32 vGIC driver will need to split their values into two 32bit registers: LRn and LRCn. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 7936e914f7b0827c2dcfe63fbefdc21de2d61dcb Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:14 2015 +0100 irqchip/gic-v3: Refactor the arm64 specific parts This patch moves the GICv3 system register access helpers to arch/arm64/. Their 32bit counterparts will need to use mrc/mcr accesses instead of mrs_s/msr_s. [maz: fixed conflict with Cavium erratum handling] Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5527e73305e8a9958b00331902a27514e62d539b Author: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Date: Thu Aug 20 10:00:01 2015 +0200 usb: gadget: composite: fill bcdUSB for any gadget max speed When handling device GET_DESCRIPTOR, composite gadget driver fills the bcdUSB field only if the gadget supports USB 3.0. Otherwise the field is left unfilled. For consistency, set bcdUSB to 0x0200 for gadgets that don't support superspeed. It's correct to use 0x0200 for any setting that doesn't use superspeed, since USB 2.0 devices can restrict themselves to full speed only. It is NOT correct to use 0x0210, since BOS descriptors are handled only if gadget_is_superspeed() is satisfied, otherwise it results in a stall. Signed-off-by: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f301fe22bab90a0377096bfd831ef7c99ece1a40 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Sep 20 17:02:19 2015 -0400 musb: sunxi: Make sunxi musb glue work without MUSB_PIO_ONLY Now that it is possible to build in multiple dma engines, we can no longer require MUSB_PIO_ONLY to be set when using the sunxi musb glue. This patch adds dummy dma hooks to make the musb glue work without MUSB_PIO_ONLY. This hooks are fake because we do not support dma with musb on sunxi. The Allwinnner Android kernels have some dma code, but it is disabled as Allwinner never managed to get it to work. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 708ca4084126692707cca379dc6fb61913a07183 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:13 2015 +0200 i2c: rcar: clean up after refactoring Update the comments to match current behaviour. Shorten some comments. Update copyrights. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e5a7effa09e257436ab2cd633f80db3f78c684df Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:12 2015 +0200 i2c: rcar: revoke START request early If we don't clear START generation as soon as possible, it may cause another message to be generated. To keep the race window as small as possible, we clear it right at the beginning of the interrupt. We don't need checking since we always want to stop START and STOP generation on the next occasion after we started it. This patch improves the situation but sadly does not completely fix it. It is still to be researched if we can do better given this HW design. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2151ba7584b73255ae057892bb9c2de358af9502 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:11 2015 +0200 i2c: rcar: check master irqs before slave irqs Due to broken HW design, master IRQs are more timing critical, so give them precedence over slave IRQ. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 315a1736a2f2d9ad21dddea6bed766469342c2dc Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:10 2015 +0200 i2c: rcar: don't issue stop when HW does it automatically The manual says (55.4.8.6) that HW does automatically send STOP after NACK was received. My measuerments confirm that. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2bc3c5a8631db6d88f3a83188b069ca46b301315 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:09 2015 +0200 i2c: rcar: init new messages in irq Setting up new messages was done in process context while handling a message was in interrupt context. Because of the HW design, this IP core is sensitive to timing, so the context switches were too expensive. Move this setup to interrupt context as well. In my test setup, this fixed the occasional 'data byte sent twice' issue which a number of people have seen. It also fixes to send REP_START after a read message which was wrongly send as a STOP + START sequence before. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 344beeb23bfc11502fc54875f37ccdf51b6639b9 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:08 2015 +0200 i2c: rcar: refactor setup of a msg We want to reuse this function later. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 738206dec9354817e37c6cddb3eae278b4d7e7ba Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:07 2015 +0200 i2c: rcar: remove spinlock We make sure to reinit the HW in the timeout case; then we know that interrupts are always disabled in the sections protected by the spinlock. Thus, we can simply remove it which is a preparation for further refactoring. While here, rename the timeout variable to time_left which is way more readable. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 59daef909d9ac2ca4d08389bf816a9ad3bf8c350 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:06 2015 +0200 i2c: rcar: remove unused IOERROR state Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 93c659d820ef291f6ca5e628f44b26cfb2226aba Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:05 2015 +0200 i2c: rcar: rework hw init We don't need to init HW before every transfer since we know the HW state then. HW init at probe time is enough. While here, add setting the clock register which belongs to init HW. Also, set MDBS bit since not setting it is prohibited according to the manual. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ee5f7d6462c56ba083d5d80aa0d69914068a59ae Author: Duc Dang <dhdang@xxxxxxx> Date: Tue Oct 6 15:32:38 2015 -0700 irqchip/gic-v2m: Add workaround for APM X-Gene GICv2m erratum APM X-Gene GICv2m implementation has an erratum where the MSI data needs to be the offset from the spi_start in order to trigger the correct MSI interrupt. This is different from the standard GICv2m implementation where the MSI data is the absolute value within the range from spi_start to (spi_start + num_spis) of each v2m frame. This patch reads MSI_IIDR register (present in all GICv2m implementations) to identify X-Gene GICv2m implementation and apply workaround to change the data portion of MSI vector. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 6d32ab2d8a982ffd46c4dcad9739292f57bc26de Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Sep 30 12:05:17 2015 +0100 arm64: Update booting requirements for GICv3 in GICv2 mode The current requirements do not describe the case where a GICv3 system gets booted with system register access disabled, and expect the kernel to drive GICv3 in GICv2 mode. Describe the expected settings for that particular case. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 76e52dd01cabc340c1a58f540c9d6bf0e79c6b23 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Sep 30 12:01:16 2015 +0100 irqchip/gic: Warn if GICv3 system registers are enabled When using a GICv3 in compatibility (v2) mode, having GICv3 system register access enabled is not really compliant with the architecture. Warn if the firmware (or the hypervisor) has been lazy. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 963fcd40958711cecf9e9a1a8525f88b782d6a98 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Sep 30 11:50:04 2015 +0100 arm64: cpufeatures: Check ICC_EL1_SRE.SRE before enabling ARM64_HAS_SYSREG_GIC_CPUIF As the firmware (or the hypervisor) may have disabled SRE access, check that SRE can actually be enabled before declaring that we do have that capability. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 7cabd0086acd8f204d9b11a9b0aca90d6a9fcc5b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Sep 30 11:48:01 2015 +0100 irqchip/gic-v3: Make gic_enable_sre an inline function In order for gic_enable_sre to be used by the arm64 core code, move it to arm-gic-v3.h. As a bonus, we now also check if system registers have been already enabled, and return early if they have. In all cases, the function now returns a boolean indicating if the enabling has been successful. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit d271976dbb31c3ac5653745d03d68c4235d34119 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Sep 30 11:39:59 2015 +0100 arm64: el2_setup: Make sure ICC_SRE_EL2.SRE sticks before using GICv3 sysregs Contrary to what was originally expected, EL3 firmware can (for whatever reason) disable GICv3 system register access. In this case, the kernel explodes very early. Work around this by testing if the SRE bit sticks or not. If it doesn't, abort the GICv3 setup, and pray that the firmware has passed a DT that doesn't contain a GICv3 node. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 94218ee31ba56fb3a8625978b393124ad660408e Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Oct 2 20:32:17 2015 -0700 usb: dwc3: pci: Set enblslpm quirk for Synopsys platforms Certain Synopsys prototyping PHY boards are not able to meet timings constraints for LPM. This allows the PHY to meet those timings by leaving the PHY clock running during suspend. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ec791d149bca4511e7d3a6a92bb3b030c5a443f9 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Oct 2 20:30:57 2015 -0700 usb: dwc3: Add dis_enblslpm_quirk Add a quirk to clear the GUSB2PHYCFG.ENBLSLPM bit, which controls whether the PHY receives the suspend signal from the controller. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bb7f3d6d323a56b9c3b3e727380d1395a7f10107 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Sat Sep 26 00:11:15 2015 -0700 usb: dwc3: pci: Add platform data for Synopsys HAPS Add platform data and set usb3_lpm_capable and has_lpm_erratum. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9a5a0783e4910d9e2063e87184fbd9cac7161a16 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Sep 25 23:47:53 2015 -0700 usb: dwc3: pci: trivial: Formatting Fix the alignment of the PCI device definitions. Also change the hex digit capitalization of one constant to make it consistent with the rest of the file and driver. Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 690fb3718a70c66004342f6f5e2e8a5f95b977db Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Sep 4 19:15:10 2015 -0700 usb: dwc3: Support Synopsys USB 3.1 IP This patch allows the dwc3 driver to run on the new Synopsys USB 3.1 IP core, albeit in USB 3.0 mode only. The Synopsys USB 3.1 IP (DWC_usb31) retains mostly the same register interface and programming model as the existing USB 3.0 controller IP (DWC_usb3). However the GSNPSID and version numbers are different. Add checking for the new ID to pass driver probe. Also, since the DWC_usb31 version number is lower in value than the full GSNPSID of the DWC_usb3 IP, we set the high bit to identify DWC_usb31 and to ensure the values are higher. Finally, add a documentation note about the revision numbering scheme. Any future revision checks (for STARS, workarounds, and new features) should take into consideration how it applies to both the 3.1/3.0 IP. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e8095a25364a30216ad40dbe8893ed5c3c235949 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Aug 7 11:47:25 2015 -0700 usb: dwc3: pci: Add the PCI Product ID for Synopsys USB 3.1 This adds the PCI product ID for the Synopsys USB 3.1 IP core (DWC_usb31) on a HAPS-based PCI development platform. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 41adc59caece02aa2e988a0e8f9fe8e6f426f82e Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Aug 7 11:04:14 2015 -0700 usb: dwc3: pci: Add the Synopsys HAPS AXI Product ID This ID is for the Synopsys DWC_usb3 core with AXI interface on PCIe HAPS platform. This core has the debug registers mapped at a separate BAR in order to support enhanced hibernation. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 538ea4aa44737127ce2b5c8511c7349d2abdcf9c Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Oct 5 20:35:56 2015 -0400 pmem, memremap: convert to numa aware allocations Given that pmem ranges come with numa-locality hints, arrange for the resulting driver objects to be obtained from node-local memory. Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 7eff93b7c99f5d0024aee677c6c92e32af22e1d2 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Oct 5 20:35:55 2015 -0400 devm_memremap_pages: use numa_mem_id Hint to closest numa node for the placement of newly allocated pages. As that is where the device's other allocations will originate by default when it does not specify a NUMA node. Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 7c683941f30a977c10ec6be174ec5f16939c7ce5 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Oct 5 20:35:55 2015 -0400 devm: make allocations numa aware by default Given we already have a device just use dev_to_node() to provide hint allocations for devres. However, current devres_alloc() users will need to explicitly opt-in with devres_alloc_node(). Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit b36f47617f6ce7c5e8e7c264b9d9ea0654d9f20a Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Sep 15 02:42:20 2015 -0400 devm_memremap: convert to return ERR_PTR Make devm_memremap consistent with the error return scheme of devm_memremap_pages to remove special casing in the pmem driver. Cc: Christoph Hellwig <hch@xxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit d741314fe8318c1af497b8cf04ea3976b9509eca Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Sep 15 02:37:48 2015 -0400 devm_memunmap: use devres_release() Remove open coded call to memunmap. Cc: Christoph Hellwig <hch@xxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit a639315d6c536c806724c9328941a2517507e3e3 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Sep 15 02:14:03 2015 -0400 pmem: kill memremap_pmem() Now that the pmem-api is defined as "a set of apis that enables access to WB mapped pmem", the mapping type is implied. Remove the wrapper and push the functionality down into the pmem driver in preparation for adding support for direct-mapped pmem. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit c9cdaeb2027e535b956ff69f215522d79f6b54e3 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Sep 17 16:27:57 2015 -0400 x86, mm: quiet arch_add_memory() Switch to pr_debug() so that dynamic-debug can disable these messages by default. This gets noisy in the presence of devm_memremap_pages(). Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 0e841b04c829f59a5d5745f98d2857f48882efe9 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Oct 6 00:42:14 2015 +0800 irqchip/sunxi-nmi: Switch to of_io_request_and_map() from of_iomap() Switch to the new of_io_request_and_map() call, so the IO resource is properly held, and also shows up in /proc/iomem. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444063334-19832-3-git-send-email-wens@xxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2d6caaed0997f335ce341703083c989c91ad76f4 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Oct 6 00:42:13 2015 +0800 irqchip/sunxi-nmi: Use driver name instead of DT node name for identification The device tree node name is typically "interrupt-controller", which is rather useless when used in printk messages and irq chip names for identification purposes. Use the driver name "sunxi-nmi" instead. While at it move the identifier from pr_err() calls to the pr_fmt macro. Also remove the "__func__" identifier from the error message in the interrupt type setting callback, sunxi_sc_nmi_set_type(). The driver name in the pr_fmt macro should be enough. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444063334-19832-2-git-send-email-wens@xxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fcf1ae2f7a044cda9956ec7afb487296afff058e Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Sat Oct 3 16:20:38 2015 +0800 genirq: Make irq_set_vcpu_affinity available for CONFIG_SMP=n irq_set_vcpu_affinity() is needed when CONFIG_SMP=n, so move the definition out of "#ifdef CONFIG_SMP" Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Cc: jiang.liu@xxxxxxxxxxxxxxx Cc: pbonzini@xxxxxxxxxx Link: http://lkml.kernel.org/r/1443860438-144926-1-git-send-email-feng.wu@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e509bd7da149dc34916037484cd7545b2d48a2b0 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Oct 5 13:12:15 2015 +0300 genirq: Allow migration of chained interrupts by installing default action When a CPU is offlined all interrupts that have an action are migrated to other still online CPUs. However, if the interrupt has chained handler installed this is not done. Chained handlers are used by GPIO drivers which support interrupts, for instance. When the affinity is not corrected properly we end up in situation where most interrupts are not arriving to the online CPUs anymore. For example on Intel Braswell system which has SD-card card detection signal connected to a GPIO the IO-APIC routing entries look like below after CPU1 is offlined: pin30, enabled , level, low , V(52), IRR(0), S(0), logical , D(03), M(1) pin31, enabled , level, low , V(42), IRR(0), S(0), logical , D(03), M(1) pin32, enabled , level, low , V(62), IRR(0), S(0), logical , D(03), M(1) pin5b, enabled , level, low , V(72), IRR(0), S(0), logical , D(03), M(1) The problem here is that the destination mask still contains both CPUs even if CPU1 is already offline. This means that the IO-APIC still routes interrupts to the other CPU as well. We solve the problem by providing a default action for chained interrupts. This action allows the migration code to correct affinity (as it finds desc->action != NULL). Also make the default action handler to emit a warning if for some reason a chained handler ends up calling it. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444039935-30475-1-git-send-email-mika.westerberg@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c4a8ea9e0698945b182ba1e1063a0981b1f35139 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 14 12:13:44 2015 -0700 ARM: brcmstb: Setup BIU control registers during boot Call brcmstb_biuctrl_init() in brcmstb's init_irq machine descriptor callback since we need to setup the Bus Interface Unit before SMP in particular, but we also need to be able to remap registers. Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 9a764234eee689ea800424ab99b08ff07a8bdbcd Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 14 12:09:34 2015 -0700 soc: brcmstb: Add Bus Interface Unit control setup Broadcom STB SoCs (brcmstb) require an early setup of their Bus Interface Unit control register, this needs to happen before SMP is brought up because it affects how the CPU complex will be interfaced to the memory controller. Add support code which properly initializes the BIU registers based on whether "brcm,write-pairing" is present in Device Tree, and take care of saving and restoring credit register settings during system-wide suspend/resume operations. Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit a6eed752f5fb40990eb28fddb2b93258fb7e3be0 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 21 19:26:02 2015 +0300 PM / OPP: passing NULL to PTR_ERR() The code was using PTR_ERR(NULL) which causes a static checker warning. I have fixed up the printks and changed the return to -ENOENT. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 72e1eed8abb11c79749266d433c817ce36732893 Author: Dmitry Kasatkin <dmitry.kasatkin@xxxxxxxxx> Date: Thu Sep 10 22:06:15 2015 +0300 integrity: prevent loading untrusted certificates on the IMA trusted keyring If IMA_LOAD_X509 is enabled, either directly or indirectly via IMA_APPRAISE_SIGNED_INIT, certificates are loaded onto the IMA trusted keyring by the kernel via key_create_or_update(). When the KEY_ALLOC_TRUSTED flag is provided, certificates are loaded without first verifying the certificate is properly signed by a trusted key on the system keyring. This patch removes the KEY_ALLOC_TRUSTED flag. Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.19+ Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 3380f4589f6d9725e275525fd0580c8ee2b5cbbc Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 9 18:57:06 2015 +0200 blk-mq: remove unused blk_mq_clone_flush_request prototype Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8ee1b7b9d8761a7b1a0f37a6e596b5315d27d2f2 Author: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Date: Fri Oct 9 00:35:38 2015 +0000 blk-mq: fix waitqueue_active without memory barrier in block/blk-mq-tag.c blk_mq_tag_update_depth() seems to be missing a memory barrier which might cause the waker to not notice the waiter and fail to send a wake_up as in the following figure. blk_mq_tag_update_depth bt_get ------------------------------------------------------------------------ if (waitqueue_active(&bs->wait)) /* The CPU might reorder the test for the waitqueue up here, before prior writes complete */ prepare_to_wait(&bs->wait, &wait, TASK_UNINTERRUPTIBLE); tag = __bt_get(hctx, bt, last_tag, tags); /* Value set in bt_update_count not visible yet */ bt_update_count(&tags->bitmap_tags, tdepth); /* blk_mq_tag_wakeup_all(tags, false); */ bt = &tags->bitmap_tags; wake_index = atomic_read(&bt->wake_index); ... io_schedule(); ------------------------------------------------------------------------ This patch adds the missing memory barrier. I found this issue when I was looking through the linux source code for places calling waitqueue_active() before wake_up*(), but without preceding memory barriers, after sending a patch to fix a similar issue in drivers/tty/n_tty.c (Details about the original issue can be found here: https://lkml.org/lkml/2015/9/28/849). Signed-off-by: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2812dfe370516ef958b5c9e2eca1b2f002236d2d Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 9 18:19:20 2015 +0200 nvme: include <linux/types.Ä¥> in <linux/nvme.h> The buildbot complains about this even if it doesn't generate a a build warning. But it's an easy fix, so here we go: Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 57dacad5f2288e3de91f99b29f07b4a2793446d2 Author: Jay Sternberg <jay.e.sternberg@xxxxxxxxx> Date: Fri Oct 9 18:17:06 2015 +0200 nvme: move to a new drivers/nvme/host directory This patch moves the NVMe driver from drivers/block/ to its own new drivers/nvme/host/ directory. This is in preparation of splitting the current monolithic driver up and add support for the upcoming NVMe over Fabrics standard. The drivers/nvme/host/ is chose to leave space for a NVMe target implementation in addition to this host side driver. Signed-off-by: Jay Sternberg <jay.e.sternberg@xxxxxxxxx> [hch: rebased, renamed core.c to pci.c, slight tweaks] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 08c69640cfcbdcc7aaed31c05bbfaf03bb60611c Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 15:27:16 2015 +0200 nvme.h: add missing nvme_id_ctrl endianess annotations Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 9d99a8dda154f38307d43d9c9aa504bd3703d596 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 15:25:49 2015 +0200 nvme: move hardware structures out of the uapi version of nvme.h Currently all NVMe command and completion structures are exposed to userspace through the uapi version of nvme.h. They are not an ABI between the kernel and userspace, and will change in C-incompatible way for future versions of the spec. Move them to the kernel version of the file and rename the uapi header to nvme_ioctl.h so that userspace can easily detect the presence of the new clean header. Nvme-cli already carries a local copy of the header, so it won't be affected by this move. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f11bb3e244c4b14e2d0a3b9d7e41895752997170 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:46:41 2015 +0200 nvme: add a local nvme.h header Add a new drivers/block/nvme.h which contains all the driver internal interface. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2659e57b906562bb020fb093b0c1b670b9700314 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 18:51:31 2015 +0200 nvme: properly handle partially initialized queues in nvme_create_io_queues This avoids having to clean up later in a seemingly unrelated place. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3cf519b5a8d4d067e3de19736283c9414402d3a2 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 09:49:23 2015 +0200 nvme: merge nvme_dev_start, nvme_dev_resume and nvme_async_probe And give the resulting function a sensible name. This keeps all the error handling in a single place and will allow for further improvements to it. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 90667892c5a78b47080359883a569a260e9e87ed Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 18:49:23 2015 +0200 nvme: factor reset code into a common helper Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 77b50d9e15e113fdb871218aa0f2e3bed12ee731 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 17:41:18 2015 +0200 nvme: merge nvme_dev_reset into nvme_reset_failed_dev And give the resulting function a more descriptive name. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 201cf1ecdfe5ea2774cbb21d4214c98ec8b418de Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 18:48:36 2015 +0200 nvme: delete dev from dev_list in nvme_reset Device resets need to delete the device from the device list before kicking of the reset an re-probe, otherwise we get the device added to the list twice. nvme_reset is the only side missing this deletion at the moment, and this patch adds it. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0a7385ad69f0f210c5cfbfd334b42423a6e05e5a Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Fri Oct 2 10:37:29 2015 -0600 NVMe: Simplify device resume on io queue failure Releasing IO queues and disks was done in a work queue outside the controller resume context to delete namespaces if the controller failed after a resume from suspend. This is unnecessary since we can resume a device asynchronously. This patch makes resume use probe_work so it can directly remove namespaces if the device is manageable but not IO capable. Since the deleting disks was the only reason we had the convoluted "reset_workfn", this patch removes that unnecessary indirection. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5105aa555c1c681ae281ea0d6108efd0a5d8a5e8 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Fri Oct 2 10:37:28 2015 -0600 NVMe: Namespace removal simplifications This liberates namespace removal from the device, allowing gendisk references to be closed independent of the nvme controller reference count. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 188c3568f814fea965947ed24739987ba9c5a87e Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Thu Oct 1 17:14:10 2015 -0600 NVMe: Reference count open namespaces Dynamic namespace attachment means the namespace may be removed at any time, so the namespace reference count can not be tied to the device reference count. This fixes a NULL dereference if an opened namespace is detached from a controller. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 217d453d473c5ddfd140a06bf9d8575218551020 Author: Yang Yingliang <yangyingliang@xxxxxxxxxx> Date: Thu Sep 24 17:32:14 2015 +0800 arm64: fix a migrating irq bug when hotplug cpu When cpu is disabled, all irqs will be migratged to another cpu. In some cases, a new affinity is different, the old affinity need to be updated and if irq_set_affinity's return value is IRQ_SET_MASK_OK_DONE, the old affinity can not be updated. Fix it by using irq_do_set_affinity. And migrating interrupts is a core code matter, so use the generic function irq_migrate_all_off_this_cpu() to migrate interrupts in kernel/irq/migration.c. Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 54ef2b96879334caf8803fdd93b4c556d709d6fd Merge: f7e7868 fd48ca3 Author: Jens Axboe <axboe@xxxxxx> Date: Fri Oct 9 10:40:29 2015 -0600 Merge branch 'for-4.4/core' into for-4.4/drivers Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d1a082cc2512f4ddaff5e1f35bc831773c08a7fe Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:38 2015 +0100 PCI: mvebu: Remove code restricting accesses to slot 0 Now that we advertise a PCIe capability, the Linux PCI layer will not scan the bus for devices other than in slot 0. This makes the work-around to trap accesses to devices other than slot 0 unnecessary. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit dc0352ab0b2a0c0c4fd11be89b83f4c693a8f662 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:33 2015 +0100 PCI: mvebu: Add PCI Express root complex capability block Add a PCI Express root complex capability block so the PCI layer identifies the bridge as a PCI Express device. We expose this as a version 1 PCIe capability block, with slot support. We disable the clock power management capability as this depends on boards wiring the CLKREQ# signal. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit d609a8d8e88a4292a0b4c42d1c942f8d088a6ebf Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:27 2015 +0100 PCI: mvebu: Improve clock/reset handling Add an implementation to handle clock and reset handling that is compliant with the PCIe specification. The clock should be running and stable for 100us prior to reset being released, and we should re-assert reset prior to stopping the clock. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit dfbdaf50460479446a258ef781683e7d7d6349d7 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 16:54:37 2015 +0100 drm: bridge/dw_hdmi: replace CTS calculation for the ACR Given the TDMS clock, audio sample rate, and the N parameter, we can calculate the CTS value for the audio clock regenerator (ACR) using the following calculation given in the HDMI specification: CTS = ftdms * N / (128 * fs) The specification says that the CTS value is an average value, which is true if the source hardware measures it. Where source hardware needs it to be programmed, it is particularly difficult to alternate between two values correctly to ensure that we achieve a correct "average" fractional value at the sink. Also, there's the problem that our "ftdms" is not a fully accurate value; it is rounded to a kHz value. This introduces an unnecessary (and harmless) fractional value into the above equation for combinations like 148.5MHz/1.001 for 44100Hz - we still calculate the correct CTS value. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8a182c2e4b661ec2a4056c93557258f089f14fe7 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:22 2015 +0100 PCI: mvebu: Use gpio_desc to carry around gpio Use a gpio_desc to carry around the gpio, so we can then make use of the GPIOF_ACTIVE_LOW property rather than carrying that around as well. This also avoids needing to use gpio_is_valid() to check whether we have a GPIO; checking for a non-NULL descriptor is simpler. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit b195fbdbdf5f6712beec09bb9009f99ff9ecd912 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 11:28:16 2015 +0100 drm: bridge/dw_hdmi: remove ratio support from ACR code We never set the ratio for CTS/N calculation for the audio clock regenerator (ACR) to anything but 100, so this adds pointless complexity. Should we support pixel repetition, we should update the CTS/N calculation code to use those parameters or the actual TMDS clock rate instead of a ratio. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 19fdb80091a8f3c09b7293bb299f6eb46c6ae070 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:17 2015 +0100 PCI: mvebu: Use devm_kcalloc() to allocate an array Rather than using devm_kzalloc() and multiplying the element and number, use the provided devm_kcalloc() helper for this. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 4a2eae2359bc79fe7d9e7463ed69ad17034fa00f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:12 2015 +0100 PCI: mvebu: Use gpio_set_value_cansleep() We are in a context where we can sleep, and the PCIe reset gpio may be on an I2C expander. Use the cansleep() variant when setting the GPIO value. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 3884d846a4ed402992ac84e6b79962848ba5f521 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:07 2015 +0100 PCI: mvebu: Split port parsing and resource claiming from port setup Split the PCIe port DT parsing and resource claiming from setting up the actual ports. This allows us to gather all the resources first, before touching the hardware. This is important as some of these resources (such as the GPIO for the PCIe reset) may defer probing. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 37bfa771cda1734454e4304050cfddbcda5f16ed Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:02 2015 +0100 PCI: mvebu: Fix memory leaks and refcount leaks The mvebu PCI port parsing is weak due to: 1) allocations via kasprintf() were not cleaned up when we encounter an error or decide to skip the port. 2) kasprintf() wasn't checked for failure. 3) of_get_named_gpio_flags() returns EPROBE_DEFER if the GPIO is not present, not devm_gpio_request_one(). 4) the of_node was not being put when terminating the loop. Fix these oversights. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 426701d0ccc13a2819fd99938ec50a888817e77d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 10:39:27 2015 +0100 drm: bridge/dw_hdmi: adjust pixel clock values in N calculation Adjust the pixel clock values in the N calculation to match the more accurate clock values we're given by the DRM subsystem, which are the kHz pixel rate, with any fractional kHz rounded down in the case of the non-240, non-480 line modes, or rounded up for the others. So, 25.20 / 1.001 => 25175 27.00 * 1.001 => 27027 74.25 / 1.001 => 74176 148.50 / 1.001 => 148352 DRM derives these rates from the EDID CEA mode identifiers, which are looked up in the tables in drivers/gpu/drm/drm_edid.c. The values on the right are the clock values found in these tables, and are currently expected to be passed to the HDMI driver unchanged. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d0c96d168021a60555c692d860334814cc694d8b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 10:35:41 2015 +0100 drm: bridge/dw_hdmi: avoid being recursive in N calculation There's no need to be recursive when computing the N value for the ACR packet - we can instead calculate the multiplier prior to our switch() based lookup, and multiply the N value appropriately afterwards. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 91cd69088ecc375d057eb3721bfbcf927e9f2dd2 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Jun 4 10:24:33 2015 +0100 drm: bridge/dw_hdmi-ahb-audio: allow larger buffer sizes With multichannel audio, we need to allow larger buffer sizes to avoid XRUNs during playback. Push the buffer size up to 1024K, but as we maintain two buffers, ensure that the vmalloc buffer does not exceed the userspace buffer size. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9dc515f8dfc8c2b5d4e8355933e6ac71abeb7b1e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Jun 4 10:13:28 2015 +0100 drm: bridge/dw_hdmi-ahb-audio: basic support for multi-channel PCM audio Add basic support for multi-channel PCM audio, with fixed speaker mappings. This has been tested with an AV receiver, and appears to work for low sample rates up to 8 channels. It should be noted that multi-channel mode using the IEC958 alsa-lib conversion plugin requires correct AES channel status for the AV receiver to recognise the stream, especially the sample rate bits. "Not identified" does not work there. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f5ce405722e410a69da4604285ae5e9210011ffe Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Nov 7 16:06:01 2013 +0000 drm: bridge/dw_hdmi-ahb-audio: parse ELD from HDMI driver Parse the ELD (EDID like data) stored from the HDMI driver to restrict the sample rates and channels which are available to ALSA. This causes the ALSA device to reflect the capabilities of the overall audio path, not just what is supported at the HDMI source interface level. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7ed6c665e19d4c0456d01c01147e82563c482c4d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Nov 7 16:01:45 2013 +0000 drm: bridge/dw_hdmi-ahb-audio: add audio driver Add ALSA based HDMI AHB audio driver for dw_hdmi. The only buffer format supported by the hardware is its own special IEC958 based format, which is not compatible with any ALSA format. To avoid doing too much data manipulation within the driver, we support only ALSAs IEC958 LE and 24-bit PCM formats for 2 to 6 channels, which we convert to its hardware format. A more desirable solution would be to have this conversion in userspace, but ALSA does not appear to allow such transformations outside of libasound itself. Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 49cb1f718360f86075341e35fad57748a5c182f9 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:12:57 2015 +0100 PCI: mvebu: Move port parsing and resource claiming to separate function Move the PCIe port parsing and resource claiming to a separate function in preparation to add proper cleanup of claimed resources. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit fd48ca384960c831d4fae4636282e422e140ca7c Merge: 53cbf3b 049e6dd Author: Jens Axboe <axboe@xxxxxx> Date: Fri Oct 9 10:08:39 2015 -0600 Merge tag 'v4.3-rc4' into for-4.4/core Linux 4.3-rc4 Pulling in v4.3-rc4 to avoid conflicts with NVMe fixes that have gone in since for-4.4/core was based. commit 14317946d1da07424dec5d6be3459c393bdf578d Author: Wei Xu <xuwei5@xxxxxxxxxxxxx> Date: Fri Sep 25 18:22:35 2015 +0100 ARM: hisilicon: DT: Drop console= and earlyprintk bootargs parameter Replace console with stdout-path so that we don't have to put the console on the kernel command line. Remove earlyprintk to allow the kernel to boot on a system even if DEBUG_LL is configured for another system. Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit a78afccbbaa6d2df49768cabad8af28a0a84181d Merge: 348a65c f1e0bb0 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Oct 9 16:47:34 2015 +0100 Merge branch 'irq/for-arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip * 'irq/for-arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq: Introduce generic irq migration for cpu hotunplug commit 02ab7a3852eeb5b7429ad1edcb6afe3852cd38c3 Merge: 72affde 63f37dd Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 17:23:33 2015 +0200 Merge tag 'arm-soc/for-4.4/maintainers' of http://github.com/Broadcom/stblinux into next/fixes-non-critical Merge "Broadcom maintainers changes for v4.4" from Florian Fainelli: This pull request contains the following changes to the MAINTAINERS file: - Jon Mason lists the NorthStar Plus SoC under the existing Cygnus/iProc section, and by doing so, slightly rephrases the title to make it clear that it spans many more chips now * tag 'arm-soc/for-4.4/maintainers' of http://github.com/Broadcom/stblinux: MAINTAINERS: add entry for the Broadcom Northstar Plus SoCs commit e8973a889e69cb86cac08bec2863c878c0d27af9 Author: Sarbojit Ganguly <ganguly.s@xxxxxxxxxxx> Date: Fri Oct 9 12:10:02 2015 +0100 ARM: 8443/1: Adding support for atomic half word exchange Since support for half-word atomic exchange was not there and Qspinlock on ARM requires it, modified __xchg() to add support for that as well. ARMv6 and lower does not support ldrex{b,h} so, added a guard code to prevent build breaks. Signed-off-by: Sarbojit Ganguly <ganguly.s@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e1b8c05dccc7d3de8c49c92c41b2b5ac7d8275b2 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 16:18:09 2015 +0100 ARM: clean up TWD after previous patch Rename feat_c3stop to twd_features to match the other variables in this file. Initialise it with the standard features that we always support, and arrange to set the CLOCK_EVT_FEAT_C3STOP when appropriate. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 194444c52edd857210b3895e83ce45c64b58e251 Author: Marc Gonzalez <marc_gonzalez@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:20:47 2015 +0100 ARM: 8441/2: twd: Don't set CLOCK_EVT_FEAT_C3STOP unconditionally In 5388a6b266 ("ARM: SMP: Always enable clock event broadcast support") Russell noted that "the TWD local timers are unable to wake up the CPU when it is placed into a low power mode". However, some platforms do not stop the TWD block in low-power mode, and can thus use the TWD timer in one-shot mode, without setting up a broadcast device. Make the driver check for the "always-on" boolean property, and set the CLOCK_EVT_FEAT_C3STOP flag accordingly. Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Marc Gonzalez <marc_gonzalez@xxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ff5138f3af4ed61ed42e00d7d771a0502460488f Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Tue Oct 6 16:40:53 2015 +0100 ARM: 8440/1: remove obsolete documentation The Victor target has been removed from mainline long ago. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d749d94b4c96b28425481104f7b65edc44167c57 Merge: d27199c eef228e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 17:15:21 2015 +0200 Merge tag 'arm-soc/for-4.4/devicetree' of http://github.com/Broadcom/stblinux into next/dt Merge "Broadcom devicetree changes for v4.4" from Florian Fainelli: This pull requests contains the following Broadcom SoCs Device Tree changes: - Brian Norris documents the BCM7445 SoCs Power Management controllers and hardware and updates the reference BCM7445 Device Tree with these nodes - Florian Fainelli documents the BCM7xxx write-pairing feature in the top-level BCM7xxx binding document - Hauke Merthens enables the NAND controller for the Asus RT-AC87U and adds the GPIO pin controlling the USB power supply on Netgear R6250 - Jon Mason adds support for the NorthStar Plus SoC by providing a top-level binding document and the minimalist device tree skeleton for these SoCs - Rafal Milecki adds support for the Netgear R7000 (BCM5301x SoC) - Ray Jui provides a set of Cygnus DT changes that make the Device Tree clearer and more correct with respect to how the hardware is designed. He also enables the NAND controller on the bcm911360_entphn design, enables a bunch of peripherals on the bcm958305k evaluation board, and adds a skeleton .dtsi file for the touchscreen extansion board(s) * tag 'arm-soc/for-4.4/devicetree' of http://github.com/Broadcom/stblinux: ARM: dts: move aliases back to .dts in Cygnus ARM: dts: fix Cygnus nand device node ARM: dts: enable touchscreen support on Cygnus ARM: dts: Enable NAND support on bcm911360_entphn ARM: dts: Enable various peripherals on bcm958305k ARM: dts: Reorder Cygnus peripherals ARM: dts: Move all Cygnus peripherals into axi bus ARM: dts: Put Cygnus core components under core bus ARM: dts: Use label for device nodes in Cygnus dts ARM: dts: consolidate aliases for Cygnus dt files ARM: BCM5301X: Netgear R6250 add USB GPIO Documentation: bindings: brcmstb: Document write-pairing ARM: dts: brcmstb: add BCM7445 system PM DT nodes Documentation: dt: brcmstb: add system PM bindings ARM: BCM5301X: add NAND flash chip description for Asus RT-AC87U ARM: BCM5301X: Add DT for Netgear R7000 ARM: NSP: add minimal Northstar Plus device tree dt-bindings: Create Documentation for NSP DT bindings commit f14b3692c27f668bbd41586e6039810a8a403983 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Thu Oct 8 15:37:08 2015 -0500 arm64: defconfig: Enable devices for MSM8916 This patch enables a number of devices currently supported by the MSM8916 boards. These include I2C, SPI, DMA, SMEM, SMD, and SMD regulator support. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d27199cb033c21988a32ab17dd417c6b4db70a19 Merge: a3e2ed4 b63af76 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 17:10:27 2015 +0200 Merge tag 'v4.4-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Merge "Rockchip dts32 changes for 4.4" from Heiko Stuebner: DTS changes including one new Veyron-board and the Radxa Rock2 system-on-module as well as the square baseboard. On top of that a lot of mmc-related changes to improve speeds on the Cortex-A9 socs and also setting up the supplies for rk3288 mmc-controllers for the following mmc-tuning support. And of course the dts-part of the rk3288 power-domains. * tag 'v4.4-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add the support power-domain node on RK3288 SoCs ARM: dts: rockchip: add rk3288-firefly iodomains ARM: dts: rockchip: fixup firefly mmc supplies ARM: dts: rockchip: add rk3288-popmetal iodomains ARM: dts: rockchip: add rk3288-popmetal mmc supplies ARM: dts: rockchip: add rk3288-popmetal board to dtb list ARM: dts: rockchip: Add dtb for the Radxa Rock 2 Square board ARM: dts: rockchip: support highspeed sd-cards on rk3066a boards ARM: dts: rockchip: support highspeed sd-cards for rk3188-radxarock ARM: dts: rockchip: Add the hdmi-ddc pinctrl settings for rk3288 ARM: dts: rockchip: Remove specific cts pullup from veyron ARM: dts: rockchip: pull up cts lines on rk3288 ARM: dts: rockchip: add veyron-jaq board ARM: dts: rockchip: Add support for SD/MMC on MarsBoard-RK3066 dt-bindings: add power-domain header for RK3288 SoCs commit 273395f0c2973b96a35772f8aa3b65c25517a45d Merge: f3c65c2 7c69669 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 17:08:28 2015 +0200 Merge tag 'v4.4-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/drivers Merge "Rockchip power-domain drivers for 4.4" from Heiko Stuebner: Add the power-domain base-driver which currently contains support for the rk3288 powerdomain layout but can be easily extended for the socs (including arm64) later on. A big thanks to Ceasar Wang for pulling through on this during 18 revisions. Also included is a fix to the pm-clock handling in the generic powerdomains to adapt it to the per-user clock handling we now do, Acked by Rafael Wysocki. * tag 'v4.4-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: soc: rockchip: power-domain: Add power domain driver dt-bindings: add document of Rockchip power domains PM / clk: Do not __clk_get passed in clock-references dt-bindings: add power-domain header for RK3288 SoCs commit 9b24a35cb59888194706825b9c5ac550b0880277 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:09:01 2015 +0200 ARM: mvebu: modify Orion and Kirkwoord crypto compatible strings Explicitly use the SoC specific compatible strings in kirkwood.dtsi and dove.dtsi, so that the crypto devices have access to the TDMA feature when attached to the new CESA driver. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit eb69e001983d16f5897ad0b0c8e15d06eecab01d Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:09:00 2015 +0200 ARM: mvebu: use new bindings for existing crypto devices The new bindings split the crypto and sram node in two separate devices. Modify the existing crypto nodes to match the new representation. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit d716f2e837ac6cdf3244130ca3abc1e560048941 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:59 2015 +0200 ARM: mvebu: define crypto SRAM ranges for all armada-38x boards Define the crypto SRAM ranges so that the resources referenced by the sa-sram node can be properly extracted from the DT. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 35c99ec93245f94022fdcc226826bb2f89e961d9 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:58 2015 +0200 ARM: mvebu: add crypto related nodes to armada 38x dtsi Add crypto related nodes in armada-38x.dtsi. [gregory.clement@xxxxxxxxxxxxxxxxxx: Fix typo for compatible string armada38x instead of armada375] Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit d49ae37c613f7cc1f4c1fd6ef073d60c32e000dd Merge: 4d886d6 b3c8ec3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 9 07:52:35 2015 -0700 Merge branch 'net-non-modular' Paul Gortmaker says: ==================== make non-modular code explicitly non-modular [v2: drop m68k patches that Geert converted to modules; add one ARM driver patch ; update net-next baseline to today; switch to ARM for build testing.] In a previous merge window, we made changes to allow better delineation between modular and non-modular code in commit 0fd972a7d91d6e15393c449492a04d94c0b89351 ("module: relocate module_init from init.h to module.h"). This allows us to now ensure module code looks modular and non-modular code does not accidentally look modular just to avoid suffering build breakage. Here we target code that is, by nature of their Makefile and/or Kconfig settings, only available to be built-in, but implicitly presenting itself as being possibly modular by way of using modular headers, macros, and functions. The goal here is to remove that illusion of modularity from these files, but in a way that leaves the actual runtime unchanged. In doing so, we remove code that has never been tested and adds no value to the tree. And we continue the process of expecting a level of consistency between the Kconfig/Makefile of code and the code in use itself. Fortuntately the net subsystem has relatively few instances, given the overall amount of code and drivers it contains. For comparison there are over 300 instances tree wide, resulting in a possible net removal of on the order of 5000 lines of unused code. Build tested on net-next from today, on ARM, since that is the arch where the one ethernet driver changed here is available. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3c8ec35a93d61fde15eefde2d54ecf2f5950f68 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Oct 7 17:27:46 2015 -0400 drivers/net/ethernet: make ti/cpsw-phy-sel.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/net/ethernet/ti/Kconfig:config TI_CPSW_PHY_SEL drivers/net/ethernet/ti/Kconfig: bool "TI CPSW Switch Phy sel Support" ...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_platform_driver() uses the same init level priority as builtin_platform_driver() the init ordering remains unchanged with this commit. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code. We also delete the MODULE_LICENSE tag etc. since all that information was (or is now) contained at the top of the file in the comments. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Varka Bhadram <varkabhadram@xxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 075640e364f3b46311766f0eff28bd3695637e16 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Oct 7 17:27:45 2015 -0400 net/sched: make sch_blackhole.c explicitly non-modular The Kconfig currently controlling compilation of this code is: net/sched/Kconfig:menuconfig NET_SCHED net/sched/Kconfig: bool "QoS and/or fair queueing" ...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 can change to one of the other priority initcalls (subsys?) at any later date, if desired. We also delete the MODULE_LICENSE tag since all that information is already contained at the top of the file in the comments. Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36b9ad8084bd7ecf6d2241beca23e71f5f4b0cf1 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Oct 7 17:27:44 2015 -0400 net/dcb: make dcbnl.c explicitly non-modular The Kconfig currently controlling compilation of this code is: net/dcb/Kconfig:config DCB net/dcb/Kconfig: bool "Data Center Bridging 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 can change to one of the other priority initcalls (subsys?) at any later date, if desired. We also delete the MODULE_LICENSE tag etc. since all that information is (or is now) already contained at the top of the file in the comments. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Cc: Anish Bhatt <anish@xxxxxxxxxxx> Cc: John Fastabend <john.r.fastabend@xxxxxxxxx> Cc: Shani Michaeli <shanim@xxxxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6191aeeec1045decb5964e6b5e8c314f5982c85 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Oct 7 17:27:43 2015 -0400 net/core: make sock_diag.c explicitly non-modular The Makefile currently controlling compilation of this code lists it under "obj-y" ...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 can change to one of the other priority initcalls (subsys?) at any later date, if desired. We can't remove module.h since the file uses other module related stuff even though it is not modular itself. We move the information from the MODULE_LICENSE tag to the top of the file, since that information is not captured anywhere else. The MODULE_ALIAS_NET_PF_PROTO becomes a no-op in the non modular case, so it is removed. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Craig Gallek <kraig@xxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d886d65ed89f2572727c354162341a4c106a963 Merge: 8cec75b 0cbf334 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 9 07:49:08 2015 -0700 Merge branch 'net-bool' Yaowei Bai says: ==================== net: small improvement This patchset makes several functions in net return bool to improve readability and/or simplicity because these functions only use one or zero as their return value. No functional changes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0cbf334376d5e82d7a2f5cd234ca4f5d0843f3ea Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:29:02 2015 +0800 net/core: lockdep_rtnl_is_held can be boolean This patch makes lockdep_rtnl_is_held return bool due to this particular function only using either one or zero as its return value. In another patch lockdep_is_held is also made return bool. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f06cc7b284f3dfb2c5decbf9fde711b50a530050 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:29:01 2015 +0800 net/inetdevice: bad_mask can be boolean This patch makes bad_mask return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3225164cf60ccecce2459dcb5813dd798233f2d Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:29:00 2015 +0800 net/inetdevice: inet_ifa_match can be boolean This patch makes inet_ifa_match return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45ae74f56162e7a017c3a4e130cf1bcd8d2d17cc Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:59 2015 +0800 net/dccp: dccp_bad_service_code can be boolean This patch makes dccp_bad_service_code return bool due to these particular functions only using either one or zero as their return value. dccp_list_has_service is also been made return bool in this patchset. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c6119d99bf5df9403a688d267537284e9cc8bcb Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:58 2015 +0800 net/dccp: dccp_list_has_service can be boolean This patch makes dccp_list_has_service return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6fbaea5f635216c9861587c4e658086cf3b1b6b Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:57 2015 +0800 net/can: can_dropped_invalid_skb can be boolean This patch makes can_dropped_invalid_skb return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 875e08294911b3cb8c60416d64d990809421de29 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:56 2015 +0800 net/nfnetlink: lockdep_nfnl_is_held can be boolean This patch makes lockdep_nfnl_is_held return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35498edc6481d588feadee7e76220884d5bbca48 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:55 2015 +0800 net/ieee80211: ieee80211_is_* can be boolean This patch makes ieee80211_is_* return bool to improve readability due to these particular functions only using either one or zero as their return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61d03535e4be3a46c1e171a25458237e343195e3 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:54 2015 +0800 net/netlink: lockdep_genl_is_held can be boolean This patch makes lockdep_genl_is_held return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8cec75bd85cc26f81e85eb20e863cc564d354113 Merge: 1c43f75 95e1963 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 9 07:28:38 2015 -0700 Merge branch 'mlx-next' Or Gerlitz says: ============================== Mellanox driver update for net-next Some small fixes and small enhancements from the team. Series applies over net-next commit acb4a6b "tcp: ensure prior synack rtx behavior with small backlogs". ============================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95e196337a3bd1a1678e794064d8097600c277de Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Oct 8 17:14:03 2015 +0300 net/mlx4_core: Fix resource tracker error flow in add_res_range The 'for' loop when undoing rb-tree insertions and list-adds in the error flow in add_res_range had errors, fix them. Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5b3c56ef792009f6aff54ba93bd86ceca3e5bfc Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 17:14:02 2015 +0300 net/mlx4_core: Fix mailbox leak in error flow when performing update qp The procedure mlx4_update_qp leaks mailboxes in its error-flow, fix that. Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba4b87aedd7123df4e4cfd1ca4dcfe8a6d756511 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Oct 8 17:14:01 2015 +0300 net/mlx4_en: Add steering rules after RSS creation Changed the receive control flow in a way that steering rules are added only when the RSS object is already in RTR/RTS mode. Some optimization features, which are enabled by the device firmware, require this condition in order to be effective. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac6ea6e81a80172612e0c9ef93720f371b198918 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 8 17:14:00 2015 +0300 net/mlx5_core: Use private health thread for each device Use a single threaded work queue for each device in the system instead of using one thread for any device. This is required so we can concurrently process system error handling for all the devices that need that. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0144a95e2ad53a40c62148f44fb0c1f9d2a0d1e9 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 8 17:13:59 2015 +0300 net/mlx5_core: Use accessor functions to read from device memory Use ioread function to read health buffer data. In addition, print the firmware version as a string for readability and also use dev_err to have the device string to be printed. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 020446e01eebc9dbe7eda038e570ab9c7ab13586 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 8 17:13:58 2015 +0300 net/mlx5_core: Prepare cmd interface to system errors handling In preparation to handling system errors at the mlx5_core level, change the interface of cmd_work_handler to accept a 64 bit argument for the vector. This allows to encode a flag that signifies when the handler is called as a result of a driver logic that wishes to terminate commands that the hardware may not be able to terminate. Such command completions are detected at the handler and proper return status is encoded. To be able to terminate page handler commands, we make sure to set the corresponding bit in the bitmask. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a7883989b1c57513bb4067ca4b42c96d449d1a5 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 8 17:13:57 2015 +0300 net/mlx5_core: Improve mlx5 messages Improve the messages printed by the mlx5 macros to include the device string. In addition, prefix names used by the macros with two underscores to avoid possible name collisions. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c43f75ad436bbcb4a2526551005f62985dca3ca Merge: df71842 ce6fcb3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 9 07:05:49 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-10-08 This series contains updates to i40e and i40evf only (again). Jesse fixes an issue where the driver was issuing a WARN_ON during ring size changes because the code was cloning the rx_ring struct but not zeroing out the pointers before allocating new memory, so simply zero out the pointers. Also reduced the function call overhead by moving the interrupt enable function by moving it to the header file, which it in turn allows us to inline it. Also does a thorough job of code cleanup to fix spaces after declarations, remove unnecessary braces and breaks, remove another __func__ use and general code tidiness. Mitch adds mover verbose error messages when the number of supported VFs is reported in driver init and it different from the number reported in config space. Updated the VF driver to now detect a reset with the VF_ARQLEN register since the enable bit is cleared when the VF is reset and it stays cleared until the VF driver processes the reset and re-enables the admin queue which is more reliable than using the VFGEN_RSTAT as previously. Neerav adds parsing for CEE DCBx TLVs from the LLDP MIB since there is a need to get the CEE DesiredCfg Tx by firmware and DCB configuration Rx from peer for debug and other application purposes. Carolyn fixes a problem where the PF's Flow Director filter table would have an entry that the hardware was unable to add, when this occurs an invalid entry gets replayed and a valid one is lost. Matt fixes an issue where multiple link up messages can be logged resulting from admin queue link status timing when link properties are changed. Shannon adds the ability to control the period link polling through ethtool to be able to switch it off and on for debugging link issues. Serey explicitly assigns the enum index for each VSI type so that the PF and VF always reference to the same VSI type event if the enum lists are different. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55ad769fde922982533d538bdef37c90a0d82e90 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 27 14:02:33 2015 +0530 Documentation/features/vm: pte_special now supported by ARC Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 24830fc782a3a740209d39cb27abbf5a9763f61f Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Feb 16 19:01:29 2015 +0530 ARC: mm: Introduce PTE_SPECIAL Needed for THP, but will also come in handy for fast GUP later Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 129cbed54a8b3f80f0eaf49acb14fe835587f6f3 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Dec 5 12:05:05 2013 +0530 ARC: mm: pte flags comsetic cleanups, comments No semantical changes Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e8a75963a4b9433dca55286e222f4dd1cc1ca76c Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Aug 28 08:39:57 2015 +0530 ARC: mm: switch pgtable_to to pte_t * ARC is the only arch with unsigned long type (vs. struct page *). Historically this was done to avoid the page_address() calls in various arch hooks which need to get the virtual/logical address of the table. Some arches alternately define it as pte_t *, and is as efficient as unsigned long (generated code doesn't change) Suggested-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 92944c4520edd35a060cfbdaa7431d4e3c3ebd56 Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:28:01 2015 -0400 USB: qcserial: update comment for Sierra Wireless MC7304/MC7354 This comment is ambiguous since there are other MC73xx devices with different USB IDs. This USB ID is found in the MC7304 and MC7354. Cc: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit fbbf9fd2f1b8b4490ff777df2af5543608dde6f1 Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:28:00 2015 -0400 Revert "USB: qcserial/option: make AT URCs work for Sierra Wireless MC73xx" This reverts commit d80c0d14183516f184a5ac88e11008ee4c7d2a2e (excluding the change to MAX_BL_NUM, which has since been removed). The qcserial driver now enables the SET_CONTROL_LINE_STATE request so that AT URCs will work. Move these devices back to the qcserial driver, which is used for other devices in this series that follow the same layout. Cc: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 3d07984b4fe76000f5210630c19ab34aa9d3c5a4 Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:27:59 2015 -0400 Revert "USB: qcserial/option: make AT URCs work for Sierra Wireless MC7305/MC7355" This reverts commit 653cdc13a340ad1cef29f1bab0d05d0771fa1d57. The qcserial driver now enables the SET_CONTROL_LINE_STATE request so that AT URCs will work. Move these devices back to the qcserial driver, which is used for other devices in this series that follow the same layout. Cc: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit efd3e9151fea1b1140d39dc58ec7099a07f0bdff Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:27:58 2015 -0400 USB: qcserial: make AT URCs work for Sierra Wireless devices Three Sierra Wireless modems have been found to require the CDC ACM SET_CONTROL_LINE_STATE request on the AT port in order to receive unsolicited response codes, most recently the Dell Wireless 5808e (which is a re-branded Sierra Wireless EM7355). On the other hand, the Sierra Wireless MC7710 does not seem to need this request, but it was found to work either way. Use this request on the AT port of devices with the Sierra Wireless layout in the qcserial driver. The other modems that were moved to the option driver to work around this can now be moved back. Cc: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 669e729f9fb4e05ff02dfa01cbb8606549c6cb7c Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:27:57 2015 -0400 USB: usb_wwan/option: generalize option_send_setup for other drivers Only the option driver implements the send_setup callback; it uses the SET_CONTROL_LINE_STATE request in CDC ACM to generate DTR/RTS signals on the port. This is not driver-specific though and is needed by other drivers, so move the function to the usb_wwan driver (with formatting tweaks), and replace the callback pointer with a flag that enables the request. Suggested-by: Bjørn Mork <bjorn@xxxxxxx> Suggested-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit bd8869e86b8a1e5e5b29fad766b2676bb74e5395 Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:27:56 2015 -0400 USB: option: revert introduction of struct option_private This is a partial, context modified revert of commit e463c6dda8f5 ("USB: option: handle send_setup blacklisting at probe"), which introduced an unnecessary struct option_private for storing the interface number used in option_send_setup. Removing this struct will allow option_send_setup to be generalized for other drivers. Suggested-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 8d23766b34e206d5f9544d9d638e56d827abbcd4 Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:13:03 2015 -0500 USB: io_ti: Remove extra blank lines separating functions Remove extra blank lines in the several places where functions were separated by more than one. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 75899513b9e163c5c7b036652622b2331a7b6ba7 Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:13:02 2015 -0500 USB: io_ti: Fix non-standard comment formatting Fix non-standard formatting in some of the comments. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> [johan: minor fixes ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 01bb84b5001e4a6221582b163b34e90b3095f451 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Oct 9 09:01:51 2015 +0100 ASoC: Intel: Skylake: power down all link in suspend This ensures that the link is not requesting any clock and the PLL can turn off. The link is powered when controller is brought out of reset. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 84c9e2836aa7c87b19a24de091c7e7cf16124645 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Oct 9 09:01:50 2015 +0100 ASoC: Intel: Skylake: Correct the runtime handler behaviour On runtime pm resume, we need to download the firmware, also on suspend we need to ensure all the interrupts from controller and DSP are disabled. Also since we download the firmware on resume, we don't need to do so on init, so remove that bit Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit def656fe22abb4fbf174a982dcef1d40274ddb11 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Oct 9 09:01:49 2015 +0100 ASoC: Intel: Skylake: Verify the status bit before handling interrupt Like we have in legacy mode HDA driver, we need to check the status bit and handle interrupt only when it is not zero or all bits set. We typically see the status as all 1's when controller resumes from suspend, So add the check here as well and don't handle for these cases. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6ea8ba33e65d3d284de7e7373939352e2c728f10 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Oct 9 09:01:48 2015 +0100 ASoC: Intel: Skylake: Check CPA bit in DSP core power down Skylake driver will set the SPA bit to 0 to turn off the DSP core. Driver will poll the Current Power Active (CPA) bit to match the Set Power Active (SPA) bit value. When CPA bit matches the value of SPA bit, the achieved power state has reached. In case of DSP power down, register that was polled is SPA instead of CPA. This patch corrects the register to be polled in case of DSP power down. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b41461624a93d45293a8d4bd6fdf839703f754f4 Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:13:01 2015 -0500 USB: io_ti: Move request_firmware from edge_startup to download_fw Move request_firmware from edge_startup to download_fw. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 68acc77a2d5197141ba376fd8872eccb43bfcd7d Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Wed Jun 24 19:03:16 2015 +0100 hwmon: Support thermal zones registration for SCP temperature sensors Add support to create thermal zones based on the temperature sensors provided by the SCP. The thermal zones can be defined using the thermal DT bindings and should refer to the SCP sensor id to select the sensor. Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> commit ea98b29a05e9c70dbe159cbc6254d111059a2bb9 Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Thu May 21 15:08:45 2015 +0100 hwmon: Support sensors exported via ARM SCP interface Create a driver to add support for SoC sensors exported by the System Control Processor (SCP) via the System Control and Power Interface (SCPI). The supported sensor types is one of voltage, temperature, current, and power. The sensor labels and values provided by the SCP are exported via the hwmon sysfs interface. Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> commit 38a1bdc9ff9f6c8cfad228eac5c1ce31ce038b25 Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Fri Jun 19 15:31:46 2015 +0100 firmware: arm_scpi: Extend to support sensors ARM System Control Processor (SCP) provides an API to query and use the sensors available in the system. Extend the SCPI driver to support sensor messages. Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> commit bebf1f185c216308367aee98f8b986be104c286b Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:13:00 2015 -0500 USB: io_ti: Move download and boot mode code out of download_fw Separate the download and boot mode code from download_fw() into two new helper functions: do_download_mode() and do_boot_mode(). Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit ef9324b2bd2bb879a5512cfb9210d86e8ed6093f Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:12:59 2015 -0500 USB: io_ti: Use serial->interface for messages in download_fw Use serial->interface instead of serial->dev for messages in download_fw(). Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 277bf37bff1b470ebf33da25f8977e08e4a2193e Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:12:58 2015 -0500 USB: io_ti: Remove obsolete dev parameter from build_i2c_fw_hdr Remove unused "dev" parameter from build_i2c_fw_hdr() and its caller. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit d8a44fe7b51d250c5b7a6ff85eb652f1f49f496a Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Thu Jul 2 19:30:01 2015 +0100 Documentation: add DT bindings for ARM SCPI sensors The System Control Processor (SCP) provides access to SoC sensors via the System Control and Power Interface (SCPI) Message Protocol. Add bindings to allow probing of these sensors. Also support referencing of the sensors for setting up thermal zones via the thermal DT bindings. Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> commit dfacaf0e7cbe9f845459f3332f94cdbc368932af Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Tue Sep 15 17:51:01 2015 +0100 arm64: dts: Add sensor node to Juno dt The SCP firmware on Juno provides access to SoC sensors via the SCPI. Add the sensor nodes to the device tree to enable this support. Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Liviu Dudau <liviu.dudau@xxxxxxx> commit a738459888b361c10b585629b84b0d0e6e7cbb27 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jun 3 14:40:56 2015 +0100 arm64: dts: add clock support for all the cpus This patch adds the CPU clocks so that the CPU DVFS can be enabled. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> commit 050c69e8769b00645d6723390de6092c9dfcf746 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jun 3 14:31:49 2015 +0100 arm64: dts: add CPU topology on Juno This patch adds CPU topology on Juno. It will be useful for ther other IP blocks depending on this topology. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> commit ff9a6262b9b87204146427a3abefc73ab990c21f Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jun 3 14:18:21 2015 +0100 arm64: dts: add SRAM, MHU mailbox and SCPI support on Juno This patch adds support for the MHU mailbox peripheral used on Juno by application processors to communicate with remote SCP handling most of the CPU/system power management. It also adds the SRAM reserving the shared memory and SCPI message protocol using that shared memory. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> commit bffb7db279abe86949dabc7e63b6c2500f472a92 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Oct 5 20:46:12 2015 +0800 ath6kl: drop unlikely behind WARN_ON() WARN_ON() already contain an unlikely compiler flag. Drop it. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 706452b06866f950febb91e582c1d06c03ca85ee Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Sep 29 12:29:49 2015 +0200 ath: fix DFS timestamp wraparound reset condition The DFS pattern detector ought to reset the detector lines when a pulse is added with lower time stamp than the previous (which indicates a TSF restart). This did not work so far and is fixed with this patch. The modification does not change detection performance within the driver, since it only ensures early reset (which is later performed by the PRI detectors anyway). It is relevant for synthetic tests and statistical evaluations, where millions of pulse patterns are processed and an early reset helps reducing load. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 101d1f7fbf7dbb881f808c0fdc23124051ac5da6 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Sep 7 14:49:05 2015 +0100 ath6kl: remove redundant null pointer check on send_pkt The check for send_pkt being NULL is redundant before the call to htc_reclaim_txctrl_buf, therefore it should be removed. This was detected by static analysis by cppcheck. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 261a27d11fa1dec47c47ece6968eaaba55861eca Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Oct 8 15:28:25 2015 -0700 drm/i915: Partial revert of atomic watermark series It's been reported that the atomic watermark series triggers some regressions on SKL, which we haven't been able to track down yet. Let's temporarily revert these patches while we track down the root cause. This commit squashes the reverts of: 76305b1 drm/i915: Calculate watermark configuration during atomic check (v2) a4611e4 drm/i915: Don't set plane visible during HW readout if CRTC is off a28170f drm/i915: Calculate ILK-style watermarks during atomic check (v3) de4a9f8 drm/i915: Calculate pipe watermarks into CRTC state (v3) de165e0 drm/i915: Refactor ilk_update_wm (v3) Reference: http://lists.freedesktop.org/archives/intel-gfx/2015-October/077190.html Cc: "Zanoni, Paulo R" <paulo.r.zanoni@xxxxxxxxx> Cc: "Vetter, Daniel" <daniel.vetter@xxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f13e0630826f961732f3192282a6c249bb6208c1 Author: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:27 2015 +0300 wil6210: Do no schedule firmware recovery during reset flow During reset flow, ignore firmware errors detected prior to the actual hardware reset as the recovery flow would make additional unnecessary reset. Signed-off-by: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7dc47258a00d026ba1268133687b3b1940e36e58 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:26 2015 +0300 wil6210: dump firmware memory when firmware crashes When firmware crashes, just before firmware recovery, dump the firmware memory to a devcoredump device. The resulting dump can be read from user space to be used in offline crash analysis. Signed-off-by: Lior David <liord@xxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a3dcbae2476f2c32e8f123dd833d789f7f494711 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:25 2015 +0300 wil6210: ratelimit Tx error message Situations observed when IP stack schedules lots of frames for Tx while no connection (connection lost, for example). In this case, dmesg bloated with error message "FW not connected", printed for every frame. Ratelimit this error message to avoid dmesg pollution. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 4765332df9222b9172ce2e5172f1e8e8ffc6d554 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:24 2015 +0300 wil6210: capture all frames in sniffer mode For the sniffer (monitor) mode, capture either control only or both control and data PHY. It used to be control only or data only PHY due to firmware issues with configuration for PHY auto-detection; but now it is resolved. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a8313341c4a83d5da18aad07501119da649d58dc Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:23 2015 +0300 wil6210: support BAR (BlockAck Req) BAR frames delivered to the host via Rx path; whole BAR frame get delivered. Advance sequence in the reorder buffer and release old frames, as per IEEE802.11 spec. Firmware will reply to BAR, driver responsibility is only reorder buffer management. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 68682b4108f1254a34e40f516f9ab1f49b4754fc Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:22 2015 +0300 wil6210: treat broadcast bssid as "disconnect all" Hostapd request disconnect for broadcast bssid when it wants to disconnect all stations from the AP. Detect this and really disconnect all connected stations. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6cc6c468381e369e6450257645cf65c67f9f4a1b Author: Vladimir Shulman <QCA_shulmanv@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:21 2015 +0300 wil6210: pmc logger bug fix When allocating pmc descriptor, the structure is initially created on stack and later copied to the physical ring (device) memory. The descriptor structure must be initialized to zero to avoid garbage configuration, which may result in pmc mechanism malfunctioning. Signed-off-by: Vladimir Shulman <QCA_shulmanv@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bf2f67343eedc276b8441f91d8daaef4f3ed11d0 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:20 2015 +0300 wil6210: log firmware crash information Print firmware and ucode assert codes when firmware crashed. Signed-off-by: Lior David <liord@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3b282bc6095f77908cb83427d93f0764e8419fdb Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:19 2015 +0300 wil6210: Add proper handling for invalid frames on Rx On Rx, when invalid frame is received and dropped, reaping of next frames from Rx ring is stopped. This stops NAPI polling and re-enables the Rx interrupt. However, in cases where no more frames received, interrupt will not be triggered and rest of Rx frames will not be processed. Skip bad frames and continue to reap Rx packets when such frames are encountered, and add statistics for such frames for debug. Signed-off-by: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5a813da0068dbe46b77897c955b4059c7ffee4d8 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:18 2015 +0300 wil6210: fix warning in system power management code Fix compilation warning where CONFIG_PM defined while CONFIG_PM_SLEEP is not defined Report follows: tree: git://github.com/kvalo/ath pending head: 941145fc5e5afbb120271e5dfaf37213ddb55807 commit: df596be39294d9712e5d568063a48448031e0a9f [37/39] wil6210: system power management config: xtensa-allyesconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout df596be39294d9712e5d568063a48448031e0a9f # save the attached .config to linux build tree make.cross ARCH=xtensa All warnings (new ones prefixed by >>): >> drivers/net/wireless/ath/wil6210/pcie_bus.c:264:12: warning: 'wil6210_suspend' defined but not used [-Wunused-function] static int wil6210_suspend(struct device *dev, bool is_runtime) ^ >> drivers/net/wireless/ath/wil6210/pcie_bus.c:291:12: warning: 'wil6210_resume' defined but not used [-Wunused-function] static int wil6210_resume(struct device *dev, bool is_runtime) ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 72f8cef5d1155209561b01e092ce1a04ad50c4cb Author: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Date: Tue Oct 6 15:19:34 2015 +0300 ath10k: use station's current operating mode from assoc request The current number of spatial streams used by the client is advertised as a separate IE in assoc request. Use this information to set the NSS operating mode. Fixes: 45c9abc059fa ("ath10k: implement more versatile set_bitrate_mask"). Signed-off-by: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit ab4e3db043589204041c00272f751d05b4e52c50 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Tue Oct 6 15:19:33 2015 +0300 ath10k: optimize ce_lock on post rx buffer processing After processing received packets from copy engine, host will allocate new buffer and queue them back to copy engine ring for further packet reception. On post rx processing path, skb allocation and dma mapping are unnecessarily handled within ce_lock. This is affecting peak throughput and also causing more CPU consumption. Optimize this by acquiring ce_lock only when accessing copy engine ring and moving skb allocation out of ce_lock. In AP148 platform with QCA99x0 in conducted environment, UDP uplink peak throughput is improved from ~1320 Mbps to ~1450 Mbps and TCP uplink peak throughput is increased from ~1240 Mbps (70% host CPU load) to ~1300 Mbps (71% CPU load). Similarly ~40Mbps improvement is observed in downlink path. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 39b91b8144e028cbe383548f76c1f8cdb7977532 Author: Maharaja Kennadyrajan <c_mkenna@xxxxxxxxxxxxxxxx> Date: Tue Oct 6 15:19:28 2015 +0300 ath10k: increase pci wakeup timeout to 30 ms It is noticed that pci wakeup time is exceeding current timeout (10ms) randomly which is tested on QCA988x. So, the wake up time is increased to 30 ms and added debug prints to log total timeout. Signed-off-by: Maharaja Kennadyrajan <c_mkenna@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 381e8ae377d9f0708a5073cb6ee2fa24ef303623 Author: Tomas Elf <tomas.elf@xxxxxxxxx> Date: Thu Oct 8 19:31:33 2015 +0100 drm/i915: Early exit from semaphore_waits_for for execlist mode. When submitting semaphores in execlist mode the hang checker crashes in this function because it is only runnable in ring submission mode. The reason this is of particular interest to the TDR patch series is because we use semaphores as a mean to induce hangs during testing (which is the recommended way to induce hangs for gen8+). It's not clear how this is supposed to work in execlist mode since: 1. This function requires a ring buffer. 2. Retrieving a ring buffer in execlist mode requires us to retrieve the corresponding context, which we get from a request. 3. Retieving a request from the hang checker is not straight-forward since that requires us to grab the struct_mutex in order to synchronize against the request retirement thread. 4. Grabbing the struct_mutex from the hang checker is nothing that we will do since that puts us at risk of deadlock since a hung thread might be holding the struct_mutex already. Therefore it's not obvious how we're supposed to deal with this. For now, we're doing an early exit from this function, which avoids any kernel panic situation when running our own internal TDR ULT. * v2: (Chris Wilson) Turned the execlist mode check into a ringbuffer NULL check to make it more submission mode agnostic and less of a layering violation. Signed-off-by: Tomas Elf <tomas.elf@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 61fb58815192c558d74016721dae6235c18c0fbf Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Thu Oct 8 15:37:00 2015 +0100 drm/i915: Remove wrong warning from i915_gem_context_clean commit e9f24d5fb7cf3628b195b18ff3ac4e37937ceeae Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Oct 5 13:26:36 2015 +0100 drm/i915: Clean up associated VMAs on context destruction Introduced a wrong assumption that all contexts have a ppgtt instance. This is not true when full PPGTT is not active so remove the WARN_ON_ONCE from the context cleanup code. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0ad98c74e093041eb163b01013eb46989f2124aa Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 8 12:08:20 2015 +0300 drm/i915: Determine the stolen memory base address on gen2 There isn't an explicit stolen memory base register on gen2. Some old comment in the i915 code suggests we should get it via max_low_pfn_mapped, but that's clearly a bad idea on my MGM. The e820 map in said machine looks like this: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009f7ff] usable [ 0.000000] BIOS-e820: [mem 0x000000000009f800-0x000000000009ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000000ce000-0x00000000000cffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001f6effff] usable [ 0.000000] BIOS-e820: [mem 0x000000001f6f0000-0x000000001f6f7fff] ACPI data [ 0.000000] BIOS-e820: [mem 0x000000001f6f8000-0x000000001f6fffff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x000000001f700000-0x000000001fffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec1ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffbfffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fff00000-0x00000000ffffffff] reserved That makes max_low_pfn_mapped = 1f6f0000, so assuming our stolen memory would start there would place it on top of some ACPI memory regions. So not a good idea as already stated. The 9MB region after the ACPI regions at 0x1f700000 however looks promising given that the macine reports the stolen memory size to be 8MB. Looking at the PGTBL_CTL register, the GTT entries are at offset 0x1fee00000, and given that the GTT entries occupy 128KB, it looks like the stolen memory could start at 0x1f700000 and the GTT entries would occupy the last 128KB of the stolen memory. After some more digging through chipset documentation, I've determined the BIOS first allocates space for something called TSEG (something to do with SMM) from the top of memory, and then it allocates the graphics stolen memory below that. Accordind to the chipset documentation TSEG has a fixed size of 1MB on 855. So that explains the top 1MB in the e820 region. And it also confirms that the GTT entries are in fact at the end of the the stolen memory region. Derive the stolen memory base address on gen2 the same as the BIOS does (TOM-TSEG_SIZE-stolen_size). There are a few differences between the registers on various gen2 chipsets, so a few different codepaths are required. 865G is again bit more special since it seems to support enough memory to hit 4GB address space issues. This means the PCI allocations will also affect the location of the stolen memory. Fortunately there appears to be the TOUD register which may give us the correct answer directly. But the chipset docs are a bit unclear, so I'm not 100% sure that the graphics stolen memory is always the last thing the BIOS steals. Someone would need to verify it on a real system. I tested this on the my 830 and 855 machines, and so far everything looks peachy. v2: Rewrite to use the TOM-TSEG_SIZE-stolen_size and TOUD methods v3: Fix TSEG size for 830 v4: Add missing 'else' (Chris) Tested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bde3e2880ff92f9956914afdd19648ccb20f487a Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 9 08:10:29 2015 +0900 ALSA: firewire-lib: avoid endless loop to transfer MIDI messages at fatal error Currently, when asynchronous transactions finish in error state and retries, work scheduling and work running also continues. This should be canceled at fatal error because it can cause endless loop. This commit enables to cancel transferring MIDI messages when transactions encounter fatal errors. This is achieved by setting error state. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ea848b7b62ab6d3078955b87833c3b336b71bc9f Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 9 08:10:28 2015 +0900 ALSA: firewire-lib: add throttle for MIDI data rate Typically, the target devices have internal buffer to adjust output of received MIDI messages for MIDI serial bus, while the capacity of the buffer is limited. IEEE 1394 transactions can transfer more MIDI messages than MIDI serial bus can. This can cause buffer over flow in device side. This commit adds throttle to limit MIDI data rate by counting intervals between two MIDI messages. Usual MIDI messages consists of two or three bytes. This requires 1.302 to 1.953 mili-seconds interval between these messages. This commit uses kernel monotonic time service to calculate the time of next transaction. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e8a40d9bcb2392ea502dc629d5d6c0556fdd3b0c Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 9 08:10:27 2015 +0900 ALSA: firewire-lib: schedule work again when MIDI substream has rest of MIDI messages Currently, when two MIDI trigger callbacks can be called immediately, transactions for the second MIDI messages can be postpone till next trigger callback. This is not good for real-time message transmission. This commit schedules work again at response handling callback if the MIDI substream still includes untransferred MIDI messages. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d3ef9cb93aec59eb1d90d01ae0642fd517c25381 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 9 08:10:26 2015 +0900 ALSA: firewire-lib: add a restriction for a transaction at once Currently, when waiting for a response, callers can start another transaction by scheduling another work. This is not good for error processing of transaction, especially the first response is too late. This commit serialize request/response transactions, by adding one boolean member to represent idling state. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 585d7cba5e1fcd8703a120042f35695165986b9b Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 9 08:10:25 2015 +0900 ALSA: firewire-lib: add helper functions for asynchronous transactions to transfer MIDI messages Some models receive MIDI messages via IEEE 1394 asynchronous transactions. In this case, MIDI messages are transferred in fixed-length payload. It's nice that firewire-lib module has common helper functions. This commit implements this idea. Each driver adds 'struct snd_fw_async_midi_port' in its instance structure. In probing, it should call snd_fw_async_midi_port_init() to initialize the structure with some parameters such as target address, the length of payload in a transaction and a pointer for callback function to fill the payload buffer. At 'struct snd_rawmidi_ops.trigger()' callback, it should call 'snd_fw_async_midi_port_run()' to start transactions. Each driver should ensure that the lifetime of MIDI substream continues till calling 'snd_fw_async_midi_port_finish()'. The helper functions support retries to transferring MIDI messages when transmission errors occur. When transactions are successful, the helper functions call 'snd_rawmidi_transmit_ack()' internally to consume MIDI bytes in the buffer. Therefore, Each driver is expected to use 'snd_rawmidi_transmit_peek()' to tell the number of bytes to transfer to return value of 'fill' callback. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 694470273de29c2d3f3792856d4e748969294789 Author: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Date: Fri Oct 9 00:35:54 2015 +0000 ALSA: seq_oss: fix waitqueue_active without memory barrier in snd-seq-oss snd_seq_oss_readq_put_event() seems to be missing a memory barrier which might cause the waker to not notice the waiter and miss sending a wake_up as in the following figure. snd_seq_oss_readq_put_event snd_seq_oss_readq_wait ------------------------------------------------------------------------ /* wait_event_interruptible_timeout */ /* __wait_event_interruptible_timeout */ /* ___wait_event */ for (;;) { prepare_to_wait_event(&wq, &__wait, state); spin_lock_irqsave(&q->lock, flags); if (waitqueue_active(&q->midi_sleep)) /* The CPU might reorder the test for the waitqueue up here, before prior writes complete */ if ((q->qlen>0 || q->head==q->tail) ... __ret = schedule_timeout(__ret) if (q->qlen >= q->maxlen - 1) { memcpy(&q->q[q->tail], ev, sizeof(*ev)); q->tail = (q->tail + 1) % q->maxlen; q->qlen++; ------------------------------------------------------------------------ There are two other place in sound/core/seq/oss/ which have similar code. The attached patch removes the call to waitqueue_active() leaving just wake_up() behind. This fixes the problem because the call to spin_lock_irqsave() in wake_up() will be an ACQUIRE operation. I found this issue when I was looking through the linux source code for places calling waitqueue_active() before wake_up*(), but without preceding memory barriers, after sending a patch to fix a similar issue in drivers/tty/n_tty.c (Details about the original issue can be found here: https://lkml.org/lkml/2015/9/28/849). Signed-off-by: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f5e6a9753ac2965564a14e6285a06f44043ed9c8 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:24 2015 -0700 x86/entry: Split and inline syscall_return_slowpath() GCC is unable to properly optimize functions that have a very short likely case and a longer and register-heavier cold part -- it fails to sink all of the register saving and stack frame setup code into the unlikely part. Help it out with syscall_return_slowpath() by splitting it into two parts and inline the hot part. Saves 6 cycles for compat syscalls. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/0f773a894ab15c589ac794c2d34ca6ba9b5335c9.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 39b48e575e92e31251b74b4b48cea2129cee90bd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:23 2015 -0700 x86/entry: Split and inline prepare_exit_to_usermode() GCC is unable to properly optimize functions that have a very short likely case and a longer and register-heavier cold part -- it fails to sink all of the register saving and stack frame setup code into the unlikely part. Help it out with prepare_exit_to_usermode() by splitting it into two parts and inline the hot part. Saves 6-8 cycles for compat syscalls. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/9fc53eda4a5b924070952f12fa4ae3e477640a07.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dd636071c3d8044c802b7a365e9934724a929530 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:22 2015 -0700 x86/entry: Use pt_regs_to_thread_info() in syscall entry tracing It generates simpler and faster code than current_thread_info(). 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a3b6633e7dcb9f673c1b619afae602d29d27d2cf.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4aabd140f9cbe0361401a1368bac74df1010abf5 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:21 2015 -0700 x86/entry: Hide two syscall entry assertions behind CONFIG_DEBUG_ENTRY This shaves a few cycles off the slow paths. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/ce383fa9e129286ce6da6e00b53acd4c9fb5d06a.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c68ca6787bdd6d2df37cf950135aa11e71af358a Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:20 2015 -0700 x86/entry: Micro-optimize compat fast syscall arg fetch We're following a 32-bit pointer, and the uaccess code isn't smart enough to figure out that the access_ok() check isn't needed. This saves about three cycles on a cache-hot fast syscall. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/bdff034e2f23c5eb974c760cf494cb5bddce8f29.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 33c52129f45e06d9ce23e1a3d50bf9fd6770748b Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:19 2015 -0700 x86/entry: Force inlining of 32-bit syscall code On systems that support fast syscalls, we only really care about the performance of the fast syscall path. Forcibly inline it and add a likely annotation. This saves 4-6 cycles. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/8472036ff1f4b426b4c4c3e3d0b3bf5264407c0c.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 460d12453e1afe20416ce9536cfecb31d17a9abd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:18 2015 -0700 x86/entry: Make irqs_disabled checks in exit code depend on lockdep These checks are quite slow. Disable them in non-lockdep kernels to reduce the performance hit. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/eccff2a154ae6fb50f40228901003a6e9c24f3d0.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b13c2552ffc8e54e57598df36707183933e8e8c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:17 2015 -0700 x86/entry: Remove unnecessary IRQ twiddling in fast 32-bit syscalls This is slightly messy, but it eliminates an unnecessary cli;sti pair. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/22f34b1096694a37326f36c53407b8dd90f37948.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 487e3bf4f77699160aa81a414200060a78a67c3d Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:16 2015 -0700 x86/asm: Remove thread_info.sysenter_return It's no longer needed. We could reinstate something like it as an optimization, which would remove two cachelines from the fast syscall entry working set. I benchmarked it, and it makes no difference whatsoever to the performance of cache-hot compat syscalls on Sandy Bridge. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/f08cc0cff30201afe9bb565c47134c0a6c1a96a2.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5f310f739b4cc343f3f087681e41bbc2f0ce902d Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:15 2015 -0700 x86/entry/32: Re-implement SYSENTER using the new C path 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/5b99659e8be70f3dd10cd8970a5c90293d9ad9a7.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 150ac78d63afb96360dab448b7b4d33c98c8266c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:14 2015 -0700 x86/entry/32: Switch INT80 to the new C syscall path 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a7e8d8df96838eae3208dd0441023f3ce7a81831.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 39e8701f33d65c7f51d749a5d12a1379065e0926 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:13 2015 -0700 x86/entry/32: Open-code return tracking from fork and kthreads syscall_exit is going away, and return tracing is just a function call now, so open-code the two non-syscall 32-bit users. While we're at it, update the big register layout comment. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a6b3c472fda7cda0e368c3ccd553dea7447dfdd2.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7841b408717d4c3b1b334c8f1fef7f18c98cd2bd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:12 2015 -0700 x86/entry/compat: Implement opportunistic SYSRETL for compat syscalls If CS, SS and IP are as expected and FLAGS is compatible with SYSRETL, then return from fast compat syscalls (both SYSCALL and SYSENTER) using SYSRETL. Unlike native 64-bit opportunistic SYSRET, this is not invisible to user code: RCX and R8-R15 end up in a different state than shown saved in pt_regs. To compensate, we only do this when returning to the vDSO fast syscall return path. This won't interfere with syscall restart, as we won't use SYSRETL when returning to the INT80 restart instruction. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/aa15e49db33773eb10b73d73466b6d5466d7856a.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a474e67c913d3ebaf02ba9d7835d5299d226c3ed Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:11 2015 -0700 x86/vdso/compat: Wire up SYSENTER and SYSCSALL for compat userspace What, you didn't realize that SYSENTER and SYSCALL were actually the same thing? :) Unlike the old code, this actually passes the ptrace_syscall_32 test on AMD systems. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/b74615af58d785aa02d917213ec64e2022a2c796.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 710246df58041106b7de645f4b45770f8a59a269 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:10 2015 -0700 x86/entry: Add C code for fast system call entries This handles both SYSENTER and SYSCALL. The asm glue will take care of the differences. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/6041a58a9b8ef6d2522ab4350deb1a1945eb563f.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ee08c6bd315e70756ad2c47ee6ea708a4a882b55 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:09 2015 -0700 x86/entry/64/compat: Migrate the body of the syscall entry to C 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a2f0fce68feeba798a24339b5a7ec1ec2dd9eaf7.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bd2d3a3ba67ac580f6e809aac36bf942f5447f91 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:08 2015 -0700 x86/entry: Add do_syscall_32(), a C function to do 32-bit syscalls System calls are really quite simple. Add a helper to call a 32-bit system 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: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a77ed179834c27da436fb4a7fb23c8ee77abc11c.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eb974c62565072e10c1422eb3205f5b611dd99a1 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:07 2015 -0700 x86/syscalls: Give sys_call_ptr_t a useful type Syscalls are asmlinkage functions (on 32-bit kernels), take six args of type unsigned long, and return long. Note that uml could probably be slightly cleaned up on top of this patch. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/4d3ecc4a169388d47009175408b2961961744e6f.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 034042cc1e2837a584cda0a5e4fc2b0a96b74543 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:06 2015 -0700 x86/entry/syscalls: Move syscall table declarations into asm/syscalls.h The header was missing some compat declarations. Also make sys_call_ptr_t have a consistent type. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/3166aaff0fb43897998fcb6ef92991533f8c5c6c.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8169aff611956ed360e3313e8c718f530f58f6cb Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:05 2015 -0700 x86/entry/64/compat: Set up full pt_regs for all compat syscalls This is conceptually simpler. More importantly, it eliminates the PTREGSCALL and execve stubs, which were not compatible with the C ABI. This means that C code can call through the compat syscall table. The execve stubs are a bit subtle. They did two things: they cleared some registers and they forced slow-path return. Neither is necessary any more: elf_common_init clears the extra registers and start_thread calls force_iret(). 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/f95b7f7dfaacf88a8cae85bb06226cae53769287.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2ec67971faccc21ff18878552ccfe4409088c4c8 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:04 2015 -0700 x86/entry/64/compat: Remove most of the fast system call machinery We now have only one code path that calls through the compat syscall table. This will make it much more pleasant to change the pt_regs vs register calling convention, which we need to do to move the call into C. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/320cda5573cefdc601b955d23fbe8f36c085432d.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5f638ac90d514202155c87aa58730e86d484d9e Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:03 2015 -0700 x86/entry/64/compat: Remove audit optimizations These audit optimizations are messy and hard to maintain. We'll get a similar effect from opportunistic sysret when fast compat system calls are re-implemented. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/0bcca79ac7ff835d0e5a38725298865b01347a82.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e62a254a1f93fcc7299497a5c7231639400b8c3c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:02 2015 -0700 x86/entry/64/compat: Disable SYSENTER and SYSCALL32 entries We've disabled the vDSO helpers to call them, so turn off the entries entirely (temporarily) in preparation for cleaning them up. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/8d6e84bf651519289dc532dcc230adfabbd2a3eb.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8242c6c84a644e5f0f721e4ae2bd542f640c89f9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:01 2015 -0700 x86/vdso/32: Save extra registers in the INT80 vsyscall path The goal is to integrate the SYSENTER and SYSCALL32 entry paths with the INT80 path. SYSENTER clobbers ESP and EIP. SYSCALL32 clobbers ECX (and, invisibly, R11). SYSRETL (long mode to compat mode) clobbers ECX and, invisibly, R11. SYSEXIT (which we only need for native 32-bit) clobbers ECX and EDX. This means that we'll need to provide ESP to the kernel in a register (I chose ECX, since it's only needed for SYSENTER) and we need to provide the args that normally live in ECX and EDX in memory. The epilogue needs to restore ECX and EDX, since user code relies on regs being preserved. We don't need to do anything special about EIP, since the kernel already knows where we are. The kernel will eventually need to know where int $0x80 lands, so add a vdso_image entry for it. The only user-visible effect of this code is that ptrace-induced changes to ECX and EDX during fast syscalls will be lost. This is already the case for the SYSENTER path. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/b860925adbee2d2627a0671fbfe23a7fd04127f8.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7bcdea4d050cbe4912854a68b93494203eec8b24 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:00 2015 -0700 x86/elf/64: Clear more registers in elf_common_init() Before we start calling execve in contexts that honor the full pt_regs, we need to teach it to initialize all registers. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/65a38a9edee61a1158cfd230800c61dbd963dac5.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29c0ce9508458ed31a9db2ed425f64c0d6d3ddfb Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:59 2015 -0700 x86/vdso: Replace hex int80 CFI annotations with GAS directives Maintaining the current CFI annotations written in R'lyehian is difficult for most of us. Translate them to something a little closer to English. This will remove the CFI data for kernels built with extremely old versions of binutils. I think this is a fair tradeoff for the ability for mortals to edit the asm. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/ae3ff4ff5278b4bfc1e1dab368823469866d4b71.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f24f910884277aa6824bbc2dda4b5d0418d45c28 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:58 2015 -0700 x86/vdso: Define BUILD_VDSO while building and emit .eh_frame in asm For the vDSO, user code wants runtime unwind info. Make sure that, if we use .cfi directives, we generate 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: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/16e29ad8855e6508197000d8c41f56adb00d7580.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7b956f035a9ef8bd3ef5490f49fc1bd834d8a70a Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:57 2015 -0700 x86/asm: Re-add parts of the manual CFI infrastructure Commit: 131484c8da97 ("x86/debug: Remove perpetually broken, unmaintainable dwarf annotations") removed all the manual DWARF annotations outside the vDSO. It also removed the macros we used for the manual annotations. Re-add these macros so that we can clean up the vDSO annotations. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/4c70bb98a8b773c8ccfaabf6745e569ff43e7f65.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 856312aeb124b0477d452aa43415711109b46cbe Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Oct 1 19:57:12 2015 -0300 drm/i915: fix FBC buffer size checks According to my experiments (and later confirmation from the hardware developers), the maximum sizes mentioned in the specification delimit how far in the buffer the hardware tracking can go. And the hardware calculates the size based on the plane address we provide - and the provided plane address might not be the real x:0,y:0 point due to the compute_page_offset() function. On platforms that do the x/y offset adjustment trick it will be really hard to reproduce a bug, but on the current SKL we can reproduce the bug with igt/kms_frontbuffer_tracking/fbc-farfromfence. With this patch, we'll go from "CRC assertion failure" to "FBC unexpectedly disabled", which is still a failure on the test suite but is not a perceived user bug - you will just not save as much power as you could if FBC is disabled. v2, rewrite patch after clarification from the Hadware guys: - Rename function so it's clear what the check is for. - Use the new intel_fbc_get_plane_source_sizes() function in order to get the proper sizes as seen by FBC. v3: - Rebase after the s/sizes/size/ on the previous patch. - Adjust comment wording (Ville). - s/used_/effective_/ (Ville). Testcase: igt/kms_frontbuffer_tracking/fbc-farfromfence (SKL) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c4ffd40908c30a33291227920e921f6b45b9e8f7 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Oct 1 19:55:57 2015 -0300 drm/i915: fix CFB size calculation We were considering the whole framebuffer height, but the spec says we should only consider the active display height size. There were still some unclear questions based on the spec, but the hardware guys clarified them for us. According to them: - CFB size = CFB stride * Number of lines FBC writes to CFB - CFB stride = plane stride / compression limit - Number of lines FBC writes to CFB = MIN(plane source height, maximum number of lines FBC writes to CFB) - Plane source height = - pipe source height (PIPE_SRCSZ register) (before SKL) - plane size register height (PLANE_SIZE register) (SKL+) - Maximum number of lines FBC writes to CFB = - plane source height (before HSW) - 2048 (HSW+) For the plane source height, I could just have made our code do I915_READ() in order to be more future proof, but since it's not cool to do register reads I decided to just recalculate the values we use when we actually write to those registers. With this patch, depending on your machine configuration, a lot of the kms_frontbuffer_tracking subtests that used to result in a SKIP due to not enough stolen memory still start resulting in a PASS. v2: Use the clipped src size instead of pipe_src_h (Ville). v3: Use the appropriate information provided by the hardware guys. v4: Bikesheds: s/sizes/size/, s/fb_cpp/cpp/ (Ville). v5: - Don't use crtc->config->pipe_src_x for BDW- (Ville). - Fix the register name written in the comment. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a42e5a23ed1939a8eca5a753c19bb8b0e5cee475 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Sep 30 17:05:43 2015 -0300 drm/i915: remove pre-atomic check from SKL update_primary_plane The comment suggests the check was there for some non-fully-atomic case, and I couldn't find a case where we wouldn't correctly initialize plane_state, so remove the check. Let's leave a WARN there just in case. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Acked-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3badb49f08f66fbdbf9da8335c5db4b05a1677c8 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Sep 23 12:52:23 2015 -0300 drm/i915: don't allocate fbcon from stolen memory if it's too big Technology has evolved and now we have eDP panels with 3200x1800 resolution. In the meantime, the BIOS guys didn't change the default 32mb for stolen memory. On top of that, we can't assume our users will be able to increase the default stolen memory size to more than 32mb - I'm not even sure all BIOSes allow that. So just the fbcon buffer alone eats 22mb of my stolen memroy, and due to the BDW/SKL restriction of not using the last 8mb of stolen memory, all that's left for FBC is 2mb! Since fbcon is not the coolest feature ever, I think it's better to save our precious stolen resource to FBC and the other guys. On the other hand, we really want to use as much stolen memory as possible, since on some older systems the stolen memory may be a considerable percentage of the total available memory. This patch tries to achieve a little balance using a simple heuristic: if the fbcon wants more than half of the available stolen memory, don't use stolen memory in order to leave some for FBC and the other features. The long term plan should be to implement a way to set priorities for stolen memory allocation and then evict low priority users when the high priority ones need the memory. While we still don't have that, let's try to make FBC usable with the simple solution. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53c929c922ccc5e615c3310e86ffbc1387372854 Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Oct 8 10:31:03 2015 +0530 clk: qcom: create virtual child device for TSENS 8960 family of devices have TSENS as part of GCC in hardware. Hence DT would represent a GCC node with GCC properties as well as TSENS. Create a virtual platform child device here for TSENS so the driver can probe it and use the parent (GCC) to extract DT properties. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Massaged to work with devm friendly qcom_cc_probe()] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 73bb7dc08edd921953f7b720b54e5dcb15ee0a02 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 8 10:59:32 2015 -0700 clk: qcom: Move gdsc config outside COMMON_CLK_QCOM config Having this hidden config below the COMMON_CLK_QCOM config causes menuconfig to stop indenting config items after it. <*> Support for Qualcomm's clock controllers {M} APQ8084 Global Clock Controller <M> APQ8084 Multimedia Clock Controller {M} IPQ806x Global Clock Controller <M> IPQ806x LPASS Clock Controller <M> MSM8660 Global Clock Controller <M> MSM8916 Global Clock Controller {M} APQ8064/MSM8960 Global Clock Controller <M> APQ8064/MSM8960 LPASS Clock Controller <M> MSM8960 Multimedia Clock Controller {M} MSM8974 Global Clock Controller <M> MSM8974 Multimedia Clock Controller Move it up above anything else so that we don't get odd indenting. Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9bc432cb242b0edff81e3ab83ba11c327cd4dd93 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 8 00:11:49 2015 -0700 clk: qcom: Drop calls to qcom_cc_remove() Now that qcom_cc_remove() is a nop, drop calls to qcom_cc_remove() and any empty driver remove functions. Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 94c51f4073260e775fa404a45ac7f7adea590d0a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Oct 7 23:59:57 2015 -0700 qcom: clk: Make qcom_cc_probe() fully devm safe Some APIs in qcom_cc_probe() don't have a devm counterpart, so we have to use the calling device's platform data to pass pointers to the remove path. Let's use devm_add_action() instead, so that the remove path doesn't need to do anything, allowing us to remove qcom_cc_remove() entirely. Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0829ea5af6d3338c3c5ad0bd377d75a30d6ffc8b Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Wed Oct 7 11:08:58 2015 +0200 drivers: clk: st: Correct the pll-type for A9 for stih418 Add support for new PLL-type for stih418 A9-PLL. Currently the 407_A9_PLL type being used, it is corrected with this patch 4600c28 PLL allows to reach higher frequencies so its programming algorithm is extended. Signed-off-by: Pankaj Dev <pankaj.dev@xxxxxx> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 46a57afdd70c17cf15b2077c5ea611913f80f85f Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Wed Oct 7 11:08:57 2015 +0200 drivers: clk: st: PLL rate change implementation for DVFS Change A9 PLL rate, as per requirement from the cpufreq framework, for DVFS. For rate change, the A9 clock needs to be temporarily sourced from PLL external to A9 and then sourced back to A9-PLL Signed-off-by: Pankaj Dev <pankaj.dev@xxxxxx> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fb4738629b6c06c24ba0649ece20ecec978d8694 Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Wed Oct 7 11:08:56 2015 +0200 drivers: clk: st: Support for enable/disable in Clockgen PLLs The patch adds support for enable/disable of the Clockgen PLLs. clkgen_pll_enable/clkgen_pll_disable added as generic function for all PLLs. Signed-off-by: Pankaj Dev <pankaj.dev@xxxxxx> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b68f2c3b882202aba97a488c1fede0e99f7261e2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 1 12:22:54 2015 -0700 clk: qcom: Make oxili GDSC parent of oxili_cx GDSC The oxili_cx GDSC is inside the power domain of the oxili GDSC. Add the dependency so that the CX domain can properly power up. Reported-by: Rob Clark <robdclark@xxxxxxxxx> Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d60ee966b260331d1e76f73cd97f9563d2278b10 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 1 12:22:53 2015 -0700 PM / Domains: Make pm_genpd_{add,remove}_subdomain() available to modules Export these symbols so they can be used in loadable kernel modules. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8ce20e6617fedb195b7b243fc74cdef1cf1684f6 Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Fri Oct 2 09:15:29 2015 +0200 Add driver for the si514 clock generator chip This patch adds the driver and devicetree documentation for the Silicon Labs SI514 clock generator chip. This is an I2C controlled oscillator capable of generating clock signals ranging from 100kHz to 250MHz. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Drop clk.h include, remove some casts] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 778f2e7a7b75e643fb56151797b7d950305b48ea Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 00:45:49 2015 +0300 ARM: shmobile: porter: add VIN0/ADV7180 DT support Define the Porter board dependent part of the VIN0 device node. Add the device node for Analog Devices ADV7180 video decoder to I2C2 bus. Add the necessary subnodes to interconnect VIN0 and ADV7180 devices. This patch is analogous to the commit 8d62f4f75320 ("ARM: shmobile: henninger: add VIN0/ADV7180 DT support") as there are no differences between the boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d6b940395e430a9afd89131d5de8d7ab1c22f5d1 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 00:44:18 2015 +0300 ARM: shmobile: porter: add I2C2 DT support Define the Porter board dependent part of the I2C2 device node. This patch is analogous to the commit 29a647c396a0 ("ARM: shmobile: henninger: add I2C2 DT support") as there are no differences between the boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ab4c6a240731f701806154fe3e0cfb8a3abec369 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Thu Oct 8 18:59:06 2015 +0800 clk: imx7d: add ADC root clock Add ADC root clock support in imx7d clock tree. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit ce6fcb3f2467902b48e59d1c866c5b4c9f6136eb Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Aug 28 17:55:59 2015 -0400 i40e: print neato new features To help users and developers know what compile options and hardware features are enabled at compile time, print VxLAN is available. Change-ID: I3162f3b7678dc725a597f964217920eb218b480b 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 f578f5f453abf09e8cb4c3aaf1e0c3bdf8125493 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Aug 28 17:55:58 2015 -0400 i40e/i40evf: pass QOS handle to VF The VF really doesn't care about the QOS handle but it will in the future. Since the VF only uses TC0, send it that handle. On the VF side, save the handle and use it to populate the QOS params when we call into the client interface. Change-ID: I76f41b070baeaa09b19383e9168bc677837e0761 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 8ed995ff6bb9c5436db64b3653a0c62a0cd18f08 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Aug 28 17:55:57 2015 -0400 i40evf: use capabilities flags properly Use the capabilities passed to us by the PF driver to control VF driver behavior. In the process, clean up the VLAN add/remove code so it's not a horrible morass of ifdefs. Change-ID: I1050eaf12b658a26fea6813047c9964163c70a73 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 a5fdaf342aa2fa6679dcb87dad2f78f1309de29e Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Aug 28 17:55:56 2015 -0400 i40e: refactor code to remove indent I found a code indent that was avoidable because a whole function is inside an if block, reverse the if and move the code back a tab. Change-ID: I9989c8750ee61678fbf96a3b0fd7bf7cc7ef300a 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 6995b36c0fc3dd97c1d641f9630d19db2cadf44f Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Aug 28 17:55:54 2015 -0400 i40e/i40evf: clean up some code Add missings spaces after declarations, remove another __func__ use, remove uncessary braces, remove unneeded breaks, and useless returns, and generally fix up some code. Change-ID: Ie715d6b64976c50e1c21531685fe0a2bd38c4244 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> 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 ee5c1e92dd01d372b8e054b5a7e1cc19a1d32815 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Aug 28 17:55:53 2015 -0400 i40evf: detect reset more reliably Using VFGEN_RSTAT to detect a VF reset is an endeavor that is fraught with peril. It's entirely too easy to miss a reset because none of the bits are sticky. By the time the VF driver reads the register, the reset may have been processed and cleaned up by the PF driver, leaving the register in the same state that it was before the reset. Instead, detect a reset with the VF_ARQLEN register. When the VF is reset, the enable bit in this register is cleared, and it stays cleared until the VF driver processes the reset and re-enables the admin queue. Because we now deal with multiple registers in the reset and watchdog tasks, rename the rstat_val variable to reg_val. Change-ID: Id1df17045c0992e607da0162d31807f7fc20d199 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 95e5613f75ac93d0547b7d2077030a5fe11af21e Author: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Date: Fri Aug 28 17:55:52 2015 -0400 i40e: Support FW CEE DCB UP to TC map nibble swap Changes parsing of AQ command Get CEE DCBX OPER CFG (0x0A07). Change is required because FW creates the oper_prio_tc nibbles reversed from those in the CEE Priority Group sub-TLV. Change-ID: I7d9d8641bb430d30e286fc3fac909866ef8a0de8 Signed-off-by: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 66486cd71723b2b41b36759159b551230ab8763d Author: Serey Kong <serey.kong@xxxxxxxxx> Date: Thu Aug 27 11:42:41 2015 -0400 i40e/i40evf: Explicitly assign enum index for VSI type Ran into an issue where PF's VSI type list was different from VF's, which was resulted in different enum index. The VSI type list can be different depending on what build flag is used for PF and VF. The change is to explicitly assign enum index for each VSI type so that PF and VF always reference to the same VSI type event if the enum lists are different. Change-ID: I8c0e5fdb515f324f7964df863a458073cf467e57 Signed-off-by: Serey Kong <serey.kong@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9ac77266379d070c6d140ad44f86a99936497eeb Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Aug 27 11:42:40 2015 -0400 i40e: add switch for link polling There's been some need for controlling the periodic link polling for debugging link issues. This patch enables switching it off and on through an ethtool private flag. The link poll remains on by default, but can be turned off with ethtool --set-priv-flags p261p1 LinkPolling off and later turned back on with ethtool --set-priv-flags p261p1 LinkPolling on To check the current status, use ethtool --show-priv-flags p261p1 Change-ID: I32e4ab654ff3eec90a06cf144899971b82d71c40 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 c156f856ad8ba4f71bcdb2c92ba1a9effaa29ac1 Author: Matt Jared <matthew.a.jared@xxxxxxxxx> Date: Thu Aug 27 11:42:39 2015 -0400 i40e: Fix multiple link up messages This patch addresses an issue where multiple link up messages can be logged resulting from aq link status timing when link properties are changed (fc, speed, etc.); solved by using a single function to handle status printing and adding a mechanism to track whether link state (up or down) has actually changed. Change-ID: Ied6ed6e49dc397c77d992adc0bc9ed3767152b9d Signed-off-by: Matt Jared <matthew.a.jared@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3487b6c30c0dd2204dc31e14330097dff02d9a58 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Thu Aug 27 11:42:38 2015 -0400 i40e: Fix for extra Flow Director filter in table after error This patch fixes a problem where the PF's fdir filter table would have an entry that the hw was unable to add. This notification happens in the hot path, so instead of trying to fix it then, we note the location in the failure case and delete it during regular fdir subtask callback. Without this patch, a case can occur where an invalid entry gets replayed and a valid one is not. Change-ID: I67831c183b5d0309876de807cc434809b74c9cb7 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> 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 1a9375eb7f987e9338c17504dd2b358b688b32d8 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Thu Aug 27 11:42:37 2015 -0400 i40e/i40evf: Store CEE DCBX DesiredCfg and RemoteCfg This patch adds capability to query and store the CEE DCBX DesiredCfg and RemoteCfg data from the LLDP MIB. Added new member "desired_dcbx_config" in the i40e_hw data structure to hold CEE only DesiredCfg data. Change-ID: I19c550369594384eaff4cc63e690ca740231195d 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 909b2d16c41f3a56ff67342073ae5f2569d58084 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Thu Aug 27 11:42:36 2015 -0400 i40e: Add parsing for CEE DCBX TLVs This patch adds parsing for CEE DCBX TLVs from the LLDP MIB. While the driver gets the DCB CEE operational configuration from Firmware using the "Get CEE DCBX Oper Config" AQ command there is a need to get the CEE DesiredCfg Tx by firmware and DCB configuration Rx from peer; for debug and other application purposes. Change-ID: I9140edf1a25a2852c7eff805d81e5eff6266178d 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 96c8d0738aff3ecf3e8b3253fb286685e35d93e6 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Aug 27 11:42:35 2015 -0400 i40e: add more verbose error messages Under certain circumstances, the device may not have enough resources to enable all of the VFs that it advertises in config space. Although the number of supported VFs is reported upon driver init, it is not obvious when this is different from the number reported in config space. To eliminate this confusion, add an error message explaining the problem. Additionally, move the 'Allocating VFs' message down below the error checks so as to prevent further confusion. Change-ID: I45b7efca53a7aebf7777be33a8bc9d615ae48ea1 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 02d109be3ddc9768c1c38709218648d0c48a4ea9 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Aug 27 11:42:34 2015 -0400 i40e: inline interrupt enable The interrupt enable function can be inlined by moving it to the header file, which decreases the function call overhead for a frequently called function. Change-ID: I3214cc99593725768642680e7b8ce7e9bba7e44d 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 1e8efb42cf32982d68c1ceab3e3dc15a05157632 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Aug 27 11:42:33 2015 -0400 i40e: fix erroneous WARN_ON The driver was issuing a WARN_ON during ring size changes because the code was cloning the rx_ring struct but not zeroing out the pointers before allocating new memory. Zero out the pointers in the cloned copy before allocating new memory for them. In this case the code was correctly avoiding memory leaks but still triggering the warning. Change-ID: I186dd493948e9b7254ab0593d4aad8b68808918d 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 c13e1c05b22b504bf0d72fc762a02be37df2d1b0 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Thu Oct 8 20:00:58 2015 +0100 powerpc/pseries/hvcserver: don't memset pi_buff if it is null pi_buff is being memset before it is sanity checked. Move the memset after the null pi_buff sanity check to avoid an oops. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f78f7ed72632a0794161f290b89e2cd752f55202 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 13:29:28 2015 +0530 powerpc: Fix _ALIGN_* errors due to type difference. This avoid errors like unsigned int usize = 1 << 30; int size = 1 << 30; unsigned long addr = 64UL << 30 ; value = _ALIGN_DOWN(addr, usize); -> 0 value = _ALIGN_DOWN(addr, size); -> 0x1000000000 Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4e7fb93081f8f2ac9f190e8da7507956d3f3a936 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Tue Sep 8 16:41:18 2015 -0500 ARM: multi_v7_defconfig: Enable QCOM SMD/RPM This patch enables all of the options necessary to support the Qualcomm SMD RPM regulator driver. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 76416cbb93f6af6e38de33dd7326a4a1113f8a9a Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Tue Sep 8 16:40:39 2015 -0500 ARM: qcom_defconfig: Enable SMD-RPM regulators This patch enables all of the options required to support SMD RPM based regulators. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 45b0ef05588a65cf1f2d1ef6335544075b16278e Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 26 14:50:18 2015 -0700 ARM: dts: msm8974: Add smd, rpm and regulator nodes Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 93aaf76a6cd729ecdbbd764f5640b1d50d372bbb Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 26 14:50:09 2015 -0700 soc: qcom: Add device tree binding for SMEM Add device tree binding documentation for the Qualcom Shared Memory Manager. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit b63af764ca5134341aa3a2836b356a65902ea9d4 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:18:23 2015 +0800 ARM: dts: rockchip: add the support power-domain node on RK3288 SoCs We can add more domains node in the future. This patch add the needed clocks into power-controller. As the discuess about all the device clocks being listed in the power-domains itself. There are several reasons as follows: Firstly, the clocks need be turned off to save power when the system enter the suspend state. So we need to enumerate the clocks in the dts. In order to power domain can turn on and off. Secondly, the reset-circuit should reset be synchronous on RK3288, then sync revoked. So we need to enable clocks of all devices. In other words, we have to enable the clocks before you operate them if all the device clocks are included in someone domians. Thirdly, as the chip designs for PM hardhare. we need turn on the noc clocks, if we are operating the "pd_vio" domain to enter the idle status. The device's clock be included in domains that needed turn on if do that. The clocks in the dts are needed to enable before you want to happy work. At the moment, This patch is very good work for PM hardware. Also, we can add these clocks in the future if we have some hidden clocks. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> [add necessary power-domain properties to keep drm subsys working] Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 3b6061f01066148c371d843c2424309c62acd2f3 Merge: 4490dc5 a914169 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Oct 8 22:40:45 2015 +0200 Merge branch 'v4.4-armsoc/pd-headers' into v4.4-armsoc/dts32 commit 4490dc5cee5e6b3631f28fdb1a4548c90912bb8f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 30 21:10:00 2015 +0200 ARM: dts: rockchip: add rk3288-firefly iodomains Add the iodomains node and reference the correct regulator for each domain. This also includes adding the currently unused dvp regulators. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fae3b81120144696c54fdbbf09d8fe82c93d2851 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 30 21:07:09 2015 +0200 ARM: dts: rockchip: fixup firefly mmc supplies Fix some incorrect references to mmc regulators. vccio_wl for example is the io-voltage supply not the core supply of the wifi module itself, which is vbat_wl instead. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 90f9a541d8329077f216660c2b3d6772e071d4ef Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 30 21:00:16 2015 +0200 ARM: dts: rockchip: add rk3288-popmetal iodomains Add the iodomains node and reference the correct regulator for each domain. This also includes adding the currently unused dvp regulators and fixing up two regulators to follow the naming in the schematics. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fa1c193261199f4717879e02ea4a3e8181e1b512 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 30 20:58:53 2015 +0200 ARM: dts: rockchip: add rk3288-popmetal mmc supplies Add missing regulators and supply properties to emmc and sdmmc nodes. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 48961b3494df0497037c43f5d263e60470dc487f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 30 20:49:38 2015 +0200 ARM: dts: rockchip: add rk3288-popmetal board to dtb list The popmetal board was not included in the list of Rockchip boards, so was only built when explicitly called with make rk3288-popmetal.dtb but not in a generic make dtbs, so add the missing entry. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 44d5039a9add451b6cd240515d59d5848ba16fd5 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Tue Sep 15 08:57:21 2015 +0200 ARM: dts: rockchip: Add dtb for the Radxa Rock 2 Square board The Radxa Rock 2 Square board is a combination of the Radxa Rock 2 SoM with the Square baseboard. Add a dtsi for the SoM which can be included into the dts for the various baseboards (e.g. full and square) and a dts for the square board. Currently supported are serial console, wired networking, hdmi output, eMMC and SD storage and USB. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 1d727ec922e666e08fbdad7328947c9943e58439 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Sat Sep 12 18:01:39 2015 +0800 ARM: dts: rockchip: support highspeed sd-cards on rk3066a boards Add cap-sd-highspeed and cap-mmc-highspeed for rk3066a-bqcurie2 and rk3066a-rayeager boards to make sd cards run faster. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 2a4527ff53a8a85ac766a63a45239d7ea4bd1fd6 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Sat Sep 12 18:00:50 2015 +0800 ARM: dts: rockchip: support highspeed sd-cards for rk3188-radxarock Add cap-sd-highspeed and cap-mmc-highspeed for rk3188-radxarock board to make sd cards running faster. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e61ccb12d3b78c229c07e8b3e9008f1ce6dd1b74 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Wed Sep 2 14:54:22 2015 -0700 ARM: dts: rockchip: Add the hdmi-ddc pinctrl settings for rk3288 The pins for i2c5 can either be configured as "I2C5" which means that they're controlled by the normal RK3288 I2C controller or as "EDP / HDMI I2C". It's unclear why EDP is referenced here since apparently setting the mux to this position enables I2C communication using the dw_hdmi block with a patch like <https://patchwork.kernel.org/patch/7098101/>. There appear to be some reasons why using the builtin I2C controller in dw_hdmi is better than using the normal RK3288 I2C controller, so boards based on rk3288 might eventually want to use this pinmux if it's known to work. Once driver support in dw_hdmi lands, boards would use this by selecting this pinctrl for the HDMI block and then _not_ specifying a ddc-i2c-bus and _not_ setting the status to "okay" for i2c5 (which uses the same pins). Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 035015b10e7545bb503413999070e99ccd32c1d2 Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Wed Sep 2 16:27:59 2015 -0700 ARM: dts: rockchip: Remove specific cts pullup from veyron With the previous patch ("rk3288: pull up cts lines") this is redundant, I sent that patch for the same reason this existed here, so the lines don't wiggle randomly when disconnected. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 8915f36441d4506384b6e1be38ed0037946a77df Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Wed Sep 2 16:27:58 2015 -0700 ARM: dts: rockchip: pull up cts lines on rk3288 The flow control lines from a user accessible UART are optional, the user might not have anything connected to those pins. In order to prevent random interrupts happening and noise affecting the cts pin should be pulled up. Note that the default state for that pin on the rk3288 is pulled up, so this patch merely restores them. This is similar to what we're already doing with the RX pin, so it should be safe. At worst it might be a slightly higher power usage (through ~50 kohms) when the cts is low. Suggested-by: Neil Hendin <nhendin@xxxxxxxxxxxx> Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit d5f9f4ff73e975f3119e0fbf37d47d102b243dcc Author: Brian Norris <briannorris@xxxxxxxxxxxx> Date: Mon Aug 24 15:58:03 2015 -0700 ARM: dts: rockchip: add veyron-jaq board a.k.a. Haier Chromebook 11, and others Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 736ef3395ab10dffa0f42d215bee55b72d1cbb0a Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Aug 24 18:04:41 2015 +0200 ARM: dts: rockchip: Add support for SD/MMC on MarsBoard-RK3066 This enables SDMMC0 on the board and gives a basic support for SD cards. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit dcc909d90ccdbb73226397ff6d298f7af35b0e11 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Tue Oct 6 20:03:54 2015 +0200 nbd: Add locking for tasks The timeout handling introduced in 7e2893a16d3e (nbd: Fix timeout detection) introduces a race condition which may lead to killing of tasks that are not in nbd context anymore. This was not observed or reproducable yet. This patch adds locking to critical use of task_recv and task_send to avoid killing tasks that already left the NBD thread functions. This lock is only acquired if a timeout occures or the nbd device starts/stops. Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Fixes: 7e2893a16d3e ("nbd: Fix timeout detection") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3a2fb2c394ff0f0ea90bacc557147d9ac733d13c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 8 21:51:57 2015 +0200 Revert "drm/i915: Call encoder hotplug for init and resume cases" This reverts commit 5d250b05918c002b63632c7db91c3c5f924c6a3b. It results on a deadlock on platforms where we need to (at least partially) re-init hpd interrupts from power domain code, since ->hot_plug might again grab a power well reference (to do edid/dp_aux transactions. At least chv is affected. Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> References: http://mid.gmane.org/20151008133548.GX26517@xxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8166fcead6b29589f264b9d900c0770f501964c3 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 8 21:50:57 2015 +0200 Revert "drm/i915: Add hot_plug hook for hdmi encoder" This reverts commit 0b5e88dc25ee6c9040c0355e6e025dcbc9c8de92. It completely breaks booting on at least bsw (and maybe more). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88081 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 72affdecdd4901a8a1b71b2120731498e46347a4 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Thu Sep 17 09:02:14 2015 -0700 soc: ti: reset irq affinity before freeing irq When using accumulator queue for rx side for network driver, following warning is seen when doing a reboot command from Linux console. This is because, affinity value is not reset before calling free_irq(). This patch fixes this. Deconfiguring network interfaces... ------------[ cut here ]----------- WARNING: CPU: 0 PID: 2081 at kernel/irq/manage.c:1370 __free_irq+0x208/0x214 Modules linked in: CPU: 0 PID: 2081 Comm: ifconfig Not tainted 4.1.5-00908-g1049e206-dirty #1 Hardware name: Keystone Backtrace: [<c0012b98>] (dump_backtrace) from [<c0012dbc>] (show_stack+0x18/0x1c) r7:c005d0a8 r6:c06e2184 r5:c06e2184 r4:00000000 [<c0012da4>] (show_stack) from [<c04e7168>] (dump_stack+0x8c/0xcc) [<c04e70dc>] (dump_stack) from [<c0025944>] (warn_slowpath_common+0x88/0xb8) r7:c005d0a8 r6:0000055a r5:00000009 r4:0000000 [<c00258bc>] (warn_slowpath_common) from [<c0025a18>] (warn_slowpath_null+0x 24/0x2c) r8:0000006c r7:ee513f60 r6:ee513f00 r5:ee611010 r4:cc873a00 (warn_slowpath_null) from [<c005d0a8>] (__free_irq+0x208/0x214) [<c005cea0>] (__free_irq) from [<c005d158>] (free_irq+0x54/0xac) r10:00000002 r9:00000000 r8:00000000 r7:ee611010 r6:0000006c r5:00000000 r4:ee513f00 r3:00000000 [<c005d104>] (free_irq) from [<c02a81b0>] (knav_range_setup_acc_irq+0xb0/0x1 28) r7:00000001 r6:0000006c r5:ee611010 r4:00000001 [<c02a8100>] (knav_range_setup_acc_irq) from [<c02a8248>] (knav_acc_close_qu eue+0x20/0x24) r8:edd1a4c8 r7:00001000 r6:eed89980 r5:ee616650 r4:edf9d990 [<c02a8228>] (knav_acc_close_queue) from [<c02a6160>] (knav_queue_close+0xb4 /0xb8) [<c02a60ac>] (knav_queue_close) from [<c0336270>] (netcp_free_navigator_reso urces+0x1d4/0x2c0) r5:edd1a480 r4:00000400 [<c033609c>] (netcp_free_navigator_resources) from [<c033657c>] (netcp_ndo_stop+0x220/0x230) r10:00008914 r9:edf34400 r8:00000000 r7:edd1a5d8 r6:edd1a480 r5:00000400 r4:edd1a000 [<c033635c>] (netcp_ndo_stop) from [<c03d9c80> (__dev_close_many+0x90/0xd8) r7:00001003 r6:00001042 r5:edb0de20 r4:edd1a000 [<c03d9bf0>] (__dev_close_many) from [<c03d9df4>] (__dev_close+0x30/0x48) r5:00000001 r4:edd1a000 [<c03d9dc4>] (__dev_close) from [<c03e175c>] (__dev_change_flags+0x9c/0x14c) [<c03e16c0>] (__dev_change_flags) from [<c03e182c>] (dev_change_flags+0x20/0 r9:edf34400 r8:00000000 r7:00000000 r6:00001003 r5:edd1a138 r4:edd1a000 [<c03e180c>] (dev_change_flags) from [<c0446f94>] (devinet_ioctl+0x680/0x754 r9:edf34400 r8:bef6af3c r7:00000000 r6:bef6ac64 r5:edf3440c r4:00000000 [<c0446914>] (devinet_ioctl) from [<c0448760>] (inet_ioctl+0x1a8/0x1d0) r10:00000000 r9:edb0c000 r8:bef6ac64 r7:00000003 r6:bef6ac64 r5:bef6ac64 r4:00008914 [<c04485b8>] (inet_ioctl) from [<c03c72fc>] (sock_ioctl+0x1d0/0x2a8) [<c03c712c>] (sock_ioctl) from [<c00eb608>] (do_vfs_ioctl+0x414/0x604) r7:00000003 r6:ed8b60c0 r5:bef6ac64 r4:ccc88f20 [<c00eb1f4>] (do_vfs_ioctl) from [<c00eb834>] (SyS_ioctl+0x3c/0x64) r9:edb0c000 r8:bef6ac64 r7:00008914 r6:ed8b60c0 r5:00000003 r4:ed8b60c0 [<c00eb7f8>] (SyS_ioctl) from [<c000f780>] (ret_fast_syscall+0x0/0x3c) r9:edb0c000 r8:c000f924 r7:00000036 r6:0007e77c r5:bef6ac64 r4:0007e7d0 ---[ end trace f565594c905af0b4 ]--- Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 348a65cdcbbf243073ee39d1f7d4413081ad7eab Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:25 2015 -0500 arm64: Mark kernel page ranges contiguous With 64k pages, the next larger segment size is 512M. The linux kernel also uses different protection flags to cover its code and data. Because of this requirement, the vast majority of the kernel code and data structures end up being mapped with 64k pages instead of the larger pages common with a 4k page kernel. Recent ARM processors support a contiguous bit in the page tables which allows the a TLB to cover a range larger than a single PTE if that range is mapped into physically contiguous ram. So, for the kernel its a good idea to set this flag. Some basic micro benchmarks show it can significantly reduce the number of L1 dTLB refills. Add boot option to enable/disable CONT marking, as well as fix a bug found by Steve Capper. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> [catalin.marinas@xxxxxxx: remove CONFIG_ARM64_CONT_PTE altogether] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 202e41a1c257eb56a05b5ff5bfde06f7ae98e6eb Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:23 2015 -0500 arm64: Make the kernel page dump utility aware of the CONT bit The kernel page dump utility needs to be aware of the CONT bit before it will break up pages ranges for display. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 06f90d2527845c4767207f54280df2c5ca11e82b Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:22 2015 -0500 arm64: Default kernel pages should be contiguous The default page attributes for a PMD being broken should have the CONT bit set. Create a new definition for an early boot range of PTE's that are contiguous. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 93ef666a094ff9c9fc8d7cf1774ef0b92e270a75 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:21 2015 -0500 arm64: Macros to check/set/unset the contiguous bit Add the supporting macros to check if the contiguous bit is set, set the bit, or clear it in a PTE entry. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ecf35a237a85d747ef1d6f713888c782f42064ac Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:20 2015 -0500 arm64: PTE/PMD contiguous bit definition Define the bit positions in the PTE and PMD for the contiguous bit. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 2ff4439bb45a05433282d4fa9ca84202147819c7 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:19 2015 -0500 arm64: Add contiguous page flag shifts and constants Add the number of pages required to form a contiguous range, as well as some supporting constants. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 70b4891cc889d359d3b1f3b8ec6f10c5800ecc70 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Oct 8 09:48:06 2015 +0100 ALSA: hda: make use of core codec fns Now that we have introduced the core fns we should make hda use these helpers Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1b5e6167c27e1d3be33155baf9660768ac74aae0 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Oct 8 09:48:05 2015 +0100 ALSA: hdac: Copy codec helpers to core The current codec helpers are local to hda code and needs to be moved to core so that other users can use it. The helpers to read/write the codec and to check the power state of widgets is copied 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 ab7ea3053575f31264bc8b8357203bdf970a6248 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:53 2015 +0100 PCI: mvebu: Use port->name rather than "PCIe%d.%d" Use the port->name string which we previously formatted when referring to the name of a port, rather than manually creating the port name each time. Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 2cdf4ed184d4a340b91e362892eb67effe17ef75 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:48 2015 +0100 PCI: mvebu: Report full node name when reporting a DT error If we have a missing required property, report the full node name rather than a vague "PCIe DT node" statement. This allows the exact node in error to be identified immediately. Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 2aee2ed2474bcd66a628f18412826165cdca1b4c Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:42 2015 +0100 PCI: mvebu: Use for_each_available_child_of_node() to walk child nodes Rather than using for_each_child_of_node() and testing each child's availability, use the for_each_available_child_of_node() helper instead. Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 7de36cd5742be100641684349cd7a70715b8cf8d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:37 2015 +0100 PCI: mvebu: Use of_get_available_child_count() Rather than open-coding of_get_available_child_count(), use the provided helper instead. Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 79e3f6ce167ff429084bfdd839e30d7983011108 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:32 2015 +0100 PCI: mvebu: Use exact config access size; don't read/modify/write The idea that you can arbitarily read 32-bits from PCI configuration space, modify a sub-field (like the command register) and write it back without consequence is deeply flawed. Status registers (such as the status register, PCIe device status register, etc) contain status bits which are read, write-one-to-clear. What this means is that reading 32-bits from the command register, modifying the command register, and then writing it back has the effect of clearing any status bits that were indicating at that time. Same for the PCIe device control register clearing bits in the PCIe device status register. Since the Armada chips support byte, 16-bit and 32-bit accesses to the registers (unless otherwise stated) and the PCI configuration data register does not specify otherwise, it seems logical that the chip can indeed generate the proper configuration access cycles down to byte level. Testing with an ASM1062 PCIe to SATA mini-PCIe card on Armada 388. PCIe capability at 0x80, DevCtl at 0x88, DevSta at 0x8a. Before: /# setpci -s 1:0.0 0x88.l - DevSta: CorrErr+ 00012810 /# setpci -s 1:0.0 0x88.w=0x2810 - Write DevCtl only /# setpci -s 1:0.0 0x88.l - CorrErr cleared - FAIL 00002810 After: /# setpci -s 1:0.0 0x88.l - DevSta: CorrErr+ 00012810 /# setpci -s 1:0.0 0x88.w=0x2810 - check DevCtl only write /# setpci -s 1:0.0 0x88.l - CorErr remains set 00012810 /# setpci -s 1:0.0 0x88.w=0x281f - check DevCtl write works /# setpci -s 1:0.0 0x88.l - devctl field updated 0001281f /# setpci -s 1:0.0 0x8a.w=0xffff - clear DevSta /# setpci -s 1:0.0 0x88.l - CorrErr now cleared 0000281f /# setpci -s 1:0.0 0x88.w=0x2810 - restore DevCtl /# setpci -s 1:0.0 0x88.l - check 00002810 [bhelgaas: changelog] Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 58c19a140de555b2bef41b8bf95439c36d555836 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:26 2015 +0100 PCI: mvebu: Return zero for reserved or unimplemented config space PCI requires reads to reserved or unimplemented configuration space to return zero and complete normally (see PCI r3.0, sec 6.1). However, the root port software implementation was returning 0xfffffff and PCIBIOS_BAD_REGISTER_NUMBER. Return zero when reading reserved or unimplemented config space. [bhelgaas: changelog] Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 8a893d5abcdcffbb80eb6521c54649fe675e79c9 Merge: 1590a41 1a32845 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:31:52 2015 +0200 Merge tag 'keystone-config' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/defconfig Merge "Couple of ARM Keystone config patches" from Santosh Shilimkar: - Sync up the config with savedefconfig - Add basic systemd options * tag 'keystone-config' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: configs: keystone: Add basic systemd related options ARM: configs: keystone: sync to savedefconfig commit a3e2ed443df0db5cbfc9b6f532a8a6392a03fe62 Merge: 4a69fcd 91dca0f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:30:23 2015 +0200 Merge tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt Merge "ARM Keystone DTS updates" from Santosh Shilimkar: - Add SOC compatible along with EVMs for future board variations. - Add SPI nodes * tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: dts: keystone: Update SoC specific compatible flags ARM: keystone: Update compatible to have SoC specific matches Documentation: dt: keystone: provide SoC specific compatible flags ARM: dts: keystone: Add ti,keystone-spi for SPI commit f3c65c2892cf27cf24ff9161ac9110a04dd57a5e Merge: a67e5c3 7d8d05d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:26:27 2015 +0200 Merge tag 'at91-cleanup-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/drivers Merge "First batch of cleanups for 4.4:" from Alexandre Belloni: - properly get the slow clock from timer-atmel-st, tcb_clksrc and pwm-atmel-tcb - small fix in an error path for tcb_clksrc * tag 'at91-cleanup-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: misc: atmel_tclib: get and use slow clock clocksource: tcb_clksrc: fix setup_clkevents error path clocksource: atmel-st: get and use slow clock commit 47ddb949029f9517a773e67b0e5eaf80ef596dad Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 10:24:41 2015 -0500 PCI: generic: Pass starting bus number to pci_scan_root_bus() If the bus is being configured with a bus-range that does not start at zero, pass that starting bus number to pci_scan_root_bus(). Passing the incorrect value of zero causes attempted config accesses outside of the supported range, which cascades to an OOPs spew and eventual kernel panic. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit d24a9270254d6c8caace3ebc7c34d0820150ce8f Merge: 498a92d f6c1a8a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:24:08 2015 +0200 Merge tag 'davinci-for-v4.4/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/fixes-non-critical Merge "DaVinci non-critical fixes for v4.4" from Sekhar Nori: Fix for incorrect handling of NULL clk pointer in DaVinci clock code. And a fix to use a more appropiate format specifier in a debug message. * tag 'davinci-for-v4.4/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: davinci: clock: Correct return values for API functions ARM: davinci: re-use %*ph specifier commit 55fa3ee0815a355490c109416935563223af0ccc Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Wed Oct 7 22:31:05 2015 +0200 ARM: meson: Enable Meson8b SoCs Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 4a69fcd3a10803854852481ab16031563d2d5381 Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Wed Oct 7 22:31:04 2015 +0200 ARM: meson: Add DTS for Odroid-C1 and Tronfy MXQ boards Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6f4f48aeb3901c4925faddc907438cdeee09d9de Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Wed Oct 7 22:31:03 2015 +0200 of: documentation: add bindings documentation for Meson8b Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 1a0ee1d317c033b66e91837456c93121e9de43bf Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Wed Oct 7 22:31:02 2015 +0200 of: documentation: Add vendor prefix for Tronfy Tronfy is an emerging brand in China specializing in Home Theater solutions for the normal consumers. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 21fadea995bc9c6fc5dc7360065a2348eb37b499 Merge: 9dd289a 0877098 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:20:25 2015 +0200 Merge tag 'renesas-dt-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Renesas ARM Based SoC DT Updates for v4.4" from Simon Horman: * Add missing CPG/MSTP Clock Domain for sound on r8a779[01] SoCs * Tidy up SCI resource region on r8a779[018] SoCs * Add pinmux for iic0 on Lager board * Use CCF for audio clock on Lager and Koelsch boards * Use serial0 and 1 as serial ports on Marzen board * Use adxl345-specific compatible property for KZM9G board * Document compat string for Silk board * Enable GPIO, I2C, PCI, QSPI, USB PHY and HS, and VIN support on r8a7794/Silk * Add initial support for r8a7791/porter * Add common file for AA121TD01 panel * tag 'renesas-dt-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (28 commits) ARM: shmobile: porter: add Ether DT support ARM: shmobile: fix SILK board name ARM: shmobile: r8a7794: add HS-USB DT support ARM: shmobile: dts: Add common file for AA121TD01 panel ARM: shmobile: r8a7794: link PCI USB devices to USB PHY ARM: shmobile: silk: enable USB PHY ARM: shmobile: r8a7794: add USB PHY DT support ARM: shmobile: porter: initial device tree ARM: shmobile: add Porter board DT bindings ARM: shmobile: silk: enable internal PCI ARM: shmobile: r8a7794: add internal PCI bridge nodes ARM: shmobile: r8a7790: lager: add pinmux for iic0 ARM: shmobile: r8a7778: tidyup SSI resource region ARM: shmobile: r8a7791: tidyup SSI resource region ARM: shmobile: r8a7790: tidyup SSI resource region ARM: shmobile: lager: use CCF for audio clock ARM: shmobile: koelsch: use CCF for audio clock ARM: shmobile: silk: add VIN0/ADV7180 DT support ARM: shmobile: r8a7794: add VIN DT support ARM: shmobile: silk: add I2C1 DT support ... commit 9dd289a4a996140a1693fd404bafb6cd7d046df4 Merge: a362ec8 04418c2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:20:09 2015 +0200 Merge branch 'renesas/cleanup' into next/dt Dependency for renesas/dt commit 9a28033753ca9e86593e15050c7ae02fbc03f9ae Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 10:15:10 2015 -0500 PCI: generic: Allow multiple hosts with different map_bus() methods The generic driver kept a global struct pci_ops ("gen_pci_ops") which it patched with the .map_bus() method appropriate for the bus device. This is a problem when we have two different types of bus devices: the .map_bus() method for the last device probed clobbers the method for previous devices. The result is that only the last bus device probed has the correct .map_bus(), and the others fail. Move the struct pci_ops into the bus-specific structure and initialize a pointer to it when the bus device is probed. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit dc542fb4179a104fc73760a2da0fd78f68f70d6d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Oct 7 17:52:12 2015 +0530 ASoC: rt5645: fix build warning We were getting build warning about "Section mismatch". dmi_platform_intel_broadwell is being referenced from the probe function rt5645_i2c_probe(), but dmi_platform_intel_broadwell was marked with __initdata. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f874b80e1571118fcf4554878633556f06f998e6 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:13 2015 +0200 ASoC: rockchip: Add rockchip SPDIF transceiver driver Add a driver for the SPDIF transceiver available on RK3066, RK3188 and RK3288. Heavily based on the rockchip i2s driver. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 51e5084e718f990e88aeb0a9219adef15f847dc8 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:12 2015 +0200 ASoC: dt-bindings: add rockchip tranceiver bindings Add devicetree bindings for the spdif tranceiver found on found on rk3066, rk3188 and rk3288 SoCs Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 120bf961b90adb8e76be827b1a68efe3d1019419 Merge: 037fc98 31303d6 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Oct 8 10:46:19 2015 -0400 Merge branch 'sunrpc' * sunrpc: SUNRPC: Use MSG_SENDPAGE_NOTLAST in xs_send_pagedata() SUNRPC: Move AF_LOCAL receive data path into a workqueue context SUNRPC: Move UDP receive data path into a workqueue context SUNRPC: Move TCP receive data path into a workqueue context SUNRPC: Refactor TCP receive commit 037fc9808a777f6fb6a54c6510b9656716e0c8c8 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Sep 20 15:51:00 2015 -0400 NFSv4: Unify synchronous and asynchronous error handling They now only differ in the way we handle waiting, so let's unify. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4816fdadab9ff874ec1a4138dad43b636c7d220b Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Sep 20 14:58:42 2015 -0400 NFSv4: Don't use synchronous delegation recall in exception handling The code needs to be able to work from inside an asynchronous context. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 516285ebe0efadc40b914a0e61a913a390604810 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Sep 20 16:15:24 2015 -0400 NFSv4: nfs4_async_handle_error should take a non-const nfs_server For symmetry with the synchronous handler, and so that we can potentially handle errors such as NFS4ERR_BADNAME. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2598ed344586cf3612bfbd33041527c55543acfe Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Sep 20 16:10:18 2015 -0400 NFSv4: Update the delay statistics counter for synchronous delays Currently, we only do so for asynchronous delays. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit b3c2aa07454cf7ab4ec3ee882c586abbea033132 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Sep 20 14:32:45 2015 -0400 NFSv4: Refactor NFSv4 error handling Prepare for unification of the synchronous and asynchronous error handling. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 498a92d42596a7a32c042319eb62a4c3d8081cf1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 7 22:05:49 2015 +0200 ARM: cns3xxx: pci: avoid potential stack overflow The cns3xxx_pcie_hw_init function uses excessive kernel stack space because of a hack that puts a fake struct pci_sys_data and struct pci_bus on the stack in order to call the generic pci_bus_read_config accessors, which causes a warning in ARM allmodconfig builds: arch/arm/mach-cns3xxx/pcie.c:266:1: warning: the frame size of 1080 bytes is larger than 1024 bytes I've spent a few hours trying to find out what exactly this code is wants to achieve here. The obvious part is setting up the host_regs using config space accessors, and this can simply be changed to use direct MMIO accesses, as I do in this patch. The second part is how the driver sets up the Max_Read_Request_Size value for the first device/function on bus 1, i.e. the device plugged directly into the PCIe root port. For all I can tell, this is in fact incomplete, as it does not perform the same setting on devices attached to a PCIe switch, or multi-function devices. The solution for this part fortunately is even easier: if we just set the global pcie_bus_config variable to PCIE_BUS_PEER2PEER, all PCIe devices in the system are limited to 128 byte MPS, which in turn limits the MRRS to 128 bytes for all devices, and we no longer even need to touch any devices. With those two changes in place, we no longer need the fake pci_sys_data/pci_bus structures for faking config space writes, and the stack usage goes down as well. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Krzysztof Halasa <khalasa@xxxxxxx> commit 11aee0f6d1b6520620c5e7af04504ce9de588520 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Oct 8 19:27:59 2015 +0530 drm/i915: use error path Use goto to handle the error path to avoid duplicating the same code. In the error path intel_dig_port is the last one to be released as it was the first one to be allocated and ideally the error path should be the reverse of the execution path. Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9ad92bdff7062d9925754607f5a92b4f651fc7d3 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Oct 7 13:23:29 2015 +0100 hwrng: st - Improve FIFO size/depth description The original representation of FIFO size in the driver coupled with the ambiguity in the documentation meant that it was easy to confuse readers. This lead to a false positive BUG-find and subsequently time wastage debugging this phantom issue. Hopefully this patch can prevent future readers from falling into the same trap. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 93d649bd94e1003e2a766a59fadba0cc0089d58b Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Oct 7 13:23:28 2015 +0100 hwrng: st - Use real-world device timings for timeout Samples are documented to be available every 0.667us, so in theory the 8 sample deep FIFO should take 5.336us to fill. However, during thorough testing, it became apparent that filling the FIFO actually takes closer to 12us. Also take into consideration that udelay() can behave oddly i.e. not delay for as long as requested. Suggested-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>: "IIRC, Linus recommends a x2 factor on delays, especially timeouts generated by these functions. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8fd80f8ca60bdeda4f3098986e8a566ba9c0c57a Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Oct 7 13:23:27 2015 +0100 hwrng: st: dt: Fix trivial typo in node address DT nodes should not append their addresses with '0x'. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9d83d299549d0e121245d56954242750d0c14338 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Oct 2 14:12:58 2015 +0200 crypto: atmel - Check for clk_prepare_enable() return value clk_prepare_enable() can fail so add a check for this and return the error code if it fails. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c6415a6016bff0b547c13cadb1d5e50e9ace2be3 Author: Catalin Vasile <catalin.vasile@xxxxxxxxxxxxx> Date: Fri Oct 2 13:13:18 2015 +0300 crypto: caam - add support for acipher xts(aes) Add support for AES working in XEX-based Tweaked-codebook mode with ciphertext Stealing (XTS) sector index - HW limitation: CAAM device supports sector index of only 8 bytes to be used for sector index inside IV, instead of whole 16 bytes received on request. This represents 2 ^ 64 = 16,777,216 Tera of possible values for sector index. Signed-off-by: Cristian Hristea <cristi.hristea@xxxxxxxxx> Signed-off-by: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Signed-off-by: Catalin Vasile <catalin.vasile@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit fea40451530fea9ed3efd31eb932d1855a3a6e2d Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Oct 2 08:01:02 2015 +0200 crypto: qce - dma_map_sg can handle chained SG The qce driver use two dma_map_sg path according to SG are chained or not. Since dma_map_sg can handle both case, clean the code with all references to sg chained. Thus removing qce_mapsg, qce_unmapsg and qce_countsg functions. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 166db195536f380c4545a8d2fca9789402464bc8 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Thu Oct 1 16:32:50 2015 -0500 crypto: ccp - Use module name in driver structures The convention is to use the name of the module in the driver structures that are used for registering the device. The CCP module is currently using a descriptive name. Replace the descriptive name with module name. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 21dc9e8f941f8693992230d189a556b220b50f5b Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Thu Oct 1 16:32:44 2015 -0500 crypto: ccp - Change references to accelerator to offload The CCP is meant to be more of an offload engine than an accelerator engine. To avoid any confusion, change references to accelerator to offload. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 52948cef8406a5f75484e2922b7140bc7c17f3f9 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Thu Oct 1 16:32:38 2015 -0500 crypto: ccp - Remove use ACPI field With the creation of the device_dma_is_coherent API the "use_acpi" field is no longer needed, so remove it. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 355eba5dda6984cbe10fa914e5cc8ef45a34cce2 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Thu Oct 1 16:32:31 2015 -0500 crypto: ccp - Replace BUG_ON with WARN_ON and a return code Replace the usage of BUG_ON with WARN_ON and return an error. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b3681308cc7162fb08249589b5bb1b2d42e00f4b Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Wed Oct 7 14:33:57 2015 -0700 ASoC: nau8825: add acpi match ID This patch adds the acpi match ID for nau8825 codec Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1c199f2878f6c1b8c52125ad9805e94fe2dde472 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Oct 7 16:16:33 2015 -0700 kbuild: document recursive dependency limitation / resolution Recursive dependency issues with kconfig are unavoidable due to some limitations with kconfig, since these issues are recurring provide a hint to the user how they can resolve these dependency issues and also document why such limitation exists. While at it also document a bit of future prospects of ways to enhance Kconfig, including providing formal semantics and evaluation of use of a SAT solver. If you're interested in this work or prospects of it check out the kconfig-sat project wiki [0] and mailing list [1]. [0] http://kernelnewbies.org/KernelProjects/kconfig-sat [1] https://groups.google.com/d/forum/kconfig-sat Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: James Bottomley <jbottomley@xxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Cc: "Yann E. MORIN" <yann.morin.1998@xxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Mate Soos <soos.mate@xxxxxxxxx> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 31303d6cbb24ba94e8b82170213bd2fde6365d9a Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Oct 6 15:59:20 2015 -0400 SUNRPC: Use MSG_SENDPAGE_NOTLAST in xs_send_pagedata() If we're sending more than one page via kernel_sendpage(), then set MSG_SENDPAGE_NOTLAST between the pages so that we don't send suboptimal frames (see commit 2f5338442425 and commit 35f9c09fe9c7). Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f640ee98bbeaa169684a571e0b96bea563bb6015 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 12:35:42 2015 +0200 Bluetooth: Fix basic debugfs entries for unconfigured controllers When the controller is unconfigured (for example it does not have a valid Bluetooth address), then the basic debugfs entries for dut_mode and vendor_diag are not creates. Ensure they are created in __hci_init and also __hci_unconf_init functions. One of them is called during setup stage of a new controller. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a26480942c99d84a7682ea4c00f47a3a42ed41d2 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Oct 6 17:03:00 2015 -0400 SUNRPC: Move AF_LOCAL receive data path into a workqueue context Now that we've done it for TCP and UDP, let's convert AF_LOCAL as well. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f9b2ee714c5c945cda27e9cbca5f60d5199fb93f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Oct 6 16:26:05 2015 -0400 SUNRPC: Move UDP receive data path into a workqueue context Now that we've done it for TCP, let's convert UDP as well. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit edc1b01cd3b20a5fff049e98f82a2b0d24a34c89 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Oct 5 10:53:49 2015 -0400 SUNRPC: Move TCP receive data path into a workqueue context Stream protocols such as TCP can often build up a backlog of data to be read due to ordering. Combine this with the fact that some workloads such as NFS read()-intensive workloads need to receive a lot of data per RPC call, and it turns out that receiving the data from inside a softirq context can cause starvation. The following patch moves the TCP data receive into a workqueue context. We still end up calling tcp_read_sock(), but we do so from a process context, meaning that softirqs are enabled for most of the time. With this patch, I see a doubling of read bandwidth when running a multi-threaded iozone workload between a virtual client and server setup. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 66d7a56a6254389587d0999dcaab1d2634cd4e24 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Oct 5 11:19:20 2015 -0400 SUNRPC: Refactor TCP receive Move the TCP data receive loop out of xs_tcp_data_ready(). Doing so will allow us to move the data receive out of the softirq context in a set of followup patches. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit df718423250c000ca4323a767cedc2f3219b685c Merge: 28335a7 3ad0040 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 05:26:44 2015 -0700 Merge branch 'bpf_random32' Daniel Borkmann says: ==================== BPF/random32 updates BPF update to split the prandom state apart, and to move the *once helpers to the core. For details, please see individual patches. Given the changes and since it's in the tree for quite some time, net-next is a better choice in our opinion. v1 -> v2: - Make DO_ONCE() type-safe, remove the kvec helper. Credits go to Alexei Starovoitov for the __VA_ARGS__ hint, thanks! - Add a comment to the DO_ONCE() helper as suggested by Alexei. - Rework prandom_init_once() helper to the new API. - Keep Alexei's Acked-by on the last patch. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ad0040573b0c00f88488bc31958acd07a55ee2e Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 8 01:20:39 2015 +0200 bpf: split state from prandom_u32() and consolidate {c, e}BPF prngs While recently arguing on a seccomp discussion that raw prandom_u32() access shouldn't be exposed to unpriviledged user space, I forgot the fact that SKF_AD_RANDOM extension actually already does it for some time in cBPF via commit 4cd3675ebf74 ("filter: added BPF random opcode"). Since prandom_u32() is being used in a lot of critical networking code, lets be more conservative and split their states. Furthermore, consolidate eBPF and cBPF prandom handlers to use the new internal PRNG. For eBPF, bpf_get_prandom_u32() was only accessible for priviledged users, but should that change one day, we also don't want to leak raw sequences through things like eBPF maps. One thought was also to have own per bpf_prog states, but due to ABI reasons this is not easily possible, i.e. the program code currently cannot access bpf_prog itself, and copying the rnd_state to/from the stack scratch space whenever a program uses the prng seems not really worth the trouble and seems too hacky. If needed, taus113 could in such cases be implemented within eBPF using a map entry to keep the state space, or get_random_bytes() could become a second helper in cases where performance would not be critical. Both sides can trigger a one-time late init via prandom_init_once() on the shared state. Performance-wise, there should even be a tiny gain as bpf_user_rnd_u32() saves one function call. The PRNG needs to live inside the BPF core since kernels could have a NET-less config as well. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Chema Gonzalez <chema@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 897ece56e714a2cc64e6914cb89a362d7021b36e Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 8 01:20:38 2015 +0200 random32: add prandom_init_once helper for own rngs Add a prandom_init_once() facility that works on the rnd_state, so that users that are keeping their own state independent from prandom_u32() can initialize their taus113 per cpu states. The motivation here is similar to net_get_random_once(): initialize the state as late as possible in the hope that enough entropy has been collected for the seeding. prandom_init_once() makes use of the recently introduced prandom_seed_full_state() helper and is generic enough so that it could also be used on fast-paths due to the DO_ONCE(). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0dd50d1b0c003ab4f17597fe1198bb57a2fadc06 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 8 01:20:37 2015 +0200 random32: add prandom_seed_full_state helper Factor out the full reseed handling code that populates the state through get_random_bytes() and runs prandom_warmup(). The resulting prandom_seed_full_state() will be used later on in more than the current __prandom_reseed() user. Fix also two minor whitespace issues along the way. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c90aeb948222a7b3d3391d232ec4f50fd8322ad3 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 01:20:36 2015 +0200 once: make helper generic for calling functions once Make the get_random_once() helper generic enough, so that functions in general would only be called once, where one user of this is then net_get_random_once(). The only implementation specific call is to get_random_bytes(), all the rest of this *_once() facility would be duplicated among different subsystems otherwise. The new DO_ONCE() helper will be used by prandom() later on, but might also be useful for other scenarios/subsystems as well where a one-time initialization in often-called, possibly fast path code could occur. Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46234253b9363894a254844a6550b4cc5f3edfe8 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 01:20:35 2015 +0200 net: move net_get_random_once to lib There's no good reason why users outside of networking should not be using this facility, f.e. for initializing their seeds. Therefore, make it accessible from there as get_random_once(). Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d6a6aed22f91b35c14a6717d42953f260090175 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Oct 2 20:28:04 2015 +0200 6lowpan: move shared settings to lowpan_netdev_setup This patch moves values for all lowpan interface to the shared implementation of 6lowpan. This patch also quietly fixes the forgotten IFF_NO_QUEUE flag for the bluetooth 6LoWPAN interface. An identically commit is 4afbc0d ("net: 6lowpan: convert to using IFF_NO_QUEUE") which wasn't changed for bluetooth 6lowpan. All 6lowpan interfaces should be virtual with IFF_NO_QUEUE, using EUI64 address length, the mtu size is 1280 (IPV6_MIN_MTU) and the netdev type is ARPHRD_6LOWPAN. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dcb825a9fd865638f82c557fe42ce8eed35f751d Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Thu Oct 8 02:41:18 2015 +0000 kselftest: add kselftest-clean rule We use $make TARGETS="size timers" kselftest to build and run selftests. but there is no rule for us to clean the kselftest generated files. This patch add the rules, for example: $ make TARGETS="size timers" kselftest-clean can clean all kselftest generated files. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 28335a7445202a3d118145a07d9138e9881ebe18 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 08:40:13 2015 -0700 net: Do not drop to make_route if oif is l3mdev Commit deaa0a6a930 ("net: Lookup actual route when oif is VRF device") exposed a bug in __ip_route_output_key_hash for VRF devices: on FIB lookup failure if the oif is specified the current logic drops to make_route on the assumption that the route tables are wrong. For VRF/L3 master devices this leads to wrong dst entries and route lookups. For example: $ ip route ls table vrf-red unreachable default broadcast 10.2.1.0 dev eth1 proto kernel scope link src 10.2.1.2 10.2.1.0/24 dev eth1 proto kernel scope link src 10.2.1.2 local 10.2.1.2 dev eth1 proto kernel scope host src 10.2.1.2 broadcast 10.2.1.255 dev eth1 proto kernel scope link src 10.2.1.2 $ ip route get oif vrf-red 1.1.1.1 1.1.1.1 dev vrf-red src 10.0.0.2 cache With this patch: $ ip route get oif vrf-red 1.1.1.1 RTNETLINK answers: No route to host which is the correct response based on the default route Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cfc81b50387086c3a1ca6d2be3c46561edfbc3b5 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Oct 7 10:16:09 2015 +0200 bpf, skb_do_redirect: clear sender_cpu before xmit Similar to commit c29390c6dfee ("xps: must clear sender_cpu before forwarding"), we also need to clear the skb->sender_cpu when moving from RX to TX via skb_do_redirect() due to the shared location of napi_id (used on RX) and sender_cpu (used on TX). Fixes: 27b29f63058d ("bpf: add bpf_redirect() helper") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dfdd7230c5a2d9d675b4e7d6e111a8ead13cfb11 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 23:53:57 2015 +0200 net: hns: fix 32-bit build warning The recently added hns driver causes a build warning in ARM allmodconfig builds: drivers/net/ethernet/hisilicon/hns/hnae.c: In function 'handles_show': drivers/net/ethernet/hisilicon/hns/hnae.c:452:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] j, (u64)h->qs[i]->io_base); ^ This removes the pointless cast and prints the pointer address using the "%p" format string in all three locations. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d70e53262f5cfc0b88a211ef9cbd1ca5256f4a6b Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Tue Oct 6 16:37:46 2015 -0400 net: Microchip encx24j600 driver This ethernet driver supports the Micorchip enc424j600/626j600 Ethernet controller over a SPI bus interface. This driver makes use of the regmap API to optimize access to registers by caching registers where possible. Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/39935b.pdf Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 494f8eb9b616590c78bb1974aed835a842f012b6 Merge: 91d2f14 9200c27 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 04:46:03 2015 -0700 Merge branch 'broadcom-iproc' Arun Parameswaran says: ==================== Add support for Broadcom's iProc MDIO and Cygnus Ethernet PHY This patchset adds support for the iProc MDIO interface and the Broadcom Cygnus SoC's internal Ethernet PHY. The internal Ethernet PHY(s) in the Cygnus SoC's are accessed via the MDIO interface found in most of the iProc based chips. The patch also consolidates the common API's used by the Broadcom phys to a common library. Existing Broadcom phy drivers have been modified to use the common library API's. This patch series is based on Linux v4.3-rc1 and is avaliable in: https://github.com/Broadcom/cygnus-linux/tree/cygnus-net-phy-mdio-v3 The Ethernet driver for the iProc family will be submitted soon, as will the device tree configurations for the different iProc family SoCs. Changes from v2: - Modified drivers/net/phy/Kconfig to modify the BCM_CYGNUS_PHY driver to 'depends on MDIO_BCM_IPROC' instead of 'select'. - Added github branch to the cover letter Changes from v1: - Updated device tree documentation for the iProc MDIO driver based on Florian's feedback. - Moved the core register defines from the Cygnus PHY driver to 'include/linux/brcmphy.h' based on Florian's feedback. - Created a new patch/commit to modify the bcm7xxx phy driver to use the new core register defines. - Modified the Kconfig entry for the Broadcom PHY library to 'tristate' instead of 'bool' ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9200c27a1cc7ac719e4c43411e5a170144ba0ac5 Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Tue Oct 6 12:25:50 2015 -0700 net: phy: bcm7xxx: Modified to use global core register defines Modified the bcm7xxx phy driver to remove local core register defines and use the common ones from "include/linux/brcmphy.h" Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e185d6997bb67068f0ca8f062a50caa2608cf1b Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Tue Oct 6 12:25:49 2015 -0700 net: phy: Broadcom Cygnus internal Etherent PHY driver Add support for the Broadcom Cygnus SoCs internal PHY's. The PHYs are 1000M/100M/10M capable with support for 'EEE' and 'APD' (Auto Power Down). This driver supports the following Broadcom Cygnus SoCs: - BCM583XX (BCM58300, BCM58302, BCM58303, BCM58305) - BCM113XX (BCM11300, BCM11320, BCM11350, BCM11360) The PHY's on these SoC's require some workarounds for stable operation, both during configuration time and during suspend/resume. This driver handles the application of the workarounds. Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1cba5613edf50c2a213fa90c30aa10500b241b7 Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Tue Oct 6 12:25:48 2015 -0700 net: phy: Add Broadcom phy library for common interfaces This patch adds the Broadcom phy library to consolidate common interfaces shared by Broadcom phy's. Moved the common interfaces to the 'bcm-phy-lib.c' and updated the Broadcom PHY drivers to use the new APIs. Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ddc24ae1fd6ae2638365b0b824750b5b2ef13ca5 Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Tue Oct 6 12:25:47 2015 -0700 net: phy: Broadcom iProc MDIO bus driver This patch adds support for the Broadcom iProc MDIO bus interface. The MDIO interface can be found in the Broadcom iProc family Soc's. The MDIO bus is accessed using a combination of command and data registers. This MDIO driver provides access to the Etherent GPHY's connected to the MDIO bus. Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb257c3813613ce11329568c21c200e95afe6fc1 Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Tue Oct 6 12:25:46 2015 -0700 dt-bindings: net: Broadcom iProc MDIO bus driver device tree binding Add device tree binding documentation for the Broadcom iProc MDIO bus driver. Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91d2f14bc38336177c2d65e0c2cbf6447133cee1 Merge: 6b92d0c 0676651 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 04:38:37 2015 -0700 Merge branch 'net/rds/4.3-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux Santosh Shilimkar says: ==================== RDS: connection scalability and performance improvements [v4] Re-sending the same patches from v3 again since my repost of patch 05/14 from v3 was whitespace damaged. [v3] Updated patch "[PATCH v2 05/14] RDS: defer the over_batch work to send worker" as per David Miller's comment [4] to avoid the magic value usage. Patch now makes use of already available but unused send_batch_count module parameter. Rest of the patches are same as earlier version v2 [3] [v2]: Dropped "[PATCH 05/15] RDS: increase size of hash-table to 8K" from earlier version [1]. I plan to address the hash table scalability using re-sizable hash tables as suggested by David Laight and David Miller [2] This series addresses RDS connection bottlenecks on massive workloads and improve the RDMA performance almost by 3X. RDS TCP also gets a small gain of about 12%. RDS is being used in massive systems with high scalability where several hundred thousand end points and tens of thousands of local processes are operating in tens of thousand sockets. Being RC(reliable connection), socket bind and release happens very often and any inefficiencies in bind hash look ups hurts the overall system performance. RDS bin hash-table uses global spin-lock which is the biggest bottleneck. To make matter worst, it uses rcu inside global lock for hash buckets. This is being addressed by simply using per bucket rw lock which makes the locking simple and very efficient. The hash table size is still an issue and I plan to address it by using re-sizable hash tables as suggested on the list. For RDS RDMA improvement, the completion handling is revamped so that we can do batch completions. Both send and receive completion handlers are split logically to achieve the same. RDS 8K messages being one of the key usecase, mr pool is adapted to have the 8K mrs along with default 1M mrs. And while doing this, few fixes and couple of bottlenecks seen with rds_sendmsg() are addressed. Series applies against 4.3-rc1 as well net-next. Its tested on Oracle hardware with IB fabric for both bcopy as well as RDMA mode. RDS TCP is tested with iXGB NIC. Like last time, iWARP transport is untested with these changes. The patchset is also available at below git repo: git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux.git net/rds/4.3-v3 As a side note, the IB HCA driver I used for testing misses at least 3 important patches in upstream to see the full blown IB performance and am hoping to get that in mainline with help of them. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b92d0c4a6eefd32da7ecaf6873cb7e7e7602cfa Merge: e28383d ede2059 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 04:27:13 2015 -0700 Merge branch 'pass_net_through_output_path' Eric W. Biederman says: ==================== net: Pass net through the output path v2 This is the next installment of my work to pass struct net through the output path so the code does not need to guess how to figure out which network namespace it is in, and ultimately routes can have output devices in another network namespace. The first patch in this series is a fix for a bug that came in when sk was passed through the functions in the output path, and as such is probably a candidate for net. At the same time my later patches depend on it so sending the fix separately would be confusing. The second patch in this series is another fix that for an issue that came in when sk was passed through the output path. I don't think it needs a backport as I don't think anyone uses the path where the code was incorrect. The rest of the patchset focuses on the path from xxx_local_out to dst_output and in the end succeeds in passing sock_net(sk) from the socket a packet locally originates on to the dst->output function. Given the size reduction in the code I think this counts as a cleanup as much as feature work. There remain a number of helper functions (like ip option processing) to take care of before the network stack can support destination devices in other network namespaces but with this set of changes the backbone of the work is done. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ede2059dbaf9c6557a49d466c8c7778343b208ff Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:47 2015 -0500 dst: Pass net into dst->output The network namespace is already passed into dst_output pass it into dst->output lwt->output and friends. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33224b16ffccb49cf798317670389e0bfba0024c Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:46 2015 -0500 ipv4, ipv6: Pass net into ip_local_out and ip6_local_out Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf91a99daa4651d0c1f52b8c3d813fd44b43cada Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:45 2015 -0500 ipv4, ipv6: Pass net into __ip_local_out and __ip6_local_out Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57c4bf859cad9d6c4f73d8c98a95e00f156301e0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:44 2015 -0500 ipvlan: Cache net in ipvlan_process_v4_outbound and ipvlan_process_v6_outbound Compute net once in ipvlan_process_v4_outbound and ipvlan_process_v6_outbound and store it in a variable so that net does not need to be recomputed next time it is used. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7093fefa543afad2bf292bba163800e81a4ba33 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:43 2015 -0500 ppp: Cache net in pptp_xmit Compute net and store it in a variable in pptp_xmit, so that the value can be reused the next time it is needed. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77589ce0f84dd99cc946fd71fe6fb44dd8220d0a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:42 2015 -0500 ipv4: Cache net in ip_build_and_send_pkt and ip_queue_xmit Compute net and store it in a variable in the functions ip_build_and_send_pkt and ip_queue_xmit so that it does not need to be recomputed next time it is needed. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f859b0f662493e4f53d462f5759e3c4302933077 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:41 2015 -0500 ipv4: Cache net in iptunnel_xmit Store net in a variable in ip_tunnel_xmit so it does not need to be recomputed when it is used again. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 792883303cdb3a7edd16017d7aba53926189ef41 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:40 2015 -0500 ipv6: Merge ip6_local_out and ip6_local_out_sk Stop hidding the sk parameter with an inline helper function and make all of the callers pass it, so that it is clear what the function is doing. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f8955cc468ddb7d08a0e614a45f9a82c4019b00 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:39 2015 -0500 ipv6: Merge __ip6_local_out and __ip6_local_out_sk Only __ip6_local_out_sk has callers so rename __ip6_local_out_sk __ip6_local_out and remove the previous __ip6_local_out. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2cb77db089796f163092326ca25512845df7a3a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:38 2015 -0500 ipv4: Merge ip_local_out and ip_local_out_sk It is confusing and silly hiding a parameter so modify all of the callers to pass in the appropriate socket or skb->sk if no socket is known. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b92dacd45698e120104ff81066ceb534916090d9 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:37 2015 -0500 ipv4: Merge __ip_local_out and __ip_local_out_sk Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ebdfba73c09d8568d891bae87c40fad43dd7f41 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:36 2015 -0500 dst: Pass a sk into .local_out For consistency with the other similar methods in the kernel pass a struct sock into the dst_ops .local_out method. Simplifying the socket passing case is needed a prequel to passing a struct net reference into .local_out. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13206b6bff3b15b724926a222406476bf2c23c40 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:35 2015 -0500 net: Pass net into dst_output and remove dst_output_okfn Replace dst_output_okfn with dst_output Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f5312ae620c79e877a6aa0e8894c6603a090b4e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:34 2015 -0500 xfrm: Only compute net once in xfrm_policy_queue_process Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 850dcc4d4dd7d5da5c1b2a780c5e649c3b649545 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:33 2015 -0500 ipv4: Fix ip_queue_xmit to pass sk into ip_local_out_sk After a packet has been encapsulated by a tunnel we should use the tunnel sockets local multicast loopback flag to control if the encapsulated packet should be locally loopback back. Pass sk into ip_local_out_sk so that in the rare case we are dealing with a tunneled packet whose tunnel destination address is a multicast address the kernel properly decides to loopback this packet. In practice I don't think this matters as ip_queue_xmit is used by tcp, l2tp and sctp none of which I am aware of uses ip level multicasting as they are all point to point communications protocols. Let's fix this before someone uses ip_queue_xmit for a tunnel protocol that does use multicast. Fixes: aad88724c9d5 ("ipv4: add a sock pointer to dst->output() path.") Fixes: b0270e91014d ("ipv4: add a sock pointer to ip_queue_xmit()") Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd2874b3bbe832e90ac480971a7a8bd736b629b9 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:32 2015 -0500 ipv4: Fix ip_local_out_sk by passing the sk into __ip_local_out_sk In the rare case where sk != skb->sk ip_local_out_sk arranges to call dst->output differently if the skb is queued or not. This is a bug. Fix this bug by passing the sk parameter of ip_local_out_sk through from ip_local_out_sk to __ip_local_out_sk (skipping __ip_local_out). Fixes: 7026b1ddb6b8 ("netfilter: Pass socket pointer down through okfn().") Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e28383dd28afafefb0e445354c88f7b1e99aae9d Merge: 61d0372 7fd0ac6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 04:21: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-10-07 This series contains updates to i40e and i40evf only. Paul updates i40e to simply increase the amount of time we wait for a reset to complete since we have seen in some rare occasions the reset can take longer to complete. Shannon updates the driver to turn on Wake-on-LAN by default if it is enabled in the hardware config to begin with, rather than always disable it and wait for the user to expressly turn it on. Added new device id's and support for future devices. Fixed a possible type compare problem between a size and possible negative number. Also fixed a shift value that was wrong, which ended up with a bad bitmask. Did general house cleaning of the driver to cleanup several low lying fruit in the driver. Fixed an issue where new unicast address's would be added to the VSI list and then immediately removed and would never actually make it down to the hardware. Resolved the issue by removing the separation from unicast and multicast in the search for filters to be deleted. Mitch fixes an issue where the hardware would continue to access the memory formerly used by the rings for a VF which have been removed, causing memory corruption or DMAR errors. To relieve this condition, explicitly stop all rings associated with each VF before releasing its resources. Also fixed a panic if the driver is unable to enable MSI-X or its unable to acquire enough vectors, so propagate interrupt allocation failure information to the calling function. Cleaned up opcode that is not required. Carolyn extends the size of the test available for the interrupt names so that all the descriptive data available for the Flow Director interrupts is not truncated. Catherine fixes an issue where there was a possibility of speed getting set to 0 if advertised is set to 0 (which is the case when autoneg is disabled). Jesse fixes the checksum on big endian machines, so added code to swap it correctly. Also fixed a bug in the return from get_link_status() where only true or false was being returned, but false could mean multiple things. So allow the caller to get all the return values in the call chain bubbled back to the source so that the reason for the failure does not get lost. Anjali adds statistics to keep track of how many times we ask the stack to linearize the SKB because the hardware cannot handle SKBs with more than 8 frags per segment/single packet. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f14d104dbdb5044dac9acd0e983ffb60f706c746 Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 11:37:06 2015 +0200 btrfs: switch more printks to our helpers Convert the simple cases, not all functions provide a way to reach the fs_info. Also skipped debugging messages (print-tree, integrity checker and pr_debug) and messages that are printed from possibly unfinished mount. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 9464732266862f6044e4708dca6c4b2a83dd937b Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 11:01:36 2015 +0200 btrfs: switch message printers to ratelimited variants Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 61d0372028d98046176a8a36e40b78b5bbac5512 Merge: acb4a6b 77792b1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 04:01:28 2015 -0700 Merge tag 'regmap-offload-update-bits' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap regmap: Allow buses to provide a custom update_bits() operation Some buses provide a native _update_bits() operation which for uncached registers is faster than doing a read/modify/write cycle as it is a single bus transaction. Add support for implementing this to regmap. commit 955da48532f6d6254cca38f6f247ddeee1ebd722 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Thu Oct 8 11:21:54 2015 +0100 ASoC: da7213: Correct units description of dmic-clkrate Description previously stated MHz whereas the resolution is in Hz. This has now has been updated to align with reality. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 25556ae6b965321c7e7469faa06ddbeae50dac91 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Aug 19 14:58:43 2015 +0200 IB: remove xrc_remote_srq_num from struct ib_send_wr The field is only initialized in mlx, but never used. If we want to add proper XRC support it should be done with a new struct ib_xrc_wr. This shrinks the various WR structures by another 4 bytes. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Tested-by: Haggai Eran <haggaie@xxxxxxxxxxxx> commit e622f2f4ad2142d2a613a57fb85f8cf737935ef5 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 8 09:16:33 2015 +0100 IB: split struct ib_send_wr This patch split up struct ib_send_wr so that all non-trivial verbs use their own structure which embedds struct ib_send_wr. This dramaticly shrinks the size of a WR for most common operations: sizeof(struct ib_send_wr) (old): 96 sizeof(struct ib_send_wr): 48 sizeof(struct ib_rdma_wr): 64 sizeof(struct ib_atomic_wr): 96 sizeof(struct ib_ud_wr): 88 sizeof(struct ib_fast_reg_wr): 88 sizeof(struct ib_bind_mw_wr): 96 sizeof(struct ib_sig_handover_wr): 80 And with Sagi's pending MR rework the fast registration WR will also be down to a reasonable size: sizeof(struct ib_fastreg_wr): 64 Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> [srp, srpt] Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> [sunrpc] Tested-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> commit 17db84eba18eaa20fab687bf38418a2286cb085a Author: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Date: Wed Oct 7 07:08:25 2015 +0200 staging: wilc1000: avoid NULL pointer dereference on error The host_int_init() function can dereference the pstrWFIDrv pointer while it is NULL on its error path. Jump directly to the _fail_ error label in the end of the error handling path to avoid that. By doing that we also skip stopping our kthread and destroying our message queue, but they were not started or created yet in that case anyway. This fixes the following coccinelle error: drivers/staging/wilc1000/host_interface.c:6100:17-33: ERROR: pstrWFIDrv is NULL but dereferenced. Signed-off-by: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 960819a1e572df82cfa8197133ed3f8aca487e1b Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Tue Oct 6 22:14:02 2015 +0300 Staging: wilc1000: fix spelling mistake. This patch corrects the spelling of the word function by adding missing letter. Problem found by checkpatch.pl : CHECK: 'funcion' may be misspelled - perhaps 'function'? Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 281dd5ac142fc9ae19ba12353e860cfcab13b8ab Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 5 17:00:33 2015 +0530 Staging: wilc1000: host_interface: 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 patch used - // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,ETH_ALEN); +eth_zero_addr(e); // </smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcf0265384ded8c89264202faf59fb538c6b25c4 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 5 17:00:32 2015 +0530 Staging: wilc1000: wilc_wfi_cfgoperations: 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 patch used - // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,ETH_ALEN); +eth_zero_addr(e); // </smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a3c033262311ad274ef40f5ab4f2ec1d453ad72 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:35:04 2015 +0900 staging: wilc1000: remove unnecessary parentheses in host_int_remove_wep_key This patch removes unnecessary parentheses in host_int_remove_wep_key found by checkpatch. CHECK: Unnecessary parentheses around wfi_drv->hSemTestKeyBlock FILE: drivers/staging/wilc1000/host_interface.c:4320: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4929affee3a71243154873bb55763bb923e6bba9 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:35:03 2015 +0900 staging: wilc1000: fix NULL comparison in host_int_remove_wep_key This patch fixes NULL comparison style in host_int_remove_wep_key found by checkpatch. CHECK: Comparison to NULL could be written "!wfi_drv" FILE: drivers/staging/wilc1000/host_interface.c:4300 Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c694d829c5dfaf33dfcc47c6c2559f238de5978 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:35:02 2015 +0900 staging: wilc1000: remove multiple blank in host_int_remove_wep_key This patch removes multiple blank in host_int_remove_wep_key found by checkpatch. CHECK: Please don't use multiple blank lines FILE: drivers/staging/wilc1000/host_interface.c:4299: FILE: drivers/staging/wilc1000/host_interface.c:4309: FILE: drivers/staging/wilc1000/host_interface.c:4315: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 754d8c9016e00fc34dc6460ec00db2544033a12b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:35:01 2015 +0900 staging: wilc1000: remove pstrWFIDrv in host_int_remove_key This patch remove pstrWFIDrv in host_int_remove_key. There is no need to make another variable to check if first argument is NULL or not. It is able to use wfi_drv directly that is first argument of this function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e5e8b44bc67d2d06f660b6f3e8270f862078011 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:35:00 2015 +0900 staging: wilc1000: rename s32Error in host_int_remove_wep_key This patch replaces s32Error with result in host_int_remove_wep_key to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 517af2f582a93f2f48042b550daab6dbdf395690 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:59 2015 +0900 staging: wilc1000: rename u8keyIdx in host_int_remove_wep_key This patch replaces u8keyIdx with index that is secondard argument of host_int_remove_wep_key to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c54a9fb8492e5e53edf0b075e501fdaff54abf4e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:58 2015 +0900 staging: wilc1000: rename hWFIDrv in host_int_remove_wep_key This patch replaces hWFIDrv with wfi_drv that is first argument of host_int_remove_wep_key to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33e8ce215aff1ea662bdb44e0b30ac461f1c4003 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:57 2015 +0900 staging: wilc1000: fix return type of host_int_remove_wep_key This patch changes return type of host_int_remove_wep_key from s32 to int. s32Error gets return value from wilc_mq_send that has return type of int. It should be changed return type by int as well as data type of s32Error. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23fdedfcca5282e626532359dde6e86fa9c9a3ba Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:54 2015 +0900 staging: wilc1000: remove host_int_test_set_int_wid This function is defined but never used anywhere, so just delete it. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c28293b4882598880534b9d8f5d2e073c32c1c9 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:53 2015 +0900 staging: wilc1000: delete multiple blank lines This patch deletes multiple blank lines found by checkpatch CHECK: Please don't use multiple blank lines FILE: drivers/staging/wilc1000/host_interface.c:5393: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49fb6f714c75c77b3dc230c204b6aed8a7f22dd7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:52 2015 +0900 staging: wilc1000: rename u32mode in host_int_set_operation_mode This patch replaces u32mode with mode that is second argument of host_int_set_operation_mode to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 230819267c3daad2414d87ab9addeb4164adae74 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:51 2015 +0900 staging: wilc1000: rename hWFIDrv in host_int_set_operation_mode This patch replaces hWFIDrv with wfi_drv that is first argument of host_int_set_operation_mode to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0c1ee0cb999b726b206039aad459ea3038f7142 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:50 2015 +0900 staging: wilc1000: rename s32Error in host_int_set_operation_mode This patch replaces s32Error with result to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d491ef72be51177a41d247a73f4b06cf5d3b084f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:49 2015 +0900 staging: wilc1000: fix return type of host_int_set_operation_mode This patch changes return type of host_int_set_operation_mode from s32 to int. s32Error gets return value from wilc_mq_send that has return type of int. It should be changed return type by int as well as data type of s32Error. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c5f3e5ad15c162f8bf86c218a02e5cc0e55bc44 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:48 2015 +0900 staging: wilc1000: rename u32address in host_int_set_wfi_drv_handler This patch replaces u32address with address to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a094101cdc86d102e651342ee1078e147203f13f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:47 2015 +0900 staging: wilc1000: rename s32Error in host_int_set_wfi_drv_handler This patch replaces s32Error with result to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 909cccd9523c5ead7712c7d21dbcba4d35f28f8a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:46 2015 +0900 staging: wilc1000: remove multiple blank lines This patch removes multiple blank lines found by checkpatch CHECK: Please don't use multiple blank lines FILE: drivers/staging/wilc1000/host_interface.c:5343: FILE: drivers/staging/wilc1000/host_interface.c:5372: FILE: drivers/staging/wilc1000/host_interface.c:5389: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f7f06cffb8f2aba83e4033aff1a1359abf294a4 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:45 2015 +0900 staging: wilc1000: fix return type of host_int_set_wfi_drv_handler This patch changes return type of host_int_set_wfi_drv_handler from s32 to int. s32Error gets return value from wilc_mq_send that has return type of int. It should be changed return type by int as well as data type of s32Error. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a02a3415cf46e1367f647c539c56beb6a92e1d9 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:53 2015 +0900 staging: wilc1000: host_interface.c : remove unused functions This patch removes unused functions from the host_interface.c(h). - Switch_Log_Terminal - Handle_DelBASession - host_int_addBASession This patch includes the removal of the comment for host_int_addBASession as well. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit feea5c4121cf83aab46f9d1a7ab49bc748c3d4a7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:52 2015 +0900 staging: wilc1000: remove unused functions This patch removes unused functions. - drivers/staging/wilc1000/linux_mon.c : WILC_WFI_mon_setup - drivers/staging/wilc1000/wilc_sdio.o : sdio_set_func0_csa_address_byte0 Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4bc3d677e533abcc1cdc8e271ce239d6956ae12 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:51 2015 +0900 staging: wilc1000: wilc_wfi_cfgoperations.c : remove unused functions This patch removes unused functions from the wilc_wfi_cfgoperations.c. - WILC_WFI_dump_survey - WILC_WFI_auth - WILC_WFI_assoc - WILC_WFI_deauth - WILC_WFI_disassoc - WILC_WFI_set_bitrate_mask Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc1848acb93b655219d097045bfb50e8bfcab279 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:50 2015 +0900 staging: wilc1000: rename tWILCpfRemainOnChanReady This patch renames tWILCpfRemainOnChanReady to wilc_remain_on_chan_ready. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdc22a49b1c04a020c0222ba2ff32eca339fbaef Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:49 2015 +0900 staging: wilc1000: rename tWILCpfRemainOnChanExpired This patch renames tWILCpfRemainOnChanExpired to wilc_remain_on_chan_expired. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 430a78cf77236e5cdb514459ffb38609bd9c10b1 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:48 2015 +0900 staging: wilc1000: remove typedef from CURRENT_TX_RATE_T This patch remove typedef from the enum CURRENT_TX_RATE_T. And rename it to CURRENT_TXRATE. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 073b8d0ca73c252a4e3c5fa71a00b2d41dd274d0 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:47 2015 +0900 staging: wilc1000: remove typedef from SITE_SURVEY_T This patch remove typedef from the enum SITE_SURVEY_T. And rename it to SITESURVEY. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9529650a55f69362c386463001ded3ec0c5f99b3 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:46 2015 +0900 staging: wilc1000: remove typedef from tstrCfgParamVal This patch removes typedef from the struct tstrCfgParamVal. And rename it to cfg_param_val. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd1e6cb4c9e165b37632995deb722becbaf2e91b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:45 2015 +0900 staging: wilc1000: remove typedef from tstrHostIFpmkid This patch removes typedef from the struct tstrHostIFpmkid. And rename it to host_if_pmkid. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a949f9095d29f7307dac036c8b7182cb42adad61 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:44 2015 +0900 staging: wilc1000: remove typedef from tstrHostIFpmkidAttr This patch removes typedef from the struct tstrHostIFpmkidAttr. And rename it to host_if_pmkid_attr. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4372d3d3c9d14fab2d31d328bfbcba77d7b276da Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:43 2015 +0900 staging: wilc1000: remove typedef from tstrHostIFwpaAttr This patch removes typedef from the struct tstrHostIFwpaAttr. And rename it to host_if_wpa_attr. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c276c44aacb61b93cc42dd26f630d90b0517e0bd Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:42 2015 +0900 staging: wilc1000: remove typedef from tstrHostIFwepAttr This patch removes typedef from the struct tstrHostIFwepAttr. And rename it to host_if_wep_attr. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40cc2c90adfcf1519aa457fc9fedec2ee0856fd5 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:41 2015 +0900 staging: wilc1000: remove typedef from tuniHostIFkeyAttr This patch remove typedef from the union tuniHostIFkeyAttr. And rename it to host_if_key_attr. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9d963333de75d295d344f100fa95d776018b5f0 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:40 2015 +0900 staging: wilc1000: remove typedef from tenuKeyType This patch remove typedef from the enum tenuKeyType. And rename it to KEY_TYPE. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 841dfc428dc0fac52122644cf32f227ecb6f9e16 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:39 2015 +0900 staging: wilc1000: remove typedef from AUTHTYPE_T This patch removes typedef from the enum AUTHTYPE_T. And, rename it to AUTHTYPE. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6ab85fe61f7d436650197cb100f35971367cbdd Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:38 2015 +0900 staging: wilc1000: rename tWILCpfConnectResult This patch renames tWILCpfConnectResult to wilc_connect_result. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 607db44794eec00bfd88616dfb30d793c23c3950 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:37 2015 +0900 staging: wilc1000: remove typedef from tstrHiddenNetwork This patch removes typedef from the struct tstrHiddenNetwork. And, rename it to hidden_network. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba1d1a695e90756f7bbb45e4e782bede43054c87 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:36 2015 +0900 staging: wilc1000: rename tWILCpfScanResult This patch renames tWILCpfScanResult to wilc_scan_result. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0c1e80e42d7505d16dca4b1bd992299030a12dd Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 5 13:50:46 2015 +0900 staging: wilc1000: rename strHostIFDelAllSta This patch renames strHostIFDelAllSta to del_all_sta_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e60831e9749bd616512295d7d4b383a9a9dee129 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 5 13:50:45 2015 +0900 staging: wilc1000: rename pUserData This patch renames pUserData to data to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c4008dba721a8e83f9ae8064b1add747ac33927 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 5 13:50:44 2015 +0900 staging: wilc1000: rename strHostIfRegisterFrame This patch renames strHostIfRegisterFrame to reg_frame to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 792fb25b1be8a61f623438abe40efcdbcb9597a3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 11:07:22 2015 +0900 staging: wilc1000: return error code directly in host_int_set_mac_chnl_num There is no need to pass the error code to the variable 'result'. Just return the error directly when error occurs. Return 0 at the end of this function when error is not happened. Suggested-by: Julian Calaby <julian.calaby@xxxxxxxxx> Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 157da215b5312017889dc856e770c422db336aac Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 11:07:21 2015 +0900 staging: wilc1000: remove pstrWFIDrv in host_int_set_mac_chnl_num This patch removes pstrWFIDrv variable in host_int_set_mac_chnl_num function. There is no need to make another variable to check if first arugment is NULL or not. It is able to use wfi_drv directly that is first argument of this function. Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 367e8560e8d7a62d96e9b1d644028a3816e04206 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Wed Oct 7 22:06:55 2015 +0200 Staging: fbtbt: Replace timespec with ktime_t struct timespec will overflow in year 2038, so replace it with ktime_t. And replace functions that use struct timespec, timespec_sub with ktime_sub. Also use monotonic time instead of real time, by replacing getnstimeofday with ktime_get, to be more robust against leap seconds and settimeofday() calls. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f60c265159e832ae389f3ab1acf9343d9e86a19a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Oct 7 18:19:37 2015 +0530 Staging: speakup: Use ARRAY_SIZE macro ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. Changes made using Coccinelle- @@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f34b77ec86ec15b3dfe4e82161d77ff96bf6666b Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Tue Oct 6 11:35:19 2015 +0300 staging: rdma: amso1100: remove label indentation Remove label indentation to follow kernel coding style Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2136c81fd9e108c0ff6627e86d7ccdd8e4c7f586 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Wed Oct 7 10:29:43 2015 +0530 staging: vt6656: Remove space before closing brace Remove space before closing brace '}'. Problem found using checkpatch.pl CHECK: Blank lines aren't necessary before a close brace '}' Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1df7e0a10b012b2e3652edcea3536aa10b48e0e9 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 6 13:26:50 2015 +0530 staging: vt6656: Remove space after opening brace Remove space after opening brace '{'. Problem found using checkpatch.pl CHECK: Blank lines aren't necessary after an open brace '{' Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbe396fbacc7b9e877a97a394ce2cd4a50a74160 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:23 2015 +0530 Staging: rtl8712: rtl8712_hal.h: Coding style warnings fix for block comments This is patch to the rtl8712_hal.h file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d228d87fc35965f6f563f2b8111ef6c057f0702 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:22 2015 +0530 Staging: rtl8712: rtl8712_gp_bitdef.h: Coding style warning fix for block comment This is patch to the rtl8712_gp_bitdef.h file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 602cac56ddee29603bf50278d4bb1d1b198687f0 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:21 2015 +0530 Staging: rtl8712: rtl8712_cmdctrl_bitdef.h: Coding style warning fix for block comment This is patch to the rtl8712_cmdctrl_bitdef.h file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed9c838a5d1e3a27acc7d1848cee4faa810225ff Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:20 2015 +0530 Staging: rtl8712: rtl8712_cmd.c: Coding style warnings fix for block comments This is patch to the rtl8712_cmd.c file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61172e0c888b4f6b4608c22162df0cf23bd6e9ce Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:19 2015 +0530 Staging: rtl8712: recv_linux.c: Coding style warning fix for block comment This is patch to the recv_linux.c file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 852681eb4a4356859e7c99551bbdccebb7ce1b53 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:18 2015 +0530 Staging: rtl8712: os_intfs.c : Coding style warning fix for block comment This is patch to the os_intfs.c file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 652199cc2850b8ada082be3d856605aeb59b22b0 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:16 2015 +0530 Staging: rtl8712: ieee80211.h: Coding style warnings fix for block comments This is patch to the ieee80211.h file that fixes up following warning reported by checkpatch.pl : -Block comments use * on subsequent lines -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fd8cba1407b3432bc3ecc26c45bf43a1060d2e7 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:15 2015 +0530 Staging: rtl8712: ieee80211.c: Coding style warnings fix for block comments This is patch to the ieee80211.c file that fixes up following warning reported by checkpatch.pl : -Block comments use * on subsequent lines -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c9968ef9b9df5fc9468a23c6a5b7456ccddb25f Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:13 2015 +0530 Staging: rtl8712: drv_types.h:Coding style warnings fix for block comments This is patch to the drv_types.h file that fixes up following warning reported by checkpatch.pl : -Block comments use * on subsequent lines -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d2884ace7919eadcc220934052ba65baae986e2 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Wed Oct 7 10:58:18 2015 +0530 staging: rtl8712: Remove NULL comparison Remove NULL comparison by using '!' operator. Problem found using checkpatch.pl CHECK: Comparison to NULL could be written "!padapter->halpriv.hal_bus_init" Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a1283606f5f83f975f4f1abb34242004110f959 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Wed Oct 7 10:56:23 2015 +0530 staging: rtl8712: Remove NULL comparison Remove NULL comparison by using '!' operator. Problem found using checkpatch.pl CHECK: Comparison to NULL could be written "!ptmpchar" Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29b1b61435cd3e2890883b218a4c96c7df81f3c5 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Tue Oct 6 14:40:58 2015 -0700 staging: rtl8712: Move constant to right of test or replace with "!" Move constant to the right side of comparison operator or replace equality operator (==) with the unary negation operator (!) if the comparison is to zero. Addesses multiple instances of the checkpatch.pl warning: WARNING: Comparisons should place the constant on the right side of the test Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 335b9efa7265d56890cc8ed3bafd78c86c33e664 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 6 00:48:52 2015 +0530 staging: rtl8712: Add space around '&' Add space around operator '&'. Problem found using checkpatch.pl CHECK: spaces preferred around that '&' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ab4609a5dce8816166a2d46c31c603db6edda1a Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 6 00:44:42 2015 +0530 staging: rtl8712: Add spaces around '|' Add space around operator '|'. Problem found using checkpatch.pl CHECK: spaces preferred around that '|' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3845d02395ae0800829beed9f199ec4648a750e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 6 00:40:16 2015 +0530 staging: rtl8712: Add space around '+' Add space around operator '+'. Problem found using checkpatch.pl CHECK: spaces preferred around that '+' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 137e37d0edaec1c6d08159e06253c1057f281182 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Mon Oct 5 19:50:50 2015 +0530 staging: vt6655: Remove true comparison Remove comparison to true in if statement. Problem found using checkpatch.pl CHECK: Using comparison to true is error prone Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08bfb453f0458dd353f37737d80475ff13868d9c Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Sep 23 19:57:53 2015 +0200 radeonfb: Deinline large functions With this .config: http://busybox.net/~vda/kernel_config, after uninlining these functions have sizes and callsite counts as follows: __OUTPLLP: 61 bytes, 12 callsites __INPLL: 79 bytes, 150 callsites __OUTPLL: 82 bytes, 138 callsites _OUTREGP: 101 bytes, 8 callsites _radeon_msleep: 66 bytes, 18 callsites _radeon_fifo_wait: 83 bytes, 24 callsites _radeon_engine_idle: 92 bytes, 10 callsites radeon_engine_flush: 105 bytes, 2 callsites radeon_pll_errata_after_index_slow: 31 bytes, 11 callsites radeon_pll_errata_after_data_slow: 91 bytes, 9 callsites radeon_pll_errata_after_FOO functions are split into two parts: the inlined part which checks corresponding rinfo->errata bit, and out-of-line part which performs workaround magic per se. Reduction in code size is about 49,500 bytes: text data bss dec hex filename 85789648 22294616 20627456 128711720 7abfc28 vmlinux.before 85740176 22294680 20627456 128662312 7ab3b28 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Alex Deucher <alexdeucher@xxxxxxxxx> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit b438000683c91b8c30f889a25ce01868dbc161bc Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 01:36:08 2015 +0530 Staging: lustre: obdclass: obdo: Declare iattr_from_obdo as static Declare iattr_from_obdo as static since it is used only in this particular file.Also remove the corresponding declaration from header file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 230a8da1c5229fbf0824542987b8febb367a5a14 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 01:36:07 2015 +0530 Staging: lustre: ptlrpc: service: Declare local functions as static Declare ptlrpc_server_drop_request and ptlrpc_stop_all_threads as static since they are used only in this particular file.Also remove the corresponding declaration from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dd7d427ab6e26e68d9c245b579a0acde8b671ee Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 01:36:06 2015 +0530 Staging: lustre: ptlrpc: import: Declare deuuidify as static Declare function deuuidify as static since it is used only in this particular file.Also remove the corresponding declaration from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcdf51c179d50e71ce9e5a11d87c32baef3c1004 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 01:36:05 2015 +0530 Staging: lustre: ptlrpc: pack_generic: Declare local functions as static Declare lustre_swab_ldlm_resource_desc, lustre_swab_obdo, lustre_swab_ldlm_res_id, lustre_swab_ldlm_policy_data as static since they are used only in this particular file. Also remove the corresponding declarations from header file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17ad0ce6058df4a3d85024e86ce554ff1f559cbb Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 01:36:04 2015 +0530 Staging: lustre: obdclass: llog_cat: Declare local functions as static Declare llog_cat_id2handle and llog_cat_process_or_fork as static since they are used only in this particular file. Also remove the corresponding declarations from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be23ce1dfb6ba9dcd2fce9dcc91e6307fc906597 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 5 05:32:39 2015 +0530 Staging: lustre: ptlrcpc: sec: Declare local functions as static Declare functions sptlrpc_secflags2str, sptlrpc_sec_get and sptlrpc_svc_install_rvs_ctx as static since they are used only in this particular file. Also remove them from corresponding header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09eb98b356e4df300d80f819fea6e64a741dd5d9 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 5 05:32:38 2015 +0530 Staging: lustre: ptlrpc: pack_generic: Declare local functions as static Declare functions lustre_swab_ldlm_lock_desc and dump_obdo as static since they are used only in this particular file. Also remove them from corresponding header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38a70c9b62f4a71125701cbf488160a31356b965 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 5 05:32:36 2015 +0530 Staging: lustre: obdclass: llog_swab: Declare local functions as static Declare functions lustre_swab_llog_id and lustre_swab_ll_fid as static since they are used only in this particular file. Also remove them from corresponding header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2035608e126f4ddc6a48f6b04ef967f89db460e1 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:22:55 2015 +0200 gxt4500: enable panning The driver implements pan_display but the corresponding flags are not set. Add FBINFO_HWACCEL_XPAN and FBINFO_HWACCEL_YPAN to flags to allow HW accelerated panning (for fast scrolling). Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 38fc4d45fae58d81786acfe81a13ec0c93b01c98 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:22:54 2015 +0200 gxt4500: Use arch_phys_wc_* for framebuffer Add arch_phys_wc_* calls to allow write-combining using MTRR. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 3c083aa9d2a7b8904c6bd68628c7dfdf9d413816 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:22:53 2015 +0200 gxt4500: fix color order The color order in truecolor modes is wrong. This does not affect console but is visible e.g. in X11 which has wrong colors. Swap blue and red colors to fix the problem. Fixes https://forums.gentoo.org/viewtopic-t-692740-start-0.html Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 21d447985c0392095f858c95f9d56e9253eb9884 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:22:52 2015 +0200 gxt4500: fix 16bpp 565 mode Fix wrong colors in 16bpp 565 mode. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 031e37f8c9c4fcfb45abc6a53bf32f4753b4dba0 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:22:51 2015 +0200 gxt4500: enable on non-PPC architectures These chips can be present at least on x86 too - Fire GL2 AGP has GXT6000P but this driver is currently limited to PPC. Enable it for all architectures and add chip configuration for little-endian. Tested on x86 with Fire GL2 AGP. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 4d57c67827d7bb79c4fcf6618bf80930808e50c6 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Oct 6 00:16:53 2015 +0200 mac80211: add missing struct ieee80211_txq tid field initialization Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 1dd6d7ca9d062721ae37388900a322a4b959e939 Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 10:51:11 2015 +0200 btrfs: introduce ratelimited variants of message printing functions Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit b14af3b46f214c5e927dacf58a994fa3c4cb20dc Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 10:43:10 2015 +0200 btrfs: switch message printers to ratelimited _in_rcu variants Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 24aa6b41d4611b14ad0fb89fa0b899ae9ab7005c Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 10:27:02 2015 +0200 btrfs: introduce ratelimited _in_rcu variants of message printing functions Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit ecaeb14b912a3be55530aeec4e81c7243f5ceb5d Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 09:01:03 2015 +0200 btrfs: switch message printers to _in_rcu variants Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 08a84e25a80566cf3cb1903c2448123efedff132 Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 08:48:52 2015 +0200 btrfs: introduce _in_rcu variants of message printing functions Due to the missing variants there are messages that lack the information printed by btrfs_info etc helpers. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 0e537fef24d64f7bf3ef61a27edf64a8d9a5424c Merge: d3df65c ae93880 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 8 10:52:44 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: - Adding a field via 'perf report -F' that already is enabled makes the tool get stuck in a loop, fix it. (Jiri Olsa) Infrastructure changes: - Support PERF_RECORD_SWITCH in the python binding. (Arnaldo Carvalho de Melo) - Fix handling read() result using a signed variable, found with Coccinelle. (Andrzej Hajda) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d3df65c198dc2f1deefb73c8427b04d1bdd1b18d Merge: 712df65 00e6fa5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 8 10:52:18 2015 +0200 Merge branch 'perf/urgent' into perf/core, before pulling new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0ce5fdb14b8ede01a59f378a2f7fcee877dab8ad Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 8 07:53:58 2015 +0530 staging: sm750fb: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3373f716830f36c0042f5845201caf1d9290f95b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 7 16:39:38 2015 +0100 ASoC: Intel: Skylake: Modify the log level dev_info is too noisy for tplg wiget loading, so move it to debug level Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26d46dffbe2cd0a023aa6192708f80cd796af107 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:24 2015 +0300 Bluetooth: 6lowpan: Remove unnecessary chan_get() function The chan_get() function just adds unnecessary indirection to calling the chan_create() call. The only added value it gives is the chan->ops assignment, but that can equally well be done in the calling code. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0cd088fc97bbe4834e9bc9727012ecac49386849 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:23 2015 +0300 Bluetooth: 6lowpan: Rename confusing 'pchan' variables The typical convention when having both a child and a parent channel variable is to call the former 'chan' and the latter 'pchan'. When there's only one variable it's called chan. Rename the 'pchan' variables in the 6lowpan code to follow this convention. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 630ef791ea8e4274f20b833e1977cb1b0462d3ec Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:22 2015 +0300 Bluetooth: 6lowpan: Remove unnecessary chan_open() function All the chan_open() function now does is to call chan_create() so it doesn't really add any value. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b0c09f94ff1660a1873549b788c998284ea5fb8a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:21 2015 +0300 Bluetooth: 6lowpan: Remove redundant BT_CONNECTED assignment The L2CAP core code makes sure of setting the channel state to BT_CONNECTED, so there's no need for the implementation code (6lowpan in this case) to do it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5d0fd77a043504dabccb66d9b5671e682868e96d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:20 2015 +0300 Bluetooth: 6lowpan: Remove redundant (and incorrect) MPS assignments The L2CAP core code already sets the local MPS to a sane value. The remote MPS value otoh comes from the remote side so there's no point in trying to hard-code it to any value. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 301de2cb6a521405cde1a2f9cdc42c5257b5725b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:19 2015 +0300 Bluetooth: 6lowpan: Fix imtu & omtu values The omtu value is determined by the remote peer so there's no point in trying to hard-code it to any value. The IPSP specification otoh gives a more reasonable value for the imtu, i.e. 1280. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 07387cba8168b8dbffe17301290d65e893b831a2 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 4 20:18:32 2015 +0530 staging: sm750fb: Add space around ':' Add space around operator ':'. Problem found using checkpatch.pl CHECK: spaces preferred around that ':' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31418e37019ec188f4201587c7234bfb463e7bf4 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 4 20:15:34 2015 +0530 staging: sm750fb: Add space around '?' Add space around operator '?'. Problem found using checkpatch.pl CHECK: spaces preferred around that '?' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f40917ea0b976de81d8c77b8c81f9105f363a54b Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 4 20:12:30 2015 +0530 staging: sm750fb: Add space around '*' Add space around operator '*'. Problem found using checkpatch.pl CHECK: spaces preferred around that '*' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c18c331193b2270a5d47f4108ab0fc2bf97c3b51 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 4 20:07:53 2015 +0530 staging: sm750fb: Add space around '/' Add space around operator '/'. Problem found using checkpatch.pl CHECK: spaces preferred around that '/' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aafd858192bc98fab9230f6a634af85c4079f80f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 09:57:49 2015 +0200 drm/i915/irq: Fix misspelled word register in kernel-doc There is a typo in the function i915_handle_error() kernel-doc and the word register is spelled wrongly. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 468f9d2903bcf23e50663679eab5a18da5b886f6 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 09:54:44 2015 +0200 drm/i915/irq: Fix kernel-doc warnings Add the dev parameter for the functions i915_enable_asle_pipestat() and i915_reset_and_wakeup() to the kernel-doc to fix the following warnings: .//drivers/gpu/drm/i915/i915_irq.c:586: warning: No description found for parameter 'dev' .//drivers/gpu/drm/i915/i915_irq.c:2400: warning: No description found for parameter 'dev' Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe806dceded462f7930f8ac4a41c5d19819e70b7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 03:14:28 2015 +0200 Bluetooth: Enforce packet types in hci_recv_frame driver function When calling the hci_recv_frame driver function check for valid packet types that the core should process. This should catch issues with drivers trying to feed vendor packet types through this interface. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 943cc592195ea458058c121d9c4d7481d0f28be1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 03:06:53 2015 +0200 Bluetooth: bpa10x: Use h4_recv_buf helper for frame reassembly The manually coded frame reassembly is actually broken. The h4_recv_buf helper from the UART driver is a perfect fit for frame reassembly for this driver. So just export that function and use it here as well. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 881f7e86a1e0322fbda42c92a36b13c44120bca2 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 03:01:44 2015 +0200 Bluetooth: bpa10x: Add support for set_diag driver callback The BPA-10x devices support tracing operation. Use the set_diag driver callback to allow enabling and disabling that functionality. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ddd68ec8f4847b460c9f580076eafe13b031a6fd Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 02:24:06 2015 +0200 Bluetooth: bpa10x: Read revision information in setup stage For debugging pruposes, read the revision string of the BPA-10x devices and print it. For example one of the latest devices respond with the string SNIF_102,BB930,02/01/18,10:37:56. < HCI Command: Vendor (0x3f|0x000e) plen 1 07 . > HCI Event: Command Complete (0x0e) plen 49 Vendor (0x3f|0x000e) ncmd 1 Status: Success (0x00) 53 4e 49 46 5f 31 30 32 2c 42 42 39 33 30 2c 30 SNIF_102,BB930,0 32 2f 30 31 2f 31 38 2c 31 30 3a 33 37 3a 35 36 2/01/18,10:37:56 00 00 00 00 00 00 00 00 00 00 00 00 00 ............. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit acc649c6540ef224cc07d17c4b632da9dedfb6a2 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 01:53:55 2015 +0200 Bluetooth: Fix interaction of HCI_QUIRK_RESET_ON_CLOSE and HCI_AUTO_OFF When the controller requires the HCI Reset command to be send when closing the transport, the HCI_AUTO_OFF needs to be accounted for. The current code tries to actually do that, but the flag gets cleared to early. So store its value and use it that stored value instead of checking for a flag that is always cleared. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 075e1f5e6c201111e32da99919eb052edc6d1c82 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 7 20:08:26 2015 +0200 Bluetooth: hci_bcm: Enable support for set_diag driver callback The set_diag driver callback allows enabling and disabling the vendor specific diagnostic information. Since Broadcom chips have support for a dedicated LM_DIAG channel, hook it up accordingly. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4b4113d6dbdbdac095743c05f694af9b7cdc9a44 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 7 19:52:35 2015 +0200 Bluetooth: Add debugfs entry for setting vendor diagnostic mode This adds a new debugfs entry for enabling and disabling the vendor diagnostic mode. It is only exposed for drivers that provide the set_diag driver callback and actually have an option for vendor specific diagnostic information. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 94c58132c062855df53db9a46fb8da0b878d69f0 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 7 19:12:54 2015 +0200 Bluetooth: hci_bcm: Enable parsing of LM_DIAG messages The Broadcom UART based controllers can send LM_DIAG messages with the identifier 0x07 inside the HCI stream. These messages are 63 octets in size and have no variable payload or length indicator. This patch adds correct parsing information for the h4_recv_buf handler and in case these packets are received, they are forwarded to the Bluetooth core via hci_recv_diag interface. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e875ff84079b9e7d3ce24b97e3396230d41044d4 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 7 16:38:35 2015 +0200 Bluetooth: Add support for vendor specific diagnostic channel Introduce hci_recv_diag function for HCI drivers to allow sending vendor specific diagnostic messages into the Bluetooth core stack. The messages are not processed, but they are forwarded to the monitor channel and can be retrieved by user space diagnostic tools. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6c566dd5a1253f73458ce6ba6cf3830e9d38c132 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 7 15:32:13 2015 +0200 Bluetooth: Send index information updates to monitor channel The Bluetooth public device address might change during controller setup and it makes it a lot simpler for monitoring tools if they just get told what the new address is. In addition include the manufacturer / company information of the controller. That allows for easy vendor specific HCI command and event handling. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f1fed8c054a22dcb88c0ded986c80aa7019e5098 Merge: 6ff33f3 50b956f Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Oct 7 23:13:49 2015 -0500 Merge tag 'qcom-fixes-for-4.3-rc1' into base-for-4.4 Qualcomm fixes for v4.3-rc1 * Add SCM function call stubs on ARM64 commit d4edda3f2b3c74379c78c656a06657b328c813aa Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Sep 30 12:24:19 2015 -0400 drm/amdgpu: disable hw semaphores by default These are buggy on some asics and not really used anymore now that the GPU schedular is enabled. Change-Id: I67182b409d64de308392a15d1a0a15018071dc0b Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 36b4ba07d673032d71045bc149930b0f176e6292 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Sep 15 16:56:10 2015 +0800 drm/amdgpu: enable scheduler by default Change-Id: Idce64f63e8422324996fc5d583d0bc9a5ac60d0c Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 95d7918323be0090a1cc36f0ebdd1d3af88f2335 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Sep 23 17:22:43 2015 +0800 drm/amdgpu: add TOPDOWN flag to the whole vram need to decrease visible vram usage by default. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit a2ef8a974931bd4a28e81a3de0a3813e97acfc30 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Sep 22 18:20:50 2015 +0800 drm/amdgpu: add vram usage into debugfs Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 0bde3a95eaa90f130dbb71a846243aa6f0e678cf Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 17:58:06 2015 -0400 drm/amdgpu: split gfx8 gpu init into sw and hw parts Calculate the driver state in sw_init and program the registers in hw init. Acked-by: Leo Liu <leo.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit efbb05c2c00231d73393390db2156046bda787de Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 01:00:06 2015 +0300 ARM: shmobile: porter: enable SATA0 Enable SATA0 device for the Porter board. This patch is analogous to the commit 5a62ec57004f ("ARM: shmobile: henninger: enable SATA0") as there are no differences between the boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 39cd2dd39a8b92ce91c4dad95f6e979c946a3942 Merge: d2856b0 ad2ad5d 4bace73 a36a996 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:06:25 2015 -0700 Merge branches 'doc.2015.10.06a', 'percpu-rwsem.2015.10.06a' and 'torture.2015.10.06a' into HEAD doc.2015.10.06a: Documentation updates. percpu-rwsem.2015.10.06a: Optimization of per-CPU reader-writer semaphores. torture.2015.10.06a: Torture-test updates. commit d2856b046d2ce2bfb664727cb8671ad0e371bd6c Merge: 7f5f873 338b0f7 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:05:21 2015 -0700 Merge branches 'fixes.2015.10.06a' and 'exp.2015.10.07a' into HEAD exp.2015.10.07a: Reduce OS jitter of RCU-sched expedited grace periods. fixes.2015.10.06a: Miscellaneous fixes. commit 338b0f760e84676130c6e4d8268cb8c923b38c8c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 00:45:02 2015 -0700 rcu: Better hotplug handling for synchronize_sched_expedited() Earlier versions of synchronize_sched_expedited() can prematurely end grace periods due to the fact that a CPU marked as cpu_is_offline() can still be using RCU read-side critical sections during the time that CPU makes its last pass through the scheduler and into the idle loop and during the time that a given CPU is in the process of coming online. This commit therefore eliminates this window by adding additional interaction with the CPU-hotplug operations. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b08517c76d764c373c232cd309ed058c98705219 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 12:17:29 2015 -0700 rcu: Enable stall warnings for synchronize_rcu_expedited() This commit redirects synchronize_rcu_expedited()'s wait to synchronize_sched_expedited_wait(), thus enabling RCU CPU stall warnings. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c58656382e5f2919b05913584f2c54b4f841bc9f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 11:25:48 2015 -0700 rcu: Add tasks to expedited stall-warning messages This commit adds task-print ability to the expedited RCU CPU stall warning messages in preparation for adding stall warnings to synchornize_rcu_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 74611ecb0fc4c850a8f89a744ce99cbf0dd43cb2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:20:43 2015 -0700 rcu: Add online/offline info to expedited stall warning message This commit makes the RCU CPU stall warning message print online/offline indications immediately after the CPU number. A "O" indicates global offline, a "." global online, and a "o" indicates RCU believes that the CPU is offline for the current grace period and "." otherwise, and an "N" indicates that RCU believes that the CPU will be offline for the next grace period, and "." otherwise, all right after the CPU number. So for CPU 10, you would normally see "10-...:" indicating that everything believes that the CPU is online. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit dcdb8807ba0f5127d4dc67daeeb154edf50a93d1 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 15 19:00:31 2015 -0700 rcu: Consolidate expedited CPU selection Now that sync_sched_exp_select_cpus() and sync_rcu_exp_select_cpus() are identical aside from the the argument to smp_call_function_single(), this commit consolidates them with a functional argument. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 66fe6cbee44e3f78d05882195a6a38e30b97b936 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 15 17:20:58 2015 -0700 rcu: Prepare for consolidating expedited CPU selection This commit brings sync_sched_exp_select_cpus() into alignment with sync_rcu_exp_select_cpus(), as a first step towards consolidating them into one function. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 02ef3c4a2aae65a1632b27770bfea3f83ca06772 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 15:14:30 2015 -0700 cpu: Remove try_get_online_cpus() Now that synchronize_sched_expedited() no longer uses it, there are no users of try_get_online_cpus() in mainline. This commit therefore removes it. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 807226e2fbb504d82cd504b7b6114896db41ef63 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 12:03:45 2015 -0700 rcu: Stop excluding CPU hotplug in synchronize_sched_expedited() Now that synchronize_sched_expedited() uses IPIs, a hook in rcu_sched_qs(), and the ->expmask field in the rcu_node combining tree, it is no longer necessary to exclude CPU hotplug. Any races with CPU hotplug will be detected when attempting to send the IPI. This commit therefore removes the code excluding CPU hotplug operations. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 83c2c735e78da1a0d994911f730f6e1d36c88d7a Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 20:43:02 2015 -0700 rcu: Stop silencing lockdep false positive for expedited grace periods This reverts commit af859beaaba4 (rcu: Silence lockdep false positive for expedited grace periods). Because synchronize_rcu_expedited() no longer invokes synchronize_sched_expedited(), ->exp_funnel_mutex acquisition is no longer nested, so the false positive no longer happens. This commit therefore removes the extra lockdep data structures, as they are no longer needed. commit 6587a23b6b9bdb47205ec96c703e5bf8a2d39701 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 16:50:39 2015 -0700 rcu: Switch synchronize_sched_expedited() to IPI This commit switches synchronize_sched_expedited() from stop_one_cpu_nowait() to smp_call_function_single(), thus moving from an IPI and a pair of context switches to an IPI and a single pass through the scheduler. Of course, if the scheduler actually does decide to switch to a different task, there will still be a pair of context switches, but there would likely have been a pair of context switches anyway, just a bit later. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ae938802443732e77d01f8d5b52b900b9327ff30 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Oct 6 17:46:46 2015 -0300 perf python: Support the PERF_RECORD_SWITCH event To test it check tools/perf/python/twatch.py, after following the instructions there to enable context_switch, output looks like: [root@zoo linux]# tools/perf/python/twatch.py cpu: 1, pid: 31463, tid: 31463 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31463, switch_out: 0 } cpu: 2, pid: 31463, tid: 31496 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31496, switch_out: 0 } cpu: 2, pid: 31463, tid: 31496 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31496, switch_out: 1 } cpu: 3, pid: 31463, tid: 31527 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31527, switch_out: 0 } cpu: 1, pid: 31463, tid: 31463 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31463, switch_out: 1 } cpu: 3, pid: 31463, tid: 31527 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31527, switch_out: 1 } cpu: 1, pid: 31463, tid: 31463 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31463, switch_out: 0 } ^CTraceback (most recent call last): File "tools/perf/python/twatch.py", line 67, in <module> main(context_switch = 1, thread = 31463) File "tools/perf/python/twatch.py", line 40, in main evlist.poll(timeout = -1) KeyboardInterrupt [root@zoo linux]# Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Guy Streeter <streeter@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-1ukistmpamc5z717k80ctcp2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit df829b06f0079165d9dc7719af8f8a7da852fe51 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:39:58 2015 +0900 ARM: dts: Use GPIO constants for flags cells in exynos5440 boards The board DTS are using numeric values instead of the defined GPIO constanst to express polarity, use them to make the DTS more clear. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 31b9903c233e831f3b0c05c6a62c0e39e85e77ec Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:39:58 2015 +0900 ARM: dts: Use GPIO constants for flags cells in exynos5420/5422/5800 boards The board DTS are using numeric values instead of the defined GPIO constanst to express polarity, use them to make the DTS more clear. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c10d3290cbde0e81d92d622e0b58eea2739fe557 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:39:58 2015 +0900 ARM: dts: Use GPIO constants for flags cells in exynos4412 boards The board DTS are using numeric values instead of the defined GPIO constanst to express polarity, use them to make the DTS more clear. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 39c1c413c1970803137d58ba25ea554f4f0fccea Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:39:58 2015 +0900 ARM: dts: Use GPIO constants for flags cells in exynos4120 boards The board DTS are using numeric values instead of the defined GPIO constanst to express polarity, use them to make the DTS more clear. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit de77e52d34269f25a33e231fe3c1431116776617 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:39:57 2015 +0900 ARM: dts: Use GPIO constants for flags cells in exynos3250 boards The board DTS are using numeric values instead of the defined GPIO constanst to express polarity, use them to make the DTS more clear. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 27e6699c35be9a849e35d58f381efc199a1e1ede Author: Emilio Lopez <emilio.lopez@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:35:21 2015 +0900 ARM: dts: Enable EC vboot context support on Peach boards The Peach boards use the EC to store the vboot context information, so add the corresponding properties on the EC node to indicate so. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Emilio Lopez <emilio.lopez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c60ce7fe82c46d9480b85858828e3042dfe6c9bf Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Mon Sep 14 11:01:33 2015 +0530 arm64: dts: Add BUS1 instance pinctrl support for exynos7 This adds BUS1 instance pinctrl for exynos7 soc. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 6252eb0a17132b87d42a1c8f15a967bc9143ae60 Merge: 6c6000c c21dbcfe Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Oct 8 07:16:31 2015 +0900 Merge tag 'samsung-dt-4.4-2' of http://github.com/krzk/linux into v4.4-next/dt-samsung Device Tree improvements for Exynos based boards (updated pull request): 1. Enable DMA on Exynos4 serial ports. This old patch uncovered a number of other issues in dmaengine and samsung serial driver. All of known issues are resolved so finally enable the DMA for UART. 2. Fix incorrect location of display-timings node (FIMD->DP node) on Arndale, SMDK5250 and SMDK5240 boards. 3. Minor cleanups. commit 18800fc7a04e7df8a345e7ef4fc3064368276f83 Author: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Date: Mon Sep 21 10:38:22 2015 -0300 platform/chrome: Support reading/writing the vboot context Some EC implementations include a small nvram space used to store verified boot context data. This patch offers a way to expose this data to userspace. Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7f5028cf6190407b7a632b0f30b83187577824cc Author: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Date: Mon Sep 21 10:38:20 2015 -0300 sysfs: Support is_visible() on binary attributes According to the sysfs header file: "The returned value will replace static permissions defined in struct attribute or struct bin_attribute." but this isn't the case, as is_visible is only called on struct attribute only. This patch introduces a new is_bin_visible() function to implement the same functionality for binary attributes, and updates documentation accordingly. Note that to keep functionality and code similar to that of normal attributes, the mode is now checked as well to ensure it contains only read/write permissions or SYSFS_PREALLOC. Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7fd0ac66c2de5767e234fea6436d28dce210da80 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Aug 27 11:42:32 2015 -0400 i40e/i40evf: remove unused opcode This opcode is not required. VFs that program RSS through the firmware do it by interacting directly with the firmware, and do not need to use the virtual channel for this functionality. Change-ID: Iaf17d2600e28ff1b6be8653f2fe9df1facd23b0e 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 313ed2d52052ad8dab9a6182cde55a832873cbea Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Aug 27 11:42:31 2015 -0400 i40evf: propagate interrupt allocation failure Lower level functions are properly reporting errors, and higher-level functions are correctly responding to errors, but the errors aren't actually getting through. Typically, the middle-manager function seems to want to shield its boss from any bad news. This change fixes a panic if the driver is unable to enable MSI-X or is unable to acquire enough vectors. Change-ID: Ifd5787ce92519a5d97e4b465902db930d97b71a1 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 2642f02528b6e9c1e904f6e3ec902d8a2deb7af5 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Thu Aug 27 11:42:30 2015 -0400 i40e: Additional checks for CEE APP priority validity The firmware has added additional status information to allow software to determine if the APP priority for FCoE/iSCSI/FIP is valid or not in CEE DCBX mode. This patch adds to support those additional checks and will only add applications to the software table that have oper and sync bits set without any error. Change-ID: I0a76c52427dadf97d4dba4538a3068d05e4eb56b 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 2fc3d7152ae9562c15c30ed4a766ba05a3db8200 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Aug 27 11:42:29 2015 -0400 i40e/i40evf: Add a stat to keep track of linearization count Keep track of how many times we ask the stack to linearize the skb because the HW cannot handle skbs with more than 8 frags per segment/single packet. Change-ID: If455452060963a769bbe6112cba952e79e944b52 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 f14ae099bdad32414ad968909973bfade9b37967 Author: Christian Engelmayer <cengelma@xxxxxx> Date: Sun Jul 19 21:43:02 2015 +0200 platform/chrome: cros_ec: Fix possible leak in led_rgb_store() Function led_rgb_store() contains some direct returns in error cases that leak the already allocated cros_ec_command message structure. Make sure that 'msg' is freed in all exit paths. Detected by Coverity CID 1309666. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 88dfb8b43d557ee9b1c1ffd2c8d275dd479a66d4 Author: Christian Engelmayer <cengelma@xxxxxx> Date: Sat Jul 18 19:30:33 2015 +0200 platform/chrome: cros_ec: Fix leak in sequence_store() The allocated cros_ec_command message structure is not freed in function sequence_store(). Make sure that 'msg' is freed in all exit paths. Detected by Coverity CID 1309667. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 23ecee32b91cf732226bd7a3ee9fa7a9127645ab Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 1 12:46:42 2015 +0200 platform/chrome: Enable Chrome platforms on 64-bit ARM With Chrome running on 64-bit ARM devices, add ARM64 to the list of supported architectures. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> [olof; Fixed up due to addition of COMPILE_TEST] Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit afbf8ec7c4f90ddd3ee8655c591983fb9d399f43 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Jun 22 08:27:20 2015 +0200 platform/chrome: cros_ec_dev - Add a platform device ID table If the cros_ec_dev driver is built as a module, modalias information is not filled so the module is not autoloaded. Add a platform device table and use the MODULE_DEVICE_TABLE() macro to export that information in the module so user-space can match the modalias uevent and autoload it. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 85bba84ead5cec41add1cbdb2978e572add10deb Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Jun 22 08:27:19 2015 +0200 platform/chrome: cros_ec_lpc - Add support for Google Pixel 2 Since the verion of ACPI in Google BIOS does not enumerate the devices in the LPC bus, the cros_ec_lpc driver resorts to DMI data to check if a system is supported by the driver and autoload if built as a module. Add information about the Google Pixel 2 to the DMI device table. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fbf40727c781a3b8562e76a86cd08a111414d1c7 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Jun 22 08:27:18 2015 +0200 platform/chrome: cros_ec_lpc - Use existing function to check EC result Commit 6db07b633658 ("mfd: cros_ec: Check result code from EC messages") added a common cros_ec_check_result() function that can be used to check the ec_msg->result for errors and warns about them. Use the existing function instead of duplicating same check in the driver. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 75529a9d427500f1b7deb3d0dec5c8d0a61fee02 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:19:55 2015 +0200 platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO The ChromeOS EC LPC and chardev drivers 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 devices that are matched with these drivers are registered by the ChromeOS EC mfd driver, they really depend on MFD_CROS_EC. And because this config option selects CROS_EC_PROTO, that dependency is met as well. So make the drivers to depend on MFD_CROS_EC instead of CROS_EC_PROTO. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f70f276a2e910c69d11b038a7df3de9d08f10b8b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:19:54 2015 +0200 Revert "platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM" This reverts commit d12bbcd3ea44 ("platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM") since it was found to not be the correct fix for the MFD_CROS_EC config unmet direct dependencies warning. The correct solution was to add the needed dependencies to the MFD_CROS_EC symbol. Besides the revert, this patch extends the CHROME_PLATFORMS symbol dependencies and adds || COMPILE_TEST to allow drivers to have build coverage on other architectures. Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 2f41f3358672dfda67c1e254f1e823d98e6a3099 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:20 2015 -0400 i40e/i40evf: fix unicast mac address add When using something like "ip maddr add ..." to add another unicast mac address to the netdev, the mac address comes into the set_rx_mode handler in the multicast list whether it is a unicast or multicast address. This was confusing the code when it was trying to search for addresses that needed to be deleted from the VSI, because it was looking for the VSI unicast address in the netdev unicast list. The result was that a new unicast address would get added to the VSI list and then immediately removed, and would never actually make it down into the hardware. This patch removes the separation from unicast and multicast in the search for filters to be deleted. It also simplifies the logic a little with a jump to the bottom of the loop when an address is found. Now it doesn't matter which netdev list the address is hiding in, we'll check them all. Change-ID: Ie3685a92427ae7d2212bf948919ce295bc7a874c 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 a72a5abcb37beac163704efba6a3d33ebca4d90a Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Wed Aug 26 15:14:19 2015 -0400 i40e: fix bug in return from get_link_status and avoid spurious link messages Previously, the driver could call this function and have only true/false returned, but false could mean multiple things like failure to read or link was down. This change allows the caller to get all return values in the call chain bubbled back to the source, which keeps information about failures from being lost. Also, in some unlikely scenarios, the firmware can become slow to respond to admin queue (AQ) queries for link state. Should the AQ time out, the driver can detect the state and avoid a link change when there may have been none. Change-ID: Ib2ac38407b7880750fb891b392fa77457fe6c21c 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 dd38c583aea07c508caeaf979c64e267584ee067 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Wed Aug 26 15:14:18 2015 -0400 i40e: add little endian conversion for checksum The checksum is not correct on big endian machines so add code to swap it correctly. Change-ID: Ic92b886d172a2cbe49f5d7eee1bc78e447023c7b Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fb43201f150300fa2c0215f00418eda9143cdab1 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:17 2015 -0400 i40e/i40evf: give up the __func__ During early development, we added the function name to all of the error strings to make debugging simpler. Now that we've released the driver, our users should have more comprehensible error messages. So tear the roof off and give up the __func__. Ow. Change-ID: I7e1766252c7a032b9af6520da6aff536bdfd533c Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> 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 0002e1189b594d462c7a93417f5ac8bbc22bd768 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Wed Aug 26 15:14:16 2015 -0400 i40e: Never let speed get set to 0 in get_settings In ethtool, there is a possibility of speed getting set to 0 if advertise is set to 0 (which it is when autoneg is disabled). We never want this to happen as the firmware will actually attempt to set the speed to 0 sending link down, so add an extra check to make sure this doesn't happen. Change-ID: I62e0eeee2cbf043d8e6f5c9c9f0b92794e877f01 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 fba52e21e5cad1347255d0d3600f7e4df6e69435 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Wed Aug 26 15:14:15 2015 -0400 i40e: Fix for truncated interrupt name This patch extends the size of the text available for the interrupt names. Without this patch, all the descriptive data available for the Flow Director interrupts is truncated. Change-ID: I2ac458f23ac3b4ea8f1edf73edc283b1d3704c7f Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9e1c26e35030aa56057a69514acb17da5e81eb16 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:14 2015 -0400 i40e/i40evf: assure clean asq status report There was a possibility where the asq_last_status could get through without update and thus report a previous error. I don't think we've actually seen this happen, but this patch will help make sure it doesn't. Change-ID: I9e33927052a5ee6ea21f80b66d4c4b76c2760b17 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Christopher Pau <christopher.pau@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 21364bcfc7810894114ab18f5335745e374cc2ea Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:13 2015 -0400 i40e: make i40e_init_pf_fcoe to void i40e_init_pf_fcoe() didn't return anything except 0, it prints enough error info already, and no driver logic depends on the return value, so this can be void. Change-ID: Ie6afad849857d87a7064c42c3cce14c74c2f29d8 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 725821f340184fcdd35dbd369c5058eec8a30fcb Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:12 2015 -0400 i40e: fix bad CEE status shift value Fix a shift value that was wrong, ending up with a bad bitmask. Also add a blank line between two sets of #defines for better readability. Change-ID: I3e41fa2a2ab904d3a4e6cbf13972ab0036a10601 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 df08fd4dbcc95cbc5a35745b6a77a9df0dc5776f Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:11 2015 -0400 i40e/i40evf: fix a potential type compare issue Rework an if expression to assure there is no type compare problem between a size and a possible negative number. Change-ID: I4921fcc96abfcf69490efce020a9e4007f251c99 Reported-by: Helin Zhang <helin.zhang@xxxxxxxxx> 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 bc5166b908aaa126d524b84c767323b75c17bdee Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:10 2015 -0400 i40e/i40evf: add driver support for new device ids Early addition of new a device id. Change-ID: I61a8c8556fdf4f5714be4e4089689e374f30293c 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 0325fca7577c5157da2cdf064fc3e8d38242e47c Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Wed Aug 26 15:14:09 2015 -0400 i40e: stop VF rings Explicitly stop the rings belonging to each VF when disabling SR-IOV. Even though the VFs were gone, and the associated VSIs were removed, the rings were not stopped, and in some circumstances the hardware would continue to access the memory formerly used by the rings, causing memory corruption or DMAR errors, both of which would lead to general malaise of the kernel. To relieve this condition, explicitly stop all the rings associated with each VF before releasing its resources. Change-ID: I78c05d562c66e7b594b7e48d67860f49b3e5b6ec 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 1d5109d18757d8d6450905275bf362819781368c Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:08 2015 -0400 i40e: enable WoL operation if config bit show WoL capable The driver was disabling Wake-on-LAN by default and waiting for the user to expressly turn it on. This patch has the driver turning on WoL from the start if enabled in the hardware config, which matches the behavior of our other drivers. Change-ID: I43faedb907f8ba4d1a61b72a7c86072b97af12b1 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 22e05bd6f7949d3e638c9f4697a2198a19fff312 Author: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Date: Wed Aug 26 15:14:07 2015 -0400 i40e: Increase the amount of time we wait for reset to be done In some rare cases the reset can take longer to complete so increase the amount of time we wait. Change-ID: Ib5628ec54b526a811ee33d1214fe763226406671 Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c3984cc994377671f18d3d719ddd86b5107457ee Merge: 8ace60f a54c8f0 Author: Jens Axboe <axboe@xxxxxx> Date: Wed Oct 7 13:50:17 2015 -0600 Merge branch 'stable/for-jens-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus Konrad writes: Please git pull an update branch to your 'for-4.3/drivers' branch (which oddly I don't see does not have the previous pull?) git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-jens-4.3 which has two fixes - one where we use the Xen blockfront EFI driver and don't release all the requests, the other if the allocation of resources for a particular state failed - we would go back 'Closing' and assume that an structure would be allocated while in fact it may not be - and crash. commit a54c8f0f2d7df525ff997e2afe71866a1a013064 Author: Cathy Avery <cathy.avery@xxxxxxxxxx> Date: Fri Oct 2 09:35:01 2015 -0400 xen-blkfront: check for null drvdata in blkback_changed (XenbusStateClosing) xen-blkfront will crash if the check to talk_to_blkback() in blkback_changed()(XenbusStateInitWait) returns an error. The driver data is freed and info is set to NULL. Later during the close process via talk_to_blkback's call to xenbus_dev_fatal() the null pointer is passed to and dereference in blkfront_closing. CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Cathy Avery <cathy.avery@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit 0693bdf75469487812da7c09949b09ad0396a737 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Oct 7 15:43:58 2015 -0300 [media] dvb: Remove unused frontend sources at demux.h and sync doc The DVB core has a provision for other frontend sources, but no drivers use it. The kdapi.xml contains provision for some other frontend source types, but it is not in sync with the code. So, remove the unused types and sync both files. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fab6266e82a8981cccec55af47589665daf69fb6 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:36:29 2015 +0100 fpga manager: add driver for socfpga fpga manager Add driver to fpga manager framework to allow configuration of FPGA in Altera SoCFPGA parts. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a8c3be7ec8eb3c1197766f9245e0d65a4e5aff8 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:36:28 2015 +0100 add FPGA manager core API to support programming FPGA's. The following functions are exported as GPL: * fpga_mgr_buf_load Load fpga from image in buffer * fpga_mgr_firmware_load Request firmware and load it to the FPGA. * fpga_mgr_register * fpga_mgr_unregister FPGA device drivers can be added by calling fpga_mgr_register() to register a set of fpga_manager_ops to do device specific stuff. * of_fpga_mgr_get * fpga_mgr_put Get/put a reference to a fpga manager. The following sysfs files are created: * /sys/class/fpga_manager/<fpga>/name Name of low level driver. * /sys/class/fpga_manager/<fpga>/state State of fpga manager Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afb79e993a949d02895b912eacc86ab0e416b6fd Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:36:27 2015 +0100 fpga manager: add sysfs interface document Add documentation under drivers/staging for new fpga manager's sysfs interface. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f5fda1ad477f02bf82a50284acbd0f7f1364e3 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:36:26 2015 +0100 usage documentation for FPGA manager core Add a document on the new FPGA manager core. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af6162155e943dfc7dc2c45507e39cc4d60d5812 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Wed Oct 7 09:26:43 2015 -0600 coresight: etm3x: making error message unambiguous By adding the function name at the beginning of the error message there is no doubt as to where the failing condition occurred. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7253e4c95616db24611989a848d90ebe2255adad Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Wed Oct 7 09:26:42 2015 -0600 coresight: etm3x: breaking down sysFS status interface SysFS rules stipulate that only one value can be conveyed per file. As such splitting the "status" interface in individual files. This is also useful for user space applications - that way they can probe each file individually rather than having to parse a list of entries. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adfad8745c38d2bfe9e855f9d112a8583564112f Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Wed Oct 7 09:26:41 2015 -0600 coresight: etm3x: adding cpu affinity to sysFS interface Without access to the device tree, it is impossible to know what CPU a tracer is affined to. As such adding a new sysFS interface to convey the information. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58b8d51b841eff6473df4d25959a2ec335b7cb85 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Wed Oct 7 09:26:40 2015 -0600 coresight: adding comments to remove ambiguity Add comment to function coresight_enable_path() to make sure there is no misunderstanding about what the code does. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d27ff5aba2d36b152542e9d62158eb6584bcbd3 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Wed Oct 7 09:26:39 2015 -0600 coresight: fixing typographical error Tracing gets enabled _for_ a source rather than _from_ a source. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 497b59565b25d6dd2441bc483f3811ee27a0c7b0 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Wed Oct 7 09:26:38 2015 -0600 Coresight: ETMv4: Prevent TRCRSCTLR0&1 from being accessed 1. TRCRSCTLRn - Resource Selection Control Registers n=0~1 are reserved, we shouldn't access them. 2. The max number of 'n' here is defined in TRCIDR4.NUMRSPAIR whoes value indicates the number of resource selection *pairs*, and 0 indicates one resource selection pair, 1 indicates two pairs, and so on ... So, the total number of resource selection control registers which we can access is (TRCIDR4.NUMRSPAIR * 2) 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 1266963170f576d4d08e6310b6963e26d3ff9d1e Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Wed Oct 7 11:03:28 2015 -0500 PCI: Prevent out of bounds access in numa_node override 63692df103e9 ("PCI: Allow numa_node override via sysfs") didn't check that the numa node provided by userspace is valid. Passing a node number too high would attempt to access invalid memory and trigger a kernel panic. Fixes: 63692df103e9 ("PCI: Allow numa_node override via sysfs") Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.19+ commit 87b2bdf02278e5623cc66e5189792fde01f829a3 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Wed Oct 7 11:31:59 2015 +0100 ASoC: Intel: Skylake: Initialize NHLT table Load and Initialize Non HDA Link Table in Skylake driver to get platform configuration. 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 2a29b200c6f17827ee712e719ad29366f79205ee Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Wed Oct 7 11:31:58 2015 +0100 ASoC: Intel: Skylake: Add DSP support and enable it If processing pipe capability is supported, add DSP support. Adds initialization/free/suspend/resume DSP functionality. 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 b663a8c5c9c043c47e5e0eea9f9c77ea88fbe67a Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Wed Oct 7 11:31:57 2015 +0100 ASoC: Intel: Skylake: Initialize and load DSP controls Initialize and creates DSP controls if processing pipe capability is supported by HW. Updates the dma_id, hw_params to module param to be used when DSP module has to be configured. 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 3af36706ff6c4ea8695e92b1ba80e183f1919684 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 7 11:31:56 2015 +0100 ASoC: Intel: Skylake: Add topology core init and handlers The SKL driver does not code DSP topology in driver. It uses the newly added ASoC topology core to parse the topology information (controls, widgets and map) from topology binary. Each topology element passed private data which contains information that driver used to identify the module instance within firmware and send IPCs for that module to DSP firmware along with parameters. This patch adds init routine to invoke topology load and callback for topology creation. 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 4f91fc6d2c1d98b3da7a8341ef5ec66ccf2916b9 Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Wed Oct 7 14:44:02 2015 +0300 drm/i915: Hook up ring workaround writes at context creation time on Gen6-7. intel_rcs_ctx_init() emits all workaround register writes on the list to the ring, in addition to calling i915_gem_render_state_init(). The workaround list is currently empty on Gen6-7 so this shouldn't cause any functional changes. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 02235808b61cd9382d224b0df263193006dd9913 Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Wed Oct 7 14:44:01 2015 +0300 drm/i915: Don't warn if the workaround list is empty. It's not an error for the workaround list to be empty if no workarounds are needed. This will avoid spamming the logs unnecessarily on Gen6 after the workaround list is hooked up on pre-Gen8 hardware by the following commits. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6a8aadc43974729349cb6b823d774c091afd78cd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 1 18:06:50 2015 +0200 drm/i915: Resurrect golden context on gen6/7 In commit 8f0e2b9d95a88ca5d8349deef2375644faf184ae Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Dec 2 16:19:07 2014 +0100 drm/i915: Move golden context init into ->init_context I've shuffled around per-ctx init code a bit for legacy contexts but accidentally dropped the render state init call on gen6/7. Resurrect it. Reported-by: Francisco Jerez <currojerez@xxxxxxxxxx> Cc: Francisco Jerez <currojerez@xxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Cc: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Francisco Jerez <currojerez@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5b5929cbe3f77e1a01cd2709c8dd7fe0302af1b6 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Oct 7 11:17:46 2015 +0300 drm/i915/chv: remove pre-production hardware workarounds Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Appease gcc and remove the unused variable.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cfb0a87383c6c2827f108ecee3471ef981876b38 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 7 11:31:55 2015 +0100 ASoC: Intel: Skylake: Add FE and BE hw_params handling For FE and BE, the PCM parameters come from FE and BE hw_params values passed. For a FE we convert the FE params to DSP expected module format and pass to DSP. For a BE we need to find the gateway settings (i2s/PDM) to be applied. These are queried from NHLT table and applied. Further for BE based on direction the settings are applied as either source or destination parameters. These helpers here allow the format to be calculated and queried as per firmware format. 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 d93f8e550f44ed1f54285f77f40f7962a3f25267 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 7 11:31:54 2015 +0100 ASoC: Intel: Skylake: add DSP platform widget event handlers The Skylake driver topology model tries to model the firmware rule for pipeline and module creation. The creation rule is: - Create Pipe - Add modules to Pipe - Connect the modules (bind) - Start the pipes Similarly destroy rule is: - Stop the pipe - Disconnect it (unbind) - Delete the pipe In driver we use Mixer, as there will always be ONE mixer in a pipeline to model a pipe. The modules in pipe are modelled as PGA widgets. The DAPM sequencing rules (mixer and then PGA) are used to create the sequence DSP expects as depicted above, and then widget handlers for PMU and PMD events help in that. This patch adds widget event handlers for PRE/POST PMU and PRE/POST PMD event for mixer and pga modules. These event handlers invoke pipeline creation, destroy, module creation, module bind, unbind and pipeline bind unbind Event handler sequencing is implement to target the DSP FW sequence expectations to enable path from source to sink pipe for Playback/Capture. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Hardik T Shah <hardik.t.shah@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 f7590d4f1565b0d609d25113c37b9bea8a13e9f7 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Wed Oct 7 11:31:53 2015 +0100 ASoC: Intel: Skylake: Add module configuration helpers To configure a module, driver needs to send input and output PCM params for a module in DSP. The FE PCM params come from hw_params ie from user, for a BE they also come from hw_params but from BE-link fixups. So based on PCM params required driver has to find a converter module (src/updown/format) and then do the conversion and calculate PCM params in these pipelines In this patch we add the helper modules which allow driver to do these calculations. Signed-off-by: Hardik T Shah <hardik.t.shah@xxxxxxxxx> 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 e4e2d2f45284f620eeb9eea25570838b2a42c968 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Wed Oct 7 11:31:52 2015 +0100 ASoC: Intel: Skylake: Add pipe and modules handlers SKL driver needs to instantiate pipelines and modules in the DSP. The topology in the DSP is modelled as DAPM graph with a PGA representing a module instance and mixer representing a pipeline for a group of modules along with the mixer itself. Here we start adding building block for handling these. We add resource checks (memory/compute) for pipelines, find the modules in a pipeline, init modules in a pipe and lastly bind/unbind modules in a pipe These will be used by pipe event handlers in subsequent patches 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 d39398f5374e2ae35832ad8e01e60e8deb6d4e1c Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Oct 7 11:17:44 2015 +0300 drm/i915/snb: remove pre-production hardware workaround 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 b44f84081b8db1b5830cbd30280ba1109cc1a084 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:46:48 2015 +0300 drm: Stop using drm_vblank_count() as the hw frame counter drm_vblank_count() returns the software counter. We should not pretend it's the hw counter since we use the hw counter to figuere out what the software counter value should be. So instead provide a new function drm_vblank_no_hw_counter() for drivers that don't have a real hw counter. The new function simply returns 0, which is about the only thing it can do. Cc: Vincent Abriou <vincent.abriou@xxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> [danvet: s/int pipe/unsigned int pipe/ to follow Thierry's interface change.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a97d4e93a9bc556d0b3c2efb7695eb4c79938de7 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:27:13 2015 +0100 ASoC: da7213: Add bindings documentation for codec driver Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6e7c444318699496e6e6f30c875cf67534aeccc6 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:27:11 2015 +0100 ASoC: da7213: Add support to handle mclk data provided to driver Driver now can make use of mclk data, if provided, to set, enable and disable the clock source. As part of this, the choice to enable clock squaring is dealt with as part of dai_sysclk() call rather than as platform data. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e90996a3ea224fbeb459b8052ecd366d7990e1f3 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:27:08 2015 +0100 ASoC: da7213: Add DT support to codec driver This patch adds support for DT bindings in the codec driver. As part of this support, the mclk data can now be provided and used to control the mclk during codec operation. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26148bd3c0f1fbd8f2b0dae994f3195316f677db Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Sep 18 23:39:51 2015 +0530 drm/i915/bxt: Set time interval unit to 0.833us Note that in Bspec you have to dig around in a section called "Timestamp bases" and Bspec update request is filed. Signed-off-by: Ankitprasad Sharma <ankitprasad.r.sharma@xxxxxxxxx> Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> [danvet: Add note about state of Bspec.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2f5945bc9076bd7b1086c1b4ac47dea8ab336e57 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:39:55 2015 +0100 drm/i915: Kill DRI1 cliprects Passing cliprects into the kernel for it to re-execute the batch buffer with different CMD_DRAWRECT died out long ago. As DRI1 support has been removed from the kernel, we can now simply reject any execbuf trying to use this "feature". To keep Daniel happy with the prospect of being able to reuse these fields in the next decade, continue to ensure that current userspace is not passing garbage in through the dead fields. v2: Fix the cliprects_ptr check Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5763ff04dc4ebdd13d069d44513b10805ebebd8c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:18:29 2015 +0100 drm/i915: Avoid GPU stalls from kswapd Exclude active GPU pages from the purview of the background shrinker (kswapd), as these cause uncontrollable GPU stalls. Given that the shrinker is rerun until the freelists are satisfied, we should have opportunity in subsequent passes to recover the pages once idle. If the machine does run out of memory entirely, we have the forced idling in the oom-notifier as a means of releasing all the pages we can before an oom is prematurely executed. Note that this relies upon an up-front retire_requests to keep the inactive list in shape, which was added in a previous patch, mostly as execlist ctx pinning band-aids. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Add note about retire_requests.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce8daef3580ae38fea9599e2193e4c368357c4c6 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:18:28 2015 +0100 drm/i915: Remove dead i915_gem_evict_everything() With UMS gone, we no longer use it during suspend. And with the last user removed from the shrinker, we can remove the dead code. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9c0f5ea1b60b1f759a928505205335775e20512 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:18:27 2015 +0100 drm/i915: During shrink_all we only need to idle the GPU We can forgo an evict-everything here as the shrinker operation itself will unbind any vma as required. If we explicitly idle the GPU through a switch to the default context, we not only create a request in an illegal context (e.g. whilst shrinking during execbuf with a request already allocated), but switching to the default context will not free up the memory backing the active contexts - unless in the unlikely situation that context had already been closed (and just kept arrive by being the current context). The saving is near zero and the danger real. To compensate for the loss of the forced retire, add a couple of retire-requests to i915_gem_shirnk() - this should help free up any transitive cache from the requests. Note that the second retire_requests is for the benefit of the hand-rolled execlist ctx active tracking: We need to manually kick requests to get those unpinned again. Once that's fixed we can try to remove this again. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add summary of why we need a pile of retire_requests.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3abafa539d2c17d46df3f47b35eb784fdf3020a1 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:18:26 2015 +0100 drm/i915: Add a tracepoint for the shrinker Often it is very useful to know why we suddenly purge vast tracts of memory and surprisingly up until now we didn't even have a tracepoint for when we shrink our memory. Note that there are slab_start/end tracepoints already, but those don't cover the internal recursion when we directly call into our shrinker code. Hence a separate tracepoint seems justified. Also note that we don't really need a separate tracepoint for the actual amount of pages freed since we already have an unbind tracpoint for that. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add a note that there's also slab_start/end and why they're insufficient.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cb422619976f3f1b71f68f0c1b5a764e9f90fb0c Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Thu Oct 1 17:01:09 2015 +0800 drm/i915: DocBook add i915_component.h support Add the item of i915_component.h in DocBook and add the DOC for i915_component.h. Explain the struct i915_audio_component_ops and struct i915_audio_component_audio_ops usage. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3f4c90bd203125c807a96f18d3195cf3a1988279 Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Thu Oct 1 17:01:08 2015 +0800 drm/i915: add kerneldoc for i915_audio_component Add the kerneldoc for i915_audio_component in i915_component.h Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2844659842017c981f6e6f74aca3a7ebe10edebb Merge: 1438754 87f77ef Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Oct 7 15:34:15 2015 +0200 Merge remote-tracking branch 'takashi/topic/drm-sync-audio-rate' into drm-intel-next-queued Pull in the i915/hda changes for N/CTS setting so I can apply the follow-up documentation work for drm/i915. Some conflicts because ofc we had to rework i915 while that N/CTS work was going on. But not more than adjacent changes really. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 143875400b33fc20e9dd060e90034f2e9e9ffc98 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:18:25 2015 +0100 drm/i915: shrinker_control->nr_to_scan is now unsigned long As the shrinker_control now passes us unsigned long targets, update our shrinker functions to match. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ec9555ed065addc598244084c7e0e950b34890a Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 3 19:37:59 2015 -0300 dmaengine: imx-sdma: Remove unneeded dev_info() There is no need to print that the driver has been initialized or removed, so remove such messages. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ce078af76faffc5353256ce487dbd85a6f1ad3a4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 3 19:37:58 2015 -0300 dmaengine: imx-sdma: Move message level to debug Since commit d078cd1b4185 ("dmaengine: imx-sdma: Add imx6sx platform support") we get this message on every boot on mx6q: imx-sdma 20ec000.sdma: no event needs to be remapped , which is not very helpful. Move the message to debug level instead. Cc: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1f2449cdd689931f5f511235899b2a0e28010e50 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Oct 6 14:47:55 2015 +0200 drm/i915: Fix kerneldoc for i915_gem_shrink_all I've botched this, so let's fix it. Botched in commit eb0b44adc08c0be01a027eb009e9cdadc31e65a2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 18 14:47:59 2015 +0100 drm/i915: kerneldoc for i915_gem_shrinker.c v2: Be a good citizen^Wmaintainer and add the proper commit citation. Noticed by Jani. Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 70e238df1daa05366d091d75163e1b08d7f122c3 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:08 2015 +0100 MAINTAINERS: add myself as arm perf reviewer As suggested by Will Deacon, add myself as a reviewer of the ARM PMU profiling and debugging code. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit dd06a84bf6446dab1592d4c7908a3037fbccdf1e Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:07 2015 +0100 MAINTAINERS: update ARM PMU profiling and debugging for arm64 Will Deacon maintains the profiling and debugging code under both arch/arm and arch/arm64. Update MAINTAINERS to reflect this, in preparation for adding myself as a reviewer of said code. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 01a507a371a35a5ee2b283af2ae7f8ed0b5e36f1 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:06 2015 +0100 arm64: dts: juno: describe PMUs separately The A57 and A53 PMUs in Juno support different events, so describe them separately in both the Juno and Juno R1 DTs. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Liviu Dudau <liviu.dudau@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 62a4dda9d63a10e5b28943967fc936c74fa16dfb Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:05 2015 +0100 arm64: perf: add Cortex-A57 support The Cortex-A57 PMU supports a few events outside of the required PMUv3 set that are rather useful. This patch adds the event map data for said events. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ac82d12772158dfbc1d3827a68b317e10326bbaa Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:04 2015 +0100 arm64: perf: add Cortex-A53 support The Cortex-A53 PMU supports a few events outside of the required PMUv3 set that are rather useful. This patch adds the event map data for said events. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 6475b2d846176e3272351266869481a21ff47866 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:03 2015 +0100 arm64: perf: move to shared arm_pmu framework Now that the arm_pmu framework has been factored out to drivers/perf we can make use of it for arm64, gaining support for heterogeneous PMUs and unifying the two codebases before they diverge further. The as yet unused PMU name for PMUv3 is changed to armv8_pmuv3, matching the style previously applied to the 32-bit PMUs. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 8f48c0629049fdebb6e783803325bff19176d3fd Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Oct 7 11:37:36 2015 +0100 arm64: hw_breakpoint: use target state to determine ABI behaviour The arm64 hw_breakpoint interface is slightly less flexible than its 32-bit counterpart, thanks to some changes in the architecture rendering unaligned watchpoint addresses obselete for AArch64. However, in a multi-arch environment (i.e. debugging a 32-bit target with a 64-bit GDB under a 64-bit kernel), we need to provide a feature compatible interface to GDB in order for debugging to function correctly. This patch adds a new helper, is_compat_bp, to our hw_breakpoint implementation which changes the interface behaviour based on the architecture of the debug target as opposed to the debugger itself. This allows debugged to function as expected for multi-arch configurations without relying on deprecated architectural behaviours when debugging native applications. Cc: Yao Qi <yao.qi@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit acb4a6bfc80ddeea4c44074dd630f916259e909e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Oct 6 14:49:58 2015 -0700 tcp: ensure prior synack rtx behavior with small backlogs Some applications use a listen() backlog of 1. Prior kernels were silently enforcing a qlen_log of 4, so that we were sending up to /proc/sys/net/ipv4/tcp_synack_retries SYNACK messages. Fixes: ef547f2ac16b ("tcp: remove max_qlen_log") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 686a562449af96a0e8c18c6f1b87b47ff8c36de8 Author: Yuvaraja Mariappan <ymariappan@xxxxxxxxx> Date: Tue Oct 6 10:53:29 2015 -0700 net: ipv4: tcp.c Fixed an assignment coding style issue Fixed an assignment coding style issue Signed-off-by: Yuvaraja Mariappan <ymariappan@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 729ecbc77a1fe763de409be0307c61c1fa32cc06 Merge: 68e4bd2 ec6674c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 04:52:14 2015 -0700 Merge branch 's390-net' Ursula Braun says: ==================== s390: qeth patches for net-next here are some s390 related patches for net-next. The qeth patches are performance optimizations in the driver. The qdio patch corrects a warning condition. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec6674c6382819542446b727a2bf54f3dd879ca2 Author: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Date: Tue Oct 6 15:12:29 2015 +0200 s390/qdio: fix WARN_ON_ONCE condition If HiperSockets Completion Queueing is enabled, qdio always issues a warning, since the condition is always met. This patch fixes the condition in WARN_ON_ONCE that was always true. Signed-off-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe5c802882f2eaaf5475b072f16066038754782a Author: Lakhvich Dmitriy <ldmitriy@xxxxxxxxxx> Date: Tue Oct 6 15:12:28 2015 +0200 s390/qeth: optimize MAC handling in rx_mode callback In layer2 mode of the qeth driver, MAC address lists from struct net_device require mapping to the OSA-card. The existing implementation is inefficient for lists with more than several MAC addresses, since for every ndo_set_rx_mode callback it removes all MAC addresses first, and then registers the current MAC address list. This patch changes implementation of ndo_set_rx_mode callback in qeth, only performing hardware registration/removal for new/deleted addresses. To shorten lookup of MAC addresses registered addresses are kept in a hashtable instead of a linear list. Signed-off-by: Lakhvich Dmitriy <ldmitriy@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Reviewed-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Reviewed-by: Thomas Richter <tmricht@xxxxxxxxxx> Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9abfa8cb201b2167872654b92f567f8bff6016f4 Author: Thomas Richter <tmricht@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 15:12:27 2015 +0200 s390/qeth: switch to napi_gro_receive Add support for GRO (generic receive offload) in the layer 2 part of device driver qeth. This results in a performance improvement when GRO and RX is turned on. Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68e4bd2778fb48a98cf9db8e218ef2f3a817bafc Merge: deaa0a6 5d6ae47 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 04:49:39 2015 -0700 Merge branch 'bridge-netlink-port-attrs' Nikolay Aleksandrov says: ==================== bridge: netlink: complete port attribute support This is the second set that completes the bridge port's netlink support and makes everything from sysfs available via netlink. I've used sysfs as a guide of what and how to set again. I've tested setting/getting every option and also this time tested enabling KASAN. Again there're a few long line warnings about the ifla attribute names in br_port_info_size() but as the previous set - it's good to know what's been accounted for. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d6ae479ab7ddf77bb22bdf739268581453ff886 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:12:02 2015 +0200 bridge: netlink: add support for port's multicast_router attribute Add IFLA_BRPORT_MULTICAST_ROUTER to allow setting/getting port's multicast_router via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b0c6e4deb3df91bf0aea8158ea77dc58c9d90b6 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:12:01 2015 +0200 bridge: netlink: allow to flush port's fdb Add IFLA_BRPORT_FLUSH to allow flushing port's fdb similar to sysfs's flush. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61c0a9a83e0b12c712cd686172446aba8ea48685 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:12:00 2015 +0200 bridge: netlink: export port's timer values Add the following attributes in order to export port's timer values: IFLA_BRPORT_MESSAGE_AGE_TIMER, IFLA_BRPORT_FORWARD_DELAY_TIMER and IFLA_BRPORT_HOLD_TIMER. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e08e838ac5707cb1f1294e0d53b31997a0367b99 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:11:59 2015 +0200 bridge: netlink: export port's topology_change_ack and config_pending Add IFLA_BRPORT_TOPOLOGY_CHANGE_ACK and IFLA_BRPORT_CONFIG_PENDING to allow getting port's topology_change_ack and config_pending respectively via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42d452c4b5e7bf0e3024fa9512ec462f70545ae5 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:11:58 2015 +0200 bridge: netlink: export port's id and number Add IFLA_BRPORT_(ID|NO) to allow getting port's port_id and port_no respectively via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96f94e7f4a216282a24819968184c881e6343692 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:11:57 2015 +0200 bridge: netlink: export port's designated cost and port Add IFLA_BRPORT_DESIGNATED_(COST|PORT) to allow getting the port's designated cost and port respectively via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80df9a2692edf7afffda9282e716e7b1df198e07 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:11:56 2015 +0200 bridge: netlink: export port's bridge id Add IFLA_BRPORT_BRIDGE_ID to allow getting the designated bridge id via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ebc7660ab4559cad10b6595e05f70562bb26dc5 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:11:55 2015 +0200 bridge: netlink: export port's root id Add IFLA_BRPORT_ROOT_ID to allow getting the designated root id via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit deaa0a6a930edc79081268bf23b196d0340499af Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 10:49:04 2015 -0700 net: Lookup actual route when oif is VRF device If the user specifies a VRF device in a get route query the custom route pointing to the VRF device is returned: $ ip route ls table vrf-red unreachable default broadcast 10.2.1.0 dev eth1 proto kernel scope link src 10.2.1.2 10.2.1.0/24 dev eth1 proto kernel scope link src 10.2.1.2 local 10.2.1.2 dev eth1 proto kernel scope host src 10.2.1.2 broadcast 10.2.1.255 dev eth1 proto kernel scope link src 10.2.1.2 $ ip route get oif vrf-red 10.2.1.40 10.2.1.40 dev vrf-red cache Add the flags to skip the custom route and go directly to the FIB. With this patch the actual route is returned: $ ip route get oif vrf-red 10.2.1.40 10.2.1.40 dev eth1 src 10.2.1.2 cache Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2579c98f0d04075ab8b041de7d5396393d2417f1 Merge: 390a4be 5edfcee Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 04:29:18 2015 -0700 Merge tag 'mac80211-next-for-davem-2015-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== For the current cycle, we have the following right now: * many internal fixes, API improvements, cleanups, etc. * full AP client state tracking in cfg80211/mac80211 from Ayala * VHT support (in mac80211) for mesh * some A-MSDU in A-MPDU support from Emmanuel * show current TX power to userspace (from RafaÅ?) * support for netlink dump in vendor commands (myself) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 390a4bee5c2ade628565dd21fb5d8656a58f7804 Merge: 4148987 bb191c3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 04:27:51 2015 -0700 Merge branch 'l3mdev_saddr_op' David Ahern says: ==================== net: Add saddr op to l3mdev and vrf First 2 patches are re-sends of patches that got lost in the ethosphere Tuesday; they were part of the first round of l3mdev conversions. Next 3 handle the source address lookup for raw and datagram sockets bound to a VRF device. The conversion to the get_saddr op also fixes locally originated TCP packets showing up at the VRF device. The use of the FLOWI_FLAG_L3MDEV_SRC flag in ip_route_connect_init was causing locally generated packets to skip the VRF device. v2 - rebased to top of net-next per device delete fix and hash based multipath patches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb191c3e874650ae8f701885f3dd5f8ea8989b19 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:51:27 2015 -0700 net: Add l3mdev saddr lookup to raw_sendmsg ping originated on box through a VRF device is showing up in tcpdump without a source address: $ tcpdump -n -i vrf-blue 08:58:33.311303 IP 0.0.0.0 > 10.2.2.254: ICMP echo request, id 2834, seq 1, length 64 08:58:33.311562 IP 10.2.2.254 > 10.2.2.2: ICMP echo reply, id 2834, seq 1, length 64 Add the call to l3mdev_get_saddr to raw_sendmsg. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8cbb512c923d5f695ff6265b2b741b1718e3b444 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:51:26 2015 -0700 net: Add source address lookup op for VRF Add operation to l3mdev to lookup source address for a given flow. Add support for the operation to VRF driver and convert existing IPv4 hooks to use the new lookup. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ce58d84358c7b477811b5100152fad848f936fc Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:51:25 2015 -0700 net: Refactor path selection in __ip_route_output_key_hash VRF device needs the same path selection following lookup to set source address. Rather than duplicating code, move existing code into a function that is exported to modules. Code move only; no functional change. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fee6d4c777a125e56de9370db3b2bf359bf958d6 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:51:24 2015 -0700 net: Add netif_is_l3_slave IPv6 addrconf keys off of IFF_SLAVE so can not use it for L3 slave. Add a new private flag and add netif_is_l3_slave function for checking it. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e2895a8e3824eb5611c97a015a3b6d678b4503e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:51:23 2015 -0700 net: Rename FLOWI_FLAG_VRFSRC to FLOWI_FLAG_L3MDEV_SRC Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4148987a5111b0c8062bd78f39a67c361f621a39 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:32:51 2015 -0600 net: Fix vti use case with oif in dst lookups for IPv6 It occurred to me yesterday that 741a11d9e4103 ("net: ipv6: Add RT6_LOOKUP_F_IFACE flag if oif is set") means that xfrm6_dst_lookup needs the FLOWI_FLAG_SKIP_NH_OIF flag set. This latest commit causes the oif to be considered in lookups which is known to break vti. This explains why 58189ca7b274 did not the IPv6 change at the time it was submitted. Fixes: 42a7b32b73d6 ("xfrm: Add oif to dst lookups") Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcc448e619194098b24477a6d56af50c57f26f1d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Oct 7 12:42:22 2015 +0200 ASoC: rsnd: Remove obsolete platform data support Since commit 3d7608e4c169af03 ("ARM: shmobile: bockw: remove legacy board file and config"), Renesas R-Car 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. Move <sound/rcar_snd.h> to sound/soc/sh/rcar/, as it's no longer needed by platform code. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e905b80b92146d8dd0bf2da3ade0944a3026597 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Oct 5 17:19:59 2015 +0300 gianfar: Add WAKE_UCAST and "wake-on-filer" support This enables eTSEC's filer (Rx parser) and the FGPI Rx interrupt (Filer General Purpose Interrupt) as a wakeup source event. Upon entering suspend state, the eTSEC filer is given a rule to match incoming L2 unicast packets. A packet matching the rule will be enqueued in the Rx ring and a FGPI Rx interrupt will be asserted by the filer to wakeup the system. Other packet types will be dropped. On resume the filer table is restored to the content before entering suspend state. The set of rules from gfar_filer_config_wol() could be extended to implement other WoL capabilities as well. The "fsl,wake-on-filer" DT binding enables this capability on certain platforms that feature the necessary power management infrastructure, targeting mainly printing and imaging applications. (refer to Power Management section of the SoC Ref Man) Cc: Li Yang <leoli@xxxxxxxxxxxxx> Cc: Zhao Chenhui <chenhui.zhao@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70963d245ed11412658b89fe308b6188b62259c7 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Oct 5 17:19:58 2015 +0300 powerpc: dts: p1022si: Add fsl,wake-on-filer for eTSEC Enable the "wake-on-filer" (aka. wake on user defined packet) wake on lan capability for the eTSEC ethernet nodes. Cc: Li Yang <leoli@xxxxxxxxxxxxx> Cc: Zhao Chenhui <chenhui.zhao@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66cebb86ac77c6dff0751efa382551cab24075cd Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Oct 5 17:19:57 2015 +0300 doc: dt: net: Add fsl,wake-on-filer for eTSEC Add the "fsl,wake-on-filer" property for eTSEC nodes to indicate that the system has the power management infrastructure needed to be able to wake up the system via FGPI (filer, aka. h/w rx parser) interrupt. Cc: Li Yang <leoli@xxxxxxxxxxxxx> Cc: Zhao Chenhui <chenhui.zhao@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04a8250b40394f34a54439c62c883322b3107bd2 Merge: 4917a15 6b26ba3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 04:18:04 2015 -0700 Merge branch 'ovs-ipv6-tunnel' Jiri Benc says: ==================== openvswitch: add IPv6 tunneling support This builds on the previous work that added IPv6 support to lwtunnels and adds IPv6 tunneling support to ovs. To use IPv6 tunneling, there needs to be a metadata based tunnel net_device created and added to the ovs bridge. Currently, only vxlan is supported by the kernel, with geneve to follow shortly. There's no need nor intent to add a support for this into the vport-vxlan (etc.) compat layer. v3: dropped the last two patches added in v2. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b26ba3a7d952e611dcde1f3f77ce63bcc70540a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Mon Oct 5 13:09:47 2015 +0200 openvswitch: netlink attributes for IPv6 tunneling Add netlink attributes for IPv6 tunnel addresses. This enables IPv6 support for tunnels. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00a93babd06aaad31d23384cda576ede0f586a8c Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Mon Oct 5 13:09:46 2015 +0200 openvswitch: add tunnel protocol to sw_flow_key Store tunnel protocol (AF_INET or AF_INET6) in sw_flow_key. This field now also acts as an indicator whether the flow contains tunnel data (this was previously indicated by tun_key.u.ipv4.dst being set but with IPv6 addresses in an union with IPv4 ones this won't work anymore). The new field was added to a hole in sw_flow_key. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4917a1548ff41e53d863d6845b4da1884e4282b4 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 12:11:21 2015 +0200 bridge: netlink: make br_fill_info's frame size smaller When KASAN is enabled the frame size grows > 2048 bytes and we get a warning, so make it smaller. net/bridge/br_netlink.c: In function 'br_fill_info': >> net/bridge/br_netlink.c:1110:1: warning: the frame size of 2160 bytes >> is larger than 2048 bytes [-Wframe-larger-than=] Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba856fbd602175d386ab5a4fc0fdd89b912546cb Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 11:57:14 2015 +0100 ASoC: da7219: Improve error checking of mclk enable/disable Should only try to enable/disable the provided mclk, during bias level changes, if it's not NULL. Also return value of clk_prepare_enable() should be checked and dealt with accordingly. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b7ebd78d1d142e4e47c3547b08faf51218384583 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 11:57:12 2015 +0100 ASoC: da7219: Use of_match_ptr() when assigning match table Use of_match_ptr() to handle non-DT kernel scenario where match table should be NULL. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c570b82c5e6ac78be35b4e72594c0f1b1888fce1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 11:59:58 2015 +0100 ASoC: sun4i-codec: Remove the routing property Most of the boards have their headphone jack directly connected to the matching pins of the SoCs. Since most of the time we will have the same routing path, it makes no sense to put that in the DTS, since it will only be some useless duplication there. It also fixes the following warning messages that were seen so far, on boards where we were using the bindings in the documentation example. sun4i-codec 1c22c00.codec: ASoC: no sink widget found for Headphone Jack sun4i-codec 1c22c00.codec: ASoC: Failed to add route HP Left -> direct -> Headphone Jack sun4i-codec 1c22c00.codec: ASoC: no sink widget found for Headphone Jack sun4i-codec 1c22c00.codec: ASoC: Failed to add route HP Right -> direct -> Headphone Jack Reported-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 16660f0bd942cec203eaf4de0e2ac1695bd9d32d Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Sat Oct 3 11:43:46 2015 -0700 net: Add support for filtering neigh dump by device index Add support for filtering neighbor dumps by device by adding the NDA_IFINDEX attribute to the dump request. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6c1a8a6ce19d30c235ef0fa285d5110aafaefe2 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Sep 14 12:29:39 2015 +0300 ARM: davinci: clock: Correct return values for API functions Fix the values returned by the publicly used functions. These function should return 0 when they are called with clk == NULL in similar manner as the clock API does to avoid different behavior in drivers used by daVinci and other architectures. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit d1a31e975738c215f450f3d7c15d5fb96942a866 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:05 2015 +0300 ARM: davinci: re-use %*ph specifier %*ph specifier allows to dump data in hex format using the pointer to a buffer. This is suitable to use here. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 120798d2e7d1ac87365fe5ea91b074bb42ca1eff Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:30 2015 +0100 arm64: mm: remove dsb from update_mmu_cache update_mmu_cache() consists of a dsb(ishst) instruction so that new user mappings are guaranteed to be visible to the page table walker on exception return. In reality this can be a very expensive operation which is rarely needed. Removing this barrier shows a modest improvement in hackbench scores and , in the worst case, we re-take the user fault and establish that there was nothing to do. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 28c6fbc3b446caf5f8d1f2d7b79e09e743158a4d Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:29 2015 +0100 arm64: tlb: remove redundant barrier from __flush_tlb_pgtable __flush_tlb_pgtable is used to invalidate intermediate page table entries after they have been cleared and are about to be freed. Since pXd_clear imply memory barriers, we don't need the extra one here. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 38d96287504a2478eb538bfecfa1fddd743bb6b2 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:28 2015 +0100 arm64: mm: kill mm_cpumask usage mm_cpumask isn't actually used for anything on arm64, so remove all the code trying to keep it up-to-date. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c2775b2ee5caca19f661ee2ab5af92462596db71 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:27 2015 +0100 arm64: switch_mm: simplify mm and CPU checks switch_mm performs some checks to try and avoid entering the ASID allocator: (1) If we're switching to the init_mm (no user mappings), then simply set a reserved TTBR0 value with no page table (the zero page) (2) If prev == next *and* the mm_cpumask indicates that we've run on this CPU before, then we can skip the allocator. However, there is plenty of redundancy here. With the new ASID allocator, if prev == next, then we know that our ASID is valid and do not need to worry about re-allocation. Consequently, we can drop the mm_cpumask check in (2) and move the prev == next check before the init_mm check, since if prev == next == init_mm then there's nothing to do. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 5a7862e83000ccfd36db927c6f060458fe271157 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:26 2015 +0100 arm64: tlbflush: avoid flushing when fullmm == 1 The TLB gather code sets fullmm=1 when tearing down the entire address space for an mm_struct on exit or execve. Given that the ASID allocator will never re-allocate a dirty ASID, this flushing is not needed and can simply be avoided in the flushing code. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit f3e002c24e1f3b66f6e392ecd6928b5d04672c54 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:25 2015 +0100 arm64: tlbflush: remove redundant ASID casts to (unsigned long) The ASID macro returns a 64-bit (long long) value, so there is no need to cast to (unsigned long) before shifting prior to a TLBI operation. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 5aec715d7d3122f77cabaa7578d9d25a0c1ed20e Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:24 2015 +0100 arm64: mm: rewrite ASID allocator and MM context-switching code Our current switch_mm implementation suffers from a number of problems: (1) The ASID allocator relies on IPIs to synchronise the CPUs on a rollover event (2) Because of (1), we cannot allocate ASIDs with interrupts disabled and therefore make use of a TIF_SWITCH_MM flag to postpone the actual switch to finish_arch_post_lock_switch (3) We run context switch with a reserved (invalid) TTBR0 value, even though the ASID and pgd are updated atomically (4) We take a global spinlock (cpu_asid_lock) during context-switch (5) We use h/w broadcast TLB operations when they are not required (e.g. in flush_context) This patch addresses these problems by rewriting the ASID algorithm to match the bitmap-based arch/arm/ implementation more closely. This in turn allows us to remove much of the complications surrounding switch_mm, including the ugly thread flag. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 8e63d38876691756f9bc6930850f1fb77809be1b Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:23 2015 +0100 arm64: flush: use local TLB and I-cache invalidation There are a number of places where a single CPU is running with a private page-table and we need to perform maintenance on the TLB and I-cache in order to ensure correctness, but do not require the operation to be broadcast to other CPUs. This patch adds local variants of tlb_flush_all and __flush_icache_all to support these use-cases and updates the callers respectively. __local_flush_icache_all also implies an isb, since it is intended to be used synchronously. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit fa7aae8a4257e6be7051420dac1f150c1eef721b Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:22 2015 +0100 arm64: proc: de-scope TLBI operation during cold boot When cold-booting a CPU, we must invalidate any junk entries from the local TLB prior to enabling the MMU. This doesn't require broadcasting within the inner-shareable domain, so de-scope the operation to apply only to the local CPU. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c51e97d89e526368eb697f87cd4d391b9e19f369 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:21 2015 +0100 arm64: mm: remove unused cpu_set_idmap_tcr_t0sz function With commit b08d4640a3dc ("arm64: remove dead code"), cpu_set_idmap_tcr_t0sz is no longer called and can therefore be removed from the kernel. This patch removes the function and effectively inlines the helper function __cpu_set_tcr_t0sz into cpu_set_default_tcr_t0sz. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 1ea29b39f4c812ece2f936065a0a3d6fe44a263e Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Fri Sep 11 11:22:04 2015 +0000 spi: bcm2835aux: add bcm2835 auxiliary spi device driver The bcm2835 has 2 auxiliary spi bus masters spi1 and spi2. This implements the driver to enable these devices. The driver does not implement native chip-selects but uses the aribtrary GPIO-chip-selects provided by the spi-chipselect. Note that this driver relies on the fact that the clock is implemented by the clk-bcm2835-aux driver, which enables/disables the HW block when requesting/releasing the clock. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Acked-by: Eric Anholt <eric@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 541cf5de027b7e9afe3a8f0ce205d2ccc02ac3fe Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Fri Sep 11 11:22:03 2015 +0000 spi: bcm2835aux: spi: add bindings for the bcm2835 auxiliary spi devices This defines the spi1 and spi2 devices in the device-tree. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 127db024a7baee9874014dac33628253f438b4da Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Thu Sep 17 12:38:07 2015 +0300 arm64: introduce VA_START macro - the first kernel virtual address. In order to not use lengthy (UL(0xffffffffffffffff) << VA_BITS) everywhere, replace it with VA_START. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit cc91ef0fd4904fc130aecea8603585a9c0fe8384 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Sat Oct 3 03:37:59 2015 +0800 ASoC: nau8825: fix platform_no_drv_owner.cocci warnings sound/soc/codecs/nau8825.c:1096: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: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 34ca27f34f413b4a684fc7336911799da3ac84d5 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Fri Oct 2 09:49:14 2015 -0700 ASoC: nau8825: Add driver for headset chip Nuvoton 8825 Sponsored-by: Google Chromium project Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 52095d179c5b3254fa87aaa6990e164c5cf21e12 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 30 14:39:47 2015 +0800 ARM: dts: sun6i: hummingbird: Drop AXP221 DC1SW and DC5LDO supplies "dcdc1-supply" and "dcdc5-supply" have been dropped, as they are internally connected and should not be represented in the device tree. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 404268828c74ba06b1f21584b26edafb381c9d7d Author: Feng Kan <fkan@xxxxxxx> Date: Wed Sep 23 11:55:39 2015 -0700 arm64: copy_to-from-in_user optimization using copy template This patch optimize copy_to-from-in_user for arm 64bit architecture. The copy template is used as template file for all the copy*.S files. Minor change was made to it to accommodate the copy to/from/in user files. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Balamurugan Shanmugam <bshanmugam@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit e5c88e3f2fb35dca5f3e46d65095bf5d008595b7 Author: Feng Kan <fkan@xxxxxxx> Date: Wed Sep 23 11:55:38 2015 -0700 arm64: Change memcpy in kernel to use the copy template file This converts the memcpy.S to use the copy template file. The copy template file was based originally on the memcpy.S Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Balamurugan Shanmugam <bshanmugam@xxxxxxx> [catalin.marinas@xxxxxxx: removed tmp3(w) .req statements as they are not used] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit efa773fe913ff188c554ccaac577d0a1bb1dc2f4 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Mon Aug 24 18:01:15 2015 +0530 arm64: defconfig: Enable samsung serial and mmc This patch update defconfig, adds samsung serial and Synopsys Designware MMC configs related to exynos SoC Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit b5e5a4549c8b88a880fa3866fa3803ea9396ba03 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 5 14:53:50 2015 +0300 ASoC: Intel: use dw_dmac autoconfiguration Instead of hardconding a platform data for dw_dmac let's use it's own autoconfiguration feature. Thus, remove hardcoded values. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e892406f00e1f93d81fdb350e1bcb5cb0e5dabff Merge: d25b8e7 8552d85 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 03:01:53 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-10-03 This series contains updates to i40e and i40evf, some of which are to resolve more Red Hat bugzilla issues. Jiang Liu updates the i40e and i40evf drivers to use numa_mem_id() instead of numa_node_id() to get the nearest node with memory which better supports memoryless nodes. Anjali fixes an issue from Dan Carpenter <dan.carpenter@xxxxxxxxxx>, to resolve a memory leak in X722 RSS configuration path, where we should free the memory allocated before exiting. Shannon modifies the drivers to ensure we have the spinlocks before we clear the ARQ and ASQ management registers. In addition, we widen the locked portion insert a sanity check to ensure we are working with safe register values. Mitch fixes an issue where under certain circumstances, we can get an extra VF_RESOURCES message from the PF driver at runtime. When this occurs, we need to parse it because our VSI may have changed and that will affect the relationship with the PF driver. But this parsing also blows away our current MAC address, so resolve the issue by restoring the current MAC address from the netdev struct after we parse the resource message. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d25b8e74291fec2dbf3fe3df7f20289eeaa9d28f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 18:09:07 2015 +0100 net: dsa: better error reporting Add additional error reporting to the generic DSA code, so it's easier to debug when things go wrong. This was useful when initially bringing up 88e6176 on a new board. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bac50bace0377138fed2ac3627c1ad470ea1eca Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 18:09:01 2015 +0100 net: dsa: mv88e6xxx: remove link polling The link status is polled by the generic phy layer, there's no need to duplicate that polling with additional polling. This additional polling adds additional MDIO traffic, and races with the generic phy layer, resulting in missing or duplicated link status messages. Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2ec7029c9347879ec21dbe003ef80dd1343b3b4 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 1 19:57:51 2015 +0800 ARM: dts: sun8i: sinlinx-sina33: Enable Reduced Serial Bus controller The Reduced Serial Bus controller is used to talk to the onboard PMIC. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d4eac998b9d18602d995e55ed31951a1b81d8f2a Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 1 19:57:50 2015 +0800 ARM: dts: sun8i: q8-common: Enable RSB controller for A23/A33 Q8 tablets The Reduced Serial Bus controller is used to talk to the onboard PMIC. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 79d05ec96a768d37781f7c98489eea58de3e2348 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 1 19:57:49 2015 +0800 ARM: dts: sun8i: Add Reduced Serial Bus controller device node to A23/A33 dtsi This patch adds a device node for the Reduced Serial Bus (RSB) controller and the defacto pinmux setting to the A23/A33 dtsi. Since there is only one possible pinmux setting for RSB, just set it in the dtsi. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit dc6d84c69cf8296b1e8e2fd0b1e115b7787ef4e9 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Oct 5 21:22:40 2015 +0800 ASoC: rt286: Fix run time error while modifying const data Make a copy of memory for index_cache rather than directly use the rt286_index_def to avoid run time error. Fixes: c418a84a8c8f ("ASoC: Constify reg_default tables") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d46183efe3b57d06461c9bea35e1a0262391fe77 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Oct 6 17:26:36 2015 +0800 ASoC: ad193x-spi: Fixup ad193x_spi_id table AD1939 is missed from the table, so add it. AD1936 and AD1937 are controlled by I2C interface, so remove them. Fixes: e5224f58e3ef ("ASoC: ad193x: add support to ad1934") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0a6d1fa0d2b48fbae444e46e7f37a4832b2f8bdf Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:56 2015 -0700 x86/vdso: Remove runtime 32-bit vDSO selection 32-bit userspace will now always see the same vDSO, which is exactly what used to be the int80 vDSO. Subsequent patches will clean it up and make it support SYSENTER and SYSCALL using alternatives. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/e7e6b3526fa442502e6125fe69486aab50813c32.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b611acf4736b5b00c89dcc238f640337832abcb4 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:55 2015 -0700 x86/entry/64/compat: After SYSENTER, move STI after the NT fixup We eventually want to make it all the way into C code before enabling interrupts. We need to rework our flags handling slightly to delay enabling interrupts. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/35d24d2a9305da3182eab7b2cdfd32902e90962c.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 72f924783b8a87e4454516520ffb5f35e4930371 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:54 2015 -0700 x86/entry, locking/lockdep: Move lockdep_sys_exit() to prepare_exit_to_usermode() Rather than worrying about exactly where LOCKDEP_SYS_EXIT should go in the asm code, add it to prepare_exit_from_usermode() and remove all of the asm calls that are followed by prepare_exit_to_usermode(). LOCKDEP_SYS_EXIT now appears only in the syscall fast paths. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1736ebe948b845e68120b86b89091f3ec27f5e8e.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dd27f998f0ed3c797032a82033fa191be7c61e4c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:53 2015 -0700 x86/entry/64/compat: Fix SYSENTER's NT flag before user memory access Clearing NT is part of the prologue, whereas loading up arg6 makes more sense to think about as part of syscall processing. Reorder them. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/19eb235828b2d2a52c53459e09f2974e15e65a35.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 04235c00b6bb72b589e99efcc18883378ee76f1b Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:52 2015 -0700 selftests/x86: Add a test for ptrace syscall restart and arg modification This tests assumptions about how fast syscall works wrt pt_regs and, in particular, what happens if IP is decremented by 2 during a syscall. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1c44dbfe59000ba135bbf35ccc5d2433a0b31618.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3b56aae34bc695638b8673fc8459be1837c18730 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:51 2015 -0700 selftests/x86: Add a test for vDSO unwinding While the kernel itself doesn't use DWARF unwinding, user code expects to be able to unwind the vDSO. The vsyscall (AT_SYSINFO) entry is manually CFI-annotated, and this tests that it unwinds correctly. I tested the test by incorrectly annotating __kernel_vsyscall, and the test indeed fails if I do that. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/8bf736d1925cdd165c0f980156a4248e55af47a1.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7e0f51cb445be8d3aee80e433ed8da4a33ad0157 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:50 2015 -0700 x86/uaccess: Add unlikely() to __chk_range_not_ok() failure paths This should improve code quality a bit. It also shrinks the kernel text: Before: text data bss dec filename 21828379 5194760 1277952 28301091 vmlinux After: text data bss dec filename 21827997 5194760 1277952 28300709 vmlinux ... by 382 bytes. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/f427b8002d932e5deab9055e0074bb4e7e80ee39.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a76cf66e948afbaeda8e3ecc861f29c47a026c27 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:49 2015 -0700 x86/uaccess: Tell the compiler that uaccess is unlikely to fault GCC doesn't realize that get_user(), put_user(), and their __ variants are unlikely to fail. Tell it. I noticed this while playing with the C entry code. Before: text data bss dec filename 21828763 5194760 1277952 28301475 vmlinux.baseline After: text data bss dec filename 21828379 5194760 1277952 28301091 vmlinux.new The generated code shrunk by 384 bytes. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/dc37bed7024319c3004d950d57151fca6aeacf97.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 25a9a924c0c8723ced99179eb639e8c5372a2557 Merge: 0b101e6 a0eeb8d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 7 11:24:24 2015 +0200 Merge branch 'linus' into x86/asm, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7e64e5e66af8308725bfd03fcdf185c09b3056a7 Merge: f79683d 0316d30 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Wed Oct 7 12:14:23 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * more clean-ups towards multiple RX queues; * some rate scaling fixes and improvements; * some time-of-flight fixes; * other generic improvements and clean-ups; commit 9bc63ca0904da3f163c01087e27952dd962d548d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Oct 5 12:43:57 2015 +0200 Bluetooth: btbcm: Read the local name in setup stage The Broadcom Bluetooth controllers have the chip name included in the ROM firmware or later in the patchram firmware. For debugging purposes read the local name and print it out. This is only done during setup stage and only once before loading the firmware and once after loading the firmware. For the Broadcom based controllers from Apple, the name is only read once after determining the chip id. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b941a5cbe10201afa937fba90d68d7af6093d3d4 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 02:05:41 2015 +0300 ARM: shmobile: porter: add SDHI0/2 DT support Define the Porter board dependent part of the SDHI0/2 device nodes along with the necessary voltage regulators (note that the Vcc regulators are dummy -- they are required but don't actually exist on the board). Also, GPIOs have to be used for the CD and WP signals due to the SDHI driver constraints... This patch is analogous to the commit 1299df03d719 ("ARM: shmobile: henninger: add SDHI0/2 DT support") as there are no differences between those boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 92240e8dc0d1a94ea3dde7cb19aace113dcc6cb9 Author: Simon Horman <horms@xxxxxxxxxxxx> Date: Tue Oct 6 17:09:52 2015 +0900 ipvs: Remove possibly unused variables from ip_vs_conn_net_{init,cleanup} If CONFIG_PROC_FS is undefined then the arguments of proc_create() and remove_proc_entry() are unused. As a result the net variables of ip_vs_conn_net_{init,cleanup} are unused. net/netfilter/ipvs//ip_vs_conn.c: In function â??ip_vs_conn_net_initâ??: net/netfilter/ipvs//ip_vs_conn.c:1350:14: warning: unused variable â??netâ?? [-Wunused-variable] net/netfilter/ipvs//ip_vs_conn.c: In function â??ip_vs_conn_net_cleanupâ??: net/netfilter/ipvs//ip_vs_conn.c:1361:14: warning: unused variable â??netâ?? [-Wunused-variable] ... Resolve this by dereferencing net as needed rather than storing it in a variable. Fixes: 3d99376689ee ("ipvs: Pass ipvs not net into ip_vs_control_net_(init|cleanup)") Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> commit ed1c9f0e78b3b360ade4fb838a6099d643f3cd04 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 08:49:04 2015 -0700 ipvs: Remove possibly unused variable from ip_vs_out Eric's net namespace changes in 1b75097dd7a26 leaves net unreferenced if CONFIG_IP_VS_IPV6 is not enabled: ../net/netfilter/ipvs/ip_vs_core.c: In function â??ip_vs_outâ??: ../net/netfilter/ipvs/ip_vs_core.c:1177:14: warning: unused variable â??netâ?? [-Wunused-variable] After the net refactoring there is only 1 user; push the reference to the 1 user. While the line length slightly exceeds 80 it seems to be the best change. Fixes: 1b75097dd7a26("ipvs: Pass ipvs into ip_vs_out") Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> [horms: updated subject] Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit d7e7f02f71bee425d651ced7ba3b316df61ab945 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 22 17:49:26 2015 +0800 nfc: s3fwrn5: i2c: Use devm_request_threaded_irq to avoid irq leak Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 45ee28570d73205e2129d995d805c7ae898e7a94 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 22 17:48:40 2015 +0800 nfc: s3fwrn5: Make NFC_S3FWRN5 select CRYPTO Make NFC_S3FWRN5 select CRYPTO to fix below build errors: ERROR: "crypto_destroy_tfm" [drivers/nfc/s3fwrn5/s3fwrn5.ko] undefined! ERROR: "crypto_alloc_base" [drivers/nfc/s3fwrn5/s3fwrn5.ko] undefined! scripts/Makefile.modpost:91: recipe for target '__modpost' failed make[1]: *** [__modpost] Error 1 Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 726d0d407b9a06b4f30053b33ae7d5edec8d5095 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Tue Oct 6 15:37:02 2015 -0700 Input: ft6236 - do not explicitly set driver's owner There is no need to explicitly set .owner for the driver, the core will do it for us. Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8b58cc36b11bafb9305db2417eab1eb47a212082 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Tue Oct 6 15:24:34 2015 -0700 Input: edt-ft5x06 - do not call desc_to_gpio for invalid gpios Since reset and wake pin are optional the gpio structure for those pins may be null. Therefore, they can't be blindly passed to desc_to_gpio. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5b21e3c740b770fb2548a5a8ea66e544d114d0a8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Oct 6 15:23:36 2015 -0700 Input: joydev - fix possible ERR_PTR() dereferencing Commit 5702222c9a7a ("Input: joydev - use memdup_user() to duplicate memory from user-space") changed the kmalloc() and copy_from_user() with a single call to memdup_user() but wrongly used the same error path than the old code in which the buffer allocated by kmalloc() was freed if copy_from_user() failed. This is of course wrong since if memdup_user() fails, no memory was allocated and the error in the error-valued pointer should be returned. Fixes: 5702222c9a7a ("Input: joydev - use memdup_user() to duplicate memory from user-space") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2f684b239cdbfcc1160392645a8fc056a68847ca Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 6 19:53:02 2015 -0300 [media] dvb: get rid of enum dmx_success This enum is not actually used anymore. The only value used from the enum is DMX_OK, passed as a parameter on two callbacks. Yet, this value is not used anywhere. So, just remove it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 753da421ba467dcabc1b8bd2accbf605d0da2ea9 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Wed Oct 7 00:51:23 2015 +0200 NFC: s3fwrn5: Remove superfluous cflags NFC_DEBUG is not defined in Kconfig and since DEBUG is not used anywhere in this directory, we can safely remove this line. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Acked-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit c4602280869e7aceb1245f525eff923e548ec9f3 Author: Lee, Chun-Yi <joeyli.kernel@xxxxxxxxx> Date: Mon Oct 5 18:17:42 2015 +0800 acer-wmi: remove threeg and interface sysfs interfaces Since v3.0 kernel, acer-wmi driver auto detects internal 3G device and provides the threeg rfkill interface. So the sysfs interface of 3G is no longer necessary now. The 7b8aca65 patch added kernel information log to remind to user space for the threeg sysfs interface will be removed in 2012, then b58b9ffc patch updated the interface removing time to 2014. I think the 3 years lead time is enough for user space application to use rfkill instead of sysfs interface to control 3G device. This patch removes code about threeg sysfs interface. And it also removes the unused interface sysfs that exposes which ACPI-WMI method used by acer-wmi driver on the machine. The information is already exposed by the acer-wmi initial log. Cc: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Dmitry Torokhov <dtor@xxxxxxx> Cc: Corentin Chary <corentincj@xxxxxxxxxx> Cc: Martin Kepplinger <martink@xxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 7d3777d1069137800cdd1420a6c75cd94151d877 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Dec 29 14:26:50 2014 +0200 OLPC: Use %*ph specifier instead of passing direct values The %*ph specifier allows to dump small buffers in hex format. Let's use it instead of passing direct values via stack. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Paul Fox <pgf@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 3a4bceeffae5b170af523cd9f2798d5a0d14a2d7 Author: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Date: Tue Oct 6 23:17:04 2015 +0100 MAINTAINERS: Add drivers/platform/olpc to drivers/platform/x86 Andy Shevchenko sent me a simple patch that's been sitting on LKML for 10 months for OLPC and asked if I'd take it via platform/drivers/x86. OLPC appears to be unmaintained per MAINTAINERS. Add it to platform/drivers/x86 (unless someone else really wants it!) Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 4bc645df7d46253836062ecb1e2969034d5ebd11 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 6 18:39:40 2015 -0300 [media] DocBook: finish documenting struct dmx_demux There are two callbacks still not documented: .//drivers/media/dvb-core/demux.h:422: warning: No description found for parameter 'get_pes_pids' .//drivers/media/dvb-core/demux.h:422: warning: No description found for parameter 'get_stc' The purpose of first one is clear. The second one is used only on the obsolete av7110 driver, and its purpose is not clear, as it just returns a 64-bit word from the firmware to userspace. Let's document get_pes_pids and mark get_stc as private, adding a comment to not use it, while this is not documented. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1e92bbe08ad9fc0d5ec05174c176a9bc54921733 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 6 18:36:20 2015 -0300 [media] dvb: don't keep support for undocumented features There are two DVB demux callbacks and ioctls that aren't documented and aren't used at all by the DVB core or by any DVB driver upstream. Let's comment out the code for those two ioctls and remove on some future version. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 28cff82ce2811a15bbaa4e978c64a231ddc71880 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 6 15:30:46 2015 -0300 [media] DocBook: update documented fields at struct dmx_demux There are a few inconsistencies between the old documentation that got imported into the header and the current status. Update them, and use the proper doc-nano nomenclature for struct artuments "@", instead of foo(). Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 95abfdb942a44e165c54a4e890a9b91a1eeb8621 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 15:10:55 2015 -0300 [media] DocBook: Move struct dmx_demux kABI doc to demux.h The DocBook/media/dvb/kdapi.xml contains the description of the kABI for DVB. The problem is that, by being maintained on a separate file and not being updated for years, it got outdated. So, for example, some callback parameters were changed, but the DocBook were still using the old stuff. As a first step to fix it, let's move the documentation of struct dmx_demux into demux.h and fix the parameters used there. For now, don't document any other field nor touch the descriptions that got moved, letting this job to other patches. That makes easier to review the patch. PS.: Please notice that an additional patch will be needed in order to fix the return values (some uses non-existent return codes) and to the functions and callbacks mentioned at the descriptions. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bdbbf13e0434ab82d700693ff19182013aaa09dd Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 14:04:54 2015 -0300 [media] dvb_ca_en50221.h: Make checkpatch.pl happy There are several CodingStyle violations at the DVB code. While we won't be fixing them as a hole, let's fix at least the headers, as we're touching on them already in order to properly document them. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d7061f836fb166467b0a39f6adec4a69a0c9b826 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 14:02:43 2015 -0300 [media] DocBook: document struct dvb_ca_en50221 This struct is already documented at the header file, but it is not using Kernel doc-nano format. Convert to it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 38349665388fb079fb2bc8c46db9446dd976802a Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 6 11:00:17 2015 +0200 perf tools: Fix handling read result using a signed variable The function can return negative value, assigning it to unsigned variable can cause memory corruption. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: kernel-janitors@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444122017-16856-1-git-send-email-a.hajda@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1178bfd41f3ab6914eb6884875b776bc3032c9b5 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Oct 6 14:25:12 2015 +0200 perf tools: Use hpp_dimension__add_output to register hpp columns The perf_hpp__init currently does not respect sorting dimensions and the setup_sorting function could endup queueing same format twice. That screwed up the perf_hpp__list and got stuck in loop within perf_hpp__setup_output_field function. $ perf report -F +overhead 0x00000000004c1355 in perf_hpp__is_sort_entry (format=format@entry=0x880440 <perf_hpp.format>) at util/sort.c:1506 1506 { #0 0x00000000004c1355 in perf_hpp__is_sort_entry (format=format@entry=0x880440 <perf_hpp.format>) at util/sort.c:1506 #1 0x00000000004c139d in perf_hpp__same_sort_entry (a=a@entry=0x880440 <perf_hpp.format>, b=b@entry=0x2bb2fe0) at util/sort.c:1380 #2 0x00000000004f8d3c in perf_hpp__setup_output_field () at ui/hist.c:554 #3 0x00000000004c1d1e in setup_sorting () at util/sort.c:1984 #4 0x000000000042efbf in cmd_report (argc=0, argv=0x7ffea5a0e790, prefix=<optimized out>) at builtin-report.c:874 #5 0x0000000000476f13 in run_builtin (p=p@entry=0x875628 <commands+168>, argc=argc@entry=3, argv=argv@entry=0x7ffea5a0e790) at perf.c:385 #6 0x000000000047710b in handle_internal_command (argc=3, argv=0x7ffea5a0e790) at perf.c:445 #7 0x0000000000477176 in run_argv (argcp=argcp@entry=0x7ffea5a0e5fc, argv=argv@entry=0x7ffea5a0e5f0) at perf.c:489 #8 0x00000000004773e7 in main (argc=3, argv=0x7ffea5a0e790) at perf.c:606 Using hpp_dimension__add_output function to register the output column. It will also mark the dimension as taken and omit above stuck. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444134312-29136-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit beeaaeb3684d97e89548c1b6b6275329214014df Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Oct 6 14:25:11 2015 +0200 perf tools: Introduce hpp_dimension__add_output function This function will allow to register output column from ui code and respect taken sort/output dimensions. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444134312-29136-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0974d2c9719a4c74fea0f6886b9922b100b903a6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Oct 6 14:25:10 2015 +0200 perf tools: Get rid of superfluos call to reset_dimensions There's no need to call reset_dimensions within __setup_output_field function. It's already called in its caller setup_sorting right before perf_hpp__init, which will be changed in following patch to respect taken dimension. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444134312-29136-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b4eb6cdbbd13698704863f680c643c569909e1c2 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Aug 25 20:25:37 2015 -0400 PCI: Add builtin_pci_driver() to avoid registration boilerplate In f309d4443130 ("platform_device: better support builtin boilerplate avoidance"), we introduced the builtin_driver() macro. Here we use that support and extend it to PCI driver registration, so where a driver is clearly non-modular and builtin-only, we can register it in a similar fashion. Existing code that is clearly non-modular can be updated with the simple mapping of module_pci_driver(...) ---> builtin_pci_driver(...) We've essentially cloned the former to make the latter, and taken out the remove/module_exit parts since those never get used in a non-modular build of the code. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit bd3208bab35872e545d40f22cc707a8c4892b66e Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:46 2015 +0200 ARM: pxa: magician: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 2dc9975a516aa49790c69368b3bbc519b64eb059 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:45 2015 +0200 ARM: pxa: lpd270: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit b0e9bbb97fea0198de9140142f750c4b7f08fc8a Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:44 2015 +0200 ARM: pxa: hx4700: Remove unused field initializers The ID and period for the backlight PWM are obtained from a PWM lookup table, so the corresponding values don't need to be duplicated into the platform data. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit aeac23bda87fd98049352d3bc27a1cb80445e7a0 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jun 5 13:46:22 2015 +0100 drm: bridge/dw_hdmi: improve HDMI enable/disable handling HDMI sinks are permitted to de-assert and re-assert the HPD signal to indicate that their EDID has been updated, which may not involve a change of video information. An example of where such a situation can arise is when an AV receiver is connected between the source and the display device. Events which can cause the HPD to be deasserted include: * turning on or switching to standby the AV receiver. * turning on or switching to standby the display device. Each of these can change the entire EDID data, or just a part of the EDID data - it's up to the connected HDMI sink to do what they desire here. For example - with the AV receiver and display device both in standby, a source connected to the AV receiver may provide its own EDID to the source. - turning on the display device causes the display device's EDID to be made available in an unmodified form to the source. - subsequently turning on the AV receiver then provides a modified version of the display device's EDID. Moreover, HPD doesn't tell us whether something is actually listening on the HDMI TDMS signals. The phy gives us a set of RXSENSE indications which tell us whether there is a sink connected to the TMDS signals. Currently, we use the HPD signal to enable or disable the HDMI block, which is questionable when HPD is used in this manner. Using the RXSENSE would be more appropriate, but there is some bad behaviour which needs to be coped with. The iMX6 implementation lets the TMDS signals float when the phy is "powered down", which cause spurious interrupts. Rather than just using RXSENSE, use RXSENSE and HPD becoming both active to signal the presence of a device, but loss of RXSENSE to indicate that the device has been unplugged. The side effect of this change is that a sink deasserting the HPD signal to cause a re-read of the EDID data will not cause the bridge to immediately disable the video signal. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 381f05a7a8428c84483d6bbd0aa3f4ced463c278 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jun 5 15:25:08 2015 +0100 drm: bridge/dw_hdmi: add connector mode forcing When connected to HDMI sources, some DVI monitors de-assert their HPD signal and TDMS loads for one seconds every four seconds when there is no signal present on the connection. Unfortunately, this behaviour is indistinguishable from a proper HDMI setup with an AV receiver in the path to the display: the HDMI spec requires us to detect HPD deassertions as short as 100ms, which indicate that the EDID has changed. Since it is possible to connect a DVI monitor to an AV receiver and then to a HDMI source, merely working around this by detecting the lack of HDMI vendor block in the EDID is insufficient - the AV receiver is at liberty to modify the EDID as it sees fit, and it will place its own parameters into the EDID including the HDMI vendor block. DRM has support for forcing the state of a connector, which we should implement to allow us to work around these broken DVI monitors - we can tell DRM to force the connection state to indicate that there is always a device connected to work around this problem. Although this requires manual configuration, it is better than nothing at all. When a forced connection state has been set, there is no point handling our RXSENSE interrupts, so disable them in this circumstance. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e80b9f4eea2649f67edc05d4f2e7ddc250f91453 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 11:08:25 2015 +0100 drm: bridge/dw_hdmi: add support for interlaced video modes Add support for interlaced video modes to the dw_hdmi bridge. This mainly involves halving the vertical parameters to be programmed into the bridge registers, and setting the interlace_allowed connector flag. This brings working 1080i support. However, 480i and 576i fail to work due to the lack of proper pixel repetition support, which is not trivial to add due to the tabular PLL parameterisation. Hence, we filter out these modes in our mode_valid() method. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit aefa627fa3f231c5d86aeb229f15e8478cb6e910 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:22:29 2015 +0100 gpu: imx: fix support for interlaced modes The support for interlaced video modes seems to be broken; we don't use anything other than the vtotal/htotal from the timing information to define the various sync counters. Freescale patches for interlaced video support contain an alternative sync counter setup, which we include here. This setup produces the hsync and vsync via the normal counter 2 and 3, but moves the display enable signal from counter 5 to counter 6. Therefore, we need to change the display controller setup as well. The corresponding Freescale patches for this change are: iMX6-HDMI-support-interlaced-display-mode.patch IPU-fine-tuning-the-interlace-display-timing-for-CEA.patch This produces a working interlace format output from the IPU. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f94ab604db9db1a8a0cf0827f5573bfd2d2b89aa Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:00:15 2015 +0100 gpu: imx: simplify sync polarity setting Use a function to convert the sync pin to a bit mask for the DI_GENERAL register, and move this out of the interlace/non-interlace path to the common path. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a36a99618b1adb2d6ca0b7e08e3a656a04e477fe Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 20:01:48 2015 -0700 locktorture: Fix module unwind when bad torture_type specified The locktorture module has a list of torture types, and specifying a type not on this list is supposed to cleanly fail the module load. Unfortunately, the "fail" happens without the "cleanly". This commit therefore adds the needed clean-up after an incorrect torture_type. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit a8c06024d0b557b465ad40b87ef0b51a428f99fd Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 17:12:09 2015 -0700 torture: Forgive non-plural arguments This commit allows --bootarg instead of --bootargs, --config instead of --configs, and --qemu-arg instead of --qemu-args. For those cases where a native English speaker might auto-correct the argument to be incorrect. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 4f441a258f7badf752b3d9b04b675869ca4e751c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 13:13:51 2015 -0700 rcutorture: Fix unused-function warning for torturing_tasks() The torturing_tasks() function is used only in kernels built with CONFIG_PROVE_RCU=y, so the second definition can result in unused-function compiler warnings. This commit adds __maybe_unused to suppress these warnings. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 889d487a26de4bcd1a0a668754bcbce893969edf Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 11:37:58 2015 -0700 rcutorture: Fix module unwind when bad torture_type specified The rcutorture module has a list of torture types, and specifying a type not on this list is supposed to cleanly fail the module load. Unfortunately, the "fail" happens without the "cleanly". This commit therefore adds the needed clean-up after an incorrect torture_type. Reported-by: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: David Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 4bace7344d6dbd7a1b0b801abf24ea9878064317 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 11 17:59:18 2015 +0200 rcu_sync: Cleanup the CONFIG_PROVE_RCU checks 1. Rename __rcu_sync_is_idle() to rcu_sync_lockdep_assert() and change it to use rcu_lockdep_assert(). 2. Change rcu_sync_is_idle() to return rsp->gp_state == GP_IDLE unconditonally, this way we can remove the same check from rcu_sync_lockdep_assert() and clearly isolate the debugging code. Note: rcu_sync_enter()->wait_event(gp_state == GP_PASSED) needs another CONFIG_PROVE_RCU check, the same as is done in ->sync(); but this needs some simple preparations in the core RCU code to avoid the code duplication. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit cc5f730b41506d37a5c2826b2e801d0a59853d11 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:43:03 2015 +0200 locking/percpu-rwsem: Clean up the lockdep annotations in percpu_down_read() Based on Peter Zijlstra's earlier patch. Change percpu_down_read() to use __down_read(), this way we can do rwsem_acquire_read() unconditionally at the start to make this code more symmetric and clean. Originally-From: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit f324a76324c97e81a6ba66a8efac20cdbffd759e Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:43:00 2015 +0200 locking/percpu-rwsem: Fix the comments outdated by rcu_sync Update the comments broken by the previous change. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 001dac627ff37433d5528ffb0d897cd19c2b1e43 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:57 2015 +0200 locking/percpu-rwsem: Make use of the rcu_sync infrastructure Currently down_write/up_write calls synchronize_sched_expedited() twice, which is evil. Change this code to rely on rcu-sync primitives. This avoids the _expedited "big hammer", and this can be faster in the contended case or even in the case when a single thread does down_write/up_write in a loop. Of course, a single down_write() will take more time, but otoh it will be much more friendly to the whole system. To simplify the review this patch doesn't update the comments, fixed by the next change. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 95b19f684c61ffc9b039e02c5d1113c2d8cd7105 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:55 2015 +0200 locking/percpu-rwsem: Make percpu_free_rwsem() after kzalloc() safe This is the temporary ugly hack which will be reverted later. We only need it to ensure that the next patch will not break "change sb_writers to use percpu_rw_semaphore" patches routed via the VFS tree. The alloc_super()->destroy_super() error path assumes that it is safe to call percpu_free_rwsem() after kzalloc() without percpu_init_rwsem(), so let's not disappoint it. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 07899a6e5f56136028c44a57ad0451e797365ac3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:52 2015 +0200 rcu_sync: Introduce rcu_sync_dtor() This commit allows rcu_sync structures to be safely deallocated, The trick is to add a new ->wait field to the gp_ops array. This field is a pointer to the rcu_barrier() function corresponding to the flavor of RCU in question. This allows a new rcu_sync_dtor() to wait for any outstanding callbacks before freeing the rcu_sync structure. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 3a518b76af7bb411efe6dd090fbf098e29accb2e Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:50 2015 +0200 rcu_sync: Add CONFIG_PROVE_RCU checks This commit validates that the caller of rcu_sync_is_idle() holds the corresponding type of RCU read-side lock, but only in kernels built with CONFIG_PROVE_RCU=y. This validation is carried out via a new rcu_sync_ops->held() method that is checked within rcu_sync_is_idle(). Note that although this does add code to the fast path, it only does so in kernels built with CONFIG_PROVE_RCU=y. Suggested-by: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 82e8c565be8a72957570d7da8dd9b441db7bb648 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:47 2015 +0200 rcu_sync: Simplify rcu_sync using new rcu_sync_ops structure This commit adds the new struct rcu_sync_ops which holds sync/call methods, and turns the function pointers in rcu_sync_struct into an array of struct rcu_sync_ops. This simplifies the "init" helpers by collapsing a switch statement and explicit multiple definitions into a simple assignment and a helper macro, respectively. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit cc44ca848f5e517aeca9f5eabbe13609a3f71450 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:44 2015 +0200 rcu: Create rcu_sync infrastructure The rcu_sync infrastructure can be thought of as infrastructure to be used to implement reader-writer primitives having extremely lightweight readers during times when there are no writers. The first use is in the percpu_rwsem used by the VFS subsystem. This infrastructure is functionally equivalent to struct rcu_sync_struct { atomic_t counter; }; /* Check possibility of fast-path read-side operations. */ static inline bool rcu_sync_is_idle(struct rcu_sync_struct *rss) { return atomic_read(&rss->counter) == 0; } /* Tell readers to use slowpaths. */ static inline void rcu_sync_enter(struct rcu_sync_struct *rss) { atomic_inc(&rss->counter); synchronize_sched(); } /* Allow readers to once again use fastpaths. */ static inline void rcu_sync_exit(struct rcu_sync_struct *rss) { synchronize_sched(); atomic_dec(&rss->counter); } The main difference is that it records the state and only calls synchronize_sched() if required. At least some of the calls to synchronize_sched() will be optimized away when rcu_sync_enter() and rcu_sync_exit() are invoked repeatedly in quick succession. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 3836f5337f74fedc15981688c3c31dbf4293ae84 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 03:29:58 2015 -0700 torture: Consolidate cond_resched_rcu_qs() into stutter_wait() This commit moves cond_resched_rcu_qs() into stutter_wait(), saving a line and also avoiding RCU CPU stall warnings from all torture loops containing a stutter_wait(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 617783dd99704331e22636388c932450e02ee636 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 29 14:46:29 2015 -0700 locktorture: Add torture tests for percpu_rwsem This commit adds percpu_rwsem tests based on the earlier rwsem tests. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 302707fd7cd341a23dbc448a335d432ad0069c20 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 20:21:59 2015 -0700 locking/percpu-rwsem: Export symbols for locktorture This commit exports percpu_down_read(), percpu_down_write(), __percpu_init_rwsem(), percpu_up_read(), and percpu_up_write() to allow locktorture to test them when built as a module. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 095777c417db142970adeb776fa0cb10810b8122 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Jul 22 14:07:27 2015 -0700 locktorture: Support rtmutex torturing Real time mutexes is one of the few general primitives that we do not have in locktorture. Address this -- a few considerations: o To spice things up, enable competing thread(s) to become rt, such that we can stress different prio boosting paths in the rtmutex code. Introduce a ->task_boost callback, only used by rtmutex-torturer. Tasks will boost/deboost around every 50k (arbitrarily) lock/unlock operations. o Hold times are similar to what we have for other locks: only occasionally having longer hold times (per ~200k ops). So we roughly do two full rt boost+deboosting ops with short hold times. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit ad2ad5d31f90fc6fb269e9be244224cecfc8b400 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 08:18:32 2015 -0700 documentation: Add lockless_dereference() The recently added lockless_dereference() macro is not present in the Documentation/ directory, so this commit fixes that. Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit b672adf8cfb822781ab904343e5de0297ee117ed Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 11:46:00 2015 -0700 documentation: Catch up list of torture_type options This commit rids the documentation of long-obsolete torture_type options such as rcu_sync and adds new ones such as tasks. Also add verbiage noting the fact that rcutorture now concurrently tests the asynchrounous, synchronous, expedited synchronous, and polling grace-period primitives. Reported-by: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: David Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 2c4ac34bc2d97f056ed3c43fa03c0737fae46fb6 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Tue Aug 11 14:26:33 2015 +0200 documentation: Correct doc to use rcu_dereference_protected As there is lots of misinformation and outdated information on the Internet about nearly all topics related to the kernel, I thought it would be best if I based my RCU code on the guidelines of the examples in the Documentation/ tree of the latest kernel. One thing that stuck out when reading the whatisRCU.txt document was, "interesting how we don't need any function to dereference rcu protected pointers when doing updates if a lock is held. I wonder how static analyzers will work with that." Then, a few weeks later, upon discovering sparse's __rcu support, I ran it over my code, and lo and behold, things weren't done right. Examining other RCU usages in the kernel reveal consistent usage of rcu_dereference_protected, passing in lockdep_is_held as the conditional. So, this patch adds that idiom to the documentation, so that others ahead of me won't endure the same exercise. Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit da873def8da5883a6c04d11f73dcd836c216cf4f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 11:54:04 2015 -0700 documentation: Call out slow consoles as cause of stall warnings The Linux kernel outputs copious text during boot, and a slow serial console can result in stall warnings, particularly when messages are printed with interrupts disabled. This commit adds this to the list of causes of RCU CPU stall warning messages. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 27566139b6e2f6cfe273e8bb0e538d7616c2ea00 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 1 10:45:26 2015 -0700 documentation: No acquire/release for RCU readers Documentation/memory-barriers.txt calls out RCU as one of the sets of primitives associated with ACQUIRE and RELEASE. There really is an association in that rcu_assign_pointer() includes a RELEASE operation, but a quick read can convince people that rcu_read_lock() and rcu_read_unlock() have ACQUIRE and RELEASE semantics, which they do not. This commit therefore removes RCU from this list in order to avoid this confusion. Reported-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 7f5f873c6a0772970d5fee1f364231207051ecd8 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 18 08:45:22 2015 -0700 rculist: Use WRITE_ONCE() when deleting from reader-visible list The various RCU list-deletion macros (list_del_rcu(), hlist_del_init_rcu(), hlist_del_rcu(), hlist_bl_del_init_rcu(), hlist_bl_del_rcu(), hlist_nulls_del_init_rcu(), and hlist_nulls_del_rcu()) do plain stores into the ->next pointer of the preceding list elemment. Unfortunately, the compiler is within its rights to (for example) use byte-at-a-time writes to update the pointer, which would fatally confuse concurrent readers. This patch therefore adds the needed WRITE_ONCE() macros. KernelThreadSanitizer (KTSAN) reported the __hlist_del() issue, which is a problem when __hlist_del() is invoked by hlist_del_rcu(). Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit e62e3f620ba8d437f4998441fc11cf3dc9d466d1 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 12:23:01 2015 -0700 rcu: Remove deprecated rcu_lockdep_assert() The old rcu_lockdep_assert() was retained to ease handling of incoming patches, but any use will result in deprecated warnings. However, its replacement, RCU_LOCKDEP_WARN(), is now upstream. It is therefore time to remove rcu_lockdep_assert(), which this commit does. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 8db70b132dd57696cfc7560203a72e90c51bfdda Author: Patrick Marlier <patrick.marlier@xxxxxxxxx> Date: Fri Sep 11 15:50:35 2015 -0700 rculist: Make list_entry_rcu() use lockless_dereference() The current list_entry_rcu() implementation copies the pointer to a stack variable, then invokes rcu_dereference_raw() on it. This results in an additional store-load pair. Now, most compilers will emit normal store and load instructions, which might seem to be of negligible overhead, but this results in a load-hit-store situation that can cause surprisingly long pipeline stalls, even on modern microprocessors. The problem is that it takes time for the store to get the store buffer updated, which can delay the subsequent load, which immediately follows. This commit therefore switches to the lockless_dereference() primitive, which does not expect the __rcu annotations (that are anyway not present in the list_head structure) and which, like rcu_dereference_raw(), does not check for an enclosing RCU read-side critical section. Most importantly, it does not copy the pointer, thus avoiding the load-hit-store overhead. Signed-off-by: Patrick Marlier <patrick.marlier@xxxxxxxxx> [ paulmck: Switched to lockless_dereference() to suppress sparse warnings. ] Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit c3ac7cf1847a4e68c909984f60d36adef2088e35 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:29:02 2015 -0700 rcu: Add rcu_pointer_handoff() This commit adds an rcu_pointer_handoff() that is intended to mark situations where a structure's protection transitions from RCU to some other mechanism (locking, reference counting, whatever). These markings should allow external tools to more easily spot bugs involving leaking pointers out of RCU read-side critical sections. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c34d2f418485a5d710bc002e490148b8ea53f456 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 11:21:28 2015 -0700 rcu: Correct comment for values of ->gp_state field This commit corrects the comment for the values of the ->gp_state field, which previously incorrectly said that these were for the ->gp_flags field. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 77f81fe08ebd99d7e0eefde42ddac06a675bc4ad Author: Petr Mladek <pmladek@xxxxxxxx> Date: Wed Sep 9 12:09:49 2015 -0700 rcu: Finish folding ->fqs_state into ->gp_state Commit commit 4cdfc175c25c89ee ("rcu: Move quiescent-state forcing into kthread") started the process of folding the old ->fqs_state into ->gp_state, but did not complete it. This situation does not cause any malfunction, but can result in extremely confusing trace output. This commit completes this task of eliminating ->fqs_state in favor of ->gp_state. The old ->fqs_state was also used to decide when to collect dyntick-idle snapshots. For this purpose, we add a boolean variable into the kthread, which is set on the first call to rcu_gp_fqs() for a given grace period and clear otherwise. Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 49f5903b473c5f63f3b57856d1bd4593db0a2eef Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 00:42:57 2015 -0700 rcu: Move preemption disabling out of __srcu_read_lock() Currently, __srcu_read_lock() cannot be invoked from restricted environments because it contains calls to preempt_disable() and preempt_enable(), both of which can invoke lockdep, which is a bad idea in some restricted execution modes. This commit therefore moves the preempt_disable() and preempt_enable() from __srcu_read_lock() to srcu_read_lock(). It also inserts the preempt_disable() and preempt_enable() around the call to __srcu_read_lock() in do_exit(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 7f21aeef722d598ba350d1834f6e4134c7b5e8de Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 15 14:49:50 2015 -0700 rcu: Add online/offline info to stall warning message This commit makes the RCU CPU stall warning message print online/offline indications immediately after a hyphen following the CPU number. A "O" indicates that the global CPU-hotplug system believes that the CPU is online, a "o" that RCU perceived the CPU to be online at the beginning of the current expedited grace period, and an "N" that RCU currently believes that it will perceive the CPU as being online at the beginning of the next expedited grace period, with "." otherwise for all three indications. So for CPU 10, you would normally see "10-OoN:" indicating that everything believes that the CPU is online. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ee968ac61d5a3440b931375d81113e0eedfcb249 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 08:28:35 2015 -0700 rcu: Eliminate panic when silly boot-time fanout specified This commit loosens rcutree.rcu_fanout_leaf range checks and replaces a panic() with a fallback to compile-time values. This fallback is accompanied by a WARN_ON(), and both occur when the rcutree.rcu_fanout_leaf value is too small to accommodate the number of CPUs. For example, given the current four-level limit for the rcu_node tree, a system with more than 16 CPUs built with CONFIG_FANOUT=2 must have rcutree.rcu_fanout_leaf larger than 2. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit bb73c52bad3666997ed2ec83c0c80c3f8ef55008 Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Thu Jul 30 16:55:38 2015 -0700 rcu: Don't disable preemption for Tiny and Tree RCU readers Because preempt_disable() maps to barrier() for non-debug builds, it forces the compiler to spill and reload registers. Because Tree RCU and Tiny RCU now only appear in CONFIG_PREEMPT=n builds, these barrier() instances generate needless extra code for each instance of rcu_read_lock() and rcu_read_unlock(). This extra code slows down Tree RCU and bloats Tiny RCU. This commit therefore removes the preempt_disable() and preempt_enable() from the non-preemptible implementations of __rcu_read_lock() and __rcu_read_unlock(), respectively. However, for debug purposes, preempt_disable() and preempt_enable() are still invoked if CONFIG_PREEMPT_COUNT=y, because this allows detection of sleeping inside atomic sections in non-preemptible kernels. However, Tiny and Tree RCU operates by coalescing all RCU read-side critical sections on a given CPU that lie between successive quiescent states. It is therefore necessary to compensate for removing barriers from __rcu_read_lock() and __rcu_read_unlock() by adding them to a couple of the RCU functions invoked during quiescent states, namely to rcu_all_qs() and rcu_note_context_switch(). However, note that the latter is more paranoia than necessity, at least until link-time optimizations become more aggressive. This is based on an earlier patch by Paul E. McKenney, fixing a bug encountered in kernels built with CONFIG_PREEMPT=n and CONFIG_PREEMPT_COUNT=y. Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit db3e8db45e1cbf8cc22f1083a559d78eb91ccd63 Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Wed Jul 29 13:29:39 2015 +0800 rcu: Use call_rcu_func_t to replace explicit type equivalents We have had the call_rcu_func_t typedef for a quite awhile, but we still use explicit function pointer types in some places. These types can confuse cscope and can be hard to read. This patch therefore replaces these types with the call_rcu_func_t typedef. Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit b6a4ae766e3133a4db73fabc81e522d1601cb623 Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Wed Jul 29 13:29:38 2015 +0800 rcu: Use rcu_callback_t in call_rcu*() and friends As we now have rcu_callback_t typedefs as the type of rcu callbacks, we should use it in call_rcu*() and friends as the type of parameters. This could save us a few lines of code and make it clear which function requires an rcu callbacks rather than other callbacks as its argument. Besides, this can also help cscope to generate a better database for code reading. Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 84778472e1b6a27a8931712c40e8cf31143c8f6c Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 2 01:28:44 2015 -0700 sched: Export sched_setscheduler_nocheck The new locktorture rtmutex_lock tests exercise priority boosting, which means that they need to set some tasks to real-time priority. To do this, they use sched_setscheduler_nocheck(). However, this is not exported to modules, which results in the following error when building locktorture as a module: ERROR: "sched_setscheduler_nocheck" [kernel/locking/locktorture.ko] undefined! This commit therefore adds an EXPORT_SYMBOL_GPL() to allow this function to be invoked from locktorture when built as a module. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 91dca0f0fe419813b7450b0d092e9e23255db51b Author: Nishanth Menon <nm@xxxxxx> Date: Sat Oct 3 17:02:56 2015 -0700 ARM: dts: keystone: Update SoC specific compatible flags Update the compatible flags to allow specific SoC identification. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 01cf228b555b323bba9c76f96c07fb93f1064cba Author: Nishanth Menon <nm@xxxxxx> Date: Sat Oct 3 17:02:56 2015 -0700 ARM: keystone: Update compatible to have SoC specific matches With future SoCs of keystone2 family, the generic compatible match may not be sufficient to handle SoC specific handling. So introduce matches based on SoC compatiblity. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 2df7b0f0d2268ecbcd59323fd09955e93d3fefbd Author: Nishanth Menon <nm@xxxxxx> Date: Sat Oct 3 17:02:56 2015 -0700 Documentation: dt: keystone: provide SoC specific compatible flags Keystone2 devices are used on more platforms than just Texas Instruments reference evaluation platforms called EVMs. Providing a generic compatible "ti,keystone" is not sufficient to differentiate various SoC definitions possible on various platforms for the following reasons: a) Userspace applications have no way of knowing which SoC they are functioning, providing the compatible matches provide a mechanism for them to enable SoC specific functionality. Such userspace applications are typically automated test framework or SoC custom hardware acceleration entitlement from a common file system. b) Provides an accurate hardware description. This allows SoC specific logic to be run time handled based on of_machine_is_compatible("ti,k2hk") or as needed for the dependent processor instead of needing to use board dependent compatibles that are needed now. Hence, provide compatible matches for each SoC in the Keystone family. Acked-By: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 712df65ccb63da08a484bf57c40b250dfd4103a7 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Thu Sep 24 21:10:21 2015 +0900 perf/x86/intel/uncore: Fix multi-segment problem of perf_event_intel_uncore In multi-segment system, uncore devices may belong to buses whose segment number is other than 0: .... 0000:ff:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03) ... 0001:7f:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03) ... 0001:bf:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03) ... 0001:ff:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03 ... In that case, relation of bus number and physical id may be broken because "uncore_pcibus_to_physid" doesn't take account of PCI segment. For example, bus 0000:ff and 0001:ff uses the same entry of "uncore_pcibus_to_physid" array. This patch fixes this problem by introducing the segment-aware pci2phy_map instead. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1443096621-4119-1-git-send-email-izumi.taku@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7ce1346a6842550a3c4c453cdf1c7b81fb60b07e Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Sep 28 08:30:04 2015 -0400 perf/x86: Add Intel cstate PMUs support This patch adds new PMUs to support cstate related free running (read-only) counters. These counters may be used simultaneously by other tools, such as turbostat. However, it still make sense to implement them in perf. Because we can conveniently collect them together with other events, and allow to use them from tools without special MSR access code. These counters include CORE_C*_RESIDENCY and PKG_C*_RESIDENCY. According to counters' scope and category, two PMUs are registered with the perf_event core subsystem. - 'cstate_core': The counter is available for each physical core. The counters include CORE_C*_RESIDENCY. - 'cstate_pkg': The counter is available for each physical package. The counters include PKG_C*_RESIDENCY. The events are exposed in sysfs for use by perf stat and other tools. The files are: /sys/devices/cstate_core/events/c*-residency /sys/devices/cstate_pkg/events/c*-residency These events only support system-wide mode counting. The /sys/devices/cstate_*/cpumask file can be used by tools to figure out which CPUs to monitor by default. The PMU type (attr->type) is dynamically allocated and is available from /sys/devices/core_misc/type and /sys/device/cstate_*/type. Sampling is not supported. Here is an example. - To caculate the fraction of time when the core is running in C6 state CORE_C6_time% = CORE_C6_RESIDENCY / TSC # perf stat -x, -e"cstate_core/c6-residency/,msr/tsc/" -C0 -- taskset -c 0 sleep 5 11838820015,,cstate_core/c6-residency/,5175919658,100.00 11877130740,,msr/tsc/,5175922010,100.00 For sleep, 99.7% of time we ran in C6 state. # perf stat -x, -e"cstate_core/c6-residency/,msr/tsc/" -C0 -- taskset -c 0 busyloop 1253316,,cstate_core/c6-residency/,4360969154,100.00 10012635248,,msr/tsc/,4360972366,100.00 For busyloop, 0.01% of time we ran in C6 state. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1443443404-8581-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 00eb4bab69db349c3bdc7e0b0f7e9070dafea58c Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 30 13:03:15 2015 -0700 locking/rwsem: Use acquire/release semantics As of 654672d4ba1 (locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations) and 6d79ef2d30e (locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'), weakly ordered archs can benefit from more relaxed use of barriers when locking and unlocking, instead of regular full barrier semantics. While currently only arm64 supports such optimizations, updating corresponding locking primitives serves for other archs to immediately benefit as well, once the necessary machinery is implemented of course. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul E.McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443643395-17016-6-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3552a07a9c4aea32cc092fadf10a186c84ed8a61 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 30 13:03:14 2015 -0700 locking/mcs: Use acquire/release semantics As of 654672d4ba1 (locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations) and 6d79ef2d30e (locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'), weakly ordered archs can benefit from more relaxed use of barriers when locking and unlocking, instead of regular full barrier semantics. While currently only arm64 supports such optimizations, updating corresponding locking primitives serves for other archs to immediately benefit as well, once the necessary machinery is implemented of course. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul E.McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443643395-17016-5-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 700318d1d7b38bbfe86813d9c5c18364dd941526 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 30 13:03:13 2015 -0700 locking/rtmutex: Use acquire/release semantics As of 654672d4ba1 (locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations) and 6d79ef2d30e (locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'), weakly ordered archs can benefit from more relaxed use of barriers when locking and unlocking, instead of regular full barrier semantics. While currently only arm64 supports such optimizations, updating corresponding locking primitives serves for other archs to immediately benefit as well, once the necessary machinery is implemented of course. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul E.McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443643395-17016-4-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 81a43adae3b943193fb3afd20a36a7482332f964 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 30 13:03:12 2015 -0700 locking/mutex: Use acquire/release semantics As of 654672d4ba1 (locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations) and 6d79ef2d30e (locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'), weakly ordered archs can benefit from more relaxed use of barriers when locking and unlocking, instead of regular full barrier semantics. While currently only arm64 supports such optimizations, updating corresponding locking primitives serves for other archs to immediately benefit as well, once the necessary machinery is implemented of course. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul E.McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443643395-17016-3-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 63ab7bd0d450b726b88fa4b932f151b98cee2557 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 30 13:03:11 2015 -0700 locking/asm-generic: Add _{relaxed|acquire|release}() variants for inc/dec atomics Similar to what we have for regular add/sub calls. For now, no actual arch implements them, so everyone falls back to the default atomics... iow, nothing changes. These will be used in future primitives. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul E.McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443643395-17016-2-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 77792b11409c9270d98e604b4314b85ce886ac7d Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Thu Oct 1 12:38:07 2015 -0400 regmap: Allow installing custom reg_update_bits function This commit allows installing a custom reg_update_bits function for cases where the hardware provides a mechanism to set or clear register bits without a read/modify/write cycle. Such is the case with the Microchip ENCX24J600. If a custom reg_update_bits function is provided, it will only be used against volatile registers. Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82fc167c392a1700f9adbde639730ee8c8122474 Merge: e3e72ab 049e6dd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 6 17:10:28 2015 +0200 Merge tag 'v4.3-rc4' into locking/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5a4fd0368517bc5b5399ef958f6d30cbff492918 Author: xiaofeng.yan <yanxiaofeng@xxxxxxxxxx> Date: Wed Sep 23 14:55:59 2015 +0800 sched/core: Remove a parameter in the migrate_task_rq() function The parameter "int next_cpu" in the following function is unused: migrate_task_rq(struct task_struct *p, int next_cpu) Remove it. Signed-off-by: xiaofeng.yan <yanxiaofeng@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 Link: http://lkml.kernel.org/r/1442991360-31945-1-git-send-email-yanxiaofeng@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ce03e4137bb22fc560ad7a07cf4138ae2cd59f65 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Oct 5 21:26:05 2015 +0800 sched/core: Drop unlikely behind BUG_ON() (1) For !CONFIG_BUG cases, the bug call is a no-op, so we couldn't care less and the change is ok. (2) PPC and MIPS, which HAVE_ARCH_BUG_ON, do not rely on branch predictions as it seems to be pointless [1] and thus callers should not be trying to push an optimization in the first place. (3) For CONFIG_BUG and !HAVE_ARCH_BUG_ON cases, BUG_ON() contains an unlikely compiler flag already. Hence, we can drop unlikely behind BUG_ON(). [1] http://lkml.iu.edu/hypermail/linux/kernel/1101.3/02289.html Signed-off-by: Geliang Tang <geliangtang@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 Link: http://lkml.kernel.org/r/6fa7125979f98bbeac26e268271769b6ca935c8d.1444051018.git.geliangtang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1de64443d755f83af8ba8b558fded0c61afaef47 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Sep 30 17:44:13 2015 +0200 sched/core: Fix task and run queue sched_info::run_delay inconsistencies Mike Meyer reported the following bug: > During evaluation of some performance data, it was discovered thread > and run queue run_delay accounting data was inconsistent with the other > accounting data that was collected. Further investigation found under > certain circumstances execution time was leaking into the task and > run queue accounting of run_delay. > > Consider the following sequence: > > a. thread is running. > b. thread moves beween cgroups, changes scheduling class or priority. > c. thread sleeps OR > d. thread involuntarily gives up cpu. > > a. implies: > > thread->sched_info.last_queued = 0 > > a. and b. results in the following: > > 1. dequeue_task(rq, thread) > > sched_info_dequeued(rq, thread) > delta = 0 > > sched_info_reset_dequeued(thread) > thread->sched_info.last_queued = 0 > > thread->sched_info.run_delay += delta > > 2. enqueue_task(rq, thread) > > sched_info_queued(rq, thread) > > /* thread is still on cpu at this point. */ > thread->sched_info.last_queued = task_rq(thread)->clock; > > c. results in: > > dequeue_task(rq, thread) > > sched_info_dequeued(rq, thread) > > /* delta is execution time not run_delay. */ > delta = task_rq(thread)->clock - thread->sched_info.last_queued > > sched_info_reset_dequeued(thread) > thread->sched_info.last_queued = 0 > > thread->sched_info.run_delay += delta > > Since thread was running between enqueue_task(rq, thread) and > dequeue_task(rq, thread), the delta above is really execution > time and not run_delay. > > d. results in: > > __sched_info_switch(thread, next_thread) > > sched_info_depart(rq, thread) > > sched_info_queued(rq, thread) > > /* last_queued not updated due to being non-zero */ > return > > Since thread was running between enqueue_task(rq, thread) and > __sched_info_switch(thread, next_thread), the execution time > between enqueue_task(rq, thread) and > __sched_info_switch(thread, next_thread) now will become > associated with run_delay due to when last_queued was last updated. > This alternative patch solves the problem by not calling sched_info_{de,}queued() in {de,en}queue_task(). Therefore the sched_info state is preserved and things work as expected. By inlining the {de,en}queue_task() functions the new condition becomes (mostly) a compile-time constant and we'll not emit any new branch instructions. It even shrinks the code (due to inlining {en,de}queue_task()): $ size defconfig-build/kernel/sched/core.o defconfig-build/kernel/sched/core.o.orig text data bss dec hex filename 64019 23378 2344 89741 15e8d defconfig-build/kernel/sched/core.o 64149 23378 2344 89871 15f0f defconfig-build/kernel/sched/core.o.orig Reported-by: Mike Meyer <Mike.Meyer@xxxxxxxxxxxx> 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 Link: http://lkml.kernel.org/r/20150930154413.GO3604@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b52da86e0ad58f096710977fcda856fd84da9233 Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 07:48:25 2015 +0530 sched/numa: Fix task_tick_fair() from disabling numa_balancing If static branch 'sched_numa_balancing' is enabled, it should kickstart NUMA balancing through task_tick_numa(). However the following commit: 2a595721a1fa ("sched/numa: Convert sched_numa_balancing to a static_branch") erroneously disables this. Fix this anomaly by enabling task_tick_numa() when the static branch 'sched_numa_balancing' is enabled. Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443752305-27413-1-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e2bf1c4b17aff25f07e0d2952d8c1c66643f33fe Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 29 12:18:46 2015 +0200 sched/core: Add preempt_count invariant check Ingo requested I keep my debug check for the preempt_count invariant. Requested-by: Ingo Molnar <mingo@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 499d79559ffe4b9c0c3031752f6a40abd532fb75 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:52:36 2015 +0200 sched/core: More notrace annotations preempt_schedule_common() is marked notrace, but it does not use _notrace() preempt_count functions and __schedule() is also not marked notrace, which means that its perfectly possible to end up in the tracer from preempt_schedule_common(). Steve says: | Yep, there's some history to this. This was originally the issue that | caused function tracing to go into infinite recursion. But now we have | preempt_schedule_notrace(), which is used by the function tracer, and | that function must not be traced till preemption is disabled. | | Now if function tracing is running and we take an interrupt when | NEED_RESCHED is set, it calls | | preempt_schedule_common() (not traced) | | But then that calls preempt_disable() (traced) | | function tracer calls preempt_disable_notrace() followed by | preempt_enable_notrace() which will see NEED_RESCHED set, and it will | call preempt_schedule_notrace(), which stops the recursion, but | still calls __schedule() here, and that means when we return, we call | the __schedule() from preempt_schedule_common(). | | That said, I prefer this patch. Preemption is disabled before calling | __schedule(), and we get rid of a one round recursion with the | scheduler. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e61bf1e43b6f8e687ce93e5d0ce85bca7e481600 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:11:35 2015 +0200 sched/core: Kill PREEMPT_ACTIVE Its unused, kill the definition. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d87b7a33794f52226131f93cbc9db03274d9fecf Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:11:18 2015 +0200 sched/core, sched/x86: Kill thread_info::saved_preempt_count With the introduction of the context switch preempt_count invariant, and the demise of PREEMPT_ACTIVE, its pointless to save/restore the per-cpu preemption count, it must always be 2. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit da7142e2ed735e1c1bef5a757dc55de35c65fbd6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:11:45 2015 +0200 sched/core: Simplify preempt_count tests Since we stopped setting PREEMPT_ACTIVE, there is no need to mask it out of preempt_count() tests. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1dc0fffc48af94513e621f95dff730ed4f7317ec Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 17:57:39 2015 +0200 sched/core: Robustify preemption leak checks When we warn about a preempt_count leak; reset the preempt_count to the known good value such that the problem does not ripple forward. This is most important on x86 which has a per cpu preempt_count that is not saved/restored (after this series). So if you schedule with an invalid (!2*PREEMPT_DISABLE_OFFSET) preempt_count the next task is messed up too. Enforcing this invariant limits the borkage to just the one task. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3d8f74dd4ca1da8a1a464bbafcf679e40c2fc10f Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:09:19 2015 +0200 sched/core: Stop setting PREEMPT_ACTIVE Now that nothing tests for PREEMPT_ACTIVE anymore, stop setting it. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c73464b1c8434ad4cbfd5369c3e724f3e8ffe5a4 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:06:56 2015 +0200 sched/core: Fix trace_sched_switch() __trace_sched_switch_state() is the last remaining PREEMPT_ACTIVE user, move trace_sched_switch() from prepare_task_switch() to __schedule() and propagate the @preempt argument. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fc13aebab7d8f0d19d557c721a0f25cdf7ae905c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:05:34 2015 +0200 sched/core: Add preempt argument to __schedule() There is only a single PREEMPT_ACTIVE use in the regular __schedule() path and that is to circumvent the task->state check. Since the code setting PREEMPT_ACTIVE is the immediate caller of __schedule() we can replace this with a function argument. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 609ca066386b2e64d4c0b0f55da327654962a0c9 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 17:52:18 2015 +0200 sched/core: Create preempt_count invariant Assuming units of PREEMPT_DISABLE_OFFSET for preempt_count() numbers. Now that TASK_DEAD no longer results in preempt_count() == 3 during scheduling, we will always call context_switch() with preempt_count() == 2. However, we don't always end up with preempt_count() == 2 in finish_task_switch() because new tasks get created with preempt_count() == 1. Create FORK_PREEMPT_COUNT and set it to 2 and use that in the right places. Note that we cannot use INIT_PREEMPT_COUNT as that serves another purpose (boot). After this, preempt_count() is invariant across the context switch, with exception of PREEMPT_ACTIVE. 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 b99def8b961448f5b9a550dddeeb718e3975e7a6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:02:03 2015 +0200 sched/core: Rework TASK_DEAD preemption exception TASK_DEAD is special in that the final schedule call from do_exit() must be done with preemption disabled. This means we end up scheduling with a preempt_count() higher than usual (3 instead of the 'expected' 2). Since future patches will want to rely on an invariant preempt_count() value during schedule, fix this up. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 87dcbc0610cb580c8eaf289f52aca3620af825f0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 17:45:40 2015 +0200 sched/core: Simplify INIT_PREEMPT_COUNT As per the following commit: d86ee4809d03 ("sched: optimize cond_resched()") we need PREEMPT_ACTIVE to avoid cond_resched() from working before the scheduler is set up. However, keeping preemption disabled should do the same thing already, making the PREEMPT_ACTIVE part entirely redundant. The only complication is !PREEMPT_COUNT kernels, where PREEMPT_DISABLED ends up being 0. Instead we use an unconditional PREEMPT_OFFSET to set preempt_count() even on !PREEMPT_COUNT kernels. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe19159225d8516f3f57a5fe8f735c01684f0ddd Merge: c6e1e7b 95913d9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 6 17:05:36 2015 +0200 Merge branch 'sched/urgent' into sched/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 882fed73420e85c0b06447c036e3096862fc73ba Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 10:17:18 2015 -0700 phy: cygnus: pcie: Add Cygnus PCIe PHY support This patch adds the PCIe PHY support for the Broadcom PCIe RC interface on Cygnus Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Arun Parameswaran <aparames@xxxxxxxxxxxx> Reviewed-by: JD (Jiandong) Zheng <jdzheng@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 9d030e170608aeb287ef56ecb40d9aa4cfa7d086 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 10:17:17 2015 -0700 dt-bindings: Add Cygnus PCIe PHY binding doc Add DT binding document for Broadcom Cygnus PCIe PHYs Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Arun Parameswaran <aparames@xxxxxxxxxxxx> Reviewed-by: JD (Jiandong) Zheng <jdzheng@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit b2dfc34c975ad7b9c531f8b93f8bd7b8606286c1 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 25 08:47:29 2015 +0800 phy: sun4i-usb: Use devm_gpiod_get_optional for optional GPIOs Both data->id_det_gpio and data->vbus_det_gpio are optional, so use devm_gpiod_get_optional for them. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit dc7f190fd51f5c64d7d9280e5f052b46ce8cee24 Author: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Date: Tue Sep 29 11:01:36 2015 +0800 phy: add usb3.0 phy driver for mt65xx SoCs support usb3.0 phy of mt65xx SoCs Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 538b2a4e96990a4839086cc47b657a12b1364d3c Author: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Date: Tue Sep 29 11:01:34 2015 +0800 dt-bindings: Add usb3.0 phy binding for MT65xx SoCs add a DT binding documentation of usb3.0 phy for MT65xx SoCs from Mediatek. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a007ddbaef5317f76bec541688e304f31ad9c4b0 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 21 14:38:37 2015 +0200 phy: exynos-usb2: add vbus regulator support Exynos USB2 PHY has separate power supply, which is usually provided by VBUS regulator. This patch adds support for it. VBUS regulator is optional, to keep compatibility with boards, which have VBUS provided from some always-on power source. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a67e5c32aac9d55c0aafa2d9c012a03db69ab1ed Merge: 049e6dd e233d74 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:46:41 2015 +0200 Merge tag 'renesas-clk-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers Merge "Renesas ARM Based SoC Clk Updates for v4.4" from Simon Horman: * Consider "zb_clk" suitable for power management This part of a multi-stage effort by Geert Uytterhoeven to add: "Clock Domain support to the Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks driver using the generic PM Domain, to be used on shmobile SoCs without device power domains (R-Car Gen1 and Gen2, RZ). 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, similar to SoCs with device power domains (SH-Mobile and R-Mobile)." * tag 'renesas-clk-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: clk: shmobile: mstp: Consider "zb_clk" suitable for power management commit d64c5097ff1701ae54d02d36f68184756e6a80f0 Merge: 6468527 6f112a0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:43:25 2015 +0200 Merge tag 'at91-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/soc Merge "First little batch of SoC changes for 4.4" from Nicolas Ferre: - a MAINTAINER addition to cover SAMA5 SoCs - removal of one unneeded header file - for low-level serial output, use the DEBUG_UART_PHYS * tag 'at91-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91: debug: use DEBUG_UART_PHYS ARM: at91: remove useless includes in platform_data/atmel.h MAINTAINERS: explicitly add Atmel SAMA5 commit 64685273186b71b75734771ca21823cec2d994c3 Merge: 049e6dd 8b98d74 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:42:07 2015 +0200 Merge tag 'renesas-soc-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Updates for v4.4" from Simon Horman: * ARM: shmobile: R-Mobile: Use CPG/MSTP Clock Domain attach/detach helpers This part of a multi-stage effort by Geert Uytterhoeven to add: "Clock Domain support to the Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks driver using the generic PM Domain, to be used on shmobile SoCs without device power domains (R-Car Gen1 and Gen2, RZ). 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, similar to SoCs with device power domains (SH-Mobile and R-Mobile)." * tag 'renesas-soc-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: R-Mobile: Use CPG/MSTP Clock Domain attach/detach helpers clk: shmobile: mstp: Consider "zb_clk" suitable for power management commit a362ec8f677e5d701bc587edad93128897748c32 Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Sep 30 18:19:48 2015 -0700 arm64: dts: add all hi6220 uart nodes This patch adds all UART nodes for the Hi6220 SoC. Recently a board[1] has been developed to standardize UART access across all the 96boards consumer edition boards. To use this hardware on HiKey we must configure and enable UART3. However, to ensure backward compatibility we must keep UART0 enabled as well. I have removed the hard coded clock index values in favor of using the ones already defined in include/dt-bindings/clock/hi6220-clock.h. Since UART0 needs to be soldered, it has been suggested to use the UART3 as the default console. This patch was boot tested on top of next-20150930, with both UART configurations. [1] http://www.seeedstudio.com/depot/96Boards-UART-p-2525.html?ref=newInBazaar Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 90656b84144d3ef90295aac673e233f2ab1b2854 Merge: b8faca6 78cd6a9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:31:17 2015 +0200 Merge tag 'socfpga_dts_for_v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt Merge "SoCFPGA DTS updates for v4.4" from Dinh Nguyen: - Add base arm64 dts for Statrix 10 - Peripheral updates for Arria10(USB,I2C,UART) * tag 'socfpga_dts_for_v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: arm64: dts: Add base stratix 10 dtsi ARM: socfpga: dts: enable USB and I2C on Arria10 SoCDK ARM: socfpga: dts: add clock fields for I2C, UART and USB on Arria10 commit b8faca6af8586f364503bb52cf39e831e24b31ac Merge: d1176d1 1d8d53b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:28:37 2015 +0200 Merge tag 'xgene-dts-for-v4.4-1' of https://github.com/AppliedMicro/xgene-next into next/dt Merge "X-Gene DTS changes queued for v4.4" from Duc Dang: * tag 'xgene-dts-for-v4.4-1' of https://github.com/AppliedMicro/xgene-next: arm64: dts: Add poweroff device nodes for APM X-Gene 2 platform arm64: dts: Add APM X-Gene 2 standby GPIO controller DTS entries arm64: dts: Add PMU node for APM X-Gene Storm SOC Documentation: arm: pmu: Add Potenza PMU binding arm64: dts: Add X-Gene v2 reboot driver dts node arm64: dts: add APM Merlin Board device tree power: reset: Add syscon poweroff device node for APM X-Gene platform arm64: dts: Add X-Gene reboot driver dts node Documentation: arm64: add SCU dts binding documentation to linux kernel MAINTAINERS: Add Applied Micro (APM) X-Gene Device Tree maintainer commit d1176d175eaa528c28d2680ce63c60cbb1befb10 Merge: 3cb06b3 a9b672a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:26:38 2015 +0200 Merge tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt Merge "First batch of DT changes for 4.4:" from Nicolas Ferre: - some DT fixes: dma declaration, led labels - disable some nodes: PMIC on sama5d3 Xplained, unused i2c1 on at91sam9n12ek - add some others that were missing: touchscreen, cryto nodes, LCD panels or image capture properties on various boards - as the new pinmux for sama5d2 was accepted, we can now add the definitions and the actual muxing for sama5d2 Xplained board * tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/dt: sama5d2 Xplained: add device pin muxing ARM: at91/dt: add sama5d2 pinmux ARM: at91/dt: ov2640: add hsync/vsync-active property ARM: at91/dt: sama5d4 xplained: enable the led D8 ARM: at91/dt: sama5d4ek: Add support of QT1070 and Maxtouch ARM: at91/dt: sama5d4: enable crypto nodes ARM: at91/dt: sama5d4: add pioD pin mux mask and enable pioD ARM: at91/dt: sama5d3: update iio config for touchscreen ARM: at91/dt: sama5d3 xplained: disable pmic ARM: at91/dt: at91sam9x5: enable iio touchscreen for 9x5ek ARM: at91/dt: at91sam9n12ek: disable i2c1 ARM: at91/dt: at91sam9n12ek: fix the led labels name ARM: at91/dt: corrections to i2c1 declaration to sama5d4 commit 3cb06b30e4959abb43617a14e19b00aba89ffb07 Merge: f85e64b cae010a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:25:00 2015 +0200 Merge tag 'sti-dt-for-v4.4-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/dt Merge "STi DT changes for v4.4, round 1" from Maxime Coquelin: Highlights: ----------- - Add multiple pinctrl configurations to STiH407 - Enable devices using pins only at board level - Add HW RNG device nodes to STiH407 family - Fix MMC0 clock configuration on STiH418 - Fix interrupt related bindings on STiH407 * tag 'sti-dt-for-v4.4-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti: ARM: STi: STiH407: Enable the 2 HW Random Number Generators for STiH4{07, 10} ARM: DT: STi: STiH418: Fix mmc0 clock configuration ARM: STi: DT: STiH407: Rename incorrect interrupt related binding ARM: STi: STiH407: Add spi default pinctrl groups. ARM: DT: STiH407: Add RMII pinctrl support ARM: DT: STiH407: Add pinconfig for IRB UHF and IRB TX ARM: DT: STiH407: Add SD pinctrl config for mmc0 controller ARM: DT: STiH407: Add systrace pin configuration ARM: DT: STiH407: Add NAND flash controller pin configuration ARM: DT: STiH407: Add SPI FSM (NOR Flash) Controller pin config ARM: DT: STiH407: Add serial3 pinctrl configuration ARM: DT: STiH407: Add SPI 3 wire and 4 wire pinctrl configs ARM: STi: DT: STiH407: Add i2c3 alternate pin configs ARM: STi: DT: STiH407: Add a cec0 pin definition ARM: dts: stih410: Enable USB2.0 and related PHY nodes at board level ARM: dts: stih407/410: Tidy up display nodes ARM: dts: stih407: Enable PWM nodes only board level commit d836ace65ee98d7079bc3c5afdbcc0e27dca20a3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Sat Oct 3 13:03:47 2015 -0700 ARM: orion: Fix DSA platform device after mvmdio conversion DSA expects the host_dev pointer to be the device structure associated with the MDIO bus controller driver. First commit breaking that was c3a07134e6aa ("mv643xx_eth: convert to use the Marvell Orion MDIO driver"), and then, it got completely under the radar for a while. Reported-by: Frans van de Wiel <fvdw@xxxxxxx> Fixes: c3a07134e6aa ("mv643xx_eth: convert to use the Marvell Orion MDIO driver") CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit f85e64b540711fdbed61f17ee88c533756a5bc9d Merge: 049e6dd fcab303 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:20:52 2015 +0200 Merge tag 'hip05-dt-for-4.3' of git://github.com/hisilicon/linux-hisi into next/dt Merge "ARM64: DT: Hisilicon hip05 soc and D02 board updates for 4.3" from Wei Xu: - Updated the hisilicon devicetree bindings document to support hip05-D02 board - Added dts files for hip05 SoC and D02 board * tag 'hip05-dt-for-4.3' of git://github.com/hisilicon/linux-hisi: arm64: dts: add dts files for Hisilicon Hip05-D02 Development Board arm64: hip05-d02: Document devicetree bindings for Hisilicon Hip05-D02 Board commit 1590a419ac4f7f003f03309a93856cf453980d52 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 24 13:39:19 2015 +0200 ARM: multi_v7_defconfig: Support RTC devices commonly used on Rockchip boards Similar to the power management situation on Rockchip boards, there are two common RTC setups. For boards using the RK808 chip as a PMIC that chip also serves as the RTC, while boards using the ACT8846 typically use the Haoyu Microelectronics HYM8563 chip as their RTC. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 0ed9eb30c60b31c4959e01a7e78fd569135dc3a5 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 24 13:39:18 2015 +0200 ARM: multi_v7_defconfig: Enable the Rockchip USB 2.0 phy Most Rockchip SoCs have a DesignWare HS OTG USB 2.0 controller, enable the driver for the Rockchip USB 2.0 PHY to make that functional. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit cc68819a582cf5aa8258e58cb8803936850b67d0 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 24 13:39:17 2015 +0200 ARM: multi_v7_defconfig: Enable Rockchip display support Enable options needed for HDMI out on rockchip: DRM driver, Rockchip DesignWare HDMI glue and the rockchip IOMMU (dependency of the DRM driver). Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 307440f4db19832347e7ced2b25d858b299ec933 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 24 13:39:16 2015 +0200 ARM: multi_v7_defconfig: Enable common regulators for rockchip boards Rockchip boards seem to have two common regulator setups. Various board used the Active Semi act8846 often in combination with Silergy syr82x regulators (e.g. Radxa Rock Pro/Rock 2, Firefly, and Netxeon R89 etc), while others use regulator part of the Rockchip RK808 chip (e.g. the various Veyron based chromebooks, Chipspark Popmetal etc) Enable all these regulators. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2be40ba6d7fecdff407dd2ec1d502864c37a3f8b Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 24 13:39:15 2015 +0200 ARM: multi_v7_defconfig: Enable common Rockchip devices/busses Enable Rockchip I2C, SPI, PWM, thermal drivers. Builtin are I2C (as it often required to control the pmic) and Thermal drivers (to prevent thermal damage). SPI and PWM drivers configured as modules Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 7e3b7dc76c41f9042a7079eb07d071f744bbd87a Author: YH Huang <yh.huang@xxxxxxxxxxxx> Date: Tue Aug 18 15:27:54 2015 +0800 pwm: Add MediaTek display PWM driver support Add display PWM driver support to modify backlight for MT8173 and MT6595. The PWM has one channel to control the brightness of the display. When the (high_width / period) is closer to 1, the screen is brighter; otherwise, it is darker. Signed-off-by: YH Huang <yh.huang@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 3e9e6c28d287a4a2dc62f61cf67654bdae374992 Author: YH Huang <yh.huang@xxxxxxxxxxxx> Date: Tue Aug 18 15:27:53 2015 +0800 dt-bindings: pwm: Add MediaTek display PWM bindings Document the device-tree binding of MediaTek display PWM. The PWM has one channel to control the backlight brightness for display. Both the MT8173 and MT6595 are supported. Signed-off-by: YH Huang <yh.huang@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 25ebc9ec162d64ab38a813dac01c5322ebbcfcfa Author: Vignesh R <vigneshr@xxxxxx> Date: Tue Sep 8 20:44:05 2015 +0530 pwm: tipwmss: Enable on TI DRA7x and AM437x TIPWMSS is present on TI's DRA7x and AM437x SoCs. Enable its usage. Instead of adding each SoC individually, use the more generic symbol ARCH_OMAP2PLUS instead. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 2b8b0ef354cc055f855d8cb86aeae9089517fba7 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Sep 9 15:32:30 2015 +0200 pwm: atmel-hlcdc: add sama5d2 SoC support. Add sama5d2 hlcdc backlight PWM support. This chip doesn't have to deal with an errata, so it's a simple addition of the mfd compatible string. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 3a9f5957020f87503afd5d4c1d5705253f0b3569 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 14 16:47:06 2015 -0700 pwm: Add Broadcom BCM7038 PWM controller support Add support for the BCM7038-style PWM controller found in all BCM7xxx STB SoCs. This controller has a hardcoded 2 channels per controller, and cascades a variable frequency generator on top of a fixed frequency generator which offers a range of a 148ns period all the way to ~622ms periods. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit b605aded44912d69c9a54b68c424171c35591aa2 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Oct 5 10:12:22 2015 +0100 ARM: multi_v7_defconfig: Add missing QCOM APQ8064 configs This patch adds few missing essential configs in the multi_v7_defconf, absense of some configs like PINCTRL_APQ8064 would prevent the board from getting access to serial. cc: Kevin Hilman <khilman@xxxxxxxxxx> cc: Tyler Baker <tyler.baker@xxxxxxxxxx> Tested-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit bd57a6a90e44d54281e2459be6bec5699e758499 Merge: aea843b de0d542 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:03:48 2015 +0200 Merge tag 'arm-soc/for-4.4/defconfig' of http://github.com/Broadcom/stblinux into next/defconfig Merge "Broadcom defconfig changes for v4.4" from Florian Fainelli: This pull request contains the following changes for the multi_v7_defconfig: - Jon adds support for the NorthStar Plus SocS to the multi_v7_defconfig file * tag 'arm-soc/for-4.4/defconfig' of http://github.com/Broadcom/stblinux: ARM: multi_v7_defconfig: Add NSP to defconfig commit aea843bc38562332ffdf73629fc01b6b74f71020 Merge: 049e6dd 0a8b069 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:02:34 2015 +0200 Merge tag 'renesas-defconfig-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Merge "Renesas ARM Based SoC Defconfig Updates for v4.4" from Simon Horman: * Remove now non-existent MACH_MARZEN from defconfigs * tag 'renesas-defconfig-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: multi_v7_defconfig: Remove Marzen ARM: shmobile: Remove Marzen from shmobile_defconfig commit c39b7eef7d92f5ffef1abf04227a62fa2a6a62b2 Merge: 1e1851f 049e6dd Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 15:01:52 2015 +0100 Merge 4.3-rc4 into char-misc-next This is needed due to the duplicated iommu stuff to help with the merge and to prevent future issues. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 064ca93f7ab927c2752d86fc5727716e340d737c Merge: e44a01f f719a0d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 15:59:16 2015 +0200 Merge tag 'efm32-for-4.4-rc1' of git://git.pengutronix.de/git/ukl/linux into next/cleanup Merge "efm32 cleanups for 4.4-rc1" from Uwe Kleine-Koenig: These are just two followup cleanups for commits that are in v3.17-rc1 and waited in my private tree for application since that time. * tag 'efm32-for-4.4-rc1' of git://git.pengutronix.de/git/ukl/linux: ARM: efm32: switch to vendor,device compatible strings ARM: efm32: switch to properly namespaced location property commit e44a01fa0e0aec2f3a21dadb9c030d14831d4258 Merge: 049e6dd 04418c2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 15:45:52 2015 +0200 Merge tag 'renesas-cleanup-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC Cleanup for v4.4" from Simon Horman: * Remove bockw/r8a7798 legacy board and SoC code * Many cleanups relating to legacy board and SoC code removal * tag 'renesas-cleanup-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (21 commits) ARM: shmobile: Remove legacy clock support leftovers ARM: shmobile: remove Makefile.boot ARM: shmobile: Kconfig: remove unused SHMOBILE_TIMER_HZ section ARM: shmobile: bockw: remove legacy DTB build target MAINTAINERS: remove references to dropped marzen and bockw defconfigs ARM: shmobile: bockw: remove legacy defconfig ARM: shmobile: remove ARCH_SHMOBILE_LEGACY option ARM: shmobile: r8a7778: remove legacy clock implementation ARM: shmobile: Kconfig: remove obsolete option ARCH_R8A7778 ARM: shmobile: r8a7778: remove obsolete setup code ARM: shmobile: bockw: remove legacy board file and config ARM: shmobile: remove paragraph on DT reference platforms ARM: shmobile: bockw: remove "reference" board file and config ARM: shmobile: bockw: remove "reference" device tree ARM: shmobile: Remove obsolete twd_local_timer declaration ARM: shmobile: Remove obsolete earlytimer registration ARM: shmobile: Remove obsolete legacy PM Domain leftovers ARM: shmobile: Remove obsolete intc.h ARM: shmobile: Remove obsolete custom earlyprintk code ARM: shmobile: Remove obsolete sh-gpio.h ... commit 21c4c073f14509d685ed219aa3c76362a7bfa0ac Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 6 06:25:43 2015 -0700 Revert "regmap: Allow installing custom reg_update_bits function" This reverts commit 7741c373cf3ea1f5383fa97fb7a640a429d3dd7c. commit 6a27a6c3be95d382cd158c5705c1840be291f28f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 6 06:25:36 2015 -0700 Revert "net: Microchip encx24j600 driver" This reverts commit 04fbfce7a222327b97ca165294ef19f0faa45960. commit c664bc6d946d253077f3a5d5ca6769492de59e04 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 6 06:25:29 2015 -0700 Revert "net: encx24j600_exit() can be static" This reverts commit 9886ce2b9d4e5a8bb3d78d0f7eff3c0f1ed58d67. commit 380996aab50eea1d66269e1633cd2f971f06da6d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:34:47 2015 +0100 drm/i915: Use a task to cancel the userptr on invalidate_range Whilst discussing possible ways to trigger an invalidate_range on a userptr with an aliased GGTT mmapping (and so cause a struct_mutex deadlock), the conclusion is that we can, and we must, prevent any possible deadlock by avoiding taking the mutex at all during invalidate_range. This has numerous advantages all of which stem from avoid the sleeping function from inside the unknown context. In particular, it simplifies the invalidate_range because we no longer have to juggle the spinlock/mutex and can just hold the spinlock for the entire walk. To compensate, we have to make get_pages a bit more complicated in order to serialise with a pending cancel_userptr worker. As we hold the struct_mutex, we have no choice but to return EAGAIN and hope that the worker is then flushed before we retry after reacquiring the struct_mutex. The important caveat is that the invalidate_range itself is no longer synchronous. There exists a small but definite period in time in which the old PTE's page remain accessible via the GPU. Note however that the physical pages themselves are not invalidated by the mmu_notifier, just the CPU view of the address space. The impact should be limited to a delay in pages being flushed, rather than a possibility of writing to the wrong pages. The only race condition that this worsens is remapping an userptr active on the GPU where fresh work may still reference the old pages due to struct_mutex contention. Given that userspace is racing with the GPU, it is fair to say that the results are undefined. v2: Only queue (and importantly only take one refcnt) the worker once. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e4b946bfe1e36680e27a5f39163980979fa61a5d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:34:46 2015 +0100 drm/i915: Fix userptr deadlock with aliased GTT mmappings MichaÅ? Winiarski found a really evil way to trigger a struct_mutex deadlock with userptr. He found that if he allocated a userptr bo and then GTT mmaped another bo, or even itself, at the same address as the userptr using MAP_FIXED, he could then cause a deadlock any time we then had to invalidate the GTT mmappings (so at will). Tvrtko then found by repeatedly allocating GTT mmappings he could alias with an old userptr mmap and also trigger the deadlock. To counter act the deadlock, we make the observation that we only need to take the struct_mutex if the object has any pages to revoke, and that before userspace can alias with the userptr address space, it must have invalidated the userptr->pages. Thus if we can check for those pages outside of the struct_mutex, we can avoid the deadlock. To do so we introduce a separate flag for userptr objects that we can inspect from the mmu-notifier underneath its spinlock. The patch makes one eye-catching change. That is the removal serial=0 after detecting a to-be-freed object inside the invalidate walker. I felt setting serial=0 was a questionable pessimisation: it denies us the chance to reuse the current iterator for the next loop (before it is freed) and being explicit makes the reader question the validity of the locking (since the object-free race could occur elsewhere). The serialisation of the iterator is through the spinlock, if the object is freed before the next loop then the notifier.serial will be incremented and we start the walk from the beginning as we detect the invalid cache. To try and tame the error paths and interactions with the userptr->active flag, we have to do a fair amount of rearranging of get_pages_userptr(). v2: Grammar fixes v3: Reorder set-active so that it is only set when obj->pages is set (and so needs cancellation). Only the order of setting obj->pages and the active-flag is crucial. Calling gup after invalidate-range begin means the userptr sees the new set of backing storage (and so will not need to invalidate its new pages), but we have to be careful not to set the active-flag prior to successfully establishing obj->pages. v4: Take the active->flag early so we know in the mmu-notifier when we have to cancel a pending gup-worker. v5: Rearrange the error path so that is not so convoluted v6: Set pinned to 0 when negative before calling release_pages() Reported-by: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Testcase: igt/gem_userptr_blits/map-fixed* Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 68d6c840595849c0d29f6c52bc75b44ded66b41f Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:34:45 2015 +0100 drm/i915: Only update the current userptr worker The userptr worker allows for a slight race condition where upon there may two or more threads calling get_user_pages for the same object. When we have the array of pages, then we serialise the update of the object. However, the worker should only overwrite the obj->userptr.work pointer if and only if it is the active one. Currently we clear it for a secondary worker with the effect that we may rarely force a second lookup. v2: Rebase and rename a variable to avoid 80cols v3: Mention v2 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 24dfd0736c9fc01d096e5760c656032b5a07e962 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Oct 2 14:16:53 2015 +0100 drm/i915: prevent out of range pt in the PDE macros (take 3) We tried to fix this in commit fdc454c1484a ("drm/i915: Prevent out of range pt in gen6_for_each_pde"). But the static analyzer still complains that, just before we break due to "iter < I915_PDES", we do "pt = (pd)->page_table[iter]" with an iter value that is bigger than I915_PDES. Of course, this isn't really a problem since no one uses pt outside the macro. Still, every single new usage of the macro will create a new issue for us to mark as a false positive. Also, Paulo re-started the discussion a while ago [1], but didn't end up implemented. In order to "solve" this "problem", this patch takes the ideas from Chris and Dave, but that check would change the desired behavior of the code, because the object (for example pdp->page_directory[iter]) can be null during init/alloc, and C would take this as false, breaking the for loop immediately. This has been already verified with "static analysis tools". [1]http://lists.freedesktop.org/archives/intel-gfx/2015-June/068548.html v2: Make it a single statement, while preventing the common subexpression elimination (Chris) Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e9f24d5fb7cf3628b195b18ff3ac4e37937ceeae Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Oct 5 13:26:36 2015 +0100 drm/i915: Clean up associated VMAs on context destruction Prevent leaking VMAs and PPGTT VMs when objects are imported via flink. Scenario is that any VMAs created by the importer will be left dangling after the importer exits, or destroys the PPGTT context with which they are associated. This is caused by object destruction not running when the importer closes the buffer object handle due the reference held by the exporter. This also leaks the VM since the VMA has a reference on it. In practice these leaks can be observed by stopping and starting the X server on a kernel with fbcon compiled in. Every time X server exits another VMA will be leaked against the fbcon's frame buffer object. Also on systems where flink buffer sharing is used extensively, like Android, this leak has even more serious consequences. This version is takes a general approach from the earlier work by Rafael Barbalho (drm/i915: Clean-up PPGTT on context destruction) and tries to incorporate the subsequent discussion between Chris Wilson and Daniel Vetter. v2: Removed immediate cleanup on object retire - it was causing a recursive VMA unbind via i915_gem_object_wait_rendering. And it is in fact not even needed since by definition context cleanup worker runs only after the last context reference has been dropped, hence all VMAs against the VM belonging to the context are already on the inactive list. v3: Previous version could deadlock since VMA unbind waits on any rendering on an object to complete. Objects can be busy in a different VM which would mean that the cleanup loop would do the wait with the struct mutex held. This is an even simpler approach where we just unbind VMAs without waiting since we know all VMAs belonging to this VM are idle, and there is nothing in flight, at the point context destructor runs. v4: Double underscore prefix for __915_vma_unbind_no_wait and a commit message typo fix. (Michel Thierry) Note that this is just a partial/interim fix since we have a bit a fundamental issue with cleaning up, e.g. https://bugs.freedesktop.org/show_bug.cgi?id=87729 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Testcase: igt/gem_ppgtt.c/flink-and-exit-vma-leak Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> [danvet: Add a note that this isn't everything.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 683b95e8071603b4e945cb26dcae0308457ec478 Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:40 2015 +0300 ath10k: use pre-allocated DMA buffer in Tx ath10k driver is using dma_pool_alloc per packet and dma_pool_free in coresponding at Tx completion. Use of pre-allocated DMA buffer in Tx will improve saving CPU resource by 5% while it consumes about 56KB memory more as trade off. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bc27e8cddda69daa324318ffe3d2e1badad07775 Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:39 2015 +0300 ath10k: use Rx decap mode configured when driver registered ath10k is using Native WiFi mode as default mode for both of Tx and Rx path, but it could be changed when driver registers with a module parameter for specific purpose such as mesh. The Rx decap mode sent to firmware during WMI initialization should use the same mode that driver configured at its registration stage in case of using raw mode, so that host driver receives MAC frame header containing necessary fields such as QoS and Mesh Control and uses them in right way to make data traffic work. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 295426669cd68efc84657e6ee426499cfb54346e Author: Maharaja Kennadyrajan <c_mkenna@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:38 2015 +0300 ath10k: implement debugfs interface for Transmit Power Control stats The Transmit Power Control (TPC) dump will show the power control values for each rate which makes it easier to debug calibration problems. Example usage: # cat /sys/kernel/debug/ieee80211/phy0/ath10k/tpc_stats TPC config for channel 5180 mode 10 CTL = 0x10 Reg. Domain = 58 Antenna Gain = 1 Reg. Max Antenna Gain = 0 Power Limit = 34 Reg. Max Power = 34 Num tx chains = 3 Num supported rates = 155 **********CDD POWER TABLE******* No. Preamble Rate_code tpc_valu1 tpc_value2 tpc_value3 0 CCK 0x40 0 0 0 1 CCk 0x41 0 0 0 [...] 154 HTCUP 0x 0 24 0 0 **********STBC POWER TABLE****** No. Preamble Rate_code tpc_valu1 tpc_value2 tpc_value3 0 CCK 0x40 0 0 0 [...] 154 HTCUP 0x 0 24 24 0 **********TXBF POWER TABLE****** is used to dump the tx power control stats. Signed-off-by: Maharaja Kennadyrajan <c_mkenna@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3b8fc902e33e65dd859c0f974c0097b177eeb695 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:37 2015 +0300 ath10k: add a_sle32_to_cpu() Copy a_sle32_to_cpu() from ath6kl so that we can easily handle signed __le32 values. This is needed in struct wmi_pdev_tpc_config_event. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2a995088c5aec38db6ffbac96c404f75c7dd9d2c Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:37 2015 +0300 ath10k: split an unnecessary long line from checkpatch: drivers/net/wireless/ath/ath10k/mac.c:1113: line over 90 characters Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9a14969fa1674d2215d6d9f171ed323bd3ebb39d Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:36 2015 +0300 ath10k: fix whitespace usage checkpatch found: drivers/net/wireless/ath/ath10k/core.c:574: Blank lines aren't necessary before a close brace '}' drivers/net/wireless/ath/ath10k/mac.c:4067: Missing a blank line after declarations drivers/net/wireless/ath/ath10k/mac.c:4083: Missing a blank line after declarations drivers/net/wireless/ath/ath10k/mac.c:4084: spaces required around that '>>=' (ctx:WxV) drivers/net/wireless/ath/ath10k/pci.c:1507: Missing a blank line after declarations Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 92438a2cdb5d152d152ca7c449b033c255b977b4 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:36 2015 +0300 ath10k: remove void function return statements drivers/net/wireless/ath/ath10k/wmi.c:3023: void function return statements are not generally useful Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b9e284e515af75e72043bb802cfb52cd9bd04450 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:35 2015 +0300 ath10k: brace style fixes drivers/net/wireless/ath/ath10k/htt_tx.c:457: braces {} are not necessary for single statement blocks drivers/net/wireless/ath/ath10k/htt_tx.c:545: braces {} are not necessary for single statement blocks drivers/net/wireless/ath/ath10k/mac.c:200: braces {} are not necessary for single statement blocks Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 617b0f4d4a69962e0e86604f889d6af9e8f4150d Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:35 2015 +0300 ath10k: indentation fixes checkpatch found: drivers/net/wireless/ath/ath10k/core.c:513: Alignment should match open parenthesis drivers/net/wireless/ath/ath10k/core.c:1266: code indent should use tabs where possible drivers/net/wireless/ath/ath10k/core.c:1267: code indent should use tabs where possible drivers/net/wireless/ath/ath10k/core.c:1268: code indent should use tabs where possible drivers/net/wireless/ath/ath10k/core.c:1269: code indent should use tabs where possible drivers/net/wireless/ath/ath10k/mac.c:4659: Alignment should match open parenthesis drivers/net/wireless/ath/ath10k/mac.c:6271: Alignment should match open parenthesis drivers/net/wireless/ath/ath10k/pci.c:2260: Alignment should match open parenthesis drivers/net/wireless/ath/ath10k/wmi.c:3510: Alignment should match open parenthesis Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit be62e92a5b2b5960b494fc81ce27611240016821 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:34 2015 +0300 ath10k: fix checkpatch warning about logical continuations checkpatch found: drivers/net/wireless/ath/ath9k/core.c:490: Logical continuations should be on the previous line Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 88e72717c2de4181d8a6de1b04315953ad2bebdf Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 18:35:31 2015 +0200 drm/irq: Use unsigned int pipe in public API This continues the pattern started in commit cc1ef118fc09 ("drm/irq: Make pipe unsigned and name consistent"). This is applied to the public APIs and driver callbacks, so pretty much all drivers need to be updated to match the new prototypes. Cc: Christian König <christian.koenig@xxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: Inki Dae <inki.dae@xxxxxxxxxxx> Cc: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Cc: Alison Wang <alison.wang@xxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Cc: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1b70386c99e997b359735c753ca1a27c6cf87847 Author: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Date: Wed Jul 22 15:54:29 2015 +1000 powerpc/kexec: Wait 1s for secondaries to enter OPAL Always include a timeout when waiting for secondary cpus to enter OPAL in the kexec path, rather than only when crashing. Signed-off-by: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 255e8e046c3925ee45a869466221a48d38451b39 Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Fri Aug 21 13:05:15 2015 +0200 powerpc/8xx: Shorten irq_chip name for the SIU show_interrupts() expects the irq_chip name to be max 8 characters otherwise everything get misaligned # cat /proc/interrupts CPU0 17: 0 CPM PIC 0 Level error 19: 0 MPC8XX SIU 15 Level tbint 20: 90 CPM PIC 4 Level cpm_uart 38: 29746 MPC8XX SIU 5 Level fs_enet-mac 39: 0 MPC8XX SIU 7 Level fs_enet-mac 47: 401 CPM PIC 5 Level fsl_spi 68: 1 MPC8XX SIU 2 Level phy_interrupt, phy_interrupt, phy_interrupt LOC: 7225485 Local timer interrupts for timer event device LOC: 9 Local timer interrupts for others SPU: 0 Spurious interrupts PMI: 0 Performance monitoring interrupts MCE: 0 Machine check exceptions Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 698d0b59f3d91cc44a76dd2994a002d263c3606b Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Mon Oct 5 21:03:39 2015 +0200 ASoC: rockchip: namespace rockchip i2s module name Change the rockchip i2s object name (and thus module name) from the rather generic snd-soc-i2s to the more specific snd-soc-rockchip-i2s Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 45d5ea48e1d4dc3b9df2e37aebaa4e97c52a7f2c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 5 19:35:24 2015 +0200 regulator: max77802: Separate sections for nodes and properties The optional "regulators" is a node and not a property so it should not be in the "Optional properties" section but in an "Optional nodes" one. Suggested-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7d8d05d11473a169ab4d53bc7fc23d1fe3f1959f Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 11:23:46 2015 +0200 misc: atmel_tclib: 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 timer counters. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit eed9fb9df47898ea62d71be7dcc3b36d95819a7c Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 11:23:45 2015 +0200 clocksource: tcb_clksrc: fix setup_clkevents error path t2_clk is already disabled before request_irq(), it must not be disabled again. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 216ab8f155fba659e06df240862cf59acb8b7be5 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 11:23:44 2015 +0200 clocksource: atmel-st: get and use slow clock The current slow clock rate is hardcoded. Properly get the slow clock and use its rate. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 8128f23c436d0dd4f72412e1bf9256e424479dc3 Author: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Date: Thu Aug 27 15:33:03 2015 +0200 iommu/s390: Add iommu api for s390 pci devices This adds an IOMMU API implementation for s390 PCI devices. Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 78cd6a9d8e154fe2ac5d2b912519e27545cfd13b Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 23:25:50 2015 -0500 arm64: dts: Add base stratix 10 dtsi Add the base DTS for Altera's SoCFPGA Stratix 10 platform. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> --- v4: Add a non-zero ranges property for /soc node v3: change #address-cells and #size-cells to <2> change the GIC address to 0xfffc1000 update the GIC virtual CPU reg length to 0x2000 v2: use interrupt-affinity for pmu node commit 19c21388272a64c0cd5c4a6a24eca33507ee6d50 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 22 14:50:37 2015 -0500 ARM: socfpga: dts: enable USB and I2C on Arria10 SoCDK On the Arria10 Devkit, the I2C bus has a serial EEPROM and an RTC hanging off it. Also, enable the USB node. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit e7604ae277ffa49474336fc2c099225e36559002 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 22 15:55:56 2015 -0500 ARM: socfpga: dts: add clock fields for I2C, UART and USB on Arria10 Add the required clock fields for all the I2C nodes. Also add missing clock fields for UART0 and USB1. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit e1a58320a38dfa72be48a0f1a3a92273663ba6db Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Mon Oct 5 12:55:20 2015 -0400 x86/mm: Warn on W^X mappings Warn on any residual W+X mappings after setting NX if DEBUG_WX is enabled. Introduce a separate X86_PTDUMP_CORE config that enables the code for dumping the page tables without enabling the debugfs interface, so that DEBUG_WX can be enabled without exposing the debugfs interface. Switch EFI_PGT_DUMP to using X86_PTDUMP_CORE so that it also does not require enabling the debugfs interface. On success it prints this to the kernel log: x86/mm: Checked W+X mappings: passed, no W+X pages found. On failure it prints a warning and a count of the failed pages: ------------[ cut here ]------------ WARNING: CPU: 1 PID: 1 at arch/x86/mm/dump_pagetables.c:226 note_page+0x610/0x7b0() x86/mm: Found insecure W+X mapping at address ffffffff81755000/__stop___ex_table+0xfa8/0xabfa8 [...] Call Trace: [<ffffffff81380a5f>] dump_stack+0x44/0x55 [<ffffffff8109d3f2>] warn_slowpath_common+0x82/0xc0 [<ffffffff8109d48c>] warn_slowpath_fmt+0x5c/0x80 [<ffffffff8106cfc9>] ? note_page+0x5c9/0x7b0 [<ffffffff8106d010>] note_page+0x610/0x7b0 [<ffffffff8106d409>] ptdump_walk_pgd_level_core+0x259/0x3c0 [<ffffffff8106d5a7>] ptdump_walk_pgd_level_checkwx+0x17/0x20 [<ffffffff81063905>] mark_rodata_ro+0xf5/0x100 [<ffffffff817415a0>] ? rest_init+0x80/0x80 [<ffffffff817415bd>] kernel_init+0x1d/0xe0 [<ffffffff8174cd1f>] ret_from_fork+0x3f/0x70 [<ffffffff817415a0>] ? rest_init+0x80/0x80 ---[ end trace a1f23a1e42a2ac76 ]--- x86/mm: Checked W+X mappings: FAILED, 171 W+X pages found. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> 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: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444064120-11450-1-git-send-email-sds@xxxxxxxxxxxxx [ Improved the Kconfig help text and made the new option default-y if CONFIG_DEBUG_RODATA=y, because it already found buggy mappings, so we really want people to have this on by default. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b248e6548e344a26fc92c57772fd4224a490bca9 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Oct 5 16:21:11 2015 +0800 drm/i915/bxt: vlv_dsi_reset_clocks() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 38a413cbc2b2834683b21823d964bc2d2f0abb82 Merge: 55696b1 9ffecb1 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 6 10:56:54 2015 +0200 Merge tag 'v4.3-rc3' into x86/mm, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2493f21f56316ad55508f173463ebf0b3f0a15bb Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Oct 5 10:01:13 2015 +0300 drm/i915: Rename DP link training functions The link training functions had confusing names. The start function actually does the clock recovery phase of the link training, and the complete function does the channel equalization. So call them that instead. Also, every call to intel_dp_start_link_train() was followed by a call to intel_dp_complete_link_train(), so add a new start function that calls clock_recory and channel_equalization. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0b5e88dc25ee6c9040c0355e6e025dcbc9c8de92 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Oct 5 16:43:15 2015 +0530 drm/i915: Add hot_plug hook for hdmi encoder This patch adds a separate probe function for HDMI EDID read over DDC channel. This function has been registered as a .hot_plug handler for HDMI encoder. The current implementation of hdmi_detect() function re-sets the cached HDMI edid (in connector->detect_edid) in every detect call.This function gets called many times, sometimes directly from userspace probes, forcing drivers to read EDID every detect function call.This causes several problems like: 1. Race conditions in multiple hot_plug / unplug cases, between interrupts bottom halves and userspace detections. 2. Many Un-necessary EDID reads for single hotplug/unplug 3. HDMI complaince failures which expects only one EDID read per hotplug This function will be serving the purpose of really reading the EDID by really probing the DDC channel, and updating the cached EDID. The plan is to: 1. i915 IRQ handler bottom half function already calls intel_encoder->hotplug() function. Adding This probe function which will read the EDID only in case of a hotplug / unplug. 2. During init_connector this probe will be called to read the edid 3. Reuse the cached EDID in hdmi_detect() function. The "< gen7" check is there because this was tested only for >=gen7 platforms. For older platforms the hotplug/reading edid path remains same. v2: Calling set_edid instead of hdmi_probe during init. Also, for platforms having DDI, intel_encoder for DP and HDMI is same (taken from intel_dig_port), so for DP also, hot_plug function gets called which is not intended here. So, check for HDMI in intel_hdmi_probe Rely on HPD for updating edid only for platforms gen > 8 and also for VLV. v3: Dropping the gen < 8 || !VLV check. Now all platforms should rely on hotplug or init for updating the edid.(Daniel) Also, calling hdmi_probe in init instead of set_edid v4: Renaming intel_hdmi_probe to intel_hdmi_hot_plug. Also calling this hotplug handler from intel_hpd_init to take care of init resume scenarios. v5: Moved the call to encoder hotplug during init to separate patch(Daniel) Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> [danvet: Mark intel_hdmi_hot_plug as static.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b9748cb513a6bef4af87b79f0da3ff7e8b56cd8 Author: Jordan Justen <jordan.l.justen@xxxxxxxxx> Date: Thu Oct 1 23:09:58 2015 -0700 drm/i915: Add GEN7_GPGPU_DISPATCHDIMX/Y/Z to the register whitelist This is required to support glDispatchComputeIndirect for gen7. Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> Reviewed-by: Kristian Høgsberg <krh@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3e7732a05d3b14e2ae33013622ae9c691b419312 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Thu Oct 1 20:29:27 2015 +0530 drm/i915: Update Promotion timer for RC6 TO Mode When using RC6 timeout mode, the timeout value should be written to GEN6_RC6_THRESHOLD. v2: Updated commit message. (Tom) v3: Rebase over whitespace differences. (Daniel) Cc: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a1c4199414539d7eea34e416fb64fb5178221381 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Sep 30 09:46:37 2015 -0700 drm/i915/guc: Add host2guc notification for suspend and resume Add host2guc interface to notify GuC power state changes when enter or resume from power saving state. v3: Move intel_guc_suspend to i915_drm_suspend for consistency. v2: Add GuC suspend/resume to runtime suspend/resume too v1: Change to a more flexible way when fill host to GuC scratch data in order to remove hard coding. Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3be60de9e9dc92c852c196cf4b62e287fa53963c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 18:05:45 2015 +0300 drm/i915: Skip CHV PHY asserts until PHY has been fully reset The BIOS can leave the CHV display PHY in some odd state where some of the LDOs/lanes won't power down fully when unused. This will trigger a host of asserts that were added in: 30142273a3e83936fd7b45aa5339311a9295ca51 drm/i915: Add CHV PHY LDO power sanity checks 6669e39f95b5530ca8cb9137703ceb5e83e5d648 drm/i915: Add some CHV DPIO lane power state asserts To avoid that, skip the asserts until the PHY power well has been disabled at least once. That will fully reset the PHY, and once brought back up, the dynamic power down features will work correctly. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S<deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9571b190cf474ae02a7e018a21d14052d750070f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 18:05:44 2015 +0300 drm/i915: Don't bypass LRC on CHV The docs are unclear as usual, so it's not clear whether LRC should be bypassed, performed normally or GRC code should be used as the LRC code. Some old docs stated that LRC bypass ought to be used, more recent ones no longer say that. Some docs indicated that we could use GRC as the LRC code on CHV, but the BIOS doesn't do that, so let's not do it either. Besides to enable LRC bypass properly, I believe we should set the bit already before deasserting cmnreset. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S<deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5d250b05918c002b63632c7db91c3c5f924c6a3b Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Oct 5 16:43:14 2015 +0530 drm/i915: Call encoder hotplug for init and resume cases For all the encoders, call the hot_plug if it is registered. This is required for connected boot and resume cases to generate fake hpd resulting in reading of edid. Removing the initial sdvo hot_plug call too so that it will be called just once from this loop. Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1e1851f9d725ff9f00d74dfc4b73d47cba57466f Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Mon Oct 5 10:37:01 2015 -0700 Revert "iommu: Allow iova to be used without requiring IOMMU_SUPPORT" Revert 'commit 353649e5da90 ("iommu: Allow iova to be used without requiring IOMMU_SUPPORT"). This commit is made unnecessary by 'commit ac6d83ccd9c5 ("misc: mic: Fix SCIF build failure with IOMMU_SUPPORT disabled") and will create a conflict upon merging with 4.3-rc4. The correct long term solution is to move the iova library from drivers/iommu into lib/iova which will be done in a future patch. Cc: David Woodhouse <David.Woodhouse@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c696693a4f54d12714738b45aee3e4302884ade Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:18:22 2015 +0800 soc: rockchip: power-domain: Add power domain driver This driver is found on RK3288 SoCs. In order to meet high performance and low power requirements, a power management unit is designed or saving power when RK3288 in low power mode. The RK3288 PMU is dedicated for managing the power of the whole chip. PMU can work in the Low Power Mode by setting bit[0] of PMU_PWRMODE_CON register. After setting the register, PMU would enter the Low Power mode. In the low power mode, pmu will auto power on/off the specified power domain, send idle req to specified power domain, shut down/up pll and so on. All of above are configurable by setting corresponding registers. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> [replace dsb() with dsb(sy) for arm64 buildability; sy is the default, so no functional change; adapt to per-user clocks in genpd] Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit d64180fd5921be9db9cf63cc12c11086c444c0d0 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:18:20 2015 +0800 dt-bindings: add document of Rockchip power domains This add the necessary binding documentation for the power domains found on Rockchip SoCs. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 30c63a9db6052ef10355101bd4f30d2d7437a65d Merge: 772b050 a914169 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Oct 6 09:47:26 2015 +0200 Merge branch 'v4.4-armsoc/pd-headers' into v4.4-armsoc/drivers commit 772b05086d7ade59e997c4f5f2cca6af16f5096d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 1 21:05:09 2015 +0200 PM / clk: Do not __clk_get passed in clock-references Clock references are on a per-user basis now, so they are not supposed to be refcounted by itself anymore. Therefore multiple cascaded get and put calls will fail. When a clock reference gets passed into pm_clk_add_clk we can assume that the pm clock handling will take control of the clock reference, so after this functions returns the caller should've given up control of that handle. So remove the additional call to __clk_get() in __pm_clk_add(). The only current user of pm_clk_add_clk is drivers/clk/shmobile/clk-mstp.c which already follows this paradigm by only getting the clock but not puting it after passing the reference into pm_clk_add_clk. In the error case the caller is expected to clean up the clock, as it may very well try to do something different if pm_clk_add_clk() fails. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> [add commit-message] Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9495525e51e6f54fda4fbb7ef19eed4d131f18b2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 14 16:47:05 2015 -0700 Documentation: dt: add Broadcom BCM7038 PWM controller binding Add a binding documentation for the Broadcom BCM7038 PWM controller found in BCM7xxx chips. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit ed6c1476bf7f16d5f203ce2893ed04284c3aebd3 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Sep 30 17:47:53 2015 +0900 pwm: Add support for R-Car PWM Timer This patch adds support for R-Car SoCs PWM Timer. The PWM timer of R-Car H2 has 7 channels. So, we can use the channels if we describe device tree nodes. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 7260d25145a1485767efc5d4341405bcb5703eab Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Sep 30 17:47:52 2015 +0900 pwm: Add device tree binding document for R-Car PWM Timer Add binding document for Renesas PWM Timer on R-Car SoCs. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 59d5c8b1537da3bc6a18a4912727bc9287e6af91 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 16:59:47 2015 +0200 pwm: Add support for the Berlin PWM controller Add a PWM controller driver for the Marvell Berlin SoCs. This PWM controller has 4 channels. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 1c748dc2cbbe45d48572e395e11be677fbf7a28c Merge: e3b0ac1 27bf90b Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 6 09:04:10 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: - Switch the default callchain output mode to 'graph,0.5,caller', to make it look like the default for other tools, reducing the learning curve for people used to 'caller' based viewing. (Arnaldo Carvalho de Melo) - Implement column based horizontal scrolling in the hists browser (top, report), making it possible to use the TUI for things like 'perf mem report' where there are many more columns than can fit in a terminal. (Arnaldo Carvalho de Melo) - Support sorting by symbol_iaddr with perf.data files produced by 'perf mem record'. (Don Zickus) - Display DATA_SRC sample type bit, i.e. when running 'perf evlist -v' the "DATA_SRC" wasn't appearing when set, fix it to look like: (Jiri Olsa) cpu/mem-loads/pp: ...SNIP... sample_type: IP|TID|TIME|ADDR|CPU|PERIOD|DATA_SRC - Introduce the 'P' event modifier, meaning 'max precision level, please', i.e.: $ perf record -e cycles:P usleep 1 Is now similar to: $ perf record usleep 1 Useful, for instance, when specifying multiple events. (Jiri Olsa) - Make 'perf -v' and 'perf -h' work. (Jiri Olsa) - Fail properly when pattern matching fails to find a tracepoint, i.e. '-e non:existent' was being correctly handled, with a proper error message about that not being a valid event, but '-e non:existent*' wasn't, fix it. (Jiri Olsa) Infrastructure changes: - Separate arch specific entries in 'perf test' and add an 'Intel CQM' one to be fun on x86 only. (Matt Fleming) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a837fe4724713ef701e47d6bfab98a5efaff3eb Author: Peter Nørlund <pch@xxxxxxxxxxxx> Date: Tue Oct 6 07:24:47 2015 +0200 ipv4: Fix compilation errors in fib_rebalance This fixes net/built-in.o: In function `fib_rebalance': fib_semantics.c:(.text+0x9df14): undefined reference to `__divdi3' and net/built-in.o: In function `fib_rebalance': net/ipv4/fib_semantics.c:572: undefined reference to `__aeabi_ldivmod' Fixes: 0e884c78ee19 ("ipv4: L3 hash-based multipath") Signed-off-by: Peter Nørlund <pch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c21dbcfefc9dc9abc42971dc1f2681b6a8677c3c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 28 12:38:34 2015 +0200 ARM: dts: Remove regulator-compatible usage in exynos4412-trats2 The regulator-compatible property from the regulator DT binding was deprecated and the correct approach is to use the node's name. This patch has no functional changes but by not using a deprecated property, new DTS based on this one will not carry the same issue. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit c5185068066d854dab2f1af1894cd994234c65ce Author: Sean Paul <seanpaul@xxxxxxxxxxxx> Date: Thu Sep 17 14:48:39 2015 +0200 ARM: dts: Move display-timings node from fimd to dp in exynos5250-arndale, smdk5250 and smdk5420 This patch moves the display-timings node from fimd to dp to reflect the device tree bindings change. Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> [tomeu.vizoso@xxxxxxxxxxxxx: Rebased] Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit c7efd123500b11568ce928a5cd91ad132ec36df5 Author: Yoichi Yuasa <yuasa@xxxxxxxxxxxxxx> Date: Sat Sep 19 11:34:30 2015 -0700 Input: add support for ROHM BU21023/24 touchscreen This adds support for ROHM BU21023/24 Dual touch resistive touchscreens. Signed-off-by: Yoichi Yuasa <yuasa@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 33ca8ab97cbb676d11a4b026ad392c046893a6dc Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 29 16:04:36 2015 -0700 Input: parkbd - use parallel port device model Modify parkbd driver to use the new Parallel Port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0877098d82fd1823878534b116a4a725e729701f Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 01:51:01 2015 +0300 ARM: shmobile: porter: add Ether DT support Define the Porter board dependent part of the Ether device node. Enable DHCP and NFS root for the kernel booting. This patch is analogous to the commit 26b0d2cf73cb ("ARM: shmobile: henninger: add Ether DT support") as there are no differences between those boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7b415285ae96f5bfa0fa95d3227c6900c4ff151d Merge: c65cf81 049e6dd Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Oct 5 17:36:38 2015 -0700 Merge tag 'v4.3-rc4' into next Merge with mainline to sync up with changes to parkbd driver. commit c65cf815653ec64e73d40819806c2d1aed91681e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Oct 5 17:23:08 2015 -0700 Input: turbografx - store object in correct index The variable i is used to check the port to attach to and we are supposed to save the reference of struct tgfx in the location given by tgfx_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. Fixes: 4de27a638a99 ("Input: turbografx - use parallel port device model") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c36906c53ccff0f43310fac9606976440a71c742 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Oct 5 17:22:58 2015 -0700 Input: gamecon - store object at correct index The variable i is used to check the port to attach to and we are supposed to save the reference of struct gc in the location given by gc_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Fixes: a517e87c3dfc ("Input: gamecon - use parallel port device model") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit dd23bf1044e89f46e2d1af9725c0b24864309082 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Oct 5 17:22:47 2015 -0700 Input: db9 - store object at correct index The variable i is used to check the port to attach to and we are supposed to save the reference of struct db9 in the location given by db9_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. While at it mark db9_base[i] as NULL after it is freed. Fixes: 2260c419b52b ("Input: db9 - use parallel port device model") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 47490ec141b9944a8a7cbe3bec8b8f4fdaaa700b Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Tue Oct 6 09:44:42 2015 +1030 modpost: Add flag -E for making section mismatches fatal The section mismatch warning can be easy to miss during the kernel build process. Allow it to be marked as fatal to be easily caught and prevent bugs from slipping in. Setting CONFIG_SECTION_MISMATCH_WARN_ONLY=y causes these warnings to be non-fatal, since there are a number of section mismatches when using allmodconfig on some architectures, and we do not want to break these builds by default. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Change-Id: Ic346706e3297c9f0d790e3552aa94e5cff9897a6 Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 27bf90bf0690f55c3679bcc4c325823cf1cfd19d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 21:31:17 2015 +0200 perf tools: Fail properly in case pattern matching fails to find tracepoint Currently we dont fail properly when pattern matching fails to find any tracepoint. Current behaviour: $ perf record -e 'sched:krava*' sleep 1 WARNING: event parser found nothinginvalid or unsupported event: 'sched:krava*' Run 'perf list' for a list of valid events usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] This patch change: $ perf record -e 'sched:krava*' sleep 1 event syntax error: 'sched:krava*' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing/events/sched/krava* not found. Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?. Run 'perf list' for a list of valid events usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] Reported-by: Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444073477-3181-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c6c3c02dea4034431110923ffd8e296ebfbdbe1b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 17:22:43 2015 -0300 perf hists browser: Implement horizontal scrolling Do it using the recently introduced ui_brower scrolling mode, setting ui_browser.columns to the number of sort columns and then, when rendering each line, skipping as many initial columns as the user pressed the right arrow. As the user presses the left arrow, the ui_browser code will remove the scrolling counter and the left scrolling takes place. The right arrow key was an alias for ENTER, so people used to press it may get a bit annoyed at first, sorry! Ditto for ESC and the left key. Callchains can be left as is or we can, when rendering the Symbol column, store the at what position on the screen it is and then using ui_browser__gotorc() to print it from there, i.e. the callchain would move around with the symbol. Leaving it as is, i.e. at a fixed position, close to the left, saves precious screen real state for it, so I'm inclined to leave it as is now. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> 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-ccqq9sabgfge5dwbqjwh71ij@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit faae6f690eecb82b6d9d9f2112f5b51ac37d4acb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 17:14:40 2015 -0300 perf ui browser: Optional horizontal scrolling key binding If the classes derived from ui_browser want to do some sort of horizontal scrolling, they have just to set ui_browser->columns to the number of columns available. Those columns can be the number of characters on the screen, if what is desired is to scroll character by character, or the number of columns in a spreadsheet like table. This is what the hist_browser will do, skipping ui_browser->horiz_scroll columns when rendering each of its lines. 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-q6a22bpmpgcr1awgzrmd4jrs@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit def02db0d662b0edd83f80e3c18f660fc414decb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 5 17:05:35 2015 -0300 perf callchain: Switch default to 'graph,0.5,caller' Which is the most common default found in other similar tools. Requested-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: https://www.youtube.com/watch?v=nXaxk27zwlk Link: http://lkml.kernel.org/n/tip-v8lq36aispvdwgxdmt9p9jd9@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c3322022897ca528b57e8854cd4fc40c61f81eb6 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:43 2015 +0200 ARM: pxa: ezx: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit bd2e2b3c354605d2064ddd8b3c9fbbe7d2df714f Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:42 2015 +0200 ARM: pxa: colibri-pxa270-income: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 035827e9f2bd71a280f4eb58c65811d377ab2217 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Mon Oct 5 15:40:21 2015 +0100 perf tests: Add Intel CQM test Peter reports that it's possible to trigger a WARN_ON_ONCE() in the Intel CQM code by combining a hardware event and an Intel CQM (software) event into a group. Unfortunately, the perf tools are not able to create this bundle and we need to manually construct a test case. For posterity, record Peter's proof of concept test case in tools/perf so that it presents a model for how we can perform architecture specific tests, or "arch tests", in perf in the future. The particular issue triggered in the test case is that when the counter for the hardware event overflows and triggers a PMI we'll read both the hardware event and the software event counters. Unfortunately, for CQM that involves performing an IPI to read the CQM event counters on all sockets, which in NMI context triggers the WARN_ON_ONCE(). Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxx> Cc: Vince Weaver <vince@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437490509-15373-1-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/n/tip-3p4ra0u8vzm7m289a1m799kf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d8b167f9d8af817073ee35cf904e2e527465dbc1 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Mon Oct 5 15:40:20 2015 +0100 perf tests: Move x86 tests into arch directory Move out the x86-specific tests into tools/perf/arch/x86/tests and define an 'arch_tests' array, which is the list of tests that only apply to the build architecture. We can also now begin to get rid of some of the #ifdef code that is present in the generic perf tests. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxx> Cc: Vince Weaver <vince@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-9s68h4ptg06ah0lgnjz55mqn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 31b6753f95320260b160935d0e9c0b29f096ab57 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Mon Oct 5 15:40:19 2015 +0100 perf tests: Add arch tests Tests that only make sense for some architectures currently live in the same place as the generic tests. Move out the x86-specific tests into tools/perf/arch/x86/tests and define an 'arch_tests' array, which is the list of tests that only apply to the build architecture. The main idea is to encourage developers to add arch tests to build out perf's test coverage, without dumping everything in tools/perf/tests. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxx> Cc: Vince Weaver <vince@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-p4uc1c15ssbj8xj7ku5slpa6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a1853e2c6f8ed488adcd84fb162c5b3f0b674d9b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:09 2015 +0200 perf tools: Handle -h and -v options Adding handling for '-h' and '-v' options to invoke help and version command respectively. Current behaviour is: $ perf -v Unknown option: -v Usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS] $ perf -h Unknown option: -h Usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS] New behaviour: $ perf -h usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS] The most commonly used perf commands are: annotate Read perf.data (created by perf record) and display annotated code archive Create archive with object files with build-ids found in perf.data file bench General framework for benchmark suites ... $ perf -v perf version 4.3.rc3.gc99e32 Updated man page. Requested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-10-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b34b3bf0798633cc248b682f5b4f6509739ce234 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:08 2015 +0200 perf tools: Setup proper width for symbol_iaddr field We need to properly initialize column width for symbol_iaddr field, so all symbols could fit in the column. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-9-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 28e6db205b3ed3f1d86a00c69b3304190377da5f Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Mon Oct 5 20:06:07 2015 +0200 perf tools: Add support for sorting on the iaddr Sorting on 'symbol' gives to broad a resolution as it can cover a range of IP address. Use the iaddr instead to get proper sorting on IP addresses. Need to use the 'mem_sort' feature of perf record. New sort option is: symbol_iaddr, header label is 'Code Symbol'. $ perf mem report --stdio -F +symbol_iaddr # Overhead Samples Code Symbol Local Weight # ........ ............ ........................ ............ # 54.08% 1 [k] nmi_handle 192 4.51% 1 [k] finish_task_switch 16 3.66% 1 [.] malloc 13 3.10% 1 [.] __strcoll_l 11 Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-8-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ddd83c9717ef8204f17cc63d6dcb5053d472caee Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:06 2015 +0200 perf tests: Add parsing test for 'P' modifier We cant test 'P' modifier gets properly parsed, the functionality test itself is beyond this suite. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-7-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7f94af7a489fada17d28cc60e8f4409ce216bd6d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:05 2015 +0200 perf tools: Introduce 'P' modifier to request max precision The 'P' will cause the event to get maximum possible detected precise level. Following record: $ perf record -e cycles:P ... will detect maximum precise level for 'cycles' event and use it. Commiter note: Testing it: $ perf record -e cycles:P usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.013 MB perf.data (9 samples) ] $ perf evlist cycles:P $ perf evlist -v cycles:P: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, precise_ip: 2, sample_id_all: 1, mmap2: 1, comm_exec: 1 $ Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 45cf6c33f95448752dd3d5531388429c3a5012d0 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:04 2015 +0200 perf tools: Export perf_event_attr__set_max_precise_ip() It'll be used in following patch. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5ec4502d774699194952209ff3ebe65d2472e15a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:03 2015 +0200 perf annotate: Fix sizeof_sym_hist overflow issue The annotated_source::sizeof_sym_hist could easily overflow int size, resulting in crash in __symbol__inc_addr_samples. Changing its type int size_t as was probably intended from beginning based on the initialization code in symbol__alloc_hist. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 84422592e58f6f1ea03688fcf92143bbc095fa88 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:02 2015 +0200 perf evlist: Display DATA_SRC sample type bit Adding DATA_SRC bit_name call to display sample_type properly. $ perf evlist -v cpu/mem-loads/pp: ...SNIP... sample_type: IP|TID|TIME|ADDR|CPU|PERIOD|DATA_SRC, ... Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ccb5597f9ba11b67b8aa8c6f4682675eceee0e21 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:01 2015 +0200 tools lib api fs: No need to use PATH_MAX + 1 Because there's no point, PATH_MAX is big enough. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e8e88438008375b17561dcc6a22abc24decf04ac Author: Ritesh Raj Sarraf <rrs@xxxxxxxxxx> Date: Mon Oct 5 22:02:18 2015 +0530 HID: sensor-hub: Add quirk for Lenovo Yoga 2 with ITE Chips This patch is a follow-up to 47eeca8a48 (" HID: sensor-hub: Add in quirk for Lenovo Yogas with ITE") The Lenovo Yoga 2 13 seems to be sold in multiple variants with minor difference3s. IN my case, the USB ID for ITE chip is different than the Yoga 2 11 and Yoga 3 14. Without the quirk, no data is received from the accelerometer. I have verified the patch, testing this on 4.3-rc4 (and 4.2 stable). With this patch, proper orientation data is received. rrs@learner:~/Community/UpstreamSources/linux-upstream_GIT (stable-42)$ monitor-sensor ** Message: Accelerometer orientation changed: bottom-up ** Message: Light changed: 0.000000 (lux) ±** Message: Accelerometer orientation changed: left-up ** Message: Accelerometer orientation changed: bottom-up ** Message: Accelerometer orientation changed: left-up ** Message: Accelerometer orientation changed: normal ** Message: Light changed: 29.999999 (lux) monitor-sensor can be found in the iio-sensor-proxy tool. Signed-off-by: Ritesh Raj Sarraf <rrs@xxxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 06766513232d1619ac84e87b1d839d3fcc23a540 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Thu Sep 10 21:20:57 2015 -0700 RDS: IB: split mr pool to improve 8K messages performance 8K message sizes are pretty important usecase for RDS current workloads so we make provison to have 8K mrs available from the pool. Based on number of SG's in the RDS message, we pick a pool to use. Also to make sure that we don't under utlise mrs when say 8k messages are dominating which could lead to 8k pull being exhausted, we fall-back to 1m pool till 8k pool recovers for use. This helps to at least push ~55 kB/s bidirectional data which is a nice improvement. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 41a4e9646229801624e38f7a1cc53033a0affdb1 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sat Sep 19 13:06:08 2015 -0400 RDS: IB: use max_mr from HCA caps than max_fmr All HCA drivers seems to popullate max_mr caps and few of them do both max_mr and max_fmr. Hence update RDS code to make use of max_mr. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 67161e250a28de5cdafa99a3b659b1e2e269fd7e Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sat Sep 19 17:21:22 2015 -0400 RDS: IB: mark rds_ib_fmr_wq static Fix below warning by marking rds_ib_fmr_wq static net/rds/ib_rdma.c:87:25: warning: symbol 'rds_ib_fmr_wq' was not declared. Should it be static? Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 26139dc1dbf79fd1ae1e2766a1f66b0728bd67b3 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Tue Sep 15 18:20:35 2015 -0700 RDS: IB: use already available pool handle from ibmr rds_ib_mr already keeps the pool handle which it associates with. Lets use that instead of round about way of fetching it from rds_ib_device. No functional change. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 2e1d6b813ac146db1e33ebb9b90441012dde4952 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sun Sep 13 22:34:37 2015 -0700 RDS: IB: fix the rds_ib_fmr_wq kick call RDS IB mr pool has its own workqueue 'rds_ib_fmr_wq', so we need to use queue_delayed_work() to kick the work. This was hurting the performance since pool maintenance was less often triggered from other path. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 9441c973e1e0e9885537a3a86020fe8e121e9a98 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sat Sep 19 14:01:09 2015 -0400 RDS: IB: handle rds_ibdev release case instead of crashing the kernel Just in case we are still handling the QP receive completion while the rds_ibdev is released, drop the connection instead of crashing the kernel. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 0c28c04500cf956c82d542c199f5bddabd590af3 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sun Sep 6 02:18:51 2015 -0400 RDS: IB: split send completion handling and do batch ack Similar to what we did with receive CQ completion handling, we split the transmit completion handler so that it lets us implement batched work completion handling. We re-use the cq_poll routine and makes use of RDS_IB_SEND_OP to identify the send vs receive completion event handler invocation. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit f4f943c958a2869b0601092857c1cf0e485d3ce8 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sun Sep 6 02:18:51 2015 -0400 RDS: IB: ack more receive completions to improve performance For better performance, we split the receive completion IRQ handler. That lets us acknowledge several WCE events in one call. We also limit the WC to max 32 to avoid latency. Acknowledging several completions in one call instead of several calls each time will provide better performance since less mutual exclusion locks are being performed. In next patch, send completion is also split which re-uses the poll_cq() and hence the code is moved to ib_cm.c Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit db6526dcb51b054961a2d96ba43dec23e38818b3 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Fri Sep 11 15:44:29 2015 -0700 RDS: use rds_send_xmit() state instead of RDS_LL_SEND_FULL In Transport indepedent rds_sendmsg(), we shouldn't make decisions based on RDS_LL_SEND_FULL which is used to manage the ring for RDMA based transports. We can safely issue rds_send_xmit() and the using its return value take decision on deferred work. This will also fix the scenario where at times we are seeing connections stuck with the LL_SEND_FULL bit getting set and never cleared. We kick krdsd after any time we see -ENOMEM or -EAGAIN from the ring allocation code. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 4bebdd7a4d2960b2ff6c40b27156d041ea270765 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Thu Sep 10 11:57:14 2015 -0700 RDS: defer the over_batch work to send worker Current process gives up if its send work over the batch limit. The work queue will get kicked to finish off any other requests. This fixes remainder condition from commit 443be0e5affe ("RDS: make sure not to loop forever inside rds_send_xmit"). The restart condition is only for the case where we reached to over_batch code for some other reason so just retrying again before giving up. While at it, make sure we use already available 'send_batch_count' parameter instead of magic value. The batch count threshold value of 1024 came via commit 443be0e5affe ("RDS: make sure not to loop forever inside rds_send_xmit"). The idea is to process as big a batch as we can but at the same time we don't hold other waiting processes for send. Hence back-off after the send_batch_count limit (1024) to avoid soft-lock ups. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 5f5cdc08231eb802ad3890ba3bd2ef272c21b924 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 16:59:50 2015 +0200 ARM: berlin: add a PWM node on the BG2CD This patch adds a PWM node in the Berlin BG2CD device tree, using the newly added Berlin PWM driver. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 8eaaaa6f9d09bd53440b60f8aec38fe0c6b3d88b Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 16:59:49 2015 +0200 ARM: berlin: add a PWM node on the BG2 This patch adds a PWM node in the Berlin BG2 device tree, using the newly added Berlin PWM driver. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 956d8217842938c4e614dc5e8b24d6a499ad547a Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 16:59:48 2015 +0200 ARM: berlin: add a PWM node on the BG2Q This patch adds a PWM node in the Berlin BG2Q device tree, using the newly added Berlin PWM driver. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 709641061457ee31ad9fed96798102c3326750f9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 13:50:42 2015 -0300 [media] lirc_dev.h: Make checkpatch happy Remove warnings about bad whitespacing at function struct parameters. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit be14c5cd592b6a268c825ca78ff7be758bab316d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 13:35:37 2015 -0300 [media] DocBook: Convert struct lirc_driver to doc-nano format The struct lirc_driver is already documented, but on some internal format. Convert it to Kernel doc-nano format and add documentation for some additional parameters that are also present at the structure. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 326ab27bbddf053e6b578fde312b5069aa55b2ab Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 13:08:34 2015 -0300 [media] DocBook: Document tveeprom.h This header declares the code and structures used to parse Hauppauge eeproms. As this is part of the V4L2 common, and used by several drivers, let's properly document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e5224f58e3efd74972f7dcf46264c3ba9aa807ba Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Tue Sep 29 16:41:43 2015 +0200 ASoC: ad193x: add support to ad1934 The AD1934 codec has no ADC feature. Hence it register mapping is slightly different from the register mapping of other members of the AD193x family. Some ASoC controls and widgets are related to the DAC feature so are not relevant in the case of an AD1934 codec. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c64c60763b4e3c72a3520c8d51be858cd67bacb5 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Sep 18 11:09:13 2015 +0800 ASoC: fsl_esai: Add driver suspend and resume to support MEGA Fast For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of modules during system suspend and resume procedure. Thus, ESAI needs to save all the values of registers before the system suspend and restore them after the system resume. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 05cf237972fe65eb537ea4f10e5627ceeb8f89b6 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Sep 18 11:09:12 2015 +0800 ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of modules during system suspend and resume procedure. Thus, SSI needs to save all the values of registers before the system suspend and restore them after the system resume. The register SFCSR is volatile, but some bits in it need to be recovered after suspend/resume. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f9f4fa61aab9417e40898cf6706fffa94005dc44 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Sep 18 11:09:11 2015 +0800 ASoC: fsl_spdif: Add driver suspend and resume to support MEGA Fast For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of modules during system suspend and resume procedure. Thus, SPDIF needs to save all the values of registers before the system suspend and restore them after the system resume. The SRPC register should be volatile, LOCK bit is set by the hardware. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1fde5e83a17acbcfcce27f68be46a6da4344efbd Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Sep 18 11:09:10 2015 +0800 ASoC: fsl_sai: Add driver suspend and resume to support MEGA Fast For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of modules during system suspend and resume procedure. Thus, SAI needs to save all the values of registers before the system suspend and restore them after the system resume. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 43ac946922b337507c4131c45bf339ddcd7e7402 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Sep 18 17:18:48 2015 +0800 ASoC: imx-spdif: add snd_soc_pm_ops for spdif machine driver Add snd_soc_pm_ops in machine driver to make the trigger suspend/resume be called in suspend/resume. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6dd3187447e710db23de81ed4877fc8f72e80411 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 12:56:16 2015 -0300 [media] tveeprom: Remove two unused fields from struct The digitizer* fields aren't used. Remove them. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5edfcee5ed73eb9537987c4ddb6bf062b6943b73 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 08:42:00 2015 +0200 mac80211: make ieee80211_new_mesh_header return unsigned The function returns always non-negative values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b1ce5b79aec8d8cd8bcd076d8cce8bc3cd690051 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Sep 23 19:16:01 2015 +0200 iommu/vt-d: Create RMRR mappings in newly allocated domains Currently the RMRR entries are created only at boot time. This means they will vanish when the domain allocated at boot time is destroyed. This patch makes sure that also newly allocated domains will get RMRR mappings. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d66ce54b4664a0d66429a4de996741581d71cf90 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Sep 23 19:00:10 2015 +0200 iommu/vt-d: Split iommu_prepare_identity_map Split the part of the function that fetches the domain out and put the rest into into a domain_prepare_identity_map, so that the code can also be used with when the domain is already known. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a29a9a585b2840a205f085a34dfd65c75e86f7c3 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Mon Oct 5 11:50:46 2015 +0900 netfilter: nfnetlink_log: allow to attach conntrack This patch enables to include the conntrack information together with the packet that is sent to user-space via NFLOG, then a user-space program can acquire NATed information by this NFULA_CT attribute. Including the conntrack information is optional, you can set it via NFULNL_CFG_F_CONNTRACK flag with the NFULA_CFG_FLAGS attribute like NFQUEUE. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 224a05975ebbbdf507c65043f8aba280ccb39e6e Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Mon Oct 5 11:49:56 2015 +0900 netfilter: ctnetlink: add const qualifier to nfnl_hook.get_ct get_ct as is and will not update its skb argument, and users of nfnl_ct_hook is currently only nfqueue, we can add const qualifier. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> commit 83f3e94d3477d79e603a1cf4c3e0c14da0f02688 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Mon Oct 5 11:48:47 2015 +0900 netfilter: Kconfig rename QUEUE_CT to GLUE_CT Conntrack information attaching infrastructure is now generic and update it's name to use `glue' in previous patch. This patch updates Kconfig symbol name and adding NF_CT_NETLINK dependency. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a4b4766c3cebb4018167e06b863d8e95b7274757 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Mon Oct 5 11:47:13 2015 +0900 netfilter: nfnetlink_queue: rename related to nfqueue attaching conntrack info The idea of this series of patch is to attach conntrack information to nflog like nfqueue has already done. nfqueue conntrack info attaching basis is generic, rename those names to generic one, glue. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 0647e708344f4bf8b9e3f1855361c597f93d084d Author: Flavio Leitner <fbl@xxxxxxxxxxxx> Date: Wed Sep 30 10:23:50 2015 -0300 netfilter: remove dead code Remove __nf_conntrack_find() from headers. Fixes: dcd93ed4cd1 ("netfilter: nf_conntrack: remove dead code") Signed-off-by: Flavio Leitner <fbl@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1d957d862ac782eaf5803d4d4cf167708e4dc147 Author: Maruthi Srinivas Bayyavarapu <Maruthi.Bayyavarapu@xxxxxxx> Date: Fri Sep 25 17:48:22 2015 -0400 ASoC: dwc: support dw i2s in slave mode dw i2s controller can work in slave mode, codec being master. dw i2s is made to support master/slave operation, by reading dwc register. Signed-off-by: Maruthi Bayyavarapu <maruthi.bayyavarapu@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 47fac2415db653a79e005d4fa25948d3667b8e02 Author: Misael Lopez Cruz <misael.lopez@xxxxxx> Date: Mon Sep 14 15:31:05 2015 +0300 dmaengine: omap-dma: Enable packed accesses for cyclic transfers The L3 throughput can be higher than expected when packed access is not enabled. The ratio depends on the number of bytes in a transaction and the EMIF interface width. The throughput was measured for the following settings/cases: * Case 1: Burst size of 64 bytes, packed access disabled * Case 2: Burst size of 64 bytes, packed access enabled * Case 3: Burst disabled, packed access disabled Throughput measurements were done during McASP-based audio playback on the Jacinto6 EVM using the omapconf tool [1]: $ omapconf trace bw -m sdma_rd --------------------------------------------------------- Throughput (MB/s) Audio parameters Case 1 Case 2 Case 3 --------------------------------------------------------- 44.1kHz, 16-bits, stereo 1.41 0.18 1.41 44.1kHz, 32-bits, stereo 1.41 0.35 1.41 44.1kHz, 16-bits, 4-chan 2.82 0.35 2.82 44.1kHz, 16-bits, 6-chan 4.23 0.53 4.23 44.1kHz, 16-bits, 8-chan 5.64 0.71 5.64 --------------------------------------------------------- From above measurements, case 2 is the only one that delivers the expected throughput for the given audio parameters. For that reason, the packed accesses are now enabled. It's worth to mention that packed accesses cannot be enabled for all addressing modes. In cyclic transfers, it can be enabled in the source for MEM_TO_DEV and in dest for DEV_TO_MEM, as they use post-increment mode which supports packed accesses. Peter Ujfalusi: From the TRM regarding to this: "NOTE: Except in the constant addressing mode, the source or destination must be specified as packed for burst transactions to occur." So w/o the packed setting the burst on the MEM side was not enabled, this explains the numbers. [1] https://github.com/omapconf/omapconf 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 b28b1e826f818c30ea732ba751bbecb202dd32a7 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun Oct 4 19:38:14 2015 +0200 netfilter: nfnetlink_queue: use y2038 safe timestamp The __build_packet_message function fills a nfulnl_msg_packet_timestamp structure that uses 64-bit seconds and is therefore y2038 safe, but it uses an intermediate 'struct timespec' which is not. This trivially changes the code to use 'struct timespec64' instead, to correct the result on 32-bit architectures. This is a copy and paste of Arnd's original patch for nfnetlink_log. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2b5b1a01a77f0e24b77680fce5245a582cb96330 Merge: 32f40c5 b59f2e3 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Oct 5 17:25:54 2015 +0200 Merge tag 'ipvs3-for-v4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next Simon Horman says: ==================== Third Round of IPVS Updates for v4.4 please consider this build fix from Eric Biederman which resolves a build problem introduced in is excellent work to cleanup IPVS which you recently pulled: its queued up for v4.4 so no need to worry about earlier kernel versions. I have another minor cleanup, to fix a build warning, pending. However, I wanted to send this one to you now as its hit nf-next, net-next and in turn next, and a slow trickle of bug reports are appearing. ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a04267fd87b62cd03d2a2ebb05a5b38d272e8d11 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Mon Oct 5 15:09:49 2015 +0100 ALSA: hdac: Fix to check if stream not in use in release if the stream is decoupled and both link and host are used, while releasing the stream, need to check if link and host stream are not in use. This patch adds fix to check if the host/link stream is in used before coupling it back when releasing the stream. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 88b19968a247117d3cbf0d405d004c7fc0e7a42c Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Mon Oct 5 15:09:48 2015 +0100 ALSA: hdac: Fix incorrect update of stream id mapping Bits in LOSIDV need to be set to map the stream id for specific link. Fixing this by setting the required bits in the register. 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 c2f4160b77f1e12b2c05f2253575617faf0c69d0 Merge: 6ff33f3 7e50711 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 5 16:17:08 2015 +0100 Merge tag 'ib-mfd-regulator-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into regulator-tps6105x Immutable branch between MFD and Regulator due for v4.3 commit f40eb916aae018e6133f338503eafdc0e80bec27 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 5 17:07:23 2015 +0200 regulator: max77802: Add input supply properties to DT binding doc The max77802 regulator driver defines the supply name for each regulator so these can be described in DT but is not mentioned in the binding doc. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4e929134eb8271abc9c52c371e056debfea6898b Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Mon Oct 5 15:10:04 2015 +0100 ASoC: da7219: Improve error handling for regulator supplies Currently if bulk_enable() of supplies fails, the code still goes on to try and put the device into active state, and set expected IO voltage of the device. This doesn't really make sense so code now returns on bulk_enable() failure, with an error message. Also, to help with debug, failure to get supplies also provides an error message. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5057f3262c52434fea9eda17494716b9649f25bd Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 11:37:15 2015 -0300 [media] DocBook: add documentation for tuner-types.h The tuner-types.h is part of the V4L2 core and should be touched for every new tuner added. So, it deserves to be documented at the device-drivers DocBook. Add it to device-drivers.tmpl and add descriptions for enum param_type and struct tuner_range. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a2c026cfec3fb84375785dd2d6ec80bd60c5120e Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Oct 5 19:34:16 2015 +0800 ASoC: rt5645: Prevent the weird sound of the headphone while rebooting The patch adds the codec reset setting in the shutdown function to prevent the weird sound of the headphone happened by rebooting. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f79683ded69aeb041ee9b814d7611f47b6a89881 Merge: 1f9c6e1 b8402d8 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Mon Oct 5 17:22:54 2015 +0300 Merge ath-next from ath.git Major changes in ath10k: * add spectral scan support for 10.4 firmware * add qca6164 support * implement mesh support using firmware raw mode commit 7118f19c4c7cc95ad1513729b83f9db789970152 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 30 14:39:46 2015 +0800 regulator: axp20x: set supply names for AXP22X DC1SW/DC5LDO internally The DC1SW and DC5LDO regulators in the AXP22X are internally chained to DCDC1 and DCDC5, hence the names. The original bindings used the parent regulator names for the supply regulator property. Since they are internally connected, the relationship should not be represented in the device tree, but handled internally by the driver. This patch has the driver remember the regulator names for the parent DCDC1/DCDC5, and use them as supply names for DC1SW/DC5LDO. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8a29f6c3da0b56fa20c94edde98f53a5582e71a3 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 30 14:39:45 2015 +0800 regulator: axp20x: Drop AXP221 DC1SW and DC5LDO regulator supplies from bindings The DC1SW and DC5LDO regulators in the AXP221 are internally chained to DCDC1 and DCDC5, hence the names. The original bindings used the parent regulator names for the supply regulator property. This causes some confusion when we actually use it in the dts: axp221 { /* self supplying? */ dcdc1-supply = <&dcdc1>; dcdc5-supply = <&dcdc5>; dcdc1: dcdc1 { ... }; dcdc5: dcdc5 { ... }; }; Since they are internally connected within the PMIC, their relationships should not be visible in the device tree. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0cdf5640e4f6940bdbbefee4bb0adb7dffb185ec Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Oct 2 18:42:00 2015 +0200 ebpf: include perf_event only where really needed Commit ea317b267e9d ("bpf: Add new bpf map type to store the pointer to struct perf_event") added perf_event.h to the main eBPF header, so it gets included for all users. perf_event.h is actually only needed from array map side, so lets sanitize this a bit. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4560cdff03a76348ee5fae48e3c7914e4de2db5b Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Fri Oct 2 17:06:47 2015 +0200 ARM: net: support BPF_ALU | BPF_MOD instructions in the BPF JIT. For ARMv7 with UDIV instruction support, generate an UDIV instruction followed by an MLS instruction. For other ARM variants, generate code calling a C wrapper similar to the jit_udiv() function used for BPF_ALU | BPF_DIV instructions. Some performance numbers reported by the test_bpf module (the duration per filter run is reported in nanoseconds, between "jitted:<x>" and "PASS": ARMv7 QEMU nojit: test_bpf: #3 DIV_MOD_KX jited:0 2196 PASS ARMv7 QEMU jit: test_bpf: #3 DIV_MOD_KX jited:1 104 PASS ARMv5 QEMU nojit: test_bpf: #3 DIV_MOD_KX jited:0 2176 PASS ARMv5 QEMU jit: test_bpf: #3 DIV_MOD_KX jited:1 1104 PASS ARMv5 kirkwood nojit: test_bpf: #3 DIV_MOD_KX jited:0 1103 PASS ARMv5 kirkwood jit: test_bpf: #3 DIV_MOD_KX jited:1 311 PASS Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df7b6015421babdf0fe7c0061dcc0bddf8ebab09 Merge: bab1899 6a57081 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 06:58:51 2015 -0700 Merge branch 'asix-rx-mem-handling' Mark Craske says: ==================== Improve ASIX RX memory allocation error handling The ASIX RX handler algorithm is weak on error handling. There is a design flaw in the ASIX RX handler algorithm because the implementation for handling RX Ethernet frames for the DUB-E100 C1 can have Ethernet frames spanning multiple URBs. This means that payload data from more than 1 URB is sometimes needed to fill the socket buffer with a complete Ethernet frame. When the URB with the start of an Ethernet frame is received then an attempt is made to allocate a socket buffer. If the memory allocation fails then the algorithm sets the buffer pointer member to NULL and the function exits (no crash yet). Subsequently, the RX hander is called again to process the next URB which assumes there is a socket buffer available and the kernel crashes when there is no buffer. This patchset implements an improvement to the RX handling algorithm to avoid a crash when no memory is available for the socket buffer. The patchset will apply cleanly to the net-next master branch but the created kernel has not been tested. The driver was tested on ARM kernels v3.8 and v3.14 for a commercial product. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a570814cd430fa5ef4f278e8046dcf12ee63f13 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri Oct 2 14:29:08 2015 +0100 asix: Continue processing URB if no RX netdev buffer Avoid a loss of synchronisation of the Ethernet Data header 32-bit word due to a failure to get a netdev socket buffer. The ASIX RX handling algorithm returned 0 upon a failure to get an allocation of a netdev socket buffer. This causes the URB processing to stop which potentially causes a loss of synchronisation with the Ethernet Data header 32-bit word. Therefore, subsequent processing of URBs may be rejected due to a loss of synchronisation. This may cause additional good Ethernet frames to be discarded along with outputting of synchronisation error messages. Implement a solution which checks whether a netdev socket buffer has been allocated before trying to copy the Ethernet frame into the netdev socket buffer. But continue to process the URB so that synchronisation is maintained. Therefore, only a single Ethernet frame is discarded when no netdev socket buffer is available. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Mark Craske <Mark_Craske@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f30b158eba5c604b6e0870027eef5d19fc9271d Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri Oct 2 14:29:07 2015 +0100 asix: On RX avoid creating bad Ethernet frames When RX Ethernet frames span multiple URB socket buffers, the data stream may suffer a discontinuity which will cause the current Ethernet frame in the netdev socket buffer to be incomplete. This frame needs to be discarded instead of appending unrelated data from the current URB socket buffer to the Ethernet frame in the netdev socket buffer. This avoids creating a corrupted Ethernet frame in the netdev socket buffer. A discontinuity can occur when the previous URB socket buffer held an incomplete Ethernet frame due to truncation or a URB socket buffer containing the end of the Ethernet frame was missing. Therefore, add a sanity test for when an Ethernet frame spans multiple URB socket buffers to check that the remaining bytes of the currently received Ethernet frame point to a good Data header 32-bit word of the next Ethernet frame. Upon error, reset the remaining bytes variable to zero and discard the current netdev socket buffer. Assume that the Data header is located at the start of the current socket buffer and attempt to process the next Ethernet frame from there. This avoids unnecessarily discarding a good URB socket buffer that contains a new Ethernet frame. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Mark Craske <Mark_Craske@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a5ccd8e039eef53336e45d01c7d8a1acbd36b47 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri Oct 2 14:29:06 2015 +0100 asix: Simplify asix_rx_fixup_internal() netdev alloc The code is checking that the Ethernet frame will fit into a netdev allocated socket buffer within the constraints of MTU size, Ethernet header length plus VLAN header length. The original code was checking rx->remaining each loop of the while loop that processes multiple Ethernet frames per URB and/or Ethernet frames that span across URBs. rx->remaining decreases per while loop so there is no point in potentially checking multiple times that the Ethernet frame (remaining part) will fit into the netdev socket buffer. The modification checks that the size of the Ethernet frame will fit the netdev socket buffer before allocating the netdev socket buffer. This avoids grabbing memory and then deciding that the Ethernet frame is too big and then freeing the memory. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Mark Craske <Mark_Craske@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bfc69abf802f56901ffd83bb66b7dd7644ddcc3 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri Oct 2 14:29:05 2015 +0100 asix: Tidy-up 32-bit header word synchronisation Tidy-up the Data header 32-bit word synchronisation logic in asix_rx_fixup_internal() by removing redundant logic tests. The code is looking at the following cases of the Data header 32-bit word that is present before each Ethernet frame: a) all 32 bits of the Data header word are in the URB socket buffer b) first 16 bits of the Data header word are at the end of the URB socket buffer c) last 16 bits of the Data header word are at the start of the URB socket buffer eg. split_head = true Note that the lifetime of rx->split_head exists outside of the function call and is accessed per processing of each URB. Therefore, split_head being true acts on the next URB to be processed. To check for b) the offset will be 16 bits (2 bytes) from the end of the buffer then indicate split_head is true. To check for c) split_head must be true because the first 16 bits have been found. To check for a) else c) Note that the || logic of the old code included the state (skb->len - offset == sizeof(u16) && rx->split_head) which is not possible because the split_head cannot be true whilst checking for b). This is because the split_head indicates that the first 16 bits have been found and that is not possible whilst checking for the first 16 bits. Therefore simplify the logic. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Mark Craske <Mark_Craske@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b0378f517fa1a32b5c8384248d2f8bf79c7c2ae Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri Oct 2 14:29:04 2015 +0100 asix: Rename remaining and size for clarity The Data header synchronisation is easier to understand if the variables "remaining" and "size" are renamed. Therefore, the lifetime of the "remaining" variable exists outside of asix_rx_fixup_internal() and is used to indicate any remaining pending bytes of the Ethernet frame that need to be obtained from the next socket buffer. This allows an Ethernet frame to span across multiple socket buffers. "size" is now local to asix_rx_fixup_internal() and contains the size read from the Data header 32-bit word. Add "copy_length" to hold the number of the Ethernet frame bytes (maybe a part of a full frame) that are to be copied out of the socket buffer. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Mark Craske <Mark_Craske@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0037686596832572bbca05ab168d9884d7d704c1 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Tue Sep 29 23:15:53 2015 +0200 spi: bitbang: switch to the generic implementation of transfer_one_message Change the bitbang driver to use the generic implementation of transfer_one_message. This simplifies the bitbang driver code and provides benefits like the statistics in the generic implementation. Successfully tested on a IMX6-based system (spi-imx) and on a MIPS-based router (OpenWRT with spi-ath79). Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e30d8f23926b70a003d9fb16b49bfe23f01269da Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Tue Sep 29 23:09:33 2015 +0200 spi: bitbang: remove unneeded check Remove an unneeded check. The SPI core (__spi_validate) takes care that these fields are always populated. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bab18991871545dfbd10c931eb0fe8f7637156a9 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Oct 2 15:17:33 2015 +0200 bpf, seccomp: prepare for upcoming criu support The current ongoing effort to dump existing cBPF seccomp filters back to user space requires to hold the pre-transformed instructions like we do in case of socket filters from sk_attach_filter() side, so they can be reloaded in original form at a later point in time by utilities such as criu. To prepare for this, simply extend the bpf_prog_create_from_user() API to hold a flag that tells whether we should store the original or not. Also, fanout filters could make use of that in future for things like diag. While fanout filters already use bpf_prog_destroy(), move seccomp over to them as well to handle original programs when present. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Tested-by: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65fc64090ed3dc750d40474b07a6f8ad734440cc Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 10:24:59 2015 -0300 [media] DocBook: convert struct tuner_parms to doc-nano format The struct tuner_params is almost fully documented, but using a non-standard way. Convert it to doc-nano format, and add descriptions for the parameters that aren't documented yet. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0a15afd2eaceceff5be4c8b7166f01c1a68e9642 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Oct 1 15:21:08 2015 -0700 vrf: fix a kernel warning This fixes: tried to remove device ip6gre0 from (null) ------------[ cut here ]------------ kernel BUG at net/core/dev.c:5219! invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC CPU: 3 PID: 161 Comm: kworker/u8:2 Not tainted 4.3.0-rc2+ #1142 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Workqueue: netns cleanup_net task: ffff8800d784a9c0 ti: ffff8800d74a4000 task.ti: ffff8800d74a4000 RIP: 0010:[<ffffffff817f0797>] [<ffffffff817f0797>] __netdev_adjacent_dev_remove+0x40/0xec RSP: 0018:ffff8800d74a7a98 EFLAGS: 00010282 RAX: 000000000000002a RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff88011adcf701 RSI: ffff88011adccbf8 RDI: ffff88011adccbf8 RBP: ffff8800d74a7ab8 R08: 0000000000000001 R09: 0000000000000000 R10: ffffffff81d190ff R11: 00000000ffffffff R12: ffff8800d599e7c0 R13: 0000000000000000 R14: ffff8800d599e890 R15: ffffffff82385e00 FS: 0000000000000000(0000) GS:ffff88011ac00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007ffd6f003000 CR3: 000000000220c000 CR4: 00000000000006e0 Stack: 0000000000000000 ffff8800d599e7c0 0000000000000b00 ffff8800d599e8a0 ffff8800d74a7ad8 ffffffff817f0861 0000000000000000 ffff8800d599e7c0 ffff8800d74a7af8 ffffffff817f088f 0000000000000000 ffff8800d599e7c0 Call Trace: [<ffffffff817f0861>] __netdev_adjacent_dev_unlink+0x1e/0x35 [<ffffffff817f088f>] __netdev_adjacent_dev_unlink_neighbour+0x17/0x41 [<ffffffff817f56e6>] netdev_upper_dev_unlink+0x6c/0x13d [<ffffffff81674a3d>] vrf_del_slave+0x26/0x7d [<ffffffff81674ac3>] vrf_device_event+0x2f/0x34 [<ffffffff81098c40>] notifier_call_chain+0x75/0x9c [<ffffffff81098fa2>] raw_notifier_call_chain+0x14/0x16 [<ffffffff817ee129>] call_netdevice_notifiers_info+0x52/0x59 [<ffffffff817f179d>] call_netdevice_notifiers+0x13/0x15 [<ffffffff817f6f18>] rollback_registered_many+0x14f/0x24f [<ffffffff817f70f2>] unregister_netdevice_many+0x19/0x64 [<ffffffff819a2455>] ip6gre_exit_net+0x163/0x177 [<ffffffff817eb019>] ops_exit_list+0x44/0x55 [<ffffffff817ebcb7>] cleanup_net+0x193/0x226 [<ffffffff81091e1c>] process_one_work+0x26c/0x4d8 [<ffffffff81091d20>] ? process_one_work+0x170/0x4d8 [<ffffffff81092296>] worker_thread+0x1df/0x2c2 [<ffffffff810920b7>] ? process_scheduled_works+0x2f/0x2f [<ffffffff810920b7>] ? process_scheduled_works+0x2f/0x2f [<ffffffff81097a20>] kthread+0xd4/0xdc [<ffffffff810bc523>] ? trace_hardirqs_on_caller+0x17d/0x199 [<ffffffff8109794c>] ? __kthread_parkme+0x83/0x83 [<ffffffff81a5240f>] ret_from_fork+0x3f/0x70 [<ffffffff8109794c>] ? __kthread_parkme+0x83/0x83 Fixes: 93a7e7e837af ("net: Remove the now unused vrf_ptr") Cc: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14152c8d30bbe5155d0438feb0a1931aee0e5bce Author: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Date: Thu Oct 1 10:00:58 2015 +0300 drm: Use DRM_ROTATE_MASK and DRM_REFLECT_MASK Avoid magic numbers and use the introduced defines. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6220907089cc3eb4ab2fa7073bbf617b019666c5 Author: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Date: Thu Oct 1 10:00:57 2015 +0300 drm: Add DRM_ROTATE_MASK and DRM_REFLECT_MASK Makes it cleaner to separate the two from rotation variable. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 67673dce9a9c765f38ba103b11e948488342f230 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 16:59:46 2015 +0200 pwm: Add Berlin PWM controller DT binding Add DT binding documentation for the Berlin PWM controller. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 62e93f090b0903def1d7455c311c50b9e6f38ef2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 09:54:23 2015 -0300 [media] tuner.h: Make checkpatch.pl happier Remove some bad whitespaces before tabs and fix the initial comment to be compliant with Kernel coding style. Now, the only complains are about long comment lines at the defines. Those warnings should be ok to be kept. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a2f1a680115c527972ead1b89de4a31176d3c2c6 Author: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Date: Sun Oct 4 21:58:48 2015 +0300 ARM: dts: sun4i: Add AXP209 PMU regulators for pcDuino1/2 This allows voltage-scaling with cpufreq-dt. The reliability of voltage-scaling has been checked by reducing the voltage of all operating points by 0.025V (for extra safety headroom) and running libjpeg-turbo decoding tests on 5 pcDuino2 boards. It means that the standard sun4i voltages should be perfectly fine too. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 07c68a7423c4e44cc4f85caa83bb7fae36367250 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 09:50:36 2015 -0300 [media] DocBook: Document include/media/tuner.h This is part of the V4L2 core, so its kABI should be documented at device-drivers DocBook. Add the meta-tags for that. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7111c6c672fc8714c5092952a24df6694d46d71f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Aug 30 23:34:25 2015 +0200 backlight: adp8870: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and also "adp8870-backlight" is not a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit da601ebc70f3b2d3a5c9b6f9f41e519abe76f47e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Aug 30 23:34:24 2015 +0200 backlight: adp8860: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and also "adp8860-backlight" is not a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9f7898f3ca71744ef834048dc78ad4a21db4ac64 Author: Werner Johansson <werner.johansson@xxxxxxxxxxxxxx> Date: Thu Aug 27 10:41:15 2015 -0700 backlight: lp855x: Make sure props struct is zeroed The driver occasionally got stuck in suspend mode or other strange states as those parts of the props struct were never initialized. Signed-off-by: Werner Johansson <werner.johansson@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit efe98010b80ec4516b2779e1b4e4a8ce16bf89fe Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 09:12:56 2015 -0300 [media] DocBook: Fix remaining issues with VB2 core documentation Right now, "private:" tag should be lower-case, otherwise the scripts/kernel-doc won't do the right thing. Also, no fields after "private:" should be documented. As we don't want to strip the documentation, let's untag. This way, it will be seen only at the file, and not at the DocBooks. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0316d30ea3e66379cd30ed70a114bc282159bb4c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri May 22 13:41:07 2015 +0200 iwlwifi: mvm: add minimal multi-RXQ infrastructure Since the new multi-queue capability depends on a new firmware API, we can already add some code for it. If the new API is present, a new opmode ops struct is used that handles the new rx_rss method. For now, only restructure the RX handling to distinguish between the two. Future patches will convert the new infrastructure to actually use the new RX descriptor layout. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit d3f555f493b037eb688adda6d8a682e9b69211ed Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 16 12:21:32 2015 +0200 iwlwifi: size firmware flags memory correctly Instead of relying on a hard-coded constant of a maximum of 64 API and capability bits, add a new enum value after the others that will then always track the number of used bits in the API/capabilities. We thus no longer need to maintain the maximum number, and on 32-bit platforms even (currently) reduce the number of bits kept in memory. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit fe96cc73c9f405a0bdc90504048235dfd0384582 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 24 22:19:43 2015 +0200 iwlwifi: mvm: make threshold temperatures unsigned There's no need to have negative threshold temperatures, so make them unsigned to avoid signedness warnings in debugfs. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 91fac940896b345d10e503ed7e1f54f85b3b9318 Author: Moshe Harel <moshe.harel@xxxxxxxxx> Date: Wed Sep 2 12:45:12 2015 +0300 iwlwifi: nvm: add nvm phy_sku section to debugfs The only NVM section not captured in debugfs. Signed-off-by: Moshe Harel <moshe.harel@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit e6c21be665cab08325ee1f99e76497b5ffa924a9 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 24 22:15:02 2015 +0200 iwlwifi: mvm: fix signedness warnings in ToF debugfs Using an int* instead of u32* as the kstrtou32() output argument obviously results in signedness warnings, change that. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 1191f646bb913feba4239a7ca45e5edb09324869 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Sep 19 23:48:45 2015 +0300 iwlwifi: mvm: rs: dynamically switch between 80MHz and 20MHz in some scenarios This is a tweak which has been shown to improve performance when moving away from the AP while working in 80Mhz. When RS decides to go down to 80MHz SISO MCS0 instead switch to 20MHz MCS4. Go back to 80MHz MCS1 if RS can sustain 20MHz MCS5. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 7c0ebd7870ce212d370a97d3d8ff5129edcc2323 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 22 12:28:42 2015 +0200 iwlwifi: mvm: minor rx code cleanup Clean up variable initialisation slightly. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 5736b7eba362ee304335808325ad60e2249ac670 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 22 10:51:17 2015 +0200 iwlwifi: remove IWL3165_UCODE_API_OK and _MIN As the 3165 device uses the same firmware as 7265-D and currently all 7000 series (including 3160/3165) use the same API versions remove IWL3165_UCODE_API_OK and _MIN. We might have to put them back if firmware support ever splits, but in that case might also have to add a different MODULE_FIRMWARE statement. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit ed21a384bbd2b011289dd1b5cab7eebc7ebeda11 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Sep 21 20:03:22 2015 +0300 iwlwifi: mvm: rs: fix success ratio comparison in rs_get_best_rate success_ratio is actually 128 * SR in percentage while IWL_MVM_RS_SR_NO_DECREASE is 85%. Fix this by using RS_PERCENT(). This bug caused the if branch to be always executed. This in turn led to always selecting a rate, following a column switch, in which the expected throughput would exceed the best expected current throughput. In some scenarios where the success ratio isn't >85% such a rate could be too aggressive leading us to avoid the new column. This has the potential of causing sub optimal performance. Reported-by: Moshe Harel <moshe.harel@xxxxxxxxx> Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 40ce5ed1e9d5c80819733c4fdc40a2b6c531d981 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Sep 19 23:54:38 2015 +0300 iwlwifi: mvm: rs: minor indentation fix Indentation was off a bit. Fix it. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit dfa1325a0865da0509f045ddc4c99b8653517f6b Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Sep 19 23:46:32 2015 +0300 iwlwifi: mvm: rs: remove overflowing debug message This message isn't very useful and creates clutter. Remove it. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit cc60c6e92907d7d1380353b46d7db9826a3622f2 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Sep 19 23:37:45 2015 +0300 iwlwifi: mvm: rs: improve rate debug messages Pretty print the rate full details to ease debugging. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit ceef91c89480dd18bb3ac51e91280a233d0ca41f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 4 11:27:25 2015 +0200 iwlwifi: mvm: stop using DEVICE_POWER_FLAGS_CAM_MSK The firmware has always treated these two bits to mean that powersave is enabled when POWER_SAVE_ENA is set and CAM is clear; it doesn't use them in any non-combined way. Therefore, it's pointless to send it two bits, and the API should be cleaned up. Prepare the driver by removing the CAM bit and using only POWER_SAVE_ENA to indicate whether PS is enabled or not. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 5c1156efebc6b76b4a7daec844c19d2ce1d7bb03 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Wed Jul 22 17:59:53 2015 +0300 iwlwifi: mvm: support enabling a queue with a given ssn When enabling a queue, the default SSN is 0. Allow determining what that SSN should be, if required. This can happen, for example, if a queue gets reconfigured. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 4ecafae9e56802575c3b0c45ecf3dedecd3fd9e3 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Tue Jul 14 13:36:18 2015 +0300 iwlwifi: mvm: support using multiple ACs on single HW queue "DQA" is shorthand for "dynamic queue allocation", with the idea of allocating queues per-RA/TID on-demand rather than using shared queues statically allocated per vif. The goal of this is to enable future features (like GO PM) and to improve performance measurements of TX traffic. When RA/TID streams can't be neatly sorted into different AC queues, DQA allows sharing queues for the same RA. This means that DQA allows different ACs may reach the same HW queue. Update the code to allow such queue sharing by having a mapping between the HW queue and the mac80211 queues using it (as this could be more than one queue). Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 56882e6cab432508c79b350d7842af3abac9c7d3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri May 22 11:33:12 2015 +0200 iwlwifi: transport: track number of allocated queues As the transport will decide how many queues (and MSI-X vectors) to allocate, add a field to indicate that to the op-mode so it can size/allocate its own data structures appropriately. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit a190430c5eeaff1b3a0cfc05d3572650b3bd3beb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri May 22 10:52:26 2015 +0200 iwlwifi: op-mode API: add rx_rss method Upcoming hardware will have the ability to do L3 hashing for RSS, directing data packets (and perhaps some associated metadata and management notifications) to different MSI-X vectors. In this case, it makes no sense to go through the full RX dispatch since it's already known that only a subset of the possibilities can come in, requiring a new receive method. In addition this must know which queue the packet was received on. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 1939089300cb4709dec2b268db649adfdefdb7bc Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 3 14:53:09 2015 +0200 iwlwifi: mvm: remove PHY RX from handlers Treat PHY RX specially, since it's actually pretty frequent, doesn't need all the notication etc. code, and will have a different handler in future hardware. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 5ac15be8fa5193206f5c47172a63cf83bec91f66 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Sep 16 11:47:14 2015 +0300 iwlwifi: mvm: Improve debugfs tof robustness Return a proper error when wrong parameters are passed to debugfs tof_range_request. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 9ef2b8befb5acf499ac60e2a18dfa3e41194ba6e Author: Gregory Greenman <gregory.greenman@xxxxxxxxx> Date: Mon Jul 20 07:44:44 2015 +0300 iwlwifi: mvm: ToF - fill bssid of responder configuration The command needs to have the AP interfaces BSSID (which corresponds to its address). Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 3e0fa50575dbc83e57ceee7c413ff9b4e09a9a80 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Sep 16 11:44:55 2015 +0300 iwlwifi: mvm: Fix tof debugfs formats (dec vs. hex) Make some input formats more natural, e.g. bandwidth and periods are more natural in decimal than in hexadecimal. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 78856ac0dd33036ae08a18b644e9fa40b30ee011 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Oct 5 13:07:47 2015 +0200 Revert "gpio-sysfs: Use gpio descriptor name instead of gpiochip names array" This reverts commit ddd5404007b8496f20ad2efe1147e102e6226634. We need to preserve only using this naming strategy for names coming from chip->names[], the descripor->name field is for the new interface. commit 9886ce2b9d4e5a8bb3d78d0f7eff3c0f1ed58d67 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 1 20:26:20 2015 +0800 net: encx24j600_exit() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04fbfce7a222327b97ca165294ef19f0faa45960 Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Thu Oct 1 07:43:21 2015 -0400 net: Microchip encx24j600 driver This ethernet driver supports the Micorchip enc424j600/626j600 Ethernet controller over a SPI bus interface. This driver makes use of the regmap API to optimize access to registers by caching registers where possible. Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/39935b.pdf Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7741c373cf3ea1f5383fa97fb7a640a429d3dd7c Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Thu Oct 1 07:43:20 2015 -0400 regmap: Allow installing custom reg_update_bits function This commit allows installing a custom reg_update_bits function for cases where the hardware provides a mechanism to set or clear register bits without a read/modify/write cycle. Such is the case with the Microchip ENCX24J600. Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 937317c7c1097aa878a5000e3aab616eb5c590c0 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Thu Oct 1 14:18:47 2015 +0530 enic: do hang reset only in case of tx timeout The current code invokes hang reset in case of error interrupt. We should hang reset only in case of tx timeout. This because of the way hang reset is implemented in firmware. Hang reset takes more firmware resources than soft reset. Adaptor does not generate error interrupt in case of tx timeout. Hang reset only in case of tx timeout, in .ndo_tx_timeout. Do soft reset otherwise. Introduce deferred work, enic_tx_hang_reset, to do hang reset. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc809237e1f215141165f221ad729803d88bcbbe Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Thu Oct 1 14:18:46 2015 +0530 enic: handle spurious error interrupt Some of the enic adaptors are know to generate spurious interrupts. When error interrupt is generated, driver just resets the device. This patch resets the device only when an error is occurred. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2905f5bb1cad66a37d142c4370d23d9e9632368e Merge: 40e1068 8541225 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:48:45 2015 -0700 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== cxgb4: Trivial fixes for cxgb4 Fixes the following issues Don't read non existent T4/T5/T6 adapter registers for ethtool dump. For T4, dont read mailbox control registers. Adds new devlog faility and report correct link speed for unsupported ones. 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. ==================== Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85412255ef4fcccf52e0408d61cf8a75828a6800 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 1 13:48:48 2015 +0530 cxgb4: Report correct link speed for unsupported ones When we get garbage from the firmware with weird Port Speeds, etc. we should emit a warning regarding unsupported speeds rather than use the bogus default of "10Mbps" which isn't even an option in the firmware Port Information message Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da4976e17bff3bb7538090c36750b9875da67b5e Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 1 13:48:47 2015 +0530 cxgb4: Adds a new Device Log Facility FW_DEVLOG_FACILITY_CF The firmware team added a new Device Log Facility FW_DEVLOG_FACILITY_CF, but the driver has been decoding Device Log messages with that Facility as "(NULL)", fixing it. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3695540ba5d8cf032f30533d53786b31af271f5 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 1 13:48:46 2015 +0530 cxgb4: For T4, don't read the Firmware Mailbox Control register T4 doesn't have the Shadow copy of the register which we can read without side effect. So don't read mbox control register for T4 adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8119c018000bcc2d56e74f5459b7ff1902f96ff8 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 1 13:48:45 2015 +0530 cxgb4 : Update T4/T5/T6 register ranges Update T4/T5/T6 adapter register ranges so that it doesn't read non existent registers when dumped using ethtool Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40e106801e3b6629ec8026ab80985902d180502e Merge: 7e2832f b1842ff Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:39:31 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/net-next Eric W. Biederman says: ==================== net: Pass net through ip fragmention This is the next installment of my work to pass struct net through the output path so the code does not need to guess how to figure out which network namespace it is in, and ultimately routes can have output devices in another network namespace. This round focuses on passing net through ip fragmentation which we seem to call from about everywhere. That is the main ip output paths, the bridge netfilter code, and openvswitch. This has to happend at once accross the tree as function pointers are involved. First some prep work is done, then ipv4 and ipv6 are converted and then temporary helper functions are removed. ==================== Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e2832f17f9bec41643d420d55efd96b09d1fb45 Merge: 393159e 76b29ef Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:34:59 2015 -0700 Merge branch 'rds-perf' Sowmini Varadhan says: ==================== RDS: RDS-TCP perf enhancements A 3-part patchset that (a) improves current RDS-TCP perf by 2X-3X and (b) refactors earlier robustness code for better observability/scaling. Patch 1 is an enhancment of earlier robustness fixes that had used separate sockets for client and server endpoints to resolve race conditions. It is possible to have an equivalent solution that does not use 2 sockets. The benefit of a single socket solution is that it results in more predictable and observable behavior for the underlying TCP pipe of an RDS connection Patches 2 and 3 are simple, straightforward perf bug fixes that align the RDS TCP socket with other parts of the kernel stack. v2: fix kbuild-test-robot warnings, comments from Sergei Shtylov and Santosh Shilimkar. ==================== Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76b29ef120f5b845f862de08b92c7d2317b50907 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Sep 30 16:54:09 2015 -0400 RDS-TCP: Set up MSG_MORE and MSG_SENDPAGE_NOTLAST as appropriate in rds_tcp_xmit For the same reasons as commit 2f5338442425 ("tcp: allow splice() to build full TSO packets") and commit 35f9c09fe9c7 ("tcp: tcp_sendpages() should call tcp_push() once"), rds_tcp_xmit may have multiple pages to send, so use the MSG_MORE and MSG_SENDPAGE_NOTLAST as hints to tcp_sendpage() Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1edd6a14d24f21b8b478970c63a243a08e2b55b0 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Sep 30 16:54:08 2015 -0400 RDS-TCP: Do not bloat sndbuf/rcvbuf in rds_tcp_tune Using the value of RDS_TCP_DEFAULT_BUFSIZE (128K) clobbers efficient use of TSO because it inflates the size_goal that is computed in tcp_sendmsg/tcp_sendpage and skews packet latency, and the default values for these parameters actually results in significantly better performance. In request-response tests using rds-stress with a packet size of 100K with 16 threads (test parameters -q 100000 -a 256 -t16 -d16) between a single pair of IP addresses achieves a throughput of 6-8 Gbps. Without this patch, throughput maxes at 2-3 Gbps under equivalent conditions on these platforms. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b20fc389705a4c959adebc494578cb99bb8be9e Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Sep 30 16:54:07 2015 -0400 RDS: Use a single TCP socket for both send and receive. Commit f711a6ae062c ("net/rds: RDS-TCP: Always create a new rds_sock for an incoming connection.") modified rds-tcp so that an incoming SYN would ignore an existing "client" TCP connection which had the local port set to the transient port. The motivation for ignoring the existing "client" connection in f711a6ae was to avoid race conditions and an endless duel of reconnect attempts triggered by a restart/abort of one of the nodes in the TCP connection. However, having separate sockets for active and passive sides is avoidable, and the simpler model of a single TCP socket for both send and receives of all RDS connections associated with that tcp socket makes for easier observability. We avoid the race conditions from f711a6ae by attempting reconnects in rds_conn_shutdown if, and only if, the (new) c_outgoing bit is set for RDS_TRANS_TCP. The c_outgoing bit is initialized in __rds_conn_create(). A side-effect of re-using the client rds_connection for an incoming SYN is the potential of encountering duelling SYNs, i.e., we have an outgoing RDS_CONN_CONNECTING socket when we get the incoming SYN. The logic to arbitrate this criss-crossing SYN exchange in rds_tcp_accept_one() has been modified to emulate the BGP state machine: the smaller IP address should back off from the connection attempt. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb2d3883c6033831e2a93b396fcc43033108409c Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:26:14 2015 +0300 powerpc/msi: Free the bitmap if it was slab allocated During the MSI bitmap test on boot kmemleak spews the following trace: unreferenced object 0xc00000016e86c900 (size 64): comm "swapper/0", pid 1, jiffies 4294893173 (age 518.024s) hex dump (first 32 bytes): 00 00 01 ff 7f ff 7f 37 00 00 00 00 00 00 00 00 .......7........ ff ff ff ff ff ff ff ff 01 ff ff ff ff ff ff ff ................ backtrace: [<c00000000003eebc>] .zalloc_maybe_bootmem+0x3c/0x380 [<c000000000042d6c>] .msi_bitmap_alloc+0x3c/0xb0 [<c000000000a9aff8>] .msi_bitmap_selftest+0x30/0x2b4 [<c0000000000090f4>] .do_one_initcall+0xd4/0x270 [<c000000000a8e250>] .kernel_init_freeable+0x1a0/0x280 [<c000000000009b5c>] .kernel_init+0x1c/0x120 [<c000000000007fbc>] .ret_from_kernel_thread+0x58/0x9c Add a flag to msi_bitmap for tracking allocations from slab and memblock so we can properly free/handle memory in msi_bitmap_free(). Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> [mpe: Reword changelog & use bitmap_from_slab in the if] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 393159e917242c39a5c07173914a0e2a2367ee69 Merge: ac8cfc7 5078984 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:23:40 2015 -0700 Merge branch 'xgbe-next' Tom Lendacky says: ==================== amd-xgbe: AMD XGBE driver updates 2015-09-30 The following patches are included in this driver update series: - Remove unneeded semi-colon - Follow the DT/ACPI precedence used by the device_ APIs - Add ethtool support for getting and setting the msglevel - Add ethtool support error and debug messages - Simplify the hardware FIFO assignment calculations - Add receive buffer unavailable statistic - Use the device workqueue instead of the system workqueue - Remove the use of a link state bit This patch series is based on net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50789845cfc37d5331b56e1a566ddc95aeac0a7d Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:53:22 2015 -0500 amd-xgbe: Remove the XGBE_LINK state bit The XGBE_LINK bit is used just to determine whether to call the netif_carrier_on/off functions. Rather than define and use this bit, just call the functions. The netif_carrier_ok function can be used in place of checking the XGBE_LINK bit in the future. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afb43e8a0af18fa959e9ef09abfa969c3c83f4ef Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:53:16 2015 -0500 amd-xgbe: Use device workqueue instead of system workqueue The driver creates, flushes and destroys a device workqueue but queues work to the system workqueue. Switch from using the system workqueue to the device workqueue. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72c9ac4e1f4faf1f4e7252319ab8af2517891ae5 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:53:10 2015 -0500 amd-xgbe: Add receive buffer unavailable statistic Add a statistic that tracks how many times an interrupt is generated for a receive buffer not being available to the hardware which prevents the hardware from being able to DMA the received data. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c439e4b730f0d519821527afd697e6af99a67ab Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:53:03 2015 -0500 amd-xgbe: Simplify calculation and setting of queue fifos The calculation of the Tx and Rx fifo sizes can be calculated rather than hardcoded in a switch statement. Additionally, the per-queue fifo sizes can be calculated rather than hardcoded using if/else if statements that can possibly underutilize the available fifo area. Change the code to calculate the fifo sizes and the per-queue fifo sizes to simplify the code and make best use of the available fifo. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5dd8b81107881f8928378a38f6e47aa2da62c37 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:52:57 2015 -0500 amd-xgbe: Add ethtool error and debug messages Add error and dynamic debug messages to various ethtool functions in the driver while also removing the DBGPR debug print calls. Also, change the message level for some error messages from alert to err. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 349fb2d7008caa752919e394fb202545b5f72c67 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:52:51 2015 -0500 amd-xgbe: Add ethtool support for setting the msglevel Provide the ethtool functions to support getting and setting the msglevel for the driver. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47f2e6c27553d9a164bb0067f4c1f9bbba388c2e Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:52:45 2015 -0500 amd-xgbe: Use proper DT / ACPI precedence checking Device tree presence takes precedence over ACPI in the device_* APIs. The amd-xgbe driver should follow the same precedence. Update the check on whether to use DT / ACPI to follow this. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3947d78a547845fa5a129a39ce0abac2352f7a3a Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:52:38 2015 -0500 amd-xgbe: Remove an unneeded semicolon on a switch statement Remove an unneeded semicolon at the end of a switch statement block. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac8cfc7bb836835bd68c3ab9da242747e9df9542 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 30 06:18:23 2015 -0700 tcp: restore fastopen operations I accidentally cleared fastopenq.max_qlen in reqsk_queue_alloc() while max_qlen can be set before listen() is called, using TCP_FASTOPEN socket option for example. Fixes: 0536fcc039a8 ("tcp: prepare fastopen code for upcoming listener changes") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77946de51bd165d55306a47410dd6757d93bc394 Merge: 0735573 3ef0a25 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:16:49 2015 -0700 Merge branch 'net-y2038' Arnd Bergmann says: ==================== net: assorted y2038 changes This is a set of changes for network drivers and core code to get rid of the use of time_t and derived data structures. I have a longer set of patches that enables me to build kernels with the time_t definition removed completely as a help to find y2038 overflow issues. This is the subset for networking that contains all code that has a reasonable way of fixing at the moment and that is either commonly used (in one of the defconfigs) or that blocks building a whole subsystem. Most of the patches in this series should be noncontroversial, but the last two that I marked [RFC] are a bit tricky and need input from people that are more familiar with the code than I am. All 12 patches are independent of one another and can be applied in any order, so feel free to pick all that look good. Patches that are not included here are: - disabling less common device drivers that I don't have a fix for yet, this includes drivers/net/ethernet/brocade/bna/bfa_ioc.c drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c drivers/net/ethernet/tile/tilegx.c drivers/net/hamradio/baycom_ser_fdx.c drivers/net/wireless/ath/ath10k/core.h drivers/net/wireless/ath/ath9k/ drivers/net/wireless/ath/ath9k/ drivers/net/wireless/atmel.c drivers/net/wireless/prism54/isl_38xx.c drivers/net/wireless/rt2x00/rt2x00debug.c drivers/net/wireless/rtlwifi/ drivers/net/wireless/ti/wlcore/ drivers/staging/ozwpan/ net/atm/mpoa_caches.c net/atm/mpoa_proc.c net/dccp/probe.c net/ipv4/tcp_probe.c net/netfilter/nfnetlink_queue_core.c net/netfilter/nfnetlink_queue_core.c net/netfilter/xt_time.c net/openvswitch/flow.c net/sctp/probe.c net/sunrpc/auth_gss/ net/sunrpc/svcauth_unix.c net/vmw_vsock/af_vsock.c We'll get there eventually, or we an add a dependency to ensure they are not built on 32-bit kernels that need to survive beyond 2038. Most of these should be really easy to fix. - recvmmsg/sendmmsg system calls: patches have been sent out as part of the syscall series, need a little more work and review - SIOCGSTAMP/SIOCGSTAMPNS/ ioctl calls: tricky, need to discuss with some folks at kernel summit - SO_RCVTIMEO/SO_SNDTIMEO/SO_TIMESTAMP/SO_TIMESTAMPNS socket opt: similar and related to the ioctl - mmapped packet socket: need to create v4 of the API, nontrivial - pktgen: sends 32-bit timestamps over network, need to find out if using unsigned stamps is good enough - af_rxpc: similar to pktgen, uses 32-bit times for deadlines - ppp ioctl: patch is being worked on, nontrivial but doable ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ef0a25bf9ef318615c810e24d244d55c09806d7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:40 2015 +0200 net: sctp: avoid incorrect time_t use We want to avoid using time_t in the kernel because of the y2038 overflow problem. The use in sctp is not for storing seconds at all, but instead uses microseconds and is passed as 32-bit on all machines. This patch changes the type to u32, which better fits the use. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Cc: Neil Horman <nhorman@xxxxxxxxxxxxx> Cc: linux-sctp@xxxxxxxxxxxxxxx Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3dd7669f1f13772d0a846dee58379399f163729c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:39 2015 +0200 ipv6: use ktime_t for internal timestamps The ipv6 mip6 implementation is one of only a few users of the skb_get_timestamp() function in the kernel, which is both unsafe on 32-bit architectures because of the 2038 overflow, and slightly less efficient than the skb_get_ktime() based approach. This converts the function call and the mip6_report_rate_limiter structure that stores the time stamp, eliminating all uses of timeval in the ipv6 code. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6389ecbc5f3ddc5860aab22bd7f7e1a8aeb3165 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:38 2015 +0200 nfnetlink: use y2038 safe timestamp The __build_packet_message function fills a nfulnl_msg_packet_timestamp structure that uses 64-bit seconds and is therefore y2038 safe, but it uses an intermediate 'struct timespec' which is not. This trivially changes the code to use 'struct timespec64' instead, to correct the result on 32-bit architectures. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Cc: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Cc: netfilter-devel@xxxxxxxxxxxxxxx Cc: coreteam@xxxxxxxxxxxxx Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70ba07b675b53782ad366ebc4d3a00eab9a06bc9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 17:32:01 2015 +0200 atm: remove 'struct zatm_t_hist' The zatm_t_hist structure is not used anywhere in the kernel, but is exported to user space. As we are trying to eliminate uses of time_t in the kernel for y2038 compatibility, the current definition triggers checking tools because it contains 'struct timeval'. As pointed out by Chas Williams, the only user of this structure was the ZATM_GETHIST ioctl command that has been removed a long time ago, and we can remove the structure as well without breaking any user space. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Chas Williams <3chas3@xxxxxxxxx> Cc: linux-atm-general@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84b00607aeb8f139a11c93036e1c0ee03dde5634 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:36 2015 +0200 mac80211: use ktime_get_seconds The mac80211 code uses ktime_get_ts to measure the connected time. As this uses monotonic time, it is y2038 safe on 32-bit systems, but we still want to deprecate the use of 'timespec' because most other users are broken. This changes the code to use ktime_get_seconds() instead, which avoids the timespec structure and is slightly more efficient. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52f4f91893955c359885d022b2142e2326f020a1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:35 2015 +0200 mwifiex: avoid gettimeofday in ba_threshold setting mwifiex_get_random_ba_threshold() uses a complex homegrown implementation to generate a pseudo-random number from the current time as returned from do_gettimeofday(). This currently requires two 32-bit divisions plus a couple of other computations that are eventually discarded as only eight bits of the microsecond portion are used at all. We could replace this with a call to get_random_bytes(), but that might drain the entropy pool too fast if this is called for each packet. Instead, this patch converts it to use ktime_get_ns(), which is a bit faster than do_gettimeofday(), and then uses a similar algorithm as before, but in a way that takes both the nanosecond and second portion into account for slightly-more-but-still-not-very-random pseudorandom number. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Cc: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e253fb74d66428597bd272b2614e8564b882b14c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:34 2015 +0200 mwifiex: use ktime_get_real for timestamping The mwifiex_11n_aggregate_pkt() function creates a ktime_t from a timeval returned by do_gettimeofday, which is slow and causes an overflow in 2038 on 32-bit architectures. This solves both problems by using the appropriate ktime_get_real() function. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Cc: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40c9b0796d46523fffb93e46ed8c691456146743 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:33 2015 +0200 net: igb: avoid using timespec We want to deprecate the use of 'struct timespec' on 32-bit architectures, as it is will overflow in 2038. The igb driver uses it to read the current time, and can simply be changed to use ktime_get_real_ts64() instead. Because of hardware limitations, there is still an overflow in year 2106, which we cannot really avoid, but this documents the overflow. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Cc: intel-wired-lan@xxxxxxxxxxxxxxxx Reviewed-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a6241551d20e982dba8fc6c88b0a021456ea7b4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:32 2015 +0200 net: stmmac: avoid using timespec We want to deprecate the use of 'struct timespec' on 32-bit architectures, as it is will overflow in 2038. The stmmac driver uses it to read the current time, and can simply be changed to use ktime_get_real_ts64() instead. Because of hardware limitations, there is still an overflow in year 2106, which we cannot really avoid, but this documents the overflow. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be7ccdc36ba4815ca71b0ac6df898237a912b3ac Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:31 2015 +0200 net: fec: avoid timespec use The fec_ptp_enable_pps uses an open-coded implementation of ns_to_timespec, which will be removed eventually as it is not y2038-safe on 32-bit architectures. Two more instances of the same code in this file were already converted to use the safe ns_to_timespec64 in commit 6630514fcee ("ptp: fec: use helpers for converting ns to timespec"), this changes the last one as well. The seconds portion here is actually unused and we could just remove the timespec variable, but using ns_to_timespec64 can still be better as the implementation can be hand-optimized in the future. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Fugang Duan <b38611@xxxxxxxxxxxxx> Cc: Luwei Zhou <b45643@xxxxxxxxxxxxx> Cc: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06bacefcbd5f91efb7ffedc17615fa188d6ce406 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 12:46:10 2015 +0300 powerpc/pseries: re-use code from of_helpers module The derive_parent() has similar semantics to what we have in newly introduced of_helpers module. The replacement reduces code base and propagates the actual error code to the caller. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a46d9884096c15ec17505b9b3d19f5e0672deff3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 12:46:09 2015 +0300 powerpc/pseries: handle nodes without '/' In case we have node without '/' strrchr() returns NULL which might lead to crash. Replace strrchr() by kbasename() and modify condition to avoid such behaviour. Suggested-by: Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a030e1e4bbd085bbcfd0a23f8d355fcd41f39bed Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 12:46:08 2015 +0300 powerpc/pseries: replace kmalloc + strlcpy The helper kstrndup() will do the same in one line. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit dc85aaed64804205c476d06cebe4c94f66fd8a20 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 12:46:07 2015 +0300 powerpc/pseries: fix a potential memory leak In case we have a full node name like /foo/bar and /foo is not found the parent_path left unfreed. So, free a memory before return to a caller. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 948ad1acaf456b7213731cd9eb58654930335070 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 12:46:06 2015 +0300 powerpc/pseries: extract of_helpers module Extract a new module to share the code between other modules. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 07355737a8badd951e6b72aa8609a2d6eed0a7e7 Merge: 2472186 79a1315 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:00:26 2015 -0700 Merge branch 'ipv4-multipath-hash' Peter Nørlund says: ==================== ipv4: Hash-based multipath routing When the routing cache was removed in 3.6, the IPv4 multipath algorithm changed from more or less being destination-based into being quasi-random per-packet scheduling. This increases the risk of out-of-order packets and makes it impossible to use multipath together with anycast services. This patch series replaces the old implementation with flow-based load balancing based on a hash over the source and destination addresses. Distribution of the hash is done with thresholds as described in RFC 2992. This reduces the disruption when a path is added/remove when having more than two paths. To futher the chance of successful usage in conjuction with anycast, ICMP error packets are hashed over the inner IP addresses. This ensures that PMTU will work together with anycast or load-balancers such as IPVS. Port numbers are not considered since fragments could cause problems with anycast and IPVS. Relying on the DF-flag for TCP packets is also insufficient, since ICMP inspection effectively extracts information from the opposite flow which might have a different state of the DF-flag. This is also why the RSS hash is not used. These are typically based on the NDIS RSS spec which mandates TCP support. Measurements of the additional overhead of a two-path multipath (p_mkroute_input excl. __mkroute_input) on a Xeon X3550 (4 cores, 2.66GHz): Original per-packet: ~394 cycles/packet L3 hash: ~76 cycles/packet Changes in v5: - Fixed compilation error Changes in v4: - Functions take hash directly instead of func ptr - Added inline hash function - Added dummy macros to minimize ifdefs - Use upper 31 bits of hash instead of lower Changes in v3: - Multipath algorithm is no longer configurable (always L3) - Added random seed to hash - Moved ICMP inspection to isolated function - Ignore source quench packets (deprecated as per RFC 6633) Changes in v2: - Replaced 8-bit xor hash with 31-bit jenkins hash - Don't scale weights (since 31-bit) - Avoided unnecesary renaming of variables - Rely on DF-bit instead of fragment offset when checking for fragmentation - upper_bound is now inclusive to avoid overflow - Use a callback to postpone extracting flow information until necessary - Skipped ICMP inspection entirely with L4 hashing - Handle newly added sysctl ignore_routes_with_linkdown ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79a131592dbb81a2dba208622a2ffbfc53f28bc0 Author: Peter Nørlund <pch@xxxxxxxxxxxx> Date: Wed Sep 30 10:12:22 2015 +0200 ipv4: ICMP packet inspection for multipath ICMP packets are inspected to let them route together with the flow they belong to, minimizing the chance that a problematic path will affect flows on other paths, and so that anycast environments can work with ECMP. Signed-off-by: Peter Nørlund <pch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3337eb1e113bed287b58677e755c807be88d507 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Mon Oct 5 06:59:17 2015 +0300 vme: tsi148: silence uninitialized variable warning The warning is a false positive. drivers/vme/bridges/vme_tsi148.c: In function 'tsi148_master_write': drivers/vme/bridges/vme_tsi148.c:1358:31: warning: 'handler' may be used uninitialized in this function [-Wmaybe-uninitialized] vme_unregister_error_handler(handler); ^ drivers/vme/bridges/vme_tsi148.c: In function 'tsi148_master_read': drivers/vme/bridges/vme_tsi148.c:1260:31: warning: 'handler' may be used uninitialized in this function [-Wmaybe-uninitialized] vme_unregister_error_handler(handler); ^ Fixes: 0b0496625715 ("vme: change bus error handling scheme") Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e884c78ee19e902f300ed147083c28a0c6302f0 Author: Peter Nørlund <pch@xxxxxxxxxxxx> Date: Wed Sep 30 10:12:21 2015 +0200 ipv4: L3 hash-based multipath Replaces the per-packet multipath with a hash-based multipath using source and destination address. Signed-off-by: Peter Nørlund <pch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2472186f58ee1e4b9ca194245fef03931f6de90a Merge: 3e087ca a1a5344 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 02:46:26 2015 -0700 Merge branch 'tcp-listener-fixes-and-improvement' Eric Dumazet says: ==================== tcp: lockless listener fixes and improvement This fixes issues with TCP FastOpen vs lockless listeners, and SYNACK being attached to request sockets. Then, last patch brings performance improvement for syncookies generation and validation. Tested under a 4.3 Mpps SYNFLOOD attack, new perf profile looks like : 12.11% [kernel] [k] sha_transform 5.83% [kernel] [k] tcp_conn_request 4.59% [kernel] [k] __inet_lookup_listener 4.11% [kernel] [k] ipt_do_table 3.91% [kernel] [k] tcp_make_synack 3.05% [kernel] [k] fib_table_lookup 2.74% [kernel] [k] sock_wfree 2.66% [kernel] [k] memcpy_erms 2.12% [kernel] [k] tcp_v4_rcv ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1a5344ddbe8fd3e080013b317ac9a664490cfdf Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 4 21:08:11 2015 -0700 tcp: avoid two atomic ops for syncookies inet_reqsk_alloc() is used to allocate a temporary request in order to generate a SYNACK with a cookie. Then later, syncookie validation also uses a temporary request. These paths already took a reference on listener refcount, we can avoid a couple of atomic operations. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 004a5d0140ce1d05c1f5fce5df4baa2717a330e0 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 4 21:08:10 2015 -0700 net: use sk_fullsock() in __netdev_pick_tx() SYN_RECV & TIMEWAIT sockets are not full blown, they do not have a sk_dst_cache pointer. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7eadb4de9e645e1b34539dc4128240b1e5f71dc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 4 21:08:09 2015 -0700 ipv6: inet6_sk() should use sk_fullsock() SYN_RECV & TIMEWAIT sockets are not full blown, they do not have a pinet6 pointer. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit caf3f2676aaad395903d24a54e22f8ac4bc4823d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 4 21:08:08 2015 -0700 inet: ip_skb_dst_mtu() should use sk_fullsock() SYN_RECV & TIMEWAIT sockets are not full blown, do not even try to call ip_sk_use_pmtu() on them. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7656d842de93fd2d2de7b403062cad757cadf1df Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 4 21:08:07 2015 -0700 tcp: fix fastopen races vs lockless listener There are multiple races that need fixes : 1) skb_get() + queue skb + kfree_skb() is racy An accept() can be done on another cpu, data consumed immediately. tcp_recvmsg() uses __kfree_skb() as it is assumed all skb found in socket receive queue are private. Then the kfree_skb() in tcp_rcv_state_process() uses an already freed skb 2) tcp_reqsk_record_syn() needs to be done before tcp_try_fastopen() for the same reasons. 3) We want to send the SYNACK before queueing child into accept queue, otherwise we might reintroduce the ooo issue fixed in commit 7c85af881044 ("tcp: avoid reorders for TFO passive connections") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e50711993552800644a4667daa0f569a7665eca Author: Grigoryev Denis <grigoryev@xxxxxxxxxx> Date: Fri Oct 2 16:14:41 2015 +0000 mfd: tps6105x: Use i2c regmap to access registers This patch modifies tps6105x and associated function driver to use regmap instead of operating directly on i2c. Signed-off-by: Denis Grigoryev <grigoryev@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bb7436093717d3ccaeaf28438be763b30a794ad8 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Sat Sep 12 12:04:51 2015 +0200 iwlwifi: mvm: fix tof.h header guard Commit ce7929186a39 ("iwlwifi: mvm: add basic Time of Flight (802.11mc FTM) support") created drivers/net/wireless/iwlwifi/mvm/tof.h with a broken header guard: #ifndef __tof #define __tof_h__ ... #endif /* __tof_h__ */ Use __tof_h__ in the first line. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit f82c83397beac5c829bfcb3ea6bb4bfdbac79209 Author: Ilan Peer <ilan.peer@xxxxxxxxx> Date: Thu Sep 10 12:54:38 2015 +0300 iwlwifi: mvm: Correctly update MAC context on add/del station Commit "iwlwifi: mvm: don't ask beacons when AP vif and no assoc sta" directly called iwl_mvm_mac_ctxt_cmd_ap() to update the MAC context when adding/removing a station. However, this ignores the case that the vif is actually a P2P GO. Fix this by calling iwl_mvm_mac_ctxt_changed() that handles P2P GO case as well. Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 69191afef3c889992de643af7c318c9a8a1750c0 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Tue Sep 1 18:50:22 2015 +0300 iwlwifi: mvm: fix default disabled aggs in sta For the ADD_STA command, when the flag for aggregation disabling is set, there is a bitmap indicated what TIDs are disabling aggregations and what aren't. Currently, by default, all TIDs allow for aggregations since the value we begin with is 0. Change this default value to 0xffff so all TIDs don't allow aggregations until explicitly turned on. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit acf9de3dfb2c9c00d94c3d614980006947ed2b7f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 4 20:54:35 2015 +0200 iwlwifi: enable tracing by default Tracing, if disabled at runtime, has very low overhead with great returns on debugging. It therefore makes sense to have it enabled by default (if the kernel enables EVENT_TRACING). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 7b9aebf0e507108daba3516f28cfd78fce80c176 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 8 17:03:20 2015 +0200 MAINTAINERS: iwlwifi: update contact email The ilw@xxxxxxxxxxxxxxx address is being phased out, replace it with the new address. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit a6449126518d908f0d706cce85c9bf243342b7b0 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 1 14:15:17 2015 +0200 iwlwifi: mvm: correct skip-over-DTIM implementation The formula used in D0i3 should also be used in D3, instead of the hardcoded value. Additionally, the formula is actually wrong - if the calculation yields 0 then 1 should be used instead of disabling entirely. Also need to add 1 since the firmware needs 3 to skip 2, etc. To make all this clearer, centralize the calculation into a single function. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit bb35dc14182c16e9646f6323cce25f3cfe3ba593 Author: Moshe Harel <moshe.harel@xxxxxxxxx> Date: Sun Sep 6 16:50:33 2015 +0300 iwlwifi: nvm: force 1x1 antenna in Series 8000 This is a workaround to an OTP bug. In Series 8000 1x1, the OTP 0xA052 defines 2x2 antenna configuration. This workaround overrides the decision based on HW id and MIMO disabled bit which is correct in the OTP and set to disabled. Signed-off-by: Moshe Harel <moshe.harel@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 09eef3307e6d55afbdc4cebc8aeacbbb0a7337f6 Author: Aviya Erenfeld <aviya.erenfeld@xxxxxxxxx> Date: Tue Sep 1 19:34:38 2015 +0300 iwlwifi: mvm: move DTS command and notification to new group Move the DTS measurement command and notification from short command header to the new PHY command group for firmware supporting the extended command headers. Signed-off-by: Aviya Erenfeld <aviya.erenfeld@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit f32517bf1ae0a2de72b3f27200233bd3ad65bfeb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 14:20:28 2015 +0300 gpio: pca953x: support ACPI devices found on Galileo Gen2 This patch adds a support of the expandes found on Intel Galileo Gen2 board. The platform information comes from ACPI. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c6664149af2939b8bbaef0711b3ca5469bed33fb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 14:20:27 2015 +0300 gpio: pca953x: store driver_data for future use Instead of using id->driver_data directly we copied it to the internal structure. This will help to adapt driver for ACPI use. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 068127601eefa0565f4b2f4d82750cad9e37000c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Oct 2 18:14:22 2015 +0300 drm/i915: unlock on error in i915_ppgtt_info() We need to call intel_runtime_pm_put() and mutex_unlock() before returning. Fixes: 7cb5dff8d59d ('drm/i915: fix task reference leak in i915_debugfs.c') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 22db3cbcf9f91eef848db0986869822b4bf27193 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 4 23:34:03 2015 +0200 Bluetooth: Send transport open and close monitor events When the core starts or shuts down the actual HCI transport, send a new monitor event that indicates that this is happening. These new events correspond to HCI_DEV_OPEN and HCI_DEV_CLOSE events. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e9ca8bf157f2b45f8f670517c96da313083ee9b2 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 4 23:34:02 2015 +0200 Bluetooth: Move handling of HCI_RUNNING flag into core Setting and clearing of HCI_RUNNING flag in each and every driver is just duplicating the same code all over the place. So instead of having the driver do it in their hdev->open and hdev->close callbacks, set it globally in the core transport handling. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 73d0d3c8671190ea982a8e79a7c79fbfe88f8f47 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 4 23:34:01 2015 +0200 Bluetooth: Move HCI_RUNNING check into hci_send_frame In all callbacks for hdev->send the status of HCI_RUNNING is checked. So instead of repeating that code in every driver, move the check into the hci_send_frame function before calling hdev->send. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4a3f95b7b62e50a1e42e42ba6571ec9e747f4861 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 4 23:34:00 2015 +0200 Bluetooth: Introduce HCI_DEV_OPEN and HCI_DEV_CLOSE events When opening the HCI transport via hdev->open send HCI_DEV_OPEN event and when closing the HCI transport via hdev->close send HCI_DEV_CLOSE. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ed1b28a48b6c4e206bd88f5758393261710566f2 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 4 23:33:59 2015 +0200 Bluetooth: Limit userspace exposure of stack internal events The stack internal events that are exposed to userspace should be limited to HCI_DEV_REG, HCI_DEV_UNREG, HCI_DEV_UP and HCI_DEV_DOWN. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b224d3ff717cc3af91a4ec74d863a176d79331af Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Oct 3 12:01:08 2015 +0200 Bluetooth: btbcm: Send HCI Reset before sending Apple specific commands The commit 7bee8b08c428 allows the Read Verbose Config Info to fail gracefully and not cause the controller setup to abort. It seems the reason that command failed in the first place was the missing HCI Reset to bring the controller in full Bluetooth mode. Apple Bluetooth controllers start out in HID mode and when in that mode the Read Verbose Config Info command is not allowed. Sending HCI Reset switches the controller into full HCI mode. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8d2402605b85be860808961cd82fdc4bd8bc1704 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Sep 30 23:52:36 2015 +0200 gpio: generic: use error pointers Use the ERRPTR standard way to return an error code in a pointer thus simplifiying the code. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 43960b4731d3450fe82105c40ee19d487622e427 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Sep 30 23:51:08 2015 +0200 gpio: generic: modernize remapping Replace devm_request_mem_region / devm_ioremap with devm_ioremap_resource. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cf3f2a2c8bae0db72233629c9da9d9f617b3f8af Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Sep 30 23:50:20 2015 +0200 gpio: generic: improve error handling in bgpio_map If bgpio_map returns NULL then err should always be set. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit dbe2256ddd8e8420c254c79f4045c41cb5f4bd6b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Sep 25 17:29:04 2015 +0200 driver-core: platform: Provide helpers for multi-driver modules Some modules register several sub-drivers. Provide a helper that makes it easy to register and unregister a list of sub-drivers, as well as unwind properly on error. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5f9e73309b774dd9d86428edd7958b0960bcb85 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Sep 30 12:51:51 2015 +0900 USB: u132-hcd: Fix seperate word in printk message This patch fix seperated word in printk message. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a76eb5b04062cf2a32d5c7f0aefc9d92c3f986a Author: Tilman Schmidt <tilman@xxxxxxx> Date: Wed Sep 30 01:45:11 2015 +0200 Documentation: improve line discipline method descriptions Mention that the ldisc open method must set tty->receive_room, and that many methods are optional. Add description of receive_buf2 method. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7568fb63f57ac8672f8bf2018171255441238882 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Tue Aug 25 22:12:37 2015 -0700 mm: Check if section present during memory block (un)registering Tony found on his setup, if memory block size 512M will cause crash during booting. BUG: unable to handle kernel paging request at ffffea0074000020 IP: [<ffffffff81670527>] 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: [<ffffffff81453b56>] ? register_mem_sect_under_node+0x66/0xe0 [<ffffffff81453eeb>] register_one_node+0x17b/0x240 [<ffffffff81b1f1ed>] ? pci_iommu_alloc+0x6e/0x6e [<ffffffff81b1f229>] topology_init+0x3c/0x95 [<ffffffff8100213d>] 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. 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. Also fixes unregister_mem_sect_under_nodes() that assume one section per memory block. Reported-by: Tony Luck <tony.luck@xxxxxxxxx> Tested-by: Tony Luck <tony.luck@xxxxxxxxx> 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> Cc: stable@xxxxxxxxxxxxxxx #v3.15 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f35d04a02a652f14566f875aef3a6f2af4cb77b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 21 19:21:51 2015 +0300 devres: fix a for loop bounds check The iomap[] array has PCIM_IOMAP_MAX (6) elements and not DEVICE_COUNT_RESOURCE (16). This bug was found using a static checker. It may be that the "if (!(mask & (1 << i)))" check means we never actually go past the end of the array in real life. Fixes: ec04b075843d ('iomap: implement pcim_iounmap_regions()') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a785ce9c90bc7d73b5cae4388641b310948509cb Author: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Date: Thu Sep 24 11:27:47 2015 +0800 CMA: fix CONFIG_CMA_SIZE_MBYTES overflow in 64bit In 64bit system, if you set CONFIG_CMA_SIZE_MBYTES>=2048, it will overflow and size_bytes will be a big wrong number. Set CONFIG_CMA_SIZE_MBYTES=2048 and you will get an info below during system boot: ********* cma: Failed to reserve 17592186042368 MiB ********* Signed-off-by: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e93762bbf68143594223024532fdeef71f5e8f75 Author: Vignesh R <vigneshr@xxxxxx> Date: Mon Sep 14 10:54:33 2015 -0700 w1: masters: omap_hdq: add support for 1-wire mode This patches makes following changes to omap_hdq driver - Enable 1-wire mode. - Implement w1_triplet callback to facilitate search rom procedure and auto detection of 1-wire slaves. - Proper enabling and disabling of interrupt. - Cleanups (formatting and return value checks). HDQ mode remains unchanged. Signed-off-by: Vignesh R <vigneshr@xxxxxx> 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> Acked-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> CC: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Vignesh R <vigneshr@xxxxxx> Cc: NeilBrown <neilb@xxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5052436dcb7eac532cf2ffd6650be01d3f15e0b5 Author: Levente Kurusa <levex@xxxxxxxxx> Date: Mon Sep 14 10:56:12 2015 -0700 drivers/w1/w1_int.c: call put_device if device_register fails Currently, memsetting and kfreeing the device is bad behaviour. The device will have a reference count of 1 and hence can cause trouble because it has kfree'd. Proper way to handle a failed device_register is to call put_device right after it fails. Signed-off-by: Levente Kurusa <levex@xxxxxxxxx> Acked-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c22e645cd742b82ec232e4f2328fc53d247ccea Author: Geliang Tang <geliangtang@xxxxxxx> Date: Fri Oct 2 00:37:57 2015 +0800 pcmcia: use kstrdup() in pcmcia_device_query() Use kstrdup instead of kmalloc and strncpy. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df6be790623f11c0db8152e724f4951cd944ffe2 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 4 17:23:49 2015 +0100 memory: ti-aemif: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 613a91e275a0c7fc493140ef02ec398cd17bbb63 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 4 17:23:48 2015 +0100 memory: fsl-corenet: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac6d83ccd9c5eaeb610bd65b27adc84b47a1498a Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Sun Oct 4 13:38:40 2015 -0700 misc: mic: Fix SCIF build failure with IOMMU_SUPPORT disabled SCIF depends on IOVA which requires IOMMU_SUPPORT to be enabled. The long term fix is to move IOVA from drivers/iommu to lib/ but this current patch should fix the reported issue. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7265405f74b33f256073ea233690b6ee866c252c Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 3 00:53:38 2015 +0300 ARM: shmobile: fix SILK board name Unfortunately, the SILK board bindings were not quite correct, as the board name should be all caps. Fix that, adding the board model # in parens and removing stray semicolon. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2f33b9f796ce6ebb00f6e8238fba07149c5264f2 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 02:53:58 2015 +0300 ARM: shmobile: r8a7794: add HS-USB DT support Define the R8A7794 generic part of the HS-USB device node. It is up to the board file to enable the device. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3e087caa23ef36370bfb925d3bbca78e8302d3ce Merge: 68d4e52 0f963b7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 4 16:46:14 2015 -0700 Merge branch 'bridge-netlink' Nikolay Aleksandrov says: ==================== bridge: complete netlink support This set completes the bridge device's netlink support and makes it possible to view and configure everything that can be configured via sysfs. I have tested all of these (setting and getting). There're a few longer line warnings about the br_get_size() ifla comments but I think we should have them to know what has been accounted for. I have used the sysfs interface as a guide of what and how to set. As usual I'll send the corresponding iproute2 patches later. The bridge port's netlink interface will be completed after this set gets applied in some form. This patch-set is on top of my last vlan cleanups set: http://www.spinics.net/lists/netdev/msg346005.html ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f963b7592ef9e054974b6672b86ec1edd84b4bc Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:47 2015 +0200 bridge: netlink: add support for default_pvid Add IFLA_BR_VLAN_DEFAULT_PVID to allow setting/getting bridge's default_pvid via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93870cc02a0af4392401713d14235accafc752bc Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:46 2015 +0200 bridge: netlink: add support for netfilter tables config Add support to allow getting/setting netfilter tables settings. Currently these are IFLA_BR_NF_CALL_IPTABLES, IFLA_BR_NF_CALL_IP6TABLES and IFLA_BR_NF_CALL_ARPTABLES. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e4df51eb35deedd3ba8d4db92a6c36fb7eff90a Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:45 2015 +0200 bridge: netlink: add support for igmp's intervals Add support to set/get all of the igmp's configurable intervals via netlink. These currently are: IFLA_BR_MCAST_LAST_MEMBER_INTVL IFLA_BR_MCAST_MEMBERSHIP_INTVL IFLA_BR_MCAST_QUERIER_INTVL IFLA_BR_MCAST_QUERY_INTVL IFLA_BR_MCAST_QUERY_RESPONSE_INTVL IFLA_BR_MCAST_STARTUP_QUERY_INTVL Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b89e6babad4b7ca7298ad863c6c83dc76b0abdef Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:44 2015 +0200 bridge: netlink: add support for multicast_startup_query_count Add IFLA_BR_MCAST_STARTUP_QUERY_CNT to allow setting/getting br->multicast_startup_query_count via netlink. Also align the ifla comments. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79b859f573d6afa64e328cc7f50ad7a209e0c92d Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:43 2015 +0200 bridge: netlink: add support for multicast_last_member_count Add IFLA_BR_MCAST_LAST_MEMBER_CNT to allow setting/getting br->multicast_last_member_count via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 858079fdae16421d4908722140346cfdddedf343 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:42 2015 +0200 bridge: netlink: add support for igmp's hash_max Add IFLA_BR_MCAST_HASH_MAX to allow setting/getting br->hash_max via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 431db3c050af0be72b3b01fa7484982f35cb268f Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:41 2015 +0200 bridge: netlink: add support for igmp's hash_elasticity Add IFLA_BR_MCAST_HASH_ELASTICITY to allow setting/getting br->hash_elasticity via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba062d7cc6a09a8194eba975d5ee635378a55bfc Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:40 2015 +0200 bridge: netlink: add support for multicast_querier Add IFLA_BR_MCAST_QUERIER to allow setting/getting br->multicast_querier via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 295141d9049bdf4fa316b325d2e2501b210dbe06 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:39 2015 +0200 bridge: netlink: add support for multicast_query_use_ifaddr Add IFLA_BR_MCAST_QUERY_USE_IFADDR to allow setting/getting br->multicast_query_use_ifaddr via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89126327f921bd278c72284d38428443bbef344f Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:38 2015 +0200 bridge: netlink: add support for multicast_snooping Add IFLA_BR_MCAST_SNOOPING to allow enabling/disabling multicast snooping via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9a6bc70f5f70b3835b081e401b469b88c7c8a3a Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:37 2015 +0200 bridge: netlink: add support for multicast_router Add IFLA_BR_MCAST_ROUTER to allow setting and retrieving br->multicast_router when igmp snooping is enabled. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 150217c688217e549ef8a36ea4f6718977373765 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:36 2015 +0200 bridge: netlink: add fdb flush Simple attribute that flushes the bridge's fdb. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 111189abc5c3f0ea6f516a6c3e8d8c3a2cf391d9 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:35 2015 +0200 bridge: netlink: add group_addr support Add IFLA_BR_GROUP_ADDR attribute to allow setting and retrieving the group_addr via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d76bd14e0f759040efc8ce142dd6d1f9eca33d39 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:34 2015 +0200 bridge: netlink: export all timers Export the following bridge timers (also exported via sysfs): IFLA_BR_HELLO_TIMER, IFLA_BR_TCN_TIMER, IFLA_BR_TOPOLOGY_CHANGE_TIMER, IFLA_BR_GC_TIMER via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed4163098e3090bb7b51421bde977e355275a554 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:33 2015 +0200 bridge: netlink: export topology_change and topology_change_detected Add IFLA_BR_TOPOLOGY_CHANGE and IFLA_BR_TOPOLOGY_CHANGE_DETECTED and export them via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 684dd248bee8c73eadb90706123bf1494d3218b8 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:32 2015 +0200 bridge: netlink: export root path cost Add IFLA_BR_ROOT_PATH_COST and export it via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8762ba680fe8d41b444fc92f90ce7194b2b8303b Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:31 2015 +0200 bridge: netlink: export root port Add IFLA_BR_ROOT_PORT and export it via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7599a2201fc71cdca16a92d350f14cce8730e03f Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:30 2015 +0200 bridge: netlink: export bridge id Add IFLA_BR_BRIDGE_ID and export br->bridge_id via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5127c81f84de0dd643d5840a2c7de571bc6aceb3 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:29 2015 +0200 bridge: netlink: export root id Add IFLA_BR_ROOT_ID and export br->designated_root via netlink. For this purpose add struct ifla_bridge_id that would represent struct bridge_id. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7910228b6bb35f3c8e0bc72a8d84c29616cb1b90 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:28 2015 +0200 bridge: netlink: add group_fwd_mask support Add IFLA_BR_GROUP_FWD_MASK attribute to allow setting and retrieving the group_fwd_mask via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68d4e5208291ac8bd7d47d992f353da31a2e1484 Merge: e96f78a 6be144f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 4 16:43:56 2015 -0700 Merge branch 'bridge-vlan' Nikolay Aleksandrov says: ==================== bridge: vlan: cleanups & fixes (part 2) This is the second follow-up set with one fix (patch 01) and more cleanups (patches 02,03 and 04). These are minor compared to the previous ones and should be the last before taking on the optimization changes on the fast-path. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6be144f62f64c8a67e11b2f8b86c7bf390b87411 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 15:05:13 2015 +0200 bridge: vlan: use br_vlan_should_use to simplify __vlan_add/del The checks that lead to num_vlans change are always what br_vlan_should_use checks for, namely if the vlan is only a context or not and depending on that it's either not counted or counted as a real/used vlan respectively. Also give better explanation in br_vlan_should_use's comment. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ffdf508d278d48ccb928238846df352db21f4eb Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 15:05:12 2015 +0200 bridge: vlan: drop master_flags from __vlan_add There's only one user now and we can include the flag directly. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8ed289fab843fbc9251aa2f5c3d416f09b5fc7e Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 15:05:11 2015 +0200 bridge: vlan: use br_vlan_(get|put)_master to deal with refcounts Introduce br_vlan_(get|put)_master which take a reference (or create the master vlan first if it didn't exist) and drop a reference respectively. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 586c2b573ee4c2c4ba03e16318a16614ebf876f8 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 15:05:10 2015 +0200 bridge: vlan: use rcu list for the ordered vlan list When I did the conversion to rhashtable I missed the required locking of one important user of the vlan list - br_get_link_af_size_filtered() which is called: br_ifinfo_notify() -> br_nlmsg_size() -> br_get_link_af_size_filtered() and the notifications can be sent without holding rtnl. Before this conversion the function relied on using rcu and since we already use rcu to destroy the vlans, we can simply migrate the list to use the rcu helpers. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb042ec35956de2684de2a05a814cd15efe570ca Author: Wei Fang <fangwei1@xxxxxxxxxx> Date: Tue Sep 29 11:23:55 2015 +0800 jffs2: fix a memleak in read_direntry() Need to free the memory allocated for 'fd' if failed to read all of the remainder name. Signed-off-by: Wei Fang <fangwei1@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d54e88011d0a5fb48d9bb60fede3e83375c75841 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Thu Oct 1 02:23:37 2015 +0300 mtd: nand: lpc32xx_slc: fix calculation of timing arcs from given values According to LPC32xx User's Manual all values measured in clock cycles are programmable from 1 to 16 clocks (4 bits) starting from 0 in bitfield, the current version of calculated clock cycles is too conservative. Correctness of 0 bitfield value (i.e. programmed 1 clock timing) is proven with actual NAND chip devices. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 08d3cd5ef0633df84d119e939d8d1b56c6e4a5e7 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Thu Oct 1 02:23:36 2015 +0300 mtd: nand: lpc32xx_slc: fix potential overflow over 4 bits In case if quotient of controller clock rate to device clock rate does not fit into 4 bit value, choose the maximum acceptable value 0xF, which stands for 16 clocks. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 641f6342f507cfe671ac5a58768a8473e14ae2ac Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Thu Oct 1 02:23:35 2015 +0300 mtd: nand: lpc32xx_slc: improve SLCTAC_*() macro definitions No functional change, move bitfield calculations to macro definitions with added clock rate argument, which are in turn defined by new common SLCTAC_CLOCKS(c, n, s) macro definition. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b6ad9a26e7c6fae74062baa9b8a7f583a803e092 Author: Oliver Schmitt <voltumna@xxxxxxx> Date: Sat Oct 3 18:20:02 2015 +0200 HID: usbhid: Fix for the WiiU adapter from Mayflash The WiiU adapter from Mayflash (see http://www.mayflash.com/Products/NINTENDOWiiU/W009.html) is not working correctly. The "XInput" mode works fine, the controller is recognized as a xbox controller. But it is only possible to connect one controller with this method. In "DInput" mode the device is recognized as some kind of mouse input but no joystick is created. This commit will change this behavior with HID_QUIRK_MULTI_INPUT to split the device into 4 input devices so that it will also create joysticks in /dev/input/js*. Signed-off-by: Oliver Schmitt <voltumna@xxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 32f40c5fa730fa598e500dfbaab8aabc39c56f96 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Sep 30 22:53:54 2015 +0100 netfilter: rename nfnetlink_queue_core.c to nfnetlink_queue.c Now that we have integrated the ct glue code into nfnetlink_queue without introducing dependencies with the conntrack code. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b7bd1809e0784435791657502bc0d8280ad6f7ea Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Sep 30 22:53:44 2015 +0100 netfilter: nfnetlink_queue: get rid of nfnetlink_queue_ct.c The original intention was to avoid dependencies between nfnetlink_queue and conntrack without ifdef pollution. However, we can achieve this by moving the conntrack dependent code into ctnetlink and keep some glue code to access the nfq_ct indirection from nfqueue. After this patch, the nfq_ct indirection is always compiled in the netfilter core to avoid polluting nfqueue with ifdefs. Thus, if nf_conntrack is not compiled this results in only 8-bytes of memory waste in x86_64. This patch also adds ctnetlink_nfqueue_seqadj() to avoid that the nf_conn structure layout if exposed to nf_queue, which creates another dependency with nf_conntrack at compilation time. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5760b0a565e0f64dfb90d8c42df949f966038e1d Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:20 2015 +0300 MAINTAINERS: add an entry for Intel(R) Trace Hub Add myself as a maintainer for the Intel(R) Trace Hub framework and drivers. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14cdbf041788f150ec3b323583b80bfd5775f73e Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:19 2015 +0300 intel_th: Add PTI output driver Parallel Trace Interface (PTI) unit is a trace output device that sends data over a PTI port. The driver provides interfaces to configure bus width, bus clock divider and mode. Tracing is enabled via output device's "active" attribute. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba82664c134ef7ab97808f09a3c5e894b0a4900d Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:18 2015 +0300 intel_th: Add Memory Storage Unit driver Memory Storage Unit (MSU) is a trace output device that collects trace data to system memory. It consists of 2 independent Memory Storage Controllers (MSCs). This driver provides userspace interfaces to configure in-memory tracing parameters, such as contiguous (high-order allocation) buffer or multiblock (scatter list) buffer mode, wrapping (data overwrite) and number and sizes of windows in multiblock mode. Userspace can read the buffers via mmap()ing or read()ing of the corresponding device node. Signed-off-by: Laurent Fert <laurent.fert@xxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f04e449fc76e7bfd1b8ed11967ab092d05355b6b Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:17 2015 +0300 intel_th: Add Software Trace Hub driver Software Trace Hub (STH) is a trace source device in the Intel TH architecture, it generates data that then goes through the switch into one or several output ports. STH collects data from software sources using the stm device class abstraction. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b27a6a3f97b90f05ed145f553de46d5d9d47d78d Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:16 2015 +0300 intel_th: Add Global Trace Hub driver Global Trace Hub (GTH) is the central component of Intel TH architecture; it carries out switching between the trace sources and trace outputs, can enable/disable tracing, perform STP encoding, internal buffering, control backpressure from outputs to sources and so on. This property is also reflected in the software model; GTH (switch) driver is required for the other subdevices to probe, because it matches trace output devices against its output ports and configures them accordingly. It also implements an interface for output ports to request trace enabling or disabling and a few other useful things. For userspace, it provides an attribute group "masters", which allows configuration of per-master trace output destinations for up to master 255 and "256+" meaning "masters 256 and above". It also provides an attribute group to discover and configure some of the parameters of its output ports, called "outputs". Via these the user can set up data retention policy for an individual output port or check if it is in reset state. Signed-off-by: Laurent Fert <laurent.fert@xxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b0b16d329add49d503ff08b45d7636731f493dc Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:15 2015 +0300 intel_th: Add pci glue layer for Intel(R) Trace Hub This patch adds basic support for PCI-based Intel TH devices. It requests 2 bars (configuration registers for the subdevices and STH channel MMIO region) and calls into Intel TH core code to create the bus with subdevices etc. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39f4034693b7c7bd1fe4cb58c93259d600f55561 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:14 2015 +0300 intel_th: Add driver infrastructure for Intel(R) Trace Hub devices Intel(R) Trace Hub (TH) is a set of hardware blocks (subdevices) that produce, switch and output trace data from multiple hardware and software sources over several types of trace output ports encoded in System Trace Protocol (MIPI STPv2) and is intended to perform full system debugging. For these subdevices, we create a bus, where they can be discovered and configured by userspace software. This patch creates this bus infrastructure, three types of devices (source, output, switch), resource allocation, some callback mechanisms to facilitate communication between the subdevices' drivers and some common sysfs attributes. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3e5a3d3da3e68ac5a7ab0278dffec8353ca8174 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:13 2015 +0300 stm class: stm_console: Add kernel-console-over-stm driver This is a simple stm_source class device driver (kernelspace stm trace source) that registers a console and sends kernel messages over STM devices. Reviewed-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c41538191e1ee34e316aaba586fb2cab1379a3a Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:12 2015 +0300 stm class: dummy_stm: Add dummy driver for testing stm class This is a simple module that pretends to be an stm device and discards all the data that comes in. Useful for testing stm class and its users. Reviewed-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a961e698d8112f3facdd4cde7df8565ea0865ff7 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:11 2015 +0300 MAINTAINERS: add an entry for System Trace Module device class Add myself as a maintainer for the stm class framework. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7bd1d4093c2fa37d1ecab05da3c9d48ea2af2264 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:10 2015 +0300 stm class: Introduce an abstraction for System Trace Module devices A System Trace Module (STM) is a device exporting data in System Trace Protocol (STP) format as defined by MIPI STP standards. Examples of such devices are Intel(R) Trace Hub and Coresight STM. This abstraction provides a unified interface for software trace sources to send their data over an STM device to a debug host. In order to do that, such a trace source needs to be assigned a pair of master/channel identifiers that all the data from this source will be tagged with. The STP decoder on the debug host side will use these master/channel tags to distinguish different trace streams from one another inside one STP stream. This abstraction provides a configfs-based policy management mechanism for dynamic allocation of these master/channel pairs based on trace source-supplied string identifier. It has the flexibility of being defined at runtime and at the same time (provided that the policy definition is aligned with the decoding end) consistency. For userspace trace sources, this abstraction provides write()-based and mmap()-based (if the underlying stm device allows this) output mechanism. For kernel-side trace sources, we provide "stm_source" device class that can be connected to an stm device at run time. Cc: linux-api@xxxxxxxxxxxxxxx Reviewed-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 448535a35010253f21ed913a05abe3d0adb47743 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Sep 18 02:01:45 2015 +0300 vme: print unhandled VME access errors This will enable error messages for accesses done through mmap. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Acked-by: Martyn Welch <martyn@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b0496625715374c7d0b747268c11528e8af32a3 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Sep 18 02:01:44 2015 +0300 vme: change bus error handling scheme The current VME bus error handler adds errors to the bridge error list. vme_master_{read,write} then traverses that list to look for relevant errors. Such scheme didn't work well for accesses going through vme_master_mmap because they would also allocate a vme_bus_error, but have no way to do vme_clear_errors call to free that memory. This changes the error handling process to be other way around: now vme_master_{read,write} defines a window in VME address space that will catch possible errors. VME bus error interrupt only traverses these windows and marks those that had errors in them. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Cc: Igor Alekseev <igor.alekseev@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 472f16f33c7d53515af83c805d4babd8a6c24a19 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Sep 18 02:01:43 2015 +0300 vme: include address space in error filtering Also changes vme_bus_error_handler to take generic address modifier code instead of raw contents of a device-specific attribute register. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Cc: Igor Alekseev <igor.alekseev@xxxxxxx> Acked-by: Martyn Welch <martyn@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2c6393fda98dde5534dd6f83bd15f76abed6555 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Sep 18 02:01:42 2015 +0300 vme: move tsi148 error handling into VME subsystem Error handling code found in tsi148 is not device specific. In fact it already relies on shared vme_bus_error struct and vme_bridge.vme_errors field. The other bridge driver could reuse this code if it is shared. This introduces a slight behavior change: vme error message won't be triggered in a rare case when err_chk=1 and kmalloc fails. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Cc: Igor Alekseev <igor.alekseev@xxxxxxx> Acked-by: Martyn Welch <martyn@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da5ae8a991d35d73b3875de0298afaf033d85363 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Wed Jul 8 17:42:17 2015 +0300 vme: lower alignment requirement in pci bridge drivers Universe II allows PCI address grannularity of 4K or 64K depending on the window id. tsi148 only supports 64K. Existing driver implementations are validating window size against this grannularity and then use that very size as alignment parameter to pci_bus_alloc_resource. This constraint is excessive, alignment by granularity should be enough. This changes alignment constraint from size to a fixed constraint of 64K. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43b2ec01d2140964d98ea7812ca2f9dff67d2db2 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:36 2015 +0200 IB/ehca: fix handling idr_alloc result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Doug Ledford <dledford@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8b2c7d845d57f7a4b9f1f941f24728165e27626 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Aug 7 07:19:22 2015 +0200 base/platform: assert that dev_pm_domain callbacks are called unconditionally When a platform driver doesn't provide a .remove callback the function platform_drv_remove isn't called and so the call to dev_pm_domain_attach called at probe time isn't paired by dev_pm_domain_detach at remove time. To fix this (and similar issues if different callbacks are missing) hook up the driver callbacks unconditionally and make them aware that the platform callbacks might be missing. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65da3484d9be5664f5f7d2378e438bb2794f40b8 Author: NeilBrown <neilb@xxxxxxxx> Date: Thu Aug 6 08:27:55 2015 +1000 sysfs: correctly handle short reads on PREALLOC attrs. attributes declared with __ATTR_PREALLOC use sysfs_kf_read() which ignores the 'count' arg. So a 1-byte read request can return more bytes than that. This is seen with the 'dash' shell when 'read' is used on some 'md' sysfs attributes. So only return the 'min' of count and the attribute length. Signed-off-by: NeilBrown <neilb@xxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cfcf6a91aa0d59faddb423a65230eea7f230d057 Author: Lee Duncan <lduncan@xxxxxxxx> Date: Thu Oct 1 11:59:09 2015 -0700 base: soc: siplify ida usage Simplify ida index allocation and removal by using the ida_simple_* helper functions Signed-off-by: Lee Duncan <lduncan@xxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 850b37a71bde71ac43468bc05d031d5e0704dac3 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Sep 30 15:27:03 2015 +0300 tty: serial: msm: Remove 115.2 Kbps maximum baud rate limitation UART controller is capable to perform transfers up to 4 Mbps. Remove artificial 115.2 Kbps limitation. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99693945013a5178e1944f9409a1527d80b33abc Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Sep 30 15:27:02 2015 +0300 tty: serial: msm: Add RX DMA support Add receive DMA support for UARTDM type of controllers. Tested on APQ8064, which have UARTDM v1.3 and ADM DMA engine and APQ8016, which have UARTDM v1.4 and BAM DMA engine. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a878c430fd6eb4f8587f9ebd187f773bf85d1d6 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Sep 30 15:27:01 2015 +0300 tty: serial: msm: Add TX DMA support Add transmit DMA support for UARTDM type of controllers. Tested on APQ8064, which have UARTDM v1.3 and ADM DMA engine and APQ8016, which have UARTDM v1.4 and BAM DMA engine. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 558abdb05fe0c7fc86eba8803d74bc9592c3cb26 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Sep 30 15:27:00 2015 +0300 tty: serial: msm: Add msm prefix to all driver functions Make function naming consistent across this driver. Also rename msm_irq to msm_uart_irq. No functional changes. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eec43b8afaf57af5dfbbdcd92c64e83a3ef8ca57 Author: Pramod Gurav <gpramod@xxxxxxxxxxxxxx> Date: Wed Sep 30 15:26:59 2015 +0300 tty: serial: msm: replaces (1 << x) with BIT(x) macro Replaces (1 << x) with BIT(x) macro Signed-off-by: Pramod Gurav <gpramod@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12b9b9f186f336ad6fe7adcbad48bd5340af9abb Author: Pramod Gurav <gpramod@xxxxxxxxxxxxxx> Date: Wed Sep 30 15:26:58 2015 +0300 tty: serial: msm: Add mask value for UART_DM registers The bit masks for RFR_LEVEL1 and STALE_TIMEOUT_MSB values in MR1 and IPR registers respectively are different for UART and UART_DM hardware cores. We have been using UART core mask values for these. Add the same for UART_DM core. There is no bit setting as UART_IPR_RXSTALE_LAST for UART_DM core so do it only for UART core. Signed-off-by: Pramod Gurav <gpramod@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b0159d1ecfbc11badb96466c0c1582ee5ffe78f Author: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Date: Sun Oct 4 18:59:45 2015 +0200 sc16is7xx: null ptr check If a wrong compatible flag in specified, the of_match_device returning null. Implemented check and if NULL then returning -ENODEV. Signed-off-by: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adfb9233e434896e87811339ca0c18bc923b262f Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 3 16:45:35 2015 -0300 serial: omap: remove warnings about unused functions They're used by only if CONFIG_PM is enabled, so enclose them with proper ifdefs. Removes these warnings: drivers/tty/serial/omap-serial.c:202:12: warning: 'serial_omap_get_context_loss_count' defined but not used [-Wunused-function] drivers/tty/serial/omap-serial.c:213:13: warning: 'serial_omap_enable_wakeup' defined but not used [-Wunused-function] Signed-off-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc12c116b1982c61dfbb6c00673dac50cc2bd7b5 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 17:19:33 2015 +0200 mpsc: use dma_set_mask insted of dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27c310c5c3129aac9d2f325211df85a82177f274 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 30 10:04:17 2015 +0300 serial: 8250_dma: no need to sync RX buffer RX buffer is allocated from DMA coherent memory. Thus there is no need to call DMA sync API for it. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10791233e98fbd0ed84b9ba549ce537ca2fcccf3 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 15:36:11 2015 -0400 serial: 8250: Refactor serial console restore-from-suspend Move h/w reinit of serial console restore-from-suspend into standalone helper function. No functional change. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f56f3fdca43c9a18339b6e0c3b1aa2f57f6d0b0 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Sep 25 15:36:10 2015 -0400 serial: 8250: Tolerate clock variance for max baud rate When the UART clock is set slightly under 1.8432MHz, the 8250 driver core doesn't permit the 115200 baud rate since it calculates the maximum frequency to pass to uart_get_baud_rate by simply dividing the uart clock by 16 which yields a value slightly under 115200, even though the frequency is close enough for the UART to operate reliably. Therefore add some tolerance in the calculation of the maximum baud rate. 1% tolerance allows for marginally slower uart clk than nominal without introducing transmission errors. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> [pjh: Forward-port & refactor original patch; change tolerance to 1%] Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d215d80957ce98c318064c249ad0b7800c63a19d Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Tue Sep 22 15:20:32 2015 +0300 serial_core: support native endianness There are three natural ways in which devices may be wired to the system: little endian (device receives correctly ordered bits of a word written by little-endian CPU to its register, but big-endian CPU needs to swap bytes of a word before writing it), big endian (same, but with big-endian CPU in more favourable position) and native endian (CPU of either endianness may do word-sized I/O without need for byteswapping). Adding an option for native endianness allows using single kernel command line for boards with native-endian serial ports on bi-endian architectures. This goes in parallel with 'native-endian' DTS attribute. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 616ea8d2d644b93ec634a3cb97e04f1ec3b0a491 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 21 16:47:06 2015 +0100 tty/serial: st-asc: drop the use of IRQF_NO_SUSPEND These drivers doesn't claim the serial device to be wakeup source. Even if it is, it needs to use enable_irq_wake or other related PM wakeup APIs to enable it. This patch removes yet another misuse of IRQF_NO_SUSPEND. Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: kernel@xxxxxxxxxxx Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b801e7f898aba3953fddbda47bcda2e5411bcfa0 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 21 16:47:05 2015 +0100 MIPS: ttyFDC: replace IRQF_NO_SUSPEND with IRQF_COND_SUSPEND Since the FD interrupt handler can discern spurious IRQs and it is shared with timer interrupt, use IRQF_COND_SUSPEND instead of IRQF_NO_SUSPEND. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14996122a47bb489233629533bc059af50628ec8 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:38 2015 +0200 tty: serial: lpc32xx_hs: fix handling platform_get_irq result The function can return negative values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 618bbaa260a3aa469e13a8f7c3e2a65e456c7005 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:14 2015 +0200 tty: serial: cpm_uart: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7edb23ce4618b2150e7b17b2061ddb4239f69b2e Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 20:04:12 2015 +0200 tty: serial: sprd: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d58db1ede9bd1a057b5d5114ae72210347dfe91 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:43 2015 +0200 tty: serial: of_serial: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50a84487c3c573a8c7c9146c31af21b51aa86b10 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 20:02:44 2015 +0200 tty: serial: apbuart: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b2256c8274c72bacb7eca7dee5ffe85832cb5e0 Author: Mans Rullgard <mans@xxxxxxxxx> Date: Tue Sep 15 17:54:13 2015 +0100 serial: 8250: simplify ralink/alchemy register remap selection Some SoCs, including Ralink/Mediatek and Alchemy Au1xxx, have a 16550-like UART with a non-standard register layout. These are supported by a simple mapping table in 8250_port.c Rather than list every SoC type using this access mode in the ifdefs there, allow selecting the SERIAL_8250_RT288X Kconfig option with any system and default it to y for the known cases needing it. The help text is reworded accordingly. This change simplifies adding support for other SoCs also using the same UART. The name of the option is a little misleading, but not knowing the true origin of this UART, it is as good a choice as any. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce59e48fdbad2aa6609ceb87e1306ec69e577e05 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 30 10:19:41 2015 +0200 serial: mctrl_gpio: implement interrupt handling This allows to reduce the per-driver boiler plate considerably. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d8c70d8048c7b4307dff95d9300d6b1ea7a3547 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 30 10:19:40 2015 +0200 serial: mctrl-gpio: rename init function This is done before adding more functionality to the init function with the existing name. As this new functionality conflicts with stuff drivers are required to implement themselves up to I want to convert them one by one to make reviewing and reverting more easy in case I broke something. Once mctrl_gpio_init is there and all drivers are converted mctrl_gpio_init_noauto can be removed again. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc2454f7eb08c07d12c87f526bf8de35b1d2b0c2 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 30 10:19:39 2015 +0200 serial: mxs-auart+imx: allow compile testing on non-Freescale architectures Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8d1f02245a3cf36d0817deba88caf13de498a43 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 30 10:19:38 2015 +0200 serial: atmel: allow compile testing on non-atmel architectures This commit also fixes compiler warnings and errors seen when building on x86_64. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abc7882aacdb4b0e110026bff9b52fb783f4ebd8 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:43 2015 +0200 serial: imx: also update RX stats in DMA path The RX bytecount was only updated in the PIO path and thus the device erroneously reported a value of 0 if DMA is in use. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e11577ef6f31faf4a505e7823bf78b679906aca Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:42 2015 +0200 serial: imx: re-enable DMA support without hardware flow control The commit enabling DMA support even if no flow control is present was reverted on the grounds that it uncovered a number of bugs in the code that lead to hanging tty devices and/or missing characters. After tracking down the issues it is clear that those were generic bugs and had nothing to do with flow control being present or not, only that allowing DMA without hardware flow control increased the exposure of that code a lot. Now that those bugs are fixed, it should be safe to re-enable DMA support. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 905c0decad28402aa166975023fb88c8f62f93c8 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:41 2015 +0200 serial: imx: don't use idle condition detect for DMA transfers The reference manual states that idle condition detect should not be used with DMA transfers, as the ROM SDMA scripts don't check those conditions. The RAM SDMA scripts worked around this, but the change broke compatibility with the ROM scripts. The previous commits fixed the DMA burst sizes, so that the aging timer is now working as described in the reference manual. With this fixed we can remove the hack of using the idle condition detect to stop the DMA transfer if there are no new characters incoming. This should work with both the ROM and RAM SDMA scripts. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 184bd70bbc81ff0aa561eb51914c952225e42aab Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:40 2015 +0200 serial: imx: configure proper DMA burst sizes Triggering the DMA engine for every byte is horribly inefficient. Also it doesn't allow to use the aging timer for the RX FIFO as this requires the DMA engine to leave one byte remaining in the FIFO when doing a normal burst transfer. Adjust watermark levels so that the DMA engine can do at least 8 byte burst transfers. This is a conservative value, as the both TX and RX FIFOs are able to contain 32 bytes. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 976b39cd5b1d671bb2b2512b1a79fef2b210c875 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:39 2015 +0200 serial: imx: always restart DMA if more data is available Simplify the DMA restart logic to always queue up the next transfer immediately if there is at least one more byte available in the FIFO, so that the transfer will finish in a limited time. This way the driver stops to rely on zero length transfers to signal transfers ends. Those will go away when the idle detect DMA requests are disabled. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86a04ba64295e419f442866282051777ce962b8a Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:38 2015 +0200 serial: imx: set up aging timer interrupt as DMA trigger The DMA transfer is only started once we are sure it will finish in a limited time, i.e. only after we received a RRDY interrupt. In order to allow the watermark level to be raised the aging timer and the corresponding interrupt need to be set up as an additional trigger, so that the transfer is also started if the incoming amount of bytes never reach the watermark. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc32382d9fd22dc8eebba4a245f50417267bda8e Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:37 2015 +0200 serial: imx: make setup_ufcr more useful This function currently doesn't use its parameter. Change prototype to pass in watermark levels, so we can reuse this function in the DMA setup paths. Also relocate to be near the calling functions. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7693c79ce0779e9f3ebeaee747592da42294bc5f Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:33 2015 +0300 serial: 8250_dw: don't set UPF_BOOT_AUTOCONF flag serial8250_register_8250_port adds it to all ports it registers. No need to set it separately. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2338a75e0fe7195a615e66941a183b3286ee2fcd Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:32 2015 +0300 serial: 8250_dw: cleanup dw8250_setup_port Using the same style of declaring variables as used in the other functions of the driver. Passing uart_port to the function instead of uart_8250_port, as it is the one mostly needed. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83ce95ef5efba06e5201c31064d11069bfdb87a0 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:31 2015 +0300 serial: 8250_dw: cleanup dw8250_idma_filter Remove the extra return. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1edb3cf21f4b0be2a5d9577d4913eb9a3131cd16 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:30 2015 +0300 serial: 8250_dw: rename and comment the fallback dma filter Adding comment where the purpose of the function is explained. The dma parameters are not used, so removing them, and also moving the assignment of the function to the same place where the other dw8250_data structures members are being set in dw8250_probe. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c73942e22aa4a3d910f9be8d48de4080c3a52086 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:29 2015 +0300 serial: 8250_dw: proper support for UARTs without busy functionality If the DW_apb_uart is configured with UART_16550_COMPATIBLE configuration parameter set, then the Busy Functionality is not available. These UARTs will never generate the Busy detect indication interrupt, and therefore don't need handling for it. This creates a small optimization for the DW_apb_uarts configured without the busy functionality, but more importantly, it removes the small but real risk of hitting potential issues caused by busy functionality handling when no busy functionality exist. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e08fa50b2f5935a219a323df5380d28f675c585 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:28 2015 +0300 serial: 8250_dw: add dw8250_quirks function Merging the DT and ACPI specific probe functions into dw8250_quirks. Those functions did not have that much code any more and some of the quirks need to be shared. This will also allow platforms without DT or ACPI to use the driver. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f042054faa0f40b5801464ef818f28885e5435e Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:27 2015 +0300 serial: 8250_dw: only setup the port from one place This adds a flag "skip_autocfg" that the platforms that do not have the ADDITIONAL_FEATURES implemented can use to skip the port setup. It's then enough to call dw8250_setup_port just from dw8250_probe based on that flag. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2559318caa76028edc9c0553932a17139e6adc58 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:26 2015 +0300 serial: 8250_dw: hook the DMA in one place Instead of assigning the dma member in dw8250_probe_of and dw8250_probe_acpi separately, assigning it in dw8250_probe. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd8edba10e6aa275434a8daa7ddcaf849fe49ad Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:25 2015 +0300 serial: 8250_dw: adapt to unified device property interface This makes the properties available for all types of platforms instead of just the ones using DT. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78d3da75d54ac7c1984ff19ba6034db2f549df89 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:24 2015 +0300 serial: 8250_dw: add separate pointer for the uart_port to dw8250_probe For convenience, adding separate pointer for the "port" member of struct uart_8250_port that is being filled in the probe function. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25c7ce7f7b511fc02b6eef95595af2cea80e2612 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 19:21:11 2015 +0200 libata: cleanup ata_scsi_qc_complete Remove an incorrect comment and untangle an if statement in ata_scsi_qc_complete. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d05f15707bb7659d2b863fafa1a918f286d74a63 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Sep 14 19:56:03 2015 -0500 serial: 8250: Add OF earlycon support This allows earlycon to be used without needing to specify the I/O address on the kernel command line, if linux,stdout-path is specified in the chosen node. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 913c6c0e947be8fb14d591be69e8966912af9c15 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Aug 28 11:56:19 2015 +0200 serial: imx: add earlycon support Earlycon allows to have an early debugging console that doesn't need to be statically configured in the kernel config, like earlyprintk, but is set up through the stdout-path DT property. This allows to have the early debugging always built into the kernel and enabled on demand without clashing between different boards or architectures. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4cad4c57e0b3e90555a81e79ac7e82b253979697 Author: Abhimanyu Kapur <abhimany@xxxxxxxxxxxxxx> Date: Sat Sep 12 12:44:39 2015 -0500 ARM64: TTY: hvc_dcc: Add support for ARM64 dcc Add support for debug communications channel based hvc console for arm64 cpus. Signed-off-by: Abhimanyu Kapur <abhimany@xxxxxxxxxxxxxx> Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d27070108216b5c689dd3d0bf3ac10ef88570f7 Author: Timur Tabi <timur@xxxxxxxxxxxxxx> Date: Sat Sep 12 12:44:38 2015 -0500 hvc_dcc: don't ignore errors during initialization hvc_instantiate() and hvc_alloc() return errors if they fail, so don't ignore them. Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9af92fbff3b06d75470717361076aa7bd097ff8b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 11:29:03 2015 +0200 tty/serial: at91: move ATMEL_MAX_UART Move ATMEL_MAX_UART from platform_data/atmel.h to atmel_serial.c as this is the only file using it and it is common practise from tty/serial drivers to define it directly in the driver file. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed4492fa91265ff7ffc69a4212533ebe3e7cbe18 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Fri Sep 11 11:38:03 2015 +0000 serial: of-serial: compile correctly when 8250 driver is compiled as module If the 8250 driver is compiled as a module then CONFIG_SERIAL_8250_MODULE is defined and not CONFIG_SERIAL_8250. This results in all those code sections that require CONFIG_SERIAL_8250 to be defined are not included. This patch fixes the situation and allows 8250 and of-serial to be compiled as a module with the same functionality as when compiled into the kernel. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d144aff1363a332e43be3cb431f6f8600a449cdc Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 9 20:34:12 2015 +0200 serial: altera_uart: Use of_property_read_u32 instead of open-coding it Use of_property_read_u32 instead of of_get_property with return value checks and endianness conversion. Also remove the !CONFIG_OF implementation of altera_uart_get_of_uartclk as of_property_read_u32 will return a non-zero value for !CONFIG_OF. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acccab429be7fd83987214c50cfde057ea71d118 Author: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Date: Tue Sep 8 16:55:36 2015 +0100 devicetree: Add JZ4760/JZ4775 to Ingenic SoC UART binding Add these variants of the UART as compatible strings Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx> blah Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c74997bdfe0f81047fc9258af3625deb2f9aff27 Author: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Date: Tue Sep 8 16:55:35 2015 +0100 serial: 8250_ingenic: Enable FIFO for Ingenic UARTs Enable the TX/RX FIFOs present on UARTs in Ingenic SoCs. FIFO sizes vary per device so match these based on the OF compatible string Enabling the FIFOs permits much faster transfer with lower CPU overhead. Tested on Ingenic JZ4780 on the MIPS Ci20 Creator board Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 129a45b1a93b93b1c7f3a60ec6d7a276d6142da5 Author: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Date: Tue Sep 8 16:55:34 2015 +0100 serial: 8250_ingenic: Enable hardware flow control The Ingenic UART is similar to a standard 16550, but hardware flow control requires setting a couple of additional, non-standard bits in the MCR. The non-standard "modem control enable" and "hardware flow control mode" bits are set when writing to the MCR register, based on whether the modem control interrupt is active. Additionally the non-16550 compliant parts of the uart need to be masked from higher layers. Tested on Ingenic JZ4780 on MIPS Creator Ci20 board Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20b5af93505cba9d55577f576fcd0d162eb2ad4a Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Aug 30 23:42:14 2015 +0200 serial: sc16is7xx: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and also "sc16is7xx" is not a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57e7e2a64a49961d2810a6f4f0e1ca2699338ec2 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Sep 19 11:43:07 2015 +0800 serial: mux: Convert to uart_console_device instead of open-coded The implementation of mux_console_device() is very similar to uart_console_device(). Setting .data field in mux_console then we can convert to use uart_console_device(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 740134960811bdeadaf52d6155d8fea97470dcda Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 25 16:49:46 2015 -0300 serial: 68328serial: Use NULL for pointers 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09557c0169d20585a12e2900fe6d00b5128e5ba8 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 15 14:49:00 2015 +0200 serial: samsung: Fix UART status handling in DMA mode So far, when interrupt occured in DMA mode, it was handled by terminating DMA transfer and draining data remaining in RX FIFO. It worked well until interrupt was caused by timeout, but the same interrupt can be alse caused by special condition (eg. 'break'), which requires special handling. In such case handling mechanism was the same - DMA transaction was terminated and FIFO was drained, but any special conditions were ingnored. Because of this in DMA mode there was no ability to use, for example, Magic SysRq. This patch fixes this problem by using s3c24xx_serial_rx_drain_fifo() function instead of uart_rx_drain_fifo(), which does the same thing (drains RX FIFO) plus checks UART status to detect special conditions (such as 'break'). Thanks to this we have exactly the same UART status handling in both DMA and PIO mode. This change additionally simplifies RX handling code, as we no longer need uart_rx_drain_fifo() function, so we can remove it. Reported-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01732dd25c06c127b7a7fba1cf8daad60387795a Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 15 14:48:59 2015 +0200 serial: samsung: introduce s3c24xx_serial_rx_drain_fifo() function This patch introduces s3c24xx_serial_rx_drain_fifo() which reads data from RX FIFO and writes it to tty buffer. It also checks for special conditions (such as 'break') and handles it. This function has been separated from s3c24xx_serial_rx_chars_pio() as it contains code which can be used also in DMA mode. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 620bb21448a2ec38d6c3f1e7d4868ac6e81fa68e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 15 14:48:58 2015 +0200 serial: samsung: remove unneded 'ignore_char' label This label does nothing special and we don't need to have it anymore. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4678afeffa3c3c8020050448af2c226f6c49c56 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 15 14:48:57 2015 +0200 serial: samsung: remove unused 'irq' parameter This parameter is not used anywhere, so we can get rid of it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff4411296e99db2c0896580d8b47348abf3ad703 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 18 13:08:33 2015 +0200 serial: sh-sci: Add DT support to DMA setup Add support for obtaining DMA channel information from the device tree. This requires switching from the legacy sh_dmae_slave structures with hardcoded channel numbers and the corresponding filter function to: 1. dma_request_slave_channel_compat(), - On legacy platforms, dma_request_slave_channel_compat() uses the passed DMA channel numbers that originate from platform device data, - On DT-based platforms, dma_request_slave_channel_compat() will retrieve the information from DT. 2. and the generic dmaengine_slave_config() configuration method, which requires filling in DMA register ports and slave bus widths. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7327c09def48ccfd204025726f11b57a19a9c24 Author: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Date: Fri Sep 18 13:08:32 2015 +0200 serial: sh-sci: Pause DMA engine and get DMA status again Occasionally, DMA transaction completes _after_ DMA engine is stopped. Verify if the transaction has not finished before forcing the engine to stop and push the data Signed-off-by: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b963042b64f5de3c63a1ebcbe2cad6b1597b8b9 Author: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Date: Fri Sep 18 13:08:31 2015 +0200 serial: sh-sci: Do not terminate DMA engine when race condition occurs When DMA packet completion and timer expiry take place at the same time, do not terminate the DMA engine, leading by submission of new descriptors, as the DMA communication hasn't necessarily stopped here. Signed-off-by: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d3db608f933605d2dce44a0262ea94da3407465 Author: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Date: Fri Sep 18 13:08:30 2015 +0200 serial: sh-sci: Call dma_async_issue_pending when transaction completes dmaengine_submit() will not start the DMA operation, it merely adds it to the pending queue. If the queue is no longer running, it won't be restarted until dma_async_issue_pending() is called. Signed-off-by: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> [geert: Add more description] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 371cfed3116bc2ebd173fe55870f77ea1413edac Author: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Date: Fri Sep 18 13:08:29 2015 +0200 serial: sh-sci: Redirect port interrupts to CPU _only_ when DMA stops Since the DMA engine is not stopped everytime rx_timer_fn is called, the interrupts have to be redirected back to CPU only when incomplete DMA transaction is handled Signed-off-by: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ab76556608665c35080f641c73025297d0a2813 Author: Aleksandar Mitev <amitev@xxxxxxxxxxx> Date: Fri Sep 18 13:08:28 2015 +0200 serial: sh-sci: Remove timer on shutdown of port This prevents DMA timer timeout that can trigger after the port has been closed. Signed-off-by: Aleksandar Mitev <amitev@xxxxxxxxxxx> [geert: Move del_timer_sync() outside spinlock to avoid circular locking dependency between rx_timer_fn() and del_timer_sync()] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e5c4b4d154ee0a34e39e1a587f71d4671783abf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 18 13:08:27 2015 +0200 serial: sh-sci: Stop calling sci_start_rx() from sci_request_dma() There's no need to call sci_start_rx() from sci_request_dma() when DMA setup fails, as sci_startup() will call sci_start_rx() anyway. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 756981be7497ab76ae7ccd2fda9223a135320aa1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 18 13:08:26 2015 +0200 serial: sh-sci: Submit RX DMA from RX interrupt on (H)SCIF For DMA receive requests, the driver is only notified by DMA completion after the whole DMA request has been transferred. If less data is received, it will stay stuck until more data arrives. The driver handles this by setting up a timer handler from the receive interrupt, after reception of the first character. Unlike SCIFA and SCIFB, SCIF and HSCIF don't issue receive interrupts on reception of individual characters if a receive DMA request is in progress, so the timer is never set up. To fix receive DMA on SCIF and HSCIF, submit the receive DMA request from the receive interrupt handler instead. In some sense this is similar to the SCIFA/SCIFB behavior, where the RDRQE (Rx Data Transfer Request Enable) bit is also set from the receive interrupt handler. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67f462b069e9d2087d3fe838584730ecefcf9c66 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 18 13:08:25 2015 +0200 serial: sh-sci: Get rid of the workqueue to handle receive DMA requests The receive DMA workqueue function work_fn_rx() handles two things: 1. Reception of a full buffer on completion of a receive DMA request, 2. Reception of a partial buffer on receive DMA time-out. The workqueue is kicked by both the receive DMA completion handler, and by a timer to handle DMA time-out. As there are always two receive DMA requests active, it's possible that the receive DMA completion handler is called a second time before the workqueue function runs. As the time-out handler re-enables the receive interrupt, an interrupt may come in before time-out has been fully handled. Move part 1 into the receive DMA completion handler, and move part 2 into the receive DMA time-out handler, to fix these race conditions. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1910fcdb545acd374b38785b46cbefb1b6f01e9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 18 13:08:24 2015 +0200 serial: sh-sci: Shuffle functions around This allows to: - Remove forward declarations of static functions, - Coalesce two sections protected by #ifdef CONFIG_SERIAL_SH_SCI_DMA, - Avoid shuffling functions around in the near future, - Avoid adding forward declarations in the near future. No functional changes. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3575b8583e7867ac246520e24be7f973df113d6a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Sep 30 11:57:33 2015 +0200 serial: sh-sci: Add device tree support for r8a7795 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99dc8e400e93773fb45c57cc969c7be443d98141 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:57 2015 +0200 serial: sh-sci: Don't call sci_dma_rx_push() if no data has arrived On receive DMA time-out, avoid calling sci_dma_rx_push() if no data was transferred by the timed out DMA request. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8eadb56d6830f169fd225a59e0e27dd97fc762c1 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Fri Aug 21 20:02:56 2015 +0200 serial: sh-sci: Don't kick tx in sci_er_interrupt() when using DMA If CONFIG_SERIAL_SH_SCI_DMA is enabled, the driver doesn't enable TIE on SCIF or HSCIF. However, this driver may call sci_tx_interrupt() in sci_er_interrupt(). After that, the driver cannot care of the interrupt, and then "irq 109: nobody cared" happens on r8a7791/koelsch board. This patch fixes the issue. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> [geert] Keep kicking tx when using PIO Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6403c112f8cf573147f621533d2fa2c3fe015de Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:55 2015 +0200 serial: sh-sci: Don't call sci_rx_interrupt() on error when using DMA The error handler calls sci_rx_interrupt() to drain the receive FIFO if an error condition happens. However, if DMA is enabled on SCIFA or SCIFB, this will call disable_irq_nosync() twice. Due to this imbalance, the receive interrupt will never be re-enabled, and reception stops forever. To fix this, restrict draining the FIFO to PIO mode, and just call sci_receive_chars() directly. Inspired by a patch from Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>. Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b39d901846d2548829e7788eefcfe9091224973 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Fri Aug 21 20:02:54 2015 +0200 serial: sh-sci: Fix NULL pointer dereference if HIGHMEM is enabled This patch fixes an issue that this driver causes a NULL pointer dereference in the following conditions: - CONFIG_HIGHMEM and CONFIG_SERIAL_SH_SCI_DMA are enabled - This driver runs on the sci_dma_rx_push() This issue was caused by virt_to_page(buf) in the sci_request_dma() because this driver didn't check if the "buf" was valid or not. So, this patch uses the "buf" from dma_alloc_coherent() as is, not page. This patch also fixes a WARNING issue in sci_rx_dma_release(): WARNING: CPU: 0 PID: 1328 at lib/dma-debug.c:1125 check_unmap+0x444/0x848() rcar-dmac e6700000.dma-controller: DMA-API: device driver frees DMA memory with different CPU address [device address=0x000000006dd89000] [size=64 bytes] [cpu alloc address=0x000000016189c000] [cpu free address=0x0000000080000000] WARNING: CPU: 1 PID: 1 at drivers/base/dma-mapping.c:334 dma_common_free_remap+0x48/0x6c() trying to free invalid coherent area: (null) Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> [geert] Rebased [geert] Reworded [geert] Dropped .rx_chunk, as it's always identical to .rx_buf[0] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba172c70451ed6688a31e27d8bb5a4631c2003de Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:53 2015 +0200 serial: sh-sci: Use incrementing pointers instead of stack array There's no need to keep all buffer and DMA pointers on the stack. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47b0e94a67d4ab771a05dd23a2c5cc5c2c533fdc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:52 2015 +0200 serial: sh-sci: Use tty_insert_flip_string() for DMA receive Switch from using tty_buffer_request_room() and looping over tty_insert_flip_char() to tty_insert_flip_string(). Keep track of buffer overruns in the icount structure, like serial_core.c does. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0533502d258371cab9eb1a51eaf2ec5d5c11f9bb Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:51 2015 +0200 serial: sh-sci: Pass scatterlist to sci_dma_rx_push() Currently sci_dma_rx_push() has to find the active scatterlist itself, but in some cases the caller already knows. Hence let the caller pass the scatterlist, and introduce a helper to find the active DMA request while we're at it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04928b79d2399e6e924f5345bbda28b63751dcb0 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:50 2015 +0200 serial: sh-sci: Fix race condition between RX worker and cleanup During serial port shutdown, the DMA receive worker function may still be called after the receive DMA cleanup function has been called. Fix this race condition between work_fn_rx() and sci_rx_dma_release() by acquiring the port's spinlock in sci_rx_dma_release(). This requires releasing the spinlock in work_fn_rx() before calling (any function that may call) sci_rx_dma_release(). Terminate all active receive DMA descriptors to release them, and to make sure no more completions come in. Do the same in sci_tx_dma_release() for symmetry, although the serial upper layer will no longer submit more data at this point of time. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0907c1004f9bbe5bda0d3d2be46520b729de5c1d Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Fri Aug 21 20:02:49 2015 +0200 serial: sh-sci: Fix exclusion of work_fn_rx and sci_dma_rx_complete There is a problem when the sci_dma_rx_complete() is processed before cancel process of work_fn_rx() completes by rx_timer_fn(). This patch locks work_fn_rx(). Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47aceb927fffa77b0328b6fde846a6b2182dad01 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:48 2015 +0200 serial: sh-sci: Do not resubmit DMA descriptors Resubmission of DMA descriptors is explicitly forbidden by the DMA engine API. Hence pass DMA_CTRL_ACK to dmaengine_prep_slave_sg(), and prepare a new DMA descriptor instead of reusing the old one. Remove sci_port.desc_rx[], as there's no longer a need to access the active descriptor. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 658daa95b6aec9c06e1d8c4b99d89b186e4b2e72 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:47 2015 +0200 serial: sh-sci: Simplify sci_submit_rx() error handling Simplify the error handling in sci_submit_rx() by - Moving it to the end of the function, - Just calling dmaengine_terminate_all() instead of calling async_tx_ack() for all already submitted descriptors. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32f2ce031f41dc244d3fac71e7bd1d4952d7381b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:46 2015 +0200 serial: sh-sci: Stop acknowledging DMA transmit completions As dmaengine_prep_slave_sg() is called with the DMA_CTRL_ACK flag set for DMA transmit requests, there's no need to explicitly acknowledge DMA transmit requests in the DMA transmit completion callback. Hence remove the call to async_tx_ack(), and remove the now unused dma_async_tx_descriptor pointer in the sci_port structure. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 565dd11aa786765458cca2231e7278b46b996051 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:45 2015 +0200 serial: sh-sci: Switch to generic DMA residue handling Convert the SCI driver from the SHDMAE-specific partial DMA transfer handling to the generic dmaengine residual data framework. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e14670c06968554c67b36d05e8c52c36c14671a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:44 2015 +0200 serial: sh-sci: Use DMA submission helpers instead of open-coding Replace open-coded - calls to dma_async_tx_descriptor.tx_submit() by calls to the dmaengine_submit() helper, - dma_cookie_t comparisons by calls to dma_submit_error(). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e301474f15f00b3f2ccde85f6f19b17ec7ee70d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:43 2015 +0200 serial: sh-sci: Fix TX buffer mapping leak The mapped transmit buffer is never unmapped. This leaks quite some mappings, as the mapping is done in uart_ops.startup(), i.e. every time the device is opened. Unmap the buffer on device close. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79904420b7be91d6aa84cbfa293f17545d9d5c49 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:42 2015 +0200 serial: sh-sci: Switch to dma_map_single() for DMA transmission Simplify the DMA transmit code by using dma_map_single() instead of constantly modifying the single-entry scatterlist to match what's currently being transmitted. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 092248aa326794ce758b7a4bb60827b661abafa8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:41 2015 +0200 serial: sh-sci: Use min_t()/max_t() instead of casts When comparing differently sized types, it's better to use min_t()/max_t() than adding casts. Also use "unsigned int" instead of "int", as that's the right type for the length of an SG entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e14ba8f8b733840659d79e38758fb2b6c765dc5 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:40 2015 +0200 serial: sh-sci: Use correct device for DMA mapping with IOMMU To function correctly in the presence of an IOMMU, the DMA buffers must be managed using the DMA channel's device instead of the platform device's device. Make sure to free the DMA memory before releasing the channel, not after. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9258020264dfacb8695df181d766fa9a079ab15 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:39 2015 +0200 serial: sh-sci: Handle DMA init failures inside sci_request_dma() Let sci_request_dma() handle failures to initialize DMA itself. This way sci_tx_dma_release() and sci_rx_dma_release() don't have to consider partial initialization, and thus don't need to reset DMA addresses to DMA_ERROR_CODE, which is not 100% portable access architectures. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5835c1d0e30c7d0a48aa36e3a353c7d54ace470 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:38 2015 +0200 serial: sh-sci: Improve comments for DMA timeout calculation Reformat, grammar improvements, use "ms" instead of "msec". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit beb9487b0c18650da16ef088ec859d6e421fade1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:37 2015 +0200 serial: sh-sci: Improve DMA error messages Make the life of the driver developer/debugger easier: - Add __func__ prefix to identical messages, - Add DMA directions to messages, - Add TX failure messages, - Always use "cookie %d" for DMA cookies, - "#%d" is reserved for the DMA cookie/descriptor index. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 908030727ba83b2859097ecdb52b55ea13e354b3 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Fri Aug 21 20:02:36 2015 +0200 serial: sh-sci: Return IRQ_HANDLED when overrun if detected This patch fix an issue that the driver may cause "nobody cared" IRQ when this driver detects the overrun flag only. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0a12a27e834a71a3a21208e2e7e9f7c959def72 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:35 2015 +0200 serial: sh-sci: Remove bogus sci_handle_fifo_overrun() call on (H)SCIF Commit 8b6ff84c2d445a47 ("serial: sh-sci: Fix R-Car SCIF and HSCIF overrun handling") added overrun handling for (H)SCIF using the SCLSR register, but also accidentally added a bogus call to sci_handle_fifo_overrun() in the receive interrupt path. Remove it again. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4205463ce14b2814b31cfa5aa2b31ceda412133a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:34 2015 +0200 serial: sh-sci: Remove useless memory allocation failure printks Printing an error on memory allocation failures is unnecessary. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3184e68868ae17647506531381aa6cd503f1c14 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:33 2015 +0200 serial: sh-sci: Make sci_regmap[] const Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d56a91e8123f8dd51cd374a2f1bfadc437cd2d6a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:32 2015 +0200 serial: sh-sci: Make sci_irq_desc[] const Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f84b6bdcabc49ce0541687a8d875b648e26af560 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:31 2015 +0200 serial: sh-sci: Improve readability of sampling rate configuration Reorder sampling_rate assignment for consistency in all cases of the switch statement. Avoid using the ternary conditional operator to make it more clear that the value is overridden by platform data. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b933bd3200196d247184b26f10472f08b0036d0f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:30 2015 +0200 serial: sh-sci: Drop path in reference to serial_core.c serial_core.c was moved from drivers/serial/ to drivers/tty/serial/ a while ago. Remove the path to make it move-proof. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2944a331b764e65adad1bc374fe456f1e3567b0c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:29 2015 +0200 serial: sh-sci: Use SCSMR_CKS instead of hardcoded literal 3 Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54af5001e1b804f93aa02b1265857f19ad15784f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:28 2015 +0200 serial: sh-sci: Use SCIF_DR instead of hardcoded literal 1 Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5da0f468745bc2dd992f49511bae5183efadfa05 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:27 2015 +0200 serial: sh-sci: Correct SCIF_ERROR_CLEAR for plain SCIF SCIF_ERROR_CLEAR includes SCIFA_ORER, which exists only on SCIFA/SCIFB and SCIF on sh7705/sh7720/sh7721. To fix this: 1. Remove SCIFA_ORER from the definition of SCIF_ERROR_CLEAR, 2. During initialization, store the error clear mask to use, incorporating the overrun bit only if it applies to the SCxSR register. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9efeca613a8fe5281d7c91f5c8c9ea46f2312f6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:26 2015 +0200 serial: sh-sci: Prevent compiler warnings on 64-bit Expressions involving "BIT(...)" create values of type "long", which is 64-bit on 64-bit. Hence "~BIT(...)" no longer fits in 32-bit, which will cause future compiler warnings when assigning to 32-bit variables: drivers/tty/serial/sh-sci.c: In function 'sci_init_single': drivers/tty/serial/sh-sci.h:58:25: warning: large integer implicitly truncated to unsigned type [-Woverflow] #define SCI_ERROR_CLEAR ~(SCI_RESERVED | SCI_PER | SCI_FER | SCI_ORER) ^ drivers/tty/serial/sh-sci.c:2325:27: note: in expansion of macro 'SCI_ERROR_CLEAR' sci_port->error_clear = SCI_ERROR_CLEAR; As these values are (at most) 32-bit register values anyway, cast them to "u32" at the definition level to prevent such compiler warnings. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1b5b43ffb84945cbdc5cbdb993d3195c7e77cbb Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:25 2015 +0200 serial: sh-sci: Replace buggy big #ifdef by runtime logic The #ifdef logic to clear SCxSR bits using RMW on SCIFA/SCIFB and SCIF variants with some SCIFA features (sh7705/SH7720/sh7721) has several drawbacks: - It wasn't updated for newer R-Mobile variants (APE6), - It doesn't correctly handle SoCs with both SCIF and SCIFA/B (e.g. R-Car Gen2, but also legacy sh7723/sh7724), - It doesn't play well with ARM multi-platform kernels: on R-Car Gen2, SCIF/SCIFA/SCIFB/HSCIF were handled differently, depending on whether r8a7740 or sh73a0 support was enabled or not, Replace the #ifdef logic by runtime logic to fix this. SCIFA/SCIFB and SCIF on sh7705/sh7720/sh7721 use RMW to clear error bits, other variants use plain stores, as before. Note that this changes behavior for SCIFA on sh7723/sh7724 (these SoCs have both SCIF and SCIFA), which didn't use RMW before. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a23a1d10bd0c25457d6dfda1b0e754bf8a8e973 Author: Taichi Kageyama <t-kageyama@xxxxxxxxxxxxx> Date: Mon Aug 17 02:45:29 2015 +0000 serial: 8250: Fix autoconfig_irq() to avoid race conditions The following race conditions can happen when a serial port is used as console. Case1: CPU_B is used to detect an interrupt from a serial port, but it can have interrupts disabled during the waiting time. Case2: CPU_B clears UART_IER just after CPU_A sets UART_IER and then a serial port may not make an interrupt. Case3: CPU_A sets UART_IER just after CPU_B clears UART_IER. This is an unexpected behavior for serial8250_console_write(). CPU_A [autoconfig_irq] | CPU_B [serial8250_console_write] ----------------------------|--------------------------------------- | probe_irq_on() | spin_lock_irqsave(&port->lock,) serial_outp(,UART_IER,0x0f) | serial_out(,UART_IER,0) udelay(20); | uart_console_write() probe_irq_off() | | spin_unlock_irqrestore(&port->lock,) Case1 and 2 can make autoconfig_irq() failed. In these cases, the console doesn't work in interrupt mode and "input overrun" (which can make operation mistakes) can happen on some systems. Especially in the Case1, It is known that the problem happens with high rate every boot once it occurs because the boot sequence is always almost same. port mutex makes sure that the autoconfig operation is exclusive of any other concurrent HW access except by the console operation. console lock is required in autoconfig_irq(). Signed-off-by: Taichi Kageyama <t-kageyama@xxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4b4e3176f4dc1c3bb13aab54982381c5cf10217 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Sep 24 21:18:34 2015 +0200 serial: mpc52xx: add delay after resetting transmitter to fix broken chars This fixes receiving broken characters on the console from an MPC5125 system when systemd comes up which repeatedly opens and shuts down the console device. Trial and error with the needed interval showed that 500 us are good enough most of the time when using 38400 Bd, so I think 1 ms is a good compromise between fixing the issue and not penalize faster setups too much. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b1dd999b6162ea477de94954d96dc2f1fcc330a Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 19 17:48:09 2015 -0400 drivers/tty: make serial 8250_lpc18xx.c Kconfig a tristate The Kconfig currently controlling compilation of this code is: 8250/Kconfig:config SERIAL_8250_LPC18XX 8250/Kconfig: bool "NXP LPC18xx/43xx serial port support" ...meaning that it currently is not being built as a module by anyone. When targetting orphaned modular code in non-modular drivers, this came up. Joachim indicated that the driver was actually meant to be tristate but ended up bool by accident. So here we make it tristate instead of removing the modular code that was essentially orphaned. Suggested-by: Joachim Eastwood <manabian@xxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Acked-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 128a3d0603862ce41da322c19d0cc264625d5206 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 19 17:48:08 2015 -0400 drivers/tty: make serial/mpsc.c driver explicitly non-modular The Kconfig for this driver is currently: config SERIAL_MPSC bool "Marvell MPSC serial port 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. 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 4b07dd3df3e0928d2abaed32074715723d461744 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 19 17:48:07 2015 -0400 drivers/tty: make hvc_console.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/tty/hvc/Kconfig:config HVC_DRIVER drivers/tty/hvc/Kconfig: bool ...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, even though someone bothered to comment that the code was not used. Unlike other changes, this driver binds in w/o using module_init, so we dont have init ordering concerns with this commit. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bce6f6434a14d3bb444483476885f0d2a32329e Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 19 17:48:06 2015 -0400 drivers/tty: make sysrq.c slightly more explicitly non-modular The Kconfig currently controlling compilation of this code is: config.debug:config MAGIC_SYSRQ bool "Magic SysRq key" ...meaning that it currently is not being built as a module by anyone. Lets remove the traces of modularity we can so that when reading the driver there is less 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 delete the module.h include since other parts of the file are using content from there. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7154988fec43fe2ed986f3b7dd5b43171fab64d6 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 19 17:48:05 2015 -0400 drivers/tty: make pty.c slightly more explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/tty/Kconfig:config LEGACY_PTYS drivers/tty/Kconfig: bool "Legacy (BSD) PTY support" ...and: drivers/tty/Kconfig:config UNIX98_PTYS drivers/tty/Kconfig: bool "Unix98 PTY support" if EXPERT combined with this: obj-$(CONFIG_LEGACY_PTYS) += pty.o obj-$(CONFIG_UNIX98_PTYS) += pty.o ...meaning that it currently is not being built as a module by anyone. Lets remove the traces of modularity we can so that when reading the driver there is less 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 delete the module.h include since other parts of the file are using content from there. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4fda3a0427526bcbca4e2b6528bc95a6fbc15ed Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Sep 27 16:25:56 2015 +0200 serial: don't register CIR serial ports CIR type serial ports aren't real serial ports. This is just a way to prevent legacy 8250 serial driver from probing and eventually binding some resources. Since in current state such ports aren't providing any real functionality and it is not possible to change their type via setserial/ioctl(TIOCSSERIAL) (due to UPF_FIXED_PORT flag set on them) it is simpler and cleaner to not register them at all with serial core. Print a short message in this case so it is known to user what has happened. This way checks for PORT_8250_CIR in serial port callbacks can be removed too, since they won't ever be called. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 658e2ebce5213897665f8488f951364a5eb5d96b Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Aug 14 18:01:03 2015 +0200 serial: 8250_omap: check how many bytes were injected The function tty_insert_flip_string() returns an int and as such it might fail. So the result is that I kindly asked to insert 48 bytes and the function only insterted 32. I have no idea what to do with the remaining 16 so I think dropping them is the only option. I also increase the buf_overrun counter so userpace has a clue that we lost bytes. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Tested-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 425a570e1bfaeadaf6558df1e14e1735d5a76c10 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 4 09:17:03 2015 +0900 ALSA: bebob: support Firewire I/O card of Mackie Onyx 1220/1620/1640 Current ALSA BeBoB drivers has an entry for this model, while the value of vendor ID seems to be wrong according to an user's report. The vendor had released no updated firmware, thus we can judge that this model had not changed the content of its config ROM. It's reasonable to fix the ID according to the report. $ ./linux-firewire-utils/src/crpp < /sys/bus/firewire/devices/fw1/config_rom ROM header and bus information block ----------------------------------------------------------------- 400 0425720f bus_info_length 4, crc_length 37, crc 29199 404 31333934 bus_name "1394" 408 f0646122 irmc 1, cmc 1, isc 1, bmc 1, pmc 0, cyc_clk_acc 100, max_rec 6 (128), max_rom 1, gen 2, spd 2 (S400) 40c 00000ff2 company_id 00000f | 410 00004697 device_id f200004697 | EUI-64 00000ff200004697 root directory ----------------------------------------------------------------- 414 000859be directory_length 8, crc 22974 418 04000082 hardware version 41c 0c0083c0 node capabilities per IEEE 1394 420 03000ff2 vendor 424 8100000a --> descriptor leaf at 44c 428 17010065 model 42c 8100000d --> descriptor leaf at 460 430 13000910 version 434 d1000001 --> unit directory at 438 unit directory at 438 ----------------------------------------------------------------- 438 0004ccec directory_length 4, crc 52460 43c 1200a02d specifier id: 1394 TA 440 13010001 version: AV/C 444 17010065 model 448 8100000d --> descriptor leaf at 47c descriptor leaf at 44c ----------------------------------------------------------------- 44c 0004152a leaf_length 4, crc 5418 450 00000000 textual descriptor 454 00000000 minimal ASCII 458 4d61636b "Mack" 45c 69650000 "ie" descriptor leaf at 460 ----------------------------------------------------------------- 460 000612b5 leaf_length 6, crc 4789 464 00000000 textual descriptor 468 00000000 minimal ASCII 46c 4f6e7978 "Onyx" 470 20466972 " Fir" 474 65776972 "ewir" 478 65000000 "e" descriptor leaf at 47c ----------------------------------------------------------------- 47c 000612b5 leaf_length 6, crc 4789 480 00000000 textual descriptor 484 00000000 minimal ASCII 488 4f6e7978 "Onyx" 48c 20466972 " Fir" 490 65776972 "ewir" 494 65000000 "e" $ cat /proc/asound/card3/firewire/firmware Manufacturer: bridgeCo Protocol Ver: 1 Build Ver: 0 GUID: 0x00000FF200004697 Model ID: 0x82 Model Rev: 1 Firmware Date: 20040430 Firmware Time: 131527 Firmware ID: 0x10065 Firmware Ver: 2320 Base Addr: 0x20080000 Max Size: 1572864 Loader Date: 20040430 Loader Time: 112036 Reported-by: Andrzej Gansiniec <andrzej@xxxxxxxxxxxx> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 43e53407f6805044bd13e8bf837e169d38ad0458 Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:37 2015 +0200 Add tsys01 meas-spec driver support Support for TSYS01 temperature sensor Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d574a87cc311cb01486b8947a9133814a79e2e6e Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:36 2015 +0200 Add meas-spec sensors common part Measurement specialties drivers common part. These functions are used by further drivers in the patchset: TSYS01, TSYS02D, HTU21, MS5637, MS8607 Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0bc2763f569ff9533a8222bcb884ef0e22569a72 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sat Oct 3 11:00:14 2015 +0800 RDMA/amso1100: use offset_in_page macro Use offset_in_page macro instead of (addr & ~PAGE_MASK). Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1ab75dd6212992cdc0803315f29fdefc45735f1 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sat Oct 3 10:43:11 2015 +0800 IB/ipath: use offset_in_page macro Use offset_in_page macro instead of (addr & ~PAGE_MASK). Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e260e404ba45422e816eb3af01687870097745ac Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sat Oct 3 10:34:59 2015 +0800 IB/hfi1: use offset_in_page macro Use offset_in_page macro instead of (addr & ~PAGE_MASK). Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a81fc20eadcf193a4517fd5ee862c3d465aceb3 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 6 14:25:35 2015 +0900 android, lmk: Send SIGKILL before setting TIF_MEMDIE. It was observed that setting TIF_MEMDIE before sending SIGKILL at oom_kill_process() allows memory reserves to be depleted by allocations which are not needed for terminating the OOM victim. This patch reverts commit 6bc2b856bb7c ("staging: android: lowmemorykiller: set TIF_MEMDIE before send kill sig"), for oom_kill_process() was updated to send SIGKILL before setting TIF_MEMDIE. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b76968db6869666c9b30ea99894e9dd88a0ab13 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 28 12:31:10 2015 -0700 spmi: pmic-arb: u8 <= 0xff is always true Silences this static checker warning: drivers/spmi/spmi-pmic-arb.c:363 pmic_arb_write_cmd() warn: always true condition '(opc <= 255) => (0-255 <= 255)' Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5144796db928b1f7a074c4be3575c50951c9569 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 28 12:21:42 2015 -0700 spmi: pmic-arb: Don't byte swap when reading/writing FIFO We don't want to swap bytes that we're reading and writing to the FIFOs when we're running on a big-endian CPU. Doing so causes problems like where the qcom-spmi-iadc driver can't detect the type of device because the bytes are all mixed up. Use the raw IO accessors for these API instead, and collapse pmic_arb_base_read() into the byte reading API so that we aren't tempted to read non-FIFO data like commands with that function. Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48e3d668b7902cca3c61e9e2098e7f76b5646c28 Author: Philip P. Moltmann <moltmann@xxxxxxxxxx> Date: Thu Aug 6 15:18:01 2015 -0700 VMware balloon: Enable notification via VMCI Get notified immediately when a balloon target is set, instead of waiting for up to one second. The up-to 1 second gap could be long enough to cause swapping inside of the VM that receives the VM. Acked-by: Andy King <acking@xxxxxxxxxx> Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Tested-by: Siva Sankar Reddy B <sankars@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7568c130d0d0ff1fc5b364fc879b91f108a3d54 Author: Philip P. Moltmann <moltmann@xxxxxxxxxx> Date: Thu Aug 6 15:18:01 2015 -0700 VMware balloon: Treat init like reset Unify the behavior of the first start of the balloon and a reset. Also on unload, declare that the balloon driver does not have any capabilities anymore. Acked-by: Andy King <acking@xxxxxxxxxx> Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 365bd7ef7ec8eb9c2e081cd970a5cdfa237dc243 Author: Philip P. Moltmann <moltmann@xxxxxxxxxx> Date: Thu Aug 6 15:18:01 2015 -0700 VMware balloon: Support 2m page ballooning. 2m ballooning significantly reduces the hypervisor side (and guest side) overhead of ballooning and unballooning. hypervisor only: balloon unballoon 4 KB 2 GB/s 2.6 GB/s 2 MB 54 GB/s 767 GB/s Use 2 MB pages as the hypervisor is alwys 64bit and 2 MB is the smallest supported super-page size. The code has to run on older versions of ESX and old balloon drivers run on newer version of ESX. Hence match the capabilities with the host before 2m page ballooning could be enabled. Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33d268ed00190e8bc642508f9eb2f3f9ac0a1569 Author: Philip P. Moltmann <moltmann@xxxxxxxxxx> Date: Thu Aug 6 15:18:01 2015 -0700 VMware balloon: Do not limit the amount of frees and allocations in non-sleep mode. When VMware's hypervisor requests a VM to reclaim memory this is preferrably done via ballooning. If the balloon driver does not return memory fast enough, more drastic methods, such as hypervisor-level swapping are needed. These other methods cause performance issues, e.g. hypervisor-level swapping requires the hypervisor to swap in a page syncronously while the virtual CPU is blocked. Hence it is in the interest of the VM to balloon memory as fast as possible. The problem with doing this is that the VM might end up doing nothing else than ballooning and the user might notice that the VM is stalled, esp. when the VM has only a single virtual CPU. This is less of a problem if the VM and the hypervisor perform balloon operations faster. Also the balloon driver yields regularly, hence on a single virtual CPU the Linux scheduler should be able to properly time-slice between ballooning and other tasks. Testing Done: quickly ballooned a lot of pages while wathing if there are any perceived hickups (periods of non-responsiveness) in the execution of the linux VM. No such hickups were seen. Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b36e89da86022c04fa5e7c32f0d55c1ba23c1ab8 Author: Philip P. Moltmann <moltmann@xxxxxxxxxx> Date: Thu Aug 6 15:18:00 2015 -0700 VMware balloon: Show capabilities of balloon and resulting capabilities in the debug-fs node. This helps with debugging vmw_balloon behavior, as it is clear what functionality is enabled. Acked-by: Andy King <acking@xxxxxxxxxx> Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4670de4d7fe9532c8c7c7fe2d0c297b319086854 Author: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Date: Thu Aug 6 15:17:59 2015 -0700 VMware balloon: Update balloon target on each lock/unlock. Instead of waiting for the next GET_TARGET command, we can react faster by exploiting the fact that each hypervisor call also returns the balloon target. 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 f220a80f0c2e790e445ee6b7d90759292b4c3a66 Author: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Date: Thu Aug 6 15:17:58 2015 -0700 VMware balloon: add batching to the vmw_balloon. Introduce a new capability to the driver that allow sending 512 pages in one hypervisor call. This reduce the cost of the driver when reclaiming memory. Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dtor@xxxxxxxxxx> Signed-off-by: Philip P. Moltmann <moltmann@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d4896a507d7e169c62468c6f44ace368dc7880b Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Sep 29 23:33:56 2015 -0700 misc: genwqe: fix a comment typo Just fix a typo in the code comment. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9e5fe58265d2af5472ea49ec82428e53ac00431 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 21 15:48:19 2015 +0530 misc: sgi-gru: fix return of error If kzalloc() fails then gms is NULL and we are returning NULL, but the functions which called this function gru_register_mmu_notifier() are not expecting NULL as the return. They are expecting either a valid pointer or the error code in ERR_PTR. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dcf9cbfa17f03a4ecda4310ab76138ce9173555 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 15:48:18 2015 +0530 misc: sgi-gru: gruhandles.c: Remove unused function Remove the function tfh_restart() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b74afe5892ddcc46281a9038563afad78afb48fb Author: Manuel Schölling <manuel.schoelling@xxxxxx> Date: Mon Sep 21 15:48:17 2015 +0530 misc: sgi-gru: use time_before() To be future-proof and for better readability the time comparisons are modified to use time_before() instead of plain, error-prone math. Signed-off-by: Manuel Schölling <manuel.schoelling@xxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d18243293a48cddf0a91d19b3da18551e18419b5 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:16:25 2015 -0700 misc: mic: SCIF RMA nodeqp and minor miscellaneous changes This patch adds the SCIF kernel node QP control messages required to enable SCIF RMAs. Examples of such node QP control messages include registration, unregistration, remote memory allocation requests, remote memory unmap and SCIF remote fence requests. The patch also updates the SCIF driver with minor changes required to enable SCIF RMAs by adding the new files to the build, initializing RMA specific information during SCIF endpoint creation, reserving SCIF DMA channels, initializing SCIF RMA specific global data structures, adding the IOCTL hooks required for SCIF RMAs and updating RMA specific debugfs hooks. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 564c8d8dfc39638978ac37d37f61733240f31a36 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:16:19 2015 -0700 misc: mic: SCIF fence This patch implements the fence APIs required to synchronize DMAs. SCIF provides an interface to return a "mark" for all DMAs programmed at the instant the API was called. Users can then "wait" on the mark provided previously by blocking inside the kernel. Upon receipt of a DMA completion interrupt the waiting thread is woken up. There is also an interface to signal DMA completion by polling for a location to be updated via a "signal" cookie to avoid the interrupt overhead in the mark/wait interface. SCIF allows programming fences on both the local and the remote node for both the mark/wait or the fence signal APIs. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cc31cd27752e5e92f968e39095c4ea9d78c758e Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:16:04 2015 -0700 misc: mic: SCIF DMA and CPU copy interface SCIF allows users to read from or write to registered remote memory via CPU copies or DMA. The API verifies that both local and remote windows are valid before initiating the CPU or DMA transfers. SCIF has optimized algorithms for handling byte aligned as well as cache line aligned DMA engines. A registration cache is maintained to avoid the overhead of pinning pages repeatedly if buffers are reused. The registration cache is invalidated upon receipt of MMU notifier callbacks. SCIF windows are destroyed and the pages are unpinned only once all prior DMAs initiated using that window are drained. Users can request synchronous DMA operations as well as tail byte ordering if required. CPU copies are always performed synchronously. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1a2d865e78d00a4b6d364a8e341b6ebe4f10228 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:15:55 2015 -0700 misc: mic: SCIF remote memory map/unmap interface This patch implements the SCIF mmap/munmap interface. A similar capability is provided to kernel clients via the scif_get_pages()/scif_put_pages() APIs. The SCIF mmap interface queries to check if a window is valid and then remaps the local virtual address to the remote physical pages. These mappings are subsequently destroyed upon receipt of the VMA close operation or scif_get_pages(). This functionality allows SCIF users to directly access remote memory without any driver interaction once the mappings are created thereby providing bare-metal PCIe latency. These mappings are zapped to avoid RMA accesses from user space, if a Coprocessor is reset. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 168ef015ca053e34c1d66c61c3c3f2cbaadbb20a Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:15:44 2015 -0700 misc: mic: SCIF RMA list operations This patch adds the implementation for operations performed on the list of SCIF windows. Examples of such operations includes adding the windows to the list of registered (or cached) windows, querying the list of self or remote windows and unregistering windows. The query operation is used by SCIF APIs which initiate DMAs, CPU copies or fences to ensure that a window remains valid during a transfer. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba612aa8b487bdf345602a23315c30a181bf6406 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:15:29 2015 -0700 misc: mic: SCIF memory registration and unregistration This patch implements the SCIF APIs required to pin and unpin pages. SCIF registration locks down the pages. It then sends a remote window allocation request to the peer. Once the peer has allocated memory, the local SCIF endpoint copies the pinned page information to the peer and notifies the peer once the copy has complete. The peer upon receipt of the registration notification adds the new remote window to its list. At this point the window page information is available on both self and remote nodes so that they can start performing SCIF DMAs, CPU copies and fences. The unregistration API tears down the registration at both self and remote nodes. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3ae6175dd371fcf5855452257b30c492f59054a Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:15:15 2015 -0700 misc: mic: SCIF RMA header file This patch adds the internal data structures required to perform SCIF RMAs. The data structures required to maintain per SCIF endpoint, RMA information are contained in scif_endpt_rma_info. scif_pinned_pages describes a set of SCIF pinned pages maintained locally. The scif_window is a data structure which contains all the fields required to describe a SCIF registered window on self and remote nodes. It contains an offset which is used as a key to perform SCIF DMAs and CPU copies between self and remote registered windows. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a44f2630d78bfafc8eb5ab7d8b7b8cd4642ba749 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:15:03 2015 -0700 misc: mic: SCIF RMA header file and IOCTL changes This patch updates the SCIF header file and IOCTL interface with the changes required to support RMAs. APIs added include the ability to pin pages and register those pages with SCIF. SCIF kernel clients can also add references to remote registered pages and access them via the CPU. The user space IOCTL interface has been updated to enable SCIF registration, RDMA/CPU copies and fence APIs for RDMA synchronization. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4a66c20448257fbb8932827e5f766b74d1acbf0 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:14:30 2015 -0700 misc: mic: Update MIC host daemon with COSM changes This patch updates the MIC host daemon to work with corresponding changes in COSM. Other MIC daemon fixes, cleanups and enhancements as are also rolled into this patch. Changes to MIC sysfs ABI which go into effect with this patch are also documented. Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d411e79391092925457d89b77d7cd3038ba6d04b Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:13:54 2015 -0700 misc: mic: Remove COSM functionality from the MIC card driver Since card side COSM functionality, to trigger MIC device shutdowns and communicate shutdown status to the host, is now moved into a separate COSM client driver, this patch removes this functionality from the base MIC card driver. The mic_bus driver is also updated to use the device index provided by COSM rather than maintain its own device index. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1da2b3eeef3667dbb92749f269e81757a6a79a16 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:13:26 2015 -0700 misc: mic: Remove COSM functionality from the MIC host driver Since COSM functionality is now moved into a separate COSM driver drivers, this patch removes this functionality from the base MIC host driver. The MIC host driver now implements cosm_hw_ops and registers a COSM device which allows the COSM driver to trigger boot/shutdown/reset of the MIC devices via the cosm_hw_ops. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cb46d9bffd949244f4ac784c94f4caae1ac206c Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:13:03 2015 -0700 misc: mic: COSM client driver The COSM client driver running on the MIC cards is implemented as a kernel mode SCIF client. It responds to a "shutdown" message from the host by triggering a card shutdown and also communicates the shutdown or reboot status back the host. It is also responsible for syncing the card time to that of the host. Because SCIF messaging cannot be used in a panic context, the COSM client driver also periodically sends a heartbeat SCIF message to the host thereby enabling the host to detect card crashes. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6727b613573f9902e6f0fc60abf6289f5e7f4593 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:12:48 2015 -0700 misc: mic: COSM SCIF server The COSM driver communicates with the MIC cards over SCIF. A SCIF "server" listens for incoming connections from "client" MIC cards as they boot. After the connection is accepted a separate work item is scheduled for each MIC card. This work item normally stays blocked in scif_poll but wakes up to process messages from the card. The SCIF connection between the host and card COSM components is used to (a) send the command to shut down the card (b) receive shutdown status back from the card upon completion of shutdown (c) receive periodic heartbeat messages to detect card crashes (d) send host time to the card to enable the card to sync its time to the host. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8487a26b285feea2cb210efec42c49dce9ae708 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:12:27 2015 -0700 misc: mic: Coprocessor State Management (COSM) driver The COSM driver allows boot, shutdown and reset of Intel MIC devices via sysfs. This functionality was previously present in the Intel MIC host driver but has now been taken out into a separate driver so that it can be shared between multiple generations of Intel MIC products. The sysfs kernel ABI used by the COSM driver is the same as that defined originally for the MIC host driver in Documentation/ABI/testing/sysfs-class-mic.txt. The COSM driver also contains support for dumping the MIC card log_buf and doing a "force reset" for the card via debugfs. The OSPM support present in the MIC host driver has now largely been moved to user space and only a small required OSPM functionality is now present in the driver. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3283d831a71d53234fcc279e0d9ed262cef94d5 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:12:03 2015 -0700 misc: mic: MIC COSM bus The MIC COSM bus allows the co-processor state management (COSM) functionality to be shared between multiple generations of Intel MIC products. The COSM driver registers itself on the COSM bus. The base PCIe drivers implement the bus ops and register COSM devices on the bus, resulting in the COSM driver being probed with the COSM devices. COSM bus ops, e.g. start, stop, ready, reset, therefore abstract out common functionality from its specific implementation for individual generations of MIC products. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3d912eb7386b7512f131b34407978cecccb3703 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:11:15 2015 -0700 misc: mic: Add support for kernel mode SCIF clients Add support for registration/de-registration of kernel mode SCIF clients. SCIF clients are probed with new and existing SCIF peer devices. Similarly the client remove method is called when SCIF peer devices are removed. Changes to SCIF peer device framework necessitated by supporting kernel mode SCIF clients are also included in this patch. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7f944411b4a628443f84a542858a8c78847bb48 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:10:44 2015 -0700 misc: mic: SCIF poll SCIF poll allows both user and kernel mode clients to wait on events on a SCIF endpoint. These events include availability of space or data in the SCIF ring buffer, availability of connection requests on a listening endpoint and completion of connections when using async connects. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff39988abd70bcd1b14a4c81f2d102e67b8db580 Author: Siva Yerramreddy <yshivakrishna@xxxxxxxxx> Date: Tue Sep 29 18:09:37 2015 -0700 dma: Add support to program MIC x100 status descriptiors The MIC X100 DMA engine has a special status descriptor which writes an 8 byte value to a destination location. This is used to signal completion of all DMA descriptors prior to the status descriptor. This patch add a new DMA engine API which enables updating a destination address with an 8 byte immediate data value. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Lawrynowicz, Jacek <jacek.lawrynowicz@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Siva Yerramreddy <yshivakrishna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 353649e5da909070146ca729acd38726bf2059c5 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:09:05 2015 -0700 iommu: Allow iova to be used without requiring IOMMU_SUPPORT iova is a library which can be built without IOMMU_SUPPORT Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 234bc0d6677fb1deaa3b104361866849cbb513bb Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Tue Sep 29 18:08:26 2015 -0700 iommu: Make the iova library a module The iova library has use outside the intel-iommu driver, thus make it a module. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11e33955b9abb41b99d75cdf8cd385d705b95ace Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Tue Sep 29 18:07:30 2015 -0700 iommu: iova: Export symbols Use EXPORT_SYMBOL_GPL() to export the iova library symbols. The symbols include: init_iova_domain(); iova_cache_get(); iova_cache_put(); iova_cache_init(); alloc_iova(); find_iova(); __free_iova(); free_iova(); put_iova_domain(); reserve_iova(); copy_reserved_iova(); Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09e8b485ee4212f78bf27c8d727845919f85cf1f Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Tue Sep 29 18:07:02 2015 -0700 iommu: iova: Move iova cache management to the iova library This is necessary to separate intel-iommu from the iova library. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19f7767e297f81726e0bd7bf3729178c41b94079 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 18:23:50 2015 +0200 misc/genwqe: get rid of atomic allocations we received reports of failed allocations in genwqe code: [ 733.550955] genwqe_gzip: page allocation failure: order:1, mode:0x20 [ 733.550964] CPU: 2 PID: 1846 Comm: genwqe_gzip Not tainted 4.3.0-rc3-00042-g3225031 #78 [ 733.550968] 000000002782b830 000000002782b8c0 0000000000000002 0000000000000000 000000002782b960 000000002782b8d8 000000002782b8d8 00000000001134a0 0000000000000000 0000000000892b2a 0000000000871d0a 000000000000000b 000000002782b920 000000002782b8c0 0000000000000000 0000000000000000 0000000000000000 00000000001134a0 000000002782b8c0 000000002782b920 [ 733.551003] Call Trace: [ 733.551013] ([<0000000000113388>] show_trace+0xf8/0x158) [ 733.551018] [<0000000000113452>] show_stack+0x6a/0xe8 [ 733.551024] [<00000000004611d4>] dump_stack+0x7c/0xd8 [ 733.551031] [<000000000024dc22>] warn_alloc_failed+0xda/0x150 [ 733.551036] [<000000000025268e>] __alloc_pages_nodemask+0x94e/0xbc0 [ 733.551041] [<000000000012bcd8>] s390_dma_alloc+0x70/0x1a0 [ 733.551054] [<000003ff804d8e8c>] __genwqe_alloc_consistent+0x84/0xd0 [genwqe_card] [ 733.551063] [<000003ff804d90c2>] genwqe_alloc_sync_sgl+0x13a/0x328 [genwqe_card] [ 733.551066] [<000003ff804d41a0>] do_execute_ddcb+0x1f8/0x388 [genwqe_card] [ 733.551069] [<000003ff804d48c8>] genwqe_ioctl+0x598/0xd50 [genwqe_card] [ 733.551072] [<00000000002cc90c>] do_vfs_ioctl+0x3f4/0x590 [ 733.551074] [<00000000002ccb46>] SyS_ioctl+0x9e/0xb0 [ 733.551078] [<00000000006c8166>] system_call+0xd6/0x258 [ 733.551080] [<000003fffd25819a>] 0x3fffd25819a [ 733.551082] no locks held by genwqe_gzip/1846. This specific allocation and some others in genwqe are unnecessary flagged as atomic. All of genwqe's atomic allocations happen in a context where it's allowed to sleep. Change these to use GFP_KERNEL. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Acked-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b1eb1450269cadfe992465db9941fc42f3bc688 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Fri Sep 18 12:32:13 2015 +0900 misc: hpilo: Change e-mail address from hp.com to hpe.com This patch changes maintainer's email address from hp.com to hpe.com in hpilo.c. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: David Altobelli <david.altobelli@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a56f329c719d296f6b721d0ff10a6048fa94555 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Fri Sep 18 12:32:12 2015 +0900 misc: hpilo: Add min and max value of module parameter in description This patch add minimum and maximum value of module parameter max_ccb in hpilo.c. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edce5e6f33a365c879b453286191bf397cc5efb4 Author: Michal Hocko <mhocko@xxxxxxxx> Date: Mon Sep 7 09:21:24 2015 +0200 uio: fix false positive __might_sleep warning splat Andy has reported a __might_sleep warning [ 5174.883617] WARNING: CPU: 0 PID: 1532 at /home/agrover/git/kernel/kernel/sched/core.c:7389 __might_sleep+0x7d/0x90() [ 5174.884407] do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffffa02a5821>] uio_read+0x91/0x170 [uio] [ 5174.885198] Modules linked in: tcm_loop target_core_user uio target_core_pscsi target_core_file target_core_iblock iscsi_target_mod target_core_mod uinput fuse nfsv3 nfs_acl nfs lockd grace fscache sunrpc microcode i2c_piix4 virtio_balloon i2c_core xfs libcrc32c crc32c_intel virtio_net virtio_blk [ 5174.887351] CPU: 0 PID: 1532 Comm: tcmu-runner Not tainted 4.2.0-rc7+ [ 5174.887853] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.8.1-20150318_183358- 04/01/2014 [ 5174.888633] ffffffff81a3b870 ffff880045393ca8 ffffffff817afaae 0000000000000000 [ 5174.889224] ffff880045393cf8 ffff880045393ce8 ffffffff8109a846 ffff880045393cd8 [ 5174.889793] ffffffffa02a7150 00000000000002dc 0000000000000000 ffff880045008000 [ 5174.890375] Call Trace: [ 5174.890562] [<ffffffff817afaae>] dump_stack+0x4c/0x65 [ 5174.890938] [<ffffffff8109a846>] warn_slowpath_common+0x86/0xc0 [ 5174.891388] [<ffffffff8109a8c6>] warn_slowpath_fmt+0x46/0x50 [ 5174.891808] [<ffffffffa02a5821>] ? uio_read+0x91/0x170 [uio] [ 5174.892237] [<ffffffffa02a5821>] ? uio_read+0x91/0x170 [uio] [ 5174.892653] [<ffffffff810c584d>] __might_sleep+0x7d/0x90 [ 5174.893055] [<ffffffff811ea023>] __might_fault+0x43/0xa0 [ 5174.893448] [<ffffffff817b31ce>] ? schedule+0x3e/0x90 [ 5174.893820] [<ffffffffa02a58c2>] uio_read+0x132/0x170 [uio] [ 5174.894240] [<ffffffff810cbb80>] ? wake_up_q+0x70/0x70 [ 5174.894620] [<ffffffff81236168>] __vfs_read+0x28/0xe0 [ 5174.894993] [<ffffffff81353233>] ? security_file_permission+0xa3/0xc0 [ 5174.895541] [<ffffffff8123678f>] ? rw_verify_area+0x4f/0xf0 [ 5174.896006] [<ffffffff812368ba>] vfs_read+0x8a/0x140 [ 5174.896391] [<ffffffff817b28f5>] ? __schedule+0x425/0xcc0 [ 5174.896788] [<ffffffff812375d9>] SyS_read+0x49/0xb0 The warning is a false positive because uio_read doesn't depent on TASK_INTERRUPTIBLE after copy_to_user so it is safe to silence the warning by an explicit setting the state to TASK_RUNNING in the path which might call into TASK_RUNNING. Reported-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0049ef9c8d44e46d042e463fb74e120efe7640f2 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:08:48 2015 +0200 uio: uio_fsl_elbc_gpcm: 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e532f7925f1758369c7963297baceac3cbaefc1 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Wed Sep 30 21:46:06 2015 +0800 nvmem: rockchip_efuse_regmap_config can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03a69568e07e1150e1cfdb862892798f88dafd17 Author: ZhengShunQian <zhengsq@xxxxxxxxxxxxxx> Date: Wed Sep 30 13:56:44 2015 +0100 nvmem: Adding bindings for rockchip-efuse There are some SoC specified values store in eFuse, such as the cpu_leakage and cpu_version, this driver can expose these values to /sys base on nvmem. Signed-off-by: Caesar Wang <caesar.wang@xxxxxxxxxxxxxx> Signed-off-by: ZhengShunQian <zhengsq@xxxxxxxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit faf25a9089fc9bdc277b30dbdef8ea7ad7c9083b Author: ZhengShunQian <zhengsq@xxxxxxxxxxxxxx> Date: Wed Sep 30 13:56:36 2015 +0100 nvmem: rockchip-efuse: describe the usage of eFuse This patch add the bindings document of rockchip eFuse driver. Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Cc: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: ZhengShunQian <zhengsq@xxxxxxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c01e9a11ab6f3096a54574c3224d8732a374f135 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Wed Sep 30 13:56:27 2015 +0100 nvmem: add driver for ocotp in i.MX23 and i.MX28 This patch brings read-only support for the On-Chip OTP cells in the i.MX23 and i.MX28 processor. The driver implements the new NVMEM provider API. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb86de91c2a48e320bfa3767802d9a1fb204a230 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Wed Sep 30 13:56:11 2015 +0100 nvmem: add binding for mxs-ocotp This patch adds the devicetree bindings for the Freescale MXS On Chip OTP driver. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3edba6b47e4265948db3a77a0137157c033d69e2 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Sep 30 13:55:47 2015 +0100 nvmem: imx-ocotp: Add i.MX6 OCOTP driver This driver handles the i.MX On-Chip OTP Controller found in i.MX6Q/D, i.MX6S/DL, i.MX6SL, and i.MX6SX SoCs. Currently it just returns the values stored in the shadow registers. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5380a9a6acd990833f76c52c1327a289d09d88aa Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Sep 30 13:55:17 2015 +0100 nvmem: Add i.MX6 OCOTP device tree binding documentation This patch documents the i.MX6 OCOTP device tree binding. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22dbdb7cbf7214befd3a449ba7959c8cf4038e6c Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Wed Sep 30 13:54:59 2015 +0100 nvmem: Add Vybrid OCOTP support The patch adds support for the On Chip One Time Programmable Peripheral (OCOTP) on the Vybrid platform. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6230699469523337d65bb5e2f47279dfcf3eea17 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Wed Sep 30 13:54:44 2015 +0100 nvmem: Add DT binding documentation for Vybrid OCOTP driver Add the devicetree bindings for the Freescale Vybrid On-Chip OTP driver. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa40ae34441286b2cb595468ef781e24573e9e7d Author: Gabriel Somlo <somlo@xxxxxxx> Date: Mon Aug 10 15:51:43 2015 -0400 kobject: move EXPORT_SYMBOL() macros next to corresponding definitions Move EXPORT_SYMBOL() macros in kobject.c from the end of the file next to the function definitions to which they belong. Signed-off-by: Gabriel Somlo <somlo@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7025709e29aded887becdaf4a81072ef1f475bf Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Wed Sep 2 15:40:02 2015 +0200 kobject: explain what kobject's sd field is (More) unclear, especially name-wise, after sysfs_dirent became kernfs_node. Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 398dc4ad52022c3d585908544b936bdf73640727 Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Mon Sep 7 19:03:15 2015 +0200 debugfs: document that debugfs_remove*() accepts NULL and error values According to commit a59d6293e537 ("debugfs: change parameter check in debugfs_remove() functions"), this is meant to make cleanup easier for callers. In that case it ought to be documented. Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 621a5f7ad9cd1ce7933f1d302067cbd58354173c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Sep 26 15:04:07 2015 -0700 debugfs: Pass bool pointer to debugfs_create_bool() Its a bit odd that debugfs_create_bool() takes 'u32 *' as an argument, when all it needs is a boolean pointer. It would be better to update this API to make it accept 'bool *' instead, as that will make it more consistent and often more convenient. Over that bool takes just a byte. That required updates to all user sites as well, in the same commit updating the API. regmap core was also using debugfs_{read|write}_file_bool(), directly and variable types were updated for that to be bool as well. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e58f752a6502b43e039fd7df2c7c5cde8dde437 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Sep 26 15:04:06 2015 -0700 ACPI / EC: Fix broken 64bit big-endian users of 'global_lock' global_lock is defined as an unsigned long and accessing only its lower 32 bits from sysfs is incorrect, as we need to consider other 32 bits for big endian 64-bit systems. There are no such platforms yet, but the code needs to be robust for such a case. Fix that by changing type of 'global_lock' to u32. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cc95cd81bca06698e64b4189a34cb57ec941d0d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 14:58:01 2015 +0530 Staging: lustre: obdclass: Remove unused function obd_export_nid2str Remove obd_export_nid2str as it is defined but not used anymore. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5119dd1e3f7e84073dea4d53322f2fd99f0d0d8b Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Tue Sep 29 18:21:19 2015 +0900 usb: renesas_usbhs: Add support for R-Car H3 This patch adds a compatible string to support for R-Car H3. Since the HS-USB controller of R-Car H3 is almost the same specification with R-Car Gen2 (these have 16 pipes and usb-dmac), this patch sets the "type" of renesas_usbhs_driver_param to USBHS_TYPE_RCAR_GEN2. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f975c5cdb53c1cfef18c28aaae8385e5d16bc104 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Tue Sep 29 18:21:18 2015 +0900 usb: renesas_usbhs: fix build warning if 64-bit architecture This patch fixes the following warning if 64-bit architecture environment: ./drivers/usb/renesas_usbhs/common.c:496:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] dparam->type = of_id ? (u32)of_id->data : 0; Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 635e664a6b4d4b9c12f507045d156ea419b62dff Author: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Date: Mon Sep 21 11:30:45 2015 +0200 usbip: vhci_hcd: at unlink, return -EIDRM if vhci_rx took the urb In a situation where the urb is about to be returned or was never there, we should return -EIDRM (as per usb_hcd_check_unlink_urb). This is exactly the situation when the urb is picked up by vhci_rx before we access priv. Return -EIDRM rather than 0 when this happens. Signed-off-by: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03b0a52822fec8fba351fd472f3adda6fd760e77 Author: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Date: Mon Sep 21 11:30:44 2015 +0200 usbip: vhci_hcd: only return urb at enqueue when served We handle USB_REQ_SET_ADDRESS at enqueue, so we want to perform cleanup and giveback the urb. We should not call usb_hcd_giveback_urb when we're cleaning up after a failed enqueue, though. Only giveback the urb at cleanup when we claim to have served it. Signed-off-by: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c43e9d835b003d862a5f76e3affcc1f973fb3c0 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:39 2015 +0200 usb: host: ehci-msm: fix handling platform_get_irq result The function can return negative values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8091e0cafb1ae8869dcb74c39f7659013bfd3936 Author: Kris Borer <kborer@xxxxxxxxx> Date: Fri Aug 28 09:31:43 2015 -0400 USB: rewrite isd200_init_info for readability Previously, Coccinelle would issue the following false positive: isd200.c:1478:14-18: ERROR: reference preceded by free on line 1472 This change rewrites the isd200_init_info function to have more explicit execution pathways to make it easier for scripts and humans to parse. Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0452fe09a90d4aff5029d3c053014ae2caeec94 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Sep 28 17:57:59 2015 +0100 usb: host: fotg210: remove unreachable code Before running the platform_driver_unregister() the code will either return retval or jump to clean. Removing this line that is unreachable. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2f3951110f19fd901159981dadc756263d30386 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Sep 19 14:10:59 2015 +0100 usb: host: uhci-platform: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04c0b766605e067428ca558421a44c1baf56c2cf Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Sep 19 14:10:58 2015 +0100 usb: host: ohci-spear: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ddb9b88814063c96a9b79026369529ce8345e81 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Sep 19 14:10:57 2015 +0100 usb: host: fsl-mph-dr-of: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e76eaefde8f0ac30d28b6d3bd33116153e7b435f Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Sep 19 14:10:56 2015 +0100 usb: host: ehci-spear: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d2d641c44269656bf72381c72e2eb50b18a8404 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Mon Aug 31 16:20:49 2015 +0800 usb: otg: don't set a_alt_hnp_support feature for OTG 2.0 device Since a_alt_hnp_support is obsolete in OTG 2.0, HNP capable host should send this set feature request only if the otg device is connecting to a non-HNP port and it's compliant with OTG 1.x revision. This is done by checking its otg descriptor length, OTG 2.0 uses usb_otg20_descriptor which has different length than OTG 1.x using usb_otg_descriptor. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9766f2517e55338ab546891c4bfff6666ffacaea Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Mon Sep 7 21:30:25 2015 +0530 usb: core: driver: Use kmalloc_array Use kmalloc_array instead of kmalloc to allocate memory for an array. Also, remove the dev_warn for a memory leak, making the if check more sleek. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 776c15d0ad0c7534be4e7a1b980ee933ef7c4387 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 19 16:36:32 2015 -0500 USB: ehci-platform: Add ACPI bindings for the EHCI platform driver. This enables USB on the ARM juno board when booted with an ACPI kernel. The PNP id comes from the PNP/ACPI registry and describes an EHCI controller without debug. Tested-by: Huang Shijie <shijie.huang@xxxxxxx> Reviewed-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17f69b5fa6f642898a7dae16dee6997869b1f234 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 19 16:36:31 2015 -0500 USB: ehci-platform: Display a DMA configuration error message If the ehci driver fails to configure the dma settings then display a dev error instead of simply failing. This is triggered in an ACPI world if the user fails to set the _CCA on the device. Tested-by: Huang Shijie <shijie.huang@xxxxxxx> Reviewed-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39047e0702c003d2c4cc1d493d7823407a96e1f5 Author: Kris Borer <kborer@xxxxxxxxx> Date: Tue Aug 25 17:59:49 2015 -0400 usb: message: remove redundant declaration Fix the Sparse warning: message.c:1390:21: warning: symbol 'i' shadows an earlier one message.c:1294:13: originally declared here Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cca26be3e68ff2950acda29a5331fe65825034ce Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Aug 24 11:10:43 2015 +0200 UAS: also check for ESHUTDOWN in error reporting -ESHUTDOWN means that the HC has been unplugged. Reporting an error in that case makes no sense. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db1319e166c5e872c4be54eac4e47454133708cf Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Aug 23 15:01:08 2015 +0200 usb: ehci-orion: fix probe for !GENERIC_PHY Commit d445913ce0ab7f ("usb: ehci-orion: add optional PHY support") added support for optional phys, but devm_phy_optional_get returns -ENOSYS if GENERIC_PHY is not enabled. This causes probe failures, even when there are no phys specified: [ 1.443365] orion-ehci f1058000.usb: init f1058000.usb fail, -38 [ 1.449403] orion-ehci: probe of f1058000.usb failed with error -38 Similar to dwc3, treat -ENOSYS as no phy. Fixes: d445913ce0ab7f ("usb: ehci-orion: add optional PHY support") Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17a364e2eceafae9eac6b29d09a71ea21979b106 Author: Kris Borer <kborer@xxxxxxxxx> Date: Fri Aug 21 10:47:46 2015 +0530 usb: hub: remove redundant declarations Fix two occurrences of the Sparse warning: warning: symbol XXX shadows an earlier one Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c596336a8e73a1773f38159ae2ef7b062863d80 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Aug 19 10:47:46 2015 +0530 usbip: vhci_hcd: 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 039b33070e8be5f4b452617792ac7269e577d23e Author: Chase Metzger <chasemetzger15@xxxxxxxxx> Date: Tue Aug 18 20:36:58 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 c7360b343ab1f1442e0731eb9e31e2a89fa6f97c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:14:58 2015 +0200 xhci: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03bce87ce99ae6611ad8c03d509b2da59d86183d Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:11 2015 +0200 whci: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4c1f0c2a959f2aa05f86e64f7d83b9fb18e2cdd Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:32 2015 +0200 usb: host: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); @@ expression x; @@ -if (x != NULL) { \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); x = NULL; -} // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 395f5409ca4336ee6ad461d3e0436bcc2d7c6309 Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:39 2015 +0300 xhci: support new USB 3.1 hub request to get extended port status USB 3.1 adds different types of Get Port Status request. The Get Extended Port Status request returns 4 additional bytes after the normal portstatus and portchange words containing link speed and lane information about a connected enhanced super speed device Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b50107bb83d027dfd36bb7efb90570559757d6ae Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:38 2015 +0300 xhci: check xhci hardware for USB 3.1 support Set the controller speed to HCD_USB31 to if host hardware supports USB 3.1 For PCI xhci controllers the USB 3.1 support is checked from SBRN bits in pci config space. Platform controllers will need to set xhci->sbrn == 0x31 to indicate USB 3.1 support before calling xhci_gen_setup(). Also make sure xhci driver works correctly with speed set to HCD_USB31 Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7117522520b9101af7a0602d6b0d1e67d689fc6b Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:37 2015 +0300 usb: define HCD_USB31 speed option for hosts that support USB 3.1 features Hosts that support USB 3.1 Enhaned SuperSpeed can set their speed to HCD_USB31 to let usb core and host drivers know that the controller supports new USB 3.1 features. make sure usb core handle HCD_USB31 hosts correctly, for now similar to HCD_USB3. Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2338b9e47fba0cd35e1e59f09838a8b9b339a55a Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:36 2015 +0300 xhci: define the new default speed ID for SuperSpeedPlus used by xhci hw USB 3.1 capable xhci controllers use a new default speed ID "5" in the PORTSC register to represent a 10Gbps connection speed of a SuperSpeedPlus device Make sure the xhci driver can handle the returned SuperSpeedPlus speed ID properly Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5693e0b77f82cddf322bdc3eb50f26d3c707f61e Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:35 2015 +0300 xhci: Add a SuperSpeedPlus capability descriptor for xhci USB 3.1 roothub All usb devices that support USB 3.1 Gen2 speeds need to provide a SuperSpeedPlus device capability descriptor as part of their BOS descriptor. If the xhci controller supports USB 3.1 enhanced SuperSpeed, meaning it can handle both Gen1 SuperSpeed 5Gbps and Gen2 SuperSpeedPlus 10Gbps devices, then we need to provide a SuperSpeedPlus capability descriptor for the USB 3.1 roothub as well. Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47189098f8bebe4d937945df70d3ca8e6c0b3e4d Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:34 2015 +0300 xhci: parse xhci protocol speed ID list for usb 3.1 usage xhci 1.1 controllers that support USB 3.1 must provide a protocol speed ID (PSI) list to inform the driver of the supported speeds. The PSI list can be read from the xhci supported protocol extended capabilities. The PSI values will be used to create a USB 3.1 SuperSpeedPlus capability descriptor for the xhci USB 3.1 roothub. Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3220befddc0da1f4e09fc790a32a9bd8427e8889 Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:33 2015 +0300 usb: store the new usb 3.1 SuperSpeedPlus device capability descriptor If a device supports usb 3.1 SupeerSpeedPlus Gen2 speeds it povides a SuperSpeedPlus device capability descriptor as a part of its BOS descriptor. If we find one while parsing the BOS then save it togeter with the other device capabilities found in the BOS Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90ec9247808ed6b9f072e2c4021868374b0a6d92 Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:32 2015 +0300 usb: Add USB 3.1 SuperSpeedPlus device capability descriptor USB 3.1 SuperSpeedPlus device capability descriptor is returned as part of the bos descriptor for devices that support SuperSpeedPlus protocol. The descriptor contains more detailed information about the supported speeds of the device. More details about the descriptor can be found in the USB 3.1 specification section 9.6.2.5 Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04abb6de28250d619ec5aa53695f12a1e4265e1a Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:31 2015 +0300 xhci: Read and parse new xhci 1.1 capability register xhci 1.1 capable controllers have a new HCCPARAMS2 registers with bits indicating support for new xhci 1.1 capabilities. Also add support for the new xhci 1.1 bits in the config operational opertational register that used to be reserved Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> [modified and left out parts not related to HCCPARAMS2 -Mathias] Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54a5e02abb03d296c07426d51ddaea8f4cc9ca39 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 11:05:57 2015 -0700 staging: comedi: 8255: prefer using the BIT macro Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa9df8e31addd4ae26d8317f166bc09921b3629d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:16 2015 +0530 Staging: lustre: obdclass: obd_mount: Declare as static Declare lustre_fs_type, do_lcfg, lustre_fill_super, lustre_put_lsi, lustre_init_lsi, lustre_start_simple, server_name2index and server_name2fsname as static since they are used only in this particular file.Also remove corresponding declarations from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28fcc6626f1b3880e989f73d0472f54fdb72835f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:15 2015 +0530 Staging: lustre: obdclass: class_obd: Declare as static Declare obd_init_checks as static since it is used only in this particular file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63e9a7485d7a7d7a216f32f9db0b4cc444decab4 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:14 2015 +0530 Staging: lustre: obdclass: genops: Declare as static Declare obd_export_nid2str and obd_zombie_impexp_cull as static since they are used only in this particular file. Also remove the corresponding declarations from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12d0be620fb1cb57ed15c9e167bfab42156594fc Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:13 2015 +0530 Staging: lustre: ptlrpc: niobuf: Declare as static Declare ptlrpc_register_bulk as static since it is used only in this particular file.Also remove the declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98e0a2881878dca4dbd4e9104c8153871d824ee4 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:12 2015 +0530 Staging: lustre: ptlrpc: layout: Declare as static Declare req_capsule_init_area and req_capsule_field_present as static since they are used only in this particular file. Also remove the corresponding declarations from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ed50b03160b3435006cba231afd60dffdd1ffb0 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:11 2015 +0530 Staging: lustre: ptlrpc: pinger: Declare as static Declare ptlrpc_pinger_remove_timeouts as static since it is used only in this particular file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4ec6d23df2e5e7791fb55247a5481bb2c8d6b39 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:10 2015 +0530 Staging: lustre: ptlrpc: events: Declare as static Declare ptl_get_pid as static since it is used only in this particular file. Also remove declaration from corresponding header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53856b23201c780599c877d66b625fcbc5bc9dd3 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:09 2015 +0530 Staging: lustre: ptlrpc: nrs: Declare as static Declare ptlrpc_nrs_policy_register as static since it is used only in this particular file. Also remove corresponding declaration from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 757e0cb5f16964d637dffa1bce734208659b7f6e Author: Itai Katz <itai.katz@xxxxxxxxxxxxx> Date: Sun Oct 4 10:09:54 2015 +0300 staging: fsl-mc: remove references to dev_root The dev_root field in the bus type struct has been replaced by a new mechanism to identify the root dprc. Remove all references to dev_root. Signed-off-by: Itai Katz <itai.katz@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 565b94506f7e2f77dc0d94b4722532358d5965c7 Author: Itai Katz <itai.katz@xxxxxxxxxxxxx> Date: Sun Oct 4 10:09:53 2015 +0300 staging: fsl-mc: add counter to track number of root DPRCs Add a counter to track the number of root DPRCs. When this counter is greater then 0 it means that at least one root DPRC device exists. Signed-off-by: Itai Katz <itai.katz@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4ea40f98d2fd9ec01893c0c1a4718f92adac800 Author: Itai Katz <itai.katz@xxxxxxxxxxxxx> Date: Sun Oct 4 10:09:52 2015 +0300 staging: fsl-mc: add function to return pointer to root dprc To support multiple root dprcs, instead of relying on the dev_root field of the bus type struct, instead create a function to traverse to the root dprc and return a pointer to the device struct Signed-off-by: Itai Katz <itai.katz@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b55f00c6edf380e8bb2211dfd466f7c36500f2fe Author: Itai Katz <itai.katz@xxxxxxxxxxxxx> Date: Sun Oct 4 10:09:51 2015 +0300 staging: fsl-mc: abstract test for whether a dprc is a root dprc Instead of relying on assumptions about fields in data structures, abstract the test for whether a dprc is a root dprc into a function. Signed-off-by: Itai Katz <itai.katz@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14f928054a057edf80d154314946664bbc4c2a46 Author: Itai Katz <itai.katz@xxxxxxxxxxxxx> Date: Sun Oct 4 10:09:50 2015 +0300 staging: fsl-mc: abstract test for existence of fsl-mc bus Add function to test for existence of an fsl-mc bus instance instead of doing this by looking directly at a field in the bus type struct. Signed-off-by: Itai Katz <itai.katz@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f31b6955932f9ec2dbf1a1e1827e18ce7239943 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:27 2015 +0100 staging: vt6655: device_tx_srv rename pTD Following the convention elsewhere for vnt_tx_desc rename desc. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12f2ee356ef6658d7311e051a4a481b553155185 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:26 2015 +0100 staging: vt6655: device_main replace pTDInfo with td_info. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 480fc5b8f6b55173bd26f016118cab0416e96d5d Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:25 2015 +0100 staging: vt6655: device_main replace pRD with rd. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e011b433639a5485480a8abc9f5b70a049057cb Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:24 2015 +0100 staging: vt6655: device_alloc_rx_buf replace pRDInfo with rd_info. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e76c8f4aa4dc952baf62cbaa33785d93cbc10f8 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:23 2015 +0100 staging: vt6655: device_main.c replace pDesc with desc. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78e0e85376ab41d86f4bb8bc8d498b495c1dde8b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:22 2015 +0100 staging: vt6655: device_main replace pDevice with priv. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 464b577c8bf5a150638baee151d083790190c1b7 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:25 2015 -0400 staging: unisys: visorinput: remove extraneous do_key function do_key() is no longer needed. 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 b4f033f2d01b6b7ab9273b8e93256673c235f5c8 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:24 2015 -0400 staging: unisys: visorinput: remove extraneous mouse logic Removes a cursor positioning hack that no longer seems to be required. 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 bc49496d2924d8fd5974053207d477d1bb6ba6ee Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:23 2015 -0400 staging: unisys: visorinput: register & use input_dev open() and close() Registration of visorinput_open() and visorinput_close() for each device allow us to eliminate unnecessary activity when nobody in user-land cares. 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 add282479665cfbe5767524630086871e12d49f1 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:22 2015 -0400 staging: unisys: visorinput: change input bus type to BUS_VIRTUAL (6) BUS_HOST wasn't really appropriate, so I changed to BUS_VIRTUAL, which is what virtio uses. 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 ade7280ff53c000c87e416fcf466081990d62c9a Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:21 2015 -0400 staging: unisys: visorinput: comment tweaks - s/gizmo/input node/g Just a simple search and replace in the comments. 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 cb3690fe4e45649dad5cbec3f9aa451fc8bcd9c5 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:20 2015 -0400 staging: unisys: visorinput: correct code comments per kernel conventions Multi-line comments were modified to conform to kernel conventions: /* * multi-line * comments */ doc-test /** */ for some comments was removed. 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 f9bda156cfd22f8a6598729bac831308f6db7997 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:19 2015 -0400 staging: unisys: visorinput: make structs & arrays const where possible This also gave me a warning with the assignment: visorinput_dev->keycode = visorkbd_keycode; because input_dev->keycode is NOT static but visorkbd_keycode now is, so I went ahead and also added logic to stash away non-static copies of visorkbd_keycode[] and visorkbd_ext_keycode[] within visorinput_devdata, and use the copy to assign to visorinput_dev->keycode. This change is also technically required, because user-space can remap keys, and we don't want this to be shared with the other keyboard devices running on the same system. 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 b3d5d05dcc4ac1d349c51ea743092375701aa8e1 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:17 2015 -0400 staging: unisys: visorinput: re-order declarations for consistency In order to be more consistent with kernel conventions used elsewhere, I have re-ordered declarations in visorinput.c to follow this general order (where possible): * #defines * struct/enum/union declarations * static declarations (const if possible for all of them) * forward function declarations where absolutely necessary Exceptions were made for the static declarations like the driver declaration, given that it depends on previously-defined callbacks. So such declarations are at the end of visorinput.c. 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 dabf6c399e27e21db9f1b438467bb9b7cfc8b834 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:16 2015 -0400 staging: unisys: visorinput: subsume .h files directly into visorinput.c keyboardchannel.h and mousechannel.h are now included within visorinput.c directly. 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 6ea9b6e6a78cec3e8cb2e77019795aa4a1c8c42c Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:15 2015 -0400 staging: unisys: visorhid: rename to visorinput This visorhid driver provides a Human Interface Device, but is not at all using HID, the protocol. It's a plain input driver, so for clarity, it is being renamed to visorinput. 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 63417188f10351945e23ff03af68c605cb18da52 Author: Martin Kletzander <mkletzan@xxxxxxxxxx> Date: Sat Oct 3 22:55:49 2015 +0200 staging: rdma: Fix braces around if/else Get rid of all ELSE_AFTER_BRACE type errors reported by checkpatch.pl. Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd6dee3c51d3d6e5dbdeec2013dbf293ef18d7a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:56 2015 +0900 staging: wilc1000: remove blank lines before close brace This patch removes blank lines before close brace '}' CHECK: Blank lines aren't necessary before a close brace '}' drivers/staging/wilc1000/host_interface.c:5366: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d6c9bbb070c99d8926308f284e2e13cd8bc3982 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:54 2015 +0900 staging: wilc1000: rename s32Error in host_int_wait_msg_queue_idle This patch replaces s32Error with result to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 244efb1f5df5589c98bc1d0d1850c896151b9caa Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:53 2015 +0900 staging: wilc1000: fix return type of host_int_wait_msg_queue_idle This patch changes return type of host_int_wait_msg_queue_idle from s32 to int. s32Error gets return value from wilc_mq_send that has return type of int. It should be changed return type of host_int_wait_msg_queue_idle by int as well as data type of s32Error. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ba48ecca5bb528ee5893513f4e4b5f3c8a7c214 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:52 2015 +0900 staging: wilc1000: rename hWFIDrv of host_int_set_mac_chnl_num This patch replaces hWFIDrv with wfi_drv that is first argument of host_int_set_mac_chnl_num to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c5833ce6309d32a282ffeef86417ccfacc438e3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:51 2015 +0900 staging: wilc1000: rename u8ChNum of host_int_set_mac_chnl_num This patch replaces u8ChNum with channel that is second argument of host_int_set_mac_chnl_num to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ef58e42561b759c094528e3f4b1ee1b048bf751 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:49 2015 +0900 staging: wilc1000: rename s32Error in host_int_set_mac_chnl_num This patch replaces s32Error with result to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3565ded9f220e86c9560f1cbaed2549edea8e7a3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:48 2015 +0900 staging: wilc1000: fix NULL comparison style This patch changes NULL comparison style to use ! operator found by checkpatch.pl CHECK: Comparison to NULL could be written "!pstrWFIDrv" drivers/staging/wilc1000/host_interface.c:5324: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6d3346d92356d74c7b7b31a44ae52d07fce38e9 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:47 2015 +0900 staging: wilc1000: fix return type of host_int_set_mac_chnl_num This patch changes return type of host_int_set_mac_chnl_num from s32 to int. s32Error gets return value from wilc_mq_send function that has return type of int. It should be changed return type of host_int_set_mac_chnl_num function by int as well as data type of s32Error. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8668984f8129d5ac7a90c6c0348e8ed4207fc145 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Oct 3 17:31:30 2015 +0530 Staging: most: Use module_platform_driver Use module_platform_driver for drivers whose init and exit functions only register and unregister, respectively. Thus remove some boilerplate code. A simplified version of Coccinelle patch - @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: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b565b3fbeca1e65702a37ab837ea625284809923 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Oct 3 14:52:09 2015 +0300 Staging: panel: Replace NULL comparison. Use ! operating instead of NULL checks. Addresses "CHECK: Comparison to NULL" from checkpatch.pl. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a731c70bc79d3d41f37d9bf4ab4d549333bff37 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 2 22:09:43 2015 +0200 Staging: comedi: Use mutex instead of semaphore in ni_usb6501.c Replace binary semaphore with mutex because mutex gives better performance. This change is safe because the thread that decrements the value of semaphore is also the one that increments it, and acts like a mutex where owner of the lock is the only one that can release the lock. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27a90695e02759ccab58ca610af4f8ed79d8a35c Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 2 22:07:54 2015 +0200 Staging: comedi: Use mutex instead of semaphore in usbduxfast.c Replace binary semaphore with mutex because mutex gives better performance. This change is safe because the thread that decrements the value of semaphore is also the one that increments it, and acts like a mutex where owner of the lock is the only one that can release the lock. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e5cae2f0b3460bf68ebe948bb5caa31c0281c6c Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 2 22:05:57 2015 +0200 Staging: comedi: Use mutex instead of semaphore in usbdux.c Replace binary semaphore with mutex because mutex gives better performance. This change is safe because the thread that decrements the value of semaphore is also the one that increments it, and acts like a mutex where owner of the lock is the only one that can release the lock. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e719935ea07eae2b9674c9578e8941601e4380d Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 2 22:04:22 2015 +0200 Staging: comedi: Use mutex instead of semaphore in usbduxsigma.c Replace binary semaphore with mutex because mutex gives better performance. This change is safe because the thread that decrements the value of semaphore is also the one that increments it, and acts like a mutex where owner of the lock is the only one that can release the lock. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 851f7c0e62dc564bf99e295b3c498d3d96a73b4a Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 2 19:24:05 2015 +0200 Staging: olpc_dcon: Replace timespec with ktime_t Struct timespec will overflow in year 2038, here it will not cause an overflow because it is used with timespec_sub, but still has to be removed as part of y2038 changes. Replace it with ktime_t. Also use monotonic instead of real-time by replacing functions getnstimeofday with ktime_get. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51abf45c23872df0a43dbe849eb4439ebda6145f Author: Salah Triki <salah.triki@xxxxxxx> Date: Sun Oct 4 02:49:48 2015 +0100 staging: dgnc: take a lock when storing value in dgnc_poll_tick Reads of dgnc_poll_tick are protected by dgnc_poll_lock spinlock, but the write to dgnc_poll_tick is not. It could theoretically race. Signed-off-by: Salah Triki <salah.triki@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d99d6a3cffdcbf1705ebd41b528fc31feaa7966 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 20:52:49 2015 +0530 staging: dgnc: remove dgnc_init_globals function The dgnc_init_globals() function is only initializing the timer so initialize it directly and remove dgnc_init_globals() and change the comment appropriately. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 482e191d61a85c87e033a650e755d3a4361a6158 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 20:52:48 2015 +0530 staging: dgnc: remove initialization of global globals variable will be initialied to 0 and the global pointers will be to NULL. No need to initialize them separately. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e24bb0ed81795731c8cca4d3ecbac04862fbf128 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 20:52:46 2015 +0530 staging: dgnc: remove NULL test This NULL test is not required as iounmap will validate the argument. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60acb623c9f9431e84485a10347dab7e4801b3e1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 20:52:44 2015 +0530 staging: dgnc: change style of NULL comparison Change the NULL comparison style as warned by checkpatch. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d9920eca404c785483598980547ff3be58eddd9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 20:52:39 2015 +0530 staging: dgnc: remove unused variables These variables were only assigned some values but were never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 851f306d6e42a7573dd5a9425ce929ff10215be6 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Fri Oct 2 20:15:55 2015 +0300 staging: dgnc: Fix line over 80 characters warning Fix 'line over 80 characters' checkpatch warning Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea14cd2b0d9e65f8957cb991d1a7763eae985db4 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sat Oct 3 16:33:34 2015 +0300 staging: octeon: Add kernel-doc params description Fix 'No description found for parameter' kernel-doc warnings Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7112574aea6955774638941e75bd915e59c8bca6 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 18:07:04 2015 +0530 Staging: lustre: obdclass: Remove unused functions Remove dump_exports and print_export_data as they are defined but not used anywhere. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 961354612efa9cecb98250f4f1cfd51221af8098 Author: Rocco Folino <rocco@xxxxxxxxxx> Date: Fri Oct 2 23:54:26 2015 +0200 staging/lustre: Make nrs_policy_get_info_locked() static This patch fixes the warning generated by sparse: "symbol 'nrs_policy_get_info_locked' was not declared. Should it be static?" by declaring the function static. Signed-off-by: Rocco Folino <rocco@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb320795704ccb6f4694801543f1418aedabad72 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 23:19:14 2015 +0530 Staging: lustre: obdclass: class_obd: Declare as static Declare class_resolve_dev_name as static it is not used anywhere apart from this particular file.Also remove the declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbe327246da118513004f9022e1061d11a8f320b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 23:19:13 2015 +0530 Staging: lustre: obdclass: genops: Declare as static Declare class_get_type and class_search_type as static since they are used only in this particular file. Also remove the declaration from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d63414eb9833ddae771102aa792178ea04624c34 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 23:19:12 2015 +0530 Staging: lustre: obdclass: obd_config: Declare as static Declare class_add_conn, class_add_profile, class_cleanup, class_config_parse_rec, class_del_conn, class_detach, class_match_param, class_attach, class_setup as static since they are used only in this particular file. Also remove the corresponding declarations from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a90a291767ae9c37e9da3069739b609151602dbf Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 23:19:11 2015 +0530 Staging: lustre: obdclass: cl_lock: Declare as static Declare cl_lock_intransit and cl_lock_extransit as static since they are used only in this particular file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9bda311cb0e8a520daebbc6d0d795d327744536 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 23:19:10 2015 +0530 Staging: lustre: obdclass: cl_io: Declare as static Declare cl_page_list_assume, cl_io_cancel, cl_io_rw_advance, cl_page_list_del, cl_page_list_discard, cl_page_list_fini as static since they are used only in this particular file. Also remove them from corresponding header files Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91a3a5014e8a3d046608c3835e7c793b87dc20b6 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:31 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_parse_rule as static Declare sptlrpc_parse_rule as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf0a7f9eadce9b0dcf8099adde84696a5cad5202 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:30 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_req_replace_dead_ctx as static Declare sptlrpc_req_replace_dead_ctx as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65e4b792a770dbca4a1e3f93759a8a4a2249e235 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:29 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_rule_set_choose as static Declare sptlrpc_rule_set_choose as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57552bf00f028f2621acdb66857a18ea83f3637f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:28 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_rule_set_expand as static Declare sptlrpc_rule_set_expand as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 337349fb599b75756909eb80c0b86bb332d8857b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:27 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_rule_set_free as static Declare sptlrpc_rule_set_free as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cff0cc99fe4e92cbb2f1680bd744b8290686e8d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:26 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_rule_set_merge as static Declare sptlrpc_rule_set_merge as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 801b798c25b810ba036f38f6bf2e1750201485b0 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sat Oct 3 18:45:01 2015 +0300 staging: android: Remove /** from regular comments Fix 'cannot understand function prototype' and 'No description found for parameter' kernel-doc warnings by replacing /** with /* in regular comments Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d92ea5d0ddafea25b532eb1c0721f7e73984a76 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sat Oct 3 18:20:47 2015 +0300 staging: android: Remove kernel-doc typo Fix 'No description found for parameter 'prot_mask'' and 'Excess struct/union/enum/typedef member 'prot_masks' description in 'ashmem_area'' warnings by removing typo Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdddc22f071a365de205c8396d59f8d7ad1c86a9 Author: Hugo Camboulive <hugo.camboulive@xxxxxxxxx> Date: Sat Oct 3 18:32:48 2015 +0000 staging: iio: adc: fix comment block coding style issue This patch to ad7746.c makes the comment block end with a */ on a separate line. Signed-off-by: Hugo Camboulive <hugo.camboulive@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 877cdf9115122e068245326da519a848d2387221 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Fri Oct 2 13:37:50 2015 +0300 staging: iio: resolver: replace iio_device_register by devm_iio_device_register Use devm_iio_device_register instead of iio_device_register when the remove function is only used to call iio_device_unregister in order to ease the error path. Since resource managed functions implicitly call unregister at driver detach also remove iio_device_unregister Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86727e30d1d6485b5f8b4a84790ac659dc002d27 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Fri Oct 2 13:37:49 2015 +0300 staging: iio: light: use devm_iio_device_register instead iio_device_register Replace iio_device_register with resource managed devm_iio_device_register in order to ease the error path. Also delete the remove function since there is no need after this change. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 252fb58ceb42d82931c971b11f5ea1323caa8a35 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Fri Oct 2 13:37:48 2015 +0300 staging: iio: cdc: use devm_iio_device_register instead iio_device_register Replace iio_device_register with resource managed devm_iio_device_register in order to ease the error path. Also delete de remove function since there is no need after this change. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a305cf316239073eab9da9ba22266bb698f5c3f7 Author: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Date: Sat Oct 3 16:01:36 2015 +0200 staging: wlan-ng: prism2sta: replace memcmp with ether_addr_equal Replace memcmp() with ether_addr_equal(). In every location where the replacement was done, the addresses accessed are __aligned(2). Structures accessed either stack or heap allocated, no direct memory casts to possibly unaligned structs are used. Involved structures: typedef struct hfa384x_authenticateStation_data { u8 address[ETH_ALEN]; /* 0 offset */ ... } __packed hfa384x_authenticateStation_data_t; struct prism2sta_authlist { unsigned int cnt; u8 addr[WLAN_AUTH_MAX][ETH_ALEN]; /* 4 bytes offset, addresses start at u16 boundary */ u8 assoc[WLAN_AUTH_MAX]; }; struct prism2sta_accesslist { unsigned int modify; unsigned int cnt; u8 addr[WLAN_ACCESS_MAX][ETH_ALEN]; /* 8 bytes offset, multiple of u16 */ ... u8 addr1[WLAN_ACCESS_MAX][ETH_ALEN]; /* starts at u32 boundary, struct not packed */ }; typedef struct hfa384x_AssocStatus { u16 assocstatus; u8 sta_addr[ETH_ALEN]; /* 2 bytes offset, struct is packed */ u8 old_ap_addr[ETH_ALEN]; /* 8 bytes offset */ ... } __packed hfa384x_AssocStatus_t; The patch resolves the following checkpatch warnings: WARNING: Prefer ether_addr_equal() or ether_addr_equal_unaligned() over memcmp() Signed-off-by: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8552d85442dd814d733f67592627ea55f7cbfb01 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Aug 31 19:54:51 2015 -0400 i40evf: don't blow away MAC address Under certain circumstances, we can get an extra VF_RESOURCES message from the PF driver at runtime. When this happens, we need to parse it because our VSI may have changed out from underneath us, and that will affect our relationship with the PF driver. However, parsing the resources message also blows away our current MAC address in the hardware struct, usually with all zeros. When this happens, the next time the interface is opened, it will have no MAC address and will a) not work and b) complain. Fix this issue by restoring the current MAC address from the netdev struct after we parse the resource message. Change-ID: I6cd1b624fc20432f81dc901166c8de195b8e0e65 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 24408e7ae677cea4e44ce6869a1b803820839471 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Sep 28 14:12:38 2015 -0400 i40e/i40evf: grab the AQ spinlocks before clearing registers Make sure we have the spinlocks before we clear the ARQ and ASQ management registers. Also, widen the locked portion and make a sanity check earlier in the send function to be sure we're working with safe register values. Change-ID: I34b56044b33461ed780f3d2de8d62826cdf933f9 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 126b63d9d3aa99a90381ed168a885989dd33cf15 Author: Anjali Singhai <anjali.singhai@xxxxxxxxx> Date: Mon Aug 24 13:26:53 2015 -0700 i40e: Fix a memory leak in X722 rss config path In any case free the memory allocated before exiting. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> 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 27ca2753500537b8f3f3aba43558d68e2e8439a1 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Aug 17 11:19:03 2015 +0800 i40evf: Use numa_mem_id() to better support memoryless node Function i40e_clean_rx_irq() tries to reuse memory pages allocated from the nearest node. To better support memoryless node, use numa_mem_id() instead of numa_node_id() to get the nearest node with memory. This change should only affect performance. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8dc5562e4e2b8255d2ea5d472a7fa25d5aa20da4 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Aug 17 11:19:02 2015 +0800 i40e: Use numa_mem_id() to better support memoryless node Function i40e_clean_rx_irq() tries to reuse memory pages allocated from the nearest node. To better support memoryless node, use numa_mem_id() instead of numa_node_id() to get the nearest node with memory. This change should only affect performance. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1cb8f9776c7dcadc57885c6653943511d282633b Author: Richard Weinberger <richard@xxxxxx> Date: Tue Aug 11 23:27:44 2015 +0200 ubi: fastmap: Implement produce_free_peb() If fastmap requests a free PEB for a pool and UBI is busy with erasing PEBs we need to offer a function to wait for one. We can reuse produce_free_peb() from the non-fastmap WL code but with different locking semantics. Cc: stable@xxxxxxxxxxxxxxx # 4.1.x- Reported-and-tested-by: Jörg Krause <joerg.krause@xxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit e96f78ab2703f3b0d512f6b469bc685d2ef20475 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Oct 3 06:27:28 2015 -0700 tcp/dccp: add SLAB_DESTROY_BY_RCU flag for request sockets Before letting request sockets being put in TCP/DCCP regular ehash table, we need to add either : - SLAB_DESTROY_BY_RCU flag to their kmem_cache - add RCU grace period before freeing them. Since we carefully respected the SLAB_DESTROY_BY_RCU protocol like ESTABLISH and TIMEWAIT sockets, use it here. req_prot_init() being only used by TCP and DCCP, I did not add a new slab_flags into their rsk_prot, but reuse prot->slab_flags Since all reqsk_alloc() users are correctly dealing with a failure, add the __GFP_NOWARN flag to avoid traces under pressure. Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be186cc4de35fcfe766d2938c13ddf3935d6c159 Author: shengyong <shengyong1@xxxxxxxxxx> Date: Wed Sep 23 09:11:40 2015 +0000 UBIFS: print verbose message when rescanning a corrupted node This is a trivial fix of showing verbose message when leb-recovery detects a corrupted node, which is not the last one in the LEB. Rescan expects to show more detail of the corrupted node. Reviewed-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 8f6983abe31f37d953197c3ede14b1d1321affee Author: shengyong <shengyong1@xxxxxxxxxx> Date: Wed Sep 23 09:11:39 2015 +0000 UBIFS: call dbg_is_power_cut() instead of reading c->dbg->pc_happened Call dbg_is_power_cut() to emulate power cut instead of reading c->dbg->pc_happened. Otherwise, the function becomes dead code. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit f9a113d65fa56d8e8e662e37ec2fbeac0d52aa01 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Sep 13 14:15:16 2015 +0200 UBI: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 86f6e454e6371003caecee3b4aa55de3e8eacbdd Author: Andrew Murray <amurray@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 12:02:09 2015 +0100 UBI: Update comments to reflect UBI_METAONLY flag This patch trivially updates code comments to reflect the addition of the UBI_METAONLY flag - as discussed https://lkml.org/lkml/2014/10/29/764 Cc: Richard Weinberger <richard@xxxxxx> Cc: trivial@xxxxxxxxxx Signed-off-by: Andrew Murray <amurray@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 5347417e56b68354faf315ca42c99cfb0c02f1dd Author: Richard Weinberger <richard@xxxxxx> Date: Fri Jul 3 10:36:16 2015 +0200 UBI: Fix debug message We have to use j instead of i. i is the volume id and not the block. Reported-by: Alexander.Block@xxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 4ebb4c9dcbe88a683b083f03176612ee8e87befb Author: Richard Weinberger <richard@xxxxxx> Date: Fri Jul 3 10:36:15 2015 +0200 UBI: Fix typo in comment While we are here fix a s/beween/between typo. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 876f9a348779b348f44736254365bb574fea74eb Author: Richard Weinberger <richard@xxxxxx> Date: Fri Jul 3 10:36:14 2015 +0200 UBI: Fastmap: Simplify expression There is no need to compute pnum again. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7d25b361a2d3e8a9dcaf463d92285d58dedc74ab Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 30 13:48:09 2015 +0800 UBIFS: fix a typo in comment of ubifs_budget_req s/now/how Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit bbc8a0044fb27da5fadb7efbfb472aed00c58e72 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:31 2015 +0200 UBIFS: 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: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 14991fc7dfc6cd18b0d79ebc8f39b1350cb34fc9 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Sep 28 20:32:28 2015 -0600 platform/x86: Toshiba WMI Hotkey Driver Toshiba laptops that feature WMI events for hotkeys were left unsupported by the toshiba_acpi driver, however, commit a88bc06e5aec ("toshiba_acpi: Avoid registering input device on WMI event laptops") added hardware support for such laptops, but the hotkeys are not handled there. This driver adds support for hotkey monitoring on certain Toshiba laptops that manage the hotkeys via WMI events instead of the Toshiba Configuration Interface (TCI). The toshiba_acpi driver and this one can co-exist, as this only takes care of hotkeys, while the proper takes care of hardware related stuff. Currently the driver is under the EXPERIMENTAL flag, as the keymap and the notify function are incomplete (due to lack of hardware to test). Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d06f107bcd828a6c3ecd4a7d449d5d0c0dba0326 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Thu Oct 1 18:16:21 2015 +0200 Bluetooth: btintel: Add iBT register access over HCI support Add regmap ibt to support Intel Bluetooth silicon register access over HCI. Intel BT/FM combo chip allows to read/write some registers (e.g. FM registers) via its HCI interface. Read/Write operations are performed via a HCI transaction composed of a HCI command (host->controller) followed by a HCI command complete event (controller->host). Read/Write Command opcodes can be specified to the regmap init function. We define data formats which are intel/vendor specific. Register Read/Write HCI command payload (Host): Field: | REG ADDR | MODE | DATA_LEN | DATA... | size: | 32b | 8b | 8b | 8b* | Register Read HCI command complete event payload (Controller): Field: | CMD STATUS | REG ADDR | DATA... | size: | 8b | 32b | 8b* | Register Write HCI command complete event payload (Controller): Field: | CMD_STATUS | size: | 8b | Since this payload is HCI encapsulated, Little Endian byte order is used. Write/Read Example: If we write 0x0000002a at address 0x00008c04, with opcode_write 0xfc5d, The resulting transaction is (btmon trace): < HCI Command (0x3f|0x005d) plen 10 [hci0] 04 8c 00 00 02 04 2a 00 00 00 > HCI Event (0x0e) plen 4 Unknown (0x3f|0x005d) ncmd 1 00 Then, if we read the same register with opcode_read 0xfc5e: < HCI Command (0x3f|0x005e) plen 6 [hci0] 04 8c 00 00 02 04 > HCI Event (0x0e) plen 12 [hci0] Unknown (0x3f|0x005e) ncmd 1 00 04 8c 00 00 2a 00 00 00 Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 963406ffa6e77ae85b400a9bc8b747813c4497cf Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:22 2015 +0200 sony-laptop: Fix handling sony_nc_hotkeys_decode result sony_nv_hotkeys_decode can return a negative value. real_ev is a u32 variable. The check for real_ev > 0 is incorrect. Use an intermediate ret variable. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> [dvhart: clarify commit msg, drop superfluous else block] Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit daea5a65dec21de4b1f83c05162b5cb66b1f6c4c Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 21 16:47:01 2015 +0100 intel_mid_powerbtn: Remove misuse of IRQF_NO_SUSPEND flag The IRQF_NO_SUSPEND flag is used to identify the interrupts that should be left enabled so as to allow them to work as expected during the suspend-resume cycle, but doesn't guarantee that it will wake the system from a suspended state, enable_irq_wake is recommended to be used for the wakeup. This patch removes the use of IRQF_NO_SUSPEND flags and uses newly introduce PM wakeup APIs dev_pm_{set,clear}_wake_irq. Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Cc: platform-driver-x86@xxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 9a431bd5a26ca7db8ab251a75e006aa8b145718e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Jun 25 10:44:08 2015 +0100 ARM: make highpte an expert option When highmem is enabled, there's little reason not to also enable highpte support as well. Rather than leaving this to chance, make it an expert option, and default it to be enabled if highmem is enabled. Add some help text to the option while we're here. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d9a427ec81e7f1f81cb30777e8fe7dc1f4d03803 Author: Roald Frederickx <roald.frederickx@xxxxxxxxx> Date: Sat Sep 12 22:00:16 2015 +0200 compal-laptop: Add charge control limit Add charge control limit to the power supply subsystem of the Compal platform driver. This apparently was present in the original driver by Cezary Jackiewicz at http://eko.one.pl/index.php?page=compal-laptop but it seems to have been overlooked. The Kconfig description is updated to reflect this addition. It now also mentions the hwmon interface that was already present. Signed-off-by: Roald Frederickx <roald.frederickx@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 63ce446c9b5787a94ed875bab20772e1a2b3092f Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Sun Sep 13 03:30:11 2015 +0100 ARM: 8433/1: add a VMSPLIT_3G_OPT config option Mimicking the same config option on x86, this allows for 1GB systems to have their RAM entirely mapped as low memory. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0768330d46435f324a0b4860c889057524af17c2 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Tue Sep 22 17:12:10 2015 +0100 ARM: 8439/1: Fix backtrace generation when IPI is masked Currently on ARM when <SysRq-L> is triggered from an interrupt handler (e.g. a SysRq issued using UART or kbd) the main CPU will wedge for ten seconds with interrupts masked before issuing a backtrace for every CPU except itself. The new backtrace code introduced by commit 96f0e00378d4 ("ARM: add basic support for on-demand backtrace of other CPUs") does not work correctly when run from an interrupt handler because IPI_CPU_BACKTRACE is used to generate the backtrace on all CPUs but cannot preempt the current calling context. This can be fixed by detecting that the calling context cannot be preempted and issuing the backtrace directly in this case. Issuing directly leaves us without any pt_regs to pass to nmi_cpu_backtrace() so we also modify the generic code to call dump_stack() when its argument is NULL. Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 307340493f3d62935db0bd48a9909bb746ffef1e Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Mon Sep 14 11:16:30 2015 +0200 asus-wmi: restore kbd led level after resume Afters suspend/resume cycle with closed lid the kbd backlight level is lost. This patch will will restore this value to last known level. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 10e6aaabc37171a8b2c0f531696db91f5ac442f9 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Sep 18 22:45:34 2015 -0600 toshiba_acpi: Remove unneeded u32 variables from *setup_keyboard The function toshiba_acpi_setup_keyboard currently has two u32 variables used to store the Hotkey Event Type and the result of the HCI_SYSTEM_EVENT query. This patch removes those two variables, as we already have a global variable named "hotkey_event_type" and the result of the HCI_SYSTEM_EVENT query can be checked directly from the function. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 0b498201e67df447dc81542a71b36db0fae2878d Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Sep 9 11:30:09 2015 -0600 toshiba_acpi: Add 0x prefix to available_kbd_modes_show function This patch adds the 0x prefix to the values printed by such function, the values are already being printed in hex, but without the prefix, causing confusion, even though the file under Documentation/ABI clearly states that hey are hex values. Simply add the 0x prefix to avoid such confusion. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 52cbae0127ade4120f51a6c5b46f28534723b9bf Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Sep 9 11:28:20 2015 -0600 toshiba_acpi: Change default Hotkey enabling value The driver currently uses the hotkey enabling value of 0x09 to enable hotkey events, but windows uses a different value (0x01). All Toshiba laptops accept the following "hotkey" parameters: 0x01 - Enable hotkey and system events. 0x03 - Enable system events only. 0x09 - Enable hotkey events only. 0x0b - Disable (hotkey and system) events. This patch changes the default hotkey enabling value from 0x09 to 0x01, enabling both the hotkey and system events. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit b116fd009a73fc83f05241152ea9300304e6826c Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Sep 9 11:28:19 2015 -0600 toshiba_acpi: Unify hotkey enabling functions Currently the driver has two functions enabling hotkeys support, but these two functions can be merged into one. This patch merges these two functions, moving some checks to the *enable_hotkeys function, simplifying code in the process. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 001bf455d20645190beb98ff4ee450dfea1b7eb2 Author: Doug Anderson <armlinux@xxxxxxxxxxxxxx> Date: Wed Sep 2 03:39:19 2015 +0100 ARM: 8428/1: kgdb: Fix registers on sleeping tasks Dumping registers from other sleeping tasks in KGDB was totally failing for me. All registers were reported as 0 in many cases. The code was using task_pt_regs(task) to try to get other thread registers. This doesn't appear to be the right place to look. From my tests, I saw non-zero values in this structure when we were looking at a kernel thread that had a userspace task associated with it, but it contained the register values from the userspace task. So even in the cases where registers weren't reported as 0 we were still not showing the right thing. Instead of using task_pt_regs(task) let's use task_thread_info(task). This is the same place that is referred to when doing a dump of all sleeping task stacks (kdb_show_stack() -> show_stack() -> dump_backtrace() -> unwind_backtrace() -> thread_saved_sp()). As further evidence that this is the right thing to do, you can find the following comment in "gdbstub.c" right before it calls sleeping_thread_to_gdb_regs(): Pull stuff saved during switch_to; nothing else is accessible (or even particularly relevant). This should be enough for a stack trace. ...and if you look at switch_to() it only saves r4-r11, sp and lr. Those are the same registers that I'm getting out of the task_thread_info(). With this change you can use "info thread" to see all tasks in the kernel and you can switch to other tasks and examine them in gdb. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7e31210349e9e03a9a4dff31ab5f2bc83e8e84f5 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 28 09:42:09 2015 +0100 ARM: 8427/1: dma-mapping: add support for offset parameter in dma_mmap() IOMMU-based dma_mmap() implementation lacked proper support for offset parameter used in mmap call (it always assumed that mapping starts from offset zero). This patch adds support for offset parameter to IOMMU-based implementation. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.6+ Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 371f0f085f629fc0f66695f572373ca4445a67ad Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 28 09:41:39 2015 +0100 ARM: 8426/1: dma-mapping: add missing range check in dma_mmap() dma_mmap() function in IOMMU-based dma-mapping implementation lacked a check for valid range of mmap parameters (offset and buffer size), what might have caused access beyond the allocated buffer. This patch fixes this issue. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.6+ Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit db695c0509d6ec9046ee5e4c520a19fa17d9fce2 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Sep 21 19:34:28 2015 +0100 ARM: remove user cmpxchg syscall Mark Brand reports that a NEEDS_SYSCALL_FOR_CMPXCHG enabled kernel would open a security hole in the ghost syscall used to implement cmpxchg, as it fails to validate the user pointer. However, in order for this option to be enabled, you'd need to be building a pre-ARMv6 kernel with SMP support. There is only one system known which fits that, which is an early ARM SMP FPGA implementation based on the ARM926T. In any case, the Kconfig does not allow SMP to be enabled for pre-ARMv6 systems. Moreover, even if NEEDS_SYSCALL_FOR_CMPXCHG were to be enabled, the kernel would not build as __ARM_NR_cmpxchg64 is not defined. The simple answer is to remove the buggy code. Reported-by: Mark Brand <markbrand@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6f56a68d0bed16c13e9ec958cd28acbc2991d495 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Sep 15 00:11:30 2015 +0100 ARM: 8438/1: Add unwinding to __clear_user_std() Add unwinding annotations so that unwinding from this function works properly. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b97b272e72ae07a04a664685c876439215bdeb74 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Mon Sep 14 15:59:26 2015 +0100 ARM: 8436/1: hw_breakpoint: remove unnecessary header Header <asm/kdebug.h> is not needed for arm/hw_breakpoint.c, so remove the pointless #include. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reviewed-by: Vaneet Narang <v.narang@xxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 63c27ae7981e5c28abfe97ca5f6ef92a5070ce7a Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Oct 2 20:33:36 2015 +0100 ARM: 8434/2: Revert "7655/1: smp_twd: make twd_local_timer_of_register() no-op for nosmp" This reverts commit 904464b91eca8c665acea033489225af02eeb75a. The problem pointed out by commit 904464b91eca ("ARM: 7655/1: smp_twd: make twd_local_timer_of_register() no-op for nosmp") doesn't exist anymore. We can safely boot with nosmp and the warning won't show up. The other side benefit of this patch is that TWD has a chance to probe on single-core A9 systems such as AM437x which sport TWD. While at that, also drop SMP dependency from TWD's Kconfig entry. Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Cc: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 36086d43f6575c081067de9855786a2fc91df77b Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Oct 3 10:49:29 2015 -0400 ext4 crypto: fix bugs in ext4_encrypted_zeroout() Fix multiple bugs in ext4_encrypted_zeroout(), including one that could cause us to write an encrypted zero page to the wrong location on disk, potentially causing data and file system corruption. Fortunately, this tends to only show up in stress tests, but even with these fixes, we are seeing some test failures with generic/127 --- but these are now caused by data failures instead of metadata corruption. Since ext4_encrypted_zeroout() is only used for some optimizations to keep the extent tree from being too fragmented, and ext4_encrypted_zeroout() itself isn't all that optimized from a time or IOPS perspective, disable the extent tree optimization for encrypted inodes for now. This prevents the data corruption issues reported by generic/127 until we can figure out what's going wrong. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 687c3c36e754a999a8263745b27965128db4fee5 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Oct 3 10:49:27 2015 -0400 ext4 crypto: replace some BUG_ON()'s with error checks Buggy (or hostile) userspace should not be able to cause the kernel to crash. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3684de8ca2b82180f2cdcf5fbcfd3d29ef0afaf8 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Oct 3 10:49:26 2015 -0400 ext4 crypto: ext4_page_crypto() doesn't need a encryption context Since ext4_page_crypto() doesn't need an encryption context (at least not any more), this allows us to simplify a number function signature and also allows us to avoid needing to allocate a context in ext4_block_write_begin(). It also means we no longer need a separate ext4_decrypt_one() function. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit cccd147a57e47527ce9c27fcd5f0a1c5669d6870 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Oct 3 10:49:23 2015 -0400 ext4: optimize ext4_writepage() for attempted 4k delalloc writes In cases where the file system block size is the same as the page size, and ext4_writepage() is asked to write out a page which is either has the unwritten bit set in the extent tree, or which does not yet have a block assigned due to delayed allocation, we can bail out early and, unlocking the page earlier and avoiding a round trip through ext4_bio_write_page() with the attendant calls to set_page_writeback() and redirty_page_for_writeback(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f4f24d1fd0803e8b5de5da373276f5046bef7463 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 17:25:15 2015 -0300 [media] drxd: use kzalloc in drxd_attach() This saves a little .text and removes the sizeof(...) style inconsistency. Use sizeof(*state) in accordance with CodingStyle. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit edf8875f21c34102be54becfb5f435f0b7ca5a65 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Thu Oct 1 11:25:57 2015 -0300 [media] i2c: fix platform_no_drv_owner.cocci warnings drivers/media/i2c/ml86v7667.c:430: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 6903acde49372001c83d8717a5435d0f91896914 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 19:27:07 2015 -0300 [media] vivid: Add an option to configure the maximum number of devices The vivid driver currently has a hard-coded limit of 64 devices, however there's nothing that prevents the creation of even more devices. This commit adds a new driver option (which defaults to 64) to allow this maximum number to be configurable. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a5d42b8c3b3ddccd88dc1c70957177d31a6699fb Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 18:36:51 2015 -0300 [media] vivid: Fix iteration in driver removal path When the diver is removed and all the resources are deallocated, we should be iterating through the created devices only. Currently, the iteration ends when vivid_devs[i] is NULL. Since the array contains VIVID_MAX_DEVS elements, it will oops if n_devs=VIVID_MAX_DEVS because in that case, no element is NULL. Fixes: c88a96b023d8 ('[media] vivid: add core driver code') Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d2d04834d937bc43b185681a9dcdd67883ed32c7 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 11:00:13 2015 -0300 [media] media: am437x-vpfe: fix handling platform_get_irq result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 08ed049af5e9228d62104fdcecf8d86ccd209639 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 11:00:14 2015 -0300 [media] staging: media: omap4iss: fix handling platform_get_irq result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e54560d963866a45e5905a16821e3904ed0c9561 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 11:00:18 2015 -0300 [media] cx231xx: fix handling cx231xx_read_i2c_data result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2788052a8ac9326723c8526f9c5953b8cfff8ab5 Author: Erik Andresen <erik@xxxxxxxxxxx> Date: Sat Sep 19 14:30:30 2015 -0300 [media] Add Terratec H7 Revision 4 to DVBSky driver Adds Terratec H7 Rev. 4 with USB id 0ccd:10a5 to DVBSky driver. Signed-off-by: Erik Andresen <erik@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bc28bb33275b26a0c1139e8dbcfa50d9f8918f6d Author: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Date: Fri Sep 4 17:04:04 2015 -0300 [media] staging: lirc: fix indentation Fix non-tab indentation. This resolves the following checkpatch problem: ERROR: code indent should use tabs where possible [mchehab@xxxxxxxxxxxxxxx: remove a hunk already applyed by some other patch] Signed-off-by: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f84456466c55d2e034ba308975bd3b970d8dd5ab Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 6 07:11:48 2015 -0300 [media] VIDEO_RENESAS_JPU should depend on HAS_DMA If NO_DMA=y: warning: (VIDEO_STI_BDISP && VIDEO_RENESAS_JPU && VIDEO_DM365_VPFE && VIDEO_OMAP4) selects VIDEOBUF2_DMA_CONTIG which has unmet direct dependencies (MEDIA_SUPPORT && HAS_DMA) drivers/media/v4l2-core/videobuf2-dma-contig.c: In function â??vb2_dc_mmapâ??: drivers/media/v4l2-core/videobuf2-dma-contig.c:207: error: implicit declaration of function â??dma_mmap_coherentâ?? drivers/media/v4l2-core/videobuf2-dma-contig.c: In function â??vb2_dc_get_base_sgtâ??: drivers/media/v4l2-core/videobuf2-dma-contig.c:390: error: implicit declaration of function â??dma_get_sgtableâ?? VIDEO_RENESAS_JPU selects VIDEOBUF2_DMA_CONTIG, which bypasses its dependency on HAS_DMA. Make VIDEO_RENESAS_JPU depend on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4b4c7a197a7af402ae5a6eb85d4cc9002c974a5a Author: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Date: Fri Sep 4 17:04:05 2015 -0300 [media] staging: lirc: lirc_serial: use dynamic debugs Replace custom debug macro dprintk() with pr_debug() or dev_dbg(). Remove unused module param `debug`. This removes the following checkpatch warning: WARNING: Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ... + printk(KERN_DEBUG LIRC_DRIVER_NAME ": " \ Signed-off-by: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 702c287082cd92cb792cfe5afd8c5160bf563b4f Author: Graham Eccleston <grahameccleston_@xxxxxxxxxxx> Date: Sun Aug 9 11:38:07 2015 -0300 [media] Compro U650F support Added Compro U650F to the rtl28xxu devices. Signed-off-by: Graham Eccleston <grahameccleston_@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4236e2a1ad679f3b57b23ba333f261b514814f4f Merge: 28117b0 9c70d7c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 3 05:16:50 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-30 This series contains updates to i40e and i40evf only. Vasily Averin provides a couple of rtnl lock/unlock fixes for both i40e and i40evf. Shannon provides several updates and fixes, first fixes up a type clash in i40e_aq_rc_to_posix(), where the error codes are signed values, so we need to treat them as such. Then fixes up a padding issue where an extra byte is added in i40e_aqc_get_cee_dcb_cfg_v1_resp to directly acknowledge the padding. Updated i40e to keep debugfs register read and writes from accessing outside of the io-remapped space. Added support and device id for another 20 GbE device. Jesse fixes the transmit hand workaround code for ARM that was causing Tx hangs to still occur occasionally when there really was no hang. Then fixed the receive dropped counter to show up in netstat interface. Refactor the interrupt enable function since it was always making the caller add the base_vector from the VSI struct which is already passed to the function. Fix kbuild warnings found in 0day build infrastructure by adding a harmless cast to a dev_info(), also fix 32 bit build warnings found by sparse. Greg fixed a configuration error that results if a port VLAN is set for a VF before the VF driver is loaded, so that when the VF driver is loaded the port VLAN is ignored. Mitch fixes the use of QOS field consistently in i40e_ndo_set_vf_port_vlan(). Modified the init timing of the driver to increase stability on load/unload and SR-IOV enable/disable cycles. Anjali updates i40e to not collect VEB stats if they are disabled in the hardware for performance reasons. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28117b08e55a70322389c4366751b35a2bb9d393 Merge: f8e1100 22d4df8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 3 05:05:30 2015 -0700 Merge branch 'ravb-r8a7795' Simon Horman says: ==================== ravb: Add support for r8a7795 SoC please consider this series for net-next. It enhances the ravb driver to support the r8a7795 SoC. Changes: * Dropped RFC prefix * Details in changelog of individual patches Base: * net-next/master Availability: To aid review of this in conjunction with other EtherAVB changes the following branches are available in my renesas tree on kernel.org. * me/r8a7795-ravb-driver-v4: this series * me/r8a7795-ravb-pfc-v2: r8a7795 sh-pfc update for EthernetAVB * me/r8a7795-ravb-integration-v4: enable EthernetAVB on r8a7795 * me/r8a7795-ravb-driver-and-integration-v4.runtime: the above three branches with their runtime dependencies ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22d4df8ff3a3cc7251671d129a7185c66a929ddc Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Wed Sep 30 15:15:55 2015 +0900 ravb: Add support for r8a7795 SoC This patch supports the r8a7795 SoC by: - Using two interrupts + One for E-MAC + One for everything else + Both can be handled by the existing common interrupt handler, which affords a simpler update to support the new SoC. In future some consideration may be given to implementing multiple interrupt handlers - Limiting the phy speed to 100Mbit/s for the new SoC; at this time it is not clear how this restriction may be lifted but I hope it will be possible as more information comes to light Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> [horms: reworked] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 619f3bd2e1f24dd6221e563e051c798844b83a93 Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Wed Sep 30 15:15:54 2015 +0900 ravb: Document binding for r8a7795 SoC This patch updates the ravb binding to support the r8a7795 SoC by: - Adding a compat string for the new hardware - Adding 25 named interrupts to binding for the new SoC; older SoCs continue to use a single multiplexed interrupt The example is also updated to reflect the r8a7795 as this is the more complex case. Based on work by Kazuya Mizuguchi and others. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2dbb33ad9545de6859747b92556a74a81bed8f5 Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Wed Sep 30 15:15:53 2015 +0900 ravb: Provide dev parameter to DMA API This patch is in preparation for using this driver on arm64 where the implementation of __dma_alloc_coherent fails if a device parameter is not provided. Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Masaru Nagai <masaru.nagai.vx@xxxxxxxxxxx> [horms: squashed into a single patch] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f3a6bd393c2c5d0e6b16624ba99a1c5fa07bdb0b Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Sep 30 15:15:52 2015 +0900 phylib: Add phy_set_max_speed helper Add a helper to allow ethernet drivers to limit the speed of a phy (that they are attached to). This mainly involves factoring out the business-end of of_set_phy_supported() and exporting a new symbol. This code seems to be open coded in several places, in several different variants. It is is envisaged that this will be used in situations where setting the "max-speed" property in DT is not appropriate, e.g. because the maximum speed is not a property of the phy hardware. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8e1100afc4f362e94c2d4a3231f16c77beb6d1b Merge: bd8762b 754f1e6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 3 05:02:50 2015 -0700 Merge branch 'bpf-updates' Daniel Borkmann says: ==================== BPF updates Some minor updates to {cls,act}_bpf to retrieve routing realms and to make skb->priority writable. Thanks! v1 -> v2: - Dropped preclassify patch for now from the series as the rest is pretty much independent of it - Rest unchanged, only rebased and already posted Acked-by's kept ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 754f1e6a36c9b42525de223ee1ba628dcafbad41 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 30 01:41:52 2015 +0200 sched, bpf: make skb->priority writable {cls,act}_bpf can now set the skb->priority from an eBPF program based on various critera, so that for example classful qdiscs like multiq can update the skb's priority during enqueue time and further push it down into subsequent qdiscs. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c46646d0484f5d08e2bede9b45034ba5b8b489cc Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 30 01:41:51 2015 +0200 sched, bpf: add helper for retrieving routing realms Using routing realms as part of the classifier is quite useful, it can be viewed as a tag for one or multiple routing entries (think of an analogy to net_cls cgroup for processes), set by user space routing daemons or via iproute2 as an indicator for traffic classifiers and later on processed in the eBPF program. Unlike actions, the classifier can inspect device flags and enable netif_keep_dst() if necessary. tc actions don't have that possibility, but in case people know what they are doing, it can be used from there as well (e.g. via devs that must keep dsts by design anyway). If a realm is set, the handler returns the non-zero realm. User space can set the full 32bit realm for the dst. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a91263d520246b63c63e75ddfb072ee6a853fe15 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 30 01:41:50 2015 +0200 ebpf: migrate bpf_prog's flags to bitfield As we need to add further flags to the bpf_prog structure, lets migrate both bools to a bitfield representation. The size of the base structure (excluding insns) remains unchanged at 40 bytes. Add also tags for the kmemchecker, so that it doesn't throw false positives. Even in case gcc would generate suboptimal code, it's not being accessed in performance critical paths. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd8762bec95ed81d5b81390ff23c5f83345cb536 Merge: c3fc7ac 9e8f4a5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 3 04:49:48 2015 -0700 Merge branch 'switchdev-obj' Jiri Pirko says: ==================== switchdev: bring back switchdev_obj Second version of the patch extends to a patchset. Basically this patchset brings object structure back which disappeared with recent Vivien's patchset. Also it does a bit of naming changes in order to get the things in line. Also, object id is put back into object structure. Thanks to Scott and Vivien for review and suggestions. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e8f4a548ab4710002c23c94c4b1bbde91b5e335 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:46 2015 +0200 switchdev: push object ID back to object structure Suggested-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 648b4a995a057187ddd77cdb181e6a0b24ab2959 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:45 2015 +0200 switchdev: bring back switchdev_obj and use it as a generic object param Replace "void *obj" with a generic structure. Introduce couple of helpers along that. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52ba57cfdc4c90da3bf996dfbe0c5feb731eb477 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:44 2015 +0200 switchdev: rename switchdev_obj_fdb to switchdev_obj_port_fdb Make the struct name in sync with object id name. Suggested-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f24f3095dcedaa4eb4719eee2bed738fe2ce4a0 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:43 2015 +0200 switchdev: rename switchdev_obj_vlan to switchdev_obj_port_vlan Make the struct name in sync with object id name. Suggested-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f86839874a50c9ee2009567d2f312b1e1949e24 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:42 2015 +0200 switchdev: rename SWITCHDEV_ATTR_* enum values to SWITCHDEV_ATTR_ID_* To be aligned with obj. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57d80838dae55c1bc6ca629e471c84100513079a Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:41 2015 +0200 switchdev: rename SWITCHDEV_OBJ_* enum values to SWITCHDEV_OBJ_ID_* Suggested-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3fc7ac9a0b978ee8538058743d21feef25f7b33 Merge: f6d3125 e994b2f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 3 04:32:52 2015 -0700 Merge branch 'tcp-lockless-listener' Eric Dumazet says: ==================== tcp/dccp: lockless listener TCP listener refactoring : this is becoming interesting ! This patch series takes the steps to use normal TCP/DCCP ehash table to store SYN_RECV requests, instead of the private per-listener hash table we had until now. SYNACK skb are now attached to their syn_recv request socket, so that we no longer heavily modify listener sk_wmem_alloc. listener lock is no longer held in fast path, including SYNCOOKIE mode. During my tests, my server was able to process 3,500,000 SYN packets per second on one listener and still had available cpu cycles. That is about 2 to 3 order of magnitude what we had with older kernels. This effort started two years ago and I am pleased to reach expectations. We'll probably extend SO_REUSEPORT to add proper cpu/numa affinities, so that heavy duty TCP servers can get proper siloing thanks to multi-queues NIC. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e994b2f0fb9229aeff5eea9541320bd7b2ca8714 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:39 2015 -0700 tcp: do not lock listener to process SYN packets Everything should now be ready to finally allow SYN packets processing without holding listener lock. Tested: 3.5 Mpps SYNFLOOD. Plenty of cpu cycles available. Next bottleneck is the refcount taken on listener, that could be avoided if we remove SLAB_DESTROY_BY_RCU strict semantic for listeners, and use regular RCU. 13.18% [kernel] [k] __inet_lookup_listener 9.61% [kernel] [k] tcp_conn_request 8.16% [kernel] [k] sha_transform 5.30% [kernel] [k] inet_reqsk_alloc 4.22% [kernel] [k] sock_put 3.74% [kernel] [k] tcp_make_synack 2.88% [kernel] [k] ipt_do_table 2.56% [kernel] [k] memcpy_erms 2.53% [kernel] [k] sock_wfree 2.40% [kernel] [k] tcp_v4_rcv 2.08% [kernel] [k] fib_table_lookup 1.84% [kernel] [k] tcp_openreq_init_rwin Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92d6f176fdcce1a9c22a59d754c924168fdf2ce4 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:38 2015 -0700 tcp/dccp: add a reschedule point in inet_csk_listen_stop() If a listener with thousands of children in accept queue is dismantled, it can take a while to close all of them. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef547f2ac16bd9d77a780a0e7c70857e69e8f23f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:37 2015 -0700 tcp: remove max_qlen_log This control variable was set at first listen(fd, backlog) call, but not updated if application tried to increase or decrease backlog. It made sense at the time listener had a non resizeable hash table. Also rounding to powers of two was not very friendly. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10cbc8f179177c1a6d5f56a46ebddc8f602ce5ac Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:36 2015 -0700 tcp/dccp: remove struct listen_sock It is enough to check listener sk_state, no need for an extra condition. max_qlen_log can be moved into struct request_sock_queue We can remove syn_wait_lock and the alignment it enforced. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca6fb06518836ef9b65dc0aac02ff97704d52a05 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:35 2015 -0700 tcp: attach SYNACK messages to request sockets instead of listener If a listen backlog is very big (to avoid syncookies), then the listener sk->sk_wmem_alloc is the main source of false sharing, as we need to touch it twice per SYNACK re-transmit and TX completion. (One SYN packet takes listener lock once, but up to 6 SYNACK are generated) By attaching the skb to the request socket, we remove this source of contention. Tested: listen(fd, 10485760); // single listener (no SO_REUSEPORT) 16 RX/TX queue NIC Sustain a SYNFLOOD attack of ~320,000 SYN per second, Sending ~1,400,000 SYNACK per second. Perf profiles now show listener spinlock being next bottleneck. 20.29% [kernel] [k] queued_spin_lock_slowpath 10.06% [kernel] [k] __inet_lookup_established 5.12% [kernel] [k] reqsk_timer_handler 3.22% [kernel] [k] get_next_timer_interrupt 3.00% [kernel] [k] tcp_make_synack 2.77% [kernel] [k] ipt_do_table 2.70% [kernel] [k] run_timer_softirq 2.50% [kernel] [k] ip_finish_output 2.04% [kernel] [k] cascade Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b33bc3e9e903f7293f7dfe80a875b2a5d0305aa Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:34 2015 -0700 ipv6: remove obsolete inet6 functions inet6_csk_search_req() and inet6_csk_reqsk_queue_hash_add() no longer exist. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81b496b31a4331415b6a644b485a329ec0b45155 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:33 2015 -0700 tcp/dccp: shrink struct listen_sock We no longer use hash_rnd, nr_table_entries and syn_table[] For a listener with a backlog of 10 millions sockets, this saves 80 MBytes of vmalloced memory. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 079096f103faca2dd87342cca6f23d4b34da8871 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:32 2015 -0700 tcp/dccp: install syn_recv requests into ehash table In this patch, we insert request sockets into TCP/DCCP regular ehash table (where ESTABLISHED and TIMEWAIT sockets are) instead of using the per listener hash table. ACK packets find SYN_RECV pseudo sockets without having to find and lock the listener. In nominal conditions, this halves pressure on listener lock. Note that this will allow for SO_REUSEPORT refinements, so that we can select a listener using cpu/numa affinities instead of the prior 'consistent hash', since only SYN packets will apply this selection logic. We will shrink listen_sock in the following patch to ease code review. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Ying Cai <ycai@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2feda34192a379f8b35a7c6c5826b2f23e884f32 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:31 2015 -0700 tcp/dccp: remove inet_csk_reqsk_queue_added() timeout argument This is no longer used. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa3a0c8ce651b5e16124866b0a10d1b90b9ef022 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:30 2015 -0700 tcp: get_openreq[46]() changes When request sockets are no longer in a per listener hash table but on regular TCP ehash, we need to access listener uid through req->rsk_listener get_openreq6() also gets a const for its request socket argument. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9cfd08601f49a4536e4407286b5f07b24293e474 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:29 2015 -0700 tcp: remove BUG_ON() in tcp_check_req() Once listener is lockless, its sk_state can change anytime. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba8e275a457397ab06f3567cf7bef0d78a43ae7e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:28 2015 -0700 tcp: cleanup tcp_v[46]_inbound_md5_hash() We'll soon have to call tcp_v[46]_inbound_md5_hash() twice. Also add const attribute to the socket, as it might be the unlocked listener for SYN packets. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b267cdd1075d28501b7c05c7aeb8466775505e8d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:27 2015 -0700 tcp/dccp: init sk_prot and call sk_node_init() in reqsk_alloc() We plan to use generic functions to insert request sockets into ehash table. sk_prot needs to be set (to retrieve sk_prot->h.hashinfo) sk_node needs to be cleared. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38cb52455c2c3e8b5751350a3fb32e43e82e129a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:26 2015 -0700 tcp: call sk_mark_napi_id() on the child, not the listener This fixes a typo : We want to store the NAPI id on child socket. Presumably nobody really uses busy polling, on short lived flows. Fixes: 3d97379a67486 ("tcp: move sk_mark_napi_id() at the right place") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d2675f1e464aa5cedda63849adecffd8d33fead Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:25 2015 -0700 tcp: move synflood_warned into struct request_sock_queue long term plan is to remove struct listen_sock when its hash table is no longer there. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aac065c50aba0c534a929aeb687eb68c58e523b8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:24 2015 -0700 tcp: move qlen/young out of struct listen_sock qlen_inc & young_inc were protected by listener lock, while qlen_dec & young_dec were atomic fields. Everything needs to be atomic for upcoming lockless listener. Also move qlen/young in request_sock_queue as we'll get rid of struct listen_sock eventually. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fff1f3001cc58b5064a0f1154a7ac09b76f29c44 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:23 2015 -0700 tcp: add a spinlock to protect struct request_sock_queue struct request_sock_queue fields are currently protected by the listener 'lock' (not a real spinlock) We need to add a private spinlock instead, so that softirq handlers creating children do not have to worry with backlog notion that the listener 'lock' carries. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9ab96e212808123fbd9072d580a59194e5cd410 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 21 12:55:16 2015 +0200 iio: bmc150: Add SPI driver Add a simple SPI driver which initializes the spi regmap for the bmc150 core driver. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 55637c38377a301cd0768cee73021e43d05de543 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 21 12:55:15 2015 +0200 iio: bmc150: Split the driver into core and i2c Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Tested-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 19c95d63e7768fe8909775188f5ef948f7ce324a Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 21 12:55:14 2015 +0200 iio: bcm150: Remove i2c_client from private data i2c_client struct is now only used for debugging output. We can use the device struct as well so we can remove all struct i2c_client usage. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Tested-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4011eda6139b315af3483c6de7dbdded3b07aedf Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 21 12:55:13 2015 +0200 iio: bmc150: Use i2c regmap This replaces all usage of direct i2c accesses with regmap accesses. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Tested-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0f0796509c07c1c7b77671c05b2955beb245e367 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Wed Sep 23 12:02:01 2015 +0300 iio: remove gpio interrupt probing from drivers that use a single interrupt Commit 845c877009cf014b ("i2c / ACPI: Assign IRQ for devices that have GpioInt automatically") automatically assigns the first ACPI GPIO interrupt in client->irq, so we can remove the probing code from drivers that use only one interrupt. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 90b3b37383fd083481655d5529686ca4eda4da2b Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 13:46:19 2015 +0200 EDAC, ppc4xx_edac: Fix module autoload for OF platform driver This platform driver has an 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 <luisbg@xxxxxxxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150917114619.GA13145@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6839c1b0700a79375639528985a0ec0fbd58cf9a Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Wed Sep 23 12:02:00 2015 +0300 iio: fix drivers that use 0 as a valid IRQ in client->irq (part 2) Since commit dab472eb931bc291 ("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> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit eda7d0f38aaf50dbb2a2de15e8db386c4f6f65fc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 8 22:16:42 2015 +0300 iio: accel: sca3000: memory corruption in sca3000_read_first_n_hw_rb() "num_read" is in byte units but we are write u16s so we end up write twice as much as intended. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 61fd56309165d4790f99462d893b099f0b07312a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 2 21:02:58 2015 +0200 iio: st_accel: fix interrupt handling on LIS3LV02 This accelerometer accidentally either emits a DRDY signal or an IRQ signal. Accidentally I activated the IRQ signal as I thought it was analogous to the interrupt generator on other ST accelerometers. This was wrong. After this patch generic_buffer gives a nice stream of accelerometer readings. Fixes: 3acddf74f807778f "iio: st-sensors: add support for lis3lv02d accelerometer" Cc: Denis CIOCCA <denis.ciocca@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7cc97d77ee8a90a6389b96a62472cddc02475ffc Author: Adam YH Lee <adam.yh.lee@xxxxxxxxx> Date: Tue Aug 4 11:15:48 2015 -0700 iio: adc: twl4030: Fix ADC[3:6] readings MADC[3:6] reads incorrect values without these two following changes: - enable the 3v1 bias regulator for ADC[3:6] - configure ADC[3:6] lines as input, not as USB Signed-off-by: Adam YH Lee <adam.yh.lee@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1de953e77b8c8b8cb6f734733cf20e95a1b0fbb8 Author: Crt Mori <cmo@xxxxxxxxxxx> Date: Fri Oct 2 14:24:21 2015 +0200 iio: mlx96014: Error checking from positive to negative Dan Carpenter reported a static checker report and after his mail I noticed that we actually return from function if positive value is obtained from i2c read. This was remainder from when code was not in separate function (which I changed during the review process). Static checker reported drivers/iio/temperature/mlx90614.c:167 mlx90614_iir_search() warn: this cast is a no-op which meant that cast before negating is useless. Dan also proposed a solution on nicer bit operation form. Also changed magic number to macro in process as that was confusing. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Crt Mori <cmo@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a914169f5f00452e31f92e4b0a665dd1ad345730 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:18:21 2015 +0800 dt-bindings: add power-domain header for RK3288 SoCs According to a description from TRM, add all the power domains. At the moment, we can support some domains on RK3288. We can add more types on RK3288 in the future, that's need to do. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e3b0ac1b7a8a590440a2030e7d10d48c59ab8a2a Merge: c2365b9 19afd10 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Oct 3 08:20:14 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: - Do event name substring search as last resort in 'perf list'. (Arnaldo Carvalho de Melo) E.g.: # perf list clock List of pre-defined events (to be used in -e): cpu-clock [Software event] task-clock [Software event] uncore_cbox_0/clockticks/ [Kernel PMU event] uncore_cbox_1/clockticks/ [Kernel PMU event] kvm:kvm_pvclock_update [Tracepoint event] kvm:kvm_update_master_clock [Tracepoint event] power:clock_disable [Tracepoint event] power:clock_enable [Tracepoint event] power:clock_set_rate [Tracepoint event] syscalls:sys_enter_clock_adjtime [Tracepoint event] syscalls:sys_enter_clock_getres [Tracepoint event] syscalls:sys_enter_clock_gettime [Tracepoint event] syscalls:sys_enter_clock_nanosleep [Tracepoint event] syscalls:sys_enter_clock_settime [Tracepoint event] syscalls:sys_exit_clock_adjtime [Tracepoint event] syscalls:sys_exit_clock_getres [Tracepoint event] syscalls:sys_exit_clock_gettime [Tracepoint event] syscalls:sys_exit_clock_nanosleep [Tracepoint event] syscalls:sys_exit_clock_settime [Tracepoint event] - Reduce min 'perf stat --interval-print/-I' to 10ms. (Kan Liang) perf stat --interval in action: # perf stat -e cycles -I 50 -a usleep $((200 * 1000)) print interval < 100ms. The overhead percentage could be high in some cases. Please proceed with caution. # time counts unit events 0.050233636 48,240,396 cycles 0.100557098 35,492,594 cycles 0.150804687 39,295,112 cycles 0.201032269 33,101,961 cycles 0.201980732 786,379 cycles # - Allow for max_stack greater than PERF_MAX_STACK_DEPTH, as when synthesizing callchains from Intel PT data. (Adrian Hunter) - Allow probing on kmodules without DWARF. (Masami Hiramatsu) - Fix a segfault when processing a perf.data file with callchains using "perf report --call-graph none". (Namhyung Kim) - Fix unresolved COMMs in 'perf top' when -s comm is used. (Namhyung Kim) - Register idle thread in 'perf top'. (Namhyung Kim) - Change 'record.samples' type to unsigned long long, fixing output of number of samples in 32-bit architectures. (Yang Shi) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 937d7b84dca58f2565715f2c8e52f14c3d65fb22 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Oct 2 23:54:58 2015 -0400 ext4 crypto: fix memory leak in ext4_bio_write_page() There are times when ext4_bio_write_page() is called even though we don't actually need to do any I/O. This happens when ext4_writepage() gets called by the jbd2 commit path when an inode needs to force its pages written out in order to provide data=ordered guarantees --- and a page is backed by an unwritten (e.g., uninitialized) block on disk, or if delayed allocation means the page's backing store hasn't been allocated yet. In that case, we need to skip the call to ext4_encrypt_page(), since in addition to wasting CPU, it leads to a bounce page and an ext4 crypto context getting leaked. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 21d19f87d483fbac66ca24863b8c8d52a7ab539d Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Date: Sat Oct 3 05:02:28 2015 +0200 NFC: nci: Use __nci_request for exported routines Since we do not know in which context drivers will call these routines, they should use the unlocked version of nci_request, i.e. __nci_request. It is up to drivers to know/decide if they need to take the req_lock mutex before calling those routines. When being called from the NCI setup routine there is no need to do so as ops->setup is called under req_lock. Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 69c308e2bcc303ab3eebb9b554de598dd4597b75 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Sep 30 21:07:18 2015 +0900 pinctrl: pinconf-generic: add "input-schmitt" DT property PIN_CONFIG_INPUT_SCHMITT is defined in enum_pin_config_param, but the corresponding DT property is missing. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3c4b23dd71ea6f68be9731b68877fbc05f4fb693 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Sep 30 21:07:17 2015 +0900 pinctrl: pinconf-generic: sort pin configuration params alphabetically Currently, the dt_params array in drivers/pinctrl/pinconf-generic.c is not sorted in the same order as the enum pin_config_param in include/linux/pinctrl/pinconf-generic.h. Sort enum pin_config_param, conf_items, dt_params, alphabetically for consistency. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2db8aba860c70478f6af18c410a3e513a2d2f541 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Sep 29 12:55:44 2015 +0200 gpio: pca953x: Add TI TCA9539 support The TCA9539 is almost identical to the PCA9555 and software-compatible with this driver. It exposes 16 general purpose I/O pins in two 8-bit configurations. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7474f23dd05713dacc5f22d309913c96bce1c92b Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Sep 26 22:18:20 2015 +0200 gpio: max730x: eliminate double free The function __max730x_remove is called from the remove functions of drivers/gpio/gpio-max7300.c and drivers/gpio/gpio-max7301.c. In both cases, the probe function allocates ts using devm_kzalloc. Explicitly freeing such a value with kfree will cause a double free. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 89092fb0701d3b4070ade6d0aa04640720f52fbd Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Sep 28 11:41:13 2015 +0200 pinctrl: at91-pio4: irq argument as been removed from irq flow handlers Irq argument as been removed from irq flow handlers so use the irq descriptor to retrieve data we need. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3fd550c6b3cb364a0d3f0e4abf64618b998dc6b4 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Sep 28 11:41:12 2015 +0200 pinctrl: at91-pio4: use irq_set_handler_locked Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a169400b506e98bb90a92c7211f4bed751341750 Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Wed Sep 30 11:11:09 2015 -0500 pinctrl: freescale: imx: imx7d iomuxc-lpsr devicetree bindings Add iomuxc-lpsr devicetree bindings documentation Provide documentation context as well an example on pheriperals that could use pad from either iomuxc controller supported by iMX7D SoC Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 978fd1d7265aee0d8be501f416017d029e6977a7 Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Wed Sep 30 11:11:08 2015 -0500 pinctrl: freescale: imx7d: support iomux lpsr controller iMX7D has two iomuxc controllers, iomuxc controller similar as previous iMX SoC generation and iomuxc-lpsr which provides low power state rentetion capabilities on gpios that are part of iomuxc-lpsr Add iomuxc-lpsr gpio group id's Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 26d8cde5260b5d0236d50501b6ef1a444774b33b Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Fri Sep 25 16:06:00 2015 -0500 pinctrl: freescale: imx: add shared input select reg support - Add shared input select register support - imx7d has two iomux controllers iomuxc and iomuxc-lpsr which share select_input register for daisy chain settings Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e7b37a522aa92da5f47106aa07b6c1fc58bfd922 Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Fri Sep 25 16:05:59 2015 -0500 pinctrl: freescale: imx: allow mux_reg offset zero Allow mux_reg offset zero to be a valid pin_id, on imx7d mux_conf reg offset is zero for iomuxc-lspr controller Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit aa6555622cdf443f0b001352fdc3afb6e7bce20d Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Oct 2 10:47:29 2015 +0300 nl802154: Missing return in nl802154_add_llsec_key() There was a missing return here so it meant that often ieee802154_llsec_parse_key_id() was not called. Fixes: a26c5fd7622d ('nl802154: add support for security layer') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1c5dc33514002395cf07fa818b95ac4ac21364db Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Sun Aug 23 03:57:38 2015 +0300 drm/radeon: remove volatile qualifier There doesn't seem to be any need to have 'ib' volatile, the code is not even consistent with it and some places already miss it. As it is now it's just making gcc produce worse code. If there are special requirements for that memory, then proper primitives like memory barriers or accessor functions should be used, but it doesn't look like that is needed here. While at it, change the type to match the one in radeon_ib structure. Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7874d3901d752dc9ea31bbb32f519bc9a2c1b6aa Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Sun Aug 23 03:57:37 2015 +0300 drm/radeon: refactor register check loop After this patch the register check loop does the same thing as before, except that now gcc does better job optimizing it: it now sees that end_reg was already checked against PACKET3_SET_CONTEXT_REG_END and can optimize REG_SAFE_BM_SIZE comparison out of evergreen_is_safe_reg() as (PACKET3_SET_CONTEXT_REG_END >> 7) < REG_SAFE_BM_SIZE. Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e5b69da6badca8286a67c1d0d1c6634e65c7e669 Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Sun Aug 23 03:57:36 2015 +0300 drm/radeon: split evergreen_cs_check_reg evergreen_cs_check_reg() is a large function and gcc doesn't want to inline it. It has a quick check for reg_safe_bm[] to see if register needs special handling, which often results in early exit. However because the function is large, it has a long prologue/epilogue to save/restore all the callee-save registers which according to perf is taking significant amount of time. To avoid this, we can reuse evergreen_is_safe_reg() to do the early check directly in register loop. Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4a985353d461951e4ed51abc281c09a780d30058 Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Sun Aug 23 03:57:35 2015 +0300 drm/radeon: simplify register checker To avoid having to distinguish between CAYMAN or older on every register check, place a pointer in evergreen_cs_track and use it unconditionally. Also make use of the fact that both reg_safe_bm[] arrays are of the same length to remove another CAYMAN check. Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1694467b96cadd1b166b3bd0365b2431a7685143 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sat Sep 5 11:17:35 2015 +0200 drm/amdgpu: Spell vga_switcheroo consistently Currently everyone and their dog has their own favourite spelling for vga_switcheroo. This makes it hard to grep dmesg for log entries relating to vga_switcheroo. It also makes it hard to find related source files in the tree. vga_switcheroo.c uses pr_fmt "vga_switcheroo". Use that everywhere. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8e5de1d8c34c63331f12cf7bf7bbf115bba0317a Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sat Sep 5 11:14:43 2015 +0200 drm/radeon: Spell vga_switcheroo consistently Currently everyone and their dog has their own favourite spelling for vga_switcheroo. This makes it hard to grep dmesg for log entries relating to vga_switcheroo. It also makes it hard to find related source files in the tree. vga_switcheroo.c uses pr_fmt "vga_switcheroo". Use that everywhere. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 450fa54cfd66e3dda6eda26256637ee8928af12a Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri Sep 25 12:28:03 2015 -0700 gpio: omap: convert to use generic irq handler This patch converts TI OMAP GPIO driver to use generic irq handler instead of chained IRQ handler. This way OMAP GPIO driver will be compatible with RT kernel where it will be forced thread IRQ handler while in non-RT kernel it still will be executed in HW IRQ context. As part of this change the IRQ wakeup configuration is applied to GPIO Bank IRQ as it now will be under control of IRQ PM Core during suspend. There are also additional benefits: - on-RT kernel there will be no complains any more about PM runtime usage in atomic context "BUG: sleeping function called from invalid context"; - GPIO bank IRQs will appear in /proc/interrupts and its usage statistic will be visible; - GPIO bank IRQs could be configured through IRQ proc_fs interface and, as result, could be a part of IRQ balancing process if needed; - GPIO bank IRQs will be under control of IRQ PM Core during suspend to RAM. Disadvantage: - additional runtime overhed as call chain till omap_gpio_irq_handler() will be longer now - necessity to use wa_lock in omap_gpio_irq_handler() to W/A warning in handle_irq_event_percpu() WARNING: CPU: 1 PID: 35 at kernel/irq/handle.c:149 handle_irq_event_percpu+0x51c/0x638() This patch doesn't fully follows recommendations provided by Sebastian Andrzej Siewior [1], because It's required to go through and check all GPIO IRQ pin states as fast as possible and pass control to handle_level_irq or handle_edge_irq. handle_level_irq or handle_edge_irq will perform actions specific for IRQ triggering type and wakeup corresponding registered threaded IRQ handler (at least it's expected to be threaded). IRQs can be lost if handle_nested_irq() will be used, because excecution time of some pin specific GPIO IRQ handler can be very significant and require accessing ext. devices (I2C). Idea of such kind reworking was also discussed in [2]. [1] http://www.spinics.net/lists/linux-omap/msg120665.html [2] http://www.spinics.net/lists/linux-omap/msg119516.html Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Austin Schuh <austin@xxxxxxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 19afd10410957b1c808c2c49a88e6dd8b23aa894 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Oct 2 05:04:34 2015 -0400 perf stat: Reduce min --interval-print to 10ms The --interval-print parameter was limited to 100ms. However, for example, 10ms is required to do sophisticated bandwidth analysis using uncore events. The test shows that the overhead of the system-wide uncore monitoring with 10ms interval is only ~2%. So this patch reduces the minimal interval-print allowd to 10ms. But 10ms may not work well for all cases. For example, when the cpus/threads number is very large, for system-wide core event monitoring the overhead could be high. To handle this issue, a warning will be displayed when the interval-print is set between 10ms to 100ms. So users can make a decision according to their specific cases. # perf stat -e uncore_imc_1/cas_count_read/ -a --interval-print 10 -- sleep 1 print interval < 100ms. The overhead percentage could be high in some cases. Please proceed with caution. # time counts unit events 0.010200451 0.10 MiB uncore_imc_1/cas_count_read/ 0.020475117 0.02 MiB uncore_imc_1/cas_count_read/ 0.030692800 0.01 MiB uncore_imc_1/cas_count_read/ 0.040948161 0.02 MiB uncore_imc_1/cas_count_read/ 0.051159564 0.00 MiB uncore_imc_1/cas_count_read/ 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/1443776674-42511-1-git-send-email-kan.liang@xxxxxxxxx [ Added warning about overhead when using sub 100ms intervals to the man page ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9f065194e2a505bb6fd23946b410a0036e9de2ca Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Tue Sep 29 14:49:43 2015 -0700 perf record: Change 'record.samples' type to unsigned long long When run "perf record -e", the number of samples showed up is wrong on some 32 bit systems, i.e. powerpc and arm. For example, run the below commands on 32 bit powerpc: perf probe -x /lib/libc.so.6 malloc perf record -e probe_libc:malloc -a ls perf.data [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.036 MB perf.data (13829241621624967218 samples) ] Actually, "perf script" just shows 21 samples. The number of samples is also absurd since samples is long type, but it is printed as PRIu64. Build test ran on x86-64, x86, aarch64, arm, mips, ppc and ppc64. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443563383-4064-1-git-send-email-yang.shi@xxxxxxxxxx [ Bumped the 'hits' var used together with record.samples to 'unsigned long long' too ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1a8ac29cbffc261f6d7c92e573878110a7dcbd94 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Oct 2 21:58:32 2015 +0900 perf probe: Allow probing on kmodules without dwarf Allow probing on kernel modules when 'perf' is built without debuginfo support. Currently perf-probe --module requires linking with libdw, but this doesn't make sense. E.g. ---- # make NO_DWARF=1 # ./perf probe -m pcspkr pcspkr_event%return Error: unknown switch `m' ---- With this patch ---- # ./perf probe -m pcspkr pcspkr_event%return Added new event: probe:pcspkr_event (on pcspkr_event%return in pcspkr) You can now use it in all perf tools, such as: perf record -e probe:pcspkr_event -aR sleep 1 ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20151002125832.18617.78721.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 92deea1350f9fa97a841d45cd1f8228d5e8aa667 Author: Noralf Trønnes <noralf@xxxxxxxxxxx> Date: Fri Oct 2 11:30:11 2015 -0700 Input: add support for FocalTech FT6236 touchscreen controller This adds support for the FT6x06 and the FT6x36 family of capacitive touch panel controllers, in particular the FT6236. Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d6f0c3d3a815aca40f1ea9daf6ed0d1f9e243185 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:21:12 2015 -0700 Input: cyttsp - use PTR_ERR_OR_ZERO() The PTR_ERR_OR_ZERO() helper function checks if a pointer contains an errno code and returns it or return 0 if that's not the case. Use the helper instead of open coding the same logic in the driver. This was found with make coccicheck that complains with the following warning: drivers/input/touchscreen/cyttsp4_i2c.c:53:1-3: WARNING: PTR_ERR_OR_ZERO can be used Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c4517f82d23eb72bf0768257bccc5f326c9ceada Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:20:40 2015 -0700 Input: ads7846 - use PTR_ERR_OR_ZERO() The PTR_ERR_OR_ZERO() helper function checks if a pointer contains an errno code and returns it or return 0 if that's not the case. Use the helper instead of open coding the same logic in the driver. This was found with make coccicheck that complains with the following warning: drivers/input/touchscreen/ads7846.c:532:1-3: WARNING: PTR_ERR_OR_ZERO can be used Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e5e66ed00ea555a4f66793b4be84ff99c9c7fa6e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:19:54 2015 -0700 Input: tps6507x-ts - simplify function return logic The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. This also fixes the following make coccicheck warning: drivers/input/touchscreen/tps6507x-ts.c:57:5-8: WARNING: end returns can be simplified Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 901ea5e3a8251c05fcf252149103df7f35733967 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:18:59 2015 -0700 Input: auo-pixcir-ts - simplify function return logic The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. This also fixes the following make coccicheck warnings: end returns can be simplified and declaration on line 402 can be dropped Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a47fcbc24f24c2620bf4bf499d13ec2bf8355e72 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:15:08 2015 -0700 Input: zforce - simplify function return logic The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. This also fixes the following make coccicheck warning: end returns can be simplified and declaration on line 602 can be dropped Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko.stuebner@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5ccd9abd508644cefee8641ccd6157e8b55a6ee3 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:14:26 2015 -0700 Input: kxtj9 - remove unneeded retval variable The retval variable isn't needed since isn't used in the function. Remove the variable and just return 0 instead. This also fixes the following make coccicheck warning: drivers/input/misc/kxtj9.c:638:5-11: Unneeded variable: "retval". Return "0" on line 646 Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5702222c9a7af4a207066d54aa95cfe31f34f2f8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:12:53 2015 -0700 Input: joydev - use memdup_user() to duplicate memory from user-space The memdup_user() helper function can be used to duplicate a memory region from user-space to kernel-space. There is no need to open code the same logic using kmalloc() and copy_from_user() instead. This was found with make coccicheck that reported the following warning: drivers/input/joydev.c:447:10-17: WARNING opportunity for memdup_user drivers/input/joydev.c:483:10-17: WARNING opportunity for memdup_user Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit aaa59e0911f5624663217c248cfa7cc1c2e33e08 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 10:49:48 2015 -0700 Input: goldfish - allow compile the driver with COMPILE_TEST The driver depends on GOLDFISH but there isn't a build dependency so it's a good idea to allow the driver to be built even if that option is disabled, if the COMPILE_TEST option is enabled. That way, the driver can be built with a config generated by make allyesconfig and can be checked if a patch would break the build. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 77fa05541cc02ab87e6d6e42254052b0cd30c3a4 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Oct 2 10:44:00 2015 -0700 Input: gpio_keys - don't report events on gpio failure In the cases where the gpio chip fails to acquire the current state an error is reported back to gpio_keys. This is currently interpreted as if the line went high, which just confuses the developer. This patch introduces an error print in this case and skipps the reporting of a input event; to aid in debugging this issue. Reported-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6082d88e1d0001fd466c3350b7b256e96f8433ab Merge: 12b5aa6 cdb2bab Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:38:20 2015 -0700 Merge branch 'v4.3-rc3-clk' of https://github.com/jamesjjliao/linux into clk-next Pull mediatek clock support and fixes from James Liao: "This is a collection of new Mediatek clocks support and fixes. These patches come from Joe and me, including clock support for subsystems, GPT and some minor fixes." * 'v4.3-rc3-clk' of https://github.com/jamesjjliao/linux: clk: mediatek: Add USB clock support in MT8173 APMIXEDSYS clk: mediatek: Add subsystem clocks of MT8173 dt-bindings: ARM: Mediatek: Document devicetree bindings for clock controllers clk: mediatek: Fix rate and dependency of MT8173 clocks clk: mediatek: Add fixed clocks support for Mediatek SoC. clk: mediatek: Add __initdata and __init for data and functions clk: mediatek: Remove unused code from MT8173. clk: mediatek: Removed unused dpi_ck clock from MT8173 clk: mediatek: add 13mhz clock for MT8173 commit 12b5aa61ee1d9425c82e35290ec76db1bc0a0614 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:34:34 2015 -0700 clk: samsung: exynos7: Staticize file scope symbols drivers/clk/samsung/clk-exynos7.c:896:33: warning: symbol 'fixed_rate_clks_fsys0' was not declared. Should it be static? drivers/clk/samsung/clk-exynos7.c:1010:33: warning: symbol 'fixed_rate_clks_fsys1' was not declared. Should it be static? Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit caac0ef8414bfbe296e6617511908ba249f0ab92 Merge: c0d625c 7993b3e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:31:43 2015 -0700 Merge tag 'clk-samsung-4.4' of git://linuxtv.org/snawrocki/samsung into clk-next Pull updates from Sylwester Nawrocki: "Fixes, improvements and addition of some missing features of the exynos7 clock controller driver." * tag 'clk-samsung-4.4' of git://linuxtv.org/snawrocki/samsung: clk: samsung: exynos7: Add required clock tree for UFS clk: samsung: exynos7: Add missing fixed_clks to cmu_info clk: samsung: exynos7: Correct CMU_FSYS1 clocks names clk: samsung: exynos7: Correct CMU_FSYS0 clocks names clk: samsung: exynos7: Correct CMU_PERIS clocks names clk: samsung: exynos7: Correct CMU_PERIC1 clocks names clk: samsung: exynos7: Correct CMU_PERIC0 clocks names clk: samsung: exynos7: Correct CMU_CCORE clocks names clk: samsung: exynos7: Correct CMU_TOP1 clocks names clk: samsung: exynos7: Correct CMU_TOP0 clocks names clk: samsung: exynos7: Adds missing clocks gates of CMU_TOPC clk: samsung: exynos7: Change the CMU_TOPC block clock names clk: samsung: exynos7: Correct nr_clk_ids for fsys1 clk: samsung: exynos7: Correct nr_clk_ids for fsys0 clk: samsung: exynos7: Fix CMU TOP1 block clk: samsung: exynos7: Fix CMU TOPC block clock commit c0d625cbb541ae68ca3c97fb62f5f6093d3382fa Merge: 3b4261d 9f30a04 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:29:54 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: (3 commits) clk: ti: dflt: fix enable_reg validity check clk: ti: fix dual-registration of uart4_ick clk: ti: clk-7xx: Remove hardwired ABE clock configuration commit 3b4261dcf65993f95de80a0d63c5299aab922bd8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 22 18:54:12 2015 +0300 serial: 8250_dw: allow lower reference frequencies We have couple of standard but rare used baudrates which are not supported by 1,8432MHz reference frequency. Besides that user can potentially ask for any baudrate (via BOTHER flag) and we currently don't fully support that. Since clk-fractional-divider is moved to use rational best approximation for reference frequency we may amend the driver to support whatever user wants. Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0777591e715a89fd44fd598167aa8beaa49f1776 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 22 18:54:11 2015 +0300 clk: fractional-divider: switch to rational best approximation This patch converts the code to use rational best approximation algorithm which is much more precise. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5d49a6e103790bddc4565a2076ff04beb38babc7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 22 18:54:10 2015 +0300 clk: rockchip: save width in struct clk_fractional_divider The ->mwidth and ->nwidth fields will be used by clk-fractional-divider when it will be switched to rational base approximation algorithm. Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 934e2536b1bfe663de033298f75c1b8ff9d0c9ea Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 22 18:54:09 2015 +0300 clk: fractional-divider: keep mwidth and nwidth internally The patch adds mwidth and nwidth fields to the struct clk_fractional_divider for further usage. While here, use GENMASK() instead of open coding this functionality. Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f7f087c262771ab1d3be8b9c54266637f6136963 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 22 18:54:08 2015 +0300 clk: fractional-divider: rename prate -> parent_rate Rename function parameter to be more explicit what it is for. This also makes it in align with struct clk_ops. There is no functional change. Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fa52ceabc2a3e70431a82bca2bc547a15eaf19df Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 2 15:28:16 2015 -0300 perf list: Honour 'event_glob' whem printing selectable PMUs Some PMUs, like the 'intel_bts' one can be used as an event name, i.e.: $ perf record -e intel_bts:// usleep 1 Is a valid event name. But the code printing such PMUs was not honouring the 'event_glob' parameter, so the following line was always appearing: $ intel_bts// [Kernel PMU event] Fix it: $ [acme@felicio linux]$ perf list data List of pre-defined events (to be used in -e): uncore_imc/data_reads/ [Kernel PMU event] uncore_imc/data_writes/ [Kernel PMU event] $ 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-ajb71858n7q7ao77b8pyy74w@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ec1f9d9f01384fe656a6f92b90de274146fe35a1 Author: Roman Bacik <rbacik@xxxxxxxxxxxx> Date: Thu Sep 10 18:13:43 2015 -0700 usb: dwc2: gadget: parity fix in isochronous mode USB OTG driver in isochronous mode has to set the parity of the receiving microframe. The parity is set to even by default. This causes problems for an audio gadget, if the host starts transmitting on odd microframes. This fix uses Incomplete Periodic Transfer interrupt to toggle between even and odd parity until the Transfer Complete interrupt is received. Signed-off-by: Roman Bacik <rbacik@xxxxxxxxxxxx> Reviewed-by: Abhinav Ratna <aratna@xxxxxxxxxxxx> Reviewed-by: Srinath Mannam <srinath.mannam@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 146b503e102778ee98d8ba59e9e178ab26a4af5b Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:29 2015 +0200 mtd: nand: sunxi: fix bitflips in erased pages Use the nand_check_erased_ecc_chunk() function to test if the ECC error was triggered by an erased page containing a few bitflips. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 23151fd6138a3959628ea093237ca3f9d597e155 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:28 2015 +0200 mtd: nand: sunxi: replace the NFC_BUF_TO_USER_DATA() macro by an inline function sunxi_nfc_user_data_to_buf() is exposed as an inline function, replace the NFC_BUF_TO_USER_DATA() macro by an inline function to be consistent. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f363e0faa8bd5adb00739086db75713c669b4d9e Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:27 2015 +0200 mtd: nand: sunxi: retrieve corrected OOB bytes The ECC engine is protecting a few OOB bytes. Retrieve them from the USER_DATA register instead of reading them in raw mode (ie without the ECC protection). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 35d0e24f09d00e27eae3484784feee24effc23c5 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:26 2015 +0200 mtd: nand: sunxi: factorize extra OOB bytes handling Add helper functions to factorize the code dealing extra OOB bytes in the normal and syndrome ECC implementations. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b462551c125a125d1782b53d4c7ee7fd35534641 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:25 2015 +0200 mtd: nand: sunxi: make use of sunxi_nfc_hw_ecc_read/write_chunk() The sunxi_nfc_hw_ecc_read/write_chunk() functions have been created to factorize the code in the normal and syndrome ECC implementation. Make use of them where appropriate. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 913821bdd2110b4569540c532ec50f3e61a7c9ba Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:24 2015 +0200 mtd: nand: sunxi: introduce sunxi_nfc_hw_ecc_read/write_chunk() The logic behind normal and syndrome ECC handling is pretty much the same, the only difference is the ECC bytes placement. Create two functions to read/write ECC chunks. Those functions will later be used by the sunxi_nfc_hw_ecc_read/write_page() and sunxi_nfc_hw_syndrome_ecc_read/write_page() functions. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c9118ecebe1d694b463777ec33e397e226d4b149 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:23 2015 +0200 mtd: nand: sunxi: create sunxi_nfc_hw_ecc_enable()/disable() functions The code used to enable/disable the hardware ECC engine is repeated in a lot of places. Create two functions to avoid code duplication. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6efadcf9592c2ed438d1692ca55168e3de5c975b Author: Stefan Roese <sr@xxxxxxx> Date: Fri Oct 2 12:40:21 2015 +0200 mtd: nand: fsmc: Remove BUG macros Remove the BUG macros and return with error (if possible) instead. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit cbf29b83caa8c336cdb80b44bd1b959372e24d28 Author: Stefan Roese <sr@xxxxxxx> Date: Fri Oct 2 12:40:20 2015 +0200 mtd: nand: fsmc: Small whitespace cleanup Remove tab in empty line. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fbe039bb0815e6113f82021aa8c0e36a1941f511 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Mon Sep 28 13:32:37 2015 -0700 ASoC: rt5645: Allow 4 channel recording on AIF1 The codec supports 4 channel recording with TDM on AIF1. This patch modifies the DAI capability to allow it. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7c93377244329552a72912c63fd7503a4e88d6a1 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Tue Sep 29 16:44:12 2015 +0100 ASoC: da7219: Add entry to cover DA7219 bindings document This adds an entry to indicate the DA7219 bindings document (and other Dialog codecs bindings documents) are supported. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b29759ee29d5592b686bb42bb007179c215297c0 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Tue Sep 29 16:44:07 2015 +0100 ASoC: da7219: Add bindings documentation for DA7219 audio codec Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6d817c0e9fd7536be76690bfdee88e8a81c16f7d Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Tue Sep 29 16:44:01 2015 +0100 ASoC: codecs: Add da7219 codec driver This adds support for the DA7219 audio codec with built-in advanced accessory detect features. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76a822a6ae9c0c67309318bb60a4117329252fc4 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Wed Sep 30 17:32:40 2015 +0800 ASoC: topology: ABI - Remove tdm_slot & dai_fmt from snd_soc_tplg_stream These two fields are line parameters for BE/CC links and should not be from toplogy but from ACPI. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2a9df656f28e42538562d090e2b6f3dec5b41f2 Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:32:22 2015 +0800 ASoC: topology: ABI - Add configuration for BE & Codec-Codec DAI Links struct snd_soc_tplg_link_config is defined to configure BE & CC links. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7c545b327d54cdc3f693093f744459f6e0d8ce58 Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:32:04 2015 +0800 ASoC: topology: ABI - Add the type for BE DAI link Define the topology type for BE DAI link: SND_SOC_TPLG_TYPE_BACKEND_LINK. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 478d0d39719127c42f21ac85b8719a87b8fa7bd7 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Wed Sep 30 17:31:44 2015 +0800 ASoC: topology: ABI - Change stream formats to a bitwise flag The toplogy user space tool will generate this bitwise flag by using SNDRV_PCM_FORMAT_* exposed by asound.h, and the topology core will copy this flag when generating DAI streams. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 731324f5cee3caf230427f754701212961fe0bb1 Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:31:34 2015 +0800 ASoC: topology: ABI - Add name element to snd_soc_tplg_stream For codec-codec links, this struct will be mapped to the DAI links's params, which is struct snd_soc_pcm_stream and it needs a stream name. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e8b3fe8f383bbf055cbd69b776fcbbb5ed3befcd Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:30:05 2015 +0800 ASoC: topology: ABI - Use __le32 instead of __u32 in snd_soc_tplg_dapm_widget This fixes the endianness of the ABI parameters in the struct. The field 'num_kcontrols' is also extended from 16 bits to 32 bits. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7654855ef84d78079109bb38195a8db6b188117b Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:29:47 2015 +0800 ASoC: topology: ABI - Remove unused struct snd_soc_tplg_stream_config The struct snd_soc_tplg_stream_config is no longer used in the ABI. We are using snd_soc_tplg_stream instead. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5b2688a59af686f7c0a80edc49d7f190365ac090 Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:28:47 2015 +0800 ASoC: topology: ABI - Add PCM Support and bump ABI version to 4 The struct snd_soc_tplg_pcm_dai is renamed to snd_soc_tplg_pcm. This struct will now be used to handle data related to PCMs (FE DAI & DAI links). It's not for BE, because BE DAI mappings will be provided by ACPI/FDT data. Remove the unused struct snd_soc_tplg_pcm_cfg_caps. We are using snd_soc_tplg_stream and snd_soc_stream_caps instead. Bump ABI version to 4. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1f37cbe2a2153e0981f43fa86aa2004c42761d5d Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Wed Sep 30 15:25:50 2015 +0800 regulator: act8865: add DT binding for property "active-semi,vsel-high" Add a DT property "active-semi,vsel-high" to indicate the VSEL pin is high. If this property is missing, then assume the VSEL pin is low(0). Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Reviewed-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c86dc03e54ce15aac623125d92faac005f94267b Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Wed Sep 30 15:25:49 2015 +0800 regulator: act8865: support output voltage by VSET2[] bits For the step-down DC/DC regulators, the output voltage is selectable by setting VSEL pin that when VSEL is low, output voltage is programmed by VSET1[] bits, and when VSEL is high, output voltage is programmed by VSET2[] bits. The DT property "active-semi,vsel-high" is used to specify the VSEL pin at high on the board. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Reviewed-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6ebbce0a6e15fd52ef029f780ec5fb3282fc22e3 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 14:01:09 2015 +0100 ASoC: wm8998: Initial WM8998 codec driver Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 50e6168f27fdc1f915d3341743b46147c626dc6e Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 14:01:08 2015 +0100 ASoC: arizona: add defines for single-input gain control Adds convenience defines for declaring a gain control that has an input mux. These blocks are functionally equivalent to the existing mixer blocks but can only have a single input active at once. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 33aa380006776850872914d83fe0dbeee42fc95d Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 14:01:07 2015 +0100 regulator: arizona: add support for WM8998 and WM1814 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54bf4505bd64bdb61e343fc007f2f21899172931 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Oct 2 16:52:27 2015 +0300 spi: pxa2xx: Remove unused psp member variable from struct chip_data It is not used since commit 8d94cc50aa4f ("[PATCH] spi: stabilize PIO mode transfers on PXA2xx systems"). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e5e0c3dd257bf34cf001e10422943f90437f0f1b Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:17 2015 +0900 ALSA: firewire-tascam: add hwdep interface This commit adds hwdep interface so as the other IEEE 1394 sound devices has. This interface is designed for mixer/control applications. By using this interface, an application can get information about firewire node, can lock/unlock kernel streaming and can get notification at starting/stopping kernel streaming. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e453df44f0d6574e99fae990c89a22c6ec6bbb62 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:16 2015 +0900 ALSA: firewire-tascam: add PCM functionality This commit adds PCM functionality to transmit/receive PCM samples. When one of PCM substreams are running or external clock source is selected, current sampling rate is used. Else, the sampling rate is changed as an userspace application requests. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 35efa5c489de63a9bdbb7ea4e66dcfadcca951b4 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:15 2015 +0900 ALSA: firewire-tascam: add streaming functionality This commit adds streaming functionality for both direction. To utilize the sequence of the number of data blocks in packets, full duplex with synchronization is applied. Besides, TASCAM FireWire series allows drivers to decide which PCM data channels are enabled. For convenience, this driver always enable whole the data channels. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 47faeea25ef3a39f2224377a1fc76581cd18c044 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:14 2015 +0900 ALSA: firewire-tascam: add data block processing layer TASCAM FireWire series uses non-blocking transmission for AMDTP packet streaming, while the format of data blocks is unique. The CIP headers includes specific value in FMT field and no SYT information. In transmitted packets, the first data channel represents event counter, and the last data channel has status and control information. The rest has 24bit PCM samples with right padding. In received packets, all of data channels include 16, 24, 32bit PCM samples. There's no other kind of information. This commit adds support for this protocol. For convenience, the size of PCM samples in outgoing packet is limited by 16 and 24bit. The status and control information will be supported in future commits. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 96e5fbb0dd128496378dbc404c2a894e49c1ac21 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:13 2015 +0900 ALSA: firewire-tascam: add proc node to show firmware information TASCAM FireWire series has certain registers for firmware information. This commit adds proc node to show the information. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6f81ba19ace2282f2560f5ec3a827ec5370825cb Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:12 2015 +0900 ALSA: firewire-tascam: add a structure for model-dependent parameters. TASCAM FireWire series doesn't tell drivers their capabilities, thus the drivers should have model-dependent parameters and apply it to detected devices. This commit adds a structure to represent such parameters. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c0949b278515da948597b4a1a2726f42591ef385 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:11 2015 +0900 ALSA: firewire-tascam: add skeleton for TASCAM FireWire series This commit adds a new driver for TASCAM FireWire series. In this commit, this driver just creates/removes card instance according to bus event. More functionalities will be added in following commits. TASCAM FireWire series consists of: * PDI 1394P23 for IEEE 1394 PHY layer * PDI 1394L40 for IEEE 1394 LINK layer and IEC 61883 interface * XILINX XC9536XL * XILINX Spartan-II XC2S100 * ATMEL AT91M42800A Ilya Zimnovich had investigated TASCAM FireWire series in 2011, and discover some features of his FW-1804. You can see a part of his research in FFADO project. http://subversion.ffado.org/wiki/Tascam A part of my work are based on Ilya's investigation, while this series doesn't support the FW-1804, because of a lack of config ROM information and its protocol detail, especially for PCM channels. I observed that FW-1884 and FW-1082 don't work properly with 1394 OHCI controller based on VT6315. The controller can actually communicate packets to these models, while these models generate no sounds. It may be due to the PHY/LINK layer issues. Using 1394 OHCI controller produced by the other vendors such as Texas Instruments may work. Or adding another node on the bus. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f6d3125fa3c2f55ddf7cf69365c41089de6cfae6 Merge: 2dc6a03 36f8daf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 2 07:21:25 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/dsa/slave.c net/dsa/slave.c simply had overlapping changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit faf7ec4a92c0231d1079177095077c162eb9b466 Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Thu Jun 18 15:41:34 2015 +0100 drivers: firmware: psci: add system suspend support PSCI v1.0 introduces a new API called PSCI_SYSTEM_SUSPEND. This API provides the mechanism by which the calling OS can request entry into the deepest possible system sleep state. It meets all the necessary preconditions for entering suspend to RAM state in Linux. This patch adds support for PSCI_SYSTEM_SUSPEND in psci firmware and registers a psci system suspend operation to implement the suspend-to-RAM(s2r) in a generic way on all the platforms implementing PSCI. Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 029180b1c99046831c33ed43fdbdb620506cb15b Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu Jun 18 15:41:33 2015 +0100 drivers: firmware: psci: define more generic PSCI_FN_NATIVE macro This patch replaces the definition and usage of PSCI_0_2_FN_NATIVE with the new and more generic macro PSCI_FN_NATIVE that can be used with any version. This will be useful for the new features introduced in PSCIv1.0 and for any future revisions. Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 0fc197c7cb3b1139fccb3b92e8db19a93f81f6fb Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue May 26 13:06:57 2015 +0100 drivers: firmware: psci: add PSCI v1.0 DT bindings PSCI 1.0 is designed to be fully compliant to the PSCI 0.2 specification, with minor differences that are described in the PSCI specification. In particular, PSCI v1.0 augments the specification with a new power_state format (extended stateid - probeable through the PSCI_FEATURES call), changes some function return codes and functions usage requirements wrt PSCI 0.2. These changes mean that 1.0 vs 0.2 compliancy should be enforced through a DT compatible string that allows firmware to specify 1.0 only compliancy so that older kernels are prevented from using PSCI 1.0 FW implementations in a non-compatible way (eg by calling a 1.0 FW implementation and expecting 0.2 behaviour). This patch adds PSCI 1.0 DT bindings and related compatible string. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> commit a5c00bb28da0bb34f901d090839fc448246aa996 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue May 26 17:10:32 2015 +0100 drivers: firmware: psci: add extended stateid power_state support PSCI v1.0 augmented the power_state parameter format specification (extended stateid) and introduced a way to probe it through the PSCI_FEATURES interface. This patch implements code that detects the power_state format at run-time through the PSCI_FEATURES interface, so that the power_state argument can be properly detected and validated in the kernel according to the information provided through firmware. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> commit 5f004e0c9fb152a080b47d06dc48bdd29765a734 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue May 26 17:06:21 2015 +0100 drivers: firmware: psci: add PSCI_FEATURES call PSCI v1.0 introduces a PSCI_FEATURES call that allows to probe for features related to a specific function identifier. This patch adds PSCI_FEATURES support to the PSCI firmware layer. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> commit 068654c200cc32966ce7906ca0bd096b9b97e988 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue May 26 16:49:01 2015 +0100 drivers: firmware: psci: move power_state handling to generic code Functions implemented on arm64 to check if a power_state parameter is valid and if the power_state implies context loss are not arm64 specific and should be moved to generic code so that they can be reused on arm systems too. This patch moves the functions handling the power_state parameter to generic PSCI firmware layer code. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> commit 2217d7c68e5caf50ec86b8c75c76bf06eb4b2c45 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Fri May 22 14:31:37 2015 +0100 drivers: firmware: psci: add INVALID_ADDRESS return value PSCI 1.0 introduces the INVALID_ADDRESS return value for functions that take an address as input parameter (eg CPU_SUSPEND). This patch adds INVALID_ADDRESS return value to kernel code and updates the PSCI to linux error conversion to take it into account. The kernel error value associated to INVALID_ADDRESS is set to the error returned when the PSCI error code is INVALID_PARAMETERS to comply with current call sites expected return value, given that the kernel at present has no use for the additional error information reported. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> commit 022e4e52a750066047b22031733df70e136ae299 Author: Sunil Kamath <sunil.kamath@xxxxxxxxx> Date: Wed Sep 30 22:34:57 2015 +0530 drm/i915/bxt: Modify BXT BLC according to VBT changes Latest VBT mentions which set of registers will be used for BLC, as controller number field. Making use of this field in BXT BLC implementation. Also, the registers are used in case control pin indicates display DDI. Adding a check for this. According to Bspec, BLC_PWM_*_2 uses the display utility pin for output. To use backlight 2, enable the utility pin with mode = PWM v2: Jani's review comments addressed - Add a prefix _ to BXT BLC registers definitions. - Add "bxt only" comment for u8 controller - Remove control_pin check for DDI controller - Check for valid controller values - Set pipe bits in UTIL_PIN_CTL - Enable/Disable UTIL_PIN_CTL in enable/disable_backlight() - If BLC 2 is used, read active_low_pwm from UTIL_PIN polarity Satheesh's review comment addressed - If UTIL PIN is already enabled, BIOS would have programmed it. No need to disable and enable again. v3: Jani's review comments - add UTIL_PIN_PIPE_MASK and UTIL_PIN_MODE_MASK - Disable UTIL_PIN if controller 1 is used - Mask out UTIL_PIN_PIPE_MASK and UTIL_PIN_MODE_MASK before enabling UTIL_PIN - check valid controller value in intel_bios.c - add backlight.util_pin_active_low - disable util pin before enabling v4: Change for BXT-PO branch: Stubbed unwanted definition which was existing before because of DC6 patch. UTIL_PIN_MODE_PWM (0x1b << 24) v2: Fixed Jani's review comment. v3: Split the backight PWM frequency programming into separate patch, in cases BIOS doesn't initializes it. v4: Starting afresh and not modifying existing state for backlight, as per Jani's recommendation. v5: Fixed Jani's review comment wrt util pin enable Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Sunil Kamath <sunil.kamath@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ada62b1070a57562664713bbf46a78d5dc4cb23 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Fri Jun 12 09:57:11 2015 +0300 agp/uninorth: fix a memleak in create_gatt_table Fix the memory leak in create_gatt_table: we've lost a kfree on the exit path for the pages array allocated in uninorth_create_gatt_table Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b6080db4f4e8bf28717b832976efc421de25b86c Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Fri Jul 17 09:20:00 2015 +0200 powerpc/nvram: Fix function name in some errors messages. 'nvram_create_os_partition' should be 'nvram_create_partition'. Use __func__ to have it right, as done elsewhere in this file. Signed-off-by: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7d523187173294f6ae3b86a48e442122b1aecc38 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Fri Jul 17 09:19:59 2015 +0200 powerpc/nvram: Add missing kfree in error path If 'nvram_write_header' fails, then 'new_part' should be freed, otherwise, there is a memory leak. Signed-off-by: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ce0c982152137789e6f09e9d8712034088adf3aa Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:46 2015 +0530 drm/i915/bxt: get DSI pixelclock BXT's DSI PLL is different from that of VLV. So this patch adds a new function to get the current DSI pixel clock based on the PLL divider ratio and lane count. This function is required for intel_dsi_get_config() function. v2: Fixed Jani's review comments. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit baeac68a82f07f7c37bfc3d9624127b813a8d8b4 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:45 2015 +0530 drm/i915/bxt: get_hw_state for BXT Pick appropriate port control register (BXT or VLV), based on device. Get the current hw state wrt Mipi port. v2: Rebased on latest drm nightly branch. v3: Removed the GET_DSI_PORT_CTRL Macro for consistency with earlier implementations as per Jani's suggestion. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b389a45c6b2f9b310ddf631d23b9e3e045cf747b Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:44 2015 +0530 drm/i915/bxt: DSI disable and post-disable This patch contains changes to support DSI disble sequence in BXT. The changes are: 1. BXT specific changes in clear_device_ready function. 2. BXT specific changes in DSI disable and post-disable functions. 3. Add a new function to reset BXT Dphy clock and dividers (bxt_dsi_reset_clocks). 4. Moved some part of the vlv clock reset code, in a new function (vlv_dsi_reset_clocks) maintaining the exact same sequence. 5. Wrapper function to call corresponding reset clock function. v2: Fixed Jani's review comments. v3: Removed the GET_DSI_PORT_CTRL Macro for consistency with earlier implementations as per Jani's suggestion. Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 11b8e4f58e1baa94e44400a076b1a3757612ea55 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Wed Sep 23 23:27:17 2015 +0530 drm/i915/bxt: Program Tx Rx and Dphy clocks BXT DSI clocks are different than previous platforms. So adding a new function to program following clocks and dividers: 1. Program variable divider to generate input to Tx clock divider (Output value must be < 39.5Mhz) 2. Select divide by 2 option to get < 20Mhz for Tx clock 3. Program 8by3 divider to generate Rx clock v2: Fixed Jani's review comments. Adjusted the Macro definition as per convention. Simplified the logic for bit definitions for MIPI PORT A and PORT C in same registers. v3: Refactored the macros for TX, RX Escape and DPHY clocks as per Jani's suggestion. v4: Addressed Jani's review comments. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3fe2c7d4c85b4557c9772ff16f31ddc18cfd2521 Author: Dmitry Osipenko <digetx@xxxxxxxxx> Date: Sun Jun 28 22:27:02 2015 +0300 gpu: host1x: Fix MLOCK's debug info MLOCK's debug info, spewed on CDMA timeout, contains meaningless MLOCK owner channel ID because HOST1X_SYNC_MLOCK_OWNER_CHID_F() returns shifted value, while unshifted should be used. Fix it by changing '_F' to '_V'. Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> Reviewed-By: Terje Bergstrom <tbergstrom@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 37ab0810c9b7e06ec3904c186c46e9c540b3793b Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:42 2015 +0530 drm/i915/bxt: DSI enable for BXT This patch contains following changes: 1. MIPI device ready changes to support dsi_pre_enable. Changes are specific to BXT device ready sequence. Added check for ULPS mode(No effects on VLV). 2. Changes in dsi_enable to pick BXT port control register. 3. Changes in dsi_pre_enable to restrict DPIO programming for VLV v2: Fixed Jani's review comments. Removed the changes in VLV/CHV code. Fixed the macros to get proper port offsets. v3: Rebased on latest drm-nightly branch. Fixed Jani's review comments. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e77b675f8786f38d40fc1562e1275875daf67fef Author: Dmitry Osipenko <digetx@xxxxxxxxx> Date: Tue Jun 30 17:15:50 2015 +0300 ARM: tegra: paz00: use con_id's to refer GPIO's in gpiod_lookup table Commit 72daceb9a10a ("net: rfkill: gpio: Add default GPIO driver mappings for ACPI") removed possibility to request GPIO by table index for non-ACPI platforms without changing its users. As result "shutdown" GPIO request will fail if request for "reset" GPIO succeeded or "reset" will be requested instead of "shutdown" if "reset" wasn't defined. Fix it by making gpiod_lookup_table use con_id's instead of indexes. Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> Fixes: 72daceb (net: rfkill: gpio: Add default GPIO driver mappings for ACPI) Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+ Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Marc Dietrich <marvin24@xxxxxx> Tested-by: Marc Dietrich <marvin24@xxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7d4aefd0a90dcced6ec24fd1908e4b407a8d4793 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Thu Oct 1 22:23:49 2015 +0530 drm/i915/bxt: DSI encoder support in CRTC modeset SKL and BXT qualifies the HAS_DDI() check, and hence haswell modeset functions are re-used for modeset sequence. But DDI interface doesn't include support for DSI. This patch adds: 1. cases for DSI encoder, in those modeset functions and allows a CRTC modeset 2. Adds call to pre_pll enabled from CRTC modeset function. Nothing needs to be done as such in CRTC for DSI encoder, as PLL, clock and and transcoder programming will be taken care in encoder's pre_enable and pre_pll_enable function. v2: Fixed Jani's review comments. Added INVALID_PORT for non DDI encoder like DSI for platforms having HAS_DDI as true. v3: Rebased on latest drm-nightly branch. Added a WARN_ON for invalid encoder. v4: WARN_ON for invalid encoder is refactored as per Jani's suggestion. Fixed the sequence for pre_pll_enable. v5: Protected DDI code paths in case of DSI encoder calls. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13d70b8135e92274c9044d5ba4a543e1d6f0ef59 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Wed Sep 30 23:00:44 2015 +0300 drm/i915: rename INSTDONE1 to GEN4_INSTDONE1 This register was added on GEN4, by the name INSTDONE_1 whereas the GEN6 specification calls it INSTDONE_2. Keep the original name with a platform prefix to make it clearer which INSTDONE register instance this is. Also add a comment about the SNB alternative name. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aca82d1cbb49af34b69ecd4571a0fe48ad9247c1 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri Sep 25 12:28:02 2015 -0700 gpio: omap: move pm runtime in irq_chip.irq_bus_lock/sync_unlock The PM runtime API can't be used in atomic contex on -RT even if it's configured as irqsafe. As result, below error report can be seen when PM runtime API called from IRQ chip's callbacks irq_startup/irq_shutdown/irq_set_type, because they are protected by RAW spinlock: BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917 in_atomic(): 1, irqs_disabled(): 128, pid: 96, name: insmod 3 locks held by insmod/96: #0: (&dev->mutex){......}, at: [<c04752c8>] __driver_attach+0x54/0xa0 #1: (&dev->mutex){......}, at: [<c04752d4>] __driver_attach+0x60/0xa0 #2: (class){......}, at: [<c00a408c>] __irq_get_desc_lock+0x60/0xa4 irq event stamp: 1834 hardirqs last enabled at (1833): [<c06ab2a4>] _raw_spin_unlock_irqrestore+0x88/0x90 hardirqs last disabled at (1834): [<c06ab068>] _raw_spin_lock_irqsave+0x2c/0x64 softirqs last enabled at (0): [<c003d220>] copy_process.part.52+0x410/0x19d8 softirqs last disabled at (0): [< (null)>] (null) Preemption disabled at:[< (null)>] (null) CPU: 1 PID: 96 Comm: insmod Tainted: G W O 4.1.3-rt3-00618-g57e2387-dirty #184 Hardware name: Generic DRA74X (Flattened Device Tree) [<c00190f4>] (unwind_backtrace) from [<c0014734>] (show_stack+0x20/0x24) [<c0014734>] (show_stack) from [<c06a62ec>] (dump_stack+0x88/0xdc) [<c06a62ec>] (dump_stack) from [<c006ca44>] (___might_sleep+0x198/0x2a8) [<c006ca44>] (___might_sleep) from [<c06ab6d4>] (rt_spin_lock+0x30/0x70) [<c06ab6d4>] (rt_spin_lock) from [<c04815ac>] (__pm_runtime_resume+0x68/0xa4) [<c04815ac>] (__pm_runtime_resume) from [<c04123f4>] (omap_gpio_irq_type+0x188/0x1d8) [<c04123f4>] (omap_gpio_irq_type) from [<c00a64e4>] (__irq_set_trigger+0x68/0x130) [<c00a64e4>] (__irq_set_trigger) from [<c00a7bc4>] (irq_set_irq_type+0x44/0x6c) [<c00a7bc4>] (irq_set_irq_type) from [<c00abbf8>] (irq_create_of_mapping+0x120/0x174) [<c00abbf8>] (irq_create_of_mapping) from [<c0577b74>] (of_irq_get+0x48/0x58) [<c0577b74>] (of_irq_get) from [<c0540a14>] (i2c_device_probe+0x54/0x15c) [<c0540a14>] (i2c_device_probe) from [<c04750dc>] (driver_probe_device+0x184/0x2c8) [<c04750dc>] (driver_probe_device) from [<c0475310>] (__driver_attach+0x9c/0xa0) [<c0475310>] (__driver_attach) from [<c0473238>] (bus_for_each_dev+0x7c/0xb0) [<c0473238>] (bus_for_each_dev) from [<c0474af4>] (driver_attach+0x28/0x30) [<c0474af4>] (driver_attach) from [<c0474760>] (bus_add_driver+0x154/0x200) [<c0474760>] (bus_add_driver) from [<c0476348>] (driver_register+0x88/0x108) [<c0476348>] (driver_register) from [<c0541600>] (i2c_register_driver+0x3c/0x90) [<c0541600>] (i2c_register_driver) from [<bf003018>] (pcf857x_init+0x18/0x24 [gpio_pcf857x]) [<bf003018>] (pcf857x_init [gpio_pcf857x]) from [<c000998c>] (do_one_initcall+0x128/0x1e8) [<c000998c>] (do_one_initcall) from [<c06a4220>] (do_init_module+0x6c/0x1bc) [<c06a4220>] (do_init_module) from [<c00dd0c8>] (load_module+0x18e8/0x21c4) [<c00dd0c8>] (load_module) from [<c00ddaa0>] (SyS_init_module+0xfc/0x158) [<c00ddaa0>] (SyS_init_module) from [<c000ff40>] (ret_fast_syscall+0x0/0x54) The IRQ chip interface defines only two callbacks which are executed in non-atomic contex - irq_bus_lock/irq_bus_sync_unlock, so lets move PM runtime calls there. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Austin Schuh <austin@xxxxxxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ee1635180a8437b8ea4ea2233fd3d3ab1ae95a49 Author: Robin Gong <b38343@xxxxxxxxxxxxx> Date: Thu Sep 24 15:53:57 2015 -0500 pinctrl: freescale: imx: fix system crash if enable two pinctl instances Fix system chrash caused by groups whose number is smaller than the number of groups of the last pinctl instance which is not initialized. iMX7D supports two iomux controllers (iomuxc-lpsr and iomuxc) on probing the second instance (iomuxc) the chrash below occurs. Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.2.0-next-20150901-00006-gebfa43c (aalonso@bluefly) [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7) [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasin instruction cache [ 0.000000] Machine model: Freescale i.MX7 SabreSD Board [ 0.661012] [<802a6cb0>] (strcmp) from [<802cc80c>] (imx_dt_node_to_map+0x58/0x208) [ 0.668879] [<802cc80c>] (imx_dt_node_to_map) from [<802cbe24>] (pinctrl_dt_to_map+0x174/0x2b0) [ 0.677654] [<802cbe24>] (pinctrl_dt_to_map) from [<802c8f18>] (pinctrl_get+0x100/0x424) [ 0.685878] [<802c8f18>] (pinctrl_get) from [<802c9510>] (pinctrl_register+0x26c/0x480) [ 0.694104] [<802c9510>] (pinctrl_register) from [<802ccf3c>] (imx_pinctrl_probe+0x580/0x6e8) [ 0.702706] [<802ccf3c>] (imx_pinctrl_probe) from [<80351b58>] (platform_drv_probe+0x44/0xa4) [ 0.711455] [<80351b58>] (platform_drv_probe) from [<803503ec>] (driver_probe_device+0x174/0x2b4) [ 0.720405] [<803503ec>] (driver_probe_device) from [<803505fc>] (__driver_attach+0x8c/0x90) [ 0.728982] [<803505fc>] (__driver_attach) from [<8034e930>] (bus_for_each_dev+0x6c/0xa0) [ 0.737381] [<8034e930>] (bus_for_each_dev) from [<8034fb88>] (bus_add_driver+0x148/0x1f0) [ 0.745804] [<8034fb88>] (bus_add_driver) from [<80350c00>] (driver_register+0x78/0xf8) [ 0.753880] [<80350c00>] (driver_register) from [<800097d0>] (do_one_initcall+0x8c/0x1d4) [ 0.762282] [<800097d0>] (do_one_initcall) from [<80987dac>] (kernel_init_freeable+0x144/0x1e4) [ 0.771061] [<80987dac>] (kernel_init_freeable) from [<806d9c7c>] (kernel_init+0x8/0xe8) [ 0.779285] [<806d9c7c>] (kernel_init) from [<8000f628>] (ret_from_fork+0x14/0x2c) [ 0.786981] Code: e3520000 e5e32001 1afffffb e12fff1e (e4d03001) Signed-off-by: Robin Gong <b38343@xxxxxxxxxxxxx> Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit de4e882f3fbef586304837518c424787bdfca8b8 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Sep 25 11:14:09 2015 +0200 pinctrl: at91-pio4: add PM stuff Allow GPIOs to be configured as wakeup sources. When going to suspend, disable all GPIO irqs excepting the one configured as wakeup sources. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 69d301fdd19635a39cb2b78e53fdd625b7a27924 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Sep 24 15:05:45 2015 -0700 gpio: add DT bindings for existing consumer flags It is customary for GPIO controllers to support open drain/collector and open source/emitter configurations. Add standard GPIO line flags to account for this and augment the documentation to say that these are the most generic bindings. Several people approached me to add new flags to the lines, and this makes sense, but let's first bind up the most common cases before we start to add exotic stuff. Thanks to H. Nikolaus Schaller for ideas on how to encode single-ended wiring such as open drain/source and open collector/emitter. Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Grygorii Strashko <grygorii.strashko@xxxxxx> Cc: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b8664924e8071b67b99f05b13e669e20104d7709 Author: Diego Elio Pettenò <flameeyes@xxxxxxxxxxxx> Date: Mon Sep 21 18:24:24 2015 +0200 gpio: add GPIO support for IT87xx, replacing gpio-it8761e This patch adds support for the GPIOs found on the ITE super-I/O chips IT87xx. Signed-off-by: Diego Elio Pettenò <flameeyes@xxxxxxxxxxxx> Signed-off-by: Christophe Vu-Brugier <cvubrugier@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 48b5953ed826224a1332f2fd784d37d5f084ca9c Author: Dirk Behme <dirk.behme@xxxxxxxxx> Date: Tue Aug 18 18:02:32 2015 +0200 gpio: gpiolib: don't compare an unsigned for >= 0 The parameter offset is an unsigned, so it makes no sense to compare it for >= 0. Fix the compiler warning regarding this by removing this comparison. As the macro GPIO_OFFSET_VALID is only used at this single place, simplify the code by dropping the macro completely and dropping the invert, too. No functional change. Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 633a5065939ae75a07bc37c110399a3faf065147 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:59:01 2015 +0100 gpio: arizona: add support for WM8998 and WM1814 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c75a37720480819291ebca0db7fab4e87c46f73d Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Wed Aug 26 17:52:19 2015 -0400 gpio: Fix error checking in the function device_pca957x_init This fixes error checking in the function device_pca957x_init to properly check and return error code values from the calls to the function pca953x_write_regs if they fail as to properly signal callers when a error occurs due a failure when writing registers for this gpio based device. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 49a5bd880cb63fba9f4589a89d68b8a255062a5f Author: Alban Bedel <albeu@xxxxxxx> Date: Tue Sep 1 11:38:02 2015 +0200 gpio: ath79: Convert to the state container design pattern Turn the ath79 driver into a true driver supporting multiple instances. While at it also removed unneed includes and make use of the BIT() macro. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9f3538280301bb953bf159d5ce9fc1f41482aa4c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 28 14:48:56 2015 -0700 gpio: msm: Remove unused driver Remove this driver now that Bjorn has introduced a pinctrl driver for msm8660 and the dts files have been updated with the pinctrl compatibles. Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fa9795d1121e18a6ee2d0f8b2e837f51d63d4b00 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Aug 27 14:26:46 2015 +0200 gpio: zynq: use container_of() to get state container The state container of the Zynq GPIO driver is sometimes extracted from the gpio_chip exploiting the fact that offsetof() the struct gpio_chip inside the struct zynq_gpio is 0, so the container_of() is in practice a noop. However if a member is added to struct zynq_gpio in front of struct gpio_chip, things will break. Using proper container_of() avoids this problem. Semantically this is a noop, the compiler will optimize it away, but syntactically it makes me happier. Also replace some explicit container_of() calls with the helper function. Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Ezra Savard <ezra.savard@xxxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Harini Katakam <harinik@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2f930643c581f3fe45568f24a8aba93af46ff287 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Aug 27 14:13:46 2015 +0200 gpio: vf610: use container_of() to get state container The state container of the vf610 GPIO driver is sometimes extracted from the gpio_chip exploiting the fact that offsetof() the struct gpio_chip inside the struct vf610_gpio_port is 0, so the container_of() is in practice a noop. However if a member is added to struct vf610_gpio_port in front of struct gpio_chip, things will break. Using proper container_of() avoids this problem. Semantically this is a noop, the compiler will optimize it away, but syntactically it makes me happier. Also replace some explicit container_of() calls with the helper function. Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 218f1f8b50aef5438fd95a4e3d64549bf9c459c3 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 25 11:26:04 2015 +0200 gpio: sx150x: use container_of() to get state container The state container of the sx150x GPIO driver is sometimes extracted from the gpio_chip exploiting the fact that offsetof() the struct gpio_chip inside the struct sx150x_chip is 0, so the container_of() is in practice a noop. However if a member is added to struct sx150_chip in front of struct gpio_chip, things will break. Using proper container_of() avoids this problem. Semantically this is a noop, the compiler will optimize it away, but syntactically it makes me happier. Cc: Wei Chen <Wei.Chen@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 231d51b8a4d5b24e72112bbc73fdcc38759a26e3 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 25 10:54:12 2015 +0200 gpio: altera: use container_of() to get state container The state container of the Altera GPIO driver is extracted from the gpio_chip exploiting the fact that offsetof() the struct gpio_chip inside the struct of_mm_gpio_chip are both 0, so the container_of() is in practice a noop. However if a member is added to struct altera_gpio_chip in front of struct of_mm_gpio_chip, things will break. Using proper container_of() avoids this problem. Semantically this is a noop, the compiler will optimize it away, but syntactically it makes me happier. Cc: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4843289e60e16bed00b7c3b910e67fb06214631a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 25 10:40:23 2015 +0200 gpio: etraxfs: use container_of() to get state container The state container of the etraxfs GPIO driver is extracted from the gpio_chip exploiting the fact that offsetof() the struct gpio_chip inside the struct bgpio_chip are both 0, so the container_of() is in practice a noop. However if a member is added to struct etraxfs_gpio_chip in front of struct bgpio_chip, things will break. Using proper container_of() avoids this problem. Semantically this is a noop, the compiler will optimize it away, but syntactically it makes me happier. Acked-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1dbf7f299f90dc4b45e2322a3af843ad65e1501b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Sep 17 14:21:25 2015 +0200 gpio: pl061: detail IRQ trigger handling I couldn't follow this code flow. Make it dirt simple to figure out what is going on and get proper debug prints. Warn if we set up an IRQ without any trigger. Should make no semantic difference. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4730f33f0d822fd8d0f5d2229793a5df674fed5c Author: Vishnu Patekar <vishnupatekar0510@xxxxxxxxx> Date: Tue Sep 22 23:38:55 2015 +0800 pinctrl: sunxi: add allwinner A83T PIO controller support Allwinner A83T soc port controller has 8 ports. It has 3 IRQ banks namely PB, PG, PH. Pinmuxing are different for some pins as compared to sun8i A23 and A33. Signed-off-by: Vishnu Patekar <vishnupatekar0510@xxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e86c62066e7be8b9f5284842ca8347991dd02edf Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Sep 24 21:26:47 2015 +0900 pinctrl: uniphier: add SD card pinmux settings Add SD card pinmux settings for PH1-LD4, PH1-Pro4, PH1-sLD8, PH1-Pro5, ProXstream2, and PH1-LD6b SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit be2cbd4dbbe63cfb6888f6ce96f1ac87eddae513 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:31 2015 +0200 pinctrl: samsung: Remove unneded semicolon It's not needed an is just creating a null statement, so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e44118997523cc62c893ba019a1fd3e0c43d6877 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:30 2015 +0200 pinctrl: mediatek: Remove unneded semicolon It's not needed an is just creating a null statement, so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5c99c0ffa4ee284961a0214b171748df0edf16f4 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:29 2015 +0200 pinctrl: sunxi: Remove unneeded semicolon It's not needed an is just creating a null statement, so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 14316c4ca9675ee086e3635b58340aaa7f6976e5 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:28 2015 +0200 pinctrl: mxs: Remove unneded semicolon It's not needed an is just creating a null statement, so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1978c5ec0f8310df856a4a725048635725b673fa Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:27 2015 +0200 pinctrl: tz1090-pdc: Remove unneded semicolons They aren't needed and are just creating null statements so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 916888838441e13155495f4d7e812e3bb0f5b875 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:26 2015 +0200 pinctrl: tz1090: Remove unneded semicolons They aren't needed and are just creating null statements so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 866a2c247fb9eebe91a11cafd38fd4dd8b25efed Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:21 2015 +0900 staging: wilc1000: rename u8CurrChannel This patch replaces u8CurrChannel with curr_channel to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd739ea517c43cb902d5116923c182d3f72dc9a7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:20 2015 +0900 staging: wilc1000: set_channel: rename s32Error This patch replaces s32Error with result to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7584019e575286d35b2a1151a8f7f3038bf3d377 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:19 2015 +0900 staging: wilc1000: set_channel: fix data type of s32Error This patch changes data type of s32Error variable from s32 to int because return type of this function is int. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a4598316e20a30a8926a81e2032f592ebe7e42a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:18 2015 +0900 staging: wilc1000: set_channel: remove blank line after open brace This patch removes blank line after open brace '{' found by checkpatch.pl CHECK: Blank lines aren't necessary after an open brace '{' drivers/staging/wilc1000/wilc_wfi_cfgoperations.c:664: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a74cc6b8d8ee405cfef4a26f6c8259f1c1882c66 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:17 2015 +0900 staging: wilc1000: use int instead of int8_t This patch replaces int8_t with int. The int8_t should be int. It's used as an index into an array or -1 for not found. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cc59d299f0690c5ce3b32cdf8e07ac535c2288a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:16 2015 +0900 staging: wilc1000: use ARRAY_SIZE macro This patch uses ARRAY_SIZE macro found by checkpatch.pl WARNING: Prefer ARRAY_SIZE(wb) drivers/staging/wilc1000/wilc_spi.c:400 drivers/staging/wilc1000/wilc_spi.c:402 Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30b2ba099c799a72fa68c35e1e10016c515cac06 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:15 2015 +0900 staging: wilc1000: remove unnecessary comment This patch removes unnecessary comment. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0981ce2bba6dd76c9fb2edf459a7e6e207a0cef3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:14 2015 +0900 staging: wilc1000: remove #if 1 and #endif This patch removes #if 1 and #endif, which is encapsulated some codes. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2eda352d046b3bd48d7916da9b2bfefbddffacf Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:13 2015 +0900 staging: wilc1000: fix indentation level This patch removes unnecessary block braces and fix indentation. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afcd8c514698d96842d76db649e0237bd384d81a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:12 2015 +0900 staging: wilc1000: remove if defined codes of USE_OLD_SPI_SW This patch removes if defined codes of USE_OLD_SPI_SW. This macro is deleted because it is commented out. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 331d80c53b2d2d11d526da5bed117119e7bd57bc Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:11 2015 +0900 staging: wilc1000: remove commented codes This patch removes commented codes that is not used in this driver. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3ad7f5788efc03e41a31756a01c0718324d366c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:10 2015 +0900 staging: wilc1000: remove wilc_platform.h This patch removes wilc_platform.h file that is not used anywhere. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cdf6e7bd3f87485a5d1fddcbc7e9969cbb9be4b Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:12 2015 +0900 staging: wilc1000: remove unused variable real_ndev This patch removes unused variable real_ndev. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 814bc36807e26ffbee40dd81de3ae398b608c266 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:11 2015 +0900 staging: wilc1000: remove function pointer cfg_init This patch removes function pointer cfg_init and call the function wilc_wlan_cfg_init instead. Remove static from function declaration. After removing cfg_init, the struct wilc_cfg_func_t is useless so just delete it and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30f535a673d043d21be5d40cced45387bd51b3b9 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:10 2015 +0900 staging: wilc1000: remove function pointer rx_indicate This patch removes function pointer rx_indicate and just call the function wilc_wlan_cfg_indicate_rx instead. Remove static from the function declration. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 355cca2ab21b06b7222e7cd8bebede9aced75374 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:09 2015 +0900 staging: wilc1000: remove function pointer cfg_wid_get_val This patch removes cfg_wid_get_val and call the function wilc_wlan_cfg_get_wid_value. Remove static from the function declaration. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec1b86bf6a47d6099cd502e6dc1a1217e2c6c23d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:08 2015 +0900 staging: wilc1000: remove function pointer cfg_wid_get Remove function pointer cfg_wid_get and call the function wilc_wlan_cfg_get_wid instead. Remove static from the function declaration. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17e8f16554f22e8e5e0146e1236c2ec64a047e92 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:07 2015 +0900 staging: wilc1000: remove function pointer cfg_wid_set This patch removes function pointer cfg_wid_set and call the function wilc_wlan_cfg_set_wid instead. Remove static from the function declaration. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66482a56425036e605e60bf56c573b30d0596a7b Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:06 2015 +0900 staging: wilc1000: Delete undefined DEBUG_MODE and it's related codes This patch removes undefined DEBUG_MODE and it's related codes. We won't use this at the moment. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28dedb8070398561243ad3708dd4f77ca920c6dd Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:05 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.h: remove unused variables This patch removes unused variable already_claim and hWILCWFIDrv_2. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdf33a76972c487511962eab9ed5f0c1fa439f4e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Fri Oct 2 14:22:04 2015 +0900 staging: wilc1000: coreconfigurator.c: remove unused struct This patch removes unused structure, tstrconfigPktInfo from the coreconfigurator.c file. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dd2f7719d265fd01b9f08f6a61c97b900dd1a4e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Fri Oct 2 14:22:03 2015 +0900 staging: wilc1000: remove typedef from enum This patch removes typedef from enumerated types defined in coreconfigurator.c file and also changes their names to avoid CamelCase naming convention as shown: - tenuBasicFrmType to basic_frame_type - tenuFrmSubtype to sub_frame_type - tenuInfoElemID to info_element_id Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9d4834d94c5126e79984769da8c36844ae6db5d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:43 2015 +0900 staging: wilc1000: remove function pointer wlan_add_mgmt_to_tx_que This patch removes function pointer wlan_add_mgmt_to_tx_que and just call the function wilc_wlan_txq_add_mgmt_pkt. Remove structure wilc_wlan_oup_t also because no members in it. Since wilc_wlan_oup_t is deleted, it's variable, function parameters and related codes are also deleted. - deleted variables gpstrWlanOps oup - modified functions wilc1000_prepare_11b_core wilc_wlan_init Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 894de36b1ae8cf78514a686c381dd5c3c4812a04 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:42 2015 +0900 staging: wilc1000: remove function pointer wlan_cfg_get_value This patch removes function pointer wlan_cfg_get_value and just call the function wilc_wlan_cfg_get_val. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07056a85078ad4d8114c9898799f7ded626a4023 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:41 2015 +0900 staging: wilc1000: remove function pointer wlan_cfg_get This patch removes function pointer wlan_cfg_get and just call the function wilc_wlan_cfg_get. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1028e5a4045f541662909d148d024505c01fafb7 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:40 2015 +0900 staging: wilc1000: remove function pointer wlan_cfg_set This patch removes function pointer wlan_cfg_set and just call the function wilc_wlan_cfg_set. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d4469c945bcc243b9edd2e19d5b2333bb52215c Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:39 2015 +0900 staging: wilc1000: delete define ACTION and PROBE_REQ The define ACTION and PROBE_REQ are duplicate. They are aleady defined in host_interface.h. Just delete it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a17e2ec1ef681ccbc8eab4d435a227445a539488 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:38 2015 +0900 staging: wilc1000: remove function pointer wlan_cleanup This patch removes function pointer wlan_cleanup and just call the function wilc_wlan_cleanup. Remove static from the function also. After changing function pointer wlan_cleanup with wilc_wlan_cleanup, the define wilc_wlan_deinit will be like folowing. -define wilc_wlan_deinit(nic) { wilc_wlan_cleanup(); } The define is unnecessary so just call wilc_wlan_cleanup instead of wilc_wlan_deinit() and remove the define also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46ca80cd16f650c480cde3cdf3c68c6eb1a12f58 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:37 2015 +0900 staging: wilc1000: remove function pointer wlan_handle_rx_isr This patch removes function pointer wlan_handle_rx_isr and just call the function wilc_handle_isr. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f590c4ce170386e8aea7745ac5d92c7cbe2ab892 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:36 2015 +0900 staging: wilc1000: remove function pointer wlan_handle_tx_que This patch removes function pointer wlan_handle_tx_que and just call the function wilc_wlan_handle_txq. Remove static from the function also. There is one function call wlan_handle_tx_que which does not have an argument and return value. So put txq_count as argument and ret for return value. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fc84a6f6496e8079fed1b9c43606b82bf195c06 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:35 2015 +0900 staging: wilc1000: remove function pointer wlan_add_to_tx_que This patch removes function pointer wlan_add_to_tx_que and just call the function wilc_wlan_txq_add_net_pkt. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cec741e4aee21b324a4c2a7e142114271dfe572 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:34 2015 +0900 staging: wilc1000: remove function pointer wlan_stop This patch removes function pointer wlan_stop and just call the function wilc_wlan_stop. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e42563bbb223190575918c1706309ff99deef331 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:33 2015 +0900 staging: wilc1000: remove function pointer wlan_start This patch removes function pointer wlan_start and just call the function wilc_wlan_start. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63d7ab8efd4da800848a2862624bd5ebb482354f Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:32 2015 +0900 staging: wilc1000: remove function pointer wlan_firmware_download This patch removes function pointer wlan_firmware_download and just call the function wilc_wlan_firmware_download. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 070d365c3d54df8be8a87bce0b5c437bab6b8ab3 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:10 2015 +0900 staging: wilc1000: rename strHostIfRemainOnChan This patch renames strHostIfRemainOnChan to remain_on_ch to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c833b4748a04ab13e88bbe847bb4c2c91b370266 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:09 2015 +0900 staging: wilc1000: rename strHostIfBASessionInfo This patch renames strHostIfBASessionInfo to session_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a584869521512432cd105f71d5bcf6949d0e798d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:08 2015 +0900 staging: wilc1000: rename strHostIfGetMacAddress This patch renames strHostIfGetMacAddress to get_mac_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15326e281cf0484f22bd1d223bcdee5c41ff3ca1 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:07 2015 +0900 staging: wilc1000: rename strHostIfSetMacAddress This patch renames strHostIfSetMacAddress to set_mac_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00c4630e3dda50112128c789e94bedfed0bf72c9 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:06 2015 +0900 staging: wilc1000: rename strHostIfSetOperationMode This patch renames strHostIfSetOperationMode to mode to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a079cf4d5e3fcfb4a01eeae911eaadf0098d16dd Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:05 2015 +0900 staging: wilc1000: rename strHostIfSetMulti This patch renames strHostIfSetMulti to multicast_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb2d65ed73df8a1779aa16827d001e90b583e98b Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:39 2015 +0900 staging: wilc1000: rename strHostIfSetIP This patch renames strHostIfSetIP to ip_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e4377e6ecd9ddba2eabbfb44af7a5dd1ff1154b Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:38 2015 +0900 staging: wilc1000: rename strHostIfSetDrvHandler This patch renames strHostIfSetDrvHandler to drv to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66bac7f20c5e2b9794ac7f273e398de810965f2e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:37 2015 +0900 staging: wilc1000: rename strHostIfStaInactiveT This patch renames strHostIfStaInactiveT to mac_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49e1f81b1e49e1458fb9e942e50bc9a2eb4c45c5 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:36 2015 +0900 staging: wilc1000: rename strPowerMgmtparam This patch renames strPowerMgmtparam to pwr_mgmt_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df0e7839ab7ef00f238bcfb39935a76e1e8ab059 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:35 2015 +0900 staging: wilc1000: remove struct timer_cb This patch removes struct timer_cb which is not used. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a930962b03b6f5f491be3d4bce7bed741846d1e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:34 2015 +0900 staging: wilc1000: rename strEditStaParam This patch renames strEditStaParam to edit_sta_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 889c25bee9f59dca815f48fbd5ce02e9e29cb9f5 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:33 2015 +0900 staging: wilc1000: rename strDelStaParam This patch renames strDelStaParam to del_sta_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca8f47f8d50b5b34cba5a8dbe871c01a6a3719b6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:32 2015 +0900 staging: wilc1000: rename strAddStaParam This patch renames strAddStaParam to add_sta_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a98491e50d9abaf46b4e27c353c73d08f98f64bb Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:31 2015 +0900 staging: wilc1000: rename strHostIFSetBeacon This patch renames strHostIFSetBeacon to beacon_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f33fecde162d8694fd3072aa70b59d459330d35 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:30 2015 +0900 staging: wilc1000: rename struct set_beacon This patch renames struct set_beacon to beacon_attr to keep the naming convention as scan_attr, connect_attr and channel_attr. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80bf8836bf7657000f6e49786f82207b8b5cc02f Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:29 2015 +0900 staging: wilc1000: remove struct del_beacon This patch removes struct del_beacon which is not necessary. This patch also changes Handle_DelBeacon function by removing 2nd parameter, struct del_beacon because it is not used inside. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffd6dbc8694029de6939c715c5b2bc235cd124b8 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:28 2015 +0900 staging: wilc1000: rename strHostIFSetChan This patch renames strHostIFSetChan to channel_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94bdfe4243dfc230c41acdcc02bb9b4db4346e97 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:27 2015 +0900 staging: wilc1000: rename struct set_channel This patch renames struct set_channel to channel_attr to keep the naming convention such as scan_attr and connect_attr. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3962e1c4567bfff4d61fca8e021fde78b61f1108 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:26 2015 +0900 staging: wilc1000: remove struct get_channel This patch removes struct get_channel from the driver because it is not used anywhere. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2340c36ffb0285bd80943cfd6cb06e8191f27ea Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:25 2015 +0900 staging: wilc1000: rename strHostIFCfgParamAttr This patch renames strHostIFCfgParamAttr to cfg_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18990bfe4c82261e9bddfb972d8ef23220468992 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:24 2015 +0900 staging: wilc1000: rename strHostIFkeyAttr This patch renames strHostIFkeyAttr to key_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66add622128e183e6cbe54fd653d1154af7c31c6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:23 2015 +0900 staging: wilc1000: rename strRcvdGnrlAsyncInfo This patch renames strRcvdGnrlAsyncInfo to async_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02d1946002a35ff9e82d0520570466aac8d58689 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:22 2015 +0900 staging: wilc1000: rename strRcvdNetworkInfo This patch renames strRcvdNetworkInfo to net_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f501971b72bb82437b7a3566b00648e1b007a3d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:21 2015 +0900 staging: wilc1000: rename strHostIFconnectAttr This patch renames strHostIFconnectAttr to con_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4528bdb5d26f699175e1e199a72e349a3992b08c Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:20 2015 +0900 staging: wilc1000: rename strHostIFscanAttr This patch renames strHostIFscanAttr to scan_info in order to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6011b7796e8f98ace407dd06b554a8d195c0d4bc Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:19 2015 +0900 staging: wilc1000: remove AGING_ALG This patch removes AGING_ALG from the Makefile because it is always in use. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50f415203085311aee004fdbcbf845d49faa8dd9 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:18 2015 +0900 staging: wilc1000: remove PLL_WORKAROUND This patch removes unnecessary definition, PLL_WORKAROUND from the Makefile. There is no use throughout the driver. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c9fc85c0eca22fff369fed0d27b814b9989c035 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Thu Oct 1 21:52:56 2015 -0800 Staging: rtl8192u: Remove spaces at the start of lines This is a patch to correct indentation in one instance in ieee80211_crypt_ccmp.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9098c551a5d96df61cd4703866e727d7b1a2af8 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Thu Oct 1 21:52:52 2015 -0800 Staging: rtl8192u: Correct open brace placement This is a patch to move open braces to the appropriate lines in two instances in ieee80211_crypt_ccmp.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27a98a28e09c309f3fab3ea5af6af866b8f5b1bd Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Thu Oct 1 21:52:47 2015 -0800 Staging: rtl8192u: Fix block comment formatting This is a patch to correct block comment formatting in two instances in ieee80211_crypt_ccmp.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28b70100dab2f58f61ac34e55b7ebe4d0e36e6f5 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Thu Oct 1 21:52:43 2015 -0800 Staging: rtl8192u: missing blank lines after declarations This is a patch to add missing lines after variable decalarations in two functions in ieee80211_crypt_ccmp.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2043397283c4e1e318932bc7db285cf1c6a073fa Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Thu Oct 1 21:52:37 2015 -0800 Staging: rtl8192u: quoted strings split across lines This is a patch to fix up instances where quoted strings are split across multiple lines in several instances in ieee80211_crypt_ccmp.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4dc4d225550e12bb0526a2dc05c0073f44121714 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 1 12:14:04 2015 +0300 staging: sm750fb: remove clear method from lynxfb_{crtc,output} The clear methods of lynxfb_crtc and lynxfb_output are empty and therefore they can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efca4885b2b86d9c1a2eb579f6e9d573d44896f8 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 1 12:14:03 2015 +0300 staging: sm750fb: remove proc_checkMode method from lynxfb_output The proc_checkMode of lynxfb_output is set to function that always returns 0. Calling that function and checking for its return value is meaningless. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 104f456ce1301fa49f7dffc129c0bce420da07df Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 1 12:14:02 2015 +0300 staging: sm750fb: remove unneeded switch statement The lynxfb_ops_check_var function has two switch statements, the first one checks for validity of var->bits_per_pixel and it is is immediatly followed by another one that sets parameters according to var->bits_per_pixel value. These switch statements can be merged into one. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d893537569948120332184bbea29c743f9951d9 Author: Iban Rodriguez <iban.rodriguez@xxxxxxx> Date: Thu Oct 1 22:21:40 2015 +0200 Staging: rtl8188eu: Correct two coding style errors Correct two errors reported by checkpatch.pl because space prohibited before ','. Also split both lines into multiple lines as they are longer than 80 characters Signed-off-by: Iban Rodriguez <iban.rodriguez@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fe1be87abfb4fab62a03ca6e1440cd4fc63dc74 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 16:18:07 2015 +0300 staging: rtl8712: re-use mac_pton() ...instead of custom approach Cc: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a57ace12815d2e913f6b81e2e9e3c00e24d64594 Author: Bryan Paul <bryan.paul@xxxxxxxxx> Date: Wed Sep 30 11:05:09 2015 -0600 staging:rtl8188eu style fix Fixed style issue if comparison should place constant on right of test Signed-off-by: Bryan Paul <bryan.paul@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86dc65b36cb55b81d1bd90b7483bea06375f5078 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Wed Sep 30 13:12:11 2015 +0100 staging: rtl8192e: rtl_wx: fix negative noise value wstats->qual.noise is of type uint8, so it shouldn't be assigned a negative number. Assigning it 0x100 - 100, which is the equivalent to -100 dBm when IW_QUAL_DBM is set. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Tested-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b890d00e849384ed2529071ce4a8e51160de6055 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Wed Sep 30 10:20:47 2015 -0500 staging: rtl8188eu: Add missing include In commit 0a0796eb16f3, there is no include to mon.h, a newly created header file. This omission leads to the following Sparse warnings: CHECK drivers/staging/rtl8188eu/os_dep/mon.c drivers/staging/rtl8188eu/os_dep/mon.c:81:6: warning: symbol 'rtl88eu_mon_recv_hook' was not declared. Should it be static? drivers/staging/rtl8188eu/os_dep/mon.c:113:6: warning: symbol 'rtl88eu_mon_xmit_hook' was not declared. Should it be static? drivers/staging/rtl8188eu/os_dep/mon.c:167:19: warning: symbol 'rtl88eu_mon_init' was not declared. Should it be static? drivers/staging/rtl8188eu/os_dep/mon.c:188:6: warning: symbol 'rtl88eu_mon_deinit' was not declared. Should it be static? Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f7a9424951b9d415aa61bcbd126ba5a3e09c1bc Author: Arjun Krishna Babu <arjunkrishnababu96@xxxxxxxxx> Date: Wed Sep 30 18:24:22 2015 +0530 staging: vt6655: Fixed two lines over 80 characters long Two lines of code that were over 80 characters long is fixed by splitting them across multiple lines. The lines of code are now easier to comprehend. Issue found by checkpatch. Signed-off-by: Arjun Krishna Babu <arjunkrishnababu96@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddf837ea95017a658d2a4bac6b89fc0989f2e5e6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 30 17:37:13 2015 +0100 staging: comedi: comedi_usb.c: improve function documentation Expand the descriptions of the functions and document the return values. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 127a0cf9b091fe85b6624a4ac8164d6b2cf76143 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 30 17:10:57 2015 +0100 staging: comedi: comedi_pcmcia.c: improve function documentation Expand the descriptions of the functions and document the return values. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea1ea695133a47302c639d9e836f513d7473562a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 30 16:43:55 2015 +0100 staging: comedi: comedi_pci.c: Fix kernel-doc Return tags Fix the 'Return' tags in the kernel-doc comments as they currently say 'Returns', which is not recognized by kernel-doc. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a56d092aa94ebcc9452ddaa47423b9a478aa6aa5 Author: Rohit kumar <rohit.kr@xxxxxxxxxxx> Date: Wed Sep 30 11:07:35 2015 +0530 staging: ion: Fix error handling in ion_buffer_create This patch fixes error handling case when buffer->pages allocation fails. Also, it removes unreachable code of checking ret variable although it is not updated. Signed-off-by: Rohit kumar <rohit.kr@xxxxxxxxxxx> Reviewed-by: Laura Abbott <labbott@xxxxxxxxxx> Suggested-by: Pintu Kumar <pintu.k@xxxxxxxxxxx> Reviewed-by: Pintu Kumar <pintu.k@xxxxxxxxxxx> Reviewed-by: Gioh Kim <gioh.kim@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc719854d2c0f338fb784560e80e216dcfbe5332 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Oct 1 12:41:59 2015 -0400 staging: unisys: visorhid: remove unnecessary include of serio.h No need for serio.h to be included. 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 0fbc149c9426f2ca18745bf94eb854b6d41332bb Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Oct 1 12:41:58 2015 -0400 staging: unisys: visorhid: correctly map keys with extended scancodes The most-noticed key that wasn't being mapped correctly was Right-Alt, which is the AltGr key on many non-US keyboards, used to select many extended characters. 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 f84bd6267d623b49f196d54ba9edc41ff1c4d5e3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Thu Oct 1 11:52:30 2015 -0400 staging: unisys: correctly handle return value from queue_delayed_work() Properly handle the return value from queue_delayed_work() - it's a bool, not an int, so using a less than comparison isn't appropriate. This mistake was found by David Binderman <dcb314@xxxxxxxxxxx>. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07f8260bb65676910d4a16e81a319b33095dccb6 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Thu Oct 1 11:52:29 2015 -0400 staging: unisys: get rid of list of devices We don't need the list of devices, we can loop through the one provided by the network api and filter on ours. 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 f5c9598b735c55e56998fbd0c2df61d12a418167 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Thu Oct 1 11:52:28 2015 -0400 staging: unisys: get rid of devnum pool and dev num devnum pool and devnum are no longer needed. 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 6fce180320ba1fb9710f5f25577da84af12447e8 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Thu Oct 1 11:52:27 2015 -0400 staging: unisys: remove devdata->name use netdev->name The net device already has a name, so use that instead. 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 d1e9aef604da38a4963998922ed0ffff675e3ede Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 2 02:57:03 2015 +0530 Staging: xgifb: vb_util: Fixed sparse warning of bit truncation due to cast Fixed the warning generated by sparse that 'cast truncates bits from constant value' by typecasting unsigned values to u8 as their logical operation is being performed with and stored in a u8 type variable. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1657183fcc4e044b2e96bcb9150265027ad2b44b Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Thu Oct 1 22:10:52 2015 +0300 staging: iio: Fix comment style warning Move final */ to the next line, in accordance with the suggestion of checkpatch Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c76d294f324856240ee45569c7f783e86082434c Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Thu Oct 1 21:43:57 2015 +0300 staging: dgnc: Fix indentation warning Fixed 'suspect code indent for conditional statements (8, 24)' Warning Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec2c398eff3e928ad3932d6b041168bd85b45ff0 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Oct 1 16:42:16 2015 +0300 Staging: octeon: Use preferred kernel type This patch "uint*_t" type instead of "u*" type was used. checkpatch.pl issue in octeon driver. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f6347ef496dbeeacb9937aedb50ed9aa1a20cd1 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Sep 30 18:28:54 2015 +0530 Staging: fbtft: Remove debug messages related to DEBUG_BACKLIGHT Remove debug messages related to fbtft_par_dbg(DEBUG_BACKLIGHT.. ) as this info can be obtained using kernel function tracer Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bcaa1e955fe9126ef627d5f1d81bd1be7946299 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Sep 30 18:28:53 2015 +0530 Staging: fbtft: Remove debug messages related to DEBUG_WRITE_VMEM Remove debug messages related to fbtft_par_dbg(DEBUG_WRITE_VMEM.. ) as this info can be obtained using kernel function tracer Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60ec47f23e70baf920f73026095de57edb14731a Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Sep 30 22:28:32 2015 +0300 staging: wlan-ng: fix block comment indentation Update indentation of block comments to follow linux coding style Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12597e4539e60975d934ae42a33e765d1857bf04 Merge: b4b05b9 819fd4b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 2 02:25:01 2015 -0700 Merge branch 'sh-pfc-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel commit 053118935e7a0f62e96471220acd659b83d04ef7 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 1 15:07:58 2015 +0530 Staging: lustre: obdclass: Declare structure as static. Declare structure as static since it is not accessed anywhere apart from this particular file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3fde1b870dff88d2655b4fa60d6d25366c6ee09 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:42 2015 -0400 staging/lustre/ldlm: Make ldlm_add_ast_work_item() static Now that ldlm_flock code no longer uses it. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb10512e76b8db31c0f99115ee6216d648cf9816 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:41 2015 -0400 staging/lustre/ldlm: Remove posix lock (flock) deadlock detection This is server-side code that cannot work on the client (vfs would do this check on the local node). Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58ba1c313fa04f86f00e0aa5df9e7ee31a25dd33 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:40 2015 -0400 staging/lustre/ldlm: Remove ldlm_namespace_inactive_list() Since there are no server namespaces, just replace it with ldlm_cli_inactive_namespace_list pointer. Also make ldlm_cli_inactive_namespace_list static as it's only used in ldlm_resource.c Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58c6d1337761b8adc69a422f40f8701db6807f24 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:39 2015 -0400 staging/lustre/ldlm: Remove unused exported symbols. This rather large patch prunes all unused EXPORT_SYMBOLS and marks functions only used locally as static lustre ldlm module. The only two remaining nonstatic functions that should be static now are: ldlm_cancel_lru_local ldlm_resource_putref_locked But some bigger code shuffling around is needed to achieve that, so it's left for a future patch. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00f9d12b6b334208e8d5e1097db67793492d25a7 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:38 2015 -0400 staging/lustre/ldlm: Remove server side code from pool support. Server-side scanning is not really used in the client code, so it's ok to drop it. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71570b98e35d9f00a5ee9936204e5d7c380491d6 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:37 2015 -0400 staging/lustre: Remove ns_is_server() Since the code we have is Lustre-client only, this function always returns 0, so drop it and amend all the callsites to drop dead code. One of the places also sets LDLM_FL_NS_SRV to indicate a lock is in a server namespace. This too cannot happen in this code, so drop all such checks as well. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf739f84a326d009670ba5c2d8d7b63216722ffc Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:36 2015 -0400 staging/lustre: Remove ns_is_client() Since staging tree code is just the client, ns_is_client is always true, so change all callers as such and drop all the dead code for when it's false. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f954e778dce59036dae0ebf9cf304621a71aa85b Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:35 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_blocking_ast/_nocheck() All users are gone, and they were used on the server anyway. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8d84a762faaf7dd6dacfcd981dcc8ecec68e5d3 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:34 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_resource_insert_lock_after() It was only used on the server. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71d1c4d5cb6c578c191db042dc7f025d328b5f73 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:33 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_reprocess_all*() They are only used on the server. Also remove helper functions and cleanup callsites. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02176031cd6db041a8b3916364df82b8708da3fc Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:32 2015 -0400 staging/lustre/ldlm: Remove intent policies handler. This includes ldlm_register_intent(), ns_policy field in the namespace and all of it's users, as this could only happen on the server. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8868dc0d90e0ed3f9d276c849a65284fad25109c Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:31 2015 -0400 staging/lustre/ldlm: Remove ldlm_refresh/del_waiting_lock() Nothing adds locks into waiting list on the client, so no point in retaining those. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5613d7545519e9896d08a8061a6bbd546c1c10b Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:30 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_pool_set_slv() Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 865cc738e6f7b720284cc3a1c9f323d9772c3d4e Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:29 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_pool_get_clv() Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4889fd37f50f361716764c26121e3b7cbf741bc3 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:28 2015 -0400 staging/lustre/ldlm: Remove ldlm_namespace_free() It was directly used only on the server. Client side part was split into smaller chunks to avoid deadlocks. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 996cbc63df2538b36ae7ce192d333dcd2454789e Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:27 2015 -0400 staging/lustre/ldlm: Remove ldlm_lock_fail_match() It's not used anywhere. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e306fc791709e979634075a01c902c11d5b20b02 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:26 2015 -0400 staging/lustre/ldlm: Remove ldlm_glimpse_ast() Only used on the server. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38c3f17fcac1c5de10db7306e585b62577e55bcb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:25 2015 -0400 staging/lustre/ldlm: Remove ldlm_errno2error() This particular incarnation is only used on the server. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf2a033360f7e4173c42a7e9b7dfd9d6757904bd Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:24 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_enqueue_pack() Not used anywhere Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7dbe11ef0700829ef133e332673e5921346f80e Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:23 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_init/fini_flock_export And all supporting export infrastructure. There's no use for it all on client. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab47eb1b937783fba5363c43dc8da5ccd2fca77f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:22 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_cli_enqueue_local() This is only used on the server. Also while we are at it, remove unused prototypes for ldlm_server_ast and ldlm_handle_enqueue0() that are not defined anywhere Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c279f4d93c7be90a0163ef0bb5a71b11edf7395 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:21 2015 -0400 staging/lustre/ldlm: Get rid of lr_converting queue Now that we removed all the lock conversion functions, also get rid of the converson queue since nothing could ever get there anyway. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97ea097b456185f3d653d1a623998086c35d4c66 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:20 2015 -0400 staging/lustre/ldlm: Remove unimplemented lock conversion traces. Lock conversion is not really implemented, so let's stop pretending here. This removes ldlm_lock_convert, ldlm_cli_lock_convert and ldlm_lock_downgrade. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 004a4b38a7a0522c0edfd29c01855f92bec516a1 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:19 2015 -0400 staging/lustre/ldlm: Remove ldlm_init/destroy_export() These functions are used on the server-only, so get rid of them. Also get rid of ldlm export hash operations and the struct. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a7c086d8cb17978f2fdf6768ff0233f9a9507ea Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:18 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_cancel_locks_for_exports() This is only used on the server in case a client gets disconnected. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3dd5a6ba55d62a9c9c04194bbf8e285ef9e0f5ad Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:17 2015 -0400 staging/lustre/ldlm: Remove unused interval tree bits On client side interval-tree code operations are pretty basic, so get rid of the code that is only used on the server to figure out how much to extend the locks and such. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ddca06fb384b1ff7cf2badf80d085487ce40868 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:16 2015 -0400 staging/lustre/lov: Remove unused lov_lsm_decref() Also lov_lsm_addref is only used in the file it is defined, so make it static Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88bc797cc3c531ea86e84b7724371ebbde213fa8 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:15 2015 -0400 staging/lustre/lov: Remove unused lov_dump_lmm/pool() These generic switch functions appear to be unused as all the individual ones are called directly. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d00df54e0c93bc65127bdef09bf4e56ca3ab13c Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:14 2015 -0400 staging/lustre/llite: Remove unused ll_rmdir_entry() The ioctl for this function was removed, but the function was forgotten, so kill it now. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17556af2b4268f3504cefeb907d27a5c40dff230 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:13 2015 -0400 staging/lustre: Remove ununused ll_ra_read_get() Also ll_ra_read_get_locked that was only used by it. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b27f9d185f8ed05229b867a30de1d4254039deb8 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:12 2015 -0400 staging/lustre: KEY_DEFAULT/MAX_COOKIESIZE key is unused, remove them Also remove the lmv and mdc infrastructure to query these keys. In fact this whole "unlink cookies" thing becomes irrelevant with newer servers, but since we still retain 2.[123] servers commpatibility, we cannot completely remove all traces of it yet. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db459e48f5c6273f104113a043a698605dde73f8 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:11 2015 -0400 staging/lustre/llite: Remove unused ll_get_default/max_cookiesize() This was used for a function that's no longer important, but is no longer used anywhere. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f12a3118f554d2a38cc2c0ea17443d8b041b17f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Aug 23 23:23:02 2015 +0200 vga_switcheroo: Add missing locking The following functions iterate over the client list, invoke client callbacks or invoke handler callbacks without locking anything at all: - Introduced by c8e9cf7bb240 ("vga_switcheroo: Add a helper function to get the client state"): vga_switcheroo_get_client_state() - Introduced by 0d69704ae348 ("gpu/vga_switcheroo: add driver control power feature. (v3)"): vga_switcheroo_set_dynamic_switch() vga_switcheroo_runtime_suspend() vga_switcheroo_runtime_resume() vga_switcheroo_runtime_resume_hdmi_audio() Refactor vga_switcheroo_runtime_resume_hdmi_audio() a bit to be able to release vgasr_mutex immediately after iterating over the client list. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 819fd4bfcc84805c48291de511c917596e911ffa Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Date: Tue Sep 15 14:49:15 2015 +0900 pinctrl: sh-pfc: r8a7795: add EtherAVB support This patch adds EthernetAVB Based on a much lager patch by Takeshi Kihara which was originally posted by Kuninori Morimoto. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> [horms: extracted from a larger patch; corrected swapped {MATCH,CAPTURE_A} pins] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 9b132ba3e31773ad9371f4a296c5a99ac483fb40 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Sep 18 01:54:25 2015 +0000 pinctrl: sh-pfc: r8a7795: add Audio SSI pin support Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit c33a7fe39975f64edbbbfafcaef268fb162d5d63 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Sep 18 01:54:02 2015 +0000 pinctrl: sh-pfc: r8a7795: add Audio clock pin support Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 2544ef72306a34344cc636272d8567f5682ca4fb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Sep 18 01:53:33 2015 +0000 pinctrl: sh-pfc: r8a7795: add I2C pin support Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit ff8459a5061670960f944fcefc4b69af77e14739 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Sep 3 02:52:07 2015 +0000 pinctrl: sh-pfc: r8a7795: add SCIFx support This patch adds SCIF0/1/2/3/4/5 Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> [Morimoto-san: Updated] Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0b0ffc96dbe30fa9d966a6f8a9ce9f276fd4007f Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Date: Thu Sep 3 02:51:49 2015 +0000 pinctrl: sh-pfc: Initial R8A7795 PFC support Add PFC base support for the R8A7795 SoC. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> [Morimoto-san: updated] Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 5451d09259d59e37430575676e3344cf41735b33 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:51:21 2015 +0000 pinctrl: sh-pfc: remove unused PINMUX_IPSR_MODSEL_DATA() Now, all PINMUX_IPSR_MODSEL_DATA() are replased to PINMUX_IPSR_MSEL() Let's remove unused PINMUX_IPSR_MODSEL_DATA() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 759151401c9dc2e929b34c8d7d863c78c8240496 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:50:58 2015 +0000 pinctrl: sh-pfc: r8a7779: use PINMUX_IPSR_MSEL() Now, PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are same. Current PFC driver is very difficult to read, because macro names are using different length. PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can use PINMUX_IPSR_MSEL() instead of PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit af5132dd12c5a1fab0c2500168dfed2cbf6179b6 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:50:38 2015 +0000 pinctrl: sh-pfc: r8a7790: use PINMUX_IPSR_MSEL() Now, PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are same. Current PFC driver is very difficult to read, because macro names are using different length. PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can use PINMUX_IPSR_MSEL() instead of PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 13ce3c39d0c45fe32398b90422c78f7a8a2b8970 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:50:16 2015 +0000 pinctrl: sh-pfc: r8a7791: use PINMUX_IPSR_MSEL() Now, PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are same. Current PFC driver is very difficult to read, because macro names are using different length. PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can use PINMUX_IPSR_MSEL() instead of PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit adedb87fb61f5a418a1aabdb989bc0f55895e44f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:49:56 2015 +0000 pinctrl: sh-pfc: r8a7794: use PINMUX_IPSR_MSEL() Now, PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are same. Current PFC driver is very difficult to read, because macro names are using different length. PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can use PINMUX_IPSR_MSEL() instead of PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 3d8c120be3fc003c0a0a8dc5a0e77f2dbd20ee68 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:49:36 2015 +0000 pinctrl: sh-pfc: sh7734: use PINMUX_IPSR_MSEL() Now, PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are same. Current PFC driver is very difficult to read, because macro names are using different length. PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can use PINMUX_IPSR_MSEL() instead of PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 2b67bccb478773347717d21781cf2bfd6db5c9fd Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:49:14 2015 +0000 pinctrl: sh-pfc: modify PINMUX_IPSR_MSEL() macro order The difference between PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are FN_xxx order, and PINMUX_IPSR_MSEL() is used only from r8a7778. Now it r8a7778 works correctly with PINMUX_IPSR_MODSEL_DATA() order. This means we can merge PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA(). Current PFC driver is very difficult to read, because macro names are using different length. Especially PINMUX_IPSR_MODSEL_DATA() is well used macro PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can merge PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 4adeabd042422ceecd7605961d785c5c3edab9e1 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 10:08:13 2015 +0300 pinctrl: sh-pfc: Remove hardcoded IRQ numbers Now that all ARM-based Renesas SoCs use multiplatform kernels only the hardcoded IRQ numbers can be dropped as they're dynamically allocated. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 90d066130f69533fb16b395be3de613903575e69 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 27 22:07:23 2015 +0200 pinctrl: sh-pfc: Get rid of CONFIG_ARCH_SHMOBILE_LEGACY Shmobile is all multiplatform these days, so get rid of the reference to CONFIG_ARCH_SHMOBILE_LEGACY. Move the legacy code to do the non-DT mapping between GPIOs and pins inside the existing #ifdef CONFIG_SUPERH section. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9e214614532a6bd7e90bdcdc778b041647cc4036 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Sep 10 14:17:03 2015 +0200 pinctrl: sh-pfc: r8a7791/r8a7793: Correct SCIFB1_B SCK MOD_SEL value When using serial port SCIFB1_B, transmit works, but nothing is received. Receive fails because the SCIFB1_SCK_B settings configure the wrong value for the sel_scifb1 field in the Module Select Register (MOD_SEL), due to an ambiguity in the R-Car M2-W and M2-N datasheets. Tested on r8a7791/koelsch using pins 53 (TXD) and 72 (RXD) on EXIO Connector A. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 48a7b99d75b4f48fb001057a8390a839e70e7acc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 26 19:53:58 2015 +0200 pinctrl: sh-pfc: r8a7794: Remove bogus SCIF0 SCK pin data SCIF0 on R-Car E2 does not have an SCK pin. "SCIF_CLK" is the (H)SCIF baud rate generation clock pin, which is not yet supported. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 56f891b46d37e8c7b04db660d6e9ad05e586203c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:19 2015 +0200 pinctrl: sh-pfc: Confine legacy function GPIOs to SH Legacy function GPIOs are no longer used on ARM since commit a27c5cd1a08cc95c ("sh-pfc: sh73a0: Remove function GPIOs"). Extract its setup code into a separate function, and make all function GPIO related code and data depend on CONFIG_SUPERH. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 57106e5ca55bea70e3e296a3e7546aefe0d1dabe Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:18 2015 +0200 pinctrl: sh-pfc: Remove empty gpio_function_free() gpio_chip.free() is optional, and can just be left unimplemented. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 18fab3995e8a6c4e3ffe2adced0ffa76eebdc989 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:17 2015 +0200 pinctrl: sh-pfc: Stop calling gpiochip_add_pin_range() on DT platforms On platforms where the PFC/GPIO controller is instantiated from DT, the mapping between GPIOs and pins is set up using the "gpio-ranges" property in DT. Hence stop setting up the mapping from C code on DT platforms. This code is still used for SH or ARM-legacy platforms. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit bd93a50e4dbae108a55a228bba1a69a2314096fb Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Wed Sep 30 23:00:43 2015 +0300 drm/i915: rename INSTDONE to GEN2_INSTDONE We have a bunch of INSTDONE registers for different platforms and purposes and it's not immediately clear which instance they are just by looking at the register name. This one was added on GEN2, where it was the only INSTDONE register, so mark it as such. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f1d543485344f11f90e5fac637cc3430841ddabf Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Wed Sep 30 23:00:42 2015 +0300 drm/i915: remove duplicate names for the render ring INSTDONE register We use 3 different names to refer to the same render ring INSTDONE register. This can be confusing when comparing two parts of the code accessing the register via different names. Although the GEN4 version's layout is different, we treat it the same way as the GEN7+ version, in that we simply read it out during error capture. So remove the duplicates and leave a comment about the GEN4 difference. Note that there is also a GEN2 version of this register, but that's on a different address so not handled in this patch. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5325f83aba3cc80a1d3aa62a0350a107cfae7a43 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 28 07:06:45 2015 +0000 ARM: shmobile: dts: Add common file for AA121TD01 panel The Mitsubishi AA121TD01 panel is commonly used with the Marzen, Lager and Koelsch boards. Create a .dtsi file that describe the panel and its connection to the board. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d4070ff71363a2b6598633f23558f809600ebad2 Merge: 2d4df13 fd1ee4c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 2 15:41:17 2015 +1000 Merge tag 'drm-intel-next-2015-09-11' of git://anongit.freedesktop.org/drm-intel into drm-next - initialize backlight from VBT as fallback (Jani) - hpd A support from Ville - various atomic polish all over (mostly from Maarten) - first parts of virtualize gpu guest support on bdw from Zhiyuan Lv - GuC fixes from Alex - polish for the chv clocks code (Ville) - various things all over, as usual * tag 'drm-intel-next-2015-09-11' of git://anongit.freedesktop.org/drm-intel: (145 commits) drm/i915: Update DRIVER_DATE to 20150911 drm/i915: Remove one very outdated comment drm/i915: Use crtc->state for duplication. drm/i915: Do not handle a null plane state. drm/i915: Remove legacy plane updates for cursor and sprite planes. drm/i915: Use atomic state when changing cursor visibility. drm/i915: Use the atomic state in intel_update_primary_planes. drm/i915: Use the plane state in intel_crtc_info. drm/i915: Use atomic plane state in the primary plane update. drm/i915: add attached connector to hdmi container drm/i915: don't hard code vlv backlight frequency if unset drm/i915: initialize backlight max from VBT drm/i915: use pch backlight override on hsw too drm/i915/bxt: Clean up bxt_init_clock_gating drm/i915: Fix cmdparser STORE/LOAD command descriptors drm/i915: Dump pfit state as hex drm/i915: access the PP_ON_DELAYS/PP_OFF_DELAYS regs only pre GEN5 drm/i915: access the PP_CONTROL reg only pre GEN5 drm/i915: Refactor common ringbuffer allocation code drm/i915: use the yesno helper for logging ... commit e5cf79d9957d958c0c5fd1cbc4eda6c48c563888 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Sep 29 09:43:08 2015 +0100 ARM: shmobile: dt: Rename incorrect interrupt related binding interrupts-names => interrupt-names Other line changes are re-aligning. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6e67d2ccb8b5ac6dbc6a0cfdf8320d68fa289193 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:45 2015 +0200 ARM: shmobile: apmu: correct type of CPU id CPU id can be negative, so it cannot be assigned to unsigned variable. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 45cb0bd77a85ee53234968109909654415479558 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 13 02:00:19 2015 +0300 ARM: shmobile: r8a7794: link PCI USB devices to USB PHY Describe the PCI USB devices that are behind the PCI bridges, adding necessary links to the USB PHY device. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2dc6a0303b89de4c92b44f5278d61b6b6c9c20eb Merge: 4bf1b54 248234c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 1 18:24:12 2015 -0700 Merge branch 'bridge_vlan_cleanups_fixes' Nikolay Aleksandrov says: ==================== bridge: vlan: cleanups & fixes This is the first follow-up set, patch 01 reduces the default rhashtable size and the number of locks that can be allocated. Patch 02 and 04 fix possible null pointer dereferences due to the new ordering and initialization on port add/del, and patch 03 moves the "pvid" member in the net_bridge_vlan_group struct in order to simplify code (similar to how it was with the older struct). Patch 05 fixes adding a vlan on a port which is pvid and doesn't have a global context yet. Please review carefully, I think this is the first use of rhashtable's "locks_mul" member in the tree and I'd like to make sure it's correct. Another thing that needs special attention is the nbp_vlan_flush() move after the rx_handler unregister. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 248234ca029710fbad6423c48f98c2a6ea9582fb Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:16:55 2015 +0200 bridge: vlan: don't pass flags when creating context only We should not pass the original flags when creating a context vlan only because they may contain some flags that change behaviour in the bridge. The new global context should be with minimal set of flags, so pass 0 and let br_vlan_add() set the master flag only. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 263344e64c0a2ac0e409a1a3f27effb6d57b853e Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:16:54 2015 +0200 bridge: vlan: fix possible null ptr derefs on port init and deinit When a new port is being added we need to make vlgrp available after rhashtable has been initialized and when removing a port we need to flush the vlans and free the resources after we're sure noone can use the port, i.e. after it's removed from the port list and synchronize_rcu is executed. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77751ee8aec3e1748e0d1471ccbfc008793e88a6 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:16:53 2015 +0200 bridge: vlan: move pvid inside net_bridge_vlan_group One obvious way to converge more code (which was also used by the previous vlan code) is to move pvid inside net_bridge_vlan_group. This allows us to simplify some and remove other port-specific functions. Also gives us the ability to simply pass the vlan group and use all of the contained information. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 468e7944589c7f096bb4ea14db17980aa6c2766c Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:16:52 2015 +0200 bridge: vlan: fix possible null vlgrp deref while registering new port While a new port is being initialized the rx_handler gets set, but the vlans get initialized later in br_add_if() and in that window if we receive a frame with a link-local address we can try to dereference p->vlgrp in: br_handle_frame() -> br_handle_local_finish() -> br_should_learn() Fix this by checking vlgrp before using it. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8af78b6487856d8a896ba15e9255b8e5fa91eb5f Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:16:51 2015 +0200 bridge: vlan: adjust rhashtable initial size and hash locks size As Stephen pointed out the default initial size is more than we need, so let's start small (4 elements, thus nelem_hint = 3). Also limit the hash locks to the number of CPUs as we don't need any write-side scaling and this looks like the minimum. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f4f6317ab67c118f54c94c24aa6b7dbfc2babec Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 01:06:23 2015 +0300 ARM: shmobile: silk: enable USB PHY Enable USB PHY device for the SILK board. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 74ef4572004fc2abf5951a07aab36600a17b3a48 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 01:05:12 2015 +0300 ARM: shmobile: r8a7794: add USB PHY DT support Define the R8A7794 generic part of the USB PHY device node. It is up to the board file to enable the device. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f138e54c4525fa789b556909c00359fea3c21a6c Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 02:02:27 2015 +0300 ARM: shmobile: porter: initial device tree Add the initial device tree for the R8A7791 SoC based Porter low cost board (which is a slightly modified version of the Henninger board). SCIF0 serial port support is included, so that the serial console can work. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 12a75ced8ed7c6fa0ef483a35c15464bb9c9dab2 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 02:01:38 2015 +0300 ARM: shmobile: add Porter board DT bindings Add Porter device tree bindings documentation, listing it as a supported board. This allows to use checkpatch to validate DTSes referring to the Porter board. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2c74b5399de730e3155dc3d5a8ad041fba5e93f4 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Sep 28 14:22:03 2015 -0700 clk: bcm2835: Add binding docs for the new platform clock driver. Previously we've only supported a few fixed clocks based on assumptions about how the firmware sets up the clocks, but this binding will let us control the actual (audio power domain) clock manager. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Acked-by: Lee Jones <lee@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4f61d8e220c110de90a02736ceb55e1e398d6be7 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Sep 28 14:22:02 2015 -0700 clk: bcm2835: Move under bcm/ with other Broadcom SoC clk drivers. clk-bcm2835.c predates the drivers under bcm/, but all the new BCM drivers are going in there so let's follow them. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 53fdc8fd25e81da9dd3acb920c448b601f8d29ff Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 29 13:32:27 2015 +0200 clk: imx: use sign_extend32() and abs() This simplifies the given function by getting rid of the manual sign extension as well as saving an absolute value in an extra variable. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7a03fe6f48f35bbf5f5c3cb46f02e8c90b26b238 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Fri Sep 4 08:15:33 2015 +0800 clk: rockchip: reset init state before mmc card initialization mmc host controller's IO input/output timing is unpredictable if bootloader execute tuning for HS200 mode. It might make kernel failed to initialize mmc card in identification mode. The root cause is tuning phase and degree setting for HS200 mode in bootloader aren't applicable to that of identification mode in kernel stage. Anyway, we can't force all bootloaders to reset tuning phase and degree setting before into kernel. Simply reset it in rockchip_clk_register_mmc. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7a29f3f02028bff1a44daa61c3eabb5dd2c89de5 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Sep 9 14:57:11 2015 +0200 clk: shmobile: div6: Grammar s/They/Their/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d87574332cd669c8949b75e87e499a7478dffead Author: Victorien Vedrine <victorien.vedrine@xxxxxxxxxx> Date: Mon Aug 31 10:45:07 2015 +0200 clk:mxs: Fix bug on frequency divider On drivers/clk/mxs/clk-frac.c, the function clk_frac_round_rate returned a bad result. The division before multiplication computes a wrong value ; the calculation is inverted to fix the problem. The second issue is that the exact rate have decimals and they are truncate. The consequence is that the function clk_frac_set_rate (which use the result of clk_frac_round_rate) computes a wrong value for the register (the rate generated can be closer to the desired rate). The correction is : if there is decimal to the result, it is rounded to the next larger integer. On drivers/clk/mxs/clk-frac.c, the function clk_frac_recalc_rate returned a bad result. The multiplication is made before the division to compute a correct value. Signed-off-by: Victorien Vedrine <victorien.vedrine@xxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a1c22a4be7983f64324e960f7ba373784c0c8289 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:16 2015 +0200 clk: st: fix handling result of of_property_count_strings The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 996347612dc58b534e397a742b3bfd3023850bb1 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 19:10:55 2015 -0300 [media] rcar_jpu: Fix namespace for two __be16 vars Fixes those sparse warnings: drivers/media/platform/rcar_jpu.c:1150:51: warning: incorrect type in assignment (different base types) drivers/media/platform/rcar_jpu.c:1150:51: expected unsigned short [unsigned] [short] [usertype] <noident> drivers/media/platform/rcar_jpu.c:1150:51: got restricted __be16 [usertype] <noident> drivers/media/platform/rcar_jpu.c:1152:50: warning: incorrect type in assignment (different base types) drivers/media/platform/rcar_jpu.c:1152:50: expected unsigned short [unsigned] [short] [usertype] <noident> drivers/media/platform/rcar_jpu.c:1152:50: got restricted __be16 [usertype] <noident> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5347f97c651906887446a8811946e54b5a972fe4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 19:07:32 2015 -0300 [media] c8sectpfe: fix namespace on memcpy/memset Solves those sparse warnings: drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1087:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1087:9: expected void *<noident> drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1087:9: got void [noderef] <asn:2>*<noident> drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1090:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1090:9: expected void *<noident> drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1090:9: got void [noderef] <asn:2>* Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit de2ce8fd84f965a270bad28d284932bf20c349be Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 19:05:46 2015 -0300 [media] mipi-csis: make sparse happy Fix the namespace issue that causes this warning: drivers/media/platform/exynos4-is/mipi-csis.c:709:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/exynos4-is/mipi-csis.c:709:17: expected void const *<noident> drivers/media/platform/exynos4-is/mipi-csis.c:709:17: got void [noderef] <asn:2>* Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 340ccedb76593a2961ad5dd72b33894dd755a358 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 19:02:45 2015 -0300 [media] netup_unidvb_ci: Fix dereference of noderef expression Fix those sparse warnings: drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:150:40: warning: dereference of noderef expression drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:165:31: warning: dereference of noderef expression drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:174:36: warning: dereference of noderef expression drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:189:27: warning: dereference of noderef expression Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8334c0e7b983fb27e0d8788901e9621d1946ba93 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Oct 1 11:38:35 2015 +0200 clk: rockchip: don't use clk_ APIs in the pll init-callback Separate the update of pll registers from the actual set_rate function so that the init callback does not need to access clk-API functions. As we now have separated the getting and setting of the pll parameters we can also directly use these new functions in other places too. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d91b1d912e9d856afb062c1a985e8c0b561f6c87 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:49:29 2015 -0300 [media] netup_unidvb: remove most of the sparse warnings There is a mess at the namespace on netup_unidvb: drivers/media/pci/netup_unidvb/netup_unidvb_core.c:192:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:192:41: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:192:41: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:194:26: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_core.c:194:26: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:194:26: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:194:26: got unsigned short [usertype] *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:196:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:196:41: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:196:41: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:198:26: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_core.c:198:26: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:198:26: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:198:26: got unsigned short [usertype] *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:210:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:210:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:210:37: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:211:32: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:211:32: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:211:32: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:213:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:213:33: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:213:33: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:528:49: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:528:49: expected void const volatile [noderef] <asn:2>*src drivers/media/pci/netup_unidvb/netup_unidvb_core.c:528:49: got unsigned char [usertype] * drivers/media/pci/netup_unidvb/netup_unidvb_core.c:541:49: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:541:49: expected void const volatile [noderef] <asn:2>*src drivers/media/pci/netup_unidvb/netup_unidvb_core.c:541:49: got unsigned char [usertype] * drivers/media/pci/netup_unidvb/netup_unidvb_core.c:647:22: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:647:22: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:647:22: got unsigned char [usertype] *addr_virt drivers/media/pci/netup_unidvb/netup_unidvb_core.c:650:22: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_core.c:654:59: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:654:59: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:654:59: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:655:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:655:56: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:655:56: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:656:23: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:656:23: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:656:23: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:658:31: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:658:31: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:658:31: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:660:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:660:33: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:660:33: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:81:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:81:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:81:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:82:38: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:82:38: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:82:38: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:104:33: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:104:33: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:104:33: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:105:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:105:47: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:105:47: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:112:33: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:112:33: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:112:33: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:113:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:113:47: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:113:47: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:132:36: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:132:36: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:132:36: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:133:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:133:32: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:133:32: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:134:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:134:32: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:134:32: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:135:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:135:32: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:135:32: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:136:27: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:136:27: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:136:27: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:137:27: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:137:27: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:137:27: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:144:28: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:144:28: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:144:28: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:150:34: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:150:34: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:150:34: got unsigned char *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:157:34: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:157:34: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:157:34: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:158:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:158:29: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:158:29: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:165:35: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:165:35: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:165:35: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:170:34: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:170:34: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:170:34: got unsigned char *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:181:34: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:181:34: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:181:34: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:182:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:182:29: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:182:29: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:189:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:189:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:189:29: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:191:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:191:37: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:191:37: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:192:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:192:35: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:192:35: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:194:21: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:194:21: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:194:21: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:205:47: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:205:47: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:205:47: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:206:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:206:29: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:206:29: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:272:53: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:272:53: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:272:53: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:274:53: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:274:53: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:274:53: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:323:22: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:229:38: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:229:38: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:229:38: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:229:38: got unsigned short [usertype] *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:89:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:89:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:89:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:96:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:96:46: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:96:46: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:97:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:97:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:97:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:98:49: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:98:49: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:98:49: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:116:44: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:116:44: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:116:44: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:117:23: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:117:23: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:117:23: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:132:48: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:132:48: expected void volatile [noderef] <asn:2>*dst drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:132:48: got unsigned char *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:136:46: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:136:46: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:136:46: got unsigned char *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:144:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:144:37: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:144:37: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:145:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:145:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:145:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:154:52: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:154:52: expected void const volatile [noderef] <asn:2>*src drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:154:52: got unsigned char *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:205:23: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:206:24: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:206:24: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:206:24: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:243:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:243:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:243:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:244:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:244:46: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:244:46: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:245:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:245:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:245:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:246:49: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:246:49: expected void volatile [noderef] <asn:2>*addr Fix the above sparse warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c84a71c85b9f37abe029c600ffc02f440829df55 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:12:39 2015 -0300 [media] s5c73m3: fix a sparse warning drivers/media/i2c/s5c73m3/s5c73m3-core.c:170:39: warning: incorrect type in argument 1 (different base types) drivers/media/i2c/s5c73m3/s5c73m3-core.c:170:39: expected restricted __be16 const [usertype] *p drivers/media/i2c/s5c73m3/s5c73m3-core.c:170:39: got unsigned short [usertype] *<noident> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ef69ee1bc2c10fd1c5b389258d8156f3c38bdb33 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:07:53 2015 -0300 [media] media-entity.c: get rid of var length arrays Fix those sparse warnings: drivers/media/media-entity.c:238:17: warning: Variable length array is used. drivers/media/media-entity.c:239:17: warning: Variable length array is used. That allows sparse and other code check tools to verify if the function is using more stack than allowed. It also solves a bad Kernel pratice of using var length arrays at the stack. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit df70aeef60839cb2732913fa41e61aba52ca942c Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Fri Jul 31 11:43:12 2015 +0200 clk: at91: add generated clock driver Add a new type of clocks that can be provided to a peripheral. In addition to the peripheral clock, this new clock that can use several input clocks as parents can generate divided rates. This would allow a peripheral to have finer grained clocks for generating a baud rate, clocking an asynchronous part or having more options in frequency. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Transition to new clk_hw provider APIs] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a5752e57bb63154fe9202d8d2282bad3bae3bced Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Jun 18 14:43:29 2015 +0200 clk: at91: add PMC sama5d2 support Add support for the new sama5d2 SoC and adapt capabilities. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 36844bdf651a2ae2d35ae4b11337671905b67bff Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Jun 17 14:40:39 2015 +0200 clk: at91: modify PMC peripheral clock to deal with newer register layout As some more information is added to the PCR register, we'd better use a copy of its content and modify just the peripheral-related bits. Implement a read-modify-write for the enable() and disable() callbacks. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 96ef36e9c424b7a66413bb9229ef5afcddf4fef4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Jun 17 14:40:38 2015 +0200 clk: at91: cleanup PMC header file for PCR register fields Add _MASK and _OFFSET values and cleanup register fields layout. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1f744fd317dc55cadd7132c57c499e3117aea01d Author: Thomas Hebb <tommyhebb@xxxxxxxxx> Date: Thu Oct 1 21:00:00 2015 +0200 ARM: dts: berlin: change BG2Q's USB PHY compatible Currently, BG2Q shares a compatible with BG2. This is incorrect, since BG2 and BG2Q use different USB PLL dividers. In reality, BG2Q shares a divider with BG2CD. Change BG2Q's USB PHY compatible string to reflect that. Cc: <stable@xxxxxxxxxxxxxxx> # v4.2.0- Signed-off-by: Thomas Hebb <tommyhebb@xxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit ca739eb086155007d7264be7ccc07f894d5a7bbe Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 15:48:19 2015 -0300 Revert "[media] rcar_vin: call g_std() instead of querystd()" As pointed by Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>, this patch depends on two adv7180 patches that got rejected. This reverts commit f00ae754c536511055ed6162778be8348e093514. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ee2a003e8622d51e865ffa5547a5708e592a1a5 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Sep 21 12:16:11 2015 +0200 usb: dwc2: fix unbalanced phy control Even when DWC2 is in (internal) suspended state, it should disable PHY in suspend and then enable it in resume. This patch fixes unbalanced PHY control sequence. Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4112905f90510fce7c8ccb1cdc05253a25595734 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Sep 21 12:16:10 2015 +0200 usb: dwc2: remove non-functional clock gating During typical gadget operation, dwc2 clock was enabled 3 times: from dwc2_gadget_init(), dwc2_hsotg_udc_start() and dwc2_hsotg_pullup(), and then disabled in s3c_hsotg_pullup(), s3c_hsotg_udc_stop() and dwc2_hsotg_remove(). This really makes no sense, so leave clock control code only in dwc2_gadget_init/remove functions. Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 19dadca58a16741b2eeb1c31021b577ffb4b88ee Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Sep 21 12:16:09 2015 +0200 usb: dwc2: remove double call to dwc2_hsotg_of_probe This patch removes doubled call to dwc2_hsotg_of_probe() function. Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 44583fecfd85f33878a90ca9cad2eb533bfc39a1 Author: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Date: Tue Sep 29 12:25:01 2015 +0200 usb: dwc2: gadget: fix a memory use-after-free bug When dwc2_hsotg_handle_unaligned_buf_complete() hs_req->req.buf already destroyed, in dwc2_hsotg_unmap_dma(), it touches hs_req->req.dma again, so dwc2_hsotg_unmap_dma() should be called before dwc2_hsotg_handle_unaligned_buf_complete(). Otherwise, it will cause a bad_page BUG, when allocate this memory page next time. This bug led to the following crash: BUG: Bad page state in process swapper/0 pfn:2bdbc [ 26.820440] page:eed76780 count:0 mapcount:0 mapping: (null) index:0x0 [ 26.854710] page flags: 0x200(arch_1) [ 26.885836] page dumped because: PAGE_FLAGS_CHECK_AT_PREP flag set [ 26.919179] bad because of flags: [ 26.948917] page flags: 0x200(arch_1) [ 26.979100] Modules linked in: [ 27.008401] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W3.14.0 #17 [ 27.041816] [<c010e1f8>] (unwind_backtrace) from [<c010a704>] (show_stack+0x20/0x24) [ 27.076108] [<c010a704>] (show_stack) from [<c087eea8>] (dump_stack+0x70/0x8c) [ 27.110246] [<c087eea8>] (dump_stack) from [<c01ce0b8>] (bad_page+0xfc/0x12c) [ 27.143958] [<c01ce0b8>] (bad_page) from [<c01ce65c>] (get_page_from_freelist+0x3e4/0x50c) [ 27.179298] [<c01ce65c>] (get_page_from_freelist) from [<c01ce9a0>] (__alloc_pages_nodemask) [ 27.216296] [<c01ce9a0>] (__alloc_pages_nodemask) from [<c01cf00c>] (__get_free_pages+0x20/) [ 27.252326] [<c01cf00c>] (__get_free_pages) from [<c01e5bec>] (kmalloc_order_trace+0x34/0xa) [ 27.288295] [<c01e5bec>] (kmalloc_order_trace) from [<c0203304>] (__kmalloc+0x40/0x1ac) [ 27.323751] [<c0203304>] (__kmalloc) from [<c052abc0>] (dwc2_hsotg_ep_queue.isra.12+0x7c/0x1) [ 27.359937] [<c052abc0>] (dwc2_hsotg_ep_queue.isra.12) from [<c052af88>] (dwc2_hsotg_ep_queue) [ 27.397478] [<c052af88>] (dwc2_hsotg_ep_queue_lock) from [<c0554110>] (rx_submit+0xfc/0x164) [ 27.433619] [<c0554110>] (rx_submit) from [<c05546e8>] (rx_complete+0x22c/0x230) [ 27.468872] [<c05546e8>] (rx_complete) from [<c052b528>] (dwc2_hsotg_complete_request+0xfc/0) [ 27.506240] [<c052b528>] (dwc2_hsotg_complete_request) from [<c052bba0>] (dwc2_hsotg_handle_o) [ 27.545401] [<c052bba0>] (dwc2_hsotg_handle_outdone) from [<c052be70>] (dwc2_hsotg_epint+0x2c) [ 27.583689] [<c052be70>] (dwc2_hsotg_epint) from [<c052c750>] (dwc2_hsotg_irq+0x1dc/0x4ac) [ 27.621041] [<c052c750>] (dwc2_hsotg_irq) from [<c01682e0>] (handle_irq_event_percpu+0x70/0x) [ 27.659066] [<c01682e0>] (handle_irq_event_percpu) from [<c01684ec>] (handle_irq_event+0x4c) [ 27.697322] [<c01684ec>] (handle_irq_event) from [<c016bae0>] (handle_fasteoi_irq+0xc8/0x11) [ 27.735451] [<c016bae0>] (handle_fasteoi_irq) from [<c0167b8c>] (generic_handle_irq+0x30/0x) [ 27.773918] [<c0167b8c>] (generic_handle_irq) from [<c0167ca4>] (__handle_domain_irq+0x84/0) [ 27.812018] [<c0167ca4>] (__handle_domain_irq) from [<c01003b0>] (gic_handle_irq+0x48/0x6c) [ 27.849695] [<c01003b0>] (gic_handle_irq) from [<c010b340>] (__irq_svc+0x40/0x50) [ 27.886907] Exception stack(0xc0d01ee0 to 0xc0d01f28) Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Tested-by: Jeffy Chen <jeffy.chen@xxxxxxxxxxxxxx> Signed-off-by: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 21795c826a4525bd6b111acfe0db079545083c40 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:30 2015 +0200 usb: dwc2: exit hibernation on session request Controller enters hibernation through suspend interrupt on disconnection. On connection, session request interrupt is generated. dwc2 must exit hibernation and restore state from this interrupt before continuing. In host mode, exit from hibernation is handled by bus_resume function. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8fc37b82a4a43f63e3464e5d02578ea988cb5c01 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:29 2015 +0200 usb: dwc2: gadget: handle reset interrupt before endpoint interrupts If system is loaded, reset, enum-done and setup interrupts can occur at the same time. Current interrupt handling sequence will handle setup packet's interrupt before handling reset interrupt. Which will break the enumeration process. Correct sequence is to handle reset, enum-done and then any other endpoint interrupts. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 61f7223bf14689382fdf36b7580f206745c2409a Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 29 12:08:28 2015 +0200 usb: dwc2: gadget: exit hibernation before power down When disconnecting cable, controller will detect a suspend condition and enter partial power down. If vbus_session is called by the phy driver during hibernation, make sure controller exit hibernation before it is accessed. Signed-off-by: Jianqiang Tang <jianqiang.tang@xxxxxxxxx> Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1ee6903b8f9bbcbeb7cf72e5127d7a0b8aeb267c Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 29 12:08:27 2015 +0200 usb: dwc2: gadget: unmask idstschng interrupt only if controller supports it idstschng interrupt should not be used when id pin control is external. This is already handled on dwc2 host part. Fix it on gadget part as well. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2becdc62a98da6882d7457f7661f70255235ef88 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:26 2015 +0200 usb: dwc2: gadget: only reset core after addressed state There is a 200ms guard period to avoid unnecessary resets of the dwc2 ip. This delay sometimes prove to be too large when usbcv is run with an ehci host. dwc2 only needs to be reset after addressed state. Change the logic to reset ip after addressed state. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5390d438e6f4aaf3555acc72aff155660a48cd28 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:25 2015 +0200 usb: dwc2: gadget: kill ep0 requests before reinitializing core Make sure there are no requests pending on ep0 before reinitializing core. Otherwise, dwc2_hsotg_enqueue_setup will fail afterwards. Also, take hsotg->lock before calling dwc2_hsotg_core_init_disconnected() from dwc2_conn_id_status_change() as dwc2_hsotg_complete_request() expect lock to be held. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c524dd5f432a0690710b62e729a3673c557d8b58 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:24 2015 +0200 usb: dwc2: gadget: stop current transfer on dequeue If the request being dequeued is already started, disable endpoint to stop the transfer and then call dwc2_hsotg_complete_request(). Endpoint will be re-enabled on next call to dwc2_hsotg_start_req(). Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e525e74339b1e94ade1c14640d5282dbcdb32526 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:23 2015 +0200 usb: dwc2: gadget: print complete setup packet wIndex field was missing. Also print in natural order instead of Req first, so that its easier to compare for example against bus analyzer logs. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b2d4c54e51c4213d215520bab25efee74ddc8d3a Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:22 2015 +0200 usb: dwc2: gadget: ignore stall check for ep0 dwc2_hsotg_start_req starts a request only if endpoint is not stalled. Ignore this check for ep0 as core will clear DOEPCTL0.Stall after sending stall handshake. Prepare instead for receiving next setup packet. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 86de48953653777fd6f918f5c0f2107bb873eae3 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 29 12:08:21 2015 +0200 usb: dwc2: gadget: abort core init if core_reset fails No point of continue with initialization if core is not in a sane state. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cd0e641c8da3c763f1f4b838a9bc30f1297f68d0 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 29 12:08:20 2015 +0200 usb: dwc2: gadget: set op_state in vbus_session call Some device may have external id pin control enabled, so op_state will not be set on id pin interrupt change. Thus, ensure op_state is set to peripheral during vbus detection. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 77ba9119adc48a0bb890ca121f6b8f09162c9182 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 29 12:08:19 2015 +0200 usb: dwc2: gadget: don't modify pullup state in host mode Modifying the pullup state during host mode trig a new enumeration of attached device. Thus, avoid modifying pullup in host mode. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 857512d0ebf838d8a2b600234debdbfc1e97f919 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:18 2015 +0200 usb: dwc2: force dr_mode in case of configuration mismatch If dual role configuration is not selected, check and force dr_mode based on the selected configuration. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fa50bff63689849175d65f4923691944556fbacc Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Sep 21 21:51:14 2015 +0200 usb: gadget: SourceSink: Fix show methods for attributes Most of USB functions place new line after attribute value. Let's follow this convention also in source sink function as it improves readability. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 902d03c7f3900b8a5d2997303b87dc12397bea71 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Sep 21 21:51:13 2015 +0200 usb: gadget: loopback: Fix show methods for attributes Most of USB functions place new line after attribute value. Let's follow this convention also in loopback function as it improves readability. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9af9195426685ffd7c81022002b0db3fd7040591 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Sep 19 22:42:58 2015 +0530 usb: gadget: at91_udc: mention proper dependency While building allmodconfig on avr32 the build failed with the error: "at91_pmc_base" [drivers/usb/gadget/udc/atmel_usba_udc.ko] undefined! On checking the code it turned out that if CONFIG_OF is defined then it is using at91_pmc_read() which is using at91_pmc_base. And unless COMMON_CLK_AT91 is defined we donot have at91_pmc_base. And COMMON_CLK_AT91 is available with AT91 architecture. Mention the dependency such that this driver builds with avr32 only if OF is not enabled. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1b7015083486e0e5b919981c980980afca37507e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:37 2015 +0530 usb: gadget: amd5536udc: NULL comparison A NULL comparison can be written as if (var) or if (!var). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5d31a17b389870a8eb215ce7313144eb49c08838 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:36 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_basic_init Rearrange the udc_basic_init function to remove the forward declaration. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0e7734193a1fead4d966f3b3b64e54ae71b3d356 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:35 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_pci_* Remove the forward declarations of udc_pci_probe and udc_pci_remove. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3719b9bd66d29de3682b4daaf07748f915f7ac92 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:34 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_free_dma_chain Rearrange udc_free_dma_chain to remove the forward declaration. While at it fixed all the relevant checkpatch warnings. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c9760ad817091b19fcbb86c8cb5e1ab9e90d913b Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:33 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_create_dma_chain Rearrange udc_create_dma_chain to remove the forward declaration. While rearranging fixed the relevant checkpatch warnings. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 79a5b4aa3511f82e1398223062cd62051044288d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:32 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_remote_wakeup Rearrange the udc_remote_wakeup function to remove the forward declaration. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4f06b6bb73be3fcdf728d7271ad05cd81df58f3d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:31 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_probe Rearrange the udc_probe function to remove the forward declarations. While rearranging also fixed the relevant checkpatch warnings. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 76c3727da1e6e2bd5aa012841ea17c7664f0638b Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:30 2015 +0530 usb: gadget: amd5536udc: remove unnecessary conditions The condition checking for irq_registered, regs, mem_region and active are not required as this is the remove function. And we are in the remove means that probe was successful and they can never be NULL at this point of code. It was required in the original code as the remove function was part of the error handler of probe function. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f349dd3c76039a2b0bf03a11484dd2850868b7e3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:29 2015 +0530 usb: gadget: amd5536udc: use free_dma_pools We have the function free_dma_pools() which frees all the dma pools. Use it instead of calling all the functions separately. The if conditions for data_requests and stp_requests are also not required here as this is the remove function and we are here means probe has succeeded and dma has been successfully allocated, so they cannot be NULL here. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2e1b7d0c691c63c66d5bf5c097243f3b037adf32 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:28 2015 +0530 usb: gadget: amd5536udc: use WARN_ON Use WARN_ON() instead of halting the kernel with BUG_ON() and also fix the checkpatch warning. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 580693bb3b66ce299f85f71dee60734438b1cd79 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:27 2015 +0530 usb: gadget: amd5536udc: fix error path Handle the error properly instead of calling the pci remove function. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 14a37ec6c181178a14ffb7d10a57b99ef8e6b3b3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:26 2015 +0530 usb: gadget: amd5536udc: rewrite init_dma_pools A rewrite of init_dma_pools() with proper error handling. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ec4cc6579c7334fb334ba2f30214f5c41b16c6e8 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 22 15:16:55 2015 +0200 usb: dwc2: gadget: initialize op_state for peripheral only configuration ID status change interrupt will not be handled in peripheral only configuration. So initialize op_state during gadget init. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 065d393124f06ef1f5a20a6f5f262fee2cfa873d Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:54 2015 +0200 usb: dwc2: gadget: ensure lx_state corresponds to current state Correctly update lx_state on gadget connection and disconnection. When usb cable is disconnected, lx_state must be updated to L3 as controller could be in power off state. When usb cable is connected, lx_state must be updated to L0 as controller is powered. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2e84da6e340a652e942c3513703020976b28190b Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:53 2015 +0200 usb: dwc2: host: kill remaining urbs using -ECONNRESET status On a disconnect, dwc2 will kill all remaining urbs from qh list. urbs are given back to hcd with -ETIMEDOUT status. Some usb device driver, like mass storage, will unlink all urbs using usb_hcd_unlink_urb when receiving a negative status different from -ECONNRESET. The following flow will then happen: dwc2_hcd_disconnect() -> dwc2_kill_all_urbs() try to kill first pending urb. -> dwc2_host_complete(-ETIMEDOUT) -> usb_hcd_giveback_urb(-ETIMEDOUT) -> sg_complete() -> usb_unlink_urb() -> usb_put_dev(urb->dev) -> dwc2_kill_all_urbs() try to kill next pending urb. -> dwc2_host_complete(-ETIMEDOUT) -> usb_hcd_giveback_urb(-ETIMEDOUT) -> NULL pointer dereferencing because urb->dev has been freed for all urbs of this device. The root cause of this NULL pointer is to call call usb_unlink_urb() while we are killing all urbs. To avoid this return urb with -ECONNRESET status This issue usually happens while removing mass storage device during transfer. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit dd81dd7c8178c430040dc98c8144d4998ba2f7fb Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:52 2015 +0200 usb: dwc2: host: use correct frame number during qh init On first qh initialization, hsotg->frame_number is not corresponding to reality. So read it from host controller to get correct value. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fe9b1773c989b261a9747940a6cf61f77b4e2685 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:51 2015 +0200 usb: dwc2: host: correctly dump urb isochronous descriptors Print urb->iso_frame_desc.status after it has been updated using dwc2_hcd_urb_get_iso_desc_status(). Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5634e016cf6e2e0c9651081f5c554f59e1050fc5 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:50 2015 +0200 usb: dwc2: host: wait 3ms for controller stabilization Some high speed mass storage devices fail to enumerate with following error: Cannot enable port %i. Maybe the USB cable is bad? This happens only when the device is plugged while the controller is in hibernation state. After exiting hibernation, the controller detects the device as a low speed device and fail to enumerate it. Problem occurs only if HPRT0.PWR bit is programmed in a too short delay after exiting hibernation. Dumping hprt register in _dwc2_hcd_resume() directly after dwc2_exit_hibernation() shows that HPRT0.LNSTS (D+/D- level) becomes valid approximately 2ms after exiting hibernation. Since dwc2_exit_hibernation() is called from atomic context, move the delay out of this function. Delay value is experimental and not mentioned in Synopsys documentation. To be on the safe side 3ms delay is used. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cad73da26cb9392db3449ab35e506ea13efd1888 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:49 2015 +0200 usb: dwc2: host: clear pending interrupts prior hibernation If an interrupt rises during hibernation process, dwc2 will assert interrupt line to interrupt controller. If interrupt is level sensitive, interrupt handler will be called in a loop because dwc2 will not be able to clear it while controller is hibernated. Thus, clear all controller interrupts before hibernation entry. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5bbf6ce0a964c77d9522cf377fd7a4c4af030378 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:48 2015 +0200 usb: dwc2: host: disable interrupt during stop Disable host interrupts before synchronising dwc2 irq. So that interrupts are not generated once controller is stopped. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 77dbf7138d59994d50b7875deb24992f51b811b5 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 22 15:16:47 2015 +0200 usb: dwc2: host: add disconnect interrupt to host only interrupts GINTSTS.DisconnInt is host only interrupt and should be disable after dwc2_disable_host_interrupts is called. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 091473ad9b402f9e1b08a68a78b54e0d3c9affb6 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:46 2015 +0200 usb: dwc2: host: disconnect hcd prior stopping it In case controller is asked to stop while devices are connected, disconnect all devices and clean up before stopping. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 08c4ffc24087d1949948002abdbac0d1e71ade5d Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:45 2015 +0200 usb: dwc2: host: reset frame number after suspend Frame number is reset in hardware after exiting hibernation. Thus, reset frame_number and ensure qh are queued with correct sched_frame. Otherwise, qh->sched_frame may be too high compared to current frame number (which is 0). This can delay addition of qh in the list of transfers until frame number reaches qh->sched_frame. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bea78555f71e01196d0a4613ffefd4c8920ba439 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:44 2015 +0200 usb: dwc2: host: resume only if bus is suspended Port can be resumed in bus_resume callback. In this case, there is no need to drive resume a second time when hcd ask for it. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6e74162f69c7fb6f60941ea7e94f1264bd6225fb Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:43 2015 +0200 usb: dwc2: host: ignore wakeup interrupt if hibernation supported If hibernation is supported, resume of devices will be handled in bus_resume callback. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9afaf75508b0bec6ef38b83d97aa40701cc1b00c Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:42 2015 +0200 usb: dwc2: host: avoid resetting lx_state to L3 during disconnect When a device is disconnected, lx_state must not be changed since the device may be disconnected whereas controller is still powered. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 31927b6b68acd21258b1f4ef24464acae60cfd36 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:41 2015 +0200 usb: dwc2: host: update hcd and lx_state during start/stop callbacks During hcd initialization, hardware accessible flag and lx_state must be reset to the working state since controller is powered at this stage. Same logic applied for stop callback. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a2a23d3f9e6f44f900e4c4b4cd58f22490c3c200 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:40 2015 +0200 usb: dwc2: host: enter hibernation during bus suspend Disable controller power and enter hibernation when usb bus is suspended. A phy driver is required to disable the power of the controller and detect remote-wakeup or disconnection since the controller will not be able to detect these in this state. Once the phy driver detects bus activity, it must call usb_hcd_resume_root_hub. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 734643dfbdde7dd881b2c16404a86f444287414e Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:39 2015 +0200 usb: dwc2: host: add flag to reflect bus state lx_state must be used to reflect controller power state only and not bus state. Thus add a flag to track state during bus suspend. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 30db103c3ddeb0b616eedb8fd030b88efb1af96f Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:38 2015 +0200 usb: dwc2: host: create a function to handle port_resume port resume sequence may be used in different places. Create a function to handle it. Make hprt0 read-modify-write atomic and clear HPRT0_SUSP for both writes as it is a "read, write-set, and self-clear (R_WS_SC)" bit. Since the lock is released between the writes, read hprt0 again. Since the phy clock is stopped in dwc2_port_suspend(), enable it here and remove the PCGCTL write from dwc2_hcd_hub_control() Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cc047ce4be6188d3bd3997b44ec724ce390fbdcb Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:37 2015 +0200 usb: dwc2: host: don't clear hprt0 status bits when exiting hibernation When entering hibernation hprt0 must be read using dwc2_read_hprt0(). Otherwise, any set hprt0 status bits will be cleared when restoring hprt0 on exit from hibernation. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d383b57911c8a6c3da1af7b3f72dfecfcd5633d0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 14:23:35 2015 -0300 [media] DocBook: Remove a warning at videobuf2-v4l2.h There's no need to document to_foo() macros, and the macro is badly documented anyway. That removes this warning: include/media/videobuf2-v4l2.h:43: warning: No description found for parameter 'vb' While here, remove the parenthesis for container_of(). The countainer_of() already have parenthesis inside it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a7f5ba40c74e67b2c8c6e15425157ab6775621d7 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:58:27 2015 +0200 mtd: nand: remove unused ->init_size() hook The ->init_size() hook was introduced to let NAND controller drivers support NAND devices that could not be described in the nand_ids table. Since then, the core has added support for extended-id parsing and full-id description, thus allowing to describe pretty much all existing NANDs. Moreover, this hook is not used by any mainline driver, and should not be used by new drivers, because detecting the NAND chip is not something controller specific. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 491e94f790982bec5a1334dd3db2708de3724bdf Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Thu Oct 1 11:47:31 2015 -0500 gfs2: Add missing else in trans_add_meta/data This patch fixes a timing window that causes a segfault. The problem is that bd can remain NULL throughout the function and then reference that NULL pointer if the bh->b_private starts out NULL, then someone sets it to non-NULL inside the locking. In that case, bd still needs to be set. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 32d81b41cd4f2021ef1b6378b4f6029307687df2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 13:59:29 2015 -0300 [media] DocBook: fix most of warnings at videobuf2-core.h include/media/videobuf2-core.h:112: warning: No description found for parameter 'get_dmabuf' include/media/videobuf2-core.h:146: warning: No description found for parameter 'm' include/media/videobuf2-core.h:146: warning: Excess struct/union/enum/typedef member 'mem_offset' description in 'vb2_plane' There are still several warnings, but those are hard to fix, as they're actually a bug at DocBook. Those should be fixed on separate patches. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 090e2edb4171dae4872c4eaae972dd3ccf96d4a8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 22:21:32 2015 +0200 net: sfc: avoid using timespec The sfc driver internally uses a time format based on 32-bit (unsigned) seconds and 32-bit nanoseconds. This means it will overflow in 2106, but the value we pass into it is a signed 32-bit tv_sec that already overflows in 2038 to a negative value. This patch changes the logic to use the lower 32 bits of the timespec64 tv_sec in efx_ptp_ns_to_s_ns, which will have the correct value beyond the overflow. While this does not change any of the register values, it lets us keep using the driver after we deprecate the use of the timespec type in the kernel. In the efx_ptp_process_times function, the change to use timespec64 is similar, in that the tv_sec portion is ignored anyway and we only care about the nanosecond portion that remains unchanged. Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit ade1bdffe90e59cd257cb9bd4f5abe4de5f14911 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 22:21:31 2015 +0200 ntp/pps: use y2038 safe types in pps_event_time The pps_event_time uses two 'timespec' structures internally, which suffer from the y2038 problem. The uses of this structure are fairly self-contained in the pps code, so this replaces them all at once. Unfortunately, this includes the sfc ethernet driver aside from the pps subsystem, so we change that one as well. Both touch the same data structure, and there probably is no good way to split the patch into smaller units. Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 5fd96c421ff2c76ec441aa4139c3b87dfea93e3a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 22:21:30 2015 +0200 ntp: use timespec64 in sync_cmos_clock The sync_cmos_clock has one use of struct timespec, which we want to eventually replace with timespec64 or similar in the kernel. There is no way this one can overflow, but the conversion to timespec64 is trivial and has no other dependencies. Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 071eee45b1650d53d21c636d344bdcebd4577ed2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 22:21:29 2015 +0200 ntp/pps: replace getnstime_raw_and_real with 64-bit version There is exactly one caller of getnstime_raw_and_real in the kernel, which is the pps_get_ts function. This changes the caller and the implementation to work on timespec64 types rather than timespec, to avoid the time_t overflow on 32-bit architectures. For consistency with the other new functions (ktime_get_seconds, ktime_get_real_*, ...), I'm renaming the function to ktime_get_raw_and_real_ts64. We still need to convert from the internal 64-bit type to 32 bit types in the caller, but this conversion is now pushed out from getnstime_raw_and_real to pps_get_ts. A follow-up patch changes the remaining pps code to completely avoid the conversion. Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 7ec88e4be461590b5a3817460c34603f76d9b3ae Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 22:21:28 2015 +0200 ntp/pps: use timespec64 for hardpps() There is only one user of the hardpps function in the kernel, so it makes sense to atomically change it over to using 64-bit timestamps for y2038 safety. In the hardpps implementation, we also need to change the pps_normtime structure, which is similar to struct timespec and also requires a 64-bit seconds portion. This introduces two temporary variables in pps_kc_event() to do the conversion, they will be removed again in the next step, which seemed preferable to having a larger patch changing it all at the same time. Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit b1842ffddf8941aee4fcd95594bf62d3dc2867cc Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Oct 1 11:41:42 2015 -0500 ipv6: Add missing newline to __xfrm6_output_finish Add a newline between variable declarations and the code. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 289de5541ca6aec56308c04b76c1bb59f00b1f09 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:23:18 2015 +0300 spi: pxa2xx: Remove empty function pxa2xx_spi_dma_resume() This was leftover from the legacy pxa2xx DMA implementation and not needed anymore so remove it. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 101b506a7fc7be3f0d0a337ade270eb5eb5a2857 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Oct 1 13:33:57 2015 +0100 drm/i915: Wa32bitGeneralStateOffset & Wa32bitInstructionBaseOffset There are some allocations that must be only referenced by 32-bit offsets. To limit the chances of having the first 4GB already full, objects not requiring this workaround use DRM_MM_SEARCH_BELOW/ DRM_MM_CREATE_TOP flags In specific, any resource used with flat/heapless (0x00000000-0xfffff000) General State Heap (GSH) or Instruction State Heap (ISH) must be in a 32-bit range, because the General State Offset and Instruction State Offset are limited to 32-bits. Objects must have EXEC_OBJECT_SUPPORTS_48B_ADDRESS flag to indicate if they can be allocated above the 32-bit address range. To limit the chances of having the first 4GB already full, objects will use DRM_MM_SEARCH_BELOW + DRM_MM_CREATE_TOP flags when possible. The libdrm user of the EXEC_OBJECT_SUPPORTS_48B_ADDRESS flag is here: http://lists.freedesktop.org/archives/intel-gfx/2015-September/075836.html v2: Changed flag logic from neeeds_32b, to supports_48b. v3: Moved 48-bit support flag back to exec_object. (Chris, Daniel) v4: Split pin flags into PIN_ZONE_4G and PIN_HIGH; update PIN_OFFSET_MASK to use last PIN_ defined instead of hard-coded value; use correct limit check in eb_vma_misplaced. (Chris) v5: Don't touch PIN_OFFSET_MASK and update workaround comment (Chris) v6: Apply pin-high for ggtt too (Chris) v7: Handle simultaneous pin-high and pin-mappable end correctly (Akash) Fix check for entries currently using +4GB addresses, use min_t and other polish in object_bind_to_vm (Chris) v8: Commit message updated to point to libdrm patch. v9: vmas are allocated in the correct ozone, so only check flag when the vma has not been allocated. (Chris) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> (v4) Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9d91a1bfae7d12eb2c91006dc977d9bac9000a30 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Wed Sep 30 09:57:37 2015 -0700 drm/i915/guc: Don't forward flip interrupts to GuC Due to flip interrupts GuC stays awake always and GT does not enter RC6. Do not route those interrupts to GuC for now. Driver won't touch DE_GUCRMR register and leave it as what default value. Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 923c124107840d58c5002cc19734310743501811 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 30 17:06:43 2015 +0300 drm/i915: s/GET_CFG_CR1_REG/DPLL_CFGCR1/ etc. v2: Use SKL_DPLLx symbolic names instead of raw numbers Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73416dab235e5ff030e3b3c61da0cd6ced324fc9 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Fri Aug 14 18:33:07 2015 +0800 Btrfs: move kobj stuff out of dev_replace lock range To avoid deadlock described in commit 084b6e7c7607 ("btrfs: Fix a lockdep warning when running xfstest."), we should move kobj stuff out of dev_replace lock range. "It is because the btrfs_kobj_{add/rm}_device() will call memory allocation with GFP_KERNEL, which may flush fs page cache to free space, waiting for it self to do the commit, causing the deadlock. To solve the problem, move btrfs_kobj_{add/rm}_device() out of the dev_replace lock range, also involing split the btrfs_rm_dev_replace_srcdev() function into remove and free parts. Now only btrfs_rm_dev_replace_remove_srcdev() is called in dev_replace lock range, and kobj_{add/rm} and btrfs_rm_dev_replace_free_srcdev() are called out of the lock range." Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> [added lockup description] Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit f190aa471a7a703444f6587ed79c24a04a22d848 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:33:05 2015 +0800 Btrfs: add helper for closing one device Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> [reworded subject and changelog] Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 097efc966ab3e2c3677698f4ab5b229bfff101dd Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:33:04 2015 +0800 Btrfs: don't log error from btrfs_get_bdev_and_sb Originally the message was not in a helper but ended up there. We should print error messages from callers instead. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> [reworded subject and changelog] Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 9e271ae27e4407388c5b25c747abc25c07838b0b Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:33:02 2015 +0800 Btrfs: kernel operation should come after user input has been verified By general rule of thumb there shouldn't be any way that user land could trigger a kernel operation just by sending wrong arguments. Here do commit cleanups after user input has been verified. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 12b1c2637b6e0763121648d637ffe603b422e986 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:59 2015 +0800 Btrfs: enhance btrfs_scratch_superblock to scratch all superblocks This patch updates and renames btrfs_scratch_superblocks, (which is used by the replace device thread), with those fixes from the scratch superblock code section of btrfs_rm_device(). The fixes are: Scratch all copies of superblock Notify kobject that superblock has been changed Update time on the device So that btrfs_rm_device() can use the function btrfs_scratch_superblocks() instead of its own scratch code. And further replace deivce code which similarly releases device back to the system, will have the fixes from the btrfs device delete. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> [renamed to btrfs_scratch_superblock] Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 29c36d72535deb3d8961b3fb4b6a565190a6c63b Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:58 2015 +0800 Btrfs: add btrfs_read_dev_one_super() to read one specific SB This uses a chunk of code from btrfs_read_dev_super() and creates a function called btrfs_read_dev_one_super() so that next patch can use it for scratch superblock. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> [renamed bufhead to bh] Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 9e7e2b0a6a005941a6854cdabae19c3d9e069dbe Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Oct 1 15:54:53 2015 +0300 genirq: Remove unused functions irqd_[set|clr]_chained_irq_inprogress() These two functions are not used anywhere in the kernel source tree so remove them. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443704093-36837-2-git-send-email-mika.westerberg@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 92068d17c20b218bf1e24505a3e08495476b0ebf Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Oct 1 15:54:52 2015 +0300 genirq: Fix typo in documentation of enumeration field name It should say IRQ_NESTED_THREAD instead of IRQ_NESTED_TRHEAD. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443704093-36837-1-git-send-email-mika.westerberg@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit dbc67409fa912ba063dfa956af0543af1258fc97 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 1 12:12:22 2015 -0300 perf list: Do event name substring search as last resort when no events found Before: # perf list _alloc_ | head -10 # After: # perf list _alloc_ | head -10 ext4:ext4_alloc_da_blocks [Tracepoint event] ext4:ext4_get_implied_cluster_alloc_exit [Tracepoint event] kmem:kmem_cache_alloc_node [Tracepoint event] kmem:mm_page_alloc_extfrag [Tracepoint event] kmem:mm_page_alloc_zone_locked [Tracepoint event] xen:xen_mmu_alloc_ptpage [Tracepoint event] # And it works for all types of events: # perf list br List of pre-defined events (to be used in -e): branch-instructions OR branches [Hardware event] branch-misses [Hardware event] branch-load-misses [Hardware cache event] branch-loads [Hardware cache event] branch-instructions OR cpu/branch-instructions/ [Kernel PMU event] branch-misses OR cpu/branch-misses/ [Kernel PMU event] filelock:break_lease_block [Tracepoint event] filelock:break_lease_noblock [Tracepoint event] filelock:break_lease_unblock [Tracepoint event] syscalls:sys_enter_brk [Tracepoint event] syscalls:sys_exit_brk [Tracepoint event] # Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-qieivl18jdemoaghgndj36e6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d74a625987a134b00749e3912bdb6d3ac83fd71d Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:56 2015 +0800 Btrfs: use BTRFS_ERROR_DEV_MISSING_NOT_FOUND when missing device is not found Use btrfs specific error code BTRFS_ERROR_DEV_MISSING_NOT_FOUND instead of -ENOENT. Next this removes the logging when user specifies "missing" and we don't find it in the kernel device list. Logging are for system events not for user input errors. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit a51e80d002b63bbdaff3229f3ebf4fbb53c75c33 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Oct 1 22:26:44 2015 +0800 irqchip/i8259: Convert to use irq_set_chained_handler_and_data 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. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Link: http://lkml.kernel.org/r/1443709604.12993.0.camel@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit bebcb8dab6bac53b6a61a896db03781d1992cadb Merge: 26c21dd f1e0bb0 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Oct 1 16:14:24 2015 +0200 Merge branch 'irq/for-arm' into irq/core Bring in the change which we offered arm[64] folks to pull into their trees. commit 9196d9676fe790975fdb1fc03230629139c6ea8e Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Sep 30 05:40:00 2015 -0700 crypto: qat - remove unneeded variable Remove unneeded variable val_indx. Issue found by a static analyzer. Reported-by: Giovanni Cabiddu <giovanni.cabiddu@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit def14bfaf30d5d5a4a8fe5bf600ce09232e688c0 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Sep 30 05:38:39 2015 -0700 crypto: qat - add support for ctr(aes) and xts(aes) Add support for ctr and xts encryption modes. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ecdd6bed292fda02a3e3997307ac228edcab0b22 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Sep 27 22:47:05 2015 +0800 crypto: skcipher - blkcipher and ablkcipher should it be static Fixes the following sparse warnings: crypto/skcipher.c:94:5: warning: symbol 'crypto_init_skcipher_ops_blkcipher' was not declared. Should it be static? crypto/skcipher.c:185:5: warning: symbol 'crypto_init_skcipher_ops_ablkcipher' was not declared. Should it be static? Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 284a0f6e87b0721e1be8bca419893902d9cf577a Author: John Haxby <john.haxby@xxxxxxxxxx> Date: Thu Sep 24 18:24:35 2015 +0100 crypto: testmgr - Disable fips-allowed for authenc() and des() ciphers No authenc() ciphers are FIPS approved, nor is ecb(des). After the end of 2015, ansi_cprng will also be non-approved. Signed-off-by: John Haxby <john.haxby@xxxxxxxxxx> Acked-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 640eec52abbcb962804e8ff0c69e9802b0b726c0 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Sep 23 13:55:28 2015 +0200 crypto: sahara - dma_map_sg can handle chained SG The sahara driver use two dma_map_sg path according to SG are chained or not. Since dma_map_sg can handle both case, clean the code with all references to sg chained. Thus removing the sahara_sha_unmap_sg function. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 13fb8fd7a81923f7a64b4e688fe0bdaf1ea26adf Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Sep 23 13:55:27 2015 +0200 crypto: caam - dma_map_sg can handle chained SG The caam driver use two dma_map_sg path according to SG are chained or not. Since dma_map_sg can handle both case, clean the code with all references to sg chained. Thus removing dma_map_sg_chained, dma_unmap_sg_chained and __sg_count functions. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b8a011d41c988aeb9aa199eb80ccd5179b5940c1 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Sep 23 13:55:25 2015 +0200 crypto: talitos - dma_map_sg can handle chained SG The talitos driver use two dma_map_sg path according to SG are chained or not. Since dma_map_sg can handle both case, clean the code with all references to sg chained. Thus removing talitos_map_sg, talitos_unmap_sg_chain and sg_count functions. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit be2cfac07619a8f97fe3aae39f095e9e33decd99 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Tue Sep 22 11:57:47 2015 -0700 crypto: qat - remove empty functions and turn qat_uregister fn to void Some code cleanups after crypto API changes: - Change qat_algs_unregister to a void function to keep it consistent with qat_asym_algs_unregister. - Remove empty functions qat_algs_init & qat_algs_exit. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7cb410cdbdc9b71e2d4f356f2e4cea0b925abb21 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 7 13:34:26 2015 +0100 drm/armada: move frame wait wakeup into plane work Move the wakeup for the frame wait into the armada plane work, to ensure that it is woken up every time we run a work. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4a8506d2d68724b6d326621118874c07095c6645 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 7 09:33:05 2015 +0100 drm/armada: convert overlay plane vbl worker to a armada plane worker Convert the overlay plane to use the generic armada plane worker infrastructure which is shared with the primary plane. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4b5dda82c20c2eee500520010c0558789592d62f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 6 16:37:18 2015 +0100 drm/armada: move CRTC flip work to primary plane work Add a plane work implementation, and move the CRTC framebuffer flip work to it for the primary plane. The idea is to have a common plane work implementation for both the primary and overlay planes. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 5740d27fa5594344ed4d2c18d7ae7bea69002004 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:25 2015 +0100 drm/armada: move frame wait into armada_frame Both the CRTC and overlay frames have their own wait queues. It would make more sense if these were part of the plane - the primary plane for the CRTC and overlay plane for the overlay. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6908cf755af74b38d67195ee6607976a55f53d95 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:25 2015 +0100 drm/armada: move the locking for armada_drm_vbl_event_remove() Move the locking for armada_drm_vbl_event_remove() into itself, which makes this function symmetrical with armada_drm_vbl_event_add(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 5c8752c6506abf29950d32366f826899dc87dde7 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:25 2015 +0100 drm/armada: move the update of dplane->ctrl0 out of spinlock It is not necessary to write dplane->ctrl0 under the CRTC spinlock, as this is only accessed under process context where the DRM locks will protect us instead. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9099ea19ca8ad21ab7f2a7abc06e270adeb8b02f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:25 2015 +0100 drm/armada: move write to dma_ctrl0 to armada_drm_crtc_plane_disable() Move the write to clear the DMA enable bit, and augment it with clearing the graphics enable bit for the primary plane. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 583268035825fc5ef0bbc467631fea0358831cbe Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:25 2015 +0100 drm/armada: provide a common helper to disable a plane Provide a common helper to disable either the overlay or the primary plane. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit de32301b86030b20a51151a12d81fff6429cad0c Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: allocate primary plane ourselves Allocate our own primary plane as an armada_plane. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1c914cecb5bc4b097df07b799d39abac842ce193 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: add primary plane creation Use drm_primary_helper_create_plane() to create our primary plane, and register the CRTC with drm_crtc_init_with_planes(). This enables the primary plane to be initialised with the supported format information. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 561f60bc511f6ec054b566205b5c40ab9558a0ff Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: introduce generic armada_plane struct Introduce a generic armada_plane struct which will eventually be used for both the primary and overlay planes. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d563c24514166d01b87cc96f92fe93b635d24c6e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: update armada overlay to use drm_universal_plane_init() Use the new drm_universal_plane_init() rather than the legacy drm_plane_init(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 66377efa3fd468283a092f17692e81c2344b03ed Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: use xchg() to atomically update dplane->old_fb Rather than using a spinlock, use xchg() to atomically update dplane->old_fb. This allows us to eliminate dplane->lock. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6db0290322101f971d6c06ee652d9838f3f4ee92 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:27:02 2015 +0200 ftrace: Remove redundant swap function To cover the common case of sorting an array of pointers, Daniel Wagner recently modified the library sort() to use a specific swap function for size==8, in addition to the size==4 case which was already handled. Since sizeof(long) is either 4 or 8, ftrace_swap_ips() is redundant and we can just let sort() pick an appropriate and fast swap callback. Link: http://lkml.kernel.org/r/1441834023-13130-1-git-send-email-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 15ada16dc7657c08242d24067a4ddf07a2662062 Author: Marcus Cooper <codekipper@xxxxxxxxx> Date: Wed Sep 30 19:34:39 2015 +0200 ARM: sun7i: dt: Add new Olimex A20 EVB device The A20-SOM-EVB is a reference design of a 2-layer board for the A20-SOM. It expands the features of A20-SOM by adding VGA connector, HDMI connector, audio In/Out, LCD connector, 2 Mpix camera, gigabit Ethernet, SATA, USB-OTG and 2 USB hosts. Signed-off-by: Marcus Cooper <codekipper@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b7d2063177a584cb1afb06fc0ed6c48b576f3e75 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:56 2015 +0800 iommu/vt-d: Add a command line parameter for VT-d posted-interrupts Enable VT-d Posted-Interrtups and add a command line parameter for it. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Joerg Roedel <joro@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bf9f6ac8d74969690df1485b33b7c238ca9f2269 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:55 2015 +0800 KVM: Update Posted-Interrupts Descriptor when vCPU is blocked This patch updates the Posted-Interrupts Descriptor when vCPU is blocked. pre-block: - Add the vCPU to the blocked per-CPU list - Set 'NV' to POSTED_INTR_WAKEUP_VECTOR post-block: - Remove the vCPU from the per-CPU list Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> [Concentrate invocation of pre/post-block hooks to vcpu_block. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 28b835d60fcc2498e717cf5e6f0c3691c24546f7 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:54 2015 +0800 KVM: Update Posted-Interrupts Descriptor when vCPU is preempted This patch updates the Posted-Interrupts Descriptor when vCPU is preempted. sched out: - Set 'SN' to suppress furture non-urgent interrupts posted for the vCPU. sched in: - Clear 'SN' - Change NDST if vCPU is scheduled to a different CPU - Set 'NV' to POSTED_INTR_VECTOR Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> [Include asm/cpu.h to fix !CONFIG_SMP compilation. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 87276880065246ce49ec571130d3d1e4a22e5604 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:40 2015 +0800 KVM: x86: select IRQ_BYPASS_MANAGER Select IRQ_BYPASS_MANAGER for x86 when CONFIG_KVM is set Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit efc644048ecde54f016011fe10110addd0de348f Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:51 2015 +0800 KVM: x86: Update IRTE for posted-interrupts This patch adds the routine to update IRTE for posted-interrupts when guest changes the interrupt configuration. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> [Squashed in automatically generated patch from the build robot "KVM: x86: vcpu_to_pi_desc() can be static" - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6d7425f109d2629d1f4b4b146eca8e43701bf966 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:50 2015 +0800 vfio: Register/unregister irq_bypass_producer This patch adds the registration/unregistration of an irq_bypass_producer for MSI/MSIx on vfio pci devices. Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d84f1e0755ba1e87d20d1f90c1e6eb0cbbc0af9d Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:49 2015 +0800 KVM: make kvm_set_msi_irq() public Make kvm_set_msi_irq() public, we can use this function outside. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8feb4a04dc756002f78df0026e58118669de4851 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:47 2015 +0800 KVM: Define a new interface kvm_intr_is_single_vcpu() This patch defines a new interface kvm_intr_is_single_vcpu(), which can returns whether the interrupt is for single-CPU or not. It is used by VT-d PI, since now we only support single-CPU interrupts, For lowest-priority interrupts, if user configures it via /proc/irq or uses irqbalance to make it single-CPU, we can use PI to deliver the interrupts to it. Full functionality of lowest-priority support will be added later. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ebbfc765369690cf8fc512615e6b83ec1702f8ac Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:46 2015 +0800 KVM: Add some helper functions for Posted-Interrupts This patch adds some helper functions to manipulate the Posted-Interrupts Descriptor. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> [Make the new functions inline. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6ef1522f7ecc063317dfb5ca63da6e47130a4c50 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:45 2015 +0800 KVM: Extend struct pi_desc for VT-d Posted-Interrupts Extend struct pi_desc for VT-d Posted-Interrupts. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f70c20aaf141adb715a2d750c55154073b02a9c3 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:53 2015 +0800 KVM: Add an arch specific hooks in 'struct kvm_kernel_irqfd' This patch adds an arch specific hooks 'arch_update' in 'struct kvm_kernel_irqfd'. On Intel side, it is used to update the IRTE when VT-d posted-interrupts is used. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9016cfb577a15abd6a7990890ccf6bf1edf04d31 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 18 22:29:44 2015 +0800 KVM: eventfd: add irq bypass consumer management This patch adds the registration/unregistration of an irq_bypass_consumer on irqfd assignment/deassignment. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1a02b27035f82091d51ecafcb9ccaac1f31d4eb2 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 18 22:29:43 2015 +0800 KVM: introduce kvm_arch functions for IRQ bypass This patch introduces - kvm_arch_irq_bypass_add_producer - kvm_arch_irq_bypass_del_producer - kvm_arch_irq_bypass_stop - kvm_arch_irq_bypass_start They make possible to specialize the KVM IRQ bypass consumer in case CONFIG_KVM_HAVE_IRQ_BYPASS is set. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> [Add weak implementations of the callbacks. - Feng] Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 166c9775f1f8b8f00ad1db0fa5c8fc74059d965d Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 18 22:29:42 2015 +0800 KVM: create kvm_irqfd.h Move _irqfd_resampler and _irqfd struct declarations in a new public header: kvm_irqfd.h. They are respectively renamed into kvm_kernel_irqfd_resampler and kvm_kernel_irqfd. Those datatypes will be used by architecture specific code, in the context of IRQ bypass manager integration. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 37d9fe4783ffcaddcc4afe67626691e62c5ab30e Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Tue Sep 22 16:47:29 2015 +0800 virt: Add virt directory to the top Makefile We need to build files in virt/lib/, which are now used by KVM and VFIO, so add virt directory to the top Makefile. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Acked-by: Michal Marek <mmarek@xxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f73f8173126ba68eb1c42bd9a234a51d78576ca6 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Sep 18 22:29:39 2015 +0800 virt: IRQ bypass manager When a physical I/O device is assigned to a virtual machine through facilities like VFIO and KVM, the interrupt for the device generally bounces through the host system before being injected into the VM. However, hardware technologies exist that often allow the host to be bypassed for some of these scenarios. Intel Posted Interrupts allow the specified physical edge interrupts to be directly injected into a guest when delivered to a physical processor while the vCPU is running. ARM IRQ Forwarding allows forwarded physical interrupts to be directly deactivated by the guest. The IRQ bypass manager here is meant to provide the shim to connect interrupt producers, generally the host physical device driver, with interrupt consumers, generally the hypervisor, in order to configure these bypass mechanism. To do this, we base the connection on a shared, opaque token. For KVM-VFIO this is expected to be an eventfd_ctx since this is the connection we already use to connect an eventfd to an irqfd on the in-kernel path. When a producer and consumer with matching tokens is found, callbacks via both registered participants allow the bypass facilities to be automatically enabled. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Feng Wu <feng.wu@xxxxxxxxx> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 18cd52c4d9bfbd081fb643021ba8d048475cd82a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Sep 18 18:04:17 2015 +0200 irq_remapping: move structs outside #ifdef This is friendlier to clients of the code, who are going to prepare vcpu_data structs unconditionally, even if CONFIG_IRQ_REMAP is not defined. Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 72c930dcfc2b49404ee9e20f6c868402e9c71166 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Fri Sep 18 17:54:29 2015 +0200 x86: kvmclock: abolish PVCLOCK_COUNTS_FROM_ZERO Newer KVM won't be exposing PVCLOCK_COUNTS_FROM_ZERO anymore. The purpose of that flags was to start counting system time from 0 when the KVM clock has been initialized. We can achieve the same by selecting one read as the initial point. A simple subtraction will work unless the KVM clock count overflows earlier (has smaller width) than scheduler's cycle count. We should be safe till x86_128. Because PVCLOCK_COUNTS_FROM_ZERO was enabled only on new hypervisors, setting sched clock as stable based on PVCLOCK_TSC_STABLE_BIT might regress on older ones. I presume we don't need to change kvm_clock_read instead of introducing kvm_sched_clock_read. A problem could arise in case sched_clock is expected to return the same value as get_cycles, but we should have merged those clocks in that case. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1cea0ce68ed76490ffa64a9e2a7a40104efe9352 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:57 2015 +0800 KVM: VMX: drop rdtscp_enabled field Check cpuid bit instead of it Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7ec362964d6cc228ea68572fdd6d75a59f8b40fa Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:56 2015 +0800 KVM: VMX: clean up bit operation on SECONDARY_VM_EXEC_CONTROL Use vmcs_set_bits() and vmcs_clear_bits() to clean up the code Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit feda805fe7c4ed9cf78158e73b1218752e3b4314 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:55 2015 +0800 KVM: VMX: unify SECONDARY_VM_EXEC_CONTROL update Unify the update in vmx_cpuid_update() Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> [Rewrite to use vmcs_set_secondary_exec_control. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8b97265a1516819d54c2d24b3874489a52f269d4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 15 17:34:42 2015 +0200 KVM: VMX: align vmx->nested.nested_vmx_secondary_ctls_high to vmx->rdtscp_enabled The SECONDARY_EXEC_RDTSCP must be available iff RDTSCP is enabled in the guest. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 29541bb8f4a18b2939dea137315e1803b4617c8d Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:54 2015 +0800 KVM: VMX: simplify invpcid handling in vmx_cpuid_update() If vmx_invpcid_supported() is true, second execution control filed must be supported and SECONDARY_EXEC_ENABLE_INVPCID must have already been set in current vmcs by vmx_secondary_exec_control() If vmx_invpcid_supported() is false, no need to clear SECONDARY_EXEC_ENABLE_INVPCID Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f36201e5f44b55faf44ddc820929548e51ec841b Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:53 2015 +0800 KVM: VMX: simplify rdtscp handling in vmx_cpuid_update() if vmx_rdtscp_supported() is true SECONDARY_EXEC_RDTSCP must have already been set in current vmcs by vmx_secondary_exec_control() Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e2821620c0908593e6cb40f79c7e78b31921ed73 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:52 2015 +0800 KVM: VMX: drop rdtscp_enabled check in prepare_vmcs02() SECONDARY_EXEC_RDTSCP set for L2 guest comes from vmcs12 Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8b3e34e46aca9b6d349b331cd9cf71ccbdc91b2e Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:51 2015 +0800 KVM: x86: add pcommit support Pass PCOMMIT CPU feature to guest to enable PCOMMIT instruction Currently we do not catch pcommit instruction for L1 guest and allow L1 to catch this instruction for L2 if, as required by the spec, L1 can enumerate the PCOMMIT instruction via CPUID: | IA32_VMX_PROCBASED_CTLS2[53] (which enumerates support for the | 1-setting of PCOMMIT exiting) is always the same as | CPUID.07H:EBX.PCOMMIT[bit 22]. Thus, software can set PCOMMIT exiting | to 1 if and only if the PCOMMIT instruction is enumerated via CPUID The spec can be found at https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit eb1c31b46800a476644cd63ab3bc7ef918b0a917 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:50 2015 +0800 KVM: x86: allow guest to use cflushopt and clwb Pass these CPU features to guest to enable them in guest They are needed by nvdimm drivers Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d6a858d13e5d02b97daab5ba0648c704ae3f9517 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 28 11:58:14 2015 +0200 KVM: vmx: disable posted interrupts if no local APIC Uniprocessor 32-bit randconfigs can disable the local APIC, and posted interrupts require reserving a vector on the LAPIC, so they are incompatible. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9eec50b8bbe1535c440a1ee88c1958f78fc55957 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Wed Sep 16 12:29:50 2015 +0300 kvm/x86: Hyper-V HV_X64_MSR_VP_RUNTIME support HV_X64_MSR_VP_RUNTIME msr used by guest to get "the time the virtual processor consumes running guest code, and the time the associated logical processor spends running hypervisor code on behalf of that guest." Calculation of this time is performed by task_cputime_adjusted() for vcpu task. Necessary to support loading of winhv.sys in guest, which in turn is required to support Windows VMBus. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 11c4b1ca719eaaa5ca6fe0e80bb009f3f2012fd2 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Wed Sep 16 12:29:49 2015 +0300 kvm/x86: Hyper-V HV_X64_MSR_VP_INDEX export for QEMU. Insert Hyper-V HV_X64_MSR_VP_INDEX into msr's emulated list, so QEMU can set Hyper-V features cpuid HV_X64_MSR_VP_INDEX_AVAILABLE bit correctly. KVM emulation part is in place already. Necessary to support loading of winhv.sys in guest, which in turn is required to support Windows VMBus. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e516cebb4f2b2057a5a421fea589079502acfff6 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Wed Sep 16 12:29:48 2015 +0300 kvm/x86: Hyper-V HV_X64_MSR_RESET msr HV_X64_MSR_RESET msr is used by Hyper-V based Windows guest to reset guest VM by hypervisor. Necessary to support loading of winhv.sys in guest, which in turn is required to support Windows VMBus. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e9ea5069d9e569c32ab913c39467df32e056b3a7 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue Sep 15 14:41:59 2015 +0800 kvm: add capability for any-length ioeventfds Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 931c33b178b091cced2a6b3f57f04655f8ff5207 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue Sep 15 14:41:58 2015 +0800 kvm: add tracepoint for fast mmio Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d3febddde9c7a959dbb189a700e937db50fad4d6 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue Aug 25 17:05:46 2015 +0800 kvm: use kmalloc() instead of kzalloc() during iodev register/unregister All fields of kvm_io_range were initialized or copied explicitly afterwards. So switch to use kmalloc(). Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1c1a9ce973a7863dd46767226bce2a5f12d48bc6 Author: Steve Rutherford <srutherford@xxxxxxxxxx> Date: Thu Jul 30 11:27:16 2015 +0200 KVM: x86: Add support for local interrupt requests from userspace In order to enable userspace PIC support, the userspace PIC needs to be able to inject local interrupts even when the APICs are in the kernel. KVM_INTERRUPT now supports sending local interrupts to an APIC when APICs are in the kernel. The ready_for_interrupt_request flag is now only set when the CPU/APIC will immediately accept and inject an interrupt (i.e. APIC has not masked the PIC). When the PIC wishes to initiate an INTA cycle with, say, CPU0, it kicks CPU0 out of the guest, and renedezvous with CPU0 once it arrives in userspace. When the CPU/APIC unmasks the PIC, a KVM_EXIT_IRQ_WINDOW_OPEN is triggered, so that userspace has a chance to inject a PIC interrupt if it had been pending. Overall, this design can lead to a small number of spurious userspace renedezvous. In particular, whenever the PIC transistions from low to high while it is masked and whenever the PIC becomes unmasked while it is low. Note: this does not buffer more than one local interrupt in the kernel, so the VMM needs to enter the guest in order to complete interrupt injection before injecting an additional interrupt. Compiles for x86. Can pass the KVM Unit Tests. Signed-off-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b053b2aef25d00773fa6762dcd4b7f5c9c42d171 Author: Steve Rutherford <srutherford@xxxxxxxxxx> Date: Wed Jul 29 23:32:35 2015 -0700 KVM: x86: Add EOI exit bitmap inference In order to support a userspace IOAPIC interacting with an in kernel APIC, the EOI exit bitmaps need to be configurable. If the IOAPIC is in userspace (i.e. the irqchip has been split), the EOI exit bitmaps will be set whenever the GSI Routes are configured. In particular, for the low MSI routes are reservable for userspace IOAPICs. For these MSI routes, the EOI Exit bit corresponding to the destination vector of the route will be set for the destination VCPU. The intention is for the userspace IOAPICs to use the reservable MSI routes to inject interrupts into the guest. This is a slight abuse of the notion of an MSI Route, given that MSIs classically bypass the IOAPIC. It might be worthwhile to add an additional route type to improve clarity. Compile tested for Intel x86. Signed-off-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7543a635aa09eb138b2cbf60ac3ff19503ae6954 Author: Steve Rutherford <srutherford@xxxxxxxxxx> Date: Wed Jul 29 23:21:41 2015 -0700 KVM: x86: Add KVM exit for IOAPIC EOIs Adds KVM_EXIT_IOAPIC_EOI which allows the kernel to EOI level-triggered IOAPIC interrupts. Uses a per VCPU exit bitmap to decide whether or not the IOAPIC needs to be informed (which is identical to the EOI_EXIT_BITMAP field used by modern x86 processors, but can also be used to elide kvm IOAPIC EOI exits on older processors). [Note: A prototype using ResampleFDs found that decoupling the EOI from the VCPU's thread made it possible for the VCPU to not see a recent EOI after reentering the guest. This does not match real hardware.] Compile tested for Intel x86. Signed-off-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 49df6397edfc5a8ba8ca813b51fb9729d8e94b40 Author: Steve Rutherford <srutherford@xxxxxxxxxx> Date: Wed Jul 29 23:21:40 2015 -0700 KVM: x86: Split the APIC from the rest of IRQCHIP. First patch in a series which enables the relocation of the PIC/IOAPIC to userspace. Adds capability KVM_CAP_SPLIT_IRQCHIP; KVM_CAP_SPLIT_IRQCHIP enables the construction of LAPICs without the rest of the irqchip. Compile tested for x86. Signed-off-by: Steve Rutherford <srutherford@xxxxxxxxxx> Suggested-by: Andrew Honig <ahonig@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4ca7dd8ce4b24e18f94eed90e80c6eb80fb48c9a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jul 30 10:32:16 2015 +0200 KVM: x86: unify handling of interrupt window The interrupt window is currently checked twice, once in vmx.c/svm.c and once in dm_request_for_irq_injection. The only difference is the extra check for kvm_arch_interrupt_allowed in dm_request_for_irq_injection, and the different return value (EINTR/KVM_EXIT_INTR for vmx.c/svm.c vs. 0/KVM_EXIT_IRQ_WINDOW_OPEN for dm_request_for_irq_injection). However, dm_request_for_irq_injection is basically dead code! Revive it by removing the checks in vmx.c and svm.c's vmexit handlers, and fixing the returned values for the dm_request_for_irq_injection case. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 35754c987f252e859bfa390a6816e85563afe79d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 12:05:37 2015 +0200 KVM: x86: introduce lapic_in_kernel Avoid pointer chasing and memory barriers, and simplify the code when split irqchip (LAPIC in kernel, IOAPIC/PIC in userspace) is introduced. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d50ab6c1a2b24e12d3012d7beb343eba5b94a6ca Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 11:49:59 2015 +0200 KVM: x86: replace vm_has_apicv hook with cpu_uses_apicv This will avoid an unnecessary trip to ->kvm and from there to the VPIC. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3bb345f387dd26beb097cf776e342bc0d96d805a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 10:43:18 2015 +0200 KVM: x86: store IOAPIC-handled vectors in each VCPU We can reuse the algorithm that computes the EOI exit bitmap to figure out which vectors are handled by the IOAPIC. The only difference between the two is for edge-triggered interrupts other than IRQ8 that have no notifiers active; however, the IOAPIC does not have to do anything special for these interrupts anyway. This again limits the interactions between the IOAPIC and the LAPIC, making it easier to move the former to userspace. Inspired by a patch from Steve Rutherford. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bdaffe1d93e7eddbcc71d074a5d49eba7fe1c765 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 15:03:06 2015 +0200 KVM: x86: set TMR when the interrupt is accepted Do not compute TMR in advance. Instead, set the TMR just before the interrupt is accepted into the IRR. This limits the coupling between IOAPIC and LAPIC. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 58219c1ab32be51e23f672ec52d2c6a86b0489d8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Oct 1 12:26:50 2015 +0200 tools lib traceevent: update KVM plugin The format of the role word has changed through the years and the plugin was never updated; some VMX exit reasons were missing too. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 79ac6ef521075d0f40805df77e8890c55f538fe4 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:24:01 2015 +0200 tracing: Use kstrdup_const instead of private implementation The kernel now has kstrdup_const/kfree_const for reusing .rodata (typically string literals) when possible; there's no reason to duplicate that logic in the tracing system. Moreover, as the comment above core_kernel_data states, it may not always return true for .rodata - that is for example the case on x86_64, where we thus end up kstrdup'ing all the passed-in strings. Arguably, testing for .rodata explicitly (as kstrdup_const does) is also more correct: I don't think one is supposed to be able to change the name after creating the event_subsystem by passing the address of a static char (but non-const) array. Link: http://lkml.kernel.org/r/1441833841-12955-1-git-send-email-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 82f6c9cd908bfab6566d89700ee687146db974b8 Merge: d292242 e02ae38 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Oct 1 15:02:45 2015 +0200 Merge branch 'x86/for-kvm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into HEAD This merges a cleanup of asm/apic.h, which is needed by the KVM patches to support VT-d posted interrupts. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0edd453368c6b9cdb756bde2b6675bb0d5d0eb0a Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:48 2015 +0300 perf callchain: Allow for max_stack greater than PERF_MAX_STACK_DEPTH Adjust the validation to allow for max_stack greater than PERF_MAX_STACK_DEPTH. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-18-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7f14bededbf1e0db5d17743b27a8855ab05ad645 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 1 20:48:29 2015 +0800 ARM: dts: sun6i: hummingbird: Add aliases for rtc devices The hummingbird A31 has 2 rtc devices available: one in the SoC, and a pcf8563 external rtc on i2c2. For some unknown reason, the onboard backup battery alone can not supply enough power to the internal rtc. When external power is removed, the internal rtc would reset. Hence we want to use the external one by default. Add aliases for the rtc devices with the external one as rtc0. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 208e7607459477432d3df52c32d4b961a96d4a94 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Sep 30 13:34:00 2015 +0900 perf report: Fix a bug on "--call-graph none" option The patch f9db0d0f1b2c ("perf callchain: Allow disabling call graphs per event") added an ability to enable/disable callchain recording per event. But it had a problem when the enablement setting is changed at 'perf report' time using -g/--call-graph option. For example, the following scenario will get a segfault. $ perf record -ag sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.500 MB perf.data (2555 samples) ] $ perf report -g none perf: Segmentation fault -------- backtrace -------- perf[0x53a98a] /usr/lib/libc.so.6(+0x335af)[0x7f4e91df95af] This is because callchain_param.sort() callback was not set but it tried to call the function as it had the PERF_SAMPLE_CALLCHAIN bit. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Fixes: f9db0d0f1b2c ("perf callchain: Allow disabling call graphs per event") Link: http://lkml.kernel.org/r/1443587640-24242-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c53d138d41a7f33cf085762c64b4b61e8d223e1c Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Sep 30 10:45:26 2015 +0900 perf top: Register idle thread The perf top didn't add the idle/swapper thread to the machine's thread list and its comm was displayed as ':0'. Fix it. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443577526-3240-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4b37af595742977f1bdd8c0fd0f3e6e55b36e7b7 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Sep 30 10:45:25 2015 +0900 perf top: Fix unresolved comm when -s comm is used The perf top uses 'dso,symbol' sort keys by default so it overlooked a problem in task's comm resolving. When the sort key contains 'comm', some task's comm is not shown properly. This is because the perf_top__mmap_read_idx() checks the cpumode value improperly. The cpumode value of non-sample events are 0 (PERF_RECORD_MISC_CPUMODE_ UNKNOWN) so the events will be ignored by the switch statement. This patch allows it for non-sample events. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443577526-3240-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e5bed564485b340d87f2d8945643a393e55b8225 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Sep 30 10:45:24 2015 +0900 perf record: Allocate area for sample_id_hdr in a synthesized comm event A previous patch added a synthesized comm event for forked child process but it missed that the event should contain area for sample_id_hdr at the end. It worked by accident since the perf_event union contains bigger event structs like mmap_events. This patch fixes it by dynamically allocating event struct including those area like in perf_event__synthesize_thread_map(). Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443577526-3240-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f1e0bb0ad473a32d1b7e6d285ae9f7e47710bb5e Author: Yang Yingliang <yangyingliang@xxxxxxxxxx> Date: Thu Sep 24 17:32:13 2015 +0800 genirq: Introduce generic irq migration for cpu hotunplug ARM and ARM64 have almost identical code for migrating interrupts on cpu hotunplug. Provide a generic version which can be used by both. The new code addresses a shortcoming in the ARM[64] variants which fails to update the affinity change in some cases. The solution for this is to use the core function irq_do_set_affinity() instead of open coding it. [ tglx: Added copyright notice and license boilerplate. Rewrote subject and changelog. ] Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx> Acked-by: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443087135-17044-2-git-send-email-yangyingliang@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fb91aecb96cb852f0989432968b3c50d6247ed7f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 09:35:01 2015 -0300 [media] DocBook: Fix documentation for struct v4l2_dv_timings Fix this warning: include/media/v4l2-dv-timings.h:29: warning: cannot understand function prototype: 'const struct v4l2_dv_timings v4l2_dv_timings_presets[]; ' Unfortunately, currently, it seems that doc-nano doesn't support documenting extern static vars. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5a11cb1cd4cb7fe9cf44ca62bd9b472254f6e5b2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 09:14:57 2015 -0300 [media] dvbdev: Remove two cut-and-paste errors Those two came from dvb_register_adapter cut-and-paste: .//drivers/media/dvb-core/dvbdev.h:199: warning: Excess function parameter 'device' description in 'dvb_register_device' .//drivers/media/dvb-core/dvbdev.h:199: warning: Excess function parameter 'adapter_nums' description in 'dvb_register_device' Remove them. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1ccd66cca96a377ef924d2ee76fbb753a7bec9ea Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 09:12:23 2015 -0300 [media] DocBook: add the new videobuf2-v4l2 header This header should also be used to generate documentation. So, add it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b0dcc5f61253b384367c43c89b75e560fa751cf4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 09:10:06 2015 -0300 [media] s5p-jpeg: remove unused var changeset 6c96dbbc2aa9 added a new function that seems to be a modified version of an existing function. That's ok, but it was adding a "word" var from the previous code that it is not used on the new function. So, remove this left-over. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2d7007153f0c9b1dd00c01894df7d26ddc32b79f Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Sep 22 10:30:30 2015 -0300 [media] media: videobuf2: Restructure vb2_buffer Remove v4l2 stuff - v4l2_buf, v4l2_plane - from struct vb2_buffer. Add new member variables - bytesused, length, offset, userptr, fd, data_offset - to struct vb2_plane in order to cover all information of v4l2_plane. struct vb2_plane { <snip> unsigned int bytesused; unsigned int length; union { unsigned int offset; unsigned long userptr; int fd; } m; unsigned int data_offset; } Replace v4l2_buf with new member variables - index, type, memory - which are common fields for buffer management. struct vb2_buffer { <snip> unsigned int index; unsigned int type; unsigned int memory; unsigned int num_planes; struct vb2_plane planes[VIDEO_MAX_PLANES]; <snip> }; v4l2 specific fields - flags, field, timestamp, timecode, sequence - are moved to vb2_v4l2_buffer in videobuf2-v4l2.c struct vb2_v4l2_buffer { struct vb2_buffer vb2_buf; __u32 flags; __u32 field; struct timeval timestamp; struct v4l2_timecode timecode; __u32 sequence; }; Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c139990e842d550db2f59bd4f5993bba90f140e0 Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Sep 22 10:30:29 2015 -0300 [media] media: videobuf2: Replace videobuf2-core with videobuf2-v4l2 Make videobuf2-v4l2 as a wrapper of videobuf2-core for v4l2-use. And replace videobuf2-core.h with videobuf2-v4l2.h. This renaming change should be accompanied by the modifications of all device drivers that include videobuf2-core.h. It can be done with just running this shell script. replace() { str1=$1 str2=$2 dir=$3 for file in $(find $dir -name *.h -o -name *.c -o -name Makefile) do echo $file sed "s/$str1/$str2/g" $file > $file.out mv $file.out $file done } replace "videobuf2-core" "videobuf2-v4l2" "include/media/" replace "videobuf2-core" "videobuf2-v4l2" "drivers/media/" replace "videobuf2-core" "videobuf2-v4l2" "drivers/usb/gadget/" replace "videobuf2-core" "videobuf2-v4l2" "drivers/staging/media/" Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a8077734055f870ba630563868a6349671ca8dfc Author: Benoit Parrot <bparrot@xxxxxx> Date: Mon Sep 21 13:03:21 2015 -0300 [media] media: v4l2-ctrls: Fix 64bit support in get_ctrl() When trying to use v4l2_ctrl_g_ctrl_int64() to retrieve a V4L2_CTRL_TYPE_INTEGER64 type value the internal helper function get_ctrl() would prematurely exit because for this control type the 'is_int' flag is not set. This would result in v4l2_ctrl_g_ctrl_int64 always returning 0. Also v4l2_ctrl_g_ctrl_int64() is reading and returning the 32bit value member instead of the 64bit version, so fixing that as well. This patch extends the condition check to allow the V4L2_CTRL_TYPE_INTEGER64 type to continue processing instead of exiting. Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.17 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d275d935900e10f01f2e43fb4a961ebcb48867bc Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Sep 21 13:00:41 2015 -0300 [media] cx25821, cx88, tm6000: use SNDRV_DEFAULT_ENABLE_PNP Instead of manually initializing the bool array enable, use the SNDRV_DEFAULT_ENABLE_PNP macro. As most drivers do. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fc88dd16a0e430f57458e6bd9b62a631c6ea53a1 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Sep 21 08:42:04 2015 -0300 [media] cobalt: fix Kconfig dependency The cobalt driver should depend on VIDEO_V4L2_SUBDEV_API. This fixes this kbuild error: tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 99bc7215bc60f6cd414cf1b85cd9d52cc596cccb commit: 85756a069c55e0315ac5990806899cfb607b987f [media] cobalt: add new driver config: x86_64-randconfig-s0-09201514 (attached as .config) reproduce: git checkout 85756a069c55e0315ac5990806899cfb607b987f # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): drivers/media/i2c/adv7604.c: In function 'adv76xx_get_format': >> drivers/media/i2c/adv7604.c:1853:9: error: implicit declaration of function 'v4l2_subdev_get_try_format' [-Werror=implicit-function-declaration] fmt = v4l2_subdev_get_try_format(sd, cfg, format->pad); ^ drivers/media/i2c/adv7604.c:1853:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion] fmt = v4l2_subdev_get_try_format(sd, cfg, format->pad); ^ drivers/media/i2c/adv7604.c: In function 'adv76xx_set_format': drivers/media/i2c/adv7604.c:1882:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion] fmt = v4l2_subdev_get_try_format(sd, cfg, format->pad); ^ cc1: some warnings being treated as errors Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c7d97499cc8ab9f9cda0af5c1b078480e198eb4c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 21 08:23:09 2015 -0300 [media] tvp5150: add support for asynchronous probing Allow the subdevice to be probed asynchronously. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5b5fbd38776e06df8e74c2fa91a172435400486 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Aug 2 17:30:53 2015 -0300 [media] s5p-mfc: Correct misuse of %0x<decimal> Correct misuse of 0x%d in logging message. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7d9f9bf45b0e573c8cda403f068f5722a902e450 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Fri Sep 18 11:20:59 2015 -0300 [media] MAINTAINERS: add exynos jpeg codec maintainers Add Andrzej Pietrasiewicz and Jacek Anaszewski as maintainers of drivers/media/platform/s5p-jpeg. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6c96dbbc2aa9f5b4aed8792989d69eae22bf77c4 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Fri Sep 18 11:20:58 2015 -0300 [media] s5p-jpeg: add support for 5433 JPEG IP found in Exynos5433 is similar to what is in Exynos4, but there are some subtle differences which this patch takes into account. The most important difference is in what is processed by the JPEG IP and what has to be provided to it. In case of 5433 the IP does not parse Huffman and quantisation tables, so this has to be performed with the CPU and the majority of the code in this patch does that. A small but important difference is in what address is passed to the JPEG IP. In case of 5433 it is the SOS (start of scan) position, which is natural, because the headers must be parsed elsewhere. There is also a difference in how the hardware is put to work in device_run. Data structures are extended as appropriate to accommodate the above changes. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Reviewed-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5f509239eccc9d118d3474a22e78b3da1ceefe02 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Oct 1 08:03:06 2015 +0200 ieee802154: handle datagram variables as u16 This reverts commit 9abc378c66e3d6f437eed77c1c534cbc183523f7 ("ieee802154: 6lowpan: change datagram var types"). The reason is that I forgot the IPv6 fragmentation here. Our MTU of lowpan interface is 1280 and skb->len should not above of that. If we reach a payload above 1280 in IPv6 header then we have a IPv6 fragmentation above 802.15.4 6LoWPAN fragmentation. The type "u16" was fine, instead I added now a WARN_ON_ONCE if skb->len is above MTU which should never happen otherwise IPv6 on minimum MTU size is broken. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b95a24d6b10a70d88916e4c7c67f3a63772afb6a Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Sep 18 11:20:57 2015 -0300 [media] s5p-jpeg: generalize clocks handling Allow jpeg codec variants declare clocks they need. Before this patch is applied jpeg-core gets jpeg->sclk "speculatively": if it is not there, we assume no problem. This patch eliminates this by explicitly declaring what clocks are needed for each variant. This is a preparation for adding Exynos 5433 variant support, which needs 4 clocks of names not compatible with any previous version of jpeg hw module. [Rebase and commit message] Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Reviewed-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5bcc0dd7906758ad9b37ce66835e5b53e15d9b1d Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 20:55:04 2015 -0300 [media] go7007: Fix returned errno code in gen_mjpeghdr_to_package() The driver is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Since the error number is propagated, the caller will get a -EPERM which is the wrong error condition. Also, the smatch tool complains with the following warning: gen_mjpeghdr_to_package() warn: returning -1 instead of -ENOMEM is sloppy Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5aa2ccfc370f0a48f16492059a95a1252d721f6c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Sep 11 07:53:09 2015 -0300 [media] s5c73m3: Export OF module alias information The SPI core always reports the MODALIAS uevent as "spi:<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: SPI id table or OF match table). So drivers needs to export the SPI 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 SPI 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 SPI device name for example. To avoid the above, the SPI 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> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 60f4570de80264428ddbd350dc8ed1d95f9dcd9d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Sep 21 06:21:55 2015 -0300 [media] DocBook/media: clarify control documentation - Add missing V4L2_CTRL_TYPE_U32 documentation - Remove 'which are actually different on the hardware' sentence which is confusing. I think the idea was to let the user know that the step can be different for different hardware, but that's obvious because otherwise you wouldn't need to specify the step value. - Clarify that V4L2_CTRL_COMPOUND_TYPES also applies to arrays. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 35204e2e84f2dae72012f8ca319659c12f428430 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Sep 21 06:14:16 2015 -0300 [media] v4l2-ctrls: arrays are also considered compound controls Array controls weren't skipped when only V4L2_CTRL_FLAG_NEXT_CTRL was provided (so no V4L2_CTRL_FLAG_NEXT_COMPOUND was set). This is wrong since arrays are also considered compound controls (i.e. with more than one value), and applications that do not know about arrays will not be able to handle such controls. Fix the test to include arrays. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Reported-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.17 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ba0e2c3ad4c049b19f6cad7ec62e59424a55183 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 17 18:19:37 2015 -0300 [media] use v4l2_get_timestamp where possible This is a preparation for a change to the type of v4l2 timestamps. v4l2_get_timestamp() is a helper function that reads the monotonic time and stores it into a 'struct timeval'. Multiple drivers implement the same thing themselves for historic reasons. Changing them all to use v4l2_get_timestamp() is more consistent and reduces the amount of code duplication, and most importantly simplifies the following changes. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> [hans.verkuil@xxxxxxxxx: dropped the v4l2-dev.c patch that didn't belong here] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3a40cfc36bb3d2e25c9af31e56863ea7144c5324 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Sep 30 16:05:43 2015 +0200 regulator: core: create unlocked version of regulator_list_voltage The unlocked version will be needed when we start propagating voltage changes to the supply regulators. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9f01cd4a915e13dda6a61b989229015687ffd58f Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Sep 30 16:05:42 2015 +0200 regulator: core: introduce function to lock regulators and its supplies Each regulator_dev is locked with its own mutex. This is fine as long as only one regulator_dev is locked, but makes lockdep unhappy when we have to walk up the supply chain like it can happen in regulator_get_voltage: regulator_get_voltage -> mutex_lock(®ulator->rdev->mutex) -> _regulator_get_voltage(regulator->rdev) -> regulator_get_voltage(rdev->supply) -> mutex_lock(®ulator->rdev->mutex); This causes lockdep to issue a possible deadlock warning. There are at least two ways to work around this: - We can always lock the whole supply chain using the functions introduced with this patch. - We could store the current voltage in struct regulator_rdev so that we do not have to walk up the supply chain for the _regulator_get_voltage case. Anyway, regulator_lock_supply/regulator_unlock_supply will be needed once we allow regulator_set_voltage to optimize the supply voltages. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2ef3b6fe9e6d7b22ca9f81a58d5ff089f7b4ef91 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 17 18:19:35 2015 -0300 [media] exynos4-is: use monotonic timestamps as advertized The exynos4 fimc capture driver claims to use monotonic timestamps but calls ktime_get_real_ts(). This is both an incorrect API use, and a bad idea because of the y2038 problem and the fact that the wall clock time is not reliable for timestamps across suspend or settimeofday(). This changes the driver to use the normal v4l2_get_timestamp() function like all other drivers. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 280e87b2e6b92090ec6da8cd7e55100f6d4b11bc Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:16:34 2015 -0300 [media] ml86v7667: implement g_std() method The driver was written with the 'soc_camera' use in mind, however the g_std() video method was forgotten. Implement it at last... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 225b783b38d72a45349ff6eab29fc8230e346eed Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:33 2015 -0300 [media] saa7164: video and vbi ports share the same input/tuner/std The vbi port should pass any tuner/input/standard information on to the video port since in the input and tuner are shared between the two. There is no reason to duplicate this code, just pass the ioctls on to the video encoder port. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6b99612606b794e59c5089aa61168adabe983969 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:32 2015 -0300 [media] saa7164: fix input and tuner compliance problems - the frequency range was never set - there was no initial frequency - missing index/tuner checks - inconsistent standard reporting - removed unnecessary tuner type checks (the core handles that) - clamp frequency to the valid frequency range as per the V4L2 spec Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4e203f7fddecd4c4fc9af2f25bae1d79b28405a8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:31 2015 -0300 [media] saa7164: remove unused videobuf references This driver includes videobuf headers and selects VIDEOBUF_DVB, but videobuf isn't used at all. Remove this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 031d229772745044faf86f6bee0c9d0f151e3bd4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:30 2015 -0300 [media] saa7164: fix format ioctls Fix various v4l2-compliance issues in the formatting ioctls: - the vbi device implemented video format ioctls which make no senses for a vbi device, remove them. - remove the unused ts_packet_size and ts_packet_count fields. - fill in colorspace and field. - fill in sizeimage with a default value. - for the video node the get, set and try format functions all do the same thing, so combine into a single function. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 245b5ae95f6c58a49f5a7230041f9fbfbaabfc99 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:29 2015 -0300 [media] saa7164: add support for control events Now that saa7164 uses v4l2_fh and that poll() has been fixed, it is trivial to add support for control events. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 45053edc054ac9467adfdaf4f8a39db15af22b37 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:28 2015 -0300 [media] saa7164: fix poll bugs - poll doesn't return negative values, so you can't return -EINVAL. Instead return POLLERR. - poll can't be called if !video_is_registered(), so this test can be dropped. - poll can never do a blocking wait, so remove that check. - poll shouldn't attempt to start streaming if the caller isn't interested in read events. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d6d3fe2fe118ad13ac3a24c1e45a37312b44c462 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:27 2015 -0300 [media] saa7164: add v4l2_fh support Control events require the use of struct v4l2_fh. Add this to saa7164. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1a708ea0133cd4959752a8d5c9ca12fc27dd475d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:26 2015 -0300 [media] saa7164: convert to the control framework Convert this driver to the control framework. Note that the VBI device nodes have no controls as there is nothing to control. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b2f73922d119686323f14fbbe46587f863852328 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 30 15:59:17 2015 +0200 fs/proc, core/debug: Don't expose absolute kernel addresses via wchan So the /proc/PID/stat 'wchan' field (the 30th field, which contains the absolute kernel address of the kernel function a task is blocked in) leaks absolute kernel addresses to unprivileged user-space: seq_put_decimal_ull(m, ' ', wchan); The absolute address might also leak via /proc/PID/wchan as well, if KALLSYMS is turned off or if the symbol lookup fails for some reason: static int proc_pid_wchan(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *task) { unsigned long wchan; char symname[KSYM_NAME_LEN]; wchan = get_wchan(task); if (lookup_symbol_name(wchan, symname) < 0) { if (!ptrace_may_access(task, PTRACE_MODE_READ)) return 0; seq_printf(m, "%lu", wchan); } else { seq_printf(m, "%s", symname); } return 0; } This isn't ideal, because for example it trivially leaks the KASLR offset to any local attacker: fomalhaut:~> printf "%016lx\n" $(cat /proc/$$/stat | cut -d' ' -f35) ffffffff8123b380 Most real-life uses of wchan are symbolic: ps -eo pid:10,tid:10,wchan:30,comm and procps uses /proc/PID/wchan, not the absolute address in /proc/PID/stat: triton:~/tip> strace -f ps -eo pid:10,tid:10,wchan:30,comm 2>&1 | grep wchan | tail -1 open("/proc/30833/wchan", O_RDONLY) = 6 There's one compatibility quirk here: procps relies on whether the absolute value is non-zero - and we can provide that functionality by outputing "0" or "1" depending on whether the task is blocked (whether there's a wchan address). These days there appears to be very little legitimate reason user-space would be interested in the absolute address. The absolute address is mostly historic: from the days when we didn't have kallsyms and user-space procps had to do the decoding itself via the System.map. So this patch sets all numeric output to "0" or "1" and keeps only symbolic output, in /proc/PID/wchan. ( The absolute sleep address can generally still be profiled via perf, by tasks with sufficient privileges. ) Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Kostya Serebryany <kcc@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: kasan-dev <kasan-dev@xxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150930135917.GA3285@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 28c50292751cd20ffa4b70eb0d4476c887bcb93d Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Aug 21 10:19:22 2015 -0300 [media] media/v4l2-compat-ioctl32: Simple stylechecks The next patches on the series need this modifications to pass clean checkpath.pl. 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 d9e7d2285a6787b61e8741dddbbf4d6702afa637 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Aug 21 10:19:20 2015 -0300 [media] videodev2.h: Fix typo in comment Referenced file has moved 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 b96c544f44c00a85b660e72dd8cc8363a499a6d6 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Sep 21 05:31:19 2015 -0300 [media] vivid: add 10 and 12 bit Bayer formats Add support for 10 and 12 bit Bayer formats to the test pattern generator and the vivid driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d5beb67bc74d8c048c63f361b13fbebbda1bc43a Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Sep 17 06:46:04 2015 -0300 [media] v4l2-compat-ioctl32: add missing SDR support Add the missing support for v4l2_sdr_format (V4L2_BUF_TYPE_SDR_CAPTURE). Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fd4b0d751835b74b06ace3ebcfb50f829a74ce2e Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Sep 15 09:36:01 2015 -0300 [media] media: fix kernel-doc warnings in v4l2-dv-timings.h Fix the following 'make htmldocs' warnings: .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'frame_height' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'hfreq' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'vsync' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'active_width' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'polarities' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'interlaced' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'fmt' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'frame_height' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'hfreq' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'vsync' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'polarities' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'interlaced' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'aspect' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'fmt' .//include/media/v4l2-dv-timings.h:184: warning: No description found for parameter 'hor_landscape' .//include/media/v4l2-dv-timings.h:184: warning: No description found for parameter 'vert_portrait' Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d006a9791d53905109d3ba31c54c514326deeb6b Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Sep 15 03:49:44 2015 -0300 [media] vim2m: small cleanup: use assignment instead of memcpy Use a type-safe assignment instead of memcpy. And it is easier to read as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 00507a8d6a86973e55076ea21053fd8e786391eb Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 16:15:21 2015 -0300 [media] DocBook media: Document the SMPTE 2084 transfer function Document this new transfer function used by High Dynamic Range content. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e29fd55d8d23ea7afcadd15a87700583e7da5035 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Thu Oct 1 14:47:10 2015 +0800 ASoC: rt5645: Add the control of ClassD modulator Speaker Gain Ratio Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 945ef5bb146e65c58edb866eb0708e98224e54ab Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 21:57:06 2015 +0200 vgaarb: use kzalloc in vga_arbiter_add_pci_device() Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a7e705af524d165fe7bc303aee82225c66734885 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Oct 1 10:55:29 2015 +0800 x86/irq: Drop unlikely before IS_ERR_OR_NULL IS_ERR_OR_NULL already contain an unlikely compiler flag. Drop it. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Link: http://lkml.kernel.org/r/03d18502ed7ed417f136c091f417d2d88c147ec6.1443667610.git.geliangtang@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit cae010a1b663a779fdbfbf625839bc07dad16428 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 15:45:00 2015 +0200 ARM: STi: STiH407: Enable the 2 HW Random Number Generators for STiH4{07, 10} Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit c2365b9388e8ec19305e3f449c1826e7493d156d Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Oct 1 14:22:02 2015 +0530 perf/x86/intel/uncore: Do not use 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> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20151001085201.GA16939@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e98d6d6203552ebd1e80ac17de857547efa37fba Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:26:45 2015 +0300 Bluetooth: hci_bcm: Do not test ACPI companion in bcm_acpi_probe() This device has always ACPI companion because driver supports only ACPI enumeration. Therefore there is no need to test it in bcm_acpi_probe() and we can pass it directly to acpi_dev_get_resources() (which will return -EINVAL in case of NULL argument is passed). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4d1c4558028ff0b7dbc1e24c319f478658f0620d Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:26:44 2015 +0300 Bluetooth: hci_bcm: Remove needless looking code Tree wide grep for "hci_bcm" doesn't reveal there is any code registering this platform device and "struct acpi_device_id" use for passing the platform data looks a debug/test code leftover to me. I'm assuming this driver effectively supports only ACPI enumeration and thus test for ACPI_HANDLE() and platform data can be removed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5fbae60d43652edc005f1a690345ec7e290def8e Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:26:43 2015 +0300 Bluetooth: hci_bcm: Remove needless acpi_match_device() call There is no need to call acpi_match_device() in driver's probe path and verify does it find a match to given ACPI _HIDs in .acpi_match_table as driver/platform/acpi core code has found the match prior calling the probe. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5be00284dc85dadd5241833fbca645c19baebebb Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:26:42 2015 +0300 Bluetooth: hci_bcm: Handle possible error from acpi_dev_get_resources() Driver doesn't handle possible error from acpi_dev_get_resources(). Test it and return the error code in case of error. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 09dbf1b7847ca09afb4616021fdc928452511888 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:26:41 2015 +0300 Bluetooth: hci_bcm: Add missing acpi_dev_free_resource_list() Caller of acpi_dev_get_resources() should free the constructed resource list by calling the acpi_dev_free_resource_list() in order to avoid memory leak. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fa4270d8e0257b4b76f11baa2866f4313d29aaf5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 30 19:21:34 2015 +0300 drm: Don't zero vblank timestamps from the irq handler If we couldn't get a high precisions vblank timestamp, we currently store a zeroed timestamp instead and assume the next vblank irq to get us something better. This makes sense when trying to update the timestamp from eg. vblank enable. But if we do this from the vblank irq we will never get a vblank timestamp unless we high precision timestamps are available and succeeded. This break weston for instance on drivers lacking high precision timestamps. To fix this, zero the timestamp only when not called from vbl irq. When called from the irq, we still want the timestamp, even if not perfect. This fixes a regression from 4dfd64862ff852df drm: Use vblank timestamps to guesstimate how many vblanks were missed Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Reported-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4bc6a58fcbf63dc3da9870c41eeab1bd030bc585 Merge: 9c17dbc 7f8d1ad Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 1 09:03:57 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: User visible changes: - By default use the most precise "cycles" hw counter available, i.e. when the user doesn't specify any event, it will try using cycles:ppp, cycles:pp, etc. (Arnaldo Carvalho de Melo) - Remove blank lines, headers when piping output in 'perf list', so that it can be sanely used with 'wc -l', etc. (Arnaldo Carvalho de Melo) - Amend documentation about max_stack and synthesized callchains. (Adrian Hunter) - Fix 'perf probe -l' for probes added to kernel module functions. (Masami Hiramatsu) Build fixes: - Fix shadowed declarations that break the build on older distros. (Jiri Olsa) - Fix build break on powerpc due to sample_reg_masks. (Sukadev Bhattiprolu) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 23270e160dd5d240dbf73722c1df9ff3044d7bc9 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:28:52 2015 +0300 Bluetooth: hci_intel: Cleanup the device probe code There is some unneeded code in "hci_intel" probing. First acpi_match_device() call is needless as driver/platform/acpi core code has already done the matching before calling the probe and the driver does not use the returned pointer to matching _HID other than checking is it NULL. Then tree wide grep for "hci_intel" doesn't reveal that there is any code registering this platform device so it looks this device is always backed with ACPI companion so also ACPI_HANDLE() test can be removed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2adc48a691866fbb3134dd3abd77647a8b5a9307 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 23 15:40:35 2015 +1000 powerpc: Add ppc64le_defconfig Based directly on ppc64_defconfig using merge_config. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d2036f30cfe1daa19e63ce75afd56c7ffd39ef3c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 23 15:40:34 2015 +1000 scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target Arch Makefiles can set KBUILD_DEFCONFIG to tell kbuild the name of the defconfig that should be built by default. However currently there is an assumption that KBUILD_DEFCONFIG points to a file at arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG). We would like to use a target, using merge_config, as our defconfig, so adapt the logic in scripts/kconfig/Makefile to allow that. To minimise the chance of breaking anything, we first check if KBUILD_DEFCONFIG is a file, and if so we do the old logic. If it's not a file, then we call the top-level Makefile with KBUILD_DEFCONFIG as the target. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Michal Marek <mmarek@xxxxxxxx> commit 65d3223a853ac8598694064c1d37b0955e7d99cc Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:20:56 2015 +0530 powerpc/mm: Add virt_to_pfn and use this instead of opencoding This add helper virt_to_pfn and remove the opencoded usage of the same. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c974809a26a13e40254dbe3cf46f49aa32acca11 Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Fri Sep 25 14:01:40 2015 +1000 powerpc/vdso: Avoid link stack corruption in __get_datapage() powerpc has a link register (lr) used for calling functions. We "bl <func>" to call a function, and "blr" to return back to the call site. The lr is only a single register, so if we call another function from inside this function (ie. nested calls), software must save away the lr on the software stack before calling the new function. Before returning (ie. before the "blr"), the lr is restored by software from the software stack. This makes branch prediction quite difficult for the processor as it will only know the branch target just before the "blr". To help with this, modern powerpc processors keep a (non-architected) hardware stack of lr called a "link stack". When a "bl <func>" is run, the lr is pushed onto this stack. When a "blr" is called, the branch predictor pops the lr value from the top of the link stack, and uses it to predict the branch target. Hence the processor pipeline knows a lot earlier the branch target. This works great but there are some cases where you call "bl" but without a matching "blr". Once such case is when trying to determine the program counter (which can't be read directly). Here you "bl+4; mflr" to get the program counter. If you do this, the link stack will get out of sync with reality, causing the branch predictor to mis-predict subsequent function returns. To avoid this, modern micro-architectures have a special case of bl. Using the form "bcl 20,31,+4", ensures the processor doesn't push to the link stack. The 32 and 64 bit variants of __get_datapage() use a "bl; mflr" to determine the loaded address of the VDSO. The current versions of these attempt to use this special bl variant. Unfortunately they use +8 rather than the required +4. Hence the current code results in the link stack getting out of sync with reality and hence the resulting performance degradation. This patch moves it to bcl+4 by moving __kernel_datapage_offset out of __get_datapage(). With this patch, running a gettimeofday() (which uses __get_datapage()) microbenchmark we get a decent bump in performance on POWER7/8. For the benchmark in tools/testing/selftests/powerpc/benchmarks/gettimeofday.c POWER8: 64bit gets ~4% improvement 32bit gets ~9% improvement POWER7: 64bit gets ~7% improvement Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Reported-by: Aaron Sawdey <sawdey@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d17475d906fde8e9fe39fff3873b07380ed6da76 Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Fri Sep 25 14:01:39 2015 +1000 powerpc/selftest: Add gettimeofday() benchmark This adds a benchmark directory to the powerpc selftests and adds a gettimeofday() benchmark to it. Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 26cd835ef8bdc9ca6db03374372738176c36dd88 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:11:18 2015 +1000 powerpc/slb: Use a local to avoid multiple calls to get_slb_shadow() For no reason other than it looks ugly. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1d15010c349a26640e8f24959390bcf2ebd1db60 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:07:54 2015 +1000 powerpc/slb: Define an enum for the bolted indexes This patch defines macros for the three bolted SLB indexes we use. Switch the functions that take the indexes as an argument to use the enum. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 787b393c9f6300c343600d39f53f1b9f09d3684f Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 13:05:42 2015 +1000 powerpc/vdso: Emit GNU & SysV hashes Andy Lutomirski says: Some dynamic loaders may be slightly faster if a GNU hash is available. 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. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8fa884dc355ffd0caa964a284a530bf747df5c77 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 1 08:44:24 2015 +0200 drm: Hack around CONFIG_AGP=m build failures Surprisingly kbuild can't cope with tristates in the <module>-$(CONFIG_FOO) pattern. This patch hacks up a solution. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxxx> Cc: linux-kbuild@xxxxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit b59f2e31b8abda3d63c53ea7672a219639ded61b Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 28 10:23:27 2015 -0500 ipvs: Don't protect ip_vs_addr_is_unicast with CONFIG_SYSCTL I arranged the code so that the compiler can remove the unecessary bits in ip_vs_leave when CONFIG_SYSCTL is unset, and removed an explicit CONFIG_SYSCTL. Unfortunately when rebasing my work on top of that of Alex Gartrell I missed the fact that the newly added function ip_vs_addr_is_unicast was surrounded by CONFIG_SYSCTL. So remove the now unnecessary CONFIG_SYSCTL guards around ip_vs_addr_is_unicast. It is causing build failures today when CONFIG_SYSCTL is not selected and any self respecting compiler will notice that sysctl_cache_bypass is always false without CONFIG_SYSCTL and not include the logic from the function ip_vs_addr_is_unicast in the compiled code. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b12ff41658171f53e81fbe1b53a4bde6e69af3be Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Sep 30 17:50:20 2015 +0200 ARM: shmobile: r8a7779: Remove legacy PM Domain remainings As of commit c99cd90d98a98aa1 ("ARM: shmobile: r8a7779: Remove legacy SoC code"), r8a7779_init_pm_domains() is no longer called. Remove all related legacy PM Domain code. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 20e73335dc35bf5e200173e6ed99f6a2b32f8857 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Sep 30 17:50:19 2015 +0200 ARM: shmobile: r8a7778: Make r8a7778_init_irq_dt() static As of commit 4baadb9e05c68962 ("ARM: shmobile: r8a7778: remove obsolete setup code"), r8a7778_init_irq_dt() is no longer used outside setup-r8a7778.c. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 54245073431df264fe4715bc7f1bf295a19c40b7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Sep 30 17:50:18 2015 +0200 ARM: shmobile: smp: Make shmobile_smp_apmu_cpu_shutdown() static shmobile_smp_apmu_cpu_shutdown() is used inside platsmp-apmu.c only. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cdb2bab78aff97101da767b9643fbd692af4623b Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed May 20 15:59:21 2015 +0800 clk: mediatek: Add USB clock support in MT8173 APMIXEDSYS Add REF2USB_TX clock support into MT8173 APMIXEDSYS. This clock is needed by USB 3.0. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 29859d9315834c7a36a436a6a383f2f810b91047 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed May 20 14:45:54 2015 +0800 clk: mediatek: Add subsystem clocks of MT8173 Most multimedia subsystem clocks will be accessed by multiple drivers, so it's a better way to manage these clocks in CCF. This patch adds clock support for MM, IMG, VDEC, VENC and VENC_LT subsystems. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 566184895659b59f9989fc13a77dd77e409f319d Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed May 20 16:45:08 2015 +0800 dt-bindings: ARM: Mediatek: Document devicetree bindings for clock controllers This adds the binding documentation for the mmsys, imgsys, vdecsys, vencsys and vencltsys controllers found on Mediatek SoCs. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit a4f7a15fed1de731d78b71d638c15f3448d7ac88 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Fri Jul 10 11:41:15 2015 +0800 clk: mediatek: Fix rate and dependency of MT8173 clocks Remove the dependency from clk_null, and give all root clocks a typical rate, include clkph_mck_o, usb_syspll_125m and hdmitx_dig_cts. dpi_ck was removed due to no clock reference to it. Replace parent clock of infra_cpum with cpum_ck, which is an external clock and can be defined in the device tree. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 4fa043806a2cdbf86503068276ab9bba91a726f6 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Fri Jul 10 11:39:15 2015 +0800 clk: mediatek: Add fixed clocks support for Mediatek SoC. This patch adds fixed clocks support by using CCF fixed-rate clock implementation. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit e02940fc9ed323ae512f3ded62abaf9d6a3d3265 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Tue Jul 28 15:37:34 2015 +0800 clk: mediatek: Add __initdata and __init for data and functions Add __init for clock registration functions, and add __initdata for mtk_gate_regs initial structures. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 07d130698b8e1ecf1a72d294b5f89a26fea1ec6f Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Tue Jul 28 14:53:29 2015 +0800 clk: mediatek: Remove unused code from MT8173. Remove unused header files from MT8173, and remove unused keywords from function declaration. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 829f4912d1577f6ee68274fcb678f9da0b760244 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Tue Jul 28 14:30:03 2015 +0800 clk: mediatek: Removed unused dpi_ck clock from MT8173 The dpi_ck clock can be removed because it not actually used in topckgen and subsystems. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 2d61fe0fc7f0a8c214587ba063fc8770486c0af1 Author: Joe.C <yingjoe.chen@xxxxxxxxxxxx> Date: Mon Jul 13 17:32:48 2015 +0800 clk: mediatek: add 13mhz clock for MT8173 Add 13mhz clock used by GPT timer in infracfg. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> commit 9290a16cf19301224556bc7bcb913c0c2a45bb9a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Aug 21 11:48:37 2015 +0000 dmaengine: OF DMAEngine API based on CONFIG_DMA_OF instead of CONFIG_OF 5fa422c ("dmaengine: move drivers/of/dma.c -> drivers/dma/of-dma.c") moved OF base DMAEngine code to of-dma.c, then it based on CONFIG_DMA_OF. But, OF base DMAEngine API on of_dma.h still based on CONFIG_OF now. So, current kernel can't find OF base DMAEngine API if .config has CONFIG_OF, but not have CONFIG_DMA_OF. This patch tidyup it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ad577e4642e7168f47146895db5791462b096c0f Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 23:00:17 2015 +0200 dmaengine: xilinx: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c719d7fa81f18c9fd179f36c672d9648bd723504 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:59:31 2015 +0200 dmaengine: sun6i: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e0c26f22069e559b4c84dcc5060355e402f37744 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:58:53 2015 +0200 dmaengine: sirf: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9ace300c98fd0b7280968195caaa7e7bbebefad1 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:58:22 2015 +0200 dmaengine: mpc512x: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 981ec2b248688968cd42734773add4c168326356 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:57:51 2015 +0200 dmaengine: moxart-dma: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7522c2402aca2cb032ee1de7efde657491c3e4f5 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:57:17 2015 +0200 dmaengine: fsldma: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 62b5cb757f1d6c875293958535952dd38ff9e675 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Tue Sep 15 15:38:24 2015 +0200 dmaengine: at_xdmac: fix memory leak in interleaved mode In interleaved mode, when numf > 1, we have only one descriptor for the transfer but this descriptor has to be added to the descs_list. If not, when doing remove_xfer, the descriptor won't be put back in the free_descs_list. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4e5385784e69e448efca0998aa188404d5e8d313 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 15 15:29:27 2015 +0200 dmaengine: at_xdmac: handle numf > 1 Handle 'numf > 1' case for interleaved mode. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6169588f69f864c39f04e6d65cc620e58822aec5 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:34:02 2015 -0500 Documentation: power: bq24257: Document exported sysfs entries Document the settings exported by bq24257 charger driver through sysfs entries: - ovp_voltage - in_dpm_voltage - high_impedance_enable - sysoff_enable Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1a492ac2b87b05c8a175478e79d3c74511c74921 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Oct 1 07:11:48 2015 +0530 dmaengine: zxdma: fix memset call Fix the call to memset in this driver [linux-4.2-next-20150911/drivers/dma/zx296702_dma.c:444]: (warning) memset() called to fill 0 bytes of 'ds'. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3722ed2380ad6e89eaf81fcf93f06d605e740435 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:18 2015 +0100 clocksource: cosmetic: Drop OF 'dependency' from symbols Seeing the 'of' characters in a symbol that is being called from ACPI seems to freak out people. So let's do a bit of pointless renaming so that these folks do feel at home. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ae281cbd2689200329afe2474b2f39f3f6eb54b9 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:17 2015 +0100 clocksource / arm_arch_timer: Convert to ACPI probing It is now absolutely trivial to convert the arch timer driver to use ACPI probing, just like its DT counterpart. Let's enjoy another crapectomy. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit aad83b15aa21f2d9e46b978b27bc63989e61202d Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:16 2015 +0100 clocksource: Add new CLKSRC_{PROBE,ACPI} config symbols The clocksource probing infrastructure currently depends on CONFIG_CLKSRC_OF, which depends on CONFIG_OF. In order to make this infrastructure selectable even if CONFIG_OF is not selected, introduce a new CONFIG_CLKSRC_PROBE (which allow the infrastructure to be compiled in), and CONFIG_CLKSRC_ACPI (which is the pendent of CONFIG_CLKSRC_OF for ACPI). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c625f76a9910b9d51df5d6ca40a8da0684326996 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:15 2015 +0100 clocksource / ACPI: Add probing infrastructure for ACPI-based clocksources DT enjoys a rather nice probing infrastructure for clocksources, while ACPI is so far stuck into a very distant past. This patch introduces a declarative API, allowing clocksources to be self-contained and be called when parsing the GTDT table. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f26527b1428f379fbd7edf779854c3b41bc0b3e5 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:14 2015 +0100 irqchip / GIC: Convert the GIC driver to ACPI probing Now that we have a basic infrastructure to register irqchips and call them on discovery of a matching entry in MADT, convert the GIC driver to this new probing method. It ends up being a code deletion party, which is a rather good thing. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 46e589a391809627144e6bee93d71d73fe915db2 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:13 2015 +0100 irqchip / ACPI: Add probing infrastructure for ACPI-based irqchips DT enjoys a rather nice probing infrastructure for irqchips, while ACPI is so far stuck into a very distant past. This patch introduces a declarative API, allowing irqchips to be self-contained and be called when a particular entry is matched in the MADT table. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e647b532275bb357e87272e052fccf5fcdb36a17 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:12 2015 +0100 ACPI: Add early device probing infrastructure IRQ controllers and timers are the two types of device the kernel requires before being able to use the device driver model. ACPI so far lacks a proper probing infrastructure similar to the one we have with DT, where we're able to declare IRQ chips and clocksources inside the driver code, and let the core code pick it up and call us back on a match. This leads to all kind of really ugly hacks all over the arm64 code and even in the ACPI layer. In order to allow some basic probing based on the ACPI tables, introduce "struct acpi_probe_entry" which contains just enough data and callbacks to match a table, an optional subtable, and call a probe function. A driver can, at build time, register itself and expect being called if the right entry exists in the ACPI table. A acpi_probe_device_table() is provided, taking an identifier for a set of acpi_prove_entries, and iterating over the registered entries. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 233782495f161341a82aa933b42b35c94077bd65 Merge: 9ffecb1 3f4232e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Oct 1 02:18:32 2015 +0200 Merge branch 'device-properties' into acpi-init commit c732e647ba4b870216658a33bba14e36bdb1a73f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 16:15:20 2015 -0300 [media] vivid: add support for SMPTE 2084 transfer function Support the new SMPTE 2084 transfer function in the vivid test driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b258480aa7c950d8ad4e0fd1504a9e252665c0d0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 16:15:19 2015 -0300 [media] vivid-tpg: add support for SMPTE 2084 transfer function Support the new SMPTE 2084 transfer function in the test pattern generator. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2bdd28017e0b4747915265dc294ee0165d52c12e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 16:15:18 2015 -0300 [media] videodev2.h: add SMPTE 2084 transfer function define CEA-861.3 adds support for the SMPTE 2084 Electro-Optical Transfer Function as can be used in HDR displays. Add a define for this in videodev2.h. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1d78053549224cd3e09d3478ebe9c14be604a6cc Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:32 2015 -0300 [media] vivid: add support for the DCI-P3 colorspace Support this new colorspace in vivid. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b592b52e2b91c1a8ff3177bda0c943180e0349ad Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:31 2015 -0300 [media] vivid-tpg: support the DCI-P3 colorspace Add support to the test pattern generator for the DCI-P3 colorspace. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7146a9cfa499ac3bfaea18555d67afb04cac40c3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:30 2015 -0300 [media] DocBook media: document the new DCI-P3 colorspace Document this colorspace. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 529a7960307012f66faec6426747cf61d320265c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:29 2015 -0300 [media] videodev2.h: add support for the DCI-P3 colorspace This colorspace is used for cinema projectors and is supported by the DisplayPort standard. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2e94c19c0750d5685c95db5561f1f34e5fcab0c7 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:28 2015 -0300 [media] vivid: use Bradford method when converting Rec. 709 to NTSC 1953 The V4L2_COLORSPACE_470_SYSTEM_M (aka NTSC 1953) colorspace has a different whitepoint (C) compared to Rec. 709 (D65). The Bradford method is the recommended method to compensate for that when converting a Rec. 709 color to an NTSC 1953 color. See http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html for more details on the Bradford method. This patch updates the Rec. 709 to NTSC 1953 matrix so that it includes the chromatic adaptation as calculated by the Bradford method, and it recalculates the tpg_csc_colors table accordingly. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ff1447267b83d648078c1002eb566e7f6c0f82dd Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:27 2015 -0300 [media] vivid: use ARRAY_SIZE to calculate max control value The max value of various menu controls is hardcoded, and it is easy to forget to update it after adding a new menu item. So use ARRAY_SIZE instead to calculate this value. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 58ceb57ec1be928bec2faeca11fe0752f930669d Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Sep 30 22:51:52 2015 +0200 ASoC: pxa: pxa-pcm-lib: switch over to snd-soc-dmaengine-pcm This patch removes the old PXA DMA API usage and switches over to generic functions provided by snd-soc-dmaengine-pcm. More cleanups may be done on top of this, and some function stubs can now be removed completetly. However, the intention here was to keep the transition as small as possible. This was tested on the mioa701 pxa27x board. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> [trivial change from mmp-dma to pxa-dma] Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c0e869357454c2aab3d02d002ffc1f0a0ab2782 Merge: baafd37 ed14ee0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 30 23:21:11 2015 +0100 Merge tag 'asoc-fix-v4.3-rc2' into asoc-pxa ASoC: Fixes for v4.3 A disappointingly large set of fixes, though none of them very big and very widely spread over many different drivers. Nothing especially stands out, it's mostly all device specific and relatively minor. commit 6ece90f9a13e2592cbd6634f74bcb306169b5ab6 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Sep 29 21:10:05 2015 +0200 netfilter: fix Kconfig dependencies for nf_dup_ipv{4,6} net/built-in.o: In function `nf_dup_ipv4': (.text+0xed24d): undefined reference to `nf_conntrack_untracked' net/built-in.o: In function `nf_dup_ipv4': (.text+0xed267): undefined reference to `nf_conntrack_untracked' net/built-in.o: In function `nf_dup_ipv6': (.text+0x158aef): undefined reference to `nf_conntrack_untracked' net/built-in.o: In function `nf_dup_ipv6': (.text+0x158b09): undefined reference to `nf_conntrack_untracked' Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8a3e33cf92c7b7ae25c589eccd1a69ab11cc4353 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Wed Sep 30 21:10:25 2015 +0200 ata: ahci: find eSATA ports and flag them as removable If the AHCI ports' HPCP or ESP bits are set, the port should be considered external (e.g. eSATA) and is marked as removable. Userspace tools like udisks then treat it like an usb drive. With this patch applied, when I plug a drive into the esata port, KDE pops up a window asking what to do with the drives(s), just like it does for any random USB stick. Removability is indicated to the upper layers by way of the SCSI RMB bit, as I haven't found another way to signal userspace to treat a sata disk like any usb stick. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 7f8d1ade1b19f684ed3a7c4fb1dc5d347127b438 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 17:49:49 2015 -0300 perf tools: By default use the most precise "cycles" hw counter available If the user doesn't specify any event, try the most precise "cycles" available, i.e. start by "cycles:ppp" and go on removing "p" till it works. E.g. $ perf record usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data (11 samples) ] $ perf evlist cycles:pp $ perf evlist -v cycles:pp: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, precise_ip: 2, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 $ grep 'model name' /proc/cpuinfo | head -1 model name : Intel(R) Core(TM) i7-3667U CPU @ 2.00GHz $ When 'cycles' appears explicitely is specified this will not be tried, i.e. the user has full control of the level of precision to be used: $ perf record -e cycles usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.016 MB perf.data (9 samples) ] $ perf evlist cycles $ perf evlist -v cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 $ Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: https://www.youtube.com/watch?v=nXaxk27zwlk Link: http://lkml.kernel.org/n/tip-b1ywebmt22pi78vjxau01wth@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dfc431cbdc3a3c0556f1cd462d724d107cc15a9e Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 17:13:26 2015 -0300 perf list: Remove blank lines, headers when piping output So that one can, for instance, use it with wc -l: # perf list *:*write* | wc -l 60 Or to look for the "bio" tracepoints, without 'perf list' headers: # perf list *:*bio* | head block:block_bio_backmerge [Tracepoint event] block:block_bio_bounce [Tracepoint event] block:block_bio_complete [Tracepoint event] block:block_bio_frontmerge [Tracepoint event] block:block_bio_queue [Tracepoint event] block:block_bio_remap [Tracepoint event] # 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ts7sc0x8u4io4cifzkup4j44@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6cca13bdf5a5d561a855259689874e0c7266eec3 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Oct 1 01:41:37 2015 +0900 perf probe: Improve error message when %return is on inlined function perf probe shows more precisely message when it finds given %return target function is inlined. Without this fix: ---- # ./perf probe -V getname_flags%return Return probe must be on the head of a real function. Debuginfo analysis failed. Error: Failed to show vars. ---- With this fix: ---- # ./perf probe -V getname_flags%return Failed to find "getname_flags%return", because getname_flags is an inlined function and has no return point. Debuginfo analysis failed. Error: Failed to show vars. ---- Suggested-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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150930164137.3733.55055.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 20f49859c785183d5296670a10dace454131274b Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Oct 1 01:41:35 2015 +0900 perf probe: Fix a segfault bug in debuginfo_cache perf probe --list will get a segfault if the first kprobe event is on a module and the second or latter one is on the kernel. e.g. ---- # ./perf probe -q -m pcspkr pcspkr_event # ./perf probe -q vfs_read # ./perf probe -l Segmentation fault (core dumped) ---- This is because the debuginfo_cache fails to handle NULL module name, which causes segfault on strcmp. (Note that strcmp("something", NULL) always causes segfault) To fix this debuginfo_cache__open always translates the NULL module name to "kernel" (this is correct, because NULL module name means opening the debuginfo for the kernel) ---- # ./perf probe -l probe:pcspkr_event (on pcspkr_event@drivers/input/misc/pcspkr.c in pcspkr) probe:vfs_read (on vfs_read@ksrc/linux-3/fs/read_write.c) ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150930164135.3733.23993.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9b239a12bc872f212cefbaee4d028c838abe6ff3 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Oct 1 01:41:33 2015 +0900 perf probe: Show correct source lines of probes on kmodules Perf probe always failed to find appropriate line numbers because of failing to find .text start address offset from debuginfo. e.g. ---- # ./perf probe -m pcspkr pcspkr_event:5 Added new events: probe:pcspkr_event (on pcspkr_event:5 in pcspkr) probe:pcspkr_event_1 (on pcspkr_event:5 in pcspkr) You can now use it in all perf tools, such as: perf record -e probe:pcspkr_event_1 -aR sleep 1 # ./perf probe -l Failed to find debug information for address ffffffffa031f006 Failed to find debug information for address ffffffffa031f016 probe:pcspkr_event (on pcspkr_event+6 in pcspkr) probe:pcspkr_event_1 (on pcspkr_event+22 in pcspkr) ---- This fixes the above issue as below. 1. Get the relative address of the symbol in .text by using map->start. 2. Adjust the address by adding the offset of .text section in the kernel module binary. With this fix, perf probe -l shows lines correctly. ---- # ./perf probe -l probe:pcspkr_event (on pcspkr_event:5@drivers/input/misc/pcspkr.c in pcspkr) probe:pcspkr_event_1 (on pcspkr_event:5@drivers/input/misc/pcspkr.c in pcspkr) ---- 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150930164132.3733.24643.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9135949ddd9d0d8d73a2f441912508d25a4a82a2 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Oct 1 01:41:28 2015 +0900 perf probe: Begin and end libdwfl report session correctly Fix a trival bug about libdwfl usage of the report session, it should explicitly begin and end a report session around dwfl_report_offline(). Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150930164128.3733.59876.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 663b1151f2d674e2004c015cbe9995749033c49a Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Oct 1 01:41:30 2015 +0900 perf probe: Fix to remove dot suffix from second or latter events Fix to remove dot suffix (e.g. .const, .isra) from the second or latter events which has suffix numbers. Since the previous commit 35a23ff928b0 ("perf probe: Cut off the gcc optimization postfixes from function name") didn't care about the suffix numbered events, therefore we'll have an error when we add additional events on the same dot suffix functions. e.g. ---- # ./perf probe -f -a get_sigframe.isra.2.constprop.3 \ -a get_sigframe.isra.2.constprop.3 Failed to write event: Invalid argument Error: Failed to add events. ---- This fixes above issue as below: ---- # ./perf probe -f -a get_sigframe.isra.2.constprop.3 \ -a get_sigframe.isra.2.constprop.3 Added new events: probe:get_sigframe (on get_sigframe.isra.2.constprop.3) probe:get_sigframe_1 (on get_sigframe.isra.2.constprop.3) You can now use it in all perf tools, such as: perf record -e probe:get_sigframe_1 -aR sleep 1 ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150930164130.3733.26573.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f845086a8ed49e657a750f87f85966d75c8a9645 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 13:02:08 2015 -0300 tools lib symbol: Introduce kallsyms2elf_type Map 't', 'T' (text, local, global), 'w' and 'W' (weak text, local, global) as STT_FUNC, and the rest as STT_OBJECT Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-sbwcixulpc5v1xuxn3xvm0nn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8e947f1e84fd1588f66e5f2ea69c80647de72cd4 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 12:42:07 2015 -0300 tools lib symbol: Rename kallsyms2elf_type to kallsyms2elf_binding It is about binding, not type, we have just a letter in kallsyms that should map both for the ELF type (STT_FUNC, etc) and to the ELF symbol binding (STB_WEAK, STB_GLOBAL, etc), so rename it now before introducing kallsyms2_elf_type() Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-uu5vj343ms1q2wm55690on6v@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5e813c68649366aaa3f785772b00ea6ccad7b8d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 11:54:04 2015 -0300 perf machine: Add method for common kernel_map(FUNCTION) operation And it is also a step in the direction of killing the separation of data and text maps in map_groups. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-rrds86kb3wx5wk8v38v56gw8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 77e65977495cd6f6fcfacd8c16bdd9c8c18a1d72 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 11:08:58 2015 -0300 perf machine: Use machine__kernel_map() thoroughly In places where we were using its open coded equivalent. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-khkdugcdoqy3tkszm3jdxgbe@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit eb56db54326f910348defbee2803ec0675a664b2 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:53:49 2015 -0400 perf tools: Fix build break on powerpc due to sample_reg_masks The perf_regs.c file does not get built on Powerpc as CONFIG_PERF_REGS is false. So the weak definition for 'sample_regs_masks' doesn't get picked up. Adding perf_regs.o to util/Build unconditionally, exposes a redefinition error for 'perf_reg_value()' function (due to the static inline version in util/perf_regs.h). So use #ifdef HAVE_PERF_REGS_SUPPORT' around that function. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Cc: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150930182836.GA27858@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 40862a7b793945c7080d1566ca3dc6249f3c6354 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Sep 29 11:52:37 2015 +0300 perf report: Amend documentation about max_stack and synthesized callchains The --max_stack option was added as an optimization to reduce processing time, so people specifying --max-stack might get a increased processing time if combined with synthesized callchains, but otherwise no real harm. A warning about setting both --max_stack and the synthesized callchains max depth seems like overkill. Amend the documentation. 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/560A5155.4060105@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b7f9ff5654d53fa47e0b5ff20f834f3e7a611846 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Sep 29 17:34:46 2015 -0300 perf maps: Introduce maps__find_symbol_by_name() Out of map_groups__find_symbol_by_name(), so that we can turn this later one first into a call to maps__find_symbol_by_name(MAP__FUNCTION) + MAP__VARIABLE, and then to just one call, we'll merge MAP__FUNCTION with MAP__VARIABLE maps, to simplify the code. 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-pvkar0jacqn92g148u9sqttt@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 272ed29a91aea4397c05157dea7210dd7e81557a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Sep 29 17:05:31 2015 +0200 perf tools: Fix shadowed declaration in parse-events.c The error variable breaks build on CentOS 6.7, due to a collision with a global error symbol: CC util/parse-events.o cc1: warnings being treated as errors util/parse-events.c:419: error: declaration of â??errorâ?? shadows a global declaration util/util.h:135: error: shadowed declaration is here util/parse-events.c: In function â??add_tracepoint_multi_eventâ??: ... Using different argument names instead to fix it. Reported-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: linux-tip-commits@xxxxxxxxxxxxxxx Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150929150531.GI27383@xxxxxxxxxxxxxxxx [ Fix one more case, at line 770 ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 45633a169571e81835ec53fe0c089dd20f3195f1 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Sep 29 16:53:12 2015 +0200 tools: Fix shadowed declaration in err.h The error variable breaks build on CentOS 6.7, due to collision with global error symbol: CC util/evlist.o cc1: warnings being treated as errors In file included from util/evlist.c:28: tools/include/linux/err.h: In function â??ERR_PTRâ??: tools/include/linux/err.h:34: error: declaration of â??errorâ?? shadows a global declaration util/util.h:135: error: shadowed declaration is here Using 'error_' name instead to fix it. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-i9mdgdbrgauy3fe76s9rd125@xxxxxxxxxxxxxx Reported-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx> [ Use 'error_' instead of 'err' to, visually, not diverge too much from include/linux/err.h ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 99a3b15572499e31bebc70d3d50bc13c0c49cbac Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon May 18 16:24:30 2015 -0700 sh: mach-rsk: remove unnecessary MTD partition probe specification The cmdlinepart parser is already supported in the default probe. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6031d8bbf29e7bdb22d69dc4dd7b2ad7a402e57a Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Mon Jul 20 18:59:21 2015 +0200 ARM: dts: lpc4350-hitex-eval: add joystick, buttons and leds Add the joystick, buttons and LEDs connected to the I2C I/O expander. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 67b17a116fa4662b91f982f51c45ce3d8519d2af Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 14:50:56 2015 +0200 ARM: dts: lpc4350-hitex-eval: add i2c0 and devices Add the I2C0 bus and the some of the I2C devices on the Hitex LPC4350 eval board. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 474ae43004ef3646aa424f513d7d84017f844151 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 30 01:48:17 2015 +0200 ARM: dts: lpc4350-hitex-eval: add spifi and flash device The Hitex LPC4350 eval board has a Spansion S25SL064P SPI-NOR Flash connected to the SPIFI perherial. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 7eef5587688c5e16204740b8ecf48a1c73632e23 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:59:28 2015 +0200 ARM: dts: lpc4357-ea4357: add i2c0 and devices Add I2C0 and some of the I2C devices on the EA4357 dev kit. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 09d039971b993225e1677d3f5935adeec5e75fd2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat May 30 19:31:25 2015 +0200 ARM: dts: lpc4357-ea4357: add ssp0 The SSP0 can be found on the EA4357 Dev Kit on J15 pin 3-6. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit f359348b1beaff0cd1f790d74c3c156f0bef98e6 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jun 20 15:25:13 2015 +0200 ARM: dts: lpc4357-ea4357: add spifi and flash device The EA4357 dev kit has a Spansion S25FL016K SPI-NOR Flash connected to the SPIFI perherial. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 2300830fe71c7652e6cefdfadaf479e81c8bc293 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jul 11 11:34:21 2015 +0200 ARM: dts: lpc18xx: add resets entry to device nodes Most of the peripherals on LPC18xx/43xx devices have their reset lines hooked up to internal reset controller (RGU). Add reset entries to the device nodes so a driver can use the reset line. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit b8da65d1088e71466eb80181d307f2fb2b36eb58 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 18:15:37 2015 +0200 ARM: dts: lpc18xx: add sct pwm node NXP LPC SoCs family, which includes LPC18xx/LPC43xx, provides a State Configurable Timer (SCT) which can be configured as a Pulse Width Modulator. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 9c8a5cdcee682013c4e69b5354e4f4e3acf30487 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 18:11:41 2015 +0200 ARM: dts: lpc18xx: add watchdog node Add node for the watchdog timer found on LPC18xx/LPC43xx. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 06713a943253cfa47b6b76c39ead3c666a7b9119 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:20:45 2015 +0200 ARM: dts: lpc18xx: add i2c nodes Add NXP LPC1778 I2C controller nodes to the dtsi for all lpc18xx/43xx devices. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 4e9c5aa8dbe33e8816c686aa154015dcb44afbbf Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Sep 30 22:35:37 2015 +0200 ARM: dts: lpc18xx: add dma to uart0/1/2/3 Add dmas entries to the four UART peripherals on LPC18xx/43xx devices so that DMA can be used to transfer data. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit c5288091b07914d57dbc03f516b23eb337c34869 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Sep 30 22:29:29 2015 +0200 ARM: dts: lpc18xx: add dma to ssp0/1 Add dmas entries to the two SSP peripherals on LPC18xx/43xx devices so that DMA can be used to transfer data. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 494da07c0f20245b3af54e33e1d2cd91d386c412 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed May 20 17:05:06 2015 -0700 mtd: brcmnand: remove unnecessary fields from brcmnand_soc These really aren't needed, especially now that we embed the soc struct in our private struct, so we can stash things there if needed. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a86c947b25a57b2ff85132138d36ad75549b4cba Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed May 20 17:05:05 2015 -0700 mtd: brcmnand: refactor iProc SoC layering Removes an unnecessary allocation and saves a little bit of pointer chasing. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7af67226fb25fd68c9bf49adf7dd189dc2d58f87 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed May 20 17:05:04 2015 -0700 mtd: brcmnand: refactor bcm63138 SoC layering Removes an unnecessary allocation and saves a little bit of pointer chasing. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit dae0f305d61b07933a129dfe975342f3177277d5 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Sep 28 14:23:57 2015 +0200 x86/signal: Deinline get_sigframe, save 240 bytes This function compiles to 277 bytes of machine code and has 4 callsites. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443443037-22077-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c368ef2866adbfc0e90fdecc09e3b3fe2cddcd14 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Sep 28 14:23:56 2015 +0200 x86: Deinline early_console_register, save 403 bytes This function compiles to 60 bytes of machine code. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443443037-22077-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e6e5f84092b1f3a8733c20e26838af4e21a4854f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Sep 28 14:23:55 2015 +0200 x86/e820: Deinline e820_type_to_string, save 126 bytes This function compiles to 102 bytes of machine code. It has two callsites. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443443037-22077-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b7a2a1c0b67283442a06fcc679cba0683914f794 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Sun Sep 27 18:47:35 2015 +0200 spi: ath79: simplify iomem resource mapping Simplify the code by switching from devm_ioremap to devm_ioremap_resource. Checking the result of platform_get_resource is not needed as devm_ioremap_resource checks the provided resource argument for NULL. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca07e9f3cb929548feee8b16715983a4ed009eb6 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:30:27 2015 +0200 regmap: debugfs: simplify regmap_reg_ranges_read_file() slightly By printing the newline character to entry, we can avoid accounting for it manually in several places. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 20991cdb26ffc51030223320a6dd266f4fc28fbd Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:30:26 2015 +0200 regmap: debugfs: use memcpy instead of snprintf Since we know the length of entry and that there's room enough in the output buffer, using memcpy instead of snprintf is simpler and cheaper. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e34dc490713f8d9dfbbb5bb56d966d90a9344131 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:30:25 2015 +0200 regmap: debugfs: use snprintf return value in regmap_reg_ranges_read_file() Calling strlen() no less than three times on entry is silly. Since we're formatting into a buffer with plenty of room, there's no chance of truncation, so snprintf() has actually returned the value we want, meaning we don't even have to call strlen once. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 937804f3c706970f83ca5f58483e0ca14ef19d84 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Wed Sep 30 21:30:51 2015 +0200 HID: corsair: boolify struct k90_led.removed 'removed' field of struct k90_led is in its nature bool, let's use it that way. Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6f78193ee9ea5575180d4462f0f7273a22dd5057 Author: Clément Vuchener <clement.vuchener@xxxxxxxxx> Date: Wed Sep 30 15:14:20 2015 +0200 HID: corsair: Add Corsair Vengeance K90 driver This patch implements a HID driver for the Corsair Vengeance K90 keyboard. It fixes the behaviour of the keys using incorrect HID usage codes and exposes the macro playback mode and current profile to the user space through sysfs attributes. It also adds two LED class devices controlling the "record" LED and the backlight. Signed-off-by: Clément Vuchener <clement.vuchener@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 37aea98b84c0ce2ac638510fefeed9f8f920bd34 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 30 14:27:31 2015 -0400 tracing: Add trace options for tracer options to instances Add the tracer options to instances options directory as well. Only add the options for tracers that are allowed to be enabled by an instance. But note, that tracer options are global. That is, tracer options enabled in an instance, also take affect at the top level and in other instances. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 16270145ce6b90750bbe4f9365865f65037b2027 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 30 12:30:06 2015 -0400 tracing: Add trace options for core options to instances Allow instances to have their own options, at least for the core options (non tracer specific ones). There are a few global options that should not be added to instances, like enabling of trace_printk, and the sched comm recording, which do not have a specific trace instance associated to them. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2d34f48955158cfdf18704256c84b04fe3a16c7b Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 30 11:45:22 2015 -0400 tracing: Make ftrace_trace_stack() depend on general trace_array flag In preparation for the multi buffer instances to have their own trace_flags, the check in ftrace_trace_stack() needs to test the trace_array descriptor flag that is for the current event, not the global_trace descriptor. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 9a38a8856f41f90cc7e57798c544e3fe77033196 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 30 11:11:15 2015 -0400 tracing: Add a method to pass in trace_array descriptor to option files In preparation of having the multi buffer instances having their own trace option flags, the trace option files needs a way to not only pass in the flag they represent, but also the trace_array descriptor. A new field is added to the trace_array descriptor called trace_flags_index, which is a 32 byte character array representing a bit. This array is simply filled with the index of the array, where index_array[n] = n; Then the address of this array is passed to the file callbacks instead of the index of the flag index. Then to retrieve both the flag index and the trace_array descriptor: data is the passed in argument. index = *(unsigned char *)data; data -= index; /* Now data points to the address of the array in the trace_array */ tr = container_of(data, struct trace_array, trace_flags_index); Suggested-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 983f938ae69585213bbb779d841b90e75f93f545 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 30 09:42:05 2015 -0400 tracing: Move trace_flags from global to a trace_array field In preparation to make trace options per instance, the global trace_flags needs to be moved from being a global variable to a field within the trace instance trace_array structure. There's still more work to do, as there's some functions that use trace_flags without passing in a way to get to the current_trace array. For those, the global_trace is used directly (from trace.c). This includes setting and clearing the trace_flags. This means that when a new instance is created, it just gets the trace_flags of the global_trace and will not be able to modify them. Depending on the functions that have access to the trace_array, the flags of an instance may not affect parts of its trace, where the global_trace is used. These will be fixed in future changes. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 55577204154c7a95c6bce4cb185366d638b238b5 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 19:06:50 2015 -0400 tracing: Move sleep-time and graph-time options out of the core trace_flags The sleep-time and graph-time options are only for the function graph tracer and are not used by anything else. As tracer options are now visible when the tracer is not activated, its better to move the function graph specific tracer options into the function graph tracer. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 09907ca630047bbeaa96de0102df7a6cc3a966cd Merge: d786ad3 e02ae38 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Sep 30 21:20:39 2015 +0200 Merge branch 'x86/for-kvm' into x86/apic Pull in the apic change which is provided for kvm folks to pull into their tree. commit e02ae3871355194a61b03a07d96fd71e81d7eff9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 28 12:26:31 2015 +0200 x86/x2apic: Make stub functions available even if !CONFIG_X86_LOCAL_APIC Some CONFIG_X86_X2APIC functions, especially x2apic_enabled(), are not declared if !CONFIG_X86_LOCAL_APIC. However, the same stubs that work for !CONFIG_X86_X2APIC are okay even if there is no local APIC support at all. Avoid the introduction of #ifdefs by moving the x2apic declarations completely outside the CONFIG_X86_LOCAL_APIC block. (Unfortunately, diff generation messes up the actual change that this patch makes). There is no semantic change because CONFIG_X86_X2APIC depends on CONFIG_X86_LOCAL_APIC. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Feng Wu <feng.wu@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443435991-35750-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d786ad32c305ca0f6be1924558866fe9f901e291 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Sep 29 22:37:02 2015 +0200 x86/apic: Deinline various functions __x2apic_disable: 178 bytes, 3 calls __x2apic_enable: 117 bytes, 3 calls __smp_spurious_interrupt: 110 bytes, 2 calls __smp_error_interrupt: 208 bytes, 2 calls Reduces code size by about 850 bytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443559022-23793-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 26c21dd9885a2d8a4f4d539917c4877ffd399286 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Wed Sep 30 12:03:07 2015 +0200 irqchip/renesas-intc-irqpin: r8a7778 IRLM setup support Works the same as on r8a7779. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Link: http://lkml.kernel.org/r/1443607387-19147-1-git-send-email-geert+Brenesas@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit debb97248741597fa9f38f563f2b9a17250ee4c5 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 21:43:18 2015 +0200 ASoC: sun4i-codec: Remove redundant SND_PCM_RATE_KNOT The SND_PCM_RATE_KNOT covers all the rate settings, even though some that we don't support, while we also list all the rate we support. Simply remove it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 98a4b665bc91480cc4c054093a59249e153ac17e Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 21:43:17 2015 +0200 ASoC: sun4i-codec: pass through clk_set_rate error The current code, disregarding the clk_set_rate error code, was always returning -EINVAL. Fix that and return the code in order to have more clue about what's going on. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b6a02c0847f80968869bea57824f00fa395057a0 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 09:46:36 2015 +0200 mtd: nand: sunxi: rework macros Suffix mask macros with _MSK and add new helper macros to avoid manually shifting values. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c25c79b468a61ad8a54f764553056e2e2a427ea8 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Tue Sep 29 16:43:56 2015 +0100 ASoC: Add SOC_DOUBLE_R_EXT _EXT version of SOC_DOUBLE_R required to allow for custom handlers. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0c00a36d93ebeb7b62923d91075c26cf2f63e1bc Merge: 039353c e5a5d92 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Sep 30 11:12:14 2015 -0700 Merge MTD 4.3-rc updates into -next commit 039353c8f92ec22c8eb9ec3853b8289b8237bfc1 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Sep 30 09:54:26 2015 -0700 mtd: nand: vf610_nfc: include missing pincrl/consumer.h This must have been implicitly included on the builds I tested. Reported by numerous test bots: drivers/mtd/nand/vf610_nfc.c: In function 'vf610_nfc_resume': drivers/mtd/nand/vf610_nfc.c:660:2: error: implicit declaration of function 'pinctrl_pm_select_default_state' [-Werror=implicit-function-declaration] pinctrl_pm_select_default_state(dev); ^ Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> commit c05dc2cce7422a5c05db470572b22fcd855f8cd7 Author: Peter Rosin <peda@xxxxxxxxxx> Date: Wed Sep 23 16:26:23 2015 +0200 iio: mcp4531: Driver for Microchip digital potentiometers Add support for Microchip digital potentiometers and rheostats MCP4531, MCP4532, MCP4551, MCP4552 MCP4631, MCP4632, MCP4651, MCP4652 DEVICE Wipers Steps Resistor Opts (kOhm) i2c address MCP4531 1 129 5, 10, 50, 100 010111x MCP4532 1 129 5, 10, 50, 100 01011xx MCP4551 1 257 5, 10, 50, 100 010111x MCP4552 1 257 5, 10, 50, 100 01011xx MCP4631 2 129 5, 10, 50, 100 0101xxx MCP4632 2 129 5, 10, 50, 100 01011xx MCP4651 2 257 5, 10, 50, 100 0101xxx MCP4652 2 257 5, 10, 50, 100 01011xx Datasheet: http://www.microchip.com/downloads/en/DeviceDoc/22096b.pdf Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b15aef8d5b8e9edd325c86ba5c78deca66c5ccb6 Author: Peter Rosin <peda@xxxxxxxxxx> Date: Wed Sep 23 16:26:22 2015 +0200 iio: resistance: Document that resistance can be output Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 80cf2b5ca4e4c43222d7ac9ba606d21f3d3f4a2c Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Tue Sep 22 23:22:03 2015 -0700 iio: lidar: add missing MODULE_DEVICE_TABLE for dt The device tree compatible strings weren't properly registered for the pulsedlight-lidar-lite-v2 driver. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bf23cee62d5953927758ff6287d300dc945afc84 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Tue Sep 22 21:25:09 2015 -0700 iio: chemical: vz89x hardware i2c workaround Chipset sometime updates in the middle of a reading causing it to reset the data pointer, and causing invalid reading of previous data. We can check for this invalid state by reading MSB of the resistance reading that is always zero, and by also confirming the VOC_short isn't zero. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 83234554ef3a9549d83d08c9aafbe041c75d3a89 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Sep 25 11:45:10 2015 +0200 iio: dac: ad5504: leave sysfs naming to the core This shouldn't actually change anything since the core calls the events sysfs folder "events" anyways. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d2654817ea6502660d805cd999efea625c10823f Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Sep 25 11:52:11 2015 +0200 iio: adc: max1363: leave sysfs naming to the core This shouldn't actually change anything since the core calls the events sysfs folder "events" anyways. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 443f33e9581c3c98ef5e7ec2236b655a9afe1c1d Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Sep 25 11:54:01 2015 +0200 iio: adc: ad799x: leave sysfs naming to the core This shouldn't change anything since the core calls the events folder "events" anyways. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e38f898320b4a91d382036d1a34e8ae64cade1f6 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 25 22:53:02 2015 +0530 Staging: iio: cdc: Remove unnecessary dev_info Remove dev_info as the information can be obtained by other means Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 46d4503bc8c95010e83b03a48fa59344bf78daa3 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 25 22:53:01 2015 +0530 Staging: iio: cdc: Prefer using the BIT macro Replace bit shifting on 1 with the BIT(x) macro Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e5bae86797141e4a95e42d825f737cb36d7b8c37 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 12:18:03 2015 +0200 mtd: mtdpart: fix add_mtd_partitions error path If we fail to allocate a partition structure in the middle of the partition creation process, the already allocated partitions are never removed, which means they are still present in the partition list and their resources are never freed. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9b9acde7e887e057568cd077d9c3377d2cb9aa5b Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Tue Feb 11 19:34:25 2014 -0800 RDS: Use per-bucket rw lock for bind hash-table One global lock protecting hash-tables with 1024 buckets isn't efficient and it shows up in a massive systems with truck loads of RDS sockets serving multiple databases. The perf data clearly highlights the contention on the rw lock in these massive workloads. When the contention gets worse, the code gets into a state where it decides to back off on the lock. So while it has disabled interrupts, it sits and backs off on this lock get. This causes the system to become sluggish and eventually all sorts of bad things happen. The simple fix is to move the lock into the hash bucket and use per-bucket lock to improve the scalability. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 28126959882d3ec4745f2ec800f3a1d74368b2fe Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Fri Feb 3 11:08:50 2012 -0500 RDS: fix rds_sock reference bug while doing bind One need to take rds socket reference while using it and release it once done with it. rds_add_bind() code path does not do that so lets fix it. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 8b0a6b461e2ccc95363e0547aa4f43ba2e02b096 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Fri Feb 3 11:09:23 2012 -0500 RDS: make socket bind/release locking scheme simple and more efficient RDS bind and release locking scheme is very inefficient. It uses RCU for maintaining the bind hash-table which is great but it also needs to hold spinlock for [add/remove]_bound(). So overall usecase, the hash-table concurrent speedup doesn't pay off. In fact blocking nature of synchronize_rcu() makes the RDS socket shutdown too slow which hurts RDS performance since connection shutdown and re-connect happens quite often to maintain the RC part of the protocol. So we make the locking scheme simpler and more efficient by replacing spin_locks with reader/writer locks and getting rid off rcu for bind hash-table. In subsequent patch, we also covert the global lock with per-bucket lock to reduce the global lock contention. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 59fe4606748f7016e9e02bbd26da185f8620661a Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Fri Feb 3 11:09:23 2012 -0500 RDS: use kfree_rcu in rds_ib_remove_ipaddr synchronize_rcu() slowing down un-necessarily the socket shutdown path. It is used just kfree() the ip addresses in rds_ib_remove_ipaddr() which is perfect usecase for kfree_rcu(); So lets use that to gain some speedup. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 76305b1a68e196c4f76d15ec1897097bb7a7c641 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:18 2015 -0700 drm/i915: Calculate watermark configuration during atomic check (v2) v2: Don't forget to actually check the cstate->active value when tallying up the number of active CRTC's. (Ander) 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 a4611e444694869a9ccec69e4e640aee9b7dc58e Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:17 2015 -0700 drm/i915: Don't set plane visible during HW readout if CRTC is off We already ensure that pstate->visible = false when crtc->active = false during runtime programming; make sure we follow the same logic when reading out initial hardware state. 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 a28170f3389f4e42db95e595b0d86384a79de696 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:16 2015 -0700 drm/i915: Calculate ILK-style watermarks during atomic check (v3) Calculate pipe watermarks during atomic calculation phase, based on the contents of the atomic transaction's state structure. We still program the watermarks at the same time we did before, but the computation now happens much earlier. While this patch isn't too exciting by itself, it paves the way for future patches. The eventual goal (which will be realized in future patches in this series) is to calculate multiple sets up watermark values up front, and then program them at different times (pre- vs post-vblank) on the platforms that need a two-step watermark update. While we're at it, s/intel_compute_pipe_wm/ilk_compute_pipe_wm/ since this function only applies to ILK-style watermarks and we have a completely different function for SKL-style watermarks. Note that the original code had a memcmp() in ilk_update_wm() to avoid calling ilk_program_watermarks() if the watermarks hadn't changed. This memcmp vanishes here, which means we may do some unnecessary result generation and merging in cases where watermarks didn't change, but the lower-level function ilk_write_wm_values already makes sure that we don't actually try to program the watermark registers again. v2: Squash a few commits from the original series together; no longer leave pre-calculated wm's in a separate temporary structure since it's easier to follow the logic if we just cut over to using the pre-calculated values directly. v3: - Pass intel_crtc instead of drm_crtc to .compute_pipe_wm() entrypoint and use intel_atomic_get_crtc_state() to avoid need for extra casting. (Ander) - Drop unused intel_check_crtc() function prototype. (Ander) 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 de4a9f83395e8a709ffe463dff6d1c51945da352 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:15 2015 -0700 drm/i915: Calculate pipe watermarks into CRTC state (v3) A future patch will calculate these during the atomic 'check' phase rather than at WM programming time, so let's store the watermark values we're planning to use in the CRTC state; the values actually active on the hardware remains in intel_crtc. While we're at it, do some minor restructuring to keep ILK and SKL values in a union. v2: Don't move cxsr_allowed to state (Maarten) v3: Only calculate watermarks in state. Still keep active watermarks in intel_crtc itself. (Ville) 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 de165e0bccb4a8fe71debd5adb2f599609bcb8e0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 24 15:53:14 2015 -0700 drm/i915: Refactor ilk_update_wm (v3) Split ilk_update_wm() into two parts; one doing the programming and the other the calculations. v2: Fix typo in commit message v3 (by Matt): Heavily rebased for current codebase. Signed-off-by: Ville Syrjälä <ville.syrjala@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 47c99438b52d12df50e182583634a4cfede3c920 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:13 2015 -0700 drm/i915: Drop intel_update_sprite_watermarks The only platform that still has an update_sprite_wm entrypoint is SKL; on SKL, intel_update_sprite_watermarks just updates intel_plane->wm and then performs a regular watermark update. However intel_plane->wm is only used to update a couple fields in intel_wm_config, and those fields are never used by the SKL code, so on SKL an update_sprite_wm is effectively identical to an update_wm call. Since we're already ensuring that the regular intel_update_wm is called any time we'd try to call intel_update_sprite_watermarks, the whole call is redundant and can be dropped. 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 7809e5ae35b9d8d0710f0874b2e3f10be144e38b Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:12 2015 -0700 drm/i915/ivb: Move WaCxSRDisabledForSpriteScaling w/a to atomic check Determine whether we need to apply this workaround at atomic check time and just set a flag that will be used by the main watermark update routine. Moving this workaround into the atomic framework reduces ilk_update_sprite_wm() to just a standard watermark update, so drop it completely and just ensure that ilk_update_wm() is called whenever a sprite plane is updated in a way that would affect watermarks. 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 3a05f5e2e78eab7ffe816abb59b6769e331a1957 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:11 2015 -0700 drm/i915/skl: Eliminate usage of pipe_wm_parameters from SKL-style WM (v3) Just pull the info out of the state structures rather than staging it in an additional set of structures. To make this more straightforward, we change the signature of several internal WM functions to take the crtc state as a parameter. v2: - Don't forget to skip cursor planes on a loop in the DDB allocation function to match original behavior. (Ander) - Change a use of intel_crtc->active to cstate->active. They should be identical, but it's better to be consistent. (Ander) - Rework more function signatures to pass states rather than crtc for consistency. (Ander) v3: - Add missing "+ 1" to skl_wm_plane_id()'s 'overlay' case. (Maarten) - Packed formats should pass '0' to drm_format_plane_cpp(), not 1. (Maarten) - Drop unwanted WARN_ON() for disabled planes when calculating data rate for SKL. (Maarten) 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 4969d33ed91d51262691e0479faad16f57688146 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:10 2015 -0700 drm/i915/skl: Simplify wm structures slightly (v2) A bunch of SKL watermark-related structures have the cursor plane as a separate entry from the rest of the planes. Since a previous patch updated I915_MAX_PLANES such that those plane arrays now have a slot for the cursor, update the code to use the new slot in the existing plane arrays and kill off the cursor-specific structures. There shouldn't be any functional change here; this is just shuffling around how the data is stored in some of the data structures. The whole patch is generated with Coccinelle via the following semantic patch: @@ struct skl_pipe_wm_parameters WMP; @@ - WMP.cursor + WMP.plane[PLANE_CURSOR] @@ struct skl_pipe_wm_parameters *WMP; @@ - WMP->cursor + WMP->plane[PLANE_CURSOR] @@ @@ struct skl_pipe_wm_parameters { ... - struct intel_plane_wm_parameters cursor; ... }; @@ struct skl_ddb_allocation DDB; expression E; @@ - DDB.cursor[E] + DDB.plane[E][PLANE_CURSOR] @@ struct skl_ddb_allocation *DDB; expression E; @@ - DDB->cursor[E] + DDB->plane[E][PLANE_CURSOR] @@ @@ struct skl_ddb_allocation { ... - struct skl_ddb_entry cursor[I915_MAX_PIPES]; ... }; @@ struct skl_wm_values WMV; expression E1, E2; @@ ( - WMV.cursor[E1][E2] + WMV.plane[E1][PLANE_CURSOR][E2] | - WMV.cursor_trans[E1] + WMV.plane_trans[E1][PLANE_CURSOR] ) @@ struct skl_wm_values *WMV; expression E1, E2; @@ ( - WMV->cursor[E1][E2] + WMV->plane[E1][PLANE_CURSOR][E2] | - WMV->cursor_trans[E1] + WMV->plane_trans[E1][PLANE_CURSOR] ) @@ @@ struct skl_wm_values { ... - uint32_t cursor[I915_MAX_PIPES][8]; ... - uint32_t cursor_trans[I915_MAX_PIPES]; ... }; @@ struct skl_wm_level WML; @@ ( - WML.cursor_en + WML.plane_en[PLANE_CURSOR] | - WML.cursor_res_b + WML.plane_res_b[PLANE_CURSOR] | - WML.cursor_res_l + WML.plane_res_l[PLANE_CURSOR] ) @@ struct skl_wm_level *WML; @@ ( - WML->cursor_en + WML->plane_en[PLANE_CURSOR] | - WML->cursor_res_b + WML->plane_res_b[PLANE_CURSOR] | - WML->cursor_res_l + WML->plane_res_l[PLANE_CURSOR] ) @@ @@ struct skl_wm_level { ... - bool cursor_en; ... - uint16_t cursor_res_b; - uint8_t cursor_res_l; ... }; v2: Use a PLANE_CURSOR enum entry rather than making the code reference I915_MAX_PLANES or I915_MAX_PLANES+1, which was confusing. (Ander) 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 31409e97ef708ba52ddcb9a7b65b8b878ecc08f3 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:09 2015 -0700 drm/i915: Determine I915_MAX_PLANES from plane enum Let the compiler figure out what I915_MAX_PLANES is from 'enum plane' so that we don't need a separate #define. While we're at it, add the cursor plane to the enum. This will cause I915_MAX_PLANES to now include the cursor plane in its count (it didn't previously). This change is safe since we currently only use this value in array declarations (never in the actual code logic); we just wind up allocating slightly more memory than we need to. A followup patch will cause various parts of the code to start using the extra array element where appropriate. (This patch probably should have been squashed with the followup patch, but I couldn't figure out how to get Coccinelle to modify enum declarations...) Suggested-by: Ander Conselvan De Oliveira <conselvan2@xxxxxxxxx> 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 7221fc333dbe1743a3dff155b03527fda90d4ec1 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:08 2015 -0700 drm/i915: Eliminate usage of pipe_wm_parameters from ILK-style WM (v2) Just pull the info out of the CRTC state structure rather than staging it in an additional structure. Note that we use cstate->active rather than intel_crtc->active which may appear to be a change in behavior. However since we're no longer trying to recalculate watermarks during the "pipe off" stage of a modeset, intel_crtc->active and cstate->active should always be identical when watermarks are calculated (at least for ILK-style platforms). v2: Clarify reasoning for cstate->active and add a WARN_ON to the code to assert that it really is always identical to intel_crtc->active as expected. 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 43d59eda1f69631c267e06ab6b94ed3c14f1f6d1 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:07 2015 -0700 drm/i915: Eliminate usage of plane_wm_parameters from ILK-style WM code (v2) Just pull the info out of the plane state structure rather than staging it in an additional structure. v2: Add 'visible' condition to sprites_scaled so that we don't limit the WM level when the sprite isn't enabled. (Ville) Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by(v1): Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 37d9078b9b395185947784ba8d71c0980e5aacad Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:06 2015 -0700 drm/i915: Drop redundant watermark programming In commit 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 we added extra watermark updates to all of the .crtc_disable() entrypoints to avoid problems problems with system resume on SKL. Those disable entrypoints are currently called in just two places in the driver: intel_atomic_commit (i.e., during a modeset) and intel_crtc_disable_noatomic (which is called during hardware readout). It seems that this extra watermark recalculation should only be important in the latter case (which happens during a resume operation); the former case should always have appropriate watermark programming happening at other points in the modeset sequence. Let's move the watermark update out of the .crtc_disable() entrypoints and place it directly in intel_crtc_disable_noatomic() so that it only happens on S3 resume and not during a regular modeset (since the existing watermark handling should properly update watermarks during normal atomic commits). Cc: Patrik Jakobsson <patrik.jakobsson@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 d8135109e45d4cf352387b7de66c216a176e37f0 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Sep 29 16:28:46 2015 +0300 drm/i915/bxt: fix RC6 residency time calculation The RC6 residency time unit is 833.33ns on BXT according to the specification, so update the calculation accordingly. Use the same way as CHV/VLV to divide by the corresponding frequency, as I think this is the more natural unit for what the HW does internally. v2: - add missing IS_BROXTON check (Ville) Testcase: igt/pm_rc6_residency 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 93f253187c2f565678bd7e5ca5f64c1043774f1b Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Fri Sep 25 11:46:56 2015 -0700 drm/i915/guc: Media domain bit needed when notify GuC rc6 state GuC expects two bits for Render and Media domain separately when driver sends data via host2guc SAMPLE_FORCEWAKE. Bit 0 is for Render and bit 1 is for Media domain. v2: Keep sync with code for WaRsDoubleRc6WrlWithCoarsePowerGating v1: Add parameters definition to avoid magic value Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 36c0d0cf33ed31fada15caac34d50555b33208bb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:31 2015 +0300 drm/i915: s/_TRANSA_CHICKEN/TRANS_CHICKEN(PIPE_A)/ Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eede3b53e9b5f7587e876ae9575392f92932951a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:30 2015 +0300 drm/i915: s/_FDI_RXA_.../FDI_RX_...(PIPE_A)/ Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4a2fa2b8a861b095f6d495dc006e9d47df177594 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Wed Sep 30 13:02:05 2015 +0000 Bluetooth: hci_h5: clean up hci_h5 code This patch fixes checkpatch warnings: - Comparison to NULL could be re-written - no space required after a cast Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c668cde5a3b5a1326923f341885ce9660d15091e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 30 10:46:59 2015 +0200 drm/i915: Remove setparam ioctl This was only used for the ums+gem combo, so ripe for removal now that we only have kms code left. v2: Drop fence_reg_start since it's now unused, noticed by Ville. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44b7308871ac6fd85fc840bfa3ddb466fe7aff23 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:22 2015 +0900 ALSA: firewire-digi00x: add support for asynchronous messaging Digi 002/003 family uses asynchronous transaction for messaging. The address to transmit this message is stored on a certain register. This commit allocates a range of address on OHCI 1394 host controller to handle the messaging. As long as I know, the purpose of this message seems to notify lost of synchronization. While, the meaning of content of the message is not clear. Actual examples of this messaging: * When clock source is set as internal: - 0x00007051 - 0x00007052 - 0x00007054 - 0x00007057 - 0x00007058 * When clock source is set as somewhat external: - 0x00009000 - 0x00009010 - 0x00009020 - 0x00009021 - 0x00009022 The lost often occurs when using internal clock source. In this case, users hear sounds with quite short gap every several minutes. In fact, the lost is recovered temporarily. When using with external clock source, the lost seems not to occur. The mechanism is not clear yet. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 660dd3d52ead45b8e60dcf966daf304de2121a28 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:21 2015 +0900 ALSA: firewire-digi00x: add hwdep interface This commit adds hwdep interface so as the other sound drivers for units on IEEE 1394 bus have. This interface is designed for mixer/control applications. By using this interface, an application can get information about firewire node, can lock/unlock kernel streaming and can get notification at starting/stopping kernel streaming. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0120d0f1fe3bbf6c6a450056be56a70c409cf7a3 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:20 2015 +0900 ALSA: firewire-digi00x: add PCM functionality This commit adds PCM functionality to transmit/receive PCM samples. Any PCM substreams are jointed because incoming/outgoing AMDTP streams are bound. When one of PCM substream is running or external clock source is selected, current sampling rate is used. Else, the sampling rate is changed as an userspace application requests. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 927f17dc3a517128f07bbc1634fb25ce2587dc6f Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:19 2015 +0900 ALSA: firewire-digi00x: add proc node to show clock status This commit adds proc node to show current clock status for debugging. As long as testing Digi 002 rack, registers can show local clock rate, local clock source. When external clock input such as S/PDIF is connected, the registers show the detection and external clock rate. Additionally, the registers show the mode of optical digital input interface. Although, a tester with Digi 003 rack reports this makes no sense. Further investigation is required for Digi 003 series. Besides, in Digi 002 rack, the S/PDIF format must be IEC 60958-4, so-called professional. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3a2a17974eef10766ffbd7d3e9f5191fbb3c9f33 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:18 2015 +0900 ALSA: firewire-digi00x: add stream functionality This commit adds a functionality to manage streaming. The streaming is not controlled by CMP in IEC 61883-6. It's controlled by IEEE 1394 write transaction to certain addresses. Several clock sources are available, while there're no differences about packet transmission. The value of SYT field in transmitted packets is always zero. Thus, streams in both direction don't build synchronization. And the device always requires received packets to transmit packets. This driver keeps to transfer outgoing stream even if they're not required. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 163ae6f3f3f059ab44311792af5a73f70f747263 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:17 2015 +0900 ALSA: firewire-digi00x: add data block processing layer Digi 002/003 family uses its own format for data blocks. The format is quite similar to AM824 in IEC 61883-6, while there're some differences: * The Valid Bit Length (VBL) code is always 0x40 in Multi-bit Linear Audio (MBLA) data channel. * The first data channel includes MIDI messages, against IEC 61883-6 recommendation. * The Counter field is always zero in MIDI conformant data channel. * Sequence multiplexing in IEC 61883-6 is not applied to the MIDI conformant data channel. * PCM samples are scrambled in received AMDTP packets. We call the way as Double-Oh-Three (DOT). The algorithm was discovered by Robin Gareus and Damien Zammit in 2012. This commit adds data processing layer to satisfy these differences. There's a quirk about transmission mode for received packets. When this driver applies non-blocking mode to outgoing packets with isochronous channel 2 or more, after 15 to 20 seconds since playbacking, any PCM samples causes noisy sound on the device. With isochronous channel 0 or 1, this doesn't occur. As long as I investigated, this quirk is not observed when applying blocking mode to the received packets. This driver applies blocking mode to outgoing packets, while non-blocking mode to incoming packgets. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9edf723fd85822c7b7d8ef4f41a74c5a33eeca0c Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:16 2015 +0900 ALSA: firewire-digi00x: add skeleton for Digi 002/003 family This commit adds a new driver for Digidesign 002/003 family. This commit just creates/removes card instance according to bus event. More functions will be added in following commits. Digidesign 002/003 family consists of: * Agere FW802B for IEEE 1394 PHY layer * PDI 1394L40 for IEEE 1394 LINK layer and IEC 61883 interface * ALTERA ACEX EP1K50 for IEC 61883 layer and DSP controller * ADSP-21065L for signal processing [minor cleanup using skip_spaces() by tiwai] Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 239ede3c0213f152a1bab083af7d7bbb39e0d3d5 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Wed Sep 30 12:27:46 2015 +0000 Bluetooth: btuart_cs: remove obsolete header Use <linux/io.h> instead of <asm/io.h>, fixes checkpatch Warning; Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9c70d7cebfec558e07a2ab0f2d5f5a80a821ecf5 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Aug 13 18:54:31 2015 -0700 i40e: fix 32 bit build warnings Sparse found some issues with 32 bit compilation, which probably should at least work without warning. Not only that, but the code was wrong. Thanks sparse!! And thanks to the kbuild robot zero day testing for finding this issue. $ make ARCH=i386 M=drivers/net/ethernet/intel/i40e C=2 CF="-D__CHECK_ENDIAN__" CHECK drivers/net/ethernet/intel/i40e/i40e_main.c include/linux/etherdevice.h:79:32: warning: restricted __be16 degrades to integer drivers/net/ethernet/intel/i40e/i40e_main.c:7565:17: warning: shift too big (32) for type unsigned long drivers/net/ethernet/intel/i40e/i40e_main.c:7565:17: warning: shift too big (42) for type unsigned long drivers/net/ethernet/intel/i40e/i40e_main.c:7565:17: warning: shift too big (39) for type unsigned long drivers/net/ethernet/intel/i40e/i40e_main.c:7565:17: warning: shift too big (40) for type unsigned long CC: kbuild-all@xxxxxx Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e88ae667ecccf104311ec1a34536bd1e8a0fe6f7 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Aug 13 18:54:26 2015 -0700 i40e: fix kbuild warnings The 0day build infrastructure found some issues in i40e, this removes the warnings by adding a harmless cast to a dev_info. CC: kbuild-all@xxxxxx Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9b32b0b5dded7382c00595180bd5ce4f2f8c3d9b Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Aug 13 15:11:32 2015 -0700 i40evf: tweak init timing This patch tweaks the init timing of the driver just a little bit to increase stability on load/unload and SR-IOV enable/disable cycles. First, run the init_task loop a little quicker in order to reduce overall init time. Second, stagger the start of the init task based on the device's PCIe function ID. This lessens the impact on the firmware when a whole bunch of VFs are initialized simultaneously, e.g. enabling SR-IOV without the VF driver blacklisted. For single VFs assigned to VMs this will have no effect as the function ID will always be 0. 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 e908f81562b1367ac3ab3d156db3dcbbe07479f6 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Jul 23 16:54:42 2015 -0400 i40e: warn on double free Down was requesting queue disables, but then exited immediately without waiting for the queues to actually disable. This could allow any function called after i40evf_down to run immediately, including i40evf_up, and causes a memory leak. This issue has been fixed in a recent refactor of the reset code, but add a couple WARN_ONs in the slow path to help us recognize if we reintroduce this issue or if we missed any cases. Change-ID: I27b6b5c9a79c1892f0ba453129f116bc32647dd0 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> 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 7845548de7e4b49451f0eed77f690e579c428417 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Jul 23 16:54:41 2015 -0400 i40e: refactor interrupt enable The interrupt enable function was always making the caller add the base_vector from the VSI struct which is already passed to the function. Just collapse the math into the helper function. Change-ID: I54ef33aa7ceebc3231c3cc48f7b39fd0c3ff5806 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 3c95e0c5a6fa36406fe5ba9a2d85a11c1483bfd0 Merge: 02e6ef9 87f77ef Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 30 14:37:27 2015 +0200 Merge branch 'topic/drm-sync-audio-rate' into for-next commit 87f77eff710db012a994ee319b5627c26a7b2204 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 30 09:39:01 2015 +0200 drm/i915: Add missing const to audio_rate_need_prog() The lack of const leads to a compile warning after merging i915 upstream tree: drivers/gpu/drm/i915/intel_audio.c:147:13: note: expected 'struct drm_display_mode *' but argument is of type 'const struct drm_display_mode *' Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d1a8d275340470b89fa3a3f7c47433caf1286336 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Jul 23 16:54:40 2015 -0400 i40e: Strip VEB stats if they are disabled in HW Due to performance reasons, VEB stats have been disabled in the hw. This patch adds code to check for that condition before accumulating these stats. Change-ID: I7d805669476fedabb073790403703798ae5d878e 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 48a3b512e8c0703884dd1b3afd85a295ecd36b5f Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 23 16:54:39 2015 -0400 i40e/i40evf: add new device id 1588 Add new device id and support for another 20Gb device. Change-ID: Ib1b61e5bb6201d84953f97cade39a6e3369c2cf2 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 201991004da2c88e780ec58c93c960d0223c3687 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Thu Jul 23 16:54:38 2015 -0400 i40e: Remove useless message Remove a useless message that blathers on whenever a vxlan port is deleted. Change-ID: If63fb8cf38e56cf433b68e498f11389de51919ba 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 2ac8b675d9466b397f94aa1ead575d39b71b5055 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 23 16:54:37 2015 -0400 i40e: limit debugfs io ops Don't let the debugfs register read and write commands try to access outside of the ioremapped space. While we're at it, remove the use of a misleading constant. Change-ID: Ifce2893e232c65c7a76c23532c658f298218a81b 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 f7fc2f2eb11fe808df330df42a9429aa5b804388 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jul 23 16:54:36 2015 -0400 i40e: use QOS field consistently In i40e_ndo_set_vf_port_vlan, we were using the QOS value inconsistently, sometimes shifting it, sometimes not. Do the shift-and- or operation correctly, once, and use the result consistently everywhere in the function. Change-ID: I46f062f3edc90a8a017ecec9137f4d1ab0ab9e41 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 d8201e200a7474d391fd24ca811b0375e6694387 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Jul 23 16:54:35 2015 -0400 i40e: count drops in netstat interface The i40e rx_dropped counter was not showing up in netstat -i. Add the right counter to be updated with the stats. Change-ID: I4dd552e9995836099184f9d9a08e90edb591155f 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 0deda86836e489fe43a33e8d899319bd0ed985a4 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Jul 23 16:54:34 2015 -0400 i40e/i40evf: fix Tx hang workaround code The arm writeback (arm_wb) code is used for kicking the Tx ring to make sure any pending work is completed even if interrupts are disabled. It was running when it didn't need to, and not clearing the ring->arm_wb state after it was set. This caused Tx hangs to still occur occasionally when there really was no hang. Fix this by resetting the variable right after it was used. Change-ID: I7bf75d552ba9c4bd203d40615213861a24bb5594 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 17351401fec6df1e6032054cd3c2ea03ad917a92 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 23 16:54:32 2015 -0400 i40e: fixup padding issue in get_cee_dcb_cfg_v1_resp The struct i40e_aqc_get_cee_dcb_cfg_v1_resp was originally defined with word boundary layout issues, which most compilers deal with by silently adding padding, making the actual struct larger than designed. This patch adds an extra byte in fields reserved3 and reserved4 to directly acknowledge that padding. Because the struct doesn't actually change in size or layout, this doesn't constitute a change in the API. Change-ID: I53fa4741b73fa255621232a85fba000b0e223015 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 d9b68f8aba0ae3f9ab6c5dec4ae1052b7e26c53c Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Thu Jul 23 16:54:31 2015 -0400 i40e: Fix a port VLAN configuration bug If a port VLAN is set for a given virtual function (VF) before the VF driver is loaded then a configuration error results in which the port VLAN is ignored when the VF driver is subsequently loaded. This causes the VF's MAC/VLAN filters to not use the correct VLAN filter. This patch ensures that the port VLAN filter is considered at the right time during configuration of the VF's MAC/VLAN filters. Change-ID: I28f404cbc21a4c6d70a7980b87c77f13f06685a4 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 1fa89a4b3b0b646ee9cb04eb890a3398eae0dc85 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 23 16:54:30 2015 -0400 i40e/i40evf: fix up type clash in i40e_aq_rc_to_posix conversion The error code sent into i40e_aq_rc_to_posix() are signed values, so we really need to treat them as such. Change-ID: I3d1ae0ee9ae0b1b6f5fc424f8b8cc58b0ea93203 Reported-by: Helin Zhang <helin.zhang@xxxxxxxxx> 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 91bedd34abf0cd3f6276de642a145f75731acca5 Author: Å?ukasz Daniluk <lukasz.daniluk@xxxxxxxxx> Date: Fri Sep 25 11:54:58 2015 +0200 drm/i915/bdw: Check for slice, subslice and EU count for BDW Added checks for available slices, subslices and EUs for Broadwell. This information is filled in intel_device_info and is available to user with GET_PARAM. Added checks for enabled slices, subslices and EU for Broadwell. This information is based on available counts but takes power gated slices into account. It can be read in debugfs. Introduce new register defines that contain information on slices on Broadwell. v2: - Introduce GT_SLICE_INFO register - Change Broadwell sseu_device_status function to use GT_SLICE_INFO register instead of RPCS register - Undo removal of dev_priv variables in Cherryview and Gen9 sseu_device_satus functions v3: - Fix style issues v4: - Corrected comment - Reverted reordering of defines Cc: Jeff Mcgee <jeff.mcgee@xxxxxxxxx> Cc: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Å?ukasz Daniluk <lukasz.daniluk@xxxxxxxxx> Reviewed-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4c4935a964e29da61390122f0a5c9f36e8ae081d Author: Vasily Averin <vvs@xxxxxxxxxxxxx> Date: Wed Jul 8 15:04:26 2015 +0300 i40e: rtnl_lock called twice in i40e_pci_error_resume() Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f2a1c3680c1d9e2a1f9e68ce13f1130e587d28cf Author: Vasily Averin <vvs@xxxxxxxxxxxxx> Date: Tue Jul 7 18:53:38 2015 +0300 i40evf: missing rtnl_unlock in i40evf_resume() Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx> Tested-by: Andrews Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1c64f147d3cc9bbafe091a7b335ea3ec700186f0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 30 10:20:11 2015 +0200 ieee802154: 6lowpan: add tx/rx stats This patch adds support for increment transmit and receive stats. The meaning of these stats are IPv6 based, which shows the stats after running the 6lowpan adaptation layer (uncompression/compression, fragmentation handling) on receive and before the adaptation layer when transmit. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4bc8fbc95e0d831e5e3800ecc8a8d5acac79c9a8 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 30 10:20:10 2015 +0200 ieee802154: 6lowpan: don't skip first dsn while fragmentation This patch fixes the data frame sequence numer (dsn) while 6lowpan fragmentation for frag1. Currently we create one 802.15.4 header at first, then check if it's match into one frame and at the end construct many fragments and calling wpan_dev_hard_header for each of them, inclusive for the first fragment. This will make the first generated header to garbage, instead we copying this header for frag1 instead of generate a new one which skips one dsn. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72d53b116264d5e570f610b3971dae4721aa5c0f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 30 10:20:09 2015 +0200 ieee802154: 6lowpan: change datagram var types This patch changes datagram size variable from u16 type to unsigned int. The reason is that an IPv6 header has an MAX_UIN16 payload length, but the datagram size is payload + IPv6 header length. This avoids overflows at some places. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5f2ebb3b59c81a461ffd4921d12e9f6e09c32945 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 19:59:48 2015 +0200 mac802154: check on len instead mac_len This patch change the length check to len instead of mac_len for checking if the frame control field is available to dereference. We need to change it because I saw issues with af_packet raw sockets and the mrf24j40 which calls this functionality. The raw socket functionality doesn't set the mac_len but resets the skb_mac_header to skb->data which is still correct. The issue occur at mrf24j40 only, because the driver need to evaluate the fc fields. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b40988c438c2405a177ae54ff4baa08c720c296f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 12:36:26 2015 +0200 ieee802154: change mtu size behaviour This patch changes the mtu size of 802.15.4 interfaces. The current setting is the meaning of the maximum transport unit with mac header, which is 127 bytes according 802.15.4. The linux meaning of the mtu size field is the maximum payload of a mac frame. Like in ethernet, which is 1500 bytes. We have dynamic length of mac frames in 802.15.4, this is why we assume the minimum header length which is hard_header_len. This contains fc and sequence fields. These can evaluated by driver layer without additional checks. We currently don't support to set the FCS from userspace, so we need to subtract this from mtu size as well. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d58a2fa903c18f97aac30cd3c4c8a378a2c647c4 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 09:00:26 2015 +0200 mac802154: add comments for llsec issues While doing a little test with the llsec implementation I saw these issues. We should move decryption and encruption somewhere else, otherwise while capturing with wireshark the mac header shows secuirty fields but the payload is plaintext. A complete other issue is what doing with HardMAC drivers where the payload is always plaintext. I think we need a special handling then in userspace. We currently doesn't support any HardMAC transceivers, so we should fix the first issue for SoftMAC transceivers. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a26c5fd7622d4951425131d54a8c99f076fe2068 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 09:00:25 2015 +0200 nl802154: add support for security layer This patch adds support for accessing mac802154 llsec implementation over nl802154. I added for a new Kconfig entry to provide this functionality CONFIG_IEEE802154_NL802154_EXPERIMENTAL. This interface is still in development. It provides to change security parameters and add/del/dump entries of security tables. Later we can add also a get to get an entry by unique identifier. Cc: Phoebe Buckheister <phoebe.buckheister@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1ee06ef1596dcc5858ea29ef9faf0f29e139dfcc Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 09:00:24 2015 +0200 nl802154: use nla_get_le64 for get extended addr This patch uses the nla_get_le64 function instead of doing a force converting to le64. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c648a0138b8f79b6cb4bd092dfab761e4becb1c2 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 09:00:23 2015 +0200 netlink: add nla_get for le32 and le64 This patch adds missing inline wrappers for nla_get_le32 and nla_get_le64. The 802.15.4 MAC byteorder is little endian and we keep the byteorder for fields like address configuration in the same byteorder as it comes from the MAC layer. To provide these fields for nl802154 userspace applications, we need these inline wrappers for netlink. Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5b62408ffe42ffce28e94bc5e7a6dec45e6456ee Author: Ronit Halder <ronit.crj@xxxxxxxxx> Date: Wed Sep 30 11:39:45 2015 +0530 staging: dgap: fix memory leak in dgap_parsefile() In dgap_parsefile() char pointers are set with kstrdup() without checking that some string is allocated to that char pointer before. This patch frees the memory if already allocated and then set the poniter with kstrdup(). Signed-off-by: Ronit halder <ronit.crj@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4221c5958796174a5ea13043075816b199a60d09 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:59 2015 +0300 staging: sm750fb: remove unused enable{ZVPort,SSP,PWM} functions The functions that enable/disable power for some sub-devices are not used and therefore they can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 228a4cf8e7e5553d9da06916dd01dd0b17cc1a8f Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:58 2015 +0300 staging: sm750fb: staticize getPowerMode function The getPowerMode function is not used outside ddk750_power, make it static. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6af70030431d5d58b34c294ddb371baf7f6c9d4b Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:57 2015 +0300 staging: sm750fb: remove unused macros Several macros defined in sm750.h and sm750_help.h are not used and therefore they can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86b5f4ed3525645dac9fa8a5eedcd5af7118c591 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:56 2015 +0300 staging: sm750fb: remove unused ddk750_initDVIDisp function The ddk750_initDVIDisp function is never used and therefore it can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55a6cf5d4b211a8d1c13264ab1ed5fc7e09fdfdd Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:55 2015 +0300 staging: sm750fb: remove unused calcPllValue2 function The calcPllValue2 function is never called and therefore it can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb6f37a8c842542093a2409792e8ef0f13411684 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:54 2015 +0300 staging: sm750fb: staticize local functions in ddk750_chip Several functions in ddk750_chip are not used elsewhere, let's make them static. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de992acb93df41fd6cd0ea975ae192363033694a Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Sep 30 14:57:57 2015 +0900 extcon: gpio: Use descriptor-based GPIO interface instead of legacy gpio_* API This patch uses the descriptor-based GPIO interface (gpiod_* API) instead of legacy gpio_* API and add the internal gpio_extcon_init() to handle all gpio-related tasks. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 6ba129974a3d6bcb236cbd96aa1db6001d163678 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Sep 29 22:59:55 2015 +0900 extcon: gpio: Fix minor coding style and remove the unused fields. This patch fixes the minor coding style about indentation and removes the unused fields from struct gpio_extcon_platform_data. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit ce6f7496050e29108bcefe0413df1789648fb38f Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Sep 29 22:57:24 2015 +0900 extcon: gpio: Add the missing supported_cable parameter to devm_extcon_dev_allocate() The commit 2a9de9c0 ("extcon: Use the unique id for external connector instead of string") defines the unique id of each external connector to identify the type of external connector instead of string name. So, devm_extcon_dev_allocate() should include the second parameter (unsigned int *supported_cable). This patch adds the supported_cable parameter which is passed by platform data. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 60f9b9e65c82cc610cc9c02c1f555df8fb2ce4f0 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Sep 29 20:53:12 2015 +0900 extcon: gpio: Remove duplicate data from struct gpio_extcon_data There are duplicate data between struct gpio_extcon_data and struct gpio_extcon_platform_data. This patch removes them from struct gpio_extcon_data. Instead, this patch add pdata field to struct gpio_extcon_data. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit ae59f3a21fbe4b9ef3a9a09deabd2b0afb80942d Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Sep 25 22:40:51 2015 +0900 extcon: gpio: Use resource managed function for request_irq This patch uses the resource managed function for registering interrupt. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 0c9fc33cec319d8df632ac107bdba77a9b44bb37 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 30 17:52:14 2015 +0900 staging: wilc1000: fix build error for openrisc-allmodconfig The kbuild test robot reports the following build error for openrisc-allmodconfig. >> drivers/staging/wilc1000/wilc_sdio.c:584:2: error: implicit >> declaration of function 'memset' The error occurs due to missing a standard header file as <linux/string.h> so that three .c files are included it. Reported-by: kbuild test robot <lkp@xxxxxxxxx> Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9844b2cafd7b78486400f9b6cf3188e9a527312 Author: Chanwoo Choi <cwchoi00@xxxxxxxxx> Date: Tue Sep 29 19:06:31 2015 +0900 extcon: arizona: Reorder the default statement to remove unnecessary warning This patch reorders the default statement to remove unnecessary warning message when info->hpdet_ip_version is higher than 2. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit 82c05810b2ef6149368b0b2db205c24a832547ad Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Mon Aug 24 16:23:00 2015 +0200 ARM: DT: STi: STiH418: Fix mmc0 clock configuration This patch configure correctly the MMC-0 clock for STiH418 platform. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 2bb1441f97ac9765e8d558a1ee726a21e1df5fbe Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Sep 29 10:52:00 2015 +0200 ARM: STi: DT: STiH407: Rename incorrect interrupt related binding interrupts-names => interrupt-names Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 0731c65aceb2ac9b1d3bc64a057d6b0f0daae80d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:31 2015 +0200 drm: Remove dummy agp ioctl wrappers They're only used in the drm ioctl table, and there they're excluded when AGP support is disabled. So this is just dead code ripe for removal. Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 87698c8aa77ce58c41a09b72a0c35fdbc9949025 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:29 2015 +0200 drm/vmwgfx: Stop checking for DRM_UNLOCKED drm core enforces now for DRIVER_MODESET that all ioctls are unlocked. And all the old nasty ones from drm core aren't allowed for modern drivers any more. Hence this is no longer needed. Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 0aaf20cff6dc1b89ec9d63cb004803cf4c0efae7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:27 2015 +0200 drm/drm_ioctl.c: kerneldoc As usual pull it into the drm docbook template, too. And again as usual I've decided to only document stuff exported to drivers, so all the old leftover markup from the shared drm repo days lost the magic ** signature. Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4b63539bb2f604b26ef4951c5c14828d24a7ce6c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:26 2015 +0200 drm: Define a drm_invalid_op ioctl implementation And use it in radeon to replace all the ioctls no longer valid in kms mode. I plan to also use this later on when nuking the ums support for i915. Note that setting the function pointer in the ioctl table to NULL would amount to the same, but that results in some debug output from the drm_ioctl() function. I've figured it's cleaner to have a special-purpose function. Cc: Alex Deucher <alexdeucher@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a7fb8a23c1afa607ec8ce9f61df645f37c529434 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 9 16:45:52 2015 +0200 drm: Remove __OS_HAS_AGP We already express the drm/agp depencies correctly in Kconfig, so we can rip this remnant from the shared drm core days. Aside: Pretty much all the #ifdefs in radeon/nouveau could be killed if ttm would provide dummy functions. I'm not going to volunteer for that though. v2: Use IS_ENABLED(CONFIG_AGP) as suggested by Ville v3: Polish from Ville's review. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> (v2) Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 76b1cf211cbe120a2d6c46403abc97d4376c619e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:25 2015 +0200 drm: i915: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b9f9108cad3998a4c8fd26051c37a451f1dff1f1 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 18:21:35 2015 -0400 tracing: Remove access to trace_flags in trace_printk.c In the effort to move the global trace_flags to the tracing instances, the direct access to trace_flags must be removed from trace_printk.c Instead, add a new trace_printk_enabled boolean that is set by a new access function trace_printk_control(), that will enable or disable trace_printk. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit b5e87c0581319481399b6d8e8d6972b5523c18e6 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 18:13:33 2015 -0400 tracing: Add build bug if we have more trace_flags than bits Add a enum that denotes the last bit of the trace_flags and have a BUILD_BUG_ON(last_bit > 32). If we add more bits than we have in trace_flags, the kernel wont build. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 41d9c0beccbb92397bea8b04a6afd1253c064a1a Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 17:31:55 2015 -0400 tracing: Always show all tracer options in the options directory There are options that are unique to a specific tracer (like function and function graph). Currently, these options are only visible in the options directory when the tracer is enabled. This has been a pain, especially for something like the func_stack_trace option that if used inappropriately, could bring the system to a crawl. But the only way to see it, is to enable the function tracer. For example, if one had done: # cd /sys/kernel/tracing # echo __schedule > set_ftrace_filter # echo 1 > options/func_stack_trace # echo function > current_tracer The __schedule call will be traced and a stack trace will also be recorded there. Now when you were done, you may do... # echo nop > current_tracer # echo > set_ftrace_filter But you forgot to disable the func_stack_trace. The only way to disable it is to re-enable function tracing first. If you do not add a filter to set_ftrace_filter and just do: # echo function > current_tracer Now you would be performing a stack trace on *every* function! On some systems, that causes a live lock. Others may take a few minutes to fix your mistake. Having the func_stack_trace option visible allows you to check it and disable it before enabling the funtion tracer. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f409ed0f4915c00e93ca21d1aea24e9aa2dedaf2 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 13 01:32:12 2015 +0300 ARM: shmobile: silk: enable internal PCI Enable internal AHB-PCI bridges for the USB EHCI/OHCI controllers attached to them. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a6a130b34f84b51ecce711c266d434c02a6b53fe Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 13 01:30:05 2015 +0300 ARM: shmobile: r8a7794: add internal PCI bridge nodes Add device nodes for the R8A7794 internal PCI bridge devices. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5507faeb03f87f952373314b21741548421a6944 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Mon Sep 14 14:03:48 2015 +0300 drm/i915: make backlight hooks connector specific Previously we've relied on having basically one backlight and one backlight type per platform. This is already a bit quirky with PMIC PWM support on VLV/CHV platforms with MIPI DSI. In the foreseeable future we'll have at least DPCD based backlight control on eDP and DCS command based backlight control on MIPI DSI. Backlight is becoming more and more connector specific, so reflect this fact by making the backlight control hooks connector specific. This enables further work to reuse generic backlight code in intel_panel.c while adding more specific backlight code accessed via the hooks. Cc: Deepak M <m.deepak@xxxxxxxxx> Cc: Yetunde Adebisi <yetundex.adebisi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Deepak M <m.deepak@xxxxxxxxx> Reviewed-by: Yetunde Adebisi <yetundex.adebisi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8cd21b7f28ed1f12059935512edaaadf1deaeb67 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Sep 29 10:24:26 2015 +0300 drm/i915/ddi: use switch case instead of if ladder for ddi_get_encoder_port Make the alternatives stand out better. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 85b98a4c30c60272b2830d9acc43121eb2988bd2 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Sep 29 10:24:25 2015 +0300 drm/i915/ddi: warn instead of oops on invalid ddi encoder type It's more useful to limp on than bring the kernel down. Hitting this is a more likely event with BXT DSI, although care should be taken not to call the function for DSI. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7bad74d57c81b08218cc564af3a78427e12bf3ac Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 24 23:29:20 2015 +0300 drm/i915: Use czclk_freq in vlv c0 residency calculations Replace the use of mem_freq/4 with czclk_freq in the vlv c0 residency calculations. Also deal with VLV_COUNT_RANGE_HIGH which affects all RCx residency counters. We have just enough bits to do this without intermediate divisions. 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 2cc9fab180e8add4159ed1fc874131f984d0bcb1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:43 2015 +0300 drm/i915: Simplify vlv/chv rc6 residency calculation We have the czclk frequency in dev_priv now, so let's just use it when converting the rc6 counters to milliseconds. This eliminates a bunch of hairy code that essentially tries to extract the czclk frequency using yet another method. v2: Fix typos in commit message (Imre) Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bfa7df01a092e92ae764d39fee07fc3f486ed6a9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 24 23:29:18 2015 +0300 drm/i915: Read czclk from CCK on vlv/chv As with the cdclk, read out czclk from CCK as well. This gives us the real current value and avoids having to decode fuses and whatnot. Also store it in kHz under dev_priv like we do for cdlck since it's not just an rps related clock, and having it in kHz is more standard/convenient for some things. Imre also pointed out that we currently fail to read czclk on VLV, which means the PFI credit programming isn't working as expected. 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 87d5d2593299cb8814e5f26c676aef3557650eea Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Thu Sep 24 23:29:17 2015 +0300 drm/i915: Renaming CCK related reg definitions Rename the DISPLAY_TRUNK_* and DISPLAY_FREQUENCY_* bits to CCK_... instead of DISPLAY_... to make it clear they apply to all CCK clock control registers. Suggested by Ville. Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2d05fa16fefb9922e021e0b7db4a0c515558f103 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 23:08:50 2015 +0200 drm/i915: Fix comparison bug ->stolen->start has type u64 aka unsigned long long; relying on the difference (effectively cast to int) for sorting is wrong. It wouldn't be a problem in practice if the values compared are always within INT_MAX of each other (so that the difference is actually representable in an int), but 440fd5283a87 ("drm/mm: Support 4 GiB and larger ranges") strongly suggests that's not the case. Note: atm we don't support more than about 1G of stolen, so this is impossible currenlty. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> [danvet: Add note that this is impossible currently.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 120f5d28714b5c401179a1fd6010c86b13d912ff Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:46 2015 +0100 drm/i915/gen8: Move WaHdcDisableFetchWhenMasked to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a340af58730e892ccb507f7a70054f7909b28d49 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:45 2015 +0100 drm/i915/gen8: Move WaForceEnableNonCoherent to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7eebcde6e526a53e06d238f6daf788df3c8e7620 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:44 2015 +0100 drm/i915/gen8: Move GEN7_GT_MODE WA to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 484046362fcee7ad0c67e1c10c4c346fb14cf420 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:43 2015 +0100 drm/i915/gen8: Move Wa4x4STCOptimizationDisable to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6def8fdd5d9528db7fb6dfebd994491f6ba45785 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:42 2015 +0100 drm/i915/gen8: Move HiZ RAW stall optimization disable WA to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d0581194566eb9744fa657812b2693556392451b Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:40 2015 +0100 drm/i915/gen8: Move WaDisablePartialInstShootdown to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 717d84d67e3a95f440c37c7482681b3535fdc7e2 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:39 2015 +0100 drm/i915/gen8: Move WaDisableAsyncFlipPerfMode to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 68c6198b33d22af5ac1649554f6b8982ea587a72 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:38 2015 +0100 drm/i915/gen8: Move INSTPM WA to common function Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e9a64adaec93ce5dfcdee44bbd89c90b4d997f6f Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:37 2015 +0100 drm/i915/gen8: Add gen8_init_workarounds for common WA WA in this function should be ordered based on register address. The following order is suggested (Ville), instpm mi_mode row chicken half slice chicken common slice chicken hdc chicken cache_mode_0 cache_mode_1 gt_mode Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 010e9f5fad88bce83dc21a864540fcbf6d17e9b3 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:44 2015 +0100 drm/i915/skl: Remove WaDisableVFUnitClockGating Dropping it because it is for pre-production stepping, also removed bit definition in i915_reg.h as it is not used anywhere else. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Keep #define as Ville suggested.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7019f0a7a68258ba05e6e5b17ef49ec547610a33 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:43 2015 +0100 drm/i915/skl: Remove WaSetGAPSunitClckGateDisable Dropping it because it is for pre-production stepping, also removed bit definition in i915_reg as it is not used anywhere else. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Keep define as Ville suggested.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 68fc2b76a16c4dd6c768c838f91d956475e1b3df Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:42 2015 +0100 drm/i915/skl: Remove WaDisableSDEUnitClockGating Dropping it because it is for pre-production stepping. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa66c506f1c40af4fbb383ac35069b7baca7642c Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:40 2015 +0100 drm/i915/bxt: Add WaStoreMultiplePTEenable name Updated WA with the name. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 60294683d4becb011f5e181062fd5214cf3690bd Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:37 2015 +0100 drm/i915/gen9: Merge two WA as they part of same register Merge Wa4x4STCOptimizationDisable and WaDisablePartialResolveInVc to save an entry in WA array. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa0011a896bc1d9aa35a1ed12da63dca92e7b3f1 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:35 2015 +0100 drm/i915/gen9: Handle error returned by gen9_init_workarounds Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1170f28c0f7a450e1cb7f31ed2968e8be751b4fc Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Fri Sep 25 14:00:32 2015 +0300 drm/i915: Add CD and pixel clock information This patch adds information of current and maximum CD clock frequency and pixel clock frequency information on 'i915_debugfs.c'. v2: - combined seperate patches for current CD clock, maximum CD clock and maximum pixel clock - space added between the frequency value and the unit 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 77179400cdf61f189fecb379e23347027b9ea68d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:35 2015 +0300 drm/i915: s/DDI_BUF_CTL_A/DDI_BUF_CTL(PORT_A)/ Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e66eb81de2ff8228cc888946f2c1e307d5b19373 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:34 2015 +0300 drm/i915: Add VLV_HDMIB etc. which already include VLV_DISPLAY_BASE Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0b87c24ea5ec9e950aaa0c933fa739a95aa43555 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 22 19:47:51 2015 +0300 drm/i915: s/_CURACNTR/CURCNTR(PIPE_A)/ v2: Deal with _CURABASE too Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f65a9c5bd7287b4e545b07a3551a1b05c1468349 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:28 2015 +0300 drm/i915: Parametrize PALETTE and LGC_PALETTE Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c039b7f2bf2e872b7b85d089ecf2f3cef215952e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:27 2015 +0300 drm/i915: Include MCHBAR_MIRROR_BASE in ILK_GDSR Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d3a93cbe47bfb49de2d517d68c7082cef176dbb9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:26 2015 +0300 drm/i915: Always use GEN8_RING_PDP_{LDW, UDW} instead of hand rolling the register offsets Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7e435ad2c263cf3fd51343b0754856f2d88b0cdb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:25 2015 +0300 drm/i915: Add LO/HI PRIVATE_PAT registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab9cc558a3d793b8643846940f16faa440f7d32b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:24 2015 +0300 drm/i915: Parametrize UOS_RSA_SCRATCH Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7949dd47ba58e0fb7effd4651afa4468ba240460 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 25 16:39:30 2015 +0300 drm/i915: Add HDMI aspect ratio property for SDVO Handle the HDMI aspect ratio property the same way in the SDVO code as we handle it in the HDMI code. v2: Remove stray whitespace change Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7c5f93b05efc72feb206348da00a0a77e631a3c2 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 13:40:49 2015 +0300 drm/i915: Constify adjusted_mode Make adjusted_mode const whereever we don't have to modify it. This only covers cases when we have a local adjusted_mode variable, and doesn't make any difference for cases where we just dereference pipe_config->adjusted_mode. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 28b468a008888928ce59bc2528713b913be60baa Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 13:40:48 2015 +0300 drm/i915: Move HDMI aspect ratio setup to .compute_config() We shouldn't frob adjusted_mode after .compute_config(), so move the infoframe aspect ratio setup to .compute_config() from intel_hdmi_set_avi_infoframe(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aad941d53f7aa2b642a798e6b3de520c19ba2e46 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 25 16:38:56 2015 +0300 drm/i915: Always use crtc_ timings when dealing with adjustead_mode The adjustead_mode crtc_ timings are what we will program into the hardware, so it's those timings we should be looking practically everywhere. The normal and crtc_ timings should differ only when stere doubling is used. In that case the normal timings are the orignal non-doubled timigns, and crtc_ timings are the doubled timings used by the hardware. The only case where we continue to look at the normal timings is when we pass the adjusted_mode to drm_match_{cea,hdmi}_mode() to find the VIC. drm_edid keeps the modes aronund in the non-double form only, so it needs the non-double timings to match against. Done with sed 's/adjusted_mode->\([vhVH]\)/adjusted_mode->crtc_\1/g' 's/adjusted_mode->clock/adjusted_mode->crtc_clock/g' with a manual s/VDisplay/vdisplay/ within the comment in intel_dvo.c v2: Update due to intel_dsi.c changes Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5e7234c9ccf88c427448fbe147839b4dca82efde Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 25 16:37:43 2015 +0300 drm/i915: s/mode/adjusted_mode/ in functions that really get passed the adjusted_mode Rename the function argument to 'adjusted_mode' whenever the function only ever gets passed the adjusted_mode. v2: Update due to intel_dsi.c changes Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3c5f174e383d6eddd9190637cebd005174287996 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Sep 23 12:52:24 2015 -0300 drm/i915: export size_is_valid() from __intel_fbc_update() Make the giant function a little less giant. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add pipe_ prefix as suggested by Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9f218336bd44719c64a6e7df142b101304452692 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Sep 23 12:52:27 2015 -0300 drm/i915: extract fbc_supported() Make it clear that we're checking whether FBC is supported or not. The fact that the vfunc is not NULL is just a consequence. Another name option would have been fbc_initialized(). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1ca36d4cb3436bd783f8688b563830341a8d9150 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Sep 23 12:52:22 2015 -0300 drm/i915: don't use the first stolen page on Broadwell The spec says we just can't use it. v2: - Add WA name (Ville). - Add a big comment explaining that we still didn't fix the problem where we inherit a framebuffer on the first page (Chris, Ville). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b26d3ea323b41a56db74f46131bc89e3c485f365 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 23 16:11:41 2015 +0200 drm/i915: Add primary plane to mask if it's visible This fixes the warnings like "plane A assertion failure, should be disabled but not" that on the initial modeset during boot. This can happen if the primary plane is enabled by the firmware, but inheriting it fails because the DMAR is active or for other reasons. Most likely caused by commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:54 2015 +0200 drm/i915: update plane state during init This is the 4.4 version of commit 721a09f7393de6c28a07516dccd654c6e995944a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Sep 15 14:28:54 2015 +0200 drm/i915: Add primary plane to mask if it's visible Reported-by: Andreas Reis <andreas.reis@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91429 Reported-and-tested-by: Emil Renner Berthing <kernel@xxxxxxxx> Tested-by: Andreas Reis <andreas.reis@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eecf613a432c663d206a11c2543e9cca2ddc3aba Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 21 18:05:14 2015 +0300 drm/i915: Parametrize fence registers v2: Hide the 945 vs. rest of gen2/3 difference in the macro Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9c58a049566566a8dc5aa1874ddfb3d32f954260 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Sep 24 10:22:54 2015 +0530 drm/i915/bxt: Set oscaledcompmethod to enable scale value Bspec update tells that we have to enable oscaledcompmethod instead of ouniqetrangenmethod for enabling scale value during swing programming. v2: Adding back 'don't care' values to bxt_ddi_translations_dp and add error message if ouniquetrangemethod was set (Imre) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx>(v1) Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d9d7000d5a4dfda6aa54907b96cfa490f4140aa9 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Sep 24 10:24:56 2015 +0530 drm/i915/bxt: eDP low vswing support Adding voltage swing table for edp to support low vswings. v2: Rebased. Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 165ed87c47ae7dd0deab53d552a29d7985569c28 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 14:37:17 2015 -0700 drm/i915: fixup runtime PM handling v2 According to the PCI docs and Rafael, we don't need to be doing explicit enables and disables in our init and teardown routines, as they're taken care of by the PCI core. So drop the pm_runtime_disable() at teardown and pm_runtime_set_active() at init. This fixes one failure of the basic-pci-d3-state test on my BYT. v2: drop extra get_noresume() and put_noidle() (Rafael) Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Acked-by: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d44d3fa2b9089b0039118351773d465204ad581 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Tue Sep 22 13:48:40 2015 -0700 drm/i915/guc: Fix a bug in GuC status check Bit 16 of GuC status indicates resuming from RC6. The LAPIC_DONE status is a reliable readiness flag only when resuming from RC6. This fix a racing issue that allocation of doorbell fails whilst GuC init is not finished. Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 124abe076fd8b360dd7c651046cb8b204268efeb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 13:40:45 2015 +0300 drm/i915: Always call the adjusted mode 'adjusted_mode' Always name any variable pointing at the adjusted mode as 'adjustead_mode'. This will make it much easier to identify when we should use the crtc_ timings and when we shoudln't. Conversion was performed with coccinelle: @@ expression E; identifier I; @@ - struct drm_display_mode *I = &E.adjusted_mode; + struct drm_display_mode *adjusted_mode = &E.adjusted_mode; <... - I + adjusted_mode ...> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> [danvet: Fixup conflicts.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 28694070d849c98290288734ef67a3ef484425ec Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 13:40:44 2015 +0300 drm/i915: Use intel_panel for DVO fixed mode handling Replace intel_dvo->panel_fixed_mode with the appropriate intel_panel stuff. Now all connectors that have a fixed mode use intel_panel. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 08aef7caa14f1c0b7c5d79d61d279bcedc188ab9 Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Wed Aug 26 01:36:09 2015 +0530 drm/i915/skl: Block disable call for pw1 if dmc firmware is present. Another interesting criteria to work dmc as expected is pw1 to be enabled by driver and dmc will shut it off in its execution sequence. If already disabled by driver dmc will get confuse and behave differently than expected found during pc10 entry issue for skl. So berfore we disable power-well 1, added check if dmc firmware is present and driver will not disable power well 1, but for any reason if firmware is not present of failed to load we can shut off the power well 1 which will save some power. As skl is currently fully dependent on dmc to go in lowest possible power state (dc6) but the same is not applicable for bxt. Display engine can enter into dc9 without dmc, hence unblocking disable call. v1: Initial version. v2: Rebased as per current patch series. 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> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4e961e426cdeb5c9f27d65fb0afb0010fcecfeae Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Wed Aug 26 01:36:08 2015 +0530 drm/i915/skl: Do not disable cdclk PLL if csr firmware is present While display engine entering into low power state no need to disable cdclk pll as CSR firmware of dmc will take care. If pll is already enabled firmware execution sequence will be blocked. This is one of the criteria for dmc to work properly. v1: Initial version. v2: Based on review comment from Daniel added code commnent. 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-bt: Vathsala Nagaraju <vathsala.nagaraju@xxxxxxxxx> Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@xxxxxxxxx> Reviewed-by: A.Sunil Kamath <sunil.kamath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c268444a2cecabc0ab567ca275662d80fa0ac813 Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Wed Aug 26 01:36:06 2015 +0530 drm/i915/skl Remove the call for csr uninitialization from suspend path This patch remove the function call to set the firmware loading status as uninitialized during suspend. Dmc firmware will restore the firmware in normal suspend. In previous patch added a check to directly read the hardware status and load the firmware if got reset during resume from suspend-hibernation. Cc: Daniel Vetter <daniel.vetter@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> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4b7ab5fca1976a53d59ef1558ddb06ba69fab356 Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Wed Aug 26 01:36:05 2015 +0530 drm/i915/skl: Added a check for the hardware status of csr fw before loading. Dmc will restore the csr program except DC9, cold boot, warm reset, PCI function level reset, and hibernate/suspend. intel_csr_load_program() function is used to load the firmware data from kernel memory to csr address space. All values of csr address space will be zero if it got reset and the first byte of csr program is always a non-zero if firmware is loaded successfuly. Based on hardware status will load the firmware. Without this condition check if we overwrite the firmware data the counters exposed for dc5/dc6 (help for debugging) will be nullified. Note: Above commit message seems to be confused and the real problem apparently going on is that for suspend-to-idle and system standby the firmware survives (it's like runtime pm), but it doesn't for suspend-to-mem and hibernate-to-disk. All the other talking about DC9 and pci reset are irrelevant for the path touched here (only driver load and system resume functions) and might not be true statements. v1: Initial version. v2: Based on review comments from Daniel, - Added a check to know hardware status and load the firmware if not loaded. 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: Explain clearly in the code comment when we need to reload and when not and make it a FIXME. Also deconfuse the commit message with a note. Also: Make. it. compile.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30c964a6cb7bbade28eabcbc3fce4b01be8f1a39 Author: Robert Beckett <robert.beckett@xxxxxxxxx> Date: Fri Aug 28 13:10:22 2015 +0100 drm/i915: Detect virtual south bridge Virtualized systems often use a virtual P2X4 south bridge. Detect this in intel_detect_pch and make a best guess as to which PCH we should be using. This was seen on vmware esxi hypervisor. When passing the graphics device through to a guest, it can not pass through the PCH. Instead it simulates a P2X4 southbridge. Signed-off-by: Robert Beckett <robert.beckett@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 49dfebebfb6811693a9e883423585f079b5941fa Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 28 18:57:07 2015 +0300 avr32: use dw_dmac autoconfiguration Instead of hardcoding a platform data for dw_dmac let's use it's own autoconfiguration feature. Thus, remove hardcoded values. Tested on ATNGW100. Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6dbd80a919db24f5a1c66460838bb10ebe188d21 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 28 18:57:05 2015 +0300 dmaengine: dw: use dw_dmac autoconfiguration in PCI driver Instead of hardconding a platform data for dw_dmac let's use it's own autoconfiguration feature. Thus, remove hardcoded values. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 39416677b95bf1ab8bbfa229ec7e511c96ad5d0c Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 28 18:57:04 2015 +0300 dmaengine: dw: convert to __ffs() We replace __fls() by __ffs() since we have to find a *minimum* data width that satisfies both source and destination. While here, rename dwc_fast_fls() to dwc_fast_ffs() which it really is. Fixes: 4c2d56c574db (dw_dmac: introduce dwc_fast_fls()) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b2c68a2f1bab3e3d3bf4ab2b5fcd94cd37f61b41 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Sep 29 15:52:59 2015 -0700 HID: hid-input: allow input_configured callback return errors When configuring input device via input_configured callback we may encounter errors (for example input_mt_init_slots() may fail). Instead of continuing with half-initialized input device let's allow driver indicate failures. Signed-off-by: Jaikumar Ganesh <jaikumarg@xxxxxxxxxxx> Signed-off-by: Arve HjønnevÃ¥g <arve@xxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Nikolai Kondrashov <Nikolai.Kondrashov@xxxxxxxxxx> Acked-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6e3f797c9ae9bd381247e90907838da43f695306 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 28 21:46:35 2015 +0200 drm/doc: Update docs about device instance setup ->load is deprecated, bus functions are deprecated and everyone should use drm_dev_alloc®ister. So update the .tmpl (and pull a bunch of the overview docs into the sourcecode to increase chances that it'll stay in sync in the future) and add notes to functions which are deprecated. I didn't bother to clean up and document the unload sequence similarly since that one is still a bit a mess: drm_dev_unregister does way too much, drm_unplug_dev does what _unregister should be doing but then has the complication of promising something it doesn't actually do (it doesn't unplug existing open fds for instance, only prevents new ones). Motivated since I don't want to hunt every new driver for usage of drm_platform_init any more ;-) v2: Reword the deprecation note for ->load a bit, using Laurent's suggestion as an example (but making the wording a bit stronger even). Fix spelling in commit message. v3: More spelling fixes from Laurent. Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: David Herrmann <dh.herrmann@xxxxxxxxx> (v2) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 55fd9b184cb6339f51adc9e27e6900bb431a7d18 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: STi: STiH407: Add spi default pinctrl groups. Now we have default pinconfig groups for each SPI controller ensure it is used by the SPI controller node. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 9d6d736bfe6c65ec6ca42dc0f36baf9c18eae7d6 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add RMII pinctrl support This patch adds the RMII pinctrl support for the Synopsys MAC on STiH407 SoCs. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 0252d86366538eb7e65e35733eb1c0260410f720 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add pinconfig for IRB UHF and IRB TX This patch adds the pinconfig for IRB TX and IRB UHF. Signed-off-by: M'boumba Cedric Madianga <cedric.madianga@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit fab876695a1ac2f55ed86dce5ec18db35f08a0bb Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add SD pinctrl config for mmc0 controller This patch adds the missing SD pinctrl config for mmc/sd controller 0. This is required to enable the B2144A daughter board that exposes this controller as a sd slot. Signed-off-by: Nebil BEN MEFTEH <nebil.ben-mefteh@xxxxxx> Acked-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 0e60262814da699ccc6cb5e1880da88ed25c28fe Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add systrace pin configuration This patch adds the pin config for systrace for STiH407 family silicon. Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 8eefa90f3c808af200c041274a8268e20fbedbf7 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add NAND flash controller pin configuration This patch adds NAND flash support controller pin configuration for STiH407 family silicon. Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 9af0a7b5e6cbf1a67258dd5eca03b4403640a355 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add SPI FSM (NOR Flash) Controller pin config This patch adds the pin configuration for the NOR flash controller. Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit d8036479848b997094b5bd32aa96f61960d3f0db Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add serial3 pinctrl configuration Add missing serial 3 pinctrl config. This can be used on b2206 HVK, where it defaults to PIO31[3] & PIO31[4], alternate 1. Signed-off-by: Erwan Le Ray <erwan.leray@xxxxxx> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxx> Acked-by: Carmelo Amoroso <carmelo.amoroso@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 193bb623f22a63524e71c7a8980189d59fa6083c Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add SPI 3 wire and 4 wire pinctrl configs This patch adds the spi pinctrl configurations for all SPI controllers, and also the alternate muxings which can be used depending on board design. Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 38fc7859867492f3ee00583acd70ebceff27d1fd Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: STi: DT: STiH407: Add i2c3 alternate pin configs i2c3 controller can use several sets of pins depending on board design. This patch adds the missing alternate pinconfigs. Signed-off-by: Seraphin Bonnaffe <seraphin.bonnaffe@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 0f38d5ad1f25594c3ffc1cab33293de2b5fcb3e0 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: STi: DT: STiH407: Add a cec0 pin definition This pin setup provides the correct configuration in order to interact with the CEC HW. Signed-off-by: Erwan Le Ray <erwan.leray@xxxxxx> Signed-off-by: Nicolas Vanhaelewyn <nicolas.vanhaelewyn@xxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 6a5e3bd0c8bc1025bb5092f54d5aea38216c665e Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 00:14:14 2015 +0200 tridentfb: Add DDC support Add DDC support for Trident cards. Tested on TGUI9440, TGUI9680, 3DImage 9750, Blade3D 9880 and Blade XP. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit ec90631c8a6861cdd752148fe19c20f775df47e7 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 00:14:13 2015 +0200 fb_ddc: Allow I2C adapters without SCL read capability i2c-algo-bit allows I2C adapters without SCL read capability to work but fb_ddc_read fails to work on them. Fix fb_ddc_read to work with I2C adapters not capable of reading SCL. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 6c6000c2ccfe69e5d17a2fba91954ce1e6f7df01 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 30 15:53:55 2015 +0900 ARM: dts: Add Exynos5250 Snow Rev5+ support on exynos5250-snow-rev5 There are 2 revisions of the Exynos5250 Snow Chromebook that were shipped: Rev4 and Rev5. The only difference between these 2 revisions is the codec, Rev4 has a max98095 codec while Rev5 has a max98090. Mainline only supports Rev4 so this patch moves the common device nodes to a DTSI file and adds a DTS for the Exynos5250 Snow Rev5. The Snow Rev5 DTS is based on the DTS found in the ChromiumOS 3.8 tree. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Tested-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit aff1e0cee36ab679552846a18d15dcb6d2e3fc4c Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 4 16:12:30 2015 +0300 dmaengine: acpi: Use ACPI_COMPANION() instead of acpi_bus_get_device() Get pointer to the struct acpi_device by using ACPI_COMPANION() macro. This is more efficient than using ACPI_HANDLE() and acpi_bus_get_device(). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 44cc6c08da0b6c8321c6740bbb6a0c6feb45b2c2 Merge: 40a4a57 2d4df13 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 30 08:47:41 2015 +0200 Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next Backmerge to catch up with 4.3. slightly more involved conflict in the irq code, but nothing beyond adjacent changes. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 184e16d79d38634cbb7b7c1cd3832caf89595c9a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 14 20:14:45 2015 -0500 openvswitch: Remove ovs_vport_output_sk This was a compatibility function needed while the ipv4 and ipv6 fragmentation code was being modified to pass a struct net through them. Now that is complete this function has no more users so remove it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 75aec9df3a7895747a0d022b7c83a1dfb2adf942 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 14 13:46:16 2015 -0500 bridge: Remove br_nf_push_frag_xmit_sk Now that this compatability function no longer has any callers remove it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 7d8c6e391575ee86c870b88635a163743fca9eac Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jun 12 22:12:04 2015 -0500 ipv6: Pass struct net through ip6_fragment Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> commit 694869b3c5440e0d821583ec8811b6cb5d03742d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jun 12 21:55:31 2015 -0500 ipv4: Pass struct net through ip_fragment Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit c559cd3ad32ba729bb810283c5fc6838d2473c2e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 14 20:10:28 2015 -0500 openvswitch: Pass net into ovs_fragment In preparation for the ipv4 and ipv6 fragmentation code taking a net parameter pass a struct net into ovs_fragment where the v4 and v6 fragmentation code is called. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 188515fbc6b18e6bc6f2fa4629f1a77308197371 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 14 20:08:51 2015 -0500 openvswitch: Pass net into ovs_vport_output When struct net starts being passed through the ipv4 and ipv6 fragment routines ovs_vport_output will need to take a net parameter. Prepare ovs_vport_output before that is needed and introduce ovs_vport_output_skk for the call sites that still need the old calling conventions. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit d9388c8432379e8c99b2315bff207f0773554462 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 08:23:40 2015 +0200 clk: imx31: Do not call mxc_timer_init twice when booting with DT mxc_timer_init must not be called from within mx31_clocks_init_dt. It will eventually be called by imx31_timer_init_dt (drivers/clocksource/timer-imx-gpt.c). This arranges the initialization code similar to clk-imx27.c Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit ddfe4d0cce7828d79f3e3762c664342658c3f254 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Sep 30 12:06:36 2015 +0530 dmaengine: edma: remove redundant conditions in edma_callback, driver was doing redundant check for desc, so remove that Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4bf1b54f9df7ced4869f7dfd0bdf5eb22aa98447 Merge: b8d866a c1444c6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 21:46:21 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter/IPVS updates for net-next The following pull request contains Netfilter/IPVS updates for net-next containing 90 patches from Eric Biederman. The main goal of this batch is to avoid recurrent lookups for the netns pointer, that happens over and over again in our Netfilter/IPVS code. The idea consists of passing netns pointer from the hook state to the relevant functions and objects where this may be needed. You can find more information on the IPVS updates from Simon Horman's commit merge message: c3456026adc0 ("Merge tag 'ipvs2-for-v4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next"). Exceptionally, this time, I'm not posting the patches again on netdev, Eric already Cc'ed this mailing list in the original submission. If you need me to make, just let me know. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8d866ac6aa45147b84f3f67b124b82bee675e9f Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:38:36 2015 -0400 net: dsa: fix preparation of a port STP update Because of the default 0 value of ret in dsa_slave_port_attr_set, a driver may return -EOPNOTSUPP from the commit phase of a STP state, which triggers a WARN() from switchdev. This happened on a 6185 switch which does not support hardware bridging. Reported-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21fdd092acc7ebda0dfe682008592eb79c382707 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 09:32:03 2015 -0700 net: Add support for filtering neigh dump by master device Add support for filtering neighbor dumps by master device by adding the NDA_MASTER attribute to the dump request. A new netlink flag, NLM_F_DUMP_FILTERED, is added to indicate the kernel supports the request and output is filtered as requested. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5172393522e4b2caf1af638076c3c0cd74313ae3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 21:24:05 2015 -0700 tcp: fix tcp_v6_md5_do_lookup prototype tcp_v6_md5_do_lookup() now takes a const socket, even if CONFIG_TCP_MD5SIG is not set. Fixes: b83e3deb974c ("tcp: md5: constify tcp_md5_do_lookup() socket argument") From: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eef50d466a47bb6a57f2e55a9415c716c463255b Merge: 79b0eb2 44bbcf5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 21:32:00 2015 -0700 Merge branch 'switchdev-callback' Vivien Didelot says: ==================== net: switchdev: use specific switchdev_obj_* This patchset changes switchdev add, del, dump operations from this: int (*switchdev_port_obj_add)(struct net_device *dev, struct switchdev_obj *obj, struct switchdev_trans *trans); int (*switchdev_port_obj_del)(struct net_device *dev, struct switchdev_obj *obj); int (*switchdev_port_obj_dump)(struct net_device *dev, struct switchdev_obj *obj); to something similar to the notifier_call callback of a notifier_block: int (*switchdev_port_obj_add)(struct net_device *dev, enum switchdev_obj_id id, const void *obj, struct switchdev_trans *trans); int (*switchdev_port_obj_del)(struct net_device *dev, enum switchdev_obj_id id, const void *obj); int (*switchdev_port_obj_dump)(struct net_device *dev, enum switchdev_obj_id id, void *obj, int (*cb)(void *obj)); This allows the caller to pass and expect back a specific switchdev_obj_* structure (e.g. switchdev_obj_fdb) instead of the generic switchdev_obj one. This will simplify pushing the callback function down to the drivers. The first 3 patches get rid of the dev parameter of the dump callback, since it is not always neeeded (e.g. vlan_dump) and some drivers (such as DSA drivers) may not have easy access to it. Patches 4 and 5 implement the change in the switchdev operations and its users. Patch 6 extracts the inner switchdev_obj_* structures from switchdev_obj and removes this last one. v2: fix error spotted by kbuild (extra ';' inline switchdev_port_obj_dump). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 44bbcf5c4a19a8be43ba35ca7e22310e171f022c Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:18 2015 -0400 net: switchdev: extract struct switchdev_obj_* Now that switchdev and its drivers directly use specific switchdev_obj_* structures, move them out of the switchdev_obj union and get rif of this outer structure. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab06900230181b5a717b1e1a39c44e96f6292e71 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:17 2015 -0400 net: switchdev: abstract object in add/del ops Similar to the notifier_call callback of a notifier_block, change the function signature of switchdev add and del operations to: int switchdev_port_obj_add/del(struct net_device *dev, enum switchdev_obj_id id, void *obj); This allows the caller to pass a specific switchdev_obj_* structure instead of the generic switchdev_obj one. Drivers implementation of these operations and switchdev have been changed accordingly. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25f07adc473f05f850efc9414b9da3374563015f Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:16 2015 -0400 net: switchdev: pass callback to dump operation Similar to the notifier_call callback of a notifier_block, change the function signature of switchdev dump operation to: int switchdev_port_obj_dump(struct net_device *dev, enum switchdev_obj_id id, void *obj, int (*cb)(void *obj)); This allows the caller to pass and expect back a specific switchdev_obj_* structure instead of the generic switchdev_obj one. Drivers implementation of dump operation can now expect this specific structure and call the callback with it. Drivers have been changed accordingly. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03d5fb18626aff95426a380aef0d1c6904cac7c9 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:15 2015 -0400 net: switchdev: remove dev from switchdev_obj cb The net_device associated to a dump operation does not have to be passed to the callback. switchdev stores it in a superset struct, if needed. Also some drivers (such as DSA drivers) may not have easy access to it. This will simplify pushing the callback function down to the drivers. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e02a06b2a7c6e8b43c60ed8e0181172231af13d7 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:14 2015 -0400 net: switchdev: move dev in switchdev_fdb_dump The FDB dump callback requires the related net_device so move it to the struct switchdev_fdb_dump superset instead of using a callback param. With this done, it'll be simpler to change the dump function signature. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e23b002b23dfdcd12ca982fbc57dcb071a1fee62 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:13 2015 -0400 net: switchdev: remove dev in port_vlan_dump_put The static switchdev_port_vlan_dump_put function does not need the net_device parameter, so remove it. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79b0eb2aadfefaecb34c84453bd44d3264c4c781 Merge: 4905287 6153348 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 21:11:13 2015 -0700 Merge branch 'm68k-netdev-modular' Geert Uytterhoeven says: ==================== net: m68k: Allow modular build This patch series makes the remaining m68k Ethernet drivers modular. It's an alternative to the last 3 patches of Paul Gortmaker's series "[PATCH net-next 0/6] make non-modular code explicitly non-modular". Note that "[PATCH 5/5] net: macmace: Allow modular build" depends on "[PATCH 4/5] m68k/mac: Export Peripheral System Controller (PSC) base address to modules". Feel free to take the dependency through the netdev tree to avoid modular build breakage. This was compile-tested only (mac_defconfig + allmodconfig) due to lack of hardware. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6153348f5e0cc6e162918c20e05534981aa5504c Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:24:06 2015 +0200 net: macmace: Allow modular build Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a77cdaaf2dbc69743bc22354f81bc4ec5e452d40 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:24:05 2015 +0200 m68k/mac: Export Peripheral System Controller (PSC) base address to modules If CONFIG_MACMACE=m: ERROR: psc [drivers/net/ethernet/apple/macmace.ko] undefined! Add the missing export to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18785040b088c0d90713606b57a8b1bd4834ec04 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:24:04 2015 +0200 net: hplance: Allow modular build Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93a82ca2f3c642becc3d824ba79be98084f76519 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:24:03 2015 +0200 net: 7990: Export lance_poll() to modules If CONFIG_HPLANCE=m and CONFIG_NET_POLL_CONTROLLER=y: ERROR: "lance_poll" [drivers/net/ethernet/amd/hplance.ko] undefined! Add the missing export to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a3a7f3b7fbd3c2f2ca2f2bf76363a1abbd5ba94 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:24:02 2015 +0200 net: mac8390: Allow modular build The modular driver supports only one card, just like the built-in driver. Note that this limitation is a problem which affects all Nubus card drivers, because they have to do all their own bus matching, because Nubus still lacks the necessary driver model support. Suggested-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4905287138f60e86198620c72b570d3d265a71ea Author: Andrew Lunn <andrew@xxxxxxx> Date: Tue Sep 29 01:53:48 2015 +0200 dsa: mv88e6xxx: Fix unsigned/signed issue commit dea870242a9c ("dsa: mv88e6xxx: Allow speed/duplex of port to be configured") leads to the following static checker warning: drivers/net/dsa/mv88e6xxx.c:585 mv88e6xxx_adjust_link() warn: unsigned 'ret' is never less than zero. drivers/net/dsa/mv88e6xxx.c 573 void mv88e6xxx_adjust_link(struct dsa_switch *ds, int port, 574 struct phy_device *phydev) 575 { 576 struct mv88e6xxx_priv_state *ps = ds_to_priv(ds); 577 u32 ret, reg; 578 579 if (!phy_is_pseudo_fixed_link(phydev)) 580 return; 581 582 mutex_lock(&ps->smi_mutex); 583 584 ret = _mv88e6xxx_reg_read(ds, REG_PORT(port), PORT_PCS_CTRL); 585 if (ret < 0) Make ret an int, which is the return type for _mv88e6xxx_reg_read() Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f82ff596c7a8917b21100117646c719017ce8fe4 Merge: e6934f3 9478d12 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 20:41:10 2015 -0700 Merge branch 'L3_master_device' David Ahern says: ==================== net: L3 master device The VRF device is essentially a Layer 3 master device used to associate netdevices with a specific routing table and to influence FIB lookups via 'ip rules' and controlling the oif/iif used for the lookup. This series generalizes the VRF into L3 master device, l3mdev. Similar to switchdev it has a Kconfig option and separate set of operations in net_device allowing it to be completely compiled out if not wanted. The l3mdev methods rely on the 'master' aspect and use of netdev_master_upper_dev_get_rcu to retrieve the master device from a given netdevice if it is enslaved to an L3_MASTER. The VRF device is converted to use the l3mdev operations. At the end the vrf_ptr is no longer and removed, as are all direct references to VRF. The end result is a much simpler implementation for VRF. Thanks to Nikolay for suggestions (eg., use of the master linkage which is the key to making this work) and to Roopa, Andy and Shrijeet for early reviews. v3 - added license header to l3mdev.c - export symbols in l3mdev.c for use with GPL modules - removed netdevice header from l3mdev.h (not needed) and fixed typo in comment v2 - rebased to top of net-next - addressed Niks comments (checking master, removing extra lines, and flipping the order of patches 1 and 2) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9478d12d33ad12d29c5343ae7346b51bc1f4c5a9 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:18 2015 -0700 net: Move netif_index_is_l3_master to l3mdev.h Change CONFIG dependency to CONFIG_NET_L3_MASTER_DEV as well. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec539514e56284b21c47468f23f7d01ff882f51b Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:17 2015 -0700 net: Remove vrf header file Move remaining structs to VRF driver and delete the vrf header file. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93a7e7e837af6846052481da974320c19ab82e5c Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:16 2015 -0700 net: Remove the now unused vrf_ptr Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e1ed7058b3c79b085cf5b1529698a157499074c Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:15 2015 -0700 net: Replace calls to vrf_dev_get_rth Replace calls to vrf_dev_get_rth with l3mdev_get_rtable. The check on the flow flags is handled in the l3mdev operation. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3236b0042ba6555b45d75b6be12922922e17d66e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:14 2015 -0700 net: Replace vrf_dev_table and friends Replace calls to vrf_dev_table and friends with l3mdev_fib_table and kin. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 385add906b6155e8bc64035ad56fb8ccfef925f7 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:13 2015 -0700 net: Replace vrf_master_ifindex{, _rcu} with l3mdev equivalents Replace calls to vrf_master_ifindex_rcu and vrf_master_ifindex with either l3mdev_master_ifindex_rcu or l3mdev_master_ifindex. The pattern: oif = vrf_master_ifindex(dev) ? : dev->ifindex; is replaced with oif = l3mdev_fib_oif(dev); And remove the now unused vrf macros. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee15ee5d94f5837260e7fa539ffd1b50952079c4 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:12 2015 -0700 net: Add support for l3mdev ops to VRF driver Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b69c6d0ae90b7f1a4f61d5c8209d5cb7a55f849 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:11 2015 -0700 net: Introduce L3 Master device abstraction L3 master devices allow users of the abstraction to influence FIB lookups for enslaved devices. Current API provides a means for the master device to return a specific FIB table for an enslaved device, to return an rtable/custom dst and influence the OIF used for fib lookups. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 007979eaf94d1c888d8c7cf8a5250c2c6c9bd98e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:10 2015 -0700 net: Rename IFF_VRF_MASTER to IFF_L3MDEV_MASTER Rename IFF_VRF_MASTER to IFF_L3MDEV_MASTER and update the name of the netif_is_vrf and netif_index_is_vrf macros. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7477929566b65f692b79974b784ee59e8b2b9f18 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 30 11:59:24 2015 +0900 staging: wilc1000: remove define CONNECT_DIRECT The driver use CONNECT_DIRECT define as always. No need to provide as feature. This patch removes ifdef/ifndef CONNECT_DIRECT line and it's related codes inside ifndef CONNECT_DIRECT. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 438b293ebded4c89fe0a2c4f68e065a79e752511 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 30 11:59:23 2015 +0900 staging: wilc1000: remove define WILC_PARSE_SCAN_IN_HOST The define WILC_PARSE_SCAN_IN_HOST is always used in the driver, so just delete ifdef WILC_PARSE_SCAN_IN_HOST line, ifndef WILC_PARSE_SCAN_IN_HOST line and it's related codes. Finally, remove define in Makefile. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fc42225f23e0b29583b92499806264dbfba0f4b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 30 08:15:42 2015 +0900 staging: wilc1000: delete wilc_oswrapper.h This patch deletes wilc_oswrapper.h that has nothing inside. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e215a871255f9256de77e1b9c32b84d3a80122c1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 30 08:15:41 2015 +0900 staging: wilc1000: remove wilc_platform include file This patch removes wilc_platform.h include file in wilc_oswrapper.h wilc_platform.h have several standard header files so that some header files should be included to avoid compilation errors. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffda203c0cf3b5b4648ba24c7d1ca34b9dcd4a3e Author: Anish Bhatt <anish@xxxxxxxxxx> Date: Tue Sep 29 12:15:49 2015 -0700 wilc1000 : Use BIT() macro where possible Replace (1 << x) by BIT(x) as recommended by checkpatch.pl Signed-off-by: Anish Bhatt <anish@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65ead4ecb2d22a78592263ecba3decbc9df548dd Author: Anish Bhatt <anish@xxxxxxxxxx> Date: Tue Sep 29 12:15:48 2015 -0700 wilc1000 : Remove leftover comment delimiters Remove leftover comment delimiters that were only partially removed in a previous cleanup. Fixes : c3ca63728ad8 ("staging: wilc1000: remove useless comment") Signed-off-by: Anish Bhatt <anish@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2866914ce1f84ffbd8fae66552058e586c84d851 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Sep 29 14:47:25 2015 -0700 staging:emxx_udc: Fixed comparison style warnings Fixed 'Comparisons should place the constant on the right side of the test' Warnings Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3ce2076c70087c31a03d87900a7b868d0ead1bb Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Sep 30 00:51:28 2015 +0530 Staging: media: lirc: Use USB API functions rather than constants Introduce use of function usb_endpoint_is_int_in() and usb_endpoint_is_int_out(). Also remove the variables ep_dir and ep_type as they are not used anymore. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 178b2d09afc05a46f68b190c6594f3a429bc2385 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 24 16:18:12 2015 -0300 ARM: dts: imx7d: Fix UART2 base address The UART2 memory space starts at address 0x30890000 (UART2_URXD). Fix it so that UART2 can be used. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Fixes: 949673450291 ("ARM: dts: add imx7d soc dtsi file") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d0a76bbfe920e056e761bfcb77f3b95bd3bce98f Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 03:46:43 2015 +0200 staging: iio: iio_dummy_evgen: handle_simple_irq() build fix handle_simple_irq() has dropped the first parameter, so fix it up in the iio_dummy_evgen.c driver to prevent the build from breaking. Cc: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f827d8099e76a4a2fb99faa88ee7859459f2360 Merge: 99207b8 1d2f1e0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 03:37:48 2015 +0200 Merge tag 'iio-for-4.4a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: First round of new driver, new functionality and cleanups for IIO in the 4.4 cycle New device support * APDS9960 ALS + proximity driver * bmg160 SPI devices. * HDC100x humidity sensors * Holt HI-8435 threshold detector * mma8453Q accelerometer added to the mma8452 driver * mma86452FC and mma8653FC accelerometers added to the mma8452 driver * mxc4005 accelerometer * PulsedLight LIDAR * SensorTech VZ89x volatile organic compound sensor * UPISEMI uS5182d ALS and proximity sensors New core functionality * triggered events - use triggers to check for changes in threshold type detectors on devices with out interrupt support. First user is the holt comparator. * chemical concentration and resistance channel types. New driver functionality * vf610 - buffer support. - followup coccinelle warning fix. Core rework * buffers - break out callback buffer to own module. - move buffer implementations to a new subdirectory * percolate the error code form iio_event_getfd out to userspace rather than giving a missleading error later on. Cleanups * adddac drivers - use BIT macro where appropriate. * meter drivers - use BIT macro where appropriate. * ad7303 - add an OF match table to line up with the binding docs. * adc128s052 - add an OF match table to line up with the binding docs. * adf4350 - add an OF match table to line up with the binding docs * as3935 - add an OF match table to line up with the binding docs. * berlin2-adc - use GENMASK and BIT for masks - prevent attempting to sample multiple channels at once by moving a mutex scop - coding style cleanups * bmg150_magn - kconfig sort order was wrong - fix it. * bmg160 - use i2c regmap and drop all uses of i2c_client - separate i2c and core driver * cc10001_adc - kconfig sort order was wrong - fix it. * evgen (dummy driver helper module) - move interrupt generation to irq_work to reduce differences between the dummy driver and real hardware drivers. * hmc5843 - set the name dynamically rather than to a fixed value for one of the suported parts. - export module alias information to allow autoprobing of module. * lpc32xx - on failure to get resource or irq return -ENXIO as uppose to -EBUSY * max1027 - set .of_match_table to actually allow OF style matching. * max5821 - add MODULE_DEVICE_TABLE for OF table. * mma8452 - refactor to separate out chip specific data. - add freefall / motion interrupt source for devices that do their interrupts slightly differently. - update copywrite notice. - leave naming of events directory in sysfs to the core * mcp320x - set .of_match_table so that it can be use for OF style matching. * mlx90614 - Implement filter configuration (note the datasheet changed as a result of the driver reviews to include the values we needed ;) * opt3001 - drop .owner field as assigned by platform driver core. * si7020 - replace a bitmask on the humidity values with a more correct range check. * stk310 - improved error handling. - use BIT macro where appropriate and use the resulting defines instead of magic numbers in the code. - fix indentation * st-sensors - add debugfs register read hook * tsl4531 - fix error handling in check_id * twl6030 - fix module autoload for OF * iio-trig-sysfs - document add and remove attribute * trigger in staging - code alignment fixes. - braces on both branches of if statement if needed for one. * xilinx-xadc - push interrupts into hardirq context as there isn't much in them any more and it avoids breaking PREEMPT_RT builds due to the use of a spinlock between the hardirq and the thread. Tools * event-monitor - report unsupported events. We keep expanding what can come from drivers so give a helpful error if one turns up in an out of date userspace program. * generic-buffer - helpful message about needing to enable a channel to start the buffer. commit d489ff42db9179647004ca2b12c614cb71ac81ea Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 29 17:28:44 2015 -0700 Revert "mtd: mtdram: check offs and len in mtdram->erase" This reverts commit 7827e3acad2df1c6537e5fe7211d216dabc60399. There are some 64-bit arithmetic issues on some architectures, so let's wait until we get a better patch for this. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e6934f3ec00b04234acb24a1a2c28af59763d3b5 Merge: 4c7e622 0536fcc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 16:53:10 2015 -0700 Merge branch 'listener-refactoring-preparations' Eric Dumazet says: ==================== tcp: listener refactoring preparations This patch series makes changes to TCP/DCCP stacks so that we can switch listener code to lockless mode. This is done by marking const the listener socket in all appropriate paths. FastOpen code had to be changed to not dynamically allocate a very small structure to make code simpler for following changes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0536fcc039a8926ec12ec587f41a83f7acafeb82 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:52 2015 -0700 tcp: prepare fastopen code for upcoming listener changes While auditing TCP stack for upcoming 'lockless' listener changes, I found I had to change fastopen_init_queue() to properly init the object before publishing it. Otherwise an other cpu could try to lock the spinlock before it gets properly initialized. Instead of adding appropriate barriers, just remove dynamic memory allocations : - Structure is 28 bytes on 64bit arches. Using additional 8 bytes for holding a pointer seems overkill. - Two listeners can share same cache line and performance would suffer. If we really want to save few bytes, we would instead dynamically allocate whole struct request_sock_queue in the future. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2985aaac010ebd5e562ce1a22cc61acbb0e40cf2 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:51 2015 -0700 tcp: constify tcp_syn_flood_action() socket argument tcp_syn_flood_action() will soon be called with unlocked socket. In order to avoid SYN flood warning being emitted multiple times, use xchg(). Extend max_qlen_log and synflood_warned fields in struct listen_sock to u32 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f964629e3338d9e5a78c9b354380d5a1e2fa4617 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:50 2015 -0700 tcp: constify tcp_v{4|6}_route_req() sock argument These functions do not change the listener socket. Goal is to make sure tcp_conn_request() is not messing with listener in a racy way. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f684b4b1f1c86e3a6ac63389d1032e239fddd79 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:49 2015 -0700 tcp: cookie_init_sequence() cleanups Some common IPv4/IPv6 code can be factorized. Also constify cookie_init_sequence() socket argument. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c27171e66d94f9121fc00e87407ca7103bb6649 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:48 2015 -0700 tcp/dccp: constify syn_recv_sock() method sock argument We'll soon no longer hold listener socket lock, these functions do not modify the socket in any way. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c28c6f045945f53e842467bf0e86c5fac051643d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:47 2015 -0700 tcp: constify tcp_create_openreq_child() socket argument This method does not touch the listener socket. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54105f98f544ec5305bf1fad292ca454ad55ef67 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:46 2015 -0700 dccp: constify dccp_create_openreq_child() sock argument socket no longer needs to be read/write Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87e002b21aafccfe71faeec62f3543d30600a518 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:45 2015 -0700 net: constify sk_gfp_atomic() sock argument Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ce31c9e08997ea0fa62be0a7437f868be173f13 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:44 2015 -0700 inet: constify __inet_inherit_port() sock argument socket is not touched, make it const. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2432c4fa5e3c4c06df6efe0c406b6f575829a7b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:43 2015 -0700 inet: constify inet_csk_route_child_sock() socket argument The socket points to the (shared) listener. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f76b33c32b1913dd8909d8509f2726b1661aa6b1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:42 2015 -0700 dccp: use inet6_csk_route_req() helper Before changing dccp_v6_request_recv_sock() sock argument to const, we need to get rid of security_sk_classify_flow(), and it seems doable by reusing inet6_csk_route_req() helper. We need to add a proto parameter to inet6_csk_route_req(), not assume it is TCP. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72ab4a86f7a260d4c2a320b49662da107ce77a81 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:41 2015 -0700 tcp: remove tcp_rcv_state_process() tcp_hdr argument Factorize code to get tcp header from skb. It makes no sense to duplicate code in callers. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bda07a64c09c44ced789dbb815c71854f0c59839 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:40 2015 -0700 tcp: remove unused len argument from tcp_rcv_state_process() Once we realize tcp_rcv_synsent_state_process() does not use its 'len' argument and we get rid of it, then it becomes clear this argument is no longer used in tcp_rcv_state_process() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a00e74442bac5ad19a929d097370da7e07540ea6 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:39 2015 -0700 tcp/dccp: constify send_synack and send_reset socket argument None of these functions need to change the socket, make it const. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a27b5e0a78c31b57fa5cceaec4415caeca2e50dd Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Mon Jul 27 22:28:40 2015 -0700 Input: add DA9062 OnKey capability to DA9063 OnKey driver Add DA9062 OnKey support into the existing DA9063 OnKey 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 OnKey. The following alterations have been made to the DA9063 OnKey: - Addition of a da906x_chip_config structure to hold all generic registers and bitmasks for this type of OnKey component. - Addition of an struct of_device_id table for DA9063 and DA9062 defaults - Refactoring functions to use struct da9063_onkey accesses to generic registers/masks instead of using defines from registers.h - Re-work of da9063_onkey_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: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8f697e574012cc73b6b0dcbf30d88a3a0f43b78f Merge: 221bcb2 9ffecb1 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Sep 29 16:28:52 2015 -0700 Merge tag 'v4.3-rc3' into next Merge with Linux 4.3-rc3 to bring in MFD DA9062 changes to merge DA9062 OnKey driver. commit 4c7e622ddf07388d72e15b97a88d260a5a168e37 Merge: 0f50c10 0d75396 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 16:27:47 2015 -0700 Merge branch 'ipv4-routing-cleanups' Alexander Duyck says: ==================== Minor IPv4 routing cleanups These patches just contain some minor cleanups to address a few minor issues. The first and the third mostly just improve readability. The second patch should improve the performance for multicast destination addresses that do not have a localhost source IP address by avoiding some unnecessary dereferences. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d7539603bba77b72679d53e7d7eb84c16dd76d8 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 11:10:44 2015 -0700 net: Remove martian_source_keep_err goto label err is initialized to -EINVAL when it is declared. It is not reset until fib_lookup which is well after the 3 users of the martian_source jump. So resetting err to -EINVAL at martian_source label is not needed. Removing that line obviates the need for the martian_source_keep_err label so delete it. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75fea73dce4ed7c1725f9f5c0adf5aecc8d0fcfd Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Mon Sep 28 11:10:38 2015 -0700 net: Swap ordering of tests in ip_route_input_mc This patch just swaps the ordering of one of the conditional tests in ip_route_input_mc. Specifically it swaps the testing for the source address to see if it is loopback, and the test to see if we allow a loopback source address. The reason for swapping these two tests is because it is much faster to test if an address is loopback than it is to dereference several pointers to get at the net structure to see if the use of loopback is allowed. Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2094acbb714e24e464c810c2d8fa57493fcb25a6 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Mon Sep 28 11:10:31 2015 -0700 net/ipv4: Pass proto as u8 instead of u16 in ip_check_mc_rcu This patch updates ip_check_mc_rcu so that protocol is passed as a u8 instead of a u16. The motivation is just to avoid any unneeded type transitions since some systems will require an instruction to zero extend a u8 field to a u16. Also it makes it a bit more readable as to the fact that protocol is a u8 so there are no byte ordering changes needed to pass it. Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 221bcb24c6530be17468fdcdbf91299aba32a693 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 29 16:06:22 2015 -0700 Input: walkera0701 - use parallel port device model Modify walkera0701 driver to use the new Parallel Port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4de27a638a99d1a36b14a8fbe982a043223143f6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 29 16:04:01 2015 -0700 Input: turbografx - use parallel port device model Modify turbografx driver to use the new Parallel Port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a517e87c3dfccc8b7a655e6208829ad7b04e16df Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 29 16:03:43 2015 -0700 Input: gamecon - use parallel port device model Modify gamecon driver to use the new Parallel Port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 379d7cfa9bcae3b89299fdcb135ec0e2810e97bc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 29 16:02:29 2015 -0700 Input: ff-core - silence an underflow warning My static checker complains that "value" comes from the user in evdev_do_ioctl() and we check that it's not too large here but we don't check that it's negative. It's harmless because the ->set_gain() and ->set_autocenter() functions truncate it to a valid u16 value, but we may as well fix it just to make the static checker happy. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7827e3acad2df1c6537e5fe7211d216dabc60399 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Tue Jul 21 16:30:20 2015 +0800 mtd: mtdram: check offs and len in mtdram->erase We should prevent user to erasing mtd device with an unaligned offset or length. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2d4df13c0f9ef56452b1d9a9016cb3946e17bfe5 Merge: 9ffecb1 cf64830 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 30 08:35:45 2015 +1000 Merge tag 'topic/drm-misc-2015-09-25' of git://anongit.freedesktop.org/drm-intel into drm-next Another attempt at drm-misc for 4.4 ... - better atomic helpers for runtime pm drivers - atomic fbdev - dp aux i2c STATUS_UPDATE handling (for short i2c replies from the sink) - bunch of constify patches - inital kerneldoc for vga switcheroo - some vblank code cleanups from Ville and Thierry - various polish all over * tag 'topic/drm-misc-2015-09-25' of git://anongit.freedesktop.org/drm-intel: (57 commits) drm/irq: Add drm_crtc_vblank_count_and_time() drm/irq: Rename drm_crtc -> crtc drm: drm_atomic_crtc_get_property should be static drm/gma500: Remove DP_LINK_STATUS_SIZE redefinition vga_switcheroo: Set active attribute to false for audio clients drm/core: Preserve the fb id on close. drm/core: Preserve the framebuffer after removing it. drm: Use vblank timestamps to guesstimate how many vblanks were missed drm: store_vblank() is never called with NULL timestamp drm: Clean up drm_calc_vbltimestamp_from_scanoutpos() vbl_status drm: Limit the number of .get_vblank_counter() retries drm: Pass flags to drm_update_vblank_count() drm/i915: Fix vblank count variable types drm: Kill pixeldur_ns drm: Stop using linedur_ns and pixeldur_ns for vblank timestamps drm: Move timestamping constants into drm_vblank_crtc drm/fbdev: Update legacy plane->fb refcounting for atomic restore drm: fix kernel-doc warnings in drm_crtc.h vga_switcheroo: Sort headers alphabetically drm: Spell vga_switcheroo consistently ... commit 0f50c10d2683fd2b8a3908c779c5f29bcb3c2174 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 28 17:51:51 2015 +0100 RESEND: [PATCH v3 net-next] sky2: use random address if EEPROM is bad On some embedded systems the EEPROM does not contain a valid MAC address. In that case it is better to fallback to a generated mac address and let init scripts fix the value later. Reported-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> [Changed handcoded setup to use eth_hw_addr_random() and to save new address into HW] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 822d54b9c2c18271239ad7d928f1e9c702676592 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Mon Sep 28 09:16:17 2015 -0700 netpoll: Drop budget parameter from NAPI polling call hierarchy For some reason we were carrying the budget value around between the various calls to napi->poll. If for example one of the drivers called had a bug in which it returned a non-zero value for work this could result in the budget value becoming negative. Rather than carry around a value of budget that is 0 or less we can instead just loop through and pass 0 to each napi->poll call. If any driver returns a value for work done that is non-zero then we can report that driver and continue rather than allowing a bad actor to make the budget value negative and pass that negative value to napi->poll. Note, the only actual change here is that instead of letting budget become negative we are keeping it at 0 regardless of the value returned for work since it should not be possible for the polling routine to do any actual work with a budget of 0. So if the polling routine returns a non-0 value we are just reporting it and continuing with a budget of 0 rather than letting that work value be subtracted from the budget of 0. Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b840b6e65cbe2b84ec398bb286d121a9eb2597ee Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Mon Sep 21 17:32:15 2015 -0700 thermal: ti-soc-thermal: add OMAP36xx support Add OMAP36xx support to ti-soc-thermal driver. This chip is also unreliable. The data provided here is based on OMAP36xx TRM: http://www.ti.com/lit/ug/swpu177aa/swpu177aa.pdf Signed-off-by: Eduardo Valentin <edubezva@xxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 9c5c87e5936e792ddca5cb876d523b6e5d6042e6 Author: Pavel Machek <pavel@xxxxxx> Date: Thu Apr 2 16:49:07 2015 +0200 ti-soc-thermal: implement omap3 support This adds support for OMAP3 chips to ti-soc-thermal. As requested by TI people, it is marked unreliable and warning is printed. Signed-off-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 8a799590005180b1010912be096c1302e2bd06da Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Sep 2 18:06:35 2015 -0700 mtd: nand: vf610_nfc: add device tree bindings Signed-off-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> [Brian: fixup #size-cells in example] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 049f42509973b86f0015e2c1c38d4c79aea408f5 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Sep 2 18:06:34 2015 -0700 mtd: nand: vf610_nfc: add hardware BCH-ECC support This adds hardware ECC support using the BCH encoder in the NFC IP. The ECC encoder supports up to 32-bit correction by using 60 error correction bytes. There is no sub-page ECC step, ECC is calculated always across the whole page (up to 2k pages). Limitations: - HW ECC: Only 2K page with 64+ OOB. - HW ECC: Only 24 and 32-bit error correction implemented. Raw writes have been tested using the generic nand_write_page_raw implementation. However, raw reads are currently not possible because the controller need to know whether we are going to use the ECC mode already at NAND_CMD_READ0 command time. At this point we do not have the information whether it is a raw read or a regular read at driver level... Signed-off-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 456930d80a2da129974640dc0238d5380597e172 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Sep 2 18:06:33 2015 -0700 mtd: nand: vf610_nfc: Freescale NFC for VF610, MPC5125 and others This driver supports Freescale NFC (NAND flash controller) found on Vybrid (VF610), MPC5125, MCF54418 and Kinetis K70. The driver has been tested using 8-bit and 16-bit NAND interface on the ARM based Vybrid SoC VF500 and VF610 platform. parameter page reading. Limitations: - Untested on MPC5125 and M54418. - DMA and pipelining not used. - 2K pages or less. - No chip select, one NAND chip per controller. - No hardware ECC. Some paths have been hand-optimized and evaluated by measurements made using mtd_speedtest.ko on a 100MB MTD partition. Colibri VF50 eb write % eb read % page write % page read % rel/opt 5175 11537 4560 11039 opt 5164 -0.21 11420 -1.01 4737 +3.88 10918 -1.10 none 5113 -1.20 11352 -1.60 4490 -1.54 10865 -1.58 Colibri VF61 eb write % eb read % page write % page read % rel/opt 5766 13096 5459 12846 opt 5883 +2.03 13064 -0.24 5561 +1.87 12802 -0.34 none 5701 -1.13 12980 -0.89 5488 +0.53 12735 -0.86 rel = using readl_relaxed/writel_relaxed in optimized paths opt = hand-optimized by combining multiple accesses into one read/write The measurements have not been statistically verfied, hence use them with care. The author came to the conclusion that using the relaxed variants of readl/writel are not worth the additional code. Signed-off-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Tested-by: Albert ARIBAUD <albert.aribaud@xxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Reviewed-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 53bb724f94f57b67213e08a4c155c8c5eb74c644 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Sep 21 13:26:59 2015 -0700 mtd: provide proper 32/64-bit compat_ioctl() support for BLKPG After a bit of poking around wondering why my 32-bit user-space can't seem to send a proper ioctl(BLKPG) to an MTD on my 64-bit kernel (ARM64), I noticed that struct blkpg_ioctl_arg is actually pretty unsuitable for use in the ioctl() ABI, due to its use of raw pointers, and its lack of alignment/packing restrictions (32-bit arch'es tend to pack the 4 fields into 4 32-bit words, whereas 64-bit arch'es would add padding after the third int, and make this 6 32-bit words). Anyway, this means BLKPG deserves some special compat_ioctl handling. Do the conversion in a small shim for MTD. block/compat_ioctl.c already has compat support for the block subsystem, but it does so by a re-marshalling data to/from user-space (see compat_blkpg_ioctl()). Personally, I think this approach is cleaner. Tested only on MTD, with an ARM32 user space on an ARM64 kernel. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2594e9064a57634efc146ff4e89a5de562e05011 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 19:00:11 2015 +0200 bridge: vlan: add per-vlan struct and move to rhashtables This patch changes the bridge vlan implementation to use rhashtables instead of bitmaps. The main motivation behind this change is that we need extensible per-vlan structures (both per-port and global) so more advanced features can be introduced and the vlan support can be extended. I've tried to break this up but the moment net_port_vlans is changed and the whole API goes away, thus this is a larger patch. A few short goals of this patch are: - Extensible per-vlan structs stored in rhashtables and a sorted list - Keep user-visible behaviour (compressed vlans etc) - Keep fastpath ingress/egress logic the same (optimizations to come later) Here's a brief list of some of the new features we'd like to introduce: - per-vlan counters - vlan ingress/egress mapping - per-vlan igmp configuration - vlan priorities - avoid fdb entries replication (e.g. local fdb scaling issues) The structure is kept single for both global and per-port entries so to avoid code duplication where possible and also because we'll soon introduce "port0 / aka bridge as port" which should simplify things further (thanks to Vlad for the suggestion!). Now we have per-vlan global rhashtable (bridge-wide) and per-vlan port rhashtable, if an entry is added to a port it'll get a pointer to its global context so it can be quickly accessed later. There's also a sorted vlan list which is used for stable walks and some user-visible behaviour such as the vlan ranges, also for error paths. VLANs are stored in a "vlan group" which currently contains the rhashtable, sorted vlan list and the number of "real" vlan entries. A good side-effect of this change is that it resembles how hw keeps per-vlan data. One important note after this change is that if a VLAN is being looked up in the bridge's rhashtable for filtering purposes (or to check if it's an existing usable entry, not just a global context) then the new helper br_vlan_should_use() needs to be used if the vlan is found. In case the lookup is done only with a port's vlan group, then this check can be skipped. Things tested so far: - basic vlan ingress/egress - pvids - untagged vlans - undef CONFIG_BRIDGE_VLAN_FILTERING - adding/deleting vlans in different scenarios (with/without global ctx, while transmitting traffic, in ranges etc) - loading/removing the module while having/adding/deleting vlans - extracting bridge vlan information (user ABI), compressed requests - adding/deleting fdbs on vlans - bridge mac change, promisc mode - default pvid change - kmemleak ON during the whole time Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4404bd742db767a7f316b1207c46a04a38ca7198 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Sep 18 15:08:14 2015 -0700 mtd: spi-nor: add support for w25q128fw Tested only with single I/O, but the datasheet says it supports dual and quad. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 09b6a377687b885565339e60bc62566433a0406f Author: Furquan Shaikh <furquan@xxxxxxxxxx> Date: Fri Sep 18 14:59:17 2015 -0700 mtd: spi-nor: scale up timeout for full-chip erase This patch fixes timeout issues seen on large NOR flash (e.g., 16MB w25q128fw) when using ioctl(MEMERASE) with offset=0 and length=16M. The input parameters matter because spi_nor_erase() uses a different code path for full-chip erase, where we use the SPINOR_OP_CHIP_ERASE (0xc7) opcode. Fix: use a different timeout for full-chip erase than for other commands. While most operations can be expected to perform relatively similarly across a variety of NOR flash types and sizes (and therefore might as well use a similar timeout to keep things simple), full-chip erase is unique, because the time it typically takes to complete: (1) is much larger than most operations and (2) scales with the size of the flash. Let's base our timeout on the original comments stuck here -- that a 2MB flash requires max 40s to erase. Small survey of a few flash datasheets I have lying around: Chip Size (MB) Max chip erase (seconds) ---- -------- ------------------------ w25q32fw 4 50 w25q64cv 8 30 w25q64fw 8 100 w25q128fw 16 200 s25fl128s 16 ~256 s25fl256s 32 ~512 From this data, it seems plenty sufficient to say we need to wait for 40 seconds for each 2MB of flash. After this change, it might make some sense to decrease the timeout for everything else, as even the most extreme operations (single block erase?) shouldn't take more than a handful of seconds. But for safety, let's leave it as-is. It's only an error case, after all, so we don't exactly need to optimize it. Signed-off-by: Furquan Shaikh <furquan@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 961a86d22e89428516fa7183b7750a4ba9866f4d Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Sep 28 19:51:21 2015 +0300 doc: dt: arm,pl172: add description of PL175 and PL176 controllers Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit f6d77beefd159f8c36b28c60d89e1557438a077e Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Sep 28 19:51:20 2015 +0300 memory: pl172: add ARM PrimeCell PL176 MPMC support The change adds support of ARM PrimeCell PL176 MPMC. Static memory configuration of PL175 MPMC is very similar to one found on PL172 and PL175 controllers, so it is preferred to add its support into the existing driver. The difference is that PL176 supports up to 10 slave ports (but only 4 of them may be connected to static memory devices), AHB master bus width cab be 64-bit wide, also NAND devices can be interfaced. Similar to PL175 contoller, PL176 has no write buffer enable control in static memory configuration register, the rest of static memory configuration bits (with exception of NAND) is the same. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit b794df56cbb46e031c29922acb24617b72f8f5a7 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Sep 28 19:51:19 2015 +0300 memory: pl172: add ARM PrimeCell PL175 MPMC support The change adds support of ARM PrimeCell PL175 MPMC, the controller is found on NXP LPC32xx SoC. PL175 MPMC is very similar to PL172 controller, so it is preferred to add its support into the existing driver. One of the differences between PL172 and PL175 is that the latter one supports up to 6 AHB ports, but still only 4 AHB ports can be assigned to a static memory device, also PL175 does not have write buffer enable control in static memory configuration register. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 5b32b1368ae532a2d06c931ba6356c39a9de63ac Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Sep 28 19:51:18 2015 +0300 memory: pl172: correct MPMC peripheral ID register bits According to PL172 TRM read of bits [7:6] of MPMCPeriphID3 is undefined, so unmask them. Also the driver supports all currently present revisions of PL172, this allows to alleviate requirements to the revision version matched by the driver. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit c887be71cc3984db486c4d942dea2682c7b24a71 Author: Yao Yuan <yao.yuan@xxxxxxxxxxxxx> Date: Wed Sep 16 17:59:45 2015 +0800 mtd: spi-nor: Add support for sst25wf040b It is a 512KiB flash with 4 KiB erase sectors. Signed-off-by: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 15c2bf2f3f5c1f25293ad89a9effeb75524458e8 Author: Tom Englund <tomenglund26@xxxxxxxxx> Date: Fri Sep 18 21:42:59 2015 +0200 pcmciamtd: Add id for PRETEC 4MB SRAM The module pcmciamtd doesn't generate a mtd node for PRETEC 4MB SRAM cards without the id and hash added to pcmciamtd.c Tested on 3 different 4MB pretec sram cards. Signed-off-by: Tom Englund <tomenglund26@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 73dddbb57bb08d465dd0ecab93db0c5209e50cfe Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 15:38:55 2015 -0400 tracing: Only create stacktrace option when STACKTRACE is configured Only create the stacktrace trace option when CONFIG_STACKTRACE is configured. Cleaned up the ftrace_trace_stack() function call a little to allow better encapsulation of the stacktrace trace flag. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8179e8a15b76eaec1e757da7a0f96de9f0c466c6 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 10:24:56 2015 -0400 tracing: Do not create function tracer options when not compiled in When the function tracer is not compiled in, do not create the option files for it. Fix up both the sched_wakeup and irqsoff tracers to handle the change. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 191988e0bd3875526464e3a601edf29f2a3118ae Merge: 8a4683a f864288 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 11:51:41 2015 -0700 Merge branch 'mvneta_percpu_irq' Gregory CLEMENT says: ==================== net: mvneta: Switch to per-CPU irq and make rxq_def useful As stated in the first version: "this patchset reworks the Marvell neta driver in order to really support its per-CPU interrupts, instead of faking them as SPI, and allow the use of any RX queue instead of the hardcoded RX queue 0 that we have currently." Following the review which has been done, Maxime started adding the CPU hotplug support. I continued his work a few weeks ago and here is the result. Since the 1st version the main change is this CPU hotplug support, in order to validate it I powered up and down the CPUs while performing iperf. I ran the tests during hours: the kernel didn't crash and the network interfaces were still usable. Of course it impacted the performance, but continuously power down and up the CPUs is not something we usually do. I also reorganized the series, the 3 first patches should go through the irq subsystem, whereas the 4 others should go to the network subsystem. However, there is a runtime dependency between the two parts. Patch 5 depend on the patch 3 to be able to use the percpu irq. Thanks, Gregory PS: Thanks to Willy who gave me some pointers on how to deal with the NAPI. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f864288544802ae68b20da293e1b861230852dba Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:38 2015 +0200 net: mvneta: Statically assign queues to CPUs Since the switch to per-CPU interrupts, we lost the ability to set which CPU was going to receive our RX interrupt, which was now only the CPU on which the mvneta_open function was run. We can now assign our queues to their respective CPUs, and make sure only this CPU is going to handle our traffic. This also paves the road to be able to change that at runtime, and later on to support RSS. [gregory.clement@xxxxxxxxxxxxxxxxxx]: hardened the CPU hotplug support. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d893665728f3cc79f7719df50c4345d200bb293c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:37 2015 +0200 net: mvneta: Allow different queues The mvneta driver allows to change the default RX queue trough the rxq_def kernel parameter. However, the current code doesn't allow to have any value but 0. It is actively checked for in the driver's probe because the drivers makes a number of assumption and takes a number of shortcuts in order to just use that RX queue. Remove these limitations in order to be able to specify any available queue. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12bb03b436dad56692e9a103ed26156156bef5d2 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:36 2015 +0200 net: mvneta: Handle per-cpu interrupts Now that our interrupt controller is allowing us to use per-CPU interrupts, actually use it in the mvneta driver. This involves obviously reworking the driver to have a CPU-local NAPI structure, and report for incoming packet using that structure. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2502d0ef272da7058ef303b849a2c8dc324c2e2e Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:35 2015 +0200 net: mvneta: Fix CPU_MAP registers initialisation The CPU_MAP register is duplicated for each CPUs at different addresses, each instance being at a different address. However, the code so far was using CONFIG_NR_CPUS to initialise the CPU_MAP registers for each registers, while the SoCs embed at most 4 CPUs. This is especially an issue with multi_v7_defconfig, where CONFIG_NR_CPUS is currently set to 16, resulting in writes to registers that are not CPU_MAP. Fixes: c5aff18204da ("net: mvneta: driver for Marvell Armada 370/XP network unit") Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.8+ Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 080481f97f425f89440386d02201c1d014f9e0dc Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:34 2015 +0200 irqchip: armada-370-xp: Rework per-cpu interrupts handling The MPIC driver currently has a list of interrupts to handle as per-cpu. Since the timer, fabric and neta interrupts were the only per-cpu interrupts in the system, we can now remove the switch and just check for the hardware irq number to determine whether a given interrupt is per-cpu or not. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aec2e2ad1786eb07814ae60988e0e306cd24a6cc Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:33 2015 +0200 irq: Export per-cpu irq allocation and de-allocation functions Some drivers might use the per-cpu interrupts and still might be built as a module. Export request_percpu_irq an free_percpu_irq to these user, which also make it consistent with enable/disable_percpu_irq that were exported. Reported-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1b7febd725a2cdfc8ac245b7b7437ce4b91aecb Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:32 2015 +0200 genirq: Fix the documentation of request_percpu_irq The documentation of request_percpu_irq is confusing and suggest that the interrupt is not enabled at all, while it is actually enabled on the local CPU. Clarify that. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 271707b1d817f5104e02b2bd1bab43f0c8759418 Author: Graham Moore <grmoore@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 09:39:31 2015 -0500 mtd: nand: denali: max_banks calculation changed in revision 5.1 Read Denali hardware revision number and use it to calculate max_banks, The encoding of max_banks changed in Denali revision 5.1. Signed-off-by: Graham Moore <grmoore@xxxxxxxxxxxxxxxxxxxxx> [Brian: parentheses around macro arg] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 99c221df33fbfa1b30e15dee879eb0a9ae1be353 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Sep 28 18:42:37 2015 +0900 irqchip/renesas-irqc: Move over to nested generic chip Convert the IRQC driver to rely on GENERIC_IRQ_CHIP and set IRQ_GC_INIT_NESTED_LOCK to enable nested locking. 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/20150928094237.32552.83434.sendpatchset@little-apple Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e7dbe2da5e8e247c6e62a0894935d94d7153ed16 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Sep 28 18:42:28 2015 +0900 irqchip/renesas-irqc: Add r8a7795 INTC-EX DT documentation For some reason the name of the external interrupt controller has changed name with r8a7795, so use "intc-ex" instead of "irqc" as r8a7795 compat string to follow the friendly documentation. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Reviewed-by: horms@xxxxxxxxxxxx Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: jason@xxxxxxxxxxxxxx Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150928094228.32552.83336.sendpatchset@little-apple Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 9c07d094bbfe3d09e4c3e01a81cd1399bd23b268 Author: Enrico Jorns <ejo@xxxxxxxxxxxxxx> Date: Fri Sep 18 10:02:41 2015 +0200 mtd: nand: denali: pass col argument to READID operation A read id operation followed by 0x00 reads the device ID while a read id operation followed by 0x20 reads the possible ONFI identifier. As the READID function did not propagate the second id parameter but had a hard-coded call for 0x90 0x00, reading the ONFI identifier was not possible and thus chips werde not detected (tested with MT29F8G08ABABAWP) Signed-off-by: Enrico Jorns <ejo@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9525c4dd923f8ffe38818f86cee523a5f7b19617 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:28:53 2015 +0100 drm/i2c: tda998x: clean up after struct tda998x_priv2 removal We can now kill a number of glue functions which were sitting between the common tda998x code and the drm encoder/connector methods. This results in slightly cleaner code. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a3584f60f4898c9479931cdca1dc19f758af45fb Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:22:50 2015 +0100 drm/i2c: tda998x: kill struct tda998x_priv2 Kill the redundant tda998x_priv2 structure now that its only member is the struct tda998x_priv. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit eed64b5963f1496be62ba41f536346b2186727a0 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:18:28 2015 +0100 drm/i2c: tda998x: move connector into struct tda998x_priv Move the DRM connector structure into struct tda998x_priv from the old struct tda998x_priv2. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 78e401f9891a8ecdb075c0ca46f9f43ce0ed0c4e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:17:12 2015 +0100 drm/i2c: tda998x: remove encoder pointer Remove the encoder pointer from struct tda998x_priv, moving the encoder itself from struct tda998x_priv2 here. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3d58e31888318ebd157ba0680fb24cdcd1bc3d6f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:13:50 2015 +0100 drm/i2c: tda998x: remove DRM slave encoder support Remove the DRM slave encoder compatibility from the TDA998x driver. We now use the component helpers to manage the binding of DRM sub-drivers. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c1444c6357217cea405415b4c96491d4057b0746 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 16:52:51 2015 -0500 bridge: Pass net into br_validate_ipv4 and br_validate_ipv6 The network namespace is easiliy available in state->net so use it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5f5d74d723146c5b97c7318b5851af15b30e3304 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 15:07:31 2015 -0500 ipv6: Pass struct net into ip6_route_me_harder Don't make ip6_route_me_harder guess which network namespace it is routing in, pass the network namespace in. Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e45f50660ee5fd38a540afabb7c0f65d063db631 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 15:07:30 2015 -0500 ipv4: Pass struct net into ip_route_me_harder Don't make ip_route_me_harder guess which network namespace it is routing in, pass the network namespace in. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6a1d689d9f2953975df937be020ae60fa10a73c1 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 15:07:29 2015 -0500 netfilter: ipt_SYNPROXY: Pass snet into synproxy_send_tcp ip6t_SYNPROXY already does this and this is needed so that we have a struct net that can be passed down into ip_route_me_harder, so that ip_route_me_harder can stop guessing it's context. Along the way pass snet into synproxy_send_client_synack as this is the only caller of synprox_send_tcp that is not passed snet already. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d815d90bbbc08777c0e3a36f57b97fc4a4fb3150 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 15:07:28 2015 -0500 netfilter: Push struct net down into nf_afinfo.reroute The network namespace is needed when routing a packet. Stop making nf_afinfo.reroute guess which network namespace is the proper namespace to route the packet in. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 372892ec1151c895c7dec362f3246f089690cfc7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 15:07:27 2015 -0500 ipv4: Push struct net down into nf_send_reset This is needed so struct net can be pushed down into ip_route_me_harder. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4ee4301c4bab22c84df20ce694cc6932dd812be5 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 10:19:35 2015 -0400 tracing: Only create branch tracer options when compiled in When the branch tracer is not compiled in, do not create the option files associated to it. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 729358da95a1b3850ef892e9384f58932da1dc69 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 10:15:10 2015 -0400 tracing: Only create function graph options when it is compiled in Do not create fuction graph tracer options when function graph tracer is not even compiled in. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a3418a364ec3c8f0c29bf3f4cfc71dc6f240150e Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 09:43:30 2015 -0400 tracing: Use TRACE_FLAGS macro to keep enums and strings matched Use a cute little macro trick to keep the names of the trace flags file guaranteed to match the corresponding masks. The macro TRACE_FLAGS is defined as a serious of enum names followed by the string name of the file that matches it. For example: #define TRACE_FLAGS \ C(PRINT_PARENT, "print-parent"), \ C(SYM_OFFSET, "sym-offset"), \ C(SYM_ADDR, "sym-addr"), \ C(VERBOSE, "verbose"), Now we can define the following: #undef C #define C(a, b) TRACE_ITER_##a##_BIT enum trace_iterator_bits { TRACE_FLAGS }; The above creates: enum trace_iterator_bits { TRACE_ITER_PRINT_PARENT_BIT, TRACE_ITER_SYM_OFFSET_BIT, TRACE_ITER_SYM_ADDR_BIT, TRACE_ITER_VERBOSE_BIT, }; Then we can redefine C as: #undef C #define C(a, b) TRACE_ITER_##a = (1 << TRACE_ITER_##a##_BIT) enum trace_iterator_flags { TRACE_FLAGS }; Which creates: enum trace_iterator_flags { TRACE_ITER_PRINT_PARENT = (1 << TRACE_ITER_PRINT_PARENT_BIT), TRACE_ITER_SYM_OFFSET = (1 << TRACE_ITER_SYM_OFFSET_BIT), TRACE_ITER_SYM_ADDR = (1 << TRACE_ITER_SYM_ADDR_BIT), TRACE_ITER_VERBOSE = (1 << TRACE_ITER_VERBOSE_BIT), }; Then finally we can create the list of file names: #undef C #define C(a, b) b static const char *trace_options[] = { TRACE_FLAGS NULL }; Which creates: static const char *trace_options[] = { "print-parent", "sym-offset", "sym-addr", "verbose", NULL }; The importance of this is that the strings match the bit index. trace_options[TRACE_ITER_SYM_ADDR_BIT] == "sym-addr" Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ce3fed628ecc86d81fdb2be5a5c336c636960bfe Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 09:22:05 2015 -0400 tracing: Use enums instead of hard coded bitmasks for TRACE_ITER flags Using enums with FLAG_BIT and then defining a FLAG = (1 << FLAG_BIT), is a bit more robust as we require that there are no bits out of order or skipped to match the file names that represent the bits. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 938db5f569247d13910d4542666709623c4253b0 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Sep 28 16:21:55 2015 -0400 tracing: Remove unused tracing option "ftrace_preempt" There was a time where the function tracing would disable interrupts unless specifically told not to, where it would only disable preemption. With the new lockless code, the function tracing never disalbes interrupts and just uses disabling of preemption. Remove the option "ftrace_preempt" as it does nothing anyway. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 03905582fd093940cf609956adf6feb494e45346 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Sep 28 15:37:49 2015 -0400 tracing: Move "display-graph" option to main options In order to facilitate making all tracer options visible even when the tracer is not active, we need to get rid of duplicate options. Any option that is shared between multiple tracers really should be a main option. As the wakeup and irqsoff tracers both use the "display-graph" option, and use it exactly the same way, move that option from the tracer options to the main options and consolidate them. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 7ee20ff0072154d326c86223fbb88d23aa152b91 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 15:47:51 2015 +0200 ARM: mvebu: Use a CR_C constant instead of a hard-coded one Fix the armada_370_xp_pmsu_idle_enter() function to use a CR_C constant instead of a hard-coded constant in the assembly part. This clean-up was suggested by Russell King. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a3ff23375aa4dac7ceee2087f02b4141c78c762e Author: Guo Zeng <Guo.Zeng@xxxxxxx> Date: Fri Aug 14 01:11:03 2015 +0000 clk: atlas7: fix noc/socket disconnect/reconnect for unit clks Power management on of NoC(Notwork On Chip) requires that disconnect and reconnect routine should been done during clk disable/enable. also there are different types of clocks, For NoC Macro clocks, write idle_bit and wait for hardward ACK; For Socket clocks, write idle_bit; For others, do nothing. Signed-off-by: Guo Zeng <Guo.Zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 1f57d1d88cb2a89466e1782e1c2fd358771ea4c5 Author: Guo Zeng <Guo.Zeng@xxxxxxx> Date: Fri Aug 14 01:11:02 2015 +0000 clk: atlas7: move variable-definition together re-order the codes more reasonable by moving variable-definition together. Signed-off-by: Guo Zeng <Guo.Zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 007ee5f65693fd7370c0f6e70269175ac2ed1a28 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:34:00 2015 -0500 power: bq24257: Add various device-specific sysfs properties This patch adds support for enabling/disabling optional device specific features through sysfs properties at runtime. * High-impedance mode enable/disable * Sysoff enable/disable Refer to the respective device datasheets for more information: http://www.ti.com/product/bq24250 http://www.ti.com/product/bq24251 http://www.ti.com/product/bq24257 Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 0cfbfde65aec4cd9ae4e7971f8a3e42c69e8e24f Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:59 2015 -0500 power: bq24257: Allow input current limit sysfs access This patch allows reading and writing of the input current limit through the power supply's input_current_limit sysfs property. This allows userspace to see what charger was detected (if the D+/D- USB signal- based charger type detection is enabled) and to re-configure the maximum current drawn from the external supply at runtime based on system-level knowledge or user input. Note that upon charger disconnection and re-connection the limit configured through firmware becomes active again (or the D+/D- USB signal-based charger detection will be run again). Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 138606ffe45511fa774e51df04f6da562ff9c44d Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:58 2015 -0500 power: bq24257: Add input DPM voltage threshold setting support A new optional device property called "ti,in-dpm-voltage" is introduced to allow configuring the input voltage threshold for the devices' dynamic power path management (DPM) feature. In short, it can be used to prevent the input voltage from dropping below a certain value as current is drawn to charge the battery or supply the system. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit bb2956e8e1976d876a755896f5be287cb7e766b2 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:57 2015 -0500 power: bq24257: Add over voltage protection setting support A new optional device property called "ti,ovp-voltage" is introduced to allow configuring the input over voltage protection setting. This commit also adds the basic sysfs support for custom properties which is being used to allow userspace to read the current ovp-voltage setting. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7c071a0a08f6c6327b86df918d2dda728355d457 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:56 2015 -0500 power: bq24257: Add SW-based approach for Power Good determination A software-based approach for determining the charger's input voltage "Power Good" state is introduced for devices like the bq24250 which don't have a dedicated hardware pin for that purpose. This SW-based approach is also used for other devices (with dedicated PG pin) as a fall back solution if that pin is not configured to be used through "pg-gpios". Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit eb9fbcc6693ad73745198bbfc7c2b0e881580f59 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:55 2015 -0500 power: bq24257: Allow manual setting of input current limit A new optional device property called "ti,current-limit" is introduced to allow disabling the D+/D- USB signal-based charger type auto- detection algorithm used to set the input current limit and instead to use a fixed input current limit. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 02e6ef9fba3ed85e31b13cbd6bb2185412b44c9e Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Sep 29 22:46:10 2015 +0800 ALSA: firewire-lib: process_rx_data_blocks() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7ef62365c61572085e63e8a7c3483bacfff6e541 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:54 2015 -0500 power: bq24257: Add bit definition for temp sense enable Adding a missing bit definition for the sake of consistency device model vs. bit field representation. No change in functionality. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit bf02dca9ee9d5f9ea7a0ef2e15a2051b8cca6b09 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:53 2015 -0500 power: bq24257: Add basic support for bq24250/bq24251 This patch adds basic support for bq24250 and bq24251 which are very similar to the bq24257 the driver was originally written for. Basic support means the ability to select a device through Kconfig, DT and ACPI, an instance variable allowing to check which chip is active, and the reporting back of the selected device through the model_name power supply sysfs property. This patch by itself is not sufficient to actually use those two added devices in a real-world setting due to some feature differences which are addressed by other patches in this series. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit fff59df1054a56b7960b3a0aa96d86d955dacf55 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:49 2015 -0500 dt: power: bq24257-charger: Cover additional devices Extend the bq24257 charger's device tree documentation to cover the bq24250 and bq24251 devices as well feature additions. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3b84b8efef054ba59e7679d1d430afb437aa4640 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:52 2015 -0500 power: bq24257: Simplify bq24257_power_supply_init() Eliminate a few lines of code by using the PTR_ERR_OR_ZERO() macro. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit dfc602524b9f4ecc6de9a3050667412176db7c55 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:51 2015 -0500 power: bq24257: Use managed power supply register Use the devm_* managed version of the function to register the power supply and remove the associated unregister function. This will simplify error handling moving forward as it allows the unregister to happen automatically. It also saves a few lines of code. As this changes the order of putting the bq24257 into reset vs. unregistering the power-supply during driver remove re-tested various driver unload scenario to make sure that this doesn't cause any unintended side effects such as erroneous interrupts. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b771ae27bc72c7be48993872396c8f1d9a72b12d Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Wed Sep 23 19:53:58 2015 +0200 ARM: dts: stih410: Enable USB2.0 and related PHY nodes at board level A board might not expose the USB2.0 ports, so disable them by default in SoC file, and enable them in b2120 board. Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Acked-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit a4553fefb59cb0336f543fa567170b47e90142a9 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Sep 25 14:43:01 2015 +0800 Btrfs: consolidate btrfs_error() to btrfs_std_error() btrfs_error() and btrfs_std_error() does the same thing and calls _btrfs_std_error(), so consolidate them together. And the main motivation is that btrfs_error() is closely named with btrfs_err(), one handles error action the other is to log the error, so don't closely name them. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Suggested-by: David Sterba <dsterba@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 57d816a15ba2c2690c57635134bc01cf4da4623c Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:52 2015 +0800 Btrfs: __btrfs_std_error() logic should be consistent w/out CONFIG_PRINTK defined error handling logic behaves differently with or without CONFIG_PRINTK defined, since there are two copies of the same function which a bit of different logic One, when CONFIG_PRINTK is defined, code is __btrfs_std_error(..) { :: save_error_info(fs_info); if (sb->s_flags & MS_BORN) btrfs_handle_error(fs_info); } and two when CONFIG_PRINTK is not defined, the code is __btrfs_std_error(..) { :: if (sb->s_flags & MS_BORN) { save_error_info(fs_info); btrfs_handle_error(fs_info); } } I doubt if this was intentional ? and appear to have caused since we maintain two copies of the same function and they got diverged with commits. Now to decide which logic is correct reviewed changes as below, 533574c6bc30cf526cc1c41bde050c854a945efb Commit added two copies of this function cf79ffb5b79e8a2b587fbf218809e691bb396c98 Commit made change to only one copy of the function and to the copy when CONFIG_PRINTK is defined. To fix this, instead of maintaining two copies of same function approach, maintain single function, and just put the extra portion of the code under CONFIG_PRINTK define. This patch just does that. And keeps code of with CONFIG_PRINTK defined. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 92fc03fbdcbe2523be3f7e6b8e95fee9563a10d2 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:51 2015 +0800 Btrfs: SB read failure should return EIO for __bread failure This will return EIO when __bread() fails to read SB, instead of EINVAL. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit c1b7e474595b1b3a4463450cc22aa18b926093a3 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:50 2015 +0800 Btrfs: rename super_kobj to fsid_kobj Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 325760404820e070bb20be0ce57e8d684d69a2ac Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:49 2015 +0800 Btrfs: rename btrfs_kobj_rm_device to btrfs_sysfs_rm_device_link Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit e3bd6973bcf134a56786a8bd248d1740249352ec Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:48 2015 +0800 Btrfs: rename btrfs_kobj_add_device to btrfs_sysfs_add_device_link Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 6618a59bfc0a0490f2a51df37c67878e23285670 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:47 2015 +0800 Btrfs: rename btrfs_sysfs_remove_one to btrfs_sysfs_remove_mounted Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 96f3136e51580ed68a2952341c8b9e2d7f853472 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:46 2015 +0800 Btrfs: rename btrfs_sysfs_add_one to btrfs_sysfs_add_mounted Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 9a3ed1332fb93b3573a3f0ae99315e2dcc041967 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:57 2015 +0200 ARM: mvebu: define crypto SRAM ranges in armada-375-db.dts Define the crypto SRAM ranges so that the resources referenced by the sa-sram node can be properly extracted from the DT. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 35e5bb58dbf6c7b309387a83ffa04584d669ef8b Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:56 2015 +0200 ARM: mvebu: add crypto related nodes to armada 375 dtsi Add crypto related nodes in armada-375.dtsi. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit b416f1926eb6d0f21467b6782c8555af04c46082 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:55 2015 +0200 ARM: mvebu: define crypto SRAM ranges for all armada-370 boards Define the crypto SRAM ranges so that the resources referenced by the sa-sram node can be properly extracted from the DT. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 2dbcdb11a6cfde6b54702c7550f5826f46c3c612 Author: Arnaud Ebalard <arno@xxxxxxxxxxxx> Date: Tue Sep 22 11:20:06 2015 +0200 ARM: mvebu: add crypto related nodes to armada 370 dtsi Add crypto related nodes in armada-370.dtsi. Signed-off-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit c466d997bb160f7c3527f8bb204b1919cbb25259 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:53 2015 +0200 ARM: mvebu: define crypto SRAM ranges for all armada-xp boards Define the crypto SRAM ranges so that the resources referenced by the sa-sram node can be properly extracted from the DT. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 076cdcb12f784b2057f172b5caca641fafa67cdf Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 24 16:14:55 2015 +0200 mac80211: use bool argument to ieee80211_send_nullfunc Instead of int with 0/1, use bool with false/true for the powersave argument to ieee80211_send_nullfunc(). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 90d13e8f5b3c2445f481be4a2012a1861337f718 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 24 16:13:07 2015 +0200 mac80211: reduce indentation by inlining a check Instead of nesting two if statements, inline the second check into the first if statement and to indentation. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 50f36ae61a5b65ba4612a5d2aa696c8ac5b6c988 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Thu Sep 24 14:59:48 2015 +0200 mac80211: fix tx sequence number assignment with software queue + fast-xmit When using software queueing, tx sequence number assignment happens at ieee80211_tx_dequeue time, so the fast-xmit codepath must not do that. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 44674d9c2267f454f38df7b2395939bfa911f92e Author: Ayala Beker <ayala.beker@xxxxxxxxx> Date: Wed Sep 23 10:41:27 2015 +0200 mac80211: advertise support for full station state in AP mode This enables adding stations in unauthenticated mode, just after receiving the first authentication frame; which in turn allows sending a negative authentication reply if the station cannot be added. In addition init rate control for unassociated station only when it becomes associated, prior to that low rates will be used. Signed-off-by: Ayala Beker <ayala.beker@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 47edb11b522561658fe719e56aa69a3c3098a3fe Author: Ayala Beker <ayala.beker@xxxxxxxxx> Date: Mon Sep 21 15:49:53 2015 +0300 cfg80211: allow changing station capabilities for unassociated stations Currently, cfg80211 rejects capability updates for existing entries and as a result it's impossible to update entries that were added unassociated, but that is necessary to go through the full station states from userspace, adding a station before authentication etc. Fix this by allowing updates to capabilities for stations that the driver (or mac80211) assigned unassociated state. Drivers setting the full station state support flag must use the new station type for proper operation. Signed-off-by: Ayala Beker <ayala.beker@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d0a77c6569abe29d921148c45f598bc796084226 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 23 10:42:28 2015 +0200 mac80211: allow writing TX PN in debugfs For certain tests, for example replay detection, it can be useful to be able to influence/set the PN used in outgoing packets. Make it possible to change the TX PN in debugfs. For now, this doesn't support TKIP since I haven't needed it, but there's no reason it couldn't be added if necessary. Note that this must be used very carefully: it could, for example, be used to make "valid replays" where the PN reuse happens on a different TID. This couldn't be done by an attacker since the TID is protected as part of the AAD. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 416eb9fc29469f036c85b412edf89774d6b34b0f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Sep 23 14:18:36 2015 +0200 mac80211: Deinline drv_get/set/reset_tsf() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining these functions have sizes and callsite counts as follows: drv_get_tsf: 634 bytes, 6 calls drv_set_tsf: 626 bytes, 2 calls drv_reset_tsf: 617 bytes, 2 calls Total size reduction is about 4.2 kbytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: Johannes Berg <johannes.berg@xxxxxxxxx> CC: John Linville <linville@xxxxxxxxxxxxx> CC: Michal Kazior <michal.kazior@xxxxxxxxx> CC: linux-wireless@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6db96838971eb4c8ae6285795188f391e97d47c3 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Sep 23 14:18:35 2015 +0200 mac80211: Deinline drv_ampdu_action() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining the function size is 755 bytes and there are 6 callsites. Total size reduction is about 3.3 kbytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: Johannes Berg <johannes.berg@xxxxxxxxx> CC: John Linville <linville@xxxxxxxxxxxxx> CC: Michal Kazior <michal.kazior@xxxxxxxxx> CC: linux-wireless@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 42677ed33a8b6995e6af2ec15643840afcf1c48b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Sep 23 14:18:34 2015 +0200 mac80211: Deinline drv_switch_vif_chanctx() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining the function size is 821 bytes and there are 2 callsites, reducing code size by about 800 bytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: Johannes Berg <johannes.berg@xxxxxxxxx> CC: John Linville <linville@xxxxxxxxxxxxx> CC: Michal Kazior <michal.kazior@xxxxxxxxx> CC: linux-wireless@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx [adjust code-style a bit] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0e5c371aa05522ac14e91ddee0522ad855e12d02 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 23 14:02:47 2015 +0200 mac80211: improve __rate_control_send_low warning If there are no supported rates in the rate mask with the required flags, we warn, but it's not clear which part causes the warning. Add the relevant data to the warning to understand why it happens. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a0c391b1345cfaecfb24c3c07378d80f6168fb61 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 23 10:29:20 2015 +0200 mac80211: minstrel[_ht]: remove non-ascii debugfs characters Replace the average symbol by "avg" to avoid being warned about the non-ASCII symbol all the time, line up the columns properly. (I changed my mind - the warnings are getting annoying) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 27392719541c89595a5c03d49b599ddfe009e6b8 Author: Eliad Peller <eliadx.peller@xxxxxxxxx> Date: Mon Sep 21 15:50:26 2015 +0300 mac80211: don't tear down aggregation on suspend in case of wowlan->any In case of "any" wowlan trigger, there is no reason to tear down aggregations, as we want the device to continue working normally. Similarly, there's no reason to tear down aggregations on resume, as they should have been torn down on suspend if needed. However, since the reconfiguration flow is shared with HW restart, tear down aggregations on reconfiguration when we are not resuming. To keep things working after non-wowlan suspend, keep clearing the WLAN_STA_BLOCK_BA flag. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9f0e13546ef5773b7059b531a667ec47a5f897ee Author: Fu, Zhonghui <zhonghui.fu@xxxxxxxxxxxxxxx> Date: Sat Sep 19 10:40:14 2015 +0800 net/wireless: enable wiphy device to suspend/resume asynchronously Now, PM core supports asynchronous suspend/resume mode for devices during system suspend/resume, and the power state transition of one device may be completed in separate kernel thread. PM core ensures all power state transition timing dependency between devices. This patch enables wiphy device to suspend/resume asynchronously. This can take advantage of multicore and improve system suspend/resume speed. Signed-off-by: Zhonghui Fu <zhonghui.fu@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9aae296a6208188fb40da987efb6bcd92f4fb169 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 15:19:38 2015 +0200 mac80211: Deinline drv_add/remove/change_interface() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining these functions have sizes and callsite counts as follows: drv_add_interface: 638 bytes, 5 calls drv_remove_interface: 611 bytes, 6 calls drv_change_interface: 658 bytes, 1 call Total size reduction is about 9 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: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4fbd572c29bd184146e8adf52631db193c4e34b9 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 15:19:35 2015 +0200 mac80211: Deinline drv_sta_rc_update() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining the function size is 706 bytes and there are 2 callsites, reducing code size by about 700 bytes. 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: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b23dcd4aca1854cda520def01731ad035cae94d8 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 15:19:34 2015 +0200 mac80211: Deinline drv_conf_tx() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining the function size is 785 bytes and there are 7 callsites. Total size reduction is about 3.5 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: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 35afa588624c4f9e19a0edfbb51769b59c90bb0d Author: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Date: Wed Sep 9 09:46:32 2015 +0200 mac80211: Copy tx'ed beacons to monitor mode When debugging wireless powersave issues on the AP side it's quite helpful to see our own beacons that are transmitted by the hardware/driver. However, this is not that easy since beacons don't pass through the regular TX queues. Preferably drivers would call ieee80211_tx_status also for tx'ed beacons but that's not always possible. Hence, just send a copy of each beacon generated by ieee80211_beacon_get_tim to monitor devices when they are getting fetched by the driver. Also add a HW flag IEEE80211_HW_BEACON_TX_STATUS that can be used by drivers to indicate that they report TX status for beacons. Signed-off-by: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> (with a fix from Christian Lamparted rolled in) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 759742d13caa11acf24b0aef7daa8b56f244f231 Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Wed Sep 23 03:04:24 2015 +0200 ARM: dts: stih407/410: Tidy up display nodes The display nodes are common to both STiH407 and STiH410, move them to the family file. Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Acked-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 8aa5f09df06f0c3a5a799c5fcf878acaf29db93f Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Wed Sep 23 02:47:44 2015 +0200 ARM: dts: stih407: Enable PWM nodes only board level The PWM may not be used on some boards, so enable them only the board file. Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Acked-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit b2ee6b7bd597f567dc40447bb2ca473604ce3b6a Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:52 2015 +0200 ARM: mvebu: add crypto related nodes to armada-xp.dtsi Add crypto related nodes to armada-xp.dtsi. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 97dd823e7e88d6c5a1aaf6dae5ecf5d0c43850ca Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:09:21 2015 +0200 ARM: mvebu: add CPU config registers in the Armada 370/XP Device Tree This commit adds the description of the CPU config registers in the Armada 370 and Armada XP Device Tree. Since the registers are in fact different between the two SoCs, a different compatible string is used. Note that the Armada 370 node is currently unused, but it is nonetheless added for consistency with the addition on the Armada XP side. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a591989a7c162587f24305c3fe3bd8f055ed3329 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:31 2015 +0200 iommu/amd: Drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) { \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); x = NULL; -} // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d492cccac28493f26bb70038385a9ef4df19bdee Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:09:20 2015 +0200 ARM: mvebu: add support to clear shared L2 bit on Armada XP For optimal performance, in a HW I/O coherency context such as the one used on Armada XP, the shared L2 bit of the CPU configuration register should be cleared. This commit adjusts the coherency fabric code used by Marvell EBU processors to clear this bit on Armada XP. Since it's a per-CPU register, it's cleared in set_cpu_coherent() for the boot CPU, and through a CPU notifier for the non-boot CPUs. [gregory.clement@xxxxxxxxxxxxxxxxxx: rebasd on 4.3-rc1] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 0c6cac7ab44435d8837931a561cc4d58530cc032 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Thu Sep 10 14:46:40 2015 +0200 hwmon: applesmc: fix comment typos s/ressources/resources/ Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0dec1474ab27f308c0d6ef542ef36100712dc81b Author: Rolf Eike Beer <eike-kernel@xxxxxxxxx> Date: Fri Sep 4 20:52:45 2015 +0200 Kconfig: remove comment about scsi_wait_scan module This module has been removed in commit 6072609d9bb91ff54aee3ef29304bd5b4fc88aae ([SCSI] Remove scsi_wait_scan module), so this module is gone since 3.6. Signed-off-by: Rolf Eike Beer <eike-kernel@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1207775428d57508fd1b4c9403833463a6b632c2 Author: Rolf Eike Beer <eike-kernel@xxxxxxxxx> Date: Fri Sep 4 20:49:14 2015 +0200 class_find_device: fix reference to argument "match" There is no argument "fn". Signed-off-by: Rolf Eike Beer <eike-kernel@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 99207b80bbf602f1674485c3f9653b7c527785d9 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:12 2015 -0400 staging/lustre: Remove ccc_transient_page_* methods All of them but the ccc_transient_page_prep are unused, so remove the unused ones. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6f4b8554f9b0bd5ac86f495c137de0696856f6c Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:11 2015 -0400 staging/lustre: Remove unused ccc_io_fini() Does not appear to be used anywhere. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c74cb0125fc80c2179c0a321ad698a882676fbc Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:10 2015 -0400 staging/lustre: Remove ccc_attr/conf_set() These seem to be unused. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af3ec53b7b6723d89f25f223ca293b3361071272 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:09 2015 -0400 staging/lustre: Remove server-only recovery-related bits This patch is a first stab at trying to remove structure fields from obd_export and obd structures that are only used on the server or make sense on the server. These include tracking requests in recovery, various recovery stages, lists of recovered and not yet recovered clients and so on. Also prune functions that use these fields. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 706d263ffaad264f72a3b4dbbc4b904aec87352d Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:08 2015 -0400 staging/lustre/obdclass: Remove unused nid_hash nid_hash is used on export to faster find clients based on their NID. There's no use for that on the client. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 072b36e13e766e715944ead0ee35d131ecee0071 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:07 2015 -0400 staging/lustre/fid: Remove unused struct lu_server_seq Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4f8407fb1ef35b8fd2475e15eba6f2c928b78ae Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:06 2015 -0400 staging/lustre/fid: Get rid of lcs_srv in lu_client_seq Since we know lcs_srv is always NULL, just get rid of it completely and fix up all the code to assumee it was never there. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 997f0eed26eb14c14e01810a097f7f69e7adbf48 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:05 2015 -0400 staging/lustre/fid: Remove unused seq_client_get_seq function Also while we are at it, remove seq_site_fini forward declaration as there's no such function anymore. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 065749efe4b27333338d7d7db68adf82afdef1fb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:04 2015 -0400 staging/lustre/fid: seq_client_init/fini don't need to be exported In fact they could be static as they are only used inside this file, so remove EXPORT_SYMBOL and declarations. Also seq_client_init is always called with srv = NULL, so just drop this argument. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db65e92727017ccba61e998bd26f87ca34283d17 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:03 2015 -0400 staging/lustre/fid: Remove server fid function declarations Those functions are not present anywhere in the client code. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db2162d17565ff1f90fe24464cc14974ce9fbff6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 23:44:02 2015 -0400 staging/lustre: remove lots of dead code This is a large patch to remove all dead code from obdclass and ptlrpc, purely removing functions and declarations now, so despite the size should be easy enough to verify. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e57708b2071cdff36d8b8815dad30b345ac5d2d Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:01 2015 -0400 staging/lustre: Drop unused obdo_from_la() and la_from_obdo() They are no longer used anywhere. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d97cc6442a44ecbd5e7c6c00be4a863de3ee3158 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:00 2015 -0400 staging/lustre/ptlrpc: secure wrapping code cleanup Drop unused functions. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11109260080f2840e3563cbede8bec73c0699f5a Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:59 2015 -0400 staging/lustre/ptlrpc: Drop unused client code These client request/import functions are not used anywhere, so drop them. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e461e18fabdcbb2f16d2d094c6d5512c0cd2a51b Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:58 2015 -0400 staging/lustre/obdclass: Drop unused code from obdo.c These functions are not even referenced in any header files anymore. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a6c5cb5f65596776f0fdc8593fe0d33a72a44ea Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:57 2015 -0400 staging/lustre: Remove unused function server_name2svname() All users are only in the server code Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a459a79cea24cf0f6def24a16ce7b308d93d8a2 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:56 2015 -0400 staging/lustre: Remove unused function class_handle_hash_back() No callers left. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f27355ba2f7b3f6916e9dd8e46a7a540a88eb564 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:55 2015 -0400 staging/lustre/obdclass: Remove unused functions from genops.c These functions are mostly used on the server. class_uuid2obd, get_devices_count, class_obd_list, class_conn2obd, class_conn2cliimp, class_connected_export, obd_exports_barrier, kuc_* (kernel-userspace communications). Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b30c78e216e5ce37b28c665b22ff9ec2882d7c2c Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:54 2015 -0400 staging/lustre/ldlm: Remove unused round_timeout function It's not referenced anywhere anymore. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 709e280afae54722421cc43e8b8436d058aae03f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:53 2015 -0400 staging/lustre: Remove unused lu_object functions. Quite a bunch of them are only used on the server. lu_object_put_nocache, lu_object_invariant, lu_dev_del_linkage, lu_context_tags_update, lu_context_tags_clear, lu_session_tags_update, lu_session_tags_clear, lu_env_refill_by_tags, lu_printk_printer, lu_object_assign_fid, lu_object_anon, lu_buf_free, lu_buf_alloc, lu_buf_realloc, lu_buf_check_and_alloc, lu_buf_check_and_grow Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a83a765d14df24c8fa0fc500d24b0334638ee828 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:52 2015 -0400 staging/lustre: Remove unused functions and definitions from cl_object cl_object_header_fini, cl_object_has_locks, cl_attr2lvb, cl_page_list_own, cl_page_list_unmap, cl_2queue_assume, cl_io_print, cl_enqueue, also cleanup extern declarations in cl_object.h Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5febc9916156226f519be65a32648c0c4a699ac Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:51 2015 -0400 staging/lustre: Remove unused ptlrpcd_add_rqset() No point in retaining it if it's unused. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d075f05f40a8b5349b54a822a26fd0777d99918 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:50 2015 -0400 staging/lustre: Remove unused statfs_pack() It's only used on the server. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 942f38903c6c00db24d6bfc42af79dba6bd895ba Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:49 2015 -0400 staging/lustre: Remove high-priority request callbacks This function is only used on the server where real high-priority requests actually exist. This deletes ptlrpc_hpreq_handler() and ptlrpc_request_change_export() Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dab49b4062f51346a88a7426132e76c1b4d23ad4 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:48 2015 -0400 staging/lustre: Remove unused reply state batches code rs_batch is used on the server only. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0744613b234a59a53cad6302e6925ee0874bb51 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:47 2015 -0400 staging/lustre: Remove unused req_capsule_server_grow It's only used on the server Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e64674d093ed58e507cf93647e690c2a11541181 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:46 2015 -0400 staging/lustre/ptlrpc: Remove server-specific health checks ptlrpc_service_health_check is only used on a service, so it makes no point to retain it in the client code. Also removing it's helpers: ptlrpc_svcpt_health_check and ptlrpc_nrs_req_peek_nolock Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 600362f9170af4b3370c8e43cddb81a8182a7998 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:45 2015 -0400 staging/lustre: Remove unused lustre_acl_xattr_merge2posix() Apparently this is only used only on the metadata server. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f24f47a4778df876acc2f3204465e4710f575bcf Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:44 2015 -0400 staging/lustre: Remove unused target_print_req() This is a server-side request printing function, so we don't really need it on the client. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 636db7a96cbd95f7842246a3f5f842ba791cd393 Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Fri Sep 4 01:54:22 2015 +0200 debugfs: document that debugfs_remove*() accepts NULL and error values According to commit a59d6293e537 ("debugfs: change parameter check in debugfs_remove() functions"), this is meant to make cleanup easier for callers. In that case it ought to be documented. Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5bd28f0701ca989629bfeae86e5167b54804bb60 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Sep 29 11:14:42 2015 +0530 Staging: most: Use module_i2c_driver Macro module_i2c_driver is used for drivers whose init and exit paths does only register and unregister to i2c API. Remove some boilerplate code by using module_i2c_driver. Problem found using Coccinelle. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02ab79c80bc4ba5288e84d717ec4f6dc0030c90f Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Tue Sep 29 12:22:03 2015 +0100 staging: comedi: ni_tiocmd: remove unused code Code after a return will never run, removing this dead code. Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1282bade3b8e34cb4a26b8444577d70c7f15e0d8 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 29 10:47:49 2015 +0300 staging: sm750fb: remove dead code Remove the code enclosed in '#if 0' Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbef168fec837ae26c8725737cd4b49dc8a0f917 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Tue Sep 29 15:05:44 2015 +0200 Bluetooth: Add hci_cmd_sync function Send a HCI command and wait for command complete event. This function serializes the requests by grabbing the req_lock. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b5ffe634425591db5692fa242da0bbe20d1f76a7 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:47 2015 +0530 net: 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: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 18e8e5c7a9f9aef1b45e0729dc340989d5a954d0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:46 2015 +0530 mm: 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: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a1c83681d52704c766d576bea2d7f2f99e8dde23 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:44 2015 +0530 fs: 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: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: Steve French <smfrench@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit bf69a3b60e4d892f8c1d7a6b18cf84aaa7acd43f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:42 2015 +0530 drivers: net: 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: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d9902d597ac54c8abc02e37492e2bc102f31e83f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:41 2015 +0530 drivers: misc: 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: Jiri Kosina <jkosina@xxxxxxx> commit 061eebba3d3077186609da7d8029e0fd89f194e7 Author: Andrew Murray <amurray@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 12:02:09 2015 +0100 UBI: Update comments to reflect UBI_METAONLY flag This patch trivially updates code comments to reflect the addition of the UBI_METAONLY flag - as discussed https://lkml.org/lkml/2014/10/29/764 Cc: Richard Weinberger <richard@xxxxxx> Cc: trivial@xxxxxxxxxx Signed-off-by: Andrew Murray <amurray@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0220531a13b83d0049dcf1391a5a0cb10346962f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:01 2015 +0200 pktcdvd: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 336382c78b926af7f3b22f738998962cec5a26e1 Author: Geoff Levand <geoff@xxxxxxxxxxxxx> Date: Mon Sep 14 14:36:35 2015 -0700 powerpc/ps3: Refresh ps3_defconfig Refresh and remove obsolete CONFIG_EXT3_FS. Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6a6120bc5ec9e54d3cc06e739c270b55b081abe5 Author: Colin King <colin.king@xxxxxxxxxxxxx> Date: Mon Sep 14 19:35:04 2015 +0000 drivers/ps3: Fix ps3-vuart null dereference On the unlikely event that drv is null, the current code will perform a null pointer dereference with it when printing a dev_dbg message. Instead, the BUG_ON check on drv should be performed before we emit the dev_dbg message. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 12a509336701132f521c8fc22a5910478ca98cb3 Author: Rudhresh Kumar J <rudhresh.jk@xxxxxxxxx> Date: Mon Sep 14 19:35:04 2015 +0000 drivers/ps3: Fix ps3-lpm white space Fixed a coding style issue. Signed-off-by: Rudhresh Kumar J <rudhresh.jk@xxxxxxxxx> Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e5e16d8f3ec6973af2068897786be619cf97860e Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Mon Sep 7 07:58:00 2015 +0800 powerpc: Kconfig: remove BE-only platforms from LE kernel build Currently, little endian is only supported on powernv and pseries, however, Kconfigs still allow us to include other platforms in a LE kernel, this may result in space wasting or even build error if some BE-only platforms always assume they are built for a BE kernel. So just modify the Kconfigs of BE-only platforms to remove them from being built for a LE kernel. For 32bit only platforms, nothing needs to be done, because CPU_LITTLE_ENDIAN depends on PPC64. For 64bit supported platforms, add CPU_BIG_ENDIAN to dependencies explicitly, so that these platforms will be disabled for LE [Suggested-by: Cédric Le Goater <clg@xxxxxxxxxx>]. Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Acked-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6b7464b703e3147b54dcb1032dfa10244f5a4d56 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Sep 28 06:44:31 2015 -0500 Documentation/EDAC: Add reference documents section for amd64_edac This section used to be in amd64_edac.h. Move it here as it is a more natural place to put all documentation-related info. Add links to the BKDGs while at it. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: linux-doc@xxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443440671-2400-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1a8bc7707edb7c90478012076beb9207ab67d8d1 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Sep 28 06:43:13 2015 -0500 EDAC, amd64_edac: Update copyright and remove changelog Git provides us all the changelogs anyway. So trim the comments section here. Update the copyrights info while at it. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443440593-2316-3-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit da92110dfdfacfdb0e3be06040a14d96c23be5d0 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Sep 28 06:43:12 2015 -0500 EDAC, amd64_edac: Extend scrub rate support to F15hM60h The scrub rate control register has moved to function 2 in PCI config space and is at a different offset on family 0x15, models 0x60 and later. The minimum recommended scrub rate has also changed. (Refer to D18F2x1c9_dct[1:0][DramScrub] in Fam15hM60h BKDG). Adjust set_scrub_rate() and get_scrub_rate() functions to accommodate this. Tested on F15hM60h, Fam15h, models 00h-0fh and Fam10h systems. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443440593-2316-2-git-send-email-Aravind.Gopalakrishnan@xxxxxxx [ Cleanup conditionals. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 094435d41df823dde850e193add57534a5b709c9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Sep 29 12:57:42 2015 +0200 ALSA: pcm: Avoid double hw_free calls at releasing a stream snd_pcm_release_substream() always calls hw_free op when the stream was opened. This is superfluous in most cases because it's been already released via explicit hw_free ioctl. Although this double call is usually OK as this callback should be written to be called multiple times, it's better to avoid superfluous calls. Reported-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Jeeja Kp <jeeja.kp@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d8dfacf8b50c260d79864933ac82a8198a0908a9 Merge: e87359e df075fe Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Sep 29 12:52:07 2015 +0200 Merge branch 'topic/firewire-update' into for-next commit df075feefbd347f13fba5198294cda619532c237 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:22:02 2015 +0900 ALSA: firewire-lib: complete AM824 data block processing layer This commit moves the codes related to data block processing from packet streaming layer to AM824 layer. Each driver initializes amdtp stream structure for AM824 data block by calling amdtp_am824_init(). Then, a memory block is allocated for AM824 specific structure. This memory block is released by calling amdtp_stream_destroy(). When setting streaming parameters, it calls amdtp_am824_set_parameters(). When starting packet streaming, it calls amdtp_stream_start(). When stopping packet streaming, it calls amdtp_stream_stop(). Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 49c7b3fcd9f0a0125e8cd8212d5576382198eeb2 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:22:01 2015 +0900 ALSA: firewire-lib: rename macros with AM824 prefix This commit renames some macros just related to AM824 format. In later commit, they're moved to AM824 layer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 85130cb43e78a7bdb2ade10131563d89fbbddf9d Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:22:00 2015 +0900 ALSA: firewire-lib: rename PCM format helper function Setting the format of PCM substream to AMDTP stream structure is important to set a handler to copy actual PCM samples between buffers. The processing should be in data block processing layer because essentially it has no relationship to packet streaming. This commit renames PCM format setting function to prepare for integrating AM824 layer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 03e2a67eed7bf2e4c701587080bc8d60dd45209c Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:59 2015 +0900 ALSA: firewire-lib: move MIDI trigger helper function to AM824 layer In IEC 61883-6, MIDI messages are transferred in MIDI conformant data channel. Essentially, packet streaming layer is not responsible for MIDI functionality. This commit moves MIDI trigger helper function from the layer to AM824 layer. The rest of codes related to MIDI functionality will be moved in later commits. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f65be911c0e13fab28919e17c9fa00c38dc4ff2f Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:58 2015 +0900 ALSA: firewire-lib: add helper functions to set positions of data channels In IEC 61883-6, several types of data are available in AM824 format. The data is transferred in each data channel. The position of data channel in data block differs depending on model. Current implementation has an array to map the index of data channel in an data block to the position of actual data channel. The implementation allows each driver to access the mapping directly. In later commit, the mapping is in specific structure pushed into an opaque pointer. Helper functions are required. This commit adds the helper functions for this purpose. In IEC 61883-6, AM824 format supports many data types, while this specification easily causes over-engineering. Current AM824 implementation is allowed to handle two types of data, Multi Bit Linear Audio data (=PCM samples) and MIDI conformant data (=MIDI messages). Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bc8500da3e62cd6a896407a1b330a2eb21817c22 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:57 2015 +0900 ALSA: firewire-lib: move PCM substream constraint to AM824 layer In IEC 61883-6, PCM frames are transferred in Multi Bit Linear Audio data channel. The data channel transfers 16/20/24 bit PCM samples. Thus, PCM substream has a constrain about it. This commit moves codes related to the constraint from packet streaming layer to AM824 data block processing layer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 51c29fd21389d9995a8a18a91eeb8dd1220a2119 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:56 2015 +0900 ALSA: firewire-lib: rename parameter setting function for AM824 with FDF field The value of FDF field in CIP header is protocol-dependent. Thus, it's better to allow data block processing layer to decide the value in any timing. In AM824 data format, the value of FDF field in CIP header indicates N-flag and Nominal Sampling Frequency Code (sfc). The N-flag is for switching 'Clock-based rate control mode' and 'Command-based rate control mode'. In our implementation, 'Clock-based rate control mode' is just supported. Therefore, When sampling transfer frequency is decided, then the FDF can be set. This commit replaces 'amdtp_stream_set_parameters' with 'amdtp_am824_set_parameters' to set the FDF. This is the same timing to decide the ration between the number of data blocks and the number of PCM frames. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5955815e71ff9c773b156680c781c87728e37bea Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:55 2015 +0900 ALSA: firewire-lib: add data block processing layer for AM824 format This commit adds data block processing layer for AM824 format. The new layer initializes streaming layer with its value for fmt field. Currently, most implementation of data block processing still remains streaming layer. In later commits, these codes will be moved to the layer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d67c46b953749aef223496ec95b7bf93e40887dc Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:54 2015 +0900 ALSA: firewire-lib: rename 'amdtp' to 'amdtp-stream' to prepare for functional separation In later commit, data block processing layer will be newly added. This layer will be named as 'amdtp-am824'. This commit renames current amdtp file to amdtp-stream, to distinguish it from the new layer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 414ba022a5287e9473c7fa2b4aa1b1025e9ca8be Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:53 2015 +0900 ALSA: firewire-lib: add support arbitrary value for fmt/fdf fields in CIP header Some vendor specific protocol uses its own value for fmt/fdf fields in CIP header. This commit support to set arbitrary values for the fields. In IEC 61883-6, NO-DATA code is defined for FDF field. A packet with this code includes no data even if it includes some data blocks. This commit still leaves a condition to handle this special packet. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 20e445771ea109bc0ce9e717cbf2475e56a141a8 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:52 2015 +0900 ALSA: firewire-lib: add helper functions as interfaces between packet streaming layer and data block processing layer ALSA PCM framework uses PCM buffer with a concept of 'period' to synchronize userspace operations to hardware for nearly-realtime processing. Each driver implements snd_pcm_period_elapsed() to tell across of the period boundary to ALSA PCM middleware. To call the function, some drivers utilize hardware interrupt handlers, the others count handled PCM frames. Drivers for sound units on IEEE 1394 bus are the latter. They use two buffers; PCM buffer and DMA buffer for IEEE 1394 isochronous packet. PCM frames are copied between these two buffers and 'amdtp_stream' structure counts the handled PCM frames. Then, snd_pcm_period_elapsed() is called if required. Essentially, packet streaming layer should not be responsible for PCM frame processing. The PCM frame processing should be handled in each data block processing layer as a result of handling data blocks. Although, PCM frame counting is a common work for all of protocols which ALSA firewire stack is going to support. This commit adds two new helper functions as interfaces between packet streaming layer to data block processing layer. In future, each data block processing layer implements these functions. The packet streaming layer calls data block processing layer per packet by calling the functions. The data block processing layer processes data blocks and PCM frames, and returns the number of processed PCM frames. Then the packet streaming layer calculates handled PCM frames and calls snd_pcm_period_elapsed(). Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6a4e89ff0f4e46c1a9d0c28e786952e70516a5f4 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:51 2015 +0900 ALSA: firewire-lib: add a member of frame_multiplier instead of double_pcm_frames In future commit, interface between data block processing layer and packet stream processing layer is defined. These two layers communicate the number of data blocks and the number of PCM frames. The data block processing layer has a responsibility for calculating the number of PCM frames. Therefore, 'dual wire' of Dice quirk should be handled in data block processing layer. This commit adds a member of 'frame_multiplier'. This member represents the ratio of the number of PCM frames against the number of data blocks. Usually, the value of this member is 1, while it's 2 in Dice's 'dual wire'. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 27ec83b5c6ac08599240ec9a95286e79d6ea9e51 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:50 2015 +0900 ALSA: firewire-lib: add an argument for Dice's dual wire mode In IEC 61883-6, one data block represents one event. In ALSA, the event is one PCM frame. Therefore, when processing one data block, current implementation counts one PCM frame. On the other hand, Dice platform has a quirk called as 'dual wire' at higher sampling rate. In detail, see comment of commit 6eb6c81eee2a ("ALSA: dice: Split stream functionality into a file"). Currently, to handle this quirk, AMDTP stream structure has a 'double_pcm_frames' member. When this is enabled, two PCM frames are counted. Each driver set this flag by accessing the structure member directly. In future commit, some members related to AM824 data block will be moved to specific structure, to separate packet streaming layer and data block processing layer. The access will be limited by opaque pointer. For this reason, this commit adds an argument into amdtp_stream_set_parameter() to set the flag. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 547e631ce3886175a33b5ccf67729bdd18e9b7e0 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:49 2015 +0900 ALSA: firewire-lib: return error code when amdtp_stream_set_parameters() detects error Currently, amdtp_stream_set_parameters() returns no error even if wrong arguments are given. This is not good for streaming layer because drivers can continue processing ignoring capability of streaming layer. This commit changes this function to return error code. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 10b2b6dc1a6bb287411045c788f76d53f96c11bc Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:48 2015 +0900 ALSA: firewire-lib: arrange structure for AMDTP stream In later commit, some members related to AM824 data format will be moved from AMDTP stream structure to data block structure. This commit is a preparation for it. Additionally, current layout of AMDTP stream structure is a bit mess by several extensions. This commit also arranges the layout. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dc425a1c8c02b45fbab8b3ba522649d238cf84db Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Sep 28 17:22:17 2015 +0300 HID: multitouch: Add suffix for HID_DG_TOUCHPAD Instead of printing "UNKNOWN" as device suffix for HID_DG_TOUCHPAD call the device as "Touchpad". Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: Daniel Martin <consume.noise@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f3984edc171c9f1296502d6d5e41290785816736 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Sep 28 15:15:08 2015 +0300 HID: i2c-hid: Fill in physical device providing HID functionality Currently hid_connect() prints out following when I2C connected HID devices is connected: hid-multitouch 0018:03EB:2136.0001: ... [ATML3432:00 03EB:2136] on After "on " should read physical device name but it is left empty by the driver. Make it look better and fill in the physical device name. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: Daniel Martin <consume.noise@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4e077237cfb6ab13701d504060d3ae248b191e6e Author: Michael Rossberg <michael.rossberg@xxxxxxxxxxxxx> Date: Tue Sep 29 11:25:08 2015 +0200 xfrm: Fix state threshold configuration from userspace Allow to change the replay threshold (XFRMA_REPLAY_THRESH) and expiry timer (XFRMA_ETIMER_THRESH) of a state without having to set other attributes like replay counter and byte lifetime. Changing these other values while traffic flows will break the state. Signed-off-by: Michael Rossberg <michael.rossberg@xxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit c386578f1cdb4dac230395a951f88027f64346e3 Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Date: Tue Sep 29 11:40:49 2015 +0200 xfrm: Let the flowcache handle its size by default. The xfrm flowcache size is limited by the flowcache limit (4096 * number of online cpus) and the xfrm garbage collector threshold (2 * 32768), whatever is reached first. This means that we can hit the garbage collector limit only on systems with more than 16 cpus. On such systems we simply refuse new allocations if we reach the limit, so new flows are dropped. On syslems with 16 or less cpus, we hit the flowcache limit. In this case, we shrink the flow cache instead of refusing new flows. We increase the xfrm garbage collector threshold to INT_MAX to get the same behaviour, independent of the number of cpus. The xfrm garbage collector threshold can still be set below the flowcache limit to reduce the memory usage of the flowcache. Tested-by: Dan Streetman <dan.streetman@xxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit d8d09564b830c2040a39039dd1e683c26158f466 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 12:41:42 2015 +0100 extcon: arizona: Add support for WM8998 and WM1814 This patch adds support for the WM8998 and WM1814 codecs. These use the same IP version as WM5110 but have different clamp control. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 37e57066d58e6c78cb8e8b22b46c3633630ad411 Merge: 363b389 6c20b93 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Sep 29 18:10:04 2015 +0900 Merge branch 'ib-extcon-mfd-4.4' into extcon-next commit 363b389106e6762bc855d3da794461be18597d52 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:21 2015 +0200 extcon: sm5502: fix handling regmap_irq_get_virq result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 238ffc2e64646951d2d3c541f3624b01be5f65e4 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:20 2015 +0200 extcon: rt8973a: fix handling regmap_irq_get_virq result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 4bf27b7038c23fe789aa9bd553a6391cc33ccfa1 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Mon Sep 14 23:19:35 2015 +0530 extcon: axp288: Convert to using managed resources Use resource managed functions devm_usb_get_phy and devm_gpio_request to make error path simpler. To be compatible the change, various gotos are replaced with direct returns and unnecessary label gpio_req_failed is dropped. Also, remove function axp288_extcon_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit ff612f9170eaa9ca7ade357b270f582b0c44ed70 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:31:15 2015 +0200 extcon: 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: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 8ac2a1704a9f315d490ca1050b8fe8367644e675 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:39 2015 +0200 irqchip/gicv3-its: Use new jump label API Use newly introduced jump label API. Make this a separate patch for easier backporting to older kernels of the errata patch set. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Marc Zygnier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-7-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 94100970743365a9f9e186520e77ef56c492058d Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:38 2015 +0200 irqchip/gicv3-its: Workaround for Cavium ThunderX errata 22375, 24313 This implements two gicv3-its errata workarounds for ThunderX. Both with small impact affecting only ITS table allocation. erratum 22375: only alloc 8MB table size erratum 24313: ignore memory access type The fixes are in ITS initialization and basically ignore memory access type and table size provided by the TYPER and BASER registers. Signed-off-by: Ganapatrao Kulkarni <gkulkarni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Marc Zygnier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-6-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 67510ccafb9d69e79079b5cd6c9959025bc02061 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:37 2015 +0200 irqchip/gicv3-its: Add HW revision detection and configuration Some GIC revisions require an individual configuration to esp. add workarounds for HW bugs. This patch implements generic code to parse the hw revision provided by an IIDR register value and runs specific code if hw matches. A function is added that reads the IIDR registers for ITS (GITS_IIDR) and then goes through a list of init functions to be called for specific versions. Same could be done for GICV3 (GICD_IIDR), but there are no users yet for it. The patch is needed to implement workarounds for HW errata in Cavium's ThunderX GICV3 ITS. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Marc Zygnier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-5-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c14e36733b8a63894db9ca0b486ce14299ef2fda Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:36 2015 +0200 irqchip/gicv3-its: Read typer register outside the loop No need to read the typer register in the loop. Values do not change. This patch is basically a prerequisite for a follow-on patch that adds errata code for Cavium ThunderX. It moves the calculation of the number of id entries to the beginning of the function close to other setup values that are needed to allocate the its table. Now we have a central location to modify the setup parameters and the errata code can be implemented in a single block. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-4-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6d4e11c5e2e8cd54a035ba395bf8ccfa7e22cfd8 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:35 2015 +0200 irqchip/gicv3: Workaround for Cavium ThunderX erratum 23154 This patch implements Cavium ThunderX erratum 23154. The gicv3 of ThunderX requires a modified version for reading the IAR status to ensure data synchronization. Since this is in the fast-path and called with each interrupt, runtime patching is used using jump label patching for smallest overhead (no-op). This is the same technique as used for tracepoints. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Marc Zygnier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-3-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 30f2136346cab91e1ffd9ee6370d76809f20487a Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:34 2015 +0200 irqchip/gicv3-its: Add range check for number of allocated pages The number of pages for the its table may exceed the maximum of 256. Adding a range check and limitting the number to its maximum. Based on a patch from Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx>. Signed-off-by: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-2-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1f9c6e1bc1ba5f8a10fcd6e99d170954d7c6d382 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 21 19:19:53 2015 +0300 mwifiex: fix mwifiex_rdeeprom_read() There were several bugs here. 1) The done label was in the wrong place so we didn't copy any information out when there was no command given. 2) We were using PAGE_SIZE as the size of the buffer instead of "PAGE_SIZE - pos". 3) snprintf() returns the number of characters that would have been printed if there were enough space. If there was not enough space (and we had fixed the memory corruption bug #2) then it would result in an information leak when we do simple_read_from_buffer(). I've changed it to use scnprintf() instead. I also removed the initialization at the start of the function, because I thought it made the code a little more clear. Fixes: 5e6e3a92b9a4 ('wireless: mwifiex: initial commit for Marvell mwifiex driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2b8fa9e870b7dd4ea30a0c72e3a134533552278f Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 15:44:25 2015 +0200 airo: Implement netif_carrier_on/off Add calls to netif_carrier_on and netif_carrier_off Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4a0f2ea79797642341020eae5918871db94fc769 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 15:44:24 2015 +0200 airo: fix IW_AUTH_ALG_OPEN_SYSTEM IW_AUTH_ALG_OPEN_SYSTEM is ambiguous in set_auth for WEP as wpa_supplicant uses it for both no encryption and WEP open system. Cache the last mode set (only of these two) and use it here. This allows wpa_supplicant to work with unencrypted APs. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b5cf0022450d2068e56b60cbbd0b5ff1430b7656 Author: Jelle de Jong <jelledejong@xxxxxxxxxxxxx> Date: Tue Sep 22 15:36:05 2015 +0200 ARM: dts: sun7i: Add dts file for Wits Pro A20 DKT The Wits Pro A20 DKT is an A20 Development KiT with 1G RAM, 4G NAND, sdio wifi, 1Gbit ethernet, 1024x768 lcd screen with ft5x_ts touchscreen and a ton of IO connectors. Note there seem to be multiple sdcard slots on the board (4 in total), but other then mmc0 none of these are hooked up by default, there is a ton of dip-switches which likely allow hooking some of these up, but the documentation of the board only describes the use of a fraction of them, so for now we only support mmc0. Signed-off-by: Jelle de Jong <jelledejong@xxxxxxxxxxxxx> [hdegoede@xxxxxxxxxx: Use pwrseq instead of a regulator for the wifi-en pin] [hdegoede@xxxxxxxxxx: Add support for OOB irq for the sdio wifi] Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cf75496b6fc2fd8dd74633b0f49f4fa3f58f36e1 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 21 09:55:26 2015 +0200 ssb: make ssb_pcmcia_switch_core static Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 264c7708c9ceabfd10c70f942bb2910976ca92ff Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 21 09:47:20 2015 +0200 ssb: drop declaration of non existing ssb_sdio_hardware_setup Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7b1647bc1a44422ee9d67d4d2b5d3ab12d2c5bee Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 21 09:47:19 2015 +0200 ssb: make ssb_sdio_switch_core static It's used locally only. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 44f3fd2700eee30e03fe9da6258b73d53bc037c5 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 21 09:47:18 2015 +0200 ssb: unexport ssb_bus_pcibus_register It isn't used anywhere out of ssb code and we don't (plan to) build pcihost_wrapper.c as a separated module. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 69b5f4da26362912e7e56e48c8e1df7fde281e58 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Sep 19 14:43:50 2015 +0200 bcma: add support for population subnodes also when build as module of_default_bus_match_table was not exported earlier, so it could only be accessed by code compiled into the kernel. A new function of_platform_default_populate() was added which uses of_default_bus_match_table and this function is also exported. This way it is possible to create a bus with the content of of_default_bus_match_table and we can remove the hacks from bcma. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a32be01772525eba2001be23a570d9e31c58273d Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Sep 19 12:47:20 2015 +0200 brcmfmac: include linux/atomic.h brcmfmac uses atomic_or() and other atomic_* functions, but does not include linux/atomic.h. This file gets included by some other header file so this normally does not cause problems. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 29b93c0e3c3891e3ba6e38a71997bdad8a2aa457 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:19 2015 +0200 brcmfmac: Accept events when TDLS is used in combination with p2p. TDLS events are mapped back to primary interface but when p2p is in use then this fails because the check was incorrect by checking bsscfg number. Which can be different when a p2p device has been created. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cb8dc71f516a98908de7de9be381ef9b571742e2 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:18 2015 +0200 brcmfmac: Fix TDLS setup by properly handling p2p noif. There is a workaround needed for p2p device setup which breaks tdls functionality. This patch fixes that by properly signalling fweh that p2p device setup is ongoing. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 55acca90da52b85299c033354e51ddaa7b73e019 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:17 2015 +0200 brcmfmac: Add support for the BCM4365 and BCM4366 PCIE devices. This patch adds support for the BCM4365 and BCM4366 11ac Wave2 PCIE devices. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a2044d91d9d25a0e9e2abb43ca90cceee032f6ee Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:16 2015 +0200 brcmfmac: Fix race condition bug when deleting p2p interface. When p2p device interface gets deleted by deinitialising discovery it will result in an event which removes the interface, but that is also done by delete p2p interface code. This results in race condition which sometimes results in lockup/crash. With this patch the delete device interface will wait for the event (with timeout) removing the possible race condition. Also on the stop device call from cfg80211 the deinitialisation of the discovery device should be avoided as it can result in a similar situation. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8268c2011d255b547a9093977e728af5cf16d69e Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:15 2015 +0200 brcmfmac: Add module parameter to disable features. For debugging purpose it is very handy to be able to disable features. It has happened a few times that new features turned out not always being properly detected for all devices/firmwares. Making it possible to disable the feature with a module parameter will make testing/debugging easier. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 35a3cbcc49b5422fbfe7d655952888a3d29b45ed Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:14 2015 +0200 brcmfmac: Fix p2p bug for older firmwares. Some devices with older firmwares are reporting new p2p device interface with the wrong type. Accept this type to get p2p working for these devices. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d1bb34c128f59c30b75b96ef60f5f00cdbe9ca0e Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:13 2015 +0200 brcmfmac: Only handle p2p_stop_device if vif is valid In some situations it is possible that vif has been removed while cfg80211 invokes the p2p_stop_device handler. This will result in crash. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9831bcb987df4aff6a1d85975f1dda4c654f298d Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:12 2015 +0200 brcmfmac: Deleting of p2p device is leaking memory. When a p2p device gets deleted, the memory for the vif is not being released. This is solved by reorganizing the cleanup path and properly freeing the memory. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 178e9ef9b6c619b1b3de354f21692a0ad1071116 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:11 2015 +0200 brcmfmac: Workaround in change vif for wpa_supplicant support. Different wpa_supplicants have different behavior and expectations regarding the change_virtual_intf behavior. This patch implements a workaround for the different versions and possible brcmfmac configuration. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 43e55a2a1cf05afcc4b9d4fc214ccb4a53447cb1 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:10 2015 +0200 brcmfmac: Make p2pon module param always available. p2pon module param is currently under define BRCMDBG. Though it is a needed option for older versions of the wpa_supplicant which do not support the P2P_DEVICE interface. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9f64df940cfe734156ec434807611e014278b359 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:09 2015 +0200 brcmfmac: Fix bug in flowring management. The hash index stored in the flowrings is of type u16 but gets stored in u8. This can result in incorrect indexing and possibly result in crashes. This patch fixes the type. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ae7c03f68ee24e51f3ded9265715405df72812ba Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:08 2015 +0200 brcmfmac: Inform p2p module about p2pon through API When the p2pon module param is used then p2p attach will initialize p2p device iface in the firmware, but it is doing that by checking data. It is cleaner to pass the p2pon information to p2p by API. This information is also needed for other patch. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6ea696eb4e2646e8f2440e2090f3d165a21ff02f Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:07 2015 +0200 brcmfmac: Only assign primary netdev to if2bss array. The if2bss allows for translation of ifidx to bssidx which has a 1:n relation. Therefor only the first (primary) netdev should be assigned in this array. This fixes the p2pon=1 module param usage. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 60dc35ef9ffdf8810b98cc09abb02378023818c2 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:06 2015 +0200 brcmfmac: Fix set and get tx-power functions. Implementation of tx-power (get and set) related functions are still assuming mW interface. This is wrong as functions use dbm (or mbm) nowadays. As a result a tx power configuration could result in wrong power configuration. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e3c92cb2eea395c9fbec7ceb678626565cbac0fe Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:05 2015 +0200 brcmfmac: Add support for the BCM4350 PCIE device. This patch adds support fo the BRCM4350 2x2 11ac PCIE device. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2b5d348ee786dd875b3aa8536a97ff6f6421d018 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:04 2015 +0200 brcmfmac: Fix exception handling. In some exception situations the ifp->vif was not properly assigned which could result in crash. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 47038677e52344135731ea0180bdd981a8ae4fae Author: Aleksei Mamlin <mamlinav@xxxxxxxxx> Date: Tue Sep 22 15:36:04 2015 +0200 ARM: dts: sun7i: Enable USB DRC on Wexler TAB7200 Enable the otg/drc usb controller on the Wexler TAB7200 tablet. Signed-off-by: Aleksei Mamlin <mamlinav@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 9324ef4b14fe4d16a0f9900bd46f26f0ad44ed91 Author: Reinder de Haan <patchesrdh@xxxxxxxxx> Date: Tue Sep 22 15:36:03 2015 +0200 ARM: dts: sun7i: Enable USB DRC on the Orange pi Add usb otg support for Orange pi, based on Orange pi mini. Signed-off-by: Reinder de Haan <patchesrdh@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 3ff427f02dc055fdede6051ba32efbd73f4b1f31 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 15:36:02 2015 +0200 ARM: dts: sun7i: Enable USB DRC on orangepi-mini Enable the otg/drc usb controller on the orangepi-mini. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5b3abbee42562a7bcdc6b589a3d8f9b5752550ed Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 15:36:00 2015 +0200 ARM: dts: axp209: Add usb_power_supply child node to the ax209 node Add a node representing the usb power supply part of the axp209 pmic, note that the usb power supply and the (to be added later) ac power supply will each have their own child-node, so that they can be separately specified as power-supply for other nodes using a power-supply property with a phandle pointing to the right axp209 child-node. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 735ab6bfc03878e6b41feb1f14da750a951854ad Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:18 2015 -0700 mwifiex: complete usb tx data with multi endpoints This patch do the work to TX data with specific USB endpoint. At the same time, update data_sent flag according to multi port status. And is_port_ready API is added for BSS interface to check if current used usb data endpoint is available or not. 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 7e4e5d2cd0817b91eb07c7abe297012bf76616ea Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:17 2015 -0700 mwifiex: add usb multi endpoints resync support This patch add support for usb multi endpoints resync. Once multi channel event is received from firmware, update usb_mc_setp flag to block TX data until setup is over. And available data endpoint will be attached to BSS interface. 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 308fe29ef24394e4db66d80c7a23e3e5640aca74 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:16 2015 -0700 mwifiex: add usb tx data multi endpoints support This patch add support for USB interface to TX data with different endpoint. And previous TX information are saved in new designed structure. 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 2b0f997db43f01370503d88b5fbec9a350a7955f Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:15 2015 -0700 mwifiex: add usb multi channel event process support This patch add multi channel event process for USB multi tx data endpoints. Driver receives firmware multi channel event only in case that new connection is setup or interface is disconnect. Different BSS interface need update used usb endpoint. 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 d941444321f6b84bdd36d8d24eef10171c9ab981 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:14 2015 -0700 mwifiex: move usb specific data_sent update to usb.c This patch move data_sent flag update to usb.c file. >From now all data_sent update cases only happened in specific file: sdio.c, usb.c, pcie.c. Outside ot these files, it is only allowed to check the value of data_ent. 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 d22871db0172eba2bba2e7ff8373f682c9b001cd Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:13 2015 -0700 mwifiex: fix tx data_sent issue for usb interface This patch fix missing tx data_sent flag update for usb interface. Except USB interface, data_sent flag has been updated in specific file such as sdio.c and pcie.c. So only USB interface type need check when TX data completed. 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 17090beec26ea5bd064c67e2707151722d9d88d6 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 18 06:32:12 2015 -0700 mwifiex: Suppress -ENOSR error for data traffic on USB We have preallocated buffer pool for Tx data. During high data traffic, all buffers are submitted to USB and driver needs to wait until one of the buffers get available for next Tx packet. "data: -ENOSR is returned" errors is expected in this case. Let's lower the priority of this message. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 70c5ad7e20c1426d14f6e722da0972b2c9163db7 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:11 2015 -0700 mwifiex: correct paused tx data packet counter This patch fixes observed issues while updating counter for number of paused data packets in wmm queue when trying to delete packet or delete station entry. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 14d9c11c91a606fed65eaae2455423a23bb4ae59 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 18 06:32:10 2015 -0700 mwifiex: avoid memsetting PCIe event buffer Preallocated PCIe buffer is being reused for all PCIe interface events. Physical address of the buffer is shared with firmware so that it can perform DMA on it. As event length is specified in the header, there should not be a problem if the buffer gets overwritten. We will save some cycles by avoiding memset everytime while submitting the buffer to firmware. Fixes: 2728cecdc7d6bf3d21(mwifiex: corrections in PCIe event skb) Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 17e524b1b60f4390d24a51d9524d1648cf5d1447 Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Fri Sep 18 06:32:09 2015 -0700 mwifiex: fix NULL pointer dereference during hidden SSID scan This NULL pointer dereference is observed during suspend resume stress test. All pending commands are cancelled when system goes into suspend state. There a corner case in which host may receive response for last scan command after this and try to trigger extra active scan for hidden SSIDs. The issue is fixed by adding a NULL check to skip that extra scan. Fixes: 2375fa2b36feaf34 (mwifiex: fix unable to connect hidden SSID..) Cc: <stable@xxxxxxxxxxxxxxx> [v4.2+] Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2c3da961268ff7f4a6c958fee081c58aef2e5c1d Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Fri Sep 18 06:32:08 2015 -0700 mwifiex: don't always include ht/vht info in tdls confirm frame Current TDLS implementation always includes ht/vht information in tdls setup confirm frame which causes teardown by legacy peer station after TDLS handshake. We will inclue ht/vht capabilities in tdls setup confirm frame only if peer station supports it to fix this problem. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 02421dd3f6af1b6becb6d9a690a2b70c73c03a7a Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Sep 18 06:32:07 2015 -0700 mwifiex: NULL check for cfg80211_inform_bss() cfg80211_inform_bss would return null in some cases, such as memory allocation failure. This patch adds sanity check for this case, to avoid possible issues when above corner case is hit. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9a9053c3420fcc5779319e4ea267c6dcbf8d7c04 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Sep 18 06:32:06 2015 -0700 mwifiex: fix driver init failure under memory pressure 64k Tx and Rx buffers are allocated during driver initialization for SDIO level data aggregations. When host is under memory pressure situation, kzalloc() request for 64k may fail. We will try allocating 32k buffers and disable our rx single port aggreagation feature in this situation. If the allocation still fails, we will disable our sdio multport aggregation feature as well. In this way, we will transmit and receive packets one by one, thus reduce the demand for big memory. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e3ad3d5b6ab2a9876773fe99d9d1866d3c1744ae Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Sep 18 06:32:05 2015 -0700 mwifiex: minor corrections in multiport aggregation code This patch includes below changes 1) Check if multiport aggregation feature flag while doing rx length validation check. 2) Reset buffer size variables when buffers are freed. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0a252abb6ad75260353a28c08b904c2c9d258d2c Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:04 2015 -0700 mwifiex: update amsdu tx packet time stamp This patch fixes the issue of delay time in A-MSDU tx packet. In generated new A-MSDU packet, the time stamp is initialized to zero. Choose the time of first MSDU packet as aggregated packet's time. 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 65405c51bb2e9d2a348f5402443e31f82411aabb Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Sep 18 06:32:03 2015 -0700 mwifiex: fix typo in del_virtual_intf() function Interface counters should be incremented in add_virtual_intf() and decremented in del_virtual_intf() function. This patch corrects it. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 32677b25849f627aba27235f4cbf65663a0cc1a6 Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Fri Sep 18 20:37:27 2015 +0800 wlcore: align reg_ch_conf_last[] to 64bit Align fields reg_ch_conf_last and reg_ch_conf_pending of struct wl1271{} to 64bit. Without this, on 64bit ARM, wlcore_set_pending_regdomain_ch() fails at the point it calls set_bit(ch_bit_idx, (long*)wl->reg_ch_conf_pending); Here is the error message while doing iw wlan0 scan or connect: [ 10.666857] wlcore: IRQ work [ 10.670046] wlcore: intr: 0x40 (fw_rx_counter = 1, drv_rx_counter = 0, tx_results_counter = 0) [ 10.678697] wlcore: WL1271_ACX_INTR_DATA [ 10.682810] Unhandled fault: alignment fault (0x96000021) at 0xffffffc037a817f4 [ 10.690139] Internal error: : 96000021 [#1] PREEMPT SMP [ 10.695366] Modules linked in: [ 10.698437] CPU: 3 PID: 894 Comm: irq/60-wl18xx Tainted: G W 4.2.0-rc6-linaro-hikey #2 [ 10.707501] Hardware name: HiKey Development Board (DT) [ 10.712733] task: ffffffc03a9d1680 ti: ffffffc039e18000 task.ti: ffffffc039e18000 [ 10.720239] PC is at set_bit+0x14/0x30 [ 10.724002] LR is at wlcore_set_pending_regdomain_ch+0x40/0x4c Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9c17dbc6eb73bdd8a6aaea1baefd37ff78d86148 Merge: 18ab2cd e637d17 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 29 09:43: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: - Accept a zero --itrace period, meaning "as often as possible". In the case of Intel PT that is the same as a period of 1 and a unit of 'instructions' (i.e. --itrace=i1i). (Adrian Hunter) - Harmonize itrace's synthesized callchains with the existing --max-stack tool option. (Adrian Hunter) - Allow time to be displayed in nanoseconds in 'perf script'. (Adrian Hunter) - Fix potential infinite loop when handling Intel PT timestamps. (Adrian Hunter) - Slighly improve Intel PT debug logging. (Adrian Hunter) - Warn when AUX data has been lost, just like when processing PERF_RECORD_LOST. (Adrian Hunter) - Further document export-to-postgresql.py script. (Adrian Hunter) - Add option to synthesize branch stack from auxtrace data. (Adrian Hunter) - Use equivalent logic to avoid using dso->kernel. (Arnaldo Carvalho de Melo) - Show proper error messages when parsing bad terms for hw/sw events. (He Kuang) - Tracepoint event parsing improvements. (He Kuang) - Store tracing mountpoint for better error message. (Jiri Olsa) - Add fixdep to tools/build, bringing it closer to the kernel counterpart, from where it is being lifted. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 862a336c8302695cbac6d8d752ee9a2429487478 Author: Jan Kaisrlik <kaisrja1@xxxxxxxxxxx> Date: Thu Sep 17 14:03:46 2015 +0200 ath9k: Add support for OCB mode The patch adds support for "outside the context of a BSS"(OCB) mode to ath9k driver and extends debugfs files by OCB ralated information. This patch was tested on AR9380-AL1A cards. Signed-off-by: Jan Kaisrlik <kaisrja1@xxxxxxxxxxx> Cc: Michal Sojka <sojkam1@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c452d944bee09c8c2529d965f10999d80991402a Author: Hiroaki KAWAI <hiroaki.kawai@xxxxxxxxx> Date: Thu Sep 10 18:04:45 2015 +0000 carl9170: fix bad rssi reading Fix rssi calculation error which was introduced in otus to ar9170 porting. Signed-off-by: Hiroaki KAWAI <hiroaki.kawai@xxxxxxxxx> Acked-by: Christian Lamparter <chunkeey@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 76ea6fdbeb2540ea8a06189b519175ee5616ab56 Author: Geoff Levand <geoff@xxxxxxxxxxxxx> Date: Wed Sep 2 16:56:42 2015 -0700 net/wireless/wl18xx: Add missing MODULE_FIRMWARE Fixes the output of 'modinfo --field firmware'. Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 61d36370e24bb5d8f83481aa6f76fc05385c75c9 Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Date: Tue Sep 1 10:56:09 2015 +0800 ath9k: enable hw manual peak calibration for QCA9561 This patch fix https://lists.openwrt.org/pipermail/openwrt-devel/ 2015-August/034979.html. As the peak detect calibration is set incorrectly. Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 36925e52c5ac9d10a553d1339e13a61bfbdd4ba4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 31 10:46:45 2015 -0700 mwifiex: Make mwifiex_dbg a function, reduce object size The mwifiex_dbg macro has two tests that could be consolidated into a function reducing overall object size ~10KB (~4%). So convert the macro into a function. $ size drivers/net/wireless/mwifiex/built-in.o* (x86-64 defconfig) text data bss dec hex filename 233102 8628 4809 246539 3c30b drivers/net/wireless/mwifiex/built-in.o.new 243949 8628 4809 257386 3ed6a drivers/net/wireless/mwifiex/built-in.o.old Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 07fe2e38c7fd19dc6a5468d0661fc75586ce9ca4 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Aug 27 16:14:06 2015 +0200 brcmfmac: Reset PCIE devices after recognition. When PCIE type devices are being FW reloaded without being properly reset then the device ends up in a locked state, requiring the device to be completely powered down. This patch adds a reset through watchdog at the moment the device (cores) has been recognized. This will solve warm reboot issues. Cc: Rafal Milecki <zajec5@xxxxxxxxx> Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 95ef12394a4d002c7ed3bcbed224f3391792a02b Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:15:04 2015 +0200 brcmfmac: introduce brcmf_net_detach() function In case of error during brcmf_bus_start() the network interfaces were freed using free_netdev(). However, the interfaces may have additional memory allocated which is not freed. The netdev has destructor set to brcmf_cfg80211_free_netdev() which frees the additional memory if allocated and call free_netdev(). The brcmf_net_detach() either calls brcmf_cfg80211_free_netdev() directly or uses unregister_netdev() when struct net_device::reg_state indicates the netdev was registered. Reported-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> 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 c67d41ba6ff3a4be9aecb9df202e05e149832df5 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:15:03 2015 +0200 brcmfmac: change prototype for brcmf_fws_hdrpull() Instead of passing ifidx and drvr just pass struct brcmf_if pointer which holds both parameters. 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 03cca20a6ee15b25487b4992eda2c3bf08d1f1c1 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:15:02 2015 +0200 brcmfmac: remove ifidx parameter from brcmf_fws_txstatus_suppressed() The brcmf_fws_txstatus_suppressed() function prototype specifies an ifidx parameter which is not used within the function implementation. 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 9d6c1dc4f9136227b39faf98ae46d0228fe1fa19 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:15:01 2015 +0200 brcmfmac: add dedicated debug level for firmware console logging Both PCIe and SDIO devices have the possibility to log the firmware console output in kernel log. For PCIe it is logged when PCIE debug level is enabled. For SDIO it is logged when user specifies a non-zero console interval through debugfs. This patch tries to make it a bit more consistent. The firmware console output is only logged when FWCON debug level is enabled. 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 291da87b69109924e6ee526606a783668d2232e0 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:15:00 2015 +0200 brcmfmac: add mapping for interface index to bsscfg index Because the P2P Device interface in firmware uses the same interface index as the primary interface we use the bsscfg index as index in the struct brcmf_pub::iflist. However, in the data path we get the interface index and not the bsscfg index. So we need a mapping of interface index to bsscfg index, which can be determined upon handle adding the interface. 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 054e68add65972af20dbf0848e25c80828c5cd60 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:59 2015 +0200 brcmfmac: pass struct brcmf_if instance in brcmf_txfinalize() Most call sites of brcmf_txfinalize already have struct brcmf_if instance so pass that to brcmf_txfinalize() as the function needs it anyway. 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 46f3b6ee483898095906023e1ba3af2bddc38af9 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:58 2015 +0200 brcmfmac: use brcmf_get_ifp() to map ifidx to struct brcmf_if instance The knowledge on how to map the interface index to a struct brcmf_if instance is in brcmf_get_ifp() so use that function when only the interface index is known instead of accessing brcmf_pub::iflist directly. 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 ddddfed2f9d8422fd5bb5080aa95e478832c0130 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:57 2015 +0200 brcmfmac: correct detection of p2pdev interface event The p2pdev interface is setup in firmware resulting in a interface event. This event has role and no-if flag. When role is p2p client and no-if flag is set it indicates that this is the p2pdev interface. This info is used in handling the event and adding interface in the driver. 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 1c626cf472fce757a69a4c70f038867907b5b808 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:56 2015 +0200 brcmfmac: only call brcmf_cfg80211_detach() when attach was successful In brcmf_bus_start() the function brcmf_cfg80211_attach() is called which may fail. If this happens we should not call brcmf_cfg80211_detach() in the failure path as it will result in NULL pointer dereference: brcmf_fweh_activate_events: Set event_msgs error (-5) brcmf_bus_start: failed: -5 brcmf_sdio_firmware_callback: dongle is not responding BUG: unable to handle kernel NULL pointer dereference at 0000000000000068 IP: [<ffffffff811e8f08>] kernfs_find_ns+0x18/0xd0 PGD 0 Oops: 0000 [#1] SMP Modules linked in: brcmfmac(O) brcmutil(O) cfg80211 auth_rpcgss CPU: 1 PID: 45 Comm: kworker/1:1 Tainted: G O Hardware name: Dell Inc. Latitude E6410/07XJP9, BIOS A07 02/15/2011 Workqueue: events request_firmware_work_func task: ffff880036c09ac0 ti: ffff880036dd4000 task.ti: ffff880036dd4000 RIP: 0010:[<ffffffff811e8f08>] [<ffffffff811e8f08>] kernfs_find_ns+0x18/0xd0 RSP: 0018:ffff880036dd7a28 EFLAGS: 00010246 RAX: ffff880036c09ac0 RBX: 0000000000000000 RCX: 000000007fffffff RDX: 0000000000000000 RSI: ffffffff816578b9 RDI: 0000000000000000 RBP: ffff880036dd7a48 R08: 0000000000000000 R09: ffff880036c0b340 R10: 00000000000002ec R11: ffff880036dd7b08 R12: ffffffff816578b9 R13: 0000000000000000 R14: ffffffff816578b9 R15: ffff8800c6c87000 FS: 0000000000000000(0000) GS:ffff88012bc40000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000068 CR3: 0000000001a0b000 CR4: 00000000000006e0 Stack: 0000000000000000 ffffffff816578b9 0000000000000000 ffff8800c0d003c8 ffff880036dd7a78 ffffffff811e8ff5 0000000ffffffff1 ffffffff81a9b060 ffff8800c789f880 ffff8800c0d00000 ffff880036dd7a98 ffffffff811ebe0d Call Trace: [<ffffffff811e8ff5>] kernfs_find_and_get_ns+0x35/0x60 [<ffffffff811ebe0d>] sysfs_unmerge_group+0x1d/0x60 [<ffffffff81404ef2>] dpm_sysfs_remove+0x22/0x60 [<ffffffff813f9db9>] device_del+0x49/0x240 [<ffffffff815da768>] rfkill_unregister+0x58/0xc0 [<ffffffffa06bd91b>] wiphy_unregister+0xab/0x2f0 [cfg80211] [<ffffffffa0742fe3>] brcmf_cfg80211_detach+0x23/0x50 [brcmfmac] [<ffffffffa074d986>] brcmf_detach+0x86/0xe0 [brcmfmac] [<ffffffffa0757de8>] brcmf_sdio_remove+0x48/0x120 [brcmfmac] [<ffffffffa0758ed9>] brcmf_sdiod_remove+0x29/0xd0 [brcmfmac] [<ffffffffa0759031>] brcmf_ops_sdio_remove+0xb1/0x110 [brcmfmac] [<ffffffffa001c267>] sdio_bus_remove+0x37/0x100 [mmc_core] [<ffffffff813fe026>] __device_release_driver+0x96/0x130 [<ffffffff813fe0e3>] device_release_driver+0x23/0x30 [<ffffffffa0754bc8>] brcmf_sdio_firmware_callback+0x2a8/0x5d0 [brcmfmac] [<ffffffffa074deaf>] brcmf_fw_request_nvram_done+0x15f/0x5e0 [brcmfmac] [<ffffffff8140142f>] ? devres_add+0x3f/0x50 [<ffffffff810642b5>] ? usermodehelper_read_unlock+0x15/0x20 [<ffffffff81400000>] ? platform_match+0x70/0xa0 [<ffffffff8140f400>] request_firmware_work_func+0x30/0x60 [<ffffffff8106828c>] process_one_work+0x14c/0x3d0 [<ffffffff8106862a>] worker_thread+0x11a/0x450 [<ffffffff81068510>] ? process_one_work+0x3d0/0x3d0 [<ffffffff8106d692>] kthread+0xd2/0xf0 [<ffffffff8106d5c0>] ? kthread_create_on_node+0x180/0x180 [<ffffffff815ed35f>] ret_from_fork+0x3f/0x70 [<ffffffff8106d5c0>] ? kthread_create_on_node+0x180/0x180 Code: e9 40 fe ff ff 48 89 d8 eb 87 66 0f 1f 84 00 00 00 00 00 66 66 66 66 90 55 48 89 e5 41 56 49 89 f6 41 55 49 89 d5 31 d2 41 54 53 <0f> b7 47 68 48 8b 5f 48 66 c1 e8 05 83 e0 01 4d 85 ed 0f b6 c8 RIP [<ffffffff811e8f08>] kernfs_find_ns+0x18/0xd0 RSP <ffff880036dd7a28> CR2: 0000000000000068 ---[ end trace 87d6ec0d3fe46740 ]--- Reported-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> 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 ee6e3a3414a48425211f9292b8bfc4524c666c41 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:55 2015 +0200 brcmfmac: change parameters for brcmf_remove_interface() Just pass the interface to be removed, ie. the struct brcmf_if instance. 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 796cfb65e3ed01a9b08e3a0b93e34120c54bbbd2 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:54 2015 +0200 brcmfmac: make brcmf_proto_hdrpull() return struct brcmf_if instance Avoid spreading the ifidx in the driver, but have it return the struct brcmf_if instance. 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 75effb03ee8e4c9d4bbc909118ce5444b047dfde Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:53 2015 +0200 brcmfmac: consolidate ifp lookup in driver core In rx path the firmware provide an interface index which is used to map to a struct brcmf_if instance. However, this involves some trick that is done in two places. This is changed by having driver core providing brcmf_get_ifp() function. 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 00e5e8c47b6fb2da314b0221477b2b84bea0e224 Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 19:59:00 2015 +0200 ARM: dts: Unify voltage regulator style in exynos4412-odroid Use 'ldoN_reg: LDON' syntax and drop the deprecated 'regulator-compatible' property. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit 4e33714eb46dfdb275893a4999b73f9b94e999f2 Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 19:58:59 2015 +0200 ARM: dts: Remove redundant pinctrl settings in exynos4412-odroid The pinctrl settings in i2c_0 and i2c_1 are already provided through the exynos4 dtsi. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit 6716f6c6b8ae69e2abbea5e9c0c3c274be57d927 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Fri Sep 25 20:35:32 2015 +0300 ARM: dts: Fix cpu compatible value for s3c2416 The change corrects cpu compatible property to a defined one, see Documentation/devicetree/bindings/arm/cpus.txt Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit 8a4683a5e06efda7e1f327213678d4dcafc0d894 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Mon Sep 28 12:47:14 2015 +0200 net: help compiler generate better code in eth_get_headlen Noticed that the compiler (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)) generated suboptimal assembler code in eth_get_headlen(). This early return coding style is usually not an issue, on super scalar CPUs, but the compiler choose to put the return statement after this very unlikely branch, thus creating larger jump down to the likely code path. Performance wise, I could measure slightly less L1-icache-load-misses and less branch-misses, and an improvement of 1 nanosec with an IP-forwarding use-case with 257 bytes packets with ixgbe (CPU i7-4790K @ 4.00GHz). Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2e1339f40db753286ca0a92c92a847e08c5d2de Author: Bendik Rønning Opstad <bro.devel@xxxxxxxxx> Date: Wed Sep 23 18:49:53 2015 +0200 tcp: Fix CWV being too strict on thin streams Application limited streams such as thin streams, that transmit small amounts of payload in relatively few packets per RTT, can be prevented from growing the CWND when in congestion avoidance. This leads to increased sojourn times for data segments in streams that often transmit time-dependent data. Currently, a connection is considered CWND limited only after having successfully transmitted at least one packet with new data, while at the same time failing to transmit some unsent data from the output queue because the CWND is full. Applications that produce small amounts of data may be left in a state where it is never considered to be CWND limited, because all unsent data is successfully transmitted each time an incoming ACK opens up for more data to be transmitted in the send window. Fix by always testing whether the CWND is fully used after successful packet transmissions, such that a connection is considered CWND limited whenever the CWND has been filled. This is the correct behavior as specified in RFC2861 (section 3.1). Cc: Andreas Petlund <apetlund@xxxxxxxxx> Cc: Carsten Griwodz <griff@xxxxxxxxx> Cc: Jonas Markussen <jonassm@xxxxxxxxxx> Cc: Kenneth Klette Jonassen <kennetkl@xxxxxxxxxx> Cc: Mads Johannessen <madsjoh@xxxxxxxxxx> Signed-off-by: Bendik Rønning Opstad <bro.devel+kernel@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Tested-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Tested-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e2a5ebc3f94027d0f2ffd33d3f3adbc856775d3 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Mon Sep 28 10:26:53 2015 +0530 cxgb4: Add HW timesptamp support for RX Adds support for ethtool get time stamp ioctl, which is used by tcpdump to get the supported time stamp types eg: tcpdump -i eth5 -J Time stamp types for eth5 (use option -j to set): host (Host) adapter_unsynced (Adapter, not synced with system time) Adds support for adapter unsynced mode, by adding SIOCSHWTSTAMP support in driver. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4600d69ffc7c0ce9759532e2c10056bf1c0a1a7 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Sun Sep 27 15:22:44 2015 +0800 net: Fix Hisilicon Network Subsystem Support Compilation This patch fixes the compilation error with arm allmodconfig, this error generated due to unavailability of readq() on 32-bit platform which was found during net-next daily compilation. In the same time, fix all the hns drivers compilation warnings. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: zhaungyuzeng <Yisen.zhuang@xxxxxxxxxx> Signed-off-by: kenneth Lee <liguozhu@xxxxxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1273bc573ab13b9c76053fe0403dca7d8acffa78 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Sep 26 20:49:20 2015 +0200 net: irda: pxaficp_ir: dmaengine conversion Convert pxaficp_ir to dmaengine. As pxa architecture is shifting from raw DMA registers access to pxa_dma dmaengine driver, convert this driver to dmaengine. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Tested-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89fa57244aa170bb344cdb5be35afdeefc219fbd Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Sep 26 20:49:19 2015 +0200 net: irda: pxaficp_ir: convert to readl and writel Convert the pxa IRDA driver to readl and writel primitives, and remove another set of direct registers access. This leaves only the DMA registers access, which will be dealt with dmaengine conversion. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Tested-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be01891e4606bc6aaa2b12fbade1aca8eb467a16 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Sep 26 20:49:18 2015 +0200 net: irda: pxaficp_ir: use sched_clock() for time management Instead of using directly the OS timer through direct register access, use the standard sched_clock(), which will end up in OSCR reading anyway. This is a first step for direct access register removal and machine specific code removal from this driver. This commit changes the behavior, as previously the minimum turnaround time was counted in 76ns steps, while with this patch it is counted in microsecond steps. The strictly equal formula would have been : while ((sched_clock() - si->last_clk) * 76 < mtt) Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b40f709a1b3100a1a9dbd824303c68757f2e25e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 25 18:31:32 2015 -0300 net: fec: Remove unneeded FEATURES_NEED_QUIESCE definition There is no need to have FEATURES_NEED_QUIESCE defined as we can simply use NETIF_F_RXCSUM instead as done in other parts of the driver. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17fb0b2b90568182bc969cbe0d76fa07079267e4 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 15:22:54 2015 -0600 net: Remove redundant oif checks in rt6_device_match The oif has already been checked that it is non-zero; the 2 additional checks on oif within that if (oif) {...} block are redundant. CC: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49d28b5642444d82bd23b9333785480d265420d1 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Fri Sep 25 21:13:48 2015 +0000 lan78xx: Return 0 when lan78xx_suspend() has no error. lan78xx_suspend() may return non-zero from lan78xx_write_reg() in some scenario. Fix to return 0 when lan78xx_suspend() has no error. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 366f02d873575ccbcdc5f6d90698dbbe4f80f134 Merge: 4de61ba 171bb2c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 28 22:19:56 2015 -0700 Merge branch 'mlx5-next' Or Gerlitz says: ==================== Mellanox mlx5 driver update Bunch of changes from the team, while warming engines for the upcoming SRIOV support. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 171bb2c560f45c0427ca3776a4c8f4e26e559400 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:16 2015 +0300 net/mlx5_core: Update health syndromes Update new health monitored syndromes and their descriptions. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78ccb25861d76a8fc5c678d762180e6918834200 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:15 2015 +0300 net/mlx5_core: Fix wrong name in struct The name refers to syndrome so uset ext_synd instread of ext_sync. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a31208b1e11df334d443ec8cace7636150bb8ce2 Author: Majd Dibbiny <majd@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:14 2015 +0300 net/mlx5_core: New init and exit flow for mlx5_core In the new flow, we separate the pci initialization and teardown from the initialization and teardown of the other resources. init_one calls mlx5_pci_init that handles the pci resources initialization. It then calls mlx5_load_one to initialize the remainder of the resources. When removing a device, remove_one is invoked. However, now remove_one calls mlx5_unload_one to free all the resources except the pci resources. When mlx5_unload_one returns, mlx5_pci_close is called to free the pci resources. The above separation will allow us to implement the pci error handlers and suspend and resume callbacks. Signed-off-by: Majd Dibbiny <majd@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8ffe63e60dde2f2f05fa92dad48f6106d62f9a3 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:13 2015 +0300 net/mlx5_core: Fix notification of page supplement error Some errors did not result with notifying firmware that the page request could not be fulfilled. Fix this and put the notification logic into a separate function. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be87544de8df2b1eb34bcb5e32691287d96f9ec4 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:12 2015 +0300 net/mlx5_core: Fix async commands return code In case of async command completion, the error code returned should take into account the command completion status. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c3dbd2d722a6010010ad99a6890a56178385bb8 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:11 2015 +0300 net/mlx5_core: Remove redundant "err" variable usage Cosmetic change. Do not use the an err variable just to assign and return it. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97909302f9739c4c5664bc6fc19237ec19d53c02 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:10 2015 +0300 net/mlx5_core: Fix struct type in the DESTROY_TIR/TIS device commands Used the output mailbox format for input mailbox. Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 343b29f308d0a9c12579feec9d244ffc53ae99c3 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:09 2015 +0300 net/mlx5e: Priv state flag not rolled-back upon netdev open error The private mlx5 state flag that indicates that the netdev is opened is set at the beginning of the netdev open flow. In case an error occured later in the mlx5 netdev open flow, this flag was not cleared, remaining set although the actual set is closed. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4de61ba234c0d5834bfec1cbe180008b9d2e1827 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 08:45:43 2015 +0200 tools: bpf_jit_disasm: make get_last_jit_image return unsigned The function returns always non-negative values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c85af8810448d8ef59331be51e482413b5f503d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Sep 24 17:16:05 2015 -0700 tcp: avoid reorders for TFO passive connections We found that a TCP Fast Open passive connection was vulnerable to reorders, as the exchange might look like [1] C -> S S <FO ...> <request> [2] S -> C S. ack request <options> [3] S -> C . <answer> packets [2] and [3] can be generated at almost the same time. If C receives the 3rd packet before the 2nd, it will drop it as the socket is in SYN_SENT state and expects a SYNACK. S will have to retransmit the answer. Current OOO avoidance in linux is defeated because SYNACK packets are attached to the LISTEN socket, while DATA packets are attached to the children. They might be sent by different cpus, and different TX queues might be selected. It turns out that for TFO, we created a child, which is a full blown socket in TCP_SYN_RECV state, and we simply can attach the SYNACK packet to this socket. This means that at the time tcp_sendmsg() pushes DATA packet, skb->ooo_okay will be set iff the SYNACK packet had been sent and TX completed. This removes the reorder source at the host level. We also removed the export of tcp_try_fastopen(), as it is no longer called from IPv6. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eae93fe4ff88ec0979a00c440a1aa63f92c8f367 Merge: 34c2d9f cbfe360 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 28 20:56:02 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-28 This series contains updates to i40e, i40evf and igb to resolve issues seen and reported by Red Hat. Kiran moves i40e_get_head() in preparation for the refactor of the Tx timeout logic, so that it can be used in other areas of the driver. Refactored the driver timeout logic by issuing a writeback request via a software interrupt to the hardware the first time the driver detects a hang. This was due to the driver being too aggressive in resetting a hung queue. Shannon adds the GRE protocol to the transmit checksum encoding. Anjali fixes an issue of forcing writeback too often, which caused us to not benefit from NAPI. We now disable force writeback in the clean routine for X710 and XL710 adapters. The X722 adapters do not enable interrupt to force a writeback and benefit from WB_ON_ITR and so force WB is left enabled for those adapters. Fixed a possible deadlock issue where sync_vsi_filters() can be called directly under RTNL or through the timer subtask without RTNL. So update the flow to see if we are already under RTNL before trying to grab it. Stefan Assmann provides a fix for igb where SR-IOV was not getting enabled properly and we ran into a NULL pointer if the max_vfs module parameter is specified. This is prevented by setting the IGB_FLAG_HAS_MSIX bit before calling igb_probe_vfs(). v2: added "i40e: Fix for recursive RTNL lock during PROMISC change" patch to the series, as it resolves another issues seen and reported by Red Hat. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07294cc2ea3000da706fd88c8ec7dcfadc715e14 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Mon Sep 28 23:59:52 2015 +0200 USB: Added forgotten parameter description for authorized attribute in usb.h Signed-off-by: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96a384a7ed53b38fc2ba35fa5ef828a2c7368a3a Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Sep 28 22:52:33 2015 +0100 staging: rtl8712: remove dead code The while() loop will only exit in a return or a goto ask_for_joinbss, which means it will never break and execute the return after it. Removing return _FAIL since it is dead code. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3a5536a7da427283c4709d0bbe5665fe8d3c810 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:48 2015 -0800 Staging: rtl819u: Fix brace styling issues This is a patch to correct two flavors of brace styling issues in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b85e56bebab9297d96c167531ebba974f383117 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:43 2015 -0800 Staging: rtl8192u: spaces required around = operator This is a patch to add spaces around = operators in several instances in ieee80211_softmac_wx.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bde11cb4541e50a44392b0f0eccc679093343a7 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:38 2015 -0800 Staging: rtl8192u: add spaces around == and || operators This is a patch to add missing spaces around == and || operators in one instance in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b117d1a0da3f1b090dcd354eaafd5a5dfb8378c7 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:34 2015 -0800 Staging: rtl8192u: move open braces to previous lines This is a patch to move opening braces to the lines on which their corresponding if-statements exist in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbb192d151a9ec2d98629b4b42c6b074bdbb4e0c Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:29 2015 -0800 Staging: rtl8192u: add missing blank lines after declarations This is a patch to add blank lines after declaration ins several instances in iee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc9db95017d24fd1e2f324b3977077c030d8e830 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:24 2015 -0800 Staging: rtl8192u: space required after ',' This is a fix to add spaces after commas in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d76173d40bef0516068dbf38195470abf979c8a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 27 21:48:19 2015 +0200 staging: rtl8723au: Fix resource leak Firmware was not released properly if kmemdup fails. Addresses-Coverity-Id: 1269118 Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9da4aa48d04bbdbae3c959809e14da2bf0c53f61 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Sep 23 23:42:26 2015 +0200 staging: rtl8188eu: Fix build error when CFG80211 is not selected The kbuild test robot reports the following build error for i386-randconfig-c0-09230740: >> ERROR: "ieee80211_hdrlen" [drivers/staging/rtl8188eu/r8188eu.ko] undefined! Add a dependency on CFG80211 to fix it. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f62cd2cd95ef05f125c57d4905deff81a504682e Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 23:50:38 2015 +0200 staging: rtl8188eu: issue_action_BA(): extract ADDBA_req pointer pmlmeinfo->ADDBA_req is accessed three times in this function, but it contributes to generating lines above 80 characters that are not easy to split in a nice way. Extract a pointer to it to make code slightly more concise and fix some lines over 80 characters. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e4e8e025c374959538d37a812a7c20f7aa8a5c1 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 23:50:37 2015 +0200 staging: rtl8188eu: don't cast when calling rtw_set_fixed_ie() The 'pbuf' and 'source' arguments to rtw_set_fixed_ie() are (void *), the explicit typecasts are not needed. They just make code less readable. Also fix checkpatch issues in the lines touched: ERROR: space prohibited before that ',' (ctx:WxW) WARNING: line over 80 characters CHECK: Unnecessary parentheses around <var> Note: some of the modified lines are still over 80 characters because they are not fixable by just adding newlines. They will be fixed in a later patch. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3441d08ca20a390ab0484c11bd69f2a75e702774 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 23:50:36 2015 +0200 staging: rtl8188eu: rtw_set_fixed_ie(): accept void* parameters rtw_set_ie() is a memcpy-like function, taking addresses of memory buffers among its parameters. Similarly to memcpy, change the parameters to be void*. This will allow to get rid of typecasts whenever it is called. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f22c2468b6ff8542453b5d9e7f3b8ddbbb4bcef4 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 23:50:35 2015 +0200 staging: rtl8188eu: remove useless comment This comment gives pretty much the same information as the name of the function that it immediately precedes. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0588da57c4b3afe99a70f5452d5e017e3d5e0d16 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:33 2015 +0200 staging: rtl8192e: Merge/Remove _rtl92e_dm_bb_initialgain_backup Merge rtl92e_dm_backup_state and _rtl92e_dm_bb_initialgain_backup. Static function is called only once and dm_backup_state had short body. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77b6c42e0278decff0c98999fb835f36048415ab Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:32 2015 +0200 staging: rtl8192e: Simplify _rtl92e_calculate_bit_shift Use ffs instead of iteration. Behaviour of function doesn't change. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcf481dbbd80e1206804a0fae3fd5c1debebe11c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:31 2015 +0200 staging: rtl8192e: Remove extra braces Remove extra braces in _rtl92e_dm_check_tx_power_tracking_thermal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7ebb316b3dc777175fd53aff7952c3097eb14ff Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:30 2015 +0200 staging: rtl8192e: Remove _rtl92e_dm_check_pbc_gpio Function is empty. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68a707e41f624777a5f24ae85de8b2f7a4e74f2e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:29 2015 +0200 staging: rtl8192e: Remove _rtl92e_silent_reset_mesh Function is empty. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae6d07a5d11a6ee2153521077c4760e22bef886f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:28 2015 +0200 staging: rtl8192e: Fix FSF_MAILING_ADDRESS warnings Remove FSF address from licenses at the beginning of files. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c29207a96885b82175979c723a63de05d5fb2f9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:27 2015 +0200 staging: rtl8192e: Fix CONSTANT_COMPARISON warnings Remove yoda conditions where pointed by checkpatch. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc00af0cd0313f1446cf4ff9d536a2db216f8fb7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:26 2015 +0200 staging: rtl8192e: Fix SUSPECT_CODE_INDENT warnings Fix SUSPECT_CODE_INDENT warnings (indentation). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2e681faa50baa078c8d129e929f0e51b7c07877 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:25 2015 +0200 staging: rtl8192e: rtl_wx: Fix BRACES warning Fix checkpatch BRACES warning. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba72f25b2588e1ac5980c9e1bb343630d6b5b03d Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Sep 25 11:21:01 2015 -0500 staging: fsl-mc: Fixed uintX_t CHECK checkpatch warnings Replaced all uses of uintX_t types to uX types, to be checkpatch clean. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9bf3f206bd5e61e7908a1e81f0c254bf6c99064 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Thu Sep 24 14:26:54 2015 -0500 staging: fsl-mc: Moved kernel-doc comments to .c files Moved kernel-doc comments for non-inline functions from header files to .c files. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ee695fab32e25ff188c98a145cc93674f594923 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:11:03 2015 -0500 staging: fsl-mc: up-rev dprc binary interface to v4.0 Add cmd_flags parameter to all dprc APIs to comply with the dprc 4.0 MC interface. Updated MC version major number. Pass irq args in struct instead of separate args. dprc 4.0 uses MC-relative offsets to specify object regions, instead of physical addresses. So, translate_mc_addr() and struct fsl_mc_addr_translation_range need to be updated accordingly. Update commands for 4.0: add new commands 'set/get obj irq', 'set obj label', 'get obj descriptor'. Remove 'get portal paddr'. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1135cb669fabc5c22286faec9d3ca1f2d9594ec Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:11:02 2015 -0500 staging: fsl-mc: up-rev dpcon binary interface to v2.0 dpcon object minor version number updated to match latest MC firmware. This change is needed because the dpcon object binds to the allocator and the current driver match logic uses object version numbers. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a9a56be67b2ae4c9af943a5696c4fff309cc14f Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:11:01 2015 -0500 staging: fsl-mc: up-rev dpmcp binary interface to v2.0 Add cmd_flags parameter to all dpbp APIs to comply with the dpmcp 2.0 MC interface. Updated version major number. Pass irq args in struct instead of separate args. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4d887219cba8ce78dcc854b1a3afd0b48ade760 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:11:00 2015 -0500 staging: fsl-mc: up-rev dpbp binary interface to v2.0 Add cmd_flags parameter to all dpbp APIs to comply with the dpbp 2.0 MC interface. Updated MC version major number. Pass irq args in struct instead of separate args. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 405774356453ac955a9c221690a61cbb2d262c15 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:10:59 2015 -0500 staging: fsl-mc: uprev dpmng binary interface to v8.0 Add cmd_flags parameter to all dpmng APIs to comply with 8.0 MC firmware interface. Updated MC version major number. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8604669069ea8816205fac23037c21452aa328c Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:10:58 2015 -0500 staging: fsl-mc: Add new flags field to MC command header The Management Complex (MC) binary interface added a new "flags" field to the command header. Add the definitions for this field in preparation for adding the new cmd_flags parameter to all MC interface APIs. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e4161747bc6e1e40d0a45dc9ad742d66f2a9fb1 Author: Sriram Raghunathan <sriram@xxxxxxxxxxxxx> Date: Tue Sep 22 22:35:51 2015 +0530 staging: android: Fix checkpatch block comments warnings This patch is intended to fix the checkpatch warning for ``block`` comments for staging/android driver. Signed-off-by: Sriram Raghunathan <sriram@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56b4c049273f3d4ad6d5c71a1569d3fbb4028840 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:44 2015 +0100 staging: vt6656: remove RX complete locking. The lock in vnt_submit_rx_urb_complete is blocked by TX activity. The lock comes from a time when RX needed to be synchronized with other parts of the driver because the WLAN API was in driver. Since this is now dealt with in mac80211 the lock is unnecessary. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b914b4944902d489226a5b465908403505723b9a Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:43 2015 +0100 staging: vt6656: don't stop TX queue unless buffer full. Presently the TX buffer stops while filling the buffer and urb. However, this does not make use of the available buffer space, it also lags the speed of the TX troughtput. Only stop the queue when the buffer becomes full. The URB complete will start the queue again when a buffer and URB is available. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49a315bf072e7ebe8bdc4a2e11f405c821835e88 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:42 2015 +0100 staging: vt6656: implement power saving. The device can now operate in low power mode Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43c93d9bf5e2b195c38de99024d8d9e545a5aae5 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:41 2015 +0100 staging: vt6656: implement power saving code. The device should ready to listen to next beacon so on count down of wake_up_count == 1. schedule command WLAN_CMD_TBTT_WAKEUP which calls vnt_next_tbtt_wakeup which wakes the device. This restores this back to vendors code with a slight difference the count down is in the interrupt handler. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c15158797df6c36780bd07252eb079ff4c9d1706 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:40 2015 +0100 staging: vt6656: implement TSF counter The TSF counter is presently unused on driver in infrastructure mode. It is needed to implement power saving functions and wireless stats that are passed in interrupt handling. Ensuring counter is synced with access point beacon. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 113d6dc18e5e9334493a0f500c01a9e97796cd9b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:39 2015 +0100 staging: vt6655: don't stop TX queue unless buffer full. Presently the TX buffer stops while filling the buffer. However, this does not make use of the available buffer space, it also lags the speed of the TX troughtput. Only stop the queue when the buffer becomes full. The Interupt handler will start the queue again when a buffer is available. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ac8480ad61a45c2a9e3ee003d2cf4ce37ef4795 Author: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Date: Wed Sep 23 22:07:55 2015 +0200 staging: wlan-ng remove unnessecary variable The result variable is not set anywhere beyond its initialization, therefore it can be remove. Signed-off-by: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c739c987c1e19b924b252ebb12ffeac3ef9b1d5c Author: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Date: Wed Sep 23 22:07:54 2015 +0200 staging: wlan-ng remove redundant conditional We exit the above loop either if curroff >= (HFA384x_PDA_LEN_MAX / 2 - 1) or if we found the END marker in the element beyond the current one. The first case is checked for in the preceding if statement, therefore the second if statement is redundant and can be removed. Signed-off-by: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ccb726c728cb414d9abc65a11a6453e75204503 Author: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Date: Wed Sep 23 22:07:53 2015 +0200 staging: wlan-ng fix buffer overflow in firmware handling We test for an END marker in the element beyond the current one, this effectively limits the size of the array to be HFA384x_PDA_LEN_MAX/2 - 1 not HFA384x_PDR_END_OF_PDA/2. This patch fixes a possible buffer overflow in case there was no END marker. Signed-off-by: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 174f2642349da542eb27c011e67a147773d8721f Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sun Sep 27 16:25:43 2015 +0300 staging: sm750fb: replace twoToPowerOfx with shift operator The function twoToPowerOfx that iteratively calculates the power of 2 may be replaced with shift operator Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e967d336ee1a01ced24907ead6cd93dc4f097bed Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 22 12:01:18 2015 +0300 staging: sm750fb: remove unused MB(x) and KB(x) macros The MB(x) and KB(x) macros are not used and therefore they can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4cf26d859aba42f15a372d9f26b51f4a36f03575 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 22 12:01:17 2015 +0300 staging: sm750fb: replace custom MB(x) macro with appropriate SZ_xM Use SZ_xM defined in linux/sizes.h instead of custom MB(x) macro Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67088d49a1c952c71448e75b6105ad5ce9c04719 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 22 12:01:16 2015 +0300 staging: sm750fb: tidy up #include directives Add space between '#include' keyword and the header name Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27254ec26c6395ca0cfabde8e67b352a4ad7a3bf Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 22 10:52:16 2015 +0300 staging: sm750fb: sm750_help.h: spacing fix Remove unnecessary space in sm750_help.h to fix the following checkpatch.pl error: drivers/staging/sm750fb/sm750_help.h:46: space prohibited after that '~' (ctx:ExW) Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e98631d83c84adfee9d33f04808a6e0eb2fa0345 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 22 02:39:36 2015 +0200 staging: dgap: fix returned errno code in dgap_parsefile() The driver is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Since the error number is propagated, the caller will get a -EPERM which is the wrong error condition. Also, the smatch tool complains with the following warning: dgap_parsefile() warn: returning -1 instead of -ENOMEM is sloppy Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f937918b73b2a56ef238a2dcc0bbd97d48490b9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 22 16:24:58 2015 +0200 staging: wicl1000: remove duplicated operand in OR operation The IEEE80211_STYPE_PROBE_REQ flag appears twice in the expression and coccicheck complains with: wilc_wfi_cfgoperations.h:80:3-38: duplicated argument to & or | Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2c3506be646a495a4e3f1d1ce9540916703c244 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Thu Sep 24 11:00:40 2015 -0400 staging: unisys: Add s-Par visorhba This driver create a host bus adapter device when s-Par sends a device create message to create a storage adapter on the visorbus. When the message is received by visorbus, the visorhba_probe function is called and the hba device is created and managed by the visorhba driver. Signed-off-by: Erik Arfvidson <erik.arfvidson@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 070b399723206a4ed80410358f801a7df68d08e6 Author: Bodong Wang <bodong@xxxxxxxxxxxx> Date: Tue Sep 22 23:18:11 2015 +0300 IB/mlx4: Report checksum offload cap for RAW QP when query device Signed-off-by: Bodong Wang <bodong@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 470a55358186d0bb93558a87d13159dfbc989351 Author: Bodong Wang <bodong@xxxxxxxxxxxx> Date: Tue Sep 22 23:18:10 2015 +0300 IB/core: Add support of checksum capability reporting for RC and RAW Two enum members IB_DEVICE_RC_IP_CSUM and IB_DEVICE_RAW_IP_CSUM are added to ib_device_cap_flags. Device should set these two flags if they support insertion of UDP and TCP checksum on outgoing IPv4 messages and can verify the validity of checksum for incoming IPv4 messages, for RC IPoIB and RAW over Ethernet respectively. They are similar to IB_DEVICE_UD_IP_CSUM. Signed-off-by: Bodong Wang <bodong@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a6c8746d54047640e71572d3f48f0bf5708bc92f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:47 2015 -0400 staging/lustre: partially use time64_t for capa expiry Here, we actually have a problem in 2038 or at the latest in 2106 when the lc_expiry variable on the wire protocol overflows, including on 64-bit architectures. Now that the actual code was removed, only on-the wire structure is left so we add in a y2038 warning to remind whoever gets to implement it again about this problem. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef2e0f55ec2e893748f024e0873a58db9d1d10de Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:46 2015 -0400 staging/lustre: Remove mds/ost capabilities support Client capabilities is an outdated feature that never worked properly, so let's get rid of the client support since modern servers don't have this support either. The patch is big, but since it just removes one large feature, so it's hopefully easy to verify. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3598094361898873d469c6f25fe9365ca9a8fc3 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:45 2015 -0400 staging/lustre: Remove unused debugfs/procfs helpers These particular helpers are unused so let's get rid of them: ldebugfs_add_symlink, lprocfs_rd_u64, lprocfs_rd_atomic, lprocfs_wr_atomic, lprocfs_rd_name, lprocfs_seq_read_frac_helper Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dcaf8882218eb01c3bfdc048a1b98097a111ebf1 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:44 2015 -0400 staging/lustre: Remove unused lprocfs_init_ldlm_stats This is unused anywhere in the client code. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf16e3718c3648c8ce8912e27b6c7893346ad49f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:43 2015 -0400 staging/lustre: Remove unused lprocfs_alloc/free_md_stats This code is not called anywhere in the current client code, so we can remove it. Also remove a helper function lprocfs_init_mps_stats Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a6198c74d224c3ebcc4fb3d45c18d6310bc86e3 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:42 2015 -0400 staging/lustre/obdclass: Remove unused lprocfs_alloc/free_obd_stats obd_stats in the form present were only used on the server, so let's remove them from the client code This also removes lprocfs_init_ops_stats helper. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9184bd51c9a981410533f31a2516a8452eb0da69 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:41 2015 -0400 staging/lustre: remove dt_object implementation Nothing uses dt_object now, so we can kill the implementation and the stale references. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c85bd76d3faad3ed6a3abefb636bc88287765d5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:40 2015 -0400 staging/lustre/llog: remove unused server code Most of the code in llog.c and llog_cat.c is completely unused on the client and can be removed, as a preparation for removing the dt_object code. Two tricky parts are: - In llog_cat_close(), we rely on the fact that llh_flags never contains LLOG_F_ZAP_WHEN_EMPTY, because nobody ever sets that flag. - In llog_read_header(), we check the return value of the lpi_cb callback, and again we know that it cannot be LLOG_PROC_BREAK or LLOG_DEL_RECORD and can remove the respective code path. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdeccfdc37eff2125e926d4c78b02165711393ce Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:39 2015 -0400 staging/lustre: Remove obd_export_evict_by_nid/uuid These functions only make sense on the server. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c860a3bd565702e45690060d047e841a7f167771 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:38 2015 -0400 staging/lustre/obdclass: Remove unused lprocfs_wr_evict_client This is only used on the servers to evict clients. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93d3a405a168fba4450bdda793149e3cd4174736 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:37 2015 -0400 staging/lustre: remove CFS_TIME_T definition The CFS_TIME_T macro serves no real purpose as we stopped using time_t and changed over to time64_t, so we can remove the last remaining uses of this. Two uses of this macro are incorrect and refer to jiffies values rather than time_t, and one refers to an inode timespec that gets changed separately. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3aabf997441891a9f4962f3ffa0c22c16aed2da0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:36 2015 -0400 staging/lustre/ptlrpc: Remove ptlrpc_update_export_timer() This is only used on the server to keep track of alive clients and feeds into ping evictor (that was removed from the client code). Also remove struct obd's obd_exports_timed and struct obd_export's exp_obd_chain_timed used to keep track of that Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb209cbddd5fdd8e0916f5c2650cc778a5ce09e0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:35 2015 -0400 staging/lustre: remove class_disconnect_export_list More code that makes no sense on the client and that can be removed without replacement. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 117e2ce8cf35ce7b16ef39138bbba81a7cc38277 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:34 2015 -0400 staging/lustre: remove unused time handling functions A bunch of API functions deal with time values but are now completely unused in lustre. This removes them in order to remove all references to time_t from the header files. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 922da0c58e4107fb70364e1032c8243ac8646107 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:33 2015 -0400 staging/lustre: remove wrappers for timer functions This is a simple cleanup that I did after noticing that the abstraction for the timer functions in completely pointless, and the one user (ptlrpc) can just as well call the native Linux functions. For good measure, this also removes the empty libcfs_arch_init() and libcfs_arch_cleanup() functions that are defined in the same file. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 806d6514e9ed68ba7e47975feb9deb1f31348a12 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:32 2015 -0400 staging/lustre/lov: remove a bit of dead code lov_stripe_md_cmp lov_lum_lsm_cmp lov_lum_swab_if_needed functions have not been in used for a long time, so lets just remove them. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 380f01a18cb9ee12908583b2b30382c6d2e142d2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:31 2015 -0400 staging/lustre: remove the ping evictor This code is never used on the client and can simply be removed. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 219e6de627243c8dbc701eaafe1c30c481d1f82c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:30 2015 -0400 staging/lustre: use 64-bit times for request times All request timestamps and deadlines in lustre are recorded in time_t and timeval units, which overflow in 2038 on 32-bit systems. In this patch, I'm converting them to time64_t and timespec64, respectively. Unfortunately, this makes a relatively large patch, but I could not find an obvious way to split it up some more without breaking atomicity of the change. Also unfortunately, this introduces two instances of div_u64_rem() in the request path, which can be slow on 32-bit architectures. This can probably be avoided by a larger restructuring of the code, but it is unlikely that lustre is used in performance critical setups on 32-bit architectures, so it seems better to optimize for correctness rather than speed here. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cc980713ec9e6847896891c54562ad815c33424 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:29 2015 -0400 staging/lustre: use 64-bit times for ptlrpc_sec Here we use an unsigned long to store the timeout for gc, which is probably safe until 2106, but this patch converts it to use ktime_get_real_seconds() and time64_t for consistency. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 986ef135c2afce959971b0086fc04e0f9f654120 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:28 2015 -0400 staging/lustre: use 64-bit times for ptlrpc sec expiry The exp_flvr_expire and imp_sec_expire are defined as 'unsigned long', which doesn't overflow until 2106, but to be on the safe side, this changes the code to use time64_t like we do everywhere else. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14e3f92a4c46eedfe745b0dec42a4dcb1b16a989 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:27 2015 -0400 staging/lustre: use 64-bit timestamps for mdc These three are timestamps that are sent over the wire in mdc_lib and the obd logging 64-bit values, but are generated using the 32-bit get_seconds() function, which will eventually overflow. Changing them to use 64-bit ktime_get_real_seconds() solves the problem. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d7eed54a2391db16f184b18cde5c1824775ebdc Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:26 2015 -0400 staging/lustre: use 64-bit times in another debug print The ll_setattr_raw() function prints the new inode timestamps along with the current time using '%lu', which overflows in 2106. This changes the printing of the current time for now, the other two will change when we migrate the VFS code to use 64-bit timestamps. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 589bfa37692c61e6f07ed0d65fbfbd478694bc22 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:25 2015 -0400 staging/lustre: use 64-bit times in debug print This adapts the format string and get_seconds() call to not overflow in 2038 in the libcfs_debug_dumplog_internal() function. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80018a9edbc3180ae31a7197f9dacab975a7f5e2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:24 2015 -0400 staging/lustre: use 64-bit times in ptlrpc_enc_page_pool ptlrpc_enc_page_pool computes time deltas using 'long' values from get_seconds(). This is probably safe beyond y2038, but it's better to go use monotonic times and 64-bit here for consistency. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9f79e6bf02c109f117132163239bfffa6475ccb Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:23 2015 -0400 staging/lustre: use 64-bit time for selftest The lustre selftest code has multiple time stamps that are kept as 'time_t' or 'unsigned long' and can therefore overflow on 32-bit systems. This changes the code to use time64_t instead. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec0067d1beeee2ca45e865d608101148b5e739d4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:22 2015 -0400 staging/lustre: use 64-bit time for ni_last_alive The ni_last_alive member of lnet_ni uses a 'long' to store a timestamp, which breaks on 32-bit systems in 2038. This changes it to use time64_t and the respective functions for it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74ad578f19959fc7af219752760c1dc0b2f78ced Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:21 2015 -0400 staging/lustre: use 64-bit times for ksnd_connd The connection starting/failing time stamps will overflow in 2038 on 32-bit machines, so we need to use time64_t and ktime_get_real_seconds() instead. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05406826aafb658d51ba7ac2fc6870992776ef6d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:20 2015 -0400 staging/lustre: use 64-bit llite debugfs timestamps The llite debugfs interface contains timestamps that are computed from timeval, which overflows in 2038 on 32-bit systems. This changes the output to use a timespec64 type to avoid the overflow. I also change the format to print the sub-second portion as 9 digits (nanoseconds) for clarity, rather than printing six digits without leading zeroes. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ac0478b65de1e5b8b62f608bdf1d8ba631acc4d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:19 2015 -0400 staging/lustre: use 64-bit time for adaptive timeout The adaptive timeout handling stores absolute times in 32-bit time_t quantities, which will overflow in 2038. This changes it to use time64_t. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74e489aa9cce1ec8f8a44ecc1651cf06b61db204 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:18 2015 -0400 staging/lustre: use 64-bit time for debugfs output This time is only printed in debugfs, and can be easily converted to 64-bit to avoid overflowing on 32-bit systems in 2038. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f83409cf2382c968f96877368cd5b542b92af1d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:17 2015 -0400 staging/lustre: use 64-bit time for pl_recalc The ldlm pool calculates elapsed time by comparing the previous and current get_seconds() values, which is unsafe on 32-bit machines after 2038. This changes the code to use time64_t and ktime_get_real_seconds(), keeping the 'real' instead of 'monotonic' time because of the debug prints. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f8c37a4e29bb4794950228d2d9571029f277d7b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:16 2015 -0400 staging/lustre: use 64-bit timestamps for selftest The wire protocol for the ping uses a 64-bit seconds/microseconds pair, but this won't work when one side uses a 32-bit timeval to look up the current time beyond 2038. This changes the code to use ktime_get_real_ts64() to create a timestamp that has the right format on all machines. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23d9a0467c6ce436e4f40e44e81005df6bdd9d2d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:15 2015 -0400 staging/lustre: use 64-bit computation in s2dhms() The s2dhms computes the day/hour/minute/second values from a time_t, which stops working in 2038. This changes the code to take a time64_t argument, and use div_u64_rem() to implement the first division. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f4fc343c008981d3a91351c030e2c29f5cd1b1c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:14 2015 -0400 staging/lustre: use 64-bit times for cfs_srand seed Several functions in Lustre call cfs_srand with do_gettimeofday as the seed to get a pseudo-random number. There is no bug here, but changing it to use ktime_get_ts64() gets us closer to deprecating do_gettimeofday() and makes it slightly more random. Affected functions are: lnet_shuffle_seed, init_lustre_lite and class_handle_init Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 473c4e01029f6692be7ddc0e7f9b75dc933c7057 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:13 2015 -0400 staging/lustre: use 64-bit ibn_incarnation computation ibn_incarnation is a 64-bit value, but using timeval to compute it will cause an overflow in 2038. This changes it to use ktime_get_real_ts64() instead. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70513c5d17b9812cc218e8b4c7826ebb5f375d9a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:12 2015 -0400 staging/lustre: use jiffies_to_*() instead of cfs_duration_usec The cfs_duration_usec() function has a timeval as its output, which we want to avoid in general because of the y2038 problem. There are only two locations remaining in lustre, so we can for now replace one with jiffies_to_timeval(), which is a generic kernel function that does the same thing, the other can just use jiffies_to_usecs() and completely avoid the timeval. This is not a full solution yet, but it's a small step that lets us build a larger portion of lustre without this reference to timeval in a header file, and avoid triggering automated checking tools that wants to warn about timeval. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8453c24d7f610ec67cc1bbbcf5c8b6880645672 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:11 2015 -0400 staging/lustre: use 'long' return type for cfs_duration_sec() The cfs_duration_sec() converts a relative jiffies value into seconds, and returns that number as a time_t. We know that a 32-bit type is enough here, because the result is order of magnitudes smaller than the difference in jiffies that is also expressed as a 'long', so we can safely replace the time_t type with long as well. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e50efea6a4fe6c92dce3022878f91cf17bdceb8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:10 2015 -0400 staging/lustre: use 64-bit time LNetCtl() This ioctl function passes a 64-bit time argument but then performs a computation with a 32-bit get_seconds() value. In order to avoid overflow here, this changes the code to use 64-bit math and ktime_get_real_seconds(). Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a11ef8ca94cccca98e0d7f23d5145cad71dd62f0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:09 2015 -0400 staging/lustre: avoid unnecessary timeval conversion The lnet_eq_wait_locked tries to wait for time to pass or an event to wake up the wait queue. The entire logic seems to be a very elaborate reimplementation of wait_event(). I'm not trying to clean up the entire logic here, but this at least gets rid of the multi-way conversion between miliseconds, timeval and jiffies. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8ff18106cf12af944c0c33ada5aa9a0a0e54048 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:08 2015 -0400 staging/lustre: change rq_at_index type The rq_at_index member of ptlrpc_request is incorrectly declared as time_t, when it is only used as an index into an array, and assigned from a __u32 variable. This changes the type to u32, so we can kill off another use of time_t. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98f2d643e3597bf42fa6c2c2fa12b99fe4afb3bc Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:07 2015 -0400 staging/lustre: use ktime_t for calculating elapsed time process_param2_config() tries to print how much time has passed across a call_usermodehelper() function, and uses struct timeval for that. We want to remove this structure, so this is better expressed in terms of ktime_t and ktime_us_delta(). Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf6d21539d58f64812d71c956ecec3d67650b2ee Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:06 2015 -0400 staging/lustre: use time64_t for l_last_activity The l_last_activity struct member is used to keep track lock hold times, and it is printed for debugging purposes. For the elapsed time, we can use 'long' here, but it's better to use time64_t for storing the real time to avoid an overflow in 2038. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86655400c6e74751a73be82ea40d5ae6979c3225 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:05 2015 -0400 staging/lustre: use 64-bit timestamps in debugfs output Some lustre debugfs files contain the current time. Make sure we use a format here that does not overflow in 2038. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65f28840e4c653b7d78feabcb65280c09d3d0d23 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:04 2015 -0400 staging/lustre: tracefile: document seconds overflow The lustre tracefile has a timestamp defined as __u32 ph_sec; __u64 ph_usec; which seems completely backwards, as the microsecond portion of a time stamp will always fit into a __u32 value, while the second portion will overflow in 2038 or 2106 (in case of unsigned seconds). Changing this would unfortunately change the format in an incompatible way, breaking all existing user space tools that access the data. This uses ktime_get_real_ts64() to replace the insufficient do_gettimeofday() and then truncates the seconds portion to an u32 type, along with comments to explain the result. A possible alternative would be the use of ktime_get_ts64() to read a monotonic timestamp that never overflows, but this would trigger a check in user space 'hdr->ph_sec < (1 << 30)' that attempts to ensure that the values are within a reasonable range. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45efd655b1ed8286e9fe03e63e674cfb4f5b671e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:03 2015 -0400 staging/lustre: obd: remove unused data structures We want to get rid of all uses of time_t, and it turns out that obd.h contains a bunch of them that are completely unused. This removes those structures, along with a couple of other structures and functions in the same file that also turned out to be unused. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46c360f9d38e0b26247a3b723545790853c6747b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:02 2015 -0400 staging/lustre: use 64-bit inode timestamps internally Lustre has 64-bit timestamps in its network data structures, but on 32 bit systems, it converts them directly into time_t, which is 32 bit wide. This changes the code to use 64-bit time stamps for files. The Linux VFS code still uses time_t though, and will be changed in a separate patch series. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f088dba3cc267ea11ec0da318cd0175575b5f9b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:01 2015 -0400 staging/lustre: use jiffies for lp_last_query times The recently introduced lnet_peer_set_alive() function uses get_seconds() to read the current time into a shared variable, but all other uses of that variable compare it to jiffies values. This changes the current use to jiffies as well for consistency. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: af3fa7c71bf ("staging/lustre/lnet: peer aliveness status and NI status") Cc: Liang Zhen <liang.zhen@xxxxxxxxx> Cc: James Simmons <uja.ornl@xxxxxxxxx> Cc: Isaac Huang <he.huang@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7fb7027c44647338962d7aa35ddeedaaa6a9f7d6 Author: Jayavant Kenjalkar <jgkenjalkar@xxxxxxxxx> Date: Sun Sep 27 11:15:21 2015 +0530 Staging: lustre: Fix warning detected by coccicheck Removing redundant semicolon as detected by coccicheck. Signed-off-by: Jayavant Kenjalkar <jgkenjalkar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2adf5e8775374288ed5b5b4966dc92418d3868f8 Author: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Date: Thu Sep 24 00:08:17 2015 +0300 staging: lustre: make non-exported functions static Declare non-exported functions as static. Signed-off-by: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e58248728ded9d2d088b355cf74f33eb6a4746c Author: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Date: Thu Sep 24 00:04:04 2015 +0300 staging: lustre: include header with local ptlrpc declarations Include the header with declarations of variables that are shared between several sources in ptlrpc module into the appropriate source files. Signed-off-by: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dc3840b4efb6ad47357c3088a91d0088e306514 Author: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Date: Thu Sep 24 00:02:28 2015 +0300 staging: lustre: moved extern declarations to a header This patch moves declarations of variables used in several files across the ptlrpc module from source files to a local header. Signed-off-by: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40396eb900aae70a79e966ff91b0783662250d07 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 22 07:44:03 2015 +0300 staging: lustre: lustre_dlm_flags: stop using C99 comments Convert C99-style // comments to C89-style comments and fix C99_COMMENTS checpatch errors. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92bb833e39feea79827946e1ecbaa7e6dee73fbf Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:37 2015 +0200 staging: lustre: fix handling lustre_posix_acl_xattr_filter result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4346f9a01fe0846d1399292b53b24f6fde5bd2d9 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:58 2015 +0200 staging: lustre: remove invalid check Unsigned cannot be negative. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2d023af6995b949c3661abed48c5e8266b1170b Author: Ira Weiny <ira.weiny@xxxxxxxxx> Date: Mon Sep 28 14:05:48 2015 -0400 staging/rdma: Kconfig change STAGING_RDMA to be tristate. STAGING_RDMA was failing to build when INFINIBAND was set to 'm' and STAGING_RDMA was set to 'y'. Making this a tristate properly inherits the 'm' from the INFINIBAND setting. Reviewed-by: Dalessandro, Dennis <dennis.dalessandro@xxxxxxxxx> Reviewed-by: John, Jubin <jubin.john@xxxxxxxxx> Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b91cc5738f89ee0d551a1cd90d794c537b8f1dea Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Sep 21 23:39:08 2015 +0800 staging: rdma: add a blank line after function Fixed warnings found by checkpatch.pl: Please use a blank line after function/struct/union/enum declarations FILE: drivers/staging/rdma/amso1100/c2_mq.c:158: FILE: drivers/staging/rdma/hfi1/file_ops.c:2069: FILE: drivers/staging/rdma/hfi1/sdma.c:744: FILE: drivers/staging/rdma/hfi1/verbs.c:1202: Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96a660d70699fc5decb381b15fd0a62a27001fe4 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Sep 21 22:18:14 2015 +0800 IB/hfi1: class_name_user() should be static Fixes the following sparse warning: drivers/staging/rdma/hfi1/device.c:127:12: warning: symbol 'class_name_user' was not declared. Should it be static? Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60f57ec2da398a7c1f56dc2ac690ef75b17d2399 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Sep 21 04:43:05 2015 -0700 IB/hfi1: use kvfree() in sdma.c Use kvfree() instead of open-coding it. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49c3203707c9feebee26fec02f67b0431ac0a72a Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Sun Sep 20 16:07:15 2015 +0200 staging/rdma/hfi1: do not use u8 to store a 32-bit integer hfi1_rc_hdrerr() stores the result of be32_to_cpu() into opcode, which is a local variable declared as u8. Later this variable is used in a 24-bit logical right shift, which makes clang complains (when building an allmodconfig kernel with LLVMLinux patches): drivers/staging/rdma/hfi1/rc.c:2399:9: warning: shift count >= width of type [-Wshift-count-overflow] opcode >>= 24; ^ ~~ All of this lead to the point that opcode may have been designed to be a 32-bit integer instead of an 8-bit one. Therefore make this variable u32. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Acked-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16c863bbf4dabc1ff67d5c67d2d6e614211528d4 Author: fangwei <fangwei1@xxxxxxxxxx> Date: Tue Jul 7 10:54:26 2015 +0800 jffs2: remove unneeded kfree c->oobbuf hasn't been kmalloced in jffs2_dataflash_setup, so there is no need to free it. Signed-off-by: Wei Fang <fangwei1@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ecb43e0a5f72379095892660c4e1601904ab1949 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Jun 19 13:10:07 2015 -0700 mtd: cmdlinepart: convert printk() to pr_*() This driver uses some custom macros for printing. Let's use the standard pr_fmt()/pr_{err,warn}(). Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d855d23b56a5d67a7727dc275a86aaba290d7c55 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Jun 19 13:10:06 2015 -0700 mtd: cmdlinepart: allow small partitions I'm not sure why we have a PAGE_SIZE restriction on this partition parser. If we really wanted the restriction, I would expect it to be a restriction for *all* parsers, so we'd move it to the MTD core At any rate, while small partitions may not be useful (they'll often be smaller than the eraseblock size and therefore can only be used read-only), they still have use as a read-only partition. This restriction is especially annoying because it aborts the entire MTD's cmdline parsing, leaving it unpartitioned. So, let's kill the restriction and only check for zero-sized partitions, which I expect we don't want to allow. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 713519c710749d72bfad844579e10017af77bf84 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:24:14 2015 +0200 staging: rtl8192e: Rename dm_ctrl_initgain_byrssi Use naming schema found in other rtlwifi devices. Rename dm_ctrl_initgain_byrssi to _rtl92e_dm_ctrl_initgain_byrssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3270b5074fd23101d6983cd52dd661e5e916e470 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:24:13 2015 +0200 staging: rtl8192e: Rename firmware_check_ready Use naming schema found in other rtlwifi devices. Rename firmware_check_ready to _rtl92e_fw_check_ready. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57aac1ce29bcc37ed8eece017272bfd2bb321f45 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:24:12 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_enc Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_enc to _rtl92e_wx_set_enc. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea3ab341a205097c88ca0327e6b506f2f508c18c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:24:11 2015 +0200 staging: rtl8192e: Rename dm_tx_update_tssi_weak_signal Use naming schema found in other rtlwifi devices. Rename dm_tx_update_tssi_weak_signal to _rtl92e_dm_tx_update_tssi_weak_signal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 264045986f689af5abd08be6a0a124affc40fc90 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:24:10 2015 +0200 staging: rtl8192e: Rename dm_tx_update_tssi_strong_signal Use naming schema found in other rtlwifi devices. Rename dm_tx_update_tssi_strong_signal to _rtl92e_dm_tx_update_tssi_strong_signal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a19b5d7207f7baa09560d01a16c5790ad70c6d76 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:09 2015 +0200 staging: rtl8192e: Rename dm_TXPowerTrackingCallback_TSSI Use naming schema found in other rtlwifi devices. Rename dm_TXPowerTrackingCallback_TSSI to _rtl92e_dm_tx_power_tracking_callback_tssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 721d2f8dfeebf07803bd3e7cb299967b7dabee1c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:08 2015 +0200 staging: rtl8192e: Rename dm_TXPowerTrackingCallback_ThermalMeter Use naming schema found in other rtlwifi devices. Rename dm_TXPowerTrackingCallback_ThermalMeter to _rtl92e_dm_tx_power_tracking_cb_thermal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b97c2206474ca5dd7dad7cf40ea259d3d7489c2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:07 2015 +0200 staging: rtl8192e: Rename dm_txpower_reset_recovery Use naming schema found in other rtlwifi devices. Rename dm_txpower_reset_recovery to _rtl92e_dm_tx_power_reset_recovery. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07aec67071dcb1f835419ed6f1af4c1a4ed985a8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:06 2015 +0200 staging: rtl8192e: Rename dm_StartSWFsync Use naming schema found in other rtlwifi devices. Rename dm_StartSWFsync to _rtl92e_dm_start_sw_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22b5e8cd712b08a9ce9e9b1839c8bd0de593cae9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:05 2015 +0200 staging: rtl8192e: Rename dm_StartHWFsync Use naming schema found in other rtlwifi devices. Rename dm_StartHWFsync to _rtl92e_dm_start_hw_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 500344fdc257b8563bb35e4d7db170b0a8c30895 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:04 2015 +0200 staging: rtl8192e: Rename dm_send_rssi_tofw Use naming schema found in other rtlwifi devices. Rename dm_send_rssi_tofw to _rtl92e_dm_send_rssi_to_fw. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c0510e7399ac6b07e6b82f789d68233c20cc9bc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:03 2015 +0200 staging: rtl8192e: Rename dm_rxpath_sel_byrssi Use naming schema found in other rtlwifi devices. Rename dm_rxpath_sel_byrssi to _rtl92e_dm_rx_path_sel_byrssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88a4b242ed1760c957e43a3f22a95398e304d0e4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:02 2015 +0200 staging: rtl8192e: Rename dm_pd_th Use naming schema found in other rtlwifi devices. Rename dm_pd_th to _rtl92e_dm_pd_th. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 199ab04fb1b0e0aaa9c4ba9cd90d5d4ef672df39 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:01 2015 +0200 staging: rtl8192e: Rename dm_Init_WA_Broadcom_IOT Use naming schema found in other rtlwifi devices. Rename dm_Init_WA_Broadcom_IOT to _rtl92e_dm_init_wa_broadcom_iot. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1078599cbf68219d8e893644dff4d7fd67ab9de5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:00 2015 +0200 staging: rtl8192e: Rename dm_InitializeTXPowerTracking_TSSI Use naming schema found in other rtlwifi devices. Rename dm_InitializeTXPowerTracking_TSSI to _rtl92e_dm_initialize_tx_power_tracking_tssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b3625cde60f762abbfa22cf8c655389ba00356b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:59 2015 +0200 staging: rtl8192e: Rename dm_init_rxpath_selection Use naming schema found in other rtlwifi devices. Rename dm_init_rxpath_selectio to _rtl92e_dm_init_rx_path_selection. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09de06c9e9d4370a39b5f1a177b2d32a9fd74f92 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:58 2015 +0200 staging: rtl8192e: Rename dm_InitializeTXPowerTracking_ThermalMeter Use naming schema found in other rtlwifi devices. Rename dm_InitializeTXPowerTracking_ThermalMeter to _rtl92e_dm_init_tx_power_tracking_thermal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5578a5660ba805e9be482855b8f48b02f6f9a290 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:57 2015 +0200 staging: rtl8192e: Rename dm_initial_gain Use naming schema found in other rtlwifi devices. Rename dm_initial_gain to _rtl92e_dm_initial_gain. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1f59c71b48581e9b584e2078279d1cecb4ce8ba Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:56 2015 +0200 staging: rtl8192e: Rename dm_init_fsync Use naming schema found in other rtlwifi devices. Rename dm_init_fsync to _rtl92e_dm_init_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53f1c5b19c0316fdaac1142bd81d993ad0bd7113 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:55 2015 +0200 staging: rtl8192e: Rename dm_init_dynamic_txpower Use naming schema found in other rtlwifi devices. Rename dm_init_dynamic_txpower to _rtl92e_dm_init_dynamic_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dd6581129d281a7e5e3d04c57a0c189a4099c90 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:54 2015 +0200 staging: rtl8192e: Rename dm_init_ctstoself Use naming schema found in other rtlwifi devices. Rename dm_init_ctstoself to _rtl92e_dm_init_cts_to_self. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26210305ab8ecc1233d09b01d3491d347d0763a2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:53 2015 +0200 staging: rtl8192e: Rename dm_init_bandwidth_autoswitch Use naming schema found in other rtlwifi devices. Rename dm_init_bandwidth_autoswitch to _rtl92e_dm_init_bandwidth_autoswitch. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c70d11cdcead2578b55d6c7bbf59b2b2e333edb1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:52 2015 +0200 staging: rtl8192e: Rename dm_fsync_timer_callback Use naming schema found in other rtlwifi devices. Rename dm_fsync_timer_callback to _rtl92e_dm_fsync_timer_callback. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f00afec854d473f74ea6d306a83ef7ef1438bdf3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:51 2015 +0200 staging: rtl8192e: Rename dm_EndSWFsync Use naming schema found in other rtlwifi devices. Rename dm_EndSWFsync to _rtl92e_dm_end_sw_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a420d8f55a0146cd9c5767a817bca5ab3d33f31 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:50 2015 +0200 staging: rtl8192e: Rename dm_EndHWFsync Use naming schema found in other rtlwifi devices. Rename dm_EndHWFsync to _rtl92e_dm_end_hw_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b09dea2f279e131c5790339d24bb7bc34bb846d3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:49 2015 +0200 staging: rtl8192e: Rename dm_dynamic_txpower Use naming schema found in other rtlwifi devices. Rename dm_dynamic_txpower to _rtl92e_dm_dynamic_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 832734bf7cee8751faa1be4b76bdcb56240a602f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:48 2015 +0200 staging: rtl8192e: Rename dm_dig_init Use naming schema found in other rtlwifi devices. Rename dm_dig_init to _rtl92e_dm_dig_init. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6bc343a522a733f7139acdec69648a2f1559f73 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:47 2015 +0200 staging: rtl8192e: Rename dm_deInit_fsync Use naming schema found in other rtlwifi devices. Rename dm_deInit_fsync to _rtl92e_dm_deinit_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dab9eef4f2896a8bac28be9aa5c4344c4ec894a6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:46 2015 +0200 staging: rtl8192e: Rename dm_ctstoself Use naming schema found in other rtlwifi devices. Rename dm_ctstoself to _rtl92e_dm_cts_to_self. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c696148c69bfc220d1debe9cd451d87f45526fa Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:45 2015 +0200 staging: rtl8192e: Rename dm_ctrl_initgain_byrssi_highpwr Use naming schema found in other rtlwifi devices. Rename dm_ctrl_initgain_byrssi_highpwr to _rtl92e_dm_ctrl_initgain_byrssi_highpwr. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7249a4b5118ab693d6e871fcea8edbdaeddfa3c5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:44 2015 +0200 staging: rtl8192e: Rename dm_ctrl_initgain_byrssi_by_fwfalse_alarm Use naming schema found in other rtlwifi devices. Rename dm_ctrl_initgain_byrssi_by_fwfalse_alarm to _rtl92e_dm_ctrl_initgain_byrssi_false_alarm. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24ec800e8076eb73dde509cc15cb5787a85b3fa8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:43 2015 +0200 staging: rtl8192e: Rename dm_ctrl_initgain_byrssi_by_driverrssi Use naming schema found in other rtlwifi devices. Rename dm_ctrl_initgain_byrssi_by_driverrssi to _rtl92e_dm_ctrl_initgain_byrssi_driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 552944e3e4e228c17954a5bfab56c9ea06babc10 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:42 2015 +0200 staging: rtl8192e: Rename dm_cs_ratio Use naming schema found in other rtlwifi devices. Rename dm_cs_ratio to _rtl92e_dm_cs_ratio. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b230f92ba93076d7bdcf2ddc1b3b492c28e62f1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:41 2015 +0200 staging: rtl8192e: Rename dm_check_txrateandretrycount Use naming schema found in other rtlwifi devices. Rename dm_check_txrateandretrycount to _rtl92e_dm_check_txrateandretrycount. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dfb646871e41206d7cf6083ec8fa84348203346 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:40 2015 +0200 staging: rtl8192e: Rename dm_CheckTXPowerTracking_TSSI Use naming schema found in other rtlwifi devices. Rename dm_CheckTXPowerTracking_TSSI to _rtl92e_dm_check_tx_power_tracking_tssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c40c66a79d6bbe7151c49983400e1f51c3a9c4e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:39 2015 +0200 staging: rtl8192e: Rename dm_CheckTXPowerTracking_ThermalMeter Use naming schema found in other rtlwifi devices. Rename dm_CheckTXPowerTracking_ThermalMeter to _rtl92e_dm_check_tx_power_tracking_thermal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f3173c23f4234d5c0c272fad73e0b6c81c541fa Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:38 2015 +0200 staging: rtl8192e: Rename dm_check_txpower_tracking Use naming schema found in other rtlwifi devices. Rename dm_check_txpower_tracking to _rtl92e_dm_check_tx_power_tracking. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ff542578c0ff760a36f815a6b18e0673da3ab80 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:37 2015 +0200 staging: rtl8192e: Rename dm_check_rx_path_selection Use naming schema found in other rtlwifi devices. Rename dm_check_rx_path_selection to _rtl92e_dm_check_rx_path_selection. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a1161264d20d3c9ed0c54aebfa097107467d3f9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:36 2015 +0200 staging: rtl8192e: Rename dm_CheckRfCtrlGPIO Use naming schema found in other rtlwifi devices. Rename dm_CheckRfCtrlGPIO to _rtl92e_dm_check_rf_ctrl_gpio. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e2721f9c20dac367ff486ddf3f481268cf54376 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:35 2015 +0200 staging: rtl8192e: Rename dm_check_rate_adaptive Use naming schema found in other rtlwifi devices. Rename dm_check_rate_adaptive to _rtl92e_dm_check_rate_adaptive. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59c997ef14c9246847b0595b7e3742e08f3fb898 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:34 2015 +0200 staging: rtl8192e: Rename dm_check_pbc_gpio Use naming schema found in other rtlwifi devices. Rename dm_check_pbc_gpio to _rtl92e_dm_check_pbc_gpio. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e63b75613994511e3fd0657de421e1a62b0ca918 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:33 2015 +0200 staging: rtl8192e: Rename dm_check_fsync Use naming schema found in other rtlwifi devices. Rename dm_check_fsync to _rtl92e_dm_check_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f778eca7b98d4c48ce340c98d9193d599c8a0cd5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:32 2015 +0200 staging: rtl8192e: Rename dm_check_edca_turbo Use naming schema found in other rtlwifi devices. Rename dm_check_edca_turbo to _rtl92e_dm_check_edca_turbo. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit babb55f9db82896675275f1748f2d684fac13024 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:31 2015 +0200 staging: rtl8192e: Rename dm_check_ac_dc_power Use naming schema found in other rtlwifi devices. Rename dm_check_ac_dc_power to _rtl92e_dm_check_ac_dc_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52645a01225f3a8c459d4536da204af3f5a805da Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:30 2015 +0200 staging: rtl8192e: Rename dm_CCKTxPowerAdjust_TSSI Use naming schema found in other rtlwifi devices. Rename dm_CCKTxPowerAdjust_TSSI to _rtl92e_dm_cck_tx_power_adjust_tssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a50bc3f6cd47bb42c6cfd66b99050d6a719a7999 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:29 2015 +0200 staging: rtl8192e: Rename dm_CCKTxPowerAdjust_ThermalMeter Use naming schema found in other rtlwifi devices. Rename dm_CCKTxPowerAdjust_ThermalMeter to _rtl92e_dm_cck_tx_power_adjust_thermal_meter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90cc1250046ef2d36947e3be9368db557ad998b3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:28 2015 +0200 staging: rtl8192e: Rename dm_bb_initialgain_restore Use naming schema found in other rtlwifi devices. Rename dm_bb_initialgain_restore to _rtl92e_dm_bb_initialgain_restore. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24a29bf819e397969385b6944daba636a06e0d3d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:27 2015 +0200 staging: rtl8192e: Rename dm_bb_initialgain_backup Use naming schema found in other rtlwifi devices. Rename dm_bb_initialgain_backup to _rtl92e_dm_bb_initialgain_backup. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4244a0305d7b0ee37d18897204b03453650a7b9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:26 2015 +0200 staging: rtl8192e: Rename dm_bandwidth_autoswitch Use naming schema found in other rtlwifi devices. Rename dm_bandwidth_autoswitch to _rtl92e_dm_bandwidth_autoswitch. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a263fcf0a23b826bd24dd0c500ba3f52728570e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:25 2015 +0200 staging: rtl8192e: Rename r8192se_wx_set_lps_awake_interval Use naming schema found in other rtlwifi devices. Rename r8192se_wx_set_lps_awake_interval to _rtl92e_wx_set_lps_awake_interval. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84e4dc10939419b967355cbc8630983d0b93bbf0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:24 2015 +0200 staging: rtl8192e: Rename r8192se_wx_set_force_lps Use naming schema found in other rtlwifi devices. Rename r8192se_wx_set_force_lps to _rtl92e_wx_set_force_lps. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e830e0dc455625353844154f7d53f391467c16fc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:23 2015 +0200 staging: rtl8192e: Rename r8192_get_wireless_stats Use naming schema found in other rtlwifi devices. Rename r8192_get_wireless_stats to _rtl92e_get_wireless_stats. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3831d405e43380bf11920958e9dc44f28cd53ef1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:22 2015 +0200 staging: rtl8192e: Rename rtl8192_hw_sleep_down Use naming schema found in other rtlwifi devices. Rename rtl8192_hw_sleep_down to _rtl92e_hw_sleep. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79f387e710bcf19974345f26f13d253804684364 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:21 2015 +0200 staging: rtl8192e: Rename MgntActSet_802_11_PowerSaveMode Use naming schema found in other rtlwifi devices. Rename MgntActSet_802_11_PowerSaveMode to _rtl92e_ps_set_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcc3df4f44d637f43ec4e04b2f3b8b692e0b3937 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:20 2015 +0200 staging: rtl8192e: Rename InactivePsWorkItemCallback Use naming schema found in other rtlwifi devices. Rename InactivePsWorkItemCallback to _rtl92e_ps_update_rf_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 440379c54b537021d519ccf3f5aab47d48fe07c6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:19 2015 +0200 staging: rtl8192e: Rename rtl8192_parse_pci_configuration Use naming schema found in other rtlwifi devices. Rename rtl8192_parse_pci_configuration to _rtl92e_parse_pci_configuration. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1252b09e9e191d1596a3a9c0dd0d4378dd7d8b6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:18 2015 +0200 staging: rtl8192e: Rename rtl8192_wx_get_range Use naming schema found in other rtlwifi devices. Rename rtl8192_wx_get_range to _rtl92e_wx_get_range. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 291bf50d2348c13b7352f87ef5d0e8c866683941 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:17 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_wap Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_wap to _rtl92e_wx_set_wap. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7c821650f95afd857017f9bfcfd0f197f48d148 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:16 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_sens Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_sens to _rtl92e_wx_set_sens. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11f24fd159fc0d1ce5895116942a496f9212321f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:15 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_scan_type Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_scan_type to _rtl92e_wx_set_scan_type. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe13d0105df026e0a954ffcd65aeaa6ec46a5e1f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:14 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_scan Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_scan to _rtl92e_wx_set_scan. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c90ee2fcbe132c449c94278edc450145f998972a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:13 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_rts Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_rts to _rtl92e_wx_set_rts. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f761ee68c90184b600f59d58697a95dac7654f8d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:12 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_retry Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_retry to _rtl92e_wx_set_retry. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3118323435881185f11df71197e14bd9d486488c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:11 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_rawtx Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_rawtx to _rtl92e_wx_set_rawtx. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad6a5412b06df81185503cf9184e684a761d4993 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:10 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_rate Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_rate to _rtl92e_wx_set_rate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d987a158223554347b545f869c90a06c4f1b1532 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:09 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_PromiscuousMode Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_PromiscuousMode to _rtl92e_wx_set_promisc_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2e901857a970abd84ff26f7cc0e5d0f0c54efce Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:08 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_power Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_power to _rtl92e_wx_set_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06a0b5c234ae11947fee804358ea050fdce057fd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:07 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_nick Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_nick to _rtl92e_wx_set_nick. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89528d6c2cdfd5a2b12eebad043cac077d1cc502 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:06 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_mode Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_mode to _rtl92e_wx_set_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdd105f8bea1a2cf44494b9579919b4680c4c5bd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:05 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_mlme Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_mlme to _rtl92e_wx_set_mlme. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49d650e7ab29252b1bd7f175176ec85e553bdc02 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:04 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_gen_ie Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_gen_ie to _rtl92e_wx_set_gen_ie. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1f1c8b0774f1c0d52c1857272708bf6525ae7a7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:03 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_freq Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_freq to _rtl92e_wx_set_freq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9128ca2d67982a4c6b6738fd70b842360600b1b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:02 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_frag Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_frag to _rtl92e_wx_set_frag. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03550af0c4f2660a90ca680f05a4137c262aa1f9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:01 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_essid Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_essid to _rtl92e_wx_set_essid. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e197821fb587155ccf2b1d4a573486b2605aadd9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:00 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_enc_ext Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_enc_ext to _rtl92e_wx_set_encode_ext. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d373a0cebb211031899913ce85d31e8c77b2eeb6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:59 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_debugflag Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_debugflag to _rtl92e_wx_set_debug. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99f1859f8da099add02a89a03d37af11dd37c6a5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:58 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_auth Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_auth to _rtl92e_wx_set_auth. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cd40ae4fe3f2fdc2b74fc760eda3f826087ab98 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:57 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_wap Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_wap to _rtl92e_wx_get_wap. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbeb359403c4664ab1fefd7a9d0aa2462a4d14e8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:56 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_sens Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_sens to _rtl92e_wx_get_sens. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d7b35c724c00354a8991daac951c4cfaebc8562 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:55 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_scan Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_scan to _rtl92e_wx_get_scan. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e19794b1ffb9817716d386e59cb565c96ee25c68 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:54 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_rts Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_rts to _rtl92e_wx_get_rts. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0c2194574d8d174a1122d5daefb5b1ee0de3ffc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:53 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_retry Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_retry to _rtl92e_wx_get_retry. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5be1e1ff7cf649c538c85fd5dbbdce04220dde8b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:52 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_rate Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_rate to _rtl92e_wx_get_rate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e792cf88de1942852b3c4de2451f6eadb5d7a99f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:51 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_PromiscuousMode Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_PromiscuousMode to _rtl92e_wx_get_promisc_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b821768a77d5b43f05ad7a9316906a1c5a22cad6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:50 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_power Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_power to _rtl92e_wx_get_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1341a077a24d270b3957538a16ff682497776811 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:49 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_nick Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_nick to _rtl92e_wx_get_nick. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17bbe9866d3b96d943ebc98613d1563d8b26032d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:48 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_name Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_name to _rtl92e_wx_get_name. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 062cd9b4018c556e847631e98108e1e3af61ec57 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:47 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_mode Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_mode to _rtl92e_wx_get_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d343ed7fa1845843be27d663bacb25a5345a6864 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:46 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_gen_ie Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_gen_ie to _rtl92e_wx_get_gen_ie. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1bae81aff1a555b9931b7a25598905b08446495 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:45 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_freq Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_freq to _rtl92e_wx_get_freq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd2213daa0faa238cc1ba2457d49cd33f03d059c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:44 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_frag Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_frag to _rtl92e_wx_get_frag. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c630d42a14c7f6f8201fc49c7fb2f43aa25a1cfa Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:43 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_essid Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_essid to _rtl92e_wx_get_essid. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00496b54d60e996e9c9de6b204ca0830d09c7933 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:42 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_enc Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_enc to _rtl92e_wx_get_enc. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 042f05ebd5df26be499c970dba4d7a74cad87283 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:17 2015 +0200 staging: rtl8192e: Rename r8192_wx_force_reset Use naming schema found in other rtlwifi devices. Rename r8192_wx_force_reset to _rtl92e_wx_force_reset. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac9e5e733bbbbe5210ec60647ed09f3575f2d2f3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:16 2015 +0200 staging: rtl8192e: Rename r8192_wx_adapter_power_status Use naming schema found in other rtlwifi devices. Rename r8192_wx_adapter_power_status to _rtl92e_wx_adapter_power_status. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1153037d40327a7bfff655b94122d079d3140c6b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:15 2015 +0200 staging: rtl8192e: Rename rtl819x_ethtool_get_link Use naming schema found in other rtlwifi devices. Rename rtl819x_ethtool_get_link to _rtl92e_ethtool_get_link. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4b27f60dc26db5ee34240fd5ecc7f66a93171a6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:14 2015 +0200 staging: rtl8192e: Rename rtl819x_ethtool_get_drvinfo Use naming schema found in other rtlwifi devices. Rename rtl819x_ethtool_get_drvinfo to _rtl92e_ethtool_get_drvinfo. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 288adaf5a6d5b81e2d2f169f94a6c3b5d9e80296 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:13 2015 +0200 staging: rtl8192e: Rename rtl8192_check_nic_enough_desc Use naming schema found in other rtlwifi devices. Rename rtl8192_check_nic_enough_desc to _rtl92e_check_nic_enough_desc. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4dba03a28742cc3b290eb6579fa07d2b0a859f40 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:12 2015 +0200 staging: rtl8192e: Rename rtl8192_cancel_deferred_work Use naming schema found in other rtlwifi devices. Rename rtl8192_cancel_deferred_work to _rtl92e_cancel_deferred_work. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2002978d5454b89b1d3c1b533b06d0a18907c8ad Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:11 2015 +0200 staging: rtl8192e: Rename r8192_set_multicast Use naming schema found in other rtlwifi devices. Rename r8192_set_multicast to _rtl92e_set_multicast. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ef7f1ee57c3f59f5a004551d1b4974ebaf572fe Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:10 2015 +0200 staging: rtl8192e: Rename r8192_set_mac_adr Use naming schema found in other rtlwifi devices. Rename r8192_set_mac_adr to _rtl92e_set_mac_adr. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64c6ee9e515b54da7e65ff104c4ec26479c1a050 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:09 2015 +0200 staging: rtl8192e: Rename SetRFPowerState8190 Use naming schema found in other rtlwifi devices. Rename SetRFPowerState8190 to _rtl92e_set_rf_power_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e54431c65c598d33a9762c9464412b877ee8d65 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:08 2015 +0200 staging: rtl8192e: Rename rtl8192_SetTxPowerLevel Use naming schema found in other rtlwifi devices. Rename rtl8192_SetTxPowerLevel to _rtl92e_set_tx_power_level. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b54d76d1c4772ae0e311b98fc535eb71c55e760 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:07 2015 +0200 staging: rtl8192e: Rename rtl8192_SetBWModeWorkItem Use naming schema found in other rtlwifi devices. Rename rtl8192_SetBWModeWorkItem to _rtl92e_set_bw_mode_work_item. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 003486fd3c910f381edd178db05ef925031265a3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:06 2015 +0200 staging: rtl8192e: Rename rtl8192_InitBBRFRegDef Use naming schema found in other rtlwifi devices. Rename rtl8192_InitBBRFRegDef to _rtl92e_init_bb_rf_reg_def. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8411ff1d6be1b9400ac737535f77b6e026bbd4c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:05 2015 +0200 staging: rtl8192e: Rename rtl8192_CalculateBitShift Use naming schema found in other rtlwifi devices. Rename rtl8192_CalculateBitShift to _rtl92e_calculate_bit_shift. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43af9f4a4e313f50ef69e1149d99ea84f2d1a8da Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:04 2015 +0200 staging: rtl8192e: Rename rtl8192_BB_Config_ParaFile Use naming schema found in other rtlwifi devices. Rename rtl8192_BB_Config_ParaFile to _rtl92e_bb_config_para_file. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a2c58a2acd529340d2c9ed39720bb6c8024f9cd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:03 2015 +0200 staging: rtl8192e: Rename CCK_Tx_Power_Track_BW_Switch_TSSI Use naming schema found in other rtlwifi devices. Rename CCK_Tx_Power_Track_BW_Switch_TSSI to _rtl92e_cck_tx_power_track_bw_switch_tssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fca7024a047a7e413741d14fc25df6771f873bac Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:02 2015 +0200 staging: rtl8192e: Rename CCK_Tx_Power_Track_BW_Switch_ThermalMeter Use naming schema found in other rtlwifi devices. Rename CCK_Tx_Power_Track_BW_Switch_ThermalMeter to _rtl92e_cck_tx_power_track_bw_switch_thermal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81f5847da9ce10e656e02bc41341330600a75ec7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:01 2015 +0200 staging: rtl8192e: Rename CCK_Tx_Power_Track_BW_Switch Use naming schema found in other rtlwifi devices. Rename CCK_Tx_Power_Track_BW_Switch to _rtl92e_cck_tx_power_track_bw_switch. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77055c56a71bccc57f64444e9b99296588bee0fd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:00 2015 +0200 staging: rtl8192e: Rename rtl8192_UpdateReceivedRateHistogramStatistics Use naming schema found in other rtlwifi devices. Rename rtl8192_UpdateReceivedRateHistogramStatistics to _rtl92e_update_received_rate_histogram_stats. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d70ed838e28ef42bb2ba03447205335fb22a0c9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:59 2015 +0200 staging: rtl8192e: Rename rtl8192_TranslateRxSignalStuff Use naming schema found in other rtlwifi devices. Rename rtl8192_TranslateRxSignalStuff to _rtl92e_translate_rx_signal_stats. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af82349ab36835649dcb83287ee155879eb8a3d0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:58 2015 +0200 staging: rtl8192e: Rename rtl8192_signal_scale_mapping Use naming schema found in other rtlwifi devices. Rename rtl8192_signal_scale_mapping to _rtl92e_signal_scale_mapping. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 676b8bae806ebf7e36d640ea64ac06116143fc5b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:57 2015 +0200 staging: rtl8192e: Rename rtl8192_read_eeprom_info Use naming schema found in other rtlwifi devices. Rename rtl8192_read_eeprom_info to _rtl92e_read_eeprom_info. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 410bfd1d8f1c16dafca2182f7391099a077806f5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:56 2015 +0200 staging: rtl8192e: Rename rtl8192_query_rxphystatus Use naming schema found in other rtlwifi devices. Rename rtl8192_query_rxphystatus to _rtl92e_query_rxphystatus. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45de428315f590d6a7ec7c7bd9b6a0d2adcaff67 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:55 2015 +0200 staging: rtl8192e: Rename rtl8192_QueryIsShort Use naming schema found in other rtlwifi devices. Rename rtl8192_QueryIsShort to _rtl92e_query_is_short. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1325ba089c4337ef54970d4252c9c197a2a8f20c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:54 2015 +0200 staging: rtl8192e: Rename rtl8192_process_phyinfo Use naming schema found in other rtlwifi devices. Rename rtl8192_process_phyinfo to _rtl92e_process_phyinfo. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 479e2b8ca88d6a7d2ed4945a2fbe50b061c713dd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:53 2015 +0200 staging: rtl8192e: Rename rtl8192_net_update Use naming schema found in other rtlwifi devices. Rename rtl8192_net_update to _rtl92e_net_update. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e77891b35ccab4f41e01e631eb79eab46ec19ce9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:52 2015 +0200 staging: rtl8192e: Rename rtl8192_MapHwQueueToFirmwareQueue Use naming schema found in other rtlwifi devices. Rename rtl8192_MapHwQueueToFirmwareQueue to _rtl92e_hw_queue_to_fw_queue. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f588a2254fd4cd9c9ec8cb37712b1a12415f7e6a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:51 2015 +0200 staging: rtl8192e: Rename rtl8192_hwconfig Use naming schema found in other rtlwifi devices. Rename rtl8192_hwconfig to _rtl92e_hwconfig. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ded689376a2a53c6a2a6b7d3f3d584e0e391ef4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:50 2015 +0200 staging: rtl8192e: Rename rtl8192e_update_msr Use naming schema found in other rtlwifi devices. Rename rtl8192e_update_msr to _rtl92e_update_msr. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e49f3eca24734c064a86575838bd89b3fd7a3a8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:49 2015 +0200 staging: rtl8192e: Rename rtl8192_hard_start_xmit Use naming schema found in other rtlwifi devices. Rename rtl8192_hard_start_xmit to _rtl92e_hard_start_xmit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52a740454f0e417d5637b45ecbc46fe3edbf4d51 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:48 2015 +0200 staging: rtl8192e: Rename rtl8192_hard_data_xmit Use naming schema found in other rtlwifi devices. Rename rtl8192_hard_data_xmit to _rtl92e_hard_data_xmit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5341f07018bd124b987bf6eecb77f1a23e7db477 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:47 2015 +0200 staging: rtl8192e: Rename rtl8192_handle_beacon Use naming schema found in other rtlwifi devices. Rename rtl8192_handle_beacon to _rtl92e_handle_beacon. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b5a80317d99e7cff3a8a557e72a6f7b34027fef Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:46 2015 +0200 staging: rtl8192e: Rename rtl8192_handle_assoc_response Use naming schema found in other rtlwifi devices. Rename rtl8192_handle_assoc_response to _rtl92e_handle_assoc_response. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee394a7f86cf3bacb76ebd18fbadd9eedb7672b8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:45 2015 +0200 staging: rtl8192e: Rename rtl8192_getSupportedWireleeMode Use naming schema found in other rtlwifi devices. Rename rtl8192_getSupportedWireleeMode to _rtl92e_get_supported_wireless_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66a5c29b33bee95f855ce76db23748caca9e63fb Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:44 2015 +0200 staging: rtl8192e: Rename rtl8192_get_channel_map Use naming schema found in other rtlwifi devices. Rename rtl8192_get_channel_map to _rtl92e_get_channel_map. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2cfc37586a80abc79ebd0461151eb0209e5ef0c2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:43 2015 +0200 staging: rtl8192e: Rename watch_dog_timer_callback Use naming schema found in other rtlwifi devices. Rename watch_dog_timer_callback to _rtl92e_watchdog_timer_cb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e2d598ac3db434d812956d9d1aca51c51a04e02 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:42 2015 +0200 staging: rtl8192e: Rename rtl819x_watchdog_wqcallback Use naming schema found in other rtlwifi devices. Rename rtl819x_watchdog_wqcallback to _rtl92e_watchdog_wq_cb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3b481652f60249a847c10c8ce966189d9d71c98 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:41 2015 +0200 staging: rtl8192e: Rename rtl819x_update_rxcounts Use naming schema found in other rtlwifi devices. Rename rtl819x_update_rxcounts to _rtl92e_update_rxcounts. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cfe245bbb8c55b704a3faf7fc01921feb598faf3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:40 2015 +0200 staging: rtl8192e: Rename rtl819x_silentreset_mesh_bk Use naming schema found in other rtlwifi devices. Rename rtl819x_silentreset_mesh_bk to _rtl92e_silent_reset_mesh. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e177a9f4e3bf5416699dc1231e04599b773713b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:39 2015 +0200 staging: rtl8192e: Rename rtl819x_ifsilentreset Use naming schema found in other rtlwifi devices. Rename rtl819x_ifsilentreset to _rtl92e_if_silent_reset. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79fbe932318e87ca2a51983bbfcca101e260b2c3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:38 2015 +0200 staging: rtl8192e: Rename rtl819x_ifcheck_resetornot Use naming schema found in other rtlwifi devices. Rename rtl819x_ifcheck_resetornot to _rtl92e_if_check_reset. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a99c563d16314cf9814ca174e1da430c5491fc2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:37 2015 +0200 staging: rtl8192e: Rename rtl8192_update_cap Use naming schema found in other rtlwifi devices. Rename rtl8192_update_cap to _rtl92e_update_cap. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc888405510dbaf4019cda7a6625f6e0721d113e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:36 2015 +0200 staging: rtl8192e: Rename rtl8192_update_beacon Use naming schema found in other rtlwifi devices. Rename rtl8192_update_beacon to _rtl92e_update_beacon. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2f08fc58f18978c88a064089e0f2aba72da06c4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:35 2015 +0200 staging: rtl8192e: Rename rtl8192_stop_beacon Use naming schema found in other rtlwifi devices. Rename rtl8192_stop_beacon to _rtl92e_stop_beacon. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dba0e06f823033f8e67d32d945df0e81a8590019 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:34 2015 +0200 staging: rtl8192e: Rename _rtl8192_sta_up Use naming schema found in other rtlwifi devices. Rename _rtl8192_sta_up to _rtl92e_sta_up. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b19e2221464100647009144278ce60bb800ab51 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:33 2015 +0200 staging: rtl8192e: Rename rtl8192_sta_down Use naming schema found in other rtlwifi devices. Rename rtl8192_sta_down to _rtl92e_sta_down. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5da06ad85740a3f3f300857da95c6a6de5762449 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:32 2015 +0200 staging: rtl8192e: Rename rtl8192_set_chan Use naming schema found in other rtlwifi devices. Rename rtl8192_set_chan to _rtl92e_set_chan. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 422c8bef062497377edef137531993776e2f4d52 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:31 2015 +0200 staging: rtl8192e: Rename rtl8192_refresh_supportrate Use naming schema found in other rtlwifi devices. Rename rtl8192_refresh_supportrate to _rtl92e_refresh_support_rate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5d0d6f5dba847478aeaaa059b13f9a5877b41da Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:30 2015 +0200 staging: rtl8192e: Rename rtl8192_qos_handle_probe_response Use naming schema found in other rtlwifi devices. Rename rtl8192_qos_handle_probe_response to _rtl92e_qos_handle_probe_response. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24bee78a3b4ca06891a7873fa4594c377f7beed8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:29 2015 +0200 staging: rtl8192e: Rename rtl8192_qos_association_resp Use naming schema found in other rtlwifi devices. Rename rtl8192_qos_association_resp to _rtl92e_qos_assoc_resp. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae1fe0db83e257a4709e36b6d1beeda06c506b56 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:28 2015 +0200 staging: rtl8192e: Rename rtl8192_qos_activate Use naming schema found in other rtlwifi devices. Rename rtl8192_qos_activate to _rtl92e_qos_activate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e009a8496ef4e24d16f9c978e923f7ad2ea305b9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:27 2015 +0200 staging: rtl8192e: Rename rtl8192_prepare_beacon Use naming schema found in other rtlwifi devices. Rename rtl8192_prepare_beacon to _rtl92e_prepare_beacon. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87602255efc10e410fb7336388491b132bc6daf5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:26 2015 +0200 staging: rtl8192e: Rename rtl8192_SwChnl_WorkItem Use naming schema found in other rtlwifi devices. Rename rtl8192_SwChnl_WorkItem to _rtl92e_phy_switch_channel_work_item. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d53a5efc83b4459e3bd41164a8d6442fe06c648 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:25 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_SwChnlStepByStep Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_SwChnlStepByStep to _rtl92e_phy_switch_channel_step. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b9484016734d6f635849e1a90e87038c2d73764 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:24 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_SetSwChnlCmdArray Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_SetSwChnlCmdArray to _rtl92e_phy_set_sw_chnl_cmd_array. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c2d5aebe945d2104885210a834f8eb58cf6371b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:23 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_RFSerialWrite Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_RFSerialWrite to _rtl92e_phy_rf_write. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6edb1763ca7a97148fb8c7ccb8311c442d941f6f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:22 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_RFSerialRead Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_RFSerialRead to _rtl92e_phy_rf_read. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 626687964adaa9c11b1954f79f7908a2aa8621e3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:21 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_FinishSwChnlNow Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_FinishSwChnlNow to _rtl92e_phy_switch_channel. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a059e47206d7f7ec62b5eaf82b411faeb8c51d8b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:20 2015 +0200 staging: rtl8192e: Rename rtl8192_phyConfigBB Use naming schema found in other rtlwifi devices. Rename rtl8192_phyConfigBB to _rtl92e_phy_config_bb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f957076035ca986a6082f0ee5f45dba69dc99eab Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:19 2015 +0200 staging: rtl8192e: Rename phy_FwRFSerialWrite Use naming schema found in other rtlwifi devices. Rename phy_FwRFSerialWrite to _rtl92e_phy_rf_fw_write. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5269f55ddf5b9436cac76edc328346a6496a6789 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:18 2015 +0200 staging: rtl8192e: Rename phy_FwRFSerialRead Use naming schema found in other rtlwifi devices. Rename phy_FwRFSerialRead to _rtl92e_phy_rf_fw_read. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a86fc527bf6ef0b7f824f78f48f2a6b96463a45c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:17 2015 +0200 staging: rtl8192e: Rename fw_download_code Use naming schema found in other rtlwifi devices. Rename fw_download_code to _rtl92e_fw_download_code. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f3cd6e50399f7709b2c05e02be8fd2087e34531 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:16 2015 +0200 staging: rtl8192e: Rename CPUcheck_maincodeok_turnonCPU Use naming schema found in other rtlwifi devices. Rename CPUcheck_maincodeok_turnonCPU to _rtl92e_fw_boot_cpu. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4ad6ef1ffecc1bca2d2530703b628b795993ebc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:15 2015 +0200 staging: rtl8192e: Rename CPUcheck_firmware_ready Use naming schema found in other rtlwifi devices. Rename CPUcheck_firmware_ready to _rtl92e_is_fw_ready. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 615c8d8d534d58b3f0c35c28b9e6665c8227a54a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:14 2015 +0200 staging: rtl8192e: Rename MRateToHwRate8190Pci Use naming schema found in other rtlwifi devices. Rename MRateToHwRate8190Pci to _rtl92e_rate_mgn_to_hw. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01d5f56691774b08aa04156ec2c57cfb5c34bbae Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:13 2015 +0200 staging: rtl8192e: Rename HwRateToMRate90 Use naming schema found in other rtlwifi devices. Rename HwRateToMRate90 to _rtl92e_rate_hw_to_mgn. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea2d7059f40139b39d87db2ec8a967a2fc410900 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:12 2015 +0200 staging: rtl8192e: Rename rtl819x_RxCheckStuck Use naming schema found in other rtlwifi devices. Rename rtl819x_RxCheckStuck to _rtl92e_rx_check_stuck. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ba8f7c0d4aeabf2c206b2fdfd01cef28265127a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:11 2015 +0200 staging: rtl8192e: Rename rtl8192_rx_normal Use naming schema found in other rtlwifi devices. Rename rtl8192_rx_normal to _rtl92e_rx_normal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8d841917655f9ac978575b3c0357f1271e93e8c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:10 2015 +0200 staging: rtl8192e: Rename rtl819x_TxCheckStuck Use naming schema found in other rtlwifi devices. Rename rtl819x_TxCheckStuck to _rtl92e_tx_check_stuck. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f8d4a7db6fecab916e6d81ae84b8a873a3f9047 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:09 2015 +0200 staging: rtl8192e: Rename rtl8192_is_tx_queue_empty Use naming schema found in other rtlwifi devices. Rename rtl8192_is_tx_queue_empty to _rtl92e_is_tx_queue_empty. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a67c79040e1000250b1389388be8f0b687e0e283 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:08 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_resume Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_resume to _rtl92e_tx_resume. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac3926553248f23a46147f76d886c9e4a8b34c04 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:07 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_timeout Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_timeout to _rtl92e_tx_timeout. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7effc87bcb52d0b72a2763a247568b44025466d4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:06 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_isr Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_isr to _rtl92e_tx_isr. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98208f968c56e0918babab40f5f7a01645f1d7b6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:05 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_cmd Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_cmd to _rtl92e_tx_cmd. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 374a3c5a5d68cd88dd757e815c59edcb3baa56f3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:04 2015 +0200 staging: rtl8192e: Rename rtl8192_tx Use naming schema found in other rtlwifi devices. Rename rtl8192_tx to _rtl92e_tx. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebc36ecde07835b2455b4cf7af4139bcad3c4815 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:03 2015 +0200 staging: rtl8192e: Rename rtl8192_free_tx_ring Use naming schema found in other rtlwifi devices. Rename rtl8192_free_tx_ring to _rtl92e_free_tx_ring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 694f9d30f7ec55e3b1f0b3418b4c472e4b7e38f8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:02 2015 +0200 staging: rtl8192e: Rename rtl8192_free_rx_ring Use naming schema found in other rtlwifi devices. Rename rtl8192_free_rx_ring to _rtl92e_free_rx_ring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf1ddf24d8a86c827fd079b164cba4694dcc47fc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:01 2015 +0200 staging: rtl8192e: Rename rtl8192_alloc_tx_desc_ring Use naming schema found in other rtlwifi devices. Rename rtl8192_alloc_tx_desc_ring to _rtl92e_alloc_tx_ring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d148965ebe43feb7f70f60cadbc80cbc55d17f5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:00 2015 +0200 staging: rtl8192e: Rename rtl8192_alloc_rx_desc_ring Use naming schema found in other rtlwifi devices. Rename rtl8192_alloc_rx_desc_ring to _rtl92e_alloc_rx_ring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93cc57b5d492559c93674ec713b1f55186728a38 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:59 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_probe Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_probe to _rtl92e_pci_probe. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e482fb542c3bf9059bcc75090b591997701fa1a2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:58 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_module_init Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_module_init to _rtl92e_pci_module_init. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d96bde71d87651bd1ad243b50e5c9e6857d611e5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:57 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_module_exit Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_module_exit to _rtl92e_pci_module_exit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 197917a89083acb45144bd6c203dbd2e645dc288 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:56 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_initdescring Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_initdescring to _rtl92e_pci_initdescring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a85182159f315753ac2cc418bca2530454b1add Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:55 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_disconnect Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_disconnect to _rtl92e_pci_disconnect. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81524bbc17ca25f5865f0e6d615d85ff29b8dfb0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:54 2015 +0200 staging: rtl8192e: Rename _rtl8192_up Use naming schema found in other rtlwifi devices. Rename _rtl8192_up to _rtl92e_up. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1665a67be1d39a32c2a023f32c9f74279bd1508 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:53 2015 +0200 staging: rtl8192e: Rename rtl8192_up Use naming schema found in other rtlwifi devices. Rename rtl8192_up to _rtl92e_try_up. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78e67df3f3d58ae5fced1cee24024d2c337e111b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:52 2015 +0200 staging: rtl8192e: Rename rtl8192_restart Use naming schema found in other rtlwifi devices. Rename rtl8192_restart to _rtl92e_restart. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33bec9bd9bd68c8c3fd99bbf0fadbe844e173762 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:51 2015 +0200 staging: rtl8192e: Rename rtl8192_down Use naming schema found in other rtlwifi devices. Rename rtl8192_down to _rtl92e_down. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27cbba60e045d3e71e726d6f0781ed3ec2b2ce5c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:50 2015 +0200 staging: rtl8192e: Rename rtl8192_close Use naming schema found in other rtlwifi devices. Rename rtl8192_close to _rtl92e_close. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27d673b0bc5bcd4c8e26ab81434af805e7650e02 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:49 2015 +0200 staging: rtl8192e: Rename rtl8192_open Use naming schema found in other rtlwifi devices. Rename rtl8192_open to _rtl92e_open. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09c26de711311ed80c829f8e2c9b06f05b7657c3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:48 2015 +0200 staging: rtl8192e: Rename rtl8192_ioctl Use naming schema found in other rtlwifi devices. Rename rtl8192_ioctl to _rtl92e_ioctl. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2743b2cd662ff4f621ef2ab6693b90aa19b905d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:30 2015 +0200 staging: rtl8192e: Rename rtl8192_irq_tx_tasklet Use naming schema found in other rtlwifi devices. Rename rtl8192_irq_tx_tasklet to _rtl92e_irq_tx_tasklet. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2940405b2bc47adcf8d4490f2ab7747d51014b09 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:29 2015 +0200 staging: rtl8192e: Rename rtl8192_irq_rx_tasklet Use naming schema found in other rtlwifi devices. Rename rtl8192_irq_rx_tasklet to _rtl92e_irq_rx_tasklet. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87e01f225000cd7a8a23d2d2132300123e304b5c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:28 2015 +0200 staging: rtl8192e: Rename rtl8192_interrupt Use naming schema found in other rtlwifi devices. Rename rtl8192_interrupt to _rtl92e_irq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 414f401f60e0b11f2fd81884125d5ca7e63a04ff Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:27 2015 +0200 staging: rtl8192e: Rename rtl8192_init_priv_variable Use naming schema found in other rtlwifi devices. Rename rtl8192_init_priv_variable to _rtl92e_init_priv_variable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ab2a8feae0ac4a473805881c75f9b99ef907c08 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:26 2015 +0200 staging: rtl8192e: Rename rtl8192_init_priv_task Use naming schema found in other rtlwifi devices. Rename rtl8192_init_priv_task to _rtl92e_init_priv_task. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 529c66c1f11805117498dffd2cad758a8c2b5ace Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:25 2015 +0200 staging: rtl8192e: Rename rtl8192_init_priv_lock Use naming schema found in other rtlwifi devices. Rename rtl8192_init_priv_lock to _rtl92e_init_priv_lock. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8d0dc3c272a051e4892e10a8a8158d5aaf65850 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:24 2015 +0200 staging: rtl8192e: Rename rtl8192_init_priv_handler Use naming schema found in other rtlwifi devices. Rename rtl8192_init_priv_handler to _rtl92e_init_priv_handler. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b2aaeaed490172390314ab41860c2911a711c51 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:23 2015 +0200 staging: rtl8192e: Rename rtl8192_init_priv_constant Use naming schema found in other rtlwifi devices. Rename rtl8192_init_priv_constant to _rtl92e_init_priv_constant. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bd5e8e0a2cc6bda6ed968a1a9385bc795c96e53 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:22 2015 +0200 staging: rtl8192e: Rename rtl8192_init Use naming schema found in other rtlwifi devices. Rename rtl8192_init to _rtl92e_init. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc86e82d346320d036961da5a2f35a2cbc7e00cf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:12 2015 -0700 staging: comedi: rtd520: hook up 8254 timer/counter subdevice There is a standard 8254 Timer/Counter device on the board. Hook up the subdevice for the user. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da6877732d4d6f7264a6e719ddf50852bd33137a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:11 2015 -0700 staging: comedi: rtd520: use DIV_ROUND_CLOSEST and DIV_ROUND_UP macros Use the macros to clarify the divisor calculations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 640da603179c425c23f1df95f346ae132f52ea98 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:10 2015 -0700 staging: comedi: rtd520: tidy up block comments Use the preferred block command style. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 152eb6cc37c32aa1717e72a687979d8ed8e8b5fa Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:09 2015 -0700 staging: comedi: rtd520: remove unnecessary function desc. block comments These function description comments are cut-and-paste cruft from the old skeleton driver. 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 8e0768b184f361a30c640b7571d602f408744c13 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:08 2015 -0700 staging: comedi: rtd520: fix rtd_ao_winsn() The "comedi range and offset conversions" in this function is incorrect. According to the hardware manual, the DAC registers are defined as: | D15 | D14-D03 | D02 | | D01 | D00 | | Sign | 12-bit data | (see manual) | The extended 'Sign' bit is only used for bipolar ranges to indicate negative 12-bit data values. The current code actually flips the sign for all bipolar data values instead of just munging the value to 2's complement and extending the sign bit. Fix the function to correctly munge the comedi offset binary values into 2's complement and extended the sign when bipolar ranges are specified. For aesthetics, rename this function and tidy it up a bit. Save the readback value after the conversion is complete. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78c1652c7eeac2dff6961678e60c3d792cbe83b5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:07 2015 -0700 staging: comedi: rtd520: convert DAC register defines to macros For aesthetics, convert the defines for the various DAC registers into macros that take the comedi channel and return the correct offset. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ddf02bfd89e43dec940fa3f10c309f69888eda2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:06 2015 -0700 staging: comedi: rtd520: remove unnecessary comments from rtd_ao_winsn() These comments are cut-and-paste from the old skeleton driver. 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 e7211492e36145b2a39e20354bb615b6b196d25c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:05 2015 -0700 staging: comedi: rtd520: move constants to right side of comparisons Fix the checkpatch.pl issues about: WARNING: Comparisons should place the constant on the right side of the test Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd62ef005839d8f82e46014cec6074aab2733abf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:04 2015 -0700 staging: comedi: rtd520: rename rtd520Boards For aesthetics, rename this CamelCase array. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 120bdac7376a36418eb1d55e0161dc0e660a45c3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:03 2015 -0700 staging: comedi: rtd529: 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 c3aea01259655b6dcf0e9665416d254177fe222b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:02 2015 -0700 staging: comedi: rtd520: fix logical continuations Fix the checkpatch.pl issues about: CHECK: Logical continuations should be on the previous line Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 267d2e0741f3e90d94dd1b69faa6a195d64484bf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:01 2015 -0700 staging: comedi: rtd520: 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 7a064fd13f44eb1acf2d525765fab55c7a3c3bf1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 23 19:35:56 2015 +0100 staging: comedi: comedi_pci.c: improve function documentation Expand the descriptions of the functions and document the return values. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e2ec8f9f311caf006a077aea5e20f6608540b8b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 10:43:37 2015 -0700 staging: comedi: rti800: use comedi_offset_munge() Use the comedi_offset_munge() helper to do the two's complement to comedi offset binary and comedi offset binary to two's complement conversions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77d010ee4eda11ec21828d834ac190b127ede9b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 10:43:36 2015 -0700 staging: comedi: rti800: 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 a3e399422f8c92b38ed2f95e56f0fa4c2eaecf5f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 23 16:33:27 2015 +0100 staging: comedi: comedi_fops.c: Tweak kernel-doc for consistency Adjust the kernel-doc in this file for consistency of capitalization and punctuation. Make more use of the special kernel-doc markers for parameter names, constant names, etc. Use the correct kernel-doc tag for the return values sections. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c240e20c73b2d3d4f27b9155bf4897db40af9b1e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 22 18:02:39 2015 +0100 staging: comedi: comedi_buf.c: document remaining exported functions Add kernel-doc headers to the remaining functions marked for export. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67ecc3ddd3acb9095b171211b5516478c8b57764 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 22 18:02:38 2015 +0100 staging: comedi: comedi_buf.c: tweak existing kernel-doc Expand the kernel-doc descriptions of those exported functions that already have kernel-doc comments. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42e55839943a8303d6dd86814b8989d5add42cca Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:56 2015 +0100 staging: comedi: comedidev.h: document remaining inline functions Add kernel-doc headers to the inline functions that do not have them yet. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f78264cdd6caf0073f5fb09dce49f4c598927b9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:55 2015 +0100 staging: comedi: comedidev.h: tweak docs for inline functions Tweak the kernel-doc for already documented inline functions for consistency, and document their return values. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f2f5d34e136741fb36fd33c3a6ffbf6c2f190da Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:54 2015 +0100 staging: comedi: comedidev.h: tweak struct comedi_async documentation Make the kernel-doc layout for `struct comedi_async` more consistent with the documentation for the other COMEDI data types. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5459bc1281e628e6f57ee16c69eaf8a9622912e8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:53 2015 +0100 staging: comedi: comedidev.h: document struct comedi_lrange Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11a10830b6e1ed001e0d71594beb5eedc714e202 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:52 2015 +0100 staging: comedi: comedidev.h: document struct comedi_buf_map Add kernel-doc for `struct comedi_buf_map` and the associated `struct comedi_buf_page`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f952fa843397f9a08b937caf8fcc8126813d492 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:51 2015 +0100 staging: comedi: comedidev.h: document struct comedi_subdevice Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ac5b44fbed08758d4d09bf309700a46cef28035 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:50 2015 +0100 staging: comedi: comedidev.h: document struct comedi_device Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3ed91f8757a6d2e6f8c6f61aa08761831e33feb Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:49 2015 +0100 staging: comedi: comedidev.h: document struct comedi_driver Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a871773f23fb18f455e0a44717a8d091874aa1ba Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:48 2015 +0100 staging: comedi: comedidev.h: tweak kernel-doc for struct comedi_async Tweak the formatting of the kernel-doc formatted comment for `struct comedi_async` in order to stop it generating bogus headings for text before a colon. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 251a16ab67906c29cbc0b7aebc85fc0209f6770f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:47 2015 +0100 staging: comedi: comedidev.h: use enum for COMEDI_CB_... constants The existing constants `COMEDI_CB_EOS` etc. are in the form of macros and have a bogus kernel-doc comment. Change them to `enum` constants so they can be documented properly with kernel-doc. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2750914363bff601fc812f8cb0ef56ffc8b0b27b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:46 2015 +0100 staging: comedi: comedidev.h: reformat copyright comment Use the preferred block comment style. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b34845ee3620ddf1329932edde00bd5b4b9d466 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Sep 17 17:19:17 2015 +0100 staging: comedi: drivers.c: document exported functions Add missing kernel-doc to the low-level COMEDI driver API functions exported from "drivers.c" and tart up some of the existing kernel-doc comments for consistency. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d35d893965a6d7efe995d7f8d66b2427c14bbc36 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Sep 17 17:19:16 2015 +0100 staging: comedi: drivers.c: replace #include <linux/dma-mapping.h> Comedi's "drivers.c" doesn't use anything from `<linux/dma-mapping.h>`, but it does use `DMA_NONE` from `<linux/dma-direction.h>`, so replace the appropriate `#include` directive. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db0700a18d7d8832e3f5f5c3a55f197258e257e5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Sep 17 17:19:15 2015 +0100 staging: comedi: drivers.c: remove irrelevant #includes Comedi's "drivers.c" doesn't use anything from these included headers, so remove them. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e8aa94e97790b4092f6694ab7f381e6791d3245 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:58 2015 +0200 staging: most: fix pcm_write input/output error This patch keeps the process from sleeping after the PCM middle layer has stopped playback by calling the pcm trigger callback. The patch is needed to prevent aplay from causing a pcm_write Input/Output error. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aac997dfdd58eec1add02dae09030caeddc1abe6 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:57 2015 +0200 staging: most: add poll syscall to AIM cdev This patch adds the implementation of the poll syscall to the AIM cdev. To have the full functionality, a helper function is needed in the core module to retrieve the instantaneous availability of tx buffers. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48ab5a339de2b1cd006b7783d1555e4711bf77e5 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:56 2015 +0200 staging: most: remove audio resolution format check This patch removes the audio format cross-check, because the definitions are not compatible. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35c33721387afe2adda91936f163bb31ba3f0adf Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:55 2015 +0200 staging: most: fix style problems This patch simply corrects style violations. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e569da2662505961499a4caf3dce07fe6492ceea Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:54 2015 +0200 staging: most: move initialization code This pathch moves the initialization of the PCM middle layer hardware parameters to function audio_set_hw_params(). Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb0056a8aef0561727602c08951e9b4fd79a0e5f Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:53 2015 +0200 staging: most: rename function This patch renames the function audio_set_pcm_format(). Since the function doesn't only set the PCM format anymore and to guard against misunderstandings, its name needs to be changed. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31e91e0f40547816f9256d5865d39d504706ad06 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:52 2015 +0200 staging: most: add missing channel initialization This patch adds missing initialization of channel count for 8-bit mono audio resolution. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b981abbb56ed57b2eda394955de99cbe7ca21fef Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:51 2015 +0200 staging: most: purge unecessary variable This patch purges a temp. variable to store the functions return value. Since the content is never being evaluated, it can safely be removed. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19a1143fa4f0a144ee9891f2d2badef2ee74a123 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:50 2015 +0200 staging: most: squash AIM sound This patch removes debug messages and prevents the sound AIM from being noisy in kernel log. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d801887248312f4279913963f501fd94670256ad Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:49 2015 +0200 staging: most: make hardware parameters channel exclusive Since the PCM interface's hardware parameters are channel/substream exclusive, the struct snd_pcm_hardware needs to be embedded in the channel structure. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9801345cd8edc2082eefed71cbd07ce2c4c51ea1 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:48 2015 +0200 staging: most: include vendor in audio card's shortname This patch adds Microchip as vendor to the audio card's shortname to be displayed, when playback and capture devices are queried. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e4a0ef17fc8bf4503fb77f059d580a03e67b5f1 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:47 2015 +0200 staging: most: add multi channel support to sound AIM This patch adds 5.1 surround configuration with subbuffer cross-check, when establishing a link to the core. For the sake of simplicity, only one specific channel configuration is allowed. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccfbaee033abff6f4467c9874eb7b1b48aced739 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:46 2015 +0200 staging: most: refactor channel structure The struct most_c_obj has the same set of attributes for each of two AIMs. This patch cleans up the code by introducing the new struct most_c_aim_obj hat contains those fields. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71457d482751a38e78da32fde80e87b6f670c389 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:45 2015 +0200 staging: most: add fair buffer distribution This patch ensures a fair distribution of buffers, when two AIMs share a single channel. The AIMs then won't be able to use more than half of all pre-allocated buffers of the linked channel. However, in case the channel is not shared, the AIM can exclusively use all available buffers. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c81c9c3e0fd5170e7bede7d06202062338644e93 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:44 2015 +0200 staging: most: consolidate code The function drci_rd_reg() always delivers little endian representation of the 16-bit DCI register. The value returned by this function must always be carefully converted from __le16 to u16 type. This patch moves all those conversions to the function itself. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26370228875b823b9a90562619c509461f9b91ae Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:43 2015 +0200 staging: most: prevent DMA on stack This patch is needed to avoid having DMA on the stack. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc8d9935134c0473ae536383586ec7b7becdd82d Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:42 2015 +0200 staging: most: simplify code This patch simply rearranges code for better readability. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ea7e502c425605a7ae5417085f21e8a2b09297c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:41 2015 +0200 staging: most: fix MAC address representation This patch fixes the representation of the MAC address within the HDM USB module. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c31d9d12ef5b6937d8399fa9ede2bb11dc225363 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:40 2015 +0200 staging: most: fix buffer size for DIM2 This patch reduces the DBR buffer size to prevent an overflow in the DIM2 module. It is needed, because the MediaLB hardware has problems with DBR buffers that exceed the size of 255 messages. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1b9a84382045b693b28d7dce1b2af45b435bbe9 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:39 2015 +0200 staging: most: remove macro cpu_to_le16 This patch removes the wrongly used macros cpu_to_le16 Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d747e8ec1c9ce0cc6c4813ca1fce993db4001a38 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:38 2015 +0200 staging: most: fix buffer synchronization request Revision D of OS81118 network interface controller have the internal buffer synchronization mechanism changed. This patch adapts the driver to this. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2cfae06acf9b7f142fbde4a5cc94c1423136390 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:37 2015 +0200 staging: most: remove dead code The case where the channel type is neither synchronous nor isochronous is already covered by a previous condition. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6f7737d5a576f0625ebb2a5896d1b13e3c1c95c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:36 2015 +0200 staging: most: remove unnecessary field initialization Since conf->extra_len has already been reset in most_start_channel() when function hdm_configure_channel() gets called, it can safely be removed here. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f13f6981bca3c79ba97c4092ab5ed6aed8b2ce99 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:35 2015 +0200 staging: most: fix channel operation in multi-aim context This patch fixes the opening and closing process of a physical channel when used by different AIMs. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9161e9311c29e905c8b1cf9f10f5010239d49975 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:34 2015 +0200 staging: most: fix USB babble on IN pipe This patch prevents the HDM USB from submitting an URB with a buffer size unaligned to 512 bytes to the USB subsystem. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3032ab931bc81d56f6bd9a2a319afc66e4b03923 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:33 2015 +0200 staging: most: remove shared IRQ request Since there is no way find out whether the INIC has generated an interrupt, the I2C interrupt must not be registered as a shared interrupt. Reported-by: PrasannaKumar Muralidharan <PrasannaKumar.Muraidharan@xxxxxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25ef42f3084df7b7511f1a9f72678a95d444f579 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:32 2015 +0200 staging: most: fix race condition in AIM networking If the network device is being opened right after it has been registered via function register_netdev(), the device state is not yet consistent in the context of function ndo_open(). This patch cares about having the initialization done right, before the networking device is registered. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf358040c448af3fc6446bcf0d998d2fd420a7fc Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:31 2015 +0200 staging: most: remove aim reset This patch partly reverts a modification of function most_stop_channel() that is trying to reset an established link between an AIM and an HDM in all suitable places. But since the function most_stop_channel() is stopping the data transfer it is the wrong place to do so. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec5c00afc2cab1c0e6692541302bc620437c8441 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:30 2015 +0200 staging: most: change structure initialization By applying this patch the initialization of the most_aim structure is performed at compile time. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adf508c347c3a5d66d7610412467e2a03924485b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 9 22:30:57 2015 +0200 mtd: spi-nor: s25fl008k and s25fl016k supports dual/quad mode s25fl016k can be found on Embedded Artists' LPC4357 Developer's Kit where is used in quad mode by the LPC4357 SPIFI controller. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit cbfe360a1541a32e9e28f8f8ac925d2b7979d767 Author: Stefan Assmann <sassmann@xxxxxxxxx> Date: Thu Sep 17 14:46:10 2015 +0200 igb: assume MSI-X interrupts during initialization In igb_sw_init() the sequence of calls was changed from igb_init_queue_configuration() igb_init_interrupt_scheme() igb_probe_vfs() to igb_probe_vfs() igb_init_queue_configuration() igb_init_interrupt_scheme() This results in adapter->flags not having the IGB_FLAG_HAS_MSIX bit set during igb_probe_vfs()->igb_enable_sriov(). Therefore SR-IOV does not get enabled properly and we run into a NULL pointer if the max_vfs module parameter is specified (adapter->vf_data does not get allocated, crash on accessing the structure). [ 7.419348] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048 [ 7.419367] IP: [<ffffffffa02161c6>] igb_reset+0xe6/0x5d0 [igb] [ 7.419370] PGD 0 [ 7.419373] Oops: 0002 [#1] SMP [ 7.419381] Modules linked in: ahci(+) libahci igb(+) i40e(+) vxlan ip6_udp_tunnel udp_tunnel megaraid_sas(+) ixgbe(+) mdio [ 7.419385] CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted 4.2.0+ #153 [ 7.419387] Hardware name: Dell Inc. PowerEdge R720/0C4Y3R, BIOS 1.6.0 03/07/2013 [...] [ 7.419431] Call Trace: [ 7.419442] [<ffffffffa0217236>] igb_probe+0x8b6/0x1340 [igb] [ 7.419447] [<ffffffff814c7f15>] local_pci_probe+0x45/0xa0 Prevent this by setting the IGB_FLAG_HAS_MSIX bit before calling igb_probe_vfs(). The real interrupt capabilities will be checked during igb_init_interrupt_scheme() so this is safe to do. Signed-off-by: Stefan Assmann <sassmann@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 30e2561b95295258890b4e0366ce867e04d34a97 Author: Anjali Singhai <anjali.singhai@xxxxxxxxx> Date: Mon Sep 28 13:37:12 2015 -0700 i40e: Fix for recursive RTNL lock during PROMISC change The sync_vsi_filters function can be called directly under RTNL or through the timer subtask without one. This was causing a deadlock. If sync_vsi_filters is called from a thread which held the lock, and in another thread the PROMISC setting got changed we would be executing the PROMISC change in the thread which already held the lock alongside the other filter update. The PROMISC change requires a reset if we are on a VEB, which requires it to be called under RTNL. Earlier the driver would call reset for PROMISC change without checking if we were already under RTNL and would try to grab it causing a deadlock. This patch changes the flow to see if we are already under RTNL before trying to grab it. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Kiran Patil <kiran.patil@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5cfe8c144524f7e1688b41c5dab46722be4a912b Author: Anish Bhatt <anish@xxxxxxxxxx> Date: Fri Sep 25 00:45:15 2015 -0700 wilc1000 : Remove unused macro definitions Remove all unused TCP_*_MASK macro definitions Signed-off-by: Anish Bhatt <anish@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fea593f645c6375e24a74bef5f36f268679f8d2 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:06 2015 +0900 staging: wilc1000: remove variable cif_func This patch removes variable cif_func and use mac_cfg directly. No need to have another pointer variable. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b002e20d53c80b4071b267e1be776bfccf9676de Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:05 2015 +0900 staging: wilc1000: remove function pointer os_wait This patch removes function pointer os_wait which is pointer of linux_wlan_lock_timeout and just call the real name function directly. Remove also static from linux_wlan_lock_timeout declaration. As os_wait is deleted, structure wilc_wlan_os_func_t is useless. Delete wilc_wlan_os_func_t, os_func and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2bfac009ca2ea75befe5adde9ba8fd46e409c91 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:04 2015 +0900 staging: wilc1000: remove mutex txq_cs and it's related codes mutex txq_cs is never used in the driver. txq_cs, txq_critical_section and txq_lock have same pointer so just delete them and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03eb7266306659080776907498cbfe96f7771d12 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:03 2015 +0900 staging: wilc1000: remove variable rx_buffer_size This patch removes two variables rx_buffer_size and use LINUX_RX_SIZE as argument. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7015b5db076a08f90e0e3015ba7708202fb2a916 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:02 2015 +0900 staging: wilc1000: remove variable tx_buffer_size This patch removes unnecessary two variables tx_buffer_size and just use LINUX_TX_SIZE as argument. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 187f1ef192e1d070843fbf9cc2693e66ca3d72b4 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:01 2015 +0900 staging: wilc1000: remove pointer varialbes of hif_cs Remove hif_lock and hif_critical_section which are pointer of g_linux_wlan->hif_cs. Remove also it's related codes. Just use mutex varialbe g_linux_wlan->hif_cs. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5a63a868b264ef7cf8b39394f9ab09391633a50 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:00 2015 +0900 staging: wilc1000: remove pointer variables of txq_add_to_head_cs This patch removes txq_add_to_head_critical_section and txq_add_to_head_lock which are pointer of g_linux_wlan->txq_add_to_head_cs. Just use g_linux_wlan->txq_add_to_head_cs as argument of function. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a3b94f71829bee2c2467870470e6d528f9ea46d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:59 2015 +0900 staging: wilc1000: remove pointer varialbe cfg_wait and cfg_wait_event This patch removes cfg_wait and cfg_wait_event which are pointer of g_linux_wlan->cfg_event. No need to have pointer varialbe of it. Just use g_linux_wlan->cfg_event. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cd6363385d0fe1669b4bf0906939b08e77b031e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:58 2015 +0900 staging: wilc1000: remove pointer variable of g_linux_wlan->txq_event Remove variable txq_wait and txq_wait_event which are pointer varialbe of g_linux_wlan->txq_event. No need to have extra pointer varialbe. Just use g_linux_wlan->txq_event. Remove os_context.txq_wait_event, txq_wait and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 645db60e47bbc26aef84e0110544ff34b7ecf454 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:57 2015 +0900 staging: wilc1000: use g_linux_wlan->rxq_cs for function arguemnt Use mutex variable g_linux_wlan->rxq_cs instead of pointer varialbe. No need to make extra pointer variable for the mutex. Remove rxq_critical_section, rxq_lock and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85e57567f2ae6ff89648f7073d1b74dcc5620dc9 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:56 2015 +0900 staging: wilc1000: use g_linux_wlan->txq_spinlock not the pointer of it Use spinlock variable g_linux_wlan->txq_spinlock itself instead of g_wlan.txq_spinlock which is pointer of g_linux_wlan->txq_spinlock. Delete os_context.txq_spin_lock, g_wlan.txq_spinlock and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef2b784c3006575fb6ffd6faed41c0f2d09abfb4 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:55 2015 +0900 staging: wilc1000: remove function pointer os_debug This patch removes os_debug and call linux_wlan_dbg function instead of os_debug. Delete static from the linux_wlan_dbg. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0cadaa4ab48839459cfe6a31211453dcfd31eee Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:54 2015 +0900 staging: wilc1000: remove function pointer rx_complete just call the function linux_wlan_rx_complete directly. No need for a pointer to the functions. Remove rx_complete, wilc_wlan_net_func_t and net_func which are not used anymore. Finally remove static from the function linux_wlan_rx_complete. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4417d3daf8e45150b9121ee838f215431dc411dd Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:53 2015 +0900 staging: wilc1000: remove function pointer mac_indicate No need for a pointer to a function. Just call linux_wlan_mac_indicate. Remove mac_indicate and also wilc_wlan_indicate_func_t since no members in it. Variable indicate_func is not used so delete it and related codes. Finally remove static from the function linux_wlan_mac_indicate. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6361167037a65d4a7a93873b2ff20548107ba6f3 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:52 2015 +0900 staging: wilc1000: remove function pointer rx_indicate This patch removes function pointer rx_indicate and call the function frmw_to_linux directly. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 498767e336d0a0a3521ae9426177d82453555ab3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 23 18:03:48 2015 +0900 staging: wilc1000: remove WILC_OSW_INTERFACE_VER define This patch removes WILC_OSW_INTERFACE_VER define that is not used anywhere. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f23eb98b9429082644c2a08af12fbdbff646c406 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 23 18:03:47 2015 +0900 staging: wilc1000: move wilc_msgqueue.h include file This patch moves wilc_msgqueue.h include file from wilc_oswrapper.h to host_interface.c because message queue function as wilc_mq_create, wilc_mq_send, wilc_mq_recv and wilc_mq_destroy are used only at host_interface.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 947239070af5ce30c09de1f384cb605b9e6a3401 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 23 18:03:46 2015 +0900 staging: wilc1000: remove wilc_platform.h include file This patch removes wilc_platform.h include file that is defined in wilc_msgqueue.h file. After removing it, compilation error occurs so that it is included two header files as <linux/semaphore.h> and <linux/slab.h> at wilc_msgqueue.h and wilc_msgqueue.c Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e8c37df4cf101c7f4c051868c4dc2c33dbabf0d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 23 18:03:45 2015 +0900 staging: wilc1000: move struct Message and WILC_MsgQueueHandle This patch moves struct Message and WILC_MsgQueueHandle from wilc_platform.h to wilc_msgqueue.h because those two structures are used only at wilc_msgqueue.c so that it is good to be defined at wilc_msgqueue.h Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5804474311912c1b80601a1afee052e8df962cd4 Author: Anjali Singhai <anjali.singhai@xxxxxxxxx> Date: Fri Sep 25 18:26:13 2015 -0700 i40e: Fix RS bit update in Tx path and disable force WB workaround This patch fixes the issue of forcing WB too often causing us to not benefit from NAPI. Without this patch we were forcing WB/arming interrupt too often taking away the benefits of NAPI and causing a performance impact. With this patch we disable force WB in the clean routine for X710 and XL710 adapters. X722 adapters do not enable interrupt to force a WB and benefit from WB_ON_ITR and hence force WB is left enabled for those adapters. For XL710 and X710 adapters if we have less than 4 packets pending a software Interrupt triggered from service task will force a WB. This patch also changes the conditions for setting RS bit as described in code comments. This optimizes when the HW does a tail bump and when it does a WB. It also optimizes when we do a wmb. 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 c1d1791dc8b2a13c316a4e163552804361a786a4 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Sep 25 19:26:04 2015 +0000 i40e: add GRE tunnel type to csum encoding Make sure the Tx checksum encoder knows about GRE protocol and sets the descriptor flag appropriately. 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 b03a8c1f4c0c6f95f5addaf4a13dd3aa118c3c1a Author: Kiran Patil <kiran.patil@xxxxxxxxx> Date: Thu Sep 24 18:13:15 2015 -0400 i40e/i40evf: refactor tx timeout logic This patch modifies the driver timeout logic by issuing a writeback request via a software interrupt to the hardware the first time the driver detects a hang. The driver was too aggressive in resetting a hung queue, so back that off by removing logic to down the netdevice after too many hangs, and move the function to the service task. Change-ID: Ife100b9d124cd08cbdb81ab659008c1b9abbedea Signed-off-by: Kiran Patil <kiran.patil@xxxxxxxxx> Signed-off-by: Shannon Nelson <shannon.nelson@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 1e6d6f8c1b07a5874444c3a403eb24427e8b39d3 Author: Kiran Patil <kiran.patil@xxxxxxxxx> Date: Thu Sep 24 15:43:02 2015 -0400 i40e: Move i40e_get_head into header file i40e_get_head needs to be called in multiple files in a further patch, prepare by moving the function into a header file. Signed-off-by: Kiran Patil <kiran.patil@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 35667b9983a2a89e504377e89388982dc398773d Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Wed Jul 8 17:15:34 2015 +0200 mtd: Destroy mtd_idr on module_exit Destroy mtd_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: Brian Norris <computersforpeace@xxxxxxxxx> commit 70f52debbed3d0c99d8b9b6ce32d8cf7f0cfe638 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 23 16:10:53 2015 +0900 staging: wilc1000: remove define DISABLE_PWRSAVE_AND_SCAN_DURING_IP The driver will use define DISABLE_PWRSAVE_AND_SCAN_DURING_IP always. So remove the ifdef line and define in Makefile. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f446ebbeee224cc50c6e8a04916585b8ac5dd566 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 23 16:10:52 2015 +0900 staging: wilc1000: remove ifdef OLD_FPGA_BITFILE line OLD_FPGA_BITFILE is not used in the driver. Just delete ifdef line and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74a443e0940a57ee8f360692dc3bfbc551dee6c0 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:45 2015 +0900 staging: wilc1000: parse_network_info: remove s32Error s32Error is defined, but not used anywhere in this function. Then just delete it and return 0 at the end of this function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1f7f64244aa15e76f794d1bd4f346c852882248 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:44 2015 +0900 staging: wilc1000: rename ParseNetworkInfo This patch replaces ParseNetworkInfo with parse_network_info to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd322576bdd4c3e529f5f6933dffe743ce78fadc Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:43 2015 +0900 staging: wilc1000: remove extern declaration This patch removes extern declaration of *gpstrWlanOps in coreconfigurator.c file. It is defined extern declaration in wilc_wlan_if.h file and then is included in coreconfigurator.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36cca3ba725c87c322dbef983d47a3fe72c6d9b4 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:42 2015 +0900 staging: wilc1000: remove useless comment This patch removes useless comment in coreconfigurator.c Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0a7fcc7e6978051fc38ae885ab5fd8bc9d6b281 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:41 2015 +0900 staging: wilc1000: replace kmalloc_array/memset with kcalloc This patch replaces kmalloc_array followed by memset with kcalloc. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02cf299d0e281efc930bf1bd01479897d9ec483e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:40 2015 +0900 staging: wilc1000: replace kmalloc/memcpy with kmemdup This patch replaces kmalloc followed by memset and memcpy with kmemdup. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef154414b2e7ba2e20db932fc96262cc692e8621 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:39 2015 +0900 staging: wilc1000: replace kmalloc with kzalloc This patch replaces kmalloc with kzalloc because it is initialized by 0 immediately after allcating memory. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf32c3c4230a8f1f513e77266d5e02bdc0e1f27d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:38 2015 +0900 staging: wilc1000: rename SendConfigPkt This patch replaces SendConfigPkt with send_config_pkt to aovid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e971affaf92d530b653122f08aa23e7384de170f Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Mon Sep 28 22:56:51 2015 +0200 mtd: nand: pxa3xx-nand: prevent DFI bus lockup on removal After the conversion of pxa architecture to common clock framework, the NAND clock can be disabled on driver exit. In this case, it happens that if the driver used the NAND and set the DFI arbitration bit, the next access to a static memory controller area, such as an ethernet card, will stall the system bus, and the core will be stalled forever. This is especially true on pxa31x SoCs, where the NDCR was augmented with a new bit to prevent this lockups by giving full ownership of the DFI arbiter to the SMC, in change SCr#6. Fix this by clearing the DFI arbritration bit in driver exit. This effectively prevents a lockup on zylonite when removing pxa3xx-nand module, and using ethernet afterwards. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c22dbd4bb8fd15faa800ef5daf1a81aa31896bf8 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:37 2015 +0900 staging: wilc1000: remove CoreConfiguratorDeInit This patch removes CoreConfiguratorDeInit function, which is not doing anything else except printing a PRINT_D message and returning a s32Error. It is also removed the codes that is calling this function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a27224f964d045cc8358f7c23dce3ab401f702d Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:24:50 2015 +0200 staging: wicl1000: fix dereference after free in wilc_wlan_cleanup() The wilc_wlan_cleanup() function iterates over the list of transmission buffers freeing all of them and then iterates over the receive buffers list to free all of them as well. But on the receive loop a pointer to struct txq_entry_t is dereferenced instead of the pointer to a struct rxq_entry_t. This not only causes a dereference to a pointer already freed but also leaks the memory in the struct rxq_entry_t buffer. Also, the buffer is allocated when MEMORY_STATIC is not defined no when MEMORY_DYNAMIC is defined. So use #ifndef MEMORY_STATIC instead as it's done in the rest of the driver to avoid leaking the buffer memory. Fixes: c5c77ba18ea6 ("staging: wilc1000: Add SDIO/SPI 802.11 driver") Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dddaba1a3b1b17a6945a973a1ac57358bab269ee Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:35:01 2015 +0900 staging: wilc1000: host_int_init: remove unnecessary parentheses This patch removes unnecessary parentheses found by checkpatch.pl Unnecessary parentheses around pstrWFIDrv->hSemTestKeyBlock Unnecessary parentheses around pstrWFIDrv->hSemTestDisconnectBlock Unnecessary parentheses around pstrWFIDrv->hSemGetRSSI Unnecessary parentheses around pstrWFIDrv->hSemGetLINKSPEED Unnecessary parentheses around pstrWFIDrv->hSemGetCHNL Unnecessary parentheses around pstrWFIDrv->hSemInactiveTime Unnecessary parentheses around pstrWFIDrv->gtOsCfgValuesSem Unnecessary parentheses around pstrWFIDrv->gtOsCfgValuesSem Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d53eec391e988aea0a81618f35950a682e2daeb Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:35:00 2015 +0900 staging: wilc1000: host_int_init: remove blank line before a close brace. This patch removes blank line before a close brace. CHECK: Blank lines aren't necessary before a close brace '}' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b09bd32a723f41fba91be8c83e0c9909646464e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:59 2015 +0900 staging: wilc1000: host_int_init: replace s32Error with result This patch replaces s32Error with result in host_int_init function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f4e0ce2b67fc556fcbfb615381e5441938256c7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:58 2015 +0900 staging: wilc1000: host_int_init: remove commented code This patch removes commented code in host_int_init function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dfcff4a42ef694c09adf8f2d7b6ceff8cbe21ec Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:57 2015 +0900 staging: wilc1000: host_int_init: remove multiple blank lines This patch removes multiple blank lines in host_int_init function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1604296d20a7d278f525a8134e2db1a727b2fdd1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:56 2015 +0900 staging: wilc1000: host_int_init: fix kzalloc error check This patch fixes error check when kzalloc is failed. NULL comparison style is changed to use ! operator and PRINT_ER is also removed. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27a82ebf920123978d74d51fe7ce94579e372f94 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:55 2015 +0900 staging: wilc1000: host_int_init: replace kmalloc with kzalloc This patch replaces kmalloc with kzalloc in host_int_init. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67ec31b8c268bc912f1d5a437b75194692816d3f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:54 2015 +0900 staging: wilc1000: host_int_init: remove meaningless comment This patch removes meaningless comment in host_int_init function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 109c4831279d4bb3f1fff885c5dc31132b03296e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:53 2015 +0900 staging: wilc1000: remove CoreConfiguratorInit This patch removes CoreConfiguratorInit function, which is not doing anything else except printing a PRINT_D message and returing a s32Error. It is also removed the code that is calling this function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37316e81677fe2765d7711f856898863ec7a73b5 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:52 2015 +0900 staging: wilc1000: make add_virtual_intf static This patch makes add_virtual_intf static. This function is used only at wilc_wfi_cfgoperation.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c156032daf431d46a4520c42de7858747929eea4 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:51 2015 +0900 staging: wilc1000: make mgmt_tx static This patch makes mgmt_tx static. This function is used only at wilc_wfi_cfgoperation.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85c587a5483814b5a8ca19e0ee473fc0afa232e2 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:50 2015 +0900 staging: wilc1000: make mgmt_tx_cancel_wait static This patch makes mgmt_tx_cancel_wait static. This function is used only at wilc_wfi_cfgoperation.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 956d7211970693ad211d22a8c17600d9482a883c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:49 2015 +0900 staging: wilc1000: make del_virtual_intf static This patch makes del_virtual_intf static. This function is used only at wilc_wfi_cfgoperation.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8047e26c799c8c426588677cd22ac657e970d04 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:48 2015 +0900 staging: wilc1000: rename WILC_WFI_set_cqm_rssi_config This patch replaces WILC_WFI_set_cqm_rssi_config with set_cqm_rssi_config to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdc9cba5fff5c67cd6093eb0578062e0f62d8482 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:47 2015 +0900 staging: wilc1000: remove useless comment This patch removes useless comment. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4653067955726266b25123b86921af09ad275a5a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:46 2015 +0900 staging: wilc1000: rename WILC_WFI_set_power_mgmt This patch replaces WILC_WFI_set_power_mgmt with set_power_mgmt. then makes set_power_mgmt static. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b33c35b11e0049e3adbb58df6c83d6c9496f8210 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 00:13:28 2015 +0200 mtd: mxc_nand: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 531c7ceb934f709ce2b8847b1ace499727e11de1 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Sep 22 14:34:46 2015 +0900 staging: wilc1000: wilc_wlan_if.h: align define, enum and structure This patch fix alignment of defines and items in enum and structure. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4cebe4d886f23a5666871f9980bbcc9cf769ea7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Sep 22 14:34:45 2015 +0900 staging: wilc1000: wilc_wlan_if.h: remove warnings line over 80 characters This patch removes the warnings reported by checkpatch.pl for line over 80 characters. And also align comments which is not over 80 but to align with them. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12dc9e4ea69df9cce45e90810b574990d2d90eba Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Sep 22 14:34:44 2015 +0900 staging: wilc1000: wilc_wlan_if.h: remove warnings on the multiple blank lines This patch removes the warnings reported by checkpatch.pl for using multiple blank lines. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 234837decbffdb28325588f66811796698d68cf2 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Sep 22 14:34:43 2015 +0900 staging: wilc1000: Modify null check routine This patch removes the potential faults which may happen when unexpectedly getting access to invalid pointer. Return error when the invalid memory is accessed. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ce401d56b36a7492b26646b94d1fe9194880a1a Author: Peng Fan <van.freenix@xxxxxxxxx> Date: Fri Sep 11 21:41:47 2015 +0800 mtd: blktrans: fix multiplication overflow In drivers/mtd/mtd_blkdevs.c: 406 set_capacity(gd, (new->size * tr->blksize) >> 9); The type of new->size is unsigned long and the type of tr->blksize is int, the result of 'new->size * tr->blksize' may exceed ULONG_MAX on 32bit machines. I use nand chip MT29F32G08CBADBWP which is 4GB and the parameters passed to kernel is 'mtdparts=gpmi-nand:-(user)', the whole nand chip will be treated as a 4GB mtd partition. new->size is 0x800000 and tr->blksize is 0x200, 'new->size * tr->blksize' however is 0. This is what we do not want to see. Using type cast u64 to fix the multiplication overflow issue. Signed-off-by: Peng Fan <van.freenix@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 60f593977b28fd3acbe4c3ca5eb6acf8ddf34d9e Merge: ff8e2c5 9ffecb1 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 02:14:46 2015 +0200 Merge 4.3-rc3 into usb-next We want the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcabc6f32888435932364702ebf368164dea6678 Merge: 60d6a21 9ffecb1 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 01:52:40 2015 +0200 Merge 4.3-rc3 into staging-next We want the staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b83b14598ffbb59bc96dbd3d4350a3b8f0287bb2 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 28 15:59:22 2015 -0700 Input: omap4-keypad - fix memory leak If omap4_keypad_parse_dt() fails we returned the error code but we missed releasing keypad_data. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7446076e818814d3237b20a96112b44bdb3f8576 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 00:13:01 2015 +0200 mtd: mpc5121_nfc: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f7f7a5f3fba43d3fbfef4d8406252104d1c684f Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 00:12:30 2015 +0200 mtd: fsl_ifc_nand: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 030a70b9af4ad6bb1fd715205efc44c576a9a0c4 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 00:11:59 2015 +0200 mtd: fsl_elbc_nand: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 98d1a5eea378a624e0b0795f63900189a693d938 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 00:14:02 2015 +0200 mtd: orion_nand: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1bc81eeeba99ed20b570423c311826811e162e6d Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Sep 28 22:15:38 2015 +0800 jffs2: remove unnecessary new_valid_dev check As new_valid_dev always returns 1, so !new_valid_dev check is not needed, remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2260c419b52bd71166aa96fac9081388f76df5e0 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 28 16:09:51 2015 -0700 Input: db9 - use parallel port device model Modify db9 driver to use the new Parallel Port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Tested-By: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e637d17757a10732fa5d573c18f20b3cd4d31245 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Sep 28 03:52:16 2015 +0000 perf tools: Enable event_config terms to tracepoint events This patch enables config terms for tracepoint perf events. Valid terms for tracepoint events are 'call-graph' and 'stack-size', so we can use different callgraph settings for each event and eliminate unnecessary overhead. Here is an example for using different call-graph config for each tracepoint. $ perf record -e syscalls:sys_enter_write/call-graph=fp/ -e syscalls:sys_exit_write/call-graph=no/ dd if=/dev/zero of=test bs=4k count=10 $ perf report --stdio # # Total Lost Samples: 0 # # Samples: 13 of event 'syscalls:sys_enter_write' # Event count (approx.): 13 # # Children Self Command Shared Object Symbol # ........ ........ ....... .................. ...................... # 76.92% 76.92% dd libpthread-2.20.so [.] __write_nocancel | ---__write_nocancel 23.08% 23.08% dd libc-2.20.so [.] write | ---write | |--33.33%-- 0x2031342820736574 | |--33.33%-- 0xa6e69207364726f | --33.33%-- 0x34202c7320393039 ... # Samples: 13 of event 'syscalls:sys_exit_write' # Event count (approx.): 13 # # Children Self Command Shared Object Symbol # ........ ........ ....... .................. ...................... # 76.92% 76.92% dd libpthread-2.20.so [.] __write_nocancel 23.08% 23.08% dd libc-2.20.so [.] write 7.69% 0.00% dd [unknown] [.] 0x0a6e69207364726f 7.69% 0.00% dd [unknown] [.] 0x2031342820736574 7.69% 0.00% dd [unknown] [.] 0x34202c7320393039 Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1443412336-120050-4-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 865582c3f48e12b7ab9e260161868313e4a37f44 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Sep 28 03:52:15 2015 +0000 perf tools: Adds the tracepoint name parsing support Adds rules for parsing tracepoint names. Change rules of tracepoint which derives from PE_NAMEs into tracepoint names directly, so adding more rules based on tracepoint names will be easier. Changes v2-v3: - Change __event_legacy_tracepoint label in bison file to tracepoint_name - Fix formats error. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1443412336-120050-3-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ffeb883e5662e94b14948078e85812261277ad67 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Sep 28 03:52:14 2015 +0000 perf tools: Show proper error message for wrong terms of hw/sw events Show proper error message and show valid terms when wrong config terms is specified for hw/sw type perf events. This patch makes the original error format function formats_error_string() more generic, which only outputs the static config terms for hw/sw perf events, and prepends pmu formats for pmu events. Before this patch: $ perf record -e 'cpu-clock/freqx=200/' -a sleep 1 invalid or unsupported event: 'cpu-clock/freqx=200/' Run 'perf list' for a list of valid events usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events After this patch: $ perf record -e 'cpu-clock/freqx=200/' -a sleep 1 event syntax error: 'cpu-clock/freqx=200/' \___ unknown term valid terms: config,config1,config2,name,period,freq,branch_type,time,call-graph,stack-size Run 'perf list' for a list of valid events usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1443412336-120050-2-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0b8891a8e62cb537b65ebc55cfbbb4ec22333c44 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Sep 28 03:52:13 2015 +0000 perf tools: Adds the config_term callback for different type events Currently, function config_term() is used for checking config terms of all types of events, while unknown terms is not reported as an error because pmu events have valid terms in sysfs. But this is wrong when unknown terms are specificed to hw/sw events. This patch Adds the config_term callback so we can use separate check routines for each type of events. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1443412336-120050-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba11ba65e02836c475427ae199adfc2d8cc4a900 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:56 2015 +0300 perf intel-pt: Add mispred-all config option to aid use with autofdo autofdo incorrectly expects branch flags to include either mispred or predicted. In fact mispred = predicted = 0 is valid and means the flags are not supported, which they aren't by Intel PT. To make autofdo work, add a config option which will cause Intel PT decoder to set the mispred flag on all branches. Below is an example of using Intel PT with autofdo. The example is also added to the Intel PT documentation. It requires autofdo (https://github.com/google/autofdo) and gcc version 5. The bubble sort example is from the AutoFDO tutorial (https://gcc.gnu.org/wiki/AutoFDO/Tutorial) amended to take the number of elements as a parameter. $ gcc-5 -O3 sort.c -o sort_optimized $ ./sort_optimized 30000 Bubble sorting array of 30000 elements 2254 ms $ cat ~/.perfconfig [intel-pt] mispred-all $ perf record -e intel_pt//u ./sort 3000 Bubble sorting array of 3000 elements 58 ms [ perf record: Woken up 2 times to write data ] [ perf record: Captured and wrote 3.939 MB perf.data ] $ perf inject -i perf.data -o inj --itrace=i100usle --strip $ ./create_gcov --binary=./sort --profile=inj --gcov=sort.gcov -gcov_version=1 $ gcc-5 -O3 -fauto-profile=sort.gcov sort.c -o sort_autofdo $ ./sort_autofdo 30000 Bubble sorting array of 30000 elements 2155 ms Note there is currently no advantage to using Intel PT instead of LBR, but that may change in the future if greater use is made of the data. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-26-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f56fb9864c501dc85ebe40af5bf925dd07d990c0 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:55 2015 +0300 perf inject: Add --strip option to strip out non-synthesized events Add a new option --strip which is used with --itrace to strip out non-synthesized events. This results in a perf.data file that is simpler for external tools to parse. In particular, this can be used to prepare a perf.data file for consumption by autofdo. A subsequent patch makes a change to Intel PT also to enable use with autofdo and gives an example of that use. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-25-git-send-email-adrian.hunter@xxxxxxxxx [ Made it use perf_evlist__remove() + perf_evsel__delete() ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 70f3a9caa11665e9f9aace581d85d8483716a4c8 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 28 15:18:33 2015 -0500 usb: dwc3: gadget: remove unnecessary _irqsave() We *know* our threads executes with our IRQs disabled. We really don't need to use the _irqsave() variant of spin_lock(). Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e6e709b7ab89a0d9ec0d803cb2f3b66902145ba0 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 28 15:16:56 2015 -0500 usb: dwc3: gadget: use Update Transfer from Xfer In Progress Instead of limiting __dwc3_gadget_kick_transfer() to Xfer Complete, we can try to issue Update Transfer command from Xfer In Progress too. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6bb4fe12ea089da98b89dc2630d2273d60fe0c29 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 28 14:49:02 2015 -0500 usb: dwc3: gadget: use update transfer command If we get a Xfer Not Ready event with reason "Transfer Active" it means endpoint is still transferring data and we can use that to issue update transfer for this particular endpoint in case we have pending requests in our queue. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 73117308f953afb60a1383725b7d5372feeb2433 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:54 2015 +0300 perf inject: Remove more aux-related stuff when processing instruction traces perf inject can process instruction traces (using the --itrace option) which removes aux-related events and replaces them with the requested synthesized events. However there are still some leftovers, namely PERF_RECORD_ITRACE_START events and the original evsel (selected event) e.g. intel_pt// For the sake of completeness, remove them too. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-24-git-send-email-adrian.hunter@xxxxxxxxx [ Made it use perf_evlist__remove() + perf_evsel__delete() ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4768230ad57d4e4fc6d36c44e98e0062c89b0dc0 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:53 2015 +0300 perf evlist: Add perf_evlist__remove() Add a counterpart to perf_evlist__add() that does the opposite and deletes the evsel. This will be used by perf inject to remove unwanted evsels. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-23-git-send-email-adrian.hunter@xxxxxxxxx [ Renamed it from perf_evlist__del() to perf_evlist__remove() and removed the perf_evsel__delete() call ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dddcf6abbf5946f9ec1183dd2099cede6dbe12fc Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:52 2015 +0300 perf evlist: Add perf_evlist__id2evsel_strict() perf_evlist__id2evsel_strict() is the same as perf_evlist__id2evsel() except that it ensures that the id must match. This will be used by perf inject to find a specific evsel that is to be deleted, hence the need to match exactly. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-22-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3c5b645faee7afbd417f6127694adbd26778a9eb Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:51 2015 +0300 perf script: Make scripting_max_stack value allow for synthesized callchains perf script has a setting to set the maximum stack depth when processing callchains. The setting defaults to the hard-coded maximum definition PERF_MAX_STACK_DEPTH which is 127. It is possible, when processing instruction traces, to synthesize callchains. Synthesized callchains do not have the kernel size limitation and are whatever size the user requests, although validation presently prevents the user requested a value greater that 1024. The default value is 16. To allow for synthesized callchains, make the scripting_max_stack value at least the same size as the synthesized callchain size. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-21-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 44cbe7295c3808977159f500a5bcdebf12a7db5f Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:50 2015 +0300 perf scripting python: Allow for max_stack greater than PERF_MAX_STACK_DEPTH Use the scripting_max_stack value to allow for values greater than PERF_MAX_STACK_DEPTH. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-20-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 03cd1fed2b8730271d3a8dbabd87989abddc33c4 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:49 2015 +0300 perf script: Add a setting for maximum stack depth Add a setting for maximum stack depth in preparation for allowing for synthesized callchains. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-19-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 96b40f3c05f36e061fd4dde920b9e9c795a88b69 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:47 2015 +0300 perf hists: Allow for max_stack greater than PERF_MAX_STACK_DEPTH Use the max_stack value instead of PERF_MAX_STACK_DEPTH so that arbitrary-sized callchains can be supported. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-17-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 188bb5e2ce112463428994f91291e5df6fc05521 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:46 2015 +0300 perf report: Make max_stack value allow for synthesized callchains perf report has an option (--max-stack) to set the maximum stack depth when processing callchains. The option defaults to the hard-coded maximum definition PERF_MAX_STACK_DEPTH which is 127. The intention of the option is to allow the user to reduce the processing time by reducing the amount of the callchain that is processed. It is also possible, when processing instruction traces, to synthesize callchains. Synthesized callchains do not have the kernel size limitation and are whatever size the user requests, although validation presently prevents the user requested a value greater that 1024. The default value is 16. To allow for synthesized callchains, make the max_stack value at least the same size as the synthesized callchain size. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-16-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f14445ee72c59f32aa5cbf4d0f0330a5f62a752d Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:45 2015 +0300 perf intel-pt: Support generating branch stack Add support for generating branch stack context for PT samples. The decoder reports a configurable number of branches as branch context for each sample. Internally it keeps track of them by using a simple sliding window. We also flush the last branch buffer on each sample to avoid overlapping intervals. This is useful for: - Reporting accurate basic block edge frequencies through the perf report branch view - Using with --branch-history to get the wider context of samples - Other users of LBRs Also the Documentation is updated. Examples: Record with Intel PT: perf record -e intel_pt//u ls Branch stacks are used by default if synthesized so: perf report --itrace=ile is the same as: perf report --itrace=ile -b Branch history can be requested also: perf report --itrace=igle --branch-history Based-on-patch-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-15-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 385e33063fb963f5cccb0a37fe539319b6481fa5 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:44 2015 +0300 perf intel-pt: Move branch filter logic intel_pt_synth_branch_sample() skips synthesizing if the branch does not match the branch filter. That logic was sitting in the middle of the function but is more efficiently placed at the start of the function, so move it. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-14-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 051a01b9a2c1c1ef3049973a43d9ed4ddcc946f3 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:43 2015 +0300 perf inject: Set branch stack feature flag when synthesizing branch stacks The branch stack feature flag is set by 'perf record' when recording data that contains branch stacks. Consequently, when 'perf inject' synthesizes branch stacks, the feature flag should be set also. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-13-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f86225db3aa0e394915af45eea1c3cca6f3e2dba Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:42 2015 +0300 perf report: Skip events with null branch stacks A non-synthesized event might not have a branch stack if branch stacks have been synthesized (using itrace options). An example of that is when Intel PT records sched_switch events for decoding purposes. Those sched_switch events do not have branch stacks even though the Intel PT decoder may be synthesizing other events that do due to the itrace options. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-12-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fb9fab66e6e3ee737e521c899684c6d684b24a22 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:41 2015 +0300 perf report: Also do default setup for synthesized branch stacks The 'perf report' tool will default to displaying branch stacks (-b option) if they are present. Make that also happen for synthesized branch stacks. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-11-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c7eced63f2f67bd06ceb2269062416db9d81d29d Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:40 2015 +0300 perf report: Adjust sample type validation for synthesized branch stacks perf report looks at event sample types to determine if branch stacks have been sampled. Adjust the validation to know about instruction tracing options. This change allows the use of the -b option which otherwise would complain with an error like: Error: Selected -b but no branch data. Did you call perf record without -b? # To display the perf.data header info, # please use --header/--header-only options. # Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-10-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 601897b54c7ed492a89b262dccd7c6f7faf12b30 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:39 2015 +0300 perf auxtrace: Add option to synthesize branch stacks on samples Add AUX area tracing option 'l' to synthesize branch stacks on samples just like sample type PERF_SAMPLE_BRANCH_STACK. This is taken into use by Intel PT in a subsequent patch. Based-on-patch-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-9-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 35ca01c117da9b8e5b60204f730cdde414735596 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:38 2015 +0300 perf tools: Add more documentation to export-to-postgresql.py script Add some comments to the script and some 'views' to the created database that better illustrate the database structure and how it can be used. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-8-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a38f48e300f9dac30a9b2d2ce958c8dbd7def351 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:37 2015 +0300 perf session: Warn when AUX data has been lost By default 'perf record' will postprocess the perf.data file to determine build-ids. When that happens, the number of lost perf events is displayed. Make that also happen for AUX events. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-7-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 83e1986032dfcd3f9e9fc0d06e11d9153edae19b Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:36 2015 +0300 perf script: Allow time to be displayed in nanoseconds Add option --ns to display time to 9 decimal places. That is useful in some cases, for example when using Intel PT cycle accurate mode. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-6-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 116f349c5bf8c7aec4047dd6e06c310354b46e4f Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:35 2015 +0300 perf intel-pt: Make logging slightly more efficient Logging is only used for debugging. Use macros to save calling into the functions only to return immediately when logging is not enabled. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9992c2d50a73f442653968a98a9e5f3bf4e769e9 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:34 2015 +0300 perf intel-pt: Fix potential loop forever TSC packets contain only 7 bytes of TSC. The 8th byte is assumed to change so infrequently that its value can be inferred. However the logic must cater for a 7 byte wraparound, which it does by adding 1 to the top byte. The existing code was doing that with a while loop even though the addition should only need to be done once. That logic won't work (will loop forever) if TSC wraps around at the 8th byte. Theoretically that would take at least 10 years, unless something else went wrong. And what else could go wrong. Well, if the chunks of trace data are processed out of order, it will make it look like the 7-byte TSC has gone backwards (i.e. wrapped). If that happens 256 times then stuck in the while loop it will be. Fix that by getting rid of the unnecessary while loop. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d062ac16f53d1a24047bcc9eded5514a71c363b8 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:33 2015 +0300 perf report: Fix sample type validation for synthesized callchains Processing instruction tracing data (e.g. Intel PT) can synthesize callchains e.g. $ perf record -e intel_pt//u uname $ perf report --stdio --itrace=ige However perf report's callgraph option gets extra validation, so: $ perf report --stdio --itrace=ige -gflat Error: Selected -g or --branch-history but no callchain data. Did you call 'perf record' without -g? # To display the perf.data header info, # please use --header/--header-only options. # Fix the validation to know about instruction tracing options so above command works. A side-effect of the change is that the default option to accumulate the callchain of child functions comes into force. To get the previous behaviour the --no-children option can be used e.g. $ perf report --stdio --itrace=ige -gflat --no-children Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8a1a9c9e4503f246b1d4339c5be3485e14c31858 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 21 14:32:00 2015 -0500 usb: dwc3: gadget: start transfer on XFER_COMPLETE if by the time we get to XFER_COMPLETE we have pending requests to be processed, instead of waiting for a following XFER_NOT_READY, let's start the request right away and, maybe, save the time of a few NAKs due to lack of started transfers. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e1791347b5d57d13326cf0114df1a3f3b1c4ca24 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:32 2015 +0300 perf auxtrace: Fix 'instructions' period of zero Instruction tracing options (i.e. --itrace) include an option for sampling instructions at an arbitrary period. e.g. --itrace=i10us means make an 'instructions' sample for every 10us of trace. Currently the logic does not distinguish between a period of zero and no period being specified at all, so it gets treated as the default period which is 100000. That doesn't really make sense. Fix it so that zero period is accepted and treated as meaning "as often as possible". In the case of Intel PT that is the same as a period of 1 and a unit of 'instructions' (i.e. --itrace=i1i). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-2-git-send-email-adrian.hunter@xxxxxxxxx [ Add a few lines describing this in the Documentation/intel-pt.txt file ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7c422f5572667fef0db38d2046ecce69dcf0afc8 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:34:02 2015 +0200 tools build: Build fixdep helper from perf and basic libs Adding the fixdep target into the Makefile.include to ease up building of fixdep helper, that needs to be built before we dive in to the build itself. The user can invoke the fixdep target to build the helper. 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/1443004442-32660-8-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 324c824ade1cad094a21e6177b9aa7977146feeb Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:34:01 2015 +0200 perf tools: Rename the 'single_dep' target to 'prepare' And use the new 'prepare' target for the $(PERF_IN) target. 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/1443004442-32660-7-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9fb81323eb3085b6a47fe81d78541958ae7eaea3 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:34:00 2015 +0200 tools build: Make the fixdep helper part of the build process Making the fixdep helper to be invoked within dep-cmd. Each user of the build framework needs to make sure fixdep exists before executing the build itself. If the build doesn't find fixdep, it falls back to the old style dependency tracking. 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/1443004442-32660-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 275e2d95591e2714d6b541d4e26959381d6b2705 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:33:59 2015 +0200 tools build: Move dependency copy into function So it's easier to add more functionality in the following commit. 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/1443004442-32660-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9f7ef9854e800bc3bab3d9a527e8f8f960eec1a6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:33:58 2015 +0200 tools build: Add fixdep dependency helper For dependency tracking we currently use targets that fall out of the gcc -MD command. We store this info in the .cmd file and include as makefile during the build. This format put object as target and all the c and header files as dependencies, like: util/abspath.o: util/abspath.c /usr/include/stdc-predef.h util/cache.h \ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ ... If any of those dependency header files (krava.h below) is removed the build fails on: make[1]: *** No rule to make target 'krava.h', needed by 'inc.o'. Stop. This patch adds fixdep helper, that is used by kbuild to alter the shape of the object dependencies like: source_util/abspath.o := util/abspath.c deps_util/abspath.o := \ /usr/include/stdc-predef.h \ util/cache.h \ ... util/abspath.o: $(deps_util/abspath.o) $(deps_util/abspath.o): With this format the header removal won't make the build fail, because it'll be picked up by the last empty target defined for each header. As previously mentioned the fixdep tool is taken from kbuild. It's not complete backport, only the part that alters the standard dependency info was taken, the part that adds the CONFIG_* dependency logic will be probably taken later on. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Kai Germaschewski <kai.germaschewski@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443004442-32660-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c00c3fb4e4a6ff714b7ad864f58e0fb33b3534c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:33:57 2015 +0200 tools build: Add test for missing include The current build framework fails to cope with header file removal. The reason is that the removed header file stays in the .cmd file target rule and forces the build to fail. This issue is fixed and explained in the following patches. Adding a new build test that simulates header removal. 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/1443004442-32660-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ab6201d09b1840c7ffcd6606c1d3dae68b8b3048 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:33:56 2015 +0200 tools build: Add Makefile.include To ease up build framework code setup for users. More shared code will be added in the 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/1443004442-32660-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc240c5dc2a02e335c5bcb50ad3a1274818c8609 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Sep 19 16:47:07 2015 +0200 tools lib api fs: Store tracing mountpoint for better error message Storing the actual tracing path mountpoint to display correct error message hint ('Hint:' line). The error hint rediscovers mountpoints, but it could be different from what we actually used in tracing path. Before we'd display debugfs mount even though tracefs was used: $ perf record -e sched:sched_krava ls event syntax error: 'sched:sched_krava' \___ can't access trace events Error: No permissions to read /sys/kernel/debug/tracing/events/sched/sched_krava Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug' ... After this change, correct mountpoint is displayed: $ perf record -e sched:sched_krava ls event syntax error: 'sched:sched_krava' \___ can't access trace events Error: No permissions to read /sys/kernel/debug/tracing/events/sched/sched_krava Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing' ... Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Link: http://lkml.kernel.org/r/1442674027-19427-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ab9c2bdc8947482057b81258c0128952763661cb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 23 15:45:20 2015 -0300 perf tools: Use __map__is_kernel() when synthesizing kernel module mmap records Equivalent and removes one more case of using dso->kernel. # perf record -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.768 MB perf.data (30 samples) ] Before: [root@zoo ~]# perf script --show-task --show-mmap | head -3 swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffff81000000(0x1f000000) @ 0xffffffff81000000]: x [kernel.kallsyms]_text swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffffa0000000(0xa000) @ 0]: x /lib/modules/4.3.0-rc1+/kernel/drivers/acpi/video.ko swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffffa000a000(0x5000) @ 0]: x /lib/modules/4.3.0-rc1+/kernel/drivers/i2c/algos/i2c-algo-bit.ko # # perf script --show-task --show-mmap | head -3 swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffff81000000(0x1f000000) @ 0xffffffff81000000]: x [kernel.kallsyms]_text swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffffa0000000(0xa000) @ 0]: x /lib/modules/4.3.0-rc1+/kernel/drivers/acpi/video.ko swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffffa000a000(0x5000) @ 0]: x /lib/modules/4.3.0-rc1+/kernel/drivers/i2c/algos/i2c-algo-bit.ko # 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-b65xe578dwq22mzmmj5y94wr@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 045b80dd03403b8e61a29460987c231317ebfbd4 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 23 15:38:55 2015 -0300 perf hists browser: Use the map to determine if a DSO is being used as a kernel The map is what should say if an ELF (or some other format) image is being used for some particular purpose, as a kernel, host or guest. 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-zufousvfar0710p4qj71c32d@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cfc5acd4c80b875d2f739d6a93562034aee5563f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 23 15:15:54 2015 -0300 perf top: Filter symbols based on __map__is_kernel(map) Instead of using dso->kernel, this is equivalent at the moment, and helps in reducing the accesses to dso->kernel. 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-1pc2v63iphtifovw3bv0bo1v@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9b1cf1e44d91e80b17a315d04193b1764ca82a15 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Fri Sep 25 10:54:08 2015 -0500 power: bq24257: Streamline input current limit setup The maximum amount of input current the charger should draw is dependent on the power supply and should only be (re-)configured when the power supply gets connected and disconnected. However the driver was also lowering the bq24257's input current limit setting to 500mA when the battery was removed and restored the previous setting according to the power supply capabilities when the battery was reconnected although these events are not impacting the amount of power that can be drawn from the supply. Furthermore, a re-configuration of the input current limit to 500mA when the battery gets disconnected is actually dangerous if the limit was set higher previously and the system draws more than 500mA in which case the system voltage would be reduced in order to maintain 500mA which could result in the system getting too low of a supply to maintain operation. Last but not least the mechanism itself used for battery re-connection detection did not work in corner cases such as when the device's input current loop becomes active and the bq24257 device clears its battery fault error resulting in incorrectly reporting that the battery got reconnected. This patches removes the impact the battery removal/insertion has on the input current limit configured for the bq24257 and simplifies the associated handler routine. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5ff8c89d112cbeb5776d5ba40a224b70f67e41bb Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Fri Sep 25 10:54:07 2015 -0500 power: bq24257: Remove IRQ config through stat-gpios At the time the driver was written GpioInt resources in ACPI were not passed to the driver in client->irq, as opposed to DT enumeration. To accommodate this use case, a "stat-gpios" property was introduced to allow configuring the IRQ. However this issue with ACPI was fixed in commit "845c877 i2c / ACPI: Assign IRQ for devices that have GpioInt automatically" and makes this workaround no longer necessary, hence we can remove the support for the "stat-gpios" property and the associated code from the bq24257 driver. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9903b6bedd389a033a3da0308f220571c7f68e7a Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 28 10:45:47 2015 -0500 usb: gadget: pch-udc: fix lock gadget methods should be called without spinlocks held. Reported-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2edd69a81dd4e8068bb512ffcc3959c77fc182ea Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 28 10:51:27 2015 +0200 power: bq27xxx_battery: fix signedness bug in bq27xxx_battery_read_health() We need flags to be signed for the error handling to work. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Fixes: 74aab849f342 ('power: bq27xxx_battery: Cleanup health checking') Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-By: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d0c9c93019e9b61f21ac22a5c23749873adc0038 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 24 13:59:27 2015 -0600 EDAC: Don't allow empty DIMM labels Updating dimm_label to an empty string does not make much sense. Change the sysfs dimm_label store operation to fail a request when an input string is empty. Suggested-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: elliott@xxxxxxx Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443124767.25474.172.camel@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit ef92480a58c3b4dac5eccbc787131a51a3b0a45c Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Sep 28 10:16:12 2015 -0400 tracing: Turn seq_print_user_ip() into a static function seq_print_user_ip() is used in only one location in one file. Turn it into a static function. We could inject its code into the caller, but that would make the code a bit too complex. Keep the code separate. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 6b1032d53cdbda39ad56c8692bac17a66475b57d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Sep 28 10:11:44 2015 -0400 tracing: Inject seq_print_userip_objs() into its only user seq_print_userip_objs() is used only in one location, in one file. Instead of having it as an external function, go one further than making it static, but inject is code into its only user. It doesn't make the calling function much more complex. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ca475e831fd59e131bccd60de43c4104d82d02f5 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Sep 28 09:41:11 2015 -0400 tracing: Make ftrace_trace_stack() static ftrace_trace_stack() is not called outside of trace.c. Make it a static function. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit e87359efcaf45efc41dbaa6ec25eb26705300cee Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 28 13:06:20 2015 +0300 ALSA: usb-audio: harmless underflow in snd_audigy2nx_led_put() We want to verify that "value" is either zero or one, so we test if it is greater than one. Unfortunately, this is a signed int so it could also be negative. I think this is harmless but it introduces a static checker warning. Let's make "value" unsigned. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 868e87ccda2461cafd4a0d39f1486eb8f4a9a6f9 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Sep 28 10:31:50 2015 +0100 ARM: make RiscPC depend on MMU RiscPC fails to build if MMU is disabled: arch/arm/mach-rpc/ecard.c: In function 'ecard_init_pgtables': arch/arm/mach-rpc/ecard.c:229:2: error: implicit declaration of function 'pgd_offset' [-Werror=implicit-function-declaration] arrange for RiscPC to depend on MMU. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a913718812d5998b3af2b6d6b5f0be4a09caebb1 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Mon Sep 28 08:03:24 2015 +0000 Bluetooth: hci_qca: Changed unsigned long to bool 'retransmit' being set in HCI_IBS_TX_WAKING case, using bool would be efficient. Initialize local bool to false. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8def31034d033961a4e1f34a80f317fd7002faee Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Mar 30 10:59:52 2015 +0100 cpufreq: arm_big_little: add SCPI interface driver On some ARM based systems, a separate Cortex-M based System Control Processor(SCP) provides the overall power, clock, reset and system control including CPU DVFS. SCPI Message Protocol is used to communicate with the SCPI. This patch adds a interface driver for adding OPPs and registering the arm_big_little cpufreq driver for such systems. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx commit 9490f01e247169a93262054074409ad73d71c4da Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Mar 30 10:59:52 2015 +0100 clk: scpi: add support for cpufreq virtual device The clocks for the CPUs are provided by SCP and are managed by this clock driver. So the cpufreq device needs to be added only after the clock get registered and removed when this driver is unloaded. This patch manages the cpufreq virtual device based on the clock availability. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxxxx> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> Cc: linux-clk@xxxxxxxxxxxxxxx commit cd52c2a4b5c43631e429d06dce12e08b0cab477f Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Mar 30 10:59:52 2015 +0100 clk: add support for clocks provided by SCP(System Control Processor) On some ARM based systems, a separate Cortex-M based System Control Processor(SCP) provides the overall power, clock, reset and system control. System Control and Power Interface(SCPI) Message Protocol is defined for the communication between the Application Cores(AP) and the SCP. This patch adds support for the clocks provided by SCP using SCPI protocol. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxxxx> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> Cc: linux-clk@xxxxxxxxxxxxxxx commit 8cb7cf56c9fe5412de238465b27ef35b4d2801aa Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Mar 30 10:59:52 2015 +0100 firmware: add support for ARM System Control and Power Interface(SCPI) protocol This patch adds support for System Control and Power Interface (SCPI) Message Protocol used between the Application Cores(AP) and the System Control Processor(SCP). The MHU peripheral provides a mechanism for inter-processor communication between SCP's M3 processor and AP. SCP offers control and management of the core/cluster power states, various power domain DVFS including the core/cluster, certain system clocks configuration, thermal sensors and many others. This protocol driver provides interface for all the client drivers using SCPI to make use of the features offered by the SCP. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Reviewed-by: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> Cc: Jassi Brar <jassisinghbrar@xxxxxxxxx> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 80f390ea5afdf7073bba0757b1eeb8d4f833398f Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu May 14 11:26:11 2015 +0100 Documentation: add DT binding for ARM System Control and Power Interface(SCPI) protocol This patch adds devicetree binding for System Control and Power Interface (SCPI) Message Protocol used between the Application Cores(AP) and the System Control Processor(SCP). The MHU peripheral provides a mechanism for inter-processor communication between SCP's M3 processor and AP. SCP offers control and management of the core/cluster power states, various power domain DVFS including the core/cluster, certain system clocks configuration, thermal sensors and many others. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> CC: Jassi Brar <jassisinghbrar@xxxxxxxxx> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx commit b7631a12e726597cffde1b29cc3bcf811981c1fb Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 28 12:19:08 2015 +0200 ALSA: hda - Fix typos in snd_hdac_regmap_*() documents Fixes the wrong reference names to regmap amp functions. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9f06c5309a140eab80a4289f08c35c2496c4d1d3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Sep 24 17:23:54 2015 +0200 ARM: dts: sun8i: Make ippo-q8h-v1.2.dts a symlink to q8-tablet.dts A33 Q8 tablets with the ippo-q8h-v1.2 pcb will work fine with the generic q8-tablet.dts and given the many variants of PCBs found in Q8 tablets using such a specific dts name was a mistake in hindsight. We cannot just drop the ippo-q8h-v1.2.dtb as existing u-boot configs may very well point to it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit beff1084f1cab155feb3551d72d41ce48af4ae79 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Sep 24 17:23:53 2015 +0200 ARM: dts: sun8i: Add sun8i-a33-q8-tablet.dts file This is a generic dts file for A33 based q8 formfactor tablets, this is intended to replace both sun8i-a33-ippo-q8h-v1.2.dts and sun8i-a33-et-q8-v1.6.dts (these can be fully dropped after a transition period). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6e06780a98f149f131d46c1108d4ae27f05a9357 Author: Ashok Raj <ashok.raj@xxxxxxxxx> Date: Mon Sep 28 09:21:43 2015 +0200 x86/mce: Don't clear shared banks on Intel when offlining CPUs It is not safe to clear global MCi_CTL banks during CPU offline or suspend/resume operations. These MSRs are either thread-scoped (meaning private to a thread), or core-scoped (private to threads in that core only), or with a socket scope: visible and controllable from all threads in the socket. When we offline a single CPU, clearing those MCi_CTL bits will stop signaling for all the shared, i.e., socket-wide resources, such as LLC, iMC, etc. In addition, it might be possible to compromise the integrity of an Intel Secure Guard eXtentions (SGX) system if the attacker has control of the host system and is able to inject errors which would be otherwise ignored when MCi_CTL bits are cleared. Hence on SGX enabled systems, if MCi_CTL is cleared, SGX gets disabled. Tested-by: Serge Ayoun <serge.ayoun@xxxxxxxxx> Signed-off-by: Ashok Raj <ashok.raj@xxxxxxxxx> [ Cleanup text. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Tony Luck <tony.luck@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> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441391390-16985-1-git-send-email-ashok.raj@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d44975d1e2791f6df2b84b182f49d815ba3c9e0 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Sat Sep 26 14:47:17 2015 +0200 x86/kgdb: Replace bool_int_array[NR_CPUS] with bitmap Straigntforward conversion from: int was_in_debug_nmi[NR_CPUS] to: DECLARE_BITMAP(was_in_debug_nmi, NR_CPUS) Saves about 2 kbytes in BSS for NR_CPUS=512. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443271638-2568-1-git-send-email-dvlasenk@xxxxxxxxxx [ Tidied up the code a bit. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b479bfd00e463034a73a9894d4f6d87988cbc559 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Sep 28 01:09:52 2015 +0100 DocBook: Use a fixed encoding for output Currently the encoding of documents generated by DocBook depends on the current locale. Make the output reproducible independently of the locale, by setting the encoding to UTF-8 (LC_CTYPE=C.UTF-8) by preference, or ASCII (LC_CTYPE=C) as a fallback. LC_CTYPE can normally be overridden by LC_ALL, but the top-level Makefile unsets that. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> [jc: added check-lc_ctype to .gitignore] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 40a4a5727f21a0e439d317aa99953e24467605eb Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 28 08:35:34 2015 +0200 drm/i915: Update DRIVER_DATE to 20150928 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 18ab2cd3ee9d52dc64c5ae984146a261a328c4e8 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Sep 27 23:25:50 2015 +0800 perf/core, perf/x86: Change needlessly global functions and a variable to static Fixes various sparse warnings. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/70c14234da1bed6e3e67b9c419e2d5e376ab4f32.1443367286.git.geliangtang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6afc0c269c3d20cde05515b00ede00e91fee0be5 Merge: 968d712 097f70b Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Sep 28 08:06:57 2015 +0200 Merge branch 'linus' into perf/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 34c2d9fb0498c066afbe610b15e18995fd8be792 Author: Ian Wilson <iwilson@xxxxxxxxxxx> Date: Thu Sep 24 11:20:11 2015 -0700 bridge: Allow forward delay to be cfgd when STP enabled Allow bridge forward delay to be configured when Spanning Tree is enabled. Signed-off-by: Ian Wilson <iwilson@xxxxxxxxxxx> Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09bb431951f7d339bf5ef7179ae807e519928121 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Sep 12 10:22:55 2015 -0700 ARM: dts: set up trigger type for edt-ft5x06 interrupts Now that the driver respects IRQ trigger settings from device tree, let's fix them up in individual DTSes (note that the driver is still compatible with older DTSes). Acked-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f0bef75c593391198f2c9f855aae8e994a0e9293 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Sep 12 10:11:09 2015 -0700 Input: edt-ft5x06 - do not hardcode interrupt trigger type Instead of hardcoding IRQ trigger type to IRQF_TRIGGER_FALLING, let's respect settings specified in device tree. To be compatible with older DTSes, if trigger type is not set up in DTS we'll set it to default (falling edge). Tested-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2e23b7a96372f855d4a006e82b183915e249e2ac Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Sep 12 09:54:15 2015 -0700 Input: edt-ft5x06 - use generic properties API Instead of only parsing device tree properties let's switch to using generic properties API so that the driver can also work on other platforms. Tested-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 22ddbacc4bb54ef8577c46114227c06c31e3c47d Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Sep 12 09:37:03 2015 -0700 Input: edt-ft5x06 - remove support for platform data We do not have any users of platform data in the tree and all newer platforms are either DT or ACPI, so let's drop handling of platform data. Tested-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 079128eba8075daff59390c14ce2d2a2e9a1f3a1 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Sep 12 09:17:47 2015 -0700 Input: edt-ft5x06 - drop parsing of irq gpio The driver does not use irq gpio as gpio, but rather relies on I2C core or board code to set up client's structure IRQ line, so let's stop trying to locate the resource and parse it. Tested-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 13c23cd18bd12ddbf00beddd136e3cd33b4f2dfa Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Sep 11 17:30:34 2015 -0700 Input: edt-ft5x06 - switch to newer gpio framework The current/old gpio framework used doesn't properly listen to ACTIVE_LOW and ACTIVE_HIGH flags. The newer gpio framework takes into account these flags when setting gpio values. Since the values being output were based on voltage and not logic they change to reflect this difference. Also use gpiod_set_value_cansleep since wake and reset pins can be provided by bus based io expanders. Switch from msleep(5) to udelay_range(5000,6000) to avoid check patch warning. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8f5ba31aa565c4efe11cca2b37acbb35c4f143f2 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Sep 6 15:12:47 2015 +0200 mtd: nand: pxa3xx-nand: switch to dmaengine Now pxa architecture has a dmaengine driver, remove the access to direct dma registers in favor of the more generic dmaengine code. This should be also applicable for mmp and orion, provided they work in device-tree environment. This patch also removes the previous hack which was necessary to make the driver work in a devicetree environment. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Reviewed-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> [Brian: fixup use of 'enum dma_transfer_direction'] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5913f5595e4fba648fd89afe85ad3c6dee0e7ec2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed May 27 00:04:20 2015 +0200 ARM: dts: lpc18xx: add dmamux node Add node for the DMA multiplexer placed in front of the PL080 DMA controller on lpc18xx/43xx devices. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 5924007c7ec807c2dd478ada8db10df6ca519373 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Tue May 26 20:59:32 2015 +0200 ARM: dts: lpc18xx: add dmac node Add the ARM PL080 DMA controller node to the dtsi for all lpc18xx/43xx devices. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 4f85dd16a52de59f6676bd55db309643c89b8704 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 06:16:33 2015 +0200 ARM: dts: lpc18xx: add spifi node Add the NXP LPC1773 SPIFI (SPI Flash Interface) flash controller node to the dtsi for all lpc18xx/43xx devices. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 0745c70260dbd763e93230acce92c6be43ba4a55 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sun Sep 27 22:28:38 2015 +0200 ARM: dts: lpc18xx: add rgu node Add the NXP LPC1850 RGU (Reset Generation Unit) reset controller node to the dtsi for all lpc18xx/43xx devices. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit c566f365434e732986d7904e29c8122dfcb1e333 Merge: b05b7c7 9ffecb1 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 27 12:44:02 2015 -0700 Merge 4.3-rc3 into char-misc-next We want those fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9caeb06ebd4687bc40a67d94facabb2d31c702ce Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 11:14:36 2015 +0300 usb: dwc3: pci: passing forward the ACPI companion Sharing the ACPI companion with dwc3 core so it has access to the properties defined for DWC3 in ACPI tables. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3d128919b7e514f0e489ab863c572a1e7032276a Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 11:14:35 2015 +0300 usb: dwc3: core: convert to unified device property interface No functional affect on existing platforms, but the driver is now ready to extract the properties also from ACPI tables as well as from DT. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 06e7114f0d8297278eb24f4e9bee3393a94bd8ce Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 11:14:34 2015 +0300 usb: common: of_usb_get_dr_mode to usb_get_dr_mode By using the unified device property interface, the function can be made available for all platforms and not just the ones using DT. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 666472733b8ce20716037c0d866395db54aa8c1d Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 11:14:33 2015 +0300 usb: dwc3: st: prepare the driver for generic usb_get_dr_mode function of_usb_get_dr_mode will be converted into more generic usb_get_dr_mode function that will take struct device instead of struct device_node as its parameter. To make the conversion possible later, waiting for the platform device for dwc3 to be populated before calling of_usb_get_dr_mode. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> CC: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> CC: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 63863b988eeca2823ce76b28b104e0b8366cafec Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 11:14:32 2015 +0300 usb: common: of_usb_get_maximum_speed to usb_get_maximum_speed By using the unified device property interface, the function can be made available for all platforms and not just the ones using DT. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 58efd4b06df4a421652cb2c8a850a9697a37915c Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 22 15:31:34 2015 +0800 usb: phy: change some comments - Replace all "transceiver" with "phy" - Replace one "OTG controller" with "phy" Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5cd22f80bc0c10e3005dad5e2903504b431bbe0e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:11:04 2015 +0200 usb: gadget: legacy: tcm: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of tcm, ep->driver_data was used only for endpoint claiming so we can simplify code by reducing it. We also remove give_back_ep() function which is not needed after all - when error code is returned from bind() function, composite will release all endpoints anyway. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4ce86bfaa62f7f044701b796f1ee84e80308457f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:11:03 2015 +0200 usb: gadget: legacy: dbgp: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of dbgp, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 18411c0f94716ec225a4f7e1d7735c80f5ec0dab Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:11:02 2015 +0200 usb: gadget: u_serial: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of u_serial ep->driver_data stores pointer to struct gs_port, which is referenced in many places in code. Code using ep->driver_data to mark endpoint as enabled/disabled has been removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6e4bfc54083b2b0eff45ad2001f2a3bee9074dcc Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:11:01 2015 +0200 usb: gadget: u_ether: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of u_ether we only need to store in ep->driver_data pointer to struct eth_dev, as it's used in rx_complete() and tx_complete() callbacks. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d62bf8c16570eb44e2ea3fc5c1f6a8ab83e52778 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:11:00 2015 +0200 usb: gadget: f_uvc: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_uvc, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 887d8206c5c50f06241688f3ab807e1e2568f5c6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:59 2015 +0200 usb: gadget: f_uac2: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_uac2, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6ae6e1a241c1d7a5c5800d035d195a66911d96f1 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:58 2015 +0200 usb: gadget: f_uac1: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_uac1, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bb38c18adb872714d5b27b0fe2d87c6489cb6275 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:57 2015 +0200 usb: gadget: f_subset: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_subset, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit dbd2badfa6b40de6baf81b7c1911794cdb4c1c90 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:56 2015 +0200 usb: gadget: f_sourcesink: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_sourcesink we only need to store in ep->driver_data pointer to struct f_sourcesink, as it's used in source_sink_complete() callback. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 885d22eb84a5f634e3776676e5d42f9931899d06 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:55 2015 +0200 usb: gadget: f_serial: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_serial, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bbc474f7882b815e616a57adcc49c977ad53fb7f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:54 2015 +0200 usb: gadget: f_rndis: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_rndis, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ce21a9894208bf6fc3444837bb286f876d675205 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:53 2015 +0200 usb: gadget: f_printer: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_printer we only need to store in ep->driver_data pointer to struct printer_dev, as it's used in rx_complete() and tx_complete() callbacks. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 101382ffb3838d68bf6d6d675c66a2f84ed3cb90 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:52 2015 +0200 usb: gadget: f_phonet: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_phonet we only need to store in ep->driver_data pointer to struct f_phonet, as it's used in pn_tx_complete() and pn_rx_complete() callbacks. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d277e1a30305bbef4ce38477771dc1594dc1e8fb Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:51 2015 +0200 usb: gadget: f_obex: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_obex, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6b4012a2e4d4702f8fb0ee1db1c0f0b17ab7d41b Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:50 2015 +0200 usb: gadget: f_ncm: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_ncm, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ce723951a5093a47b312d828c2b975c4cf3d5a5b Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:49 2015 +0200 usb: gadget: f_midi: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_midi we only need to store in ep->driver_data pointer to struct f_midi, as it's used in f_midi_complete() callback and related functions. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1cecd54f327fdddbeefa15126f2f58b26b6c39e2 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:48 2015 +0200 usb: gadget: f_mass_storage: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_mass_storage we only need to store in ep->driver_data pointer to struct fsg_common, which is used in bulk_in_complete() and bulk_out_complete() callbacks. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0523ca4e485f9273975103c5fe2397b2a8abfae8 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:47 2015 +0200 usb: gadget: f_loopback: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_hid we only need to store in ep->driver_data pointer to struct f_loopback, as it's used in loopback_complete() callback. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2516a680c4202aa587858e94ce7b721dfb9363a3 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:46 2015 +0200 usb: gadget: f_hid: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_hid we only need to store in ep->driver_data pointer to struct f_hidg, as it's used in f_hidg_req_complete() callback. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 34422a5e5a884c8680ce9144cf270ae08b1472be Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:45 2015 +0200 usb: gadget: f_eem: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_ecm, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4aab757ca44ad8f9d629c4bf5a513e94cff9aeb1 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:44 2015 +0200 usb: gadget: f_acm: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_acm we only need to store in ep->driver_data pointer to struct f_acm, as it's used in acm_complete_set_line_coding() callback. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 92fbfc3884733a4deae313169ef4eca20c0e6e72 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:43 2015 +0200 usb: gadget: f_ecm: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_ecm, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b0bac2581c1918cc4ab0aca01977ad69f0bc127a Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:42 2015 +0200 usb: gadget: introduce 'enabled' flag in struct usb_ep This patch introduces 'enabled' flag in struct usb_ep, and modifies usb_ep_enable() and usb_ep_disable() functions to encapsulate endpoint enabled/disabled state. It helps to avoid enabling endpoints which are already enabled, and disabling endpoints which are already disables. From now USB functions don't have to remember current endpoint enable/disable state, as this state is now handled automatically which makes this API less bug-prone. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b67f628c84329a9ce82dbff5fde196dc4624e7c2 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:41 2015 +0200 usb: gadget: epautoconf: add usb_ep_autoconfig_release() function This patch introduces usb_ep_autoconfig_release() function which allows to release endpoint previously obtained from usb_ep_autoconfig() during USB function bind. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 35bfde36872607b1de87288f9798af79820a910f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:40 2015 +0200 usb: gadget: f_ncm: obtain cdev from function instead of driver_data The 'driver_data' field in ep0 is never set to pointer to cdev, so we have to obtain it from another source as in this context ep->driver_data contains invalid data. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f871cb9b2e178667a351a6fae9d930826ec10e95 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:39 2015 +0200 usb: gadget: fix few outdated comments Fix comments in code to make them up to date. composite: claiming endpoint is now done by setting ep->claimed flag, not ep->driver_data. epautoconf: usb_ep_autoconfig() and usb_ep_autoconfig_ss() return claimed endpoint with ep->claimed flag already set. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 04c4d8d4d556256ca8131dd780427e2fbfbd0270 Author: WEN Pingbo <pingbo.wen@xxxxxxxxxx> Date: Fri Sep 18 10:51:26 2015 +0800 usb: gadget: dummy_hcd: replace timeval with timespec64 The millisecond of the last second will be normal if tv_sec is overflowed. But for y2038 consistency and demonstration purpose, and avoiding further risks, we need to remove 'timeval' in this driver, to avoid similair problems. Signed-off-by: Pingbo Wen <pingbo.wen@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6344475f53977d329ec50f49805fd4ab83df4011 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Mon Aug 31 21:09:08 2015 +0530 usb: dwc3: support for pinctrl state change during system sleep Add support for USB DRVVBUS pinctrl state change during suspend/resume. This helps is conserving power during system sleep. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9e44d194b90b2d9e6e26cd0381db856fa7cd7e19 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:48:04 2015 +0800 tools: usb: testusb: change the default value for length from 512 to 1024 For ctrl out test, it needs length > vary, so in order to run it with default parameters, we do this change. Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0f286379ed72cfc2f9e9a4fd52e79b92d4edaa01 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:48:03 2015 +0800 tools: usb: testusb: change the help text The 'length' is the transfer length, not the packet size, so change the help text. Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 046839098c34f0ade17b7060e7385bd581151b3b Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:48:02 2015 +0800 usb: gadget: f_sourcesink: format data pattern according to max packet size Since the host and gadget can't agree with transfer length before each transfer, but they agree with max packet size for each endpoint, we use max packet size to format data pattern. Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9a6e8e1001e28fecbd74c073f5503dac2790563 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 09:48:01 2015 +0800 usb: misc: usbtest: format the data pattern according to max packet size With this change, the host and gadget doesn't need to agree with transfer length for comparing the data, since they doesn't know each other's transfer size, but know max packet size. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> (Fixed the 'line over 80 characters warning' by Peter Chen) Tested-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 169900f96792c11a5435773dd379046bc8036704 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:48:00 2015 +0800 usb: misc: usbtest: using the same data format among write/compare/output Using the same data format "buf[j] = (u8)(i + j)" among write, compare buf, and console output stage. Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a724ddfb17e0519d2c2b6e09a96b1b94eff6b801 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:47:59 2015 +0800 usb: misc: usbtest: delete useless memset for urbs array The element of urbs array will be initialized at below code at once. for (i = 0; i < param->sglen; i++) { urbs[i] = iso_alloc_urb(udev, pipe, desc, param->length, offset); Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 41d3c0b84d6e084865c429b1b6825256c0169319 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:47:58 2015 +0800 usb: misc: usbtest: allocate size of urb array according to user parameter Allocate the size of urb pointer array according to testusb's parameter sglen, and limits the length of sglen as MAX_SGLEN (128 currently). Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 95c8bc3609440af5e4a4f760b8680caea7424396 Author: Antti Seppälä <a.seppala@xxxxxxxxx> Date: Thu Aug 20 21:41:07 2015 +0300 usb: dwc2: Use platform endianness when accessing registers This patch switches calls to readl/writel to their dwc2_readl/dwc2_writel equivalents which preserve platform endianness. This patch is necessary to access dwc2 registers correctly on big-endian systems such as the mips based SoCs made by Lantiq. Then dwc2 can be used to replace ifx-hcd driver for Lantiq platforms found e.g. in OpenWrt. The patch was autogenerated with the following commands: $EDITOR core.h sed -i "s/\<readl\>/dwc2_readl/g" *.c hcd.h hw.h sed -i "s/\<writel\>/dwc2_writel/g" *.c hcd.h hw.h Some files were then hand-edited to fix checkpatch.pl warnings about too long lines. Signed-off-by: Antti Seppälä <a.seppala@xxxxxxxxx> Signed-off-by: Vincent Pelletier <plr.vincent@xxxxxxxxx> Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bba787a860fa8c7b4ab3cefbfcb2b214b2aed30c Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Wed Aug 5 08:54:55 2015 +0200 usb: gadget: ether: Allow jumbo frames USB network adapters support Jumbo frames. The only thing blocking that feature is the code in the gadget driver that disposes of packets larger than 1518 bytes, and the limit on the ioctl to set the mtu. This patch relaxes these limits, and allows up to 15k frames sizes. The 15k value was chosen because 16k does not work on all platforms, and usingclose to 16k will result in allocating 5 or 8 4k pages to store the skb, wasting pages at no measurable performance gain. On a topic-miami board (Zynq-7000), iperf3 performance reports: MTU= 1500, PC-to-gadget: 139 Mbps, Gadget-to-PC: 116 Mbps MTU=15000, PC-to-gadget: 239 Mbps, Gadget-to-PC: 361 Mbps On boards with slower CPUs the performance improvement will be relatively much larger, e.g. an OMAP-L138 increased from 40 to 220 Mbps using a similar patch on an 2.6.37 kernel. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 428163d703712d11cacfddaf30f40b18ccc50042 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:46:19 2015 +0200 usb: gadget: at91_udc: move at91_udc_data in at91_udc.h struct at91_udc_data is now only used inside the driver, move it to its include. Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1f91b4cc03556ba0d43ac80621dac8263cda3880 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Aug 6 18:11:54 2015 -0500 usb: dwc2: rename all s3c_* to dwc2_* this driver has long ago became dwc2.ko with both peripheral and host roles, there's no point in keeping the old function names. Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit db2be4e9e30c6e43e48c5749d3fc74cee0a6bbb3 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Fri Sep 4 10:15:58 2015 +0530 usb: dwc3: Add frame length adjustment quirk Add adjust_frame_length_quirk for writing to fladj register which adjusts (micro)frame length to value provided by "snps,quirk-frame-length-adjustment" property thus avoiding USB 2.0 devices to time-out over a longer run Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3737c54418c35034127bf2837e9b27a3c3c67940 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Fri Sep 4 10:14:54 2015 +0530 Documentation: dt: dwc3: Add snps,quirk-frame-length-adjustment property Add snps,quirk-frame-length-adjustment property which provides value for post silicon frame length adjustment Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7ed855e65b4f9ecd8658ddda5d50d0e7399419f3 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Sep 7 14:24:36 2015 +0300 usb: phy: qcom: Switch to new extcon framework API [un]register_interest and reading cable state by name have been deprecated. Switch to new API. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 41932b9b8adc14b5650e8909f66d5bd08619b81c Author: Bin Liu <b-liu@xxxxxx> Date: Wed Sep 9 11:56:18 2015 -0500 usb: musb: dsps: control musb speed based on dts setting Set musb config->maximum_speed based on the dts setting to control musb speed. By default musb works in high-speed mode. Adding maximum-speed = "full-speed"; to dts usb node will force musb to full-speed mode. Signed-off-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9b7537642cb6ad400ee4a95114582ba758b3009c Author: Bin Liu <b-liu@xxxxxx> Date: Wed Sep 9 13:17:23 2015 -0500 usb: musb: set the controller speed based on the config setting Set the Power register HSENAB bit based on musb->config->maximum_speed, so that the glue layer can control MUSB to work in high- or full-speed. Signed-off-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f35fe4beb03d4e3203a2bd734d2253060694d98f Author: Felipe F. Tonello <eu@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 18:36:28 2015 +0100 usb: gadget: f_midi: check for error on usb_ep_queue f_midi is not checking whether there is an error on usb_ep_queue request, ignoring potential problems, such as memory leaks. Signed-off-by: Felipe F. Tonello <eu@xxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2e6c72b61b9a0a7787e8cfa3fff3b34a0c2548ce Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 15 09:39:45 2015 -0500 usb: gadget: mass_storage: allow for deeper queue lengths Instead of allowing a range of 2 to 4 requests, let's allow the user choose up to 32 requests as that will give us a better chance of keeping controller busy. We still maintain default of 2 so users shouldn't be affected. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a8f32817eeb0ada6367d812de5cd2ee91a532a48 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Sep 16 10:40:07 2015 -0500 usb: dwc3: gadget: improve ep_queue's error reporting We shouldn't return -EBUSY, that's used only internally when the core still has transfers in flight on a given endpoint. Also, combine the error reporting so that we don't have to duplicate it. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 89185916d2295f7c4bc3a05adae25380b3e08e58 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 15 09:49:14 2015 -0500 usb: dwc3: gadget: clear DWC3_PENDING_REQUEST when request is queued Instead of clearing DWC3_PENDING_REQUEST when we start transfer, let's do it when the request is actually queued, that way we know for sure that we're clearing in the right time. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1d6a39186b37b6f5097f9cdee8fcbfc24d231428 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 14 11:27:46 2015 -0500 usb: dwc3: gadget: start requests as soon as they come In an attempt to make dwc3 slightly faster, let's start usb_requests as soon as they come as that will let us avoid a XFER_NOT_READY event and save a little bit of time. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fe84f522ed6d27ed0a48e202e04327c2f4891e23 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 1 09:01:38 2015 -0500 usb: dwc3: gadget: move trace_dwc3_ep_queue() by moving trace_dwc3_ep_queue() from dwc3_gadget_ep_queue() to __dwc3_gadget_ep_queue() after usb_request is properly initialized, makes for a better output always showing a request with 0 actual and -115 (-EINPROGRESS) status. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d4499e255eec6b004f97610efa90cae4d1b41ec1 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Sep 25 15:46:35 2015 +0200 ARM: dts: mt8135-evbp1: remove regulator-compatible usage The regulator-compatible property from the regulator DT binding was deprecated and the correct approach is to use the node's name. This patch has no functional changes since the values of the node's name and the regulator-compatible match for all the regulators. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit b0c936f59c8928dac2b230322dd51cbfae289151 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Aug 31 21:44:19 2015 +0800 arm64: dts: Add spi bus dts This patch adds MT8173 spi bus controllers into device tree. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Reviewed-and-Tested-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 1462206cbccebf2b61e05cf786d458afe49d5509 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Sep 27 15:20:30 2015 +0200 PM / domains: Drop unused label Drop the "out" label in __pm_genpd_poweron() that's not used any more. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 47e90154fafd1a1310e3c5baed77d8f4c33ab271 Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Wed Aug 26 15:14:41 2015 +0800 soc: mediatek: add scpsys support active_wakeup Register gpd_dev_ops.active_wakeup function to support keep power during suspend state. And add flag to each power domain to decide whether keep power during suspend or not. Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 1ee35c05d9c67771d649f687e6f76e61e76eb779 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Wed Sep 16 09:35:25 2015 +0800 arm64: mt8173.dtsi: correct i2c node names Node name in device tree should describe general class of the device. Correct incorrect i2c node names. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit b8402d827fbb288f4ecee585e151bab5a81b3c58 Author: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Date: Thu Sep 17 08:17:33 2015 +0200 ath10k: fix MSI-X registering for qca99x0 In case of qca99x0 and MSI-X supported/enabled we failed during interrupts registering with message: ath10k_pci 0000:04:00.0: failed to request MSI-X ce irq 50: -22 Issue/fix was reproduced/tested using Dell Latitude E6430 laptop. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bd4a41e6dee43b5b00876e37d42abffa298d63fe Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:19:00 2015 +0530 ath10k: fix ldpc param for fixed rate ldpc is not configured for fixed rates. This blocks auto rate vs fixed rate performance comparison. Since firmware is considering ldpc vdev param for fixed rate selection, it has to be configured to enable ldpc for fixed rates. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 44acedb00b6d4b56ddab04362ccfa133b0d3b013 Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Thu Sep 17 14:29:08 2015 +0300 ath: use PRI value given by spec for fixed PRI PRI value is used as divider when DFS detector analyzes candidate radar pulses. If PRI deviation is big from its origin PRI, DFS detector could miss valid radar reports since HW often misses detecting radar pulses and causes long interval value of pulses. For instance from practical results, if runtime PRI is calculated as 1431 for fixed PRI value of 1428 and delta timestamp logs 15719, the modular remainder will be 1409 and the delta between the remainder and runtime PRI is 22 that is bigger than PRI tolerance which is 16. As a result this radar report will be ignored even though it's valid. By using spec defined PRI for fixed PRI, we can correct this error. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b0b252278082787eec54098556566d4d68b8126c Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Thu Sep 17 14:29:07 2015 +0300 ath: fix incorrect PPB on JAPAN chirp radar The number of pulses per burst on Japan chirp radar is between 1 and 3. The previous value, 20, is representing number of bursts, but since current DFS detector is using pulse detection other than bursts, use the pulse number for correct radar detection. Also using the highest number helps to avoid false detection. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bbe379fc7ca5cae09b1bc44fe5ee4173ad883fbf Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Fri Sep 11 21:05:20 2015 +0800 soc: mediatek: Move the initial setting of pmic wrap interrupt before requesting irq. The watchdog may not be initialized by the bootloader, even if the rest of the pwrap is. Move the watchdog initialization out of pwrap_init() to make sure the watchdog is always initialized and not only when the pwrap is uninitialized. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 849147cdb540266883cb49f2094a87b3ee6e12ec Author: Lawrence Yu <lyu@xxxxxxxxxx> Date: Tue Sep 22 08:50:50 2015 -0700 ARM: dts: sun6i: Add support for Yones Toptech bs1078v2 tablets The bs1078v2 is a pcb found in 10.1" tablets with an A31 soc, 1G RAM and 8G NAND, rtl8723as usb wifi, 1 micro USB OTG port, 1 USB HOST port This commit adds a dts for v2 of the bs1078 pcb. Signed-off-by: Lawrence Yu <lyu@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 40088eb4071ecc40e2b7ded71b0c06f216385efe Author: Aleksei Mamlin <mamlinav@xxxxxxxxx> Date: Thu Sep 24 10:33:46 2015 +0300 ARM: dts: sun4i: Enable USB DRC on the Marsboard A10 Enable the otg/drc usb controller on the Marsboard A10. Similar to Cubieboard, the 5V of the otg is directly connected to the general 5V, so we only use the id pin. Signed-off-by: Aleksei Mamlin <mamlinav@xxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 0372bb6b92a438a539f5a2d58b1979f999170813 Author: Priit Laes <plaes@xxxxxxxxx> Date: Wed Sep 23 10:38:31 2015 +0300 ARM: dts: sun4i: gemei-g9: Add accelerometer (bma250) IRQ Add IRQ configuration for bma250 accelerometer. Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit f7ad082cac8ec0a6af2d77513f9897374b9b3e9d Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 23 12:34:39 2015 +0800 ARM: dts: sun8i-a33: Add security system crypto engine clock and device nodes A33 has 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: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit f5f1c2cbe8785c212794067ce57aeb6439be7ac1 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Sep 20 08:30:50 2015 -0400 ARM: dts: sun8i: Add pwm-backlight device for A23/A33 Q8 format tablets The LCD backlight on the A23/A33 Q8 format tablets is enabled with a GPIO controlled regulator, and brightness controlled with the SoC's PWM controller. The backlight is powered from the AXP223 PMIC's DC1SW output, which is not supported yet. A proper bootloader is required to enable it. The brightness levels are arbitrary. The FEX files do not have such information. As such, actual brightness levels may differ from device to device. 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 36034fc1957d55837189075076a502051784a805 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:36:18 2015 +0200 ARM: sun8i: A23: Add missing msgbox gate Even though it's not mentionned in the A23 user manual, the A23 has a gate for the AHB1 clock to the msgbox IP. Add it to the clock-indices. Reported-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit f42a9505d1da7b0caf4bc6e7b3eb133631ed03ec Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:34:06 2015 +0200 ARM: sun8i: Move A23 AHB1 gates out of common DTSI The AHB1 gates were assumed to be identical between the A23 and the A33, which turned out to be wrong. Move the A23 gates definition to the A23 DTSI. Reported-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit fe8872c176255c13a9c72e1a3679fec475b849c4 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:32:56 2015 +0200 ARM: sun8i: Add the A33 AHB1 gates clock driver The A33 has a different gates array than the A23, add the node to the DT. Reported-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit eb2217b4c25e3796b0e834ce6e4fb5490ee9ab27 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 5 16:55:53 2015 +0200 ARM: dts: sun5i: Add dts file for q8 formfactor a13 based tablets This commits adds a generic dts file for q8 formfactor a13 based tablets. The tablets ship in many variants, with the difference mainly being the touchscreen controller / accelerometer / wifi chip used. The wifi is USB based, and thus not listed in devicetree. The touchscreen controller / accelerometer may turn out to be a problem once we add support for those. We can either do something with devicetree overlays, or add sun5i-a13-<touchscreen>-<accelerometer>.dts files. The latter is what the android mod community is doing with firmware images. This dts was tested with an a13 q8 tablet with a pcb labelled: "94V-0", silead gsl1680 touchscreen controller and a mc32x0 accelerometer. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d5c1274f26c18c4e3037cf7667d967388a73348b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 5 16:55:52 2015 +0200 ARM: dts: sun5i: Add sun5i-q8-common.dtsi This is the sun5i / a13 version of sun8i-q8-common.dtsi for use in dts files for a13 q8 based tablets. Compared to sun8i this uses uart1 for the serial console, and PG0 for card-detect for mmc0. This also adds pmic and otg support, which both use the same config on all known q8 a13 devices. This is not present in sun5i-q8-common.dtsi because pmic / otg support for sun8i has not yet been merged. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 29a0d085b759ef7c1d63918c4dd04daec3860a12 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Sep 18 15:35:37 2015 +0800 ARM: dts: sun8i: Add PWM channel 0 pinmux setting for A23/A33 The PWM controller has 2 outputs, with one usable pin for each. Add a pinmux setting for the first channel. This is often used for backlight dimming on tablets. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 832f977c8bb7c4a0ddfdc809448af6af34436f99 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Sep 18 15:35:36 2015 +0800 ARM: dts: sun8i: Add PWM controller node for A23/A33 A23/A33 have a PWM controller that is compatible to the one on the A20. Add a device node for it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6f1606bfe9cc2111072d48c65bab33d4d267024c Author: Yassin Jaffer <yassinjaffer@xxxxxxxxx> Date: Wed Sep 16 00:05:54 2015 +1000 ARM: dts: sun7i: Add keypad clk node This patch add support to the keypad clock on sun7i Signed-off-by: Yassin Jaffer <yassinjaffer@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5d97c677a94ea701650b642b3425b46d993e2af7 Author: Sander Vermin <sander@xxxxxxxxx> Date: Sun Sep 13 20:26:01 2015 +0200 ARM: dts: sun6i: Add accelerometer on Columbus A31 Add mma8452 accelerometer to sun6i-a31-colombus.dts. Signed-off-by: Sander Vermin <sander@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit adfa06ce9bd30f8bc5439be49bcfaa7ceb1b6c2a Author: Jelle van der Waa <jelle@xxxxxxxx> Date: Thu Sep 10 15:05:59 2015 +0200 ARM: dts: sun5i: Add dts file for the Wobo i5 top set box The Wobo i5 top set box is a somewhat curious A10s based top set box, it uses an AXP209 rather then the AXP152 usually used in combination with the A10s. It has an ethernet phy connected to PORTD rather then PORTA, and its built-in usb wifi is connected via the otg controller. This commit adds a dts file adding support for this top set box. Signed-off-by: Jelle van der Waa <jelle@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit bea9b7bcf3f7597092de7cac5d43370fa004e2c5 Author: Jelle van der Waa <jelle@xxxxxxxx> Date: Thu Sep 10 15:05:58 2015 +0200 ARM: dts: sun5i: Add emac_pins_b definition The emac pins on an A10s can also be routed to the outside through PORTD rather then through PORTA, add a pinctrl node for this. Signed-off-by: Jelle van der Waa <jelle@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit f49243f13075901a0674e19b6e77d5ccd27d6a24 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Thu Sep 10 10:31:21 2015 +0200 dts: sunxi: add eeprom to A20 OLinuXino micro board The Olimex A20 OLinuXino Micro features an eeprom that is always on the board. This patch adds it to the dts. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit dbca81d2f9eec95b50fb79752dad0cc5d821eeb2 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Thu Sep 10 10:31:20 2015 +0200 dts: sunxi: add eeprom to A20 OLinuXino Lime2 board The Olimex A20 OLinuXino Lime2 features an eeprom that is always on the board. This patch adds it to the dts. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d2057c59beec4b977b6b4c199f549ecfcf980cf9 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Thu Sep 10 10:31:19 2015 +0200 dts: sunxi: add eeprom to A20 OLinuXino Lime board The Olimex A20 OLinuXino Lime features an eeprom that is always on the board. This patch adds it to the dts. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ce350094cadc53ee21abe9f697bfb2dd3a8aaa49 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Thu Sep 10 10:31:18 2015 +0200 dts: sunxi: correct vendor prefix on OLinuXino a10s micro The OLinuXino A10S micro features an eeprom. According to the eeprom.txt binding document, we should use the manufacturer and 'at' is not the proper manufacturer id according to the vendor-prefixes. This patch takes the proper vendor-prefix and uses it for the eeprom node. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit e89ecbf141aa6301b3d5dff9d2a123700140a920 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Thu Sep 10 10:31:17 2015 +0200 dts: sunxi: add eeprom to A10 OLinuXino Lime board The Olimex A10 OLinuXino Lime features an eeprom that is always on the board. This patch adds it to the dts. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b92b14909eba9ebe30da6aa041d99f9d4b47dc3e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Sep 9 10:23:24 2015 +0200 ARM: dts: sun4i: Add dts file for iNet-1 based tablets The iNet-tek iNet-1 PCB is a PCB found in various generic 10.1" 1024x600 A10 based tablets such as the Point of View Protab2 XXL and the Cherry M1007. This patch has been tested on both rev2 and rev5 of this board / these tablets. It comes with a rtl8188cus usb wifi connected to ehci1, focal ft5406ee8 touchscreen connected to i2c2 addr 0x38, bosch bma 250 accelerometer connected to i2c1 addr 0x18 and the usual connectors: headphone, mini hdmi, power-barrel, mini-usb and a micro-sd slot. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2ecf488b149c88f2f94e63df38d4d038e7fb6247 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Sep 9 10:23:23 2015 +0200 ARM: dts: sun4i: Add dts file inet9f-rev03 based tablets The inet9f-rev03 pcb is specially designed for gaming tablets, such as the qware tb-g100 tablet. These 7" tablets feature a dpad, firebuttons and 2 joysticks on the sides of the screen. Besides this they have the usual connectors: power-barrel, mini usb, mini hdmi, headphone and micro-sd slot. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 72df94cbec320860f759258b5677f72caa5d4777 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 5 16:55:51 2015 +0200 ARM: dts: sunxi: Add sun?i-q8-common.dtsi files for q8 tablets Cheap allwinner based devices in the q8 enclosure come in many variants, all sharing the case and a number of other basic features. They differ in the display, touchscreen, accelerometer and wifi chips used. This commit adds 2 dtsi files defining the shared features of all the q8 tablets. sunxi-q8-common.dtsi defines features shared amongst all q8 tablets, sun8i-q8-common.dtsi defines features shared amongst all a23 / a33 based q8 tablets, but not with a13 q8 based tablets. a13 based tablets use a different card-detect pin for the mmc, and use uart1 instead of the r_uart for the serial console. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ac1dd1dcc55044dfd2b8039ae974fec6d2ab2c77 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Aug 28 15:15:17 2015 +0200 ARM: dts: sun5i: Add dts file for inet98v_rev2 based tablets The inet98v_rev2 is a pcb used in generic A13 based tablets. It features volume buttons, a power barrel, micro-usb otg, headphone connector and a power button. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4917c46ced2f225e2f94f066c1c52d9f264cce3b Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Aug 28 17:54:37 2015 +0800 ARM: dts: sun6i: Add mmc2 pins for 8 bit emmc This also includes the reset pin for emmc. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 61d2595cd12931708a69960df8b674c5e3fbba03 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Aug 28 17:54:34 2015 +0800 ARM: dts: sun6i: Add lradc node sun6i also has the LRADC for tablet buttons. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ff9dc0b93b7ef0e3b431d76cbc6d4babb6a0dabb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 24 00:37:26 2015 +0200 ARM: dts: sun4i: inet97fv2: Enable i2c1 and i2c2 controllers Enable i2c1 and i2c2 controllers, these are used for the touchscreen resp. the accelerometer. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2d4f66355b37b149efb63887226f3bb71342b5aa Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 24 00:37:25 2015 +0200 ARM: dts: sun4i: inet97fv2: Enable support for tablet keys Enable support for the tablet keys which are connected via the lradc. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 64a6295e620204e8a9d4429c3e59544022eeef45 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 24 00:37:24 2015 +0200 ARM: dts: sun4i: inet97fv2: Enable otg controller Enable the otg controller on the inet97fv2 tablet. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5fed0cbf4f65ff91694e64899cdcca67c59a5767 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 24 00:37:23 2015 +0200 ARM: dts: sun4i: inet97fv2: Add regulator nodes Use axp209.dtsi and add regulator nodes for the regulators used on the inet97fv2 tablet. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cb8b85a89ac80d9a15ad518b7fc74a360c59e5c2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 24 00:37:22 2015 +0200 ARM: dts: sun4i: inet97fv2: Disable unused usb controllers The inet97fv2 tablet only has a usb-2 wifi device connected to the second ehci controller, disable the first ehci controller and both ohci controllers. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2a9a5cfaf1c1d0d6f34887faaa05cc86ff9b4288 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Aug 7 17:22:33 2015 +0200 ARM: dts: sun5i: Add support for the Auxtek-T003 HDMI stick The Auxtek-T003 HDMI stick is an A10s based HDMI stick with USB wifi, and composite video out support. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 49e86fd98b726d176ed3fd15d1bc14352bb4b171 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Aug 19 16:57:22 2015 +0800 ARM: dts: sun6i: hummingbird: Add missing pinmux setting for gmac phy reset Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b8962f7ee700580a148e05eceb2302bcfc59ffbc Author: Ralph Benadski <benadski@xxxxxxxxx> Date: Fri Aug 14 16:44:36 2015 +0200 ARM: dts: sun7i: Enable USB DRC on cubieboard2 Enable the otg/drc usb controller on the cubieboard2. Note this board has the otg-vbus connected directly to the 5v-dcc of the board, so there is no vbus0 regulator, nor vbus0-det. Signed-off-by: Ralph Benadski <benadski@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 87cf56ec311f31822a6507beaeb837f96a0607aa Author: Jelle van der Waa <jelle@xxxxxxxx> Date: Fri Aug 14 16:44:35 2015 +0200 ARM: dts: sun7i: Enable USB DRC on pcDuino 3 Enable the otg/drc usb controller on the pcDuino 3. Note this board has the otg-vbus connected directly to the 5v-dcc of the board, so there is no vbus0 regulator, nor vbus0-det. Signed-off-by: Jelle van der Waa <jelle@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2f40620aedab9c2de1c3be76ce3af6cea6903bd6 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Aug 14 16:44:37 2015 +0200 ARM: dts: sun8i: Add support for qt90h-v4 tablets The gt90h is a pcb found in generic 9" tablets with an A23 soc, 1G RAM and 8G nand, rtl8723as usb wifi, 1 micro usb port and 1 micro sd slot. This commit adds a dts for v4 of the gt90h pcb. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 770df8c87eda3185cd16fbf11638145e098d545e Author: Jelle van der Waa <jelle@xxxxxxxx> Date: Fri Aug 14 16:44:34 2015 +0200 ARM: dts: sun7i: Add regulator configuration to the pcduino3 dts file Add regulator configuration to the pcduino3 dts file. Signed-off-by: Jelle van der Waa <jelle@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> [Maxime: Removed usb_power_supply node that isn't defined in the DTSI] Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit af283532415f756900807c2b5ca0312c01e57cde Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Aug 14 16:44:32 2015 +0200 ARM: dts: sun5i: Add simplefb node for tvencoder output Add a simplefb node for tvencoder / composite-video output, such as found on the Auxtek-T003 and the CHIP. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 465274d73c7b17578cf1f2444c50086bb2697c2c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Aug 7 17:22:35 2015 +0200 ARM: dts: sun6i: Columbus: Add i2c controller for communicating with the LCD The Colombus development kit uses an optional 2048x1536 edp panel using an anx9804 parallel lcd to edp converter. The anx9804 chip is controlled via an i2c bus which is connected to 2 regular gpio pins. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8f3504372963fb65d2386f8a2210a557d7cc01d9 Merge: 8b7a704 b1be00a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 26 22:40:56 2015 -0700 Merge branch 'vxlan-ipv4-ipv6' Jiri Benc says: ==================== vxlan: support both IPv4 and IPv6 sockets Note: this needs net merged into net-next in order to apply. It's currently not easy enough to work with metadata based vxlan tunnels. In particular, it's necessary to create separate network interfaces for IPv4 and IPv6 tunneling. Assigning an IPv6 address to an IPv4 interface is allowed yet won't do what's expected. With route based tunneling, one has to pay attention to use the vxlan interface opened with the correct family. Other users of this (openvswitch) would need to always create two vxlan interfaces. Furthermore, there's no sane API for creating an IPv6 vxlan metadata based interface. This patchset simplifies this by opening both IPv4 and IPv6 socket if the vxlan interface has the metadata flag (IFLA_VXLAN_COLLECT_METADATA) set. Assignment of addresses etc. works as expected after this. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1be00a6c39fda2ec380e168d7bcf96fb8c9da42 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Sep 24 13:50:02 2015 +0200 vxlan: support both IPv4 and IPv6 sockets in a single vxlan device For metadata based vxlan interface, open both IPv4 and IPv6 socket. This is much more user friendly: it's not necessary to create two vxlan interfaces and pay attention to using the right one in routing rules. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 205f356d165033443793a97a668a203a79a8723a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Sep 24 13:50:01 2015 +0200 vxlan: make vxlan_sock_add and vxlan_sock_release complementary Make vxlan_sock_add both alloc the socket and attach it to vxlan_dev. Let vxlan_sock_release accept vxlan_dev as its parameter instead of vxlan_sock. This makes vxlan_sock_add and vxlan_sock release complementary. It reduces code duplication in the next patch. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b7a7048220f86547db31de0abe1ea6dd2cfa892 Author: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Date: Thu Sep 24 11:38:22 2015 +0100 8139cp: Fix GSO MSS handling When fixing the TSO support I noticed we just mask ->gso_size with the MSSMask value and don't care about the consequences. Provide a .ndo_features_check() method which drops the NETIF_F_TSO feature for any skb which would exceed the maximum, and thus forces it to be segmented by software. Then we can stop the masking in cp_start_xmit(), and just WARN if the maximum is exceeded, which should now never happen. Finally, Francois Romieu noticed that we didn't even have the right value for MSSMask anyway; it should be 0x7ff (11 bits) not 0xfff. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a58f227790faded5a3ef6075f3ddd65093e0f86 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Sep 23 09:46:09 2015 +0100 8139cp: Enable offload features by default I fixed TSO. Hardware checksum and scatter/gather also appear to be working correctly both on real hardware and in QEMU's emulation. Let's enable them by default and see if anyone screams... Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4963ed48f2c20196d51a447ee87dc2815584fee4 Merge: 4d54d86 518a7cb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 26 16:08:27 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/ipv4/arp.c The net/ipv4/arp.c conflict was one commit adding a new local variable while another commit was deleting one. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 688538636bec2d49d6aae3f9c152216c7aafb8e7 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Fri Sep 18 18:40:12 2015 +0200 ARM: pxa: mioa701: add wm9713 codec The mioa701 is using the wm9713 for audio, battery and touchscreen. Add the missing audio part, which disappeared. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 48a629da63480089561d794b316644b4362b0a82 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Sep 12 13:36:49 2015 +0200 ARM: pxa: add resources to pxaficp_ir Add io memory and dma requestor lines to the irda pxa device. This is part of the conversion of pxaficp_ir to dmaengine, and to shrink its adherence to 'mach' includes. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Tested-by: Petr Cvek <petr.cvek@xxxxxx> commit 8f6c5b079cb37f01463a643182815c00aa5263f2 Merge: e904cf6 7c014e3 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Sat Sep 26 21:25:18 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-09-21' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * some debugfs improvements; * fix signedness in beacon statistics; * deinline some functions to reduce size when device tracing is enabled; * filter beacons out in AP mode when no stations are associated; * deprecate firmwares version -12; * fix a runtime PM vs. legacy suspend race; * one-liner fix for a ToF bug; * clean-ups in the rx code; * small debugging improvement; * fix WoWLAN with new firmware versions; commit 2202e1fc5a29eab13fab31d287dd2019dc9edaa6 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Fri Sep 25 22:20:45 2015 +0200 drivers: power: twl4030_charger: fix link problems when building as module If either twl4030_charger or twl4030_madc is configured as MODULE, we get build (link) errors. To solve, the direct call of twl4030_get_madc_conversion() is replaced by a call to iio_read_channel_processed(). Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit af19161aaed7ff8d1a52b2e517460f2fa0774e32 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Fri Sep 25 22:20:47 2015 +0200 ARM: dts: twl4030: Add iio properties for bci subnode Added new iio properties which are required for twl4030-charger driver and allow to use twl4030-madc indirectly. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 90adf98d9530054b8e665ba5a928de4307231d84 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Tue Sep 22 19:00:40 2015 +0200 wm831x_power: Use IRQF_ONESHOT to request threaded IRQs Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. scripts/coccinelle/misc/irqf_oneshot.cocci detected this issue. Fixes: b5874f33bbaf ("wm831x_power: Use genirq") Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1b9af68f325cb91ac9fc691f52d69dfb0826afd7 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:54:04 2015 +0200 clk: imx7d: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 0822f933735c1eee6adfc236c72f763f42ac0f3d Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:54:03 2015 +0200 clk: imx6: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 89981a6f7bbe5b98c3f9c8e01ca53c1f7b28030d Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:54:02 2015 +0200 clk: imx5: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 57d5a4c3ed001f813f1c8e1609db83c84d0e88cf Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:54:01 2015 +0200 clk: imx35: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 5c678cdd02f25398b4908638d672b134cff9d59c Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:54:00 2015 +0200 clk: imx31: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6f1871316347a5ef098d85305d5eb5ac6ac1f52a Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:53:59 2015 +0200 clk: imx27: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 517c7f9302efdde86fe8ebca80bc9ef826fa62e5 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:53:58 2015 +0200 clk: imx25: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 55adc61c568af99419be1dc0412f8eae019c71f2 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:53:57 2015 +0200 clk: imx: add common logic to detect early UART usage Both earlycon and eralyprintk depend on the bootloader setup UART clocks being retained. This patch adds the common logic to detect such situations and make the information available to the clock drivers, as well as adding the facilities to disable those clocks at the end of the kernel init. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d43b1b6f8e5b3219d4d02ea7fadcf67fecf78b1a Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 14:01:47 2015 +0530 cpufreq : powernv: Report Pmax throttling if capped below nominal frequency Log a 'critical' message if the max frequency is reduced below nominal frequency. We already log 'info' message if the max frequency is capped below turbo frequency. CPU should guarantee atleast nominal frequency, but not turbo frequency in all system configurations and environments. So report the pmax throttling with severity when Pmax is dipped below nominal frequency. 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 a35fc5a33b62a6c658b8ffe7544c966c1776d128 Author: Bai Ping <b51503@xxxxxxxxxxxxx> Date: Fri Sep 11 23:41:05 2015 +0800 cpufreq: imx: update the clock switch flow to support imx6ul For i.MX6UL, the clock switch flow is slightly different from other i.MX6 SOCs. It has a 'secondary_sel' clk that will be used when the CPU freq is higher than 396MHz. So the clock switch flow in 'set_target' callback need to update to support i.MX6UL in the common i.MX6 SOC cpufreq driver. Signed-off-by: Bai Ping <b51503@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit febf63cf616083e9a4ee05e2c28163b074890f36 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Sep 8 19:13:23 2015 +0200 cpufreq: tegra20: remove superfluous CONFIG_PM ifdefs CONFIG_PM ifdefs are superfluous and can be removed. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 03d5eec000973e80b1a1ccdef16ed8206621c3e4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Sep 8 07:10:34 2015 +0530 cpufreq: conservative: remove 'enable' field Conservative governor has its own 'enable' field to check if conservative governor is used for a CPU or not This can be checked by policy->governor with 'cpufreq_gov_conservative' and so this field can be dropped. Because its not guaranteed that dbs_info->cdbs.shared will a valid pointer for all CPUs (will be NULL for CPUs that don't use ondemand/conservative governors), we can't use it anymore. Lets get policy with cpufreq_cpu_get_raw() instead. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cea3ad93d9a5e054d916f1ad71da02cb306e4828 Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Sep 1 20:37:49 2015 +0200 PM / Domains: Remove cpuidle attach The power domains code allows to tie a cpuidle state with a power domain. Preventing the cpuidle framework to enter a specific idle state by disabling from the power domain framework is a good idea. Unfortunately, the current implementation has some gaps with a SMP system and a complex cpuidle implementation. Enabling a power domain wakes up all the cpus even if a cpu does not belong to the power domain. There is some work to do a logical representation with the power domains of the hardware dependencies (eg. a cpu belongs to a power domains, these power domains belong to a higher power domain for a cluster, etc ...). A new code relying on the genpd hierarchy to disable the idle states would make more sense. As the unique user of this code has been removed, let's wipe out this code to prevent new user and to have a clean place to put a new implementation. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c6f7b48e7e21989f4cfc996837d55c595d5dbf87 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Sep 10 16:00:50 2015 +0200 PM / Domains: Remove name based API for genpd As all users of the named based APIs now have converted to the non-named based APIs, the time has come to remove them. Signed-off-by: Ulf Hansson <ulf.hansson@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 611975470740b38084610e0a64ff4c6ff5aec89a Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Sep 24 14:54:54 2015 +0800 ACPI / EC: Fix a race issue in acpi_ec_guard_event() In acpi_ec_guard_event(), EC transaction state machine variables should be checked with the EC spinlock locked. The bug doesn't trigger any real issue now because this bug can only occur when the ec_event_clearing=event mode is applied while there is no user currently using this mode. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0700c047f66101c7d0d23e3583f1ae9c3c2dd71c Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Sep 24 14:54:48 2015 +0800 ACPI / EC: Fix query handler related issues 1. acpi_ec_remove_query_handlers() This patch refines the query handler removal logic implemented in acpi_ec_remove_query_handler(), making it to invoke new acpi_ec_remove_query_handlers() API, and ensuring all other removal code paths to invoke the new API to honor the reference count of the query handlers. 2. acpi_ec_get_query_handler_by_value() This patch also refines the query handler search logic originally implemented in acpi_ec_query(), collecting it into acpi_ec_get_query_handler_by_value(). And since schedule_work() can ensure the serilization of acpi_ec_event_handler(), we needn't put the mutex_lock() around schedule_work(). Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 00b9b91cb330e70b6bc571a9aa7175b4590ca452 Author: Duc Dang <dhdang@xxxxxxx> Date: Wed Sep 16 17:31:40 2015 -0700 PCI/MSI: xgene: Remove msi_controller assignment After 8d63bc7beaee ("PCI/MSI: pci-xgene-msi: Get rid of struct msi_controller"), it is no longer required to assign msi_controller for X-Gene PCIe host bridge to support MSI. Remove this unnecessary code. This also avoids a warning message ("failed to enable MSI") during boot. [bhelgaas: changelog] Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Tanmay Inamdar <tinamdar@xxxxxxx> commit 8d0afa1a93be2da954c85392bbc7b2264c9d241c Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:20 2015 -0700 PCI: iproc: Update PCIe device tree bindings Update the device tree bindings with added support for outbound mapping configurations. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit aaf22ab4e916afa68a2e1aed4e913b76cbd58276 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:19 2015 -0700 PCI: iproc: Improve link detection logic Improve the link detection logic by explicitly querying the link status register to ensure link is active. Also force class to PCI_CLASS_BRIDGE_PCI (0x0604) through the host configuration space register. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Anup Patel <anup.patel@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> commit 199ff14100095d52cd1b232cc0f3b12f348b5b07 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:18 2015 -0700 PCI: iproc: Fix PCIe reset logic The current reset logic does not always properly reset the device. For example, in the case when the perst_b signal is already de-asserted in the bootloader, the current reset logic fails to trigger a proper assert -> de-assert reset sequence. Fix the issue by always triggering the proper reset sequence. Also explicitly select the desired reset source, i.e., perst_b, and reduce the wait time after the device comes out of reset from 250 ms to 100 ms, based on recommendation from the ASIC team. Tested-by: Vladimir Dreizin <vdreizin@xxxxxxxxxxxx> Tested-by: Darren Edamura <dedamura@xxxxxxxxxxxx> Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Vladimir Dreizin <vdreizin@xxxxxxxxxxxx> Reviewed-by: Trac Hoang <trhoang@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> commit bdb8a1844f3113ec08915d1e8e3fd5686fb2fb78 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:17 2015 -0700 PCI: iproc: Call pci_fixup_irqs() for ARM64 as well as ARM After 459a07721c11 ("PCI: Build setup-irq.o for arm64"), we build setup-irq.o for arm64, so we can use pci_fixup_irqs() on both arm and arm64. Remove the "#ifdef CONFIG_ARM" around the call to pci_fixup_irqs(). [bhelgaas: changelog] Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 98aac697a83db6e1d004e5d61cf6c976a0b1c35a Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:16 2015 -0700 PCI: iproc: Remove unused struct iproc_pcie.irqs[] Remove unused struct iproc_pcie member irqs[] and unused #define IPROC_PCIE_MAX_NUM_IRQS. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 5d92f41c48c5e3c6fa5be87e3d6fca57e2fbb127 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:15 2015 -0700 PCI: iproc: Fix code comment to match code Fix code comment in pcie-iproc.h so it matches the code. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b7f0c959edfb4448f94bd33c39fda08e10ce6ede Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 25 17:38:44 2015 -0400 tracing: Pass trace_array into trace_buffer_unlock_commit() In preparation for having trace options be per instance, the trace_array needs to be passed to the trace_buffer_unlock_commit(). The trace_event_buffer_lock_reserve() already passes in the trace_event_file where the trace_array can be derived from. Also added a "__init" to the boot up test event plus function tracing function function_test_events_call(). Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 78ce6dbfa317c85cfb8a8dc0b5ee588645c795c1 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:24:46 2015 +0200 cpufreq: integrator: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9ec32cc703c17b9fd1695619695b84f6ed554fab Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Sep 9 03:40:39 2015 -0300 [media] v4l2-compat-ioctl32: replace pr_warn by pr_debug Every time compat32 encounters an unknown ioctl it will call pr_warn. However, that's very irritating since it is perfectly normal that this happens. For example, applications often try to call an ioctl to see if it exists, and if that's used with an older kernel where compat32 doesn't support that ioctl yet, then it starts spamming the kernel log. So replace pr_warn by pr_debug. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ac4033e02a54a1dd3b22364d392ffe3da5d09a5f Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Aug 4 06:37:49 2015 -0300 [media] atmel-isi: parse the DT parameters for vsync/hsync/pixclock polarity This patch will get the DT parameters of vsync/hsync/pixclock polarity, and pass to driver. Also add a debug information for test purpose. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d32dd315ff1c4b03ab431d8eee903e74c5d52655 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Aug 1 06:22:56 2015 -0300 [media] v4l: atmel-isi: Remove unused platform data fields The emb_crc_sync, mck_hz, asd and asd_sizes platform data fields are unused, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 40a78f36fc92bb156872468fb829984a9d946df7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Aug 1 06:22:54 2015 -0300 [media] v4l: atmel-isi: Remove support for platform data All in-tree users have migrated to DT, remove support for platform data. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [josh.wu@xxxxxxxxx: squash the commit to remove the unused variable: dev] 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 375123976f71367c2e14921179149f52b2225746 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Aug 1 06:22:53 2015 -0300 [media] v4l: atmel-isi: Simplify error handling during DT parsing Put the endpoint DT node earlier to avoid the need for goto statements to a cleanup code block in case of errors. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9626d03e8dd4bb0c4def6e42c29c7f674d9f8e41 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Sep 11 04:00:16 2015 -0300 [media] atmel-isi: add sanity check for supported formats in try/set_fmt() After adding the format check in try_fmt()/set_fmt(), we don't need any format check in configure_geometry(). So make configure_geometry() as void type. 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 f653da3457fc2988793393d202c487955a14e4e6 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Sep 11 04:00:15 2015 -0300 [media] atmel-isi: move configure_geometry() to start_streaming() As in set_fmt() function we only need to know which format is been set, we don't need to access the ISI hardware in this moment. So move the configure_geometry(), which access the ISI hardware, to start_streaming() will make code more consistent and simpler. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ad5f9d19682b210b74f686ac58cfaad1044624ec Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Sep 11 04:00:14 2015 -0300 [media] atmel-isi: setup the ISI_CFG2 register directly In the function configure_geometry(), we will setup the ISI CFG2 according to the sensor output format. It make no sense to just read back the CFG2 register and just set part of it. So just set up this register directly makes things simpler. Currently only support YUV format from camera sensor. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d67b48824fef61883404ed5c034901bbb319d0df Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Jun 17 07:27:08 2015 -0300 [media] atmel-isi: increase timeout to disable/enable isi If ISI is working on a 1024x768 or higher resolution, it needs longer time to disable ISI. So this patch will increase timeout to 500ms. 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 18baba64580fe78a46d652a638915518b2a1dc40 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 6 07:08:49 2015 -0300 [media] atmel-isi: Protect PM-only functions to kill warning If CONFIG_PM=n: drivers/media/platform/soc_camera/atmel-isi.c:1044: warning: 'atmel_isi_runtime_suspend' defined but not used drivers/media/platform/soc_camera/atmel-isi.c:1054: warning: 'atmel_isi_runtime_resume' defined but not used Protect the unused functions by #ifdef CONFIG_PM to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f00ae754c536511055ed6162778be8348e093514 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:18:05 2015 -0300 [media] rcar_vin: call g_std() instead of querystd() Hans Verkuil says: "The only place querystd can be called is in the QUERYSTD ioctl, all other ioctls should use the last set standard." So call the g_std() subdevice method instead of querystd() in the driver's set_fmt() method. Reported-by: Hans Verkuil <hverkuil@xxxxxxxxx> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 936ad8900c60b800f10b14afc3b9ab26a7182d26 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 19:29:01 2015 -0300 [media] rcar_vin: propagate querystd() error upstream rcar_vin_set_fmt() defaults to PAL when the subdevice's querystd() method call fails (e.g. due to I2C error). This doesn't work very well when a camera being used outputs NTSC which has different order of fields and resolution. Let us stop pretending and return the actual error except when the querystd() method is not implemented, in which case we'll have to set the 'field' variable to V4L2_FIELD_NONE. Note that doing this would prevent video capture on at least Renesas Henninger/ Porter boards where I2C seems particularly buggy. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit db33386ae31ff81b52d2f8a25a02d403ec8bf3f2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 09:59:43 2015 -0300 [media] rcar_vin: Remove obsolete r8a779x-vin 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: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3dcb8043fb3e2a744841da9769230b3ebb56065a Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Aug 4 07:51:09 2015 -0300 [media] soc-camera: increase the length of clk_name on soc_of_bind() Since in soc_of_bind() it may use the of node's full name as the clk_name, and this full name may be longer than 32 characters, take at91 i2c sensor as an example, length is 34 bytes: /ahb/apb/i2c@f8028000/camera@0x30 So this patch increase the clk_name[] array size to 64. It seems big enough so far. 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 a3e72739b7a7ea225dd11c4096f97123f6427d87 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 25 16:24:27 2015 -0400 cgroup: fix too early usage of static_branch_disable() 49d1dc4b8179 ("cgroup: implement static_key based cgroup_subsys_enabled() and cgroup_subsys_on_dfl()") converted cgroup enabled test to use static_key; however, cgroup_disable() is called before static_key subsystem itself is initialized and thus leads to the following warning when "cgroup_disable=" parameter is specified. WARNING: CPU: 0 PID: 0 at kernel/jump_label.c:99 static_key_slow_dec+0x44/0x60() static_key_slow_dec used before call to jump_label_init ... Call Trace: [<ffffffff813b18c2>] dump_stack+0x44/0x62 [<ffffffff8108dd52>] warn_slowpath_common+0x82/0xc0 [<ffffffff8108ddec>] warn_slowpath_fmt+0x5c/0x80 [<ffffffff8119c054>] static_key_slow_dec+0x44/0x60 [<ffffffff81d826b6>] cgroup_disable+0xaf/0xd6 [<ffffffff81d5f9de>] unknown_bootoption+0x8c/0x194 [<ffffffff810b0c03>] parse_args+0x273/0x4a0 [<ffffffff81d5fd67>] start_kernel+0x205/0x4b8 ... Fix it by making cgroup_disable() to record the subsystems to disable in cgroup_disable_mask and moving the actual application to cgroup_init() which is late enough and where the enabled state is first used. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Andrey Wagin <avagin@xxxxxxxxx> Link: http://lkml.kernel.org/g/CANaxB-yFuS4SA2znSvcKrO9L_CbHciHYW+o9bN8sZJ8eR9FxYA@xxxxxxxxxxxxxx Fixes: 49d1dc4b81797f88270832b11e9f73809e7e7209 commit 5d0fd3c806b9e932010931ae67dbb482020e0882 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:06:48 2015 -0300 [media] uvcvideo: Disable hardware timestamps by default The hardware timestamping implementation has been reported as not working correctly on at least the Logitech C920. Until this can be fixed, disable it by default. Reported-by: Peter Rabbitson <rabbit@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 60f68735441ce01858c81d32071f7df41c1691e3 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 1 20:04:51 2015 -0300 [media] vivid: sdr cap: few enhancements * Constify struct * Fix comments * Fix alignment * Use modulus to transfer phase angles * Correct float [-1.0, +1.0] to s8 [-128, 127] conversion Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f335c3f229880cc3f7bde9310def6ac5c53c9c7c Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 1 20:04:50 2015 -0300 [media] vivid: SDR cap: add control for FM deviation Add user control to adjust generated FM deviation. Default it to 75kHz like public FM radio broadcast. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 655e9780ab913a3a06d4a164d55e3b755524186d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Aug 31 08:56:15 2015 -0300 [media] v4l2-compat-ioctl32: fix alignment for ARM64 Alignment/padding rules on AMD64 and ARM64 differs. To allow properly match compatible ioctls on ARM64 kernels without breaking AMD64 some fields should be aligned using compat_s64 type and in one case struct should be unpacked. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.10 and up [hans.verkuil@xxxxxxxxx: use compat_u64 instead of compat_s64 in v4l2_input32] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 63ab664cebe5bbfd530d46ed7439e43aa4d45227 Author: Darek Zielski <dz1125tor@xxxxxxxxx> Date: Thu Aug 27 19:18:54 2015 -0300 [media] saa7134: add Leadtek Winfast TV2100 FM card support Add Leadtek Winfast TV2100 FM card to saa7134 driver. It is a card bearing SAA7130HL chip. Signed-off-by: Darek Zielski <dz1125tor@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 67dcfebdf9416ade3b2dca1050e54067e50e33df Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Wed Aug 26 16:06:11 2015 -0300 [media] media/pci/cobalt: 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: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f1a81afc98e315f4bf600d28f8a19a5655f7cfe0 Author: Zahari Doychev <zahari.doychev@xxxxxxxxx> Date: Mon Aug 17 07:13:53 2015 -0300 [media] m2m: fix bad unlock balance This patch removes unnecessary mutex queue unlock/lock sequence causing bad unlock balance in v4l2_m2m_poll when the last buffer on the destination queue has been dequeued and adds spin lock protection for the done list list_empty calls. [ 144.990873] ===================================== [ 144.995584] [ BUG: bad unlock balance detected! ] [ 145.000301] 4.1.0-00137-ga105070 #98 Tainted: G W [ 145.006140] ------------------------------------- [ 145.010851] demux:sink/487 is trying to release lock (&dev->dev_mutex) at: [ 145.017785] [<808cc578>] mutex_unlock+0x18/0x1c [ 145.022322] but there are no more locks to release! [ 145.027205] [ 145.027205] other info that might help us debug this: [ 145.033741] no locks held by demux:sink/487. [ 145.038015] [ 145.038015] stack backtrace: [ 145.042385] CPU: 2 PID: 487 Comm: demux:sink Tainted: G W 4.1.0-00137-ga105070 #98 [ 145.051089] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [ 145.057622] Backtrace: [ 145.060102] [<80014a4c>] (dump_backtrace) from [<80014cc4>] (show_stack+0x20/0x24) [ 145.067679] r6:80cedf78 r5:00000000 r4:00000000 r3:00000000 [ 145.073421] [<80014ca4>] (show_stack) from [<808c61e0>] (dump_stack+0x8c/0xa4) [ 145.080661] [<808c6154>] (dump_stack) from [<80072b64>] (print_unlock_imbalance_bug+0xb8/0xe8) [ 145.089277] r6:808cc578 r5:ac6cd050 r4:ac38e400 r3:00000001 [ 145.095020] [<80072aac>] (print_unlock_imbalance_bug) from [<80077db4>] (lock_release+0x1a4/0x250) [ 145.103983] r6:808cc578 r5:ac6cd050 r4:ac38e400 r3:00000000 [ 145.109728] [<80077c10>] (lock_release) from [<808cc470>] (__mutex_unlock_slowpath+0xc4/0x1b4) [ 145.118344] r9:acb27a41 r8:00000000 r7:81553814 r6:808cc578 r5:60030013 r4:ac6cd01c [ 145.126190] [<808cc3ac>] (__mutex_unlock_slowpath) from [<808cc578>] (mutex_unlock+0x18/0x1c) [ 145.134720] r7:00000000 r6:aced7cd4 r5:00000041 r4:acb87800 [ 145.140468] [<808cc560>] (mutex_unlock) from [<805a98b8>] (v4l2_m2m_fop_poll+0x5c/0x64) [ 145.148494] [<805a985c>] (v4l2_m2m_fop_poll) from [<805955a0>] (v4l2_poll+0x6c/0xa0) [ 145.156243] r6:aced7bec r5:00000000 r4:ac6cc380 r3:805a985c [ 145.161991] [<80595534>] (v4l2_poll) from [<80156edc>] (do_sys_poll+0x230/0x4c0) [ 145.169391] r5:00000000 r4:aced7be4 [ 145.173013] [<80156cac>] (do_sys_poll) from [<801574a8>] (SyS_ppoll+0x1d4/0x1fc) [ 145.180414] r10:00000000 r9:aced6000 r8:00000000 r7:00000000 r6:75c04538 r5:00000002 [ 145.188338] r4:00000000 [ 145.190906] [<801572d4>] (SyS_ppoll) from [<800108c0>] (ret_fast_syscall+0x0/0x54) [ 145.198481] r8:80010aa4 r7:00000150 r6:75c04538 r5:00000002 r4:00000008 Signed-off-by: Zahari Doychev <zahari.doychev@xxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 27315059e2c1f9bc478a87bb9ce4438b7506e1ce Author: Nicolas Sugino <nsugino@xxxxxxxxxxx> Date: Fri Aug 14 14:36:11 2015 -0300 [media] ivtv-alsa: Add index to specify device number When using multiple capture cards, it might be necessary to identify a specific device with an ALSA one. If not, the order of the ALSA devices might have no relation to the id of the radio or video device. Signed-off-by: Nicolas Sugino <nsugino@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a1f8c0cff03c1215e00586ff760fdeb4464091fc Author: Andrew Milkovich <amilkovich@xxxxxxxxx> Date: Fri Aug 14 13:43:56 2015 -0300 [media] Staging: media: bcm2048: warnings for uninitialized variables fixed This patch fixes the following sparse warnings: warning: ... may be used uninitialized in this function Some function variables have been initialized to 0. Signed-off-by: Andrew Milkovich <amilkovich@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4d54d86546f62c7c4a0fe3b36a64c5e3b98ce1a9 Merge: 6ea29da 1b70e97 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 25 13:00:40 2015 -0700 Merge branch 'listener-sock-const' Eric Dumazet says: ==================== dccp/tcp: constify listener sock Another patch bomb to prepare lockless TCP/DCCP LISTEN handling. SYNACK retransmits are built and sent without listener socket being locked. Soon, initial SYNACK packets will have same property. This series makes sure we did not something wrong with this model, by adding a const qualifier in all the paths taken from synack building and transmit, for IPv4/IPv6 and TCP/dccp. The only potential problem was the rewrite of ecn bits for connections with DCTCP as congestion module, but this was a very minor one. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b70e977cef6ce7e7411c9bbec21f9adc8e29097 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:24 2015 -0700 inet: constify inet_rtx_syn_ack() sock argument SYNACK packets are sent on behalf on unlocked listeners or fastopen sockets. Mark socket as const to catch future changes that might break the assumption. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea3bea3a1d38aab1542176b2ff11a99ce3db9656 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:23 2015 -0700 tcp/dccp: constify rtx_synack() and friends This is done to make sure we do not change listener socket while sending SYNACK packets while socket lock is not held. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 802885fc0400d0166a6b65d1844b61696aecbb10 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:22 2015 -0700 dccp: constify dccp_make_response() socket argument Like tcp_make_synack() the only time we might change the socket is when calling sock_wmalloc(), which is using atomic operation to update sk->sk_wmem_alloc Also use MAX_DCCP_HEADER as both IPv4/IPv6 use this value for max_header. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f935dbedc49a5044ebff08b47eef35a2f2bbe92 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:21 2015 -0700 tcp: constify tcp_v{4|6}_send_synack() socket argument This documents fact that listener lock might not be held at the time SYNACK are sent. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c1e9d2b67897316770fc8a2e1acdd9f2787838d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:20 2015 -0700 ipv6: constify ip6_xmit() sock argument This is to document that socket lock might not be held at this point. skb_set_owner_w() and ipv6_local_error() are using proper atomic ops or spinlocks, so we promote the socket to non const when calling them. netfilter hooks should never assume socket lock is held, we also promote the socket to non const. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d062de7f8ea1ca7c635957ff1144fba815ba34c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:19 2015 -0700 tcp: constify tcp_make_synack() socket argument listener socket is not locked when tcp_make_synack() is called. We better make sure no field is written. There is one exception : Since SYNACK packets are attached to the listener at this moment (or SYN_RECV child in case of Fast Open), sock_wmalloc() needs to update sk->sk_wmem_alloc, but this is done using atomic operations so this is safe. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ac705b1805863b1899e85f641bb265f9e6e9d99 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:18 2015 -0700 tcp: remove tcp_ecn_make_synack() socket argument SYNACK packets might be sent without holding socket lock. For DCTCP/ECN sake, we should call INET_ECN_xmit() while socket lock is owned, and only when we init/change congestion control. This also fixies a bug if congestion module is changed from dctcp to another one on a listener : we now clear ECN bits properly. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37bfbdda0b036a3720924e04c0171d9038159c2c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:17 2015 -0700 tcp: remove tcp_synack_options() socket argument We do not use the socket in this function. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cfe673b0ae4754ffc051482f4a948b67ddbeec10 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:16 2015 -0700 ip: constify ip_build_and_send_pkt() socket argument This function is used to build and send SYNACK packets, possibly on behalf of unlocked listener socket. Make sure we did not miss a write by making this socket const. We no longer can use ip_select_ident() and have to either set iph->id to 0 or directly call __ip_select_ident() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b83e3deb974ca2c11e21256fe602e517afb83247 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:15 2015 -0700 tcp: md5: constify tcp_md5_do_lookup() socket argument When TCP new listener is done, these functions will be called without socket lock being held. Make sure they don't change anything. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e3f5d727d60939c890a6e86944da52b3a1625ce Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:14 2015 -0700 inet: constify ip_dont_fragment() arguments ip_dont_fragment() can accept const socket and dst Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30d50c61df94bc8d7700272ea09a716e0af8b58b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:13 2015 -0700 ipv6: constify inet6_csk_route_req() socket argument socket is not modified, make it const so that callers can do the same if they need. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3aef934f4d4b97532c333d9c1f5f73fb80aeb459 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:12 2015 -0700 ipv6: constify ip6_dst_lookup_{flow|tail}() sock arguments ip6_dst_lookup_flow() and ip6_dst_lookup_tail() do not touch socket, lets add a const qualifier. This will permit the same change in inet6_csk_route_req() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5895bc600ccba1fde4ea0741813f9c33b5b4021 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:11 2015 -0700 inet: constify inet_csk_route_req() socket argument This is used by TCP listener core, and listener socket shall not be modified by inet_csk_route_req(). Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f9c961546699ff8bc5e1c1c52200616867ec68a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:10 2015 -0700 inet: constify ip_route_output_flow() socket argument Very soon, TCP stack might call inet_csk_route_req(), which calls inet_csk_route_req() with an unlocked listener socket, so we need to make sure ip_route_output_flow() is not trying to change any field from its socket argument. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1964b5fce389a5660139ca39c25ff294da07b4f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:09 2015 -0700 tcp: constify tcp_openreq_init_rwin() Soon, listener socket wont be locked when tcp_openreq_init_rwin() is called. We need to read socket fields once, as their value could change under us. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b40cf18ef7961b6d67732e234780586590510ce1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:08 2015 -0700 tcp: constify listener socket in tcp_v[46]_init_req() Soon, listener socket spinlock will no longer be held, add const arguments to tcp_v[46]_init_req() to make clear these functions can not mess socket fields. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f438c6138ac5739ce16c8db04689e438d65dfe6 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Sep 25 09:03:14 2015 +0000 Bluetooth: btmrvl: Comparison to NULL re-written NOT NULL comparison modified to be readable, reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 41907416bc24412f839559ea10a2b9e4eeb21aa7 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 25 15:06:00 2015 -0400 tracing: Remove unused function trace_current_buffer_lock_reserve() trace_current_buffer_lock_reserve() is not used by anything. Might as well get rid of it. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit d78a461427d752bc1cd5b87515167453a18de7e3 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 25 13:30:47 2015 -0400 tracing: Remove ftrace_trace_stack_regs() ftrace_trace_stack_regs() is used in only one place, and because that is such a simple function, just move its code into the location that it was used in (trace_buffer_unlock_commit_regs()). Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 6ea29da1d04f56e167ec8cc5ed15e927997d9d67 Author: Michal KubeÄ?ek <mkubecek@xxxxxxx> Date: Thu Sep 24 10:59:05 2015 +0200 net: remove unused argument of __netdev_find_adj() The __netdev_find_adj() helper does not use its first argument, only the device to find and list to walk through. Signed-off-by: Michal Kubecek <mkubecek@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 119e359c6f2254b3b0724f951e786f19405d2299 Merge: f37db85 008aa6a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 25 12:27:23 2015 -0700 Merge branch 'l2tp-module-autoloading' Stephen Hemminger says: ==================== l2tp: module autoloading With L2TP it was necessary to manually load modules which is a nuisance and not required with other tunneling protocols. This set of patches adds the aliases and module load hook to get rid of the necessity of modprobing. ==================== Acked-By: James Chapman <jchapman@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 008aa6a4faac36fe623ff5a1ba753dc9b0d8102e Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 21:33:36 2015 -0700 l2tp: remove references to modprobe in documentation No longer need explicit modprobe's and update to use ip instead of deprecated ifconfig command. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 163c2e252fa658ac26edda78d2a9e3939f7d10e5 Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 21:33:35 2015 -0700 l2tp: auto load IP modules When creating a IP encapsulated tunnel the necessary l2tp module should be loaded. It already works for UDP encapsulation, it just doesn't work for direct IP encap. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1f39f91102733bcde2462c6a138f636ee541ea8 Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 21:33:34 2015 -0700 l2tp: auto load type modules It should not be necessary to do explicit module loading when configuring L2TP. Modules should be loaded as needed instead (as is done already with netlink and other tunnel types). This patch adds a new module alias type and code to load the sub module on demand. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f37db85d0c1eb6e4e8460cf7a13cfba42bfc2cb0 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 23 18:19:58 2015 -0700 net: dsa: Set a "dsa" device_type Provide a device_type information for slave network devices created by DSA, this is useful for user-space application to easily locate/search for devices of a specific kind. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e8646580cc9a6ae24ab3d05f90e71334f50cdedf Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 25 09:03:01 2015 +0300 spi: atmel: Remove needless bits_per_word and speed_hz tests SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This makes possible to remove two if statements and remove one code block that is never executed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 438470b84c119f4910ebf1fdd26738c8d9881b24 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 24 13:06:04 2015 -0600 EDAC: Fix sysfs dimm_label store operation Sysfs "dimm_label" and "chX_dimm_label" nodes have the following issues in their store operation: 1) A newline-terminated input string causes redundant newlines: # echo "test" > /sys/bus/mc0/devices/dimm0/dimm_label # cat /sys/bus/mc0/devices/dimm0/dimm_label test # od -bc /sys/bus/mc0/devices/dimm0/dimm_label 0000000 164 145 163 164 012 012 t e s t \n \n 0000006 2) The original label string (31 characters) cannot be stored due to an improper size check: # echo "CPU_SrcID#0_Ha#0_Chan#0_DIMM#0" > /sys/bus/mc0/devices/dimm0/dimm_label # cat /sys/bus/mc0/devices/dimm0/dimm_label # od -bc /sys/bus/mc0/devices/dimm0/dimm_label 0000000 012 012 \n \n 0000002 3) An input string longer than the buffer size results a wrong label info as it allows a retry with the remaining string: # echo "CPU_SrcID#0_Ha#0_Chan#0_DIMM#0_TEST" > /sys/bus/mc0/devices/dimm0/dimm_label # cat /sys/bus/mc0/devices/dimm0/dimm_label _TEST Fix these issues by making the following changes: 1) Replace a newline character at the end by setting a null. It also assures that the string is null-terminated in the label buffer. 2) Check the label buffer size with 'sizeof(dimm->label)'. 3) Fail a request if its string exceeds the label buffer size. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Robert Elliott <elliott@xxxxxxx> Link: http://lkml.kernel.org/r/1443121564.25474.160.camel@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1ea62c59c80090dd4621911e1b7853c379da5fd7 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Tue Sep 22 08:58:02 2015 -0600 EDAC: Fix sysfs dimm_label show operation After 7d375bffa524 ("sb_edac: Fix support for systems with two home agents per socket") sysfs "dimm_label" and "chX_dimm_label" show their label string without a newline "\n" at the end. [root@orange ~]# cat /sys/bus/mc0/devices/dimm0/dimm_label CPU_SrcID#0_Ha#0_Chan#0_DIMM#0[root@orange ~]# [root@orange ~]# cat /sys/devices/system/edac/mc/mc0/csrow0/ch0_dimm_label CPU_SrcID#0_Ha#0_Chan#0_DIMM#0[root@orange ~]# The label strings now have 31 characters, which are the same as EDAC_MC_LABEL_LEN. Since the snprintf()s in channel_dimm_label_show() and dimmdev_label_show() limit the whole length by EDAC_MC_LABEL_LEN, the newline in the format "%s\n" is ignored. [root@orange ~]# od -bc /sys/bus/mc0/devices/dimm0/dimm_label 0000000 103 120 125 137 123 162 143 111 104 043 060 137 110 141 043 060 C P U _ S r c I D # 0 _ H a # 0 0000020 137 103 150 141 156 043 060 137 104 111 115 115 043 060 000 _ C h a n # 0 _ D I M M # 0 \0 0000037 Fix it by using 'sizeof(dimm->label) + 1' as the whole length in the snprintf()s in channel_dimm_label_show() and dimmdev_label_show(). Reported-by: Robert Elliott <elliott@xxxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442933883-21587-2-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 536b5603e7a3c75c7d2e0c1c56980690909b12d3 Merge: 6ff33f3 b4fe8ba Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 25 10:01:09 2015 -0700 Merge tag 'ib-mfd-regmap-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into regmap-irq-hdr Immutable branch between MFD and Regmap due for v4.3 commit b9f6940a437dcb8481df16b175359e126cf7bc33 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 25 10:27:18 2015 +0300 spi: pxa2xx: Use ACPI_COMPANION() instead of acpi_bus_get_device() Get pointer to the struct acpi_device by using ACPI_COMPANION() macro. This is more efficient than using ACPI_HANDLE() and acpi_bus_get_device(). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0eca7cf2696506006463b9d67bb6110c82d3e064 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 25 10:27:17 2015 +0300 spi: pxa2xx: Set the max_speed_hz of the master Carry input clock of the controller in max_speed_hz of struct spi_master instead of in own driver data. They mean the same thing and more over now the max_speed_hz is not even set here. As an added bonus this allows SPI core to validate that transfer speed is not beyond the maximum input clock. This is not a problem in spi-pxa2xx as the driver doesn't use transfer speed parameter directly but via input clock divider calculation which will top at divide by one. However it's better to validate speed before passing it here. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b4b05b9af35e4ba8aee4fc8fcfc4175c7feb3544 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sat Aug 29 01:25:01 2015 +0200 pinctrl: mediatek: Consistently use the BIT() macro The mediatek pinctrl driver uses the BIT() macro instead of open coding 1 << n in all but one place. Replace this occurrence with the BIT() macro for consistency. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c5ce767088a5ab7a051006c7c1f6e2c2ab9f460d Author: Xing Zheng <zhengxing@xxxxxxxxxxxxxx> Date: Fri Aug 28 13:46:47 2015 +0800 pinctrl: rockchip: add support for the rk3036 Many parts of pinctrl rk3036 are similar to rk2928's. Signed-off-by: Xing Zheng <zhengxing@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a73f22f9811da0f69d5f04eadcfc87b4d6280814 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 08:43:31 2015 +0200 libata: samsung_cf: fix handling platform_get_irq result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f7e7868b4743f1cc5e59e6e0ddd3ccf9cfe53a1b Author: Georgios Toptsidis <gtoptsid@xxxxxxxxx> Date: Fri Sep 25 10:50:08 2015 +0300 cdrom: Random writing support for BD-RE media Recently, i bought a blu-ray writer and noticed that while cdrecord worked perfectly, random writing didn't work on rewritable bd-re media. For example, dd if=/dev/zero of=/dev/sr0 bs=32768 count=2 gave the usual "read-only file system" message. After checking if the problem lies with my burner or firmware, i grep-ed the kernel source for EROFS. One of the results was in the cdrom driver. I tried to follow the function chain and ended in the cdrom_is_dvd_rw function where writing is permitted only for DVD-RAM and DVD+RW media. I added a new case label for 0x43 which is the profile name of BD-RE and now it works correctly for BD-RE too. Maybe there is a better way of implementing this, like a new function checking for blu-ray support and called from cdrom_open_write like it happens for mrw and dvdram media, but adding the case label worked. Thank you for your time. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 05bd7762faac386c224b159607fdaf65e5760672 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Sep 25 09:05:04 2015 +0000 Bluetooth: btuart_cs: Comparison to NULL re-written NOT NULL comparison modified to be readable, reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7a1dc788e5c754685e3491c637875d8368bea42d Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Sep 25 09:02:18 2015 +0000 Bluetooth: bt3c_cs: Comparison to NULL re-written NOT NULL comparison modified to be readable, reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c51edfb10e6b6e8cfd1bd80ab9f54e51e55ea62a Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Sep 24 16:05:28 2015 -0600 MAINTAINERS: The docs tree has moved For years I've waited in vain for Linus to see the error of his ways and go back to our beloved 2.6.x naming scheme. But dispair has overtaken me at last, so, with a heavy heart, I'm moving my repo to a more contemporary name. My kids will be proud of me. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 043cba96915b9728b9d52c04954de5d1ce61be32 Author: Loc Ho <lho@xxxxxxx> Date: Wed Sep 23 17:41:01 2015 -0700 arm64, EDAC: Add L3/SoC DT subnodes to the APM X-Gene SoC EDAC node Add L3/SoC DT subnodes to the APM X-Gene SoC EDAC node. Signed-off-by: Loc Ho <lho@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: Duc Dang <dhdang@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Iyappan Subramanian <isubramanian@xxxxxxx> Cc: jcm@xxxxxxxxxx Cc: Keyur Chudgar <kchudgar@xxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: mchehab@xxxxxxxxxxxxxxx Cc: patches@xxxxxxx Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Tanmay Inamdar <tinamdar@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Y Vo <yvo@xxxxxxx> Link: http://lkml.kernel.org/r/1443055261-8613-5-git-send-email-lho@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit f864b79ba247b0735d7423ca62d9ac5bdce74eac Author: Loc Ho <lho@xxxxxxx> Date: Wed Sep 23 17:41:00 2015 -0700 EDAC, xgene: Add SoC support Add support for the SoC component. Signed-off-by: Loc Ho <lho@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: ijc+devicetree@xxxxxxxxxxxxxx Cc: jcm@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: mark.rutland@xxxxxxx Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: patches@xxxxxxx Cc: robh+dt@xxxxxxxxxx Link: http://lkml.kernel.org/r/1443055261-8613-4-git-send-email-lho@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 9bc1c0c0ec14dcdb6df2c7a39dbaecb383a46681 Author: Loc Ho <lho@xxxxxxx> Date: Thu Sep 24 10:38:07 2015 -0700 EDAC, xgene: Fix possible sprintf() overflow issue Replace sprintf() with snprintf() to avoid possible string array overflow. Signed-off-by: Loc Ho <lho@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: ijc+devicetree@xxxxxxxxxxxxxx Cc: jcm@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: mark.rutland@xxxxxxx Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: patches@xxxxxxx Cc: robh+dt@xxxxxxxxxx Link: http://lkml.kernel.org/r/1443116287-11752-1-git-send-email-lho@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 9347473c7d8218c795b5a73d8d94aa53657d9e29 Author: Loc Ho <lho@xxxxxxx> Date: Wed Sep 23 17:40:59 2015 -0700 EDAC, xgene: Add L3 support Add EDAC support for the L3 component. Signed-off-by: Loc Ho <lho@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: ijc+devicetree@xxxxxxxxxxxxxx Cc: jcm@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: mark.rutland@xxxxxxx Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: patches@xxxxxxx Cc: robh+dt@xxxxxxxxxx Link: http://lkml.kernel.org/r/1443055261-8613-3-git-send-email-lho@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 7cb5dff8d59da8008c6ec30d4161e8e96aa4afe8 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Fri Sep 25 03:58:11 2015 -0700 drm/i915: fix task reference leak in i915_debugfs.c Leak a task reference in i915_ppgtt_info(), add put_task_struct() to fix it. Introduced by commit 1c60fef535d143860d5bf6593e24ab6417f5227c Author: Ben Widawsky <ben@xxxxxxxxxxxx> Date: Fri Dec 6 14:11:30 2013 -0800 drm/i915: Dump all ppgtt Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> [danvet: Add note provided by Jani about which commit introduced this issue.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3498355eec32cc8307655890916741e8a3419182 Author: Loc Ho <lho@xxxxxxx> Date: Wed Sep 23 17:40:58 2015 -0700 EDAC, Documentation: Update X-Gene EDAC binding for L3/SoC subnodes Update documentation for the APM X-Gene SoC EDAC DTS binding for L3/SoC subnodes. Signed-off-by: Loc Ho <lho@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: jcm@xxxxxxxxxx Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: mchehab@xxxxxxxxxxxxxxx Cc: patches@xxxxxxx Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443055261-8613-2-git-send-email-lho@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 54b5b34eded2f068e8db181dec78be07b288dcfc Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Sep 25 07:59:18 2015 +0000 Bluetooth: bluecard: Comparison to NULL could be re-written replaced 'not null' comparison that is readable, reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 010cf269a4e27252c029f10e1ccaa9ad4bd6a000 Merge: 0b2c8c1 7e8275c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Sep 25 10:07:55 2015 +0200 Merge branch 'topic/drm-sync-audio-rate' into for-next commit 7e8275c2f2bbb384e18af37066b8b2f32b7d092f Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Fri Sep 25 09:36:12 2015 +0800 drm/i915: set proper N/CTS in modeset When modeset occurs and the TMDS frequency is set to some speical values, the N/CTS need to be set manually if audio is playing. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ddd621fbba35178643a39559c9688a373285bbc0 Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Wed Sep 2 14:11:40 2015 +0800 ALSA: hda - display audio call sync_audio_rate callback For display audio, call the sync_audio_rate callback function to do the synchronization between gfx driver and audio driver. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4a21ef7d1d2b19fdd986783e9ef53bd15fdc87bf Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Wed Sep 2 14:11:39 2015 +0800 drm/i915: implement sync_audio_rate callback HDMI audio may not work at some frequencies with the HW provided N/CTS. This patch sets the proper N value for the given audio sample rate at the impacted frequencies. At other frequencies, it will use the N/CTS value which HW provides. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5334240c30cb0058fa8c373bf0d653337833230d Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Wed Sep 2 14:11:38 2015 +0800 drm/i915: Add audio sync_audio_rate callback Add the sync_audio_rate callback. With the callback, audio driver can trigger i915 driver to set the proper N/CTS or N/M based on different sample rates. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0b101e62afe626ecae60173f92f1e0ec72151653 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Sep 24 14:02:29 2015 +0200 x86/asm: Force inlining of cpu_relax() On x86, cpu_relax() simply calls rep_nop(), which generates one instruction, PAUSE (aka REP NOP). With this config: http://busybox.net/~vda/kernel_config_OPTIMIZE_INLINING_and_Os gcc-4.7.2 does not always inline rep_nop(): it generates several copies of this: <rep_nop> (16 copies, 194 calls): 55 push %rbp 48 89 e5 mov %rsp,%rbp f3 90 pause 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/ on rep_nop() and cpu_relax(). ( Forcing inlining only on rep_nop() causes GCC to deinline cpu_relax(), with almost no change in generated code). text data bss dec hex filename 88118971 19905208 36421632 144445811 89c1173 vmlinux.before 88118139 19905208 36421632 144444979 89c0e33 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443096149-27291-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3f2c5085ed99b6ad233cf77009c2f4f898b2f7c8 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Tue Sep 1 15:41:06 2015 -0700 x86/sched/64: Don't save flags on context switch (reinstated) This reinstates the following commit: 2c7577a75837 ("sched/x86_64: Don't save flags on context switch") which was reverted in: 512255a2ad2c ("Revert 'sched/x86_64: Don't save flags on context switch'") Historically, Linux has always saved and restored EFLAGS across context switches. As far as I know, the only reason to do this is because of the NT flag. In particular, if something calls switch_to() with the NT flag set, then we don't want to leak the NT flag into a different task that might try to IRET and fail because NT is set. Before this commit: 8c7aa698baca ("x86_64, entry: Filter RFLAGS.NT on entry from userspace") we could run system call bodies with NT set. This would be a DoS or possibly privilege escalation hole if scheduling in such a system call would leak NT into a different task. Importantly, we don't need to worry about NT being set while preemptible or across page faults. The only way we can schedule due to preemption or a page fault is in an interrupt entry that nests inside the SYSENTER prologue. The CPU will clear NT when entering through an interrupt gate, so we won't schedule with NT set. The only other interesting flags are IOPL and AC. Allowing switch_to() to change IOPL has no effect, as the value loaded during kernel execution doesn't matter at all except between a SYSENTER entry and the subsequent PUSHF, and anythign that interrupts in that window will restore IOPL on return. If we call __switch_to() with AC set, we have bigger problems. 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> Link: http://lkml.kernel.org/r/d4440fdc2a89247bffb7c003d2a9a2952bd46827.1441146105.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9c9ab385bc6c3f0787f742d5e9baf04063d9697a Merge: 93f13a9 bcee19f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 25 09:28:58 2015 +0200 Merge branch 'linus' into x86/asm, to refresh the tree before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0b2c8c12f92996debdd7a2c2aebb33242e30922a Merge: db25f44 4922e7a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Sep 25 08:33:11 2015 +0200 Merge tag 'asoc-v4.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v4.4 A first batch of updates targetted at v4.4. There are no substantial core fixes here, the biggest block of changes is updates to the rcar drivers and the addition of a CODEC driver for the AK4613. commit 4110b282059c6ddefe874b718756bbc3bc2db515 Merge: aee2f54 f623ab7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 24 22:59:23 2015 -0700 Merge branch 'switchdev-transaction-item-queue' Jiri Pirko says: ==================== switchdev: transaction item queue and cleanup ==================== Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f623ab7f51b1bfb523c9cd492747392abf3c4421 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:49 2015 +0200 switchdev: reduce transaction phase enum down to a boolean Now, since we have only 2 values for transaction phase, just use bool. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79a62eb22a5fa4ee5e1f21af5e1f19f493dac5e0 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:48 2015 +0200 dsa: use prepare/commit switchdev transaction helpers The enum is going to disappear, use the helpers instead. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f6467cf229a0e8a7580401b07de2a76e4c8618d Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:47 2015 +0200 switchdev: remove "ABORT" transaction phase No longer used by drivers, as transaction queue with item destructors takes care of abort phase internally in switchdev code. So kill it. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b8a61a6fd5fdd161ae16e4f76bfb09d6de95ddd Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:46 2015 +0200 switchdev: remove "NONE" transaction phase Shouldn't have been there in the first place. Now it is unused, kill it. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac3dbc68a4a74e74f4604207d01456d075394a64 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:45 2015 +0200 rocker: use switchdev transaction queue for allocated memory Benefit from previously introduced transaction item queue infrastructure and remove rocker specific transaction memory management. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76c6f945cc8ec92918ab5459eaa0958dedbfbcfe Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:44 2015 +0200 rocker: push struct switchdev_trans down through rocker code There will be needed to have switchdev_trans available down in the call chain, so propagate it instead of trans phase enum. This enum will be removed anyway. Also, use prepare/commit phase check helpers to get information about current phase of transaction. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8bdb427206f077cdb567bf34da2e7212ecb2603c Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:43 2015 +0200 switchdev: add switchdev_trans_ph_prepare/commit helpers Add helpers which should be used int attr_set/obj_add switchdev ops to check the phase of transaction. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8db83486e316ff50f97961a82b614985645508e Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:42 2015 +0200 switchdev: move transaction phase enum under transaction structure Before it disappears completely, move transaction phase enum under transaction structure and make attr/obj structures a bit cleaner. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7ea6eb3f56f45cf4babae8b9a7421868e5005f17 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:41 2015 +0200 switchdev: introduce transaction item queue for attr_set and obj_add Now, the memory allocation in prepare/commit state is done separatelly in each driver (rocker). Introduce the similar mechanism in generic switchdev code, in form of queue. That can be used not only for memory allocations, but also for different items. Abort item destruction is handled as well. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69f5df491e0becb75d2d795add7481a35218d657 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:40 2015 +0200 switchdev: rename "trans" to "trans_ph". This is temporary, name "trans" will be used for something else and "trans_ph" will eventually disappear. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97c37accd38f6136fa0abbdef01b5f864e91e6c7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:55:41 2015 +0300 dmaengine: idma64: use lo_hi_readq() / lo_hi_writeq() There are already helper functions to do 64-bit I/O on 32-bit machines, thus we don't need to reinvent the wheel. In our case we can't use readq() / writeq() even on 64-bit kernel since there is a hardware limitation (OCP bus is a 32-bit bus). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2e9b55becc905207eb01e24bc282f8062cc497b5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:55:40 2015 +0300 dmaengine: idma64: make better performance on pause / resume Accordingly to the documentation the CH_DRAIN bit enforses single bursts when channel is going to be suspended. This, in case when channel will be resumed, makes data to flow in non-optimal mode until DMA returns to full burst mode. The fix differentiates pause / resume cycle from pause / terminate and sets CH_DRAIN bit accordingly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 581ec089a5476a9ddc8d0707e47315a2609297ad Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:55:39 2015 +0300 dmaengine: idma64: this is not DesignWare This patch fixes a comment where DesignWare is wrongly mentioned. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 22b74406c5ac1829cd60f75c8c6a4ed1e0f4da03 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:55:38 2015 +0300 dmaengine: idma64: useless use of min_t() We use a pattern x = min_t(u32, <LOG2_CONSTANT>, __ffs(expr)); There is no need to use min_t() since we can replace it by x = __ffs(expr | <2^LOG2_CONST>); and moreover guarantee that argument of __ffs() will be not zero. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 87b045969ad3fe021ccbd1ed88e7cb90adf4ca80 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:55:37 2015 +0300 dmaengine: idma64: convert to __ffs() We replace __fls() by __ffs() since we have to find a *minimum* data width that satisfies both source and destination. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit eef228e3191de0b62ef5913be216f25ba6b23a4c Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Thu Sep 24 15:21:23 2015 -0700 ARM: dts: move aliases back to .dts in Cygnus Move aliases from bcm-cygnus.dtsi back to individual .dts files. Also clean up the chosen node to have the stdout-path using the proper alias Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 7236214c88454d96de7633e07a8314644d529f26 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:42:06 2015 +0200 PM / wakeup: wakeup_source_create: use kstrdup_const Using kstrdup_const allows us to save a little runtime memory (and a string copy) in the common case where name is a string literal. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3f4232ee8b53cf2266d227af299aa511d2d91d11 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Sep 14 17:37:36 2015 +0300 acpi-dma: Add support for "dma-names" device property The current implementation hard codes the two supported channels so that "tx" is always 0 and "rx" is always 1. This is because there has been no suitable way in ACPI to name resources. With _DSD device properties we can finally do this: Device (SPI1) { Name (_CRS, ResourceTemplate () { ... FixedDMA (0x0000, 0x0000, Width32bit) FixedDMA (0x0001, 0x0001, Width32bit) }) Name (_DSD, Package () { ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package () { Package () {"dma-names", Package () {"tx", "rx"}} }, }) } The names "tx" and "rx" now provide index of the FixedDMA resource in question. Modify acpi_dma_request_slave_chan_by_name() so that it looks for "dma-names" property first and only then fall back using hardcoded indices. The DT "dma-names" binding that we reuse for ACPI is documented in Documentation/devicetree/bindings/dma/dma.txt. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3f5c8d3187852b1cbed8546169e6293d6d421751 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Sep 14 17:37:35 2015 +0300 device property: Add fwnode_property_match_string() Sometimes it is useful to be able to extract an index of certain string value from an array of strings. A typical use case is to give a name to a DMA channel, PWM, clock and so on. Provide an implementation using unified device property accessors that follows of_property_match_string() but works for all supported fwnodes. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c3456026adc0b22baae75e2617f370866d98b8ce Merge: aee2f54 57781c1 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Sep 25 01:37:21 2015 +0200 Merge tag 'ipvs2-for-v4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next Simon Horman says: ==================== Second Round of IPVS Updates for v4.4 please consider these bug fixes and extensive clean-ups of IPVS from Eric Biederman for v4.4. His excellent description of the changes, which is part of an even larger set of clean-up work, is as follows: I am gradually working my way through the netfilter stack passing struct down into the netfilter hooks and from the netfilter hooks and from there down into the functions that actually care. This removes the need for netfilter functions to guess how to figure out how to compute which network namespace they are in and instead provides a simple and reliable method to do so. The cleanups stand on their own but this is part of a larger effort to have routes with an output device that is not in the current network namespace. The IPVS code has been a bit more of a challenge than most. Just passing struct net through to where it is needed did not feel clean to me. The practical issue is that the ipvs code in most places actually wants struct netns_ipvs and not struct net. So as part of this process I have turned the relationship between struct net and the structs netns_ipvs, ip_vs_conn_param, ip_vs_conn, and ip_vs_service inside out. I have modified the ipvs functions to take a struct netns_ipvs not a struct net. The net is code with fewer conversions from one type of structure to another. I did wind up adding a struct netns_ipvs parameter to quite a few functions that did not have it before so I could pass the structure down from the netfilter hooks to where it is actually needed to avoid guessing. I have broken up the work in a bunch of small patches so there is at least a chance and reviewing that each step I took is correct. The series compiles at each step so bisecting it should not be a problem if something weird comes up. The first two changes in this series are actually bug fixes. The first is a compile fix for a bug in sctp that came in, in the last round of ipvs changes merged into nf-next. The second fixes an older bug where in pathological circumstances the wrong network namespace could be used when a proc file is written to. The rest of the patchset is a bunch of boring changes getting pushing struct netns_ipvs (and by extension ipvs->net) where it needs to be. Either by replacing struct net pointers or adding new struct netns_ipvs pointers. With a handful of other minor cleanups (like removing skb_net). I have decided include the bug fixes in this pull request. Patch one relates to a bug that was added to nf-next recently and is thus not applicable to nf . Patch two could arguably be promoted to a fix for v4.3 and stable though it does not appear to be severe enough to warrant that course of action; let me know if you would like me to reconsider. ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit aee2f545f0a12399cc6bbe134d69b8994582b694 Merge: d8ed625 21dd560 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 24 15:39: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-09-23 This series contains updates to ixgbe only. Mark provides all the changes in this series, first clears the destination location for I2C data initially so that the received data will not be corrupted by previous attempts. Then reduced the pauses/delays in the PHY detection when no SFP is present by reducing the number of retires, once an SFP is detected, the "normal" number of retries in PHY detection will be used. Added support for X55EM_x SFP+ dual-speed, and fixed 1G and 10G link stability for X550EM_x by configuring the CS4227 correctly by moving code to ixgbe_setup_mac_link_sfp_x550em(). Added functionality to reset CS4227, since on some platforms the CS4227 does not initialize properly. Next reduces the SFP polling rate, due to when an SFP is not present, the I2C timeouts that result are very costly. So prevent the SFP polling from being done more than once every two seconds. Added support for I2C bus MUX. Fixed the setting of RDRXCTL register which should fall through X540 and 82599, not 82598. In addition, added small packet padding support in X550 by setting RDRXCTL.PSP when the driver is in SRIOV mode. Fixed a known hardware issue where the PCI transactions pending bit sticks high when there are pending transactions, so workaround the issue by wait and then continue with our reset flow. Added a new device ID for X550EM device with SFPs. Provided a fix with the DCA setup, which was suggested by Alex Duyck <aduyck@xxxxxxxxxxxx>, by making it so that we always set the relaxed ordering bits related to the DCA registers even if DCA is not enbaled. Then moves the configuration out of the ixgbe_down() and into ixgbe_configure() before enabling the transmit and receive rings. This ensures that DCA is configured correctly before starting the processing of packets. Fixed VM-to-VM loopback mode which requires that FCRTH be set, but the datasheets did not specify what the value should be. It has now been determined that the correct value should be RXPBSIZE - (24*1024). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 111feb7f0c50a4b3369274539c27612904d33e96 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 11 09:08:53 2015 -0300 PCI: imx6: Add PCIE_PHY_RX_ASIC_OUT_VALID definition Add a #define for PCIE_PHY_RX_ASIC_OUT_VALID and use it instead of a hardcoded value. [bhelgaas: drop PCIE_PHY_DEBUG_R0_LTSSM_MASK; updated in future patch] Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <helgaas@xxxxxxxxxx> Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> commit 89b2d4f14b147bcb499f5e7b1c6e6ce082a58e8f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 11 09:08:52 2015 -0300 PCI: imx6: Return real error code from imx6_add_pcie_port() When devm_request_irq() fails, imx6_add_pcie_port() should return the real error code instead of always returning -ENODEV. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <helgaas@xxxxxxxxxx> Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> commit 10b4ad1a53e40425122a1a8f21f2d7428fa31e08 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:02:07 2015 -0500 PCI: Disable MSI on SiS 761 MSI is broken on SiS 761 chipset at least on PC Chips A31G board. No interrupts are delivered once MSI is enabled for a device. This causes hang on X11 start with a nVidia card installed (with nouveau driver). Disable MSI completely for this chipset. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <helgaas@xxxxxxxxxx> commit 5664f7645d6768da80e0b0d1f47a92d95d33608b Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Sep 14 19:54:07 2015 -0500 Docs/kernel-parameters: Add earlycon devicetree usage This form of the earlycon parameter was added by commit fb11ffe74c794a5 ("of/fdt: add FDT serial scanning for earlycon") without documentation. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit e12d74623dd77821c833a6fbb762ad32efc0ffa9 Author: Alex Henrie <alexhenrie24@xxxxxxxxx> Date: Sun Sep 20 14:11:19 2015 +0200 SubmittingPatches: make Subject examples match the de facto standard The examples should better match what kernel developers actually expect, so that they set a good example both for this project and for other projects with similar development processes. Signed-off-by: Alex Henrie <alexhenrie24@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 2b71920e60153a5058a7984e97d692350aa527cb Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 21 15:14:46 2015 +0200 Documentation: gpio: mention that <function>-gpio has been deprecated The gpiolib supports parsing DT properties of the form <function>-gpio but it was only added for compatibility with older DT bindings that got it wrong and should not be used in newer bindings. The commit that added support for this was: dd34c37aa3e8 ("gpio: of: Allow -gpio suffix for property names") but didn't update the documentation to explain this so it's been a source of confusion. So let's make clear this in the GPIO documentation. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 55d015954140cd32e463ca1673527f023409ba90 Author: Yuan Sun <sunyuan3@xxxxxxxxxx> Date: Tue Sep 22 17:00:06 2015 +0800 Documentation: cgroups: just fix a few typos Just fix some typos in blkio-controller.txt, freezer-subsystem.txt, unified-hierarchy.txt. Signed-off-by: Yuan Sun <sunyuan3@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d8ed625044cdede8661324074aaad7459a1e3c7a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 22 20:44:17 2015 -0700 tcp: factorize sk_txhash init Neal suggested to move sk_txhash init into tcp_create_openreq_child(), called both from IPv4 and IPv6. This opportunity was missed in commit 58d607d3e52f ("tcp: provide skb->hash to synack packets") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76caa6ca99a6e56f5b247f4f5e54263caa13cb5e Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Wed Sep 23 09:35:25 2015 +0000 Documentation: Update kselftest.txt Add document for how to install selftests. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 7bc590b2fc057f3c48b618c739517bf1af9a28fe Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Sep 23 14:41:09 2015 +0300 Documentation: DMA API: Be more explicit that nents is always the same The nents argument to the DMA API functions operating on scatterlists is always the same. The documentation used different argument names and the matter was not mentioned in Documentation/DMA-API-HOWTO.txt at all. Fix these. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit c604503192718b9676a0ef5dd104b6a8acef8278 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Thu Sep 24 16:51:25 2015 +0800 Documentation: Update the default value of crashkernel low In commit 94fb933 ("x86/crash: Allocate enough low memory when crashkernel=high") the default value of crashkernel low memory is changed to 256M. In this patch update it accordingly. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 3657c20d8277e7ee50a26ac9cacad55a8bba901d Author: Sergey SENOZHATSKY <sergey.senozhatsky@xxxxxxxxx> Date: Thu Sep 24 18:56:41 2015 +0900 zram: update documentation Several documentation changes. First, we never mentioned any errors and never required any error checks in documentation. Second, mention that there is another way to configure and manage zram devices -- zramctl, provided by util-linux. Third, add a bit of clarification on why `mem_used_max' attr is RW and correct some typos. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 1c0032c8eb67c637075e54209ff59c22bba8e01e Merge: d5fc4f5 ad29fff Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Sep 24 15:32:09 2015 -0600 Merge branch 'doc/4.4' of git.lwn.net:/home/git/linux-2.6 commit 729bf329c79684327a55c33cdf21222543a1e5f1 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 23 09:20:55 2015 +0200 net: axinet: Use of_property_read_u32 instead of open-coding it Use of_property_read_u32 instead of of_get_property with return value checks and endianness conversion. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Reviewed-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e734a42f046104f798195042e5a4d4b357f0b3fb Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 23 09:20:02 2015 +0200 net: ll_temac: Use of_property_read_u32 instead of open-coding it Use of_property_read_u32 to read the "clock-frequency" property instead of using of_get_property with return value checks. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Reviewed-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0522908d22e0b8669e01a7706720996c773e7f4 Merge: 1026507 9badce0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Sep 24 16:59:19 2015 -0400 cgroup: Merge branch 'for-4.3-fixes' into for-4.4 Pull to receive 9badce000e2c ("cgroup, writeback: don't enable cgroup writeback on traditional hierarchies"). The commit adds cgroup_on_dfl() usages in include/linux/backing-dev.h thus causing a silent conflict with 9e10a130d9b6 ("cgroup: replace cgroup_on_dfl() tests in controllers with cgroup_subsys_on_dfl()"). The conflict is fixed during this merge. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3636859b280ca595da4556274a509223f47e9a39 Author: Enric Balletbo i Serra <eballetbo@xxxxxxxxx> Date: Thu Sep 24 21:44:21 2015 +0200 power_supply: Add support for tps65217-charger. This patch adds support for the tps65217 charger driver. This driver is responsible for controlling the charger aspect of the tps65217 mfd. Currently, this mainly consists of turning on and off the charger, but some other features of the charger can be supported through this driver. Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8e97a88c5b5864004ec5e87e7088dba7dcf79fdc Author: Enric Balletbo i Serra <eballetbo@xxxxxxxxx> Date: Thu Sep 24 21:44:20 2015 +0200 devicetree: Add TPS65217 charger binding. The TPS65217 charger is a subnode of the TPS65217 MFD. Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 0bc58e93819d542475cd9390921db509a283fe72 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Sep 24 21:41:37 2015 +0300 power: qcom_smbb: test the correct variable "state" is a bool so it's never less than zero. The intent was to test "ret" instead. Fixes: 56d7df8716b2 ('power: Add Qualcomm SMBB driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 38cf595b195552276e1cf1826434e05782de4be8 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Tue Sep 22 18:57:13 2015 +0200 ipv6: remove unused neigh parameter from ndisc functions Since commit 12fd84f4383b1 ("ipv6: Remove unused neigh argument for icmp6_dst_alloc() and its callers."), the neigh parameter of ndisc_send_na and ndisc_send_ns is unused. CC: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92c14d9b5ee86fd6cf136c01b6a87353522aebdd Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Tue Sep 22 18:56:43 2015 +0200 genetlink: simplify genl_notify The genl_notify function has too many arguments for no real reason - all callers use genl_info to get them anyway. Just pass the genl_info down to genl_notify. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2d5ecfaeafdedfb997a466c654c7029c511f43d Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Sep 24 09:37:11 2015 +0200 mac802154: iface: assume big endian for af_packet The callback "create" and "parse" from header_ops are called from netdev core upper-layer functionality, like af_packet. These callbacks assumes big endian for addresses and we should not introduce a special byteordering handling for ieee802154 over af_packet in userspace. We have an identical issue with setting the mac address which also assumes big endian byteordering. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f856f21dbcd162a53e30987a91d75d5ab54a7f80 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Sep 24 09:37:10 2015 +0200 ieee802154: remove unnecessary includes This patch removes some unnecessary includes from ieee802154 header, which was introduced by commit b609fb54adfa ("ieee802154: add helpers for frame control checks"). Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2900ea609616c2651dec65312beeb2a6e536bc50 Author: Seth Jennings <sjenning@xxxxxxxxxx> Date: Wed Aug 5 13:16:01 2015 -0500 EDAC, sb_edac: Fix TAD presence check for sbridge_mci_bind_devs() In commit 7d375bffa524 ("sb_edac: Fix support for systems with two home agents per socket") NUM_CHANNELS was changed to 8 and the channel space was renumerated to handle EN, EP, and EX configurations. The *_mci_bind_devs() functions - except for sbridge_mci_bind_devs() - got a new device presence check in the form of saw_chan_mask. However, sbridge_mci_bind_devs() still uses the NUM_CHANNELS for loop. With the increase in NUM_CHANNELS, this loop fails at index 4 since SB only has 4 TADs. This results in the following error on SB machines: EDAC sbridge: Some needed devices are missing EDAC sbridge: Couldn't find mci handler EDAC sbridge: Couldn't find mci handle This patch adapts the saw_chan_mask logic for sbridge_mci_bind_devs() as well. After this patch: EDAC MC0: Giving out device to module sbridge_edac.c controller Sandy Bridge Socket#0: DEV 0000:3f:0e.0 (POLLED) EDAC MC1: Giving out device to module sbridge_edac.c controller Sandy Bridge Socket#1: DEV 0000:7f:0e.0 (POLLED) Signed-off-by: Seth Jennings <sjenning@xxxxxxxxxx> Acked-by: Aristeu Rozanski <aris@xxxxxxxxxx> Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Tested-by: Borislav Petkov <bp@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.2 Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438798561-10180-1-git-send-email-sjenning@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit eb24d061f4b80338672b7d38ee6331896f0a7710 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Sep 24 19:40:33 2015 +0200 mrf24j40: remove trailing semicolon This patch removes a trailing semicolon which was introduced by commit d3f1bc3 ("mrf24j40: add cca mode support") and reported by kbuild test robot. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cf6483050e9bf13979415d9fd388554d8c8f3477 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 18:35:36 2015 +0200 drm/irq: Add drm_crtc_vblank_count_and_time() This function is the KMS native variant of drm_vblank_count_and_time(). It takes a struct drm_crtc * instead of a struct drm_device * and an index of the CRTC. Eventually the goal is to access vblank data through the CRTC only so that the per-CRTC data can be moved to struct drm_crtc. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2b193f023dc8f43b005bc7844b07e437a4e418db Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 18:35:30 2015 +0200 drm/irq: Rename drm_crtc -> crtc Since the original crtc parameter was renamed to pipe, there is no longer a need to artificially prefix the CRTC parameter. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf22f3be15630234b76d7ece0b1f97627ea833a8 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Sep 24 03:01:03 2015 -0700 drm: drm_atomic_crtc_get_property should be static Fixes the following sparse warning: drivers/gpu/drm/drm_atomic.c:442:5: warning: symbol 'drm_atomic_crtc_get_property' was not declared. Should it be static? Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5fbec9014b5ab9deecb3338cd14aae82ed14d0ec Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 10:07:32 2015 +0200 drm/gma500: Remove DP_LINK_STATUS_SIZE redefinition The DRM/DP helpers already contain a definition for this macro. Remove the duplicate in the GMA500 driver to avoid having to keep both updated synchronously. Cc: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21b45676b7c4b79334d8fe3c5a112af0517b66e9 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Thu Aug 27 16:43:43 2015 +0200 vga_switcheroo: Set active attribute to false for audio clients The active attribute in struct vga_switcheroo_client denotes whether the outputs are currently switched to this client. The attribute is only meaningful for vga clients. It is never used for audio clients. The function vga_switcheroo_register_audio_client() misuses this attribute to store whether the audio device is fully initialized. Most likely there was a misunderstanding about the meaning of "active" when this was added. Comment from Takashi's review: "Not really. The full initialization of audio was meant that the audio is active indeed. Admittedly, though, the active flag for each audio client doesn't play any role because the audio always follows the gfx state changes, and the value passed there doesn't reflect the actual state due to the later change. So, I agree with the removal of the flag itself -- or let the audio active flag following the corresponding gfx flag. The latter will make the proc output more consistent while the former is certainly more reduction of code." Set the active attribute to false for audio clients. Remove the active parameter from vga_switcheroo_register_audio_client() and its sole caller, hda_intel.c:register_vga_switcheroo(). vga_switcheroo_register_audio_client() was introduced by 3e9e63dbd374 ("vga_switcheroo: Add the support for audio clients"). Its use in hda_intel.c was introduced by a82d51ed24bb ("ALSA: hda - Support VGA-switcheroo"). v1.1: The changes above imply that in find_active_client() the call to client_is_vga() is now superfluous. Drop it. Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> [danvet: Add Takashi's clarification to the commit message.] Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73f7570bc6c853ca1fad24f9d31815b20e405354 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 9 16:40:57 2015 +0200 drm/core: Preserve the fb id on close. Keep the fb_id, which means that any application exiting without unsetting the framebuffer from all planes will preserve its contents. This is similar to preserving the initial framebuffer, except all planes are preserved. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> [danvet: Remove unused variable, reported by Stephen Rothwell.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13803132818cf8084d169617be060fd8e3411a98 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 9 16:40:56 2015 +0200 drm/core: Preserve the framebuffer after removing it. Previously RMFB and fd close chose to disable any plane that had an active framebuffer from this file. If it was a primary plane the crtc was disabled. However the fbdev code or any system compositor should restore the planes anyway so there's no need to do it twice. The old fb_id is zero'd, so there's no danger of being able to restore the fb from fb_id. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4dfd64862ff852df7b1198d667dda778715ee88f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:51 2015 +0300 drm: Use vblank timestamps to guesstimate how many vblanks were missed When lacking am accurate hardware frame counter, we can fall back to using the vblank timestamps to guesstimagte how many vblanks have elapsed since the last time the vblank counter was updated. Take the oppostunity to unify the vblank_disable_and_save() and drm_handle_vblank_events() to call the same function (drm_update_vblank_count()) to perform the vblank updates. If the hardware/driver has an accurate frame counter use it instead of the timestamp based guesstimate. If the hardware/driver has neither a frame counter nor acurate vblank timestamps, we fall back to assuming that each drm_handle_vblank_events() should increment the vblank count by one. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1b2eb71050915d88e62a0ca0c448e0e93484ae9e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:50 2015 +0300 drm: store_vblank() is never called with NULL timestamp Remove the NULL 't_vblank' checks from store_vblank() since that will never happen. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad1716ecca9d9099199cfc9278672c17d1484c75 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:49 2015 +0300 drm: Clean up drm_calc_vbltimestamp_from_scanoutpos() vbl_status Avoid confusion and don't use 'vbl_status' as both the .get_scanout_position() return value and the return value from drm_calc_vbltimestamp_from_scanoutpos(). While at it make 'vbl_status' unsigned and print it as hex in the debug prints since it's a bitmask. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit facfb062e8c958f321c366c6ea3d98db899a4c6e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:48 2015 +0300 drm: Limit the number of .get_vblank_counter() retries Pontential infinite loops in the vblank code are a bad idea. Add some limits. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a6e610dcce3c8cbd5217527a089c8811d4412184 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:47 2015 +0300 drm: Pass flags to drm_update_vblank_count() We'll soon have use for the 'flags' in drm_update_vblank_count() so pass it in. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 66f59c5ccf50eec42bbe4f5029ad9434f73eaf75 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:46 2015 +0300 drm/i915: Fix vblank count variable types The vblank counts are u32 so make flip_queued_vblank and flip_ready_vblank u32 as well. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 20b2020334110f9afb8316ba158b9549f2f07ff9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:45 2015 +0300 drm: Kill pixeldur_ns pixeldur_ns is now unsued, so kill it from drm_vblank_crtc. framedur_ns is also currently unused but we will have use for it in the near future so leave it be. linedur_ns is still used by nouveau for some internal delays. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3bb403bf421b5b00366a9041a7edc0a1f6494f5e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:44 2015 +0300 drm: Stop using linedur_ns and pixeldur_ns for vblank timestamps linedur_ns, and especially pixeldur_ns are becoming rather inaccurate to be used for the vblank timestamp correction. With 4k@60 the pixel duration is already below 2ns, so the amount of error due to the truncation to nanoseconds is introducing quite a bit of error. We can avoid such problems if we instead calculate the timestamp delta_ns directly from the dislay timings, avoiding the use of these intermediate truncated values. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> [danvet: Squash in fixup from Thierry Reding for amdgpu.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eba1f35dfe145247c7eb690c7c32740fde8ec699 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:43 2015 +0300 drm: Move timestamping constants into drm_vblank_crtc Collect the timestamping constants alongside the rest of the relevant stuff under drm_vblank_crtc. We can now get rid of the 'refcrtc' parameter to drm_calc_vbltimestamp_from_scanoutpos(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 942840371cde152fe57c15e0e8483b760e7763e3 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Sep 21 17:21:48 2015 -0700 drm/fbdev: Update legacy plane->fb refcounting for atomic restore Starting with commit commit 28cc504e8d52248962f5b485bdc65f539e3fe21d Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:36:00 2015 -0400 drm/i915: enable atomic fb-helper I've been seeing some panics on i915 when the DRM master shuts down that appear to be caused by using an already-freed framebuffer (i.e., we're unexpectedly dropping our initial FB's reference count to 0 and freeing it, which causes a crash when we try to restore it later). Digging deeper, the state FB refcounting is working as expected, but we seem to be missing proper refcounting on the legacy plane->fb pointers in the new atomic fbdev code. Tracking plane->old_fb and then doing a ref/unref at the end of the fbdev restore like we do in the legacy ioctl's ensures we don't miscount references on plane->fb and avoids the panics. v2 from Daniel: Really do what the atomic ioctl does: - Also update plane->fb and plane->crtc. - Clear out plane->old_fb on failures too. v3: git add everything. Oops. v4: Also clear old_fb in all other failure paths, spotted by David. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> (v1) Reviewd-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5e7d49446b5964d2866ea1912cc9f65ab33ed76f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Wed Sep 16 23:25:22 2015 -0700 drm: fix kernel-doc warnings in drm_crtc.h Fix the following 'make htmldocs' warning: .//include/drm/drm_crtc.h:929: warning: Excess struct/union/enum/typedef member 'base' description in 'drm_bridge' Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4127838c460ab66f60ea8cdb069654972f8c277f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sat Sep 5 13:40:23 2015 +0200 vga_switcheroo: Sort headers alphabetically Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f15a66e68422ca6bb783142780ad440067f6cc89 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sat Sep 5 11:22:39 2015 +0200 drm: Spell vga_switcheroo consistently Currently everyone and their dog has their own favourite spelling for vga_switcheroo. This makes it hard to grep dmesg for log entries relating to vga_switcheroo. It also makes it hard to find related source files in the tree. vga_switcheroo.c uses pr_fmt "vga_switcheroo". Use that everywhere. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1da248a583de4e63a006dd84d9d53e6784b958a3 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:42 2015 +0300 drm: s/int crtc/unsigned int pipe/ straggles Finish the recent replacement of 'int pipe' with 'unsigned int pipe' Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f881bab038c9667deab19a85d8666029cbfa6f2c Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 23 16:20:43 2015 -0700 gpio: keep the GPIO line names internal This refactors the changes to the GPIO line naming mechanism to not have so widespread effects, instead we conclude the patch series by having created a name attribute in the GPIO descriptor, that need not be globally unique, and it will be initialized from the old .names array in struct gpio_chip if it exists, then used in the legacy sysfs code like the array was used previously. The associated changes to name lines from the device tree are controversial and need to stand alone from this. Resulting changes: 1. Remove the export and the header for the gpio_name_to_desc() as so far the only use is inside gpiolib.c. Staticize gpio_name_to_desc() and move it above the only function using it. 2. Only print a warning if there are two GPIO lines with the same name. The reason is to preserve current behaviour: before the previous changes to the naming mechanism this would not reject probing the driver, instead the error would occur when trying to export the line in sysfs, so restore this behaviour, but print a friendly warning if names collide. Cc: Johan Hovold <johan@xxxxxxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ced433e2a4a0f11362c149daf802157ffb65ee20 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 14 16:11:02 2015 +0200 gpiolib: Add gpio name information to /sys/kernel/debug/gpio Add some information about gpio names to the debugfs gpio file. name and label of a GPIO are then displayed next to each other. This way it is easy to see what the real name of GPIO is and what the driver requested it for. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> [Dropped unsolicited sysfs ABI patch hunk] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ddd5404007b8496f20ad2efe1147e102e6226634 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 14 16:11:01 2015 +0200 gpio-sysfs: Use gpio descriptor name instead of gpiochip names array The name is now stored in the gpio descriptor as well, for example to allow to store names from DT. This patch changes the sysfs gpio files to use the gpio descriptor name. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5f3ca7329b049b40667a190ddf14b69afdb91576 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 14 16:11:00 2015 +0200 gpiolib: Use GPIO name from names array for gpio descriptor This patch adds GPIO names to the GPIO descriptors when initializing the gpiochip. It also introduces a check whether any of the new names will conflict with an existing GPIO name. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c0017ed71966a19ec40c7bc900d4338ddfbc4105 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 14 16:10:59 2015 +0200 gpio: Introduce gpio descriptor 'name' The latest gpio hogging mechanism assigns each gpio a 'line-name' in the devicetree. The 'name' field is different from the 'label' field. 'label' is only used for requested GPIOs to describe its current use by driver or userspace. The 'name' field describes the GPIO itself, not the use. This is most likely identical to the label in the schematic on the GPIO line and should help to find this particular GPIO. This is equivalent to the gpiochip->names array. However names should be stored in the GPIO descriptor. We will use gpiochip->names in the future only as initializer for the GPIO descriptors for drivers that assign GPIO names hardcoded. All other GPIO names will be parsed from DT and directly assigned to the GPIO descriptor. This patch adds a helper function to find gpio descriptors by name instead of gpio number. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fd7337fdb9bce420033c28af4c07b73e34e692c1 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 14 16:10:58 2015 +0200 gpiolib-of: Rename gpio_hog functions to be generic The gpio hogging functions are currently only used for gpio-hogging. But these functions are widely generic ones which parse gpio device nodes in the DT. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0f7e17740612ca0f3b8baf91645075d07bb52b2c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 24 23:34:01 2015 +0800 ASoC: rl6347a: Clean up unneeded inclusion of header files Also move the include of sound/hda_verbs.h to rl6347a.h because it is used in rl6347a.h. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b4fe8ba7a310da6a2b99e3abe67c7815198cde49 Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Tue Sep 15 00:39:17 2015 +0800 regmap: Add generic macro to define regmap_irq Add REGMAP_IRQ_REG macro in regmap.h to define regmap_irq structure easily for other driver module. Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9ab8b4e7cacfc4a03e4f39fe8a090436ce456720 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Sep 21 22:18:45 2015 +0530 dmaengine: idma: rename to INTEL_IDMA64 the symbol CONFIG_IDMA64 should rather be CONFIG_INTEL_IDMA64 to conform to rest of the intel dmaengine drivers. This was found after sorting the entries and trying to place this odd one Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 646db260b843d2f758559a5483174354c304acf8 Merge: a645654 1f93e4a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 22 11:02:18 2015 +0200 Merge tag 'v4.3-rc2' into topic/drm-misc Backmerge Linux 4.3-rc2 because of conflicts in the dp helper code between bugfixes and new code. Just adjacent lines really. On top of that there's a silent conflict in the new fsl-dcu driver merged into 4.3 and commit 844f9111f6f54f88eb2f0fac121b82ce77193866 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 2 10:42:40 2015 +0200 drm/atomic: Make prepare_fb/cleanup_fb only take state, v3. which Thierry Reding spotted and provided a fixup for. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4781bc427b0d23bfde4675d210fd35debee2c9de Author: Jérôme Glisse <jglisse@xxxxxxxxxx> Date: Mon Aug 31 18:13:03 2015 -0400 iommu/amd: Return positive value in amd_iommu_detect() Fix amd_iommu_detect() to return positive value on success, like intended, and not zero. This will not change anything in the end as AMD IOMMU disable swiotlb and properly associate itself with devices even if detect() doesn't return a positive value. Signed-off-by: Jérôme Glisse <jglisse@xxxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Cc: iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx commit e88ab30d3669f08e94e66e7f926713be93af97fc Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Sep 23 18:18:11 2015 +0200 Bluetooth: hci_bcm: Add suspend/resume runtime PM functions Adds autosuspend runtime functionality to BCM UART driver. Autosuspend is enabled at end of bcm_setup. bcm_device_lock is used for system sleep functions as they can be called at any time. bcm_device_lock is not held for runtime suspend functions as this is only enabled as long as platform device is opened. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7649faff1cfe4f76dabf78cd53d659d39f65b3c1 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Sep 23 18:18:10 2015 +0200 Bluetooth: Remove useless rx_lock spinlock rx_lock spinlock is only used in hci_uart_tty_receive() which is the receive_buf ldisc callback. hci_uart_tty_receive() is protected from re-entrance by its only caller (flush_to_ldisc() in drivers/tty/tty_buffer.c) which held a mutex (buf->lock) for this section. This lock allows "safe use of the line discipline's receive_buf() method by excluding the buffer work and any pending flush from using the flip buffer." (comments from tty_buffer_lock_exclusive() in drivers/tty/tty_buffer.c) So, no need to double protect this resource with rx_lock. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b7a622a249736b36c0bf4c3f986ed431281d5e98 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Sep 23 18:18:09 2015 +0200 Bluetooth: hci_bcm: Prepare PM runtime support Change some CONFIG_PM_SLEEP to CONFIG_PM as hu and is_suspended parameters will be used during PM runtime callbacks. Add bcm_suspend_device() and bcm_resume_device() which performs link management for PM callbacks. These functions will be used for runtime management. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5cebdfea32b89911d4540440c1c2854a1a3d591e Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Sep 23 18:18:08 2015 +0200 Bluetooth: hci_bcm: Fix IRQ polarity for T100 ACPI table for BCM2E39 of T100TA is not correct. Set correct irq_polarity for this device. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 594b31ea7dc6101519deee1b31483fce2e1a7414 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Sep 23 18:18:07 2015 +0200 Bluetooth: Add BT_WARN and bt_dev_warn logging macros Add warning logging macros to bluetooth subsystem logs. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7c4a7d60bcda9449bca1ed2ee47392cd7acb8535 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 11:57:45 2015 +0100 drm/i915: Defer adding preallocated stolen objects to the VM list When preallocating a stolen object during early initialisation, we may be running before we have setup the the global GTT VM state, in particular before we have initialised the range manager and associated lists. As this is the case, we defer binding the stolen object until we call i915_gem_setup_global_gtt(). Not only should we defer the binding, but we should also defer the VM list manipulation. Fixes regression uncovered by commit a2cad9dff4dd44d0244b966d980de9d602d87593 Author: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Date: Wed Sep 16 11:49:00 2015 +0200 drm/i915/gtt: Do not initialize drm_mm twice. Whilst I am here remove the duplicate work leaving dangling pointers from the error path... v2: Typos galore before coffee. Reported-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92099 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Reviewed-by: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Tested-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit db25f440f42eca380fcdb339f51cf73633e32485 Merge: 145d92e 8351044 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 24 14:02:48 2015 +0200 Merge branch 'for-linus' into for-next commit 3ac58d58087e65592f2b91957c7a106a7a409aa4 Author: Olliver Schinagl <o.schinagl@xxxxxxxxxxxxx> Date: Tue Sep 8 21:19:51 2015 +0200 fbdev: ssd1307fb: add ssd1309 support The ssd1307fb driver supports a lot of chips from the ssd130xfb series. This patch adds the ssd1309 chip, a 128x64 OLED driver chip. It is very similar to the other chips and only has some definitions added to support it. Signed-off-by: Olliver Schinagl <o.schinagl@xxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 48846ec502525bd93ee6e611eeacb397f5662f9b Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Tue Sep 8 21:19:50 2015 +0200 fbdev: ssd1307fb: alphabetize headers This patch sorts the headers on ssd1307fb driver. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c50d5cd235210abffa1e88affbead1adbd5f294a Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:34:00 2015 +0200 video/omap: remove invalid check regno is unsigned so it cannot be negative. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 8a9d4626db312fe0a682c35ef43fe8d9160c2ecd Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri Aug 28 17:21:46 2015 +0300 OMAPDSS: hdmi: Reconfigure and restart audio when display is enabled Reconfigure and restart audio when display is enabled, if audio playback was active before. This is needed in a situation when an audio+video stream application opens the audio stream before the video. When video stream is opened the display mode may change and that aborts audio playback, because the display is momentarily turned off. The audio configuration is stored when it is successfully applied and a boolean is set when the audio playback is started and unset when stopped. This data is used to reconfigure the audio when display is re-enabled. The audio playback is aborted if the reconfiguration fails. A new spin lock is introduced in order to protect state variables related to audio playback status. This is needed for the transition from display enabled state (when audio start/stop commands can be written to HW) to display disabled state (when audio start/stop commands update only the hdmi.audio_playing variable) to always serialize correctly with the start/stop audio commands. The already existing mutex can not be used, because the audio start and stop commands are executed in atomic context. For example: when display is turned back on we take the spinlock and we can be sure that the audio start/stop status will not change while we update the HW according to hdmi.audio_playing state and set hdmi.display_enabled to true. After releasing the lock hdmi.display_enabled is true and all audio_start and audio_stop commands write their stuff directly to HW. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 145d92e77e6f34f53773fdb06789816ec2b6c7b3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Sep 23 12:42:28 2015 +0300 ALSA: core: check for underflow in snd_pcm_sw_params() As far as I can see, having an invalid ->tstamp_mode is harmless, but adding a check silences a static checker warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 13f3a46d2a6cbdff1bbb06fac6de7dce753db8e1 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Sep 20 21:18:55 2015 +0900 ALSA: oxfw: add Mackie Onyx Satellite quirk to inform wrong value in 'dbs' field in tx CIP header Mackie Onyx Satellite has two usage; standalone and with base station. These two modes has different stream formats. In standalone mode, rx data block includes 2 Multi Bit Linear Audio (MBLA) data channels and tx data block includes 2. With base station, they're 6 and 2. Although, with base station, the actual tx packet include wrong value in 'dbs' field in its CIP header. This quirk causes packet streaming layer to detect packet discontinuity and to stop PCM substream. This is a response of 'single' subfunction 'extended stream format information' command in AV/C Stream Format Information Specification 1.1. It means that a data block in tx packets includes 2 MBLA data channels. $ ./firewire-request /dev/fw1 fcp 0x01ffbfc001000000ffffffff response: 000: 0c ff bf c0 01 00 00 00 ff 00 90 40 03 02 01 02 response: 010: 06 Current OXFW driver parses the response and detects stream formats correctly. $ cat /proc/asound/card1/firewire/formation ... Output Stream from device: Rate PCM MIDI * 48000 2 0 44100 2 0 88200 2 0 96000 2 0 On the other hand, in actual tx CIP, the 'dbs' field has 6. But the number of quadlets in CIP payload is not multiple of 6. Seeing the subtraction of two successive payload quadlets, it should be multiple of 2. payload CIP CIP quadlets header0 header1 24 00060052 9002ffff 24 0006005e 9002ffff 26 0006006a 9002ffff 24 00060077 9002ffff 24 00060083 9002ffff 26 0006008f 9002ffff 24 0006009c 9002ffff 24 000600a8 9002ffff 26 000600b4 9002ffff 24 000600c1 9002ffff This commit adds support for this quirk to OXFW driver, by using CIP_WRONG_DBS flag. When this flag is set, packet streaming layer uses the value of its 'data_block_quadlets' member instead of the value in CIP header. This value is already set by OXFW driver and no discontinuity is detected. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 158ecc39185b885420e5136b803b29be2bbec7fb Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Sep 23 12:49:01 2015 +0200 x86/fpu: Fixup uninitialized feature_name warning Hand in &feature_name to cpu_has_xfeatures() as it is supposed to. Fixes an uninitialized warning. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: brgerst@xxxxxxxxx Cc: dvlasenk@xxxxxxxxxx Cc: fenghua.yu@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: tim.c.chen@xxxxxxxxxxxxxxx Fixes: d91cab78133d ("x86/fpu: Rename XSAVE macros") Link: http://lkml.kernel.org/r/20150923104901.GA3538@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 21dd560162d4bbf98cc81b303bfa19740ae5b964 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Tue Aug 11 13:11:58 2015 -0700 ixgbe: Advance version to 4.2.1 With the addition of X550em_x SFP+ support, the driver is now functionally equivalent to what will be the 4.2.1 driver when released, so change the version to match. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c5846ba44500293d290eb2a31bd344565f237ad3 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:27:56 2015 -0700 ixgbe: X540 thermal warning interrupt not a GPI The X540 thermal interrupt (IXGBE_EIMS_TS) is not an SDP, so it doesn't need to be enabled in ixgbe_setup_gpie(). In fact the value is simply not for the GPIE register at all. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bc1fc64fd2d9093496e5b04c6d94d26bfa629c9c Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:27:51 2015 -0700 ixgbe: Fix FCRTH value in VM-to-VM loopback mode The 82599 and X540 datasheets require that FCRTH be "set" for Tx switching (VM-to-VM loopback) but it did not previously specify what the value should be set to. It has now been determined that the correct value is RXPBSIZE - (24*1024). This setting is also required for later devices. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3507a9b8c9d1684b5095c97f587ee46184e590da Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:27:46 2015 -0700 ixgbe: Only clear adapter_stopped if ixgbe_setup_fc succeeded A logic error here results in the adapter_stopped flag only being cleared when ixgbe_setup_fc returns an error. Correct the logic. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9de7605ea2389d5ab86d6fbb3f1a11b87665a35c Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:27:41 2015 -0700 ixgbe: Correct several flaws with with DCA setup This change does two things. First, it makes it so that we always set the relaxed ordering bits related to the DCA registers even if DCA is not enabled. Second, it moves the configuration out of the ixgbe_down function and into the ixgbe_configure function before enabling the Rx and Tx rings. This ensures that DCA is configured correctly before starting to process packets. Thanks to Alex Duyck for this fix. CC: Alex Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 018d7146eee1942f27675bdabf9b43586bfaef72 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:19:19 2015 -0700 ixgbe: Add new X550EM SFP+ device ID Add new device ID for X550EM device with SFPs. 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 7fc151035487916b266257c2e7b8b6cb2a5cd04f Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:19:14 2015 -0700 ixgbe: Update ixgbe_disable_pcie_master flow for X550* This patch skips the PCI transactions pending check in ixgbe_disable_pcie_master. This is done to addresses a known HW issue where the PCI transactions pending bit sticks high when there are pending transactions. HW engineering instructed to workaround this issue by wait and then continue with our reset flow. 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 f961ddae164a5288a62146aae191da7bc1ecedb4 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:19:09 2015 -0700 ixgbe: Add small packet padding support for X550 This patch sets RDRXCTL.PSP when the driver is in SRIOV mode which enables padding of small packets. 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 052a1a724338bbf4721f8b4d7de8486701fc37cb Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:19:04 2015 -0700 ixgbe: Correct setting of RDRXCTL register for X550* devices Setting the X550* RDRXCTL register should fall through into X540 and 82599, not 82598. 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 5967fe225686bcae17352de172573964a15b17d5 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:59 2015 -0700 ixgbe: Correct error path in semaphore handling The timeout path is supposed to release the semaphore, so do that. 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 449e21a92411ba35bfa68b4464aa7dbd1f705d28 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:53 2015 -0700 ixgbe: Add I2C bus mux support Take control of an I2C mux that selects which SFP is attached to the I2C bus. The control of the mux is captured in the taking and releasing of the related semaphore. Because only port 1 can control the mux, port 1 always leaves the mux set to select port 0. 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 58e7cd24d474c87763387f606e403012f562760b Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:48 2015 -0700 ixgbe: Limit SFP polling rate Reduce the frequency of polling for SFP modules. Because the service task sometimes runs at high rates, we can poll for SFPs too often. When an SFP is not present, the I2C timeouts that result are very costly. So, prevent SFP polling from being done more than once every two seconds. To reduce latency, the poll time is cleared in a couple of cases to permit the next service task execution to poll the SFP module. 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 69eec0c2fa8781a6abae96af1f11069e1965cbfe Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:43 2015 -0700 ixgbe: Allow SFP+ on more than 82598 and 82599 Since SFP+ can be used with some X550 devices, permit them to be detected. 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 542b6eecf4c3640f15a84ff89525131d421e7c8c Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:38 2015 -0700 ixgbe: Add logic to reset CS4227 when needed On some hardware platforms, the CS4227 does not initialize properly. Detect those cases and reset it appropriately. 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 e23f33367882450c66f7de8805b98ce7665a7ba9 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:33 2015 -0700 ixgbe: Fix 1G and 10G link stability for X550EM_x SFP+ Configures the CS4227 correctly for both 1G and 10G operation, by moving the code to ixgbe_setup_mac_link_sfp_x550em(). It needs to be in this function because we need both the module type and the speed, and this is the only function in the init flow that knows the speed. In contrast, ixgbe_setup_sfp_modules_X550em() does not know the speed, so we can't do anything useful here. This is a fundamental difference from the previous flow, and is due to the way the CS4227 is implemented. 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 6d373a1bbb99bdfb9ce820aec9ae5f2e02c8891f Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:28 2015 -0700 ixgbe: Add X550EM_x dual-speed SFP+ support This patch adds X550EM_x SFP+ dual-speed support. 82599 fiber link code was moved from ixgbe_82599.c to ixgbe_common.c for use by X550EM. SFP MAC link code is added to x550EM. 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 56f6ed1ce13b0cb85ae9537f839df7c4ba1f5369 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:22 2015 -0700 ixgbe: Allow reduced delays during SFP detection Reduce the number of retries during PHY detection. This reduces pauses when no SFP is present. Once an SFP is detected, the normal retry count will be used. 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 6ee8c9a70d65ee37251465348501a067138050d7 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:17 2015 -0700 ixgbe: Clear I2C destination location Clear the destination location for I2C data initially so that the received data will not be affected by previous attempts. This could have returned wrong data in certain retry sequences. 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 57781c1ceead5a3c1cd3ae11834226ef1de21cb5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:03:01 2015 -0500 ipvs: Pass ipvs into ip_vs_gather_frags This will be needed later when the network namespace guessing is removed from ip_defrag. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 9cfdd75b7c049895317aebb0e27f8112e7e31593 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:03:00 2015 -0500 ipvs: Remove skb_sknet This function adds no real value and it obscures what the code is doing. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 7c6c21ee94452081a5219667851d2084a45c5009 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:59 2015 -0500 ipvs: Remove skb_net This hack has no more users so remove it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 7d1f88eca0ae7228bdbd971f060603b3a1270693 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:58 2015 -0500 ipvs: Pass ipvs not net to ip_vs_protocol_net_(init|cleanup) Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 69f390934b26154573fc7c360645ced8b0c7871a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:57 2015 -0500 ipvs: Remove net argument from ip_vs_tcp_conn_listen The argument is unnecessary and in practice confusing, and has caused the callers to do all manner of silly things. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit a43d1a6b97433f7774436307708516ee06592c54 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:56 2015 -0500 ipvs: Pass ipvs through ip_vs_route_me_harder into sysctl_snat_reroute This removes the need to use the hack skb_net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 7b5f689a2c25fbae66683071e895e444658b0eef Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:55 2015 -0500 ipvs: Pass ipvs into ip_vs_out_icmp and ip_vs_out_icmp_v6 This removes the need to compute ipvs with the hack "net_ipvs(skb_net(skb))" Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6f2bcea9917d85ff78b3a497e4a96b77b7bc2dd0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:54 2015 -0500 ipvs: Pass ipvs into ip_vs_in_icmp and ip_vs_in_icmp_v6 With ipvs passed into ip_vs_in_icmp and ip_vs_in_icmp_v6 they no longer need to call the hack that is skb_net. Additionally ipvs_in_icmp no longer needs to call dev_net(skb->dev) and can use the ipvs->net instead. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6e385bb3efdbfaf09b564b93b2a834006802de84 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:53 2015 -0500 ipvs: Pass ipvs into ip_vs_in Derive ipvs from state->net in the callers of ip_vs_in and pass it into ip_vs_out. Removing the need to use the hack skb_net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1b75097dd7a2680d2e209fe452b6fab01a511fb1 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:52 2015 -0500 ipvs: Pass ipvs into ip_vs_out Derive ipvs from state->net in the callers of ip_vs_out and pass it into ip_vs_out. Removing the need to use the hack skb_net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 2300f0451e5fa5016330a5f7878db2ca0858b836 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:51 2015 -0500 ipvs: Pass ipvs not net into sysctl_nat_icmp_send Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 51efbcbbb29708f8b588fda6cca42d26710f14fd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:50 2015 -0500 ipvs: Simplify ipvs and net access in ip_vs_leave Stop using the hack skb_net(skb) to compute the network namespace. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 570329487437d4531eb806accdf98726923367ae Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:49 2015 -0500 ipvs: Wrap sysctl_cache_bypass and remove ifdefs in ip_vs_leave With sysctl_cache_bypass now a compile time constant the compiler can figue out that it can elimiate all of the code that depends on sysctl_cache_bypass being true. Also remove the duplicate computation of net previously necessitated by #ifdef CONFIG_SYSCTL Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 7c08d78e6f122039ab98edf74c3c7b4b15c9fa1d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:48 2015 -0500 ipvs: Better derivation of ipvs in ip_vs_in_stats and ip_vs_out_stats Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 20868a40d0a6d88467d95fb0e5b0448e6a0c83a0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:47 2015 -0500 ipvs: Pass ipvs into ensure_mtu_is adequate This allows two different ways for computing/guessing net to be removed from ensure_mtu_is_adequate. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f5745f8ae6bd1ac5e59031b2e3e91fcbf4b30c5b Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:46 2015 -0500 ipvs: Pass ipvs into __ip_vs_get_out_rt_v6 Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ecfe87b884dc0ed352b783ad2d7787a5883c60ea Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:45 2015 -0500 ipvs: Pass ipvs into __ip_vs_get_out_rt Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 361c3f529332b28408ba7f8e8a4fa3ac23c855ff Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:44 2015 -0500 ipvs: Better derivation of ipvs in ip_vs_tunnel_xmit Don't use "net_ipvs(skb_net(skb))" as skb_net is a bad hack. Instead use cp->ipvs and ipvs->net for the net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit d8f44c335a1111d647f41e9fa6ae65b18db112e4 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:43 2015 -0500 ipvs: Pass ipvs into .conn_schedule and ip_vs_try_to_schedule This moves the hack "net_ipvs(skb_net(skb))" up one level where it will be easier to remove. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 2f3edc6a5bb2a570f491e8e8a4a16526aff3675b Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:42 2015 -0500 ipvs: Pass ipvs not net into ip_vs_conn_net_init and ip_vs_conn_net_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit d889717aaf15475e2bfba76320ecd1e8290f6bc8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:41 2015 -0500 ipvs: Pass ipvs not net into ip_vs_conn_net_flush Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 754b81a35710e02ffada4d80095318a3e57acd48 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:40 2015 -0500 ipvs: Pass ipvs not net to ip_vs_conn_hashkey Use the address of struct netns_ipvs in the hash not the address of struct net. Both addresses are equally valid candidates and by using the address of struct netns_ipvs there becomes no need deal with struct net in this part of the code. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 0cf705c8c2e8333aff5b472cfff13f9542620500 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:39 2015 -0500 ipvs: Pass ipvs into conn_out_get Move the hack of relying on "net_ipvs(skb_net(skb))" to derive the ipvs up a layer. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ab161976421585812bcdab6592852b1b5b7dec1f Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:38 2015 -0500 ipvs: Pass ipvs into .conn_in_get and ip_vs_conn_in_get_proto Stop relying on "net_ipvs(skb_net(skb))" to derive the ipvs as skb_net is a hack. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f5099dd4d98a8cc4ef1003378a4812597cfba4c6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:37 2015 -0500 ipvs: Pass ipvs into ip_vs_conn_fill_param_proto Move the ugly hack net_ipvs(skb_net(skb)) up a layer in the call stack so it is easier to remove. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1281a9c2d181a932ae2f59f5711ae087a58f1c13 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:36 2015 -0500 ipvs: Pass ipvs not net into init_netns and exit_netns Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit c70bd6800abf1fe78d5fca2146f91831e94324d1 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:35 2015 -0500 ipvs: Pass ipvs not net into [un]register_ip_vs_proto_netns Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b5dd212cc147603372d39dbe52480d687c98da7d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:34 2015 -0500 ipvs: Pass ipvs not net into ip_vs_app_net_init and ip_vs_app_net_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 09858708e68c7d9900e631e1e6e91a882e59518d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:33 2015 -0500 ipvs: Pass ipvs not net into ip_vs_app_inc_release Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 9f8128a56ef241753ea038e92948fe13beacf59f Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:32 2015 -0500 ipvs: Pass ipvs not net to register_ip_vs_app and unregister_ip_vs_app Also move the tests for net_ipvs being NULL into __ip_vs_ftp_init and __ip_vs_ftp_exit. The only places where they possibly make sense. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3250dc9c52045dd3f38297d1e189cc147a8db884 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:31 2015 -0500 ipvs: Pass ipvs not net to register_ip_vs_app_inc Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit a080ce38a0b9746ef61af93c0cc300d9131bc8c8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:30 2015 -0500 ipvs: Pass ipvs not net into ip_vs_app_inc_new Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 19648918fbf245ab2dda8c7842c9a83fd412ac35 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:29 2015 -0500 ipvs: Pass ipvs not net into register_app and unregister_app Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit a4dd0360c623e5beac011f3674ff7e13b35b5b05 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:28 2015 -0500 ipvs: Pass ipvs not net to ip_vs_estimator_net_init and ip_vs_estimator_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 70a131a2c815935ecb3b5fa5cb53e6244823d5ff Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:27 2015 -0500 ipvs: Pass ipvs not net to estimation_timer Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3d99376689ee40d4e88c90d26588268a4fccb383 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:26 2015 -0500 ipvs: Pass ipvs not net into ip_vs_control_net_(init|cleanup) Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 8b8237a5814d96e2740e9f74ca37688b46625314 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:25 2015 -0500 ipvs: Pass ipvs not net to ip_vs_control_net_(init|cleanup)_sysctl Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 423b55954de222380a6b63c5b6ae7b6686e98e63 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:24 2015 -0500 ipvs: Pass ipvs not net to ip_vs_random_drop_entry Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 0f34d54bf48892f23e2abef2f9fd8d0237db4623 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:23 2015 -0500 ipvs: Pass ipvs not net to ip_vs_start_estimator aned ip_vs_stop_estimator Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit cacd1e60f1f2fb863b2272b8557c4fb0d3bc69e9 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:22 2015 -0500 ipvs: Pass ipvs not net to ip_vs_genl_set_config Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ebea1f7c0b8c0bb02045c87e4b548a31fc5612a6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:21 2015 -0500 ipvs: Pass ipvs not net to ip_vs_sync_net_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 802cb43703d080bd6269578bf6747189b654cc24 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:20 2015 -0500 ipvs: Pass ipvs not net to ip_vs_sync_net_init Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1fc12004d2fdb31c1b5db58d51a19bc145f6fcf7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:19 2015 -0500 ipvs: Pass ipvs not net to ip_vs_proc_sync_conn Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 4f30665bac73cba452fe49f97c51e663b9fec34c Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:18 2015 -0500 ipvs: Pass ipvs not net to ip_vs_proc_conn Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b61a8c1a40c2a9417eb6f710cce54353d195c9c7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:17 2015 -0500 ipvs: Pass ipvs not net to ip_vs_sync_conn Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 72e9481e28e4f982b91a58ebce86d27b395d8789 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:16 2015 -0500 ipvs: Pass ipvs not net to ip_vs_sync_conn_v0 Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 7d537f3ab7694709981498c37233a0874d18c639 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:15 2015 -0500 ipvs: Pass ipvs not net to ip_vs_process_message Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 37b68e6ded49c0b7e7434a4ecd17c5553e576b4d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:14 2015 -0500 ipvs: Store ipvs not net in struct ip_vs_sync_thread_data In practice struct netns_ipvs is as meaningful as struct net and more useful as it holds the ipvs specific data. So store a pointer to struct netns_ipvs. Update the accesses of tinfo->net to access tinfo->ipvs->net instead. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit fd124e2f8bb2ff94a1547a8f1d9741e7ffef1bbb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:13 2015 -0500 ipvs: Pass ipvs not net to make_receive_sock Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 68c76b6aa0e02b727e931cd9ce7d969e94a8e845 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:12 2015 -0500 ipvs: Pass ipvs not net to make_send_sock Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b3cf3cbfb57c273cf9f88230416fcc5b97287862 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:11 2015 -0500 ipvs: Pass ipvs not net to stop_sync_thread Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6ac121d710697cee894d6981b804583b0a66ed38 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:10 2015 -0500 ipvs: Pass ipvs not net to start_sync_thread Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit df04ffb766a6eca2805d77e4f38beb7a9764c384 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:09 2015 -0500 ipvs: Pass ipvs not net to ip_vs_genl_del_daemon Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit d8443c5f2b6524bbad465073330f6dba458f8871 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:08 2015 -0500 ipvs: Pass ipvs not net to ip_vs_genl_new_daemon Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 34c2f5146c6567843b6507aaedd794725ba91496 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:07 2015 -0500 ipvs: Pass ipvs not net to ip_vs_genl_find_service Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 613fb830b75d6cd0f41f8365d031d10346ac637d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:06 2015 -0500 ipvs: Pass ipvs not net to ip_vs_genl_parse_service Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit af5403419d1c14bdae11eee55083a0ae308c6ecf Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:05 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_get_timeouts Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 08fff4c3576451cdb33bf1606c90a27c222aae73 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:04 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_get_dest_entries Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b2876b7773f3dbd3989d6e1dbeb2cbe879d84fbd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:03 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_get_service_entries Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f1faa1e7495445444c3227f698dacee50176ace0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:02 2015 -0500 ipvs: Pass ipvs not net to ip_vs_set_timeout Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 18d6ade63c8d796c272e2b4922d649cf108d7980 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:01 2015 -0500 ipvs: Pass ipvs not net to ip_vs_proto_data_get Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit a47b4300801978745bca9fd08d848b9024eed797 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:00 2015 -0500 ipvs: Cache ipvs in ip_vs_in_icmp and ip_vs_in_icmp_v6 Storte the value of net_ipvs in a variable named ipvs so that when there are more users struct netns_ipvs in ip_vs_in_cmp and ip_vs_in_icmp_v6 they won't need to compute the value again. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit c60856c687d601e908950289f5b3917253e98cb6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:59 2015 -0500 ipvs: Pass ipvs not net to ip_vs_zero_all Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 56d2169b7734f9b5cb2a4e66887ce6dc33d53632 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:58 2015 -0500 ipvs: Pass ipvs not net to ip_vs_service_net_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ef7c599d91172d388463c61da6d47d5bb002ca4d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:57 2015 -0500 ipvs: Pass ipvs not net to ip_vs_flush Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 5060bd8307fcfbd405c6038228e8927e593b2008 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:56 2015 -0500 ipvs: Pass ipvs not net to ip_vs_add_service Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit cd58278bd4a409af4619bb1d7dc4d80dc3017a50 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:55 2015 -0500 ipvs: Cache ipvs in ip_vs_genl_set_cmd Compute ipvs early in ip_vs_genl_set_cmd and use the cached value to access ipvs->sync_state. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 8e743f1b455d40dd34dd76a234e3a01427a7d123 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:54 2015 -0500 ipvs: Pass ipvs not net to ip_vs_dest_trash_expire Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 79ac82e0aaff327383beb860150fb2a85aa7b743 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:53 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_del_dest Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6c0e14f507364d6a87bb7ce349ba2d97c2ea9480 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:52 2015 -0500 ipvs: Pass ipvs not net to ip_vs_trash_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit dc2add6f2e35916afd6ffcd7819a06ce9b28063d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:51 2015 -0500 ipvs: Pass ipvs not net to ip_vs_find_dest Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 48aed1b029597d5f33316b1e978392fe30814f8d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:50 2015 -0500 ipvs: Pass ipvs not net to ip_vs_has_real_service Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 0a4fd6ce92460ec325f7e56813645e4308da170e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:49 2015 -0500 ipvs: Pass ipvs not net to ip_vs_service_find Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit bb2e2a8c957fd1ae323b84d8a1c3268233669f83 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:48 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_service_find Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ba61f39034dc296990fa2dd7a9c2720f49beee1e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:47 2015 -0500 ipvs: Pass ipvs not net to ip_vs_svc_hashkey Use the address of ipvs not the address of net when computing the hash value. This removes an unncessary dependency on struct net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1ed8b947806155c1898c1af7c664aff1690ca22e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:46 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_svc_fwm_find ipvs is what the code actually wants to use. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f6510b245e0b32b67d836b2ff5c0b132a58a8cbe Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:45 2015 -0500 ipvs: Pass ipvs not net to ip_vs_svc_fwm_hashkey Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3109d2f2d1fe068f1cc3b1f74f5022ab4aef52a7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:44 2015 -0500 ipvs: Store ipvs not net in struct ip_vs_service In practice struct netns_ipvs is as meaningful as struct net and more useful as it holds the ipvs specific data. So store a pointer to struct netns_ipvs. Update the accesses of param->net to access param->ipvs->net instead. In functions where we are searching for an svc and filtering by net filter by ipvs instead. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 19913dec1bc1d1aa5afe26db858507d4c3042665 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:43 2015 -0500 ipvs: Pass ipvs not net to ip_vs_fill_conn ipvs is what is actually desired so change the parameter and the modify the callers to pass struct netns_ipvs. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit e64e2b460cedadf93d05a23e9ad397cc0386568c Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:42 2015 -0500 ipvs: Store ipvs not net in struct ip_vs_conn_param In practice struct netns_ipvs is as meaningful as struct net and more useful as it holds the ipvs specific data. So store a pointer to struct netns_ipvs. Update the accesses of param->net to access param->ipvs->net instead. When lookup up struct ip_vs_conn in a hash table replace comparisons of cp->net with comparisons of cp->ipvs which is possible now that ipvs is present in ip_vs_conn_param. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 58dbc6f2604a2cbff9e6ec144d1bb9d000a1a1ec Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:41 2015 -0500 ipvs: Store ipvs not net in struct ip_vs_conn In practice struct netns_ipvs is as meaningful as struct net and more useful as it holds the ipvs specific data. So store a pointer to struct netns_ipvs. Update the accesses of conn->net to access conn->ipvs->net instead. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit d484fc38124bc198b9285c80d709c9e4ee032085 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:40 2015 -0500 ipvs: Use state->net in the ipvs forward functions Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 717e917ddfa8db628041490eb44bce5815e947fd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:39 2015 -0500 ipvs: Don't use current in proc_do_defense_mode Instead store ipvs in extra2 so that proc_do_defense_mode can easily find the ipvs that it's value is associated with. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1daea8ed16ae3f949eb82893cd8656f3f08125eb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:38 2015 -0500 ipvs: Hoist computation of ipvs earlier in sctp_conn_schedule The addition of sysctl_sloppy_sctp in sctp_conn_schedule resulted in a use of ipvs before it was computed. Hoist the computation of ipvs earlier to avoid this problem. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 06e60e5912c0373b15143cc52e4a11fafeaafff3 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Tue Sep 22 14:27:16 2015 +0300 net/ethoc: support big-endian register layout Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bb6aa56bb388ac4f7dba226aa55142fa8c65361 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Sep 22 10:57:04 2015 +0200 net: davinci_emac: Add support for fixed-link PHY In case the DaVinci Emac is directly connected to a non-mdio PHY/device, it should be possible to provide a fixed link configuration in the DT. Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6bd9b5448a9362e3ca33b21f1461baa5500520f Author: Shrikrishna Khare <skhare@xxxxxxxxxx> Date: Mon Sep 21 20:01:29 2015 -0700 Driver: Vmxnet3: Extend register dump support Signed-off-by: Shrikrishna Khare <skhare@xxxxxxxxxx> Signed-off-by: Bhavesh Davda <bhavesh@xxxxxxxxxx> Acked-by: Srividya Murali <smurali@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6015a6c137e5bb5c0484ebe546540f88d690cfd5 Merge: 16cfbae 25b1029 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 23 14:52:02 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-22 This series contains updates to e1000, e1000e, igbvf, ixgbe, ixgbevf and fm10k. Jacob provides several updates for fm10k, which cleans up comments and most notably a fix for a corner case issue with the PF/VF mailbox code. The issue being fm10k_mbx_reset_work clears various states about the mailbox, but does not clear the Tx FIFO head/tail pointers. We also are not able to simply clear these pointers, as we would drop untransmitted messages without error. Also adds support for extra debug statistics, which provides the ability to see what the PF thinks the VF mailboxes look like. Don adds support for SFP+ in X550 and support for SCTP flow director filters SCTP mask. Francois Romieu dusts off the e1000 driver and removes some dead calls to e1000_init_eeprom_params(). Toshiaki Makita provides three patches to enable TSO for stacked VLAN's on e1000e, igbvf and ixgbevf. Mark provides the first of several ixgbe updates. First updates the driver to accept SFP not present error for all devices, since an SFP can still be inserted. Adds support for SFP insertion interrupt on X550EM devices with SPFs. Adds I2C combined operations on X550EM (not X550) devices. Moved the setting of lan_id to before any I2C eeprom access. Lastly, set the bit bang mode in the hardware when performing bit banding I2C operations on X550. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16cfbae160c46eadf0105892b676c365b051bfc2 Merge: 34ea90e 45ffda7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 23 14:35:59 2015 -0700 Merge branch 'bridge_external_fdb_aging' Scott Feldman says: ==================== bridge: don't age out externally added FDB entries v3: Per davem review: add del_timer_sync on rocker port remove. v2: Per Jiri review comment: add BR_DEFAULT_AGEING_TIME to defines Siva originally proposed skipping externally added FDB entries in the bridge's FDB garbage collection func, and moving the ageing of externally added entries to the port driver/device. This broke rocker, since rocker didn't have a hardware (or software) mechanism for ageing out its learned FDB entries. This patchset reintroduces Siva's bridge driver patch to skip externally added entries and adds support in rocker so rocker can age out its own entries. Rocker does this using a software timer similar to the bridge's FDB garbage collection timer. Other switchdev devices/drivers can use this software timer method or program the device to nofity aged-out entries to the driver. Updated switchdev.txt documentation to reflect current state-of-the-art. This removes one more XXX todo comment in switchdev.txt. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45ffda75e145ed7a2b40f6a5de35431d7e62d1f0 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:20 2015 -0700 switchdev: update documentation on FDB ageing_time Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcd45e06496ca586db35949d1d92d48aab8a0a00 Author: Siva Mannem <siva.mannem.lnx@xxxxxxxxx> Date: Wed Sep 23 08:39:19 2015 -0700 bridge: don't age externally added FDB entries Signed-off-by: Siva Mannem <siva.mannem.lnx@xxxxxxxxx> Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Premkumar Jonnala <pjonnala@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52fe3e2d51d27c0e68b2bea29dea0b64af2c665e Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:18 2015 -0700 rocker: add FDB cleanup timer Add a timer to each rocker switch to do FDB entry cleanup by ageing out expired entries. The timer scheduling algo is copied from the bridge driver, for the most part, to keep the firing of the timer to a minimum. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7335703e33e7787333872a31e0f4491f9d76cac Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:17 2015 -0700 rocker: adding port ageing_time for ageing out FDB entries Follow-up patcheset will allow user to change ageing_time, but for now just hard-code it to a fixed value (the same value used as the default for the bridge driver). Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a79e88d9fbbe2e3ecb9d883fb59dca7468d42d79 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:16 2015 -0700 bridge: define some min/max/default ageing time constants Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c660496c95af93f3461c06d46fd33c0719625db Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:15 2015 -0700 rocker: store rocker_port in fdb key rather than pport We'll need more info from rocker_port than just pport when we age out fdb entries, so store rocker_port rather than pport in each fdb entry. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a471be41f2bfe4ee3a4b38b0e5af17d0abfd3aa6 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:14 2015 -0700 rocker: track when FDB entry is touched. The entry is touched once when created, and touched again for each update. The touched time is used to calculate FDB entry age. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34ea90ef725405a0b431843b775fb9f4021da6ae Merge: e1ffc0c 5cf8ca0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 23 14:29:02 2015 -0700 Merge branch 'cls_bpf-next' Daniel Borkmann says: ==================== Minor cls_bpf updates Some minor updates resp. follow-ups on cls_bpf, please see individual patches for details. Will follow with the iproute2 patch after this series. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5cf8ca0e473df01c9b78894d6e62afa2e1d1166f Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 23 21:56:48 2015 +0200 cls_bpf: further limit exec opcodes subset Jamal suggested to further limit the currently allowed subset of opcodes that may be used by a direct action return code as the intention is not to replace the full action engine, but rather to have a minimal set that can be used in the fast-path on things like ingress for some features that cls_bpf supports. Classifiers can, of course, still be chained together that have direct action mode with those that have a full exec pass. For more complex scenarios that go beyond this minimal set here, the full tcf_exts_exec() path must be used. Suggested-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef146fa40cc3af1dcb13688f41cc06a9c0deb01c Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 23 21:56:47 2015 +0200 cls_bpf: make binding to classid optional The binding to a particular classid was so far always mandatory for cls_bpf, but it doesn't need to be. Therefore, lift this restriction as similarly done in other classifiers. Only a couple of qdiscs make use of class from the tcf_result, others don't strictly care, so let the user choose his needs (those that read out class can handle situations where it could be NULL). An explicit check for tcf_unbind_filter() is also not needed here, as the previous r->class was 0, so the xchg() will return that and therefore a callback to the qdisc's unbind_tcf() is skipped. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf007d1c75aceb4e8a407f325d42ee9958049a31 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 23 21:56:46 2015 +0200 cls_bpf: also dump TCA_BPF_FLAGS In commit 43388da42a49 ("cls_bpf: introduce integrated actions") we have added TCA_BPF_FLAGS. We can also retrieve this information from the prog, dump it back to user space as well. It's useful in tc when displaying/dumping filter info. Also, remove tp from cls_bpf_prog_from_efd(), came in as a conflict from a rebase and it's unused here (later work may add it along with a real user). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1ffc0cd2c2698d272121fb85fcb012994c4112c Merge: 927ab1d 834c952 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 23 14:27:24 2015 -0700 Merge tag 'arcnet-cleanup-v4.3-rc2' of git://git.pengutronix.de/git/mgr/linux Michael Grzeschik says: ==================== ARCNET: refactoring and cleanup This series cleans up the code in drivers/net/arcnet and include/uapi/linux/if_arcnet.h . It doesn't change the runtime behaviour of the code. Its only purpose is to improve the code maintenance and readability. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 927ab1d764565aec36ace1d017fa14c1e84f2769 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 23 22:20:15 2015 +0200 sched, bpf: let stack handle !IFF_UP devs on bpf_clone_redirect Similarly as already the case in bpf_redirect()/skb_do_redirect() pair, let the stack deal with devs that are !IFF_UP. dev_forward_skb() as well as dev_queue_xmit() will free the skb and increment drop counter internally in such cases, so we can spare the condition in bpf_clone_redirect(). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 644d0e6569582872e448b1d39b9338d5e4021faa Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Sep 23 14:13:35 2015 -0700 ipv6 Use get_hash_from_flowi6 for rt6 hash In rt6_info_hash_nhsfn replace the custom hashing over flowi6 that is using xor with a call to common function get_hash_from_flowi6. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eda01dab53b1126a20da98b5d691f3e55d79f21d Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 23 13:51:15 2015 -0700 HID: wacom: Add four new Intuos devices This series of devices supports both pen and touch. It reports touch data in Bamboo3 format and pen data in Intuos pro format. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Tested-By: Aaron Skomra <aaron.skomra@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 3b164a00a9fc0e8df88291a671bb3de37aa3340f Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 23 09:59:10 2015 -0700 HID: wacom: Cleanup unsupported device_type for BAMBOO_PT Not all Bamboo support both pen and touch. Make sure we deal with pen only and touch only devices properly. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Tested-By: Aaron Skomra <aaron.skomra@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1d2f1e084b7386b4082ebc2490ce0ddc8efe5667 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Sep 22 10:21:48 2015 +0800 iio: light: apds9960: fix platform_no_drv_owner.cocci warnings drivers/iio/light/apds9960.c:1125: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: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ebe5c543cf8ed3010881a8d863e954b961013fea Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Sep 22 10:21:48 2015 +0800 iio: apds9960: light: fix simple_return.cocci warnings drivers/iio/light/apds9960.c:986:1-4: WARNING: end returns can be simpified Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 36736cc66bcedcd25b65faff43e352491409971f Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Sep 22 10:16:48 2015 +0800 iio: adc: vf610: fix simple_return.cocci warnings drivers/iio/adc/vf610_adc.c:766:1-4: WARNING: end returns can be simpified and declaration on line 755 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: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9214185b515ed550fe67c912ca446b4524f01603 Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Wed Sep 16 11:14:12 2015 +0300 devicetree: Add documentation for UPISEMI us5182d ALS and Proximity sensor Added entries in i2c/vendor-prefixes for the us5182d als and proximity sensor. Also added a documentation file for this sensor's properties. Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c14f8abe5304ba46b898cd381a0857fd61f87200 Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Wed Sep 16 11:14:11 2015 +0300 iio: light: Add support for UPISEMI uS5182d als and proximity sensor Add support for UPISEMI us5182d als and proximity sensor. Supports raw readings. Data sheet for this device can be found here: http://www.upi-semi.com/temp/uS5182D-DS-P0103-temp.pdf Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit fd2bb310ca3d3621a0f201e018e1292dca95df6e Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Sep 11 16:59:30 2015 +0300 Staging: iio: Move evgen interrupt generation to irq_work Enhance interrupt generation in the dummy driver and expand its usage by introducing the irq_work infrastructure to trigger an interrupt. This way, the irq_work_queue() wrapper permits calling both of the top half and threaded part from a hard irq context, unlike handle_nested_irq(), which only calls the threaded part. As an outcome, the driver succeeds in simulating real hardware interrupts, while keeping the normal interrupt flow. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit cd8d97774f23c601d0ed66b5035bcc77dd665b10 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Sep 13 20:26:14 2015 -0700 iio: chemical: add SGX VZ89x VOC sensor support Add support for VZ89X sensors VOC and CO2 reporting channels in percentage which can be converted to part per million. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9bff3131cfb30ef761adfad08c4a0a1b7faf1e20 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Sep 13 20:26:13 2015 -0700 devicetree: add SGX Sensortech vendor id Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d38d54692d454e4dded125677e39f53514dc4277 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Sep 13 20:26:12 2015 -0700 iio: resistance: add IIO_RESISTANCE channel type Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8ff6b3bc9493089247e012a9fcba7198e194b4a5 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Sep 13 20:26:11 2015 -0700 iio: chemical: Add IIO_CONCENTRATION channel type There are air quality sensors that report data back in parts per million of VOC (Volatile Organic Compounds) which are usually indexed from CO2 or another common pollutant. This patchset adds an IIO_CONCENTRATION type that returns a percentage of substance because no other channels types fit this use case. Modifiers for IIO_MOD_CO2 and IIO_MOD_VOC gas types are defined. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0df5a5488b6d157eabfdc0747c87c08bd7431a56 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 19:02:00 2015 +0200 iio: adc: twl6030-gpadc: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e09f56f3f09638a0f0120be81352378ed1727431 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 19:02:32 2015 +0200 iio: dac: max5821: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b2a768949c4906d87fd0c65b39752e599b5a1860 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:13 2015 +0200 iio: mma8452: leave sysfs namings to the iio core This doesn't actually change anything since the core names the sysfs folder for the iio event attributes "events" anyways. It only leaves the job to the core. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d6223c3737bd9680f1fb6c058bdfca41ee24e2da Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:12 2015 +0200 iio: mma8452: add copyright notice comment Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 417e008ba9db7ce4b4e48131c6f69829e9886b3e Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:11 2015 +0200 iio: mma8452: add support for MMA8652FC and MMA8653FC MMA8652FC and MMA8653FC don't provide the transient interrupt source, so the motion interrupt source is used by providing a new iio_chan_spec definition, so that other supported devices are not affected by this. Datasheets for the newly supported devices are available at Freescale's website: http://cache.freescale.com/files/sensors/doc/data_sheet/MMA8652FC.pdf http://cache.freescale.com/files/sensors/doc/data_sheet/MMA8653FC.pdf Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 60f562e74e75716cc121cc7adb2dcb43c17709bf Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:10 2015 +0200 iio: mma8452: add freefall / motion interrupt source This adds the freefall / motion interrupt source definitions to the driver. It is used in this series' next patch, for chips that don't support the transient interrupt source. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c5ea1b58e8f51d8cd72e46cc398742988a614054 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:09 2015 +0200 iio: mma8452: add support for MMA8453Q accelerometer chip This adds support for the 10 bit version if Freescale's accelerometers of this series. The datasheet is available at Freescale's website: http://cache.freescale.com/files/sensors/doc/data_sheet/MMA8453Q.pdf It creates a devicetree bindings file to document the new functionality and removes the driver from the trivial-devices list. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c3cdd6e48e35b7a02f28e301ef30a87ff3cd6527 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:08 2015 +0200 iio: mma8452: refactor for seperating chip specific data This adds a struct mma_chip_info to hold data that will remain specific to the chip in use. It is provided during probe() and linked in struct of_device_id. Also this suggests that the driver is called "mma8452" and now handles the MMA8452Q device, but is not limited to it. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit afc7da6e486c04244766da9fe2574d972125a602 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:00:29 2015 +0530 Staging: iio: addac: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro. This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 01b721536b4128c1e17c596650198bfc36ad8c6c Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:00:30 2015 +0530 Staging: iio: meter: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4839367d99e3b067d3c2e9404ae320c100d090c7 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Sep 6 13:27:39 2015 -0700 iio: humidity: add HDC100x support Add support for the HDC100x temperature and humidity sensors including the resistive heater element. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7db75fd615a6d77230315c52f9c79b2102ef2bfe Author: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 17:28:20 2015 +0300 dt: Document Holt HI-8435 bindings These bindings can be used to register Holt HI-8435 threshold detector Signed-off-by: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 72aa29ce0a59779dcda91e967600a0f8637945a6 Author: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 17:27:52 2015 +0300 iio: adc: hi8435: Holt HI-8435 threshold detector Add Holt threshold detector driver for HI-8435 chip Signed-off-by: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0b26cd69480d4d99f39042c6621a05af7496b3da Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Sep 21 18:26:45 2015 -0500 PCI: Clear IORESOURCE_UNSET when reverting to firmware-assigned address If pci_assign_resource() fails to assign space for a BAR, we may restore the BAR to whatever firmware left there at boot-time (this depends on whether the arch implements pcibios_retrieve_fw_addr()). The messages we print are not as useful as they could be: pci 0000:00:01.0: BAR 15: assigned [mem 0xc0000000-0xc01fffff 64bit pref] pci 0000:01:00.0: BAR 0: no space for [mem size 0x10000000 pref] pci 0000:01:00.0: BAR 0: trying firmware assignment [mem size 0x10000000 pref] pci 0000:01:00.0: BAR 0: [mem size 0x10000000 pref] conflicts with PCI Bus 0000:00 [mem 0xc0000000-0xffffffff window] The last two lines should contain the actual BAR address, not the size. Clear IORESOURCE_UNSET so we print the address. If requesting the firmware-assigned resource fails, mark it IORESOURCE_UNSET again. This is a cosmetic change to clarify the message: previously, if pci_revert_fw_address() succeeded, pci_assign_resource() cleared IORESOURCE_UNSET anyway, so this isn't really a functional change. Link: https://bugzilla.kernel.org/show_bug.cgi?id=85491#c50 Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 4922e7a1b767fcf6f29ce121ad74e424f4045eff Merge: 727e53a c81740e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:30 2015 -0700 Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next commit 727e53a12fed3ab2d5fadb7aa3c510d506a9d716 Merge: e32efed3 1ff68f5 6c84e591 03d3964 31f4f0c 3e8f526 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:27 2015 -0700 Merge remote-tracking branches 'asoc/topic/sh', 'asoc/topic/simple', 'asoc/topic/spear', 'asoc/topic/sunxi' and 'asoc/topic/tlv320aic3x' into asoc-next commit e32efed3ead2c5035cf6b15714904396f25e8dd7 Merge: 9abbe73 baafd37 8985729 462c30b 9d70594 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:25 2015 -0700 Merge remote-tracking branches 'asoc/topic/pxa', 'asoc/topic/qcom', 'asoc/topic/rcar' and 'asoc/topic/rockchip' into asoc-next commit 9abbe73e7d49ff7939c9a45bf50647cf47b05abf Merge: f7b9315 27fcf91 30953a8 887e83e cde7903 5b73de1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:22 2015 -0700 Merge remote-tracking branches 'asoc/topic/jz4740', 'asoc/topic/kirkwood', 'asoc/topic/mtk', 'asoc/topic/multi' and 'asoc/topic/mxs' into asoc-next commit f7b93159abf368565ff6bd222bbd2412f4a22c5c Merge: 97e15d9 76b0d1f 14a998b c759241 9529138 5b97c0f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:19 2015 -0700 Merge remote-tracking branches 'asoc/topic/blackfin', 'asoc/topic/davinci', 'asoc/topic/fsl', 'asoc/topic/hdmi' and 'asoc/topic/intel' into asoc-next commit 97e15d9a8be199788cd8d138fd65943c81c61b88 Merge: f950aa9 e3a4d95 544637b ccaadda 3f8958c 2342caf Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:16 2015 -0700 Merge remote-tracking branches 'asoc/topic/ak4613', 'asoc/topic/ak4642', 'asoc/topic/arizona', 'asoc/topic/atmel' and 'asoc/topic/au1x' into asoc-next commit f950aa96d153586c04d74c11e6835605fb71cc5d Merge: ed14ee0 de3f8fd Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:15 2015 -0700 Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-next commit de3f8fdf7393e4259b68ae8cea806c39d602769e Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Sep 23 14:35:27 2015 +0800 ASoC: rt5645: Remove the repeated definitions Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bc07c10a3603a5ab3ef01ba42b3d41f9ac63d1b6 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:51 2015 +0800 block: loop: support DIO & AIO There are at least 3 advantages to use direct I/O and AIO on read/write loop's backing file: 1) double cache can be avoided, then memory usage gets decreased a lot 2) not like user space direct I/O, there isn't cost of pinning pages 3) avoid context switch for obtaining good throughput - in buffered file read, random I/O top throughput is often obtained only if they are submitted concurrently from lots of tasks; but for sequential I/O, most of times they can be hit from page cache, so concurrent submissions often introduce unnecessary context switch and can't improve throughput much. There was such discussion[1] to use non-blocking I/O to improve the problem for application. - with direct I/O and AIO, concurrent submissions can be avoided and random read throughput can't be affected meantime xfstests(-g auto, ext4) is basically passed when running with direct I/O(aio), one exception is generic/232, but it failed in loop buffered I/O(4.2-rc6-next-20150814) too. Follows the fio test result for performance purpose: 4 jobs fio test inside ext4 file system over loop block 1) How to run - KVM: 4 VCPUs, 2G RAM - linux kernel: 4.2-rc6-next-20150814(base) with the patchset - the loop block is over one image on SSD. - linux psync, 4 jobs, size 1500M, ext4 over loop block - test result: IOPS from fio output 2) Throughput(IOPS) becomes a bit better with direct I/O(aio) ------------------------------------------------------------- test cases |randread |read |randwrite |write | ------------------------------------------------------------- base |8015 |113811 |67442 |106978 ------------------------------------------------------------- base+loop aio |8136 |125040 |67811 |111376 ------------------------------------------------------------- - somehow, it should be caused by more page cache avaiable for application or one extra page copy is avoided in case of direct I/O 3) context switch - context switch decreased by ~50% with loop direct I/O(aio) compared with loop buffered I/O(4.2-rc6-next-20150814) 4) memory usage from /proc/meminfo ------------------------------------------------------------- | Buffers | Cached ------------------------------------------------------------- base | > 760MB | ~950MB ------------------------------------------------------------- base+loop direct I/O(aio) | < 5MB | ~1.6GB ------------------------------------------------------------- - so there are much more page caches available for application with direct I/O [1] https://lwn.net/Articles/612483/ Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ab1cb278bc7027663adbfb0b81404f8398437e11 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:50 2015 +0800 block: loop: introduce ioctl command of LOOP_SET_DIRECT_IO If loop block is mounted via 'mount -o loop', it isn't easy to pass file descriptor opened as O_DIRECT, so this patch introduces a new command to support direct IO for this case. Cc: linux-api@xxxxxxxxxxxxxxx Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2e5ab5f379f96a6207c45be40c357ebb1beb8ef3 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:49 2015 +0800 block: loop: prepare for supporing direct IO This patches provides one interface for enabling direct IO from user space: - userspace(such as losetup) can pass 'file' which is opened/fcntl as O_DIRECT Also __loop_update_dio() is introduced to check if direct I/O can be used on current loop setting. The last big change is to introduce LO_FLAGS_DIRECT_IO flag for userspace to know if direct IO is used to access backing file. Cc: linux-api@xxxxxxxxxxxxxxx Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e03a3d7a94e2485b6e2fa3fb630b9b3a30b65718 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:48 2015 +0800 block: loop: use kthread_work The following patch will use dio/aio to submit IO to backing file, then it needn't to schedule IO concurrently from work, so use kthread_work for decreasing context switch cost a lot. For non-AIO case, single thread has been used for long long time, and it was just converted to work in v4.0, which has caused performance regression for fedora live booting already. In discussion[1], even though submitting I/O via work concurrently can improve random read IO throughput, meantime it might hurt sequential read IO performance, so better to restore to single thread behaviour. For the following AIO support, it is better to use multi hw-queue with per-hwq kthread than current work approach suppose there is so high performance requirement for loop. [1] http://marc.info/?t=143082678400002&r=1&w=2 Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5b5e20f421c0b6d437b3dec13e53674161998d56 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:47 2015 +0800 block: loop: set QUEUE_FLAG_NOMERGES for request queue of loop It doesn't make sense to enable merge because the I/O submitted to backing file is handled page by page. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 53cbf3b157a0428d40989ab1c7df9228a1976fc2 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:46 2015 +0800 fs: direct-io: don't dirtying pages for ITER_BVEC/ITER_KVEC direct read When direct read IO is submitted from kernel, it is often unnecessary to dirty pages, for example of loop, dirtying pages have been considered in the upper filesystem(over loop) side already, and they don't need to be dirtied again. So this patch doesn't dirtying pages for ITER_BVEC/ITER_KVEC direct read, and loop should be the 1st case to use ITER_BVEC/ITER_KVEC for direct read I/O. The patch is based on previous Dave's patch. Reviewed-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5948edbcbf43759586cdf2656d293ea7de310280 Author: Roman Pen <r.peniaev@xxxxxxxxx> Date: Tue Sep 15 08:27:25 2015 -0600 fs/mpage.c: forgotten WRITE_SYNC in case of data integrity write In case of wbc->sync_mode == WB_SYNC_ALL we need to do data integrity write, thus mark request as WRITE_SYNC. akpm: afaict this change will cause the data integrity write bios to be placed onto the second queue in cfq_io_cq.cfqq[], which presumably results in special treatment. The documentation for REQ_SYNC is horrid. Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f75782e4e067fd68249635699cb20dfe0489d743 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Mon Sep 14 18:16:02 2015 +0100 block: kmemleak: Track the page allocations for struct request The pages allocated for struct request contain pointers to other slab allocations (via ops->init_request). Since kmemleak does not track/scan page allocations, the slab objects will be reported as leaks (false positives). This patch adds kmemleak callbacks to allow tracking of such pages. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Tested-by: Bart Van Assche<bart.vanassche@xxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 28153a31b8b6c44e4f1e24dafce2f1b22cec427b Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Mon Sep 21 16:58:20 2015 +0200 bq2415x_charger: Fix null pointer dereference Commit b68c3161430a (bq2415x_charger: Allow to load and use driver even if notify device is not registered yet) introduced null pointer dereference in case bq is NULL. This patch fixes it. Fixes: b68c3161430a ("bq2415x_charger: Allow to load and use driver even if notify device is not registered yet") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ebd173beb8db5b8b315fa1c5bbac86c54059397a Author: Theodore Ts'o <tytso@xxxxxxx> Date: Wed Sep 23 12:46:17 2015 -0400 ext4: move procfs registration code to fs/ext4/sysfs.c This allows us to refactor the procfs code, which saves a bit of compiled space. More importantly it isolates most of the procfs support code into a single file, so it's easier to #ifdef it out if the proc file system has been disabled. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 76d33bca5581b1dd5c3157fa168db849a784ada4 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Wed Sep 23 12:45:17 2015 -0400 ext4: refactor sysfs support code Make the code more easily extensible as well as taking up less compiled space. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b5799018827e67867fda77c3cde10fc080606fe2 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Wed Sep 23 12:44:17 2015 -0400 ext4: move sysfs code from super.c to fs/ext4/sysfs.c Also statically allocate the ext4_kset and ext4_feat objects, since we only need exactly one of each, and it's simpler and less code if we drop the dynamic allocation and deallocation when it's not needed. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 8807feb91b76dc3267cef58302aaeff3430cb8f2 Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:11 2015 -0500 power: bq27xxx_battery: Add interrupt handling support Some devices have a pin that can generate an interrupt when the battery's status changes. Add an interrupt handler to read the new battery status. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 74aab849f3423f3f783a8e5e9767572c2b59b353 Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:10 2015 -0500 power: bq27xxx_battery: Cleanup health checking Reorganize the logic checking battery health and add under temperature condition checking. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit cd1736ad0a6f0f7a31773ddf90040bd15969bc21 Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Mon Sep 21 14:02:29 2015 +0100 drm/i915: Remove extraneous request cancel. Remove extraneous request cancel in request allocation failure path in intel_lr_context_deferred_alloc (Tvrtko Ursulin) Regression from: commit e84fe80337dc85cca07d0417ea97edbec4789d8b Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Fri Sep 11 12:53:46 2015 +0100 drm/i915: Split alloc from init for lrc Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dedf278ce69cac6b29c324d280183da31093e0b0 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Sep 21 10:45:35 2015 +0100 drm/i915: Enable querying offset of UV plane with intel_plane_obj_offset v2: Rebase. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 89e3e1427629027dc33e576fc002880a02a7e50c Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Sep 21 10:45:34 2015 +0100 drm/i915: Support NV12 in rotated GGTT mapping Just adding the rotated UV plane at the end of the rotated Y plane. v2: Rebase. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 804beb4b5b76e41352b41027ab2804b8462c1686 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Sep 21 10:45:33 2015 +0100 drm/i915: Support appending to the rotated pages mapping By providing a start offset into the source array of pages, and returning the end position in the scatter-gather table, we will be able to append the UV plane to the rotated mapping in later patches. v2: Rebase. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe47ea0cfa4adffe2a20edb22376d7af76b6a74c Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Sep 21 10:45:32 2015 +0100 drm/i915: Support planar formats in tile height calculations This will be needed for NV12 support. v2: Rebase. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ca4163a612068d8f942c454218d3d631f22af1b Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 18 17:52:47 2015 +0100 drm/i915/bxt: Update revision id for BXT C0 Cc: Nick Hoath <nicholas.hoath@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d2aa5ae8e721bfe319e68ef5c08380385d452787 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:23 2015 +0300 drm/i915: Parametrize CSR_PROGRAM registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9712e68840cf09d138be6226f6e6f6dcd9b009f1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:22 2015 +0300 drm/i915: Parametrize DDI_BUF_TRANS registers FIXME: Should there be a WARN(i != 9) or something, or what does the entry 9 comment mean? Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d74534c27775857cb09abd0f92ed9539dc8d0a93 Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:09 2015 -0500 power: bq27xxx_battery: Add support for additional bq27xxx family devices Add support for additional devices and register equivalent family devices including the bq27010, bq27210, bq27500, bq27510, bq27520, bq27530, bq27531, bq27541, bq27542, bq27546, bq27545, bq27441, bq27421, and the bq27641. To facilitate this process the register mapings have been moved to tables and other small cleanups have been made. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 184d7c06227349aad07921e8da63f61ab67e6727 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:21 2015 +0300 drm/i915: Parametrize TV luma/chroma filter registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7d81c3e02b685074e437cdb48ea3a9efd82873c5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:20 2015 +0300 drm/i915: Replace raw numbers with the approproate register name in ILK turbo code Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 616847e7e8569a28e46a56d4cc1ac28f061e29e4 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:19 2015 +0300 drm/i915: Parametrize ILK turbo registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d110c71fb87c5601832e918c36af8cd4ef739f9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:18 2015 +0300 drm/i915: Parametrize FBC_TAG registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 22dfe79fd9c3951017bd68cad1d3257631307dde Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:16 2015 +0300 drm/i915: Parametrize GEN7_GT_SCRATCH and GEN7_LRA_LIMITS Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83843d84fcd38a7e9b30ff0b9af04669c77ecf8c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:15 2015 +0300 drm/i915: Parametrize LRC registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8bd864b81a7472a19eb6ed536e028a10e7d71239 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:14 2015 +0300 drm/i915: Don't pass sdvo_reg to intel_sdvo_select_{ddc, i2c}_bus() intel_sdvo_select_ddc_bus() and intel_sdvo_select_i2c_bus() have no used for the passed in 'reg', so just drop it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 58a9c251c9a1a2f2154e40a9fe7bb81857761b24 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Wed Sep 16 15:53:29 2015 -0500 EDAC, ghes_edac: Remove redundant memory_type array We already have edac_mem_types[] that enumerates the different kinds of memory. So, use that and remove the redundant memory_type[] array here. 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/1442436811-23382-2-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 972e7d71c82ea70100b808695d5cf735c1df5ef8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 11 21:04:39 2015 +0300 drm/i915: Ignore "digital output" and "not HDMI output" bits for eDP detection Ignore DEVICE_TYPE_NOT_HDMI_OUTPUT and DEVICE_TYPE_DIGITAL_OUTPUT when trying to determine the presence of eDP based on the VBT child device type. Apparently a significant portion of VLV systems have these bits set incorrectly, and so we currently fail to detect eDP on said systems. This is based on an earlier patch [1] from Andreas Lampersperger. Instead of ignoring the bits just on VLV as was done in the orignal patch, we now ignore them for all platforms. We should still have enough bits in there to avoid false positives (unless the VBT is totally bonkers). Quoting the orignal patch: > When the i915.ko identify an eDP output on a valleyview > board, it should be more slackly. The reason for that is, > that BIOS DATA TABLES generated with intel BMP (Binary > Modification Program) do not set bits for NOT_HDMI or > DIGITAL_OUTPUT on the device type. Due to Adolfo > Sanchez from Intel EMGD, this is not possible. > To solve this problem and enable i915.ko on embedded > vlv boards with eDP, we ignore this two bits. [1] http://lists.freedesktop.org/archives/intel-gfx/2015-June/069416.html Cc: Andreas Lampersperger <lampersperger.andreas@xxxxxxxxxxxxx> Cc: "Sanchez, AdolfoX" <adolfox.sanchez@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53ce81a761fb130c5d7ad653239fc9f9adc32237 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 11 21:04:38 2015 +0300 drm/i915: Make sure we don't detect eDP on g4x We don't support eDP on g4x, so let's not even look at the VBT to determine the port type, just in case the VBT is bonkers on some g4x machines and indicates the precense of eDP. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0706f17c307b056ff6f1848320ba82d76945a6ff Author: Egbert Eich <eich@xxxxxxx> Date: Wed Sep 23 16:15:27 2015 +0200 drm/i915: Avoid race of intel_crt_detect_hotplug() with HPD interrupt, v2 An HPD interrupt may fire while we are in a function that changes the PORT_HOTPLUG_EN register - especially when an HPD interrupt storm occurs. Since the interrupt handler changes the enabled HPD lines when it detects such a storm the read-modify-write cycles may interfere. To avoid this, shiled the rmw cycles with IRQ save spinlocks. Changes since v1: - Implement a function which takes care of accessing PORT_HOTPLUG_EN. Signed-off-by: Egbert Eich <eich@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a9b672a636a599cc052afcb6837e3177dc53c143 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:37:03 2015 +0200 ARM: at91/dt: sama5d2 Xplained: add device pin muxing Add device pin muxing for the sama5d2 Xplained board. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7f16cb676c006d87a97ed2e51815daf1fa17eb29 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:37:02 2015 +0200 ARM: at91/dt: add sama5d2 pinmux Add sama5d2 pin descriptions. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c570903290d7cb542c06b8985b7326a8dd4cdf86 Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:08 2015 -0500 power: bq27xxx_battery: Fix typos and change naming for state of charge functions Fix typos and change "relative state of charge" to "state of charge" as not all supported devices use relative state of charge. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 424cfde49acaf1426e90837961e8aead0238b11b Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:07 2015 -0500 power: bq27xxx_battery: Platform initialization must declare a device When initialized as a platform device the initializer must now specify a device. An empty device name is no longer valid. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 081bab217db769526c1202c87099ff69737126ae Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:06 2015 -0500 power: bq27x00_battery: Renaming for consistency Rename functions that are used by multiple devices. New devices have been added and the function names and driver name are no longer general enough for the functionality they provide. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: GUAN Xuetao <gxt@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6de20eb0dee4c802d9d228d6c08d00386e172e52 Author: Andrew Price <anprice@xxxxxxxxxx> Date: Wed Sep 23 08:45:43 2015 -0500 GFS2: Set s_mode before parsing mount options In the generic mount_bdev() function, deactivate_locked_super() is called after the fill_super() call fails, at which point s_mode has been set. kill_block_super() expects this and dumps a warning when FMODE_EXCL is not set in s_mode. In gfs2_mount() we call deactivate_locked_super() on failure of gfs2_mount_args(), at which point s_mode has not yet been set. This causes kill_block_super() to dump a stack trace when gfs2 fails to mount with invalid options. Set s_mode earlier in gfs2_mount() to avoid that. Signed-off-by: Andrew Price <anprice@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 8204502a6aa2eab8cd5779020c2881fbc6361a96 Author: Dongwon Kim <dongwon.kim@xxxxxxxxx> Date: Thu Sep 17 11:26:35 2015 -0700 drm/i915: Do not hardcode s_max, ss_max and eu_mask for BXT We can calculate BXT values correctly from GFX fuse values without hardcoding special limits. Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Matthew D Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Dongwon Kim <dongwon.kim@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 46ac51822a6a0b83ee3e408ee9edcb292fb8ced0 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 23 09:26:27 2015 -0400 tracing: Move non perf code out of perf.h Commit ee53bbd17257 "tracing: Move the perf code out of trace_event.h" moved more than just the perf code out of trace_event.h, but also removed a bit of the tracing code too. Move it back. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a2cad9dff4dd44d0244b966d980de9d602d87593 Author: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Date: Wed Sep 16 11:49:00 2015 +0200 drm/i915/gtt: Do not initialize drm_mm twice. It would be initialized just moments later by i915_init_vm. Rearrange the code such that i915_init_vm() is next to its callers inside i915_gem_gtt (and so we can make it static). After removing the dance around the files, it is clear that we are repeating some work inside the initializers (such as calling drm_mm_init() multiple times), so take advantage of the refactor to also remove some redundant code and clean up the interface. v2: Commit msg update, s/i915_init_vm/i915_address_space_init, move to i915_gem_gtt.c, init address_space during i915_gem_setup_global_gtt for ggtt. v3: Do not init global_link - we are adding it to vm_list moments later, make i915_address_space_init static, use OOP style parameter order. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Reviewed-by Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7d316aecf883a19c9883e4dcbc058806fd25b152 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 16 21:28:50 2015 +0300 drm/i915: Implement stolen reserved detection for ctg/elk Finally managed to dig up enough hints as to where the stolen reserved stuff lives on ctg/elk. So add the code to decode it. This was a combination of old chipset specs, diggin up an old elk grits release with an ctg/elk AubLoad etc. This was only tested on an elk as I don't have a ctg here unfortunately. This leaves ilk as the only platform that doesn't have a way to detect this stuff. Looking at the register contents on my ilk, it might be that the elk way works there too, but I can't be sure since I can't affect the amount of reserved memory on that machine, and if I am to trust the register contents, by default it would reserve 0 bytes. v2: s/WARN_ON_ONCE/WARN_ON/ since it's in one time init code anyway (Paulo) Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Acked-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2db3366b18e6ee5c6cb09b5f3902bcacfa3d534e Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:20:03 2015 -0300 drm/i915: fix FBC for cases where crtc->base.y is non-zero I only tested this on BDW and SKL, but since the register description is the same ever since gen4, let's assume that all gens take the same register format. If that's not true, then hopefully someone will bisect a bug to this patch and we'll fix it. Notice that the wrong fence offset register just means that the hardware tracking will be wrong. Testcases: - igt/kms_frontbuffer_tracking/fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt - igt/kms_frontbuffer_tracking/fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt v2: - Add intel_crtc->adjusted_{x,y} so this code can work independently of intel_gen4_compute_page_offset(). (Ville). - This version also works on SKL. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b9e831dc3973bddfaa8e27629745c5948ed8b92d Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 21 19:48:06 2015 -0300 drm/i915: reject invalid formats for FBC This commit is essentially a rewrite of "drm/i915: Check pixel format for fbc" from Ville Syrjälä. The idea is the same, but the code is different due to all the changes that happened since his original patch. So any bugs are due to my bad rewrite. v2: - Drop the alpha formats (Ville). v3: - Drop the stale comment (Ville). Testcases: igt/kms_frontbuffer_tracking/*fbc*-${format_name}-draw-* Credits-to: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40f4022ef67f30cc0b7ee7453926d1803277d1af Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:20:01 2015 -0300 drm/i915: don't apply WaFbcAsynchFlipDisableFbcQueue on SKL This WA is only for HSW/BDW. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 57012be9289b4f6d12b05878411d903982ec2a4e Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:20:00 2015 -0300 drm/i915: apply WaFbcAsynchFlipDisableFbcQueue earlier The spec says the register should have that value for the entire time that FBC is enabled, so apply the WA before we enable FBC. Notice that we also have this WA for ILK/SNB, but it is implemented at init_clock_gating(). I could move the IVB/HSW/BDW WA code to init_clock_gating() too, but since we recently had some complaints about WAs not staying after being set, I'm going to play safe and keep this here for now. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b24c9a696c1c68eaa471a27bf467e97a9986fa9 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:19:59 2015 -0300 drm/i915: don't enable FBC when pixel rate exceeds 95% on HSW/BDW BSpec says we shouldn't enable FBC on HSW/BDW when the pipe pixel rate exceeds 95% of the core display clock. v2: - HSW also needs the WA (Ville). - Add the WA name (Ville). - Use the current cdclk (Ville). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b8bf5d7fe0dee64ed0a73fa1e95ba8e464d605da Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:19:58 2015 -0300 drm/i915: print the correct amount of bytes allocated for the CFB And also print the threshold. I was surprised to see a log message claiming the CFB size was 32mb when there was less than 24mb available for it. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a9da512b3ed73045253afd778e40d4298f42905b Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:19:57 2015 -0300 drm/i915: avoid the last 8mb of stolen on BDW/SKL The FBC hardware for these platforms doesn't have access to the bios_reserved range, so it always assumes the maximum (8mb) is used. So avoid this range while allocating. This solves a bunch of FIFO underruns that happen if you end up putting the CFB in that memory range. On my machine, with 32mb of stolen, I need a 2560x1440 mode for that. Testcase: igt/kms_frontbuffer_tracking/fbc-* (given the right setup) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit adf70c65cff66d843d66469dbe13ef1ed21e062b Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:19:56 2015 -0300 drm/i915: check for the supported strides on HSW+ FBC Don't allow FBC for cases where the spec says we can't FBC. v2: - Just WARN_ON() the strides that should have been caught earlier (Daniel) - Make it a new function since I expect this to grow more. v3: - Document which IGT test is exercised by this. v4: - Implement the restrictions for gens 2-6 too (Ville). - Fix off-by-one mistake (Ville). Testcase: igt/kms_frontbuffer_tracking/fbc-badstride Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8cb8d69d125f56fa3ba5239b215a56718e2ca44 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:19:55 2015 -0300 drm/i915: fix the FBC work allocation failure path Always update the currrent crtc, fb and vertical offset after calling enable_fbc. We were forgetting to do so along the failure paths when enabling fbc synchronously. Fix this with a new helper to enable_fbc() and update the state simultaneously. v2: Improve commit message (Chris). v3: Constify struct drm_framebuffer (Ville). Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7aefe2b50a0be5c85e7702bff110e5e187fbe4b5 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:30:10 2015 +0200 drm/i915: Fix fastboot scalers for skylake. The scaler_id in intel_pipe_config_compare should not be checked when adjusting in intel_pipe_config_compare. The hw scaler id may be changed in intel_update_pipe_config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 97c322e713b92b5071ad276f65cabf8a503a7408 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sat Sep 12 10:17:54 2015 +0530 drm/i915: Program GuC MAX IDLE Count Cc: Alex Dai <yu.dai@xxxxxxxxx> Cc: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Alex Dai <yu.dai@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 63a4dec2c168b74a39df1eac494501f0f6bf3708 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sat Sep 12 10:17:53 2015 +0530 drm/i915: WaRsDoubleRc6WrlWithCoarsePowerGating Cc: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Alex Dai <yu.dai@xxxxxxxxx> [danvet: Fix continuation alignment.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e3429cd240b06c79df3ea90f28065a7e011744cd Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sat Sep 12 10:17:52 2015 +0530 drm/i915: WaRsUseTimeoutMode Enable TO mode for RC6 for SKL till D0 and BXT till A0. Cc: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Alex Dai <yu.dai@xxxxxxxxx> [danvet: Fixup line continuation alignment.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ed1098e4738d935cef12833b08916f6f5e700652 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 14 14:42:09 2015 -0300 ARM: imx_v6_v7_defconfig: Remove CONFIG_VMSPLIT_2G CONFIG_VMSPLIT_2G was added to mx5_defconfig by commit 06965c39b4c639 ("ARM i.MX5: update defconfig") to fix an issue where mx53 was not detecting the full 1GiB memory range. However, as explained by Russell King [1] the correct fix is to select CONFIG_HIGHMEM. imx_v6_v7_deconfig inherited such option from mx5_defconfig. As imx_v6_v7_deconfig has CONFIG_HIGHMEM=y, we should no longer select such non-standard CONFIG_VMSPLIT_2G option. [1] http://www.spinics.net/lists/arm-kernel/msg137839.html Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 79b568b9d0c7c5d81932f4486d50b38efdd6da6d Author: Richard Purdie <richard.purdie@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 18 16:31:33 2015 -0700 HID: core: Avoid uninitialized buffer access hid_connect adds various strings to the buffer but they're all conditional. You can find circumstances where nothing would be written to it but the kernel will still print the supposedly empty buffer with printk. This leads to corruption on the console/in the logs. Ensure buf is initialized to an empty string. Signed-off-by: Richard Purdie <richard.purdie@xxxxxxxxxxxxxxxxxxx> [dvhart: Initialize string to "" rather than assign buf[0] = NULL;] Cc: Jiri Kosina <jikos@xxxxxxxxxx> Cc: linux-input@xxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0678072755b6672b19ee0fd42748a003912fca09 Author: Daniel Martin <daniel.martin@xxxxxxxxxxx> Date: Thu Sep 17 17:02:22 2015 +0200 HID: Make I2C a known bus in hid_connect() Just to prettify the log message. Otherwise it would be <UNKNOWN>. Signed-off-by: Daniel Martin <consume.noise@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c6956eb70e2549a3c2fa6ee525e02776d293caf4 Author: Donavan Lance <shvr@xxxxxxxxxxxxxxxxx> Date: Tue Sep 15 12:44:54 2015 -0400 HID: Add new Microsoft Type Cover 3 product ID Adds support for Microsoft Type Cover 3 with 0x07e2 product ID. Signed-off-by: Donavan Lance <shvr@xxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 09bd1b4f814870ffa3496aca9e41938ec3ed2884 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 22 13:13:46 2015 +0200 EDAC, xgene: Convert to debugfs wrappers Drop CONFIG_EDAC_DEBUG ifdeffery too, while at it. Tested-by: Loc Ho <lho@xxxxxxx> Cc: linux-edac@xxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 834c952a1177721f2c0e779e3ca856b79ce27310 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Wed Apr 22 11:47:43 2015 +0200 arcnet: capmode: remove extra function This patch cleans the capmode protocol module. It removes the obsolete function arcnet_cap_init and replaces printk with pr_info. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit abc23ec927f217f1cc698e36d300ef80e935e805 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Wed Apr 22 11:11:58 2015 +0200 arcnet: arc-rawmode: reorder module functions This patch moves the module_init and module_exit patches to the end of the file. It also replaces the printk with pr_info. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit f2d2fe95072acd5404f8051b8bf1195c61a47fb5 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sat Sep 12 10:17:51 2015 +0530 drm/i915: WaRsDisableCoarsePowerGating WaRsDisableCoarsePowerGating: Coarse Power Gating (CPG) needs to be disabled for platforms prior to BXT B0 and SKL GT3/GT4 till E0. v2: Added GT3/GT4 Check. Change-Id: Ia3c4c16e050c88d3e259f601054875c812d69c3a Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Alex Dai <yu.dai@xxxxxxxxx> [danvet: Align continuation properly.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7a58bad0e63295dfa803973efcebc80cb730c7bd Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sat Sep 12 10:17:50 2015 +0530 drm/i915: Add IS_SKL_GT3 and IS_SKL_GT4 macro. It will be usefull to specify w/a that affects only SKL GT3 and GT4. Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Alex Dai <yu.dai@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a5a0393ab5de28f8dad100bf604e4ab55550836 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Tue Sep 15 10:03:01 2015 -0700 drm/i915: fix crash in error state readout on non-execlist platforms v2 Looks like this was introduced in: commit d1675198ed1f21aec6e036336e4340c40b726497 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:43 2015 +0100 drm/i915: Integrate GuC-based command submission This patch assumed LRC contexts and HWS layout, which is incorrect on platforms without execlists. This can lead to a crash in GPU error state readout on those platforms. I don't see a bug filed for this, but there may be one that I haven't found. v2: fixup offset handling for error capture fix (Dave) Cc: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9eca6832f7254d49d25494da7d47c0f8a24f7862 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 10 18:59:10 2015 +0300 drm/i915: Move scanline_offset and timestamping constant setup to intel_modeset_readout_hw_state() intel_modeset_readout_hw_state() seems like the more appropriate place for populating the scanline_offset and timestamping constants than intel_sanitize_crtc() since they are basically part of the state we read out. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f9cd7b881a042dcc8f1b1236ecea6deb3eb4d5bd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 10 18:59:08 2015 +0300 drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() Move the sprite/cursor plane disabling to occur in intel_sanitize_crtc() where it belongs instead of doing it in intel_modeset_readout_hw_state(). The plane disabling was first added in 4cf0ebbd4fafbdf8e6431dbb315e5511c3efdc3b drm/i915: Rework plane readout. I got the idea from some patches from Partik and/or Maarten but those moved also the plane state readout to intel_sanitize_crtc() which isn't quite right in my opinion. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=91910 Reviewed-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f4c62840cc416986f983a8c68f7010c97e06daf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 10 18:59:07 2015 +0300 drm/i915: Assign hwmode after encoder state readout The dotclock is often calculated in encoder .get_config(), so we shouldn't copy the adjusted_mode to hwmode until we have read out the dotclock. Gets rid of some warnings like these: [drm:drm_calc_timestamping_constants [drm]] *ERROR* crtc 21: Can't calculate constants, dotclock = 0! [drm:i915_get_vblank_timestamp] crtc 0 is disabled v2: Steal Maarten's idea to move crtc->mode etc. assignment too Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91428 Reviewed-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c6e1e7b5b7f031910850ddaf7bfa65ba3b4843ea Author: Juergen Gross <jgross@xxxxxxxx> Date: Tue Sep 22 12:48:59 2015 +0200 sched/core: Make 'sched_domain_topology' declaration static The 'sched_domain_topology' variable is only used within kernel/sched/core.c. Make it static. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> 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/1442918939-9907-1-git-send-email-jgross@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 237ed86c693d8a8e4db476976aeb30df4deac74b Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Tue Sep 15 09:44:20 2015 +0530 drm/i915: Check live status before reading edid The Bspec is very clear that Live status must be checked about before trying to read EDID over DDC channel. This patch makes sure that HDMI EDID is read only when live status is up. The live status doesn't seem to perform very consistent across various platforms when tested with different monitors. The reason behind that is some monitors are late to provide right voltage to set live_status up. So, after getting the interrupt, for a small duration, live status reg fluctuates, and then settles down showing the correct staus. This is explained here in, in a rough way: HPD line ________________ |\ T1 = Monitor Hotplug causing IRQ | \______________________________________ | | | | | | T2 = Live status is stable | | _____________________________________ | | /| Live status _____________|_|/ | | | | | | | | | | T0 T1 T2 (Between T1 and T2 Live status fluctuates or can be even low, depending on the monitor) After several experiments, we have concluded that a max delay of 30ms is enough to allow the live status to settle down with most of the monitors. This total delay of 30ms has been split into a resolution of 3 retries of 10ms each, for the better cases. This delay is kept at 30ms, keeping in consideration that, HDCP compliance expect the HPD handler to respond a plug out in 100ms, by disabling port. v2: Adding checks for VLV/CHV as well. Reusing old ibx and g4x functions to check digital port status. Adding a separate function to get bxt live status (Daniel) v3: Using intel_encoder->hpd_pin to check the live status (Siva) Moving the live status read to intel_hdmi_probe and passing parameter to read/not to read the edid. (me) v4: * Added live status check for all platforms using intel_digital_port_connected. * Rebased on top of Jani's DP cleanup series * Some monitors take time in setting the live status. So retry for few times if this is a connect HPD v5: Removed extra "drm/i915" from commit message. Adding Shashank's sob which was missed. v6: Drop the (!detect_edid && !live_status check) check because for DDI ports which are enumerated as hdmi as well as DP, we don't have a mechanism to differentiate between DP and hdmi inside the encoder's hot_plug. This leads to call to the hdmi's hot_plug hook for DP as well as hdmi which leads to issues during unplug because of the above check. v7: Make intel_digital_port_connected global in this patch, some reformatting of while loop, adding a print when live status is not up. (Rodrigo) v8: Rebase it on nightly which involved skipping the hot_plug hook for now and letting the live_status check happen in detect until the hpd handling part is finalized (Daniel) Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d2e08c0f34438af791482de8abf2c8e4e573b1d3 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:40 2015 +0530 drm/i915/bxt: DSI prepare changes for BXT This patch modifies dsi_prepare() function to support the same modeset prepare sequence for BXT also. Main changes are: 1. BXT port control register is different than VLV. 2. BXT modeset sequence needs vdisplay and hdisplay programmed for transcoder. 3. BXT can select PIPE for MIPI transcoders. 4. BXT needs to program register MIPI_INIT_COUNT for both the ports, even if only one is being used. v2: Fixed Jani's review comments. Rectified the DSI Macros to get proper register offsets using _MIPI_PORT instead of _TRANSCODER v3: Rebased on latest drm-nightly branch. Fixed Jani's review comments. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe88fc6828f6471c9eebc511aa15984d055d11c1 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:39 2015 +0530 drm/i915/bxt: Disable DSI PLL for BXT This patch adds two new functions: - disable_dsi_pll. BXT DSI disable sequence and registers are different from previous platforms. - intel_disable_dsi_pll wrapper function to re-use the same code for multiple platforms. It checks platform type and calls appropriate core pll disable function. v2: Fixed Jani's review comments. v3: Rebased on latest drm-nightly branch. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cfe01a5eba1ff5723f3a47895fb7e9d890edf157 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:38 2015 +0530 drm/i915/bxt: Enable BXT DSI PLL This patch adds new functions for BXT clock and PLL programming. They are: 1. configure_dsi_pll for BXT. This function does the basic math and generates the divider ratio based on requested pixclock, and program clock registers. 2. enable_dsi_pll function. This function programs the calculated clock values on the PLL. 3. intel_enable_dsi_pll Wrapper function to use same code for multiple platforms. It checks the platform and calls appropriate core pll enable function. v2: Fixed Jani's review comments. Macros are adjusted as per convention. v3: Removed a redundant change wrt code comment. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83e3337204b2385d20e149c8fe91bb2719978df2 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sun Aug 23 17:52:47 2015 +0530 drm/i915: Increase maximum polling time to 50ms for forcewake request/clear ack On BXT, We Observe timeout for forcewake request completion with 2ms polling period as given here: [drm:fw_domains_get] ERROR render: timed out waiting for forcewake ack request. Polling for 50ms is recommended to avoid these timeouts. Change-Id: Ie715b0069a3049606e9602bc5e97a6511890864d Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed by: Alex Dai <yu.dai@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e3e72ab80a3fac0b88e07d358a2c75724ccd66b4 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Sep 18 13:22:52 2015 +0200 atomic: Implement atomic_read_ctrl() Provide atomic_read_ctrl() to mirror READ_ONCE_CTRL(), such that we can more conveniently use atomics in control dependencies. Since we can assume atomic_read() implies a READ_ONCE(), we must only emit an extra smp_read_barrier_depends() in order to upgrade to READ_ONCE_CTRL() semantics. Requested-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> 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 Cc: oleg@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150918115637.GM3604@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 62e8a3258bda118f24ff462fe04cfbe75b8189b5 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Sep 18 11:13:10 2015 +0200 atomic, arch: Audit atomic_{read,set}() This patch makes sure that atomic_{read,set}() are at least {READ,WRITE}_ONCE(). We already had the 'requirement' that atomic_read() should use ACCESS_ONCE(), and most archs had this, but a few were lacking. All are now converted to use READ_ONCE(). And, by a symmetry and general paranoia argument, upgrade atomic_set() to use WRITE_ONCE(). Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: james.hogan@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 90fe65148ea76988d8d5acbf3e578aa74129a490 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Sep 18 15:04:59 2015 +0200 atomic: Add atomic_long_t bitops When adding the atomic bitops, I seem to have forgotten about atomic_long_t, fix this. 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 4bbffe718fe1bfae6176a6fb783c1576b69338e5 Merge: ac742d3 21199f2 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 23 09:52:03 2015 +0200 Merge branch 'locking/urgent' into locking/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 269b26a5ef2b10bf15f66524fa47d81c1b4dc1a1 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Wed Sep 2 11:01:36 2015 +0100 sched/rt: Make (do_)balance_runtime() return void The return value of (do_)balance_runtime() is not consumed by anybody. Make them return void. Signed-off-by: Juri Lelli <juri.lelli@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/1441188096-23021-5-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f52405757e4e9bddd868d6b8ca501d58f292969f Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Wed Sep 2 11:01:35 2015 +0100 sched/deadline, locking/rtmutex: Fix open coded check in rt_mutex_waiter_less() rt_mutex_waiter_less() check of task deadlines is open coded. Since this is subject to wraparound bugs, make it use the correct helper. Reported-by: Luca Abeni <luca.abeni@xxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@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/1441188096-23021-4-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2726d6ce389788c7fe724961a6e1bfe569560088 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Wed Sep 2 11:01:34 2015 +0100 sched/deadline: Unify dl_time_before() usage Move dl_time_before() static definition in include/linux/sched/deadline.h so that it can be used by different parties without being re-defined. Reported-by: Luca Abeni <luca.abeni@xxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@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/1441188096-23021-3-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 23eafea6a9d1faac0588a5275d0c755cb261346e Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sun Aug 23 17:52:48 2015 +0530 drm/i915/bxt: WaGsvDisableTurbo Disable Turbo on steppings prior to B0 on BXT due to hangs seen during GT CPD exit. Change-Id: I50c5c03f59f5ba092db19e17234951d89db42c6c Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed by: Alex Dai <yu.dai@xxxxxxxxx>. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 968d712a2565121b269e1037a1517916a9769423 Merge: b572727 e803cf9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 23 09:42:58 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 a segfault in 'perf probe' when removing uprobe events. (Masami Hiramatsu) - Synthesize COMM event for workloads started from the command line in 'perf record' so that we can have the pid->comm mapping before we get the real PERF_RECORD_COMM switching from perf to the workload. (Namhyung Kim) - Fix build tools/vm/ due to removal of tools/lib/api/fs/debugfs.h. (Arnaldo Carvalho de Melo) Infrastructure changes: - Fix the make tarball targets by including the recently added err.h header in the perf MANIFEST file. (Jiri Olsa) - Don't assume that the event parser returns a non empty evlist. (Wang Nan) - Add way to disambiguate feature detection state files, needed to use tools/build feature detection for multiple components in a single O= output dir, which will be the case with tools/perf/ and tools/lib/bpf/. (Arnaldo Carvalho de Melo) - Fixup FEATURE_{TESTS,DISPLAY} inversion in tools/lib/bpf/. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b5727270ecd807f75a8d5d1450cec39495fc794a Merge: 96f3eda d0d0313 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 23 09:42:11 2015 +0200 Merge branch 'perf/urgent' into perf/core to pick up fixes before pulling new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7b403ffba8ed8636f3467a9008bd2e060792b2e4 Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Tue Aug 4 22:02:42 2015 +0530 drm/i915/bxt: Modified HAS_CSR, added support for BXT Modified HAS_CSR macro defination which earlier only supported for skl, now added support for BXT. v1: Initial version. v2: Instaed of skylake/broxton check added gen9 check alone based on review comment from Sunil. Cc: Vetter, Daniel <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> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cff765fb1383dff6787fa735fcc88aa122d3c00d Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Tue Aug 4 22:02:43 2015 +0530 drm/i915/bxt: Stepping info added for bxt. Added stepping info in intel_csr.c which is required to extract specific firmware from packaged dmc firmware. Stepping info is aligned with current bspec info. Cc: Vetter, Daniel <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> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 18c237c0f9fa2e1c66e1eb4c305aeff4f28f89bf Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Tue Aug 4 22:02:41 2015 +0530 drm/i915/bxt: Path added of dmc firmware ver1 for BXT. Broxton also has dmc to manage low-power display engine state. Path of the firmware added in intel_csr.c. Naming convention followed as <platform>_dmc_<api-version>.bin v1: Initial version. v2: Commit description added based on review comment from Sunil. Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Sunil Kamath <sunil.kamath@xxxxxxxxx> Signed-off-by: Animesh Manna <animesh.manna@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 84286f191a01f198ccfc15759d01320e3847accd Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Wed Apr 15 11:43:57 2015 +0200 arcnet: com20020: replace magic numbers with readable macros This patch replaces all magic numbers in the driver with proper named macros. For the case of XTOcfg and STARTIOcmd it introduces the new macros. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 54a84c61823e2069da2c7ad91518ff7625129ce5 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Fri Mar 20 15:22:02 2015 +0100 arcnet: reformat structs to C99 format This patch changes the macro definitions to match the C99 formating. This improves the readability. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 4b0dad83c53b4a6a29be47dc3acc8623be36e7dd Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:14 2015 -0700 arcnet: Remove unused arcnet_<I/O>w macros The word length macros are unused. Remove them. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 8e0f295ea5e712ca30db08a4e3c496e914ee7fef Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:13 2015 -0700 arcnet: Add com9026.h to standardize COM9026_REG_<foo> Deduplicate the COM9026 registers. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit e15b03625ce1aa5ca4ab782e034af7d5b56e1b19 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:12 2015 -0700 arcnet: Remove function pointer macro indirections It's clearer to use function pointer calls directly instead of the macro indirections of ARCRESET, ACOMMAND, ASTATUS, and AINTMASK. Remove the now unused macros too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit a11a5442d108357d44d34407ce2ed9d77ab424a0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:11 2015 -0700 arcnet: com90xx: Use arcnet_readb/writeb routines Simplify and make consistent the current uses of readb/writeb by using the newly introduced arcnet_<I/O> equivalents. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 4e2f9f1b1ff68e86871594f7321c851c4a147ea4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:10 2015 -0700 arcnet: arc-rimi: Use arcnet_<I/O> routines Simplify and make consistent the current uses of readb/writeb by using the newly introduced arcnet_<I/O> equivalents. o Add new #defines for register offsets o Remove old #defines that included the ioaddr o Remove obfuscating macros by expanding them in-place where appropriate Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 9c76aa55110a48c0db1eab4c998a5b94d9f0f852 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:09 2015 -0700 arcnet: arcdevice.h: Add arcnet_readb and arcnet_writeb Use the same indirection as the other arcnet_<I/O> macros. Neither of these new macros add the BUS_ALIGN use for 8 bit devices on 16 bit busses. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 09dfbcd5d178f8e03b5a29c9f3411687ec388c91 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:08 2015 -0700 arcnet: com90xx: Use arcnet_<I/O> routines Simplify and make consistent the current uses of inb/outb by using the newly introduced arcnet_<I/O> equivalents. o Add new #defines for register offsets o Remove old #defines that included the ioaddr o Remove obfuscating macros by expanding them in-place where appropriate Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit f0b9c27c0c933a6545ea57d4edbc56a4db435c84 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:07 2015 -0700 arcnet: com90io: Use arcnet_<I/O> routines Simplify and make consistent the current uses of inb/outb by using the newly introduced arcnet_<I/O> equivalents. o Add new #defines for register offsets o Remove old #defines that included the ioaddr o Remove obfuscating macros by expanding them in-place where appropriate Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 0fec65130b9f11a73d74f47025491f97f82ba070 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:06 2015 -0700 arcnet: com20020: Use arcnet_<I/O> routines Simplify and make consistent the current uses of inb/outb by using the newly introduced arcnet_<I/O> equivalents. o Add new #defines for register offsets There is an register offset, 8, that is unnamed and used as-is. o Remove old #defines that included the ioaddr o Remove obfuscating macros by expanding them in-place where appropriate o Create static inline com20020_set_subaddress for the SET_SUBADR macro There is an unused arcnet config entry CONFIGSA100_CT6001 which added a special #define BUS_ALIGN which was introduced but never used in fullhist git tree commit 22cfce4b82b0 ("[ARCNET]: Fixes.") in Nov 2004 for Linux v2.6.10. This BUS_ALIGN #define tries to allow 8 bit devices to work on a 16 bit bus by aligning addresses to 16 bit boundaries. Move this currently unused CONFIG_SA1100_CT6001 BUS_ALIGN macro from com20020.h to arcdevice.h. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit e5fcfc1f8d3cfaf432a93d39df3e5d7718c58848 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:05 2015 -0700 arcnet: Add arcnet_<I/O> macros arcnet uses an I/O scheme which can align I/O addresses to word boundaries on different architectures. Add arcnet specific macros which can hide this alignment calculation. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 4e299b922c44d242ac855805aee94d938b06944f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:04 2015 -0700 arcnet: Make a char * array const char * const Might as well be specific about the use of this array. Add a commment questioning the indexing too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 26c6d281688e8bb8154fa78c60e551d024f5d0b8 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:03 2015 -0700 arcnet: Move files out of include/linux These #include files don't need to be in the include/linux directory as they can be local to drivers/net/arcnet/ Move them and update the #include statements. Update the MAINTAINERS file pattern by deleting arcdevice from the NETWORKING block as arcnet is currently unmaintained. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit d6d7d3ed56e3bfe7fd34108dbe23f0610e3d8621 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:02 2015 -0700 arcnet: Wrap some long lines Just neatening. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 83df99b50f901cb7c72cf132a83f43bbaeb01362 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:01 2015 -0700 arcnet: Convert arcnet_dump_skb macro to static inline Make sure the arguments are tested appropriately when not using this function. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit d8101e7bec352b7b6a154ec2e428d01bddb7e5b4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:00 2015 -0700 arcnet: Remove pointer comparisons to NULL Use direct tests of pointer instead. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 97464eddf9fdbe02abfc44676949e07708cf557f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:59 2015 -0700 arcnet: Remove assignments from ifs Move the assignment above the if like general kernel style. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 5628d98fc5e99e29f2a480d4a7b1faba94a0d422 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:58 2015 -0700 arcnet: Remove unnecessary OOM messages Alloc failures have generic stack dumps so these are redundant. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 811eafc02e16996674848d7d057909624fb0cc31 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:57 2015 -0700 arcnet: Move EXPORT_SYMBOL after declarations Use the normal kernel style for EXPORT_SYMBOL. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 05a24b234b9dda3720208b74503f2cf1d05774ee Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:56 2015 -0700 arcnet: Convert printk to pr_<level> Use the more current logging style. Remove #define VERSION, use pr_info normally. Add pr_fmt with "arcnet:" prefixes and KBUILD_MODNAME. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit a34c0932c3b2f28542825ffc5280d562c49ad42d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:55 2015 -0700 arcnet: Convert BUGMSG and BUGMSG2 to arc_prink and arc_cont These macros don't actually represent BUG uses but are more commonly used as logging macros, so use a more kernel style macro. Convert the BUGMSG from a netdev_ like use to actually use netdev_<level>. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 72aeea4841c037b9b3abf65859673cbd7b6664a9 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:54 2015 -0700 arcnet: Expand odd BUGLVL macro with if and uses Don't hide what should be obvious. Make the macro a simple test instead of using if and test. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit d77510f3436e0db9b5e72fa8159ce26c3ac88d2d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:53 2015 -0700 arcnet: Neaten BUGMSG macro defines These macros are actually printk and pr_cont uses with a flag. Add a new BUGLVL_TEST macro which is just the "should use" test and not an odd "if (<foo>)" macro to simplify uses in a new patch. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit f2f0a16bf89a1bbf2f774e060de85ffbd8fff162 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:52 2015 -0700 arcnet: Use network block comment style Conformity can be useful. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 5e7ef9134ce1b8ae8d686ce08b9746b32535964d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:51 2015 -0700 arcnet: Use include/linux path for asm Use the preferred kernel include path for asm paths. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 3b4e55510f3151cd906cd221f6fba5cb56b8cfed Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:50 2015 -0700 arcnet: Coalesce string fragments Using coalesced strings helps grep for specific messages. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 7f5e760c1b269044a4ba1b269263beca80ae2741 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:49 2015 -0700 arcnet: Use normal kernel brace style Move braces normal kernel locations. Add missing braces. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 01a1d5ac4e1a5890fd6c0d0ae900e1b6e4f851d6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:48 2015 -0700 arcnet: Add and remove blank lines Use a more current kernel line style. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit cb334648a10c7fa6f0f163c22602f4dc1c6d56b4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:47 2015 -0700 arcnet: Use normal kernel spacing style Standardized spacing is easier to read. git diff -w shows no differences. objdiff shows no differences. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 37587fadff8ce8f40a6952f0383c571a89b29d1d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Jul 30 13:22:43 2015 -0700 arcnet: fix indentation of if_arcnet.h Standardized spacing is easier to read. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit ef34cc3428a716f86ee72aa5a37fa6c0025e4363 Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Date: Wed Sep 23 09:38:13 2015 +0800 x86/numachip: Fix timer build conflict Fix Numachip build conflict from: ce2e572 x86/numachip: Introduce Numachip2 timer mechanisms drivers/built-in.o:(.discard+0x1b): multiple definition of `__pcpu_unique_cpu_ced' arch/x86/built-in.o:(.discard+0xa0da): first defined here Ensure cpu_ced is unique by prefixing with 'numachip2'. Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Cc: <tipbuild@xxxxxxxxx> Cc: <kbuild-all@xxxxxx> Cc: Steffen Persvold <sp@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e803cf97a4f90d31bcc2c9a1ea20fe9cdc12b2f9 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 22 09:24:55 2015 +0900 perf record: Synthesize COMM event for a command line workload When perf creates a new child to profile, the events are enabled on exec(). And in this case, it doesn't synthesize any event for the child since they'll be generated during exec(). But there's an window between the enabling and the event generation. It used to be overcome since samples are only in kernel (so we always have the map) and the comm is overridden by a later COMM event. However it won't work if events are processed and displayed before the COMM event overrides like in 'perf script'. This leads to those early samples (like native_write_msr_safe) not having a comm but pid (like ':15328'). So it needs to synthesize COMM event for the child explicitly before enabling so that it can have a correct comm. But at this time, the comm will be "perf" since it's not exec-ed yet. Committer note: Before this patch: # perf record usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data (7 samples) ] # perf script --show-task-events :4429 4429 27909.079372: 1 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. :4429 4429 27909.079375: 1 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. :4429 4429 27909.079376: 10 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. :4429 4429 27909.079377: 223 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. :4429 4429 27909.079378: 6571 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. usleep 4429 27909.079380: PERF_RECORD_COMM exec: usleep:4429/4429 usleep 4429 27909.079381: 185403 cycles: ffffffff810a72d3 flush_signal_handlers (/lib/modules/4. usleep 4429 27909.079444: 2241110 cycles: 7fc575355be3 _dl_start (/usr/lib64/ld-2.20.so) usleep 4429 27909.079875: PERF_RECORD_EXIT(4429:4429):(4429:4429) After: # perf record usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data (7 samples) ] # perf script --show-task perf 0 0.000000: PERF_RECORD_COMM: perf:8446/8446 perf 8446 30154.038944: 1 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. perf 8446 30154.038948: 1 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. perf 8446 30154.038949: 9 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. perf 8446 30154.038950: 230 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. perf 8446 30154.038951: 6772 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. usleep 8446 30154.038952: PERF_RECORD_COMM exec: usleep:8446/8446 usleep 8446 30154.038954: 196923 cycles: ffffffff81766440 _raw_spin_lock (/lib/modules/4.3.0-rc1 usleep 8446 30154.039021: 2292130 cycles: 7f609a173dc4 memcpy (/usr/lib64/ld-2.20.so) usleep 8446 30154.039349: PERF_RECORD_EXIT(8446:8446):(8446:8446) # Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1442881495-2928-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6489bc2d402c0db84aa64f13b864d17f7eecb07 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Sep 22 13:13:04 2015 -0300 tools vm: Fix build due to removal of tools/lib/api/fs/debugfs.h There were some changes in how this debugfs mounting helper is implemented/exported and we forgot to check if there were other users besides perf, fix it. Need to do a make -C tools/ everytime we do changes to tools/{lib,include} and other places where we're moving things from tools/perf/ to be used by other tools/ living code. Fixed: $ make -C tools/vm make: Entering directory '/home/git/linux/tools/vm' make -C ../lib/api make[1]: Entering directory '/home/git/linux/tools/lib/api' CC fd/array.o LD fd/libapi-in.o CC fs/fs.o CC fs/tracing_path.o LD fs/libapi-in.o CC cpu.o LD libapi-in.o AR libapi.a make[1]: Leaving directory '/home/git/linux/tools/lib/api' gcc -Wall -Wextra -I../lib/ -o page-types page-types.c ../lib/api/libapi.a make: Leaving directory '/home/git/linux/tools/vm' $ Reported-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx> Tested-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Fixes: 60a1133a5b39 ("tools lib api fs: Remove debugfs, tracefs and findfs objects") Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8d449cb5e29a488cef44d81196f2819b92585513 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 11:35:14 2015 +0200 clk: imx35: Do not call mxc_timer_init twice when booting with DT mxc_timer_init must not be called from within mx35_clocks_init_dt. It will eventually be called by imx31_timer_init_dt (drivers/clocksource/timer-imx-gpt.c). This arranges the initialization code similar to clk-imx27.c Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 0753f56e411a5e216c9899c21e54bd11dde17313 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Mon Sep 7 13:51:35 2015 +0530 clk: clk-vf610: Add clock for Vybrid OCOTP controller Add clock support for Vybrid On-Chip One Time Programmable (OCOTP) controller. While the OCOTP block does not require explicit clock gating, for programming the OCOTP timing register the clock rate of ipg clock is required for timing calculations related to fuse and shadow register read sequence. We explicitly specify the ipg clock for OCOTP as a result. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 08668d9de98193936a082f36c105fc3de168b69b Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:50 2015 -0700 ARM: dts: fix Cygnus nand device node The third compatible string "brcm,brcmnand" in bcm-cygnus.dtsi nand node is incorrect, redundant and should be removed. "brcm,brcmnand" is meant to be used by STB based Broadcom SoCs. All iProc based SoCs should use "brcm,nand-iproc". Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 35e372a3a1f016648f278aeb7b55fe347b6699da Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:49 2015 -0700 ARM: dts: enable touchscreen support on Cygnus This patch enables touchscreen support on bcm958300k and bcm958305k. Touchscreen is connected to these boards through the bcm9hmidc daughter card, and therefore also adding bcm9hmidc.dtsi that describes the daughter card Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Vikram Prakash <vikramp@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 2e561f92dc12ea3de131d337516d58862fd7ef2c Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:48 2015 -0700 ARM: dts: Enable NAND support on bcm911360_entphn This patch enables NAND support on Broadcom Cygnus form factor board (bcm911360_entphn) Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 894526cd466e4cb5fd88afbc5ff573b14933321f Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:47 2015 -0700 ARM: dts: Enable various peripherals on bcm958305k This patch enables various peripherals on Broadcom Cygnus wireless audio board (bcm958305k). These peripherals include I2C, PCIe, and NAND Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 9c5101f7a253c4f2f9bbe47e8bb681b63f4c65f5 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:46 2015 -0700 ARM: dts: Reorder Cygnus peripherals Reorder all Cygnus peripherals based on base register addresses in bcm-cygnus.dtsi Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 0f0b21a83ad2285cd14082c7cfae57a0288dd813 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:45 2015 -0700 ARM: dts: Move all Cygnus peripherals into axi bus Move all Cygnus peripherals to be under the "axi" bus node of type "simple-bus" Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit ef5b812a4e8d088836e67ade113562ca5ad4579e Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:44 2015 -0700 ARM: dts: Put Cygnus core components under core bus Put all Cygnus core components into "core" node of type "simple-bus" in bcm-cygnus.dtsi Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 5b159b62eb2a6799d9dbe998d7635b346ca6fdf8 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:43 2015 -0700 ARM: dts: Use label for device nodes in Cygnus dts Use label instead of full path to reference device nodes in Cygnus dts files Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit de192ef14391dbec5057cf6c798aeb5fe0194e9e Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:42 2015 -0700 ARM: dts: consolidate aliases for Cygnus dt files Move aliases into bcm-cygnus.dtsi to avoid duplications in Cygnus dts files Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 69f9c5047d04945693ecc1bdfdb8a3dc2a1f48cf Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Mon Sep 7 10:55:00 2015 +0800 ARM: imx: add enet init for i.MX7D platform Add enet phy fixup, clock source init for i.MX7D platform. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 7dc87ff8815ef43717c936faea79013855e3dbef Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Mon Sep 7 10:54:59 2015 +0800 ARM: imx7d: add imx7d iomux-gpr field define Add imx7d iomux-gpr field define. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 227b9e8708b14a8a26ef67bbbe19b13626df4a35 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:59 2015 +0200 usbnet: remove invalid check skb->len is always non-negative. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e724da64491b20257d46f100bcc6d6214c37b70 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:55 2015 +0200 rndis_wlan: fix checking for default value Thresholds uses -1 to indicate that default value should be used. Since thresholds are unsigned sign checking makes no sense. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e79dd09b605f42d85d1a5605ad0fe96b970695e9 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:54 2015 +0200 orinoco: fix checking for default value Thresholds uses -1 to indicate that default value should be used. Since thresholds are unsigned sign checking makes no sense. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc7514985919238ef7ce94e80f0d0ad87193de47 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:53 2015 +0200 mwifiex: fix comparison expression To avoid underflows signed variables should be used in expression. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94926121692381247090b35ec68aed124260f05e Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:52 2015 +0200 net: brcm80211: fix range check Unsigned minus constant is still unsigned so checking its sign makes no sense. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 23c2412d6296b4719c2c60054af00062174dd464 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:51 2015 +0200 net: stmmac: fix type of entry variable Variable can store negative values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d2fa71048b85c29a3265a6ed3fae3a568aae49e Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:50 2015 +0200 net/ibm/emac: fix type of phy_mode phy_mode can be negative. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f89642fa10bb6ec02feaa8e3d1d62df671d0207 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:49 2015 +0200 isdn: hisax: fix frame calculation Difference of unsigned values is also unsigned so it does not make sense to check its sign. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25b1029789f98f945a03a2d04662a94b357aacb9 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:12 2015 -0700 ixgbe: Enable bit-banging mode on X550 Set the bit banging mode in the hardware when performing bit banging I2C operations on X550. Also control the output enable on both the clock and data lines. 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 da4ea4baf77c9e45c53671e465043ffaf26fd45d Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:07 2015 -0700 ixgbe: Set lan_id before first I2C eeprom access The lan_id is being set after a previous I2C eeprom access which makes no sense because it needs to be set before any access. Move the setting to before the access. 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 bb5ce9a5cb6e915a2b284a8785686716823679d1 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:02 2015 -0700 ixgbe: Provide unlocked I2C methods Most I2C accesses take and release semaphores for each access. Now there is a reason to perform multiple I2C operations under the same holding of the semaphore, so provide unlocked I2C methods for that purpose. 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 4f9e3a3de0e2fbc49c036322cb2ee656ea8b93fc Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:17:57 2015 -0700 ixgbe: Provide I2C combined on X550EM Provide I2C combined operations on X550EM, not X550 devices. 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 cbd45ec7aae9a20835d1a64c7a1910eb5dcec57b Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:17:51 2015 -0700 ixgbe: Add X550EM support for SFP insertion interrupt Add support for the SFP insertion interrupt on X550EM devices with SFPs. 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 29a8dca1997f880563e53e9ba0fcb50b03bd23af Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:17:46 2015 -0700 ixgbe: Accept SFP not present errors on all devices When an SFP not present error is returned by the reset_hw method, accept it and go on, since an SFP can still be inserted. Previously it was only accepted for 82598 devices. 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 0f90300f4fd30968a4d40fe47a9043be9912cb31 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Thu Aug 6 17:57:31 2015 +0900 ixgbevf: Enables TSO for stacked VLAN Setting ndo_features_check to passthru_features_check allows the driver to skip the check for multiple tagged TSO packets and enables stacked VLAN TSO. Tested with 82599ES. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f2701b185e05d0897a47f6a14da40a068b0644ff Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Thu Aug 6 17:57:29 2015 +0900 e1000e: Enable TSO for stacked VLAN Setting ndo_features_check to passthru_features_check allows the driver to skip the check for multiple tagged TSO packets and enables stacked VLAN TSO. Tested with I217-LM. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 213246d3fade6772e07138597bca0bdf9fbe754d Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Thu Aug 6 17:57:28 2015 +0900 igbvf: Enable TSO for stacked VLAN Setting ndo_features_check to passthru_features_check allows the driver to skip the check for multiple tagged TSO packets and enables stacked VLAN TSO. Tested with I350. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 307723255a05242ab252dd7047d4970ab60c7dfd Author: Francois Romieu <romieu@xxxxxxxxxxxxx> Date: Thu Aug 6 00:52:37 2015 +0200 e1000: remove dead e1000_init_eeprom_params calls The device probe method e1000_probe calls e1000_init_eeprom_params itself so there's no reason to call it again from e1000_do_write_eeprom or e1000_do_read_eeprom. The sentence above assumes that e1000_init_eeprom_params is effective. e1000_init_eeprom_params depends mostly on hw->mac_type and e1000_probe bails out early if it can't set mac_type (see e1000_init_hw_struct, then e1000_set_mac_type), qed. Btw, if effective, the removed paths would had been deadlock prone when e1000_eeprom_spi was set: -> e1000_write_eeprom (takes e1000_eeprom_lock) -> e1000_do_write_eeprom -> e1000_init_eeprom_params -> e1000_read_eeprom (takes e1000_eeprom_lock) (same narrative with e1000_read_eeprom -> e1000_do_read_eeprom etc.) As a final note, the candidate deadlock above can't happen in e1000_probe due to the way eeprom->word_size is set / tested. Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 80043f3bf5bdb187566620a8f183c15b94e961cb Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jul 1 17:38:36 2015 -0700 fm10k: add support for extra debug statistics Add a private ethtool flag to enable display of these statistics, which are generally less useful. However, sometimes it can be useful for debugging purposes. The most useful portion is the ability to see what the PF thinks the VF mailboxes look like. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 15aa49cb99c128e1484b6373382e264588067cab Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Fri Jun 26 08:54:07 2015 -0700 fm10k: TRIVIAL remove unnecessary comma Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit afadfd224f53106e4fd52f3b6885a93431a5a6f5 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Fri Jun 26 08:54:06 2015 -0700 fm10k: create "correct" header for the remote end on connect When we connect to the mailbox, we insert a fake disconnect header so that the code does not see an invalid header and thus instantly error every time we bring up the mailbox. However, we incorrectly record the tail and head from the local perspective. Since the remote end shouldn't have anything for us, add a "create_fake_disconnect_hdr" function which inverts the TAIL and HEAD fields. This enables us to connect without any errors of either TAIL or HEAD incorrectness, and prevents creating extraneous error messages. This is necessary now since mbx_reset_work does not actually reset the Tx FIFO head and tail pointers, thus head and tail might not be equivalent on a reconnect. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4b09728e9d34170c375f41d9b454f067ce39591f Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Thu Jun 25 14:43:43 2015 -0700 fm10k: drop transmitted messages in Tx FIFO as part of reset_work This patch fixes a corner case issue with the PF/VF mailbox code. Currently, fm10k_mbx_reset_work clears various state about the mailbox. However, it does not clear the Tx FIFO head/tail pointers. We can't simply clear these pointers as we unintentionally drop untransmitted messages without error. Doing nothing results in a possible phantom re-transmission of messages, since we leave tx.head and tx.tail intact, but clear the tx_pulled and tail_len values. This means that the PF could continuously re-send a message which triggers a reset in the VF. Upon reset, the VF will re-receive the same message after a reconnect. If we reset the tx.head and tx.tail pointers completely, we end up dropping some messages that were pending before connect. This results in missing LPORT_MSG_READY bits, and VFs will end up reporting no link. However, we can resolve both issues by simply incrementing head to account for the already transmitted messages, before we reset tx_pulled. We do this via the same logic as fm10k_mbx_head_pull. We account for the tail_len which includes all data not yet transmitted, once we account for the acked data which means re-reading the HEAD variable from the message header. Then, we drop messages until we've dropped more than the new tx_pulled value. At this point, resetting tail_len and tx_pulled, but not tx.head and tx.tail will result in prevention of the phantom message. It also prevents us from dropping untransmitted messages upon attempting to Tx into a connect or disconnect header. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5532408b48834bd762ed53c22aabed5dae0748d6 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 24 17:03:30 2015 -0400 ixgbe: Add fdir support for SCTP on X550 X550 has HW support for SCTP flow director filters SCTP mask. This patch adds it like we do for UDP and TCP. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a023bbd0b1a3716397d8d54ba5b95e09b8e27699 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 24 16:38:53 2015 -0400 ixgbe: Add SFP+ detection for X550 hardware This patch is part of the future enablement of X550 SFP+ support. This HW uses different SDP so the interrupts need to be set up accordingly. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8427672abdc9e405f86755fad5a035511a5b1534 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Jun 15 15:00:52 2015 -0700 fm10k: remove comment about rtnl_lock around mbx operations This comment is no longer true due to a couple of mailbox locking refactors, and we now don't actually do any rtnl protected operations directly in the mailbox path. Remove this comment as it is factually incorrect and confusing. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ce2e572cfe7b2fc3f0e9da4aa7bc61a2c2c51fc7 Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Date: Mon Sep 21 18:02:25 2015 +0800 x86/numachip: Introduce Numachip2 timer mechanisms Add 1GHz 64-bit Numachip2 clocksource timer support for accurate system-wide timekeeping, as core TSCs are unsynchronised. Additionally, add a per-core clockevent mechanism that interrupts via the platform IPI vector after a programmed period. [ tglx: Taking it through x86 due to dependencies ] Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Acked-by: Steffen Persvold <sp@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1442829745-29311-1-git-send-email-daniel@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ad03a9c25d258641556c7198e26fd882c741987a Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Date: Mon Sep 21 01:02:01 2015 +0800 x86/numachip: Add Numachip IPI optimisations When sending IPIs, first check if the non-local part of the source and destination APIC IDs match; if so, send via the local APIC for efficiency. Secondly, since the AMD BIOS-kernel developer guide states IPI delivery will occur invarient of prior deliver status, avoid polling the delivery status bit for efficiency. Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Acked-by: Steffen Persvold <sp@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1442768522-19217-3-git-send-email-daniel@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d9d4dee6cedfa17e5eedcba242dca3091bf73bc3 Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Date: Mon Sep 21 01:02:00 2015 +0800 x86/numachip: Add Numachip2 APIC support Introduce support for Numachip2 remote interrupts via detecting the right ACPI SRAT signature. Access is performed via a fixed mapping in the x86 physical address space. Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Acked-by: Steffen Persvold <sp@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1442768522-19217-2-git-send-email-daniel@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit db1003a719d75cebe5843a7906c02c29bec9922c Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Date: Mon Sep 21 01:01:59 2015 +0800 x86/numachip: Cleanup Numachip support Drop unused code and includes in Numachip header files and APIC driver. Additionally, use the 'numachip1' prefix on Numachip1-specific functions; this prepares for adding Numachip2 support in later patches. Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Acked-by: Steffen Persvold <sp@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1442768522-19217-1-git-send-email-daniel@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 99cb99aa055a72d3880d8a95a71034c4d64bcf9a Merge: 97170ea 0a031ac5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 22 13:11:43 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter/IPVS updates for net-next The following patchset contains Netfilter/IPVS updates for your net-next tree in this 4.4 development cycle, they are: 1) Schedule ICMP traffic to IPVS instances, this introduces a new schedule_icmp proc knob to enable/disable it. By default is off to retain the old behaviour. Patchset from Alex Gartrell. I'm also including what Alex originally said for the record: "The configuration of ipvs at Facebook is relatively straightforward. All ipvs instances bgp advertise a set of VIPs and the network prefers the nearest one or uses ECMP in the event of a tie. For the uninitiated, ECMP deterministically and statelessly load balances by hashing the packet (usually a 5-tuple of protocol, saddr, daddr, sport, and dport) and using that number as an index (basic hash table type logic). The problem is that ICMP packets (which contain really important information like whether or not an MTU has been exceeded) will get a different hash value and may end up at a different ipvs instance. With no information about where to route these packets, they are dropped, creating ICMP black holes and breaking Path MTU discovery. Suddenly, my mom's pictures can't load and I'm fielding midday calls that I want nothing to do with. To address this, this patch set introduces the ability to schedule icmp packets which is gated by a sysctl net.ipv4.vs.schedule_icmp. If set to 0, the old behavior is maintained -- otherwise ICMP packets are scheduled." 2) Add another proc entry to ignore tunneled packets to avoid routing loops from IPVS, also from Alex. 3) Fifteen patches from Eric Biederman to: * Stop passing nf_hook_ops as parameter to the hook and use the state hook object instead all around the netfilter code, so only the private data pointer is passed to the registered hook function. * Now that we've got state->net, propagate the netns pointer to netfilter hook clients to avoid its computation over and over again. A good example of how this has been simplified is the former TEE target (now nf_dup infrastructure) since it has killed the ugly pick_net() function. There's another round of netns updates from Eric Biederman making the line. To avoid the patchbomb again to almost all the networking mailing list (that is 84 patches) I'd suggest we send you a pull request with no patches or let me know if you prefer a better way. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55696b1f664e52b3036f21631f9c2247b667f587 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:24 2015 -0600 x86/mm: Fix no-change case in try_preserve_large_page() try_preserve_large_page() checks if new_prot is the same as old_prot. If so, it simply sets do_split to 0, and returns with no-operation. However, old_prot is set as a 4KB pgprot value while new_prot is a large page pgprot value. Now that old_prot is initially set from p?d_pgprot() as a large page pgprot value, fix it by not overwriting old_prot with a 4KB pgprot value. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-12-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d551aaa2f7e1387fa66093ce9914c2e91f283a50 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:23 2015 -0600 x86/mm: Fix __split_large_page() to handle large PAT bit __split_large_page() is called from __change_page_attr() to change the mapping attribute by splitting a given large page into smaller pages. This function uses pte_pfn() and pte_pgprot() for PUD/PMD, which do not handle the large PAT bit properly. Fix __split_large_page() by using the corresponding pud/pmd pfn/ pgprot interfaces. Also remove '#ifdef CONFIG_X86_64', which is not necessary. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-11-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3a19109efbfa7d887996a74257556a46e00525c2 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:22 2015 -0600 x86/mm: Fix try_preserve_large_page() to handle large PAT bit try_preserve_large_page() is called from __change_page_attr() to change the mapping attribute of a given large page. This function uses pte_pfn() and pte_pgprot() for PUD/PMD, which do not handle the large PAT bit properly. Fix try_preserve_large_page() by using the corresponding pud/pmd prot/pfn interfaces. Also remove '#ifdef CONFIG_X86_64', which is not necessary. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-10-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit daf3e35c5888e8bd6a2f5ed15ed392b2df362ecf Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:21 2015 -0600 x86/mm: Fix gup_huge_p?d() to handle large PAT bit gup_huge_pud() and gup_huge_pmd() cast *pud and *pmd to *pte, and use pte_xxx() interfaces to obtain the flags and PFN. However, the pte_xxx() interface does not handle the large PAT bit properly for PUD/PMD. Fix gup_huge_pud() and gup_huge_pmd() to use pud_xxx() and pmd_xxx() interfaces according to their type. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-9-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 34437e67a6727885bdf6cbfd8441b1ac43a1ee65 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:20 2015 -0600 x86/mm: Fix slow_virt_to_phys() to handle large PAT bit slow_virt_to_phys() calls lookup_address() to obtain *pte and its level. It then calls pte_pfn() to obtain a physical address for any level. However, this physical address is not correct when the large PAT bit is set because pte_pfn() does not mask the large PAT bit properly for PUD/PMD. Fix slow_virt_to_phys() to use pud_pfn() and pmd_pfn() for 1GB and 2MB mapping levels. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-8-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit da25e628c4c231a281b1c1de3168a36ab9bfe473 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:19 2015 -0600 x86/mm: Fix page table dump to show PAT bit /sys/kernel/debug/kernel_page_tables does not show the PAT bit for PUD/PMD mappings. This is because walk_pud_level(), walk_pmd_level() and note_page() mask the flags with PTE_FLAGS_MASK, which does not cover their PAT bit, _PAGE_PAT_LARGE. Fix it by replacing the use of PTE_FLAGS_MASK with p?d_flags(), which masks the flags properly. Also change to show the PAT bit as "PAT" to be consistent with other bits. Reported-by: Robert Elliott <elliott@xxxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-7-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit bbac8c6deadab921f4b7d00ce675ffa4f358ec7f Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:18 2015 -0600 x86/asm: Add pud_pgprot() and pmd_pgprot() pte_pgprot() returns a pgprot_t value by calling pte_flags(). Now that pud_flags() and pmd_flags() work specifically for the pud/pmd levels, define pud_pgprot() and pmd_pgprot() for PUD/PMD. Also update pte_pgprot() to remove the unnecessary mask with PTE_FLAGS_MASK as pte_flags() takes care of it. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-6-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f70abb0fc3da1b2945c92751ccda2744081bf2b7 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:17 2015 -0600 x86/asm: Fix pud/pmd interfaces to handle large PAT bit Now that we have pud/pmd mask interfaces, which handle pfn & flags mask properly for the large PAT bit. Fix pud/pmd pfn & flags interfaces by replacing PTE_PFN_MASK and PTE_FLAGS_MASK with the pud/pmd mask interfaces. Suggested-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-5-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4be4c1fb9a754b100466ebaec50f825be0b2050b Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:16 2015 -0600 x86/asm: Add pud/pmd mask interfaces to handle large PAT bit The PAT bit gets relocated to bit 12 when PUD and PMD mappings are used. This bit 12, however, is not covered by PTE_FLAGS_MASK, which is used for masking pfn and flags for all levels. Add pud/pmd mask interfaces to handle pfn and flags properly by using P?D_PAGE_MASK when PUD/PMD mappings are used, i.e. PSE bit is set. Suggested-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-4-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 832102671855f73962e7a04fdafd48b9385ea5c6 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:15 2015 -0600 x86/asm: Move PUD_PAGE macros to page_types.h PUD_SHIFT is defined according to a given kernel configuration, which allows it be commonly used by any x86 kernels. However, PUD_PAGE_SIZE and PUD_PAGE_MASK, which are set from PUD_SHIFT, are defined in page_64_types.h, which can be used by 64-bit kernel only. Move PUD_PAGE_SIZE and PUD_PAGE_MASK to page_types.h so that they can be used by any x86 kernels as well. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-3-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fb535ccb30845fe0b7bd09caa37a838985b72ff9 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:14 2015 -0600 x86/vdso32: Define PGTABLE_LEVELS to 32bit VDSO In case of CONFIG_X86_64, vdso32/vclock_gettime.c fakes a 32-bit non-PAE kernel configuration by re-defining it to CONFIG_X86_32. However, it does not re-define CONFIG_PGTABLE_LEVELS leaving it as 4 levels. This mismatch leads <asm/pgtable_type.h> to NOT include <asm-generic/ pgtable-nopud.h> and <asm-generic/pgtable-nopmd.h>, which will cause compile errors when a later patch enhances <asm/pgtable_type.h> to use PUD_SHIFT and PMD_SHIFT. These -nopud & -nopmd headers define these SHIFTs for the 32-bit non-PAE kernel. Fix it by re-defining CONFIG_PGTABLE_LEVELS to 2 levels. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-2-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ff8e2c560eca32043ed097099debac488a4bd99f Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:11 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 <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f59c150ad9ae017abcff16775ccdd0bdefb963d Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:10 2015 +0200 usb: interface authorization: Documentation part This part adds the documentation for the interface authorization. Signed-off-by: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 310d2b4124c073a2057ef9d952d4d938e9b1dfd9 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:09 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 <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3910cef3968b2456cdd6c33b1f5e33904319f22 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:08 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 <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d1f8573a33224dce9b6e3a5085a6857b7572c13 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:07 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 <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b2bd3c8c69c4817a9a2feb4597021d486c105f4 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:06 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 <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ad2ddce1a096dea71d42969515d3a64f0d9246f Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:05 2015 +0200 usb: interface authorization: Declare authorized attribute The attribute authorized shows the authorization state for an interface. Signed-off-by: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c61814544cfe0db7c4c4adf38e51d015c7175f9 Author: Eric Curtin <ericcurtin17@xxxxxxxxx> Date: Tue Sep 15 21:27:20 2015 +0100 tools: usbip: detach: avoid calling strlen() at each iteration Instead of calling strlen on every iteration of the for loop, just call it once and cache the result in a temporary local variable which will be used in the for loop instead. Signed-off-by: Eric Curtin <ericcurtin17@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0132c4e0d06046a324051c09bd094719b9216ac Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 22 21:43:13 2015 +0800 kernel/trace_probe: is_good_name can be boolean This patch makes is_good_name return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Link: http://lkml.kernel.org/r/1442929393-4753-2-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 6f83d30a370851f8e47b91d0a7a2adc3d3c3ad8a Merge: 7001b3f 9e294bf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Sep 22 09:54:16 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: clk: samsung: fix cpu clock's flags checking commit 10265075aa3a8629b0ccdcff4d10b17bd740defe Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 11 15:00:22 2015 -0400 cgroup: make cgroup_update_dfl_csses() migrate all target processes atomically cgroup_update_dfl_csses() is responsible for migrating processes when controllers are enabled or disabled on the default hierarchy. As the css association changes for all the processes in the affected cgroups, this involves migrating multiple processes. Up until now, it was implemented by migrating process-by-process until the source css_sets are empty; however, this means that if a process fails to migrate after some succeed before it, the recovery is very tricky. This was considered okay as subsystems weren't allowed to reject process migration on the default hierarchy; unfortunately, enforcing this policy turned out to be problematic for certain types of resources - realtime slices for now. As such, the default hierarchy is gonna allow restricted failures during migration and to support that this patch makes cgroup_update_dfl_csses() migrate all target processes atomically rather than one-by-one. The preceding patches made subsystems ready for multi-process migration and factored out taskset operations making this almost trivial. All tasks of the target processes are put in the same taskset and the migration operations are performed once which either fails or succeeds for all. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit adaae5dcf8920375a2fdc6268f762a0b7b331c55 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 11 15:00:21 2015 -0400 cgroup: separate out taskset operations from cgroup_migrate() Currently, cgroup_migreate() implements large part of the migration logic inline including building the target taskset and actually migrating them. This patch separates out the following taskset operations. CGROUP_TASKSET_INIT() : taskset initializer cgroup_taskset_add() : add a task to a taskset cgroup_taskset_migrate() : migrate a taskset to the destination cgroup This will be used to implement atomic multi-process migration in cgroup_update_dfl_csses(). This is pure reorganization which doesn't introduce any functional changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit 9af2ec45c2d323d5ce35b431bb150c0eb567f19a Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 11 15:00:20 2015 -0400 cgroup: reorder cgroup_migrate()'s parameters cgroup_migrate() has the destination cgroup as the first parameter while cgroup_task_migrate() has the destination cset as the last. Another migration function is scheduled to be added which can make the discrepancy further stand out. Let's reorder cgroup_migrate()'s parameters so that the destination cgroup is the last. This doesn't cause any functional difference. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit 4530eddb59494b89650d6bcd980fc7f7717ad80c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 11 15:00:19 2015 -0400 cgroup, memcg, cpuset: implement cgroup_taskset_for_each_leader() It wasn't explicitly documented but, when a process is being migrated, cpuset and memcg depend on cgroup_taskset_first() returning the threadgroup leader; however, this approach is somewhat ghetto and would no longer work for the planned multi-process migration. This patch introduces explicit cgroup_taskset_for_each_leader() which iterates over only the threadgroup leaders and replaces cgroup_taskset_first() usages for accessing the leader with it. This prepares both memcg and cpuset for multi-process migration. This patch also updates the documentation for cgroup_taskset_for_each() to clarify the iteration rules and removes comments mentioning task ordering in tasksets. v2: A previous patch which added threadgroup leader test was dropped. Patch updated accordingly. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 3df9ca0a2b8b50db5a079ae9d97c5b55435e9a6c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 11 15:00:18 2015 -0400 cpuset: migrate memory only for threadgroup leaders If memory_migrate flag is set, cpuset migrates memory according to the destnation css's nodemask. The current implementation migrates memory whenever any thread of a process is migrated making the behavior somewhat arbitrary. Let's tie memory operations to the threadgroup leader so that memory is migrated only when the leader is migrated. While this is a behavior change, given the inherent fuziness, this change is not too likely to be noticed and allows us to clearly define who owns the memory (always the leader) and helps the planned atomic multi-process migration. Note that we're currently migrating memory in migration path proper while holding all the locks. In the long term, this should be moved out to an async work item. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit 917536aeb88d34e06c1353b0dd144f0987bb66bd Author: John Lin <john.lin@xxxxxxxxxxx> Date: Mon Sep 21 14:12:01 2015 +0800 ASoC: rt5645: Add jd_invert for Broadwell Broadwell can not triger the IRQ falling and rising simultaneously, so it can not detect jack-in and jack-out simultaneously. We add a flag "jd_invert" to platform data. If this flag is set, codec IRQ will be set to invert that forces IRQ as pulse when jack-in and jack-out. Signed-off-by: John Lin <john.lin@xxxxxxxxxxx> Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e9159e7577cfd1ac8b3c5ea8916ad37bcd87e629 Author: John Lin <john.lin@xxxxxxxxxxx> Date: Mon Sep 21 14:12:00 2015 +0800 ASoC: rt5645: Add dmi for Broadwell Add DMI data for Buddy project. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: John Lin <john.lin@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c44506997c67bcc6299e47dd43030cbd133ed439 Merge: 6ff33f3 df5c79e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 22 09:45:46 2015 -0700 Merge branch 'fix/rt5645' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt5645 commit 52019e406c24a98ba8c8f731c1236ff0ac3de96a Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 22 12:36:15 2015 +0200 EDAC, i5100: Convert to debugfs wrappers This driver creates its debugfs hierarchy under the toplevel debugfs dir - see i5100_init() - so make it use edac_debugfs_create_dir_at( , NULL) because we're not breaking userspace. Oh well. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit bba3b31e440a9c16da013a5f07066b8092a16c87 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 22 12:27:29 2015 +0200 EDAC, altera: Convert to debugfs wrappers Use the EDAC-specific wrappers. Drop CONFIG_EDAC_DEBUG ifdeffery. Cc: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Cc: <linux-edac@xxxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4397bcb4fa1dd285a2c6d583d1f1cbc6bd423f97 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 22 12:16:05 2015 +0200 EDAC: Add debugfs wrappers Later patches will convert EDAC users to those. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1a3284542f2cedc14fa8c4b4de6b9a85eedf4402 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Sep 22 08:56:35 2015 -0700 ARM: configs: keystone: Add basic systemd related options Add basic options to bootup on systemd based distros such as debian. See http://cgit.freedesktop.org/systemd/systemd/tree/README#n38 for more information. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 45ddd2e3723a2ed9e5125ddcc3afbb0a27c2c425 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Sep 22 08:56:28 2015 -0700 ARM: configs: keystone: sync to savedefconfig Sync up the defconfig to savedefconfig output. easier to integrate deltas as a result. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit adda50b8b32bd559906d82fa32caeaf6c9306f59 Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Tue Jul 21 10:42:53 2015 -0700 drm/i915/skl: Don't clear all watermarks when updating. (v2) Clearing the watermarks for all pipes/planes when updating the watermarks for a single CRTC change seems like the wrong thing to do here. As is, this code will ony update any pipe/plane watermarks that need updating and leave the remaining set to zero. Later, the watermark checks in check_wm_state() will flag these zero'd out pipe/plane watermarks and throw errors. By clearing only the watermark values associated with the specific crtc the other watermark values may remain unchanged. v2: Make sure all the dirty flags are cleared. Damien Clear all values assoicated with crtc/pipe being updated. Damien Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 25e1793f6c642604b13e33bc81a9c8d48d652c86 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:23 2015 +0200 drm/i915: Mark debug mod options as _unsafe We don't want random people to touch these. Especially true since we've just screwed up SKL by holding it way too long under the preliminary flag because of some ABI issues. And now there's howtos all over the internets about how to set this. Same pretty much for anything else. Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> [danvet: drop fastboot changes, that option is gone.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 604ef7346862bb761a091932e99c14204ff4050a Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:35 2015 +0200 drm/i915: fix handling gen8_emit_flush_coherentl3_wa result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5389e916c3b64c3dd249018dfaf983e2e3a06c6f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Fri Sep 4 21:06:15 2015 +0200 drm/i915: Spell vga_switcheroo consistently Currently everyone and their dog has their own favourite spelling for vga_switcheroo. This makes it hard to grep dmesg for log entries relating to vga_switcheroo. It also makes it hard to find related source files in the tree. vga_switcheroo.c uses pr_fmt "vga_switcheroo". Use that everywhere. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac742d37180bee83bc433be087b66a17af2883b9 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:36:40 2015 +0200 futex: Force hot variables into a single cache line futex_hash() references two global variables: the base pointer futex_queues and the size of the array futex_hashsize. The latter is marked __read_mostly, while the former is not, so they are likely to end up very far from each other. This means that futex_hash() is likely to encounter two cache misses. We could mark futex_queues as __read_mostly as well, but that doesn't guarantee they'll end up next to each other (and even if they do, they may still end up in different cache lines). So put the two variables in a small singleton struct with sufficient alignment and mark that as __read_mostly. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441834601-13633-1-git-send-email-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 95b8aff2a6e5616639db06dd37efb36fba188590 Author: Andrew F. Davis <afd@xxxxxx> Date: Mon Sep 14 16:26:07 2015 -0500 power: bq27x00_battery: Remove unneeded i2c MODULE_ALIAS The MODULE_DEVICE_TABLE macro automatically adds all needed i2c MODULE_ALIASes so remove the extra MODULE_ALIAS. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5e5822f670c2c61953b5d4d18b4cc3e66744865c Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Aug 13 10:24:41 2015 +0530 power_supply: max8998: Use devm_power_supply_register Use managed resource function devm_power_supply_register instead of power_supply_register to simplify the error path by allowing unregister to happen automatically on error. To be compatible with the change, replace various gotos by direct returns and remove unneeded label err. Also, remove max8998_battery_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 71f64340fc0eadd06036d0db9a511b6d726add1d Author: Huang Shijie <shijie.huang@xxxxxxx> Date: Wed Sep 2 10:24:55 2015 +0800 genirq: Remove the second parameter from handle_irq_event_percpu() Actually, we always use the first irq action of the @desc->action chain, so remove the second parameter from handle_irq_event_percpu() which makes the code more tidy. Signed-off-by: Huang Shijie <shijie.huang@xxxxxxx> Reviewed-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx Cc: marc.zyngier@xxxxxxx Link: http://lkml.kernel.org/r/1441160695-19809-1-git-send-email-shijie.huang@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b55a3bb8650ddb096624175c55176d7fdbcad4ae Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Sep 21 15:46:06 2015 +0200 irqchip/atmel-aic5: Simplify base chip selection Use irq_get_domain_generic_chip() to select the base chip. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Nicholas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: <sasha.levin@xxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: <Wenyou.Yang@xxxxxxxxx> Cc: <jason@xxxxxxxxxxxxxx> Cc: <marc.zyngier@xxxxxxx> Link: http://lkml.kernel.org/r/1442843173-2390-3-git-send-email-ludovic.desroches@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 414a431ad6217a03e561fcb199048141db3fc024 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Sep 21 15:46:05 2015 +0200 irqchip/atmel-aic5: Use explicit variable name for the base chip To avoid errors, use an explicit variable name when accessing the 'base' generic chip. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Nicholas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: <sasha.levin@xxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: <Wenyou.Yang@xxxxxxxxx> Cc: <jason@xxxxxxxxxxxxxx> Cc: <marc.zyngier@xxxxxxx> Link: http://lkml.kernel.org/r/1442843173-2390-2-git-send-email-ludovic.desroches@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 75ea8ca844fd35ce365e35e1617b239892d31f72 Author: Marcel Ziswiler <marcel@xxxxxxxxxxxx> Date: Sun Sep 20 00:13:37 2015 +0200 power: charger-manager: comment spelling fixes By accident I stumbled over a few misspelled words in the charger-manager header file which this patch fixes. Namely: - Extcon rather than Exton - constraint rather than constratint - existence rather than existance - difference rather than diffential While at it also add a missing space before a closing comment star forward-slash. Signed-off-by: Marcel Ziswiler <marcel@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c72b7bf82cc681c350c051e5f077b54dac531d2f Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 18:54:07 2015 +0200 tps65090-charger: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 0df2deeab462bde009c7f1a29c6d2d395bac39d8 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Sep 17 18:55:00 2015 +0530 max8903_charger: Convert to using managed resources Use managed resource functions devm_request_threaded_irq and devm_power_supply_register to simplify error handling. To be compatible with the change, various gotos are replaced with direct returns and unneeded labels are dropped. Also, remove max8903_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 50bddb99c10d6ed861ce384bfe95c78eab5e3ca7 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Sep 17 18:27:52 2015 +0530 power: max17042_battery: Convert to using managed resources Use managed resource functions devm_request_threaded_irq and devm_power_supply_register to simplify error handling. Also, remove max17042_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit f94f87ab1a04629699ec1e2408dae8f3acee5dc4 Merge: afbbd23 d32dc9a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Sep 22 15:56:46 2015 +0200 Merge branch 'irq/urgent' into irq/core Get the urgent bugfix for aic5 as further patches depend on it. commit 96d8bf75da12df17f2c861043158dad2dabfe491 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 21 16:35:43 2015 +0200 perf tools: Add include/err.h into MANIFEST Otherwise the tarpkg is incomplete (tarpkg tests fails). Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: 01ca9fd41d6f ("tools: Add err.h with ERR_PTR PTR_ERR interface") Link: http://lkml.kernel.org/r/1442846143-8556-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 65f041bee7838e2a91dbbc0a917d9291adbb3484 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 21 17:25:27 2015 -0300 tools lib bpf: Use FEATURE_USER to allow building in the same dir as perf When building tools/lib/bpf as part of the tools/perf/ build process, which will happend when we introduce a patch wiring that up, we end up stomping on the feature detection caching mechanism, that uses a file in the output directory (O=) that is shared by libbpf and perf to check if something changed from one build to another that requires redoing the feature detection process. By using the recently introduced FEATURE_USER tools/build/ knob, we can avoid that: Before, every make invokation would run the feature detection: $ make O=/tmp/build/perf -C tools/perf make: Entering directory '/home/git/linux/tools/perf' Auto-detecting system features: ... dwarf: [ on ] ... glibc: [ on ] <SNIP> ... get_cpuid: [ on ] ... bpf: [ on ] GEN perf-archive GEN perf-with-kcore Auto-detecting system features: ... libelf: [ on ] ... bpf: [ on ] <SNIP> After: $ make O=/tmp/build/perf -C tools/perf make: Entering directory '/home/git/linux/tools/perf' BUILD: Doing 'make -j4' parallel build make: Leaving directory '/home/git/linux/tools/perf' $ Because we now have two different feature detection state files: $ ls -la /tmp/build/perf/FEATURE-DUMP* -rw-rw-r--. 1 acme acme 338 Sep 21 17:25 /tmp/build/perf/FEATURE-DUMP -rw-rw-r--. 1 acme acme 33 Sep 21 17:25 /tmp/build/perf/FEATURE-DUMP.libbpf $ Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Fixes: 1b76c13e4b36 ("bpf tools: Introduce 'bpf' library and add bpf feature check") Link: http://lkml.kernel.org/n/tip-s6ev9wfqy7pvvs58emys2g90@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 13e96db61c1c32cd4c8102a95129bb7677cc746d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 21 12:24:47 2015 -0300 tools build: Allow setting the feature detection user We will use the tools/build/ autodetection in the eBPF patchkit and it is currently sharing the output directory with perf, that also uses the feature detection logic. As we keep state in the output directory, so that we can avoid running all the tests again, we need to have different filenames for the files used in this state, allow doing that via the FEATURE_USER variable, to be set alongside the existing FEATURE_{TEST,DISPLAY} variables. v2: Fix comment describing the FEATURE_DUMP filename to make sure where it is created, precisely at $(OUTPUT)FEATURE-DUMP$(FEATURE_USER). Pointed out by Jiri. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/n/tip-fdbev0vrn3x6idqc3ajbnvcb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 20517cd9c5930c9ef580082d23073842e92249ad Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 21 17:00:27 2015 -0300 tools lib bpf: Fix up FEATURE_{TESTS,DISPLAY} usage When libbpf was introduced it wrongly asked for the "libelf" and "bpf" feature tests to be performed (via FEATURE_TESTS), while asking that "libbpf", "libelf-mmap", "libelf-getphdrnum" and "bpf" to have the result of its respective tests to be displayed (via FEATURE_DISPLAY). Due to another recently bug fixed in the tools/build/ infrastructure ("tools build: Fixup feature detection display function name") the results for the entries in the FEATURE_DISPLAY, for this case, were appearing as all succeeding, when two of them (the ones only on the DISPLAY) were not even being performed. Before: $ make -C tools/lib/bpf/ make: Entering directory '/home/git/linux/tools/lib/bpf' Auto-detecting system features: ... libelf: [ on ] ... libelf-getphdrnum: [ OFF ] ... libelf-mmap: [ OFF ] ... bpf: [ on ] <SNIP> After, with FEATURE_TESTS == FEATURE_DISPLAY: Auto-detecting system features: ... libelf: [ on ] ... libelf-getphdrnum: [ on ] ... libelf-mmap: [ on ] ... bpf: [ on ] <SNIP> I just inverted, so that it tests the four features but displays just the libelf and mmap ones, to make it more compact. So it becomes: $ make -C tools/lib/bpf/ make: Entering directory '/home/git/linux/tools/lib/bpf' Auto-detecting system features: ... libelf: [ on ] ... bpf: [ on ] Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Fixes: 1b76c13e4b36 ("bpf tools: Introduce 'bpf' library and add bpf feature check") Link: http://lkml.kernel.org/n/tip-y4bd59e6j9rzzojiyeqrg2jq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bc312cbdfa4c4eaa074bae29adbff231c743619a Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Sep 10 12:35:13 2015 +0200 power: reset: at91-reset/trivial: driver applies to SAMA5 family as well This diver doesn't applies only on SAM9 SoC families but on SAMA5 families as well. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6076e2a47cccfb3d48a8d165853c0b799c563df7 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 21 11:49:51 2015 -0300 tools build: Fixup feature detection display function name Cut'n'paste mistake, it should eval the name of the function defined right next to it, in the next line, fix it. Before: $ make -C tools/lib/bpf/ make: Entering directory '/home/git/linux/tools/lib/bpf' Auto-detecting system features: ... libelf: [ on ] ... libelf-getphdrnum: [ on ] ... libelf-mmap: [ on ] ... bpf: [ on ] <SNIP> After: $ make -C tools/lib/bpf/ make: Entering directory '/home/git/linux/tools/lib/bpf' Auto-detecting system features: ... libelf: [ on ] ... libelf-getphdrnum: [ OFF ] ... libelf-mmap: [ OFF ] ... bpf: [ on ] <SNIP> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Fixes: 58d4f00ff13f ("perf build: Fix feature_check name clash") Link: http://lkml.kernel.org/n/tip-dzu1c4sruukgfq5d5b1c4r30@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3ed769bdb2a2484fd7f9f7f3047413053aacbe21 Author: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Date: Fri Sep 18 15:54:23 2015 +0200 timers: Fix data race in timer_stats_account_timer() timer_stats_account_timer() reads timer->start_site, then checks it for NULL and then re-reads it again, while timer_stats_timer_clear_start_info() can concurrently reset timer->start_site to NULL. This should not lead to crashes, but can double number of entries in timer stats as start_site is used during comparison, the doubled entries will have unuseful NULL start_site. Read timer->start_site only once in timer_stats_account_timer(). The data race was found with KernelThreadSanitizer (KTSAN). Signed-off-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: andreyknvl@xxxxxxxxxx Cc: glider@xxxxxxxxxx Cc: kcc@xxxxxxxxxx Cc: ktsan@xxxxxxxxxxxxxxxx Cc: john.stultz@xxxxxxxxxx Link: http://lkml.kernel.org/r/1442584463-69553-1-git-send-email-dvyukov@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5359d112dcb081fd7a5f2de287fa995f6ba0800c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Sep 14 13:56:17 2015 +0200 Revert "mac80211: add pointer for driver use to key" This reverts commit f9a060f4b2003eb7350762e60dfc576447e44bad. No driver has turned up needing this functionality, and I've just implemented the functionality I wanted this for in a different way. Thus, remove it again, until somebody shows up with a need for having it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4dc792b8f098ab6327033fc97ba40163a2cd5fcc Author: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Date: Wed Sep 2 13:23:30 2015 +0200 mac80211: Split sending tx'ed frames to monitor interfaces into its own function This allows ieee80211_tx_monitor to be used directly for sending 802.11 frames to all monitor interfaces. Signed-off-by: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d55d0d598e6610bbfcc1f2ecd6e8af669b94783b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Aug 31 22:59:38 2015 +0200 nl80211: put current TX power in interface info Many drivers implement reading current TX power (using either cfg80211 or ieee80211 op) but userspace can't get it using nl80211. Right now the only way to access it is to call some wext ioctl. Let's put TX power in interface info reply (callback is wdev specific) just like we do with current channel. To be consistent (e.g. NL80211_CMD_SET_WIPHY) let's use mBm as na unit. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0edd5faeb07bfd3ec5402f9467e4c169dcd131e8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 28 14:31:48 2015 +0200 wireless: mark element IDs 8 and 9 reserved These were never used in the tree, and are marked as reserved in the IEEE 802.11 documentation (ANA). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 338c17ae311e6b5a439573a4043fd2d9237cd1d5 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 28 10:52:54 2015 +0200 mac80211: use DECLARE_EWMA for ave_beacon_signal It doesn't seem problematic to change the weight for the average beacon signal from 3 to 4, so use DECLARE_EWMA. This also makes the code easier to maintain since bugs like the one fixed in the previous patch can't happen as easily. With a fix from Avraham Stern to invert the sign since EMWA uses unsigned values only. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8ec6d97871f37e4743678ea4a455bd59580aa0f4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 28 10:52:53 2015 +0200 mac80211: fix driver RSSI event calculations The ifmgd->ave_beacon_signal value cannot be taken as is for comparisons, it must be divided by since it's represented like that for better accuracy of the EWMA calculations. This would lead to invalid driver RSSI events. Fix the used value. Fixes: 615f7b9bb1f8 ("mac80211: add driver RSSI threshold events") Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8e0d7fe07c3f8c2a5e3b5bdbfdf09de4da2e2dd4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 28 10:52:52 2015 +0200 mac80211: remove last_beacon/ave_beacon debugfs files These file aren't really useful: - if per beacon data is required then you need to use radiotap or similar anyway, debugfs won't help much - average beacon signal is reported in station info in nl80211 and can be looked up with iw Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c85fb53c4fa6521352028c40ce096a808aabd389 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Thu Aug 27 09:00:18 2015 -0400 mac80211: implement VHT support for mesh Implement the basics required for supporting very high throughput with mesh: include VHT information elements in beacons, probe responses, and peering action frames, and check for compatible VHT configurations when peering. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f020ae40b0c969d3fd3b320d0a05e62d5553ff72 Author: Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx> Date: Fri Sep 4 10:58:05 2015 +0800 mac80211: zero center freq segment 2 in VHT oper IE Clear the Channel Center Frequency Segment 2 in VHT operation IEs to avoid sending non-zero values if the SKB wasn't zeroed before adding the VHT operation IE. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx> [change commit message a bit - not necessarily just mesh related] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 99e7ca44bb910f0cbfda5d9008e8517df0ebc939 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sat Aug 15 22:39:51 2015 +0300 mac80211: allow the driver to advertise A-MSDU within A-MPDU Rx support Drivers may be interested in receiving A-MSDU within A-MDPU. Not all the devices may be able to do so, make it configurable. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 46cad4b7a131a215159d889fa88d0dc71d581908 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sat Aug 15 22:39:54 2015 +0300 mac80211: remove direct probe step before authentication The direct probe step before authentication was done mostly for two reasons: 1) the BSS data could be stale 2) the beacon might not have included all IEs The concern (1) doesn't really seem to be relevant any more as we time out BSS information after about 30 seconds, and in fact the original patch only did the direct probe if the data was older than the BSS timeout to begin with. This condition got (likely inadvertedly) removed later though. Analysing this in more detail shows that since we mostly use data from the association response, the only real reason for needing the probe response was that the code validates the WMM parameters, and those are optional in beacons. As the previous patches removed that behaviour, we can now remove the direct probe step entirely. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e3abc8ff0fc18b3925fd5d5c5fbd1613856f4e7c Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Aug 16 11:13:22 2015 +0300 mac80211: allow to transmit A-MSDU within A-MPDU Advertise the capability to send A-MSDU within A-MPDU in the AddBA request sent by mac80211. Let the driver know about the peer's capabilities. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 1b09b5568e5f46c6dfb781d7c1dfad431a6d8ec1 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Sat Aug 15 22:39:50 2015 +0300 mac80211: introduce per vif frame registration API Currently the cfg80211's frame registration api receives wdev, however mac80211 assumes per device filter configuration and ignores wdev. Per device filtering is too wasteful, especially for multi-channel devices. Introduce new per vif frame registration API and use it for probe request registrations in ieee80211_mgmt_frame_register() Also call directly to ieee80211_configure_filter instead of using a work since it is now allowed to sleep in ieee80211_mgmt_frame_register. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7bdbe400d1b2aac116513f90b75969ad2365fba6 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sat Aug 15 22:39:49 2015 +0300 nl80211: support vendor dumpit commands In order to transfer many items in vendor commands, support the dumpit netlink method for them. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit dd55ab59b6234c73522dc533757e89e6a77c2c38 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sat Aug 15 22:39:48 2015 +0300 mac80211: TDLS: check reg with IR-relax on chandef upgrade When checking if a TDLS chandef can be upgraded, IR-relaxation can be taken into account to allow more channels. 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 82c0cc90d6268a3cd3ee058257d2146188326452 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sat Aug 15 22:39:46 2015 +0300 mac80211: debugfs: add file to disallow TDLS wider-bw Sometimes we are interested in testing TDLS performance in a specific width setting. Add the ability to disable the wider-band feature, thereby allowing the TDLS channel width to be controlled by the BSS width. 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 fc58c47ef1ace65c5c1c94f2e96578e7b04aad64 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Sat Aug 15 22:04:01 2015 +0300 mac80211: process skb_queue while scanning in HW Queued frames aren't processed during scan, which results in an inability to complete the BA session establishment until the scan ends. Since we can't tx frames until the BA agreement setup is complete, it might result in a very large latency during scan. Fix this by allowing to process queued skbs while scanning in HW. This should be ok since the devices which support hw scan should be able to handle tx/rx while scanning. During SW scan, mac80211 drops any txed frames besides probes and NDPs, so it is still needed to delay processing of the queued frames till the SW scan is done. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8de1c63ba1ccfa8225505e60b405537c2c72673c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 21 14:13:06 2015 +0200 wireless: make __freq_reg_info static As pointed out by sparse, this symbol should be static, make it so. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 064380a12e12412f25db049a503126228babbae5 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 11:12:50 2015 +0200 power/reset: at91-poweroff: 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 at91 shutdown controller. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6dd1ad1f236e7e683e92efd6b5b3953615900701 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 11:12:49 2015 +0200 power/reset: at91-poweroff: allow compiling as a module It was not possible to compile at91-poweroff as a module. Implement .remove() to allow it. Also switch to module_platform_driver_probe() as it is not hotpluggable. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2b2c6148fe851042cefbf272146b77634a4da39d Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 11:12:48 2015 +0200 power/reset: at91-reset: 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 at91 reset controller. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6e64180a7c0219d769e05b6dbe5af4a073c1eb92 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 11:12:47 2015 +0200 power/reset: at91-reset: allow compiling as a module It was not possible to compile at91-reset as a module. Implement .remove() to allow it. Also switch to module_platform_driver_probe() as it is not hotpluggable. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit eacd8d09db7f4504eea6b5fdc55a8fe5eaf62bed Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 11:12:46 2015 +0200 power/reset: at91-reset: remove useless at91_reset_platform_probe() Since all the at91 platforms are now DT only, at91_reset_platform_probe() is now useless, remove it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 4b813f09405823dcbb27a434f6ddcd1741e55e9b Author: Andrew Price <anprice@xxxxxxxxxx> Date: Tue Sep 22 07:41:21 2015 -0500 GFS2: fallocate: do not rely on file_update_time to mark the inode dirty Previously __gfs2_fallocate() relied on file_update_time() marking the inode dirty, but that's not a safe assumption as that function doesn't dirty the inode in some cases. Mark the inode dirty explicitly. Signed-off-by: Andrew Price <anprice@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 2a9123f185ca07dcd76f36242ee03bed3fe2ab5c Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Sep 17 18:03:40 2015 +0530 88pm860x_battery: Convert to using managed resources Use managed resource functions devm_request_threaded_irq and devm_power_supply_register to simplify error handling. To be compatible with the change, various gotos are replaced with direct returns and unneeded labels are dropped. Also, remove pm860x_battery_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 56d7df8716b2e7a138af89bffe4923e15cf9bf68 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Jul 30 10:53:56 2015 -0700 power: Add Qualcomm SMBB driver Add the Qualcomm Switch-Mode Battery Charger and Boost driver, found in pm8941. Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 43fde00b264e261d18a273751c48912b02f66245 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Jul 30 10:53:55 2015 -0700 dt-binding: power: Add Qualcomm SMBB binding Add the Qualcomm Switch-Mode Battery Charger and Boost device tree binding. Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit da42bbd99d8a74ef15f53c4c1782ee2ea627ed81 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 31 10:52:00 2015 +0200 power: Remove unnecessary MODULE_ALIAS() for I2C drivers These drivers already have an I2C device id table that is used to create module aliases and the used MODULE_ALIAS() was either already in the I2C table so it was redundant or wasn't a valid I2C id so it was never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9615a29932e8a2c719142ac81481ad7d0e271924 Author: Milo Kim <milo.kim@xxxxxx> Date: Tue Aug 25 15:07:08 2015 +0900 power:lp8727_charger: parsing child node after getting debounce-ms According to lp8727 bindings[*], charging parameter is optional. So parsing can be skipped in case those properties are undefined. However, 'debounce-ms' should be read prior to checking the properties. Otherwise, 'debounce-ms' property will be ignored even it is configured inside the DT. So, counting child is processed after updating 'debounce-ms'. [*] Documentation/devicetree/bindings/power_supply/lp8727_charger.txt Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 87d931d56970d014a7074ca57f11baadc4e6d834 Author: Milo Kim <milo.kim@xxxxxx> Date: Tue Aug 25 15:07:07 2015 +0900 power:lp8727_charger: use the private data instead of updating I2C device platform data Currently, lp8727 charger 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, lp8727 driver changes this configuration when it is loaded. The driver should get data from the platform side and use the private data, 'lp8727_chg->pdata' instead of changing the original platform data. _probe() procedure is changed as follows. 1. lp8727_parse_dt() returns the pointer of lp8727_platform_data. The driver uses this allocated platform data. So it should keep original platform data, 'dev->platform_data'. 2. In _probe(), check the return value of lp8727_parse_dt(). If an error is found, then exit as PTR_ERR(pdata). 3. If 'of_node' is not found, then the driver just gets the platform data from the I2C device structure. 4. Map the platform data to private data structure. Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c01576c8f3445208036eac72ea6703b452d42612 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Aug 20 15:12:43 2015 -0700 power: wm831x_power: Convert to devm_kzalloc() Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 69fb4dcada7704beeba86e3f401a66c726aa8504 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Aug 1 10:39:38 2015 +0200 power: Add an axp20x-usb-power driver This adds a driver for the usb power_supply bits of the axp20x PMICs. I initially started writing my own driver, before coming aware of Bruno Prémont's excellent earlier RFC with a driver for this. My driver was lacking CURRENT_MAX and VOLTAGE_MIN support Bruno's drvier has, so I've copied the code for those from his driver. Note that the AC-power-supply and battery charger bits will need separate drivers. Each one needs its own devictree child-node so that other devicetree nodes can reference the right power-supply, and thus each one will get its own mfd-cell / platform_device and platform-driver. Cc: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 264905209a58779566a1d80c96110eea69b09440 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Aug 1 10:39:37 2015 +0200 ARM: dts: Add binding documentation for AXP20x pmic usb power supply Add binding documentation for the usb power supply part of the AXP20x pmic. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 571af55a31d3652ac1f758f116835a76d0335661 Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Tue Aug 25 14:42:53 2015 +0800 time: Fix spelling in comments Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Cc: Hanjun Guo <guohanjun@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tianhong Ding <dingtianhong@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Xinwei Hu <huxinwei@xxxxxxxxxx> Cc: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440484973-13892-1-git-send-email-thunder.leizhen@xxxxxxxxxx [ Fixed yet another typo in one of the sentences fixed. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit afbbd23381767aec5717ce07736f3a165ef724cd Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Sep 14 22:06:44 2015 +0200 irqchip/gic: Document optional Clock and Power Domain properties Depending on the GIC variant, the GIC module has one or more clock inputs. Document the optional "clocks" and "clock-names" properties, and their possible values, based on the Technical Reference Manuals. optional. Add the optional "power-domains" property. This will allow to describe in DT the relationship between the GIC and the Clock and/or Power Domain topology on SoCs where this is relevant and needed for proper operation. Note: As the current GIC driver doesn't support Runtime PM yet, PM Domain constraints must be handled elsewhere in e.g. platform code. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442261204-30931-3-git-send-email-geert%2Brenesas@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8709b9eb37f07193e39ae4f8f8cb59aaed9eae2e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Sep 14 22:06:43 2015 +0200 irqchip/gic: Add arm,pl390 support Add support for the PrimeCell® Generic Interrupt Controller (PL390) to the GIC DT bindings and driver. Currently the GIC driver treats this GIC variant the same as other GIC variants, but there are differences in hardware topology (e.g. clock inputs). Sort the list of compatible values while we're at it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442261204-30931-2-git-send-email-geert%2Brenesas@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2a1d3ab8986d1b2f598ffc42351d94166fa0f022 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Sep 21 11:01:10 2015 +0200 genirq: Handle force threading of irqs with primary and thread handler Force threading of interrupts does not really deal with interrupts which are requested with a primary and a threaded handler. The current policy is to leave them alone and let the primary handler run in interrupt context, but we set the ONESHOT flag for those interrupts as well. Kohji Okuno debugged a problem with the SDHCI driver where the interrupt thread waits for a hardware interrupt to trigger, which can't work well because the hardware interrupt is masked due to the ONESHOT flag being set. He proposed to set the ONESHOT flag only if the interrupt does not provide a thread handler. Though that does not work either because these interrupts can be shared. So the other interrupt would rightfully get the ONESHOT flag set and therefor the same situation would happen again. To deal with this proper, we need to force thread the primary handler of such interrupts as well. That means that the primary interrupt handler is treated as any other primary interrupt handler which is not marked IRQF_NO_THREAD. The threaded handler becomes a separate thread so the SDHCI flow logic can be handled gracefully. The same issue was reported against 4.1-rt. Reported-and-tested-by: Kohji Okuno <okuno.kohji@xxxxxxxxxxxxxxxx> Reported-By: Michal Smucr <msmucr@xxxxxxxxx> Reported-and-tested-by: Nathan Sullivan <nathan.sullivan@xxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1509211058080.5606@nanos Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7ac8bf9bc9ba82aea763ef30671a34c6a2a39922 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 22 11:56:04 2015 +0200 EDAC: Carve out debugfs functionality ... into a separate compilation unit and drop a couple of CONFIG_EDAC_DEBUG ifdefferies. Rename edac_create_debug_nodes() to edac_create_debugfs_nodes(), while at it. No functionality change. Cc: <linux-edac@xxxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit f0ef67485f5918794143b7a85d60c1a52bc690ec Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Mon Sep 21 03:06:42 2015 -0700 Bluetooth: btmrvl: add sd8997 chipset support This patch adds support for Marvell's new chipset SD8997. Register offsets and supported feature flags are updated. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 53d6cfa581405d0aa47a5b9ceb027bc157fddebc Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Mon Sep 21 03:06:41 2015 -0700 Bluetooth: btmrvl: remove extra space in cast Coding style fix, extra spaces are removed to make casting consistent. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7d840545e5b933028e7423b127459d0d5e5e04fb Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:43 2015 +0200 mrf24j40: replace magic numbers This patch replaces some magic numbers with defines for register bits, mask and shifts. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit afaf7fdedb6cc484b4eccf48227632c7d81dcf5a Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:42 2015 +0200 mrf24j40: change irq trigger type behaviour This patch changes the irq trigger type value while calling devm_request_irq by using IRQF_TRIGGER_LOW when no irq type was given. Additional we add support for change the irq polarity while hw init if high level or low level triggered irq type are given. For rising edge triggered irq's the mrf24j40 can't deal with that, this races at position of tx completion irq, while the irq is disabled we readout the irq status registers. This will resets the irq line so other irq's can occur. Wile readout the irq status register the irq is still disabled and edge triggered interrupts will be ignored. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8ba40417401ce771769d847900f08c978bb61632 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:41 2015 +0200 mrf24j40: add promiscuous mode support This patch adds support for promiscuous mode by setting promiscuous (no frame filtering), disable automatic ack handling and not filtering frames where the crc is invalid. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 00250f78896bc52fd4606c4de7e3fb174e702123 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:40 2015 +0200 mrf24j40: add tx power support This patch supports setting of transmit power for the mrf24j40ma transceiver only. The mrf24j40mc has some amplifier to change the transmit power, I am currently not sure how the mapping for this amplifier looks like. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e33a0f96ac518d4c7ffcf98d2f030e6e23fab6b3 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:39 2015 +0200 mrf24j40: add cca ed level support This patch supports handling to set the cca energy detection level for the mrf24j40 transceiver. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f1d781272231dc4d1cdfdce13ad3e6f3f96b7ec0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:38 2015 +0200 mrf24j40: add cca mode support This patch supports cca mode handling for mrf24j40. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2323cf38f949439bc4ac4252cf1d91d1297cce92 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:37 2015 +0200 mrf24j40: add csma params support This patch adds supports to change the CSMA parameters. The datasheet doesn't say anything about max_be value. Seems not configurable and we assume the 802.15.4 default. But this value must exists because there is a min_be value. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 374416112bb0f83c5b4d8bb3fbb157fbe0b2814b Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:36 2015 +0200 mrf24j40: async interrupt handling This patch removes the threaded irq handling and do a hardirq instead. We need to switch to spi_async for this step for getting the irq status register. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c91a301162899ee100c1eab397958cb9aef50d0c Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:35 2015 +0200 mrf24j40: rework rx handling to async rx handling This patch prepares that we can do the receive handling inside interrupt context by using spi_async. This is necessary for introduce a non-threaded irq handling. Also we drop the bit setting for "RXDECINV" at register "BBREG1", we do a driectly full write of register "BBREG1", because it contains the bit RXDECINV only. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6844a0e4debd67c9bcf6a8fed3c7f9c24413c349 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:34 2015 +0200 mrf24j40: rework tx handling to async tx handling This patch reworks the current transmit API to spi_async handling. We removed the error handling check, because mac802154 has no chance to report it. Also the transmit timeout handling can't be handled by xmit async handling, for this usecase we need to implement the netdev watchdog. These are all unlikely cases which we drop now and should be provided by netdev watchdog. We also drop the bit setting for TXNACKREQ at register TXNCON, this is not necessary. The TXNCON register should set only once for each frame, previous settings doesn't matter. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 79750ac4257763ff595a8b2cdc7ba580f0b0c8e0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:33 2015 +0200 ieee802154: add helpers for frame control checks This patch introduce two static inline functions. The first to get the frame control field from an sk_buff. The second is for checking on the acknowledgment request bit on the frame control field. Later we can introduce more functions to check on the frame control fields. These will deprecate the current behaviour which requires a host-byteorder conversion and manually bit handling. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ab40ff7508d2f54ed03b99523493c46250649c52 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:32 2015 +0200 mrf24j40: change to frame delivery with crc This patch changes the frame delivery to mac802154 with crc. This is useful for monitor interface types which deliver the crc to userspace. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 42c7148e06661ae0ca1bb511e1b98878b5f522f8 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:31 2015 +0200 mrf24j40: use regmap for register access This patch uses the regmap functions for transceiver register settings where it's possible. This means everything except the hotpaths like receive/transmit handling. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b0156792001b7a19bc115dcc32aebb9b9a0b6a01 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:30 2015 +0200 mrf24j40: add regmap support This patch introduce regmap support for short and long address space of mrf24j40. It's only possible to use regmap_read/write/update_bits for long address range. This is because I added lowlevel bus operation because the write operation need to set the 12th bit to mark a register write, but regmap only supports to set bits for register write access in the first byte. We use other regmap register functions than read/write/update_bits, so this should be fine. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 554b49493b89b068643b7360334b40d5f5ca8ff2 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:29 2015 +0200 mrf24j40: add more register defines For supporting regmap, this patch will add more register defines to prepare a full register dump by regmap debugfs. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d344c91280326469e5f9c5a3b1b92ef0d1c5d25f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:28 2015 +0200 mrf24j40: add random extended addr generation The mrf24j40 has no source to get a permanent extended address. This patch will add a random generated permanent extended address source. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 766928fbf8c989f65184c3ed0d48fd3004213c46 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:27 2015 +0200 mrf24j40: add default channel setting Per default mrf24j40 has the channel 11 after reset. This patch adds the right phy default value for the channel setting. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2e6fd648b6b87e6a2289c875c6067acc3bd88b3e Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:26 2015 +0200 mrf24j40: add device-tree support This patch adds devicetree support to mrf24j40 with proper devicetree compatible strings. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 78aedb6bfa43f43dacd8fc7b06452a87d33e3886 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:25 2015 +0200 mrf24j40: remove spi settings overwrite This patch removes spi settings while mrf24j40 probing. These settings cannot be overwrite while device probing where spi controller should be already configured. These settings need to be setup by device tree or platform data. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a339e1849b9504b6e9631777e41ea2a240e58621 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:24 2015 +0200 mrf24j40: calling ieee802154_register_hw at last The function ieee802154_register_hw should always called at last. Currently we do hardware init and such things after register hardware into the subsystem. It could be that the subsystem already call driver operations while running hardware init. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b2cfdf3c6720b9b77758ef229401f28f48c3372b Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:23 2015 +0200 mrf24j40: use ieee802154_alloc_hw for private data This patch removes the own private dataroom allocation by calling devm_kzalloc for devrec and assign this pointer to "devrec->hw->priv". Instead we using like all other drivers ieee802154_alloc_hw and give the size for the private driver dataroom at the first argument. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c9f883f6fe66ff08ea968494709f4c0b28bc619a Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:22 2015 +0200 mrf24j40: cleanup define identation This patch replaces the spaces after define by a tab. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 57c1bc7ea8a4857070722c23ce98e01f256c9306 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 09:37:54 2015 +0200 at86rf230: support edge triggered irq This patch adds support for edge triggered irq types. We remove the locking for irq resources by enable/disable irq and allocate directly some heap buffer at isr. We have still a enable/disable irq path but this is for level-triggered irq's which need to be disabled until spi_async clear the irq line. There is usually a little race condition between "irq line cleared" and "enable_irq". When in this time a edge triggered irq arrived, we will not recognize this interrupt. This case can't happend at at86rf230. The reason is that we unmask TRX_END irq's only which indicates a transmit or receive completion, which depends on the current state. On Transmit: TRX_END arrived and transceiver is in TX_ARET_ON state again, in this state no other TRX_END can happen until we leave the state. On Receive: This is protected with the RX_SAFE_MODE bit which leaves the transceiver in RX_AACK_BUSY until we readed the framebuffer. In this state no other TRX_END can happen. Tested with RPi where I first detected issues between edge/level irq's. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 02c7b6922899621aa8e8babe27fca7b6b2e497b0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Sep 18 11:30:44 2015 +0200 mac802154: tx: add warning if MTU exceeds Sending over AF_PACKET RAW sockets we can sending frames which exceeds MTU size. To handling it correct we need to change things in AF_PACKET which knows on RAW sockets an additional FCS is set by hardware or mac802154 transmit functionality. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 87a93e4eceb495f93e3f37b100334d2641765b6c Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Sep 18 11:30:43 2015 +0200 ieee802154: change needed headroom/tailroom This patch cleanups needed_headroom, needed_tailroom and hard_header_len fields for wpan and lowpan interfaces. For wpan interfaces the worst case mac header len should be part of needed_headroom, currently this is set as hard_header_len, but hard_header_len should be set to the minimum header length which xmit call assumes and this is the minimum frame length of 802.15.4. The hard_header_len value will check inside send callbacl of AF_PACKET raw sockets. For lowpan interfaces, if fragmentation isn't needed the skb will call dev_hard_header for 802154 layer and queue it afterwards. This happens without new skb allocation, so we need the same headroom and tailroom lengths like 802154 inside 802154 6lowpan layer. At least we assume as minimum header length an ipv6 header size. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 838b83d63d2909f9136f3030dc4fffa8230c31da Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Sep 18 11:30:42 2015 +0200 ieee802154: introduce wpan_dev_header_ops The current header_ops callback structure of net device are used mostly from 802.15.4 upper-layers. Because this callback structure is a very generic one, which is also used by e.g. DGRAM AF_PACKET sockets, we can't make this callback structure 802.15.4 specific which is currently is. I saw the smallest "constraint" for calling this callback with dev_hard_header/dev_parse_header by AF_PACKET which assign a 8 byte array for address void pointers. Currently 802.15.4 specific protocols like af802154 and 6LoWPAN will assign the "struct ieee802154_addr" as these parameters which is greater than 8 bytes. The current callback implementation for header_ops.create assumes always a complete "struct ieee802154_addr" which AF_PACKET can't never handled and is greater than 8 bytes. For that reason we introduce now a "generic" create/parse header_ops callback which allows handling with intra-pan extended addresses only. This allows a small use-case with AF_PACKET to send "somehow" a valid dataframe over DGRAM. To keeping the current dev_hard_header behaviour we introduce a similar callback structure "wpan_dev_header_ops" which contains 802.15.4 specific upper-layer header creation functionality, which can be called by wpan_dev_hard_header. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a1da67b8117ddbe88c770b48b5b1527393b8c9c0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Sep 18 11:30:41 2015 +0200 ieee802154: header_ops: fix frame control setting Sometimes upper-layer protocols wants to generate a new mac header by filling "struct ieee802154_hdr" only. These upper-layers sets for the address settings the source and dest fields, but not the fc fields for indicate the source and dest address mode. This patch changes the "ieee802154_hdr_push" function so the fc address fields are set according the source and dest fields of "struct ieee802154_hdr". Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cdd38b219eec2e1b83c0a02d89d372f9656648eb Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Sep 18 11:30:40 2015 +0200 mac802154: llsec: fix device deletion from list This patch adds a missing list_del when a device description will be deleted. Cc: Phoebe Buckheister <phoebe.buckheister@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 475b9eacc5543eea922431bb8ac4ec761de0e415 Author: Nachiket Kukade <kukaden@xxxxxxxxxxx> Date: Fri Sep 18 06:40:40 2015 -0700 Bluetooth: btmrvl: fix firmware dump issue First firmware dump attempt from user works fine, but firmware goes into bad state after this. Subsequent attempts fails. As required by the firmware dump implementation, this change writes FW_DUMP_READ_DONE value to dump ctrl register to address this issue. Signed-off-by: Nachiket Kukade <kukaden@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a645654b817feba05e5156345325d19fc85ebc9f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Aug 23 15:18:55 2015 +0200 vga_switcheroo: Document _ALL_ the things! This adds an "Overview" DOC section plus two DOC sections for the modes of use ("Manual switching and manual power control" and "Driver power control"). Also included is kernel-doc for all public functions, structs and enums. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0f8b83984f14a64851e7219c86fad53dc5da435a Merge: d1b9d03 a78695d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 22 10:17:39 2015 +0200 Merge remote-tracking branch 'drm-intel/drm-intel-next-queued' into drm-intel-next-queued Pull in patches Jani merged while I was at XDC. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 6ff0966052c46efb53980b8a1add2e7b49c9f560 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Sun Sep 13 03:25:26 2015 +0100 ARM: 8432/1: move VMALLOC_END from 0xff000000 to 0xff800000 There is a 12MB unused region in our memory map between the vmalloc and fixmap areas. This became unused with commit e9da6e9905e6, confirmed with commit 64d3b6a3f480. We also have a 8MB guard area before the vmalloc area. With the default 240MB vmalloc area size and the current VMALLOC_END definition, that means the end of low memory ends up at 0xef800000 which is unfortunate for 768MB machines where 8MB of RAM is lost to himem. Let's move VMALLOC_END to 0xff800000 so the guard area won't chop the top of the 768MB low memory area while keeping the default vmalloc area size unchanged and still preserving a gap between the vmalloc and fixmap areas. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 803e3dbcb4cf80c898faccf01875f6ff6e5e76fd Author: Sergey Dyasly <dserrg@xxxxxxxxx> Date: Wed Sep 9 16:27:18 2015 +0100 ARM: 8430/1: use default ioremap alignment for SMP or LPAE 16MB alignment for ioremap mappings was added by commit a069c896d0d6 ("[ARM] 3705/1: add supersection support to ioremap()") in order to support supersection mappings. But __arm_ioremap_pfn_caller uses section and supersection mappings only in !SMP && !LPAE case. There is no need for such big alignment if either SMP or LPAE is enabled. After this change, ioremap will use default maximum alignment of 128 pages. Link: https://lkml.kernel.org/g/1419328813-2211-1-git-send-email-d.safonov@xxxxxxxxxxxxxxxxxxx Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: James Bottomley <JBottomley@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Arnd Bergmann <arnd.bergmann@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Sergey Dyasly <s.dyasly@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f460b6abdeeafd30c3ee737c843be17b1ceb38e5 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Aug 26 07:49:12 2015 +0100 ARM: 8423/1: add const qualifier to smp_operations member in structures The core framework does not modify smp_operations structures. To clarify it, this commit adds 'const' qualifier to the 'ops' member of struct of_cpu_method and the 'smp' member of struct machine_desc. This change allows each SoC code to add 'const' qualifier to its smp_operation structure. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4caa9dda388f34f957a9eb52b9f5ef1a8c975c7b Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Aug 26 07:49:11 2015 +0100 ARM: 8424/1: add const qualifier to the argument of smp_set_ops() This function just copies '*ops' to 'smp_ops', so the given structure '*ops' is not modified at all. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit bbeb9209515989ff47802d4e5d5702178c8e42c4 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Tue Aug 25 13:52:09 2015 +0100 ARM: 8422/1: enable imprecise aborts during early kernel startup This patch adds imprecise abort enable/disable macros and uses them to enable imprecise aborts early when starting the kernel. This helps in tracking down the real cause for such imprecise abort, as they are handled as soon as they occur. Until now those aborts would only be enabled when entering the userspace and as a consequence crash the first userspace process if any abort had been raised during kernel startup. Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6c20b934247875f41fe9bcc74072bb072b4f28d8 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:21 2015 +0100 extcon: arizona: Don't disable debounce for inverted jacks Whilst the jack is connected we disable the jack detection debounce to ensure as quick as possible a detection of jack removal. However, it is only safe to disable the jack debounce whilst the jack is connected if using the micd clamp or the jack is not inverted. Otherwise spurious interrupts might be generated when we re-enable the debounce. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit ff1cb0ed716304e9f7835ecc5f12ad580b0637ea Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:20 2015 +0100 extcon: arizona: Use the micd_clamp for interrupts if it is available Currently we only use the microphone clamp IRQ if GPIO5 is being used as a second jack detection pin. But we should be using it on any system where the clamp is available. This patch updates the driver to do so. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit a0ef642849f6319a031f1dcc2fa444d651179131 Author: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:19 2015 +0100 extcon: arizona: Ignore jd_invert for MICD_CLAMP_STS The polarity of MICD_CLAMP_STS does not change when different clamp modes are used, this patch corrects this issue. Signed-off-by: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit f719ae3311f9b609151a0319f0cc2fdb7491d37a Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:18 2015 +0100 extcon: arizona: Additional settings to improve accuracy of HP detect If the TST_CAP_SEL bits aren't set correctly on wm5110/8280 there will be a 100k load along side the headphones, which will affect the accurary towards the very top of the detection range. This patch sets those bits. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 6772a5ab4f53672adce6310dffe2b0c6987d8f92 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:17 2015 +0100 extcon: arizona: Add support for general purpose switch The switch is typically used in conjunction with the MICDET clamp in order to suppress pops and clicks associated with jack insertion. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit df8b6771bdd4004c743ad8ffff6fb7059d6687d1 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:16 2015 +0100 extcon: arizona: Add support for new ADC value mic detect Newer devices give users the option to make the 3/4 pole jack determination using a software comparison rather than a hardware one. This patch adds support for this functionality. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit b8ba9edb911102b452c815879f520bfe2713fab6 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:15 2015 +0100 mfd: arizona: Add TST_CAP bits for headphone detection On wm5110/8280 some additional settings are required to get accurate measurements at the top end of the headphone detection range. This patch adds the bits required for this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 1ce376897e02e623ba357594604ca655df61053b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:14 2015 +0100 mfd: arizona: Add register bits for general purpose switch The switch is typically used in conjunction with the MICDET clamp in order to suppress pops and clicks associated with jack insertion. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit e76e397a7f99bffbd91fb21f96370cbb165b5bcd Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:13 2015 +0100 mfd: arizona: Add registers for ADC microphone detection The newer devices support using a software comparison to determine whether a 3/4 pole jack is present. Add the registers necessary for this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 97170ea1823bf00cf6ed0f503129e9053a66c53a Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Sep 21 20:41:44 2015 -0700 drivers/net/ieee802154/at86rf230.c: seq_printf() now returns NULL Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35736c8165ba666b1a5f07a57f838d8ce1ac3c67 Merge: 607cba1 cec4284 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 21 17:21:47 2015 -0700 Merge branch 'cpsw-macid-no-of' Mugunthan V N says: ==================== Add support for reading macid when DT macid not found Did a boot test on dra7-evm [1] and am437x-gp-evm [2]. Pushed a branch [3] for others to test the patch. [1]: http://pastebin.ubuntu.com/12513420/ [2]: http://pastebin.ubuntu.com/12513428/ [3]: git://git.ti.com/~mugunthanvnm/ti-linux-kernel/linux.git cpsw-macid-read-support ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cec42849162c79a2677d7ec29c20e72fb9ca5666 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 21 15:56:53 2015 +0530 arm: dts: am4372: add syscon phandle to cpsw node There are 2 MACIDs stored in the control module of the am4372. These are read by the cpsw driver if no valid MACID was found in the devicetree. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a084e13e795aca7c18f39304c0c76579b4364655 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 21 15:56:52 2015 +0530 arm: dts: dra7: add syscon phandle to cpsw node There are 2 MACIDs stored in the control module of the dra7. These are read by the cpsw driver if no valid MACID was found in the devicetree. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d230a11abc97e118365b12a472ff758d867c4bac Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 21 15:56:51 2015 +0530 drivers: net: cpsw-common: add support for reading mac address for dra7 and am437x platforms Adding support for reading mac address using syscon driver for dra7 and am437x platforms Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6745f6e4e63f23fd5bf46ea2745783be13a0960 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 21 15:56:50 2015 +0530 drivers: net: cpsw: davinci_emac: move reading mac id to common file Moving mac address reading from ethernet driver to common file for better maintenance and for code reusable. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 607cba1554cbdfd8d9f4a645f235e1dc909ba33f Merge: 852bcaf 6fa7da2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 21 17:15:03 2015 -0700 Merge tag 'linux-can-next-for-4.4-20150921' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-09-17 this is a pull request of 8 patches for net-next/master. All 8 patches are by me and cleanup the flexcan driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1305df1283cbe1aa57093f8766b2dfe650ed5ff Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Sep 13 14:15:29 2015 +0200 jffs2: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0791a5f8ab5082d2726d99f3b21036d438c11424 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Sep 13 14:14:54 2015 +0200 mtd: nandsim: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 79c452adb159dc9abc507ea13faec8d115a78758 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Fri Sep 18 17:49:25 2015 +0200 mtd: spi-nor: remove unused read_xfer/write_xfer hooks struct spi_nor_xfer_cfg and read_xfer/write_xfer hooks were never used by any driver. Do some cleanup by removing them. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 852bcafb99247abb3a2876625a3adf684c42e015 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 18 14:16:53 2015 -0700 net: bcmgenet: Remove duplicate test for tx_coalesce_usecs_high We were checking twice for ec->tx_coalesce_usecs_high, remove the duplicate test. Reported-by: Julia Lawall <julia.lawall@xxxxxxx> Reported-by: kbuild-all@xxxxxx Fixes: 2f9130709d2c19 ("net: bcmgenet: Implement TX coalescing control knobs") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9b9958229638245b5709f27c76c199a465f1496 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Sep 18 11:40:33 2015 -0700 tcp: send loss probe after 1s if no RTT available This patch makes TLP to use 1 sec timer by default when RTT is not available due to SYN/ACK retransmission or SYN cookies. Prior to this change, the lack of RTT prevents TLP so the first data packets sent can only be recovered by fast recovery or RTO. If the fast recovery fails to trigger the RTO is 3 second when SYN/ACK is retransmitted. With this patch we can trigger fast recovery in 1sec instead. Note that we need to check Fast Open more properly. A Fast Open connection could be (accepted then) closed before it receives the final ACK of 3WHS so the state is FIN_WAIT_1. Without the new check, TLP will retransmit FIN instead of SYN/ACK. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f1c28ae74bb1a34d36fca2db5161611d58b3148 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Sep 18 11:36:14 2015 -0700 tcp: usec resolution SYN/ACK RTT Currently SYN/ACK RTT is measured in jiffies. For LAN the SYN/ACK RTT is often measured as 0ms or sometimes 1ms, which would affect RTT estimation and min RTT samping used by some congestion control. This patch improves SYN/ACK RTT to be usec resolution if platform supports it. While the timestamping of SYN/ACK is done in request sock, the RTT measurement is carefully arranged to avoid storing another u64 timestamp in tcp_sock. For regular handshake w/o SYNACK retransmission, the RTT is sampled right after the child socket is created and right before the request sock is released (tcp_check_req() in tcp_minisocks.c) For Fast Open the child socket is already created when SYN/ACK was sent, the RTT is sampled in tcp_rcv_state_process() after processing the final ACK an right before the request socket is released. If the SYN/ACK was retransmistted or SYN-cookie was used, we rely on TCP timestamps to measure the RTT. The sample is taken at the same place in tcp_rcv_state_process() after the timestamp values are validated in tcp_validate_incoming(). Note that we do not store TS echo value in request_sock for SYN-cookies, because the value is already stored in tp->rx_opt used by tcp_ack_update_rtt(). One side benefit is that the RTT measurement now happens before initializing congestion control (of the passive side). Therefore the congestion control can use the SYN/ACK RTT. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21fe8af40024c49af37124bc7b19c5836d25695e Merge: 5dcd246 91e60eb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 21 16:03:05 2015 -0700 Merge branch 's390-next' Ursula Braun says: ==================== s390: qeth and iucv patches here is version 2 of some s390 related qeth patches for net-next. The patch by Thomas Richter adds a new feature to the qeth layer2 code; the remaining patches are minor improvements. Version 2 of patch 4 uses the desired indentation in function declarations and definitions spanning multiple lines in almost all cases. Thomas run into a conflict with the maximum number of columns once. Thus you will still see one function definition using an earlier column before the opening paranthesis. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91e60eb60bdf078fc58b8d2fd1ac12f3c09bb893 Author: Ursula Braun <ursula.braun@xxxxxxxxxx> Date: Fri Sep 18 16:06:52 2015 +0200 s390/iucv: do not use arrays as argument The iucv code uses arrays as arguments. Even though this does not really cause a problem, it could be misleading, since the compiler turns array arguments into just a pointer argument. To be more precise this patch changes the array arguments into pointers. Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d7def2a12386dbf56443016114c187df50e3442 Author: Thomas Richter <tmricht@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 18 16:06:51 2015 +0200 qeth: add layer 2 RX/TX checksum offloading Checksum offloading for send and receive is already supported for layer 3 (IP layer). This patch adds support for RX and TX hardware checksum offloading for layer 2 (MAC layer). The hardware calculates the checksum for IP UDP and TCP packets. This patch moves the hardware checksum offloading setup to the set of common functions in qeth_core_main.c. Layer 2 and layer 3 now simply call the same common functions. Also note that TX checksum offloading is always enabled. The device driver relies on the TCP/IP stack to make use of this feature. Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Reviewed-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 239ff408ddd8fa7a19c53ed247daec855ff11ea2 Author: Ursula Braun <ursula.braun@xxxxxxxxxx> Date: Fri Sep 18 16:06:50 2015 +0200 qeth: move OSA portname into deprecated status An OSA-Express port name was required to identify a shared OSA port. All operating system instances that shared the port had to use the same port name. This requirement no longer applies. Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 248046ba074dc3cbba4f771f08da8b430662d8ac Author: Lakhvich Dmitriy <ldmitriy@xxxxxxxxxx> Date: Fri Sep 18 16:06:49 2015 +0200 qeth: no write permission for readonly sysattr User is not allowed to write into bridge_state sysfs file. Fixed attribute not mislead the user Signed-off-by: Lakhvich Dmitriy <ldmitriy@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Reported-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Reviewed-by: Thomas Richter <tmricht@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9846e70b9bcd9ec11f82a47df159d1b1dfb02eee Author: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Date: Fri Sep 18 16:06:48 2015 +0200 qeth: remove extraneous length from %pM format Length specifier in the %pM format is not supported (at least, not documented). Remove it, and also an extraneous '&' for the array. Signed-off-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5dcd2461073a43b2aa48ab5cfc135ba182667794 Merge: a1ef48e 6818375 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 21 16:00:44 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-09-18 Here's the first bluetooth-next pull request for the 4.4 kernel: - ieee802154 cleanups & fixes - debugfs support for the at86rf230 driver - Support for quirky (seemingly counterfeit) CSR Bluetooth controllers - Power management and device config improvements for Intel controllers - Fix for devices with incorrect advertising data length - Fix for closing HCI user channel socket Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 730a43fbc135e593cc3de3b1b895e49c05c8e2dc Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 18:03:38 2015 +0200 mtd: nand: add nand_check_erased helper functions Add two helper functions to help NAND controller drivers test whether a specific NAND region is erased or not. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1de7d80246a047edaa4ea7de225437571a3aec34 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 11:33:28 2015 +0200 regulator: pwm: implement ->enable(), ->disable() and ->is_enabled methods Implement the ->enable(), ->disable() and ->is_enabled methods and remove the PWM call in ->set_voltage_sel(). This is particularly important for critical regulators tagged as always-on, because not claiming the PWM (and its dependencies) might lead to unpredictable behavior (like a system hang because the PWM clk is only claimed when the PWM device is enabled). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 854f736364c659046f066a98fed2fdb10a39577a Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Sun Sep 6 07:13:17 2015 +0000 perf tools: Don't assume that the parser returns non empty evsel list Don't blindly retrieve and use a last element in the lists returned by parse_events__scanner(), as it may have collected no entries, i.e. return an empty list. 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: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441523623-152703-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0fb18553478dee5b3d8dc0af4f99a5288e81142f Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Sep 16 21:52:42 2015 +0900 perf probe: Fix a segfault when removing uprobe events Fix a segfault bug and a small mistake in perf probe -d. Since the "ulist" in perf_del_probe_events is never initialized, strlist__add(ulist, *) always causes a segfault when removing uprobe events by perf probe -d. Also, the "str" local variable is never released if fail to allocate the "klist". This fixes it too. This has been introduced by the commit e607f1426b58 ("perf probe: Print deleted events in cmd_probe()"). Reported-by: Milian Wolff <milian.wolff@xxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150916125241.4446.44805.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e1a3e724a25761a2b2e9e0e059e33afac6409a76 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 12:15:05 2015 +0200 ARM: berlin: register cpufreq-dt The Berlin SoCs use cpufreq-dt for cpufreq. Register a platform device. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 1e5c50572d9e587c88d6e976e582a9b3377f9153 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 12:15:04 2015 +0200 ARM: berlin: dts: add the cpufreq-dt bindings on the BG2CD The BG2CD uses cpugreq-dt. Add the corresponding bindings. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 2e1782add72fbbb7309b2c120ce20a543a23f5b3 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 12:15:03 2015 +0200 ARM: berlin: dts: add the cpufreq-dt bindings on the BG2 The BG2 uses cpugreq-dt. Add the corresponding bindings. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 23998645f6e73f7038347255228ae1c60f1598da Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 12:15:02 2015 +0200 ARM: berlin: dts: add the cpufreq-dt bindings on the BG2Q The BG2Q uses cpugreq-dt. Add the corresponding bindings. The operating points can be updated by the bootloader. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 85f3b4311629defd68eb2b9779fda593d8fb7728 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Sep 21 16:02:47 2015 +0200 regulator: core: Remove regulator_list As we are already registering a device with regulator_class for each regulator device, regulator_list is redundant and can be replaced with calls to class_find_device() and class_for_each_device(). Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 472912a2b5e2027efd58aa47f78acb2373675187 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 18:01:59 2015 -0400 memcg: generate file modified notifications on "memory.events" cgroup core only recently grew generic notification support. Wire up "memory.events" so that it triggers a file modified event whenever its content changes. v2: Refreshed on top of mem_cgroup relocation. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> commit f6c804b08ca5e04f309e88b7e8823ef8b9d054e5 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:37:00 2015 +0200 ARM: at91/dt: sama5d2: add pio controller node Add pio4 controller node to enable pinmux and gpio. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 33d3690cf5c24261af69b5d415ae5403ee386e1f Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:36:59 2015 +0200 MAINTAINERS: Add an entry for pinctrl-at91-pio4 Add an entry for the Atmel PIO4 controller driver. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 56d794222474edef1cae2bc97732a717ab41003a Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:36:58 2015 +0200 pinctrl: dt-binding: Add DT binding documentation for Atmel PIO4 Add documentation for the Atmel PIO4 controller introduced with SAMA5D2 chip family. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 776180848b574c9c01217fa958f10843ffce584f Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:36:57 2015 +0200 pinctrl: introduce driver for Atmel PIO4 controller Add a pinctrl/gpio driver for Atmel PIO4 controller available on SAMA5D2 chip family. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6c8c58b38f17e92691dd648c0e3b66f1a6942433 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Sep 19 13:25:54 2015 +0200 ARM: BCM5301X: Netgear R6250 add USB GPIO Add GPIO number which is needed to activate the USB power supply. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 2d3eda67dd2a02087a2ae6916c92ee1966945b88 Author: Thomas Elste <thomas.elste@xxxxxxx> Date: Mon Sep 21 16:30:47 2015 +0200 regulator: tps65023: add device tree support Add device tree based initialization support for tps65023 regulators. Therefore add macros for regulator definition setting of_match and regulators_node members. Add initialization of regulator_desc data using these macros. Remove old regulator_desc initialization. Add device tree binding document for tps65023 regulators. Signed-off-by: Thomas Elste <thomas.elste@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 240eb916076c8deb206c7e66d1ee9eb37d6a499a Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:19 2015 +0200 dmaengine: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 60d6a21b1ec25629e93f11464fae3b2045c3370f Author: Punit Vara <punitvara@xxxxxxxxx> Date: Mon Sep 21 21:59:41 2015 +0530 Staging: rts5208: Coding style warnings fix for block comments This is patch to rtsx_chip.c that fixes up following warning reported by checkpatch.pl : -Block comments use * on subsequent lines Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d53dfb24e5772bd2a0cec16cf7b0edc5b5f2e7b2 Author: Amber N. Adams <amber@xxxxxxxxxxxxx> Date: Sun Sep 20 11:32:06 2015 -0500 staging: skein: Adds * on subsequent lines in block comment This patch fixes the checkpatch.pl warning: WARNING: Block comments use * on subsequent lines +/* +Copyright (c) 2010 Werner Dittmann Signed-off-by: Amber N. Adams <amber@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64ffdc383b18e66c3698fff05ea693f4346cfbf9 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Sep 21 18:57:10 2015 +0530 Staging: fbtft: Remove debug messages Remove debug messages related to fbtft_par_dbg(DEBUG_INIT_DISPLAY.. ) as this info can be obtained using kernel function tracer Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40220d8062ce5b333c0124388f7709c84c142074 Author: Ting-Chih Hsiao <s894330@xxxxxxxxxxx> Date: Mon Sep 21 14:58:09 2015 +0800 staging: lustre-mgc: make mgc_obd_ops static Fix sparse warnings of the following type: warning: symbol '....' was not declared. Should it be static? Signed-off-by: Ting-Chih Hsiao <s894330@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4222a9074339fccc59526cbf30d8d2ec41468574 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Wed Aug 26 13:17:30 2015 -0700 dmaengine: ioatdma: add PCIe AER handlers Adding AER handlers in order to handle any PCIe errors. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ad4a7b5065c1b4f5176e7d031c3cc2b36f776884 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Wed Aug 26 13:17:24 2015 -0700 dmaengine: ioatdma: adding shutdown support The ioatdma needs to be queisced and block all additional op submission during reboots. When NET_DMA was used, this caused issue as ops were still being sent to ioatdma during reboots even though PCI BME has been turned off. Even though NET_DMA has been deprecated, we need to prevent similar situations. The shutdown handler should address that. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9c811209eb87f26e83f1b1afea186d4797f8b71e Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Sep 21 20:56:58 2015 +0530 dmaengine: xgene-dma: use dma_pool_zalloc We should use shiny new dma_pool_zalloc instead of dma_pool_alloc/memset Reported-by: Julia Lawall <julia.lawall@xxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7c014e35a018187462f2cd6c85259e080663ba2d Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Sep 6 14:17:17 2015 +0300 iwlwifi: mvm: add debug print for d0i3 exit indication In order to verify d0i3 flow, add debug print to indicate d0i3 exit was completed (right after tx was re-enabled), along with the wakeup reasons. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 183edd8484fd375d0f6d5e73b071c21b17243424 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Tue Sep 1 14:16:00 2015 +0300 iwlwifi: mvm: configure wowlan configuration only if connected Recent fw version added assert to make sure wowlan configuration is configured only when a station is connected. Change the driver behavior to pass this configuration only if we indeed have ap station id (i.e. connected). Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit ee6dbb29377f6055093cccefc0cd0ac2670b12b3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 2 14:53:39 2015 +0200 iwlwifi: mvm: move RX API into its own file The RX API is currently mixed up into the general fw-api.h file, but we're going to need to extend it significantly in the future, so move it to its own file. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 2df5328e7853e33155312970036f05c27c189b71 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 2 14:47:16 2015 +0200 iwlwifi: mvm: remove some unused defines from RX API Remove some unused values from the RX API; these were used with older firmware API that didn't have the RX energy API, support for which was removed a long time ago. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit abfd794c59c7cbfe31a5d1471e5868d4dbd74205 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 2 12:26:45 2015 +0200 iwlwifi: mvm: remove pointless cfg_phy_cnt length check Since the driver can never configure the data here, this field will always be reported as 0 by the firmware. Even if this was not the case, however, it wouldn't matter since the extra data would be added beyond the end of the phy_info structure we use in the driver, so wouldn't harm anything in this code either. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 7f89a58efc0a18ec4a6eb7fdcf9ab73d426ce11f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 2 11:51:23 2015 +0200 iwlwifi: mvm: remove useless debug message from RX This message is useless - it's in the good case that always happens so enabling it doesn't really help. Just remove it. There are other ways to debug this (e.g. tracing) so there's no need to add a message in the bad case. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit da583fdfececf69571d3b8fafed278310592eec1 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 26 15:55:04 2015 +0200 iwlwifi: mvm: make sure AP is operating for ToF It's possible for an AP interface to be UP but not actually operating (i.e. not beaconing etc.) - in this case it can't actually do ToF, so check for it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 38d5f66f062a65bfc436013135a817e53037ccca Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 14:03:02 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_STATS_V10 TLV flag This flag is set in all supported firmwares. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 9d43fa4b4a0e46881d7d4fb3bc689a17d2f72257 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 13:57:37 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_ASYNC_DTM TLV flag This flag is set in all supported firmwares. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit eb991c5ec18ba41bfa2c206c22bceae94f6f3c15 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 13:55:11 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_SINGLE_SCAN_EBS TLV flag All the supported firmwares have this flag set. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 4d31eed13f2a2234e86aa178918e129b6e33a9ee Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 13:52:54 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_TX_POWER_DEV TLV flag All the supported firmwares use the new API. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 89ced540eb3527669bac0a3239a408fb1129f0dc Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 13:50:59 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_HDC_PHASE_0 TLV flag All the supported firwmares support the new API. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 97bce7e0b58dfc7d159ded329f57961868fb060b Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Sun Sep 20 16:42:36 2015 +0200 crypto: crc32c-pclmul - use .rodata instead of .rotata Module crc32c-intel uses a special read-only data section named .rotata. This section is defined for K_table, and its name seems to be a spelling mistake for .rodata. Fixes: 473946e674eb ("crypto: crc32c-pclmul - Shrink K_table to 32-bit words") Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d23afa1abc54b5b7cb7c65f451378b5c0820bfe6 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Sep 18 14:57:11 2015 +0200 crypto: sahara - replace sahara_sg_length with sg_nents_for_len The sahara_sg_length function of the sahara driver is the same as sg_nents_for_len from lib/scatterlist.c Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 76804eb846a413cd761f63ad6cdca1c8ca337678 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Sep 18 14:57:10 2015 +0200 crypto: amcc - replace get_sg_count by sg_nents_for_len The get_sg_count function of amcc is the same as sg_nents_for_len from lib/scatterlist.c Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1f6d79d7e011ff0b85feaecf0aed0b3949eaa1f2 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Sep 18 14:57:09 2015 +0200 crypto: bfin_crc - replace sg_count by sg_nents The sg_count function in bfin_crc.c is the same function as sg_nents. Remove the duplicate code and use sg_nents() instead. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit fcab303c015397c307ae4873e02598f89a4a3ef6 Author: Ding Tianhong <dingtianhong@xxxxxxxxxx> Date: Sun Sep 6 17:34:35 2015 +0800 arm64: dts: add dts files for Hisilicon Hip05-D02 Development Board Add initial dtsi file to support Hisilicon Hip05-D02 Board with support of CPUs in four clusters and each cluster has quard Cortex-A57. Also add dts file to support Hip05-D02 development board. Signed-off-by: Ding Tianhong <dingtianhong@xxxxxxxxxx> Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 7334de0de9869666b664683e18836d1ba9910387 Author: Ding Tianhong <dingtianhong@xxxxxxxxxx> Date: Sun Sep 6 17:34:34 2015 +0800 arm64: hip05-d02: Document devicetree bindings for Hisilicon Hip05-D02 Board This patch adds documentation for the devicetree bindings used by the DT files of Hisilicon Hip05-D02 development board. Signed-off-by: Ding Tianhong <dingtianhong@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 6f112a08c1ed717a015dae190e289d53085c1bc4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 8 12:11:11 2015 +0200 ARM: at91: debug: use DEBUG_UART_PHYS Instead of having to add a new configuration option each time support for new SoC is added, use CONFIG_DEBUG_UART_PHYS. For now, CONFIG_DEBUG_UART_VIRT is automatically computed. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit bc81beb80538cb4fc964baf1d7f43a2f9b58def0 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Sep 18 19:28:22 2015 +0800 ARM: at91/dt: ov2640: add hsync/vsync-active property On at91sam9x5ek/at91sam9m10g45ek/sama5d3xek boards, we use the parallel connection for ov2640. So we must set the hsync/vsync property (1 means active high). Otherwise, the connection would be seen as BT.656 or BT.1120. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit be6ec98ddb6749bba0fc7f67bd2f89a2396805de Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Wed Sep 16 16:35:53 2015 -0700 crypto: x86/sha - Restructure x86 sha512 glue code to expose all the available sha512 transforms Restructure the x86 sha512 glue code so we will expose sha512 transforms based on SSSE3, AVX or AVX2 as separate individual drivers when cpu provides support. This will make it easy for alternative algorithms to be used if desired and makes the code cleaner and easier to maintain. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5dda42fc89f26fb3b6312076b17feda8c397d2b8 Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Wed Sep 16 16:35:23 2015 -0700 crypto: x86/sha - Restructure x86 sha256 glue code to expose all the available sha256 transforms Restructure the x86 sha256 glue code so we will expose sha256 transforms based on SSSE3, AVX, AVX2 or SHA-NI extension as separate individual drivers when cpu provides such support. This will make it easy for alternative algorithms to be used if desired and makes the code cleaner and easier to maintain. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 85c66ecd6f2144c075044292359e179b20af1f2d Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Wed Sep 16 16:34:53 2015 -0700 crypto: x86/sha - Restructure x86 sha1 glue code to expose all the available sha1 transforms Restructure the x86 sha1 glue code so we will expose sha1 transforms based on SSSE3, AVX, AVX2 or SHA-NI extension as separate individual drivers when cpu provides such support. This will make it easy for alternative algorithms to be used if desired and makes the code cleaner and easier to maintain. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e38b6b7fcfd11fb83dcac54a33cbca3739c45a09 Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Sep 10 15:27:26 2015 -0700 crypto: x86/sha - Add build support for Intel SHA Extensions optimized SHA1 and SHA256 This patch provides the configuration and build support to include and build the optimized SHA1 and SHA256 update transforms for the kernel's crypto library. Originally-by: Chandramouli Narayanan <mouli_7982@xxxxxxxxx> Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 95fca7df0b4964fbe3fe159e3d6e681e6b5b7a53 Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Sep 10 15:27:20 2015 -0700 crypto: x86/sha - glue code for Intel SHA extensions optimized SHA1 & SHA256 This patch adds the glue code to detect and utilize the Intel SHA extensions optimized SHA1 and SHA256 update transforms when available. This code has been tested on Broxton for functionality. Originally-by: Chandramouli Narayanan <mouli_7982@xxxxxxxxx> Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 600a2334e83d22e5c3f7ff2581f545bfc354d206 Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Sep 10 15:27:13 2015 -0700 crypto: x86/sha - Intel SHA Extensions optimized SHA256 transform function This patch includes the Intel SHA Extensions optimized implementation of SHA-256 update function. This function has been tested on Broxton platform and measured a speed up of 3.6x over the SSSE3 implementiation for 4K blocks. Originally-by: Chandramouli Narayanan <mouli_7982@xxxxxxxxx> Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c356a7e975a25e8867961c1b7a4a965d506f0a04 Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Sep 10 15:26:59 2015 -0700 crypto: x86/sha - Intel SHA Extensions optimized SHA1 transform function This patch includes the Intel SHA Extensions optimized implementation of SHA-1 update function. This function has been tested on Broxton platform and measured a speed up of 3.6x over the SSSE3 implementiation for 4K blocks. Originally-by: Chandramouli Narayanan <mouli_7982@xxxxxxxxx> Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b8e31bf3083106e8530d6d5786e23b365b49b11b Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:57 2015 +0100 MAINTAINERS: Add ST's Random Number Generator to the ST entry Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ba25d8b4011bc496afff65b2f28136aa141d7d6b Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:56 2015 +0100 ARM: STi: STiH407: Enable the 2 HW Random Number Generators for STiH4{07, 10} Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4a4da53c408c9e1e545b60d2b07635d08a949c99 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:55 2015 +0100 hwrng: st - Add support for ST's HW Random Number Generator Signed-off-by: Pankaj Dev <pankaj.dev@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Kieran Bingham <kieranbingham@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b4a5407ea82869bf947c8a1176984f80c30e25a6 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:54 2015 +0100 hwrng: st - Provide DT bindings for ST's Random Number Generator Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d9a53b01404fa602117220e98bb6c9b2b63f1e7f Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:53 2015 +0100 hwrng: core - Simplify RNG switching from sysfs If we attempt to use sysfs to change the current RNG in the usual way i.e. issuing something like: `echo 8a8a000.rng > /sys/devices/virtual/misc/hw_random/rng_current` ... it will fail because the code doesn't currently take the '\n' into consideration. Well, now it does. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cb2c316b22d89072643d2685ef0eb883cae8a9de Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:52 2015 +0100 hwrng: Kconfig - Fix device node name reference /dev/hw_random => /dev/hwrng In April 2009, commit d405640 ("Driver Core: misc: add node name support for misc devices.") inadvertently changed the device node name from /dev/hw_random to /dev/hwrng. Since 6 years has passed since the change it seems unpractical to change it back, as this node name is probably considered ABI by now. So instead, we'll just change the Kconfig help to match the current situation. NB: It looks like rng-tools have already been updated. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Kieran Bingham <kieranbingham@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e9e23158f2f5a0992f27d367aa1f11ba12b0b54c Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:51 2015 +0100 hwrng: doc - Fix device node name reference /dev/hw_random => /dev/hwrng In April 2009, commit d405640 ("Driver Core: misc: add node name support for misc devices.") inadvertently changed the device node name from /dev/hw_random to /dev/hwrng. Since 6 years has passed since the change it seems unpractical to change it back, as this node name is probably considered ABI by now. So instead, we'll just change the documentation to match the current situation. NB: It looks like rng-tools have already been updated. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Kieran Bingham <kieranbingham@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4dd17c9c8a30c8d8cd1c9d4b94f08aca4b038d3e Author: sudip <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 13:12:51 2015 +0530 crypto: asymmetric_keys - remove always false comparison hour, min and sec are unsigned int and they can never be less than zero. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3cc43a0a5cea4fe2a2107e77500d6032b9bcafde Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Sep 16 05:33:06 2015 -0700 crypto: qat - Add load balancing across devices Load balancing of crypto instances only used a single device. There was no problem with that on PF, but since there is only one or two instance per VF we need to loadbalance across devices. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 859e58055a36e7a4948df614e3c5d872ef153f36 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 15 13:54:53 2015 -0300 crypto: caam - Remove unused JUMP_TYPE_MASK definition Commit a1efb01feca597b ("jump_label, locking/static_keys: Rename JUMP_LABEL_TYPE_* and related helpers to the static_key* pattern") introduced the definition of JUMP_TYPE_MASK in include/linux/jump_label.h causing the following name collision: In file included from drivers/crypto/caam/desc_constr.h:7:0, from drivers/crypto/caam/ctrl.c:15: drivers/crypto/caam/desc.h:1495:0: warning: "JUMP_TYPE_MASK" redefined #define JUMP_TYPE_MASK (0x03 << JUMP_TYPE_SHIFT) ^ In file included from include/linux/module.h:19:0, from drivers/crypto/caam/compat.h:9, from drivers/crypto/caam/ctrl.c:11: include/linux/jump_label.h:131:0: note: this is the location of the previous definition #define JUMP_TYPE_MASK 1UL As JUMP_TYPE_MASK definition in desc.h is never used, we can safely remove it to avoid the name collision. Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5f8741d1bfa42b7e5443f2d2035de37bd5b73978 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Sep 15 18:41:33 2015 +0200 hwrng: Fix module autoload for OF platform drivers This 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 05db0ad8656376e341db6120758d04c247c9cf2f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Sep 12 20:19:53 2015 -0300 hwrng: mxc-rnga - Use the preferred format for kzalloc According to Documentation/CodingStyle: "The preferred form for passing a size of a struct is the following: p = kmalloc(sizeof(*p), ...);" ,so do as suggested. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit eeb322540987d42a480cf8516fb88cda46347882 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Sep 12 20:19:52 2015 -0300 hwrng: mxc-rnga - Remove unnecessary dev_info message There is no need to print a message simply saying that a kernel driver has been registered, so remove it. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c09e2cc69441ef5d99d31aa83f7d2b6239e5b9a7 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Sep 12 20:19:51 2015 -0300 hwrng: mxc-rnga - Remove uneeded initialization There is no need to pre-initialize variable 'err' as this initial value will be overwritten later on. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1bf2138e9806ea436933d5a803547833f9524c8f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Sep 12 20:19:50 2015 -0300 hwrng: mxc-rnga - Remove unneeded goto label We can simplify the code by returning the error code immediately instead of jumping to a goto label. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6c5de9871a4d43bba179c6a862eeb53b5232f996 Author: John Griffin <john.griffin@xxxxxxxxx> Date: Fri Sep 11 12:26:00 2015 -0700 crypto: qat - don't check for iommu In some cases we don't want iommu to be enabled but still we want to enable VFs. Signed-off-by: John Griffin <john.griffin@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 04b7d704c6160fa4e8eeffc8540575fb15142f7f Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Sep 10 11:32:26 2015 +0530 hwrng: octeon - Use devm_hwrng_register Use resource managed function devm_hwrng_register instead of hwrng_register to make the error-path simpler. Also, remove octeon_rng_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a2712e6c75f1e95b7c31830c19191e8fa367c15a Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Sep 2 12:05:18 2015 -0300 crypto: mxs-dcp - Allow MXS_DCP to be used on MX6SL MX6SL has the same DCP crypto block as in MX23/MX28, so allow it to be built for ARCH_MXC. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 53ed2d4e56c0e4749e3481475d3520275d9e67a5 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 18:44:49 2015 +0200 crypto: ux500 - 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: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c3abc0f3b606a984f864452292c423f01e57c656 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 18:44:03 2015 +0200 crypto: picoxcell - 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: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3dc1597b6b0a8d17fc56d93b5e9cf859fe681727 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 18:43:24 2015 +0200 crypto: amcc - 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: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f074f7b103a915edb1edf833f96a902adeb374cf Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Thu Aug 27 18:38:36 2015 +0300 crypto: tcrypt - avoid mapping from module image addresses The output buffer in test_ahash_speed will point to an address located within the tcrypt module image. This causes problems when trying to DMA map the buffer. For e.g. on ARM-based LS1021A, a page fault occurs within the DMA API when trying to access the struct page returned by virt_to_page(output): insmod tcrypt.ko mode=403 testing speed of async sha1 (sha1-caam) test 0 ( 16 byte blocks, 16 bytes per update, 1 updates): Unable to handle kernel paging request at virtual address f07e9080 pgd = e58d0e00 [f07e9080] *pgd=80000080007003, *pmd=00000000 Internal error: Oops: 206 [#1] SMP THUMB2 Modules linked in: tcrypt(+) CPU: 1 PID: 1119 Comm: insmod Not tainted 4.2.0-rc1-256134-gbf433416e675 #1 Hardware name: Freescale LS1021A task: ea063900 ti: e5a34000 task.ti: e5a34000 PC is at dma_cache_maint_page+0x38/0xd0 LR is at __dma_page_cpu_to_dev+0x15/0x64 pc : [<800155a0>] lr : [<8001564d>] psr: 000f0033 sp : e5a35ca0 ip : 8063df00 fp : f07e9080 r10: 00000cd0 r9 : 8063df00 r8 : 805a2f04 r7 : 0017f804 r6 : 00000002 r5 : ee7f9000 r4 : 00000014 r3 : 80612d40 r2 : 01ff0080 r1 : 00000380 r0 : ee7f9000 Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA Thumb Segment user Control: 70c5387d Table: e58d0e00 DAC: 9b7ede70 Process insmod (pid: 1119, stack limit = 0xe5a34210) Stack: (0xe5a35ca0 to 0xe5a36000) [...] [<800155a0>] (dma_cache_maint_page) from [<8001564d>] (__dma_page_cpu_to_dev+0x15/0x64) [<8001564d>] (__dma_page_cpu_to_dev) from [<800156eb>] (arm_dma_map_page+0x1f/0x44) [<800156eb>] (arm_dma_map_page) from [<802935e3>] (ahash_digest+0x35f/0x510) [<802935e3>] (ahash_digest) from [<7f800d03>] (test_ahash_speed.constprop.6+0x24a/0x4e4 [tcrypt]) [<7f800d03>] (test_ahash_speed.constprop.6 [tcrypt]) from [<7f802fd5>] (do_test+0x1898/0x2058 [tcrypt]) [<7f802fd5>] (do_test [tcrypt]) from [<7f80802f>] (tcrypt_mod_init+0x2e/0x63 [tcrypt]) [<7f80802f>] (tcrypt_mod_init [tcrypt]) from [<80009517>] (do_one_initcall+0xb3/0x134) [<80009517>] (do_one_initcall) from [<80351ec7>] (do_init_module+0x3b/0x13c) [<80351ec7>] (do_init_module) from [<8005cc3f>] (load_module+0x97b/0x9dc) [<8005cc3f>] (load_module) from [<8005cd8d>] (SyS_finit_module+0x35/0x3e) [<8005cd8d>] (SyS_finit_module) from [<8000d101>] (ret_fast_syscall+0x1/0x4c) Code: 1aba 0152 eb00 0b02 (5882) 0f92 addr2line -f -i -e vmlinux 800155a0 page_zonenum include/linux/mm.h:728 page_zone include/linux/mm.h:881 dma_cache_maint_page arch/arm/mm/dma-mapping.c:822 Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 128a37852234c1bd68eee4e7447f5362778009b8 Author: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Date: Mon Sep 21 09:43:06 2015 +0200 fs: fix data races on inode->i_flctx locks_get_lock_context() uses cmpxchg() to install i_flctx. cmpxchg() is a release operation which is correct. But it uses a plain load to load i_flctx. This is incorrect. Subsequent loads from i_flctx can hoist above the load of i_flctx pointer itself and observe uninitialized garbage there. This in turn can lead to corruption of ctx->flc_lock and other members. Documentation/memory-barriers.txt explicitly requires to use a barrier in such context: "A load-load control dependency requires a full read memory barrier". Use smp_load_acquire() in locks_get_lock_context() and in bunch of other functions that can proceed concurrently with locks_get_lock_context(). The data race was found with KernelThreadSanitizer (KTSAN). Signed-off-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit d11797a0a7acc1fe6a51b1605e166adad04da29b Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Mon Sep 21 07:26:45 2015 -0400 locks: change tracepoint for generic_add_lease Add some more helpful info to make it easier to determine why a lease wasn't granted. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit a78695d3ea045cd9977a8397c89171d762708f86 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 18 15:54:50 2015 +0300 drm/i915/skl: handle port E in cpt_digital_port_connected SKL port E handling was added in 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 but the whole function was moved in a another branch in commit b93433ccf64846820b9448f5ff5dd4348b58a8ed Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:36 2015 +0300 drm/i915: move ibx_digital_port_connected to intel_dp.c and the addition was lost at some backmerge that I was unable to identify. Put it back in. Tested-by: Tomi Sarvela <tomix.p.sarvela@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit a83a6a82250fe900be85c8e142f5cb504d9482bd Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 18:58:21 2015 +0200 pwm: atmel-hlcdc: 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. This patch adds the missing MODULE_DEVICE_TABLE() for OF to export that information so modules have the correct aliases built-in and autoloading works correctly. A longer explanation by Javier Canillas can be found here: https://lkml.org/lkml/2015/7/30/519 Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 93f13a9f96771a064c716364aebc6e283b186eb8 Author: Borislav Petkov <bp@xxxxxxxxx> Date: Mon Sep 21 09:48:29 2015 +0200 x86/entry/vsyscall: Fix undefined symbol warning Commit: 3dc33bd30f3e1 ("x86/entry/vsyscall: Add CONFIG to control default") did the ifdef/elif thing but GCC doesn't like that: arch/x86/entry/vsyscall/vsyscall_64.c:44:7: warning: "CONFIG_LEGACY_VSYSCALL_NONE" is not defined [-Wundef] #elif CONFIG_LEGACY_VSYSCALL_NONE ^ Use defined() instead. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150921074829.GA3550@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 21e29d9afd1024b63a311172bf57c41223665299 Author: Jonathan Liu <net147@xxxxxxxxx> Date: Mon Sep 21 16:13:22 2015 +1000 ARM: sunxi_defconfig: enable MODULE_UNLOAD Loadable module support is enabled so we should allow unloading modules too. This also allows lsmod to show values other than "-2" in the "Used by" column. Signed-off-by: Jonathan Liu <net147@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8e0735c5e0a92d6a8e5b30cd485c2811d701e58b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:16 2015 +0900 staging: wilc1000: rename WILC_WFI_frame_register This patch replaces WILC_WFI_frame_register with wilc_mgmt_frame_register to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12ec0bd63eb13d1c33fc02112b7ca91d5ebf070b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:15 2015 +0900 staging: wilc1000: remove declaration of WILC_WFI_frame_register This patch removes function declaration of WILC_WFI_frame_register in linux_wlan.c file, then adds it in wilc_wfi_cfgoperations.h file. The compilation warning occurs because it is assigned to incorrect pointer type of second parameter of WILC_WFI_frame_register. It is assigned with struct wireless_dev pointer type. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fa7da249269a6146ce456c43098901c81c8afdf Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Thu Aug 27 14:24:48 2015 +0200 can: flexcan: enable interrupts atomically at the end of flexcan_chip_start() This patch defers the writing of the interrupts bits of the CTRL register order to enables all interrupts atomically at the the of the flexcan_chip_start() function. Suggested-by: Torsten Lang <torsten.lang@xxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 1ba763d1d4bda61bfb9b8e5154e6cf39a3e2d0e6 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Tue Aug 25 10:39:19 2015 +0200 can: flexcan: give member of flexcan_priv holding mailboxes a sensible name This patch gives the member of flexcan_priv holding mailboxes a sensible name, by renaming from "cantxfg" to "mb": struct flexcan_priv::cantxfg -> struct flexcan_priv::mb Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 89af8746dea940c66f414866eed2a964a348dc09 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Fri May 8 09:32:58 2015 +0200 can: flexcan: use pointer to struct regs instead of void pointer for mmio address space This patch renames the pointer to the mmio address space from "base" to "regs" and changes the type from "void __iomem *" to "struct flexcan_regs __iomem *". Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit f377bff0235708ded5f94e581855d6bd678cd2d1 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Fri May 8 15:22:36 2015 +0200 can: flexcan: rename feature into quirks This patch renames the "features" member of struct flexcan_devtype_data to "quirks". The corresponding defines are renamed too, to reflect what they actually do. FLEXCAN_HAS_V10_FEATURES -> FLEXCAN_QUIRK_DISABLE_RXFG FLEXCAN_HAS_BROKEN_ERR_STATE -> FLEXCAN_QUIRK_BROKEN_ERR_STATE FLEXCAN_HAS_MECR_FEATURES -> FLEXCAN_QUIRK_DISABLE_MECR Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 749de6fce2dd67b40f4118bf694be37f9093c3f5 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Mon Aug 31 21:32:34 2015 +0200 can: flexcan: flexcan_chip_start(): cleanup writing of reg_mcr This patch changes the order the individual bits of the mcr register in flexcan_chip_start() are or'ed together to match the datasheet. The inline documentation is adjusted accordingly. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 8c411745dd6ddbe745ee25cd1f6db856e920e7fa Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Sat May 9 18:25:05 2015 +0200 can: flexcan: remove unused header files This patch removes unused header files from the flexcan driver. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 2785968cd122b22b289db565b7438f2200984044 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Sat May 9 17:47:52 2015 +0200 can: headers: make header files self contained This patch adds the missing #include-s to the dev.h and led.h, so that they can be used without including further header files. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 0012e5c9315c33fe8d62cb8cb87a95484d7761c1 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Thu Aug 6 14:53:57 2015 +0200 can: flexcan: cleanup coding style and fix typos This patch fixes up the coding style to make checkpatch happier. Some typos are also fixed. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit a5a45ba2738723c62775f51aad4657f1606f3b7d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:17:03 2015 +0900 staging: wilc1000: delete unnecessary comments and dead code The comments in union message_body are not essential and cross 80 ending line, so they are deleted and also a dead code commented out in the union is deleted. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 903b4d31c81125cbf493bdd6b5ddaa50b0d3ed67 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:17:02 2015 +0900 staging: wilc1000: remove u32Intialized which is unnecessary This patch removes the global variable, u32Intialized which is not necessary from the host_interface.c file. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ddea59641605a6e494c7ad167111e47d513e741 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:17:01 2015 +0900 staging: wilc1000: remove unnecessary global variable The global variable msgQ_created is removed because it is not necessary. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4e644e48c391d3b0316afec6cecf870d83bafd3 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:17:00 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFDelAllSta This patch removes typedef from the struct tstrHostIFDelAllSta and renames it to del_all_sta in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc37c5dfba7d32a41584c97a642dbfcb836f065d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:59 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfRegisterFrame This patch removes typedef from the struct tstrHostIfRegisterFrame and renames it to reg_frame in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f9c03f5216f7cb752103a7cd84ea431c199db48 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:58 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfRemainOnChan This patch removes typedef from the struct tstrHostIfRemainOnChan and renames it to remain_ch in order to comply with the Linux coding style Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb93a1e1be67aa935903687d7d4972751b8adebc Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:57 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFDelSta This patch removes typedef from the struct tstrHostIFDelSta and renames it del_sta in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54265472bf3e614252ea829e378977189b56717c Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:56 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfBASessionInfo This patch removes typedef from the struct tstrHostIfBASessionInfo and renames it to ba_session_info in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcd27c5f658b905bbd0abf55c7304a9cc4a3e90e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:55 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfGetMacAddress This patch removes typedef from the struct tstrHostIfGetMacAddress and renames it get_mac_addr in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7611a87a938ffc1aaff54b1d773e5f372ae2150 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:54 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfSetMacAddress This patch removes typedef from the struct tstrHostIfSetMacAddress and renames it set_mac_addr in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 801bee52a111c1c6957480d14326cd6a579c6f55 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:53 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfSetOperationMode This patch removes typedef from the struct tstrHostIfSetOperationMode and renames it to op_mode in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 641210ac1b9c74b615e76efa33e01b1975e0849a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:52 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFSetMulti This patch removes typedef from the struct tstrHostIFSetMulti and renames it to set_multicast in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 127f9d9497aa90b9006323b97f539dcca88df95b Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:51 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfSetDrvHandler This patch removes typedef from the struct tstrHostIfSetDrvHandler and renames it to drv_handler in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15191eaf4ef2d705e9b529f24977a29de8ed0d2d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:50 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFSetIPAddr This patch removes typedef from the struct tstrHostIFSetIPAddr and renames it to set_ip_addr in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d1eac048deeefc587c96fb2d950fe11b3b1cba4 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:49 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfStaInactiveT This patch removes typedef from the struct tstrHostIfStaInactiveT and renames it to sta_inactive_t in oder to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a008f1cd3d47b054633a56f8823ce69b4d5ba7a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:48 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfPowerMgmtParam This patch removes typedef from the struct tstrHostIfPowerMgmtParam and renames it to power_mgmt_param in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 525819340a5bf487dbf2b3defb0a4bfe37a70c87 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:47 2015 +0900 staging: wilc1000: remove typedef from the struct tstrTimerCb This patch removes typedef from the tstrTimerCb and renames it to timer_cb in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a89ba9cee532e93098b014ea90d8efdebfc28c6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:46 2015 +0900 staging: wilc1000: remove typedef from the struct tstrWILC_AddStaParam This patch removes typedef from the struct tstrWILC_AddStaParam and renames it to add_sta_param in oder to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0227fcbcc82fa68c637e70fde1153fa8ab850e6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:45 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFDelBeacon This patch removes typedef from the struct tstrHostIFDelBeacon and renames it to del_beacon in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 902362b1f7f6e3afa01a3290f77a1ae448c3840f Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:44 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFSetBeacon This patch removes typedef from the struct tstrHostIFSetBeacon and renames it to set_beacon in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29f84000740af55dfe3dc705a184cab3b04773c1 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:43 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFGetChan This patch removes typedef from the struct tstrHostIFGetChan and renames it to get_channel in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 326b323d012b04ec8932b1135290e463bb120fad Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:42 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFSetChan This patch removes typedef from the struct tstrHostIFSetChan and ranames it to set_channel in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 361ff841ff1980427fce63ac99cfdec350bc83e9 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:41 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFCfgParamAttr This patch removes typedef from the struct tstrHostIFCfgParamAttr and renames it to cfg_param_attr in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c98387a5736e928273fbe306942b447afea964e6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:40 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFkeyAttr This patch removes typedef from the struct tstrHostIFkeyAttr and renames it to key_attr in oder to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f23a9eabcbb0e1fb8648f9b86b22c6f8540e15dd Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:39 2015 +0900 staging: wilc1000: remove typedef from the struct tstrRcvdGnrlAsyncInfo This patch removes typedef from the struct tstrRcvdGnrlAsyncInfo and renames it to rcvd_async_info in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bbd59f5f5d8681f606ecad3fc6a06305a228b42 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:38 2015 +0900 staging: wilc1000: remove typedef from the struct tstrRcvdNetworkInfo This patch removes typedef from the struct tstrRcvdNetworkInfo and renames it to rcvd_net_info in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 120ae59385cc744c9ae6a2054f2b90cfdfb45f9e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:37 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFconnectAttr This patch removes typedef from the struct tstrHostIFconnectAttr and renames it to connect_attr to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c476feb8d3e51fe1775207b72102f48d6177b963 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:36 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFscanAttr This patch removes typedef from the structure tstrHostIFscanAttr and changes the camelcase name, tstrHostIFscanAttr to scan_attr in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 410c248991430d8fbcba0230501c7e3666eb01a3 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:35 2015 +0900 staging: wilc1000: rename uniHostIFmsgBody This patch changes the camelcase notation, uniHostIFmsgBody which is a member variable of structure host_if_msg to body in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfc7663ba27f38be04095e3d4931f9df58b887fc Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:34 2015 +0900 staging: wilc1000 remove typedef from the union This patch gets rid of typedef from the union and renames tuniHostIFmsgBody with simply message_body because the Linux coding style does not recommend camelcase notation and typedef for structure, enmu and also union. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9f812a6d845d4511a711c7d5d84776b2f5aec8c Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:33 2015 +0900 staging: wilc1000: rename u16MsgId This patch changes the name, u16MsgId simply to id to avoid the camelcase notation. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 143eb95abb4c4e59772681de749af8d2f71afac6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:32 2015 +0900 staging: wilc1000: rename strHostIFmsg This patch changes the name, strHostIFmsg simply to msg because the camelcase notation is not recommended in Linux. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b05b7c7cc0324524dcda7fa7c2be1255290ee416 Author: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Date: Fri Sep 11 16:42:38 2015 +0200 ti-st: use worker instead of calling st_int_write in wake up The wake up method is called with the port lock held. The st_int_write method calls port->ops->write with tries to acquire the lock again, causing CPU to wait infinitely. Right way to do is to write data to port in worker thread. Signed-off-by: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Signed-off-by: Jacob Siverskog <jacob@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1ef48e1e8843e2f6be631b8cf1c21b24579b9d6 Merge: eaf9a99 f91638a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 20 22:26:58 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-17 This series contains updates to i40e and i40evf. Shannon provides updates to i40e and i40evf to resolve an issue with the nvmupdate utility. First renames a variable name to reduce confusion and to differentiate it from the actual user variable. Then added the ability to save the admin queue write back descriptor if a caller supplies a buffer for it to be saved into. Added a new GetStatus command so that the NVM update tool can query the current status instead of doing fake write requests to probe for readiness. Added wait states to the NVM update state machine to signify when waiting for an update operation to finish, whether we are in the middle of a set of write operations, or we are now idle but waiting. Then added a facility to run admin queue commands through the NVM update utility in order to allow the update tools to interact with the firmware and do special commands needed for updates and configuration changes. Also added a facility to recover the result of a previously run admin queue command. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eaf9a992b75a0363f15e2d5f40e3ba820098c856 Merge: 22a3f9a 0738eff Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 20 21:58:23 2015 -0700 Merge tag 'linux-can-next-for-4.4-20150917' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-09-17 this is a pull request of two patches for net-next/master. Gerhard Bertelsmann adds support for the CAN controller found on the Allwinner A10/A20 SoC. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22a3f9a2043be28cde6d272e786874ba0d6afe15 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Sep 17 18:12:53 2015 +0200 rxrpc: Replace get_seconds with ktime_get_seconds Replace time_t type and get_seconds function which are not y2038 safe on 32-bit systems. Function ktime_get_seconds use monotonic instead of real time and therefore will not cause overflow. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62e3b1d01c4ebbf11702a27e0c749d27195ba043 Merge: 812494d b5996f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 20 21:42:58 2015 -0700 Merge branch 'hsilicon-net-subsys' huangdaode says: ==================== net: Hisilicon Network Subsystem support This is V2 of Hisilicon Network Subsystem(HNS) patchesets taking care about LKML comments. Please find out the changes from the change logs. This patchset is rebased on mainline kernel Linux 4.3-rc1 branch. [PATCH v2 1/5] Device Tree Binding Documentation [PATCH v2 2/5] Merge MDIO Module [PATCH v2 3/5] Hisilicon Network Acceleration Engine Framework [PATCH v2 4/5] Distributed System Area Fabric Module [PATCH v2 5/5] Basic Ethernet Driver Module Changes from V1: 1. Remove "inline" in C file (according to LKML comment, same in below). 2. Fix a bug about class_find_device. 3. Change the DTS pattern on hnae, restruct it to compatible with Hi1610 soc. 4. Unified hip04_mdio and hip05_mdio into hns_mdio, which is more usaul for later SOCs. V1 Patches Reference: https://lkml.org/lkml/2015/8/14/165 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5996f11ea5496d0445078f47d22c987888ed467 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Thu Sep 17 14:51:50 2015 +0800 net: add Hisilicon Network Subsystem basic ethernet support This is to add basic ethernet support for HNS. It is one of the way to use the HNS acceleration engine. But most of the decoding/encoding capability of the AE cannot be used in this way. This submit contains the basic feature as a ethernet driver. More will be added later. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: Kenneth Lee <liguozhu@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 511e6bc071db1484d1a3d1d0bd4c244cf33910ff Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Thu Sep 17 14:51:49 2015 +0800 net: add Hisilicon Network Subsystem DSAF support DSAF, namely Distributed System Area Fabric, is one of the HNS acceleration engine implementation. This patch add DSAF driver to the system. hns_ae_adapt: the adaptor for registering the driver to HNAE framework hns_dsaf_mac: MAC cover interface for GE and XGE hns_dsaf_gmac: GE (10/100/1000G Ethernet) MAC function hns_dsaf_xgmac: XGE (10000+G Ethernet) MAC function hns_dsaf_main: the platform device driver for the whole hardware hns_dsaf_misc: some misc helper function, such as LED support hns_dsaf_ppe: packet process engine function hns_dsaf_rcb: ring buffer function Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@xxxxxxxxxx> Signed-off-by: Kenneth Lee <liguozhu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fe6611ff275522a4e4c0359e2f46cdd07780d2f Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Thu Sep 17 14:51:48 2015 +0800 net: add Hisilicon Network Subsystem hnae framework support HNAE (Hisilicon Network Acceleration Engine) is a framework to provide a unified ring buffer interface for Hisilicon Network Acceleration Engines. With the interface, upper layer can work as ethernet driver, ODP driver or other service driver on purpose. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: Kenneth Lee <liguozhu@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b904d39406a61c056c3fe1b45867f0161827ef1 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Thu Sep 17 14:51:47 2015 +0800 net: add Hisilicon Network Subsystem MDIO support The MDIO support for Hisilicon Network Subsystem. It is used in Hislicon hip04, hip05 and Hi1610 SoC to control the external PHY Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@xxxxxxxxxx> Signed-off-by: Kenneth Lee <liguozhu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc7e37c6b2704fb0360f7ecf747d5d3012ef9632 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Thu Sep 17 14:51:46 2015 +0800 net: add Hisilicon Network Subsystem support (config and documents) The Hisilicon Network Subsystem is a long term evolution IP which is supposed to be used in Hisilicon ICT SoC. The IP, which is called hns for short, is a TCP/IP acceleration engine, which can directly decode TCP/IP stream and distribute them to different ring buffers. HNS can be configured to work on different mode for different scenario. This patch make use only some of the mode to make it as standard ethernet NIC. The other mode will be added soon. The whole function has 4 kernel sub-modules: hnae: the HNS acceleration engine framework. It provides a abstract interface between the engine and the upper layers which make use of the engine by ring buffer. hns_enet_drv: a standard ethernet driver that base on the ring buffer. hns_dsaf: one of the implementation of HNS acceleration engine, which is applied on Hililicon hip05, Hi1610 and other later-on SoCs hns_mdio: the mdio control to the PHY, used by acceleration engine This submit add basic config and documents Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: Kenneth Lee <liguozhu@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 812494d9a0cacf77e0a538be18183c7b471812aa Author: chas williams <3chas3@xxxxxxxxx> Date: Wed Sep 16 16:28:25 2015 -0400 xen-netfront: always set num queues if possible If netfront connects with two (or more) queues and then reconnects with only one queue it fails to delete or rewrite the multi-queue-num-queues key and netback will try to use the wrong number of queues. Always write the num-queues field if the backend has multi-queue support. Signed-off-by: Chas Williams <3chas3@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b74c458906fc4a62f932ee8bb801d29baf15fec Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 15:16:57 2015 -0700 rcu: Make ->cpu_no_qs be a union for aggregate OR This commit converts the rcu_data structure's ->cpu_no_qs field to a union. The bytewise side of this union allows individual access to indications as to whether this CPU needs to find a quiescent state for a normal (.norm) and/or expedited (.exp) grace period. The setwise side of the union allows testing whether or not a quiescent state is needed at all, for either type of grace period. For now, only .norm is used. A later commit will introduce the expedited usage. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 0d43eb34f9aabcddf41c99b7af2d0ced33e9a3cc Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 14:17:29 2015 -0700 rcu: Invert passed_quiesce and rename to cpu_no_qs This commit inverts the sense of the rcu_data structure's ->passed_quiesce field and renames it to ->cpu_no_qs. This will allow a later commit to use an "aggregate OR" operation to test expedited as well as normal grace periods without added overhead. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 97c668b8e983b722e2ed765b98b05f644aff1b13 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 11:31:51 2015 -0700 rcu: Rename qs_pending to core_needs_qs An upcoming commit needs to invert the sense of the ->passed_quiesce rcu_data structure field, so this commit is taking this opportunity to clarify things a bit by renaming ->qs_pending to ->core_needs_qs. So if !rdp->core_needs_qs, then this CPU need not concern itself with quiescent states, in particular, it need not acquire its leaf rcu_node structure's ->lock to check. Otherwise, it needs to report the next quiescent state. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit bce5fa12aad148e15efd9bc0015dc4898b6e723b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 16:03:54 2015 -0700 rcu: Move synchronize_sched_expedited() to combining tree Currently, synchronize_sched_expedited() uses a single global counter to track the number of remaining context switches that the current expedited grace period must wait on. This is problematic on large systems, where the resulting memory contention can be pathological. This commit therefore makes synchronize_sched_expedited() instead use the combining tree in the same manner as synchronize_rcu_expedited(), keeping memory contention down to a dull roar. This commit creates a temporary function sync_sched_exp_select_cpus() that is very similar to sync_rcu_exp_select_cpus(). A later commit will consolidate these two functions, which becomes possible when synchronize_sched_expedited() switches from stop_one_cpu_nowait() to smp_call_function_single(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 8203d6d0ee784cfb2ebf89053f7fe399abc867d7 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 2 13:53:17 2015 -0700 rcu: Use single-stage IPI algorithm for RCU expedited grace period The current preemptible-RCU expedited grace-period algorithm invokes synchronize_sched_expedited() to enqueue all tasks currently running in a preemptible-RCU read-side critical section, then waits for all the ->blkd_tasks lists to drain. This works, but results in both an IPI and a double context switch even on CPUs that do not happen to be running in a preemptible RCU read-side critical section. This commit implements a new algorithm that causes less OS jitter. This new algorithm IPIs all online CPUs that are not idle (from an RCU perspective), but refrains from self-IPIs. If a CPU receiving this IPI is not in a preemptible RCU read-side critical section (or is just now exiting one), it pushes quiescence up the rcu_node tree, otherwise, it sets a flag that will be handled by the upcoming outermost rcu_read_unlock(), which will then push quiescence up the tree. The expedited grace period must of course wait on any pre-existing blocked readers, and newly blocked readers must be queued carefully based on the state of both the normal and the expedited grace periods. This new queueing approach also avoids the need to update boost state, courtesy of the fact that blocked tasks are no longer ever migrated to the root rcu_node structure. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b9585e940a0d78770cda8f9aebf81b17b4d19e6d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 16:04:45 2015 -0700 rcu: Consolidate tree setup for synchronize_rcu_expedited() This commit replaces sync_rcu_preempt_exp_init1(() and sync_rcu_preempt_exp_init2() with sync_exp_reset_tree_hotplug() and sync_exp_reset_tree(), which will also be used by synchronize_sched_expedited(), and sync_rcu_exp_select_nodes(), which contains code specific to synchronize_rcu_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 7922cd0e562cb2b8da2c8a0afda2e1c9bb4a94e2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 13:34:32 2015 -0700 rcu: Move rcu_report_exp_rnp() to allow consolidation This is a nearly pure code-movement commit, moving rcu_report_exp_rnp(), sync_rcu_preempt_exp_done(), and rcu_preempted_readers_exp() so that later commits can make synchronize_sched_expedited() use them. The non-code-movement portion of this commit tags rcu_report_exp_rnp() as __maybe_unused to avoid build errors when CONFIG_PREEMPT=n. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f4ecea309d3e17ba5e90082308125ad23bd5701b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 17:28:11 2015 -0700 rcu: Use rsp->expedited_wq instead of sync_rcu_preempt_exp_wq Now that there is an ->expedited_wq waitqueue in each rcu_state structure, there is no need for the sync_rcu_preempt_exp_wq global variable. This commit therefore substitutes ->expedited_wq for sync_rcu_preempt_exp_wq. It also initializes ->expedited_wq only once at boot instead of at the start of each expedited grace period. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f97ef759999485df485fe19a440d6af02d561140 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 10 16:22:03 2015 +0530 drivers/misc/sgi-gru: fix possible NULL dereference If mmu_find_ops() returns NULL then we are allocating memory for gms using kzalloc. But kzalloc can return NULL and we were dereferencing gms in gru_dbg(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6894fdaeaa2a653c3232b11926df8c7e8b5bd83c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 31 00:09:12 2015 +0200 misc: ad525x_dpot: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the module aliases and also "ad_dpot" isn't a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b7ebe01294a956109571ef66bd2942e3b9c2410 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sat Aug 8 16:35:02 2015 -0400 drivers/char: make efirtc.c driver explicitly non-modular The Kconfig for this driver is currently: config EFI_RTC bool "EFI Real Time Clock Services" ...meaning that it currently is not being built as a module by anyone. Lets remove all modular references, 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_LICENSE for documentation purposes. Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67dd339c725496000627a777a4ed8580bb4db86f Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sat Aug 8 16:35:05 2015 -0400 drivers/misc: make kgdbts.c slightly more explicitly non-modular The Kconfig currently controlling compilation of this code is: lib/Kconfig.kgdb:config KGDB_TESTS lib/Kconfig.kgdb: bool "KGDB: internal test suite" ...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 also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. We can't remove the module.h include since we've kept the use of module_param in this file for now. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: kgdb-bugreport@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Acked-by: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2544007b0534ff21781c599115922b9a9db289b5 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sat Aug 8 16:35:03 2015 -0400 drivers/char: make SGI snsc.c driver explicitly non-modular The Kconfig for this driver is currently: config SGI_SNSC bool "SGI Altix system controller communication support" ...meaning that it currently is not being built as a module by anyone. Lets remove all modular references, 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. Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8cedfec8f68e199ce9d00cee7868a5c65640bbc Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sat Aug 8 16:35:04 2015 -0400 drivers/char: make hpet.c explicitly non-modular The Kconfig currently controlling compilation of this code is: char/Kconfig:config HPET char/Kconfig: bool "HPET - High Precision Event Timer" if (X86 || IA64) ...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 don't replace module.h with init.h since the file already has that. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code. We leave some tags like MODULE_AUTHOR for documentation purposes. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff6f46483f0e14b829cd5a71bafcbb1c136a84b6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Sep 10 15:06:20 2015 -0700 spmi: Auto-populate driver.owner in spmi_driver_register() Populate the owner field of the spmi driver when spmi_driver_register() is called in a similar fashion to how other *_driver_register() functions do it. This saves driver writers from having to do this themselves. Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Cc: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf094ebe4d8b9efbc83c8f13b1b8453a573cbb66 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Fri Sep 18 00:11:52 2015 +0300 mei: me: fix d0i3 register offset in tracing Fix copy-paste error in D0i3 register access tracing Fixes: 13b14c3f ("mei: me: d0i3: add d0i3 enter/exit state machine") 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 ae48d74dfcb55d508404135ce2807d59e93bd46f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:06 2015 +0300 mei: bus: use mei_cl_bus_ prefix consistently Use mei_cl_bus_ for internal bus function consistently. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d49dc5e76fc917e5dfef76cb56fe3b3868deed5d Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:05 2015 +0300 mei: bus: use mei_cldev_ prefix for the API functions Use mei_cldev_ prefix for all mei client bus api functions in order to resolve prefix conflict with functions that handle client function and are defined in client.c Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 893913822e829f7a37824f6041ff964076374191 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:04 2015 +0300 mei: bus: complete variable rename of type struct mei_cl_device In the commit 5c079ae11921 ("mei: bus: fix drivers and devices names confusion") we set the variables of type struct mei_cl_device to 'cldev' but few places were left out, namely mei_cl_bus.h header and the mei nfc drivers. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01a14edeaf0456c28e2b9af3afdc0807ec6c20bd Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:03 2015 +0300 mei: bus: export mei_cldev_enabled function Let me client device driver query of the device is connected and hence enabled. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit baeacd0376975bee0fdf6378e1c24587ab0b6ad4 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:02 2015 +0300 mei: bus: export uuid and protocol version to mei_cl bus drivers Export the uuid and the protocol version of the underlying me client for me client bus drivers usage. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b26864cad1c9f66f4966726ba7bc81d2b9b8f990 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:01 2015 +0300 mei: bus: add client protocol version to the device alias The device alias now looks like mei:S:uuid:N:* In that way we can bind different drivers to clients with different protocol versions if required. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40b7320ee413d0d1cc89c32c2a757fda56d27708 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:00 2015 +0300 mei: bus: export client protocol version export me client protocol version to sysfs and uevent Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59796edcf21c7c19d58a223001f9ed13746c51c2 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Thu Sep 10 10:17:59 2015 +0300 mei: make modules.alias UUID information easier to read scripts/mod/file2alias.c:add_uuid() convert UUID into a single string which does not conform to the standard little endian UUID formatting. This patch changes add_uuid() to output same format as %pUL and modifies the mei driver to match the change. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c56026bfbe3a4e11f35c612ff400345c8acb5f9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 3 20:20:51 2015 +0530 drivers/misc/sgi-gru: remove unused variable dw was only assigned some value and was never reused. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bba57f8f948239340e939cb25c7d858cd60ad9de Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 09:56:20 2015 +0530 drivers/misc/sgi-gru: fix dereference of ERR_PTR gru_alloc_gts() can fail and it can return ERR_PTR(errvalue). We should not dereference it if it has returned error. And incase it has returned error then wait for some time and try again. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2ed545cee2412a47a5931340ba408b8abcee22c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 3 20:20:49 2015 +0530 drivers/misc/sgi-gru: remove always false condition The member gid in struct gru_dump_chiplet_state_req is unsigned int. So it can never be less than 0. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1126bc2eb4a27029918f157f0b0371d87d658259 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 3 20:20:48 2015 +0530 drivers/misc/sgi-gru: make functions static The functions gru_get_cb_exception_detail_str() and gru_abort() were only called locally from that file. We can make them static. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a010d2761705d38e8720d7ab56ba1f7a9e1246d9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 3 20:20:47 2015 +0530 drivers/misc/sgi-gru: add return on error If the buffer is too small then return the error and in the process remove the variables which became unused. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf84b1406c206374133e85e15bab266e10e1a837 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:21 2015 +0200 misc/vmw_vmci: 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 069b3162590896352d3f3d55868667495a8ba9fb Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Sun Sep 20 13:14:13 2015 -0400 staging: rtl8192u: r8192U_core: add line breaks to keep lines under 80 characters Add line breaks in multiple lines to keep them under 80 characters, as to follow the kernel code style. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98a52483161d5a117e137b43874fd9182492f0e8 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Sun Sep 20 16:55:29 2015 +0530 Staging: rtl8712: Coding style warning fix for block comment This is a patch to mlme_linux.c that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd4b6a832e4bef352a6038c07415c4eb4d1d6ee1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:25 2015 +0900 staging: wilc1000: rename WILC_WFI_InitHostInt This patch replaces WILC_WFI_InitHostInt with wilc_init_host_int to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9a1682344107cfefa35cf6c14c1019c67288f88 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:24 2015 +0900 staging: wilc1000: rename WILC_WFI_DeInitHostInt This patch replaces WILC_WFI_DeInitHostInt with wilc_deinit_host_int to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a8ccd85854c24963306c23382afb8a7fd3c046b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:23 2015 +0900 staging: wilc1000: replace s32 with int This patch changes date type of s32Error as int. The return type of WILC_WFI_InitHostInt and WILC_WFI_DeInitHostInt is int so that data type of this variable is changed by int. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1fe9c435d048cba8dcb4f0515f016722e246f73 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:22 2015 +0900 staging: wilc1000: remove braces for single statement blocks This patch removes braces for single if statement blocks 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 244d31b572c6935f30d2e0b52c6316cd5528ba41 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:21 2015 +0900 staging: wilc1000: remove useless #if 1 This patch removes #if 1, which is encapsulated some codes. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 967c606a90fc6f0fc6f1368a481fa906ab0aa54f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:20 2015 +0900 staging: wilc1000: wilc_msgqueue.c: replace s32RetStatus with result This patch replaces s32RetStatus with result to avoid CamelCase in wilc_msgqueue.c Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3ca63728ad87e65386ec53a904a623f85afe443 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:19 2015 +0900 staging: wilc1000: remove useless comment This patch removes useless comment that is containing "BugXXXX" Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1058cc32d13b9958f23b6a82271413ad0f11b680 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:12 2015 +0900 staging: wilc1000: remove blank line before a close brace '{' This patch removes blank line before a close brace '{' found by checkpatch.pl CHECK: Blank lines aren't necessary before a close brace '}' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 855a771d59a41b37eb6848aeab5ae3c27302ae6e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:11 2015 +0900 staging: wilc1000: remove blank line after an open brace '{' This patch removes blank line after an open brace '{' found by checkpatch.pl. CHECK: Blank lines aren't necessary after an open brace '{' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 619837aea8fef3e3a08e4158f79b51118e552fec Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:10 2015 +0900 staging: wilc1000: fix NULL comparison style This patch fixes NULL comparison style found by checkpatch.pl. CHECK: Comparison to NULL could be written "!net" CHECK: Comparison to NULL could be written "!net->ieee80211_ptr" CHECK: Comparison to NULL could be written "!net->ieee80211_ptr->wiphy" Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8459fd54aa3ac145ba16a2b9cbc76ab5b99b4d32 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:09 2015 +0900 staging: wilc1000: rename WILC_WFI_WiphyRegister This patch replaces WILC_WFI_WiphyRegister with wilc_create_wiphy to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96da20a9a31a2acec0f9bd1c6681dce6c2c40096 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:08 2015 +0900 staging: wilc1000: rename WILC_WFI_WiphyFree This patch replaces WILC_WFI_WiphyFree with wilc_free_wiphy to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e19202501a0362c6f2f73c6625d8fea42d5a2be Author: Erik Arfvidson <erik.arfvidson@xxxxxxxxxx> Date: Tue Aug 25 17:52:35 2015 -0400 staging: unisys: add visorhid driver This driver provides mouse and keyboard input to Unisys s-Par Partition Desktop application. This device is created by the visorbus device. Signed-off-by: Erik Arfvidson <erik.arfvidson@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Tim Sell <timothy.sell@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59995f55973e23d957f1dad13446554f6aef73d0 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Sep 18 21:47:39 2015 +0800 arm64: dts: add dts file for Marvell Berlin4CT STB board This patch adds dts for the Berlin4CT STB reference board which is also based on the Berlin4CT SoC. The Berlin4CT DMP board will be deprecated as time goes. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 8884d8c7cc2fd8b8cd188204f340d16b3972deb0 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Sep 18 21:47:38 2015 +0800 arm64: dts: berlin4ct: add GPIO nodes Marvell berlin4ct SoC has 6 GPIO ports powered by snps,dw-apb-gpio. This patch adds the corresponding device tree nodes. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit c582fbfba581d1331a52a85f0d712b0b7ec961c3 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Sep 18 21:47:37 2015 +0800 arm64: berlin: enable ARCH_REQUIRE_GPIOLIB All berlin SoCs have GPIOs driven by the dwapb GPIO driver. Add GPIOLIB as a dependency to be able to support them. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 5cfc5220a63b1008e7198fb4f91c3ef763e46657 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 18 10:14:41 2015 +0300 ARM: pxa: Remove unused clock_enable field from struct pxa2xx_spi_master Use for struct pxa2xx_spi_master clock_enable field was removed years ago from the pxa2xx-spi driver by the commit 2f1a74e5a2de ("[ARM] pxa: make pxa2xx_spi driver use ssp_request()/ssp_free()"). Therefore remove it from structure definition, documentation and from couple affected board files. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit e4877d64f00964d86a6e4a023011cccc73899018 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 20:23:34 2015 +0200 x86/fpu/math-emu: Add support for FISTTP instructions These FPU instructions were added in SSE3-enabled CPUs. Run-tested by booting with "no387 nofxsr" and running test program: [RUN] Testing fisttp instructions [OK] fisttp Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442600614-28428-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a58e2ecd019d9ffb9f1813faf6151716fdecbae5 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Sun Sep 20 16:03:10 2015 +0200 x86/fpu/math-emu, selftests: Add test for FISTTP instructions $ ./test_FISTTP_32 [RUN] Testing fisttp instructions [OK] fisttp Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442757790-27233-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c56e1a2be1cec29fb1de9358b0b2b20582cdca30 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Sep 14 14:42:13 2015 +0800 arm: dts: berlin: use stdout-path Use stdout-path to specify the console and remove the console argument from the kernel command line. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 487eacb9fc184eb6e54b299df3faf3ee57ace5df Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Sep 14 14:42:12 2015 +0800 arm: dts: berlin: add aliases for serial This is to prepare for the using stdout-path in next commit. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 3dc33bd30f3e1c1bcaaafa3482737694debf0f0b Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Wed Aug 12 17:55:19 2015 -0700 x86/entry/vsyscall: Add CONFIG to control default Most modern systems can run with vsyscall=none. In an effort to provide a way for build-time defaults to lack legacy settings, this adds a new CONFIG to select the type of vsyscall mapping to use, similar to the existing "vsyscall" command line parameter. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-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: 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/20150813005519.GA11696@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a9d8642d03a7512f78cbe7ed6a2011fad3cbca3 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 16:53:30 2015 +0200 x86/fpu/math-emu: Add support for FCMOVcc insns Run-tested by booting with "no387 nofxsr" and running test program: [RUN] Testing fcmovCC instructions [OK] fcmovCC Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442588010-20055-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b8e4a910e576961009a87d07f6b7eff67c5c2e34 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 16:53:29 2015 +0200 x86/fpu/math-emu: Add support for F[U]COMI[P] insns Run-tested by booting with "no387 nofxsr" and running test program: [RUN] Testing f[u]comi[p] instructions [OK] f[u]comi[p] Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442588010-20055-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4aef363e48177d451b4d263c69dd2c86437e988b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 16:53:28 2015 +0200 x86/fpu/math-emu: Remove define layer for undocumented opcodes No code changes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442588010-20055-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 57ca6897cd134efd8914cc230f602abad431c7db Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Sep 17 15:02:13 2015 +0200 x86/fpu/math-emu, selftests: Add tests for FCMOV and FCOMI insns Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> 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/1442494933-13798-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5c18a06af753eab1162fcdfb1cf03581e70b3f4 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Sep 12 11:08:34 2015 -0700 Input: ad714x - convert to using managed resources Use managed resource functions devm_request_threaded_irq, devm_inpute_allocate_device and devm_kzalloc to simplify error handling. Also, remove use of input_unregister_device as input_register_device itself handles it and works as resource managed function. To be compatible with the change, various gotos are replaced with direct returns, and unneeded labels are dropped. With these changes remove ad714x_remove and corresponding calls of it as they are now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6b7bc0618ff1a333d2265131b124e966335d5dee Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 13:02:04 2015 +0000 spi: add transfer histogram statistics via sysfs report transfer sizes as a histogram via the following files: /sys/class/spi_master/spi*/statistics/transfer_bytes_histo_* /sys/class/spi_master/spi*/spi*.*/statistics/transfer_bytes_histo_* Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cde79035c6cf578dd33dfea3e39666efc27cbcf2 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Aug 24 14:16:51 2015 +0200 ASoC: Handle multiple codecs with split playback / capture Add the capability to use multiple codecs on the same DAI linke where one codec is used for playback and another one is used for capture. Tested on a setup using an SSM2518 for playback and an ICS43432 I2S MEMS microphone for capture. No verification is made that the playback and capture codec setups are compatible in terms of number of TDM slots (where applicable). Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9529138276c852297967b5d3cc2f6dda3ddb9526 Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri Sep 18 14:06:38 2015 +0300 ASoC: hdmi: Remove obsolete dummy HDMI codec The hdmi stub codec has not been used since refactoring of OMAP HDMI audio support. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5b97c0f18a1781f50db96baa020f913886d1972a Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Mon Aug 17 22:56:44 2015 +0530 ASoC: Intel: Skylake: Remove unused CPU dais We need to create CPU DAI for each endpoint instance. For this we should have one DMIC DAI, one HDA DAI and SSP DAI. Thus, DMIC23, HDA-SPK/AMIC was not required so this patch removes them 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 9d70594760a94523c550d2cc0f47b3c0af63c8e9 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 18 15:25:32 2015 +0800 ASoC: rockchip: Fix missing CLKDEV_LOOKUP dependency Make SND_SOC_ROCKCHIP_MAX98090 and SND_SOC_ROCKCHIP_RT5645 depend on CLKDEV_LOOKUP to fix below build warning: warning: (SND_SOC_ROCKCHIP_MAX98090 && SND_SOC_ROCKCHIP_RT5645) selects SND_SOC_ROCKCHIP_I2S which has unmet direct dependencies (SOUND && !M68K && !UML && SND && SND_SOC && CLKDEV_LOOKUP && SND_SOC_ROCKCHIP) Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e3a4d958d78e4f1709f3d4611849617ac9222a0c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Sep 18 00:52:44 2015 +0000 ASoC: ak4613: add Digital Playback Volume support For L/ROUT1 to L/ROUT6 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9ae3109d1d9ff367e0d0efa7073cc078edb9a372 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 19 07:31:47 2015 -0700 regmap: debugfs: Remove scratch buffer for register length calculation Now we no longer use the scratch buffer for register length calculation there is no need for callers to supply one. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3a8c41b50aa2782f3ba926944a2374b957705f33 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Fri Sep 18 18:11:04 2015 +0900 staging: wilc1000: remove typedef from the struct The Linux kernel coding style does not recommend to use typedef for the structure. This patch removes typedef from the host_if_msg structure. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67dd5eb952032b07cf2cc6e04047c990714cb270 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Fri Sep 18 18:11:03 2015 +0900 staging: wilc1000: rename tstrHostIFmsg This patch changes the name, tstrHostIFmsg to host_if_msg not to use camelcase notation in the Linux. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63107ce85edc9296b518fa29f6fe80cc29cb9c68 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 18 15:46:23 2015 +0100 staging: comedi: comedi_fops.c: remove bogus kernel-doc for runflags The comment before the `COMEDI_SRF_...` macros starts with a kernel-doc mark but isn't valid kernel-doc. There isn't a kernel-doc template for a group of macro constants. These macros are all private anyway, so don't really need to be in kernel-doc. Just change it to a normal comment. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbdc251d1153087f98b4e84f7d7d54357752b9d7 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 22:14:35 2015 +0530 staging: slicoss: use status in isr If we are not able to setup the LINK UP command then don't increment the interrupt count. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b8645d64375a82971cebb312a6f665dc586686f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 22:14:34 2015 +0530 staging: slicoss: use status in slic_ioctl In the ioctl function if we are not able to UP the link after setting the new parameters then return an error code to the userspace. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de4772aef38a4cba6e163913e92b2c874274b863 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 22:14:33 2015 +0530 staging: slicoss: use status in slic_if_init While initializing the interface if we are not able to setup the command to UP the link then we release everything and return the error code. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78affe6522738ccda21c3f4e83bcaf08aab18d6e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 22:14:32 2015 +0530 staging: slicoss: return status of slic_link_event_handler slic_link_event_handler() issues command READ_LINK_STATUS to be executed asynchronously, which is followed by UP configuration write command. But it can fail while setting up the command and in that case the link will not be up. Lets check the status and return it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a0796eb16f387b01e0da968883ebce7faf17972 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Sep 18 08:13:00 2015 +0200 staging: rtl8188eu: Introduce monitor interface for IEEE 802.11 frames This adds support for monitoring IEEE 802.11 Data and Management frames received or transmitted by a RTL8188EU-based device handled by this driver. The monitor interface is not enabled by default and will be registered only if monitor_enable module parameter is set to 1. When enabled it will show up as a monX network device, which can be used by the userspace programs for monitoring network traffic. It is intended as an exploratory/debugging tool for rtl8188eu driver. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d59177cb70bbfff07408de0ceed8dcdd91208b5e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 17 17:47:25 2015 +0900 staging: wilc1000: remove do-nothing ifdef statement This patch removes do-nothing ifdef, else statement and add ifdef WILC_SDIO for disable_sdio_interrupt(). Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a87d792b3594454c97c2c9e9693e7dd3bfcbb012 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 17 17:47:24 2015 +0900 staging: wilc1000: remove define RX_BH_TYPE This patch removes the preprocessor definition, RX_BH_TYPE and uses the request_threaded_irq instead of kernel thread to execute the interrupt handler. As a result, linux_wlan_enable_irq() and linux_wlan_disable_irq() are also removed from the linux_wlan.c file. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5366012de97bc1f6b53c79bd5f664b7a0ced769b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:49 2015 +0900 staging: wilc1000: remove declaration of wilc_get_chipid This patch removes the declaration of wilc_get_chipid function. It is included wilc_wlan_if.h that has declaration of wilc_get_chipid. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5af6b85b9e65b81c1954cbfa18ad41d65f911c93 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:48 2015 +0900 staging: wilc1000: remove useless comment This patch removes useless comment that is included "BugID_xxxx" Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62f463a892420f7e275a6e67af1c465b431a3ac1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:47 2015 +0900 staging: wilc1000: remove WILC_TIME typedef This patch removes WILC_TIME typedef that is not used anymore. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0097ac7b1d5e17c08fd555a3e97eae808a3d0be2 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:46 2015 +0900 staging: wilc1000: remove unused defines This patch removes unused defines. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0e5facedb4a1c7892a6f6f7a749eaf9b23fbbe1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:45 2015 +0900 staging: wilc1000: linux_wlan_spi.c: fix kzalloc error check This patch fixes error check of kzalloc. If kzalloc is failed, return type is used as -ENOMEM. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fed16f2c912fbd1e8e866738e2a8fcd5d9c36c81 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:43 2015 +0900 staging: wilc1000: replace __inline with inline This patch replaces __inline with inline. plain inline is more preferred than __inline. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18f05b529592e65470ff50a887b9387d7d71e724 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:42 2015 +0900 staging: wilc1000: remove INLINE macro This patch removes INLINE macro that is used anymore. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f60eade2433cb3a38687d5f8a4f44b92c6c51bf Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: generalize obtaining the handles of and notifying cgroup files cgroup core handles creations and removals of cgroup interface files as described by cftypes. There are cases where the handle for a given file instance is necessary, for example, to generate a file modified event. Currently, this is handled by explicitly matching the callback method pointer and storing the file handle manually in cgroup_add_file(). While this simple approach works for cgroup core files, it can't for controller interface files. This patch generalizes cgroup interface file handle handling. struct cgroup_file is defined and each cftype can optionally tell cgroup core to store the file handle by setting ->file_offset. A file handle remains accessible as long as the containing css is accessible. Both "cgroup.procs" and "cgroup.events" are converted to use the new generic mechanism instead of hooking directly into cgroup_add_file(). Also, cgroup_file_notify() which takes a struct cgroup_file and generates a file modified event on it is added and replaces explicit kernfs_notify() invocations. This generalizes cgroup file handle handling and allows controllers to generate file modified notifications. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 4df8dc903161c03cd9bff9077d8427fefe808e6d Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: restructure file creation / removal handling The file creation / removal path has always been a bit icky and the planned notification update requires css during file creation. Restructure as follows. * cgroup_addrm_files() now takes both @css and @cgrp and is only called directly by other file handling functions. * cgroup_populate/clear_dir() are replaced with css_populate/clear_dir() taking @css and @cgrp_override. @cgrp_override is used only when files needs to be created on / removed from a cgroup which isn't attached to @css which happens during subsystem rebinds. Subsystem loops are moved to the callers. * cgroup_add_file() now takes both @css and @cgrp. @css isn't used yet but will be used by the planned notification update. This patch doens't cause any behavior changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 1ada48387a31b437074aa8973ce81de6e8c60bde Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: cosmetic updates to rebind_subsystems() * Use local variables @scgrp and @dcgrp for @src_root->cgrp and @dst_root->cgrp respectively. * Use initializers to set @src_root and @css in the inner bind loop. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 6732ed853af942ba20ddbd091336acc7df569119 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: make cgroup_addrm_files() clean up after itself on failures After a file creation failure, cgroup_addrm_files() it didn't remove the files which had already been created. When cgroup_populate_dir() is the caller, this is fine as the caller performs cleanup; however, for other callers, this may leave unactivated dangling files behind. As kernfs directory removals are recursive, this doesn't lead to permanent memory leak but it can, for example, fail future attempts to create those files again. There's no point in keeping around this sort of subtlety and it gets in the way of planned updates to file handling. This patch makes cgroup_addrm_files() clean up after itself on failures. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit ccdca2187b03decd186df13e44c57fbf1974d0a0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: relocate cgroup_populate_dir() Move it upwards so that it's right below cgroup_clear_dir() and the forward declaration is unnecessary. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 7dbdb199d3bf88f043ea17e97113eb28d5b100bc Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: replace cftype->mode with CFTYPE_WORLD_WRITABLE cftype->mode allows controllers to give arbitrary permissions to interface knobs. Except for "cgroup.event_control", the existing uses are spurious. * Some explicitly specify S_IRUGO | S_IWUSR even though that's the default. * "cpuset.memory_pressure" specifies S_IRUGO while also setting a write callback which returns -EACCES. All it needs to do is simply not setting a write callback. "cgroup.event_control" uses cftype->mode to make the file world-writable. It's a misdesigned interface and we don't want controllers to be tweaking interface file permissions in general. This patch removes cftype->mode and all its spurious uses and implements CFTYPE_WORLD_WRITABLE for "cgroup.event_control" which is marked as compatibility-only. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 4a07c222d3afb00e1113834fee38d23a8e5d71dc Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:22 2015 -0400 cgroup: replace "cgroup.populated" with "cgroup.events" memcg already uses "memory.events" for event reporting and other controllers may need event reporting too. Let's standardize on "$SUBSYS.events" interface file for reporting events which don't happen too frequently and thus can share event notification. "cgroup.populated" is replaced with "populated" field in "cgroup.events" and documentation is updated accordingly. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit c616ac28a5b392a03eaa1bbab2bdb1d8931cfdb8 Author: Jakub Wilk <jwilk@xxxxxxxxx> Date: Wed Aug 12 16:15:35 2015 +0200 HSI: Fix a typo Signed-off-by: Jakub Wilk <jwilk@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9222097f0d2f88db602c0340d19d90a1c72b5fec Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Thu Sep 10 18:40:31 2015 +0800 PCI: Remove unnecessary "if" statement In store_remove_id(), set the default return value to -ENODEV, and overwrite it with the input buffer size if we find a matching list entry. Then we don't need to test whether to return an error or the count. No functional change. [bhelgaas: changelog] Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 7d6ddad659f7220438b863977b0c4032e3d77dda Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:25:17 2015 +0200 clk: sunxi: Add A33 gates support The A33 gates are different from the A23 ones, add a new hook to simple gates to handle this clock Reported-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 0a031ac5c00d091ce1f7007f22d5881620bf0a7e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:08 2015 -0500 netfilter: Use nf_ct_net instead of dev_net(out) in nf_nat_masquerade_ipv6 Use nf_ct_net(ct) instead of guessing that the netdevice out can reliably report the network namespace the conntrack operation is happening in. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c7af6483b9f7f3eaba01b2e62d3d8a70cd89bdaf Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:07 2015 -0500 netfilter: Pass net into nf_xfrm_me_harder Instead of calling dev_net on a likley looking network device pass state->net into nf_xfrm_me_harder. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 06198b34a3e09e06d9aecaa3727e0d37206cea77 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:06 2015 -0500 netfilter: Pass priv instead of nf_hook_ops to netfilter hooks Only pass the void *priv parameter out of the nf_hook_ops. That is all any of the functions are interested now, and by limiting what is passed it becomes simpler to change implementation details. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 176971b33859135d8dbda9b79e16cb1cf615eb92 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:05 2015 -0500 ipvs: Read hooknum from state rather than ops->hooknum This should be more cache efficient as state is more likely to be in core, and the netfilter core will stop passing in ops soon. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a31f1adc0948930fba9ab5a111ccd735a5d864c6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:04 2015 -0500 netfilter: nf_conntrack: Add a struct net parameter to l4_pkt_to_tuple As gre does not have the srckey in the packet gre_pkt_to_tuple needs to perform a lookup in it's per network namespace tables. Pass in the proper network namespace to all pkt_to_tuple implementations to ensure gre (and any similar protocols) can get this right. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a4ffe319ae72034e3f3332698a2fd83b6f063b18 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:03 2015 -0500 act_connmark: Remember the struct net instead of guessing it. Stop guessing the struct net instead of remember it. Guessing is just silly and will be problematic in the future when I implement routes between network namespaces. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 206e8c00752fbe9cc463184236ac64b2a532cda5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:02 2015 -0500 netfilter: Pass net to nf_dup_ipv4 and nf_dup_ipv6 This allows them to stop guessing the network namespace with pick_net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 88182a0e0c665cbd2f01af743c7f88e494924246 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:01 2015 -0500 netfilter: nf_tables: Use pkt->net instead of computing net from the passed net_devices Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 46448d0093ba18a212e314fd9ea029e740baa476 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:00 2015 -0500 netfilter: nf_tables: Pass struct net in nft_pktinfo nft_pktinfo is passed on the stack so this does not bloat any in core data structures. By centrally computing this information this makes maintence of the code simpler, and understading of the code easier. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 686c9b50809dc80cba7c2e9f809471ab40bae735 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:59 2015 -0500 netfilter: x_tables: Use par->net instead of computing from the passed net devices Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 156c196f6038610770588a708b9e0f7df2ead74a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:58 2015 -0500 netfilter: x_tables: Pass struct net in xt_action_param As xt_action_param lives on the stack this does not bloat any persistent data structures. This is a first step in making netfilter code that needs to know which network namespace it is executing in simpler. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6aa187f21ca2d8ade791f01fd8fab908b1f27673 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:57 2015 -0500 netfilter: nf_tables: kill nft_pktinfo.ops - Add nft_pktinfo.pf to replace ops->pf - Add nft_pktinfo.hook to replace ops->hooknum This simplifies the code, makes it more readable, and likely reduces cache line misses. Maintainability is enhanced as the details of nft_hook_ops are of no concern to the recpients of nft_pktinfo. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 082a758f042e1c1eb241bfc2308ddc2b4ef6840d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:56 2015 -0500 inet netfilter: Prefer state->hook to ops->hooknum The values of nf_hook_state.hook and nf_hook_ops.hooknum must be the same by definition. We are more likely to access the fields in nf_hook_state over the fields in nf_hook_ops so with a little luck this results in fewer cache line misses, and slightly more consistent code. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6cb8ff3f1a535b1d8eb5ea318932513d08eb3da7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:55 2015 -0500 inet netfilter: Remove hook from ip6t_do_table, arp_do_table, ipt_do_table The values of ops->hooknum and state->hook are guaraneted to be equal making the hook argument to ip6t_do_table, arp_do_table, and ipt_do_table is unnecessary. Remove the unnecessary hook argument. In the callers use state->hook instead of ops->hooknum for clarity and to reduce the number of cachelines the callers touch. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 97b59c3a91d5ee4777658ff2136d1fdf13bd23d0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:54 2015 -0500 netfilter: ebtables: Simplify the arguments to ebt_do_table Nearly everything thing of interest to ebt_do_table is already present in nf_hook_state. Simplify ebt_do_table by just passing in the skb, nf_hook_state, and the table. This make the code easier to read and maintenance easier. To support this create an nf_hook_state on the stack in ebt_broute (the only caller without a nf_hook_state already available). This new nf_hook_state adds no new computations to ebt_broute, but does use a few more bytes of stack. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 36aea585a1103b8c2a1de04637b8a4326b92c254 Merge: 47bbbb3 4e47809 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Sep 18 21:03:32 2015 +0200 Merge tag 'ipvs-for-v4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next Simon Horman says: ==================== IPVS Updates for v4.4 please consider these IPVS Updates for v4.4. The updates include the following from Alex Gartrell: * Scheduling of ICMP * Sysctl to ignore tunneled packets; and hence some packet-looping scenarios ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 98a97e6fe9eb20e877a82d0149ce6d8f832c8975 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 18 13:58:35 2015 -0500 PCI: designware: Make get_msi_addr() return phys_addr_t, not u32 Make get_msi_addr() return phys_addr_t, not u32. This allows the MSI target address to be above 4GB for 64bit or PAE systems. No functional change for the current 32bit platform users as phys_addr_t maps to u32 for them. [bhelgaas: changelog] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 79707374090411c5fa9dbcde862e59306bf8f765 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 18 13:58:35 2015 -0500 PCI: designware: Implement multivector MSI IRQ setup Implement multivector MSI IRQ setup. This allows to set up and use multiple MSI IRQs per device. [bhelgaas: changelog, use -EINVAL instead of -ENOSYS] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit ea643e1a33576216de589cf525dbb40267fde5a9 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 18 13:58:35 2015 -0500 PCI: designware: Factor out MSI msg setup Factor out the PCI MSI message setup from the single MSI setup function. This will be reused by the multivector MSI setup. No functional change yet. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 339e5b44eda2150baad183def6b7030fad5ec44e Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 18 13:58:34 2015 -0500 PCI: Add msi_controller setup_irqs() method for special multivector setup Add a msi_controller setup_irqs() method so MSI chip providers can implement their own multivector MSI setup. [bhelgaas: changelog] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit ed8b472df44af6dc4cb18e828dc9bb2d57f14b9e Author: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Date: Wed Aug 26 11:17:34 2015 +0800 PCI: designware: Fix PORT_LOGIC_LINK_WIDTH_MASK The value under PORT_LOGIC_LINK_WIDTH_MASK is 0x1, 0x2, 0x4, 0x8. In IP v4.2, bits [16:8] are defined for NUM_OF_LANES. But in IP v4.4, bits[12:8] are defined for NUM_OF_LANES, bits [16:13] are for other usages (bit 16 is AUTO_LANE_FLIP_CTRL_EN, bits [15:13] are PRE_DET_LANE). As there is no conflict about NUM_OF_LANES between v4.2 and v4.4, change the mask value to avoid future problems. Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit ad29fff889765b13cf6ca61462d5377934fcfcda Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Mon Sep 14 09:05:42 2015 -0700 README: Add ARC architecture ARC support was added back in 2013 but I missed updating here Reported-by: Francois Bedard <fbedard@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 96d8d5ffae5047a3525e0ffc86c904b260176047 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Sep 17 00:54:58 2015 +0900 Doc:misc-devices: Fix typo in Documentation/misc-devices This patch fix spelling typos in Documentation/misc-devices. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit ac78a15de46489343790585d28395a7921697349 Author: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Date: Fri Sep 18 11:10:15 2015 +0200 can: Add documentation for CAN FD driver configuration With Linux 3.15 the infrastructure for CAN FD hardware drivers had been introduced into the kernel. Now the M_CAN driver and the peak_usb driver support CAN FD. Update the documentation to show the latest CAN related configuration options of 'ip' from iproute2 and describe the CAN FD specific options to set the data bitrate and protocol version (ISO/non-ISO). Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9e10a130d9b62af976d17d120c95f3650769312c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 11:56:28 2015 -0400 cgroup: replace cgroup_on_dfl() tests in controllers with cgroup_subsys_on_dfl() cgroup_on_dfl() tests whether the cgroup's root is the default hierarchy; however, an individual controller is only interested in whether the controller is attached to the default hierarchy and never tests a cgroup which doesn't belong to the hierarchy that the controller is attached to. This patch replaces cgroup_on_dfl() tests in controllers with faster static_key based cgroup_subsys_on_dfl(). This leaves cgroup core as the only user of cgroup_on_dfl() and the function is moved from the header file to cgroup.c. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> commit fc5ed1e95410ad73b2ab8f33cd90eb3bcf6c98a1 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 11:56:28 2015 -0400 cgroup: replace cgroup_subsys->disabled tests with cgroup_subsys_enabled() Replace cgroup_subsys->disabled tests in controllers with cgroup_subsys_enabled(). cgroup_subsys_enabled() requires literal subsys name as its parameter and thus can't be used for cgroup core which iterates through controllers. For cgroup core, introduce and use cgroup_ssid_enabled() which uses slower static_key_enabled() test and can be indexed by subsys ID. This leaves cgroup_subsys->disabled unused. Removed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> commit 49d1dc4b81797f88270832b11e9f73809e7e7209 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 11:56:28 2015 -0400 cgroup: implement static_key based cgroup_subsys_enabled() and cgroup_subsys_on_dfl() Whether a subsys is enabled and attached to the default hierarchy seldom changes and may be tested in the hot paths. This patch implements static_key based cgroup_subsys_enabled() and cgroup_subsys_on_dfl() tests. The following patches will update the users and remove duplicate mechanisms. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit fa128fd735bd236b6b04d3fedfed7a784137c185 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 11:56:28 2015 -0400 jump_label: make static_key_enabled() work on static_key_true/false types too static_key_enabled() can be used on struct static_key but not on its wrapper types static_key_true and static_key_false. The function is useful for debugging and management of static keys. Update it so that it can be used for the wrapper types too. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit d6157e4f18173ad24441aa9ca04e7e9121a9b4c7 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:41:45 2015 +0200 ARM: at91: remove useless includes in platform_data/atmel.h include/linux/platform_data/atmel.h has a lot of useless includes, remove them. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8dca5ce893e8d6b7e6b03f0df03375fb26b846ec Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 18:24:21 2015 +0200 MAINTAINERS: explicitly add Atmel SAMA5 Atmel SAMA5 SoCs are also supported through mach-at91. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4a43c3b8d8c085d643786c7b69a75f72770fe04b Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Apr 23 10:08:04 2015 +0200 ARM: at91/dt: sama5d4 xplained: enable the led D8 Enable D8 led as now the pioD is available. D8 is the power led and is on by default. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: split the patch in 2] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit a21a6c47f53c575082800cd311a9ab0bd3b52809 Author: Patrice Vilchez <patrice.vilchez@xxxxxxxxx> Date: Mon Jan 12 11:34:45 2015 +0100 ARM: at91/dt: sama5d4ek: Add support of QT1070 and Maxtouch As the EK board comes with a PDA 7" screen, add the touch buttons and touchscreen for it. Signed-off-by: Patrice Vilchez <patrice.vilchez@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: add commit message] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4288ac7b882d2669fe4b795971392aadb7168fa8 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Apr 7 14:28:53 2015 +0200 ARM: at91/dt: sama5d4: enable crypto nodes The crypto modules will provide HW AES/TDES/SHA for any sama5d4 board. Enable them by default. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 679f8d92bb015cfe2af4fddbe22a6689609c4ec6 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Apr 23 10:07:18 2015 +0200 ARM: at91/dt: sama5d4: add pioD pin mux mask and enable pioD Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit cb3651d7be288573591e9e21f3ba7e8258efa4c6 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Jan 28 14:39:34 2015 +0100 ARM: at91/dt: sama5d3: update iio config for touchscreen Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 19146e7e91bd1c1d0838c44808bad151dee0d2e6 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Fri Apr 17 15:27:19 2015 +0200 ARM: at91/dt: sama5d3 xplained: disable pmic As PMIC act8865 can disturb communication on i2c1, and as it should be setup correctly then its i2c interface disabled by bootloader, we simply disregard it in DT. Acked-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7c08d8cda1dd0fb304e8171dce4300fc92907bd9 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Jul 12 18:17:00 2013 +0800 ARM: at91/dt: at91sam9x5: enable iio touchscreen for 9x5ek Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit eed7c4e611a7feaacb70fca1c3180af4edef4562 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Thu Sep 11 09:29:12 2014 +0800 ARM: at91/dt: at91sam9n12ek: disable i2c1 No device connect to i2c1, so remove it to keep it as disabled. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7b6521f112afcbb6555cf119c2eefb21dee5eae8 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Mon Mar 30 18:40:22 2015 +0800 ARM: at91/dt: at91sam9n12ek: fix the led labels name Correct the led labels in at91sam9n12ek. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit b5dada82ad624b69a2229c819d6a30b664a5606f Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Sep 17 14:20:32 2015 +0100 drm/i915/bxt: Fix wrongly placed ')' in I915_READ() Not the first time! not the last time? There is a possibility to use gcc 5's -Wbool-compare to try and compare (reg) in those macros to a constant and gcc will warn that the comparison between a boolean expression and a constant is always either true or false. Maybe. Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9aa6114253a9d01513796f6b44eda9838dc7bf3b Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Sep 14 19:24:18 2015 -0700 drm/i915: Don't leak VBT mode data We allocate memory for LVDS modes while parsing the VBT at startup, but never free this memory when the driver is unloaded, causing a small leak. Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d637ce3f6dcc0bec950ed4e03e53162500d6b28b Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Thu Sep 17 08:08:32 2015 -0700 drm/i915: cleanup pipe_update trace functions with new crtc debug info v3 Use the new debug info in the intel_crtc struct in these functions rather than passing them as args. v2: move min/max assignment back above first trace call (Ville) use scanline from crtc->debug rather than fetching a new one (Ville) v3: fix up trace_i915_pipe_update_end, needs end scanline (Ville) Requested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d1a9c24ad16ab2b26f1574bc3f2c165a7beff5df Author: Holger Busse <h.busse@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 10:45:45 2015 +0200 ARM: at91/dt: corrections to i2c1 declaration to sama5d4 Correcting the dma declaration for i2c1 dma. Signed-off-by: Holger Busse <h.busse@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Fixes: 4cc7cdf35c5f ("ARM: at91/dt: add i2c1 declaration to sama5d4") Cc: stable@xxxxxxxxxxxxxxx # v4.1+ commit 6818375e974aa8659c3d2b1bf4b660a2a7929077 Author: Szymon Janc <ext.szymon.janc@xxxxxxxxx> Date: Wed Sep 16 20:21:54 2015 +0200 Bluetooth: Fix reporting incorrect EIR in device found mgmt event Some remote devices (ie Gigaset G-Tag) misbehave with ADV data length. This can lead to incorrect EIR format in device found event when ADV_DATA and SCAN_RSP are merged (terminator field before SCAN_RSP part). Fix this by inspecting ADV_DATA and correct its length if terminator is found. > HCI Event: LE Meta Event (0x3e) plen 42 [hci0] 32.172182 LE Advertising Report (0x02) Num reports: 1 Event type: Connectable undirected - ADV_IND (0x00) Address type: Public (0x00) Address: 7C:2F:80:94:97:5A (Gigaset Communications GmbH) Data length: 30 Flags: 0x06 LE General Discoverable Mode BR/EDR Not Supported Company: Gigaset Communications GmbH (384) Data: 021512348094975abbc5 16-bit Service UUIDs (partial): 1 entry Battery Service (0x180f) RSSI: -65 dBm (0xbf) > HCI Event: LE Meta Event (0x3e) plen 27 [hci0] 32.172191 LE Advertising Report (0x02) Num reports: 1 Event type: Scan response - SCAN_RSP (0x04) Address type: Public (0x00) Address: 7C:2F:80:94:97:5A (Gigaset Communications GmbH) Data length: 15 Name (complete): Gigaset G-tag RSSI: -59 dBm (0xc5) Note "Data length: 30" in ADV_DATA which results in 9 extra zero bytes after Battery Service UUID. Terminator field present in the middle of EIR in Device Found event resulted in userspace stop parsing EIR and skipping device name. @ Device Found: 7C:2F:80:94:97:5A (1) rssi -59 flags 0x0000 02 01 06 0d ff 80 01 02 15 12 34 80 94 97 5a bb ..........4...Z. c5 03 02 0f 18 00 00 00 00 00 00 00 00 00 0e 09 ................ 47 69 67 61 73 65 74 20 47 2d 74 61 67 Gigaset G-tag With this fix EIR with merged ADV_DATA and SCAN_RSP in device found event is properly formatted: @ Device Found: 7C:2F:80:94:97:5A (1) rssi -59 flags 0x0000 02 01 06 0d ff 80 01 02 15 12 34 80 94 97 5a bb ..........4...Z. c5 03 02 0f 18 0e 09 47 69 67 61 73 65 74 20 47 .......Gigaset G 2d 74 61 67 -tag Signed-off-by: Szymon Janc <ext.szymon.janc@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e781b7f7fcc141d69f63d4eef70d249549dfaeda Author: Szymon Janc <ext.szymon.janc@xxxxxxxxx> Date: Wed Sep 16 20:21:53 2015 +0200 Bluetooth: Add BT_ERR_RATELIMITED This patch adds ratelimited version of the BT_ERR macro. Signed-off-by: Szymon Janc <ext.szymon.janc@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c25be94f2870bf75552a41ad8b15f756e19ffb1d Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Sep 16 20:23:29 2015 +0200 x86/asm/entry/32, selftests: Add 'test_syscall_vdso' test This new test checks that all x86 registers are preserved across 32-bit syscalls. It tests syscalls through VDSO (if available) and through INT 0x80, normally and under ptrace. If kernel is a 64-bit one, high registers (r8..r15) are poisoned before the syscall is called and are checked afterwards. They must be either preserved, or cleared to zero (but r11 is special); r12..15 must be preserved for INT 0x80. EFLAGS is checked for changes too, but change there is not considered to be a bug (paravirt kernels do not preserve arithmetic flags). Run-tested on 64-bit kernel: $ ./test_syscall_vdso_32 [RUN] Executing 6-argument 32-bit syscall via VDSO [OK] Arguments are preserved across syscall [NOTE] R11 has changed:0000000000200ed7 - assuming clobbered by SYSRET insn [OK] R8..R15 did not leak kernel data [RUN] Executing 6-argument 32-bit syscall via INT 80 [OK] Arguments are preserved across syscall [OK] R8..R15 did not leak kernel data [RUN] Running tests under ptrace [RUN] Executing 6-argument 32-bit syscall via VDSO [OK] Arguments are preserved across syscall [OK] R8..R15 did not leak kernel data [RUN] Executing 6-argument 32-bit syscall via INT 80 [OK] Arguments are preserved across syscall [OK] R8..R15 did not leak kernel data On 32-bit paravirt kernel: $ ./test_syscall_vdso_32 [NOTE] Not a 64-bit kernel, won't test R8..R15 leaks [RUN] Executing 6-argument 32-bit syscall via VDSO [WARN] Flags before=0000000000200ed7 id 0 00 o d i s z 0 a 0 p 1 c [WARN] Flags after=0000000000200246 id 0 00 i z 0 0 p 1 [WARN] Flags change=0000000000000c91 0 00 o d s 0 a 0 0 c [OK] Arguments are preserved across syscall [RUN] Executing 6-argument 32-bit syscall via INT 80 [OK] Arguments are preserved across syscall [RUN] Running tests under ptrace [RUN] Executing 6-argument 32-bit syscall via VDSO [OK] Arguments are preserved across syscall [RUN] Executing 6-argument 32-bit syscall via INT 80 [OK] Arguments are preserved across syscall Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@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: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442427809-2027-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e904cf6fe23022cde4e0ea9d41601411a315a3dc Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Sep 6 13:09:01 2015 +0200 ath9k_htc: introduce support for different fw versions Current kernel support only one fw name with theoretically only one fw version located in â??firmware/htc_[9271|7010].fwâ??. Which is ok so far we have only one fw version (1.3). After we realised new fw 1.4, we faced compatibility problem which was decided to solve by firmware name and location: - new firmware is located now in firmware/ath9k_htc/htc_[9271|7010]-1.4.0.fw - old version 1.3 should be on old place, so old kernel have no issues with it. - new kernels including this patch should be able to try different supported (min..max) fw version. - new kernel should be able to support old fw location too. At least for now. At same time this patch will add new module option which should allow user to play with development fw version without replacing stable one. If user will set â??ath9k_htc use_dev_fw=1â?? module will try to find firmware/ath9k_htc/htc_[9271|7010]-1.dev.0.fw first and if it fails, use stable version: for example...1.4.0.fw. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 93edc8bd7750ff3cae088bfca453ea73dc9004a4 Author: Waiman Long <Waiman.Long@xxxxxxx> Date: Fri Sep 11 14:37:34 2015 -0400 locking/pvqspinlock: Kick the PV CPU unconditionally when _Q_SLOW_VAL If _Q_SLOW_VAL has been set, the vCPU state must have been vcpu_hashed. The extra check at the end of __pv_queued_spin_unlock() is unnecessary and can be removed. Signed-off-by: Waiman Long <Waiman.Long@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> 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/1441996658-62854-3-git-send-email-Waiman.Long@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c55a6ffa6285e29f874ed403979472631ec70bff Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 14 00:37:24 2015 -0700 locking/osq: Relax atomic semantics ... by using acquire/release for ops around the lock->tail. As such, weakly ordered archs can benefit from more relaxed use of barriers when issuing atomics. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> 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@xxxxxxx> Link: http://lkml.kernel.org/r/1442216244-4409-3-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6e1e5196975fb7ecc501b3fe1075b77aea2b7839 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 14 00:37:22 2015 -0700 locking/qrwlock: Rename ->lock to ->wait_lock ... trivial, but reads a little nicer when we name our actual primitive 'lock'. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> 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@xxxxxxx> Link: http://lkml.kernel.org/r/1442216244-4409-1-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e58cdf585a38412f9f56c512d20e8e12637d9892 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 9 16:46:38 2015 -0700 locking/Documentation/lockstat: Fix typo - lokcing -> locking Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Kosina <trivial@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441842398-25063-1-git-send-email-sboyd@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d6a367853b4340768a917a9e67127231cfd97218 Merge: 8456799 a7d5c18 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 18 09:25:12 2015 +0200 Merge branch 'linus' into locking/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 96f3eda67fcf2598e9d2794398e0e7ab35138ea6 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Sep 14 10:14:07 2015 -0400 perf/x86/intel: Fix static checker warning in lbr enable Commit deb27519bf1f ("perf/x86/intel: Fix LBR callstack issue caused by FREEZE_LBRS_ON_PMI") leads to the following Smatch complaint: warn: variable dereferenced before check 'cpuc->lbr_sel' (see line 154) Fix the warning. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> 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> Fixes: deb27519bf1f ("perf/x86/intel: Fix LBR callstack issue caused by FREEZE_LBRS_ON_PMI") Link: http://lkml.kernel.org/r/1442240047-48149-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02386c356af0ce5bbee11ed9b23c312ca60298f0 Merge: d71b0ad f73e22a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 18 09:24:01 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 79a89f92cbe31ba6bc50caf211a7ac4d97d0f35f Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Tue Sep 15 18:56:45 2015 +0800 sched/fair: Remove unnecessary parameter for group_classify() The group_classify() function does not use the "env" parameter, so remove it. Also unify code to always use group_classify() to calculate group's load type. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> 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/1442314605-14838-1-git-send-email-leo.yan@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 84fb5a182d39221b89f205365386df243135d622 Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Tue Sep 15 18:57:37 2015 +0800 sched/fair: Polish comments for LOAD_AVG_MAX Macro LOAD_AVG_MAX is defined far away from the precompuated tables for decay calculation in code; So explicitly comments for this. Also fix one typo: s/LOAD_MAX_AVG/LOAD_AVG_MAX. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> 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/1442314657-14949-1-git-send-email-leo.yan@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4620f8c1fda2af4ccbd11e194e2dd785f7d7f279 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Sep 11 09:00:27 2015 -0400 sched/numa: Limit the amount of virtual memory scanned in task_numa_work() Currently task_numa_work() scans up to numa_balancing_scan_size_mb worth of memory per invocation, but only counts memory areas that have at least one PTE that is still present and not marked for numa hint faulting. It will skip over arbitarily large amounts of memory that are either unused, full of swap ptes, or full of PTEs that were already marked for NUMA hint faults but have not been faulted on yet. This can cause excessive amounts of CPU use, due to there being essentially no upper limit on the scan rate of very large processes that are not yet in a phase where they are actively accessing old memory pages (eg. they are still initializing their data). Avoid that problem by placing an upper limit on the amount of virtual memory that task_numa_work() scans in each invocation. This can be a higher limit than "pages", to ensure the task still skips over unused areas fairly quickly. While we are here, also fix the "nr_pte_updates" logic, so it only counts page ranges with ptes in them. Reported-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Reported-by: Jan Stancek <jstancek@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150911090027.4a7987bd@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 20f9cd2acb1d74a8bf4b4087267f586e6ecdbc03 Author: Henrik Austad <henrik@xxxxxxxxx> Date: Wed Sep 9 17:00:41 2015 +0200 sched/core: Make policy-testing consistent Most of the policy-tests are done via the <class>_policy() helpers with the notable exception of idle. A new wrapper for valid_policy() has also been added to improve readability in set_load_weight(). This commit does not change the logical behavior of the scheduler core. Signed-off-by: Henrik Austad <henrik@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: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441810841-4756-1-git-send-email-henrik@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0c6a5b4319928b769ba81eff45bd679737a29ba1 Merge: 006cdf0 a7d5c18 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 18 09:22:55 2015 +0200 Merge branch 'linus' into sched/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 47bbbb30b4331ec58a74a66a044341f0114b02b3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Sep 17 16:37:13 2015 -0700 sch_dsmark: improve memory locality Memory placement in sch_dsmark is silly : Better place mask/value in the same cache line. Also, we can embed small arrays in the first cache line and remove a potential cache miss. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25354001d0f84f91201cb743aa52b7cac5fe4f9c Merge: 9110fe4 4a29645 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 17 22:17:14 2015 -0700 Merge branch 'bcmgenet-irq-coalesce' Florian Fainelli says: ==================== net: bcmgenet: Interrupt coalescing This patch series adds support for interrupt coalescing for GENET adapters. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a29645bfe6c20f06f041109ca578a0b4156f29a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 16 16:47:40 2015 -0700 net: bcmgenet: Implement RX coalescing control knobs Add support for the ethtool rx-frames coalescing parameter which allows defining the number of RX interrupts per frames received. The RDMA engine supports a configurable timeout with a resolution of approximately 8.192 us. We can no longer enable the BDONE/PDONE interrupts as those would fire for each packet/buffer received, which would defeat the MBDONE interrupt purpose. The MBDONE interrupt is guaranteed to correspond to a PDONE/BDONE interrupt when the threshold is set to 1. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f9130709d2c19e2eef336bda0fb0c807cbc1f64 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 16 16:47:39 2015 -0700 net: bcmgenet: Implement TX coalescing control knobs Configuring the ethtool tx-frames property, which translates into N packets before a TX interrupt is the simplest configuration scheme because it requires no locking neither at the softare nor hardware level, and is completely indepedent from the link speed. Since ethtool does not allow per-tx queue coalescing parameters, we apply the same setting to any transmit queue. We can no longer enable the BDONE/PDONE interrupts as those would fire for each packet/buffer received, which would defeat the MBDONE interrupt purpose. The MBDONE interrupt is guaranteed to correspond to a PDONE/BDONE interrupt when the threshold is set to 1, but offers interrupt coalescing when the value is > 1. Since the HW is configured to generate an interrupt when the ring becomes emtpy, we have to deny any timeout/timer settings coming from user-space to indicate we can only generate an interrupt very <N> packets. While we are at it, fix the DMA_INTR_THRESHOLD_MASK value which was off by one bit (0xff vs. 0x1ff). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9110fe4a17743e5f416f7fbe01a2a83cffd807d6 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:41:19 2015 +0000 lan78xx: Remove not defined MAC_CR_GMII_EN_ bit from MAC_CR. Remove not defined MAC_CR_GMII_EN_ bit from MAC_CR. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 758c5c1174343a134031ff817c19c732b3729747 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:41:14 2015 +0000 lan78xx: Create lan78xx_get_mdix_status() and lan78xx_set_mdix_status() for MDIX control. Create lan78xx_get_mdix_status() and lan78xx_set_mdix_status() for MDIX control. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdfba55e0d541a9547d737573ae11db7ed72e2bb Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:41:07 2015 +0000 lan78xx: Remove phy defines in lan78xx.h and use defines in include/linux/microchipphy.h Remove phy defines in lan78xx.h and use defines in include/linux/microchipphy.h. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce85e13ad6ef47ddcd34684889dc38a9901868ef Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:40:54 2015 +0000 lan78xx: Update to use phylib instead of mii_if_info. Update to use phylib instead of mii_if_info. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05fe68c008daaa641531f3cb44c567f04bf19ef7 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:40:47 2015 +0000 lan78xx: Add PHYLIB and MICROCHIP_PHY as default config. Add PHYLIB and MICROCHIP_PHY as default configuration for lan78xx. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c595b03b1087f9f18a809ee7ce1a79c746037d5 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:40:39 2015 +0000 lan78xx: Check device ready bit (PMT_CTL_READY_) after reset the PHY Check device ready bit (PMT_CTL_READY_) after reset the PHY. Device may not be ready even if PHY_RST_ is cleared depends on configuration. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bde6f9ded1bd37ff27a042dcb968e104d92b02c1 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:16:39 2015 -0600 net: Initialize table in fib result Sergey, Richard and Fabio reported an oops in ip_route_input_noref. e.g., from Richard: [ 0.877040] BUG: unable to handle kernel NULL pointer dereference at 0000000000000056 [ 0.877597] IP: [<ffffffff8155b5e2>] ip_route_input_noref+0x1a2/0xb00 [ 0.877597] PGD 3fa14067 PUD 3fa6e067 PMD 0 [ 0.877597] Oops: 0000 [#1] SMP [ 0.877597] Modules linked in: virtio_net virtio_pci virtio_ring virtio [ 0.877597] CPU: 1 PID: 119 Comm: ifconfig Not tainted 4.2.0+ #1 [ 0.877597] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 0.877597] task: ffff88003fab0bc0 ti: ffff88003faa8000 task.ti: ffff88003faa8000 [ 0.877597] RIP: 0010:[<ffffffff8155b5e2>] [<ffffffff8155b5e2>] ip_route_input_noref+0x1a2/0xb00 [ 0.877597] RSP: 0018:ffff88003ed03ba0 EFLAGS: 00010202 [ 0.877597] RAX: 0000000000000046 RBX: 00000000ffffff8f RCX: 0000000000000020 [ 0.877597] RDX: ffff88003fab50b8 RSI: 0000000000000200 RDI: ffffffff8152b4b8 [ 0.877597] RBP: ffff88003ed03c50 R08: 0000000000000000 R09: 0000000000000000 [ 0.877597] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88003fab6f00 [ 0.877597] R13: ffff88003fab5000 R14: 0000000000000000 R15: ffffffff81cb5600 [ 0.877597] FS: 00007f6de5751700(0000) GS:ffff88003ed00000(0000) knlGS:0000000000000000 [ 0.877597] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 0.877597] CR2: 0000000000000056 CR3: 000000003fa6d000 CR4: 00000000000006e0 [ 0.877597] Stack: [ 0.877597] 0000000000000000 0000000000000046 ffff88003fffa600 ffff88003ed03be0 [ 0.877597] ffff88003f9e2c00 697da8c0017da8c0 ffff880000000000 000000000007fd00 [ 0.877597] 0000000000000000 0000000000000046 0000000000000000 0000000400000000 [ 0.877597] Call Trace: [ 0.877597] <IRQ> [ 0.877597] [<ffffffff812bfa1f>] ? cpumask_next_and+0x2f/0x40 [ 0.877597] [<ffffffff8158e13c>] arp_process+0x39c/0x690 [ 0.877597] [<ffffffff8158e57e>] arp_rcv+0x13e/0x170 [ 0.877597] [<ffffffff8151feec>] __netif_receive_skb_core+0x60c/0xa00 [ 0.877597] [<ffffffff81515795>] ? __build_skb+0x25/0x100 [ 0.877597] [<ffffffff81515795>] ? __build_skb+0x25/0x100 [ 0.877597] [<ffffffff81521ff6>] __netif_receive_skb+0x16/0x70 [ 0.877597] [<ffffffff81522078>] netif_receive_skb_internal+0x28/0x90 [ 0.877597] [<ffffffff8152288f>] napi_gro_receive+0x7f/0xd0 [ 0.877597] [<ffffffffa0017906>] virtnet_receive+0x256/0x910 [virtio_net] [ 0.877597] [<ffffffffa0017fd8>] virtnet_poll+0x18/0x80 [virtio_net] [ 0.877597] [<ffffffff815234cd>] net_rx_action+0x1dd/0x2f0 [ 0.877597] [<ffffffff81053228>] __do_softirq+0x98/0x260 [ 0.877597] [<ffffffff8164969c>] do_softirq_own_stack+0x1c/0x30 The root cause is use of res.table uninitialized. Thanks to Nikolay for noticing the uninitialized use amongst the maze of gotos. As Nikolay pointed out the second initialization is not required to fix the oops, but rather to fix a related problem where a valid lookup should be invalidated before creating the rth entry. Fixes: b7503e0cdb5d ("net: Add FIB table id to rtable") Reported-by: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Reported-by: Richard Alpe <richard.alpe@xxxxxxxxxxxx> Reported-by: Fabio Estevam <festevam@xxxxxxxxx> Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Tested-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41a9802fd87316ac736182e2debc579e987c8311 Merge: f6c5333 27b29f6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 17 21:09:07 2015 -0700 Merge branch 'bpf_avoid_clone' Alexei Starovoitov says: ==================== bpf: performance improvements v1->v2: dropped redundant iff_up check in patch 2 At plumbers we discussed different options on how to get rid of skb_clone from bpf_clone_redirect(), the patch 2 implements the best option. Patch 1 adds 'integrated exts' to cls_bpf to improve performance by combining simple actions into bpf classifier. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27b29f63058d26c6c1742f1993338280d5a41dc6 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Sep 15 23:05:43 2015 -0700 bpf: add bpf_redirect() helper Existing bpf_clone_redirect() helper clones skb before redirecting it to RX or TX of destination netdev. Introduce bpf_redirect() helper that does that without cloning. Benchmarked with two hosts using 10G ixgbe NICs. One host is doing line rate pktgen. Another host is configured as: $ tc qdisc add dev $dev ingress $ tc filter add dev $dev root pref 10 u32 match u32 0 0 flowid 1:2 \ action bpf run object-file tcbpf1_kern.o section clone_redirect_xmit drop so it receives the packet on $dev and immediately xmits it on $dev + 1 The section 'clone_redirect_xmit' in tcbpf1_kern.o file has the program that does bpf_clone_redirect() and performance is 2.0 Mpps $ tc filter add dev $dev root pref 10 u32 match u32 0 0 flowid 1:2 \ action bpf run object-file tcbpf1_kern.o section redirect_xmit drop which is using bpf_redirect() - 2.4 Mpps and using cls_bpf with integrated actions as: $ tc filter add dev $dev root pref 10 \ bpf run object-file tcbpf1_kern.o section redirect_xmit integ_act classid 1 performance is 2.5 Mpps To summarize: u32+act_bpf using clone_redirect - 2.0 Mpps u32+act_bpf using redirect - 2.4 Mpps cls_bpf using redirect - 2.5 Mpps For comparison linux bridge in this setup is doing 2.1 Mpps and ixgbe rx + drop in ip_rcv - 7.8 Mpps Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 045efa82ff563cd4e656ca1c2e354fa5bf6bbda4 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Tue Sep 15 23:05:42 2015 -0700 cls_bpf: introduce integrated actions Often cls_bpf classifier is used with single action drop attached. Optimize this use case and let cls_bpf return both classid and action. For backwards compatibility reasons enable this feature under TCA_BPF_FLAG_ACT_DIRECT flag. Then more interesting programs like the following are easier to write: int cls_bpf_prog(struct __sk_buff *skb) { /* classify arp, ip, ipv6 into different traffic classes * and drop all other packets */ switch (skb->protocol) { case htons(ETH_P_ARP): skb->tc_classid = 1; break; case htons(ETH_P_IP): skb->tc_classid = 2; break; case htons(ETH_P_IPV6): skb->tc_classid = 3; break; default: return TC_ACT_SHOT; } return TC_ACT_OK; } Joint work with Daniel Borkmann. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6c53334d6c6ac7088c2e7e70ff2941bfb33f52e Author: Junwei Zhang <martinbj2008@xxxxxxxxx> Date: Fri Sep 18 00:00:05 2015 -0400 net: only check perm protocol when register proto The permanent protocol nodes are at the head of the list, So only need check all these nodes. No matter the new node is permanent or not, insert the new node after the last permanent protocol node, If the new node conflicts with existing permanent node, return error. Signed-off-by: Martin Zhang <martinbj2008@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b1b865e4e97e336316f30e32af36d71e98bdabc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 15 15:24:28 2015 -0700 bonding: use l4 hash if available If skb carries a l4 hash, no need to perform a flow dissection. Performance is slightly better : lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.39012e+06 lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.39393e+06 lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.39988e+06 After patch : lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.43579e+06 lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.44304e+06 lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.44312e+06 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Cc: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58d607d3e52f2b15902f58a1161da9fb3b0f6d47 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 15 15:24:20 2015 -0700 tcp: provide skb->hash to synack packets In commit b73c3d0e4f0e ("net: Save TX flow hash in sock and set in skbuf on xmit"), Tom provided a l4 hash to most outgoing TCP packets. We'd like to provide one as well for SYNACK packets, so that all packets of a given flow share same txhash, to later enable bonding driver to also use skb->hash to perform slave selection. Note that a SYNACK retransmit shuffles the tx hash, as Tom did in commit 265f94ff54d62 ("net: Recompute sk_txhash on negative routing advice") for established sockets. This has nice effect making TCP flows resilient to some kind of black holes, even at connection establish phase. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Cc: Mahesh Bandewar <maheshb@xxxxxxxxxx> Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f91638af0ef7cf85c204e3ebc853a35a99992e93 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Aug 28 17:56:01 2015 -0400 i40e/i40evf: Bump i40e to 1.3.21 and i40evf to 1.3.13 Bump. Change-ID: If7ce84218361defa209142d1d8c6f69d48c2d7ad 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 b72dc7b19398b238698fbc5954a3c3de6cbc815d Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Aug 28 17:55:51 2015 -0400 i40e/i40evf: add get AQ result command to nvmupdate utility Add a facility to recover the result of a previously run AQ command. Change-ID: I21afec2c20c1a5e6ba60c7fbfcbedfff78c10e45 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 e4c83c20f87fe1d3da6b3a7ecaf40ae8717c7842 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Aug 28 17:55:50 2015 -0400 i40e/i40evf: add exec_aq command to nvmupdate utility Add a facility to run AQ commands through the nvmupdate utility in order to allow the update tools to interact with the FW and do special commands needed for updates and configuration changes. Change-ID: I5c41523e4055b37f8e4ee479f7a0574368f4a588 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 2f1b5bc844a7c13a3ec997a7ce029f27403adc57 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Aug 28 17:55:49 2015 -0400 i40e/i40evf: add wait states to NVM state machine This adds wait states to the NVM update state machine to signify when waiting for an update operation to finish, whether we're in the middle of a set of Write operations, or we're now idle but waiting. Change-ID: Iabe91d6579ef6a2ea560647e374035656211ab43 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 0af8e9db2ce93d17c25a0ff0a044dfebf66ea5af Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Aug 28 17:55:48 2015 -0400 i40e/i40evf: add GetStatus command for nvmupdate This adds a new GetStatus command so that the NVM update tool can query the current status instead of doing fake write requests to probe for readiness. Change-ID: I671ec6ccd4dfc9dbac3a03b964589d693fda5cd8 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 6b5c1b89c37791d89eac5f276cc095acf4f8ab6b Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Aug 28 17:55:47 2015 -0400 i40e/i40evf: add handling of writeback descriptor If the writeback descriptor buffer was previously created, this gives it to the AQ command request to be used to save the results. Change-ID: I8c8a1af81e6ebed6d0a15ed31697fe1a6c4e3708 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 87db27a9e21fdeb20f77a024b30b406915e083d6 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Aug 27 11:42:42 2015 -0400 i40e/i40evf: save aq writeback for future inspection Add the ability to save the AdminQ write back descriptor if a caller supplies a buffer for it to be saved into. Change-ID: I3d1301d26360b39a2d66dc8569e851f54133a3af 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 79afe839ab1a5e1e9232845f430d5c500e956e8d Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 23 16:54:33 2015 -0400 i40e: rename variable to prevent clash of understanding This code returns something that becomes the errno value from ethtool and passes around a pointer to an errno variable. This patch changes the name slightly to differentiate it from the actual user errno variable. Change-ID: Idaa37845c069e66f4cea072e90f471bb2142454d Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bbe8373138a1fe92160a18418e7298b4c0128ff1 Merge: a2f23e0 be10de0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 17 17:18:38 2015 -0700 Merge branch 'nf_hook_netns' Eric W. Biederman says: ==================== Passing net through the netfilter hooks My primary goal with this patchset and it's follow ups is to cleanup the network routing paths so that we do not look at the output device to derive the network namespace. My plan is to pass the network namespace of the transmitting socket through the output path, to replace code that looks at the output network device today. Once that is done we can have routes with output devices outside of the current network namespace. Which should allow reception and transmission of packets in network namespaces to be as fast as normal packet reception and transmission with early demux disabled, because it will same code path. Once skb_dst(skb)->dev is a little better under control I think it will also be possible to use rcu to cleanup the ancient hack that sets dst->dev to loopback_dev when a network device is removed. The work to get there is a series of code cleanups. I am starting with passing net into the netfilter hooks and into the functions that are called after the netfilter hooks. This removes from netfilter the need to guess which network namespace it is working on. To get there I perform a series of minor prep patches so the big changes at the end are possible to audit without getting lost in the noise. In particular I have a lot of patches computing net into a local variable and then using it through out the function. So this patchset encompases removing dead code, sorting out the _sk functions that were added last time someone pushed a prototype change through the post netfilter functions. Cleaning up individual functions use of the network namespace. Passing net into the netfilter hooks. Passing net into the post netfilter functions. Using state->net in the netfilter code where it is available and trivially usable. Pablo, Dave I don't know whose tree this makes more sense to go through. I am assuming at least initially Pablos as netfilter is involved. From what I have seen there will be a lot of back and forth between the netfilter code paths and the routing code paths. The patches are also available (against 4.3-rc1) at: git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/net-next.git master ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be10de0a322ded7701a4dcce4a0ba83b3bbf42e5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Sep 17 17:21:31 2015 -0500 netfilter: Add blank lines in callers of netfilter hooks In code review it was noticed that I had failed to add some blank lines in places where they are customarily used. Taking a second look at the code I have to agree blank lines would be nice so I have added them here. Reported-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c4b51f0054ce85c0ec578ab818f0631834573eb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:18 2015 -0500 netfilter: Pass net into okfn This is immediately motivated by the bridge code that chains functions that call into netfilter. Without passing net into the okfns the bridge code would need to guess about the best expression for the network namespace to process packets in. As net is frequently one of the first things computed in continuation functions after netfilter has done it's job passing in the desired network namespace is in many cases a code simplification. To support this change the function dst_output_okfn is introduced to simplify passing dst_output as an okfn. For the moment dst_output_okfn just silently drops the struct net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9dff2c966a0a79a4222553a851f17e679fc28a43 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:17 2015 -0500 netfilter: Use nf_hook_state.net Instead of saying "net = dev_net(state->in?state->in:state->out)" just say "state->net". As that information is now availabe, much less confusing and much less error prone. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29a26a56803855a79dbd028cd61abee56237d6e5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:16 2015 -0500 netfilter: Pass struct net into the netfilter hooks Pass a network namespace parameter into the netfilter hooks. At the call site of the netfilter hooks the path a packet is taking through the network stack is well known which allows the network namespace to be easily and reliabily. This allows the replacement of magic code like "dev_net(state->in?:state->out)" that appears at the start of most netfilter hooks with "state->net". In almost all cases the network namespace passed in is derived from the first network device passed in, guaranteeing those paths will not see any changes in practice. The exceptions are: xfrm/xfrm_output.c:xfrm_output_resume() xs_net(skb_dst(skb)->xfrm) ipvs/ip_vs_xmit.c:ip_vs_nat_send_or_cont() ip_vs_conn_net(cp) ipvs/ip_vs_xmit.c:ip_vs_send_or_cont() ip_vs_conn_net(cp) ipv4/raw.c:raw_send_hdrinc() sock_net(sk) ipv6/ip6_output.c:ip6_xmit() sock_net(sk) ipv6/ndisc.c:ndisc_send_skb() dev_net(skb->dev) not dev_net(dst->dev) ipv6/raw.c:raw6_send_hdrinc() sock_net(sk) br_netfilter_hooks.c:br_nf_pre_routing_finish() dev_net(skb->dev) before skb->dev is set to nf_bridge->physindev In all cases these exceptions seem to be a better expression for the network namespace the packet is being processed in then the historic "dev_net(in?in:out)". I am documenting them in case something odd pops up and someone starts trying to track down what happened. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04eb44890e5bb3cc855e5c0f18a05eb7311364b7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:15 2015 -0500 bridge: Add br_netif_receive_skb remove netif_receive_skb_sk netif_receive_skb_sk is only called once in the bridge code, replace it with a bridge specific function that calls netif_receive_skb. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2d74cf88c625bfa723c5ffb79885c852ee1f46b Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:14 2015 -0500 bridge: Cache net in br_nf_pre_routing_finish This is prep work for passing net to the netfilter hooks. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6532948b2e7b75895c1264967342ae61dc97b4a6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:13 2015 -0500 bridge: Pass net into br_nf_push_frag_xmit When struct net starts being passed through the ipv4 and ipv6 fragment routines br_nf_push_frag_xmit will need to take a net parameter. Prepare br_nf_push_frag_xmit before that is needed and introduce br_nf_push_frag_xmit_sk for the call sites that still need the old calling conventions. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d4df0b9300a2623559a8f616a152312454cada1 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:12 2015 -0500 bridge: Pass net into br_nf_ip_fragment This is a prep work for passing struct net through ip_do_fragment and later the netfilter okfn. Doing this independently makes the later code changes clearer. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit adb28c9d3371c845c7a28bfd4fb163aca0d0dc37 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:11 2015 -0500 ipv6: Compute net once in raw6_send_hdrinc Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19a0644ca31c7e22abdb4058ea013f1f7abf7327 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:10 2015 -0500 ipv6: Cache net in ip6_output Keep net in a local variable so I can use it in NF_HOOK_COND when I pass struct net to all of the netfilter hooks. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78126c41907e999979635855b6b1b24aa46f53d8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:09 2015 -0500 ipv6: Only compute net once in ip6_finish_output2 Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9865249fd19d1416f70aa73ac7f214cbee4f6b51 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:08 2015 -0500 ipv6: Don't recompute net in ip6_rcv Avoid silly redundant code Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b4aa3cec4873005a0d5155395b34641584b3a4e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:07 2015 -0500 net: Remove dev_queue_xmit_sk A function with weird arguments that it will never use to accomdate a netfilter callback prototype is absolutely in the core of the networking stack. Frankly it does not make sense and it causes a lot of confusion as to why arguments that are never used are being passed to the function. As I am preparing to make a second change to arguments to the okfn even the names stops making sense. As I have removed the two callers of this function remove this confusion from the networking stack. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f19c578df80ad2e6b2bd9af63aa0af4bcc7470e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:06 2015 -0500 bridge: Introduce br_send_bpdu_finish The function dev_queue_xmit_skb_sk is unncessary and very confusing. Introduce br_send_bpdu_finish to remove the need for dev_queue_xmit_skb_sk, and have br_send_bpdu_finish call dev_queue_xmit. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9e4306fd87c6ff08c9a94212d84a23c16395843 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:05 2015 -0500 arp: Introduce arp_xmit_finish The function dev_queue_xmit_skb_sk is unncessary and very confusing. Introduce arp_xmit_finish to remove the need for dev_queue_xmit_skb_sk, and have arp_xmit_finish call dev_queue_xmit. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 244ba779855c2ccbb843444c2dce952ca8c1a78e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:04 2015 -0500 ipv6: Only compute net once in ip6mr_forward2_finish Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 758ccac8e7419ae746bcda807919a547ed9cdaad Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:03 2015 -0500 ipv4: Only compute net once in ipmr_forward_finish Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38184b3b073bf588d809d3b2fb7370264357c289 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:02 2015 -0500 ipv4: Only compute net once in ip_rcv_finish Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ba1bf42920b778c8c884e694e8e2aa6486c2b31 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:01 2015 -0500 ipv4: Only compute net once in ip_finish_output2 Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9479b0af489c836cc0d04b01ee5a7d48d79d3d51 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:00 2015 -0500 ipv4: Explicitly compute net in ip_fragment Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26a949dbd5595b987bf199be4442136e9288a93e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:59 2015 -0500 ipv4: Only compute net once in ip_do_fragment Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc4c851e4b41d668075d7cb6c71e3725bc5d4662 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:58 2015 -0500 ipv4: Don't recompute net in ipmr_queue_xmit Calling dev_net(dev) for is just silly. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88f5cc245849df73c353f7bb46e9e5749469f6d3 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:57 2015 -0500 ipv4: Remember the net in ip_output and ip_mc_output This is a prepatory patch to passing net int the netfilter hooks, where net will be used again. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e707766ce0ca65084b60a275a7c1a9863207cfa6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:56 2015 -0500 ipv4: Compute net once in ip_rcv Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8e1ac7912700914e4d6d129d38ecbcff8e4f4c4 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:55 2015 -0500 ipv4: Compute net once in ip_forward_finish Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fcad0ac2da05d5ed443acee7abd69e24e69037ca Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:54 2015 -0500 ipv4: Compute net once in ip_forward Compute struct net from the input device in ip_forward before it is used. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a70649e0dae02ba5090540fffce667d2300bc5a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:53 2015 -0500 net: Merge dst_output and dst_output_sk Add a sock paramter to dst_output making dst_output_sk superfluous. Add a skb->sk parameter to all of the callers of dst_output Have the callers of dst_output_sk call dst_output. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6568b2425daffc7b21ae63b6601b57ae14b5cb8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:52 2015 -0500 xfrm: Remove unused afinfo method init_dst Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a7735044e1eab1415697b3139e758d24a600099 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:51 2015 -0500 netfilter: Pass net to nf_hook_thresh Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b11b1f652dccde707d568f4012b01a8ec5bd5f57 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:50 2015 -0500 netfilter: Store net in nf_hook_state Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb884253a919148677c5bf347ffb62c539370440 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:49 2015 -0500 netfilter: Remove !CONFIG_NETFITLER definition of nf_hook_thresh The !CONFIG_NETFILTER definition of nf_hook_thresh calls okfn when the CONFIG_NETFITLER defintion does not, making it buggy. As the !CONFIG_NETFILTER defintion of nf_hook_thresh is not used remove it rather than fix it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b98d74780ab70147d40400c36059c16c1aea4da Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:17 2015 +0200 ARM: shmobile: R-Mobile: Use CPG/MSTP Clock Domain attach/detach helpers The R-Mobile PM Domain driver manages both power domains and a clock domain. The clock domain part is very similar to the CPG/MSTP Clock Domain, which is used on shmobile SoCs without device power domains, except for the way how clocks suitable for power management are selected: - The former uses the first clock tied to the device through the NULL con_id, which is a relic from the legacy pm_clk_notifier-based method in drivers/sh/pm_runtime.c, - The latter looks for suitable clocks in DT, which is more future-proof. All platforms using this driver are now supported in DT-based ARM multi-platform builds only, hence switch to using the CPG/MSTP Clock Domain helpers. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e233d74c30f48108b7affb4e76bfc8f3c76b68ce Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:25:35 2015 +0200 clk: shmobile: mstp: Consider "zb_clk" suitable for power management Currently the CPG/MSTP Clock Domain code looks for MSTP clocks to power manage a device. Unfortunately, on R-Mobile APE6 (r8a73a4) and SH-Mobile AG5 (sh73a0), the Bus State Controller (BSC) is not power-managed by an MSTP clock, but by a plain CPG clock (zb_clk). Add a special case to handle this, so the clock is properly managed, and devices connected to the BSC work as expected. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a2f23e08b0861bd17109c1add000c4125a6c2dbc Merge: c4047f5 9adbac5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 17 16:50:36 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-15 This series contains updates to ixgbe and fm10k. Don fixes a ixgbe issue by adding checks for systems that do not have SFP's to avoid incorrectly acting on interrupts that are falsely interpreted as SFP events. Alex Williamson adds a fix for ixgbe to disable SR-IOV prior to unregistering the netdev to avoid issues with guest OS's which do not support hot-unplug or their hot-unplug is broken. Alex Duyck update the lowest limit for adaptive interrupt interrupt moderation to about 12K interrupts per second for ixgbe. This change increases the performance for ixgbe. Also fixed up fm10k to remove the optimization that assumed that all fragments would be limited to page size, since that assumption is incorrect as the TCP allocator can provide up to a 32K page fragment. Updated fm10k to add the MAC address to the list of values recorded on driver load. Fixes fm10k so that we only trigger the data path reset if the fabric is ready to handle traffic to avoid triggering the reset unless the switch API is ready for us. Jacob updates the fm10k driver to disable the service task during suspend and re-enable it after we resume. If we don't do this, the device could be UP when you suspend and come back from resume as DOWN. Also update fm10k to prevent the removal of default VID rules, and correctly remove the stack layers information of the VLAN, but then return to forwarding that VID as untagged frames. If we deleted the VID rules here, we would begin dropping traffic due to VLAN membership violations. Fixed fm10k to use pcie_get_minimum_link(), which is useful in cases where we connect to a slot at Gen3, but the slot is behind a bus which is only connected at Gen2. Updated fm10k to update the netdev permanent address during reinit instead of up to enable users to immediately see the new MAC address on the VF even if the device is not up. Adds the creation of VLAN interfaces on a device, even while the device is down for fm10k. Fixed an issue where we request the incorrect MAC/VLAN combinations, and prevents us from accidentally reporting some frames as VLAN tagged. Provided a couple of trivial fixes for fm10k to fix code style and typos in code comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4047f533f3cb1c57e82ad02f3aa7054406df648 Author: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxx> Date: Tue Sep 15 18:28:00 2015 -0300 net-sysfs: get_netdev_queue_index() cleanup Redo commit ed1acc8cd8c22efa919da8d300bab646e01c2dce. Commit 822b3b2ebfff8e9b3d006086c527738a7ca00cd0 ("net: Add max rate tx queue attribute") moved get_netdev_queue_index around, but kept the old version. Probably because of a reuse of the original patch from before Eric's change to that function. Remove one inline keyword, and no need for a loop to find an index into a table. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxx> Fixes: 822b3b2ebfff ("net: Add max rate tx queue attribute") Acked-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9e69c8c58eb8671e9f6cee728088e4c5abc9115 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:14 2015 +0200 arch/x86/intel-mid: 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> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Link: http://lkml.kernel.org/r/1438934377-4922-9-git-send-email-a.hajda@xxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0738eff14d817a02ab082c392c96a1613006f158 Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:21:22 2015 +0200 can: Allwinner A10/A20 CAN Controller support - Kernel module Kernel module for Allwinner A10/A20 CAN controller. Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 4366bd4fa8c46b61ec0a7d564bd978cfa882692b Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:21:19 2015 +0200 can: Allwinner A10/A20 CAN Controller support - Devicetree bindings Devicetree bindings for Allwinner A10/A20 CAN controller. Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit d24c8f24ea897ae89738b865a41b0a5d70137c46 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Thu Sep 10 21:26:04 2015 +0200 net: smc91x: convert pxa dma to dmaengine Convert the dma transfers to be dmaengine based, now pxa has a dmaengine slave driver. This makes this driver a bit more PXA agnostic. The driver was tested on pxa27x (mainstone) and pxa310 (zylonite), ie. only pxa platforms. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae1add247bf8c22facacbd818142f1f66e735802 Author: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Date: Tue Sep 15 18:30:36 2015 -0700 of: Check for overlap in reserved memory regions Any overlap in the reserved memory regions (those specified in the reserved-memory DT node) is a bug. These bugs might go undetected as long as the contested region isn't used simultaneously by multiple software agents, which makes such bugs hard to debug. Fix this by printing a scary warning during boot if overlap is detected. Signed-off-by: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 4f59d7119c7cb5f32ca91662a74c217ea7c4ddca Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Tue Aug 25 12:08:22 2015 +0800 of: to support binding numa node to specified device in devicetree For now, in function device_add, the new device will be forced to inherit the numa node of its parent. But this will override the device's numa node which configured in devicetree. Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 7001b3f960c66a7f3617da632564b35ddba39498 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Thu Sep 17 19:39:29 2015 +0300 clk: qcom: Add MSM8916 audio clocks Add support for the msm8916 audio clocks. This includes core bus, low-power audio and codec clocks. They are required for audio playback. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a2e8272f3f898bedfc78e20b373a9d7356e16608 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Thu Sep 17 19:39:28 2015 +0300 clk: qcom: Add MSM8916 gpu clocks Add support for the msm8916 BIMC (Bus Integrated Memory Controller) clocks that are needed for GPU. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d042877aa7a36e7a5e0bb8c60dcd86e939f205c9 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Thu Sep 17 19:39:27 2015 +0300 clk: qcom: Add support for RCGs with shared branches Some root clock generators may have child branches that are controlled by different CPUs. These RCGs require some special operations: - some enable bits have to be toggled when we set the rate; - if RCG is disabled we only cache the rate and set it later when enabled; - when the RCG is disabled, the mux is set to the safe source; Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Simplify recalc_rate implementation] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 93e71695daa654918fbe5b768cd8c5bca677df0c Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Thu Sep 17 19:39:26 2015 +0300 clk: qcom: Add MSM8916 iommu clocks Add support for the msm8916 TCU (Translation Control Unit) clocks that are needed for IOMMU. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ab5c342992cac7d1ddaf8a75a4dcab0d13718022 Merge: 90c5354 d34e210 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Sep 17 12:28:41 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: drivers: clk: st: Rename st_pll3200c32_407_c0_x into st_pll3200c32_cx_x clk: check for invalid parent index of orphans in __clk_init() commit 90c53547fcae9daf46265fd9e74adc4f936cd919 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 17 15:49:29 2015 +0200 clk: Remove unneeded semicolons There are cleary typo errors so can be removed. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 285547802936247adb77c192d08a1ddb97948bd6 Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:21:20 2015 +0200 can: Allwinner A10/A20 CAN Controller support - Defconfig Defconfig multi_v7 for Allwinner A10/A20 CAN driver Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit a918a7d2e3b14c9b33353bc2ef128ba53786eb40 Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:21:21 2015 +0200 can: Allwinner A10/A20 CAN Controller support - Defconfig Defconfig sunxi for Allwinner A10/A20 CAN driver Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b69d42b5c44bcfc1c73fe185d4644487f1bd3193 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:28 2015 +0300 spi: pxa2xx: Remove cr0 variable from struct chip_data There hasn't been need to carry chip->cr0 after SPI core started to validate speed_hz and bits_per_word transfer parameters. That effectively caused that pump_transfers() always recalculated it and practically chip->cr0 is used locally in setup() for debug prints only. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 196b0e2cf2373f43d7b0e8c1a63e9d528c06e1df Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:27 2015 +0300 spi: pxa2xx: Remove if statement that is always true in pump_transfers() This is continuation to previous commit by separating unindentation from variable removal done in previous commit. As said SPI core have validated both the speed_hz and bits_per_word and the if statement here evaluates always to true. Remove the test and unindent the code block accordingly. While at it remove also needless "cr0 = chip->cr0" as cr0 will be overwritten anyway and fix block comment style. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4f1474b3b786305d77c93c232f65d40018043e9f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:26 2015 +0300 spi: pxa2xx: Remove two variables from struct chip_data There is no need to carry spi->max_speed_hz and spi->bits_per_word from setup() in "struct chip_data" since pump_transfers() will anyway take the transfer parameters from "struct spi_transfer". This is since SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa14e47fc409390f1be92da679a365faef187937 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:25 2015 +0300 spi: spi-fsl-dspi: Remove duplicated register write SPI core makes sure that transfer speed is always set so code here writes the same register with the same value twice. Code has been doing this from the beginning. This looks to me some sort of copy paste error so I'm removing the second write. If this is not the case we can bring it back with a comment. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 55f9a0706f60df4639010c91d6f28ce6b2351179 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:24 2015 +0300 spi: dw: Remove test for non-zero spi->max_speed_hz Test for non-zero spi->max_speed_hz in dw_spi_setup() looks needless as spi_setup() defaults to master->max_speed_hz in case it is not set. This drivers sets the master->max_speed_hz based on max_freq data passed to it via dw_spi_add_host() call. I suppose things have already fallen apart if dw_spi_mmio_probe() or spi_pci_probe() ever passes zero max_freq. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0ed36990a93b23c4873c77cdc1423429e40ed469 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:23 2015 +0300 spi: dw: Remove needless if statements SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This allows to remove related if statements as they evaluate always to true and reduce indentation. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82f46c465149137a8d230b6c1e08c43bf6e32cdb Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 14 12:04:22 2015 -0700 Documentation: bindings: brcmstb: Document write-pairing Document the hif-cpubiuctrl node a bit more, and add a documentation entry for the optional "brcm,write-pairing" property. Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 6701212e86398622a05b85d87391646bf0e81bfc Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 4 17:50:11 2015 +0100 arm64: dts: Drop linux,pci-probe-only from the Seattle DTS The linux,pci-probe-only property mandates an argument to indicate whether or not to engage the "probe-only" mode, but the Seattle DTS just provides a naked property, which is illegal. Also, it turns out that the board is perfectly happy without probe-only, so let's drop this altogether. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> commit 705a7b474ed929a8c86733ad230dd9c820e84a7b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 4 17:50:10 2015 +0100 powerpc/PCI: Fix lookup of linux,pci-probe-only property When find_and_init_phbs() looks for the probe-only property, it seems to trust the firmware to be correctly written, and assumes that there is a parameter to the property. It is conceivable that the firmware could not be that perfect, and it could expose this property naked (at least one arm64 platform seems to exhibit this exact behaviour). The setup code the ends up making a decision based on whatever the property pointer points to, which is likely to be junk. Instead, switch to the common of_pci.c implementation that doesn't suffer from this problem and ignore the property if the firmware couldn't make up its mind. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a07245d14fcb0ac760bfc60fc3483b0619998867 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 4 17:50:09 2015 +0100 PCI: generic: Fix lookup of linux,pci-probe-only property When pci-host-generic looks for the probe-only property, it seems to trust the DT to be correctly written, and assumes that there is a parameter to the property. Unfortunately, this is not always the case, and some firmware expose this property naked. The driver ends up making a decision based on whatever the property pointer points to, which is likely to be junk. Switch to the common of_pci.c implementation that doesn't suffer from this problem. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit 1a344e9b7557a819b8143d7d7d4365b9694bb5e3 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Thu Sep 17 09:03:52 2015 -0700 ARM: dts: keystone: Add ti,keystone-spi for SPI Add ti,keystone-spi to the compatible field for the SPI node. This new entry insures that the proper prescaler limit is used for keystone devices Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit f81c11af617ca4bad5028e9e431feae8d4166bc7 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 4 17:50:08 2015 +0100 of/pci: Add of_pci_check_probe_only to parse "linux,pci-probe-only" Both pci-host-generic and Pseries parse the "linux,pci-probe-only" property to engage the PCI_PROBE_ONLY mode, and both have a subtle bug that can be triggered if the property has no parameter. Provide a generic, safe implementation that can be used by both. [bhelgaas: fold in #include <asm-generic/pci-bridge.h>] Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> commit 469eabb3aec03d9defed3462df743a223a5c8f54 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 13:19:45 2015 +0200 ata: pata_macio: 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. This patch adds the missing MODULE_DEVICE_TABLE() for OF to export that information so modules have the correct aliases built-in and autoloading works correctly. Link: https://lkml.org/lkml/2015/7/30/519 Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b07461a8e45b7a62ef7fb46e4f6ada66f63406a8 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Thu Sep 17 10:09:37 2015 -0500 PCI/AER: Clear error status registers during enumeration and restore AER errors might be recorded when powering-on devices. These errors can be ignored, so firmware usually clears them before the OS enumerates devices. However, firmware is not involved when devices are added via hotplug, so the OS may discover power-up errors that should be ignored. The same may happen when powering up devices when resuming after suspend. Clear the AER error status registers during enumeration and resume. [bhelgaas: changelog, remove repetitive comments] Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3f8958cf9aaaac8a2bfc7417cb87db757eeb4465 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:22 2015 +0300 spi: atmel: Remove needless bits_per_word and speed_hz tests SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This makes possible to remove two if statements and remove one code block that is never executed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76f67ea9bf27b045eacf8f1e148fd13149f51823 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:21 2015 +0300 spi: omap-100k: Rely on validations done by spi core SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This allows to remove a few if statements around per transfer bits_per_word and speed_hz tests as they evaluate always to true. Also defaulting word_len to 8 is needless since spi_setup() has already made sure spi->bits_per_word is 8 in case it is not set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 160f8d0691659b65a97494c151c95b1287c377ae Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:20 2015 +0300 spi: omap-uwire: Remove needless bits_per_word and speed_hz tests SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This allows to remove two needless tests from uwire_txrx() and uwire_setup_transfer(). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85c1912d44081173b9cd796955959a8201aa7a4e Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:19 2015 +0300 spi: mpc512x: Call mpc512x_psc_spi_transfer_setup() unconditionally SPI core validates both bits_per_word and speed_hz transfer parameters and thus the if statement here is needless as it will always call the mpc512x_psc_spi_transfer_setup(). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b07570628471777aabb5695284e1af4533e502da Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 15 08:26:36 2015 +0000 ASoC: add ak4613 support Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ce26d8137bc5c5b8371f91646bda969ed7f8b398 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Tue Sep 15 12:19:45 2015 +0000 Bluetooth: hci_qca: Coding style clean up Cleanup patch to fix spaces required reported by checkpatch Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 10bd9731cc7257a6f53c0a208003414d872d627e Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Sep 11 15:02:36 2015 +0000 Bluetooth: bt3c_cs: clean up obsolete functions simple_strtoul is obsolete, use kstrtoul instead reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8f9d02f470f48416444ac3a1eacecdd0f743f1a7 Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Thu Sep 10 17:07:00 2015 +0100 Bluetooth: Remove SCO fragments on connection close SCO packet reassembler may have a fragment of SCO packet, from previous connection, cached and not removed when SCO connection is ended. Packets from new SCO connection are then going to be attached to that fragment, creating an invalid SCO packets. Controllers like Intel's WilkinsPeak are always fragmenting SCO packet into 3 parts (#1, #2, #3). Packet #1 contains SCO header and audio data, others just audio data. if there is a fragment cached from previous connection, i.e. #1, first SCO packet from new connection is going to be attached to it creating packet consisting of fragments #1-#1-#2. This will be forwarded to upper layers. After that, fragment #3 is going to be used as a starting point for another SCO packet. It does not contain a SCO header, but the code expects it, casts a SCO header structure on it, and reads whatever audio data happens to be there as SCO packet length and handle. From that point on, we are assembling random data into SCO packets. Usually it recovers quickly as initial audio data contains mostly zeros (muted stream), but setups of over 4 seconds were observed. Issue manifests itself by printing on the console: Bluetooth: hci0 SCO packet for unknown connection handle 48 Bluetooth: hci0 SCO packet for unknown connection handle 2560 Bluetooth: hci0 SCO packet for unknown connection handle 12288 It may also show random handles if audio data was non-zeroed. Hcidump shows SCO packets with random length and handles. Few messages with handle 0 at connection creation are OK for some controllers (like WilkinsPeak), as there are SCO packets with zeroed handle at the beginning (possible controller bug). Few of such messages at connection end, with a handle looking sane (around 256, 512, 768 ...) is also OK, as these are last SCO packets that were assembled and sent up, before connection was ended, but were not handled in time. This issue may still manifest itself on WilkinsPeak as it sometimes, at SCO connection creation, does not send third fragment of first SCO packet (#1-#2-#1-#2-#3...). This is a firmware bug and this patch does not address it. Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f755247379912f1b855f05cb44e3e2b11abdee11 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 9 21:04:15 2015 +0200 Bluetooth: hci_intel: Enable IRQ wake capability We need to explicitly enable the IRQ wakeup mode to let the controller wake the system from sleep states (like suspend-to-ram). PM suspend/resume callbacks now call the generic intel device PM functions after enabling/disabling IRQ wake. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 30e945fb28a66bbbc00859540f79d08e76dec2e2 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 9 19:08:02 2015 +0200 Bluetooth: hci_intel: Give priority to LPM packets Change the way to insert LPM packets into the txq. Use skb_queue_head instead of skb_queue_tail to always prioritise LPM packets over potential tx queue content. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9def9afde77a298bfc6ad84a6c5a9e9523aa8bab Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sat Sep 5 12:27:59 2015 +0200 atusb: add handling for different chipnames This patch supports handling for printout different chipnames between atusb and rzusb. The rzusb contains an at86rf230 and atusb an at86rf231 transceiver. Cc: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c5080d42db1d5d5c57274bb4235d0e50fd3a3a6d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Sep 4 17:08:18 2015 +0200 Bluetooth: Fix typo in smp_ah comment for hash function Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6cc4396c8829cb65e0cf182c8a13ce6b2ac66a88 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:35:44 2015 +0200 Bluetooth: hci_bcm: Add wake-up capability Retrieve the Interruption used by BCM device, which can be declared as Interruption or GpioInt in the ACPI table. Retrieve IRQ polarity from the ACPI table to use it for host_wake_active parameter of Setup Sleep vendor specific command. Configure BCM device to wake-up the host. Enable IRQ wake while suspended. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e924d3d65aeef31733a84d16e3fe72531b0494b4 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Fri Sep 4 17:54:36 2015 +0200 Bluetooth: btusb: Use btintel_load_ddc_config for device config btintel_load_ddc_config is now part of btintel. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1cfbabdd11b32b6312a239a80583bbc09e1c3461 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Fri Sep 4 17:54:35 2015 +0200 Bluetooth: hci_intel: Add Device configuration Apply DDC parameters once controller is in operational mode. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 145f2368c5fd7962e37315ccc092670743019d08 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Fri Sep 4 17:54:34 2015 +0200 Bluetooth: btintel: Add Device Configuration support btintel_load_ddc_config retrieves the ddc file and sends its content via DDC commands (opcode 0xfc8b). The ddc file should contain one or more DDC structures. A DDC structure is composed of the folowing fields: field: | DDC LEN | DDC ID | DDC VALUE | size: | 1 byte | 2 bytes | DDC LEN - 2 | Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a9cb0fe4895cae95b49934af6fdcc54aa04e723d Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Fri Sep 4 17:39:25 2015 +0200 Bluetooth: hci_intel: Fix warnings due to unused lpm functions intel_lpm_suspend/resume are only used in case of CONFIG_PM. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0eee53cdd985772284a14b21088e7677aeca45f9 Author: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Date: Thu Sep 3 23:08:45 2015 +0200 Bluetooth: btintel: fix warning Fix compilation the following compilation warning, which happens when CONFIG_BT_INTEL is not set: drivers/bluetooth/btintel.h:98:13: warning: â??btintel_version_infoâ?? defined but not used [-Wunused-function] static void btintel_version_info(struct hci_dev *hdev, struct intel_version *ver) ^ Signed-off-by: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bfe08a875a8903c0abb1ef5d57722252d14ede2e Author: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Date: Thu Sep 3 16:31:35 2015 +0200 ieee802154: af_ieee802154: fix typo in comment. Signed-off-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 29cd5ddc45d66ce41632a76bb4dc2ae37b88b9e6 Author: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Date: Thu Sep 3 16:31:34 2015 +0200 ieee802154: docs: fix project name to linux-wpan as well as some typos Signed-off-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5c3c4736370961a121994cffd87f4dddc95ea8f2 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Aug 27 21:49:20 2015 +0200 at86rf230: detailed edge triggered irq warning This patch introduce a more detailed information why edge triggered irq's are currently not recommended. It could be that rising/falling edge detection can happen while the irq is disabled. Suggested-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 493bc90a96839ffde5e6216c62c025d2f9e6efc3 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Aug 27 21:49:19 2015 +0200 at86rf230: add debugfs support This patch introduce debugfs support for collect trac status stats. To clear the stats ifdown the interface of at86rf230 and start the interface again. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ed4a26b0995baf10807ebb3f18fba3db2c6539fc Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Aug 27 21:49:18 2015 +0200 at86rf230: interrupt tx with force trx_off To abort a TX_ARET_BUSY state it's recommended to switch into TRX_OFF state by doing STATE_TRX_FORCE_OFF. This patch will do always a TRX_OFF state change when the transceiver stucks in any state. From TRX_OFF we can switch to the states which are also possible by TX_ON state. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 346ce4bbddfd40aa62b899db8982c728ed3d42a5 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Aug 27 21:49:17 2015 +0200 at86rf230: change trac status check behaviour When transmit is done, indicated by trx_end irq, we do first a force state change to TX_ON and then checking the trac status, if the trac status is unequal zero we do a state change to TRX_OFF. This patch changes to the following behaviour, we first check on trac status after trx_end occurs and then doing a normal change to TX_ON without do the state change to TRX_OFF when trac status is unequal zero. The reasons are that the datasheet doesn't described when the trac status register is cleared, we should doing to evaluate the trac status at first. The reason to remove the TRX_OFF change if the trac status is unequal to zero and it was force is the following paragraph inside The at86rf2xx datasheets: "Using FORCE_PLL_ON to interrupt an TX_ARET transaction, it is recommended to check register bits [7:5] of register address 0x32 for value 0. If this value is different, TRX_CMD sequence FORCE_TRX_OFF shall be used immediately followed by TRX_CMD sequence PLL_ON. This performs a state transition to PLL_ON." The meaning is here "to interrupt an TX_ARET transaction" in case of trx_end interrupt the "TX_ARET transaction" is already done and we don't interrupt the "TX_ARET transaction" by doing the change to TX_ON (PLL_ON) here. Additional I changed the force change to normal TX_ON which seems to work here. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a1d8d9a57c3389dc95698ad44284c13330235691 Author: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Date: Thu Sep 3 14:54:19 2015 +0200 ieee802154: 6lowpan: use correct ESC value for dispatch The ESC dispatch value has some history and it originally was 0x7f in rfc4944 (see section-5.1). With the release of rfc6282 this value got part of the LOWPAN_IPHC range and was no longer available for ESC. Instead 0x40 was used as replacement (see section-2 in rfc6282). We have been checking the dispatch byte in an order where IPHC would always be evaluated before ESC and thus we would never reach the ESC check as the IPHC range already covers this value. Signed-off-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 776857a87ccf1ae3095d9e16fbc8a0f9d1daac7e Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 20:05:42 2015 +0200 ieee802154: 6lowpan: fix drop return value This patch changes the return value of lowpan packet receive handler to the correct NET_RX_DROP instead RX_DROP. This issue was detected by sparse and reported from Marcel: net/ieee802154/6lowpan/rx.c:329:32: expected int net/ieee802154/6lowpan/rx.c:329:32: got restricted lowpan_rx_result ... Reported-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 187625e18498ff0f3738a059778a8578171f06c8 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:31 2015 +0200 ieee802154: 6lowpan: remove tx full-size calc workaround This patch removes a workaround for datagram_size calculation while doing fragmentation on transmit. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0c4349687fb6de660b24d3498d12e068f0320425 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:30 2015 +0200 ieee802154: 6lowpan: remove packet type to host This patch remove the packet_type to host and leave the mac pkt_type. By running 'grep -r "pkt_type" net/ipv6', the IPv6 stack will evaluate this value for PACKET_BROADCAST. Instead of overwriting this value we will leave the mac value there which is broadcasts if the mac frame was a broadcast frame. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 54552d03023cfd485cedf8d7471d1554139d58aa Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:29 2015 +0200 ieee802154: 6lowpan: check on valid 802.15.4 frame This patch adds frame control checks to check if the received frame is something which could contain a 6LoWPAN packet. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c6fdbba3eadd5af695c1290c59fe917ce8d9295f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:28 2015 +0200 ieee802154: 6lowpan: add check for reserved dispatch This patch adds checks for reserved dispatch value. When we have a reserved dispatch value we should drop the skb immediately. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ad663600e1a8e2db1c4343bae73836f793ff4e08 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:27 2015 +0200 ieee802154: 6lowpan: add handler for all dispatch values This patch adds dummy handlers for all known IEEE 802.15.4 dispatch values which prints a warning that we don't support these dispatches right now. Also we add a warning to the RX_CONTINUE case inside of lowpan_rx_handlers_result which should now never happend. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit faf7d36e5ecd16ab090c82d14bff31f7ab2f70e6 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:26 2015 +0200 ieee802154: 6lowpan: add generic lowpan header check This patch introduce an earlier check if a 6LoWPAN frame can be valid. This contains at first for checking if the header contains a dispatch byte and isn't the nalp dispatch value, which means it isn't a 6LoWPAN packet. Also we add a check if we can derference the dispatch value by checking if skb->len is unequal zero. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72a5e6bb5120d6464c9e7855c5a22555ede819dc Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:25 2015 +0200 ieee820154: 6lowpan: dispatch evaluation rework This patch complete reworks the evaluation of 6lowpan dispatch value by introducing a receive handler mechanism for each dispatch value. A list of changes: - Doing uncompression on-the-fly when FRAG1 is received, this require some special handling for 802.15.4 lltype in generic 6lowpan branch for setting the payload length correct. - Fix dispatch mask for fragmentation. - Add IPv6 dispatch evaluation for FRAG1. - Add skb_unshare for dispatch which might manipulate the skb data buffer. Cc: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f801cf40243d8f81ac05aa7466d9d8b1e676ee7c Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:24 2015 +0200 ieee802154: 6lowpan: earlier skb->dev switch We should change the skb->dev pointer earlier to the lowpan interface Sometimes we call iphc_decompress which also use some netdev printout functionality. This patch will change that the correct interface will be displayed in this case, which should be the lowpan interface. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 742c3afe53c5d16fa62632c34f8e2273766d3052 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:23 2015 +0200 ieee802154: 6lowpan: trivial checks at first This patch moves some trivial checks at first before calling skb_share_check which could do some memcpy if the buffer is shared. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ad23d5b9da399c0ecbe58e16c6603c3fcdcafdbd Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:22 2015 +0200 ieee802154: 6lowpan: cleanup pull of iphc bytes This patch cleanups the pull of the iphc bytes. We don't need to check if the skb->len contains two bytes, this will be checked by lowpan_fetch_skb_u8. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 989d433dca558fda85e592fc675af2a59af88858 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:21 2015 +0200 ieee802154: 6lowpan: change if lowpan dev is running We don't need to check if the wpan interface is running because the lowpan_rcv is the packet layer receive handler for the wpan interface. Instead doing a check if wpan interface is running we should check if the lowpan interface is running before starting 6lowpan adaptation layer. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 348a882ea745039295e721ef00f1b46307fb1c88 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:20 2015 +0200 ieee802154: 6lowpan: remove EXPORT_SYMBOL This function is used internally inside of ieee802154 6lowpan module only and not outside of any other module. We don't need to export this function then. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 56aeaddfbc874123c88e5b058b068ce8fca71dcd Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:19 2015 +0200 ieee802154: 6lowpan: remove set to zero Internal mechanism by calling netdev_alloc which use kzalloc already sets these variables to zero. This patch cleanup the setup of net_device. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2c88b5283f60d09d41b9fe03351c0d2e8eef904f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:18 2015 +0200 ieee802154: 6lowpan: remove check on null This patch removes one check on null which should be already done by checking before for ARPHRD_IEEE802154. All ARPHRD_IEEE802154 and ARPHRD_IEEE802154_MONITOR should have wdev->ieee802154_ptr, where ARPHRD_IEEE802154 is currently a node interface only. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 90997af7e9dc47cb12afd4170ee0d3541fb09400 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:17 2015 +0200 ieee802154: 6lowpan: register packet layer while open This patch moves the open count handling while doing open of a lowpan interface. We need the packet handler register at first when one lowpan interface is up. There exists a small case when all lowpan interfaces are down and the 802154 packet layer is still registered. To reduce some overhead we will register the packet layer when the first lowpan interface comes up and unregister when the last interface will become down. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f4606583fd8dcf15a07060dbd45a3e369144a934 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:16 2015 +0200 ieee802154: 6lowpan: change dev vars to wdev and ldev Inside the IEEE 802.15.4 6LoWPAN subsystem we use two interfaces which are wpan and lowpan interfaces. Instead of using always the variable name "dev" for both we rename the "dev" variable to wdev which means the wpan net_device and ldev which means a lowpan net_device. This avoids confusing and always looking back to see which net_device is meant by the variable name "dev". Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 517a5460a93d641e2beb362d4066f9861f108e2f Author: Kieran Bingham <kieranbingham@xxxxxxxxx> Date: Wed Sep 2 13:51:10 2015 +0100 Bluetooth: btmrvl: skb resource leak, and double free. if btmrvl_tx_pkt() is called, and the branch if (skb_headroom(skb) < BTM_HEADER_LEN) evaluates positive, a new skb is allocated via skb_realloc_headroom. The original skb is stored in a tmp variable, before being free'd. However on success, the new skb, is not free'd, nor is it returned to the caller which will then double-free the original skb. This issue exists from the original driver submission in commit: #132ff4e5fa8dfb71a7d99902f88043113947e972 If this code path had been alive, it would have been noted from the double-free causing a panic. All skb's here should be allocated through bt_skb_alloc which adds 8 bytes as headroom, which is plenty against the 4 bytes pushed on by this driver. This code path is dead, and buggy at the same time, so the cleanest approach is to remove the affected branch. Reported by coverity (CID 113422) Signed-off-by: Kieran Bingham <kieranbingham@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6b3cc1db68ac83647d37f7d16f0261621eda24aa Author: Simon Fels <simon.fels@xxxxxxxxxxxxx> Date: Wed Sep 2 12:10:12 2015 +0200 Bluetooth: close HCI device when user channel socket gets closed With 9380f9eacfbbee701daa416edd6625efcd3e29e1 the order of unsetting the HCI_USER_CHANNEL flag of the HCI device was reverted to ensure the device is first closed before making it available again. Due to hci_dev_close checking for HCI_USER_CHANNEL being set on the device it was never really closed and was kept opened. We're now calling hci_dev_do_close directly to make sure the device is correctly closed and we keep the correct order to unset the flag on our device object. Signed-off-by: Simon Fels <simon.fels@xxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1b1975749f856946f716180ca94db52fb1ae3500 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 2 12:04:14 2015 +0200 Bluetooth: hci_intel: Show error in case of invalid LPM packet size Don't hide this packet size error. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 74cdad37cd2410c5cec2160d031e04577948aff0 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 2 12:04:13 2015 +0200 Bluetooth: hci_intel: Add runtime PM support Implement runtime PM suspend/resume callbacks. If LPM supported, controller is put into supsend after a delay of inactivity (1s). Inactivity is based on LPM idle notification and host TX traffic. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit aa6802df09fe324c2c19d75ab1a9a001cd7e4d4a Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 2 12:04:12 2015 +0200 Bluetooth: hci_intel: Add PM support Add PM suspend/resume callbacks which call lpm_suspend/resume. Add LPM ack in threaded IRQ handler to notify the controller that resume is complete. Protect hci_uart against concurrent removing during suspend/resume. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 894365468ed4a569ece9de03abbf13f1af3042b8 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 2 12:04:11 2015 +0200 Bluetooth: hci_intel: Implement LPM suspend/resume Add LPM PM suspend/resume/host_wake LPM functions. A LPM transaction is composed with a LPM request and ack/response. Host can send a LPM suspend/resume request to the controller which should respond with a LPM ack. If resume is requested by the controller (irq), host has to send a LPM ack once resumed. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 65ad07c9e5f3935a06517c007e90d2b2ef4829ac Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Sep 1 12:13:36 2015 +0200 Bluetooth: hci_bcm: Use bt_dev logging helpers Replace BT_ logging calls by the new bt_dev ones. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bb3ea16a44c648cd5ebcf3cc88dd522f432063ab Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Sep 1 12:13:35 2015 +0200 Bluetooth: hci_bcm: Replace spinlock by mutex Replace spinlock by mutex to be able to use bcm_device_lock in sleepable context like devm_request_threaded_irq or upcomming PM support. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f81b001a3e1c7ac42ba734de8d136a14ccb087c0 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Aug 30 23:05:32 2015 +0200 Bluetooth: hci_qca: Fix a few tab vs spaces issues Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 67c8bde04d8587a57112993d1342c62b851b0756 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Mon Aug 31 18:34:31 2015 +0200 Bluetooth: hci_intel: Replace spinlock with mutex Replace the device_intel list spinlock with a mutex. devm_request_threaded_irq is not atomic and upcomming PM support should be simpler. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f44e78a5fc5b103e4d7b04480365a128ca9184ee Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Mon Aug 31 18:34:30 2015 +0200 Bluetooth: hci_intel: Use bt_dev logging helpers Replace BT_ logging calls by the new bt_dev ones. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b98469f4be5f606339233fe2da9586e2a7067ffe Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Sat Aug 29 13:38:19 2015 +0200 Bluetooth: hci_intel: Introduce LPM support Enable controller Low-Power-Mode if we have a pdev to manage host wake-up. Once LPM is enabled, controller notifies its TX status via a vendor specific packet (tx_idle/tx_active). tx_active means that there is more data upcoming from controller. tx_idle means that controller can be put in suspended state. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 765ea3abd116fc6dc5f67d73fcd7010a7a88f3cc Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Sat Aug 29 13:38:18 2015 +0200 Bluetooth: hci_intel: Retrieve host-wake IRQ An IRQ can be retrieved from the pdev resources. This irq will be used in case of LPM suspend mode to wake-up the host and resume the link. This resource can be declared as a GPIO-Interrupt which requires to be converted into IRQ. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6f558b70fb39fc8272fc513ecf191b3ad87d867b Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Sun Aug 30 18:16:55 2015 +0200 Bluetooth: Add bt_dev logging macros Add specific bluetooth device logging macros since hci device name is repeatedly referred in bluetooth subsystem logs. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6cafcd959599d91d0fa4615feae7f1e7ab407c4b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sun Aug 30 21:47:21 2015 +0300 Bluetooth: btusb: Detect new kind of counterfeit CSR controllers Controllers claiming to be CSR with LMP subversion 0x0c5c don't actually seem to be authentic CSR controllers. They also don't have their USB bcdDevice value matching the LMP subversion like all other CSR controllers: HCI: > HCI Event: Command Complete (0x0e) plen 12 Read Local Version Information (0x04|0x0001) ncmd 1 Status: Success (0x00) HCI version: Bluetooth 2.0 (0x03) - Revision 3164 (0x0c5c) LMP version: Bluetooth 2.0 (0x03) - Subversion 3164 (0x0c5c) Manufacturer: Cambridge Silicon Radio (10) USB: T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=16 #Cfgs= 1 P: Vendor=0a12 ProdID=0001 Rev= 1.34 C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA 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 These controllers also have the HCI_Read_Stored_Link_Key command broken so it's important the right quirk is set for them. Reported-and-tested-by: Rhobison Alves Pereira <rhobison@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e81be90bdafa48389028249c357a4efcd0fdce53 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sun Aug 30 21:47:20 2015 +0300 Bluetooth: Use BROKEN_STORED_LINK_KEY quirk for HCI_Read_Stored_Link_Key Some counterfeit CSR controllers also have broken behavior with the HCI_Read_Stored_Link_Key command: < HCI Command: Read Stored Link Key (0x03|0x000d) plen 7 Address: 00:00:00:00:00:00 (OUI 00-00-00) Read all: 0x01 > HCI Event: Command Complete (0x0e) plen 8 Read Stored Link Key (0x03|0x000d) ncmd 1 Status: Unsupported Feature or Parameter Value (0x11) Max num keys: 0 Num keys: 0 Extend the existing HCI_QUIRK_BROKEN_STORED_LINK_KEY to be also used for this HCI command. Reported-and-tested-by: Rhobison Alves Pereira <rhobison@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5af82fa66a7ee8dfc29fadb487a02e2ef14ea965 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Wed Sep 9 11:34:37 2015 +0300 ath10k: add ATH10K_FW_FEATURE_RAW_MODE_SUPPORT to ath10k_core_fw_feature_str[] This was missed in the original commit adding the flag and ath10k only printed "bit10": ath10k_pci 0000:02:00.0: qca988x hw2.0 (0x4100016c, 0x043202ff) fw 10.2.4.70.6-2 api 3 htt-ver 2.1 wmi-op 5 htt-op 2 cal otp max-sta 128 raw 0 hwcrypto 1 features no-p2p,bit10 Also add a build test to avoid this happening again. Fixes: ccec9038c721 ("ath10k: enable raw encap mode and software crypto engine") Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b263d20373d7726dd3ac0cd5e32f123e69a02847 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Aug 18 15:14:06 2015 -0700 regulator: Introduce property to flag set-load support Introduce "regulator-allow-set-load" property to make it possible to flag in the board configuration that a regulator is allowed to have the load requirements changed. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c15f6ed3a18f10cdc33f64906ab353f17a6df114 Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Mon Aug 17 11:52:54 2015 +0800 spi: bitbang: Replace spinlock by mutex chipselect (in the case of spi-gpio: spi_gpio_chipselect, which calls gpiod_set_raw_value_cansleep) can sleep, so we should not hold a spinlock while calling it from spi_bitbang_setup. This issue was introduced by this commit, which converted spi-gpio to cansleep variants: d9dda5a191 "spi: spi-gpio: Use 'cansleep' variants to access GPIO" Replacing the lock variable by a mutex fixes the issue: This is safe as all instances where the lock is used are called from contexts that can sleep. Finally, update spi-ppc4xx and and spi-s3c24xx to use mutex functions, as they directly hold the lock for similar purpose. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9713e3de801eb9c2dd2221ba8c1dddd5bc7ba360 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 3 10:44:52 2015 +0200 ath10k: handle IEEE80211_CHANCTX_CHANGE_WIDTH properly Vdevs associated with a given chanctx should be restarted if the bandwidth changes. Otherwise traffic may cease. This is known to fix STA CSA with bandwidths wider than 20MHz. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7be6d1b7625ab20e1dfde07a0c6dc77784efbb48 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 3 10:44:51 2015 +0200 ath10k: split switch_vif_chanctx guts This is necessary to make vdev restarting logic reusable later. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 634349bae0b2a23f71cabbdb770d35fffc1aad8c Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 3 10:43:45 2015 +0200 ath10k: move hw_scan worker queuing The remain_on_channel callback needs different timeout. Calling ieee80211_queue_work() with a shorter delay after calling it with a longer delay will not change the timer. This caused the offchannel timeout worker to not trigger in time and caused the device to stay on channel longer then expected. This could cause some problems and was be easily reproduced with `iw offchannel` command. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b6c7bafa7d4b1398cce93e4af0a48603919fa933 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Wed Sep 9 12:47:36 2015 -0400 ath10k: implement mesh support Add support for mesh to ath10k. We simply use an AP virtual interface in the firmware in order to enable beaconing without TSF adoption, and use the raw (802.11) transmit mode. Due to firmware limitations, the firmware must operate in raw (non-native 802.11) mode. As this is configured at firmware init time, a new "rawmode" modparam is added, and mesh interfaces are available only if rawmode=true. The firmware must advertise support for rawmode; tested successfully with firmware 10.2.4.70.6-2. When the module is loaded with (newly implemented) modparam rawmode=1, it will enable operating an open mesh STA via something like the following: ip link set wlan0 down iw dev wlan0 set type mp ip link set wlan0 up iw dev wlan0 set freq 5745 80 5775 iw dev wlan0 mesh join mesh-vht Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bc76c28719d4333248a516fd4d469ab741b44b63 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Wed Sep 9 12:47:35 2015 -0400 ath10k: check for encryption before adding MIC_LEN In the case of raw mode without nohwcrypt parameter, we should still make sure the frame is protected before adding MIC_LEN to avoid skb_under_panic errors. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0d031c8995bcc065f9c5778069f2131f7d92d4d5 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Wed Sep 9 12:47:34 2015 -0400 ath10k: enable monitor when OTHER_BSS requested By default, ath10k restricts received frames to those matching BSSID. When other BSS frames are requested (e.g. in mesh mode), add an internal monitor device so those frames are not filtered. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a650fdd9427f1f5236f83d2d8137bea9b452fa53 Author: Guo Zeng <Guo.Zeng@xxxxxxx> Date: Thu Sep 17 05:23:21 2015 +0000 regmap: irq: add ack_invert flag for chips using cleared bits as ack An user will be CSR SiRFSoC ARM chips. Signed-off-by: Guo Zeng <Guo.Zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7b7d1968e4c8d8392e8e63906d45d0bcad079037 Author: Guo Zeng <Guo.Zeng@xxxxxxx> Date: Thu Sep 17 05:23:20 2015 +0000 regmap: irq: add support for chips who have separate unmask registers Some chips have separate unmask registers from mask registers for some consideration of concurrency SMP write performance. And this patch adds a flag for it. An user will be CSR SiRFSoC ARM chips. Signed-off-by: Guo Zeng <Guo.Zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 31f4f0c640bd2d144ab16666c76d45f173f952f5 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Sep 17 04:55:55 2015 +0800 ASoC: sunxi: fix platform_no_drv_owner.cocci warnings sound/soc/sunxi/sun4i-codec.c:708: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: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 14a998be08e5286741021d3c81cc81e8d6d8a270 Author: Jyri Sarha <jsarha@xxxxxx> Date: Thu Sep 17 10:39:05 2015 +0300 ASoC: davinci-mcasp: Get rid of bclk_lrclk_ratio in private data The slot_width is for essentially same thing. Instead of storing bclk_lrclk_ratio, just store the slot_width. Comments has been updated accordingly and some variable names changed to more descriptive. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8985729578cb42f9e781a8e38e5b6b1ee90c1018 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Thu Sep 17 10:47:33 2015 +0200 ASoC: qcom: change PTR_ERR argument Apply PTR_ERR to the value that was recently assigned. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x,y; @@ if (IS_ERR(x) || ...) { ... when any when != IS_ERR(...) ( PTR_ERR(x) | * PTR_ERR(y) ) ... when any } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c84e5917f83334f9196a50cfa31e72207b1a7f6 Author: Jyri Sarha <jsarha@xxxxxx> Date: Thu Sep 17 13:13:38 2015 +0300 ASoC: soc-core: Fix sparse warning in be32_to_cpup() call Store return value of of_get_property() to a pointer of __be32 type as device tree has big endian type. This fixes a sparse warning couple of lines later when be32_to_cpup() is used to convert from big endian to cpu endian. The whole conversion is not really necessary, as we are only checking if the value is zero or not, but I wanted to add it to remind in the future that the data has to be converted before use. Compiler should optimize the unnecessary operations away. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ccaadda319ffa42385d8eabde0efc3c544bebce3 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 10:45:24 2015 +0100 ASoC: wm5110: Add additional analogue input enable for early revs Earlier revisions of the wm5110/8280 silicon require a slightly more complex procedure to enable analogue inputs. This patch adds this into the driver. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eb120ef6a3e18780e7464e7de70221d06dfe5845 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Tue Sep 15 14:19:32 2015 -0700 drm/i915: add more debug info for when atomic updates fail v3 I used these additional fields to track down the issue I saw on HSW. v2: move debug fields into a substruct (Ville) v3: clean up debug code more (Ville) References: https://bugs.freedesktop.org/show_bug.cgi?id=91579 Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d9072a3e80bd0f2e95d6a452987899039ba808ed Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Sep 15 05:58:44 2015 -0700 drm/i915: fix kernel-doc warnings in i915_gem.c Fix the following 'make htmldocs' warnings: .//drivers/gpu/drm/i915/i915_gem.c:1729: warning: No description found for parameter 'vma' .//drivers/gpu/drm/i915/i915_gem.c:1729: warning: No description found for parameter 'vmf' .//drivers/gpu/drm/i915/i915_gem.c:4962: warning: No description found for parameter 'old' .//drivers/gpu/drm/i915/i915_gem.c:4962: warning: No description found for parameter 'new' .//drivers/gpu/drm/i915/i915_gem.c:4962: warning: No description found for parameter 'frontbuffer_bits' Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 0063fdfb12b4cafd98846a61ac600376dc1d2693 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Fri Sep 11 03:29:09 2015 -0400 staging: rtl8192u: r8192U_core: fix comments lines over 80 characters Move, replace and reorganize comments to stay under 80 characters per line, as to follow the kernel code style. Some unuseful comments have been removed. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50fbb884e1afdb8f650b10e86e5975ca4ec53e6b Author: Marcos Canán <mcanan@xxxxxxxxx> Date: Wed Sep 16 17:48:57 2015 -0300 staging: comedi: drivers: coding style: fixed block comment style This is a patch to the drivers.c file that fixes a block comment style. Signed-off-by: Marcos Canán <mcanan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3083eb8fd7f6f72b67c7d7c99a15bfc37289a71 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:49 2015 -0400 staging: rtl8723au: Clean up getPowerBase() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 784e36838af091160b1f4917e8fc076ae0cf468e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:48 2015 -0400 staging: rtl8723au: TurboScanOff is always true Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36708d00b16d608801c34cf660afafdec1fdea91 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:47 2015 -0400 staging: rtl8723au: Tidy up SetTxPowerLevel8723A() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5241dc0198760e945aa94c9080e65aa49149aa4 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:46 2015 -0400 staging: rtl8723au: Fold getTxPowerIndex() into PHY_SetTxPowerLevel8723A() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b9283234e8f8f6195de37d38d4979900681e198 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:45 2015 -0400 staging: rtl8723au: Eliminate dummy ccxPowerIndexCheck() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96a98aa1fc59c8fb0cb3bd6445111a35beed6e1f Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:44 2015 -0400 staging: rtl8723au: Simplify eeprom content checking This eliminates the ugly Hal_EEValueCheck() function Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2602b2bf419c3e5a9fad74359bb553cb4f977953 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:26 2015 +0900 staging: wicl1000: remove function pointer wlan_handle_rx_que The function pointer wlan_handle_rx_que is not called anywhere. Delete wlan_handle_rx_que and it's assignment code. But the function wilc_wlan_handle_rxq in assignment code is used. So leave it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9af382bca5bfab2891199c69447217a6aa3ededc Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 16 20:11:27 2015 +0900 staging: wilc1000: replace INLINE with static inline INLINE macro is defined as static __inline so that it is replaced by static inline. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50b51dac4a4f26b815289d6f879eac9b77e786c1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 16 20:11:26 2015 +0900 staging: wilc1000: wilc_wlan.c: use BIT(x) macro Remove bit shift macro that is custom defined, then replace BIT(x) macro. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7ed06a3840c2db50094a7b377642202a6e71da5 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:27 2015 +0900 staging: wilc1000: remove unused variable rxq_thread The rxq_thread never runs since it's kthread_run code was delete in a previous patch. Remove kthread_run and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85718c2d6b7da8adc589889fae993e1aa4a4a9fa Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:25 2015 +0900 staging: wilc1000: remove unused semaphore and it's related codes Variable rxq_event, rxq_wait_event and rxq_wait have the same pointer. nwi->os_context.rxq_wait_event = (void *)&g_linux_wlan->rxq_event; g_wlan.rxq_wait = inp->os_context.rxq_wait_event; They are never aquired(down) since down function was only called in linux_wlan_rxq_task which was deleted in a previous patch. So delete variable rxq_event, rxq_wait_event, rxq_wait and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51f8a39911c3b7bf8466009eba87903d75d6192d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:24 2015 +0900 staging: wilc1000: remove variable rxq_thread_started rxq_thread_started is initiallized but never used in the driver. Remove the variable and init code line. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce25267907e15c8f69d54ba3fa02ae39aca7667f Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:23 2015 +0900 staging: wilc1000: remove function linux_wlan_rxq_task linux_wlan_rxq_task is not used in the driver. Just remove it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25a84832bb662fb2d9966b7d0f9301d93023a6cf Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:22 2015 +0900 staging: wilc1000: remove define TCP_ENHANCEMENTS and it's related code TCP_ENHANCEMENTS is always in use. Remove define TCP_ENHANCEMENTS, ifdef line, ifndef line and codes inside ifndef. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcc6ef9230373eeb0c6d897c22fef390378abc3b Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:21 2015 +0900 staging: wilc1000: remove define WILC_P2P and ifdef line WILC_P2P is always used in the driver. So delete define WILC_P2P and ifdef line. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 108b3439b7dd51687983d42e66532b9dbd3204d1 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:20 2015 +0900 staging: wilc1000: remove define WILC_AP_EXTERNAL_MLME and ifdef line This driver use WILC_AP_EXTERNAL_MLME define always. Delete define WILC_AP_EXTERNAL_MLME and ifdef line. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6569738ad547c6562c94254245a12aaaf2e375c4 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:36:04 2015 +0900 staging: wilc1000: remove wilc_errorsupport.h This patch removes the wilc_errorsupport.h which is not used anymore and also deletes #include "wilc_errorsupport.h" from the source code. In addition, adds linux_wlan_common.h file in the wilc_msgqueue.c file in order to use PRINT macros defined in the linux_wlan_common.h file. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6e12661d8e123667afc03a58fc2e90cd95c5e5e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:36:03 2015 +0900 staging: wilc1000: replace wilc error types with the generic error types This patch replaces the error types defined by wilc driver with the generic error types provided by the Linux kernel. - WILC_SUCCESS 0 - WILC_FAIL -EFAULT - WILC_BUSY -EBUSY - WILC_INVALID_ARGUMENT -EINVAL - WILC_INVALID_STATE -EINVAL - WILC_BUFFER_OVERFLOW -EOVERFLOW - WILC_NULL_PTR -EFAULT - WILC_TIMEOUT -ETIMEDOUT - WILC_NOT_FOUND -ENOENT - WILC_NO_MEM -ENOMEM After then removes all wilc definitions. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 559e1a04e2888331dae5f648cc097dd9f30172c7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:36:02 2015 +0900 staging: wilc1000: remove definitions unused Remove the definitions which are not used anywhere. - WILC_ALREADY_EXSIT - WILC_EMPTY - WILC_FULL - WILC_CANCELED - WILC_INVALID_FILE - WILC_UNSUPPORTED_VERSION - WILC_FILE_EOF Remove the definition which is not used anymore. - WILC_CATCH Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24db713fe5325917690c2c793a6321aa0b11a0c8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:36:01 2015 +0900 staging: wilc1000: remove the macro WILC_ERRORREPORT This patch removes the macro WILC_ERRORREPORT which is not used anymore by replacing it with the plain statements. The compiler complains the build warnings in some functions for WILC_CATCH and ERRORHANDLER as unused definitions. So, this patch also removes WILC_CATCH and ERRORHANDLER from some of functions. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dc1d0cc1ffa29aa11219ad7e31ae5f4dc443711 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:36:00 2015 +0900 staging: wilc1000: remove the macro WILC_ERRORCHECK This patch removes the macro WILC_ERRORCHECK which is not used anymore by replacing it with the plain statements. This patch also removes the WILC_CATCH macros from some of functions not to make the build warnings. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ae433631eacd0f0aaa749baef4c7f6baa5b3936 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:35:59 2015 +0900 staging: wilc1000: remove a macro WILC_NULLCHECK This patch replaces WILC_NULLCHECK with the plain statements and then removes the macro WILC_NULLCHECK in wilc_errorsupport.h which is not used anymore. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c116299cff0c3bf67d0c3a7880dee95212d22227 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:55 2015 +0900 staging: wilc1000: remove unused variable g_flushing_in_progress g_flushing_in_progress is never used so just delete it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57c111a472106bf75a4ac8ae525a41356f003861 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:54 2015 +0900 staging: wilc1000: coreconfigurator.h: remove unused defines The define MAX_PACKET_BUFF_SIZE and STATUS_MSG_LEN is not used in the driver. Delete two defines. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be6c212a6fc0ceb942600176258b2cb2ff9cc1d1 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:53 2015 +0900 staging: wilc1000: delete function declaration SendRawPacket SendRawpacket is declared but not implemented. It is not used also. So just delete it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 496a77257c67035fd56bf0faeb1a8251fc0c942a Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:52 2015 +0900 staging: wilc1000: remove unused variables Variable g_num_total_switches is never used so just remove it. gastrWIDs is also not used because g_num_total_switches is deleted. Remove gastrWIDs also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd33a8651e2cd248dfd9e519ebca535c5974be55 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:51 2015 +0900 staging: wilc1000: delete unused global variables. gstrConfigPktInfo, SemHandleSendPkt and SemHandlePktResp are never used in the drivers. So just delete the variables and it's related code. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b701da39edeaa6f3f209f76b8f965700090ad60f Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:50 2015 +0900 staging: wilc1000: remove unnecessary extern function declaration Function NetworkInfoReceived, GnrlAsyncInfoReceived and host_int_ScanCompleteReceived are declared in the header file already. Just removes the declaration and comments. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20f44491070376150a9e68860129786869eff4a6 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:49 2015 +0900 staging: wilc1000: remove unused defines This patch removes follwing unused defines. MAX_CFG_PKTLEN MSG_HEADER_LEN QUERY_MSG_TYPE WRITE_MSG_TYPE RESP_MSG_TYPE WRITE_RESP_SUCCESS INVALID MAC_ADDR_LEN Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d52979b3bbe4622b799c29cf2647b1d1e20d5336 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:48 2015 +0900 staging: wilc1000: remove unnecessary define FIVE_GHZ_BAND wilc1000 driver does not support five Ghz band. Remove FIVE_GHZ_BAND and it's related code. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d30244a032f2e05e5125b45f20648ebe7dec2798 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:47 2015 +0900 staging: wilc1000: remove useless define PHY_802_11n The define PHY_802_11n is useless because wilc1000 support 802.11n as always. Remove PHY_802_11n and it related code. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b4738c0b416b7578a09dde83ac02a1194b4d25f Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 16 10:43:46 2015 +0900 staging: wilc1000: remove PANDA_BOARD This patch removes one of the platform dependencies, PANDA_BOARD from the driver codes. The device tree will provide the platform dependencies in the future commits. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efc0cfa1341b9718b8bf295641e2bf909fe215ba Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Sep 15 14:28:18 2015 +0530 Staging: most: aim-network: Replace pr_info with netdev_info Use netdev_* family of macros when there is reference to a network device. dev->name is removed as netdev_info will print the device name Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2877f245cf13d4cc6be4dab149d3d2f239ce8cd6 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Wed Sep 16 19:51:56 2015 -0700 staging/lustre: use __noreturn for lbug_with_loc fixes sparse error: drivers/staging/lustre/lustre/libcfs/linux/linux-debug.c:149:6: error: symbol 'lbug_with_loc'redeclared with different type (originally declared at drivers/staging/lustre/lustre/libcfs/linux/../../../include/linux/libcfs/libcfs_private.h:82) - different modifiers Use the __noreturn macro instead of __attribute__((noreturn)) The macro is exactly that but its usage seems more common and it is bit more readable. Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59cfb96fcdcc53ead9ca2ef766e6bd91a09615eb Author: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Date: Wed Sep 16 17:12:21 2015 +0530 staging: lustre: lnet: lnet: Removed a space Removed a space to fix the following coding style warning detected by checkpatch: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1c4ad3a2e1fbd0ec0ae3ec16efe788df502adcd Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:10 2015 -0400 staging/lustre: Remove server defines from lustre_disk.h Take initial stab at removing server-disk related defines that client does not need. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa2d3e81a47ebbba0738c039dcc9df5045168cd9 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:09 2015 -0400 staging/lustre: remove IS_MDS|IS_OST|IS_MGS defines and users These could only happen on the server, so they make no sense on the client. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15b441cd9f7b802b38bf83c8bebabc7a69ec6fc5 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:08 2015 -0400 staging/lustre: Remove IS_SERVER and all users Since the client can never be server, this is all dead code. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bea5820d7ad868ba4e4096b259fd8d5a359f6feb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:07 2015 -0400 staging/lustre: remove obd_memory stats counter Now that we no longer track allocated memory, remove obd_memory statistics counter and all references to it everywhere Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ea9d6652b1e8d8f9299ec4dcfb9e20499923b2f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:06 2015 -0400 staging/lustre: Remove lustre used memory tracking framework Lustre memory allocation framework has a feature to track amount of allocated memory, but since it's not being used consistently anymore and is on the way out in general, just remove it. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 543d5f3d280748558e6f187e1805a16164d59dac Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:05 2015 -0400 staging/lustre: Remove memory allocation fault injection framework Lustre memory allocation wrappers also included a fault injection framework that's totally redundant, since in-kernel offering is actually superior to what we had. So let's remove it. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1708ad71433b01ed38fa5468bc0e8e95fc267fb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:04 2015 -0400 staging/lustre: Remove unused OBD_ALLOC* and OBD_FREE macros This removes now unused OBD_ALLOC, OBD_ALLOC_GFP, OBD_ALLOC_PTR, OBD_ALLOC_LARGE and supporting infrastructure. Also OBD_FREE, OBD_FREE_PTR, OBD_FREE_LARGE and supporting infrastructure. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35eaf88724f7cc37c3b2c112d3333b98cddabaf5 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:03 2015 -0400 staging/lustre: Remove stray bit of userland utils code The UTILS are userland and I see it's causing confusion with things beging already converted to kmalloc, so just remove it. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df29ca21143975d6ed11873fdf7e2248a6016ef0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:02 2015 -0400 staging/lustre: Replace last users of OBD_ALLOC/FREE_LARGE OBD_ALLOC_LARGE is now replaced with libcfs_kvzalloc and OBD_FREE_LARGE is now replaced with kvfree. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1089175c9c99e5cd8378b19a5a90bc0076b9151f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:01 2015 -0400 staging/lustre/ptlrpc: Replace OBD_FREE_PTR with kfree Part of effort of getting rid of custom Lustre alloc/free macros Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 781c848aa3e005415e03381640e2d886d4fd4f31 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:00 2015 -0400 staging/lustre: Convert lustre_cfg_new/free to use kzalloc/kfree Part of effort of getting rid of custom Lustre allocation macros Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3dc6f3252296f158764b110310124ec0e5eec6b0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:59 2015 -0400 staging/lustre/fld: Replace OBD_ALLOC_GFP with kzalloc Part of effort to get rid of custom Lustre allocation macros. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0a2472fa8e3a00168640542f158cc6ba8f55aaa Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:58 2015 -0400 staging/lustre: Remove references to OBD_ALLOC/FREE* in comments Since everything is now supposed to use regular kernel alloc and free functions. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d37c8781c0c1f7d52213b94a32c9b82f402845f0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:57 2015 -0400 staging/lustre/obdclass: replace OBD_ALLOC_GFP with kzalloc Part of getting rid of custom Lustre allocation macros. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af13af52e488ed2d2044924ea73ecb8589fc4d3b Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:56 2015 -0400 staging/lustre/llite: Get rid of OBD_ALLOC/FREE_PTR The remaining users in ll_open_cleanup and obd_mod_alloc are converted to regular kzalloc/kfree. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fca5ba8a1d047b4eddc1774d64eccdf9724a9577 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:55 2015 -0400 staging/lustre: Remove users of OBD_ALLOC/FREE_PTR lu_object.h These are converted to regular kzalloc/kfree calls. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6173fe0be3257067203a559a2290489a7664101 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:54 2015 -0400 staging/lustre: Remove unused OBD_CPT_ALLOC* macros OBD_CPT_ALLOC and friends are no longer used, so remove them. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8800d8cf7edaa80f17b1a03c39e0d13ffa34565f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:53 2015 -0400 staging/lustre: Remove unused OBD_VMALLOC These macros are not used anymore, so let's remove them, also __OBD_VMALLOC_VEROBSE and OBD_CPT_VMALLOC Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fd57333deabe3a37f7e57b64841e46e1834a598 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:52 2015 -0400 staging/lustre: Remove OBD_CPT_ALLOC_LARGE Remove OBD_CPT_ALLOC_LARGE define and convert the only user to libcfs_kvzalloc_cpt. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e478098ac0ac1b6ef9a70fcdc2ec8b93f1b59a1 Author: Alex Gartrell <agartrell@xxxxxx> Date: Mon Sep 14 23:23:05 2015 -0700 ipvs: add sysctl to ignore tunneled packets This is a way to avoid nasty routing loops when multiple ipvs instances can forward to eachother. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ee4a5f838c8437484c9387e9ef9256332f07f3dd Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Wed Aug 5 01:48:37 2015 +0800 ARM: imx: add suspend/resume support for i.mx6ul This patch adds suspend function for i.MX6UL, it supports "standby" and "mem" mode, for "standby" mode, SoC will enter STOP mode only, while for "mem" mode, SoC will enter STOP mode and DDR IO will be set to low power mode. As i.MX6UL contains a "Cortex-A7" ARM core which has no PL310, so we need to avoid any PL310 operations during suspend/resume, also, we need to flush Cortex-A7's inernal L2 cache before suspend. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> commit 44103fcfef646b5d6a5a8f8f48a2abdc9e9dbdea Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Fri Aug 28 17:09:34 2015 +0800 ARM: imx_v6_v7_defconfig: enable imx6ul_tsc Enable imx6ul touchscreen controller Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 8efaf5ed4d442068a1b76f218c0a90e6a5989f11 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Thu Aug 6 22:13:56 2015 +0800 clk: imx: increase AXI clock rate to 264MHz for i.MX6UL On i.MX6UL, AXI clock rate's design target is 264MHz, but by default it is only set to 198MHz which is NOT good enough for performance, this patch increases AXI clock rate from 198MHz to 264MHz to meet the design target, this is done by switching its parent clock "periph" from 396MHz PFD to 528MHz PLL. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6658356014cbf772c7f11154adc0c46717b3322b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Sep 16 08:37:11 2015 +0900 ARM: dts: Add support Odroid XU4 board for exynos5422-odroidxu4 Add Hardkernel Odroid XU4 board Device Tree sources. The board differs from Odroid XU3 and XU3-Lite by: 1. No green and red LEDs (except standard red power LED). 2. Only two PWM outputs are used (fan and blue LED) 3. No audio codec. 4. Two USB3 ports in host mode (no micro USB3 connector for OTG). 5. Realtek RTL8153-CG gigabit network adapter (instead of SMSC9514). 6. Additional connector with IO ports (I2S_0, I2C_5). 7. No DisplayPort (like XU3-Lite). 8. No TI INA231 power measurement sensors (like XU3-Lite). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 8cec734904f55d5551ac97fa9910752ef521a673 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Sep 16 08:37:07 2015 +0900 ARM: dts: Split audio configuration to separate exynos5422-odroidxu3-audio The Odroid XU4 board does not have audio codec so before adding DTS for new board split the audio codec to separate DTSI file. Include the audio codec DTSI in Odroid XU3 and XU3-Lite boards. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 0fb033bb3a384fdf1c08bcfaf429ca6431de91c7 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Mon Aug 17 08:55:51 2015 +0900 ARM: dts: Fix power off method for exynos5422-odroidxu3-common The Odroid XU3 family boards have ACOKB pin of PMIC grounded, instead of pulled up as usual. This means that PMIC must manually set PWRHOLD field in its CTRL1 register to low before initiating power down. This fixes Odroid XU3 powering off: [ 25.966053] reboot: Power down [ 25.967679] Power down. [ 26.070174] Power down failed, please power off system manually. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Reported-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 6a4479f965430457f301c61dfe7b0dd76f691e9e Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Mon Aug 17 08:55:51 2015 +0900 dt-bindings: Document grounded ACOKB pin on S2MPS11 Document a new Device Tree property 'samsung,s2mps11-acokb-ground' indicating that ACOKB pin of S2MPS11 PMIC is connected to the ground so the PMIC must manually set PWRHOLD bit in CTRL1 register to turn off the power. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit d3981d1e0a34bd294d620476a33967452e0298a7 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Mon Aug 17 08:53:48 2015 +0900 ARM: dts: use pwm-fan device as a cooling device for exynos4412-odroidu3 With those bindings it is possible to use pwm-fan device available in Odroid U3 as a cooling device. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ee6011f299f3e75458bd6e91db5795e5adedd6fe Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Mon Aug 17 08:53:47 2015 +0900 ARM: dts: Add pwm-fan node for exynos4412-odroidu3 Add pwm-fan node to the Odroid-U3 board file to enable PWM control of the cooling fan. In addition, add the "pwm" label to the pwm@139D0000 node in the exynos4412.dtsi. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 41553f267a369f24244867f5d6c8d4df254906b7 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Mon Aug 17 08:53:47 2015 +0900 dt-bindings: Documentation entry to explain how to use PWM FAN as a cooling device Explanation of several properties, which allow PWM fan working as a cooling device, have been embraced in this commit. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit cb2eb7de38e946e8e49536af7fa439c0f0210931 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:50 2015 +0530 clk: qcom: gdsc: Add GDSCs in apq8084 MMCC Add the GDSC instances that exist as part of apq8084 MMCC block. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 639af9490b545bb41ae1f7623aec73d6951d5630 Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:49 2015 +0530 clk: qcom: gdsc: Add GDSCs in apq8084 GCC Add the GDSC instances that exist as part of apq8084 GCC block Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8108b23ca7270ff2c2b551f447e57436d534d23a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:48 2015 +0530 clk: qcom: gdsc: Add GDSCs in msm8974 MMCC Add the GDSC instances that exist as part of msm8974 MMCC block Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 340029efdc83c7ba682dae731feff0d72a0ffd66 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:47 2015 +0530 clk: qcom: gdsc: Add GDSCs in msm8974 GCC There's just one GDSC as part of the msm8974 GCC block. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 073ae2b41c44903b9c28e3dc0263814c7fd33d5b Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:46 2015 +0530 clk: qcom: gdsc: Add GDSCs in msm8916 GCC Add all data for the GDSCs which are part of msm8916 GCC block. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 3c53f5e2179874441a1741ec7bcbaa92fcec9c79 Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:45 2015 +0530 clk: qcom: gdsc: Add support for ON only state Certain devices can have GDSCs' which support ON as the only state. They can't be power collapsed to either hit RET or OFF. The clients drivers for these GDSCs' however would expect the state of the core to be reset following a GDSC disable and re-enable. To do this assert/deassert reset lines every time the client driver would request the GDSC to be powered on/off instead. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 014e193ccd197d15b6f7bf6d3d616600091c14ad Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:44 2015 +0530 clk: qcom: gdsc: Add support for Memory RET/OFF Along with the GDSC power switch, there is additional control to either retain all memory (core and peripheral) within a given powerdomain or to turn them off while the GDSC is powered down. Add support for these by modelling a RET state where all memory is retained and an OFF state where all memory gets turned off. The controls provided are granular enough to be able to support various differnt levels of RET states, like a 'shallow RET' with all memory retained and a 'deep RET' with some memory retained while some others are lost. The current patch does not support this and considers just one RET state where all memory is retained. Futher work, if needed can support multiple different levels of RET state. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5e5cc241e9c448d1f6e5fdef843ab018a9947d5c Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:43 2015 +0530 clk: qcom: gdsc: Prepare common clk probe to register gdscs The common clk probe registers a clk provider and a reset controller. Update it to register a genpd provider using the gdsc data provided by each platform. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 45dd0e55317ccb27fe8eae639275c2b3a2fb52e5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:42 2015 +0530 clk: qcom: Add support for GDSCs GDSCs (Global Distributed Switch Controllers) are responsible for safely collapsing and restoring power to peripherals in the SoC. These are best modelled as power domains using genpd and given the registers are scattered throughout the clock controller register space, its best to have the support added through the clock driver. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9556f9dad8f57602159825ad19f7a8017eed2089 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Apr 13 16:03:21 2015 -0700 clk: divider: handle integer overflow when dividing large clock rates On 32-bit architectures, 'unsigned long' (the type used to hold clock rates, in Hz) is often only 32 bits wide. DIV_ROUND_UP() (as used in, e.g., commit b11d282dbea2 "clk: divider: fix rate calculation for fractional rates") can yield an integer overflow on clock rates that are not (by themselves) too large to fit in 32 bits, because it performs addition before the division. See for example: DIV_ROUND_UP(3000000000, 1500000000) = (3.0G + 1.5G - 1) / 1.5G = OVERFLOW / 1.5G This patch fixes such cases by always promoting the dividend to 64-bits (unsigned long long) before doing the division. While this patch does not resolve the issue with large clock rates across the common clock framework nor address the problems with doing full 64-bit arithmetic on a 32-bit architecture, it does fix some issues seen when using clock dividers on a 3GHz reference clock to produce a 1.5GHz CPU clock for an ARMv7 Brahma B15 SoC. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Reference: http://lkml.kernel.org/g/20150413201433.GQ32500@ld-irv-0074 Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 051ace1020d44ca7a1eb813ab35b7e769a622aa8 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 14:44:32 2015 +0200 clk: sunxi: sun9i-mmc: 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: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6ed5f8e45dc4c305abbf19640a5c75fb3694986b Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 14:44:14 2015 +0200 clk: sunxi: sun8i-apb0: 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: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ad915483e3f74f3df3b6bf195f23c1acc68949dd Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 14:43:54 2015 +0200 clk: sunxi: sun6i-ar100: 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: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f01745f640467353ac4ac526883400d3d43d8962 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 14:43:33 2015 +0200 clk: sunxi: sun6i-apb0-gates: 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: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 685301211665a606b752d91defcfc059da466e74 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 14:43:14 2015 +0200 clk: sunxi: sun6i-apb0: 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: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a97cea2a5cfb1e66716226ea258251317acd8ffe Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:34:07 2015 +0200 clk: at91: system: don't try to free_irq when there is no IRQ In the error path of at91_clk_register_system(), sys->irq is freed unconditionally but it may not exist or be request at all. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit de661d002229c6c02e99e242fd5fc1f1da2fbe3b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:34:06 2015 +0200 clk: at91: utmi: use pmc_read when the at91_pmc is available at91_pmc_read is a workaround to allow external drivers to acces some registers of the PMC. There is no need for it in clk-utmi.c as we aready have a pointer to the struct at91_pmc. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8ee9c7de019596445fd81e7647f5509d90e2fb72 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Apr 9 23:02:02 2015 -0700 clk: qcom: Allow clk_set_parent() to work on display clocks Sometimes the display driver may want to change the parent PLL of the display clocks (byte and pixel clocks) depending on the use-case. Currently the parent is fixed by means of having a frequency table with one entry that chooses a particular parent. Remove this restriction and use the parent the clock is configured for in the hardware during clk_set_rate(). This requires consumers to rely on the default parent or to configure the parent with clk_set_parent()/assigned-clock-parents on the clocks before calling clk_set_rate(). Tested-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Cc: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit db544f1b583aadc818b00ff528eb1744b3bbcac6 Merge: 6ff33f3 e1595d8 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 16 15:20:03 2015 -0700 Merge branch 'clk-next' into v4.3-rc1 commit 7ebcf26c39205ca8d61c178dcd3f5be4f25b1309 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:10:26 2015 -0700 regulator: core: Make error messages more informative The same error print exists 4 times in the regulator core <rdev>: operation not allowed Unfortunately, seeing this in the dmesg is not very informative. Add what type of operation is not allowed to the message so that these errors are unique, hopefully pointing developers in the right direction <rdev>: drms operation not allowed <rdev>: voltage operation not allowed <rdev>: current operation not allowed <rdev>: mode operation not allowed Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a54e22f40480eb63533d3f0520e9c84b102dd09f Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:59:42 2015 +0100 ASoC: Add SOC_SINGLE_RANGE_EXT_TLV macro Add a version of the SOC_SINGLE_RANGE_TLV macro that allows a custom get and put to be specified. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 002b083b8da96fd6c546fab2608803e7ce47627d Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:59:41 2015 +0100 ASoC: arizona: Add utility function to check if an input is analog We will occasionally require to take different action based on if an input is analog or digital so add a helper function to return if an input is analog. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bee261b8964d7751fdd63d7f636c42741294a30c Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:59:40 2015 +0100 ASoC: arizona: Add default cases for event switches Since the addition of the WILL_PMU / WILL_PMD several of the switches in arizona.c no longer cover all cases or have a default case. Whilst this isn't causing any problems in the interests of robustness add default cases. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0beb0a6da8896da14287b1caa77596057690901a Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:18 2015 +0300 spi: au1550: Simplify au1550_spi_setupxfer() SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This can simplify a little the au1550_spi_setupxfer() as there is need to check only for valid "struct spi_transfer" pointer. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 95a8fde23ef426aeee579bc99f35dc854e711225 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:17 2015 +0300 spi: spi-bfin5xx: Calculate transfer speed unconditionally SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set so code here won't use the chip->baud value (which is derived from spi->max_speed_hz). Please note driver uses chip->baud at the beginning of message transmission by calling the bfin_spi_restore_state() but then programs per transfer speed in bfin_spi_pump_transfers(). I'm not familiar with the HW so I don't know would it be possible to remove chip->baud completely by either using constant value in bfin_spi_restore_state() or by removing the baud register write there. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 57b48ab49b7a9ac5ff94402ade2ccb5d63579816 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:16 2015 +0300 spi: bfin-sport: Calculate transfer speed unconditionally SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set so code here won't use the chip->baud value (which is derived from spi->max_speed_hz). Please note driver uses chip->baud at the beginning of message transmission by calling the bfin_sport_spi_restore_state() but then programs per transfer speed in bfin_sport_spi_pump_transfers(). I'm not familiar with the HW so I don't know would it be possible to remove chip->baud completely by either using constant value in bfin_sport_spi_restore_state() or by removing the tclkdiv register write there. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8cf3af32902d14f6a0fbc4ad9a3025d9e7d4701b Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:15 2015 +0300 spi: octeon: Use transfer speed unconditionally SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 88d4a7440e51754bd44f58fe1f8c6e6fe050e929 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:14 2015 +0300 spi: s3c64xx: Use transfer speed unconditionally SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fc306de9b54e94a2949fee452741c00259d7dd4a Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:13 2015 +0300 spi: txx9: Use transfer speed unconditionally SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 462c30bc8b3457e2904c45babf4cb06c3b38ed4e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 15 02:44:37 2015 +0000 ASoC: rsnd: fixup clkout_name[] index error for single AUDIO_CLKOUT SoC 2a46db4a3("ASoC: rsnd: add AUDIO_CLKOUT support") added AUDIO_CLKOUT support for ADG. But single AUDIO_CLKOUT needs clkout_name[CLKOUT], not clkout_name[i]. Kernel will have NULL pointer access without this patch. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 544637bf3f4ddc1971740026e1cf58d8516b53fa Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 15 02:42:42 2015 +0000 ASoC: ak4642: exchange macro name to avoid redefinition 71a0138ab("ASoC: ak4642: enable to use MCKO as fixed rate output pin on DT") added new FS() macro, but x86 already has it in arch/x86/include/uapi/asm/ptrace-abi.h This patch exchange FS() to FSs() to avoid redefinition warning Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2f8445176c9e6e6b152b792d08abca8308bb8ff Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 15 02:41:05 2015 +0000 ASoC: rsnd: SND_SOC_RCAR depends on COMMON_CLK 2a46db4a3("ASoC: rsnd: add AUDIO_CLKOUT support") uses of_clk_add_provider() which is requesting struct clk_onecell_data. But it is COMMON_CLK feature. SND_SOC_RCAR depends on COMMON_CLK This patch also solved compile error of 7486d80f7("ASoC: rsnd: remove unneeded sh_clk header") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 45fb6b6f2aa3f6b22b81078db0dba4b26c9d0bdb Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Sat Sep 12 15:26:24 2015 +0200 ASoC: sunxi: add support for the on-chip codec on early Allwinner SoCs The sun4i, sun5i and sun7i SoC families have a built-in codec, capable of both audio capture and playback. While this is called a codec by Allwinner, it really is an in-SoC combination of a codec and a DAI, with its own DAC/ADC and amplifiers in a single memory-mapped controller. The capture part has been left out for now, and will be added eventually. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4ec73d3c81be5a401546afc6628aaf8add253ff1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 12 15:26:23 2015 +0200 ASoC: sunxi: Add the Allwinner A10 codec bindings The Allwinner SoCs have an in-SoC audio controller taking the role of a DAI and a codec. Add the binding documentation for that controller on the A10. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1d8d53b62d80dc3a6ae1483891e7d840cd7a51bd Author: Duc Dang <dhdang@xxxxxxx> Date: Tue Sep 1 13:42:16 2015 -0700 arm64: dts: Add poweroff device nodes for APM X-Gene 2 platform This patch adds: + poweroff button device node to support poweroff by power button on APM X-Gene 2 Merlin platform. + syscon poweroff device node to support poweroff feature on APM X-Gene 2 Merlin platform Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit 5fc86b513fd3a2f19fb267bc2e9cac49c792294e Author: Duc Dang <dhdang@xxxxxxx> Date: Tue Sep 1 13:39:27 2015 -0700 arm64: dts: Add APM X-Gene 2 standby GPIO controller DTS entries Add standby domain gpio controller for APM X-Gene 2 SoC platforms. Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit 7434f42b8e5ca5d57262ca7ceb856a86e4ade0d4 Author: Feng Kan <fkan@xxxxxxx> Date: Wed Jan 7 17:33:38 2015 -0700 arm64: dts: Add PMU node for APM X-Gene Storm SOC This patch adds the PMU device tree node for APM X-Gene Storm SOC. Signed-off-by: Vinayak Kale <vkale@xxxxxxx> Signed-off-by: Feng Kan <fkan@xxxxxxx> commit 51f1e4a0d4992af29228090825546ffe55ad675c Author: Feng Kan <fkan@xxxxxxx> Date: Wed Jan 7 17:33:37 2015 -0700 Documentation: arm: pmu: Add Potenza PMU binding This patch documents the compatible string for APM X-Gene Potenza CPU's PMU. Signed-off-by: Vinayak Kale <vkale@xxxxxxx> Signed-off-by: Feng Kan <fkan@xxxxxxx> commit 991c1292f61261180873be430b9bdd50de36055d Author: Duc Dang <dhdang@xxxxxxx> Date: Wed Aug 12 16:37:08 2015 -0700 arm64: dts: Add X-Gene v2 reboot driver dts node This patch add dts nodes for X-Gene v2 (APM X-Gene Shadowcat SoC) platforms to use generic SYSCON regmap reset driver for its reset operation. Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit e144dc5b8fadb1ca6d4c429aeae51a9f51d88b0e Author: Feng Kan <fkan@xxxxxxx> Date: Mon May 18 17:56:16 2015 -0700 arm64: dts: add APM Merlin Board device tree This patch adds the support for APM Merlin board. The Merlin board is based on the APM X-Gene Shadowcat SoC. This DTS enables PMU, Ethernet, SATA and Serial. [dhdang: remove pcie0 node] Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit 94d6ba285f561cd4382b2410fcbf8820056de34e Author: Tai Nguyen <ttnguyen@xxxxxxx> Date: Wed Aug 12 12:32:32 2015 -0700 power: reset: Add syscon poweroff device node for APM X-Gene platform This patch adds syscon poweroff device node to support poweroff feature on APM X-Gene Mustang platform Signed-off-by: Tai Nguyen <ttnguyen@xxxxxxx> Tested-by: dann frazier <dann.frazier@xxxxxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> commit 5c3a87e363c09242541620a777d5b73e89b6c245 Author: Feng Kan <fkan@xxxxxxx> Date: Tue Aug 11 17:39:36 2015 -0700 arm64: dts: Add X-Gene reboot driver dts node This patch add dts nodes for X-Gene platforms to use generic SYSCON regmap reset driver for its reset operation. [dhdang: changelog] Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit c5251136031e615aafd5b36589a2729ca6589612 Author: Feng Kan <fkan@xxxxxxx> Date: Thu Nov 13 16:19:56 2014 -0800 Documentation: arm64: add SCU dts binding documentation to linux kernel This add documentation for the SCU system clock unit device tree binding to the kernel. Signed-off-by: Feng Kan <fkan@xxxxxxx> commit 21c75328866deaa17e52bd7982d8e28ba0ce38b5 Author: Duc Dang <dhdang@xxxxxxx> Date: Wed Aug 12 17:01:12 2015 -0700 MAINTAINERS: Add Applied Micro (APM) X-Gene Device Tree maintainer This patch adds information of maintainers for Applied Micro (APM) X-Gene device tree. Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit 37d2dbcdcca88e392009d7cbe8617d5af0ebcb32 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Wed Sep 16 11:32:41 2015 -0700 net: fix cdc-phonet.c dependency and build error Fix build error caused by missing Kconfig dependency: ERROR: "cdc_parse_cdc_header" [drivers/net/usb/cdc-phonet.ko] undefined! Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28cc504e8d52248962f5b485bdc65f539e3fe21d Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:36:00 2015 -0400 drm/i915: enable atomic fb-helper i915 supports enough atomic to have atomic fb-helper paths, even though it does not yet advertise DRIVER_ATOMIC. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1edf0269f02dc7e295f3ca7bdd698e3dcf7350bf Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:35:59 2015 -0400 drm/fb-helper: atomic pan_display().. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bbb1e52402b2a288b09ae37e8182599931c7e9df Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:35:58 2015 -0400 drm/fb-helper: atomic restore_fbdev_mode().. Add support for using atomic code-paths for restore_fbdev_mode(). Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> [danvet: Bikeshed comments slightly.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9685cd9df75c1f5686308601c870f5e4ebc809be Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:35:57 2015 -0400 drm/fb-helper: add headerdoc for drm_fb_helper Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 45a3e771085d16c95eb54f8009d795941b21fb28 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 9 13:55:53 2015 +0200 spi: oc-tiny: Use of_property_read_u32 instead of open-coding it Use of_property_read_u32 instead of of_get_property with return value checks and endianness conversion. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2fc171e69e0dc0f5cce805ec40923c4e7ff78e94 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 10 18:01:45 2015 +0530 ASoC: Intel: remove unused function The function get_current_pipe_id() was not being used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3014dde762f618fbcfe899f9ce9e929a2e5aa6dd Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 16 13:03:02 2015 -0400 cgroup: simplify threadgroup locking Note: This commit was originally committed as b5ba75b5fc0e but got reverted by f9f9e7b77614 due to the performance regression from the percpu_rwsem write down/up operations added to cgroup task migration path. percpu_rwsem changes which alleviate the performance issue are pending for v4.4-rc1 merge window. Re-apply. Now that threadgroup locking is made global, code paths around it can be simplified. * lock-verify-unlock-retry dancing removed from __cgroup_procs_write(). * Race protection against de_thread() removed from cgroup_update_dfl_csses(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Link: http://lkml.kernel.org/g/55F8097A.7000206@xxxxxxxxxx commit 6131084a0bc966107021d8c89489f9cd1663b902 Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Sep 9 21:27:43 2015 +0300 ASoC: simple-card: Add tdm slot mask support to simple-card Adds DT binding for explicitly choosing a tdm mask for DAI and uses it in simple-card. The API for snd_soc_of_parse_tdm_slot() has also been changed. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd55ff8346a972cca1ad056c8258ee96d090633e Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Sep 9 21:27:44 2015 +0300 ASoC: davinci-mcasp: Add set_tdm_slots() support Implements set_tdm_slot() callback for mcasp. Channel constraints are updated according to the configured tdm mask and slots each time set_tdm_slot() is called. The special case when slot width is set to zero is allowed and it means that slot width is the same as the sample width. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e8f5263bd83fd0fe7dacba2de347b17ac99fc91 Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Sep 9 21:27:46 2015 +0300 ASoC: tlv320aic3x: Improve tdm support Before this patch the set_tdm_slots() callback did not store the value of slot width anywhere. The tdm support only worked if selected slot width was equal to the sample width. With this patch all sample widths that fit into the slot width are supported. There unused bits are filled unnecessarily in the capture direction, but the other end of the i2s bus should be able to ignore them. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ed1328792ff46e4bb86a3d7f7be2971f4549f6c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 16 12:53:17 2015 -0400 sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem Note: This commit was originally committed as d59cfc09c32a but got reverted by 0c986253b939 due to the performance regression from the percpu_rwsem write down/up operations added to cgroup task migration path. percpu_rwsem changes which alleviate the performance issue are pending for v4.4-rc1 merge window. Re-apply. The cgroup side of threadgroup locking uses signal_struct->group_rwsem to synchronize against threadgroup changes. This per-process rwsem adds small overhead to thread creation, exit and exec paths, forces cgroup code paths to do lock-verify-unlock-retry dance in a couple places and makes it impossible to atomically perform operations across multiple processes. This patch replaces signal_struct->group_rwsem with a global percpu_rwsem cgroup_threadgroup_rwsem which is cheaper on the reader side and contained in cgroups proper. This patch converts one-to-one. This does make writer side heavier and lower the granularity; however, cgroup process migration is a fairly cold path, we do want to optimize thread operations over it and cgroup migration operations don't take enough time for the lower granularity to matter. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Link: http://lkml.kernel.org/g/55F8097A.7000206@xxxxxxxxxx Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> commit 03d3964c517b24b11923978e2ed4a2a19b702f8a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 1 12:31:24 2015 +0800 ASoC: SPEAr: Make SND_SPEAR_SOC select SND_SOC_GENERIC_DMAENGINE_PCM devm_snd_dmaengine_pcm_register() is guarded by CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6774eea6d7a61616384743b218cf77f322e060d9 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Aug 20 23:28:38 2015 +0530 spi: bcm53xx: Adjust devm usage Remove use of spi_unregister_master in remove function as devm_spi_register_master in probe function automatically handles it. To be compatible with the change, use direct return instead of goto and remove unnedded label out. Also, remove bcm53xxspi_bcma_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a6f5f0dd4e21191ce35030dd4d6421e1cca10ee4 Author: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Date: Tue Sep 15 10:32:46 2015 -0700 PM / sleep: Report interrupt that caused system wakeup Add a sysfs attribute, /sys/power/pm_wakeup_irq, reporting the IRQ number of the first wakeup interrupt (that is, the first interrupt from an IRQ line armed for system wakeup) seen by the kernel during the most recent system suspend/resume cycle. This feature will be useful for system wakeup diagnostics of spurious wakeup interrupts. Signed-off-by: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> [ rjw: Fixed up pm_wakeup_irq definition ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit be8becb81bdc6d4c1bb81808e252ed6bc2c7a2f1 Author: Priit Laes <plaes@xxxxxxxxx> Date: Wed Sep 16 10:55:42 2015 +0300 ARM: sunxi_defconfig: Enable LRADC keys (KEYBOARD_SUN4I_LRADC) Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d71b0ad8d30922ccdd0705318237e6890b4ec1b6 Merge: a4d7109 f6cf87f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 16 09:19:56 2015 +0200 Merge branch 'perf/urgent' into perf/core, to resolve a conflict Conflicts: tools/perf/ui/browsers/hists.c Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a4d71093e759b7cfe0babbc6ae89c8130532f6ad Merge: 9059b28 bbbe6bf Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 16 09:12:07 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: - Enhance the error reporting of tracepoint event parsing, e.g.: $ oldperf record -e sched:sched_switc usleep 1 event syntax error: 'sched:sched_switc' \___ unknown tracepoint Run 'perf list' for a list of valid events Now we get the much nicer: $ perf record -e sched:sched_switc ls event syntax error: 'sched:sched_switc' \___ can't access trace events Error: No permissions to read /sys/kernel/debug/tracing/events/sched/sched_switc Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug' And after we have those mount point permissions fixed: $ perf record -e sched:sched_switc ls event syntax error: 'sched:sched_switc' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing/events/sched/sched_switc not found. Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?. Now its just a matter of using what git uses to suggest alternatives when we make a typo, i.e. that it is just an 'h' missing :-) I.e. basically now the event parsing routing uses the strerror_open() routines introduced by and used in 'perf trace' work. (Jiri Olsa) Infrastructure changes: - Export init/exit_probe_symbol_maps() from 'perf probe' for use in eBPF. (Namhyung Kim) - Free perf_probe_event in cleanup_perf_probe_events(). (Namhyung Kim) - regs_query_register_offset() infrastructure + implementation for x86. First user will be the perf/eBPF code. (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b84ee0d7f375ed7840c7c110d46eac24cf94b2a2 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Wed Sep 16 11:10:16 2015 +1000 cdc: add header guards Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9adbac599a71bc25a2617850ffcaa4388dc5c20d Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:50 2015 -0700 fm10k: fix iov_msg_mac_vlan_pf VID checks The VF will send a message to request multicast addresses with the default VID. In the current code, if the PF has statically assigned a VLAN to a VF, then the VF will not get the multicast addresses. Fix up all of the various VLAN messages to use identical checks (since each check was different). Also use set as a variable, so that it simplifies our check for whether VLAN matches the pf_vid. The new logic will allow set of a VLAN if it is zero, automatically converting to the default VID. Otherwise it will allow setting the PF VID, or any VLAN if PF has not statically assigned a VLAN. This is consistent behavior, and allows VF to request either 0 or the default_vid without silently failing. Note that we need the check for zero since VFs might not get the default VID message in time to actually request non-zero VLANs. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ac98100359e098d03dbd98783ca4becaf2ea7ec3 Author: Alexander Duyck <alexander.duyck@xxxxxxxxxx> Date: Wed Jun 24 13:34:49 2015 -0700 fm10k: Only trigger data path reset if fabric is up This change makes it so that we only trigger the data path reset if the fabric is ready to handle traffic. The general idea is to avoid triggering the reset unless the switch API is ready for us. Otherwise we can just postpone the reset until we receive a switch ready notification. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 95f4f8da644256d8c0ff5bab2c93ba33d2a42cd8 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:48 2015 -0700 fm10k: re-enable VF after a full reset on detection of a Malicious event Modify behavior of Malicious Driver Detection events. Presently, the hardware disables the VF queues and re-assigns them to the PF. This causes the VF in question to continuously Tx hang, because it assumes that it can transmit over the queues in question. For transient events, this results in continuous logging of malicious events. New behavior is to reset the LPORT and VF state, so that the VF will have to reset and re-enable itself. This does mean that malicious VFs will possibly be able to continue and attempt malicious events again. However, it is expected that system administrators will step in and manually remove or disable the VF in question. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5c2d642fd0cf0f4f7396dfd3754bc03f6e50e359 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:47 2015 -0700 fm10k: TRIVIAL fix typo in fm10k_netdev.c Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e71c9318428fb16de808b497e0229994010d32a1 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:46 2015 -0700 fm10k: send traffic on default VID to VLAN device if we have one This patch ensures that VLAN traffic on the default VID will go to the corresponding VLAN device if it exists. To do this, mask the rx_ring VID if we have an active VLAN on that VID. For this to work correctly, we need to update fm10k_process_skb_fields to correctly mask off the VLAN_PRIO_MASK bits and compare them separately, otherwise we incorrectly compare the priority bits with the cleared flag. This also happens to fix a related bug where having priority bits set causes us to incorrectly classify traffic. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6fbc6b358b3f63e701d15e9d330a3b0dbb03f802 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:44 2015 -0700 fm10k: TRIVIAL fix up ordering of __always_unused and style Fix some style issues in debugfs code, and correct ordering of void and __always_unused. Technically, the order does not matter, but preferred style is to put the macro between the type and name. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 855c40fc31ca2392845558235f7e92e406936fbe Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:41 2015 -0700 fm10k: remove is_slot_appropriate This function is no longer used now that we have updated fm10k_slot_warn functionality. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b655a5c735867c1a80e7ceaa1f1c45d1dd34909f Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Fri Jun 19 10:56:10 2015 -0700 fm10k: don't store sw_vid at reset If we store the sw_vid at reset of PF, then we accidentally prevent the VF from receiving the message to update its default VID. This only occurs if the VF is created before the PF has come up, which is the standard way of creating VFs when using the module parameter. This fixes an issue where we request the incorrect MAC/VLAN combinations, and prevents us from accidentally reporting some frames as VLAN tagged. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3f0bdb2e2ce7db7425856686d9ccd8fd0ddf9bf0 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Fri Jun 19 10:56:09 2015 -0700 fm10k: allow creation of VLAN interfaces even while down We re-sync upon going up, so there is little reason to worry about not syncing immediately with switch. This prevents an error that occurs if you add a VLAN interface while down. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0ff36676a3778d0655933ace201fca7c11b4e8b5 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Jun 18 19:41:10 2015 -0700 fm10k: Report MAC address on driver load This change adds the MAC address to the list of values recorded on driver load. The MAC address represents the serial number of the unit and allows us to track the value should a card be replaced in a system. The log message should now be similar in output to that of ixgbe. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit aae072e363bed4e91c00d57f753c799276ddb161 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Jun 16 11:47:12 2015 -0700 fm10k: Don't assume page fragments are page size This change pulls out the optimization that assumed that all fragments would be limited to page size. That hasn't been the case for some time now and to assume this is incorrect as the TCP allocator can provide up to a 32K page fragment. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Acked-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bdc7f5902d22e7297b8f0d7a8d6ed8429cdba636 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Jun 15 15:00:56 2015 -0700 fm10k: update netdev perm_addr during reinit, instead of at up Update the netdev permanent address during fm10k_reinit enables the user to immediately see the new MAC address on the VF even if the device isn't up. The previous code required that the device by opened before changes would appear. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 106c07a49506359f7663770ef33f4997d68316c1 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Jun 15 15:00:55 2015 -0700 fm10k: update fm10k_slot_warn to use pcie_get_minimum link This is useful in cases where we connect to a slot at Gen3, but the slot is behind a bus which only connected at Gen2. This generally only happens when a PCIe switch is in the sequence of devices, and can be very confusing when you see slow performance with no obvious cause. I am aware this patch has a few lines that break 80 characters, but there does not seem to be a readable way to format them to less than 80 characters. Suggestions welcome. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 56f0569e3ab741d3c5cebc4b4c882b471df53738 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Jun 15 15:00:53 2015 -0700 fm10k: only prevent removal of default VID rules This allows us to correctly add a VLAN even if it matches our default VID. However, we don't want to remove the VID rules once that VLAN is deleted. Correctly remove the stack layers information of the VLAN, but then return to forwarding that VID as untagged frames. If we deleted the VID rules here, we would begin dropping traffic due to VLAN membership violations. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e40296628bec7400f529927eef4bc87cb425a22a Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Jun 15 15:00:51 2015 -0700 fm10k: disable service task during suspend The service task reads some registers as part of its normal routine, even while the interface is down. Normally this is ok. However, during suspend we have disabled the PCI device. Due to this, registers will read in the same way as a surprise-remove event. Disable the service task while we suspend, and re-enable it after we resume. If we don't do this, the device could be UP when you suspend and come back from resume as closed (since fm10k closes the device when it gets a surprise remove). Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8ac34f10a5ea4c7b6f57dfd52b0693a2b67d9ac4 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Jul 30 15:19:28 2015 -0700 ixgbe: Limit lowest interrupt rate for adaptive interrupt moderation to 12K This patch updates the lowest limit for adaptive interrupt interrupt moderation to roughly 12K interrupts per second. The way I came about reaching 12K as the desired interrupt rate is by testing with UDP flows. Specifically I had a simple test that ran a netperf UDP_STREAM test at varying sizes. What I found was as the packet sizes increased the performance fell steadily behind until we were only able to receive at ~4Gb/s with a message size of 65507. A bit of digging found that we were dropping packets for the socket in the network stack, and looking at things further what I found was I could solve it by increasing the interrupt rate, or increasing the rmem_default/rmem_max. What I found was that when the interrupt coalescing resulted in more data being processed per interrupt than could be stored in the socket buffer we started losing packets and the performance dropped. So I reached 12K based on the following math. rmem_default = 212992 skb->truesize = 2994 212992 / 2994 = 71.14 packets to fill the buffer packet rate at 1514 packet size is 812744pps 71.14 / 812744 = 87.9us to fill socket buffer From there it was just a matter of choosing the interrupt rate and providing a bit of wiggle room which is why I decided to go with 12K interrupts per second as that uses a value of 84us. The data below is based on VM to VM over a direct assigned ixgbe interface. The test run was: netperf -H <ip> -t UDP_STREAM" Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB Before: 212992 65507 60.00 1100662 0 9613.4 10.89 0.557 212992 60.00 473474 4135.4 11.27 0.576 After: 212992 65507 60.00 1100413 0 9611.2 10.73 0.549 212992 60.00 974132 8508.3 11.69 0.598 Using bare metal the data is similar but not as dramatic as the throughput increases from about 8.5Gb/s to 9.5Gb/s. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6b010e9b1f0a406d1d35202a694fa724a559bf77 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Jul 29 14:38:21 2015 -0600 ixgbe: 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: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4ccc650cc845476885f73660b2e6335852f0f75c Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Sep 2 13:47:54 2015 -0700 ixgbe: fix issue with SFP events with new X550 devices Add checks for systems that don't have SFP's to avoid incorrectly acting on interrupts that are falsely interpreted as SFP events. This also includes a modified check generating the EICR mask to be more forward-looking. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d5566fd72ec1924958fcfd48b65c022c8f7eae64 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Fri Sep 11 16:48:48 2015 -0400 rtnetlink: RTEXT_FILTER_SKIP_STATS support to avoid dumping inet/inet6 stats Many commonly used functions like getifaddrs() invoke RTM_GETLINK to dump the interface information, and do not need the the AF_INET6 statististics that are always returned by default from rtnl_fill_ifinfo(). Computing the statistics can be an expensive operation that impacts scaling, so it is desirable to avoid this if the information is not needed. This patch adds a the RTEXT_FILTER_SKIP_STATS extended info flag that can be passed with netlink_request() to avoid statistics computation for the ifinfo path. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3dce23eb887800e19cc18b389a13290dd12c5905 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Sep 15 22:50:33 2015 +0100 metag: Turn irq_ctx_* macros into static inlines The irq_ctx_init()/irq_ctx_exit() functions are only used for 4KiB stacks, otherwise they are implemented as an empty macro. To prevent future bit rottage due to the cpu argument not being type checked, convert the macros to empty static inline functions. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit 928df02bd46e2fe02cfd3127ba1814796d6d80b0 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Sep 15 22:19:04 2015 +0100 metag: SMP: Fix 4KiB stack setup on secondary CPUs Back in early 2008, 4KiB stack support was added to reduce memory consumption on workloads with lots of threads, using a separate IRQ stack per CPU to alleviate stack pressure. However the SMP code added a year and a half later didn't set up the IRQ stack when bringing up secondary CPUs, resulting in a crash when SMP is configured with 4KiB stacks, as soon as the first interrupt arrived on a secondary CPU. Fix with calls to irq_ctx_exit()/irq_ctx_exit() when bringing up/down a CPU. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit ad1e7b97b3adb91d46f3adb70a7867a50fc274cf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 15 13:25:03 2015 -0700 cdc: Fix build warning. In file included from drivers/usb/gadget/function/u_serial.h:16:0, from drivers/usb/gadget/function/f_acm.c:23: >> include/linux/usb/cdc.h:47:5: warning: 'struct usb_interface' declared inside parameter list int buflen); ^ >> include/linux/usb/cdc.h:47:5: warning: its scope is only this definition or declaration, which is probably not what you want Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b711d6db5c78a6d1969fb0fccb93daa7df53762 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 17:40:56 2015 -0700 mv643xx_eth: Neaten mv643xx_eth_program_multicast_filter The code around the allocation and loops are a bit obfuscated. Neaten it by using: o kcalloc with decimal count and sizeof(u32) o Decimal loop indexing and i++ not i += 4 o A promiscuous block using a similar style to the multicast block o Remove unnecessary variables Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29feb66a9afbe69d3aeb2550f2e0ea20d4782ead Merge: 7b6ee48 e63c7a0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 15 12:47:47 2015 -0700 Merge branch 'xgene-2nd-10gbe-port' Iyappan Subramanian says: ==================== driver: net: xgene: Enable 2nd 10GbE port on APM X-Gene SoC This patch adds support for 2nd 10GbE on APM X-Gene SoC ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e63c7a0979f28bb13e06b981765dd514c01c075b Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Tue Sep 8 15:50:27 2015 -0700 dtb: xgene: Add 2nd 10GbE node Adding the second 10GbE dt node for APM X-Gene SoC device tree Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 149e9ab495a4ba50fc6b52cb9b2710566adcf56e Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Tue Sep 8 15:50:26 2015 -0700 driver: net: xgene: Add support for 2nd 10GbE port Adding support for the second 10GbE port on APM X-Gene SoC Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b6ee48d3f4d432bfa6c9c9662fbdbd97681240e Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Sep 7 16:05:42 2015 +0200 cdc-phonet: use common parser This moves cdc-phonet to the common parser for CDC users to reduce code duplication. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8492ed45aa5dbb5c4f0786f90ff12d8511615505 Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Sep 7 16:05:41 2015 +0200 qmi-wwan: use common parser This moves qmi-wwan to the common parser for CDC user to reduce code duplication. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 823bd3433424aa959499e6fd8f2da842430a8d42 Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Sep 7 16:05:40 2015 +0200 cdc-ether: switch to common CDC parser This patch uses the common parser to parse extra CDC headers in order to reduce code duplication. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77b0a099674ac1c43b631445d8d50453e4805b29 Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Sep 7 16:05:39 2015 +0200 cdc-ncm: use common parser This moves cdc-ncm to the common parser for CDC user to reduce code duplication. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c40a2c8817e42273a4627c48c884b805475a733f Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Sep 7 16:05:38 2015 +0200 CDC: common parser for extra headers CDC drivers all implement their own parser for the extra headers. This patch fixes the code duplication introducing a single common parser in usbnet. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d147ccbfc35d7d45c87fb0c767e6e40c316aa32 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 7 15:16:44 2015 +0530 drivers: net: cpsw: Add support to drive gpios for ethernet to be functional In DRA72x EVM, by default slave 1 is connected to the onboard phy, but slave 2 pins are also muxed with video input module which is controlled by pcf857x gpio and currently to select slave 0 to connect to phy gpio hogging is used, but with omap2plus_defconfig the pcf857x gpio is built as module. So when using NFS on DRA72x EVM, board doesn't boot as gpio hogging do not set proper gpio state to connect slave 0 to phy as it is built as module and you do not see any errors for not setting gpio and just mentions dhcp reply not got. To solve this issue, introducing "mode-gpios" in DT when gpio based muxing is required. This will throw a warning when gpio get fails and returns probe defer. When gpio-pcf857x module is installed, cpsw probes again and ethernet becomes functional. Verified this on DRA72x with pcf as module and ramdisk. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e75f3c39d33360075d6543529d40b5299f92622 Merge: c36ba66 2b8157b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 15 12:04:22 2015 -0700 Merge branch 'dsa-mv88e6xxx-ATU' Vivien Didelot says: ==================== net: dsa: mv88e6xxx: improve ATU move operations This patchset completes the set of available Address Translation Unit operations. These Marvell switches have 4 operations to flush or (re)move, all or only non-static MAC addresses, from the entire set of databases or from just a particular one. The first 3 patches introduce a generic _mv88e6xxx_atu_flush_move function. The 4 remaining patches update a few FID operations in the driver on setup, when a port join or leave a VLAN, or change state. This is a step forward improving the hardware bridging support in DSA and 88E6352-compatible switches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b8157b1c20bdac0e0b856b2cb1499c7f18f2b07 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:16 2015 -0400 net: dsa: mv88e6xxx: remove all MACs when disabling a port When we're moving a port from Learning or Forwarding state to Disabled or Blocking or Listening state, remove all non-static MAC addresses mapped to this port in the entire set of databases, not only one. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f4d55d2869d86bd5dc59ff28109f7fefedc325d Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:15 2015 -0400 net: dsa: mv88e6xxx: remove addresses when a port leaves a VLAN Add a new _mv88e6xxx_atu_move function to prepare the ATU data register for the move operation. The ports vector will contain the source port and destination port of the Move operation. If the destination port is 0xF, the MAC addresses mapped to the source port are removed for the address database(s). Then add a _mv88e6xxx_atu_remove wrapper to remove the MAC addresses from a VLAN database that are mapped to a given port, when it leaves it. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c400018c003d221a2db1ce46a5b88d7a37add1c Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:14 2015 -0400 net: dsa: mv88e6xxx: flush all addresses when adding a VLAN When choosing an address database for a new VLAN, flush every entries, not only the non-static ones. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c161d0a5edf35dfbb18e859825355791dd6fb2cc Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:13 2015 -0400 net: dsa: mv88e6xxx: flush ATU on initial setup Purge all MAC addresses from the entire set of address databases when the driver initializes the device. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7fb5e755153d7b40dd321f7c766dbd4e76c66711 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:12 2015 -0400 net: dsa: mv88e6xxx: rework ATU Flush operation These Marvell switches have 4 operations to flush or (re)move, all or only non-static MAC addresses, from the entire set of databases or from just a particular one. The value of the EntryState bits will determine if the operation is either a Flush (0x0) or a Move (0xF). When moving entries from one port to another, entries will be removed if the destination port is 0xF. This patch renames these operations for consistency, add a new generic _mv88e6xxx_atu_flush_move function, and change _mv88e6xxx_flush_fid to use it. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37705b731500b0ce9fb4ead21a7cdfc241a401fe Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:11 2015 -0400 net: dsa: mv88e6xxx: extract ATU data write access Other ATU commands need to write the ATU data register. To ease the introduction of such commands, extract the ATU data write access from _mv88e6xxx_atu_load to its own function. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70cc99d10ca17b8688575d2579e5a2f6c4fa6f29 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:10 2015 -0400 net: dsa: mv88e6xxx: extract FID write from ATU command Not every ATU commands apply to an FID, thus remove the FID writing from mv88e6xxx_atu_cmd and write it explicitly where needed, in order to ease introduction of such commands. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c36ba6603a1154ac617d023bbcc062a12afb258b Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:58:36 2015 -0700 net: Allow user to get table id from route lookup rt_fill_info which is called for 'route get' requests hardcodes the table id as RT_TABLE_MAIN which is not correct when multiple tables are used. Use the newly added table id in the rtable to send back the correct table similar to what is done for IPv6. To maintain current ABI a new request flag, RTM_F_LOOKUP_TABLE, is added to indicate the actual table is wanted versus the hardcoded response. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7503e0cdb5dbec5d201aa69d8888c14679b5ae8 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:58:35 2015 -0700 net: Add FIB table id to rtable Add the FIB table id to rtable to make the information available for IPv4 as it is for IPv6. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d08c4f355403840fad98d9918db51a7113f38ee8 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:58:34 2015 -0700 net: Refactor rtable initialization All callers to rt_dst_alloc have nearly the same initialization following a successful allocation. Consolidate it into rt_dst_alloc. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fecfdb2db8b5fc2e6cb731a714889de5e43c2380 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: factor out retirement of old fb We have two identical places in the overlay code which retire the drm framebuffer. Factor these out into a common function. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 28a2aebed6374c4af5224114e4b4273a3aae649a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:23 2015 +0100 drm/armada: rename overlay identifiers Include an _ovl infix into the overlay identifiers to separate them from the primary plane. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 709ffd82fc6ff760dc3a7f71bdf26d78a8e3caf0 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:09:38 2015 +0100 drm/armada: redo locking and atomics for armada_drm_crtc_complete_frame_work() We can do better with armada_drm_crtc_complete_frame_work() - we can avoid taking the event lock unless a call to drm_send_vblank_event() is required, and using cmpxchg() and xchg(), we can eliminate the locking around dcrtc->frame_work entirely. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e0ac5e9b4b14ab4be7fbba48d666fc619342fd88 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 29 18:01:38 2015 +0100 drm/armada: disable CRTC clock during DPMS When the CRTC is in low power mode, it isn't running, and so there's no point keeping the CRTC clock enabled. Disable the CRTC clock during DPMS. We need to re-enable it in the mode_set callback to ensure that the variant's compute_clock() continues to see its clock in the expected state (enabled). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f8e140698234dae3a4ea7b971e7bf63a3e0c987a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 29 17:52:42 2015 +0100 drm/armada: use drm_plane_force_disable() to disable the overlay plane Use drm_plane_force_disable() to disable the overlay plane on a mode_set rather than coding this ourselves. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7c8f7e1abc75b853adf60d8ee0a589e058bcdb6b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 29 17:52:16 2015 +0100 drm/armada: move vbl code into armada_crtc Our vblank event code belongs in armada_crtc.c rather than the core of the driver. Move it there. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0fb2970b4b6bfc26817a731b8bc29a9bf9177c20 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:46:53 2015 +0100 drm/armada: remove non-component support Now that the transition of TDA998x to the component helpers is complete, remove the non-componentised support from the Armada DRM driver. All outputs are expected to use the component helpers from now on. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 96795df15c89ce30261a31289740b4621bcec0fe Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 6 10:52:05 2015 +0100 drm/i2c: tda998x: use more HDMI helpers Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ec5d3e83d332ac5dfde8e0a1f57393fc91d55030 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:41:10 2015 +0100 drm/i2c: tda998x: handle all outstanding interrupts As reading the interrupt registers clears the outstanding interrupts, we must process all received interrupts to avoid dropping any. Rearrange the code to achieve this, and properly check for a HPD interrupt from the CEC_RXSHPDINT register. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e66e03abf80f701da60ae085cbb913e67ce6741d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:41:10 2015 +0100 drm/i2c: tda998x: convert to u8/u16/u32 types C99 types are against the style of the Linux kernel. Convert to using Linus-friendly types. See https://lwn.net/Articles/113367/ for more information. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0fc6f44d9683c61678da4b0eebc89e8fa624de39 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:41:09 2015 +0100 drm/i2c: tda998x: re-implement "Fix EDID read timeout on HDMI connect" Commit 6833d26ef823 ("drm: tda998x: Fix EDID read timeout on HDMI connect") used a weak scheme to try and delay reading EDID on a HDMI connect event. It is weak because delaying the notification of a hotplug event does not stop userspace from trying to read the EDID within the 100ms delay. The solution provided here solves this issue: * When a HDMI connection event is detected, mark a blocking flag for EDID reads, and start a timer for the delay. * If an EDID read is attempted, and the blocking flag is set, wait for the blocking flag to clear. * When the timer expires, clear the blocking flag and wake any thread waiting for the EDID read. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f84a97d4804a09240372dc7b195f9d6162152228 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:41:09 2015 +0100 drm/i2c: tda998x: report whether we actually handled the IRQ Rather than always reporting that the interrupt was handled, we should report whether we did handle the interrupt. Arrange to report IRQ_NONE for cases where we found nothing to do. This allows us to (eventually) recover from stuck-IRQ problems, rather than causing the kernel to solidly lock up. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3f3d0d00734de56a0c5996f4e4433046c745592e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:41:09 2015 +0100 drm/i2c: tda998x: remove useless NULL checks There is no way 'priv' can be NULL in tda998x_irq_thread() - this can only happen if request_threaded_irq() was passed a NULL priv pointer, and we would have crashed long before then if that was the case. We also always ensure that priv->encoder is correctly setup, which must have been initialised prior to the interrupt being claimed, so we can remove this check as well. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1130feca0629678239d400c7ae03e62406c5e2c7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:28 2015 +0900 staging: wilc1000: wilc_wfi_cfgoperations.h: align defines This patch fix alignment of some defines in wilc_wfi_cfgoperations.h Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72d9af2a150bb5ed6f269616ba0e07fc5a029599 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:27 2015 +0900 staging: wilc1000: remove if defined codes of FORCE_P2P_CLIENT This patch removes if defined codes of FORCE_P2P_CLIENT. This macro is deleted because it it commented out. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f68fd661315383d2efde3addd316c9c63e83f707 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:26 2015 +0900 staging: wilc1000: remove FORCE_P2P_CLIENT This patch removes FORCE_P2P_CLIENT that is commented. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cb8671553bc3ea1fd383ad7ed548d5476241af6 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:25 2015 +0900 staging: wilc1000: remove if defined codes of USE_SUPPLICANT_GO_INTENT This patch removes if defined codes of USE_SUPPLICANT_GO_INTENT. This macro is deleted because it is commented out. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5c47a409d55f51963365a3e5e1b95c29b2d4a28 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:24 2015 +0900 staging: wilc1000: remove USE_SUPPLICANT_GO_INTENT This patch removes USE_SUPPLICANT_GO_INTENT macro that is commented. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df94ed254bbc12111e038cbc4ad38c085fea47c0 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:23 2015 +0900 staging: wilc1000: fix alignment of enum This patch fix alignment of enum. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 568ab197c4d80b344884b32032ca445ea2b1594e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:22 2015 +0900 staging: wilc1000: fix alignment of defines This patch fix alignment of defines. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90c604b2246b8135f27bdd5c0cc98fc881ecd12c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:21 2015 +0900 staging: wilc1000: remove unused defines The macros are not used anywhere in this driver, so just delete it. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af080e04caee06689a5df23c17a407b95c3b3994 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:20 2015 +0900 staging: wilc1000: remove bit shift macro that is custom defined This patch remove bit shift macro that is custom defined, then it is replaced BIT(x) macro. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f57fb215442314af2512721c0b7304bad0077214 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:19 2015 +0900 staging: wilc1000: use BIT macro This patch replaces bit shift with BIT(x) macro. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77c19f3a9c2e49dbec3b6572a926e411c0ec32af Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:18 2015 +0900 staging: wilc1000: remove useless extern declarations This patch removes useless extern declarations. This function is not existed in the driver. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 766cecaffdcc424868cc136a8f2c139b41bcadfd Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:17 2015 +0900 staging: wilc1000: remove commented codes This patch removes commented codes. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbc2fe16afa3f3709f29a8f938fc680e30894b8f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:16 2015 +0900 staging: wilc1000: use u32 instead of uint32_t This patch replaces uint32_t with u32 that is a preferred kernel type. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec53adfe1ca0951f6e48b76b4e8682edde2feac0 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:15 2015 +0900 staging: wilc1000: use u16 instead of uint16_t This patch replaces uint16_t with u16 that is preferred kernel type. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51e825f70b67ee9eb6ebb4ee8a191b31ea18981e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:14 2015 +0900 staging: wilc1000: use u8 instead of uint8_t This patch replaces uint8_t with u8 that is a preferred kernel type. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2726887c5647b3799a568092ede0fecc418fce16 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:13 2015 +0900 staging: wilc1000: rename WILC_WFI_priv This patch replaces WILC_WFI_priv with wilc_priv to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08241924d489dc8396c0916735941b1e906449e6 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:12 2015 +0900 staging: wilc1000: rename WILC_WFI_cfg80211_ops This patch replaces WILC_WFI_cfg80211_ops with wilc_cfg80211_ops to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23ced60f154122765fbb320a3eb9d16e4ed19ca5 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:11 2015 +0900 staging: wilc1000: remove duplicated include wilc_wfi_cfgoperations.h and linux_wlan_common.h are included as duplicated in linux_wlan.c. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 703b0d4bbb28f0d12389a13a49860e66c4f4b03b Author: Nicolas Joseph <nicolas.joseph@xxxxxxxxxxxxxxxx> Date: Tue Sep 15 11:35:20 2015 +0200 staging/rtl8192u: remove unused function Remove unused function N_DBPSOfRate. This function was only used by function ComputeTxTime that was removed in the previous commit 742728f97a99 ("staging: rtl8192u: remove unused function.") Signed-off-by: Nicolas Joseph <nicolas.joseph@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60eeb4102e9bccb07d4a0d4e79864c8058461847 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 15 17:22:28 2015 +0530 staging: rtl8192e: fix memory leak If the size of the firmware is not as expected then we are jumping to the error path but we missed releasing the firmware. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d05652c5ce812b4d1addd1a2733d20c912d528d Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Tue Sep 15 18:09:51 2015 +0530 drivers: staging: wilc1000: Add check for SPI availability NULL pointer deference is observed in the wilc1000.ko module with bus type SPI and when SPI is not ready. Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fec2ee4fa58e57b835ab9bac67f04f091cf976d Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Sep 15 11:53:35 2015 +0900 staging: wilc1000: remove definition WILC_IS_ERR This patch removes the definition WILC_IS_ERR which is not used anymore. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 978fdc22bae06ea7422d7660ac78ed1c1c9c3e2a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 15 13:35:25 2015 +0300 IB/hfi1: fix copy_to/from_user() error handling copy_to/from_user() returns the number of bytes which we were not able to copy. It doesn't return an error code. Also a couple places had a printk() on error and I removed that because people can take advantage of it to fill /var/log/messages with spam. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Mike Marciniszyn <infinipath@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adad44d1322c6657a96fa1681ded9bb0c3bd56f0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:04 2015 +0200 hfi1: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Mike Marciniszyn <infinipath@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70b49cd526c5b01679b5794272a160dad5c3205c Author: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Date: Sun Sep 13 22:42:58 2015 -0800 Staging: rlt8192u: Remove spaces at the start of lines This is a patch to remove spaces at the start of lines in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1dfec545169e98b048e1fde0e7e16b6c29f09712 Author: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Date: Sun Sep 13 22:42:53 2015 -0800 Staging: rtl8192u: do not use C99 // comments This is a patch to convert C99-style comments to C89-style comments in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9bcffdc77139e25e6632e774f978c1d3383aa43 Author: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Date: Sun Sep 13 22:42:49 2015 -0800 Staging: rtl8192u: suspect code indent for conditional statment This is a patch to correct an improperly indented block of code in ieee80211_softmac_wx.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96d6a318370db07e004bd19bd1c17471b3bf5b52 Author: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Date: Sun Sep 13 22:42:44 2015 -0800 Staging: rtl8192u: space required before open parentheses This is a patch to add spaces where required before open parentheses in ieee80211_softmac_wx.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e04f3f381c6a3ab3a7ef0ec9ded709e95996527 Author: Ronit Halder <ronit.crj@xxxxxxxxx> Date: Mon Sep 14 11:03:34 2015 +0530 Staging: wilc1000: Use NULL instead of zero This patch fixes the warning generated by sparse "Using plain integer as NULL pointer" by using NULL instead of zero. Signed-off-by: Ronit halder <ronit.crj@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ae9ac0b61a752fc95298820debde88c10bdb53e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 15 09:54:33 2015 +0300 staging: wilc1000: off by one in get_handler_from_id() The > should be >= here or we read beyond the end of the array. Fixes: d42ab0838d04 ('staging: wilc1000: use id value as argument') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6de9a2e3d46969044e5fa3c4ca48362f1a3d9435 Author: Lucas Georges <lucas.georges@xxxxxxxxxxx> Date: Mon Sep 14 16:52:35 2015 +0200 staging: ft1000: code style cleanup There was a stray '*' in a comment block. Signed-off-by: Lucas Georges <lucas.georges@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e36cf44798e0107f7e73edce098d0a5c233a79c Author: Sakshi Vaid <sakshivaid95@xxxxxxxxx> Date: Mon Sep 14 20:59:24 2015 +0530 Staging: lustre: lustre: lov: lov_dev.c: Added missing blank line line 158: WARNING: Missing a blank line after declarations line 183: WARNING: Missing a blank line after declarations Added a missing blank line after declartions. Signed-off-by: Sakshi Vaid <sakshivaid95@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5c4c6fae0f754aa17180b411ad04c196f9798ee Author: Olaf Weber <olaf@xxxxxxx> Date: Mon Sep 14 18:41:35 2015 -0400 staging/lustre/ptlrpc: make ptlrpcd threads cpt-aware On NUMA systems, the placement of worker threads relative to the memory they use greatly affects performance. The CPT mechanism can be used to constrain a number of Lustre thread types, and this change makes it possible to configure the placement of ptlrpcd threads in a similar manner. To simplify the code changes, the global structures used to manage ptlrpcd threads are changed to one per CPT. In particular this means there will be one ptlrpcd recovery thread per CPT. To prevent ptlrpcd threads from wandering all over the system, all ptlrpcd thread are bound to a CPT. Note that some CPT configuration is always created, but the defaults are not likely to be correct for a NUMA system. After discussing the options with Liang Zhen we decided that we would not bind ptlrpcd threads to specific CPUs, and rather trust the kernel scheduler to migrate ptlrpcd threads. With all ptlrpcd threads bound to a CPT, but not to specific CPUs, the load policy mechanism can be radically simplified: - PDL_POLICY_LOCAL and PDL_POLICY_ROUND are currently identical. - PDL_POLICY_ROUND, if fully implemented, would cost us the locality we are trying to achieve, so most or all calls using this policy would have to be changed to PDL_POLICY_LOCAL. - PDL_POLICY_PREFERRED is not used, and cannot be implemented without binding ptlrpcd threads to individual CPUs. - PDL_POLICY_SAME is rarely used, and cannot be implemented without binding ptlrpcd threads to individual CPUs. The partner mechanism is also updated, because now all ptlrpcd threads are "bound" threads. The only difference between the various bind policies, PDB_POLICY_NONE, PDB_POLICY_FULL, PDB_POLICY_PAIR, and PDB_POLICY_NEIGHBOR, is the number of partner threads. The bind policy is replaced with a tunable that directly specifies the size of the groups of ptlrpcd partner threads. Ensure that the ptlrpc_request_set for a ptlrpcd thread is created on the same CPT that the thread will work on. When threads are bound to specific nodes and/or CPUs in a NUMA system, it pays to ensure that the datastructures used by these threads are also on the same node. Visible changes: * ptlrpcd thread names include the CPT number, for example "ptlrpcd_02_07". In this case the "07" is relative to the CPT, and not a CPU number. Tunables added: * ptlrpcd_cpts (string): A CPT string describing the CPU partitions that ptlrpcd threads should run on. Used to make ptlrpcd threads run on a subset of all CPTs. * ptlrpcd_per_cpt_max (int): The maximum number of ptlrpcd threads to run in a CPT. * ptlrpcd_partner_group_size (int): The desired number of threads in each ptlrpcd partner thread group. Default is 2, corresponding to the old PDB_POLICY_PAIR. A negative value makes all ptlrpcd threads in a CPT partners of each other. Tunables obsoleted: * max_ptlrpcds: The new ptlrcpd_per_cpt_max can be used to obtain the same effect. * ptlrpcd_bind_policy: The new ptlrpcd_partner_group_size can be used to obtain the same effect. Internal interface changes: * pdb_policy_t and related code have been removed. Groups of partner ptlrpcd threads are still created, and all threads in a partner group are bound on the same CPT. The ptlrpcd threads bound to a CPT are typically divided into several partner groups. The partner groups on a CPT all have an equal number of ptlrpcd threads. * pdl_policy_t and related code have been removed. Since ptlrpcd threads are not bound to a specific CPU, all the code that avoids scheduling on the current CPU (or attempts to do so) has been removed as non-functional. A simplified form of PDL_POLICY_LOCAL is kept as the only load policy. * LIOD_BIND and related code have been removed. All ptlrpcd threads are now bound to a CPT, and no additional binding policy is implemented. * ptlrpc_prep_set(): Changed to allocate a ptlrpc_request_set on the current CPT. * ptlrpcd(): If an error is encountered before entering the main loop store the error in pc_error before exiting. * ptlrpcd_start(): Check pc_error to verify that the ptlrpcd thread has successfully entered its main loop. * ptlrpcd_init(): Initialize the struct ptlrpcd_ctl for all threads for a CPT before starting any of them. This closes a race during startup where a partner thread could reference a non-initialized struct ptlrpcd_ctl. Signed-off-by: Olaf Weber <olaf@xxxxxxx> Reviewed-on: http://review.whamcloud.com/13972 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6325 Reviewed-by: Grégoire Pichon <gregoire.pichon@xxxxxxxx> Reviewed-by: Stephen Champion <schamp@xxxxxxx> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69456a0377555c52bf0b69d9555a2a605b2aa1d3 Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Mon Sep 14 18:41:34 2015 -0400 staging/lustre/libcfs: remove unused cfs_timer_done Remove the cfs_timer_done function in the libcfs kernel module since it is not used anywhere. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: frank zago <fzago@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/13917 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245 Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 199a0cc08d8552b9683150ef49ebceb764e436eb Author: Liang Zhen <liang.zhen@xxxxxxxxx> Date: Mon Sep 14 18:41:33 2015 -0400 staging/lustre/o2iblnd: leak cmid in kiblnd_dev_need_failover cmid created by kiblnd_dev_need_failover should always be destroyed, however it is not the case in current implementation and we will leak cmid when this function detected a device failover. Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/14603 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6480 Reviewed-by: Isaac Huang <he.huang@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aefd9d714d5dc65b748e4f226475537ba6e00e86 Author: Li Xi <lixi@xxxxxxx> Date: Mon Sep 14 18:41:32 2015 -0400 staging/lustre/osc: use global osc_rq_pool to reduce memory usage The per-osc request pools consume a lot of memory if there are hundreds of OSCs on one client. This will be a critical problem if the client doesn't have sufficient memory for both OSCs and applications. This patch replaces per-osc request pools with a global pool osc_rq_pool. The total memory usage is 5MB by default. And it can be set by a module parameter of OSC: "options osc osc_reqpool_mem_max=POOL_SIZE". The unit of POOL_SIZE is MB. If cl_max_rpcs_in_flight is the same for all OSCs, the memory usage of the OSC pool can be calculated as: Min(POOL_SIZE * 1M, (cl_max_rpcs_in_flight + 2) * OSC number * OST_MAXREQSIZE) Also, this patch changes the allocation logic of OSC write requests. The allocation from osc_rq_pool will only be tried after normal allocation failed. Signed-off-by: Wu Libin <lwu@xxxxxxx> Signed-off-by: Wang Shilong <wshilong@xxxxxxx> Signed-off-by: Li Xi <lixi@xxxxxxx> Reviewed-on: http://review.whamcloud.com/15422 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6770 Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae9c46d12284ee339eefb915d7d5da83cad8933d Author: Ben Evans <bevans@xxxxxxxx> Date: Mon Sep 14 18:41:31 2015 -0400 staging/lustre: Remove unused MAY_ constants Remove unused MAY_ constants from lustre_idl.h Signed-off-by: Ben Evans <bevans@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/15398 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6450 Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0b8803a36f51e8ade88c64cbb5a768e575b1787 Author: Ann Koehler <amk@xxxxxxxx> Date: Mon Sep 14 18:41:30 2015 -0400 staging/lustre/obdclass: Eliminate hash bucket scans in lu_cache_shrink The lu_cache_shrink slab shrinker is too slow, accounting for > 90% of the time spent in shrink_slab when allocating huge pages. Most of its time is spent iterating over the buckets in each site's object hash table to compute the number of freeable objects. This iteration is eliminated by adding an lru length count to the lu_site struct. A percpu counter is used to maintain the lru length, so that the lu_site does not need to be locked when an object is accessed through the hash table. A counter is updated whenever an object is added to or deleted from any of the hash table buckets. The number of freeable objects is the sum of the counter values across all cpus. Signed-off-by: Ann Koehler <amk@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/14066 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6365 Reviewed-by: Mike Pershin <mike.pershin@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f830d8d54d348783a7c23635fb985b40e5db963 Author: Andrew Perepechko <andrew.perepechko@xxxxxxxxxxx> Date: Mon Sep 14 18:41:29 2015 -0400 staging/lustre/llite: ASSERTION( atomic_read(&d->ld_ref) == 0 ) failed ll_iget_for_nfs() can call unbalanced iput() causing memory leaks. This patch removes this iput() call. Also, avoid unhashing disconnected dentries in d_lustre_invalidate(), which is another source of memory leaks. One of the symptoms of the leak is the following crash pattern: LustreError: 14812:0:(lu_object.c:1251:lu_device_fini()) ASSERTION( atomic_read(&d->ld_ref) == 0 ) failed: Refcount is 1 LustreError: 14812:0:(lu_object.c:1251:lu_device_fini()) LBUG Pid: 14812, comm: umount Call Trace: [<ffffffffa11bc895>] libcfs_debug_dumpstack+0x55/0x80 [libcfs] [<ffffffffa11bce97>] lbug_with_loc+0x47/0xb0 [libcfs] [<ffffffffa1458a48>] lu_device_fini+0xb8/0xc0 [obdclass] [<ffffffffa08e9ab2>] lovsub_device_free+0x52/0x220 [lov] [<ffffffffa145c64e>] lu_stack_fini+0x7e/0xc0 [obdclass] [<ffffffffa146356e>] cl_stack_fini+0xe/0x10 [obdclass] [<ffffffffa08bc1a8>] lov_device_fini+0x58/0x120 [lov] [<ffffffffa145c619>] lu_stack_fini+0x49/0xc0 [obdclass] [<ffffffffa146356e>] cl_stack_fini+0xe/0x10 [obdclass] [<ffffffffa0e1279d>] cl_sb_fini+0x6d/0x190 [lustre] [<ffffffffa0dd34bc>] ll_put_super+0x1bc/0x11e0 [lustre] [<ffffffff811cd0f2>] ? fsnotify_clear_marks_by_inode+0x32/0xf0 [<ffffffff811a59df>] ? destroy_inode+0x2f/0x60 [<ffffffff811a5eac>] ? dispose_list+0xfc/0x120 [<ffffffff811a62a6>] ? invalidate_inodes+0xf6/0x190 [<ffffffff8118b35b>] generic_shutdown_super+0x5b/0xe0 [<ffffffff8118b446>] kill_anon_super+0x16/0x60 [<ffffffffa144e7ba>] lustre_kill_super+0x4a/0x60 [obdclass] [<ffffffff8118bbe7>] deactivate_super+0x57/0x80 [<ffffffff811aabef>] mntput_no_expire+0xbf/0x110 [<ffffffff811ab73b>] sys_umount+0x7b/0x3a0 [<ffffffff8100b072>] system_call_fastpath+0x16/0x1b Signed-off-by: Andrew Perepechko <andrew.perepechko@xxxxxxxxxxx> Reviewed-on: http://review.whamcloud.com/15480 Xyratex-bug-id: MRP-2414 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6794 Reviewed-by: Lai Siyao <lai.siyao@xxxxxxxxx> Reviewed-by: Bobi Jam <bobijam@xxxxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f3622b90fb551d3672479ad1e4ab649d7fcdbad Author: Isaac Huang <he.huang@xxxxxxxxx> Date: Mon Sep 14 18:41:28 2015 -0400 staging/lustre/o2iblnd: wrong uses of kib_tx_t::tx_nfrags The kib_tx_t::tx_nfrags field is the # entries in the kib_tx_t::tx_frags array, rather than # DMA mapped entries. So kiblnd_send/kiblnd_recv should use kib_rdma_desc_t::rd_nfrags instead. Signed-off-by: Isaac Huang <he.huang@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12857 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5956 Reviewed-by: Liang Zhen <liang.zhen@xxxxxxxxx> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: Doug Oucharek <doug.s.oucharek@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4dcb710986aa3bbcee8172b2ea6387982d5455cc Author: Liang Zhen <liang.zhen@xxxxxxxxx> Date: Mon Sep 14 18:41:27 2015 -0400 staging/lustre/lnet: fix deadloop in ksocknal_push ksocknal_push() should break the loop if it can't find matching peer Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4423 Reviewed-on: http://review.whamcloud.com/10128 Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: Doug Oucharek <doug.s.oucharek@xxxxxxxxx> Reviewed-by: Isaac Huang <he.huang@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a956d8c1939e2ad34047fde96d40d39ec2186cf Author: Niu Yawei <yawei.niu@xxxxxxxxx> Date: Mon Sep 14 18:41:26 2015 -0400 staging/lustre/libcfs: minor fix in cfs_hash_for_each_relax() cfs_hash_for_each_relax() should break iteration when callback returns non-zero value. Signed-off-by: Niu Yawei <yawei.niu@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/14927 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6636 Reviewed-by: Bobi Jam <bobijam@xxxxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Liang Zhen <liang.zhen@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0df83c184effeac5d05394b65ca7baef71f41178 Author: Hiroya Nozaki <nozaki.hiroya@xxxxxxxxxxxxxx> Date: Mon Sep 14 18:41:25 2015 -0400 staging/lustre/osc: LBUG in osc_lru_reclaim LASSERT touches cl_client_cache->ccc_lru without any protection. So this patch the LASSERT moves to the section protected by cl_client_cache->ccc_lru_lock Signed-off-by: Hiroya Nozaki <nozaki.hiroya@xxxxxxxxxxxxxx> Reviewed-on: http://review.whamcloud.com/14901 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6624 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fa3c577bb8d57a517445af1015035eb43a87a1f Author: Liang Zhen <liang.zhen@xxxxxxxxx> Date: Mon Sep 14 18:41:24 2015 -0400 staging/lustre/o2iblnd: connection refcount fix for kiblnd_post_rx kiblnd_post_rx() can't refer to rx::rx_conn anymore after ib_post_recv() because this rx can be polled out by another thread which may drop this rx and destroy rx::rx_conn. This patch fixes this issue by taking an extra refcount on connection before calling ib_post_recv(). Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12852 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5678 Reviewed-by: Isaac Huang <he.huang@xxxxxxxxx> Reviewed-by: Amir Shehata <amir.shehata@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbaa9c10328aa14615733c407b0c2f6d9c3df330 Author: Niu Yawei <yawei.niu@xxxxxxxxx> Date: Mon Sep 14 18:41:23 2015 -0400 staging/lustre/llite: deny non-root user for changelog operations To avoid potential security problems, non-privileged users should have no permission to run 'lfs changelog' & 'lfs changelog_clear'. Signed-off-by: Niu Yawei <yawei.niu@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/14280 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6415 Reviewed-by: Lai Siyao <lai.siyao@xxxxxxxxx> Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ced41eba4111e954af6a67ff45e30072a89d6cc5 Author: Oleg Drokin <oleg.drokin@xxxxxxxxx> Date: Mon Sep 14 18:41:22 2015 -0400 staging/lustre/lmv: fix potential null pointer dereference In lmv_disconnect_mdc do procfs removal only if we actually know the name. Reviewed-on: http://review.whamcloud.com/14605 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6517 Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e4fe2bde9028d4cd8090e08331305e51771c125 Author: Andreas Dilger <andreas.dilger@xxxxxxxxx> Date: Mon Sep 14 18:41:21 2015 -0400 staging/lustre/ptlrpc: remove LUSTRE_MSG_MAGIC_V1 support Remove the remains of LUSTRE_MSG_MAGIC_V1 support from ptlrpc. It has not been supported since 1.8 and is not functional since 2.0. In lustre_msg_check_version(), return an error for unsupported RPC versions so that the server will reject such RPCs early. Otherwise the server only prints an error message and continue on. Signed-off-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/14007 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6349 Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2742c75ec6f086dff1102f801fd0bff7a15ec3fd Author: Bruno Faccini <bruno.faccini@xxxxxxxxx> Date: Mon Sep 14 18:41:20 2015 -0400 staging/lustre/llite: strengthen checks for hsm flags and archive id Prior to this patch undefined flags bits and out of range archive id can be set. Signed-off-by: Bruno Faccini <bruno.faccini@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/13337 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5757 Reviewed-by: frank zago <fzago@xxxxxxxx> Reviewed-by: Henri Doreau <henri.doreau@xxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44ecac688986e96d6654a1f71ce07032a8f6c278 Author: Fan Yong <fan.yong@xxxxxxxxx> Date: Mon Sep 14 18:41:19 2015 -0400 staging/lustre/llite: cleanup open handle for client open failure For open case, the client side open handling thread may hit error after the MDT grant the open. Under such case, the client should send close RPC to the MDT as cleanup; otherwise, the open handle on the MDT will be leaked there until the client umount or evicted. If the LFSCK marks LU_OBJECT_HEARD_BANSHEE on the MDT-object that is opened by others for repairing some inconsistency, such as repairing multiple-referenced OST-object, because the leaked open handle still references the MDT-object, then it will block the subsequent threads that want to locate such object via FID. Signed-off-by: Fan Yong <fan.yong@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/13709 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6301 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Lai Siyao <lai.siyao@xxxxxxxxx> Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e580ab50a3d3344be5d410406967edcc691d8a0 Author: Frank Zago <fzago@xxxxxxxx> Date: Mon Sep 14 18:41:18 2015 -0400 staging/lustre/obdclass: reorganize busy object accounting Due to some accounting bug, lsb_busy of a hash bucket can become larger than the total number of objects in said bucket. A busy object can be counted more than once. When that happens, a negative value is returned by the shrinker callback. Instead of trying (and failing) to count the busy objects, count the objects than are not busy, i.e. the objects that are present on the lsb_lru list. The number of busy objects is then the difference between the number of objects in the hash and the objects on the lsb_lru list. Signed-off-by: frank zago <fzago@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/12468 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5722 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Mike Pershin <mike.pershin@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b03f395a3e9bf4874fb58f4fe6033866d3b9f105 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 14 18:41:17 2015 -0400 staging/lustre/lnet: Reenable lnet router debugfs It looks like router proc files were defined out, so I missed them during debugfs conversion. Reenable the code and move all the variables to debugfs. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbbe6bf6037d77816c4a19aaf35f4cecf662b49a Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Sun Sep 6 07:13:35 2015 +0000 perf tools: Introduce regs_query_register_offset() for x86 regs_query_register_offset() is a helper function which converts register name like "%rax" to offset of a register in 'struct pt_regs', which is required by BPF prologue generator. Since the function is identical, try to reuse the code in arch/x86/kernel/ptrace.c. Comment inside dwarf-regs.c list the differences between this implementation and kernel code. get_arch_regstr() switches to regoffset_table and the old string table is dropped. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441523623-152703-20-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 63ab024a5b6f295ca17a293ad81b7c728f49a89a Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Mon Sep 14 23:02:49 2015 -0300 perf tools: regs_query_register_offset() infrastructure regs_query_register_offset() is a helper function which converts register name like "%rax" to offset of a register in 'struct pt_regs', which is required by BPF prologue generator. PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET indicates an architecture supports converting name of a register to its offset in 'struct pt_regs'. HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET is introduced as the corresponding CFLAGS of PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441523623-152703-19-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> [ Extracted from eBPF patches ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 196581717d85f59365dc9303685cd5b1cdf106a3 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 7 10:38:07 2015 +0200 perf tools: Enhance parsing events tracepoint error output Enhancing parsing events tracepoint error output. Adding more verbose output when the tracepoint is not found or the tracing event path cannot be access. $ sudo perf record -e sched:sched_krava ls event syntax error: 'sched:sched_krava' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing//tracing/events/sched/sched_krava not found. Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?. Run 'perf list' for a list of valid events ... $ perf record -e sched:sched_krava ls event syntax error: 'sched:sched_krava' \___ can't access trace events Error: No permissions to read /sys/kernel/debug/tracing//tracing/events/sched/sched_krava Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug' Run 'perf list' for a list of valid events ... Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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/1441615087-13886-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8dd2a1317eba2c207632dcb19adb7cb746861652 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 7 10:38:06 2015 +0200 perf evsel: Propagate error info from tp_format Propagate error info from tp_format via ERR_PTR to get it all the way down to the parse-event.c tracepoint adding routines. Following functions now return pointer with encoded error: - tp_format - trace_event__tp_format - perf_evsel__newtp_idx - perf_evsel__newtp This affects several other places in perf, that cannot use pointer check anymore, but must utilize the err.h interface, when getting error information from above functions list. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441615087-13886-5-git-send-email-jolsa@xxxxxxxxxx [ Add two missing ERR_PTR() and one IS_ERR() ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e2f9f8ea6a54e252e3a94a5c2321f673b5b97360 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 7 10:38:05 2015 +0200 perf tools: Propagate error info for the tracepoint parsing Pass 'struct parse_events_error *error' to the parse-event.c tracepoint adding path. It will be filled with error data in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Reviewed-by: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441615087-13886-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 01ca9fd41d6f2ad796a6b109b5253e06b6ae6dc7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 7 10:38:03 2015 +0200 tools: Add err.h with ERR_PTR PTR_ERR interface Adding part of the kernel's <linux/err.h> interface: inline void * __must_check ERR_PTR(long error); inline long __must_check PTR_ERR(__force const void *ptr); inline bool __must_check IS_ERR(__force const void *ptr); It will be used to propagate error through pointers in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Reviewed-by: 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/1441615087-13886-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9bae1e8c3fe5359ce17309b894f54667fd563e98 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Sep 10 11:27:05 2015 +0900 perf probe: Export init/exit_probe_symbol_maps() The init/exit_symbols_maps() functions are to setup and cleanup necessary info for probe events. But they need to be called from out of the probe code now, so this patch exports them. However the names are too generic, so change them to have 'probe'. :) Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441852026-28974-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a43aac299c3abc09eff856039f5b72166b780d35 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Sep 10 11:27:04 2015 +0900 perf probe: Free perf_probe_event in cleanup_perf_probe_events() The cleanup_perf_probe_events() frees all resources related to a perf probe event. However it only freed resources in trace probe events, not perf probe events. So call clear_perf_probe_event() too. Reported-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441852026-28974-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 10d9be6ebe9199feb7680433a24b564a31a8f9b1 Author: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Date: Tue Sep 15 12:55:15 2015 +0300 clk: tegra: Unlock top rates for Tegra124 DFLL clock The new determine_rate prototype allows for clock rates exceeding 2^31-1 Hz to be used. Switch the DFLL clock to use determine_rate instead of round_rate and unlock the top rates supported by the Tegra124. Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3f5331324f187b3dc7634c4fb4351f7bd36fad21 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:46 2015 +0200 ARM: tegra: colibri-eval: Fix power/wakeup key Rather than a power key SODIMM pin 45 is actually used for wake-up purposes which this patch fixes. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ccb43161b0bde0d22692dbfb34383f2c0228abc3 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:45 2015 +0200 ARM: tegra: colibri-eval: Add comment concerning SD/MMC Instead of adding an otherwise unused sdmmc label just add a comment. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e4212ffa41361aae7824844609ea4ac9f78513d8 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:44 2015 +0200 ARM: tegra: colibri-eval: Fix vendor string of M41T0M6 RTC Fix compatible vendor string of M41T0M6 real time clock as found on the Colibri Evaluation board. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d5edc4ecc84edc6a336592a39946f44543158cf3 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Sep 15 10:29:57 2015 +0200 ARM: tegra: colibri: Properly align pin names Align pin names on subsequent lines with the first the name of the first pin in the first line. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3791d1cc4bb1aa78c1032873a637ceeaf304a704 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:43 2015 +0200 ARM: tegra: colibri: Replace eMMC label by comment Rather than a bogus label just add a comment identifying the SDHCI instance connected to the on-module eMMC. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 737a7c26a8917f4789884f728e66856a5d526556 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:42 2015 +0200 ARM: tegra: colibri: Activate STMPE811 touch controller Activate STMPE811 touch controller as found on Colibri T30 modules. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 6456e9c5a27fad0345d2b24ea35ce5562917a352 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:41 2015 +0200 ARM: tegra: colibri: Add touch pen interrupt pin muxing Add TOUCH_PEN_INT# pin muxing required for proper STMPE811 touch screen controller operation. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b038e3b916cf5c6f4f27f1fbaa10b657a941be54 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:40 2015 +0200 ARM: tegra: colibri: Fix comment about 3v3 fixed supply Fix the comment about the 3v3 fixed supply as the previous v3_3 was bogus. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e48f6c0eaac087519f9343297eedc6dc117bb153 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:39 2015 +0200 ARM: tegra: colibri: Add pin muxing for on-module power I2C Add pin muxing for the on-module power I2C bus which connects to the PMICs, temperature sensor and touch screen controller. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 62bcaba1ab2fb1a9ce5e6d7540ca5efa609fe480 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:38 2015 +0200 ARM: tegra: colibri: Improve comment about thermal alert pin Improve the comment about the THERMD_ALERT# pin which is the unlatched I2C address pin of the LM95245 temperature sensor and therefore requires disabling for now otherwise it won't get detected properly. While at it also move that pin further down to have it alphabetically sorted again. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 312d373225fb9f05a9b45207087378d236026b4e Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:37 2015 +0200 ARM: tegra: colibri: Fix HDMI supplies Fix HDMI supplies (both regular VDD as well as PLL ones) being switched by the TPS65911 PMIC's GPIO6 aka EN_VDD_HDMI by introducing two new GPIO witched fixed regulators avdd_hdmi_pll_1v8_reg and avdd_hdmi_3v3_reg. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 39ebbf61d4a71dc0f47ac443c9d3fb433b057283 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:36 2015 +0200 ARM: tegra: colibri: Update hardware revisions compatibility Update introductory comment about what exact hardware revisions this device tree is compatible with as a hint for our customers. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 21db15df49e9095326ce672209ec47c022105422 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:36 2015 +0200 ARM: tegra: apalis-eval: Fix power/wakeup key Rather than a power key, WAKE1_MICO is actually a standard Apalis MXM3 pin used for wake-up purposes which this patch fixes. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9ecf78c277ab721f793cccc84312d7f55011b40c Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:35 2015 +0200 ARM: tegra: apalis-eval: Fix backlight PWM comment Fix the backlight PWM comment as it is actually called PWM_BKL1 rather than just PWM0. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ea147c8f0e8e5265143f43e602b978ff1859a1b1 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:34 2015 +0200 ARM: tegra: apalis-eval: Set OTG dr_mode This has currently no functional effect as neither USB device nor OTG is currently supported on any Tegras in mainline as of yet. However once we use the same device tree on U-Boot this will actually make it work properly there. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 26f660d9db98582e28b85a95cd2318ba2dc9df8a Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:33 2015 +0200 ARM: tegra: apalis-eval: Enable HDA controller Actually enable HDA now that it should otherwise be supported by the driver and the device tree. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 40699b926df77ccfe2a85c14ede6ac61e515bb40 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Sep 15 10:29:57 2015 +0200 ARM: tegra: apalis: Properly align pin names Align pin names on subsequent lines with the first the name of the first pin in the first line. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4399f40b2bebde152171112253990f1a88abd912 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:32 2015 +0200 ARM: tegra: apalis: Add digital audio pin muxing Add Apalis digital audio pin muxing which is e.g. used for HDA operation together with the Realtek HDA codec as found on the Apalis Evaluation board. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7be74b0594a51a1b0fb1eba1001e7beda6a4b9de Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:31 2015 +0200 ARM: tegra: apalis: Add comment concerning eMMC Instead of adding an otherwise unused emmc label just add a comment describing what the SDHCI is routed to. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0f44de6cb8904e9a686188aaa51323280d37e127 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:30 2015 +0200 ARM: tegra: apalis: Fix pin muxing Fix pin muxing which got broken due to certain stuff having been fixed or renamed since. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 654b7d6aec9e55ca5e67adb3bdf0fefd9533c900 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:29 2015 +0200 ARM: tegra: apalis: Fix HDMI power supplies Fix HDMI supplies (both regular VDD as well as PLL ones) being switched by the TPS65911 PMIC's GPIO6 aka EN_VDD_HDMI by introducing two new GPIO switched fixed regulators avdd_hdmi_pll_1v8_reg and avdd_hdmi_3v3_reg. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a5e27206b3b560f91aa421e166029db02b15a7dd Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:28 2015 +0200 ARM: tegra: apalis: Update hardware revisions compatibility comment Update introductory comment about what exact hardware revisions this device tree is compatible with as a hint for our customers. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d8b316b2509f224308e851036653364c22222c61 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Thu Aug 27 11:44:48 2015 +0200 ARM: tegra: Whitespace clean-up for Tegra20/30/124 There were a few cases of eight spaces being used instead of a tab character plus one case of using two spaces after an equal sign instead of just one which this patch fixes. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9a0baee960a718b2fde249b7d9197641fb8eb08d Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Wed Jun 3 12:43:41 2015 +0100 ARM: tegra: Enable CPUFreq support for Tegra124 Chromebooks Add the device-tree DFLL clock node and CPU regulator phandle for Tegra124 Chromebooks to enable CPUFreq support on these boards. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Reviewed-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7993b3ebec979b23c2d7425959c9d232c452498b Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:37 2015 +0530 clk: samsung: exynos7: Add required clock tree for UFS Adding required mux/div/gate clocks for UFS controller present on Exynos7. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit ad108e10ae3ce6bc68eb89e788296a3c40801482 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:36 2015 +0530 clk: samsung: exynos7: Add missing fixed_clks to cmu_info FSYS0 fixed clocks are not added to fsys0_cmu_info, this makes some of the usb clocks orphans. This fixes the same. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 753195a749a6c849dbd05cb82a2deb4190a06257 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:35 2015 +0530 clk: samsung: exynos7: Correct CMU_FSYS1 clocks names This patch renames CMU_FSYS1 clocks names to match with user manual. And also adds missing gate clock for aclk_fsys1_200. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit a259a61be1d0d01aa2dd4778722e4d161780c813 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:34 2015 +0530 clk: samsung: exynos7: Correct CMU_FSYS0 clocks names This patch renames CMU_FSYS0 clocks names to match with user manual. And also adds missing gate clock for aclk_fsys0_200. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 6ce0f5cf11a1165675a1eef8a17b8738fea3f9da Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:33 2015 +0530 clk: samsung: exynos7: Correct CMU_PERIS clocks names This patch renames CMU_PERIS clocks names to match with user manual. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 33b8b739ef5ec43b5119ab011c0a885fc565ad19 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:32 2015 +0530 clk: samsung: exynos7: Correct CMU_PERIC1 clocks names This patch renames CMU_PERIC1 clocks names to match with user manual. And also adds missing gate clock for aclk_peric1_66. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 3f54fb1e09da301173bc44845f93a1be7fe33d8f Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:31 2015 +0530 clk: samsung: exynos7: Correct CMU_PERIC0 clocks names This patch renames CMU_PERIC0 clocks names to match with user manual. And also adds missing gate clock for aclk_peric0_66. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 56365ee893558a613e2c99e462f29d0047e54b5f Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:30 2015 +0530 clk: samsung: exynos7: Correct CMU_CCORE clocks names This patch renames CMU_CCORE clocks names to match with user manual. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 716d81e3508cad4f8c2fa4e48088646c0a9bbe7d Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 23:08:15 2015 +0200 ARM: tegra: Update default configuration Update the Tegra default configuration for the following features: - expose hardware/virtual IRQ mapping via debugfs - WM9712 audio/touch controller as found on Colibri T20 - sysfs interface for GPIOs - NFS client support for NFS version 4 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9b3ad363c107af4ea35f745c0ef5f1587b3bdf3c Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:29 2015 +0530 clk: samsung: exynos7: Correct CMU_TOP1 clocks names This patch renames CMU_TOP1 clocks names to match with user manual. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit cf5ee64c358bbfc238abe5417a99415a7d881ed6 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:28 2015 +0530 clk: samsung: exynos7: Correct CMU_TOP0 clocks names This patch renames CMU_TOP0 clocks names to match with user manual. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 241e077b560ce3a67bb3ba681d9e5494a6c1042d Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Sep 15 11:10:48 2015 +0200 ARM: tegra: Rebuild default configuration on v4.3-rc1 As a result of rebuilding the configuration the following symbols are removed: - EXT4_FS: ext3 has finally been removed from the kernel. ext4 provides feature parity and can be used to mount ext3 filesystems. EXT3_FS selects EXT4_FS. - EXT3_DEFAULTS_TO_ORDERED: Removed as part of the ext3 filesystem removal. - IPV6: IPv6 is now built-in by default Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 2cbb51574557a8affe0732ad23a840cf90c656b1 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:27 2015 +0530 clk: samsung: exynos7: Adds missing clocks gates of CMU_TOPC This adds some of the missing GATE clocks of CMU_TOPC block. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit dc504b2277c86b97ca58cf02dde5652eb5ce6d86 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:26 2015 +0530 clk: samsung: exynos7: Change the CMU_TOPC block clock names Corrects the CMU_TOPC block clock names as per user manual. This does not change any functionalities. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 167c9e4d6d11263eb8b3712e17c0d7952812cdf2 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Wed Aug 26 09:00:44 2015 +0530 clk: samsung: exynos7: Correct nr_clk_ids for fsys1 nr_clk_ids for FSYS1 block is wrongly set as TOP1 block, this patch corrects it. Signed-off-by: Padmavathi Venna <padma.v@xxxxxxxxxxx> Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 7cca2e0744a990bfa0ae93a40c886fd589fb37b7 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Wed Aug 26 09:00:43 2015 +0530 clk: samsung: exynos7: Correct nr_clk_ids for fsys0 This patch corrects the nr_clk_ids for fsys0 block which is wrongly set to number of clocks of the TOP1 CMU. This also adjusts the gate clocks order. Signed-off-by: Padmavathi Venna <padma.v@xxxxxxxxxxx> Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit cfc7588a310254b659cb0a6fcca1fffd3f223090 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Wed Aug 26 09:00:42 2015 +0530 clk: samsung: exynos7: Fix CMU TOP1 block As per UM, sclk_mmc2 is bit 16 of SEL_TOP1_FSYS0. Also the DIV and the GATE clocks are at bit 16 in their respective registers. For mmc1 and mmc0 clock MUXs are in TOP1_FSYS11 instead of TOP1_FSYS1. And their DIV and GATE clks are in xxx_TOP1_FSYS11 instead of TOP1_FSYS1. This patch corrects it. This also adds xxx_FSYS11 to be saved/restore during s2r cycles. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit fa9f3a526459ef33f1ca54aad231c5a23071f37f Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Wed Aug 26 09:00:41 2015 +0530 clk: samsung: exynos7: Fix CMU TOPC block clock Corrects the bit width of DIV_TOPC3 register. These are wrongly set to 3 which should be 4 bit wide as per UM. This also adjusts the MUX clock order. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 9059b284caecb628fac826c2c5cc8ee85708eec1 Merge: 8f3e568 92d424a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 15 08:50:59 2015 +0200 Merge tag 'perf-core-for-mingo-2' 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 'socket' sort entry, to sort by the processor socket in 'perf top' and 'perf report'. (Kan Liang) - Introduce --socket-filter to 'perf report', for filtering by processor socket. (Kan Liang) - Add new "Zoom into Processor Socket" operation in the perf hists browser, used in 'perf top' and 'perf report'. (Kan Liang) - Fix the 'CPU' hist browser column width calculation. (Arnaldo Carvalho de Melo) Infrastructure changes: - 'perf test' fixes for the object code reading entry. (Jan Stancek) - Add processor socket and cpu topology 'perf test' entries. (Kan Liang) - Introduce more sysfs__read_TYPE() helpers. (Arnaldo Carvalho de Melo) - Group cpu information reading functions in tools/lib/api/cpu.[ch], starting with cpu__get_max_freq() from a patchkit by Kan Liang. (Arnaldo Carvalho de Melo) - Retrieve the MSR PMU type from a perf.data file header and store it in struct perf_env. (Kan Liang) - Add tools/include into CTAGS file list. (Jiri Olsa) - Add iterator function for perf tests. (Matt Fleming) - Switch to tracing_patch interface. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 73477bbb09e7022063d1737c7322ad2e08968c23 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Aug 27 20:15:28 2015 +0200 x86/fpu/math-emu: Remove !NO_UNDOC_CODE We always want to support all FPU opcodes, including undocumented ones. That define was fully justified ~20 years ago but not today. Let's not complicate the code with it. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440699330-1305-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f934c745079ea3a15e8619350faf681dad42cc91 Author: Rami Rosen <ramirose@xxxxxxxxx> Date: Fri Sep 11 17:49:22 2015 +0300 ACPI: change acpi_sleep_proc_init() to return void This patch changes the type of the return value of the acpi_sleep_proc_init() method to be void, as this method never fails and its return value is never used. Signed-off-by: Rami Rosen <ramirose@xxxxxxxxx>\ [ rjw : Fixed up the static inline stub ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c33cab60bc0e05ddf1ef1b2cba8d16dd010f600a Author: Rami Rosen <ramirose@xxxxxxxxx> Date: Thu Sep 10 23:48:09 2015 +0300 ACPI: change init_acpi_device_notify() to return void This patch changes the type of the return value of the init_acpi_device_notify() method to be void, as this method never fails and its return value is never used. Signed-off-by: Rami Rosen <ramirose@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6a0d12ef993c5291047d72e88d73d0aa2b967335 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:59:43 2015 +0200 ACPI / scan: use kstrdup_const() in acpi_add_id() Empirically, acpi_add_id is mostly called with string literals, so using kstrdup_const for initializing struct acpi_hardware_id::id saves a little run-time memory and a string copy. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 844142c3f80c66fb2c311b118d60abdfe02322cb Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:59:42 2015 +0200 ACPI / scan: constify struct acpi_hardware_id::id This is preparation for using kstrdup_const to initialize that member. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 636c19d38920caee61d694ef306d110d33935038 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:59:41 2015 +0200 ACPI / scan: constify first argument of struct acpi_scan_handler::match One wouldn't expect a "match" function modify the string it searches for, and indeed the only instance of the struct acpi_scan_handler::match callback, acpi_pnp_match, can easily be changed. While there, update its helper matching_id(). This is also preparation for constifying struct acpi_hardware_id::id. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f59d3ee8480d30f41914cb4bed5086237e8507b0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Sep 4 13:47:26 2015 +0530 PM / OPP: Move cpu specific code to opp/cpu.c Move cpu device specific code out of generic opp library, and add it to cpu.c. Along with that, create a core-internal opp.h header, which will be used to share structures and function prototypes within opp core. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 33692dc381f9b89ddfc408631bf670ac2fd08ffc Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Sep 4 13:47:25 2015 +0530 PM / OPP: Move opp core to its own directory OPP code is expanding and is already present in multiple directories (cpufreq and power). Lets move it to its own directory, to manage it better. This also moves/renames the cpufreq_opp file to cpu.c, as it will contain helpers for cpu device. Its not just about cpufreq, other frameworks can use OPPs as well. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8f8d37b2537a28b5b2e3cb60dfc85a2a1303f99b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Sep 4 13:47:24 2015 +0530 PM / OPP: Prefix exported opp routines with dev_pm_opp_ That's the naming convention followed in most of opp core, but few routines didn't follow this, fix them. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f0489a5ef4d011e29f78021ad13a543e8769d619 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Sep 4 13:47:23 2015 +0530 PM / OPP: Rename opp init/free table routines free-table routines are opposite of init-table ones, and must be named to make that clear. Opposite of 'init' is 'exit', but those doesn't suit really well. Replace 'init' with 'add' and 'free' with 'remove'. Reported-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1840995c52d44bec8c20d6c07a706dc1499da9da Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Sep 4 13:47:22 2015 +0530 PM / OPP: reuse of_parse_phandle() We already have a better API to get the opp descriptor block's node from cpu-node. Lets reuse that instead of creating our own routines for the same stuff. That cleans the code a lot. This also kills a check we had earlier (as we are using the generic API now). Earlier we used to check if the operating-points-v2 property contained multiple phandles instead of a single phandle. Killing this check isn't an issue because, we only parse the first entry with of_parse_phandle(). So, if a user passes multiple phandles, its really his problem :) Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 504a33749971c36c54ba5ccb1364872dee1f17a7 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:42:33 2015 +0200 ACPI / property: Extend device_get_next_child_node() to data-only nodes Make device_get_next_child_node() work with ACPI data-only subnodes introduced previously. Namely, replace acpi_get_next_child() with acpi_get_next_subnode() that can handle (and return) child device objects as well as child data-only subnodes of the given device and modify the ACPI part of the GPIO subsystem to handle data-only subnodes returned by it. To that end, introduce acpi_node_get_gpiod() taking a struct fwnode_handle pointer as the first argument. That argument may point to an ACPI device object as well as to a data-only subnode and the function should do the right thing (ie. look for the matching GPIO descriptor correctly) in either case. Next, modify fwnode_get_named_gpiod() to use acpi_node_get_gpiod() instead of acpi_get_gpiod_by_index() which automatically causes devm_get_gpiod_from_child() to work with ACPI data-only subnodes that may be returned by device_get_next_child_node() which in turn is required by the users of that function (the gpio_keys_polled and gpio-leds drivers). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d079524a33977dc08ea15650a21a1664a7313941 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:41:33 2015 +0200 ACPI / gpio: Split acpi_get_gpiod_by_index() Split acpi_get_gpiod_by_index() into three smaller routines to allow the subsequent change of the generic firmware node properties code to be more strarightforward. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3a7a2ab839ad18c2d542b40f4a647c98d068e55a Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:40:05 2015 +0200 ACPI / property: Extend fwnode_property_* to data-only subnodes Modify is_acpi_node() to return "true" for ACPI data-only subnodes as well as for ACPI device objects and change the name of to_acpi_node() to to_acpi_device_node() so it is clear that it covers ACPI device objects only. Accordingly, introduce to_acpi_data_node() to cover data-only subnodes in an analogous way. With that, make the fwnode_property_* family of functions work with ACPI data-only subnodes introduced previously. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 263b4c1a64bc12470684aeaf7c44f03d31716819 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:37:19 2015 +0200 ACPI / property: Expose data-only subnodes via sysfs Add infrastructure needed to expose data-only subnodes of ACPI device objects introduced previously via sysfs. Each data-only subnode is represented as a sysfs directory under the directory corresponding to its parent object (a device or a data-only subnode). Each of them has a "path" attribute (containing the full ACPI namespace path to the object the subnode data come from) at this time. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 445b0eb058f5f31c844a731cb82e7441d0d9e578 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:36:14 2015 +0200 ACPI / property: Add support for data-only subnodes In some cases, the information expressed via device properties is hierarchical by nature. For example, the properties of a composite device consisting of multiple semi-dependent components may need to be represented in the form of a tree of property data sets corresponding to specific components of the device. Unfortunately, using ACPI device objects for this purpose turns out to be problematic, mostly due to the assumption made by some operating systems (that platform firmware generally needs to work with) that each device object in the ACPI namespace represents a device requiring a separate driver. That assumption leads to complications which reportedly are impractically difficult to overcome and a different approach is needed for the sake of interoperability. The approach implemented here is based on extending _DSD via pointers (links) to additional ACPI objects returning data packages formatted in accordance with the _DSD formatting rules defined by Section 6.2.5 of ACPI 6. Those additional objects are referred to as data-only subnodes of the device object containing the _DSD pointing to them. The links to them need to be located in a separate section of the _DSD data package following UUID dbb8e3e6-5886-4ba6-8795-1319f52a966b referred to as the Hierarchical Data Extension UUID as defined in [1]. Each of them is represented by a package of two strings. The first string in that package (the key) is regarded as the name of the data-only subnode pointed to by the link. The second string in it (the target) is expected to hold the ACPI namespace path (possibly utilizing the usual ACPI namespace search rules) of an ACPI object evaluating to a data package extending the _DSD. The device properties initialization code follows those links, creates a struct acpi_data_node object for each of them to store the data returned by the ACPI object pointed to by it and processes those data recursively (which may lead to the creation of more struct acpi_data_node objects if the returned data package contains the Hierarchical Data Extension UUID section with more links in it). All of the struct acpi_data_node objects are present until the the ACPI device object containing the _DSD with links to them is deleted and they are deleted along with that object. [1]: http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit bd8191cc8a74018e255eb3efff5e02dc305a5ed1 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:35:14 2015 +0200 ACPI / property: Add routine for extraction of _DSD properties Move the extraction of _DSD properties from acpi_init_properties() to a separate routine called acpi_extract_properties() to make the subsequent changes more straightforward. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit de0d542338bc507d2fc21bfca2be540f17fc874a Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Wed Aug 26 18:35:29 2015 -0400 ARM: multi_v7_defconfig: Add NSP to defconfig Add the Broadcom Northstar Plus SoC to the multi_v7_defconfig Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 63f37ddf5c221c5a86ea9e45625bd0381feabc13 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Wed Aug 26 18:35:30 2015 -0400 MAINTAINERS: add entry for the Broadcom Northstar Plus SoCs Modify the iProc MAINTAINER to cover the Nortstar Plus SoCs, and add me to the list of people responsible for it. Since iProc is a family of SoCs that includes more than just Cygnus (i.e., Northstar (BCM5301X), Northstar Plus, Northstar 2, and a number of other platforms), remove it from the title to avoid any future confusion. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit aca770fb4f9a88434e77b922743e5010a43f73d1 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Jun 18 17:11:36 2015 -0700 ARM: dts: brcmstb: add BCM7445 system PM DT nodes Need the aon-ctrl, boot SRAM, and memory_controller descriptions. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> [florian: remove wake-timer, aon-pm-l2-intc duplicate] Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 9c07d61f1bbb96beb01dcc2b109cf56e61f9b819 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Jun 18 17:11:30 2015 -0700 Documentation: dt: brcmstb: add system PM bindings Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit bb1d8fba19654be3a92cf40a4c67e64ec7d4fc8f Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Sep 12 13:17:36 2015 +0200 ARM: BCM5301X: add NAND flash chip description for Asus RT-AC87U The NAND flash chip description were not imported for the Asus RT-AC87U dts file when this was done for all the other dts files, because these patches were send in parallel. This adds a missing NAND flash chip description to this patch: commit 9faa5960eef3204cae6637b530f5e23e53b5a9ef Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Fri May 29 23:39:47 2015 +0200 ARM: BCM5301X: add NAND flash chip description Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit bfae737540fd2647afb55dfb480964042819b751 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Aug 26 16:13:22 2015 +0200 ARM: BCM5301X: Add DT for Netgear R7000 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 7b2e987de20781ce74c160a59dbf6a2c06983794 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Mon Aug 31 19:48:53 2015 -0400 ARM: NSP: add minimal Northstar Plus device tree Add a very minimalistic set of Northstar Plus Device Tree files which describes the SoC and the BCM958625 implementation. The perpherials described are: ARM Cortex A9 CPU 2 8250 UARTs ARM GIC PL310 L2 Cache ARM A9 Global timer Signed-off-by: Kapil Hali <kapilh@xxxxxxxxxxxx> Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 40b43419e61cbeb3946953df46d4a18d47f8e09c Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Wed Aug 26 18:35:26 2015 -0400 dt-bindings: Create Documentation for NSP DT bindings Add the documentation for the Broadcom Northstar Plus device tree bindings. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d52fad262041217be0a0e7049253186ec9cfb2a6 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Jun 18 17:11:32 2015 -0700 soc: add stubs for brcmstb SoC's Used on BCM7xxx Set-Top Box chips (e.g., BCM7445). Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 1f3e9a6edae4f1168a4baaeb4c55d4eb5a8f7501 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Wed Aug 26 18:35:28 2015 -0400 ARM: NSP: Add basic support for Broadcom Northstar Plus SoC Broadcom Northstar Plus family of SoCs are used for switching control and management applications as well as residential router/gateway applications. The SoC features dual core Cortex A9 ARM CPUs, integrating several peripheral interfaces including multiple Gigabit Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and NAND flash, SATA and several other IO controllers. Signed-off-by: Kapil Hali <kapilh@xxxxxxxxxxxx> Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit b4a21fc275e99fc63c77b30da92ee497f8a7bdb6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Sep 11 16:37:05 2015 -0700 regmap: Allocate buffers with GFP_ATOMIC when fast_io == true If a regmap is using fast_io, allocate the scratch buffer in regmap_bulk_write() with GFP_ATOMIC instead of GFP_KERNEL. Otherwise we may schedule while atomic. Reported-by: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 424fb281d6dff1c0fef2a402de3b3819b7a91a87 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Sep 11 04:26:57 2015 +0200 regulator: da9063: Remove unneeded semicolon It's clearly a typo error that just creates a null statement so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f3f400e760303b8542bf91c8372fecf19cf07fab Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Sep 11 04:26:56 2015 +0200 regulator: bcm590xx: Remove unneeded semicolon It's clearly a typo error that just creates a null statement so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 158fcc4e050a75b609bbef1007cf7bf2a01ca043 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Thu Sep 10 16:11:42 2015 +0200 spi/bcm63xx: replace custom io accessors with standard ones Replace all bcm_read* with (io)read. Due to this block following system endianness, make sure we match that. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a45fcea5b20f1dcc2abb08aa29ecb2feacae60f2 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Thu Sep 10 16:11:41 2015 +0200 spi/bcm63xx: hardcode busnum to 0 We always pass 0 as the spi bus number, so we might as well hard code it. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 65059997306901f4da1f5168db65de8225d5d04c Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Thu Sep 10 16:11:40 2015 +0200 spi/bcm63xx: always use a fixed number of CS We always pass 8 for the number of chip selects, so we can as well hardcode it to this number. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2bdf5151a3a9224d622f1f2bdd20f56bad5d2505 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Thu Sep 10 16:11:39 2015 +0200 spi/bcm63xx: remove unused rx_tail variable Fixes the following warning: drivers/spi/spi-bcm63xx.c:125:5: warning: unused variable 'rx_tail' [-Wunused-variable] u8 rx_tail; ^ Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a46db4a3787edb0dc07276f21f33bbaf01938f1 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:04:45 2015 +0000 ASoC: rsnd: add AUDIO_CLKOUT support Renesas sound has AUDIO_CLKOUT (in Gen1/Gen2) AUDIO_CLKOUT1/2/3 (in Gen3) This patch support these patches as clock provider. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 248e88c2fb5a09eb87b21b00fd4167cc99c05759 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:04:24 2015 +0000 ASoC: rsnd: adg: ignore undefined clock error undefined clock is not error. Accept such case. And this is prepare for clock out support in the same time. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3af6c3ac91eb937fc611f9c745f89e7c53d55282 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:04:06 2015 +0000 ASoC: rsnd: tidyup ADG debug message for clock selection It didn't have "\n", and indicated different data Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eae6fff4f15a9d1969412bb5aa5a3585f00821fb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:03:48 2015 +0000 ASoC: rsnd: tidyup ADG clock calculate method Current ADG clock calculation needs ADG and SSI settings. Thus, SSI side clock request function depends on ADG settings. After reconsideration, we can close this method inside ADG. This function uses new method. And it becomes preparation for AUDIO_CLKOUT support. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c6901d98b35c3192336e419344f0f22f86b8845 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:03:25 2015 +0000 ASoC: rsnd: ADG initial setup on rsnd_adg_ssi_clk_init() ADG is special IP since it doesn't have MSTP. And now, ADG has common mod base register access. We can now setup ADG initial setting when probe timing. It is needed if sound card is based on AUIDO_CLK which is used as Master clock. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f1df12290722f998f5eb173ae30434d313aea54c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:03:08 2015 +0000 ASoC: rsnd: add common mod confirm method Renesas sound has SSI/SRC/DVC/MIX/ADG modules, and these have original register mapping. Thus this driver is using regmap field, and each module is using it based on each module ID. Sometimes, each module needs other module to controlling. but current each function is using just "mod" as parameter name. This is confusable. For example, if SSI0 and SRC2 are connected, and if SRC module function has bug of module access, and if it needs to control connected SSI, SRC function will access to SSI2 (It should access to SSI0, but it uses SRC's ID 2). This is easy to happen in current driver style. To avoid this kind of confusable trouble, this patch adds module confirm macro for debug purpose. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1665a9e5e224a44798ea6ae16b507d48752eb4a1 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:02:39 2015 +0000 ASoC: rsnd: ADG uses mod base common method Renesas sound has ADG IP, but it is special device. (It is clock generater, and it doesn't need MSTP) Thus, ADG didn't use mod base common method on rsnd driver. But it can be confusable point. Let's use common method Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b76e218ae5e5e8d8025b75066e82ad0674e2e845 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:02:21 2015 +0000 ASoC: rsnd: add rsnd_mod_get() macro and use it Renesas sound driver has SSI/SRC/DVC/CTU/MIX, and these are controlled as modules. And these module are member of each modules's private data. It used own method to get module pointer, but Let's use common method Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ac37a45b0b6c8400719bb837f1c321079b72db53 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:01:58 2015 +0000 ASoC: rsnd: Add Gen3 initial support Renesas sound Gen3 is updated version of Gen2. We need to update driver for it, but basically it should works as Gen2 compatible. This is initial support for Gen3. Gen3 specific feature will be incrementally added in the future Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e3d2cec8d49c01800373c25a5a06326f2a4304e6 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:49:54 2015 +0000 ASoC: rsnd: add missing #sound-dai-cells explain on Document Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7486d80f7d853f50088124824bf62d9a4d14de75 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:49:29 2015 +0000 ASoC: rsnd: remove unneeded sh_clk header sh_clk header is not needed, and it will create confusion. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b9bfe9d5f7755e225989a253e427cc620c001662 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:49:12 2015 +0000 ASoC: rsnd: rename rsnd_src_pcm_new() to rsnd_src_pcm_new_gen2() rsnd_src_pcm_new() is used only from Gen2. make it clear in function name, and remove unneeded Gen1 check. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c25f20e1de6e22960f69cc93220e71ba8b5ee8b6 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:48:52 2015 +0000 ASoC: rsnd: tidyup rsnd_dma_to_xxx() position rsnd_dma_to_xxx() macro should exist in same place Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 171a0138ab75fcbe1228c4af0442221efccfb197 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:40:19 2015 +0000 ASoC: ak4642: enable to use MCKO as fixed rate output pin on DT ak4642 chip can output clock via MCKO pin as audio reference clock. This patch supports it on DT Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2719a752b6e96b22ac6a0d5b9397c21c93abcd0f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:39:59 2015 +0000 ASoC: ak4642: use *dev on ak4642_i2c_probe() Let's replace &i2c->dev to dev Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8ebe9d163e93e10458f3fd7522f29f9149e58632 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Thu Sep 3 22:40:53 2015 +0200 spi: s3c64xx: replace clock disabling with runtime PM suspend call in remove function Simplify s3c64xx_spi_remove by replacing the clock disabling with calling runtime PM suspend which does the same. Waking up the device if it was suspended wouldn't be strictly needed for this driver but using pm_runtime_get_sync is cleaner and makes s3c64xx_spi_remove more consistent with the runtime PM handling in s3c64xx_spi_setup. pm_runtime_force_suspend does most of the work for us: disabling the clocks, disabling runtime PM and setting it to "suspended" state. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4fcd9b9e06d43b93d00bf02c767d578e7cf8b25c Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Thu Sep 3 22:40:11 2015 +0200 spi: s3c64xx: simplify suspend / resume handlers The runtime PM suspend / resume handlers take care of the enabling/ disabling the clocks already. Therefore replace the duplicated clock handling with pm_runtime_force_suspend/resume. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 483867ee2070e045eb0a18fb7bb2f79d2433339f Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Thu Sep 3 22:39:36 2015 +0200 spi: s3c64xx: extend driver to make full use of runtime PM autosuspend Extend the driver to make full use of runtime PM autosuspend. Before only the SPI core was instructed to use autosuspend by setting master->auto_runtime_pm. Nevertheless due to the missing pm_runtime_use_autosuspend call autosuspend wasn't active. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3c863792e9b882c9256b4396742a4b257fb9c557 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Thu Sep 3 22:38:46 2015 +0200 spi: s3c64xx: clean up runtime PM if driver registration fails Fix missing runtime PM cleanup if driver registration fails. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c81740e00556312af32fb3cd5ec12174935e5f70 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:01:15 2015 +0200 ASoC: ux500: 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: Mark Brown <broonie@xxxxxxxxxx> commit cfa7a38c754a56fd80762d1251f4c344eb535230 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:00:40 2015 +0200 ASoC: mop500: 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: Mark Brown <broonie@xxxxxxxxxx> commit baafd373e9287f20ca0c9a6bb38eb6785a146ac2 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:00:03 2015 +0200 ASoC: pxa: 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 30953a804714fcfe49bec594239306bf5b476464 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:59:32 2015 +0200 ASoC: kirkwood: 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: Mark Brown <broonie@xxxxxxxxxx> commit 27fcf913f6462662e9ec1b74ce04961126852db9 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:58:57 2015 +0200 ASoC: jz4740: 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: Mark Brown <broonie@xxxxxxxxxx> commit c759241fe2f16e6be43675abaa715f0da9d7a254 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:58:23 2015 +0200 ASoC: fsl_sai: 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: Mark Brown <broonie@xxxxxxxxxx> commit 5226f2340c67225d27f61330205f16314881cc5c Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:57:47 2015 +0200 ASoC: fsl-asoc-card: 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: Mark Brown <broonie@xxxxxxxxxx> commit aab7826f592b4af9a1407cf5b717978dc16cc19a Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:55:08 2015 +0200 ASoC: atmel_wm8904: 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: Mark Brown <broonie@xxxxxxxxxx> commit 9ed747641b0fe122a827494b1d490bc2e2e45347 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Sep 2 12:01:27 2015 +0800 ASoC: intel: broadwell: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ff68f55901ffd25b40f23bc6296657beca8377f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 1 21:11:10 2015 +0800 ASoC: sh: siu_dai: Convert to use resource managed APIs Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2fd7076a43710666b147e206866ecd946b0b33e5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 1 10:32:59 2015 +0800 ASoC: pxa: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5b73de19fd65f11a8c1b33bb7aeb0275898f8786 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 17:20:01 2015 +0800 ASoC: mxs-sgtl5000: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76b0d1f5e748630e01763d7fd6bec8436af7ec51 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 17:17:44 2015 +0800 ASoC: blackfin: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2342cafe2269fe7cccda0aea88e30e8f4bcc075f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 17:16:01 2015 +0800 ASoC: au1x: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d1b9d039de79a1cdd789d1547251d5ba0fad573b Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Mon Sep 14 21:35:42 2015 +0530 drm/i915: Fix fb object's frontbuffer-bits Shared frontbuffer bits are causing warnings when same FB is displayed in another plane without clearing the bits from previous plane. v2: Removing coversion of fb bits to 64 bit as it is not needed for now. (Daniel) Change-Id: Ic2df80747f314b82afd22f8326297c57d1e652c6 Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> [danvet: Drop INTEL_FRONTBUFFER_SPRITE_MASK since unused.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 512ee2fd9ca1c0b447a144c6c49a53a010f8d6fa Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Aug 26 10:49:34 2015 +0200 PCI: tegra: Wrap static pgprot_t initializer with __pgprot() Wrap pgprot_t initializer with __pgprot() to comply with the STRICT_MM_TYPECHECKS rules. [bhelgaas: changelog] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> commit 92d424ae898e0d04ac34263aa33e40acc1e1f3d1 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 10:45:46 2015 -0400 perf test: Add entry for hists socket filter Add test case for hists socket filter. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441377946-44429-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 84734b06b63093cd44533f4caa43d4452fb11ec3 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 10:45:45 2015 -0400 perf hists browser: Zoom in/out for processor socket Currently, users can zoom in/out for threads and dso in 'perf top' and 'perf report'. This patch extends it for the processor sockets. 'S' is the short key to zoom into current Processor Socket. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441377946-44429-4-git-send-email-kan.liang@xxxxxxxxx [ - Made it elide the Socket column when zooming into it, just like with the other zoom ops; - Make it use browser->pstack, to unzoom level by level; - Rename 'socket' variables to 'socket_id' to make it build on older systems where it shadows a global glibc declaration ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6dd19f19a5e2fb78681e5f33431200e2b5aec763 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Sun Sep 13 22:00:44 2015 -0700 staging/rtl8188eu : Remove duplicated BIT() definitions The BIT() macro is already defined in bitops.h, remove duplicate definitions. Users of BIT() macro are expecting unsigned int/u32, so add typecasts where this creates a build warning. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9137f812e911fc8030e8b954b097e62e29691154 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:49 2015 +0300 staging: sm750fb: ddk750_*i2c: shorten lines to under 80 characters Fix some checkpatch warnings about long lines Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 987f202a344385c461b33f13eb39050e2a39fa22 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:48 2015 +0300 staging: sm750fb: ddk750_*i2c: remove multiple blank lines Fix the checkpatch warning about multiple blank lines Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe820044892de545b8cd8ad3ccdd864d78734b97 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:47 2015 +0300 staging: sm750fb: ddk750_swi2c: further reduce CamelCase Rename remaining CamelCase variables Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53bc6b6e1a8d7f6a2e16ef701b7c0ecfe627c396 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:46 2015 +0300 staging: sm750fb: ddk750_swi2c: rename CamelCase static variables Rename static variables defining I2C GPIO pins and their control registers from CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3696b797185396090da1f2661f242317a3cd795 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:45 2015 +0300 staging: sm750fb: ddk750_hwi2c: reduce amount of CamelCase Rename camel case variables deviceAddress, pBuffer and totalBytes to addr, buf and total_bytes respectively in sm750_hw_i2c_{read,write}_data functions. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 938ad7edf21b16f93e9309e3d859a1aa4685f164 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:44 2015 +0300 staging: sm750fb: hw_i2c_{read,write}: rename CamelCase variables Rename longCamelCase variables deviceAddress and registerIndex to shorter addr and reg Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a503da64fdde16b745f6465659fcc40e2ece8ee7 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:43 2015 +0300 staging: sm750fb: ddk750_hw_i2c: rename busSpeedMode rename CamelCase parameter in sm750_hw_i2c_init() Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c78f4ce60437e5292202241c317bd2a9e05d3ac Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:42 2015 +0300 staging: sm750fb: ddk750_swi2c: rename CamelCase static functions Fix the checkpatch warning about CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01a64c4469acf6556c7e622e8874f84cb95a23bf Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:41 2015 +0300 staging: sm750fb: ddk750_swi2c: staticize swI2C{SCL,SDA} swI2C{SCL,SDA} are not used outside ddk750_swi2c, make them static Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d33b42048ed97dfacc031707e3aefa63da631237 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:40 2015 +0300 staging: sm750fb: rename swI2CWriteReg to sm750_sw_i2c_write_reg Fix the checkpatch warning about CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 288836b69f1a3fd96d742fdf9bc4a827f8f625e5 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:39 2015 +0300 staging: sm750fb: rename swI2CReadReg to sm750_sw_i2c_read_reg Fix the checkpatch warning about CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2ea7733ddd741e0803015271573fec0c529ba27 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:38 2015 +0300 staging: sm750fb: rename swI2CInit to sm750_sw_i2c_init Fix the checkpatch warning about CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac1189513f4c60adc4f350ff6abb01928dcccae2 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:37 2015 +0300 staging: sm750fb: ddk750_hwi2c: rename CamelCase static functions Fix the checkpatch warning about CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bdbe62b9d1bd6cc7853992b26d093630416dd0f Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:36 2015 +0300 staging: sm750fb: rename hwI2CWriteReg to sm750_hw_i2c_write_reg Fix the checkpatch warning about CamelCase Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ccf7340036b4dd1abf60ecafe77d14ce094468f Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:35 2015 +0300 staging: sm750fb: rename hwI2CReadReg to sm750_hw_i2c_read_reg Fix the checkpatch warning about CamelCase Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed7042edaf0b515088e83c692a895dfbebaa4678 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:34 2015 +0300 staging: sm750fb: rename hwI2CClose to sm750_hw_i2c_close Fix the checkpatch warning about CamelCase Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19f70eaedba8f2575e757b3439ed08a0dad9511b Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:33 2015 +0300 staging: sm750fb: rename hwI2CInit to sm750_hw_i2c_init Fix the checkpatch warning about CamelCase Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a03b8b3e18969e10d5fdc732a06b5c58c247e842 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:38 2015 +0100 staging: vt6655: Move code in device_get_pci_info Function always returns true and now only a few lines move to vt6655_probe. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70d66a6a753b19a3de5ab167fe8b941eac32c079 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:37 2015 +0100 staging: vt6655: device_get_pci_info pcid already assigned. pcid has already been assigned earlier in vt6655_probe. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41652a21b7c11322f4efa6daa43deb7935a052f9 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:36 2015 +0100 staging: vt6655: device_get_pci_info remove call to set master. a call to PCI_COMMAND is used to set master. However, a call to pci_set_master earlier in function which does the same thing. So remove the calls and variable b. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ef1571b13859ce56bf779ddaf3b7be44eacc5d7 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:35 2015 +0100 staging: vt6655: device_get_pci_info remove variable cis_addr. cis_addr is never used remove its call to pci_resource_start. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a95f96108efc94cd79d46245a70c3b5bf9c0840 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:34 2015 +0100 staging: vt6655: device_get_pci_info remove unused pci_read_config_* These values are read from pci but never used. Removing variables byRevId, SubSystemID, SubVendorID and pci_cmd. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f31798266f23edf85d32b38f7b2a755684d399ef Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:33 2015 +0100 staging: vt6655: remove and move vt6655_init_info move code to vt6655_probe. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e577474f3b55ef368090ec7f29543fb8b5a712be Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:32 2015 +0100 staging: vt6655: vt6655_init_info remove memset. vnt_private is allocated with kzalloc so is already zero. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73eb8a11275ecadf7f49ffc1e67f7cef35188182 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:31 2015 +0100 staging: vt6655: remove unused multicast_limit. multicast_limit is assigned a vale that is never used. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 319755a72226e8c433077b7839aa6064080917fc Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:30 2015 +0100 staging: vt6655: Remove typedef struct __chip_info_tbl Only two values that are assigned from this table. DEVICE_FLAGS_TX_ALIGN and the value of io_size which is used as the size of ioremap which is 256. Remove all variables, DEVICE_FLAGS_TX_ALIGN check, apply io_size value and chip_info_table. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e77610a94c1fe0402979f58bee6933ffe18b15e3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:29 2015 +0100 staging: vt6655: remove get_chip_name and info message. This prints "VIA Networking Solomon-A/B/G Wireless LAN Adapter" which has already printed once in vt6655_probe. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2c77eea18f24d847fc6dbbed5d6eaf29fb8de3e Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:28 2015 +0100 staging: vt6655: vt6655_probe remove PCI debug info Remove unnecessary debug PCI info that can be obtained by lspci. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 433c7f8fe2e086d037783d324cb2ddaf1e244787 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Sep 13 09:16:10 2015 +0530 Staging: rtl8192u: Remove unnecessary printk This patch removes the commented printk inside else block as it is not needed. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ddc2f06c8384cc023b60d7bf8471d0737bba613 Author: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Date: Sun Sep 13 16:22:00 2015 +0530 staging: dgnc: Fixed line over 80 characters long This is a patch that fixes line over 80 characters coding style warning detected by checkpatch.pl. WARNING: line over 80 characters Signed-off-by: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4579ec9af094361bef38f37005897d6de6cc7dcb Author: Samuel Dominguez Lorenzo <yysamueldominguez@xxxxxxxxx> Date: Sun Sep 13 16:18:33 2015 +0100 staging: rtl8712: usb_ops_linux: fixed a comparison coding style issue Fixed a coding style issue where a comparison had the constant on the left side of the test instead of being on the right side of it. Signed-off-by: Samuel Dominguez Lorenzo <yysamueldominguez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce85ed4d15b44f6a3216f0e0b3ce464aecd44c3c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:06 2015 +0200 staging: lustre: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); @@ expression x; @@ -if (x != NULL) { \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); x = NULL; -} // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 910b551c85ae599201428e6ac110a222d0da4c50 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 19:20:03 2015 +0300 staging: lustre: fix TRAILING_STATEMENTS checkpatch errors Move trailing statements to be on the next line to fix the TRAILING_STATEMENTS checkpatch error. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a05b98635b2abf22138ed4b0e6373447aa36758c Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 19:20:02 2015 +0300 staging: lustre: fix switch-case identation errors Re-indent switch-case statements to fix SWITCH_CASE_INDENT_LEVEL errors reported by checkpatch.pl Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 046225e79995482e96560c3b4390be4d83f490bf Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Sep 13 22:46:06 2015 +0530 Staging: ft1000: use usleep_range() This patch fixes checkpatch.pl warning WARNING : msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52a59cf1e74441d95174e607836ee76aa956e4cc Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 12 15:04:35 2015 +0530 Staging: ft1000: ft1000-usb: Use USB API functions rather than constants Introduce the use of the function usb_endpoint_is_bulk_in(). Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12a26a33fec9454781352f6268239e1ced83a60d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:28 2015 +0900 staging: wilc1000: rename WILC_WFI_mgmt_tx This patch replaces WILC_WFI_mgmt_tx with mgmt_tx to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a2f9b38a5eada30826644e488af4114bb78a183 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:27 2015 +0900 staging: wilc1000: rename WILC_WFI_mgmt_tx_cancel_wait This patch replaces WILC_WFI_mgmt_tx_cancel_wait with mgmt_tx_cancel_wait to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1dd5440b60ccc8875395b7f49546c38c59c7679a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:26 2015 +0900 staging: wilc1000: rename WILC_WFI_cancel_remain_on_channel This patch replaces WILC_WFI_cancel_remain_on_channel with cancel_remain_on_channel to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d19d695e091c2e32a1eac80ace52c4e8af13d10 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:25 2015 +0900 staging: wilc1000: rename WILC_WFI_remain_on_channel This patch replaces WILC_WFI_remain_on_channel with remain_on_channel to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b33c39b1f3fa113e013b8d715a8373bda3e37e0f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:24 2015 +0900 staging: wilc1000: rename WILC_WFI_flush_pmksa This patch replaces WILC_WFI_flush_pmksa with flush_pmksa to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ff86d9605a2ed7142647e18c6da7f0cf8807292 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:23 2015 +0900 staging: wilc1000: rename WILC_WFI_del_pmksa This patch replaces WILC_WFI_del_pmksa with del_pmksa to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d46657a23cce98ef5a21cf42fc6ea4145fbeee7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:22 2015 +0900 staging: wilc1000: rename WILC_WFI_set_pmksa This patch replaces WILC_WFI_set_pmksa with set_pmksa to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a76b63ef570cd771e973fe2c4d3f1b5efb8f685a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:21 2015 +0900 staging: wilc1000: rename WILC_WFI_set_wiphy_params This patch replaces WILC_WFI_set_wiphy_params with set_wiphy_params to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5f7db6aaa20edae10f287c01b59ec65b944b692 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:20 2015 +0900 staging: wilc1000: rename WILC_WFI_change_bss This patch replaces WILC_WFI_change_bss with change_bss to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdb6338f6f5bc1fd2bb79a83357bfba2e1bc64a8 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:19 2015 +0900 staging: wilc1000: rename WILC_WFI_dump_station This patch replaces WILC_WFI_dump_station with dump_station to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f06f562dd144857325d8c1db38102bea3b946e77 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:18 2015 +0900 staging: wilc1000: rename WILC_WFI_get_station This patch replaces WILC_WFI_get_station with get_station to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14b420849bfe568940dbd391a5890c6aa3a9ab18 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:17 2015 +0900 staging: wilc1000: rename WILC_WFI_change_station This patch replaces WILC_WFI_change_station with change_station to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0a8be95cc54b3d68b4cb45d74d23ffb7c5baae8 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:16 2015 +0900 staging: wilc1000: rename WILC_WFI_del_station This patch replaces WILC_WFI_del_station with del_station to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed26955ca0e81ba0b56302c896836e6a9d7d495a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:15 2015 +0900 staging: wilc1000: rename WILC_WFI_add_station This patch replaces WILC_WFI_add_station with add_station to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8cddd7917d8a2f52bf1410ff48cb421b9e1f5ae Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:14 2015 +0900 staging: wilc1000: rename WILC_WFI_stop_ap This patch replaces WILC_WFI_stop_ap with stop_ap to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a4c84d7a04e607225170b29403af503b8e84805 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:13 2015 +0900 staging: wilc1000: rename WILC_WFI_change_beacon This patch replaces WILC_WFI_change_beacon with change_beacon to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a13168d75b30311ebe974042dd5ae658e7aece25 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:12 2015 +0900 staging: wilc1000: rename WILC_WFI_start_ap This patch replaces WILC_WFI_start_ap with start_ap to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3615e9a36778317535134878382c014079d56042 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:11 2015 +0900 staging: wilc1000: rename WILC_WFI_change_virt_intf This patch replaces WILC_WFI_change_virt_intf with change_virtual_intf to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4a733558450583e143c9f1aa24bd0ef8f0c0046 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:10 2015 +0900 staging: wilc1000: rename WILC_WFI_del_virt_intf This patch replaces WILC_WFI_del_virt_intf with del_virtual_intf to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69deb4c2a1ef214fe3d859ab913bb9a87d785db2 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:09 2015 +0900 staging: wilc1000: rename WILC_WFI_add_virt_intf This patch replaces WILC_WFI_add_virt_intf with add_virtual_intf to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f5b8ca323d56bfb22152af1dfd91f127278a91a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:08 2015 +0900 staging: wilc1000: rename WILC_WFI_set_default_key This patch replaces WILC_WFI_set_default_key with set_default_key to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4893dfc31f51a608911ce9f44cbd29058872034 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:07 2015 +0900 staging: wilc1000: rename WILC_WFI_get_key This patch replaces WILC_WFI_get_key with get_key to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3044ba7e6f6b8916c87204737c7c266795147fff Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:06 2015 +0900 staging: wilc1000: rename WILC_WFI_del_key This patch replaces WILC_WFI_del_key with del_key to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 953d417a0dc704169b507314e3e3bfde45948fe3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:05 2015 +0900 staging: wilc1000: rename WILC_WFI_add_key This patch replaces WILC_WFI_add_key with add_key to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b027cde9504e87b6181328fb8c4ed5ccd87a0a55 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:04 2015 +0900 staging: wilc1000: rename WILC_WFI_disconnect This patch replaces WILC_WFI_disconnect with disconnect to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ffbcdb6de150c13f23eb6ef8746db70b07f08ff Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:03 2015 +0900 staging: wilc1000: rename WILC_WFI_CfgConnect This patch replaces WILC_WFI_CfgConnect with connect to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e30d06d9bda25c0edc3dbb721a43a6f87036f24 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:02 2015 +0900 staging: wilc1000: rename WILC_WFI_CfgScan This patch replaces WILC_WFI_CfgScan with scan to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80785a9a82fc6a5979129a1aedb1260034c6927b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:01 2015 +0900 staging: wilc1000: rename WILC_WFI_CfgSetChannel This patch replaces WILC_WFI_CfgSetChannel with set_channel to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9db385df2d337f11fd71eaffde62ff9678416d3 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Sep 12 22:02:12 2015 +0800 staging: wilc1000: Add terminating entry for wilc_sdio_ids The sdio_device_id table is supposed to be zero-terminated. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21394d948a0c7c451d4a4d68afed9a06c4969636 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 10:45:44 2015 -0400 perf report: Introduce --socket-filter option Introduce --socket-filter option for 'perf report' to only show entries for a processor socket that match this filter. $ perf report --socket-filter 1 --stdio # To display the perf.data header info, please use --header/--header-only options. # # Total Lost Samples: 0 # # Samples: 752 of event 'cycles' # Event count (approx.): 350995599 # Processor Socket: 1 # # Overhead Command Shared Object Symbol # ........ ......... ................ ................................. # 97.02% test test [.] plusB_c 0.97% test test [.] plusA_c 0.23% swapper [kernel.vmlinux] [k] acpi_idle_do_entry 0.09% rcu_sched [kernel.vmlinux] [k] dyntick_save_progress_counter 0.01% swapper [kernel.vmlinux] [k] task_waking_fair 0.00% swapper [kernel.vmlinux] [k] run_timer_softirq Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441377946-44429-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2e7ea3ab8282f6bb1d211d8af760a734c055f493 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 10:45:43 2015 -0400 perf tools: Introduce new sort type "socket" for the processor socket This patch enable perf report to sort by processor socket: $ perf report --stdio --sort socket,comm,dso,symbol # To display the perf.data header info, please use --header/--header-only options. # # Total Lost Samples: 0 # # Samples: 686 of event 'cycles' # Event count (approx.): 349215462 # # Overhead SOCKET Command Shared Object Symbol # ........ ...... ....... ................ ............................ # 97.05% 000 test test [.] plusB_c 0.98% 000 test test [.] plusA_c 0.93% 001 perf [kernel.vmlinux] [k] smp_call_function_single 0.19% 001 perf [kernel.vmlinux] [k] page_fault 0.19% 001 swapper [kernel.vmlinux] [k] pm_qos_request 0.16% 000 test [kernel.vmlinux] [k] add_mm_counter_fast Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441377946-44429-2-git-send-email-kan.liang@xxxxxxxxx [ Fix col calc, un-allcapsify col header & read the topology when not using perf.data ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c4c4debb0adda4c18c158d95031dc2b9f637869 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 10:45:42 2015 -0400 perf tools: Add processor socket info to hist_entry and addr_location This information will come from perf.data files of from the current system, cached when needed, such as when the 'socket' sort order gets introduced. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441377946-44429-1-git-send-email-kan.liang@xxxxxxxxx [ Don't blindly use env->cpu[al.cpu].socket_id & use machine->env, fixes by Jiri & Arnaldo ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4cde998d205894705b534878122631142a3eefe4 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 9 12:25:00 2015 -0300 perf machine: Add pointer to sample's environment The 'struct machine' represents the machine where the samples were/are being collected, and we also have a 'struct perf_env' with extra details about such machine, that we were collecting at 'perf.data' creation time but we also needed when no perf.data file is being used, such as in 'perf top'. So, get those structs closer together, as they provide a bigger picture of the sample's environment. In 'perf session', when the file argument is NULL, we can assume that the tool is sampling the running machine, so point machine->env to the global put in place in previous patches, while set it to the perf_header.env one when reading from a file. This paves the way for machine->env to be used in perf_event__preprocess_sample to populate addr_location.socket. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-2ajotl0khscutm68exictoy9@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit aa36ddd7afbb0a3db216c1391e28cd6d80ed1706 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 9 10:37:01 2015 -0300 perf env: Introduce read_cpu_topology_map() method Out of the code to write the cpu topology map in the perf.data file header. Now if one needs the CPU topology map for the running machine, one needs to call perf_env__read_cpu_topology_map(perf_env) and the info will be stored in perf_env.cpu. For now we're using a global perf_env variable, that will have its contents freed after we run a builtin. v2: Check perf_env__read_cpu_topology_map() return in write_cpu_topology() (Kan Liang) 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441828225-667-5-git-send-email-acme@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5d8cf721cb13be92e96f22846e5bcd31040d4d0b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Sep 11 10:49:45 2015 -0300 perf cpu_map: Use sysfs__read_int in get_{core,socket}_id() We have the tools/lib/ sysfs__read_int() for that, avoid code duplication. 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-fqg6vt5ku72pbf54ljg6tmoy@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 09f6acf2eacad3a0f9a4b9f77e0b021f0cb45780 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Sep 10 12:20:14 2015 -0300 tools lib api cpu: Introduce cpu.[ch] to obtain cpu related information E.g.: $ ./cpu__get_max_freq 3200000 It does that, as Kan's patch does, by looking at these files: $ cat /sys/devices/system/cpu/online 0-3 $ ./sysfs__read_ull devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq=3200000 $ I.e. find out the first online CPU, then read its cpufreq info. But do it in tools/lib/api/, so that other tools/ living code can use it, not just perf. Based-on-a-patch-by: Kan Liang <kan.liang@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: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-915v4cvxqplaub8qco66b9mv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2d729f6a8ac3edbf68de7239fab96c9736946af5 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Sep 10 11:58:50 2015 -0300 tools lib api fs: Introduce sysfs__read_{int,ull}() To read either an int or an unsigned long long value from the given file. E.g.: $ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq 3200000 $ ./sysfs__read_ull devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq=3200000 $ 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-4a12m4d5k8m4qgc1vguocvei@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e0838e029f4f6f271d6172b18f5473558ebdea1b Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Sep 10 11:03:05 2015 -0300 perf env: Read msr pmu type from header Get msr pmu type when processing pmu_mappings Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-3ngei63gepydwxhvytl2wx89@xxxxxxxxxxxxxx [ Fixed it up wrt moving perf_env from header.h ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b60114067c656be572f0ca4030c3a2c560e7255c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 7 10:38:04 2015 +0200 perf tools: Add tools/include into tags directories Adding tools/include into tags directories, to have include definitions reachable via tags/cscope. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441615087-13886-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8168caded331a19302593a591f070136cb3a31c8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 9 12:38:17 2015 -0300 perf evsel: Remove forward declaration of 'struct perf_evlist' We have no use for it in evsel.h. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-um03yjrgyi3bj1hzqiqs4dsu@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a4978eca684a3b471f3da862f427e419283e93a3 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 9 12:14:00 2015 -0300 perf hists browser: Fixup the "cpu" column width calculation Since we were not setting it to at least 3 chars ('CPU'), it was being reset to zero when recalculating the columns width when refreshing the screen, in 'perf top'. Fix it. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-iqcdnkkqm6sew06x01fbijmy@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b699869285c4f6949f281ea57ac35ea9b9c6f467 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Sep 8 16:58:20 2015 -0300 perf env: Adopt perf_header__set_cmdline Move this from two globals to perf_env global, that eventually will be just perf_header->env or something else, to ease the refactoring series, leave it as a global and go on reading more of its fields, not as part of the header writing process but as a perf_env init one that will be used for perf.data-less situations. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-2j78tdf8zn1ci0y6ji15bifj@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit eebd0bfca5cb83f6e1ef0d872a16d45af0422114 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Sep 8 15:52:20 2015 -0300 perf env: Rename some leftovers from rename to perf_env In ce80d3bef9ff ("perf tools: Rename perf_session_env to perf_env") we forgot to rename a few functions to the "perf_env" prefix, do it now. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-b3ui3z6ock89z1814pu2er98@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f0ce888c064e07c73a103822f2ad8e77649fd107 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Sep 8 13:30:00 2015 -0300 perf env: Move perf_env out of header.h and session.c into separate object Since it can be used separately from 'perf_session' and 'perf_header', move it to separate include file and object, next csets will try to move a perf_env__init() routine. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-ff2rw99tsn670y1b6gxbwdsi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e8210cefb7e1ec0760a6fe581ad0727a2dcf8dd1 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Sat Sep 5 20:02:20 2015 +0100 perf tests: Introduce iterator function for tests In preparation for introducing more arrays of tests, e.g. "arch tests" (architecture-specific tests), abstract the code to iterate over the list of tests into a helper function. This way, code that uses a 'struct test' doesn't need to worry about how the tests are grouped together and changes to the list of tests doesn't require changes to the code using it. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxx> Cc: Vince Weaver <vince@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441479742-15402-2-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c84974ed9fb672930929e0d20ea3c366635a54aa Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 04:58:31 2015 -0400 perf test: Add entry to test cpu topology This patch test cpu core_id and socket_id which are stored in perf_env. Commiter note: # perf test topo 40: Test topology in session: Ok # perf test -v topo 40: Test topology in session: --- start --- test child forked, pid 31767 templ file: /tmp/perf-test-VTZ1PL CPU 0, core 0, socket 0 CPU 1, core 1, socket 0 CPU 2, core 0, socket 0 CPU 3, core 1, socket 0 test child finished with 0 ---- end ---- Test topology in session: Ok # Based-on-a-patch-by: Jiri Olsa <jolsa@xxxxxxxxxx> 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> Link: http://lkml.kernel.org/r/1441357111-64522-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fbf99625b88fd8808bf2b80efac453d63cae08e8 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:45 2015 +0200 perf tools: Switch to tracing_path interface on appropriate places Using tracing_path interface on several places, that more or less copy the functionality of tracing_path interface. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-16-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 60a1133a5b39738671eff1e4d77bedc1ee3fa528 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:44 2015 +0200 tools lib api fs: Remove debugfs, tracefs and findfs objects We have all the functionality in fs.c, let's remove unneeded objects. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-15-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4605eab3487dc818b1f3cbee2cd139cca3564be7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:43 2015 +0200 tools lib api fs: Replace debugfs/tracefs objects interface with fs.c Switching to the fs.c related filesystem framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-14-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4f234f06d608635a1cff936131285a91af213b37 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:36 2015 +0200 tools lib api fs: Make tracing_path_strerror_open message generic Making tracing_path__strerror_open_tp message generic by mentioning both debugfs/tracefs words in error message plus the tracing_path instead of debugfs_mountpoint. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-7-git-send-email-jolsa@xxxxxxxxxx [ Add comment for the ENOENT case out of this patch discussion thread ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fd405cf6cfddd300377bd5fd9b93d2ff66fbc32d Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Wed Sep 2 10:19:17 2015 +0200 perf tests: Print objdump/dso buffers if they don't match Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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/d0f42f786bc0e965918e0f422df25617a12a4021.1441181335.git.jstancek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit edfdb7eab0fe5f98f2951598dc679b71bdb3e16b Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Wed Sep 2 10:19:16 2015 +0200 perf tests: Stop reading if objdump output crossed sections objdump output can span across multiple sections: Disassembly of section .text: 0000000000000008 <crc32c+0x8>: 8: 48 89 e5 mov %rsp,%rbp b: 53 push %rbx c: 8b 01 mov (%rcx),%eax <snip> 6b: 90 nop Disassembly of section .init.text: 0000000000000008 <init_module+0x8>: 8: 00 00 add %al,(%rax) a: 00 00 add %al,(%rax) c: 48 89 e5 Stop further reading if an address starts going backwards, assuming we crossed sections. Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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/9d1ea95e5f9884fdff1be6f761a2feabef37412c.1441181335.git.jstancek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 06f679c18fcf414cc8462938466f8361315f18cb Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Thu Sep 3 13:23:32 2015 +0200 perf tests: Make objdump disassemble zero blocks Add -z parameter to avoid skipping zero blocks: ffffffff816704fe <sysret_check+0x4b>: ffffffff816704fe: 7b 34 jnp ffffffff81670534 <sysret_signal+0x1c> ... ffffffff81670501 <sysret_careful>: ffffffff81670501: 0f ba e2 03 bt $0x3,%edx ffffffff81670505: 73 11 jae ffffffff81670518 <sysret_signal> Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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/130c6267fbdb9af506633a9efa06f3269ff5bd2c.1441275982.git.jstancek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 729a7ed103ae1b04a5c87a5855885e0973161da4 Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Wed Sep 2 10:19:14 2015 +0200 perf tests: Take into account address of each objdump line objdump output can contain repeated bytes. At the moment test reads all output sequentially, assuming each address is represented in output only once: ffffffff8164efb3 <retint_swapgs+0x9>: ffffffff8164efb3: c1 5d 00 eb rcrl $0xeb,0x0(%rbp) ffffffff8164efb7: 00 4c 8b 5c add %cl,0x5c(%rbx,%rcx,4) ffffffff8164efb8 <restore_c_regs_and_iret>: ffffffff8164efb8: 4c 8b 5c 24 30 mov 0x30(%rsp),%r11 ffffffff8164efbd: 4c 8b 54 24 38 mov 0x38(%rsp),%r10 Store objdump output to buffer according to offset calculated from address on each line. Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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/ad13289a55d6350f7717757c7e32c2d4286402bd.1441181335.git.jstancek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 70675e0b6a1ae20f8e93f9fc083d28034ad38948 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 16:52:58 2015 +0800 PCI: Don't try to restore VF BARs VF BARs are read-only zero, so updating VF BARs will not have any effect. See the SR-IOV spec r1.1, sec 3.4.1.11. Don't update VF BARs in pci_restore_bars(). This avoids spurious "BAR %d: error updating" messages that we see when doing vfio pass-through after 6eb7018705de ("vfio-pci: Move idle devices to D3hot power state"). [bhelgaas: changelog, fix whitespace] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 6b6d5626750d72a22180a6e094cf95acd1d85c9b Author: Robert Beckett <robert.beckett@xxxxxxxxx> Date: Tue Sep 8 10:31:52 2015 +0100 drm/i915/gen9: WA ST Unit Power Optimization Disable WaDisableSTUnitPowerOptimization:skl,bxt Signed-off-by: Robert Beckett <robert.beckett@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d0a9964e98731c708500a2e712f28f9d39183647 Author: Mike Travis <travis@xxxxxxx> Date: Sat Sep 12 21:51:10 2015 -0500 x86/platform/uv: Implement simple dump failover if kdump fails The ability to trigger a kdump using the system NMI command was added by commit 12ba6c990fab ("x86/UV: Add kdump to UV NMI handler") Author: Mike Travis <travis@xxxxxxx> Date: Mon Sep 23 16:25:03 2013 -0500 This is useful because when kdump is working the information gathered is more informative than the original per CPU stack traces or "dump" option. However a number of things can go wrong with kdump and then the stack traces are more useful than nothing. The two most common reasons for kdump to not be available are: 1) if a problem occurs during boot before the kdump service is started, or 2) the kdump daemon failed to start. In either case the call to crash_kexec() returns unexpectedly. When this happens uv_nmi_kdump() also sets the uv_nmi_kexec_failed flag which causes the slave CPU's to also return to the NMI handler. Upon this unexpected return to the NMI handler, the NMI handler will revert to the "dump" action which uses show_regs() to obtain a process trace dump for all the CPU's. Other minor changes: The "dump" action now generates both the show_regs() stack trace and show instruction pointer information. Whereas the "ips" action only shows instruction pointers for non-idle CPU's. This is more like an abbreviated "ps" display. Change printk(KERN_DEFAULT...) --> pr_info() Signed-off-by: Mike Travis <travis@xxxxxxx> Signed-off-by: George Beshers <gbeshers@xxxxxxx> Cc: Alex Thorlton <athorlton@xxxxxxx> Cc: Dimitri Sivanich <sivanich@xxxxxxx> Cc: Hedi Berriche <hedi@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russ Anderson <rja@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d7884d69a524b92d9770bcdc03df3c5a6120c2d0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 11 21:14:29 2015 +0300 drm/i915: Set stolen reserved to 0 for pre-g4x platforms This stolen reserved stuff was introduced on g4x, so no need to waste stolen on older platforms. Unfortunately configdb is no more so I can't look up the right way to detect this stuff. I do have one hint as to where the register might be on ctg, but I don't have a ctg to test it, and on the elk I have here it doesn't contain sensible looking data. For ilk grits suggegsts it might be in the same place as on snb (the original PCI reg, not the mirror) but I can't be entirely sure about it The register shows a round zero on my ilk. So when there's no really good data for any of these platforms leave the current "assume 1MiB" approach in place. Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 374887bae861be2e691381f704b3d6068a54457c Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sun Sep 13 21:08:31 2015 +0900 drm/i915: Fix warnings while make xmldocs caused by intel_lrc.c This patch fix following warnings while "make xmldocs". .//drivers/gpu/drm/i915/intel_lrc.c:780: warning: No description found for parameter 'req' .//drivers/gpu/drm/i915/intel_lrc.c:780: warning: Excess function parameter 'request' description in 'intel_logical_ring_begin' .//drivers/gpu/drm/i915/intel_lrc.c:780: warning: Excess function parameter 'ctx' description in 'intel_logical_ring_begin' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ef78f2a4bf84d8db9f36868decca2dc24e02a6af Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:31 2015 -0700 x86/fpu: Check CPU-provided sizes against struct declarations We now have C structures defined for each of the XSAVE state components that we support. This patch adds checks during our verification pass to ensure that the CPU-provided data enumerated in CPUID leaves matches our C structures. If not, we warn and dump all the XSAVE CPUID leaves. Note: this *actually* found an inconsistency with the MPX 'bndcsr' state. The hardware pads it out differently from our C structures. This patch caught it and warned. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233131.A8DB36DA@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e6e888f96b4a531886f3bf29ba9af0b6f1026365 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:30 2015 -0700 x86/fpu: Check to ensure increasing-offset xstate offsets The xstate CPUID leaves enumerate where each state component is inside the XSAVE buffer, along with the size of the entire buffer. Our new XSAVE sanity-checking code extrapolates an expected _total_ buffer size by looking at the last component that it encounters. That method requires that the highest-numbered component also be the one with the highest offset. This is a pretty safe assumption, but let's add some code to ensure it stays true. To make this check work correctly, we also need to ensure we only consider the offsets from enabled features because the offset register (ebx) will return 0 on unsupported features. This also means that we will preserve the -1's that we initialized xstate_offsets/sizes[] with. That will help find bugs. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233130.0843AB15@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 65ac2e9baa7deebe3e9588769d44d85555e05619 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:30 2015 -0700 x86/fpu: Correct and check XSAVE xstate size calculations Note: our xsaves support is currently broken and disabled. This patch does not fix it, but it is an incremental improvement. This might be useful to someone backporting the entire set of XSAVES patches at some point, but it should not be backported alone. Ingo said he wanted something like this (bullets 2 and 3): http://lkml.kernel.org/r/20150808091508.GB32641@xxxxxxxxx There are currently two xsave buffer formats: standard and compacted. The standard format is waht 'XSAVE' and 'XSAVEOPT' produce while 'XSAVES' and 'XSAVEC' produce a compacted-formet buffer. (The kernel never uses XSAVEC) But, the XSAVES buffer *ALSO* contains "system state components" which are never saved by a plain XSAVE. So, XSAVES has two things that might make its buffer differently-sized from an XSAVE-produced one. The current code assumes that an XSAVES buffer's size is simply the sum of the sizes of the (user) states which are supported. This seems to work in most cases, but it is not consistent with what the SDM says, and it breaks if we 'align' a component in the buffer. The calculation is also unnecessary work since the CPU *tells* us the size of the buffer directly. This patch just reads the size of the buffer right out of the CPUID leaf instead of trying to derive it. But, blindly trusting the CPU like this is dangerous. We add a verification pass in do_extra_xstate_size_checks() to ensure that the size we calculate matches with what we see from the hardware. When it comes down to it, we trust but verify the CPU. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233130.234FE1EC@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 060dd0f712562925662c65b90d225d82304764f7 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:29 2015 -0700 x86/fpu: Add C structures for AVX-512 state components AVX-512 has 3 separate state components: 1. opmask registers 2. zmm upper half of registers 0-15 3. new zmm registers (16-31) This patch adds C structures for the three components along with a few comments mostly lifted from the SDM to explain what they do. This will allow us to check our structures against what the hardware tells us about the sizes of the components. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233129.F2433B98@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 83aa3c45307228af4329cbb915a2f2142e5479ad Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:29 2015 -0700 x86/fpu: Rework YMM definition We are about to rework all of the "extended state" definitions. This makes the 'ymm' naming consistent with the AVX-512 types we will introduce later. We also add a convenience type: "reg_128_bit" so that we do not have to spell out our arithmetic. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233129.B4EB045F@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1126cb4535c4ff172c37a412a6bd25d6b47a1901 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:29 2015 -0700 x86/fpu/mpx: Rework MPX 'xstate' types MPX includes two separate "extended state components". There is no real need to have an 'mpx_struct' because we never really manage the states together. We also separate out the actual data in 'mpx_bndcsr_state' from the padding. We will shortly be checking the state sizes against our structures and need them to match. For consistency, we also ensure to prefix these types with 'mpx_'. Lastly, we add some comments to mirror some of the descriptions in the Intel documents (SDM) of the various state components. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233129.384B73EB@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 633d54c47a5bedfb42f10e6a63eeeebd35abdb4c Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:29 2015 -0700 x86/fpu: Add xfeature_enabled() helper instead of test_bit() We currently use test_bit() in a few places to see if an xfeature is enabled. It ends up being a bit ugly because 'xfeatures_mask' is a u64 and test_bit wants an 'unsigned long' so it requires a cast. The *_bit() functions are also techincally atomic, which we have no need for here. So, remove the test_bit()s and replace with the new xfeature_enabled() helper. This also provides a central place to add a comment about the future need to support 'system xstates'. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233129.B1534F86@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ee9ae257eb17d3426ee9ab91449a3aa443298b36 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:28 2015 -0700 x86/fpu: Remove 'xfeature_nr' xfeature_nr ended up being initialized too late for me to use it in the "xsave size sanity check" patch which is later in the series. I tried to move around its initialization but realized that it was just as easy to get rid of it. We only have 9 XFEATURES. Instead of dynamically calculating and storing the last feature, just use the compile-time max: XFEATURES_NR_MAX. Note that even with 'xfeatures_nr' we can had "holes" in the xfeatures_mask that we had to deal with. We also change a 'leaf' variable to be a plain 'i'. Although it is used to grab a cpuid leaf in this one loop, all of the other loops just use an 'i' and I find it much more obvious to keep the naming consistent across all the similar loops. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233128.3F30DF5A@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8a93c9e0dca131a0bf330ea9d1e57c1bcf3824ad Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:28 2015 -0700 x86/fpu: Rework XSTATE_* macros to remove magic '2' The 'xstate.c' code has a bunch of references to '2'. This is because we have a lot more work to do for the "extended" xstates than the "legacy" ones and state component 2 is the first "extended" state. This patch replaces all of the instances of '2' with FIRST_EXTENDED_XFEATURE, which clearly explains what is going on. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233128.A8C0BF51@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dad8c4fe8530f28dde73dadd1d588e3aaa507562 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:27 2015 -0700 x86/fpu: Rename XFEATURES_NR_MAX This is a logcal followon to the last patch. It makes the XFEATURE_MAX naming consistent with the other enum values. This is what Ingo suggested. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233127.A541448F@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d91cab78133d33b1dfd3d3fa7167fcbf74fb5f99 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:26 2015 -0700 x86/fpu: Rename XSAVE macros There are two concepts that have some confusing naming: 1. Extended State Component numbers (currently called XFEATURE_BIT_*) 2. Extended State Component masks (currently called XSTATE_*) The numbers are (currently) from 0-9. State component 3 is the bounds registers for MPX, for instance. But when we want to enable "state component 3", we go set a bit in XCR0. The bit we set is 1<<3. We can check to see if a state component feature is enabled by looking at its bit. The current 'xfeature_bit's are at best xfeature bit _numbers_. Calling them bits is at best inconsistent with ending the enum list with 'XFEATURES_NR_MAX'. This patch renames the enum to be 'xfeature'. These also happen to be what the Intel documentation calls a "state component". We also want to differentiate these from the "XSTATE_*" macros. The "XSTATE_*" macros are a mask, and we rename them to match. These macros are reasonably widely used so this patch is a wee bit big, but this really is just a rename. The only non-mechanical part of this is the s/XSTATE_EXTEND_MASK/XFEATURE_MASK_EXTEND/ We need a better name for it, but that's another patch. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233126.38653250@xxxxxxxxxxxxxxxxxx [ Ported to v4.3-rc1. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 75933433d666c2ab13a7a93f4ec1e6f000a94ffc Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:25 2015 -0700 x86/fpu: Remove partial LWP support definitions LightWeight Profiling was evidently an AMD profiling feature that we never got around to implementing. Remove the references to it. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233125.7E602284@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4109ca066b6b899ac7549bf3aac94b178ac95891 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:25 2015 -0700 x86/fpu: Remove XSTATE_RESERVE The original purpose of XSTATE_RESERVE was to carve out space to store all of the possible extended state components that get saved with the XSAVE instruction(s). However, we are now almost entirely dynamically allocating the buffers we use for XSAVE by placing them at the end of the task_struct and them sizing them at boot. The one exception for that is the init_task. The maximum extended state component size that we have today is on systems with space for AVX-512 and Memory Protection Keys: 2696 bytes. We have reserved a PAGE_SIZE buffer in the init_task via fpregs_state->__padding. This check ensures that even if the component sizes or layout were changed (which we do not expect), that we will still not overflow the init_task's buffer. In the case that we detect we might overflow the buffer, we completely disable XSAVE support in the kernel and try to boot as if we had 'legacy x87 FPU' support in place. This is a crippled state without any of the XSAVE-enabled features (MPX, AVX, etc...). But, it at least let us boot safely. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233125.D948D475@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a265375028b241a9173b7c569dd2368ba97fcd4 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:24 2015 -0700 x86/fpu: Move XSAVE-disabling code to a helper When we want to _completely_ disable XSAVE support as far as the kernel is concerned, we have a big set of feature flags to clear. We currently only do this in cases where the user asks for it to be disabled, but we are about to expand the places where we do it to handle errors too. Move the code in to xstate.c, and put it in the xstate.h header. We will use it in the next patch too. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233124.EA9A70E5@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b0815359590f496f80e355a74319b6dc77010951 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:24 2015 -0700 x86/fpu: Print xfeature buffer size in decimal This is utterly a personal taste thing, but I find it way easier to read structure sizes in decimal than in hex. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233124.1A8B04A8@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e84fe80337dc85cca07d0417ea97edbec4789d8b Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Fri Sep 11 12:53:46 2015 +0100 drm/i915: Split alloc from init for lrc Extend init/init_hw split to context init. - Move context initialisation in to i915_gem_init_hw - Move one off initialisation for render ring to i915_gem_validate_context - Move default context initialisation to logical_ring_init Rename intel_lr_context_deferred_create to intel_lr_context_deferred_alloc, to reflect reduced functionality & alloc/init split. This patch is intended to split out the allocation of resources & initialisation to allow easier reuse of code for resume/gpu reset. v2: Removed function ptr wrapping of do_switch_context (Daniel Vetter) Left ->init_context int intel_lr_context_deferred_alloc (Daniel Vetter) Remove unnecessary init flag & ring type test. (Daniel Vetter) Improve commit message (Daniel Vetter) v3: On init/reinit, set the hw next sequence number to the sw next sequence number. This is set to 1 at driver load time. This prevents the seqno being reset on reinit (Chris Wilson) v4: Set seqno back to ~0 - 0x1000 at start-of-day, and increment by 0x100 on reset. This makes it obvious which bbs are which after a reset. (David Gordon & John Harrison) Rebase. v5: Rebase. Fixed rebase breakage. Put context pinning in separate function. Removed code churn. (Thomas Daniel) v6: Cleanup up issues introduced in v2 & v5 (Thomas Daniel) Issue: VIZ-4798 Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: John Harrison <john.c.harrison@xxxxxxxxx> Cc: David Gordon <david.s.gordon@xxxxxxxxx> Cc: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8ece249a811e93d3f60e3f1ebdc86c7e7a95bdbf Author: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Date: Fri Sep 4 14:11:42 2015 +0100 acpi/apei: Use appropriate pgprot_t to map GHES memory If the ACPI APEI firmware handles hardware error first (called "firmware first handling"), the firmware updates the GHES memory region with hardware error record (called "generic hardware error record"). Essentially the firmware writes hardware error records in the GHES memory region, triggers an NMI/interrupt, then the GHES driver goes off and grabs the error record from the GHES region. The kernel currently maps the GHES memory region as cacheable (PAGE_KERNEL) for all architectures. However, on some arm64 platforms, there is a mismatch between how the kernel maps the GHES region (PAGE_KERNEL) and how the firmware maps it (EFI_MEMORY_UC, ie. uncacheable), leading to the possibility of the kernel GHES driver reading stale data from the cache when it receives the interrupt. With stale data being read, the kernel is unaware there is new hardware error to be handled when there actually is; this may lead to further damage in various scenarios, such as error propagation caused data corruption. If uncorrected error (such as double bit ECC error) happened in memory operation and if the kernel is unaware of such an event happening, errorneous data may be propagated to the disk. Instead GHES memory region should be mapped with page protection type according to what is returned from arch_apei_get_mem_attribute(). Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> [ Small stylistic tweaks. ] Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Acked-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/1441372302-23242-3-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 89e44b51cc0db50ea4b5bbb5d582c4db88bbaed8 Author: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Date: Fri Sep 4 14:11:41 2015 +0100 arm64, acpi/apei: Implement arch_apei_get_mem_attributes() Table 8 of UEFI 2.5 section 2.3.6.1 defines mappings from EFI memory types to MAIR attribute encodings for arm64. If the physical address has memory attributes defined by EFI memmap as EFI_MEMORY_[UC|WC|WT], return approprate page protection type according to the UEFI spec. Otherwise, return PAGE_KERNEL. Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> [ Small stylistic tweaks. ] Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1441372302-23242-2-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 87bcdd2e275d75e374434a4ad7da66bbb6da1d17 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Thu Sep 10 14:55:00 2015 -0700 drm/i915: don't try to load GuC fw on pre-gen9 This avoids some bad register writes and generally feels more correct than unconditionally trying to redirect interrupts and such. References: https://bugs.freedesktop.org/show_bug.cgi?id=91777 Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6ff8ab0d0fab914755cb79b1e0469dd7123cc471 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Thu Sep 10 08:20:28 2015 -0700 drm/i915: make CSR firmware messages less verbose Use WARN_ONCE in a bunch of places and demote a message that would continually spam us. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b970b48685a7ae2953e659f7e657cde2949b12ae Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Tue Sep 8 10:31:53 2015 +0100 drm/i915/gen9: Add WaDisableMinuteIaClockGating Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5b88abacd4820c66bc347a6beeb3d6ad1144544b Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Sep 8 10:31:49 2015 +0100 drm/i915/bxt: Add WaSetClckGatingDisableMedia Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8c761609ec3beca88819e28d4fcf333b579d29b4 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Sep 8 10:31:48 2015 +0100 drm/i915/gen9: Add WaDisableSamplerPowerBypassForSOPingPong Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e2ec35a58b3c9cdadbb7d913e8262ad9ddcb00f7 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Sep 11 16:58:32 2015 +0530 drm/i915/bxt: Use intel_encoder->hpd_pin to check live status Using intel_encoder's hpd_pin to check the live status because of BXT A0/A1 WA for HPD pins and hpd_pin contains the updated pin for the corresponding port. Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0e2815de552a638295cfdaf0865e575573bf263e Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Sep 9 09:12:44 2015 +0200 x86/headers: Clean up too long lines Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: brgerst@xxxxxxxxx Cc: dvlasenk@xxxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: mikko.rapeli@xxxxxx Cc: oleg@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150909071244.GM3644@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 04a6b8bfee06e309be7e9ae4527cdab19c081761 Author: Mathias Krause <mathias.krause@xxxxxxxxxxx> Date: Fri Sep 11 09:57:20 2015 +0200 xfrm6: Fix ICMPv6 and MH header checks in _decode_session6 Ensure there's enough data left prior calling pskb_may_pull(). If skb->data was already advanced, we'll call pskb_may_pull() with a negative value converted to unsigned int -- leading to a huge positive value. That won't matter in practice as pskb_may_pull() will likely fail in this case, but it leads to underflow reports on kernels handling such kind of over-/underflows, e.g. a PaX enabled kernel instrumented with the size_overflow plugin. Reported-by: satmd <satmd@xxxxxxx> Reported-and-tested-by: Marcin Jurkowski <marcin1j@xxxxxxxxx> Signed-off-by: Mathias Krause <mathias.krause@xxxxxxxxxxx> Cc: PaX Team <pageexec@xxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 5af05fefb5be51d42effc4f802b6d806fbda34eb Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Sep 4 12:59:15 2015 +0100 drm/i915/lrc: Prevent preemption when lite-restore is disabled When WaEnableForceRestoreInCtxtDescForVCS is required, it is only safe to send new contexts if the last reported event is "active to idle". Otherwise the same context can fully preempt itself because lite-restore is disabled. Testcase: igt/gem_concurrent_blit Reported-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Tested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec72d5884c6a3cf4f27b52da51654a472b919545 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Sep 4 12:59:14 2015 +0100 drm/i915: WaEnableForceRestoreInCtxtDescForVCS is for video engines only Also check for correct revision id in each Gen9 platform (SKL until B0 and BXT until A0). Cc: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Tested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6764e9f8724f1231b4deac53b9a82286ac0830e7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:06 2015 +0200 drm/i915: skip modeset if compatible for everyone. This is done as a separate commit, to make it easier to revert when things break. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bfd16b2a23dc99f2af3f5c4f54aa153347f2dc3c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:05 2015 +0200 drm/i915: Make updating pipe without modeset atomic. Instead of doing a hack during primary plane commit the state is updated during atomic evasion. It handles differences in pipe size and the panel fitter. This is continuing on top of Daniel's work to make faster modesets atomic, and not yet enabled by default. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> [danvet: - simplify/future-proof if ladder that Jesse spotted - resolve conflict in pipe_config_check and don't spuriously move the code.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f4502c25ebd04691f284fdafff4a5613299c36dc Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:04 2015 +0200 drm/i915: Always try to inherit the initial fb. The initial state is read out correctly and the state is atomic, so it's safe to preserve the fb without any hacks if it's suitable. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d551599181769571f4f68dd93e5d8b15868889af Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:03 2015 +0200 drm/i915: Remove references to crtc->active from intel_fbdev.c It should really use the atomic state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44522d852f1979ec0e6807eb4dc58bd7ecc8af08 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:02 2015 +0200 drm/i915: Set csc coefficients in update_pipe_size. This might not have been set during boot, and when we preserve the initial mode this can result in a black screen. Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit db66e32e0d2ae1f5070faa589aa460b75780ab47 Merge: f9f3ce8 6ff33f3 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sun Sep 13 18:41:29 2015 -0700 Merge tag 'v4.3-rc1' into MTD -next development commit 535118cac9e0705bf58de0604060f644bee7472d Author: Wolfram Sang <wsa@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 19:48:19 2015 +0200 ARM: shmobile: r8a7790: lager: add pinmux for iic0 It seems we used to rely on the default pinmux setting of this HW, but currently we need to explicitly set the pinmux to access this bus. It is better style, too. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 23640ff2eff0dec2016dd097b1b04c817a4ffd3f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Aug 25 07:14:50 2015 +0000 ARM: shmobile: r8a7778: tidyup SSI resource region Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8c3f903bd362328aac997aba1adfea59e337918a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Aug 24 08:28:17 2015 +0000 ARM: shmobile: r8a7791: tidyup SSI resource region Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4bc4a2051abe12e6e7521cbabac0048096243094 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Aug 24 08:27:56 2015 +0000 ARM: shmobile: r8a7790: tidyup SSI resource region Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6bc651afec2dba4d3e40901a2c5cfc88ad35d97a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Aug 20 03:09:52 2015 +0000 ARM: shmobile: lager: use CCF for audio clock Because of historical reason, audio clock didn't use CCF. Let's use it now. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c19c84ff3ab1280894bb2cdd99027f751922e2ba Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Aug 20 03:09:30 2015 +0000 ARM: shmobile: koelsch: use CCF for audio clock Because of historical reason, audio clock didn't use CCF. Let's use it now. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8614daf299cbab2bcada922e727fdc9ad45b2412 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 01:24:47 2015 +0300 ARM: shmobile: silk: add VIN0/ADV7180 DT support Define the SILK board dependent part of the VIN0 device node. Add the device node for Analog Devices ADV7180 video decoder to I2C1 bus. Add the necessary subnodes to interconnect VIN0 and ADV7180 devices. Based on the Henninger VIN0/ADV8170 device tree patch by myself. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1afe77ca7846489fff3d1675b82bd2116a56474a Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 01:22:24 2015 +0300 ARM: shmobile: r8a7794: add VIN DT support Define the generic R8A7794 part of the VIN[01] device nodes. Add aliases for the VIN[01] device nodes. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fa070791c1e7df91ca07fc7c9a431fac0d7d2832 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 01:05:02 2015 +0300 ARM: shmobile: silk: add I2C1 DT support Define the SILK board dependent part of the I2C1 device node. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5428521ba123dddda4d2ac9ab19d173b692a8acb Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 01:00:09 2015 +0300 ARM: shmobile: r8a7794: add I2C DT support Define the generic R8A7794 parts of the I2C[0-5] device nodes. Based on the original patch by Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 755252d0e502627df6ddabbb2d628705bc256497 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Jul 6 12:55:32 2015 +0200 ARM: shmobile: kzm9g dts: Use adxl345-specific compatible property Replace the deprecated generic "adi,adxl34x" compatible value by the adxl345-specific "adi,adxl345" value, cfr. commit e465bf6fc55d5ce2 ("DT: i2c: Deprecate adi,adxl34x compatible string"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8025e3ff4ca972a0ca2aa898562670a767f79889 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Aug 7 11:45:33 2015 +0900 ARM: shmobile: marzen: Board specific serial port order Convert Marzen to use board-specific serial0 and serial1 instead of the older shared SoC-specific SCIF index. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0ebdbc505b620ab4397c3105d36a5383fb16b151 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 01:00:35 2015 +0300 ARM: shmobile: silk: add QSPI DT support Define the SILK board dependent part of the QSPI device node. Add device nodes for Spansion S25FL512S SPI flash and MTD partitions on it. Based on the original patch by Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 740b4a9f07fe73b5ccd2bc3dc365dc359e1a332d Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 00:59:24 2015 +0300 ARM: shmobile: r8a7794: add QSPI DT support Define the generic R8A7794 part of the QSPI device node. Based on original patch by Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e8f5de3bea9e01fd1390d64bc915a11df919b3fe Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 01:09:31 2015 +0300 ARM: shmobile: r8a7794: add GPIO DT support Describe GPIO[0-6] controllers in the R8A7794 device tree. Based on original patch by Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3f37e01852a06faf1d5fed30eaee5cae942fc9d5 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 01:08:21 2015 +0300 ARM: shmobile: r8a7794: add GPIO clocks Describe the GPIO clocks in the R8A7794 device tree. Based on the original patch by Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e5923ad92d0177202b85fc4c2f1ae1a3a01f5a76 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Aug 5 06:30:48 2015 +0900 ARM: shmobile: Add silk device tree bindings documentation Add Silk Device tree bindings Documentation, listing it as a supported board. This allows to use checkpatch to validate DTSes referring to the Silk board. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 0a8b0695f4c490c349ee12956d6946576c44a419 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Jul 15 15:45:23 2015 +0900 ARM: multi_v7_defconfig: Remove Marzen Kill of the defconfig bits now when the marzen-reference board code is gone. Based on work by Magnus Damm. Acked-by: Magnus Damm <damm@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ea3e4a2b3945f62457fa377c2bd0f49c32192194 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 13 15:15:23 2015 +0900 ARM: shmobile: Remove Marzen from shmobile_defconfig Kill of the defconfig bits now when the marzen-reference board code is gone. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 04418c23a9411b85b8789eab5f4397bcbd62b7b4 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sat Aug 29 00:37:17 2015 +0300 ARM: shmobile: Remove legacy clock support leftovers The shmobile_clk_init() function has been removed and the linux/sh_clk.h header doesn't need to be included anymore. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fc22a4d484fafb373c51bb6792bb5a4ef4caae71 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Thu Aug 20 16:27:44 2015 -0700 ARM: shmobile: remove Makefile.boot Now that the only multiplatform boot is supported for all shmobile platforms Makefile.boot may be removed. This seems correct to me given: * Setting MACHINE to no value in arch/arm/Makefile if CONFIG_ARCH_MULTIPLATFORM is set * Not including Makefile.boot in arch/arm/boot/Makefile if MACHINE has no value Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 7463c876331d01aafb420f3637c2f69409eb0447 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Aug 18 15:12:18 2015 +0200 ARM: shmobile: Kconfig: remove unused SHMOBILE_TIMER_HZ section Obsoleted by removal of legacy platforms. 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 6263ef7c25d3e081642c22d2e6d0dc1e9cb7c015 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Aug 18 15:12:17 2015 +0200 ARM: shmobile: bockw: remove legacy DTB build target Obsoleted by removal of legacy platform. 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 8d4f9480f6e7882acf4c320833457f879d2bbd10 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:08 2015 +0200 MAINTAINERS: remove references to dropped marzen and bockw defconfigs Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e12cc06150094d936c955d5fbe8681a0a44b23f8 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:07 2015 +0200 ARM: shmobile: bockw: remove legacy defconfig Obsoleted by removal of legacy platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 36d6c9280b7f7c895c124ecf918ee5bda3c52ccd Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:06 2015 +0200 ARM: shmobile: remove ARCH_SHMOBILE_LEGACY option With Bock-W, the last legacy platform has been removed. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 51e47a386f3ac1c3efd10505a7b190667bd4b731 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:05 2015 +0200 ARM: shmobile: r8a7778: remove legacy clock implementation Bock-W was the last legacy clock platform, so this also removes the common legacy clock code. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 993f58c32c613b7155f3cab75ed4e2e6e6b3ec64 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:04 2015 +0200 ARM: shmobile: Kconfig: remove obsolete option ARCH_R8A7778 Obsoleted by removal of r8a7778 legacy platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4baadb9e05c68962362b7e1f52f32f50b4062593 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:03 2015 +0200 ARM: shmobile: r8a7778: remove obsolete setup code Removal of the legacy Bock-W platform obsoletes most setup code. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3d7608e4c169af0361a4ebcb6294e7530b0e2c31 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:02 2015 +0200 ARM: shmobile: bockw: remove legacy board file and config Replaced by multi-platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c2c7375ba2dfcce3dfc9ecf4b3e44b975fb139fc Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:54:04 2015 +0200 ARM: shmobile: remove paragraph on DT reference platforms They have all been eliminated now. 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 892b19fe503f5478f14c77d5f14df9f954292baf Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 7 18:34:57 2015 +0200 ARM: shmobile: bockw: remove "reference" board file and config Replaced by multi-platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2c0a876680c2c90442a8d6bb3cde07bd8b663dca Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 7 18:34:56 2015 +0200 ARM: shmobile: bockw: remove "reference" device tree Replaced by multi-platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b62708ac3f5ebfd3a15bd65fd48ed013c5f166bf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:12 2015 +0200 ARM: shmobile: Remove obsolete twd_local_timer declaration The last user of twd_local_timer was removed in commit c99cd90d98a98aa1 ("ARM: shmobile: r8a7779: Remove legacy SoC code"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 93161cb4c3c27517f1b4516a880adaf7df4112e2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:11 2015 +0200 ARM: shmobile: Remove obsolete earlytimer registration The last caller of shmobile_earlytimer_init() was removed in commit c99cd90d98a98aa1 ("ARM: shmobile: r8a7779: Remove legacy SoC code"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit edc77c65df148548bd168fde9607707d81de39ff Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:10 2015 +0200 ARM: shmobile: Remove obsolete legacy PM Domain leftovers The last users were removed in commit b587288001f05c0e ("ARM: shmobile: R-Mobile: Remove legacy PM Domain code"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 49611d482910b654ba6ce09fa44aa665359620b4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:09 2015 +0200 ARM: shmobile: Remove obsolete intc.h The last user of "intc.h" was removed in commit 9a9863987bf7307f ("ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 815fc8c06b57f283f942c6c25e3c58d6e4cb8fd7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:08 2015 +0200 ARM: shmobile: Remove obsolete custom earlyprintk code The last caller of shmobile_setup_console() was removed in commit 44d88c754e57a6d9 ("ARM: shmobile: Remove legacy SoC code for R-Mobile A1"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 26449ecc21dd690f5bc686fbee8037587c77ac5e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:07 2015 +0200 ARM: shmobile: Remove obsolete sh-gpio.h The last user of "sh-gpio.h" was removed in commit 1fa59bda21c7fa36 ("ARM: shmobile: Remove legacy board code for Armadillo-800 EVA"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 08a0a2409fd0684a1184bf90486b0286a2ba1194 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:06 2015 +0200 ARM: shmobile: Remove unused declaration of r8a7778_add_standard_devices_dt() The actual implementation was removed by commit 40216263d3d0b9b4 ("ARM: shmobile: Remove unused r8a7778 auxdata and callback") in v3.12. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 216c59d65f99aa1ef1a92e1ae64f1f1c2590dddc Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Sep 11 00:07:19 2015 +0300 drm/atomic-helper: Don't skip plane disabling on active CRTC Since commit "drm/atomic-helper: Add option to update planes only on active crtc" the drm_atomic_helper_commit_planes() function accepts an active_only argument to skip updating planes when the associated CRTC is inactive. Planes being disabled on an active CRTC are incorrectly considered as associated with an inactive CRTC and are thus skipped, preventing any plane disabling update from reaching drivers. Fix it by checking the state of the CRTC stored in the old plane state for planes being disabled. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d73270192ec8238135d9fb65b49f6f42f50818d Author: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Date: Mon Sep 7 17:01:59 2015 -0300 scripts/kernel-doc: Replacing highlights hash by an array The "highlight" code is very sensible to the order of the hash keys, but the order of the keys cannot be predicted. It generates faulty DocBook entries like: - @<function>device_for_each_child</function> Sorting the result is not enough some times (as it's deterministic but we can't control it). We should use an array for that job, so we can guarantee that the order of the regex execution on dohighlight is correct. [jc: I think this is kind of papering around the real problem, that people are saying @function() when "function" is not a parameter. But this makes things better than they were before, so...] Signed-off-by: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 17666497fe631fef483afd38824c5dabdd764b90 Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Mon Sep 7 19:06:14 2015 +0200 sysfs.txt: mention that store method buffers are null-terminated Without knowing this, the use of sysfs_streq() becomes puzzling. The termination happens in kernfs_fop_write(). Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> [jc: moved the new text to a different paragraph] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9ba41327d8d01df54be1e6f1c246b123b009fa55 Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Wed Sep 2 14:34:53 2015 +0200 sysfs-tagging.txt: fix pre-kernfs references - sysfs_dirent is now kernfs_node - see commit 324a56e16e44 ("kernfs: s/sysfs_dirent/kernfs_node/ and rename its friends accordingly") - sysfs_super_info is now kernfs_super_info - see commit c525aaddc366 ("kernfs: s/sysfs/kernfs/ in various data structures") - the 's_' prefix was dropped from various fields - see commit adc5e8b58f48 ("kernfs: drop s_ prefix from kernfs_node members") Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 390b421c42c8b749661f018818f1d34f339fc3b2 Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Wed Sep 2 14:34:52 2015 +0200 sysfs.txt: fix pre-kernfs sysfs_dirent reference sysfs_dirent went away when kernfs was extracted from sysfs. The reference to the kobject now lives in a kernfs_node (in the 'priv' member). See commit 324a56e16e44 ("kernfs: s/sysfs_dirent/kernfs_node/ and rename its friends accordingly"). Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 121e0248bdae1ddaebc26ef32975c3ac1692995e Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Sun Sep 6 02:13:34 2015 +0300 documentation: fix small typo in rbtree.txt Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 68f86662380c343317325c024d6a35221f1908ac Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Tue Sep 1 23:48:49 2015 +0100 Documentation: Avoid creating man pages in source tree Currently kernel-doc generates a dummy DocBook file when asked to convert a C source file with no structured comments. For an out-of-tree build (objtree != srctree), the title of the output file is the absolute path name of the C source file, which later results in a manual page being created alongside the C source file. Change the title to be a relative path. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit df5f0b6efb20be669ad356eba675706d4cda2d0b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 9 16:46:38 2015 -0700 Documentation: lockstat: Fix typo lokcing -> locking Cc: Jiri Kosina <trivial@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 42f41ecfa946db61a490b3f8da3b7f18b76ca138 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Fri Sep 11 13:23:36 2015 -0600 MAINTAINERS: claim scripts/*doc* in the docs tree Changes to scripts/kernel-doc and such are best run through the docs tree. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 23aebb3c05f3b3fb06a68bf6b1539a05a5f8aaab Author: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Date: Tue Sep 1 14:44:14 2015 -0300 scripts/kernel-doc: Processing -nofunc for functions only Docproc processes the EXPORT_SYMBOL(f1) macro and uses -nofunc f1 to avoid duplicated documentation in the next call. It works for most of the cases, but there are some specific situations where a struct has the same name of an already-exported function. Current kernel-doc behavior ignores those structs and does not add them to the final documentation. This patch fixes it. This is unusual, the only case I've found is the drm_modeset_lock (function and struct) defined in drm_modeset_lock.h and drm_modeset_lock.c. Considering this, it should only affect the DRM documentation by including struct drm_modeset_lock to the final Docbook. Signed-off-by: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 47f16529a7b0d359ee5ac29dc88c99d1ce0323b9 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Fri Sep 11 10:46:07 2015 -0600 Docs/DocBook: Add .db files to .gitignore These files were added with the XML crossreference patch; they make git complain. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 2d774bd047fcbf8d2a1f470dbe7c9875f9074b11 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Aug 31 11:16:08 2015 -0700 DocBook: ignore .proc files These are generated as part of 'make htmldocs'. If we don't ignore them, then most of our generated subdirectories get treated as "untracked" by git. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9ddf9071ea17b83954358b2dac42b34e5857a9af Merge: 50ef28a 6ff33f3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Sep 13 11:10:12 2015 -0300 Merge tag 'v4.3-rc1' into patchwork Linux 4.3-rc1 * tag 'v4.3-rc1': (11838 commits) Linux 4.3-rc1 blk: rq_data_dir() should not return a boolean writeback: plug writeback in wb_writeback() and writeback_inodes_wb() thermal: fix intel PCH thermal driver mismerge ARCv2: [axs103_smp] Reduce clk for SMP FPGA configs 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 Revert "writeback: plug writeback at a high level" scsi_dh: fix randconfig build error 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 ... commit bab84fa9cc09dfa9702029f83ea6bf8bf5ae96af Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Aug 27 18:30:43 2015 +0600 m68k/sun3: Use %pM format specifier to print ethernet address printk() supports %pM format specifier for printing 6-byte MAC/FDDI addresses in hex notation small buffers, let's use it intead of %x:%x... Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 9ff5052f7561068207c2b0e7590ad8ca5765f2cc Author: Olliver Schinagl <o.schinagl@xxxxxxxxxxxxx> Date: Sun Aug 9 20:22:58 2015 +0200 ARM: dts: sunxi: enable otg port on the sun7i-a20-olinuxino-lime2 This patch enables the musb-otg USB controller on the Lime2. The Lime2 differs from the Lime1 series in pins used for usb0 power. Tested on a OlinuXino Lime2-4GB. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit bcbf506d777d2627cb8f68755816fab04eb8b852 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Aug 8 17:38:54 2015 +0200 ARM: dts: sun4i: Enable i2c1 and i2c2 on the Chuwi V7-CW0825 tablet i2c1 has a freescale mma7660 accelerometer connected to it at addr 0x4c, i2c2 has a ft5x touchscreen connected to it at addr 0x38. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit fec794c7717eaf724542c56fda5f7090f23cefab Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Aug 4 23:30:09 2015 +0200 ARM: dts: sun4i: Enable otg in host only mode on Jesurun Q5 The Jesurun Q5 has the musb hooked up to an usb-a receptacle, enable it in host-only mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 0052b7dcf9d9ec6be4fc3fe815a2ceda623bb9d1 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Sep 13 19:00:05 2015 +0900 ALSA: pcm: remove structure member of 'struct snd_pcm_hwptr_log *' type because this structure had been removed This structure was added by 4d96eb255c53 ('ALSA: pcm_lib - add possibility to log last 10 DMA ring buffer positions') to store PCM pointers information of latest 10 pointer movements (=XRUN_LOG_CNT). When CONFIG_SND_PCM_XRUN_DEBUG is configured, 'struct snd_pcm_runtime' has 'hwptr_log' member with a pointer to the structure. When calling xrun_log() in pcm_lib.c, the structure was allocated to the pointer. When calling snd_pcm_detach_substream() in pcm.c, the allocated pointer is released. In f5914908a5b7 ('ALSA: pcm: Replace PCM hwptr tracking with tracepoints'), the pointer logging is replaced with using Linux Kernel Tracepoints. The structure was also removed, while it's just declared. The member and kfree still remains. This commit removes the member and related codes. I think this was overlooked because it brings no errors/warnings to C compilers. Fixes: f5914908a5b7 ('ALSA: pcm: Replace PCM hwptr tracking with tracepoints') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8f3e5684d3fbd91ead283916676fa3dac22615e5 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:53 2015 -0700 perf/core: Drop PERF_EVENT_TXN We currently use PERF_EVENT_TXN flag to determine if we are in the middle of a transaction. If in a transaction, we defer the schedulability checks from pmu->add() operation to the pmu->commit() operation. Now that we have "transaction types" (PERF_PMU_TXN_ADD, PERF_PMU_TXN_READ) we can use the type to determine if we are in a transaction and drop the PERF_EVENT_TXN flag. When PERF_EVENT_TXN is dropped, the cpuhw->group_flag on some architectures becomes unused, so drop that field as well. This is an extension of the Powerpc patch from Peter Zijlstra to s390, Sparc and x86 architectures. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-11-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 88a486132dffeb010d659e00361c4d114de09972 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:52 2015 -0700 powerpc, perf/powerpc/hv-24x7: Use PMU_TXN_READ interface The 24x7 counters in Powerpc allow monitoring a large number of counters simultaneously. They also allow reading several counters in a single HCALL so we can get a more consistent snapshot of the system. Use the PMU's transaction interface to monitor and read several event counters at once. The idea is that users can group several 24x7 events into a single group of events. We use the following logic to submit the group of events to the PMU and read the values: pmu->start_txn() // Initialize before first event for each event in group pmu->read(event); // Queue each event to be read pmu->commit_txn() // Read/update all queuedcounters The ->commit_txn() also updates the event counts in the respective perf_event objects. The perf subsystem can then directly get the event counts from the perf_event and can avoid submitting a new ->read() request to the PMU. Thanks to input from Peter Zijlstra. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-10-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4a00c16e552ea5e71756cd29cd2df7557ec9cac4 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:51 2015 -0700 perf/core: Define PERF_PMU_TXN_READ interface Define a new PERF_PMU_TXN_READ interface to read a group of counters at once. pmu->start_txn() // Initialize before first event for each event in group pmu->read(event); // Queue each event to be read rc = pmu->commit_txn() // Read/update all queued counters Note that we use this interface with all PMUs. PMUs that implement this interface use the ->read() operation to _queue_ the counters to be read and use ->commit_txn() to actually read all the queued counters at once. PMUs that don't implement PERF_PMU_TXN_READ ignore ->start_txn() and ->commit_txn() and continue to read counters one at a time. Thanks to input from Peter Zijlstra. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-9-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7d88962e230c8342080e7e2fe9dd5be43dc13b79 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:50 2015 -0700 perf/core: Add return value for perf_event_read() When we implement the ability to read several counters at once (using the PERF_PMU_TXN_READ transaction interface), perf_event_read() can fail when the 'group' parameter is true (eg: trying to read too many events at once). For now, have perf_event_read() return an integer. Ignore the return value when the 'group' parameter is false. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-8-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fa8c269353d560b7c28119ad7617029f92e40b15 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Sep 3 20:07:49 2015 -0700 perf/core: Invert perf_read_group() loops In order to enable the use of perf_event_read(.group = true), we need to invert the sibling-child loop nesting of perf_read_group(). Currently we iterate the child list for each sibling, this precludes using group reads. Flip things around so we iterate each group for each child. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> [ Made the patch compile and things. ] Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-7-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0492d4c5b8c4dc3a7591bf6fa0e35d117812cc85 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Sep 3 20:07:48 2015 -0700 perf/core: Add group reads to perf_event_read() Enable perf_event_read() to update entire groups at once, this will be useful for read transactions. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150723080435.GE25159@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b15f495b4e9295cf21065d8569835a2f18cfe41b Author: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Date: Thu Sep 3 20:07:47 2015 -0700 perf/core: Rename perf_event_read_{one,group}, perf_read_hw In order to free up the perf_event_read_group() name: s/perf_event_read_\(one\|group\)/perf_read_\1/g s/perf_read_hw/__perf_read/g Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-5-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 01add3eaf1b25e497b14ca210f3bfe5f5dd2b112 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:46 2015 -0700 perf/core: Split perf_event_read() and perf_event_count() perf_event_read() does two things: - call the PMU to read/update the counter value, and - compute the total count of the event and its children Not all callers need both. perf_event_reset() for instance needs the first piece but doesn't need the second. Similarly, when we implement the ability to read a group of events using the transaction interface, we would need the two pieces done independently. Break up perf_event_read() and have it just read/update the counter and have the callers compute the total count if necessary. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-4-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fbbe07011581990ef74dfac06dc8511b1a14badb Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:45 2015 -0700 perf/core: Add a 'flags' parameter to the PMU transactional interfaces Currently, the PMU interface allows reading only one counter at a time. But some PMUs like the 24x7 counters in Power, support reading several counters at once. To leveage this functionality, extend the transaction interface to support a "transaction type". The first type, PERF_PMU_TXN_ADD, refers to the existing transactions, i.e. used to _schedule_ all the events on the PMU as a group. A second transaction type, PERF_PMU_TXN_READ, will be used in a follow-on patch, by the 24x7 counters to read several counters at once. Extend the transaction interfaces to the PMU to accept a 'txn_flags' parameter and use this parameter to ignore any transactions that are not of type PERF_PMU_TXN_ADD. Thanks to Peter Zijlstra for his input. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> [peterz: s390 compile fix] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-3-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 845583767c306dac0290aab908c18b01772ea4b4 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:44 2015 -0700 sparc, perf/sparc: Remove unnecessary assignment In ->commit_txn() 'cpuc' is already initialized when it is declared, so we can remove the duplicate assignment. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441336073-22750-2-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b0e878759452314676fbdd71df4ac67e7d08de5d Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Aug 28 14:06:07 2015 +0200 perf/abi: Document some more aspects of the perf ABI Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 73fdeb66592ee80dffb16fb8a9b7378a00c1a826 Author: Huaitong Han <huaitong.han@xxxxxxxxx> Date: Mon Aug 31 16:21:02 2015 +0800 perf/x86/intel/pt: Fix KVM warning due to doing rdmsr() before the CPUID test If KVM does not support INTEL_PT, guest MSR_IA32_RTIT_CTL reading will produce host warning like "kvm [2469]: vcpu0 unhandled rdmsr: 0x570". Guest can determine whether the CPU supports Intel_PT according to CPUID, so test_cpu_cap function is added before rdmsr,and it is more in line with the code style. Signed-off-by: Huaitong Han <huaitong.han@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: acme@xxxxxxxxxx Link: http://lkml.kernel.org/r/1441009262-9792-1-git-send-email-huaitong.han@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 516792e67c39d31701641ab355acdb9cbfec0643 Author: Kirill Tkhai <ktkhai@xxxxxxxx> Date: Mon Aug 31 15:12:56 2015 +0300 perf/core: Delete PF_EXITING checks from perf_cgroup_exit() callback cgroup_exit() is not called from copy_process() after commit: e8604cb43690 ("cgroup: fix spurious lockdep warning in cgroup_exit()") from do_exit(). So this check is useless and the comment is obsolete. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/55E444C8.3020402@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit deb27519bf1f4b21a761c0675dbdf1196df7d72a Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Aug 17 08:37:31 2015 -0400 perf/x86/intel: Fix LBR callstack issue caused by FREEZE_LBRS_ON_PMI This patch fixes an issue which introduced by commit 1a78d93750bb5f61abdc59a91fc3bd06a214542a ("perf/x86/intel: Streamline LBR MSR handling in PMI"). The old patch not only avoids writing LBR_SELECT MSR in PMI, but also avoids updating lbr_select variable. So in PMI, FREEZE_LBRS_ON_PMI bit is always mistakenly set for IA32_DEBUGCTLMSR MSR, which causes superfluous increase/decrease of LBR_TOS when collecting LBR callstack. Reported-by: Milian Wolff <mail@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439815051-8616-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d2878d642a4edd1d57c691dc3e4d7847cbf9d442 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:09:28 2015 +0300 perf/x86/intel/bts: Disallow use by unprivileged users on paranoid systems BTS leaks kernel addresses even in userspace-only mode due to imprecise IP sampling, so sometimes syscall entry points or page fault handler addresses end up in a userspace trace. Now, intel_bts driver exports trace data zero-copy, it does not scan through it to filter out the kernel addresses and it's would be a O(n) job. To work around this situation, this patch forbids the use of intel_bts driver by unprivileged users on systems with the paranoid setting above the (kernel's) default "1", which still allows kernel profiling. In other words, using intel_bts driver implies kernel tracing, regardless of the "exclude_kernel" attribute setting. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1441030168-6853-3-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a09d31f45224c219a4d5c728fa40150dc9d3e3e5 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:09:27 2015 +0300 perf/x86/intel/ds: Work around BTS leaking kernel addresses BTS leaks kernel addresses even in userspace-only mode due to imprecise IP sampling, so sometimes syscall entry points or page fault handler addresses end up in a userspace trace. Since this driver uses a relatively small buffer for BTS records and it has to iterate through them anyway, it can also take on the additional job of filtering out the records that contain kernel addresses when kernel space tracing is not enabled. This patch changes the bts code to skip the offending records from perf output. In order to request the exact amount of space on the ring buffer, we need to do an extra pass through the records to know how many there are of the valid ones, but considering the small size of the buffer, this extra pass adds very little overhead to the nmi handler. This way we won't end up with awkward IP samples with zero IPs in the perf stream. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1441030168-6853-2-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b20112edeadf0b8a1416de061caa4beb11539902 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 21 12:05:18 2015 +0300 perf/x86: Improve accuracy of perf/sched clock When TSC is stable perf/sched clock is based on it. However the conversion from cycles to nanoseconds is not as accurate as it could be. Because CYC2NS_SCALE_FACTOR is 10, the accuracy is +/- 1/2048 The change is to calculate the maximum shift that results in a multiplier that is still a 32-bit number. For example all frequencies over 1 GHz will have a shift of 32, making the accuracy of the conversion +/- 1/(2^33). That is achieved by using the 'clocks_calc_mult_shift()' function. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1440147918-22250-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 216dcaf290a5e93426cec283ac9edc67ff6756b3 Merge: d2bb1d4 ebfb498 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Sep 13 11:25:55 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 d2bb1d42b95fa88f092623bbb8ed533f316b6a3c Merge: 3bd7617 6ff33f3 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Sep 13 11:25:35 2015 +0200 Merge tag 'v4.3-rc1' into perf/core, to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 84567995612258c23bc55795575babe7ef605dd9 Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Wed Aug 26 19:52:46 2015 +0800 locking/atomics, cmpxchg: Privatize the inclusion of asm/cmpxchg.h After commit: 654672d4ba1a ("locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations") Architectures may only provide {cmp,}xchg_relaxed definitions in asm/cmpxchg.h. Other variants, such as {cmp,}xchg, may be built in linux/atomic.h, which means simply including asm/cmpxchg.h may not get the definitions of all the{cmp,}xchg variants. Therefore, we should privatize the inclusions of asm/cmpxchg.h to keep it only included in arch/* and replace the inclusions outside with linux/atomic.h Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Cc: Chris Brannon <chris@xxxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Kirk Reiser <kirk@xxxxxxxxxx> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx> Cc: Shradha Shah <sshah@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: William Hubbs <w.d.hubbs@xxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Cc: linux-net-drivers@xxxxxxxxxxxxxx Cc: speakup@xxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440589966-26280-1-git-send-email-boqun.feng@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c7ef92cea98bc468bbc8e67b6e49d7365dc69482 Merge: a6b2778 6ff33f3 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Sep 13 10:01:24 2015 +0200 Merge tag 'v4.3-rc1' into locking/core, to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 006cdf025a33cb008c3d466bed311c2c347b458f Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Sep 9 09:06:17 2015 +0200 sched/fair: Optimize per entity utilization tracking Currently the load_{sum,avg} and util_{sum,avg} tracking is asymmetric in that load tracking gets a 2^10 unit from the weight, but util gets no such factor. This results in more lost bits for util scaling and asymmetric scaling rules. Fix this by removing shifts, such that we gain the 2^10 factor from scaling. There is no risk of overflowing the u32 as the max value is now LOAD_AVG_MAX << 10, which is still well below UINT_MAX. This further entangles the assumption that both LOAD and CAPACITY shifts are the same (and 10) so put in an assertion for that. This fixes the math for the LOAD_RESOLUTION != 0 case. 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> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6f2b04524f0b38bfbb8413f98d2d6af234508309 Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Mon Sep 7 14:57:22 2015 +0100 sched/fair: Defer calling scaling functions Do not call the scaling functions in case time goes backwards or the last update of the sched_avg structure has happened less than 1024ns ago. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx <daniel.lezcano@xxxxxxxxxx> Cc: mturquette@xxxxxxxxxxxx <mturquette@xxxxxxxxxxxx> Cc: pang.xunlei@xxxxxxxxxx <pang.xunlei@xxxxxxxxxx> Cc: rjw@xxxxxxxxxxxxx <rjw@xxxxxxxxxxxxx> Cc: sgurrappadi@xxxxxxxxxx <sgurrappadi@xxxxxxxxxx> Cc: vincent.guittot@xxxxxxxxxx <vincent.guittot@xxxxxxxxxx> Cc: yuyang.du@xxxxxxxxx <yuyang.du@xxxxxxxxx> Link: http://lkml.kernel.org/r/55EDA2E9.8040900@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6115c793ca1a6e39c7c15159cbb47baa04009cb8 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 7 15:09:15 2015 +0200 sched/fair: Optimize __update_load_avg() Prior to this patch; the line: scaled_delta_w = (delta_w * 1024) >> 10; which is the result of the default arch_scale_freq_capacity() function, turns into: 1b03: 49 89 d1 mov %rdx,%r9 1b06: 49 c1 e1 0a shl $0xa,%r9 1b0a: 49 c1 e9 0a shr $0xa,%r9 Which is silly; when made unsigned int, GCC recognises this as pointless ops and fails to emit them (confirmed on 4.9.3 and 5.1.1). Furthermore, afaict unsigned is actually the correct type for these fields anyway, as we've explicitly ruled out negative delta's earlier in this function. 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 54a21385facbdcd89a78e8c3e5025f04c5f2b59c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 7 15:05:42 2015 +0200 sched/fair: Rename scale() to cap_scale() Rename scale() to cap_scale() to better reflect its purpose, it is after all not a general purpose scale function, it has SCHED_CAPACITY_SHIFT hardcoded in it. 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 98d8fd8126676f7ba6e133e65b2ca4b17989d32c Author: Morten Rasmussen <morten.rasmussen@xxxxxxx> Date: Fri Aug 14 17:23:14 2015 +0100 sched/fair: Initialize task load and utilization before placing task on rq Task load or utilization is not currently considered in select_task_rq_fair(), but if we want that in the future we should make sure it is not zero for new tasks. cc: Ingo Molnar <mingo@xxxxxxxxxx> cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Dietmar Eggemann <Dietmar.Eggemann@xxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: mturquette@xxxxxxxxxxxx Cc: pang.xunlei@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: sgurrappadi@xxxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Cc: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1439569394-11974-7-git-send-email-morten.rasmussen@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 231678b768da07d19ab5683a39eeb0c250631d02 Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Fri Aug 14 17:23:13 2015 +0100 sched/fair: Get rid of scaling utilization by capacity_orig Utilization is currently scaled by capacity_orig, but since we now have frequency and cpu invariant cfs_rq.avg.util_avg, frequency and cpu scaling now happens as part of the utilization tracking itself. So cfs_rq.avg.util_avg should no longer be scaled in cpu_util(). Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steve Muckle <steve.muckle@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx <daniel.lezcano@xxxxxxxxxx> Cc: mturquette@xxxxxxxxxxxx <mturquette@xxxxxxxxxxxx> Cc: pang.xunlei@xxxxxxxxxx <pang.xunlei@xxxxxxxxxx> Cc: rjw@xxxxxxxxxxxxx <rjw@xxxxxxxxxxxxx> Cc: sgurrappadi@xxxxxxxxxx <sgurrappadi@xxxxxxxxxx> Cc: vincent.guittot@xxxxxxxxxx <vincent.guittot@xxxxxxxxxx> Cc: yuyang.du@xxxxxxxxx <yuyang.du@xxxxxxxxx> Link: http://lkml.kernel.org/r/55EDAF43.30500@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9e91d61d9b0ca8d865dbd59af8d0d5c5b68003e9 Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Fri Aug 14 17:23:12 2015 +0100 sched/fair: Name utilization related data and functions consistently Use the advent of the per-entity load tracking rewrite to streamline the naming of utilization related data and functions by using {prefix_}util{_suffix} consistently. Moreover call both signals ({se,cfs}.avg.util_avg) utilization. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Dietmar Eggemann <Dietmar.Eggemann@xxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: mturquette@xxxxxxxxxxxx Cc: pang.xunlei@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: sgurrappadi@xxxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Cc: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1439569394-11974-5-git-send-email-morten.rasmussen@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e3279a2e6d697e00e74f905851ee7cf532f72b2d Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Sat Aug 15 00:04:41 2015 +0100 sched/fair: Make utilization tracking CPU scale-invariant Besides the existing frequency scale-invariance correction factor, apply CPU scale-invariance correction factor to utilization tracking to compensate for any differences in compute capacity. This could be due to micro-architectural differences (i.e. instructions per seconds) between cpus in HMP systems (e.g. big.LITTLE), and/or differences in the current maximum frequency supported by individual cpus in SMP systems. In the existing implementation utilization isn't comparable between cpus as it is relative to the capacity of each individual CPU. Each segment of the sched_avg.util_sum geometric series is now scaled by the CPU performance factor too so the sched_avg.util_avg of each sched entity will be invariant from the particular CPU of the HMP/SMP system on which the sched entity is scheduled. With this patch, the utilization of a CPU stays relative to the max CPU performance of the fastest CPU in the system. In contrast to utilization (sched_avg.util_sum), load (sched_avg.load_sum) should not be scaled by compute capacity. The utilization metric is based on running time which only makes sense when cpus are _not_ fully utilized (utilization cannot go beyond 100% even if more tasks are added), where load is runnable time which isn't limited by the capacity of the CPU and therefore is a better metric for overloaded scenarios. If we run two nice-0 busy loops on two cpus with different compute capacity their load should be similar since their compute demands are the same. We have to assume that the compute demand of any task running on a fully utilized CPU (no spare cycles = 100% utilization) is high and the same no matter of the compute capacity of its current CPU, hence we shouldn't scale load by CPU capacity. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Morten Rasmussen <morten.rasmussen@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/55CE7409.1000700@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8cd5601c50603caa195ce86cc465cb04079ed488 Author: Morten Rasmussen <morten.rasmussen@xxxxxxx> Date: Fri Aug 14 17:23:10 2015 +0100 sched/fair: Convert arch_scale_cpu_capacity() from weak function to #define Bring arch_scale_cpu_capacity() in line with the recent change of its arch_scale_freq_capacity() sibling in commit dfbca41f3479 ("sched: Optimize freq invariant accounting") from weak function to #define to allow inlining of the function. While at it, remove the ARCH_CAPACITY sched_feature as well. With the change to #define there isn't a straightforward way to allow runtime switch between an arch implementation and the default implementation of arch_scale_cpu_capacity() using sched_feature. The default was to use the arch-specific implementation, but only the arm architecture provides one and that is essentially equivalent to the default implementation. Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Dietmar Eggemann <Dietmar.Eggemann@xxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: mturquette@xxxxxxxxxxxx Cc: pang.xunlei@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: sgurrappadi@xxxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Cc: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1439569394-11974-3-git-send-email-morten.rasmussen@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e0f5f3afd2cffa96291cd852056d83ff4e2e99c7 Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Fri Aug 14 17:23:09 2015 +0100 sched/fair: Make load tracking frequency scale-invariant Apply frequency scaling correction factor to per-entity load tracking to make it frequency invariant. Currently, load appears bigger when the CPU is running slower which affects load-balancing decisions. Each segment of the sched_avg.load_sum geometric series is now scaled by the current frequency so that the sched_avg.load_avg of each sched entity will be invariant from frequency scaling. Moreover, cfs_rq.runnable_load_sum is scaled by the current frequency as well. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Cc: Dietmar Eggemann <Dietmar.Eggemann@xxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: mturquette@xxxxxxxxxxxx Cc: pang.xunlei@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: sgurrappadi@xxxxxxxxxx Cc: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1439569394-11974-2-git-send-email-morten.rasmussen@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2a595721a1fa6b684c1c818f379bef834ac3d65e Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 21:54:21 2015 +0530 sched/numa: Convert sched_numa_balancing to a static_branch Variable sched_numa_balancing toggles numa_balancing feature. Hence moving from a simple read mostly variable to a more apt static_branch. Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439310261-16124-1-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2b49d84b259fc18e131026e5d38e7855352f71b9 Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 16:30:13 2015 +0530 sched/numa: Remove the NUMA sched_feature Variable sched_numa_balancing is available for both CONFIG_SCHED_DEBUG and !CONFIG_SCHED_DEBUG. All code paths now check for sched_numa_balancing. Hence remove sched_feat(NUMA). Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439290813-6683-4-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c3b9bc5bbfc3750570d788afffd431263ef695c6 Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 16:30:12 2015 +0530 sched/numa: Disable sched_numa_balancing on UMA systems Commit 2a1ed24 ("sched/numa: Prefer NUMA hotness over cache hotness") sets sched feature NUMA to true. However this can enable NUMA hinting faults on a UMA system. This commit ensures that NUMA hinting faults occur only on a NUMA system by setting/resetting sched_numa_balancing. This commit: - Makes sched_numa_balancing common to CONFIG_SCHED_DEBUG and !CONFIG_SCHED_DEBUG. Earlier it was only in !CONFIG_SCHED_DEBUG. - Checks for sched_numa_balancing instead of sched_feat(NUMA). Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439290813-6683-3-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 78a9c54649ea220065aad9902460a1d137c7eafd Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 16:30:11 2015 +0530 sched/numa: Rename numabalancing_enabled to sched_numa_balancing Simple rename of the 'numabalancing_enabled' variable to 'sched_numa_balancing'. No functional changes. Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439290813-6683-2-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5afb6a87f2386bcf09fa051e6ca390d43e2222e Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Mon Aug 3 11:55:50 2015 +0200 sched/fair: Fix nohz.next_balance update Since commit: d4573c3e1c99 ("sched: Improve load balancing in the presence of idle CPUs") the ILB CPU starts with the idle load balancing of other idle CPUs and finishes with itself in order to speed up the spread of tasks in all idle CPUs. The this_rq->next_balance is still used in nohz_idle_balance() as an intermediate step to gather the shortest next balance before updating nohz.next_balance. But the former has not been updated yet and is likely to be set with the current jiffies. As a result, the nohz.next_balance will be set with current jiffies instead of the real next balance date. This generates spurious kicks of nohz ilde balance. nohz_idle_balance() must set the nohz.next_balance without taking into account this_rq->next_balance which is not updated yet. Then, this_rq will update nohz.next_update with its next_balance once updated and if necessary. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: preeti@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438595750-20455-1-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 446685e9bfa11174332fbb0b3218b37015fbf4ff Author: Kirill Tkhai <ktkhai@xxxxxxxx> Date: Mon Aug 31 15:12:56 2015 +0300 sched/core: Delete PF_EXITING checks from cpu_cgroup_exit() callback cgroup_exit() is not called from copy_process() after commit: e8604cb43690 ("cgroup: fix spurious lockdep warning in cgroup_exit()") from do_exit(). So this check is useless and the comment is obsolete. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxx> 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/55E444C8.3020402@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bc54da2176cd38cedea767eff637229a191a2383 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Aug 31 17:13:55 2015 +0200 sched/core: Remove unused argument from sched_class::task_move_group The previous patches made the second argument go unused, remove it. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Byungchul Park <byungchul.park@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit daa59407b558e6e621e9081a308d5db3ef991fb6 Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Thu Aug 20 20:22:00 2015 +0900 sched/fair: Unify switched_{from,to}_fair() and task_move_group_fair() By observing that switched_from_fair() detaches from a runqueue, and switched_to_fair() attaches to a runqueue, we can see that task_move_group_fair() is one followed by the other with flipping the runqueue in between. Therefore extract all the common bits and implement all three functions in terms of them. This should fix a few corner cases wrt. vruntime normalization; where, when we take a task off of a runqueue we convert to an approximation of lag by subtracting min_vruntime, and when placing a task on the a runqueue to the reverse. Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> [peterz: Changelog] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1440069720-27038-6-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a9280514bf1e54775b8d7cd93d87c05c2b5273e6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Sep 11 16:10:59 2015 +0200 sched/fair: Make the entity load aging on attaching tunable In case there are problems with the aging on attach, provide a debug knob to turn it off. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Byungchul Park <byungchul.park@xxxxxxx> 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: yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6efdb105d392da3ad5cb4ef951aed373cd049813 Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Thu Aug 20 20:21:59 2015 +0900 sched/fair: Fix switched_to_fair()'s per entity load tracking Where switched_from_fair() will remove the entity's load from the runqueue, switched_to_fair() does not currently add it back. This means that when a task leaves the fair class for a short duration; say because of PI; we loose its load contribution. This can ripple forward and disturb the load tracking because other operations (enqueue, dequeue) assume its factored in. Only once the runqueue empties will the load tracking recover. When we add it back in, age the per entity average to match up with the runqueue age. This has the obvious problem that if the task leaves the fair class for a significant time, the load will age to 0. Employ the normal migration rule for inter-runqueue moves in task_move_group_fair(). Again, there is the obvious problem of the task migrating while not in the fair class. The alternative solution would be to to omit the chunk in attach_entity_load_avg(), which would effectively reset the timestamp and use whatever avg there was. Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> [ Rewrote the changelog and comments. ] 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: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1440069720-27038-5-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1746babbb15594ba2d8d8196589bbbc2b5ff51c9 Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Thu Aug 20 20:21:58 2015 +0900 sched/fair: Have task_move_group_fair() also detach entity load from the old runqueue Since we attach the entity load to the new runqueue, we should also detatch the entity load from the old runqueue, otherwise load can accumulate. Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> [ Rewrote the changelog. ] 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: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1440069720-27038-4-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 50a2a3b246149d041065a67ccb3e98145f780a2f Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Thu Aug 20 20:21:57 2015 +0900 sched/fair: Have task_move_group_fair() unconditionally add the entity load to the runqueue Currently we conditionally add the entity load to the rq when moving the task between cgroups. This doesn't make sense as we always 'migrate' the task between cgroups, so we should always migrate the load too. [ The history here is that we used to only migrate the blocked load which was only meaningfull when !queued. ] Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> [ Rewrote the changelog. ] 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: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1440069720-27038-3-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a05e8c51ff097ff73ec2947631d9102283545f7c Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Thu Aug 20 20:21:56 2015 +0900 sched/fair: Factor out the {at,de}taching of the per entity load {to,from} the runqueue Currently we open-code the addition/subtraction of the per entity load to/from the runqueue, factor this out into helper functions. Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> [ Rewrote the changelog. ] 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: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1440069720-27038-2-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 973759c80db96ed4b4c5cb85ac7d48107f801371 Merge: a75a606 6ff33f3 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Sep 13 09:51:21 2015 +0200 Merge tag 'v4.3-rc1' into sched/core, to refresh the branch Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7c52198b9c36001d47e11d50f7f1556805c5c3e3 Author: George Beshers <gbeshers@xxxxxxx> Date: Sat Sep 12 21:51:05 2015 -0500 x86/platform/uv: Insert per_cpu accessor function on uv_hub_nmi UV: NMI: insert this_cpu_read accessor function on uv_hub_nmi. On SGI UV systems a 'power nmi' command from the CMC causes all processors to drop into uv_handle_nmi(). With the 4.0 kernel this results in BUG: unable to handle kernel paging request The bug is caused by the current code trying to use the PER_CPU variable uv_cpu_nmi.hub without an appropriate accessor function. That oversight occurred in commit e16321709c82 ("uv: Replace __get_cpu_var") Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:41 2014 -0500 This patch inserts this_cpu_read() in the uv_hub_nmi macro restoring the intended functionality. Signed-off-by: George Beshers <gbeshers@xxxxxxx> Acked-by: Mike Travis <travis@xxxxxxx> Cc: Alex Thorlton <athorlton@xxxxxxx> Cc: Dimitri Sivanich <sivanich@xxxxxxx> Cc: Hedi Berriche <hedi@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russ Anderson <rja@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 22374fbedb2ce03ef81323b3f7ceb3fa29344aa6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jun 29 15:22:34 2015 +0200 ARM: dts: Add DMA support for serial ports in exynos4 Enable DMA transfers for serial ports. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit e714b7eab150a609b9c2bb1ae7605d882b2cceec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 11 18:28:53 2015 +0530 staging: fbtft: change log level Reduce the log level of some of the pr_* calls and remove 2 pr_debug calls which just prints "init" and "exit". Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 805deadbc298939a7ade70443feadeb80e7d9e6d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 11 18:28:52 2015 +0530 staging: fbtft: start using pr_fmt Instead of defining DRVNAME and using it in all calls to pr_* family of macros lets start using pr_fmt. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 962539a068a5a9b9ab2729f4f3ae88ef85fecf4f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 11 18:28:51 2015 +0530 staging: fbtft: use dev_* Use dev_* family of macros where we have a reference of a device. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b92ae1fd84ac24100db20fccd5a34cde1a53a857 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:59 2015 +0530 Staging: rtl8188eu: os_dep: osdep_service.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a08cd2b7d0c98047a09b91fc7e18f4ed13dd7753 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:58 2015 +0530 Staging: rtl8188eu: os_dep: mlme_linux.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc749a9a3d1801c8dee892816eb19d285e06fd41 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:57 2015 +0530 Staging: rtl8188eu: os_dep: recv_linux.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b210e0dc6056953f54bb539630c5e0db2b0b9026 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:56 2015 +0530 Staging: rtl8188eu: hal: rtl8188eu_xmit.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cfd23644a87d9b6b0917c72418c5966520fd4e5a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:55 2015 +0530 Staging: rtl8188eu: hal: Hal8188ERateAdaptive.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5228fb63a1060c4bb361df7d986f9bb025324e6e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:54 2015 +0530 Staging: rtl8188eu: hal: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11d5c7894bfb24955ebc3f7675f93f9377c6e7ae Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:09:26 2015 +0530 Staging: lustre: obdclass: genops.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd550e40e1d1f09964b6c2fb0e52ce3e7229404f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:09:25 2015 +0530 Staging: lustre: obdclass: obd_config.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdf21a324c0519dc6b0b74a438dbd018f956c49d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:09:24 2015 +0530 Staging: lustre: libcfs: libcfs_mem.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ecacb4e43720009a01439605c127ac88e529833 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:09:23 2015 +0530 Staging: lustre: libcfs: libcfs_lock.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3789b0c54442fef9cdb5541b89b677b76c8673a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:53 2015 +0530 Staging: rtl8188eu: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a544f0edb25fa43c2807c3e21c86bb1f33a2e457 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:52 2015 +0530 Staging: rtl8188eu: core: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a90624cf253cc74e9464b42d54aa4825575edefe Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:32:28 2015 +0530 Staging: speakup: kobjects.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 114885e08c0e7d55775373f5cea8fa3c0b1ef1e8 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:32:27 2015 +0530 Staging: speakup: serialio.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 562c47982df0e46499042dfcc06b4dfa8324f63d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:32:26 2015 +0530 Staging: speakup: devsynth.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff52fc380db676398fe92e2a3c802ecb41bc535e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:32:29 2015 +0530 Staging: speakup: varhandlers.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 412ef9933e403bb863ec6ac29e671dd832c4638b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:02:41 2015 +0530 Staging: comedi: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 077d4575c91928abc36a8963e1fe5f2c7118b328 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 9 23:16:33 2015 -0800 Staging: rtl8192u: space prohibited before close parenthesis This is a style change to remove whitespace before close parentheses in ieee80211_softmac_wx.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a02c67382d0c0874ddd5cdb87ea8dc5428119ca1 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 9 23:16:28 2015 -0800 Staging: rtl8192u: space required after close braces This is a style change to insert spaces before closed braces in ieee80211_softmac_wx.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5ad7c0ece9f06558d56a823a4213d1d5d80e5fc Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 9 23:16:21 2015 -0800 Staging: rtl8192u: space required before open braces This is a change to add spaces before open braces to ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fee29ba6f5c7df4bc61a8afa1a0d59b41980289 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 9 23:16:13 2015 -0800 Staging: rtl8192u: Space not allowed after & This is a change to ieee80211_softmac_wx.c to remove spaces after unary & operators. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03c7da4fe1c6903f6d05ce99b8f31a5ec0eb86aa Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 09:02:58 2015 +0530 Staging: rtl8192u: ieee80211: ieee80211_softmac.c: Replace "#include <asm/uaccess>" with "#include <linux/uaccess>" Fix checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2245e1492e2bbeae61552b899e823a5b3af10141 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 09:02:59 2015 +0530 Staging: rtl8192u: ieee80211: ieee80211_module.c: Replace "#include <asm/uaccess>" with "#include <linux/uaccess>" Fix checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aecdac15d9b545099be42122aea3b98cac2c52e3 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 09:02:57 2015 +0530 Staging: rtl8192u: ieee80211: Replace "#include <asm/uaccess>" with "#include <linux/uaccess>" Fix checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9f7f1d0846f15585b8af64435b6b706b25a5c0b Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Sat Sep 12 00:22:15 2015 +0600 staging/dgap: Use strpbrk() instead of dgap_sindex() The <linux/string.h> provides strpbrk() function that does the same that the dgap_sindex(). Let's use already defined function instead of writing custom. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e25075e3e34cedf660c63e30bfcc7e385d40766 Author: Junesung Lee <junesoung412@xxxxxxxxx> Date: Sat Sep 12 09:58:47 2015 +0900 staging: android: fix typo 'syncrhronization' is wrong spell. 'synchronization' is correct. Signed-off-by: Junesung Lee <junesoung412@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 045ec4123152e48b1047bb0e3ed316d924677e86 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 10 17:24:59 2015 +0530 staging: dgap: remove unused variable These variables were assigned some values but they were never used. Removed them but kept one call to ioread8() as it might affect the hardware. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39be6b8b0cc84b33cd17bc570e80a25126f87c9c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 10 17:24:58 2015 +0530 staging: dgap: fix possible NULL dereference The return pointer from dgap_getword() is used in strcmp() where it is dereferenced. But dgap_getword() can return NULL. Lets put a check there and return 0 as error. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60aff4ffba3336cd97789b60f086d47b1932147b Author: Sakshi Vaid <sakshivaid95@xxxxxxxxx> Date: Thu Sep 10 22:35:10 2015 +0530 staging: lustre: lustre: obdclass: Fixed space checkpatch Removed the space between function name and open parenthesis '('. Signed-off-by: Sakshi Vaid <sakshivaid95@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6876a1435390a1bcc59cea6e23b9e03ae727819d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:02:40 2015 +0530 Staging: lustre: ptlrpc: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e6aa99b87c3cd9e2487b275a7c47b37bee33fb5 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:00:31 2015 +0530 Staging: lustre: libcfs: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c021dc0b8722365e9aee06d7a2213b5d93075c7 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Wed Sep 9 15:57:10 2015 -0700 staging/rtl8712 : Remove duplicated BIT() definitions The BIT() macro is already defined in bitops.h, remove duplicate definitions. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27934f362a90039b8cd9e48721ace549fd2ae417 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Wed Sep 9 15:57:08 2015 -0700 staging/rtl8712 : Remove unused macro definitions. WLAN_ETHHDR_LEN/WLAN_ETHADDR_LEN/WLAN_ADDR_LEN are unused, duplicate or unnecessary, remove. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 913336ae09a3aaf13b8ace21569ac7ad40ff50db Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Wed Sep 9 15:57:07 2015 -0700 staging/rtl8188eu : Remove unused macro definitions. WLAN_ETHHDR_LEN/WLAN_ETHADDR_LEN/WLAN_ADDR_LEN are unused, duplicate or unnecessary, remove. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d832fb26416f599a92e1b41d8380b208de32c7c1 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:00:29 2015 +0530 Staging: iio: addac: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro. This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4d8aceb63985cd504a368b49b26b3681a40379f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:00:30 2015 +0530 Staging: iio: meter: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b8ffb5565a241c4cfddb15b5a7b2f28ce64dbf7 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:02:39 2015 +0530 Staging: iio: cdc: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5da0a0706b4d2a591cf9dcb0e9bfe0100bf5a5b2 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Sep 11 12:04:20 2015 +0900 staging: wilc1000: coreconfigurator.c: remove unused functions This patch removes following unused funtions which will not be used anymore. ascii_hex_to_dec get_hex_char extract_mac_addr create_mac_addr conv_ip_to_int conv_int_to_ip get_wid_type get_type CreateConfigPacket ConfigWaitResponse ConfigProvideResponse ConfigPktReceived ParseWriteResponse CreatePacketHeader ParseResponse ProcessBinWid ProcessAdrWid ProcessStrWid ProcessIPwid ProcessIntWid ProcessShortWid ProcessCharWid As a result, four global variable causes defined but not used compile warnings. So just remove unused varialbs g_seqno, g_wid_num, Res_Len and g_oper_mode. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0462838c1c8c72ffdf81461d862a320c010e025 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 10 18:26:29 2015 +0900 staging: wilc1000: remove unused enum This patch removes a unused enum tenuFrameClass. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7092b839e915583b3f518bf89f6053d9c757b292 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Thu Sep 10 18:26:28 2015 +0900 staging: wilc1000: remove unused global variables This patch removes the followings from the driver because they are in debugging purpose but not used anymore. - int_clrd - int_rcvdU - int_rcvdB - android_wifi_priv_cmd structure Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 435ebabb305bdc09376297520095ec346a49de62 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Thu Sep 10 18:26:27 2015 +0900 staging: wilc1000: remove firmware definition This patch removes the firmware definitions, STA_FIRMWARE, AP_FIRMWARE, and P2P_CONCURRENCY_FIRMWARE from the linux_wlan.c file because they are defined in the Makefile. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73d4ee746d6159dd76cf89e7d0d44a90a3545edd Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Thu Sep 10 18:26:26 2015 +0900 staging: wilc1000: remove STATIC_MACADDRESS This patch removes unused definition, STATIC_MACADDRESS from the linux_wlan.c file. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f9eb1fbef1d151107e2ba598e40c47f3e11d474 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 09:03:01 2015 +0530 Staging: wilc1000: Replace "#include <asm/uaccess>" with "#include <linux/uaccess>" Fix checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d36340917ae4a04d7e6322058e3209e37af50662 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 10 12:03:05 2015 +0900 staging: wilc1000: delete wilc_memory.c and wilc_memory.h The macro WILC_MALLOC is not used in the driver anymore, so just delete files. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3052587e31ce8ac11c069d942a5cefb18025037 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 10 12:03:04 2015 +0900 staging: wilc1000: remove kmalloc wrapper This patch calls kmalloc() directly. No need to wrap kmalloc(). All is not holding a spin lock or in interrupt context. So use GFP_KERNEL flag for kmalloc. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37b9d03039032008e244ec37030ef9b3d87f198a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Thu Sep 10 11:59:11 2015 +0900 staging: wilc1000: remove BROKEN status This patch removes BROKEN status from the Kconfig. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a15adada1ca0f2b853d7876045e0580e831f91b5 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Sep 7 19:58:23 2015 +0530 Staging: comedi: addi_apci_3120: Remove unnecessary if Remove the if condition, as the code inside the if condition is commented and does not have any FIXME or TODO comment. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e0407b453d082747c088fb6e704c85476bbf212 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Sat Sep 5 22:15:12 2015 -0400 staging: rtl8192u: r8192U_core: fix use ether_addr_copy() over memcpy() code style issue Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) The values used are stored as dev_addr in net_device (declared in include/linux/netdevice.h) and sa_data in sockaddr (declared in include/linux/socket.h). Both these elements are u16 aligned as shown by using pahole (position must be a multiple of sizeof(u16)): unsigned char * dev_addr; /* 888 8 */ char sa_data[14]; /* 2 14 */ It is thus safe to use ether_addr_copy() instead of memcpy() for that call, as it is already done in multiple files in the Linux kernel sources: drivers/net/ethernet/broadcom/genet/bcmgenet.c drivers/net/ethernet/brocade/bna/bnad.c drivers/net/ethernet/emulex/benet/be_main.c drivers/net/ethernet/ezchip/nps_enet.c drivers/net/ethernet/ibm/ibmveth.c drivers/net/ethernet/intel/fm10k/fm10k_netdev.c drivers/net/ethernet/intel/i40e/i40e_main.c drivers/net/ethernet/mellanox/mlx5/core/en_main.c drivers/net/usb/lan78xx.c net/8021q/vlan_dev.c net/batman-adv/soft-interface.c net/dsa/slave.c Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c32bb25ee1b396c8d04c4c797f826afe2167eb15 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 7 18:08:22 2015 +0530 staging: gdm72xx: NULL comparison style checkpatch complains if NULL comparison is done as if (var == NULL) Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea022df19395f0da090e9dcdf417d28326e15404 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 7 18:08:21 2015 +0530 staging: gdm72xx: fix memory leak We were successfully requesting the firmware but on error it was not being released. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb7014df159bb8524341a0fdb8d467f6827b0770 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Sep 5 19:13:44 2015 +0530 staging: fbtft: do not use magic numbers Using magic numbers are not good coding practise. Use FBTFT_GPIO_NAME_SIZE as defined in the header files. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb6a2dbf32a4ea2fa94f742f6494f661a807fb45 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Sep 5 19:13:43 2015 +0530 staging: fbtft: use strncpy instead of strcpy Using strcpy() is a security risk as the destination buffer size is not checked and we may over-run the buffer. Use strncpy() instead, while mentioning the buffer size leaving place for the NULL termination. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1b32e1e89ee69fd62e6d3bd781d017748889e00 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:28 2015 +0530 Staging: rtl8192e: rtl_wx.c: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca0b6fe173a11219312bb3607d4d5a0faac1feb4 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:27 2015 +0530 Staging: speakup: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7273773c2cecb647373c4180b159ba1669313681 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:26 2015 +0530 Staging: android: Remove unnecessary braces. The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12d273767a819f7f1bfb90fb485b8caa959b6853 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:19 2015 +0530 Staging: rtl8723au: hal: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The error was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 242850f48a96ce0bf48e81fa20850792f27fd3ba Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Fri Sep 4 14:00:30 2015 -0700 staging/wlan-ng : Remove duplicated defines from p80211 ETH_ALEN/ETH_HLEN can be used instead of WLAN_ETHADDR_LEN & WLAN_ETHHDR_LEN, replace directly or use eth_addr* functions where applicable. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2f9ff6c75ad2c3110ad8464c0dbaef4902c9400 Author: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Date: Fri Sep 4 22:30:33 2015 +0530 Staging: fsl-mc/bus: mc-bus.c: Fixed coding style issues Fixed coding style issues where kernel types u16,u64,u32 should be preferred over uint16_t,uint64_t,uint32_t Signed-off-by: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2b29165c52dc1377824e6407a11ac786bef15d5 Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Tue Sep 8 21:18:51 2015 +0530 staging: emxx_udc: Remove unused parameter from function parameter list parameter list struct nbu2ss_ep *ep parameter in functions _nbu2ss_ep0_in_transfer() and _nbu2ss_ep0_out_transfer() is not used anywhere inside. Hence, removed. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c648a57ae5e1685ff5aee496b0014ae93b308975 Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Sat Sep 5 01:08:29 2015 +0530 staging: emxx_udc: Remove cleanup1 label The cleanup1 label does nothing but return. Better way is to return immediately instead of using goto. Hence, removed. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 706eb8cfb1f43953d7b7e85780e4ba720748ca00 Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Fri Sep 4 13:48:22 2015 +0530 staging: emxx_udc: Fix NULL comparison style Fixed NULL comparison style as suggested by checkpatch.pl Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b68ff8f61e9d10055092d6d8f35d72663b83e0ae Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Fri Sep 4 13:46:32 2015 +0530 staging: emxx_udc: Avoid using multiple blank lines Fixed multiple blank lines warning by checkpatch.pl Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 446be1b553c3cf03f2d581153777a4ce88f403fe Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Fri Sep 4 13:29:52 2015 +0530 staging: emxx_udc: Remove FSF mailing address FSF mailing address is no longer required to be specified. Hence removed. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4cba1972bb060cc4042b226ecb54d09ddfb9fb2d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 8 21:53:02 2015 +0530 staging: lustre: lov: remove always false condition The member qc_idx of struct if_quotactl is unsigned and hence it can never be less than zero. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0f69b5a66c30350ed6e41eef72414ce8650face Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 8 21:53:01 2015 +0530 staging: lustre: lov: fix dereference of ERR_PTR If lov_sub_get() fails then it returns the error code in ERR_PTR, but here we were dereferencing sub without checking if lov_sub_get() has actually succeeded or not. And on error we can directly return the error code from lov_io_fault_start() as it return 0 on success and the error code on error. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ced12a7f8bf4994d43209074587519d044d21a2 Author: Anders Fridlund <anders.fridlund@xxxxxxxxx> Date: Tue Sep 8 00:56:48 2015 +0200 staging: lustre: ptlrpc: include ptlrpc_internal.h Remove sparse warning "symbol 'sptlrpc_plain_init' was not declared" by including ptlrpc_internal.h, which includes sptlrpc_plain_init. Signed-off-by: Anders Fridlund <anders.fridlund@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b45024edc44428888c41a8e186f4f0385c79b768 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Sep 7 16:05:15 2015 +0300 staging: lustre: use linux/statfs.h instead of asm/statfs.h Fix the following checkpatch warning: drivers/staging/lustre/lustre/include/linux/lustre_lite.h:46: WARNING:INCLUDE_LINUX: Use #include <linux/statfs.h> instead of <asm/statfs.h> Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddb4e767437c75858e9ad556e1a9477c6fffbefb Author: Matthew Needes <mneedes@xxxxxxxxx> Date: Sat Sep 5 13:03:38 2015 -0700 staging: lustre/obdclass/linux/linux-module.c Fixed sparse warning by removing unused variable "proc_version". Signed-off-by: Matthew Needes <mneedes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e03b80cfc2d43b1f3ee9e854450aa5691dc92a8a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:25 2015 +0530 Staging: lustre: lnet: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d927bc51b4f05ac9aebdf42037b4e55957ef42e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:24 2015 +0530 Staging: lustre: llite: llite_lib.c: Remove unnecessary braces The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9ec18cf14c6ceefe58e869ebd4104ca61328bfe Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:23 2015 +0530 Staging: lustre: llite: llite_close.c: Remove unnecessary braces The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 451a377d10728419b8730f427d68697d3eda3f0e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:22 2015 +0530 Staging: lustre: obdclass: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd2909f7591b4177b31f14d19b2e9c37e7e93675 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:21 2015 +0530 Staging: lustre: libcfs: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b779d2e1b7244677917b521304257ee76045f6d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:20 2015 +0530 Staging: lustre: ptlrpc: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e72f36e22c4d54642edc7b807dc2ee13724c71a8 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:49 2015 +0530 Staging: lustre: osc: Space prohibited between function name and open parenthesis This patch fixes the checkpatch.pl warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd6f9a4b08dc534dfb34786739d8e8b2f0e281cd Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:48 2015 +0530 Staging: lustre: obdclass: Insert blank line from declarations This patch fixes the checkpatch.pl warning WARNING: Missing a blank line after declarations Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4d34a5f5de5e5449bdf1ddd16ab42494d07af50 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:47 2015 +0530 Staging: lustre: obdclass: Remove unnecessary return statements This patch removes return statement which are not required. The warning was detected by checkpatch.pl WARNING: void function return statements are not generally useful Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cf8e32d6d337e0c293cd1b192a970639291703e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:45 2015 +0530 Staging: lustre: mdc: 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 91b4e64bfe5b2b2afe66ba5ec622c003d483f9e3 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:44 2015 +0530 Staging: lustre: lnet: 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 222a7e9166b90f7cfd683a192cc757181b95a34f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:42 2015 +0530 Staging: lustre: obdclass: Use kasprintf instead of kzalloc and sprintf 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 2de5855cf96a798bc95cb13f94b6ba7a142f2f1f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:41 2015 +0530 Staging: lustre: obdclass: 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 lu_site_stats_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 a8fff8bf6b8376ec14f3176c0601f2c318650ba0 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:40 2015 +0530 Staging: lustre: libcfs: 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 cfs_wi_sched_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 780eb03eba8491bd15c0e87334660f9181757a21 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 9 16:08:13 2015 +0900 staging: wilc1000: remove unused PLAT_RK3026_TCHIP This patch removes the preprocessor definition, PLAT_RK3026_TCHIP which is not used anymore. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 721c9859478345d2c3593ce798af8c1c1dfdef68 Author: Kim, Leo <leo.kim@xxxxxxxxx> Date: Tue Sep 8 17:08:03 2015 +0900 staging: wilc1000: delete definition USE_WIRELESS The preprocessor definition, USE_WIRELESS is always in use. So, this patch deletes the definitions from the makefile and source codes. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e89419bc9cde142639acbe5c40791a43940896f1 Author: Kim, Leo <leo.kim@xxxxxxxxx> Date: Tue Sep 8 17:08:02 2015 +0900 staging: wilc1000: remove unused NM73131_0_BOARD This patch removes the preprocessor definition, NM73131_0_BOARD which is not used anymore. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06b548638b39c99f2e96effc80bbb5f33043d697 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Sep 8 17:08:01 2015 +0900 staging: wilc1000: add maintainers for Atmel 802.11 driver This patch adds new maintainers who develops new design for Atmel 802.11 link controller and deletes Dean Lee who cannot maintain the wireless driver anymore. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3441847ee2f3993a3e6fae435431d507f211b1c6 Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Tue Sep 8 17:08:00 2015 +0900 staging: wilc1000: remove meaningless line The current driver is calling skb_reserve function to align memory in frmw_to_linux function. However, the wrong value is used as the input argument. Besides, the process is not necessary because the address already is algined in dev_alloc_skb function. So, this patch removes the line for dummy headroom. 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 c590b9a4c0ec5e3a545887dc83e96466c493613e Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Tue Sep 8 17:07:59 2015 +0900 staging: wilc1000: define undefined operation mode This patch adds new define, IDLE_MODE to change comparison statement which is wrong due to typecasting to null. 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 ac61ef86f971c3fd0d3aff59744423ff32c4fcca Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 8 00:36:36 2015 +0900 staging: wilc1000: linux_wlan.c: add kzalloc error check This patch adds error check if kzalloc is failed. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9998a91fee33153dfddb86fa7301d2e26590dbe Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 8 00:36:38 2015 +0900 staging: wilc1000: wilc_msgqueue.c: use kmalloc with GFP_ATOMIC This patch use kmalloc with GFP_ATOMIC instead of WILC_MALLOC. It is inside the spin lock region. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c589c240122e37d01997e665cd22bff9f11603c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 8 00:36:35 2015 +0900 staging: wilc1000: linux_wlan.c: use kzalloc instead of WILC_MALLOC This patch replaces WILC_MALLOC with kzalloc. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f638dd3918a4caa910ce62176d2d185203867876 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 7 19:09:31 2015 +0900 staging: wilc1000: fix potential memory leak This patch adds kfree(mgmt_tx) when memory allocation of mgmt_tx->buff fails in the second calls of kmalloc() to avoid the memory leak from mgmt_tx first allocated before the second calls of kmalloc(). Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Chris Park <chirs.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 700db05372bf44eb44a6e0bbae749ef0d538b192 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 7 19:09:30 2015 +0900 staging: wilc1000: remove unused preprocessor definition This patch removes a preprocessor definition, SWITCH_LOG_TERMINAL, which is not used. Enabling this definition affects the performance. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f39e10872c0ca161146e253d3efa18b59d5d9a5 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 7 19:09:29 2015 +0900 staging: wilc1000: remove dead codes This patch removes the preprocessor definition from the codes, as shown in the following, which is not used anymore. - WILC_FULLY_HOSTING_AP Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec58d2a8727d34a2b51295895d51279abf9edd74 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 16:22:06 2015 +0530 staging: most: style of bool comparison BOOLEAN tests do not need any comparison to TRUE or FALSE. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0834be6c52367d397d75e185dad549e3da9be312 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 16:22:05 2015 +0530 staging: most: remove unneeded NULL check The loop cursor of list_for_each_entry_safe() can never be NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 983e83cc173894720b168fa603ccf82ca74e020d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 16:22:04 2015 +0530 staging: most: remove driver owner The platform driver core will set the owner value, we do not need to do it in the module. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b532df0fc1eb0834261d9cfbeef0f346c817d7f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 16:22:03 2015 +0530 staging: most: return NULL instead of integer The return type of get_aim_dev() is a pointer but we were returning 0 incase of failure. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0183053e31a51f7814b5ea257db010b924b3857 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 16:22:02 2015 +0530 staging: most: remove always true comparison channel->dev has already been checked for NULL and if it was NULL then we have returned with -EPIPE. So at this point it can not be NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4629385e6a4c8f092555c45eea21f1d24887071b Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Sep 4 12:25:49 2015 -0400 staging: unisys: documentation and TODO tweaks Update documentation (including TODO) to reflect the current state of the drivers. 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 2b922cbef153359413ec328135f21165d5f04826 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:30:51 2015 -0700 staging: wilc1000: remove wrapper around usleep_range() Just call the function directly, no need for the indirection. 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 360e27a91dd25fb7cf3b2befa1e1a7b4f27828d2 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 15:34:15 2015 +0530 staging: wilc1000: fix freeing of ERR_PTR If memdup_user() fails then it will return the error code in ERR_PTR. We were checking it with IS_ERR but then again trying to free it on the error path. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d42ab0838d040bb57b2368125aeb49a8bf1d2383 Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 20 16:32:52 2015 +0900 staging: wilc1000: use id value as argument The driver communicates with the chipset via the address of handlers to distinguish async data frame. The SendConfigPkt function gets the pointer address indicating the handlers as the last argument, but this requires redundant typecasting and does not support the 64 bit machine. This patch adds the function which assigns ID values instead of pointer representing the driver handler to the address and then uses the ID instead of pointer as the last argument of SendConfigPkt. The driver also gets the handler's address from the ID in the data frame when it receives them. 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 17c4d5d541e282f05b709885578d7c5ac18e49d8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:17:31 2015 -0700 staging: wilc1000: remove spinlock wrappers Just call the spinlock functions directly, no need for the indirection. 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 8990d856f55d42b56c0e940f42942e21f9c05e16 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:58 2015 -0700 staging: wilc1000: remove wrappers around semaphore usage Just call up/down directly, no need for a wrapper function that hides what is really happening. Fix up some variable types to be the correct structure pointers, not void *. 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 642768eec5e5d8cd1e239828e3b5e23ae45b131a Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:56:21 2015 -0700 staging: wilc1000: remove wrappers around sema_init() Just call the function directly. Also remove a pointless "deinit" function that was empty to match the init function. This also fixes a bug where txq_add_to_head_cs was a mutex structure being used as a semaphore. See the fun things that happen when you use void pointers instead of "real" types? Amazing that this worked at all, someone got _very_ lucky. Whoever "Amr" is, they really didn't fix BugID_4720 correctly :( 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 19a334890b11c5b622e35eca352728a42bfe4396 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:43:44 2015 -0700 staging: wilc1000: remove mutex_init/destroy() wrappers Just call the real 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 b25a37b910dd9b0eda1cc3a55be2abf38dae21da Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:38:42 2015 -0700 staging: wilc1000: remove wrapper around spin_lock_init() It's only called once, so just call the real function. Also remove the empty "deinit" function that didn't do anything. 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 5e150b52a5fadbf3ef27ce2eaa7c79b4b1436342 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:32:11 2015 -0700 staging: wilc1000: remove mutex_lock/unlock wrappers Just call the functions directly. Also fix the variable types to be correct, not void *, so we have a semblance of type safety happening now. 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 c2e4c0f19a6bbcb4f5f7c8991614c1b1dfaf9683 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:09:50 2015 -0700 staging: wilc1000: remove mdelay wrapper Just call the function, no need for a pointer to a function that calls the function. turtles, all the way down... 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 a18dd63047a86e0dc1c927232a526bda6d770bff Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:04:19 2015 -0700 staging: wilc1000: remove pointless kfree wrapper It isn't needed, and we were checking if a buffer was not NULL multiple times, no one had ever looked at the 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 d5df379784bdb3e88c2644972a576e2a74b90ce3 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 18:59:07 2015 -0700 staging: wilc1000: remove another useless kmalloc wrapper A static function that just calls kmalloc(), and only used in one place. It's obvious that the wrappers on wrappers in this driver have never actually been reviewed... 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 47c632d829c6aea524cb57114ceef5c07bcf8d2c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 18:55:43 2015 -0700 staging: wilc1000: remove another pointless kmalloc wrapper Call kmalloc directly, don't make a special "atomic" function pointer to call it 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 f019b9d91d84cb62bfa22fccf15bd4457d4acb2f Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 18:50:27 2015 -0700 staging: wilc1000: remove pointless kmalloc wrapper just call kmalloc directly, don't use an indirect pointer to a 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 927ac9d54eca5ce36fc3fe3c43a162f45d404bd9 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 18:44:19 2015 -0700 staging: wilc1000: remove wilc_exported_buf.c The config option, CONFIG_WILC1000_PREALLOCATE_DURING_SYSTEM_BOOT, was never able to be set, so this file was never being built. Also, as WILC_PREALLOC_AT_BOOT was never being set in the build system, remove all code framed by that symbol. 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 b2952d62bab9a0c1d7c22ef427785886a0104f40 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 11:49:13 2015 +0300 staging: lustre: fix whitespace errors reported by checkpatch.pl Added/removed spaces and replaced '+1' with '1' in several places to eliminate SPACING and POINTER_LOCATION errors reported by checkpatch.pl Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 310a28fd34d77e6dca246cd13b1e52018d3af819 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Fri Sep 4 00:48:14 2015 +0600 staging/wilc1000: Use %pM format specifier to print mac address printk() supports %pM format specifier for printing 6-byte MAC/FDDI addresses in hex notation small buffers, let's use it intead of %x:%x... Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76f966e79560ab0bcf20a48e8a0a3d51b3618bc5 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 20:50:51 2015 +0300 staging: ft1000_pcmcia: staticize local functions in ft1000_dnld.c Several functions in ft1000_dnld.c are not used outside that file, make them static Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b32fccc104da1e9673bb461035c1dbcb5a2962e Author: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Date: Thu Sep 3 23:14:35 2015 +0530 staging: comedi: kcomedilib: Fixed coding style issue Fixed checkpatch.pl warning in kcomedilib_main.c: - Block comments use * on subsequent lines Signed-off-by: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 768e66bd0b2ab33f294fec51c3a0820c616ae283 Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Thu Sep 3 01:31:30 2015 +0530 staging: goldfish: Prefer kernel type u32 over uint32_t Prefer kernel type u32 over uint32_t to maintain uniformity. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10d7108466f91edac408c568defd0863965d34ea Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Wed Sep 2 22:41:19 2015 +0530 staging: goldfish: Fix NULL comparison style Fixed NULL comparison style as suggested by checkpatch.pl with --strict option. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c76f012702d71b85567ae3bd1bed47c570b4eb1 Author: MichaÅ? Bartoszkiewicz <mbartoszkiewicz@xxxxxxxxx> Date: Wed Sep 2 01:35:00 2015 +0200 staging: rtl8723au: remove unnecessary le32_to_cpu The values passed to le32_to_cpu are already in the correct byte order. This fixes four "cast to restricted __le32" sparse warnings. Signed-off-by: MichaÅ? Bartoszkiewicz <mbartoszkiewicz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2503426cfbb3fa48606d51aec3525d3d1680d304 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Aug 30 23:52:13 2015 +0200 Staging: ste_rmi4: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases which already contains "synaptics_rmi4_ts". So the alias is not needed. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f0c1424f0663fedd8f38b00088f2d4fdeb03b09 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Fri Aug 28 00:57:45 2015 +0200 staging: rtl8723au: remove unimplemented function declarations Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f740474bbf8b2e1e0ccf0a45d929b219aabbc95a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Aug 22 16:28:12 2015 +0530 Staging: rtl8192e: r8192E_dev.c: Remove unused variable This patch discards the variable as it is not used anywhere throughout the kernel. Build tested it. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d40d3e117a82650423944182477b4027a7e45d72 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Aug 22 16:28:13 2015 +0530 Staging: rtl819u: ieee80211: Remove unused variable This patch discards the variable count as it is not used anywhere throughout the kernel. Build tested it. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afeeff07440650bb03a659de8ef4c8eb5328d5d7 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Aug 22 16:28:14 2015 +0530 Staging: rtl8723au: core: Remove unused variable This patch discards the variable as it is not used anywhere throughout the kernel. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b190f34f7b535171ed5a1c09e6a7603b0a8d3ef Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Aug 22 16:28:11 2015 +0530 Staging: rtl8192e: rtl_core.c: Remove unused variable This patch discards the variable ResetThreshold as it is not used anywhere throughout the kernel. Build tested it. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c17893c2fe2e0a506ef07eda486ebc9aa709da7 Author: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Date: Thu Aug 27 21:02:46 2015 +0530 staging: panel: panel.c: Fixed coding style issues Fixed warnings reported by checkpatch.pl: - Block comments use a trailing */ on a separate line - Block comments use * on subsequent lines Signed-off-by: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1972308bf580ad092c315ad21700946320ab54f7 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:13:51 2015 +0200 staging: octeon-usb: 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e498d4b40120899f1477b106677f3fa2cc7bb1c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:19 2015 +0200 staging: mt29f_spinand: Export OF module alias information The SPI core always reports the MODALIAS uevent as "spi:<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: SPI id table or OF match table). So drivers needs to export the SPI 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 SPI 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 SPI device name for example. To avoid the above, the SPI 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94c0a5442708dbc4226f8aabcf9163caac179a92 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Thu Sep 3 00:53:37 2015 -0700 staging/fbtft : Add missing whitespace around operators Add blank spaces around operators where recommended by checkpatch.pl Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1014c2ce082241db728e0528dd5f1bfb04fd0b06 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Thu Sep 3 00:53:36 2015 -0700 staging/fbtft : Fix multiple/missing blank line issues Remove or add blank lines as recommended by checkpatch.pl Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3eeca503db189422ee22bbad7ca52e1febbe276 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Thu Sep 3 00:53:35 2015 -0700 staging/fbtft : Remove unicode characters Remove stray unicode quotes around name Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e73221877a21352aa03437960b3874fee52fa189 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Thu Sep 3 00:53:34 2015 -0700 staging/fbtft : Remove repeated set_addr_win debug messages fbtft_par_dbg(DEBUG_SET_ADDR_WIN.. ) is repeated in every set_addr_win() handler, this could be replicated by using the kernel function tracer instead. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Suggested-by: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6ea2028e04b2adea69b06ef6d5e2d73f82b713c Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Thu Sep 3 00:53:33 2015 -0700 staging/fbtft : Use BIT() macro when possible Based on checkpatch.pl recommendations, (1 << x) is replaced by BIT(x) Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d657dac56438bf7ade5a05142a633e7f5e43984 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 08:13:14 2015 +0300 staging: fbtft: fb_watterott: define backlight_ops statically instead of devm_kzalloc'ing them Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23801e3438f6ceddf7db6d03c3556375d1001fda Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 08:13:13 2015 +0300 staging: fbtft: fb_ssd1351: define backlight_ops statically instead of devm_kzalloc'ing them Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed20c6fbf76bdbc326960be621caebfdce92a2c6 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 08:13:12 2015 +0300 staging: fbtft: fbtft_request_gpios: reduce nesting Returning immediately if no platform_data or platform_data->gpios is specified reduceis code nesting Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c18d116d9215d28736f6346f95127b53c7892376 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 08:13:11 2015 +0300 staging: fbtft: fbtft-core: define backlight_ops statically instead of devm_kzalloc'ing them Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7f506bd0e2db2cc67da6e16776cf54aeb827999 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 08:13:10 2015 +0300 staging: fbtft: remove unused bl_ops from fbtft_unregister_backlight The only usage of bl_ops variable in fbtft_unregister_backlight function was assigment of a value to that variable, therefore the assignment and the variable itself can be safely removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a1a838362a0ddbb847855e2a6918c2efcb54de2 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Wed Sep 2 18:46:42 2015 -0700 staging/fbtft : Remove FSF mailing address checkpatch.pl recommends that this is no longer required. Also replaces ASCII-art copyright notice with simple text Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85a22e42f5929bdcc65b90c0c13c741f5783864b Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:18 2015 -0400 staging: rtl8192u: r8192U_core: fix quoted string split across lines code style issue Quoted strings should not be split to help text grep in the source. All quoted strings that were split have thus been merged to one unique quoted string each to follow the code style. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b25c24e3f2743689c1578e2efeb249fd89c5faf Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:17 2015 -0400 staging: rtl8192u: r8192U_core: fix missing blank line after declarations code style issue Adds whitespaces to separate the variables declarations and the function content. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25e4b9d586f18f8a603ab0fae4ef61fd178e143e Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:16 2015 -0400 staging: rtl8192u: r8192U_core: fix unnecessary whitespace code style issue Whitespaces are not necessary before a quoted newline. Remove those. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9647a6d534f2f8f2570d0871e42dee4177b3af27 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:15 2015 -0400 staging: rtl8192u: r8192U_core: fix unnecessary else after return code style issue An else statement is not useful after a return. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2054df8690ecbcbfd9409adb4bfb3db9c44f8a2b Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:14 2015 -0400 staging: rtl8192u: r8192U_core: fix unnecessary parentheses code style issue Two sets of parentheses were used to contain the same statement. In those cases, one of them has been removed, as unnecessary. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efe8a7fad59f4e157485e91d84210fe7496afa03 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:13 2015 -0400 staging: rtl8192u: r8192U_core: fix unnecessary check before kfree code style issue kfree(NULL) is safe and the checks were not required. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b31c1013502848fef8e5ead3d920d46b8b1d1e4c Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:12 2015 -0400 staging: rtl8192u: r8192U_core: remove forward declarations in .c file Checkpatch was giving a "externs should be avoided in .c files" because of these forward declarations. As these were not useful in this case, they have been removed. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf47ca02250d2420e2511853e6f9a1059bf13e04 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:11 2015 -0400 staging: rtl8192u: r8192U_core: fix unecessary braces code style issue braces {} are not necessary for any arm of a statement containing one statement on each side. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c21f566c72594e79d2ec6a48b1c8ff166d476f5 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:10 2015 -0400 staging: rtl8192u: r8192U_core: remove return statement of void function void function return statement was not useful in this case. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f94967a4b8ba8f08cec7034e44ec3178e07513c Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:09 2015 -0400 staging: rtl8192u: r8192U_core: include linux/uaccess.h instead of asm/uaccess.h Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14285c1f97c3bb137a12fb9e3a4e65e1a3a51a0d Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:08 2015 -0400 staging: rtl8192u: r8192U_core: clean C99 // comments Replace C99 // comments by /* comments */ to follow the kernel code style. Remove some unuseful comments. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74a0266c072c185880290eb04d2fea4e68d62f1d Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:07 2015 -0400 staging: rtl8192u: r8192U_core: whitespace neatening to fix consistent spacing code style errors Clean-up the file by using a cleaner spacing around symbols and words. Mostly use the automatic checkpatch whitespacing fixes. This takes care of the consistent spacing errors reported by checkpatch. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b54cc8d8e8cc4f8cca29cb70ee8d04bcb702fc91 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:06 2015 -0400 staging: rtl8192u: r8192U_core: fix missing struct leading to consistent spacing code style error A missing struct keyword in variable declaration triggered a need consistent spacing around '*' code style error. The struct keyword thus has been added everywhere for the rtl8192_rx_info struct, and therefore its typedef removed as not needed anymore. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70cdcac563b2e6d06cd5e81ec4a5153f2488ecd1 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:05 2015 -0400 staging: rtl8192u: r8192U_core: fix else following close brace code style error Fix "else should follow close brace" checkpatch error. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c745f2677067cbafa6c276a43f832e328e320d6b Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:04 2015 -0400 staging: rtl8192u: r8192U_core: fix code indent using spaces code style error Fix "code indent should use tabs where possible" checkpatch error Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28071d3400d88325c20e583a96ee5be277a6fdf8 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:03 2015 -0400 staging: rtl8192u: r8192U_core: fix space before close parenthesis code style error A space existed before the close parenthesis of an if statement. This patch removes it to follow the kernel code style. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a7be027984f61119c027f42ee3003a8b30f539ea Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:02 2015 -0400 staging: rtl8192u: r8192U_core: fix switch and case indent code style error Some switch and case were not be at the same indent level. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1865e4ea0b2d9889e5e1f93d5ca69194857cc9f0 Author: Ronit Halder <ronit.crj@xxxxxxxxx> Date: Wed Aug 19 11:17:09 2015 +0530 Staging: most: Use NULL instead of zero This patch fixes the warning generated by sparse "Using plain integer as NULL pointer" by using NULL instead of zero. Signed-off-by: Ronit halder <ronit.crj@xxxxxxxxx> Acked-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 858e1a27c1c58f5a1dd0ba58ce28c80bf5095d0b Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Aug 24 19:19:32 2015 +0530 staging: most: NULL comparison style checkpatch complains when a variable comparison to NULL is written as: variable == NULL or variable != NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9c2520818ddc8666472e5535181bf3930a8b558 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:28 2015 +0530 staging: most: fix Makefile The Makefile is including "drivers/media/video". But there is no such directory in kernel tree. Since it is aim-v4l2 this might have been "drivers/media/v4l2-core", but the Kconfig already mentions that it depends on VIDEO_V4L2. So no need to mention that again in the Makefile. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9153b5b1286546d6bee3be0662625573be7bc7a2 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:27 2015 +0530 staging: most: remove unused variable The variable conf was only assigned the value but was never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96d3064b461f32b0e37b3d7c0cfa4edb24dbf430 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:26 2015 +0530 staging: most: use NULL pointer sparse was complaining that an integer is used as NULL pointer. Fix it by using NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 809da8a5f19010e877ed66cd1ffac9f8284d7052 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:25 2015 +0530 staging: most: make functions static split_arg_list() and audio_set_pcm_format() are being called from the same file and is not referenced from outside, so make them as static. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11f7edb5980f4ad7d4eae915c34bdb17d8c751bb Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:24 2015 +0530 staging: most: remove unused functions These functions were only defined but not used anywhere. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c704dfbe452ef1857e83d29bac88e35bdb2bb507 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:23 2015 +0530 staging: most: out of memory error If kzalloc fails it will print lots of debugging information in the log, no need to have another in the code. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba857e0ff08b0ba7922cb58d0870a5a207eadc5e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:22 2015 +0530 staging: most: remove multiple blank line Multiple blank lines are not recommended in the kernel coding style. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51d6859f2352ef420f8a45abaac0391acf573730 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:21 2015 +0530 staging: most: bool comparison style Mentioning true or false in the if comparison is error prone and also not according to the coding style. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c74210509049f3391576a45acb1174e2454588c Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Aug 27 19:09:27 2015 +0600 staging/rtl8723au: Use %pM format specifier to print mac address printk() supports %pM format specifier for printing 6-byte MAC/FDDI addresses in hex notation small buffers, let's use it intead of %x:%x... Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fec85e0afa918b33e56797400f674bc828362dd4 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Aug 27 19:08:15 2015 +0600 staging/rtl8188eu: Use %pM format specifier to print mac address printk() supports %pM format specifier for printing 6-byte MAC/FDDI addresses in hex notation small buffers, let's use it intead of %x:%x... Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a79a7f7135ab724bce5979963a9e3e5be4c8908 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Thu Aug 20 09:59:44 2015 +0000 staging: wilc1000: simplify 'memset' of 2D array This patch simplifies the 'memset' done on a static 2D array. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5d57e917a8c7ff1da10a568eb738a6ac5697dae Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 20 16:32:53 2015 +0900 staging: wilc1000: change address to fixed value The linux_wlan_init_test_config() is called once when net driver is loaded. And because the pointer type of the pstrWFIDrv is changed with the interger type, this patch replaces it with designated value instead of pointer. 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 53a84401883a873c8ad29a43dee4f0fbdc53157e Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 20 16:32:51 2015 +0900 staging: wilc1000: add an argument for Handle_SetWfiDrvHandler Similar to functions of same layer, this patch add an argument for Handle_SetWfiDrvHandler function. As a result, the redundant typecasting is removed. 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 8a625cade3d4ac4da0d985f62afd3184617ba9b7 Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 20 16:32:50 2015 +0900 staging: wilc1000: use the real data type This patch changes the type of gu8FlushedJoinReqDrvHandler with his real data type becasue typecasting is not necessary. In result, typecasting which is not necessary and some building warnings is removed. 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 1b128f632d100290fe1e7d9007f08046f2579189 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:08 2015 +0900 staging: wilc1000: rename WILC_MsgQueueDestroy to wilc_mq_destroy This patch replaces WILC_MsgQueueDestroy to wilc_mq_destroy to shorten function name and avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b986e33e1e60c203620bc8224353590694d70abd Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:07 2015 +0900 staging: wilc1000: rename WILC_MsgQueueRecv to wilc_mq_recv This patch replaces WILC_MsgQueueRecv with wilc_mq_recv to shorten function name and avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79198138a8c77b385f9232a9067e783e2a7d5eeb Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:06 2015 +0900 staging: wilc1000: rename WILC_MsgQueueSend to wilc_mq_send This patch replaces WILC_MsgQueueSend with wilc_mq_send to shorten function name and avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd08fc78138af767a8dea2f4d0a8251efd9a0afc Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:05 2015 +0900 staging: wilc1000: rename WILC_MsgQueueCreate to wilc_mq_create This patch replaces WILC_MsgQueueCreate with wilc_mq_create to shorten function name and avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd56018a87a992c3c5ebfe4174b2bc41316dae3b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:04 2015 +0900 staging: wilc1000: replace WILC_ErrNo by int type This patch replaces WILC_ErrNo with int type. WILC_ErrNo typedef is also removed. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb9c2e7a9d04f74746256f033fd78cff2df0a5db Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:03 2015 +0900 staging: wilc1000: wilc_msgqueue.c: fix bool comparison style This patch changes bool comparison style found by checkpatch.pl CHECK: Using comparison to true is error prone Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce118546d4250cfe2b059fb42a4b755944723a50 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:02 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove kfree NULL check This patch removes kfree NULL check. WARNING: kfree(NULL) is safe and this check is probably not required. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae177a2afc36336dd6a5a21bb8ddfe9d44791a0d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:01 2015 +0900 staging: wilc1000: wilc_msgqueue.c: use ! operator instead of NULL comparison This patch uses ! operator instead of NULL comparison. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96cab4cdc6583d386696c1325a391c11391d6998 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:00 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove unnecessary parentheses This patch remove unnecessary parentheses found by checkpatch.pl CHECK: Unnecessary parentheses around pHandle->hSem Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6583f7415dbf15aab8fee9ccebd47e52a7aab4c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:58:59 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove blank line before a close brace This patch removes blank line before a close brace "}" CHECK: Blank lines aren't necessary before a close brace '}' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df1890a67482660485130baff7dd5e0c3c3fa9be Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:58:58 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove multiple blank lines This patch removes multiple blank lines. CHECK: Please don't use multiple blank lines Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32728da0293835ee37adf72d7d334b29eeb121c2 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:58:57 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove blank line after open brace This patch removes a blank line for open brace "{" CHECK: Blank lines aren't necessary after an open brace '{' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fffc6213df87e78debd952fe28338a3c8816d03 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:58:56 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove braces for single statement This patch removes braces for single statement blocks. 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 8dfaafd6398ec49797566ecb6992117434376588 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Aug 18 23:18:11 2015 +0900 staging: wilc1000: add a blank line after declaration This patch adds a blank line after declaration 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 297a1c34da83459e3f7160e2b75127b8935ef688 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 23:14:50 2015 -0400 staging: wilc1000: replace MALLOC_WILC_BUFFER() macro to avoid possible memory leak The MALLOC_WILC_BUFFER() macro was using a return statement, and didn't take care of possible memory leaks and subsequent bugs when it was failing after succeeding some allocations. This patch corrects this behavior. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a669e58615c8908cf15222a0ffe1042995cfcd9 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 23:14:49 2015 -0400 staging: wilc1000: remove FREE_WILC_BUFFER() It was just a wrapper around kfree(), so call that instead. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8797affa142840e7c62deccb750813563fc8097 Author: Trung Thanh Le <trungthanh1608@xxxxxxxxx> Date: Sat Aug 15 22:09:45 2015 +0800 staging: android: fix coding style checks in sw_sync.c replace comparison "obj" to NULL with "!obj" Signed-off-by: Trung Thanh Le <trungthanh1608@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7048c1fc37f71f860b5042fbe021c9f98218b122 Author: Peng Sun <sironhide0null@xxxxxxxxx> Date: Thu Aug 27 15:41:07 2015 +0800 staging: android: ashmem.c: 'Alignment' style issue fix two CHECK issues by checkpatch.pl with --strict: Alignment should match open parenthesis Signed-off-by: Peng Sun <sironhide0null@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8d3bfa7802a5d5ffea7e14837147d063df8eabe Author: Peng Sun <sironhide0null@xxxxxxxxx> Date: Thu Aug 27 15:41:06 2015 +0800 staging: android: ashmem.c: 'No space necessary after' style issue fix two CHECK issues by checkpatch.pl with --strict: No space is necessary after a cast Signed-off-by: Peng Sun <sironhide0null@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2e4f687c463e5080af203de2251b5b78b01e58c Author: Peng Sun <sironhide0null@xxxxxxxxx> Date: Thu Aug 27 15:41:05 2015 +0800 staging: android: ashmem.c: 'spaces preferred around that -' style issue fix a CHECK style issue by checkpatch.pl with --strict: spaces preferred around that '-' Signed-off-by: Peng Sun <sironhide0null@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cb693f6f326ddf8f9df9c2bb3302048a919b394 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 15 21:57:35 2015 +0100 staging: vt6655: replace typedef struct tagSRxDesc with struct vnt_rx_desc and all members the same. volatile is removed from pointers as this generates warning message. Only the first four members of vnt_rx_desc need to be volatile. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88defe2b35f1b765dbfe9a800c443c31400a4e13 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 15 21:57:34 2015 +0100 staging: vt6655: replace typedef struct tagDEVICE_RD_INFO with struct vnt_rd_info volatile is removed because it will generate a warning (in any case this member is not) and renaming rd_info. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fc7091cc24ceae25885a3ad074689cfb029f3c0 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 15 21:57:33 2015 +0100 staging: vt6655: replace typedef struct tagRDES1 with struct vnt_rdes1 and members wReqCount -> req_count wReserved -> reserved Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de1c1862ca8c32a811021b61ce8905d03e53a451 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 15 21:57:32 2015 +0100 staging: vt6655: replace typedef struct tagRDES0 with struct vnt_rdes0 replacing members as follows wResCount -> res_count f15Reserved -> f15_reserved f1Owner -> owner big endian f8Reserved1 -> f8_reserved1 f7Reserved -> f7_reserved Narrowing endian differences to inside structure. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e48c9c260189e28b57ab3a7cf68c5a29ab6dbf51 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:06 2015 -0700 staging: comedi: usbduxfast: remove unnecessary clearing of private data The clearing of the private data members in the (*detatch) is not necessary. The comedi core is going to kfree the private data as soon as the (*detach) finishes. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42293db075e121d6baef4d0cd7865e060631f3ac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:05 2015 -0700 staging: comedi: usbduxfast: absorb usbduxfast_attach_common() This function is only called by the (*auto_attach) to do the final setup of the analog input subdevice. For aesthetics absorb it into usbduxfast_auto_attach() and reorder the initialization of the subdevice to better follow the "norm" in comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c79c014cba5694633ada77811ce14654dfb8227 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:04 2015 -0700 staging: comedi: usbduxfast: remove unnecessary semaphore down/up The semaphore down/up in usbduxfast_attach_common() is not necessary. This function is only called as part of the (*auto_attach) and does not talk to the USB device. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a05e94bd5230a90eca2905495e764a0ad707c498 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:03 2015 -0700 staging: comedi: usbduxfast: document strange ai maxdata The subdevice 'maxdata' is typically a mask of the valid bits that can be returned by a subdevice, (1 << bits) - 1. The analog inputs of this device have a resolution of 12-bits so the 'maxdata' should be 0x0fff. But, this hardware can produce a value of 0x1000 indicating an overflow from the ADC. The comedilib library's comedi_to_phys() function will then return NAN when this value is read from the hardware. Add a comment to clarify the strage 'maxdata' value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b0fc5baa0bd75fa04cd784828d7d072fb905144 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:02 2015 -0700 staging: comedi: usbduxfast: use a common exit path in ai (*do_cmd) For aesthetics, use 'goto' and a common exit point in this function so that the up of the semaphore is not overlooked. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c748debc66026d1400686ce9bd5183d5bcf36ec3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:01 2015 -0700 staging: comedi: usbduxfast: tidy up the conversion timing validation Cleanup the validation of the cmd->convert_arg to use the same calculation in the (*do_cmdtest) and the (*do_cmd). Remove the, then unnecessary, redundant check in the (*do_cmd). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe0d96bf5198a06d4620a10f7faba0e596902e72 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:00 2015 -0700 staging: comedi: usbduxfast: TRIG_EXT is only valid for cmd->start_src According to the code, and verified with the author Bernd Porr, the TRIG_EXT trigger is only valid for the cmd->start_src. Remove this trigger from the cmd->scan_begin_src and cmd->convert_src. The only valid scan_begin_src is then TRIG_FOLLOW and the convert_src is only TRIG_TIMER. Remove the redundant unique trigger checks in Step 2b of the (*do_cmdtest) as well as any other unnecessary checks of those trigger sources. Also remove the incorrect comment for a cmd->stop_src of TRIG_EXT. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d636f87d861308a46ad18bb9b23c34ab32ea39de Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:59 2015 -0700 staging: comedi: usbduxfast: TRIG_EXT only works for 1 or 16 channels Move this check from the (*do_cmd) to the (*do_cmdtest). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24b83783ceda1e7a0e871d9110cbf966387da4d5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:58 2015 -0700 staging: comedi: usbduxfast: fix multi-line comment This comment does not need to be multi-line. Fix it to remove the checkpatch warning. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26961546738e42f3672ba4022c2d0b8b2b6ea882 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:57 2015 -0700 staging: comedi: usbduxfast: use preferred kernel types As suggested by checkpatch.pl: CHECK: Prefer kernel type 'u8' over 'uint8_t' CHECK: Prefer kernel type 's8' over 'int8_t' For consistency, also change the uint16_t and int16_t types to u16 and s16. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd9fe1fc1cd4771eff4666379b915661d7a4f0d2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:56 2015 -0700 staging: comedi: usbduxfast: remove impossible 'if (!devpriv)' checks The private data 'devpriv' is allocated in the (*auto_attach) before the subdevices are initialized and the (*auto_attach) has to complete successfully before the core will call any of the subdevice operations. Because of this the (!devpriv) checks in the subdevice code can never fail. 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 db1876ff1e7c86dc97d1721ce2e5e0df71072acb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:55 2015 -0700 staging: comedi: usbduxfast: only chanlist of 1, 2, 3, or 16 are supported The analog input (*do_cmd) only supports channel lists of 1, 2, 3, or 16 channels. Add a check for this to usbduxfast_ai_check_chanlist() and remove the check from usbduxfast_ai_cmd(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99555fc25a5f2a40f0d111a67b13bcd8e8d826b1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:54 2015 -0700 staging: comedi: usbduxfast: chanlist check is Step 5 of (*do_cmdtest) The channel list should be checked in Step 5 of the (*do_cmdtest) not as part of the (*do_cmd). Factor the check out of usbduxfast_ai_cmd(). Tidy up the factored out code. The channel number 'i' will never be greater than NUMCHANNELS due to the subdevice setup and the checks done in the code. The up/down of the semaphore is also not needed because the (*do_cmdtest) never actually tries to access the hardware. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a399d81d41e17410ffd7a84af9bd7ec8aafa58a2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:27 2015 -0700 staging: comedi: s526: fix the block comments Tidy up the block comments to fix the checkpatch.pl warnings. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f3ed25664073891ae093bfe2fa35480bbd10717 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:26 2015 -0700 staging: comedi: s526: remove #if 0'ed out code block This #if 0'ed out code is not necessary. It's actually just a copy of the psuedo code in the S526 Hardware Manual that shows an example of a counter application. 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 537dd665e42794886266f50c8379b879d5d99af3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:25 2015 -0700 staging: comedi: s526: remove unnecessary defines Remove a couple unused defines, Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21424e3fa81505f466841eaecaa373f160f44cf4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:24 2015 -0700 staging: comedi: s526: remove s526_ai_insn_config() This (*insn_config) does not follow the comedi core API. It also would not work as expected. It appears to be trying to configure the analog input subdevice so that the (*insn_read) would read multiple channels (data[0]) and optionally enable the 15us delay (data[1]) needed for the multiplexor to change channels between samples. Unfortunately, the comedi core expects (*insn_read) operations to return 1 or more samples for a single channel, which is what the (*insn_read) in this driver does. The (*insn_config) is also enabling the analog input end-of-conversion interrupt. This isn't needed, and might be a problem since the driver does not currently request and interrupt. The enable bit does not need to be set for the end-of-conversion to occur in the interrupt status register. Remove the (*insn_config) and modify the (*insn_read) to automatically handle the 15us delay when needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf483f1e07d0b292ae5d5fdf94d901fa4415ab38 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:23 2015 -0700 staging: comedi: s526: tidy up s526_ai_rinsn() Rename this function to follow the normal naming in comedi drivers. Use the comedi_offset_munge() helper to munge the hardware two's complement data to the comedi offset binary format. Change the final return to insn->n to clarify the return value without the need for the comment. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09c5d6c83ec3bd56ee1ebef8bec42956b32ca7eb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:22 2015 -0700 staging: comedi: s526: wait for analog output conversions to complete It's possible for the user to write more than one value to an analog output channel with the (*insn_write) operation. Use comedi_timeout() to check the interrupt status register to ensure that each data conversion is complete before writing the next value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12911c2d6ae64315edb721cc142cc6d4b20db8b5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:21 2015 -0700 staging: comedi: s526: tidy up subdevice init For aesthetics, add some whitespace to the 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 2c6b58246de18a9915e5a5804800a7c0a302f8c2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:20 2015 -0700 staging: comedi: s526: define the eeprom data and control registers Define these registers and their bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64fe38f49cb2d1335d077f1b9a387177fea22dac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:19 2015 -0700 staging: comedi: s526: define the miscellaneous register and bits Define this register and its bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 658441b48c01886217d6119d5cfd5c3278b37ddf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:18 2015 -0700 staging: comedi: s526: define the digtial I/O control register and bits Define this register and its bits and 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 8a5d6d2ee252dd76305c18f843f82ee7ee376371 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:17 2015 -0700 staging: comedi: s526: define the interrupt enable/status registers These registers use the same bit defines. Define both of them and 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 15bccf2e5d7f5d1960c41962b2b628bd1b034ce2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:16 2015 -0700 staging: comedi: s526: add defines for the ao/ai data register The same register is used for analog output and input data. Add defines for both for added clarity. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe79b3d0c339f053a04673bff95a50f26f59222f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:15 2015 -0700 staging: comedi: s526: define the ADC (analog input) control register and bits Define this register and its bits and 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 abbb6489090255290d0bc24f1bf9eeba26b595de Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:14 2015 -0700 staging: comedi: s526: define the DAC (analog output) control register and bits Define this register and its bits and 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 088c1ce04dacc3374335ce8b23666a9f8aa5d85c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:13 2015 -0700 staging: comedi: s526: define the watchdog timer control register and bits Define this register and it's bits so that we can possibly support it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e04fd32599bb4e0f2574708e5d48f1f78d80761 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:12 2015 -0700 staging: comedi: s526: define the timer control register and bits Define this register and it's bits so that we can possibly support it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d0d1c00daff961b130691a64ad2cde6d856d24e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:11 2015 -0700 staging: comedi: s526: refactor gpct registers The S526 board has 4 general purpose counter/timers. The current defines used for the registers of these devices do not provide much clarity in what they are. Refactor the code to add some clarity. Replace the current register defines with macros that return the correct offset based on the counter 'channel'. Introduce a some helper functions to handle reading/writing the LSB/MSB registers so that they are always accessed in the correct oreder. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de332b11946f1e5f9d8513828e18701d6cb903d4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:10 2015 -0700 staging: comedi: s526: tidy up 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 8d63f5b8f87204cbbdbf5616731680dac7add01b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:18:43 2015 -0700 staging: comedi: serial2002: use proper errno checkpatch.pl reports: WARNING: ENOSYS means 'invalid syscall nr' and nothing else Change the error code to -ENOTTY. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3335dfd1ab5f02915fb2aeeace41526f92d8b560 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:18:42 2015 -0700 staging: comedi: serial2002: usleep_range is preferred over udelay Fix checkpatch issue: "CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt". Replace the udelay() 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 28a2993e3e7c02d0b4312df80ada4c27f830c9d5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:18:41 2015 -0700 staging: comedi: serial2002: tidy up 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 6d40c0c74a49c568ecb3d8fa650f922c195047a7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:03:22 2015 -0700 staging: comedi: unioxx5: remove this flawed driver I was going to clean up this driver but looking it over it has a number of serious flaws. Also, Fastwell published an End-Of-Life notification for the board on 24/Jan/2014 (End-of-sale 30/Jun/2014, End-of-delivery 30/Dec/2014). Since the driver has a comedi driver status of "unkown", lets just remove the driver instead of trying to fix the flaws. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 035d819b4ee6de95268381e92f65f8c98d39ecdc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 17:09:12 2015 -0700 staging: comedi: ssv_dnp: tidy up multi-line comments Format the multi-line comments in the kernel CodingStyle. Move the comment about the I/O ports in dnp_attach() to the start of the function. This is typically where the resources are reserved. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e2ebdf8720306d9aee47de4e050b41884de7e3d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:31 2015 -0700 staging: comedi: usbdux: use comedi_offset_munge() Use the comedi_offset_munge() helper to convert the hardware two's complement values to the offset binary format expected by comedi. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2779b7e51497b5d0855dc7d21d793998acd2ad5f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:30 2015 -0700 staging: comedi: usbdux: remove impossible 'if (!devpriv)' check The comedi core can only call this subdevice function is the private data was successfully allocated during the (*auto_attach). 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 1e4c3a2e7da0f7e40f79ba1e219ccbe1d8a79f56 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:29 2015 -0700 staging: comedi: usbdux: rename dev->private local variables For aesthetics, consistently use the same name. 'devpriv', for the local variable used to reference the private data, 'dev->private'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0341e5deb05c18c67b786d138799b9a107cdfbf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:28 2015 -0700 staging: comedi: usbdux: use common code path to check the cmd->scan_begin_arg There are currently separate code paths to check the scan_begin_arg based of the USB speed. Refactor the code to use a common code path and 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 0725b16ece9fe68887144fc2a86b6f297bafa1e2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:27 2015 -0700 staging: comedi: usbdux: add missing spaces Add some missing space to quiet the checkpatch.pl issues about: CHECK: spaces preferred around that '/' (ctx:VxV) CHECK: spaces preferred around that '*' (ctx:VxV) CHECK: spaces preferred around that '+' (ctx:VxV) For aesthetics, use tabs instead of spaces in all the defines and ensure they have common alignment. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b2ea2fb4b31bd59c48bb37a21928a0205668b34 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:26 2015 -0700 staging: comedi: usbdux: use preferred kernel types As suggested by checkpatch.pl: CHECK: Prefer kernel type 'u8' over 'uint8_t' CHECK: Prefer kernel type 'u16' over 'uint16_t' Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9b9cfe792feace71a2e0b4c079124b3f5f26ff2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 14:35:29 2015 -0700 staging: comedi: vmk80xx: tidy up defines For aesthetics, use tabs instead of spaces for the whitespace. Convert the bit defines to use the preferred 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 0726f06d176c015f4ed5f27b661eb1da1ea6f633 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 14:35:28 2015 -0700 staging: comedi: vmk80xx: cleanup multi-line comment Reformat the multi-line comment 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 d3f1e38830f7201d901aa456050d00be1931b248 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:39:42 2015 -0700 staging: comedi: usbduxsigma: use comedi_offset_munge() Use the comedi_offset_munge() helper to convert the hardware two's complement values to the offset binary format expected by comedi. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c20d199492b48402cef24a9bab599bc10e0d2a3c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:39:41 2015 -0700 staging: comedi: usbduxsigma: tidy up block comments Merge the two comments and format it 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 ef9a6bdfea3fa9686dbadf0a79502eff005c141a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:39:40 2015 -0700 staging: comedi: usbduxsigma: use prefered kernel types As suggested by checkpatch.pl: CHECK: Prefer kernel type 'u8' over 'uint8_t' CHECK: Prefer kernel type 'u32' over 'uint32_t' Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11f32ad360bf0447e4f97cb1dc2d020247a59f1f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:39:39 2015 -0700 staging: comedi: usbduxsigma: add missing spaces Add some missing space to quiet the checkpatch.pl issues about: CHECK: spaces preferred around that '/' (ctx:VxV) CHECK: spaces preferred around that '+' (ctx:VxV) CHECK: spaces preferred around that '*' (ctx:VxV) CHECK: spaces preferred around that '-' (ctx:VxV) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b241d31a4b3129e10d35763f8cfdc84d9e46936 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:12 2015 +0200 staging: lustre: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40daf5ce553ae214ba5bf56af1550258e2e57ff4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:11 2015 +0200 staging: lustre: osc: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c5d9fa05508e3e03b6d17641588819bafb55dad Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:10 2015 +0200 Staging: lustre: obd: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f6eaf830b3c4f77a5b18414f1d564c1d3301f6e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:09 2015 +0200 staging: lustre: llite: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cfc537aea3fe442f31d16fd641bf8bff56c6acd Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:08 2015 +0200 staging: lustre: libcfs: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a75e7ac6492aabb5fa9bb659657766b7b40c3b18 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:07 2015 +0200 staging: lustre: ldlm: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5019c8f017495cd8da21df7a49a5ed41377965e6 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:06 2015 +0200 staging: lustre: lnet: lib-ptl.c: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 625a31217eb2cca358d7a3d6976bca402beaa7a5 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:05 2015 +0200 staging: lustre: include: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60753e90ffa7e213539fa937b110c7e91297be04 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Aug 22 17:17:23 2015 +0300 staging: lustre: fix OPEN_BRACE checkpatch.pl errors Fix occurencies of the following checkpatch.pl error: ERROR: open brace '{' following function declarations go on the next line Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea28d21ac51ae955834ac71e66587e2005de9215 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Aug 22 17:17:21 2015 +0300 staging: lustre: fix GLOBAL_INITIALISERS checkpatch.pl errors Fix occurencies of the following checkpatch.pl error: ERROR: do not initialise globals to 0 or NULL Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1ff890126909bfaeb8b5be5af08cb525cd85cfe Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Aug 22 17:17:20 2015 +0300 staging: lustre: fix CODE_INDENT checkpatch.pl errors Fix occurencies of the following checkpatch.pl error: ERROR: code indent should use tabs where possible Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0bed03524f3e1a4140d339cd69c88120052d3ea Author: Jeff Becker <Jeffrey.C.Becker@xxxxxxxx> Date: Mon Aug 24 11:28:18 2015 -0700 staging/lustre: fix block comment formatting Running checkpatch.pl on lnet/klnds/o2iblnd/o2iblnd.h produces several "Block comments use a trailing */ on a separate line" warnings. This patch fixes these. Signed-off-by: Jeff Becker <Jeffrey.C.Becker@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8369cfff7235d120397b96030beb33a72062f491 Author: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Date: Tue Aug 18 19:24:24 2015 +0530 staging: lustre: lustre: llite: Added a space Added a space to fix the following coding style error detected by checkpatch error: ERROR: space required after that close brace '}' Signed-off-by: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 441fda8461c8c1c781c3604d9ddb32747c61657c Author: Maxime Lorrillere <maxime.lorrillere@xxxxxxxxx> Date: Mon Aug 17 14:04:49 2015 +0200 staging: lustre: simplify ptlrpc_deactivate_and_unlock_import The locking scheme used in ptlrpc_deactivate_and_unlock_import and ptlrpc_deactivate_import generates the followings sparse errors: drivers/staging/lustre/lustre/ptlrpc/import.c:209:9: warning: context imbalance in 'ptlrpc_deactivate_and_unlock_import' - unexpected unlock drivers/staging/lustre/lustre/ptlrpc/import.c:221:6: warning: context imbalance in 'ptlrpc_deactivate_import' - wrong count at exit As ptlrpc_deactivate_and_unlock_import is only used by ptlrpc_deactivate_import as a helper function, this patch moves its code into ptlrpc_deactivatre_import to fix the sparse warnings. Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a75a6068dac25d4022ebcd82192ed6345407843c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Sep 10 15:07:50 2015 +0200 cpu/hotplug: Read_lock(tasklist_lock) doesn't need to disable irqs check_for_tasks() doesn't need to disable irqs, recursive read_lock() from interrupt is fine. While at it, s/do_each_thread/for_each_process_thread/. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Kirill Tkhai <ktkhai@xxxxxxxx> Reviewed-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Cc: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150910130750.GA20055@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f9f3ce835ddce3c669eee869253105f88819888b Author: Jagan Teki <jteki@xxxxxxxxxxxx> Date: Wed Aug 19 15:26:44 2015 +0530 mtd: spi-nor: Zap unneeded write_enable from write_reg The 'write_enable' argument is unused and unneeded, so remove it from the API. Signed-off-by: Jagan Teki <jteki@xxxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Han Xu <han.xu@xxxxxxxxxxxxx> [Brian: fixed for nxp-spifi.c] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fd7252346b2b005ea5c5f1b432a63dbb9bb05768 Author: Jagan Teki <jteki@xxxxxxxxxxxx> Date: Wed Aug 19 15:26:43 2015 +0530 mtd: spi-nor: Use write_sr for write status Use existing write_sr() call instead of decoding and calling nor->write_reg separately. Signed-off-by: Jagan Teki <jteki@xxxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a3d22a55cda99bcd151836f39ddd329af6cb1d30 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 10:30:25 2015 +0200 mtd: nand: sunxi: rely on nand_dt_init initialization nand_dt_init(), called from nand_scan_ident(), is already parsing the generic MTD/NAND DT properties, and initializing the nand_chip struct accordingly. Rely on this initialization instead of manually parsing those properties. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> [Brian: rename 'np' -> 'flash_node' to accomodate for prior rename patch] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 61528d888adf9470db73aaadf1ff9ca35942262a Author: Marek Vasut <marex@xxxxxxx> Date: Thu Sep 3 18:35:37 2015 +0200 mtd: nand: Rename nand_chip .dn to .flash_node Use a more descriptive name for the device_node element in struct nand_chip . This name matches the element name used for device_node property of a flash in the spi-nor framework. Signed-off-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 11bff0b70cc003b995cf4c2acec4adab90957b02 Author: Marek Vasut <marex@xxxxxxx> Date: Thu Sep 3 18:35:36 2015 +0200 mtd: spi-nor: Decouple SPI NOR's device_node from controller device The problem this patch is trying to address is such, that SPI NOR flash devices attached to a dedicated SPI NOR controller cannot read their properties from the associated struct device_node. A couple of facts first: 1) Each SPI NOR flash has a struct spi_nor associated with it. 2) Each SPI NOR flash has certain device properties associated with it, for example the OF property 'm25p,fast-read' is a good pick. These properties are used by the SPI NOR core to select which opcodes are sent to such SPI NOR flash. These properties are coming from spi_nor .dev->of_node . The problem is, that for SPI NOR controllers, the struct spi_nor .dev element points to the struct device of the SPI NOR controller, not the SPI NOR flash. Therefore, the associated dev->of_node also is the one of the controller and therefore the SPI NOR core code is trying to parse the SPI NOR controller's properties, not the properties of the SPI NOR flash. Note: The m25p80 driver is not affected, because the controller and the flash are the same device, so the associated device_node of the controller and the flash are the same. This patch adjusts the SPI NOR core such that the device_node is not picked from spi_nor .dev directly, but from a new separate spi_nor .flash_node element. This let's the SPI NOR controller drivers set up a different spi_nor .flash_node element for each SPI NOR flash. This patch also fixes the controller drivers to be compatible with this modification and correctly set the spi_nor .flash_node element. This patch is inspired by 5844feeaa4154d1c46d3462c7a4653d22356d8b4 mtd: nand: add common DT init code Signed-off-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fd1ee4cc9326c97b52154ee2ef8cdd23ac6aae1c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Sep 11 21:57:24 2015 +0200 drm/i915: Update DRIVER_DATE to 20150911 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 29d28c5060023e661965c51c7e8f53bc9eb44fc4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 11 19:10:38 2015 +0530 ALSA: hdsp: fix memory leak If the size of the firmware is less than expected size then we are exiting with the error code but we missed releasing the firmware. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c86fb9d997428e0d55ab5a47488b6ba3bc4b5c5b Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 10 22:39:22 2015 +0200 drm: Nuke drm_framebuffer->helper_private It's completely unused and there's really no reason for this: - drm_framebuffer structures are invariant after creation, no need for helpers to manipulate them. - drm_framebuffer structures should just be embedded (and that's what all the drivers do). Stumbled over this since some folks are apparently concerned with the overhead of struct drm_framebuffer and this is an easy 8 byte saving. More could be gained by ditching the legacy fields and recomputing stuff from the fourcc value. But that would require some drm-wide cocci and real justification. Cc: gary.k.smith@xxxxxxxxx Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 88622d80af827b23201d62bbc1697541308f85e9 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Thu Sep 10 21:07:49 2015 +0200 ata: pata_pxa: dmaengine conversion The PXA architecture was offered a slave dmaengine support. As a consequence the direct DMA registers are progressively replaced by dmaengine support. This makes the pata_pxa change, which brings this driver to almost a generic ATA 40-wires driver relying on dmaengine for transfers. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f0fea8dd362c77a06e7b8744d63f429fe065c6b4 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Sep 8 12:52:48 2015 +0100 drm/i915: Remove one very outdated comment Comment disagrees with the code which has changed a lot since it was documented. Note that the logic to remove -EIO handling was dropped in commit 1488fc08c1706288616c602416654fd38c773deb Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 24 15:47:31 2012 +0100 drm/i915: Remove the deferred-free list Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f2a066f3dee8a0e37015d15298e14e9ad6c0a53d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:08:03 2015 +0200 drm/i915: Use crtc->state for duplication. In async mode crtc->config can be updated after the locks are released, resulting in the wrong state being duplicated. Note that this also removes a spurious assignment of crtc_state->crtc introduced in commit f0c60574eb1216b0904c0d696c64d5096d6e4913 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Tue Apr 21 17:12:58 2015 +0300 drm/i915: Call drm helpers when duplicating crtc and plane states Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bca8013ec24210087bfed49678ec821c811982b1 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:08:02 2015 +0200 drm/i915: Do not handle a null plane state. With the conversion to atomic this cannot happen any more. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8e0e9ceaa05317c6644635f8816705b609f2c274 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:08:00 2015 +0200 drm/i915: Remove legacy plane updates for cursor and sprite planes. Unfortunately fbc still depends on legacy primary state, so it can't be killed off completely yet. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9b4101be5bb165484d143629d17d084d76fdd77c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:07:59 2015 +0200 drm/i915: Use atomic state when changing cursor visibility. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 11c22da619101a5a4332df718268e6214e3919f3 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:07:58 2015 +0200 drm/i915: Use the atomic state in intel_update_primary_planes. This function was still using the legacy state, convert it to atomic. While we're at it, fix the FIXME too and disable the primary plane. v2 (Daniel): - Add FIXME explaining that update_primary_planes should soon get removed anyway. - Don't call ->disable_plane since we can't disable the primary plane with a CS flip (noticed by Ville). Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 23a48d5323bc488f0e350467996e7226f902e0a7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:07:57 2015 +0200 drm/i915: Use the plane state in intel_crtc_info. Legacy state might not be updated any more. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d4b08630fb6e3fe9948456b09feb223fba2b48a6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:07:56 2015 +0200 drm/i915: Use atomic plane state in the primary plane update. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d8b4c43a4baccecee7106c1432baa986fab9593a Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Fri Sep 4 18:56:11 2015 +0530 drm/i915: add attached connector to hdmi container This patch adds the intel_connector initialized to intel_hdmi display, during the init phase, just like the other encoders do. This attachment is very useful when we need to extract the connector pointer during the hotplug handler function Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f719a0d6a8541b383c506aaa4b4fa6b4109669f4 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Mar 25 11:27:25 2014 +0100 ARM: efm32: switch to vendor,device compatible strings The mainline drivers were fixed in commits - 4ea8dafd2475 (serial: efm32: use $vendor,$device scheme for compatible string) - 12f6dd860cf8 (spi: efm32: use $vendor,$device scheme for compatible string) - 63cc122381bd (clocksource: efm32: use $vendor,$device scheme for compatible string) which are all in 3.16-rc1 to also support these compatible strings. For the other affected peripherals (adc and gpio) there are no drivers in mainline yet. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit e848f754257d7dec2b9a395a15dce22758492d84 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Mar 14 15:53:52 2014 +0100 ARM: efm32: switch to properly namespaced location property Since commits: 281ec367bff4 (i2c: efm32: correct namespacing of location property) d36f47fa8419 (serial: efm32: correct namespacing of location property) 10ed7e9847b6 (spi: efm32: correct namespacing of location property) (contained in 3.17-rc1) all drivers support the correctly namespaced location property. So use the better names now. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit f9b97fe61402f7f18da71e034b1e72f68df82c1a Merge: 7eadd47 2ff46e6 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Sep 9 16:57:39 2015 -0700 Merge MTD 4.3-rc1 updates into -next commit 7eadd47fd708df2028877558d085f47dc9086459 Author: Stefan Roese <sr@xxxxxxx> Date: Fri Aug 28 14:45:21 2015 +0200 mtd: sunxi_nand: Select the chip in sunxi_nand_chip_init_timings() nand_scan_ident() leaves the chip deselected. So just issuing some commands from the sunxi driver does not work. We need to select the chip before writing the commands to the NAND device. This patch takes care of this. Set the new timing on all dies implemented as suggested by Boris. This was detected on the in-circuit ICnova-A20 SoM equipped with the Micron MT29F32G08CBACAWP (4GiB) ONFI NAND device. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Roy Spliet <r.spliet@xxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> [Brian: fixup whitespace] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c099b55a6fa6f9ec2f26105c76df462d7c7c7d5b Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 9 13:46:21 2015 +0200 drm/core: Do not call drm_framebuffer_remove internally during teardown. This may cause issues because encoders are already destroyed so removing active primaries may use freed memory. Instead free the fb directly, ignoring refcount. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fcc9021343212f6a4a52a085b3d383ab29a9ac0a Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Wed Sep 9 14:21:30 2015 +0200 drm: move drm_class into drm_sysfs.c Right now, drm_sysfs_create() returns the newly allocated "struct class" to the caller (which is drm_core_init()), which then has to set the global variable 'drm_class'. During cleanup, though, we call drm_sysfs_destroy() which implicitly uses the global 'drm_class'. This is confusing, as ownership of the global 'drm_class' is non-obvious. This patch changes drm_sysfs_create() to drm_sysfs_init() and makes it initialize the 'drm_class' object directly, rather than returning it. This way, both drm_sysfs_init() and drm_sysfs_destroy() work in a similar fashion and manage the global drm class. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26b91ae4732be89228d207c76827071c6aecc4d8 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Wed Sep 9 14:21:29 2015 +0200 drm: simplify drm_sysfs_destroy() via IS_ERR_OR_NULL() Simplify `foo == NULL || IS_ERR(foo)` via IS_ERR_OR_NULL(). This is pretty commonly used all over the kernel, especially for debugfs/sysfs cleanup paths. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a818d350f6b5ad542175ab1f71c027787ce952e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 7 18:22:58 2015 +0300 drm: Make drm_av_sync_delay() 'mode' argument const drm_av_sync_delay() doesn't change the passed in mode, so make it const. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9e5a3b529e8419db1dd2b32c86a1fb42fc07347d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 7 18:22:57 2015 +0300 drm: Remove the 'mode' argument from drm_select_eld() drm_select_eld() doesn't look at the passed in mode, so don't pass it in. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 85f8fcd619d161d65c53b067e2d99590c0d7bbad Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 7 18:22:56 2015 +0300 drm: Make some modes const when iterating through them valid_inferred_mode() don't change the modes over which it iterates, so make the iterator const. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6ccea107eba46fbc7de40e944bf17145c2809666 Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Wed Sep 2 17:05:27 2015 +0300 ath10k: print invalid mcs reported in rx descriptor Sometimes hardware reports invalid mcs index in rx descriptor when operating in VHT80 mode and all packets with invalid mcs will be eventually dropped in mac80211. This issue is observerd during testing on QCA99X0 chipsets. This patch adds a warn message for dumping the rx desc info which helps in analysing the issue when invalid mcs is received. Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0c6d6f2606dfe3758265fb29bfe8103e89d99bab Author: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Date: Wed Sep 2 13:20:20 2015 +0200 ath10k: fix beamformer VHT sounding dimensions capability Similarly to the VHT STS, this is supposed to be propagated by firmware. In case it's not, use the default value, but as last resort. Signed-off-by: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 707a0c811ca02861f1500f0696efebcf3bd2e2e2 Author: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Date: Wed Sep 2 13:20:19 2015 +0200 ath10k: fix beamformee VHT STS capability The VHT STS CAP shall be reported by firmware to host, like in case of QCA99x0. For QCA6174 hw family this isn't set for some reason. So for this particular chips, let's assume it has the ability to support VHT NDP in up to 4 STSs (which is true by the way). Change the published beamformee STS cap accordingly to 3 or to what the firmware reports. Assumption so far, it suppose to be the num_rf_chains-1, was completely wrong. Signed-off-by: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7b7da0a02192fd518c26c46dad6b14aca4569605 Author: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Date: Mon Aug 31 16:34:55 2015 +0530 ath10k: drop probe responses when too many are queued In a noisy environment, when multiple interfaces are created, the management tx descriptors are fully occupied by the probe responses from all the interfaces. This prevents a new station from a successful association. Fix this by limiting the probe responses when the specified threshold limit is reached. Signed-off-by: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a925a3763982799460b9e9b5299520172652b785 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Fri Aug 28 17:21:34 2015 +0530 ath10k: fix DMA alloc failure for target requested memory chunks During long hours of stress testing like AP interface up/down along with continuous ping flood from a station doing connect/disconnect, it is observed that the system is not able to allocate DMA consistent memory of size > 512KB chunks as requested by firmware in WMI_SERVICE_EVENTID. With the system memory getting fragmented during the run based on the size of the memory requested, the failure to return physically continguous memory of high order can happen. Once the system gets to this situation, bringing up the wifi interface will fail and a system reboot may be needed to make it work again. This problem is obseved with QCA99X0. To fix this issue, allocate the DMA memory requested by firmware during device probe time and keep it during the life time of the device. WMI service ready event handler is changed to allocate the memory chunks if it is not already allocated or if the memory allocated for the previous ready event is not same as the current requested ones. After this patch the memory usage when wifi is inactive will be inceased by few 100KB to 3MB based on the target type. Failure happens with the following stack trace [29557.488773] kworker/u4:1: page allocation failure: order:8, mode:0xd0 [29557.494297] CPU: 0 PID: 8402 Comm: kworker/u4:1 Not tainted 3.14.43 #7 [29557.500793] Workqueue: ath10k_aux_wq ath10k_wmi_event_service_ready_work [ath10k_core] [29557.508602] [<c021e9b0>] (unwind_backtrace) from [<c021ba90>] (show_stack+0x10/0x14) [29557.516580] [<c021ba90>] (show_stack) from [<c03bdddc>] (dump_stack+0x88/0xcc) [29557.523612] [<c03bdddc>] (dump_stack) from [<c0290e34>] (warn_alloc_failed+0xdc/0x108) [29557.531515] [<c0290e34>] (warn_alloc_failed) from [<c0292d88>] (__alloc_pages_nodemask+0x4f0/0x654) [29557.540485] [<c0292d88>] (__alloc_pages_nodemask) from [<c0222b48>] (__dma_alloc_buffer.isra.20+0x2c/0x104) [29557.550260] [<c0222b48>] (__dma_alloc_buffer.isra.20) from [<c0222c34>] (__alloc_remap_buffer.isra.23+0x14/0xb8) [29557.560413] [<c0222c34>] (__alloc_remap_buffer.isra.23) from [<c022305c>] (__dma_alloc+0x224/0x2b8) [29557.569490] [<c022305c>] (__dma_alloc) from [<c0223208>] (arm_dma_alloc+0x84/0x90) [29557.577010] [<c0223208>] (arm_dma_alloc) from [<bf5159d0>] (ath10k_wmi_event_service_ready_work+0x2f8/0x420 [ath10k_core]) [29557.588055] [<bf5159d0>] (ath10k_wmi_event_service_ready_work [ath10k_core]) from [<c024260c>] (process_one_work+0x20c/0x328) [29557.599305] [<c024260c>] (process_one_work) from [<c02432d0>] (worker_thread+0x228/0x360) [29557.607470] [<c02432d0>] (worker_thread) from [<c0247f88>] (kthread+0xd8/0xec) [29557.614750] [<c0247f88>] (kthread) from [<c0208d18>] (ret_from_fork+0x14/0x3c) [29557.712751] Normal: 696*4kB (UEMR) 512*8kB (UEMR) 367*16kB (UEMR) 404*32kB (UEMR) 455*64kB (UEMR) 424*128kB (UEMR) 379*256kB (UMR) 327*512kB (UMR) 1*1024kB (R) 0*2048kB 0*4096kB = 374544kB Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6986fdd699f9be57cc1478c738ea6347e3d52547 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 27 14:47:33 2015 +0200 ath10k: fix mu-mimo rx status reporting MU-MIMO Rx involves different interpretation of the VHT-SIG-A compared to SU-MIMO. The incorrect interpretation led ath10k to report VHT MCS values greater than 9 which subsequently prompted mac80211 to drop such frames. This effectively broke Rx with MU-MIMO in many cases and manifested with a kernel warning in the log which looked like this: [ 14.552520] WARNING: CPU: 2 PID: 0 at net/mac80211/rx.c:3578 ieee80211_rx+0x26c/0x940 [mac80211]() [ 14.552522] Rate marked as a VHT rate but data is invalid: MCS: 10, NSS: 2 ... call trace follows ... Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 68ec2a2a24815c0ee359b1327b60a276cd2280d8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:30 2015 +0300 drm/dp: Use I2C_WRITE_STATUS_UPDATE to drain partial I2C_WRITE requests When an i2c WRITE gets an i2c defer or short i2c ack reply, we are supposed to switch the request from I2C_WRITE to I2C_WRITE_STATUS_UPDATE when we continue to poll for the completion of the request. v2: Don't assume DP_AUX_I2C_WRITE is 0 even though it is, to make the code more obvious to the casual reader (Jani) Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Resolve conflict due to changed context.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f993406182b3ffad7c53ffc180b65e2b7e3d8986 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:29 2015 +0300 drm/tegra: Handle I2C_WRITE_STATUS_UPDATE for address only writes A address-only I2C_WRITE can't be replied with a short i2c ack, but I suppose it could be replied with an i2c defer. So the code should be prepared for an address-only I2C_WRITE_STATUS_UPDATE. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: "Terje Bergström" <tbergstrom@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1f75b29d3fc9abb06b095860f9312f8190e6015b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:28 2015 +0300 drm/radeon: Handle DP_AUX_I2C_WRITE_STATUS_UPDATE When we get an i2c defer or short ack for i2c-over-aux write we need to switch to WRITE_STATUS_UPDATE to poll for the completion of the original request. Looks like radeon doesn't do anything special with the request type, so hopefully just treating it the same as a i2c write is enough. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c1e74122fb029d30b66d9364122aef50265354aa Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:27 2015 +0300 drm/i915: Handle DP_AUX_I2C_WRITE_STATUS_UPDATE When we get an i2c defer or short ack for i2c-over-aux write we need to switch to WRITE_STATUS_UPDATE to poll for the completion of the original request. i915 doesn't try to interpret wht request type apart from separating reads from writes, and so we should be able to treat this the same as a normal i2c write. Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 2b712be72fddc74ac12c2857af24a20a93d9e9c0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:26 2015 +0300 drm/dp: s/I2C_STATUS/I2C_WRITE_STATUS_UPDATE/ Rename the I2C_STATUS request to I2C_WRITE_STATUS_UPDATE to match the spec. Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ecfb4598512a7c3e21df2941db58c10461583bb9 Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Mon Sep 7 16:23:16 2015 +0800 ahci: added a new driver for supporting Freescale AHCI sata Currently Freescale QorIQ series SATA is supported by ahci_platform driver. Some SoC specific settings have been put in uboot. So whether SATA works or not heavily depends on uboot. This patch will add a new driver to support QorIQ sata which removes the dependency on any other boot loader. Freescale QorIQ series sata, like ls1021a ls2085a ls1043a, is compatible with serial ATA 3.0 and AHCI 1.3 specification. Signed-off-by: Yuantian Tang <Yuantian.Tang@xxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 437dd8c3c20fa750a9db2e6b39b5e2ff7d01c79e Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Mon Sep 7 16:23:15 2015 +0800 devicetree:bindings: add devicetree bindings for Freescale AHCI adds bindings for Freescale QorIQ AHCI SATA controller. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit fc4f370d77f867fe327fb3591030930693e5438e Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Mon Sep 7 16:23:14 2015 +0800 Revert "ahci: added support for Freescale AHCI sata" This reverts commit 5163fb62541e ("ahci: added support for Freescale AHCI sata") The reverted patch added Freescale QorIQ AHCI sata support to ahci_platform driver though, but it left SoC specific settings to uboot. It leads to QorIQ sata heavily depending on uboot. In order to removing the dependency we first revert the old patch and then will add a new driver for QorIQ SATA. Since there are no LS* platforms that have been upstreamed, So the revert would not break anything exists. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3bd7617596df560e2cb22ad97888cb42dae39d02 Merge: 21adf76 cf2f33a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 8 16:22:29 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: - Use PERF_RECORD_SWITCH when available in intel-pt, instead of "sched:sched_switch" events, enabling an unprivileged user to trace multi-threaded or multi-process workloads. (Adrian Hunter) - Always use non inlined file name for 'srcfile' sort key. (Andi Kleen) - Quieten failed to read counter message, helps in systems without backend-stalled-cycles. (Andi Kleen) Infrastructure changes: - Add a 'perf test' entry for decoding of new x86 instructions. (Adrian Hunter) - Add new instructions (sha, clflushopt, clwb, pcommit, rdpkru, wrpkru, xsavec, xsaves, xrstors) to the x86 instruction decoder. (Adrian Hunter) - Add a build test to warn when source code drifts happen for the instruction decoder files in the kernel and in tools/perf. (Adrian Hunter) - Copy linux/filter.h to tools/include. (He Kuang) - Support function __get_dynamic_array_len in libtraceevent. (He Kuanguuu) - Tracing path finding/mounting/error reporting refactorings. (Jiri Olsa) - Store CPU socket and core IDs in perf.data. (Kan Liang) - Reorganize add/del probe insertion routines in 'perf probe'. (Namhyung Kim, Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 397fd77c0491ceb0ed4783eb88fc05d0222e2030 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Sep 8 15:00:45 2015 +0200 drm/atomic-helper: Implement drm_atomic_helper_duplicate_state() This function can be used to duplicate an atomic state object. This is useful for example to implement suspend/resume, where the state before suspend can be saved and restored upon resume. v2: move locking to caller, be more explicit about prerequisites v3: explicitly pass lock acquisition context, improve kerneldoc Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6e48ae3269e3b89d8014d0eb2e35678b0d242b3d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:52:45 2015 +0200 drm/atomic-helper: Pimp docs with recommendations for rpm drivers Requested by Laurent. Note that this uses the new markdown support which will only land in kernel 4.4 (for the code snippet). v2: A few spelling fixes I spotted myself. v3: Big reword for commit_planes() kerneldoc based on a text from Laurent. Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> (v1 on irc) Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit aef9dbb8f779ae0ffb46313b07700cac72b58ff4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 12:02:07 2015 +0200 drm/atomic-helper: Add option to update planes only on active crtc With drivers supporting runtime pm it's generally not a good idea to touch the hardware when it's off. Add an option to the commit_planes helper to support this case. Note that the helpers already add all planes on a crtc when a modeset happens, hence plane updates will not be lost if drivers set this to true. v2: Check for NULL state->crtc before chasing the pointer. Also check both old and new crtc if there's a switch. Finally just outright disallow switching crtcs for a plane if the plane is in active use, on most hardware that doesn't make sense. v3: Since commit_planes(active_only = true) is for enabling things only after all the crtc are on we should only look at the new crtc to decide whether to call the plane hooks - if the current CRTC isn't on then skip. If the old crtc (when moving a plane) went down then the plane should have been disabled as part of the pipe shutdown work already. For which there's currently no helper really unfortunately. Also move the check for wether a plane gets a new CRTC assigned while still in active use out of this patch. v4: Rebase over exynos changes. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 844f9111f6f54f88eb2f0fac121b82ce77193866 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 2 10:42:40 2015 +0200 drm/atomic: Make prepare_fb/cleanup_fb only take state, v3. This removes the need to separately track fb changes i915. That will be done as a separate commit, however. Changes since v1: - Add dri-devel to cc. - Fix a check in intel's prepare and cleanup fb to take rotation into account. Changes since v2: - Split out i915 changes to a separate commit. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> [danvet: Squash in msm fixup from Maarten.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 825926d8e0bfa6f933706236603bb74a8cea002c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 13:58:09 2015 +0200 drm/atomic: Make sure lock is held in trylock contexts. This will make sure we get a lockdep spat in all cases even if the context is a complete garbage pointer. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53edb2c62e1a884f53a74899cc7e9558fd89051a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 31 15:09:27 2015 +0300 drm/i2c/ch7006: Constify ch7006_tv_norms[] and ch7006_modes[] drivers/gpu/drm/i2c/ch7006.ko: -.text 5913 +.text 5897 -.rodata 664 +.rodata 7256 -.data 6992 +.data 416 Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b7c914b3d94e93bd9b442226231b0bba84c9fa2c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 31 15:09:26 2015 +0300 drm: Constify TV mode names Make the mode names passed to drm_mode_create_tv_properties() const. drivers/gpu/drm/i2c/ch7006.ko: -.rodata 596 +.rodata 664 -.data 7064 +.data 6992 drivers/gpu/drm/nouveau/nouveau.ko: -.rodata 146808 +.rodata 146904 -.data 178624 +.data 178528 Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a5b62374618f629f5d9d6d86f3bef9b552fc980b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 31 15:09:25 2015 +0300 drm: Constify generic_edid_names[] Make generic_edid_names[] const since it's supposed to be immutable. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 96206e2922c114b13cadefa03b9f340b58fee13c Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Thu Aug 27 10:04:13 2015 -0700 dtrm/edid: Allow comma separated edid binaries. (v3) Allow comma separated filenames in the edid_firmware parameter. For example: edid_firmware=eDP-1:edid/1280x480.bin,DP-2:edid/1920x1080.bin v2: Use strsep() to simplify parsing of comma seperated string. (Matt) Move initial bail before strdup. (Matt) v3: Changed conditionals after while loop to make more readable (Jani) Updated kernel-parameters.txt to reflect changes (Jani) Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> [danvet: Flatten else control flow and appease checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8aeb41c4b7e9de0a4df4ed1ba78cd6ee5c87281 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 26 21:49:42 2015 +0200 drm/atomic: refuse changing CRTC for planes directly Very strictly speaking this is possible if you have special hw and genlocked CRTCs. In general switching a plane between two active CRTC just won't work so well and is probably not tested at all. Just forbid it. I've put this into the core since right now no helper or driver copes with it, no userspace has code for it and no one asks for it. Yes there's piles of corner-cases where this would be possible to do this like: - switch from inactive crtc to active crtc - switch from active crtc to inactive crtc - genlocked display - invisible plane (to do whatever) - idle plane hw due to dsi cmd mode/psr - whatever but looking at details it's not that easy to implement this correctly. Hence just put it into the core and add a comment, since the only userspace we have right now for atomic (weston) doesn't want to use direct plane switching either. v2: don't bother with complexity and just outright disallow plane switching without the intermediate OFF state. Simplifies drivers, we don't have any hw that could do it anyway and current atomic userspace (weston) works like this already anyway. v3: Bikeshed function name (Ville) and add comment (Rob). v4: Also bikeshed commit message (Rob). v5: Fix compile warnings reported by 0-day. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> Acked-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f64c5573d253ab3f9c01b4056c5f75a889d18502 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Aug 25 15:45:13 2015 +0200 drm/fb-helper: Add module option to disable fbdev emulation Faster than recompiling. Note that restore_fbdev_mode_unlocked is a bit special and the only one which returns an error code when fbdev isn't there - i915 needs that one to not fall over with some additional fbcon related restore code. Everyone else just ignores the return value or only prints a DRM_DEBUG level message. Reviewed-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a39a357c6ca3c88ad64e9b51bd7607c06cd6d35d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Aug 25 15:45:11 2015 +0200 drm: Make drm_fb_unregister/remove accept NULL fb These functions are used by drivers to release fbdev emulation buffers. We need to make them resilient to NULL pointers to make the fbdev compile/runtime knobs not cause Oopses on module unload. Cc: Archit Taneja <architt@xxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b7bdf0a87add0fead1550533e328a290d8f9da6c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Aug 25 17:20:28 2015 +0200 drm/fb-helper: Use -errno return in restore_mode_unlocked Using bool and returning true upon error is very uncommon. Also an int return value is actually what all the callers which did check it seem to have expected. v2: Restore hunk misplaced in a rebase, spotted by Rob. Cc: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26196f7e11f4b2494a2c14eb789fc61a91207e79 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Aug 25 16:26:03 2015 +0200 drm/atomic-helper: properly annotate functions in kerneldoc Without the () the markup and more important hyperlinking wont happen. v2: Also fix nearby type Laurent spotted. v3: Actually git add. Argh! Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit fe8660acd8853ad9f95b94a04cce384949ddecfe Author: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Date: Fri Aug 21 16:46:14 2015 -0300 drm/doc: Fixing xml documentation warning "/**" should be used for kernel-doc documentation only. It causes a warning with the new "in struct body" format. 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> Cc: Graham Whaley <graham.whaley@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bbda9c1f170e4b31f5d827372ee9a3fb8389f7fa Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Aug 19 19:21:14 2015 -0400 drm: cleanup modesetting ioctls, one param per line Since this already confused me once when adding addfb2.1, let's clean up the header to split params one per line. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fafecc01bcce4a21c0644c79de833e659882d33a Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Sun Aug 16 04:02:28 2015 +0100 drm/mm: Do DRM_MM_CREATE_TOP adj_start calculation after color_adjust The adj_start calculation for DRM_MM_CREATE_TOP should happen after mm->color_adjust. There was an inconsistency between drm_mm_insert_helper_range and drm_mm_insert_helper, as the later was already updating after color_adjust. Didn't spot it before, as color_adjust is only done in systems without LLC. But I'm not aware of anybody using this test case yet. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bcfe0c0954f3336c44993e5ce444e09ad6087637 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Aug 13 17:06:39 2015 -0300 drm: WARN_ON if a modeset driver uses legacy suspend/resume helpers Legacy s/r hooks are only used for shadow-attaching drivers, warn when a KMS driver tries to use them. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit decb4c41159e1511197f2964da758fa7f2eeb741 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:43 2015 +0200 x86/headers: Remove <asm/sigcontext.h> references on the kernel side Now that all type definitions are in the UAPI header, include it directly, instead of through <asm/sigcontext.h>. [ We still keep asm/sigcontext.h, so that uapi/asm/sigcontext32.h can include <asm/sigcontext.h>. ] Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-16-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 711531f4f3cb881f4598cddfcc36663101dee411 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:42 2015 +0200 x86/headers: Remove direct sigcontext32.h uses Now that all sigcontext types are defined in asm/sigcontext.h, remove the various sigcontext32.h uses in the kernel. We still keep the header itself, which includes sigcontext.h, in case user-space relies on it. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-15-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8fcb346b910e860d2525457742ae984c4ddc64b5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:41 2015 +0200 x86/headers: Convert sigcontext_ia32 uses to sigcontext_32 Use the new name in kernel code, and move the old name to the user-space-only legacy section of the UAPI header. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-14-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db1e031401c6abab983919e882916d028f3b385e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:40 2015 +0200 x86/headers: Unify 'struct sigcontext_ia32' and 'struct sigcontext_32' The two structures are identical - merge them and keep the legacy name as a define. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-13-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 530e5c827182a7a5322c55276b0617fd06874c24 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:39 2015 +0200 x86/headers: Make sigcontext pointers bit independent Before we can eliminate the duplication between 'struct sigcontext_32' and 'struct sigcontext_ia32', make the 'fpstate' pointer field in 'struct sigcontext_32' bit independent. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-12-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f2c609bca0b6526810fa22330ce4d173cc023ef8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:38 2015 +0200 x86/headers: Move the 'struct sigcontext' definitions into the UAPI header Our goal is to eliminate the duplicate struct sigcontext_ia32 definition, so move the kernel's primary sigcontext type into the UAPI header, defining these two variants: struct sigcontext_32 struct sigcontext_64 ... and map them to 'struct sigcontext'. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-11-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2d057c69e743bfb88f1259ddbf1b1160bdd850e5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:37 2015 +0200 x86/headers: Clean up the kernel's struct sigcontext types to be ABI-clean Use the __u16/32/64 types we standardized on in ABI definitions and which other sigcontext related types are already using. This will help unify struct sigcontext types between native 32-bit, compat and 64-bit kernels. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-10-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 86e9fc3a0ecdd3c21a938e325daf462ca1724f68 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:36 2015 +0200 x86/headers: Convert uses of _fpstate_ia32 to _fpstate_32 Remove uses of _fpstate_ia32 from the kernel, and move the legacy _fpstate_ia32 definition to the user-space only portion of the header. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-9-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7bb0dc2222779b4cbf1ec9ad651e500e62fa5b11 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:35 2015 +0200 x86/headers: Unify 'struct _fpstate_ia32' and i386 struct _fpstate 'struct _fpstate_ia32' and 'struct _fpstate' on i386 are identical in all fields, except 'padding1' being named 'padding'. We unify the two structures and add a union that is both named 'padding1' and 'padding', in the (unlikely) case there's user-space code that relies on the padding field name. We rename the two main types to be: struct _fpstate_32 struct _fpstate_64 for the 32-bit and 64-bit frame, and map them to the main and compat structure names (_fpstate) depending on whether we are on 32-bit or on 64-bit kernels. We also keep the old _fpstate_ia32 name as a legacy name. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-8-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 337a167d1a5b2704414679d1a993220a4613ec13 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:34 2015 +0200 x86/headers: Unify register type definitions between 32-bit compat and i386 The following sigcontext related types were duplicated across native 32-bit and compat 32-bit headers: struct _fpreg; struct _fpxreg; struct _xmmreg; X86_FXSR_MAGIC Unify them. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-7-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3f623a5b27c150451387e358774131780dbd2407 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:33 2015 +0200 x86/headers: Use ABI types consistently in sigcontext*.h Use the __u16/32/64 types we standardized on in ABI definitions - and which most of this header was already using. This will allow us to more obviously unify the compat header into the main header. No change in functionality. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-6-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 128f8257a17a47b9a40f550cc2f36458cd8c07b0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:32 2015 +0200 x86/headers: Separate out legacy user-space structure definitions Better separate the user-space struct sigcontext definitions from the kernel definitions, so that we can unify the kernel definitions with sigcontext32.h. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-5-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cbf5f4fbf435e871e59d49653d555266b8796efc Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:31 2015 +0200 x86/headers: Clean up and better document uapi/asm/sigcontext.h Clean up sigcontext.h: - the explanations were full of typos and were hard to read in general - use consistent and readable vertical spacing - fix, harmonize and extend comments No field name has been changed, user-space might be relying on them. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-4-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c3f4986fb0774bb13feb4bade1276bed2ba8a3db Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:30 2015 +0200 x86/headers: Clean up uapi/asm/sigcontext32.h Clean up sigcontext32.h a bit: - use consistent and readable vertical spacing - fix, harmonize and extend comments No field name has been changed, user-space might be relying on them. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-3-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b76cb6c869b966b4c991251136b45b3e1babc4e8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:29 2015 +0200 x86/headers: Fix (old) header file dependency bug in uapi/asm/sigcontext32.h Mikko Rapeli reported that the following standalone user-space header does not compile: #include <asm/sigcontext32.h> Due to undefined 'struct __fpx_sw_bytes' which is defined in asm/sigcontext.h. The following header order works: #include <asm/sigcontext.h> #include <asm/sigcontext32.h> and that's probably how everyone's been using these headers for the past decade or so, but it's a legit header file dependency bug, so include asm/sigcontext.h in sigcontext32.h to allow it to be built standlone. Reported-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-2-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4a999d253195db87f18215049cf7a44f795f4ca0 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 4 16:55:15 2015 +0300 drm/i915: don't hard code vlv backlight frequency if unset Fall back to VBT based backlight modulation frequency if it's not set. Do not hard code. This could be a problem if there is no VBT. Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Tested-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa17cdb4f8367875d3a53c41e004fc02e983e317 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 4 16:55:14 2015 +0300 drm/i915: initialize backlight max from VBT Normally we determine the backlight PWM modulation frequency (which we also use as backlight max value) from the backlight registers at module load time, expecting the registers have been initialized by the BIOS. If this is not the case, we fail. The VBT contains the backlight modulation frequency in Hz. Add platform specific functions to convert the frequency in Hz to backlight PWM modulation frequency, and use them to initialize the backlight when the registers are not initialized by the BIOS. v2: Fix SPT and VLV. Thanks to Clint for the VLV code. Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 437b15b8017e0d946453c10794b0c5d4591cf180 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 4 16:55:13 2015 +0300 drm/i915: use pch backlight override on hsw too Currently the difference between backlight control on HSW vs. BDW/SKL is that on HSW we modify the duty cycle on the CPU register, and have the hardware pass the changes on to the PCH registers. We still drive the PCH PWM on both. While HSW and BDW use the same LPT PCH, BDW does not pass these messages on to the PCH. Therefore on BDW we need to enable the PCH override bit, and program the PCH directly. (On SPT PCH, this mode is the default.) We could as well do this on HSW too, and in fact I've been told this is what a certain other operating system does. So use PCH backlight override on HSW too. This simplifies some follow-up code, but it does have the danger of breaking backlight on HSW machines. It should work, but mysterious are the ways of backlight. While at it, name the related backlight hooks according to the PCH rather than the CPU for clarity. Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a7546159718171ba9f2a4df37b574c64b1589b5d Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Mon Jun 29 14:07:32 2015 +0100 drm/i915/bxt: Clean up bxt_init_clock_gating Add stepping check for A0 workarounds, and remove the associated FIXME tags. Split out unrelated WAs for later condition checking. v2: Fixed format (PeterL) v3: Corrected stepping check for WaDisableSDEUnitClockGating - Ignoring comment, following hardware spec instead. (ChrisH) Added description for TILECTL setting (JonB) Cc: Peter Lawthers <peter.lawthers@xxxxxxxxx> Cc: Chris Harris <chris.harris@xxxxxxxxx> Cc: Jon Bloomfield <jon.bloomfield@xxxxxxxxx> Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cf2f33a4e54096f90652cca3511fd6a456ea5abe Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Sep 4 13:22:06 2015 -0300 perf trace: Add read/write to the file group 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-l6812iuai3g486z3mn8ufan8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e607f1426b584f2bd3f688a2d416baf963251e7a Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Sep 4 21:16:03 2015 +0900 perf probe: Print deleted events in cmd_probe() Showing actual trace event when deleteing perf events is only needed in perf probe command. But the add functionality itself can be used by other places. So move the printing code into the cmd_probe(). The output is not changed. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441368963-11565-5-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e7895e422e4da63daedacad0a2ed1a5a6b502d66 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Sep 4 21:16:02 2015 +0900 perf probe: Split del_perf_probe_events() The del_perf_probe_events() does 2 things: 1. find existing events which match to filter 2. delete such trace events from kernel But sometimes we need to do something with the trace events. So split the funtion into two, so that it can access intermediate trace events name using strlist if needed. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441368963-11565-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b02137cc6550c1fa28e9a7c943a79fe6e4c4378d Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Sep 4 21:16:01 2015 +0900 perf probe: Move print logic into cmd_probe() Showing actual trace event when adding perf events is only needed in perf probe command. But the add functionality itself can be used by other places. So move the printing code into the cmd_probe(). Also it combines the output if more than one event is added. Before: $ sudo perf probe -a do_fork -a do_exit Added new event: probe:do_fork (on do_fork) You can now use it in all perf tools, such as: perf record -e probe:do_fork -aR sleep 1 Added new events: probe:do_exit (on do_exit) probe:do_exit_1 (on do_exit) You can now use it in all perf tools, such as: perf record -e probe:do_exit_1 -aR sleep 1 After: $ sudo perf probe -a do_fork -a do_exit Added new events: probe:do_fork (on do_fork) probe:do_exit (on do_exit) probe:do_exit_1 (on do_exit) You can now use it in all perf tools, such as: perf record -e probe:do_exit_1 -aR sleep 1 Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441368963-11565-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 12fae5ef6dc6031ffcf4dffc6be5a16080e7dd7d Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Sep 4 21:16:00 2015 +0900 perf probe: Link trace_probe_event into perf_probe_event This patch drops struct __event_package structure. Instead, it adds a 'struct trace_probe_event' pointer to 'struct perf_probe_event'. The trace_probe_event information gives further patches a chance to access actual probe points and actual arguments. Using them, 'perf probe' can get the whole list of added probes and print them at once. Other users like the upcoming bpf_loader will be able to attach one bpf program to different probing points of an inline function (which has multiple probing points) and glob functions. Moreover, by reading the arguments information, bpf code for reading those arguments can be generated. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441368963-11565-2-git-send-email-namhyung@xxxxxxxxxx [namhyung: extract necessary part from the existing patch] Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 844dffa598b55fca6a83a856214fc0cfc3da24e5 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Sep 4 21:15:59 2015 +0900 perf probe: Split add_perf_probe_events() The add_perf_probe_events() does 3 things: 1. convert all perf events to trace events 2. add all trace events to kernel 3. cleanup all trace events But sometimes we need to do something with the trace events. So split the funtion into three, so that it can access intermediate trace events via struct __event_package if needed. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441368963-11565-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 86c2786994bd7c0d4b525bbfbe42ac540d0b8166 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 13 12:40:57 2015 +0300 perf intel-pt: Add support for PERF_RECORD_SWITCH Add support for selecting and processing PERF_RECORD_SWITCH events for use by Intel PT. If they are available, they will be used in preference to sched_switch events. This enables an unprivileged user to trace multi-threaded or multi-process workloads with any level of perf_event_paranoid. However it depends on kernel support for PERF_RECORD_SWITCH. Without this patch, tracing a multi-threaded workload will decode without error but all the data will be attributed to the main thread. Without this patch, tracing a multi-process workload will result in decoder errors because the decoder will not know which executable is executing. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439458857-30636-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1b29ac59b1d692c06ec543a5f35e0d9ebb98e003 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Sep 3 08:31:00 2015 -0400 perf session: Don't call dump_sample() when evsel is NULL Need to check evsel before passing it to dump_sample(). 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/1441283463-51050-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f83b6b64eba155cfb43ab8a5d9c422c3e7f603e6 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:31 2015 +0300 x86/insn: perf tools: Add new xsave instructions Add xsavec, xsaves and xrstors to the op code map and the perf tools new instructions test. To run the test: $ tools/perf/perf test "x86 ins" 39: Test x86 instruction decoder - new instructions : Ok Or to see the details: $ tools/perf/perf test -v "x86 ins" 2>&1 | grep 'xsave\|xrst' For information about xsavec, xsaves and xrstors, refer the Intel SDM. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-8-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 978260cdbec3e34a3dfb2277ffc0aa1809457362 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:30 2015 +0300 x86/insn: perf tools: Add new memory protection keys instructions Add rdpkru and wrpkru to the op code map and the perf tools new instructions test. In the case of the test, only the bytes can be tested at the moment since binutils doesn't support the instructions yet. To run the test: $ tools/perf/perf test "x86 ins" 39: Test x86 instruction decoder - new instructions : Ok Or to see the details: $ tools/perf/perf test -v "x86 ins" 2>&1 | grep pkru For information about rdpkru and wrpkru, refer the Intel SDM. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-7-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ac1c8859a81e2fc45db1dbff30bdc572005734ca Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:29 2015 +0300 x86/insn: perf tools: Add new memory instructions Intel Architecture Instruction Set Extensions Programing Reference (Oct 2014) describes 3 new memory instructions, namely clflushopt, clwb and pcommit. Add them to the op code map and the perf tools new instructions test. e.g. $ tools/perf/perf test "x86 ins" 39: Test x86 instruction decoder - new instructions : Ok Or to see the details: $ tools/perf/perf test -v "x86 ins" Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-6-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3fe78d6af9e2f08c4014fd3ccbf9e1ff312dedf1 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:28 2015 +0300 x86/insn: perf tools: Add new SHA instructions Intel SHA Extensions are explained in the Intel Architecture Instruction Set Extensions Programing Reference (Oct 2014). There are 7 new instructions. Add them to the op code map and the perf tools new instructions test. e.g. $ tools/perf/perf test "x86 ins" 39: Test x86 instruction decoder - new instructions : Ok Or to see the details: $ tools/perf/perf test -v "x86 ins" 2>&1 | grep sha Committer note: 3 lines of details, for the curious: $ perf test -v "x86 ins" 2>&1 | grep sha256msg1 | tail -3 Decoded ok: 0f 38 cc 84 08 78 56 34 12 sha256msg1 0x12345678(%rax,%rcx,1),%xmm0 Decoded ok: 0f 38 cc 84 c8 78 56 34 12 sha256msg1 0x12345678(%rax,%rcx,8),%xmm0 Decoded ok: 44 0f 38 cc bc c8 78 56 34 12 sha256msg1 0x12345678(%rax,%rcx,8),%xmm15 $ Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 78173ec6311a22ca9f42cf949cf37754a8b71633 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:27 2015 +0300 x86/insn: perf tools: Pedantically tweak opcode map for MPX instructions The MPX instructions are presently not described in the SDM opcode maps, and there are not encoding characters for bnd registers, address method or operand type. So the kernel opcode map is using 'Gv' for bnd registers and 'Ev' for everything else. That is fine because the instruction decoder does not use that information anyway, except as an indication that there is a ModR/M byte. Nevertheless, in some cases the 'Gv' and 'Ev' are the wrong way around, BNDLDX and BNDSTX have 2 operands not 3, and it wouldn't hurt to identify the mandatory prefixes. This has no effect on the decoding of valid instructions, but the addition of the mandatory prefixes will cause some invalid instructions to error out that wouldn't have previously. Note that perf tools has a copy of the instruction decoder and provides a test for new instructions which includes MPX instructions e.g. $ perf test "x86 ins" 39: Test x86 instruction decoder - new instructions : Ok Or to see the details: $ perf test -v "x86 ins" Commiter notes: And to see these MPX instructions specifically: $ perf test -v "x86 ins" 2>&1 | grep bndldx | head -3 Decoded ok: 0f 1a 00 bndldx (%eax),%bnd0 Decoded ok: 0f 1a 05 78 56 34 12 bndldx 0x12345678,%bnd0 Decoded ok: 0f 1a 18 bndldx (%eax),%bnd3 $ perf test -v "x86 ins" 2>&1 | grep bndstx | head -3 Decoded ok: 0f 1b 00 bndstx %bnd0,(%eax) Decoded ok: 0f 1b 05 78 56 34 12 bndstx %bnd0,0x12345678 Decoded ok: 0f 1b 18 bndstx %bnd3,(%eax) $ Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 98e4619f2b2bb80d310feaac5589b44c000aecc1 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:26 2015 +0300 perf tools: Add a test for decoding of new x86 instructions Add a new test titled: Test x86 instruction decoder - new instructions The purpose of this test is to check the instruction decoder after new instructions have been added. Initially, MPX instructions are tested which are already supported, but the definitions in x86-opcode-map.txt will be tweaked in a subsequent patch, after which this test can be run to verify those changes. The data for the test comes from assembly language instructions in insn-x86-dat-src.c which is converted into bytes by the scripts gen-insn-x86-dat.sh and gen-insn-x86-dat.awk, and included into the test program insn-x86.c as insn-x86-dat-32.c and insn-x86-dat-64.c. The conversion is not done as part of the perf tools build because the test data must be under (git) change control in order for the test to be repeatably-correct. Also it may require a recent version of binutils. Commiter notes: Using it: # perf test decoder 39: Test x86 instruction decoder - new instructions : Ok # perf test -v decoder 39: Test x86 instruction decoder - new instructions : --- start --- test child forked, pid 21970 Decoded ok: 0f 31 rdtsc Decoded ok: f3 0f 1b 00 bndmk (%eax),%bnd0 Decoded ok: f3 0f 1b 05 78 56 34 12 bndmk 0x12345678,%bnd0 Decoded ok: f3 0f 1b 18 bndmk (%eax),%bnd3 <SNIP> Decoded ok: f2 e9 00 00 00 00 bnd jmpq 402 <main+0x402> Decoded ok: f2 e9 00 00 00 00 bnd jmpq 408 <main+0x408> Decoded ok: 67 f2 ff 21 bnd jmpq *(%ecx) Decoded ok: f2 0f 85 00 00 00 00 bnd jne 413 <main+0x413> test child finished with 0 ---- end ---- Test x86 instruction decoder - new instructions: Ok # Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3a9d7723145a6c1be6e9afbb661e3ad7768be2e0 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:25 2015 +0300 perf tools: Display build warning if x86 instruction decoder differs from kernel perf tools has a copy of the x86 instruction decoder used by the kernel. The expectation is that the copy will be kept more-or-less in-synch with the kernel version. Consequently it is helpful to know if there are differences. This patch adds a check into the perf tools build so that a diff is done on the sources, and a warning is printed if they are different. Note that the warning is not fatal and the build continues as normal. The check is done as part of building the instruction decoder, so, like a compiler warning, it is not seen unless the instruction decoder has to be re-compiled. e.g. $ make -C tools/perf >/dev/null $ echo "/* blah */" >> tools/perf/util/intel-pt-decoder/inat_types.h $ make -C tools/perf >/dev/null Warning: Intel PT: x86 instruction decoder differs from kernel $ make -C tools/perf >/dev/null $ Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 709adcb33928b5bf965587b23ed6544e964584a3 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:42 2015 +0200 tools lib api fs: Add FSTYPE__configured() method Add FSTYPE__configured() (where FSTYPE is one of sysfs, procfs, debugfs, tracefs) interface that returns bool state of the filesystem mount: true - mounted, false - not mounted It will not try to mount the filesystem. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-13-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 73ca85ad364769ffa312b1d892816d8fa23a02bf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:41 2015 +0200 tools lib api fs: Add FSTYPE__mount() method Adding FSTYPE__mount (where FSTYPE is, as of now, one of sysfs, procfs, debugfs, tracefs) method that tries to mount the filesystem in case no mount of FSTYPE is found. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-12-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c495afb4988dcbb8bae11b8f1bbb7e11f172672b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:40 2015 +0200 tools lib api fs: Add tracefs into fs.c object Adding tracefs support into fs.c framework. It'll replace the tracefs object functionality in following patches. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-11-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8ccfabdb873df2e18b235bfaf2722f7528d220f1 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:39 2015 +0200 tools lib api fs: Add debugfs into fs.c object Adding debugfs support into fs.c framework. It'll replace the debugfs object functionality in following patches. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-10-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 41e3a1fece31d0b2383281e4a917ff4b16fa9223 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:38 2015 +0200 tools lib api fs: Move SYSFS_MAGIC PROC_SUPER_MAGIC into fs.c There's no need to export SYSFS_MAGIC PROC_SUPER_MAGIC in fs.h. Leave them in the fs.c. Link: http://lkml.kernel.org/n/tip-b2cd1bb7yvbazq5oua24oz18@xxxxxxxxxxxxxx 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-9-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b86b0d3570273c6ddc16b1972e82bf7778346286 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:37 2015 +0200 tools lib api fs: Add STR and PATH_MAX macros to fs object We're going to get rid of findfs.h in following patches, but we'll still need these macros. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-8-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 988bdb319246dea977a375beee39a5452e99b3ef Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:35 2015 +0200 tools lib api fs: Move debugfs__strerror_open into tracing_path.c object Moving debugfs__strerror_open out of api/fs/debugfs.c, because it's not debugfs specific. It'll be changed to consider tracefs mount as well in following patches. Renaming it into tracing_path__strerror_open_tp to fit into the namespace. No functional change is intended. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 592d5a6ba86a31681fa5e20a63a145b0a3b53c8a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:34 2015 +0200 tools lib api fs: Move tracing_path interface into api/fs/tracing_path.c Moving tracing_path interface into api/fs/tracing_path.c out of util.c. It seems generic enough to be used by others, and I couldn't think of better place. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 18339f59c3a6698ee17d32970c9e1e450b16e7c3 Author: Maciej Zuk <gzmlke@xxxxxxxxx> Date: Thu Sep 3 21:46:39 2015 +0200 HID: dragonrise: fix HID Descriptor for 0x0006 PID Fixed HID descriptor for DragonRise Joystick. Replaced default descriptor which doubles Z axis and causes mixing values of X and Z axes. Signed-off-by: Maciej Zuk <gzmlke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 90cdd986335eddb7cac6e456f7c48c1ce76fd095 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Sep 3 09:08:30 2015 -0400 HID: logitech-hidpp: add support to disable tap-to-click on the K400 The Logitech K400 keyboard has an embedded touchpad which is seen as a mouse from the OS point of view. There is a hardware shortcut to disable tap-to-click but the setting is not remembered accross reset, annoying some users. We can toggle this feature from the host by using the feature 0x6010: Touchpad FW items Reported-by: BALATON Zoltan <balaton@xxxxxxxxxx> Tested-by: BALATON Zoltan <balaton@xxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 580a7e82f08c38837dbe08374d649329d3de698b Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Sep 3 09:08:29 2015 -0400 HID: logitech-hidpp: split HIDPP_QUIRK_DELAYED_INIT in two HIDPP_QUIRK_DELAYED_INIT means two things currently: - we want to delay the initialization process - we do not want hid to create an input device based on the report descriptor. This should actually be 2 different quirks so we can have special connect events while still having HID creating the input for us. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 9fe8eccad4425fd024516fac2ebc0a39610441a0 Author: Fernando D S Lima <fernandodsl@xxxxxxxxx> Date: Thu Sep 3 12:56:31 2015 -0300 HID: sensor-hub: Fixup for Lenovo ThinkPad Helix 2 sensor hub report There is an error in the report descriptor of the Thinkpad Helix 2 where logical minimum value (557376) is greater than logical maximum (491200) for all of the magnetic flux axis data fields. This error results in a report descriptor parsing failure that causes the sensors attached to the hub not to be detected. dmesg excerpt: [ 19.866905] drivers/hid/hid-core.c: logical range invalid 0x88140 0x77ec0 [ 19.866914] hid-sensor-hub 0018:2047:0855.0007: item 0 1 0 8 parsing failed [ 19.866926] hid-sensor-hub 0018:2047:0855.0007: parse failed [ 19.866933] hid-sensor-hub: probe of 0018:2047:0855.0007 failed with error -22 Add a report fixup to change magnetic flux logical minimums to -557376 for the parsing to succeed and the sensors to get detected. After applying the fix the sensors get detected, with corresponding drivers (hid-accel-3d,hid-gyro-3d,etc) loaded, and its possible to read their values. Signed-off-by: Fernando D S Lima <fernandodsl@xxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8ffd341c4b66f4a2c0dea93dac9b7141870ea63c Author: Harald Brinkmann <hbrinkmann@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 17:49:26 2015 +0200 HID: saitek: mode button quirk for Mad Catz R.A.T.5 This patch enables the Saitek HID quirk for the mode button of the Mad Catz R.A.T.5 gaming mouse by adding the same quirk that's been neeeded for preivous versions. [jikos@xxxxxxxxxx: update changelog a little bit] Signed-off-by: Harald Brinkmann <hbrinkmann@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 614f4ad7984f930623bf0d25adba707d0d36c6dc Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 12:29:40 2015 +0100 drm/i915: Fix cmdparser STORE/LOAD command descriptors Fixes regression from commit f1afe24f0e736b9d7f2275e2b1504af3fe612f2a Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Aug 4 16:22:20 2015 +0100 drm/i915: Change SRM, LRM instructions to use correct length which forgot to account for the length bias when declaring the fixed length. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91844 Reported-by: Andreas Reis <andreas.reis@xxxxxxxxx> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Cc: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 333b8ca8cfcafc8c556d4333fe660283fea691d4 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 3 21:50:16 2015 +0300 drm/i915: Dump pfit state as hex The pfit state is stored as register values, so dump them as hex instead of decimal to make some sense of the error messages. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 96d12cbdbd03a9ce87a75520512ef9ad8c585e92 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Sep 3 16:24:36 2015 +0300 drm/i915: access the PP_ON_DELAYS/PP_OFF_DELAYS regs only pre GEN5 These registers exist only before GEN5, so currently we may access undefined registers on VLV/CHV and BXT. Apply the workaround only pre GEN5. Since the workaround is relevant only when LVDS is present, for clarity apply it only if this is the case. This triggered an unclaimed register access warning on BXT. v2: (Ville) - move the workaround to the LVDS init code - print a debug note about the workaround 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 c5796b7126b2497513bfa9a9341d02cb833d83d6 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Sep 3 16:24:35 2015 +0300 drm/i915: access the PP_CONTROL reg only pre GEN5 This register exists only pre GEN5, but atm we also access it on VLV/BXT/CHV. Prevent accessing it on these latter platforms. 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 01101fa7cc85fffc95798d1f67970dad96063fc6 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:01:39 2015 +0100 drm/i915: Refactor common ringbuffer allocation code A small, very small, step to sharing the duplicate code between execlists and legacy submission engines, starting with the ringbuffer allocation code. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 742f491d2c204204086d2bc85cc5100daa6ff336 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Sep 3 11:16:09 2015 +0300 drm/i915: use the yesno helper for logging Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1da7d7131c35cde83f1bab8ec732b57b69bef814 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Sep 3 11:16:08 2015 +0300 drm/i915: ignore link rate in TPS3 selection TPS3 is mandatory for downstream devices that support HBR2, and Intel platforms that support HBR2 also support TPS3. Whenever TPS3 is supported by both the source and sink, it should be used. In other words, whenever the source and sink are capable of 5.4 Gbps link, we should anyway go for TPS3, regardless of the link rate being selected. Log an error if the sink has advertized HBR2 capability without TPS3 capability. Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bc5133d595a0ddfaaa5edb4b077f44d92cc8fb0d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Sep 3 11:16:07 2015 +0300 drm/i915/dp: move TPS3 logic to where it's used There is no need to have a separate flag for tps3 as the information is only used at one location. Move the logic there to make it easier to follow. 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 1c132b44f0eabaaf801e79a3e4b98770431a4274 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Sep 2 15:19:26 2015 -0700 drm/i915: Future proof panel fitter. This is another case where we can consider the default is the newest available and not actually a missed case. No functional change. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 22cc27bb7a47cf6ad33b983539b14bc46e65f9b2 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Sep 3 14:38:00 2015 -0700 drm/i915: Future proof uncore_init. Unless future specs tells otherwise we can assume future gens inherit some stuff from the previous so let's handle missed cases when we know tehy should't be there and assume default equals newest one. No functional changes. v2: Remove useless case as pointed out by Ville. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b4834a508a1c25773c929c3d8eb7a29ad1041e19 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Sep 2 15:19:24 2015 -0700 drm/i915: Future proof interrupt handler. These functions are already being called for gen >= 9, so let's be sure when this happens we use whatever is there already for the latest platform. No functional change. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a41a05d70b4fb455256fd3a8348e186f156c310 Author: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Date: Thu Sep 3 19:22:18 2015 +0200 drm/i915/gtt: Avoid calling kcalloc in a loop when allocating temp bitmaps On each call to gen8_alloc_va_range_3lvl we're allocating temporary bitmaps needed for error handling. Unfortunately, when we increase address space size (48b ppgtt) we do additional (512 - 4) calls to kcalloc, increasing latency between exec and actual start of execution on the GPU. Let's just do a single kcalloc, we can also drop the size from free_gen8_temp_bitmaps since it's no longer used. v2: Use GFP_TEMPORARY to make the allocations reclaimable. v3: Drop the 2D array, just allocate a single block. v4: Rebase to handle gen8_preallocate_top_level_pdps. v5: Align misaligned bracket. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Correct kcalloc arguments as suggested by Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea916ea057299f66e774c9131e269df070a84779 Author: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> Date: Thu Sep 3 16:17:09 2015 +0530 drm/i915/skl+: Add YUV pixel format in Capability list GEN >= 9 supports YUV format for all planes, but it's not exported in Capability list of primary plane. Add YUV formats in skl_primary_formats list. Testcase: igt/kms_universal_plane.c Signed-off-by: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> Cc: Konduru, Chandra <chandra.konduru@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 395ab7541a0e141ffbde127b534e44f28d39a050 Author: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> Date: Thu Sep 3 16:17:08 2015 +0530 drm/i915/skl: Avoid using un-initialized bits_per_pixel Don't rely on fb->bits_per_pixel as intel_framebuffer_init is not filling bits_per_pixel field of fb-struct for YUV pixel format. This leads to divide by zero error during watermark calculation. Signed-off-by: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> Cc: Konduru, Chandra <chandra.konduru@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 93efac3f2e03321129de67a3c0ba53048bb53e31 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 13:21:06 2015 +0800 ipv6: Fix IPsec pre-encap fragmentation check The IPv6 IPsec pre-encap path performs fragmentation for tunnel-mode packets. That is, we perform fragmentation pre-encap rather than post-encap. A check was added later to ensure that proper MTU information is passed back for locally generated traffic. Unfortunately this check was performed on all IPsec packets, including transport-mode packets. What's more, the check failed to take GSO into account. The end result is that transport-mode GSO packets get dropped at the check. This patch fixes it by moving the tunnel mode check forward as well as adding the GSO check. Fixes: dd767856a36e ("xfrm6: Don't call icmpv6_send on local error") Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 2c652a98ca556cca7749c184f0246315367bfad4 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:51 2015 -0700 regulator: qcom_smd: Handle big endian CPUs The smd rpm structures are always in little endian, but this driver is not capable of being used on big endian CPUs. Annotate the little endian data members and update the code to do the proper byte swapping. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a9cadf72bfb7185a680eb7599b9bda65d1515b9f Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 15:47:28 2015 -0300 mtd: pxa3xx_nand: Remove unused platform-data flash specification The driver supports board files specificating the flash device, by passing a pxa3xx_nand_flash struct (with flash parameters) in the platform data struct. Currently this support is not being used by any board file. Moreover, we'd like to deprecate such usage in favor of using the device table in nand_ids.c. So let's remove the ad-hoc flash specification. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e747dbe75e83345379455a78bb208ab7202229df Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Aug 13 15:46:02 2015 -0700 mtd: fsl-quadspi: use automatic spi-nor detection We don't really need the flash information from the device tree here. Let's stick with autodetection here instead. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Han Xu <han.xu@xxxxxxxxxxxxx> Tested-by: Han Xu <han.xu@xxxxxxxxxxxxx> commit 1976367173a47f801c67b5f456922d79c60d0d42 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Aug 13 15:46:05 2015 -0700 mtd: spi-nor: embed struct mtd_info within struct spi_nor This reflects the proper layering, so let's do it. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Joachim Eastwood <manabian@xxxxxxxxx> commit a39f1d5e4303f535840a44eee87326fd9743de7c Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Aug 13 15:46:04 2015 -0700 mtd: spi-nor: add forward declaration for mtd_info This header can't actually stand alone, as it relies on the declaration (but not definition) of struct mtd_info. Let's fix that. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Joachim Eastwood <manabian@xxxxxxxxx> commit c9ec3900abf279d9276a0661c9bed2550c1f0bb5 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Aug 13 15:46:03 2015 -0700 mtd: spi-nor: assign mtd->priv in spi_nor_scan() Layering suggests that the SPI NOR layer (not the hardware driver) should be initializing the MTD layer. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 65d4b265103a3cb2f0993c946815157a38797421 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:33 2015 +0200 perf tools: Move tracing_path stuff under same namespace Renaming all functions touching tracing_path under same namespace. New interface is: char tracing_path[]; - tracing mount path char tracing_events_path[]; - tracing mount/events path void tracing_path_set(const char *mountpoint); - setting directly tracing_path(_events), used by --debugfs-dir option const char *tracing_path_mount(void); - initial setup of tracing_(events)_path, called from perf.c mounts debugfs/tracefs if needed and possible char *get_tracing_file(const char *name); void put_tracing_file(char *file); - get/put tracing file path 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6a09af7de3b39b1e4fcff7374871f834498b7f0 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:32 2015 +0200 perf tools: Remove mountpoint arg from perf_debugfs_mount It's not used by any caller. We either detect the mountpoint or use hardcoded one. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 245bad8eb45fca36638da53fb0a361397a707001 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 1 15:52:46 2015 -0700 perf stat: Quieten failed to read counter message Since 3b3eb0445 running perf stat on a system without backend-stalled-cycles spits out ugly warnings by default. Since that is quite common, make the message a debug message only. We know anyways that the counter wasn't read by the normal <unsupported> output. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441147966-14917-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2bb00d2f95193aea5bfa98392907273115c96920 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Sep 1 09:58:12 2015 -0400 perf tools: Store the cpu socket and core ids in the perf.data header This patch stores the cpu socket_id and core_id in a perf.data header, and reads them into the perf_env struct when processing perf.data files. The changes modifies the CPU_TOPOLOGY section, making sure it is backward/forward compatible. The patch checks the section size before reading the core and socket ids. It never reads data crossing the section boundary. An old perf binary without this patch can also correctly read the perf.data from a new perf with this patch. Because the new info is added at the end of the cpu_topology section, an old perf tool ignores the extra data. Examples: 1. New perf with this patch read perf.data from an old perf without the patch: $ perf_new report -i perf_old.data --header-only -I ...... # sibling threads : 33 # sibling threads : 34 # sibling threads : 35 # Core ID and Socket ID information is not available # node0 meminfo : total = 32823872 kB, free = 29315548 kB # node0 cpu list : 0-17,36-53 ...... 2. Old perf without the patch reads perf.data from a new perf with the patch: $ perf_old report -i perf_new.data --header-only -I ...... # sibling threads : 33 # sibling threads : 34 # sibling threads : 35 # node0 meminfo : total = 32823872 kB, free = 29190932 kB # node0 cpu list : 0-17,36-53 ...... 3. New perf read new perf.data: $ perf_new report -i perf_new.data --header-only -I ...... # sibling threads : 33 # sibling threads : 34 # sibling threads : 35 # CPU 0: Core ID 0, Socket ID 0 # CPU 1: Core ID 1, Socket ID 0 ...... # CPU 61: Core ID 10, Socket ID 1 # CPU 62: Core ID 11, Socket ID 1 # CPU 63: Core ID 16, Socket ID 1 # node0 meminfo : total = 32823872 kB, free = 29190932 kB # node0 cpu list : 0-17,36-53 Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441115893-22006-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 193b6bd339ccb30c861a307a915d4532f443e0fb Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Sep 1 09:58:11 2015 -0400 perf cpumap: Factor out functions to get core_id and socket_id This patch moves the code which reads core_id and socket_id into separate functions. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441115893-22006-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 76055940c1afc8d445992fb0278b80cf205bbf97 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Sat Aug 29 04:22:05 2015 +0000 tools lib traceevent: Support function __get_dynamic_array_len Support helper function __get_dynamic_array_len() in libtraceevent, this function is used accompany with __print_array() or __print_hex(), but currently it is not an available function in the function list of process_function(). The total allocated length of the dynamic array is embedded in the top half of __data_loc_##item field. This patch adds new arg type PRINT_DYNAMIC_ARRAY_LEN to return the length to eval_num_arg(), Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440822125-52691-32-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dabf626f7f0e5cbef0d1cfb5143e40213f079bb8 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Sat Aug 29 04:21:55 2015 +0000 perf tools: Copy linux/filter.h to tools/include This patch copies filter.h from include/linux/kernel.h to tools/include/linux/filter.h to enable other libraries to use macros in it, like libbpf which will be introduced by further patches. Currently, the filter.h copy only contains the useful macros needed by libbpf for not introducing too much dependence. tools/perf/MANIFEST is also updated for 'make perf-*-src-pkg'. One change: The 'imm' field of BPF_EMIT_CALL becomes ((FUNC) - BPF_FUNC_unspec) to suit user space code generator. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440822125-52691-22-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> [ Removed stylistic changes, so that a diff to the original file gets reduced ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2f84b42b28eed0f980200401077e51571202f868 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 1 11:47:19 2015 -0700 perf tools: Always use non inlined file name for 'srcfile' sort key When profiling the kernel with the 'srcfile' sort key it's common to "get stuck" in include. For example a lot of code uses current or other inlines, so they get accounted to some random include file. This is not very useful as a high level categorization. For example just profiling the idle loop usually shows mostly inlines, so you never see the actual cpuidle file. This patch changes the 'srcfile' sort key to always unwind the inline stack using BFD/DWARF. So we always account to the base function that called the inline. In a few cases include is still shown (for example for MSR accesses), but that is because they get inlining expanded as part of assigning to a global function pointer. For the majority it works fine though. v2: Use simpler while loop. Add maximum iteration count. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441133239-31254-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 58f2cf241fb98414e2e35fc3d4d0494eb30b3245 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 28 22:59:08 2015 +0300 drm/i915: Don't call intel_get_hpd_pins() when there's no hotplug interrupt On GMCH plaforms we are now getting the following spew on aux interrupts: [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000 [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000 [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000 [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000 [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000 [drm:intel_dp_aux_ch] dp_aux_ch timeout status 0x71450064 Prevent it by not calling intel_get_hpd_pins() unless one of the HPD interrupt bits are actually set. I already fixed similar annoyance once with 4bca26d0a6518d51a9abe64fbde4b12f04c74053 drm/i915: Use HOTPLUG_INT_STATUS_G4X on VLV/CHV but another source for it got added in fd63e2a972c670887e5e8a08440111d3812c0996 drm/i915: combine i9xx_get_hpd_pins and pch_get_hpd_pins due to pch_get_hpd_pins() being chosen over i9xx_get_hpd_pins() to serve as the new unified piece of code. pch_get_hpd_pins() had the debug print, and i9xx_get_hpd_pins() didn't. Cc: Imre Deak <imre.deak@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 a52bb15bfad09115cff2433e76b164be94c42af5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:11 2015 +0300 drm/i915: Rewrite BXT HPD code to conform to pre-existing style Rewrite the BXT hpd setup to match the way we do it on other platforms: - Throw out BXT_HOTPLUG_CTL since it's the same as PCH_PORT_HOTPLUG - Enable the HPD bits in the DE port IER in gen8_de_irq_postinstall() - Update DE port IMR using bdw_update_port_irq() Also throw out port D from bxt_port_hotplug_long_detect() since BXT only goes up to C. 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 40e5641086f6f64acb13ff6893cf82c4fb30a6d7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:10 2015 +0300 drm/i915: Refactor the hpd irq handling functions A lot of the hpd irq handling is duplicated code, so refactor it a bit by observing that in several places the only difference is the hpd[] array. So pull the code to a few functions and pass in the hpd[] array from the caller. Another option would be to determine the correct array to use within the functions themselves, but somehow passing it in felt nicer. Further code reduction could be achieved by passing in the hotplug register offset, and the long pulse detection function pointer. But that didn't feel as good for some reason, so I left it at the middle ground. 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 cebd87a07748b649f22356efd56f478248aec300 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:09 2015 +0300 drm/i915: Rewrite bxt_hpd_handler() to look like everyone else bxt_hpd_handler() looks different to everyone else for no good reason. Rewrite it to use the standard variable namees etc. 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 08d8a232aa5e145f995a98ac7f3de55e2fe6832b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:08 2015 +0300 drm/i915: Reinitialize HPD after runtime D3 Runtime suspends disabled all interrupts, so in order to get them back fully we need to also do the HPD irq setup on runtime resume. Except on VLV/CHV where the display interrupt initialization is part of the display power well powerup. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74c0b395fce4c807a49c404fb59462b22069b001 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:07 2015 +0300 drm/i915: Add port A HPD support for SPT On SKL the port A HPD has moved to the PCH. Hook it up. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a3b3c7da37b35955c7c6a36a1f059d02f17eafb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:06 2015 +0300 drm/i915: Add port A HPD support for BDW Wire up the port A HPD for BDW. Compared to earlier platforms the interrupt setup is a bit different, but basically everything else looks the same. v2: 0 initialize pin_mask/long_mask due to intel_get_hpd_pins() changes Check for BDW before processing the HPD to not break BXT Set found=true when processing port A HPD Sort out the mess I made of the irq setup in v1 Warn about bad irq mask vs. enable bits in bdw_update_port_irq() (Paulo) 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 0b2eb33e5e2b4aaeaa786d551a1b5f08904a9bfc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:05 2015 +0300 drm/i915: LPT:LP needs port A HPD enabled in both north and south If the CPU and PCH are on the same package we must enabled the port A HPD also in the south hotplug register. To identify the package type we simply look at the PCH type: LPT-H means separate package, and LPT-LP means multi chip package (MCP). v2: Add comment and pimp commit message Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 23bb4cb5122c2c6379be38aaa5c0fd6786ae6c3a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:04 2015 +0300 drm/i915: Add port A HPD support for IVB/HSW As with ILK/SNB wire up the port A HPD on IVB/HSW. This might be more important on HSW with PSR. BSpec tells us that if the automagic link training performed by the hardware fails for some reason, we're going to get a short HPD and are supposed to re-train the link manyally. v2: 0 initialize pin_mask/long_mask due to intel_get_hpd_pins() changes Add a comment about the pulse duration bits being reserved on HSW+ like we have for LPT+ in ibx_hpd_irq_setup() Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e4ce95aa661e411d7da554eb8e6c7f81504acae6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:03 2015 +0300 drm/i915: Add port A HPD support for ILK/SNB ILK/SNB support port A HPD. While HPD is optional on eDP let's at least try to wite it up so that we might notice if the link has issues. The eDP spec suggests that if HPD is not wired up, one should poll the link status instead. We don't even do that currently. v2: 0 initialize pin_mask/long_mask due to intel_get_hpd_pins() changes Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6dbf30ce234925e4770f0b52950b601e816b6586 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:02 2015 +0300 drm/i915: Introduce spt_irq_handler() Starting from SPT the only interrupts living in the south are GMBUS and HPD. What's worse some of the SPT specific new bits conflict with some other bits on earlier PCH generations. So better not use the cpt_irq_handler() for SPT+ anymore. Also kill the hand rolled port E handling with something more standardish. This also avoids accidentally confusing port B and port E long pulses since the bits occupy the same positions, just in different registers. Also add a comment noting that the short pulse duration bits are reserved on LPT+. The 2ms value we program is 0, so no issue wrt. the MBZ in the spec. v2: Call intel_hpd_irq_handler() only once (Paulo) 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 42db67d664af417e946211c7f1f4178c782a582a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 28 21:26:27 2015 +0300 drm/i915: Move {pin, long}_mask initialization to caller from intel_get_hpd_pins() Move the 0 initialization of pin_mask and long_mask from intel_get_hpd_pins() into each caller. This we we can call intel_get_hpd_pins() multiple times to accumulate more pins from several sources. v2: Add a comment explaining the dangers of intel_get_hpd_pins() (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 195baa0673345c70f04d19e9e18470c9cbf88bcf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:00 2015 +0300 drm/i915: Rename BXT PORTA HPD defines The PORTA HPD defines are not BXT specific. They also exist on SPT, and partially already on LPT:LP. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c2699524d666bd606a2de0aa68691c984efb1fec Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:55:59 2015 +0300 drm/i915: Add HAS_PCH_LPT_LP() macro Make LPT:LP checks look neater by wrapping the details in a new HAS_PCH_LPT_LP() macro. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d9dc34f1a1e9649f6e1e3709f6177f7883ce75ce Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:55:58 2015 +0300 drm/i915: Factor out ilk_update_display_irq() Extract the core of ironlake_{enable,disable}_display_irq() into a new function. We'll have further use for it later. v2: Warn about invalid mask vs. enable bits (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 87a0210665eeca7c5fa237592da025650b216831 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:55:57 2015 +0300 drm/i915: Extract intel_hpd_enabled_irqs() Eliminate a bunch of duplicated code that calculates the currently enabled HPD interrupt bits. v2: s/;/:/ in patch subject (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40bfd7a3303b7c383493c80a250c59b61d812ce5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:55:56 2015 +0300 drm/i915: Clean up various HPD defines Indent the PORTx_HOTPLUG_... defines appropriately, and fix some space vs. tab issues. v2: Document pre-HSW/LPT bits, and order another tab (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 62f0ace531b2ca69a1defe5a01a85539fd28353f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 26 18:57:26 2015 +0200 drm/i915: Update comments around base bpp Forgot to do that in commit d328c9d78d64ca11e744fe227096990430a88477 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Apr 10 16:22:37 2015 +0200 drm/i915: Select starting pipe bpp irrespective or the primary plane and it's confusing. Fix it. Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Acked-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e93c28f39375558409329a02a767d5cadfcc4a31 Merge: 85a62bf 6fa2d19 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 2 14:33:42 2015 +0200 Merge tag 'drm-intel-next-fixes-2015-09-02' into drm-intel-next-queued Backmerge -fixes since there's more DDI-E related cleanups on top of the pile of -fixes for skl that just landed for 4.3. Conflicts: drivers/gpu/drm/i915/intel_display.c drivers/gpu/drm/i914/intel_dp.c drivers/gpu/drm/i915/intel_lrc.c Conflicts are all fairly harmless adjacent line stuff. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 85a62bf9d8ef8d533635270ae985281c58e8c974 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Sep 1 12:15:33 2015 +0200 drm/i915: Also record time difference if vblank evasion fails, v2. This makes the error message slightly more useful. Changes since v1: - Use ktime_get() while irqs are still disabled. (vsyrjala) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 34e0adbb4508a318e8039ee3959383e4bf080f04 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Aug 31 13:04:25 2015 +0200 drm/i915: Remove start frame argument to pipe_update_begin/end. There's already a per crtc member that can be used for it. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 650da34c4af12921e0148bbc0dba7419d7776189 Author: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Date: Fri Aug 28 15:41:18 2015 +0800 drm/i915: guest i915 notification for Intel GVT-g When i915 drivers run inside a VM with Intel GVT-g, some explicit notifications are needed from guest to host device model through PV INFO page write. The notifications include: PPGTT create PPGTT destroy They are used for the shadow implementation of PPGTT. Intel GVT-g needs to write-protect the guest pages of PPGTT, and clear the write protection when they end their life cycle. v2: - Use lower_32_bits()/upper_32_bits() for qword operations; - Remove the notification of guest context creation/destroy; Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 532beabf343d16d269491c63ed4590e5a675ea2b Author: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Date: Fri Aug 28 15:41:17 2015 +0800 drm/i915: Update PV INFO page definition for Intel GVT-g Some more definitions in the PV info page are added. They are mainly for the guest notification to Intel GVT-g device model. They are used for Broadwell enabling. The notification of PPGTT page table creation/destroy is to notify GVT-g device model the life cycle of guest page tables. Then device model will implement shadow page table for guests. The notification of context create/destroy is optional. If it is used, the device model will create/destroy shadow context corresponding to the context's life cycle. Guest driver needs to make sure that the context's LRCA and backing storage address unchanged. If it is not used, the device model will perform the context shadow work in the context scheduling time. Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a0bd6c3183a164970e934ee4f514956dd577a628 Author: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Date: Fri Aug 28 15:41:16 2015 +0800 drm/i915: Always enable execlists on BDW for vgpu Broadwell hardware supports both ring buffer mode and execlist mode. When i915 runs inside a VM with Intel GVT-g, we allow execlist mode only. The main reason of EXECLIST only is that GVT-g does not support the dynamic mode switch between ring buffer mode and execlist mode when running multiple virtual machines. v2: - Adjust the position of vgpu check in sanitize function (Joonas) - Add vgpu error check in context initialization. (Joonas, Daniel) Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 331f38e77d4519d2ca60cea232c7f2bfad5e4d28 Author: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Date: Fri Aug 28 15:41:14 2015 +0800 drm/i915: preallocate pdps for 32 bit vgpu This is based on Mika Kuoppala's patch below: http://article.gmane.org/gmane.comp.freedesktop.xorg.drivers.intel/61104/match=workaround+hw+preload The patch will preallocate the page directories for 32-bit PPGTT when i915 runs inside a virtual machine with Intel GVT-g. With this change, the root pointers in EXECLIST context will always keep the same. The change is needed for vGPU because Intel GVT-g will do page table shadowing, and needs to track all the page table changes from guest i915 driver. However, if guest PPGTT is modified through GPU commands like LRI, it is not possible to trap the operations in the right time, so it will be hard to make shadow PPGTT to work correctly. Shadow PPGTT could be much simpler with this change. Meanwhile hypervisor could simply prohibit any attempt of PPGTT modification through GPU command for security. The function gen8_preallocate_top_level_pdps() in the patch is from Mika, with only one change to set "used_pdpes" to avoid duplicated allocation later. Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 42a8ca4cb4a48ddbf40e8edb291425e76bcdc230 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 27 16:23:30 2015 +0300 drm/i915: add yesno utility function Add a common function to return "yes" or "no" string based on the argument, and drop the local versions of it. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 79e50a4f7228e5f27d2e9785fad5509d1392a0d3 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 26 10:58:20 2015 +0300 drm/i915: move intel_hrawclk() to intel_display.c Make it available outside of intel_dp.c. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f5d3c3eaab1d9e38854deb0251e659d04e3bc771 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Tue Aug 18 14:34:47 2015 -0700 drm/i915: Notify GuC rc6 state If rc6 is enabled, notify GuC so it can do proper forcewake before command submission. Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa557ab01576531c39fa3e7ceaa33314f65164fd Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Tue Aug 18 14:32:35 2015 -0700 drm/i915/guc: Support GuC version 4.3 The firmware layout changes that now it only has css header + uCode + RSA signature. Plus, other trivial changes to support GuC V4.3. Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1751fcf9f92ebfd230260230956535b19b4ec675 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:15:15 2015 +0200 drm/i915: Fix module initialisation, v2. The driver doesn't support UMS any more, so set DRIVER_MODESET by default, remove the legacy s/r callbacks, and rename the s/r functions to make it more clear they're only in use by switcheroo now. Also remove an obsolete comment about atomic. Normal updates are supported only async updates aren't yet. v2: Don't unconditionally set DRIVER_ATOMIC, we're not yet there. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 02e93c3537d5b496bbf4d6a97c0d02becc501b5c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 26 19:39:19 2015 +0300 drm/i915: Factor out intel_crtc_has_encoders() Make the code mode readable by pulling the "does this crtc have any encoders?" deduction into a separate function. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0f64614dde172e4f4b2734a55091a4d307863cbb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 26 19:39:18 2015 +0300 drm/i915: Fix clock readout when pipes are enabled w/o ports The BIOS sometimes likes to enable pipes w/o any ports, at least on older machines. Currently we fail to assign anything sensible to crtc->hwmode.crtc_clock which leads to complaints from the vblank code. Deal with active pipes w/o ports and assign something sensible to crtc_clock in i9xx_get_pipe_config(). The encoder .get_config() will override this if the port is enabled. Gets rid of rest of these on my gen4: [drm:drm_calc_timestamping_constants [drm]] *ERROR* crtc 24: Can't calculate constants, dotclock = 0! [drm:i915_get_vblank_timestamp] crtc 1 is disabled v2: Fill out crtc_clock already in i9xx_get_pipe_config() (Maarten) Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30142273a3e83936fd7b45aa5339311a9295ca51 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:46:01 2015 +0300 drm/i915: Add CHV PHY LDO power sanity checks At various points when changing the DPIO lane/phy power states, construct an expected value of the DISPLAY_PHY_STATUS register and compare it with the real thing. To construct the expected value we look at our shadow PHY_CONTROL register value (which should match what we've just written to the hardware), and we also need to look at the actual state of the cmn power wells as a disabled power well causes the relevant LDO status to be reported as 'on' in DISPLAY_PHY_STATUS. When initially powering up the PHY it performs various internal calibrations for which it fully powers up. That means that if we check for the expetected power state immediately upon releasing cmnreset we would get the occasional false positive. But we can of course poll until the expected value appears. It shouldn't be too long so this shouldn't make modesets substantially longer. One extra complication is introduced when we cross the streams, ie. drive port B with pipe B. In this case we trick CL2 (where the DPLL lives) into life by temporaily powering up the lanes in the second channel, and once the pipe is up and runnign we release the lane power override. At that point the power state of CL2 has somehow gotten entangled with the power state of the first channel. That means that constructing the expected DISPLAY_PHY_STATUS value is a bit tricky since based on the lane power states in the second channel, CL2 should also be powered down. But we can use the DPLL enable bit to determine when CL2 should be alive even if the lanes are powered down. However the power state of CL2 isn't actually tied in with the DPLL state, but to the state of the lanes in first channel, so we have to avoid checking the expected state between shutting down the DPLL and powering down the lanes in the first channel. So no calling assert_chv_phy_status() before the DISPLAY_PHY_CONTROL write in chv_phy_powergate_lanes(), but after the write is a safe time to check. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6669e39f95b5530ca8cb9137703ceb5e83e5d648 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:46:00 2015 +0300 drm/i915: Add some CHV DPIO lane power state asserts Add some checks that the state of the DPIO lanes is more or less what we expect based on the overrides. The hardware only provides two bits per channel indicating whether all or some of the lanes are powered down, so we can't do an exact check. Additionally, CL2 powering down before we can check it adds another twist. To work around this we simply check for the 0 value of the CL2 register (which is what we get when it's powered down) and adjust our expectations. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a8f327fb8464875e5b764008a1c50dbc0b384c17 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jul 9 20:14:11 2015 +0300 drm/i915: Clean up CHV lane soft reset programming Currently we release the lane soft reset before lane stagger settings have been programmed. I believe that means we don't actually do lane staggering. So move the soft reset deassert to happen after lane staggering has been programmed. The one confusing thing in this is that when we remove the power down override from the lanes, they power up with defaul register values, which do not have the soft reset overrides enabled. And according to some docs by default the data lane resets are tied to cmnreset. So that would mean that lanes would come out of reset without staggering as soon as the power down overrides are removed. But since we can't access either the lane stagger register nor the soft reset override registers until the lanes are powered on, we can't really do anything about it. So let's just set the soft reset overrides as soon as the lane is powered on and hope for the best. v2: Fix typos in commit message (Daniel) Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2bbe6bbb0dc94fd4ce287bdac9e1bd184e23057b Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Mon Jun 15 14:03:29 2015 +0300 drm/i915: Bump command parser version number. This was forgotten in 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. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit caa860d919865ade32e029631bd0d531eead9212 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 27 13:25:37 2015 +0300 drm/i915/dp: use the drm dp helper for determining sink tps3 support No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: s/intel_dp_tps/drm_dp_tps/.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7cc53cf01e61bd1a774d2ba492bbe3e93e58ca79 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 26 14:33:31 2015 +0300 drm/dp: add drm_dp_tps3_supported helper Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5e26b1b3abce05c177feb589260031519a1bc7b1 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:41 2015 -0700 ipvs: support scheduling inverse and icmp SCTP packets In the event of an icmp packet, take only the ports instead of trying to grab the full header. In the event of an inverse packet, use the source address and port. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 2b0f39ef3d8951036d778ddee503e2fdf8e4ff4f Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:40 2015 -0700 ipvs: support scheduling inverse and icmp UDP packets In the event of an icmp packet, take only the ports instead of trying to grab the full header. In the event of an inverse packet, use the source address and port. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 8f88ea68e6146ff2d0df263b1f3e6e655e69ba98 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:39 2015 -0700 ipvs: support scheduling inverse and icmp TCP packets In the event of an icmp packet, take only the ports instead of trying to grab the full header. In the event of an inverse packet, use the source address and port. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 89621f31d18b81a6c66a97fc2a80b3b6e5937a81 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:38 2015 -0700 ipvs: ensure that ICMP cannot be sent in reply to ICMP Check the header for icmp before sending a PACKET_TOO_BIG Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6044eeffafbe35154c5d3b04b73e8938a62e5d39 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:37 2015 -0700 ipvs: attempt to schedule icmp packets Invoke the try_to_schedule logic from the icmp path and update it to the appropriate ip_vs_conn_put function. The schedule functions have been updated to reject the packets immediately for now. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1471f35efa86407fc180ca6d55363c684d166ef6 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:36 2015 -0700 ipvs: sh: support scheduling icmp/inverse packets consistently "source_hash" the dest fields if it's an inverse packet. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3481894fcb0d7d3c226618e6b73a27796a7a3eca Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:35 2015 -0700 ipvs: Use outer header in ip_vs_bypass_xmit_v6 The ip_vs_iphdr may refer to an internal header, so use the outer one instead. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 94485fedcb176a9105961e47bd9dda23801c1906 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:34 2015 -0700 ipvs: add schedule_icmp sysctl This sysctl will be used to enable the scheduling of icmp packets. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ee78378f97648834d22ce97e91633ea40f044e3d Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:33 2015 -0700 ipvs: Make ip_vs_schedule aware of inverse iph'es This is necessary to schedule icmp later. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 802c41adcf3be63f351c302c9665865d705cada9 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:32 2015 -0700 ipvs: drop inverse argument to conn_{in,out}_get No longer necessary since the information is included in the ip_vs_iphdr itself. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3b5ca61768457de5139229392d0333165abcf10f Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:31 2015 -0700 ipvs: pull out ip_vs_try_to_schedule function This is necessary as we'll be trying to schedule icmp later and we'll want to share this code. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 0b72902120d89153996f411bb3ec8ca7b4baf1d8 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:30 2015 -0700 ipvs: Handle inverse and icmp headers in ip_vs_leave Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 4fd9beef37f3a14aa34cb025479a0e431dc9e58b Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:29 2015 -0700 ipvs: Add hdr_flags to iphdr These flags contain information like whether or not the addresses are inverted or from icmp. The first will allow us to drop an inverse param all over the place, and the second will later be useful in scheduling icmp. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b0e010c527de742cb18e8d50a06dfd1a995b5382 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:28 2015 -0700 ipvs: replace ip_vs_fill_ip4hdr with ip_vs_fill_iph_skb_off This removes some duplicated code and makes the ICMPv6 path look more like the ICMP path. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 47196620c82f8d8cef0dc61b87b76f18278537dd Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Thu Aug 20 17:37:33 2015 +0300 iio: mxc4005: add data ready trigger for mxc4005 Add iio trigger for the data ready interrupt that signals new measurements for the X, Y and Z axes. Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1ce0eda0f75747b3131a9047aee19291f59c18c9 Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Thu Aug 20 17:37:32 2015 +0300 iio: mxc4005: add triggered buffer mode for mxc4005 This patch adds support for buffered readings for the 3-axis accelerometer mxc4005. Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 077377fc4f74899c58e946e47352216412d0bb3a Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Thu Aug 20 17:37:31 2015 +0300 iio: accel: add support for mxc4005 accelerometer This patch adds support for Memsic MXC4005XC 3-axis accelerometer. The current implementation is a minimal one as it adds raw readings for the three axes and setting scale from userspace. Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b1d125cc6236399258025b0c5646cafa2b45e043 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 19 14:12:46 2015 +0200 iio: bmg160: Add SPI driver Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 13426454b6493a847cebe276fb1ec3a7f1d48d0e Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 19 14:12:45 2015 +0200 iio: bmg160: Separate i2c and core driver This patch separates the core driver using regmap and the i2c driver which creates the i2c regmap. Also in the Kconfig file BMG160 and BMG160_I2C are separate now. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit cb119d5350839297bbe8a382dbb2feff545742b5 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Tue Aug 18 07:40:38 2015 -0700 iio: proximity: add support for PulsedLight LIDAR Add support for the PulsedLight LIDAR rangefinder sensor which allows high speed (over 300Hz) distance measurements using Barker Coding within 40 meter range. Support only tested on the "blue label" rev 2, but may work using low sample frequencies on the original version. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 12280bd3d5d7e1ba1dd60ba0bd4412f4056fc028 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Tue Aug 18 07:40:37 2015 -0700 devicetree: add PulsedLight vendor + device docs Add pulsedlight vendor to vendor-prefixes.txt, and LIDAR device documentation to trivial-devices.txt Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7d87b3c5c8602df4ce6d615b33ae6dc15438fa29 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 12:16:33 2015 +0300 iio: tsl4531: fix error handling in tsl4531_check_id() The tsl4531_check_id() function returned 1 on "found" and 0 on "not found" and negative error codes on failure. This was non-standard and bug prone. The caller treated all non-zero values including error codes as "found". This patch fixes it by changing the tsl4531_check_id() to return zero on success or a negative error code, and updates the caller. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit aff268cd532e99ced3c8f48d01118912eb002bbf Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Mon Aug 17 10:30:16 2015 -0700 iio: light: add APDS9960 ALS + promixity driver APDS9960 is a combination of ALS, proximity, and gesture sensors. This patch adds support for these functions along with gain control, integration time, and event thresholds. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 078d02cfdafdd06562286b2f222e6532f369eb27 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Mon Aug 17 10:30:15 2015 -0700 iio: light: DT binding docs for APDS9960 driver Document compatible string, and required DT properties for APDS9960 chipset driver. Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0010d6b444064029f924b4973f74b87579daddc6 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Mon Aug 17 21:21:40 2015 +0530 iio: adc: vf610: Add IIO buffer support for Vybrid ADC This patch adds support for IIO buffer to the Vybrid ADC driver. IIO triggered buffer infrastructure along with iio sysfs trigger is used to leverage continuous sampling support provided by the ADC block. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f6707ef7a3c9196faee1841f4d12e990239f5dae Author: Peng Fan <van.freenix@xxxxxxxxx> Date: Sun Aug 30 16:12:57 2015 +0800 staging: iio: adc: lpc32xx: use correct reutrn value To lpc32xx_adc driver, when platform_get_resource or platform_get_irq failed, we should use -ENXIO as a return value, but not -EBUSY. Signed-off-by: Peng Fan <van.freenix@xxxxxxxxx> Cc: Jonathan Cameron <jic23@xxxxxxxxxx> Cc: Hartmut Knaack <knaack.h@xxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 887e83e32d99e43798e9ac9a274ad4debebf03f7 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 17:18:50 2015 +0800 ASoC: mediatek: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a8dbc64a2619b82ec0106f2c54174a94d74da620 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sun Aug 30 16:46:57 2015 +0800 iio: light: fix platform_no_drv_owner.cocci warnings drivers/iio/light/opt3001.c:796: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: Andreas Dannenberg <dannenberg@xxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 01302d4d17ed524e7d855f5fbbac5822f14f9c5e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Aug 28 18:05:26 2015 +0200 drm/i915: Update DRIVER_DATE to 20150828 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 79f682806240741f62faaa33d933ebe768caa07f Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Mon Aug 24 16:23:58 2015 +0300 iwlwifi: mvm: remove SCD_QUEUE_CONFIG TLV flag We don't support firmwares that don't use the new API. This also allows to use all the SCD queues, so increase the reported number of queues to 31. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 3c1f84a174e425f2e7a687a6cfd791f609cbc9eb Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 13:48:55 2015 +0300 iwlwifi: mvm: don't load -12.ucode anymore -13.ucode has been published long ago. Deprecate old versions of the firmware. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit cfe417bc47ba8f470941a1b8ad60911e163f1b34 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 26 12:22:12 2015 +0200 iwlwifi: mvm: don't NUL-terminate low-latency debugfs file There's obviously no reason to write a NUL-terminating byte into the debugfs file. Apparently nobody tried to use this from a tool that doesn't strip NUL bytes though, so we never noticed. Fix it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit cf8c3cff3fcce966c6d31001c09c92778f961eea Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Mon Aug 24 14:53:25 2015 +0300 iwlwifi: mvm: make sure d0i3 exit work runs before suspending If we are in d0i3 when entering suspend, we leave d0i3 so that mac80211 can call us to remove connections or whatever before going to suspend. We do this by calling pm_runtime_resume() early in the slave transport flow and reactivating it later, when the wiphy suspend flow runs. The problem is that we queue a work in order to leave d0i3. If this work hasn't run yet when the wiphy suspend flow is called, we have a race and entering d0i3 fails (because we're still holding the IWL_MVM_REF_EXIT_WORK reference). To solve this, simply flush the d0i3_exit_work at the beginning of the iwl_mvm_suspend() function. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 9493908095a3d0b4fa24ff529975376b3a2b8394 Author: Gregory Greenman <gregory.greenman@xxxxxxxxx> Date: Mon Aug 24 14:38:35 2015 +0300 iwlwifi: mvm: don't ask for beacons when AP vif and no assoc sta When in AP mode, we need beacons from other APs for HT protection. However, when there's no any associated station we will not do any Tx and thus don't really need beacons. On the other hand, these beacons will cause a lot of unnecessary wakeups which increase our power consumption. Handle this by asking FW to pass beacons only when there's at least one associated station. Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit a73a2cea922de5d2dd03ad456e280ef92c8bb9f6 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Aug 23 13:29:36 2015 +0300 iwlwifi: Deinline iwl_{read,write}(8,32} With CONFIG_IWLWIFI_DEVICE_TRACING=y, these functions are rather large, too big for inlining. With this .config: http://busybox.net/~vda/kernel_config, after uninlining these functions have sizes and callsite counts as follows: iwl_read32 475 bytes, 51 callsites iwl_write32 477 bytes, 90 callsites iwl_write8 493 bytes, 3 callsites Reduction in size is about 74,000 bytes: text data bss dec hex filename 90758147 17226024 36659200 144643371 89f152b vmlinux0 90687995 17221928 36659200 144569123 89df323 vmlinux.after Reported-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit e50460192e6e326fc748037c7ba69565fc18f992 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Aug 17 10:45:50 2015 +0300 iwlwifi: mvm: add debugfs hook to send ECHO_CMD to the firmware ECHO_CMD is a simple command that can be sent to the firmware just to check that it is alive. This command is useful for debug purpose, provide a debugfs hook to send it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 62e004fe941d56cb70ea9148bb79cf6698751248 Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Thu Aug 20 14:12:58 2015 +0300 iwlwifi: mvm: fix statistics variables type When receiving statistics notification there is a field of average energy. This is defines as signed 8 bit, while FW refers to it as unsigned. when the energy is higher than 127 this causes in iwl_mvm_stat_iterator a wrong computation of the signal int sig = -stats->general.beacon_filter_average_energy; resulting in incorrect CQM event (change from low to high). While at it - update the rest of the fields to the correct type. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit dbb04b0d29f884dbb6d0a52dd7877445d2e776f1 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Aug 18 12:07:48 2015 +0300 iwlwifi: mvm: remove netdetect debugfs entry This debugfs entry was implemented just as a proof-of-concept before the full support for netdetect via cfg80211/mac80211 was implemented. Now that we have a proper way to enable netdetect from userspace, this entry is redundant and should be removed to avoid unnecessary maintenance work. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 3f4642fc06a51e203b01cf29c418d0833761c4d3 Author: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 22:38:08 2015 +0300 dt: Add vendor prefix 'holt' Add Holt Integrated Circuits, Inc. to the list of device tree vendor prefixes Signed-off-by: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 735ad074ffa72ccc4fdba8e54eb024df95545e7d Author: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 22:37:39 2015 +0300 iio: Support triggered events Support triggered events. This is useful for chips that don't have their own interrupt sources. It allows to use generic/standalone iio triggers for those drivers. Signed-off-by: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 764589b688a1b087b5ff6c1e99f7cd57a5241395 Author: Crt Mori <cmo@xxxxxxxxxxx> Date: Mon Aug 17 19:34:33 2015 +0200 iio: mlx90614: Implement filter configuration Implemented Low pass 3db frequency filter which configures FIR and IIR values within the configuration register of EEPROM. For more standardized interface we have fixed the FIR value to 1024, while changes in IIR value are directly connected to filter responses. The new datasheet version will provide a simplified table (also in reStructured text format below) with this change, to provide quick overview of possible settings. Below sensor timings (bandwidth) are calculated for 3db frequency low pass filter. +--------------------+-----------------+ | Filter setting (%) | Band width (Hz) | | (rounded to 1.0) | | +====================+=================+ | 13 | 0.15 | +--------------------+-----------------+ | 17 | 0.20 | +--------------------+-----------------+ | 25 | 0.31 | +--------------------+-----------------+ | 50 | 0.77 | +--------------------+-----------------+ | 57 | 0.86 | +--------------------+-----------------+ | 67 | 1.10 | +--------------------+-----------------+ | 80 | 1.53 | +--------------------+-----------------+ | 100 | 7.23 | +--------------------+-----------------+ The diff is made towards togreg branch. Added myself to MAINTAINERS and authors as per discussion with Jonathan. Signed-off-by: Crt Mori <cmo@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c5b852f33e7844f4664794a3b3c738d07b09ce0a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 26 09:29:56 2015 +0200 Partially revert "drm/i915: Use full atomic modeset." This partially reverts commit 74c090b1bdc57b1c9f1361908cca5a3d8a80fb08. The DRIVER_ATOMIC cap cannot yet be exported because i915 lacks async support. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6c908bf43df417b10917c3a463d3bd413eb476fd Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Aug 25 19:03:41 2015 -0300 drm/i915: gen 9 can check for unclaimed registers too Dear git bisect user, Even though this is the patch that introduced the WARN() you're bisecting, please notice that it's very likely that the problem you're facing was already present before this commit. In other words: this commit adds code to detect errors and give WARN()s about them, but the errors were already there. In order to continue your debug, please use the i915.mmio_debug option, check the backtraces and try to discover which read or write operation is causing the error message. Then check if this is happening because the register does not exist or because its power well is down when the operation is being done. On my SKL machine, if I use i915.mmio_debug=999, this patch triggers 42 WARNs just by booting. I didn't investigate them yet. Normal users are only going to get a single WARN due to the default i915.mmio_debug setting. Thank you for your comprehension, Paulo Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3e28878635cc3bb3159445dc9cfbdc3d34eb8daf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:58 2015 +0300 drm/i915: Force CL2 off in CHV x1 PHY We can choose to leave the display PHY CL2 powerdown up to some hardware signals, or we can force it. The BXT code forces the nonexistent CL2 in the x1 PHY to power down. Follow suit on CHV. Maybe it can still save some extra power by disabling some extra logic in CL1, or something. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ee27921824e6ad0ca2d8e5abfa12cf4d853ded6c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:57 2015 +0300 drm/i915: Enable DPIO SUS clock gating on CHV CHV has supports some form of automagic clock gating for the DPIO SUS clock. We can simply enable the magic bits and the hardware should take care of the rest. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0047eedc48869f8c7797dd10f0cf976ac34c1d33 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Jul 10 10:56:24 2015 +0300 drm/i915: Force common lane on for the PPS kick on CHV With DPIO powergating active the DPLL can't be accessed unless something else is keeping the common lane in the channel on. That means the PPS kick procedure could fail to enable the PLL. Power up some data lanes to force the common lane to power up so that the PLL can be enabled temporarily. v2: Avoid gcc uninitilized variable warning Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b0b3384612bd4ce608c5d95626149311bb43f121 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:55 2015 +0300 drm/i915: Trick CL2 into life on CHV when using pipe B with port B Normmally the common lane in a PHY channel gets powered up when some of the data lanes get powered up. But when we're driving port B with pipe B we don't want to enabled any of the data lanes, and just want the DPLL in the common lane to be active. To make that happens we have to temporarily enable some data lanes after which we can access the DPLL registers in the common lane. Once the pipe is up and running we can drop the power override on the data lanes allowing them to shut down. From this point forward the common lane will in fact stay powered on until the data lanes in the other channel get powered down. Ville's extended explanation from the review thread: On Wed, Aug 19, 2015 at 07:47:41AM +0530, Deepak wrote: > One Q, why only for port B? Port C is also in same common lane right? Port B is in the first PHY channel which also houses CL1. CL1 always powers up whenever any lanes in either PHY channel are powered up. CL2 only powers up if lanes in the second channel (ie. the one with port C) powers up. So in this scenario (pipe B->port B) we want the DPLL from CL2, but ideally we only want to power up the lanes for port B. Powering up port B lanes will only power up CL1, but as we need CL2 instead we need to, temporarily, power up some lanes in port C as well. Crossing the streams the other way (pipe A->port C) is not a problem since CL1 powers up whenever anything else powers up. So powering up some port C lanes is enough on its own to make the CL1 DPLL operational, even though CL1 and the lanes live in separate channels. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> [danvet: Amend commit message with extended explanation.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e0fce78f041014846d77940d3a350a4cffe4ab2b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:54 2015 +0300 drm/i915: Implement PHY lane power gating for CHV Powergate the PHY lanes when they're not needed. For HDMI all four lanes are needed always, but for DP we can enable only the needed lanes. To power down the unused lanes we use some power down override bits in the DISPLAY_PHY_CONTROL register. Without the overrides it appears that the hardware always powers on all the lanes. When the port is disabled the power down override is not needed and the lanes will shut off on their own. That also means the override is critical to actually be able to access the DPIO registers before the port is actually enabled. Additionally the common lanes will power down when not needed. CL1 remains on as long as anything else is on, CL2 will shut down when all the lanes in the same channel will shut down. There is one exception for CL2 that will be dealt in a separate patch for clarity. With potentially some lanes powered down, the DP code now has to check the number of active lanes before accessing PCS/TX registers. All registers in powered down blocks will reads as 0xffffffff, and soe we would drown in warnings from vlv_dpio_read() if we allowed the code to access all those registers. Another important detail in the DP code is the "TX latency optimal" setting. Normally the second TX lane acts as some kind of reset master, with the other lanes as slaves. But when only a single lane is enabled, that single lane obviously has to be the master. A bit of extra care is needed to reconstruct the initial state of the DISPLAY_PHY_CONTROL register since it can't be read safely. So instead read the actual lane status from the DPLL/PHY_STATUS registers and use that to determine which lanes ought to be powergated initially. We also need to switch the PHY power modes to "deep PSR" to avoid a hard system hang when powering down the single channel PHY. Also sprinkle a few debug prints around so that we can monitor the DISPLAY_PHY_STATUS changes without having to read it and risk corrupting it. v2: Add locking to chv_powergate_phy_lanes() v3: Actually enable dynamic powerdown in the PHY and deal with the fallout Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5a8fbb7d192b96de3d258164e5fc95b769d698c3 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jun 29 15:25:53 2015 +0300 drm/i915: Move DPLL ref/cri/VGA mode frobbing to the disp2d well enable Bunch of stuff needs the DPLL ref/cri clocks on both VLV and CHV, and having VGA mode enabled causes some problems for CHV. So let's just pull the code to configure those bits into the disp2d well enable hook. With the DPLL disable code also fixed to leave those bits alone we should now have a consistent DPLL state all the time even if the DPLL is disabled. This also neatly removes some duplicated code between the VLV and CHV codepaths. 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 4d9194dec37a9bf22354f6a5872e285e1bb8c1da Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 21 20:45:29 2015 +0300 drm/i915: Make some string arrays const Most of our char* arrays are markes as const already, but a few slipped through the cracks. Fix it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53abb6794ac022e6c0b5f239fc26d99ea054ee86 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 21 20:45:28 2015 +0300 drm/i915: Use ARRAY_SIZE() instead of hand rolling it A couple of hand rolled ARRAY_SIZE()s caught my eye. Get rid of them. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0a0b457fbf765d0b98fa48495b9bb7901eb8b091 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 21 20:45:27 2015 +0300 drm/i915: Fix some gcc warnings Simple one: drivers/gpu/drm/i915/i915_debugfs.c:2449:57: warning: Using plain integer as NULL pointer And something a bit more peculiar: drivers/gpu/drm/i915/i915_debugfs.c:4953:18: warning: Variable length array is used. drivers/gpu/drm/i915/i915_debugfs.c:4953:32: warning: Variable length array is used. We pass a 'const int' as the array size which results in the warning, dropping the const gets rid of the warning. Weird, but I think getting rid of the warnings is better than holding on to the const. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e464bfdeda3da3b0ef29ca84960715993ccbb1fc Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:42 2015 +0300 drm/i915/bxt: Use correct live status register for BXT platform BXT platform uses live status bits from 0x44440 register to obtain DP status on hotplug. The existing g4x_digital_port_connected() uses a different register and hence misses DP hotplug events on BXT platform. This patch fixes it by using the appropriate register(0x44440) and live status bits(3:5). Based on a patch by Durgadoss R <durgadoss.r@xxxxxxxxx>, from whom the commit message is shamelessly copy pasted. Reported-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9642c81c225a43982536fcb7a3fa212dcfaa67ea Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:41 2015 +0300 drm/i915: split g4x_digital_port_connected to g4x and vlv variants Choose the right function at the intel_digital_port_connected level. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0df53b77287198502ff2eb51120c041ba317f059 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:40 2015 +0300 drm/i915: split ibx_digital_port_connected to ibx and cpt variants Choose the right function at the intel_digital_port_connected level. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7e66bcf2656ad2e53de939c5a5f211288a332ede Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:39 2015 +0300 drm/i915: add common intel_digital_port_connected function Add a common intel_digital_port_connected() that splits out to functions for different platforms. No functional changes. v2: make the function return a boolean Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 196cabd4a39496038ee81c2755496955e7355bd5 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:38 2015 +0300 drm/i915: add MISSING_CASE annotation to ibx_digital_port_connected With the case added for eDP on port A (always connected from this function's point of view), we should not be hitting any of the default cases in ibx_digital_port_connected, so add MISSING_CASE annotation. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d245987754f8cd0bf21c77ecda2023ca13ff8c1 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:37 2015 +0300 drm/i915: make g4x_digital_port_connected return boolean status We should not be hitting any of the default cases in g4x_digital_port_connected, so add MISSING_CASE annotation and return boolean status. The current behaviour is just cargo culting from the days of yonder when the display port support was added to i915. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b93433ccf64846820b9448f5ff5dd4348b58a8ed Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:36 2015 +0300 drm/i915: move ibx_digital_port_connected to intel_dp.c The function can be made static there. No functional changes. Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26a91555bd27b0672ab4efaf4de04fe7321540dc Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Tue Aug 18 14:37:02 2015 +0300 drm/i915: DVO pixel clock check It is possible the we request to have a mode that has higher pixel clock than our HW can support. This patch checks if requested pixel clock is lower than the one supported by the HW. The requested mode is discarded if we cannot support the requested pixel clock. This patch applies to DVO. V2: - removed computation for max pixel clock V3: - cleanup by removing unnecessary lines V4: - clock check against max dotclock moved inside 'if (fixed_mode)' V5: - dot clock check against fixed_mode clock when available 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 759a1e98213f17d51926495e6754fdaced5f7d81 Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Tue Aug 18 14:37:01 2015 +0300 drm/i915: DSI pixel clock check It is possible the we request to have a mode that has higher pixel clock than our HW can support. This patch checks if requested pixel clock is lower than the one supported by the HW. The requested mode is discarded if we cannot support the requested pixel clock. This patch applies to DSI. V2: - removed computation for max pixel clock V3: - cleanup by removing unnecessary lines V4: - max_pixclk variable renamed as max_dotclk - moved dot clock checking inside 'if (fixed_mode)' V5: - dot clock checked against fixed_mode clock 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 7f7b58cc61883bd16dfd4cae67d7404f7905d0a7 Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Tue Aug 18 14:37:00 2015 +0300 drm/i915: LVDS pixel clock check It is possible the we request to have a mode that has higher pixel clock than our HW can support. This patch checks if requested pixel clock is lower than the one supported by the HW. The requested mode is discarded if we cannot support the requested pixel clock. This patch applies to LVDS. V2: - removed computation for max pixel clock V3: - cleanup by removing unnecessary lines V4: - moved supported dotclock check from mode_valid() to intel_lvds_init() V5: - dotclock check moved back to mode_valid() function - dotclock check for fixed mode 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 adafdc6fcb66ea6541a88884ec522273f857c145 Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Tue Aug 18 14:36:59 2015 +0300 drm/i915: Store max dotclock Store max dotclock into dev_priv structure so we are able to filter out the modes that are not supported by our platforms. V2: - limit the max dot clock frequency to max CD clock frequency for the gen9 and above - limit the max dot clock frequency to 90% of the max CD clock frequency for the older gens - for Cherryview the max dot clock frequency is limited to 95% of the max CD clock frequency - for gen2 and gen3 the max dot clock limit is set to 90% of the 2X max CD clock frequency V3: - max_dotclk variable renamed as max_dotclk_freq in i915_drv.h - in intel_compute_max_dotclk() the rounding method changed from round up to round down when computing max dotclock V4: - Haswell and Broadwell supports now dot clocks up to max CD clock frequency 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 65d64cc5bb7aee1f5a8d6717f4d421623c58ea30 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:53 2015 +0300 drm/i915: Add vlv_dport_to_phy() Add vlv_dport_to_phy() and fix up the return values of vlv_dport_to_channel() and vlv_pipe_to_channel() to use the appropriate enums. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c0b4c660311c73c8ee4ed0e58b65ae9b4b75276d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:52 2015 +0300 drm/i915: Move VLV/CHV prepare_pll later With DPIO powergating active on CHV, we can't even access the DPIO PLL registers until the lane power state overrides have been enabled. That will happen from the encoder .pre_pll_enable() hook, so move chv_prepare_pll() to happen after that point, which puts it just before chv_enable_pll() actually. Do the same for VLV to avoid accumulating weird differences between the platforms. Both platforms seem happy with the new arrangement. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 770effb19fbdcb44c6bdacf4a78571d28393f48f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:51 2015 +0300 drm/i915: Add locking around chv_phy_control_init() dev_priv->chv_phy_control is protected by the power_domains->lock elsewhere, so also grab it when initializing chv_phy_control. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e27f299ec3ddd03373bb07db23dd19747eecef72 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:50 2015 +0300 drm/i915: Move DPIO port init earlier To implement DPIO lane power gating on CHV we're going to need to access DPIO registers from the cmn power well enable hook. That gets called rather early, so we need to move the DPIO port IOSF sideband port assignment earlier as well. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d6db995fe36c7460a30c8c6250bb47937d38c482 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:49 2015 +0300 drm/i915: Add encoder->post_pll_disable() hooks and move CHV clock buffer disables there Move the CHV clock buffer disable from chv_disable_pll() to the new encoder .post_pll_disable() hook. This is more symmetric since the clock buffer enable happens from the .pre_pll_enable() hook. We'll have more use for the new hook soon. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 67fa24b4041436f1a21f7640d1d7ab56d023d7e9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:48 2015 +0300 drm/i915: Always program unique transition scale for CHV The docs give you the impression that the unique transition scale value shouldn't matter when unique transition scale is enabled. But as Imre found on BXT (and I verfied also on BSW) the value does matter. So from now on just program the same value 0x9a always. Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 25a25dfce4e678bb18c4d63937d240839ecd19cd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:47 2015 +0300 drm/i915: Always program m2 fractional value on CHV When fractional m2 divider isn't used on CHV the fractional part is ignore by the hardware. Despite that, program the fractional value (0 in this case) to the hardware register just to keep things a bit more consistent. Might at least make register dumps a bit less confusing when there isn't some stale fractional part hanging around. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4eee4920f05e39e22571deb57f1c314ce7a46e7f Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Mon Aug 17 17:30:52 2015 +0100 drm/i915: fix driver's versions of WARN_ON & WARN_ON_ONCE The current versions of these two macros don't work correctly if the argument expression happens to contain a modulo operator (%) -- when stringified, it gets interpreted as a printf formatting character! With a specifically crafted parameter, this could probably cause a kernel OOPS; consider WARN_ON(p%s) or WARN_ON(f %*pEp). Instead, we should use an explicit "%s" format, with the stringified expression as the coresponding literal-string argument. Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 901c2daf05c8ae6c3f85370fc96b9b6892f5da2d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 17 18:05:12 2015 +0300 drm/i915: Put back lane_count into intel_dp and add link_rate too With MST there won't be a crtc assigned to the main link encoder, so trying to dig up the pipe_config from there is a recipe for an oops. Instead store the parameters (lane_count and link_rate) in the encoder, and use those values during link training etc. Since those parameters are now assigned only when the link is actually enabled, .compute_config() won't clobber them as it did before. Hardware state readout is still bonkers though as we don't transfer the link parameters from pipe_config intel_dp. We should do that during encoder sanitation. But since we don't even do a proper job of reading out the main link encoder state for MST there's littel point in worrying about this now. Fixes a regression with MST caused by: commit 90a6b7b052b1aa17fbb98b049e9c8b7f729c35a7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 16:39:15 2015 +0300 drm/i915: Move intel_dp->lane_count into pipe_config v2: Different apporoach that should keep intel_dp_check_mst_status() somewhat less oopsy Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reported-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e5756c10d841ddb448293c849392f3d6b809561f Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Fri Aug 14 18:43:30 2015 +0300 drm/i915/bxt: don't allow cached GEM mappings on A stepping Due to a coherency issue on BXT A steppings we can't guarantee a coherent view of cached (CPU snooped) GPU mappings, so fail such requests. User space is supposed to fall back to uncached mappings in this case. v2: - limit the WA to A steppings, on later stepping this HW issue is fixed v3: - return error instead of trying to work around the issue in kernel, since that could confuse user space (Chris) Testcast: igt/gem_store_dword_batches_loop/cached-mapping Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 319404df2f682ddabf98cbf6421bb43b951ca978 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Fri Aug 14 18:35:27 2015 +0300 drm/i915/bxt: work around HW coherency issue when accessing GPU seqno By running igt/store_dword_loop_render on BXT we can hit a coherency problem where the seqno written at GPU command completion time is not seen by the CPU. This results in __i915_wait_request seeing the stale seqno and not completing the request (not considering the lost interrupt/GPU reset mechanism). I also verified that this isn't a case of a lost interrupt, or that the command didn't complete somehow: when the coherency issue occured I read the seqno via an uncached GTT mapping too. While the cached version of the seqno still showed the stale value the one read via the uncached mapping was the correct one. Work around this issue by clflushing the corresponding CPU cacheline following any store of the seqno and preceding any reading of it. When reading it do this only when the caller expects a coherent view. v2: - fix using the proper logical && instead of a bitwise & (Jani, Mika) - limit the workaround to A stepping, on later steppings this HW issue is fixed v3: - use a separate get_seqno/set_seqno vfunc (Chris) Testcase: igt/store_dword_loop_render Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8be6ca8537e1230da8e92c753df4125151a3f6b1 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Mon Aug 24 16:38:23 2015 -0700 drm/i915: Also call frontbuffer flip when disabling planes. We also need to call the frontbuffer flip to trigger proper invalidations when disabling planes. Otherwise we will miss screen updates when disabling sprites or cursor. On core platforms where HW tracking also works, this issue is totally masked because HW tracking triggers PSR exit however on VLV/CHV that has only SW tracking we miss screen updates when disabling planes. It was caught with kms_psr_sink_crc sprite_plane_onoff and cursor_plane_onoff subtests running on VLV/CHV. This is probably a regression since I can also get this with the manual test case, but with so many changes on atomic modeset I couldn't track exactly when this was introduced. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f1afe24f0e736b9d7f2275e2b1504af3fe612f2a Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Aug 4 16:22:20 2015 +0100 drm/i915: Change SRM, LRM instructions to use correct length MI_STORE_REGISTER_MEM, MI_LOAD_REGISTER_MEM instructions are not really variable length instructions unlike MI_LOAD_REGISTER_IMM where it expects (reg, addr) pairs so use fixed length for these instructions. v2: rebase Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> [danvet: Appease checkpatch as Mika spotted in i915_reg.h - it seems terminally unhappy about i915_cmd_parser.c so that would be a separate patch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74b22c465cd2b6ff4b8cec3997512ec807e6e495 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 26 09:42:34 2015 +0930 params: don't ignore the rest of cmdline if parse_one() fails parse_args() just aborts after it hits an error, so other args at the same initcall level are simply ignored. This can lead to other hard-to-understand problems, for example my testing machine panics during the boot if I pass "locktorture.verbose=true". Change parse_args() to save the err code for return and continue. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit cff4f55bf4fb1e32483885bf0e571847668d9d67 Author: Graham Whaley <graham.whaley@xxxxxxxxxxxxxxx> Date: Mon Aug 24 14:41:21 2015 +0100 doc: drm: Fix mis-spelling of i915_guc_submission includes In commit d1675198e: drm/i915: Integrate GuC-based command submission the drm.tmpl include lines reference the intel_guc_submission.c but the patch adds the file i915_guc_submission.c. drm.tmpl fails to build with: docproc: .//drivers/gpu/drm/i915/intel_guc_submission.c: No such file or directory Change the file reference to the actual file. Signed-off-by: Graham Whaley <graham.whaley@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ecf7e207a55d8760734a9de5fba1a974628b92e5 Author: Nicola Corna <nicola@xxxxxxxxxx> Date: Sun Aug 23 23:06:19 2015 +0200 iio: humidity: si7020: replaced bitmask on humidity values with range check The maximum possible value for the relative humidity is 55575 (100%RH). This value, if shifted right by 2 bits, uses 14 bits and masking it with a 12 bit mask removes 2 meaningful bits. The masking has been replaced with a range check that sets the minimum value at 786 (0%RH) and the maximum at 13893 (99.998%RH). Signed-off-by: Nicola Corna <nicola@xxxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 275d7d44d802ef271a42dc87ac091a495ba72fc5 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Aug 20 10:34:59 2015 +0930 module: Fix locking in symbol_put_addr() Poma (on the way to another bug) reported an assertion triggering: [<ffffffff81150529>] module_assert_mutex_or_preempt+0x49/0x90 [<ffffffff81150822>] __module_address+0x32/0x150 [<ffffffff81150956>] __module_text_address+0x16/0x70 [<ffffffff81150f19>] symbol_put_addr+0x29/0x40 [<ffffffffa04b77ad>] dvb_frontend_detach+0x7d/0x90 [dvb_core] Laura Abbott <labbott@xxxxxxxxxx> produced a patch which lead us to inspect symbol_put_addr(). This function has a comment claiming it doesn't need to disable preemption around the module lookup because it holds a reference to the module it wants to find, which therefore cannot go away. This is wrong (and a false optimization too, preempt_disable() is really rather cheap, and I doubt any of this is on uber critical paths, otherwise it would've retained a pointer to the actual module anyway and avoided the second lookup). While its true that the module cannot go away while we hold a reference on it, the data structure we do the lookup in very much _CAN_ change while we do the lookup. Therefore fix the comment and add the required preempt_disable(). Reported-by: poma <pomidorabelisima@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Fixes: a6e6abd575fc ("module: remove module_text_address()") Cc: stable@xxxxxxxxxx commit ab6ff6c6ca1b4739b2af07501bc333b85d7381d8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:26 2015 +0200 iio: adc: mcp320x: Set struct spi_driver .of_match_table The driver has an OF id table but the .of_match_table is not set so the SPI core can't do an OF style match and the table was unused. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ed199a11bdfd2957e46984b77a1e1f0927dc9fa0 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:14 2015 +0200 iio: Export SPI module alias information in missing drivers The SPI core always reports the MODALIAS uevent as "spi:<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: SPI id table or OF match table). So drivers needs to export the SPI 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> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1c00dcd31d8e71670180ff938f05eb9aef49c84e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:23 2015 +0200 iio: dac: ad7303: Add OF match table The Documentation/devicetree/bindings/iio/dac/ad7303.txt DT binding doc lists "adi,ad7303" 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> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9c68be3ecc74e1ccc085eab6f0cdbaff3093fba2 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:29 2015 +0200 iio: frequency: adf4350: Add OF match table The Documentation/devicetree/bindings/iio/frequency/adf4350.txt DT binding doc lists "adi,adf4350" or "adi,adf4351" as 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> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9e611c9e5a20c28f426271a0c2c962795b699069 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:28 2015 +0200 iio: adc128s052: Add OF match table The Documentation/devicetree/bindings/iio/adc/ti-adc128s052.txt DT binding doc lists "ti,adc128s052" or "ti,adc122s021" as 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: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8b7c826d03721ed1d96bd87f138e59dcf80f54e7 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:27 2015 +0200 iio: as3935: Add OF match table The Documentation/devicetree/bindings/iio/proximity/as3935.txt DT binding doc lists "ams,as3935" 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: Jonathan Cameron <jic23@xxxxxxxxxx> commit d1b895fedae30e2e948dbae4d209509c44564074 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:24 2015 +0200 iio: adc: max1027: Set struct spi_driver .of_match_table The driver has an OF id table but the .of_match_table is not set so the SPI core can't do an OF style match and the table was unused. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 45ef12b6ad6ade7bb8c89db3d3101e99d9552f3a Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:15 2015 +0200 staging: iio: hmc5843: Export missing SPI module alias information The SPI core always reports the MODALIAS uevent as "spi:<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: SPI id table or OF match table). So drivers needs to export the SPI 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: Jonathan Cameron <jic23@xxxxxxxxxx> commit a6d748e3ad927f6f2b93c9747d78da72c83141b6 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: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8463f6fb78e0798817785e03860f8b1fc4e1b2e8 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: Jonathan Cameron <jic23@xxxxxxxxxx> commit 70581e0ef8634074cc305f9e63e8abec08788753 Author: Xander Huff <xander.huff@xxxxxx> Date: Tue Aug 11 18:00:49 2015 -0500 iio: adc: xilinx-xadc: Push interrupts into hardirq context The driver currently registers a pair of irq handlers using request_threaded_irq(), however the synchronization mechanism between the hardirq and the threadedirq handler is a regular spinlock. Unfortunately, this breaks PREEMPT_RT builds, where a spinlock can sleep, and is thus not able to be acquired from a hardirq handler. This patch gets rid of the threaded handler and pushes all interrupt handling into the hardirq context, and uses request_irq(). To validate that this change has no impact on RT performance, here are cyclictest values with no processes running: $ sudo cyclictest -S -m -p 98 policy: fifo: loadavg: 0.00 0.01 0.05 1/174 2539 T: 0 ( 1405) P:98 I:1000 C:167010520 Min: 9 Act: 12 Avg: 12 Max: 75 T: 1 ( 1862) P:98 I:1500 C:111340339 Min: 9 Act: 12 Avg: 12 Max: 73 Then, all xadc raw handles were accessed in a continuous loop via /sys/bus/iio/devices/iio:device0: $ sudo cyclictest -S -m -p 98 policy: fifo: loadavg: 7.84 7.70 7.63 3/182 4260 T: 0 ( 2559) P:98 I:1000 C:241557018 Min: 11 Act: 18 Avg: 21 Max: 74 T: 1 ( 2560) P:98 I:1500 C:161038006 Min: 10 Act: 21 Avg: 20 Max: 73 Signed-off-by: Xander Huff <xander.huff@xxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 70b2737e0a948552843ce1b8500e033080677086 Author: Yong Li <sdliyong@xxxxxxxxx> Date: Wed Aug 12 21:25:46 2015 +0800 staging: iio: hmc5843: Set iio name dynamically Load the driver using the below command: echo hmc5983 0x1e > /sys/bus/i2c/devices/i2c-?/new_device In sysfs, the iio name is hmc5843, however the i2c name is hmc5983, they are inconsistent. With this patch, the iio name will be the same as the i2c device name Signed-off-by: Yong Li <sdliyong@xxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3f9059b71791cf0e57a4879594f0066237976943 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 11 11:56:40 2015 +0200 iio: percolate error if event fd fails This makes the error from iio_event_getfd() percolate up to userspace properly so we can know for sure there is no events on this device (-ENODEV returned). Before this patch we would bail out looking for the unsupported events on the erroneous (negative) file descriptor. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 53dabafe1b17411de82b6c4560145cf396cbb564 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Aug 10 10:55:08 2015 +0200 iio: generic_buffer: be helpful about enabling channels Currently if generic_buffer is invoked without first enabling any channels in scan_elements/*_en, it will fail unable to enable the buffer because bytes_per_datum inside the kernel will be zero if no channels are available. It is implied that the user of the program should enable channels manually or with a script before executing generic_buffer. Be more helpful by stopping execution if no enabled channels can be found, and print a helptext that will tell you what is wrong and what needs to be done. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 672f93b6047cc724f002cf50a84f4e8155b86f12 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 11 14:34:38 2015 +0200 iio: event_monitor: report unsupported events This makes the event monitor bail out with a helpful error message if a device does not support events, as a related fix to iio core now makes it return -ENODEV properly. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a0175b9c76f59c1f5706f986d690e27ba06363dd Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Aug 12 10:22:41 2015 +0200 iio: st_sensors: add debugfs register read hook This adds a debugfs hook to read/write registers in the ST sensors using debugfs. Proved to be awesome help when trying to debug why IRQs do not arrive. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8d96fc276aaec449871bcb86cef41f3187136f0a Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Aug 12 14:29:41 2015 +0300 Documentation: iio-trig-sysfs: Add remove_trigger attribute ABI This patch adds the documentation ABI for the remove_trigger attribute, provided by the iio-trig-sysfs stand-alone driver. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e0950d3b9e88051082f7d5a60a0f8156285cbb6d Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Aug 12 14:28:34 2015 +0300 Documentation: iio-trig-sysfs: Document add_trigger attribute This patch adds the ABI documentation for the add_trigger attribute, which is provided by the iio-trig-sysfs stand-alone driver. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5d889abbe5c39c0c9ebe468dbcab2688324a33fc Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 16:50:07 2015 +0200 iio: bmg160: Remove remaining uses of i2c_client Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ebc6eb5907acecdebbd0e180a754d98f21045fbc Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 16:50:06 2015 +0200 iio: bmg160: Use generic dev_drvdata i2c_get_clientdata() is specifically for i2c. Replace it with the generic dev_get/set_drvdata() to support different protocols. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 74e04345dc7e111fd151923d2de32267f1aae321 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 16:50:05 2015 +0200 iio: bmg160: Remove i2c_client from data struct i2c_client variable is not really used anymore in the core driver. It is only used to get the device to make proper outputs. This patch replaces all i2c_client usage through direct usage of the device pointer. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c6c9e995bcd8349f271b39e6abd9bd2f090ec5bd Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 16:50:04 2015 +0200 iio: bmg160: Use i2c regmap instead of direct i2c access This patch introduces regmap usage into the driver. This is done to later easily support the SPI interface of this chip. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8548a63b37be4891e7972ba058b785d9468e8907 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Aug 14 16:54:55 2015 +0200 iio: Move generic buffer implementations to sub-directory For generic IIO trigger implementations we already have a sub-directory, but the generic buffer implementations currently reside in the IIO top-level directory. The main reason is that things have historically grown into this form. With more generic buffer implementations on its way now is the perfect time to clean this up and introduce a sub-directory for generic buffer implementations to avoid too much clutter in the top-level directory. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 050ee2f16e245b42c9ba30640bb91b309b424c48 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Aug 14 16:54:54 2015 +0200 iio: Move callback buffer to its own module Currently the IIO callback buffer implementation is directly built into the IIO core module when enabled. Given that the callback buffer module is standalone functionallity there is really no reason to do this. So move it to its own module. Also rename the source to follow the standard IIO module naming convention as well as add a license notice to the file. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 66e2806656b12bbb98ff36b7beb1538b87cb2f2f Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Aug 14 15:59:53 2015 +0300 drm/i915: remove excessive scaler debugging messages There's so much scaler debugging messages that it makes other debugging hard. Remove them. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8b417c266b715b3797cd3e65342149372b9ac0c8 Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Wed Aug 12 15:43:44 2015 +0100 drm/i915: Debugfs interface for GuC submission statistics This provides a means of reading status and counts relating to GuC actions and submissions. v2: Remove surplus blank line in output [Chris Wilson] v5: Added GuC per-engine submission & seqno statistics v6: Add per-ring statistics to client, refactor client-dumper. Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d1675198ed1f21aec6e036336e4340c40b726497 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:43 2015 +0100 drm/i915: Integrate GuC-based command submission GuC-based submission is mostly the same as execlist mode, up to intel_logical_ring_advance_and_submit(), where the context being dispatched would be added to the execlist queue; at this point we submit the context to the GuC backend instead. There are, however, a few other changes also required, notably: 1. Contexts must be pinned at GGTT addresses accessible by the GuC i.e. NOT in the range [0..WOPCM_SIZE), so we have to add the PIN_OFFSET_BIAS flag to the relevant GGTT-pinning calls. 2. The GuC's TLB must be invalidated after a context is pinned at a new GGTT address. 3. GuC firmware uses the one page before Ring Context as shared data. Therefore, whenever driver wants to get base address of LRC, we will offset one page for it. LRC_PPHWSP_PN is defined as the page number of LRCA. 4. In the work queue used to pass requests to the GuC, the GuC firmware requires the ring-tail-offset to be represented as an 11-bit value, expressed in QWords. Therefore, the ringbuffer size must be reduced to the representable range (4 pages). v2: Defer adding #defines until needed [Chris Wilson] Rationalise type declarations [Chris Wilson] v4: Squashed kerneldoc patch into here [Daniel Vetter] v5: Update request->tail in code common to both GuC and execlist modes. Add a private version of lr_context_update(), as sharing the execlist version leads to race conditions when the CPU and the GuC both update TAIL in the context image. Conversion of error-captured HWS page to string must account for offset from start of object to actual HWS (LRC_PPHWSP_PN). 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 4df001d3989ed319bc5abf2058dc5173bb02c53b Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Wed Aug 12 15:43:42 2015 +0100 drm/i915: Interrupt routing for GuC submission Turn on interrupt steering to route necessary interrupts to GuC. v6: 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 44a28b1d36762499de6fd701fcce6814eefe31d7 Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Wed Aug 12 15:43:41 2015 +0100 drm/i915: Implementation of GuC submission client A GuC client has its own doorbell and workqueue. It maintains the doorbell cache line, process description object and work queue item. A default guc_client is created for the i915 driver to use for normal-priority in-order submission. Note that the created client is not yet ready for use; doorbell allocation will fail as we haven't yet linked the GuC's context descriptor to the default contexts for each ring (see later patch). v2: Defer adding structure members until needed [Chris Wilson] Rationalise type declarations [Chris Wilson] v5: Add GuC per-engine submission & seqno statistics. Move wq locking to encompass both get_space() and add_item(). Take forcewake lock in host2guc_action() [Tom O'Rourke] v6: Fix GuC doorbell cacheline selection code (the cacheline-within-page calculation was wrong). Rename GuC priorities to make them closer to the names used in the GuC firmware source, matching what the autogenerated versions will (probably) be. Add per-ring statistics to client. 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 4c7e77fc1007b1e12d25c6e5083369863346f5dd Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:40 2015 +0100 drm/i915: Enable GuC firmware log Allocate a GEM object to hold GuC log data. A debugfs interface (i915_guc_log_dump) is provided to print out the log content. v2: Add struct members at point of use [Chris Wilson] v6: 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 bac427f8abfc8c11e10274d5edd9db4e4b8e74d3 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:39 2015 +0100 drm/i915: Prepare for GuC-based command submission This adds the first of the data structures used to communicate with the GuC (the pool of guc_context structures). We create a GuC-specific wrapper round the GEM object allocator as all GEM objects shared with the GuC must be pinned into GGTT space at an address that is NOT in the range [0..WOPCM_TOP), as that range of GGTT addresses is not accessible to the GuC (from the GuC's point of view, it's permanently reserved for other objects such as the BootROM & SRAM). Later, we will need to allocate additional GuC-sharable objects for the submission client(s) and the GuC's debug log. v2: Remove redundant initialisation [Chris Wilson] Defer adding struct members until needed [Chris Wilson] Local functions should pass dev_priv rather than dev [Chris Wilson] v5: Invalidate GuC TLB after allocating and pinning a new object v6: 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 919f1f55d90b5487a9f38e94842e486509474f09 Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Wed Aug 12 15:43:38 2015 +0100 drm/i915: Expose one LRC function for GuC submission mode GuC submission is basically execlist submission, but with the GuC handling the actual writes to the ELSP and the resulting context switch interrupts. So to describe a context for submission via the GuC, we need one of the same functions used in execlist mode. This commit exposes one such function, changing its name to better describe what it does (it's related to logical ring contexts rather than to execlists per se). v2: Replaces previous "drm/i915: Move execlists defines from .c to .h" v3: Incorporates a change to one of the functions exposed here that was previously part of an internal patch, but which was omitted from the version recently committed to drm-intel-nightly: 7a01a0a drm/i915/lrc: Update PDPx registers with lri commands So we reinstate this change here. v4: Drop v3 change, update function parameters due to collision with 8ee3615 drm/i915: Convert execlists_ctx_descriptor() for requests v5: Don't expose execlists_update_context() after all. The current version is no longer compatible with GuC submission; trying to share the execlist version of this function results in both GuC and CPU updating TAIL in the context image, with bad results when they get out of step. The GuC submission path now has its own private version that just updates the ringbuffer start address, and not TAIL or PDPx. v6: Rebased Issue: VIZ-4884 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 fdf5d3572fd1f2103a6bda0dba643e76a3ea978e Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:37 2015 +0100 drm/i915: Debugfs interface to read GuC load status The new node provides access to the status of the GuC-specific loader; also the scratch registers used for communication between the i915 driver and the GuC firmware. v2: Changes to output formats per Chris Wilson's suggestions v6: 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 33a732f407fed464df687370d7bb4d64533f9920 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:36 2015 +0100 drm/i915: GuC-specific firmware loader This fetches the required firmware image from the filesystem, then loads it into the GuC's memory via a dedicated DMA engine. This patch is derived from GuC loading work originally done by Vinit Azad and Ben Widawsky. v2: Various improvements per review comments by Chris Wilson v3: Removed 'wait' parameter to intel_guc_ucode_load() as firmware prefetch is no longer supported in the common firmware loader, per Daniel Vetter's request. Firmware checker callback fn now returns errno rather than bool. v4: Squash uC-independent code into GuC-specifc loader [Daniel Vetter] Don't keep the driver working (by falling back to execlist mode) if GuC firmware loading fails [Daniel Vetter] v5: Clarify WOPCM-related #defines [Tom O'Rourke] Delete obsolete code no longer required with current h/w & f/w [Tom O'Rourke] Move the call to intel_guc_ucode_init() later, so that it can allocate GEM objects, and have it fetch the firmware; then intel_guc_ucode_load() doesn't need to fetch it later. [Daniel Vetter]. v6: Update comment describing intel_guc_ucode_load() [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 04a60f9ffa9a9ac05d5616408e3f11115ed1450a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 15:10:06 2015 +0300 drm/i915: Kill intel_dp->{link_bw, rate_select} We only need the link_bw/rate_select parameters when starting link training, and they should be computed based on the currently active config, so throw them out from intel_dp and just compute on demand. Toss in an extra debug print to see rate_select in addition to link_bw, as the latter may be 0 for eDP 1.4. 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 a79b8165beed02a96dc54737feb20700ddf71127 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 15:10:05 2015 +0300 drm/i915: Don't use link_bw to select between TP1 and TP3 intel_dp->link_bw is going away, so consul the port_clock instead when choosing between TP1 and TP3. 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 90a6b7b052b1aa17fbb98b049e9c8b7f729c35a7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 16:39:15 2015 +0300 drm/i915: Move intel_dp->lane_count into pipe_config Currently we clobber intel_dp->lane_count in compute config, which means after a rejected modeset we may no longer be able to retrain the current link. Move lane_count into pipe_config to avoid that. v2: Add missing ':' to the pipe config debug dump 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 b81e34c29e67f5b3e5ce28b5055ae2ca59c36f7b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 15:10:03 2015 +0300 drm/i915: Avoid confusion between DP and TRANS_DP_CTL in DP .get_config() Use a separate variable for the TRANS_DP_CTL value instead of reusing 'tmp' that otherwise contains the DP port register value. 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 96f3f1f905e9c4977220fa07477cd8a8ed4af4da Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 15:10:02 2015 +0300 drm/i915: Don't pass clock to DDI PLL select functions All the *_ddi_pll_select() functions get passed the port_clock and pipe config as parameters. We only need to pass the pipe config, and the functions can dig up the port_clock themselves. 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 840b32b7eda7837db6e0236293f71fc6644dedf8 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> commit 0f2a2a756e862e1936ef599451015ca4c12efde8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 15:10:00 2015 +0300 drm/i915: Clean up DP/HDMI limited color range handling Currently we treat intel_{dp,hdmi}->color_range as partly user controller value (via the property) but we also change it during .compute_config() when using the "Automatic" mode. That is a bit confusing, so let's just change things so that we store the user property values in intel_dp, and only change what's stored in pipe_config during .compute_config(). There should be no functional change. 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 908565c20888f790b96b03ae5be9cd175f3d8d72 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:08:22 2015 +0100 drm/i915: Do not check or a stalled pageflip prior to it being queued When we queue the command or operation to change the scanout address, we mark the flip as in progress. We can use this flag to prevent us from checking for a stalled flip prior to its existence! Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ed75a55bb36dec17b9e0f878cea7c8ccb037d8f9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 11 19:47:10 2015 +0300 drm/i915: clflush on pin_to_display after pwrite to UC bo in LLC Currently we don't clflush on pin_to_display if the bo is already UC/WT and is not in the CPU write domain. This causes problems with pwrite since pwrite doesn't change the write domain, and it avoids clflushing on UC/WT buffers on LLC platforms unless the buffer is currently being scanned out. Fix the problem by marking the cache dirty and adjusting i915_gem_object_set_cache_level() to clflush when the cache is dirty even if the cache_level doesn't change. My last attempt [1] at fixing this via write domain frobbing was shot down, but now with the cache_dirty flag we can do things in a nicer way. [1] http://lists.freedesktop.org/archives/intel-gfx/2014-November/055390.html v2: Drop the I915_CACHE_NONE/WT checks from pwrite Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86422 Testcase: igt/kms_pwrite_crc Testcase: igt/gem_pwrite_snooped Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cf1d58833f07afbb4534b15caa3fd48baa313b2c Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Aug 10 10:35:36 2015 +0530 drm/i915/bxt: WA for swapped HPD pins in A stepping WA for BXT A0/A1, where DDIB's HPD pin is swapped to DDIA, so enabling DDIA HPD pin in place of DDIB. v2: For DP, irq_port is used to determine the encoder instead of hpd_pin and removing the edp HPD logic because port A HPD is not present(Imre) v3: Rebased on top of Imre's patchset for enabling HPD on PORT A. Added hpd_pin swapping for intel_dp_init_connector, setting encoder for PORT_A as per the WA in irq_port (Imre) v4: Dont enable interrupt for edp, also reframe the description (Siva) v5: Donâ??t check for PORT_A in intel_ddi_init to update dig_port, instead avoid setting hpd_pin itself (Imre) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f3561bec7cb4e4804bc246069420d3f2f7f3ebe Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Aug 10 10:35:35 2015 +0530 drm/i915/bxt: Add HPD support for DDIA Also remove redundant comments. Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 25f5033761f85a659db729a10b59d80f93a6be0d Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Aug 7 17:40:19 2015 +0100 drm/i915: Always pass dev pointer in pdp_init And fix 0-DAY kernel test infrastructure warning. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f365f91181ce862181d0d2f4fb3ca0fe2276874b Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Aug 7 17:40:18 2015 +0100 drm/i915: Use complete virtual address range on 32-bit platforms With the offset length being taken care of in ("drm/i915/gtt: Allow >= 4GB offsets in X86_32"), the code should be finally safe in 32-bit kernels. This reverts commit 501fd70fcaebc911b6b96a7b331e6960e5af67e7 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri May 29 14:15:05 2015 +0100 drm/i915: limit PPGTT size to 2GB in 32-bit platforms Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 088e0df4020e30c4952f29dc672ceb4742b98e73 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Aug 7 17:40:17 2015 +0100 drm/i915/gtt: Allow >= 4GB offsets in X86_32 Similar to commit c44ef60e437019b8ca1dab8b4d2e8761fd4ce1e9 ("drm/i915/gtt: Allow >= 4GB sizes for vm"), i915_gem_obj_offset and i915_gem_obj_ggtt_offset return an unsigned long, which in only 4-bytes long in 32-bit kernels. Change return type (and other related offset variables) to u64. Since Global GTT is always limited to 4GB, this change would not be required in i915_gem_obj_ggtt_offset, but this is done for consistency. v2: Remove unnecessary offset variable in do_pin, as we already have vma->node.start (Chris). Update GGTT offset too (Tvrtko). Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aabc95dcf200908993573b2019ff5210121bcba9 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:35:50 2015 -0700 drm/i915: Dont -ETIMEDOUT on identical new and previous (count, crc). By Vesa DP 1.2 spec TEST_CRC_COUNT is a "4 bit wrap counter which increments each time the TEST_CRC_x_x are updated." However if we are trying to verify the screen hasn't changed we get same (count, crc) pair twice. Without this patch we would return -ETIMEOUT in this case. So, if in 6 vblanks the pair (count, crc) hasn't changed we return it anyway instead of returning error and let test case decide if it was right or not. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 621d4c76fd4ce7f648fa59a26e3eb6b2346cf873 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:35:49 2015 -0700 drm/i915: Save latest known sink CRC to compensate delayed counter reset. By Vesa DP 1.2 Spec TEST_CRC_COUNT should be "reset to 0 when TEST_SINK bit 0 = 0." However for some strange reason when PSR is enabled in certain platforms this is not true. At least not immediatelly. So we face cases like this: first get_sink_crc operation: count: 0, crc: 000000000000 count: 1, crc: c101c101c101 returned expected crc: c101c101c101 secont get_sink_crc operation: count: 1, crc: c101c101c101 count: 0, crc: 000000000000 count: 1, crc: 0000c1010000 should return expected crc: 0000c1010000 But also the reset to 0 should be faster resulting into: get_sink_crc operation: count: 1, crc: c101c101c101 count: 1, crc: 0000c1010000 should return expected crc: 0000c1010000 So in order to know that the second one is valid one we need to compare the pair (count, crc) with latest (count, crc). If the pair changed you have your valid CRC. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e5a1cab5e57d7bd6ef77502f950cfab6e14d92a8 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:35:48 2015 -0700 drm/i915: Force sink crc stop before start. By Vesa DP spec, test counter at DP_TEST_SINK_MISC just reset to 0 when unsetting DP_TEST_SINK_START, so let's force this stop here. But let's minimize the aux transactions and just do it when we know it hasn't been properly stoped. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c6d576cc576196593671eabc8aad6c1744b32568 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:24:00 2015 +0100 drm/i915/userptr: Kill user_size limit check GTT was only 32b and its max value is 4GB. In order to allow objects bigger than 4GB in 48b PPGTT, i915_gem_userptr_ioctl we could check against max 48b range (1ULL << 48). But since the check no longer applies, just kill the limit. v2: Use the default ctx to infer the ppgtt max size (Akash). v3: Just kill the limit, it was only there for early detection of an error when used for execbuffer (Chris). Cc: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit af98714e5d05fcbf7638ea4b53d158d96d693bf2 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:59 2015 +0100 drm/i915: batch_obj vm offset must be u64 Otherwise it can overflow in 48-bit mode, and cause an incorrect exec_start. Before commit 5f19e2bffa63a91cd4ac1adcec648e14a44277ce ("drm/i915: Merged the many do_execbuf() parameters into a structure"), it was already an u64. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 65bd342ff2f1f9f3ca4a17691a825935d2aa13c9 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:58 2015 +0100 drm/i915: object size needs to be u64 In a 48b world, users can try to allocate buffers bigger than 4GB; in these cases it is important that size is a 64b variable. v2: Drop the warning about bind with size 0, it shouldn't happen anyway. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea91e401501a72597554cb5c080fe5671a6ccb84 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:57 2015 +0100 drm/i915/gen8: Add ppgtt info and debug_dump v2: Clean up patch after rebases. v3: gen8_dump_ppgtt for 32b and 48b PPGTT. v4: Use used_pml4es/pdpes (Akash). v5: Rebase after Mika's ppgtt cleanup / scratch merge patch series. v6: Rely on used_px bits instead of null checking (Akash) Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e1f123257a1f7d3af36a31a0fb2d4c6f40039fed Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:56 2015 +0100 drm/i915: Expand error state's address width to 64b v2: For semaphore errors, object is mapped to GGTT and offset will not be > 4GB, print only lower 32-bits (Akash) v3: Print gtt_offset in groups of 32-bit (Chris) Cc: Akash Goel <akash.goel@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 69ab76fd3d497816992b22dd201d2327cb921c94 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:55 2015 +0100 drm/i915/gen8: Initialize PDPs and PML4 Similar to PDs, while setting up a page directory pointer, make all entries of the pdp point to the scratch pd before mapping (and make all its entries point to the scratch page); this is to be safe in case of out of bound access or proactive prefetch. Also add a scratch pdp, which the PML4 entries point to. v2: Handle scratch_pdp allocation failure correctly, and keep initialize_px functions together (Akash) v3: Rebase after Mika's ppgtt cleanup / scratch merge patch series. Rely on the added macros to initialize the pdps. v4: Rebase after final merged version of Mika's ppgtt/scratch patches (and removed commit message part related to v3). v5: Update commit message to also mention PML4 table initialization and the new scratch pdp (Akash). Suggested-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de5ba8eb9cefff78ac4951bd68633d2b7a0fc5c1 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Mon Aug 3 09:53:27 2015 +0100 drm/i915/gen8: Add 4 level support in insert_entries and clear_range When 48b is enabled, gen8_ppgtt_insert_entries needs to read the Page Map Level 4 (PML4), before it selects which Page Directory Pointer (PDP) it will write to. Similarly, gen8_ppgtt_clear_range needs to get the correct PDP/PD range. This patch was inspired by Ben's "Depend exclusively on map and unmap_vma". v2: Rebase after s/page_tables/page_table/. v3: Remove unnecessary pdpe loop in gen8_ppgtt_clear_range_4lvl and use clamp_pdp in gen8_ppgtt_insert_entries (Akash). v4: Merge gen8_ppgtt_clear_range_4lvl into gen8_ppgtt_clear_range to maintain symmetry with gen8_ppgtt_insert_entries (Akash). v5: Do not mix pages and bytes in insert_entries (Akash). v6: Prevent overflow in sg_nents << PAGE_SHIFT, when inserting 4GB at once. v7: Rebase after Mika's ppgtt cleanup / scratch merge patch series. Use gen8_px_index functions, and remove unnecessary number of pages parameter in insert_pte_entries. v8: Change gen8_ppgtt_clear_pte_range to stop at PDP boundary, instead of adding and extra clamp function; remove unnecessary pdp_start/pdp_len variables (Akash). v9: pages->orig_nents instead of sg_nents(pages->sgl) to get the length (Akash). v10: Remove pdp warning check ingen8_ppgtt_insert_pte_entries until this commit (Akash). Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> (v9) Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3387d433b0bbdda53ad51016ae9d10c6c17046a0 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Mon Aug 3 09:52:47 2015 +0100 drm/i915/gen8: Pass sg_iter through pte inserts As a step towards implementing 4 levels, while not discarding the existing pte insert functions, we need to pass the sg_iter through. The current function understands to the page directory granularity. An object's pages may span the page directory, and so using the iter directly as we write the PTEs allows the iterator to stay coherent through a VMA insert operation spanning multiple page table levels. v2: Rebase after s/page_tables/page_table/. v3: Rebase after Mika's ppgtt cleanup / scratch merge patch series; updated commit message (s/map/insert). v4: Rebase. Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> (v3) Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2dba3239f5c7511ffac957887facd0a0c9d003a5 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Jul 30 11:06:23 2015 +0100 drm/i915/gen8: Add 4 level switching infrastructure and lrc support In 64b (48bit canonical) PPGTT addressing, the PDP0 register contains the base address to PML4, while the other PDP registers are ignored. In LRC, the addressing mode must be specified in every context descriptor, and the base address to PML4 is stored in the reg state. v2: PML4 update in legacy context switch is left for historic reasons, the preferred mode of operation is with lrc context based submission. v3: s/gen8_map_page_directory/gen8_setup_page_directory and s/gen8_map_page_directory_pointer/gen8_setup_page_directory_pointer. Also, clflush will be needed for bxt. (Akash) v4: Squashed lrc-specific code and use a macro to set PML4 register. v5: Rebase after Mika's ppgtt cleanup / scratch merge patch series. PDP update in bb_start is only for legacy 32b mode. v6: Rebase after final merged version of Mika's ppgtt/scratch patches. v7: There is no need to update the pml4 register value in execlists_update_context. (Akash) v8: Move pd and pdp setup functions to a previous patch, they do not belong here. (Akash) v9: Check USES_FULL_48BIT_PPGTT instead of GEN8_CTX_ADDRESSING_MODE in gen8_emit_bb_start to check if emit pdps is needed. (Akash) Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 762d99363dc9bc436f39f8bdc3f8670ea272a5a9 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Jul 30 11:05:29 2015 +0100 drm/i915/gen8: implement alloc/free for 4lvl PML4 has no special attributes, and there will always be a PML4. So simply initialize it at creation, and destroy it at the end. The code for 4lvl is able to call into the existing 3lvl page table code to handle all of the lower levels. v2: Return something at the end of gen8_alloc_va_range_4lvl to keep the compiler happy. And define ret only in one place. Updated gen8_ppgtt_unmap_pages and gen8_ppgtt_free to handle 4lvl. v3: Use i915_dma_unmap_single instead of pci API. Fix a couple of incorrect checks when unmapping pdp and pd pages (Akash). v4: Call __pdp_fini also for 32b PPGTT. Clean up alloc_pdp param list. v5: Prevent (harmless) out of range access in gen8_for_each_pml4e. v6: Simplify alloc_vma_range_4lvl and gen8_ppgtt_init_common error paths. (Akash) v7: Rebase, s/gen8_ppgtt_free_*/gen8_ppgtt_cleanup_*/. v8: Change location of pml4_init/fini. It will make next patches cleaner. v9: Rebase after Mika's ppgtt cleanup / scratch merge patch series, while trying to reuse as much as possible for pdp alloc. pml4_init/fini replaced by setup/cleanup_px macros. v10: Rebase after Mika's merged ppgtt cleanup patch series. v11: Rebase after final merged version of Mika's ppgtt/scratch patches. v12: Fix pdpe start value in trace (Akash) v13: Define all 4lvl functions in this patch directly, instead of previous patches, add i915_page_directory_pointer_entry_alloc here, use test_bit to detect when pdp is already allocated (Akash). v14: Move pdp allocation into a new gen8_ppgtt_alloc_page_dirpointers funtion, as we do for pds and pts; move pd and pdp setup functions to this patch (Akash). v15: Added kfree(pdp) from previous patch to this (Akash). Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 81ba8aefd03803a8aec3395d18f7b1dda5942105 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Mon Aug 3 09:52:01 2015 +0100 drm/i915/gen8: Add PML4 structure Introduces the Page Map Level 4 (PML4), ie. the new top level structure of the page tables. To facilitate testing, 48b mode will be available on Broadwell and GEN9+, when i915.enable_ppgtt = 3. v2: Remove unnecessary CONFIG_X86_64 checks, ppgtt code is already 32/64-bit safe (Chris). v3: Add goto free_scratch in temp 48-bit mode init code (Akash). v4: kfree the pdp until the 4lvl alloc/free patch (Akash). v5: Postpone 48-bit code in sanitize_enable_ppgtt (Akash). v6: Keep _insert_pte_entries changes outside this patch (Akash). Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4c06ec8d13d2b0e57479bb135e49afd56ebe9275 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:49 2015 +0100 drm/i915/gen8: Add dynamic page trace events The dynamic page allocation patch series added it for GEN6, this patch adds them for GEN8. v2: Consolidate pagetable/page_directory events v3: Multiple rebases. v4: Rebase after s/page_tables/page_table/. v5: Rebase after Mika's ppgtt cleanup / scratch merge patch series. v6: Rebase after gen8_map_pagetable_range removal. v7: Use generic page name (px) in DECLARE_EVENT_CLASS (Akash) v8: Defer define of i915_page_directory_pointer_entry_alloc (Akash) Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v3+) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f9b5b782c4720f6c353088b559af5842ce66aa6f Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Jul 30 11:02:49 2015 +0100 drm/i915/gen8: Generalize PTE writing for GEN8 PPGTT The insert_entries function was the function used to write PTEs. For the PPGTT it was "hardcoded" to only understand two level page tables, which was the case for GEN7. We can reuse this for 4 level page tables, and remove the concept of insert_entries, which was never viable past 2 level page tables anyway, but it requires a bit of rework to make the function a bit more generic. v2: Rebase after Mika's ppgtt cleanup / scratch merge patch series. v3: Rebase after final merged version of Mika's ppgtt/scratch patches. v4: Check and warn for NULL value of pdp pointer (Akash). Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d4ec9da0e17cb6a86c0b76c5b254981601d25031 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Jul 30 11:02:03 2015 +0100 drm/i915/gen8: Abstract PDP usage Up until now, ppgtt->pdp has always been the root of our page tables. Legacy 32b addresses acted like it had 1 PDP with 4 PDPEs. In preparation for 4 level page tables, we need to stop using ppgtt->pdp directly unless we know it's what we want. The future structure will use ppgtt->pml4 for the top level, and the pdp is just one of the entries being pointed to by a pml4e. The temporal pdp local variable will be removed once the rest of the 4-level code lands. Also, start passing the vm pointer to the alloc functions, instead of ppgtt. v2: Updated after dynamic page allocation changes. v3: Rebase after s/page_tables/page_table/. v4: Rebase after changes in "Dynamic page table allocations" patch. v5: Rebase after Mika's ppgtt cleanup / scratch merge patch series. v6: Rebase after final merged version of Mika's ppgtt/scratch patches. v7: Keep pagetable map in-line (and avoid unnecessary for_each_pde loops), remove redundant ppgtt pointer in _alloc_pagetabs (Akash) v8: Fix text indentation in _alloc_pagetabs/page_directories (Chris) v9: Defer gen8_alloc_va_range_4lvl definition until 4lvl is implemented, clean-up gen8_ppgtt_cleanup [pun intended] (Akash). v10: Clean-up commit message (Akash). Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: "Akash Goel" <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6ac1850220732f47bc6ae767fa41542009674ad7 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:46 2015 +0100 drm/i915/gen8: Make pdp allocation more dynamic This transitional patch doesn't do much for the existing code. However, it should make upcoming patches to use the full 48b address space a bit easier. 32-bit ppgtt uses just 4 PDPs, while 48-bit ppgtt will have up-to 512; this patch prepares the existing functions to query the right number of pdps at run-time. This also means that used_pdpes should also be allocated during ppgtt_init, as the bitmap size will depend on the ppgtt address range selected. v2: Renamed pdp_free to be similar to pd/pt (unmap_and_free_pdp). v3: To facilitate testing, 48b mode will be available on Broadwell and GEN9+, when i915.enable_ppgtt = 3. v4: Rebase after s/page_tables/page_table/, added extra information about 4-level page table formats and use IS_ENABLED macro. v5: Check CONFIG_X86_64 instead of CONFIG_64BIT. v6: Rebase after Mika's ppgtt cleanup / scratch merge patch series, and follow his nomenclature in pdp functions (there is no alloc_pdp yet). v7: Rebase after merged version of Mika's ppgtt cleanup patch series. v8: Rebase after final merged version of Mika's ppgtt/scratch patches. v9: Introduce PML4 (and 48-bit checks) until next patch (Akash). v10: Also use test_bit to detect when pd/pt are already allocated (Akash) Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> [danvet: Amend commit message as suggested by Michel.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 09120d4e88b13967d44d46280fb74d3ac4ac2f73 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:45 2015 +0100 drm/i915: Remove unnecessary gen8_clamp_pd gen8_clamp_pd clamps to the next page directory boundary, but the macro gen8_for_each_pde already has a check to stop at the page directory boundary. Furthermore, i915_pte_count also restricts to the next page table boundary. v2: Rebase after Mika's ppgtt cleanup / scratch merge patch series. Suggested-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: "Akash Goel" <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 47d5e30ae38ba81600bd2c3292b39d31792470c7 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Jun 21 12:15:51 2015 +0200 iio:adc:cc10001_adc: resort entry in Kconfig and Makefile Move the entry for the CC 10001 ADC driver in Kconfig and Makefile up to maintain alphabetic order. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2427d22de807b40f72175c8c9b1ff8a07275ad82 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Jul 17 10:52:25 2015 +0200 iio:magnetometer:bmc150_magn: sort entry alphabetically Sort the entry for bmc105_magn in Kconfig and Makefile to its correct position. Also add the minor module information for completeness. Fixes: c91746a2361d ("iio: magn: Add support for BMC150 magnetometer") Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5b958f110f8b11f9bb6c62e713b83768b1375f31 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jul 9 23:51:33 2015 +0200 iio:light:stk3310: adjust indentation Adjust some indentation issues as spotted by checkpatch.pl --strict Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 952c3aa3fb5538aa5026980cfdedb3d38829b67e Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jul 9 23:51:32 2015 +0200 iio:light:stk3310: use correct names and type for state Indicate the bit number of predefined states, make use of these names and change the state type in _resume to u8 to avoid type 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 7c7a9eeaa335df03d692ad65e0767020ad1be374 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jul 9 23:51:31 2015 +0200 iio:light:stk3310: add more error handling Check for the following error cases: * lower boundary for val in _write_event * return value of regmap_(field_)read * possible values for chan->type * return value of stk3310_gpio_probe Also add an error path in _probe to put the sensor back into stand-by mode in case of serious errors. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b465fc5499083d0b7086ae590cb852c0052622a0 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:39:04 2015 +0200 iio:adc:berlin2-adc: coding style cleanup Some adjustment of indentation to make checkpatch.pl happy in strict mode. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3ac065224fa07ec7e60213d67464388ac8a52222 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:39:03 2015 +0200 iio:adc:berlin2-adc: enable interrupts with mutex locked Move the call to enable channel interrupts into its _read() function to have it protected by a mutex. This ensures that only one channel is sampled at a time. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4b308e8c396dc9af3e1a97f75d15c055e09a17b2 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:38:59 2015 +0200 iio:adc:berlin2-adc: use GENMASK and BIT for masks Make use of GENMASK for consecutive bitmasks and BIT for single bitmasks. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5cfb203a304deaaa8c7c5368722b214d24583137 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Aug 8 15:16:20 2015 +0930 modpost: abort if a module symbol is too long Module symbols have a limited length, but currently the build system allows the build finishing even if the driver code contains a too long symbol name, which eventually overflows the modversion_info[] item. The compiler may catch at compiling *.mod.c like CC xxx.mod.o xxx.mod.c:18:16: warning: initializer-string for array of chars is too long but it's merely a warning. This patch adds the check of the symbol length in modpost and stops the build properly. Currently MODULE_NAME_LEN is defined in modpost.c instead of referring to the definition in kernel header because including linux/module.h is messy and we must cover cross-compilation. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 8d446c8647c9ab8fcb45a8fc7dbbafe1f83aa2f3 Author: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Date: Fri Aug 7 09:36:59 2015 +0100 arm64/mm: Add PROT_DEVICE_nGnRnE and PROT_NORMAL_WT UEFI spec 2.5 section 2.3.6.1 defines that EFI_MEMORY_[UC|WC|WT|WB] are possible EFI memory types for AArch64. Each of those EFI memory types is mapped to a corresponding AArch64 memory type. So we need to define PROT_DEVICE_nGnRnE and PROT_NORMWL_WT additionaly. MT_NORMAL_WT is defined, and its encoding is added to MAIR_EL1 when initializing the CPU. Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> 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/1438936621-5215-6-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b40227fbfb1f98614e6f9bdc4cb3a54ab31d48a5 Author: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Date: Fri Aug 7 09:36:58 2015 +0100 acpi, x86: Implement arch_apei_get_mem_attributes() ... to allow an arch specific implementation of getting page protection type associated with a physical address. On x86, we currently have no way to look up the EFI memory map attributes for a region in a consistent way, because the memmap is discarded after efi_free_boot_services(). So if you call efi_mem_attributes() during boot and at runtime, you could theoretically see different attributes. Since we are yet to see any x86 platforms that require anything other than PAGE_KERNEL (some arm64 platforms require the equivalent of PAGE_KERNEL_NOCACHE), return that until we know differently. Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> 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/1438936621-5215-5-git-send-email-matt@xxxxxxxxxxxxxxxxxxx [ Small fixes to spelling. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7bf793115dd96ce9bd8ed1665fc187d961a95dba Author: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Date: Fri Aug 7 09:36:57 2015 +0100 efi, x86: Rearrange efi_mem_attributes() x86 and ia64 implement efi_mem_attributes() differently. This function needs to be available for other architectures (such as arm64) as well, such as for the purpose of ACPI/APEI. ia64 EFI does not set up a 'memmap' variable and does not set the EFI_MEMMAP flag, so it needs to have its unique implementation of efi_mem_attributes(). Move efi_mem_attributes() implementation from x86 to the core EFI code, and declare it with __weak. It is recommended that other architectures should not override the default implementation. Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> 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/1438936621-5215-4-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fa5c35011a8d5f3d0c597a6336107eafd1b6046c Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Aug 7 09:36:56 2015 +0100 Revert "x86/efi: Request desired alignment via the PE/COFF headers" This reverts commit: aeffc4928ea2 ("x86/efi: Request desired alignment via the PE/COFF headers") Linn reports that Signtool complains that kernels built with CONFIG_EFI_STUB=y are violating the PE/COFF specification because the 'SizeOfImage' field is not a multiple of 'SectionAlignment'. This violation was introduced as an optimisation to skip having the kernel relocate itself during boot and instead have the firmware place it at a correctly aligned address. No one else has complained and I'm not aware of any firmware implementations that refuse to boot with commit aeffc4928ea2, but it's a real bug, so revert the offending commit. Reported-by: Linn Crosetto <linn@xxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Brown <mbrown@xxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438936621-5215-3-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 248fbcd5aee00f6519a12c5ed3bc3dc0f5e84de5 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Aug 7 09:36:55 2015 +0100 x86/efi-bgrt: Switch pr_err() to pr_debug() for invalid BGRT It's totally legitimate, per the ACPI spec, for the firmware to set the BGRT 'status' field to zero to indicate that the BGRT image isn't being displayed, and we shouldn't be printing an error message in that case because it's just noise for users. So swap pr_err() for pr_debug(). However, Josh points that out it still makes sense to test the validity of the upper 7 bits of the 'status' field, since they're marked as "reserved" in the spec and must be zero. If firmware violates this it really *is* an error. Reported-by: Tom Yan <tom.ty89@xxxxxxxxx> Tested-by: Tom Yan <tom.ty89@xxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438936621-5215-2-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 87db73aebf55554fefaa3eade0a28f282a1511b8 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Aug 7 09:36:54 2015 +0100 efi: Add support for EFI_MEMORY_RO attribute introduced by UEFIv2.5 The UEFI spec v2.5 introduces a new memory attribute EFI_MEMORY_RO, which is now the preferred attribute to convey that the nature of the contents of such a region allows it to be mapped read-only (i.e., it contains .text and .rodata only). The specification of the existing EFI_MEMORY_WP attribute has been updated to align more closely with its common use as a cacheability attribute rather than a permission attribute. Add the #define and add the attribute to the memory map dumping routine. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438936621-5215-1-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 73958c651fbf70d8d8bf2a60b871af5f7a2e3199 Author: Sam Ravnborg <sam@xxxxxxxxxxxx> Date: Fri Aug 7 20:34:12 2015 +0200 sparc64: use ENTRY/ENDPROC in VISsave From 7d8a508d74e6cacf0f2438286a959c3195a35a37 Mon Sep 17 00:00:00 2001 From: Sam Ravnborg <sam@xxxxxxxxxxxx> Date: Fri, 7 Aug 2015 20:26:12 +0200 Subject: [PATCH] sparc64: use ENTRY/ENDPROC in VISsave Commit 44922150d87cef616fd183220d43d8fde4d41390 ("sparc64: Fix userspace FPU register corruptions") left a stale globl symbol which was not used. Fix this and introduce use of ENTRY/ENDPROC Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1b3475def4bca962cc8904cc0cdac22e7b6b6b3 Author: Rob Gardner <rob.gardner@xxxxxxxxxx> Date: Fri Aug 7 14:47:35 2015 -0600 sparc64: Fix incorrect ASI_ST_BLKINIT_MRU_S value ASI_ST_BLKINIT_MRU_S is incorrectly defined as 0xf2 when it should be 0xf3 according to section 10.3.1 of the Sparc Architecture manual. Signed-off-by: Rob Gardner <rob.gardner@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> For bisection revision-tuple graph see: http://logs.test-lab.xenproject.org/osstest/results/bisect/linux-linus/test-amd64-i386-qemut-rhel6hvm-intel.xen-boot.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-amd64-i386-qemut-rhel6hvm-intel.xen-boot --summary-out=tmp/65215.bisection-summary --basis-template=59254 --blessings=real,real-bisect linux-linus test-amd64-i386-qemut-rhel6hvm-intel xen-boot Searching for failure / basis pass: 65156 fail [host=italia1] / 63536 [host=baroque1] 63398 [host=huxelrebe0] 63372 [host=baroque0] 63354 [host=chardonnay0] 63339 [host=elbling1] 63208 ok. Failure / basis pass flights: 65156 / 63208 (tree with no url: ovmf) (tree with no url: seabios) 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: qemu git://xenbits.xen.org/qemu-xen-traditional.git Tree: qemuu git://xenbits.xen.org/qemu-xen.git Tree: xen git://xenbits.xen.org/xen.git Latest 78c4a49a69e910a162b05e4e8727b9bdbf948f13 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 Basis pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1c8d43cbdf0fc01a8f05acfbf55b805a83da34bb 816609b2841297925a223ec377c336360e044ee5 3a95c3f9c26a4b877598d45886eae95963c5d793 Generating revisions with ./adhoc-revtuple-generator git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git#8a70dd2669200ce83255ed8c5ebef7e59f9e8707-78c4a49a69e910a162b05e4e8727b9bdbf948f13 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/qemu-xen-traditional.git#1c8d43cbdf0fc01a8f05acfbf55b805a83da34bb-bc00cad75d8bcc3ba696992bec219c21db8406aa git://xenbits.xen.org/qemu-xen.git#816609b2841297925a223ec377c336360e044ee5-3fb401edbd8e9741c611bfddf6a2032ca91f55ed git://xenbits.xen.org/xen.git#3a95c3f9c26a4b877598d45886eae95963c5d793-713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 adhoc-revtuple-generator: tree discontiguous: linux-2.6 Loaded 17188 nodes in revision graph Searching for test results: 64026 fail irrelevant 64147 fail irrelevant 64197 fail irrelevant 64484 fail irrelevant 64874 fail irrelevant 65024 fail irrelevant 64985 fail irrelevant 65061 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1c8d43cbdf0fc01a8f05acfbf55b805a83da34bb 816609b2841297925a223ec377c336360e044ee5 3a95c3f9c26a4b877598d45886eae95963c5d793 65105 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 6ae323094390eb849daa342c869a2958b8e31d3c 65077 fail irrelevant 65130 pass irrelevant 65079 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 32b31c17da1ba0da970cd182a8865ac20fabd0fa 65110 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1c8d43cbdf0fc01a8f05acfbf55b805a83da34bb 816609b2841297925a223ec377c336360e044ee5 3a95c3f9c26a4b877598d45886eae95963c5d793 65086 fail irrelevant 65081 blocked 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 cd84a2baadd4a5767d2568b1c01b055328cc84db 65059 fail irrelevant 65107 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 6f04de658574833688c3f9eab310e7834d56a9c0 65089 fail irrelevant 65084 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9da9f80538c8ff891886cfe3d987ca17bd240d19 816609b2841297925a223ec377c336360e044ee5 3a95c3f9c26a4b877598d45886eae95963c5d793 65099 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 95e7415843b94c346e5ba8682665f508f220e04b 65109 fail irrelevant 65102 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 9fbb7b8386ef827ef3d3329af986643cf36c727c 65125 fail irrelevant 65133 fail irrelevant 65128 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 897cc6d07acd3e66356f021c5f7f9a49ef061d5d 65131 fail irrelevant 65129 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 22a1fbb575df3a3a7726cdeb5ddf19cc8f60827c 65149 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 abdf3c5b2b971dc12e665e8e0cda184b416efffe 65152 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 87a16694248e80195943741bb9f857edd6a6bf51 65156 fail 78c4a49a69e910a162b05e4e8727b9bdbf948f13 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 65132 fail irrelevant 65154 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 d07f63fa6e70350b23e7acbde06129247c4e655d 65212 fail 78c4a49a69e910a162b05e4e8727b9bdbf948f13 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 65197 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 1e8193b5783676087bbd12da6be7641e40073168 65200 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 460b9a4b3630f03ce4f1ee24249541bdfea08fd4 65213 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 65157 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1c8d43cbdf0fc01a8f05acfbf55b805a83da34bb 816609b2841297925a223ec377c336360e044ee5 3a95c3f9c26a4b877598d45886eae95963c5d793 65170 fail irrelevant 65171 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 65288cf610ccf1aae423f65ac67ee5dbeff252a1 65173 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 225166ea901f0532454ef771f5d6b1e8528c21bd 65202 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed d380b3559734739ae009cd3c0e9aabb5602863e2 65174 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 816609b2841297925a223ec377c336360e044ee5 827db7b26384ce083df7154d77f13379b2cf4121 65179 fail 78c4a49a69e910a162b05e4e8727b9bdbf948f13 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 65175 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 827db7b26384ce083df7154d77f13379b2cf4121 65178 fail irrelevant 65190 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed c87303c04738b0e837da6e891eb561de0bf1b64e 65204 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 65193 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 7d596f5ad70969d8171e1eb5b7a39d0dc6c11dc2 65195 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed a2b83f95bfad7c3533629cc7f3935cccc8e2d63d 65215 fail 78c4a49a69e910a162b05e4e8727b9bdbf948f13 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 65207 fail 78c4a49a69e910a162b05e4e8727b9bdbf948f13 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 65209 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 63084 [host=huxelrebe1] 63208 pass 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1c8d43cbdf0fc01a8f05acfbf55b805a83da34bb 816609b2841297925a223ec377c336360e044ee5 3a95c3f9c26a4b877598d45886eae95963c5d793 63339 [host=elbling1] 63372 [host=baroque0] 63354 [host=chardonnay0] 63398 [host=huxelrebe0] 63536 [host=baroque1] 63654 fail irrelevant Searching for interesting versions Result found: flight 63208 (pass), for basis pass Result found: flight 65156 (fail), for basis failure Repro found: flight 65157 (pass), for basis pass Repro found: flight 65179 (fail), for basis failure 0 revisions at 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc00cad75d8bcc3ba696992bec219c21db8406aa 3fb401edbd8e9741c611bfddf6a2032ca91f55ed 713b7e4ef2aa4ec3ae697cde9c81d5a57548f9b1 No revisions left to test, checking graph state. Result found: flight 65204 (pass), for last pass Result found: flight 65207 (fail), for first failure Repro found: flight 65209 (pass), for last pass Repro found: flight 65212 (fail), for first failure Repro found: flight 65213 (pass), for last pass Repro found: flight 65215 (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: 78c4a49a69e910a162b05e4e8727b9bdbf948f13 Bug not present: 8a70dd2669200ce83255ed8c5ebef7e59f9e8707 Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/65215/ commit 78c4a49a69e910a162b05e4e8727b9bdbf948f13 Merge: 9b81d51 c2489e0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 25 15:11:08 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs fixes from Al Viro: "A couple of fixes for sendfile lockups caught by Dmitry + a fix for ancient sysvfs symlink breakage" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: vfs: Avoid softlockups with sendfile(2) vfs: Make sendfile(2) killable even better fix sysvfs symlinks commit 9b81d512a4a89dadfd3887d1b4443eeb2c20c573 Merge: 4cf193b dcd8376 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 25 11:08:35 2015 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull more block layer fixes from Jens Axboe: "I wasn't going to send off a new pull before next week, but the blk flush fix from Jan from the other day introduced a regression. It's rare enough not to have hit during testing, since it requires both a device that rejects the first flush, and bad timing while it does that. But since someone did hit it, let's get the revert into 4.4-rc3 so we don't have a released rc with that known issue. Apart from that revert, three other fixes: - From Christoph, a fix for a missing unmap in NVMe request preparation. - An NVMe fix from Nishanth that fixes data corruption on powerpc. - Also from Christoph, fix a list_del() attempt on blk-mq that didn't have a matching list_add() at timer start" * 'for-linus' of git://git.kernel.dk/linux-block: Revert "blk-flush: Queue through IO scheduler when flush not required" block: fix blk_abort_request for blk-mq drivers nvme: add missing unmaps in nvme_queue_rq NVMe: default to 4k device page size commit dcd8376c369fa8fde8269e721b14f50475dd397b Author: Jens Axboe <axboe@xxxxxx> Date: Wed Nov 25 10:12:54 2015 -0700 Revert "blk-flush: Queue through IO scheduler when flush not required" This reverts commit 1b2ff19e6a957b1ef0f365ad331b608af80e932e. Jan writes: -- Thanks for report! After some investigation I found out we allocate elevator specific data in __get_request() only for non-flush requests. And this is actually required since the flush machinery uses the space in struct request for something else. Doh. So my patch is just wrong and not easy to fix since at the time __get_request() is called we are not sure whether the flush machinery will be used in the end. Jens, please revert 1b2ff19e6a957b1ef0f365ad331b608af80e932e. Thanks! I'm somewhat surprised that you can reliably hit the race where flushing gets disabled for the device just while the request is in flight. But I guess during boot it makes some sense. -- So let's just revert it, we can fix the queue run manually after the fact. This race is rare enough that it didn't trigger in testing, it requires the specific disable-while-in-flight scenario to trigger. commit 4cf193b4b2363bfed0b4e040e61f20d78192e2e0 Merge: 6ffeba9 b2467e7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 25 09:01:49 2015 -0800 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull KVM fixes from Paolo Bonzini: "Bug fixes for all architectures. Nothing really stands out" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (21 commits) KVM: nVMX: remove incorrect vpid check in nested invvpid emulation arm64: kvm: report original PAR_EL1 upon panic arm64: kvm: avoid %p in __kvm_hyp_panic KVM: arm/arm64: vgic: Trust the LR state for HW IRQs KVM: arm/arm64: arch_timer: Preserve physical dist. active state on LR.active KVM: arm/arm64: Fix preemptible timer active state crazyness arm64: KVM: Add workaround for Cortex-A57 erratum 834220 arm64: KVM: Fix AArch32 to AArch64 register mapping ARM/arm64: KVM: test properly for a PTE's uncachedness KVM: s390: fix wrong lookup of VCPUs by array index KVM: s390: avoid memory overwrites on emergency signal injection KVM: Provide function for VCPU lookup by id KVM: s390: fix pfmf intercept handler KVM: s390: enable SIMD only when no VCPUs were created KVM: x86: request interrupt window when IRQ chip is split KVM: x86: set KVM_REQ_EVENT on local interrupt request from user space KVM: x86: split kvm_vcpu_ready_for_interrupt_injection out of dm_request_for_irq_injection KVM: x86: fix interrupt window handling in split IRQ chip case MIPS: KVM: Uninit VCPU in vcpu_create error path MIPS: KVM: Fix CACHE immediate offset sign extension ... commit b2467e744f89fcb2e723143c2b78bcbaf391828a Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Wed Nov 25 17:21:39 2015 +0800 KVM: nVMX: remove incorrect vpid check in nested invvpid emulation This patch removes the vpid check when emulating nested invvpid instruction of type all-contexts invalidation. The existing code is incorrect because: (1) According to Intel SDM Vol 3, Section "INVVPID - Invalidate Translations Based on VPID", invvpid instruction does not check vpid in the invvpid descriptor when its type is all-contexts invalidation. (2) According to the same document, invvpid of type all-contexts invalidation does not require there is an active VMCS, so/and get_vmcs12() in the existing code may result in a NULL-pointer dereference. In practice, it can crash both KVM itself and L1 hypervisors that use invvpid (e.g. Xen). Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 55ce0da1da287822e5ffb5fcd6e357180d5ba4cd Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 30 20:47:04 2015 +0800 block: fix blk_abort_request for blk-mq drivers We only added the request to the request list for the !blk-mq case, so we should only delete it in that case as well. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bf508e910b02a6107a5aa054e03c6fc8a65dae1e Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 16 07:58:31 2015 +0200 nvme: add missing unmaps in nvme_queue_rq When we fail various metadata related operations in nvme_queue_rq we need to unmap the data SGL. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c5c9f25b98a568451d665afe4aeefe17bf9f2995 Author: Nishanth Aravamudan <nacc at linux.vnet.ibm.com> Date: Tue Nov 24 09:55:05 2015 -0700 NVMe: default to 4k device page size We received a bug report recently when DDW (64-bit direct DMA on Power) is not enabled for NVMe devices. In that case, we fall back to 32-bit DMA via the IOMMU, which is always done via 4K TCEs (Translation Control Entries). The NVMe device driver, though, assumes that the DMA alignment for the PRP entries will match the device's page size, and that the DMA aligment matches the kernel's page aligment. On Power, the the IOMMU page size, as mentioned above, can be 4K, while the device can have a page size of 8K, while the kernel has a page size of 64K. This eventually trips the BUG_ON in nvme_setup_prps(), as we have a 'dma_len' that is a multiple of 4K but not 8K (e.g., 0xF000). In this particular case of page sizes, we clearly want to use the IOMMU's page size in the driver. And generally, the NVMe driver in this function should be using the IOMMU's page size for the default device page size, rather than the kernel's page size. There is not currently an API to obtain the IOMMU's page size across all architectures and in the interest of a stop-gap fix to this functional issue, default the NVMe device page size to 4K, with the intent of adding such an API and implementation across all architectures in the next merge window. With the functionally equivalent v3 of this patch, our hardware test exerciser survives when using 32-bit DMA; without the patch, the kernel will BUG within a few minutes. Signed-off-by: Nishanth Aravamudan <nacc at linux.vnet.ibm.com> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6ffeba9607343f15303a399bc402a538800d89d9 Merge: 81b1a83 0fcb04d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 24 12:53:11 2015 -0800 Merge tag 'dm-4.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper fixes from Mike Snitzer: "Two fixes for 4.4-rc1's DM ioctl changes that introduced the potential for infinite recursion on ioctl (with DM multipath). And four stable fixes: - A DM thin-provisioning fix to restore 'error_if_no_space' setting when a thin-pool is made writable again (after having been out of space). - A DM thin-provisioning fix to properly advertise discard support for thin volumes that are stacked on a thin-pool whose underlying data device doesn't support discards. - A DM ioctl fix to allow ctrl-c to break out of an ioctl retry loop when DM multipath is configured to 'queue_if_no_path'. - A DM crypt fix for a possible hang on dm-crypt device removal" * tag 'dm-4.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm thin: fix regression in advertised discard limits dm crypt: fix a possible hang due to race condition on exit dm mpath: fix infinite recursion in ioctl when no paths and !queue_if_no_path dm: do not reuse dm_blk_ioctl block_device input as local variable dm: fix ioctl retry termination with signal dm thin: restore requested 'error_if_no_space' setting on OODS to WRITE transition commit 81b1a832d79749058863cffe2c0ed4ef40f6e6ec Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Nov 24 11:39:54 2015 -0800 pidns: fix NULL dereference in __task_pid_nr_ns() I got a crash during a "perf top" session that was caused by a race in __task_pid_nr_ns() : pid_nr_ns() was inlined, but apparently compiler chose to read task->pids[type].pid twice, and the pid->level dereference crashed because we got a NULL pointer at the second read : if (pid && ns->level <= pid->level) { // CRASH Just use RCU API properly to solve this race, and not worry about "perf top" crashing hosts :( get_task_pid() can benefit from same fix. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8bd142c01648cdb33e9bcafa0448ba2c20ed814c Merge: d792aba fbb4574 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Nov 24 19:34:40 2015 +0100 Merge tag 'kvm-arm-for-v4.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master KVM/ARM Fixes for v4.4-rc3. Includes some timer fixes, properly unmapping PTEs, an errata fix, and two tweaks to the EL2 panic code. commit 4ce01c518ebf6e3818abf5f4a9e1a1ef9d52f232 Merge: a293154 12e57f5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 24 10:26:30 2015 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block layer fixes from Jens Axboe: "A round of fixes/updates for the current series. This looks a little bigger than it is, but that's mainly because we pushed the lightnvm enabled null_blk change out of the merge window so it could be updated a bit. The rest of the volume is also mostly lightnvm. In particular: - Lightnvm. Various fixes, additions, updates from Matias and Javier, as well as from Wenwei Tao. - NVMe: - Fix for potential arithmetic overflow from Keith. - Also from Keith, ensure that we reap pending completions from a completion queue before deleting it. Fixes kernel crashes when resetting a device with IO pending. - Various little lightnvm related tweaks from Matias. - Fixup flushes to go through the IO scheduler, for the cases where a flush is not required. Fixes a case in CFQ where we would be idling and not see this request, hence not break the idling. From Jan Kara. - Use list_{first,prev,next} in elevator.c for cleaner code. From Gelian Tang. - Fix for a warning trigger on btrfs and raid on single queue blk-mq devices, where we would flush plug callbacks with preemption disabled. From me. - A mac partition validation fix from Kees Cook. - Two merge fixes from Ming, marked stable. A third part is adding a new warning so we'll notice this quicker in the future, if we screw up the accounting. - Cleanup of thread name/creation in mtip32xx from Rasmus Villemoes" * 'for-linus' of git://git.kernel.dk/linux-block: (32 commits) blk-merge: warn if figured out segment number is bigger than nr_phys_segments blk-merge: fix blk_bio_segment_split block: fix segment split blk-mq: fix calling unplug callbacks with preempt disabled mac: validate mac_partition is within sector mtip32xx: use formatting capability of kthread_create_on_node NVMe: reap completion entries when deleting queue lightnvm: add free and bad lun info to show luns lightnvm: keep track of block counts nvme: lightnvm: use admin queues for admin cmds lightnvm: missing free on init error lightnvm: wrong return value and redundant free null_blk: do not del gendisk with lightnvm null_blk: use device addressing mode null_blk: use ppa_cache pool NVMe: Fix possible arithmetic overflow for max segments blk-flush: Queue through IO scheduler when flush not required null_blk: register as a LightNVM device elevator: use list_{first,prev,next}_entry lightnvm: cleanup queue before target removal ... commit fbb4574ce9a37e15a9872860bf202f2be5bdf6c4 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Nov 16 13:58:29 2015 +0000 arm64: kvm: report original PAR_EL1 upon panic If we call __kvm_hyp_panic while a guest context is active, we call __restore_sysregs before acquiring the system register values for the panic, in the process throwing away the PAR_EL1 value at the point of the panic. This patch modifies __kvm_hyp_panic to stash the PAR_EL1 value prior to restoring host register values, enabling us to report the original values at the point of the panic. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 1d7a4e313abbc7200982e5a68121483a3aa32295 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Nov 16 13:55:51 2015 +0000 arm64: kvm: avoid %p in __kvm_hyp_panic Currently __kvm_hyp_panic uses %p for values which are not pointers, such as the ESR value. This can confusingly lead to "(null)" being printed for the value. Use %x instead, and only use %p for host pointers. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 9f958c11b780af74fc311b96d6124740aa21cc68 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Nov 24 16:34:31 2015 +0100 KVM: arm/arm64: vgic: Trust the LR state for HW IRQs We were probing the physial distributor state for the active state of a HW virtual IRQ, because we had seen evidence that the LR state was not cleared when the guest deactivated a virtual interrupted. However, this issue turned out to be a software bug in the GIC, which was solved by: 84aab5e68c2a5e1e18d81ae8308c3ce25d501b29 (KVM: arm/arm64: arch_timer: Preserve physical dist. active state on LR.active, 2015-11-24) Therefore, get rid of the complexities and just look at the LR. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 0e3dfda91d9fe8e2c4d0b5d21434b173a241eeaf Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Nov 24 16:23:05 2015 +0100 KVM: arm/arm64: arch_timer: Preserve physical dist. active state on LR.active We were incorrectly removing the active state from the physical distributor on the timer interrupt when the timer output level was deasserted. We shouldn't be doing this without considering the virtual interrupt's active state, because the architecture requires that when an LR has the HW bit set and the pending or active bits set, then the physical interrupt must also have the corresponding bits set. This addresses an issue where we have been observing an inconsistency between the LR state and the physical distributor state where the LR state was active and the physical distributor was not active, which shouldn't happen. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 7e16aa81f9f6a7cfe2287b788a7d62abc2880185 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Nov 24 10:31:07 2015 +0100 KVM: arm/arm64: Fix preemptible timer active state crazyness We were setting the physical active state on the GIC distributor in a preemptible section, which could cause us to set the active state on different physical CPU from the one we were actually going to run on, hacoc ensues. Since we are no longer descheduling/scheduling soft timers in the flush/sync timer functions, simply moving the timer flush into a non-preemptible section. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 498cd5c32be6e32bc0f8efcad48ab094bb2bfdf3 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Nov 16 10:28:18 2015 +0000 arm64: KVM: Add workaround for Cortex-A57 erratum 834220 Cortex-A57 parts up to r1p2 can misreport Stage 2 translation faults when a Stage 1 permission fault or device alignment fault should have been reported. This patch implements the workaround (which is to validate that the Stage-1 translation actually succeeds) by using code patching. Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c0f0963464c24e034b858441205455bf2a5d93ad Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Nov 16 10:28:17 2015 +0000 arm64: KVM: Fix AArch32 to AArch64 register mapping When running a 32bit guest under a 64bit hypervisor, the ARMv8 architecture defines a mapping of the 32bit registers in the 64bit space. This includes banked registers that are being demultiplexed over the 64bit ones. On exceptions caused by an operation involving a 32bit register, the HW exposes the register number in the ESR_EL2 register. It was so far understood that SW had to distinguish between AArch32 and AArch64 accesses (based on the current AArch32 mode and register number). It turns out that I misinterpreted the ARM ARM, and the clue is in D1.20.1: "For some exceptions, the exception syndrome given in the ESR_ELx identifies one or more register numbers from the issued instruction that generated the exception. Where the exception is taken from an Exception level using AArch32 these register numbers give the AArch64 view of the register." Which means that the HW is already giving us the translated version, and that we shouldn't try to interpret it at all (for example, doing an MMIO operation from the IRQ mode using the LR register leads to very unexpected behaviours). The fix is thus not to perform a call to vcpu_reg32() at all from vcpu_reg(), and use whatever register number is supplied directly. The only case we need to find out about the mapping is when we actively generate a register access, which only occurs when injecting a fault in a guest. Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit e6fab54423450d699a09ec2b899473a541f61971 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Nov 10 15:11:20 2015 +0100 ARM/arm64: KVM: test properly for a PTE's uncachedness The open coded tests for checking whether a PTE maps a page as uncached use a flawed '(pte_val(xxx) & CONST) != CONST' pattern, which is not guaranteed to work since the type of a mapping is not a set of mutually exclusive bits For HYP mappings, the type is an index into the MAIR table (i.e, the index itself does not contain any information whatsoever about the type of the mapping), and for stage-2 mappings it is a bit field where normal memory and device types are defined as follows: #define MT_S2_NORMAL 0xf #define MT_S2_DEVICE_nGnRE 0x1 I.e., masking *and* comparing with the latter matches on the former, and we have been getting lucky merely because the S2 device mappings also have the PTE_UXN bit set, or we would misidentify memory mappings as device mappings. Since the unmap_range() code path (which contains one instance of the flawed test) is used both for HYP mappings and stage-2 mappings, and considering the difference between the two, it is non-trivial to fix this by rewriting the tests in place, as it would involve passing down the type of mapping through all the functions. However, since HYP mappings and stage-2 mappings both deal with host physical addresses, we can simply check whether the mapping is backed by memory that is managed by the host kernel, and only perform the D-cache maintenance if this is the case. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 12e57f59ca3344a588531f68eeede45666e8a6e0 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Nov 24 10:35:31 2015 +0800 blk-merge: warn if figured out segment number is bigger than nr_phys_segments We had seen lots of reports of this kind issue, so add one warnning in blk-merge, then it can be triggered easily and avoid to depend on warning/bug from drivers. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 02e707424c2eadbcda68cd38876c9f4434ca8e1a Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Nov 24 10:35:30 2015 +0800 blk-merge: fix blk_bio_segment_split Commit bdced438acd83a(block: setup bi_phys_segments after splitting) introduces function of computing bio->bi_phys_segments during bio splitting. Unfortunately both bio->bi_seg_front_size and bio->bi_seg_back_size arn't computed, so too many physical segments may be obtained for one request since both the two are used to check if one segment across two bios can be possible. This patch fixes the issue by computing the two variables in blk_bio_segment_split(). Fixes: bdced438acd83a(block: setup bi_phys_segments after splitting) Reported-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reported-by: Mark Salter <msalter@xxxxxxxxxx> Tested-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Tested-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 578270bfbd2803dc7b0b03fbc2ac119efbc73195 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Nov 24 10:35:29 2015 +0800 block: fix segment split Inside blk_bio_segment_split(), previous bvec pointer(bvprvp) always points to the iterator local variable, which is obviously wrong, so fix it by pointing to the local variable of 'bvprv'. Fixes: 5014c311baa2b(block: fix bogus compiler warnings in blk-merge.c) Cc: stable@xxxxxxxxxx #4.3 Reported-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Reported-by: Mark Salter <msalter@xxxxxxxxxx> Tested-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Tested-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c2489e07c0a71a56fb2c84bc0ee66cddfca7d068 Author: Jan Kara <jack@xxxxxxx> Date: Mon Nov 23 13:09:51 2015 +0100 vfs: Avoid softlockups with sendfile(2) The following test program from Dmitry can cause softlockups or RCU stalls as it copies 1GB from tmpfs into eventfd and we don't have any scheduling point at that path in sendfile(2) implementation: int r1 = eventfd(0, 0); int r2 = memfd_create("", 0); unsigned long n = 1<<30; fallocate(r2, 0, 0, n); sendfile(r1, r2, 0, n); Add cond_resched() into __splice_from_pipe() to fix the problem. CC: Dmitry Vyukov <dvyukov@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c725bfce7968009756ed2836a8cd7ba4dc163011 Author: Jan Kara <jack@xxxxxxx> Date: Mon Nov 23 13:09:50 2015 +0100 vfs: Make sendfile(2) killable even better Commit 296291cdd162 (mm: make sendfile(2) killable) fixed an issue where sendfile(2) was doing a lot of tiny writes into a filesystem and thus was unkillable for a long time. However sendfile(2) can be (mis)used to issue lots of writes into arbitrary file descriptor such as evenfd or similar special file descriptors which never hit the standard filesystem write path and thus are still unkillable. E.g. the following example from Dmitry burns CPU for ~16s on my test system without possibility to be killed: int r1 = eventfd(0, 0); int r2 = memfd_create("", 0); unsigned long n = 1<<30; fallocate(r2, 0, 0, n); sendfile(r1, r2, 0, n); There are actually quite a few tests for pending signals in sendfile code however we data to write is always available none of them seems to trigger. So fix the problem by adding a test for pending signal into splice_from_pipe_next() also before the loop waiting for pipe buffers to be available. This should fix all the lockup issues with sendfile of the do-ton-of-tiny-writes nature. CC: stable@xxxxxxxxxxxxxxx Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0ebf7f10d67a70e120f365018f1c5fce9ddc567d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Nov 23 21:11:08 2015 -0500 fix sysvfs symlinks The thing got broken back in 2002 - sysvfs does *not* have inline symlinks; even short ones have bodies stored in the first block of file. sysv_symlink() handles that correctly; unfortunately, attempting to look an existing symlink up will end up confusing them for inline symlinks, and interpret the block number containing the body as the body itself. Nobody has noticed until now, which says something about the level of testing sysvfs gets ;-/ Cc: stable@xxxxxxxxxxxxxxx # all of them, not that anyone cared Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a2931547eee19201856a89406397ecc1f978deaf Merge: 1ec2183 2ce47b4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 23 13:19:27 2015 -0800 Merge tag 'linux-kselftest-4.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest fixes from Shuah Khan: "This update consists of one minor documentation fix and a fix to an existing test" * tag 'linux-kselftest-4.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests/seccomp: Get page size from sysconf tools:testing/selftests: fix typo in futex/README commit 0fcb04d59351f790efb8da18edefd6ab4d9bbf3b Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Mon Nov 23 13:44:38 2015 -0500 dm thin: fix regression in advertised discard limits When establishing a thin device's discard limits we cannot rely on the underlying thin-pool device's discard capabilities (which are inherited from the thin-pool's underlying data device) given that DM thin devices must provide discard support even when the thin-pool's underlying data device doesn't support discards. Users were exposed to this thin device discard limits regression if their thin-pool's underlying data device does _not_ support discards. This regression caused all upper-layers that called the blkdev_issue_discard() interface to not be able to issue discards to thin devices (because discard_granularity was 0). This regression wasn't caught earlier because the device-mapper-test-suite's extensive 'thin-provisioning' discard tests are only ever performed against thin-pool's with data devices that support discards. Fix is to have thin_io_hints() test the pool's 'discard_enabled' feature rather than inferring whether or not a thin device's discard support should be enabled by looking at the thin-pool's discard_granularity. Fixes: 216076705 ("dm thin: disable discard support for thin devices if pool's is disabled") Reported-by: Mike Gerber <mike@xxxxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.1+ commit 1ec218373b8ebda821aec00bb156a9c94fad9cd4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 16:45:59 2015 -0800 Linux 4.4-rc2 commit 104e2a6f8b3df8b8200c7f4ac23feb079a44e4f3 Merge: dcfeda9 865762a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 15:21:40 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge slub bulk allocator updates from Andrew Morton: "This missed the merge window because I was waiting for some repairs to come in. Nothing actually uses the bulk allocator yet and the changes to other code paths are pretty small. And the net guys are waiting for this so they can start merging the client code" More comments from Jesper Dangaard Brouer: "The kmem_cache_alloc_bulk() call, in mm/slub.c, were included in previous kernel. The present version contains a bug. Vladimir Davydov noticed it contained a bug, when kernel is compiled with CONFIG_MEMCG_KMEM (see commit 03ec0ed57ffc: "slub: fix kmem cgroup bug in kmem_cache_alloc_bulk"). Plus the mem cgroup counterpart in kmem_cache_free_bulk() were missing (see commit 033745189b1b "slub: add missing kmem cgroup support to kmem_cache_free_bulk"). I don't consider the fix stable-material because there are no in-tree users of the API. But with known bugs (for memcg) I cannot start using the API in the net-tree" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: slab/slub: adjust kmem_cache_alloc_bulk API slub: add missing kmem cgroup support to kmem_cache_free_bulk slub: fix kmem cgroup bug in kmem_cache_alloc_bulk slub: optimize bulk slowpath free by detached freelist slub: support for bulk free with SLUB freelists commit dcfeda9d5f52bf43ae4297d8102a76d88b778d93 Merge: 7f21739 bd63acf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 15:10:57 2015 -0800 Merge tag 'tty-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial fixes from Greg KH: "Here are a few small tty/serial driver fixes for 4.4-rc2 that resolve some reported problems. All have been in linux-next, full details are in the shortlog below" * tag 'tty-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: serial: export fsl8250_handle_irq serial: 8250_mid: Add missing dependency tty: audit: Fix audit source serial: etraxfs-uart: Fix crash serial: fsl_lpuart: Fix earlycon support bcm63xx_uart: Use the device name when registering an interrupt tty: Fix direct use of tty buffer work tty: Fix tty_send_xchar() lock order inversion commit 7f21739301bf894607f64cbb36add761fa4cb772 Merge: 6d2d91b b57f9f3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 13:26:24 2015 -0800 Merge tag 'staging-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging/IIO fixes from Greg KH: "Here are some staging and iio driver fixes for 4.4-rc2. All of these are in response to issues that have been reported and have been in linux-next for a while" * tag 'staging-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: Revert "Staging: wilc1000: coreconfigurator: Drop unneeded wrapper functions" iio: adc: xilinx: Fix VREFN scale iio: si7020: Swap data byte order iio: adc: vf610_adc: Fix division by zero error iio:ad7793: Fix ad7785 product ID iio: ad5064: Fix ad5629/ad5669 shift iio:ad5064: Make sure ad5064_i2c_write() returns 0 on success iio: lpc32xx_adc: fix warnings caused by enabling unprepared clock staging: iio: select IRQ_WORK for IIO_DUMMY_EVGEN vf610_adc: Fix internal temperature calculation commit 6d2d91b3e463a10a745616650066e28b42af649d Merge: 0ec7dc8 19cd80a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 13:15:05 2015 -0800 Merge tag 'usb-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are a number of USB fixes and new device ids for 4.4-rc2. All have been in linux-next and the details are in the shortlog" * tag 'usb-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (28 commits) usblp: do not set TASK_INTERRUPTIBLE before lock USB: MAINTAINERS: cxacru usb: kconfig: fix warning of select USB_OTG USB: option: add XS Stick W100-2 from 4G Systems xhci: Fix a race in usb2 LPM resume, blocking U3 for usb2 devices usb: xhci: fix checking ep busy for CFC xhci: Workaround to get Intel xHCI reset working more reliably usb: chipidea: imx: fix a possible NULL dereference usb: chipidea: usbmisc_imx: fix a possible NULL dereference usb: chipidea: otg: gadget module load and unload support usb: chipidea: debug: disable usb irq while role switch ARM: dts: imx27.dtsi: change the clock information for usb usb: chipidea: imx: refine clock operations to adapt for all platforms usb: gadget: atmel_usba_udc: Expose correct device speed usb: musb: enable usb_dma parameter usb: phy: phy-mxs-usb: fix a possible NULL dereference usb: dwc3: gadget: let us set lower max_speed usb: musb: fix tx fifo flush handling usb: gadget: f_loopback: fix the warning during the enumeration usb: dwc2: host: Fix remote wakeup when not in DWC2_L2 ... commit 0ec7dc8d19683ae292a4866c155824b647226103 Merge: 94521b2 55f1d59 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 12:59:46 2015 -0800 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS fixes from Ralf Baechle: - Fix a flood of annoying build warnings - A number of fixes for Atheros 79xx platforms * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: ath79: Add a machine entry for booting OF machines MIPS: ath79: Fix the size of the MISC INTC registers in ar9132.dtsi MIPS: ath79: Fix the DDR control initialization on ar71xx and ar934x MIPS: Fix flood of warnings about comparsion being always true. commit 94521b2fd27b5ef43573f9f425a48839fa80ebaa Merge: 727cde6 41b85a1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 12:50:58 2015 -0800 Merge branch 'parisc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc update from Helge Deller: "This patchset adds Huge Page and HUGETLBFS support for parisc" Honestly, the hugepage support should have gone through in the merge window, and is not really an rc-time fix. But it only touches arch/parisc, and I cannot find it in myself to care. If one of the three parisc users notices a breakage, I will point at Helge and make rude farting noises. * 'parisc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Map kernel text and data on huge pages parisc: Add Huge Page and HUGETLBFS support parisc: Use long branch to do_syscall_trace_exit parisc: Increase initial kernel mapping to 32MB on 64bit kernel parisc: Initialize the fault vector earlier in the boot process. parisc: Add defines for Huge page support parisc: Drop unused MADV_xxxK_PAGES flags from asm/mman.h parisc: Drop definition of start_thread_som for HP-UX SOM binaries parisc: Fix wrong comment regarding first pmd entry flags commit 727cde6c3af38ebb2dbc40e0b32499a55051851d Merge: 069ec22 e15bf88 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 12:37:20 2015 -0800 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf tool fixes from Thomas Gleixner: "A couple of fixes for perf tools: - Build system updates - Plug a memory leak in an error path of perf probe - Tear down probes correctly when adding fails - Fixes to the perf symbol handling - Fix ordering of event processing in buildid-list - Fix per DSO filtering in the histogram browser" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf probe: Clear probe_trace_event when add_probe_trace_event() fails perf probe: Fix memory leaking on failure by clearing all probe_trace_events perf inject: Also re-pipe lost_samples event perf buildid-list: Requires ordered events perf symbols: Fix dso lookup by long name and missing buildids perf symbols: Allow forcing reading of non-root owned files by root perf hists browser: The dso can be obtained from popup_action->ms.map->dso perf hists browser: Fix 'd' hotkey action to filter by DSO perf symbols: Rebuild rbtree when adjusting symbols for kcore tools: Add a "make all" rule tools: Actually install tmon in the install rule commit 069ec22915b0932e1c2da53255a705593743374f Merge: 3ad5d7e 581b7f15 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 22 12:00:12 2015 -0800 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Thomas Gleixner: "This update contains: - MPX updates for handling 32bit processes - A fix for a long standing bug in 32bit signal frame handling related to FPU/XSAVE state - Handle get_xsave_addr() correctly in KVM - Fix SMAP check under paravirtualization - Add a comment to the static function trace entry to avoid further confusion about the difference to dynamic tracing" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu: Fix SMAP check in PVOPS environments x86/ftrace: Add comment on static function tracing x86/fpu: Fix get_xsave_addr() behavior under virtualization x86/fpu: Fix 32-bit signal frame handling x86/mpx: Fix 32-bit address space calculation x86/mpx: Do proper get_user() when running 32-bit binaries on 64-bit kernels commit 865762a8119e74b5f0e236d2d8eaaf8be9292a06 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:58 2015 -0800 slab/slub: adjust kmem_cache_alloc_bulk API Adjust kmem_cache_alloc_bulk API before we have any real users. Adjust API to return type 'int' instead of previously type 'bool'. This is done to allow future extension of the bulk alloc API. A future extension could be to allow SLUB to stop at a page boundary, when specified by a flag, and then return the number of objects. The advantage of this approach, would make it easier to make bulk alloc run without local IRQs disabled. With an approach of cmpxchg "stealing" the entire c->freelist or page->freelist. To avoid overshooting we would stop processing at a slab-page boundary. Else we always end up returning some objects at the cost of another cmpxchg. To keep compatible with future users of this API linking against an older kernel when using the new flag, we need to return the number of allocated objects with this API change. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: 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 033745189b1bae3fc931beeaf48604ee7c259309 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:55 2015 -0800 slub: add missing kmem cgroup support to kmem_cache_free_bulk Initial implementation missed support for kmem cgroup support in kmem_cache_free_bulk() call, add this. If CONFIG_MEMCG_KMEM is not enabled, the compiler should be smart enough to not add any asm code. Incoming bulk free objects can belong to different kmem cgroups, and object free call can happen at a later point outside memcg context. Thus, we need to keep the orig kmem_cache, to correctly verify if a memcg object match against its "root_cache" (s->memcg_params.root_cache). Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@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 03ec0ed57ffc77720b811dbb6d44733b58360d9f Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:52 2015 -0800 slub: fix kmem cgroup bug in kmem_cache_alloc_bulk The call slab_pre_alloc_hook() interacts with kmemgc and is not allowed to be called several times inside the bulk alloc for loop, due to the call to memcg_kmem_get_cache(). This would result in hitting the VM_BUG_ON in __memcg_kmem_get_cache. As suggested by Vladimir Davydov, change slab_post_alloc_hook() to be able to handle an array of objects. A subtle detail is, loop iterator "i" in slab_post_alloc_hook() must have same type (size_t) as size argument. This helps the compiler to easier realize that it can remove the loop, when all debug statements inside loop evaluates to nothing. Note, this is only an issue because the kernel is compiled with GCC option: -fno-strict-overflow In slab_alloc_node() the compiler inlines and optimizes the invocation of slab_post_alloc_hook(s, flags, 1, &object) by removing the loop and access object directly. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Reported-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Suggested-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@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 d0ecd894e3d5f768a84403b34019c4a7daa05882 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:49 2015 -0800 slub: optimize bulk slowpath free by detached freelist This change focus on improving the speed of object freeing in the "slowpath" of kmem_cache_free_bulk. The calls slab_free (fastpath) and __slab_free (slowpath) have been extended with support for bulk free, which amortize the overhead of the (locked) cmpxchg_double. To use the new bulking feature, we build what I call a detached freelist. The detached freelist takes advantage of three properties: 1) the free function call owns the object that is about to be freed, thus writing into this memory is synchronization-free. 2) many freelist's can co-exist side-by-side in the same slab-page each with a separate head pointer. 3) it is the visibility of the head pointer that needs synchronization. Given these properties, the brilliant part is that the detached freelist can be constructed without any need for synchronization. The freelist is constructed directly in the page objects, without any synchronization needed. The detached freelist is allocated on the stack of the function call kmem_cache_free_bulk. Thus, the freelist head pointer is not visible to other CPUs. All objects in a SLUB freelist must belong to the same slab-page. Thus, constructing the detached freelist is about matching objects that belong to the same slab-page. The bulk free array is scanned is a progressive manor with a limited look-ahead facility. Kmem debug support is handled in call of slab_free(). Notice kmem_cache_free_bulk no longer need to disable IRQs. This only slowed down single free bulk with approx 3 cycles. Performance data: Benchmarked[1] obj size 256 bytes on CPU i7-4790K @ 4.00GHz SLUB fastpath single object quick reuse: 47 cycles(tsc) 11.931 ns To get stable and comparable numbers, the kernel have been booted with "slab_merge" (this also improve performance for larger bulk sizes). Performance data, compared against fallback bulking: bulk - fallback bulk - improvement with this patch 1 - 62 cycles(tsc) 15.662 ns - 49 cycles(tsc) 12.407 ns- improved 21.0% 2 - 55 cycles(tsc) 13.935 ns - 30 cycles(tsc) 7.506 ns - improved 45.5% 3 - 53 cycles(tsc) 13.341 ns - 23 cycles(tsc) 5.865 ns - improved 56.6% 4 - 52 cycles(tsc) 13.081 ns - 20 cycles(tsc) 5.048 ns - improved 61.5% 8 - 50 cycles(tsc) 12.627 ns - 18 cycles(tsc) 4.659 ns - improved 64.0% 16 - 49 cycles(tsc) 12.412 ns - 17 cycles(tsc) 4.495 ns - improved 65.3% 30 - 49 cycles(tsc) 12.484 ns - 18 cycles(tsc) 4.533 ns - improved 63.3% 32 - 50 cycles(tsc) 12.627 ns - 18 cycles(tsc) 4.707 ns - improved 64.0% 34 - 96 cycles(tsc) 24.243 ns - 23 cycles(tsc) 5.976 ns - improved 76.0% 48 - 83 cycles(tsc) 20.818 ns - 21 cycles(tsc) 5.329 ns - improved 74.7% 64 - 74 cycles(tsc) 18.700 ns - 20 cycles(tsc) 5.127 ns - improved 73.0% 128 - 90 cycles(tsc) 22.734 ns - 27 cycles(tsc) 6.833 ns - improved 70.0% 158 - 99 cycles(tsc) 24.776 ns - 30 cycles(tsc) 7.583 ns - improved 69.7% 250 - 104 cycles(tsc) 26.089 ns - 37 cycles(tsc) 9.280 ns - improved 64.4% Performance data, compared current in-kernel bulking: bulk - curr in-kernel - improvement with this patch 1 - 46 cycles(tsc) - 49 cycles(tsc) - improved (cycles:-3) -6.5% 2 - 27 cycles(tsc) - 30 cycles(tsc) - improved (cycles:-3) -11.1% 3 - 21 cycles(tsc) - 23 cycles(tsc) - improved (cycles:-2) -9.5% 4 - 18 cycles(tsc) - 20 cycles(tsc) - improved (cycles:-2) -11.1% 8 - 17 cycles(tsc) - 18 cycles(tsc) - improved (cycles:-1) -5.9% 16 - 18 cycles(tsc) - 17 cycles(tsc) - improved (cycles: 1) 5.6% 30 - 18 cycles(tsc) - 18 cycles(tsc) - improved (cycles: 0) 0.0% 32 - 18 cycles(tsc) - 18 cycles(tsc) - improved (cycles: 0) 0.0% 34 - 78 cycles(tsc) - 23 cycles(tsc) - improved (cycles:55) 70.5% 48 - 60 cycles(tsc) - 21 cycles(tsc) - improved (cycles:39) 65.0% 64 - 49 cycles(tsc) - 20 cycles(tsc) - improved (cycles:29) 59.2% 128 - 69 cycles(tsc) - 27 cycles(tsc) - improved (cycles:42) 60.9% 158 - 79 cycles(tsc) - 30 cycles(tsc) - improved (cycles:49) 62.0% 250 - 86 cycles(tsc) - 37 cycles(tsc) - improved (cycles:49) 57.0% Performance with normal SLUB merging is significantly slower for larger bulking. This is believed to (primarily) be an effect of not having to share the per-CPU data-structures, as tuning per-CPU size can achieve similar performance. bulk - slab_nomerge - normal SLUB merge 1 - 49 cycles(tsc) - 49 cycles(tsc) - merge slower with cycles:0 2 - 30 cycles(tsc) - 30 cycles(tsc) - merge slower with cycles:0 3 - 23 cycles(tsc) - 23 cycles(tsc) - merge slower with cycles:0 4 - 20 cycles(tsc) - 20 cycles(tsc) - merge slower with cycles:0 8 - 18 cycles(tsc) - 18 cycles(tsc) - merge slower with cycles:0 16 - 17 cycles(tsc) - 17 cycles(tsc) - merge slower with cycles:0 30 - 18 cycles(tsc) - 23 cycles(tsc) - merge slower with cycles:5 32 - 18 cycles(tsc) - 22 cycles(tsc) - merge slower with cycles:4 34 - 23 cycles(tsc) - 22 cycles(tsc) - merge slower with cycles:-1 48 - 21 cycles(tsc) - 22 cycles(tsc) - merge slower with cycles:1 64 - 20 cycles(tsc) - 48 cycles(tsc) - merge slower with cycles:28 128 - 27 cycles(tsc) - 57 cycles(tsc) - merge slower with cycles:30 158 - 30 cycles(tsc) - 59 cycles(tsc) - merge slower with cycles:29 250 - 37 cycles(tsc) - 56 cycles(tsc) - merge slower with cycles:19 Joint work with Alexander Duyck. [1] https://github.com/netoptimizer/prototype-kernel/blob/master/kernel/mm/slab_bulk_test01.c [akpm@xxxxxxxxxxxxxxxxxxxx: BUG_ON -> WARN_ON;return] Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Acked-by: 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 81084651d73737988355f167065fab8a73574db1 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:46 2015 -0800 slub: support for bulk free with SLUB freelists Make it possible to free a freelist with several objects by adjusting API of slab_free() and __slab_free() to have head, tail and an objects counter (cnt). Tail being NULL indicate single object free of head object. This allow compiler inline constant propagation in slab_free() and slab_free_freelist_hook() to avoid adding any overhead in case of single object free. This allows a freelist with several objects (all within the same slab-page) to be free'ed using a single locked cmpxchg_double in __slab_free() and with an unlocked cmpxchg_double in slab_free(). Object debugging on the free path is also extended to handle these freelists. When CONFIG_SLUB_DEBUG is enabled it will also detect if objects don't belong to the same slab-page. These changes are needed for the next patch to bulk free the detached freelists it introduces and constructs. Micro benchmarking showed no performance reduction due to this change, when debugging is turned off (compiled with CONFIG_SLUB_DEBUG). Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Acked-by: 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 41b85a1163386f8328ad570f383973cb3975d2fa Author: Helge Deller <deller@xxxxxx> Date: Sun Nov 22 00:07:44 2015 +0100 parisc: Map kernel text and data on huge pages Adjust the linker script and map_pages() to map kernel text and data on physical 1MB huge/large pages. Signed-off-by: Helge Deller <deller@xxxxxx> commit 736d2169338a50c8814efc186b5423aee43b0c68 Author: Helge Deller <deller@xxxxxx> Date: Sun Nov 22 00:07:06 2015 +0100 parisc: Add Huge Page and HUGETLBFS support This patch adds huge page support to allow userspace to allocate huge pages and to use hugetlbfs filesystem on 32- and 64-bit Linux kernels. A later patch will add kernel support to map kernel text and data on huge pages. The only requirement is, that the kernel needs to be compiled for a PA8X00 CPU (PA2.0 architecture). Older PA1.X CPUs do not support variable page sizes. 64bit Kernels are compiled for PA2.0 by default. Technically on parisc multiple physical huge pages may be needed to emulate standard 2MB huge pages. Signed-off-by: Helge Deller <deller@xxxxxx> commit 337685e556c6f080bf4775950e3b9493852715f8 Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 11:22:32 2015 +0100 parisc: Use long branch to do_syscall_trace_exit Use the 22bit instead of the 17bit branch instruction on a 64bit kernel to reach the do_syscall_trace_exit function from the gateway page. A huge page enabled kernel may need the additional branch distance bits. Signed-off-by: Helge Deller <deller@xxxxxx> commit 332b42e4eb6e955f3be0bbbf1f272aa943954d98 Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 11:17:27 2015 +0100 parisc: Increase initial kernel mapping to 32MB on 64bit kernel For the 64bit kernel the initially 16 MB kernel memory might become too small if you build a kernel with many modules built-in and with kernel text and data areas mapped on huge pages. This patch increases the initial mapping to 32MB for 64bit kernels and keeps 16MB for 32bit kernels. Signed-off-by: Helge Deller <deller@xxxxxx> commit 4182d0cdf853fb044b969318289ae9f451f69c86 Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 10:50:01 2015 +0100 parisc: Initialize the fault vector earlier in the boot process. A fault vector on parisc needs to be 2K aligned. Furthermore the checksum of the fault vector needs to sum up to 0 which is being calculated and written at runtime. Up to now we aligned both PA20 and PA11 fault vectors on the same 4K page in order to easily write the checksum after having mapped the kernel read-only (by mapping this page only as read-write). But when we want to map the kernel text and data on huge pages this makes things harder. So, simplify it by aligning both fault vectors on 2K boundries and write the checksum before we map the page read-only. Signed-off-by: Helge Deller <deller@xxxxxx> commit 1f25ad26d65b3740f44d6e03edcd34a5f7b58850 Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 15:46:52 2015 +0100 parisc: Add defines for Huge page support Huge pages on parisc will have the same size as one pmd table, which is on a 64bit kernel 2MB on a kernel with 4K kernel page sizes, and on a 32bit kernel 4MB when used with 4K kernel pages. Since parisc does not physically supports 2MB huge page sizes, emulate it with two consecutive 1MB page sizes instead. Keeping the same huge page size as one pmd will allow us to add transparent huge page support later on. Bit 21 in the pte flags was unused and will now be used to mark a page as huge page (_PAGE_HPAGE_BIT). Signed-off-by: Helge Deller <deller@xxxxxx> commit dcbf0d299c00ed4f82ea8d6e359ad88a5182f9b8 Author: Helge Deller <deller@xxxxxx> Date: Sun Nov 22 12:14:14 2015 +0100 parisc: Drop unused MADV_xxxK_PAGES flags from asm/mman.h Drop the MADV_xxK_PAGES flags, which were never used and were from a proposed API which was never integrated into the generic Linux kernel code. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Helge Deller <deller@xxxxxx> commit 3ad5d7e06a96d54a55acb5ab25938a06814605c8 Merge: 707b4f4 b4a6471 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 21 10:49:13 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge misc fixes from Andrew Morton: "A bunch of fixes" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: slub: mark the dangling ifdef #else of CONFIG_SLUB_DEBUG slub: avoid irqoff/on in bulk allocation slub: create new ___slab_alloc function that can be called with irqs disabled mm: fix up sparse warning in gfpflags_allow_blocking ocfs2: fix umask ignored issue PM/OPP: add entry in MAINTAINERS kernel/panic.c: turn off locks debug before releasing console lock kernel/signal.c: unexport sigsuspend() kasan: fix kmemleak false-positive in kasan_module_alloc() fat: fix fake_offset handling on error path mm/hugetlbfs: fix bugs in fallocate hole punch of areas with holes mm/page-writeback.c: initialize m_dirty to avoid compile warning various: fix pci_set_dma_mask return value checking mm: loosen MADV_NOHUGEPAGE to enable Qemu postcopy on s390 mm: vmalloc: don't remove inexistent guard hole in remove_vm_area() tools/vm/page-types.c: support KPF_IDLE ncpfs: don't allow negative timeouts configfs: allow dynamic group creation MAINTAINERS: add Moritz as reviewer for FPGA Manager Framework slab.h: sprinkle __assume_aligned attributes commit 707b4f493e77638387f29d5ea35e383c418e710d Merge: 4143fc8 3da6d49 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 21 10:26:24 2015 -0800 Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fixes from Thomas Gleixner: "Two timer fixlets from Arnd: - Use proper constant size in the FSL timer driver - Prevent a build error for legacy platforms" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: clocksource: Disallow drivers for ARCH_USES_GETTIMEOFFSET clocksource/fsl: Avoid harmless 64-bit warnings commit 4143fc83bb0c05a4e2042d78e18a75156e914260 Merge: 876454a 1c7d4dd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 21 10:19:15 2015 -0800 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq fixes from Thomas Gleixner: "Three fixes for the ARM GIC interrupt controller from Marc addressing various shortcomings versus boot initialization and suspend/resume" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip/gic: Add save/restore of the active state irqchip/gic: Clear enable bits before restoring them irqchip/gic: Make sure all interrupts are deactivated at boot commit 876454ac1a710acd434c2f23617f91d7df82387b Merge: 81051f9 1ddaa02 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 21 09:52:07 2015 -0800 Merge tag 'for-linus-20151120' of git://git.infradead.org/linux-mtd Pull MTD fixes from Brian Norris: - MAINTAINERS updates for brcmnand driver - Fix reboot hangs seen when multiple NAND flash chips are registered with the same controller - Fix build issues on jz4740 NAND driver; the error was introduced in 4.3, so I guess nobody really cared, but we might as well fix it * tag 'for-linus-20151120' of git://git.infradead.org/linux-mtd: MAINTAINERS: brcmnand: Add co-maintainer for Broadcom SoCs MAINTAINERS: brcmnand: Add Broadcom internal mailing-list mtd: nand: fix shutdown/reboot for multi-chip systems mtd: jz4740_nand: fix build on jz4740 after removing gpio.h commit b094f89ca42fbb8ce40174d5f85ca8430e499da6 Author: Jens Axboe <axboe@xxxxxx> Date: Fri Nov 20 20:29:45 2015 -0700 blk-mq: fix calling unplug callbacks with preempt disabled Liu reported that running certain parts of xfstests threw the following error: BUG: sleeping function called from invalid context at mm/page_alloc.c:3190 in_atomic(): 1, irqs_disabled(): 0, pid: 6, name: kworker/u16:0 3 locks held by kworker/u16:0/6: #0: ("writeback"){++++.+}, at: [<ffffffff8107f083>] process_one_work+0x173/0x730 #1: ((&(&wb->dwork)->work)){+.+.+.}, at: [<ffffffff8107f083>] process_one_work+0x173/0x730 #2: (&type->s_umount_key#44){+++++.}, at: [<ffffffff811e6805>] trylock_super+0x25/0x60 CPU: 5 PID: 6 Comm: kworker/u16:0 Tainted: G OE 4.3.0+ #3 Hardware name: Red Hat KVM, BIOS Bochs 01/01/2011 Workqueue: writeback wb_workfn (flush-btrfs-108) ffffffff81a3abab ffff88042e282ba8 ffffffff8130191b ffffffff81a3abab 0000000000000c76 ffff88042e282ba8 ffff88042e27c180 ffff88042e282bd8 ffffffff8108ed95 ffff880400000004 0000000000000000 0000000000000c76 Call Trace: [<ffffffff8130191b>] dump_stack+0x4f/0x74 [<ffffffff8108ed95>] ___might_sleep+0x185/0x240 [<ffffffff8108eea2>] __might_sleep+0x52/0x90 [<ffffffff811817e8>] __alloc_pages_nodemask+0x268/0x410 [<ffffffff8109a43c>] ? sched_clock_local+0x1c/0x90 [<ffffffff8109a6d1>] ? local_clock+0x21/0x40 [<ffffffff810b9eb0>] ? __lock_release+0x420/0x510 [<ffffffff810b534c>] ? __lock_acquired+0x16c/0x3c0 [<ffffffff811ca265>] alloc_pages_current+0xc5/0x210 [<ffffffffa0577105>] ? rbio_is_full+0x55/0x70 [btrfs] [<ffffffff810b7ed8>] ? mark_held_locks+0x78/0xa0 [<ffffffff81666d50>] ? _raw_spin_unlock_irqrestore+0x40/0x60 [<ffffffffa0578c0a>] full_stripe_write+0x5a/0xc0 [btrfs] [<ffffffffa0578ca9>] __raid56_parity_write+0x39/0x60 [btrfs] [<ffffffffa0578deb>] run_plug+0x11b/0x140 [btrfs] [<ffffffffa0578e33>] btrfs_raid_unplug+0x23/0x70 [btrfs] [<ffffffff812d36c2>] blk_flush_plug_list+0x82/0x1f0 [<ffffffff812e0349>] blk_sq_make_request+0x1f9/0x740 [<ffffffff812ceba2>] ? generic_make_request_checks+0x222/0x7c0 [<ffffffff812cf264>] ? blk_queue_enter+0x124/0x310 [<ffffffff812cf1d2>] ? blk_queue_enter+0x92/0x310 [<ffffffff812d0ae2>] generic_make_request+0x172/0x2c0 [<ffffffff812d0ad4>] ? generic_make_request+0x164/0x2c0 [<ffffffff812d0ca0>] submit_bio+0x70/0x140 [<ffffffffa0577b29>] ? rbio_add_io_page+0x99/0x150 [btrfs] [<ffffffffa0578a89>] finish_rmw+0x4d9/0x600 [btrfs] [<ffffffffa0578c4c>] full_stripe_write+0x9c/0xc0 [btrfs] [<ffffffffa057ab7f>] raid56_parity_write+0xef/0x160 [btrfs] [<ffffffffa052bd83>] btrfs_map_bio+0xe3/0x2d0 [btrfs] [<ffffffffa04fbd6d>] btrfs_submit_bio_hook+0x8d/0x1d0 [btrfs] [<ffffffffa05173c4>] submit_one_bio+0x74/0xb0 [btrfs] [<ffffffffa0517f55>] submit_extent_page+0xe5/0x1c0 [btrfs] [<ffffffffa0519b18>] __extent_writepage_io+0x408/0x4c0 [btrfs] [<ffffffffa05179c0>] ? alloc_dummy_extent_buffer+0x140/0x140 [btrfs] [<ffffffffa051dc88>] __extent_writepage+0x218/0x3a0 [btrfs] [<ffffffff810b7ed8>] ? mark_held_locks+0x78/0xa0 [<ffffffffa051e2c9>] extent_write_cache_pages.clone.0+0x2f9/0x400 [btrfs] [<ffffffffa051e422>] extent_writepages+0x52/0x70 [btrfs] [<ffffffffa05001f0>] ? btrfs_set_inode_index+0x70/0x70 [btrfs] [<ffffffffa04fcc17>] btrfs_writepages+0x27/0x30 [btrfs] [<ffffffff81184df3>] do_writepages+0x23/0x40 [<ffffffff81212229>] __writeback_single_inode+0x89/0x4d0 [<ffffffff81212a60>] ? writeback_sb_inodes+0x260/0x480 [<ffffffff81212a60>] ? writeback_sb_inodes+0x260/0x480 [<ffffffff8121295f>] ? writeback_sb_inodes+0x15f/0x480 [<ffffffff81212ad2>] writeback_sb_inodes+0x2d2/0x480 [<ffffffff810b1397>] ? down_read_trylock+0x57/0x60 [<ffffffff811e6805>] ? trylock_super+0x25/0x60 [<ffffffff810d629f>] ? rcu_read_lock_sched_held+0x4f/0x90 [<ffffffff81212d0c>] __writeback_inodes_wb+0x8c/0xc0 [<ffffffff812130b5>] wb_writeback+0x2b5/0x500 [<ffffffff810b7ed8>] ? mark_held_locks+0x78/0xa0 [<ffffffff810660a8>] ? __local_bh_enable_ip+0x68/0xc0 [<ffffffff81213362>] ? wb_do_writeback+0x62/0x310 [<ffffffff812133c1>] wb_do_writeback+0xc1/0x310 [<ffffffff8107c3d9>] ? set_worker_desc+0x79/0x90 [<ffffffff81213842>] wb_workfn+0x92/0x330 [<ffffffff8107f133>] process_one_work+0x223/0x730 [<ffffffff8107f083>] ? process_one_work+0x173/0x730 [<ffffffff8108035f>] ? worker_thread+0x18f/0x430 [<ffffffff810802ed>] worker_thread+0x11d/0x430 [<ffffffff810801d0>] ? maybe_create_worker+0xf0/0xf0 [<ffffffff810801d0>] ? maybe_create_worker+0xf0/0xf0 [<ffffffff810858df>] kthread+0xef/0x110 [<ffffffff8108f74e>] ? schedule_tail+0x1e/0xd0 [<ffffffff810857f0>] ? __init_kthread_worker+0x70/0x70 [<ffffffff816673bf>] ret_from_fork+0x3f/0x70 [<ffffffff810857f0>] ? __init_kthread_worker+0x70/0x70 The issue is that we've got the software context pinned while calling blk_flush_plug_list(), which flushes callbacks that are allowed to sleep. btrfs and raid has such callbacks. Flip the checks around a bit, so we can enable preempt a bit earlier and flush plugs without having preempt disabled. This only affects blk-mq driven devices, and only those that register a single queue. Reported-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Tested-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bd63acf9e9a6b48e9c6c15f0f413f85a481cb5ef Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 16:48:09 2015 +0100 serial: export fsl8250_handle_irq fsl8250_handle_irq is now used by the of_serial driver, and that fails if it is a loadable module: ERROR: "fsl8250_handle_irq" [drivers/tty/serial/of_serial.ko] undefined! This exports the symbol to avoid randconfig errors. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: d43b54d269d2 ("serial: Enable Freescale 16550 workaround on arm") Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Jeff Mahoney <jeffm@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa70045e9df47d2e7a698e5f7a0d21423a58cdaa Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Thu Nov 12 15:21:23 2015 +0200 serial: 8250_mid: Add missing dependency 8250_mid uses rational_best_approximation() function, so the driver needs to select CONFIG_RATIONAL option. This fixes build error when CONFIG_RATIONAL is not enabled: drivers/built-in.o: In function `mid8250_set_termios': 8250_mid.c:(.text+0x10169a): undefined reference to `rational_best_approximation' Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b2a3d628aa752f0ab825fc6d4d07b09e274d1c1 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Nov 8 08:52:31 2015 -0500 tty: audit: Fix audit source The data to audit/record is in the 'from' buffer (ie., the input read buffer). Fixes: 72586c6061ab ("n_tty: Fix auditing support for cannonical mode") Cc: stable <stable@xxxxxxxxxxxxxxx> # 4.1+ Cc: Miloslav TrmaÄ? <mitr@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f356d7a7ddb5ea545e81c84eecfdf1b5ab4647fc Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Nov 1 18:32:56 2015 -0800 serial: etraxfs-uart: Fix crash Since commit 7d8c70d8048c ("serial: mctrl-gpio: rename init function"), crisv32 either do not build or crash as follows. Unable to handle kernel NULL pointer dereference Linux 4.3.0-rc7-next-20151101 #1 Sun Nov 1 11:41:28 PST 2015 ... Call Trace: [<c0004a0e>] show_stack+0x0/0x9e [<c004c0c0>] printk+0x0/0x2c [<c00059d4>] show_registers+0x14a/0x1c2 [<c004c0c0>] printk+0x0/0x2c [<c0004b52>] die_if_kernel+0x7c/0x9e [<c0005346>] do_page_fault+0x32e/0x3e6 [<c01dc59c>] of_get_property+0x0/0x2c [<c01e0558>] of_irq_parse_raw+0x12a/0x376 [<c01dc59c>] of_get_property+0x0/0x2c [<c0053aca>] get_page_from_freelist+0x73e/0x856 [<c01dc59c>] of_get_property+0x0/0x2c [<c0008912>] d_mmu_refill+0x10a/0x112 [<c01b488c>] devm_kmalloc+0x40/0x56 [<c01b47d0>] add_dr+0xc/0x1c [<c01b4800>] devm_add_action+0x2/0x4e [<c01abdbc>] mctrl_gpio_init_noauto+0x1c/0x76 [<c01abf9e>] mctrl_gpio_init+0x22/0x110 The function call in the etraxfs-uart driver was not renamed, possibly due to interference with commit 7b9c5162c182 ("serial: etraxfs-uart: use mctrl_gpio helpers for handling modem signals"). Fixes: 7d8c70d8048c ("serial: mctrl-gpio: rename init function") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Niklas Cassel <nks@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bec8bf61dc911ebe04a7997db2c44ed51d8ade9d Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 09:55:21 2015 -0400 serial: fsl_lpuart: Fix earlycon support Earlycon support for Freescale lpuart should only be enabled when console support is enabled. Fixes: 1d59b382f1c4 ("serial: fsl_lpuart: add earlycon support") Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83f7fa6c2976a9db9edf3abf7749176ca36fb4cc Author: Simon Arlott <simon@xxxxxxxxxxx> Date: Sun Nov 15 16:14:32 2015 +0000 bcm63xx_uart: Use the device name when registering an interrupt Use the device name when registering an interrupt so that multiple ports don't all have the same interrupt name. Signed-off-by: Simon Arlott <simon@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17a69219713b5063698038151fea9167b5b0c7b4 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sun Nov 8 07:53:06 2015 -0500 tty: Fix direct use of tty buffer work Recent abstraction of tty buffer work introduced api to manage tty input kworker; use it. Fixes: e176058f0de5 ("tty: Abstract tty buffer work") Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee0c1a65cf95230d5eb3d9de94fd2ead9a428c67 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 08:03:54 2015 -0500 tty: Fix tty_send_xchar() lock order inversion The correct lock order is atomic_write_lock => termios_rwsem, as established by tty_write() => n_tty_write(). Fixes: c274f6ef1c666 ("tty: Hold termios_rwsem for tcflow(TCIxxx)") Reported-and-Tested-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4a64718797b84b64a6ddf3d4183c29c2e79ef1d Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Nov 20 15:57:41 2015 -0800 slub: mark the dangling ifdef #else of CONFIG_SLUB_DEBUG The #ifdef of CONFIG_SLUB_DEBUG is located very far from the associated #else. For readability mark it with a comment. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 87098373e244840e00bd1c93884c1d917411597e Author: Christoph Lameter <cl@xxxxxxxxx> Date: Fri Nov 20 15:57:38 2015 -0800 slub: avoid irqoff/on in bulk allocation Use the new function that can do allocation while interrupts are disabled. Avoids irq on/off sequences. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a380a3c75529a5c42b78c0d64a46404f8cb0c0d1 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Fri Nov 20 15:57:35 2015 -0800 slub: create new ___slab_alloc function that can be called with irqs disabled Bulk alloc needs a function like that because it enables interrupts before calling __slab_alloc which promptly disables them again using the expensive local_irq_save(). Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21fa8442799945beaca074cb5bcf7cfe24969d59 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Nov 20 15:57:32 2015 -0800 mm: fix up sparse warning in gfpflags_allow_blocking sparse says: include/linux/gfp.h:274:26: warning: incorrect type in return expression (different base types) include/linux/gfp.h:274:26: expected bool include/linux/gfp.h:274:26: got restricted gfp_t ...add a forced cast to silence the warning. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f1eb48758aacf6c1ffce18179295adbf3bd7640 Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Date: Fri Nov 20 15:57:30 2015 -0800 ocfs2: fix umask ignored issue New created file's mode is not masked with umask, and this makes umask not work for ocfs2 volume. Fixes: 702e5bc ("ocfs2: use generic posix ACL infrastructure") Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Gang He <ghe@xxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 875fa6fbb8d8d5bbf8cc2fa7b340a716f50ee0c7 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Nov 20 15:57:27 2015 -0800 PM/OPP: add entry in MAINTAINERS Add entry for operating performance points into MAINTAINERS file. This will also allow get_maintainers to list OPP stakeholders properly. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Rafael Wysocki <rjw@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7625b3a0007decf2b135cb47ca67abc78a7b1bc1 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Nov 20 15:57:24 2015 -0800 kernel/panic.c: turn off locks debug before releasing console lock Commit 08d78658f393 ("panic: release stale console lock to always get the logbuf printed out") introduced an unwanted bad unlock balance report when panic() is called directly and not from OOPS (e.g. from out_of_memory()). The difference is that in case of OOPS we disable locks debug in oops_enter() and on direct panic call nobody does that. Fixes: 08d78658f393 ("panic: release stale console lock to always get the logbuf printed out") Reported-by: kernel test robot <ying.huang@xxxxxxxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: HATAYAMA Daisuke <d.hatayama@xxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Cc: Seth Jennings <sjenning@xxxxxxxxxx> Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Petr Mladek <pmladek@xxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9d8a765211335cfdad464b90fb19f546af5706ae Author: Richard Weinberger <richard@xxxxxx> Date: Fri Nov 20 15:57:21 2015 -0800 kernel/signal.c: unexport sigsuspend() sigsuspend() is nowhere used except in signal.c itself, so we can mark it static do not pollute the global namespace. But this patch is more than a boring cleanup patch, it fixes a real issue on UserModeLinux. UML has a special console driver to display ttys using xterm, or other terminal emulators, on the host side. Vegard reported that sometimes UML is unable to spawn a xterm and he's facing the following warning: WARNING: CPU: 0 PID: 908 at include/linux/thread_info.h:128 sigsuspend+0xab/0xc0() It turned out that this warning makes absolutely no sense as the UML xterm code calls sigsuspend() on the host side, at least it tries. But as the kernel itself offers a sigsuspend() symbol the linker choose this one instead of the glibc wrapper. Interestingly this code used to work since ever but always blocked signals on the wrong side. Some recent kernel change made the WARN_ON() trigger and uncovered the bug. It is a wonderful example of how much works by chance on computers. :-) Fixes: 68f3f16d9ad0f1 ("new helper: sigsuspend()") Signed-off-by: Richard Weinberger <richard@xxxxxx> Reported-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx> Tested-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.5+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 459372545c9c0d6f491e280dccc8a54a61b60e56 Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Fri Nov 20 15:57:18 2015 -0800 kasan: fix kmemleak false-positive in kasan_module_alloc() Kmemleak reports the following leak: unreferenced object 0xfffffbfff41ea000 (size 20480): comm "modprobe", pid 65199, jiffies 4298875551 (age 542.568s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff82354f5e>] kmemleak_alloc+0x4e/0xc0 [<ffffffff8152e718>] __vmalloc_node_range+0x4b8/0x740 [<ffffffff81574072>] kasan_module_alloc+0x72/0xc0 [<ffffffff810efe68>] module_alloc+0x78/0xb0 [<ffffffff812f6a24>] module_alloc_update_bounds+0x14/0x70 [<ffffffff812f8184>] layout_and_allocate+0x16f4/0x3c90 [<ffffffff812faa1f>] load_module+0x2ff/0x6690 [<ffffffff813010b6>] SyS_finit_module+0x136/0x170 [<ffffffff8239bbc9>] system_call_fastpath+0x16/0x1b [<ffffffffffffffff>] 0xffffffffffffffff kasan_module_alloc() allocates shadow memory for module and frees it on module unloading. It doesn't store the pointer to allocated shadow memory because it could be calculated from the shadowed address, i.e. kasan_mem_to_shadow(addr). Since kmemleak cannot find pointer to allocated shadow, it thinks that memory leaked. Use kmemleak_ignore() to tell kmemleak that this is not a leak and shadow memory doesn't contain any pointers. Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 928a477102c4fc6739883415b66987207e3502f4 Author: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:57:15 2015 -0800 fat: fix fake_offset handling on error path For the root directory, . and .. are faked (using dir_emit_dots()) and ctx->pos is reset from 2 to 0. A corrupted root directory could cause fat_get_entry() to fail, but ->iterate() (fat_readdir()) reports progress to the VFS (with ctx->pos rewound to 0), so any following calls to ->iterate() continue to return the same entries again and again. The result is that userspace will never see the end of the directory, causing e.g. 'ls' to hang in a getdents() loop. [hirofumi@xxxxxxxxxxxxxxxxxx: cleanup and make sure to correct fake_offset] Reported-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx> Tested-by: Vegard Nossum <vegard.nossum@xxxxxxxxxx> Signed-off-by: Richard Weinberger <richard.weinberger@xxxxxxxxx> Signed-off-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1817889e3b2cc1db8abb595712095129ff9156c1 Author: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Date: Fri Nov 20 15:57:13 2015 -0800 mm/hugetlbfs: fix bugs in fallocate hole punch of areas with holes Hugh Dickins pointed out problems with the new hugetlbfs fallocate hole punch code. These problems are in the routine remove_inode_hugepages and mostly occur in the case where there are holes in the range of pages to be removed. These holes could be the result of a previous hole punch or simply sparse allocation. The current code could access pages outside the specified range. remove_inode_hugepages handles both hole punch and truncate operations. Page index handling was fixed/cleaned up so that the loop index always matches the page being processed. The code now only makes a single pass through the range of pages as it was determined page faults could not race with truncate. A cond_resched() was added after removing up to PAGEVEC_SIZE pages. Some totally unnecessary code in hugetlbfs_fallocate() that remained from early development was also removed. Tested with fallocate tests submitted here: http://librelist.com/browser//libhugetlbfs/2015/6/25/patch-tests-add-tests-for-fallocate-system-call/ And, some ftruncate tests under development Fixes: b5cec28d36f5 ("hugetlbfs: truncate_hugepages() takes a range of pages") Signed-off-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: "Hillf Danton" <hillf.zj@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [4.3] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 50e55bf626ad3ebbca45c0c0d03eb1710a139638 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Fri Nov 20 15:57:10 2015 -0800 mm/page-writeback.c: initialize m_dirty to avoid compile warning When building kernel with gcc 5.2, the below warning is raised: mm/page-writeback.c: In function 'balance_dirty_pages.isra.10': mm/page-writeback.c:1545:17: warning: 'm_dirty' may be used uninitialized in this function [-Wmaybe-uninitialized] unsigned long m_dirty, m_thresh, m_bg_thresh; The m_dirty{thresh, bg_thresh} are initialized in the block of "if (mdtc)", so if mdts is null, they won't be initialized before being used. Initialize m_dirty to zero, also initialize m_thresh and m_bg_thresh to keep consistency. They are used later by if condition: !mdtc || m_dirty <= dirty_freerun_ceiling(m_thresh, m_bg_thresh) If mdtc is null, dirty_freerun_ceiling will not be called at all, so the initialization will not change any behavior other than just ceasing the compile warning. (akpm: the patch actually reduces .text size by ~20 bytes on gcc-4.x.y) [akpm@xxxxxxxxxxxxxxxxxxxx: add comment] Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1a47de6e4a8dc2aaf3c3fb544b60730b74abe0f1 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Nov 20 15:57:07 2015 -0800 various: fix pci_set_dma_mask return value checking pci_set_dma_mask returns a negative errno value, not a bool like pci_dma_supported. This of course was just a giant test for attention :) Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reported-by: Jongman Heo <jongman.heo@xxxxxxxxxxx> Tested-by: Jongman Heo <jongman.heo@xxxxxxxxxxx> [pcnet32] Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Antti Palosaari <crope@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1a763615688b891246c5b0a932d7a95fea4c1a68 Author: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:57:04 2015 -0800 mm: loosen MADV_NOHUGEPAGE to enable Qemu postcopy on s390 MADV_NOHUGEPAGE processing is too restrictive. kvm already disables hugepage but hugepage_madvise() takes the error path when we ask to turn on the MADV_NOHUGEPAGE bit and the bit is already on. This causes Qemu's new postcopy migration feature to fail on s390 because its first action is to madvise the guest address space as NOHUGEPAGE. This patch modifies the code so that the operation succeeds without error now. For consistency reasons do the same for MADV_HUGEPAGE. Signed-off-by: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7511c3ede752e6dd67df20779b4e11effe102637 Author: Jerome Marchand <jmarchan@xxxxxxxxxx> Date: Fri Nov 20 15:57:02 2015 -0800 mm: vmalloc: don't remove inexistent guard hole in remove_vm_area() Commit 71394fe50146 ("mm: vmalloc: add flag preventing guard hole allocation") missed a spot. Currently remove_vm_area() decreases vm->size to "remove" the guard hole page, even when it isn't present. All but one users just free the vm_struct rigth away and never access vm->size anyway. Don't touch the size in remove_vm_area() and have __vunmap() use the proper get_vm_area_size() helper. Signed-off-by: Jerome Marchand <jmarchan@xxxxxxxxxx> Acked-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 429d48622cb08b7b4908cb63b43a135be9b3db09 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Fri Nov 20 15:56:59 2015 -0800 tools/vm/page-types.c: support KPF_IDLE PageIdle is exported in include/uapi/linux/kernel-page-flags.h, so let's make page-types.c tool handle it. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1491e30ed1a741009d1d38f9285f7a29e6c05c78 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Nov 20 15:56:56 2015 -0800 ncpfs: don't allow negative timeouts This code causes a static checker warning because it's a user controlled variable where we cap the upper bound but not the lower bound. Let's return an -EINVAL for negative timeouts. [akpm@xxxxxxxxxxxxxxxxxxxx: remove unneeded `else'] Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> Cc: Petr Vandrovec <petr@xxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5cf6a51e6062afe7cc507f32f1e5f7e6497ae844 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Fri Nov 20 15:56:53 2015 -0800 configfs: allow dynamic group creation This patchset introduces IIO software triggers, offers a way of configuring them via configfs and adds the IIO hrtimer based interrupt source to be used with software triggers. The architecture is now split in 3 parts, to remove all IIO trigger specific parts from IIO configfs core: (1) IIO configfs - creates the root of the IIO configfs subsys. (2) IIO software triggers - software trigger implementation, dynamically creating /config/iio/triggers group. (3) IIO hrtimer trigger - is the first interrupt source for software triggers (with syfs to follow). Each trigger type can implement its own set of attributes. Lockdep seems to be happy with the locking in configfs patch. This patch (of 5): We don't want to hardcode default groups at subsystem creation time. We export: * configfs_register_group * configfs_unregister_group to allow drivers to programatically create/destroy groups later, after module init time. This is needed for IIO configfs support. (akpm: the other 4 patches to be merged via the IIO tree) Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Suggested-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Hartmut Knaack <knaack.h@xxxxxx> Cc: Octavian Purdila <octavian.purdila@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Adriana Reus <adriana.reus@xxxxxxxxx> Cc: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Cc: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd7d664a2bcf93634a57d208e8e480ab7448c107 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Fri Nov 20 15:56:51 2015 -0800 MAINTAINERS: add Moritz as reviewer for FPGA Manager Framework Nominate myself as Reviewer. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Acked-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 94a58c360a45c066ab5472cfd2bf2a4ba63aa532 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:56:48 2015 -0800 slab.h: sprinkle __assume_aligned attributes The various allocators return aligned memory. Telling the compiler that allows it to generate better code in many cases, for example when the return value is immediately passed to memset(). Some code does become larger, but at least we win twice as much as we lose: $ scripts/bloat-o-meter /tmp/vmlinux vmlinux add/remove: 0/0 grow/shrink: 13/52 up/down: 995/-2140 (-1145) An example of the different (and smaller) code can be seen in mm_alloc(). Before: : 48 8d 78 08 lea 0x8(%rax),%rdi : 48 89 c1 mov %rax,%rcx : 48 89 c2 mov %rax,%rdx : 48 c7 00 00 00 00 00 movq $0x0,(%rax) : 48 c7 80 48 03 00 00 movq $0x0,0x348(%rax) : 00 00 00 00 : 31 c0 xor %eax,%eax : 48 83 e7 f8 and $0xfffffffffffffff8,%rdi : 48 29 f9 sub %rdi,%rcx : 81 c1 50 03 00 00 add $0x350,%ecx : c1 e9 03 shr $0x3,%ecx : f3 48 ab rep stos %rax,%es:(%rdi) After: : 48 89 c2 mov %rax,%rdx : b9 6a 00 00 00 mov $0x6a,%ecx : 31 c0 xor %eax,%eax : 48 89 d7 mov %rdx,%rdi : f3 48 ab rep stos %rax,%es:(%rdi) So gcc's strategy is to do two possibly (but not really, of course) unaligned stores to the first and last word, then do an aligned rep stos covering the middle part with a little overlap. Maybe arches which do not allow unaligned stores gain even more. I don't know if gcc can actually make use of alignments greater than 8 for anything, so one could probably drop the __assume_xyz_alignment macros and just use __assume_aligned(8). The increases in code size are mostly caused by gcc deciding to opencode strlen() using the check-four-bytes-at-a-time trick when it knows the buffer is sufficiently aligned (one function grew by 200 bytes). Now it turns out that many of these strlen() calls showing up were in fact redundant, and they're gone from -next. Applying the two patches to next-20151001 bloat-o-meter instead says add/remove: 0/0 grow/shrink: 6/52 up/down: 244/-2140 (-1896) Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81051f9120560059ba7055e974e42bd05a67de6d Merge: 116dfe5 cdc5a31 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:52:52 2015 -0800 Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "A few bugfixes and one PCI ID addition from I2C" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: i801: add Intel Lewisburg device IDs i2c: fix wakeup irq parsing i2c: xiic: Prevent concurrent running of the IRQ handler and __xiic_start_xfer() i2c: Revert "i2c: xiic: Do not reset controller before every transfer" i2c: imx: fix a compiling error commit 116dfe5e88cd0c9368bf0db28708fff6b549951f Merge: 9580306 1ef0623 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:47:27 2015 -0800 Merge tag '4.4-fix' of git://git.lwn.net/linux Pull documentation fix from Jon Corbet: "A single fix from Mauro for a 4.4 regression that would cause the docs build to fail on systems with ancient Perl installations" * tag '4.4-fix' of git://git.lwn.net/linux: kernel-doc: Make it compatible with Perl versions below 5.12 again commit 95803066c697d40798a5db861f6152e533736a25 Merge: 400f3f2 2e6edc9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 15:00:50 2015 -0800 Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull libnvdimm fixes from Dan Williams: - A collection of crash and deadlock fixes for DAX that are also tagged for -stable. We will look to re-enable DAX pmd mappings in 4.5, but for now 4.4 and -stable should disable it by default. - A fixup to ext2 and ext4 to mirror the same warning emitted by XFS when mounting with "-o dax" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: block: protect rw_page against device teardown mm, dax: fix DAX deadlocks (COW fault) dax: disable pmd mappings ext2, ext4: warn when mounting with dax enabled commit 400f3f255debc5a1b5eba631adddc19a9f74a6e4 Merge: 2f25535 a3767e3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 09:01:07 2015 -0800 Merge tag 'pm+acpi-4.4-rc2' 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 (ACPI core, PM core, cpufreq, ACPI EC driver, device properties) including three reverts of recent intel_pstate driver commits due to a regression introduced by one of them plus support for Atom Airmont cores in intel_pstate (which really boils down to adding new frequency tables for Airmont) and additional turbostat updates. Specifics: - Revert three recent intel_pstate driver commits one of which introduced a regression and the remaining two depend on the problematic one (Rafael Wysocki). - Fix breakage related to the recently introduced ACPI _CCA object support in the PCI DMA setup code (Suravee Suthikulpanit). - Fix up the recently introduced ACPI CPPC support to only use the hardware-reduced version of the PCCT structure as the only architecture to support it (ARM64) will only use hardware-reduced ACPI anyway (Ashwin Chaugule). - Fix a cpufreq mediatek driver build problem (Arnd Bergmann). - Fix the SMBus transaction handling implementation in the ACPI core to avoid re-entrant calls to wait_event_timeout() which makes intermittent boot stalls related to the Smart Battery Subsystem initialization go away and revert a workaround of another problem with the same underlying root cause (Chris Bainbridge). - Fix the generic wakeup interrupts framework to avoid using invalid IRQ numbers (Dmitry Torokhov). - Remove a redundant check from the ACPI EC driver (Markus Elfring). - Modify the intel_pstate driver so it can support more Atom flavors than just one (Baytrail) and add support for Atom Airmont cores (which require new freqnency tables) to it (Philippe Longepe). - Clean up MSR-related symbols in turbostat (Len Brown)" * tag 'pm+acpi-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: PCI: Fix OF logic in pci_dma_configure() Revert "Documentation: kernel_parameters for Intel P state driver" cpufreq: mediatek: fix build error cpufreq: intel_pstate: Add separate support for Airmont cores cpufreq: intel_pstate: Replace BYT with ATOM Revert "cpufreq: intel_pstate: Use ACPI perf configuration" Revert "cpufreq: intel_pstate: Avoid calculation for max/min" ACPI-EC: Drop unnecessary check made before calling acpi_ec_delete_query() Revert "ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook" ACPI / SMBus: Fix boot stalls / high CPU caused by reentrant code PM / wakeirq: check that wake IRQ is valid before accepting it ACPI / CPPC: Use h/w reduced version of the PCCT structure x86: remove unused definition of MSR_NHM_PLATFORM_INFO tools/power turbostat: use new name for MSR_PLATFORM_INFO commit 2f255351c133318cf9e0e4a003ca345bef5914fc Merge: 86eaf54 1451ad03 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 08:20:04 2015 -0800 Merge tag 'powerpc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixlet from Michael Ellerman: "Wire up sys_mlock2()" * tag 'powerpc-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc: Wire up sys_mlock2() commit 02e2a5bfebe99edcf9d694575a75032d53fe1b73 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Nov 19 17:18:54 2015 -0800 mac: validate mac_partition is within sector If md->signature == MAC_DRIVER_MAGIC and md->block_size == 1023, a single 512 byte sector would be read (secsize / 512). However the partition structure would be located past the end of the buffer (secsize % 512). Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8aeea03195ee6e33fcb00039c414eabfc37a4eb8 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 20 10:46:49 2015 +0100 mtip32xx: use formatting capability of kthread_create_on_node kthread_create_on_node takes format+args, so there's no need to do the pretty-printing in advance. Moreover, "mtip_svc_thd_99" (including its '\0') only just fits in 16 bytes, so if index could ever go above 99 we'd have a stack buffer overflow. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 604e8c8da8854351496215d269c3fa93859e3fee Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Fri Nov 20 08:38:13 2015 -0700 NVMe: reap completion entries when deleting queue Make sure that there are no unprocesssed entries on a completion queue before deleting it, and check for validity of the CQ door bell before writing completions to it. This fixes problems with doing a sysfs reset of the device while it's handling IO. Tested-by: Jon Derrick <jonathan.derrick@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2fde0e482db2b43bb4ed0e9aebfbe78ebcbbf5a6 Author: Javier Gonzalez <javier@xxxxxxxxxxx> Date: Fri Nov 20 13:47:57 2015 +0100 lightnvm: add free and bad lun info to show luns Add free block, used block, and bad block information to the show debug interface. This information is used to debug how targets track blocks. Also, change debug function name to make it more generic. Signed-off-by: Javier Gonzalez <javier@xxxxxxxxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0b59733b95f9d7af6bee6e6a4d0d444eb694c514 Author: Javier Gonzalez <javier@xxxxxxxxxxx> Date: Fri Nov 20 13:47:56 2015 +0100 lightnvm: keep track of block counts Maintain number of in use blocks, free blocks, and bad blocks in a per lun basis. This allows the upper layers to get information about the state of each lun. Also, account for blocks reserved to the device on the free block count. nr_free_blocks matches now the actual number of blocks on the free list when the device is booted. Signed-off-by: Javier Gonzalez <javier@xxxxxxxxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 47b3115ae7b799be8b77b0f024215ad4f68d6460 Author: Wenwei Tao <ww.tao0320@xxxxxxxxx> Date: Fri Nov 20 13:47:55 2015 +0100 nvme: lightnvm: use admin queues for admin cmds According to the Open-Channel SSD Specification, the NVMe-NVM admin commands use vendor specific opcodes of NVMe, so use the NVMe admin queue to dispatch these commands. Signed-off-by: Wenwei Tao <ww.tao0320@xxxxxxxxx> Updated by me to include set bad block table as well and also use the admin queue for l2p len calculation. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 93e70c1f2883f2db2d6a1f339d0e26f00b138e4e Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Fri Nov 20 13:47:54 2015 +0100 lightnvm: missing free on init error If either max_phys_sect is out of bound, the nvm_dev structure is not freed. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 480fc0db819d706ea5608545a12d33cf8d5a31ab Author: Wenwei Tao <ww.tao0320@xxxxxxxxx> Date: Fri Nov 20 13:47:53 2015 +0100 lightnvm: wrong return value and redundant free The return value should be non-zero under error conditions. Remove nvme_free(dev) to avoid free dev more than once. Signed-off-by: Wenwei Tao <ww.tao0320@xxxxxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit cdc5a3110e7c3ae793f367285789a6bc39c962dc Author: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Date: Thu Nov 5 11:40:25 2015 -0800 i2c: i801: add Intel Lewisburg device IDs Adding Intel codename Lewisburg platform device IDs for SMBus. Signed-off-by: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c18fba23061f16dde128e10d4869ba4e88e0e81a Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Nov 12 15:42:26 2015 +0200 i2c: fix wakeup irq parsing This patch fixes obvious copy-past error in wake up irq parsing code which leads to the fact that dev_pm_set_wake_irq() will be called with wrong IRQ number when "wakeup" IRQ is not defined in DT. Fixes: 3fffd1283927 ("i2c: allow specifying separate wakeup interrupt in device tree") Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.3 commit d0fe5258e6be609dab7e53335d845818684d1dcf Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Nov 16 14:42:04 2015 +0100 i2c: xiic: Prevent concurrent running of the IRQ handler and __xiic_start_xfer() Prior to commit e6c9a037bc8a ("i2c: xiic: Remove the disabling of interrupts") IRQs where disabled when the initial __xiic_start_xfer() was called. After the commit the interrupt is enabled while the function is running, this means it is possible for the interrupt to be triggered while the function is still running. When this happens the internal data structures get corrupted and undefined behavior can occur like the following crash: Internal error: Oops: 17 [#1] PREEMPT SMP ARM Modules linked in: CPU: 0 PID: 2040 Comm: i2cdetect Not tainted 4.0.0-02856-g047a308 #10956 Hardware name: Xilinx Zynq Platform task: ee0c9500 ti: e99a2000 task.ti: e99a2000 PC is at __xiic_start_xfer+0x6c4/0x7c8 LR is at __xiic_start_xfer+0x690/0x7c8 pc : [<c02bbffc>] lr : [<c02bbfc8>] psr: 800f0013 sp : e99a3da8 ip : 00000000 fp : 00000000 r10: 00000001 r9 : 600f0013 r8 : f0180000 r7 : f0180000 r6 : c064e444 r5 : 00000017 r4 : ee031010 r3 : 00000000 r2 : 00000000 r1 : 600f0013 r0 : 0000000f Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 18c5387d Table: 29a5404a DAC: 00000015 Process i2cdetect (pid: 2040, stack limit = 0xe99a2210) Stack: (0xe99a3da8 to 0xe99a4000) 3da0: ee031010 00000000 00000001 ee031020 ee031224 c02bc5ec 3dc0: ee34c604 00000000 ee0c9500 e99a3dcc e99a3dd0 e99a3dd0 e99a3dd8 c069f0e8 3de0: 00000000 ee031020 c064e100 ffff90bb e99a3e48 c02b6590 ee031020 00000001 3e00: e99a3e48 ee031020 00000000 e99a3e63 00000001 c02b6ec4 00000000 00000000 3e20: 00000000 c02b7320 e99a3ef0 00000000 00000000 e99e3df0 00000000 00000000 3e40: 00000103 2814575f 0000003e c00a0000 e99a3e85 0001003e ee0c0000 e99a3e63 3e60: eefd3578 c064e61c ee0c9500 c0041e04 0000056c e9a56db8 00006e5a b6f5c000 3e80: ee0c9548 eefd0040 00000001 eefd3540 ee0c9500 eefd39a0 c064b540 ee0c9500 3ea0: 00000000 ee92b000 00000000 bef4862c ee34c600 e99ecdc0 00000720 00000003 3ec0: e99a2000 00000000 00000000 c02b8b30 00000000 00000000 00000000 e99a3f24 3ee0: b6e80000 00000000 00000000 c04257e8 00000000 e99a3f24 c02b8f08 00000703 3f00: 00000003 c02116bc ee935300 00000000 bef4862c ee34c600 e99ecdc0 c02b91f0 3f20: e99ecdc0 00000720 bef4862c eeb725f8 e99ecdc0 c00c9e2c 00000003 00000003 3f40: ee248dc0 00000000 ee248dc8 00000002 eeb7c1a8 00000000 00000000 c00bb360 3f60: 00000000 00000000 00000003 ee248dc0 bef4862c e99ecdc0 e99ecdc0 00000720 3f80: 00000003 e99a2000 00000000 c00c9f68 00000000 00000000 b6f22000 00000036 3fa0: c000dfa4 c000de20 00000000 00000000 00000003 00000720 bef4862c bef4862c 3fc0: 00000000 00000000 b6f22000 00000036 00000000 00000000 b6f60000 00000000 3fe0: 00013040 bef48614 00008cab b6ecdbe6 400f0030 00000003 2f7fd821 2f7fdc21 [<c02bbffc>] (__xiic_start_xfer) from [<c02bc5ec>] (xiic_xfer+0x94/0x168) [<c02bc5ec>] (xiic_xfer) from [<c02b6590>] (__i2c_transfer+0x4c/0x7c) [<c02b6590>] (__i2c_transfer) from [<c02b6ec4>] (i2c_transfer+0x9c/0xc4) [<c02b6ec4>] (i2c_transfer) from [<c02b7320>] (i2c_smbus_xfer+0x3a0/0x4ec) [<c02b7320>] (i2c_smbus_xfer) from [<c02b8b30>] (i2cdev_ioctl_smbus+0xb0/0x214) [<c02b8b30>] (i2cdev_ioctl_smbus) from [<c02b91f0>] (i2cdev_ioctl+0xa0/0x1d4) [<c02b91f0>] (i2cdev_ioctl) from [<c00c9e2c>] (do_vfs_ioctl+0x4b0/0x5b8) [<c00c9e2c>] (do_vfs_ioctl) from [<c00c9f68>] (SyS_ioctl+0x34/0x5c) [<c00c9f68>] (SyS_ioctl) from [<c000de20>] (ret_fast_syscall+0x0/0x34) Code: e283300c e5843210 eafffe64 e5943210 (e1d320b4) The issue can easily be reproduced by performing I2C access under high system load or IO load. To fix the issue protect the invocation to __xiic_start_xfer() form xiic_start_xfer() with the same lock that is used to protect the interrupt handler. Fixes: e6c9a037bc8a ("i2c: xiic: Remove the disabling of interrupts") Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9656eeebf3f1dd05376c4c923797369746d9a618 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Nov 16 14:42:03 2015 +0100 i2c: Revert "i2c: xiic: Do not reset controller before every transfer" Commit d701667bb331 ("i2c: xiic: Do not reset controller before every transfer") removed the reinitialization of the controller before the start of each transfer. Apparently this change is not safe to make and the commit results in random I2C bus failures. An easy way to trigger the issue is to run i2cdetect. Without the patch applied: 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- UU UU -- UU 3c -- -- UU 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- With the patch applied every other or so invocation: 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30: -- -- -- -- -- -- -- -- UU UU -- UU 3c -- -- UU 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- So revert the commit for now. Fixes: d701667bb331 ("i2c: xiic: Do not reset controller before every transfer") Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Shubhrajyoti Datta <shubhraj@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8bb6fd585d419d906fb3c228db47fbc4e4272a00 Author: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxxxxxxxx> Date: Tue Nov 17 17:53:18 2015 +0800 i2c: imx: fix a compiling error drivers/i2c/busses/i2c-imx.c:978:2: error: implicit declaration of function â??pinctrl_select_stateâ?? [-Werror=implicit-function-declaration] pinctrl_select_state(i2c_imx->pinctrl, i2c_imx->pinctrl_pins_gpio); ^ Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 55f1d5988c52d481dc489e29ee5e8905b18ff859 Author: Alban Bedel <albeu@xxxxxxx> Date: Tue Nov 17 21:52:00 2015 +0100 MIPS: ath79: Add a machine entry for booting OF machines As I'm using a board with a broken old bootloader I hardcoded the mips_machtype and did't notice that the machine entry was still missing. [ralf@xxxxxxxxxxxxxx: Fixed spelling message noticed by Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>.] Signed-off-by: Alban Bedel <albeu@xxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: Felix Fietkau <nbd@xxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11503/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit accbfb52d09ac00147f02c4335d1cc47665e6653 Author: Alban Bedel <albeu@xxxxxxx> Date: Tue Nov 17 20:34:51 2015 +0100 MIPS: ath79: Fix the size of the MISC INTC registers in ar9132.dtsi There is 2 registers that is 8 bytes long, not 4. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Alexander Couzens <lynxis@xxxxxxx> Cc: Joel Porquet <joel@xxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11508/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5011a7e808c9fec643d752c5a495a48f27268a48 Author: Alban Bedel <albeu@xxxxxxx> Date: Tue Nov 17 09:40:07 2015 +0100 MIPS: ath79: Fix the DDR control initialization on ar71xx and ar934x The DDR control initialization needs to know the SoC type, however ath79_detect_sys_type() was called after ath79_ddr_ctrl_init(). Reverse the order to fix the DDR control initialization on ar71xx and ar934x. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Cc: Felix Fietkau <nbd@xxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v4.2+ Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11500/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1e208ae7326caa33ef7d4496d7ff1c404657a4a3 Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 10:12:42 2015 +0100 parisc: Drop definition of start_thread_som for HP-UX SOM binaries The definition of start_thread_som was planned to be used to execute HP-UX SOM binaries. Since HP-UX compatibility was dropped with kernel 4.0 there is no need to carry it further. Signed-off-by: Helge Deller <deller@xxxxxx> commit 2b3f34451054768a3da27ea1e86da676bf4621bd Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 20 10:09:18 2015 +0100 parisc: Fix wrong comment regarding first pmd entry flags The first pmd entry is marked with PxD_FLAG_ATTACHED instead of _PAGE_GATEWAY. Signed-off-by: Helge Deller <deller@xxxxxx> commit 86eaf54d07f239243f674d6256e5c4be6578348a Merge: c69bde7 2c5d740 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 20:51:31 2015 -0800 Merge tag 'dmaengine-fix-4.4-rc2' of git://git.infradead.org/users/vkoul/slave-dma Pull dmaengine fixes from Vinod Koul: "This has odd fixes spreadout drivers, not major here - usbdmac fixes for pm - edma build and logic fixes - build warn fixes for few drivers" * tag 'dmaengine-fix-4.4-rc2' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: at_hdmac: use %pad format string for dma_addr_t dmaengine: at_xdmac: use %pad format string for dma_addr_t dmaengine: imx-sdma: remove __init annotation on sdma_event_remap dmaengine: edma: predecence bug in GET_NUM_QDMACH() dmaengine: edma: fix build without CONFIG_OF dmaengine: of_dma: Correct return code for of_dma_request_slave_channel in case !CONFIG_OF dmaengine: sh: usb-dmac: Fix pm_runtime_{enable,disable}() imbalance dmaengine: sh: usb-dmac: Fix crash on runtime suspend commit c69bde78f05c34f0f3c1f3025d6214d6e06389f4 Merge: cd6caf5 2d591ab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 20:39:38 2015 -0800 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "A varied bunch of fixes, the radeon pull is probably a bit larger than I'd like, but it contains 2 weeks of stuff, and the Fiji fixes are a bit large, but they are Fiji specific. Otherwise: - mgag200: One cursor regression oops fix. - vc4: A few small fixes and cleanups. - core: Atomic fixes and Atomic helper fixes - i915: Revert for the backlight regression along with a bunch of fixes" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (58 commits) drm/atomic-helper: Check encoder/crtc constraints Revert "drm/i915: skip modeset if compatible for everyone." drm/mgag200: fix kernel hang in cursor code. drm/amdgpu: reserve/unreserve objects out of map/unmap operations drm/amdgpu: move bo_reserve out of amdgpu_vm_clear_bo drm/amdgpu: add lock for interval tree in vm drm/amdgpu: keep the owner for VMIDs drm/amdgpu: move VM manager clean into the VM code again drm/amdgpu: cleanup VM coding style drm/amdgpu: remove unused VM manager field drm/amdgpu: cleanup scheduler command submission drm/amdgpu: fix typo in firmware name drm/i915: Consider SPLL as another shared pll, v2. drm/i915: Fix gpu frequency change tracing drm/vc4: Make sure that planes aren't scaled. drm/vc4: Fix some failure to track __iomem decorations on pointers. drm/vc4: checking for NULL instead of IS_ERR drm/vc4: fix itnull.cocci warnings drm/vc4: fix platform_no_drv_owner.cocci warnings drm/vc4: vc4_plane_duplicate_state() can be static ... commit cd6caf550a2adc763c6301ecc0be01f422fb2aea Merge: 8bdddfa c7f42c6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 18:14:47 2015 -0800 Merge tag 'for-linus-4.4' of git://git.code.sf.net/p/openipmi/linux-ipmi Pull IPMI updates from Corey Minyard: "Some fixes for small IPMI problems. The most significant is that the driver wasn't starting the timer for some messages, which would result in problems if that message failed for some reason. The others are small optimizations or making things a little neater" * tag 'for-linus-4.4' of git://git.code.sf.net/p/openipmi/linux-ipmi: ipmi watchdog : add panic_wdt_timeout parameter char: ipmi: Move MODULE_DEVICE_TABLE() to follow struct ipmi: Stop the timer immediately if idle ipmi: Start the timer and thread on internal msgs commit 8bdddfae6590ecbc4a48e1a5b93386d6b8956fe5 Merge: b4ba1f0 0ba58de Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 17:58:44 2015 -0800 Merge tag 'renesas-sh-drivers-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas Pull SH driver fixlet from Simon Horman: "I am sending this change after v4.4-rc1 has been released as it depends on SoC changes which are present in that rc: = Remove now unnecessary reference to CONFIG_ARCH_SHMOBILE_MULTI" * tag 'renesas-sh-drivers-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: drivers: sh: Get rid of CONFIG_ARCH_SHMOBILE_MULTI commit 19cd80a214821f4b558560ebd76bfb2c38b4f3d8 Author: Jiri Slaby <jslaby@xxxxxxx> Date: Mon Nov 2 10:27:00 2015 +0100 usblp: do not set TASK_INTERRUPTIBLE before lock It is not permitted to set task state before lock. usblp_wwait sets the state to TASK_INTERRUPTIBLE and calls mutex_lock_interruptible. Upon return from that function, the state will be TASK_RUNNING again. This is clearly a bug and a warning is generated with LOCKDEP too: WARNING: CPU: 1 PID: 5109 at kernel/sched/core.c:7404 __might_sleep+0x7d/0x90() do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffffa0c588d0>] usblp_wwait+0xa0/0x310 [usblp] Modules linked in: ... CPU: 1 PID: 5109 Comm: captmon Tainted: G W 4.2.5-0.gef2823b-default #1 Hardware name: LENOVO 23252SG/23252SG, BIOS G2ET33WW (1.13 ) 07/24/2012 ffffffff81a4edce ffff880236ec7ba8 ffffffff81716651 0000000000000000 ffff880236ec7bf8 ffff880236ec7be8 ffffffff8106e146 0000000000000282 ffffffff81a50119 000000000000028b 0000000000000000 ffff8802dab7c508 Call Trace: ... [<ffffffff8106e1c6>] warn_slowpath_fmt+0x46/0x50 [<ffffffff8109a8bd>] __might_sleep+0x7d/0x90 [<ffffffff8171b20f>] mutex_lock_interruptible_nested+0x2f/0x4b0 [<ffffffffa0c588fc>] usblp_wwait+0xcc/0x310 [usblp] [<ffffffffa0c58bb2>] usblp_write+0x72/0x350 [usblp] [<ffffffff8121ed98>] __vfs_write+0x28/0xf0 ... Commit 7f477358e2384c54b190cc3b6ce28277050a041b (usblp: Implement the ENOSPC convention) moved the set prior locking. So move it back after the lock. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Fixes: 7f477358e2 ("usblp: Implement the ENOSPC convention") Acked-By: Pete Zaitcev <zaitcev@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44243ef42d77ae367e6e9c68afca3b4578d2d461 Author: Simon Arlott <simon@xxxxxxxxxxx> Date: Sun Nov 15 17:12:08 2015 +0000 USB: MAINTAINERS: cxacru Make cxacru an orphan. I still have a few of these devices for testing but haven't had an ADSL1 connection for several years. Signed-off-by: Simon Arlott <simon@xxxxxxxxxxx> Cc: Duncan Sands <baldrick@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4f161308ac280ce5b27681ddcc2bbac6de39c20 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Thu Nov 19 11:47:47 2015 +0800 usb: kconfig: fix warning of select USB_OTG When choose randconfig for kernel build, it reports below warning: "warning: (USB_OTG_FSM && FSL_USB2_OTG && USB_MV_OTG) selects USB_OTG which has unmet direct dependencies (USB_SUPPORT && USB && PM)" In fact, USB_OTG is visible symbol and depends on PM, so the driver needs to depend on it to reduce dependency problem. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 638148e20c7f8f6e95017fdc13bce8549a6925e0 Author: Bjørn Mork <bjorn@xxxxxxx> Date: Wed Nov 18 21:12:33 2015 +0100 USB: option: add XS Stick W100-2 from 4G Systems Thomas reports " 4gsystems sells two total different LTE-surfsticks under the same name. .. The newer version of XS Stick W100 is from "omega" .. Under windows the driver switches to the same ID, and uses MI03\6 for network and MI01\6 for modem. .. echo "1c9e 9b01" > /sys/bus/usb/drivers/qmi_wwan/new_id echo "1c9e 9b01" > /sys/bus/usb-serial/drivers/option1/new_id T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 4 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1c9e ProdID=9b01 Rev=02.32 S: Manufacturer=USB Modem S: Product=USB Modem S: SerialNumber= C: #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan I: If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage Now all important things are there: wwp0s29f7u2i3 (net), ttyUSB2 (at), cdc-wdm0 (qmi), ttyUSB1 (at) There is also ttyUSB0, but it is not usable, at least not for at. The device works well with qmi and ModemManager-NetworkManager. " Reported-by: Thomas Schäfer <tschaefer@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3767e3c9da514e63e898772b72b932f9eb3b062 Merge: 0aba0ab8 a76032e 4981c2b 768acd6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Nov 20 01:22:52 2015 +0100 Merge branches 'acpi-smbus', 'acpi-ec' and 'acpi-pci' * acpi-smbus: Revert "ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook" ACPI / SMBus: Fix boot stalls / high CPU caused by reentrant code * acpi-ec: ACPI-EC: Drop unnecessary check made before calling acpi_ec_delete_query() * acpi-pci: PCI: Fix OF logic in pci_dma_configure() commit 0aba0ab8915bcad3ae7e05e18bc2c5c55570e328 Merge: 9832bf3 6f9b36c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Nov 20 01:22:33 2015 +0100 Merge branch 'pm-sleep' * pm-sleep: PM / wakeirq: check that wake IRQ is valid before accepting it commit 9832bf3a35f55b8650280a6a3236859e751a1294 Merge: d9f67db 3bf7f56 d29d673 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Nov 20 01:22:10 2015 +0100 Merge branches 'pm-cpufreq' and 'acpi-cppc' * pm-cpufreq: Revert "Documentation: kernel_parameters for Intel P state driver" cpufreq: mediatek: fix build error cpufreq: intel_pstate: Add separate support for Airmont cores cpufreq: intel_pstate: Replace BYT with ATOM Revert "cpufreq: intel_pstate: Use ACPI perf configuration" Revert "cpufreq: intel_pstate: Avoid calculation for max/min" * acpi-cppc: ACPI / CPPC: Use h/w reduced version of the PCCT structure commit 768acd64d68b232e0d2b9623d9846457355f0c27 Author: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx> Date: Wed Nov 18 16:49:52 2015 -0800 PCI: Fix OF logic in pci_dma_configure() This patch fixes a bug introduced by previous commit, which incorrectly checkes the of_node of the end-point device. Instead, it should check the of_node of the host bridge. Fixes: 50230713b639 ("PCI: OF: Move of_pci_dma_configure() to pci_dma_configure()") Reported-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2d591ab18a77e25def2c483b495e07b42a3ea79f Merge: db39563 7383123 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Nov 20 09:45:31 2015 +1000 Merge tag 'drm-intel-fixes-2015-11-19' of git://anongit.freedesktop.org/drm-intel into drm-fixes i915 fixes for 4.4, including the revert for the backlight regression Olof reported. Otherwise fixes all around. * tag 'drm-intel-fixes-2015-11-19' of git://anongit.freedesktop.org/drm-intel: Revert "drm/i915: skip modeset if compatible for everyone." drm/i915: Consider SPLL as another shared pll, v2. drm/i915: Fix gpu frequency change tracing drm/i915: Don't clobber the addfb2 ioctl params drm/i915: Clear intel_crtc->atomic before updating it. drm/i915: get runtime PM reference around GEM set_caching IOCTL drm/i915: Fix GT frequency rounding drm/i915: quirk backlight present on Macbook 4, 1 drm/i915: Fix crtc_y assignment in intel_find_initial_plane_obj() commit db3956372f086eaf1c079dc12c3f03ae9f306ba5 Merge: f6619ef 5481c8f Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Nov 20 09:44:50 2015 +1000 Merge tag 'topic/drm-fixes-2015-11-19' of git://anongit.freedesktop.org/drm-intel into drm-fixes Here are some drm core fixes for v4.4 that I've picked up. Atomic fixes from Maarten, and atomic helper fixes from Ville and Daniel. Admittedly the topmost commit didn't sit in our tree for very long, but does come with reviews and testing from trustworthy people. * tag 'topic/drm-fixes-2015-11-19' of git://anongit.freedesktop.org/drm-intel: drm/atomic-helper: Check encoder/crtc constraints drm: Fix primary plane size for stereo doubled modes for legacy setcrtc drm/core: Fix old_fb handling in pan_display_atomic. drm/core: Fix old_fb handling in restore_fbdev_mode_atomic. drm/atomic: add a drm_atomic_clean_old_fb helper. drm/core: Fix old_fb handling in drm_mode_atomic_ioctl. drm/core: Set legacy_cursor_update in drm_atomic_helper_disable_plane. commit 54514aa465e94316a4bf1c5dfe970536bec3e76f Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Thu Nov 19 12:50:10 2015 +0100 null_blk: do not del gendisk with lightnvm The gendisk structure has not been initialized when using lightnvm. Make sure to not delete it upon exit. Also make sure that we use the appropriate disk_name at unregistration. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5b40db99099ddebe31e9b1b759894cf09c0c6679 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Thu Nov 19 12:50:09 2015 +0100 null_blk: use device addressing mode The linear addressing mode was removed in 7386af2. Make null_blk instead expose the ppa format geometry and support the generic addressing mode. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6bb9535bc3f59194a0ae17b17ca71aecd0f7e3a2 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Thu Nov 19 12:50:08 2015 +0100 null_blk: use ppa_cache pool Instead of using a page pool, we can save memory by only allocating room for 64 entries for the ppa command. Introduce a ppa_cache to allocate only the required memory for the ppa list. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0a72f2ad84cc9dde5e4c7ab905a2f89593ddc0b6 Merge: dad67d5 59536da Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 14:08:37 2015 -0800 Merge tag 'usb-serial-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus Johan writes: USB-serial fixes for v4.4-rc2 Here are some new device ids, support for an odd qcserial Gobi interface layout and a fix for the qcserial Huawei interface layout. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 2e6edc95382cc36423aff18a237173ad62d5ab52 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Nov 19 13:29:28 2015 -0800 block: protect rw_page against device teardown Fix use after free crashes like the following: general protection fault: 0000 [#1] SMP Call Trace: [<ffffffffa0050216>] ? pmem_do_bvec.isra.12+0xa6/0xf0 [nd_pmem] [<ffffffffa0050ba2>] pmem_rw_page+0x42/0x80 [nd_pmem] [<ffffffff8128fd90>] bdev_read_page+0x50/0x60 [<ffffffff812972f0>] do_mpage_readpage+0x510/0x770 [<ffffffff8128fd20>] ? I_BDEV+0x20/0x20 [<ffffffff811d86dc>] ? lru_cache_add+0x1c/0x50 [<ffffffff81297657>] mpage_readpages+0x107/0x170 [<ffffffff8128fd20>] ? I_BDEV+0x20/0x20 [<ffffffff8128fd20>] ? I_BDEV+0x20/0x20 [<ffffffff8129058d>] blkdev_readpages+0x1d/0x20 [<ffffffff811d615f>] __do_page_cache_readahead+0x28f/0x310 [<ffffffff811d6039>] ? __do_page_cache_readahead+0x169/0x310 [<ffffffff811c5abd>] ? pagecache_get_page+0x2d/0x1d0 [<ffffffff811c76f6>] filemap_fault+0x396/0x530 [<ffffffff811f816e>] __do_fault+0x4e/0xf0 [<ffffffff811fce7d>] handle_mm_fault+0x11bd/0x1b50 Cc: <stable@xxxxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <lkp@xxxxxxxxx> Acked-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> [willy: symmetry fixups] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit b4ba1f0f6533e3a49976f5736b263478509099a0 Merge: a3d66b5 92e788b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 12:21:23 2015 -0800 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Catalin Marinas: - Fix size alignment in __iommu_{alloc,free}_attrs - Kernel memory mapping fix with CONFIG_DEBUG_RODATA for page sizes other than 4KB and a fix of the mark_rodata_ro permissions - dma_get_ops() simplification and behaviour alignment between DT and ACPI - function_graph trace fix for cpu_suspend() (CPUs returning from deep sleep via a different path and confusing the tracer) - Use of non-global mappings for UEFI run-time services to avoid a (potentially theoretical) TLB conflict - Crypto priority reduction of core AES cipher (the accelerated asynchronous implementation is preferred when available) - Reverting an old commit that removed BogoMIPS from /proc/cpuinfo on arm64. Apparently, we had it for a relatively short time and libvirt started checking for its presence - Compiler warnings fixed (ptrace.h inclusion from compat.h, smp_load_acquire with const argument) * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: restore bogomips information in /proc/cpuinfo arm64: barriers: fix smp_load_acquire to work with const arguments arm64: Fix R/O permissions in mark_rodata_ro arm64: crypto: reduce priority of core AES cipher arm64: use non-global mappings for UEFI runtime regions arm64: kernel: pause/unpause function graph tracer in cpu_suspend() arm64: do not include ptrace.h from compat.h arm64: simplify dma_get_ops arm64: mm: use correct mapping granularity under DEBUG_RODATA arm64/dma-mapping: Fix sizes in __iommu_{alloc,free}_attrs commit a3d66b5a17f81ee84604f95b0e2c9ccf0434c6f0 Merge: 319645c e41b104 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 12:16:12 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching Pull livepatching fix from Jiri Kosina: "A fix for module handling in case kASLR has been enabled, from Zhou Chengming" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching: livepatch: x86: fix relocation computation with kASLR commit 319645cac26c2d065a485f5d59228433ad602f71 Merge: 1282ac4 a3088ab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 12:10:51 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID fixes from Jiri Kosina: "Two functional fixes for wacom HID driver from Ping Cheng and Jiri Kosina" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: wacom: fixup quirks setup for WACOM_DEVICETYPE_PAD HID: wacom: Add outbounding area for DTU1141 commit 6824c5ef5e8900e61ce8ed40885cacc1c9301c14 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Wed Nov 18 16:33:08 2015 -0700 NVMe: Fix possible arithmetic overflow for max segments Reported-by: Paul Grabinar <paul.grabinar@xxxxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1282ac407cf4c3eaeaddd8d776a7ffbd2b94c2e7 Merge: 34258a3 d3df046 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 19 11:33:58 2015 -0800 Merge tag 'mmc-v4.4-rc1' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC fixes from Ulf Hansson: "Here are some mmc fixes intended for v4.4 rc2. It's based on a commit prior rc1 as I wanted to get them a bit more tested in next before sending you the pull request. MMC core: - Improve reliability when selecting HS200 mode - Improve reliability when selecting HS400 mode - mmc: remove bondage between REQ_META and reliable write MMC host: - pxamci: Fix read-only gpio detection polarity - mtk-sd: Preinitialize delay_phase to fix the case when delay is zero - android-goldfish: Fix build dependency by adding HAS_DMA - dw_mmc: Remove Seungwon Jeon from MAINTAINERS" * tag 'mmc-v4.4-rc1' of git://git.linaro.org/people/ulf.hansson/mmc: mmc: remove bondage between REQ_META and reliable write mmc: MMC_GOLDFISH should depend on HAS_DMA mmc: mediatek: Preinitialize delay_phase in get_best_delay() MAINTAINERS: mmc: Remove Seungwon Jeon from dw_mmc mmc: mmc: Improve reliability of mmc_select_hs400() mmc: mmc: Move mmc_switch_status() mmc: mmc: Fix HS setting in mmc_select_hs400() mmc: mmc: Improve reliability of mmc_select_hs200() mmc: pxamci: fix read-only gpio detection polarity commit bcbd94ff481ec1d7b5c824d90df82d0faafabd35 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Thu Nov 19 07:36:50 2015 -0500 dm crypt: fix a possible hang due to race condition on exit A kernel thread executes __set_current_state(TASK_INTERRUPTIBLE), __add_wait_queue, spin_unlock_irq and then tests kthread_should_stop(). It is possible that the processor reorders memory accesses so that kthread_should_stop() is executed before __set_current_state(). If such reordering happens, there is a possible race on thread termination: CPU 0: calls kthread_should_stop() it tests KTHREAD_SHOULD_STOP bit, returns false CPU 1: calls kthread_stop(cc->write_thread) sets the KTHREAD_SHOULD_STOP bit calls wake_up_process on the kernel thread, that sets the thread state to TASK_RUNNING CPU 0: sets __set_current_state(TASK_INTERRUPTIBLE) spin_unlock_irq(&cc->write_thread_wait.lock) schedule() - and the process is stuck and never terminates, because the state is TASK_INTERRUPTIBLE and wake_up_process on CPU 1 already terminated Fix this race condition by using a new flag DM_CRYPT_EXIT_THREAD to signal that the kernel thread should exit. The flag is set and tested while holding cc->write_thread_wait.lock, so there is no possibility of racy access to the flag. Also, remove the unnecessary set_task_state(current, TASK_RUNNING) following the schedule() call. When the process was woken up, its state was already set to TASK_RUNNING. Other kernel code also doesn't set the state to TASK_RUNNING following schedule() (for example, do_wait_for_common in completion.c doesn't do it). Fixes: dc2676210c42 ("dm crypt: offload writes to thread") Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 92e788b749862ebe9920360513a718e5dd4da7a9 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Wed Nov 18 10:48:55 2015 -0800 arm64: restore bogomips information in /proc/cpuinfo As previously reported, some userspace applications depend on bogomips showed by /proc/cpuinfo. Although there is much less legacy impact on aarch64 than arm, it does break libvirt. This patch reverts commit 326b16db9f69 ("arm64: delay: don't bother reporting bogomips in /proc/cpuinfo"), but with some tweak due to context change and without the pr_info(). Fixes: 326b16db9f69 ("arm64: delay: don't bother reporting bogomips in /proc/cpuinfo") Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.12+ Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d792abacaf1a1a8dfea353fab699b97fa6251c2a Merge: 62a193e 152e9f6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Nov 19 17:59:32 2015 +0100 Merge tag 'kvm-s390-master-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-master KVM: s390: Fixes for 4.4 1. disallow changing the SIMD mode when CPUs have been created. it allowed userspace to corrupt kernel memory 2. Fix vCPU lookup. Until now the vCPU number equals the vCPU id. Some kernel code places relied on that. This might a: cause guest failures b: allow userspace to corrupt kernel memory 3. Fencing of the PFMF instruction should use the guest facilities and not the host facilities. commit 5481c8fb1da2a573861095fbea078f30c664d0bd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Nov 18 18:46:48 2015 +0100 drm/atomic-helper: Check encoder/crtc constraints This was totally lost when I originally created the atomic helpers. We probably should also check possible_clones in the helpers, but since the legacy ones didn't do that this is for a separate patch. Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447868808-10266-1-git-send-email-daniel.vetter@xxxxxxxx commit 152e9f65d66f0a3891efc3869440becc0e7ff53f Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 09:06:06 2015 +0100 KVM: s390: fix wrong lookup of VCPUs by array index For now, VCPUs were always created sequentially with incrementing VCPU ids. Therefore, the index in the VCPUs array matched the id. As sequential creation might change with cpu hotplug, let's use the correct lookup function to find a VCPU by id, not array index. Let's also use kvm_lookup_vcpu() for validation of the sending VCPU on external call injection. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # db27a7a KVM: Provide function for VCPU lookup by id commit b85de33a1a3433487b6a721cfdce25ec8673e622 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 09:38:15 2015 +0100 KVM: s390: avoid memory overwrites on emergency signal injection Commit 383d0b050106 ("KVM: s390: handle pending local interrupts via bitmap") introduced a possible memory overwrite from user space. User space could pass an invalid emergency signal code (sending VCPU) and therefore exceed the bitmap. Let's take care of this case and check that the id is in the valid range. Reviewed-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.19+ db27a7a KVM: Provide function for VCPU lookup by id Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit db27a7a37aa0b1f8b373f8b0fb72a2ccaafb85b7 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 09:03:50 2015 +0100 KVM: Provide function for VCPU lookup by id Let's provide a function to lookup a VCPU by id. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> [split patch from refactoring patch] commit 03c02807e25ef0f44767f28e939efc2c5deb0f3d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Nov 13 13:31:58 2015 +0100 KVM: s390: fix pfmf intercept handler The pfmf intercept handler should check if the EDAT 1 facility is installed in the guest, not if it is installed in the host. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 5967c17b118a2bd1dd1d554cc4eee16233e52bec Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 12:08:48 2015 +0100 KVM: s390: enable SIMD only when no VCPUs were created We should never allow to enable/disable any facilities for the guest when other VCPUs were already created. kvm_arch_vcpu_(load|put) relies on SIMD not changing during runtime. If somebody would create and run VCPUs and then decides to enable SIMD, undefined behaviour could be possible (e.g. vector save area not being set up). Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.1+ commit 581b7f158fe0383b492acd1ce3fb4e99d4e57808 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Date: Wed Jun 3 10:31:14 2015 +0100 x86/cpu: Fix SMAP check in PVOPS environments There appears to be no formal statement of what pv_irq_ops.save_fl() is supposed to return precisely. Native returns the full flags, while lguest and Xen only return the Interrupt Flag, and both have comments by the implementations stating that only the Interrupt Flag is looked at. This may have been true when initially implemented, but no longer is. To make matters worse, the Xen PVOP leaves the upper bits undefined, making the BUG_ON() undefined behaviour. Experimentally, this now trips for 32bit PV guests on Broadwell hardware. The BUG_ON() is consistent for an individual build, but not consistent for all builds. It has also been a sitting timebomb since SMAP support was introduced. Use native_save_fl() instead, which will obtain an accurate view of the AC flag. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Tested-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: <lguest@xxxxxxxxxxxxxxxx> Cc: Xen-devel <xen-devel@xxxxxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1433323874-6927-1-git-send-email-andrew.cooper3@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 112677d683d31ebd6a8e8b02e0620ae512354b2d Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Nov 17 09:43:24 2015 +0900 x86/ftrace: Add comment on static function tracing There was a confusion between update_ftrace_function() and static function tracing trampoline regarding 3rd parameter (ftrace_ops). Add a comment for clarification. Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1447721004-2551-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7383123647566a813692bb37a1389c767ed89158 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Nov 19 10:26:30 2015 +0200 Revert "drm/i915: skip modeset if compatible for everyone." This reverts commit 6764e9f8724f1231b4deac53b9a82286ac0830e7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:06 2015 +0200 drm/i915: skip modeset if compatible for everyone. Bring back the i915.fastboot module parameter, disabled by default, due to backlight regression on Chromebook Pixel 2015. Apparently the firmware of the Chromebook in question enables the panel but disables backlight to avoid a brief garbage scanout upon loading the kernel/module. With fastboot, we leave the backlight untouched, in this case disabled. The user would have to do a modeset (i.e. not just crank up the brightness) to enable the backlight. There is no clean fix readily available, so get back to the drawing board by reverting. [N.B. The reference below is for when the thread was included on public lists, and some of the context had already been dropped by then.] Reported-and-tested-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> References: http://marc.info/?i=CAKMK7uES7xk05ki92oeX6gmvZWAh9f2vL7yz=6T+fGK9J3X7cQ@xxxxxxxxxxxxxx Fixes: 6764e9f8724f ("drm/i915: skip modeset if compatible for everyone.") Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447921590-3785-1-git-send-email-jani.nikula@xxxxxxxxx commit f6619ef7508261be2ba3ded313ccc46ce670d0d3 Author: Wang, Rui Y <rui.y.wang@xxxxxxxxx> Date: Wed Nov 18 23:00:53 2015 +0800 drm/mgag200: fix kernel hang in cursor code. The machine hang completely with the following message on the console: [ 487.777538] BUG: unable to handle kernel NULL pointer dereference at 0000000000000060 [ 487.777554] IP: [<ffffffff8158aaee>] _raw_spin_lock+0xe/0x30 [ 487.777557] PGD 42e9f7067 PUD 42f2fa067 PMD 0 [ 487.777560] Oops: 0002 [#1] SMP ... [ 487.777618] CPU: 21 PID: 3190 Comm: Xorg Tainted: G E 4.4.0-rc1-3-default+ #6 [ 487.777620] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS BRHSXSD1.86B.0059.R00.1501081238 01/08/2015 [ 487.777621] task: ffff880853ae4680 ti: ffff8808696d4000 task.ti: ffff8808696d4000 [ 487.777625] RIP: 0010:[<ffffffff8158aaee>] [<ffffffff8158aaee>] _raw_spin_lock+0xe/0x30 [ 487.777627] RSP: 0018:ffff8808696d79c0 EFLAGS: 00010246 [ 487.777628] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 [ 487.777629] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 0000000000000060 [ 487.777630] RBP: ffff8808696d79e0 R08: 0000000000000000 R09: ffff88086924a780 [ 487.777631] R10: 000000000001bb40 R11: 0000000000003246 R12: 0000000000000000 [ 487.777632] R13: ffff880463a27360 R14: ffff88046ca50218 R15: 0000000000000080 [ 487.777634] FS: 00007f3f81c5a8c0(0000) GS:ffff88086f060000(0000) knlGS:0000000000000000 [ 487.777635] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 487.777636] CR2: 0000000000000060 CR3: 000000042e678000 CR4: 00000000001406e0 [ 487.777638] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 487.777639] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 487.777639] Stack: [ 487.777642] ffffffffa00eb5fa ffff8808696d7b60 ffff88086b87d800 0000000000000000 [ 487.777644] ffff8808696d7ac8 ffffffffa01694b6 ffff8808696d7ae8 ffffffff8109c8d5 [ 487.777647] ffff880469158740 ffff880463a27000 ffff88086b87d800 ffff88086b87d800 [ 487.777647] Call Trace: [ 487.777674] [<ffffffffa00eb5fa>] ? drm_gem_object_lookup+0x1a/0xa0 [drm] [ 487.777681] [<ffffffffa01694b6>] mga_crtc_cursor_set+0xc6/0xb60 [mgag200] [ 487.777691] [<ffffffff8109c8d5>] ? find_busiest_group+0x35/0x4a0 [ 487.777696] [<ffffffff81086294>] ? __might_sleep+0x44/0x80 [ 487.777699] [<ffffffff815888c2>] ? __ww_mutex_lock+0x22/0x9c [ 487.777722] [<ffffffffa0104f64>] ? drm_modeset_lock+0x34/0xf0 [drm] [ 487.777733] [<ffffffffa0148d9e>] restore_fbdev_mode+0xee/0x2a0 [drm_kms_helper] [ 487.777742] [<ffffffffa014afce>] drm_fb_helper_restore_fbdev_mode_unlocked+0x2e/0x70 [drm_kms_helper] [ 487.777748] [<ffffffffa014b037>] drm_fb_helper_set_par+0x27/0x50 [drm_kms_helper] [ 487.777752] [<ffffffff8134560c>] fb_set_var+0x18c/0x3f0 [ 487.777777] [<ffffffffa02a9b0a>] ? __ext4_handle_dirty_metadata+0x8a/0x210 [ext4] [ 487.777783] [<ffffffff8133cb97>] fbcon_blank+0x1b7/0x2b0 [ 487.777790] [<ffffffff813be2a3>] do_unblank_screen+0xb3/0x1c0 [ 487.777795] [<ffffffff813b5aba>] vt_ioctl+0x118a/0x1210 [ 487.777801] [<ffffffff813a8fe0>] tty_ioctl+0x3f0/0xc90 [ 487.777808] [<ffffffff81172018>] ? kzfree+0x28/0x30 [ 487.777813] [<ffffffff811e053f>] ? mntput+0x1f/0x30 [ 487.777817] [<ffffffff811d3f5d>] do_vfs_ioctl+0x30d/0x570 [ 487.777822] [<ffffffff8107ed3a>] ? task_work_run+0x8a/0xa0 [ 487.777825] [<ffffffff811d4234>] SyS_ioctl+0x74/0x80 [ 487.777829] [<ffffffff8158aeae>] entry_SYSCALL_64_fastpath+0x12/0x71 [ 487.777851] Code: 65 ff 0d ce 02 a8 7e 5d c3 ba 01 00 00 00 f0 0f b1 17 85 c0 75 e8 b0 01 5d c3 0f 1f 00 65 ff 05 b1 02 a8 7e 31 c0 ba 01 00 00 00 <f0> 0f b1 17 85 c0 75 01 c3 55 89 c6 48 89 e5 e8 4e f5 b1 ff 5d [ 487.777854] RIP [<ffffffff8158aaee>] _raw_spin_lock+0xe/0x30 [ 487.777855] RSP <ffff8808696d79c0> [ 487.777856] CR2: 0000000000000060 [ 487.777860] ---[ end trace 672a2cd555e0ebd3 ]--- The cursor code may be entered with file_priv == NULL && handle == NULL. The problem was introduced by: "bf89209 drm/mga200g: Hold a proper reference for cursor_set" which calls drm_gem_object_lookup(dev, file_priv...). Previously this wasn't a problem because we checked the handle. Move the check early in the function can fix the problem. Signed-off-by: Rui Wang <rui.y.wang@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e6c84acb3afcdf4bdbedc75d268b6c8bd7c4ed7a Merge: 8ed59fd bf893ac Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 19 13:17:08 2015 +1000 Merge branch 'drm-vc4-fixes' of git://github.com/anholt/linux into drm-fixes Here are a few little VC4 fixes for 4.4 that I didn't get in to you before the -next pull request. I dropped the feature-ish one I'd mentioned, and also droppped the one I saw you included in the last -fixes pull request. * 'drm-vc4-fixes' of git://github.com/anholt/linux: drm/vc4: Make sure that planes aren't scaled. drm/vc4: Fix some failure to track __iomem decorations on pointers. drm/vc4: checking for NULL instead of IS_ERR drm/vc4: fix itnull.cocci warnings drm/vc4: fix platform_no_drv_owner.cocci warnings drm/vc4: vc4_plane_duplicate_state() can be static commit 8ed59fd6d4691bd1e67b71f84e473f440fc7c821 Merge: 34258a3 49b02b1 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 19 13:15:17 2015 +1000 Merge branch 'drm-fixes-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Radeon and amdgpu fixes for 4.4. A bit more the usual since I missed last week. Misc fixes all over the place. The big changes are the tiling configuration fixes for Fiji. * 'drm-fixes-4.4' of git://people.freedesktop.org/~agd5f/linux: (35 commits) drm/amdgpu: reserve/unreserve objects out of map/unmap operations drm/amdgpu: move bo_reserve out of amdgpu_vm_clear_bo drm/amdgpu: add lock for interval tree in vm drm/amdgpu: keep the owner for VMIDs drm/amdgpu: move VM manager clean into the VM code again drm/amdgpu: cleanup VM coding style drm/amdgpu: remove unused VM manager field drm/amdgpu: cleanup scheduler command submission drm/amdgpu: fix typo in firmware name drm/amdgpu: remove the unnecessary parameter adev for amdgpu_sa_bo_new() drm/amdgpu: wait interruptible when semaphores are disabled v2 drm/amdgpu: update pd while updating vm as well drm/amdgpu: fix handling order in scheduler CS drm/amdgpu: fix incorrect mutex usage v3 drm/amdgpu: cleanup scheduler fence get/put dance drm/amdgpu: add command submission workflow tracepoint drm/amdgpu: update Fiji's tiling mode table drm/amdgpu: fix bug that can't enter thermal interrupt for bonaire. drm/amdgpu: fix seq_printf format string drm/radeon: fix quirk for MSI R7 370 Armor 2X ... commit 0df9d41ab5d43dc5b20abc8b22a6b6d098b03994 Author: Yigal Korman <yigal@xxxxxxxxxxxxx> Date: Mon Nov 16 14:09:15 2015 +0200 mm, dax: fix DAX deadlocks (COW fault) DAX handling of COW faults has wrong locking sequence: dax_fault does i_mmap_lock_read do_cow_fault does i_mmap_unlock_write Ross's commit[1] missed a fix[2] that Kirill added to Matthew's commit[3]. Original COW locking logic was introduced by Matthew here[4]. This should be applied to v4.3 as well. [1] 0f90cc6609c7 mm, dax: fix DAX deadlocks [2] 52a2b53ffde6 mm, dax: use i_mmap_unlock_write() in do_cow_fault() [3] 843172978bb9 dax: fix race between simultaneous faults [4] 2e4cdab0584f mm: allow page fault handlers to perform the COW Cc: <stable@xxxxxxxxxxxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Dave Chinner <dchinner@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Acked-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Yigal Korman <yigal@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 2ce47b44b25d8fb0114ff117813742adbefec8ff Author: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Date: Fri Nov 13 11:17:51 2015 +0800 selftests/seccomp: Get page size from sysconf The commit fd88d16c58c2 ("selftests/seccomp: Be more precise with syscall arguments.") use PAGE_SIZE directly which lead to build failure on arm64. Replace it with generic interface(sysconf(_SC_PAGESIZE)) to fix this failure. Build and test successful on x86_64 and arm64. Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Tested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 3bf7f56e70c9f0edb4f91cbb73a393c3b1d24801 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Nov 19 00:42:23 2015 +0100 Revert "Documentation: kernel_parameters for Intel P state driver" Revert commit 053f56def57b (Documentation: kernel_parameters for Intel P state driver) as the code documented by it has been reverted already. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2d4ee3036774e394d416cded9d5cf7661ffb4e4f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 22:27:55 2015 +0100 cpufreq: mediatek: fix build error The recently added mt8173 cpufreq driver relies on the cpu topology that is always present on ARM64 but optional on ARM32: drivers/cpufreq/mt8173-cpufreq.c: In function 'mtk_cpufreq_init': drivers/cpufreq/mt8173-cpufreq.c:441:30: error: 'cpu_topology' undeclared (first use in this function) cpumask_copy(policy->cpus, &cpu_topology[policy->cpu].core_sibling); This refines the Kconfig dependencies so that we can still build on ARM32, but only if COMPILE_TEST is selected and the CPU topology code is present. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1421df63c3cf956c69c26ac9660c6e223eeed980 Author: Philippe Longepe <philippe.longepe@xxxxxxxxxxxxxxx> Date: Mon Nov 9 17:40:47 2015 -0800 cpufreq: intel_pstate: Add separate support for Airmont cores There are two flavors of Atom cores to be supported by intel_pstate, Silvermont and Airmont, so make the driver distinguish between them by adding separate frequency tables. Separate the CPU defaults params for each of them and match the CPU IDs against them as appropriate. Signed-off-by: Philippe Longepe <philippe.longepe@xxxxxxxxxxxxxxx> Signed-off-by: Stephane Gasparini <stephane.gasparini@xxxxxxxxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> [ rjw: Subject and changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 938d21a2a6370241c86d515ca574aaaa9e8812f2 Author: Philippe Longepe <philippe.longepe@xxxxxxxxxxxxxxx> Date: Mon Nov 9 17:40:46 2015 -0800 cpufreq: intel_pstate: Replace BYT with ATOM Rename symbol and function names starting with "BYT" or "byt" to start with "ATOM" or "atom", respectively, so as to make it clear that they may apply to Atom in general and not just to Baytrail (the goal is to support several Atoms architectures eventually). This should not lead to any functional changes. Signed-off-by: Philippe Longepe <philippe.longepe@xxxxxxxxxxxxxxx> Signed-off-by: Stephane Gasparini <stephane.gasparini@xxxxxxxxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> [ rjw : Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6ee11e413c495390dacabd96ad462eea9de9dfbd Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Nov 19 00:20:42 2015 +0100 Revert "cpufreq: intel_pstate: Use ACPI perf configuration" Revert commit 37afb0003242 (cpufreq: intel_pstate: Use ACPI perf configuration) that is reported to cause a regression to happen on a system where invalid data are returned by the ACPI _PSS object. Since that commit makes assumptions regarding the _PSS output correctness that may turn out to be overly optimistic in general, there is a concern that it may introduce regression on more systems, so it's better to revert it now and we'll revisit the underlying issue in the next cycle with a more robust solution. Conflicts: drivers/cpufreq/intel_pstate.c Fixes: 37afb0003242 (cpufreq: intel_pstate: Use ACPI perf configuration) Reported-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 799281a3c481a738801bf17e3079a6f91df56cd3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Nov 18 23:29:56 2015 +0100 Revert "cpufreq: intel_pstate: Avoid calculation for max/min" Revert commit 4ef451487019 (cpufreq: intel_pstate: Avoid calculation for max/min) as it depends on commit 37afb0003242 (cpufreq: intel_pstate: Use ACPI perf configuration) that causes problems to happen and needs to be reverted. Conflicts: drivers/cpufreq/intel_pstate.c Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b57f9f34e27bf81c97b10d6725d71824e448c37e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Nov 5 18:51:23 2015 +0900 Revert "Staging: wilc1000: coreconfigurator: Drop unneeded wrapper functions" The source and destination pointers are misplaced. This will be like, ether_addr_copy(data, bssid + ADDR2); -> ether_addr_copy(bssid, data + ADDR2); and also to use ether_addr_copy, it has to be proved that src/dst address are properly aligned(2). I revert this as author agree to drop this patch. This reverts commit d4622f68db8095dd54179e3134e97812727f6b89. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ddaa021b000220b5f2ad023e4f15ed44990974b Author: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Date: Tue Nov 17 13:50:08 2015 -0500 MAINTAINERS: brcmnand: Add co-maintainer for Broadcom SoCs Adding myself as co-maintainer of nand controller driver for the Broadcom SoCs. Signed-off-by: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 819db468b26797d9f53d547dd2a9fe94859a16e0 Merge: 8005c49 a57f8da Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Nov 18 13:15:50 2015 -0800 Merge tag 'iio-fixes-for-4.4a' of ssh://ra.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus Jonathan writes: First set of IIO fixes for the 4.4 cycle. This set does not include those for issues introduced during the merge window. Fixes of those will follow in a future series. * ad5064 - Make sure the local i2c_write returns 0 on success rather than the number of bytes transfered. Otherwise we report an error on all writes. - Fix a shift for ad5629 and ad5669 which gives incorrect DAC output on these parts. * ad7793 - The product ID on the datasheet is wrong. Fix it in the driver. * IIO_DUMMY_EVGEN - select IRQ_WORK as a dependency. * lpc32xx - make sure clock is prepared before enabling. * si7020 - data byte order was reversed. Fix it. * vf610 - Internal temperature calculation was wrong if a different reference voltage was used. Now use a linear interpolation function to make it work over the full range. - Fix a division by zero in the case of a device tree property not being present (same issue two fixes). * xilinx XADC - VREFN scale was wrong - fix it. commit c139aa60c1007429335131167a0ca181e38c5668 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Nov 18 10:13:08 2015 +0000 arm64: barriers: fix smp_load_acquire to work with const arguments A newly introduced function in include/net/sock.h passes a const argument to smp_load_acquire: static inline int sk_state_load(const struct sock *sk) { return smp_load_acquire(&sk->sk_state); } This cause an allmodconfig build failure, since our underlying load-acquire implementation does not handle const types correctly: include/net/sock.h: In function 'sk_state_load': ./arch/arm64/include/asm/barrier.h:71:3: error: read-only variable '___p1' used as 'asm' output asm volatile ("ldarb %w0, %1" \ This patch fixes the problem by reusing the trick in READ_ONCE that loads via a non-const member of an anonymous union. This has the advantage of allowing us to use smp_load_acquire on packed structures (e.g. arch_spinlock_t) as well as primitive types. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Reported-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit dad67d5f3d0efe01d38c6cebcb6698280e51927b Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Wed Nov 18 10:48:22 2015 +0200 xhci: Fix a race in usb2 LPM resume, blocking U3 for usb2 devices Clear device initiated resume variables once device is fully up and running in U0 state. Resume needs to be signaled for 20ms for usb2 devices before they can be moved to U0 state. An interrupt is triggered if a device initiates resume. As we handle the event in interrupt context we can not sleep for 20ms, so we instead set a resume flag, a timestamp, and start the roothub polling. The roothub code will later move the port to U0 when it finds a port in resume state with the resume flag set, and timestamp passed by 20ms. A host initiated resume is however not done in interrupt context, and host initiated resume code will directly signal resume, wait 20ms and then move the port to U0. These two codepaths can race, if we are in the middle of a host initated resume, while sleeping for 20ms, we may handle a port event and find the port in resume state. The port event handling code will assume the resume was device initiated and set the resume flag and timestamp. Root hub code will however not catch the port in resume state again as the host initated resume code has already moved the port to U0. The resume flag and timestamp will remain set for this port preventing port from suspending again (LPM setting port to U3) Fix this for now by always clearing the device initated resume parameters once port is in U0 Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42df7215facf27be8d53e657dd4a12d4ebad0a44 Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Wed Nov 18 10:48:21 2015 +0200 usb: xhci: fix checking ep busy for CFC Function ep_ring_is_processing() checks the dequeue pointer in endpoint context to know whether an endpoint is busy with processing TRBs. This is not correct since dequeue pointer field in an endpoint context is only valid when the endpoint is in Halted or Stopped states. This buggy code causes audio noise when playing sound with USB headset connected to host controllers which support CFC (one of xhci 1.1 features). This patch should exist in stable kernel since v4.3. Reported-and-tested-by: YD Tseng <yd_tseng@xxxxxxxxxxxxxx> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # v4.3 Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5964396190d0c40dd549c23848c282fffa5d1f2 Author: Rajmohan Mani <rajmohan.mani@xxxxxxxxx> Date: Wed Nov 18 10:48:20 2015 +0200 xhci: Workaround to get Intel xHCI reset working more reliably Existing Intel xHCI controllers require a delay of 1 mS, after setting the CMD_RESET bit in command register, before accessing any HC registers. This allows the HC to complete the reset operation and be ready for HC register access. Without this delay, the subsequent HC register access, may result in a system hang, very rarely. Verified CherryView / Braswell platforms go through over 5000 warm reboot cycles (which was not possible without this patch), without any xHCI reset hang. Signed-off-by: Rajmohan Mani <rajmohan.mani@xxxxxxxxx> Tested-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53de980796e0b7463dfaa81edc41b272f07b1f17 Merge: aa05cfa 6f51bc3 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Nov 18 09:21:17 2015 -0800 Merge tag 'usb-ci-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-linus Peter writes: USB Chipidea Fixes for v4.4-rc2 The first four fixes was for v4.3-rc7, but it is too late at that time, and other two small fixes are for possible NULL pointer issue. commit 34258a32d9a9fc9e38fb549efe1692301cc31f85 Merge: 0d77a12 f52c74f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 18 08:59:29 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 fixes from Martin Schwidefsky: "Assorted bug fixes, the mlock2 system call gets added, and one improvement. The boot from dasd devices is now possible from a wider range of devices" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390: remove SALIPL loader s390: wire up mlock2 system call s390: remove g5 elf platform support s390: avoid cache aliasing under z/VM and KVM s390/sclp: _sclp_wait_int(): retain full PSW mask s390/zcrypt: Fix initialisation when zcrypt is built-in s390/zcrypt: Fix kernel crash on systems without AP bus support s390: add support for ipl devices in subchannel sets > 0 s390/ipl: fix out of bounds access in scpdata_write s390/pci_dma: improve debugging of errors during dma map s390/pci_dma: handle dma table failures s390/pci_dma: unify label of invalid translation table entries s390/syscalls: remove system call number calculation s390/cio: simplify css_generate_pgid s390/diag: add a s390 prefix to the diagnose trace point s390/head: fix error message on unsupported hardware commit 0d77a123ffb5d11b97895afe8430191a273b23d6 Merge: 7f151f1 cef03d7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 18 08:43:29 2015 -0800 Merge tag 'hwmon-for-linus-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon fixes from Guenter Roeck: "Fix build issues in scpi and ina2xx drivers, update scpi driver to support recent firmware, and fix an uninitialized variable warning in applesmc driver" * tag 'hwmon-for-linus-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (scpi) skip unsupported sensors properly hwmon: (scpi) add thermal-of dependency hwmon : (applesmc) Fix uninitialized variables warnings hwmon: (ina2xx) Fix build issue by selecting REGMAP_I2C commit 49b02b180a541d6fb31031aaffe75496e9238942 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri Nov 13 14:18:38 2015 +0800 drm/amdgpu: reserve/unreserve objects out of map/unmap operations Change-Id: Id6514f2fb6e002437fdbe99353d5d35f4ac736c7 Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit ef9f0a83d68cecca241ee5d61b797d598722772e Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri Nov 13 13:43:22 2015 +0800 drm/amdgpu: move bo_reserve out of amdgpu_vm_clear_bo Change-Id: Ifbb0c06680494bfa04d0be5e5941d31ae2e5ef28 Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit c25867dfabf045a8148fd179fa759bb17f670e42 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Fri Nov 13 13:32:01 2015 +0800 drm/amdgpu: add lock for interval tree in vm Change-Id: I62b892a22af37b32e6b4aefca80a25cf45426ed2 Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 1c16c0a7b26c6c905dc79c4194135ca2f360f0f5 Author: Christian König <christian.koenig@xxxxxxx> Date: Sat Nov 14 21:31:40 2015 +0100 drm/amdgpu: keep the owner for VMIDs We don't need the last VM use any more, keep the owner directly. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <davdi1.zhou@xxxxxxx> commit ea89f8c9e8ba8a7b75446eef36917da50d2186d9 Author: Christian König <christian.koenig@xxxxxxx> Date: Sun Nov 15 20:52:06 2015 +0100 drm/amdgpu: move VM manager clean into the VM code again It's not a good idea to duplicate that code. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <davdi1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8b4fb00b5db271bb1e117a078d5d7a161d8d8af1 Author: Christian König <christian.koenig@xxxxxxx> Date: Sun Nov 15 16:04:16 2015 +0100 drm/amdgpu: cleanup VM coding style Fix the indentation and move the VM functions to the structures. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <davdi1.zhou@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit eeed25ab83bbd68b2c9dba3cc2ce5913537594f6 Author: Christian König <christian.koenig@xxxxxxx> Date: Sun Nov 15 15:50:07 2015 +0100 drm/amdgpu: remove unused VM manager field Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <davdi1.zhou@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> commit 984810fc45389c545719fbb4219e8a12b27032a4 Author: Christian König <christian.koenig@xxxxxxx> Date: Sat Nov 14 21:05:35 2015 +0100 drm/amdgpu: cleanup scheduler command submission Unify the two code path again, cause they do pretty much the same thing. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <davdi1.zhou@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> commit 2269a395790dd1ed3ae6e7708d76731e92fd46ff Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 17 11:02:47 2015 +0100 drm/amdgpu: fix typo in firmware name Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 00490c22b1b59b168d89de798f0790bfd9541515 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Nov 16 14:42:12 2015 +0100 drm/i915: Consider SPLL as another shared pll, v2. When diagnosing a unrelated bug for someone on irc, it would seem the hardware can be brought up by the BIOS with the embedded displayport using the SPLL for spread spectrum. Right now this is not handled well in i915, and it calculates the crtc needs to be reprogrammed on the first modeset without SSC, but the SPLL itself was kept active. Fix this by exposing SPLL as a shared pll that will not be returned by intel_get_shared_dpll; you have to know it exists to use it. Changes since v1: - Create a separate dpll_hw_state.spll for spll, and use separate pll functions for spll. Tested-by: Emil Renner Berthing <kernel@xxxxxxxx> Tested-by: Gabriel Feceoru <gabriel.feceoru@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447681332-6318-1-git-send-email-maarten.lankhorst@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 0b2aa5b80bbf4d0fb5daa1fb83ff637daa12d552 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Thu Nov 12 12:21:10 2015 -0800 arm64: Fix R/O permissions in mark_rodata_ro The permissions in mark_rodata_ro trigger a build error with STRICT_MM_TYPECHECKS. Fix this by introducing PAGE_KERNEL_ROX for the same reasons as PAGE_KERNEL_RO. From Ard: "PAGE_KERNEL_EXEC has PTE_WRITE set as well, making the range writeable under the ARMv8.1 DBM feature, that manages the dirty bit in hardware (writing to a page with the PTE_RDONLY and PTE_WRITE bits both set will clear the PTE_RDONLY bit in that case)" Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 08c6781cfaa196d4b257ec043c17e8746d9284e3 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Nov 16 13:12:48 2015 +0100 arm64: crypto: reduce priority of core AES cipher The asynchronous, merged implementations of AES in CBC, CTR and XTS modes are preferred when available (i.e., when instantiating ablkciphers explicitly). However, the synchronous core AES cipher combined with the generic CBC mode implementation will produce a 'cbc(aes)' blkcipher that is callable asynchronously as well. To prevent this implementation from being used when the accelerated asynchronous implemenation is also available, lower its priority to 250 (i.e., below the asynchronous module's priority of 300). Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 62a193edaf90df38356e292f47a17f28e0cee3f1 Author: Matt Gingell <gingell@xxxxxxxxxx> Date: Mon Nov 16 15:26:07 2015 -0800 KVM: x86: request interrupt window when IRQ chip is split Before this patch, we incorrectly enter the guest without requesting an interrupt window if the IRQ chip is split between user space and the kernel. Because lapic_in_kernel no longer implies the PIC is in the kernel, this patch tests pic_in_kernel to determining whether an interrupt window should be requested when entering the guest. If the APIC is in the kernel and we request an interrupt window the guest will return immediately. If the APIC is masked the guest will not not make forward progress and unmask it, leading to a loop when KVM reenters and requests again. This patch adds a check to ensure the APIC is ready to accept an interrupt before requesting a window. Reviewed-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Matt Gingell <gingell@xxxxxxxxxx> [Use the other newly introduced functions. - Paolo] Fixes: 1c1a9ce973a7863dd46767226bce2a5f12d48bc6 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 934bf65354227981df15bbc755d33f4ba3443ff2 Author: Matt Gingell <gingell@xxxxxxxxxx> Date: Mon Nov 16 15:26:05 2015 -0800 KVM: x86: set KVM_REQ_EVENT on local interrupt request from user space Set KVM_REQ_EVENT when a PIC in user space injects a local interrupt. Currently a request is only made when neither the PIC nor the APIC is in the kernel, which is not sufficient in the split IRQ chip case. This addresses a problem in QEMU where interrupts are delayed until another path invokes the event loop. Reviewed-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Matt Gingell <gingell@xxxxxxxxxx> Fixes: 1c1a9ce973a7863dd46767226bce2a5f12d48bc6 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 782d422bcaee4680c640fbc8ce8c45524fd11790 Author: Matt Gingell <gingell@xxxxxxxxxx> Date: Mon Nov 16 15:26:00 2015 -0800 KVM: x86: split kvm_vcpu_ready_for_interrupt_injection out of dm_request_for_irq_injection This patch breaks out a new function kvm_vcpu_ready_for_interrupt_injection. This routine encapsulates the logic required to determine whether a vcpu is ready to accept an interrupt injection, which is now required on multiple paths. Reviewed-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Matt Gingell <gingell@xxxxxxxxxx> Fixes: 1c1a9ce973a7863dd46767226bce2a5f12d48bc6 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 127a457acb2131fdb31c68c98cf11eda8ba7b380 Author: Matt Gingell <gingell@xxxxxxxxxx> Date: Tue Nov 17 17:32:05 2015 +0100 KVM: x86: fix interrupt window handling in split IRQ chip case This patch ensures that dm_request_for_irq_injection and post_kvm_run_save are in sync, avoiding that an endless ping-pong between userspace (who correctly notices that IF=0) and the kernel (who insists that userspace handles its request for the interrupt window). To synchronize them, it also adds checks for kvm_arch_interrupt_allowed and !kvm_event_needs_reinjection. These are always needed, not just for in-kernel LAPIC. Signed-off-by: Matt Gingell <gingell@xxxxxxxxxx> [A collage of two patches from Matt. - Paolo] Fixes: 1c1a9ce973a7863dd46767226bce2a5f12d48bc6 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 585bb8f9a5e592f2ce7abbe5ed3112d5438d2754 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Nov 11 14:21:20 2015 +0000 MIPS: KVM: Uninit VCPU in vcpu_create error path If either of the memory allocations in kvm_arch_vcpu_create() fail, the vcpu which has been allocated and kvm_vcpu_init'd doesn't get uninit'd in the error handling path. Add a call to kvm_vcpu_uninit() to fix this. Fixes: 669e846e6c4e ("KVM/MIPS32: MIPS arch specific APIs for KVM") Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 3.10.x- Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c5c2a3b998f1ff5a586f9d37e154070b8d550d17 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Nov 11 14:21:19 2015 +0000 MIPS: KVM: Fix CACHE immediate offset sign extension The immediate field of the CACHE instruction is signed, so ensure that it gets sign extended by casting it to an int16_t rather than just masking the low 16 bits. Fixes: e685c689f3a8 ("KVM/MIPS32: Privileged instruction/target branch emulation.") Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 3.10.x- Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 002374f371bd02df864cce1fe85d90dc5b292837 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Wed Nov 11 14:21:18 2015 +0000 MIPS: KVM: Fix ASID restoration logic ASID restoration on guest resume should determine the guest execution mode based on the guest Status register rather than bit 30 of the guest PC. Fix the two places in locore.S that do this, loading the guest status from the cop0 area. Note, this assembly is specific to the trap & emulate implementation of KVM, so it doesn't need to check the supervisor bit as that mode is not implemented in the guest. Fixes: b680f70fc111 ("KVM/MIPS32: Entry point for trampolining to...") Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 3.10.x- Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 65da0a8e34a857f2ba9ccb91dc8f8f964cf938b7 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Nov 17 09:53:31 2015 +0100 arm64: use non-global mappings for UEFI runtime regions As pointed out by Russell King in response to the proposed ARM version of this code, the sequence to switch between the UEFI runtime mapping and current's actual userland mapping (and vice versa) is potentially unsafe, since it leaves a time window between the switch to the new page tables and the TLB flush where speculative accesses may hit on stale global TLB entries. So instead, use non-global mappings, and perform the switch via the ordinary ASID-aware context switch routines. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 0f94592efd36213c961145fe1ab0c3bc323ec053 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Nov 17 18:14:26 2015 +0200 drm/i915: Fix gpu frequency change tracing With gen < 9 we have had always 50Mhz units as our hw ratio. With gen >= 9 the hw ratio changed to 16.667Mhz (50/3). The result was that our gpu frequency tracing started to output values 3 times larger than expected due to hardcoded scaling value. Fix this by using Use intel_gpu_freq() when generating Mhz value from ratio for 'intel_gpu_freq_change' trace event. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92591 Cc: stable@xxxxxxxxxxxxxxx # v4.3+ Reported-by: Eero Tamminen <eero.t.tamminen@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447776866-29384-1-git-send-email-mika.kuoppala@xxxxxxxxx commit 6f51bc340d2a1c71a2409f80f3e60fe2c44e35ae Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Nov 12 08:43:34 2015 +0100 usb: chipidea: imx: fix a possible NULL dereference of_match_device could return NULL, and so cause a NULL pointer dereference later. Reported-by: coverity (CID 1324138) Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 090bc267ea1013bbb33778b343b4acd78b9c5d9b Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Nov 12 08:43:33 2015 +0100 usb: chipidea: usbmisc_imx: fix a possible NULL dereference of_match_device could return NULL, and so cause a NULL pointer dereference later. Renaming tmp_dev to of_id (like all others do) in the process. Reported-by: coverity (CID 1324135) Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 85da852df66e5e0d3aba761b0fece7c958ff0685 Author: Li Jun <B47624@xxxxxxxxxxxxx> Date: Fri Dec 12 09:11:42 2014 +0800 usb: chipidea: otg: gadget module load and unload support This patch is to support load and unload gadget driver in full OTG mode. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Tested-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v4.0+ commit 251b3c8b57481bcecd3f753108e36e7389ce12ac Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Tue Oct 13 18:23:31 2015 +0800 usb: chipidea: debug: disable usb irq while role switch Since the ci->role will be set after the host role start is complete, there will be nobody cared irq during start host if usb irq enabled. This error can be reproduced on i.mx6 sololite EVK board by: 1. disable otg id irq(IDIE) and disable all real otg properties of usbotg1 in dts. 2. boot up the board with ID cable and usb device connected. 3. echo gadget > /sys/kernel/debug/ci_hdrc.0/role 4. echo host > /sys/kernel/debug/ci_hdrc.0/role 5. irq 212: nobody cared. Cc: <stable@xxxxxxxxxxxxxxx> # v3.10+ Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit facf47ee6b4d07d43c3bfd6f0762f1b28f64703a Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Sep 16 09:35:06 2015 +0800 ARM: dts: imx27.dtsi: change the clock information for usb For imx27, it needs three clocks to let the controller work, the old code is wrong, and usbmisc has not included clock handling code any more. Without this patch, it will cause below data abort when accessing usbmisc registers. usbcore: registered new interface driver usb-storage Unhandled fault: external abort on non-linefetch (0x008) at 0xf4424600 pgd = c0004000 [f4424600] *pgd=10000452(bad) Internal error: : 8 [#1] PREEMPT ARM Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 4.1.0-next-20150701-dirty #3089 Hardware name: Freescale i.MX27 (Device Tree Support) task: c7832b60 ti: c783e000 task.ti: c783e000 PC is at usbmisc_imx27_init+0x4c/0xbc LR is at usbmisc_imx27_init+0x40/0xbc pc : [<c03cb5c0>] lr : [<c03cb5b4>] psr: 60000093 sp : c783fe08 ip : 00000000 fp : 00000000 r10: c0576434 r9 : 0000009c r8 : c7a773a0 r7 : 01000000 r6 : 60000013 r5 : c7a776f0 r4 : c7a773f0 r3 : f4424600 r2 : 00000000 r1 : 00000001 r0 : 00000001 Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 0005317f Table: a0004000 DAC: 00000017 Process swapper (pid: 1, stack limit = 0xc783e190) Stack: (0xc783fe08 to 0xc7840000) Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Reported-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v4.1+ Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit ae3e57ae26cdcc85728bb566f999bcb9a7cc6954 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Sep 16 09:40:51 2015 +0800 usb: chipidea: imx: refine clock operations to adapt for all platforms Some i.mx platforms need three clocks to let controller work, but others only need one, refine clock operation to adapt for all platforms, it fixes a regression found at i.mx27. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #v4.1+ commit e15bf88a44d1fcb685754b2868b1cd28927af3aa Merge: 2a49f02 092b1f0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Nov 18 06:56:48 2015 +0100 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: - Do not change the key of an object in a rbtree, this time it was the one for DSOs lookup by its long_name, and the noticed symptom was with 'perf buildid-list --with-hits' (Adrian Hunter) - 'perf inject' is a pipe, events it doesn't touch should be passed on, PERF_RECORD_LOST wasn't, fix it (Adrian Hunter) - Make 'perf buildid-list' request event ordering, as it needs to first get the mmap events to be able to mark wich DSOs had hits (Adrian Hunter) - Fix memory leaks on failure in 'perf probe' (Masami Hiramatsu, Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1ef0623371e0a39a476fb05e575089cf48178f5c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Nov 17 13:29:49 2015 -0200 kernel-doc: Make it compatible with Perl versions below 5.12 again Changeset 4d73270192ec('scripts/kernel-doc: Replacing highlights hash by an array') broke compatibility of the kernel-doc script with older versions of perl by using "keys ARRAY" syntax with is available only on Perl 5.12 or newer, according with: http://perldoc.perl.org/functions/keys.html Restore backward compatibility by replacing "foreach my $k (keys ARRAY)" by a C-like variant: "for (my $k = 0; $k < !ARRAY; $k++)" Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit aa05cfa95f686be5d1485094402ebc7b03729e0e Merge: 8005c49 d134c48 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 14:47:58 2015 -0800 Merge tag 'fixes-for-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus Felipe writes: usb: fixes for v4.4-rc2 First round of fixes for this -rc cycle. We have the usual set of miscellaneous fixes. The important thing here is support for Intel Broxton SoC on dwc3, some fixes for Rockchip SoCs on dwc2 and a fix on dwc3 to let it report lower speeds than USB_SPEED_SUPER. commit 7f151f1d8abb7d5930b49d4796b463dca1673cb7 Merge: a18ab2f e7523a4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 13:52:59 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix list tests in netfilter ingress support, from Florian Westphal. 2) Fix reversal of input and output interfaces in ingress hook invocation, from Pablo Neira Ayuso. 3) We have a use after free in r8169, caught by Dave Jones, fixed by Francois Romieu. 4) Splice use-after-free fix in AF_UNIX frmo Hannes Frederic Sowa. 5) Three ipv6 route handling bug fixes from Martin KaFai Lau: a) Don't create clone routes not managed by the fib6 tree b) Don't forget to check expiration of DST_NOCACHE routes. c) Handle rt->dst.from == NULL properly. 6) Several AF_PACKET fixes wrt transport header setting and SKB protocol setting, from Daniel Borkmann. 7) Fix thunder driver crash on shutdown, from Pavel Fedin. 8) Several Mellanox driver fixes (max MTU calculations, use of correct DMA unmap in TX path, etc.) from Saeed Mahameed, Tariq Toukan, Doron Tsur, Achiad Shochat, Eran Ben Elisha, and Noa Osherovich. 9) Several mv88e6060 DSA driver fixes (wrong bit definitions for certain registers, etc.) from Neil Armstrong. 10) Make sure to disable preemption while updating per-cpu stats of ip tunnels, from Jason A. Donenfeld. 11) Various ARM64 bpf JIT fixes, from Yang Shi. 12) Flush icache properly in ARM JITs, from Daniel Borkmann. 13) Fix masking of RX and TX interrupts in ravb driver, from Masaru Nagai. 14) Fix netdev feature propagation for devices not implementing ->ndo_set_features(). From Nikolay Aleksandrov. 15) Big endian fix in vmxnet3 driver, from Shrikrishna Khare. 16) RAW socket code increments incorrect SNMP counters, fix from Ben Cartwright-Cox. 17) IPv6 multicast SNMP counters are bumped twice, fix from Neil Horman. 18) Fix handling of VLAN headers on stacked devices when REORDER is disabled. From Vlad Yasevich. 19) Fix SKB leaks and use-after-free in ipvlan and macvlan drivers, from Sabrina Dubroca. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (83 commits) MAINTAINERS: Update Mellanox's Eth NIC driver entries net/core: revert "net: fix __netdev_update_features return.." and add comment af_unix: take receive queue lock while appending new skb rtnetlink: fix frame size warning in rtnl_fill_ifinfo net: use skb_clone to avoid alloc_pages failure. packet: Use PAGE_ALIGNED macro packet: Don't check frames_per_block against negative values net: phy: Use interrupts when available in NOLINK state phy: marvell: Add support for 88E1540 PHY arm64: bpf: make BPF prologue and epilogue align with ARM64 AAPCS macvlan: fix leak in macvlan_handle_frame ipvlan: fix use after free of skb ipvlan: fix leak in ipvlan_rcv_frame vlan: Do not put vlan headers back on bridge and macvlan ports vlan: Fix untag operations of stacked vlans with REORDER_HEADER off via-velocity: unconditionally drop frames with bad l2 length ipg: Remove ipg driver dl2k: Add support for IP1000A-based cards snmp: Remove duplicate OUTMCAST stat increment net: thunder: Check for driver data in nicvf_remove() ... commit bf893acc1675516fabf238a5ee3b52859c5687dc Author: Eric Anholt <eric@xxxxxxxxxx> Date: Fri Oct 23 10:36:27 2015 +0100 drm/vc4: Make sure that planes aren't scaled. We would scan out the memory around them if an upscale was attempted, and would just scan out incorrectly for downscaling. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 36f4f69a092d766581f2442ddffea051e1ef464e Author: Eric Anholt <eric@xxxxxxxxxx> Date: Fri Oct 23 10:24:11 2015 +0100 drm/vc4: Fix some failure to track __iomem decorations on pointers. Caught by the kbuild test robot. v2: Fix the +i I dropped in the first version. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 79513237da7ecc0981e7d962a784625b32cabfdc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:21:40 2015 +0300 drm/vc4: checking for NULL instead of IS_ERR vc4_plane_init() returns an ERR_PTR on error, it doesn't return NULL. This was obviously intended because the next lines call PTR_ERR(primary_plane) already. Fixes: c8b75bca92cb ('Eric Anholt <eric@xxxxxxxxxx>') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 2fa8e90433cdc2d9f09883f45fd2942dc042d6a6 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Fri Oct 23 07:38:00 2015 +0200 drm/vc4: fix itnull.cocci warnings Connector cannot be null because it is a list entry, ie accessed at an offset from the positions of the list structure pointers themselves. Generated by: scripts/coccinelle/iterators/itnull.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit e2ab3218f46bce3380189ba4ac2a8cbdb2ae6272 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Fri Oct 23 07:39:45 2015 +0200 drm/vc4: fix platform_no_drv_owner.cocci warnings drivers/gpu/drm/vc4/vc4_drv.c:248: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: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 91276ae2ea7d588cb70ed54fb0b00b732aa7ea04 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Oct 22 11:12:26 2015 +0800 drm/vc4: vc4_plane_duplicate_state() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit e7523a497d48a9921983a80670f7a02dc4639d41 Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Tue Nov 17 18:25:07 2015 +0200 MAINTAINERS: Update Mellanox's Eth NIC driver entries Eugenia (Jenny) Emantayev is replacing Amir Vadai as the mlx4 Ethernet driver maintainer. Saeed Mahameed is assigned to maintain mlx5 Eth functionality. Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17b85d29e82cc3c874a497a8bc5764d6a2b043e2 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 15:49:06 2015 +0100 net/core: revert "net: fix __netdev_update_features return.." and add comment This reverts commit 00ee59271777 ("net: fix __netdev_update_features return on ndo_set_features failure") and adds a comment explaining why it's okay to return a value other than 0 upon error. Some drivers might actually change flags and return an error so it's better to fire a spurious notification rather than miss these. CC: MichaÅ? MirosÅ?aw <mirq-linux@xxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a3a116e04cc6a94d595ead4e956ab1bc1d2f4746 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 15:10:59 2015 +0100 af_unix: take receive queue lock while appending new skb While possibly in future we don't necessarily need to use sk_buff_head.lock this is a rather larger change, as it affects the af_unix fd garbage collector, diag and socket cleanups. This is too much for a stable patch. For the time being grab sk_buff_head.lock without disabling bh and irqs, so don't use locked skb_queue_tail. Fixes: 869e7c62486e ("net: af_unix: implement stream sendpage support") Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b22b941b2c253a20e1d000c671594c4f3f0a3858 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 14:16:52 2015 +0100 rtnetlink: fix frame size warning in rtnl_fill_ifinfo Fix the following warning: CC net/core/rtnetlink.o net/core/rtnetlink.c: In function â??rtnl_fill_ifinfoâ??: net/core/rtnetlink.c:1308:1: warning: the frame size of 2864 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ by splitting up the huge rtnl_fill_ifinfo into some smaller ones, so we don't have the huge frame allocations at the same time. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19125c1a4fd873421698876f34a06dbe18d25f17 Author: Martin Zhang <martinbj2008@xxxxxxxxx> Date: Tue Nov 17 20:49:30 2015 +0800 net: use skb_clone to avoid alloc_pages failure. 1. new skb only need dst and ip address(v4 or v6). 2. skb_copy may need high order pages, which is very rare on long running server. Signed-off-by: Junwei Zhang <linggao.zjw@xxxxxxxxxxxxxxx> Signed-off-by: Martin Zhang <martinbj2008@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90836b67e2171f48be696bdd3c4006d1e6f031fc Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Nov 17 10:40:21 2015 +0100 packet: Use PAGE_ALIGNED macro Use PAGE_ALIGNED(...) instead of open-coding it. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4194b4914a824c21bcad9305d6180825f4dc1f5e Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Nov 17 10:38:36 2015 +0100 packet: Don't check frames_per_block against negative values rb->frames_per_block is an unsigned int, thus can never be negative. Also fix spacing in the calculation of frames_per_block. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 321beec5047af83db90c88114b7e664b156f49fe Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Nov 16 23:36:46 2015 +0100 net: phy: Use interrupts when available in NOLINK state The NOLINK state will poll the phy once a second to see if the link has come up. If the phy has an interrupt line, this polling can be skipped, since the phy should interrupt when the link returns. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 819ec8e1f349f73bdf65bf33a364538e59007a9a Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Nov 16 23:34:41 2015 +0100 phy: marvell: Add support for 88E1540 PHY The 88E1540 can be found embedded in the Marvell 88E6352 switch. It is compatible with the 88E1510, so add support for it, using the 88E1510 specific functions. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec0738db8d7a9bd6653d9f9d81b201a519144d63 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Mon Nov 16 14:35:35 2015 -0800 arm64: bpf: make BPF prologue and epilogue align with ARM64 AAPCS Save and restore FP/LR in BPF prog prologue and epilogue, save SP to FP in prologue in order to get the correct stack backtrace. However, ARM64 JIT used FP (x29) as eBPF fp register, FP is subjected to change during function call so it may cause the BPF prog stack base address change too. Use x25 to replace FP as BPF stack base register (fp). Since x25 is callee saved register, so it will keep intact during function call. It is initialized in BPF prog prologue when BPF prog is started to run everytime. Save and restore x25/x26 in BPF prologue and epilogue to keep them intact for the outside of BPF. Actually, x26 is unnecessary, but SP requires 16 bytes alignment. So, the BPF stack layout looks like: high original A64_SP => 0:+-----+ BPF prologue |FP/LR| current A64_FP => -16:+-----+ | ... | callee saved registers +-----+ | | x25/x26 BPF fp register => -80:+-----+ | | | ... | BPF prog stack | | | | current A64_SP => +-----+ | | | ... | Function call stack | | +-----+ low CC: Zi Shen Lim <zlim.lnx@xxxxxxxxx> CC: Xi Wang <xi.wang@xxxxxxxxx> Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e639b8d8a7a728f0b05ef2df6cb6b45dc3d4e556 Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Mon Nov 16 22:54:20 2015 +0100 macvlan: fix leak in macvlan_handle_frame Reset pskb in macvlan_handle_frame in case skb_share_check returned a clone. Fixes: 8a4eb5734e8d ("net: introduce rx_handler results and logic around that") Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a534dc529853c69e94994aa47c1d80a03ce2c11d Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Mon Nov 16 22:44:53 2015 +0100 ipvlan: fix use after free of skb ipvlan_handle_frame is a rx_handler, and when it returns a value other than RX_HANDLER_CONSUMED (here, NET_RX_DROP aka RX_HANDLER_ANOTHER), __netif_receive_skb_core expects that the skb still exists and will process it further, but we just freed it. Fixes: 2ad7bf363841 ("ipvlan: Initial check-in of the IPVLAN driver.") Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf554ada0be7077906aa9a17faf151ff66e3cb8e Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Mon Nov 16 22:34:26 2015 +0100 ipvlan: fix leak in ipvlan_rcv_frame Pass a **skb to ipvlan_rcv_frame so that if skb_share_check returns a new skb, we actually use it during further processing. It's safe to ignore the new skb in the ipvlan_xmit_* functions, because they call ipvlan_rcv_frame with local == true, so that dev_forward_skb is called and always takes ownership of the skb. Fixes: 2ad7bf363841 ("ipvlan: Initial check-in of the IPVLAN driver.") Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb3f8b42aaba19325eff7e99842ca36429a0a3b8 Merge: 6c606fa 28f9ee2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Nov 17 14:38:36 2015 -0500 Merge branch 'vlan-reorder' Vladislav Yasevich says: ==================== Fix issues with vlans without REORDER_HEADER A while ago Phil Sutter brought up an issue with vlans without REORDER_HEADER and bridges. The problem was that if a vlan without REORDER_HEADER was a port in the bridge, the bridge ended up forwarding corrupted packets that still contained the vlan header. The same issue exists for bridge mode macvlan/macvtap devices. An additional issue with vlans without REORDER_HEADER is that stacking them also doesn't work. The reason here is that skb_reorder_vlan_header() function assumes that it on ETH_HLEN bytes deep into the packet. That is not the case, when you a vlan without REORRDER_HEADER flag set. This series attempts to correct these 2 issues. 1) To solve the stacked vlans problem, the patch simply use skb->mac_len as an offset to start copying mac addresses that is part of header reordering. 2) To fix the issue with bridge/macvlan/macvtap, the second patch simply doesn't write the vlan header back to the packet if the vlan device is either a bridge or a macvlan port. This ends up being the simplest and least performance intrussive solution. I've considered extending patch 2 to all stacked devices (essentially checked for the presense of rx_handler), but that feels like a broader restriction and _may_ break existing uses. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28f9ee22bcdd84726dbf6267d0b58f254166b900 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Mon Nov 16 15:43:45 2015 -0500 vlan: Do not put vlan headers back on bridge and macvlan ports When a vlan is configured with REORDER_HEADER set to 0, the vlan header is put back into the packet and makes it appear that the vlan header is still there even after it's been processed. This posses a problem for bridge and macvlan ports. The packets passed to those device may be forwarded and at the time of the forward, vlan headers end up being unexpectedly present. With the patch, we make sure that we do not put the vlan header back (when REORDER_HEADER is 0) if a bridge or macvlan has been configured on top of the vlan device. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6e18ff111701b4ff6947605bfbe9594ec42a6e8 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Mon Nov 16 15:43:44 2015 -0500 vlan: Fix untag operations of stacked vlans with REORDER_HEADER off When we have multiple stacked vlan devices all of which have turned off REORDER_HEADER flag, the untag operation does not locate the ethernet addresses correctly for nested vlans. The reason is that in case of REORDER_HEADER flag being off, the outer vlan headers are put back and the mac_len is adjusted to account for the presense of the header. Then, the subsequent untag operation, for the next level vlan, always use VLAN_ETH_HLEN to locate the begining of the ethernet header and that ends up being a multiple of 4 bytes short of the actuall beginning of the mac header (the multiple depending on the how many vlan encapsulations ethere are). As a reslult, if there are multiple levles of vlan devices with REODER_HEADER being off, the recevied packets end up being dropped. To solve this, we use skb->mac_len as the offset. The value is always set on receive path and starts out as a ETH_HLEN. The value is also updated when the vlan header manupations occur so we know it will be correct. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c606fa32c4272894248c1abbc15257fc04250be Author: Timo Teräs <timo.teras@xxxxxx> Date: Mon Nov 16 14:36:32 2015 +0200 via-velocity: unconditionally drop frames with bad l2 length By default the driver allowed incorrect frames to be received. What is worse the code does not handle very short frames correctly. The FCS length is unconditionally subtracted, and the underflow can cause skb_put to be called with large number after implicit cast to unsigned. And indeed, an skb_over_panic() was observed with via-velocity. This removes the module parameter as it does not work in it's current state, and should be implemented via NETIF_F_RXALL if needed. Suggested-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Signed-off-by: Timo Teräs <timo.teras@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43e43c9ea60a7a1831ec823773e924d2dadefd44 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Tue Nov 17 09:36:56 2015 +0000 dm mpath: fix infinite recursion in ioctl when no paths and !queue_if_no_path In multipath_prepare_ioctl(), - pgpath is a path selected from available paths - m->queue_io is true if we cannot send a request immediately to paths, either because: * there is no available path * the path group needs activation (pg_init) - pg_init is not started - pg_init is still running - m->queue_if_no_path is true if the device is configured to queue I/O if there are no available paths If !pgpath && !m->queue_if_no_path, the handler should return -EIO. However in the course of refactoring the condition check has broken and returns success in that case. Since bdev points to the dm device itself, dm_blk_ioctl() calls __blk_dev_driver_ioctl() for itself and recurses until crash. You could reproduce the problem like this: # dmsetup create mp --table '0 1024 multipath 0 0 0 0' # sg_inq /dev/mapper/mp <crash> [ 172.648615] BUG: unable to handle kernel paging request at fffffffc81b10268 [ 172.662843] PGD 19dd067 PUD 0 [ 172.666269] Thread overran stack, or stack corrupted [ 172.671808] Oops: 0000 [#1] SMP ... Fix the condition check with some clarifications. Fixes: e56f81e0b01e ("dm: refactor ioctl handling") Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 647a20d5cad7477033bc021ec9dd75edf4bbf9a0 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Tue Nov 17 14:11:34 2015 -0500 dm: do not reuse dm_blk_ioctl block_device input as local variable (Ab)using the @bdev passed to dm_blk_ioctl() opens the potential for targets' .prepare_ioctl to fail if they go on to check the bdev for !NULL. Fixes: e56f81e0b01e ("dm: refactor ioctl handling") Reported-by: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 5bbbfdf685657771fda05b926b28ca0f79163a28 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Tue Nov 17 09:39:26 2015 +0000 dm: fix ioctl retry termination with signal dm-mpath retries ioctl, when no path is readily available and the device is configured to queue I/O in such a case. If you want to stop the retry before multipathd decides to turn off queueing mode, you could send signal for the process to exit from the loop. However the check of fatal signal has not carried along when commit 6c182cd88d17 ("dm mpath: fix ioctl deadlock when no paths") moved the loop from dm-mpath to dm core. As a result, we can't terminate such a process in the retry loop. Easy reproducer of the situation is: # dmsetup create mp --table '0 1024 multipath 0 0 0 0' # dmsetup message mp 0 'queue_if_no_path' # sg_inq /dev/mapper/mp then you should be able to terminate sg_inq by pressing Ctrl+C. Fixes: 6c182cd88d17 ("dm mpath: fix ioctl deadlock when no paths") Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit a18ab2f6cb79eeccedea61b8c7bf71d24e087d42 Merge: 864f83a e62d6e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 10:11:08 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs fixes from Al Viro: "A fs-cache regression fix, and adding a warning about obnoxiou^W moderation of list given in MAINTAINERS" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: MAINTAINERS: linux-cachefs@xxxxxxxxxx is moderated for non-subscribers FS-Cache: Add missing initialization of ret in cachefiles_write_page() commit 864f83a1f65bc8614705fc7c053969bb09939215 Merge: 8005c49 176155d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 17 09:40:05 2015 -0800 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fix from Herbert Xu: "This fixes a bug in the qat driver where a user-space pointer is dereferenced" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: qat - don't use userspace pointer commit d134c48d889ddceadf4c990e6f3df16b816ed5d4 Author: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Date: Mon Nov 16 19:22:08 2015 +0100 usb: gadget: atmel_usba_udc: Expose correct device speed Following changes that appeared in lk 4.0.0, the gadget udc driver for some ARM based Atmel SoCs (e.g. at91sam9x5 and sama5d3 families) incorrectly deduced full-speed USB link speed even when the hardware had negotiated a high-speed link. The fix is to make sure that the UDPHS Interrupt Enable Register value does not mask the SPEED bit in the Interrupt Status Register. For a mass storage gadget this problem lead to failures when the host had a USB 3 port with the xhci_hcd driver. If the host was a USB 2 port using the ehci_hcd driver then the mass storage gadget worked (but probably at a lower speed than it should have). Signed-off-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #4.0+ Fixes: 9870d895ad87 ("usb: atmel_usba_udc: Mask status with enabled irqs") Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 51676c8d6daac6dd11f768cb26db8d5b572f65b4 Author: Bin Liu <b-liu@xxxxxx> Date: Fri Nov 13 15:45:24 2015 -0600 usb: musb: enable usb_dma parameter Change the permission of usb_dma parameter so it can be used for runtime debug without reboot. Signed-off-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 89d99aea94a5bf8eae530cd77df40904d382946c Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Nov 12 08:45:52 2015 +0100 usb: phy: phy-mxs-usb: fix a possible NULL dereference of_match_device could return NULL, and so cause a NULL pointer dereference later. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9e51b2b1fda19143f48d182ed7a2943f21e1ae4 Author: Ben McCauley <ben.mccauley@xxxxxxxxxx> Date: Mon Nov 16 10:47:24 2015 -0600 usb: dwc3: gadget: let us set lower max_speed In some SoCs, dwc3 is implemented as a USB2.0 only core, meaning that it can't ever achieve SuperSpeed. Currect driver always sets gadget.max_speed to USB_SPEED_SUPER unconditionally. This can causes issues to some Host stacks where the host will issue a GetBOS() request and we will reply with a BOS containing Superspeed Capability Descriptor. At least Windows seems to be upset by this fact and prints a warning that we should connect $this device to another port. [ balbi@xxxxxx : rewrote entire commit, including source code comment to make a lot clearer what the problem is ] Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Ben McCauley <ben.mccauley@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 68fe05e2a45181ce02ab2698930b37f20487bd24 Author: Bin Liu <b-liu@xxxxxx> Date: Fri Nov 6 12:08:56 2015 -0600 usb: musb: fix tx fifo flush handling Here are a few changes in musb_h_tx_flush_fifo(). - It has been observed that sometimes (if not always) musb is unable to flush tx fifo during urb dequeue when disconnect a device. But it seems to be harmless, since the tx fifo flush is done again in musb_ep_program() when re-use the hw_ep. But the WARN() floods the console in the case when multiple tx urbs are queued, so change it to dev_WARN_ONCE(). - applications could queue up many tx urbs, then the 1ms delay could causes minutes of delay in device disconnect. So remove it to get better user experience. The 1ms delay does not help the flushing anyway. - cleanup the debug code - related to lastcsr. ---- Note: The tx fifo flush issue has been observed during device disconnect on AM335x. To reproduce the issue, ensure tx urb(s) are queued when unplug the usb device which is connected to AM335x usb host port. I found using a usb-ethernet device and running iperf (client on AM335x) has very high chance to trigger the problem. Better to turn on dev_dbg() in musb_cleanup_urb() with CPPI enabled to see the issue when aborting the tx channel. Signed-off-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5e216d54b4862611c663e1e3e8ca1db1930ef948 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Nov 3 15:57:38 2015 +0800 usb: gadget: f_loopback: fix the warning during the enumeration The current code tries to allocate memory with GFP_KERNEL at interrupt context, it would show below warning during the enumeration when I test it with chipidea hardware, change GFP flag as GFP_ATOMIC can fix this issue. [ 40.438237] zero gadget: high-speed config #2: loopback [ 40.444924] ------------[ cut here ]------------ [ 40.449609] WARNING: CPU: 0 PID: 0 at kernel/locking/lockdep.c:2755 lockdep_trace_alloc+0x108/0x128() [ 40.461715] DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags)) [ 40.467130] Modules linked in: [ 40.470216] usb_f_ss_lb g_zero libcomposite evbug [ 40.473822] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.3.0-rc5-00168-gb730aaf #604 [ 40.481496] Hardware name: Freescale i.MX6 SoloX (Device Tree) [ 40.487345] Backtrace: [ 40.489857] [<80014e94>] (dump_backtrace) from [<80015088>] (show_stack+0x18/0x1c) [ 40.497445] r6:80b67a80 r5:00000000 r4:00000000 r3:00000000 [ 40.503234] [<80015070>] (show_stack) from [<802e27b4>] (dump_stack+0x8c/0xa4) [ 40.510503] [<802e2728>] (dump_stack) from [<8002cfe8>] (warn_slowpath_common+0x80/0xbc) [ 40.518612] r6:8007510c r5:00000009 r4:80b49c88 r3:00000001 [ 40.524396] [<8002cf68>] (warn_slowpath_common) from [<8002d05c>] (warn_slowpath_fmt+0x38/0x40) [ 40.533109] r8:bcfdef80 r7:bdb705cc r6:000080d0 r5:be001e80 r4:809cc278 [ 40.539965] [<8002d028>] (warn_slowpath_fmt) from [<8007510c>] (lockdep_trace_alloc+0x108/0x128) [ 40.548766] r3:809d0128 r2:809cc278 [ 40.552401] r4:600b0193 [ 40.554990] [<80075004>] (lockdep_trace_alloc) from [<801093d4>] (kmem_cache_alloc+0x28/0x15c) [ 40.563618] r4:000080d0 r3:80b4aa8c [ 40.567270] [<801093ac>] (kmem_cache_alloc) from [<804d95e4>] (ep_alloc_request+0x58/0x68) [ 40.575550] r10:7f01f104 r9:00000001 r8:bcfdef80 r7:bdb705cc r6:bc178700 r5:00000000 [ 40.583512] r4:bcfdef80 r3:813c0a38 [ 40.587183] [<804d958c>] (ep_alloc_request) from [<7f01f7ec>] (loopback_set_alt+0x114/0x21c [usb_f_ss_lb]) [ 40.596929] [<7f01f6d8>] (loopback_set_alt [usb_f_ss_lb]) from [<7f006910>] (composite_setup+0xbd0/0x17e8 [libcomposite]) [ 40.607902] r10:bd3a2c0c r9:00000000 r8:bcfdef80 r7:bc178700 r6:bdb702d0 r5:bcfdefdc [ 40.615866] r4:7f0199b4 r3:00000002 [ 40.619542] [<7f005d40>] (composite_setup [libcomposite]) from [<804dae88>] (udc_irq+0x784/0xd1c) [ 40.628431] r10:80bb5619 r9:c0876140 r8:00012001 r7:bdb71010 r6:bdb70568 r5:00010001 [ 40.636392] r4:bdb70014 [ 40.638985] [<804da704>] (udc_irq) from [<804d64f8>] (ci_irq+0x5c/0x118) [ 40.645702] r10:80bb5619 r9:be11e000 r8:00000117 r7:00000000 r6:bdb71010 r5:be11e060 [ 40.653666] r4:bdb70010 [ 40.656261] [<804d649c>] (ci_irq) from [<8007f638>] (handle_irq_event_percpu+0x7c/0x13c) [ 40.664367] r6:00000000 r5:be11e060 r4:bdb05cc0 r3:804d649c [ 40.670149] [<8007f5bc>] (handle_irq_event_percpu) from [<8007f740>] (handle_irq_event+0x48/0x6c) [ 40.679036] r10:00000000 r9:be008000 r8:00000001 r7:00000000 r6:bdb05cc0 r5:be11e060 [ 40.686998] r4:be11e000 [ 40.689581] [<8007f6f8>] (handle_irq_event) from [<80082850>] (handle_fasteoi_irq+0xd4/0x1b0) [ 40.698120] r6:80b56a30 r5:be11e060 r4:be11e000 r3:00000000 [ 40.703898] [<8008277c>] (handle_fasteoi_irq) from [<8007ec04>] (generic_handle_irq+0x28/0x3c) [ 40.712524] r7:00000000 r6:80b4aaf4 r5:00000117 r4:80b445fc [ 40.718304] [<8007ebdc>] (generic_handle_irq) from [<8007ef20>] (__handle_domain_irq+0x6c/0xe8) [ 40.727033] [<8007eeb4>] (__handle_domain_irq) from [<800095d4>] (gic_handle_irq+0x48/0x94) [ 40.735402] r9:c080f100 r8:80b4ac6c r7:c080e100 r6:80b67d40 r5:80b49f00 r4:c080e10c [ 40.743290] [<8000958c>] (gic_handle_irq) from [<80015d38>] (__irq_svc+0x58/0x78) [ 40.750791] Exception stack(0x80b49f00 to 0x80b49f48) [ 40.755873] 9f00: 00000001 00000001 00000000 80024320 80b48000 80b4a9d0 80b4a984 80b433e4 [ 40.764078] 9f20: 00000001 807f4680 00000000 80b49f5c 80b49f20 80b49f50 80071ca4 800113fc [ 40.772272] 9f40: 200b0013 ffffffff [ 40.775776] r9:807f4680 r8:00000001 r7:80b49f34 r6:ffffffff r5:200b0013 r4:800113fc [ 40.783677] [<800113d4>] (arch_cpu_idle) from [<8006c5bc>] (default_idle_call+0x28/0x38) [ 40.791798] [<8006c594>] (default_idle_call) from [<8006c6dc>] (cpu_startup_entry+0x110/0x1b0) [ 40.800445] [<8006c5cc>] (cpu_startup_entry) from [<807e95dc>] (rest_init+0x12c/0x168) [ 40.808376] r7:80b4a8c0 r3:807f4b7c [ 40.812030] [<807e94b0>] (rest_init) from [<80ad7cc0>] (start_kernel+0x360/0x3d4) [ 40.819528] r5:80bcb000 r4:80bcb050 [ 40.823171] [<80ad7960>] (start_kernel) from [<8000807c>] (0x8000807c) It fixes commit 91c42b0da8e3 ("usb: gadget: loopback: Fix looping back logic implementation"). Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Reviewed-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1fb7f12d5bec1b0a699c85d724bd5184a01fa2dd Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Thu Oct 22 13:05:03 2015 -0700 usb: dwc2: host: Fix remote wakeup when not in DWC2_L2 In commit 734643dfbdde ("usb: dwc2: host: add flag to reflect bus state") we changed dwc2_port_suspend() not to set the lx_state anymore (instead it sets the new bus_suspended variable). This introduced a bug where we would fail to detect device insertions if: 1. Plug empty hub into dwc2 2. Plug USB flash drive into the empty hub. 3. Wait a few seconds 4. Unplug USB flash drive 5. Less than 2 seconds after step 4, plug the USB flash drive in again. The dwc2_hcd_rem_wakeup() function should have been changed to look at the new bus_suspended variable. Let's fix it. Since commit b46146d59fda ("usb: dwc2: host: resume root hub on remote wakeup") talks about needing the root hub resumed if the bus was suspended, we'll include it in our test. It appears that the "port_l1_change" should only be set to 1 if we were in DWC2_L1 (the driver currently never sets this), so we'll update the former "else" case based on this test. Fixes: 734643dfbdde ("usb: dwc2: host: add flag to reflect bus state") Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Tested-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f16593034a30bcbef8f63c37d0f2b9e1a0902c2d Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Tue Oct 20 16:33:53 2015 -0700 usb: dwc2: host: Fix ahbcfg for rk3066 The comment for ahbcfg for rk3066 parameters (also used for rk3288) claimed that ahbcfg was INCR16, but it wasn't. Since the bits weren't shifted properly, the 0x7 ended up being masked and we ended up programming 0x3 for the HBstLen. Let's set it to INCR16 properly. As per Wu Liang Feng at Rockchip this may increase transmission efficiency. I did blackbox tests with writing 0s to a USB-based SD reader (forcefully capping CPU Freq to try to measure efficiency): cd /sys/devices/system/cpu/cpu0/cpufreq echo userspace > scaling_governor echo 126000 > scaling_setspeed for i in $(seq 10); do dd if=/dev/zero of=/dev/sdb bs=1M count=750 done With the above tests I found that speeds went from ~15MB/s to ~18MB/s. Note that most other tests I did (including reading from the same USB reader) didn't show any difference in performance. Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Reviewed-by: Liangfeng Wu <wulf@xxxxxxxxxxxxxx> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit de818bd4522c40ea02a81b387d2fa86f989c9623 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Nov 17 11:50:51 2015 +0000 arm64: kernel: pause/unpause function graph tracer in cpu_suspend() The function graph tracer adds instrumentation that is required to trace both entry and exit of a function. In particular the function graph tracer updates the "return address" of a function in order to insert a trace callback on function exit. Kernel power management functions like cpu_suspend() are called upon power down entry with functions called "finishers" that are in turn called to trigger the power down sequence but they may not return to the kernel through the normal return path. When the core resumes from low-power it returns to the cpu_suspend() function through the cpu_resume path, which leaves the trace stack frame set-up by the function tracer in an incosistent state upon return to the kernel when tracing is enabled. This patch fixes the issue by pausing/resuming the function graph tracer on the thread executing cpu_suspend() (ie the function call that subsequently triggers the "suspend finishers"), so that the function graph tracer state is kept consistent across functions that enter power down states and never return by effectively disabling graph tracer while they are executing. Fixes: 819e50e25d0c ("arm64: Add ftrace support") Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Reported-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.16+ Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 76dc3769d7c3cdcfa7c4c7768a7cb87cd91af12f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Nov 11 19:11:28 2015 +0200 drm/i915: Don't clobber the addfb2 ioctl params We try to convert the old way of of specifying fb tiling (obj->tiling) into the new fb modifiers. We store the result in the passed in mode_cmd structure. But that structure comes directly from the addfb2 ioctl, and gets copied back out to userspace, which means we're clobbering the modifiers that the user provided (all 0 since the DRM_MODE_FB_MODIFIERS flag wasn't even set by the user). Hence if the user reuses the struct for another addfb2, the ioctl will be rejected since it's now asking for some modifiers w/o the flag set. Fix the problem by making a copy of the user provided structure. We can play any games we want with the copy. IGT-Version: 1.12-git (x86_64) (Linux: 4.4.0-rc1-stereo+ x86_64) ... Subtest basic-X-tiled: SUCCESS (0.001s) Test assertion failure function pitch_tests, file kms_addfb_basic.c:167: Failed assertion: drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0 Last errno: 22, Invalid argument Stack trace: #0 [__igt_fail_assert+0x101] #1 [pitch_tests+0x619] #2 [__real_main426+0x2f] #3 [main+0x23] #4 [__libc_start_main+0xf0] #5 [_start+0x29] #6 [<unknown>+0x29] Subtest framebuffer-vs-set-tiling failed. **** DEBUG **** Test assertion failure function pitch_tests, file kms_addfb_basic.c:167: Failed assertion: drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f) == 0 Last errno: 22, Invalid argument **** END **** Subtest framebuffer-vs-set-tiling: FAIL (0.003s) ... IGT-Version: 1.12-git (x86_64) (Linux: 4.4.0-rc1-stereo+ x86_64) Subtest framebuffer-vs-set-tiling: SUCCESS (0.000s) Cc: stable@xxxxxxxxxxxxxxx # v4.1+ Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Fixes: 2a80eada326f ("drm/i915: Add fb format modifier support") Testcase: igt/kms_addfb_basic/clobbered-modifier Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447261890-3960-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx commit 83926117273cd6d9ffa1b5ff0cc566ad38648b70 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Nov 16 17:02:34 2015 +0200 drm: Fix primary plane size for stereo doubled modes for legacy setcrtc Properly double the hdisplay/vdisplay timings that we use as the primary plane size with stereo doubled modes. Otherwise the modeset gets rejected on machines where the primary plane must be fullscreen, and on the rest only the first eye would get a visible plane. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx #v3.19+ Fixes: 042652ed9599 ("drm/atomic-helper: implementatations for legacy interfaces") Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447686157-29607-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Testcase: igt/kms_3d Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ba8af3e592f7175b5f9a92d2cfcc00b82097d1be Author: Maarten Lankhorst <maarten@xxxxxxxxxxxxxx> Date: Mon Nov 16 12:49:14 2015 +0100 drm/i915: Clear intel_crtc->atomic before updating it. If an atomic update fails intel_crtc->atomic may have have some values left from the last atomic check. One example is atomic->wait_for_vblank, which results in spurious errors in kms_flip. [ 1551.892708] ------------[ cut here ]------------ [ 1551.892721] WARNING: CPU: 3 PID: 4179 at ../drivers/gpu/drm/drm_irq.c:1199 drm_wait_one_vblank+0x197/0x1a0 [drm]() [ 1551.892722] vblank not available on crtc 2, ret=-22 [ 1551.892751] Modules linked in: snd_hda_intel i915 drm_kms_helper drm intel_gtt i2c_algo_bit cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea agpgart cfg80211 binfmt_misc snd_hda_codec_hdmi intel_rapl iosf_mbi x86_pkg_temp_thermal coretemp kvm_intel snd_hda_codec_realtek kvm snd_hda_codec_generic iTCO_wdt aesni_intel aes_x86_64 glue_helper lrw snd_hda_codec gf128mul ablk_helper cryptd snd_hwdep psmouse snd_hda_core pcspkr snd_pcm snd_timer snd lpc_ich i2c_i801 mfd_core soundcore wmi evdev [last unloaded: drm] [ 1551.892753] CPU: 3 PID: 4179 Comm: kms_pipe_crc_ba Tainted: G U W 4.3.0-reg+ #6 [ 1551.892754] Hardware name: /DZ77BH-55K, BIOS BHZ7710H.86A.0100.2013.0517.0942 05/17/2013 [ 1551.892758] ffffffffa03128d8 ffff8800cec73890 ffffffff812c0f3c ffff8800cec738d8 [ 1551.892760] ffff8800cec738c8 ffffffff8104ff36 ffff880116ae2290 0000000000000002 [ 1551.892762] ffff8800d39fcda0 ffff8800d038b4d0 ffff8800d42b5550 ffff8800cec73928 [ 1551.892763] Call Trace: [ 1551.892768] [<ffffffff812c0f3c>] dump_stack+0x4e/0x82 [ 1551.892771] [<ffffffff8104ff36>] warn_slowpath_common+0x86/0xc0 [ 1551.892773] [<ffffffff8104ffbc>] warn_slowpath_fmt+0x4c/0x50 [ 1551.892781] [<ffffffffa02e6708>] ? drm_vblank_get+0x78/0xd0 [drm] [ 1551.892787] [<ffffffffa02e6d47>] drm_wait_one_vblank+0x197/0x1a0 [drm] [ 1551.892813] [<ffffffffa03d052f>] intel_post_plane_update+0xef/0x120 [i915] [ 1551.892832] [<ffffffffa03d11d2>] intel_atomic_commit+0x4c2/0x1600 [i915] [ 1551.892862] [<ffffffffa02ff0c7>] ? drm_atomic_check_only+0x147/0x5e0 [drm] [ 1551.892872] [<ffffffffa02feeb7>] ? drm_atomic_add_affected_connectors+0x27/0xf0 [drm] [ 1551.892881] [<ffffffffa02ff597>] drm_atomic_commit+0x37/0x60 [drm] [ 1551.892887] [<ffffffffa034301a>] restore_fbdev_mode+0x28a/0x2c0 [drm_kms_helper] [ 1551.892895] [<ffffffffa0345253>] drm_fb_helper_restore_fbdev_mode_unlocked+0x33/0x80 [drm_kms_helper] [ 1551.892900] [<ffffffffa03452cd>] drm_fb_helper_set_par+0x2d/0x50 [drm_kms_helper] [ 1551.892920] [<ffffffffa03e7a9a>] intel_fbdev_set_par+0x1a/0x60 [i915] [ 1551.892923] [<ffffffff8131a5a7>] fb_set_var+0x1a7/0x3f0 [ 1551.892927] [<ffffffff8109732f>] ? trace_hardirqs_on_caller+0x12f/0x1c0 [ 1551.892931] [<ffffffff81314f32>] fbcon_blank+0x212/0x2f0 [ 1551.892935] [<ffffffff81373f4a>] do_unblank_screen+0xba/0x1d0 [ 1551.892937] [<ffffffff8136b725>] vt_ioctl+0x13d5/0x1450 [ 1551.892940] [<ffffffff8107cdd1>] ? preempt_count_sub+0x41/0x50 [ 1551.892943] [<ffffffff8135d8a3>] tty_ioctl+0x423/0xe30 [ 1551.892947] [<ffffffff8119f721>] do_vfs_ioctl+0x301/0x560 [ 1551.892949] [<ffffffff8119b1e3>] ? putname+0x53/0x60 [ 1551.892952] [<ffffffff811ab376>] ? __fget_light+0x66/0x90 [ 1551.892955] [<ffffffff8119f9f9>] SyS_ioctl+0x79/0x90 [ 1551.892958] [<ffffffff81552e97>] entry_SYSCALL_64_fastpath+0x12/0x6f [ 1551.892961] ---[ end trace 3e764d4b6628c91c ]--- Testcase: kms_flip Reported-and-tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx #v4.3 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/5649C2BA.6080300@xxxxxxxxxxxxxx commit 1c7d4dd46ee048afe19e1294634df6fa66862519 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Nov 16 19:13:28 2015 +0000 irqchip/gic: Add save/restore of the active state When using EOImode==1, we may mark interrupts as being forwarded to a virtual machine. In that case, the interrupt is left active while being passed to the VM. If we suspend the system before the VM has deactivated the interrupt, the active state will be lost (which may be very annoying, as this may result in spurious interrupts and a confused guest). To avoid this, save and restore the active state together with the rest of the GIC registers. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1447701208-18150-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 92eda4ad4371225d6ccf9cded74315547e9a3153 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Nov 16 19:13:27 2015 +0000 irqchip/gic: Clear enable bits before restoring them When restoring the GIC state (after a suspend/resume cycle, for example), the driver directly writes the 'enabled' state it has saved by accessing GICD_ISENABLERn, which performs an OR operation between the value present in the register and the value we write. If whatever code that has run before we reentered the kernel has enabled an interrupt that was previously disabled, we won't restore that disabled state. Making sure we first clear the register (by writting to GICD_ICENABLERn) before restoring the enabled state. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1447701208-18150-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0eece2b22849c90b730815c893425a36b9d10fd5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Mon Nov 16 19:13:26 2015 +0000 irqchip/gic: Make sure all interrupts are deactivated at boot When booting a GIC/GICv3 based system, we have no idea what state the firmware (or previous kernel in the case of kexec) has left the GIC, and some interrupts may still be active. In order to garantee that we have a clean state, make sure the active bits are cleared at init time. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1447701208-18150-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit adc235aff6fcf5ae4d8dc00faf30a07632b9725b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 17:32:15 2015 +0100 arm64: do not include ptrace.h from compat.h including ptrace.h brings a definition of BITS_PER_PAGE into device drivers and cause a build warning in allmodconfig builds: drivers/block/drbd/drbd_bitmap.c:482:0: warning: "BITS_PER_PAGE" redefined #define BITS_PER_PAGE (1UL << (PAGE_SHIFT + 3)) This uses a slightly different way to express current_pt_regs() that avoids the use of the header and gets away with the already included asm/ptrace.h. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 1dccb598df549d892b6450c261da54cdd7af44b4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 17:25:48 2015 +0100 arm64: simplify dma_get_ops Including linux/acpi.h from asm/dma-mapping.h causes tons of compile-time warnings, e.g. drivers/isdn/mISDN/dsp_ecdis.h:43:0: warning: "FALSE" redefined drivers/isdn/mISDN/dsp_ecdis.h:44:0: warning: "TRUE" redefined drivers/net/fddi/skfp/h/targetos.h:62:0: warning: "TRUE" redefined drivers/net/fddi/skfp/h/targetos.h:63:0: warning: "FALSE" redefined However, it looks like the dependency should not even there as I do not see why __generic_dma_ops() cares about whether we have an ACPI based system or not. The current behavior is to fall back to the global dma_ops when a device has not set its own dma_ops, but only for DT based systems. This seems dangerous, as a random device might have different requirements regarding IOMMU or coherency, so we should really never have that fallback and just forbid DMA when we have not initialized DMA for a device. This removes the global dma_ops variable and the special-casing for ACPI, and just returns the dma ops that got set for the device, or the dummy_dma_ops if none were present. The original code has apparently been copied from arm32 where we rely on it for ISA devices things like the floppy controller, but we should have no such devices on ARM64. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> [catalin.marinas@xxxxxxx: removed acpi_disabled check in arch_setup_dma_ops()] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4fee9f364b9b99f76732f2a6fd6df679a237fa74 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Nov 16 11:18:14 2015 +0100 arm64: mm: use correct mapping granularity under DEBUG_RODATA When booting a 64k pages kernel that is built with CONFIG_DEBUG_RODATA and resides at an offset that is not a multiple of 512 MB, the rounding that occurs in __map_memblock() and fixup_executable() results in incorrect regions being mapped. The following snippet from /sys/kernel/debug/kernel_page_tables shows how, when the kernel is loaded 2 MB above the base of DRAM at 0x40000000, the first 2 MB of memory (which may be inaccessible from non-secure EL1 or just reserved by the firmware) is inadvertently mapped into the end of the module region. ---[ Modules start ]--- 0xfffffdffffe00000-0xfffffe0000000000 2M RW NX ... UXN MEM/NORMAL ---[ Modules end ]--- ---[ Kernel Mapping ]--- 0xfffffe0000000000-0xfffffe0000090000 576K RW NX ... UXN MEM/NORMAL 0xfffffe0000090000-0xfffffe0000200000 1472K ro x ... UXN MEM/NORMAL 0xfffffe0000200000-0xfffffe0000800000 6M ro x ... UXN MEM/NORMAL 0xfffffe0000800000-0xfffffe0000810000 64K ro x ... UXN MEM/NORMAL 0xfffffe0000810000-0xfffffe0000a00000 1984K RW NX ... UXN MEM/NORMAL 0xfffffe0000a00000-0xfffffe00ffe00000 4084M RW NX ... UXN MEM/NORMAL The same issue is likely to occur on 16k pages kernels whose load address is not a multiple of 32 MB (i.e., SECTION_SIZE). So round to SWAPPER_BLOCK_SIZE instead of SECTION_SIZE. Fixes: da141706aea5 ("arm64: add better page protections to arm64") Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Laura Abbott <labbott@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.0+ Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 07d3bad6c1210bd21e85d084807ef4ee4ac43a78 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Nov 11 11:29:11 2015 +0100 drm/core: Fix old_fb handling in pan_display_atomic. Don't touch plane->old_fb/fb without having the right locks held. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447237751-9663-6-git-send-email-maarten.lankhorst@xxxxxxxxxx commit f72c6b33edda439acff81a0da612f2bcd1f46f35 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Nov 11 11:29:10 2015 +0100 drm/core: Fix old_fb handling in restore_fbdev_mode_atomic. Don't touch plane->old_fb/fb without having the right locks held. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447237751-9663-5-git-send-email-maarten.lankhorst@xxxxxxxxxx commit 0f45c26fc302c02b0576db37d4849baa53a2bb41 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Nov 11 11:29:09 2015 +0100 drm/atomic: add a drm_atomic_clean_old_fb helper. This is useful for all the boilerplate code about cleaning old_fb. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447237751-9663-4-git-send-email-maarten.lankhorst@xxxxxxxxxx commit 4572372847680ee04f184df916d5cf007c94ff7e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Nov 11 11:29:08 2015 +0100 drm/core: Fix old_fb handling in drm_mode_atomic_ioctl. plane_mask should be cleared inside the retry loop, because it gets reset on every retry. Without this fix the plane->fb refcounting might get out of sync on retries, resulting in either leaked memory or use-after-free. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx #v4.3 Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447237751-9663-3-git-send-email-maarten.lankhorst@xxxxxxxxxx commit 24e79d0ddc416184594aa8193023c15d85ab15db Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Nov 11 11:29:07 2015 +0100 drm/core: Set legacy_cursor_update in drm_atomic_helper_disable_plane. legacy_cursor_update was being set in restore_fbdev_mode_atomic which was probably unintended. Fix this by only setting it in the function that needs it. This oversight was introduced in commit bbb1e52402b2a288b09ae37e8182599931c7e9df Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:35:58 2015 -0400 drm/fb-helper: atomic restore_fbdev_mode()... Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [Jani: checkpatch fix] Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447237751-9663-2-git-send-email-maarten.lankhorst@xxxxxxxxxx commit ee82c9ed41e896bd47e121d87e4628de0f2656a3 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Sun Nov 15 16:06:32 2015 -0800 dax: disable pmd mappings While dax pmd mappings are functional in the nominal path they trigger kernel crashes in the following paths: BUG: unable to handle kernel paging request at ffffea0004098000 IP: [<ffffffff812362f7>] follow_trans_huge_pmd+0x117/0x3b0 [..] Call Trace: [<ffffffff811f6573>] follow_page_mask+0x2d3/0x380 [<ffffffff811f6708>] __get_user_pages+0xe8/0x6f0 [<ffffffff811f7045>] get_user_pages_unlocked+0x165/0x1e0 [<ffffffff8106f5b1>] get_user_pages_fast+0xa1/0x1b0 kernel BUG at arch/x86/mm/gup.c:131! [..] Call Trace: [<ffffffff8106f34c>] gup_pud_range+0x1bc/0x220 [<ffffffff8106f634>] get_user_pages_fast+0x124/0x1b0 BUG: unable to handle kernel paging request at ffffea0004088000 IP: [<ffffffff81235f49>] copy_huge_pmd+0x159/0x350 [..] Call Trace: [<ffffffff811fad3c>] copy_page_range+0x34c/0x9f0 [<ffffffff810a0daf>] copy_process+0x1b7f/0x1e10 [<ffffffff810a11c1>] _do_fork+0x91/0x590 All of these paths are interpreting a dax pmd mapping as a transparent huge page and making the assumption that the pfn is covered by the memmap, i.e. that the pfn has an associated struct page. PTE mappings do not suffer the same fate since they have the _PAGE_SPECIAL flag to cause the gup path to fault. We can do something similar for the PMD path, or otherwise defer pmd support for cases where a struct page is available. For now, 4.4-rc and -stable need to disable dax pmd support by default. For development the "depends on BROKEN" line can be removed from CONFIG_FS_DAX_PMD. Cc: <stable@xxxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reported-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 9e5b8a6e53c79e6ccdbe6e62142ed9f317cefd46 Author: Wei Jiangang <weijg.fnst@xxxxxxxxxxxxxx> Date: Mon Nov 9 14:26:39 2015 +0800 tools:testing/selftests: fix typo in futex/README Correct typo in tools/testing/selftests/futex/README. Signed-off-by: Wei Jiangang <weijg.fnst@xxxxxxxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit e62d6e244f759556b569801c38dc4ca27a58bd18 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Nov 12 11:46:33 2015 +0000 MAINTAINERS: linux-cachefs@xxxxxxxxxx is moderated for non-subscribers Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cf89752645e47d86ba8a4157f4b121fcb33434c5 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Nov 12 11:46:23 2015 +0000 FS-Cache: Add missing initialization of ret in cachefiles_write_page() fs/cachefiles/rdwr.c: In function â??cachefiles_write_pageâ??: fs/cachefiles/rdwr.c:882: warning: â??retâ?? may be used uninitialized in this function If the jump to label "error" is taken, "ret" will indeed be uninitialized, and random stack data may be printed by the debug code. Fixes: 102f4d900c9c8f5e ("FS-Cache: Handle a write to the page immediately beyond the EOF marker") Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1285734c7a776b6195f8aaac6fa6acce26b5b97a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Nov 16 15:34:15 2015 -0800 MAINTAINERS: brcmnand: Add Broadcom internal mailing-list The Broadcom NAND driver is used by many different groups at Broadcom now, so use the same mailing-list we use for other areas of the kernel. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a3088abc68f79ac30e6e8ccb07a15c8093e39684 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Tue Nov 17 00:24:14 2015 +0100 HID: wacom: fixup quirks setup for WACOM_DEVICETYPE_PAD Given that INTUOSHT < BAMBOO_PT features->type >= INTUOSHT || features->type <= BAMBOO_PT condition is always true, and therefore device_type is under certain circumstances wrongly set with WACOM_DEVICETYPE_PAD bit set. Fix the condition so that it actually represents the range as intended. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4981c2b7abfe92a7ad3c9888b8a1ada552d49406 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 22:42:27 2015 +0100 ACPI-EC: Drop unnecessary check made before calling acpi_ec_delete_query() The acpi_ec_delete_query() 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> [ rjw: Subject ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a76032e0abef027df83f7f053580aa297de54818 Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Date: Thu Nov 12 19:24:47 2015 +0000 Revert "ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook" Revert commit 3349fb64b292 (ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook), since the delay introduced by it is not necessary any more after commit add68d6aa9e2 (ACPI / SMBus: Fix boot stalls / high CPU caused by reentrant code). Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1b2ff19e6a957b1ef0f365ad331b608af80e932e Author: Jan Kara <jack@xxxxxxxx> Date: Thu Nov 12 14:25:52 2015 +0100 blk-flush: Queue through IO scheduler when flush not required Currently blk_insert_flush() just adds flush request to q->queue_head when flush is not required. That completely bypasses IO scheduler so e.g. CFQ can be idling waiting for new request to arrive and will idle through the whole window unnecessarily. Luckily this only happens in rare cases as usually checks in generic_make_request_checks() clear FLUSH and FUA flags early if they are not needed. When no flushing is actually required, we can easily fix the problem by properly queueing the request through the IO scheduler. Ideally IO scheduler should be also made aware of requests queued via blk_flush_queue_rq(). However inserting flush request through IO scheduler can have unwanted side-effects since due to flush batching delaying the flush request in IO scheduler will delay all flush requests possibly coming from other processes. So we keep adding the request directly to q->queue_head. Signed-off-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit add68d6aa9e2492e51707ca603ada5b26c626757 Author: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Date: Thu Nov 12 18:05:37 2015 +0000 ACPI / SMBus: Fix boot stalls / high CPU caused by reentrant code In the SBS initialisation, a reentrant call to wait_event_timeout() causes an intermittent boot stall of several minutes usually following the "Switching to clocksource tsc" message. Another symptom of this bug is high CPU usage from programs (Firefox, upowerd) querying the battery state. This is caused by: 1. drivers/acpi/sbshc.c wait_transaction_complete() calls wait_event_timeout(): if (wait_event_timeout(hc->wait, smb_check_done(hc), msecs_to_jiffies(timeout))) 2. ___wait_event sets task state to uninterruptible 3. ___wait_event calls the "condition" smb_check_done() 4. smb_check_done (sbshc.c) calls through to ec_read() in drivers/acpi/ec.c 5. ec_guard() is reached which calls wait_event_timeout() if (wait_event_timeout(ec->wait, ec_transaction_completed(ec), guard)) ie. wait_event_timeout() is being called again inside evaluation of the previous wait_event_timeout() condition 5. The EC IRQ handler calls wake_up() and wakes up the sleeping task in ec_guard() 6. The task is now in state running even though the wait "condition" is still being evaluated 7. The "condition" check returns false so ___wait_event calls schedule_timeout() 8. Since the task state is running, the scheduler immediately schedules it again 9. This loop usually repeats for around 250 seconds even though the original wait_event_timeout was only 1000ms. The timeout is incorrect because each call to schedule_timeout() usually returns immediately, taking less than 1ms, so the jiffies timeout counter is not decremented. The task is now stuck in a running state, and so is highly likely to be immediately rescheduled, which takes less than a jiffy. The loop will never exit if all schedule_timeout() calls take less than a jiffy. Fix this by replacing SMBus reads in the wait_event_timeout condition with checks of a boolean value that is updated by the EC query handler. Link: https://bugzilla.kernel.org/show_bug.cgi?id=107191 Link: https://lkml.org/lkml/2015/11/6/776 Signed-off-by: Chris Bainbridge <chris.bainbridge@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b2b7e00148a203e9934bbd17aebffae3f447ade7 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Thu Nov 12 20:25:10 2015 +0100 null_blk: register as a LightNVM device Add support for registering as a LightNVM device. This allows us to evaluate the performance of the LightNVM subsystem. In /drivers/Makefile, LightNVM is moved above block device drivers to make sure that the LightNVM media managers have been initialized before drivers under /drivers/block are initialized. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Fix by Jens Axboe to remove unneeded slab cache and the following memory leak. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4736346bb47966254ee6d1fc50267a2609791cba Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Nov 16 23:30:00 2015 +0800 elevator: use list_{first,prev,next}_entry To make the intention clearer, use list_{first,prev,next}_entry instead of list_entry. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d09f9581b235a92abbe372531660b468fadabc17 Author: Javier González <javier@xxxxxxxxxxx> Date: Mon Nov 16 15:34:47 2015 +0100 lightnvm: cleanup queue before target removal This prevents outstanding IOs to be sent for completion to target after the target has been removed. The flow is now: stop new IOs > cleanup queue > remove target. Signed-off-by: Javier Gonzalez <javier@xxxxxxxxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dad1b00977f9dc8120b48f9711deb4aa6462a3a6 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:46 2015 +0100 nvme: remove reserved double word The specification was updated the remove the double word just after number of configuration groups and capabilities. Update the identify structure to reflect it. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2393bd39c77f21488ac7e5337cac1523e9ebd2c4 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:45 2015 +0100 nvme: missing ppaf copy The ppa format was not copied from the NVMe specific ppa format to the lightnvm specific ppa format. This led to the ppa format not being communicated to the layers above. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7386af270c72be65c7cb2ba4ad0d4e70dc373106 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:44 2015 +0100 lightnvm: remove linear and device addr modes The linear and device specific address modes can be replaced with a simple offset and bit length conversion that is generic across all devices. This both simplifies the specification and removes the special case for qemu nvme, that previously relied on the linear address mapping. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c1480ad5943261e01a62eaa7132eab76f9c490e0 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:43 2015 +0100 lightnvm: prevent double free on init error Both the nvm_register and nvm_init does a kfree(dev) on error. Make sure to only free it once. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit edad2e6606ee62dd7dfc5b001fae39c5c8015a55 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:42 2015 +0100 lightnvm: prematurely activate nvm_dev We register with nvm_devices when there registration can still fail. Move the final registration at the end of the nvm_register function to make sure we are fully registered when added to the nvm_devices list. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4264c980e3e9bb904b7f41dc9c64786cc5466bee Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:41 2015 +0100 lightnvm: check for NAND flash and its type Only NAND flash with SLC and MLC is supported. Make sure to not try to initialize TLC memory or other non-volatile memory types. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 73387e7bed260c89628fc6a4e3632b45be9776b0 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:40 2015 +0100 lightnvm: remove unused attrs in nvm_id structs The nvm_id, nvm_id_group and nvm_addr_format data structures contain reserved attributes. They are unused by media managers and targets. Remove them. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 12be5edf68e785dd5dc8665db5a88152b49c1fe8 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:39 2015 +0100 lightnvm: expose mccap in identify command The mccap field is required for I/O command option support. It defines the following flash access modes: * SLC mode * Erase/Program Suspension * Scramble On/Off * Encryption It is slotted in between mpos and cpar, changing the offset for cpar as well. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 36d5dbc694e0d1b1909506666d7c27b53f7f9674 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:38 2015 +0100 lightnvm: update alignments for identify command A single 8 bit and 16 bit reserve field were inserted in the specification to align fields appropriately. Reflect this in the identify group structure. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 11450469830f2481a9e7cb181609288d40f41323 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:37 2015 +0100 lightnvm: update bad block table format The specification was changed to reflect a multi-value bad block table. Instead of bit-based bad block table, the bad block table now allows eight bad block categories. Currently four are defined: * Factory bad blocks * Grown bad blocks * Device-side reserved blocks * Host-side reserved blocks The factory and grown bad blocks are the regular bad blocks. The reserved blocks are either for internal use or external use. In particular, the device-side reserved blocks allows the host to bootstrap from a limited number of flash blocks. Reducing the flash blocks to scan upon super block initialization. Support for both get bad block table and set bad block table is added. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit aedf17f4515b12ba1cd73298e66baa69cf93010e Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:36 2015 +0100 lightnvm: change max_phys_sect to uint The max_phys_sect variable is defined as a char. We do a boundary check to maximally allow 256 physical page descriptors per command. As we are not indexing from zero. This expression is always false. Bump the max_phys_sect to an unsigned int to support the range check. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4ead1a25ce436f73501d6358450f3ba0c1cb2ce3 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 16 15:34:35 2015 +0100 MAINTAINERS: Add linux-block list to LightNVM for patches Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f1a454a37618b819f2528ccd234f77a02b3a6016 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 22:36:12 2015 +0100 ipg: Remove ipg driver Now that IP1000A chips are supported by dl2k driver, the buggy ipg driver can be removed. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3f45d322cbd379c46466cc2ecab7e2d719b22ed Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 22:36:11 2015 +0100 dl2k: Add support for IP1000A-based cards Add support for IP1000A chips to dl2k driver. IP1000A chip looks like a TC9020 with integrated PHY. This allows IP1000A chips to work reliably because the ipg driver is buggy - it loses packets under load and then completely stops transmitting data. Tested with Asus NX1101 v2.0 at 10, 100 and 1000Mbps: vendor=0x13f0 device=0x1023 (rev 0x41) subsystem vendor=0x1043 device=0x8180 MAC address registers access needed to be changed from 8-bit to 16-bit because 8-bit does not work on IP1000A. 8-bit access is not even allowed in the TC9020 datasheet (although it worked). 16-bit access works on both. Tested that it does not break D-Link DGE-550T (DL-2000 chip, probably a rebranded TC9020): vendor=0x1186 device=0x4000 (rev 0x0c) subsystem vendor=0x1186 device=0x4000 Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f9b36cd2497660e254c67ed131f0b297ed8bf40 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Thu Nov 12 10:26:57 2015 -0800 PM / wakeirq: check that wake IRQ is valid before accepting it Check that IRQ number passed to dev_pm_set_wake_irq() and dev_pm_set_dedicated_wake_irq() is valid (not negative) before accepting it. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bbf0b34578a71f42d19bd6c966f09221044921fe Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Sun Sep 6 14:00:46 2015 +0800 drm/amdgpu: remove the unnecessary parameter adev for amdgpu_sa_bo_new() Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 680513cc0accf14cb447663b65e02ae307ac3811 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 10 15:03:50 2015 +0200 drm/amdgpu: wait interruptible when semaphores are disabled v2 Otherwise debugging locked up processes isn't possible. v2: rebased Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v1) commit d9f67dbc0f55e67dd18fc18fa05a9d5d2bd52914 Merge: 8005c49 5369a21 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 16 22:57:02 2015 +0100 Merge branch 'pm-tools' * pm-tools: x86: remove unused definition of MSR_NHM_PLATFORM_INFO tools/power turbostat: use new name for MSR_PLATFORM_INFO commit 41033f029e393a64e81966cbe34d66c6cf8a2e7e Author: Neil Horman <nhorman@xxxxxxxxxxxxx> Date: Mon Nov 16 13:09:10 2015 -0500 snmp: Remove duplicate OUTMCAST stat increment the OUTMCAST stat is double incremented, getting bumped once in the mcast code itself, and again in the common ip output path. Remove the mcast bump, as its not needed Validated by the reporter, with good results Signed-off-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Reported-by: Claus Jensen <claus.jensen@xxxxxxxxxxxxx> CC: Claus Jensen <claus.jensen@xxxxxxxxxxxxx> CC: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7750130d93decff06120df0d8ea024ff8a038a21 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Mon Nov 16 17:51:34 2015 +0300 net: thunder: Check for driver data in nicvf_remove() In some cases the crash is caused by nicvf_remove() being called from outside. For example, if we try to feed the device to vfio after the probe has failed for some reason. So, move the check to better place. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88ad4175b201ae24be5e9b7752cf33c1306b64e4 Author: Bjørn Mork <bjorn@xxxxxxx> Date: Mon Nov 16 19:16:40 2015 +0100 net/core: use netdev name in warning if no parent A recent flaw in the netdev feature setting resulted in warnings like this one from VLAN interfaces: WARNING: CPU: 1 PID: 4975 at net/core/dev.c:2419 skb_warn_bad_offload+0xbc/0xcb() : caps=(0x00000000001b5820, 0x00000000001b5829) len=2782 data_len=0 gso_size=1348 gso_type=16 ip_summed=3 The ":" is supposed to be preceded by a driver name, but in this case it is an empty string since the device has no parent. There are many types of network devices without a parent. The anonymous warnings for these devices can be hard to debug. Log the network device name instead in these cases to assist further debugging. This is mostly similar to how __netdev_printk() handles orphan devices. Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8844f97238ca6c1ca92a5d6c69f53efd361a266f Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Nov 16 16:25:56 2015 +0100 af_unix: don't append consumed skbs to sk_receive_queue In case multiple writes to a unix stream socket race we could end up in a situation where we pre-allocate a new skb for use in unix_stream_sendpage but have to free it again in the locked section because another skb has been appended meanwhile, which we must use. Accidentally we didn't clear the pointer after consuming it and so we touched freed memory while appending it to the sk_receive_queue. So, clear the pointer after consuming the skb. This bug has been found with syzkaller (http://github.com/google/syzkaller) by Dmitry Vyukov. Fixes: 869e7c62486e ("net: af_unix: implement stream sendpage support") Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24cb7055a3066634a0f3fa0cd6a4780652905d35 Author: Dragos Tatulea <dragos@xxxxxxxxxxxx> Date: Mon Nov 16 10:52:48 2015 +0100 net: switchdev: fix return code of fdb_dump stub rtnl_fdb_dump always expects an index to be returned by the ndo_fdb_dump op, but when CONFIG_NET_SWITCHDEV is off, it returns an error. Fix that by returning the given unmodified idx. A similar fix was 0890cf6cb6ab ("switchdev: fix return value of switchdev_port_fdb_dump in case of error") but for the CONFIG_NET_SWITCHDEV=y case. Fixes: 45d4122ca7cd ("switchdev: add support for fdb add/del/dump via switchdev_port_obj ops.") Signed-off-by: Dragos Tatulea <dragos@xxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab6d7846cf80affc43b9d412fed5e25dfcf4f35d Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Nov 15 15:02:16 2015 +0200 bnx2x: Fix VLANs null-pointer for 57710, 57711 Commit 05cc5a39ddb7 "bnx2x: add vlan filtering offload" introduced a regression in regard for vlans for 57710, 57711 adapters - Loading 8021q module on a machine with such an adapter would cause a null pointer dereference, as the driver mistakenly publishes it has capabilities for vlan CTAG filtering. Reported-by: Otto Sabart <osabart@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 d60cf616ec39141b3483304fde69acf0dcec80eb Author: Masaru Nagai <masaru.nagai.vx@xxxxxxxxxxx> Date: Sun Nov 15 21:34:42 2015 +0900 ravb: remove unhandle int cause This driver does not handle the AVB-DMAC Receive FIFO Warning interrupt now, so the interrupt should not be enabled. Signed-off-by: Masaru Nagai <masaru.nagai.vx@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 027ac58e3c757277dd6cb8975d1b69c27853aa76 Author: Ben Cartwright-Cox <ben@xxxxxxxxxxxxx> Date: Sat Nov 14 15:13:58 2015 +0000 raw: increment correct SNMP counters for ICMP messages Sending ICMP packets with raw sockets ends up in the SNMP counters logging the type as the first byte of the IPv4 header rather than the ICMP header. This is fixed by adding the IP Header Length to the casting into a icmphdr struct. Signed-off-by: Ben Cartwright-Cox <ben@xxxxxxxxxxxxx> Acked-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c300366b6b978fcb84f8eeb6205e5980cc0c40c3 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sat Nov 14 11:06:57 2015 +0100 sfc: constify pci_error_handlers structures This pci_error_handlers structure is never modified, like all the other pci_error_handlers structures, so declare it as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 166e23623e7482070aa124ad805f600672377019 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sat Nov 14 11:06:53 2015 +0100 net: cavium: liquidio: constify pci_error_handlers structures This pci_error_handlers structure is never modified, like all the other pci_error_handlers structures, so declare it as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d37d5ec861b0d937c0bdd70f0138e2750aacccdb Author: Shrikrishna Khare <skhare@xxxxxxxxxx> Date: Fri Nov 13 15:42:10 2015 -0800 Driver: Vmxnet3: Fix use of mfTableLen for big endian architectures Signed-off-by: Shrikrishna Khare <skhare@xxxxxxxxxx> Reported-by: Masao Uebayashi <uebayasi@xxxxxxxxx> Signed-off-by: Bhavesh Davda <bhavesh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b88393cdf6b1322522849e61f7a3328f4fd3843 Author: Daniele Palmas <dnlplm@xxxxxxxxx> Date: Fri Nov 13 18:01:21 2015 +0100 net: usb: cdc_ether: add Dell DW5580 as a mobile broadband adapter Since Dell DW5580 is a 3G modem, this patch adds the device as a mobile broadband adapter Signed-off-by: Daniele Palmas <dnlplm@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00ee5927177792a6e139d50b6b7564d35705556a Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 15:20:24 2015 +0100 net: fix __netdev_update_features return on ndo_set_features failure If ndo_set_features fails __netdev_update_features() will return -1 but this is wrong because it is expected to return 0 if no features were changed (see netdev_update_features()), which will cause a netdev notifier to be called without any actual changes. Fix this by returning 0 if ndo_set_features fails. Fixes: 6cb6a27c45ce ("net: Call netdev_features_change() from netdev_update_features()") CC: MichaÅ? MirosÅ?aw <mirq-linux@xxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f8dc33e8ee7e59bee3bc6dc2088807a384b285a Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 14:54:01 2015 +0100 net: fix feature changes on devices without ndo_set_features When __netdev_update_features() was updated to ensure some features are disabled on new lower devices, an error was introduced for devices which don't have the ndo_set_features() method set. Before we'll just set the new features, but now we return an error and don't set them. Fix this by returning the old behaviour and setting err to 0 when ndo_set_features is not present. Fixes: e7868a85e1b2 ("net/core: ensure features get disabled on new lower devs") CC: Jarod Wilson <jarod@xxxxxxxxxx> CC: Jiri Pirko <jiri@xxxxxxxxxxx> CC: Ido Schimmel <idosch@xxxxxxxxxxxx> CC: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> CC: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> CC: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Reviewed-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Jarod Wilson <jarod@xxxxxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Tested-by: Dave Young <dyoung@xxxxxxxxxx> Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bbe14f54297467ddb23b7d1db564a2468c6ae151 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Nov 13 13:06:12 2015 +0200 switchdev: bridge: Check return code is not EOPNOTSUPP When NET_SWITCHDEV=n, switchdev_port_attr_set simply returns EOPNOTSUPP. In this case we should not emit errors and warnings to the kernel log. Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Fixes: 0bc05d585d38 ("switchdev: allow caller to explicitly request attr_set as deferred") Fixes: 6ac311ae8bfb ("Adding switchdev ageing notification on port bridged") Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d5d309815bc377ec8235df380fda6d1befbc57cc Author: Ivan Vecera <ivecera@xxxxxxxxxx> Date: Fri Nov 13 11:36:58 2015 +0100 be2net: replace hardcoded values with existing define Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4114ec905de2f02b91703c484bba9b62dc3bbb87 Author: Ivan Vecera <ivecera@xxxxxxxxxx> Date: Fri Nov 13 11:36:57 2015 +0100 be2net: remove unused local rsstable array Remove rsstable array and its initialization from be_set_rss_hash_opts(). The array became unused after "e255787 be2net: Support for configurable RSS hash key". The initial RSS table is now filled and stored for later usage during Rx queue creation. Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx> Acked-by: Sathya Perla <sathya.perla@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2452cb0c6503f05ab371b26c3216c5fba54d4476 Author: Masaru Nagai <masaru.nagai.vx@xxxxxxxxxxx> Date: Fri Nov 13 19:24:49 2015 +0900 ravb: Fix int mask value overwritten issue When RX/TX interrupt for Network Control queue and Best Effort queue is issued at the same time, the interrupt mask of Network Control queue will be reset when the mask of Best Effort queue is set. This patch fixes this problem. Signed-off-by: Masaru Nagai <masaru.nagai.vx@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd998ecd2f031cfdb88436ea12f7c6d0b09c7a80 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Fri Nov 13 09:46:59 2015 +0300 net: smsc911x: Reset PHY during initialization On certain hardware after software reboot the chip may get stuck and fail to reinitialize during reset. This can be fixed by ensuring that PHY is reset too. Old PHY resetting method required operational MDIO interface, therefore the chip should have been already set up. In order to be able to function during probe, it is changed to use PMT_CTRL register. The problem could be observed on SMDK5410 board. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3d4c682c240595c3637c552dc1afa985bc6d382 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Nov 14 01:16:18 2015 +0100 bpf, arm64: start flushing icache range from header While recently going over ARM64's BPF code, I noticed that the icache range we're flushing should start at header already and not at ctx.image. Reason is that after b569c1c622c5 ("net: bpf: arm64: address randomize and write protect JIT code"), we also want to make sure to flush the random-sized trap in front of the start of the actual program (analogous to x86). No operational differences from user side. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebaef649c26b44ff28114b452fd067a270ca7f02 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Sat Nov 14 01:26:53 2015 +0100 bpf, arm: start flushing icache range from header During review I noticed that the icache range we're flushing should start at header already and not at ctx.image. Reason is that after 55309dd3d4cd ("net: bpf: arm: address randomize and write protect JIT code"), we also want to make sure to flush the random-sized trap in front of the start of the actual program (analogous to x86). No operational differences from user side. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Tested-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30b50aa612018bd92f5a85534cc2668423e8c7e8 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Thu Nov 12 14:07:46 2015 -0800 bpf: samples: exclude asm/sysreg.h for arm64 commit 338d4f49d6f7114a017d294ccf7374df4f998edc ("arm64: kernel: Add support for Privileged Access Never") includes sysreg.h into futex.h and uaccess.h. But, the inline assembly used by asm/sysreg.h is incompatible with llvm so it will cause BPF samples build failure for ARM64. Since sysreg.h is useless for BPF samples, just exclude it from Makefile via defining __ASM_SYSREG_H. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fcd593b943bfcc21ad84d3321422401de071d8a Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Thu Nov 12 13:57:00 2015 -0800 arm64: bpf: fix JIT frame pointer setup BPF fp should point to the top of the BPF prog stack. The original implementation made it point to the bottom incorrectly. Move A64_SP to fp before reserve BPF prog stack space. CC: Zi Shen Lim <zlim.lnx@xxxxxxxxx> CC: Xi Wang <xi.wang@xxxxxxxxx> Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Reviewed-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7729b053814ac91af340f5055970afc87d7fee21 Author: MÃ¥ns RullgÃ¥rd <mans@xxxxxxxxx> Date: Thu Nov 12 18:41:12 2015 +0000 net: phy: vitesse: add support for VSC8601 This adds support for the Vitesse VSC8601 PHY. Generic functions are used for everything except interrupt handling. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0eae5982a3571dc15a9e7684c02e8774ba2fb1c7 Author: MÃ¥ns RullgÃ¥rd <mans@xxxxxxxxx> Date: Thu Nov 12 17:40:20 2015 +0000 net: phy: at803x: support interrupt on 8030 and 8035 Commit 77a993942 "phy/at8031: enable at8031 to work on interrupt mode" added interrupt support for the 8031 PHY but left out the other two chips supported by this driver. This patch sets the .ack_interrupt and .config_intr functions for the 8030 and 8035 drivers as well. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4fe85f9c9146f60457e9512fb6055e69e6a7a65 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Thu Nov 12 17:35:58 2015 +0100 ip_tunnel: disable preemption when updating per-cpu tstats Drivers like vxlan use the recently introduced udp_tunnel_xmit_skb/udp_tunnel6_xmit_skb APIs. udp_tunnel6_xmit_skb makes use of ip6tunnel_xmit, and ip6tunnel_xmit, after sending the packet, updates the struct stats using the usual u64_stats_update_begin/end calls on this_cpu_ptr(dev->tstats). udp_tunnel_xmit_skb makes use of iptunnel_xmit, which doesn't touch tstats, so drivers like vxlan, immediately after, call iptunnel_xmit_stats, which does the same thing - calls u64_stats_update_begin/end on this_cpu_ptr(dev->tstats). While vxlan is probably fine (I don't know?), calling a similar function from, say, an unbound workqueue, on a fully preemptable kernel causes real issues: [ 188.434537] BUG: using smp_processor_id() in preemptible [00000000] code: kworker/u8:0/6 [ 188.435579] caller is debug_smp_processor_id+0x17/0x20 [ 188.435583] CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted 4.2.6 #2 [ 188.435607] Call Trace: [ 188.435611] [<ffffffff8234e936>] dump_stack+0x4f/0x7b [ 188.435615] [<ffffffff81915f3d>] check_preemption_disabled+0x19d/0x1c0 [ 188.435619] [<ffffffff81915f77>] debug_smp_processor_id+0x17/0x20 The solution would be to protect the whole this_cpu_ptr(dev->tstats)/u64_stats_update_begin/end blocks with disabling preemption and then reenabling it. Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ca641b0f02a3a1eedbc8c296e695326da9bbaf9 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Nov 9 16:37:28 2015 -0800 mtd: nand: fix shutdown/reboot for multi-chip systems If multiple NAND chips are registered to the same controller, then when rebooting the system, the first one will grab the controller lock, while the second will wait forever for the first one to release it. i.e., a classic deadlock. This problem was solved for a similar case (suspend/resume) back in commit 6b0d9a841249 ("mtd: nand: fix multi-chip suspend problem"), and the shutdown state really isn't much different for us, so rather than adding a new special case to nand_get_device(), we can just overload the FL_PM_SUSPENDED state. Now, multiple chips can "get" the same controller lock (preventing further I/O), while we still allow other chips to pass through nand_shutdown(). Original report: http://thread.gmane.org/gmane.linux.drivers.mtd/59726 http://lists.infradead.org/pipermail/linux-mtd/2015-July/059992.html Fixes: 72ea403669c7 ("mtd: nand: added nand_shutdown") Reported-by: Andrew E. Mileski <andrewm@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Scott Branden <sbranden@xxxxxxxxxxxx> Cc: Andrew E. Mileski <andrewm@xxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit 96dd922c198286681fbbc15100e196e0f629e2fb Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Nov 11 15:36:16 2015 -0800 mtd: jz4740_nand: fix build on jz4740 after removing gpio.h Fallout from commit 832f5dacfa0b ("MIPS: Remove all the uses of custom gpio.h") We see errors like this: drivers/mtd/nand/jz4740_nand.c: In function 'jz_nand_detect_bank': drivers/mtd/nand/jz4740_nand.c:340:9: error: 'JZ_GPIO_MEM_CS0' undeclared (first use in this function) drivers/mtd/nand/jz4740_nand.c:340:9: note: each undeclared identifier is reported only once for each function it appears in drivers/mtd/nand/jz4740_nand.c:359:2: error: implicit declaration of function 'jz_gpio_set_function' [-Werror=implicit-function-declaration] drivers/mtd/nand/jz4740_nand.c:359:29: error: 'JZ_GPIO_FUNC_MEM_CS0' undeclared (first use in this function) drivers/mtd/nand/jz4740_nand.c:399:29: error: 'JZ_GPIO_FUNC_NONE' undeclared (first use in this function) drivers/mtd/nand/jz4740_nand.c: In function 'jz_nand_probe': drivers/mtd/nand/jz4740_nand.c:528:13: error: 'JZ_GPIO_MEM_CS0' undeclared (first use in this function) drivers/mtd/nand/jz4740_nand.c: In function 'jz_nand_remove': drivers/mtd/nand/jz4740_nand.c:555:14: error: 'JZ_GPIO_MEM_CS0' undeclared (first use in this function) Patched similarly to: https://patchwork.linux-mips.org/patch/11089/ Fixes: 832f5dacfa0b ("MIPS: Remove all the uses of custom gpio.h") Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3da6d49e847128378c30292848125cc3e207e5f7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 17:51:17 2015 +0100 clocksource: Disallow drivers for ARCH_USES_GETTIMEOFFSET We can now select clocksource drivers like ti-32k and CONFIG_OF on ancient machines that still use gettimeoffset, and the combination results in a link error. arch/arm/kernel/built-in.o: In function `time_init': (.init.text+0xc28): undefined reference to `clocksource_probe' The reason for this is that the Makefile is hidden behind CONFIG_ARCH_USES_GETTIMEOFFSET, but the Kconfig file is not, and it has shown up just now because the ti-32k driver was added and can be selected using COMPILE_TEST on all platforms. This patch hides the Kconfig menu in CONFIG_ARCH_USES_GETTIMEOFFSET as well. Fixes: dfedaf105d60 "clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE" Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Felipe Balbi <balbi@xxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/7579471.4N90fYPQOK@wuerfel Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit dde7632ed02382e4bac2b57c66ee2285764f2cd7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 17:34:50 2015 +0100 clocksource/fsl: Avoid harmless 64-bit warnings The ftm_clockevent_init passes the value of "~0UL" into a function that takes a 32-bit argument, which drops the upper 32 bits, as gcc warns about on ARM64: clocksource/fsl_ftm_timer.c: In function 'ftm_clockevent_init': clocksource/fsl_ftm_timer.c:206:13: warning: large integer implicitly truncated to unsigned type [-Woverflow] This was obviously unintended behavior, and is easily avoided by using '~0u' as the integer literal, because that is 32-bit wide on all architectures. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: Stefan Agner <stefan@xxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/3990834.xnjhm37Grs@wuerfel Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit cef03d7e66bd70c4baf61dd2431cf8de250834de Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Oct 28 17:17:31 2015 +0000 hwmon: (scpi) skip unsupported sensors properly Currently it's assumed that firmware exports only the class of sensors supported by the driver. However with newer firmware or SCPI protocol revision, support for newer classes of sensors can be present. The driver fails to probe with the following warning if an unsupported class of sensor is encountered in the firmware. sysfs: cannot create duplicate filename '/devices/platform/scpi/scpi:sensors/hwmon/hwmon0/' ------------[ cut here ]------------ WARNING: at fs/sysfs/dir.c:31 Modules linked in: CPU: 0 PID: 6 Comm: kworker/u12:0 Not tainted 4.3.0-rc7 #137 Hardware name: ARM Juno development board (r0) (DT) Workqueue: deferwq deferred_probe_work_func PC is at sysfs_warn_dup+0x54/0x78 LR is at sysfs_warn_dup+0x54/0x78 This patch fixes the above issue by skipping through the unsupported class of SCPI sensors. Fixes: 68acc77a2d51 ("hwmon: Support thermal zones registration for SCP temperature sensors") Fixes: ea98b29a05e9 ("hwmon: Support sensors exported via ARM SCP interface") Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Punit Agrawal <punit.agrawal@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit d42d5b6f729929f2bbd17d22a2b223b7138470da Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 16 17:56:39 2015 +0100 hwmon: (scpi) add thermal-of dependency The newly added scpi thermal support is broken when the scpi driver is built-in but the thermal driver is a loadable module: drivers/built-in.o: In function `scpi_hwmon_probe': (.text+0x444d70): undefined reference to `thermal_zone_of_sensor_unregister' (.text+0x444d94): undefined reference to `thermal_zone_of_sensor_register' drivers/built-in.o: In function `scpi_hwmon_remove': (text+0x444e6c): undefined reference to `thermal_zone_of_sensor_unregister' This uses the same Kconfig trick that we have in a couple of other drivers already to ensure we can only select the driver in valid configurations when either THERMAL_OF is disabled, or when with a dependency on CONFIG_THERMAL that can force SCPI to be a loadable module in the case I was hitting. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 68acc77a2d51 ("hwmon: Support thermal zones registration for SCP temperature sensors") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit ef83b6e8f40bb24b92ad73b5889732346e54a793 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Sep 29 15:48:11 2015 -0400 ext2, ext4: warn when mounting with dax enabled Similar to XFS warn when mounting DAX while it is still considered under development. Also, aspects of the DAX implementation, for example synchronization against multiple faults and faults causing block allocation, depend on the correct implementation in the filesystem. The maturity of a given DAX implementation is filesystem specific. Cc: <stable@xxxxxxxxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: linux-ext4@xxxxxxxxxxxxxxx Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reported-by: Dave Chinner <david@xxxxxxxxxxxxx> Acked-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 59536da34513c594af2a6fd35ba65ea45b6960a1 Author: Bjørn Mork <bjorn@xxxxxxx> Date: Mon Nov 16 13:15:46 2015 +0100 USB: qcserial: Fix support for HP lt4112 LTE/HSPA+ Gobi 4G Modem The DEVICE_HWI type was added under the faulty assumption that Huawei devices based on Qualcomm chipsets and firmware use the static USB interface numbering known from Gobi devices. But this model does not apply to Huawei devices like the HP branded lt4112 (Huawei me906e). Huawei firmwares will dynamically assign interface numbers. Functions are renumbered when the firmware is reconfigured. Fix by changing the DEVICE_HWI type to use a simplified version of Huawei's subclass + protocol scheme: Blacklisting known network interface combinations and assuming the rest are serial. Reported-and-tested-by: Muri Nicanor <muri+libqmi@xxxxxxxxxx> Tested-by: Martin Hauke <mardnh@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: e7181d005e84 ("USB: qcserial: Add support for HP lt4112 LTE/HSPA+ Gobi 4G Modem") Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 0ba58de231066e47de87ccc4d61c5e396fe9bd27 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 27 22:06:52 2015 +0200 drivers: sh: Get rid of CONFIG_ARCH_SHMOBILE_MULTI Shmobile is all multiplatform these days, so get rid of the reference to CONFIG_ARCH_SHMOBILE_MULTI. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2c2025b41aeff57963f9ae2dd909fea704c625ab Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Tue Oct 27 23:26:33 2015 +0200 usb: phy: omap-otg: fix uninitialized pointer otg_dev->extcon was referenced before otg_dev was initialized. Fix. Cc: <stable@xxxxxxxxxxxxxxx> # v4.3 Fixes: a2fd2423240f ("usb: phy: omap-otg: Replace deprecated API of extcon") Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 705e63d2b29c8bbf091119084544d353bda70393 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Oct 23 09:53:50 2015 +0200 usb: musb: core: fix order of arguments to ulpi write callback There is a bit of a mess in the order of arguments to the ulpi write callback. There is int ulpi_write(struct ulpi *ulpi, u8 addr, u8 val) in drivers/usb/common/ulpi.c; struct usb_phy_io_ops { ... int (*write)(struct usb_phy *x, u32 val, u32 reg); } in include/linux/usb/phy.h. The callback registered by the musb driver has to comply to the latter, but up to now had "offset" first which effectively made the function broken for correct users. So flip the order and while at it also switch to the parameter names of struct usb_phy_io_ops's write. Fixes: ffb865b1e460 ("usb: musb: add ulpi access operations") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b4c580a43d520b7812c0fd064fbab929ce2f1da0 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Wed Oct 21 14:37:04 2015 +0300 usb: dwc3: pci: add support for Intel Broxton SOC PCI IDs for Broxton based platforms. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 43c27fb5c21eb238ce5ffc7766bc59ab773bfd7c Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Thu Nov 12 15:33:09 2015 +0800 drm/amdgpu: update pd while updating vm as well Change-Id: I93a861cd6707f7d91672b9e19757cc50008cd7a2 Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 5d82730af746abca2aa74e00de6370d338df7e95 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Nov 13 13:04:50 2015 +0100 drm/amdgpu: fix handling order in scheduler CS We need to clear parser.ibs and num_ibs before amd_sched_fence_create, otherwise the IB could be freed twice if fence creates fails. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit e284022163716ecf11c37fd1057c35d689ef2c11 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Nov 5 19:49:48 2015 +0100 drm/amdgpu: fix incorrect mutex usage v3 Before this patch the scheduler fence was created when we push the job into the queue, so we could only get the fence after pushing it. The mutex now was necessary to prevent the thread pushing the jobs to the hardware from running faster than the thread pushing the jobs into the queue. Otherwise the thread pushing jobs into the queue would have accessed possible freed up memory when it tries to get a reference to the fence. So what you get in the end is thread A: mutex_lock(&job->lock); ... Kick of thread B. ... mutex_unlock(&job->lock); And thread B: mutex_lock(&job->lock); .... mutex_unlock(&job->lock); kfree(job); I'm actually not sure if I'm still up to date on this, but this usage pattern used to be not allowed with mutexes. See here as well https://lwn.net/Articles/575460/. v2: remove unrelated changes, fix missing owner v3: rebased, add more commit message Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4a562283376197722b295d27633134401bbc80f5 Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Nov 6 14:09:21 2015 +0100 drm/amdgpu: cleanup scheduler fence get/put dance The code was correct, but getting two references when the ownership is linearly moved on is a bit awkward and just overhead. Signed: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7034decf6a5b1ff778d83ff9d7ce1f0b404804e4 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Wed Nov 11 14:56:00 2015 +0800 drm/amdgpu: add command submission workflow tracepoint OGL needs these tracepoints to investigate performance issue. Change-Id: I5e58187d061253f7d665dfce8e4e163ba91d3e2b Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> commit 5f2e816b2957fdde3c7d51d55db6751a980f4bea Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Thu Nov 5 09:50:21 2015 +0800 drm/amdgpu: update Fiji's tiling mode table Change-Id: I925c15015390113f7e27746ec5751eaa6a92c2a7 Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c305fd5fffae5b826b9f8f7ef32fe72ee83354fc Author: Rex Zhu <Rex.Zhu@xxxxxxx> Date: Tue Oct 13 13:57:52 2015 +0800 drm/amdgpu: fix bug that can't enter thermal interrupt for bonaire. Set reversed bit to enable/disable thermal interrupt. Signed-off-by: Rex Zhu <Rex.Zhu@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit e1b35f6103b37e0d81184b32906b7010170dda02 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 10 13:17:55 2015 +0100 drm/amdgpu: fix seq_printf format string The amdgpu driver has a debugfs interface that shows the amount of VRAM in use, but the newly added code causes a build error on all 32-bit architectures: drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:1076:17: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'long long int' [-Wformat=] This fixes the format string to use "%llu" for printing 64-bit numbers, which works everywhere, as long as we also cast to 'u64'. Unlike atomic64_t, u64 is defined as 'unsigned long long' on all architectures. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: a2ef8a974931 ("drm/amdgpu: add vram usage into debugfs") Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 515c752dabee9945c1e8686c87f7cdeb3935eea4 Author: Maxim Sheviakov <mrader3940@xxxxxxxxx> Date: Tue Nov 10 13:09:13 2015 -0500 drm/radeon: fix quirk for MSI R7 370 Armor 2X There was a typo in the original. bug: https://bugs.freedesktop.org/show_bug.cgi?id=92865 Signed-off-by: Maxim Sheviakov <mrader3940@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a80b30476d240482d360a25a1b2e8c13036ed750 Author: Jay Cornwall <jay@xxxxxxxxxxxx> Date: Thu Nov 5 13:06:15 2015 -0600 drm/amdgpu: Fix default page access routing The VM default page (used when a VM translation fails) is allocated in system memory. The VM is misconfigured to interpret the physical address as referencing a VRAM physical page. Route default page accesses to system memory. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Jay Cornwall <jay@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.2+ Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 24dd2f64c5a877392925202321c7c2c46c2b0ddf Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Nov 10 13:01:35 2015 -0500 drm/radeon: unconditionally set sysfs_initialized Avoids spew on resume for systems where sysfs may fail even on init. bug: https://bugzilla.kernel.org/show_bug.cgi?id=106851 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 7e52a81c2f0326a85d3ebc005829bcd604731c6d Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Nov 4 15:44:39 2015 +0100 drm/amdgpu: cleanup amdgpu_cs_parser handling No need any more to allocate that structure dynamically, just put it on the stack. This is a start to cleanup some of the scheduler fallouts. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e4a58a28b50f30e72292b6659d94410cbf7355ad Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Nov 5 17:00:25 2015 +0100 drm/amdgpu: fix leaking the IBs on error Fixing a memory leak when the scheduler is enabled. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f5617f9dde5ae2466560f7cb008c741e2b88adab Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Thu Nov 5 11:41:50 2015 +0800 drm/amd: add kmem cache for sched fence Change-Id: I45bb8ff10ef05dc3b15e31a77fbcf31117705f11 Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit b49c84a5765cf68b8e2fdb1dc4eded9c208e6d58 Author: Chunming Zhou <David1.Zhou@xxxxxxx> Date: Thu Nov 5 11:28:28 2015 +0800 drm/amdgpu: add kmem cache for amdgpu fence Change-Id: I5ad8dd156ccf27a6f18004aa0a215a0925b6e67b Signed-off-by: Chunming Zhou <David1.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 451f698bcac84c49dd4e25dd8e89dbd66796b4cd Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Thu Nov 5 15:24:46 2015 +0800 drm/amdgpu: update fiji_mgcg_cgcg_init table Change-Id: If44b8057741c78208f1976f60f31b535c944d0bd Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit 16ae42feb0ce6cc80473d35dd82a1cd07e2e7178 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 3 14:53:28 2015 +0100 drm/amdgpu: use common fence for amdgpu_vm_fence Just cleanup the function parameters. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b56c22853eabde22a93d77bbd5250c1655405d74 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 29 17:01:19 2015 +0100 drm/amdgpu: use fence_is_later() for vm_flush as well v2 v2: remove superfluous check 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 c2776afe740db5598c4c457dcacb94d4427b13f9 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 3 13:27:39 2015 +0100 drm/amdgpu: use a timer for fence fallback Less overhead than a work item and also adds proper cleanup handling. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 935c186aaecc25258495351adaba34f7c507d298 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 3 21:23:08 2015 +0100 drm/amdgpu: remove fence trace points Mostly unused and replaced by the common trace points. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fa6760482bed1ed752568fe09135c078e9768595 Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Fri Oct 30 18:29:46 2015 +0800 drm/amdgpu: update Fiji's mmPA_SC_RASTER_CONFIG value Change-Id: I6d138306a878450e5bf8a77a2f1aacc380a39fe5 Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 938204985c1c46c28a88cb558d9e38610044b67a Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Thu Nov 5 17:25:28 2015 +0900 drm/radeon: Only prompt for enabling PAT when we'd allow write-combining No use bothering users about this for whom we disable write-combining for other reasons anyway. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a28bbd5824d4a2af98de45b300ab8d8fb39739fc Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Thu Nov 5 17:25:27 2015 +0900 drm/radeon: Always disable RADEON_GEM_GTT_UC along with RADEON_GEM_GTT_WC Write-combining is a CPU feature. From the GPU POV, these both simply mean no GPU<->CPU cache coherency. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 96ea47c0ec8c012509116bee8c57414281428fc4 Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Thu Nov 5 17:25:26 2015 +0900 drm/radeon: Disable uncacheable CPU mappings of GTT with RV6xx They reportedly cause random GPU hangs. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91268 Reviewed-by: Christian König <christian.koenig@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 172c238612ebf81cabccc86b788c9209af591f61 Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Fri Nov 6 10:53:01 2015 -0500 dm thin: restore requested 'error_if_no_space' setting on OODS to WRITE transition A thin-pool that is in out-of-data-space (OODS) mode may transition back to write mode -- without the admin adding more space to the thin-pool -- if/when blocks are released (either by deleting thin devices or discarding provisioned blocks). But as part of the thin-pool's earlier transition to out-of-data-space mode the thin-pool may have set the 'error_if_no_space' flag to true if the no_space_timeout expires without more space having been made available. That implementation detail, of changing the pool's error_if_no_space setting, needs to be reset back to the default that the user specified when the thin-pool's table was loaded. Otherwise we'll drop the user requested behaviour on the floor when this out-of-data-space to write mode transition occurs. Reported-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Joe Thornber <ejt@xxxxxxxxxx> Fixes: 2c43fd26e4 ("dm thin: fix missing out-of-data-space to write mode transition if blocks are released") Cc: stable@xxxxxxxxxxxxxxx commit fd0fe6acf1dd88aabfbf383f7e4c16315387a7b7 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Wed Nov 4 21:25:32 2015 +0200 drm/i915: get runtime PM reference around GEM set_caching IOCTL After Damien's D3 fix I started to get runtime suspend residency for the first time and that revealed a breakage on the set_caching IOCTL path that accesses the HW but doesn't take an RPM ref. Fix this up. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: http://patchwork.freedesktop.org/patch/msgid/1446665132-22491-1-git-send-email-imre.deak@xxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 500a3d2eb3883b71350036e15aad286cc6e5df21 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Nov 13 19:29:41 2015 +0200 drm/i915: Fix GT frequency rounding When we set and later readback a frequency value through sysfs interface, igt/pm_rpm assumes that we get same value back if it matches hw granularity. On bxt we have found out that this is not always the case. Currently frequency - hw ratio - frequency conversions round down, with few exceptions on platforms that have more specific conversions. On bxt the supported range can be for example from 100Mhz to 650Mhz. Midpoint is then calculated by test to be 375 which pm_rps uses to find a closest hw supported frequency. That is 366 (ratio 22), which it then writes back. But as the rounding down kicks in, driver actually sets 350 instead of 366, as 366 is 2/3 below 22 * 50/3. Fix this by rounding to closest instead of rounding down in freq-ratio-freq conversions. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92768 Testcase: igt/pm_rps/basic-api Tested-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Cc: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447435781-23416-1-git-send-email-mika.kuoppala@xxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 1bcb49e663f88bccee35b8688e6a3da2bea31fd4 Author: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Date: Sat Nov 14 16:49:30 2015 +0000 USB: ti_usb_3410_5052: Add Honeywell HGI80 ID The Honeywell HGI80 is a wireless interface to the evohome connected thermostat. It uses a TI 3410 USB-serial port. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit e07af133c3e2716db25e3e1e1d9f10c2088e9c1a Author: Aleksander Morgado <aleksander@xxxxxxxxxxxxx> Date: Wed Nov 11 19:51:40 2015 +0100 USB: serial: option: add support for Novatel MiFi USB620L Also known as Verizon U620L. The device is modeswitched from 1410:9020 to 1410:9022 by selecting the 4th USB configuration: $ sudo usb_modeswitch â??v 0x1410 â??p 0x9020 â??u 4 This configuration provides a ECM interface as well as TTYs ('Enterprise Mode' according to the U620 Linux integration guide). Signed-off-by: Aleksander Morgado <aleksander@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 9d5b5ed796d7afd7e8d2ac4b4fb77c6a49463f4b Author: Petr Å tetiar <ynezz@xxxxxxx> Date: Tue Nov 3 11:25:28 2015 +0100 USB: qcserial: Add support for Quectel EC20 Mini PCIe module It seems like this device has same vendor and product IDs as G2K devices, but it has different number of interfaces(4 vs 5) and also different interface layout which makes it currently unusable: usbcore: registered new interface driver qcserial usbserial: USB Serial support registered for Qualcomm USB modem usb 2-1.2: unknown number of interfaces: 5 lsusb output: Bus 002 Device 003: ID 05c6:9215 Qualcomm, Inc. Acer Gobi 2000 Wireless Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x05c6 Qualcomm, Inc. idProduct 0x9215 Acer Gobi 2000 Wireless Modem bcdDevice 2.32 iManufacturer 1 Quectel iProduct 2 Quectel LTE Module iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 209 bNumInterfaces 5 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Signed-off-by: Petr Å tetiar <ynezz@xxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> [johan: rename define and add comment ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 1b9448b071caa7d10bb2569fabe3020a2c25ae59 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Nov 5 11:49:59 2015 +0200 drm/i915: quirk backlight present on Macbook 4, 1 Unsurprisingly macbooks have backlights, just the VBT doesn't seem to know it in this case. Reported-and-tested-by: Daniel Nicoletti <dantti12@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88325 Fixes: c675949ec58c ("drm/i915: do not setup backlight if not available according to VBT") Cc: stable@xxxxxxxxxxxxxxx # v3.15+ Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446716999-1796-1-git-send-email-jani.nikula@xxxxxxxxx commit f44e26593aea9b920e892fc490ffd2a1a0b9123f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Nov 13 19:16:13 2015 +0200 drm/i915: Fix crtc_y assignment in intel_find_initial_plane_obj() Let's set crtc_y to 0 instead of setting src_y twice. Multiple assignments in one statement is a good way to hide bugs. Please don't do that. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Fixes: be5651f2d581 ("drm/i915: Update missing properties in find_initial_plane_obj") Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1447434973-12369-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c7f42c63901b964833eb23a9bda873b799e7f308 Author: Jean-Yves Faye <jean-yves.faye@xxxxxx> Date: Tue Sep 29 11:39:19 2015 +0200 ipmi watchdog : add panic_wdt_timeout parameter In order to allow panic actions to be processed, the ipmi watchdog driver sets a new timeout value on panic. The 255s timeout was designed to allow kdump and others actions on panic, as in http://lkml.iu.edu/hypermail/linux/kernel/0711.3/0258.html This is counter-intuitive for a end-user who sets watchdog timeout value to something like 30s and who expects BMC to reset the system within 30s of a panic. This commit allows user to configure the timeout on panic. Signed-off-by: Jean-Yves Faye <jean-yves.faye@xxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit f52c74fee95f1f4dd2bc1c75e016d849150eb2de Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Nov 13 14:17:14 2015 +0100 s390: remove SALIPL loader There is no known user, therefore remove the code. Acked-by: Rob Van Der Heij <robvdheij@xxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 932f608193cdbd3a275a4aefb94760dfd4a1f736 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Nov 16 12:31:33 2015 +0100 s390: wire up mlock2 system call Passes mlock2-tests test case in 64 bit and compat mode. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 95486e4979e56e7da2fbb4fd32eb54d672b1e074 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Nov 16 12:07:10 2015 +0100 MIPS: Fix flood of warnings about comparsion being always true. ./arch/mips/include/asm/page.h:204:13: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] The default value of ARCH_PFN_OFFSET is 0 thus triggering this warning for all platforms using the default value. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ddfd4a054b91def32cd1fe214f0a4d5506bb553b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Nov 13 12:45:12 2015 +0100 s390: remove g5 elf platform support Remove dead code, since this could only happen on a 31 bit machine where the kernel wouldn't IPL. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c7e8b2c21c6a6fd88022ae64f997ebc574036067 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Nov 10 12:30:28 2015 +0100 s390: avoid cache aliasing under z/VM and KVM commit 1f6b83e5e4d3 ("s390: avoid z13 cache aliasing") checks for the machine type to optimize address space randomization and zero page allocation to avoid cache aliases. This check might fail under a hypervisor with migration support. z/VMs "Single System Image and Live Guest Relocation" facility will "fake" the machine type of the oldest system in the group. For example in a group of zEC12 and Z13 the guest appears to run on a zEC12 (architecture fencing within the relocation domain) Remove the machine type detection and always use cache aliasing rules that are known to work for all machines. These are the z13 aliasing rules. Suggested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit bd1c6ff74ce0bbd8cda6eb7763fa0e2625dfcc8b Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Wed Nov 4 13:23:52 2015 +0000 arm64/dma-mapping: Fix sizes in __iommu_{alloc,free}_attrs The iommu-dma layer does its own size-alignment for coherent DMA allocations based on IOMMU page sizes, but we still need to consider CPU page sizes for the cases where a non-cacheable CPU mapping is created. Whilst everything on the alloc/map path seems to implicitly align things enough to make it work, some functions used by the corresponding unmap/free path do not, which leads to problems freeing odd-sized allocations. Either way it's something we really should be handling explicitly, so do that to make both paths suitably robust. Reported-by: Yong Wu <yong.wu@xxxxxxxxxxxx> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 1451ad03fac3e86948728e0b11f63dee73d3106c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Nov 11 21:54:26 2015 +1100 powerpc: Wire up sys_mlock2() The selftest passes on 64-bit LE and 32-bit BE. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5e0a0ee4d397665e5a509ed03ed9c41727c5f228 Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Thu Nov 5 15:39:27 2015 -0700 hwmon : (applesmc) Fix uninitialized variables warnings Fix the following "maybe used uninitialized" warnings by initializing the variables to keep the compiler quiet. There is no "used uninitialized" in this case. CC [M] drivers/hwmon/applesmc.o drivers/hwmon/applesmc.c: In function â??applesmc_init_smcregâ??: drivers/hwmon/applesmc.c:595:43: warning: â??right_light_sensorâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] s->num_light_sensors = left_light_sensor + right_light_sensor; ^ drivers/hwmon/applesmc.c:540:26: note: â??right_light_sensorâ?? was declared here bool left_light_sensor, right_light_sensor; ^ drivers/hwmon/applesmc.c:595:43: warning: â??left_light_sensorâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] s->num_light_sensors = left_light_sensor + right_light_sensor; ^ drivers/hwmon/applesmc.c:540:7: note: â??left_light_sensorâ?? was declared here bool left_light_sensor, right_light_sensor; ^ Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 92e11f002cac5f6d60bc7498d8d33e6a5fb9cb6f Author: Li Yang <leoli@xxxxxxxxxxxxx> Date: Thu Nov 5 14:18:17 2015 -0600 hwmon: (ina2xx) Fix build issue by selecting REGMAP_I2C Since a0de56c81fcf ("hwmon: (ina2xx) convert driver to using regmap") the driver requires REGMAP_I2C to build. Select it by default in Kconfig. Reported-by: Guo Chunrong <B40290@xxxxxxxxxxxxx> Cc: Marc Titinger <mtitinger@xxxxxxxxxxxx> Signed-off-by: Li Yang <leoli@xxxxxxxxxxxxx> Fixes: a0de56c81fcf ("hwmon: (ina2xx) convert driver to using regmap") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2c5d7407e012721f02741f1adae2b1bdf6ef6449 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 15:18:22 2015 +0100 dmaengine: at_hdmac: use %pad format string for dma_addr_t dma_addr_t may be defined as 32 or 64 bit depending on configuration, so it cannot be printed using the normal format strings, as gcc correctly warns: drivers/dma/at_hdmac.c: In function 'atc_prep_dma_interleaved': drivers/dma/at_hdmac.c:731:28: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=] This changes the format strings to use the special "%pad" format string that prints a dma_addr_t, and changes the arguments so we pass the address by reference as required. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 268914f4e7a013a4798b5544cce9d9584de99889 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 15:16:53 2015 +0100 dmaengine: at_xdmac: use %pad format string for dma_addr_t dma_addr_t may be defined as 32 or 64 bit depending on configuration, so it cannot be printed using the normal format strings, as gcc correctly warns: drivers/dma/at_xdmac.c: In function 'at_xdmac_interleaved_queue_desc': drivers/dma/at_xdmac.c:922:51: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=] This changes the format strings to use the special "%pad" format string that prints a dma_addr_t, and changes the arguments so we pass the address by reference as required. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 29f493dafa6113d28763e9efb853e6972b41ade5 Author: Jason Liu <r64343@xxxxxxxxxxxxx> Date: Wed Nov 11 17:20:49 2015 +0800 dmaengine: imx-sdma: remove __init annotation on sdma_event_remap The sdma_probe function will call sdma_event_remap, but sdma_event_remap marked with the __init annotation which make the kbuild complains as the following log: WARNING: drivers/dma/built-in.o(.text+0x56fc): Section mismatch in reference from the function sdma_probe() to the function .init.text:sdma_event_remap() The function sdma_probe() references the function __init sdma_event_remap(). This is often because sdma_probe lacks a __init annotation or the annotation of sdma_event_remap is wrong. Remove the __init annotation on sdma_event_remap to kill this build warning Signed-off-by: Jason Liu <r64343@xxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f5ea7ad252452f0b461e04a0d0e468f1f6ad8b3b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:38:31 2015 +0300 dmaengine: edma: predecence bug in GET_NUM_QDMACH() The current code uses bits 0-2 instead of 4-6 as the comment says. Fixes: 633e42b8c546 ('dmaengine: edma: Get qDMA channel information from HW also') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 638bdc8ce845285e1112f4870aded1638187fc98 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 3 15:00:57 2015 +0100 dmaengine: edma: fix build without CONFIG_OF During the edma rework, a build error was introduced for the case that CONFIG_OF is disabled: drivers/built-in.o: In function `edma_tc_set_pm_state': :(.text+0x43bf0): undefined reference to `of_find_device_by_node' As the edma_tc_set_pm_state() function does nothing in case we are running without OF, this adds an IS_ENABLED() check that turns the function into an empty stub then and avoids the link error. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: ca304fa9bb76 ("ARM/dmaengine: edma: Public API to use private struct pointer") Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 500404ebcbd074ca11aa0c3fd9a268aa4054fd8b Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Tue Nov 3 12:28:10 2015 +0200 dmaengine: of_dma: Correct return code for of_dma_request_slave_channel in case !CONFIG_OF of_dma_request_slave_channel should return either pointer for valid dma_chan or ERR_PTR() error code, NULL is not expected to be returned. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit bf55555baaf80cdf2cc4176fee02545a07a8ff4a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Sun Oct 25 11:09:34 2015 +0100 dmaengine: sh: usb-dmac: Fix pm_runtime_{enable,disable}() imbalance If the call to pm_runtime_get_sync() failed, Runtime PM was left enabled. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 36fa4a530b7798aa85789953b08d94c03fb09fa5 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Sun Oct 25 11:09:33 2015 +0100 dmaengine: sh: usb-dmac: Fix crash on runtime suspend If CONFIG_PREEMPT=y: Unable to handle kernel NULL pointer dereference at virtual address 00000014 pgd = c0003000 [00000014] *pgd=80000040004003, *pmd=00000000 Internal error: Oops: 206 [#1] PREEMPT SMP ARM Modules linked in: CPU: 0 PID: 17 Comm: kworker/0:1 Tainted: G W 4.3.0-rc3-koelsch-022 71-g705498fc5e6a5da8-dirty #1789 Hardware name: Generic R8A7791 (Flattened Device Tree) Workqueue: pm pm_runtime_work task: ef578e40 ti: ef57a000 task.ti: ef57a000 PC is at usb_dmac_chan_halt+0xc/0xc0 LR is at usb_dmac_runtime_suspend+0x28/0x38 pc : [<c023c880>] lr : [<c023c95c>] psr: 80000113 sp : ef57bdf8 ip : 00000008 fp : 00000003 r10: 00000008 r9 : c06ab928 r8 : ef49e810 r7 : 00000000 r6 : 000000ac r5 : ef770010 r4 : 00000000 r3 : 00000000 r2 : 8ffc2b84 r1 : 00000000 r0 : ef770010 Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 30c5307d Table: 40003000 DAC: fffffffd Process kworker/0:1 (pid: 17, stack limit = 0xef57a210) Stack: (0xef57bdf8 to 0xef57c000) [... [<c023c880>] (usb_dmac_chan_halt) from [<c023c95c>] (usb_dmac_runtime_suspend+0x28/0x38) [<c023c95c>] (usb_dmac_runtime_suspend) from [<c027b25c>] (pm_genpd_runtime_suspend+0x74/0x23c) This happens because usb_dmac_probe() calls pm_runtime_put() before usb_dmac_chan_probe(), leading to the device being suspended before the DMA channels are initialized, causing a NULL pointer dereference. Move the call to pm_runtime_put() to the end of usb_dmac_probe() to fix this. Add a check to usb_dmac_runtime_suspend() to prevent the crash from happening in the error path. Reported-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 66f44018300c5e6f53c9d30d6920332cf0e6a8f9 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Sep 19 16:43:23 2015 +0100 char: ipmi: Move MODULE_DEVICE_TABLE() to follow struct The policy for drivers is to have MODULE_DEVICE_TABLE() just after the struct used in it. For clarity. Suggested-by: Corey Minyard <minyard@xxxxxxx> Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 314ef52fe67f8f03453b69169f954e2d04679bbd Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Sat Sep 5 17:58:13 2015 -0500 ipmi: Stop the timer immediately if idle The IPMI driver would let the final timeout just happen, but it could easily just stop the timer. If the timer stop fails that's ok, that should be rare. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> commit 0cfec916e86d881e209de4b4ae9959a6271e6660 Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Sat Sep 5 17:44:13 2015 -0500 ipmi: Start the timer and thread on internal msgs The timer and thread were not being started for internal messages, so in interrupt mode if something hung the timer would never go off and clean things up. Factor out the internal message sending and start the timer for those messages, too. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Tested-by: Gouji, Masayuki <gouji.masayuki@xxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 17c790a60dad11c0193127e83ac8e183b4fed1a2 Merge: 8863002 6a4b298 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 15 20:16:26 2015 -0500 Merge branch 'mv88e6060-fixes' Neil Armstrong says: ==================== net: dsa: mv88e6060: cleanup and fix setup This patchset introduces some fixes and a registers addressing cleanup for the mv88e6060 DSA driver. The first patch removes the poll_link as mv88e6xxx. The 3 following patches fixes the setup in regards of the datasheet. The 2 last patches introduces a clean header and replaces all magic values. v2: cleanup InitReady patch, add missing Acked-by and fix header copyright notice ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a4b2980d18164a09734c2069ddb4ad4a3b69c71 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:36 2015 +0100 net: dsa: mv88e6060: replace magic values with register defines To align with the mv88e6xxx code, use the register defines to access all the register addresses and bit fields. Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7e3931181595cd15e22e199d1bbabb0468d5a93 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:42 2015 +0100 net: dsa: mv88e6060: add register defines header file To align with the mv88e6xxx code, add a similar header file with all the register defines. The file is based on the mv88e6xxx header for coherency. Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Acked-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83ea0f4cb344089b6f240d3793d8c522a8501037 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:32 2015 +0100 net: dsa: mv88e6060: use the correct bit shift for mac0 According to the mv88e6060 datasheet, the first mac byte must be at position 9 instead of 8 since the bit 8 is used to select if the mac address must differ for each port for Pause frames. Use the correct shift and set the same mac address for all port. Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b73c774e08cf1e8877b000585e8598ecee890c7f Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:24 2015 +0100 net: dsa: mv88e6060: use the correct MaxFrameSize bit According to the mv88e6060 datasheet, the MaxFrameSize bit position is 10 instead of 11 which is reserved. Use the bit correctly to setup max frame size to 1536. Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c37909b4bb24320a59f697439bc77c700ca354fe Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:19 2015 +0100 net: dsa: mv88e6060: use the correct InitReady bit According to the mv88e6060 datasheet, the InitReady bit position is 11 and the polarity is inverted. Use the bit correctly to detect the end of initialization. Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Acked-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc1e7eb846ae6677426c2dcdfe5ea323cf9036e9 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Nov 10 16:51:14 2015 +0100 net: dsa: mv88e6060: remove poll_link callback As of mv88e6xxx remove the poll_link callback since the link state change polling is now handled by the phylib. Tested on a mv88e6060 B0 device with a TI DM816X SoC. Suggested-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8005c49d9aea74d382f474ce11afbbc7d7130bec Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 17:00:27 2015 -0800 Linux 4.4-rc1 commit 8863002c5acd6f89b6cf57df4dff2248e97381e1 Merge: 340c78e d49c219 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 15 18:43:47 2015 -0500 Merge branch 'mellanox-net-fixes' Or Gerlitz says: ==================== Mellanox NIC driver update, Nov 12, 2015 Few small mlx5 and mlx4 fixes from the team... done over net commit c5a3788 "Merge branch 'akpm' (patches from Andrew)" Eran's patch needs to go to 4.2 and 4.3 stable kernels. Tariq's patch need to go to 4.3 stable too. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d49c2197fd70c37d57982804465268440a33183a Author: Noa Osherovich <noaos@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:30 2015 +0200 net/mlx4_core: Avoid returning success in case of an error flow The err variable wasn't set with the correct error value in some cases. Fixes: 47605df95398 ('mlx4: Modify proxy/tunnel QP mechanism [..]') Signed-off-by: Noa Osherovich <noaos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5adbfee72282bb1f456d52b04adacd4fe6ac502 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:29 2015 +0200 net/mlx4_core: Fix sleeping while holding spinlock at rem_slave_counters When cleaning slave's counter resources, we hold a spinlock that protects the slave's counters list. As part of the clean, we call __mlx4_clear_if_stat which calls mlx4_alloc_cmd_mailbox which is a sleepable function. In order to fix this issue, hold the spinlock, and copy all counter indices into a temporary array, and release the spinlock. Afterwards, iterate over this array and free every counter. Repeat this scenario until the original list is empty (a new counter might have been added while releasing the counters from the temporary array). Fixes: b72ca7e96acf ("net/mlx4_core: Reset counters data when freed") Reported-by: Moni Shoua <monis@xxxxxxxxxxxx> Tested-by: Moni Shoua <monis@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4e28cbd24c8cb004960ddb8b22124953f6c220c Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:28 2015 +0200 net/mlx5e: Use the right DMA free function on TX path On xmit path we use skb_frag_dma_map() which is using dma_map_page(), while upon completion we dma-unmap the skb fragments using dma_unmap_single() rather than dma_unmap_page(). To fix this, we now save the dma map type on xmit path and use this info to call the right dma unmap method upon TX completion. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50a9eea694ab8e0779069e0a4e0b12e145521468 Author: Doron Tsur <doront@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:27 2015 +0200 net/mlx5e: Max mtu comparison fix On change mtu the driver compares between hardware queried mtu and software requested mtu. We need to compare between software representation of the queried mtu and the requested mtu. Fixes: facc9699f0fe ('net/mlx5e: Fix HW MTU settings') Signed-off-by: Doron Tsur <doront@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66189961e986e53ae39822898fc2ce88f44c61bb Author: Tariq Toukan <tariqt@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:26 2015 +0200 net/mlx5e: Added self loopback prevention Prevent outgoing multicast frames from looping back to the RX queue. By introducing new HW capability self_lb_en_modifiable, which indicates the support to modify self_lb_en bit in modify_tir command. When this capability is set we can prevent TIRs from sending back loopback multicast traffic to their own RQs, by "refreshing TIRs" with modify_tir command, on every time new channels (SQs/RQs) are created at device open. This is needed since TIRs are static and only allocated once on driver load, and the loopback decision is under their responsibility. Fixes issues of the kind: "IPv6: eth2: IPv6 duplicate address fe80::e61d:2dff:fe5c:f2e9 detected!" The issue is seen since the IPv6 solicitations multicast messages are loopedback and the network stack thinks they are coming from another host. Fixes: 5c50368f3831 ("net/mlx5e: Light-weight netdev open/stop") Signed-off-by: Tariq Toukan <tariqt@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba6c4c094470dc83a7275000bac2fbd46bd5ab69 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Nov 12 19:35:25 2015 +0200 net/mlx5e: Fix inline header size calculation mlx5e_get_inline_hdr_size didn't take into account the vlan insertion into the inline WQE segment. This could lead to max inline violation in cases where skb_headlen(skb) + VLAN_HLEN >= sq->max_inline. Fixes: 3ea4891db8d0 ("net/mlx5e: Fix LSO vlan insertion") Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 340c78e5906264c42f9415005c7ba0a4efcfe735 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 12 09:14:12 2015 -0800 ipvs: use skb_to_full_sk() helper SYNACK packets might be attached to request sockets. Use skb_to_full_sk() helper to avoid illegal accesses to inet_sk(skb->sk) Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Acked-by: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00fd38d938db3f1ab1c486549afc450cb7e751b1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 12 08:43:18 2015 -0800 tcp: ensure proper barriers in lockless contexts Some functions access TCP sockets without holding a lock and might output non consistent data, depending on compiler and or architecture. tcp_diag_get_info(), tcp_get_info(), tcp_poll(), get_tcp4_sock() ... Introduce sk_state_load() and sk_state_store() to fix the issues, and more clearly document where this lack of locking is happening. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5883d9c6d7e680bcdc7a8a9ed2509cd10dd98206 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Thu Nov 12 14:55:18 2015 +0300 net: thunder: Fix crash upon shutdown after failed probe If device probe fails, driver remains bound to the PCI device. However, driver data has been reset to NULL. This causes crash upon dereferencing it in nicvf_remove() Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed5a377d87dc4c87fb3e1f7f698cba38cd893103 Author: lucien <lucien.xin@xxxxxxxxx> Date: Thu Nov 12 13:07:07 2015 +0800 sctp: translate host order to network order when setting a hmacid now sctp auth cannot work well when setting a hmacid manually, which is caused by that we didn't use the network order for hmacid, so fix it by adding the transformation in sctp_auth_ep_set_hmacs. even we set hmacid with the network order in userspace, it still can't work, because of this condition in sctp_auth_ep_set_hmacs(): if (id > SCTP_AUTH_HMAC_ID_MAX) return -EOPNOTSUPP; so this wasn't working before and thus it won't break compatibility. Fixes: 65b07e5d0d09 ("[SCTP]: API updates to suport SCTP-AUTH extensions.") Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Acked-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52b4620294b772cdc56a9495bc0df1f81b389315 Merge: d7475de 5cfb4c8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 15 18:00:48 2015 -0500 Merge branch 'packet-fixes' Daniel Borkmann says: ==================== packet fixes Fixes a couple of issues in packet sockets, i.e. on TX ring side. See individual patches for details. v2 -> v3: - First two patches unchanged, kept Jason's Ack - Reworked 3rd patch and split into 3: - check for dev type as discussed with Willem - infer skb->protocol - fix max len for dgram v1 -> v2: - Added patch 2 as suggested by Dave - Rest is unchanged from previous submission ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5cfb4c8d05b4409c4044cb9c05b19705c1d9818b Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 11 23:25:44 2015 +0100 packet: fix tpacket_snd max frame len Since it's introduction in commit 69e3c75f4d54 ("net: TX_RING and packet mmap"), TX_RING could be used from SOCK_DGRAM and SOCK_RAW side. When used with SOCK_DGRAM only, the size_max > dev->mtu + reserve check should have reserve as 0, but currently, this is unconditionally set (in it's original form as dev->hard_header_len). I think this is not correct since tpacket_fill_skb() would then take dev->mtu and dev->hard_header_len into account for SOCK_DGRAM, the extra VLAN_HLEN could be possible in both cases. Presumably, the reserve code was copied from packet_snd(), but later on missed the check. Make it similar as we have it in packet_snd(). Fixes: 69e3c75f4d54 ("net: TX_RING and packet mmap") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c72219b75fde768efccf7666342282fab7f9e4e7 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 11 23:25:43 2015 +0100 packet: infer protocol from ethernet header if unset In case no struct sockaddr_ll has been passed to packet socket's sendmsg() when doing a TX_RING flush run, then skb->protocol is set to po->num instead, which is the protocol passed via socket(2)/bind(2). Applications only xmitting can go the path of allocating the socket as socket(PF_PACKET, <mode>, 0) and do a bind(2) on the TX_RING with sll_protocol of 0. That way, register_prot_hook() is neither called on creation nor on bind time, which saves cycles when there's no interest in capturing anyway. That leaves us however with po->num 0 instead and therefore the TX_RING flush run sets skb->protocol to 0 as well. Eric reported that this leads to problems when using tools like trafgen over bonding device. I.e. the bonding's hash function could invoke the kernel's flow dissector, which depends on skb->protocol being properly set. In the current situation, all the traffic is then directed to a single slave. Fix it up by inferring skb->protocol from the Ethernet header when not set and we have ARPHRD_ETHER device type. This is only done in case of SOCK_RAW and where we have a dev->hard_header_len length. In case of ARPHRD_ETHER devices, this is guaranteed to cover ETH_HLEN, and therefore being accessed on the skb after the skb_store_bits(). Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c70c132488794e2489ab045559b0ce0afcf17de Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 11 23:25:42 2015 +0100 packet: only allow extra vlan len on ethernet devices Packet sockets can be used by various net devices and are not really restricted to ARPHRD_ETHER device types. However, when currently checking for the extra 4 bytes that can be transmitted in VLAN case, our assumption is that we generally probe on ARPHRD_ETHER devices. Therefore, before looking into Ethernet header, check the device type first. This also fixes the issue where non-ARPHRD_ETHER devices could have no dev->hard_header_len in TX_RING SOCK_RAW case, and thus the check would test unfilled linear part of the skb (instead of non-linear). Fixes: 57f89bfa2140 ("network: Allow af_packet to transmit +4 bytes for VLAN packets.") Fixes: 52f1454f629f ("packet: allow to transmit +4 byte in TX_RING slot for VLAN case") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fd6c80d9dd938ca338c70698533a7e304752846 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 11 23:25:41 2015 +0100 packet: always probe for transport header We concluded that the skb_probe_transport_header() should better be called unconditionally. Avoiding the call into the flow dissector has also not really much to do with the direct xmit mode. While it seems that only virtio_net code makes use of GSO from non RX/TX ring packet socket paths, we should probe for a transport header nevertheless before they hit devices. Reference: http://thread.gmane.org/gmane.linux.network/386173/ Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efdfa2f7848f64517008136fb41f53c4a1faf93a Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 11 23:25:40 2015 +0100 packet: do skb_probe_transport_header when we actually have data In tpacket_fill_skb() commit c1aad275b029 ("packet: set transport header before doing xmit") and later on 40893fd0fd4e ("net: switch to use skb_probe_transport_header()") was probing for a transport header on the skb from a ring buffer slot, but at a time, where the skb has _not even_ been filled with data yet. So that call into the flow dissector is pretty useless. Lets do it after we've set up the skb frags. Fixes: c1aad275b029 ("packet: set transport header before doing xmit") Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7475de58575c904818efa369c82e88c6648ce2e Author: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Date: Wed Nov 11 14:24:27 2015 -0800 tools/net: Use include/uapi with __EXPORTED_HEADERS__ Use the local uapi headers to keep in sync with "recently" added #define's (e.g. SKF_AD_VLAN_TPID). Refactored CFLAGS, and bpf_asm doesn't need -I. Fixes: 3f356385e8a4 ("filter: bpf_asm: add minimal bpf asm tool") Signed-off-by: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e63e904c629ac7c092b17328aeed88ca6e437ed3 Merge: 9001d94 02bcf4e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 15 17:15:50 2015 -0500 Merge branch 'ipv6-route-fixes' Martin KaFai Lau says: ==================== ipv6: Fixes for pmtu update and DST_NOCACHE route This patchset fixes: 1. An oops during IPv6 pmtu update on a IPv4 GRE running in an IPSec setup 2. Misc fixes on DST_NOCACHE route ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02bcf4e082e4dc634409a6a6cb7def8806d6e5e6 Author: Martin KaFai Lau <kafai@xxxxxx> Date: Wed Nov 11 11:51:08 2015 -0800 ipv6: Check rt->dst.from for the DST_NOCACHE route All DST_NOCACHE rt6_info used to have rt->dst.from set to its parent. After commit 8e3d5be73681 ("ipv6: Avoid double dst_free"), DST_NOCACHE is also set to rt6_info which does not have a parent (i.e. rt->dst.from is NULL). This patch catches the rt->dst.from == NULL case. Fixes: 8e3d5be73681 ("ipv6: Avoid double dst_free") Signed-off-by: Martin KaFai Lau <kafai@xxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5973fb1e245086071bf71994c8b54d99526ded03 Author: Martin KaFai Lau <kafai@xxxxxx> Date: Wed Nov 11 11:51:07 2015 -0800 ipv6: Check expire on DST_NOCACHE route Since the expires of the DST_NOCACHE rt can be set during the ip6_rt_update_pmtu(), we also need to consider the expires value when doing ip6_dst_check(). This patches creates __rt6_check_expired() to only check the expire value (if one exists) of the current rt. In rt6_dst_from_check(), it adds __rt6_check_expired() as one of the condition check. Signed-off-by: Martin KaFai Lau <kafai@xxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d3f6d297bfb7af24d0508460fdb3d1ec4903fa3 Author: Martin KaFai Lau <kafai@xxxxxx> Date: Wed Nov 11 11:51:06 2015 -0800 ipv6: Avoid creating RTF_CACHE from a rt that is not managed by fib6 tree The original bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1272571 The setup has a IPv4 GRE tunnel running in a IPSec. The bug happens when ndisc starts sending router solicitation at the gre interface. The simplified oops stack is like: __lock_acquire+0x1b2/0x1c30 lock_acquire+0xb9/0x140 _raw_write_lock_bh+0x3f/0x50 __ip6_ins_rt+0x2e/0x60 ip6_ins_rt+0x49/0x50 ~~~~~~~~ __ip6_rt_update_pmtu.part.54+0x145/0x250 ip6_rt_update_pmtu+0x2e/0x40 ~~~~~~~~ ip_tunnel_xmit+0x1f1/0xf40 __gre_xmit+0x7a/0x90 ipgre_xmit+0x15a/0x220 dev_hard_start_xmit+0x2bd/0x480 __dev_queue_xmit+0x696/0x730 dev_queue_xmit+0x10/0x20 neigh_direct_output+0x11/0x20 ip6_finish_output2+0x21f/0x770 ip6_finish_output+0xa7/0x1d0 ip6_output+0x56/0x190 ~~~~~~~~ ndisc_send_skb+0x1d9/0x400 ndisc_send_rs+0x88/0xc0 ~~~~~~~~ The rt passed to ip6_rt_update_pmtu() is created by icmp6_dst_alloc() and it is not managed by the fib6 tree, so its rt6i_table == NULL. When __ip6_rt_update_pmtu() creates a RTF_CACHE clone, the newly created clone also has rt6i_table == NULL and it causes the ip6_ins_rt() oops. During pmtu update, we only want to create a RTF_CACHE clone from a rt which is currently managed (or owned) by the fib6 tree. It means either rt->rt6i_node != NULL or rt is a RTF_PCPU clone. It is worth to note that rt6i_table may not be NULL even it is not (yet) managed by the fib6 tree (e.g. addrconf_dst_alloc()). Hence, rt6i_node is a better check instead of rt6i_table. Fixes: 45e4fd26683c ("ipv6: Only create RTF_CACHE routes after encountering pmtu") Signed-off-by: Martin KaFai Lau <kafai@xxxxxx> Reported-by: Chris Siebenmann <cks-rhbugzilla@xxxxxxxxxxxxxx> Cc: Chris Siebenmann <cks-rhbugzilla@xxxxxxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9001d94dfd558f175bede9f847276f691cd9c164 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Wed Nov 11 15:22:40 2015 +0000 fjes: fix inconsistent indenting minor change, indenting is one tab out. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73ed5d25dce0354ea381d6dc93005c3085fae03d Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 16:23:15 2015 +0100 af-unix: fix use-after-free with concurrent readers while splicing During splicing an af-unix socket to a pipe we have to drop all af-unix socket locks. While doing so we allow another reader to enter unix_stream_read_generic which can read, copy and finally free another skb. If exactly this skb is just in process of being spliced we get a use-after-free report by kasan. First, we must make sure to not have a free while the skb is used during the splice operation. We simply increment its use counter before unlocking the reader lock. Stream sockets have the nice characteristic that we don't care about zero length writes and they never reach the peer socket's queue. That said, we can take the UNIXCB.consumed field as the indicator if the skb was already freed from the socket's receive queue. If the skb was fully consumed after we locked the reader side again we know it has been dropped by a second reader. We indicate a short read to user space and abort the current splice operation. This bug has been found with syzkaller (http://github.com/google/syzkaller) by Dmitry Vyukov. Fixes: 2b514574f7e8 ("net: af_unix: implement splice for stream af_unix sockets") Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ca9b67606f0ce984b5811b0830cfd7d143f6077 Merge: 051b29f 41ac18e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:36:24 2015 -0800 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf updates from Thomas Gleixner: "Mostly updates to the perf tool plus two fixes to the kernel core code: - Handle tracepoint filters correctly for inherited events (Peter Zijlstra) - Prevent a deadlock in perf_lock_task_context (Paul McKenney) - Add missing newlines to some pr_err() calls (Arnaldo Carvalho de Melo) - Print full source file paths when using 'perf annotate --print-line --full-paths' (Michael Petlan) - Fix 'perf probe -d' when just one out of uprobes and kprobes is enabled (Wang Nan) - Add compiler.h to list.h to fix 'make perf-tar-src-pkg' generated tarballs, i.e. out of tree building (Arnaldo Carvalho de Melo) - Add the llvm-src-base.c and llvm-src-kbuild.c files, generated by the 'perf test' LLVM entries, when running it in-tree, to .gitignore (Yunlong Song) - libbpf error reporting improvements, using a strerror interface to more precisely tell the user about problems with the provided scriptlet, be it in C or as a ready made object file (Wang Nan) - Do not be case sensitive when searching for matching 'perf test' entries (Arnaldo Carvalho de Melo) - Inform the user about objdump failures in 'perf annotate' (Andi Kleen) - Improve the LLVM 'perf test' entry, introduce a new ones for BPF and kbuild tests to check the environment used by clang to compile .c scriptlets (Wang Nan)" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits) perf/x86/intel/rapl: Remove the unused RAPL_EVENT_DESC() macro tools include: Add compiler.h to list.h perf probe: Verify parameters in two functions perf session: Add missing newlines to some pr_err() calls perf annotate: Support full source file paths for srcline fix perf test: Add llvm-src-base.c and llvm-src-kbuild.c to .gitignore perf: Fix inherited events vs. tracepoint filters perf: Disable IRQs across RCU RS CS that acquires scheduler lock perf test: Do not be case sensitive when searching for matching tests perf test: Add 'perf test BPF' perf test: Enhance the LLVM tests: add kbuild test perf test: Enhance the LLVM test: update basic BPF test program perf bpf: Improve BPF related error messages perf tools: Make fetch_kernel_version() publicly available bpf tools: Add new API bpf_object__get_kversion() bpf tools: Improve libbpf error reporting perf probe: Cleanup find_perf_probe_point_from_map to reduce redundancy perf annotate: Inform the user about objdump failures in --stdio perf stat: Make stat options global perf sched latency: Fix thread pid reuse issue ... commit 051b29f2798b5f1a95e745613117eeb367ab4bce Merge: 8f98e29 25b3e5a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:35:33 2015 -0800 Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fix from Thomas Gleixner: "A single fix to prevent math underflow in the numa balancing code" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/numa: Fix math underflow in task_tick_numa() commit 8f98e292eb612956e1add401f28dc76ffea20323 Merge: bba072d b32e1f5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:34:32 2015 -0800 Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull liblockdep fixes from Thomas Gleixner: "Three small patches to synchronize liblockdep with the latest core changes" * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: tools/liblockdep: explicitly declare lockdep API we call from liblockdep tools/liblockdep: add userspace versions of WRITE_ONCE and RCU_INIT_POINTER tools/liblockdep: remove task argument from debug_check_no_locks_held commit bba072dfd7bf87f0712e569a78ae9c0e91e0a8df Merge: 511601b 04633df Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:32:59 2015 -0800 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Thomas Gleixner: "A couple of fixes and updates related to x86: - Fix the W+X check regression on XEN - The real fix for the low identity map trainwreck - Probe legacy PIC early instead of unconditionally allocating legacy irqs - Add cpu verification to long mode entry - Adjust the cache topology to AMD Fam17H systems - Let Merrifield use the TSC across S3" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu: Call verify_cpu() after having entered long mode too x86/setup: Fix low identity map for >= 2GB kernel range x86/mm: Skip the hypervisor range when walking PGD x86/AMD: Fix last level cache topology for AMD Fam17h systems x86/irq: Probe for PIC presence before allocating descs for legacy IRQs x86/cpu/intel: Enable X86_FEATURE_NONSTOP_TSC_S3 for Merrifield commit 511601bdbcacd3ab615564941409bf012435b23d Merge: b84da9f 4717f13 22b886d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:30:48 2015 -0800 Merge branches 'irq-urgent-for-linus' and 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq and timer fixes from Thomas Gleixner: - An irq regression fix to restore the wakeup behaviour of chained interrupts. - A timer fix for a long standing race versus timers scheduled on a target cpu which got exposed by recent changes in the workqueue implementation. * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq/PM: Restore system wake up from chained interrupts * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: timers: Use proper base migration in add_timer_on() commit b84da9fa47cf6e8dfd71d673a2f744ec1cac452c Merge: 12b76f3 da34232 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 15 09:10:53 2015 -0800 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS updates from Ralf Baechle: "These are the highlists of the main MIPS pull request for 4.4: - Add latencytop support - Support appended DTBs - VDSO support and initially use it for gettimeofday. - Drop the .MIPS.abiflags and ELF NOTE sections from vmlinux - Support for the 5KE, an internal test core. - Switch all MIPS platfroms to libata drivers. - Improved support, cleanups for ralink and Lantiq platforms. - Support for the new xilfpga platform. - A number of DTB improvments for BMIPS. - Improved support for CM and CPS. - Minor JZ4740 and BCM47xx enhancements" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (120 commits) MIPS: idle: add case for CPU_5KE MIPS: Octeon: Support APPENDED_DTB MIPS: vmlinux: create a section for appended DTB MIPS: Clean up compat_siginfo_t MIPS: Fix PAGE_MASK definition MIPS: BMIPS: Enable GZIP ramdisk and timed printks MIPS: Add xilfpga defconfig MIPS: xilfpga: Add mipsfpga platform code MIPS: xilfpga: Add xilfpga device tree files. dt-bindings: MIPS: Document xilfpga bindings and boot style MIPS: Make MIPS_CMDLINE_DTB default MIPS: Make the kernel arguments from dtb available MIPS: Use USE_OF as the guard for appended dtb MIPS: BCM63XX: Use pr_* instead of printk MIPS: Loongson: Cleanup CONFIG_LOONGSON_SUSPEND. MIPS: lantiq: Disable xbar fpi burst mode MIPS: lantiq: Force the crossbar to big endian MIPS: lantiq: Initialize the USB core on boot MIPS: lantiq: Return correct value for fpi clock on ar9 MIPS: ralink: Add missing clock on rt305x ... commit a57f8dac46fbac5ab0e31aef1a98b3f6eb30c079 Author: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Date: Wed Nov 11 21:24:38 2015 +0100 iio: adc: xilinx: Fix VREFN scale The scaling factor for VREFN is 3.0/4096 (not 1.0/4096), just as for VREFP. This is not immediately obvious from the specification (Xilinx UG480), but has been confirmed by Xilinx support. Suggested-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Thomas Betker <thomas.betker@xxxxxxxxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0d2f6fd3ffd5e7a447233a57112246bc00064752 Author: Chris Lesiak <chris.lesiak@xxxxxxxxx> Date: Mon Nov 2 15:45:03 2015 -0600 iio: si7020: Swap data byte order The Silicon Labs Si7013, Si7020, and Si7021 family of I2C humidity and temperature sensors deliver 16 bit data high byte first. See the datasheet available at: https://www.silabs.com/Support%20Documents%2fTechnicalDocs%2fSi7020-A20.pdf But as documented in Documentation/i2c/smbus-protocol, i2c_smbus_read_word_data() expects the low byte first. Change the driver to use i2c_smbus_read_word_swapped to get correct byte order. Signed-off-by: Chris Lesiak <chris.lesiak@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 12b76f3bf336388916ddf8047156f9e9993ff4e9 Merge: b3a0d9a 2db1a57 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 14 09:43:00 2015 -0800 Merge tag 'sound-fix-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are a collection of small fixes tha have been gathered for 4.4-rc1. The only significant changes are those in PCI drivers Kconfig, to use "depends on" instead of "select" for CONFIG_ZONE_DMA. A reverse select is often more user-friendly, but in this case, it makes hard to manage with the conflict with ZONE_DEVICE, so changed in such a way for now. Others are all small fixes and quirks: an error check in soundcore reigster_chrdev(), HD-audio HDMI/DP phantom jack fix, Intel Broxton DP quirk, USB-audio DSD device quirk, some constifications, etc" * tag 'sound-fix-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: pci: depend on ZONE_DMA ALSA: hda - Simplify phantom jack handling for HDMI/DP ALSA: hda/hdmi - apply Skylake fix-ups to Broxton display codec ALSA: ctxfi: constify rsc ops structures ALSA: usb: Add native DSD support for Aune X1S ALSA: oxfw: add an comment to Kconfig for TASCAM FireOne sound: fix check for error condition of register_chrdev() commit b3a0d9a232c72c38c9db6fe1456015a82119afc3 Merge: 63f4f7e 30b9dbe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 14 09:09:37 2015 -0800 Merge tag 'arc-4.4-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC fixes from Vineet Gupta: "Found a couple of brown paper bag bugs with the prev pull request (including a SMP build breakage report from Guenter). Since these are urgent I also decided to send over a bunch of other pending fixes which could have otherwise waited an rc or two. Summary: - A bunch of brown paper bag bugs (MAINTAINERS list email, SMP build failure) - cpu_relax() now compiler barrier for UP as well - handling of userspace Bus Errors for ARCompact builds" * tag 'arc-4.4-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARC: Fix silly typo in MAINTAINERS file ARC: cpu_relax() to be compiler barrier even for UP ARC: use ASL assembler mnemonic ARC: [arcompact] Handle bus error from userspace as Interrupt not exception ARC: remove extraneous header include ARCv2: lib: memcpy: use local symbols commit 30b9dbee895ff0d5cbf155bd1ef3f0f5992bca6f Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Nov 14 12:58:53 2015 +0530 ARC: Fix silly typo in MAINTAINERS file commit 1cfc05cbe2c9757c6cc36804df96e3ed28e940a1 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Nov 9 17:48:34 2015 +0530 ARC: cpu_relax() to be compiler barrier even for UP cpu_relax() on ARC has been barrier only for SMP (and no-op for UP). Per recent discussions, it is safer to make it a compiler barrier unconditionally. Link: http://lkml.kernel.org/r/53A7D3AA.9020100@xxxxxxxxxxxx Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit a6416f57ce57fb390b6ee30b12c01c29032a26af Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Nov 5 09:13:31 2015 +0530 ARC: use ASL assembler mnemonic ARCompact and ARCv2 only have ASL, while binutils used to support LSL as a alias mnemonic. Newer binutils (upstream) don't want to do that so replace it. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 541366da6a93f52f468b408ba24ab6bb5e4fd3d8 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Oct 31 01:22:51 2015 +0530 ARC: [arcompact] Handle bus error from userspace as Interrupt not exception Bus errors from userspace on ARCompact based cores are handled by core as a high priority L2 interrupt but current code treated it as interrupt Handling an interrupt like exception is certainly not going to go unnoticed. (and it worked so far as we never saw a Bus error from userspace until IPPK guys tested a DDR controller with ECC error detection etc hence needed to explicitly trigger/handle such errors) - So move mem_service exception handler from common code into ARCv2 code. - In ARCompact code, define mem_service as L2 interrupt handler which just drops down to pure kernel mode and goes of to enqueue SIGBUS Reported-by: Nelson Pereira <npereira@xxxxxxxxxxxx> Tested-by: Ana Martins <amartins@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 76a8c40c65a2fc9e526fcba97c0cd1a6ecbd3438 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Oct 31 00:47:39 2015 +0530 ARC: remove extraneous header include Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 63f4f7e8df6c504f39c6493799b54775916030d6 Merge: 4bfc89d ebaf31c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 21:53:18 2015 -0800 Merge tag 'chrome-platform-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform Pull chrome platform updates from Olof Johansson: "Here's the branch of chrome platform changes for v4.4. Some have been queued up for the full 4.3 release cycle since I forgot to send them in for that round (rebased early on to deal with fixes conflicts). Most of these enable EC communication stuff -- Pixel 2015 support, enabling building for ARM64 platforms, and a few fixes for memory leaks. There's also a patch in here to allow reading/writing the verified boot context, which depends on a sysfs patch acked by Greg" * tag 'chrome-platform-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform: platform/chrome: Fix i2c-designware adapter name platform/chrome: Support reading/writing the vboot context sysfs: Support is_visible() on binary attributes platform/chrome: cros_ec: Fix possible leak in led_rgb_store() platform/chrome: cros_ec: Fix leak in sequence_store() platform/chrome: Enable Chrome platforms on 64-bit ARM platform/chrome: cros_ec_dev - Add a platform device ID table platform/chrome: cros_ec_lpc - Add support for Google Pixel 2 platform/chrome: cros_ec_lpc - Use existing function to check EC result platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO Revert "platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM" commit 4bfc89d26a0d177a79574fc1b54fc728e3bb8b4e Merge: a30b7ca b829834 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 21:47:06 2015 -0800 Merge tag 'platform-drivers-x86-v4.4-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull another x86 platform driver update from Darren Hart: "Support for the unfortunately rather unique ESC key on the Ideapad Yoga 3 and two DMI matches for rfkill support. Solitary fix for potential missed errors for asus-wmi. Downgrade a thinkpad_acpi message to info. asus-wmi: - fix error handling in store_sys_wmi() ideapad-laptop: - Add Lenovo Yoga 900 to no_hw_rfkill dmi list - include Yoga 3 1170 in add rfkill whitelist - add support for Yoga 3 ESC key thinkpad_acpi: - Don't yell on unsupported brightness interfaces" * tag 'platform-drivers-x86-v4.4-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: asus-wmi: fix error handling in store_sys_wmi() ideapad-laptop: Add Lenovo Yoga 900 to no_hw_rfkill dmi list ideapad-laptop: include Yoga 3 1170 in add rfkill whitelist ideapad-laptop: add support for Yoga 3 ESC key thinkpad_acpi: Don't yell on unsupported brightness interfaces commit a30b7ca2894994e4e2f2e06811ee67fa637bca2e Merge: d83763f bbdb5c2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 21:41:14 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull more input updates from Dmitry Torokhov: "An update to the tsc2005 driver that allows it to also support tsc2004 (basically the same controller, but uses i2c instead of spi bus), and a couple of bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: parkbd - drop bogus __init from parkbd_allocate_serio() Input: elantech - add Fujitsu Lifebook U745 to force crc_enabled Input: tsc2004 - add support for tsc2004 Input: tsc200x-core - rename functions and variables Input: tsc2005 - separate SPI and core functions commit d83763f4a6adb2f417c3288ee903982985ae949c Merge: 9aa3d65 0a5149b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 20:35:54 2015 -0800 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull final round of SCSI updates from James Bottomley: "Sorry for the delay in this patch which was mostly caused by getting the merger of the mpt2/mpt3sas driver, which was seen as an essential item of maintenance work to do before the drivers diverge too much. Unfortunately, this caused a compile failure (detected by linux-next), which then had to be fixed up and incubated. In addition to the mpt2/3sas rework, there are updates from pm80xx, lpfc, bnx2fc, hpsa, ipr, aacraid, megaraid_sas, storvsc and ufs plus an assortment of changes including some year 2038 issues, a fix for a remove before detach issue in some drivers and a couple of other minor issues" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (141 commits) mpt3sas: fix inline markers on non inline function declarations sd: Clear PS bit before Mode Select. ibmvscsi: set max_lun to 32 ibmvscsi: display default value for max_id, max_lun and max_channel. mptfusion: don't allow negative bytes in kbuf_alloc_2_sgl() scsi: pmcraid: replace struct timeval with ktime_get_real_seconds() mvumi: 64bit value for seconds_since1970 be2iscsi: Fix bogus WARN_ON length check scsi_scan: don't dump trace when scsi_prep_async_scan() is called twice mpt3sas: Bump mpt3sas driver version to 09.102.00.00 mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs mpt2sas, mpt3sas: Update the driver versions mpt3sas: setpci reset kernel oops fix mpt3sas: Added OEM Gen2 PnP ID branding names mpt3sas: Refcount fw_events and fix unsafe list usage mpt3sas: Refcount sas_device objects and fix unsafe list usage mpt3sas: sysfs attribute to report Backup Rail Monitor Status mpt3sas: Ported WarpDrive product SSS6200 support mpt3sas: fix for driver fails EEH, recovery from injected pci bus error mpt3sas: Manage MSI-X vectors according to HBA device type ... commit 9aa3d651a9199103eb6451aeb0ac1b66a6d770a6 Merge: 5d2eb54 5179822 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 20:04:17 2015 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending Pull SCSI target updates from Nicholas Bellinger: "This series contains HCH's changes to absorb configfs attribute ->show() + ->store() function pointer usage from it's original tree-wide consumers, into common configfs code. It includes usb-gadget, target w/ drivers, netconsole and ocfs2 changes to realize the improved simplicity, that now renders the original include/target/configfs_macros.h CPP magic for fabric drivers and others, unnecessary and obsolete. And with common code in place, new configfs attributes can be added easier than ever before. Note, there are further improvements in-flight from other folks for v4.5 code in configfs land, plus number of target fixes for post -rc1 code" In the meantime, a new user of the now-removed old configfs API came in through the char/misc tree in commit 7bd1d4093c2f ("stm class: Introduce an abstraction for System Trace Module devices"). This merge resolution comes from Alexander Shishkin, who updated his stm class tracing abstraction to account for the removal of the old show_attribute and store_attribute methods in commit 517982229f78 ("configfs: remove old API") from this pull. As Alexander says about that patch: "There's no need to keep an extra wrapper structure per item and the awkward show_attribute/store_attribute item ops are no longer needed. This patch converts policy code to the new api, all the while making the code quite a bit smaller and easier on the eyes. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>" That patch was folded into the merge so that the tree should be fully bisectable. * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (23 commits) configfs: remove old API ocfs2/cluster: use per-attribute show and store methods ocfs2/cluster: move locking into attribute store methods netconsole: use per-attribute show and store methods target: use per-attribute show and store methods spear13xx_pcie_gadget: use per-attribute show and store methods dlm: use per-attribute show and store methods usb-gadget/f_serial: use per-attribute show and store methods usb-gadget/f_phonet: use per-attribute show and store methods usb-gadget/f_obex: use per-attribute show and store methods usb-gadget/f_uac2: use per-attribute show and store methods usb-gadget/f_uac1: use per-attribute show and store methods usb-gadget/f_mass_storage: use per-attribute show and store methods usb-gadget/f_sourcesink: use per-attribute show and store methods usb-gadget/f_printer: use per-attribute show and store methods usb-gadget/f_midi: use per-attribute show and store methods usb-gadget/f_loopback: use per-attribute show and store methods usb-gadget/ether: use per-attribute show and store methods usb-gadget/f_acm: use per-attribute show and store methods usb-gadget/f_hid: use per-attribute show and store methods ... commit 5d2eb548b309be34ecf3b91f0b7300a2b9d09b8c Merge: 2870f6c 29608d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 18:02:30 2015 -0800 Merge branch 'for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs xattr cleanups from Al Viro. * 'for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: f2fs: xattr simplifications squashfs: xattr simplifications 9p: xattr simplifications xattr handlers: Pass handler to operations instead of flags jffs2: Add missing capability check for listing trusted xattrs hfsplus: Remove unused xattr handler list operations ubifs: Remove unused security xattr handler vfs: Fix the posix_acl_xattr_list return value vfs: Check attribute names in posix acl xattr handers commit 2870f6c4d136e093e22159b8916918ff42c92218 Merge: 934f98d 152d7bd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 17:35:48 2015 -0800 Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull libnvdimm fixes from Dan Williams: - three fixes tagged for -stable including a crash fix, simple performance tweak, and an invalid i/o error. - build regression fix for the nvdimm unit tests - nvdimm documentation update * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: dax: fix __dax_pmd_fault crash libnvdimm: documentation clarifications libnvdimm, pmem: fix size trim in pmem_direct_access() libnvdimm, e820: fix numa node for e820-type-12 pmem ranges tools/testing/nvdimm, acpica: fix flag rename build breakage commit 29608d208b3619b3b508a6871622db789611d8a3 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:54 2015 +0200 f2fs: xattr simplifications Now that the xattr handler is passed to the xattr handler operations, we have access to the attribute name prefix, so simplify f2fs_xattr_generic_list. Also, f2fs_xattr_advise_list is only ever called for f2fs_xattr_advise_handler; there is no need to double check for that. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Cc: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Cc: Changman Lee <cm224.lee@xxxxxxxxxxx> Cc: Chao Yu <chao2.yu@xxxxxxxxxxx> Cc: linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0ddaf72c1da8b84bc2896e1997ef3f1a22765194 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:53 2015 +0200 squashfs: xattr simplifications Now that the xattr handler is passed to the xattr handler operations, we have access to the attribute name prefix, so simplify the squashfs xattr handlers a bit. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Cc: Phillip Lougher <phillip@xxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e409de992e3ea3674393465f07cc71c948edd87a Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:52 2015 +0200 9p: xattr simplifications Now that the xattr handler is passed to the xattr handler operations, we can use the same get and set operations for the user, trusted, and security xattr namespaces. In those namespaces, we can access the full attribute name by "reattaching" the name prefix the vfs has skipped for us. Add a xattr_full_name helper to make this obvious in the code. For the "system.posix_acl_access" and "system.posix_acl_default" attributes, handler->prefix is the full attribute name; the suffix is the empty string. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Cc: Ron Minnich <rminnich@xxxxxxxxxx> Cc: Latchesar Ionkov <lucho@xxxxxxxxxx> Cc: v9fs-developer@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d9a82a04033f87bbd06efb29f78c0170a38154a8 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:51 2015 +0200 xattr handlers: Pass handler to operations instead of flags The xattr_handler operations are currently all passed a file system specific flags value which the operations can use to disambiguate between different handlers; some file systems use that to distinguish the xattr namespace, for example. In some oprations, it would be useful to also have access to the handler prefix. To allow that, pass a pointer to the handler to operations instead of the flags value alone. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bf781714b3e1421a0ebcd0137d081e6566a89f15 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:50 2015 +0200 jffs2: Add missing capability check for listing trusted xattrs The vfs checks if a task has the appropriate access for get and set operations, but it cannot do that for the list operation; the file system must check for that itself. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e282fb7f3bce68089ae2b40c227b015c23764a38 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:49 2015 +0200 hfsplus: Remove unused xattr handler list operations The list operations can never be called; they are even documented to be unused. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 13d3408f100186d2755d9ac1ad8b5de9e1975a92 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Sun Oct 4 19:18:48 2015 +0200 ubifs: Remove unused security xattr handler Ubifs installs a security xattr handler in sb->s_xattr but doesn't use the generic_{get,set,list,remove}xattr inode operations needed for processing this list of attribute handlers; the handler is never called. Instead, ubifs uses its own xattr handlers which also process security xattrs. Remove the dead code. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> Cc: Artem Bityutskiy <dedekind1@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx Cc: Subodh Nijsure <snijsure@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit dae5f57a72a6c913926cf3569edb0556a409a3df Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 15:25:08 2015 +0100 vfs: Fix the posix_acl_xattr_list return value When a filesystem that contains POSIX ACLs is mounted without ACL support (-o noacl), the appropriate behavior is not to list any existing POSIX ACL xattrs. The return value for list xattr handlers in this case is 0, not an error code: several filesystems that use the POSIX ACL xattr handlers do not expect the list operation to fail. Symlinks cannot have ACLs, so posix_acl_xattr_list will never be called for symlinks in the first place. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c361016adeb5acb17a67000689602b7515930f13 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 15:25:07 2015 +0100 vfs: Check attribute names in posix acl xattr handers The get and set operations of the POSIX ACL xattr handlers failed to check the attribute names, so all names with "system.posix_acl_access" or "system.posix_acl_default" as a prefix were accepted. Reject invalid names from now on. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 934f98d7e8123892bd9ca8ea08728ee0784e6597 Merge: f3996e6 222e684 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 17:05:32 2015 -0800 Merge tag 'vfio-v4.4-rc1' of git://github.com/awilliam/linux-vfio Pull VFIO updates from Alex Williamson: - Use kernel interfaces for VPD emulation (Alex Williamson) - Platform fix for releasing IRQs (Eric Auger) - Type1 IOMMU always advertises PAGE_SIZE support when smaller mapping sizes are available (Eric Auger) - Platform fixes for incorrectly using copies of structures rather than pointers to structures (James Morse) - Rework platform reset modules, fix leak, and add AMD xgbe reset module (Eric Auger) - Fix vfio_device_get_from_name() return value (Joerg Roedel) - No-IOMMU interface (Alex Williamson) - Fix potential out of bounds array access in PCI config handling (Dan Carpenter) * tag 'vfio-v4.4-rc1' of git://github.com/awilliam/linux-vfio: vfio/pci: make an array larger vfio: Include No-IOMMU mode vfio: Fix bug in vfio_device_get_from_name() VFIO: platform: reset: AMD xgbe reset module vfio: platform: reset: calxedaxgmac: fix ioaddr leak vfio: platform: add dev_info on device reset vfio: platform: use list of registered reset function vfio: platform: add compat in vfio_platform_device vfio: platform: reset: calxedaxgmac: add reset function registration vfio: platform: introduce module_vfio_reset_handler macro vfio: platform: add capability to register a reset function vfio: platform: introduce vfio-platform-base module vfio/platform: store mapped memory in region, instead of an on-stack copy vfio/type1: handle case where IOMMU does not support PAGE_SIZE size VFIO: platform: clear IRQ_NOAUTOEN when de-assigning the IRQ vfio/pci: Use kernel VPD access functions vfio: Whitelist PCI bridges commit f3996e6ac6e2bd739d8a82cc9acae0653c2d5dca Merge: e75cdf9 7b52e27 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 16:40:36 2015 -0800 Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 Pull SMB3 updates from Steve French: "A collection of SMB3 patches adding some reliability features (persistent and resilient handles) and improving SMB3 copy offload. I will have some additional patches for SMB3 encryption and SMB3.1.1 signing (important security features), and also for improving SMB3 persistent handle reconnection (setting ChannelSequence number e.g.) that I am still working on but wanted to get this set in since they can stand alone" * 'for-next' of git://git.samba.org/sfrench/cifs-2.6: Allow copy offload (CopyChunk) across shares Add resilienthandles mount parm [SMB3] Send durable handle v2 contexts when use of persistent handles required [SMB3] Display persistenthandles in /proc/mounts for SMB3 shares if enabled [SMB3] Enable checking for continuous availability and persistent handle support [SMB3] Add parsing for new mount option controlling persistent handles Allow duplicate extents in SMB3 not just SMB3.1.1 commit e75cdf9898132f521df98a3ce1c280a2f85d360a Merge: ca4ba96 d5f2e33 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 16:30:29 2015 -0800 Merge branch 'for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fixes and cleanups from Chris Mason: "Some of this got cherry-picked from a github repo this week, but I verified the patches. We have three small scrub cleanups and a collection of fixes" * 'for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: btrfs: Use fs_info directly in btrfs_delete_unused_bgs btrfs: Fix lost-data-profile caused by balance bg btrfs: Fix lost-data-profile caused by auto removing bg btrfs: Remove len argument from scrub_find_csum btrfs: Reduce unnecessary arguments in scrub_recheck_block btrfs: Use scrub_checksum_data and scrub_checksum_tree_block for scrub_recheck_block_checksum btrfs: Reset sblock->xxx_error stats before calling scrub_recheck_block_checksum btrfs: scrub: setup all fields for sblock_to_check btrfs: scrub: set error stats when tree block spanning stripes Btrfs: fix race when listing an inode's xattrs Btrfs: fix race leading to BUG_ON when running delalloc for nodatacow Btrfs: fix race leading to incorrect item deletion when dropping extents Btrfs: fix sleeping inside atomic context in qgroup rescan worker Btrfs: fix race waiting for qgroup rescan worker btrfs: qgroup: exit the rescan worker during umount Btrfs: fix extent accounting for partial direct IO writes commit d29d67357db8dad08f97162bbeb51e4975ee67fd Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Thu Nov 12 19:52:30 2015 -0500 ACPI / CPPC: Use h/w reduced version of the PCCT structure CPPC is enabled only on platforms which support the h/w reduced ACPI specification, so use the h/w reduced version of the PCCT consistently when deferencing PCCT contents. Fixes: 337aadff8e45 (ACPI: Introduce CPU performance controls using CPPC) Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5369a21e3f26ef9d2bf6ea1b322d6899a4ed08e0 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu Nov 12 02:42:32 2015 -0500 x86: remove unused definition of MSR_NHM_PLATFORM_INFO MSR_NHM_PLATFORM_INFO has been replaced by... MSR_PLATFORM_INFO Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ec0adc539b8bf59b7c00db0748671f6594b77843 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu Nov 12 02:42:31 2015 -0500 tools/power turbostat: use new name for MSR_PLATFORM_INFO MSR_PLATFORM_INFO is the new name for MSR_NHM_PLATFORM_INFO no functional change Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bbdb5c22e12507e7f1637091bc24fe4d33e128e5 Merge: e60e063 5e0baca Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Nov 13 11:56:45 2015 -0800 Merge branch 'next' into for-linus Prepare second round of input updates for 4.3 merge window. commit ca4ba96e02e932a0c9997a40fd51253b5b2d0f9d Merge: 4aeabc6 583d0fe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 09:24:40 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph updates from Sage Weil: "There are several patches from Ilya fixing RBD allocation lifecycle issues, a series adding a nocephx_sign_messages option (and associated bug fixes/cleanups), several patches from Zheng improving the (directory) fsync behavior, a big improvement in IO for direct-io requests when striping is enabled from Caifeng, and several other small fixes and cleanups" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: libceph: clear msg->con in ceph_msg_release() only libceph: add nocephx_sign_messages option libceph: stop duplicating client fields in messenger libceph: drop authorizer check from cephx msg signing routines libceph: msg signing callouts don't need con argument libceph: evaluate osd_req_op_data() arguments only once ceph: make fsync() wait unsafe requests that created/modified inode ceph: add request to i_unsafe_dirops when getting unsafe reply libceph: introduce ceph_x_authorizer_cleanup() ceph: don't invalidate page cache when inode is no longer used rbd: remove duplicate calls to rbd_dev_mapping_clear() rbd: set device_type::release instead of device::release rbd: don't free rbd_dev outside of the release callback rbd: return -ENOMEM instead of pool id if rbd_dev_create() fails libceph: use local variable cursor instead of &msg->cursor libceph: remove con argument in handle_reply() ceph: combine as many iovec as possile into one OSD request ceph: fix message length computation ceph: fix a comment typo rbd: drop null test before destroy functions commit 4aeabc6b5ca3b9d025f287978096e138bdfbdd35 Merge: be4773e 91633a6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 09:19:05 2015 -0800 Merge tag '4.4-additional' of git://git.lwn.net/linux Pull more documentation updates from Jon Corbet: "A few more documentation patches that wandered in and have no reason to wait; these include some improvements to the suggestions for email clients and patch submission" * tag '4.4-additional' of git://git.lwn.net/linux: Documentation: Add minimal Mutt config for using Gmail Documentation: Add note on sending files directly with Mutt Documentation: dontdiff: remove media from dontdiff Documentation/SubmittingPatches: discuss In-Reply-To Remove email address from Documentation/filesystems/overlayfs.txt can-doc: Add missing semicolon to example commit be4773e6a11a0cc1e63c9c32f000b870e51b8c01 Merge: f6d07df f20780f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 13 09:12:38 2015 -0800 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull drm sti driver updates from Dave Airlie: "The sti driver had a requirement on some patches in Greg's tree, they are in, so I see no problems just merging this one now" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: drm/sti: load HQVDP firmware the first time HQVDP's plane is used drm/sti: fix typo issue in sti_mode_config_init drm/sti: set mixer background color through module param drm/sti: Remove local fbdev emulation Kconfig option drm/sti: remove redundant sign extensions drm/sti: hdmi use of_get_i2c_adapter_by_node interface drm/sti: hdmi fix i2c adapter device refcounting drm/sti: Do not export symbols drm/sti: Build monolithic driver drm/sti: Use drm_crtc_vblank_*() API drm/sti: Store correct CRTC index in events drm/sti: Select FW_LOADER drm/sti: Constify function pointer structs commit 092b1f0b5f9f797812da0de927c3aa26acbe8762 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 13 12:29:11 2015 +0000 perf probe: Clear probe_trace_event when add_probe_trace_event() fails When probing with a glob, errors in add_probe_trace_event() won't be passed to debuginfo__find_trace_events() because it would be modified by probe_point_search_cb(). It causes a segfault if perf fails to find an argument for a probe point matched by the glob. For example: # ./perf probe -v -n 'SyS_dup? oldfd' probe-definition(0): SyS_dup? oldfd symbol:SyS_dup? file:(null) line:0 offset:0 return:0 lazy:(null) parsing arg: oldfd into oldfd 1 arguments Looking at the vmlinux_path (7 entries long) Using /lib/modules/4.3.0-rc4+/build/vmlinux for symbols Open Debuginfo file: /lib/modules/4.3.0-rc4+/build/vmlinux Try to find probe point from debuginfo. Matched function: SyS_dup3 found inline addr: 0xffffffff812095c0 Probe point found: SyS_dup3+0 Searching 'oldfd' variable in context. Converting variable oldfd into trace event. oldfd type is long int. found inline addr: 0xffffffff812096d4 Probe point found: SyS_dup2+36 Searching 'oldfd' variable in context. Failed to find 'oldfd' in this function. Matched function: SyS_dup3 Probe point found: SyS_dup3+0 Searching 'oldfd' variable in context. Converting variable oldfd into trace event. oldfd type is long int. Matched function: SyS_dup2 Probe point found: SyS_dup2+0 Searching 'oldfd' variable in context. Converting variable oldfd into trace event. oldfd type is long int. Found 4 probe_trace_events. Opening /sys/kernel/debug/tracing//kprobe_events write=1 Writing event: p:probe/SyS_dup3 _text+2135488 oldfd=%di:s64 Segmentation fault (core dumped) # This patch ensures that add_probe_trace_event() doesn't touches tf->ntevs and tf->tevs if those functions fail. After the patch: # perf probe 'SyS_dup? oldfd' Failed to find 'oldfd' in this function. Added new events: probe:SyS_dup3 (on SyS_dup? with oldfd) probe:SyS_dup3_1 (on SyS_dup? with oldfd) probe:SyS_dup2 (on SyS_dup? with oldfd) You can now use it in all perf tools, such as: perf record -e probe:SyS_dup2 -aR sleep 1 Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1447417761-156094-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0196e787ceb58cdfea822482ec70019bc16cbd51 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Nov 13 12:29:10 2015 +0000 perf probe: Fix memory leaking on failure by clearing all probe_trace_events Fix memory leaking on the debuginfo__find_trace_events() failure path which frees an array of probe_trace_events but doesn't clears all the allocated sub-structures and strings. So, before doing zfree(tevs), clear all the array elements which may have allocated resources. Reported-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1447417761-156094-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d8145b3e30a24280c396d88c8703c50a1ea0aa3a Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Nov 13 11:48:32 2015 +0200 perf inject: Also re-pipe lost_samples event perf inject must re-pipe all events otherwise they get dropped from the output file. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1447408112-1920-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1216b65c502e0f130cc9984dfd5f9e1968c1eb46 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Nov 13 11:48:31 2015 +0200 perf buildid-list: Requires ordered events 'perf buildid-list' processes events to determine hits (i.e. with-hits option). That may not work if events are not sorted in order. i.e. MMAP events must be processed before the samples that depend on them so that sample processing can 'hit' the DSO to which the MMAP refers. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1447408112-1920-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e266a753bf51b2c3b46d0d230349662c35ac5629 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Nov 13 11:48:30 2015 +0200 perf symbols: Fix dso lookup by long name and missing buildids Commit 4598a0a6d22f ("perf symbols: Improve DSO long names lookup speed with rbtree") Added a tree to lookup dsos by long name. That tree gets corrupted whenever a dso long name is changed because the tree is not updated. One effect of that is buildid-list does not work with the 'with-hits' option because dso lookup fails and results in two structs for the same dso. The first has the buildid but no hits, the second has hits but no buildid. e.g. Before: $ tools/perf/perf record ls arch certs CREDITS Documentation firmware include ipc Kconfig lib Makefile net REPORTING-BUGS scripts sound usr block COPYING crypto drivers fs init Kbuild kernel MAINTAINERS mm README samples security tools virt [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.012 MB perf.data (11 samples) ] $ tools/perf/perf buildid-list 574da826c66538a8d9060d393a8866289bd06005 [kernel.kallsyms] 30c94dc66a1fe95180c3d68d2b89e576d5ae213c /lib/x86_64-linux-gnu/libc-2.19.so $ tools/perf/perf buildid-list -H 574da826c66538a8d9060d393a8866289bd06005 [kernel.kallsyms] 0000000000000000000000000000000000000000 /lib/x86_64-linux-gnu/libc-2.19.so After: $ tools/perf/perf buildid-list -H 574da826c66538a8d9060d393a8866289bd06005 [kernel.kallsyms] 30c94dc66a1fe95180c3d68d2b89e576d5ae213c /lib/x86_64-linux-gnu/libc-2.19.so The fix is to record the root of the tree on the dso so that dso__set_long_name() can update the tree when the long name changes. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Fixes: 4598a0a6d22f ("perf symbols: Improve DSO long names lookup speed with rbtree") Link: http://lkml.kernel.org/r/1447408112-1920-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ff38e82931aeaa339d6bf4a9980e011cbfd14927 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Thu Nov 12 17:21:14 2015 -0800 HID: wacom: Add outbounding area for DTU1141 DTU1141 has an extra 1 mm tablet active outbounding area on each side of the display, same as those recently released DTUs. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 176155dac13f528e0a58c14dc322623219365d91 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Oct 21 14:57:09 2015 -0700 crypto: qat - don't use userspace pointer Bugfix - don't dereference userspace pointer. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2a49f02a7580d23802ea0e16ceb6d5523ab21aa8 Merge: 41ac18e 2059fc7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Nov 13 10:10:45 2015 +0100 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 'd' hotkey for filtering by DSO in the top/report TUI browser (Arnaldo Carvalho de Melo) - Allow forcing reading of non-root owned /tmp/perf-PID JIT symbol maps (Arnaldo Carvalho de Melo) - Rebuild rbtree when adjusting symbols for kcore (Adrian Hunter) - Actually install tmon in the tools/ install rule (Kamal Mostafa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a5149ba02bdf75281b8bc94cf6dfa94c527fa6f Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Fri Nov 13 12:35:36 2015 +1100 mpt3sas: fix inline markers on non inline function declarations After merging the scsi tree, today's linux-next build (powerpc allyesconfig) failed like this: In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:59:0: drivers/scsi/mpt3sas/mpt3sas_scsih.c: In function '_scsih_io_done': drivers/scsi/mpt3sas/mpt3sas_base.h:1414:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_get': function body not available mpt3sas_scsi_direct_io_get(struct MPT3SAS_ADAPTER *ioc, u16 smid); ^ drivers/scsi/mpt3sas/mpt3sas_scsih.c:4448:6: error: called from here if (mpt3sas_scsi_direct_io_get(ioc, smid) && ^ In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:59:0: drivers/scsi/mpt3sas/mpt3sas_base.h:1416:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_set': function body not available mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io); ^ drivers/scsi/mpt3sas/mpt3sas_scsih.c:4454:3: error: called from here mpt3sas_scsi_direct_io_set(ioc, smid, 0); ^ In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:5 9:0: drivers/scsi/mpt3sas/mpt3sas_base.h:1416:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_set': function body not available mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io); ^ drivers/scsi/mpt3sas/mpt3sas_scsih.c:4454:3: error: called from here mpt3sas_scsi_direct_io_set(ioc, smid, 0); ^ Presumably caused by commit c84b06a48c4d ("mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs") Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 152d7bd80dca5ce77ec2d7313149a2ab990e808e Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Nov 12 18:33:54 2015 -0800 dax: fix __dax_pmd_fault crash Since 4.3 introduced devm_memremap_pages() the pfns handled by DAX may optionally have a struct page backing. When a mapped pfn reaches vmf_insert_pfn_pmd() it fails with a crash signature like the following: kernel BUG at mm/huge_memory.c:905! [..] Call Trace: [<ffffffff812a73ba>] __dax_pmd_fault+0x2ea/0x5b0 [<ffffffffa01a4182>] xfs_filemap_pmd_fault+0x92/0x150 [xfs] [<ffffffff811fbe02>] handle_mm_fault+0x312/0x1b50 Fix this by falling back to 4K mappings in the pfn_valid() case. Longer term, vmf_insert_pfn_pmd() needs to grow support for architectures that can provide a 'pmd_special' capability. Cc: <stable@xxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Reported-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit f6d07dfcb15aad199d7351d3122eabd506968daf Merge: 0e97606 5bad7d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 18:24:47 2015 -0800 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "One urgent fix for an oops under console lock in some drivers, one uapi fix, and one revert to fix rockchip regression" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: Revert "drm/rockchip: Convert the probe function to the generic drm_of_component_probe()" drm: Don't oops in drm_calc_timestamping_constants() if drm_vblank_init() wasn't called drm: Use userspace compatible type in fourcc_mod_code macro commit 0e976064256523ca604bd82048ae0e3402ce2467 Merge: 5e2078b e428abb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 16:22:54 2015 -0800 Merge tag 'trace-v4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull trace cleanups from Steven Rostedt: "This contains three more clean up patches. One patch is needed to make tracing work without debugfs now that tracing uses its own tracefs. The second is removing an unused variable. The third is fixing a warning about unused variables when MAX_TRACER is not configured. Note, this warning shows up in gcc 6.0, but does not show up in gcc 4.9, as it seems that gcc does not complain about constants not being used" * tag 'trace-v4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: #ifdef out uses of max trace when CONFIG_TRACER_MAX_TRACE is not set tracing: Remove unused ftrace_cpu_disabled per cpu variable tracing: Make tracing work when debugfs is not configured in commit f20780f3e8feec0eebcf9fb41e1d90202fffaeff Merge: a18e2fa e00fe64 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Nov 13 10:08:19 2015 +1000 Merge branch 'drm-sti-next-2015-11-03' of http://git.linaro.org/people/benjamin.gaignard/kernel into drm-next sti/drm changes Add better support for firmware loading lots of fixes. * 'drm-sti-next-2015-11-03' of http://git.linaro.org/people/benjamin.gaignard/kernel: drm/sti: load HQVDP firmware the first time HQVDP's plane is used drm/sti: fix typo issue in sti_mode_config_init drm/sti: set mixer background color through module param drm/sti: Remove local fbdev emulation Kconfig option drm/sti: remove redundant sign extensions drm/sti: hdmi use of_get_i2c_adapter_by_node interface drm/sti: hdmi fix i2c adapter device refcounting drm/sti: Do not export symbols drm/sti: Build monolithic driver drm/sti: Use drm_crtc_vblank_*() API drm/sti: Store correct CRTC index in events drm/sti: Select FW_LOADER drm/sti: Constify function pointer structs commit 5bad7d29a7bcffb2dbc28ea2728eeb3af13784f2 Author: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Date: Tue Nov 10 16:47:19 2015 +0800 Revert "drm/rockchip: Convert the probe function to the generic drm_of_component_probe()" This reverts commit 52f5eb60940de889ce98a876f6933b574ead3225. Rockchip drm can't work with generic drm_of_component_probe now Signed-off-by: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 0c545ac4815657e0b062344c690ea35a11eeaec8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Nov 12 14:34:18 2015 +0200 drm: Don't oops in drm_calc_timestamping_constants() if drm_vblank_init() wasn't called Seems the crtc helpers call drm_calc_timestamping_constants() unconditionally even if the driver didn't initialize vblank support by calling drm_vblank_init(). That used to be OK since the constants were stored under drm_crtc. However I broke this with commit eba1f35dfe14 ("drm: Move timestamping constants into drm_vblank_crtc") when I moved the constants to live inside the drm_vblank_crtc struct instead. If drm_vblank_init() isn't called, we don't allocate these structures, and so drm_calc_timestamping_constants() will oops. Fix it by adding a check into drm_calc_timestamping_constants() to see if vblank support was initialized at all. And to keep in line with other such checks, also toss in a check and warn for the case where vblank support was initialized, but the wrong number of crtcs was specified. Fixes the following sort of oops: BUG: unable to handle kernel NULL pointer dereference at 00000000000000b0 IP: [<ffffffffa014b266>] drm_calc_timestamping_constants+0x86/0x130 [drm] PGD 0 Oops: 0002 [#1] SMP Modules linked in: sr_mod cdrom mgag200(+) i2c_algo_bit drm_kms_helper ahci syscopyarea sysfillrect sysimgblt libahci fb_sys_fops bnx2x ttm tg3(+) mdio drm ptp sd_mod libata i2c_core pps_core libcrc32c hpsa dm_mirror dm_region_hash dm_log dm_mod CPU: 0 PID: 418 Comm: kworker/0:2 Not tainted 4.3.0+ #1 Hardware name: HP ProLiant DL380 Gen9, BIOS P89 06/09/2015 Workqueue: events work_for_cpu_fn task: ffff88046ca95500 ti: ffff88007830c000 task.ti: ffff88007830c000 RIP: 0010:[<ffffffffa014b266>] [<ffffffffa014b266>] drm_calc_timestamping_constants+0x86/0x130 [drm] RSP: 0018:ffff88007830f4e8 EFLAGS: 00010246 RAX: 0000000000fe4c00 RBX: ffff88006a849160 RCX: 0000000000000540 RDX: 0000000000000000 RSI: 000000000000fde8 RDI: ffff88006a849000 RBP: ffff88007830f518 R08: ffff88007830c000 R09: 00000001b87e3712 R10: 00000000000050c4 R11: 0000000000000000 R12: 0000000000fe4c00 R13: ffff88006a849000 R14: 0000000000000000 R15: 000000000000fde8 FS: 0000000000000000(0000) GS:ffff88046f800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000000000b0 CR3: 00000000019d6000 CR4: 00000000001406f0 Stack: ffff88007830f518 ffff88006a849000 ffff880c69b90340 ffff880c69b90000 ffff880c69b90348 ffff880c69b90340 ffff88007830f748 ffffffffa042f7e7 ffff88006a849090 0000000000000000 ffff88006a849160 0000000000000000 Call Trace: [<ffffffffa042f7e7>] drm_crtc_helper_set_mode+0x3d7/0x4b0 [drm_kms_helper] [<ffffffffa04307d4>] drm_crtc_helper_set_config+0x8d4/0xb10 [drm_kms_helper] [<ffffffffa01548d4>] drm_mode_set_config_internal+0x64/0x100 [drm] [<ffffffffa043c342>] drm_fb_helper_pan_display+0xa2/0x280 [drm_kms_helper] [<ffffffff81392c7b>] fb_pan_display+0xbb/0x170 [<ffffffff8138cf70>] bit_update_start+0x20/0x50 [<ffffffff8138b81b>] fbcon_switch+0x39b/0x590 [<ffffffff8140a3d0>] redraw_screen+0x1a0/0x240 [<ffffffff8140b30e>] do_bind_con_driver+0x2ee/0x310 [<ffffffff8140b651>] do_take_over_console+0x141/0x1b0 [<ffffffff81387377>] do_fbcon_takeover+0x57/0xb0 [<ffffffff8138c98b>] fbcon_event_notify+0x60b/0x750 [<ffffffff810a5599>] notifier_call_chain+0x49/0x70 [<ffffffff810a58dd>] __blocking_notifier_call_chain+0x4d/0x70 [<ffffffff810a5916>] blocking_notifier_call_chain+0x16/0x20 [<ffffffff8139282b>] fb_notifier_call_chain+0x1b/0x20 [<ffffffff81394881>] register_framebuffer+0x1f1/0x330 [<ffffffffa043d9aa>] drm_fb_helper_initial_config+0x27a/0x3d0 [drm_kms_helper] [<ffffffffa0469b4d>] mgag200_fbdev_init+0xdd/0xf0 [mgag200] [<ffffffffa0468586>] mgag200_modeset_init+0x176/0x1e0 [mgag200] [<ffffffffa0464659>] mgag200_driver_load+0x3f9/0x580 [mgag200] [<ffffffffa014e067>] drm_dev_register+0xa7/0xb0 [drm] [<ffffffffa015054f>] drm_get_pci_dev+0x8f/0x1e0 [drm] [<ffffffffa046937b>] mga_pci_probe+0x9b/0xc0 [mgag200] [<ffffffff813662d5>] local_pci_probe+0x45/0xa0 [<ffffffff8109afe4>] work_for_cpu_fn+0x14/0x20 [<ffffffff8109e13c>] process_one_work+0x14c/0x3c0 [<ffffffff8109eaa4>] worker_thread+0x244/0x470 [<ffffffff8168bfba>] ? __schedule+0x2aa/0x760 [<ffffffff8109e860>] ? rescuer_thread+0x310/0x310 [<ffffffff810a4438>] kthread+0xd8/0xf0 [<ffffffff810a4360>] ? kthread_park+0x60/0x60 [<ffffffff8169030f>] ret_from_fork+0x3f/0x70 [<ffffffff810a4360>] ? kthread_park+0x60/0x60 Code: f6 31 d2 41 89 c2 8b 83 b4 00 00 00 0f af c1 48 98 48 69 c0 40 42 0f 00 48 f7 f6 f6 43 74 10 41 89 c4 75 26 f6 05 9a 6f 03 00 01 <45> 89 96 b0 00 00 00 45 89 a6 ac 00 00 00 75 35 48 83 c4 08 5b RIP [<ffffffffa014b266>] drm_calc_timestamping_constants+0x86/0x130 [drm] RSP <ffff88007830f4e8> CR2: 00000000000000b0 Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Reported-by: Jeff Moyer <jmoyer@xxxxxxxxxx> References: http://lists.freedesktop.org/archives/dri-devel/2015-November/094217.html Fixes: eba1f35dfe14 ("drm: Move timestamping constants into drm_vblank_crtc") Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 9589fcde27a6726b83bc525fba5c57e4b2c0328e Merge: a18e2fa 6172180 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Nov 13 09:54:31 2015 +1000 Merge tag 'topic/drm-fixes-2015-11-11' of git://anongit.freedesktop.org/drm-intel into drm-fixes Single fix for uapi. * tag 'topic/drm-fixes-2015-11-11' of git://anongit.freedesktop.org/drm-intel: drm: Use userspace compatible type in fourcc_mod_code macro commit 5e2078b2899da31ff4c9854e932b186685d5bea0 Merge: a4d8c7c e3a7a3b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 15:54:30 2015 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull misc block fixes from Jens Axboe: "Stuff that got collected after the merge window opened. This contains: - NVMe: - Fix for non-striped transfer size setting for NVMe from Sathyavathi. - (Some) support for the weird Apple nvme controller in the macbooks. From Stephan Günther. - The error value leak for dax from Al. - A few minor blk-mq tweaks from me. - Add the new linux-block@xxxxxxxxxxxxxxx mailing list to the MAINTAINERS file. - Discard fix for brd, from Jan. - A kerneldoc warning for block core from Randy. - An older fix from Vivek, converting a WARN_ON() to a rate limited printk when a device is hot removed with dirty inodes" * 'for-linus' of git://git.kernel.dk/linux-block: block: don't hardcode blk_qc_t -> tag mask dax_io(): don't let non-error value escape via retval instead of EFAULT block: fix blk-core.c kernel-doc warning fs/block_dev.c: Remove WARN_ON() when inode writeback fails NVMe: add support for Apple NVMe controller NVMe: use split lo_hi_{read,write}q blk-mq: mark __blk_mq_complete_request() static MAINTAINERS: add reference to new linux-block list NVMe: Increase the max transfer size when mdts is 0 brd: Refuse improperly aligned discard requests commit a4d8c7c9f7754405c52c59e1b1e984df5749d7bb Merge: a18e2fa cc25b99 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 15:48:10 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security subsystem fixes from James Morris: "This includes several fixes for TPM, as well as a fix for the x.509 certificate parser to address CVE-2015-5327" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: X.509: Fix the time validation [ver #2] tpm: fix compat 'ppi' link handling in tpm_chip_register() tpm: fix missing migratable flag in sealing functionality for TPM2 TPM: revert the list handling logic fixed in 398a1e7 TPM: Avoid reference to potentially freed memory tpm_tis: restore IRQ vector in IO memory after failed probing tpm_tis: free irq after probing commit a18e2fa5e670a1b84e66522b221c42875b02028a Merge: 7dac710 01b305a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 15:33:11 2015 -0800 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes and clean-ups from Catalin Marinas: "Here's a second pull request for this merging window with some fixes/clean-ups: - __cmpxchg_double*() return type fix to avoid truncation of a long to int and subsequent logical "not" in cmpxchg_double() misinterpreting the operation success/failure - BPF fixes for mod and div by zero - Fix compilation with STRICT_MM_TYPECHECKS enabled - VDSO build fix without libgcov - Some static and __maybe_unused annotations - Kconfig clean-up (FRAME_POINTER) - defconfig update for CRYPTO_CRC32_ARM64" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: suspend: make hw_breakpoint_restore static arm64: mmu: make split_pud and fixup_executable static arm64: smp: make of_parse_and_init_cpus static arm64: use linux/types.h in kvm.h arm64: build vdso without libgcov arm64: mark cpus_have_hwcap as __maybe_unused arm64: remove redundant FRAME_POINTER kconfig option and force to select it arm64: fix R/O permissions of FDT mapping arm64: fix STRICT_MM_TYPECHECKS issue in PTE_CONT manipulation arm64: bpf: fix mod-by-zero case arm64: bpf: fix div-by-zero case arm64: Enable CRYPTO_CRC32_ARM64 in defconfig arm64: cmpxchg_dbl: fix return value type commit 7dac7102afbeb99daa454f555f1ea1f42fad2f78 Merge: 3370b69 f639eeb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 15:26:39 2015 -0800 Merge tag 'for-4.4' of git://git.osdn.jp/gitroot/uclinux-h8/linux Pull h8300 updates from Yoshinori Sato: "Some bug fixes" * tag 'for-4.4' of git://git.osdn.jp/gitroot/uclinux-h8/linux: h8300: enable CLKSRC_OF h8300: Don't set CROSS_COMPILE unconditionally asm-generic: {get,put}_user ptr argument evaluate only 1 time h8300: bit io fix h8300: zImage fix h8300: register address fix h8300: Fix alignment for .data h8300: unaligned divcr register support. commit 3370b69eb0c1f6a05f9051e8fc3e8768461a80f7 Merge: be23c9d 3702897 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 14:34:06 2015 -0800 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull second batch of kvm updates from Paolo Bonzini: "Four changes: - x86: work around two nasty cases where a benign exception occurs while another is being delivered. The endless stream of exceptions causes an infinite loop in the processor, which not even NMIs or SMIs can interrupt; in the virt case, there is no possibility to exit to the host either. - x86: support for Skylake per-guest TSC rate. Long supported by AMD, the patches mostly move things from there to common arch/x86/kvm/ code. - generic: remove local_irq_save/restore from the guest entry and exit paths when context tracking is enabled. The patches are a few months old, but we discussed them again at kernel summit. Andy will pick up from here and, in 4.5, try to remove it from the user entry/exit paths. - PPC: Two bug fixes, see merge commit 370289756becc for details" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (21 commits) KVM: x86: rename update_db_bp_intercept to update_bp_intercept KVM: svm: unconditionally intercept #DB KVM: x86: work around infinite loop in microcode when #AC is delivered context_tracking: avoid irq_save/irq_restore on guest entry and exit context_tracking: remove duplicate enabled check KVM: VMX: Dump TSC multiplier in dump_vmcs() KVM: VMX: Use a scaled host TSC for guest readings of MSR_IA32_TSC KVM: VMX: Setup TSC scaling ratio when a vcpu is loaded KVM: VMX: Enable and initialize VMX TSC scaling KVM: x86: Use the correct vcpu's TSC rate to compute time scale KVM: x86: Move TSC scaling logic out of call-back read_l1_tsc() KVM: x86: Move TSC scaling logic out of call-back adjust_tsc_offset() KVM: x86: Replace call-back compute_tsc_offset() with a common function KVM: x86: Replace call-back set_tsc_khz() with a common function KVM: x86: Add a common TSC scaling function KVM: x86: Add a common TSC scaling ratio field in kvm_vcpu_arch KVM: x86: Collect information for setting TSC scaling ratio KVM: x86: declare a few variables as __read_mostly KVM: x86: merge handle_mmio_page_fault and handle_mmio_page_fault_common KVM: PPC: Book3S HV: Don't dynamically split core when already split ... commit 2059fc7a5a9e667797b8ec503bfb4685afee48d8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Nov 12 16:50:13 2015 -0300 perf symbols: Allow forcing reading of non-root owned files by root When the root user tries to read a file owned by some other user we get: # ls -la perf.data -rw-------. 1 acme acme 20032 Nov 12 15:50 perf.data # perf report File perf.data not owned by current user or root (use -f to override) # perf report -f | grep -v ^# | head -2 30.96% ls [kernel.vmlinux] [k] do_set_pte 28.24% ls libc-2.20.so [.] intel_check_word # That wasn't happening when the symbol code tried to read a JIT map, where the same check was done but no forcing was possible, fix it. Reported-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Tested-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://permalink.gmane.org/gmane.linux.kernel.perf.user/2380 Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b7f294b58adb02d928dccb04bd39cb789db09e1f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Nov 12 16:01:56 2015 -0300 perf hists browser: The dso can be obtained from popup_action->ms.map->dso So no need to have a 'dso' member in 'popup_action', remove it as no code is using it, already. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-76a6s0007slug0op0wkl6o8b@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fae00650f7910da7064f45d49c95df88fab816f6 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Nov 12 15:59:26 2015 -0300 perf hists browser: Fix 'd' hotkey action to filter by DSO When pressing 'd' the expected action is to filter all entries by the DSO in the current entry, but for that the action->map needs to be set, and only action->dso was being set, fix it. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: 045b80dd0340 ("perf hists browser: Use the map to determine if a DSO is being used as a kernel") Link: http://lkml.kernel.org/n/tip-xqhfzgoblq49lk5h5u82atro@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 866548dd6e22c3795ae5146a9746a5cf659698f1 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Nov 6 15:59:29 2015 +0200 perf symbols: Rebuild rbtree when adjusting symbols for kcore Normally symbols are read from the DSO and adjusted, if need be, so that the symbol start matches the file offset in the DSO file (we want the file offset because that is what we know from MMAP events). That is done by dso__load_sym() which inserts the symbols *after* adjusting them. In the case of kcore, the symbols have been read from kallsyms and the symbol start is the memory address. The symbols have to be adjusted to match the kcore file offsets. dso__split_kallsyms_for_kcore() does that, but now the adjustment is being done *after* the symbols have been inserted. It appears dso__split_kallsyms_for_kcore() was assuming that changing the symbol start would not change the order in the rbtree - which is, of course, not guaranteed. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/563CB241.2090701@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6ba98c5dc78708cb7fd29950c4a50c4c7e88f95 Author: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Date: Wed Nov 11 14:25:34 2015 -0800 tools: Add a "make all" rule Signed-off-by: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jonathan Cameron <jic23@xxxxxxxxxx> Cc: Pali Rohar <pali.rohar@xxxxxxxxx> Cc: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Link: http://lkml.kernel.org/r/1447280736-2161-2-git-send-email-kamal@xxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 49e4a2293035b420e807e739999d59c8ec1488e9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 22:03:40 2015 +0100 stmmac: avoid ipq806x constant overflow warning Building dwmac-ipq806x on a 64-bit architecture produces a harmless warning from gcc: stmmac/dwmac-ipq806x.c: In function 'ipq806x_gmac_probe': include/linux/bitops.h:6:19: warning: overflow in implicit constant conversion [-Woverflow] val = QSGMII_PHY_CDR_EN | stmmac/dwmac-ipq806x.c:333:8: note: in expansion of macro 'QSGMII_PHY_CDR_EN' #define QSGMII_PHY_CDR_EN BIT(0) #define BIT(nr) (1UL << (nr)) This is a result of the type conversion rules in C, when we take the logical OR of multiple different types. In particular, we have and unsigned long QSGMII_PHY_CDR_EN == BIT(0) == (1ul << 0) == 0x0000000000000001ul and a signed int 0xC << QSGMII_PHY_TX_DRV_AMP_OFFSET == 0xc0000000 which together gives a signed long value 0xffffffffc0000001l and when this is passed into a function that takes an unsigned int type, gcc warns about the signed overflow and the loss of the upper 32-bits that are all ones. This patch adds 'ul' type modifiers to the literal numbers passed in here, so now the expression remains an 'unsigned long' with the upper bits all zero, and that avoids the signed overflow and the warning. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: b1c17215d718 ("stmmac: add ipq806x glue layer") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2db1a57986d37653583e67ccbf13082aadc8f25d Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Nov 12 12:13:57 2015 -0800 ALSA: pci: depend on ZONE_DMA There are several sound drivers that 'select ZONE_DMA'. This is backwards as ZONE_DMA is an architecture capability exported to drivers. Switch the polarity of the dependency to disable these drivers when the architecture does not support ZONE_DMA. This was discovered in the context of testing/enabling devm_memremap_pages() which depends on ZONE_DEVICE. ZONE_DEVICE in turn depends on !ZONE_DMA. Reported-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit be23c9d20b341a58ad7107f9e9aa5735cea3da13 Merge: 5d50ac7 f57ab32 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 12 11:50:33 2015 -0800 Merge tag 'pm+acpi-4.4-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: "The only new feature in this batch is support for the ACPI _CCA device configuration object, which it a pre-requisite for future ACPI PCI support on ARM64, but should not affect the other architectures. The rest is fixes and cleanups, mostly in cpufreq (including intel_pstate), the Operating Performace Points (OPP) framework and tools (cpupower and turbostat). Specifics: - Support for the ACPI _CCA configuration object intended to tell the OS whether or not a bus master device supports hardware managed cache coherency and a new set of functions to allow drivers to check the cache coherency support for devices in a platform firmware interface agnostic way (Suravee Suthikulpanit, Jeremy Linton). - ACPI backlight quirks for ESPRIMO Mobile M9410 and Dell XPS L421X (Aaron Lu, Hans de Goede). - Fixes for the arm_big_little and s5pv210-cpufreq cpufreq drivers (Jon Medhurst, Nicolas Pitre). - kfree()-related fixup for the recently introduced CPPC cpufreq frontend (Markus Elfring). - intel_pstate fix reducing kernel log noise on systems where P-states are managed by hardware (Prarit Bhargava). - intel_pstate maintainers information update (Srinivas Pandruvada). - cpufreq core optimization related to the handling of delayed work items used by governors (Viresh Kumar). - Locking fixes and cleanups of the Operating Performance Points (OPP) framework (Viresh Kumar). - Generic power domains framework cleanups (Lina Iyer). - cpupower tool updates (Jacob Tanenbaum, Sriram Raghunathan, Thomas Renninger). - turbostat tool updates (Len Brown)" * tag 'pm+acpi-4.4-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits) PCI: ACPI: Add support for PCI device DMA coherency PCI: OF: Move of_pci_dma_configure() to pci_dma_configure() of/pci: Fix pci_get_host_bridge_device leak device property: ACPI: Remove unused DMA APIs device property: ACPI: Make use of the new DMA Attribute APIs device property: Adding DMA Attribute APIs for Generic Devices ACPI: Adding DMA Attribute APIs for ACPI Device device property: Introducing enum dev_dma_attr ACPI: Honor ACPI _CCA attribute setting cpufreq: CPPC: Delete an unnecessary check before the function call kfree() PM / OPP: Add opp_rcu_lockdep_assert() to _find_device_opp() PM / OPP: Hold dev_opp_list_lock for writers PM / OPP: Protect updates to list_dev with mutex PM / OPP: Propagate error properly from dev_pm_opp_set_sharing_cpus() cpufreq: s5pv210-cpufreq: fix wrong do_div() usage MAINTAINERS: update for intel P-state driver Creating a common structure initialization pattern for struct option cpupower: Enable disabled Cstates if they are below max latency cpupower: Remove debug message when using cpupower idle-set -D switch cpupower: cpupower monitor reports uninitialized values for offline cpus ... commit 382a483e53fa9a84579aa92701d54801b37fb8fd Merge: 3917429 086f332 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Nov 12 14:17:16 2015 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Pablo Neira Ayuso: ==================== Netfilter fixes for net The following patchset contains Netfilter fixes for your net tree. This large batch that includes fixes for ipset, netfilter ingress, nf_tables dynamic set instantiation and a longstanding Kconfig dependency problem. More specifically, they are: 1) Add missing check for empty hook list at the ingress hook, from Florian Westphal. 2) Input and output interface are swapped at the ingress hook, reported by Patrick McHardy. 3) Resolve ipset extension alignment issues on ARM, patch from Jozsef Kadlecsik. 4) Fix bit check on bitmap in ipset hash type, also from Jozsef. 5) Release buckets when all entries have expired in ipset hash type, again from Jozsef. 6) Oneliner to initialize conntrack tuple object in the PPTP helper, otherwise the conntrack lookup may fail due to random bits in the structure holes, patch from Anthony Lineham. 7) Silence a bogus gcc warning in nfnetlink_log, from Arnd Bergmann. 8) Fix Kconfig dependency problems with TPROXY, socket and dup, also from Arnd. 9) Add __netdev_alloc_pcpu_stats() to allow creating percpu counters from atomic context, this is required by the follow up fix for nf_tables. 10) Fix crash from the dynamic set expression, we have to add new clone operation that should be defined when a simple memcpy is not enough. This resolves a crash when using per-cpu counters with new Patrick McHardy's flow table nft support. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39174291d8e8acfd1113214a943263aaa03c57c8 Author: françois romieu <romieu@xxxxxxxxxxxxx> Date: Wed Nov 11 23:35:18 2015 +0100 r8169: fix kasan reported skb use-after-free. Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Reported-by: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Fixes: d7d2d89d4b0af ("r8169: Add software counter for multicast packages") Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Corinna Vinschen <vinschen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8de5dff8bae634497f4413bc3067389f2ed267da Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Tue Nov 10 16:10:45 2015 -0800 libnvdimm: documentation clarifications A bunch of changes that I hope will help in understanding it better for first-time readers. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 589e75d15702dc720b363a92f984876704864946 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Sat Oct 24 19:55:58 2015 -0700 libnvdimm, pmem: fix size trim in pmem_direct_access() This masking prevents access to the end of the device via dax_do_io(), and is unnecessary as arch_add_memory() would have rejected an unaligned allocation. Cc: <stable@xxxxxxxxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit f7256dc0cdbc68903502997bde619f555a910f50 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Nov 11 16:46:33 2015 -0800 libnvdimm, e820: fix numa node for e820-type-12 pmem ranges Rather than punt on the numa node for these e820 ranges try to find a better answer with memory_add_physaddr_to_nid() when it is available. Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Tested-by: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit f42957967fb435aef6fc700fbbd9df89533b9a2e Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Nov 10 15:50:33 2015 -0800 tools/testing/nvdimm, acpica: fix flag rename build breakage Commit ca321d1ca672 "ACPICA: Update NFIT table to rename a flags field" performed a tree-wide s/ACPI_NFIT_MEM_ARMED/ACPI_NFIT_MEM_NOT_ARMED/ operation, but missed the tools/testing/nvdimm/ directory. Cc: Bob Moore <robert.moore@xxxxxxxxx> Cc: Lv Zheng <lv.zheng@xxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 01b305a234943c25c336a6f2f77932a4eaf125fa Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Thu Nov 12 20:04:44 2015 +0800 arm64: suspend: make hw_breakpoint_restore static hw_breakpoint_restore is only used within suspend.c, so it can be declared static. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 9a17a213345584fbc692f6b3a715aa451d4c75e9 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Thu Nov 12 20:04:43 2015 +0800 arm64: mmu: make split_pud and fixup_executable static split_pud and fixup_executable are only called from within mmu.c, so they can be declared static. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 29b8302b1a7baef6b4c71ff368bd14729f26eb0c Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Thu Nov 12 20:04:42 2015 +0800 arm64: smp: make of_parse_and_init_cpus static of_parse_and_init_cpus is only called from within smp.c, so it can be declared static. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d19279154b3fff9adff96b54d1a77dfb8f01e3da Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 15:41:08 2015 +0100 arm64: use linux/types.h in kvm.h We should always use linux/types.h instead of asm/types.h for consistency, and Kbuild actually warns about it: ./usr/include/asm/kvm.h:35: include of <linux/types.h> is preferred over <asm/types.h> This patch does as Kbuild asks us. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 543097843ca7c9ac3758d0b5879ea2a6f44089de Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 15:37:12 2015 +0100 arm64: build vdso without libgcov On a cross-toolchain without glibc support, libgcov may not be available, and attempting to build an arm64 kernel with GCOV enabled then results in a build error: /home/arnd/cross-gcc/lib/gcc/aarch64-linux/5.2.1/../../../../aarch64-linux/bin/ld: cannot find -lgcov We don't really want to link libgcov into the vdso anyway, so this patch just disables GCOV in the vdso directory, just as we do for most other architectures. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3d6d103538e73a5710ea66d95fa2b652bf6eab77 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 12 15:20:16 2015 +0100 arm64: mark cpus_have_hwcap as __maybe_unused cpus_have_hwcap() is defined as a 'static' function an only used in one place that is inside of an #ifdef, so we get a warning when the only user is disabled: arch/arm64/kernel/cpufeature.c:699:13: warning: 'cpus_have_hwcap' defined but not used [-Wunused-function] This marks the function as __maybe_unused, so the compiler knows that it can drop the function definition without warning about it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 37b01d53ceef ("arm64/HWCAP: Use system wide safe values") Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 836d525baada26e1a7462e87805337b9a9b729f6 Author: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Date: Wed Nov 11 14:25:33 2015 -0800 tools: Actually install tmon in the install rule Signed-off-by: Kamal Mostafa <kamal@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Pali Rohar <pali.rohar@xxxxxxxxx> Cc: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Link: http://lkml.kernel.org/r/1447280736-2161-1-git-send-email-kamal@xxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f07f21b3e20c11017cea17ec841f0150a62aac53 Author: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 14:16:57 2015 +0100 s390/sclp: _sclp_wait_int(): retain full PSW mask There's no reason to clear all PSW mask bits other than the addressing mode bits. Just use the previous PSW mask as-is. Signed-off-by: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit febdfbd2137a5727f70dfbf920105c07e6c2a21e Merge: 0da3968 2c5d16d Author: James Bottomley <JBottomley@xxxxxxxx> Date: Thu Nov 12 07:06:18 2015 -0500 Merge tag '4.4-scsi-mkp' into misc SCSI queue for 4.4. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 909cadc6c8c7e52149fb4687453277d6cabe8c80 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Nov 12 11:52:13 2015 +0100 ALSA: hda - Simplify phantom jack handling for HDMI/DP The HDMI codec parser may create a phantom jack, but the helper function snd_hda_jack_add_kctl() treats always as a normal jack. This is superfluous as the jack query is executed at each time the jack sync is performed. Since the HDMI codec parser is the only caller of this function, it's easier to change back this directly calling the original __snd_hda_jack_add_kctl() with phantom_jack parameter. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit da34232641a91ca785a787c23c158488e459b938 Merge: bf463f2 3bfb722 Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Thu Nov 12 11:36:03 2015 +0100 Merge branch '4.3-fixes' into mips-for-linux-next commit bf463f2f7510771db180908507005379850dade0 Author: Aurelien Jarno <aurelien@xxxxxxxxxxx> Date: Sat Sep 5 18:47:31 2015 +0200 MIPS: idle: add case for CPU_5KE While the 5KE processors have never been taped out, they exists though a CP0.PRId and experimental RTLs or QEMU implementations. Add a case entry in the idle code, as they can use the standard idle loop like the 5K processors. Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11099/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 651d19fb10fac0f1f25c028c8e46ded9fc43a640 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Fri Sep 11 17:46:15 2015 +0300 MIPS: Octeon: Support APPENDED_DTB Use appended DTB when available. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11115/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 87db537da4cd1bfad388511a3647bbb497d2fb61 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Fri Sep 11 17:46:14 2015 +0300 MIPS: vmlinux: create a section for appended DTB For bootloaders that support booting only ELF kernels and load only ELF segments to memory there is no easy way to supply DTB without kernel recompilation. For that purpose, create a section called .appended_dtb that can be later updated with board-specific DTB using binutils e.g. at kernel installation time. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11114/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d00d920338382ceaefc643760daf9936ae9c5788 Author: Amanieu d'Antras <amanieu@xxxxxxxxx> Date: Thu Nov 5 00:50:24 2015 +0000 MIPS: Clean up compat_siginfo_t While mips can't use the generic compat_siginfo_t directly because its si_code and si_errno are inverted, we can still make it as close to the generic version as possible. This makes it easier to update when new members are added to siginfo_t. The main changes are adding a missing _sigsys union member and eliminating the unused _irix_sigchld one. Signed-off-by: Amanieu d'Antras <amanieu@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11455/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 22b14523994588279ae9c5ccfe64073c1e5b3c00 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 9 20:56:28 2015 -0400 MIPS: Fix PAGE_MASK definition Make PAGE_MASK an unsigned long, like it is on x86, to avoid: In file included from arch/mips/kernel/asm-offsets.c:14:0: include/linux/mm.h: In function '__pfn_to_pfn_t': include/linux/mm.h:1050:2: warning: left shift count >= width of type pfn_t pfn_t = { .val = pfn | (flags & PFN_FLAGS_MASK), }; ...where PFN_FLAGS_MASK is: #define PFN_FLAGS_MASK (~PAGE_MASK << (BITS_PER_LONG - PAGE_SHIFT)) Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: ross.zwisler@xxxxxxxxxxxxxxx Cc: hch@xxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-nvdimm@xxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11280/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cc25b994acfbc901429da682d0f73c190e960206 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Nov 12 09:36:40 2015 +0000 X.509: Fix the time validation [ver #2] This fixes CVE-2015-5327. It affects kernels from 4.3-rc1 onwards. Fix the X.509 time validation to use month number-1 when looking up the number of days in that month. Also put the month number validation before doing the lookup so as not to risk overrunning the array. This can be tested by doing the following: cat <<EOF | openssl x509 -outform DER | keyctl padd asymmetric "" @s -----BEGIN CERTIFICATE----- MIIDbjCCAlagAwIBAgIJAN/lUld+VR4hMA0GCSqGSIb3DQEBCwUAMCkxETAPBgNV BAoMCGxvY2FsLWNhMRQwEgYDVQQDDAtzaWduaW5nIGtleTAeFw0xNTA5MDEyMTMw MThaFw0xNjA4MzEyMTMwMThaMCkxETAPBgNVBAoMCGxvY2FsLWNhMRQwEgYDVQQD DAtzaWduaW5nIGtleTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANrn crcMfMeG67nagX4+m02Xk9rkmsMKI5XTUxbikROe7GSUVJ27sPVPZp4mgzoWlvhh jfK8CC/qhEhwep8Pgg4EJZyWOjhZb7R97ckGvLIoUC6IO3FC2ZnR7WtmWDgo2Jcj VlXwJdHhKU1VZwulh81O61N8IBKqz2r/kDhIWiicUCUkI/Do/RMRfKAoDBcSh86m gOeIAGfq62vbiZhVsX5dOE8Oo2TK5weAvwUIOR7OuGBl5AqwFlPnXQolewiHzKry THg9e44HfzG4Mi6wUvcJxVaQT1h5SrKD779Z5+8+wf1JLaooetcEUArvWyuxCU59 qxA4lsTjBwl4cmEki+cCAwEAAaOBmDCBlTAMBgNVHRMEBTADAQH/MAsGA1UdDwQE AwIHgDAdBgNVHQ4EFgQUyND/eKUis7ep/hXMJ8iZMdUhI+IwWQYDVR0jBFIwUIAU yND/eKUis7ep/hXMJ8iZMdUhI+KhLaQrMCkxETAPBgNVBAoMCGxvY2FsLWNhMRQw EgYDVQQDDAtzaWduaW5nIGtleYIJAN/lUld+VR4hMA0GCSqGSIb3DQEBCwUAA4IB AQAMqm1N1yD5pimUELLhT5eO2lRdGUfTozljRxc7e2QT3RLk2TtGhg65JFFN6eml XS58AEPVcAsSLDlR6WpOpOLB2giM0+fV/eYFHHmh22yqTJl4YgkdUwyzPdCHNOZL hmSKeY9xliHb6PNrNWWtZwhYYvRaO2DX4GXOMR0Oa2O4vaYu6/qGlZOZv3U6qZLY wwHEJSrqeBDyMuwN+eANHpoSpiBzD77S4e+7hUDJnql4j6xzJ65+nWJ89fCrQypR 4sN5R3aGeIh3QAQUIKpHilwek0CtEaYERgc5m+jGyKSc1rezJW62hWRTaitOc+d5 G5hh+9YpnYcxQHEKnZ7rFNKJ -----END CERTIFICATE----- EOF If it works, it emit a key ID; if it fails, it should give a bad message error. Reported-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Tested-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Acked-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 5ca9d3a4286a1a4aaa46acc7c1c29a15d8d0fea2 Merge: 5d50ac7 d56e4f7 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Nov 12 20:38:04 2015 +1100 Merge tag 'tpmdd-next-20151110' of https://github.com/jsakkine/linux-tpmdd into for-linus commit 370289756beccdc2a6ef9c7998fe67a7ca68bfc2 Merge: a96036b f74f2e2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Nov 12 10:06:29 2015 +0100 Merge branch 'kvm-ppc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into HEAD "Paolo, I have two fixes for HV KVM which I would like to have included in v4.4-rc1. The first one is a fix for a bug identified by Red Hat which causes occasional guest crashes. The second one fixes a bug which causes host stalls and timeouts under certain circumstances when the host is configured for static 2-way micro-threading mode." commit 41ac18ebfc429ce3f4d369ef07447d652999a0cd Author: Huang Rui <ray.huang@xxxxxxx> Date: Wed Nov 4 17:43:53 2015 +0800 perf/x86/intel/rapl: Remove the unused RAPL_EVENT_DESC() macro Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Li <tony.li@xxxxxxx> Link: http://lkml.kernel.org/r/1446630233-3166-1-git-send-email-ray.huang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a05917b6ba9dc9a95fc42bdcbe3a875e8ad83935 Author: Huaitong Han <huaitong.han@xxxxxxxxx> Date: Fri Nov 6 17:00:23 2015 +0800 x86/fpu: Fix get_xsave_addr() behavior under virtualization KVM uses the get_xsave_addr() function in a different fashion from the native kernel, in that the 'xsave' parameter belongs to guest vcpu, not the currently running task. But 'xsave' is replaced with current task's (host) xsave structure, so get_xsave_addr() will incorrectly return the bad xsave address to KVM. Fix it so that the passed in 'xsave' address is used - as intended originally. Signed-off-by: Huaitong Han <huaitong.han@xxxxxxxxx> Reviewed-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dave.hansen@xxxxxxxxx Link: http://lkml.kernel.org/r/1446800423-21622-1-git-send-email-huaitong.han@xxxxxxxxx [ Tidied up the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ab6b52947545a5355154f64f449f97af9d05845f Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Tue Nov 10 16:23:54 2015 -0800 x86/fpu: Fix 32-bit signal frame handling (This should have gone to LKML originally. Sorry for the extra noise, folks on the cc.) Background: Signal frames on x86 have two formats: 1. For 32-bit executables (whether on a real 32-bit kernel or under 32-bit emulation on a 64-bit kernel) we have a 'fpregset_t' that includes the "FSAVE" registers. 2. For 64-bit executables (on 64-bit kernels obviously), the 'fpregset_t' is smaller and does not contain the "FSAVE" state. When creating the signal frame, we have to be aware of whether we are running a 32 or 64-bit executable so we create the correct format signal frame. Problem: save_xstate_epilog() uses 'fx_sw_reserved_ia32' whenever it is called for a 32-bit executable. This is for real 32-bit and ia32 emulation. But, fpu__init_prepare_fx_sw_frame() only initializes 'fx_sw_reserved_ia32' when emulation is enabled, *NOT* for real 32-bit kernels. This leads to really wierd situations where 32-bit programs lose their extended state when returning from a signal handler. The kernel copies the uninitialized (zero) 'fx_sw_reserved_ia32' out to userspace in save_xstate_epilog(). But when returning from the signal, the kernel errors out in check_for_xstate() when it does not see FP_XSTATE_MAGIC1 present (because it was zeroed). This leads to the FPU/XSAVE state being initialized. For MPX, this leads to the most permissive state and means we silently lose bounds violations. I think this would also mean that we could lose *ANY* FPU/SSE/AVX state. I'm not sure why no one has spotted this bug. I believe this was broken by: 72a671ced66d ("x86, fpu: Unify signal handling code paths for x86 and x86_64 kernels") way back in 2012. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 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: dave@xxxxxxxx Cc: fenghua.yu@xxxxxxxxx Cc: yu-cheng.yu@xxxxxxxxx Link: http://lkml.kernel.org/r/20151111002354.A0799571@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f3119b830264d89d216bfb378ab65065dffa02d9 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Nov 11 10:19:34 2015 -0800 x86/mpx: Fix 32-bit address space calculation I received a bug report that running 32-bit MPX binaries on 64-bit kernels was broken. I traced it down to this little code snippet. We were switching our "number of bounds directory entries" calculation correctly. But, we didn't switch the other side of the calculation: the virtual space size. This meant that we were calculating an absurd size for bd_entry_virt_space() on 32-bit because we used the 64-bit virt_space. This was _also_ broken for 32-bit kernels running on 64-bit hardware since boot_cpu_data.x86_virt_bits=48 even when running in 32-bit mode. Correct that and properly handle all 3 possible cases: 1. 32-bit binary on 64-bit kernel 2. 64-bit binary on 64-bit kernel 3. 32-bit binary on 32-bit kernel This manifested in having bounds tables not properly unmapped. It "leaked" memory but had no functional impact otherwise. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> 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/20151111181934.FA7FAC34@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 46561c3959d6307d22139c24cd0bf196162e5681 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Nov 11 10:19:31 2015 -0800 x86/mpx: Do proper get_user() when running 32-bit binaries on 64-bit kernels When you call get_user(foo, bar), you effectively do a copy_from_user(&foo, bar, sizeof(*bar)); Note that the sizeof() is implicit. When we reach out to userspace to try to zap an entire "bounds table" we need to go read a "bounds directory entry" in order to locate the table's address. The size of a "directory entry" depends on the binary being run and is always the size of a pointer. But, when we have a 64-bit kernel and a 32-bit application, the directory entry is still only 32-bits long, but we fetch it with a 64-bit pointer which makes get_user() does a 64-bit fetch. Reading 4 extra bytes isn't harmful, unless we are at the end of and run off the table. It might also cause the zero page to get faulted in unnecessarily even if you are not at the end. Fix it up by doing a special 32-bit get_user() via a cast when we have 32-bit userspace. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> 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/20151111181931.3ACF6822@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 492cf7a0be68676382050daa06335f56db2cdb08 Merge: b71b437 5602ea0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Nov 12 07:37:53 2015 +0100 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: - Add missing newlines to some pr_err() calls (Arnaldo Carvalho de Melo) - Print full source file paths when using 'perf annotate --print-line --full-paths' (Michael Petlan) - Fix 'perf probe -d' when just one out of uprobes and kprobes is enabled (Wang Nan) - Add compiler.h to list.h to fix 'make perf-tar-src-pkg' generated tarballs, i.e. out of tree building (Arnaldo Carvalho de Melo) - Add the llvm-src-base.c and llvm-src-kbuild.c files, generated by the 'perf test' LLVM entries, when running it in-tree, to .gitignore (Yunlong Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5d50ac70fe98518dbf620bfba8184254663125eb Merge: 31c1feb 4e14e49 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 20:18:48 2015 -0800 Merge tag 'xfs-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs Pull xfs updates from Dave Chinner: "There is nothing really major here - the only significant addition is the per-mount operation statistics infrastructure. Otherwises there's various ACL, xattr, DAX, AIO and logging fixes, and a smattering of small cleanups and fixes elsewhere. Summary: - per-mount operational statistics in sysfs - fixes for concurrent aio append write submission - various logging fixes - detection of zeroed logs and invalid log sequence numbers on v5 filesystems - memory allocation failure message improvements - a bunch of xattr/ACL fixes - fdatasync optimisation - miscellaneous other fixes and cleanups" * tag 'xfs-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (39 commits) xfs: give all workqueues rescuer threads xfs: fix log recovery op header validation assert xfs: Fix error path in xfs_get_acl xfs: optimise away log forces on timestamp updates for fdatasync xfs: don't leak uuid table on rmmod xfs: invalidate cached acl if set via ioctl xfs: Plug memory leak in xfs_attrmulti_attr_set xfs: Validate the length of on-disk ACLs xfs: invalidate cached acl if set directly via xattr xfs: xfs_filemap_pmd_fault treats read faults as write faults xfs: add ->pfn_mkwrite support for DAX xfs: DAX does not use IO completion callbacks xfs: Don't use unwritten extents for DAX xfs: introduce BMAPI_ZERO for allocating zeroed extents xfs: fix inode size update overflow in xfs_map_direct() xfs: clear PF_NOFREEZE for xfsaild kthread xfs: fix an error code in xfs_fs_fill_super() xfs: stats are no longer dependent on CONFIG_PROC_FS xfs: simplify /proc teardown & error handling xfs: per-filesystem stats counter implementation ... commit 31c1febd7a45229edb3e5d86f354e3c1df543cbb Merge: b4a2375 0442f14 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 20:11:28 2015 -0800 Merge tag 'nfsd-4.4' of git://linux-nfs.org/~bfields/linux Pull nfsd updates from Bruce Fields: "Apologies for coming a little late in the merge window. Fortunately this is another fairly quiet one: Mainly smaller bugfixes and cleanup. We're still finding some bugs from the breakup of the big NFSv4 state lock in 3.17 -- thanks especially to Andrew Elble and Jeff Layton for tracking down some of the remaining races" * tag 'nfsd-4.4' of git://linux-nfs.org/~bfields/linux: svcrpc: document lack of some memory barriers nfsd: fix race with open / open upgrade stateids nfsd: eliminate sending duplicate and repeated delegations nfsd: remove recurring workqueue job to clean DRC SUNRPC: drop stale comment in svc_setup_socket() nfsd: ensure that seqid morphing operations are atomic wrt to copies nfsd: serialize layout stateid morphing operations nfsd: improve client_has_state to check for unused openowners nfsd: fix clid_inuse on mount with security change sunrpc/cache: make cache flushing more reliable. nfsd: move include of state.h from trace.c to trace.h sunrpc: avoid warning in gss_key_timeout lockd: get rid of reference-counted NSM RPC clients SUNRPC: Use MSG_SENDPAGE_NOTLAST when calling sendpage() lockd: create NSM handles per net namespace nfsd: switch unsigned char flags in svc_fh to bools nfsd: move svc_fh->fh_maxsize to just after fh_handle nfsd: drop null test before destroy functions nfsd: serialize state seqid morphing operations commit b4a237598aa740562f842db76d97465c44fb74c1 Merge: c970872 b1d06b6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 19:54:05 2015 -0800 Merge tag 'devicetree-fixes-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull DeviceTree fixes from Rob Herring: - Add empty of_translate_address needed for HiSilicon network driver. - Fix alignment requirements for CMA regions in DT. - Fix booting on PPC systems which can't do WARN() early. - Rename ak4554 binding doc from .c to .txt. * tag 'devicetree-fixes-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: of: Provide static inline function for of_translate_address if needed drivers: of: of_reserved_mem: fixup the alignment with CMA setup of: Print rather than WARN'ing when overlap check fails dt-bindings: ak4554: extension should be .txt commit c970872e59e46774d508777291b2f90910ab695b Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Wed Nov 11 19:43:11 2015 -0800 thermal: rockchip: fix compile error Missing a include file caused compile error. drivers/thermal/rockchip_thermal.c: In function 'rockchip_thermal_suspend': drivers/thermal/rockchip_thermal.c:720:2: error: implicit declaration of function 'pinctrl_pm_select_sleep_state' [-Werror=implicit-function-declaration] ... Fixes: 7e38a5b1daa1 ("thermal: rockchip: support the sleep pinctrl state to avoid glitches") Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <lkp@xxxxxxxxx> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f639eeb4a60ce39f154753e3a745bd755e0fe084 Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 02:10:09 2015 +0900 h8300: enable CLKSRC_OF Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit 2c5d16d6a9e7218e57b716e4fd9d77c776d21471 Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 16:04:43 2015 -0200 sd: Clear PS bit before Mode Select. According to SPC-4, in a Mode Select, the PS bit in Mode Pages is reserved and must be set to 0 by the driver. In the sd implementation, function cache_type_store does a Mode Sense, which might set the PS bit on the read buffer, followed by a Mode Select, which receives the same buffer, without explicitly clearing the PS bit. So, in cases where target supports saving the Mode Page to a non-volatile location, we end up doing a Mode Select with the PS bit set, which could cause an illegal request error if the target is checking this. This was observed on a new firmware change, which was subsequently reverted, but this changes sd.c to be more compliant with SPC-4. This patch clears the PS bit in the buffer returned by Mode Select, right before it is used in the Mode Select command. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3467a1468fe00fe3f693907f01d980f62d1e46a3 Author: Laurent Vivier <lvivier@xxxxxxxxxx> Date: Mon Nov 9 17:49:09 2015 +0100 ibmvscsi: set max_lun to 32 As defined in 4.6.9 of SAM-4, the encoding of LUN is on 5 bits (max_lun=32) and the current value is only 8. Set max_lun to IBMVSCSI_MAX_LUN (32). Signed-off-by: Laurent Vivier <lvivier@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit e3678a0c4c207d2d0104d69bffbe37c965d4e87d Author: Laurent Vivier <lvivier@xxxxxxxxxx> Date: Mon Nov 9 17:49:08 2015 +0100 ibmvscsi: display default value for max_id, max_lun and max_channel. As devices with values greater than that are silently ignored, this gives some hints to the sys admin to know why he doesn't see his devices... Signed-off-by: Laurent Vivier <lvivier@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 491212014ec3ab6c477e7368405c5ae028b05ceb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 11 01:15:24 2015 +0300 mptfusion: don't allow negative bytes in kbuf_alloc_2_sgl() There is a static checker warning here because "bytes" is controlled by the user and we cap the upper bound with min() but allow negatives. Negative bytes will result in some nasty warning messages but are not super harmful. Anyway, no one needs negative bytes so let's just check for it and return NULL. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 9c9bd593f30fc8a4d6e70d72b49b5651fa492e65 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Nov 9 11:34:20 2015 -0800 scsi: pmcraid: replace struct timeval with ktime_get_real_seconds() Replace the use of struct timeval and do_gettimeofday() with 64 bit ktime_get_real_seconds. Prevents 32-bit type overflow in year 2038 on 32-bit systems. Driver was using the seconds portion of struct timeval (.tv_secs) to pass a millseconds timestamp to the firmware. This change maintains that same behavior using ktime_get_real_seconds. The structure used to pass the timestamp to firmware is 48 bits and works fine as long as the top 16 bits are zero and they will be zero for a long time..ie. thousands of years. Alternative Change: Add sub second granularity to timestamp As noted above, the driver only used the seconds portion of timeval, ignores the microseconds portion, and by multiplying by 1000 effectively does a <<10 and always writes zero into timestamp[0]. The alternative change would pass all the bits to the firmware: struct timespec64 ts; ktime_get_real_ts64(&ts); timestamp = ts.tv_sec * MSEC_PER_SEC + ts.tv_nsec / NSEC_PER_MSEC; Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 36f8ef7f7684997f1c1efcc775b1d7cdf452ce44 Author: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Date: Fri Oct 30 02:11:10 2015 -0700 mvumi: 64bit value for seconds_since1970 struct mvumi_hs_page2 stores a "seconds_since1970" field which is of type u64. It is however, written to, using 'struct timeval' which has a 32-bit seconds field and whose value will overflow in year 2038. This patch uses ktime_get_real_seconds() instead since it provides a 64-bit seconds value, which is 2038 safe. Signed-off-by: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit dd29dae00d39186890a5eaa2fe4ad8768bfd41a9 Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Date: Fri Oct 30 12:22:58 2015 -0600 be2iscsi: Fix bogus WARN_ON length check drivers/scsi/be2iscsi/be_main.c: In function 'be_sgl_create_contiguous': drivers/scsi/be2iscsi/be_main.c:3187:18: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses] WARN_ON(!length > 0); gcc version 5.2.1 Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Cc: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxxxxx> Cc: Minh Tran <minh.tran@xxxxxxxxxxxxx> Cc: John Soni Jose <sony.john-n@xxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <JBottomley@xxxxxxxx> Reported-by: Joel Stanley <joel@xxxxxxxxx> Reviewed-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit a4cf30e15ccea82a07fa5870e8af787b9ea1a672 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Oct 30 12:37:49 2015 +0100 scsi_scan: don't dump trace when scsi_prep_async_scan() is called twice The only user of scsi_prep_async_scan() is scsi_scan_host() and it handles the situation correctly. Move 'called twice' reporting to debug level as well. The issue is observed on Hyper-V: on any device add/remove event storvsc driver calls scsi_scan_host() and in case previous scan is still running we get the message and stack dump on console. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit abc01f7d54da8c77d650e730bcaef1c6c3982a5a Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:41 2015 +0530 mpt3sas: Bump mpt3sas driver version to 09.102.00.00 Bump mpt3sas driver version to 09.102.00.00 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c84b06a48c4d8ac8270624453132f3fa1a4a0f9d Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:35 2015 +0530 mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs Modified the mpt3sas driver to have a single driver module which supports both SAS 2.0 & SAS 3.0 HBA devices. * Added SAS 2.0 HBA device IDs to the mpt3sas_pci_table pci table. * Created two separate SCSI host templates for SAS2 and SAS3 HBAs so that, during the driver load time driver can use corresponding host template(based the pci device ID) while registering a scsi host adapter instance for that pci device. * Registered two IOCTL devices, mpt2ctl is for SAS2 HBAs & mpt3ctl for SAS3 HBAs. Also updated the code to make sure that mpt2ctl device processes only those ioctl cmds issued for the SAS2 HBAs and mpt3ctl device processes only those ioctl cmds issued for the SAS3 HBAs. * Added separate indexing for SAS2 and SAS3 HBAs. * Replaced compile time check 'MPT2SAS_SCSI' to run time check 'hba_mpi_version_belonged' whereever needed. * Aliased this merged driver to mpt2sas using MODULE_ALIAS. * Moved global varaible 'driver_name' to per adapter instance variable. * Created two raid function template and used corresponding raid function templates based on the run time check 'hba_mpi_version_belonged'. * Moved mpt2sas_warpdrive.c file from mpt2sas to mpt3sas folder and renamed it as mpt3sas_warpdrive.c. * Also renamed the functions in mpt3sas_warpdrive.c file to follow current driver function name convention. * Updated the Makefile to build mpt3sas_warpdrive.o file for these WarpDrive-specific functions. * Also in function mpt3sas_setup_direct_io(), used sector_div() API instead of division operator (which gives compilation errors on 32 bit machines). * Removed mpt2sas files, mpt2sas directory & mpt3sas_module.c file. * Added module parameter 'hbas_to_enumerate' which permits using this merged driver as a legacy mpt2sas driver or as a legacy mpt3sas driver. Here are the available options for this module parameter: 0 - Merged driver which enumerates both SAS 2.0 & SAS 3.0 HBAs 1 - Acts as legacy mpt2sas driver, which enumerates only SAS 2.0 HBAs 2 - Acts as legacy mpt3sas driver, which enumerates only SAS 3.0 HBAs * Removed mpt2sas entries from SCSI's Kconfig and Makefile files. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit d0c627afb7a6753488b9e8948b307941880b1b9e Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:34 2015 +0530 mpt2sas, mpt3sas: Update the driver versions Bump the mpt2sas driver version to 20.102.00.00 and Bump the mpt3sas driver version to 9.101.00.00. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 08c4d550c5797d842b1f1bb85d474a8b54f02382 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:33 2015 +0530 mpt3sas: setpci reset kernel oops fix 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 This patch is ported from commit 6229b414b3ad ("mpt2sas: setpci reset kernel oops fix"). Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 989e43c7ec3401f95e40a792367995e4d4fc5b66 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:32 2015 +0530 mpt3sas: Added OEM Gen2 PnP ID branding names Added OEM Gen2 PnP ID branding names from mpt2sas driver. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 146b16c8071f5f6c67895d15beeee1163f5107c4 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:31 2015 +0530 mpt3sas: Refcount fw_events and fix unsafe list usage The fw_event_work struct is concurrently referenced at shutdown. 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. This patch is ported from commit 008549f6e8a1 ("mpt2sas: Refcount fw_events and fix unsafe list usage"). These changes are also required for mpt3sas. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit d1cb5e495e5384f6d90a8573f1be9cc79b85c862 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:30 2015 +0530 mpt3sas: Refcount sas_device objects and fix unsafe list usage sas_device 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. This patch is ported from the following mpt2sas driver commit d224fe0d6097 ("mpt2sas: Refcount sas_device objects and fix unsafe list usage"). Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 422630955ea34841a2a074cb6734ec5d70758b0d Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:29 2015 +0530 mpt3sas: sysfs attribute to report Backup Rail Monitor Status A new sysfs shost attribute called "BMR_status" is implemented to report Backup Rail Monitor status. This attribute is located in: /sys/class/scsi_host/host#/BMR_status When reading this adapter attribute, the driver will output the state of GPIO[24]. It returns "0" if BMR is healthy and "1" for failure. If it returns an empty string then it means that there was an error while obtaining the BMR status. Check dmesg for what error has occurred. This sysfs shost attribute is mainly for WarpDrive controllers. This commit is a port of 6c265660c262 ("mpt2sas: Provide sysfs attribute to report Backup Rail Monitor Status"). Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 7786ab6aff9cea97eb0a8d67705c68e97a664bf3 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:28 2015 +0530 mpt3sas: Ported WarpDrive product SSS6200 support Ported the following list of WarpDrive-specific patches: 1. commit 0bdccdb0a090ad8dc5f851cad5e843244c410ee8 ("mpt2sas: WarpDrive New product SSS6200 support added") 2. commit 82a452581230b3ffc9d6475dffdb2568497b5fec ("mpt2sas: WarpDrive Infinite command retries due to wrong scsi command entry in MPI message") 3. commit ba96bd0b1d4a4e11f23671e1f375a5c8f46b0fe7 ("mpt2sas: Support for greater than 2TB capacity WarpDrive") 4. commit 4da7af9494b2f98a1503a2634059300c3e4615e6 ("mpt2sas: Do not retry a timed out direct IO for Warpdrive") 5. commit daeaa9df92bd742f4e6d4d6039d689277a8e31bd ("mpt2sas: Avoid type casting for direct I/O commands"). Also set the mpt2_ioctl_iocinfo adapter_type to: 1. MPT3_IOCTL_INTERFACE_SAS3 for Gen3 HBAs 2. MPT2_IOCTL_INTERFACE_SAS2_SSS6200 for Warp Drive 3. MPT2_IOCTL_INTERFACE_SAS2 for other Gen2 HBAs Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 16e179bda58f0931854a669c9a70fd9139015899 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:27 2015 +0530 mpt3sas: fix for driver fails EEH, recovery from injected pci bus error This patch stops the driver to invoke kthread (which remove the dead ioc) for some time while EEH recovery has started. This patch is a port of commit b4730fb6e54a ("mpt2sas: fix for driver fails EEH, recovery from injected pci bus error")'. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 42081173c74e0867b996f5fd6b46d3c1606377c7 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:26 2015 +0530 mpt3sas: Manage MSI-X vectors according to HBA device type 1. Do not enable MSI-X vectors for SAS2008 B0 controllers 2. Enable a single MSI-X vector for the following controller: a. SAS2004 b. SAS2008 c. SAS2008_1 d. SAS2008_2 e. SAS2008_3 f. SAS2116_1 g. SAS2116_2 3. Enable Combined Reply Post Queue Support (i.e. 96 MSI-X vectors) for Gen3 Invader/Fury C0 and above revision HBAs 4. Enable Combined Reply Post Queue Support (i.e. 96 MSI-X vectors) for all Intruder and Cutlass HBAs Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 45506049c7abd4c17c35ad43adc07bf1236a3fcf Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:25 2015 +0530 mpt3sas: Don't send PHYDISK_HIDDEN RAID action request on SAS2 HBAs Avoid sending PHYDISK_HIDDEN RAID action requests to SAS2 controllers since they don't support it. Also enable fast_path only for SAS3 HBAs. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 471ef9d4e4982595b2a6081d314a69ca626245ae Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:24 2015 +0530 mpt3sas: Build MPI SGL LIST on GEN2 HBAs and IEEE SGL LIST on GEN3 HBAs Gen2 HBAs use MPI scatter-gather lists whereas Gen3 HBAs use IEEE scatter-gather lists. Modify the common code part in such a way that it will build IEEE SGL tables for Gen3 HBAs and MPI SGL tables for Gen2 HBAs. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit af0094115b080b41eb5a3567c177ce960a07dea4 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:23 2015 +0530 mpt2sas, mpt3sas: Remove SCSI_MPTXSAS_LOGGING entry from Kconfig Currently there is a logging level option provided for each of our drivers in the kernel configuration utility. Users can enable this option to get more verbose information. By default it is enabled. Only when this option is enabled will the functions which display the required information get compiled in. As we are merging the both drivers we can no longer provide this configuration option. Remove the SCSI_MPTXSAS_LOGGING entry from Kconfig and unconditionally enable logging (by removing the #ifdef CONFIG_SCSI_MPT3SAS_LOGGING preprocessor check conditions) so that all functions which are defined to display more verbose information get compiled in. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit d357e84d65dfcdb502fdb1aaab2873a82a828db5 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:22 2015 +0530 mpt3sas: Define 'hba_mpi_version_belonged' IOC variable 1. Use 'hba_mpi_version_belonged' IOC varable to uniquely identify each individual generation driver functionality at runtime. 2. Declare global variable 'driver_name' and use this variable while reserving PCI regions and while allocating the IRQs. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 09ec55ed74ebb8a61859609011d28ab0bcb15e08 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:21 2015 +0530 mpt2sas: Remove .c and .h files from mpt2sas driver Remove .c and .h files which are no longer needed from mpt2sas driver. We are reusing this code from mpt3sas. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit f57ab32a843690fe7431ebb3a2f461e689a2e3c7 Merge: f6f18a2 89ba7d8 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Nov 12 00:22:56 2015 +0100 Merge branch 'pm-tools' * pm-tools: Creating a common structure initialization pattern for struct option cpupower: Enable disabled Cstates if they are below max latency cpupower: Remove debug message when using cpupower idle-set -D switch cpupower: cpupower monitor reports uninitialized values for offline cpus tools/power turbostat: bugfix: print MAX_NON_TURBO_RATIO tools/power turbostat: simplify Bzy_MHz calculation commit f6f18a261c1748973e9aac529ed81bb4abd9f120 Merge: 1f47b0d 2547923 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Nov 12 00:22:50 2015 +0100 Merge branch 'pm-domains' * pm-domains: PM / Domains: Allocate memory outside domain locks PM / Domains: Remove dev->driver check for runtime PM commit 78f97c8f612d0e7d7d08d741549e89e8c951920a Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:20 2015 +0530 mpt2sas: Move Gen2 HBA's device registration to a separate file 1. Create a mpt2sas_module.c file for mpt2sas where GEN2 HBA devices register with PCI, SML, IOCTL subsystems. 2. Updated the Makefile to use the object files from mpt3sas folder. 3. Defined a compilation flag SCSI_MPT2SAS which can be used to not include those sections of code from mpt3sas driver which are not required for mpt2sas driver. 4. Inherited automatic diag buffer feature from mpt3sas driver. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 7497392a1193ea5b32d8a8a2b8d77888e7fe8221 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:19 2015 +0530 mpt3sas: Move Gen3 HBA's device registration to a separate file Created a mpt3sas_module.c file for mpt3sas driver where it can register SAS3 HBA devices with PCI, SML, IOCTL subsystems. Also removed the corresponding interfaces from mpt3sas_scsih.c file. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 8a7e4c24e08fceb94887eb6d8123d6059dc5ddcd Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Wed Nov 11 17:30:18 2015 +0530 mpt3sas: Added mpt2sas driver definitions 1. Added mpt2sas driver related macros in mpt3sas header files 2. Made scsi host's, raid class', pci's, ioctl's callback functions global so that both drivers can use them. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3c5866565f37d45e3b812e3045caf2358f2f2377 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Nov 11 17:30:17 2015 +0530 mpt2sas: Use mpi headers from mpt3sas Use a single set of the hardware description headers instead of having them in the source tree twice. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 5602ea09c19e85557f2b4d30be1d6ba349b7a038 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Nov 11 12:54:42 2015 -0300 tools include: Add compiler.h to list.h list.h needs WRITE_ONCE() since 7f5f873c6a07 ("rculist: Use WRITE_ONCE() when deleting from reader-visible list") add it before including the kernel's list.h file. This fixes builds of 'make perf-tar-src-pkg' perf tool tarball builds, i.e. out of tree builds. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-e0rb8f7jwz0jn24ttyick9u6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 421fd0845eaeecce6b3806f7f0c0d67d1f9ad108 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 09:50:15 2015 +0000 perf probe: Verify parameters in two functions On kernel with only one out of CONFIG_KPROBE_EVENTS and CONFIG_UPROBE_EVENTS enabled, 'perf probe -d' causes a segfault because perf_del_probe_events() calls probe_file__get_events() with a negative fd. This patch fixes it by adding parameter validation at the entry of probe_file__get_events() and probe_file__get_rawlist(). Since they are both non-static public functions (in .h file), parameter verifying is required. v1 -> v2: Verify fd at the head of probe_file__get_rawlist() instead of checking at call site (suggested by Masami and Arnaldo at [1,2]). [1] http://lkml.kernel.org/r/50399556C9727B4D88A595C8584AAB37526048E3@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [2] http://lkml.kernel.org/r/20151105155830.GV13236@xxxxxxxxxx Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446803415-83382-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e87b49116dedba3464fd8d0ec9393b4841167334 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Nov 9 17:12:03 2015 -0300 perf session: Add missing newlines to some pr_err() calls Before: [acme@zoo linux]$ perf evlist WARNING: The perf.data file's data size field is 0 which is unexpected. Was the 'perf record' command properly terminated? non matching sample_type[acme@zoo linux]$ After: [acme@zoo linux]$ perf evlist WARNING: The perf.data file's data size field is 0 which is unexpected. Was the 'perf record' command properly terminated? non matching sample_type [acme@zoo linux]$ Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-wscok3a2s7yrj8156oc2r6qe@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4a4c03c1bb286bf0def7ae506bc076285f58d8b6 Author: Michael Petlan <mpetlan@xxxxxxxxxx> Date: Mon Nov 9 16:33:31 2015 +0100 perf annotate: Support full source file paths for srcline fix The --full-paths option did not show the full source file paths in the 'perf annotate' tool, because the value of the option was not propagated into the related functions. With this patch the value of the --full-paths option is known to the function that composes the srcline string, so it prints the full path when necessary. Committer Note: This affects annotate when the --print-line option is used: # perf annotate -h 2>&1 | grep print-line -l, --print-line print matching source lines (may be slow) Looking just at the lines that should be affected by this change: Before: # perf annotate --print-line --full-paths --stdio fput | grep '\.[ch]:[0-9]\+' 94.44 atomic64_64.h:114 5.56 file_table.c:265 file_table.c:265 5.56 : ffffffff81219a00: callq ffffffff81769360 <__fentry__> atomic64_64.h:114 94.44 : ffffffff81219a05: lock decq 0x38(%rdi) After: # perf annotate --print-line --full-paths --stdio fput | grep '\.[ch]:[0-9]\+' 94.44 /home/git/linux/arch/x86/include/asm/atomic64_64.h:114 5.56 /home/git/linux/fs/file_table.c:265 /home/git/linux/fs/file_table.c:265 5.56 : ffffffff81219a00: callq ffffffff81769360 <__fentry__> /home/git/linux/arch/x86/include/asm/atomic64_64.h:114 94.44 : ffffffff81219a05: lock decq 0x38(%rdi) # Signed-off-by: Michael Petlan <mpetlan@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://permalink.gmane.org/gmane.linux.kernel.perf.user/2365 Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3d07b3bed8eac28bbb336cd9304f1974d9a425fb Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Mon Nov 9 11:10:03 2015 +0800 perf test: Add llvm-src-base.c and llvm-src-kbuild.c to .gitignore Commit b31de018a6284a25e0fdfeb028e724f8417ec3b1 ("perf test: Enhance the LLVM test: update basic BPF test program") dynamically creates file llvm-src-base.c during the perf building. Similarly, the commit 7af3f3d55b80cce40ad94b6b8e173dccedaf25e6 ("perf test: Enhance the LLVM tests: add kbuild test") dynamically creates file llvm-src-kbuild.c during the perf building. Add them to .gitignore. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: b31de018a628 ("perf test: Enhance the LLVM test: update basic BPF test program") Fixes: 7af3f3d55b80 ("perf test: Enhance the LLVM tests: add kbuild test") Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8d3de01cfa37bfcf54f1d84eafb7db8530b74199 Merge: 842cf0b 100ceb6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 10:21:34 2015 -0800 Merge tag 'firewire-update' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 Pull firewire fix from Stefan Richter: "Work around JMicron initialization quirk, which ffected isochronous transmission, e.g. audio via FFADO or ALSA" * tag 'firewire-update' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394: firewire: ohci: fix JMicron JMB38x IT context discovery commit 91633a6dc7cb49ae7c3d268e183ddc905e739fff Author: Eddie Kovsky <ewk@xxxxxxxxxxxx> Date: Thu Nov 5 23:25:35 2015 -0700 Documentation: Add minimal Mutt config for using Gmail This patch provides a minimal configuration to set up Mutt for submitting plain text patches using Gmail. Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 803cfe2635cff6ea2147dc1065b5bd0bb98c6394 Author: Eddie Kovsky <ewk@xxxxxxxxxxxx> Date: Thu Nov 5 23:23:01 2015 -0700 Documentation: Add note on sending files directly with Mutt Like 'git send-email', Mutt can also be used to send patches generated with 'git format-patch'. This works regardless of the editor the contributor has set up to use with Mutt. Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 842cf0b9525813b084720a82d0d3aabc750b7ccc Merge: 65d57b30 7c7afc4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 09:45:24 2015 -0800 Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs update from Al Viro: - misc stable fixes - trivial kernel-doc and comment fixups - remove never-used block_page_mkwrite() wrapper function, and rename the function that is _actually_ used to not have double underscores. * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: fs: 9p: cache.h: Add #define of include guard vfs: remove stale comment in inode_operations vfs: remove unused wrapper block_page_mkwrite() binfmt_elf: Correct `arch_check_elf's description fs: fix writeback.c kernel-doc warnings fs: fix inode.c kernel-doc warning fs/pipe.c: return error code rather than 0 in pipe_write() fs/pipe.c: preserve alloc_file() error code binfmt_elf: Don't clobber passed executable's file header FS-Cache: Handle a write to the page immediately beyond the EOF marker cachefiles: perform test on s_blocksize when opening cache file. FS-Cache: Don't override netfs's primary_index if registering failed FS-Cache: Increase reference of parent after registering, netfs success debugfs: fix refcount imbalance in start_creating commit 65d57b3050eed3d848e51761904668b5d156743c Merge: c8fff3e 4afa5f9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 09:23:07 2015 -0800 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fix from Herbert Xu: "This fixes a bug in the algif_hash interface that may lead to crashes when used with certain algorithms such as HMAC" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: algif_hash - Only export and import on sockets with data commit c8fff3ed321abf11bea7464884b0876c46ff2491 Merge: baf51c4 5dcd7b4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 09:16:10 2015 -0800 Merge tag 'pwm/for-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm Pull pwm updates from Thierry Reding: "This round contains a couple of new drivers for the Marvell Berlin family of SoCs, various SoCs from Renesas and Broadcom as well as the backlight PWM present on MediaTek SoCs. Further existing drivers are extended to support a wider range of hardware. The remaining patches are minor fixes and cleanups across the board. Note that one of the patches included in this pull request is against arch/unicore32. I've included it here because I couldn't get a response from Guan Xuetao and I consider the change low-risk. Equivalent patches have been merged and tested in Samsung and PXA trees. The goal is to finally get rid of legacy code paths that have repeatedly been causing headaches" * tag 'pwm/for-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (24 commits) pwm: sunxi: Fix whitespace issue pwm: sysfs: Make use of the DEVICE_ATTR_[RW][WO] macro's pwm: sysfs: Remove unnecessary temporary variable unicore32: nb0916: Use PWM lookup table pwm: pwm-rcar: Revise the device tree binding document about compatible pwm: Return -ENODEV if no PWM lookup match is found pwm: sun4i: Add support for PWM controller on sun5i SoCs pwm: Set enable state properly on failed call to enable pwm: lpss: Add support for runtime PM pwm: lpss: Add more Intel Broxton IDs pwm: lpss: Support all four PWMs on Intel Broxton pwm: lpss: Add support for multiple PWMs pwm-pca9685: enable ACPI device found on Galileo Gen2 pwm: Add MediaTek display PWM driver support dt-bindings: pwm: Add MediaTek display PWM bindings pwm: tipwmss: Enable on TI DRA7x and AM437x pwm: atmel-hlcdc: add sama5d2 SoC support. pwm: Add Broadcom BCM7038 PWM controller support Documentation: dt: add Broadcom BCM7038 PWM controller binding pwm: Add support for R-Car PWM Timer ... commit 0214503c5b42d05f146ede6d0bbf49265eca2909 Author: Wang YanQing <udknight@xxxxxxxxx> Date: Fri Oct 30 01:15:39 2015 +0800 Documentation: dontdiff: remove media from dontdiff media will hide all the changes in drivers/media. Signed-off-by: Wang YanQing <udknight@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d7ac8d85d39f460df9204b875eb985e18a5c523b Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Nov 5 15:21:47 2015 -0500 Documentation/SubmittingPatches: discuss In-Reply-To Add a paragraph suggesting best practices for when to link patches to previous LKML messages via In-Reply-To. Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> [jc: moved the added text to a separate section] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit a907c907656bdbe082555a579ee6058a873b6e3a Author: NeilBrown <neilb@xxxxxxxx> Date: Sat Nov 7 17:38:58 2015 +1100 Remove email address from Documentation/filesystems/overlayfs.txt I'm getting a surprising large number of questions about overlayfs sent to me personally, rather than to a relevant mailing list. So remove my email address from the documentation, and add a note about looking in the MAINTAINERS file. Signed-off-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit e2807e67d58328053dc3b6f4b91033ca4ab21c0d Author: Stefan Tatschner <rumpelsepp@xxxxxxxxxxxxx> Date: Mon Nov 9 14:17:09 2015 +0100 can-doc: Add missing semicolon to example The example code for CAN_BCM, connect(s, (struct sockaddr *)&addr, sizeof(addr)) lacks a semicolon at the end of the line. This patch adds that missing semicolon to ensure that the given code snippet actually compiles. Signed-off-by: Stefan Tatschner <rumpelsepp@xxxxxxxxxxxxx> Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit baf51c43926ec9aa42ef9d33ca6ee9e3e043aebe Merge: c5a3788 7c5b275 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 11 09:03:01 2015 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux Pull thermal updates from Zhang Rui: - Implement generic devfreq cooling mechanism through frequency reduction for devices using devfreq. From Ã?rjan Eide and Javi Merino. - Introduce OMAP3 support on TI SoC thermal driver. From Pavel Mack and Eduardo Valentin. - A bounch of small fixes on devfreq_cooling, Exynos, IMX, Armada, and Rockchip thermal drivers. * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (24 commits) thermal: exynos: Directly return 0 instead of using local ret variable thermal: exynos: Remove unneeded semicolon thermal: exynos: Use IS_ERR() because regulator cannot be NULL thermal: exynos: Fix first temperature read after registering sensor thermal: exynos: Fix unbalanced regulator disable on probe failure devfreq_cooling: return on allocation failure thermal: rockchip: support the sleep pinctrl state to avoid glitches in s2r dt-bindings: rockchip-thermal: Add the pinctrl states in this document thermal: devfreq_cooling: Make power a u64 thermal: devfreq_cooling: use a thermal_cooling_device for register and unregister thermal: underflow bug in imx_set_trip_temp() thermal: armada: Fix possible overflow in the Armada 380 thermal sensor formula thermal: imx: register irq handler later in probe thermal: rockhip: fix setting thermal shutdown polarity thermal: rockchip: fix handling of invalid readings devfreq_cooling: add trace information thermal: Add devfreq cooling PM / OPP: get the voltage for all OPPs tools/thermal: tmon: use pkg-config also for CFLAGS linux/thermal.h: rename KELVIN_TO_CELSIUS to DECI_KELVIN_TO_CELSIUS ... commit e3a7a3bf362e2a8acc301e5eaec2631e740a8a95 Author: Jens Axboe <axboe@xxxxxx> Date: Wed Nov 11 09:37:34 2015 -0700 block: don't hardcode blk_qc_t -> tag mask Use the shift/mask we use elsewhere. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit cadfbb6ec2e55171479191046142c927a8b12d87 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 19:42:49 2015 -0700 dax_io(): don't let non-error value escape via retval instead of EFAULT Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.0+ Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ccc2600b8a28f3eb0c126cd00312baba1c22cccb Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Fri Oct 30 18:36:16 2015 -0700 block: fix blk-core.c kernel-doc warning Fix kernel-doc warning in blk-core.c: Warning(..//block/blk-core.c:1549): No description found for parameter 'same_queue_rq' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dbd3ca50753e70e09cad747dce23b1a7683a3342 Author: Vivek Goyal <vgoyal@xxxxxxxxxx> Date: Mon Nov 9 09:23:40 2015 -0700 fs/block_dev.c: Remove WARN_ON() when inode writeback fails If a block device is hot removed and later last reference to device is put, we try to writeback the dirty inode. But device is gone and that writeback fails. Currently we do a WARN_ON() which does not seem to be the right thing. Convert it to a ratelimited kernel warning. Reported-by: Andi Kleen <andi@xxxxxxxxxxxxxx> Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> [jmoyer@xxxxxxxxxx: get rid of unnecessary name initialization, 80 cols] Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c74dc7801d515d01847fd5cf2b472489fa5717b1 Author: Stephan Günther <guenther@xxxxxx> Date: Wed Nov 4 00:49:45 2015 +0100 NVMe: add support for Apple NVMe controller Add PCI ID of Apple's NVMe controller. Signed-off-by: Stephan Guenther <guenther@xxxxxx> Signed-off-by: Maurice Leclaire <leclaire@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit a310acd7a7ea53533886c11bb7edd11ffd61a036 Author: Stephan Günther <guenther@xxxxxx> Date: Sat Nov 7 18:07:02 2015 -0700 NVMe: use split lo_hi_{read,write}q Some controllers may require ordered split transfers even on 64bit machines, e.g. Apple's NVMe controller as found in the MacBook8,1 and MacBookAir7,1 (256/512GB models). This patch enforces ordered split transfers on 64bit platforms, which works around that issue for all controllers. As pointed out by Christoph [1] there should be no performance impact due to that modification. [1] http://lists.infradead.org/pipermail/linux-nvme/2015-November/002965.html Signed-off-by: Stephan Guenther <guenther@xxxxxx> Signed-off-by: Maurice Leclaire <leclaire@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Updated by me to explicitly use lo_hi_read/writeq instead of playing define tricks. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1fa8cc52f46c14fb1afc20c220855c40a5d28fcd Author: Jens Axboe <axboe@xxxxxx> Date: Thu Nov 5 14:32:55 2015 -0700 blk-mq: mark __blk_mq_complete_request() static It's no longer used outside of blk-mq core. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 82c426e0f1f0b279a04cbafd1d25b504bbf49c22 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Nov 5 13:29:25 2015 -0700 MAINTAINERS: add reference to new linux-block list In the past, I've resisted doing a non-lkml related block/storage list. But we have more activity now than we previously did, and ain't nobody got time to track and follow lkml. So now linux-block@xxxxxxxxxxxxxxx exists. Please CC your patches related to block/storage here, and we'll have an easier time tracking them. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b12363d0a5da00c422641f3d926fffb713192ea3 Author: Sathyavathi M <sathya.m@xxxxxxxxxxx> Date: Thu Nov 5 12:52:28 2015 -0700 NVMe: Increase the max transfer size when mdts is 0 This patch address the issue when IO with 128KB from FIO is split into two parts, 124KB and 4KB, due to max transfer size(127KB). This degrades the device performance. Signed-off-by: Sathyavathi M <sathya.m@xxxxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2dbe5495763612f7c1b68fc897cd28c9e22079b8 Author: Jan Kara <jack@xxxxxxxx> Date: Wed Nov 4 17:13:39 2015 +0100 brd: Refuse improperly aligned discard requests Currently when improperly aligned discard request is submitted, we just silently discard more / less data which results in filesystem corruption in some cases. Refuse such misaligned requests. Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e41b104c7dba92443e594e6bc86e4b0bf1cdf573 Author: Zhou Chengming <zhouchengming1@xxxxxxxxxx> Date: Fri Nov 6 14:25:00 2015 +0800 livepatch: x86: fix relocation computation with kASLR With kASLR enabled, old_addr provided by patch module is being shifted accrodingly so that the symbol lookups work. To have module relocations handled properly as well, the same transformation needs to be perfomed on relocation address information. [jkosina@xxxxxxx: extended / reworded changelog a bit] Reported-by: Cyril B. <cbay@xxxxxxxxxxxxxx> Signed-off-by: Zhou Chengming <zhouchengming1@xxxxxxxxxx> Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 121a868d05500b9d7e5108cc52474dafbf60e285 Author: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 11:06:08 2015 +0100 s390/zcrypt: Fix initialisation when zcrypt is built-in ap_bus and zcrypt_api assumed module information to always be present and initialisation to be done in module loading order (symbol dependencies). These assumptions don't hold if zcrypt is built-in; THIS_MODULE will be NULL in this case and init call order is linker order, i.e. Makefile order. Fix initialisation order by ordering the object files in the Makefile according to their dependencies, like the module loader would do. Fix message type registration by using a dedicated "name" field rather than piggy-backing on the module ("owner") information. There's no change to the requirement that module name and msgtype name are identical. The existing name macros are used. We don't need any special code for dealing with the drivers being built-in; the generic module support code already does the right thing. Test results: 1. CONFIG_MODULES=y, CONFIG_ZCRYPT=y KVM: boots, no /sys/bus/ap (expected) LPAR with CEX5: boots, /sys/bus/ap/devices/card*/type present 2. CONFIG_MODULES=y, CONFIG_ZCRYPT=m=: KVM: boots, loading zcrypt_cex4 (and ap) fails (expected) LPAR with CEX5: boots, loading =zcrypt_cex4= succeeds, /sys/bus/ap/devices/card*/type present after explicit module loading 3. CONFIG_MODULES unset, CONFIG_ZCRYPT=y: KVM: boots, no /sys/bus/ap (expected) LPAR with CEX5: boots, /sys/bus/ap/devices/card*/type present No further testing (user-space functionality) was done. Fixes: 3b6245fd303f ("s390/zcrypt: Separate msgtype implementation from card modules.") Signed-off-by: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e387753c5fb4ae40393ba3f00b7958744670cac2 Author: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 18:29:52 2015 +0100 s390/zcrypt: Fix kernel crash on systems without AP bus support On systems without AP bus (e.g. KVM) the kernel crashes during init calls when zcrypt is built-in: kernel BUG at drivers/base/driver.c:153! illegal operation: 0001 ilc:1 [#1] SMP Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.2.0+ #221 task: 0000000010a40000 ti: 0000000010a48000 task.ti:0000000010a48000 Krnl PSW : 0704c00180000000 0000000000592bd6(driver_register+0x106/0x140) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3 0000000000000012 0000000000000000 0000000000c45328 0000000000c44e30 00000000009ef63c 000000000067f598 0000000000cf3c58 0000000000000000 000000000000007b 0000000000cb1030 0000000000000002 0000000000000000 0000000000ca8580 0000000010306700 00000000001001d8 0000000010a4bd88 Krnl Code: 0000000000592bc6: f0b00004ebcf srp 4(12,%r0),3023(%r14),0 0000000000592bcc: f0a0000407f4 srp 4(11,%r0),2036,0 #0000000000592bd2: a7f40001 brc 15,592bd4 >0000000000592bd6: e330d0000004 lg %r3,0(%r13) 0000000000592bdc: c0200021edfd larl %r2,9d07d6 0000000000592be2: c0e500126d8f brasl %r14,7e0700 0000000000592be8: e330d0080004 lg %r3,8(%r13) 0000000000592bee: a7f4ffab brc 15,592b44 Call Trace: ([<00000000001001c8>] do_one_initcall+0x90/0x1d0) [<0000000000c6dd34>] kernel_init_freeable+0x1e4/0x2a0 [<00000000007db53a>] kernel_init+0x2a/0x120 [<00000000007e8ece>] kernel_thread_starter+0x6/0xc [<00000000007e8ec8>] kernel_thread_starter+0x0/0xc Last Breaking-Event-Address: [<0000000000592bd2>] driver_register+0x102/0x140 When zcrypt is built as a module, the module loader ensures that the driver modules cannot be loaded if the AP bus module returns an error during initialisation. But if zcrypt and the driver are built-in, the driver is getting initialised even if the AP bus initialisation failed. The driver invokes ap_driver_register() during initialisation, which then causes operations on uninitialised data structures to be performed. Explicitly protect ap_driver_register() by introducing an "initialised" flag that gets set iff the AP bus initialisation was successful. When the AP bus initialisation failed, ap_driver_register() will error out with -ENODEV, causing the driver initialisation to fail as well. Test results: 1. Inside KVM (no AP bus), zcrypt built-in Boots. /sys/bus/ap not present (expected). 2. Inside KVM (no AP bus), zcrypt as module Boots. Loading zcrypt_cex4 fails because loading ap_bus fails (expected). 3. On LPAR with CEX5, zcrypt built-in Boots. /sys/bus/ap/devices/card* present but .../card*/type missing (i.e. zcrypt_device_register() fails, unrelated issue). 4. On LPAR with CEX5, zcrypt as module Boots. Loading zcrypt_cex4 successful, /sys/bus/ap/devices/card*/type present. No further testing (user-space functionality) was done. Signed-off-by: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 18e22a1772260045648e49e2048ecc7193422a80 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 29 18:39:54 2015 +0200 s390: add support for ipl devices in subchannel sets > 0 Allow to ipl from CCW based devices residing in any subchannel set. Reviewed-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e2656412f2a7343ecfd13eb74bac0a6e6e9c5aad Author: Lu, Han <han.lu@xxxxxxxxx> Date: Wed Nov 11 16:54:27 2015 +0800 ALSA: hda/hdmi - apply Skylake fix-ups to Broxton display codec Broxton and Skylake have the same behavior on display audio. So this patch applys Skylake fix-ups to Broxton. Signed-off-by: Lu, Han <han.lu@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 997effa0c198ab3b7d4b62cf443d797e4e0bf5ff Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 16 12:51:58 2015 -0700 MIPS: BMIPS: Enable GZIP ramdisk and timed printks Update bmips_be_defconfig and bmips_stb_defconfig to have GZIP ramdisk support enabled by default as well was timed printks. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Kevin Cernekee <cernekee@xxxxxxxxx> Reviewed-by: Dragan Stancevic <dragan.stancevic@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: blogic@xxxxxxxxxxx Cc: jogo@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11307/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e0bedada3a497d0640dd5db93e7ad0735f487492 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 09:58:06 2015 +0100 s390/ipl: fix out of bounds access in scpdata_write The input buffer in reipl_fcp_scpdata_write is accessed out of bounds when an offset is specified. The problem is that the offset refers to the data we should write to and not to the buffer we read from. So instead of memcpy(scp_data, buf + off, count); we could just do memcpy(scp_data + off, buf, count); However we not only modify the data but also store its length. For this to work we'd need to remember a state per open FH. Since that's not possible with sysfs callbacks let's just fail when an offset is specified. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Acked-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 43f2cdeb7a61598050028f1eae51b9cb5398af42 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Nov 8 23:40:41 2015 +0100 ALSA: ctxfi: constify rsc ops structures The various rsc ops structures are never modified, so declare them as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 834cc15b443840d94e225bb0ff0604b1c1f6f2e1 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Mon Oct 26 11:30:57 2015 +0000 MIPS: Add xilfpga defconfig Add defconfig for MIPSfpga Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: robh+dt@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11363/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9937f5fff889bde488c5ffd238dcb49e9b9cc7b7 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Mon Oct 26 11:30:56 2015 +0000 MIPS: xilfpga: Add mipsfpga platform code The xilfpga platform will be DT only. Add required platform code. DT files have already been added separately. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: robh+dt@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11364/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 552b8b363ede5fc53db343b67c0b2b5eaf783a11 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Mon Oct 26 11:30:55 2015 +0000 MIPS: xilfpga: Add xilfpga device tree files. Add device tree files for the MIPSfpga platform. See Documentation/devicetree/bindings/mips/img/xilfpga.txt for details about MIPSfpga Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: robh+dt@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11362/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 26c188be1f99d609cd4946f97fdf9e29d3d5c81e Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Mon Oct 26 11:30:54 2015 +0000 dt-bindings: MIPS: Document xilfpga bindings and boot style Xilfpga boots only with device-tree. Document the required properties and the unique boot style Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: robh+dt@xxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11361/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2bcef9b457bbe159a5e3843e2578d8195e0b1c56 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 13:13:03 2015 +0200 MIPS: Make MIPS_CMDLINE_DTB default Seval of-enabled machines (bmips, lantiq, xlp, pistachio, ralink) copied the arguments from dtb to arcs_command_line to prevent the kernel from overwriting them. Since there is now an option to keep the dtb arguments, default to the new option remove the "backup" to arcs_command_line in case of USE_OF is enabled, except for those platforms that still take the bootloader arguments or do not use any at all. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11285/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2024972ef5330dcae47f400c586764d8f4cb0b04 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 13:13:02 2015 +0200 MIPS: Make the kernel arguments from dtb available Similar to how arm allows using selecting between bootloader arguments, dtb arguments and both, allow to select them on mips. But since we have less control over the place of the dtb do not modify it but instead use the boot_command_line for merging them. The default is "use bootloader arguments" to keep the current behaviour as default. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11284/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5b24d52ce23d1c7a5c2bd884e57463e266eb8b85 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 13:13:01 2015 +0200 MIPS: Use USE_OF as the guard for appended dtb Since OF is now a user selectable symbol, the choice for appended dtb support should only be visible when USE_OF is selected, as this indicates actual machine support for device tree in MIPS. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11283/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 63893ea5304c919656613a47b04e35c6814d9041 Author: Gregory Fong <gregory.0xf0@xxxxxxxxx> Date: Wed Oct 14 04:27:38 2015 -0700 MIPS: BCM63XX: Use pr_* instead of printk Signed-off-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Jonas Gorski <jogo@xxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Nicolas Schichan <nschichan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11300/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5361832704d3224c09dd5732ae656d9d5014c1d8 Author: Huacai Chen <chenhc@xxxxxxxxxx> Date: Wed Oct 7 14:07:59 2015 +0800 MIPS: Loongson: Cleanup CONFIG_LOONGSON_SUSPEND. Now LOONGSON_CHIPCFG register definition doesn't depend on CPUFREQ any more, so CPU_SUPPORTS_CPUFREQ is no longer needed for suspend/resume. Remove CONFIG_LOONGSON_SUSPEND and use CONFIG_SUSPEND instead. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> Cc: John Crispin <john@xxxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Fuxin Zhang <zhangfx@xxxxxxxxxx> Cc: Zhangjin Wu <wuzhangjin@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11274/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 08b3c894e56580b8ed3e601212a25bda974c3cc2 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Thu Nov 5 03:56:23 2015 +0100 MIPS: lantiq: Disable xbar fpi burst mode Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11458/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 9eb8c69e0b00d5e7970a682454180780b6a3d020 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 13:14:15 2015 +0100 MIPS: lantiq: Force the crossbar to big endian Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11450/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 26cfdbe30d81c209a5e81c4c311b02b10b5821c3 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 13:14:14 2015 +0100 MIPS: lantiq: Initialize the USB core on boot There is a DWC2 USB core in these SoCs. To make USB work we need to first reset and power the state machine. These are SoC specific registers and not part of the actual USB core. Signed-off-by: Antti Seppälä <a.seppala@xxxxxxxxx> Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11449/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1601078df26605da7a8107bdd3143ef6b9d07e3b Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 13:14:13 2015 +0100 MIPS: lantiq: Return correct value for fpi clock on ar9 Some configurations of AR9 reported the incorrect speed for the fpi bus. Signed-off-by: Ben Mulvihill <ben.mulvihill@xxxxxxxxx> Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11448/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 69ebed7dc9311ea383dd0b9542c823a51b20e679 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:14 2015 +0100 MIPS: ralink: Add missing clock on rt305x The rt305x support is missing a clock required by the ethernet driver. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11447/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1a93520504aa035f037e7e255aee670561a38946 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:13 2015 +0100 MIPS: ralink: Put the pci bus into reset state before rebooting the SoC Some pcie cards have problems after a reboot without this. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11446/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 81ab9f6c5ff8565e4cba330e340a8979a10521d7 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:12 2015 +0100 MIPS: ralink: Don't set pm_power_off Setting pm_power_off is apprently wrong and makes drivers such as gpio-poweroff not work. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11445/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bc19f5d677c10f323650e6bb5fe45ab5fb11e9a9 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:11 2015 +0100 MIPS: ralink: Remove check for CONFIG_PCI on non-PCI SoCs The code currently panics if PCI is enabled but the SoC has no PCI bus. This check is superfluous as the driver only loads if enabled in the devicetree. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11444/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 37bcc03f97e05cc65ce87d3b2fdcd4e5b28ce06c Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:10 2015 +0100 MIPS: ralink: Fix invalid tick count The current code adds the delta twice, which is obviously wrong. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11443/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 73afa6c4208257ea1733a03918fea731a18131e7 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Thu Nov 5 03:59:58 2015 +0100 MIPS: ralink: Add tty detection MT7688 has several uarts that can be used for console. There are several boards in the wild, that use ttyS1 or ttyS2. This patch applies a simply autodetection routine to figure out which ttyS the bootloader used as console. The uarts come up in 6 bit mode by default. The bootloader will have set 8 bit mode on the console. Find that 8bit tty and use it. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11459/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b361bd762e7724e660a44955ae4840aa984e3871 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:08 2015 +0100 MIPS: ralink: Fix usb issue during frequency scaling If the USB HCD is running and the cpu is scaled too low, then the USB stops working. Increase the idle speed of the core to fix this if the kernel is built with USB support. The "magic" values are taken from the Ralink SDK Kernel. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11441/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 418d29c8706170c6801998e48341181b274a47a8 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:07 2015 +0100 MIPS: ralink: Unify SoC id handling This makes detection a lot easier for audio, wifi, ... drivers. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11440/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 81857db913e9782546d29b52cd3efc80c0145c23 Author: John Crispin <blogic@xxxxxxxxxxx> Date: Wed Nov 4 11:50:06 2015 +0100 MIPS: ralink: Add support for mt7688 MT7688 is similar tot he MT7628 but has a different wifi radio. Signed-off-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11439/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1b04be20f6e38672d81f2de844488164bca988ca Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Tue Oct 27 15:48:11 2015 +0900 MIPS: BMIPS: Add SATA/PHY nodes for bcm7362 Add AHCI and PHY device nodes to MIPS-based BCM7362 set-top box platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Dragan Stancevic <dragan.stancevic@xxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11379/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 19e88101c78fdbfb93580f7ac0eb64eea040cbb6 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Tue Oct 27 15:48:10 2015 +0900 MIPS: BMIPS: Add SATA/PHY nodes for bcm7346 Add AHCI and PHY device nodes to MIPS-based BCM7346 set-top box platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Dragan Stancevic <dragan.stancevic@xxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11378/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ce6df6376a1eeb63c694f8e82e9563b59c5506a6 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Tue Oct 27 15:48:09 2015 +0900 MIPS: BMIPS: Add SATA/PHY nodes for bcm7425 Add AHCI and PHY device nodes to MIPS-based BCM7425 set-top box platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Dragan Stancevic <dragan.stancevic@xxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11377/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f50cbf5329e045e8d69046ea9093e6bafdc09516 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Wed Oct 21 11:37:01 2015 +0900 MIPS: BMIPS: Add I2C node for bcm7362 Add I2C device nodes to BMIPS based BCM7362 platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Cc: linux-i2c@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11336/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fb575b85efd091bad0e0a1220426086c789074d7 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Wed Oct 21 11:37:00 2015 +0900 MIPS: BMIPS: Add I2C node for bcm7360 Add I2C device nodes to BMIPS based BCM7360 platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Cc: linux-i2c@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11335/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ad8378383e2c705871125f5c9d36936d80068174 Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Wed Oct 21 11:36:59 2015 +0900 MIPS: BMIPS: Add I2C node for bcm7358 Add I2C device nodes to BMIPS based BCM7358 platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Cc: linux-i2c@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11334/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 39d9b6b223900cdcc36f78c7f9b4173975ca668c Author: Jaedon Shin <jaedon.shin@xxxxxxxxx> Date: Wed Oct 21 11:36:58 2015 +0900 MIPS: BMIPS: Add I2C node for bcm7346 Add I2C device nodes to BMIPS based BCM7346 platform. Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Kamal Dasu <kdasu.kdev@xxxxxxxxx> Cc: linux-i2c@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11333/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6e807852676a2ef6f104b56114d7a5096d42ff37 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:44 2015 +0100 MIPS: Lantiq: Fix check for return value of request_mem_region() request_mem_region() returns a pointer and not an integer with an error value. A check for "< 0" on a pointer will cause problems, replace it with not null checks instead. This was found with sparse. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11395/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 13648d724549ec5bd986e88ec628c1b42ab0258e Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:43 2015 +0100 MIPS: Lantiq: Add support for xRX220 SoC Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11394/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5072d8142a830102317411e5599d7347cdd88a9f Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:42 2015 +0100 MIPS: Lantiq: Add misc clocks Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11393/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e71f6d356dccce4ba49a402bf7e9cb44671787cb Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:41 2015 +0100 MIPS: Lantiq: Add 1e103100.deu clock Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11392/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a3a6853498903dc937710a9f00af8a6679b3e704 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:40 2015 +0100 MIPS: Lantiq: Add clock for mei driver Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11391/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a5c1aad853a499f2b9f3a74e0d019b2ea8ad5825 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:39 2015 +0100 MIPS: Lantiq: Add SoC detection for ar10 and grx390 Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11390/ Patchwork: https://patchwork.linux-mips.org/patch/11399/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit eefee024b012df827fd0aebffcd05665d8511a8a Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:38 2015 +0100 MIPS: Lantiq: Add support for gphy firmware loading for ar10 and grx390 Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11389/ Patchwork: https://patchwork.linux-mips.org/patch/11398/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d0b991e376e6293f1122813f28c63d3c93fdc97b Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:37 2015 +0100 MIPS: Lantiq: Add pmu bits for ar10 and grx390 Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11388/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e182c98a59e3cf9e78d1d20f32d3bd3d1b4c521a Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:36 2015 +0100 MIPS: Lantiq: Add PMU bits for USB and SDIO devices This adds the PUM bits for USB and SDIO devices Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11387/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 95135bfa7ead1becc2879230f72583dde2b71a0c Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:35 2015 +0100 MIPS: Lantiq: Deactivate most of the devices by default When the SoC starts up most of the devices should be deactivated by the PMU, they should be activated when they get used by their drivers. Some devices should not get deactivate at startup like the serial, register them in a special way. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11386/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 61e371d8222fe9fd9beb15f94d27aeec58f36a2d Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:34 2015 +0100 MIPS: Lantiq: Add clock detection for grx390 and ar10 This add detection of some clocks on the ar10 and grx390. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11385/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 18a3af60fcb6c0f2948e4e2922d3fcaeb1d74c64 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:33 2015 +0100 MIPS: Lantiq: Fix pp32 clock on vr9 The vendor code uses different clock values for this clock. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11384/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b5a03d0cb32c35f7ca9a042f01c1de14daaeeb11 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:32 2015 +0100 MIPS: Lantiq: Rename CGU_SYS_VR9 register This register is also used on other SoCs. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11383/ Patchwork: https://patchwork.linux-mips.org/patch/11397/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 758d2443edd57a44cfebde585a46fabc8f298250 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:31 2015 +0100 MIPS: Lantiq: Add support for setting PMU register on AR10 and GRX390 This adds support for setting the PMU register on the AR10 and GRX390. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11382/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cab7b8363ce5413a69817a2275cf12efa0001334 Author: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Date: Wed Oct 28 23:37:30 2015 +0100 MIPS: Lantiq: Add locking for PMU register and check status afterwards The PMU register are accessed in a non atomic way and they could be accessed by different threads simultaneously, which could cause problems this patch adds locking around the PMU registers. In addition we now also wait till the PMU is actually deactivated. [ralf@xxxxxxxxxxxxxx: Fix spelling mistake in commit message as noticed by Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>.] Signed-off-by: Hauke Mehrtens <hauke.mehrtens@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11381/ Patchwork: https://patchwork.linux-mips.org/patch/11396/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d8cfb5037bfc875e6dc8e09e4caceb443c04ff6a Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Oct 26 11:13:16 2015 +0100 MIPS: BCM47xx: Fetch board info directly in callback function This drops another symbol dependency between setup.c and sprom.c which will allow us to make SPROM code a separated module (and share it with ARM). Patch tested on Linksys WRT300N V1. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11360/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2f94acde42b70c81129b398c44aa09411974a16d Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Oct 25 22:16:48 2015 +0100 MIPS: BCM47xx: Fix some WARNINGs pointed in sprom.c by checkpatch.pl There are still few left: 1) Most of them about lines over 80 chars (increased readability exception) 2) Wrong parsing of preprocessor macros Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Hauke Mehrtens <hauke@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11356/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit daa7ce02513d2188fe6f5ff47ce5ef83eb7de739 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Oct 25 22:16:47 2015 +0100 MIPS: BCM47xx: Support on-SoC bus in SPROM reading function To support (extract) SPROM on Broadcom ARM devices we should separate SPROM code and make it a separated module. We won't want to export bcm47xx_fill_sprom symbol so we should support SoC SPROM in the standard fallback function and then modify ssb to use it. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11355/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 500fab97c682f3264eb7f96c22575d70cce6b2b4 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Oct 25 23:21:42 2015 +0100 MIPS: lantiq: add clk_round_rate() This adds a basic implementation of clk_round_rate() The clk_round_rate() function is called by multiple drivers and subsystems now and the lantiq clk driver is supposed to export this, but doesn't do so, this causes linking problems like this one: ERROR: "clk_round_rate" [drivers/media/v4l2-core/videodev.ko] undefined! Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.1+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11358/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e1e1611598148e03c6d65e6c23338f4ff2cee71e Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Fri Oct 23 15:39:02 2015 +0300 MIPS: Add LATENCYTOP support Add LATENCYTOP support for MIPS. Tested on OCTEON. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11353/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 972cfd5502cc87d388a6d358eae717ac48ca4817 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Oct 25 22:24:25 2015 +0100 MIPS: pci-rt3883: drop unneeded of_node_get for_each_child_of_node performs an of_node_get on each iteration, so no of_node_get is needed on breaking out of the loop when the device_node structure is saved in another variable. A simplified semantic match that finds this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root; local idexpression child; @@ for_each_child_of_node(root, child) { ... * of_node_get(child) ... break; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: kernel-janitors@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Cc: Andrew Lunn <andrew@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11357/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a7f4df4e21dd8a8dab96e88acd2c9c5017b83fc6 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Wed Oct 21 09:57:44 2015 +0100 MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime() Add user-mode implementations of gettimeofday() and clock_gettime() to the VDSO. This is currently usable with 2 clocksources: the CP0 count register, which is accessible to user-mode via RDHWR on R2 and later cores, or the MIPS Global Interrupt Controller (GIC) timer, which provides a "user-mode visible" section containing a mirror of its counter registers. This section must be mapped into user memory, which is done below the VDSO data page. When a supported clocksource is not in use, the VDSO functions will return -ENOSYS, which causes libc to fall back on the standard syscall path. When support for neither of these clocksources is compiled into the kernel at all, the VDSO still provides clock_gettime(), as the coarse realtime/monotonic clocks can still be implemented. However, gettimeofday() is not provided in this case as nothing can be done without a suitable clocksource. This causes the symbol lookup to fail in libc and it will then always use the standard syscall path. This patch includes a workaround for a bug in QEMU which results in RDHWR on the CP0 count register always returning a constant (incorrect) value. A fix for this has been submitted, and the workaround can be removed after the fix has been in stable releases for a reasonable amount of time. A simple performance test which calls gettimeofday() 1000 times in a loop and calculates the average execution time gives the following results on a Malta + I6400 (running at 20MHz): - Syscall: ~31000 ns - VDSO (GIC): ~15000 ns - VDSO (CP0): ~9500 ns [markos.chandras@xxxxxxxxxx: - Minor code re-arrangements in order for mappings to be made in the order they appear to the process' address space. - Move do_{monotonic, realtime} outside of the MIPS_CLOCK_VSYSCALL ifdef - Use gic_get_usm_range so we can do the GIC mapping in the arch/mips/kernel/vdso instead of the GIC irqchip driver] Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11338/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c0a9f72c156baf1e88c33c6ba4450647af1b8804 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Mon Oct 12 10:40:43 2015 +0100 irqchip: irq-mips-gic: Provide function to map GIC user section The GIC provides a "user-mode visible" section containing a mirror of the counter registers which can be mapped into user memory. This will be used by the VDSO time function implementations, so provide a function to map it in. When the GIC is not enabled in Kconfig a dummy inline version of this function is provided, along with "#define gic_present 0", so that we don't have to litter the VDSO code with ifdefs. [markos.chandras@xxxxxxxxxx: - Move mapping code to arch/mips/kernel/vdso.c and use a resource type to get the GIC usermode information - Avoid renaming function arguments and use __gic_base_addr to hold the base GIC address prior to ioremap.] [ralf@xxxxxxxxxxxxxx: Fix up gic_get_usm_range() to compile and make inline again.] Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Alex Smith <alex.smith@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: http://patchwork.linux-mips.org/patch/11281/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ebb5e78cc63417a35254a791de66e1cc84f963cc Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Wed Oct 21 09:54:38 2015 +0100 MIPS: Initial implementation of a VDSO Add an initial implementation of a proper (i.e. an ELF shared library) VDSO. With this commit it does not export any symbols, it only replaces the current signal return trampoline page. A later commit will add user implementations of gettimeofday()/clock_gettime(). To support both new toolchains and old ones which don't generate ABI flags section, we define its content manually and then use a tool (genvdso) to patch up the section to have the correct name and type. genvdso also extracts symbol offsets ({,rt_}sigreturn) needed by the kernel, and generates a C file containing a "struct mips_vdso_image" containing both the VDSO data and these offsets. This C file is compiled into the kernel. On 64-bit kernels we require a different VDSO for each supported ABI, so we may build up to 3 different VDSOs. The VDSO to use is selected by the mips_abi structure. A kernel/user shared data page is created and mapped below the VDSO image. This is currently empty, but will be used by the user time function implementations which are added later. [markos.chandras@xxxxxxxxxx: - Add more comments - Move abi detection in genvdso.h since it's the get_symbol function that needs it. - Add an R6 specific way to calculate the base address of VDSO in order to avoid the branch instruction which affects performance. - Do not patch .gnu.attributes since it's not needed for dynamic linking. - Simplify Makefile a little bit. - checkpatch fixes - Restrict VDSO support for binutils < 2.25 for pre-R6 - Include atomic64.h for O32 variant on MIPS64] Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11337/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 22773aa9b95657f0adc2b5342428d9da7a6d5d02 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:56 2015 +0200 MIPS: mpc30x_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts mpc30x_defconfig to use libata PATA drivers. PS This platform still uses "ide0=base[,ctl[,irq]]" hack in its defconfig. The hack itself has been removed in 2008 and this platform should be converted to using PATA platform host driver (pata_platform) instead. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11141/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1b7d801263522d9e1a122a6913c42acb5bf6c2c0 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:55 2015 +0200 MIPS: maltaup_xpa_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts maltaup_xpa_defconfig to use libata PATA drivers (tc86c001 IDE host driver has no corresponding libata driver yet so it is not converted). Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11140/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 93c7e664ff6af49c05d1b78b54aa6f02e1ba88f6 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:54 2015 +0200 MIPS: maltaup_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts maltaup_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11142/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b0b98ad9b59f2a4c011d4b1ff40efa663b2b4e43 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:53 2015 +0200 MIPS: maltasmvp_eva_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts maltasmvp_eva_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11139/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 255faa84276ae8c42a660af3ad6e089ac89d22b4 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:52 2015 +0200 MIPS: maltaaprp_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts maltaaprp_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: b.zolnierkie@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11137/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 077b649a2ffe53109c98379fe7ba2fa4fdc9a34a Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:51 2015 +0200 MIPS: malta_qemu_32r6_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts malta_qemu_32r6_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: b.zolnierkie@xxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11138/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5f6df05b2faf893bc119d4bf1ef2decefedd0440 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:50 2015 +0200 MIPS: malta_kvm_guest_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts malta_kvm_guest_defconfig to use libata PATA drivers (tc86c001 IDE host driver has no corresponding libata driver yet so it is not converted). Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Sanjay Lal <sanjayl@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11136/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 91c6fbabaed76ce0d85c357fe2f9e9dfc74d0640 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:49 2015 +0200 MIPS: malta_kvm_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts malta_kvm_defconfig to use libata PATA drivers (tc86c001 IDE host driver has no corresponding libata driver yet so it is not converted). Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Sanjay Lal <sanjayl@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11135/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d17e465543e7689168ea2a913e67231876a668d5 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:48 2015 +0200 MIPS: malta_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts malta_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11134/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7ff7a5b1bfff71a1814f3542c1bd3c8f3e08bbbe Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:47 2015 +0200 MIPS: lemote2f_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts lemote2f_defconfig to use libata PATA drivers. PS This platform uses CS5536 chipset which (due to historical reasons) has basic support in AMD/nVidia PATA host driver and full support in a newer CS5536 PATA one (pata_cs5536). Thus most likely this platform should switch to using the latter host driver. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Huacai Chen <chenhc@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11133/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 973852fc0d1be1fa47a03c7c0a106a0667714edd Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:46 2015 +0200 MIPS: lasat_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts lasat_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Brian Murphy <brian@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11132/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1485ddcc2ffaaa801c4104b85eac95c2f32c4220 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:45 2015 +0200 MIPS: fuloong2e_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts fuloong2e_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Wu Zhangjin <wuzhangjin@xxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11131/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5c2a53a1e0ee8713b9160a52ed374cc8d8cd0c82 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:44 2015 +0200 MIPS: e55_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts e55_defconfig to use libata PATA drivers. PS This platform still uses "ide0=base[,ctl[,irq]]" hack in its defconfig. The hack itself has been removed in 2008 and this platform should be converted to using PATA platform host driver (pata_platform) instead. Cc: Yoichi Yuasa <yoichi_yuasa@xxxxxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5081f4fc32243c3ebbd95638abd3ef1a2ae1247f Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:43 2015 +0200 MIPS: capcella_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts capcella_defconfig to use libata PATA drivers. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11129/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit adcdd4287da33132d4a72a9bcf60183c1cab5563 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 14 17:51:42 2015 +0200 MIPS: bigsur_defconfig: Convert to use libata PATA drivers IDE subsystem has been deprecated since 2009 and the majority (if not all) of Linux distributions have switched to use libata for ATA support exclusively. However there are still some users (mostly old or/and embedded non-x86 systems) that have not converted from using IDE subsystem to libata PATA drivers. This doesn't seem to be good thing in the long-term for Linux as while there is less and less PATA systems left in use: * testing efforts are divided between two subsystems * having duplicate drivers for same hardware confuses users This patch converts bigsur_defconfig to use libata PATA drivers (tc86c001 IDE host driver has no corresponding libata driver yet so it is not converted). Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-ide@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11128/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit cab25bc7537badea41f635a049f45408c24dff26 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 12:03:37 2015 -0700 MIPS: Extend hardware table walking support to MIPS64 Extend the existing support for Hardware Table Walking (HTW) to MIPS64 systems by supporting PMDs & setting the pointer size bit in PWSize, then ceasing to blacklist HTW on MIPS64 systems. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Joshua Kinard <kumba@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11224/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ecafe3e9b27644b51282b539878b7671ea28ac34 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:58:43 2015 -0700 MIPS: Malta: Register UP SMP ops if all else fails If we fail to register any real SMP implementations, fall back to registering the dummy UP implementation. Otherwise when we build an SMP kernel & run it on a system where the SMP implementations fail to probe (eg. QEMU) the kernel will perform a NULL dereference attempting to call mp_ops->smp_setup() from plat_smp_setup(). Notably this fixes booting kernels with CPS SMP enabled on QEMU, which doesn't currently implement the CM, CPC or GIC. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11223/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e81a8c7dabac05d444eda315ff1a747b0fe38396 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:56:38 2015 -0700 MIPS: Malta: Setup RAM regions via DT Move memory configuration to be performed via device tree for the Malta board. This moves more Malta specific code to malta-dtshim.c, leaving the rest of the mti-malta code a little more board-agnostic. This will be useful to share more code between boards, with the device tree providing the board specifics as intended. Since we can't rely upon Malta boards running a bootloader capable of handling devictrees & filling in the required information, a piece of shim code (malta_dt_shim) is added to consume the (e)memsize variables provided as part of the bootloader environment (or on the kernel command line) then generate the DT memory node using the provided values. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11222/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ea050714bc3656a25b4b5fc73f3682532c7180eb Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:56:37 2015 -0700 MIPS: Malta: Remove fw_memblock_t abstraction The fw_getmdesc function & fw_memblock_t abstraction is only used by Malta, and so far as I can tell serves no purpose beyond making the code less clear than it could be. Remove the useless level of abstraction. 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/11221/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e1137e1d5944c2a23ca100a0b4fe6310f9cc086d Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:56:36 2015 -0700 MIPS: Malta: Split obj-y entries across lines Split the obj-y entries to their own lines such that it's easier to see what's going on when adding or removing entries. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11220/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 033549c60969753d9c54053901b2041d91c4fbff Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:53 2015 -0700 MIPS: Allow RIXI for 32-bit kernels on MIPS64 Commit a68d09a156b2 ("MIPS: Don't use RI/XI with 32-bit kernels on 64-bit CPUs") prevented use of RIXI on MIPS64 systems, stating that the "TLB handlers cannot handle this case". What they actually couldn't handle was cases where there were less fill bits in the Entry{Lo,Hi} registers than bits used by software in PTEs. The handlers can now deal with this case, so enable RIXI for MIPS32 kernels on MIPS64 systems. Note that beyond the obvious benefits provided by having RIXI on such systems, this is required for systems implementing MIPSr6 where RIXI cannot be disabled. This reverts commit a68d09a156b2 ("MIPS: Don't use RI/XI with 32-bit kernels on 64-bit CPUs"). Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Joshua Kinard <kumba@xxxxxxxxxx> 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> Patchwork: https://patchwork.linux-mips.org/patch/11219/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 00bf1c691d082c1945fdba032c03a9a82e9e7e61 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:52 2015 -0700 MIPS: tlbex: Avoid placing software PTE bits in Entry* PFN fields Commit 748e787eb6de ("MIPS: Optimize TLB refill for RI/XI configurations.") stopped explicitly clearing the bits used by software in PTEs by making use of a rotate instruction that rotates them into the fill bits of the Entry{Lo,Hi} register. This can only work if there are actually enough fill bits in the register to cover the software maintained bits, otherwise we end up writing those bits into the upper bits of the PFN or PFNX field of the Entry{Lo,Hi} register. Fix this by detecting the number of fill bits present in the Entry{Lo,Hi} registers & explicitly clearing the software bits where necessary. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11218/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c6956728c76d35f2314dd54a74680360760cc2fd Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:51 2015 -0700 MIPS: Tidy EntryLo bit definitions, add PFN Tidy up the definition of the EntryLo RI & XI bits using BITS_PER_LONG rather than #ifdef'ing on CONFIG_64BIT, and add a definition for the offset to the PFN field for use by a later patch. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx 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> Patchwork: https://patchwork.linux-mips.org/patch/11217/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c676589b057a01dab418985f018123a634c1265c Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:50 2015 -0700 MIPS: tlbex: Share MIPS32 32 bit phys & MIPS64 64 bit phys code The code in build_update_entries for 64 bit physical addresses on a MIPS64 CPU and 32 bit physical addresses on a MIPS32 CPU is now identical, with the exception of r4k bug workaround in the latter which would simply not apply to the former. Remove the duplication and some Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11216/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 974a0b6a2c40260b0ac64a5523106f5991cc5127 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:49 2015 -0700 MIPS: tlbex: Remove some RIXI redundancy The cpu_has_rixi cases in build_update_entries are now identical to the non-RIXI cases with the one exception of the r45k_bvahwbug case which is hardcoded as never happening anyway & presumably was either missed from the RIXI path or would never happen on a CPU with RIXI support. Remove the redundant checks & duplication. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11215/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit dbfd657ad12d872d04d5b105876669058285a166 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:42:48 2015 -0700 MIPS: tlbex: Stop open-coding build_convert_pte_to_entrylo Make use of build_convert_pte_to_entrylo in the RIXI cases within build_update_entries rather than open-coding it 4 times. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11214/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5b10a0e84b4ebe02a7018846e882caa112b4ffc6 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:24:20 2015 -0700 MIPS: Always use r4k_wait_irqoff for MIPSr6 Prior to release 6 of the MIPS architecture it has been implementation dependent whether masked interrupts cause a wait instruction to return, so the kernel has effectively had to maintain a whitelist of cores upon which it is safe to use the r4k_wait_irqoff cpu_wait implementation. With MIPSr6 this is no longer implementation dependent and r4k_wait_irqoff can always be used. Remove the existing I6400 case which will no longer ever be hit, and was incorrect anyway since I6400 & r6 in general doesn't have the WII bit. 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> Patchwork: https://patchwork.linux-mips.org/patch/11210/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 78a54c4d8e5a7915a4ec2ba0eb461fae50590683 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:18 2015 -0700 MIPS: CM, CPC: Ensure core-other GCRs reflect the correct core Ensure the update to which core the core-other GCR regions reflect has taken place before any core-other GCRs are accessed by placing a memory barrier (sync instruction) between the write to the core-other registers and any such GCR accesses. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11209/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4ede31617056b7424eef28dce59dd6dbe81729c3 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:17 2015 -0700 MIPS: CM: make use of mips_cm_{lock,unlock}_other Document that CPC core-other accesses must take place within the bounds of the CM lock, and begin using the CM lock functions where we access the GCRs of other cores. This is required because with CM3 the CPC began using GCR_CL_OTHER instead of CPC_CL_OTHER. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Niklas Cassel <niklas.cassel@xxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11208/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 23d5de8efb9aed48074a72bf3d43841e1556ca42 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:16 2015 -0700 MIPS: CM: Introduce core-other locking functions Introduce mips_cm_lock_other & mips_cm_unlock_other, mirroring the existing CPC equivalents, in order to lock access from the current core to another via the core-other GCR region. This hasn't been required in the past but with CM3 the CPC starts using GCR_CL_OTHER rather than CPC_CL_OTHER and this will be required for safety. [ralf@xxxxxxxxxxxxxx: Fix merge conflict.] 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/11207/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 252d6aa605fa05b559347d3ed0a4f11bbdf6d3d0 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:15 2015 -0700 MIPS: CM: Fix GCR_Cx_CONFIG PVPE mask The PVPE (or PVP in >= CM3) field is 10 bits wide, but the mask previously only covered the bottom 9 bits. Extend the mask to cover all 10 bits of the field. 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/11206/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a8c20614b0163a71f2df3f9788bfe8b9ff07d742 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:14 2015 -0700 MIPS: CPS: Warn if a core doesn't start When debugging core bringup it is useful to see the state of the CPC sequencer, so output that value if the core hasn't started within a reasonable amount of time (1 second). This avoids simply appearing to the user to hang if a secondary core fails to start. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Niklas Cassel <niklas.cassel@xxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11205/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 192fbc20258c79e3f776a5ce6cea4654376f5af6 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:13 2015 -0700 MIPS: CPS: Skip Config1 presence check The Config1 register is architecturally defined as required, and is thus present in all systems which may make use of cps-vec.S. Skip the check for its presence via the Config.M bit. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11204/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 946db17349f6922a9c8a959c34ad9fb3aa238952 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:12 2015 -0700 MIPS: CPS: Read CM GCR base from cop0 Rather than patching the start of mips_cps_core_entry to provide the base address of the CM GCRs, simply read that base address from the cop0 CMGCRBase register, converting from the physical address to an uncached virtual address. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Niklas Cassel <niklas.cassel@xxxxxxxx> Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11203/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 609cf6f2291a69d09aa5c02d74cd4488b19aa9a6 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:11 2015 -0700 MIPS: CPS: Early debug using an ns16550-compatible UART Provide support for outputting early debug information, in the form of various register values should an exception occur, during the early bringup of secondary cores. This code requires an ns16550-compatible UART accessible from the secondary core, and is written in assembly due to the environment in which such early exceptions occur where way may not have a stack, be coherent or even have initialised caches. [ralf@xxxxxxxxxxxxxx: Fix merge conflict.] Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11202/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 195cee92afcb20b2156437e98b144d94812e4afd Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Nov 10 17:06:37 2015 +0000 MIPS: Fix duplicate CP0_* definitions. Remove the definition in locore.S and move a few of the other similar definitions in asm/mipsregs.h too. CP0_INTCTL, CP0_SRSCTL, & CP0_SRSMAP are unused so they're just dropped instead. CP0_DDATA_LO is left where it is as I have patches to eliminate its use in locore.S and it otherwise is unlikely to need to be used from assembly code. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: kvm@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11461/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7c7afc440c8ec311ae135df892cc489436a1ff00 Author: Tzvetelin Katchov <katchov@xxxxxxxxx> Date: Wed Oct 7 20:15:21 2015 -0400 fs: 9p: cache.h: Add #define of include guard The include file was intended to have an include guard, but the #define part is missing. Signed-off-by: Tzvetelin Katchov <katchov@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c8fffa643583e00eb9a783abbca251b11bc0d163 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Thu Oct 8 17:07:20 2015 -0600 vfs: remove stale comment in inode_operations The big warning comment that is currently at the end of struct inode_operations was added as part of this commit: 4aa7c6346be3 ("vfs: add i_op->dentry_open()") It was added to warn people not to use the newly added 'dentry_open' function pointer. This function pointer was removed as part of this commit: 4bacc9c9234c ("overlayfs: Make f_path always point to the overlay and f_inode to the underlay") The comment was left behind and now refers to nothing, so remove it. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5c50002963369c7c622b18ff751719eadbe225c5 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Oct 13 16:51:02 2015 -0600 vfs: remove unused wrapper block_page_mkwrite() The function currently called "__block_page_mkwrite()" used to be called "block_page_mkwrite()" until a wrapper for this function was added by: commit 24da4fab5a61 ("vfs: Create __block_page_mkwrite() helper passing error values back") This wrapper, the current "block_page_mkwrite()", is currently unused. __block_page_mkwrite() is used directly by ext4, nilfs2 and xfs. Remove the unused wrapper, rename __block_page_mkwrite() back to block_page_mkwrite() and update the comment above block_page_mkwrite(). Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> Cc: Jan Kara <jack@xxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 54d15714f7497094a0839537f0d47946edb45761 Author: Maciej W. Rozycki <macro@xxxxxxxxxx> Date: Mon Oct 26 15:47:57 2015 +0000 binfmt_elf: Correct `arch_check_elf's description Correct `arch_check_elf's description, mistakenly copied and pasted from `arch_elf_pt_proc'. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 88a578d823c1d8acb298cf317f76a3220d307d2e Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Thu Nov 5 16:54:04 2015 -0800 fs: fix writeback.c kernel-doc warnings Fix kernel-doc warnings in fs/fs-writeback.c by moving a #define macro to after the function's opening brace. Also #undef this macro at the end of the function. ..//fs/fs-writeback.c:1984: warning: Excess function parameter 'inode' description in 'I_DIRTY_INODE' ..//fs/fs-writeback.c:1984: warning: Excess function parameter 'flags' description in 'I_DIRTY_INODE' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 034ae4bac93afb483aaf8531e3a6de2ee7f1be6e Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Thu Nov 5 16:53:47 2015 -0800 fs: fix inode.c kernel-doc warning Fix kernel-doc warning in fs/inode.c: ..//fs/inode.c:1606: warning: No description found for parameter 'inode' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6ae08069939f17422835448acae76bda8d96b16a Author: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Sat Oct 17 16:26:09 2015 -0500 fs/pipe.c: return error code rather than 0 in pipe_write() pipe_write() would return 0 if it failed to merge the beginning of the data to write with the last, partially filled pipe buffer. It should return an error code instead. Userspace programs could be confused by write() returning 0 when called with a nonzero 'count'. The EFAULT error case was a regression from f0d1bec9d5 ("new helper: copy_page_from_iter()"), while the ops->confirm() error case was a much older bug. Test program: #include <assert.h> #include <errno.h> #include <unistd.h> int main(void) { int fd[2]; char data[1] = {0}; assert(0 == pipe(fd)); assert(1 == write(fd[1], data, 1)); /* prior to this patch, write() returned 0 here */ assert(-1 == write(fd[1], NULL, 1)); assert(errno == EFAULT); } Cc: stable@xxxxxxxxxxxxxxx # at least v3.15+ Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e9bb1f9b12e33fc0b2169b3937dc50c44ad87dd5 Author: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Sat Oct 17 16:26:08 2015 -0500 fs/pipe.c: preserve alloc_file() error code If sys_pipe() was unable to allocate a 'struct file', it always failed with ENFILE, which means "The number of simultaneously open files in the system would exceed a system-imposed limit." However, alloc_file() actually returns an ERR_PTR value and might fail with other error codes. Currently, in addition to ENFILE, it can fail with ENOMEM, potentially when there are few open files in the system. Update sys_pipe() to preserve this error code. In a prior submission of a similar patch (1) some concern was raised about introducing a new error code for sys_pipe(). However, for most system calls, programs cannot assume that new error codes will never be introduced. In addition, ENOMEM was, in fact, already a possible error code for sys_pipe(), in the case where the file descriptor table could not be expanded due to insufficient memory. (1) http://comments.gmane.org/gmane.linux.kernel/1357942 Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b582ef5c53040c5feef4c96a8f9585b6831e2441 Author: Maciej W. Rozycki <macro@xxxxxxxxxx> Date: Mon Oct 26 15:48:19 2015 +0000 binfmt_elf: Don't clobber passed executable's file header Do not clobber the buffer space passed from `search_binary_handler' and originally preloaded by `prepare_binprm' with the executable's file header by overwriting it with its interpreter's file header. Instead keep the buffer space intact and directly use the data structure locally allocated for the interpreter's file header, fixing a bug introduced in 2.1.14 with loadable module support (linux-mips.org commit beb11695 [Import of Linux/MIPS 2.1.14], predating kernel.org repo's history). Adjust the amount of data read from the interpreter's file accordingly. This was not an issue before loadable module support, because back then `load_elf_binary' was executed only once for a given ELF executable, whether the function succeeded or failed. With loadable module support supported and enabled, upon a failure of `load_elf_binary' -- which may for example be caused by architecture code rejecting an executable due to a missing hardware feature requested in the file header -- a module load is attempted and then the function reexecuted by `search_binary_handler'. With the executable's file header replaced with its interpreter's file header the executable can then be erroneously accepted in this subsequent attempt. Cc: stable@xxxxxxxxxxxxxxx # all the way back Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 102f4d900c9c8f5ed89ae4746d493fe3ebd7ba64 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Nov 4 15:20:42 2015 +0000 FS-Cache: Handle a write to the page immediately beyond the EOF marker Handle a write being requested to the page immediately beyond the EOF marker on a cache object. Currently this gets an assertion failure in CacheFiles because the EOF marker is used there to encode information about a partial page at the EOF - which could lead to an unknown blank spot in the file if we extend the file over it. The problem is actually in fscache where we check the index of the page being written against store_limit. store_limit is set to the number of pages that we're allowed to store by fscache_set_store_limit() - which means it's one more than the index of the last page we're allowed to store. The problem is that we permit writing to a page with an index _equal_ to the store limit - when we should reject that case. Whilst we're at it, change the triggered assertion in CacheFiles to just return -ENOBUFS instead. The assertion failure looks something like this: CacheFiles: Assertion failed 1000 < 7b1 is false ------------[ cut here ]------------ kernel BUG at fs/cachefiles/rdwr.c:962! ... RIP: 0010:[<ffffffffa02c9e83>] [<ffffffffa02c9e83>] cachefiles_write_page+0x273/0x2d0 [cachefiles] Cc: stable@xxxxxxxxxxxxxxx # v2.6.31+; earlier - that + backport of a17754f (at least) Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 95201a40604791bc4a2e8d066429be89fb82b46d Author: NeilBrown <neilb@xxxxxxx> Date: Wed Nov 4 15:20:34 2015 +0000 cachefiles: perform test on s_blocksize when opening cache file. cachefiles requires that s_blocksize in the cache is not greater than PAGE_SIZE, and performs the check every time a block is accessed. Move the test to the place where the file is "opened", where other file-validity tests are performed. Signed-off-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b130ed5998e62879a66bad08931a2b5e832da95c Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Nov 4 15:20:24 2015 +0000 FS-Cache: Don't override netfs's primary_index if registering failed Only override netfs->primary_index when registering success. Cc: stable@xxxxxxxxxxxxxxx # v2.6.30+ Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 86108c2e34a26e4bec3c6ddb23390bf8cedcf391 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Nov 4 15:20:15 2015 +0000 FS-Cache: Increase reference of parent after registering, netfs success If netfs exist, fscache should not increase the reference of parent's usage and n_children, otherwise, never be decreased. v2: thanks David's suggest, move increasing reference of parent if success use kmem_cache_free() freeing primary_index directly v3: don't move "netfs->primary_index->parent = &fscache_fsdef_index;" Cc: stable@xxxxxxxxxxxxxxx # v2.6.30+ Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0ee9608c89e81a1ccee52ecb58a7ff040e2522d9 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Nov 5 00:01:51 2015 +0100 debugfs: fix refcount imbalance in start_creating In debugfs' start_creating(), we pin the file system to safely access its root. When we failed to create a file, we unpin the file system via failed_creating() to release the mount count and eventually the reference of the vfsmount. However, when we run into an error during lookup_one_len() when still in start_creating(), we only release the parent's mutex but not so the reference on the mount. Looks like it was done in the past, but after splitting portions of __create_file() into start_creating() and end_creating() via 190afd81e4a5 ("debugfs: split the beginning and the end of __create_file() off"), this seemed missed. Noticed during code review. Fixes: 190afd81e4a5 ("debugfs: split the beginning and the end of __create_file() off") Cc: stable@xxxxxxxxxxxxxxx # v4.0+ Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b82983401684ba06fcf3fbafa63edf371c0d4775 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 11 01:18:16 2015 +0300 asus-wmi: fix error handling in store_sys_wmi() The asus_wmi_get_devstate_simple() returns 0-1 on success. In theory according to static checkers, it can return either -EIO or -ENODEV on failure. Currently the error handling code only handles -ENODEV and -EIO is treated as success. Let's make it handle the -EIO error as well. It's possible that it can't actually return -EIO and this patch is not needed but in that case this patch is harmless and silences a static checker warning so it's still worth it. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit c5a37883f42be712a989e54d5d6c0159b0e56599 Merge: 5dfe5b2 247e75d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 21:14:23 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge final patch-bomb from Andrew Morton: "Various leftovers, mainly Christoph's pci_dma_supported() removals" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: pci: remove pci_dma_supported usbnet: remove ifdefed out call to dma_supported kaweth: remove ifdefed out call to dma_supported sfc: don't call dma_supported nouveau: don't call pci_dma_supported netup_unidvb: use pci_set_dma_mask insted of pci_dma_supported cx23885: use pci_set_dma_mask insted of pci_dma_supported cx25821: use pci_set_dma_mask insted of pci_dma_supported cx88: use pci_set_dma_mask insted of pci_dma_supported saa7134: use pci_set_dma_mask insted of pci_dma_supported saa7164: use pci_set_dma_mask insted of pci_dma_supported tw68-core: use pci_set_dma_mask insted of pci_dma_supported pcnet32: use pci_set_dma_mask insted of pci_dma_supported lib/string.c: add ULL suffix to the constant definition hugetlb: trivial comment fix selftests/mlock2: add ULL suffix to 64-bit constants selftests/mlock2: add missing #define _GNU_SOURCE commit 5dfe5b2c714a5bea0908c1e00da0e8e00535f55c Merge: 152813e 67afc21 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 21:11:58 2015 -0800 Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild updates from Michal Marek: "This is the non-critical part of kbuild: - several coccinelle updates - make deb-pkg creates an armhf package if CONFIG_VFP=y - make tags understands some more powerpc macros" * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: coccinelle: Improve checking for missing NULL terminators coccinelle: ifnullfree: handle various destroy functions coccinelle: ifnullfree: various cleanups cocinelle: iterators: semantic patch to delete unneeded of_node_put deb-pkg: Add automatic support for armhf architecture scripts/coccinelle: fix typos coccinelle: misc: remove "complex return code" warnings Coccinelle: fix incorrect -include option transformation coccinelle: tests: improve odd_ptr_err.cocci coccinelle: misc: move constants to the right scripts/tags.sh: Teach tags about some powerpc macros commit 152813e6e4bbb5f017e33eba7eb01bbda4b389b8 Merge: c34e6e0 be596aa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 21:06:50 2015 -0800 Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kconfig updates from Michal Marek: - 'make xconfig' ported to Qt5, dropping support for Qt3 - merge_config.sh supports a single-input-file mode and also respects $KCONFIG_CONFIG - Fix for incorrect display of >= and > in dependency expressions * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (44 commits) Add current selection check. Use pkg-config to find Qt 4 and 5 instead of direct qmake kconfig: Fix copy&paste error kconfig/merge_config.sh: Accept a single file kconfig/merge_config.sh: Support KCONFIG_CONFIG Update the buildsystem for KConfig finding Qt Port xconfig to Qt5 - Update copyright. Port xconfig to Qt5 - Fix goParent issue. Port xconfig to Qt5 - on Back clicked, deselect old item. Port xconfig to Qt5 - Add(back) one click checkbox toggle. Port xconfig to Qt5 - Add(back) lineedit editing. Port xconfig to Qt5 - Remove some commented code. Port xconfig to Qt5 - Source format. Port xconfig to Qt5 - Add horizontal scrollbar, and scroll per pixel. Port xconfig to Qt5 - Change ConfigItem constructor parent type. Port xconfig to Qt5 - Disable ConfigList soring Port xconfig to Qt5 - Remove ConfigList::updateMenuList template. Port xconfig to Qt5 - Add ConfigList::mode to initializer list. Port xconfig to Qt5 - Add ConfigItem::nextItem to initializer list. Port xconfig to Qt5 - Tree widget set column titles. ... commit c34e6e0bd5d729948119d4b3e15b075ec0b80d6f Merge: 6a177af dcb825a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 20:55:37 2015 -0800 Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kbuild update from Michal Marek: "The kbuild branch for v4.4-rc1 only has one commit: A new make kselftest-clean target cleans tools/testing/selftests" * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kselftest: add kselftest-clean rule commit 6a177af775d92cff7ef36a681c304dc750dbe121 Merge: ae36ce0 3b5bab3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 20:46:45 2015 -0800 Merge tag 'linux-kselftest-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest updates from Shuah Khan: "This 12 patch update for 4.4-rc1 consists of a new pstore test and fixes to existing tests" * tag 'linux-kselftest-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests: breakpoint: Actually build it selftests: vm: Try harder to allocate huge pages selftests: Make scripts executable selftests: kprobe: Choose an always-defined function to probe selftests: memfd: Stop unnecessary rebuilds selftests: Add missing #include directives selftests/seccomp: Be more precise with syscall arguments. selftests/seccomp: build and pass on arm64 selftests: memfd_test: Revised STACK_SIZE to make it 16-byte aligned selftests/pstore: add pstore test scripts going with reboot selftests/pstore: add pstore test script for pre-reboot selftests: add .gitignore for efivarfs commit ae36ce07abbdde3521dc0ef7e32143b88718cd21 Merge: 2df4ee7 10855ae Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 20:37:28 2015 -0800 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Two build fixes, one for VC4, one for nouveau where the ARM only code is doing something a bit strange. While people are discussing that, just workaround it and fix the build for now. The code in question will never get used on anything non-ARM anyways. Also one fix for AST that SuSE had been hiding in their kernel, that allows all fbdev apps to work on that driver" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/nouveau: fix build failures on all non ARM. drm/ast: Initialized data needed to map fbdev memory drm/vc4: Add dependency on HAVE_DMA_ATTRS, and select DRM_GEM_CMA_HELPER commit d5f2e33b92b10b8007be50b570a27e9bacfb4c3a Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Thu Oct 8 18:46:44 2015 +0800 btrfs: Use fs_info directly in btrfs_delete_unused_bgs No need to use root->fs_info in btrfs_delete_unused_bgs(), use fs_info directly instead. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2c9fe835525896077e7e6d8e416b97f2f868edef Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Nov 9 11:51:32 2015 +0800 btrfs: Fix lost-data-profile caused by balance bg Reproduce: (In integration-4.3 branch) TEST_DEV=(/dev/vdg /dev/vdh) TEST_DIR=/mnt/tmp umount "$TEST_DEV" >/dev/null mkfs.btrfs -f -d raid1 "${TEST_DEV[@]}" mount -o nospace_cache "$TEST_DEV" "$TEST_DIR" btrfs balance start -dusage=0 $TEST_DIR btrfs filesystem usage $TEST_DIR dd if=/dev/zero of="$TEST_DIR"/file count=100 btrfs filesystem usage $TEST_DIR Result: We can see "no data chunk" in first "btrfs filesystem usage": # btrfs filesystem usage $TEST_DIR Overall: ... Metadata,single: Size:8.00MiB, Used:0.00B /dev/vdg 8.00MiB Metadata,RAID1: Size:122.88MiB, Used:112.00KiB /dev/vdg 122.88MiB /dev/vdh 122.88MiB System,single: Size:4.00MiB, Used:0.00B /dev/vdg 4.00MiB System,RAID1: Size:8.00MiB, Used:16.00KiB /dev/vdg 8.00MiB /dev/vdh 8.00MiB Unallocated: /dev/vdg 1.06GiB /dev/vdh 1.07GiB And "data chunks changed from raid1 to single" in second "btrfs filesystem usage": # btrfs filesystem usage $TEST_DIR Overall: ... Data,single: Size:256.00MiB, Used:0.00B /dev/vdh 256.00MiB Metadata,single: Size:8.00MiB, Used:0.00B /dev/vdg 8.00MiB Metadata,RAID1: Size:122.88MiB, Used:112.00KiB /dev/vdg 122.88MiB /dev/vdh 122.88MiB System,single: Size:4.00MiB, Used:0.00B /dev/vdg 4.00MiB System,RAID1: Size:8.00MiB, Used:16.00KiB /dev/vdg 8.00MiB /dev/vdh 8.00MiB Unallocated: /dev/vdg 1.06GiB /dev/vdh 841.92MiB Reason: btrfs balance delete last data chunk in case of no data in the filesystem, then we can see "no data chunk" by "fi usage" command. And when we do write operation to fs, the only available data profile is 0x0, result is all new chunks are allocated single type. Fix: Allocate a data chunk explicitly to ensure we don't lose the raid profile for data. Test: Test by above script, and confirmed the logic by debug output. Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit aefbe9a633b50a6124dbeb33a5d4efcdc6de6c30 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Sep 29 21:03:54 2015 +0800 btrfs: Fix lost-data-profile caused by auto removing bg Reproduce: (In integration-4.3 branch) TEST_DEV=(/dev/vdg /dev/vdh) TEST_DIR=/mnt/tmp umount "$TEST_DEV" >/dev/null mkfs.btrfs -f -d raid1 "${TEST_DEV[@]}" mount -o nospace_cache "$TEST_DEV" "$TEST_DIR" umount "$TEST_DEV" mount -o nospace_cache "$TEST_DEV" "$TEST_DIR" btrfs filesystem usage $TEST_DIR We can see the data chunk changed from raid1 to single: # btrfs filesystem usage $TEST_DIR Data,single: Size:8.00MiB, Used:0.00B /dev/vdg 8.00MiB # Reason: When a empty filesystem mount with -o nospace_cache, the last data blockgroup will be auto-removed in umount. Then if we mount it again, there is no data chunk in the filesystem, so the only available data profile is 0x0, result is all new chunks are created as single type. Fix: Don't auto-delete last blockgroup for a raid type. Test: Test by above script, and confirmed the logic by debug output. Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3b5753ec23597b05fd41d3f19ef582d6af1a6477 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 24 22:03:02 2015 +0800 btrfs: Remove len argument from scrub_find_csum It is useless. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit affe4a5ae18baa2ab67af42eb21d7d734b851819 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 24 21:32:06 2015 +0800 btrfs: Reduce unnecessary arguments in scrub_recheck_block We don't need pass so many arguments for recheck sblock now, this patch cleans them. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ba7cf9882bd25bed77aad7dd8865e80c7ae0070a Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 24 21:18:02 2015 +0800 btrfs: Use scrub_checksum_data and scrub_checksum_tree_block for scrub_recheck_block_checksum We can use existing scrub_checksum_data() and scrub_checksum_tree_block() for scrub_recheck_block_checksum(), instead of write duplicated code. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 772d233f5dec86e38a96e58cc995e7b04ab4ec68 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Mon Aug 24 21:10:18 2015 +0800 btrfs: Reset sblock->xxx_error stats before calling scrub_recheck_block_checksum We should reset sblock->xxx_error stats before calling scrub_recheck_block_checksum(). Current code run correctly because all sblock are allocated by k[cz]alloc(), and the error stats are not got changed. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4734b7ed79e1230602927a38bc4d04dbe9dd09c1 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Wed Aug 19 22:39:18 2015 +0800 btrfs: scrub: setup all fields for sblock_to_check scrub_setup_recheck_block() isn't setup all necessary fields for sblock_to_check because history reason. So current code need more arguments in severial functions, and more local variables, just to passing these lacked values to necessary place. This patch setup above fields to sblock_to_check in scrub_setup_recheck_block(), for: 1: more cleanup for function arg, local variable 2: to make sblock_to_check complete, then we can use sblock_to_check without concern about some uninitialized member. Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 9799d2c32bef6fba098fbef763002bc8d4851a2c Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Aug 25 21:31:40 2015 +0800 btrfs: scrub: set error stats when tree block spanning stripes It is better to show error stats to user when we found tree block spanning stripes. On a btrfs created by old version of btrfs-convert: Before patch: # btrfs scrub start -B /dev/vdh scrub done for 8b342d35-2904-41ab-b3cb-2f929709cf47 scrub started at Tue Aug 25 21:19:09 2015 and finished after 00:00:00 total bytes scrubbed: 53.54MiB with 0 errors # dmesg ... [ 128.711434] BTRFS error (device vdh): scrub: tree block 27054080 spanning stripes, ignored. logical=27000832 [ 128.712744] BTRFS error (device vdh): scrub: tree block 27054080 spanning stripes, ignored. logical=27066368 ... After patch: # btrfs scrub start -B /dev/vdh scrub done for ff7f844b-7a4e-4b1a-88a9-8252ab25be1b scrub started at Tue Aug 25 21:42:29 2015 and finished after 00:00:00 total bytes scrubbed: 53.60MiB with 2 errors error details: corrected errors: 0, uncorrectable errors: 2, unverified errors: 0 ERROR: There are uncorrectable errors. # dmesg ...omit... # Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 10855aeb1e78533c041065b33e34315e1f381c2e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 10 08:36:59 2015 +1000 drm/nouveau: fix build failures on all non ARM. gk20a is an ARM only GPU, so we can just do the correct thing on ARM but fail on other architectures. The other option was to use SWIOTLB as the define, which means phys_to_page exists, but this seems clearer. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 28fb4cb7fa6f63dc2fbdb5f2564dcbead8e3eee0 Author: Egbert Eich <eich@xxxxxxx> Date: Wed Jun 11 14:59:55 2014 +0200 drm/ast: Initialized data needed to map fbdev memory Due to a missing initialization there was no way to map fbdev memory. Thus for example using the Xserver with the fbdev driver failed. This fix adds initialization for fix.smem_start and fix.smem_len in the fb_info structure, which fixes this problem. Requested-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Egbert Eich <eich@xxxxxxx> [pulled from SuSE tree by me - airlied] Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 2df4ee78d042ee3d17cbebd51e31b300286549dc Merge: 3419b45 8a92126 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 18:11:41 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix null deref in xt_TEE netfilter module, from Eric Dumazet. 2) Several spots need to get to the original listner for SYN-ACK packets, most spots got this ok but some were not. Whilst covering the remaining cases, create a helper to do this. From Eric Dumazet. 3) Missiing check of return value from alloc_netdev() in CAIF SPI code, from Rasmus Villemoes. 4) Don't sleep while != TASK_RUNNING in macvtap, from Vlad Yasevich. 5) Use after free in mvneta driver, from Justin Maggard. 6) Fix race on dst->flags access in dst_release(), from Eric Dumazet. 7) Add missing ZLIB_INFLATE dependency for new qed driver. From Arnd Bergmann. 8) Fix multicast getsockopt deadlock, from WANG Cong. 9) Fix deadlock in btusb, from Kuba Pawlak. 10) Some ipv6_add_dev() failure paths were not cleaning up the SNMP6 counter state. From Sabrina Dubroca. 11) Fix packet_bind() race, which can cause lost notifications, from Francesco Ruggeri. 12) Fix MAC restoration in qlcnic driver during bonding mode changes, from Jarod Wilson. 13) Revert bridging forward delay change which broke libvirt and other userspace things, from Vlad Yasevich. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (65 commits) Revert "bridge: Allow forward delay to be cfgd when STP enabled" bpf_trace: Make dependent on PERF_EVENTS qed: select ZLIB_INFLATE net: fix a race in dst_release() net: mvneta: Fix memory use after free. net: Documentation: Fix default value tcp_limit_output_bytes macvtap: Resolve possible __might_sleep warning in macvtap_do_read() mvneta: add FIXED_PHY dependency net: caif: check return value of alloc_netdev net: hisilicon: NET_VENDOR_HISILICON should depend on HAS_DMA drivers: net: xgene: fix RGMII 10/100Mb mode netfilter: nft_meta: use skb_to_full_sk() helper net_sched: em_meta: use skb_to_full_sk() helper sched: cls_flow: use skb_to_full_sk() helper netfilter: xt_owner: use skb_to_full_sk() helper smack: use skb_to_full_sk() helper net: add skb_to_full_sk() helper and use it in selinux_netlbl_skbuff_setsid() bpf: doc: correct arch list for supported eBPF JIT dwc_eth_qos: Delete an unnecessary check before the function call "of_node_put" bonding: fix panic on non-ARPHRD_ETHER enslave failure ... commit 3419b45039c6b799c974a8019361c045e7ca232c Merge: 01504f5 c1c5346 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 17:23:49 2015 -0800 Merge branch 'for-4.4/io-poll' of git://git.kernel.dk/linux-block Pull block IO poll support from Jens Axboe: "Various groups have been doing experimentation around IO polling for (really) fast devices. The code has been reviewed and has been sitting on the side for a few releases, but this is now good enough for coordinated benchmarking and further experimentation. Currently O_DIRECT sync read/write are supported. A framework is in the works that allows scalable stats tracking so we can auto-tune this. And we'll add libaio support as well soon. Fow now, it's an opt-in feature for test purposes" * 'for-4.4/io-poll' of git://git.kernel.dk/linux-block: direct-io: be sure to assign dio->bio_bdev for both paths directio: add block polling support NVMe: add blk polling support block: add block polling support blk-mq: return tag/queue combo in the make_request_fn handlers block: change ->make_request_fn() and users to return a queue cookie commit 01504f5e9e071f1dde1062e3be15f54d4555308f Merge: 4bde961 8c1c5f2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 16:35:06 2015 -0800 Merge tag 'upstream-4.4-rc1' of git://git.infradead.org/linux-ubifs Pull UBI/UBIFS updates from Richard Weinberger: - access time support for UBIFS by Dongsheng Yang - random cleanups and bug fixes all over the place * tag 'upstream-4.4-rc1' of git://git.infradead.org/linux-ubifs: ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs ubifs: make ubifs_[get|set]xattr atomic UBIFS: Delete unnecessary checks before the function call "iput" UBI: Remove in vain semicolon UBI: Fastmap: Fix PEB array type UBIFS: Fix possible memory leak in ubifs_readdir() fs/ubifs: remove unnecessary new_valid_dev check ubi: fastmap: Implement produce_free_peb() UBIFS: print verbose message when rescanning a corrupted node UBIFS: call dbg_is_power_cut() instead of reading c->dbg->pc_happened UBI: drop null test before destroy functions UBI: Update comments to reflect UBI_METAONLY flag UBI: Fix debug message UBI: Fix typo in comment UBI: Fastmap: Simplify expression UBIFS: fix a typo in comment of ubifs_budget_req UBIFS: use kmemdup rather than duplicating its implementation commit 4bde961e5245bb37dab4831107bbed23e433d55a Merge: c6de7f1 2eb5f31 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 16:33:37 2015 -0800 Merge branch 'for-linus-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml Pull UML updates from Richard Weinberger: - a new hrtimer based clocksource by Anton Ivanov - ptrace() enhancments by Richard Weinberger - random cleanups and bug fixes all over the place * 'for-linus-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: um: Switch clocksource to hrtimers um: net: replace GFP_KERNEL with GFP_ATOMIC when spinlock is held um: Report host OOM more nicely um: Simplify STUB_DATA loading um: Remove dead symbol from i386 syscall stub um: Remove dead code from x86_64 syscall stub um: Get rid of open coded NR_SYSCALLS um: Store syscall number after syscall_trace_enter() um: Define PTRACE_OLDSETOPTIONS commit 247e75dba60140395cd7e808d32f76f208bedf76 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:50 2015 -0800 pci: remove pci_dma_supported Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 704c16db0e055e9a2acd4a5353e92b1ae4408a90 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:47 2015 -0800 usbnet: remove ifdefed out call to dma_supported Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21fd6c099dc0d6eb97fbd28a8c16c1b331e1d45a Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:44 2015 -0800 kaweth: remove ifdefed out call to dma_supported Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Oliver Neukum <oliver@xxxxxxxxxx> Cc: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8722b8fbceecfb63bdd74674fc5e49a8c511a1f6 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:42 2015 -0800 sfc: don't call dma_supported dma_set_mask already checks for a supported DMA mask before updating it, the call to dma_supported is redundant. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Solarflare linux maintainers <linux-net-drivers@xxxxxxxxxxxxxx> Cc: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0dcc4a59d5a9821ed6f6cf5e88c96ff4f25e55aa Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:39 2015 -0800 nouveau: don't call pci_dma_supported Just try to set a 64-bit DMA mask first and retry with the smaller dma_mask if dma_set_mask failed. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e806f75d527f7d0372fe838a80d3b7a6e1fde1b9 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:36 2015 -0800 netup_unidvb: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Sergey Kozlov <serjk@xxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4571e4a2fc6c984d2e13517aa5a6ede240a1f733 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:33 2015 -0800 cx23885: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: Pawel Osciak <pawel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 251c5912d995a146522d30a642767f5fb0f1440b Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:31 2015 -0800 cx25821: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 111be8b28d87769dfbde901602d262902575805d Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:28 2015 -0800 cx88: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f546e121b5c8672cbae4243a75b9f8dcaed6b1fd Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:25 2015 -0800 saa7134: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Pawel Osciak <pawel@xxxxxxxxxx> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 45fa9c039a09d25cb656f29ac3b061fe5672feab Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:23 2015 -0800 saa7164: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Steven Toth <stoth@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bad007bca7b7643fea786737071c86088ba2803b Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:20 2015 -0800 tw68-core: use pci_set_dma_mask insted of pci_dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Pawel Osciak <pawel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 46a7fd8a9b302116b3263bc8e47f8f08c0d3a2ca Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Nov 10 14:45:17 2015 -0800 pcnet32: use pci_set_dma_mask insted of pci_dma_supported All drivers should be using dma_set_mask / pci_set_dma_mask to try to set the dma mask instead of just querying it. Without that some iommu implementations may not work. pci_dma_supported is removed entirely, but dma_supported stays for dma_ops implementations for now. This patch (of 15): This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Don Fry <pcnet32@xxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Hans Verkuil <hverkuil@xxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Pawel Osciak <pawel@xxxxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Cc: Sergey Kozlov <serjk@xxxxxxxx> Cc: Shradha Shah <sshah@xxxxxxxxxxxxxx> Cc: Solarflare linux maintainers <linux-net-drivers@xxxxxxxxxxxxxx> Cc: Steven Toth <stoth@xxxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3368e8fbcda539e4f9d6cdb750f23c25021698c9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Nov 10 14:45:14 2015 -0800 lib/string.c: add ULL suffix to the constant definition 8-byte constant is too big for long and compiler complains about this. lib/string.c:907:20: warning: constant 0x0101010101010101 is so big it is long Append ULL suffix to explicitly show its type. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d15c7c09325bcc5c924ae5ef52e2bc91b6753715 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Tue Nov 10 14:45:11 2015 -0800 hugetlb: trivial comment fix Recently alloc_buddy_huge_page() was renamed to __alloc_buddy_huge_page(), so let's sync comments. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e14231cfe70253cb3c32289d06407e68f4575939 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Nov 10 14:45:09 2015 -0800 selftests/mlock2: add ULL suffix to 64-bit constants On 32-bit (e.g. m68k): mlock2-tests.c: In function 'lock_check': mlock2-tests.c:293: warning: integer constant is too large for 'long' type mlock2-tests.c:294: warning: integer constant is too large for 'long' type mlock2-tests.c:299: warning: integer constant is too large for 'long' type ... Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Eric B Munson <emunson@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 60997feb14d5634fc7a9b18ab3c026ba8d3a5839 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Nov 10 14:45:06 2015 -0800 selftests/mlock2: add missing #define _GNU_SOURCE On glibc 2.3.6: mlock2-tests.c: In function 'seek_to_smaps_entry': mlock2-tests.c:158: warning: implicit declaration of function 'getline' According to the manpage of getline(), it needs _GNU_SOURCE before glibc 2.10. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Eric B Munson <emunson@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c6de7f1754bd474019c60d6f076fa3f704e46b78 Merge: 52e9a33 f23d0e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 16:24:25 2015 -0800 Merge tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag Pull metag arch updates from James Hogan: "A fix for 4KiB stacks with SMP, and a change of maintenance status to 'Odd Fixes'" * tag 'metag-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: MAINTAINERS: Change Meta arch port status to Odd Fixes metag: Turn irq_ctx_* macros into static inlines metag: SMP: Fix 4KiB stack setup on secondary CPUs commit b1d06b60e90cd5016798b9984f8e420e753f4846 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Nov 6 19:28:22 2015 -0800 of: Provide static inline function for of_translate_address if needed If OF_ADDRESS is not configured, builds can fail with errors such as drivers/net/ethernet/hisilicon/hns_mdio.c: In function 'hns_mdio_bus_name': drivers/net/ethernet/hisilicon/hns_mdio.c:411:3: error: implicit declaration of function 'of_translate_address' as currently seen when building sparc:allmodconfig. Introduce a static inline function if OF_ADDRESS is not configured to fix the build failure. Return OF_BAD_ADDR in this case. For this to work, the definition of OF_BAD_ADDR has to be moved outside CONFIG_OF conditional code. Fixes: 876133d3161d ("net: hisilicon: add OF dependency") Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 1cc8e3458b5110253c8f5aaf1890d5ffea9bb7b7 Author: Jason Liu <r64343@xxxxxxxxxxxxx> Date: Tue Nov 10 20:30:26 2015 +0800 drivers: of: of_reserved_mem: fixup the alignment with CMA setup There is an alignment mismatch issue between the of_reserved_mem and the CMA setup requirement. The of_reserved_mem will try to get the alignment value from the DTS and pass it to __memblock_alloc_base to do the memory block base allocation, but the alignment value specified in the DTS may not satisfy the CAM setup requirement since CMA setup required the alignment as the following in the code: align = PAGE_SIZE << max(MAX_ORDER - 1, pageblock_order); The sanity check in the function of rmem_cma_setup will fail if the alignment does not setup correctly and thus CMA will fail to setup. This patch is to fixup the alignment to meet the CMA setup required. Mailing-list-thread: https://lkml.org/lkml/2015/11/9/138 Signed-off-by: Jason Liu <r64343@xxxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 85a1c77fb8c4ae91d203fd0e8c3b54b50662d3c6 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Nov 10 16:08:33 2015 +1100 of: Print rather than WARN'ing when overlap check fails __rmem_check_for_overlap() is called very early in boot, and on some powerpc systems it's not safe to call WARN that early in boot. If the overlap check fails the system will oops instead of printing a warning. Furthermore because it's so early in boot the console is not up and the user doesn't see the oops, they just get a dead system. Fix it by printing an error instead of calling WARN. Fixes: ae1add247bf8 ("of: Check for overlap in reserved memory regions") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 87ab5205e620f0936f5c65c9d6c7b341dca9d5f9 Author: Raphael Poggi <poggi.raph@xxxxxxxxx> Date: Fri Nov 6 13:51:47 2015 -0800 dt-bindings: ak4554: extension should be .txt Signed-off-by: Raphaël Poggi <poggi.raph@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 52e9a33333fc337d03ffb865048f9ccae8552a8d Merge: c0d6fe2 7c9730c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 15:08:32 2015 -0800 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: "Defconfig updates are kept separate from other branches mostly to avoid conflicts between the different categories (driver branch enabling something that has context conflict with SoC options, etc). A lot of this again is scattered across the various hardware platforms. multi_v7_defconfig, our "generic" config for most 32-bit platforms has been gone through by Marvell Berlin maintainers and added most options they need to run on their hardware. Broadcom NSP is also added there, and the new Atmel SAMA5D2 (added last release). Rockchip also has display and other devices supported in that config. In addition to that, the usual small churn of new options being added here and there" * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits) ARM: multi_v7_defconfig: enable UniPhier I2C drivers ARM: multi_v7_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 ARM: exynos_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 ARM: exynos_defconfig: Enable WiFi-Ex as a module instead built-in ARM: exynos_defconfig: Disable simplefb support ARM: exynos_defconfig: Enable LEDS for Odroid-XU3/XU4 ARM: multi_v7_defconfig: Enable DWC2 USB driver and USB ethernet gadget ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget ARM: exynos_defconfig: Enable USB Video Class support ARM: multi_v7_defconfig: improve multi_v7_defconfig support for Berlin ARM: tegra: Update multi_v7_defconfig ARM: multi_v7_defconfig: Add Atmel SDHCI device ARM: multi_v7_defconfig: Add Atmel Flexcom device ARM: multi_v7_defconfig: Add Atmel SAMA5D2 SoC ARM: at91/defconfig: add sama5d2 and its new devices to sama5 defconfig ARM: at91/defconfig: update at91_dt defconfig ARM: at91/defconfig: update sama5 defconfig ARM: configs: Enable FIXED_PHY in multi_v7 defconfig ARM: configs: update lpc18xx defconfig ARM: socfpga_defconfig: enable fpga manager ... commit c0d6fe2f01c475cc137d90607a07578586883df8 Merge: b44a3d2 3e4dda7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 15:06:26 2015 -0800 Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM DT updates from Olof Johansson: "As usual, this is the massive branch we have for each release. Lots of various updates and additions of hardware descriptions on existing hardware, as well as the usual additions of new boards and SoCs. This is also the first release where we've started mixing 64- and 32-bit DT updates in one branch. (Specific details on what's actually here and new is pretty easy to tell from the diffstat, so there's little point in duplicating listing it here)" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (499 commits) ARM: dts: uniphier: add system-bus-controller nodes ARM64: juno: disable NOR flash node by default ARM: dts: uniphier: add outer cache controller nodes arm64: defconfig: Enable PCI generic host bridge by default arm64: Juno: Add support for the PCIe host bridge on Juno R1 Documentation: of: Document the bindings used by Juno R1 PCIe host bridge ARM: dts: uniphier: add I2C aliases for ProXstream2 boards dts/Makefile: Add build support for LS2080a QDS & RDB board DTS dts/ls2080a: Add DTS support for LS2080a QDS & RDB boards dts/ls2080a: Update Simulator DTS to add support of various peripherals dts/ls2080a: Remove text about writing to Free Software Foundation dts/ls2080a: Update DTSI to add support of various peripherals doc: DTS: Update DWC3 binding to provide reference to generic bindings doc/bindings: Update GPIO devicetree binding documentation for LS2080A Documentation/dts: Move FSL board-specific bindings out of /powerpc Documentation: DT: Add entry for FSL LS2080A QDS and RDB boards arm64: Rename FSL LS2085A SoC support code to LS2080A arm64: Use generic Layerscape SoC family naming ARM: dts: uniphier: add ProXstream2 Vodka board support ARM: dts: uniphier: add ProXstream2 Gentil board support ... commit 89ba7d8c22acb43e318ca1c82e25c8b75ef7a7b2 Merge: 57ab3b08 759d2a9 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Nov 11 00:01:21 2015 +0100 Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux into pm-tools Pull turbostat changes for v4.4 from Len Brown. * 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: tools/power turbostat: bugfix: print MAX_NON_TURBO_RATIO tools/power turbostat: simplify Bzy_MHz calculation commit b44a3d2a85c64208a57362a1728efb58a6556cd6 Merge: 56e0464 d13a5c8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 15:00:03 2015 -0800 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: "As we've enabled multiplatform kernels on ARM, and greatly done away with the contents under arch/arm/mach-*, there's still need for SoC-related drivers to go somewhere. Many of them go in through other driver trees, but we still have drivers/soc to hold some of the "doesn't fit anywhere" lowlevel code that might be shared between ARM and ARM64 (or just in general makes sense to not have under the architecture directory). This branch contains mostly such code: - Drivers for qualcomm SoCs for SMEM, SMD and SMD-RPM, used to communicate with power management blocks on these SoCs for use by clock, regulator and bus frequency drivers. - Allwinner Reduced Serial Bus driver, again used to communicate with PMICs. - Drivers for ARM's SCPI (System Control Processor). Not to be confused with PSCI (Power State Coordination Interface). SCPI is used to communicate with the assistant embedded cores doing power management, and we have yet to see how many of them will implement this for their hardware vs abstracting in other ways (or not at all like in the past). - To make confusion between SCPI and PSCI more likely, this release also includes an update of PSCI to interface version 1.0. - Rockchip support for power domains. - A driver to talk to the firmware on Raspberry Pi" * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (57 commits) soc: qcom: smd-rpm: Correct size of outgoing message bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus bus: sunxi-rsb: Add Allwinner Reduced Serial Bus (RSB) controller bindings ARM: bcm2835: add mutual inclusion protection drivers: psci: make PSCI 1.0 functions initialization version dependent dt-bindings: Correct paths in Rockchip power domains binding document soc: rockchip: power-domain: don't try to print the clock name in error case soc: qcom/smem: add HWSPINLOCK dependency clk: berlin: add cpuclk ARM: berlin: dts: add CLKID_CPU for BG2Q ARM: bcm2835: Add the Raspberry Pi firmware driver soc: qcom: smem: Move RPM message ram out of smem DT node soc: qcom: smd-rpm: Correct the active vs sleep state flagging soc: qcom: smd: delete unneeded of_node_put firmware: qcom-scm: build for correct architecture level soc: qcom: smd: Correct SMEM items for upper channels qcom-scm: add missing prototype for qcom_scm_is_available() qcom-scm: fix endianess issue in __qcom_scm_is_call_available soc: qcom: smd: Reject send of too big packets soc: qcom: smd: Handle big endian CPUs ... commit 56e0464980febfa50432a070261579415c72664e Merge: a5e1d71 b1e4006 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 14:56:23 2015 -0800 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 and/or improved SoC support for this release: Marvell Berlin: - Enable standard DT-based cpufreq - Add CPU hotplug support Freescale: - Ethernet init for i.MX7D - Suspend/resume support for i.MX6UL Allwinner: - Support for R8 chipset (used on NTC's $9 C.H.I.P board) Mediatek: - SMP support for some platforms Uniphier: - L2 support - Cleaned up SMP support, etc. plus a handful of other patches around above functionality, and a few other smaller changes" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits) ARM: uniphier: rework SMP operations to use trampoline code ARM: uniphier: add outer cache support Documentation: EXYNOS: Update bootloader interface on exynos542x ARM: mvebu: add broken-idle option ARM: orion5x: use mac_pton() helper ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned ARM: sunxi: Add R8 support ARM: digicolor: select pinctrl/gpio driver arm: berlin: add CPU hotplug support arm: berlin: use non-self-cleared reset register to reset cpu ARM: mediatek: add smp bringup code ARM: mediatek: enable gpt6 on boot up to make arch timer working soc: mediatek: Fix random hang up issue while kernel init soc: ti: qmss: make acc queue support optional in the driver soc: ti: add firmware file name as part of the driver Documentation: dt: soc: Add description for knav qmss driver ARM: S3C64XX: Use PWM lookup table for mach-smartq ARM: S3C64XX: Use PWM lookup table for mach-hmt ARM: S3C64XX: Use PWM lookup table for mach-crag6410 ARM: S3C64XX: Use PWM lookup table for smdk6410 ... commit a5e1d715a8d0696961d99d31d869aa522f1cad5a Merge: 64fd8c8 d3dc3df Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 14:48:36 2015 -0800 Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanups from Olof Johansson: "Again we have a sizable (but not huge) cleanup branch with a net delta of about -3k lines. Main contents here is: - A bunch of development/cleanup of a few PXA boards - Removal of bockw platforms on shmobile, since the platform has now gone completely multiplatform. Whee! - move of the 32kHz timer on OMAP to a proper timesource - Misc cleanup of older OMAP material (incl removal of one board file) - Switch over to new common PWM lookup support for several platforms There's also a handful of other cleanups across the tree, but the above are the major pieces" * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (103 commits) ARM: OMAP3: hwmod data: Remove legacy mailbox data and addrs ARM: DRA7: hwmod data: Remove spinlock hwmod addrs ARM: OMAP4: hwmod data: Remove spinlock hwmod addrs ARM: DRA7/AM335x/AM437x: hwmod: Remove gpmc address space from hwmod data ARM: Remove __ref on hotplug cpu die path ARM: Remove open-coded version of IRQCHIP_DECLARE arm: omap2: board-generic: use omap4_local_timer_init for AM437x ARM: DRA7/AM335x/AM437x: hwmod: Remove elm address space from hwmod data ARM: OMAP: Remove duplicated operand in OR operation clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode ARM: pxa: raumfeld: make some variables static ARM: OMAP: Change all cpu_is_* occurences to soc_is_* for id.c ARM: OMAP2+: Rename cpu_is macros to soc_is arm: omap2: timer: limit hwmod usage to non-DT boots arm: omap2+: select 32k clocksource driver clocksource: add TI 32.768 Hz counter driver arm: omap2: timer: rename omap_sync32k_timer_init() arm: omap2: timer: always call clocksource_of_init() when DT arm: omap2: timer: move realtime_counter_init() around ... commit 086f332167d64b645d37405854f049b9ad7371ab Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Nov 10 13:39:42 2015 +0100 netfilter: nf_tables: add clone interface to expression operations With the conversion of the counter expressions to make it percpu, we need to clone the percpu memory area, otherwise we crash when using counters from flow tables. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit aabc92bbe3cfe4c545f8ccdaaeeea012a46f0abf Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Nov 10 14:31:18 2015 +0100 net: add __netdev_alloc_pcpu_stats() to indicate gfp flags nf_tables may create percpu counters from the packet path through its dynamic set instantiation infrastructure, so we need a way to allocate this through GFP_ATOMIC. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74ec4d55c4d243330d93fc52e23e37d2e76548ba Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 10 13:22:15 2015 +0100 netfilter: fix xt_TEE and xt_TPROXY dependencies Kconfig is too smart for its own good: a Kconfig line that states select NF_DEFRAG_IPV6 if IP6_NF_IPTABLES means that if IP6_NF_IPTABLES is set to 'm', then NF_DEFRAG_IPV6 will also be set to 'm', regardless of the state of the symbol from which it is selected. When the xt_TEE driver is built-in and nothing else forces NF_DEFRAG_IPV6 to be built-in, this causes a link-time error: net/built-in.o: In function `tee_tg6': net/netfilter/xt_TEE.c:46: undefined reference to `nf_dup_ipv6' This works around that behavior by changing the dependency to 'if IP6_NF_IPTABLES != n', which is interpreted as boolean expression rather than a tristate and causes the NF_DEFRAG_IPV6 symbol to be built-in as well. The bug only occurs once in thousands of 'randconfig' builds and does not really impact real users. From inspecting the other surrounding Kconfig symbols, I am guessing that NETFILTER_XT_TARGET_TPROXY and NETFILTER_XT_MATCH_SOCKET have the same issue. If not, this change should still be harmless. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c872a2d9e3627829591736ddd8e8710a0afb2f95 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 10 13:08:15 2015 +0100 netfilter: nfnetlink_log: work around uninitialized variable warning After a recent (correct) change, gcc started warning about the use of the 'flags' variable in nfulnl_recv_config() net/netfilter/nfnetlink_log.c: In function 'nfulnl_recv_config': net/netfilter/nfnetlink_log.c:320:14: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized] net/netfilter/nfnetlink_log.c:828:6: note: 'flags' was declared here The warning first shows up in ARM s3c2410_defconfig with gcc-4.3 or higher (including 5.2.1, which is the latest version I checked) I tried working around it by rearranging the code but had no success with that. As a last resort, this initializes the variable to zero, which shuts up the warning, but means that we don't get a warning if the code is ever changed in a way that actually causes the variable to be used without first being written. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 8cbc870829ec ("netfilter: nfnetlink_log: validate dependencies to avoid breaking atomicity") Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 64fd8c8a0ff421b47a879fbff5b82563b7fb82f5 Merge: b0aeba7 19c1c32 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 14:45:05 2015 -0800 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: "A handful of fixes that came in and didn't seem warranted to go in through the 4.3-rc cycle. - MAINTAINERS updates for one of the Broadcom platforms and lpc18xx - A couple of non-critical Davinci bugfixes - A fix to reset irq affinity for TI platforms (silences a warning at reboot)" * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: MAINTAINERS: update lpc18xx entry with more drivers soc: ti: reset irq affinity before freeing irq ARM: cns3xxx: pci: avoid potential stack overflow ARM: davinci: clock: Correct return values for API functions ARM: davinci: re-use %*ph specifier MAINTAINERS: add entry for the Broadcom Northstar Plus SoCs commit b0aeba741b2d082e4f0773881af4906ce2bb8231 Author: Tony Luck <tony.luck@xxxxxxxxx> Date: Tue Nov 10 10:09:47 2015 -0800 Fix alloc_node_mem_map() to work on ia64 again In commit a1c34a3bf00a ("mm: Don't offset memmap for flatmem") Laura fixed a problem for Srinivas relating to the bottom 2MB of RAM on an ARM IFC6410 board. One small wrinkle on ia64 is that it allocates the node_mem_map earlier in arch code, so it skips the block of code where "offset" is initialized. Move initialization of start and offset before the check for the node_mem_map so that they will always be available in the latter part of the function. Tested-by: Laura Abbott <laura@xxxxxxxxxxxx> Fixes: a1c34a3bf00a (mm: Don't offset memmap for flatmem) Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0442f14b15f8e7a8b3778a9f8cf640ef89b2df26 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Fri Oct 9 01:44:07 2015 +0000 svcrpc: document lack of some memory barriers We're missing memory barriers in net/sunrpc/svcsock.c in some spots we'd expect them. But it doesn't appear they're necessary in our case, and this is likely a hot path--for now just document the odd behavior. Kosuke Tatsukawa found this issue while looking through the linux source code for places calling waitqueue_active() before wake_up*(), but without preceding memory barriers, after sending a patch to fix a similar issue in drivers/tty/n_tty.c (Details about the original issue can be found here: https://lkml.org/lkml/2015/9/28/849). Reported-by: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 8a921265e2cd31e61a0c2eda582af54c5bfef897 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Tue Nov 10 06:15:32 2015 -0500 Revert "bridge: Allow forward delay to be cfgd when STP enabled" This reverts commit 34c2d9fb0498c066afbe610b15e18995fd8be792. There are 2 reasons for this revert: 1) The commit in question doesn't do what it says it does. The description reads: "Allow bridge forward delay to be configured when Spanning Tree is enabled." This was already the case before the commit was made. What the commit actually do was disallow invalid values or 'forward_delay' when STP was turned off. 2) The above change was actually a change in the user observed behavior and broke things like libvirt and other network configs that set 'forward_delay' to 0 without enabling STP. The value of 0 is actually used when STP is turned off to immediately mark the bridge as forwarding. Signed-off-by: Vlad Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a31d82d85afdcbdb8c4128dfd6146992dc6b3576 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Tue Nov 10 15:28:17 2015 -0500 bpf_trace: Make dependent on PERF_EVENTS Arnd Bergmann reported: In my ARM randconfig tests, I'm getting a build error for newly added code in bpf_perf_event_read and bpf_perf_event_output whenever CONFIG_PERF_EVENTS is disabled: kernel/trace/bpf_trace.c: In function 'bpf_perf_event_read': kernel/trace/bpf_trace.c:203:11: error: 'struct perf_event' has no member named 'oncpu' if (event->oncpu != smp_processor_id() || ^ kernel/trace/bpf_trace.c:204:11: error: 'struct perf_event' has no member named 'pmu' event->pmu->count) This can happen when UPROBE_EVENT is enabled but KPROBE_EVENT is disabled. I'm not sure if that is a configuration we care about, otherwise we could prevent this case from occuring by adding Kconfig dependencies. Looking at this further, it's really that UPROBE_EVENT enables PERF_EVENTS. By just having BPF_EVENTS depend on PERF_EVENTS, then all is fine. Link: http://lkml.kernel.org/r/4525348.Aq9YoXkChv@wuerfel Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bdb96cb69d9e4c6038a976fa9def9f8ae024ff8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 10 11:28:15 2015 +0100 qed: select ZLIB_INFLATE The newly added qlogic qed driver uses the zlib library, but misses the dependency: drivers/built-in.o: In function `qed_alloc_stream_mem': drivers/net/ethernet/qlogic/qed/qed_main.c:707: undefined reference to `zlib_inflate_workspacesize' drivers/built-in.o: In function `qed_unzip_data': drivers/net/ethernet/qlogic/qed/qed_main.c:675: undefined reference to `zlib_inflateInit2' This changes Kconfig to always select zlib when needed. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: fe56b9e6a8d9 ("qed: Add module with basic common support") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3934bbc0446e4cae977a6efe82ce993d37434e53 Merge: 264015f 14f09e2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 12:13:00 2015 -0800 Merge tag 'md/4.4-rc0-fix' of git://neil.brown.name/md Pull config fix for md from Neil Brown: "New config dependency needed as md/raid5 now uses crc32c" * tag 'md/4.4-rc0-fix' of git://neil.brown.name/md: raid5-cache: add crc32c Kconfig dependency commit 264015f8a83fefc62c5125d761fbbadf924e520c Merge: d55fc37 ab27a8d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 12:07:22 2015 -0800 Merge tag 'libnvdimm-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull libnvdimm updates from Dan Williams: "Outside of the new ACPI-NFIT hot-add support this pull request is more notable for what it does not contain, than what it does. There were a handful of development topics this cycle, dax get_user_pages, dax fsync, and raw block dax, that need more more iteration and will wait for 4.5. The patches to make devm and the pmem driver NUMA aware have been in -next for several weeks. The hot-add support has not, but is contained to the NFIT driver and is passing unit tests. The coredump support is straightforward and was looked over by Jeff. All of it has received a 0day build success notification across 107 configs. Summary: - Add support for the ACPI 6.0 NFIT hot add mechanism to process updates of the NFIT at runtime. - Teach the coredump implementation how to filter out DAX mappings. - Introduce NUMA hints for allocations made by the pmem driver, and as a side effect all devm allocations now hint their NUMA node by default" * tag 'libnvdimm-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: coredump: add DAX filtering for FDPIC ELF coredumps coredump: add DAX filtering for ELF coredumps acpi: nfit: Add support for hot-add nfit: in acpi_nfit_init, break on a 0-length table pmem, memremap: convert to numa aware allocations devm_memremap_pages: use numa_mem_id devm: make allocations numa aware by default devm_memremap: convert to return ERR_PTR devm_memunmap: use devres_release() pmem: kill memremap_pmem() x86, mm: quiet arch_add_memory() commit d55fc37856244c929965c190c8e9dcb49e2c07aa Merge: 42d4ebb 75ecc64 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 11:58:25 2015 -0800 Merge branch 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c updates from Wolfram Sang: - New drivers: UniPhier (with and without FIFO) - some drivers got some bigger rework: ismt, designware, img-scb (rcar had to be reverted because issues were showing up just lately) - ACPI: reworked the device scanning and added support for muxes ... and quite a lot of driver bugfixes and cleanups this time. All files touched outside of the i2c realm have proper acks. * 'i2c/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (70 commits) i2c: rcar: Revert the latest refactoring series i2c: pnx: remove superfluous assignment MAINTAINERS: i2c: drop i2c-pnx maintainer MAINTAINERS: i2c: mark also subdirectories as maintained i2c: cadence: enable driver for ARM64 i2c: i801: Document Intel DNV and Broxton i2c: at91: manage unexpected RXRDY flag when starting a transfer i2c: pnx: Use setup_timer instead of open coding it i2c: add ACPI support for I2C mux ports acpi: add acpi_preset_companion() stub i2c: pxa: Add support for pxa910/988 & new configuration features i2c: au1550: Convert to devm_kzalloc and devm_ioremap_resource i2c-dev: Fix I2C_SLAVE ioctl comment i2c-dev: Fix typo in ioctl name reference i2c: sirf: tune the divider to make i2c bus freq more accurate i2c: imx: Use -ENXIO as error in the NACK case i2c: i801: Add support for Intel Broxton i2c: i801: Add support for Intel DNV i2c: mediatek: add i2c resume support i2c: imx: implement bus recovery ... commit 42d4ebb42a17754d2e8344dc1aa486119671d0eb Merge: 6aabef6 760d280 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:11:12 2015 -0800 Merge git://www.linux-watchdog.org/linux-watchdog Pull watchdog update from Wim Van Sebroeck: - New driver for Broadcom 7038 Set-Top Box - imx2_wdt: Use register definition in regmap_write() - intel-mid: add Magic Closure flag - watchdog framework improvements: - Use device tree alias for naming watchdogs - propagate ping error code to the user space - Always evaluate new timeout against min_timeout - Use single variable name for struct watchdog_device - include clean-ups * git://www.linux-watchdog.org/linux-watchdog: watchdog: include: add units for timeout values in kerneldoc watchdog: include: fix some typos watchdog: core: propagate ping error code to the user space watchdog: watchdog_dev: Use single variable name for struct watchdog_device watchdog: Always evaluate new timeout against min_timeout watchdog: intel-mid: add Magic Closure flag watchdog: imx2_wdt: Use register definition in regmap_write() watchdog: watchdog_dev: Use device tree alias for naming watchdogs watchdog: Watchdog driver for Broadcom Set-Top Box watchdog: bcm7038: add device tree binding documentation commit 6aabef681df96b851b4a11459520d4a20ab1cae4 Merge: 1eb196c ba95339 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:09:01 2015 -0800 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging Pull tiny hwmon update from Jean Delvare. * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (k10temp) Remove duplicate pci-id define commit 1eb196c3c01f364d6cd3e8c0e16dc4702fdaffd9 Merge: 041c795 fdcb4b2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:07:50 2015 -0800 Merge tag 'ntb-4.4' of git://github.com/jonmason/ntb Pull NTB bugfixes from Jon Mason: "NTB Bug fixes for potential NULL pointer accesses, accesses of a freed pointer, invalid buffer pointer, and a compiler warning. Also, unification of upstream/downstream addresses" * tag 'ntb-4.4' of git://github.com/jonmason/ntb: NTB: fix 32-bit compiler warning NTB: unify translation addresses NTB: invalid buf pointer in multi-MW setups NTB: remove unused variable NTB: fix access of free-ed pointer NTB: Fix issue where we may be accessing NULL ptr commit 041c79514af9080c75197078283134f538f46b44 Merge: 7d88471 34635b1a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:05:17 2015 -0800 Merge tag 'dmaengine-4.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma Pull dmaengine updates from Vinod Koul: "This time we have a very typical update which is mostly fixes and updates to drivers and no new drivers. - the biggest change is coming from Peter for edma cleanup which even caused some last minute regression, things seem settled now - idma64 and dw updates - iotdma updates - module autoload fixes for various drivers - scatter gather support for hdmac" * tag 'dmaengine-4.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (77 commits) dmaengine: edma: Add dummy driver skeleton for edma3-tptc Revert "ARM: DTS: am33xx: Use the new DT bindings for the eDMA3" Revert "ARM: DTS: am437x: Use the new DT bindings for the eDMA3" dmaengine: dw: some Intel devices has no memcpy support dmaengine: dw: platform: provide platform data for Intel dmaengine: dw: don't override platform data with autocfg dmaengine: hdmac: Add scatter-gathered memset support dmaengine: hdmac: factorise memset descriptor allocation dmaengine: virt-dma: Fix kernel-doc annotations ARM: DTS: am437x: Use the new DT bindings for the eDMA3 ARM: DTS: am33xx: Use the new DT bindings for the eDMA3 dmaengine: edma: New device tree binding dmaengine: Kconfig: edma: Select TI_DMA_CROSSBAR in case of ARCH_OMAP dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx dmaengine: edma: Merge the of parsing functions dmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot dmaengine: edma: Refactor the dma device and channel struct initialization dmaengine: edma: Get qDMA channel information from HW also dmaengine: edma: Merge map_dmach_to_queue into assign_channel_eventq dmaengine: edma: Correct PaRAM access function names (_parm_ to _param_) ... commit 7d884710bb3635f94dac152ae226ca54a585a223 Merge: 3b13866 1e3929e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:01:21 2015 -0800 Merge tag 'rtc-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux Pull RTC updates from Alexandre Belloni: "Core: - Fix rtctest error path New drivers: - Microcrystal RV8803 Subsystem wide cleanups: - remove misuse of IRQF_NO_SUSPEND flag Drivers: - at91rm9200: clear RTC alarm status flag prior to suspending - davinci: remove incorrect reference to probe function - ds1307: Fix alarm programming for mcp794xx - ds1390: trickle charger support, fix ds1390_get_reg - isl1208: Pass the IRQF_ONESHOT flag - opal: fix type of token - pcf2127: fix RTC_READ_VL, remove useless driver version - pcf85063: return an error when date is invalid - pcf8563: add CLKOUT to common clock framework - rx8025: remove unnecessary braces - s3c: Set year, month, day value for setting alarm - stmp3xxx: unify register access macros - License fixes: pcf2127, da9063 - wakeup-source support for isl12057 and opal" * tag 'rtc-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (23 commits) rtc: Add a driver for Micro Crystal RV8803 rtc: s3c: Set year, month, day value for setting alarm rtc: ds1307: Fix alarm programming for mcp794xx rtc: isl12057: enable support for the standard "wakeup-source" property rtc: opal: enable support for the stardard "wakeup-source" property rtc: isl1208: Pass the IRQF_ONESHOT flag rtc: pcf8563: add CLKOUT to common clock framework rtc: davinci: remove incorrect reference to probe function rtc: at91rm9200: clear RTC alarm status flag prior to suspending rtc: pcf2127: remove useless driver version rtc: pcf2127: fix reading uninitialized value on RTC_READ_VL ioctl rtc: stmp3xxx: unify register access macros rtc: da9063: GPL copyright inconsistency fix rtc: pcf85063: return an error when date is invalid rtc: rx8025: remove unnecessary braces rtc: ds1343: remove misuse of IRQF_NO_SUSPEND flag rtc: ab8500: remove misuse of IRQF_NO_SUSPEND flag rtc: pl031: remove misuse of IRQF_NO_SUSPEND flag rtc: opal: fix type of token rtc: ds1390: Add trickle charger device tree binding ... commit 3b13866869b8407497d20a916450594e117583e6 Merge: 3e82806 08bfb45 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 10:00:09 2015 -0800 Merge tag 'fbdev-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: - omap: fix hdmi audio configuration issue - ssd1307fb: add ssd1309 support - tridentfb: support DDC - gxt4500: enable support for non-PPC platforms * tag 'fbdev-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: radeonfb: Deinline large functions gxt4500: enable panning gxt4500: Use arch_phys_wc_* for framebuffer gxt4500: fix color order gxt4500: fix 16bpp 565 mode gxt4500: enable on non-PPC architectures tridentfb: Add DDC support fb_ddc: Allow I2C adapters without SCL read capability fbdev: ssd1307fb: add ssd1309 support fbdev: ssd1307fb: alphabetize headers video/omap: remove invalid check OMAPDSS: hdmi: Reconfigure and restart audio when display is enabled commit 3e82806b97398d542a5e03bd94861f79ce10ecee Merge: bd4f203 816d220 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 10 09:33:06 2015 -0800 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull drm updates from Dave Airlie: "I Was Almost Tempted To Capitalise Every Word, but then I decided I couldn't read it myself! I've also got one pull request for the sti driver outstanding. It relied on a commit in Greg's tree and I didn't find out in time, that commit is in your tree now so I might send that along once this is merged. I also had the accidental misfortune to have access to a Skylake on my desk for a few days, and I've had to encourage Intel to try harder, which seems to be happening now. Here is the main drm-next pull request for 4.4. Highlights: New driver: vc4 driver for the Rasberry Pi VPU. (From Eric Anholt at Broadcom.) Core: Atomic fbdev support Atomic helpers for runtime pm dp/aux i2c STATUS_UPDATE handling struct_mutex usage cleanups. Generic of probing support. Documentation: Kerneldoc for VGA switcheroo code. Rename to gpu instead of drm to reflect scope. i915: Skylake GuC firmware fixes HPD A support VBT backlight fallbacks Fastboot by default for some systems FBC work BXT/SKL workarounds Skylake deeper sleep state fixes amdgpu: Enable GPU scheduler by default New atombios opcodes GPUVM debugging options Stoney support. Fencing cleanups. radeon: More efficient CS checking nouveau: gk20a instance memory handling improvements. Improved PGOB detection and GK107 support Kepler GDDR5 PLL statbility improvement G8x/GT2xx reclock improvements new userspace API compatiblity fixes. virtio-gpu: Add 3D support - qemu 2.5 has it merged for it's gtk backend. msm: Initial msm88896 (snapdragon 8200) exynos: HDMI cleanups Enable mixer driver byt default Add DECON-TV support vmwgfx: Move to using memremap + fixes. rcar-du: Add support for R8A7793/4 DU armada: Remove support for non-component mode Improved plane handling Power savings while in DPMS off. tda998x: Remove unused slave encoder support Use more HDMI helpers Fix EDID read handling dwhdmi: Interlace video mode support for ipu-v3/dw_hdmi Hotplug state fixes Audio driver integration imx: More color formats support. tegra: Minor fixes/improvements" [ Merge fixup: remove unused variable 'dev' that had all uses removed in commit 4e270f088011: "drm/gem: Drop struct_mutex requirement from drm_gem_mmap_obj" ] * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (764 commits) drm/vmwgfx: Relax irq locking somewhat drm/vmwgfx: Properly flush cursor updates and page-flips drm/i915/skl: disable display side power well support for now drm/i915: Extend DSL readout fix to BDW and SKL. drm/i915: Do graphics device reset under forcewake drm/i915: Skip fence installation for objects with rotated views (v4) vga_switcheroo: Drop client power state VGA_SWITCHEROO_INIT drm/amdgpu: group together common fence implementation drm/amdgpu: remove AMDGPU_FENCE_OWNER_MOVE drm/amdgpu: remove now unused fence functions drm/amdgpu: fix fence fallback check drm/amdgpu: fix stoping the scheduler timeout drm/amdgpu: cleanup on error in amdgpu_cs_ioctl() drm/i915: Fix locking around GuC firmware load drm/amdgpu: update Fiji's Golden setting drm/amdgpu: update Fiji's rev id drm/amdgpu: extract common code in vi_common_early_init drm/amd/scheduler: don't oops on failure to load drm/amdgpu: don't oops on failure to load (v2) drm/amdgpu: don't VT switch on suspend ... commit c1c534609fe8a859f9c8108a5591e6e8a97e34d1 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Nov 10 10:14:38 2015 -0700 direct-io: be sure to assign dio->bio_bdev for both paths btrfs sets ->submit_io(), and we failed to set the block dev for that path. That resulted in a potential NULL dereference when we later wait for IO in dio_await_one(). Reported-by: kernel test robot <ying.huang@xxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e428abbbf616cd8fdd1162e4a624ad1d47b47544 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Nov 10 05:15:15 2015 +0800 tracing: #ifdef out uses of max trace when CONFIG_TRACER_MAX_TRACE is not set tracing_max_lat_fops is used only when TRACER_MAX_TRACE enabled, so also swith the related code. The related warning with defconfig under x86_64: CC kernel/trace/trace.o kernel/trace/trace.c:5466:37: warning: â??tracing_max_lat_fopsâ?? defined but not used [-Wunused-const-variable] static const struct file_operations tracing_max_lat_fops = { Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 7fc0564e3a8d16df096f48c9c6425ba84d945c6e Author: Andrew Elble <aweits@xxxxxxx> Date: Thu Nov 5 20:42:43 2015 -0500 nfsd: fix race with open / open upgrade stateids We observed multiple open stateids on the server for files that seemingly should have been closed. nfsd4_process_open2() tests for the existence of a preexisting stateid. If one is not found, the locks are dropped and a new one is created. The problem is that init_open_stateid(), which is also responsible for hashing the newly initialized stateid, doesn't check to see if another open has raced in and created a matching stateid. This fix is to enable init_open_stateid() to return the matching stateid and have nfsd4_process_open2() swap to that stateid and switch to the open upgrade path. In testing this patch, coverage to the newly created path indicates that the race was indeed happening. Signed-off-by: Andrew Elble <aweits@xxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 34ed9872e745fa56f10e9bef2cf3d2336c6c8816 Author: Andrew Elble <aweits@xxxxxxx> Date: Thu Oct 15 12:07:28 2015 -0400 nfsd: eliminate sending duplicate and repeated delegations We've observed the nfsd server in a state where there are multiple delegations on the same nfs4_file for the same client. The nfs client does attempt to DELEGRETURN these when they are presented to it - but apparently under some (unknown) circumstances the client does not manage to return all of them. This leads to the eventual attempt to CB_RECALL more than one delegation with the same nfs filehandle to the same client. The first recall will succeed, but the next recall will fail with NFS4ERR_BADHANDLE. This leads to the server having delegations on cl_revoked that the client has no way to FREE or DELEGRETURN, with resulting inability to recover. The state manager on the server will continually assert SEQ4_STATUS_RECALLABLE_STATE_REVOKED, and the state manager on the client will be looping unable to satisfy the server. List discussion also reports a race between OPEN and DELEGRETURN that will be avoided by only sending the delegation once to the client. This is also logically in accordance with RFC5561 9.1.1 and 10.2. So, let's: 1.) Not hand out duplicate delegations. 2.) Only send them to the client once. RFC 5561: 9.1.1: "Delegations and layouts, on the other hand, are not associated with a specific owner but are associated with the client as a whole (identified by a client ID)." 10.2: "...the stateid for a delegation is associated with a client ID and may be used on behalf of all the open-owners for the given client. A delegation is made to the client as a whole and not to any specific process or thread of control within it." Reported-by: Eric Meddaugh <etmsys@xxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Cc: Olga Kornievskaia <aglo@xxxxxxxxx> Signed-off-by: Andrew Elble <aweits@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 3e80dbcda7f3e1e349a779d7a14c0e08677c39fa Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Nov 4 11:02:29 2015 -0500 nfsd: remove recurring workqueue job to clean DRC We have a shrinker, we clean out the cache when nfsd is shut down, and prune the chains on each request. A recurring workqueue job seems like unnecessary overhead. Just remove it. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ea833f5de3ab49a0aac79a16633fd510390b83a6 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Tue Oct 27 10:23:30 2015 +0000 SUNRPC: drop stale comment in svc_setup_socket() The svc_setup_socket() function does set the send and receive buffer sizes, so the comment is out-of-date: Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4717f133736dec10605da9e29e707144c8d486df Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Nov 10 11:58:12 2015 +0200 genirq/PM: Restore system wake up from chained interrupts Commit e509bd7da149 ("genirq: Allow migration of chained interrupts by installing default action") breaks PCS wake up IRQ behaviour on TI OMAP based platforms (dra7-evm). TI OMAP IRQ wake up configuration: GIC-irqchip->PCM_IRQ |- omap_prcm_register_chain_handler |- PRCM-irqchip -> PRCM_IO_IRQ |- pcs_irq_chain_handler |- pinctrl-irqchip -> PCS_uart1_wakeup_irq This happens because IRQ PM code (irq/pm.c) is expected to ignore chained interrupts by default: static bool suspend_device_irq(struct irq_desc *desc) { if (!desc->action || desc->no_suspend_depth) return false; - it's expected !desc->action = true for chained interrupts; but, after above change, all chained interrupt descriptors will have default action handler installed - chained_action. As result, chained interrupts will be silently disabled during system suspend. Hence, fix it by introducing helper function irq_desc_is_chained() and use it in suspend_device_irq() for chained interrupts identification and skip them, once detected. Fixes: e509bd7da149 ("genirq: Allow migration of chained interrupts..") Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: <nsekhar@xxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1447149492-20699-1-git-send-email-grygorii.strashko@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3bfb7224566593219dbd67474dacb23ef7c080e3 Author: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 00:54:48 2015 +0200 MIPS: OCTEON: omit ELF NOTE segments OCTEON Pre-SDK-1.8.1 bootloaders can not handle PT_NOTE program headers, so do not emit them. Before the patch: $ readelf --program-headers octeon-vmlinux Elf file type is EXEC (Executable file) Entry point 0xffffffff815d09d0 There are 2 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000001000 0xffffffff81100000 0xffffffff81100000 0x0000000000b57f80 0x0000000001b86360 RWE 1000 NOTE 0x00000000004e02e0 0xffffffff815df2e0 0xffffffff815df2e0 0x0000000000000024 0x0000000000000024 R 4 After the patch: $ readelf --program-headers octeon-vmlinux Elf file type is EXEC (Executable file) Entry point 0xffffffff815d09d0 There are 1 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000001000 0xffffffff81100000 0xffffffff81100000 0x0000000000b57f80 0x0000000001b86360 RWE 1000 The patch was tested on DSR-1000N router. Signed-off-by: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: Matthew Fortune <Matthew.Fortune@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11403/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 61379878320664ed44901b0537254e983fc7e4c4 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Fri Oct 30 00:54:47 2015 +0200 MIPS: vmlinux: discard .MIPS.abiflags Discard .MIPS.abiflags from vmlinux. It's not needed and will cause issues e.g. with old OCTEON bootloaders that cannot tolerate additional program headers. Before the patch: $ readelf --program-headers octeon-vmlinux Elf file type is EXEC (Executable file) Entry point 0xffffffff815d09d0 There are 3 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align ABIFLAGS 0x00000000005e77f0 0xffffffff816e67f0 0xffffffff816e67f0 0x0000000000000018 0x0000000000000018 R 8 LOAD 0x0000000000001000 0xffffffff81100000 0xffffffff81100000 0x0000000000b57f80 0x0000000001b86360 RWE 1000 NOTE 0x00000000004e02e0 0xffffffff815df2e0 0xffffffff815df2e0 0x0000000000000024 0x0000000000000024 R 4 After the patch: $ readelf --program-headers octeon-vmlinux Elf file type is EXEC (Executable file) Entry point 0xffffffff815d09d0 There are 2 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000001000 0xffffffff81100000 0xffffffff81100000 0x0000000000b57f80 0x0000000001b86360 RWE 1000 NOTE 0x00000000004e02e0 0xffffffff815df2e0 0xffffffff815df2e0 0x0000000000000024 0x0000000000000024 R 4 Suggested-by: Matthew Fortune <matthew.fortune@xxxxxxxxxx> Suggested-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: David Daney <ddaney.cavm@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11402/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5dcd7b42f1d06c62b5589441e69cc77c26c8b725 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Mon Oct 26 22:32:33 2015 +0100 pwm: sunxi: Fix whitespace issue This patch changes no code, it just fixes the whitespacing. Operators should be separated from operands by a single space. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 65cdc6914a959d8e1ea562f05fb323a0b8cb7cb1 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Mon Oct 26 22:32:37 2015 +0100 pwm: sysfs: Make use of the DEVICE_ATTR_[RW][WO] macro's For the npwm property the PWM sysfs interface already made use of the DEVICE_ATTR_RO macro. This patch expands this to the other sysfs properties so that the code base is concise and makes use of this helpful macro. This has the advantage of slightly reducing the code size, improving readability and no longer using magic values for permissions. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 0344d0d69b3360ec551581c141c6599a0dcb5f27 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Mon Oct 26 22:32:36 2015 +0100 pwm: sysfs: Remove unnecessary temporary variable Use the result of pwm_is_enabled() directly instead of storing it in a temporary variable. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit b68edac9217ef433470f78d3fb54a769ef95a45f Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 08:05:30 2015 +0200 unicore32: nb0916: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit cdc137089a752d496880526dad2569eaa6ba092d Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Tue Oct 6 20:28:28 2015 +0900 pwm: pwm-rcar: Revise the device tree binding document about compatible The compatible should be "renesas,pwm-rcar", and one the the SoC specific string. So, this patch revises the documentation. Reported-by: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 655a03554cbdf73e8114367441f10858baac59bf Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 14:38:32 2015 +0200 pwm: Return -ENODEV if no PWM lookup match is found When looking up a PWM using the lookup table, assume that all entries will have been added already, so failure to find a match means that no corresponding entry has been registered. This fixes an issue where -EPROBE_DEFER would be returned if the PWM lookup table is empty. After this fix, -EPROBE_DEFER is reserved for situations where no provider has yet registered for a matching entry. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit f6649f7ad8efbaf82679ab0ccdfe837a65bd58d8 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Oct 11 11:49:57 2015 +0200 pwm: sun4i: Add support for PWM controller on sun5i SoCs The PWM controller on sun5i SoCs is identical to the one found on sun7i SoCs. On the A13 package only one of the 2 pins is routed to the outside, so only advertise one PWM channel there. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit d1cd21427747f15920cd726f5f67a07880e7dee4 Author: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Date: Fri Oct 16 17:40:58 2015 -0700 pwm: Set enable state properly on failed call to enable The pwm_enable() function didn't clear the enabled bit if a call to the driver's ->enable() callback returned an error. The result was that the state of the PWM core was wrong. Clearing the bit when enable returns an error ensures the state is properly set. Tested-by: Jonathan Richardson <jonathar@xxxxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jonathan Richardson <jonathar@xxxxxxxxxxxx> [thierry.reding@xxxxxxxxx: add missing kerneldoc for the lock] Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit a96036b8ef7df9f10cd575c0d78359bd33188e8e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Nov 10 11:55:36 2015 +0100 KVM: x86: rename update_db_bp_intercept to update_bp_intercept Because #DB is now intercepted unconditionally, this callback only operates on #BP for both VMX and SVM. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cbdb967af3d54993f5814f1cee0ed311a055377d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Nov 10 09:14:39 2015 +0100 KVM: svm: unconditionally intercept #DB This is needed to avoid the possibility that the guest triggers an infinite stream of #DB exceptions (CVE-2015-8104). VMX is not affected: because it does not save DR6 in the VMCS, it already intercepts #DB unconditionally. Reported-by: Jan Beulich <jbeulich@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 54a20552e1eae07aa240fa370a0293e006b5faed Author: Eric Northup <digitaleric@xxxxxxxxxx> Date: Tue Nov 3 18:03:53 2015 +0100 KVM: x86: work around infinite loop in microcode when #AC is delivered It was found that a guest can DoS a host by triggering an infinite stream of "alignment check" (#AC) exceptions. This causes the microcode to enter an infinite loop where the core never receives another interrupt. The host kernel panics pretty quickly due to the effects (CVE-2015-5307). Signed-off-by: Eric Northup <digitaleric@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d0e536d89395ecd8ab78fe999dc4d6f5d140ce46 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 28 02:39:56 2015 +0100 context_tracking: avoid irq_save/irq_restore on guest entry and exit guest_enter and guest_exit must be called with interrupts disabled, since they take the vtime_seqlock with write_seq{lock,unlock}. Therefore, it is not necessary to check for exceptions, nor to save/restore the IRQ state, when context tracking functions are called by guest_enter and guest_exit. Split the body of context_tracking_entry and context_tracking_exit out to __-prefixed functions, and use them from KVM. Rik van Riel has measured this to speed up a tight vmentry/vmexit loop by about 2%. Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Tested-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f70cd6b07e629f367bb9b1ac9d0e3e669eb325c0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 28 02:39:55 2015 +0100 context_tracking: remove duplicate enabled check All calls to context_tracking_enter and context_tracking_exit are already checking context_tracking_is_enabled, except the context_tracking_user_enter and context_tracking_user_exit functions left in for the benefit of assembly calls. Pull the check up to those functions, by making them simple wrappers around the user_enter and user_exit inline functions. Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Tested-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8cfe9866960581303f244780945c5d12ecc4e5bc Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:12 2015 +0800 KVM: VMX: Dump TSC multiplier in dump_vmcs() This patch enhances dump_vmcs() to dump the value of TSC multiplier field in VMCS. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit be7b263ea925324e54e48c3558d4719be5374053 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:11 2015 +0800 KVM: VMX: Use a scaled host TSC for guest readings of MSR_IA32_TSC This patch makes kvm-intel to return a scaled host TSC plus the TSC offset when handling guest readings to MSR_IA32_TSC. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ff2c3a1803775cc72dc6f624b59554956396b0ee Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:10 2015 +0800 KVM: VMX: Setup TSC scaling ratio when a vcpu is loaded This patch makes kvm-intel module to load TSC scaling ratio into TSC multiplier field of VMCS when a vcpu is loaded, so that TSC scaling ratio can take effect if VMX TSC scaling is enabled. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 64903d6195cbfb051ce339d30848cc64babdba12 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:09 2015 +0800 KVM: VMX: Enable and initialize VMX TSC scaling This patch exhances kvm-intel module to enable VMX TSC scaling and collects information of TSC scaling ratio during initialization. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 27cca94e032c1749825fdd9b6b379e4235cd52e1 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:08 2015 +0800 KVM: x86: Use the correct vcpu's TSC rate to compute time scale This patch makes KVM use virtual_tsc_khz rather than the host TSC rate as vcpu's TSC rate to compute the time scale if TSC scaling is enabled. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4ba76538dd52dd9b18b464e509cb8f3ed4ed993f Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:07 2015 +0800 KVM: x86: Move TSC scaling logic out of call-back read_l1_tsc() Both VMX and SVM scales the host TSC in the same way in call-back read_l1_tsc(), so this patch moves the scaling logic from call-back read_l1_tsc() to a common function kvm_read_l1_tsc(). Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 58ea6767874e791a6c4f5c96c7d9155de4b1af28 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:06 2015 +0800 KVM: x86: Move TSC scaling logic out of call-back adjust_tsc_offset() For both VMX and SVM, if the 2nd argument of call-back adjust_tsc_offset() is the host TSC, then adjust_tsc_offset() will scale it first. This patch moves this common TSC scaling logic to its caller adjust_tsc_offset_host() and rename the call-back adjust_tsc_offset() to adjust_tsc_offset_guest(). Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 07c1419a32bbba08cf1efb6d1ecaf24f174fa4c3 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:05 2015 +0800 KVM: x86: Replace call-back compute_tsc_offset() with a common function Both VMX and SVM calculate the tsc-offset in the same way, so this patch removes the call-back compute_tsc_offset() and replaces it with a common function kvm_compute_tsc_offset(). Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 381d585c80e34988269bd7901ad910981e900be1 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:04 2015 +0800 KVM: x86: Replace call-back set_tsc_khz() with a common function Both VMX and SVM propagate virtual_tsc_khz in the same way, so this patch removes the call-back set_tsc_khz() and replaces it with a common function. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 35181e86df97e4223f4a28fb33e2bcf3b73de141 Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:03 2015 +0800 KVM: x86: Add a common TSC scaling function VMX and SVM calculate the TSC scaling ratio in a similar logic, so this patch generalizes it to a common TSC scaling function. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> [Inline the multiplication and shift steps into mul_u64_u64_shr. Remove BUG_ON. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ad721883e9c5f46cc5fa9496bc12c097c6238b4a Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:02 2015 +0800 KVM: x86: Add a common TSC scaling ratio field in kvm_vcpu_arch This patch moves the field of TSC scaling ratio from the architecture struct vcpu_svm to the common struct kvm_vcpu_arch. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bc9b961b357ea8129d75613b7af4fdf57ced9b9f Author: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Date: Tue Oct 20 15:39:01 2015 +0800 KVM: x86: Collect information for setting TSC scaling ratio The number of bits of the fractional part of the 64-bit TSC scaling ratio in VMX and SVM is different. This patch makes the architecture code to collect the number of fractional bits and other related information into variables that can be accessed in the common code. Signed-off-by: Haozhong Zhang <haozhong.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 893590c73426585dfd9f33358b19f18d9395fb2f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Nov 6 11:46:24 2015 +0100 KVM: x86: declare a few variables as __read_mostly These include module parameters and variables that are set by kvm_x86_ops->hardware_setup. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 450869d6dbb72b370774fd4ee14c4f275bb08f98 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 4 13:41:21 2015 +0100 KVM: x86: merge handle_mmio_page_fault and handle_mmio_page_fault_common They are exactly the same, except that handle_mmio_page_fault has an unused argument and a call to WARN_ON. Remove the unused argument from the callers, and move the warning to (the former) handle_mmio_page_fault_common. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2f34f173816c4d35b7bb225fed410585e55147fe Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Mon Nov 9 10:09:55 2015 -0800 arm64: remove redundant FRAME_POINTER kconfig option and force to select it FRAME_POINTER is defined in lib/Kconfig.debug, it is unnecessary to redefine it in arch/arm64/Kconfig.debug. ARM64 depends on frame pointer to get correct stack trace (also selecting ARCH_WANT_FRAME_POINTERS). However, the lib/Kconfig.debug definition allows such option to be disabled. This patch forces FRAME_POINTER always on on arm64. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit bd4f203e433387d39be404b67ad02acf6f76b7bc Merge: e6604ec 1bde925 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 21:05:13 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge third patch-bomb from Andrew Morton: "We're pretty much done over here - I'm still waiting for a nouveau merge so I can cleanly finish up Christoph's dma-mapping rework. - bunch of small misc stuff - fold abs64() into abs(), remove abs64() - new_valid_dev() cleanups - binfmt_elf_fdpic feature work" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (24 commits) fs/binfmt_elf_fdpic.c: provide NOMMU loader for regular ELF binaries fs/stat.c: remove unnecessary new_valid_dev() check fs/reiserfs/namei.c: remove unnecessary new_valid_dev() check fs/nilfs2/namei.c: remove unnecessary new_valid_dev() check fs/ncpfs/dir.c: remove unnecessary new_valid_dev() check fs/jfs: remove unnecessary new_valid_dev() checks fs/hpfs/namei.c: remove unnecessary new_valid_dev() check fs/f2fs/namei.c: remove unnecessary new_valid_dev() check fs/ext2/namei.c: remove unnecessary new_valid_dev() check fs/exofs/namei.c: remove unnecessary new_valid_dev() check fs/btrfs/inode.c: remove unnecessary new_valid_dev() check fs/9p: remove unnecessary new_valid_dev() checks include/linux/kdev_t.h: old/new_valid_dev() can return bool include/linux/kdev_t.h: remove unused huge_valid_dev() kmap_atomic_to_page() has no users, remove it drivers/scsi/cxgbi: fix build with EXTRA_CFLAGS dma: remove external references to dma_supported Documentation/sysctl/vm.txt: fix misleading code reference of overcommit_memory remove abs64() kernel.h: make abs() work with 64-bit types ... commit ebaf31c46cce0dc8a6ed690b5456b295aa7586a6 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Nov 3 13:09:00 2015 +0200 platform/chrome: Fix i2c-designware adapter name Commit d80d134182ba ("i2c: designware: Move common probe code into i2c_dw_probe()") caused the I2C adapter lookup code here to fail for PCI enumerated i2c-designware because commit changed the adapter name but didn't update it here. Fix the I2C adapter lookup by using the "Synopsys DesignWare I2C adapter" name. Reported-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> Fixes: d80d134182ba ("i2c: designware: Move common probe code into i2c_dw_probe()") Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Tested-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d69bbf88c8d0b367cf3e3a052f6daadf630ee566 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Nov 9 17:51:23 2015 -0800 net: fix a race in dst_release() Only cpu seeing dst refcount going to 0 can safely dereference dst->flags. Otherwise an other cpu might already have freed the dst. Fixes: 27b75c95f10d ("net: avoid RCU for NOCACHE dst") Reported-by: Greg Thelen <gthelen@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c94ddbc139bf8511d79153a81191b07f8e03eb4 Author: Justin Maggard <jmaggard10@xxxxxxxxx> Date: Mon Nov 9 17:21:05 2015 -0800 net: mvneta: Fix memory use after free. After changing an interface's MTU, then bringing the interface down and back up again, I immediately saw tons of kernel messages like below. The reason for this bad behavior is mvneta_rxq_drop_pkts(), which calls dma_unmap_single() on already-freed memory. So we need to switch the order of those two operations. [ 152.388518] BUG: Bad page state in process ifconfig pfn:1b518 [ 152.388526] page:dff3dbc0 count:0 mapcount:0 mapping: (null) index:0x0 [ 152.395178] flags: 0x200(arch_1) [ 152.398441] page dumped because: PAGE_FLAGS_CHECK_AT_PREP flag set [ 152.398446] bad because of flags: [ 152.398450] flags: 0x200(arch_1) [ 152.401716] Modules linked in: [ 152.401728] CPU: 0 PID: 1453 Comm: ifconfig Tainted: P B O 4.1.12.armada.1 #1 [ 152.401733] Hardware name: Marvell Armada 370/XP (Device Tree) [ 152.401749] [<c0015b1c>] (unwind_backtrace) from [<c0011d8c>] (show_stack+0x10/0x14) [ 152.401762] [<c0011d8c>] (show_stack) from [<c06aa68c>] (dump_stack+0x74/0x90) [ 152.401772] [<c06aa68c>] (dump_stack) from [<c0096c08>] (bad_page+0xc4/0x124) [ 152.401783] [<c0096c08>] (bad_page) from [<c0099378>] (get_page_from_freelist+0x4e4/0x644) [ 152.401794] [<c0099378>] (get_page_from_freelist) from [<c0099620>] (__alloc_pages_nodemask+0x148/0x784) [ 152.401805] [<c0099620>] (__alloc_pages_nodemask) from [<c00ac658>] (kmalloc_order+0x10/0x20) [ 152.401818] [<c00ac658>] (kmalloc_order) from [<c04c6f44>] (mvneta_rx_refill+0xc4/0xe8) [ 152.401830] [<c04c6f44>] (mvneta_rx_refill) from [<c04c96c0>] (mvneta_setup_rxqs+0x298/0x39c) [ 152.401842] [<c04c96c0>] (mvneta_setup_rxqs) from [<c04c9904>] (mvneta_open+0x3c/0x150) [ 152.401853] [<c04c9904>] (mvneta_open) from [<c0597764>] (__dev_open+0xac/0x124) [ 152.401864] [<c0597764>] (__dev_open) from [<c05979e4>] (__dev_change_flags+0x8c/0x148) [ 152.401875] [<c05979e4>] (__dev_change_flags) from [<c0597ac0>] (dev_change_flags+0x18/0x48) [ 152.401886] [<c0597ac0>] (dev_change_flags) from [<c060d308>] (devinet_ioctl+0x620/0x6d0) [ 152.401897] [<c060d308>] (devinet_ioctl) from [<c057d810>] (sock_ioctl+0x64/0x288) [ 152.401908] [<c057d810>] (sock_ioctl) from [<c00dcb7c>] (do_vfs_ioctl+0x78/0x608) [ 152.401918] [<c00dcb7c>] (do_vfs_ioctl) from [<c00dd170>] (SyS_ioctl+0x64/0x74) [ 152.401930] [<c00dd170>] (SyS_ioctl) from [<c000f3a0>] (ret_fast_syscall+0x0/0x3c) Signed-off-by: Justin Maggard <jmaggard@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e6604ecb70d4b1dbc0372c6518b51c25c4b135a1 Merge: 9d74288 941c3ff Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 18:11:22 2015 -0800 Merge tag 'nfs-for-4.4-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs Pull NFS client updates from Trond Myklebust: "Highlights include: New features: - RDMA client backchannel from Chuck - Support for NFSv4.2 file CLONE using the btrfs ioctl Bugfixes + cleanups: - Move socket data receive out of the bottom halves and into a workqueue - Refactor NFSv4 error handling so synchronous and asynchronous RPC handles errors identically. - Fix a panic when blocks or object layouts reads return a bad data length - Fix nfsroot so it can handle a 1024 byte long path. - Fix bad usage of page offset in bl_read_pagelist - Various NFSv4 callback cleanups+fixes - Fix GETATTR bitmap verification - Support hexadecimal number for sunrpc debug sysctl files" * tag 'nfs-for-4.4-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (53 commits) Sunrpc: Supports hexadecimal number for sysctl files of sunrpc debug nfs: Fix GETATTR bitmap verification nfs: Remove unused xdr page offsets in getacl/setacl arguments fs/nfs: remove unnecessary new_valid_dev check SUNRPC: fix variable type NFS: Enable client side NFSv4.1 backchannel to use other transports pNFS/flexfiles: Add support for FF_FLAGS_NO_IO_THRU_MDS pNFS/flexfiles: When mirrored, retry failed reads by switching mirrors SUNRPC: Remove the TCP-only restriction in bc_svc_process() svcrdma: Add backward direction service for RPC/RDMA transport xprtrdma: Handle incoming backward direction RPC calls xprtrdma: Add support for sending backward direction RPC replies xprtrdma: Pre-allocate Work Requests for backchannel xprtrdma: Pre-allocate backward rpc_rqst and send/receive buffers SUNRPC: Abstract backchannel operations xprtrdma: Saving IRQs no longer needed for rb_lock xprtrdma: Remove reply tasklet xprtrdma: Use workqueue to process RPC/RDMA replies xprtrdma: Replace send and receive arrays xprtrdma: Refactor reply handler error handling ... commit 9d74288ca79249af4b906215788b37d52263b58b Merge: 123a28d 31dddd9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 18:01:23 2015 -0800 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. There are only six patches this time: 1. A cleanup patch from Andreas to remove the gl_spin #define in favor of its value for the sake of clarity. 2. A fix from Andy Price to mark the inode dirty during fallocate. 3. A fix from Andy Price to set s_mode on mount failures to prevent a stack trace. 4 A patch from me to prevent a kernel BUG() in trans_add_meta/trans_add_data due to uninitialized storage. 5. A patch from me to protecting our freeing of the in-core directory hash table to prevent double-free. 6. A fix for a page/block rounding problem that resulted in a metadata coherency problem when the block size != page size" I've got a lot more patches in various stages of review and testing, but I'm afraid they'll have to wait until the next merge window. So next time we're likely to have a lot more" * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: GFS2: Fix rgrp end rounding problem for bsize < page size GFS2: Protect freeing directory hash table with i_lock spin_lock gfs2: Remove gl_spin define gfs2: Add missing else in trans_add_meta/data GFS2: Set s_mode before parsing mount options GFS2: fallocate: do not rely on file_update_time to mark the inode dirty commit 0da39687a15403251bdfd1c6fb18025c0607326b Author: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Date: Fri Oct 30 01:30:40 2015 -0700 stex: Remove use of struct timeval Function stex_gettime uses 'struct timeval' whose tv_sec value will overflow on 32-bit systems in year 2038 and beyond. This patch replaces the use of struct timeval and do_gettimeofday with ktime_get_real_seconds, which returns a 64-bit seconds value. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5cb9b40d6127fed91b00abe44498f19f6ed6a77f Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 15:54:23 2015 +0100 scsi_sysfs: Fix queue_ramp_up_period return code Writing a number to /sys/bus/scsi/devices/<sdev>/queue_ramp_up_period returns the value of that number instead of the number of bytes written. This behavior can confuse programs expecting POSIX write() semantics. Fix this by returning the number of bytes written instead. Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 123a28d8b522b03dd97c1f791245924088616ac0 Merge: 373ee21 5726b27 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 17:38:34 2015 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs Pull ext2 fix from Jan Kara: "Fix for DAX on ext2" * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: ext2: Add locking for DAX faults commit edb394b512098e9d68923db8340230c3caa4893f Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:41 2015 -0400 bnx2fc: Update version number to 2.9.6. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 50a87414695fc5009ba776a61f48d3d67ffdd6ed Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:39 2015 -0400 bnx2fc: Remove explicit logouts. Explicit logouts from bnx2fc were causing race conditions in either returning stale SCSI commands or not allowing a target to log back in. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit adcf7dfbea80382457a552b4eb7aa2b7d9f76dac Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:38 2015 -0400 bnx2fc: Fix FCP RSP residual parsing. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1fffa19991b5a907303ca3f09cf3d8e91b0bd911 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:37 2015 -0400 bnx2fc: Set ELS transfer length correctly for middle path commands. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit de909d8740b74bed0f8274cdb818f7ce410a4a4a Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:36 2015 -0400 bnx2fc: Remove 'NetXtreme II' from source files. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 97586090a9d7bfb697a9a27ba9eca7e00a7d3b13 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Mon Oct 19 15:40:35 2015 -0400 bnx2fc: Update copyright for 2015. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d9b43a10f0d04564c6e05de3728c3cbba64c644d Author: Seymour, Shane M <shane.seymour@xxxxxxx> Date: Mon Oct 12 04:31:17 2015 +0000 st: allow debug output to be enabled or disabled via sysfs Change st driver to allow enabling or disabling debug output via sysfs file /sys/bus/scsi/drivers/st/debug_flag. Previously the only way to enable debug output was: 1. loading the driver with the module parameter debug_flag=1 2. an ioctl call (this method was also the only way to dynamically disable debug output). To use the ioctl you need a second tape drive (if you are actively testing the first tape drive) since a second process cannot open the first tape drive if it is in use. The this change is only functional if the value of the macro DEBUG in st.c is a non-zero value (which it is by default). Signed-off-by: Shane Seymour <shane.seymour@xxxxxxx> Reviewed-by: Laurence Oberman <oberman.l@xxxxxxxxx> Acked-by: Kai Mäkisara <kai.makisara@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c59ab4e5afade13fdb65efc99c07fb8455aecba5 Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Sun Oct 11 22:35:18 2015 +0200 libfc: Use the correct function name in kernel-doc comment. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Acked-by: Vasu Dev <vasu.dev@xxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 64d513ac31bd02a3c9b69ef04444f36c196f9a9d Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 8 09:28:04 2015 +0100 scsi: use host wide tags by default This patch changes the !blk-mq path to the same defaults as the blk-mq I/O path by always enabling block tagging, and always using host wide tags. We've had blk-mq available for a few releases so bugs with this mode should have been ironed out, and this ensures we get better coverage of over tagging setup over different configs. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Jens Axboe <axboe@xxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 720ba808e9ca276919f566bbe2b4e09c79f25faa Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 7 15:11:04 2015 +0200 bnx2fc: reduce stack usage in __bnx2fc_enable When the bnx2fc driver was changed to read the npiv table from nvram, the stack of the __bnx2fc_enable function gained an additional 1028 byte structure that gcc rightfully warns about: drivers/scsi/bnx2fc/bnx2fc_fcoe.c: In function '__bnx2fc_enable': drivers/scsi/bnx2fc/bnx2fc_fcoe.c:2134:1: warning: the frame size of 1128 bytes is larger than 1024 bytes [-Wframe-larger-than=] In order to avoid a possible kernel stack overflow and to get rid of the warning, this changes the function to use a dynamic allocation of the structure using kzalloc. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 2971ff67bd3 ("bnx2fc: Read npiv table from nvram and create vports.") Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e79504236548e4c909959ba444f87a12224555ac Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 23 19:02:32 2015 +0530 lpfc: fix memory leak and NULL dereference kmalloc() can return NULL and without checking we were dereferencing it. Moreover if kmalloc succeeds but the function fails in other parts then we were returning the error code but we missed freeing lcb_context. While at it fixed one related checkpatch warning. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 481ebb3daac39c6c1a8f78f98b823a9c9591616f Author: Jiri Slaby <jslaby@xxxxxxx> Date: Tue Oct 6 14:27:45 2015 +0200 fcoe: use continue instead of goto+label There is a label pointing to the start of a while loop and a goto nested only in the loop. The goto jumps to the label in some cases. Replace the goto and the label by simple continue. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Acked-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2a188cb42b43b7a579c2b6d0e9fa095182333540 Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 16:01:37 2015 -0400 pm80xx: remove the SCSI host before detaching from SAS transport Previously, when this module was unloaded via 'rmmod' with at least one drive attached, the SCSI error handler thread would become stuck in an infinite recovery loop and lockup the system, necessitating a reboot. Once the SAS layer is detached, the driver will fail any subsequent commands since the target devices are removed. However, removing the SCSI host generates a SYNCHRONIZE CACHE (10) command, which was failed and left the error handler no method of recovery. This patch simply removes the SCSI host first so that no more commands can come down, prior to cleaning up the SAS layer. Note that the stack is built up with the SCSI host first, and then the SAS layer. Perhaps it should be reversed for symmetry, so that commands cannot be sent to the pm80xx driver prior to attaching the SAS layer? What was really strange about this bug was that it was introduced at commit cff549e4860f ("[SCSI]: proper state checking and module refcount handling in scsi_device_get"). This commit appears to tinker with how the reference counting is performed for SCSI device objects. My theory is that prior to this commit, the refcount for a device object was blindly incremented at some point during the teardown process which coincidentially made the device stick around during the procedure, which also coincidentially made any commands sent to the driver not fail (since the device was technically still "there"). After this commit was applied, my theory is the refcount for the device object is not being incremented at a specific point anymore, which makes the device go away, and thus made the pm80xx driver fail any subsequent commands. You may also want to see the following for more details: [1] http://www.spinics.net/lists/linux-scsi/msg37208.html [2] http://marc.info/?l=linux-scsi&m=144416476406993&w=2 Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Acked-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 08d8a817cfda033da9d2f2c5314ef9b993f60010 Author: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:34:18 2015 +0100 mvsas: remove SCSI host before detaching from SAS transport commit cff549e4860f ("scsi: proper state checking and module refcount handling in scsi_device_get") the reference count of scsi device was changed, which could lead to when rmmod with at least on drive attached, SCSI error handle will run into infinite loop, and lockup the system. Fix it by remove scsi host first, this way scsi core will not send commands down after detaching SAS transport. This is a follow up fix for Benjamin's fix for pm80xx. See also: http://www.spinics.net/lists/linux-scsi/msg90088.html Signed-off-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 373ee21eecebc5c06786a803d99661a3657afcc7 Merge: f4d6893 d0cf62f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 16:37:00 2015 -0800 Merge branch 'parisc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc updates from Helge Deller: "We have two patches in here: - The parisc uapi headers have been screwed up since quite some time. This patch fixes some bugs (e.g. endianess not respected in compat_semid64_ds) and cleans them up (e.g. uid_t was used instead of __kernel_uid_t) so that they can be used by userspace again. This patch has been reviewed by Arnd Bergmann and is scheduled for stable kernel series. - Drop the hpux_stat64 struct from stat.h, we do not support HP-UX binaries since kernel 4.0" * 'parisc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Fixes and cleanups in kernel uapi header files parisc: Drop hpux_stat64 struct from stat.h header file commit 4024593d5d9cc0002184f1748b7cdb1705f08e05 Author: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:33:45 2015 +0100 aic94xx: remove SCSI host before detaching from SAS transport commit cff549e4860f ("scsi: proper state checking and module refcount handling in scsi_device_get") the reference count of scsi device was changed, which could lead to when rmmod with at least on drive attached, SCSI error handle will run into infinite loop, and lockup the system. Fix it by remove scsi host first, this way scsi core will not send commands down after detaching SAS transport. This is a follow up fix for Benjamin's fix for pm80xx. See also: http://www.spinics.net/lists/linux-scsi/msg90088.html Signed-off-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit f4d68930a88219ffda60f137dcc858e4f5db6680 Merge: 3510ca1 bb3fc5d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 16:36:10 2015 -0800 Merge tag 'nios2-v4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2 Pull nios2 updates from Ley Foon Tan: - nios2: Remove unnecessary #ifdef guards - nios2: Switch to generic __xchg() - nios2: Fix unused variable warning * tag 'nios2-v4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2: nios2: Remove unnecessary #ifdef guards nios2: Switch to generic __xchg() nios2: Fix unused variable warning commit 4927f1fcf9afc0043a4a88c98cb7cb6caec11ff1 Author: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:32:29 2015 +0100 isci: remove SCSI host before detaching from SAS transport commit cff549e4860f ("scsi: proper state checking and module refcount handling in scsi_device_get") , the reference count of scsi device was changed, which could lead to when rmmod with at least on drive attached, SCSI error handle will run into infinite loop, and lockup the system. Fix it by remove scsi host first, this way scsi core will not send commands down after detaching SAS transport. This is a follow up fix for Benjamin's fix for pm80xx. See also: http://www.spinics.net/lists/linux-scsi/msg90088.html Signed-off-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3e4dda70cc989a4f8079541972942609229e9f55 Merge: 1b38b0e 8713181 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Nov 9 16:35:19 2015 -0800 Merge branch 'next/arm64' into next/dt Merging in the few patches I had kept separate from main next/dt, since others got merged here directly. * next/arm64: arm64: defconfig: Enable PCI generic host bridge by default arm64: Juno: Add support for the PCIe host bridge on Juno R1 Documentation: of: Document the bindings used by Juno R1 PCIe host bridge arm64: dts: mt8173: Add clocks for SCPSYS unit arm64: dts: mt8173: Add subsystem clock controller device nodes + Linux 4.3-rc5 commit bf2cf3baa20b0a6cd2d08707ef05dc0e992a8aa0 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Fri Sep 18 17:23:42 2015 -0700 scsi: Fix a bdi reregistration race Unregister and reregister BDI devices in the proper order. This patch avoids that the following kernel warning can get triggered: WARNING: CPU: 7 PID: 203 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x68/0x80() sysfs: cannot create duplicate filename '/devices/virtual/bdi/8:32' Workqueue: events_unbound async_run_entry_fn Call Trace: [<ffffffff814ff5a4>] dump_stack+0x4c/0x65 [<ffffffff810746ba>] warn_slowpath_common+0x8a/0xc0 [<ffffffff81074736>] warn_slowpath_fmt+0x46/0x50 [<ffffffff81237ca8>] sysfs_warn_dup+0x68/0x80 [<ffffffff81237d8e>] sysfs_create_dir_ns+0x7e/0x90 [<ffffffff81291f58>] kobject_add_internal+0xa8/0x320 [<ffffffff812923a0>] kobject_add+0x60/0xb0 [<ffffffff8138c937>] device_add+0x107/0x5e0 [<ffffffff8138d018>] device_create_groups_vargs+0xd8/0x100 [<ffffffff8138d05c>] device_create_vargs+0x1c/0x20 [<ffffffff8117f233>] bdi_register+0x63/0x2a0 [<ffffffff8117f497>] bdi_register_dev+0x27/0x30 [<ffffffff81281549>] add_disk+0x1a9/0x4e0 [<ffffffffa00c5739>] sd_probe_async+0x119/0x1d0 [sd_mod] [<ffffffff8109a81a>] async_run_entry_fn+0x4a/0x140 [<ffffffff81091078>] process_one_work+0x1d8/0x7c0 [<ffffffff81091774>] worker_thread+0x114/0x460 [<ffffffff81097878>] kthread+0xf8/0x110 [<ffffffff8150801f>] ret_from_fork+0x3f/0x70 See also patch "block: destroy bdi before blockdev is unregistered" (commit ID 6cd18e711dd8). Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ce664fb5d4628632a6eceb8e69cbf015b7fb232a Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:26:10 2015 -0200 ipr: Driver version 2.6.3. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit cd9d715c28d0320acb53df68ebecc035cfe60913 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 16 19:36:20 2015 +0530 FlashPoint: fix build warning We have been getting a warning about non ANSI function. warning: non-ANSI function declaration of function 'FPT_SccbMgrTableInitAll' Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Khalid Aziz <khalid@xxxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3510ca19a82ba4c6a17af79c1f0448622a406efa Merge: e4da7e9 afaa7c5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 16:32:13 2015 -0800 Merge tag 'xtensa-20151108' of git://github.com/czankel/xtensa-linux Pull xtensa updates from Chris Zankel: - fix remaining issues with noMMU cores - fix build for cores w/o cache or zero overhead loop options - fix boot of secondary cores in SMP configuration - add support for DMA to high memory pages - add dma_to_phys and phys_to_dma functions. * tag 'xtensa-20151108' of git://github.com/czankel/xtensa-linux: xtensa: implement dma_to_phys and phys_to_dma xtensa: support DMA to high memory Revert "xtensa: cache inquiry and unaligned cache handling functions" xtensa: drop unused sections and remapped reset handlers xtensa: fix secondary core boot in SMP xtensa: add FORCE_MAX_ZONEORDER to Kconfig xtensa: nommu: provide defconfig for de212 on kc705 xtensa: nommu: xtfpga: add kc705 DTS xtensa: add de212 core variant xtensa: nommu: select HAVE_FUTEX_CMPXCHG xtensa: nommu: fix default memory start address xtensa: nommu: provide correct KIO addresses xtensa: nommu: fix USER_RING definition xtensa: xtfpga: fix integer overflow in TASK_SIZE xtensa: fix build for configs without cache options xtensa: fixes for configs without loop option commit 1a47af26b71e3267f6a5da0103cb65d00b1ff32e Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:26:09 2015 -0200 ipr: Issue Configure Cache Parameters command. Some new adapters require a special Configure Cache Parameters command to enable the adapter write cache, so send this during the adapter initialization if the adapter requires it. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 1021b3ffad7682a09437cafffae32e26d0ce83e9 Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:26:08 2015 -0200 ipr: Inquiry IOA page 0xC4 during initialization. Add an IOA Inquiry command for Page 0xC4 during IOA initialization to collect cache capabilities, particularly to check if Sync IOA Write Cache is supported. Inquiry will happen right after Cap Inquiry on page 0xD0; and will execute only if the "Supported Pages" field in Inquiry Page 0x0 shows support for Page 0xC4. Otherwise, assume Sync IOA Write Cache is not supported. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 4f92d01a642d27716f60cdab0fd3c527fb7cfb0f Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:26:07 2015 -0200 ipr: Don't set NO_ULEN_CHK bit when resource is a vset. According to the IPR specification, Inhibit Underlength Checking bit must be disabled when issuing commands to vsets. Enabling it in this case might cause SCSI commands to fail with an Illegal Request, so make sure we keep this bit cleared when resource is a vset. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Reviewed-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit f41f1d994e0e2e0fab29c6f3f9c77350f1769166 Author: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:26:06 2015 -0200 ipr: Add delay to ensure coherent dumps. Add a holding pattern prior to collecting dump data, to wait for the IOA indication that the Mailbox register is stable and won't change without an explicit reset. This ensures we'll be collecting meaningful dump data, even when dumping right after an adapter reset. In the event of a timeout, we still force the dump, since a partial dump still might be useful. Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxxxxx> Acked-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3209f9d780d137cdb54c85e0a776cb19e723a170 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Tue Oct 6 18:04:01 2015 -0700 scsi: storvsc: Fix a bug in the handling of SRB status flags SRB status can have additional information. Mask these out before processing SRB status. This patch was sent as part of a collection of patches more than a year ago. While the rest of the patches in the set were comitted, this patch was not. I woulod like to thank Olaf for noticing that this patch was not committed upstream. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 81988a0e6b031bc80da15257201810ddcf989e64 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Thu Oct 1 14:53:17 2015 -0700 storvsc: get rid of bounce buffer Storvsc driver needs to ensure there are no 'holes' in the presented sg list (all segments in the middle of the list need to be of PAGE_SIZE). When a hole is detected storvsc driver creates a 'bounce sgl' without holes and copies data over with copy_{to,from}_bounce_buffer() functions. Setting virt_boundary_mask to PAGE_SIZE - 1 guarantees we'll never see such holes so we can significantly simplify the driver. This is also supposed to bring us some performance improvement for certain workloads as we eliminate copying. Reported-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8cf308e1225f5f93575f03cc4dbef24516fa81c9 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Mon Aug 31 08:21:54 2015 -0700 storvsc: Don't set the SRB_FLAGS_QUEUE_ACTION_ENABLE flag Don't set the SRB_FLAGS_QUEUE_ACTION_ENABLE flag since we are not specifying tags. Without this, the qlogic driver doesn't work properly with storvsc. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e4da7e9a54649d6877ac23828ff93ce7191eae2c Merge: 50c3650 4ac3131 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 16:22:26 2015 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu Pull m68knommu/coldfire fix from Greg Ungerer: "Only a single patch, fixes brk area setup problem in nommu environments" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: fs/binfmt_elf_fdpic.c: fix brk area overlap with stack on NOMMU commit ead1cbf92745b2b52846da56c9b3dd83ea4e718b Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:41 2015 -0400 aacraid: Update driver version Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 84859c926b0828b07b2c3dd66a440ef4120a8668 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:40 2015 -0400 aacraid: Use pci_enable_msix_range() As pci_enable_msix() deprecated, replaced with pci_enable_msix_range() Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e728f8e39ffd8f7054e0718b4fb308c32235a5c2 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:39 2015 -0400 aacraid: IOCTL fix Driver blocks ioctls once it received shutdown/suspend request during suspend/hybernation. This patch unblocks ioctls on resume path. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8b1462e0ebb677ee07da6c18f7047539ea6e449e Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:38 2015 -0400 aacraid: Reset irq affinity hints Reset irq affinity hints before releasing IRQ. Removed duplicate code of IRQ acquire/release. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 55b8760847a6e593ab67448ca79f83c4b1a9f012 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:37 2015 -0400 aacraid: Tune response path if IsFastPath bit set If 'IsFastPath' bit is set, then response path assumes no error and skips error check. Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c6992781d9e8086d592f95870092a59042d111a2 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:36 2015 -0400 aacraid: Enable 64bit write to controller register If writeq() not supported, then do atomic two 32bit write Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9022d375bd22869ba3e5ad3635f00427cfb934fc Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:35 2015 -0400 aacraid: Change interrupt mode to MSI for Series 6 This change always sets MSI interrupt mode for series-6 controller. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit de665f28f788ad72ff6a0ce6ac2721d77248b7cf Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:34 2015 -0400 aacraid: Add Power Management support * .suspend() and .resume() routines implemented in the driver * aac_release_resources() initiates firmware shutdown * aac_acquire_resources re-initializes the host interface Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fb5d40d4fca272286695c67da0a2d0a9d0954615 Author: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Date: Fri Aug 28 06:38:33 2015 -0400 aacraid: Fix for LD name and UID not exposed to OS Driver sends the right size of the response buffer. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Murthy Bhat <Murthy.Bhat@xxxxxxxx> Reviewed-by: Karthikeya Sunkesula <Karthikeya.Sunkesula@xxxxxxxx> Signed-off-by: Mahesh Rajashekhara <Mahesh.Rajashekhara@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 50c36504fc6090847f1fbdc7cf4852ae16d6e500 Merge: ce5c2d2 d1189c6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 15:53:39 2015 -0800 Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module updates from Rusty Russell: "Nothing exciting, minor tweaks and cleanups" * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: scripts: [modpost] add new sections to white list modpost: Add flag -E for making section mismatches fatal params: don't ignore the rest of cmdline if parse_one() fails modpost: abort if a module symbol is too long commit fb9c54dc1f74708882505d288ed8e8857cb4b22d Author: John Soni Jose <sony.john@xxxxxxxxxxxxx> Date: Thu Aug 20 04:44:31 2015 +0530 be2iscsi: Bump the driver version Signed-off-by: John Soni Jose <sony.john@xxxxxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 340c99e9adacfe1bc7dd50eec4d4fa3203288042 Author: John Soni Jose <sony.john@xxxxxxxxxxxxx> Date: Thu Aug 20 04:44:30 2015 +0530 be2iscsi: Fix updating the next pointer during WRB posting While posting WRB the next_pointer of the current WRB should point to itself and the previous WRB next_pointer should point to the current WRB. The next pointer value was retrieved during alloc_pdu and was updated in wrb before ringing the doorbell. The fix retrieves the next_pointer just before ringing the doorbell and updates in the WRB. Signed-off-by: John Soni Jose <sony.john@xxxxxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4e14e49a91e18098fd8ef30743972e0c3cb727c1 Merge: 264e89a 7a29ac4 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Nov 10 10:20:48 2015 +1100 Merge branch 'xfs-misc-fixes-for-4.4-3' into for-next commit 1bde925d235478cd5e70a7d9f94f3d8eb7c6362b Author: Rich Felker <dalias@xxxxxxxx> Date: Mon Nov 9 14:59:01 2015 -0800 fs/binfmt_elf_fdpic.c: provide NOMMU loader for regular ELF binaries The ELF binary loader in binfmt_elf.c requires an MMU, making it impossible to use regular ELF binaries on NOMMU archs. However, the FDPIC ELF loader in binfmt_elf_fdpic.c is fully capable as a loader for plain ELF, which requires constant displacements between LOAD segments, since it already supports FDPIC ELF files flagged as needing constant displacement. This patch adjusts the FDPIC ELF loader to accept non-FDPIC ELF files on NOMMU archs. They are treated identically to FDPIC ELF files with the constant-displacement flag bit set, except for personality, which must match the ABI of the program being loaded; the PER_LINUX_FDPIC personality controls how the kernel interprets function pointers passed to sigaction. Files that do not set a stack size requirement explicitly are given a default stack size (matching the amount of committed stack the normal ELF loader for MMU archs would give them) rather than being rejected; this is necessary because plain ELF files generally do not declare stack requirements in theit program headers. Only ET_DYN (PIE) format ELF files are supported, since loading at a fixed virtual address is not possible on NOMMU. This patch was developed and tested on J2 (SH2-compatible) but should be usable immediately on all archs where binfmt_elf_fdpic is available. Moreover, by providing dummy definitions of the elf_check_fdpic() and elf_check_const_displacement() macros for archs which lack an FDPIC ABI, it should be possible to enable building of binfmt_elf_fdpic on all other NOMMU archs and thereby give them ELF binary support, but I have not yet tested this. The motivation for using binfmt_elf_fdpic.c rather than adapting binfmt_elf.c to NOMMU is that the former already has all the necessary code to work properly on NOMMU and has already received widespread real-world use and testing. I hope this is not controversial. I'm not really happy with having to unset the FDPIC_FUNCPTRS personality bit when loading non-FDPIC ELF. This bit should really reset automatically on execve, since otherwise, executing non-ELF binaries (e.g. bFLT) from an FDPIC process will leave the personality in the wrong state and severely break signal handling. But that's a separate, existing bug and I don't know the right place to fix it. Signed-off-by: Rich Felker <dalias@xxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Matt Mackall <mpm@xxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Oleg Endo <oleg.endo@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 28f65708a57395799781f5c44863b50f99facbf2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:58 2015 -0800 fs/stat.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3cc5d9a905826e835d4d4dcd0faf922ab7b9eaf9 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:55 2015 -0800 fs/reiserfs/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3348a172befd1b78025e30037bc383514be8d32f Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:53 2015 -0800 fs/nilfs2/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Acked-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4467e29f0c48d0fc3e164c39c1eccd1ce230fbe4 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:50 2015 -0800 fs/ncpfs/dir.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Petr Vandrovec <petr@xxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a2a17044094d0816d56a9e151bbf146d89a23010 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:47 2015 -0800 fs/jfs: remove unnecessary new_valid_dev() checks new_valid_dev() always returns 1, so the !new_valid_dev() checks are not needed. Remove them. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Acked-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fdca5e6a6d0a6600ff24d6d9c843e5aee637f29f Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:44 2015 -0800 fs/hpfs/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Mikulas Patocka <mikulas@xxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a8415e4b130e0cd919c7c6584bdf27660f3ff295 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:42 2015 -0800 fs/f2fs/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Cc: Changman Lee <cm224.lee@xxxxxxxxxxx> Cc: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d7df00072e64f972e0f7eb4fea78eed2da9c0e59 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:39 2015 -0800 fs/ext2/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5738939289d58829fd8b73f8c26b34ab08539fcf Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:37 2015 -0800 fs/exofs/namei.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Acked-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> Cc: Benny Halevy <bhalevy@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cac0a85992229a631d4e01934d2e1c042566189 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:34 2015 -0800 fs/btrfs/inode.c: remove unnecessary new_valid_dev() check new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Acked-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 349c7037b15927eed3cc8a5dbc08639dea654ea5 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:31 2015 -0800 fs/9p: remove unnecessary new_valid_dev() checks new_valid_dev() always returns 1, so the !new_valid_dev() check is not needed. Remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Cc: Ron Minnich <rminnich@xxxxxxxxxx> Cc: Latchesar Ionkov <lucho@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b9758b9c6f65f55c94370636c04e976edc93e1a Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:28 2015 -0800 include/linux/kdev_t.h: old/new_valid_dev() can return bool Make old/new_valid_dev return bool due to these two particular functions only using either one or zero as their return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7bc4f1d281bc1f807fd0c9aaa2f2d333b6508790 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Nov 9 14:58:26 2015 -0800 include/linux/kdev_t.h: remove unused huge_valid_dev() There's no user of huge_valid_dev() any more, so remove it. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 77c5b5da02f0a30d61144a546c4ef3657e3b817d Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Mon Nov 9 14:58:23 2015 -0800 kmap_atomic_to_page() has no users, remove it Removal started in commit 5bbeed12bdc3 ("sparc32: drop unused kmap_atomic_to_page"). Let's do it across the whole tree. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce1fb04153e6d27b5f0e23a30bacaacfcae8195f Author: Jiri Slaby <jslaby@xxxxxxx> Date: Mon Nov 9 14:58:21 2015 -0800 drivers/scsi/cxgbi: fix build with EXTRA_CFLAGS EXTRA_CFLAGS are intended to be used on the command line, not by Kbuild. In case of cxgbi drivers, use of EXTRA_CFLAGS results in a compilation failure: drivers/scsi/cxgbi/cxgb4i/cxgb4i.c:24:21: fatal error: t4_regs.h: No such file or directory when building like: $ make drivers/scsi/cxgbi/ EXTRA_CFLAGS=-Wwhatever Use ccflags-y instead of EXTRA_CFLAGS. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0e77acef8ec21c82530214728631fb7a416e75c7 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Nov 9 14:58:18 2015 -0800 dma: remove external references to dma_supported Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c56050c700d18f18fbec934f56069150bcec3709 Author: Chun Chen <chenchun.feed@xxxxxxxxx> Date: Mon Nov 9 14:58:15 2015 -0800 Documentation/sysctl/vm.txt: fix misleading code reference of overcommit_memory The origin document references to cap_vm_enough_memory is because cap_vm_enough_memory invoked __vm_enough_memory before and it no longer does now. Signed-off-by: Chun Chen <ramichen@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 79211c8ed19c055ca105502c8733800d442a0ae6 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 14:58:13 2015 -0800 remove abs64() Switch everything to the new and more capable implementation of abs(). Mainly to give the new abs() a bit of a workout. Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c8299cb605b27dd5a49f7a69e48fd23e5a206298 Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Mon Nov 9 14:58:10 2015 -0800 kernel.h: make abs() work with 64-bit types For 64-bit arguments, the abs macro casts it to an int which leads to lost precision and may cause incorrect results. To deal with 64-bit types abs64 macro has been introduced but still there are places where abs macro is used incorrectly. To deal with the problem, expand abs macro such that it operates on s64 type when dealing with 64-bit types while still returning long when dealing with smaller types. This fixes one known bug (per John): The internal clocksteering done for fine-grained error correction uses a : logarithmic approximation, so any time adjtimex() adjusts the clock : steering, timekeeping_freqadjust() quickly approximates the correct clock : frequency over a series of ticks. : : Unfortunately, the logic in timekeeping_freqadjust(), introduced in commit : dc491596f639438 (Rework frequency adjustments to work better w/ nohz), : used the abs() function with a s64 error value to calculate the size of : the approximated adjustment to be made. : : Per include/linux/kernel.h: "abs() should not be used for 64-bit types : (s64, u64, long long) - use abs64()". : : Thus on 32-bit platforms, this resulted in the clocksteering to take a : quite dampended random walk trying to converge on the proper frequency, : which caused the adjustments to be made much slower then intended (most : easily observed when large adjustments are made). Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Reported-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c2d5eebfe3421a31499b552800041e684639076 Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Date: Mon Nov 9 14:58:06 2015 -0800 sparc/sparc64: allocate sys_membarrier system call number Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Acked-by: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 784567f4b0cb0df300aa9a87de2596df5c0038b3 Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Mon Nov 9 14:58:03 2015 -0800 mips: add entry for new mlock2 syscall A previous commit introduced the new mlock2 syscall, add entries for the MIPS architecture. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dbce03b9e3e61e122451a7aa4e6900d5f0bb5993 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Nov 9 14:58:00 2015 -0800 fs/writeback.c: fix kernel-doc warnings Fix kernel-doc warnings in fs/fs-writeback.c by moving a #define macro to after the function's opening brace. Also #undef this macro at the end of the function. ../fs/fs-writeback.c:1984: warning: Excess function parameter 'inode' description in 'I_DIRTY_INODE' ../fs/fs-writeback.c:1984: warning: Excess function parameter 'flags' description in 'I_DIRTY_INODE' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 30fdc8ee0ef0d9dffaeaccb202f79d69e1291cbd Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Nov 9 14:57:58 2015 -0800 fs/inode.c: fix kernel-doc warning Fix kernel-doc warning in fs/inode.c: ../fs/inode.c:1606: warning: No description found for parameter 'inode' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7a29ac474a47eb8cf212b45917683ae89d6fa13b Author: Chris Mason <clm@xxxxxx> Date: Tue Nov 10 10:10:34 2015 +1100 xfs: give all workqueues rescuer threads We're consistently hitting deadlocks here with XFS on recent kernels. After some digging through the crash files, it looks like everyone in the system is waiting for XFS to reclaim memory. Something like this: PID: 2733434 TASK: ffff8808cd242800 CPU: 19 COMMAND: "java" #0 [ffff880019c53588] __schedule at ffffffff818c4df2 #1 [ffff880019c535d8] schedule at ffffffff818c5517 #2 [ffff880019c535f8] _xfs_log_force_lsn at ffffffff81316348 #3 [ffff880019c53688] xfs_log_force_lsn at ffffffff813164fb #4 [ffff880019c536b8] xfs_iunpin_wait at ffffffff8130835e #5 [ffff880019c53728] xfs_reclaim_inode at ffffffff812fd453 #6 [ffff880019c53778] xfs_reclaim_inodes_ag at ffffffff812fd8c7 #7 [ffff880019c53928] xfs_reclaim_inodes_nr at ffffffff812fe433 #8 [ffff880019c53958] xfs_fs_free_cached_objects at ffffffff8130d3b9 #9 [ffff880019c53968] super_cache_scan at ffffffff811a6f73 #10 [ffff880019c539c8] shrink_slab at ffffffff811460e6 #11 [ffff880019c53aa8] shrink_zone at ffffffff8114a53f #12 [ffff880019c53b48] do_try_to_free_pages at ffffffff8114a8ba #13 [ffff880019c53be8] try_to_free_pages at ffffffff8114ad5a #14 [ffff880019c53c78] __alloc_pages_nodemask at ffffffff8113e1b8 #15 [ffff880019c53d88] alloc_kmem_pages_node at ffffffff8113e671 #16 [ffff880019c53dd8] copy_process at ffffffff8104f781 #17 [ffff880019c53ec8] do_fork at ffffffff8105129c #18 [ffff880019c53f38] sys_clone at ffffffff810515b6 #19 [ffff880019c53f48] stub_clone at ffffffff818c8e4d xfs_log_force_lsn is waiting for logs to get cleaned, which is waiting for IO, which is waiting for workers to complete the IO which is waiting for worker threads that don't exist yet: PID: 2752451 TASK: ffff880bd6bdda00 CPU: 37 COMMAND: "kworker/37:1" #0 [ffff8808d20abbb0] __schedule at ffffffff818c4df2 #1 [ffff8808d20abc00] schedule at ffffffff818c5517 #2 [ffff8808d20abc20] schedule_timeout at ffffffff818c7c6c #3 [ffff8808d20abcc0] wait_for_completion_killable at ffffffff818c6495 #4 [ffff8808d20abd30] kthread_create_on_node at ffffffff8106ec82 #5 [ffff8808d20abdf0] create_worker at ffffffff8106752f #6 [ffff8808d20abe40] worker_thread at ffffffff810699be #7 [ffff8808d20abec0] kthread at ffffffff8106ef59 #8 [ffff8808d20abf50] ret_from_fork at ffffffff818c8ac8 I think we should be using WQ_MEM_RECLAIM to make sure this thread pool makes progress when we're not able to allocate new workers. [dchinner: make all workqueues WQ_MEM_RECLAIM] Signed-off-by: Chris Mason <clm@xxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 848ccfc8fe0e8ae572ed0d8a9a2c3a0cda3bce3b Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Nov 10 10:10:33 2015 +1100 xfs: fix log recovery op header validation assert Commit 89cebc84 ("xfs: validate transaction header length on log recovery") added additional validation of the on-disk op header length to protect from buffer overflow during log recovery. It accounts for the fact that the transaction header can be split across multiple op headers. It added an assert for when this occurs that verifies the length of the second part of a split transaction header is less than a full transaction header. In other words, it expects that the first op header of a split transaction header includes at least some portion of the transaction header. This expectation is not always valid as a zero-length op header can exist for the first op header of a split transaction header (see xlog_recover_add_to_trans() for details). This means that the second op header can have a valid, full length transaction header and thus the full header is copied in xlog_recover_add_to_cont_trans(). Fix the assert in xlog_recover_add_to_cont_trans() to handle this case correctly and require that the op header length is less than or equal to a full transaction header. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit edfb8ebce225a0638cf62591d4ccb502f052ffd4 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 10 10:09:45 2015 +1100 xfs: Fix error path in xfs_get_acl Error codes from xfs_attr_get other than -ENOATTR were not properly reported. Fix that. In addition, the declaration of struct xfs_inode in xfs_acl.h isn't needed. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f06fcc7155dcbcd9b697d499595a2c1a3945bda2 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:51 2015 +0200 scsi: ufs-qcom: add QUniPro hardware support and power optimizations New revisions of UFS host controller supports the new UniPro hardware controller (referred as QUniPro). This patch adds the support to enable this new UniPro controller hardware. This change also adds power optimization for bus scaling feature, as well as support for HS-G3 power mode. Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 6e3fd44d7b7638e0f7e3331eaf7f90f3a629f3e7 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:50 2015 +0200 scsi: ufs-qcom: add debug prints for test bus Adds support for configuring and reading the test bus and debug registers. This change also adds another vops in order to print the debug registers. Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 47555a5c8a11a423e6767f942941c745766c99a2 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:49 2015 +0200 scsi: ufs: make the UFS variant a platform device This change turns the UFS variant (SCSI_UFS_QCOM) into a UFS a platform device. In order to do so a few additional changes are required: 1. The ufshcd-pltfrm is no longer serves as a platform device. Now it only serves as a group of platform APIs such as PM APIs (runtime suspend/resume, system suspend/resume etc), parsers of clocks, regulators and pm_levels from DT. 2. What used to be the old platform "probe" is now "only" a pltfrm_init() routine, that does exactly the same, but only being called by the new probe function of the UFS variant. Reviewed-by: Rob Herring <robherring2@xxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 0263bcd0e8319642440fa29c184b0d7f4b2d5857 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:48 2015 +0200 scsi: ufs: creates wrapper functions for vops In order to simplify the code a set of wrapper functions is created to test and call each of the variant operations. Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 1ce5898af55e23e933f6a68d102d4be730e9b503 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:47 2015 +0200 scsi: ufs: add ufshcd_get_variant ufshcd_set_variant This patch adds ufshcd_get_variant() and ufshcd_set_variant() routines in order to get/set the variant specific data. Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 9bac5db4b229977054c9936e859dc41e1cd64c59 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:46 2015 +0200 scsi: ufs-qcom: update configuration option of SCSI_UFS_QCOM component This change is required in order to be able to build the component as a module. Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit fb819ee85e4281821b26f1e5b1812bb43ab5c41a Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:45 2015 +0200 scsi: ufs-qcom: fix compilation warning if compiled as a module This change fixes a compilation warning that happens if SCSI_UFS_QCOM is compiled as a module. Also this patch fixes an error happens when insmod the module: "ufs_qcom: module license 'unspecified' taints kernel." Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit aeeed76b32e440a542e2bd224513844dcf6097d0 Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Wed Oct 28 13:15:44 2015 +0200 phy: qcom-ufs: fix build error when the component is built as a module Export the following functions in order to avoid build errors when the component PHY_QCOM_UFS is compiled as a module: ERROR: "ufs_qcom_phy_disable_ref_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_enable_ref_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_is_pcs_ready" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_disable_iface_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_start_serdes" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_calibrate_phy" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_enable_dev_ref_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_set_tx_lane_enable" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_disable_dev_ref_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_save_controller_version" [drivers/scsi/ufs/ufs-qcom.ko] undefined! ERROR: "ufs_qcom_phy_enable_iface_clk" [drivers/scsi/ufs/ufs-qcom.ko] undefined! make[1]: *** [__modpost] Error 1 Reviewed-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Reviewed-by: Gilad Broner <gbroner@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 2565df91a2a834046024a9baed479dc97dcfc712 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Nov 1 16:31:52 2015 -0800 drm/vc4: Add dependency on HAVE_DMA_ATTRS, and select DRM_GEM_CMA_HELPER Avoid the following build errors, seen with m68k:allmodconfig and other architectures which do not support HAVE_DMA_ATTRS. ERROR: "drm_gem_cma_create" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_prime_mmap" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_prime_get_sg_table" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_vm_ops" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_mmap" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_prime_vunmap" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_prime_import_sg_table" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_free_object" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_prime_vmap" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_dumb_map_offset" [drivers/gpu/drm/vc4/vc4.ko] undefined! ERROR: "drm_gem_cma_create" [drivers/gpu/drm/drm_kms_helper.ko] undefined! ERROR: "drm_gem_cma_describe" [drivers/gpu/drm/drm_kms_helper.ko] undefined! ERROR: "drm_gem_cma_free_object" [drivers/gpu/drm/drm_kms_helper.ko] undefined! Acked-by: Eric Anholt <eric@xxxxxxxxxx> Fixes: c8b75bca92cb ("drm/vc4: Add KMS support for Raspberry Pi.") Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit f71c882dd4cfe4aa88ea07b1402ddd43605d4aef Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Nov 9 17:09:05 2015 +0100 ideapad-laptop: Add Lenovo Yoga 900 to no_hw_rfkill dmi list Like some of the other Yoga models the Lenovo Yoga 900 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 900 to the no_hw_rfkill dmi list, fixing the wifi breakage. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1275490 Cc: stable@xxxxxxxxxxxxxxx Reported-and-tested-by: Kevin Fenzi <kevin@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit c789fffc56a1a6c4bd9cbd15269d86089d757214 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Nov 6 23:26:59 2015 +0100 ideapad-laptop: include Yoga 3 1170 in add rfkill whitelist This changes the entry to the whitelist of machines that do not have a physical rfkill switch. Unfortunately, the Yoga 3 generation seems to use upper-case letters for the YOGA 3 Pro-1370, while it uses normal capitalization for its Yoga 3 1170 and 1470 siblings. In order to catch all variants of the Yoga 3, I'm changing both the entry for the 1470 (using "Yoga" as the name) and the entry for the Pro 1370 (using all-caps "YOGA") to not match the exact model number but only the generation. This way, the 1170 and 1470 models share one entry, but if the firmware changes from one format to the other, it will still work. The second entry for Yoga 2 Pro that was recently added for some reason ended up not being added in alphanumeric order, and I'm moving the Yoga 3 1470 entry down while making the change, so they are sorted more logically. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 74caab996c68393c0a985dccfd0ee6b33fb016e6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Nov 6 22:28:49 2015 +0100 ideapad-laptop: add support for Yoga 3 ESC key The ideapad-laptop handles most special keys on various Lenovo Laptops including the Yoga line. Unfortunately, the Yoga 3 11/13/14 models have one important exception, which is the Fn-ESC combination. On other Lenovo Laptops, this is FnLock, which switches the function keys between the primary (Mute, Vol down, Vol up, ...) and the secondary (F1, F2, F3, ...) behavior. On the new machines, FnLock is only available through BIOS setup (possibly through a yet-to-be-implemented feature in this driver) but not through Fn-ESC, but instead the ESC key itself switched between ESC and a "Paper Display" app for Windows. Unfortunately, that means that you can never have both ESC *and* the function keys working at the same time without needing to press Fn on one of them. As pointed out in the official Lenovo Forum by dozens of users, this makes the machine rather useless for any serious work [1]. I have now studied the ACPI DSDT one more time and found the event that is generated for the ESC key. Unlike all other key events on this machine, it is actually a WMI, while the other ones are read from the embedded controller. I am now installing a WMI notifier that uses the event number from the WMI subsystem as the scancode. The only event number generated here is '128', and that fits in nicely with the two existing ranges of scancodes used by the EC: 0-15 for the 16-bit VPCCMD_R_VPC register, 16-17 for the VPCCMD_R_NOVO register and 64-67 for VPCCMD_R_SPECIAL_BUTTONS. The only sane way to handle this button (in absence of the Windows Paper Display driver) seems to be to have it emit KEY_ESC, so that is what I use as the default. Should any user ever want to overwrite the default, they can install their own keymap. To ensure that we can still build the driver without adding a CONFIG_WMI dependency, all new code is enclosed in #ifdef. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> [1] https://forums.lenovo.com/t5/Lenovo-Yoga-Series-Notebooks/YOGA-3-14-How-to-reclaim-my-Esc-key-and-permanently-disable/td-p/2070816 Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f23d0e2468bc538e8c33223af8963ef40b7515bf Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Mon Nov 9 18:40:59 2015 +0000 MAINTAINERS: Change Meta arch port status to Odd Fixes For a while now the Meta architecture port has been supported with only odd fixes rather than any big new features, since it has now been effectively supersceded by MIPS, and there is no prospect of any new products being based on it. Change the maintenance status to Odd Fixes in order to reflect reality. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit f1cd1f0b7d1b5d4aaa5711e8f4e4898b0045cb6d Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Nov 9 18:06:38 2015 +0000 Btrfs: fix race when listing an inode's xattrs When listing a inode's xattrs we have a time window where we race against a concurrent operation for adding a new hard link for our inode that makes us not return any xattr to user space. In order for this to happen, the first xattr of our inode needs to be at slot 0 of a leaf and the previous leaf must still have room for an inode ref (or extref) item, and this can happen because an inode's listxattrs callback does not lock the inode's i_mutex (nor does the VFS does it for us), but adding a hard link to an inode makes the VFS lock the inode's i_mutex before calling the inode's link callback. If we have the following leafs: Leaf X (has N items) Leaf Y [ ... (257 INODE_ITEM 0) (257 INODE_REF 256) ] [ (257 XATTR_ITEM 12345), ... ] slot N - 2 slot N - 1 slot 0 The race illustrated by the following sequence diagram is possible: CPU 1 CPU 2 btrfs_listxattr() searches for key (257 XATTR_ITEM 0) gets path with path->nodes[0] == leaf X and path->slots[0] == N because path->slots[0] is >= btrfs_header_nritems(leaf X), it calls btrfs_next_leaf() btrfs_next_leaf() releases the path adds key (257 INODE_REF 666) to the end of leaf X (slot N), and leaf X now has N + 1 items searches for the key (257 INODE_REF 256), with path->keep_locks == 1, because that is the last key it saw in leaf X before releasing the path ends up at leaf X again and it verifies that the key (257 INODE_REF 256) is no longer the last key in leaf X, so it returns with path->nodes[0] == leaf X and path->slots[0] == N, pointing to the new item with key (257 INODE_REF 666) btrfs_listxattr's loop iteration sees that the type of the key pointed by the path is different from the type BTRFS_XATTR_ITEM_KEY and so it breaks the loop and stops looking for more xattr items --> the application doesn't get any xattr listed for our inode So fix this by breaking the loop only if the key's type is greater than BTRFS_XATTR_ITEM_KEY and skip the current key if its type is smaller. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit ab27a8d04b32b6ee8c30c14c4afd1058e8addc82 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Mon Oct 5 16:33:37 2015 -0600 coredump: add DAX filtering for FDPIC ELF coredumps Add explicit filtering for DAX mappings to FDPIC ELF coredump. This is useful because DAX mappings have the potential to be very large. This patch has only been compile tested. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 5037835c1f3eabf4f22163fc0278dd87165f8957 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Mon Oct 5 16:33:36 2015 -0600 coredump: add DAX filtering for ELF coredumps Add two new flags to the existing coredump mechanism for ELF files to allow us to explicitly filter DAX mappings. This is desirable because DAX mappings, like hugetlb mappings, have the potential to be very large. Update the coredump_filter documentation in Documentation/filesystems/proc.txt so that it addresses the new DAX coredump flags. Also update the documented default value of coredump_filter to be consistent with the core(5) man page. The documentation being updated talks about bit 4, Dump ELF headers, which is enabled if CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is turned on in the kernel config. This kernel config option defaults to "y" if both ELF binaries and coredump are enabled. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 85ce230051c37dfb979385eb0244bf3655625ba6 Merge: 538ea4a 2098516 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Nov 9 13:29:39 2015 -0500 Merge branch 'for-4.4/hotplug' into libnvdimm-for-next commit 5e0baca8b3247f459af50947eaafc68bb8168b33 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Nov 9 09:26:44 2015 -0800 Input: parkbd - drop bogus __init from parkbd_allocate_serio() WARNING: vmlinux.o(.text+0x1056606): Section mismatch in reference from the function parkbd_attach() to the function .init.text:parkbd_allocate_serio() The function parkbd_attach() references the function __init parkbd_allocate_serio(). This is often because parkbd_attach lacks a __init annotation or the annotation of parkbd_allocate_serio is wrong. Commit 33ca8ab97cbb676d ("Input: parkbd - use parallel port device model") dropped the __init attribute from the sole caller of parkbd_allocate_serio(), but forgot to remove it from parkbd_allocate_serio() itself. Fixes: 33ca8ab97cbb676d ("Input: parkbd - use parallel port device model") Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit fb53c439d84387621c53808a3957ffd9876e5094 Author: Tomas Henzl <thenzl@xxxxxxxxxx> Date: Fri Nov 6 16:24:09 2015 +0100 hpsa: move lockup_detected attribute to host attr This patch fixes a 'general protection fault' issue by moving the attribute to where it was likely meant. Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit ec2c3aa94d9207fd2557203f36677da8be75b354 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:52:40 2015 -0600 hpsa: bump the driver version Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Gerry Morong <gerry.morong.pmcs.com> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit d04e62b9d63a7498735761dc40eaed88b7fd9d80 Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:52:34 2015 -0600 hpsa: add in sas transport class Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 1faf072c0e3ab0bc41fc1d343883dac704b82946 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 15:52:28 2015 -0600 hpsa: fix multiple issues in path_info_show path_info_show() seems to be broken in multiple ways. First, there's 817 return snprintf(buf, output_len+1, "%s%s%s%s%s%s%s%s", 818 path[0], path[1], path[2], path[3], 819 path[4], path[5], path[6], path[7]); so hopefully output_len contains the combined length of the eight strings. Otherwise, snprintf will stop copying to the output buffer, but still end up reporting that combined length - which in turn would result in user-space getting a bunch of useless nul bytes (thankfully the upper sysfs layer seems to clear the output buffer before passing it to the various ->show routines). But we have 767 output_len = snprintf(path[i], 768 PATH_STRING_LEN, "[%d:%d:%d:%d] %20.20s ", 769 h->scsi_host->host_no, 770 hdev->bus, hdev->target, hdev->lun, 771 scsi_device_type(hdev->devtype)); so output_len at best contains the length of the last string printed. Inside the loop, we then otherwise add to output_len. By magic, we still have PATH_STRING_LEN available every time... This wouldn't really be a problem if the bean-counting has been done properly and each line actually does fit in 50 bytes, and maybe it does, but I don't immediately see why. Suppose we end up taking this branch: 802 output_len += snprintf(path[i] + output_len, 803 PATH_STRING_LEN, 804 "BOX: %hhu BAY: %hhu %s\n", 805 box, bay, active); An optimistic estimate says this uses strlen("BOX: 1 BAY: 2 Active\n") which is 21. Now add the 20 bytes guaranteed by the %20.20s and then some for the rest of that format string, and we're easily over 50 bytes. I don't think we can get over 100 bytes even being pessimistic, so this just means we'll scribble into the next path[i+1] and maybe get that overwritten later, leading to some garbled output (in fact, since we'd overwrite the previous string's 0-terminator, we could end up with one very long string and then print various suffixes of that, leading to much more than 400 bytes of output). Except of course when we're filling path[7], where overrunning it means writing random stuff to the kernel stack, which is usually a lot of fun. We can fix all of that and get rid of the 400 byte stack buffer by simply writing directly to the given output buffer, which the upper layer guarantees is at least PAGE_SIZE. s[c]nprintf doesn't care where it is writing to, so this doesn't make the spin lock hold time any longer. Using scnprintf ensures that output_len always represents the number of bytes actually written to the buffer, so we'll report the proper amount to the upper layer. Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 7c59a0d46125d8c47c840e874d2cc9dd082afdf7 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:52:22 2015 -0600 hpsa: enhance device messages Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c2adae44e9161612c89e52d233c83086195f454c Author: Scott Teel <scott.teel@xxxxxxxx> Date: Wed Nov 4 15:52:16 2015 -0600 hpsa: disable report lun data caching When external target arrays are present, disable the firmware's normal behavior of returning a cached copy of the report lun data, and force it to collect new data each time we request a report luns. This is necessary for external arrays, since there may be no reliable signal from the external array to the smart array when lun configuration changes, and thus when driver requests report luns, it may be stale data. Use diag options to turn off RPL data caching. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 34592254c13324add1972e6a7d5f6636d95ade33 Author: Scott Teel <scott.teel@xxxxxxxx> Date: Wed Nov 4 15:52:09 2015 -0600 hpsa: add discovery polling for PT RAID devices. There are problems with getting configuration change notification in pass-through RAID environments. So, activate flag h->discovery_polling when one of these devices is detected in update_scsi_devices. After discovery_polling is set, execute a report luns from rescan_controller_worker (every 30 seconds). If the data from report_luns is different than last time (binary compare), execute a full rescan via update_scsi_devices. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 2d62a33e05d471bef6b2e5478f57d05b9baded85 Author: Scott Teel <scott.teel@xxxxxxxx> Date: Wed Nov 4 15:52:03 2015 -0600 hpsa: eliminate fake lun0 enclosures We don't need to create fake enclosure devices at Lun0 in external target array configurations anymore. This was done to support Pre-SCSI rev 5 controllers that didn't suppoprt report luns commands, so the SCSI layer had to scan targets. If there was no LUN at LUN 0, then the target scan would stop, and move to the next target. Lun0 enclosure device was added to prevent sparsely-numbered LUNs from being missed. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 66749d0d617a9cda967f168802f1fb1a6e598a92 Author: Scott Teel <scott.teel@xxxxxxxx> Date: Wed Nov 4 15:51:57 2015 -0600 hpsa: generalize external arrays External array LUNs must use target and lun numbers assigned by the external array. So the driver must treat these differently from local LUNs when assigning lun/target. LUN's 'model' field has been used to detect Lun types that need special treatment, but the desire is to eliminate the need to reference specific array models, and support any external array. Pass-through RAID (PTRAID) luns are not luns of the local controller, so they are not reported in LUN count of command 'ID controller'. However, they ARE reported in "Report logical Luns" command. Local luns are listed first, then PTRAID LUNs. The number of luns from "Report LUNs" in excess of those reported by 'ID controller' are therefore the PTRAID LUNS. We can now remove function is_ext_target, and the 'white list' array of supported model names. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 096ccff47e152aef8e9ef318c02781daedc433b7 Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:51:51 2015 -0600 hpsa: move scsi_add_device and scsi_remove_device calls to new function preparation for adding the sas transport class Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c795505a742807fe6ba81d6c63b57c7d2737df3d Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:51:45 2015 -0600 hpsa: refactor hpsa_figure_bus_target_lun setup for sas transport. Need to set the bus and target accordingly. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 75d23d894a4054dea2912e8ccad3134b8b90f1f1 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:51:39 2015 -0600 hpsa: enhance hpsa_get_device_id use an index into vpd data for SAS/SATA drives Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit f3f017305d4da61b64098f3d89cb64563c95087a Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:51:33 2015 -0600 hpsa: add function is_logical_device simplify checking for logical/physical devices Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 04fa2f44461dd90a00b514cd75ce82f829924826 Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:51:27 2015 -0600 hpsa: simplify update scsi devices remove repeated calculation that checks for physical or logical devices. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 2a168208a35515b8ca54fbf1a17581ad2a852a3f Author: Kevin Barnett <kevin.barnett@xxxxxxxx> Date: Wed Nov 4 15:51:21 2015 -0600 hpsa: simplify check for device exposure remove macros and cleanup device exposure checking Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit a736e9b6a03283a2e0fc8190b748b3a672f289c1 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:51:14 2015 -0600 hpsa: correct ioaccel2 sg chain len Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit f2039b03290b3b1e0556b85b7018273e116d17c3 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:51:08 2015 -0600 hpsa: correct check for non-disk devices The driver is using two MACROs which seemingly are looking in the wrong location for the device_flags returned from CISS_REPORT_PHYS. Both MACROs, NON_DISK_PHYS_DEV and PHYS_IOACCEL, are using the pointer returned from figure_lunaddrbytes which is the address of the LUN.lunid element in the extended CISS_REPORT_PHYS. But the MACROS are using offsets beyond the range of the element (offset 17 of an 8 byte element). These MACROs actually are looking at the correct location but they fail static checker analysis. It also will not work if any new elements are added to the extended LUN structure. Change the code to use the structure elements directly since this MACRO is only used in one location. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 0b9b7b6eecad03e0ba4290af7145e2c5d1f8ff13 Author: Scott Teel <scott.teel@xxxxxxxx> Date: Wed Nov 4 15:51:02 2015 -0600 hpsa: fix physical target reset Set reset type in device_reset_handler to do either logical unit reset for logical devices, or physical target reset, for physical devices. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit da03ded045b6249261e6c82d942e6d0298dabc9b Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:56 2015 -0600 hpsa: fix hpsa_adjust_hpsa_scsi_table Fix a NULL pointer issue in the driver when devices are removed during a reset. Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c8a6c9a6b41367d147990756b311ed5a67f19005 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:50 2015 -0600 hpsa: correct transfer length for 6 byte read/write commands handle block counts of 0. Cleanup block and block count calculations. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 683fc444697a388f17cbc3bd7e64191ce000b6b4 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:44 2015 -0600 hpsa: abandon rescans on memory alloaction failures. Abandon and reschedule rescan process only if device inquiries fail due to mem alloc failures, which are likely to occur for all devices. Otherwise, skip device if inquiry fails for other reasons, and continue rescanning process for other devices. Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 853633e85996cb661e7aed5b3ae8823b12f265cf Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:37 2015 -0600 hpsa: allow driver requested rescans Reviewed-by: Scott Teel <scott.teel@xxxxxxxx> Reviewed-by: Justin Lindley <justin.lindley@xxxxxxxx> Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by; Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 1d33d85d4e51d85ee986b603de90be4f0b2faf2c Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:31 2015 -0600 hpsa: fix null device issues Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 9975ec9dbeb1775d29faaae50b31e2c19f740bf8 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:25 2015 -0600 hpsa: check for null arguments to dev_printk Check for NULLs. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3ad7de6b7d031165e8b2c0775986128de17c5a63 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:19 2015 -0600 hpsa: change devtype to unsigned This member is used in calls to scsi_device_type. It should be unsigned since the kernel checks for upper bounds and it should never be negative. Suggested-by: Tomas Henzl <thenzl@xxxxxxxxxx> Suggested-by: Hannes Reinecke <hare@xxxxxxx> Suggested-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit b48d9804281957ea35340076c2492c924ceb3ef0 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:13 2015 -0600 hpsa: remove unused hpsa_tag_discard_error_bits This function is no longer used. Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 55d95d39b70fa391d609927242f55307d5536b17 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:07 2015 -0600 hpsa: stop zeroing reset_cmds_out and ioaccel_cmds_out during rescan pulling the rug out from under the reset handler likewise for ioaccel_cmds_out Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Don Brace <don.brace@xxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 8aa60681dbc0a501697663af0cd9c31df046d709 Author: Don Brace <don.brace@xxxxxxxx> Date: Wed Nov 4 15:50:01 2015 -0600 hpsa: remove unused parameter hostno This parameter was once used before scan_start was defined but now it is no longer used. Signed-off-by: Don Brace <don.brace@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 863e02d0e173bb9d8cea6861be22820b25c076cc Author: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 10:49:54 2015 +0100 scsi_sysfs: Fix queue_ramp_up_period return code Writing a number to /sys/bus/scsi/devices/<sdev>/queue_ramp_up_period returns the value of that number instead of the number of bytes written. This behavior can confuse programs expecting POSIX write() semantics. Fix this by returning the number of bytes written instead. Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 821b414405a78c3d38921c2545b492eb974d3814 Author: Niklas Cassel <niklas.cassel@xxxxxxxx> Date: Mon Nov 9 15:59:00 2015 +0100 net: Documentation: Fix default value tcp_limit_output_bytes Commit c39c4c6abb89 ("tcp: double default TSQ output bytes limit") updated default value for tcp_limit_output_bytes Signed-off-by: Niklas Cassel <niklas.cassel@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a499a2e9d9c03fd35bd9920b629e4d5b1d6cc1f0 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Mon Nov 9 09:14:17 2015 -0500 macvtap: Resolve possible __might_sleep warning in macvtap_do_read() macvtap_do_read code calls macvtap_put_user while it might be set up to wait for the user. This results in the following warning: Jun 23 16:25:26 galen kernel: ------------[ cut here ]------------ Jun 23 16:25:26 galen kernel: WARNING: CPU: 0 PID: 30433 at kernel/sched/core.c: 7286 __might_sleep+0x7f/0x90() Jun 23 16:25:26 galen kernel: do not call blocking ops when !TASK_RUNNING; state =1 set at [<ffffffff810f1c1f>] prepare_to_wait+0x2f/0x90 Jun 23 16:25:26 galen kernel: CPU: 0 PID: 30433 Comm: cat Not tainted 4.1.0-rc6+ #11 Jun 23 16:25:26 galen kernel: Call Trace: Jun 23 16:25:26 galen kernel: [<ffffffff817f76ba>] dump_stack+0x4c/0x65 Jun 23 16:25:26 galen kernel: [<ffffffff810a07ca>] warn_slowpath_common+0x8a/0xc 0 Jun 23 16:25:26 galen kernel: [<ffffffff810a0846>] warn_slowpath_fmt+0x46/0x50 Jun 23 16:25:26 galen kernel: [<ffffffff810f1c1f>] ? prepare_to_wait+0x2f/0x90 Jun 23 16:25:26 galen kernel: [<ffffffff810f1c1f>] ? prepare_to_wait+0x2f/0x90 Jun 23 16:25:26 galen kernel: [<ffffffff810cdc1f>] __might_sleep+0x7f/0x90 Jun 23 16:25:26 galen kernel: [<ffffffff811f8e15>] might_fault+0x55/0xb0 Jun 23 16:25:26 galen kernel: [<ffffffff810fab9d>] ? trace_hardirqs_on_caller+0x fd/0x1c0 Jun 23 16:25:26 galen kernel: [<ffffffff813f639c>] copy_to_iter+0x7c/0x360 Jun 23 16:25:26 galen kernel: [<ffffffffa052da86>] macvtap_do_read+0x256/0x3d0 [macvtap] Jun 23 16:25:26 galen kernel: [<ffffffff810f20e0>] ? prepare_to_wait_event+0x110/0x110 Jun 23 16:25:26 galen kernel: [<ffffffffa052dcab>] macvtap_read_iter+0x2b/0x50 [macvtap] Jun 23 16:25:26 galen kernel: [<ffffffff81247f2e>] __vfs_read+0xae/0xe0 Jun 23 16:25:26 galen kernel: [<ffffffff81248526>] vfs_read+0x86/0x140 Jun 23 16:25:26 galen kernel: [<ffffffff812493b9>] SyS_read+0x49/0xb0 Jun 23 16:25:26 galen kernel: [<ffffffff8180182e>] system_call_fastpath+0x12/0x76 Jun 23 16:25:26 galen kernel: ---[ end trace 22e33f67e70c0c2a ]--- Make sure thet we call finish_wait() if we have the skb to process before trying to actually process it. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92e6246c8e02f4ce9960731e2411e49c1f0fabbf Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Mon Nov 9 10:56:57 2015 +0100 scsi: Export SCSI Inquiry data to sysfs Export the RAW SCSI Inquiry to sysfs as binfile. This way the data can be used by userland without the need to have and ioctl or use the sg_inq tool. Here is an example of the provided data linux:~ # hexdump /sys/class/scsi_device/1\:0\:0\:0/device/inquiry 0000000 8005 3205 001f 0000 4551 554d 2020 2020 0000010 4551 554d 4420 4456 522d 4d4f 2020 2020 0000020 2e32 2e33 0000024 Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 4bed5395a521b475c2164510596d9af366a3d6dc Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Nov 9 15:08:57 2015 +0100 mvneta: add FIXED_PHY dependency The fixed_phy infrastructure is done in a way that is optional, by providing 'static inline' helper functions doing nothing in include/linux/phy_fixed.h for all its APIs. However, three out of the four users (DSA, BCMGENET, and SYSTEMPORT) always 'select FIXED_PHY', presumably because they need that. MVNETA is the fourth one, and if that is built-in but FIXED_PHY is configured as a loadable module, we get a link error: drivers/built-in.o: In function `mvneta_fixed_link_update': fpga-mgr.c:(.text+0x33ed80): undefined reference to `fixed_phy_update_state' Presumably this driver has the same dependency as the others, so this patch also uses 'select' to ensure that the fixed-phy support is built-in. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 898b2970e2c9 ("mvneta: implement SGMII-based in-band link state signaling") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cfb76d77c009b38e607c8a2adc8bdd57b5081768 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Nov 9 13:19:10 2015 +0100 net: caif: check return value of alloc_netdev I don't know if dev can actually be NULL here, but the test should be above alloc_netdev(), to avoid leaking the struct net_device in case dev is actually NULL. And of course the return value from alloc_netdev should be tested. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3870502a66fe26c80c034db1aa915d69850854aa Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Nov 9 10:34:30 2015 +0100 net: hisilicon: NET_VENDOR_HISILICON should depend on HAS_DMA If NO_DMA=y: ERROR: "dma_set_mask" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_unmap_single" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_unmap_page" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_mapping_error" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_map_page" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_supported" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_map_single" [drivers/net/ethernet/hisilicon/hns/hns_enet_drv.ko] undefined! ERROR: "dma_set_mask" [drivers/net/ethernet/hisilicon/hns/hns_dsaf.ko] undefined! ERROR: "dma_supported" [drivers/net/ethernet/hisilicon/hns/hns_dsaf.ko] undefined! ERROR: "dma_unmap_single" [drivers/net/ethernet/hisilicon/hns/hnae.ko] undefined! ERROR: "dma_unmap_page" [drivers/net/ethernet/hisilicon/hns/hnae.ko] undefined! ERROR: "dma_mapping_error" [drivers/net/ethernet/hisilicon/hns/hnae.ko] undefined! ERROR: "dma_map_page" [drivers/net/ethernet/hisilicon/hns/hnae.ko] undefined! ERROR: "dma_map_single" [drivers/net/ethernet/hisilicon/hns/hnae.ko] undefined! ERROR: "dma_alloc_coherent" [drivers/net/ethernet/hisilicon/hix5hd2_gmac.ko] undefined! ERROR: "dma_mapping_error" [drivers/net/ethernet/hisilicon/hix5hd2_gmac.ko] undefined! ERROR: "dma_map_single" [drivers/net/ethernet/hisilicon/hix5hd2_gmac.ko] undefined! ERROR: "dma_unmap_single" [drivers/net/ethernet/hisilicon/hix5hd2_gmac.ko] undefined! ERROR: "dma_free_coherent" [drivers/net/ethernet/hisilicon/hix5hd2_gmac.ko] undefined! ERROR: "dma_alloc_coherent" [drivers/net/ethernet/hisilicon/hip04_eth.ko] undefined! ERROR: "dma_mapping_error" [drivers/net/ethernet/hisilicon/hip04_eth.ko] undefined! ERROR: "dma_map_single" [drivers/net/ethernet/hisilicon/hip04_eth.ko] undefined! ERROR: "dma_unmap_single" [drivers/net/ethernet/hisilicon/hip04_eth.ko] undefined! ERROR: "dma_free_coherent" [drivers/net/ethernet/hisilicon/hip04_eth.ko] undefined! As this affects all of HNS_ENET, HNS_DSAF, HNS, HIX5HD2_GMAC, and HIP04_ETH, add a dependency on HAS_DMA to the main NET_VENDOR_HISILICON symbol to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fb74c4e66daab5c3fb3b949d37c15684d7ee82a Author: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Nov 5 21:17:38 2015 +0530 megaraid_sas: Fix sparse warning Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit aed335eecf8f09c28588b01c7f7e24ee78156e28 Author: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Nov 5 21:17:37 2015 +0530 megaraid_sas: Make tape drives visible on PERC5 controllers The DELL PERC5 controller firmware does not list tape drives in response to MR_DCMD_PD_LIST_QUERY. This causes tape drives not be exposed to the OS when connected to a PERC5 controller. This patch permits detection of tape drives connected to a PERC5 controller by exposing non-TYPE_DISK devices unconditionally. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 222e684ca762e9288108fcf852eb5d08cbe10ae3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Nov 9 15:24:55 2015 +0300 vfio/pci: make an array larger Smatch complains about a possible out of bounds error: drivers/vfio/pci/vfio_pci_config.c:1241 vfio_cap_init() error: buffer overflow 'pci_cap_length' 20 <= 20 The problem is that pci_cap_length[] was defined as large enough to hold "PCI_CAP_ID_AF + 1" elements. The code in vfio_cap_init() assumes it has PCI_CAP_ID_MAX + 1 elements. Originally, PCI_CAP_ID_AF and PCI_CAP_ID_MAX were the same but then we introduced PCI_CAP_ID_EA in commit f80b0ba95964 ("PCI: Add Enhanced Allocation register entries") so now the array is too small. Let's fix this by making the array size PCI_CAP_ID_MAX + 1. And let's make a similar change to pci_ext_cap_length[] for consistency. Also both these arrays can be made const. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit d56e4f75346933dd2cb11533a668ce883908c859 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Sat Nov 7 13:33:25 2015 +0200 tpm: fix compat 'ppi' link handling in tpm_chip_register() __compat_only_sysfs_link_entry_to_kobj() was unconditionally called for TPM1 chips, which caused crash on Acer C720 laptop where DSM for the ACPI object did not exist. There are two reasons for unwanted behavior: * The code did not check whether __compat_only_sysfs_link_entry_to_kobj() returned -ENOENT. This is OK. It just meanst that ppi is not available. * The code did not clean up properly. Compat link should added only after all other init is done. This patch sorts out these issues. Fixes: 9b774d5cf2db Reported-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Tested-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit 2e31125c241212e2407d61a2d1cbdad0055a30b0 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Fri Oct 30 14:57:02 2015 +0200 tpm: fix missing migratable flag in sealing functionality for TPM2 The 'migratable' flag was not added to the key payload. This patch fixes the problem. Fixes: 0fe5480303a1 ("keys, trusted: seal/unseal with TPM 2.0 chips") Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit b1a4144a695ff4a6834a2680600f36f991fa4926 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Mon Nov 2 19:55:29 2015 +0200 TPM: revert the list handling logic fixed in 398a1e7 Mimi reported that afb5abc reverts the fix in 398a1e7. This patch reverts it back. Fixes: afb5abc262e9 ("tpm: two-phase chip management functions") Reported-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit eb8ed1eb9a158c460d10205eaff71fd4ac67c160 Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Thu Oct 22 22:32:41 2015 +0200 TPM: Avoid reference to potentially freed memory Reference to the 'np' node is dropped before dereferencing the 'sizep' and 'basep' pointers, which could by then point to junk if the node has been freed. Refactor code to call 'of_node_put' later. Fixes: c5df39262dd5 ("drivers/char/tpm: Add securityfs support for event log") Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit 14b5c1c9159bf6f109b667d31da82859d8c8cdcd Author: Martin Wilck <Martin.Wilck@xxxxxxxxxxxxxx> Date: Mon Nov 9 16:38:50 2015 +0200 tpm_tis: restore IRQ vector in IO memory after failed probing If the probing finishes without success, it will leave the value 15 in the TPM_IRQ_VECTOR register. If the driver is unloaded and reloaded, it will "think" that the hardware had been programmed with IRQ 15, and will not probe again. This patch restores the original value in the IO memory if no IRQ is probed. Signed-off-by: Martin Wilck <Martin.Wilck@xxxxxxxxxxxxxx> Acked-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit 2aef9da60bfdeb68dbcd4f114c098cbaa841b4ee Author: Martin Wilck <Martin.Wilck@xxxxxxxxxxxxxx> Date: Thu Nov 5 17:19:09 2015 +0100 tpm_tis: free irq after probing Release IRQs used for probing only. Otherwise the TPM will end up with all IRQs 3-15 assigned. Fixes: afb5abc262e9 ("tpm: two-phase chip management functions") Signed-off-by: Martin Wilck <Martin.Wilck@xxxxxxxxxxxxxx> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Tested-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <PeterHuewe@xxxxxx> commit 31dddd9eb9ebae9a2a9b502750e9e481d752180a Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Wed Oct 28 09:05:31 2015 -0500 GFS2: Fix rgrp end rounding problem for bsize < page size This patch fixes a bug introduced by commit 7005c3e. That patch tries to map a vm range for resource groups, but the calculation breaks down when the block size is less than the page size. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 7b52e2793a58af61b5d349c2c080437a437a4edb Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Nov 9 08:59:45 2015 -0600 Allow copy offload (CopyChunk) across shares FSCTL_SRV_COPYCHUNK_WRITE only requires that the source and target be on the same server (not the same volume or same share), so relax the existing check (which required them to be on the same share). Note that this works to Windows (and presumably most other NAS) but Samba requires that the source and target be on the same share. Moving a file across shares is a common use case and can be very heplful (100x faster). Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Reviewed-by: David Disseldorp <ddiss@xxxxxxxxx> commit 25b3e5a3344e1f700c1efec5b6f0199f04707fb1 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Thu Nov 5 15:56:22 2015 -0500 sched/numa: Fix math underflow in task_tick_numa() The NUMA balancing code implements delays in scanning by advancing curr->node_stamp beyond curr->se.sum_exec_runtime. With unsigned math, that creates an underflow, which results in task_numa_work being queued all the time, even when we don't want to. Avoiding the math underflow makes it possible to reduce CPU overhead in the NUMA balancing code. Reported-and-tested-by: Jan Stancek <jstancek@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@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: mgorman@xxxxxxx Link: http://lkml.kernel.org/r/1446756983-28173-2-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b71b437eedaed985062492565d9d421d975ae845 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Nov 2 10:50:51 2015 +0100 perf: Fix inherited events vs. tracepoint filters Arnaldo reported that tracepoint filters seem to misbehave (ie. not apply) on inherited events. The fix is obvious; filters are only set on the actual (parent) event, use the normal pattern of using this parent event for filters. This is safe because each child event has a reference to it. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frédéric Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20151102095051.GN17308@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2fd59077755c44dbbd9b2fa89cf988235a3a6a2b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 05:48:38 2015 -0800 perf: Disable IRQs across RCU RS CS that acquires scheduler lock The perf_lock_task_context() function disables preemption across its RCU read-side critical section because that critical section acquires a scheduler lock. If there was a preemption during that RCU read-side critical section, the rcu_read_unlock() could attempt to acquire scheduler locks, resulting in deadlock. However, recent optimizations to expedited grace periods mean that IPI handlers that execute during preemptible RCU read-side critical sections can now cause the subsequent rcu_read_unlock() to acquire scheduler locks. Disabling preemption does nothiing to prevent these IPI handlers from executing, so these optimizations introduced a deadlock. In theory, this deadlock could be avoided by pulling all wakeups and printk()s out from rnp->lock critical sections, but in practice this would re-introduce some RCU CPU stall warning bugs. Given that acquiring scheduler locks entails disabling interrupts, these deadlocks can be avoided by disabling interrupts (instead of disabling preemption) across any RCU read-side critical that acquires scheduler locks and holds them across the rcu_read_unlock(). This commit therefore makes this change for perf_lock_task_context(). Reported-by: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20151104134838.GR29027@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fb226c3d7c77b4f99cee675795cc0e70937c56ee Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Nov 9 09:55:46 2015 +0100 arm64: fix R/O permissions of FDT mapping The mapping permissions of the FDT are set to 'PAGE_KERNEL | PTE_RDONLY' in an attempt to map the FDT as read-only. However, not only does this break at build time under STRICT_MM_TYPECHECKS (since the two terms are of different types in that case), it also results in both the PTE_WRITE and PTE_RDONLY attributes to be set, which means the region is still writable under ARMv8.1 DBM (and an attempted write will simply clear the PT_RDONLY bit). So instead, define PAGE_KERNEL_RO (which already has an established meaning across architectures) and use that instead. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit b219545e9646e9d4089a74029c82ae59645e12ae Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Nov 9 09:55:45 2015 +0100 arm64: fix STRICT_MM_TYPECHECKS issue in PTE_CONT manipulation The new page table code that manipulates the PTE_CONT flags does so in a way that is inconsistent with STRICT_MM_TYPECHECKS. Fix it by using the correct combination of __pgprot() and pgprot_val(). Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 16771c7c704769c5f3d70c024630b6e5b3eafa67 Author: Jurgen Kramer <gtmkramer@xxxxxxxxx> Date: Mon Nov 9 12:13:55 2015 +0100 ALSA: usb: Add native DSD support for Aune X1S This patch adds native DSD support for the Aune X1S 32BIT/384 DSD DAC Signed-off-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d3df0465db00cf4ed9f90d0bfc3b827d32b9c796 Author: Luca Porzio <lporzio@xxxxxxxxxx> Date: Fri Nov 6 15:12:26 2015 +0000 mmc: remove bondage between REQ_META and reliable write Anytime a write operation is performed with Reliable Write flag enabled, the eMMC device is enforced to bypass the cache and do a write to the underling NVM device by Jedec specification; this causes a performance penalty since write operations can't be optimized by the device cache. In our tests, we replayed a typical mobile daily trace pattern and found ~9% overall time reduction in trace replay by using this patch. Also the write ops within 4KB~64KB chunk size range get a 40~60% performance improvement by using the patch (as this range of write chunks are the ones affected by REQ_META). This patch has been discussed in the Mobile & Embedded Linux Storage Forum and it's the results of feedbacks from many people. We also checked with fsdevl and f2fs mailing list developers that this change in the usage of REQ_META is not affecting FS behavior and we got positive feedbacks. Reporting here the feedbacks: http://comments.gmane.org/gmane.linux.file-systems/97219 http://thread.gmane.org/gmane.linux.file-systems.f2fs/3178/focus=3183 Signed-off-by: Bruce Ford <bford@xxxxxxxxxx> Signed-off-by: Luca Porzio <lporzio@xxxxxxxxxx> Fixes: ce39f9d17c14 ("mmc: support packed write command for eMMC4.5 devices") Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c255cb2ed3c7960b2c68f45de1dc0ac2197c8f78 Author: Anthony Lineham <anthony.lineham@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 11:17:03 2015 +1300 netfilter: Fix removal of GRE expectation entries created by PPTP The uninitialized tuple structure caused incorrect hash calculation and the lookup failed. Link: https://bugzilla.kernel.org/show_bug.cgi?id=106441 Signed-off-by: Anthony Lineham <anthony.lineham@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3d35877294005911da54c36e2ab4d7b72d5e9331 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Nov 9 10:36:01 2015 +0100 mmc: MMC_GOLDFISH should depend on HAS_DMA If NO_DMA=y: ERROR: dma_unmap_sg [drivers/mmc/host/android-goldfish.ko] undefined! ERROR: dma_alloc_coherent [drivers/mmc/host/android-goldfish.ko] undefined! ERROR: dma_map_sg [drivers/mmc/host/android-goldfish.ko] undefined! ERROR: dma_free_coherent [drivers/mmc/host/android-goldfish.ko] undefined! Add a dependency on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 62d494ca2773563e333e670cd18378705dad32d4 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Nov 6 12:22:08 2015 +0100 mmc: mediatek: Preinitialize delay_phase in get_best_delay() drivers/mmc/host/mtk-sd.c: In function â??get_best_delayâ??: drivers/mmc/host/mtk-sd.c:1284: warning: â??delay_phase.startâ?? is used uninitialized in this function drivers/mmc/host/mtk-sd.c:1284: warning: â??delay_phase.maxlenâ?? is used uninitialized in this function If delay is zero, these fields are indeed not initialized. Let the compiler preinitialize the whole struct to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ae3fbdd1becdfe4488e43bc023ea672bf2c90660 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Nov 6 12:21:33 2015 +0100 MAINTAINERS: mmc: Remove Seungwon Jeon from dw_mmc Unfortunate, Seungwon's email has been bouncing for some time and it seems like he has moved on to other duties. So, I would like to thank him for his efforts, but it's now time to remove him as the co-maintainer for the dw_mmc driver. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> commit d23029332c3d51fb5ac117ba5cde4dc0a3ec3fa6 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 28 14:25:43 2015 +0200 mmc: mmc: Improve reliability of mmc_select_hs400() mmc_select_hs400() calls __mmc_switch() which checks the switch is successful using CMD13 (SEND_STATUS). The problem is that it does that using the timing settings of the previous mode. That is prone to error, especially when switching from HS to HS400 because the timing parameters for HS mode are tighter than the timing parameters for HS400 mode. In the case when CMD13 polling is used (i.e. not MMC_CAP_WAIT_WHILE_BUSY) with the switch command, it must be assumed that using different modes on the card and host must work. However in the case when CMD13 polling is not used (i.e. MMC_CAP_WAIT_WHILE_BUSY) mmc_select_hs400() can be made more reliable by setting the host to the correct timing before sending CMD13. This patch does that. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 974007aaf240aa195b31c34cfdb013524a2dcfca Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 28 14:25:42 2015 +0200 mmc: mmc: Move mmc_switch_status() Move the mmc_switch_status() function in preparation for calling it in mmc_select_hs400(). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 51b12f7764fa8bb464cbd0f7bbd3a408d21ade16 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 28 14:25:41 2015 +0200 mmc: mmc: Fix HS setting in mmc_select_hs400() mmc_select_hs400() begins with the card and host in HS200 mode. Therefore, any commands sent to the card should use HS200 timing. It is incorrect to set the host to High Speed (HS) timing before sending the switch command. Doing so is unreliable because the timing parameters for HS mode are tighter than the timing parameters for HS200 mode. Thus the HS timings should be set only after the card has switched mode. However, it is not unreasonable first to reduce the frequency to the HS mode frequency, which should make the switch command and subsequent CMD13 commands more reliable. This patch does that. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1815e61b1a7efe81017a883e817292daf7d2f922 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 28 14:25:40 2015 +0200 mmc: mmc: Improve reliability of mmc_select_hs200() Currently mmc_select_hs200() uses __mmc_switch() which checks the success of the switch to HS200 mode using CMD13 (SEND_STATUS). The problem is that it does that using the timing settings of legacy mode. That is prone to error, not least because the timing parameters for legacy mode are tighter than the timing parameters for HS200 mode. In the case when CMD13 polling is used (i.e. not MMC_CAP_WAIT_WHILE_BUSY) with the switch command, it must be assumed that using different modes on the card and host must work. However in the case when CMD13 polling is not used (i.e. MMC_CAP_WAIT_WHILE_BUSY) mmc_select_hs200() can be made more reliable by setting the host to the correct timing before sending CMD13. This patch does that. A complication is that the caller, mmc_select_timing(), will ignore a switch error (indicated by -EBADMSG), assume the old mode is valid and continue, so the old timing must be restored in that case. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 26d49fe7195385f2f1e406feddb01c16b53e77b6 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Thu Nov 5 20:46:53 2015 +0100 mmc: pxamci: fix read-only gpio detection polarity The commit converting pxamci to slot-gpio API inverted the logic of the read-only gpio. Fix it by inverting the logic again. Fixes: fd546ee6a7dc ("mmc: pxamci: fix card detect with slot-gpio API") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1d512cb77bdbda80f0dd0620a3b260d697fd581d Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Nov 9 00:33:58 2015 +0000 Btrfs: fix race leading to BUG_ON when running delalloc for nodatacow If we are using the NO_HOLES feature, we have a tiny time window when running delalloc for a nodatacow inode where we can race with a concurrent link or xattr add operation leading to a BUG_ON. This happens because at run_delalloc_nocow() we end up casting a leaf item of type BTRFS_INODE_[REF|EXTREF]_KEY or of type BTRFS_XATTR_ITEM_KEY to a file extent item (struct btrfs_file_extent_item) and then analyse its extent type field, which won't match any of the expected extent types (values BTRFS_FILE_EXTENT_[REG|PREALLOC|INLINE]) and therefore trigger an explicit BUG_ON(1). The following sequence diagram shows how the race happens when running a no-cow dellaloc range [4K, 8K[ for inode 257 and we have the following neighbour leafs: Leaf X (has N items) Leaf Y [ ... (257 INODE_ITEM 0) (257 INODE_REF 256) ] [ (257 EXTENT_DATA 8192), ... ] slot N - 2 slot N - 1 slot 0 (Note the implicit hole for inode 257 regarding the [0, 8K[ range) CPU 1 CPU 2 run_dealloc_nocow() btrfs_lookup_file_extent() --> searches for a key with value (257 EXTENT_DATA 4096) in the fs/subvol tree --> returns us a path with path->nodes[0] == leaf X and path->slots[0] == N because path->slots[0] is >= btrfs_header_nritems(leaf X), it calls btrfs_next_leaf() btrfs_next_leaf() --> releases the path hard link added to our inode, with key (257 INODE_REF 500) added to the end of leaf X, so leaf X now has N + 1 keys --> searches for the key (257 INODE_REF 256), because it was the last key in leaf X before it released the path, with path->keep_locks set to 1 --> ends up at leaf X again and it verifies that the key (257 INODE_REF 256) is no longer the last key in the leaf, so it returns with path->nodes[0] == leaf X and path->slots[0] == N, pointing to the new item with key (257 INODE_REF 500) the loop iteration of run_dealloc_nocow() does not break out the loop and continues because the key referenced in the path at path->nodes[0] and path->slots[0] is for inode 257, its type is < BTRFS_EXTENT_DATA_KEY and its offset (500) is less then our delalloc range's end (8192) the item pointed by the path, an inode reference item, is (incorrectly) interpreted as a file extent item and we get an invalid extent type, leading to the BUG_ON(1): if (extent_type == BTRFS_FILE_EXTENT_REG || extent_type == BTRFS_FILE_EXTENT_PREALLOC) { (...) } else if (extent_type == BTRFS_FILE_EXTENT_INLINE) { (...) } else { BUG_ON(1) } The same can happen if a xattr is added concurrently and ends up having a key with an offset smaller then the delalloc's range end. So fix this by skipping keys with a type smaller than BTRFS_EXTENT_DATA_KEY. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit adaa0b6c49795551b07576e952dfa94c3ccded51 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Oct 19 11:44:24 2015 -0700 MIPS: Switch BMIPS5000 to use r4k_wait_irqoff() BCM7425 CPU Interface Zephyr Processor, pages 5-309 and 5-310 BCM7428B0 CPU Interface Zephyr Processor, pages 5-337 and 5-338 WAIT instruction: Thread enters wait state. No instructions are executed until an interrupt occurs. The processor's clocks are stopped if both threads are in idle mode. Description: Execution of this instruction puts the thread into wait state, an idle mode in which no instructions are fetched or executed. The thread remains in wait state until an interrupt occurs that is not masked by the interrupt mask field in the Status register. Then, if interrupts are enabled by the IE bit in the Status register, the interrupt is serviced. The ERET instruction returns to the instruction following the WAIT instruction. If interrupts are disabled, the processor resumes executing instructions with the next sequential instruction. Programming notes: The WAIT instruction should be executed while interrupts are disabled by the IE bit in the Status register. This avoids a potential timing hazard, which occurs if an interrupt is taken between testing the counter and executing the WAIT instruction. In this hazard case, the interrupt will have been completed before the WAIT instruction is executed, so the processor will remain indefinitely in wait state until the next interrupt. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: cernekee@xxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11322/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ba953391e03fd3b9eb0db19814cadb201574b4e2 Author: Adam Majer <adamm@xxxxxxxxxxx> Date: Mon Nov 9 10:14:29 2015 +0100 hwmon: (k10temp) Remove duplicate pci-id define PCI_DEVICE_ID_AMD_15H_M60H_NB_F3 is now defined in pci_ids.h Signed-off-by: Adam Majer <adamm@xxxxxxxxxxx> Acked-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> commit 7963b3f127a7486815bc10639630c95c2792b811 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Oct 19 11:49:52 2015 -0700 MIPS: add nmi_enter() + nmi_exit() to nmi_exception_handler() We need to enter NMI context when NMI interrupt fires. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11323/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 52d43d8184b1840c7cf6136724223585f51a1074 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 11:20:44 2015 +0100 s390/pci_dma: improve debugging of errors during dma map Improve debugging to find out what went wrong during a failed dma map/unmap operation. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 66728eeea6d80060e4b9df55c7845c838ff2799f Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 11:19:13 2015 +0100 s390/pci_dma: handle dma table failures We use lazy allocation for translation table entries but don't handle allocation (and other) failures during translation table updates. Handle these failures and undo translation table updates when it's meaningful. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 4d5a6b72959601d6c12e7e1ef3aa4132f0a62523 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 11:15:28 2015 +0100 s390/pci_dma: unify label of invalid translation table entries Newly allocated translation table entries are flagged as invalid and protected. If an existing translation table entry is invalidated, the protection flag is left unchanged. If a page (with invalid and protection flag set) is accessed it's undefined which type of exception we'll receive. Make sure to always set the invalid flag only. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 86b68c3873a82144033a82707781829e3f7b3859 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Nov 6 13:50:25 2015 +0100 s390/syscalls: remove system call number calculation Explicitly write the system call number for each define instead of calculating it. This makes it easier to parse the file when generating system call tables for various tools and libraries. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit cd5dead9d32423d63c802328c0563d7ff29647cd Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 22:40:27 2015 +0200 s390/cio: simplify css_generate_pgid Simplify the css_generate_pgid code by using stap() independent of CONFIG_SMP. For !CONFIG_SMP builds stap() will deliver the address of the cpu we IPL'ed from (which can be != 0). Note: the ifdef was likely added to be compatible with _very_ old machines which we don't support anyway. Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 230ccb370f8f95b2600a1fce90ceb8ee70a15dbc Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Nov 5 13:50:04 2015 +0100 s390/diag: add a s390 prefix to the diagnose trace point Documentation/trace/tracepoints.txt states that the naming scheme for tracepoints is "subsys_event" to avoid collisions. Rename the 'diagnose' tracepoint to 's390_diagnose'. Reported-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c6eafbf9903c4283ba146098ad54240a24ffbeb1 Author: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 13:32:08 2015 +0100 s390/head: fix error message on unsupported hardware startup calls the C function _sclp_print_early() if the machine we're running on is not supported by the kernel. sclp.c is getting built with -m64, so _sclp_print_early() expects the zSeries ELF ABI to be used. We previously called _sclp_print_early() using the S/390 ELF ABI, with a stack frame size of 96 bytes and while being in 31-bit address mode. This caused _sclp_wait_int() (called indirectly from _sclp_print_early()) to jump to an undefined address. While _sclp_wait_int() contained some code to deal with being called in 31-bit addressing mode, it didn't quite work. While fixing this is possible, the code would still only work by chance and could break any time. Ensure compliance with the zSeries ELF ABI by switching to 64-bit addressing mode early and using a minimum stack frame size of 160 bytes. Signed-off-by: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b32e1f58c254bd62f8a5852b8b181f6d51df1463 Merge: 66ef349 2b62c2d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Nov 9 08:45:42 2015 +0100 Merge branch 'liblockdep-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux into locking/urgent Pull liblockdep fixes from Sasha Levin: " ... three fixes for liblockdep. Just keeping up with kernel code changes and new gcc versions." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bb3fc5ddef93836a36a39308cf7eca82ef0a1c4c Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Fri Nov 6 14:19:11 2015 +0800 nios2: Remove unnecessary #ifdef guards __HAVE_ARCH_MEMMOVE and __HAVE_ARCH_MEMSET are unconditionally defined for nios2, so there is no need to protect the function definitions of memmove() and memset(). Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 713e9b802e21e762f31336da72bcfc32e1ab65ac Author: Marek Vasut <marex@xxxxxxx> Date: Wed Sep 30 22:08:00 2015 +0800 nios2: Switch to generic __xchg() The generic __xchg() implementation present in asm-generic/cmpxchg.h is correct on nios2 and even generates the same code. Switch to this generic implementation to trim down the amount of ad-hoc copies of the code. Signed-off-by: Marek Vasut <marex@xxxxxxx> Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 4db2196d0c0de110779b1767d956995efefdb915 Author: Marek Vasut <marex@xxxxxxx> Date: Wed Sep 30 22:06:46 2015 +0800 nios2: Fix unused variable warning Fix the following compiler splat by adding __maybe_unused annotation to the variable. Using this particular annotation has the least ugly impact on the code compared to using ifdeffery. arch/nios2/kernel/setup.c: In function 'nios2_boot_init': arch/nios2/kernel/setup.c:107:7: warning: unused variable 'cmdline_passed' [-Wunused-variable] char cmdline_passed[COMMAND_LINE_SIZE] = { 0, }; ^ Signed-off-by: Marek Vasut <marex@xxxxxxx> Acked-by: Ley Foon Tan <lftan@xxxxxxxxxx> commit 761d4be5cf666973db317aab944b45bb07fe0a4f Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Sat Nov 7 11:50:40 2015 -0800 drivers: net: xgene: fix RGMII 10/100Mb mode This patch fixes the RGMII 10/100M mode by reprogramming the clock. Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Tested-by: Fushen Chen <fchen@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b73c8bfd07eb53a964b7b917b0599e12103097fb Merge: fb9a10d 3aed822 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 8 20:56:39 2015 -0500 Merge branch 'skb_to_full_sk' Eric Dumazet says: ==================== net: add skb_to_full_sk() helper Many contexts need to reach listener socket from skb attached to a request socket. This patch series add skb_to_full_sk() to clearly express this need and use it where appropriate. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3aed822591556f93169ff532fda8c71b9b596de5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:12 2015 -0800 netfilter: nft_meta: use skb_to_full_sk() helper SYNACK packets might be attached to request sockets. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02a56c81cf33dea892da1f8a5231b0f7d7e714fe Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:11 2015 -0800 net_sched: em_meta: use skb_to_full_sk() helper SYNACK packets might be attached to request sockets. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 743b2a66744635b6d91e3d9da1fff29ad5ceb456 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:10 2015 -0800 sched: cls_flow: use skb_to_full_sk() helper SYNACK packets might be attached to request sockets. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fdd723e2a856b6132d5e7beb2a2d3ec1e6a6297f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:09 2015 -0800 netfilter: xt_owner: use skb_to_full_sk() helper SYNACK packets might be attached to a request socket, xt_owner wants to gte the listener in this case. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8827d90e29e664aa959817467a3da72041ca2269 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:08 2015 -0800 smack: use skb_to_full_sk() helper This module wants to access sk->sk_security, which is not available for request sockets. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54abc686c2d111e98228943a7e1e51cc256e35d9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 8 10:54:07 2015 -0800 net: add skb_to_full_sk() helper and use it in selinux_netlbl_skbuff_setsid() Generalize selinux_skb_sk() added in commit 212cd0895330 ("selinux: fix random read in selinux_ip_postroute_compat()") so that we can use it other contexts. Use it right away in selinux_netlbl_skbuff_setsid() Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb9a10d9d8552acf6f9dee2ecb2d047777821d8b Merge: d0b8914 82aff3e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 8 20:47:26 2015 -0500 Merge tag 'nfc-fixes-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-fixes Samuel Ortiz says: ==================== NFC 4.4 fixes This is the 1st NFC fixes pull request for 4.4. It includes bug fixes and one fix for a build failure, all of them introduced with the first NFC pull request for 4.4. We have: - Fix nfcmrvl SPI driver potential build error due to a broken Kconfig dependency. - A few fixes for the firmware download implementation for the nfcmrvl UART driver. - A GPIO allocation leak for the nfcmrvl driver. - One code simplification for the nfcmrvl DT handling. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0b891415f5e6e3d478cf069e573c70f9d9c0217 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Fri Nov 6 21:38:58 2015 -0800 bpf: doc: correct arch list for supported eBPF JIT aarch64 and s390x support eBPF JIT too, correct document to reflect this and avoid any confusion. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afaa7c542cc9c4d8a99ba252a8ea5e8bc7c897e2 Merge: 6a13feb 4c3dab3 Author: Chris Zankel <chris@xxxxxxxxxx> Date: Sun Nov 8 23:12:47 2015 +0000 Merge tag 'xtensa-for-next-20151109' of git://github.com/jcmvbkbc/linux-xtensa Xtensa improvements for 4.4: - fix remaining issues with noMMU cores; - fix build for cores w/o cache or zero overhead loop options; - fix boot of secondary cores in SMP configuration; - add support for DMA to high memory pages; - add dma_to_phys and phys_to_dma functions. commit e75cb467df29a428612c162e6f1451c5c0717091 Merge: b486598 0aae24e Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun Nov 8 23:52:23 2015 +0100 Merge branch 'master' of git://blackhole.kfki.hu/nf Jozsef Kadlecsik says: ==================== Please apply the next bugfixes against the nf tree. - Fix extensions alignment in ipset: Gerhard Wiesinger reported that the missing data aligments lead to crash on non-intel architecture. The patch was tested on armv7h by Gerhard Wiesinger and on x86_64 and sparc64 by me. - An incorrect index at the hash:* types could lead to falsely early expired entries and memory leak when the comment extension was used too. - Release empty hash bucket block when all entries are expired or all slots are empty instead of shrinkig the data part to zero. ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4c3dab398d1317546d22b27be1a73b2c83ec7153 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sat Nov 7 06:59:51 2015 +0300 xtensa: implement dma_to_phys and phys_to_dma This fixes the following build error seen in -next: drivers/gpu/drm/nouveau/nvkm/subdev/instmem/gk20a.c:143:2: error: implicit declaration of function 'dma_to_phys' Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit c7ca9fe17b84719ef2edbe854e1b0cac04a91e2f Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Oct 9 02:44:23 2015 +0300 xtensa: support DMA to high memory - don't bugcheck if high memory page is passed to xtensa_map_page; - turn empty dcache flush macros into functions so that they could be passed as function parameters; - use kmap_atomic to map high memory pages for cache invalidation/ flushing performed by xtensa_sync_single_for_{cpu,device}. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 14f09e2f9b85076133b795a2d2615f635482de1b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 3 15:12:01 2015 +0100 raid5-cache: add crc32c Kconfig dependency The recent change of the raid5-cache code to use crc32c instead of crc32 causes link errors when CONFIG_LIBCRC32C is disabled: drivers/built-in.o: In function crc32c' core.c:(.text+0x1c6060): undefined reference to `crc32c' This adds an explicit 'select' statement like all other users of this function do. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 5cb2fbd6ea0d ("raid5-cache: use crc32c checksum") Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit aeafbf8486c9e2bd53f5cc3c10c0b7fd7149d69c Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Nov 6 13:33:33 2015 +0000 Btrfs: fix race leading to incorrect item deletion when dropping extents While running a stress test I got the following warning triggered: [191627.672810] ------------[ cut here ]------------ [191627.673949] WARNING: CPU: 8 PID: 8447 at fs/btrfs/file.c:779 __btrfs_drop_extents+0x391/0xa50 [btrfs]() (...) [191627.701485] Call Trace: [191627.702037] [<ffffffff8145f077>] dump_stack+0x4f/0x7b [191627.702992] [<ffffffff81095de5>] ? console_unlock+0x356/0x3a2 [191627.704091] [<ffffffff8104b3b0>] warn_slowpath_common+0xa1/0xbb [191627.705380] [<ffffffffa0664499>] ? __btrfs_drop_extents+0x391/0xa50 [btrfs] [191627.706637] [<ffffffff8104b46d>] warn_slowpath_null+0x1a/0x1c [191627.707789] [<ffffffffa0664499>] __btrfs_drop_extents+0x391/0xa50 [btrfs] [191627.709155] [<ffffffff8115663c>] ? cache_alloc_debugcheck_after.isra.32+0x171/0x1d0 [191627.712444] [<ffffffff81155007>] ? kmemleak_alloc_recursive.constprop.40+0x16/0x18 [191627.714162] [<ffffffffa06570c9>] insert_reserved_file_extent.constprop.40+0x83/0x24e [btrfs] [191627.715887] [<ffffffffa065422b>] ? start_transaction+0x3bb/0x610 [btrfs] [191627.717287] [<ffffffffa065b604>] btrfs_finish_ordered_io+0x273/0x4e2 [btrfs] [191627.728865] [<ffffffffa065b888>] finish_ordered_fn+0x15/0x17 [btrfs] [191627.730045] [<ffffffffa067d688>] normal_work_helper+0x14c/0x32c [btrfs] [191627.731256] [<ffffffffa067d96a>] btrfs_endio_write_helper+0x12/0x14 [btrfs] [191627.732661] [<ffffffff81061119>] process_one_work+0x24c/0x4ae [191627.733822] [<ffffffff810615b0>] worker_thread+0x206/0x2c2 [191627.734857] [<ffffffff810613aa>] ? process_scheduled_works+0x2f/0x2f [191627.736052] [<ffffffff810613aa>] ? process_scheduled_works+0x2f/0x2f [191627.737349] [<ffffffff810669a6>] kthread+0xef/0xf7 [191627.738267] [<ffffffff810f3b3a>] ? time_hardirqs_on+0x15/0x28 [191627.739330] [<ffffffff810668b7>] ? __kthread_parkme+0xad/0xad [191627.741976] [<ffffffff81465592>] ret_from_fork+0x42/0x70 [191627.743080] [<ffffffff810668b7>] ? __kthread_parkme+0xad/0xad [191627.744206] ---[ end trace bbfddacb7aaada8d ]--- $ cat -n fs/btrfs/file.c 691 int __btrfs_drop_extents(struct btrfs_trans_handle *trans, (...) 758 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); 759 if (key.objectid > ino || 760 key.type > BTRFS_EXTENT_DATA_KEY || key.offset >= end) 761 break; 762 763 fi = btrfs_item_ptr(leaf, path->slots[0], 764 struct btrfs_file_extent_item); 765 extent_type = btrfs_file_extent_type(leaf, fi); 766 767 if (extent_type == BTRFS_FILE_EXTENT_REG || 768 extent_type == BTRFS_FILE_EXTENT_PREALLOC) { (...) 774 } else if (extent_type == BTRFS_FILE_EXTENT_INLINE) { (...) 778 } else { 779 WARN_ON(1); 780 extent_end = search_start; 781 } (...) This happened because the item we were processing did not match a file extent item (its key type != BTRFS_EXTENT_DATA_KEY), and even on this case we cast the item to a struct btrfs_file_extent_item pointer and then find a type field value that does not match any of the expected values (BTRFS_FILE_EXTENT_[REG|PREALLOC|INLINE]). This scenario happens due to a tiny time window where a race can happen as exemplified below. For example, consider the following scenario where we're using the NO_HOLES feature and we have the following two neighbour leafs: Leaf X (has N items) Leaf Y [ ... (257 INODE_ITEM 0) (257 INODE_REF 256) ] [ (257 EXTENT_DATA 8192), ... ] slot N - 2 slot N - 1 slot 0 Our inode 257 has an implicit hole in the range [0, 8K[ (implicit rather than explicit because NO_HOLES is enabled). Now if our inode has an ordered extent for the range [4K, 8K[ that is finishing, the following can happen: CPU 1 CPU 2 btrfs_finish_ordered_io() insert_reserved_file_extent() __btrfs_drop_extents() Searches for the key (257 EXTENT_DATA 4096) through btrfs_lookup_file_extent() Key not found and we get a path where path->nodes[0] == leaf X and path->slots[0] == N Because path->slots[0] is >= btrfs_header_nritems(leaf X), we call btrfs_next_leaf() btrfs_next_leaf() releases the path inserts key (257 INODE_REF 4096) at the end of leaf X, leaf X now has N + 1 keys, and the new key is at slot N btrfs_next_leaf() searches for key (257 INODE_REF 256), with path->keep_locks set to 1, because it was the last key it saw in leaf X finds it in leaf X again and notices it's no longer the last key of the leaf, so it returns 0 with path->nodes[0] == leaf X and path->slots[0] == N (which is now < btrfs_header_nritems(leaf X)), pointing to the new key (257 INODE_REF 4096) __btrfs_drop_extents() casts the item at path->nodes[0], slot path->slots[0], to a struct btrfs_file_extent_item - it does not skip keys for the target inode with a type less than BTRFS_EXTENT_DATA_KEY (BTRFS_INODE_REF_KEY < BTRFS_EXTENT_DATA_KEY) sees a bogus value for the type field triggering the WARN_ON in the trace shown above, and sets extent_end = search_start (4096) does the if-then-else logic to fixup 0 length extent items created by a past bug from hole punching: if (extent_end == key.offset && extent_end >= search_start) goto delete_extent_item; that evaluates to true and it ends up deleting the key pointed to by path->slots[0], (257 INODE_REF 4096), from leaf X The same could happen for example for a xattr that ends up having a key with an offset value that matches search_start (very unlikely but not impossible). So fix this by ensuring that keys smaller than BTRFS_EXTENT_DATA_KEY are skipped, never casted to struct btrfs_file_extent_item and never deleted by accident. Also protect against the unexpected case of getting a key for a lower inode number by skipping that key and issuing a warning. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit fdcb4b2e78220bde95ce4ba3213088e3a1f1cec6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 7 09:59:34 2015 +0200 NTB: fix 32-bit compiler warning resource_size_t may be 32-bit wide on some architectures, which causes this warning when building the NTB code: drivers/ntb/ntb_transport.c: In function 'ntb_transport_link_work': drivers/ntb/ntb_transport.c:828:46: warning: right shift count >= width of type [-Wshift-count-overflow] The warning is harmless but can be avoided by using the upper_32_bits() macro. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: e26a5843f7f5 ("NTB: Split ntb_hw_intel and ntb_transport drivers") Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 8b782fab4da771c97a198f6cb496d124dace36fd Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Sep 24 13:03:05 2015 -0700 NTB: unify translation addresses There is no need for the upstream and downstream addresses to be different for the NTB configs. Go to using a single set of address. It is still possible to configure them differently using module parameter override however. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Acked and Tested-by: Allen Hubbe <Allen.Hubbe@xxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit c92ba3c5d97de59c016d1a23ebab17293a792621 Author: Jon Mason <jdmason@xxxxxxxx> Date: Sun Oct 4 22:54:22 2015 -0400 NTB: invalid buf pointer in multi-MW setups Order of operations issue with the QP Num and MW count, which would result in the receive buffer pointer being invalid if there are more than 1 MW. Corrected with parenthesis to enforce the proper order of operations. Reported-by: John I. Kading <John.Kading@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 70d4687d60184915b6f40920041caa1df4f4d033 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 13:39:42 2015 +0530 NTB: remove unused variable These variables were not used anywhere. So remove them. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit d4adee09fd1cf65189cb8901eb7506aea3e869ac Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 13:39:41 2015 +0530 NTB: fix access of free-ed pointer We were accessing nt->mw_vec after freeing it. Fix the error path so that we free nt->mw_vec after we have finished using it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 04afde45e096201f8fd74c1db848a5d85d1aa57d Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Sep 17 13:27:04 2015 -0700 NTB: Fix issue where we may be accessing NULL ptr smatch detected an issue in the function ntb_transport_max_size() where we could be dereferencing a dma channel pointer when it is NULL. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit d0cf62fb63f760e98244d31396b3b58f3a1e326b Author: Helge Deller <deller@xxxxxx> Date: Fri Nov 6 23:36:01 2015 +0100 parisc: Fixes and cleanups in kernel uapi header files This patch fixes some bugs and partly cleans up the parisc uapi header files to what glibc defined: - compat_semid64_ds was wrong and did not take the endianess into account - ipc64_perm exported userspace types which broke building userspace packages on debian (e.g. trinity) - ipc64_perm needs to use a 32bit mode_t on 64bit kernel - msqid64_ds and semid64_ds needs unsigned longs for various struct members - shmid64_ds exported size_t instead of __kernel_size_t And finally add some compile-time checks for the sizes of those structs to avoid future breakage. Runtime-tested with the Linux Test Project (LTP) testsuite. Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+ Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 338f169a456a42905b81ac90fc9d7c00ca4dbde4 Author: Helge Deller <deller@xxxxxx> Date: Wed Oct 28 21:40:18 2015 +0100 parisc: Drop hpux_stat64 struct from stat.h header file The struct hpux_stat64 is not needed any longer since we dropped HP-UX support in commit 04c1614 ("parisc: hpux - Drop support for HP-UX binaries"). Signed-off-by: Helge Deller <deller@xxxxxx> commit 8546d2e5b15e454d2d492a1e9625732980e8eb26 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Mon Oct 19 13:13:52 2015 +0530 iio: adc: vf610_adc: Fix division by zero error In case the fsl,adck-max-frequency property is not present in the device tree, a division by zero error results during the probe call on kernel boot (see below). This patch fixes it and also restores device tree compatibility in case kernels are booting with old device trees without this property specified. [ 1.063229] Division by zero in kernel. [ 1.067152] CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-rc5-00212-gcc88cef #37 [ 1.074650] Hardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree) [ 1.081135] Backtrace: [ 1.083694] [<800134a4>] (dump_backtrace) from [<8001369c>] (show_stack+0x18/0x1c) [ 1.091340] r7:00000008 r6:8e0ae210 r5:00000000 r4:8e299800 [ 1.097146] [<80013684>] (show_stack) from [<80297b1c>] (dump_stack+0x24/0x28) [ 1.104483] [<80297af8>] (dump_stack) from [<80013608>] (__div0+0x1c/0x20) [ 1.111421] [<800135ec>] (__div0) from [<802968b4>] (Ldiv0+0x8/0x10) [ 1.117865] [<80424350>] (vf610_adc_probe) from [<803153b4>] (platform_drv_probe+0x4c/0xac) [ 1.126311] r10:00000000 r9:8076a5ec r8:00000000 r7:fffffdfb r6:807cc67c r5:8e0ae210 [ 1.134319] r4:807f6c54 [ 1.136915] [<80315368>] (platform_drv_probe) from [<803138bc>] (driver_probe_device+0x20c/0x2f8) [ 1.145882] r7:807cc67c r6:00000000 r5:8e0ae210 r4:807f6c54 [ 1.151657] [<803136b0>] (driver_probe_device) from [<80313a3c>] (__driver_attach+0x94/0x98) [ 1.160190] r9:8076a5ec r8:00000098 r7:00000000 r6:8e0ae244 r5:807cc67c r4:8e0ae210 [ 1.168112] [<803139a8>] (__driver_attach) from [<80311cb8>] (bus_for_each_dev+0x70/0xa4) [ 1.176383] r7:00000000 r6:803139a8 r5:807cc67c r4:00000000 [ 1.182159] [<80311c48>] (bus_for_each_dev) from [<80313318>] (driver_attach+0x24/0x28) [ 1.190260] r6:807bb568 r5:8e2a5b00 r4:807cc67c [ 1.194996] [<803132f4>] (driver_attach) from [<80312f50>] (bus_add_driver+0x1a4/0x21c) [ 1.203113] [<80312dac>] (bus_add_driver) from [<803142a8>] (driver_register+0x80/0x100) [ 1.211275] r7:8e2a7dc0 r6:807a8160 r5:80789e14 r4:807cc67c [ 1.217075] [<80314228>] (driver_register) from [<803152f8>] (__platform_driver_register+0x5c/0x64) [ 1.226216] r5:80789e14 r4:807a8160 [ 1.229877] [<8031529c>] (__platform_driver_register) from [<80789e30>] (vf610_adc_driver_init+0x1c/0x20) [ 1.239556] [<80789e14>] (vf610_adc_driver_init) from [<800095f8>] (do_one_initcall+0x94/0x1dc) [ 1.248365] [<80009564>] (do_one_initcall) from [<8076ae34>] (kernel_init_freeable+0x13c/0x1e0) [ 1.257155] r10:80794830 r9:8076a5ec r8:00000098 r7:807d5780 r6:807d5780 r5:00000006 [ 1.265153] r4:807a0ee8 [ 1.267753] [<8076acf8>] (kernel_init_freeable) from [<80590ef0>] (kernel_init+0x18/0xf0) [ 1.276021] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:80590ed8 [ 1.284015] r4:807d5780 [ 1.286615] [<80590ed8>] (kernel_init) from [<8000f878>] (ret_from_fork+0x14/0x3c) [ 1.294278] r5:80590ed8 r4:00000000 Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3bc27cdfe989906fb025204c68a6f85b07b3a192 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 16 13:31:27 2015 +0200 h8300: Don't set CROSS_COMPILE unconditionally The h8300 architecture Makefile sets the CROSS_COMPILE variable to "h8300-unknown-linux-" unconditionally but doing that prevents the variable to be used if a toolchain with a different binary name is installed in the machine. So only set CROSS_COMPILE to that default if the variable has not been set by the user before. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> commit a02613a4ba679eacec8251976d02809d533fa717 Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 16 13:56:06 2015 +0900 asm-generic: {get,put}_user ptr argument evaluate only 1 time Current implemantation ptr argument evaluate 2 times. It'll be an unexpected result. Changes v5: Remove unnecessary const. Changes v4: Temporary pointer type change to const void* Changes v3: Some build error fix. Changes v2: Argument x protect. Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit a795239b698d3f7c455b7f8841f5c62d20eefb23 Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Fri Jun 12 17:57:24 2015 +0900 h8300: bit io fix "WU" constraint required memory address. Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit 78f02cac9515127efd7dc45e82bbbdb969b3302a Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 31 23:42:37 2015 +0900 h8300: zImage fix - stack fix - configure base address Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit 780ffcd51cb287174e2d5cfe5ece2a7e73db6f37 Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 31 23:34:22 2015 +0900 h8300: register address fix Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit 75078de4ac2901315b77dd813ae2bcb6a5fc1238 Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 31 23:28:17 2015 +0900 h8300: Fix alignment for .data Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit aca2518064556ae5658974d78cb71f4883911d3d Author: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Date: Sun May 31 23:25:35 2015 +0900 h8300: unaligned divcr register support. DIVCR is unaligned long word. So we need adjustment for long word align. Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> commit 1e3929ef0e1c4c7127b785ce7a236965b3739406 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 23:48:32 2015 +0100 rtc: Add a driver for Micro Crystal RV8803 This driver supports the following functions: - reading and settings time - alarms when connected to an IRQ - reading and clearing the voltage low flags - nvram Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit fb4ac3c14b07a6fd33a399845273661172ed282d Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Sun Nov 1 20:49:04 2015 +0900 rtc: s3c: Set year, month, day value for setting alarm This patch sets year, month, day value for set_alarm function. The current driver omits to set the values. This fixes setting wake alarm for dates different than current day. Without the patch the alarm scheduled for tomorrow would fire today on chosen time. Signed-off-by: Donggeun Kim <dg77.kim@xxxxxxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.kim@xxxxxxxxxxx> Signed-off-by: KyungMin Park <kyungmin.park@xxxxxxxxxxx> [k.kozlowski: Rebase and test the patch, update commit message] Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 62c8c20af92ea312ecb22cec4e83082e5843076b Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Oct 23 09:29:57 2015 +0300 rtc: ds1307: Fix alarm programming for mcp794xx mcp794xx alarm registers must be written in BCD format. However, the alarm programming logic neglected this by adding one to the value after bin2bcd conversion has been already done, writing bad values to month register in case the alarm being set is in October. In this case, the alarm month value becomes 0x0a instead of the expected 0x10. Fix by moving the +1 addition within the bin2bcd call also. Fixes: 1d1945d261a2 ("drivers/rtc/rtc-ds1307.c: add alarm support for mcp7941x chips") Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f4b6722248e4991a65e545d6b19e4497202e8a8a Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Wed Oct 21 11:10:01 2015 +0100 rtc: isl12057: enable support for the standard "wakeup-source" property Though the isl12057 rtc driver should and will continue to support the legacy "isil,irq2-can-wakeup-machine" property to enable RTC as the wakeup source, we need to add support for the new standard property "wakeup-source". This patch adds support for "wakeup-source" property in addition to the existing "isil,irq2-can-wakeup-machine" property. Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 347e40f0302c7e817e64256284b9e69a8b2711d2 Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Wed Oct 21 11:10:00 2015 +0100 rtc: opal: enable support for the stardard "wakeup-source" property Though the opal rtc driver should and will continue to support the legacy "has-tpo" property to enable RTC as the wakeup source, we need to add support for the new standard property "wakeup-source" This patch adds support for "wakeup-source" property in addition to the existing "has-tpo" property. Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7a96f2874c524a0f42b8c8f2ac03da3f02c96194 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sun Oct 18 22:06:22 2015 -0200 rtc: isl1208: Pass the IRQF_ONESHOT flag Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. So pass the IRQF_ONESHOT flag in this case. The semantic patch that makes this change is available in scripts/coccinelle/misc/irqf_oneshot.cocci Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a39a6405d5f949bc651694028a55d74c514ef1f9 Author: Heiko Schocher <hs@xxxxxxx> Date: Fri Oct 16 13:31:29 2015 +0200 rtc: pcf8563: add CLKOUT to common clock framework Add the clkout output clk to the common clock framework. Disable the CLKOUT of the RTC after power-up. After power-up/reset of the RTC, CLKOUT is enabled by default, with CLKOUT enabled the RTC chip has 2-3 times higher power consumption. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit dbb812b141f3bf3dbea75353da799da3d3373d53 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 15:14:05 2015 +0200 rtc: davinci: remove incorrect reference to probe function The davinci rtc driver uses the module_platform_driver_probe() helper to call the probe function and mark it as __init, but it also puts a reference into its davinci_rtc_driver function. This will crash if we ever get a deferred probe and the probe function is called again after the init section has been removed. kbuild warns about this: WARNING: vmlinux.o(.data+0x1aa2b4): Section mismatch in reference from the variable davinci_rtc_driver to the function .init.text:davinci_rtc_probe() The variable davinci_rtc_driver references the function __init davinci_rtc_probe() This patch removes the .probe callback from the platform driver, which avoids those problems. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 921372bf5a7c03a05de25a083b852c6b5d9d97a7 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Mon Oct 12 16:39:23 2015 +0800 rtc: at91rm9200: clear RTC alarm status flag prior to suspending As said in the SAMA5D2 datasheet, "Prior to instructing the device to enter ULP mode 1, ... and the internal sources of wake-up must be cleared." This patch is to clear the RTC alarm status flag prior to suspending to avoid the erroneous wake-up activity, as it is often used as the wake-up source for the ULP mode 1. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3cfcb50b48029d84038208a98d1b85ad0dfa8172 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:17:20 2015 +0200 rtc: pcf2127: remove useless driver version A driver version is only really sensible for oot drivers. Also the dev_info about having found a chip only signals that allocating the driver data succeeded and so isn't worth much. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit f97cfddc886bc8f9d4302447f8773239bed854c1 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:17:19 2015 +0200 rtc: pcf2127: fix reading uninitialized value on RTC_READ_VL ioctl The flag reported on the RTC_READ_VL ioctl is only initialized when the date is read out. So the voltage low value doesn't represent reality but the status at the time the date was read (or 0 if the date was not read yet). Moreover when userspace requests a value via an ioctl there is no added benefit to also make a prosa representation of this (and other) values appear in the kernel log so remove the calls to dev_info and the driver data members to track their state. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 24417829936d82b03b156e0d036c3b8f25aa93fd Author: Harald Geyer <harald@xxxxxxxxx> Date: Fri Oct 2 20:18:01 2015 +0000 rtc: stmp3xxx: unify register access macros Use STMP_OFFSET_REG_(SET|CLR) instead of defining _SET and _CLR for STMP3XXX_RTC_CTRL and STMP3XXX_RTC_PERSISTENT0 - no functional changes. Signed-off-by: Harald Geyer <harald@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit ce006ca6d3158466f7d4b32736b8d9c70fd11526 Author: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Fri Oct 2 11:21:11 2015 +0100 rtc: da9063: GPL copyright inconsistency fix Fix misleading and inconsistent copyright header wording. Alter the copyright header text and MODULE_LICENSE macro to ensure the GPL v2 licence description is correctly represented. It will remove the incorrectly LGPL worded text. Words such as "Library" from the line "GNU Library General Public License"; and replace the word "library" with "program" in several other places. The copyright should match the GPL v2 description as specified in the GNU license found here: http://www.gnu.org/licenses/gpl-2.0.html It should also match this copyright text with the correct MODULE_LICENSE macro text as found in the kernel: include/linux/module.h In this case "GNU Public License v2 or later" is linked with "GPL". Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 5413eaba5ae093b0704b5458696922f6518adac4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 23:02:46 2015 +0200 rtc: pcf85063: return an error when date is invalid Return an error when the date is invalid as the policy should be implemented there. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit b1f9d790b59dc04f8813a49a92ddd8651770ffee Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 26 16:25:28 2015 +0200 rtc: rx8025: remove unnecessary braces braces {} are not necessary for single statement blocks Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit caff0cc419d764287675e55bb46405c6e1fe43ee Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Mon Sep 21 16:47:02 2015 +0100 rtc: ds1343: remove misuse of IRQF_NO_SUSPEND flag The IRQF_NO_SUSPEND flag is used to identify the interrupts that should be left enabled so as to allow them to work as expected during the suspend-resume cycle, but doesn't guarantee that it will wake the system from a suspended state, enable_irq_wake is recommended to be used for the wakeup. This patch removes the use of IRQF_NO_SUSPEND flags and uses newly introduce PM wakeup APIs dev_pm_{set,clear}_wake_irq. Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 93a6f9168f2fbeb5bb000ba079e17a11bedc1a62 Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Mon Sep 21 16:46:58 2015 +0100 rtc: ab8500: remove misuse of IRQF_NO_SUSPEND flag The IRQF_NO_SUSPEND flag is used to identify the interrupts that should be left enabled so as to allow them to work as expected during the suspend-resume cycle, but doesn't guarantee that it will wake the system from a suspended state, enable_irq_wake is recommended to be used for the wakeup. This patch removes the use of IRQF_NO_SUSPEND flags and uses newly introduce PM wakeup APIs dev_pm_{set,clear}_wake_irq. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit eff6dd41c2240f49e562b89d50ed3e86485cc4ad Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Mon Sep 21 16:46:57 2015 +0100 rtc: pl031: remove misuse of IRQF_NO_SUSPEND flag The IRQF_NO_SUSPEND flag is used to identify the interrupts that should be left enabled so as to allow them to work as expected during the suspend-resume cycle, but doesn't guarantee that it will wake the system from a suspended state, enable_irq_wake is recommended to be used for the wakeup. This patch removes the use of IRQF_NO_SUSPEND flags and uses newly introduce PM wakeup APIs dev_pm_{set,clear}_wake_irq. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit c35300941656508d37315625d276c5a104823505 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:56 2015 +0200 rtc: opal: fix type of token The variable can take signed values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit fa395fb8fc3206cdd70b046e0b98168576cc71ef Author: Ivan Grimaldi <grimaldi.ivan@xxxxxxxxx> Date: Fri Sep 18 17:27:57 2015 +0200 rtc: ds1390: Add trickle charger device tree binding Introduce a device tree binding for specifying the trickle charger configuration for ds1390. Signed-off-by: Ivan Grimaldi <grimaldi.ivan@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2ec68825fc55d1ddeb04ab861f3bfdbaa8e9f3c4 Author: Ivan Grimaldi <grimaldi.ivan@xxxxxxxxx> Date: Fri Sep 18 17:27:56 2015 +0200 rtc: ds1390: fix ds1390_get_reg return value spi_write_then_read puts in rx_buf the received data starting from the first byte of the rx_buf Signed-off-by: Ivan Grimaldi <grimaldi.ivan@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 94d505e9746a53af79094904ff0aa0cf0952ed58 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Nov 8 14:46:34 2015 +0900 ALSA: oxfw: add an comment to Kconfig for TASCAM FireOne A commit to add support for this model should have added a comment about this model to Kconfig. Fixes: 759a2f40c9fa('ALSA: oxfw: add an entry for TASCAM FireOne') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bad9bc2d466445b0398b78a452b7706a05ebc182 Merge: 66ef349 345c99a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Nov 8 08:22:37 2015 +0100 Merge tag 'perf-core-for-mingo-2' 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: Fixes: - libbpf error reporting improvements, using a strerror interface to more precisely tell the user about problems with the provided scriptlet, be it in C or as a ready made object file (Wang Nan) - Do not be case sensitive when searching for matching 'perf test' entries (Arnaldo Carvalho de Melo) - Inform the user about objdump failures in 'perf annotate' (Andi Kleen) Infrastructure changes: - Improve the LLVM 'perf test' entry, introduce a new ones for BPF and kbuild tests to check the environment used by clang to compile .c scriptlets (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ce5c2d2c256a4c8b523036537cd6be2d6af8f69d Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 16:06:59 2015 -0800 arm64: fixup for mm renames __GFP_WAIT was renamed for __GFP_RECLAIM and the gfpflags_allow_blocking() helper was added. Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad804a0b2a769a0eed29015c53fe395449c09d13 Merge: ab9f2fa 5f2a2d5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 14:32:45 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge second patch-bomb from Andrew Morton: - most of the rest of MM - procfs - lib/ updates - printk updates - bitops infrastructure tweaks - checkpatch updates - nilfs2 update - signals - various other misc bits: coredump, seqfile, kexec, pidns, zlib, ipc, dma-debug, dma-mapping, ... * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (102 commits) ipc,msg: drop dst nil validation in copy_msg include/linux/zutil.h: fix usage example of zlib_adler32() panic: release stale console lock to always get the logbuf printed out dma-debug: check nents in dma_sync_sg* dma-mapping: tidy up dma_parms default handling pidns: fix set/getpriority and ioprio_set/get in PRIO_USER mode kexec: use file name as the output message prefix fs, seqfile: always allow oom killer seq_file: reuse string_escape_str() fs/seq_file: use seq_* helpers in seq_hex_dump() coredump: change zap_threads() and zap_process() to use for_each_thread() coredump: ensure all coredumping tasks have SIGNAL_GROUP_COREDUMP signal: remove jffs2_garbage_collect_thread()->allow_signal(SIGCONT) signal: introduce kernel_signal_stop() to fix jffs2_garbage_collect_thread() signal: turn dequeue_signal_lock() into kernel_dequeue_signal() signals: kill block_all_signals() and unblock_all_signals() nilfs2: fix gcc uninitialized-variable warnings in powerpc build nilfs2: fix gcc unused-but-set-variable warnings MAINTAINERS: nilfs2: add header file for tracing nilfs2: add tracepoints for analyzing reading and writing metadata files ... commit ab9f2faf8f40604551336e5b0a18e0910a57b92c Merge: 75021d2 db7489e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 13:33:07 2015 -0800 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma Pull rdma updates from Doug Ledford: "This is my initial round of 4.4 merge window patches. There are a few other things I wish to get in for 4.4 that aren't in this pull, as this represents what has gone through merge/build/run testing and not what is the last few items for which testing is not yet complete. - "Checksum offload support in user space" enablement - Misc cxgb4 fixes, add T6 support - Misc usnic fixes - 32 bit build warning fixes - Misc ocrdma fixes - Multicast loopback prevention extension - Extend the GID cache to store and return attributes of GIDs - Misc iSER updates - iSER clustering update - Network NameSpace support for rdma CM - Work Request cleanup series - New Memory Registration API" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (76 commits) IB/core, cma: Make __attribute_const__ declarations sparse-friendly IB/core: Remove old fast registration API IB/ipath: Remove fast registration from the code IB/hfi1: Remove fast registration from the code RDMA/nes: Remove old FRWR API IB/qib: Remove old FRWR API iw_cxgb4: Remove old FRWR API RDMA/cxgb3: Remove old FRWR API RDMA/ocrdma: Remove old FRWR API IB/mlx4: Remove old FRWR API support IB/mlx5: Remove old FRWR API support IB/srp: Dont allocate a page vector when using fast_reg IB/srp: Remove srp_finish_mapping IB/srp: Convert to new registration API IB/srp: Split srp_map_sg RDS/IW: Convert to new memory registration API svcrdma: Port to new memory registration API xprtrdma: Port to new memory registration API iser-target: Port to new memory registration API IB/iser: Port to new fast registration API ... commit 75021d28594d9b6fb4d05bbc41f77948a0db0e02 Merge: 6f1da31 8d090f4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 13:05:44 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial updates from Jiri Kosina: "Trivial stuff from trivial tree that can be trivially summed up as: - treewide drop of spurious unlikely() before IS_ERR() from Viresh Kumar - cosmetic fixes (that don't really affect basic functionality of the driver) for pktcdvd and bcache, from Julia Lawall and Petr Mladek - various comment / printk fixes and updates all over the place" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: bcache: Really show state of work pending bit hwmon: applesmc: fix comment typos Kconfig: remove comment about scsi_wait_scan module class_find_device: fix reference to argument "match" debugfs: document that debugfs_remove*() accepts NULL and error values net: Drop unlikely before IS_ERR(_OR_NULL) mm: Drop unlikely before IS_ERR(_OR_NULL) fs: Drop unlikely before IS_ERR(_OR_NULL) drivers: net: Drop unlikely before IS_ERR(_OR_NULL) drivers: misc: Drop unlikely before IS_ERR(_OR_NULL) UBI: Update comments to reflect UBI_METAONLY flag pktcdvd: drop null test before destroy functions commit 6f1da317ac1df15f442b5fd37be7740c7cb55057 Merge: 99aaa9c d64e19d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 12:49:27 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID updates from Jiri Kosina: "Highlights: - Intel Skylake Win8 precision touchpads support fixes/improvements from Mika Westerberg - Lenovo Yoga 2 quirk from Ritesh Raj Sarraf - potential uninitialized buffer access fix in HID core from Richard Purdie - Wacom Intuos and Wacom Cintiq 2 support improvements from Jason Gerecke and Ping Cheng - initiation of sysfs deprecation process for most of the roccat drivers, from the roccat support maintiner Stefan Achatz - quite a few device ID / quirk additions and small fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (30 commits) HID: logitech: Add support for G29 HID: logitech: Simplify wheel detection scheme HID: wacom: Call 'wacom_query_tablet_data' only after 'hid_hw_start' HID: wacom: Fix ABS_MISC reporting for Cintiq Companion 2 HID: wacom: Remove useless conditions from 'wacom_query_tablet_data' HID: wacom: fix Intuos wireless report id issue HID: fix some indenting issues HID: wacom: Expect 'touch_max' touches if HID_DG_CONTACTCOUNT not present HID: wacom: Tie cached HID_DG_CONTACTCOUNT indices to report ID HID: roccat: Fixed resubmit: Deprecating most Roccat sysfs attributes HID: wacom: Report full pressure range for Intuos, Cintiq 13HD Touch HID: wacom: Add support for Cintiq Companion 2 HID: multitouch: Fetch feature reports on demand for Win8 devices HID: sensor-hub: Add quirk for Lenovo Yoga 2 with ITE Chips HID: usbhid: Fix for the WiiU adapter from Mayflash HID: corsair: boolify struct k90_led.removed HID: corsair: Add Corsair Vengeance K90 driver HID: hid-input: allow input_configured callback return errors HID: multitouch: Add suffix for HID_DG_TOUCHPAD HID: i2c-hid: Fill in physical device providing HID functionality ... commit 99aaa9c64be5fe728975109c96ef297f5650883d Merge: 27eb427b e2391a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 12:15:17 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching Pull livepatching fix from Jiri Kosina: "A fix for a kernel oops in case CONFIG_DEBUG_SET_MODULE_RONX is unset (as in such case it's possible for module struct to share a page with executable text, which is currently not being handled with grace) from Josh Poimboeuf" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching: livepatch: Fix crash with !CONFIG_DEBUG_SET_MODULE_RONX commit 03e88ae6b369da2a26a6e09ad165e57d210789cd Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Fri Nov 6 22:07:26 2015 +0300 tracing: Remove unused ftrace_cpu_disabled per cpu variable Since the ring buffer is lockless, there is no need to disable ftrace on CPU. And no one doing so: after commit 68179686ac67cb ("tracing: Remove ftrace_disable/enable_cpu()") ftrace_cpu_disabled stays the same after initialization, nothing changes it. ftrace_cpu_disabled shouldn't be used by any external module since it disables only function and graph_function tracers but not any other tracer. Link: http://lkml.kernel.org/r/1446836846-22239-1-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3694bfbdb3bd5cf6632140c7f7fdf6f31d43ee66 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Nov 7 16:30:34 2015 +0100 dwc_eth_qos: Delete an unnecessary check before the function call "of_node_put" The of_node_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: David S. Miller <davem@xxxxxxxxxxxxx> commit 40baec225765c54eefa870530dd613bad9829bb7 Author: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> Date: Fri Nov 6 17:23:23 2015 -0800 bonding: fix panic on non-ARPHRD_ETHER enslave failure Since commit 7d5cd2ce529b, when bond_enslave fails on devices that are not ARPHRD_ETHER, if needed, it resets the bonding device back to ARPHRD_ETHER by calling ether_setup. Unfortunately, ether_setup clobbers dev->flags, clearing IFF_UP if the bond device is up, leaving it in a quasi-down state without having actually gone through dev_close. For bonding, if any periodic work queue items are active (miimon, arp_interval, etc), those will remain running, as they are stopped by bond_close. At this point, if the bonding module is unloaded or the bond is deleted, the system will panic when the work function is called. This panic is resolved by calling dev_close on the bond itself prior to calling ether_setup. Cc: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> Fixes: 7d5cd2ce5292 ("bonding: correctly handle bonding type change on enslave failure") Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e824de8ae2a00ee71c5bfbadd004d12c6dd85561 Author: Jarod Wilson <jarod@xxxxxxxxxx> Date: Fri Nov 6 09:25:31 2015 -0500 net/qlcnic: fix mac address restore in bond mode 5/6 The bonding driver saves a copy of slaves' original mac address and then assigns whatever mac as needed to the slave, depending on mode. In at least modes 5 and 6 (balance-tlb, balance-alb), it often ends up being the mac address of another slave. On release from the bond, the original mac address is supposed to get restored via a dev_set_mac_address() call in the bonding driver's __bond_release_one() function, which calls the slave's ndo_set_mac_address function, which for qlcnic, is qlcnic_set_mac(). Now, this function tries to be somewhat intelligent and exit early if you're trying to set the mac address to the same thing that is already set. The problem here is that adapter->mac_addr isn't in sync with netdev->dev_addr. The qlcnic driver still has the original mac stored in adapter->mac_addr, while the bonding driver has updated netdev->dev_addr, so qlcnic thinks we're trying to set the same address it already has. I think the way to go here, since the function updates both netdev and adapter's stored mac addresses, is to check if either of them doesn't match the newly requested mac. Simply checking netdev's value only could result in a similar mismatch and non-update, so look at both. CC: Dept-GELinuxNICDev@xxxxxxxxxx CC: netdev@xxxxxxxxxxxxxxx CC: Manish Chopra <manish.chopra@xxxxxxxxxx> Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7b5964d4d0bddf429c44b457172891be000a3d3 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 09:30:29 2015 +0100 fjes: Delete an unnecessary check before the function call "vfree" The vfree() function performs also input parameter validation. 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: David S. Miller <davem@xxxxxxxxxxxxx> commit 15c4f638f3d41bae52105ca4c0c8760afbcbeaab Author: Jens Axboe <axboe@xxxxxx> Date: Tue Oct 27 14:09:51 2015 +0900 directio: add block polling support This adds support for sync O_DIRECT read/write poll support. Signed-off-by: Jens Axboe <axboe@xxxxxx> [hch: split from a larger patch, minor updates] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit a0fa9647a54e81883abd57c5c865d1747f68a577 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Nov 3 20:37:26 2015 -0700 NVMe: add blk polling support Add nvme_poll(), which will check a specific completion queue for command completions. Wire that up to the new block layer poll mechanism. Signed-off-by: Jens Axboe <axboe@xxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit 05229beeddf7e75e2e616ddaad4b70e7fca9528d Author: Jens Axboe <axboe@xxxxxx> Date: Thu Nov 5 10:44:55 2015 -0700 block: add block polling support Add basic support for polling for specific IO to complete. This uses the cookie that blk-mq passes back, which enables the block layer to pass this cookie to the driver to spin for a specific request. This will be combined with request latency tracking, so we can make qualified decisions about when to poll and when not to. For now, for benchmark purposes, we add a sysfs file that controls whether polling is enabled or not. Signed-off-by: Jens Axboe <axboe@xxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit 7b371636fb6d187873d9d2730c2b1febc48a9b47 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Nov 5 10:41:40 2015 -0700 blk-mq: return tag/queue combo in the make_request_fn handlers Return a cookie, blk_qc_t, from the blk-mq make request functions, that allows a later caller to uniquely identify a specific IO. The cookie doesn't mean anything to the caller, but the caller can use it to later pass back to the block layer. The block layer can then identify the hardware queue and request from that cookie. Signed-off-by: Jens Axboe <axboe@xxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit dece16353ef47d8d33f5302bc158072a9d65e26f Author: Jens Axboe <axboe@xxxxxx> Date: Thu Nov 5 10:41:16 2015 -0700 block: change ->make_request_fn() and users to return a queue cookie No functional changes in this patch, but it prepares us for returning a more useful cookie related to the IO that was queued up. Signed-off-by: Jens Axboe <axboe@xxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> commit 8c1c5f263833ec2dc8fd716cf4281265c485d7ad Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Sat Nov 7 12:46:11 2015 +0800 ubifs: introduce UBIFS_ATIME_SUPPORT to ubifs To make ubifs support atime flexily, this commit introduces a Kconfig option named as UBIFS_ATIME_SUPPORT. With UBIFS_ATIME_SUPPORT=n: ubifs keeps the full compatibility to no_atime from the start of ubifs. =================UBIFS_ATIME_SUPPORT=n======================= -o - no atime -o atime - no atime -o noatime - no atime -o relatime - no atime -o strictatime - no atime -o lazyatime - no atime With UBIFS_ATIME_SUPPORT=y: ubifs supports the atime same with other main stream file systems. =================UBIFS_ATIME_SUPPORT=y======================= -o - default behavior (relatime currently) -o atime - atime support -o noatime - no atime support -o relatime - relative atime support -o strictatime - strict atime support -o lazyatime - lazy atime support Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ab92a20bce3b4c21927cc1ae514c482f50ad3487 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Tue Aug 18 12:38:36 2015 +0800 ubifs: make ubifs_[get|set]xattr atomic This commit make the ubifs_[get|set]xattr protected by ui_mutex. Originally, there is a possibility that ubifs_getxattr to get a wrong value. P1 P2 ---------- ---------- ubifs_getxattr ubifs_setxattr - kfree() - memcpy() - kmemdup() Then ubifs_getxattr() would get a non-sense data. To solve this problem, this commit make the xattr of ubifs_inode updated in atomic. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 0aae24eb409fc429f54ca3809f904f1b91e295e0 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Sat Nov 7 11:24:51 2015 +0100 netfilter: ipset: Fix hash type expire: release empty hash bucket block When all entries are expired/all slots are empty, release the bucket. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit e9dfdc052d018268926ab769d5b7598226713d5a Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Sat Nov 7 11:23:34 2015 +0100 netfilter: ipset: Fix hash:* type expiration Incorrect index was used when the data blob was shrinked at expiration, which could lead to falsely expired entries and memory leak when the comment extension was used too. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 95ad1f4a9358dff1dcf84bf5c9cc84caa9215f7f Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Sat Nov 7 11:21:47 2015 +0100 netfilter: ipset: Fix extension alignment The data extensions in ipset lacked the proper memory alignment and thus could lead to kernel crash on several architectures. Therefore the structures have been reorganized and alignment attributes added where needed. The patch was tested on armv7h by Gerhard Wiesinger and on x86_64, sparc64 by Jozsef Kadlecsik. Reported-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx> Tested-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx> Tested-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit cb68429d155507ec46f1922d2beb7bc637de4836 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sat Nov 7 01:56:05 2015 +0300 sound: fix check for error condition of register_chrdev() init_oss_soundcore() compares returned value of register_chrdev() with -1, while other error codes can be returned. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 04633df0c43d710e5f696b06539c100898678235 Author: Borislav Petkov <bp@xxxxxxx> Date: Thu Nov 5 16:57:56 2015 +0100 x86/cpu: Call verify_cpu() after having entered long mode too When we get loaded by a 64-bit bootloader, kernel entry point is startup_64 in head_64.S. We don't trust any and all bootloaders because some will fiddle with CPU configuration so we go ahead and massage each CPU into sanity again. For example, some dell BIOSes have this XD disable feature which set IA32_MISC_ENABLE[34] and disable NX. This might be some dumb workaround for other OSes but Linux sure doesn't need it. A similar thing is present in the Surface 3 firmware - see https://bugzilla.kernel.org/show_bug.cgi?id=106051 - which sets this bit only on the BSP: # rdmsr -a 0x1a0 400850089 850089 850089 850089 I know, right?! There's not even an off switch in there. So fix all those cases by sanitizing the 64-bit entry point too. For that, make verify_cpu() callable in 64-bit mode also. Requested-and-debugged-by: "H. Peter Anvin" <hpa@xxxxxxxxx> Reported-and-tested-by: Bastien Nocera <bugzilla@xxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1446739076-21303-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 68accac392d859d24adcf1be3a90e41f978bd54c Author: Krzysztof Mazur <krzysiek@xxxxxxxxxxxx> Date: Fri Nov 6 14:18:36 2015 +0100 x86/setup: Fix low identity map for >= 2GB kernel range The commit f5f3497cad8c extended the low identity mapping. However, if the kernel uses more than 2 GB (VMSPLIT_2G_OPT or VMSPLIT_1G memory split), the normal memory mapping is overwritten by the low identity mapping causing a crash. To avoid overwritting, limit the low identity map to cover only memory before kernel range (PAGE_OFFSET). Fixes: f5f3497cad8c "x86/setup: Extend low identity map to cover whole kernel range Signed-off-by: Krzysztof Mazur <krzysiek@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1446815916-22105-1-git-send-email-krzysiek@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f4e342c87776884f0309942a3880ca7e835239f9 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Date: Thu Nov 5 13:56:35 2015 -0500 x86/mm: Skip the hypervisor range when walking PGD The range between 0xffff800000000000 and 0xffff87ffffffffff is reserved for hypervisor and therefore we should not try to follow PGD's indexes corresponding to those addresses. While this has always been a problem, with the new W+X warning mechanism ptdump_walk_pgd_level_core() can now be called during boot, causing a PV Xen guest to crash. [ tglx: Replaced the macro with a readable inline ] Fixes: e1a58320a38d "x86/mm: Warn on W^X mappings" Reported-by: Sander Eikelenboom <linux@xxxxxxxxxxxxxx> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: xen-devel@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1446749795-27764-1-git-send-email-boris.ostrovsky@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3849e91f571dcb48cf2c8143480c59137d44d6bc Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Wed Nov 4 12:49:42 2015 +0100 x86/AMD: Fix last level cache topology for AMD Fam17h systems On AMD Fam17h systems, the last level cache is not resident in the northbridge. Therefore, we cannot assign cpu_llc_id to the same value as Node ID as we have been doing until now. We should rather look at the ApicID bits of the core to provide us the last level cache ID info. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jacob Shin <jacob.w.shin@xxxxxxxxx> Link: http://lkml.kernel.org/r/1446582899-9378-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8c058b0b9c34d8c8d7912880956543769323e2d8 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Tue Nov 3 10:40:14 2015 +0100 x86/irq: Probe for PIC presence before allocating descs for legacy IRQs Commit d32932d02e18 ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces") brought a regression for Hyper-V Gen2 instances. These instances don't have i8259 legacy PIC but they use legacy IRQs for serial port, rtc, and acpi. With this commit included we end up with these IRQs not initialized. Earlier, there was a special workaround for legacy IRQs in mp_map_pin_to_irq() doing mp_irqdomain_map() without looking at nr_legacy_irqs() and now we fail in __irq_domain_alloc_irqs() when irq_domain_alloc_descs() returns -EEXIST. The essence of the issue seems to be that early_irq_init() calls arch_probe_nr_irqs() to figure out the number of legacy IRQs before we probe for i8259 and gets 16. Later when init_8259A() is called we switch to NULL legacy PIC and nr_legacy_irqs() starts to return 0 but we already have 16 descs allocated. Solve the issue by separating i8259 probe from init and calling it in arch_probe_nr_irqs() before we actually use nr_legacy_irqs() information. Fixes: d32932d02e18 ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces") Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1446543614-3621-1-git-send-email-vkuznets@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 354dbaa7ff5b53a0ed1c0f7a9773d5953b3a1bb9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 8 18:56:26 2015 +0300 x86/cpu/intel: Enable X86_FEATURE_NONSTOP_TSC_S3 for Merrifield The Intel Merrifield SoC is a successor of the Intel MID line of SoCs. Let's set the neccessary capability for that chip. See commit c54fdbb2823d (x86: Add cpu capability flag X86_FEATURE_NONSTOP_TSC_S3) for the details. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444319786-36125-1-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 816d2206f0f9953ca854e4ff1a2749a5cbd62715 Merge: d0baf92 1b0e3a0 Author: Dave Airlie <airlied@xxxxxxxxx> Date: Sat Nov 7 17:16:59 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-11-06' of git://anongit.freedesktop.org/drm-intel into drm-next Here's a handful of i915 fixes for drm-next/v4.4. Imre's commit alone should address the remaining warnings galore you experienced on Skylake. Almost all of the rest are also fixes against user or QA reported bugs, with references. * tag 'drm-intel-next-fixes-2015-11-06' of git://anongit.freedesktop.org/drm-intel: drm/i915/skl: disable display side power well support for now drm/i915: Extend DSL readout fix to BDW and SKL. drm/i915: Do graphics device reset under forcewake drm/i915: Skip fence installation for objects with rotated views (v4) drm/i915: add quirk to enable backlight on Dell Chromebook 11 (2015) drm/i915/skl: Prevent unclaimed register writes on skylake. drm/i915: disable CPU PWM also on LPT/SPT backlight disable drm/i915: Fix maxfifo watermark calc on vlv cursor planes drm/i915: add hotplug activation period to hotplug update mask commit d0baf9218cacd9dd606c75f9961f94172b16de12 Merge: e02328f d2e8851 Author: Dave Airlie <airlied@xxxxxxxxx> Date: Sat Nov 7 17:16:29 2015 +1000 Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next One is fix for a regression in 4.3, One irq locking rework. * 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Relax irq locking somewhat drm/vmwgfx: Properly flush cursor updates and page-flips commit 5f2a2d5d423d5337a1392fa016ec23a8a4206006 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Fri Nov 6 16:33:04 2015 -0800 ipc,msg: drop dst nil validation in copy_msg d0edd8528362 ("ipc: convert invalid scenarios to use WARN_ON") relaxed the nil dst parameter check, originally being a full BUG_ON. However, this check seems quite unnecessary when the only purpose is for ceckpoint/restore (MSG_COPY flag): o The copy variable is set initially to nil, apparently as a way of ensuring that prepare_copy is previously called. Which is in fact done, unconditionally at the beginning of do_msgrcv. o There is no concurrency with 'copy' (stack allocated in do_msgrcv). Furthermore, any errors in 'copy' (and thus prepare_copy/copy_msg) should always handled by IS_ERR() family. Therefore remove this check altogether as it can never occur with the current users. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Stanislav Kinsbursky <skinsbursky@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cb7ae262e230064ba282094b7e1f60a092448b72 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Fri Nov 6 16:33:01 2015 -0800 include/linux/zutil.h: fix usage example of zlib_adler32() alder32 was renamed to zlib_adler32 since before 2.6.11. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08d78658f393fefaa2e6507ea052c6f8ef4002a2 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Nov 6 16:32:58 2015 -0800 panic: release stale console lock to always get the logbuf printed out In some cases we may end up killing the CPU holding the console lock while still having valuable data in logbuf. E.g. I'm observing the following: - A crash is happening on one CPU and console_unlock() is being called on some other. - console_unlock() tries to print out the buffer before releasing the lock and on slow console it takes time. - in the meanwhile crashing CPU does lots of printk()-s with valuable data (which go to the logbuf) and sends IPIs to all other CPUs. - console_unlock() finishes printing previous chunk and enables interrupts before trying to print out the rest, the CPU catches the IPI and never releases console lock. This is not the only possible case: in VT/fb subsystems we have many other console_lock()/console_unlock() users. Non-masked interrupts (or receiving NMI in case of extreme slowness) will have the same result. Getting the whole console buffer printed out on crash should be top priority. [akpm@xxxxxxxxxxxxxxxxxxxx: tweak comment text] Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: HATAYAMA Daisuke <d.hatayama@xxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Xie XiuQi <xiexiuqi@xxxxxxxxxx> Cc: Seth Jennings <sjenning@xxxxxxxxxx> Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f8306429c4c75f9e2bf39fcfe990b0af2f7292d Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Fri Nov 6 16:32:55 2015 -0800 dma-debug: check nents in dma_sync_sg* Like dma_unmap_sg, dma_sync_sg* should be called with the original number of entries passed to dma_map_sg, so do the same check in the sync path as we do in the unmap path. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 002edb6f6f2a79bea50de11260ddc9572e6db731 Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Fri Nov 6 16:32:51 2015 -0800 dma-mapping: tidy up dma_parms default handling Many DMA controllers and other devices set max_segment_size to indicate their scatter-gather capability, but have no interest in segment_boundary_mask. However, the existence of a dma_parms structure precludes the use of any default value, leaving them as zeros (assuming a properly kzalloc'ed structure). If a well-behaved IOMMU (or SWIOTLB) then tries to respect this by ensuring a mapped segment does not cross a zero-byte boundary, hilarity ensues. Since zero is a nonsensical value for either parameter, treat it as an indicator for "default", as might be expected. In the process, clean up a bit by replacing the bare constants with slightly more meaningful macros and removing the superfluous "else" statements. [akpm@xxxxxxxxxxxxxxxxxxxx: dma-mapping.h needs sizes.h for SZ_64K] Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Reviewed-by: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8639b46139b0e4ea3b1ab1c274e410ee327f1d89 Author: Ben Segall <bsegall@xxxxxxxxxx> Date: Fri Nov 6 16:32:48 2015 -0800 pidns: fix set/getpriority and ioprio_set/get in PRIO_USER mode setpriority(PRIO_USER, 0, x) will change the priority of tasks outside of the current pid namespace. This is in contrast to both the other modes of setpriority and the example of kill(-1). Fix this. getpriority and ioprio have the same failure mode, fix them too. Eric said: : After some more thinking about it this patch sounds justifiable. : : My goal with namespaces is not to build perfect isolation mechanisms : as that can get into ill defined territory, but to build well defined : mechanisms. And to handle the corner cases so you can use only : a single namespace with well defined results. : : In this case you have found the two interfaces I am aware of that : identify processes by uid instead of by pid. Which quite frankly is : weird. Unfortunately the weird unexpected cases are hard to handle : in the usual way. : : I was hoping for a little more information. Changes like this one we : have to be careful of because someone might be depending on the current : behavior. I don't think they are and I do think this make sense as part : of the pid namespace. Signed-off-by: Ben Segall <bsegall@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Ambrose Feinstein <ambrose@xxxxxxxxxx> Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de90a6bcaede81f35e8caf4566d1006267230377 Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Fri Nov 6 16:32:45 2015 -0800 kexec: use file name as the output message prefix kexec output message misses the prefix "kexec", when Dave Young split the kexec code. Now, we use file name as the output message prefix. Currently, the format of output message: [ 140.290795] SYSC_kexec_load: hello, world [ 140.291534] kexec: sanity_check_segment_list: hello, world Ideally, the format of output message: [ 30.791503] kexec: SYSC_kexec_load, Hello, world [ 79.182752] kexec_core: sanity_check_segment_list, Hello, world Remove the custom prefix "kexec" in output message. Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Acked-by: Dave Young <dyoung@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f930902eb8806cff8dcaef9ff9faf3cfa5fd748 Author: Greg Thelen <gthelen@xxxxxxxxxx> Date: Fri Nov 6 16:32:42 2015 -0800 fs, seqfile: always allow oom killer Since 5cec38ac866b ("fs, seq_file: fallback to vmalloc instead of oom kill processes") seq_buf_alloc() avoids calling the oom killer for PAGE_SIZE or smaller allocations; but larger allocations can use the oom killer via vmalloc(). Thus reads of small files can return ENOMEM, but larger files use the oom killer to avoid ENOMEM. The effect of this bug is that reads from /proc and other virtual filesystems can return ENOMEM instead of the preferred behavior - oom killing something (possibly the calling process). I don't know of anyone except Google who has noticed the issue. I suspect the fix is more needed in smaller systems where there isn't any reclaimable memory. But these seem like the kinds of systems which probably don't use the oom killer for production situations. Memory overcommit requires use of the oom killer to select a victim regardless of file size. Enable oom killer for small seq_buf_alloc() allocations. Fixes: 5cec38ac866b ("fs, seq_file: fallback to vmalloc instead of oom kill processes") Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Greg Thelen <gthelen@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25c6bb76eafe37c8963ae58a6a1bcf4069caeedb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:32:40 2015 -0800 seq_file: reuse string_escape_str() strint_escape_str() escapes input string by given criteria. In case of seq_escape() the criteria is to convert some characters to their octal representation. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b91a318e422a0201a7bd7ac2626eecec6b27ae1 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:32:37 2015 -0800 fs/seq_file: use seq_* helpers in seq_hex_dump() This improves code readability. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d61ba58953fcf708c850bfd90b2858f2ddfbc34c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:34 2015 -0800 coredump: change zap_threads() and zap_process() to use for_each_thread() Change zap_threads() paths to use for_each_thread() rather than while_each_thread(). While at it, change zap_threads() to avoid the nested if's to make the code more readable and lessen the indentation. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Kyle Walker <kwalker@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Stanislav Kozina <skozina@xxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5fa534c987784c4811757a34c425aff3ce3b5037 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:31 2015 -0800 coredump: ensure all coredumping tasks have SIGNAL_GROUP_COREDUMP task_will_free_mem() is wrong in many ways, and in particular the SIGNAL_GROUP_COREDUMP check is not reliable: a task can participate in the coredumping without SIGNAL_GROUP_COREDUMP bit set. change zap_threads() paths to always set SIGNAL_GROUP_COREDUMP even if other CLONE_VM processes can't react to SIGKILL. Fortunately, at least oom-kill case if fine; it kills all tasks sharing the same mm, so it should also kill the process which actually dumps the core. The change in prepare_signal() is not strictly necessary, it just ensures that the patch does not bring another subtle behavioural change. But it reminds us that this SIGNAL_GROUP_EXIT/COREDUMP case needs more changes. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Kyle Walker <kwalker@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Stanislav Kozina <skozina@xxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9317bb9696566e6759203ffcaa80481b725785b3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:28 2015 -0800 signal: remove jffs2_garbage_collect_thread()->allow_signal(SIGCONT) jffs2_garbage_collect_thread() does allow_signal(SIGCONT) for no reason, SIGCONT will wake a stopped task up even if it is ignored. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9a13049e83f346cb1cbd60c64e520a73c396af16 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:25 2015 -0800 signal: introduce kernel_signal_stop() to fix jffs2_garbage_collect_thread() jffs2_garbage_collect_thread() can race with SIGCONT and sleep in TASK_STOPPED state after it was already sent. Add the new helper, kernel_signal_stop(), which does this correctly. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit be0e6f290f78b84a3b21b8c8c46819c4514fe632 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:22 2015 -0800 signal: turn dequeue_signal_lock() into kernel_dequeue_signal() 1. Rename dequeue_signal_lock() to kernel_dequeue_signal(). This matches another "for kthreads only" kernel_sigaction() helper. 2. Remove the "tsk" and "mask" arguments, they are always current and current->blocked. And it is simply wrong if tsk != current. 3. We could also remove the 3rd "siginfo_t *info" arg but it looks potentially useful. However we can simplify the callers if we change kernel_dequeue_signal() to accept info => NULL. 4. Remove _irqsave, it is never called from atomic context. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2e01fabe67ccaff1d59bda01e60a61f5fb0aa7b6 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:32:19 2015 -0800 signals: kill block_all_signals() and unblock_all_signals() It is hardly possible to enumerate all problems with block_all_signals() and unblock_all_signals(). Just for example, 1. block_all_signals(SIGSTOP/etc) simply can't help if the caller is multithreaded. Another thread can dequeue the signal and force the group stop. 2. Even is the caller is single-threaded, it will "stop" anyway. It will not sleep, but it will spin in kernel space until SIGCONT or SIGKILL. And a lot more. In short, this interface doesn't work at all, at least the last 10+ years. Daniel said: Yeah the only times I played around with the DRM_LOCK stuff was when old drivers accidentally deadlocked - my impression is that the entire DRM_LOCK thing was never really tested properly ;-) Hence I'm all for purging where this leaks out of the drm subsystem. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4f05028f8d1af782cfd03d09e0a052e9745dc5ad Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:16 2015 -0800 nilfs2: fix gcc uninitialized-variable warnings in powerpc build Some false positive warnings are reported for powerpc build. The following warnings are reported in http://kisskb.ellerman.id.au/kisskb/buildresult/12519703/ CC fs/nilfs2/super.o fs/nilfs2/super.c: In function 'nilfs_resize_fs': fs/nilfs2/super.c:376:2: warning: 'blocknr' may be used uninitialized in this function [-Wuninitialized] fs/nilfs2/super.c:362:11: note: 'blocknr' was declared here CC fs/nilfs2/recovery.o fs/nilfs2/recovery.c: In function 'nilfs_salvage_orphan_logs': fs/nilfs2/recovery.c:631:21: warning: 'sum' may be used uninitialized in this function [-Wuninitialized] fs/nilfs2/recovery.c:585:32: note: 'sum' was declared here fs/nilfs2/recovery.c: In function 'nilfs_search_super_root': fs/nilfs2/recovery.c:873:11: warning: 'sum' may be used uninitialized in this function [-Wuninitialized] Another similar warning is reported in http://kisskb.ellerman.id.au/kisskb/buildresult/12520079/ CC fs/nilfs2/btree.o fs/nilfs2/btree.c: In function 'nilfs_btree_convert_and_insert': include/asm-generic/bitops/non-atomic.h:105:20: warning: 'bh' may be used uninitialized in this function [-Wuninitialized] fs/nilfs2/btree.c:1859:22: note: 'bh' was declared here This cleans out these warnings by forcing the variables to be initialized. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09ef29e0f6ac9f08ba4cc501ab4a3c33be526343 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:14 2015 -0800 nilfs2: fix gcc unused-but-set-variable warnings Fix the following build warnings: $ make W=1 [...] CC [M] fs/nilfs2/btree.o fs/nilfs2/btree.c: In function 'nilfs_btree_split': fs/nilfs2/btree.c:923:8: warning: variable 'newptr' set but not used [-Wunused-but-set-variable] __u64 newptr; ^ fs/nilfs2/btree.c:922:8: warning: variable 'newkey' set but not used [-Wunused-but-set-variable] __u64 newkey; ^ CC [M] fs/nilfs2/dat.o fs/nilfs2/dat.c: In function 'nilfs_dat_prepare_end': fs/nilfs2/dat.c:158:8: warning: variable 'start' set but not used [-Wunused-but-set-variable] __u64 start; ^ CC [M] fs/nilfs2/segment.o fs/nilfs2/segment.c: In function 'nilfs_segctor_do_immediate_flush': fs/nilfs2/segment.c:2433:6: warning: variable 'err' set but not used [-Wunused-but-set-variable] int err; ^ CC [M] fs/nilfs2/sufile.o fs/nilfs2/sufile.c: In function 'nilfs_sufile_alloc': fs/nilfs2/sufile.c:320:27: warning: variable 'ncleansegs' set but not used [-Wunused-but-set-variable] unsigned long nsegments, ncleansegs, nsus, cnt; ^ CC [M] fs/nilfs2/alloc.o fs/nilfs2/alloc.c: In function 'nilfs_palloc_prepare_alloc_entry': fs/nilfs2/alloc.c:478:38: warning: variable 'groups_per_desc_block' set but not used [-Wunused-but-set-variable] unsigned long n, entries_per_group, groups_per_desc_block; ^ Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c35c7ac5da8ddfd7c6cd1acc29b052a15f437e24 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:11 2015 -0800 MAINTAINERS: nilfs2: add header file for tracing This adds header file "include/trace/events/nilfs2.h" to maintainer-ship of nilfs2 so that updates to the nilfs2 header file go to the mailing list of nilfs2. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a9cd207c23ca4fa5bd5f1092e867e87542e349a3 Author: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:08 2015 -0800 nilfs2: add tracepoints for analyzing reading and writing metadata files This patch adds tracepoints for analyzing requests of reading and writing metadata files. The tracepoints cover every in-place mdt files (cpfile, sufile, and datfile). Example of tracing mdt_insert_new_block(): cp-14635 [000] ...1 30598.199309: nilfs2_mdt_insert_new_block: inode = ffff88022a8d0178 ino = 3 block = 155 cp-14635 [000] ...1 30598.199520: nilfs2_mdt_insert_new_block: inode = ffff88022a8d0178 ino = 3 block = 5 cp-14635 [000] ...1 30598.200828: nilfs2_mdt_insert_new_block: inode = ffff88022a8d0178 ino = 3 block = 253 Signed-off-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: TK Kato <TK.Kato@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 83eec5e6dd10f0b1ab83ee660c8be883b3da7ba8 Author: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:05 2015 -0800 nilfs2: add tracepoints for analyzing sufile manipulation This patch adds tracepoints which would be useful for analyzing segment usage from a perspective of high level sufile manipulation (check, alloc, free). sufile is an important in-place updated metadata file, so analyzing the behavior would be useful for performance turning. example of usage (a case of allocation): $ sudo bin/tpoint nilfs2:nilfs2_segment_usage_allocated Tracing nilfs2:nilfs2_segment_usage_allocated. Ctrl-C to end. segctord-17800 [002] ...1 10671.867294: nilfs2_segment_usage_allocated: sufile = ffff880054f908a8 segnum = 2 segctord-17800 [002] ...1 10675.073477: nilfs2_segment_usage_allocated: sufile = ffff880054f908a8 segnum = 3 Signed-off-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Benixon Dhas <benixon.dhas@xxxxxxx> Cc: TK Kato <TK.Kato@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 44fda114601fa5edebeacecb265f09d802670bc0 Author: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Date: Fri Nov 6 16:32:02 2015 -0800 nilfs2: add a tracepoint for transaction events This patch adds a tracepoint for transaction events of nilfs. With the tracepoint, these events can be tracked: begin, abort, commit, trylock, lock, and unlock. Basically, these events have corresponding functions e.g. begin event corresponds nilfs_transaction_begin(). The unlock event is an exception. It corresponds to the iteration in nilfs_transaction_lock(). Only one tracepoint is introcued: nilfs2_transaction_transition. The above events are distinguished with newly introduced enum. With this tracepoint, we can analyse a critical section of segment constructoin. Sample output by tpoint of perf-tools: cp-4457 [000] ...1 63.266220: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800bf5ccc58 count = 1 flags = 9 state = BEGIN cp-4457 [000] ...1 63.266221: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800bf5ccc58 count = 0 flags = 9 state = COMMIT cp-4457 [000] ...1 63.266221: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800bf5ccc58 count = 0 flags = 9 state = COMMIT segctord-4371 [001] ...1 68.261196: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 0 flags = 10 state = TRYLOCK segctord-4371 [001] ...1 68.261280: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 0 flags = 10 state = LOCK segctord-4371 [001] ...1 68.261877: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 1 flags = 10 state = BEGIN segctord-4371 [001] ...1 68.262116: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 0 flags = 18 state = COMMIT segctord-4371 [001] ...1 68.265032: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 0 flags = 18 state = UNLOCK segctord-4371 [001] ...1 132.376847: nilfs2_transaction_transition: sb = ffff8802112b8800 ti = ffff8800b889bdf8 count = 0 flags = 10 state = TRYLOCK This patch also does trivial cleaning of comma usage in collection stage transition event for consistent coding style. Signed-off-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58497703837048ac501ce56056eb74b4361108fc Author: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:59 2015 -0800 nilfs2: add a tracepoint for tracking stage transition of segment construction This patch adds a tracepoint for tracking stage transition of block collection in segment construction. With the tracepoint, we can analysis the behavior of segment construction in depth. It would be useful for bottleneck detection and debugging, etc. The tracepoint is created with the standard trace API of linux (like ext3, ext4, f2fs and btrfs). So we can analysis with existing tools easily. Of course, more detailed analysis will be possible if we can create nilfs specific analysis tools. Below is an example of event dump with Brendan Gregg's perf-tools (https://github.com/brendangregg/perf-tools). Time consumption between each stage can be obtained. $ sudo bin/tpoint nilfs2:nilfs2_collection_stage_transition Tracing nilfs2:nilfs2_collection_stage_transition. Ctrl-C to end. segctord-14875 [003] ...1 28311.067794: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_INIT segctord-14875 [003] ...1 28311.068139: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_GC segctord-14875 [003] ...1 28311.068139: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_FILE segctord-14875 [003] ...1 28311.068486: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_IFILE segctord-14875 [003] ...1 28311.068540: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_CPFILE segctord-14875 [003] ...1 28311.068561: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_SUFILE segctord-14875 [003] ...1 28311.068565: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_DAT segctord-14875 [003] ...1 28311.068573: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_SR segctord-14875 [003] ...1 28311.068574: nilfs2_collection_stage_transition: sci = ffff8800ce6de000 stage = ST_DONE For capturing transition correctly, this patch adds wrappers for the member scnt of nilfs_cstage. With this change, every transition of the stage can produce trace event in a correct manner. Signed-off-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0c14a9ee79467cd6a04b281577e1e6f74806ab2 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:56 2015 -0800 nilfs2: free unused dat file blocks during garbage collection As a nilfs2 volume ages, the amount of available disk space decreases little by little due to bloat of DAT (disk address translation) metadata file. Even if we delete all files in a file system and free their block addresses from the DAT file through a garbage collection, empty DAT blocks are not freed. This fixes the issue by extending the deallocator of block addresses so that empty data blocks and empty bitmap blocks of DAT are deleted. The following comparison shows the effect of this patch. Each shows disk amount information of a nilfs2 volume that we cleaned out by deleting all files and running gc after having filled 90% of its capacity. Before: Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 500105212 3022844 472072192 1% /test After: Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 500105212 16380 475078656 1% /test Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da019954dd821682d6b2a8330c9c90acb943c456 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:54 2015 -0800 nilfs2: add helper functions to delete blocks from dat file This adds delete functions for data blocks of metadata files using bitmap based allocator. nilfs_palloc_delete_entry_block() deletes an entry block (e.g. block storing dat entries), and nilfs_palloc_delete_bitmap_block() deletes a bitmap block, respectively. These helpers are intended to be used in the successive change on deallocator of block addresses ("nilfs2: free unused dat file blocks during garbage collection"). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b22580948c39d71fb150c1d53148a381011dd109 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:51 2015 -0800 nilfs2: get rid of nilfs_palloc_group_is_in() This unfolds nilfs_palloc_group_is_in() helper function into nilfs_palloc_freev() function to simplify a range check and an index calculation repeatedy performed in a loop of the function. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 18c41b37f0f16a0d6e5b1a73563d0c1333e7ef70 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:48 2015 -0800 nilfs2: refactor nilfs_palloc_find_available_slot() The current implementation of nilfs_palloc_find_available_slot() function is overkill. The underlying bit search routine is well optimized, so this uses it more simply in nilfs_palloc_find_available_slot(). Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4e9e63a671fbe13f448fb2e69dfdbb6c2a008368 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:45 2015 -0800 nilfs2: do not call nilfs_mdt_bgl_lock() needlessly In the bitmap based allocator implementation, nilfs_mdt_bgl_lock() helper is frequently used to get a spinlock protecting a target block group. This reduces its usage and simplifies arguments of some related functions by directly passing a pointer to the spinlock. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b7bed712d090c340b97d455c5cb62d151e004503 Author: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Date: Fri Nov 6 16:31:43 2015 -0800 nilfs2: use nilfs_warning() in allocator implementation This uses nilfs_warning() to replace "printk(KERN_WARNING ...);" in the bitmap based allocator implementation of nilfs2. The warning messages are modified to include the device name and the inode number in each message. This makes it clear which metadata file of which device has output warnings such as "entry number xxxx already freed". Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da80a39fc962ceca085ddfb7d63e00309b305f17 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Nov 6 16:31:40 2015 -0800 nilfs2: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6d32f7a391466ed89d8a1018fdff5330766cc272 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Nov 6 16:31:37 2015 -0800 checkpatch: improve the unnecessary initialisers tests Global and static variables don't need to be initialized to 0. There is already a test for this but the output message doesn't mention booleans initialized to false. Improve the output message and the test by adding various forms with possible specific integer types and possible multiple zeros. Miscellanea: o Use a variable to hold the possible 0 test Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Shailendra Verma <shailendra.v@xxxxxxxxxxx> Tested-by: Shailendra Verma <shailendra.v@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 369c8dd390baffd77b892b563d03f800e65d2dfa Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Nov 6 16:31:34 2015 -0800 checkpatch: improve tests for fixes:, long lines and stack dumps in commit log Including BUG and stack dumps in commit logs makes checkpatch produce some false positive warning messages. checkpatch has multiple types of false positives: o Commit message lines > 75 chars o Stack dump address are mistaken for git commit IDs o Link: and Fixes: lines are allowed to be > 75 chars. o Fixes: style doesn't require ("<commit_description>") parentheses and double quotes like other uses of git commit ID and description. Fix these. Miscellanea: o Move the test for checking $commit_log_possible_stack_dump above the test for a long line commit message o Add test for hex address surrounded by square or angle brackets Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f029f540c2f7e010e4922d44ba0dfd05da79f88 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:31:31 2015 -0800 lib/hexdump.c: truncate output in case of overflow There is a classical off-by-one error in case when we try to place, for example, 1+1 bytes as hex in the buffer of size 6. The expected result is to get an output truncated, but in the reality we get 6 bytes filed followed by terminating NUL. Change the logic how we fill the output in case of byte dumping into limited space. This will follow the snprintf() behaviour by truncating output even on half bytes. Fixes: 114fc1afb2de (hexdump: make it return number of bytes placed in buffer) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reported-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8de1ee7ebfb4979c6444e81273e12e7a972c367d Author: Cody P Schafer <dev@xxxxxxxxxx> Date: Fri Nov 6 16:31:28 2015 -0800 rbtree: clarify documentation of rbtree_postorder_for_each_entry_safe() I noticed that commit a20135ffbc44 ("writeback: don't drain bdi_writeback_congested on bdi destruction") added a usage of rbtree_postorder_for_each_entry_safe() in mm/backing-dev.c which appears to try to rb_erase() elements from an rbtree while iterating over it using rbtree_postorder_for_each_entry_safe(). Doing this will cause random nodes to be missed by the iteration because rb_erase() may rebalance the tree, changing the ordering that we're trying to iterate over. The previous documentation for rbtree_postorder_for_each_entry_safe() wasn't clear that this wasn't allowed, it was taken from the docs for list_for_each_entry_safe(), where erasing isn't a problem due to list_del() not reordering. Explicitly warn developers about this potential pit-fall. Note that I haven't fixed the actual issue that (it appears) the commit referenced above introduced (not familiar enough with that code). In general (and in this case), the patterns to follow are: - switch to rb_first() + rb_erase(), don't use rbtree_postorder_for_each_entry_safe(). - keep the postorder iteration and don't rb_erase() at all. Instead just clear the fields of rb_node & cgwb_congested_tree as required by other users of those structures. [akpm@xxxxxxxxxxxxxxxxxxxx: tweak comments] Signed-off-by: Cody P Schafer <dev@xxxxxxxxxx> Cc: John de la Garza <john@xxxxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 90224350eaaf8b8043b19c393048f732bc2e4120 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:31:26 2015 -0800 lib/is_single_threaded.c: change current_is_single_threaded() to use for_each_thread() Change current_is_single_threaded() to use for_each_thread() rather than deprecated while_each_thread(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f773f32d71a4ed9a645634da107cd249e09e1180 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:31:23 2015 -0800 lib/kobject.c: use kvasprintf_const for formatting ->name Sometimes kobject_set_name_vargs is called with a format string conaining no %, or a format string of precisely "%s", where the single vararg happens to point to .rodata. kvasprintf_const detects these cases for us and returns a copy of that pointer instead of duplicating the string, thus saving some run-time memory. Otherwise, it falls back to kvasprintf. We just need to always deallocate ->name using kfree_const. Unfortunately, the dance we need to do to perform the '/' -> '!' sanitization makes the resulting code rather ugly. I instrumented kstrdup_const to provide some statistics on the memory saved, and for me this gave an additional ~14KB after boot (306KB was already saved; this patch bumped that to 320KB). I have KMALLOC_SHIFT_LOW==3, and since 80% of the kvasprintf_const hits were satisfied by an 8-byte allocation, the 14K would roughly be quadrupled when KMALLOC_SHIFT_LOW==5. Whether these numbers are sufficient to justify the ugliness I'll leave to others to decide. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0a9df786a6ae2f898114bdd242b64920dedf53bd Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:31:20 2015 -0800 lib/kasprintf.c: introduce kvasprintf_const This adds kvasprintf_const which tries to use kstrdup_const if possible: If the format string contains no % characters, or if the format string is exactly "%s", we delegate to kstrdup_const. Otherwise, we fall back to kvasprintf. Just as for kstrdup_const, the main motivation is to save memory by reusing .rodata when possible. The return value should be freed by kfree_const, just like for kstrdup_const. There is deliberately no kasprintf_const: In the vast majority of cases, the format string argument is a literal, so one can determine statically whether one could instead use kstrdup_const directly (which would also require one to change all corresponding kfree calls to kfree_const). Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2cf12f821cd4f996bfabeec23d8f25e7a2052a28 Author: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Date: Fri Nov 6 16:31:17 2015 -0800 lib/llist.c: fix data race in llist_del_first llist_del_first reads entry->next, but it did not acquire visibility over the entry node. As the result it can get a stale value of entry->next (e.g. NULL or whatever garbage was there before the appending thread wrote correct value). And then commit that value as llist head with cmpxchg. That will corrupt llist. Note there is a control-dependency between read of head->first and read of entry->next, but it does not make the code correct. Kernel memory model unambiguously says: "A load-load control dependency requires a full read memory barrier". Use smp_load_acquire to acquire visibility over the entry node. The data race was found with KernelThreadSanitizer (KTSAN). Here is an example of KTSAN report: ThreadSanitizer: data-race in llist_del_first Read of size 1 by thread T389 (K2630, CPU0): [<ffffffff8156b8a9>] llist_del_first+0x39/0x70 lib/llist.c:74 [< inlined >] tty_buffer_alloc drivers/tty/tty_buffer.c:181 [<ffffffff81664af4>] __tty_buffer_request_room+0xb4/0x250 drivers/tty/tty_buffer.c:292 [<ffffffff81664e6c>] tty_insert_flip_string_fixed_flag+0x6c/0x150 drivers/tty/tty_buffer.c:337 [< inlined >] tty_insert_flip_string include/linux/tty_flip.h:35 [<ffffffff81667422>] pty_write+0x72/0xc0 drivers/tty/pty.c:110 [< inlined >] process_output_block drivers/tty/n_tty.c:611 [<ffffffff8165c016>] n_tty_write+0x346/0x7f0 drivers/tty/n_tty.c:2401 [< inlined >] do_tty_write drivers/tty/tty_io.c:1159 [<ffffffff816568df>] tty_write+0x21f/0x3f0 drivers/tty/tty_io.c:1245 [<ffffffff8125f00f>] __vfs_write+0x5f/0x1f0 fs/read_write.c:489 [<ffffffff8125ff8f>] vfs_write+0xef/0x280 fs/read_write.c:538 [< inlined >] SYSC_write fs/read_write.c:585 [<ffffffff81261390>] SyS_write+0x70/0xe0 fs/read_write.c:577 [<ffffffff81ee862e>] entry_SYSCALL_64_fastpath+0x12/0x71 arch/x86/entry/entry_64.S:186 Previous write of size 8 by thread T226 (K761, CPU0): [<ffffffff8156b832>] llist_add_batch+0x32/0x70 lib/llist.c:44 (discriminator 16) [< inlined >] llist_add include/linux/llist.h:180 [<ffffffff816649fc>] tty_buffer_free+0x6c/0xb0 drivers/tty/tty_buffer.c:221 [<ffffffff816651e7>] flush_to_ldisc+0x107/0x300 drivers/tty/tty_buffer.c:514 [<ffffffff810b20ee>] process_one_work+0x47e/0x930 kernel/workqueue.c:2036 [<ffffffff810b2650>] worker_thread+0xb0/0x900 kernel/workqueue.c:2170 [<ffffffff810bbe20>] kthread+0x150/0x170 kernel/kthread.c:209 [<ffffffff81ee8a1f>] ret_from_fork+0x3f/0x70 arch/x86/entry/entry_64.S:526 Signed-off-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Huang Ying <ying.huang@xxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 943ba6503802a46318cb9f5ab45be31d42e6f884 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Fri Nov 6 16:31:14 2015 -0800 lib/test-string_helpers.c: add string_get_size() tests Add a couple of simple tests for string_get_size(). The last one will hang the kernel without the 'lib/string_helpers.c: fix infinite loop in string_get_size()' fix. Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: James Bottomley <JBottomley@xxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c78bc170f393317dfa9d57baa599a51061ea86a Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Fri Nov 6 16:31:11 2015 -0800 lib/halfmd4.c: use rol32 inline function in the ROUND macro <linux/bitops.h> provides rol32() inline function, let's use already predefined function instead of direct expression. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 78e3c7951021b4e1a554b3d619506b55b0619073 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Nov 6 16:31:08 2015 -0800 arch/x86/kernel/cpu/perf_event_msr.c: use sign_extend64() for sign extension Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 06d8f8178c5709ff21cfbe16b6c078d2669b6e80 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Nov 6 16:31:05 2015 -0800 arch/sh/kernel/traps_64.c: use sign_extend64() for sign extension Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 48e203e21b29cd4b2c58403fe8bca68e2e854895 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Nov 6 16:31:02 2015 -0800 bitops.h: add sign_extend64() Months back, this was discussed, see https://lkml.org/lkml/2015/1/18/289 The result was the 64-bit version being "likely fine", "valuable" and "correct". The discussion fell asleep but since there are possible users, let's add it. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e2eb53aa96754b97d158eff884dde88abbad925e Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Nov 6 16:30:58 2015 -0800 bitops.h: improve sign_extend32()'s documentation It is often overlooked that sign_extend32(), despite its name, is safe to use for 16 and 8 bit types as well. This should help prevent sign extension being done manually some other way. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Yury Norov <yury.norov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd2c3e7f94f3d8210320bfb9b5712bdcbb12f8db Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Nov 6 16:30:55 2015 -0800 MAINTAINERS: add missing extcon directory Add the missing extcon directory to maintain them. When using get_maintainer.pl, the result should include the correct maintainer information. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2a7cb1dc82fc2a52e747b4c496c13f6575fb1790 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Nov 6 16:30:52 2015 -0800 get_maintainer: add subsystem to reviewer output Reviewer output currently does not include the subsystem that matched. Add it. Miscellanea: o Add a get_subsystem_name routine to centralize this Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4f07510df2e8c47fd65b8ffaaf6c5d334d59d598 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Nov 6 16:30:49 2015 -0800 get_maintainer: --r (list reviewer) is on by default We don't consistenly document the default value next to the option listing, but we do have a list of defaults here, so let's keep it up to date. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1312bfe61c08684f7325f17858933017bae7f59 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Nov 6 16:30:46 2015 -0800 get_maintainer: add --no-foo options to --help Many flag options are boolean and support both a positive and a negative invocation from the command line. Some of these are even mentioned by example (e.g., --nogit is mentioned as a default option), but they aren't explicitly mentioned in the list of options. It happens that some of these are pretty important, as they are default-on, and to turn them off, you have to know about the --no-foo version. Rather than clutter the whole help text with bracketed '--[no]foo', let's just mention the general rule, a la 'man gcc'. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cc7ff0ef6eca3deeea4a424ca47a67c8450d5424 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Nov 6 16:30:43 2015 -0800 get_maintainer: it's '--pattern-depth', not '-pattern-depth' Though it appears that Perl's GetOptions will take either, the latter is not documented in the options listing. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3cbcca8a80ea30f7e3efb29217193a089484de28 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Nov 6 16:30:41 2015 -0800 get_maintainer: add missing documentation for --git-blame-signatures I really haven't used this option much myself, so feel free to improve on the documentation for it. I just noticed it while inspecting this script for undocumented features. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3824657c522f19f85a76bd932821174a5557a382 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:38 2015 -0800 printk: prevent userland from spoofing kernel messages The following statement of ABI/testing/dev-kmsg is not quite right: It is not possible to inject messages from userspace with the facility number LOG_KERN (0), to make sure that the origin of the messages can always be reliably determined. Userland actually can inject messages with a facility of 0 by abusing the fact that the facility is stored in a u8 data type. By using a facility which is a multiple of 256 the assignment of msg->facility in log_store() implicitly truncates it to 0, i.e. LOG_KERN, allowing users of /dev/kmsg to spoof kernel messages as shown below: The following call... # printf '<%d>Kernel panic - not syncing: beer empty\n' 0 >/dev/kmsg ...leads to the following log entry (dmesg -x | tail -n 1): user :emerg : [ 66.137758] Kernel panic - not syncing: beer empty However, this call... # printf '<%d>Kernel panic - not syncing: beer empty\n' 0x800 >/dev/kmsg ...leads to the slightly different log entry (note the kernel facility): kern :emerg : [ 74.177343] Kernel panic - not syncing: beer empty Fix that by limiting the user provided facility to 8 bit right from the beginning and catch the truncation early. Fixes: 7ff9554bb578 ("printk: convert byte-buffer to variable-length...") Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Petr Mladek <pmladek@xxxxxxx> Cc: Alex Elder <elder@xxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Kay Sievers <kay@xxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d7ec9a05d6defda8432da574a2a888eed6fc29f6 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:35 2015 -0800 lib/vsprintf.c: update documentation %n is no longer just ignored; it results in early return from vsnprintf. Also add a request to add test cases for future %p extensions. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Kletzander <mkletzan@xxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 317dc34ab786d4f22bf7ed8ab546b9ae57f900d0 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Fri Nov 6 16:30:32 2015 -0800 selftests: run lib/test_printf module This runs the lib/test_printf module to make sure printf is operating sanely. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 707cc7280f452a162c52bc240eae62568b9753c2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:29 2015 -0800 test_printf: test printf family at runtime This adds a simple module for testing the kernel's printf facilities. Previously, some %p extensions have caused a wrong return value in case the entire output didn't fit and/or been unusable in kasprintf(). This should help catch such issues. Also, it should help ensure that changes to the formatting algorithms don't break anything. I'm not sure if we have a struct dentry or struct file lying around at boot time or if we can fake one, but most %p extensions should be testable, as should the ordinary number and string formatting. The nature of vararg functions means we can't use a more conventional table-driven approach. For now, this is mostly a skeleton; contributions are very welcome. Some tests are/will be slightly annoying to write, since the expected output depends on stuff like CONFIG_*, sizeof(long), runtime values etc. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Martin Kletzander <mkletzan@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80c9eb46fa7236c1236ec695bfa2403c10cb8645 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:26 2015 -0800 lib/vsprintf.c: remove SPECIAL handling in pointer() As a quick git grep -E '%[ +0#-]*#[ +0#-]*(\*|[0-9]+)?(\.(\*|[0-9]+)?)?p' shows, nobody uses the # flag with %p. Should one try to do so, one will be met with warning: `#' flag used with `%p' gnu_printf format [-Wformat] (POSIX and C99 both say "... For other conversion specifiers, the behavior is undefined.". Obviously, the kernel can choose to define the behaviour however it wants, but as long as gcc issues that warning, users are unlikely to show up.) Since default_width is effectively always 2*sizeof(void*), we can simplify the prologue of pointer() and save a few instructions. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Martin Kletzander <mkletzan@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 762abb515415a5a4a37423f4f4ff5770d5a14bac Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:23 2015 -0800 lib/vsprintf.c: also improve sanity check in bstr_printf() Quoting from 2aa2f9e21e4e ("lib/vsprintf.c: improve sanity check in vsnprintf()"): On 64 bit, size may very well be huge even if bit 31 happens to be 0. Somehow it doesn't feel right that one can pass a 5 GiB buffer but not a 3 GiB one. So cap at INT_MAX as was probably the intention all along. This is also the made-up value passed by sprintf and vsprintf. I should have seen this copy-pasted instance back then, but let's just do it now. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Martin Kletzander <mkletzan@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b006f19b055f90b73e97086490f95b83095dcc91 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:20 2015 -0800 lib/vsprintf.c: handle invalid format specifiers more robustly If we meet any invalid or unsupported format specifier, 'handling' it by just printing it as a literal string is not safe: Presumably the format string and the arguments passed gcc's type checking, but that means something like sprintf(buf, "%n %pd", &intvar, dentry) would end up interpreting &intvar as a struct dentry*. When the offending specifier was %n it used to be at the end of the format string, but we can't rely on that always being the case. Also, gcc doesn't complain about some more or less exotic qualifiers (or 'length modifiers' in posix-speak) such as 'j' or 'q', but being unrecognized by the kernel's printf implementation, they'd be interpreted as unknown specifiers, and the rest of arguments would be interpreted wrongly. So let's complain about anything we don't understand, not just %n, and stop pretending that we'd be able to make sense of the rest of the format/arguments. If the offending specifier is in a printk() call we unfortunately only get a "BUG: recent printk recursion!", but at least direct users of the sprintf family will be caught. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Martin Kletzander <mkletzan@xxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e4ee7b13b522d07196e737f399843c58569604d Author: Martin Kletzander <mkletzan@xxxxxxxxxx> Date: Fri Nov 6 16:30:17 2015 -0800 printk: synchronize %p formatting documentation Move all pointer-formatting documentation to one place in the code and one place in the documentation instead of keeping it in three places with different level of completeness. Documentation/printk-formats.txt has detailed information about each modifier, docstring above pointer() has short descriptions of them (as that is the function dealing with %p) and docstring above vsprintf() is removed as redundant. Both docstrings in the code that were modified are updated with a reminder of updating the documentation upon any further change. [akpm@xxxxxxxxxxxxxxxxxxxx: fix comment] Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3e406b1d7c1e5c14c84a71eb4bee5f46ba690401 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:15 2015 -0800 lib/dynamic_debug.c: use kstrdup_const Using kstrdup_const, thus reusing .rodata when possible, saves around 2 kB of runtime memory on my laptop/.config combination. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit eac44a5e07be41a153e52c35c4d7dc0fec23adb3 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:12 2015 -0800 fs/jffs2/wbuf.c: remove stray semicolon Reported-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9add850c211a39d5ab1a091d48795e21599a73d0 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:09 2015 -0800 include/linux/compiler-gcc.h: improve __visible documentation Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 54708d2858e79a2bdda10bf8a20c80eb96c20613 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Nov 6 16:30:06 2015 -0800 proc: actually make proc_fd_permission() thread-friendly The commit 96d0df79f264 ("proc: make proc_fd_permission() thread-friendly") fixed the access to /proc/self/fd from sub-threads, but introduced another problem: a sub-thread can't access /proc/<tid>/fd/ or /proc/thread-self/fd if generic_permission() fails. Change proc_fd_permission() to check same_thread_group(pid_task(), current). Fixes: 96d0df79f264 ("proc: make proc_fd_permission() thread-friendly") Reported-by: "Jin, Yihua" <yihua.jin@xxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3a49f3d2a10dfb27411d321900197a3d6c52405b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:03 2015 -0800 fs/proc/array.c: set overflow flag in case of error For now in task_name() we ignore the return code of string_escape_str() call. This is not good if buffer suddenly becomes not big enough. Do the proper error handling there. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1965c8b7ac7dd147663faf77a66a693ac3ddcb85 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:30:00 2015 -0800 mm: use 'unsigned int' for compound_dtor/compound_order on 64BIT On 64 bit system we have enough space in struct page to encode compound_dtor and compound_order with unsigned int. On x86-64 it leads to slightly smaller code size due usesage of plain MOV instead of MOVZX (zero-extended move) or similar effect. allyesconfig: text data bss dec hex filename 159520446 48146736 72196096 279863278 10ae5fee vmlinux.pre 159520382 48146736 72196096 279863214 10ae5fae vmlinux.post On other architectures without native support of 16-bit data types the Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d00181b96eb86c914cb327d1de974a1b71366e1b Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:57 2015 -0800 mm: use 'unsigned int' for page order Let's try to be consistent about data type of page order. [sfr@xxxxxxxxxxxxxxxx: fix build (type of pageblock_order)] [hughd@xxxxxxxxxx: some configs end up with MAX_ORDER and pageblock_order having different types] Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1d798ca3f16437c71ff63e36597ff07f9c12e4d6 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:54 2015 -0800 mm: make compound_head() robust Hugh has pointed that compound_head() call can be unsafe in some context. There's one example: CPU0 CPU1 isolate_migratepages_block() page_count() compound_head() !!PageTail() == true put_page() tail->first_page = NULL head = tail->first_page alloc_pages(__GFP_COMP) prep_compound_page() tail->first_page = head __SetPageTail(p); !!PageTail() == true <head == NULL dereferencing> The race is pure theoretical. I don't it's possible to trigger it in practice. But who knows. We can fix the race by changing how encode PageTail() and compound_head() within struct page to be able to update them in one shot. The patch introduces page->compound_head into third double word block in front of compound_dtor and compound_order. Bit 0 encodes PageTail() and the rest bits are pointer to head page if bit zero is set. The patch moves page->pmd_huge_pte out of word, just in case if an architecture defines pgtable_t into something what can have the bit 0 set. hugetlb_cgroup uses page->lru.next in the second tail page to store pointer struct hugetlb_cgroup. The patch switch it to use page->private in the second tail page instead. The space is free since ->first_page is removed from the union. The patch also opens possibility to remove HUGETLB_CGROUP_MIN_ORDER limitation, since there's now space in first tail page to store struct hugetlb_cgroup pointer. But that's out of scope of the patch. That means page->compound_head shares storage space with: - page->lru.next; - page->next; - page->rcu_head.next; That's too long list to be absolutely sure, but looks like nobody uses bit 0 of the word. page->rcu_head.next guaranteed[1] to have bit 0 clean as long as we use call_rcu(), call_rcu_bh(), call_rcu_sched(), or call_srcu(). But future call_rcu_lazy() is not allowed as it makes use of the bit and we can get false positive PageTail(). [1] http://lkml.kernel.org/g/20150827163634.GD4029@xxxxxxxxxxxxxxxxxx Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f1e61557f0230d51a3df8d825f2c156e75563bff Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:50 2015 -0800 mm: pack compound_dtor and compound_order into one word in struct page The patch halves space occupied by compound_dtor and compound_order in struct page. For compound_order, it's trivial long -> short conversion. For get_compound_page_dtor(), we now use hardcoded table for destructor lookup and store its index in the struct page instead of direct pointer to destructor. It shouldn't be a big trouble to maintain the table: we have only two destructor and NULL currently. This patch free up one word in tail pages for reuse. This is preparation for the next patch. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 32e7ba1ea1f8d1f0ea4983e768f8b566770a55b3 Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:47 2015 -0800 zsmalloc: use page->private instead of page->first_page We are going to rework how compound_head() work. It will not use page->first_page as we have it now. The only other user of page->first_page beyond compound pages is zsmalloc. Let's use page->private instead of page->first_page here. It occupies the same storage space. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bc4f610d5a884eedfeac3b08f2ac87df74a1e55f Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:44 2015 -0800 slab, slub: use page->rcu_head instead of page->lru plus cast We have properly typed page->rcu_head, no need to cast page->lru. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 474e4eeaf26b6c3298ca3ae9d0a705b0853efb2a Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Fri Nov 6 16:29:40 2015 -0800 mm: drop page->slab_page Since 8456a648cf44 ("slab: use struct page for slab management") nobody uses slab_page field in struct page. Let's drop it. Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6fe5186f0c7c18a8beb6d96c21e2390df7a12375 Author: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Date: Fri Nov 6 16:29:38 2015 -0800 zsmalloc: reduce size_class memory usage Each `struct size_class' contains `struct zs_size_stat': an array of NR_ZS_STAT_TYPE `unsigned long'. For zsmalloc built with no CONFIG_ZSMALLOC_STAT this results in a waste of `2 * sizeof(unsigned long)' per-class. The patch removes unneeded `struct zs_size_stat' members by redefining NR_ZS_STAT_TYPE (max stat idx in array). Since both NR_ZS_STAT_TYPE and zs_stat_type are compile time constants, GCC can eliminate zs_stat_inc()/zs_stat_dec() calls that use zs_stat_type larger than NR_ZS_STAT_TYPE: CLASS_ALMOST_EMPTY and CLASS_ALMOST_FULL at the moment. ./scripts/bloat-o-meter mm/zsmalloc.o.old mm/zsmalloc.o.new add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-39 (-39) function old new delta fix_fullness_group 97 94 -3 insert_zspage 100 86 -14 remove_zspage 141 119 -22 To summarize: a) each class now uses less memory b) we avoid a number of dec/inc stats (a minor optimization, but still). The gain will increase once we introduce additional stats. A simple IO test. iozone -t 4 -R -r 32K -s 60M -I +Z patched base " Initial write " 4145599.06 4127509.75 " Rewrite " 4146225.94 4223618.50 " Read " 17157606.00 17211329.50 " Re-read " 17380428.00 17267650.50 " Reverse Read " 16742768.00 16162732.75 " Stride read " 16586245.75 16073934.25 " Random read " 16349587.50 15799401.75 " Mixed workload " 10344230.62 9775551.50 " Random write " 4277700.62 4260019.69 " Pwrite " 4302049.12 4313703.88 " Pread " 6164463.16 6126536.72 " Fwrite " 7131195.00 6952586.00 " Fread " 12682602.25 12619207.50 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 6f0b22760b7d8317569252cc7c36cbed22ebe401 Author: Hui Zhu <zhuhui@xxxxxxxxxx> Date: Fri Nov 6 16:29:35 2015 -0800 mm/zsmalloc.c: remove useless line in obj_free() Signed-off-by: Hui Zhu <zhuhui@xxxxxxxxxx> Reviewed-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 2c35169572b84897b43e6f3e9667fd1904451f34 Author: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Date: Fri Nov 6 16:29:32 2015 -0800 zsmalloc: don't test shrinker_enabled in zs_shrinker_count() We don't let user to disable shrinker in zsmalloc (once it's been enabled), so no need to check ->shrinker_enabled in zs_shrinker_count(), at the moment at least. 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 759b26b29885a8ef6101aa554d9990803f6ef792 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Fri Nov 6 16:29:29 2015 -0800 zsmalloc: use preempt.h for in_interrupt() A cosmetic change. Commit c60369f01125 ("staging: zsmalloc: prevent mappping in interrupt context") added in_interrupt() check to zs_map_object() and 'hardirq.h' include; but in_interrupt() macro is defined in 'preempt.h' not in 'hardirq.h', so include it instead. 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 12a7bfad58cd604616dd5205efa6dc2be6f299eb Author: Hui Zhu <zhuhui@xxxxxxxxxx> Date: Fri Nov 6 16:29:26 2015 -0800 zsmalloc: fix obj_to_head use page_private(page) as value but not pointer In obj_malloc(): if (!class->huge) /* record handle in the header of allocated chunk */ link->handle = handle; else /* record handle in first_page->private */ set_page_private(first_page, handle); In the hugepage we save handle to private directly. But in obj_to_head(): if (class->huge) { VM_BUG_ON(!is_first_page(page)); return *(unsigned long *)page_private(page); } else return *(unsigned long *)obj; It is used as a pointer. The reason why there is no problem until now is huge-class page is born with ZS_FULL so it can't be migrated. However, we need this patch for future work: "VM-aware zsmalloced page migration" to reduce external fragmentation. Signed-off-by: Hui Zhu <zhuhui@xxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f958c98f28d088a1ef3e021ab7aeb59a234b953 Author: Hui Zhu <zhuhui@xxxxxxxxxx> Date: Fri Nov 6 16:29:23 2015 -0800 zsmalloc: add comments for ->inuse to zspage [akpm@xxxxxxxxxxxxxxxxxxxx: fix grammar] Signed-off-by: Hui Zhu <zhuhui@xxxxxxxxxx> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6f3526d6db7cbe8b53e42d6bf0cad2072afcf3fe Author: Sergey SENOZHATSKY <sergey.senozhatsky@xxxxxxxxx> Date: Fri Nov 6 16:29:21 2015 -0800 mm: zsmalloc: constify struct zs_pool name Constify `struct zs_pool' ->name. [akpm@xxxxxxxxxxxxxxxxxxx: constify zpool_create_pool()'s `type' arg also] Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 69e18f4dbedfbf208452e9da9979c92da30d2442 Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Fri Nov 6 16:29:18 2015 -0800 zpool: remove redundant zpool->type string, const-ify zpool_get_type Make the return type of zpool_get_type const; the string belongs to the zpool driver and should not be modified. Remove the redundant type field in the struct zpool; it is private to zpool.c and isn't needed since ->driver->type can be used directly. Add comments indicating strings must be null-terminated. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c99b42c3529e5e1bff00f68250dc869f7de3bd5f Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Fri Nov 6 16:29:15 2015 -0800 zswap: use charp for zswap param strings Instead of using a fixed-length string for the zswap params, use charp. This simplifies the code and uses less memory, as most zswap param strings will be less than the current maximum length. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3d9c637f4ae74b45d95bb6cbd793fbffad0a709c Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Fri Nov 6 16:29:12 2015 -0800 module: export param_free_charp() Change the param_free_charp() function from static to exported. It is used by zswap in the next patch ("zswap: use charp for zswap param strings"). Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b0c9865fd2d7a34aa58bb58756ff088d2ec4bbcd Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Fri Nov 6 16:29:09 2015 -0800 mm/zswap.c: remove unneeded initialization to NULL in zswap_entry_find_get() On the next line entry variable will be re-initialized so no need to init it with NULL. Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c53e0d2737f3ce4afa27d5703494eb14610ec26 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Fri Nov 6 16:29:06 2015 -0800 zram: make is_partial_io/valid_io_request/page_zero_filled return boolean Make is_partial_io()/valid_io_request()/page_zero_filled() return boolean, since each function only uses either one or zero as its return value. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Reviewed-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 1237275580f3e2b998d355b2ff7f84c6b423aa11 Author: Sergey SENOZHATSKY <sergey.senozhatsky@xxxxxxxxx> Date: Fri Nov 6 16:29:04 2015 -0800 zram: keep the exact overcommited value in mem_used_max `mem_used_max' is designed to store the max amount of memory zram consumed to store the data. However, it does not represent the actual 'overcommited' (max) value. The existing code goes to -ENOMEM overcommited case before it updates `->stats.max_used_pages', which hides the reason we went to -ENOMEM in the first place -- we actually used more memory than `->limit_pages': alloced_pages = zs_get_total_pages(meta->mem_pool); if (zram->limit_pages && alloced_pages > zram->limit_pages) { zs_free(meta->mem_pool, handle); ret = -ENOMEM; goto out; } update_used_max(zram, alloced_pages); Which is misleading. User will see -ENOMEM, check `->limit_pages', check `->stats.max_used_pages', which will keep the value BEFORE zram passed `->limit_pages', and see: `->stats.max_used_pages' < `->limit_pages' Move update_used_max() before we do `->limit_pages' check, so that user will see: `->stats.max_used_pages' > `->limit_pages' should the overcommit and -ENOMEM happen. 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 1d5b43bfb60f7ba2b51792978a6b0781d4ebba93 Author: Luis Henriques <luis.henriques@xxxxxxxxxxxxx> Date: Fri Nov 6 16:29:01 2015 -0800 zram: introduce comp algorithm fallback functionality When the user supplies an unsupported compression algorithm, keep the previously selected one (knowingly supported) or the default one (if the compression algorithm hasn't been changed yet). Note that previously this operation (i.e. setting an invalid algorithm) would result in no algorithm being selected, which means that this represents a small change in the default behaviour. Minchan said: For initializing zram, we need to set up 3 optional parameters in advance. 1. the number of compression streams 2. memory limitation 3. compression algorithm Although user pass completely wrong value to set up for 1 and 2 parameters, it's okay because they have default value so zram will be initialized with the default value (of course, when user passes a wrong value via *echo*, sysfs returns -EINVAL so the user can notice it). But 3 is not consistent with other optional parameters. IOW, if the user passes a wrong value to set up 3 parameter, zram's initialization would fail unlike other optional parameters. So this patch makes them consistent. Signed-off-by: Luis Henriques <luis.henriques@xxxxxxxxxxxxx> Acked-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 6f6461562e8805784538fa469e9a538cd2b3d553 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:58 2015 -0800 mm/memcontrol.c: uninline mem_cgroup_usage gcc version 5.2.1 20151010 (Debian 5.2.1-22) $ size mm/memcontrol.o mm/memcontrol.o.before text data bss dec hex filename 35535 7908 64 43507 a9f3 mm/memcontrol.o 35762 7908 64 43734 aad6 mm/memcontrol.o.before Cc: Michal Hocko <mhocko@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 23d0127096cb91cb6d354bdc71bd88a7bae3a1d5 Author: Jan Kara <jack@xxxxxxxx> Date: Fri Nov 6 16:28:55 2015 -0800 fs/sync.c: make sync_file_range(2) use WB_SYNC_NONE writeback sync_file_range(2) is documented to issue writeback only for pages that are not currently being written. After all the system call has been created for userspace to be able to issue background writeout and so waiting for in-flight IO is undesirable there. However commit ee53a891f474 ("mm: do_sync_mapping_range integrity fix") switched do_sync_mapping_range() and thus sync_file_range() to issue writeback in WB_SYNC_ALL mode since do_sync_mapping_range() was used by other code relying on WB_SYNC_ALL semantics. These days do_sync_mapping_range() went away and we can switch sync_file_range(2) back to issuing WB_SYNC_NONE writeback. That should help PostgreSQL avoid large latency spikes when flushing data in the background. Andres measured a 20% increase in transactions per second on an SSD disk. Signed-off-by: Jan Kara <jack@xxxxxxxx> Reported-by: Andres Freund <andres@xxxxxxxxxxx> Tested-By: Andres Freund <andres@xxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d6669d689f397137381fe6729293e0eba1ef09a8 Author: Aaron Tomlin <atomlin@xxxxxxxxxx> Date: Fri Nov 6 16:28:52 2015 -0800 thp: remove unused vma parameter from khugepaged_alloc_page The "vma" parameter to khugepaged_alloc_page() is unused. It has to remain unused or the drop read lock 'map_sem' optimisation introduce by commit 8b1645685acf ("mm, THP: don't hold mmap_sem in khugepaged when allocating THP") wouldn't be safe. So let's remove it. Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c62d25556be6c965dc14288e796a576e8e39a7e9 Author: Michal Hocko <mhocko@xxxxxxxx> Date: Fri Nov 6 16:28:49 2015 -0800 mm, fs: introduce mapping_gfp_constraint() There are many places which use mapping_gfp_mask to restrict a more generic gfp mask which would be used for allocations which are not directly related to the page cache but they are performed in the same context. Let's introduce a helper function which makes the restriction explicit and easier to track. This patch doesn't introduce any functional changes. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Suggested-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 89903327607232de32f05100cf03f9390b858e0b Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:46 2015 -0800 include/linux/mmzone.h: reflow comment Someone has an 86 column display. Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd56b046426760aa0c852ad6e4b6b07891222d65 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:43 2015 -0800 mm: page_alloc: hide some GFP internals and document the bits and flag combinations Andrew stated the following We have quite a history of remote parts of the kernel using weird/wrong/inexplicable combinations of __GFP_ flags. I tend to think that this is because we didn't adequately explain the interface. And I don't think that gfp.h really improved much in this area as a result of this patchset. Could you go through it some time and decide if we've adequately documented all this stuff? This patches first moves some GFP flag combinations that are part of the MM internals to mm/internal.h. The rest of the patch documents the __GFP_FOO bits under various headings and then documents the flag combinations. It will not help callers that are brain damaged but the clarity might motivate some fixes and avoid future mistakes. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 97a16fc82a7c5b0cfce95c05dfb9561e306ca1b1 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:40 2015 -0800 mm, page_alloc: only enforce watermarks for order-0 allocations The primary purpose of watermarks is to ensure that reclaim can always make forward progress in PF_MEMALLOC context (kswapd and direct reclaim). These assume that order-0 allocations are all that is necessary for forward progress. High-order watermarks serve a different purpose. Kswapd had no high-order awareness before they were introduced (https://lkml.kernel.org/r/413AA7B2.4000907@xxxxxxxxxxxx). This was particularly important when there were high-order atomic requests. The watermarks both gave kswapd awareness and made a reserve for those atomic requests. There are two important side-effects of this. The most important is that a non-atomic high-order request can fail even though free pages are available and the order-0 watermarks are ok. The second is that high-order watermark checks are expensive as the free list counts up to the requested order must be examined. With the introduction of MIGRATE_HIGHATOMIC it is no longer necessary to have high-order watermarks. Kswapd and compaction still need high-order awareness which is handled by checking that at least one suitable high-order page is free. With the patch applied, there was little difference in the allocation failure rates as the atomic reserves are small relative to the number of allocation attempts. The expected impact is that there will never be an allocation failure report that shows suitable pages on the free lists. The one potential side-effect of this is that in a vanilla kernel, the watermark checks may have kept a free page for an atomic allocation. Now, we are 100% relying on the HighAtomic reserves and an early allocation to have allocated them. If the first high-order atomic allocation is after the system is already heavily fragmented then it'll fail. [akpm@xxxxxxxxxxxxxxxxxxxx: simplify __zone_watermark_ok(), per Vlastimil] Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0aaa29a56e4fb0fc9e24edb649e2733a672ca099 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:37 2015 -0800 mm, page_alloc: reserve pageblocks for high-order atomic allocations on demand High-order watermark checking exists for two reasons -- kswapd high-order awareness and protection for high-order atomic requests. Historically the kernel depended on MIGRATE_RESERVE to preserve min_free_kbytes as high-order free pages for as long as possible. This patch introduces MIGRATE_HIGHATOMIC that reserves pageblocks for high-order atomic allocations on demand and avoids using those blocks for order-0 allocations. This is more flexible and reliable than MIGRATE_RESERVE was. A MIGRATE_HIGHORDER pageblock is created when an atomic high-order allocation request steals a pageblock but limits the total number to 1% of the zone. Callers that speculatively abuse atomic allocations for long-lived high-order allocations to access the reserve will quickly fail. Note that SLUB is currently not such an abuser as it reclaims at least once. It is possible that the pageblock stolen has few suitable high-order pages and will need to steal again in the near future but there would need to be strong justification to search all pageblocks for an ideal candidate. The pageblocks are unreserved if an allocation fails after a direct reclaim attempt. The watermark checks account for the reserved pageblocks when the allocation request is not a high-order atomic allocation. The reserved pageblocks can not be used for order-0 allocations. This may allow temporary wastage until a failed reclaim reassigns the pageblock. This is deliberate as the intent of the reservation is to satisfy a limited number of atomic high-order short-lived requests if the system requires them. The stutter benchmark was used to evaluate this but while it was running there was a systemtap script that randomly allocated between 1 high-order page and 12.5% of memory's worth of order-3 pages using GFP_ATOMIC. This is much larger than the potential reserve and it does not attempt to be realistic. It is intended to stress random high-order allocations from an unknown source, show that there is a reduction in failures without introducing an anomaly where atomic allocations are more reliable than regular allocations. The amount of memory reserved varied throughout the workload as reserves were created and reclaimed under memory pressure. The allocation failures once the workload warmed up were as follows; 4.2-rc5-vanilla 70% 4.2-rc5-atomic-reserve 56% The failure rate was also measured while building multiple kernels. The failure rate was 14% but is 6% with this patch applied. Overall, this is a small reduction but the reserves are small relative to the number of allocation requests. In early versions of the patch, the failure rate reduced by a much larger amount but that required much larger reserves and perversely made atomic allocations seem more reliable than regular allocations. [yalin.wang2010@xxxxxxxxx: fix redundant check and a memory leak] Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 974a786e63c96a2401a78ddba926f34c128474f1 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:34 2015 -0800 mm, page_alloc: remove MIGRATE_RESERVE MIGRATE_RESERVE preserves an old property of the buddy allocator that existed prior to fragmentation avoidance -- min_free_kbytes worth of pages tended to remain contiguous until the only alternative was to fail the allocation. At the time it was discovered that high-order atomic allocations relied on this property so MIGRATE_RESERVE was introduced. A later patch will introduce an alternative MIGRATE_HIGHATOMIC so this patch deletes MIGRATE_RESERVE and supporting code so it'll be easier to review. Note that this patch in isolation may look like a false regression if someone was bisecting high-order atomic allocation failures. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f77cf4e4cc9d40310a7224a1a67c733aeec78836 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:31 2015 -0800 mm, page_alloc: delete the zonelist_cache The zonelist cache (zlc) was introduced to skip over zones that were recently known to be full. This avoided expensive operations such as the cpuset checks, watermark calculations and zone_reclaim. The situation today is different and the complexity of zlc is harder to justify. 1) The cpuset checks are no-ops unless a cpuset is active and in general are a lot cheaper. 2) zone_reclaim is now disabled by default and I suspect that was a large source of the cost that zlc wanted to avoid. When it is enabled, it's known to be a major source of stalling when nodes fill up and it's unwise to hit every other user with the overhead. 3) Watermark checks are expensive to calculate for high-order allocation requests. Later patches in this series will reduce the cost of the watermark checking. 4) The most important issue is that in the current implementation it is possible for a failed THP allocation to mark a zone full for order-0 allocations and cause a fallback to remote nodes. The last issue could be addressed with additional complexity but as the benefit of zlc is questionable, it is better to remove it. If stalls due to zone_reclaim are ever reported then an alternative would be to introduce deferring logic based on a timeout inside zone_reclaim itself and leave the page allocator fast paths alone. The impact on page-allocator microbenchmarks is negligible as they don't hit the paths where the zlc comes into play. Most page-reclaim related workloads showed no noticeable difference as a result of the removal. The impact was noticeable in a workload called "stutter". One part uses a lot of anonymous memory, a second measures mmap latency and a third copies a large file. In an ideal world the latency application would not notice the mmap latency. On a 2-node machine the results of this patch are stutter 4.3.0-rc1 4.3.0-rc1 baseline nozlc-v4 Min mmap 20.9243 ( 0.00%) 20.7716 ( 0.73%) 1st-qrtle mmap 22.0612 ( 0.00%) 22.0680 ( -0.03%) 2nd-qrtle mmap 22.3291 ( 0.00%) 22.3809 ( -0.23%) 3rd-qrtle mmap 25.2244 ( 0.00%) 25.2396 ( -0.06%) Max-90% mmap 48.0995 ( 0.00%) 28.3713 ( 41.02%) Max-93% mmap 52.5557 ( 0.00%) 36.0170 ( 31.47%) Max-95% mmap 55.8173 ( 0.00%) 47.3163 ( 15.23%) Max-99% mmap 67.3781 ( 0.00%) 70.1140 ( -4.06%) Max mmap 24447.6375 ( 0.00%) 12915.1356 ( 47.17%) Mean mmap 33.7883 ( 0.00%) 27.7944 ( 17.74%) Best99%Mean mmap 27.7825 ( 0.00%) 25.2767 ( 9.02%) Best95%Mean mmap 26.3912 ( 0.00%) 23.7994 ( 9.82%) Best90%Mean mmap 24.9886 ( 0.00%) 23.2251 ( 7.06%) Best50%Mean mmap 22.0157 ( 0.00%) 22.0261 ( -0.05%) Best10%Mean mmap 21.6705 ( 0.00%) 21.6083 ( 0.29%) Best5%Mean mmap 21.5581 ( 0.00%) 21.4611 ( 0.45%) Best1%Mean mmap 21.3079 ( 0.00%) 21.1631 ( 0.68%) Note that the maximum stall latency went from 24 seconds to 12 which is still bad but an improvement. The milage varies considerably 2-node machine on an earlier test went from 494 seconds to 47 seconds and a 4-node machine that tested an earlier version of this patch went from a worst case stall time of 6 seconds to 67ms. The nature of the benchmark is inherently unpredictable as it is hammering the system and the milage will vary between machines. There is a secondary impact with potentially more direct reclaim because zones are now being considered instead of being skipped by zlc. In this particular test run it did not occur so will not be described. However, in at least one test the following was observed 1. Direct reclaim rates were higher. This was likely due to direct reclaim being entered instead of the zlc disabling a zone and busy looping. Busy looping may have the effect of allowing kswapd to make more progress and in some cases may be better overall. If this is found then the correct action is to put direct reclaimers to sleep on a waitqueue and allow kswapd make forward progress. Busy looping on the zlc is even worse than when the allocator used to blindly call congestion_wait(). 2. There was higher swap activity as direct reclaim was active. 3. Direct reclaim efficiency was lower. This is related to 1 as more scanning activity also encountered more pages that could not be immediately reclaimed In that case, the direct page scan and reclaim rates are noticeable but it is not considered a problem for a few reasons 1. The test is primarily concerned with latency. The mmap attempts are also faulted which means there are THP allocation requests. The ZLC could cause zones to be disabled causing the process to busy loop instead of reclaiming. This looks like elevated direct reclaim activity but it's the correct action to take based on what processes requested. 2. The test hammers reclaim and compaction heavily. The number of successful THP faults is highly variable but affects the reclaim stats. It's not a realistic or reasonable measure of page reclaim activity. 3. No other page-reclaim intensive workload that was tested showed a problem. 4. If a workload is identified that benefitted from the busy looping then it should be fixed by having direct reclaimers sleep on a wait queue until woken by kswapd instead of busy looping. We had this class of problem before when congestion_waits() with a fixed timeout was a brain damaged decision but happened to benefit some workloads. If a workload is identified that relied on the zlc to busy loop then it should be fixed correctly and have a direct reclaimer sleep on a waitqueue until woken by kswapd. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 71baba4b92dc1fa1bc461742c6ab1942ec6034e9 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:28 2015 -0800 mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM __GFP_WAIT was used to signal that the caller was in atomic context and could not sleep. Now it is possible to distinguish between true atomic context and callers that are not willing to sleep. The latter should clear __GFP_DIRECT_RECLAIM so kswapd will still wake. As clearing __GFP_WAIT behaves differently, there is a risk that people will clear the wrong flags. This patch renames __GFP_WAIT to __GFP_RECLAIM to clearly indicate what it does -- setting it allows all reclaim activity, clearing them prevents it. [akpm@xxxxxxxxxxxxxxxxxxxx: fix build] [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 40113370836e8e79befa585277296ed42781ef31 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:25 2015 -0800 mm: page_alloc: remove GFP_IOFS GFP_IOFS was intended to be shorthand for clearing two flags, not a set of allocation flags. There is only one user of this flag combination now and there appears to be no reason why Lustre had to be protected from reclaim stalls. As none of the sites appear to be atomic, this patch simply deletes GFP_IOFS and converts Lustre to using GFP_KERNEL, GFP_NOFS or GFP_NOIO as appropriate. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0164adc89f6bb374d304ffcc375c6d2652fe67d Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:21 2015 -0800 mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd __GFP_WAIT has been used to identify atomic context in callers that hold spinlocks or are in interrupts. They are expected to be high priority and have access one of two watermarks lower than "min" which can be referred to as the "atomic reserve". __GFP_HIGH users get access to the first lower watermark and can be called the "high priority reserve". Over time, callers had a requirement to not block when fallback options were available. Some have abused __GFP_WAIT leading to a situation where an optimisitic allocation with a fallback option can access atomic reserves. This patch uses __GFP_ATOMIC to identify callers that are truely atomic, cannot sleep and have no alternative. High priority users continue to use __GFP_HIGH. __GFP_DIRECT_RECLAIM identifies callers that can sleep and are willing to enter direct reclaim. __GFP_KSWAPD_RECLAIM to identify callers that want to wake kswapd for background reclaim. __GFP_WAIT is redefined as a caller that is willing to enter direct reclaim and wake kswapd for background reclaim. This patch then converts a number of sites o __GFP_ATOMIC is used by callers that are high priority and have memory pools for those requests. GFP_ATOMIC uses this flag. o Callers that have a limited mempool to guarantee forward progress clear __GFP_DIRECT_RECLAIM but keep __GFP_KSWAPD_RECLAIM. bio allocations fall into this category where kswapd will still be woken but atomic reserves are not used as there is a one-entry mempool to guarantee progress. o Callers that are checking if they are non-blocking should use the helper gfpflags_allow_blocking() where possible. This is because checking for __GFP_WAIT as was done historically now can trigger false positives. Some exceptions like dm-crypt.c exist where the code intent is clearer if __GFP_DIRECT_RECLAIM is used instead of the helper due to flag manipulations. o Callers that built their own GFP flags instead of starting with GFP_KERNEL and friends now also need to specify __GFP_KSWAPD_RECLAIM. The first key hazard to watch out for is callers that removed __GFP_WAIT and was depending on access to atomic reserves for inconspicuous reasons. In some cases it may be appropriate for them to use __GFP_HIGH. The second key hazard is callers that assembled their own combination of GFP flags instead of starting with something like GFP_KERNEL. They may now wish to specify __GFP_KSWAPD_RECLAIM. It's almost certainly harmless if it's missed in most cases as other activity will wake kswapd. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 016c13daa5c9e4827eca703e2f0621c131f2cca3 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:18 2015 -0800 mm, page_alloc: use masks and shifts when converting GFP flags to migrate types This patch redefines which GFP bits are used for specifying mobility and the order of the migrate types. Once redefined it's possible to convert GFP flags to a migrate type with a simple mask and shift. The only downside is that readers of OOM kill messages and allocation failures may have been used to the existing values but scripts/gfp-translate will help. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 46e700abc44ce215acb4341d9702ce3972eda571 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:15 2015 -0800 mm, page_alloc: remove unnecessary taking of a seqlock when cpusets are disabled There is a seqcounter that protects against spurious allocation failures when a task is changing the allowed nodes in a cpuset. There is no need to check the seqcounter until a cpuset exists. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c9ab0c4fbeb0202bac3548378a977e1536ebe3ca Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:12 2015 -0800 mm, page_alloc: remove unnecessary recalculations for dirty zone balancing File-backed pages that will be immediately written are balanced between zones. This heuristic tries to avoid having a single zone filled with recently dirtied pages but the checks are unnecessarily expensive. Move consider_zone_balanced into the alloc_context instead of checking bitmaps multiple times. The patch also gives the parameter a more meaningful name. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e2b19197ff9dc46f3e3888f273c4395f9e5a9856 Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:28:09 2015 -0800 mm, page_alloc: remove unnecessary parameter from zone_watermark_ok_safe Overall, the intent of this series is to remove the zonelist cache which was introduced to avoid high overhead in the page allocator. Once this is done, it is necessary to reduce the cost of watermark checks. The series starts with minor micro-optimisations. Next it notes that GFP flags that affect watermark checks are abused. __GFP_WAIT historically identified callers that could not sleep and could access reserves. This was later abused to identify callers that simply prefer to avoid sleeping and have other options. A patch distinguishes between atomic callers, high-priority callers and those that simply wish to avoid sleep. The zonelist cache has been around for a long time but it is of dubious merit with a lot of complexity and some issues that are explained. The most important issue is that a failed THP allocation can cause a zone to be treated as "full". This potentially causes unnecessary stalls, reclaim activity or remote fallbacks. The issues could be fixed but it's not worth it. The series places a small number of other micro-optimisations on top before examining GFP flags watermarks. High-order watermarks enforcement can cause high-order allocations to fail even though pages are free. The watermark checks both protect high-order atomic allocations and make kswapd aware of high-order pages but there is a much better way that can be handled using migrate types. This series uses page grouping by mobility to reserve pageblocks for high-order allocations with the size of the reservation depending on demand. kswapd awareness is maintained by examining the free lists. By patch 12 in this series, there are no high-order watermark checks while preserving the properties that motivated the introduction of the watermark checks. This patch (of 10): No user of zone_watermark_ok_safe() specifies alloc_flags. This patch removes the unnecessary parameter. Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Christoph Lameter <cl@xxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit db2a0dd7a43de595d3f0542986bb17ccb6cc364c Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Fri Nov 6 16:28:06 2015 -0800 mm/oom_kill.c: introduce is_sysrq_oom helper Introduce is_sysrq_oom helper function indicating oom kill triggered by sysrq to improve readability. No functional changes. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 27eb427bdc0960ad64b72da03e3596c801e7a9e9 Merge: 7130098 2959a32 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 17:17:13 2015 -0800 Merge branch 'for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs updates from Chris Mason: "We have a lot of subvolume quota improvements in here, along with big piles of cleanups from Dave Sterba and Anand Jain and others. Josef pitched in a batch of allocator fixes based on production use here at FB. We found that mount -o ssd_spread greatly improved our performance on hardware raid5/6, but it exposed some CPU bottlenecks in the allocator. These patches make a huge difference" * 'for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (100 commits) Btrfs: fix hole punching when using the no-holes feature Btrfs: find_free_extent: Do not erroneously skip LOOP_CACHING_WAIT state btrfs: Fix a data space underflow warning btrfs: qgroup: Fix a rebase bug which will cause qgroup double free btrfs: qgroup: Fix a race in delayed_ref which leads to abort trans btrfs: clear PF_NOFREEZE in cleaner_kthread() btrfs: qgroup: Don't copy extent buffer to do qgroup rescan btrfs: add balance filters limits, stripes and usage to supported mask btrfs: extend balance filter usage to take minimum and maximum btrfs: add balance filter for stripes btrfs: extend balance filter limit to take minimum and maximum btrfs: fix use after free iterating extrefs btrfs: check unsupported filters in balance arguments Btrfs: fix regression running delayed references when using qgroups Btrfs: fix regression when running delayed references Btrfs: don't do extra bitmap search in one bit case Btrfs: keep track of largest extent in bitmaps Btrfs: don't keep trying to build clusters if we are fragmented Btrfs: cut down on loops through the allocator Btrfs: don't continue setting up space cache when enospc ... commit 1f47b0ddf3ebebe632b96b29a0033505d5adfe8b Merge: 1ede53f d7e53e3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Nov 7 01:30:49 2015 +0100 Merge branch 'pm-cpufreq' * pm-cpufreq: cpufreq: s5pv210-cpufreq: fix wrong do_div() usage MAINTAINERS: update for intel P-state driver cpufreq: governor: Quit work-handlers early if governor is stopped intel_pstate: decrease number of "HWP enabled" messages cpufreq: arm_big_little: fix frequency check when bL switcher is active commit 1ede53f73171722fcf1b5be63bcd64e42d14affc Merge: 3930f66 0597e81 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Nov 7 01:30:40 2015 +0100 Merge branch 'pm-opp' * pm-opp: PM / OPP: Add opp_rcu_lockdep_assert() to _find_device_opp() PM / OPP: Hold dev_opp_list_lock for writers PM / OPP: Protect updates to list_dev with mutex PM / OPP: Propagate error properly from dev_pm_opp_set_sharing_cpus() PM / OPP: Parse all power-supply related bindings together PM / OPP: Rename routines specific to old bindings with _v1 PM / OPP: Improve print messages with pr_fmt commit 3930f660b4eea1de077969174e6e055d51413fab Merge: f2115fa e50b9be efb2d3b Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Nov 7 01:30:22 2015 +0100 Merge branches 'acpi-video' and 'acpi-cppc' * acpi-video: ACPI / video: only register backlight for LCD device ACPI / video: Add a quirk to force acpi-video backlight on Dell XPS L421X * acpi-cppc: cpufreq: CPPC: Delete an unnecessary check before the function call kfree() commit f2115faaf0df42623638dfbfc5bdaab6ef7375ab Merge: 0d51ce9 29dbe1f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sat Nov 7 01:30:10 2015 +0100 Merge branch 'acpi-pci' * acpi-pci: PCI: ACPI: Add support for PCI device DMA coherency PCI: OF: Move of_pci_dma_configure() to pci_dma_configure() of/pci: Fix pci_get_host_bridge_device leak device property: ACPI: Remove unused DMA APIs device property: ACPI: Make use of the new DMA Attribute APIs device property: Adding DMA Attribute APIs for Generic Devices ACPI: Adding DMA Attribute APIs for ACPI Device device property: Introducing enum dev_dma_attr ACPI: Honor ACPI _CCA attribute setting Conflicts: drivers/crypto/ccp/ccp-platform.c commit 29dbe1f0af88b4162d2b57e790db7a51ab061f35 Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:54 2015 -0700 PCI: ACPI: Add support for PCI device DMA coherency This patch adds support for setting up PCI device DMA coherency from ACPI _CCA object that should normally be specified in the DSDT node of its PCI host bridge. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 50230713b63941f4b6b562eea0834f751aa0801e Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:53 2015 -0700 PCI: OF: Move of_pci_dma_configure() to pci_dma_configure() This patch move of_pci_dma_configure() to a more generic pci_dma_configure(), which can be extended by non-OF code (e.g. ACPI). This has no functional change. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 37efbe20fb19cee43d95b7ba9e54d5d0b00c0d67 Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:52 2015 -0700 of/pci: Fix pci_get_host_bridge_device leak In case of error, the current code return w/o calling pci_put_host_bridge_device. This patch fixes this. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ab3d527329f01dd63dc852041006d1a24895d116 Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:51 2015 -0700 device property: ACPI: Remove unused DMA APIs These DMA APIs are replaced with the newer versions, which return the enum dev_dma_attr. So, we can safely remove them. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1831eff876bd0bb8d64e9965a7ff47486c9a3ecd Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:50 2015 -0700 device property: ACPI: Make use of the new DMA Attribute APIs Now that we have the new DMA attribute APIs, we can replace the older acpi_check_dma() and device_dma_is_coherent(). Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e5e558644bbb23cad03c586703331b8bcd9e0e6c Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:49 2015 -0700 device property: Adding DMA Attribute APIs for Generic Devices The function device_dma_is_coherent() does not sufficiently communicate device DMA attributes. Instead, this patch introduces device_get_dma_attr(), which returns enum dev_dma_attr. It replaces the acpi_check_dma(), which will be removed in subsequent patch. This also provides a convenient function, device_dma_supported(), to check DMA support of the specified device. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b84f196d963c3159329f72ca1913b08679004a43 Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:48 2015 -0700 ACPI: Adding DMA Attribute APIs for ACPI Device Adding acpi_get_dma_attr() to query DMA attributes of ACPI devices. It returns the enum dev_dma_attr, which communicates DMA information more clearly. This API replaces the acpi_check_dma(), which will be removed in subsequent patch. This patch also provides a convenient function, acpi_dma_supported(), to check DMA support of the specified ACPI device. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1b9863c6aa56d92126ec0d5c42eae25df52b7ca1 Author: Suthikulpanit, Suravee <Suravee.Suthikulpanit@xxxxxxx> Date: Wed Oct 28 15:50:47 2015 -0700 device property: Introducing enum dev_dma_attr A device could have one of the following DMA attributes: * DMA not supported * DMA non-coherent * DMA coherent So, this patch introduces enum dev_dma_attribute. This will be used by new APIs introduced in later patches. Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d764c21c7b1aa5ce982eaa8400517d8004d30267 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 28 15:50:46 2015 -0700 ACPI: Honor ACPI _CCA attribute setting ACPI configurations can now mark devices as noncoherent, support that choice. NOTE: This is required to support USB on ARM Juno Development Board. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 713009809681e5a7871e96e6992692c805b4480b Merge: 9cf5c09 be69e1c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 16:23:27 2015 -0800 Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 updates from Ted Ts'o: "Add support for the CSUM_SEED feature which will allow future userspace utilities to change the file system's UUID without rewriting all of the file system metadata. A number of miscellaneous fixes, the most significant of which are in the ext4 encryption support. Anyone wishing to use the encryption feature should backport all of the ext4 crypto patches up to 4.4 to get fixes to a memory leak and file system corruption bug. There are also cleanups in ext4's feature test macros and in ext4's sysfs support code" * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (26 commits) fs/ext4: remove unnecessary new_valid_dev check ext4: fix abs() usage in ext4_mb_check_group_pa ext4: do not allow journal_opts for fs w/o journal ext4: explicit mount options parsing cleanup ext4, jbd2: ensure entering into panic after recording an error in superblock [PATCH] fix calculation of meta_bg descriptor backups ext4: fix potential use after free in __ext4_journal_stop jbd2: fix checkpoint list cleanup ext4: fix xfstest generic/269 double revoked buffer bug with bigalloc ext4: make the bitmap read routines return real error codes jbd2: clean up feature test macros with predicate functions ext4: clean up feature test macros with predicate functions ext4: call out CRC and corruption errors with specific error codes ext4: store checksum seed in superblock ext4: reserve code points for the project quota feature ext4: promote ext4 over ext2 in the default probe order jbd2: gate checksum calculations on crc driver presence, not sb flags ext4: use private version of page_zero_new_buffers() for data=journal mode ext4 crypto: fix bugs in ext4_encrypted_zeroout() ext4 crypto: replace some BUG_ON()'s with error checks ... commit efb2d3be53e4343ab6495729b3ec9ffb95261035 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 21:10:29 2015 +0100 cpufreq: CPPC: Delete an unnecessary check before the function call kfree() The kfree() 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: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0597e818501f595090a49a1779ab6ec377051b11 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Nov 5 14:21:21 2015 +0530 PM / OPP: Add opp_rcu_lockdep_assert() to _find_device_opp() _find_device_opp() should be called with rcu-read lock or dev_opp_list_lock held. Add the opp_rcu_lockdep_assert() check to make sure caller have taken appropriate locks. Fix comment over the routine as well. 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 4a3a1353a84796f93d389694e3b87ede533953fe Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Nov 5 14:21:20 2015 +0530 PM / OPP: Hold dev_opp_list_lock for writers Writers need to update OPP device and their list with dev_opp_list_lock mutex held, which was missed at few places. Fix it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: 4.3 <stable@xxxxxxxxxxxxxxx> # 4.3 Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 87b4115db0239865bc812f61704bb1f43e2439b6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Nov 5 14:21:19 2015 +0530 PM / OPP: Protect updates to list_dev with mutex dev_opp_list_lock is used everywhere to protect device and OPP lists, but dev_pm_opp_set_sharing_cpus() is missed somehow. And instead we used rcu-lock, which wouldn't help here as we are adding a new list_dev. This also fixes a problem where we have called kzalloc(..., GFP_KERNEL) from within rcu-lock, which isn't allowed as kzalloc can sleep when called with GFP_KERNEL. With CONFIG_DEBUG_ATOMIC_SLEEP set, we get following lockdep-splat: include/linux/rcupdate.h:578 Illegal context switch in RCU read-side critical section! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 5 locks held by swapper/0/1: #0: (&dev->mutex){......}, at: [<c02f68f4>] __driver_attach+0x48/0x98 #1: (&dev->mutex){......}, at: [<c02f6904>] __driver_attach+0x58/0x98 #2: (cpu_hotplug.lock){++++++}, at: [<c00249d0>] get_online_cpus+0x40/0xb0 #3: (subsys mutex#5){+.+.+.}, at: [<c02f4f8c>] subsys_interface_register+0x44/0xdc #4: (rcu_read_lock){......}, at: [<c0305c80>] dev_pm_opp_set_sharing_cpus+0x0/0x1e4 stack backtrace: CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 4.3.0-rc7-00047-g81f5932958a8 #59 Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [<c0016874>] (unwind_backtrace) from [<c001355c>] (show_stack+0x10/0x14) [<c001355c>] (show_stack) from [<c022553c>] (dump_stack+0x94/0xbc) [<c022553c>] (dump_stack) from [<c004904c>] (___might_sleep+0x24c/0x298) [<c004904c>] (___might_sleep) from [<c00f07e4>] (kmem_cache_alloc+0xe8/0x164) [<c00f07e4>] (kmem_cache_alloc) from [<c0305354>] (_add_list_dev+0x30/0x58) [<c0305354>] (_add_list_dev) from [<c0305d50>] (dev_pm_opp_set_sharing_cpus+0xd0/0x1e4) [<c0305d50>] (dev_pm_opp_set_sharing_cpus) from [<c040eda4>] (cpufreq_init+0x4cc/0x62c) [<c040eda4>] (cpufreq_init) from [<c040a964>] (cpufreq_online+0xbc/0x73c) [<c040a964>] (cpufreq_online) from [<c02f4fe0>] (subsys_interface_register+0x98/0xdc) [<c02f4fe0>] (subsys_interface_register) from [<c040a640>] (cpufreq_register_driver+0x110/0x17c) [<c040a640>] (cpufreq_register_driver) from [<c040ef64>] (dt_cpufreq_probe+0x60/0x8c) [<c040ef64>] (dt_cpufreq_probe) from [<c02f8084>] (platform_drv_probe+0x44/0xa4) [<c02f8084>] (platform_drv_probe) from [<c02f67c0>] (driver_probe_device+0x208/0x2f4) [<c02f67c0>] (driver_probe_device) from [<c02f6940>] (__driver_attach+0x94/0x98) [<c02f6940>] (__driver_attach) from [<c02f4c1c>] (bus_for_each_dev+0x68/0x9c) Reported-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: 4.3 <stable@xxxxxxxxxxxxxxx> # 4.3 Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1794ec1f9585501e4ed4390f5a5d396fd28c63ce Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Nov 5 14:21:18 2015 +0530 PM / OPP: Propagate error properly from dev_pm_opp_set_sharing_cpus() We are returning 0 even in case of errors, fix it. Fixes: 8d4d4e98acd6 ("PM / OPP: Add helpers for initializing CPU OPPs") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: 4.3 <stable@xxxxxxxxxxxxxxx> # 4.3 Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 54bcfdf19ec7c2f2788fa76426c91abdc4dab973 Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 20:00:42 2015 +0100 UBIFS: Delete unnecessary checks before the function call "iput" The iput() 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: Richard Weinberger <richard@xxxxxx> commit a396ce4bd21dd67bcec2aabc05f81fd2fa14f820 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 19 22:26:43 2015 +0200 UBI: Remove in vain semicolon ...found while browsing. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 2a130f1aa54c2fb35abfc4d66e0239c80d054210 Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 14:55:55 2015 -0300 UBI: Fastmap: Fix PEB array type The PEB array is an array of __be32, so let's fix the scan_pool() prototype accordingly. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit aeeb14f763917ccf639a602cfbeee6957fd944a2 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 12 23:35:36 2015 +0200 UBIFS: Fix possible memory leak in ubifs_readdir() If ubifs_tnc_next_ent() returns something else than -ENOENT we leak file->private_data. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: David Gstir <david@xxxxxxxxxxxxx> commit 86ba9ed928f33cf6afbac433ff03dd8c6a0ceac4 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 21:57:33 2015 +0800 fs/ubifs: remove unnecessary new_valid_dev check As currently new_valid_dev always returns 1, so new_valid_dev check is not needed, remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 9cf5c095b65da63c08b928a7d0015d5d5dca8a66 Merge: 22402cd 4008cb3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 14:22:15 2015 -0800 Merge tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic Pull asm-generic cleanups from Arnd Bergmann: "The asm-generic changes for 4.4 are mostly a series from Christoph Hellwig to clean up various abuses of headers in there. The patch to rename the io-64-nonatomic-*.h headers caused some conflicts with new users, so I added a workaround that we can remove in the next merge window. The only other patch is a warning fix from Marek Vasut" * tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: asm-generic: temporarily add back asm-generic/io-64-nonatomic*.h asm-generic: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations gpio-mxc: stop including <asm-generic/bug> n_tracesink: stop including <asm-generic/bug> n_tracerouter: stop including <asm-generic/bug> mlx5: stop including <asm-generic/kmap_types.h> hifn_795x: stop including <asm-generic/kmap_types.h> drbd: stop including <asm-generic/kmap_types.h> move count_zeroes.h out of asm-generic move io-64-nonatomic*.h out of asm-generic commit 2eb5f31bc4ea24bb293e82934cfa1cce9573304b Author: Anton Ivanov <aivanov@xxxxxxxxxxx> Date: Mon Nov 2 16:16:37 2015 +0000 um: Switch clocksource to hrtimers UML is using an obsolete itimer call for all timers and "polls" for kernel space timer firing in its userspace portion resulting in a long list of bugs and incorrect behaviour(s). It also uses ITIMER_VIRTUAL for its timer which results in the timer being dependent on it running and the cpu load. This patch fixes this by moving to posix high resolution timers firing off CLOCK_MONOTONIC and relaying the timer correctly to the UML userspace. Fixes: - crashes when hosts suspends/resumes - broken userspace timers - effecive ~40Hz instead of what they should be. Note - this modifies skas behavior by no longer setting an itimer per clone(). Timer events are relayed instead. - kernel network packet scheduling disciplines - tcp behaviour especially under load - various timer related corner cases Finally, overall responsiveness of userspace is better. Signed-off-by: Thomas Meyer <thomas@xxxxxxxx> Signed-off-by: Anton Ivanov <aivanov@xxxxxxxxxxx> [rw: massaged commit message] Signed-off-by: Richard Weinberger <richard@xxxxxx> commit e17c6d77b28c6feab446ad6eaec865e8031ed616 Author: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Date: Thu Oct 29 21:00:32 2015 +0530 um: net: replace GFP_KERNEL with GFP_ATOMIC when spinlock is held since GFP_KERNEL with GFP_ATOMIC while spinlock is held, as code while holding a spinlock should be atomic. GFP_KERNEL may sleep and can cause deadlock, where as GFP_ATOMIC may fail but certainly avoids deadlockdex f70dd54..d898f6c 100644 Signed-off-by: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 70c8205f40a385383b0c81f59550cf27273bf912 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 22:26:09 2015 +0100 um: Report host OOM more nicely If UML runs on the host side out of memory, report this condition more nicely. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 1b2411c283e8e178b1c57d07f7fe082442a0927b Author: Richard Weinberger <richard@xxxxxx> Date: Mon Oct 26 10:38:27 2015 +0100 um: Simplify STUB_DATA loading As long STUB_DATA fits into 32bits we can use a plain mov. If it will grow at some point in future we will switch to movabsq. In any case the code is smaller and more easy to read than the current one Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 246d254f1ab62bc83ac84a8ebd263e5384412ce8 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 21:41:10 2015 +0100 um: Remove dead symbol from i386 syscall stub syscall_stub is nowhere used these days. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit ec2c6c01ff241f8fad95c79de3364c76a474b3fa Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 21:41:10 2015 +0100 um: Remove dead code from x86_64 syscall stub syscall_stub is dead code as um is using only batch_syscall_stub. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit f10e6d652bc2dad67b5e7b6e6d890c76f739ed77 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 20:28:14 2015 +0100 um: Get rid of open coded NR_SYSCALLS We can use __NR_syscall_max. Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 1d80f0cda10118d7505bd0a09a5c1c72f3a5f6c8 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 19:54:33 2015 +0100 um: Store syscall number after syscall_trace_enter() To support changing syscall numbers we have to store it after syscall_trace_enter(). Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 44011b897adf4be7a5bd7f2baf2ffec9cd87ec74 Author: Richard Weinberger <richard@xxxxxx> Date: Sun Oct 25 11:44:05 2015 +0100 um: Define PTRACE_OLDSETOPTIONS ...such that processes within UML can do a ptrace(PTRACE_OLDSETOPTIONS, ...) Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 22402cd0af685c1a5d067c87db3051db7fff7709 Merge: 7c623ca d227c3a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 13:30:20 2015 -0800 Merge tag 'trace-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracking updates from Steven Rostedt: "Most of the changes are clean ups and small fixes. Some of them have stable tags to them. I searched through my INBOX just as the merge window opened and found lots of patches to pull. I ran them through all my tests and they were in linux-next for a few days. Features added this release: ---------------------------- - Module globbing. You can now filter function tracing to several modules. # echo '*:mod:*snd*' > set_ftrace_filter (Dmitry Safonov) - Tracer specific options are now visible even when the tracer is not active. It was rather annoying that you can only see and modify tracer options after enabling the tracer. Now they are in the options/ directory even when the tracer is not active. Although they are still only visible when the tracer is active in the trace_options file. - Trace options are now per instance (although some of the tracer specific options are global) - New tracefs file: set_event_pid. If any pid is added to this file, then all events in the instance will filter out events that are not part of this pid. sched_switch and sched_wakeup events handle next and the wakee pids" * tag 'trace-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (68 commits) tracefs: Fix refcount imbalance in start_creating() tracing: Put back comma for empty fields in boot string parsing tracing: Apply tracer specific options from kernel command line. tracing: Add some documentation about set_event_pid ring_buffer: Remove unneeded smp_wmb() before wakeup of reader benchmark tracing: Allow dumping traces without tracking trace started cpus ring_buffer: Fix more races when terminating the producer in the benchmark ring_buffer: Do no not complete benchmark reader too early tracing: Remove redundant TP_ARGS redefining tracing: Rename max_stack_lock to stack_trace_max_lock tracing: Allow arch-specific stack tracer recordmcount: arm64: Replace the ignored mcount call into nop recordmcount: Fix endianness handling bug for nop_mcount tracepoints: Fix documentation of RCU lockdep checks tracing: ftrace_event_is_function() can return boolean tracing: is_legal_op() can return boolean ring-buffer: rb_event_is_commit() can return boolean ring-buffer: rb_per_cpu_empty() can return boolean ring_buffer: ring_buffer_empty{cpu}() can return boolean ring-buffer: rb_is_reader_page() can return boolean ... commit 2b62c2dbb902625f5c5a30c0209f261b1cf15a2a Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Nov 6 15:47:29 2015 -0500 tools/liblockdep: explicitly declare lockdep API we call from liblockdep It seems that newer gcc complains about lack of explicit declaration for some of the API we use, add it in. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> commit e308e942e122f5de1a180f0b2a4002d09a757f45 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Nov 6 15:34:23 2015 -0500 tools/liblockdep: add userspace versions of WRITE_ONCE and RCU_INIT_POINTER These were added to the kernel code in cee34d88c ("lockdep: Fix a race between /proc/lock_stat and module unload"). There's nothing special we need to do about them in userspace. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> commit 1393ba5c9beb2b33e315d9d4348a15ab3d1bf3a6 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Nov 6 15:29:52 2015 -0500 tools/liblockdep: remove task argument from debug_check_no_locks_held The tas argument was removed from the kernel code in 1b1d2fb4 ("lockdep: remove task argument from debug_check_no_locks_held"). Remove it in loblockdep too. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> commit 345c99a303e1d97b407bf99190314a878d59ca92 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Nov 6 17:03:38 2015 -0300 perf test: Do not be case sensitive when searching for matching tests Before: # perf test llvm # perf test LLVM 35: Test LLVM searching and compiling : Ok # After # perf test llvm 35: Test LLVM searching and compiling : Ok # Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-c1u05npqbf6epse17ovfejoj@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba1fae431e74bb427a699187434142fd3fe98390 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:49:43 2015 +0000 perf test: Add 'perf test BPF' This patch adds BPF testcase for testing BPF event filtering. By utilizing the result of 'perf test LLVM', this patch compiles the eBPF sample program then test its ability. The BPF script in 'perf test LLVM' lets only 50% samples generated by epoll_pwait() to be captured. This patch runs that system call for 111 times, so the result should contain 56 samples. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446817783-86722-8-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7af3f3d55b80cce40ad94b6b8e173dccedaf25e6 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:49:42 2015 +0000 perf test: Enhance the LLVM tests: add kbuild test This patch adds a kbuild testcase to check whether kernel headers can be correctly found. For example: # mv /lib/modules/4.3.0-rc5{,.bak} # perf test LLVM 38: Test LLVM searching and compiling : Skip # perf test -v LLVM ... <stdin>:11:10: fatal error: 'uapi/linux/fs.h' file not found #include <uapi/linux/fs.h> ^ 1 error generated. ERROR: unable to compile - Hint: Check error message shown above. Hint: You can also pre-compile it into .o using: clang -target bpf -O2 -c - with proper -I and -D options. Failed to compile test case: 'Test kbuild searching' test child finished with -2 Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446817783-86722-7-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b31de018a6284a25e0fdfeb028e724f8417ec3b1 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:49:41 2015 +0000 perf test: Enhance the LLVM test: update basic BPF test program This patch replaces the original toy BPF program with the previously introduced bpf-script-example.c. Dynamically embeddeding it into 'llvm-src-base.c'. The newly introduced BPF program attaches a BPF program to 'sys_epoll_pwait()'. perf itself never use that syscall, so further test can verify their result with it. The program would generate 1 sample in every 2 calls of epoll_pwait() system call. Since the resulting BPF object is useful per se for further tests, test_llvm__fetch_bpf_obj() is introduced for creating BPF objects from source. The LLVM test was rewritten to use it. Committer note: Running it: [root@zoo wb]# perf test -v LLVM 35: Test LLVM searching and compiling : --- start --- test child forked, pid 17740 Kernel build dir is set to /lib/modules/4.3.0-rc1+/build set env: KBUILD_DIR=/lib/modules/4.3.0-rc1+/build unset env: KBUILD_OPTS include option is set to -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include -I/home/git/linux/arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated -I/home/git/linux/include -Iinclude -I/home/git/linux/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/home/git/linux/include/uapi -Iinclude/generated/uapi -include /home/git/linux/include/linux/kconfig.h set env: NR_CPUS=4 set env: LINUX_VERSION_CODE=0x40300 set env: CLANG_EXEC=/usr/libexec/icecc/bin/clang set env: CLANG_OPTIONS=-xc set env: KERNEL_INC_OPTIONS= -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include -I/home/git/linux/arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated -I/home/git/linux/include -Iinclude -I/home/git/linux/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/home/git/linux/include/uapi -Iinclude/generated/uapi -include /home/git/linux/include/linux/kconfig.h set env: WORKING_DIR=/lib/modules/4.3.0-rc1+/build set env: CLANG_SOURCE=- llvm compiling command template: echo '/* * bpf-script-example.c * Test basic LLVM building */ #ifndef LINUX_VERSION_CODE # error Need LINUX_VERSION_CODE # error Example: for 4.2 kernel, put 'clang-opt="-DLINUX_VERSION_CODE=0x40200" into llvm section of ~/.perfconfig' #endif #define BPF_ANY 0 #define BPF_MAP_TYPE_ARRAY 2 #define BPF_FUNC_map_lookup_elem 1 #define BPF_FUNC_map_update_elem 2 static void *(*bpf_map_lookup_elem)(void *map, void *key) = (void *) BPF_FUNC_map_lookup_elem; static void *(*bpf_map_update_elem)(void *map, void *key, void *value, int flags) = (void *) BPF_FUNC_map_update_elem; struct bpf_map_def { unsigned int type; unsigned int key_size; unsigned int value_size; unsigned int max_entries; }; #define SEC(NAME) __attribute__((section(NAME), used)) struct bpf_map_def SEC("maps") flip_table = { .type = BPF_MAP_TYPE_ARRAY, .key_size = sizeof(int), .value_size = sizeof(int), .max_entries = 1, }; SEC("func=sys_epoll_pwait") int bpf_func__sys_epoll_pwait(void *ctx) { int ind =0; int *flag = bpf_map_lookup_elem(&flip_table, &ind); int new_flag; if (!flag) return 0; /* flip flag and store back */ new_flag = !*flag; bpf_map_update_elem(&flip_table, &ind, &new_flag, BPF_ANY); return new_flag; } char _license[] SEC("license") = "GPL"; int _version SEC("version") = LINUX_VERSION_CODE; ' | $CLANG_EXEC -D__KERNEL__ -D__NR_CPUS__=$NR_CPUS -DLINUX_VERSION_CODE=$LINUX_VERSION_CODE $CLANG_OPTIONS $KERNEL_INC_OPTIONS -Wno-unused-value -Wno-pointer-sign -working-directory $WORKING_DIR -c "$CLANG_SOURCE" -target bpf -O2 -o - test child finished with 0 ---- end ---- Test LLVM searching and compiling: Ok [root@zoo wb]# Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446817783-86722-6-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d64e19db030dadb1c9d2747ace919fd952be359c Merge: df70793 937804f 18339f5 f3984ed 29fae1c c6956eb 6d4f544 8d2f847 636a89d 86e88f0 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Fri Nov 6 21:45:15 2015 +0100 Merge branches 'for-4.3/upstream-fixes', 'for-4.4/corsair', 'for-4.4/dragonrise', 'for-4.4/i2c-hid', 'for-4.4/logitech', 'for-4.4/microsoft', 'for-4.4/multitouch', 'for-4.4/roccat-sysfs-deprecation', 'for-4.4/upstream' and 'for-4.4/wacom' into for-linus commit 7c623cac4939fb36916c029609dd22e3dec0a014 Merge: 9bbd4b9 829a7da Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 12:33:41 2015 -0800 Merge tag 'for-v4.4-important-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply Pull power supply fix from Sebastian Reichel: "Just a single revert for a patch, that I should not have queued. Detailed description is inside the patch. It's totally my fault, that this happened, sorry about that :(" * tag 'for-v4.4-important-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: Revert "ARM: dts: twl4030: Add iio properties for bci subnode" commit 29fae1c85166ef525b8b6518e749295e0c9d1e20 Author: Simon Wood <simon@xxxxxxxxxxxxx> Date: Mon Nov 2 07:56:52 2015 -0700 HID: logitech: Add support for G29 At present the G29 is mis-identified as a DFGT, this patch ensures that the wheel is correctly detected and allows setting the LEDs and turning range via the '/sys' interface. This wheel can also emulate other types of Logitech wheels. Signed-off-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit bbec1bd0faa211a0a0abaf947cd4a236d080ad28 Author: Simon Wood <simon@xxxxxxxxxxxxx> Date: Mon Nov 2 07:56:51 2015 -0700 HID: logitech: Simplify wheel detection scheme Simplfy how hid-logitech driver detects the native mode of the wheel, done by looking at the USB-ID revision and comparing bit mask. Signed-off-by: Simon Wood <simon@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 829a7da03fd5f94c3a3ee1f8e22371e81cf73c79 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Nov 6 17:00:01 2015 +0100 Revert "ARM: dts: twl4030: Add iio properties for bci subnode" This reverts commit af19161aaed7ff8d1a52b2e517460f2fa0774e32, which breaks the omap3 device tree build due to a wrong reference. I accidently queued this change via the power supply subsystem while telling Marek at the same time, that it should go through Tony. Following that I did miss Stephen's messages about the build failure in linux-next and since he switched to merging an older snapshot nobody else noticed the problem in my tree. I didn't notice myself, since I did not build any device tree files assuming none have changed by me. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Reported-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9bbd4b9f38f56b4ee2c8ff268a1104ff38333e90 Merge: 3e069ad 2d799dd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 12:17:09 2015 -0800 Merge tag 'devicetree-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull DeviceTree updates from Rob Herring: "A fairly large (by DT standards) pull request this time with the majority being some overdue moving DT binding docs around to consolidate similar bindings. - DT binding doc consolidation moving similar bindings to common locations. The majority of these are display related which were scattered in video/, fb/, drm/, gpu/, and panel/ directories. - Add new config option, CONFIG_OF_ALL_DTBS, to enable building all dtbs in the tree for most arches with dts files (except powerpc for now). - OF_IRQ=n fixes for user enabled CONFIG_OF. - of_node_put ref counting fixes from Julia Lawall. - Common DT binding for wakeup-source and deprecation of all similar bindings. - DT binding for PXA LCD controller. - Allow ignoring failed PCI resource translations in order to ignore 64-bit addresses on non-LPAE 32-bit kernels. - Support setting the NUMA node from DT instead of only from parent device. - Couple of earlycon DT parsing fixes for address and options" * tag 'devicetree-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (45 commits) MAINTAINERS: update DT binding doc locations devicetree: add Sigma Designs vendor prefix of: simplify arch_find_n_match_cpu_physical_id() function Documentation: arm: Fixed typo in socfpga fpga mgr example Documentation: devicetree: fix reference to legacy wakeup properties Documentation: devicetree: standardize/consolidate on "wakeup-source" property drivers: of: removing assignment of 0 to static variable xtensa: enable building of all dtbs mips: enable building of all dtbs metag: enable building of all dtbs metag: use common make variables for dtb builds h8300: enable building of all dtbs arm64: enable building of all dtbs arm: enable building of all dtbs arc: enable building of all dtbs arc: use common make variables for dtb builds of: add config option to enable building of all dtbs of/fdt: fix error checking for earlycon address of/overlay: add missing of_node_put of/platform: add missing of_node_put ... commit d3e0ce393057cfa907a0c4fe7b1ff56d5c30cca5 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:58:09 2015 +0000 perf bpf: Improve BPF related error messages A series of bpf loader related error codes were introduced to help error reporting. Functions were improved to return these new error codes. Functions which return pointers were adjusted to encode error codes into return value using the ERR_PTR() interface. bpf_loader_strerror() was improved to convert these error messages to strings. It checks the error codes and calls libbpf_strerror() and strerror_r() accordingly, so caller don't need to consider checking the range of the error code. In bpf__strerror_load(), print kernel version of running kernel and the object's 'version' section to notify user how to fix his/her program. v1 -> v2: Use macro for error code. Fetch error message based on array index, eliminate for-loop. Print version strings. Before: # perf record -e ./test_kversion_nomatch_program.o sleep 1 event syntax error: './test_kversion_nomatch_program.o' \___ Failed to load program: Validate your program and check 'license'/'version' sections in your object SKIP After: # perf record -e ./test_kversion_nomatch_program.o ls event syntax error: './test_kversion_nomatch_program.o' \___ 'version' (4.4.0) doesn't match running kernel (4.3.0) SKIP Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446818289-87444-1-git-send-email-wangnan0@xxxxxxxxxx [ Add 'static inline' to bpf__strerror_prepare_load() when LIBBPF is disabled ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3e069adabc9487b5e28065a17e6a228da3412dfd Merge: 02f0d3f e60e063 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 11:57:41 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: "Items of note: - evdev users can now limit or mask the kind of events they will receive. This will allow applications such as power manager or network manager to only be woken when user presses special keys such as KEY_POWER or KEY_WIFI and not be bothered with ordinary key presses coming from keyboard - support for FocalTech FT6236 touchscreen controller - support for ROHM BU21023/24 touchscreen controller - edt-ft5x06 touchscreen driver got a face lift and can now be used with FT5506 - support for Google Fiber TV Box remote controls - improvements in xpad driver (with more to come) - several parport-based drivers have been switched to the new device model - other miscellaneous driver improvements" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (70 commits) HID: hid-gfrm: avoid warning for input_configured API change HID: hid-input: allow input_configured callback return errors Input: evdev - fix bug in checking duplicate clock change request Input: add userio module Input: evdev - add event-mask API Input: snvs_pwrkey - remove duplicated semicolon HID: hid-gfrm: Google Fiber TV Box remote controls Input: e3x0-button - update Kconfig description Input: tegra-kbc - drop use of IRQF_NO_SUSPEND flag Input: tegra-kbc - enable support for the standard "wakeup-source" property Input: xen - check return value of xenbus_printf Input: hp_sdc_rtc - fix y2038 problem in proc_show Input: nomadik-ske-keypad - fix a trivial typo Input: xpad - fix clash of presence handling with LED setting Input: edt-ft5x06 - work around FT5506 firmware bug Input: edt-ft5x06 - add support for FT5506 Input: edt-ft5x06 - add support for different max support points Input: edt-ft5x06 - use max support points to determine how much to read Input: rotary-encoder - add support for quarter-period mode Input: rotary-encoder - use of_property_read_bool ... commit 02f0d3f758ab456c50199b723a53f2443fa4f684 Merge: 2d49dcb f8479dd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 11:50:24 2015 -0800 Merge tag 'for-linus-20151106' of git://git.infradead.org/linux-mtd Pull MTD updates from Brian Norris: "Core: - WARN (in some cases) when a struct mtd_info is registered multiple times; in the past this was "supported", but it's still error prone for future development. There's only one ugly case of this left in the tree (that we're aware of) and the owners are aware of the problems there. - fix potential deadlock in the blkdev removal path NOTE: the (potential) deadlock was introduced in a for-stable patch. This one is also marked for -stable. - ioctl(BLKPG) compat_ioctl support; resolves issues with 32-bit user space vs 64-bit kernel space - Set MTD parent device correctly throughout the tree, so the tree structure appears correctly in sysfs; many drivers were missing this (soft) requirement - Move device tree partitions (ofpart) into a dedicated 'partitions' subnode; this helps to disambiguate whether a node is a partition or some other auxiliary data - Improve error handling for partitioning failures NAND: - General: Increase timeout period, for corner-case systems with less-than-accurate jiffies - Fix OF-based autoloading of several NAND drivers when built as modules - pxa3xx_nand: - Rework timing configuration to be more dynamic - Refactor PM support - brcmnand: prepare for NorthStar 2 support (ARM64, 16-bit NAND chips) - sunxi_nand: refactoring and a few bug fixes - vf610: new NAND driver - FSMC: add SW BCH support; support common NAND DT bindings - lpc32xx_slc: refactor and improve timing calculations logic - denali: support for rev 5.1 SPI NOR: - Layering improvements - Added Winbond lock/unlock support - Added mtd_is_locked() (i.e., ioctl(MEMISLOCKED)) support - Increase full-chip-erase timeout linearly with flash size - fsl-quadspi: fix compile for non-ARM architectures - New flash support" * tag 'for-linus-20151106' of git://git.infradead.org/linux-mtd: (169 commits) mtd: don't WARN about overloaded users of mtd->reboot_notifier.notifier_call mtd: nand: sunxi: avoid retrieving data before ECC pass mtd: nand: sunxi: fix sunxi_nfc_hw_ecc_read/write_chunk() mtd: blkdevs: fix potential deadlock + lockdep warnings mtd: ofpart: move ofpart partitions to a dedicated dt node doc: dt: mtd: support partitions in a special 'partitions' subnode mtd: brcmnand: Force 8bit mode before doing nand_scan_ident() mtd: brcmnand: factor out CFG and CFG_EXT bitfields mtd: mtdpart: Do not fail mtd probe when parsing partitions fails mtd: fsl-quadspi: fix macro collision problems with READ/WRITE mtd: warn when registering the same master many times mtd: fixup corner case error handling in mtd_device_parse_register() mtd: tests: Replace timeval with ktime_t mtd: fsmc_nand: Add BCH4 SW ECC support for SPEAr600 mtd: nand: vf610_nfc: use nand_check_erased_ecc_chunk() helper mtd: nand: increase ready wait timeout and report timeouts mtd: docg3: off by one in doc_register_sysfs() mtd: pxa3xx_nand: clean up the pxa3xx timings mtd: pxa3xx_nand: rework flash detection and timing setup mtd: pxa3xx_nand: add helpers to setup the timings ... commit 2d49dcb9e48f65a69281fe4c698c8f1a20215daf Merge: 3c87b79 cb1ca0b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 11:41:57 2015 -0800 Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration Pull mailbox updates from Jassi Brar: - a TI specific quirk to get CPU control working via remote master. - a new mailbox driver for an ST platform. - a generic test driver to aid new driver development. And a couple of fixes to make that really clean. * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration: mailbox: mailbox-test: avoid reading iomem twice mailbox: Off by one in mbox_test_message_read() mailbox/omap: Add ti,mbox-send-noirq quirk to fix AM33xx CPU Idle mailbox: mailbox-test: Correctly repair Sparse warnings mailbox: Fix a couple of trivial static checker issues mailbox: Add generic mechanism for testing Mailbox Controllers mailbox: Add support for ST's Mailbox IP mailbox: dt: Supply bindings for ST's Mailbox IP PCC: fix dereference of ERR_PTR commit 3c87b791880a2e0dad281c6494b94968d412bfa3 Merge: 0280d1a 7225107 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 11:29:53 2015 -0800 Merge tag 'pci-v4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI updates from Bjorn Helgaas: "Resource management: - Add support for Enhanced Allocation devices (Sean O. Stalley) - Add Enhanced Allocation register entries (Sean O. Stalley) - Handle IORESOURCE_PCI_FIXED when sizing resources (David Daney) - Handle IORESOURCE_PCI_FIXED when assigning resources (David Daney) - Handle Enhanced Allocation capability for SR-IOV devices (David Daney) - Clear IORESOURCE_UNSET when reverting to firmware-assigned address (Bjorn Helgaas) - Make Enhanced Allocation bitmasks more obvious (Bjorn Helgaas) - Expand Enhanced Allocation BAR output (Bjorn Helgaas) - Add of_pci_check_probe_only to parse "linux,pci-probe-only" (Marc Zyngier) - Fix lookup of linux,pci-probe-only property (Marc Zyngier) - Add sparc mem64 resource parsing for root bus (Yinghai Lu) PCI device hotplug: - pciehp: Queue power work requests in dedicated function (Guenter Roeck) Driver binding: - Add builtin_pci_driver() to avoid registration boilerplate (Paul Gortmaker) Virtualization: - Set SR-IOV NumVFs to zero after enumeration (Alexander Duyck) - Remove redundant validation of SR-IOV offset/stride registers (Alexander Duyck) - Remove VFs in reverse order if virtfn_add() fails (Alexander Duyck) - Reorder pcibios_sriov_disable() (Alexander Duyck) - Wait 1 second between disabling VFs and clearing NumVFs (Alexander Duyck) - Fix sriov_enable() error path for pcibios_enable_sriov() failures (Alexander Duyck) - Enable SR-IOV ARI Capable Hierarchy before reading TotalVFs (Ben Shelton) - Don't try to restore VF BARs (Wei Yang) MSI: - Don't alloc pcibios-irq when MSI is enabled (Joerg Roedel) - Add msi_controller setup_irqs() method for special multivector setup (Lucas Stach) - Export all remapped MSIs to sysfs attributes (Romain Bezut) - Disable MSI on SiS 761 (Ondrej Zary) AER: - Clear error status registers during enumeration and restore (Taku Izumi) Generic host bridge driver: - Fix lookup of linux,pci-probe-only property (Marc Zyngier) - Allow multiple hosts with different map_bus() methods (David Daney) - Pass starting bus number to pci_scan_root_bus() (David Daney) - Fix address window calculation for non-zero starting bus (David Daney) Altera host bridge driver: - Add msi.h to ARM Kbuild (Ley Foon Tan) - Add Altera PCIe host controller driver (Ley Foon Tan) - Add Altera PCIe MSI driver (Ley Foon Tan) APM X-Gene host bridge driver: - Remove msi_controller assignment (Duc Dang) Broadcom iProc host bridge driver: - Fix header comment "Corporation" misspelling (Florian Fainelli) - Fix code comment to match code (Ray Jui) - Remove unused struct iproc_pcie.irqs[] (Ray Jui) - Call pci_fixup_irqs() for ARM64 as well as ARM (Ray Jui) - Fix PCIe reset logic (Ray Jui) - Improve link detection logic (Ray Jui) - Update PCIe device tree bindings (Ray Jui) - Add outbound mapping support (Ray Jui) Freescale i.MX6 host bridge driver: - Return real error code from imx6_add_pcie_port() (Fabio Estevam) - Add PCIE_PHY_RX_ASIC_OUT_VALID definition (Fabio Estevam) Freescale Layerscape host bridge driver: - Remove ls_pcie_establish_link() (Minghuan Lian) - Ignore PCIe controllers in Endpoint mode (Minghuan Lian) - Factor out SCFG related function (Minghuan Lian) - Update ls_add_pcie_port() (Minghuan Lian) - Remove unused fields from struct ls_pcie (Minghuan Lian) - Add support for LS1043a and LS2080a (Minghuan Lian) - Add ls_pcie_msi_host_init() (Minghuan Lian) HiSilicon host bridge driver: - Add HiSilicon SoC Hip05 PCIe driver (Zhou Wang) Marvell MVEBU host bridge driver: - Return zero for reserved or unimplemented config space (Russell King) - Use exact config access size; don't read/modify/write (Russell King) - Use of_get_available_child_count() (Russell King) - Use for_each_available_child_of_node() to walk child nodes (Russell King) - Report full node name when reporting a DT error (Russell King) - Use port->name rather than "PCIe%d.%d" (Russell King) - Move port parsing and resource claiming to separate function (Russell King) - Fix memory leaks and refcount leaks (Russell King) - Split port parsing and resource claiming from port setup (Russell King) - Use gpio_set_value_cansleep() (Russell King) - Use devm_kcalloc() to allocate an array (Russell King) - Use gpio_desc to carry around gpio (Russell King) - Improve clock/reset handling (Russell King) - Add PCI Express root complex capability block (Russell King) - Remove code restricting accesses to slot 0 (Russell King) NVIDIA Tegra host bridge driver: - Wrap static pgprot_t initializer with __pgprot() (Ard Biesheuvel) Renesas R-Car host bridge driver: - Build pci-rcar-gen2.c only on ARM (Geert Uytterhoeven) - Build pcie-rcar.c only on ARM (Geert Uytterhoeven) - Make PCI aware of the I/O resources (Phil Edworthy) - Remove dependency on ARM-specific struct hw_pci (Phil Edworthy) - Set root bus nr to that provided in DT (Phil Edworthy) - Fix I/O offset for multiple host bridges (Phil Edworthy) ST Microelectronics SPEAr13xx host bridge driver: - Fix dw_pcie_cfg_read/write() usage (Gabriele Paoloni) Synopsys DesignWare host bridge driver: - Make "clocks" and "clock-names" optional DT properties (Bhupesh Sharma) - Use exact access size in dw_pcie_cfg_read() (Gabriele Paoloni) - Simplify dw_pcie_cfg_read/write() interfaces (Gabriele Paoloni) - Require config accesses to be naturally aligned (Gabriele Paoloni) - Make "num-lanes" an optional DT property (Gabriele Paoloni) - Move calculation of bus addresses to DRA7xx (Gabriele Paoloni) - Replace ARM pci_sys_data->align_resource with global function pointer (Gabriele Paoloni) - Factor out MSI msg setup (Lucas Stach) - Implement multivector MSI IRQ setup (Lucas Stach) - Make get_msi_addr() return phys_addr_t, not u32 (Lucas Stach) - Set up high part of MSI target address (Lucas Stach) - Fix PORT_LOGIC_LINK_WIDTH_MASK (Zhou Wang) - Revert "PCI: designware: Program ATU with untranslated address" (Zhou Wang) - Use of_pci_get_host_bridge_resources() to parse DT (Zhou Wang) - Make driver arch-agnostic (Zhou Wang) Miscellaneous: - Make x86 pci_subsys_init() static (Alexander Kuleshov) - Turn off Request Attributes to avoid Chelsio T5 Completion erratum (Hariprasad Shenai)" * tag 'pci-v4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (94 commits) PCI: altera: Add Altera PCIe MSI driver PCI: hisi: Add HiSilicon SoC Hip05 PCIe driver PCI: layerscape: Add ls_pcie_msi_host_init() PCI: layerscape: Add support for LS1043a and LS2080a PCI: layerscape: Remove unused fields from struct ls_pcie PCI: layerscape: Update ls_add_pcie_port() PCI: layerscape: Factor out SCFG related function PCI: layerscape: Ignore PCIe controllers in Endpoint mode PCI: layerscape: Remove ls_pcie_establish_link() PCI: designware: Make "clocks" and "clock-names" optional DT properties PCI: designware: Make driver arch-agnostic ARM/PCI: Replace pci_sys_data->align_resource with global function pointer PCI: designware: Use of_pci_get_host_bridge_resources() to parse DT Revert "PCI: designware: Program ATU with untranslated address" PCI: designware: Move calculation of bus addresses to DRA7xx PCI: designware: Make "num-lanes" an optional DT property PCI: designware: Require config accesses to be naturally aligned PCI: designware: Simplify dw_pcie_cfg_read/write() interfaces PCI: designware: Use exact access size in dw_pcie_cfg_read() PCI: spear: Fix dw_pcie_cfg_read/write() usage ... commit 60603950f836ef4e88daddf61a273b91e671db2d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Nov 6 11:26:01 2015 -0800 Input: elantech - add Fujitsu Lifebook U745 to force crc_enabled Another Lifebook machine that needs the same quirk as other similar models to make the driver working. Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=883192 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0280d1a099da1d211e76ec47cc0944c993a36316 Merge: 5bc23a0 5cf92c8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 11:04:07 2015 -0800 Merge tag 'sound-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "Here is the first batch of updates for sound system on 4.4-rc1. Again at this time, the update looks fairly calm; no big changes in either ALSA core or ASoC infrastructures, rather all small cleanups, in addition to the new stuff as usual. The biggest changes are about Firewire sound devices. It gained lots of new device support, and MIDI functionality. Also there are updates for a few still working-in-progress stuff (topology API and ASoC skylake), too. But overall, this update should give no big surprise. Some highlights are below: Core: - A few more Kconfig items for tinification; it's marked as EXPERT, so normal user should't be bothered :) - Refactoring with a new PCM hw_constraint helper - Removal of unused transfer_ack_{begin,end} PCM callbacks Firewire: - Restructuring of code subtree, lots of refactoring - Support AMDTP variants - New driver for Digidesign 002/003 family - Adds support for TASCAM FireOne to ALSA OXFW driver - Add MIDI support to TASCAM and Digi00x devices HD-Audio: - Automated modalias generation for codec drivers, finally - Improvement on heuristics for setting mixer name - A few fixes for longstanding bugs on Creative CA0132 cards - Addition of audio rate callback with i915 communication - Fix suspend issue on recent Dell XPS - Intel Lewisburg controller support ASoC: - Updates to the topology userspace interface - Big updates to the Renesas support (rcar) - More updates for supporting Intel Sky Lake systems - New drivers for Asahi Kasei Microdevices AK4613, Allwinnner A10, Cirrus Logic WM8998, Dialog DA7219, Nuvoton NAU8825, Rockchip S/PDIF, and Atmel class D amplifier USB-Audio: - A fix for newer Roland MIDI devices - Quirks and workarounds for Zoom R16/24 device Misc: - A few fixes for some old Cirrus CS46xx PCI sound boards - Yet another fixes for some old ESS Maestro3 PCI sound boards" * tag 'sound-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (330 commits) ALSA: hda - Add Intel Lewisburg device IDs Audio ALSA: hda - Apply pin fixup for HP ProBook 6550b ALSA: hda - Fix lost 4k BDL boundary workaround ALSA: maestro3: Fix Allegro mute until master volume/mute is touched ALSA: maestro3: Enable docking support for Dell Latitude C810 ALSA: firewire-digi00x: add another rawmidi character device for MIDI control ports ALSA: firewire-digi00x: add MIDI operations for MIDI control port ALSA: firewire-digi00x: rename identifiers of MIDI operation for physical ports ALSA: cs46xx: Fix suspend for all channels ALSA: cs46xx: Fix Duplicate front for CS4294 and CS4298 codecs ALSA: DocBook: Add soc-ops.c and soc-compress.c ALSA: hda - Add / fix kernel doc comments ALSA: Constify ratden/ratnum constraints ALSA: hda - Disable 64bit address for Creative HDA controllers ALSA: hda/realtek - Dell XPS one ALC3260 speaker no sound after resume back ALSA: hda/ca0132 - Convert leftover pr_info() and pr_err() ASoC: fsl: Use #ifdef instead of #if for CONFIG_PM_SLEEP ASoC: rt5645: Sort the order for register bit defines ASoC: dwc: add check for master/slave format ASoC: rt5645: Add the HWEQ for the speaker output ... commit 07bc5c699a3d8fe5e26dbcd72e4103c7988055ba Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:55:35 2015 +0000 perf tools: Make fetch_kernel_version() publicly available There are 2 places in llvm-utils.c which find kernel version information through uname. This patch extracts the uname related code into a fetch_kernel_version() function and puts it into util.h so it can be reused. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446818135-87310-1-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 45825d8ab8ef6287f5d05aea141419d8d4278852 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:49:38 2015 +0000 bpf tools: Add new API bpf_object__get_kversion() bpf_object__get_kversion() can be used to fetch value of object's 'version' section. Following patch will use it for error reporting. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446817783-86722-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5bc23a0cdee4a6757fcc2919eb26827fe11e3bee Merge: 4dcee4d 9d6c243 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 10:53:48 2015 -0800 Merge tag 'backlight-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight Pull backlight updates from Lee Jones: "New Device Support - None New Functionality: - None Core Frameworks: - Reject legacy PWM request for device defined in DT Fix-ups: - Remove unnecessary MODULE_ALIAS(); adp8860_bl, adp8870_bl - Simplify code: pm8941-wled - Supply default-brightness logic; pm8941-wled Bug Fixes: - Clean up OF node; 88pm860x_bl - Ensure struct is zeroed; lp855x_bl" * tag 'backlight-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: backlight: pm8941-wled: Add default-brightness property backlight: pm8941-wled: Fix ptr_ret.cocci warnings backlight: pwm: Reject legacy PWM request for device defined in DT backlight: 88pm860x_bl: Add missing of_node_put backlight: adp8870: Remove unnecessary MODULE_ALIAS() backlight: adp8860: Remove unnecessary MODULE_ALIAS() backlight: lp855x: Make sure props struct is zeroed commit 6371ca3b541c82d8aa6a9002bd52d92bcdda5944 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Nov 6 13:49:37 2015 +0000 bpf tools: Improve libbpf error reporting In this patch, a series of libbpf specific error numbers and libbpf_strerror() are introduced to help reporting errors. Functions are updated to pass correct the error number through the CHECK_ERR() macro. All users of bpf_object__open{_buffer}() and bpf_program__title() in perf are modified accordingly. In addition, due to the error codes changing, bpf__strerror_load() is also modified to use them. bpf__strerror_head() is also changed accordingly so it can parse libbpf errors. bpf_loader_strerror() is introduced for that purpose, and will be improved by the following patch. load_program() is improved not to dump log buffer if it is empty. log buffer is also used to deduce whether the error was caused by an invalid program or other problem. v1 -> v2: - Using macro for error code. - Fetch error message based on array index, eliminate for-loop. - Use log buffer to detect the reason of failure. 3 new error code are introduced to replace LIBBPF_ERRNO__LOAD. In v1: # perf record -e ./test_ill_program.o ls event syntax error: './test_ill_program.o' \___ Failed to load program: Validate your program and check 'license'/'version' sections in your object SKIP # perf record -e ./test_kversion_nomatch_program.o ls event syntax error: './test_kversion_nomatch_program.o' \___ Failed to load program: Validate your program and check 'license'/'version' sections in your object SKIP # perf record -e ./test_big_program.o ls event syntax error: './test_big_program.o' \___ Failed to load program: Validate your program and check 'license'/'version' sections in your object SKIP In v2: # perf record -e ./test_ill_program.o ls event syntax error: './test_ill_program.o' \___ Kernel verifier blocks program loading SKIP # perf record -e ./test_kversion_nomatch_program.o event syntax error: './test_kversion_nomatch_program.o' \___ Incorrect kernel version SKIP (Will be further improved by following patches) # perf record -e ./test_big_program.o event syntax error: './test_big_program.o' \___ Program too big SKIP Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446817783-86722-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4dcee4d84394dc5d9a0cc3e9ccbb633fd2ea08d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 10:47:12 2015 -0800 mfd: avoid newly introduced compiler warning Commit b158b69a3765 ("mfd: rtsx: Simplify function return logic") removed the use of the 'err' variable, but left the variable itself around, resulting in gcc quite reasonably warning: drivers/mfd/rtsx_pcr.c: In function â??rtsx_pci_set_pull_ctlâ??: drivers/mfd/rtsx_pcr.c:565:6: warning: unused variable â??errâ?? [-Wunused-variable] int err; ^ Get rid of the unused variable, and avoid the new warning. Cc: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Cc: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b4865988eab598e56e6e628b9b32441acd142b28 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Nov 6 18:35:57 2015 +0100 netfilter: ingress: fix wrong input interface on hook The input and output interfaces in nf_hook_state_init() are flipped. This fixes iif matching on nftables. Reported-by: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 61b590b9ee4221173ad6990a1150c5c9db73564e Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Oct 23 12:43:18 2015 +0200 netfilter: ingress: don't use nf_hook_list_active nf_hook_list_active() always returns true once at least one device has NF_INGRESS hook enabled. Thus, don't use this function. Instead, inverse the test and use the static key to elide list_empty test if no NF_INGRESS hooks are active. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit bc914532a08892b30954030a0ba68f8534c67f76 Merge: 54727e6 271bb17 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 10:23:50 2015 -0800 Merge tag 'mfd-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "New Device Support: - Add support for 88pm860; 88pm80x - Add support for 24c08 EEPROM; at24 - Add support for Broxton Whiskey Cove; intel* - Add support for RTS522A; rts5227 - Add support for I2C devices; intel_quark_i2c_gpio New Functionality: - Add microphone support; arizona - Add general purpose switch support; arizona - Add fuel-gauge support; da9150-core - Add shutdown support; sec-core - Add charger support; tps65217 - Add flexible serial communication unit support; atmel-flexcom - Add power button support; axp20x - Add led-flash support; rt5033 Core Frameworks: - Supply a generic macro for defining Regmap IRQs - Rework ACPI child device matching Fix-ups: - Use Regmap to access registers; tps6105x - Use DEFINE_RES_IRQ_NAMED() macro; da9150 - Re-arrange device registration order; intel_quark_i2c_gpio - Allow OF matching; cros_ec_i2c, atmel-hlcdc, hi6421-pmic, max8997, sm501 - Handle deferred probe; twl6040 - Improve accuracy of headphone detect; arizona - Unnecessary MODULE_ALIAS() removal; bcm590xx, rt5033 - Remove unused code; htc-i2cpld, arizona, pcf50633-irq, sec-core - Simplify code; kempld, rts5209, da903x, lm3533, da9052, arizona - Remove #iffery; arizona - DT binding adaptions; many Bug Fixes: - Fix possible NULL pointer dereference; wm831x, tps6105x - Fix 64bit bug; intel_soc_pmic_bxtwc - Fix signedness issue; arizona" * tag 'mfd-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (73 commits) bindings: mfd: s2mps11: Add documentation for s2mps15 PMIC mfd: sec-core: Remove unused s2mpu02-rtc and s2mpu02-clk children extcon: arizona: Add extcon specific device tree binding document MAINTAINERS: Add binding docs for Cirrus Logic/Wolfson Arizona devices mfd: arizona: Remove bindings covered in new subsystem specific docs mfd: rt5033: Add RT5033 Flash led sub device mfd: lpss: Add Intel Broxton PCI IDs mfd: lpss: Add Broxton ACPI IDs mfd: arizona: Signedness bug in arizona_runtime_suspend() mfd: axp20x: Add a cell for the power button part of the, axp288 PMICs mfd: dt-bindings: Document pulled down WRSTBI pin on S2MPS1X mfd: sec-core: Disable buck voltage reset on watchdog falling edge mfd: sec-core: Dump PMIC revision to find out the HW mfd: arizona: Use correct type ID for device tree config mfd: arizona: Remove use of codec build config #ifdefs mfd: arizona: Simplify adding subdevices mfd: arizona: Downgrade type mismatch messages to dev_warn mfd: arizona: Factor out checking of jack detection state mfd: arizona: Factor out DCVDD isolation control mfd: Make TPS6105X select REGMAP_I2C ... commit d618651b0f112d9715d0ca6f9dbea87761be15d7 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Wed Oct 21 12:46:10 2015 +0200 thinkpad_acpi: Don't yell on unsupported brightness interfaces The thinkpad_acpi driver currently emits error messages on unsupported brightness interfaces, giving the impression that someone will implement those. However, this error is spit out on nearly every thinkpad in production since 2 years now. Furthermore, the backlight interfaces on those devices are supported by the i915 driver just fine. Downgrade the error message to a normal pr_info() and stop telling people to report it to IBM. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f8479dd6a03cfdc3b14e742045bfd8748cd86bd7 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Nov 3 17:01:53 2015 -0800 mtd: don't WARN about overloaded users of mtd->reboot_notifier.notifier_call There are multiple types of users of mtd->reboot_notifier.notifier_call: (1) A while back, the cfi_cmdset_000{1,2} chip drivers implemented a reboot notifier to (on a best effort basis) attempt to reset their flash chips before rebooting. (2) More recently, we implemented a common _reboot() hook so that MTD drivers (particularly, NAND flash) could better halt I/O operations without having to reimplement the same notifier boilerplate. Currently, the WARN_ONCE() condition here was written to handle (2), but at the same time it mis-diagnosed case (1) as an already-registered MTD. Let's fix this by having the WARN_ONCE() condition better imitate the condition that immediately follows it. (Wow, I don't know how I missed that one.) (Side note: Unfortunately, we can't yet combine the reboot notifier code for (1) and (2) with a patch like [1], because some users of (1) also use mtdconcat, and so the mtd_info struct from cfi_cmdset_000{1,2} won't actually get registered with mtdcore, and therefore their reboot notifier won't get registered.) [1] http://patchwork.ozlabs.org/patch/417981/ Suggested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Jesper Nilsson <jespern@xxxxxxxx> Cc: linux-cris-kernel@xxxxxxxx Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 54727e6e950aacd14ec9cd4260e9fe498322828c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Nov 6 09:12:41 2015 -0800 x86: don't make DEBUG_WX default to 'y' even with DEBUG_RODATA It turns out that we still have issues with the EFI memory map that ends up polluting our kernel page tables with writable executable pages. That will get sorted out, but in the meantime let's not make the scary complaint about them be on by default. The code is useful for developers, but not ready for end user testing yet. Acked-by: Borislav Petkov <bp@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 14e589ff4aa3f28a5424e92b6495ecb8950080f7 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Nov 4 20:43:59 2015 -0800 arm64: bpf: fix mod-by-zero case Turns out in the case of modulo by zero in a BPF program: A = A % X; (X == 0) the expected behavior is to terminate with return value 0. The bug in JIT is exposed by a new test case [1]. [1] https://lkml.org/lkml/2015/11/4/499 Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Reported-by: Yang Shi <yang.shi@xxxxxxxxxx> Reported-by: Xi Wang <xi.wang@xxxxxxxxx> CC: Alexei Starovoitov <ast@xxxxxxxxxxxx> Fixes: e54bcde3d69d ("arm64: eBPF JIT compiler") Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+ Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 251599e1d6906621f49218d7b474ddd159e58f3b Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Tue Nov 3 22:56:44 2015 -0800 arm64: bpf: fix div-by-zero case In the case of division by zero in a BPF program: A = A / X; (X == 0) the expected behavior is to terminate with return value 0. This is confirmed by the test case introduced in commit 86bf1721b226 ("test_bpf: add tests checking that JIT/interpreter sets A and X to 0."). Reported-by: Yang Shi <yang.shi@xxxxxxxxxx> Tested-by: Yang Shi <yang.shi@xxxxxxxxxx> CC: Xi Wang <xi.wang@xxxxxxxxx> CC: Alexei Starovoitov <ast@xxxxxxxxxxxx> CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Fixes: e54bcde3d69d ("arm64: eBPF JIT compiler") Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+ Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4d17da4ca7cca51ccacc07ece684bb6ea6bfaa7d Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Nov 6 16:50:43 2015 +0000 arm64: Enable CRYPTO_CRC32_ARM64 in defconfig CONFIG_CRYPTO_CRC32_ARM64 has been around since commit f6f203faa3eb ("crypto: crc32 - Add ARM64 CRC32 hw accelerated module") but defconfig did not automatically enable it. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d2e8851a909c76c6f0b34553f2c9993808bc1d58 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Oct 28 19:07:35 2015 +0100 drm/vmwgfx: Relax irq locking somewhat Relax locking with the goal of reducing the number of locking cycles and time spent with irqs disabled. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 4e0858a682c008a2a8f5f4fb3aec705500575ae1 Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Thu Nov 5 02:18:55 2015 -0800 drm/vmwgfx: Properly flush cursor updates and page-flips With the introduction of the new command buffer mechanism, proper care wasn't taken to flush cursor image updates and event-less screen-target page-flips. Fix this by introducing explicit flush points. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit 8b1291994d8e5e621a8af7e165b106e50d04bbf1 Author: Jiaxing Wang <hello.wjx@xxxxxxxxx> Date: Fri Nov 6 16:04:16 2015 +0800 tracing: Make tracing work when debugfs is not configured in Currently tracing_init_dentry() returns -ENODEV when debugfs is not configured in, which causes tracefs not populated with tracing files and directories, so we will get an empty directory even after we manually mount tracefs. We can make tracing_init_dentry() return NULL if debugfs is not configured in and can manually mount tracefs. But return -ENODEV if debugfs is configured in but not initialized or failed to create automount point as that would break backward compatibility with older tools. Link: http://lkml.kernel.org/r/1446797056-11683-1-git-send-email-hello.wjx@xxxxxxxxx Signed-off-by: Jiaxing Wang <hello.wjx@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8d090f47315507c3064ca4eefa9a1da52390b52e Author: Petr Mladek <pmladek@xxxxxxxx> Date: Mon Oct 5 14:39:52 2015 +0200 bcache: Really show state of work pending bit WORK_STRUCT_PENDING is a mask for testing the pending bit. test_bit() expects the number of the bit and we need to use WORK_STRUCT_PENDING_BIT there. Also work_data_bits() is defined in workqueues.h now. I have noticed this just by chance when looking how WORK_STRUCT_PENDING_BIT is used. The change is compile tested. Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0a62f6869f2768687af2c94d97f3b2fcf5b73367 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Nov 6 17:30:03 2015 +0900 perf probe: Cleanup find_perf_probe_point_from_map to reduce redundancy In find_perf_probe_point_from_map(), the 'ret' variable is initialized with -ENOENT but overwritten by the return code of kernel_get_symbol_address_by_name(), and after that it is re-initialized with -ENOENT again. Setting ret=-ENOENT twice looks a bit redundant. This avoids the overwriting and just returns -ENOENT if some error happens to simplify the code. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ufp1zgbktzmttcputozneomd@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f080be27d7d9333e4815655a2cedab91c3aa7acc Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Mon Oct 26 12:58:27 2015 +0200 pwm: lpss: Add support for runtime PM To be able to save some power when PWM is not in use, add support for runtime PM for this driver. This also allows the platform to transition to low power S0ix states when the system is idle. Signed-off-by: Huiquan Zhong <huiquan.zhong@xxxxxxxxx> Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 03f00e5311d5d0d3ac716121865cb967259980ca Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 20 16:53:07 2015 +0300 pwm: lpss: Add more Intel Broxton IDs Add more Intel Broxton ACPI and PCI IDs to the driver supported devices list. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 87219cb47e5ccfb932177e960c495d475bc16add Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 20 16:53:06 2015 +0300 pwm: lpss: Support all four PWMs on Intel Broxton Intel Broxton has similar PWM than Intel Braswell but instead of one it has four PWMs included in one PCI/ACPI device. This patch adds support for all the four PWMs and changes the PCI part of the driver to use 'pwm_lpss_bxt_info' instead. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 4e11f5acb25b0b8eb937c726ade319b988fe3664 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 20 16:53:05 2015 +0300 pwm: lpss: Add support for multiple PWMs New Intel SoCs such as Broxton will have four PWMs per PCI (or ACPI) device. Each PWM has 1k of register space allocated from the parent device. Add support for this. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 62ec9b3f02a9bccaf699bd4691db98f779c3075f Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Nov 5 19:06:07 2015 -0800 perf annotate: Inform the user about objdump failures in --stdio When the browser fails to annotate it is difficult for users to find out what went wrong. Add some errors for objdump failures that are displayed in the UI. Note it would be even better to handle these errors smarter, like falling back to the binary when the debug info is somehow corrupted. But for now just giving a better error is an improvement. Committer note: This works for --stdio, where errors just scroll by the screen: # perf annotate --stdio intel_idle Failure running objdump --start-address=0xffffffff81418290 --stop-address=0xffffffff814183ae -l -d --no-show-raw -S -C /root/.debug/.build-id/28/2777c262e6b3c0451375163c9a81c893218ab1 2>/dev/null|grep -v /root/.debug/.build-id/28/2777c262e6b3c0451375163c9a81c893218ab1|expand Percent | Source code & Disassembly of vmlinux for cycles:pp ------------------------------------------------------------------ And with that one can use that command line to try to find out more about what happened instead of getting a blank screen, an improvement. We need tho to improve this further to get it to work with other UIs, like --tui and --gtk, where it continues showing a blank screen, no messages, as the pr_err() used is enough just for --stdio. 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/1446779167-18949-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 912b8439041317a0562609ad892eeab9ba2f0cb2 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 7 13:18:49 2015 +0300 pwm-pca9685: enable ACPI device found on Galileo Gen2 There is a chip connected to i2c bus on Intel Galileo Gen2 board. Enable it via ACPI ID INT3492. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 1b0e3a049efe471c399674fd954500ce97438d30 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Nov 5 23:04:11 2015 +0200 drm/i915/skl: disable display side power well support for now The display power well support on this platform is in a somewhat broken state atm, so disable it by default. This in effect will get rid of incorrect assert WARNs about the CSR/DMC firmware not being loaded during power well toggling. It also removes a problem during driver loading where a register is accessed while its backing power well is down, resulting in another WARN. Until we come up with the root cause of the second problem and the proper fix for both issues, keep all display side power wells on. Also clarify a bit the option description. Reported-by: Dave Airlie <airlied@xxxxxxxxxx> Reference: http://mid.gmane.org/CAPM=9tyjBQjSBTKa49cRr6SYkpNW7Pq-fUFznZZ8Y1snvvk7mA@xxxxxxxxxxxxxx Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446757451-2777-1-git-send-email-imre.deak@xxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit e2391a2dcaca41c6de0fbc25329969fc7142f20d Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Date: Thu Nov 5 15:18:03 2015 -0600 livepatch: Fix crash with !CONFIG_DEBUG_SET_MODULE_RONX When loading a patch module on a kernel with !CONFIG_DEBUG_SET_MODULE_RONX, the following crash occurs: [ 205.988776] livepatch: enabling patch 'kpatch_meminfo_string' [ 205.989829] BUG: unable to handle kernel paging request at ffffffffa08d2fc0 [ 205.989863] IP: [<ffffffff8154fecb>] do_init_module+0x8c/0x1ba [ 205.989888] PGD 1a10067 PUD 1a11063 PMD 7bcde067 PTE 3740e161 [ 205.989915] Oops: 0003 [#1] SMP [ 205.990187] CPU: 2 PID: 14570 Comm: insmod Tainted: G O K 4.1.12 [ 205.990214] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.8.1-20150318_183358- 04/01/2014 [ 205.990249] task: ffff8800374aaa90 ti: ffff8800794b8000 task.ti: ffff8800794b8000 [ 205.990276] RIP: 0010:[<ffffffff8154fecb>] [<ffffffff8154fecb>] do_init_module+0x8c/0x1ba [ 205.990307] RSP: 0018:ffff8800794bbd58 EFLAGS: 00010246 [ 205.990327] RAX: 0000000000000000 RBX: ffffffffa08d2fc0 RCX: 0000000000000000 [ 205.990356] RDX: 01ffff8000000080 RSI: 0000000000000000 RDI: ffffffff81a54b40 [ 205.990382] RBP: ffff88007b4c4d80 R08: 0000000000000007 R09: 0000000000000000 [ 205.990408] R10: 0000000000000008 R11: ffffea0001f18840 R12: 0000000000000000 [ 205.990433] R13: 0000000000000001 R14: ffffffffa08d2fc0 R15: ffff88007bd0bc40 [ 205.990459] FS: 00007f1128fbc700(0000) GS:ffff88007fc80000(0000) knlGS:0000000000000000 [ 205.990488] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 205.990509] CR2: ffffffffa08d2fc0 CR3: 000000002606e000 CR4: 00000000001406e0 [ 205.990536] Stack: [ 205.990545] ffff8800794bbec8 0000000000000001 ffffffffa08d3010 ffffffff810ecea9 [ 205.990576] ffffffff810e8e40 000000000005f360 ffff88007bd0bc50 ffffffffa08d3240 [ 205.990608] ffffffffa08d52c0 ffffffffa08d3210 ffff8800794bbed8 ffff8800794bbf1c [ 205.990639] Call Trace: [ 205.990651] [<ffffffff810ecea9>] ? load_module+0x1e59/0x23a0 [ 205.990672] [<ffffffff810e8e40>] ? store_uevent+0x40/0x40 [ 205.990693] [<ffffffff810e99b5>] ? copy_module_from_fd.isra.49+0xb5/0x140 [ 205.990718] [<ffffffff810ed5bd>] ? SyS_finit_module+0x7d/0xa0 [ 205.990741] [<ffffffff81556832>] ? system_call_fastpath+0x16/0x75 [ 205.990763] Code: f9 00 00 00 74 23 49 c7 c0 92 e1 60 81 48 8d 53 18 89 c1 4c 89 c6 48 c7 c7 f0 85 7d 81 31 c0 e8 71 fa ff ff e8 58 0e 00 00 31 f6 <c7> 03 00 00 00 00 48 89 da 48 c7 c7 20 c7 a5 81 e8 d0 ec b3 ff [ 205.990916] RIP [<ffffffff8154fecb>] do_init_module+0x8c/0x1ba [ 205.990940] RSP <ffff8800794bbd58> [ 205.990953] CR2: ffffffffa08d2fc0 With !CONFIG_DEBUG_SET_MODULE_RONX, module text and rodata pages are writable, and the debug_align() macro allows the module struct to share a page with executable text. When klp_write_module_reloc() calls set_memory_ro() on the page, it effectively turns the module struct into a read-only structure, resulting in a page fault when load_module() does "mod->state = MODULE_STATE_LIVE". Reported-by: Cyril B. <cbay@xxxxxxxxxxxxxx> Tested-by: Cyril B. <cbay@xxxxxxxxxxxxxx> Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b291681926a142958112eedde62823230d6afb84 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Nov 3 08:31:41 2015 +0100 drm/i915: Extend DSL readout fix to BDW and SKL. Those platforms have the same bug as haswell, and the same fix applies to them. The original HSW fix that this extends is commit 41b578fb0e8b930f2470d3f673b0fa279e77a7b8 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 12:15:54 2015 -0700 drm/i915: workaround bad DSL readout v3 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Acked-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v4.3 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91579 Link: http://patchwork.freedesktop.org/patch/msgid/1446535913-31970-3-git-send-email-maarten.lankhorst@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d1e41ff11941784f469f17795a4d9425c2eb4b7a Merge: 2f4bf52 d2f2061 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 23:45:53 2015 -0800 Merge tag 'platform-drivers-x86-v4.4-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform driver update from Darren Hart: "Various toshiba hotkey and keyboard related fixes and a new WMI driver. Several intel_scu_ipc cleanups and a locking fix. A spattering of small single fixes across various platforms. I was asked to pick up an OLPC cleanup as the driver appeared unmaintained and it seemed similar to what is maintained in platform/drivers/x86. I have included the patch and an update to the MAINTAINERS file. toshiba_acpi: - Initialize hotkey_event_type variable - Remove unneeded u32 variables from *setup_keyboard - Add 0x prefix to available_kbd_modes_show function - Change default Hotkey enabling value - Unify hotkey enabling functions toshiba-wmi: - Toshiba WMI Hotkey Driver intel_scu_ipc: - Protect dev member assignment on ->remove() - Switch to use module_pci_driver() macro - Convert to use struct device * - Propagate pointer to struct intel_scu_ipc_dev - Fix error path by turning to devm_* / pcim_* acer-wmi: - remove threeg and interface sysfs interfaces OLPC: - Use %*ph specifier instead of passing direct values MAINTAINERS: - Add drivers/platform/olpc to drivers/platform/x86 sony-laptop: - Fix handling sony_nc_hotkeys_decode result intel_mid_powerbtn: - Remove misuse of IRQF_NO_SUSPEND flag compal-laptop: - Add charge control limit asus-wmi: - restore kbd led level after resume" * tag 'platform-drivers-x86-v4.4-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: toshiba_acpi: Initialize hotkey_event_type variable intel_scu_ipc: Protect dev member assignment on ->remove() intel_scu_ipc: Switch to use module_pci_driver() macro intel_scu_ipc: Convert to use struct device * intel_scu_ipc: Propagate pointer to struct intel_scu_ipc_dev intel_scu_ipc: Fix error path by turning to devm_* / pcim_* acer-wmi: remove threeg and interface sysfs interfaces OLPC: Use %*ph specifier instead of passing direct values MAINTAINERS: Add drivers/platform/olpc to drivers/platform/x86 platform/x86: Toshiba WMI Hotkey Driver sony-laptop: Fix handling sony_nc_hotkeys_decode result intel_mid_powerbtn: Remove misuse of IRQF_NO_SUSPEND flag compal-laptop: Add charge control limit asus-wmi: restore kbd led level after resume toshiba_acpi: Remove unneeded u32 variables from *setup_keyboard toshiba_acpi: Add 0x prefix to available_kbd_modes_show function toshiba_acpi: Change default Hotkey enabling value toshiba_acpi: Unify hotkey enabling functions commit 2f4bf528eca5b2d9eef12b6d323c040254f8f67c Merge: 2e3078a 8bdf202 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 23:38:43 2015 -0800 Merge tag 'powerpc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc updates from Michael Ellerman: - Kconfig: remove BE-only platforms from LE kernel build from Boqun Feng - Refresh ps3_defconfig from Geoff Levand - Emit GNU & SysV hashes for the vdso from Michael Ellerman - Define an enum for the bolted SLB indexes from Anshuman Khandual - Use a local to avoid multiple calls to get_slb_shadow() from Michael Ellerman - Add gettimeofday() benchmark from Michael Neuling - Avoid link stack corruption in __get_datapage() from Michael Neuling - Add virt_to_pfn and use this instead of opencoding from Aneesh Kumar K.V - Add ppc64le_defconfig from Michael Ellerman - pseries: extract of_helpers module from Andy Shevchenko - Correct string length in pseries_of_derive_parent() from Nathan Fontenot - Free the MSI bitmap if it was slab allocated from Denis Kirjanov - Shorten irq_chip name for the SIU from Christophe Leroy - Wait 1s for secondaries to enter OPAL during kexec from Samuel Mendoza-Jonas - Fix _ALIGN_* errors due to type difference, from Aneesh Kumar K.V - powerpc/pseries/hvcserver: don't memset pi_buff if it is null from Colin Ian King - Disable hugepd for 64K page size, from Aneesh Kumar K.V - Differentiate between hugetlb and THP during page walk from Aneesh Kumar K.V - Make PCI non-optional for pseries from Michael Ellerman - Individual System V IPC system calls from Sam bobroff - Add selftest of unmuxed IPC calls from Michael Ellerman - discard .exit.data at runtime from Stephen Rothwell - Delete old orphaned PrPMC 280/2800 DTS and boot file, from Paul Gortmaker - Use of_get_next_parent to simplify code from Christophe Jaillet - Paginate some xmon output from Sam bobroff - Add some more elements to the xmon PACA dump from Michael Ellerman - Allow the tm-syscall selftest to build with old headers from Michael Ellerman - Run EBB selftests only on POWER8 from Denis Kirjanov - Drop CONFIG_TUNE_CELL in favour of CONFIG_CELL_CPU from Michael Ellerman - Avoid reference to potentially freed memory in prom.c from Christophe Jaillet - Quieten boot wrapper output with run_cmd from Geoff Levand - EEH fixes and cleanups from Gavin Shan - Fix recursive fenced PHB on Broadcom shiner adapter from Gavin Shan - Use of_get_next_parent() in of_get_ibm_chip_id() from Michael Ellerman - Fix section mismatch warning in msi_bitmap_alloc() from Denis Kirjanov - Fix ps3-lpm white space from Rudhresh Kumar J - Fix ps3-vuart null dereference from Colin King - nvram: Add missing kfree in error path from Christophe Jaillet - nvram: Fix function name in some errors messages, from Christophe Jaillet - drivers/macintosh: adb: fix misleading Kconfig help text from Aaro Koskinen - agp/uninorth: fix a memleak in create_gatt_table from Denis Kirjanov - cxl: Free virtual PHB when removing from Andrew Donnellan - scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target from Michael Ellerman - scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building with O= from Michael Ellerman - Freescale updates from Scott: Highlights include 64-bit book3e kexec/kdump support, a rework of the qoriq clock driver, device tree changes including qoriq fman nodes, support for a new 85xx board, and some fixes. - MPC5xxx updates from Anatolij: Highlights include a driver for MPC512x LocalPlus Bus FIFO with its device tree binding documentation, mpc512x device tree updates and some minor fixes. * tag 'powerpc-4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (106 commits) powerpc/msi: Fix section mismatch warning in msi_bitmap_alloc() powerpc/prom: Use of_get_next_parent() in of_get_ibm_chip_id() powerpc/pseries: Correct string length in pseries_of_derive_parent() powerpc/e6500: hw tablewalk: make sure we invalidate and write to the same tlb entry powerpc/mpc85xx: Add FSL QorIQ DPAA FMan support to the SoC device tree(s) powerpc/mpc85xx: Create dts components for the FSL QorIQ DPAA FMan powerpc/fsl: Add #clock-cells and clockgen label to clockgen nodes powerpc: handle error case in cpm_muram_alloc() powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake powerpc/book3e-64: Enable kexec powerpc/book3e-64/kexec: Set "r4 = 0" when entering spinloop powerpc/booke: Only use VIRT_PHYS_OFFSET on booke32 powerpc/book3e-64/kexec: Enable SMP release powerpc/book3e-64/kexec: create an identity TLB mapping powerpc/book3e-64: Don't limit paca to 256 MiB powerpc/book3e/kdump: Enable crash_kexec_wait_realmode powerpc/book3e: support CONFIG_RELOCATABLE powerpc/booke64: Fix args to copy_and_flush powerpc/book3e-64: rename interrupt_end_book3e with __end_interrupts powerpc/e6500: kexec: Handle hardware threads ... commit 2e3078af2c67730c479f1d183af5b367f5d95337 Merge: ea5c58e b3b0d09 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 23:10:54 2015 -0800 Merge branch 'akpm' (patches from Andrew) Merge patch-bomb from Andrew Morton: - inotify tweaks - some ocfs2 updates (many more are awaiting review) - various misc bits - kernel/watchdog.c updates - Some of mm. I have a huge number of MM patches this time and quite a lot of it is quite difficult and much will be held over to next time. * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (162 commits) selftests: vm: add tests for lock on fault mm: mlock: add mlock flags to enable VM_LOCKONFAULT usage mm: introduce VM_LOCKONFAULT mm: mlock: add new mlock system call mm: mlock: refactor mlock, munlock, and munlockall code kasan: always taint kernel on report mm, slub, kasan: enable user tracking by default with KASAN=y kasan: use IS_ALIGNED in memory_is_poisoned_8() kasan: Fix a type conversion error lib: test_kasan: add some testcases kasan: update reference to kasan prototype repo kasan: move KASAN_SANITIZE in arch/x86/boot/Makefile kasan: various fixes in documentation kasan: update log messages kasan: accurately determine the type of the bad access kasan: update reported bug types for kernel memory accesses kasan: update reported bug types for not user nor kernel memory accesses mm/kasan: prevent deadlock in kasan reporting mm/kasan: don't use kasan shadow pointer in generic functions mm/kasan: MODULE_VADDR is not available on all archs ... commit ea5c58e70c3a148ada0d3061a8f529589bb766ba Author: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Fri Nov 6 00:32:04 2015 -0600 vfs: clear remainder of 'full_fds_bits' in dup_fd() This fixes a bug from commit f3f86e33dc3d ("vfs: Fix pathological performance case for __alloc_fd()"). v2: refactor to share fd bitmap copying code Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f74f2e2e26199f695ca3df94f29e9ab7cb707ea4 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Nov 3 16:03:30 2015 +1100 KVM: PPC: Book3S HV: Don't dynamically split core when already split In static micro-threading modes, the dynamic micro-threading code is supposed to be disabled, because subcores can't make independent decisions about what micro-threading mode to put the core in - there is only one micro-threading mode for the whole core. The code that implements dynamic micro-threading checks for this, except that the check was missed in one case. This means that it is possible for a subcore in static 2-way micro-threading mode to try to put the core into 4-way micro-threading mode, which usually leads to stuck CPUs, spinlock lockups, and other stalls in the host. The problem was in the can_split_piggybacked_subcores() function, which should always return false if the system is in a static micro-threading mode. This fixes the problem by making can_split_piggybacked_subcores() use subcore_config_ok() for its checks, as subcore_config_ok() includes the necessary check for the static micro-threading modes. Credit to Gautham Shenoy for working out that the reason for the hangs and stalls we were seeing was that we were trying to do dynamic 4-way micro-threading while we were in static 2-way mode. Fixes: b4deba5c41e9 Cc: vger@xxxxxxxxxxxxxxxxx # v4.3 Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit cf29b21595b91eecce6ca69b0f92d60bca076ef0 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Oct 27 16:10:20 2015 +1100 KVM: PPC: Book3S HV: Synthesize segment fault if SLB lookup fails When handling a hypervisor data or instruction storage interrupt (HDSI or HISI), we look up the SLB entry for the address being accessed in order to translate the effective address to a virtual address which can be looked up in the guest HPT. This lookup can occasionally fail due to the guest replacing an SLB entry without invalidating the evicted SLB entry. In this situation an ERAT (effective to real address translation cache) entry can persist and be used by the hardware even though there is no longer a corresponding SLB entry. Previously we would just deliver a data or instruction storage interrupt (DSI or ISI) to the guest in this case. However, this is not correct and has been observed to cause guests to crash, typically with a data storage protection interrupt on a store to the vmemmap area. Instead, what we do now is to synthesize a data or instruction segment interrupt. That should cause the guest to reload an appropriate entry into the SLB and retry the faulting instruction. If it still faults, we should find an appropriate SLB entry next time and be able to handle the fault. Tested-by: Thomas Huth <thuth@xxxxxxxxxx> Reviewed-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit b3b0d09c7a2330759ac293f5269bd932439ea0ff Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Thu Nov 5 18:51:43 2015 -0800 selftests: vm: add tests for lock on fault Test the mmap() flag, and the mlockall() flag. These tests ensure that pages are not faulted in until they are accessed, that the pages are unevictable once faulted in, and that VMA splitting and merging works with the new VM flag. The second test ensures that mlock limits are respected. Note that the limit test needs to be run a normal user. Also add tests to use the new mlock2 family of system calls. [treding@xxxxxxxxxx: : Fix mlock2-tests for 32-bit architectures] [treding@xxxxxxxxxx: ensure the mlock2 syscall number can be found] [treding@xxxxxxxxxx: use the right arguments for main()] Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b0f205c2a3082dd9081f9a94e50658c5fa906ff1 Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Thu Nov 5 18:51:39 2015 -0800 mm: mlock: add mlock flags to enable VM_LOCKONFAULT usage The previous patch introduced a flag that specified pages in a VMA should be placed on the unevictable LRU, but they should not be made present when the area is created. This patch adds the ability to set this state via the new mlock system calls. We add MLOCK_ONFAULT for mlock2 and MCL_ONFAULT for mlockall. MLOCK_ONFAULT will set the VM_LOCKONFAULT modifier for VM_LOCKED. MCL_ONFAULT should be used as a modifier to the two other mlockall flags. When used with MCL_CURRENT, all current mappings will be marked with VM_LOCKED | VM_LOCKONFAULT. When used with MCL_FUTURE, the mm->def_flags will be marked with VM_LOCKED | VM_LOCKONFAULT. When used with both MCL_CURRENT and MCL_FUTURE, all current mappings and mm->def_flags will be marked with VM_LOCKED | VM_LOCKONFAULT. Prior to this patch, mlockall() will unconditionally clear the mm->def_flags any time it is called without MCL_FUTURE. This behavior is maintained after adding MCL_ONFAULT. If a call to mlockall(MCL_FUTURE) is followed by mlockall(MCL_CURRENT), the mm->def_flags will be cleared and new VMAs will be unlocked. This remains true with or without MCL_ONFAULT in either mlockall() invocation. munlock() will unconditionally clear both vma flags. munlockall() unconditionally clears for VMA flags on all VMAs and in the mm->def_flags field. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de60f5f10c58d4f34b68622442c0e04180367f3f Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Thu Nov 5 18:51:36 2015 -0800 mm: introduce VM_LOCKONFAULT The cost of faulting in all memory to be locked can be very high when working with large mappings. If only portions of the mapping will be used this can incur a high penalty for locking. For the example of a large file, this is the usage pattern for a large statical language model (probably applies to other statical or graphical models as well). For the security example, any application transacting in data that cannot be swapped out (credit card data, medical records, etc). This patch introduces the ability to request that pages are not pre-faulted, but are placed on the unevictable LRU when they are finally faulted in. The VM_LOCKONFAULT flag will be used together with VM_LOCKED and has no effect when set without VM_LOCKED. Setting the VM_LOCKONFAULT flag for a VMA will cause pages faulted into that VMA to be added to the unevictable LRU when they are faulted or if they are already present, but will not cause any missing pages to be faulted in. Exposing this new lock state means that we cannot overload the meaning of the FOLL_POPULATE flag any longer. Prior to this patch it was used to mean that the VMA for a fault was locked. This means we need the new FOLL_MLOCK flag to communicate the locked state of a VMA. FOLL_POPULATE will now only control if the VMA should be populated and in the case of VM_LOCKONFAULT, it will not be set. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a8ca5d0ecbdde5cc3d7accacbd69968b0c98764e Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Thu Nov 5 18:51:33 2015 -0800 mm: mlock: add new mlock system call With the refactored mlock code, introduce a new system call for mlock. The new call will allow the user to specify what lock states are being added. mlock2 is trivial at the moment, but a follow on patch will add a new mlock state making it useful. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1aab92ec3de552362397b718744872ea2d17add2 Author: Eric B Munson <emunson@xxxxxxxxxx> Date: Thu Nov 5 18:51:29 2015 -0800 mm: mlock: refactor mlock, munlock, and munlockall code mlock() allows a user to control page out of program memory, but this comes at the cost of faulting in the entire mapping when it is allocated. For large mappings where the entire area is not necessary this is not ideal. Instead of forcing all locked pages to be present when they are allocated, this set creates a middle ground. Pages are marked to be placed on the unevictable LRU (locked) when they are first used, but they are not faulted in by the mlock call. This series introduces a new mlock() system call that takes a flags argument along with the start address and size. This flags argument gives the caller the ability to request memory be locked in the traditional way, or to be locked after the page is faulted in. A new MCL flag is added to mirror the lock on fault behavior from mlock() in mlockall(). There are two main use cases that this set covers. The first is the security focussed mlock case. A buffer is needed that cannot be written to swap. The maximum size is known, but on average the memory used is significantly less than this maximum. With lock on fault, the buffer is guaranteed to never be paged out without consuming the maximum size every time such a buffer is created. The second use case is focussed on performance. Portions of a large file are needed and we want to keep the used portions in memory once accessed. This is the case for large graphical models where the path through the graph is not known until run time. The entire graph is unlikely to be used in a given invocation, but once a node has been used it needs to stay resident for further processing. Given these constraints we have a number of options. We can potentially waste a large amount of memory by mlocking the entire region (this can also cause a significant stall at startup as the entire file is read in). We can mlock every page as we access them without tracking if the page is already resident but this introduces large overhead for each access. The third option is mapping the entire region with PROT_NONE and using a signal handler for SIGSEGV to mprotect(PROT_READ) and mlock() the needed page. Doing this page at a time adds a significant performance penalty. Batching can be used to mitigate this overhead, but in order to safely avoid trying to mprotect pages outside of the mapping, the boundaries of each mapping to be used in this way must be tracked and available to the signal handler. This is precisely what the mm system in the kernel should already be doing. For mlock(MLOCK_ONFAULT) the user is charged against RLIMIT_MEMLOCK as if mlock(MLOCK_LOCKED) or mmap(MAP_LOCKED) was used, so when the VMA is created not when the pages are faulted in. For mlockall(MCL_ONFAULT) the user is charged as if MCL_FUTURE was used. This decision was made to keep the accounting checks out of the page fault path. To illustrate the benefit of this set I wrote a test program that mmaps a 5 GB file filled with random data and then makes 15,000,000 accesses to random addresses in that mapping. The test program was run 20 times for each setup. Results are reported for two program portions, setup and execution. The setup phase is calling mmap and optionally mlock on the entire region. For most experiments this is trivial, but it highlights the cost of faulting in the entire region. Results are averages across the 20 runs in milliseconds. mmap with mlock(MLOCK_LOCKED) on entire range: Setup avg: 8228.666 Processing avg: 8274.257 mmap with mlock(MLOCK_LOCKED) before each access: Setup avg: 0.113 Processing avg: 90993.552 mmap with PROT_NONE and signal handler and batch size of 1 page: With the default value in max_map_count, this gets ENOMEM as I attempt to change the permissions, after upping the sysctl significantly I get: Setup avg: 0.058 Processing avg: 69488.073 mmap with PROT_NONE and signal handler and batch size of 8 pages: Setup avg: 0.068 Processing avg: 38204.116 mmap with PROT_NONE and signal handler and batch size of 16 pages: Setup avg: 0.044 Processing avg: 29671.180 mmap with mlock(MLOCK_ONFAULT) on entire range: Setup avg: 0.189 Processing avg: 17904.899 The signal handler in the batch cases faulted in memory in two steps to avoid having to know the start and end of the faulting mapping. The first step covers the page that caused the fault as we know that it will be possible to lock. The second step speculatively tries to mlock and mprotect the batch size - 1 pages that follow. There may be a clever way to avoid this without having the program track each mapping to be covered by this handeler in a globally accessible structure, but I could not find it. It should be noted that with a large enough batch size this two step fault handler can still cause the program to crash if it reaches far beyond the end of the mapping. These results show that if the developer knows that a majority of the mapping will be used, it is better to try and fault it in at once, otherwise mlock(MLOCK_ONFAULT) is significantly faster. The performance cost of these patches are minimal on the two benchmarks I have tested (stream and kernbench). The following are the average values across 20 runs of stream and 10 runs of kernbench after a warmup run whose results were discarded. Avg throughput in MB/s from stream using 1000000 element arrays Test 4.2-rc1 4.2-rc1+lock-on-fault Copy: 10,566.5 10,421 Scale: 10,685 10,503.5 Add: 12,044.1 11,814.2 Triad: 12,064.8 11,846.3 Kernbench optimal load 4.2-rc1 4.2-rc1+lock-on-fault Elapsed Time 78.453 78.991 User Time 64.2395 65.2355 System Time 9.7335 9.7085 Context Switches 22211.5 22412.1 Sleeps 14965.3 14956.1 This patch (of 6): Extending the mlock system call is very difficult because it currently does not take a flags argument. A later patch in this set will extend mlock to support a middle ground between pages that are locked and faulted in immediately and unlocked pages. To pave the way for the new system call, the code needs some reorganization so that all the actual entry point handles is checking input and translating to VMA flags. Signed-off-by: Eric B Munson <emunson@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit eb06f43f1c94d502b7867b0998e92cdabbc060bc Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Thu Nov 5 18:51:26 2015 -0800 kasan: always taint kernel on report Currently we already taint the kernel in some cases. E.g. if we hit some bug in slub memory we call object_err() which will taint the kernel with TAINT_BAD_PAGE flag. But for other kind of bugs kernel left untainted. Always taint with TAINT_BAD_PAGE if kasan found some bug. This is useful for automated testing. Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Reviewed-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 89d3c87e20d95e3238eac85e43de7b3cb1f39d8b Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Thu Nov 5 18:51:23 2015 -0800 mm, slub, kasan: enable user tracking by default with KASAN=y It's recommended to have slub's user tracking enabled with CONFIG_KASAN, because: a) User tracking disables slab merging which improves detecting out-of-bounds accesses. b) User tracking metadata acts as redzone which also improves detecting out-of-bounds accesses. c) User tracking provides additional information about object. This information helps to understand bugs. Currently it is not enabled by default. Besides recompiling the kernel with KASAN and reinstalling it, user also have to change the boot cmdline, which is not very handy. Enable slub user tracking by default with KASAN=y, since there is no good reason to not do this. [akpm@xxxxxxxxxxxxxxxxxxxx: little fixes, per David] Signed-off-by: Andrey Ryabinin <aryabinin@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 10f702627e139e21465f4c9d44f63527bbca163c Author: Xishi Qiu <qiuxishi@xxxxxxxxxx> Date: Thu Nov 5 18:51:21 2015 -0800 kasan: use IS_ALIGNED in memory_is_poisoned_8() Use IS_ALIGNED() to determine whether the shadow span two bytes. It generates less code and more readable. Also add some comments in shadow check functions. Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx> Acked-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Andrey Konovalov <adech.fo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e0d57714394f5e2ce4e2f9bbebf48e3c7a7fd3be Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Thu Nov 5 18:51:18 2015 -0800 kasan: Fix a type conversion error The current KASAN code can not find the following out-of-bounds bugs: char *ptr; ptr = kmalloc(8, GFP_KERNEL); memset(ptr+7, 0, 2); the cause of the problem is the type conversion error in *memory_is_poisoned_n* function. So this patch fix that. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Vladimir Murzin <vladimir.murzin@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f523e737c08f5daaec9fac017e1bc5695e6f2760 Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Thu Nov 5 18:51:15 2015 -0800 lib: test_kasan: add some testcases Add some out of bounds testcases to test_kasan module. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Vladimir Murzin <vladimir.murzin@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d0926efe728e00afbd81a1e3c498222cf908d23 Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:51:12 2015 -0800 kasan: update reference to kasan prototype repo Update the reference to the kasan prototype repository on github, since it was renamed. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c63f06dd15797736c31dc86e6392811d0bac34a1 Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:51:09 2015 -0800 kasan: move KASAN_SANITIZE in arch/x86/boot/Makefile Move KASAN_SANITIZE in arch/x86/boot/Makefile above the comment related to SVGA_MODE, since the comment refers to 'the next line'. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0295fd5d570626817d10deadf5a2ad5e49c36a1d Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:51:06 2015 -0800 kasan: various fixes in documentation [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25add7ec708170e4eaef1f9793a07803b2fb5c71 Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:51:03 2015 -0800 kasan: update log messages We decided to use KASAN as the short name of the tool and KernelAddressSanitizer as the full one. Update log messages according to that. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdf6a273dc4346277ab9d148ef29f6e058624a8c Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:51:01 2015 -0800 kasan: accurately determine the type of the bad access Makes KASAN accurately determine the type of the bad access. If the shadow byte value is in the [0, KASAN_SHADOW_SCALE_SIZE) range we can look at the next shadow byte to determine the type of the access. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0952d87fd6a6211ac51b2abdc5c066b49c651fd8 Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:50:58 2015 -0800 kasan: update reported bug types for kernel memory accesses Update the names of the bad access types to better reflect the type of the access that happended and make these error types "literals" that can be used for classification and deduplication in scripts. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e91210766341cb356ead7fd39f07493a3d00b80f Author: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Date: Thu Nov 5 18:50:55 2015 -0800 kasan: update reported bug types for not user nor kernel memory accesses Each access with address lower than kasan_shadow_to_mem(KASAN_SHADOW_START) is reported as user-memory-access. This is not always true, the accessed address might not be in user space. Fix this by reporting such accesses as null-ptr-derefs or wild-memory-accesses. There's another reason for this change. For userspace ASan we have a bunch of systems that analyze error types for the purpose of classification and deduplication. Sooner of later we will write them to KASAN as well. Then clearly and explicitly stated error types will bring value. Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Konstantin Serebryany <kcc@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fc5aeeaf593278f07ffa4d97296e27423ecae867 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:51 2015 -0800 mm/kasan: prevent deadlock in kasan reporting When we end up calling kasan_report in real mode, our shadow mapping for the spinlock variable will show poisoned. This will result in us calling kasan_report_error with lock_report spin lock held. To prevent this disable kasan reporting when we are priting error w.r.t kasan. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2377d4eaab2aabe1938b3974b5b94f5ba4c7ead Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:48 2015 -0800 mm/kasan: don't use kasan shadow pointer in generic functions We can't use generic functions like print_hex_dump to access kasan shadow region. This require us to setup another kasan shadow region for the address passed (kasan shadow address). Some architectures won't be able to do that. Hence make a copy of the shadow region row and pass that to generic functions. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 527f215b78976e94995dce7163b07539b576d519 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:46 2015 -0800 mm/kasan: MODULE_VADDR is not available on all archs Use is_module_address instead Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ba8663cbfae066fc504b858db7cbb7d03c2b872 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:43 2015 -0800 mm/kasan: rename kasan_enabled() to kasan_report_enabled() The function only disable/enable reporting. In the later patch we will be adding a kasan early enable/disable. Rename kasan_enabled to properly reflect its function. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5ba97bf9d8754bd984e81c1061fcda682681939e Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:40 2015 -0800 mm: remove refresh_cpu_vm_stats() definition for !SMP kernel refresh_cpu_vm_stats(int cpu) is no longer referenced by !SMP kernel since Linux 3.12. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a5be35632cf3048d3922e2e2fb05a4c6f0889ff0 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:50:37 2015 -0800 Documentation/filesystems/proc.txt: a little tidying There's an odd line about "Locked" at the head of the description of /proc/meminfo: it seems to have strayed from /proc/PID/smaps, so lead it back there. Move "Swap" and "SwapPss" descriptions down above it, to match the order in the file (though "PageSize"s still undescribed). The example of "Locked: 374 kB" (the same as Pss, neither Rss nor Size) is so unlikely as to be misleading: just make it 0, this is /bin/bash text; which would be "dw" (disabled write) not "de" (do not expand). Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d0424c429f8e0555a337d71e0a13f2289c636ec9 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:50:34 2015 -0800 tmpfs: avoid a little creat and stat slowdown LKP reports that v4.2 commit afa2db2fb6f1 ("tmpfs: truncate prealloc blocks past i_size") causes a 14.5% slowdown in the AIM9 creat-clo benchmark. creat-clo does just what you'd expect from the name, and creat's O_TRUNC on 0-length file does indeed get into more overhead now shmem_setattr() tests "0 <= 0" instead of "0 < 0". I'm not sure how much we care, but I think it would not be too VW-like to add in a check for whether any pages (or swap) are allocated: if none are allocated, there's none to remove from the radix_tree. At first I thought that check would be good enough for the unmaps too, but no: we should not skip the unlikely case of unmapping pages beyond the new EOF, which were COWed from holes which have now been reclaimed, leaving none. This gives me an 8.5% speedup: on Haswell instead of LKP's Westmere, and running a debug config before and after: I hope those account for the lesser speedup. And probably someone has a benchmark where a thousand threads keep on stat'ing the same file repeatedly: forestall that report by adjusting v4.3 commit 44a30220bc0a ("shmem: recalculate file inode when fstat") not to take the spinlock in shmem_getattr() when there's no work to do. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Reported-by: Ying Huang <ying.huang@xxxxxxxxxxxxxxx> Tested-by: Ying Huang <ying.huang@xxxxxxxxxxxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Cc: Yu Zhao <yuzhao@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b72bdfa73603f2f81fbac651b9ae36807e877752 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Thu Nov 5 18:50:32 2015 -0800 mm, oom: add comment for why oom_adj exists /proc/pid/oom_adj exists solely to avoid breaking existing userspace binaries that write to the tunable. Add a comment in the only possible location within the kernel tree to describe the situation and motivation for keeping it around. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c12176d3368b9b36ae484d323d41e94be26f9b65 Author: Michal Hocko <mhocko@xxxxxxxx> Date: Thu Nov 5 18:50:29 2015 -0800 memcg: fix thresholds for 32b architectures. Commit 424cdc141380 ("memcg: convert threshold to bytes") has fixed a regression introduced by 3e32cb2e0a12 ("mm: memcontrol: lockless page counters") where thresholds were silently converted to use page units rather than bytes when interpreting the user input. The fix is not complete, though, as properly pointed out by Ben Hutchings during stable backport review. The page count is converted to bytes but unsigned long is used to hold the value which would be obviously not sufficient for 32b systems with more than 4G thresholds. The same applies to usage as taken from mem_cgroup_usage which might overflow. Let's remove this bytes vs. pages internal tracking differences and handle thresholds in page units internally. Chage mem_cgroup_usage() to return the value in page units and revert 424cdc141380 because this should be sufficient for the consistent handling. mem_cgroup_read_u64 as the only users of mem_cgroup_usage outside of the threshold handling code is converted to give the proper in bytes result. It is doing that already for page_counter output so this is more consistent as well. The value presented to the userspace is still in bytes units. Fixes: 424cdc141380 ("memcg: convert threshold to bytes") Fixes: 3e32cb2e0a12 ("mm: memcontrol: lockless page counters") Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> From: Michal Hocko <mhocko@xxxxxxxxxx> Subject: memcg-fix-thresholds-for-32b-architectures-fix Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: memcg-fix-thresholds-for-32b-architectures-fix-fix don't attempt to inline mem_cgroup_usage() The compiler ignores the inline anwyay. And __always_inlining it adds 600 bytes of goop to the .o file. Cc: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6071ca5201066f4b2a61cfb693dd186d6bc6e9f3 Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Nov 5 18:50:26 2015 -0800 mm: page_counter: let page_counter_try_charge() return bool page_counter_try_charge() currently returns 0 on success and -ENOMEM on failure, which is surprising behavior given the function name. Make it follow the expected pattern of try_stuff() functions that return a boolean true to indicate success, or false for failure. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f5fc3c5d817435970aa301d066820a9ac12c8120 Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Nov 5 18:50:23 2015 -0800 mm: memcontrol: eliminate root memory.current memory.current on the root level doesn't add anything that wouldn't be more accurate and detailed using system statistics. It already doesn't include slabs, and it'll be a pain to keep in sync when further memory types are accounted in the memory controller. Remove it. Note that this applies to the new unified hierarchy interface only. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e0ec90ee7e6f6cbaa6d59ffb48d2a7af5e80e61d Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:20 2015 -0800 mm, hugetlbfs: optimize when NUMA=n My recent patch "mm, hugetlb: use memory policy when available" added some bloat to hugetlb.o. This patch aims to get some of the bloat back, especially when NUMA is not in play. It does this with an implicit #ifdef and marking some things static that should have been static in my first patch. It also makes the warnings only VM_WARN_ON()s. They were responsible for a pretty big chunk of the bloat. Doing this gets our NUMA=n text size back to a wee bit _below_ where we started before the original patch. It also shaves a bit of space off the NUMA=y case, but not much. Enforcing the mempolicy definitely takes some text and it's hard to avoid. size(1) output: text data bss dec hex filename 30745 3433 2492 36670 8f3e hugetlb.o.nonuma.baseline 31305 3755 2492 37552 92b0 hugetlb.o.nonuma.patch1 30713 3433 2492 36638 8f1e hugetlb.o.nonuma.patch2 (this patch) 25235 473 41276 66984 105a8 hugetlb.o.numa.baseline 25715 475 41276 67466 1078a hugetlb.o.numa.patch1 25491 473 41276 67240 106a8 hugetlb.o.numa.patch2 (this patch) Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 099730d67417dfee273e9b10ac2560ca7fac7eb9 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:17 2015 -0800 mm, hugetlb: use memory policy when available I have a hugetlbfs user which is never explicitly allocating huge pages with 'nr_hugepages'. They only set 'nr_overcommit_hugepages' and then let the pages be allocated from the buddy allocator at fault time. This works, but they noticed that mbind() was not doing them any good and the pages were being allocated without respect for the policy they specified. The code in question is this: > struct page *alloc_huge_page(struct vm_area_struct *vma, ... > page = dequeue_huge_page_vma(h, vma, addr, avoid_reserve, gbl_chg); > if (!page) { > page = alloc_buddy_huge_page(h, NUMA_NO_NODE); dequeue_huge_page_vma() is smart and will respect the VMA's memory policy. But, it only grabs _existing_ huge pages from the huge page pool. If the pool is empty, we fall back to alloc_buddy_huge_page() which obviously can't do anything with the VMA's policy because it isn't even passed the VMA. Almost everybody preallocates huge pages. That's probably why nobody has ever noticed this. Looking back at the git history, I don't think this _ever_ worked from when alloc_buddy_huge_page() was introduced in 7893d1d5, 8 years ago. The fix is to pass vma/addr down in to the places where we actually call in to the buddy allocator. It's fairly straightforward plumbing. This has been lightly tested. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Cc: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b4e289a6a659c5c2c056a67fa4f31f3dd8317537 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:50:14 2015 -0800 mm/hugetlb: make node_hstates array static There are no users of the node_hstates array outside of the mm/hugetlb.c. So let's make it static. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9dd861d55b01f1d0848f82007e8665371ae18710 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:11 2015 -0800 mm/maccess.c: actually return -EFAULT from strncpy_from_unsafe As far as I can tell, strncpy_from_unsafe never returns -EFAULT. ret is the result of a __copy_from_user_inatomic(), which is 0 for success and positive (in this case necessarily 1) for access error - it is never negative. So we were always returning the length of the, possibly truncated, destination string. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3acaea6804b3a10e996ce6ebc342089f481e1cdb Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:50:08 2015 -0800 mm/cma.c: suppress warning mm/cma.c: In function 'cma_alloc': mm/cma.c:366: warning: 'pfn' may be used uninitialized in this function The patch actually improves the tracing a bit: if alloc_contig_range() fails, tracing will display the offending pfn rather than -1. Cc: Stefan Strogin <stefan.strogin@xxxxxxxxx> Cc: Michal Nazarewicz <mpn@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 42cb14b110a5698ccf26ce59c4441722605a3743 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:50:05 2015 -0800 mm: migrate dirty page without clear_page_dirty_for_io etc clear_page_dirty_for_io() has accumulated writeback and memcg subtleties since v2.6.16 first introduced page migration; and the set_page_dirty() which completed its migration of PageDirty, later had to be moderated to __set_page_dirty_nobuffers(); then PageSwapBacked had to skip that too. No actual problems seen with this procedure recently, but if you look into what the clear_page_dirty_for_io(page)+set_page_dirty(newpage) is actually achieving, it turns out to be nothing more than moving the PageDirty flag, and its NR_FILE_DIRTY stat from one zone to another. It would be good to avoid a pile of irrelevant decrementations and incrementations, and improper event counting, and unnecessary descent of the radix_tree under tree_lock (to set the PAGECACHE_TAG_DIRTY which radix_tree_replace_slot() left in place anyway). Do the NR_FILE_DIRTY movement, like the other stats movements, while interrupts still disabled in migrate_page_move_mapping(); and don't even bother if the zone is the same. Do the PageDirty movement there under tree_lock too, where old page is frozen and newpage not yet visible: bearing in mind that as soon as newpage becomes visible in radix_tree, an un-page-locked set_page_dirty() might interfere (or perhaps that's just not possible: anything doing so should already hold an additional reference to the old page, preventing its migration; but play safe). But we do still need to transfer PageDirty in migrate_page_copy(), for those who don't go the mapping route through migrate_page_move_mapping(). Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cf4b769abb8aef01f887543cb8308c0d8671367c Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:50:02 2015 -0800 mm: page migration avoid touching newpage until no going back We have had trouble in the past from the way in which page migration's newpage is initialized in dribs and drabs - see commit 8bdd63809160 ("mm: fix direct reclaim writeback regression") which proposed a cleanup. We have no actual problem now, but I think the procedure would be clearer (and alternative get_new_page pools safer to implement) if we assert that newpage is not touched until we are sure that it's going to be used - except for taking the trylock on it in __unmap_and_move(). So shift the early initializations from move_to_new_page() into migrate_page_move_mapping(), mapping and NULL-mapping paths. Similarly migrate_huge_page_move_mapping(), but its NULL-mapping path can just be deleted: you cannot reach hugetlbfs_migrate_page() with a NULL mapping. Adjust stages 3 to 8 in the Documentation file accordingly. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 470f119f012068e5d94458c98dc4eec102f88cd3 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:59 2015 -0800 mm: page migration use migration entry for swapcache too Hitherto page migration has avoided using a migration entry for a swapcache page mapped into userspace, apparently for historical reasons. So any page blessed with swapcache would entail a minor fault when it's next touched, which page migration otherwise tries to avoid. Swapcache in an mlocked area is rare, so won't often matter, but still better fixed. Just rearrange the block in try_to_unmap_one(), to handle TTU_MIGRATION before checking PageAnon, that's all (apart from some reindenting). Well, no, that's not quite all: doesn't this by the way fix a soft_dirty bug, that page migration of a file page was forgetting to transfer the soft_dirty bit? Probably not a serious bug: if I understand correctly, soft_dirty afficionados usually have to handle file pages separately anyway; but we publish the bit in /proc/<pid>/pagemap on file mappings as well as anonymous, so page migration ought not to perturb it. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Reviewed-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 03f15c86c8d1b9d81e6d215715e110aef8f936e0 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:56 2015 -0800 mm: simplify page migration's anon_vma comment and flow __unmap_and_move() contains a long stale comment on page_get_anon_vma() and PageSwapCache(), with an odd control flow that's hard to follow. Mostly this reflects our confusion about the lifetime of an anon_vma, in the early days of page migration, before we could take a reference to one. Nowadays this seems quite straightforward: cut it all down to essentials. I cannot see the relevance of swapcache here at all, so don't treat it any differently: I believe the old comment reflects in part our anon_vma confusions, and in part the original v2.6.16 page migration technique, which used actual swap to migrate anon instead of swap-like migration entries. Why should a swapcache page not be migrated with the aid of migration entry ptes like everything else? So lose that comment now, and enable migration entries for swapcache in the next patch. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5c3f9a67371643b6faa987622bc1b67667bab848 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:53 2015 -0800 mm: page migration remove_migration_ptes at lock+unlock level Clean up page migration a little more by calling remove_migration_ptes() from the same level, on success or on failure, from __unmap_and_move() or from unmap_and_move_huge_page(). Don't reset page->mapping of a PageAnon old page in move_to_new_page(), leave that to when the page is freed. Except for here in page migration, it has been an invariant that a PageAnon (bit set in page->mapping) page stays PageAnon until it is freed, and I think we're safer to keep to that. And with the above rearrangement, it's necessary because zap_pte_range() wants to identify whether a migration entry represents a file or an anon page, to update the appropriate rss stats without waiting on it. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7db7671f835ccad66db20154ac1274140937d9b7 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:49 2015 -0800 mm: page migration trylock newpage at same level as oldpage Clean up page migration a little by moving the trylock of newpage from move_to_new_page() into __unmap_and_move(), where the old page has been locked. Adjust unmap_and_move_huge_page() and balloon_page_migrate() accordingly. But make one kind-of-functional change on the way: whereas trylock of newpage used to BUG() if it failed, now simply return -EAGAIN if so. Cutting out BUG()s is good, right? But, to be honest, this is really to extend the usefulness of the custom put_new_page feature, allowing a pool of new pages to be shared perhaps with racing uses. Use an "else" instead of that "skip_unmap" label. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Acked-by: Rafael Aquini <aquini@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2def7424c9be0069831380823fdb5cf72103b919 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:46 2015 -0800 mm: page migration use the put_new_page whenever necessary I don't know of any problem from the way it's used in our current tree, but there is one defect in page migration's custom put_new_page feature. An unused newpage is expected to be released with the put_new_page(), but there was one MIGRATEPAGE_SUCCESS (0) path which released it with putback_lru_page(): which can be very wrong for a custom pool. Fixed more easily by resetting put_new_page once it won't be needed, than by adding a further flag to modify the rc test. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 14e0f9bcc95f1aef26a9f860cceda35faee79b34 Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:43 2015 -0800 mm: correct a couple of page migration comments It's migrate.c not migration,c, and nowadays putback_movable_pages() not putback_lru_pages(). Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Acked-by: Rafael Aquini <aquini@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 45637bab30d6e7651737f51aa99417baef4d114a Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:40 2015 -0800 mm: rename mem_cgroup_migrate to mem_cgroup_replace_page After v4.3's commit 0610c25daa3e ("memcg: fix dirty page migration") mem_cgroup_migrate() doesn't have much to offer in page migration: convert migrate_misplaced_transhuge_page() to set_page_memcg() instead. Then rename mem_cgroup_migrate() to mem_cgroup_replace_page(), since its remaining callers are replace_page_cache_page() and shmem_replace_page(): both of whom passed lrucare true, so just eliminate that argument. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 51afb12ba809db664682a31154c11e720e2c363c Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:37 2015 -0800 mm: page migration fix PageMlocked on migrated pages Commit e6c509f85455 ("mm: use clear_page_mlock() in page_remove_rmap()") in v3.7 inadvertently made mlock_migrate_page() impotent: page migration unmaps the page from userspace before migrating, and that commit clears PageMlocked on the final unmap, leaving mlock_migrate_page() with nothing to do. Not a serious bug, the next attempt at reclaiming the page would fix it up; but a betrayal of page migration's intent - the new page ought to emerge as PageMlocked. I don't see how to fix it for mlock_migrate_page() itself; but easily fixed in remove_migration_pte(), by calling mlock_vma_page() when the vma is VM_LOCKED - under pte lock as in try_to_unmap_one(). Delete mlock_migrate_page()? Not quite, it does still serve a purpose for migrate_misplaced_transhuge_page(): where we could replace it by a test, clear_page_mlock(), mlock_vma_page() sequence; but would that be an improvement? mlock_migrate_page() is fairly lean, and let's make it leaner by skipping the irq save/restore now clearly not needed. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b87537d9e2feb30f6a962f27eb32768682698d3b Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:33 2015 -0800 mm: rmap use pte lock not mmap_sem to set PageMlocked KernelThreadSanitizer (ktsan) has shown that the down_read_trylock() of mmap_sem in try_to_unmap_one() (when going to set PageMlocked on a page found mapped in a VM_LOCKED vma) is ineffective against races with exit_mmap()'s munlock_vma_pages_all(), because mmap_sem is not held when tearing down an mm. But that's okay, those races are benign; and although we've believed for years in that ugly down_read_trylock(), it's unsuitable for the job, and frustrates the good intention of setting PageMlocked when it fails. It just doesn't matter if here we read vm_flags an instant before or after a racing mlock() or munlock() or exit_mmap() sets or clears VM_LOCKED: the syscalls (or exit) work their way up the address space (taking pt locks after updating vm_flags) to establish the final state. We do still need to be careful never to mark a page Mlocked (hence unevictable) by any race that will not be corrected shortly after. The page lock protects from many of the races, but not all (a page is not necessarily locked when it's unmapped). But the pte lock we just dropped is good to cover the rest (and serializes even with munlock_vma_pages_all(), so no special barriers required): now hold on to the pte lock while calling mlock_vma_page(). Is that lock ordering safe? Yes, that's how follow_page_pte() calls it, and how page_remove_rmap() calls the complementary clear_page_mlock(). This fixes the following case (though not a case which anyone has complained of), which mmap_sem did not: truncation's preliminary unmap_mapping_range() is supposed to remove even the anonymous COWs of filecache pages, and that might race with try_to_unmap_one() on a VM_LOCKED vma, so that mlock_vma_page() sets PageMlocked just after zap_pte_range() unmaps the page, causing "Bad page state (mlocked)" when freed. The pte lock protects against this. You could say that it also protects against the more ordinary case, racing with the preliminary unmapping of a filecache page itself: but in our current tree, that's independently protected by i_mmap_rwsem; and that race would be why "Bad page state (mlocked)" was seen before commit 48ec833b7851 ("Revert mm/memory.c: share the i_mmap_rwsem"). Vlastimil Babka points out another race which this patch protects against. try_to_unmap_one() might reach its mlock_vma_page() TestSetPageMlocked a moment after munlock_vma_pages_all() did its Phase 1 TestClearPageMlocked: leaving PageMlocked and unevictable when it should be evictable. mmap_sem is ineffective because exit_mmap() does not hold it; page lock ineffective because __munlock_pagevec() only takes it afterwards, in Phase 2; pte lock is effective because __munlock_pagevec_fill() takes it to get the page, after VM_LOCKED was cleared from vm_flags, so visible to try_to_unmap_one. Kirill Shutemov points out that if the compiler chooses to implement a "vma->vm_flags &= VM_WHATEVER" or "vma->vm_flags |= VM_WHATEVER" operation with an intermediate store of unrelated bits set, since I'm here foregoing its usual protection by mmap_sem, try_to_unmap_one() might catch sight of a spurious VM_LOCKED in vm_flags, and make the wrong decision. This does not appear to be an immediate problem, but we may want to define vm_flags accessors in future, to guard against such a possibility. While we're here, make a related optimization in try_to_munmap_one(): if it's doing TTU_MUNLOCK, then there's no point at all in descending the page tables and getting the pt lock, unless the vma is VM_LOCKED. Yes, that can change racily, but it can change racily even without the optimization: it's not critical. Far better not to waste time here. Stopped short of separating try_to_munlock_one() from try_to_munmap_one() on this occasion, but that's probably the sensible next step - with a rename, given that try_to_munlock()'s business is to try to set Mlocked. Updated the unevictable-lru Documentation, to remove its reference to mmap semaphore, but found a few more updates needed in just that area. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7a14239a8fff45a241b6943a3ac444d5b67fcbed Author: Hugh Dickins <hughd@xxxxxxxxxx> Date: Thu Nov 5 18:49:30 2015 -0800 mm Documentation: undoc non-linear vmas While updating some mm Documentation, I came across a few straggling references to the non-linear vmas which were happily removed in v4.0. Delete them. Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 706874e9096e9d468eed9c2b03c8374e806535f3 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:49:27 2015 -0800 mm: do not inc NR_PAGETABLE if ptlock_init failed If ALLOC_SPLIT_PTLOCKS is defined, ptlock_init may fail, in which case we shouldn't increment NR_PAGETABLE. Since small allocations, such as ptlock, normally do not fail (currently they can fail if kmemcg is used though), this patch does not really fix anything and should be considered as a code cleanup. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d3875a01eeafef7ef0b73a99462cb9bd55e8485 Author: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:49:24 2015 -0800 mm: clear_soft_dirty_pmd() requires THP Don't build clear_soft_dirty_pmd() if transparent huge pages are not enabled. Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 326c2597a3b93b8a89e0c3a2b41fd9971d095a97 Author: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:49:21 2015 -0800 mm: clear pte in clear_soft_dirty() As mentioned in the commit 56eecdb912b5 ("mm: Use ptep/pmdp_set_numa() for updating _PAGE_NUMA bit"), architectures like ppc64 don't do tlb flush in set_pte/pmd functions. So when dealing with existing pte in clear_soft_dirty, the pte must be cleared before being modified. Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c8f95ed1a9ce373d20d3b09a6a9fb91c8beef27e Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Nov 5 18:49:19 2015 -0800 ksm: unstable_tree_search_insert error checking cleanup get_mergeable_page() can only return NULL (also in case of errors) or the pinned mergeable page. It can't return an error different than NULL. This optimizes away the unnecessary error check. Add a return after the "out:" label in the callee to make it more readable. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Petr Holasek <pholasek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 85c6e8dd23c6aa9ff299bf5256fe5f0a6c44f100 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Nov 5 18:49:16 2015 -0800 ksm: use find_mergeable_vma in try_to_merge_with_ksm_page Doing the VM_MERGEABLE check after the page == kpage check won't provide any meaningful benefit. The !vma->anon_vma check of find_mergeable_vma is the only superfluous bit in using find_mergeable_vma because the !PageAnon check of try_to_merge_one_page() implicitly checks for that, but it still looks cleaner to share the same find_mergeable_vma(). Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Petr Holasek <pholasek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 98666f8a2576b12f5f3ebcef61a8cdbefede1be3 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Nov 5 18:49:13 2015 -0800 ksm: use the helper method to do the hlist_empty check This just uses the helper function to cleanup the assumption on the hlist_node internals. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Petr Holasek <pholasek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2e5ff85edea30a59b96cf9e20e8886991b0d097 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Nov 5 18:49:10 2015 -0800 ksm: don't fail stable tree lookups if walking over stale stable_nodes The stable_nodes can become stale at any time if the underlying pages gets freed. The stable_node gets collected and removed from the stable rbtree if that is detected during the rbtree lookups. Don't fail the lookup if running into stale stable_nodes, just restart the lookup after collecting the stale stable_nodes. Otherwise the CPU spent in the preparation stage is wasted and the lookup must be repeated at the next loop potentially failing a second time in a second stale stable_node. If we don't prune aggressively we delay the merging of the unstable node candidates and at the same time we delay the freeing of the stale stable_nodes. Keeping stale stable_nodes around wastes memory and it can't provide any benefit. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Petr Holasek <pholasek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad12695f177c3403a64348b42718faf9727fe358 Author: Andrea Arcangeli <aarcange@xxxxxxxxxx> Date: Thu Nov 5 18:49:07 2015 -0800 ksm: add cond_resched() to the rmap_walks While at it add it to the file and anon walks too. Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Petr Holasek <pholasek@xxxxxxxxxx> Acked-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit df4065516b0dbfa35ac0e9b8124d441221c0a285 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:49:04 2015 -0800 memcg: simplify and inline __mem_cgroup_from_kmem Before the previous patch ("memcg: unify slab and other kmem pages charging"), __mem_cgroup_from_kmem had to handle two types of kmem - slab pages and pages allocated with alloc_kmem_pages - memcg in the page struct. Now we can unify it. Since after it, this function becomes tiny we can fold it into mem_cgroup_from_kmem. [hughd@xxxxxxxxxx: move mem_cgroup_from_kmem into list_lru.c] Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f3ccb2c42297757d2e9b820ad37960462df7b7c1 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:49:01 2015 -0800 memcg: unify slab and other kmem pages charging We have memcg_kmem_charge and memcg_kmem_uncharge methods for charging and uncharging kmem pages to memcg, but currently they are not used for charging slab pages (i.e. they are only used for charging pages allocated with alloc_kmem_pages). The only reason why the slab subsystem uses special helpers, memcg_charge_slab and memcg_uncharge_slab, is that it needs to charge to the memcg of kmem cache while memcg_charge_kmem charges to the memcg that the current task belongs to. To remove this diversity, this patch adds an extra argument to __memcg_kmem_charge that can be a pointer to a memcg or NULL. If it is not NULL, the function tries to charge to the memcg it points to, otherwise it charge to the current context. Next, it makes the slab subsystem use this function to charge slab pages. Since memcg_charge_kmem and memcg_uncharge_kmem helpers are now used only in __memcg_kmem_charge and __memcg_kmem_uncharge, they are inlined. Since __memcg_kmem_charge stores a pointer to the memcg in the page struct, we don't need memcg_uncharge_slab anymore and can use free_kmem_pages. Besides, one can now detect which memcg a slab page belongs to by reading /proc/kpagecgroup. Note, this patch switches slab to charge-after-alloc design. Since this design is already used for all other memcg charges, it should not make any difference. [hannes@xxxxxxxxxxx: better to have an outer function than a magic parameter for the memcg lookup] Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> 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 d05e83a6f861ad02c2fcba75d4c4cfe49e3bc90f Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:48:59 2015 -0800 memcg: simplify charging kmem pages Charging kmem pages proceeds in two steps. First, we try to charge the allocation size to the memcg the current task belongs to, then we allocate a page and "commit" the charge storing the pointer to the memcg in the page struct. Such a design looks overcomplicated, because there is not much sense in trying charging the allocation before actually allocating a page: we won't be able to consume much memory over the limit even if we charge after doing the actual allocation, besides we already charge user pages post factum, so being pedantic with kmem pages just looks pointless. So this patch simplifies the design by merging the "charge" and the "commit" steps into the same function, which takes the allocated page. Also, rename the charge and uncharge methods to memcg_kmem_charge and memcg_kmem_uncharge and make the charge method return error code instead of bool to conform to mem_cgroup_try_charge. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bde304bdf4ec4a5f58cc1e90fe2d9cd2d96304c4 Author: Xishi Qiu <qiuxishi@xxxxxxxxxx> Date: Thu Nov 5 18:48:56 2015 -0800 mm/page_alloc.c: skip ZONE_MOVABLE if required_kernelcore is larger than totalpages If kernelcore was not specified, or the kernelcore size is zero (required_movablecore >= totalpages), or the kernelcore size is larger than totalpages, there is no ZONE_MOVABLE. We should fill the zone with both kernel memory and movable memory. Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: <zhongjiang@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a2c1aad3b5fccbb948878b75f9b8f13248666fd6 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Nov 5 18:48:52 2015 -0800 mm/vmacache: inline vmacache_valid_mm() This function incurs in very hot paths and merely does a few loads for validity check. Lets inline it, such that we can save the function call overhead. (akpm: this is cosmetic - the compiler already inlines vmacache_valid_mm()) Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f7ae3a95eab4e6766768cef664d2d429f53bd5f4 Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Thu Nov 5 18:48:50 2015 -0800 include/linux/vm_event_item.h: change HIGHMEM_ZONE macro definition Change HIGHMEM_ZONE to be the same as the DMA_ZONE macro. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a1c34a3bf00af2cede839879502e12dc68491ad5 Author: Laura Abbott <laura@xxxxxxxxxxxx> Date: Thu Nov 5 18:48:46 2015 -0800 mm: Don't offset memmap for flatmem Srinivas Kandagatla reported bad page messages when trying to remove the bottom 2MB on an ARM based IFC6410 board BUG: Bad page state in process swapper pfn:fffa8 page:ef7fb500 count:0 mapcount:0 mapping: (null) index:0x0 flags: 0x96640253(locked|error|dirty|active|arch_1|reclaim|mlocked) page dumped because: PAGE_FLAGS_CHECK_AT_FREE flag(s) set bad because of flags: flags: 0x200041(locked|active|mlocked) Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 3.19.0-rc3-00007-g412f9ba-dirty #816 Hardware name: Qualcomm (Flattened Device Tree) unwind_backtrace show_stack dump_stack bad_page free_pages_prepare free_hot_cold_page __free_pages free_highmem_page mem_init start_kernel Disabling lock debugging due to kernel taint Removing the lower 2MB made the start of the lowmem zone to no longer be page block aligned. IFC6410 uses CONFIG_FLATMEM where alloc_node_mem_map allocates memory for the mem_map. alloc_node_mem_map will offset for unaligned nodes with the assumption the pfn/page translation functions will account for the offset. The functions for CONFIG_FLATMEM do not offset however, resulting in overrunning the memmap array. Just use the allocated memmap without any offset when running with CONFIG_FLATMEM to avoid the overrun. Signed-off-by: Laura Abbott <laura@xxxxxxxxxxxx> Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reported-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Tested-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Tested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Cc: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Arnd Bergman <arnd@xxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c2d42c16ad83006a706d83e51a7268db04af733a Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:48:43 2015 -0800 mm/vmstat.c: uninline node_page_state() With x86_64 (config http://ozlabs.org/~akpm/config-akpm2.txt) and old gcc (4.4.4), drivers/base/node.c:node_read_meminfo() is using 2344 bytes of stack. Uninlining node_page_state() reduces this to 440 bytes. The stack consumption issue is fixed by newer gcc (4.8.4) however with that compiler this patch reduces the node.o text size from 7314 bytes to 4578. Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 27f28b972e12a4080e5f5e4eb36b8224705652d4 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Nov 5 18:48:41 2015 -0800 mm/mmap.c: change __install_special_mapping() args order Make __install_special_mapping() args order match the caller, so the caller can pass their register args directly to callee with no touch. For most of architectures, args (at least the first 5th args) are in registers, so this change will have effect on most of architectures. For -O2, __install_special_mapping() may be inlined under most of architectures, but for -Os, it should not. So this change can get a little better performance for -Os, at least. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c9427bc043da23de03d142c3c87ce4a57297c471 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Nov 5 18:48:38 2015 -0800 mm/nommu.c: drop unlikely inside BUG_ON() (1) For !CONFIG_BUG cases, the bug call is a no-op, so we couldn't care less and the change is ok. (2) ppc and mips, which HAVE_ARCH_BUG_ON, do not rely on branch predictions as it seems to be pointless[1] and thus callers should not be trying to push an optimization in the first place. (3) For CONFIG_BUG and !HAVE_ARCH_BUG_ON cases, BUG_ON() contains an unlikely compiler flag already. Hence, we can drop unlikely behind BUG_ON(). [1] http://lkml.iu.edu/hypermail/linux/kernel/1101.3/02289.html Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1e3ee14b9355a688ffe24725fa746ab120c42881 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Thu Nov 5 18:48:35 2015 -0800 mm/mmap.c: do not initialize retval in mmap_pgoff() When fget() fails we can return -EBADF directly. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e6ee219fdd69c87ceaeb421bcd753a63937f8f31 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Thu Nov 5 18:48:32 2015 -0800 mm/mmap.c: remove redundant statement "error = -ENOMEM" It is still a little better to remove it, although it should be skipped by "-O2". Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx>=0A= Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ca65c19ddbb45f504edf92fe7126ecc94d56e36 Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Thu Nov 5 18:48:29 2015 -0800 mm: optimize PageHighMem() check This came up when implementing HIHGMEM/PAE40 for ARC. The kmap() / kmap_atomic() generated code seemed needlessly bloated due to the way PageHighMem() macro is implemented. It derives the exact zone for page and then does pointer subtraction with first zone to infer the zone_type. The pointer arithmatic in turn generates the code bloat. PageHighMem(page) is_highmem(page_zone(page)) zone_off = (char *)zone - (char *)zone->zone_pgdat->node_zones Instead use is_highmem_idx() to work on zone_type available in page flags ----- Before ----- 80756348: mov_s r13,r0 8075634a: ld_s r2,[r13,0] 8075634c: lsr_s r2,r2,30 8075634e: mpy r2,r2,0x2a4 80756352: add_s r2,r2,0x80aef880 80756358: ld_s r3,[r2,28] 8075635a: sub_s r2,r2,r3 8075635c: breq r2,0x2a4,80756378 <kmap+0x48> 80756364: breq r2,0x548,80756378 <kmap+0x48> ----- After ----- 80756330: mov_s r13,r0 80756332: ld_s r2,[r13,0] 80756334: lsr_s r2,r2,30 80756336: sub_s r2,r2,1 80756338: brlo r2,2,80756348 <kmap+0x30> For x86 defconfig build (32 bit only) it saves around 900 bytes. For ARC defconfig with HIGHMEM, it saved around 2K bytes. ---->8------- ./scripts/bloat-o-meter x86/vmlinux-defconfig-pre x86/vmlinux-defconfig-post add/remove: 0/0 grow/shrink: 0/36 up/down: 0/-934 (-934) function old new delta saveable_page 162 154 -8 saveable_highmem_page 154 146 -8 skb_gro_reset_offset 147 131 -16 ... ... __change_page_attr_set_clr 1715 1678 -37 setup_data_read 434 394 -40 mon_bin_event 1967 1927 -40 swsusp_save 1148 1105 -43 _set_pages_array 549 493 -56 ---->8------- e.g. For ARC kmap() Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Jennifer Herbert <jennifer.herbert@xxxxxxxxxx> Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4d7b3394f76ed72cfdec23ca5571dbab6ec41793 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Nov 5 18:48:26 2015 -0800 mm/oom_kill: fix the wrong task->mm == mm checks in oom_kill_process() Both "child->mm == mm" and "p->mm != mm" checks in oom_kill_process() are wrong. task->mm can be NULL if the task is the exited group leader. This means in particular that "kill sharing same memory" loop can miss a process with a zombie leader which uses the same ->mm. Note: the process_has_mm(child, p->mm) check is still not 100% correct, p->mm can be NULL too. This is minor, but probably deserves a fix or a comment anyway. [akpm@xxxxxxxxxxxxxxxxxxxx: document process_shares_mm() a bit] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Kyle Walker <kwalker@xxxxxxxxxx> Cc: Stanislav Kozina <skozina@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c319025a6c79e532d862e3a0b9506ba316a4d13a Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Nov 5 18:48:23 2015 -0800 mm/oom_kill: cleanup the "kill sharing same memory" loop Purely cosmetic, but the complex "if" condition looks annoying to me. Especially because it is not consistent with OOM_SCORE_ADJ_MIN check which adds another if/continue. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Kyle Walker <kwalker@xxxxxxxxxx> Cc: Stanislav Kozina <skozina@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0c1b2d783cf3432490bf1e532c742fffeadc0bf3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Nov 5 18:48:20 2015 -0800 mm/oom_kill: remove the wrong fatal_signal_pending() check in oom_kill_process() The fatal_signal_pending() was added to suppress unnecessary "sharing same memory" message, but it can't 100% help anyway because it can be false-negative; SIGKILL can be already dequeued. And worse, it can be false-positive due to exec or coredump. exec is mostly fine, but coredump is not. It is possible that the group leader has the pending SIGKILL because its sub-thread originated the coredump, in this case we must not skip this process. We could probably add the additional ->group_exit_task check but this patch just removes the wrong check along with pr_info(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Kyle Walker <kwalker@xxxxxxxxxx> Cc: Stanislav Kozina <skozina@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09357814778a38a5ab2d031cba6c9e9fe090c849 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Nov 5 18:48:17 2015 -0800 mm: add the "struct mm_struct *mm" local into Cosmetic, but expand_upwards() and expand_downwards() overuse vma->vm_mm, a local variable makes sense imho. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 87e8827b37c0c391d9915d0dc6a06c9b5f9cac65 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Nov 5 18:48:14 2015 -0800 mm: fix the racy mm->locked_vm change in "mm->locked_vm += grow" and vm_stat_account() in acct_stack_growth() are not safe; multiple threads using the same ->mm can do this at the same time trying to expans different vma's under down_read(mmap_sem). This means that one of the "locked_vm += grow" changes can be lost and we can miss munlock_vma_pages_all() later. Move this code into the caller(s) under mm->page_table_lock. All other updates to ->locked_vm hold mmap_sem for writing. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9fd745d450e7e2b0d2f1b386b886e7d568b64404 Author: Xishi Qiu <qiuxishi@xxxxxxxxxx> Date: Thu Nov 5 18:48:11 2015 -0800 mm: fix overflow in find_zone_movable_pfns_for_nodes() If the user set "movablecore=xx" to a large number, corepages will overflow. Fix the problem. Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx> Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Acked-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d031a157915e0508ffa1ab9f1bbf977257529cb4 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Thu Nov 5 18:48:08 2015 -0800 mm/vmscan.c: fix types of some locals In zone_reclaimable_pages(), `nr' is returned by a function which is declared as returning "unsigned long", so declare it such. Negative values are meaningless here. In zone_pagecache_reclaimable() we should also declare `delta' and `nr_pagecache_reclaimable' as being unsigned longs because they're used to store the values returned by zone_page_state() and zone_unmapped_file_pages() which also happen to return unsigned integers. [akpm@xxxxxxxxxxxxxxxxxxxx: make zone_pagecache_reclaimable() return ulong rather than long] Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da39da3a54fed88e29024f2f1f6cd7357cd03a44 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Thu Nov 5 18:48:05 2015 -0800 mm, oom: remove task_lock protecting comm printing The oom killer takes task_lock() in a couple of places solely to protect printing the task's comm. A process's comm, including current's comm, may change due to /proc/pid/comm or PR_SET_NAME. The comm will always be NULL-terminated, so the worst race scenario would only be during update. We can tolerate a comm being printed that is in the middle of an update to avoid taking the lock. Other locations in the kernel have already dropped task_lock() when printing comm, so this is consistent. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Suggested-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2d1e10412c2388ff9b6afc60536eaa195a419289 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Nov 5 18:48:02 2015 -0800 mm, compaction: distinguish contended status in tracepoints Compaction returns prematurely with COMPACT_PARTIAL when contended or has fatal signal pending. This is ok for the callers, but might be misleading in the traces, as the usual reason to return COMPACT_PARTIAL is that we think the allocation should succeed. After this patch we distinguish the premature ending condition in the mm_compaction_finished and mm_compaction_end tracepoints. The contended status covers the following reasons: - lock contention or need_resched() detected in async compaction - fatal signal pending - too many pages isolated in the zone (only for async compaction) Further distinguishing the exact reason seems unnecessary for now. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1743d0506003f7db0602d120ecf63e2747af0d72 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Nov 5 18:47:59 2015 -0800 mm, compaction: export tracepoints zone names to userspace Some compaction tracepoints use zone->name to print which zone is being compacted. This works for in-kernel printing, but not userspace trace printing of raw captured trace such as via trace-cmd report. This patch uses zone_idx() instead of zone->name as the raw value, and when printing, converts the zone_type to string using the appropriate EM() macros and some ugly tricks to overcome the problem that half the values depend on CONFIG_ options and one does not simply use #ifdef inside of #define. trace-cmd output before: transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 zone=ffffffff81815d7a order=9 ret=partial after: transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 zone=Normal order=9 ret=partial Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa6c7b46aaa0cc00846703e8c0ec1e1636ff25ba Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Nov 5 18:47:56 2015 -0800 mm, compaction: export tracepoints status strings to userspace Some compaction tracepoints convert the integer return values to strings using the compaction_status_string array. This works for in-kernel printing, but not userspace trace printing of raw captured trace such as via trace-cmd report. This patch converts the private array to appropriate tracepoint macros that result in proper userspace support. trace-cmd output before: transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 zone=ffffffff81815d7a order=9 ret= after: transhuge-stres-4235 [000] 453.149280: mm_compaction_finished: node=0 zone=ffffffff81815d7a order=9 ret=partial Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 840807a8f40bb25a8df5b6412bba6bc156643be5 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:47:54 2015 -0800 mm/oom_kill.c: suppress unnecessary "sharing same memory" message oom_kill_process() sends SIGKILL to other thread groups sharing victim's mm. But printing "Kill process %d (%s) sharing same memory\n" lines makes no sense if they already have pending SIGKILL. This patch reduces the "Kill process" lines by printing that line with info level only if SIGKILL is not pending. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> 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 880b768937e90c433c0c8254a22b1eb63df005a4 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:47:51 2015 -0800 mm/oom_kill.c: fix potentially killing unrelated process At the for_each_process() loop in oom_kill_process(), we are comparing address of OOM victim's mm without holding a reference to that mm. If there are a lot of processes to compare or a lot of "Kill process %d (%s) sharing same memory" messages to print, for_each_process() loop could take very long time. It is possible that meanwhile the OOM victim exits and releases its mm, and then mm is allocated with the same address and assigned to some unrelated process. When we hit such race, the unrelated process will be killed by error. To make sure that the OOM victim's mm does not go away until for_each_process() loop finishes, get a reference on the OOM victim's mm before calling task_unlock(victim). [oleg@xxxxxxxxxx: several fixes] Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 426fb5e72d92b868912e47a1e3ca2df6eabc3872 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:47:44 2015 -0800 mm/oom_kill.c: reverse the order of setting TIF_MEMDIE and sending SIGKILL It was confirmed that a local unprivileged user can consume all memory reserves and hang up that system using time lag between the OOM killer sets TIF_MEMDIE on an OOM victim and sends SIGKILL to that victim, for printk() inside for_each_process() loop at oom_kill_process() can consume many seconds when there are many thread groups sharing the same memory. Before starting oom-depleter process: Node 0 DMA: 3*4kB (UM) 6*8kB (U) 4*16kB (UEM) 0*32kB 0*64kB 1*128kB (M) 2*256kB (EM) 2*512kB (UE) 2*1024kB (EM) 1*2048kB (E) 1*4096kB (M) = 9980kB Node 0 DMA32: 31*4kB (UEM) 27*8kB (UE) 32*16kB (UE) 13*32kB (UE) 14*64kB (UM) 7*128kB (UM) 8*256kB (UM) 8*512kB (UM) 3*1024kB (U) 4*2048kB (UM) 362*4096kB (UM) = 1503220kB As of invoking the OOM killer: Node 0 DMA: 11*4kB (UE) 8*8kB (UEM) 6*16kB (UE) 2*32kB (EM) 0*64kB 1*128kB (U) 3*256kB (UEM) 2*512kB (UE) 3*1024kB (UEM) 1*2048kB (U) 0*4096kB = 7308kB Node 0 DMA32: 1049*4kB (UEM) 507*8kB (UE) 151*16kB (UE) 53*32kB (UEM) 83*64kB (UEM) 52*128kB (EM) 25*256kB (UEM) 11*512kB (M) 6*1024kB (UM) 1*2048kB (M) 0*4096kB = 44556kB Between the thread group leader got TIF_MEMDIE and receives SIGKILL: Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB Node 0 DMA32: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB The oom-depleter's thread group leader which got TIF_MEMDIE started memset() in user space after the OOM killer set TIF_MEMDIE, and it was free to abuse ALLOC_NO_WATERMARKS by TIF_MEMDIE for memset() in user space until SIGKILL is delivered. If SIGKILL is delivered before TIF_MEMDIE is set, the oom-depleter can terminate without touching memory reserves. Although the possibility of hitting this time lag is very small for 3.19 and earlier kernels because TIF_MEMDIE is set immediately before sending SIGKILL, preemption or long interrupts (an extreme example is SysRq-t) can step between and allow memory allocations which are not needed for terminating the OOM victim. Fixes: 83363b917a29 ("oom: make sure that TIF_MEMDIE is set under task_lock") Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [4.0+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 13308ca9ef9acb325b52bd8562639b5844f3cbf2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:47:40 2015 -0800 mm/memcontrol: make mem_cgroup_inactive_anon_is_low() return bool Make mem_cgroup_inactive_anon_is_low return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 42e2e45777a8c2ec32b6a3c3d81a7d454f6afb6d Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:47:36 2015 -0800 mm/vmscan: make inactive_anon/file_is_low return bool Make inactive_anon/file_is_low return bool due to these particular functions only using either one or zero as their return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 80f73b4b71f767f7fcd85f68be18af7795904484 Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Thu Nov 5 18:47:32 2015 -0800 Documentation/vm/transhuge.txt: add information about max_ptes_swap max_ptes_swap specifies how many pages can be brought in from swap when collapsing a group of pages into a transparent huge page. /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_swap A higher value can cause excessive swap IO and waste memory. A lower value can prevent THPs from being collapsed, resulting fewer pages being collapsed into THPs, and lower memory access performance. Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3608de0787e51d3d826656e105524b48ade7b16f Author: Jerome Marchand <jmarchan@xxxxxxxxxx> Date: Thu Nov 5 18:47:29 2015 -0800 mm/memcontrol.c: fix order calculation in try_charge() Since commit 6539cc053869 ("mm: memcontrol: fold mem_cgroup_do_charge()"), the order to pass to mem_cgroup_oom() is calculated by passing the number of pages to get_order() instead of the expected size in bytes. AFAICT, it only affects the value displayed in the oom warning message. This patch fix this. Michal said: : We haven't noticed that just because the OOM is enabled only for page : faults of order-0 (single page) and get_order work just fine. Thanks for : noticing this. If we ever start triggering OOM on different orders this : would be broken. Signed-off-by: Jerome Marchand <jmarchan@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a5f65109026b35b654b94fdcd26a971185a53adc Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Thu Nov 5 18:47:26 2015 -0800 mm: hwpoison: ratelimit messages from unpoison_memory() Currently kernel prints out results of every single unpoison event, which i= s not necessary because unpoison is purely a testing feature and testers can = get little or no information from lots of lines of unpoison log storm. So this patch ratelimits printk in unpoison_memory(). This patch introduces a file local ratelimit_state, which adds 64 bytes to memory-failure.o. If we apply pr_info_ratelimited() for 8 callsite below, 2= 56 bytes is added, so it's a win. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aa750fd71c242dba02ee2034e15fbd7d0cdb2461 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Thu Nov 5 18:47:23 2015 -0800 mm/filemap.c: make global sync not clear error status of individual inodes filemap_fdatawait() is a function to wait for on-going writeback to complete but also consume and clear error status of the mapping set during writeback. The latter functionality is critical for applications to detect writeback error with system calls like fsync(2)/fdatasync(2). However filemap_fdatawait() is also used by sync(2) or FIFREEZE ioctl, which don't check error status of individual mappings. As a result, fsync() may not be able to detect writeback error if events happen in the following order: Application System admin ---------------------------------------------------------- write data on page cache Run sync command writeback completes with error filemap_fdatawait() clears error fsync returns success (but the data is not on disk) This patch adds filemap_fdatawait_keep_errors() for call sites where writeback error is not handled so that they don't clear error status. Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Acked-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21c527a3cba07f9a9ce17b3a445f110a847793e2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:47:20 2015 -0800 mm/compaction.c: add an is_via_compact_memory() helper Introduce is_via_compact_memory() helper indicating compacting via /proc/sys/vm/compact_memory to improve readability. To catch this situation in __compaction_suitable, use order as parameter directly instead of using struct compact_control. This patch has no functional changes. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 29d06bbb41595f82db309a5516426ef8bd0f27b7 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:47:17 2015 -0800 mm/vmscan: make inactive_anon_is_low_global return directly Delete unnecessary if to let inactive_anon_is_low_global return directly. No functional changes. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d317b2b6536592a9b51fe65faed43d65ca9158e Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Thu Nov 5 18:47:14 2015 -0800 mm: hugetlb: proc: add HugetlbPages field to /proc/PID/status Currently there's no easy way to get per-process usage of hugetlb pages, which is inconvenient because userspace applications which use hugetlb typically want to control their processes on the basis of how much memory (including hugetlb) they use. So this patch simply provides easy access to the info via /proc/PID/status. Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Joern Engel <joern@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25ee01a2fca02dfb5a3ce316e77910c468108199 Author: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Date: Thu Nov 5 18:47:11 2015 -0800 mm: hugetlb: proc: add hugetlb-related fields to /proc/PID/smaps Currently /proc/PID/smaps provides no usage info for vma(VM_HUGETLB), which is inconvenient when we want to know per-task or per-vma base hugetlb usage. To solve this, this patch adds new fields for hugetlb usage like below: Size: 20480 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB AnonHugePages: 0 kB Shared_Hugetlb: 18432 kB Private_Hugetlb: 2048 kB Swap: 0 kB KernelPageSize: 2048 kB MMUPageSize: 2048 kB Locked: 0 kB VmFlags: rd wr mr mw me de ht [hughd@xxxxxxxxxx: fix Private_Hugetlb alignment ] Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Joern Engel <joern@xxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Mike Kravetz <mike.kravetz@xxxxxxxxxx> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 600e19afc5f8a6c18ea49cee9511c5797db02391 Author: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Date: Thu Nov 5 18:47:08 2015 -0800 mm: use only per-device readahead limit Maximal readahead size is limited now by two values: 1) by global 2Mb constant (MAX_READAHEAD in max_sane_readahead()) 2) by configurable per-device value* (bdi->ra_pages) There are devices, which require custom readahead limit. For instance, for RAIDs it's calculated as number of devices multiplied by chunk size times 2. Readahead size can never be larger than bdi->ra_pages * 2 value (POSIX_FADV_SEQUNTIAL doubles readahead size). If so, why do we need two limits? I suggest to completely remove this max_sane_readahead() stuff and use per-device readahead limit everywhere. Also, using right readahead size for RAID disks can significantly increase i/o performance: before: dd if=/dev/md2 of=/dev/null bs=100M count=100 100+0 records in 100+0 records out 10485760000 bytes (10 GB) copied, 12.9741 s, 808 MB/s after: $ dd if=/dev/md2 of=/dev/null bs=100M count=100 100+0 records in 100+0 records out 10485760000 bytes (10 GB) copied, 8.91317 s, 1.2 GB/s (It's an 8-disks RAID5 storage). This patch doesn't change sys_readahead and madvise(MADV_WILLNEED) behavior introduced by 6d2be915e589b58 ("mm/readahead.c: fix readahead failure for memoryless NUMA nodes and limit readahead pages"). Signed-off-by: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Cc: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Wu Fengguang <fengguang.wu@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: onstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b171e4093017d4d6e411f5e97823e5e4a21266a2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:47:06 2015 -0800 mm/page_alloc: remove unused parameter in init_currently_empty_zone() Commit a2f3aa025766 ("[PATCH] Fix sparsemem on Cell") fixed an oops experienced on the Cell architecture when init-time functions, early_*(), are called at runtime by introducing an 'enum memmap_context' parameter to memmap_init_zone() and init_currently_empty_zone(). This parameter is intended to be used to tell whether the call of these two functions is being made on behalf of a hotplug event, or happening at boot-time. However, init_currently_empty_zone() does not use this parameter at all, so remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f2f81fb2b72b83b661b11da6f1b0bd3526706278 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Nov 5 18:47:03 2015 -0800 mm, migrate: count pages failing all retries in vmstat and tracepoint Migration tries up to 10 times to migrate pages that return -EAGAIN until it gives up. If some pages fail all retries, they are counted towards the number of failed pages that migrate_pages() returns. They should also be counted in the /proc/vmstat pgmigrate_fail and in the mm_migrate_pages tracepoint. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 35bd16a227534cb6ffc9b26a33061c2dcf91934b Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:47:00 2015 -0800 mm/memblock: make memblock_remove_range() static memblock_remove_range() is only used in the mm/memblock.c, so we can make it static. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f19cb115a25f3f25752fdc56340e7433462157ba Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:57 2015 -0800 mm/mremap: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de1741a1333ea37694dddf7c94aa4cf2d0e58912 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:54 2015 -0800 mm/mmap: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 891c49abfb097bbd7024b4072dd1c8e1c995d3ec Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:51 2015 -0800 mm/vmalloc: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8fd9e4883a2b08c52ec00f3c214b45d096fc697a Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:49 2015 -0800 mm/mlock: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ea53cde089e07cfd7996c2072f770ebb984ce8db Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:46 2015 -0800 mm/util: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f09f1243ca2d5d297881bf2c2148d9ab35314314 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:43 2015 -0800 mm/percpu: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5d57b0146aa942b939bbd77e09130270dc9b97d2 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:40 2015 -0800 mm/early_ioremap: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e7bbdd071314b52507e6c615e2cec90d46f82c57 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:38 2015 -0800 mm/mincore: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1824cb753354e026ab898cd472bddd540b50b00b Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:35 2015 -0800 mm/nommu: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b0d61c7e56815b0b881c81f6779a65f4fdae4bc0 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Nov 5 18:46:32 2015 -0800 mm/msync: use offset_in_page macro linux/mm.h provides offset_in_page() macro. Let's use already predefined macro instead of (addr & ~PAGE_MASK). Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c118baf802562688d46e6002f2b5fe66b947da21 Author: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:46:29 2015 -0800 arch/powerpc/mm/numa.c: do not allocate bootmem memory for non existing nodes With the setup_nr_nodes(), we have already initialized node_possible_map. So it is safe to use for_each_node here. There are many places in the kernel that use hardcoded 'for' loop with nr_node_ids, because all other architectures have numa nodes populated serially. That should be reason we had maintained the same for powerpc. But, since sparse numa node ids possible on powerpc, we unnecessarily allocate memory for non existent numa nodes. For e.g., on a system with 0,1,16,17 as numa nodes nr_node_ids=18 and we allocate memory for nodes 2-14. This patch we allocate memory for only existing numa nodes. The patch is boot tested on a 4 node tuleta, confirming with printks that it works as expected. Signed-off-by: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 145949a1387ba7a4fd0df15181e09345ec7b0492 Author: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:46:26 2015 -0800 mm/list_lru.c: replace nr_node_ids for loop with for_each_node() The functions used in the patch are in slowpath, which gets called whenever alloc_super is called during mounts. Though this should not make difference for the architectures with sequential numa node ids, for the powerpc which can potentially have sparse node ids (for e.g., 4 node system having numa ids, 0,1,16,17 is common), this patch saves some unnecessary allocations for non existing numa nodes. Even without that saving, perhaps patch makes code more readable. [vdavydov@xxxxxxxxxxxxx: take memcg_aware check outside for_each loop] Signed-off-by: Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 61f9ec1d8e97131ce55159647fcdfeccc0f40647 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Nov 5 18:46:23 2015 -0800 mm: fix docbook comment for get_vaddr_frames() get_vaddr_frames() has a comment that's *almost* a docbook comment; add the missing star so that the tools will find it properly. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7f822c24c2b32a9feafb33e3b9a9e23ef4278c2c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Nov 5 18:46:20 2015 -0800 memcg: drop unnecessary cold-path tests from __memcg_kmem_bypass() __memcg_kmem_bypass() decides whether a kmem allocation should be bypassed to the root memcg. Some conditions that it tests are valid criteria regarding who should be held accountable; however, there are a couple unnecessary tests for cold paths - __GFP_FAIL and fatal_signal_pending(). The previous patch updated try_charge() to handle both __GFP_FAIL and dying tasks correctly and the only thing these two tests are doing is making accounting less accurate and sprinkling tests for cold path conditions in the hot paths. There's nothing meaningful gained by these extra tests. This patch removes the two unnecessary tests from __memcg_kmem_bypass(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 10d53c748bc9531f47e13f98e32ef28be4399862 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Nov 5 18:46:17 2015 -0800 memcg: ratify and consolidate over-charge handling try_charge() is the main charging logic of memcg. When it hits the limit but either can't fail the allocation due to __GFP_NOFAIL or the task is likely to free memory very soon, being OOM killed, has SIGKILL pending or exiting, it "bypasses" the charge to the root memcg and returns -EINTR. While this is one approach which can be taken for these situations, it has several issues. * It unnecessarily lies about the reality. The number itself doesn't go over the limit but the actual usage does. memcg is either forced to or actively chooses to go over the limit because that is the right behavior under the circumstances, which is completely fine, but, if at all avoidable, it shouldn't be misrepresenting what's happening by sneaking the charges into the root memcg. * Despite trying, we already do over-charge. kmemcg can't deal with switching over to the root memcg by the point try_charge() returns -EINTR, so it open-codes over-charing. * It complicates the callers. Each try_charge() user has to handle the weird -EINTR exception. memcg_charge_kmem() does the manual over-charging. mem_cgroup_do_precharge() performs unnecessary uncharging of root memcg, which BTW is inconsistent with what memcg_charge_kmem() does but not broken as [un]charging are noops on root memcg. mem_cgroup_try_charge() needs to switch the returned cgroup to the root one. The reality is that in memcg there are cases where we are forced and/or willing to go over the limit. Each such case needs to be scrutinized and justified but there definitely are situations where that is the right thing to do. We alredy do this but with a superficial and inconsistent disguise which leads to unnecessary complications. This patch updates try_charge() so that it over-charges and returns 0 when deemed necessary. -EINTR return is removed along with all special case handling in the callers. While at it, remove the local variable @ret, which was initialized to zero and never changed, along with done: label which just returned the always zero @ret. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cbfb479809c1b8d871cb9a31832e065e900a24c1 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Nov 5 18:46:14 2015 -0800 memcg: collect kmem bypass conditions into __memcg_kmem_bypass() memcg_kmem_newpage_charge() and memcg_kmem_get_cache() are testing the same series of conditions to decide whether to bypass kmem accounting. Collect the tests into __memcg_kmem_bypass(). This is pure refactoring. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b23afb93d317c65cef553b804f08dec8a7a0f7e1 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Nov 5 18:46:11 2015 -0800 memcg: punt high overage reclaim to return-to-userland path Currently, try_charge() tries to reclaim memory synchronously when the high limit is breached; however, if the allocation doesn't have __GFP_WAIT, synchronous reclaim is skipped. If a process performs only speculative allocations, it can blow way past the high limit. This is actually easily reproducible by simply doing "find /". slab/slub allocator tries speculative allocations first, so as long as there's memory which can be consumed without blocking, it can keep allocating memory regardless of the high limit. This patch makes try_charge() always punt the over-high reclaim to the return-to-userland path. If try_charge() detects that high limit is breached, it adds the overage to current->memcg_nr_pages_over_high and schedules execution of mem_cgroup_handle_over_high() which performs synchronous reclaim from the return-to-userland path. As long as kernel doesn't have a run-away allocation spree, this should provide enough protection while making kmemcg behave more consistently. It also has the following benefits. - All over-high reclaims can use GFP_KERNEL regardless of the specific gfp mask in use, e.g. GFP_NOFS, when the limit was breached. - It copes with prio inversion. Previously, a low-prio task with small memory.high might perform over-high reclaim with a bunch of locks held. If a higher prio task needed any of these locks, it would have to wait until the low prio task finished reclaim and released the locks. By handing over-high reclaim to the task exit path this issue can be avoided. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 626ebc4100285be56fe3546f29b6afeb36b6871a Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Nov 5 18:46:09 2015 -0800 memcg: flatten task_struct->memcg_oom task_struct->memcg_oom is a sub-struct containing fields which are used for async memcg oom handling. Most task_struct fields aren't packaged this way and it can lead to unnecessary alignment paddings. This patch flattens it. * task.memcg_oom.memcg -> task.memcg_in_oom * task.memcg_oom.gfp_mask -> task.memcg_oom_gfp_mask * task.memcg_oom.order -> task.memcg_oom_order * task.memcg_oom.may_oom -> task.memcg_may_oom In addition, task.memcg_may_oom is relocated to where other bitfields are which reduces the size of task_struct. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 55e1ceaf2586ab11aafba798a6b9499dd7c14441 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Nov 5 18:46:06 2015 -0800 mm/mmap.c: remove useless statement "vma = NULL" in find_vma() Before the main loop, vma is already is NULL. There is no need to set it to NULL again. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0ab32b6f1b88444524e52429fab334ff96683a3f Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:46:03 2015 -0800 uaccess: reimplement probe_kernel_address() using probe_kernel_read() probe_kernel_address() is basically the same as the (later added) probe_kernel_read(). The return value on EFAULT is a bit different: probe_kernel_address() returns number-of-bytes-not-copied whereas probe_kernel_read() returns -EFAULT. All callers have been checked, none cared. probe_kernel_read() can be overridden by the architecture whereas probe_kernel_address() cannot. parisc, blackfin and um do this, to insert additional checking. Hence this patch possibly fixes obscure bugs, although there are only two probe_kernel_address() callsites outside arch/. My first attempt involved removing probe_kernel_address() entirely and converting all callsites to use probe_kernel_read() directly, but that got tiresome. This patch shrinks mm/slab_common.o by 218 bytes. For a single probe_kernel_address() callsite. Cc: Steven Miao <realmz6@xxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 86d2adccfbe7d5a1f050fa08db9638c9168736d9 Author: Alexey Klimov <klimov.linux@xxxxxxxxx> Date: Thu Nov 5 18:46:00 2015 -0800 mm/mlock.c: reorganize mlockall() return values and remove goto-out label In mlockall syscall wrapper after out-label for goto code just doing return. Remove goto out statements and return error values directly. Also instead of rewriting ret variable before every if-check move returns to 'error'-like path under if-check. Objdump asm listing showed me reducing by few asm lines. Object file size descreased from 220592 bytes to 220528 bytes for me (for aarch64). Signed-off-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9fbed25407ccc87a7bb47ea3f411e1ca34a95f8b Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Thu Nov 5 18:45:57 2015 -0800 mm/kmemleak.c: remove unneeded initialization of object to NULL Few lines below object is reinitialized by lookup_object() so we don't need to init it by NULL in the beginning of find_and_get_object(). Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d4322d88f5fdf92729dd40f923013414fbb2184d Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Thu Nov 5 18:45:54 2015 -0800 mm: slab: only move management objects off-slab for sizes larger than KMALLOC_MIN_SIZE On systems with a KMALLOC_MIN_SIZE of 128 (arm64, some mips and powerpc configurations defining ARCH_DMA_MINALIGN to 128), the first kmalloc_caches[] entry to be initialised after slab_early_init = 0 is "kmalloc-128" with index 7. Depending on the debug kernel configuration, sizeof(struct kmem_cache) can be larger than 128 resulting in an INDEX_NODE of 8. Commit 8fc9cf420b36 ("slab: make more slab management structure off the slab") enables off-slab management objects for sizes starting with PAGE_SIZE >> 5 (128 bytes for a 4KB page configuration) and the creation of the "kmalloc-128" cache would try to place the management objects off-slab. However, since KMALLOC_MIN_SIZE is already 128 and freelist_size == 32 in __kmem_cache_create(), kmalloc_slab(freelist_size) returns NULL (kmalloc_caches[7] not populated yet). This triggers the following bug on arm64: kernel BUG at /work/Linux/linux-2.6-aarch64/mm/slab.c:2283! Internal error: Oops - BUG: 0 [#1] SMP Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 4.3.0-rc4+ #540 Hardware name: Juno (DT) PC is at __kmem_cache_create+0x21c/0x280 LR is at __kmem_cache_create+0x210/0x280 [...] Call trace: __kmem_cache_create+0x21c/0x280 create_boot_cache+0x48/0x80 create_kmalloc_cache+0x50/0x88 create_kmalloc_caches+0x4c/0xf4 kmem_cache_init+0x100/0x118 start_kernel+0x214/0x33c This patch introduces an OFF_SLAB_MIN_SIZE definition to avoid off-slab management objects for sizes equal to or smaller than KMALLOC_MIN_SIZE. Fixes: 8fc9cf420b36 ("slab: make more slab management structure off the slab") Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.15+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9f835703ea67633617ca82bc150f6ee70831b40a Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:45:51 2015 -0800 mm/slub: calculate start order with reserved in consideration In slub_order(), the order starts from max(min_order, get_order(min_objects * size)). When (min_objects * size) has different order from (min_objects * size + reserved), it will skip this order via a check in the loop. This patch optimizes this a little by calculating the start order with `reserved' in consideration and removing the check in loop. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: 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 033fd1bd3c50fdda267d27d02f9bc656f0b9ddb8 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:45:48 2015 -0800 mm/slub: use get_order() instead of fls() get_order() is more easy to understand. This patch just replaces it. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Reviewed-by: Pekka Enberg <penberg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 422ff4d70c1b3b2deed431dc095432dc691f4269 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:45:46 2015 -0800 mm/slub: correct the comment in calculate_order() In calculate_order(), it tries to calculate the best order by adjusting the fraction and min_objects. On each iteration on min_objects, fraction iterates on 16, 8, 4. Which means the acceptable waste increases with 1/16, 1/8, 1/4. This patch corrects the comment according to the code. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: 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 40911a798b5abbbec6b2e271a42addd6b26228a0 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Thu Nov 5 18:45:43 2015 -0800 mm/slab_common.c: initialize kmem_cache pointer to NULL The assignment to NULL within the error condition was written in a 2014 patch to suppress a compiler warning. However it would be cleaner to just initialize the kmem_cache to NULL and just return it in case of an error condition. Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> 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 76f8ec712aa94da9fbfc9c318edc89aa1e48006b Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:40 2015 -0800 Doc/slub: document slabinfo-gnuplot.sh script Add documentation on how to use slabinfo-gnuplot.sh script. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4a981abd115d6ade5fe8a07d5ca1d1f987a0c2f7 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:37 2015 -0800 tools/vm/slabinfo: gnuplot slabifo extended stat GNUplot `slabinfo -X' stats, collected, for example, using the following command: while [ 1 ]; do slabinfo -X >> stats; sleep 1; done `slabinfo-gnuplot.sh stats' pre-processes collected records and generate graphs (totals, slabs sorted by size, slabs sorted by size). Graphs can be [individually] regenerate with different samples range and graph width-heigh (-r %d,%d and -s %d,%d options). To visually compare N `totals' graphs: slabinfo-gnuplot.sh -t FILE1-totals FILE2-totals ... FILEN-totals Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 2cee611af8638d80d3abb71f878829a7e998bb44 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:34 2015 -0800 tools/vm/slabinfo: cosmetic globals cleanup checkpatch.pl complains about globals being explicitly zeroed out: "ERROR: do not initialise globals to 0 or NULL". New globals, introduced in this patch set, have no explicit 0 initialization; clean up the old ones to make it less hairy. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 a8ea0bf1286a3a96466139a828f3d161d19ca015 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:31 2015 -0800 tools/vm/slabinfo: output sizes in bytes Introduce "-B|--Bytes" opt to disable store_size() dynamic size scaling and report size in bytes instead. This `expands' the interface a bit, it's impossible to use printf("%6s") anymore to output sizes. Example: slabinfo -X -N 2 Slabcache Totals ---------------- Slabcaches : 91 Aliases : 119->69 Active: 63 Memory used: 199798784 # Loss : 10689376 MRatio: 5% # Objects : 324301 # PartObj: 18151 ORatio: 5% Per Cache Average Min Max Total ---------------------------------------------------------------------------- #Objects 5147 1 89068 324301 #Slabs 199 1 3886 12537 #PartSlab 12 0 240 778 %PartSlab 32% 0% 100% 6% PartObjs 5 0 4569 18151 % PartObj 26% 0% 100% 5% Memory 3171409 8192 127336448 199798784 Used 3001736 160 121429728 189109408 Loss 169672 0 5906720 10689376 Per Object Average Min Max ----------------------------------------------------------- Memory 585 8 8192 User 583 8 8192 Loss 2 0 64 Slabs sorted by size -------------------- Name Objects Objsize Space Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 69948 1736 127336448 3871/0/15 18 3 0 95 a dentry 89068 288 26058752 3164/0/17 28 1 0 98 a Slabs sorted by loss -------------------- Name Objects Objsize Loss Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 69948 1736 5906720 3871/0/15 18 3 0 95 a inode_cache 11628 864 537472 642/0/4 18 2 0 94 a Besides, store_size() does not use powers of two for G/M/K if (value > 1000000000UL) { divisor = 100000000UL; trailer = 'G'; } else if (value > 1000000UL) { divisor = 100000UL; trailer = 'M'; } else if (value > 1000UL) { divisor = 100; trailer = 'K'; } Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 016c6cdf3df8b05a23ff7b0e77aa7f4fe83e700d Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:28 2015 -0800 tools/vm/slabinfo: introduce extended totals mode Add "-X|--Xtotals" opt to output extended totals summary, which includes: -- totals summary -- slabs sorted by size -- slabs sorted by loss (waste) Example: ======= slabinfo --X -N 1 Slabcache Totals ---------------- Slabcaches : 91 Aliases : 120->69 Active: 65 Memory used: 568.3M # Loss : 30.4M MRatio: 5% # Objects : 920.1K # PartObj: 161.2K ORatio: 17% Per Cache Average Min Max Total --------------------------------------------------------- #Objects 14.1K 1 227.8K 920.1K #Slabs 533 1 11.7K 34.7K #PartSlab 86 0 4.3K 5.6K %PartSlab 24% 0% 100% 16% PartObjs 17 0 129.3K 161.2K % PartObj 17% 0% 100% 17% Memory 8.7M 8.1K 384.7M 568.3M Used 8.2M 160 366.5M 537.9M Loss 468.8K 0 18.2M 30.4M Per Object Average Min Max --------------------------------------------- Memory 587 8 8.1K User 584 8 8.1K Loss 2 0 64 Slabs sorted by size ---------------------- Name Objects Objsize Space Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 211142 1736 384.7M 11732/40/10 18 3 0 95 a Slabs sorted by loss ---------------------- Name Objects Objsize Loss Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 211142 1736 18.2M 11732/40/10 18 3 0 95 a Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 0d00bf589f0f8976b5bccbb5bd03a497762b5545 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:25 2015 -0800 tools/vm/slabinfo: fix alternate opts names Fix mismatches between usage() output and real opts[] options. Add missing alternative opt names, e.g., '-S' had no '--Size' opts[] entry, etc. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 2651f6e7fe1c24b0a50691828edd392971d57d4f Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:22 2015 -0800 tools/vm/slabinfo: sort slabs by loss Introduce opt "-L|--sort-loss" to sort and output slabs by loss (waste) in slabcache(). Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 4980a9639b4bf4948f4cba60e3e6c45a635b98ec Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:20 2015 -0800 tools/vm/slabinfo: limit the number of reported slabs Introduce opt "-N|--lines=K" to limit the number of slabs being reported in output_slabs(). Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 2b10075539d334b4732a07857672972fe971f7df Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Nov 5 18:45:17 2015 -0800 tools/vm/slabinfo: use getopt no_argument/optional_argument This patchset adds 'extended' slabinfo mode that provides additional information: -- totals summary -- slabs sorted by size -- slabs sorted by loss (waste) The patches also introduces several new slabinfo options to limit the number of slabs reported, sort slabs by loss (waste); and some fixes. Extended output example (slabinfo -X -N 2): Slabcache Totals ---------------- Slabcaches : 91 Aliases : 119->69 Active: 63 Memory used: 199798784 # Loss : 10689376 MRatio: 5% # Objects : 324301 # PartObj: 18151 ORatio: 5% Per Cache Average Min Max Total ---------------------------------------------------------------------------- #Objects 5147 1 89068 324301 #Slabs 199 1 3886 12537 #PartSlab 12 0 240 778 %PartSlab 32% 0% 100% 6% PartObjs 5 0 4569 18151 % PartObj 26% 0% 100% 5% Memory 3171409 8192 127336448 199798784 Used 3001736 160 121429728 189109408 Loss 169672 0 5906720 10689376 Per Object Average Min Max ----------------------------------------------------------- Memory 585 8 8192 User 583 8 8192 Loss 2 0 64 Slabs sorted by size -------------------- Name Objects Objsize Space Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 69948 1736 127336448 3871/0/15 18 3 0 95 a dentry 89068 288 26058752 3164/0/17 28 1 0 98 a Slabs sorted by loss -------------------- Name Objects Objsize Loss Slabs/Part/Cpu O/S O %Fr %Ef Flg ext4_inode_cache 69948 1736 5906720 3871/0/15 18 3 0 95 a inode_cache 11628 864 537472 642/0/4 18 2 0 94 a The last patch in the series addresses Linus' comment from http://marc.info/?l=linux-mm&m=144148518703321&w=2 (well, it's been some time. sorry.) gnuplot script takes the slabinfo records file, where every record is a `slabinfo -X' output. So the basic workflow is, for example, as follows: while [ 1 ]; do slabinfo -X -N 2 >> stats; sleep 1; done ^C slabinfo-gnuplot.sh stats The last command will produce 3 png files (and 3 stats files) -- graph of slabinfo totals -- graph of slabs by size -- graph of slabs by loss It's also possible to select a range of records for plotting (a range of collected slabinfo outputs) via `-r 10,100` (for example); and compare totals from several measurements (to visially compare slabs behaviour (10,50 range)) using pre-parsed totals files: slabinfo-gnuplot.sh -r 10,50 -t stats-totals1 .. stats-totals2 This also, technically, supports ktest. Upload new slabinfo to target, collect the stats and give the resulting stats file to slabinfo-gnuplot This patch (of 8): Use getopt constants in `struct option' ->has_arg instead of numerical representations. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> 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 cd918c557439c8f0750f64883367aeff264b5fd8 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:45:14 2015 -0800 mm/slab_common.c: do not warn that cache is busy on destroy more than once Currently, when kmem_cache_destroy() is called for a global cache, we print a warning for each per memcg cache attached to it that has active objects (see shutdown_cache). This is redundant, because it gives no new information and only clutters the log. If a cache being destroyed has active objects, there must be a memory leak in the module that created the cache, and it does not matter if the cache was used by users in memory cgroups or not. This patch moves the warning from shutdown_cache(), which is called for shutting down both global and per memcg caches, to kmem_cache_destroy(), so that the warning is only printed once if there are objects left in the cache being destroyed. Signed-off-by: Vladimir Davydov <vdavydov@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 d60fdcc9e3febde2ebd49fe517e13f428bc12843 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:45:11 2015 -0800 mm/slab_common.c: clear pointers to per memcg caches on destroy Currently, we do not clear pointers to per memcg caches in the memcg_params.memcg_caches array when a global cache is destroyed with kmem_cache_destroy. This is fine if the global cache does get destroyed. However, a cache can be left on the list if it still has active objects when kmem_cache_destroy is called (due to a memory leak). If this happens, the entries in the array will point to already freed areas, which is likely to result in data corruption when the cache is reused (via slab merging). Signed-off-by: Vladimir Davydov <vdavydov@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 c9a77a792003ce9d70df8937c8c87aee6e177149 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Nov 5 18:45:08 2015 -0800 mm/slab_common.c: rename cache create/destroy helpers do_kmem_cache_create(), do_kmem_cache_shutdown(), and do_kmem_cache_release() sound awkward for static helper functions that are not supposed to be used outside slab_common.c. Rename them to create_cache(), shutdown_cache(), and release_caches(), respectively. This patch is a pure cleanup and does not introduce any functional changes. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> 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 8748dd5c98f7fe506ccb31a094833401ed120915 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:45:05 2015 -0800 include/linux/compiler-gcc.h: hide assume_aligned attribute from sparse The patch "slab.h: sprinkle __assume_aligned attributes" causes *tons* of whinges if you do 'make C=2' with sparse 0.5.0: CHECK drivers/media/usb/pwc/pwc-if.c include/linux/slab.h:307:43: error: attribute '__assume_aligned__': unknown attribute include/linux/slab.h:308:58: error: attribute '__assume_aligned__': unknown attribute include/linux/slab.h:337:73: error: attribute '__assume_aligned__': unknown attribute include/linux/slab.h:375:74: error: attribute '__assume_aligned__': unknown attribute include/linux/slab.h:378:80: error: attribute '__assume_aligned__': unknown attribute sparse apparently pretends to be gcc >= 4.9, yet isn't prepared to handle all the function attributes supported by those gccs and complains loudly. So hide the definition of __assume_aligned from it (so that the generic one in compiler.h gets used). Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reported-by: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Tested-By: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Cc: Christopher Li <sparse@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a744fd17b5233360681ce03e43804406745b680b Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:45:02 2015 -0800 compiler.h: add support for function attribute assume_aligned gcc 4.9 added the function attribute assume_aligned, indicating to the caller that the returned pointer may be assumed to have a certain minimal alignment. This is useful if, for example, the return value is passed to memset(). Add a shorthand macro for that. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fda901241fb89449244537db4fb27b06e491b74f Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Thu Nov 5 18:44:59 2015 -0800 slab: convert slab_is_available() to boolean A good candidate to return a boolean result. Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Reviewed-by: 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 39d2da2161d35de301ec5397ce9103c68b883054 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:56 2015 -0800 kernel/watchdog.c: fix race between proc_watchdog_thresh() and watchdog_timer_fn() Theoretically it is possible that the watchdog timer expires right at the time when a user sets 'watchdog_thresh' to zero (note: this disables the lockup detectors). In this scenario, the is_softlockup() function - which is called by the timer - could produce a false positive. Fix this by checking the current value of 'watchdog_thresh'. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a2a45b85ec45db4b041ea5d93b21033dbc3cc0fc Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:53 2015 -0800 kernel/watchdog.c: remove {get|put}_online_cpus() from watchdog_{park|unpark}_threads() watchdog_{park|unpark}_threads() are now called in code paths that protect themselves against CPU hotplug, so {get|put}_online_cpus() calls are redundant and can be removed. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8614ddef82139d08234dbf681188f9bcddae9f03 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:50 2015 -0800 kernel/watchdog.c: avoid races between /proc handlers and CPU hotplug The handler functions for watchdog parameters in /proc/sys/kernel do not protect themselves against races with CPU hotplug. Hence, theoretically it is possible that a new watchdog thread is started on a hotplugged CPU while a parameter is being modified, and the thread could thus use a parameter value that is 'in transition'. For example, if 'watchdog_thresh' is being set to zero (note: this disables the lockup detectors) the thread would erroneously use the value zero as the sample period. To avoid such races and to keep the /proc handler code consistent, call {get|put}_online_cpus() in proc_watchdog_common() {get|put}_online_cpus() in proc_watchdog_thresh() {get|put}_online_cpus() in proc_watchdog_cpumask() Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ee89e71eb091d3ef8ca2be8bd4ec77ccfa91334c Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:47 2015 -0800 kernel/watchdog.c: avoid race between lockup detector suspend/resume and CPU hotplug The lockup detector suspend/resume interface that was introduced by commit 8c073d27d7ad ("watchdog: introduce watchdog_suspend() and watchdog_resume()") does not protect itself against races with CPU hotplug. Hence, theoretically it is possible that a new watchdog thread is started on a hotplugged CPU while the lockup detector is suspended, and the thread could thus interfere unexpectedly with the code that requested to suspend the lockup detector. Avoid the race by calling get_online_cpus() in lockup_detector_suspend() put_online_cpus() in lockup_detector_resume() Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ac1f591249d95372f3a5ab3828d4af5dfbf5efd3 Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Thu Nov 5 18:44:44 2015 -0800 kernel/watchdog.c: add sysctl knob hardlockup_panic The only way to enable a hardlockup to panic the machine is to set 'nmi_watchdog=panic' on the kernel command line. This makes it awkward for end users and folks who want to run automate tests (like myself). Mimic the softlockup_panic knob and create a /proc/sys/kernel/hardlockup_panic knob. Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 55537871ef666b4153fd1ef8782e4a13fee142cc Author: Jiri Kosina <jkosina@xxxxxxx> Date: Thu Nov 5 18:44:41 2015 -0800 kernel/watchdog.c: perform all-CPU backtrace in case of hard lockup In many cases of hardlockup reports, it's actually not possible to know why it triggered, because the CPU that got stuck is usually waiting on a resource (with IRQs disabled) in posession of some other CPU is holding. IOW, we are often looking at the stacktrace of the victim and not the actual offender. Introduce sysctl / cmdline parameter that makes it possible to have hardlockup detector perform all-CPU backtrace. Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ee7fed540563b27e1028bec0b509921496c91bf9 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:39 2015 -0800 watchdog: do not unpark threads in watchdog_park_threads() on error If kthread_park() returns an error, watchdog_park_threads() should not blindly 'roll back' the already parked threads to the unparked state. Instead leave it up to the callers to handle such errors appropriately in their context. For example, it is redundant to unpark the threads if the lockup detectors will soon be disabled by the callers anyway. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c993590c6ae6273681d9fb2a8d26dce03bf9d96c Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:36 2015 -0800 watchdog: implement error handling in lockup_detector_suspend() lockup_detector_suspend() now handles errors from watchdog_park_threads(). Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b43cb43cb85b91d79d9f0719ff581e8cb6dfbb8f Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:33 2015 -0800 watchdog: implement error handling in update_watchdog_all_cpus() and callers update_watchdog_all_cpus() now passes errors from watchdog_park_threads() up to functions in the call chain. This allows watchdog_enable_all_cpus() and proc_watchdog_update() to handle such errors too. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58cf690a09987c9a56933df05c0369d691d6224d Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:30 2015 -0800 watchdog: move watchdog_disable_all_cpus() outside of ifdef Move watchdog_disable_all_cpus() outside of the ifdef so that it is available if CONFIG_SYSCTL is not defined. This is preparation for "watchdog: implement error handling in update_watchdog_all_cpus() and callers". Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d283c640cee6472852b95036ddd512c2ba0c1139 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Thu Nov 5 18:44:27 2015 -0800 watchdog: fix error handling in proc_watchdog_thresh() The original watchdog_park_threads() function that was introduced by commit 81a4beef91ba ("watchdog: introduce watchdog_park_threads() and watchdog_unpark_threads()") takes a very simple approach to handle errors returned by kthread_park(): It attempts to roll back all watchdog threads to the unparked state. However, this may be undesired behaviour from the perspective of the caller which may want to handle errors as appropriate in its specific context. Currently, there are two possible call chains: - watchdog suspend/resume interface lockup_detector_suspend watchdog_park_threads - write to parameters in /proc/sys/kernel proc_watchdog_update watchdog_enable_all_cpus update_watchdog_all_cpus watchdog_park_threads Instead of 'blindly' attempting to unpark the watchdog threads if a kthread_park() call fails, the new approach is to disable the lockup detectors in the above call chains. Failure becomes visible to the user as follows: - error messages from lockup_detector_suspend() or watchdog_enable_all_cpus() - the state that can be read from /proc/sys/kernel/watchdog_enabled - the 'write' system call in the latter call chain returns an error I did not experience kthread_park() failures in practice, I used some instrumentation to fake error returns from kthread_park() in order to test the patches. This patch (of 5): Restore the previous value of watchdog_thresh _and_ sample_period if proc_watchdog_update() returns an error. The variables must be consistent to avoid false positives of the lockup detectors. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 451637e454f0b41689cd07cdc3fa53388c22890d Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Nov 5 18:44:24 2015 -0800 kernel/watchdog.c: is_hardlockup can be boolean Make is_hardlockup return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Reviewed-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b64787401fd85b66403dd05159a749e333059c0a Author: Dominique Martinet <dominique.martinet@xxxxxx> Date: Thu Nov 5 18:44:21 2015 -0800 9p: do not overwrite return code when locking fails If the remote locking fail, we run a local vfs unlock that should work and return success to userland when we didn't actually lock at all. We need to tell the application that tried to lock that it didn't get it, not that all went well. Signed-off-by: Dominique Martinet <dominique.martinet@xxxxxx> Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Cc: Ron Minnich <rminnich@xxxxxxxxxx> Cc: Latchesar Ionkov <lucho@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 720abae3d68ae966044497dd9ee5ccf3b16e700c Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Date: Thu Nov 5 18:44:18 2015 -0800 rcu: force alignment on struct callback_head/rcu_head Make struct callback_head aligned to size of pointer. On most architectures it happens naturally due ABI requirements, but some architectures (like CRIS) have weird ABI and we need to ask it explicitly. The alignment is required to guarantee that bits 0 and 1 of @next will be clear under normal conditions -- as long as we use call_rcu(), call_rcu_bh(), call_rcu_sched(), or call_srcu() to queue callback. This guarantee is important for few reasons: - future call_rcu_lazy() will make use of lower bits in the pointer; - the structure shares storage spacer in struct page with @compound_head, which encode PageTail() in bit 0. The guarantee is needed to avoid false-positive PageTail(). False postive PageTail() caused crash on crisv32[1]. It happend due misaligned task_struct->rcu, which was byte-aligned. [1] http://lkml.kernel.org/r/55FAEA67.9000102@xxxxxxxxxxxx Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 262d8a8779e24596ec3452ebb7d0a989de91089a Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:44:16 2015 -0800 ocfs2: clean up unused variable in ocfs2_duplicate_clusters_by_page() readahead_pages in ocfs2_duplicate_clusters_by_page is defined but not used, so clean it 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 5afc44e2e9678c0808211f1662732b368cc25f76 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:44:13 2015 -0800 ocfs2: add uuid to ocfs2 thread name for problem analysis A node can mount multiple ocfs2 volumes. And if thread names are same for each volume/domain, it will bring inconvenience when analyzing problems because we have to identify which volume/domain the messages belong to. Since thread name will be printed to messages, so add volume uuid or dlm name to thread name can benefit problem analysis. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Gang He <ghe@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1529a41f777a48f95d4af29668b70ffe3360e1b Author: alex chen <alex.chen@xxxxxxxxxx> Date: Thu Nov 5 18:44:10 2015 -0800 ocfs2: should reclaim the inode if '__ocfs2_mknod_locked' returns an error In ocfs2_mknod_locked if '__ocfs2_mknod_locke d' returns an error, we should reclaim the inode successfully claimed above, otherwise, the inode never be reused. The case is described below: ocfs2_mknod ocfs2_mknod_locked ocfs2_claim_new_inode Successfully claim the inode __ocfs2_mknod_locked ocfs2_journal_access_di Failed because of -ENOMEM or other reasons, the inode lockres has not been initialized yet. iput(inode) ocfs2_evict_inode ocfs2_delete_inode ocfs2_inode_lock ocfs2_inode_lock_full_nested __ocfs2_cluster_lock Return -EINVAL because of the inode lockres has not been initialized. So the following operations are not performed ocfs2_wipe_inode ocfs2_remove_inode ocfs2_free_dinode ocfs2_free_suballoc_bits Signed-off-by: Alex Chen <alex.chen@xxxxxxxxxx> Reviewed-by: 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 0986fe9b50f425ec81f25a1a85aaf3574b31d801 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:44:07 2015 -0800 ocfs2: fix race between mount and delete node/cluster There is a race case between mount and delete node/cluster, which will lead o2hb_thread to malfunctioning dead loop. o2hb_thread { o2nm_depend_this_node(); <<<<<< race window, node may have already been deleted, and then enter the loop, o2hb thread will be malfunctioning because of no configured nodes found. while (!kthread_should_stop() && !reg->hr_unclean_stop && !reg->hr_aborted_start) { } So check the return value of o2nm_depend_this_node() is needed. If node has been deleted, do not enter the loop and let mount fail. 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 93d911fcce259a3f950ee20592beee31b855cd96 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:44:04 2015 -0800 ocfs2: only take lock if dio entry when recover orphans We have no need to take inode mutex, rw and inode lock if it is not dio entry when recover orphans. Optimize it by adding a flag OCFS2_INODE_DIO_ORPHAN_ENTRY to ocfs2_inode_info to reduce contention. Signed-off-by: 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 30edc43c7ff0760f6896c37c06a84533546588fa Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:44:01 2015 -0800 ocfs2: do not include dio entry in case of orphan scan dio entry will only do truncate in case of ORPHAN_NEED_TRUNCATE. So do not include it when doing normal orphan scan to reduce contention. Signed-off-by: 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 1d1aff8cf367d2216a678c722161784e207965c4 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Nov 5 18:43:58 2015 -0800 ocfs2: improve performance for localalloc Currently cluster allocation is always trying to find a victim chain (a chian has most space), and this may lead to poor performance because of discontiguous allocation in some scenarios. Our test case is block size 4k, cluster size 1M and mount option with localalloc=2048 (2G), since a gd is 32256M (about 31.5G) and a localalloc window is only 2G, creating 50G file will result in 2G from gd0, 2G from gd1, ... One way to improve performance is enlarge localalloc window size (max 31104M), but this will make end user feel that about 30G is suddenly "missing", and localalloc currently do not support steal, which means one node cannot use another node's localalloc even it is not used in fact. So using the last gd to record the allocation and continues with the gd if it has enough space for a localalloc window can make the allocation as more contiguous as possible. Our test result is below (evaluated in IOPS), which is using iometer running in VM, dynamic vhd virtual disk stored in ocfs2. IO model Original After Improved(%) 16K60%Write100%Random 703 876 24.59% 8K90%Write100%Random 735 827 12.59% 4K100%Write100%Random 859 915 6.52% 4K100%Read100%Random 2092 2600 24.30% Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Tested-by: Norton Zhu <norton.zhu@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 4e357b932a665e62eb0642633057b8d7156ed8db Author: jiangyiwen <jiangyiwen@xxxxxxxxxx> Date: Thu Nov 5 18:43:55 2015 -0800 ocfs2: fill in the unused portion of the block with zeros by dio_zero_block() A simplified test case is (this case from Ryan): 1) dd if=/dev/zero of=/mnt/hello bs=512 count=1 oflag=direct; 2) truncate /mnt/hello -s 2097152 file 'hello' is not exist before test. After this command, file 'hello' should be all zero. But 512~4096 is some random data. Setting bh state to new when get a new block, if so, direct_io_worker()->dio_zero_block() will fill-in the unused portion of the block with zero. Signed-off-by: Yiwen Jiang <jiangyiwen@xxxxxxxxxx> Reviewed-by: 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 d162eaad7726e5f10a2b5813bdfac9d55c8eba69 Author: Norton.Zhu <norton.zhu@xxxxxxxxxx> Date: Thu Nov 5 18:43:52 2015 -0800 ocfs2_direct_IO_write() misses ocfs2_is_overwrite() error code If ocfs2_is_overwrite failed, ocfs2_direct_IO_write mays till return success to the caller. Signed-off-by: Norton.Zhu <norton.zhu@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 ce4f2fd7eacd84d78530fb97621621ae50d167f1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Nov 5 18:43:49 2015 -0800 logfs: fix build warning fs/logfs/dev_bdev.c: In function '__bdev_writeseg': include/linux/kernel.h:601:17: warning: comparison of distinct pointer types lacks a cast [enabled by default] (void) (&_min1 == &_min2); \ fs/logfs/dev_bdev.c:84:14: note: in expansion of macro 'min' max_pages = min(nr_pages, BIO_MAX_PAGES); fs/logfs/dev_bdev.c: In function 'do_erase': include/linux/kernel.h:601:17: warning: comparison of distinct pointer types lacks a cast [enabled by default] (void) (&_min1 == &_min2); \ fs/logfs/dev_bdev.c:174:14: note: in expansion of macro 'min' max_pages = min(nr_pages, BIO_MAX_PAGES); Lets use min_t and mention the type. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Cc: Joern Engel <joern@xxxxxxxxx> Cc: Prasad Joshi <prasadjoshi.linux@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d30e2c05a1a231452c273e74851d6b70d516f7f2 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Nov 5 18:43:46 2015 -0800 inotify: actually check for invalid bits in sys_inotify_add_watch() The comment here says that it is checking for invalid bits. But, the mask is *actually* checking to ensure that _any_ valid bit is set, which is quite different. Without this check, an unexpected bit could get set on an inotify object. Since these bits are also interpreted by the fsnotify/dnotify code, there is the potential for an object to be mishandled inside the kernel. For instance, can we be sure that setting the dnotify flag FS_DN_RENAME on an inotify watch is harmless? Add the actual check which was intended. Retain the existing inotify bits are being added to the watch. Plus, this is existing behavior which would be nice to preserve. I did a quick sniff test that inotify functions and that my 'inotify-tools' package passes 'make check'. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: John McCutchan <john@xxxxxxxxxxxxxxxxx> Cc: Robert Love <rlove@xxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Cc: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6933599697c96c3213c95f5f1fc7cb6abfd08c54 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Nov 5 18:43:43 2015 -0800 inotify: hide internal kernel bits from fdinfo There was a report that my patch: inotify: actually check for invalid bits in sys_inotify_add_watch() broke CRIU. The reason is that CRIU looks up raw flags in /proc/$pid/fdinfo/* to figure out how to rebuild inotify watches and then passes those flags directly back in to the inotify API. One of those flags (FS_EVENT_ON_CHILD) is set in mark->mask, but is not part of the inotify API. It is used inside the kernel to _implement_ inotify but it is not and has never been part of the API. My patch above ensured that we only allow bits which are part of the API (IN_ALL_EVENTS). This broke CRIU. FS_EVENT_ON_CHILD is really internal to the kernel. It is set _anyway_ on all inotify marks. So, CRIU was really just trying to set a bit that was already set. This patch hides that bit from fdinfo. CRIU will not see the bit, not try to set it, and should work as before. We should not have been exposing this bit in the first place, so this is a good patch independent of the CRIU problem. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Reported-by: Andrey Wagin <avagin@xxxxxxxxx> Acked-by: Andrey Vagin <avagin@xxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Acked-by: Eric Paris <eparis@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: John McCutchan <john@xxxxxxxxxxxxxxxxx> Cc: Robert Love <rlove@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c5b2759bf8c2cbc60e5560c72cf51a2628f6d30 Merge: 809b6ec 98cadf2 c422a8e Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Fri Nov 6 09:32:10 2015 +0800 Merge branches 'thermal-core', 'thermal-intel' and 'thermal-soc' into next commit c422a8ed6fb5ba0c318ae8b31f881e9f2f2f65a1 Merge: c75960a e35dbb4 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Fri Nov 6 09:30:53 2015 +0800 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal into thermal-soc commit 2c302e7e41050dbc174d50b58ad42eedf5dbd6fa Merge: 933425fb 52708d6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 16:34:48 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc updates from David Miller: "Just a couple of fixes/cleanups: - Correct NUMA latency calculations on sparc64, from Nitin Gupta. - ASI_ST_BLKINIT_MRU_S value was wrong, from Rob Gardner. - Fix non-faulting load handling of non-quad values, also from Rob Gardner. - Cleanup VISsave assembler, from Sam Ravnborg. - Fix iommu-common code so it doesn't emit rediculous warnings on some architectures, particularly ARM" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: Fix numa distance values sparc64: Don't restrict fp regs for no-fault loads iommu-common: Fix error code used in iommu_tbl_range_{alloc,free}(). sparc64: use ENTRY/ENDPROC in VISsave sparc64: Fix incorrect ASI_ST_BLKINIT_MRU_S value commit 933425fb0010bd02bd459b41e63082756818ffce Merge: a3e7531 a3eaa86 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 16:26:26 2015 -0800 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull KVM updates from Paolo Bonzini: "First batch of KVM changes for 4.4. s390: A bunch of fixes and optimizations for interrupt and time handling. PPC: Mostly bug fixes. ARM: No big features, but many small fixes and prerequisites including: - a number of fixes for the arch-timer - introducing proper level-triggered semantics for the arch-timers - a series of patches to synchronously halt a guest (prerequisite for IRQ forwarding) - some tracepoint improvements - a tweak for the EL2 panic handlers - some more VGIC cleanups getting rid of redundant state x86: Quite a few changes: - support for VT-d posted interrupts (i.e. PCI devices can inject interrupts directly into vCPUs). This introduces a new component (in virt/lib/) that connects VFIO and KVM together. The same infrastructure will be used for ARM interrupt forwarding as well. - more Hyper-V features, though the main one Hyper-V synthetic interrupt controller will have to wait for 4.5. These will let KVM expose Hyper-V devices. - nested virtualization now supports VPID (same as PCID but for vCPUs) which makes it quite a bit faster - for future hardware that supports NVDIMM, there is support for clflushopt, clwb, pcommit - support for "split irqchip", i.e. LAPIC in kernel + IOAPIC/PIC/PIT in userspace, which reduces the attack surface of the hypervisor - obligatory smattering of SMM fixes - on the guest side, stable scheduler clock support was rewritten to not require help from the hypervisor" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (123 commits) KVM: VMX: Fix commit which broke PML KVM: x86: obey KVM_X86_QUIRK_CD_NW_CLEARED in kvm_set_cr0() KVM: x86: allow RSM from 64-bit mode KVM: VMX: fix SMEP and SMAP without EPT KVM: x86: move kvm_set_irq_inatomic to legacy device assignment KVM: device assignment: remove pointless #ifdefs KVM: x86: merge kvm_arch_set_irq with kvm_set_msi_inatomic KVM: x86: zero apic_arb_prio on reset drivers/hv: share Hyper-V SynIC constants with userspace KVM: x86: handle SMBASE as physical address in RSM KVM: x86: add read_phys to x86_emulate_ops KVM: x86: removing unused variable KVM: don't pointlessly leave KVM_COMPAT=y in non-KVM configs KVM: arm/arm64: Merge vgic_set_lr() and vgic_sync_lr_elrsr() KVM: arm/arm64: Clean up vgic_retire_lr() and surroundings KVM: arm/arm64: Optimize away redundant LR tracking KVM: s390: use simple switch statement as multiplexer KVM: s390: drop useless newline in debugging data KVM: s390: SCA must not cross page boundaries KVM: arm: Do not indent the arguments of DECLARE_BITMAP ... commit a3e7531535a0c6e5acbaa5436f37933bb471aa95 Merge: 39cf7c3 a82544c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 16:20:21 2015 -0800 Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI updates from James Bottomley: "First round of SCSI updates for the 4.4 merge window. This batch includes a couple of minor fixes, some core changes to help issues we're still seeing with the suspend/resume code and updates to lpfc and cxlflash. We're (actually Martin Petersen is) trying to wrangle a mpt2/mpt3sas merger for the merge window which will help enormously with the maintenance burden, so there will be another round before it closes" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (56 commits) cxlflash: Fix to avoid bypassing context cleanup cxlflash: Fix to avoid lock instrumentation rejection cxlflash: Fix to avoid corrupting port selection mask cxlflash: Fix to escalate to LINK_RESET on login timeout cxlflash: Fix to avoid leaving dangling interrupt resources cxlflash: Fix to avoid potential deadlock on EEH cxlflash: Correct trace string cxlflash: Fix to avoid corrupting adapter fops cxlflash: Fix to double the delay each time MAINTAINERS: Add cxlflash driver cxlflash: Fix to prevent stale AFU RRQ cxlflash: Correct spelling, grammar, and alignment mistakes cxlflash: Fix to prevent EEH recovery failure cxlflash: Fix MMIO and endianness errors cxlflash: Fix function prolog parameters and return codes cxlflash: Remove unnecessary scsi_block_requests cxlflash: Correct behavior in device reset handler following EEH cxlflash: Fix to prevent workq from accessing freed memory cxlflash: Correct usage of scsi_host_put() cxlflash: Fix AFU version access/storage and add check ... commit 39cf7c398122ff6d7df13d2832810933d227ac59 Merge: ab1228e b67ad2f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 16:12:10 2015 -0800 Merge tag 'iommu-updates-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull iommu updates from Joerg Roedel: "This time including: - A new IOMMU driver for s390 pci devices - Common dma-ops support based on iommu-api for ARM64. The plan is to use this as a basis for ARM32 and hopefully other architectures as well in the future. - MSI support for ARM-SMMUv3 - Cleanups and dead code removal in the AMD IOMMU driver - Better RMRR handling for the Intel VT-d driver - Various other cleanups and small fixes" * tag 'iommu-updates-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (41 commits) iommu/vt-d: Fix return value check of parse_ioapics_under_ir() iommu/vt-d: Propagate error-value from ir_parse_ioapic_hpet_scope() iommu/vt-d: Adjust the return value of the parse_ioapics_under_ir iommu: Move default domain allocation to iommu_group_get_for_dev() iommu: Remove is_pci_dev() fall-back from iommu_group_get_for_dev iommu/arm-smmu: Switch to device_group call-back iommu/fsl: Convert to device_group call-back iommu: Add device_group call-back to x86 iommu drivers iommu: Add generic_device_group() function iommu: Export and rename iommu_group_get_for_pci_dev() iommu: Revive device_group iommu-ops call-back iommu/amd: Remove find_last_devid_on_pci() iommu/amd: Remove first/last_device handling iommu/amd: Initialize amd_iommu_last_bdf for DEV_ALL iommu/amd: Cleanup buffer allocation iommu/amd: Remove cmd_buf_size and evt_buf_size from struct amd_iommu iommu/amd: Align DTE flag definitions iommu/amd: Remove old alias handling code iommu/amd: Set alias DTE in do_attach/do_detach iommu/amd: WARN when __[attach|detach]_device are called with irqs enabled ... commit d2f20619942fe4618160a7fa3dbdcbac335cff59 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Nov 4 09:28:26 2015 -0700 toshiba_acpi: Initialize hotkey_event_type variable Commit 53147b6cabee5e8d1997b5682fcc0c3b72ddf9c2 ("toshiba_acpi: Fix hotkeys registration on some toshiba models") fixed an issue on some laptops regarding hotkeys registration, however, if failed to address the initialization of the hotkey_event_type variable, and thus, it can lead to potential unwanted effects as the variable is being checked. This patch initializes such variable to avoid such unwanted effects. Cc: <stable@xxxxxxxxxxxxxxx> # 4.1+ Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit ab1228e42e71f5cb687c740c4c304f1d48bcf68a Merge: 5ebe0ee 0bdec95 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 16:06:52 2015 -0800 Merge git://git.infradead.org/intel-iommu Pull intel iommu updates from David Woodhouse: "This adds "Shared Virtual Memory" (aka PASID support) for the Intel IOMMU. This allows devices to do DMA using process address space, translated through the normal CPU page tables for the relevant mm. With corresponding support added to the i915 driver, this has been tested with the graphics device on Skylake. We don't have the required TLP support in our PCIe root ports for supporting discrete devices yet, so it's only integrated devices that can do it so far" * git://git.infradead.org/intel-iommu: (23 commits) iommu/vt-d: Fix rwxp flags in SVM device fault callback iommu/vt-d: Expose struct svm_dev_ops without CONFIG_INTEL_IOMMU_SVM iommu/vt-d: Clean up pasid_enabled() and ecs_enabled() dependencies iommu/vt-d: Handle Caching Mode implementations of SVM iommu/vt-d: Fix SVM IOTLB flush handling iommu/vt-d: Use dev_err(..) in intel_svm_device_to_iommu(..) iommu/vt-d: fix a loop in prq_event_thread() iommu/vt-d: Fix IOTLB flushing for global pages iommu/vt-d: Fix address shifting in page request handler iommu/vt-d: shift wrapping bug in prq_event_thread() iommu/vt-d: Fix NULL pointer dereference in page request error case iommu/vt-d: Implement SVM_FLAG_SUPERVISOR_MODE for kernel access iommu/vt-d: Implement SVM_FLAG_PRIVATE_PASID to allocate unique PASIDs iommu/vt-d: Add callback to device driver on page faults iommu/vt-d: Implement page request handling iommu/vt-d: Generalise DMAR MSI setup to allow for page request events iommu/vt-d: Implement deferred invalidate for SVM iommu/vt-d: Add basic SVM PASID support iommu/vt-d: Always enable PASID/PRI PCI capabilities before ATS iommu/vt-d: Add initial support for PASID tables ... commit 5ebe0ee802c52cdf0c0eed8f3eccc9a056e412a3 Merge: 1873499 3ce9623 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 15:59:24 2015 -0800 Merge tag 'docs-for-linus' of git://git.lwn.net/linux Pull documentation update from Jon Corbet: "There is a nice new document from Neil on how pathname lookups work and some new CAN driver documentation. Beyond that, we have kernel-doc fixes, a bit more work to support reproducible builds, and the usual collection of small fixes" * tag 'docs-for-linus' of git://git.lwn.net/linux: (34 commits) Documentation: add new description of path-name lookup. Documentation/vm/slub.txt: document slabinfo-gnuplot.sh Doc: ABI/stable: Fix typo in ABI/stable doc: Clarify that nmi_watchdog param is for hardlockups Typo correction for description in gpio document. DocBook: Fix kernel-doc to be case-insensitive for private: kernel-docs.txt: update kernelnewbies reference Doc:kvm: Fix typo in Doc/virtual/kvm Documentation/Changes: Add bc in "Current Minimal Requirements" section Documentation/email-clients.txt: remove trailing whitespace DocBook: Use a fixed encoding for output MAINTAINERS: The docs tree has moved Docs/kernel-parameters: Add earlycon devicetree usage SubmittingPatches: make Subject examples match the de facto standard Documentation: gpio: mention that <function>-gpio has been deprecated Documentation: cgroups: just fix a few typos Documentation: Update kselftest.txt Documentation: DMA API: Be more explicit that nents is always the same Documentation: Update the default value of crashkernel low zram: update documentation ... commit 1873499e13648a2dd01a394ed3217c9290921b3d Merge: 3460b01 ba94c3f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 15:32:38 2015 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security subsystem update from James Morris: "This is mostly maintenance updates across the subsystem, with a notable update for TPM 2.0, and addition of Jarkko Sakkinen as a maintainer of that" * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (40 commits) apparmor: clarify CRYPTO dependency selinux: Use a kmem_cache for allocation struct file_security_struct selinux: ioctl_has_perm should be static selinux: use sprintf return value selinux: use kstrdup() in security_get_bools() selinux: use kmemdup in security_sid_to_context_core() selinux: remove pointless cast in selinux_inode_setsecurity() selinux: introduce security_context_str_to_sid selinux: do not check open perm on ftruncate call selinux: change CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE default KEYS: Merge the type-specific data with the payload data KEYS: Provide a script to extract a module signature KEYS: Provide a script to extract the sys cert list from a vmlinux file keys: Be more consistent in selection of union members used certs: add .gitignore to stop git nagging about x509_certificate_list KEYS: use kvfree() in add_key Smack: limited capability for changing process label TPM: remove unnecessary little endian conversion vTPM: support little endian guests char: Drop owner assignment from i2c_driver ... commit 3460b01b12aaf0011cb30f6f502edd05752f70eb Merge: 6de29ccb 233a686 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 15:26:43 2015 -0800 Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit Pull audit updates from Paul Moore: "Seven audit patches for 4.4, but really only one of any significant value, the remainder are trivial cleanups that are described well enough in the patch descriptions. The one significant patch is an attempt to make communication between the kernel's audit subsystem and the userspace audit daemon a bit more robust by retrying on certain transient error conditions. All in all, it's a pretty small set of patches this time around with just fixes and cleanups" * 'upstream' of git://git.infradead.org/users/pcmoore/audit: audit: make audit_log_common_recv_msg() a void function audit: removing unused variable audit: fix comment block whitespace audit: audit_tree_match can be boolean audit: audit_string_contains_control can be boolean audit: audit_dummy_context can be boolean audit: try harder to send to auditd upon netlink failure commit 6de29ccb50f2caef07cdd888efc8cb933497b6a4 Merge: 69234ac f2ca379 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 15:20:56 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace Pull userns hardlink capability check fix from Eric Biederman: "This round just contains a single patch. There has been a lot of other work this period but it is not quite ready yet, so I am pushing it until 4.5. The remaining change by Dirk Steinmetz wich fixes both Gentoo and Ubuntu containers allows hardlinks if we have the appropriate capabilities in the user namespace. Security wise it is really a gimme as the user namespace root can already call setuid become that user and create the hardlink" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: namei: permit linking with CAP_FOWNER in userns commit 69234acee54407962a20bedf90ef9c96326994b5 Merge: 11eaaad d574567 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 14:51:32 2015 -0800 Merge branch 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup Pull cgroup updates from Tejun Heo: "The cgroup core saw several significant updates this cycle: - percpu_rwsem for threadgroup locking is reinstated. This was temporarily dropped due to down_write latency issues. Oleg's rework of percpu_rwsem which is scheduled to be merged in this merge window resolves the issue. - On the v2 hierarchy, when controllers are enabled and disabled, all operations are atomic and can fail and revert cleanly. This allows ->can_attach() failure which is necessary for cpu RT slices. - Tasks now stay associated with the original cgroups after exit until released. This allows tracking resources held by zombies (e.g. pids) and makes it easy to find out where zombies came from on the v2 hierarchy. The pids controller was broken before these changes as zombies escaped the limits; unfortunately, updating this behavior required too many invasive changes and I don't think it's a good idea to backport them, so the pids controller on 4.3, the first version which included the pids controller, will stay broken at least until I'm sure about the cgroup core changes. - Optimization of a couple common tests using static_key" * 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (38 commits) cgroup: fix race condition around termination check in css_task_iter_next() blkcg: don't create "io.stat" on the root cgroup cgroup: drop cgroup__DEVEL__legacy_files_on_dfl cgroup: replace error handling in cgroup_init() with WARN_ON()s cgroup: add cgroup_subsys->free() method and use it to fix pids controller cgroup: keep zombies associated with their original cgroups cgroup: make css_set_rwsem a spinlock and rename it to css_set_lock cgroup: don't hold css_set_rwsem across css task iteration cgroup: reorganize css_task_iter functions cgroup: factor out css_set_move_task() cgroup: keep css_set and task lists in chronological order cgroup: make cgroup_destroy_locked() test cgroup_is_populated() cgroup: make css_sets pin the associated cgroups cgroup: relocate cgroup_[try]get/put() cgroup: move check_for_release() invocation cgroup: replace cgroup_has_tasks() with cgroup_is_populated() cgroup: make cgroup->nr_populated count the number of populated css_sets cgroup: remove an unused parameter from cgroup_task_migrate() cgroup: fix too early usage of static_branch_disable() cgroup: make cgroup_update_dfl_csses() migrate all target processes atomically ... commit 11eaaadb3ea376c6c194491c2e9bddd647f9d253 Merge: e25ac7d 159b5bb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 14:32:54 2015 -0800 Merge branch 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata updates from Tejun Heo: "Most are ahci and other device specific additions. Dan cleaned up ahci IRQ handling to prepare for future MSIX changes. On the libata core side, Vinayak updated SG handling so that NCQ commands can be issued through SG_IO and Christoph cleaned up code a bit. There's one merge from for-4.3-fixes to include a pata_macio commit that didn't get pushed out" * 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: ahci: add new Intel device IDs ahci: Add Marvell 88se91a2 device id ahci: cleanup ahci_host_activate_multi_irqs ahci: ahci_host_activate: kill IRQF_SHARED devicetree: bindings: Fixed a few typos ahci: qoriq: Disable NCQ on ls2080a SoC ahci: qoriq: Rename LS2085A SoC support code to LS2080A libata: enable LBA flag in taskfile for ata_scsi_pass_thru() libata: add support for NCQ commands for SG interface ahci: qoriq: Fix a compiling warning pata_it821x: use "const char *" for string literals libata: only call ->done once all per-tag ressources are released libata: cleanup ata_scsi_qc_complete ata: ahci: find eSATA ports and flag them as removable libata: samsung_cf: fix handling platform_get_irq result ata: pata_macio: Fix module autoload for OF platform driver ata: pata_pxa: dmaengine conversion ahci: added a new driver for supporting Freescale AHCI sata devicetree:bindings: add devicetree bindings for Freescale AHCI Revert "ahci: added support for Freescale AHCI sata" commit e25ac7ddaae0e798f794cdaf9109bc71246110cd Merge: 75f5db39 e227358 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 14:16:27 2015 -0800 Merge branch 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq Pull workqueue update from Tejun Heo: "This pull request contains one patch to make an unbound worker pool allocated from the NUMA node containing it if such node exists. As unbound worker pools are node-affine by default, this makes most pools allocated on the right node" * 'for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: Allocate the unbound pool using local node memory commit d7e53e35f9f54cdfa09a8456ae8e9874ec66bb36 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Tue Nov 3 17:13:57 2015 -0500 cpufreq: s5pv210-cpufreq: fix wrong do_div() usage It is wrong to use do_div() with 32-bit dividends (unsigned long is 32 bits on 32-bit architectures). Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 58ac1f6202aab03d1f2c5fcfe3552af4b93321d3 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Mon Nov 2 09:45:46 2015 -0800 MAINTAINERS: update for intel P-state driver Add Srinivas Pandruvada and Len Brown as maintainers and remove Kristen Carlson Accardi from the list of maintainers. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 212cd0895330b775f2db49451f046a5ca4e5704b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 5 13:39:24 2015 -0800 selinux: fix random read in selinux_ip_postroute_compat() In commit e446f9dfe17b ("net: synack packets can be attached to request sockets"), I missed one remaining case of invalid skb->sk->sk_security access. Dmitry Vyukov got a KASan report pointing to it. Add selinux_skb_sk() helper that is responsible to get back to the listener if skb is attached to a request socket, instead of duplicating the logic. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Paul Moore <paul@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 432599d7a7062ad7e37e72601607dc35596afe40 Merge: 49a496c 4bb6cdc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Nov 5 16:33:10 2015 -0500 Merge branch 'bnxt_en-fixes' Michael Chan says: ==================== bnxt_en: Bug fixes. Miscellaneous small bug fixes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bb6cdce386d620d10d2588ea5bf4093a3b21ab9 Author: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Date: Thu Nov 5 16:25:51 2015 -0500 bnxt_en: More robust SRIOV cleanup sequence. Instead of always calling pci_sriov_disable() in remove_one(), the driver should detect whether VFs are currently assigned to the VMs. If the VFs are active in VMs, then it should not disable SRIOV as it is catastrophic to the VMs. Instead, it just leaves the VFs alone and continues to unload the PF. The user can then cleanup the VMs even after the PF driver has been unloaded. Signed-off-by: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84e86b98f6515aaeaac053b234be158b25457184 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Thu Nov 5 16:25:50 2015 -0500 bnxt_en: Fix comparison of u16 sw_id against negative value. Assign the return value from bitmap_find_free_region() to an integer variable and check for negative error codes first, before assigning the bit ID to the unsigned sw_id field. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11809490ac17810cff90c12e9f2f3e0303a72121 Author: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Date: Thu Nov 5 16:25:49 2015 -0500 bnxt_en: map CAG_REG_LEGACY_INT_STATUS_MASK to GRC window #4 In order to use offset 0x4014 for reading CAG interrupt status, the actual CAG register must be mapped to GRC bar0 window #4. Otherwise, the driver is reading garbage. This patch corrects this issue. Signed-off-by: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 614388ce39f3d61ad7f95db65f409d35d5943616 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Thu Nov 5 16:25:48 2015 -0500 bnxt_en: Determine tcp/ipv6 RSS hash type correctly. The profile ID in the completion record needs to be ANDed with the profile ID mask of 0x1f. This bug was causing the SKB hash type and the gso_type to be wrong in some cases. Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5d7774db350e77f2506e36e1797c958d1b118c8 Author: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Date: Thu Nov 5 16:25:47 2015 -0500 bnxt_en: Change sp events definitions to represent bit position. Fix the sp event bits to be bit positions instead of bit values since the bit helper functions are expecting the former. Signed-off-by: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75f5db39ff14ed95056f2cca3ad98c3cae97170c Merge: 52787e9 c70efb8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 13:15:12 2015 -0800 Merge tag 'spi-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi updates from Mark Brown: "Quite a lot of activity in SPI this cycle, almost all of it in drivers with a few minor improvements and tweaks in the core. - Updates to pxa2xx to support Intel Broxton and multiple chip selects. - Support for big endian in the bcm63xx driver. - Multiple slave support for the mt8173 - New driver for the auxiliary SPI controller in bcm2835 SoCs. - Support for Layerscale SoCs in the Freescale DSPI driver" * tag 'spi-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (87 commits) spi: pxa2xx: Rework self-initiated platform data creation for non-ACPI spi: pxa2xx: Add support for Intel Broxton spi: pxa2xx: Detect number of enabled Intel LPSS SPI chip select signals spi: pxa2xx: Add output control for multiple Intel LPSS chip selects spi: pxa2xx: Use LPSS prefix for defines that are Intel LPSS specific spi: Add DSPI support for layerscape family spi: ti-qspi: improve ->remove() callback spi/spi-xilinx: Fix race condition on last word read spi: Drop owner assignment from spi_drivers spi: Add THIS_MODULE to spi_driver in SPI core spi: Setup the master controller driver before setting the chipselect spi: dw: replace magic constant by DW_SPI_DR spi: mediatek: mt8173 spi multiple devices support spi: mediatek: handle controller_data in mtk_spi_setup spi: mediatek: remove mtk_spi_config spi: mediatek: Update document devicetree bindings to support multiple devices spi: fix kernel-doc warnings about missing return desc in spi.c spi: fix kernel-doc warnings about missing return desc in spi.h spi: pxa2xx: Align a few defines spi: pxa2xx: Save other reg_cs_ctrl bits when configuring chip select ... commit 52787e91bf5375e68e90f381bd157bd92e1f4a77 Merge: f66477a 62e544b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 13:06:22 2015 -0800 Merge tag 'regulator-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "This is quite a quiet release in terms of volume of patches but it includes a couple of really nice core changes - the work Sascha has done in particular is something I've wanted to get done for a long time but just never got round to myself. Highlights include: - Support from Sascha Hauer for setting the voltage of parent supplies based on requests from their children. This is used both to allow set_voltage() to work through a dumb switch and to improve the efficiency of systems where DCDCs are used to supply LDOs by minimising the voltage drop over the LDOs. - Removal of regulator_list by Tomeu Vizoso, meaning we're not duplicating the device list maintained by the driver core. - Support for Wolfson/Cirrus WM8998 and WM1818" * tag 'regulator-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (29 commits) regulator: Use regulator_lock_supply() for get_voltage() too regulator: arizona: Add regulator specific device tree binding document regulator: stw481x: compile on COMPILE_TEST regulator: qcom-smd: Correct set_load() unit regulator: core: Propagate voltage changes to supply regulators regulator: core: Factor out regulator_map_voltage regulator: i.MX anatop: Allow supply regulator regulator: introduce min_dropout_uV regulator: core: create unlocked version of regulator_set_voltage regulator: arizona-ldo1: Fix handling of GPIO 0 regulator: da9053: Update regulator for DA9053 BC silicon support regulator: max77802: Separate sections for nodes and properties regulator: max77802: Add input supply properties to DT binding doc regulator: axp20x: set supply names for AXP22X DC1SW/DC5LDO internally regulator: axp20x: Drop AXP221 DC1SW and DC5LDO regulator supplies from bindings mfd: tps6105x: Use i2c regmap to access registers regulator: act8865: add DT binding for property "active-semi,vsel-high" regulator: act8865: support output voltage by VSET2[] bits regulator: arizona: add support for WM8998 and WM1814 regulator: core: create unlocked version of regulator_list_voltage ... commit f66477a0aeb77f97a7de5f791700dadc42f3f792 Merge: 400c5bd e5bf199 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:59:36 2015 -0800 Merge tag 'clk-for-linus-20151104' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux Pull clk updates from Stephen Boyd: "The majority of the changes are driver updates and new device support. The core framework is mostly unchanged this time around, with only a couple patches to expose a clk provider API and make getting clk parent names from DT more robust. Driver updates: - Support for clock controllers found on Broadcom Northstar SoCs and bcm2835 SoC - Support for Allwinner audio clocks - A few cleanup patches for Tegra drivers and support for the highest DFLL frequencies on Tegra124 - Samsung exynos7 fixes and improvements - i.Mx SoC updates to add a few missing clocks and keep debug uart clocks on during kernel intialization - Some mediatek cleanups and support for more subsystem clocks - Support for msm8916 gpu/audio clocks and qcom's GDSC power domain controllers - A new driver for the Silabs si514 clock chip" * tag 'clk-for-linus-20151104' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (143 commits) clk: qcom: msm8960: Fix dsi1/2 halt bits clk: lpc18xx-cgu: fix potential system hang when disabling unused clocks clk: lpc18xx-ccu: fix potential system hang when disabling unused clocks clk: Add clk_hw_is_enabled() for use by clk providers clk: Add stubs for of_clk_*() APIs when CONFIG_OF=n clk: versatile-icst: fix memory leak clk: Remove clk_{register,unregister}_multiplier() clk: iproc: define Broadcom NS2 iProc clock binding clk: iproc: define Broadcom NSP iProc clock binding clk: ns2: add clock support for Broadcom Northstar 2 SoC clk: iproc: Separate status and control variables clk: iproc: Split off dig_filter clk: iproc: Add PLL base write function clk: nsp: add clock support for Broadcom Northstar Plus SoC clk: iproc: Add PWRCTRL support clk: cygnus: Convert all macros to all caps ARM: cygnus: fix link failures when CONFIG_COMMON_CLK_IPROC is disabled clk: imx31: add missing of_node_put clk: imx27: add missing of_node_put clk: si5351: add missing of_node_put ... commit 49a496c97d035f2eab7cef4894dd46202184fc81 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 5 12:50:19 2015 -0800 tcp: use correct req pointer in tcp_move_syn() calls I mistakenly took wrong request sock pointer when calling tcp_move_syn() @req_unhash is either a copy of @req, or a NULL value for FastOpen connexions (as we do not expect to unhash the temporary request sock from ehash table) Fixes: 805c4bc05705 ("tcp: fix req->saved_syn race") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Ying Cai <ycai@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0547311133159bf95f7998726e4e4932d78d8ce Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Nov 5 15:40:45 2015 +0100 perf stat: Make stat options global So they can be used in perf stat record command in following patch. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1446734469-11352-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 400c5bd5a5b1faf3089322ace58b974446a8ddc3 Merge: 9bd9fa6 6bd03ce Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:28:15 2015 -0800 Merge tag 'for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply Pull power supply and reset updates from Sebastian Reichel: - new AXP20X USB Power driver - new Qualcomm SMBB driver - new TPS65217 Charger driver - BQ24257: add BQ24250/BQ24251 support - overhaul bq27x00 battery driver, rename to bq27xxx - misc fixes and cleanups * tag 'for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (54 commits) power: bq27xxx_battery: Remove unneeded dependency in Kconfig power: bq27xxx_battery: move irq handler to i2c section power: bq27xxx_battery: fix platform probe twl4030_charger: add missing iio dependency power_supply: charger-manager: add missing of_node_put Documentation: power: bq24257: Document exported sysfs entries power: bq24257: Add various device-specific sysfs properties power: bq24257: Allow input current limit sysfs access power: bq24257: Add input DPM voltage threshold setting support power: bq24257: Add over voltage protection setting support power: bq24257: Add SW-based approach for Power Good determination power: bq24257: Allow manual setting of input current limit power: bq24257: Add bit definition for temp sense enable power: bq24257: Add basic support for bq24250/bq24251 dt: power: bq24257-charger: Cover additional devices power: bq24257: Simplify bq24257_power_supply_init() power: bq24257: Use managed power supply register power: bq24257: Streamline input current limit setup power: bq24257: Remove IRQ config through stat-gpios power: bq27xxx_battery: fix signedness bug in bq27xxx_battery_read_health() ... commit 9bd9fa6c147e68fc4dc3b35893979720ba7d0321 Merge: b037865 16bd586 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:13:47 2015 -0800 Merge tag 'hsi-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi Pull HSI updates from Sebastian Reichel: "Misc fixes" * tag 'hsi-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi: hsi: controllers:remove redundant code hsi: correctly handle return value of kzalloc hsi: omap_ssi_port: Prevent warning if cawake_gpio is not defined. hsi: fix double kfree HSI: Fix a typo commit b0378657549bbc73ac0ec6e9332fcf3c53362365 Merge: 66339fd 79f5b6a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 12:05:15 2015 -0800 Merge tag 'media/v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: "Media updates, including: - Lots of improvements at the kABI documentation - Split of Videobuf2 into a common part and a V4L2 specific one - Split of the VB2 tracing events into a separate header file - s5p-mfc got support for Exynos 5433 - v4l2 fixes for 64-bits alignment when running 32 bits userspace on ARM - Added support for SDR radio transmitter at core, vivid and hackrf drivers - Some y2038 fixups - Some improvements at V4L2 colorspace support - saa7164 converted to use the V4L2 core control framework - several new boards additions, cleanups and fixups PS: There are two patches for scripts/kernel-doc that are needed by the documentation patches on Media. Jon is OK on merging those via my tree" * tag 'media/v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (146 commits) [media] c8sectpfe: Remove select on CONFIG_FW_LOADER_USER_HELPER_FALLBACK [media] DocBook media: update copyright/version numbers [media] ivtv: Convert to get_user_pages_unlocked() [media] media/v4l2-ctrls: fix setting autocluster to manual with VIDIOC_S_CTRL [media] DocBook media: Fix a typo in encoder cmd [media] DocBook: add SDR specific info to G_MODULATOR / S_MODULATOR [media] DocBook: add SDR specific info to G_TUNER / S_TUNER [media] hackrf: do not set human readable name for formats [media] hackrf: add support for transmitter [media] hackrf: switch to single function which configures everything [media] hackrf: add control for RF amplifier [media] DocBook: add modulator type field [media] v4l: add type field to v4l2_modulator struct [media] DocBook: document SDR transmitter [media] v4l2: add support for SDR transmitter [media] DocBook: document tuner RF gain control [media] v4l2: add RF gain control [media] v4l2: rename V4L2_TUNER_ADC to V4L2_TUNER_SDR [media] media/vivid-osd: fix info leak in ioctl [media] media: videobuf2: Move v4l2-specific stuff to videobuf2-v4l2 ... commit 66339fdacb63fc7908e7eb755b9fffa672ffbb10 Merge: 0fcb9d2 306e5c2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 11:51:18 2015 -0800 Merge tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull pstore updates from Tony Luck: "Half dozen small cleanups plus change to allow pstore backend drivers to be unloaded" * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: pstore: fix code comment to match code efi-pstore: fix kernel-doc argument name pstore: Fix return type of pstore_is_mounted() pstore: add pstore unregister pstore: add a helper function pstore_register_kmsg pstore: add vmalloc error check commit 30f7ea1c2b5f5fb7462c5ae44fe2e40cb2d6a474 Author: Francesco Ruggeri <fruggeri@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 08:16:14 2015 -0800 packet: race condition in packet_bind There is a race conditions between packet_notifier and packet_bind{_spkt}. It happens if packet_notifier(NETDEV_UNREGISTER) executes between the time packet_bind{_spkt} takes a reference on the new netdevice and the time packet_do_bind sets po->ifindex. In this case the notification can be missed. If this happens during a dev_change_net_namespace this can result in the netdevice to be moved to the new namespace while the packet_sock in the old namespace still holds a reference on it. When the netdevice is later deleted in the new namespace the deletion hangs since the packet_sock is not found in the new namespace' &net->packet.sklist. It can be reproduced with the script below. This patch makes packet_do_bind check again for the presence of the netdevice in the packet_sock's namespace after the synchronize_net in unregister_prot_hook. More in general it also uses the rcu lock for the duration of the bind to stop dev_change_net_namespace/rollback_registered_many from going past the synchronize_net following unlist_netdevice, so that no NETDEV_UNREGISTER notifications can happen on the new netdevice while the bind is executing. In order to do this some code from packet_bind{_spkt} is consolidated into packet_do_dev. import socket, os, time, sys proto=7 realDev='em1' vlanId=400 if len(sys.argv) > 1: vlanId=int(sys.argv[1]) dev='vlan%d' % vlanId os.system('taskset -p 0x10 %d' % os.getpid()) s = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, proto) os.system('ip link add link %s name %s type vlan id %d' % (realDev, dev, vlanId)) os.system('ip netns add dummy') pid=os.fork() if pid == 0: # dev should be moved while packet_do_bind is in synchronize net os.system('taskset -p 0x20000 %d' % os.getpid()) os.system('ip link set %s netns dummy' % dev) os.system('ip netns exec dummy ip link del %s' % dev) s.close() sys.exit(0) time.sleep(.004) try: s.bind(('%s' % dev, proto+1)) except: print 'Could not bind socket' s.close() os.system('ip netns del dummy') sys.exit(0) os.waitpid(pid, 0) s.close() os.system('ip netns del dummy') sys.exit(0) Signed-off-by: Francesco Ruggeri <fruggeri@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d799dde8e69494e0234b8ecd5ce95cd06224329 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Nov 5 13:40:40 2015 -0600 MAINTAINERS: update DT binding doc locations After the recent moving of DT binding documents, some maintainers entries are stale. Update them to the new locations. In bindings/fb/, there were only 2 files and I'm assuming the FB maintainers don't want to be copied on all of bindings/display/. So I've dropped them. Reported-by: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Cc: Alison Wang <alison.wang@xxxxxxxxxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Cc: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f668f5f7e0861087ef9d64d473a9c1399fc25471 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 5 11:34:06 2015 -0800 ipv4: use sk_fullsock() in ipv4_conntrack_defrag() Before converting a 'socket pointer' into inet socket, use sk_fullsock() to detect timewait or request sockets. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Tested-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 805c4bc05705fb2b71ec970960b456eee9900953 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Nov 5 11:07:13 2015 -0800 tcp: fix req->saved_syn race For the reasons explained in commit ce1050089c96 ("tcp/dccp: fix ireq->pktopts race"), we need to make sure we do not access req->saved_syn unless we own the request sock. This fixes races for listeners using TCP_SAVE_SYN option. Fixes: e994b2f0fb92 ("tcp: do not lock listener to process SYN packets") Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Ying Cai <ycai@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fcb9d21b4e18ede3727b8905e74acd0d1daef56 Merge: d000f8d beaa57d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 11:22:07 2015 -0800 Merge tag 'for-f2fs-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs updates from Jaegeuk Kim: "Most part of the patches include enhancing the stability and performance of in-memory extent caches feature. In addition, it introduces several new features and configurable points: - F2FS_GOING_DOWN_METAFLUSH ioctl to test power failures - F2FS_IOC_WRITE_CHECKPOINT ioctl to trigger checkpoint by users - background_gc=sync mount option to do gc synchronously - periodic checkpoints - sysfs entry to control readahead blocks for free nids And the following bug fixes have been merged. - fix SSA corruption by collapse/insert_range - correct a couple of gc behaviors - fix the results of f2fs_map_blocks - fix error case handling of volatile/atomic writes" * tag 'for-f2fs-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (54 commits) f2fs: fix to skip shrinking extent nodes f2fs: fix error path of ->symlink f2fs: fix to clear GCed flag for atomic written page f2fs: don't need to submit bio on error case f2fs: fix leakage of inmemory atomic pages f2fs: refactor __find_rev_next_{zero}_bit f2fs: support fiemap for inline_data f2fs: flush dirty data for bmap f2fs: relocate the tracepoint for background_gc f2fs crypto: fix racing of accessing encrypted page among f2fs: export ra_nid_pages to sysfs f2fs: readahead for free nids building f2fs: support lower priority asynchronous readahead in ra_meta_pages f2fs: don't tag REQ_META for temporary non-meta pages f2fs: add a tracepoint for f2fs_read_data_pages f2fs: set GFP_NOFS for grab_cache_page f2fs: fix SSA updates resulting in corruption Revert "f2fs: do not skip dentry block writes" f2fs: add F2FS_GOING_DOWN_METAFLUSH to test power-failure f2fs: merge meta writes as many possible ... commit d000f8d67f2bb464c9cf4fb5103f78d8cb406c05 Merge: 9576c2f a6b1533 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 11:15:25 2015 -0800 Merge tag 'dlm-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm Pull dlm update from David Teigland: "This includes one simple fix to make posix locks interruptible by signals in cases where a signal handler is used" * tag 'dlm-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm: dlm: make posix locks interruptible commit 428ad1bc6dd766bb44171bba43a8a3219be77d2e Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Nov 5 10:26:46 2015 +0100 net: stmmac: fix double-initialization of phy_iface The variable phy_iface is double-initialized to itself. This patch remove that. Reported-by: coverity (CID 1271141) Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b15acbfe937f9c48a81d6aa306f9fa8b53abc13 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Nov 5 11:41:28 2015 +0300 qlogic: qed: fix error codes in qed_resc_alloc() We accidentally return success instead of -ENOMEM here. Fixes: fe56b9e6a8d9 ('qed: Add module with basic common support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e79a8bcb780314a555897a933d16553b80dbca1f Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 17:23:40 2015 -0500 net: dsa: mv88e6xxx: isolate unbridged ports The DSA documentation specifies that each port must be capable of forwarding frames to the CPU port. The last changes on bridging support for the mv88e6xxx driver broke this requirement for non-bridged ports. So as for the bridged ports, reserve a few VLANs (4000+) in the switch to isolate ports that have not been bridged yet. By default, a port will be isolated with the CPU and DSA ports. When the port joins a bridge, it will leave its reserved port. When it is removed from a bridge, it will join its reserved VLAN again. Fixes: 5fe7f68016ff ("net: dsa: mv88e6xxx: fix hardware bridging") Reported-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9576c2f2934eb5839a468ae156418ef595d5fec6 Merge: 8e483ed 616fb38 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Nov 5 10:31:29 2015 -0800 Merge tag 'locks-v4.4-1' of git://git.samba.org/jlayton/linux Pull file locking updates from Jeff Layton: "The largest series of changes is from Ben who offered up a set to add a new helper function for setting locks based on the type set in fl_flags. Dmitry also send in a fix for a potential race that he found with KTSAN" * tag 'locks-v4.4-1' of git://git.samba.org/jlayton/linux: locks: cleanup posix_lock_inode_wait and flock_lock_inode_wait Move locks API users to locks_lock_inode_wait() locks: introduce locks_lock_inode_wait() locks: Use more file_inode and fix a comment fs: fix data races on inode->i_flctx locks: change tracepoint for generic_add_lease commit e60e063c14b13d0f66ffc708b8aa5d1a8208606e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Nov 5 10:10:27 2015 -0800 HID: hid-gfrm: avoid warning for input_configured API change The input_configured callback was recently changed to return an 'int', but the newly added driver uses the old API: drivers/hid/hid-gfrm.c:151:22: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] This changes the driver like the other ones. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 34fc1322e7aa ("HID: hid-gfrm: Google Fiber TV Box remote controls") Fixes: b2c68a2f1bab ("HID: hid-input: allow input_configured callback return errors") Acked-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9154301a47b33bdc273d8254c407792524367558 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Sep 29 15:52:59 2015 -0700 HID: hid-input: allow input_configured callback return errors When configuring input device via input_configured callback we may encounter errors (for example input_mt_init_slots() may fail). Instead of continuing with half-initialized input device let's allow driver indicate failures. Signed-off-by: Jaikumar Ganesh <jaikumarg@xxxxxxxxxxx> Signed-off-by: Arve HjønnevÃ¥g <arve@xxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Nikolai Kondrashov <Nikolai.Kondrashov@xxxxxxxxxx> Acked-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 57a65667991aaddef730b0c910111ab76a1ff245 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Thu Nov 5 14:00:56 2015 +0000 arm64: cmpxchg_dbl: fix return value type The current arm64 __cmpxchg_double{_mb} implementations carry out the compare exchange by first comparing the old values passed in to the values read from the pointer provided and by stashing the cumulative bitwise difference in a 64-bit register. By comparing the register content against 0, it is possible to detect if the values read differ from the old values passed in, so that the compare exchange detects whether it has to bail out or carry on completing the operation with the exchange. Given the current implementation, to detect the cmpxchg operation status, the __cmpxchg_double{_mb} functions should return the 64-bit stashed bitwise difference so that the caller can detect cmpxchg failure by comparing the return value content against 0. The current implementation declares the return value as an int, which means that the 64-bit value stashing the bitwise difference is truncated before being returned to the __cmpxchg_double{_mb} callers, which means that any bitwise difference present in the top 32 bits goes undetected, triggering false positives and subsequent kernel failures. This patch fixes the issue by declaring the arm64 __cmpxchg_double{_mb} return values as a long, so that the bitwise difference is properly propagated on failure, restoring the expected behaviour. Fixes: e9a4b795652f ("arm64: cmpxchg_dbl: patch in lse instructions when supported by the CPU") Cc: <stable@xxxxxxxxxxxxxxx> # 4.3+ Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 40998193560dab6c3ce8d25f4fa58a23e252ef38 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 19 16:35:46 2015 +0200 scsi: restart list search after unlock in scsi_remove_target When dropping a lock while iterating a list we must restart the search as other threads could have manipulated the list under us. Without this we can get stuck in an endless loop. This bug was introduced by commit bc3f02a795d3b4faa99d37390174be2a75d091bd Author: Dan Williams <djbw@xxxxxx> Date: Tue Aug 28 22:12:10 2012 -0700 [SCSI] scsi_remove_target: fix softlockup regression on hot remove Which was itself trying to fix a reported soft lockup issue http://thread.gmane.org/gmane.linux.kernel/1348679 However, we believe even with this revert of the original patch, the soft lockup problem has been fixed by commit f2495e228fce9f9cec84367547813cbb0d6db15a Author: James Bottomley <JBottomley@xxxxxxxxxxxxx> Date: Tue Jan 21 07:01:41 2014 -0800 [SCSI] dual scan thread bug fix Thanks go to Dan Williams <dan.j.williams@xxxxxxxxx> for tracking all this prior history down. Reported-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Fixes: bc3f02a795d3b4faa99d37390174be2a75d091bd Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b3d8cf019fb9dd28389b08da7bf54ffabf453ed3 Author: Petr Å tetiar <ynezz@xxxxxxx> Date: Thu Nov 5 12:55:01 2015 +0100 USB: qmi_wwan: Add quirk for Quectel EC20 Mini PCIe module This device has same vendor and product IDs as G2K devices, but it has different number of interfaces(4 vs 5) and also different interface layout where EC20 has QMI on interface 4 instead of 0. lsusb output: Bus 002 Device 003: ID 05c6:9215 Qualcomm, Inc. Acer Gobi 2000 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x05c6 Qualcomm, Inc. idProduct 0x9215 Acer Gobi 2000 Wireless Modem bcdDevice 2.32 iManufacturer 1 Quectel iProduct 2 Quectel LTE Module iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 209 bNumInterfaces 5 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Signed-off-by: Petr Å tetiar <ynezz@xxxxxxx> Acked-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 096273304cb13b1b6a611026759df7c738a0e4e2 Merge: d4e4bc1 4062418 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Nov 5 11:38:06 2015 -0500 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth Johan Hedberg says: ==================== pull request: bluetooth 2015-11-05 The following set of Bluetooth patches would be good to get into 4.4-rc1 if possible: - Fix for missing LE CoC parameter validity checks - Fix for potential deadlock in btusb - Fix for issuing unsupported commands during HCI init Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0014de172d228e450377d1fd079d94e67128d27f Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Nov 2 12:10:25 2015 +0100 perf sched latency: Fix thread pid reuse issue The latency subcommand holds a tree of working atoms sorted by thread's pid/tid. If there's new thread with same pid and tid, the old working atom is found and assert bug condition is hit in search function: thread_atoms_search: Assertion `!(thread != atoms->thread)' failed Changing the sort function to use thread object pointers together with pid and tid check. This way new thread will never find old one with same pid/tid. Link: http://lkml.kernel.org/n/tip-o4doazhhv0zax5zshkg8hnys@xxxxxxxxxxxxxx Reported-by: Mohit Agrawal <moagrawa@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1446462625-15807-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 98d3b258ede2cdac31a2728543f652964e597e79 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Thu Nov 5 13:19:25 2015 +0000 perf tools: Fix find_perf_probe_point_from_map() which incorrectly returns success It is possible that find_perf_probe_point_from_map() fails to find a symbol but still returns 0 because of an small error when coding: find_perf_probe_point_from_map() set 'ret' to error code at first, but also use it to hold return value of kernel_get_symbol_address_by_name(). This patch resets 'ret' to error even kernel_get_symbol_address_by_name() success, so if !sym, the whole function returns error correctly. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446729565-27592-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 956959f6b7a982b2e789a7a8fa1de437074a5eb9 Author: Peter Feiner <pfeiner@xxxxxxxxxx> Date: Wed Nov 4 09:21:46 2015 -0800 perf trace: Fix documentation for -i The -i flag was incorrectly listed as a short flag for --no-inherit. It should have only been listed as a short flag for --input. This documentation error has existed since the --input flag was introduced in 6810fc915f7a89d8134edb3996dbbf8eac386c26 (perf trace: Add option to analyze events in a file versus live). Signed-off-by: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Link: http://lkml.kernel.org/r/1446657706-14518-1-git-send-email-pfeiner@xxxxxxxxxx Fixes: 6810fc915f7a ("perf trace: Add option to analyze events in a file versus live") Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c77c04aa9c2b3a154f5cb0559feaee3fb7a6935 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Nov 5 14:56:34 2015 +0800 tools lib bpf: Change FEATURE-DUMP to FEATURE-DUMP.libbpf Commit ed63f34c026e9a60d17fa750ecdfe3f600d49393 ("perf tools: Make perf depend on libbpf") triggers the build of libbpf when building the perf tools, dynamically creating FEATURE-DUMP.libbpf. It failed to update the tools/lib/bpf/.gitignore file to have that prefix, fix it. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: 65f041bee783 ("tools lib bpf: Use FEATURE_USER to allow building in the same dir as perf") Link: http://lkml.kernel.org/r/1446706594-4142-1-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4a4f66a1a7031675745812729ade94ad1caf1db6 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Nov 4 11:20:05 2015 +0000 perf llvm: Pass LINUX_VERSION_CODE to BPF program when compiling Arnaldo suggests to make LINUX_VERSION_CODE works like __func__ and __FILE__ so user don't need to care setting right linux version too much. In this patch, perf llvm transfers LINUX_VERSION_CODE macro through clang cmdline. [1] http://lkml.kernel.org/r/20151029223744.GK2923@xxxxxxxxxx Committer notes: Before, forgetting to update the version: # uname -r 4.3.0-rc1+ # cat bpf.c __attribute__((section("fork=_do_fork"), used)) int fork(void *ctx) { return 1; } char _license[] __attribute__((section("license"), used)) = "GPL"; int _version __attribute__((section("version"), used)) = 0x40200; # # perf record -e bpf.c sleep 1 event syntax error: 'bpf.c' \___ Invalid argument: Are you root and runing a CONFIG_BPF_SYSCALL kernel? (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events # After: # grep version bpf.c int _version __attribute__((section("version"), used)) = LINUX_VERSION_CODE; # perf record -e bpf.c sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data ] # perf evlist -v perf_bpf_probe:fork: type: 2, size: 112, config: 0x5ee, { sample_period, sample_freq }: 1, sample_type: IP|TID|TIME|CPU|PERIOD|RAW, 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 # Suggested-and-Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446636007-239722-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 59f41af980f95cbd556a6dc2e064b412abc439cf Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Nov 4 11:20:04 2015 +0000 perf llvm: Pass number of configured CPUs to clang compiler This patch introduces a new macro "__NR_CPUS__" to perf's embedded clang compiler, which represent the number of configured CPUs in this system. BPF programs can use this macro to create a map with the same number of system CPUs. For example: struct bpf_map_def SEC("maps") pmu_map = { .type = BPF_MAP_TYPE_PERF_EVENT_ARRAY, .key_size = sizeof(int), .value_size = sizeof(u32), .max_entries = __NR_CPUS__, }; Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446636007-239722-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 98916392a0bdfd71668b711fd93915791f45df02 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Nov 4 16:25:32 2015 -0300 perf tools: Allow shuffling the build tests Those tests take a long time and sometimes we stop it, so allow randomly shuffling the tests so that we have a better chance of running more of them in partial 'make build-test' runs. Using it just on the 'build-test' target, i.e.: make -C tools/perf build-test Is equivalent to: make SHUF=1 -C tools/perf -f tests/make Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ey7461i9q4k8u0987j8guun6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb8382e05817a8104ea0edb63b8e37b8fbecd14c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Nov 4 15:08:11 2015 +0100 perf tools: Insert split maps correctly into origin group When new maps are cloned out of split map they are added into origin map's group, but their groups pointer is not updated. This could lead to a segfault, because map->groups is expected to be always set as reported by Markus: __map__is_kernel (map=map@entry=0x1abb7a0) at util/map.c:238 238 return __machine__kernel_map(map->groups->machine, map->type) = (gdb) bt #0 __map__is_kernel (map=map@entry=0x1abb7a0) at util/map.c:238 #1 0x00000000004393e4 in symbol_filter (map=map@entry=0x1abb7a0, sym=sym@entry #2 0x00000000004fcd4d in dso__load_sym (dso=dso@entry=0x166dae0, map=map@entry #3 0x00000000004a64e0 in dso__load (dso=0x166dae0, map=map@entry=0x1abb7a0, fi #4 0x00000000004b941f in map__load (filter=0x4393c0 <symbol_filter>, map=<opti #5 map__find_symbol (map=0x1abb7a0, addr=40188, filter=0x4393c0 <symbol_filter ... Adding __map_groups__insert function to add map into groups together with map->groups pointer update. It takes no lock as opposed to existing map_groups__insert, as maps__fixup_overlappings(), where it is being called, already has the necessary lock held. Using __map_groups__insert to add new maps after map split. Reported-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20151104140811.GA32664@xxxxxxxxxxxxxxxxxxxx Fixes: cfc5acd4c80b ("perf top: Filter symbols based on __map__is_kernel(map)") Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 99106bc17e667989b4c0af0a6afcbd6ddbada8fb Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Thu Nov 5 13:11:38 2015 +0200 drm/i915: Do graphics device reset under forcewake We have a timed release of a forcewake when using I915_READ/WRITE macros. wait_for() macro will go to quite long sleep if the first read doesn't satisfy the condition for successful exit. With these two interacting, it is possible that we lose the forcewake during the wait_for() and the subsequent read will reaquire forcewake. Further experiments with skl shows that when we lose forcewake, we lose the reset request we submitted. So reset request register is not power context saved. Grab forcewakes for all engines before starting the reset/request dance so that all requests stay valid for the duration of reset requisition across all the engines. v2: Add comment on power well sleeps. Wrap the reset handling under forcewake instead of just reset requests (Chris) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92774 Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Tested-by: Tomi Sarvela <tomix.p.sarvela@xxxxxxxxx> (v1, v2) Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446721898-1450-1-git-send-email-mika.kuoppala@xxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 100ceb66d5c40cc0c7018e06a9474302470be73c Author: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Date: Tue Nov 3 01:46:21 2015 +0100 firewire: ohci: fix JMicron JMB38x IT context discovery Reported by Clifford and Craig for JMicron OHCI-1394 + SDHCI combo controllers: Often or even most of the time, the controller is initialized with the message "added OHCI v1.10 device as card 0, 4 IR + 0 IT contexts, quirks 0x10". With 0 isochronous transmit DMA contexts (IT contexts), applications like audio output are impossible. However, OHCI-1394 demands that at least 4 IT contexts are implemented by the link layer controller, and indeed JMicron JMB38x do implement four of them. Only their IsoXmitIntMask register is unreliable at early access. With my own JMB381 single function controller I found: - I can reproduce the problem with a lower probability than Craig's. - If I put a loop around the section which clears and reads IsoXmitIntMask, then either the first or the second attempt will return the correct initial mask of 0x0000000f. I never encountered a case of needing more than a second attempt. - Consequently, if I put a dummy reg_read(...IsoXmitIntMaskSet) before the first write, the subsequent read will return the correct result. - If I merely ignore a wrong read result and force the known real result, later isochronous transmit DMA usage works just fine. So let's just fix this chip bug up by the latter method. Tested with JMB381 on kernel 3.13 and 4.3. Since OHCI-1394 generally requires 4 IT contexts at a minium, this workaround is simply applied whenever the initial read of IsoXmitIntMask returns 0, regardless whether it's a JMicron chip or not. I never heard of this issue together with any other chip though. I am not 100% sure that this fix works on the OHCI-1394 part of JMB380 and JMB388 combo controllers exactly the same as on the JMB381 single- function controller, but so far I haven't had a chance to let an owner of a combo chip run a patched kernel. Strangely enough, IsoRecvIntMask is always reported correctly, even though it is probed right before IsoXmitIntMask. Reported-by: Clifford Dunn Reported-by: Craig Moore <craig.moore@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> commit 6172180c6b37ea164bf8a9bad70bb348d0a16563 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Wed Sep 23 10:10:31 2015 +0100 drm: Use userspace compatible type in fourcc_mod_code macro __u64 should be used instead of u64. Feature originally added in: commit e3eb3250d84ef97b766312345774367b6a310db8 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Thu Feb 5 14:41:52 2015 +0000 drm: add support for tiled/compressed/etc modifier in addfb2 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx # v4.1+ Fixes: e3eb3250d84e ("drm: add support for tiled/compressed/etc modifier in addfb2") Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1442999431-28568-1-git-send-email-tvrtko.ursulin@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9807216f585fc69a6cad3668414a2936a84444c8 Author: Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> Date: Thu Oct 29 18:54:38 2015 -0700 drm/i915: Skip fence installation for objects with rotated views (v4) While pinning a fb object to the display plane, only install a fence if the object is using a normal view. This corresponds with the behavior found in i915_gem_object_do_pin() where the fencability criteria is determined only for objects with normal views. v2: Look at the object's map_and_fenceable flag to determine whether to install a fence or not (Chris). v3: Pin and unpin a fence only if the current view type is normal. v4: Extend the "view type is normal" check for pin_fence as well. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446170078-20792-1-git-send-email-vivek.kasireddy@xxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 3b2ba7b31d56c3d8f57cd5d32b8fb5101ab446e4 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Nov 5 10:51:37 2015 +0000 Btrfs: fix sleeping inside atomic context in qgroup rescan worker We are holding a btree path with spinning locks and then we attempt to clone an extent buffer, which calls kmem_cache_alloc() and this function can sleep, causing the following trace to be reported on a debug kernel: [107118.218536] BUG: sleeping function called from invalid context at mm/slab.c:2871 [107118.224110] in_atomic(): 1, irqs_disabled(): 0, pid: 19148, name: kworker/u32:3 [107118.226120] INFO: lockdep is turned off. [107118.226843] Preemption disabled at:[<ffffffffa05ffa22>] btrfs_clear_lock_blocking_rw+0x96/0xea [btrfs] [107118.229175] CPU: 3 PID: 19148 Comm: kworker/u32:3 Tainted: G W 4.3.0-rc5-btrfs-next-17+ #1 [107118.231326] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.1-0-g4adadbd-20150316_085822-nilsson.home.kraxel.org 04/01/2014 [107118.233687] Workqueue: btrfs-qgroup-rescan btrfs_qgroup_rescan_helper [btrfs] [107118.236835] 0000000000000000 ffff880424bf3b78 ffffffff812566f4 0000000000000000 [107118.238369] ffff880424bf3ba0 ffffffff81070664 ffffffff817f1cd5 0000000000000b37 [107118.239769] 0000000000000000 ffff880424bf3bc8 ffffffff8107070a 0000000000008850 [107118.241244] Call Trace: [107118.241729] [<ffffffff812566f4>] dump_stack+0x4e/0x79 [107118.242602] [<ffffffff81070664>] ___might_sleep+0x23a/0x241 [107118.243586] [<ffffffff8107070a>] __might_sleep+0x9f/0xa6 [107118.244532] [<ffffffff8115af70>] cache_alloc_debugcheck_before+0x25/0x36 [107118.245939] [<ffffffff8115d52b>] kmem_cache_alloc+0x50/0x215 [107118.246930] [<ffffffffa05e627e>] __alloc_extent_buffer+0x2a/0x11f [btrfs] [107118.248121] [<ffffffffa05ecb1a>] btrfs_clone_extent_buffer+0x3d/0xdd [btrfs] [107118.249451] [<ffffffffa06239ea>] btrfs_qgroup_rescan_worker+0x16d/0x434 [btrfs] [107118.250755] [<ffffffff81087481>] ? arch_local_irq_save+0x9/0xc [107118.251754] [<ffffffffa05f7952>] normal_work_helper+0x14c/0x32a [btrfs] [107118.252899] [<ffffffffa05f7952>] ? normal_work_helper+0x14c/0x32a [btrfs] [107118.254195] [<ffffffffa05f7c82>] btrfs_qgroup_rescan_helper+0x12/0x14 [btrfs] [107118.255436] [<ffffffff81063b23>] process_one_work+0x24a/0x4ac [107118.263690] [<ffffffff81064285>] worker_thread+0x206/0x2c2 [107118.264888] [<ffffffff8106407f>] ? rescuer_thread+0x2cb/0x2cb [107118.267413] [<ffffffff8106904d>] kthread+0xef/0xf7 [107118.268417] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 [107118.269505] [<ffffffff8147d10f>] ret_from_fork+0x3f/0x70 [107118.270491] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 So just use blocking locks for our path to solve this. This fixes the patch titled: "btrfs: qgroup: Don't copy extent buffer to do qgroup rescan" Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit a3eaa8649e4c6a6afdafaa04b9114fb230617bb1 Author: Kai Huang <kai.huang@xxxxxxxxxxxxxxx> Date: Wed Nov 4 13:46:05 2015 +0800 KVM: VMX: Fix commit which broke PML I found PML was broken since below commit: commit feda805fe7c4ed9cf78158e73b1218752e3b4314 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:55 2015 +0800 KVM: VMX: unify SECONDARY_VM_EXEC_CONTROL update Unify the update in vmx_cpuid_update() Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> [Rewrite to use vmcs_set_secondary_exec_control. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> The reason is in above commit vmx_cpuid_update calls vmx_secondary_exec_control, in which currently SECONDARY_EXEC_ENABLE_PML bit is cleared unconditionally (as PML is enabled in creating vcpu). Therefore if vcpu_cpuid_update is called after vcpu is created, PML will be disabled unexpectedly while log-dirty code still thinks PML is used. Fix this by clearing SECONDARY_EXEC_ENABLE_PML in vmx_secondary_exec_control only when PML is not supported or not enabled (!enable_pml). This is more reasonable as PML is currently either always enabled or disabled. With this explicit updating SECONDARY_EXEC_ENABLE_PML in vmx_enable{disable}_pml is not needed so also rename vmx_enable{disable}_pml to vmx_create{destroy}_pml_buffer. Fixes: feda805fe7c4ed9cf78158e73b1218752e3b4314 Signed-off-by: Kai Huang <kai.huang@xxxxxxxxxxxxxxx> [While at it, change a wrong ASSERT to an "if". The condition can happen if creating the VCPU fails with ENOMEM. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 190631f1c8cb7e4d5c27ff87e22ed53817e78759 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Nov 5 10:06:23 2015 +0000 Btrfs: fix race waiting for qgroup rescan worker We were initializing the completion (fs_info->qgroup_rescan_completion) object after releasing the qgroup rescan lock, which gives a small time window for a rescan waiter to not actually wait for the rescan worker to finish. Example: CPU 1 CPU 2 fs_info->qgroup_rescan_completion->done is 0 btrfs_qgroup_rescan_worker() complete_all(&fs_info->qgroup_rescan_completion) sets fs_info->qgroup_rescan_completion->done to UINT_MAX / 2 ... do some other stuff .... qgroup_rescan_init() mutex_lock(&fs_info->qgroup_rescan_lock) set flag BTRFS_QGROUP_STATUS_FLAG_RESCAN in fs_info->qgroup_flags mutex_unlock(&fs_info->qgroup_rescan_lock) btrfs_qgroup_wait_for_completion() mutex_lock(&fs_info->qgroup_rescan_lock) sees flag BTRFS_QGROUP_STATUS_FLAG_RESCAN in fs_info->qgroup_flags mutex_unlock(&fs_info->qgroup_rescan_lock) wait_for_completion_interruptible( &fs_info->qgroup_rescan_completion) fs_info->qgroup_rescan_completion->done is > 0 so it returns immediately init_completion(&fs_info->qgroup_rescan_completion) sets fs_info->qgroup_rescan_completion->done to 0 So fix this by initializing the completion object while holding the mutex fs_info->qgroup_rescan_lock. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 7343dd61fd1b57c40cc06a5b5b5386df7f73c3ac Author: Justin Maggard <jmaggard10@xxxxxxxxx> Date: Wed Nov 4 15:56:16 2015 -0800 btrfs: qgroup: exit the rescan worker during umount I was hitting a consistent NULL pointer dereference during shutdown that showed the trace running through end_workqueue_bio(). I traced it back to the endio_meta_workers workqueue being poked after it had already been destroyed. Eventually I found that the root cause was a qgroup rescan that was still in progress while we were stopping all the btrfs workers. Currently we explicitly pause balance and scrub operations in close_ctree(), but we do nothing to stop the qgroup rescan. We should probably be doing the same for qgroup rescan, but that's a much larger change. This small change is good enough to allow me to unmount without crashing. Signed-off-by: Justin Maggard <jmaggard@xxxxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> commit 9c9464cc92668984ebed79e22b5063877a8d97db Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Nov 4 09:52:04 2015 +0000 Btrfs: fix extent accounting for partial direct IO writes When doing a write using direct IO we can end up not doing the whole write operation using the direct IO path, in that case we fallback to a buffered write to do the remaining IO. This happens for example if the range we are writing to contains a compressed extent. When we do a partial write and fallback to buffered IO, due to the existence of a compressed extent for example, we end up not adjusting the outstanding extents counter of our inode which ends up getting decremented twice, once by the DIO ordered extent for the partial write and once again by btrfs_direct_IO(), resulting in an arithmetic underflow at extent-tree.c:drop_outstanding_extent(). For example if we have: extents [ prealloc extent ] [ compressed extent ] offsets A B C D E and at the moment our inode's outstanding extents counter is 0, if we do a direct IO write against the range [B, D[ (which has a length smaller than 128Mb), we end up bumping our inode's outstanding extents counter to 1, we create a DIO ordered extent for the range [B, C[ and then fallback to a buffered write for the range [C, D[. The direct IO handler (inode.c:btrfs_direct_IO()) decrements the outstanding extents counter by 1, leaving it with a value of 0, through a call to btrfs_delalloc_release_space() and then shortly after the DIO ordered extent finishes and calls btrfs_delalloc_release_metadata() which ends up to attempt to decrement the inode's outstanding extents counter by 1, resulting in an assertion failure at drop_outstanding_extent() because the operation would result in an arithmetic underflow (0 - 1). This produces the following trace: [125471.336838] BTRFS: assertion failed: BTRFS_I(inode)->outstanding_extents >= num_extents, file: fs/btrfs/extent-tree.c, line: 5526 [125471.338844] ------------[ cut here ]------------ [125471.340745] kernel BUG at fs/btrfs/ctree.h:4173! [125471.340745] invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [125471.340745] Modules linked in: btrfs f2fs xfs libcrc32c dm_flakey dm_mod crc32c_generic xor raid6_pq nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc loop fuse parport_pc acpi_cpufreq psmouse i2c_piix4 parport pcspkr serio_raw microcode processor evdev i2c_core button ext4 crc16 jbd2 mbcache sd_mod sg sr_mod cdrom ata_generic virtio_scsi ata_piix virtio_pci virtio_ring floppy libata virtio e1000 scsi_mod [last unloaded: btrfs] [125471.340745] CPU: 10 PID: 23649 Comm: kworker/u32:1 Tainted: G W 4.3.0-rc5-btrfs-next-17+ #1 [125471.340745] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.1-0-g4adadbd-20150316_085822-nilsson.home.kraxel.org 04/01/2014 [125471.340745] Workqueue: btrfs-endio-write btrfs_endio_write_helper [btrfs] [125471.340745] task: ffff8804244fcf80 ti: ffff88040a118000 task.ti: ffff88040a118000 [125471.340745] RIP: 0010:[<ffffffffa0550da1>] [<ffffffffa0550da1>] assfail.constprop.46+0x1e/0x20 [btrfs] [125471.340745] RSP: 0018:ffff88040a11bc78 EFLAGS: 00010296 [125471.340745] RAX: 0000000000000075 RBX: 0000000000005000 RCX: 0000000000000000 [125471.340745] RDX: ffffffff81098f93 RSI: ffffffff8147c619 RDI: 00000000ffffffff [125471.340745] RBP: ffff88040a11bc78 R08: 0000000000000001 R09: 0000000000000000 [125471.340745] R10: ffff88040a11bc08 R11: ffffffff81651000 R12: ffff8803efb4a000 [125471.340745] R13: ffff8803efb4a000 R14: 0000000000000000 R15: ffff8802f8e33c88 [125471.340745] FS: 0000000000000000(0000) GS:ffff88043dd40000(0000) knlGS:0000000000000000 [125471.340745] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [125471.340745] CR2: 00007fae7ca86095 CR3: 0000000001a0b000 CR4: 00000000000006e0 [125471.340745] Stack: [125471.340745] ffff88040a11bc88 ffffffffa04ca0cd ffff88040a11bcc8 ffffffffa04ceeb1 [125471.340745] ffff8802f8e33940 ffff8802c93eadb0 ffff8802f8e0bf50 ffff8803efb4a000 [125471.340745] 0000000000000000 ffff8802f8e33c88 ffff88040a11bd38 ffffffffa04eccfa [125471.340745] Call Trace: [125471.340745] [<ffffffffa04ca0cd>] drop_outstanding_extent+0x3d/0x6d [btrfs] [125471.340745] [<ffffffffa04ceeb1>] btrfs_delalloc_release_metadata+0x51/0xdd [btrfs] [125471.340745] [<ffffffffa04eccfa>] btrfs_finish_ordered_io+0x420/0x4eb [btrfs] [125471.340745] [<ffffffffa04ecdda>] finish_ordered_fn+0x15/0x17 [btrfs] [125471.340745] [<ffffffffa050e6e8>] normal_work_helper+0x14c/0x32a [btrfs] [125471.340745] [<ffffffffa050e9c8>] btrfs_endio_write_helper+0x12/0x14 [btrfs] [125471.340745] [<ffffffff81063b23>] process_one_work+0x24a/0x4ac [125471.340745] [<ffffffff81064285>] worker_thread+0x206/0x2c2 [125471.340745] [<ffffffff8106407f>] ? rescuer_thread+0x2cb/0x2cb [125471.340745] [<ffffffff8106407f>] ? rescuer_thread+0x2cb/0x2cb [125471.340745] [<ffffffff8106904d>] kthread+0xef/0xf7 [125471.340745] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 [125471.340745] [<ffffffff8147d10f>] ret_from_fork+0x3f/0x70 [125471.340745] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 [125471.340745] Code: a5 55 a0 48 89 e5 e8 42 50 bc e0 0f 0b 55 89 f1 48 c7 c2 f0 a8 55 a0 48 89 fe 31 c0 48 c7 c7 14 aa 55 a0 48 89 e5 e8 22 50 bc e0 <0f> 0b 0f 1f 44 00 00 55 31 c9 ba 18 00 00 00 48 89 e5 41 56 41 [125471.340745] RIP [<ffffffffa0550da1>] assfail.constprop.46+0x1e/0x20 [btrfs] [125471.340745] RSP <ffff88040a11bc78> [125471.539620] ---[ end trace 144259f7838b4aa4 ]--- So fix this by ensuring we adjust the outstanding extents counter when we do the fallback just like we do for the case where the whole write can be done through the direct IO path. We were also adjusting the outstanding extents counter by a constant value of 1, which is incorrect because we were ignorning that we account extents in BTRFS_MAX_EXTENT_SIZE units, o fix that as well. The following test case for fstests reproduces 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() { rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # real QA test starts here _need_to_be_root _supported_fs btrfs _supported_os Linux _require_scratch _require_xfs_io_command "falloc" rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount "-o compress" # Create a compressed extent covering the range [700K, 800K[. $XFS_IO_PROG -f -s -c "pwrite -S 0xaa -b 100K 700K 100K" \ $SCRATCH_MNT/foo | _filter_xfs_io # Create prealloc extent covering the range [600K, 700K[. $XFS_IO_PROG -c "falloc 600K 100K" $SCRATCH_MNT/foo # Write 80K of data to the range [640K, 720K[ using direct IO. This # range covers both the prealloc extent and the compressed extent. # Because there's a compressed extent in the range we are writing to, # the DIO write code path ends up only writing the first 60k of data, # which goes to the prealloc extent, and then falls back to buffered IO # for writing the remaining 20K of data - because that remaining data # maps to a file range containing a compressed extent. # When falling back to buffered IO, we used to trigger an assertion when # releasing reserved space due to bad accounting of the inode's # outstanding extents counter, which was set to 1 but we ended up # decrementing it by 1 twice, once through the ordered extent for the # 60K of data we wrote using direct IO, and once through the main direct # IO handler (inode.cbtrfs_direct_IO()) because the direct IO write # wrote less than 80K of data (60K). $XFS_IO_PROG -d -c "pwrite -S 0xbb -b 80K 640K 80K" \ $SCRATCH_MNT/foo | _filter_xfs_io # Now similar test as above but for very large write operations. This # triggers special cases for an inode's outstanding extents accounting, # as internally btrfs logically splits extents into 128Mb units. $XFS_IO_PROG -f -s \ -c "pwrite -S 0xaa -b 128M 258M 128M" \ -c "falloc 0 258M" \ $SCRATCH_MNT/bar | _filter_xfs_io $XFS_IO_PROG -d -c "pwrite -S 0xbb -b 256M 3M 256M" $SCRATCH_MNT/bar \ | _filter_xfs_io # Now verify the file contents are correct and that they are the same # even after unmounting and mounting the fs again (or evicting the page # cache). # # For file foo, all bytes in the range [0, 640K[ must have a value of # 0x00, all bytes in the range [640K, 720K[ must have a value of 0xbb # and all bytes in the range [720K, 800K[ must have a value of 0xaa. # # For file bar, all bytes in the range [0, 3M[ must havea value of 0x00, # all bytes in the range [3M, 259M[ must have a value of 0xbb and all # bytes in the range [259M, 386M[ must have a value of 0xaa. # echo "File digests before remounting the file system:" md5sum $SCRATCH_MNT/foo | _filter_scratch md5sum $SCRATCH_MNT/bar | _filter_scratch _scratch_remount echo "File digests after remounting the file system:" md5sum $SCRATCH_MNT/foo | _filter_scratch md5sum $SCRATCH_MNT/bar | _filter_scratch status=0 exit Fixes: e1cbbfa5f5aa ("Btrfs: fix outstanding_extents accounting in DIO") Fixes: 3e05bde8c3c2 ("Btrfs: only adjust outstanding_extents when we do a short write") Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 86e88f0e7068e37d9774eb9d93515c44ffa74006 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Tue Nov 3 16:57:58 2015 -0800 HID: wacom: Call 'wacom_query_tablet_data' only after 'hid_hw_start' When connecting the Cintiq Companion 2 as an external tablet (i.e., using it in "hybrid" mode) it has been seen to cause the kernel of the machine it is connected to to Oops. The cause has been traced to us attempting to switch the tablet's mode prior to actually starting HID device (resulting in the eventual dereference of the uninitialized control URB). Commit 3b164a0 moved the mode switch from occuring post-start to occurring pre-start. The change was not seen to cause issues largely due to the fact that most devices mode switch with 'hid_hw_raw_request' (which is safe to call prior to start) rather than 'hid_hw_request'. Moving the call back to its original location resolves the issue, but causes some touch-only Bamboo tablets (e.g. 056a:00d0) to stop working. The affected tablets require us to perform a mode switch on their vestigial pen interface prior ignoring with -ENODEV, meaning that the code which is responsible for doing the ignoring has to move as well. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1b4a5ddb127caf125e14551ebd334be1acf21805 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Oct 6 15:12:05 2015 +0100 MIPS: CDMM: Add builtin_mips_cdmm_driver() macro Add helper macro builtin_mips_cdmm_driver() for builtin CDMM drivers that don't do anything special in init and have no exit. The module_mips_cdmm_driver() helper isn't really appropriate for drivers that can't be built as a module. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 4.2.x- Patchwork: http://patchwork.linux-mips.org/patch/11264/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 5cf92c8b3dc5da59e05dc81bdc069cedf6f38313 Author: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Date: Wed Nov 4 15:56:09 2015 -0800 ALSA: hda - Add Intel Lewisburg device IDs Audio Adding Intel codename Lewisburg platform device IDs for audio. [rearranged the position by tiwai] Signed-off-by: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8bdf2023e238ce2262d0cf1aca78785dc46e15db Merge: 3b0e21e 39e69f5 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Nov 5 19:35:12 2015 +1100 Merge branch 'next' of git://git.denx.de/linux-denx-agust into next MPC5xxx updates from Anatolij: "Highlights include a driver for MPC512x LocalPlus Bus FIFO with its device tree binding documentation, mpc512x device tree updates and some minor fixes." commit 8e483ed1342a4ea45b70f0f33ac54eff7a33d918 Merge: e880e874 e2d8680 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 22:15:15 2015 -0800 Merge tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver updates from Greg KH: "Here is the big char/misc driver update for 4.4-rc1. Lots of different driver and subsystem updates, hwtracing being the largest with the addition of some new platforms that are now supported. Full details in the shortlog. All of these have been in linux-next for a long time with no reported issues" * tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (181 commits) fpga: socfpga: Fix check of return value of devm_request_irq lkdtm: fix ACCESS_USERSPACE test mcb: Destroy IDA on module unload mcb: Do not return zero on error path in mcb_pci_probe() mei: bus: set the device name before running fixup mei: bus: use correct lock ordering mei: Fix debugfs filename in error output char: ipmi: ipmi_ssif: Replace timeval with timespec64 fpga: zynq-fpga: Fix issue with drvdata being overwritten. fpga manager: remove unnecessary null pointer checks fpga manager: ensure lifetime with of_fpga_mgr_get fpga: zynq-fpga: Change fw format to handle bin instead of bit. fpga: zynq-fpga: Fix unbalanced clock handling misc: sram: partition base address belongs to __iomem space coresight: etm3x: adding documentation for sysFS's cpu interface vme: 8-bit status/id takes 256 values, not 255 fpga manager: Adding FPGA Manager support for Xilinx Zynq 7000 ARM: zynq: dt: Updated devicetree for Zynq 7000 platform. ARM: dt: fpga: Added binding docs for Xilinx Zynq FPGA manager. ver_linux: proc/modules, limit text processing to 'sed' ... commit e880e87488d5bbf630dd716e6de8a53585614568 Merge: 118c216 c23fe83 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:50:37 2015 -0800 Merge tag 'driver-core-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core updates from Greg KH: "Here's the "big" driver core updates for 4.4-rc1. Primarily a bunch of debugfs updates, with a smattering of minor driver core fixes and updates as well. All have been in linux-next for a long time" * tag 'driver-core-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: debugfs: Add debugfs_create_ulong() of: to support binding numa node to specified device in devicetree debugfs: Add read-only/write-only bool file ops debugfs: Add read-only/write-only size_t file ops debugfs: Add read-only/write-only x64 file ops debugfs: Consolidate file mode checks in debugfs_create_*() Revert "mm: Check if section present during memory block (un)registering" driver-core: platform: Provide helpers for multi-driver modules mm: Check if section present during memory block (un)registering devres: fix a for loop bounds check CMA: fix CONFIG_CMA_SIZE_MBYTES overflow in 64bit base/platform: assert that dev_pm_domain callbacks are called unconditionally sysfs: correctly handle short reads on PREALLOC attrs. base: soc: siplify ida usage kobject: move EXPORT_SYMBOL() macros next to corresponding definitions kobject: explain what kobject's sd field is debugfs: document that debugfs_remove*() accepts NULL and error values debugfs: Pass bool pointer to debugfs_create_bool() ACPI / EC: Fix broken 64bit big-endian users of 'global_lock' commit 118c216e16c5ccb028cd03a0dcd56d17a07ff8d7 Merge: fd0d351 e3cc313 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:40:53 2015 -0800 Merge tag 'staging-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver updates from Greg KH: "Here's the big staging driver update for 4.4-rc1. If you were disappointed for 4.3-rc1 that we didn't contribute enough changesets, you should be happy with this pull request of over 2400 patches. But overall we removed more lines of code than we added, which is nice to see. Full details in the shortlog. All of these have been in linux-next for a while" Greg, I've never been disappointed in how few commits Staging contributes to the kernel.. Never. * tag 'staging-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (2431 commits) Staging: rtl8192u: ieee80211: added missing blank lines Staging: rtl8192u: ieee80211: removed unnecessary braces Staging: rtl8192u: ieee80211: corrected block comments Staging: rtl8192u: ieee80211: corrected indent Staging: rtl8192u: ieee80211: added missing spaces after if Staging: rtl8192u: ieee80211: added missing space around '=' Staging: rtl8192u: ieee80211: fixed position of else statements Staging: rtl8192u: ieee80211: fixed open brace positions staging: rdma: ipath: Remove unneeded vairable. staging: rtl8188eu: pwrGrpCnt variable removed in store_pwrindex_offset function staging: rtl8188eu: new variable for hal_data->MCSTxPowerLevelOriginalOffset[pwrGrpCnt] in store_pwrindex_offset function staging: rtl8188eu: checkpatch fixes: 'Avoid CamelCase' in hal/bb_cfg.c staging: rtl8188eu: checkpatch fixes: line over 80 characters splited into two parts staging: rtl8188eu: checkpatch fixes: alignment should match open parenthesis staging: rtl8188eu: checkpatch fixes: unnecessary parentheses removed in hal/bb_cfg.c staging: rtl8188eu: checkpatch fixes: spaces preferred around that '|' in hal/bb_cfg.c staging: rtl8188eu: operator = replaced by += in loop increment staging: rtl8188eu: occurrence of the 5 GHz code marked staging: rtl8188eu: increment placed into for loop header staging: rtl8188eu: while loop replaced by for loop in rtw_restruct_wmm_ie ... commit fd0d351de7bbd718bc2b34d5846854831aa2b88c Merge: 3d6f478 e052c6d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:35:12 2015 -0800 Merge tag 'tty-4.4-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 and serial driver update for 4.4-rc1. Lots of serial driver updates and a few small tty core changes. Full details in the shortlog. All of these have been in linux-next for a while" * tag 'tty-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (148 commits) tty: Use unbound workqueue for all input workers tty: Abstract tty buffer work tty: Prevent tty teardown during tty_write_message() tty: core: Use correct spinlock flavor in tiocspgrp() tty: Combine SIGTTOU/SIGTTIN handling serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty() ttyFDC: Fix build problems due to use of module_{init,exit} tty: remove unneeded return statement serial: 8250_mid: add support for DMA engine handling from UART MMIO dmaengine: hsu: remove platform data dmaengine: hsu: introduce stubs for the exported functions dmaengine: hsu: make the UART driver in control of selecting this driver serial: fix mctrl helper functions serial: 8250_pci: Intel MID UART support to its own driver serial: fsl_lpuart: add earlycon support tty: disable unbind for old 74xx based serial/mpsc console port serial: pl011: Spelling s/clocks-names/clock-names/ n_tty: Remove reader wakeups for TTY_BREAK/TTY_PARITY chars tty: synclink, fix indentation serial: at91, fix rs485 properties ... commit 3d6f47801c34e42da26e2b6b29706f0bfe423978 Merge: e0700ce 0bbc367 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:26:27 2015 -0800 Merge tag 'usb-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB updates from Greg KH: "Here is the big USB patchset for 4.4-rc1. As usual, most of the changes are in the gadget subsystem, and we removed a host controller for a device that is no longer in existance, and probably never was even made public. There is also other minor driver updates and new device ids, full details in the changelog. All of these have been in linux-next for a while" * tag 'usb-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (233 commits) USB: core: Codestyle fix in urb.c usb: misc: usb3503: Use i2c_add_driver helper macro usb: host: lpc32xx: don't unregister phy device usb: host: lpc32xx: balance clk enable/disable on removal usb: host: lpc32xx: fix warnings caused by enabling unprepared clock uwb: drp: Use setup_timer uwb: neh: Use setup_timer uwb: rsv: Use setup_timer USB: qcserial: add Sierra Wireless MC74xx/EM74xx usb: chipidea: otg: don't wait vbus drops below BSV when starts host chipidea: ci_hdrc_pci: use PCI_VDEVICE() instead of PCI_DEVICE() doc: dt-binding: ci-hdrc-usb2: split vendor specific properties usb: chipidea: imx: add imx6ul usb support doc: dt-binding: ci-hdrc-usb2: improve property description usb: chipidea: imx: add usb support for imx7d Doc: usb: ci-hdrc-usb2: Add phy-clkgate-delay-us entry usb: chipidea: Add support for 'phy-clkgate-delay-us' property usb: chipidea: Use extcon framework for VBUS and ID detect usb: gadget: net2280: restore ep_cfg after defect7374 workaround usb: dwc2: host: Fix use after free w/ simultaneous irqs ... commit e0700ce70921fbe3d1913968c663beb9df2b01a9 Merge: ac322de aad9ae4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:19:53 2015 -0800 Merge tag 'dm-4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper updates from Mike Snitzer: "Smaller set of DM changes for this merge. I've based these changes on Jens' for-4.4/reservations branch because the associated DM changes required it. - Revert a dm-multipath change that caused a regression for unprivledged users (e.g. kvm guests) that issued ioctls when a multipath device had no available paths. - Include Christoph's refactoring of DM's ioctl handling and add support for passing through persistent reservations with DM multipath. - All other changes are very simple cleanups" * tag 'dm-4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm switch: simplify conditional in alloc_region_table() dm delay: document that offsets are specified in sectors dm delay: capitalize the start of an delay_ctr() error message dm delay: Use DM_MAPIO macros instead of open-coded equivalents dm linear: remove redundant target name from error messages dm persistent data: eliminate unnecessary return values dm: eliminate unused "bioset" process for each bio-based DM device dm: convert ffs to __ffs dm: drop NULL test before kmem_cache_destroy() and mempool_destroy() dm: add support for passing through persistent reservations dm: refactor ioctl handling Revert "dm mpath: fix stalls when handling invalid ioctls" dm: initialize non-blk-mq queue data before queue is used commit ac322de6bf5416cb145b58599297b8be73cd86ac Merge: ccf21b6 339421d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:12:47 2015 -0800 Merge tag 'md/4.4' of git://neil.brown.name/md Pull md updates from Neil Brown: "Two major components to this update. 1) The clustered-raid1 support from SUSE is nearly complete. There are a few outstanding issues being worked on. Maybe half a dozen patches will bring this to a usable state. 2) The first stage of journalled-raid5 support from Facebook makes an appearance. With a journal device configured (typically NVRAM or SSD), the "RAID5 write hole" should be closed - a crash during degraded operations cannot result in data corruption. The next stage will be to use the journal as a write-behind cache so that latency can be reduced and in some cases throughput increased by performing more full-stripe writes. * tag 'md/4.4' of git://neil.brown.name/md: (66 commits) MD: when RAID journal is missing/faulty, block RESTART_ARRAY_RW MD: set journal disk ->raid_disk MD: kick out journal disk if it's not fresh raid5-cache: start raid5 readonly if journal is missing MD: add new bit to indicate raid array with journal raid5-cache: IO error handling raid5: journal disk can't be removed raid5-cache: add trim support for log MD: fix info output for journal disk raid5-cache: use bio chaining raid5-cache: small log->seq cleanup raid5-cache: new helper: r5_reserve_log_entry raid5-cache: inline r5l_alloc_io_unit into r5l_new_meta raid5-cache: take rdev->data_offset into account early on raid5-cache: refactor bio allocation raid5-cache: clean up r5l_get_meta raid5-cache: simplify state machine when caches flushes are not needed raid5-cache: factor out a helper to run all stripes for an I/O unit raid5-cache: rename flushed_ios to finished_ios raid5-cache: free I/O units earlier ... commit d4e4bc16102cb1338be9c75f797156718f8a806d Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Wed Nov 4 11:36:37 2015 -0800 bpf: add mod default A and X test cases When running "mod X" operation, if X is 0 the filter has to be halt. Add new test cases to cover A = A mod X if X is 0, and A = A mod 1. CC: Xi Wang <xi.wang@xxxxxxxxx> CC: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Acked-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Xi Wang <xi.wang@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccf21b69a83afaee4d5499e0d03eacf23946e08c Merge: 527d152 73fcf4e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 21:01:27 2015 -0800 Merge branch 'for-4.4/reservations' of git://git.kernel.dk/linux-block Pull block reservation support from Jens Axboe: "This adds support for persistent reservations, both at the core level, as well as for sd and NVMe" [ Background from the docs: "Persistent Reservations allow restricting access to block devices to specific initiators in a shared storage setup. All implementations are expected to ensure the reservations survive a power loss and cover all connections in a multi path environment" ] * 'for-4.4/reservations' of git://git.kernel.dk/linux-block: NVMe: Precedence error in nvme_pr_clear() nvme: add missing endianess annotations in nvme_pr_command NVMe: Add persistent reservation ops sd: implement the Persistent Reservation API block: add an API for Persistent Reservations block: cleanup blkdev_ioctl commit df761ea1f39fe1c020c31327656bce7a5a406201 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Nov 4 16:00:32 2015 +0100 bnxt_en: add VXLAN dependency VXLAN may be a loadable module, and this driver cannot be built-in in that case, or we get a link error: drivers/built-in.o: In function `__bnxt_open_nic': drivers/net/ethernet/broadcom/bnxt/bnxt.c:4581: undefined reference to `vxlan_get_rx_port' This adds a Kconfig dependency that ensures that either VXLAN is disabled (which the driver handles correctly), or we depend on VXLAN itself and disallow built-in compilation when VXLAN is a module. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.") Acked-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f25348b65cd073f77945f559ab1e5de83422cd1 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Nov 4 14:59:06 2015 +0100 net: add forgotten IFF_L3MDEV_SLAVE define Fixes: fee6d4c77 ("net: Add netif_is_l3_slave") Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 527d1529e38b36fd22e65711b653ab773179d9e8 Merge: effa04c 4125a09 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 20:51:48 2015 -0800 Merge branch 'for-4.4/integrity' of git://git.kernel.dk/linux-block Pull block integrity updates from Jens Axboe: ""This is the joint work of Dan and Martin, cleaning up and improving the support for block data integrity" * 'for-4.4/integrity' of git://git.kernel.dk/linux-block: block, libnvdimm, nvme: provide a built-in blk_integrity nop profile block: blk_flush_integrity() for bio-based drivers block: move blk_integrity to request_queue block: generic request_queue reference counting nvme: suspend i/o during runtime blk_integrity_unregister md: suspend i/o during runtime blk_integrity_unregister md, dm, scsi, nvme, libnvdimm: drop blk_integrity_unregister() at shutdown block: Inline blk_integrity in struct gendisk block: Export integrity data interval size in sysfs block: Reduce the size of struct blk_integrity block: Consolidate static integrity profile properties block: Move integrity kobject to struct gendisk commit 2a189f9e57650e9f310ddf4aad75d66c1233a064 Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Wed Nov 4 14:47:53 2015 +0100 ipv6: clean up dev_snmp6 proc entry when we fail to initialize inet6_dev In ipv6_add_dev, when addrconf_sysctl_register fails, we do not clean up the dev_snmp6 entry that we have already registered for this device. Call snmp6_unregister_dev in this case. Fixes: a317a2f19da7d ("ipv6: fail early when creating netdev named all or default") Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit effa04cc5a31b3f12cda6025ab93460f1f0e454e Merge: a9aa31c 5f436e5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 20:46:08 2015 -0800 Merge branch 'for-4.4/lightnvm' of git://git.kernel.dk/linux-block Pull lightnvm support from Jens Axboe: "This adds support for lightnvm, and adds support to NVMe as well. This is pretty exciting, in that it enables new and interesting use cases for compatible flash devices. There's a LWN writeup about an earlier posting here: https://lwn.net/Articles/641247/ This has been underway for a while, and should be ready for merging at this point" * 'for-4.4/lightnvm' of git://git.kernel.dk/linux-block: nvme: lightnvm: clean up a data type lightnvm: refactor phys addrs type to u64 nvme: LightNVM support rrpc: Round-robin sector target with cost-based gc gennvm: Generic NVM manager lightnvm: Support for Open-Channel SSDs commit a9aa31cdc2a7be4a70b0ea24a451dfeb00ce0024 Merge: d9734e0 b3975e9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 20:37:27 2015 -0800 Merge branch 'for-4.4/drivers' of git://git.kernel.dk/linux-block Pull block driver updates from Jens Axboe: "Here are the block driver changes for 4.4. This pull request contains: - NVMe: - Refactor and moving of code to prepare for proper target support. From Christoph and Jay. - 32-bit nvme warning fix from Arnd. - Error initialization fix from me. - Proper namespace removal and reference counting support from Keith. - Device resume fix on IO failure, also from Keith. - Dependency fix from Keith, now that nvme isn't under the umbrella of the block anymore. - Target location and maintainers update from Jay. - From Ming Lei, the long awaited DIO/AIO support for loop. - Enable BD-RE writeable opens, from Georgios" * 'for-4.4/drivers' of git://git.kernel.dk/linux-block: (24 commits) Update target repo for nvme patch contributions NVMe: initialize error to '0' nvme: use an integer value to Linux errno values nvme: fix 32-bit build warning NVMe: Add explicit block config dependency nvme: include <linux/types.Ä¥> in <linux/nvme.h> nvme: move to a new drivers/nvme/host directory nvme.h: add missing nvme_id_ctrl endianess annotations nvme: move hardware structures out of the uapi version of nvme.h nvme: add a local nvme.h header nvme: properly handle partially initialized queues in nvme_create_io_queues nvme: merge nvme_dev_start, nvme_dev_resume and nvme_async_probe nvme: factor reset code into a common helper nvme: merge nvme_dev_reset into nvme_reset_failed_dev nvme: delete dev from dev_list in nvme_reset NVMe: Simplify device resume on io queue failure NVMe: Namespace removal simplifications NVMe: Reference count open namespaces cdrom: Random writing support for BD-RE media block: loop: support DIO & AIO ... commit d9734e0d1ccf87e828ad172c58a96dff97cfc0ba Merge: 0d51ce9 2404e60 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 20:28:10 2015 -0800 Merge branch 'for-4.4/core' of git://git.kernel.dk/linux-block Pull core block updates from Jens Axboe: "This is the core block pull request for 4.4. I've got a few more topic branches this time around, some of them will layer on top of the core+drivers changes and will come in a separate round. So not a huge chunk of changes in this round. This pull request contains: - Enable blk-mq page allocation tracking with kmemleak, from Catalin. - Unused prototype removal in blk-mq from Christoph. - Cleanup of the q->blk_trace exchange, using cmpxchg instead of two xchg()'s, from Davidlohr. - A plug flush fix from Jeff. - Also from Jeff, a fix that means we don't have to update shared tag sets at init time unless we do a state change. This cuts down boot times on thousands of devices a lot with scsi/blk-mq. - blk-mq waitqueue barrier fix from Kosuke. - Various fixes from Ming: - Fixes for segment merging and splitting, and checks, for the old core and blk-mq. - Potential blk-mq speedup by marking ctx pending at the end of a plug insertion batch in blk-mq. - direct-io no page dirty on kernel direct reads. - A WRITE_SYNC fix for mpage from Roman" * 'for-4.4/core' of git://git.kernel.dk/linux-block: blk-mq: avoid excessive boot delays with large lun counts blktrace: re-write setting q->blk_trace blk-mq: mark ctx as pending at batch in flush plug path blk-mq: fix for trace_block_plug() block: check bio_mergeable() early before merging blk-mq: check bio_mergeable() early before merging block: avoid to merge splitted bio block: setup bi_phys_segments after splitting block: fix plug list flushing for nomerge queues blk-mq: remove unused blk_mq_clone_flush_request prototype blk-mq: fix waitqueue_active without memory barrier in block/blk-mq-tag.c fs: direct-io: don't dirtying pages for ITER_BVEC/ITER_KVEC direct read fs/mpage.c: forgotten WRITE_SYNC in case of data integrity write block: kmemleak: Track the page allocations for struct request commit d227c3ae4e94e5eb11dd780a811f59e1a7b74ccd Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Nov 4 23:33:17 2015 +0100 tracefs: Fix refcount imbalance in start_creating() In tracefs' start_creating(), we pin the file system to safely access its root. When we failed to create a file, we unpin the file system via failed_creating() to release the mount count and eventually the reference of the singleton vfsmount. However, when we run into an error during lookup_one_len() when still in start_creating(), we only release the parent's mutex but not so the reference on the mount. F.e., in securityfs_create_file(), after doing simple_pin_fs() when lookup_one_len() fails there, we infact do simple_release_fs(). This seems necessary here as well. Same issue seen in debugfs due to 190afd81e4a5 ("debugfs: split the beginning and the end of __create_file() off"), which seemed to got carried over into tracefs, too. Noticed during code review. Link: http://lkml.kernel.org/r/68efa86101b778cf7517ed7c6ad573bd69f60ec6.1446672850.git.daniel@xxxxxxxxxxxxx Fixes: 4282d60689d4 ("tracefs: Add new tracefs file system") Cc: stable@xxxxxxxxxxxxxxx # 4.1+ Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 87aec47d173ca730d014b6b0246ca6be18b0ce94 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:29:11 2015 +0300 qlogic: qed: fix a test for MODE_MF_SI MODE_MF_SI is 9. We should be testing bit 9 instead of AND 0x9. Fixes: fe56b9e6a8d9 ('qed: Add module with basic common support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c169c28f40bd78b772c4d95306735c00f8db80d Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:27:16 2015 +0300 qlogic/qed: remove bogus NULL check We check if "p_hwfn" is NULL and then dereference it in the error handling code. I read the code and it isn't NULL so let's remove the check. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40624183c202278e7e0edd01d1273efc87ddd1f2 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Nov 2 14:39:17 2015 +0200 Bluetooth: L2CAP: Add missing checks for invalid LE DCID When receiving a connect response we should make sure that the DCID is within the valid range and that we don't already have another channel allocated for the same DCID. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ab0c127fbb21c19adb34b78ba26b84748d0cd4de Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Nov 2 14:39:16 2015 +0200 Bluetooth: L2CAP: Fix checked range when allocating new CID The 'dyn_end' value is also a valid CID so it should be included in the range of values checked. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8a7889cc6e2dbbace114130f4efd9b77452069cd Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Nov 2 14:39:15 2015 +0200 Bluetooth: L2CAP: Fix returning correct LE CoC response codes The core spec defines specific response codes for situations when the received CID is incorrect. Add the defines for these and return them as appropriate from the LE Connect Request handler function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2ab216a7a9ca89d77388ad3f22a31f752dec5897 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Nov 1 09:39:48 2015 +0100 Bluetooth: Check for supported white list before issuing commands The white list commands might not be implemented if the controller does not actually support the white list. So check the supported commands first before issuing these commands. Not supporting the white list is the same as supporting a white list with zero size. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f6fc86f2c572ff1d192e8b5d5bf339ba06ebe3e4 Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Wed Oct 28 15:18:05 2015 +0100 Bluetooth: Fix possible deadlock in btusb commit 8f9d02f470f48416444ac3a1eacecdd0f743f1a7 introduced spinlocks in btusb_work. This is run in a context of a worqueue and can be interrupted by hardware irq. If it happens while spinlock is held, we have a deadlock. Solution is to use _irqsave/_resore version of locking [ 466.460560] ================================= [ 466.460565] [ INFO: inconsistent lock state ] [ 466.460572] 4.3.0-rc6+ #1 Tainted: G W [ 466.460576] --------------------------------- [ 466.460582] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage. [ 466.460589] kworker/0:2/94 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 466.460595] (&(&data->rxlock)->rlock){?.-...}, at: [<ffffffffa0526923>] btusb_work+0xa3/0x3fd [btusb] [ 466.460621] {IN-HARDIRQ-W} state was registered at: [ 466.460625] [<ffffffff811021b5>] __lock_acquire+0xc45/0x1e80 [ 466.460638] [<ffffffff811040d5>] lock_acquire+0xe5/0x1f0 [ 466.460646] [<ffffffff8182f108>] _raw_spin_lock+0x38/0x50 [ 466.460657] [<ffffffffa0525448>] btusb_recv_intr+0x38/0x170 [btusb] [ 466.460668] [<ffffffffa0525626>] btusb_intr_complete+0xa6/0x130 [btusb] [ 466.460679] [<ffffffff815d8f1e>] __usb_hcd_giveback_urb+0x8e/0x160 [ 466.460690] [<ffffffff815d911f>] usb_hcd_giveback_urb+0x3f/0x120 [ 466.460698] [<ffffffff81606e4d>] uhci_giveback_urb+0xad/0x280 [ 466.460706] [<ffffffff81608f64>] uhci_scan_schedule.part.33+0x6b4/0xbe0 [ 466.460714] [<ffffffff81609b50>] uhci_irq+0xd0/0x180 [ 466.460722] [<ffffffff815d8296>] usb_hcd_irq+0x26/0x40 [ 466.460729] [<ffffffff81117d40>] handle_irq_event_percpu+0x40/0x300 [ 466.460739] [<ffffffff81118040>] handle_irq_event+0x40/0x60 [ 466.460746] [<ffffffff8111af39>] handle_fasteoi_irq+0x89/0x150 [ 466.460754] [<ffffffff8101e0f3>] handle_irq+0x73/0x120 [ 466.460763] [<ffffffff81832f11>] do_IRQ+0x61/0x120 [ 466.460772] [<ffffffff8183084c>] ret_from_intr+0x0/0x31 [ 466.460780] [<ffffffff81697a77>] cpuidle_enter+0x17/0x20 [ 466.460790] [<ffffffff810f62c2>] call_cpuidle+0x32/0x60 [ 466.460800] [<ffffffff810f65a8>] cpu_startup_entry+0x2b8/0x3f0 [ 466.460807] [<ffffffff818214ca>] rest_init+0x13a/0x140 [ 466.460817] [<ffffffff81f76029>] start_kernel+0x4a3/0x4c4 [ 466.460827] [<ffffffff81f75339>] x86_64_start_reservations+0x2a/0x2c [ 466.460837] [<ffffffff81f75485>] x86_64_start_kernel+0x14a/0x16d [ 466.460846] irq event stamp: 754913 [ 466.460851] hardirqs last enabled at (754913): [<ffffffff8182f4cc>] _raw_spin_unlock_irq+0x2c/0x40 [ 466.460861] hardirqs last disabled at (754912): [<ffffffff8182f28d>] _raw_spin_lock_irq+0x1d/0x60 [ 466.460869] softirqs last enabled at (753024): [<ffffffff810aeaa0>] __do_softirq+0x380/0x490 [ 466.460880] softirqs last disabled at (753009): [<ffffffff810aedef>] irq_exit+0x10f/0x120 [ 466.460888] other info that might help us debug this: [ 466.460894] Possible unsafe locking scenario: [ 466.460899] CPU0 [ 466.460903] ---- [ 466.460907] lock(&(&data->rxlock)->rlock); [ 466.460915] <Interrupt> [ 466.460918] lock(&(&data->rxlock)->rlock); [ 466.460926] *** DEADLOCK *** [ 466.460935] 2 locks held by kworker/0:2/94: [ 466.460939] #0: ("events"){.+.+.+}, at: [<ffffffff810c69bb>] process_one_work+0x16b/0x660 [ 466.460958] #1: ((&data->work)){+.+...}, at: [<ffffffff810c69bb>] process_one_work+0x16b/0x660 [ 466.460974] Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7362945aea72fccc9df4f4e7643c971e0a8c33dc Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Wed Nov 4 12:58:42 2015 +0000 VSOCK: call sk->sk_data_ready() on accept() When a listen socket enqueues a connection for userspace to accept(), the sk->sk_data_ready() callback should be invoked. In-kernel socket users rely on this callback to detect when incoming connections are available. Currently the sk->sk_state_change() callback is invoked by vmci_transport.c. This happens to work for userspace applications since sk->sk_state_change = sock_def_wakeup() and sk->sk_data_ready = sock_def_readable() both wake up the accept() waiter. In-kernel socket users, on the other hand, fail to detect incoming connections. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f63ce5b6fa5e9a0faf7a0e1ef2993a502878c78a Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Nov 4 13:49:49 2015 +0100 tun_dst: Fix potential NULL dereference In tun_dst_unclone() the return value of skb_metadata_dst() is checked for being NULL after it is dereferenced. Fix this by moving the dereference after the NULL check. Found by the Coverity scanner (CID 1338068). Fixes: fc4099f17240 ("openvswitch: Fix egress tunnel info.") Cc: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7868a85e1b26bcb2e71088841eec1d310a97ac9 Author: Jarod Wilson <jarod@xxxxxxxxxx> Date: Tue Nov 3 23:09:32 2015 -0500 net/core: ensure features get disabled on new lower devs With moving netdev_sync_lower_features() after the .ndo_set_features calls, I neglected to verify that devices added *after* a flag had been disabled on an upper device were properly added with that flag disabled as well. This currently happens, because we exit __netdev_update_features() when we see dev->features == features for the upper dev. We can retain the optimization of leaving without calling .ndo_set_features with a bit of tweaking and a goto here. Fixes: fd867d51f889 ("net/core: generic support for disabling netdev features down stack") CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Eric Dumazet <edumazet@xxxxxxxxxx> CC: Jay Vosburgh <j.vosburgh@xxxxxxxxx> CC: Veaceslav Falico <vfalico@xxxxxxxxx> CC: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> CC: Jiri Pirko <jiri@xxxxxxxxxxx> CC: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx> CC: Michal Kubecek <mkubecek@xxxxxxx> CC: Alexander Duyck <alexander.duyck@xxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx Reported-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1b8d903c6c3862160d2d5036806a94786c8fc4e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 15:59:28 2015 -0800 net: Fix prefsrc lookups A bug report (https://bugzilla.kernel.org/show_bug.cgi?id=107071) noted that the follwoing ip command is failing with v4.3: $ ip route add 10.248.5.0/24 dev bond0.250 table vlan_250 src 10.248.5.154 RTNETLINK answers: Invalid argument 021dd3b8a142d changed the lookup of the given preferred source address to use the table id passed in, but this assumes the local entries are in the given table which is not necessarily true for non-VRF use cases. When validating the preferred source fallback to the local table on failure. Fixes: 021dd3b8a142d ("net: Add routes to the table associated with the device") Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87e9f0315952b0dd8b5e51ba04beda03efc009d9 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Nov 3 15:41:16 2015 -0800 ipv4: fix a potential deadlock in mcast getsockopt() path Sasha reported the following lockdep warning: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(sk_lock-AF_INET); lock(rtnl_mutex); lock(sk_lock-AF_INET); lock(rtnl_mutex); This is due to that for IP_MSFILTER and MCAST_MSFILTER, we take rtnl lock before the socket lock in setsockopt() path, but take the socket lock before rtnl lock in getsockopt() path. All the rest optnames are setsockopt()-only. Fix this by aligning the getsockopt() path with the setsockopt() path, so that all mcast socket path would be locked in the same order. Note, IPv6 part is different where rtnl lock is not held. Fixes: 54ff9ef36bdf ("ipv4, ipv6: kill ip_mc_{join, leave}_group and ipv6_sock_mc_{join, drop}") Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ee3bd4a8c7463cdef0b82ebc33fc94a9170a7e0 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Nov 3 14:32:57 2015 -0800 ipv4: disable BH when changing ip local port range This fixes the following lockdep warning: [ INFO: inconsistent lock state ] 4.3.0-rc7+ #1197 Not tainted --------------------------------- inconsistent {IN-SOFTIRQ-R} -> {SOFTIRQ-ON-W} usage. sysctl/1019 [HC0[0]:SC0[0]:HE1:SE1] takes: (&(&net->ipv4.ip_local_ports.lock)->seqcount){+.+-..}, at: [<ffffffff81921de7>] ipv4_local_port_range+0xb4/0x12a {IN-SOFTIRQ-R} state was registered at: [<ffffffff810bd682>] __lock_acquire+0x2f6/0xdf0 [<ffffffff810be6d5>] lock_acquire+0x11c/0x1a4 [<ffffffff818e599c>] inet_get_local_port_range+0x4e/0xae [<ffffffff8166e8e3>] udp_flow_src_port.constprop.40+0x23/0x116 [<ffffffff81671cb9>] vxlan_xmit_one+0x219/0xa6a [<ffffffff81672f75>] vxlan_xmit+0xa6b/0xaa5 [<ffffffff817f2deb>] dev_hard_start_xmit+0x2ae/0x465 [<ffffffff817f35ed>] __dev_queue_xmit+0x531/0x633 [<ffffffff817f3702>] dev_queue_xmit_sk+0x13/0x15 [<ffffffff818004a5>] neigh_resolve_output+0x12f/0x14d [<ffffffff81959cfa>] ip6_finish_output2+0x344/0x39f [<ffffffff8195bf58>] ip6_finish_output+0x88/0x8e [<ffffffff8195bfef>] ip6_output+0x91/0xe5 [<ffffffff819792ae>] dst_output_sk+0x47/0x4c [<ffffffff81979392>] NF_HOOK_THRESH.constprop.30+0x38/0x82 [<ffffffff8197981e>] mld_sendpack+0x189/0x266 [<ffffffff8197b28b>] mld_ifc_timer_expire+0x1ef/0x223 [<ffffffff810de581>] call_timer_fn+0xfb/0x28c [<ffffffff810ded1e>] run_timer_softirq+0x1c7/0x1f1 Fixes: b8f1a55639e6 ("udp: Add function to make source port for UDP tunnels") Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d51ce9ca1116e8f4dc87cb51db8dd250327e9bb Merge: 41ecf14 1ab6846 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 18:10:13 2015 -0800 Merge tag 'pm+acpi-4.4-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI updates from Rafael Wysocki: "Quite a new features are included this time. First off, the Collaborative Processor Performance Control interface (version 2) defined by ACPI will now be supported on ARM64 along with a cpufreq frontend for CPU performance scaling. Second, ACPI gets a new infrastructure for the early probing of IRQ chips and clock sources (along the lines of the existing similar mechanism for DT). Next, the ACPI core and the generic device properties API will now support a recently introduced hierarchical properties extension of the _DSD (Device Specific Data) ACPI device configuration object. If the ACPI platform firmware uses that extension to organize device properties in a hierarchical way, the kernel will automatically handle it and make those properties available to device drivers via the generic device properties API. It also will be possible to build the ACPICA's AML interpreter debugger into the kernel now and use that to diagnose AML-related problems more efficiently. In the future, this should make it possible to single-step AML execution and do similar things. Interesting stuff, although somewhat experimental at this point. Finally, the PM core gets a new mechanism that can be used by device drivers to distinguish between suspend-to-RAM (based on platform firmware support) and suspend-to-idle (or other variants of system suspend the platform firmware is not involved in) and possibly optimize their device suspend/resume handling accordingly. In addition to that, some existing features are re-organized quite substantially. First, the ACPI-based handling of PCI host bridges on x86 and ia64 is unified and the common code goes into the ACPI core (so as to reduce code duplication and eliminate non-essential differences between the two architectures in that area). Second, the Operating Performance Points (OPP) framework is reorganized to make the code easier to find and follow. Next, the cpufreq core's sysfs interface is reorganized to get rid of the "primary CPU" concept for configurations in which the same performance scaling settings are shared between multiple CPUs. Finally, some interfaces that aren't necessary any more are dropped from the generic power domains framework. On top of the above we have some minor extensions, cleanups and bug fixes in multiple places, as usual. Specifics: - ACPICA update to upstream revision 20150930 (Bob Moore, Lv Zheng). The most significant change is to allow the AML debugger to be built into the kernel. On top of that there is an update related to the NFIT table (the ACPI persistent memory interface) and a few fixes and cleanups. - ACPI CPPC2 (Collaborative Processor Performance Control v2) support along with a cpufreq frontend (Ashwin Chaugule). This can only be enabled on ARM64 at this point. - New ACPI infrastructure for the early probing of IRQ chips and clock sources (Marc Zyngier). - Support for a new hierarchical properties extension of the ACPI _DSD (Device Specific Data) device configuration object allowing the kernel to handle hierarchical properties (provided by the platform firmware this way) automatically and make them available to device drivers via the generic device properties interface (Rafael Wysocki). - Generic device properties API extension to obtain an index of certain string value in an array of strings, along the lines of of_property_match_string(), but working for all of the supported firmware node types, and support for the "dma-names" device property based on it (Mika Westerberg). - ACPI core fix to parse the MADT (Multiple APIC Description Table) entries in the order expected by platform firmware (and mandated by the specification) to avoid confusion on systems with more than 255 logical CPUs (Lukasz Anaczkowski). - Consolidation of the ACPI-based handling of PCI host bridges on x86 and ia64 (Jiang Liu). - ACPI core fixes to ensure that the correct IRQ number is used to represent the SCI (System Control Interrupt) in the cases when it has been re-mapped (Chen Yu). - New ACPI backlight quirk for Lenovo IdeaPad S405 (Hans de Goede). - ACPI EC driver fixes (Lv Zheng). - Assorted ACPI fixes and cleanups (Dan Carpenter, Insu Yun, Jiri Kosina, Rami Rosen, Rasmus Villemoes). - New mechanism in the PM core allowing drivers to check if the platform firmware is going to be involved in the upcoming system suspend or if it has been involved in the suspend the system is resuming from at the moment (Rafael Wysocki). This should allow drivers to optimize their suspend/resume handling in some cases and the changes include a couple of users of it (the i8042 input driver, PCI PM). - PCI PM fix to prevent runtime-suspended devices with PME enabled from being resumed during system suspend even if they aren't configured to wake up the system from sleep (Rafael Wysocki). - New mechanism to report the number of a wakeup IRQ that woke up the system from sleep last time (Alexandra Yates). - Removal of unused interfaces from the generic power domains framework and fixes related to latency measurements in that code (Ulf Hansson, Daniel Lezcano). - cpufreq core sysfs interface rework to make it handle CPUs that share performance scaling settings (represented by a common cpufreq policy object) more symmetrically (Viresh Kumar). This should help to simplify the CPU offline/online handling among other things. - cpufreq core fixes and cleanups (Viresh Kumar). - intel_pstate fixes related to the Turbo Activation Ratio (TAR) mechanism on client platforms which causes the turbo P-states range to vary depending on platform firmware settings (Srinivas Pandruvada). - intel_pstate sysfs interface fix (Prarit Bhargava). - Assorted cpufreq driver (imx, tegra20, powernv, integrator) fixes and cleanups (Bai Ping, Bartlomiej Zolnierkiewicz, Shilpasri G Bhat, Luis de Bethencourt). - cpuidle mvebu driver cleanups (Russell King). - OPP (Operating Performance Points) framework code reorganization to make it more maintainable (Viresh Kumar). - Intel Broxton support for the RAPL (Running Average Power Limits) power capping driver (Amy Wiles). - Assorted power management code fixes and cleanups (Dan Carpenter, Geert Uytterhoeven, Geliang Tang, Luis de Bethencourt, Rasmus Villemoes)" * tag 'pm+acpi-4.4-rc1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (108 commits) cpufreq: postfix policy directory with the first CPU in related_cpus cpufreq: create cpu/cpufreq/policyX directories cpufreq: remove cpufreq_sysfs_{create|remove}_file() cpufreq: create cpu/cpufreq at boot time cpufreq: Use cpumask_copy instead of cpumask_or to copy a mask cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate() PM / Domains: Merge measurements for PM QoS device latencies PM / Domains: Don't measure ->start|stop() latency in system PM callbacks PM / clk: Fix broken build due to non-matching code and header #ifdefs ACPI / Documentation: add copy_dsdt to ACPI format options ACPI / sysfs: correctly check failing memory allocation ACPI / video: Add a quirk to force native backlight on Lenovo IdeaPad S405 ACPI / CPPC: Fix potential memory leak ACPI / CPPC: signedness bug in register_pcc_channel() ACPI / PAD: power_saving_thread() is not freezable ACPI / PM: Fix incorrect wakeup IRQ setting during suspend-to-idle ACPI: Using correct irq when waiting for events ACPI: Use correct IRQ when uninstalling ACPI interrupt handler cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver cpuidle: mvebu: clean up multiple platform drivers ... commit 8e03a5e75c517de19c26a46147b0dc28096e55ef Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 00:55:13 2015 +0300 sh_eth: merge sh_eth_free_dma_buffer() into sh_eth_ring_free() While the ring allocation is done by a single function, sh_eth_ring_init(), the ring deallocation was split into two functions (almost always called one after the other) for no good reason. Merge sh_eth_free_dma_buffer() into sh_eth_ring_free() which allows us to save space not only on the direct calls of the former function but also on the sh_eth_ring_init()'s simplified error path... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91d80683fc1828141e87babbd01f40e408864914 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 00:17:08 2015 +0300 sh_eth: kill 'ret' variable in sh_eth_ring_init() The 'ret' local variable in sh_eth_ring_init() serves no useful purpose as the only values it gets assigned are 0 and -ENOMEM both of which could be returned directly... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f71e8c96fc654724723ce987e0a8b2aeb81746d Author: Markus Brunner <systemprogrammierung.brunner@xxxxxxxxx> Date: Tue Nov 3 22:09:51 2015 +0100 drivers: net: cpsw: Add support for fixed-link PHY Add support for a fixed-link devicetree sub-node in case the the cpsw MAC is directly connected to a non-mdio PHY/device. Signed-off-by: Markus Brunner <systemprogrammierung.brunner@xxxxxxxxx> Acked-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9c7dbc11a140851deca7ca080c6fa2661676992 Merge: 1b1050c dbc3617 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Nov 4 20:47:50 2015 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Conflicts: net/netfilter/xt_TEE.c Pablo Neira Ayuso says: ==================== Netfilter fixes for net The following patchset contains Netfilter fixes for your net tree, they are: 1) Fix crash when TEE target is used with no --oif, from Eric Dumazet. 2) Oneliner to fix a crash on the redirect traffic to localhost infrastructure when interface has not yet an address, from Munehisa Kamata. 3) Oneliner not to request module all the time from nfnetlink due to wrong type value, from Florian Westphal. I'll make sure these patches 1 and 2 hit -stable. ==================== The conflict in net/netfilter/xt_TEE.c was minor, a change to the 'oif' selection overlapping a function signature change for the nf_dup_ipv{4,6}() routines. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41ecf1404b34d9975eb97f5005d9e4274eaeb76a Merge: 2dc10ad abed7d0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 17:32:42 2015 -0800 Merge tag 'for-linus-4.4-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen updates from David Vrabel: - Improve balloon driver memory hotplug placement. - Use unpopulated hotplugged memory for foreign pages (if supported/enabled). - Support 64 KiB guest pages on arm64. - CPU hotplug support on arm/arm64. * tag 'for-linus-4.4-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (44 commits) xen: fix the check of e_pfn in xen_find_pfn_range x86/xen: add reschedule point when mapping foreign GFNs xen/arm: don't try to re-register vcpu_info on cpu_hotplug. xen, cpu_hotplug: call device_offline instead of cpu_down xen/arm: Enable cpu_hotplug.c xenbus: Support multiple grants ring with 64KB xen/grant-table: Add an helper to iterate over a specific number of grants xen/xenbus: Rename *RING_PAGE* to *RING_GRANT* xen/arm: correct comment in enlighten.c xen/gntdev: use types from linux/types.h in userspace headers xen/gntalloc: use types from linux/types.h in userspace headers xen/balloon: Use the correct sizeof when declaring frame_list xen/swiotlb: Add support for 64KB page granularity xen/swiotlb: Pass addresses rather than frame numbers to xen_arch_need_swiotlb arm/xen: Add support for 64KB page granularity xen/privcmd: Add support for Linux 64KB page granularity net/xen-netback: Make it running on 64KB page granularity net/xen-netfront: Make it running on 64KB page granularity block/xen-blkback: Make it running on 64KB page granularity block/xen-blkfront: Make it running on 64KB page granularity ... commit e02328f47bd75fde9decf9657ec7d769b370f857 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Tue Sep 8 14:17:47 2015 +0200 vga_switcheroo: Drop client power state VGA_SWITCHEROO_INIT hda_intel.c:azx_probe() defers initialization of an audio controller on the discrete GPU if the GPU is powered off. The power state of the GPU is determined by calling vga_switcheroo_get_client_state(). vga_switcheroo_get_client_state() returns VGA_SWITCHEROO_INIT if vga_switcheroo is not enabled, i.e. if no second GPU or no handler has registered. This can go wrong in the following scenario: - Driver for the integrated GPU is not loaded. - Driver for the discrete GPU registers with vga_switcheroo, uses driver power control to power down the GPU, handler cuts power to the GPU. - Driver for the audio controller gets loaded after the GPU was powered down, calls vga_switcheroo_get_client_state() which returns VGA_SWITCHEROO_INIT instead of VGA_SWITCHEROO_OFF. - Consequence: azx_probe() tries to initialize the audio controller even though the GPU is powered down. The power state VGA_SWITCHEROO_INIT was introduced by c8e9cf7bb240 ("vga_switcheroo: Add a helper function to get the client state"). It is not apparent what its benefit might be. The idea seems to be to initialize the audio controller even if the power state is VGA_SWITCHEROO_OFF (were vga_switcheroo enabled), but as shown above this can fail. Drop VGA_SWITCHEROO_INIT to solve this. Acked-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit b26eae934e94240de6bcbcd77b4bdec8bc005168 Merge: 596a1d3 f1811a8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 5 11:07:13 2015 +1000 Merge tag 'drm/panel/for-4.4-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/panel: Changes for v4.4-rc1 Just two small cleanup patches to fix coccinelle warnings. * tag 'drm/panel/for-4.4-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/bridge: ptn3460: Fix coccinelle warnings drm/bridge: ps8622: Fix coccinelle warnings commit 596a1d32bb42795cafbed66945645a74f0a3cc5b Merge: cb0fb27 2bcdcbf Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 5 11:07:03 2015 +1000 Merge tag 'drm/tegra/for-4.4-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next drm/tegra: Changes for v4.4-rc1 Just a couple of minor fixes and cleanups for this cycle. * tag 'drm/tegra/for-4.4-rc1' of git://anongit.freedesktop.org/tegra/linux: drm/tegra: dc: Request/free syncpoint at init/exit drm/tegra: fb: Remove gratuituous blank line gpu: host1x: Fix MLOCK's debug info commit cb0fb271213e8a06ca8815a459dfaddd5bb47b4b Merge: 793423f a5f4185 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 5 11:06:56 2015 +1000 Merge tag 'imx-drm-next-2015-10-30' of git://git.pengutronix.de/git/pza/linux into drm-next imx-drm fixes and color format updates - Some correctness fixes found by coccinelle - Add drivers/gpu/ipu-v3 directory to MAINTAINERS - Add support for more color formats - Fix a regression, making displays larger than FullHD work again * tag 'imx-drm-next-2015-10-30' of git://git.pengutronix.de/git/pza/linux: drm/imx: hdmi: fix HDMI setup to allow modes larger than FullHD gpu: ipu-v3: fix div_ratio type gpu: ipu-v3: csi: add support for 8 bpp grayscale sensors. drm/imx: enable ARGB4444 16-bit color format gpu: ipu-v3: add support for ARGB4444 16-bit color format drm/imx: ipuv3-plane: enable support for RGBX8888 and RGBA8888 pixel formats gpu: ipu-v3: add support for RGBX8888 and RGBA8888 pixel formats drm/imx: enable 15-bit RGB with 1-bit alpha formats gpu: ipu-v3: add support for 15-bit RGB with 1-bit alpha formats MAINTAINERS: Add IPUv3 core driver to the i.MX DRM driver section gpu: ipu-v3: ipu-csi: bool test doesn't need a comparison to false commit 793423ffcb229ae5654b382a1356906f81da2018 Merge: bf248ca a95e264 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Nov 5 10:57:25 2015 +1000 Merge branch 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-next - Updated register headers for GFX 8.1 for Stoney - Add some new CZ revisions - minor pageflip optimizations - Fencing clean up - Warning fix - More fence cleanup - oops fix - Fiji fixes * 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux: (29 commits) drm/amdgpu: group together common fence implementation drm/amdgpu: remove AMDGPU_FENCE_OWNER_MOVE drm/amdgpu: remove now unused fence functions drm/amdgpu: fix fence fallback check drm/amdgpu: fix stoping the scheduler timeout drm/amdgpu: cleanup on error in amdgpu_cs_ioctl() drm/amdgpu: update Fiji's Golden setting drm/amdgpu: update Fiji's rev id drm/amdgpu: extract common code in vi_common_early_init drm/amd/scheduler: don't oops on failure to load drm/amdgpu: don't oops on failure to load (v2) drm/amdgpu: don't VT switch on suspend drm/amdgpu: Make amdgpu_mn functions inline drm/amdgpu: remove amdgpu_fence_ref/unref drm/amdgpu: use common fence for sync drm/amdgpu: use the new fence_is_later drm/amdgpu: use common fences for VMID management v2 drm/amdgpu: move ring_from_fence to common code drm/amdgpu: switch to common fence_wait_any_timeout v2 drm/amdgpu: remove unneeded fence functions ... commit 82aff3ea3b87892ce1476dad83de211741b3ac00 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Nov 3 19:19:36 2015 +0100 NFC: nfcmrvl: avoid being stuck on FW dnld timeout FW Download procedure can block on del_timer_sync because the timer is not running. This patch check that timer is scheduled before cancelling it. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6f8c53695d6521c36052d39e29ac1e51ef37eba7 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Nov 3 19:19:35 2015 +0100 NFC: nfcmrvl: remove unneeded CONFIG_OF switches Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b2fe288eac7247f83b52377b4134ecc5cd856bf2 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Nov 3 19:19:34 2015 +0100 NFC: nfcmrvl: free reset gpio Reset GPIO shall be freed by the driver since the device used in devm_ calls can be still valid on unregister. If user removes the module and inserts it again, the devm_gpio_request will fail because the underlying physical device (e.g i2c) was not removed so the device management won't have freed the gpio. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d2d2e6456ebccb5d31163dcc3191d83183bbd0b5 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Nov 3 19:19:33 2015 +0100 NFC: nfcmrvl: add a small wait after setting UART break A small wait is inserted to ensure that controller has enough time to handle the break character. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit feacf0024bfea807d7302d4aff83b391ac6e4077 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Nov 3 19:19:32 2015 +0100 NFC: nfcmrvl: avoid UART break control during FW download BootROM does not support any form of power management during FW download. On UART, the driver shall not try to send breaks. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1dbac5c578ead0d0f20a06b036d19c109a5a4fb9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 3 15:03:33 2015 +0100 NFC: nfcmrvl: fix SPI driver dependencies The newly added nfcmrvl_spi driver uses the spi_nci infrastructure, but does not have a Kconfig dependency on that, so we can get a link-time error: drivers/built-in.o: In function `nfcmrvl_spi_nci_send': (.text+0x1428dc): undefined reference to `nci_spi_send' drivers/built-in.o: In function `nfcmrvl_spi_probe': (.text+0x142a24): undefined reference to `nci_spi_allocate_spi' drivers/built-in.o: In function `nfcmrvl_spi_int_irq_thread_fn': (.text+0x142abc): undefined reference to `nci_spi_read' This clarifies the dependency. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: caf6e49bf6d0 ("NFC: nfcmrvl: add spi driver") Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2dc10ad81fc017837037e60439662e1b16bdffb9 Merge: e627078 f8f8bdc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 14:47:13 2015 -0800 Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 updates from Catalin Marinas: - "genirq: Introduce generic irq migration for cpu hotunplugged" patch merged from tip/irq/for-arm to allow the arm64-specific part to be upstreamed via the arm64 tree - CPU feature detection reworked to cope with heterogeneous systems where CPUs may not have exactly the same features. The features reported by the kernel via internal data structures or ELF_HWCAP are delayed until all the CPUs are up (and before user space starts) - Support for 16KB pages, with the additional bonus of a 36-bit VA space, though the latter only depending on EXPERT - Implement native {relaxed, acquire, release} atomics for arm64 - New ASID allocation algorithm which avoids IPI on roll-over, together with TLB invalidation optimisations (using local vs global where feasible) - KASan support for arm64 - EFI_STUB clean-up and isolation for the kernel proper (required by KASan) - copy_{to,from,in}_user optimisations (sharing the memcpy template) - perf: moving arm64 to the arm32/64 shared PMU framework - L1_CACHE_BYTES increased to 128 to accommodate Cavium hardware - Support for the contiguous PTE hint on kernel mapping (16 consecutive entries may be able to use a single TLB entry) - Generic CONFIG_HZ now used on arm64 - defconfig updates * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (91 commits) arm64/efi: fix libstub build under CONFIG_MODVERSIONS ARM64: Enable multi-core scheduler support by default arm64/efi: move arm64 specific stub C code to libstub arm64: page-align sections for DEBUG_RODATA arm64: Fix build with CONFIG_ZONE_DMA=n arm64: Fix compat register mappings arm64: Increase the max granular size arm64: remove bogus TASK_SIZE_64 check arm64: make Timer Interrupt Frequency selectable arm64/mm: use PAGE_ALIGNED instead of IS_ALIGNED arm64: cachetype: fix definitions of ICACHEF_* flags arm64: cpufeature: declare enable_cpu_capabilities as static genirq: Make the cpuhotplug migration code less noisy arm64: Constify hwcap name string arrays arm64/kvm: Make use of the system wide safe values arm64/debug: Make use of the system wide safe value arm64: Move FP/ASIMD hwcap handling to common code arm64/HWCAP: Use system wide safe values arm64/capabilities: Make use of system wide safe value arm64: Delay cpu feature capability checks ... commit c932b98c1e47312822d911c1bb76e81ef50e389c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Nov 4 22:39:16 2015 +0100 ALSA: hda - Apply pin fixup for HP ProBook 6550b HP ProBook 6550b needs the same pin fixup applied to other HP B-series laptops with docks for making its headphone and dock headphone jacks working properly. We just need to add the codec SSID to the list. Bugzilla: https://bugzilla.kernel.org/attachment.cgi?id=191971 Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 52708d690b8be132ba9d294464625dbbdb9fa5df Author: Nitin Gupta <nitin.m.gupta@xxxxxxxxxx> Date: Mon Nov 2 16:30:24 2015 -0500 sparc64: Fix numa distance values Orabug: 21896119 Use machine descriptor (MD) to get node latency values instead of just using default values. Testing: On an T5-8 system with: - total nodes = 8 - self latencies = 0x26d18 - latency to other nodes = 0x3a598 => latency ratio = ~1.5 output of numactl --hardware - before fix: node distances: node 0 1 2 3 4 5 6 7 0: 10 20 20 20 20 20 20 20 1: 20 10 20 20 20 20 20 20 2: 20 20 10 20 20 20 20 20 3: 20 20 20 10 20 20 20 20 4: 20 20 20 20 10 20 20 20 5: 20 20 20 20 20 10 20 20 6: 20 20 20 20 20 20 10 20 7: 20 20 20 20 20 20 20 10 - after fix: node distances: node 0 1 2 3 4 5 6 7 0: 10 15 15 15 15 15 15 15 1: 15 10 15 15 15 15 15 15 2: 15 15 10 15 15 15 15 15 3: 15 15 15 10 15 15 15 15 4: 15 15 15 15 10 15 15 15 5: 15 15 15 15 15 10 15 15 6: 15 15 15 15 15 15 10 15 7: 15 15 15 15 15 15 15 10 Signed-off-by: Nitin Gupta <nitin.m.gupta@xxxxxxxxxx> Reviewed-by: Chris Hyser <chris.hyser@xxxxxxxxxx> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cae9af6a820b47d3e5e0da4edf23cf6fa69b18d8 Author: Rob Gardner <rob.gardner@xxxxxxxxxx> Date: Fri Oct 30 22:36:23 2015 -0600 sparc64: Don't restrict fp regs for no-fault loads The function handle_ldf_stq() deals with no-fault ASI loads and stores, but restricts fp registers to quad word regs (ie, %f0, %f4 etc). This is valid for the STQ case, but unnecessarily restricts loads, which may be single precision, double, or quad. This results in SIGFPE being raised for this instruction when the source address is invalid: ldda [%g1] ASI_PNF, %f2 but not for this one: ldda [%g1] ASI_PNF, %f4 The validation check for quad register is moved to within the STQ block so that loads are not affected by the check. An additional problem is that the calculation for freg is incorrect when a single precision load is being handled. This causes %f1 to be seen as %f32 etc, and the incorrect register ends up being overwritten. This code sequence demonstrates the problem: ldd [%g1], %f32 ! g1 = valid address lda [%i3] ASI_PNF, %f1 ! i3 = invalid address std %f32, [%g1] This is corrected by basing the freg calculation on the load size. Signed-off-by: Rob Gardner <rob.gardner@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e627078a0cbdc0c391efeb5a2c4eb287328fd633 Merge: 14c7909 b38fecc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 11:31:31 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "There is only one new feature in this pull for the 4.4 merge window, most of it is small enhancements, cleanup and bug fixes: - Add the s390 backend for the software dirty bit tracking. This adds two new pgtable functions pte_clear_soft_dirty and pmd_clear_soft_dirty which is why there is a hit to arch/x86/include/asm/pgtable.h in this pull request. - A series of cleanup patches for the AP bus, this includes the removal of the support for two outdated crypto cards (PCICC and PCICA). - The irq handling / signaling on buffer full in the runtime instrumentation code is dropped. - Some micro optimizations: remove unnecessary memory barriers for a couple of functions: [smb_]rmb, [smb_]wmb, atomics, bitops, and for spin_unlock. Use the builtin bswap if available and make test_and_set_bit_lock more cache friendly. - Statistics and a tracepoint for the diagnose calls to the hypervisor. - The CPU measurement facility support to sample KVM guests is improved. - The vector instructions are now always enabled for user space processes if the hardware has the vector facility. This simplifies the FPU handling code. The fpu-internal.h header is split into fpu internals, api and types just like x86. - Cleanup and improvements for the common I/O layer. - Rework udelay to solve a problem with kprobe. udelay has busy loop semantics but still uses an idle processor state for the wait" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (66 commits) s390: remove runtime instrumentation interrupts s390/cio: de-duplicate subchannel validation s390/css: unneeded initialization in for_each_subchannel s390/Kconfig: use builtin bswap s390/dasd: fix disconnected device with valid path mask s390/dasd: fix invalid PAV assignment after suspend/resume s390/dasd: fix double free in dasd_eckd_read_conf s390/kernel: fix ptrace peek/poke for floating point registers s390/cio: move ccw_device_stlck functions s390/cio: move ccw_device_call_handler s390/topology: reduce per_cpu() invocations s390/nmi: reduce size of percpu variable s390/nmi: fix terminology s390/nmi: remove casts s390/nmi: remove pointless error strings s390: don't store registers on disabled wait anymore s390: get rid of __set_psw_mask() s390/fpu: split fpu-internal.h into fpu internals, api, and type headers s390/dasd: fix list_del corruption after lcu changes s390/spinlock: remove unneeded serializations at unlock ... commit d618382ba5f1a4905db63f4980bf7b0a5826de9d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Nov 4 11:30:57 2015 -0800 iommu-common: Fix error code used in iommu_tbl_range_{alloc,free}(). The value returned from iommu_tbl_range_alloc() (and the one passed in as a fourth argument to iommu_tbl_range_free) is not a DMA address, it is rather an index into the IOMMU page table. Therefore using DMA_ERROR_CODE is not appropriate. Use a more type matching error code define, IOMMU_ERROR_CODE, and update all users of this interface. Reported-by: Andre Przywara <andre.przywara@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14c79092909a52b6fd6394b6ad5e7756c4f9565e Merge: 1b1050c a01fece Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 11:30:22 2015 -0800 Merge branch 'parisc-4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc updates from Helge Deller: "The most important change is that we reduce L1_CACHE_BYTES to 16 bytes, for which a trivial patch for XPS in the network layer was needed. Then we wire up the sys_membarrier and userfaultfd syscalls and added two other small cleanups" * 'parisc-4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Change L1_CACHE_BYTES to 16 net/xps: Fix calculation of initial number of xps queues parisc: reduce syslog debug output parisc: serial/mux: Convert to uart_console_device instead of open-coded parisc: Wire up userfaultfd syscall parisc: allocate sys_membarrier system call number commit 22b886dd1018093920c4250dee2a9a3cb7cff7b8 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Nov 4 12:15:33 2015 -0500 timers: Use proper base migration in add_timer_on() Regardless of the previous CPU a timer was on, add_timer_on() currently simply sets timer->flags to the new CPU. As the caller must be seeing the timer as idle, this is locally fine, but the timer leaving the old base while unlocked can lead to race conditions as follows. Let's say timer was on cpu 0. cpu 0 cpu 1 ----------------------------------------------------------------------------- del_timer(timer) succeeds del_timer(timer) lock_timer_base(timer) locks cpu_0_base add_timer_on(timer, 1) spin_lock(&cpu_1_base->lock) timer->flags set to cpu_1_base operates on @timer operates on @timer This triggered with mod_delayed_work_on() which contains "if (del_timer()) add_timer_on()" sequence eventually leading to the following oops. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff810ca6e9>] detach_if_pending+0x69/0x1a0 ... Workqueue: wqthrash wqthrash_workfunc [wqthrash] task: ffff8800172ca680 ti: ffff8800172d0000 task.ti: ffff8800172d0000 RIP: 0010:[<ffffffff810ca6e9>] [<ffffffff810ca6e9>] detach_if_pending+0x69/0x1a0 ... Call Trace: [<ffffffff810cb0b4>] del_timer+0x44/0x60 [<ffffffff8106e836>] try_to_grab_pending+0xb6/0x160 [<ffffffff8106e913>] mod_delayed_work_on+0x33/0x80 [<ffffffffa0000081>] wqthrash_workfunc+0x61/0x90 [wqthrash] [<ffffffff8106dba8>] process_one_work+0x1e8/0x650 [<ffffffff8106e05e>] worker_thread+0x4e/0x450 [<ffffffff810746af>] kthread+0xef/0x110 [<ffffffff8185980f>] ret_from_fork+0x3f/0x70 Fix it by updating add_timer_on() to perform proper migration as __mod_timer() does. Reported-and-tested-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Chris Worley <chris.worley@xxxxxxxxxxxxxxx> Cc: bfields@xxxxxxxxxxxx Cc: Michael Skralivetsky <michael.skralivetsky@xxxxxxxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Cc: Shaohua Li <shli@xxxxxx> Cc: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Cc: kernel-team@xxxxxx Cc: stable@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20151029103113.2f893924@xxxxxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20151104171533.GI5749@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e35dbb4d4b4499e8a013564f0753dabc1c49e9d9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 8 14:34:06 2015 +0900 thermal: exynos: Directly return 0 instead of using local ret variable The 'ret' variable in exynos5440_tmu_initialize() is initialized to 0 and returned as is. Replace it with direct return statement. This also fixes coccinelle warning: drivers/thermal/samsung/exynos_tmu.c:611:5-8: Unneeded variable: "ret". Return "0" on line 654 Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Tested-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit baba1ebb99ba1ffecfa40268d80e4e6406ef1d17 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 8 14:34:05 2015 +0900 thermal: exynos: Remove unneeded semicolon Remove semicolons after switch statement. Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Tested-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit bfa26838572cd9b2b0623fcbc7b9352dcaa4262b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 8 14:34:04 2015 +0900 thermal: exynos: Use IS_ERR() because regulator cannot be NULL The NULL check in probe's error path is not needed because in that time the regulator cannot be NULL (regulator_get() returns valid pointer or ERR_PTR). Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Tested-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 9e4249b4034090730017deaf632b46b5faaa12b9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 8 14:34:03 2015 +0900 thermal: exynos: Fix first temperature read after registering sensor Thermal core could not read the temperature after registering the thermal sensor with thermal_zone_of_sensor_register() because the driver was not yet initialized. The call trace looked like: exynos_tmu_probe() thermal_zone_of_sensor_register() of_thermal_set_mode() thermal_zone_device_update() exynos_get_temp() if (!data->tmu_read) return -EINVAL; exynos_map_dt_data() data->tmu_read = ... This produced an error in dmesg: thermal thermal_zone0: failed to read out thermal zone (-22) Register the thermal_zone_device later, after parsing Device Tree and enabling necessary clocks, but before calling exynos_tmu_initialize() which uses the registered thermal_zone_device. Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Tested-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Tested-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 3b6a1a805f34 ("thermal: samsung: core: Exynos TMU rework to use device tree for configuration") Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 824ead03b78403a21449cb7eb153a4344cd3b4c8 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 8 14:34:02 2015 +0900 thermal: exynos: Fix unbalanced regulator disable on probe failure During probe if the regulator could not be enabled, the error exit path would still disable it. This could lead to unbalanced counter of regulator enable/disable. The patch moves code for getting and enabling the regulator from exynos_map_dt_data() to probe function because it is really not a part of getting Device Tree properties. Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Tested-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 5f09a5cbd14a ("thermal: exynos: Disable the regulator on probe failure") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit ce5ee1611284bef81d0308c6c2749902f55ed1d5 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:36:20 2015 +0300 devfreq_cooling: return on allocation failure If the allocation fails then we can't continue. Fixes: a76caf55e5b3 ('thermal: Add devfreq cooling') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 1b1050cdc5cdde43177b375b5f22dc070d45d8f8 Merge: b0f85fa 353b39d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 10:12:43 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide Pull IDE fixlet from David Miller: "Just a y2038 fix to the pdc202xx_new IDE driver" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide: ide: pdc202xx_new: Replace timeval with ktime_t commit eedfcb4bc5f0185a14fc9e1e5a9770ad833ea5a4 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Nov 2 17:50:21 2015 -0800 perf stat: Use common printout function to avoid duplicated code Instead of every caller deciding whether to call abs or nsec printout do it all in a single central function. No functional changes. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1446515428-7450-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4579ecc8b3e0c611b5c8f6ca7f7b07d1412d8a7b Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Nov 2 17:50:20 2015 -0800 perf stat: Move sw clock metrics printout to stat-shadow The sw clock metrics printing was missed in the earlier move to stat-shadow of all the other metric printouts. Move it too. v2: Fix metrics printing in this version to make bisect safe. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1446515428-7450-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c36b97e9430defab4b52ee370c18745343d92f6d Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Thu Oct 29 10:03:41 2015 -0500 GFS2: Protect freeing directory hash table with i_lock spin_lock This patch changes function gfs2_dir_hash_inval so it uses the i_lock spin_lock to protect the in-core hash table, i_hash_cache. This will prevent double-frees due to a race between gfs2_evict_inode and inode invalidation. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit b0f85fa11aefc4f3e03306b4cd47f113bd57dcba Merge: ccc9d4a f32bfb9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 09:41:05 2015 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Pull networking updates from David Miller: Changes of note: 1) Allow to schedule ICMP packets in IPVS, from Alex Gartrell. 2) Provide FIB table ID in ipv4 route dumps just as ipv6 does, from David Ahern. 3) Allow the user to ask for the statistics to be filtered out of ipv4/ipv6 address netlink dumps. From Sowmini Varadhan. 4) More work to pass the network namespace context around deep into various packet path APIs, starting with the netfilter hooks. From Eric W Biederman. 5) Add layer 2 TX/RX checksum offloading to qeth driver, from Thomas Richter. 6) Use usec resolution for SYN/ACK RTTs in TCP, from Yuchung Cheng. 7) Support Very High Throughput in wireless MESH code, from Bob Copeland. 8) Allow setting the ageing_time in switchdev/rocker. From Scott Feldman. 9) Properly autoload L2TP type modules, from Stephen Hemminger. 10) Fix and enable offload features by default in 8139cp driver, from David Woodhouse. 11) Support both ipv4 and ipv6 sockets in a single vxlan device, from Jiri Benc. 12) Fix CWND limiting of thin streams in TCP, from Bendik Rønning Opstad. 13) Fix IPSEC flowcache overflows on large systems, from Steffen Klassert. 14) Convert bridging to track VLANs using rhashtable entries rather than a bitmap. From Nikolay Aleksandrov. 15) Make TCP listener handling completely lockless, this is a major accomplishment. Incoming request sockets now live in the established hash table just like any other socket too. From Eric Dumazet. 15) Provide more bridging attributes to netlink, from Nikolay Aleksandrov. 16) Use hash based algorithm for ipv4 multipath routing, this was very long overdue. From Peter Nørlund. 17) Several y2038 cures, mostly avoiding timespec. From Arnd Bergmann. 18) Allow non-root execution of EBPF programs, from Alexei Starovoitov. 19) Support SO_INCOMING_CPU as setsockopt, from Eric Dumazet. This influences the port binding selection logic used by SO_REUSEPORT. 20) Add ipv6 support to VRF, from David Ahern. 21) Add support for Mellanox Spectrum switch ASIC, from Jiri Pirko. 22) Add rtl8xxxu Realtek wireless driver, from Jes Sorensen. 23) Implement RACK loss recovery in TCP, from Yuchung Cheng. 24) Support multipath routes in MPLS, from Roopa Prabhu. 25) Fix POLLOUT notification for listening sockets in AF_UNIX, from Eric Dumazet. 26) Add new QED Qlogic river, from Yuval Mintz, Manish Chopra, and Sudarsana Kalluru. 27) Don't fetch timestamps on AF_UNIX sockets, from Hannes Frederic Sowa. 28) Support ipv6 geneve tunnels, from John W Linville. 29) Add flood control support to switchdev layer, from Ido Schimmel. 30) Fix CHECKSUM_PARTIAL handling of potentially fragmented frames, from Hannes Frederic Sowa. 31) Support persistent maps and progs in bpf, from Daniel Borkmann. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1790 commits) sh_eth: use DMA barriers switchdev: respect SKIP_EOPNOTSUPP flag in case there is no recursion net: sched: kill dead code in sch_choke.c irda: Delete an unnecessary check before the function call "irlmp_unregister_service" net: dsa: mv88e6xxx: include DSA ports in VLANs net: dsa: mv88e6xxx: disable SA learning for DSA and CPU ports net/core: fix for_each_netdev_feature vlan: Invoke driver vlan hooks only if device is present arcnet/com20020: add LEDS_CLASS dependency bpf, verifier: annotate verbose printer with __printf dp83640: Only wait for timestamps for packets with timestamping enabled. ptp: Change ptp_class to a proper bitmask dp83640: Prune rx timestamp list before reading from it dp83640: Delay scheduled work. dp83640: Include hash in timestamp/packet matching ipv6: fix tunnel error handling net/mlx5e: Fix LSO vlan insertion net/mlx5e: Re-eanble client vlan TX acceleration net/mlx5e: Return error in case mlx5e_set_features() fails net/mlx5e: Don't allow more than max supported channels ... commit a95e264254dca5b6bfb331d5902930d0787bd7e1 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 3 12:21:57 2015 +0100 drm/amdgpu: group together common fence implementation And also add some missing function documentation. No functional change. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7a91d6cb3c8f93288865f98ffa03485aff6dbab4 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Oct 27 17:28:24 2015 +0100 drm/amdgpu: remove AMDGPU_FENCE_OWNER_MOVE Moves are exclusive operations anyway, just use the undefined owner for those. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a67bcd34f6257d5519971a84705e9101ed1160e8 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Oct 26 13:22:33 2015 +0100 drm/amdgpu: remove now unused fence functions Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 24372447e5cfe65d43a462acbf201c7882551b84 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Nov 3 11:26:42 2015 +0100 drm/amdgpu: fix fence fallback check Interrupts are notorious unreliable, enable the fallback at a couple of more places. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 424839a6a913f2d2f473ce6d5b6465aeddf694db Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Nov 2 16:25:10 2015 +0100 drm/amdgpu: fix stoping the scheduler timeout cancel_delayed_work_sync is forbidden in interrupt context. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4cfdcd9cecc05646b08805ba449811a645b3f4a8 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 16:25:09 2015 +0300 drm/amdgpu: cleanup on error in amdgpu_cs_ioctl() We recently changed the locking in this function and now there is a missing unlock on error. Also there are some other resources that we should probably release as well... Fixes: f48b2659f521 ('drm/amdgpu: fix the broken vm->mutex V2') Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> commit ccc9d4a6d640cbde05d519edeb727881646cf71b Merge: 66ef349 271817a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Nov 4 09:11:12 2015 -0800 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto update from Herbert Xu: "API: - Add support for cipher output IVs in testmgr - Add missing crypto_ahash_blocksize helper - Mark authenc and des ciphers as not allowed under FIPS. Algorithms: - Add CRC support to 842 compression - Add keywrap algorithm - A number of changes to the akcipher interface: + Separate functions for setting public/private keys. + Use SG lists. Drivers: - Add Intel SHA Extension optimised SHA1 and SHA256 - Use dma_map_sg instead of custom functions in crypto drivers - Add support for STM32 RNG - Add support for ST RNG - Add Device Tree support to exynos RNG driver - Add support for mxs-dcp crypto device on MX6SL - Add xts(aes) support to caam - Add ctr(aes) and xts(aes) support to qat - A large set of fixes from Russell King for the marvell/cesa driver" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (115 commits) crypto: asymmetric_keys - Fix unaligned access in x509_get_sig_params() crypto: akcipher - Don't #include crypto/public_key.h as the contents aren't used hwrng: exynos - Add Device Tree support hwrng: exynos - Fix missing configuration after suspend to RAM hwrng: exynos - Add timeout for waiting on init done dt-bindings: rng: Describe Exynos4 PRNG bindings crypto: marvell/cesa - use __le32 for hardware descriptors crypto: marvell/cesa - fix missing cpu_to_le32() in mv_cesa_dma_add_op() crypto: marvell/cesa - use memcpy_fromio()/memcpy_toio() crypto: marvell/cesa - use gfp_t for gfp flags crypto: marvell/cesa - use dma_addr_t for cur_dma crypto: marvell/cesa - use readl_relaxed()/writel_relaxed() crypto: caam - fix indentation of close braces crypto: caam - only export the state we really need to export crypto: caam - fix non-block aligned hash calculation crypto: caam - avoid needlessly saving and restoring caam_hash_ctx crypto: caam - print errno code when hash registration fails crypto: marvell/cesa - fix memory leak crypto: marvell/cesa - fix first-fragment handling in mv_cesa_ahash_dma_last_req() crypto: marvell/cesa - rearrange handling for sw padded hashes ... commit 033291eccbdb1b70ffc02641edae19ac825dc75d Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Thu Oct 15 15:08:48 2015 -0600 vfio: Include No-IOMMU mode There is really no way to safely give a user full access to a DMA capable device without an IOMMU to protect the host system. There is also no way to provide DMA translation, for use cases such as device assignment to virtual machines. However, there are still those users that want userspace drivers even under those conditions. The UIO driver exists for this use case, but does not provide the degree of device access and programming that VFIO has. In an effort to avoid code duplication, this introduces a No-IOMMU mode for VFIO. This mode requires building VFIO with CONFIG_VFIO_NOIOMMU and enabling the "enable_unsafe_noiommu_mode" option on the vfio driver. This should make it very clear that this mode is not safe. Additionally, CAP_SYS_RAWIO privileges are necessary to work with groups and containers using this mode. Groups making use of this support are named /dev/vfio/noiommu-$GROUP and can only make use of the special VFIO_NOIOMMU_IOMMU for the container. Use of this mode, specifically binding a device without a native IOMMU group to a VFIO bus driver will taint the kernel and should therefore not be considered supported. This patch includes no-iommu support for the vfio-pci bus driver only. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> commit 34635b1accb99b3c3ad3b35a210be198701aac7e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Nov 2 15:21:40 2015 +0200 dmaengine: edma: Add dummy driver skeleton for edma3-tptc The eDMA3 TPTC does not need any software configuration, but it is a separate IP block in the SoC. In order the omap hwmod core to be able to handle the TPTC resources correctly in regards of PM we need to have a driver loaded for it. This patch will add a dummy driver skeleton without probe or remove callbacks provided. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Reported-by: Olof Johansson <olof@xxxxxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e324fc82ea453fcbd3898ec7afb792f750c68979 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Nov 4 13:53:26 2015 +0100 vfio: Fix bug in vfio_device_get_from_name() The vfio_device_get_from_name() function might return a non-NULL pointer, when called with a device name that is not found in the list. This causes undefined behavior, in my case calling an invalid function pointer later on: kernel tried to execute NX-protected page - exploit attempt? (uid: 0) BUG: unable to handle kernel paging request at ffff8800cb3ddc08 [...] Call Trace: [<ffffffffa03bd733>] ? vfio_group_fops_unl_ioctl+0x253/0x410 [vfio] [<ffffffff811efc4d>] do_vfs_ioctl+0x2cd/0x4c0 [<ffffffff811f9657>] ? __fget+0x77/0xb0 [<ffffffff811efeb9>] SyS_ioctl+0x79/0x90 [<ffffffff81001bb0>] ? syscall_return_slowpath+0x50/0x130 [<ffffffff8167f776>] entry_SYSCALL_64_fastpath+0x16/0x75 Fix the issue by returning NULL when there is no device with the requested name in the list. Cc: stable@xxxxxxxxxxxxxxx # v4.2+ Fixes: 4bc94d5dc95d ("vfio: Fix lockdep issue") Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 879ae1880449c88db11c1ebdaedc2da79b2fe73f Author: Laszlo Ersek <lersek@xxxxxxxxxx> Date: Wed Nov 4 12:54:41 2015 +0100 KVM: x86: obey KVM_X86_QUIRK_CD_NW_CLEARED in kvm_set_cr0() Commit b18d5431acc7 ("KVM: x86: fix CR0.CD virtualization") was technically correct, but it broke OVMF guests by slowing down various parts of the firmware. Commit fb279950ba02 ("KVM: vmx: obey KVM_QUIRK_CD_NW_CLEARED") quirked the first function modified by b18d5431acc7, vmx_get_mt_mask(), for OVMF's sake. This restored the speed of the OVMF code that runs before PlatformPei (including the memory intensive LZMA decompression in SEC). This patch extends the quirk to the second function modified by b18d5431acc7, kvm_set_cr0(). It eliminates the intrusive slowdown that hits the EFI_MP_SERVICES_PROTOCOL implementation of edk2's UefiCpuPkg/CpuDxe -- which is built into OVMF --, when CpuDxe starts up all APs at once for initialization, in order to count them. We also carry over the kvm_arch_has_noncoherent_dma() sub-condition from the other half of the original commit b18d5431acc7. Fixes: b18d5431acc7a2fd22767925f3a6f597aa4bd29e Cc: stable@xxxxxxxxxxxxxxx Cc: Jordan Justen <jordan.l.justen@xxxxxxxxx> Cc: Alex Williamson <alex.williamson@xxxxxxxxxx> Reviewed-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Tested-by: Janusz Mocek <januszmk6@xxxxxxxxx> Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx># Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 89651a3decbe03754f304a0b248f27eeb9a37937 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Nov 3 13:43:05 2015 +0100 KVM: x86: allow RSM from 64-bit mode The SDM says that exiting system management mode from 64-bit mode is invalid, but that would be too good to be true. But actually, most of the code is already there to support exiting from compat mode (EFER.LME=1, EFER.LMA=0). Getting all the way from 64-bit mode to real mode only requires clearing CS.L and CR4.PCIDE. Cc: stable@xxxxxxxxxxxxxxx Fixes: 660a5d517aaab9187f93854425c4c63f4a09195c Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 656ec4a4928a3db7d16e5cb9bce351a478cfd3d5 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Mon Nov 2 22:20:00 2015 +0100 KVM: VMX: fix SMEP and SMAP without EPT The comment in code had it mostly right, but we enable paging for emulated real mode regardless of EPT. Without EPT (which implies emulated real mode), secondary VCPUs won't start unless we disable SM[AE]P when the guest doesn't use paging. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8a22f234a81ab4d1de5d948c3478608f08a9b844 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 28 18:52:02 2015 +0100 KVM: x86: move kvm_set_irq_inatomic to legacy device assignment The function is not used outside device assignment, and kvm_arch_set_irq_inatomic has a different prototype. Move it here and make it static to avoid confusion. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7695405698d011c05a95288f1f3c0a3dd252dccc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 28 19:22:20 2015 +0100 KVM: device assignment: remove pointless #ifdefs The symbols are always defined. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b97e6de9c96cefaa02a6a7464731ea504b45e150 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 28 19:16:47 2015 +0100 KVM: x86: merge kvm_arch_set_irq with kvm_set_msi_inatomic We do not want to do too much work in atomic context, in particular not walking all the VCPUs of the virtual machine. So we want to distinguish the architecture-specific injection function for irqfd from kvm_set_msi. Since it's still empty, reuse the newly added kvm_arch_set_irq and rename it to kvm_arch_set_irq_inatomic. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0669a51015c58b1f036030743a0c0781eb63867f Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Fri Oct 30 15:48:20 2015 +0100 KVM: x86: zero apic_arb_prio on reset BSP doesn't get INIT so its apic_arb_prio isn't zeroed after reboot. BSP won't get lowest priority interrupts until other VCPUs get enough interrupts to match their pre-reboot apic_arb_prio. That behavior doesn't fit into KVM's round-robin-like interpretation of lowest priority delivery ... userspace should KVM_SET_LAPIC on reset, so just zero apic_arb_prio there. Reported-by: Yuki Shibuya <shibuya.yk@xxxxxxxxxxxxxx> Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c75efa974e013640496620f26f0b532cb5cb17f9 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Oct 16 10:07:50 2015 +0300 drivers/hv: share Hyper-V SynIC constants with userspace Moved Hyper-V synic contants from guest Hyper-V drivers private header into x86 arch uapi Hyper-V header. Added Hyper-V synic msr's flags into x86 arch uapi Hyper-V header. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f40606b147dd5b4678cedc877a71deb520ca507e Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Fri Oct 30 16:36:25 2015 +0100 KVM: x86: handle SMBASE as physical address in RSM GET_SMSTATE depends on real mode to ensure that smbase+offset is treated as a physical address, which has already caused a bug after shuffling the code. Enforce physical addressing. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7a036a6f670f63b32c5ee126425f9109271ca13f Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Fri Oct 30 16:36:24 2015 +0100 KVM: x86: add read_phys to x86_emulate_ops We want to read the physical memory when emulating RSM. X86EMUL_IO_NEEDED is returned on all errors for consistency with other helpers. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2da29bccc5045ea10c70cb3a69be777768fd0b66 Author: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Date: Fri Oct 30 12:56:11 2015 +0530 KVM: x86: removing unused variable removing unused variables, found by coccinelle Signed-off-by: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6956d8946d5d1cb2ac913caa8d4259a4d0e00c48 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Mon Oct 19 04:37:18 2015 -0600 KVM: don't pointlessly leave KVM_COMPAT=y in non-KVM configs The symbol was missing a KVM dependency. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 197a4f4b063e4e7a603ff1de56b3cf0400fabc30 Merge: d6cf98e 26caea7 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Nov 4 16:24:17 2015 +0100 Merge tag 'kvm-arm-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD KVM/ARM Changes for v4.4-rc1 Includes a number of fixes for the arch-timer, introducing proper level-triggered semantics for the arch-timers, a series of patches to synchronously halt a guest (prerequisite for IRQ forwarding), some tracepoint improvements, a tweak for the EL2 panic handlers, some more VGIC cleanups getting rid of redundant state, and finally a stylistic change that gets rid of some ctags warnings. Conflicts: arch/x86/include/asm/kvm_host.h commit 26caea7693cb99833fe4ecc544c842289d6b3f69 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Tue Oct 27 11:37:31 2015 +0300 KVM: arm/arm64: Merge vgic_set_lr() and vgic_sync_lr_elrsr() Now we see that vgic_set_lr() and vgic_sync_lr_elrsr() are always used together. Merge them into one function, saving from second vgic_ops dereferencing every time. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 212c76545dde8370ebde2a170e4f8e1ed8441dc0 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Tue Oct 27 11:37:30 2015 +0300 KVM: arm/arm64: Clean up vgic_retire_lr() and surroundings 1. Remove unnecessary 'irq' argument, because irq number can be retrieved from the LR. 2. Since cff9211eb1a1f58ce7f5a2d596b617928fd4be0e ("arm/arm64: KVM: Fix arch timer behavior for disabled interrupts ") LR_STATE_PENDING is queued back by vgic_retire_lr() itself. Also, it clears vlr.state itself. Therefore, we remove the same, now duplicated, check with all accompanying bit manipulations from vgic_unqueue_irqs(). 3. vgic_retire_lr() is always accompanied by vgic_irq_clear_queued(). Since it already does more than just clearing the LR, move vgic_irq_clear_queued() inside of it. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c4cd4c168b81dad53e659d18cdae653bc0ec2384 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Tue Oct 27 11:37:29 2015 +0300 KVM: arm/arm64: Optimize away redundant LR tracking Currently we use vgic_irq_lr_map in order to track which LRs hold which IRQs, and lr_used bitmap in order to track which LRs are used or free. vgic_irq_lr_map is actually used only for piggy-back optimization, and can be easily replaced by iteration over lr_used. This is good because in future, when LPI support is introduced, number of IRQs will grow up to at least 16384, while numbers from 1024 to 8192 are never going to be used. This would be a huge memory waste. In its turn, lr_used is also completely redundant since ae705930fca6322600690df9dc1c7d0516145a93 ("arm/arm64: KVM: Keep elrsr/aisr in sync with software model"), because together with lr_used we also update elrsr. This allows to easily replace lr_used with elrsr, inverting all conditions (because in elrsr '1' means 'free'). Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 233a68667cf4c134d07ef7e22bdd77786b5c7360 Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed Nov 4 08:23:52 2015 -0500 audit: make audit_log_common_recv_msg() a void function It always returns zero and no one is checking the return value. Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit c5ea6efda6ff0fd591d6b7a2e1ba086b196dd864 Author: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Date: Wed Nov 4 08:23:52 2015 -0500 audit: removing unused variable Variable rc in not required as it is just used for unchanged for return, and return is always 0 in the function. Signed-off-by: Saurabh Sengar <saurabh.truth@xxxxxxxxx> [PM: fixed spelling errors in description] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 725131efa52812973afda6ff3fbeec6cc22882a5 Author: Scott Matheina <scott@xxxxxxxxxxxx> Date: Wed Nov 4 08:23:51 2015 -0500 audit: fix comment block whitespace Signed-off-by: Scott Matheina <scott@xxxxxxxxxxxx> [PM: fixed subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 6f1b5d7afe1d737b7ca726e08e26f2e0367876d2 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Wed Nov 4 08:23:51 2015 -0500 audit: audit_tree_match can be boolean This patch makes audit_tree_match return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> [PM: tweaked the subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 9fcf836b215ca5685030ecab3e35ecc14ee3bcfb Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Wed Nov 4 08:23:51 2015 -0500 audit: audit_string_contains_control can be boolean This patch makes audit_string_contains_control return bool to improve readability due to this particular function only using either one or zero as its return value. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> [PM: tweaked subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 36734810488e618d48cc14782f7111b3dfaffb83 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Wed Nov 4 08:23:51 2015 -0500 audit: audit_dummy_context can be boolean This patch makes audit_dummy_context return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> [PM: subject line tweak] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 32a1dbaece7e37cea415e03cd426172249aa859e Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Nov 4 08:23:50 2015 -0500 audit: try harder to send to auditd upon netlink failure There are several reports of the kernel losing contact with auditd when it is, in fact, still running. When this happens, kernel syslogs show: "audit: *NO* daemon at audit_pid=<pid>" although auditd is still running, and is apparently happy, listening on the netlink socket. The pid in the "*NO* daemon" message matches the pid of the running auditd process. Restarting auditd solves this. The problem appears to happen randomly, and doesn't seem to be strongly correlated to the rate of audit events being logged. The problem happens fairly regularly (every few days), but not yet reproduced to order. On production kernels, BUG_ON() is a no-op, so any error will trigger this. Commit 34eab0a7cd45 ("audit: prevent an older auditd shutdown from orphaning a newer auditd startup") eliminates one possible cause. This isn't the case here, since the PID in the error message and the PID of the running auditd match. The primary expected cause of error here is -ECONNREFUSED when the audit daemon goes away, when netlink_getsockbyportid() can't find the auditd portid entry in the netlink audit table (or there is no receive function). If -EPERM is returned, that situation isn't likely to be resolved in a timely fashion without administrator intervention. In both cases, reset the audit_pid. This does not rule out a race condition. SELinux is expected to return zero since this isn't an INET or INET6 socket. Other LSMs may have other return codes. Log the error code for better diagnosis in the future. In the case of -ENOMEM, the situation could be temporary, based on local or general availability of buffers. -EAGAIN should never happen since the netlink audit (kernel) socket is set to MAX_SCHEDULE_TIMEOUT. -ERESTARTSYS and -EINTR are not expected since this kernel thread is not expected to receive signals. In these cases (or any other unexpected ones for now), report the error and re-schedule the thread, retrying up to 5 times. v2: Removed BUG_ON(). Moved comma in pr_*() statements. Removed audit_strerror() text. Reported-by: Vipin Rathor <v.rathor@xxxxxxxxx> Reported-by: <ctcard@xxxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [PM: applied rgb's fixup patch to correct audit_log_lost() format issues] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 62e544b983a0a8ec36a33017e1d7eb60eb7ffb5e Merge: 2dab48e d9b96d3 c2f4160 2d3eda6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:43 2015 +0000 Merge remote-tracking branches 'regulator/topic/supply', 'regulator/topic/tps6105x' and 'regulator/topic/tps65023' into regulator-next commit 2dab48ef2b2e8b53373acbe354e7c635b03115e1 Merge: 10dde28 b263d20 45d5ea4 1de7d80 a3e123c 4049dc1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:41 2015 +0000 Merge remote-tracking branches 'regulator/topic/load', 'regulator/topic/max77802', 'regulator/topic/pwm', 'regulator/topic/qcom-smd' and 'regulator/topic/stw481x' into regulator-next commit 10dde28d8682808e67b7ab39f08aa58adf502a25 Merge: 6727479 8b70814 424fb28 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:39 2015 +0000 Merge remote-tracking branches 'regulator/topic/da9053' and 'regulator/topic/da9063' into regulator-next commit 6727479f07770df07d0058a396d19671a80d77f1 Merge: 5408dd8 1f37cbe 0d19208 afafcdd 7118f19 f3f400e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:37 2015 +0000 Merge remote-tracking branches 'regulator/topic/act8865', 'regulator/topic/anatop', 'regulator/topic/arizona', 'regulator/topic/axp20x' and 'regulator/topic/bcm590xx' into regulator-next commit 5408dd8f0969ba6c0cfc1a167ca522205e939f06 Merge: ce3c059 85f3b43 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:36 2015 +0000 Merge remote-tracking branch 'regulator/topic/list' into regulator-next commit ce3c059731043f7945dcd80b816540dbd7f928bd Merge: 6a13feb 7ebcf26 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:19:36 2015 +0000 Merge remote-tracking branch 'regulator/topic/core' into regulator-next commit c70efb85153162295dc80099e95dab93d486a3ed Merge: 4c84518 88d4a74 e6b5140 fc306de Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:16 2015 +0000 Merge remote-tracking branches 'spi/topic/s3c64xx', 'spi/topic/ti-qspi' and 'spi/topic/txx9' into spi-next commit 4c84518523f888994c618585021c76fa499d465e Merge: fc57905 76f67ea 160f8d0 3821a06 54bf450 0db6421 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:12 2015 +0000 Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next commit fc579056af0bdaf9944e2c023c06ae9251cde3c0 Merge: 8a9e776 5a60ada 85c1912 3745760 45a3e77 8cf3af3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:10 2015 +0000 Merge remote-tracking branches 'spi/topic/fsl-dspi', 'spi/topic/mpc512x', 'spi/topic/mtk', 'spi/topic/oc-tiny' and 'spi/topic/octeon' into spi-next commit 8a9e77653fc2bc8590a471b58097f258248b9369 Merge: c2da04d f9b841a d7ef54c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:09 2015 +0000 Merge remote-tracking branches 'spi/topic/coldfire' and 'spi/topic/dw' into spi-next commit c2da04dc21e6687b6cd46a74667e08ab4f651c48 Merge: 076fcb1 6774eea 44d8fb3 57b48ab 95a8fde 0037686 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:06 2015 +0000 Merge remote-tracking branches 'spi/topic/bcm53xx', 'spi/topic/bcm63xx', 'spi/topic/bfin-sport', 'spi/topic/bfin5xx' and 'spi/topic/bitbang' into spi-next commit 076fcb17dd0e3598edad4fa5a980d1596a9f8f48 Merge: 8c60348 b7a2a1c e864658 0beb0a6 ddf0e1c 07bce09 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:04 2015 +0000 Merge remote-tracking branches 'spi/topic/ath97', 'spi/topic/atmel', 'spi/topic/au1550', 'spi/topic/bcm2835' and 'spi/topic/bcm2835aux' into spi-next commit 8c603485752ae844748db94148adc2b46e621d28 Merge: f0a2a04 97d56dc Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:03 2015 +0000 Merge remote-tracking branch 'spi/topic/doc' into spi-next commit f0a2a049f5e33670448b189bfb05d73a5a37ff25 Merge: 3e7018d 8cae042 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:02 2015 +0000 Merge remote-tracking branch 'spi/topic/davinci' into spi-next commit 3e7018def475847418596c76997e0708bacda2c0 Merge: 5ba838c 243f07b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:02:02 2015 +0000 Merge remote-tracking branch 'spi/topic/core' into spi-next commit 5ba838c97ba143cd971b2cdcbe2c2acbd33e0733 Merge: 26cc44f 06515f8 1476253 468a320 bc27a53 eca37c7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:01:58 2015 +0000 Merge remote-tracking branches 'spi/fix/atmel', 'spi/fix/imx', 'spi/fix/omap2-mcspi', 'spi/fix/ti-qspi' and 'spi/fix/xilinx' into spi-linus commit 26cc44f8a366a7fbebed3b98f499c2774bfcda44 Merge: 6a13feb abeedb0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Nov 4 11:01:58 2015 +0000 Merge remote-tracking branch 'spi/fix/core' into spi-linus commit d9b96d35d2521342fdbcbc7468a0f7dcfaba4147 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Nov 3 05:58:14 2015 +0000 regulator: Use regulator_lock_supply() for get_voltage() too Since we need to read voltages of parents as part of setting supply voltages we need to be able to do get_voltage() internally without taking locks so reorganize the locking to take locks on the full tree on entry rather than as we recurse when called externally. Reported-by: John Stultz <john.stultz@xxxxxxxxxx> Tested-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cb1ca0b3bb6681310e7fe9d29d6d4c76dd71801d Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Wed Nov 4 08:57:22 2015 +0530 mailbox: mailbox-test: avoid reading iomem twice Don't pass mmio region as source to print_hex_dump() and then again to memcpy_fromio(). Do it once and give print_hex_dump() the buffer we just read the data in. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 66ef3493d4bb387f5a83915e33dc893102fd1b43 Merge: 639ab3e d1f0f6c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 21:33:18 2015 -0800 Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 platform changes from Ingo Molnar: "Misc updates to the Intel MID and SGI UV platforms" * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/intel-mid: Make intel_mid_ops static arch/x86/intel-mid: Use kmemdup rather than duplicating its implementation x86/platform/uv: Implement simple dump failover if kdump fails x86/platform/uv: Insert per_cpu accessor function on uv_hub_nmi commit 639ab3eb38c6e92e27e061551dddee6dd3bbb5d2 Merge: 4302d50 e1a5832 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 21:23:56 2015 -0800 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 mm changes from Ingo Molnar: "The main changes are: continued PAT work by Toshi Kani, plus a new boot time warning about insecure RWX kernel mappings, by Stephen Smalley. The new CONFIG_DEBUG_WX=y warning is marked default-y if CONFIG_DEBUG_RODATA=y is already eanbled, as a special exception, as these bugs are hard to notice and this check already found several live bugs" * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm: Warn on W^X mappings x86/mm: Fix no-change case in try_preserve_large_page() x86/mm: Fix __split_large_page() to handle large PAT bit x86/mm: Fix try_preserve_large_page() to handle large PAT bit x86/mm: Fix gup_huge_p?d() to handle large PAT bit x86/mm: Fix slow_virt_to_phys() to handle large PAT bit x86/mm: Fix page table dump to show PAT bit x86/asm: Add pud_pgprot() and pmd_pgprot() x86/asm: Fix pud/pmd interfaces to handle large PAT bit x86/asm: Add pud/pmd mask interfaces to handle large PAT bit x86/asm: Move PUD_PAGE macros to page_types.h x86/vdso32: Define PGTABLE_LEVELS to 32bit VDSO commit 4302d506d5f3419109abdd0d6e400ed6e8148209 Merge: ce4d72f 0e2815d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 21:05:40 2015 -0800 Merge branch 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 sigcontext header cleanups from Ingo Molnar: "This series reorganizes and cleans up various aspects of the main sigcontext UAPI headers, such as unifying the data structures and updating/adding lots of comments to explain all the ABI details and quirks. The headers can now also be built in user-space standalone" * 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/headers: Clean up too long lines x86/headers: Remove <asm/sigcontext.h> references on the kernel side x86/headers: Remove direct sigcontext32.h uses x86/headers: Convert sigcontext_ia32 uses to sigcontext_32 x86/headers: Unify 'struct sigcontext_ia32' and 'struct sigcontext_32' x86/headers: Make sigcontext pointers bit independent x86/headers: Move the 'struct sigcontext' definitions into the UAPI header x86/headers: Clean up the kernel's struct sigcontext types to be ABI-clean x86/headers: Convert uses of _fpstate_ia32 to _fpstate_32 x86/headers: Unify 'struct _fpstate_ia32' and i386 struct _fpstate x86/headers: Unify register type definitions between 32-bit compat and i386 x86/headers: Use ABI types consistently in sigcontext*.h x86/headers: Separate out legacy user-space structure definitions x86/headers: Clean up and better document uapi/asm/sigcontext.h x86/headers: Clean up uapi/asm/sigcontext32.h x86/headers: Fix (old) header file dependency bug in uapi/asm/sigcontext32.h commit ce4d72fac16a9540452957b526443b6080030bff Merge: 0f25f2c 158ecc3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 20:50:26 2015 -0800 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fpu changes from Ingo Molnar: "There are two main areas of changes: - Rework of the extended FPU state code to robustify the kernel's usage of cpuid provided xstate sizes - and related changes (Dave Hansen)" - math emulation enhancements: new modern FPU instructions support, with testcases, plus cleanups (Denys Vlasnko)" * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits) x86/fpu: Fixup uninitialized feature_name warning x86/fpu/math-emu: Add support for FISTTP instructions x86/fpu/math-emu, selftests: Add test for FISTTP instructions x86/fpu/math-emu: Add support for FCMOVcc insns x86/fpu/math-emu: Add support for F[U]COMI[P] insns x86/fpu/math-emu: Remove define layer for undocumented opcodes x86/fpu/math-emu, selftests: Add tests for FCMOV and FCOMI insns x86/fpu/math-emu: Remove !NO_UNDOC_CODE x86/fpu: Check CPU-provided sizes against struct declarations x86/fpu: Check to ensure increasing-offset xstate offsets x86/fpu: Correct and check XSAVE xstate size calculations x86/fpu: Add C structures for AVX-512 state components x86/fpu: Rework YMM definition x86/fpu/mpx: Rework MPX 'xstate' types x86/fpu: Add xfeature_enabled() helper instead of test_bit() x86/fpu: Remove 'xfeature_nr' x86/fpu: Rework XSTATE_* macros to remove magic '2' x86/fpu: Rename XFEATURES_NR_MAX x86/fpu: Rename XSAVE macros x86/fpu: Remove partial LWP support definitions ... commit 0f25f2c1b18f7e47279ec2cf1d24c11c3108873b Merge: f323c49 0d44975 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 20:12:10 2015 -0800 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 kgdb fixlet from Ingo Molnar: "A single debugging related commit: compress the memory usage of a kgdb data structure" * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kgdb: Replace bool_int_array[NR_CPUS] with bitmap commit f323c49b300baf89e2cb4050b0def1856c0b1852 Merge: 33d46f9 2167cea Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 19:39:42 2015 -0800 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cpu changes from Ingo Molnar: "Two changes in this cycle: a Kconfig help text enhancement, and an AMD CLZERO instruction capability detection and enumeration" * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu: Add CLZERO detection x86/Kconfig/cpus: Fix/complete CPU type help texts commit 33d46f9765901a08d7759c031779073263e8b4e3 Merge: 378e4e9 3435dd0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 19:34:22 2015 -0800 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cleanups from Ingo Molnar: "An early_printk cleanup plus deinlining enhancements" * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/early_printk: Set __iomem address space for IO x86/signal: Deinline get_sigframe, save 240 bytes x86: Deinline early_console_register, save 403 bytes x86/e820: Deinline e820_type_to_string, save 126 bytes commit 378e4e98258ad92097bfdf795dbef8b49cf52a34 Merge: a75a3f6 e9c40d2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 19:28:37 2015 -0800 Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 boot cleanup from Ingo Molnar: "A single commit: remove an obsolete kcrash boot flag" * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kexec: Remove obsolete 'in_crash_kexec' flag commit bf248ca1f5c7ba1e535ba4bd517a15a1ae965c69 Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Tue Nov 3 21:42:31 2015 +0000 drm/i915: Fix locking around GuC firmware load The GuC firmware load requires struct_mutex to create a GEM object, but this collides badly with request_firmware. Move struct_mutex locking down into the loader itself, so we don't hold it across the entire load process, including request_firmware. [ 20.451400] ====================================================== [ 20.451420] [ INFO: possible circular locking dependency detected ] [ 20.451441] 4.3.0-rc5+ #1 Tainted: G W [ 20.451457] ------------------------------------------------------- [ 20.451477] plymouthd/371 is trying to acquire lock: [ 20.451494] (&dev->struct_mutex){+.+.+.}, at: [<ffffffffa0093c62>] drm_gem_mmap+0x112/0x290 [drm] [ 20.451538] but task is already holding lock: [ 20.451557] (&mm->mmap_sem){++++++}, at: [<ffffffff811fd9ac>] vm_mmap_pgoff+0x8c/0xf0 [ 20.451591] which lock already depends on the new lock. [ 20.451617] the existing dependency chain (in reverse order) is: [ 20.451640] -> #3 (&mm->mmap_sem){++++++}: [ 20.451661] [<ffffffff8110644e>] lock_acquire+0xce/0x1c0 [ 20.451683] [<ffffffff8120ec9a>] __might_fault+0x7a/0xa0 [ 20.451705] [<ffffffff8127e34e>] filldir+0x9e/0x130 [ 20.451726] [<ffffffff81295b86>] dcache_readdir+0x186/0x230 [ 20.451748] [<ffffffff8127e117>] iterate_dir+0x97/0x130 [ 20.451769] [<ffffffff8127e66a>] SyS_getdents+0x9a/0x130 [ 20.451790] [<ffffffff8184f2f2>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 20.451829] -> #2 (&sb->s_type->i_mutex_key#2){+.+.+.}: [ 20.451852] [<ffffffff8110644e>] lock_acquire+0xce/0x1c0 [ 20.451872] [<ffffffff8184b516>] mutex_lock_nested+0x86/0x400 [ 20.451893] [<ffffffff81277790>] walk_component+0x1d0/0x2a0 [ 20.451914] [<ffffffff812779f0>] link_path_walk+0x190/0x5a0 [ 20.451935] [<ffffffff8127803b>] path_openat+0xab/0x1260 [ 20.451955] [<ffffffff8127a651>] do_filp_open+0x91/0x100 [ 20.451975] [<ffffffff81267e67>] file_open_name+0xf7/0x150 [ 20.451995] [<ffffffff81267ef3>] filp_open+0x33/0x60 [ 20.452014] [<ffffffff8157e1e7>] _request_firmware+0x277/0x880 [ 20.452038] [<ffffffff8157e9e4>] request_firmware_work_func+0x34/0x80 [ 20.452060] [<ffffffff810c7020>] process_one_work+0x230/0x680 [ 20.452082] [<ffffffff810c74be>] worker_thread+0x4e/0x450 [ 20.452102] [<ffffffff810ce511>] kthread+0x101/0x120 [ 20.452121] [<ffffffff8184f66f>] ret_from_fork+0x3f/0x70 [ 20.452140] -> #1 (umhelper_sem){++++.+}: [ 20.452159] [<ffffffff8110644e>] lock_acquire+0xce/0x1c0 [ 20.452178] [<ffffffff8184c5c1>] down_read+0x51/0xa0 [ 20.452197] [<ffffffff810c203b>] usermodehelper_read_trylock+0x5b/0x130 [ 20.452221] [<ffffffff8157e147>] _request_firmware+0x1d7/0x880 [ 20.452242] [<ffffffff8157e821>] request_firmware+0x31/0x50 [ 20.452262] [<ffffffffa01b54a4>] intel_guc_ucode_init+0xf4/0x400 [i915] [ 20.452305] [<ffffffffa0213913>] i915_driver_load+0xd63/0x16e0 [i915] [ 20.452343] [<ffffffffa00987d9>] drm_dev_register+0xa9/0xc0 [drm] [ 20.452369] [<ffffffffa009ae3d>] drm_get_pci_dev+0x8d/0x1e0 [drm] [ 20.452396] [<ffffffffa01521e4>] i915_pci_probe+0x34/0x50 [i915] [ 20.452421] [<ffffffff81464675>] local_pci_probe+0x45/0xa0 [ 20.452443] [<ffffffff81465a6d>] pci_device_probe+0xfd/0x140 [ 20.452464] [<ffffffff8156a2e4>] driver_probe_device+0x224/0x480 [ 20.452486] [<ffffffff8156a5c8>] __driver_attach+0x88/0x90 [ 20.452505] [<ffffffff81567cf3>] bus_for_each_dev+0x73/0xc0 [ 20.452526] [<ffffffff81569a7e>] driver_attach+0x1e/0x20 [ 20.452546] [<ffffffff815695ae>] bus_add_driver+0x1ee/0x280 [ 20.452566] [<ffffffff8156b100>] driver_register+0x60/0xe0 [ 20.453197] [<ffffffff81464050>] __pci_register_driver+0x60/0x70 [ 20.453845] [<ffffffffa009b070>] drm_pci_init+0xe0/0x110 [drm] [ 20.454497] [<ffffffffa027f092>] 0xffffffffa027f092 [ 20.455156] [<ffffffff81002123>] do_one_initcall+0xb3/0x200 [ 20.455796] [<ffffffff811d8c01>] do_init_module+0x5f/0x1e7 [ 20.456434] [<ffffffff8114c4e6>] load_module+0x2126/0x27d0 [ 20.457071] [<ffffffff8114cdf9>] SyS_finit_module+0xb9/0xf0 [ 20.457738] [<ffffffff8184f2f2>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 20.458370] -> #0 (&dev->struct_mutex){+.+.+.}: [ 20.459773] [<ffffffff8110584f>] __lock_acquire+0x191f/0x1ba0 [ 20.460451] [<ffffffff8110644e>] lock_acquire+0xce/0x1c0 [ 20.461074] [<ffffffffa0093c88>] drm_gem_mmap+0x138/0x290 [drm] [ 20.461693] [<ffffffff8121a5ec>] mmap_region+0x3ec/0x670 [ 20.462298] [<ffffffff8121abb2>] do_mmap+0x342/0x420 [ 20.462901] [<ffffffff811fd9d2>] vm_mmap_pgoff+0xb2/0xf0 [ 20.463532] [<ffffffff81218f62>] SyS_mmap_pgoff+0x1f2/0x290 [ 20.464118] [<ffffffff8102187b>] SyS_mmap+0x1b/0x30 [ 20.464702] [<ffffffff8184f2f2>] entry_SYSCALL_64_fastpath+0x12/0x76 [ 20.465289] other info that might help us debug this: [ 20.467179] Chain exists of: &dev->struct_mutex --> &sb->s_type->i_mutex_key#2 --> &mm->mmap_sem [ 20.468928] Possible unsafe locking scenario: [ 20.470161] CPU0 CPU1 [ 20.470745] ---- ---- [ 20.471325] lock(&mm->mmap_sem); [ 20.471902] lock(&sb->s_type->i_mutex_key#2); [ 20.472538] lock(&mm->mmap_sem); [ 20.473118] lock(&dev->struct_mutex); [ 20.473704] *** DEADLOCK *** Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 43ed384339ae67a74a8ba4851268b23216ef7a44 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Nov 3 22:15:14 2015 -0500 tracing: Put back comma for empty fields in boot string parsing Both early_enable_events() and apply_trace_boot_options() parse a boot string that may get parsed later on. They both use strsep() which converts a comma into a nul character. To still allow the boot string to be parsed again the same way, the nul character gets converted back to a comma after the token is processed. The problem is that these two functions check for an empty parameter (two commas in a row ",,"), and continue the loop if the parameter is empty, but fails to place the comma back. In this case, the second parsing will end at this blank field, and not process fields afterward. In most cases, users should not have an empty field, but if its going to be checked, the code might as well be correct. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a75a3f6fc92888e4119744d8594ffdf748c3d444 Merge: d2bea73 3bd2951 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 18:59:10 2015 -0800 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 main change in this cycle is another step in the big x86 system call interface rework by Andy Lutomirski, which moves most of the low level x86 entry code from assembly to C, for all syscall entries except native 64-bit system calls: arch/x86/entry/entry_32.S | 182 ++++------ arch/x86/entry/entry_64_compat.S | 547 ++++++++----------------------- 194 insertions(+), 535 deletions(-) ... our hope is that the final remaining step (converting native 64-bit system calls) will be less painful as all the previous steps, given that most of the legacies and quirks are concentrated around native 32-bit and compat environments" * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (47 commits) x86/entry/32: Fix FS and GS restore in opportunistic SYSEXIT x86/entry/32: Fix entry_INT80_32() to expect interrupts to be on um/x86: Fix build after x86 syscall changes x86/asm: Remove the xyz_cfi macros from dwarf2.h selftests/x86: Style fixes for the 'unwind_vdso' test x86/entry/64/compat: Document sysenter_fix_flags's reason for existence x86/entry: Split and inline syscall_return_slowpath() x86/entry: Split and inline prepare_exit_to_usermode() x86/entry: Use pt_regs_to_thread_info() in syscall entry tracing x86/entry: Hide two syscall entry assertions behind CONFIG_DEBUG_ENTRY x86/entry: Micro-optimize compat fast syscall arg fetch x86/entry: Force inlining of 32-bit syscall code x86/entry: Make irqs_disabled checks in exit code depend on lockdep x86/entry: Remove unnecessary IRQ twiddling in fast 32-bit syscalls x86/asm: Remove thread_info.sysenter_return x86/entry/32: Re-implement SYSENTER using the new C path x86/entry/32: Switch INT80 to the new C syscall path x86/entry/32: Open-code return tracking from fork and kthreads x86/entry/compat: Implement opportunistic SYSRETL for compat syscalls x86/vdso/compat: Wire up SYSENTER and SYSCSALL for compat userspace ... commit a4d1e68823033905de4f927e2e392e21a1c507e3 Author: Jiaxing Wang <hello.wjx@xxxxxxxxx> Date: Wed Nov 4 09:14:29 2015 +0800 tracing: Apply tracer specific options from kernel command line. Currently, the trace_options parameter is only applied in tracer_alloc_buffers() when global_trace.current_trace is nop_trace, so a tracer specific option will not be applied even when the specific tracer is also enabled from kernel command line. For example, the 'func_stack_trace' option can't be enabled with the following kernel parameter: ftrace=function ftrace_filter=kfree trace_options=func_stack_trace We can enable tracer specific options by simply apply the options again if the specific tracer is also supplied from command line and started in register_tracer(). To make trace_boot_options_buf can be parsed again, a comma and a space is put back if they were replaced by strsep and strstrip respectively. Also make register_tracer() be __init to access the __init data, and in fact register_tracer is only called from __init code. Link: http://lkml.kernel.org/r/1446599669-9294-1-git-send-email-hello.wjx@xxxxxxxxx Signed-off-by: Jiaxing Wang <hello.wjx@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit d2bea739f8b41d620c235d81e00289d01169dc3c Merge: 5352869 4faefda Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 18:33:15 2015 -0800 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 apic changes from Ingo Molnar: "The main changes in this cycle were: - Numachip updates: new hardware support, fixes and cleanups. (Daniel J Blueman) - misc smaller cleanups and fixlets" * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/io_apic: Make eoi_ioapic_pin() static x86/irq: Drop unlikely before IS_ERR_OR_NULL x86/x2apic: Make stub functions available even if !CONFIG_X86_LOCAL_APIC x86/apic: Deinline various functions x86/numachip: Fix timer build conflict x86/numachip: Introduce Numachip2 timer mechanisms x86/numachip: Add Numachip IPI optimisations x86/numachip: Add Numachip2 APIC support x86/numachip: Cleanup Numachip support commit 53528695ff6d8b77011bc818407c13e30914a946 Merge: b831ef2 e73e85f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 18:03:50 2015 -0800 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler changes from Ingo Molnar: "The main changes in this cycle were: - sched/fair load tracking fixes and cleanups (Byungchul Park) - Make load tracking frequency scale invariant (Dietmar Eggemann) - sched/deadline updates (Juri Lelli) - stop machine fixes, cleanups and enhancements for bugs triggered by CPU hotplug stress testing (Oleg Nesterov) - scheduler preemption code rework: remove PREEMPT_ACTIVE and related cleanups (Peter Zijlstra) - Rework the sched_info::run_delay code to fix races (Peter Zijlstra) - Optimize per entity utilization tracking (Peter Zijlstra) - ... misc other fixes, cleanups and smaller updates" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (57 commits) sched: Don't scan all-offline ->cpus_allowed twice if !CONFIG_CPUSETS sched: Move cpu_active() tests from stop_two_cpus() into migrate_swap_stop() sched: Start stopper early stop_machine: Kill cpu_stop_threads->setup() and cpu_stop_unpark() stop_machine: Kill smp_hotplug_thread->pre_unpark, introduce stop_machine_unpark() stop_machine: Change cpu_stop_queue_two_works() to rely on stopper->enabled stop_machine: Introduce __cpu_stop_queue_work() and cpu_stop_queue_two_works() stop_machine: Ensure that a queued callback will be called before cpu_stop_park() sched/x86: Fix typo in __switch_to() comments sched/core: Remove a parameter in the migrate_task_rq() function sched/core: Drop unlikely behind BUG_ON() sched/core: Fix task and run queue sched_info::run_delay inconsistencies sched/numa: Fix task_tick_fair() from disabling numa_balancing sched/core: Add preempt_count invariant check sched/core: More notrace annotations sched/core: Kill PREEMPT_ACTIVE sched/core, sched/x86: Kill thread_info::saved_preempt_count sched/core: Simplify preempt_count tests sched/core: Robustify preemption leak checks sched/core: Stop setting PREEMPT_ACTIVE ... commit b831ef2cad979912850e34f82415c0c5d59de8cb Merge: b02ac6b dc34bdd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 17:51:33 2015 -0800 Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RAS changes from Ingo Molnar: "The main system reliability related changes were from x86, but also some generic RAS changes: - AMD MCE error injection subsystem enhancements. (Aravind Gopalakrishnan) - Fix MCE and CPU hotplug interaction bug. (Ashok Raj) - kcrash bootup robustness fix. (Baoquan He) - kcrash cleanups. (Borislav Petkov) - x86 microcode driver rework: simplify it by unmodularizing it and other cleanups. (Borislav Petkov)" * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits) x86/mce: Add a default case to the switch in __mcheck_cpu_ancient_init() x86/mce: Add a Scalable MCA vendor flags bit MAINTAINERS: Unify the microcode driver section x86/microcode/intel: Move #ifdef DEBUG inside the function x86/microcode/amd: Remove maintainers from comments x86/microcode: Remove modularization leftovers x86/microcode: Merge the early microcode loader x86/microcode: Unmodularize the microcode driver x86/mce: Fix thermal throttling reporting after kexec kexec/crash: Say which char is the unrecognized x86/setup/crash: Check memblock_reserve() retval x86/setup/crash: Cleanup some more x86/setup/crash: Remove alignment variable x86/setup: Cleanup crashkernel reservation functions x86/amd_nb, EDAC: Rename amd_get_node_id() x86/setup: Do not reserve crashkernel high memory if low reservation failed x86/microcode/amd: Do not overwrite final patch levels x86/microcode/amd: Extract current patch level read to a function x86/ras/mce_amd_inj: Inject bank 4 errors on the NBC x86/ras/mce_amd_inj: Trigger deferred and thresholding errors interrupts ... commit b02ac6b18cd4e2c76bf0a102c20c429b973f5f76 Merge: 105ff3c bebd23a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 17:38:09 2015 -0800 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf updates from Ingo Molnar: "Kernel side changes: - Improve accuracy of perf/sched clock on x86. (Adrian Hunter) - Intel DS and BTS updates. (Alexander Shishkin) - Intel cstate PMU support. (Kan Liang) - Add group read support to perf_event_read(). (Peter Zijlstra) - Branch call hardware sampling support, implemented on x86 and PowerPC. (Stephane Eranian) - Event groups transactional interface enhancements. (Sukadev Bhattiprolu) - Enable proper x86/intel/uncore PMU support on multi-segment PCI systems. (Taku Izumi) - ... misc fixes and cleanups. The perf tooling team was very busy again with 200+ commits, the full diff doesn't fit into lkml size limits. Here's an (incomplete) list of the tooling highlights: New features: - Change the default event used in all tools (record/top): use the most precise "cycles" hw counter available, i.e. when the user doesn't specify any event, it will try using cycles:ppp, cycles:pp, etc and fall back transparently until it finds a working counter. (Arnaldo Carvalho de Melo) - Integration of perf with eBPF that, given an eBPF .c source file (or .o file built for the 'bpf' target with clang), will get it automatically built, validated and loaded into the kernel via the sys_bpf syscall, which can then be used and seen using 'perf trace' and other tools. (Wang Nan) Various user interface improvements: - Automatic pager invocation on long help output. (Namhyung Kim) - Search for more options when passing args to -h, e.g.: (Arnaldo Carvalho de Melo) $ perf report -h interface Usage: perf report [<options>] --gtk Use the GTK2 interface --stdio Use the stdio interface --tui Use the TUI interface - Show ordered command line options when -h is used or when an unknown option is specified. (Arnaldo Carvalho de Melo) - If options are passed after -h, show just its descriptions, not all options. (Arnaldo Carvalho de Melo) - Implement column based horizontal scrolling in the hists browser (top, report), making it possible to use the TUI for things like 'perf mem report' where there are many more columns than can fit in a terminal. (Arnaldo Carvalho de Melo) - Enhance the error reporting of tracepoint event parsing, e.g.: $ oldperf record -e sched:sched_switc usleep 1 event syntax error: 'sched:sched_switc' \___ unknown tracepoint Run 'perf list' for a list of valid events Now we get the much nicer: $ perf record -e sched:sched_switc ls event syntax error: 'sched:sched_switc' \___ can't access trace events Error: No permissions to read /sys/kernel/debug/tracing/events/sched/sched_switc Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug' And after we have those mount point permissions fixed: $ perf record -e sched:sched_switc ls event syntax error: 'sched:sched_switc' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing/events/sched/sched_switc not found. Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?. I.e. basically now the event parsing routing uses the strerror_open() routines introduced by and used in 'perf trace' work. (Jiri Olsa) - Fail properly when pattern matching fails to find a tracepoint, i.e. '-e non:existent' was being correctly handled, with a proper error message about that not being a valid event, but '-e non:existent*' wasn't, fix it. (Jiri Olsa) - Do event name substring search as last resort in 'perf list'. (Arnaldo Carvalho de Melo) E.g.: # perf list clock List of pre-defined events (to be used in -e): cpu-clock [Software event] task-clock [Software event] uncore_cbox_0/clockticks/ [Kernel PMU event] uncore_cbox_1/clockticks/ [Kernel PMU event] kvm:kvm_pvclock_update [Tracepoint event] kvm:kvm_update_master_clock [Tracepoint event] power:clock_disable [Tracepoint event] power:clock_enable [Tracepoint event] power:clock_set_rate [Tracepoint event] syscalls:sys_enter_clock_adjtime [Tracepoint event] syscalls:sys_enter_clock_getres [Tracepoint event] syscalls:sys_enter_clock_gettime [Tracepoint event] syscalls:sys_enter_clock_nanosleep [Tracepoint event] syscalls:sys_enter_clock_settime [Tracepoint event] syscalls:sys_exit_clock_adjtime [Tracepoint event] syscalls:sys_exit_clock_getres [Tracepoint event] syscalls:sys_exit_clock_gettime [Tracepoint event] syscalls:sys_exit_clock_nanosleep [Tracepoint event] syscalls:sys_exit_clock_settime [Tracepoint event] Intel PT hardware tracing enhancements: - Accept a zero --itrace period, meaning "as often as possible". In the case of Intel PT that is the same as a period of 1 and a unit of 'instructions' (i.e. --itrace=i1i). (Adrian Hunter) - Harmonize itrace's synthesized callchains with the existing --max-stack tool option. (Adrian Hunter) - Allow time to be displayed in nanoseconds in 'perf script'. (Adrian Hunter) - Fix potential infinite loop when handling Intel PT timestamps. (Adrian Hunter) - Slighly improve Intel PT debug logging. (Adrian Hunter) - Warn when AUX data has been lost, just like when processing PERF_RECORD_LOST. (Adrian Hunter) - Further document export-to-postgresql.py script. (Adrian Hunter) - Add option to synthesize branch stack from auxtrace data. (Adrian Hunter) Misc notable changes: - Switch the default callchain output mode to 'graph,0.5,caller', to make it look like the default for other tools, reducing the learning curve for people used to 'caller' based viewing. (Arnaldo Carvalho de Melo) - various call chain usability enhancements. (Namhyung Kim) - Introduce the 'P' event modifier, meaning 'max precision level, please', i.e.: $ perf record -e cycles:P usleep 1 Is now similar to: $ perf record usleep 1 Useful, for instance, when specifying multiple events. (Jiri Olsa) - Add 'socket' sort entry, to sort by the processor socket in 'perf top' and 'perf report'. (Kan Liang) - Introduce --socket-filter to 'perf report', for filtering by processor socket. (Kan Liang) - Add new "Zoom into Processor Socket" operation in the perf hists browser, used in 'perf top' and 'perf report'. (Kan Liang) - Allow probing on kmodules without DWARF. (Masami Hiramatsu) - Fix 'perf probe -l' for probes added to kernel module functions. (Masami Hiramatsu) - Preparatory work for the 'perf stat record' feature that will allow generating perf.data files with counting data in addition to the sampling mode we have now (Jiri Olsa) - Update libtraceevent KVM plugin. (Paolo Bonzini) - ... plus lots of other enhancements that I failed to list properly, by: Adrian Hunter, Alexander Shishkin, Andi Kleen, Andrzej Hajda, Arnaldo Carvalho de Melo, Dima Kogan, Don Zickus, Geliang Tang, He Kuang, Huaitong Han, Ingo Molnar, Jan Stancek, Jiri Olsa, Kan Liang, Kirill Tkhai, Masami Hiramatsu, Matt Fleming, Namhyung Kim, Paolo Bonzini, Peter Zijlstra, Rabin Vincent, Scott Wood, Stephane Eranian, Sukadev Bhattiprolu, Taku Izumi, Vaishali Thakkar, Wang Nan, Yang Shi and Yunlong Song" * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (260 commits) perf unwind: Pass symbol source to libunwind tools build: Fix libiberty feature detection perf tools: Compile scriptlets to BPF objects when passing '.c' to --event perf record: Add clang options for compiling BPF scripts perf bpf: Attach eBPF filter to perf event perf tools: Make sure fixdep is built before libbpf perf script: Enable printing of branch stack perf trace: Add cmd string table to decode sys_bpf first arg perf bpf: Collect perf_evsel in BPF object files perf tools: Load eBPF object into kernel perf tools: Create probe points for BPF programs perf tools: Enable passing bpf object file to --event perf ebpf: Add the libbpf glue perf tools: Make perf depend on libbpf perf symbols: Fix endless loop in dso__split_kallsyms_for_kcore perf tools: Enable pre-event inherit setting by config terms perf symbols: we can now read separate debug-info files based on a build ID perf symbols: Fix type error when reading a build-id perf tools: Search for more options when passing args to -h perf stat: Cache aggregated map entries in extra cpumap ... commit 105ff3cbf225036b75a6a46c96d1ddce8e7bdc66 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 17:22:17 2015 -0800 atomic: remove all traces of READ_ONCE_CTRL() and atomic*_read_ctrl() This seems to be a mis-reading of how alpha memory ordering works, and is not backed up by the alpha architecture manual. The helper functions don't do anything special on any other architectures, and the arguments that support them being safe on other architectures also argue that they are safe on alpha. Basically, the "control dependency" is between a previous read and a subsequent write that is dependent on the value read. Even if the subsequent write is actually done speculatively, there is no way that such a speculative write could be made visible to other cpu's until it has been committed, which requires validating the speculation. Note that most weakely ordered architectures (very much including alpha) do not guarantee any ordering relationship between two loads that depend on each other on a control dependency: read A if (val == 1) read B because the conditional may be predicted, and the "read B" may be speculatively moved up to before reading the value A. So we require the user to insert a smp_rmb() between the two accesses to be correct: read A; if (A == 1) smp_rmb() read B Alpha is further special in that it can break that ordering even if the *address* of B depends on the read of A, because the cacheline that is read later may be stale unless you have a memory barrier in between the pointer read and the read of the value behind a pointer: read ptr read offset(ptr) whereas all other weakly ordered architectures guarantee that the data dependency (as opposed to just a control dependency) will order the two accesses. As a result, alpha needs a "smp_read_barrier_depends()" in between those two reads for them to be ordered. The coontrol dependency that "READ_ONCE_CTRL()" and "atomic_read_ctrl()" had was a control dependency to a subsequent *write*, however, and nobody can finalize such a subsequent write without having actually done the read. And were you to write such a value to a "stale" cacheline (the way the unordered reads came to be), that would seem to lose the write entirely. So the things that make alpha able to re-order reads even more aggressively than other weak architectures do not seem to be relevant for a subsequent write. Alpha memory ordering may be strange, but there's no real indication that it is *that* strange. Also, the alpha architecture reference manual very explicitly talks about the definition of "Dependence Constraints" in section 5.6.1.7, where a preceding read dominates a subsequent write. Such a dependence constraint admittedly does not impose a BEFORE (alpha architecture term for globally visible ordering), but it does guarantee that there can be no "causal loop". I don't see how you could avoid such a loop if another cpu could see the stored value and then impact the value of the first read. Put another way: the read and the write could not be seen as being out of order wrt other cpus. So I do not see how these "x_ctrl()" functions can currently be necessary. I may have to eat my words at some point, but in the absense of clear proof that alpha actually needs this, or indeed even an explanation of how alpha could _possibly_ need it, I do not believe these functions are called for. And if it turns out that alpha really _does_ need a barrier for this case, that barrier still should not be "smp_read_barrier_depends()". We'd have to make up some new speciality barrier just for alpha, along with the documentation for why it really is necessary. Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Paul E McKenney <paulmck@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d63a9788650fcd999b34584316afee6bd4378f19 Merge: 2814228 6e490b0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 16:10:43 2015 -0800 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull locking changes from Ingo Molnar: "The main changes in this cycle were: - More gradual enhancements to atomic ops: new atomic*_read_ctrl() ops, synchronize atomic_{read,set}() ordering requirements between architectures, add atomic_long_t bitops. (Peter Zijlstra) - Add _{relaxed|acquire|release}() variants for inc/dec atomics and use them in various locking primitives: mutex, rtmutex, mcs, rwsem. This enables weakly ordered architectures (such as arm64) to make use of more locking related optimizations. (Davidlohr Bueso) - Implement atomic[64]_{inc,dec}_relaxed() on ARM. (Will Deacon) - Futex kernel data cache footprint micro-optimization. (Rasmus Villemoes) - pvqspinlock runtime overhead micro-optimization. (Waiman Long) - misc smaller fixlets" * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: ARM, locking/atomics: Implement _relaxed variants of atomic[64]_{inc,dec} locking/rwsem: Use acquire/release semantics locking/mcs: Use acquire/release semantics locking/rtmutex: Use acquire/release semantics locking/mutex: Use acquire/release semantics locking/asm-generic: Add _{relaxed|acquire|release}() variants for inc/dec atomics atomic: Implement atomic_read_ctrl() atomic, arch: Audit atomic_{read,set}() atomic: Add atomic_long_t bitops futex: Force hot variables into a single cache line locking/pvqspinlock: Kick the PV CPU unconditionally when _Q_SLOW_VAL locking/osq: Relax atomic semantics locking/qrwlock: Rename ->lock to ->wait_lock locking/Documentation/lockstat: Fix typo - lokcing -> locking locking/atomics, cmpxchg: Privatize the inclusion of asm/cmpxchg.h commit 3b5bab390181968e403886a45c70f9c13b5b6d29 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:22:29 2015 +0000 selftests: breakpoint: Actually build it Fixes: 9fae100cbd10 ("selftests: breakpoints: fix installing error on ...") Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit ee00479d6702393bf5eda94775349a2e28ba78fa Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:22:22 2015 +0000 selftests: vm: Try harder to allocate huge pages If we need to increase the number of huge pages, drop caches first to reduce fragmentation and then check that we actually allocated as many as we wanted. Retry once if that doesn't work. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 3b4d3819eca5787bae77314851a799ecbf0da02b Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:22:14 2015 +0000 selftests: Make scripts executable Fixes: 87b2d44026e0 ("selftests: add memfd/sealing page-pinning tests") Fixes: 2bf9e0ab08c6 ("locking/static_keys: Provide a selftest") Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit c28628b867485165fd301e061bb9a1284ede700b Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:22:07 2015 +0000 selftests: kprobe: Choose an always-defined function to probe do_fork() is no longer defined on x86, so probe _do_fork() instead. Fixes: 3033f14ab78c ("clone: support passing tls argument via C ...") Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 55f4d731c5b27f3dfe7eaeeb136cd60312f50270 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:21:57 2015 +0000 selftests: memfd: Stop unnecessary rebuilds Instead of explicitly running the compiler, add dependencies and take advantage of implicit rules to build only as necessary. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit c1ee48315d9f0be2c11c61d388a3938c2d4b010a Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Nov 2 12:21:46 2015 +0000 selftests: Add missing #include directives Several C programs fail to include the headers declaring all the functions they call, resulting in warnings or errors. After this, memfd_test.c is still missing some function declarations but can't easily get them because of a conflict between <linux/fcntl.h> and <sys/fcntl.h>. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 281422869942c19f05a08d4017c633d08d390938 Merge: f5a8160 b33e18f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 15:40:38 2015 -0800 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU changes from Ingo Molnar: "The main changes in this cycle were: - Improvements to expedited grace periods (Paul E McKenney) - Performance improvements to and locktorture tests for percpu-rwsem (Oleg Nesterov, Paul E McKenney) - Torture-test changes (Paul E McKenney, Davidlohr Bueso) - Documentation updates (Paul E McKenney) - Miscellaneous fixes (Paul E McKenney, Boqun Feng, Oleg Nesterov, Patrick Marlier)" * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits) fs/writeback, rcu: Don't use list_entry_rcu() for pointer offsetting in bdi_split_work_to_wbs() rcu: Better hotplug handling for synchronize_sched_expedited() rcu: Enable stall warnings for synchronize_rcu_expedited() rcu: Add tasks to expedited stall-warning messages rcu: Add online/offline info to expedited stall warning message rcu: Consolidate expedited CPU selection rcu: Prepare for consolidating expedited CPU selection cpu: Remove try_get_online_cpus() rcu: Stop excluding CPU hotplug in synchronize_sched_expedited() rcu: Stop silencing lockdep false positive for expedited grace periods rcu: Switch synchronize_sched_expedited() to IPI locktorture: Fix module unwind when bad torture_type specified torture: Forgive non-plural arguments rcutorture: Fix unused-function warning for torturing_tasks() rcutorture: Fix module unwind when bad torture_type specified rcu_sync: Cleanup the CONFIG_PROVE_RCU checks locking/percpu-rwsem: Clean up the lockdep annotations in percpu_down_read() locking/percpu-rwsem: Fix the comments outdated by rcu_sync locking/percpu-rwsem: Make use of the rcu_sync infrastructure locking/percpu-rwsem: Make percpu_free_rwsem() after kzalloc() safe ... commit f5a8160c1e055c0fd8d16a5b3ac97c638365b0db Merge: 7eeef2a 78b9bc9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 15:05:52 2015 -0800 Merge branch 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull EFI changes from Ingo Molnar: "The main changes in this cycle were: - further EFI code generalization to make it more workable for ARM64 - various extensions, such as 64-bit framebuffer address support, UEFI v2.5 EFI_PROPERTIES_TABLE support - code modularization simplifications and cleanups - new debugging parameters - various fixes and smaller additions" * 'core-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits) efi: Fix warning of int-to-pointer-cast on x86 32-bit builds efi: Use correct type for struct efi_memory_map::phys_map x86/efi: Fix kernel panic when CONFIG_DEBUG_VIRTUAL is enabled efi: Add "efi_fake_mem" boot option x86/efi: Rename print_efi_memmap() to efi_print_memmap() efi: Auto-load the efi-pstore module efi: Introduce EFI_NX_PE_DATA bit and set it from properties table efi: Add support for UEFIv2.5 Properties table efi: Add EFI_MEMORY_MORE_RELIABLE support to efi_md_typeattr_format() efifb: Add support for 64-bit frame buffer addresses efi/arm64: Clean up efi_get_fdt_params() interface arm64: Use core efi=debug instead of uefi_debug command line parameter efi/x86: Move efi=debug option parsing to core drivers/firmware: Make efi/esrt.c driver explicitly non-modular efi: Use the generic efi.memmap instead of 'memmap' acpi/apei: Use appropriate pgprot_t to map GHES memory arm64, acpi/apei: Implement arch_apei_get_mem_attributes() arm64/mm: Add PROT_DEVICE_nGnRnE and PROT_NORMAL_WT acpi, x86: Implement arch_apei_get_mem_attributes() efi, x86: Rearrange efi_mem_attributes() ... commit 7eeef2abe87dc0d8c276f97ccfdb1f42d9d1e4d8 Merge: 6aa2fdb b2f7392 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 15:04:04 2015 -0800 Merge branch 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull wchan kernel address hiding from Ingo Molnar: "This fixes a wchan related information leak in /proc/PID/stat. There's a bit of an ABI twist to it: instead of setting the wchan field to 0 (which is our usual technique) we set it conditionally to a 0/1 flag to keep ABI compatibility with older procps versions that only fetches /proc/PID/wchan (symbolic names) if the absolute wchan address is nonzero" * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: fs/proc, core/debug: Don't expose absolute kernel addresses via wchan commit 5f436e5ef170e5d3301bf5777a3c7c048295db1c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Nov 4 01:37:31 2015 +0300 nvme: lightnvm: clean up a data type "nlb_pr_rq" can't be more than u32 because "len" is a u32. Later we truncate it to u32 anyway when we calculate min_t(). Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit a748941c95d2cd8f1a23e4e716b3178179c7fdbe Author: Michael Welling <mwelling@xxxxxxxx> Date: Mon Nov 2 22:54:23 2015 -0800 Input: tsc2004 - add support for tsc2004 This adds support for the i2c based tsc2004 touchscreen controller. Signed-off-by: Michael Welling <mwelling@xxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ef3b98c2c3fc6a73ec1e98a463c38329e66c6b95 Author: Michael Welling <mwelling@xxxxxxxx> Date: Mon Nov 2 17:51:49 2015 -0800 Input: tsc200x-core - rename functions and variables The functions, variables, and defines of the new tsc200x-core.c are renamed to tsc200x instead of tsc2005 avoid possible confusion. Signed-off-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6ac2438132ae1f8b12285f9d97a4c8d6aa6f89f0 Author: Michael Welling <mwelling@xxxxxxxx> Date: Mon Nov 2 17:45:51 2015 -0800 Input: tsc2005 - separate SPI and core functions This patch separates the SPI functionality from core functionality that overlaps with the tsc2004. Prepares kernel for new tsc2004 driver without much redundant code. Signed-off-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 84a73014d86fd660822a20c032625e3afe99ca58 Merge: 1955621 bf5f18d Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Nov 3 14:45:16 2015 -0800 Merge branch 'next' into for-linus Prepare first round of input updates for 4.3 merge window. commit 6aa2fdb87cf01d7746955c600cbac352dc04d451 Merge: 7b2a430 d9e4ad5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 14:40:01 2015 -0800 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq updates from Thomas Gleixner: "The irq departement delivers: - Rework the irqdomain core infrastructure to accomodate ACPI based systems. This is required to support ARM64 without creating artificial device tree nodes. - Sanitize the ACPI based ARM GIC initialization by making use of the new firmware independent irqdomain core - Further improvements to the generic MSI management - Generalize the irq migration on CPU hotplug - Improvements to the threaded interrupt infrastructure - Allow the migration of "chained" low level interrupt handlers - Allow optional force masking of interrupts in disable_irq[_nosysnc] - Support for two new interrupt chips - Sigh! - A larger set of errata fixes for ARM gicv3 - The usual pile of fixes, updates, improvements and cleanups all over the place" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits) Document that IRQ_NONE should be returned when IRQ not actually handled PCI/MSI: Allow the MSI domain to be device-specific PCI: Add per-device MSI domain hook of/irq: Use the msi-map property to provide device-specific MSI domain of/irq: Split of_msi_map_rid to reuse msi-map lookup irqchip/gic-v3-its: Parse new version of msi-parent property PCI/MSI: Use of_msi_get_domain instead of open-coded "msi-parent" parsing of/irq: Use of_msi_get_domain instead of open-coded "msi-parent" parsing of/irq: Add support code for multi-parent version of "msi-parent" irqchip/gic-v3-its: Add handling of PCI requester id. PCI/MSI: Add helper function pci_msi_domain_get_msi_rid(). of/irq: Add new function of_msi_map_rid() Docs: dt: Add PCI MSI map bindings irqchip/gic-v2m: Add support for multiple MSI frames irqchip/gic-v3: Fix translation of LPIs after conversion to irq_fwspec irqchip/mxs: Add Alphascale ASM9260 support irqchip/mxs: Prepare driver for hardware with different offsets irqchip/mxs: Panic if ioremap or domain creation fails irqdomain: Documentation updates irqdomain/msi: Use fwnode instead of of_node ... commit 159b5bb46492e4dcef2070b12861030bc360402b Merge: 56e7433 469eabb Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Nov 3 17:29:03 2015 -0500 Merge branch 'for-4.3-fixes' into for-4.4 commit 56e74338a535cbcc2f2da08b1ea1a92920194364 Author: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Date: Tue Nov 3 14:14:18 2015 -0800 ahci: add new Intel device IDs Adding Intel codename Lewisburg platform device IDs for SATA. Signed-off-by: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 7b2a4306f9e7d64bb408a6df3bb419500578068a Merge: 316dde2 03f136a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 14:13:41 2015 -0800 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer updates from Thomas Gleixner: "The timer departement provides: - More y2038 work in the area of ntp and pps. - Optimization of posix cpu timers - New time related selftests - Some new clocksource drivers - The usual pile of fixes, cleanups and improvements" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits) timeconst: Update path in comment timers/x86/hpet: Type adjustments clocksource/drivers/armada-370-xp: Implement ARM delay timer clocksource/drivers/tango_xtal: Add new timer for Tango SoCs clocksource/drivers/imx: Allow timer irq affinity change clocksource/drivers/exynos_mct: Use container_of() instead of this_cpu_ptr() clocksource/drivers/h8300_*: Remove unneeded memset()s clocksource/drivers/sh_cmt: Remove unneeded memset() in sh_cmt_setup() clocksource/drivers/em_sti: Remove unneeded memset()s clocksource/drivers/mediatek: Use GPT as sched clock source clockevents/drivers/mtk: Fix spurious interrupt leading to crash posix_cpu_timer: Reduce unnecessary sighand lock contention posix_cpu_timer: Convert cputimer->running to bool posix_cpu_timer: Check thread timers only when there are active thread timers posix_cpu_timer: Optimize fastpath_timer_check() timers, kselftest: Add 'adjtick' test to validate adjtimex() tick adjustments timers: Use __fls in apply_slack() clocksource: Remove return statement from void functions net: sfc: avoid using timespec ntp/pps: use y2038 safe types in pps_event_time ... commit 316dde2fe95b33657de1fc2db54bfc16aa065790 Merge: 2c2b828 116ef0f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 13:54:35 2015 -0800 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM updates from Russell King: "In this ARM merge, we remove more lines than we add. Changes include: - Enable imprecise aborts early, so that bus errors aren't masked until later in the boot. This has the side effect that boot loaders which provoke these aborts can cause the kernel to crash early in boot, so we install a handler to report this event around the site where these are enabled. - Remove the buggy but impossible to enable cmpxchg syscall code. - Add unwinding annotations to some assembly code. - Add support for atomic half-word exchange for ARMv6k+. - Reduce ioremap() alignment for SMP/LPAE cases where we don't need the large alignment. - Addition of an "optimal" 3G configuration for systems with 1G of RAM. - Increase vmalloc space by 128M. - Constify some SMP operations structures, which have never been writable. - Improve ARMs dma_mmap() support for mapping DMA coherent mappings into userspace. - Fix to the NMI backtrace code in the IPI case on ARM where the failing CPU gets stuck for 10s waiting for its own IPI to be delivered. - Removal of legacy PM support from the AMBA bus driver. - Another fix for the previous fix of vdsomunge" * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (23 commits) ARM: 8449/1: fix bug in vdsomunge swab32 macro arm: add missing of_node_put ARM: 8447/1: catch pending imprecise abort on unmask ARM: 8446/1: amba: Remove unused callbacks for legacy system PM ARM: 8443/1: Adding support for atomic half word exchange ARM: clean up TWD after previous patch ARM: 8441/2: twd: Don't set CLOCK_EVT_FEAT_C3STOP unconditionally ARM: 8440/1: remove obsolete documentation ARM: make highpte an expert option ARM: 8433/1: add a VMSPLIT_3G_OPT config option ARM: 8439/1: Fix backtrace generation when IPI is masked ARM: 8428/1: kgdb: Fix registers on sleeping tasks ARM: 8427/1: dma-mapping: add support for offset parameter in dma_mmap() ARM: 8426/1: dma-mapping: add missing range check in dma_mmap() ARM: remove user cmpxchg syscall ARM: 8438/1: Add unwinding to __clear_user_std() ARM: 8436/1: hw_breakpoint: remove unnecessary header ARM: 8434/2: Revert "7655/1: smp_twd: make twd_local_timer_of_register() no-op for nosmp" ARM: 8432/1: move VMALLOC_END from 0xff000000 to 0xff800000 ARM: 8430/1: use default ioremap alignment for SMP or LPAE ... commit 627645fdb657dfae5fcf26bbf6a6e1b63751dbc8 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Nov 3 16:37:15 2015 -0500 tracing: Add some documentation about set_event_pid Update Documentation to include some comments about how to use set_event_pid. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2c2b8285dcd4d0674b6e77269cf32721fffea59e Merge: 0921f1e 5a364c2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 13:21:09 2015 -0800 Merge tag 'arc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC updates from Vineet Gupta: - Support for new MM features in ARCv2 cores (THP, PAE40) Some generic THP bits are touched - all ACKed by Kirill - Platform framework updates to prepare for EZChip arrival (still in works) - ARC Public Mailing list setup finally (linux-snps-arc@xxxxxxxxxxxxxxxxxx) * tag 'arc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (42 commits) ARC: mm: PAE40 support ARC: mm: PAE40: tlbex.S: Explicitify the size of pte_t ARC: mm: PAE40: switch to using phys_addr_t for physical addresses ARC: mm: HIGHMEM: populate high memory from DT ARC: mm: HIGHMEM: kmap API implementation ARC: mm: preps ahead of HIGHMEM support #2 ARC: mm: preps ahead of HIGHMEM support ARC: mm: use generic macros _BITUL()/_AC() ARC: mm: Improve Duplicate PD Fault handler MAINTAINERS: Add public mailing list for ARC ARC: Ensure DT mem base is same as what kernel is built with ARC: boot: Non Master cpus only need to call EARLY_CPU_SETUP once ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_smp() ARC: smp: Introduce smp hook @init_irq_cpu called for all cores ARC: smp: Rename platform hook @init_smp -> @init_cpu_smp ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_early_smp() ARC: smp: Introduce smp hook @init_early_smp for Master core ARC: remove @init_time, @init_irq platform callbacks ARC: smp: irqchip: handle IPI as percpu irq like timer ARC: boot: Support Halt-on-reset and Run-on-reset SMP booting modes ... commit 54ed1444052467044e9e01334ac8123dd6345211 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Nov 3 16:19:02 2015 -0500 ring_buffer: Remove unneeded smp_wmb() before wakeup of reader benchmark wake_up_process() has a memory barrier before doing anything, thus adding a memory barrier before calling it is redundant. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0921f1efb605d8fda43d794734222d1ad39c6840 Merge: 15f9340 4247896 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 13:15:46 2015 -0800 Merge tag 'cris-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris Pull CRIS changes from Jesper Nilsson: "Mostly another batch of code removal due to move to standard frameworks for CRISv32, initial devicetree configuration for a couple of boards, and some small fixes for kgdb and time handling" * tag 'cris-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris: cris: Drop reference to get_cmos_time() CRIS: Drop code related to obsolete or unused kconfigs cris: time: Cleanup of persistent clock stuff cris: re-use helpers to dump data in hex format CRIS v32: remove old GPIO and LEDs code CRIS v32: remove I2C bitbanging driver CRIS v32: add ARTPEC-3 and P1343 device trees CRIS v32: dev88: add GPIO, LEDs, RTC, temp sensor CRIS: add dt-bindings symlink CRIS v32: increase NR_IRQS cris: arch-v10: kgdb: Add '__used' for static variable is_dyn_brkp cris: arch-v10: kgdb: Use BAR instead of DTP0 for register P12 cris: kgdb: use native hex2bin commit 919cd9799936843d0af4f0904a3e39e70294c4d8 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Fri Sep 4 12:45:56 2015 -0400 tracing: Allow dumping traces without tracking trace started cpus We don't init iter->started when dumping the ftrace buffer, and there's no real need to do so - so allow skipping that check if the iter doesn't have an initialized ->started cpumask. Link: http://lkml.kernel.org/r/1441385156-27279-1-git-send-email-sasha.levin@xxxxxxxxxx Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 15f93405aae307a3cb2c33c795286463601963f7 Merge: df91fba 6ebbabb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 13:09:32 2015 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 Pull avr32 update from Hans-Christian Noren Egtvedt. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32: avr32: atngw100: remove useless include commit f47cb66df2f89dd1f796742c64f9ead77e548a6a Author: Petr Mladek <pmladek@xxxxxxxx> Date: Mon Sep 7 14:38:38 2015 +0200 ring_buffer: Fix more races when terminating the producer in the benchmark The commit b44754d8262d3aab8 ("ring_buffer: Allow to exit the ring buffer benchmark immediately") added a hack into ring_buffer_producer() that set @kill_test when kthread_should_stop() returned true. It improved the situation a lot. It stopped the kthread in most cases because the producer spent most of the time in the patched while cycle. But there are still few possible races when kthread_should_stop() is set outside of the cycle. Then we do not set @kill_test and some other checks pass. This patch adds a better fix. It renames @test_kill/TEST_KILL() into a better descriptive @test_error/TEST_ERROR(). Also it introduces break_test() function that checks for both @test_error and kthread_should_stop(). The new function is used in the producer when the check for @test_error is not enough. It is not used in the consumer because its state is manipulated by the producer via the "reader_finish" variable. Also we add a missing check into ring_buffer_producer_thread() between setting TASK_INTERRUPTIBLE and calling schedule_timeout(). Otherwise, we might miss a wakeup from kthread_stop(). Link: http://lkml.kernel.org/r/1441629518-32712-3-git-send-email-pmladek@xxxxxxxx Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8b46ff6938d2c78a16520a37086944ecbaa8ab8b Author: Petr Mladek <pmladek@xxxxxxxx> Date: Mon Sep 7 14:38:37 2015 +0200 ring_buffer: Do no not complete benchmark reader too early It seems that complete(&read_done) might be called too early in some situations. 1st scenario: ------------- CPU0 CPU1 ring_buffer_producer_thread() wake_up_process(consumer); wait_for_completion(&read_start); ring_buffer_consumer_thread() complete(&read_start); ring_buffer_producer() # producing data in # the do-while cycle ring_buffer_consumer(); # reading data # got error # set kill_test = 1; set_current_state( TASK_INTERRUPTIBLE); if (reader_finish) # false schedule(); # producer still in the middle of # do-while cycle if (consumer && !(cnt % wakeup_interval)) wake_up_process(consumer); # spurious wakeup while (!reader_finish && !kill_test) # leaving because # kill_test == 1 reader_finish = 0; complete(&read_done); 1st BANG: We might access uninitialized "read_done" if this is the the first round. # producer finally leaving # the do-while cycle because kill_test == 1; if (consumer) { reader_finish = 1; wake_up_process(consumer); wait_for_completion(&read_done); 2nd BANG: This will never complete because consumer already did the completion. 2nd scenario: ------------- CPU0 CPU1 ring_buffer_producer_thread() wake_up_process(consumer); wait_for_completion(&read_start); ring_buffer_consumer_thread() complete(&read_start); ring_buffer_producer() # CPU3 removes the module <--- difference from # and stops producer <--- the 1st scenario if (kthread_should_stop()) kill_test = 1; ring_buffer_consumer(); while (!reader_finish && !kill_test) # kill_test == 1 => we never go # into the top level while() reader_finish = 0; complete(&read_done); # producer still in the middle of # do-while cycle if (consumer && !(cnt % wakeup_interval)) wake_up_process(consumer); # spurious wakeup while (!reader_finish && !kill_test) # leaving because kill_test == 1 reader_finish = 0; complete(&read_done); BANG: We are in the same "bang" situations as in the 1st scenario. Root of the problem: -------------------- ring_buffer_consumer() must complete "read_done" only when "reader_finish" variable is set. It must not be skipped due to other conditions. Note that we still must keep the check for "reader_finish" in a loop because there might be spurious wakeups as described in the above scenarios. Solution: ---------- The top level cycle in ring_buffer_consumer() will finish only when "reader_finish" is set. The data will be read in "while-do" cycle so that they are not read after an error (kill_test == 1) or a spurious wake up. In addition, "reader_finish" is manipulated by the producer thread. Therefore we add READ_ONCE() to make sure that the fresh value is read in each cycle. Also we add the corresponding barrier to synchronize the sleep check. Next we set the state back to TASK_RUNNING for the situation where we did not sleep. Just from paranoid reasons, we initialize both completions statically. This is safer, in case there are other races that we are unaware of. As a side effect we could remove the memory barrier from ring_buffer_producer_thread(). IMHO, this was the reason for the barrier. ring_buffer_reset() uses spin locks that should provide the needed memory barrier for using the buffer. Link: http://lkml.kernel.org/r/1441629518-32712-2-git-send-email-pmladek@xxxxxxxx Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit df91fba5e7ed414b1856b33bbed6d55439a14c47 Merge: e8a2a17 bab84fa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 13:01:48 2015 -0800 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k Pull m68k update from Geert Uytterhoeven. * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k/sun3: Use %pM format specifier to print ethernet address commit 941c3ff3102ccce440034d59cf9e4e9cc10b720d Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Sat Sep 12 09:37:18 2015 +0800 Sunrpc: Supports hexadecimal number for sysctl files of sunrpc debug The sunrpc debug sysctl files only accept decimal number right now. But all the XXXDBUG_XXX macros are defined as hexadecimal. It is not easy to set or check an separate flag. This patch let those files support accepting hexadecimal number, (decimal number is also supported). Also, display it as hexadecimal. v2, Remove duplicate parsing of '0x...', just using simple_strtol(tmpbuf, &s, 0) Fix a bug of isspace() checking after parsing Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e8a2a176dd0f3e4c7252b79dc5cea6bd4acaf78e Merge: 5062ecd ffdc307 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 12:20:29 2015 -0800 Merge tag 'leds_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds Pull LED updates from Jacek Anaszewski: - Move the out-of-LED-tree led-sead3 driver to the LED subsystem. - Add 'invert' sysfs attribute to the heartbeat trigger. - Add Device Tree support to the leds-netxbig driver and add related DT nodes to the kirkwood-netxbig.dtsi and kirkwood-net5big.dts files. Remove static LED setup from the related board files. - Remove redundant brightness conversion operation from leds-netxbig. - Improve leds-bcm6328 driver: improve default-state handling, add more init configuration options, print invalid LED instead of warning only about maximum LED value. - Add a shutdown function for setting gpio-leds into off state when shutting down. - Fix DT flash timeout property naming in leds-aat1290.txt. - Switch to using devm prefixed version of led_classdev_register() (leds-cobalt-qube, leds-hp6xx, leds-ot200, leds-ipaq-micro, leds-netxbig, leds-locomo, leds-menf21bmc, leds-net48xx, leds-wrap). - Add missing of_node_put (leds-powernv, leds-bcm6358, leds-bcm6328, leds-88pm860x). - Coding style fixes and cleanups: led-class/led-core, leds-ipaq-micro. * tag 'leds_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (27 commits) leds: 88pm860x: add missing of_node_put leds: bcm6328: add missing of_node_put leds: bcm6358: add missing of_node_put powerpc/powernv: add missing of_node_put leds: leds-wrap.c: Use devm_led_classdev_register leds: aat1290: Fix property naming of flash-timeout-us leds: leds-net48xx: Use devm_led_classdev_register leds: leds-menf21bmc.c: Use devm_led_class_register leds: leds-locomo.c: Use devm_led_classdev_register leds: leds-gpio: add shutdown function Documentation: leds: update DT bindings for leds-bcm6328 leds-bcm6328: add more init configuration options leds-bcm6328: simplify and improve default-state handling leds-bcm6328: print invalid LED leds: netxbig: set led_classdev max_brightness leds: netxbig: convert to use the devm_ functions ARM: mvebu: remove static LED setup for netxbig boards ARM: Kirkwood: add LED DT entries for netxbig boards leds: netxbig: add device tree binding leds: triggers: add invert to heartbeat ... commit fb8c2293e1a3c4a35a571b82cc2efae0c9e59b2b Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Nov 3 21:49:20 2015 +0300 tracing: Remove redundant TP_ARGS redefining TP_ARGS is not used anywhere in trace.h nor trace_entries.h Firstly, I left just #undef TP_ARGS and had no errors - remove it. Link: http://lkml.kernel.org/r/1446576560-14085-1-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f32bfb9a8ca083f8d148ea90ae5ba66f4831836e Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 22:36:04 2015 +0300 sh_eth: use DMA barriers Commit 7d7355f58ba4 ("sh_eth: Ensure proper ordering of descriptor active bit write/read") did the right thing but used too "heavy" barriers while there were already "lighter" DMA barriers exactly for this case... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73fcf4e20ebd19468b3ad033be93582258435462 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Nov 3 22:50:49 2015 +0300 NVMe: Precedence error in nvme_pr_clear() The original code is equivalent to: u32 cdw10 = (1 | key) ? 1 << 3 : 0; But we want: u32 cdw10 = 1 | (key ? 1 << 3 : 0); Fixes: 1d277a637a71: ('NVMe: Add persistent reservation ops') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0990822c98661bd625033f0d523b5c33566657ef Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:20:57 2015 +0000 VFIO: platform: reset: AMD xgbe reset module This patch introduces a module that registers and implements a low-level reset function for the AMD XGBE device. it performs the following actions: - reset the PHY - disable auto-negotiation - disable & clear auto-negotiation IRQ - soft-reset the MAC Those tiny pieces of code are inherited from the native xgbe driver. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit daac3bbedb8aba714a082d00e2292d462fa24397 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:19 2015 +0000 vfio: platform: reset: calxedaxgmac: fix ioaddr leak In the current code the vfio_platform_region is copied on the stack. As a consequence the ioaddr address is not iounmapped in the vfio platform driver (vfio_platform_regions_cleanup). The patch uses the pointer to the region instead. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 705e60bae3e09bedba0b2ec936bce3f799f46426 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:18 2015 +0000 vfio: platform: add dev_info on device reset It might be helpful for the end-user to check the device reset function was found by the vfio platform reset framework. Lets store a pointer to the struct device in vfio_platform_device and trace when the reset function is called or not found. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit e9e0506ee60dd79714c59457f4301c602786defc Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:17 2015 +0000 vfio: platform: use list of registered reset function Remove the static lookup table and use the dynamic list of registered reset functions instead. Also load the reset module through its alias. The reset struct module pointer is stored in vfio_platform_device. We also remove the useless struct device pointer parameter in vfio_platform_get_reset. This patch fixes the issue related to the usage of __symbol_get, which besides from being moot, prevented compilation with CONFIG_MODULES disabled. Also usage of MODULE_ALIAS makes possible to add a new reset module without needing to update the framework. This was suggested by Arnd. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 0628c4dfd3a781c09aed983cc79b3c43c5c568bd Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:16 2015 +0000 vfio: platform: add compat in vfio_platform_device Let's retrieve the compatibility string on probe and store it in the vfio_platform_device struct Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 680742f644be61657f82d43a2c2fff0489d4a579 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:15 2015 +0000 vfio: platform: reset: calxedaxgmac: add reset function registration This patch adds the reset function registration/unregistration. This is handled through the module_vfio_reset_handler macro. This latter also defines a MODULE_ALIAS which simplifies the load from vfio-platform. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 588646529f2d09b723584d44ef0a8ab6ff2a690d Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:14 2015 +0000 vfio: platform: introduce module_vfio_reset_handler macro The module_vfio_reset_handler macro - define a module alias - implement module init/exit function which respectively registers and unregisters the reset function. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit e086497d313cbcffcdb5405a5a268961b53519b1 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:13 2015 +0000 vfio: platform: add capability to register a reset function In preparation for subsequent changes in reset function lookup, lets introduce a dynamic list of reset combos (compat string, reset module, reset function). The list can be populated/voided with vfio_platform_register/unregister_reset. Those are not yet used in this patch. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 32a2d71c4e808b5aa6c414d4422b5e6c594c8805 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Tue Nov 3 18:12:12 2015 +0000 vfio: platform: introduce vfio-platform-base module To prepare for vfio platform reset rework let's build vfio_platform_common.c and vfio_platform_irq.c in a separate module from vfio-platform and vfio-amba. This makes possible to have separate module inits and works around a race between platform driver init and vfio reset module init: that way we make sure symbols exported by base are available when vfio-platform driver gets probed. The open/release being implemented in the base module, the ref count is applied to the parent module instead. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 1b4bb2eaa9b2583521611b4aa978f9f499c92cd4 Author: James Morse <james.morse@xxxxxxx> Date: Thu Oct 29 16:50:43 2015 +0000 vfio/platform: store mapped memory in region, instead of an on-stack copy vfio_platform_{read,write}_mmio() call ioremap_nocache() to map a region of io memory, which they store in struct vfio_platform_region to be eventually re-used, or unmapped by vfio_platform_regions_cleanup(). These functions receive a copy of their struct vfio_platform_region argument on the stack - so these mapped areas are always allocated, and always leaked. Pass this argument as a pointer instead. Fixes: 6e3f26456009 "vfio/platform: read and write support for the device fd" Signed-off-by: James Morse <james.morse@xxxxxxx> Acked-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Tested-by: Baptiste Reynal <b.reynal@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 4644321fd3c119a819ab24fd2bc2d1f9bca4a695 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Thu Oct 29 17:49:42 2015 +0000 vfio/type1: handle case where IOMMU does not support PAGE_SIZE size Current vfio_pgsize_bitmap code hides the supported IOMMU page sizes smaller than PAGE_SIZE. As a result, in case the IOMMU does not support PAGE_SIZE page, the alignment check on map/unmap is done with larger page sizes, if any. This can fail although mapping could be done with pages smaller than PAGE_SIZE. This patch modifies vfio_pgsize_bitmap implementation so that, in case the IOMMU supports page sizes smaller than PAGE_SIZE we pretend PAGE_SIZE is supported and hide sub-PAGE_SIZE sizes. That way the user will be able to map/unmap buffers whose size/ start address is aligned with PAGE_SIZE. Pinning code uses that granularity while iommu driver can use the sub-PAGE_SIZE size to map the buffer. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit d332736df0c277905de06311ae084e2c76580a3f Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Nov 3 14:50:15 2015 -0500 tracing: Rename max_stack_lock to stack_trace_max_lock Now that max_stack_lock is a global variable, it requires a naming convention that is unlikely to collide. Rename it to the same naming convention that the other stack_trace variables have. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 760d280084f8805e5de73e3591912d5db9da9dbe Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 09:00:16 2015 +0100 watchdog: include: add units for timeout values in kerneldoc Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 80220fa72b917c64675f3ba4008d2c5a7b50b281 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 09:00:15 2015 +0100 watchdog: include: fix some typos Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit bb99d8ccec7f83a2730a29d1ae7eee5ffa446a9e Author: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Date: Fri Oct 30 14:25:39 2015 +0900 tracing: Allow arch-specific stack tracer A stack frame may be used in a different way depending on cpu architecture. Thus it is not always appropriate to slurp the stack contents, as current check_stack() does, in order to calcurate a stack index (height) at a given function call. At least not on arm64. In addition, there is a possibility that we will mistakenly detect a stale stack frame which has not been overwritten. This patch makes check_stack() a weak function so as to later implement arch-specific version. Link: http://lkml.kernel.org/r/1446182741-31019-5-git-send-email-takahiro.akashi@xxxxxxxxxx Signed-off-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 73186df8d7fa574345f0ad626ebe89649f8308a5 Merge: 0c63d80 ebac62f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Nov 3 13:41:45 2015 -0500 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Minor overlapping changes in net/ipv4/ipmr.c, in 'net' we were fixing the "BH-ness" of the counter bumps whilst in 'net-next' the functions were modified to take an explicit 'net' parameter. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c63d80c3fac4e6eb0f01dff756e47bc7cd50092 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Tue Nov 3 17:40:53 2015 +0100 switchdev: respect SKIP_EOPNOTSUPP flag in case there is no recursion Caller passing down the SKIP_EOPNOTSUPP switchdev flag expects that -EOPNOTSUPP cannot be returned. But in case of direct op call without recurtion, this may happen. So fix this by checking it always on the end of __switchdev_port_attr_set function. Fixes: 464314ea6c11 ("switchdev: skip over ports returning -EOPNOTSUPP when recursing ports") Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a4f4176217d3a29176dff83f2647c48ebaa30a4 Author: Phil Sutter <phil@xxxxxx> Date: Tue Nov 3 19:01:41 2015 +0100 net: sched: kill dead code in sch_choke.c It looks like this has never been used at all. Signed-off-by: Phil Sutter <phil@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37b8e1ca0fd7adce1c75b5d95e5515bd2dc234dd Author: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 18:18:37 2015 +0100 irda: Delete an unnecessary check before the function call "irlmp_unregister_service" The irlmp_unregister_service() 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: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e38a5b1daa12cbaace3c76402999a84460df3e2 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Fri Oct 23 19:25:27 2015 +0800 thermal: rockchip: support the sleep pinctrl state to avoid glitches in s2r When we come out of system suspend state (S3) the tsadc will have been reset and back at its default state. While reprogramming the tsadc it's possible that we'll glitch the output and unintentionally cause the "over temperature" GPIO to be asserted. Since the over temperature GPIO is often hooked up to something that will cause a reboot or shutdown in hardware, this glitch can be catastrophic on some boards. We'll add support for selecting the "sleep" pinctrl state at suspend time. Boards can use this to effectively disable the tsadc at suspend time and avoid glitches when the system is resumed. Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 9aba783a2afd14642f7a28ce23b10af1935a2fcd Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Fri Oct 23 19:25:26 2015 +0800 dt-bindings: rockchip-thermal: Add the pinctrl states in this document The "init" pinctrl is defined we'll set pinctrl to this state before probe and then "default" after probe. Add the "init" and "sleep" pinctrl as the OTP gpio state, since we need switch the pin to gpio state before the TSADC controller is reset. AFAIK, the TSADC controller is reset, the tshut polarity will be a *low* signal in a short period of time for some devices. Says: The TSADC get the temperature on rockchip thermal. If T(current temperature) < (setting temperature), the OTP output the *high* signal. If T(current temperature) > (setting temperature), the OTP output the *low* Signal. In some cases, the OTP pin is connected to the PMIC, maybe the PMIC can accept the reset response time to avoid this issue. In other words, the system will be always reboot if we make the OTP pin is connected the others IC to control the power. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 1ca843a2d28dec89e58e7227c27a9d55f21f59e1 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 18:25:33 2015 +0100 nfs: Fix GETATTR bitmap verification When decoding GETATTR replies, the client checks the attribute bitmap for which attributes the server has sent. It misses bits at the word boundaries, though; fix that. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8fbcf237439f841e7e9c4675790e08ea1c295bd3 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 18:25:34 2015 +0100 nfs: Remove unused xdr page offsets in getacl/setacl arguments The arguments passed around for getacl and setacl xdr encoding, struct nfs_setaclargs and struct nfs_getaclargs, both contain an array of pages, an offset into the first page, and the length of the page data. The offset is unused as it is always zero; remove it. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 118c9163562426face9ff0903f1cbd3e1a959ca9 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Sep 28 22:30:32 2015 +0800 fs/nfs: remove unnecessary new_valid_dev check As new_valid_dev always returns 1, so !new_valid_dev check is not needed, remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7fc561362da38253522899ccab30c7955d4132df Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:09 2015 +0200 SUNRPC: fix variable type Due to incorrect len type bc_send_request returned always zero. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit b7ceb7d50048d0dd4830f106f0fb7f5424031598 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Mon Nov 2 17:12:27 2015 +0100 lightnvm: refactor phys addrs type to u64 For cases where CONFIG_LBDAF is not set. The struct ppa_addr exceeds its type on 32 bit architectures. ppa_addr requires a 64bit integer to hold the generic ppa format. We therefore refactor it to u64 and replaces the sector_t usages with u64 for physical addresses. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 353b39d1b1511376aca71bc3aba62831370561ca Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 22 18:15:50 2015 +0530 ide: pdc202xx_new: Replace timeval with ktime_t This driver uses 'struct timeval' which we are trying to remove since 32 bit time types will break in the year 2038 by replacing it with ktime_t. This patch changes do_gettimeofday() to ktime_get() because ktime_get() returns a ktime_t while do_gettimeofday() returns struct timeval. This patch also uses ktime_us_delta() to get the elapsed time. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7ca8ef93001eaab4c5c7f4f3accfbe6ffcf5f26 Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Mon Nov 2 14:27:45 2015 +0800 drm/amdgpu: update Fiji's Golden setting Change-Id: Ic3f3bfce4767cc05d04f6eb24e22a0f3e7ceacaa Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit b6bc28ff2995f5c2c29dafc12a7e716de620cc8d Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Mon Nov 2 21:21:34 2015 +0800 drm/amdgpu: update Fiji's rev id Change-Id: I0018e2b72feb771683c57960ba3ce942bec5d3ab Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit a3d08fa56b2b867460e58ecdb649b49804aaa5fd Author: Flora Cui <Flora.Cui@xxxxxxx> Date: Mon Nov 2 21:15:55 2015 +0800 drm/amdgpu: extract common code in vi_common_early_init Change-Id: I9ed25353c559e27bc1b1d5b50f977b0ff03de87f Signed-off-by: Flora Cui <Flora.Cui@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit a6b1533e9a57d76cd3d9b7649d29ac604b1874b8 Author: Eric Ren <zren@xxxxxxxx> Date: Wed Oct 14 23:28:26 2015 +0800 dlm: make posix locks interruptible Replace wait_event_killable with wait_event_interruptible so that a program waiting for a posix lock can be interrupted by a signal. With the killable version, a program was not interruptible by a signal if it had a signal handler set for it, overriding the default action of terminating the process. Signed-off-by: Eric Ren <zren@xxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit b3047a77cba193658ebf534ee4abab9cb5446842 Merge: 3d131f0 e420842 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Nov 3 11:30:57 2015 -0500 Merge tag 'mac80211-for-davem-2015-11-03' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 Johannes Berg says: ==================== Another set of fixes: * remove a warning on a check that can trigger without any errors having happened (Andrei) * correctly handle deauth request while in the process of associating (Andrei) * fix TDLS HT operation (Arik) * allow changing AID/listen interval during client setup (Ayala) * be more forgiving with WMM parameters to get HT/VHT in case of broken APs with bad WMM settings (Emmanuel, myself) * a number of other fixes (some in documentation) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d131f070948e4ad93189cb379b3a45d53dce71b Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 10:52:52 2015 -0500 net: dsa: mv88e6xxx: include DSA ports in VLANs DSA ports must be members of a VLAN in order to ensure frame bridging between chained switch chips. Thus tag them in addition to the CPU port when adding a VLAN, and skip them when deleting a VLAN and reporting VLAN members. Also use the UNMODIFIED egress policy, so that frames egress on these ports as they ingress, tagged or untagged. Fixes: 0d3b33e60206 ("net: dsa: mv88e6xxx: add VLAN Load support") Reported-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c7ea3c0791e971f05f78453a587a1640fe09a61 Author: Andrew Lunn <andrew@xxxxxxx> Date: Tue Nov 3 10:52:36 2015 -0500 net: dsa: mv88e6xxx: disable SA learning for DSA and CPU ports Frames with DSA headers passing to/from the CPU were taking place in the MAC learning on these ports, resulting in incorrect ATU entries. Disable learning on these ports. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ba3f7d61a3a9e6d94462b207d302931b53d8c61 Author: Jarod Wilson <jarod@xxxxxxxxxx> Date: Tue Nov 3 10:15:59 2015 -0500 net/core: fix for_each_netdev_feature As pointed out by Nikolay and further explained by Geert, the initial for_each_netdev_feature macro was broken, as feature would get set outside of the block of code it was intended to run in, thus only ever working for the first feature bit in the mask. While less pretty this way, this is tested and confirmed functional with multiple feature bits set in NETIF_F_UPPER_DISABLES. [root@dell-per730-01 ~]# ethtool -K bond0 lro off ... [ 242.761394] bond0: Disabling feature 0x0000000000008000 on lower dev p5p2. [ 243.552178] bnx2x 0000:06:00.1 p5p2: using MSI-X IRQs: sp 74 fp[0] 76 ... fp[7] 83 [ 244.353978] bond0: Disabling feature 0x0000000000008000 on lower dev p5p1. [ 245.147420] bnx2x 0000:06:00.0 p5p1: using MSI-X IRQs: sp 62 fp[0] 64 ... fp[7] 71 [root@dell-per730-01 ~]# ethtool -K bond0 gro off ... [ 251.925645] bond0: Disabling feature 0x0000000000004000 on lower dev p5p2. [ 252.713693] bnx2x 0000:06:00.1 p5p2: using MSI-X IRQs: sp 74 fp[0] 76 ... fp[7] 83 [ 253.499085] bond0: Disabling feature 0x0000000000004000 on lower dev p5p1. [ 254.290922] bnx2x 0000:06:00.0 p5p1: using MSI-X IRQs: sp 62 fp[0] 64 ... fp[7] 71 Fixes: fd867d51f ("net/core: generic support for disabling netdev features down stack") CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Eric Dumazet <edumazet@xxxxxxxxxx> CC: Jay Vosburgh <j.vosburgh@xxxxxxxxx> CC: Veaceslav Falico <vfalico@xxxxxxxxx> CC: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> CC: Jiri Pirko <jiri@xxxxxxxxxxx> CC: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx> CC: Michal Kubecek <mkubecek@xxxxxxx> CC: Alexander Duyck <alexander.duyck@xxxxxxxxx> CC: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74f2d19caff885bc656e9acf2a6e727b66ab0ed1 Author: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxxxxx> Date: Tue Nov 3 20:25:59 2015 +0530 vlan: Invoke driver vlan hooks only if device is present NIC drivers mark device as detached during error recovery. It expects no manangement hooks to be invoked in this state. Invoke driver vlan hooks only if device is present. Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 754107e34165373b3696620cef344227b10eaa99 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Nov 3 14:51:29 2015 +0100 arcnet/com20020: add LEDS_CLASS dependency The newly added led trigger support in the com20020-pci driver causes build errors when CONFIG_LEDS_CLASS is disabled: drivers/built-in.o: In function `com20020pci_probe': (.text+0x185dc4): undefined reference to `devm_led_classdev_register' (.text+0x185dd8): undefined reference to `devm_led_classdev_register' This adds a Kconfig dependency to prevent the invalid configurations. Other drivers appear to be split 50:50 between 'select' and 'depends on' for this symbol, I picked 'depends on' as I could not find a common policy and it generally causes fewer problems. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 8890624a4e8c ("arcnet: com20020-pci: add led trigger support") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d056d9c95be87725c07e514930b41c2c7174e75 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Tue Nov 3 11:39:20 2015 +0100 bpf, verifier: annotate verbose printer with __printf The verbose() printer dumps the verifier state to user space, so let gcc take care to check calls to verbose() for (future) errors. make with W=1 correctly suggests: function might be possible candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32544d021515f767e651648e5702472d48ab9436 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 3 11:10:03 2015 -0500 drm/amd/scheduler: don't oops on failure to load In two places amdgpu tries to tear down something it hasn't initalised when failing. This is what happens when you enable experimental support on topaz which then fails in ring init. This patch allows it to fail cleanly. agd: Split out from from the original patch since the scheduler is a driver independent. Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit fe295b27150afe5ddc5e8bb6670149970b33834d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 3 11:07:11 2015 -0500 drm/amdgpu: don't oops on failure to load (v2) In two places amdgpu tries to tear down something it hasn't initalised when failing. This is what happens when you enable experimental support on topaz which then fails in ring init. This patch allows it to fail cleanly. v2 (agd): split out scheduler change into a separate patch Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit df7989fe1ef5ae39902deb4eed498cf8e51cb7df Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Nov 2 10:52:32 2015 -0500 drm/amdgpu: don't VT switch on suspend Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 592fafe644bf3a48b9e00e182a67d301493634fc Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Nov 3 10:08:53 2015 -0600 Add resilienthandles mount parm Since many servers (Windows clients, and non-clustered servers) do not support persistent handles but do support resilient handles, allow the user to specify a mount option "resilienthandles" in order to get more reliable connections and less chance of data loss (at least when SMB2.1 or later). Default resilient handle timeout (120 seconds to recent Windows server) is used. Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> commit 85013ab5722268cd3c410425bd5a42feb6974a1f Merge: 0561e8e a1f8723 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Nov 3 11:08:22 2015 -0500 Merge branch 'dp83640-fixes' Stefan Sørensen says: ==================== dp83640 driver fixes This series fixes a number of minor bugs in the dp83640 driver. ==================== Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1f8723f38921a0216a63d3ec9f01ec1e2813363 Author: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Date: Tue Nov 3 09:34:08 2015 +0100 dp83640: Only wait for timestamps for packets with timestamping enabled. In the packet timestamping function, check that the ptp version and protocol of the packet matches what we have configured the hardware to actually generate timestamps for, before looking/waiting for a timestamp. Signed-off-by: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f94c943d5dd4b51f3248193e622dd5fcdbb8b11 Author: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Date: Tue Nov 3 09:34:07 2015 +0100 ptp: Change ptp_class to a proper bitmask Change the definition of PTP_CLASS_L2 to not have any bits overlapping with the other defined protocol values, allowing the PTP_CLASS_* definitions to be for simple filtering on packet type. Signed-off-by: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccf6ee9a6980eff9ec0eeaa8f63c65bff34d9697 Author: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Date: Tue Nov 3 09:34:06 2015 +0100 dp83640: Prune rx timestamp list before reading from it The list of rx timestamps are currently only pruned of old entries when a new entry is inserted. If no new entries are added, old timestamps may survive beyond their lifetime, possible causing them to be attached to packets with the same sequence number after a rollover. Signed-off-by: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b063258ab9360207a4f6913d31d761bd85631ab Author: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Date: Tue Nov 3 09:34:05 2015 +0100 dp83640: Delay scheduled work. Currently rx_timestamp_work reschedules itself as a regular workqueue item, effectively causing it run constantly as long as there are packets left in the queue. Fix by using delayed workqueue items, limiting it to run only every two jiffies. Signed-off-by: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 539e44d26855fdd198280ee41360a0b3adcf699b Author: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Date: Tue Nov 3 09:34:04 2015 +0100 dp83640: Include hash in timestamp/packet matching Only using the message type and sequence id for matching timestamps with packets is error prone, as multiple clients may very well be sending packets with the same messagetype and timestamp at the same time. Fix by extending the check to include the hash of bytes 20-29 (source id in PTPv2) that is provided with the timestamps. Signed-off-by: Stefan Sørensen <stefan.sorensen@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebac62fe3d24c0ce22dd83afa7b07d1a2aaef44d Author: Michal KubeÄ?ek <mkubecek@xxxxxxx> Date: Tue Nov 3 08:51:07 2015 +0100 ipv6: fix tunnel error handling Both tunnel6_protocol and tunnel46_protocol share the same error handler, tunnel6_err(), which traverses through tunnel6_handlers list. For ipip6 tunnels, we need to traverse tunnel46_handlers as we do e.g. in tunnel46_rcv(). Current code can generate an ICMPv6 error message with an IPv4 packet embedded in it. Fixes: 73d605d1abbd ("[IPSEC]: changing API of xfrm6_tunnel_register") Signed-off-by: Michal Kubecek <mkubecek@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ee8a74f2a5da913637f75a19a0da0e7a08c0f86 Author: Li Bin <huawei.libin@xxxxxxxxxx> Date: Fri Oct 30 16:31:04 2015 +0800 recordmcount: arm64: Replace the ignored mcount call into nop By now, the recordmcount only records the function that in following sections: .text/.ref.text/.sched.text/.spinlock.text/.irqentry.text/ .kprobes.text/.text.unlikely For the function that not in these sections, the call mcount will be in place and not be replaced when kernel boot up. And it will bring performance overhead, such as do_mem_abort (in .exception.text section). This patch make the call mcount to nop for this case in recordmcount. Link: http://lkml.kernel.org/r/1446019445-14421-1-git-send-email-huawei.libin@xxxxxxxxxx Link: http://lkml.kernel.org/r/1446193864-24593-4-git-send-email-huawei.libin@xxxxxxxxxx Cc: <lkp@xxxxxxxxx> Cc: <catalin.marinas@xxxxxxx> Cc: <takahiro.akashi@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+ Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Li Bin <huawei.libin@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c84da8b9ad3761eef43811181c7e896e9834b26b Author: libin <huawei.libin@xxxxxxxxxx> Date: Tue Nov 3 08:58:47 2015 +0800 recordmcount: Fix endianness handling bug for nop_mcount In nop_mcount, shdr->sh_offset and welp->r_offset should handle endianness properly, otherwise it will trigger Segmentation fault if the recordmcount main and file.o have different endianness. Link: http://lkml.kernel.org/r/563806C7.7070606@xxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 3.0+ Signed-off-by: Li Bin <huawei.libin@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2959a32a858a2c44bbbce83d19c158d54cc5998a Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Nov 2 12:32:44 2015 +0000 Btrfs: fix hole punching when using the no-holes feature When we are using the no-holes feature, if we punch a hole into a file range that already contains a hole which overlaps the range we are passing to fallocate(), we end up removing the extent map that represents the existing hole without adding a new one. This happens because with the no-holes feature we do not have explicit extent items to represent holes and therefore the call to __btrfs_drop_extents(), made from btrfs_punch_hole(), returns an end offset to the variable drop_end that is smaller than the end of the range passed to fallocate(), while it drops all existing extent maps in that range. Normally having a missing extent map is not a problem, for example for a readpages() operation we just end up building the extent map by looking at the fs/subvol tree for a matching extent item (or a lack of one for implicit holes). However for an fsync that uses the fast path, which needs to look at the list of modified extent maps, this means the fsync will not record information about the complete hole we had before the fallocate() call into the log tree, resulting in a file with content/layout that does not match what we had neither before nor after the hole punch operation. The following test case for fstests reproduces the issue. It fails without this change because we get a file with a different digest after the fsync log replay and also with a different extent/hole layout. 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/punch . ./common/dmflakey # real QA test starts here _need_to_be_root _supported_fs generic _supported_os Linux _require_scratch _require_xfs_io_command "fpunch" _require_xfs_io_command "fiemap" _require_dm_target flakey _require_metadata_journaling $SCRATCH_DEV # This test was motivated by an issue found in btrfs when the btrfs # no-holes feature is enabled (introduced in kernel 3.14). So enable # the feature if the fs being tested is btrfs. if [ $FSTYP == "btrfs" ]; then _require_btrfs_fs_feature "no_holes" _require_btrfs_mkfs_feature "no-holes" MKFS_OPTIONS="$MKFS_OPTIONS -O no-holes" fi rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _init_flakey _mount_flakey # Create out test file with some data and then fsync it. # We do the fsync only to make sure the last fsync we do in this test # triggers the fast code path of btrfs' fsync implementation, a # condition necessary to trigger the bug btrfs had. $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 128K" \ -c "fsync" \ $SCRATCH_MNT/foobar | _filter_xfs_io # Now punch a hole against the range [96K, 128K[. $XFS_IO_PROG -c "fpunch 96K 32K" $SCRATCH_MNT/foobar # Punch another hole against a range that overlaps the previous range # and ends beyond eof. $XFS_IO_PROG -c "fpunch 64K 128K" $SCRATCH_MNT/foobar # Punch another hole against a range that overlaps the first range # ([96K, 128K[) and ends at eof. $XFS_IO_PROG -c "fpunch 32K 96K" $SCRATCH_MNT/foobar # Fsync our file. We want to verify that, after a power failure and # mounting the filesystem again, the file content reflects all the hole # punch operations. $XFS_IO_PROG -c "fsync" $SCRATCH_MNT/foobar echo "File digest before power failure:" md5sum $SCRATCH_MNT/foobar | _filter_scratch echo "Fiemap before power failure:" $XFS_IO_PROG -c "fiemap -v" $SCRATCH_MNT/foobar | _filter_fiemap # Silently drop all writes and umount 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. _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey echo "File digest after log replay:" # Must match the same digest we got before the power failure. md5sum $SCRATCH_MNT/foobar | _filter_scratch echo "Fiemap after log replay:" # Must match the same extent listing we got before the power failure. $XFS_IO_PROG -c "fiemap -v" $SCRATCH_MNT/foobar | _filter_fiemap _unmount_flakey status=0 exit Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 13a0db5a53f56d1f77e8902dd23258c99c2154b8 Author: chandan <chandan@xxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 13:59:46 2015 +0530 Btrfs: find_free_extent: Do not erroneously skip LOOP_CACHING_WAIT state When executing generic/001 in a loop on a ppc64 machine (with both sectorsize and nodesize set to 64k), the following call trace is observed, WARNING: at /root/repos/linux/fs/btrfs/locking.c:253 Modules linked in: CPU: 2 PID: 8353 Comm: umount Not tainted 4.3.0-rc5-13676-ga5e681d #54 task: c0000000f2b1f560 ti: c0000000f6008000 task.ti: c0000000f6008000 NIP: c000000000520c88 LR: c0000000004a3b34 CTR: 0000000000000000 REGS: c0000000f600a820 TRAP: 0700 Not tainted (4.3.0-rc5-13676-ga5e681d) MSR: 8000000102029032 <SF,VEC,EE,ME,IR,DR,RI> CR: 24444884 XER: 00000000 CFAR: c0000000004a3b30 SOFTE: 1 GPR00: c0000000004a3b34 c0000000f600aaa0 c00000000108ac00 c0000000f5a808c0 GPR04: 0000000000000000 c0000000f600ae60 0000000000000000 0000000000000005 GPR08: 00000000000020a1 0000000000000001 c0000000f2b1f560 0000000000000030 GPR12: 0000000084842882 c00000000fdc0900 c0000000f600ae60 c0000000f070b800 GPR16: 0000000000000000 c0000000f3c8a000 0000000000000000 0000000000000049 GPR20: 0000000000000001 0000000000000001 c0000000f5aa01f8 0000000000000000 GPR24: 0f83e0f83e0f83e1 c0000000f5a808c0 c0000000f3c8d000 c000000000000000 GPR28: c0000000f600ae74 0000000000000001 c0000000f3c8d000 c0000000f5a808c0 NIP [c000000000520c88] .btrfs_tree_lock+0x48/0x2a0 LR [c0000000004a3b34] .btrfs_lock_root_node+0x44/0x80 Call Trace: [c0000000f600aaa0] [c0000000f600ab80] 0xc0000000f600ab80 (unreliable) [c0000000f600ab80] [c0000000004a3b34] .btrfs_lock_root_node+0x44/0x80 [c0000000f600ac00] [c0000000004a99dc] .btrfs_search_slot+0xa8c/0xc00 [c0000000f600ad40] [c0000000004ab878] .btrfs_insert_empty_items+0x98/0x120 [c0000000f600adf0] [c00000000050da44] .btrfs_finish_chunk_alloc+0x1d4/0x620 [c0000000f600af20] [c0000000004be854] .btrfs_create_pending_block_groups+0x1d4/0x2c0 [c0000000f600b020] [c0000000004bf188] .do_chunk_alloc+0x3c8/0x420 [c0000000f600b100] [c0000000004c27cc] .find_free_extent+0xbfc/0x1030 [c0000000f600b260] [c0000000004c2ce8] .btrfs_reserve_extent+0xe8/0x250 [c0000000f600b330] [c0000000004c2f90] .btrfs_alloc_tree_block+0x140/0x590 [c0000000f600b440] [c0000000004a47b4] .__btrfs_cow_block+0x124/0x780 [c0000000f600b530] [c0000000004a4fc0] .btrfs_cow_block+0xf0/0x250 [c0000000f600b5e0] [c0000000004a917c] .btrfs_search_slot+0x22c/0xc00 [c0000000f600b720] [c00000000050aa40] .btrfs_remove_chunk+0x1b0/0x9f0 [c0000000f600b850] [c0000000004c4e04] .btrfs_delete_unused_bgs+0x434/0x570 [c0000000f600b950] [c0000000004d3cb8] .close_ctree+0x2e8/0x3b0 [c0000000f600ba20] [c00000000049d178] .btrfs_put_super+0x18/0x30 [c0000000f600ba90] [c000000000243cd4] .generic_shutdown_super+0xa4/0x1a0 [c0000000f600bb10] [c0000000002441d8] .kill_anon_super+0x18/0x30 [c0000000f600bb90] [c00000000049c898] .btrfs_kill_super+0x18/0xc0 [c0000000f600bc10] [c0000000002444f8] .deactivate_locked_super+0x98/0xe0 [c0000000f600bc90] [c000000000269f94] .cleanup_mnt+0x54/0xa0 [c0000000f600bd10] [c0000000000bd744] .task_work_run+0xc4/0x100 [c0000000f600bdb0] [c000000000016334] .do_notify_resume+0x74/0x80 [c0000000f600be30] [c0000000000098b8] .ret_from_except_lite+0x64/0x68 Instruction dump: fba1ffe8 fbc1fff0 fbe1fff8 7c791b78 f8010010 f821ff21 e94d0290 81030040 812a04e8 7d094a78 7d290034 5529d97e <0b090000> 3b400000 3be30050 3bc3004c The above call trace is seen even on x86_64; albeit very rarely and that too with nodesize set to 64k and with nospace_cache mount option being used. The reason for the above call trace is, btrfs_remove_chunk check_system_chunk Allocate chunk if required For each physical stripe on underlying device, btrfs_free_dev_extent ... Take lock on Device tree's root node btrfs_cow_block("dev tree's root node"); btrfs_reserve_extent find_free_extent index = BTRFS_RAID_DUP; have_caching_bg = false; When in LOOP_CACHING_NOWAIT state, Assume we find a block group which is being cached; Hence have_caching_bg is set to true When repeating the search for the next RAID index, we set have_caching_bg to false. Hence right after completing the LOOP_CACHING_NOWAIT state, we incorrectly skip LOOP_CACHING_WAIT state and move to LOOP_ALLOC_CHUNK state where we allocate a chunk and try to add entries corresponding to the chunk's physical stripe into the device tree. When doing so the task deadlocks itself waiting for the blocking lock on the root node of the device tree. This commit fixes the issue by introducing a new local variable to help indicate as to whether a block group of any RAID type is being cached. Signed-off-by: Chandan Rajendra <chandan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 485290a734f14279fa9376b3d6021a2dc1f82356 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Thu Oct 29 17:28:46 2015 +0800 btrfs: Fix a data space underflow warning Even with quota disabled, generic/127 will trigger a kernel warning by underflow data space info. The bug is caused by buffered write, which in case of short copy, the start parameter for btrfs_delalloc_release_space() is wrong, and round_up/down() in btrfs_delalloc_release() extents the range to page aligned, decreasing one more page than expected. This patch will fix it by passing correct start. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2404e607a9ee36db361bebe32787dafa1f7d6c00 Author: Jeff Moyer <jmoyer@xxxxxxxxxx> Date: Tue Nov 3 10:40:06 2015 -0500 blk-mq: avoid excessive boot delays with large lun counts Hi, Zhangqing Luo reported long boot times on a system with thousands of LUNs when scsi-mq was enabled. He narrowed the problem down to blk_mq_add_queue_tag_set, where every queue is frozen in order to set the BLK_MQ_F_TAG_SHARED flag. Each added device will freeze all queues added before it in sequence, which involves waiting for an RCU grace period for each one. We don't need to do this. After the second queue is added, only new queues need to be initialized with the shared tag. We can do that by percolating the flag up to the blk_mq_tag_set, and updating the newly added queue's hctxs if the flag is set. This problem was introduced by commit 0d2602ca30e41 (blk-mq: improve support for shared tags maps). Reported-and-tested-by: Jason Luo <zhangqing.luo@xxxxxxxxxx> Reviewed-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0561e8e8786203f1b82322550e5c31aeef033d2f Merge: fd867d5 3ea4891 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Nov 3 10:41:51 2015 -0500 Merge branch 'mlx5-fixes' Or Gerlitz says: ==================== Mellanox mlx5e driver update, Nov 3 2015 This series contains bunch of small fixes to the mlx5e driver from Achiad. Changes from V0: - removed the driver patch that dealt with IRQ affinity changes during NAPI poll, as this is a generic problem which needs generic solution. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ea4891db8d0d224f59b2fae0f386c8f5e68993f Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:24 2015 +0200 net/mlx5e: Fix LSO vlan insertion Consider vlan insertion impact on headers copy size also for LSO packets. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4cf27bd9ce64d048df52a21cf162ce8b1a99362 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:23 2015 +0200 net/mlx5e: Re-eanble client vlan TX acceleration This reverts commit cd58c714acb9 "net/mlx5e: Disable client vlan TX acceleration". Bring back client vlan insertion offload, the original performance issue was found and fixed in the next patch. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe9f4fe58d17e09b210061ed089dba6e81564652 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:22 2015 +0200 net/mlx5e: Return error in case mlx5e_set_features() fails In case mlx5e_set_features() fails, return the failure status rather than 0. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3435ab59d3febe0c00af2a4d40a6df401effe3de Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:21 2015 +0200 net/mlx5e: Don't allow more than max supported channels Consider MLX5E_MAX_NUM_CHANNELS @ethtool set/get_channels Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61d0e73e0a5ab5fc80f6cd9d54f5146e33288a8d Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:20 2015 +0200 net/mlx5_core: Use the the real irqn in eq->irqn Instead of storing the msix array index in eq->irqn (vecidx), store the real irq number. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 01c196a2d3d1cfaab7d20879236e981104749510 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:19 2015 +0200 net/mlx5e: Wait for RX buffers initialization in a more proper manner Use jiffies rather than wait loop with msleep(). The wait loop didn't take into consideration time when the process was not executing. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1985740904342a884471348f6e038ee5d706c36 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Tue Nov 3 08:07:18 2015 +0200 net/mlx5e: Avoid NULL pointer access in case of configuration failure In case a configuration operation that involves closing and re-opening resources (e.g RX/TX queue size change) fails at the re-opening stage these resources will remain closed. So when executing (following) configuration operations (e.g ifconfig down) we cannot assume that these resources are available. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2b31f75406ed4ae700f5d954603f8119d9e94ca Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Oct 7 07:58:07 2015 +0300 Revert "xtensa: cache inquiry and unaligned cache handling functions" Drop unaligned dcache management functions as they are no longer used. This reverts commit bd974240c9a7 ("xtensa: cache inquiry and unaligned cache handling functions"). Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit b56eae4df9ef922d5785ec4a15d54d9527cedb13 Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Nov 3 09:26:27 2015 -0600 [SMB3] Send durable handle v2 contexts when use of persistent handles required Version 2 of the patch. Thanks to Dan Carpenter and the smatch tool for finding a problem in the first version of this patch. CC: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> commit f16dfa7cd1b588e5d7ef4b5a19ee579f11b7a41f Author: Steve French <smfrench@xxxxxxxxx> Date: Wed Sep 30 21:07:59 2015 -0500 [SMB3] Display persistenthandles in /proc/mounts for SMB3 shares if enabled Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> commit b618f001a20e44f691dd0e2ffea651a40a651871 Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Nov 3 09:15:03 2015 -0600 [SMB3] Enable checking for continuous availability and persistent handle support Validate "persistenthandles" and "nopersistenthandles" mount options against the support the server claims in negotiate and tree connect SMB3 responses. Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> commit 715f8db9102f1ab40ea4a87bedfe86399323698f Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Nov 3 20:21:05 2015 +0900 tools lib bpf: Fix compiler warning on CentOS 6 CC libbpf.o cc1: warnings being treated as errors libbpf.c: In function 'bpf_program__title': libbpf.c:1037: error: declaration of 'dup' shadows a global declaration /usr/include/unistd.h:528: error: shadowed declaration is here mv: cannot stat `./.libbpf.o.tmp': No such file or directory make[3]: *** [libbpf.o] Error 1 make[2]: *** [libbpf-in.o] Error 2 make[1]: *** [/linux/tools/lib/bpf/libbpf.a] Error 2 make[1]: *** Waiting for unfinished jobs.... Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1446549665-2342-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7a0119468c9c2deff24ef24e1b4d2c1bd1523fd5 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Nov 3 10:44:43 2015 +0000 perf bpf: Mute libbpf when '-v' not set According to [1], libbpf should be muted. This patch reset info and warning message level to ensure libbpf doesn't output anything even if error happened. [1] http://lkml.kernel.org/r/20151020151255.GF5119@xxxxxxxxxx Committer note: Before: Testing it with an incompatible kernel version in the .c file that generated foo.o: [root@zoo ~]# perf record -e /tmp/foo.o sleep 1 libbpf: load bpf program failed: Invalid argument libbpf: -- BEGIN DUMP LOG --- libbpf: libbpf: -- END LOG -- libbpf: failed to load program 'fork=_do_fork' libbpf: failed to load object '/tmp/foo.o' event syntax error: '/tmp/foo.o' \___ Invalid argument: Are you root and runing a CONFIG_BPF_SYSCALL kernel? (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events [root@zoo ~]# After: [root@zoo ~]# perf record -e /tmp/foo.o sleep 1 event syntax error: '/tmp/foo.o' \___ Invalid argument: Are you root and runing a CONFIG_BPF_SYSCALL kernel? (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events [root@zoo ~]# This, BTW, need fixing to emit a proper message by validating the version in the foo.o "version" ELF section against the running kernel, warning the user instead of asking the kernel to load a binary that it will refuse due to unmatching kernel version. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446547486-229499-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2a3077414fd6ff1de8972ea55e91f27bcabd913 Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Sep 29 21:49:28 2015 -0500 [SMB3] Add parsing for new mount option controlling persistent handles "nopersistenthandles" and "persistenthandles" mount options added. The former will not request persistent handles on open even when SMB3 negotiated and Continuous Availability share. The latter will request persistent handles (as long as server notes the capability in protocol negotiation) even if share is not Continuous Availability share. Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> commit 597bdeb4ab7396c43935eded15f82e3e100b3ff3 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Tue Nov 3 10:44:42 2015 +0000 perf test: Keep test result clean if '-v' not set According to [1], 'perf test' should avoid output too much information if '-v' is not set, only 'Ok', 'FAIL' or 'Skip' need to be printed. This patch removes several messages sent directly to stderr to make the output clean. Before this patch: # perf test dummy 23: Test using a dummy software event to keep tracking : (not supported) Ok After this patch: # perf test dummy 23: Test using a dummy software event to keep tracking : Skip [1] http://lkml.kernel.org/r/20151020134155.GE4400@xxxxxxxxxx Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446547486-229499-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7225107e158241b7e22f15b9f4c3db0b3330984d Merge: 4ed31f24 bd33b87 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Nov 3 08:39:32 2015 -0600 Merge branch 'pci/host-layerscape' into next * pci/host-layerscape: PCI: layerscape: Add ls_pcie_msi_host_init() PCI: layerscape: Add support for LS1043a and LS2080a PCI: layerscape: Remove unused fields from struct ls_pcie PCI: layerscape: Update ls_add_pcie_port() PCI: layerscape: Factor out SCFG related function PCI: layerscape: Ignore PCIe controllers in Endpoint mode PCI: layerscape: Remove ls_pcie_establish_link() commit 4ed31f24a6416cc60bc8e92c25b2de3060fbedf8 Merge: c2df02b 500a1d9 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Nov 3 08:39:19 2015 -0600 Merge branch 'pci/host-hisi' into next * pci/host-hisi: PCI: hisi: Add HiSilicon SoC Hip05 PCIe driver commit c2df02bdaac28bedcee6b9921b7c2927dafac471 Merge: 1f9a30e af1169b df77016 f6225c3 111feb7 be908d2 d1a082c 8c53e8e 512ee2f 00b9b91 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Nov 3 08:38:27 2015 -0600 Merge branches 'pci/host-altera', 'pci/host-designware', 'pci/host-generic', 'pci/host-imx6', 'pci/host-iproc', 'pci/host-mvebu', 'pci/host-rcar', 'pci/host-tegra' and 'pci/host-xgene' into next * pci/host-altera: PCI: altera: Add Altera PCIe MSI driver PCI: altera: Add Altera PCIe host controller driver ARM: Add msi.h to Kbuild * pci/host-designware: PCI: designware: Make "clocks" and "clock-names" optional DT properties PCI: designware: Make driver arch-agnostic ARM/PCI: Replace pci_sys_data->align_resource with global function pointer PCI: designware: Use of_pci_get_host_bridge_resources() to parse DT Revert "PCI: designware: Program ATU with untranslated address" PCI: designware: Move calculation of bus addresses to DRA7xx PCI: designware: Make "num-lanes" an optional DT property PCI: designware: Require config accesses to be naturally aligned PCI: designware: Simplify dw_pcie_cfg_read/write() interfaces PCI: designware: Use exact access size in dw_pcie_cfg_read() PCI: spear: Fix dw_pcie_cfg_read/write() usage PCI: designware: Set up high part of MSI target address PCI: designware: Make get_msi_addr() return phys_addr_t, not u32 PCI: designware: Implement multivector MSI IRQ setup PCI: designware: Factor out MSI msg setup PCI: Add msi_controller setup_irqs() method for special multivector setup PCI: designware: Fix PORT_LOGIC_LINK_WIDTH_MASK * pci/host-generic: PCI: generic: Fix address window calculation for non-zero starting bus PCI: generic: Pass starting bus number to pci_scan_root_bus() PCI: generic: Allow multiple hosts with different map_bus() methods arm64: dts: Drop linux,pci-probe-only from the Seattle DTS powerpc/PCI: Fix lookup of linux,pci-probe-only property PCI: generic: Fix lookup of linux,pci-probe-only property of/pci: Add of_pci_check_probe_only to parse "linux,pci-probe-only" * pci/host-imx6: PCI: imx6: Add PCIE_PHY_RX_ASIC_OUT_VALID definition PCI: imx6: Return real error code from imx6_add_pcie_port() * pci/host-iproc: PCI: iproc: Fix header comment "Corporation" misspelling PCI: iproc: Add outbound mapping support PCI: iproc: Update PCIe device tree bindings PCI: iproc: Improve link detection logic PCI: iproc: Fix PCIe reset logic PCI: iproc: Call pci_fixup_irqs() for ARM64 as well as ARM PCI: iproc: Remove unused struct iproc_pcie.irqs[] PCI: iproc: Fix code comment to match code * pci/host-mvebu: PCI: mvebu: Remove code restricting accesses to slot 0 PCI: mvebu: Add PCI Express root complex capability block PCI: mvebu: Improve clock/reset handling PCI: mvebu: Use gpio_desc to carry around gpio PCI: mvebu: Use devm_kcalloc() to allocate an array PCI: mvebu: Use gpio_set_value_cansleep() PCI: mvebu: Split port parsing and resource claiming from port setup PCI: mvebu: Fix memory leaks and refcount leaks PCI: mvebu: Move port parsing and resource claiming to separate function PCI: mvebu: Use port->name rather than "PCIe%d.%d" PCI: mvebu: Report full node name when reporting a DT error PCI: mvebu: Use for_each_available_child_of_node() to walk child nodes PCI: mvebu: Use of_get_available_child_count() PCI: mvebu: Use exact config access size; don't read/modify/write PCI: mvebu: Return zero for reserved or unimplemented config space * pci/host-rcar: PCI: rcar: Fix I/O offset for multiple host bridges PCI: rcar: Set root bus nr to that provided in DT PCI: rcar: Remove dependency on ARM-specific struct hw_pci PCI: rcar: Make PCI aware of the I/O resources PCI: rcar: Build pcie-rcar.c only on ARM PCI: rcar: Build pci-rcar-gen2.c only on ARM * pci/host-tegra: PCI: tegra: Wrap static pgprot_t initializer with __pgprot() * pci/host-xgene: PCI/MSI: xgene: Remove msi_controller assignment commit af1169b48b179c9db6b5d57e14552cceccbc04eb Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Fri Oct 23 18:27:13 2015 +0800 PCI: altera: Add Altera PCIe MSI driver Add Altera PCIe MSI driver. This soft IP supports a configurable number of vectors, which is a DTS parameter. [bhelgaas: Kconfig depend on PCIE_ALTERA, typos, whitespace] Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> commit 0d848afe117ac3e31b9d57b65553ff18ef9d288f Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Oct 16 18:30:37 2015 +0300 xtensa: drop unused sections and remapped reset handlers There are no .bootstrap or .ResetVector.text sections linked to the vmlinux image, drop these sections from vmlinux.ld.S. Drop RESET_VECTOR_VADDR definition only used for .ResetVector.text. Drop remapped copies of primary and secondary reset vectors, as modern gdb don't have problems stepping through instructions at arbitrary locations. Drop corresponding sections from the corresponding linker scripts. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit ab45fb145096799dabd18afc58bb5f97171017cd Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Oct 16 17:01:04 2015 +0300 xtensa: fix secondary core boot in SMP There are multiple factors adding to the issue in different configurations: - commit 17290231df16eeee ("xtensa: add fixup for double exception raised in window overflow") added function window_overflow_restore_a0_fixup to double exception vector overlapping reset vector location of secondary processor cores. - on MMUv2 cores RESET_VECTOR1_VADDR may point to uncached kernel memory making code overlapping depend on cache type and size, so that without cache or with WT cache reset vector code overwrites double exception code, making issue even harder to detect. - on MMUv3 cores RESET_VECTOR1_VADDR may point to unmapped area, as MMUv3 cores change virtual address map to match MMUv2 layout, but reset vector virtual address is given for the original MMUv3 mapping. - physical memory region of the secondary reset vector is not reserved in the physical memory map, and thus may be allocated and overwritten at arbitrary moment. Fix it as follows: - move window_overflow_restore_a0_fixup code to .text section. - define RESET_VECTOR1_VADDR so that it points to reset vector in the cacheable MMUv2 map for cores with MMU. - reserve reset vector region in the physical memory map. Drop separate literal section and build mxhead.S with text section literals. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit a9df9338c1a32e7cdc8c6c6fa7c73f0a63a1ca56 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Mon Nov 2 17:51:02 2015 +0300 xtensa: add FORCE_MAX_ZONEORDER to Kconfig Make maximal memory allocation order configurable, so that drivers could allocate huge buffers when they need to. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit b38feccd663b55ab07116208b68e1ffc7c3c7e78 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Nov 2 14:03:46 2015 +0100 s390: remove runtime instrumentation interrupts The external interrupts for runtime instrumentation buffer-full and runtime instrumentation halted are unused and have no current user. Remove the support and ignore the second parameter of the s390_runtime_instr system call from now on. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e510f681d27d402d74dc7b81e13db118e4180937 Author: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 11:13:18 2015 +0100 s390/cio: de-duplicate subchannel validation cio_validate_io_subchannel() and cio_validate_msg_subchannel() are identical, as the called functions already take care about the differences between subchannel types. Just inline the code into the only user, cio_validate_subchannel(), instead. Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8f0ba83178d4f3630687296c45d593326ec2d63d Author: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 10:45:04 2015 +0100 s390/css: unneeded initialization in for_each_subchannel The ret variable is always set by the fn function. There is no need to initialize it. Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> Reviewed-By: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 295d8fa961466bb9e9ebb87b46fdad4edaf736de Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Oct 29 01:16:04 2015 +0100 s390/Kconfig: use builtin bswap Depending on the gcc version we can use builtin_bswap instead of architecture functions. Doing so is better than the inline assembly version of load reverse for two reasons: - the sequence of load reversed, apply constant mask, save reversed can be optimized to load, apply reversed mask, save - builtins are slightly better to optimize e.g. gcc instruction scheduler cannot optimize grouping on inline assemblies. To enable set we have to ARCH_USE_BUILTIN_BSWAP. bloat-o-meter results: add/remove: 1/1 grow/shrink: 75/533 up/down: 1711/-9394 (-7683) Suggested-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ccc0e7dc708ce1bd2e1c4a2b6a180ae7459374de Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Fri Oct 23 12:10:51 2015 +0200 s390/dasd: fix disconnected device with valid path mask Path verification is either done via dasd_eckd_read_conf() which is triggered during online processing and resume or via do_path_verification_work() which is triggered after path events. The dasd_eckd_read_conf() version added paths unconditionally and did not check if the path mask was empty. This led to devices having the disconnected stop flag set but a valid path mask. So they where not working although they had paths validated successfully. After a resume this state could even not be solved with additional paths added. Fix by checking for an empty path mask in dasd_eckd_read_conf() and clearing the device stop bits for a newly added channel path. Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 251afd69e3328653bae4a8ca09700971ca4000c5 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Thu Oct 15 13:54:39 2015 +0200 s390/dasd: fix invalid PAV assignment after suspend/resume For a valid PAV assignment the DASD driver needs to notice possibly changed configuration data. Thus the failing of read configuration data should also fail the device restore to prevent invalid PAV assignment. The failed device may get restored after additional paths get available later on. If the restore fails after the device was added to the lcu alias handling it needs to be removed from the alias handling before exiting the restore function. Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c7c0c9deb0a4b0715d2c09438420437b86f387c4 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Thu Oct 15 11:10:08 2015 +0200 s390/dasd: fix double free in dasd_eckd_read_conf The configuration data is stored per path and also the first valid configuration data per device. When dasd_eckd_read_conf is called again after a path got lost the device configuration data is cleared but possibly not the per path configuration data. This might lead to a double free when the lost path gets operational again. Fix by clearing all per path configuration data when the first valid configuration data is received and stored. Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 55a423b6f105fa323168f15f4bb67f23b21da44e Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Oct 27 13:13:38 2015 +0100 s390/kernel: fix ptrace peek/poke for floating point registers git commit 155e839a814834a3b4b31e729f4716e59d3d2dd4 "s390/kernel: dynamically allocate FP register save area" introduced a regression in regard to ptrace. If the vector register extension is not present or unused the ptrace peek of a floating pointer register return incorrect data and the ptrace poke to a floating pointer register overwrites the task structure starting at task->thread.fpu.fprs. Cc: stable@xxxxxxxxxx # v4.3 Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8253d42be8ae8c81cabcf678448c09a69d4f3b8c Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Nov 2 15:41:13 2015 -0800 HID: wacom: Fix ABS_MISC reporting for Cintiq Companion 2 The pad handling code introduced for the Cintiq Companion 2 (f7acb55) looks at the wrong bytes in the report when deciding whether ABS_MISC should be sent. This does not cause any issues with the X driver now that the pen and pad have been split to separate devices, but is incorrect and has caused issues when backporting to distros with pre- 3.17 kernels. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6212aae0d4de273e8dbc9f889d0c7ef8317284df Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Mon Nov 2 15:41:12 2015 -0800 HID: wacom: Remove useless conditions from 'wacom_query_tablet_data' When support for the Cintiq Companion Hybrid and Cintiq Companion 2 was added (36d3c51 and f7acb55), the 'wacom_query_tablet_data' function was updated to include references to CINTIQ_HYBRID and CINTIQ_COMPANION_2 with the thought that they were necessary to switch the touch interface into the proper mode. This is unnecessary, however, since those types are only ever associated with the pen interface -- the touch interfaces are either CINTIQ_24HDT or HID_GENERIC. To avoid confusion in the future, we remove the unnecessary CINTIQ_HYBRID and CINTIQ_COMPANION_2 conditions. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5ef796639c2cacaebc07cf7e63bd20d64f7b3cb0 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Oct 26 14:07:58 2015 +0200 watchdog: core: propagate ping error code to the user space Watchdog ping return errors are ignored by watchdog core, Whatchdog daemon should be informed about possible hardware error or underlaying device driver get unregistered. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit bc794ac3b5836ee2b2420b0597f33538ad100be0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Sep 29 01:27:25 2015 -0700 watchdog: watchdog_dev: Use single variable name for struct watchdog_device The current code uses 'wdd', wddev', and 'watchdog' as variable names for struct watchdog_device. This is confusing and makes it difficult to enhance the code. Replace it all with 'wdd'. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Timo Kokkonen <timo.kokkonen@xxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 1e935949111e77b2b1b6fa550e88ff0573c2f4c7 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Sep 29 01:27:24 2015 -0700 watchdog: Always evaluate new timeout against min_timeout Up to now, a new timeout value is only evaluated against min_timeout if max_timeout is provided. This does not really make sense; a driver can have a minimum timeout even if it does not have a maximum timeout. Ensure that it is not smaller than min_timeout, even if max_timeout is not set. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit e00fe64a5ccd94590e1c3325346b60aa0ffdc1ff Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Mon Nov 2 10:38:15 2015 +0100 drm/sti: load HQVDP firmware the first time HQVDP's plane is used The way to load the HQVDP firmware has been updated. HQVDP firmware is now loaded the first time an HQVDP plane is used and no more when the HQVDP driver is bound. This solves the dependency we had on the file system availability. The first time the HQVDP plane is used, we are sure that file system is available so request_firmware function will match. CONFIG_FW_LOADER_USER_HELPER_FALLBACK is then no more mandatory. Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 738be9d6ca3adccdd92798fd25f94fef0b27e073 Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Thu Oct 29 14:20:27 2015 +0100 drm/sti: fix typo issue in sti_mode_config_init Assign width to width and height to height. Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 5260fb5b33ffad7b3c1cd84dc260f4d51ef453c0 Author: Vincent Abriou <vincent.abriou@xxxxxx> Date: Thu Oct 22 10:35:50 2015 +0200 drm/sti: set mixer background color through module param Add bkgcolor module parameter that allow to change the background color of the mixer. It can be set with an RGB value coded as 0xRRGGBB. The default value is black. Signed-off-by: Vincent Abriou <vincent.abriou@xxxxxx> Signed-off-by: Nicolas VANHAELEWYN <nicolas.vanhaelewyn@xxxxxx> commit b5d34a272d37c08612aaea9601ddd311757fd149 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Tue Oct 27 13:40:58 2015 +0530 drm/sti: Remove local fbdev emulation Kconfig option DRM_STI_FBDEV config is currently used to enable/disable fbdev emulation for the sti kms driver. Remove this local config option and use the core fb helpers with drm_kms_helper.fbdev_emulation module option to enable/disable fbdev at runtime. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit cebd6fbeb2fc9e7c4f10f3656fe9f1ba863a8549 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 15:14:55 2015 +0200 drm/sti: remove redundant sign extensions arg is long int, so arg = (arg << 22) >> 22 makes the upper 22 bits of arg equal to bit 9 (or bit 41). But we then mask away all but bits 0-9, so this is entirely redundant. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 4d5821a71ce9bed490e5a71987dc03f22e646039 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Sep 21 18:51:27 2015 +0300 drm/sti: hdmi use of_get_i2c_adapter_by_node interface This change is needed to properly lock I2C bus device and driver, which serve DDC lines. Without this change I2C bus driver module may gone in runtime and this won't be noticed by the driver. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 807642d731e08f317e9375e2dcbb49eb0de0daa2 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Sep 21 18:51:26 2015 +0300 drm/sti: hdmi fix i2c adapter device refcounting The commit 53bdcf5f026c ("drm: sti: fix sub-components bind") moves i2c adapter search and locking from .bind() to .probe(), however proper error path in the modified .probe() is not implemented and leftover of the related error path in .bind() remains. This change fixes these issues. Fixes: 53bdcf5f026c ("drm: sti: fix sub-components bind") Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 3a36e186ba4a135a63397a1e58a36f9f602af53e Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 19:02:41 2015 +0200 drm/sti: Do not export symbols None of these exported symbols are used outside of the drm-sti driver, so there is no reason to export them. Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit dcec16efd6776faca6f13ab698cb5cf031d62b66 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 19:02:40 2015 +0200 drm/sti: Build monolithic driver There's no use building the individual drivers as separate modules because they are all only useful if combined into a single DRM/KMS device. Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 2388693e10026ec0be2f7de0bb8fcb5a9bc119f9 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 18:35:38 2015 +0200 drm/sti: Use drm_crtc_vblank_*() API Non-legacy drivers should only use this API to allow per-CRTC data to be eventually moved into struct drm_crtc. Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit df00d029d7f107aa4b35edffca0465664e7289bd Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 18:35:29 2015 +0200 drm/sti: Store correct CRTC index in events A negative pipe causes a special case to be triggered for drivers that don't have proper VBLANK support. STi does support VBLANKs, so there is no need for the fallback code. Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> commit 1352be6eb0f3484bfed6b5676a8e2c34be43ba74 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 12:45:34 2015 +0200 drm/sti: Select FW_LOADER Select FW_LOADER explicitly to satify the direct dependency of FW_LOADER_USER_HELPER_FALLBACK. Acked-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit c5de48539cf1821180f4326c47ac1420625eef00 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 2 13:44:15 2015 +0300 drm/sti: Constify function pointer structs Moves a bunch of junk to .rodata from .data. drivers/gpu/drm/sti/sticompositor.ko: -.text 12216 +.text 12212 -.rodata 1284 +.rodata 1400 -.data 488 +.data 372 drivers/gpu/drm/sti/sti_drv.ko: -.rodata 516 +.rodata 544 -.data 368 +.data 340 drivers/gpu/drm/sti/stidvo.ko: -.text 3356 +.text 3348 -.rodata 188 +.rodata 256 -.data 572 +.data 504 drivers/gpu/drm/sti/sti_hda.ko: -.text 3008 +.text 3004 -.rodata 2820 +.rodata 2888 -.data 684 +.data 616 drivers/gpu/drm/sti/stihdmi.ko: -.text 6988 +.text 6980 -.rodata 1340 +.rodata 1408 -.data 176 +.data 108 Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ac506b7f2233b35f17172304255e08cabc072aad Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Oct 29 19:36:03 2015 +0530 ARCv2: lib: memcpy: use local symbols Otherwise perf profiles don't charge tme to memcpy Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e4208427247ecc7306c8f71ab3c5c08e08cf9fda Author: Ayala Beker <ayala.beker@xxxxxxxxx> Date: Fri Oct 23 11:20:06 2015 +0300 cfg80211: allow AID/listen interval changes for unassociated station Currently, cfg80211 rejects updates of AID and listen interval parameters for existing entries. This information is known only at association stage and as a result it's impossible to update entries that were added unassociated. Fix this by allowing updates of these properies for stations that the driver (or mac80211) assigned unassociated state. This then fixes mac80211's use of NL80211_FEATURE_FULL_AP_CLIENT_STATE. Signed-off-by: Ayala Beker <ayala.beker@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit dcae9e0203dfd887a7413cd38d1f87aaac1127f4 Author: Chaitanya T K <chaitanya.mgit@xxxxxxxxx> Date: Fri Oct 30 23:16:15 2015 +0530 mac80211: document sleep requirements for channel context ops Channel context driver operations can sleep, so add might_sleep() and document this. Signed-off-by: Chaitanya T K <chaitanya.mgit@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ef95d8ba384781ce574c10f87b97d6bab2659735 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sun Oct 25 10:59:42 2015 +0200 mac80211: further improve "no supported rates" warning Allow distinguishing the non-station case from the case of a station without rates, by using -1 for the non-station case. This value cannot be reached with a station since that many legacy rates don't exist. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2ed77ea69205139c3f6016b250d34e09bf48574d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 22 17:46:06 2015 +0200 mac80211: treat bad WMM parameters more gracefully As WMM is required for HT/VHT operation, treat bad WMM parameters more gracefully by falling back to default parameters instead of not using WMM assocation. This makes it possible to still use HT or VHT, although potentially with reduced quality of service due to unintended WMM parameters. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 730a755017139ddedac08d82f73c3532a020d372 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Oct 22 17:46:05 2015 +0200 mac80211: fixup AIFSN instead of disabling WMM Disabling WMM has a huge impact these days. It implies that HT and VHT will be disabled which means that the throughput will be drammatically reduced. Since the AIFSN is a transmission parameter, we can play a bit and fix it up to make it compliant with the 802.11 specification which requires it to be at least 2. Increasing it from 1 to 2 will slightly reduce the likelyhood to get a transmission opportunity compared to other clients that would accept to set AIFSN=1, but at least it will allow HT and VHT which is a huge gain. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cec6628350802b0a652486c41b57d4e1dd37a65c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 22 17:46:04 2015 +0200 mac80211: make enable_qos parameter to ieee80211_set_wmm_default() The function currently determines this value, for use in bss_info.qos, based on the interface type itself. Make it a parameter instead and set it with the same logic for now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e86abc689c5cb963f713c1bab9c37775421a6a96 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 22 17:35:14 2015 +0200 cfg80211/mac80211: clarify RSSI CQM reporting requirements The previous patch changed mac80211 to always report an event after a CQM RSSI reconfiguration. Document that as expected behaviour in both the cfg80211 and mac80211 API. Currently, iwlmvm already implements that behaviour; the other drivers implementing CQM RSSI events may have to be changed. This behaviour lets userspace know what the current state is without relying on querying the data which is racy. Reviewed-by: Sharon, Sara <sara.sharon@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 520c75dcae6e588670962243bac6324e7839b648 Author: Matthias Schiffer <mschiffer@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 21:25:51 2015 +0200 mac80211: fix crash on mesh local link ID generation with VIFs llid_in_use needs to be limited to stations of the same VIF, otherwise it will cause a NULL deref as the sta_info of non-mesh-VIFs don't have sta->mesh set. Steps to reproduce: modprobe mac80211_hwsim channels=2 iw phy phy0 interface add ibss0 type ibss iw phy phy0 interface add mesh0 type mp iw phy phy1 interface add ibss1 type ibss iw phy phy1 interface add mesh1 type mp ip link set ibss0 up ip link set mesh0 up ip link set ibss1 up ip link set mesh1 up iw dev ibss0 ibss join foo 2412 iw dev ibss1 ibss join foo 2412 # Ensure that ibss0 and ibss1 are actually associated; I often need to # leave and join the cell on ibss1 a second time. iw dev mesh0 mesh join bar iw dev mesh1 mesh join bar # crash Signed-off-by: Matthias Schiffer <mschiffer@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 57f255f58165974c131f048b4302728052d92d29 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Oct 25 10:59:34 2015 +0200 mac80211: TDLS: add proper HT-oper IE When 11n peers performs a TDLS connection on a legacy BSS, the HT operation IE must be specified according to IEEE802.11-2012 section 9.23.3.2. Otherwise HT-protection is compromised and the medium becomes noisy for both the TDLS and the BSS links. 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 0d440ea294a00b60ced66c0bc5cb5caa42fd4fbd Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Oct 25 10:59:33 2015 +0200 mac80211: don't reconfigure sched scan in case of wowlan Scheduled scan has to be reconfigured only if wowlan wasn't configured, since otherwise it should continue to run (with the 'any' trigger) or be aborted. The current code will end up asking the driver to start a new scheduled scan without stopping the previous one, and leaking some memory (from the previous request.) Fix this by doing the abort/restart under the proper conditions. 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 968a76cef3d1bb9a3b4d135cd788056e742859f3 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Oct 25 10:59:36 2015 +0200 mac80211: call drv_stop only if driver is started If drv_start() fails during hw_restart, all the running interfaces are being closed/stopped, which results in drv_stop() being called, although the driver was never started successfully. This might cause drivers to perform operations on uninitialized memory (as they assume it was initialized on drv_start) Consider the local->started flag, and call the driver's stop() op only if drv_start() succeeded before. Move drv_start() and drv_stop() to driver-ops.c, as they are no longer simple wrappers. 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 c189a685b83955a39884dc2bdae531bc0adf3b98 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Sun Oct 25 10:59:40 2015 +0200 mac80211: Remove WARN_ON_ONCE in ieee80211_recalc_smps The recalc_smps work can run after the station disassociates. At this stage we already released the channel, but the work will be cancelled only when the interface stops. In this scenario we can hit the warning in ieee80211_recalc_smps, so just remove it. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 43d6df007c0cc111ab8ead8bd95aafab9bb4531d Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Oct 25 10:59:35 2015 +0200 mac80211: use freezable workqueue for restart work Requesting hw restart during suspend might result in the restart work being executed after mac80211 and the hw are suspended. Solve the race by simply scheduling the restart work on a freezable workqueue. Note that there can be some cases of reconfiguration on resume (besides the hardware restart): * wowlan is not configured - All the interfaces removed were removed on suspend, and drv_stop() was called. At this point the driver shouldn't expect for hw_restart anyway, so we can simply cancel it (on resume). * wowlan is configured, drv_resume() == 1 There is no definitive expected behavior in this case, as each driver might have different expectations (e.g. setting some flags on suspend/restart vs. not handling spurious recovery). For now, simply let the hw_restart work run again after resume, and hope the driver will handle it well (or at least initiate another hw restart). 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 a64cba3c5330704a034bd3179270b8d04daf6987 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Sun Oct 25 10:59:38 2015 +0200 mac80211: Fix local deauth while associating Local request to deauthenticate wasn't handled while associating, thus the association could continue even when the user space required to disconnect. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 254d3dfe445f94a764e399ca12e04365ac9413ed Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Oct 25 10:59:41 2015 +0200 mac80211: allow null chandef in tracing In TDLS channel-switch operations the chandef can sometimes be NULL. Avoid an oops in the trace code for these cases and just print a chandef full of zeros. Cc: stable@xxxxxxxxxxxxxxx Fixes: a7a6bdd0670fe ("mac80211: introduce TDLS channel switch ops") 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 4baf6bea37247e59f1971e8009d13aeda95edba2 Author: Ola Olsson <ola1olsson@xxxxxxxxx> Date: Thu Oct 29 07:04:58 2015 +0100 nl80211: Fix potential memory leak from parse_acl_data If parse_acl_data succeeds but the subsequent parsing of smps attributes fails, there will be a memory leak due to early returns. Fix that by moving the ACL parsing later. Cc: stable@xxxxxxxxxxxxxxx Fixes: 18998c381b19b ("cfg80211: allow requesting SMPS mode on ap start") Signed-off-by: Ola Olsson <ola.olsson@xxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 519ee6918b91abdc4bc9720deae17599a109eb40 Author: Janusz.Dziedzic@xxxxxxxxx <Janusz.Dziedzic@xxxxxxxxx> Date: Tue Oct 27 08:35:11 2015 +0100 mac80211: fix divide by zero when NOA update In case of one shot NOA the interval can be 0, catch that instead of potentially (depending on the driver) crashing like this: divide error: 0000 [#1] SMP [...] Call Trace: <IRQ> [<ffffffffc08e891c>] ieee80211_extend_absent_time+0x6c/0xb0 [mac80211] [<ffffffffc08e8a17>] ieee80211_update_p2p_noa+0xb7/0xe0 [mac80211] [<ffffffffc069cc30>] ath9k_p2p_ps_timer+0x170/0x190 [ath9k] [<ffffffffc070adf8>] ath_gen_timer_isr+0xc8/0xf0 [ath9k_hw] [<ffffffffc0691156>] ath9k_tasklet+0x296/0x2f0 [ath9k] [<ffffffff8107ad65>] tasklet_action+0xe5/0xf0 [...] Cc: stable@xxxxxxxxxxxxxxx [3.16+, due to d463af4a1c34 using it] Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ffdc307d038f02617041f8e5c7e3cd00a1706a2a Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:30 2015 +0200 leds: 88pm860x: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression n; expression e,r; @@ for_each_child_of_node(r,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 6cc7624415466022749a868c159ac68367bc9a0e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:29 2015 +0200 leds: bcm6328: add missing of_node_put for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_available_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 4b6ba5e28b2903fa8b51c6d5fdafb2979fe6eeab Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:28 2015 +0200 leds: bcm6358: add missing of_node_put for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_available_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit dde4afe7656084b7886f3b721530c32209842390 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:27 2015 +0200 powerpc/powernv: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit e9aadb864f04f1f7c7f8713fead64a2370be940d Author: Fida Mohammad <fmthoker@xxxxxxxxx> Date: Wed Oct 21 03:58:35 2015 -0700 leds: leds-wrap.c: Use devm_led_classdev_register Use of resource managed function devm_led_classdev_register to make initialization path simpler. Also removed redundant remove function. Signed-off-by: Fida Mohammad <fmthoker@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 10238adb6f2bcc6c418188ef3425ea57297fa3a6 Author: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Date: Thu Oct 22 10:14:07 2015 +0900 leds: aat1290: Fix property naming of flash-timeout-us flash-timeout-us property name is changed to flash-max-timeout-us. This patch fixes that name. Signed-off-by: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 511676230b56249ecb613298f95f9910684fcb4f Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sat Oct 17 05:02:57 2015 +0530 leds: leds-net48xx: Use devm_led_classdev_register Use devm_led_classdev_register instead of led_classdev_register, removing the redundant net48xx_led_remove function. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 81aad9f81e6d89819f12656bd38df9ef639dbe45 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sat Oct 17 01:47:55 2015 +0530 leds: leds-menf21bmc.c: Use devm_led_class_register Use resource-managed function devm_led_classdev_register instead of led_classdev_register, consequently remove redundant menf21bmc_led_remove function. Also drop the unneeded label err_free_leds. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit d43986143463690642bac8897196496d4c776269 Author: Fida Mohammad <fmthoker@xxxxxxxxx> Date: Fri Oct 16 14:33:03 2015 -0700 leds: leds-locomo.c: Use devm_led_classdev_register Use resource managed function devm_led_classdev_register to make initialisation path simpler. Also removed redundant led_classdev_unregister function. Signed-off-by: Fida Mohammad <fmthoker@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 707f33ed85ff423016674d27bb2e60fe8fa352ce Author: Heiko Schocher <hs@xxxxxxx> Date: Tue Oct 13 07:17:12 2015 +0200 leds: leds-gpio: add shutdown function add a shutdown function for setting the gpio-leds into off state when shuting down. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 1d3ff22d633d35048c35c3deeead7ab116cebc32 Author: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Date: Thu Oct 8 12:35:55 2015 +0200 Documentation: leds: update DT bindings for leds-bcm6328 This patch adds latest DT bindings for leds-bcm6328 init register configuration. Signed-off-by: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 9f82c778ce17789a038351a411ff65cd41033c7a Author: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Date: Thu Oct 8 12:35:54 2015 +0200 leds-bcm6328: add more init configuration options This patch adds more init register configuration options: - Serial LEDs multiplexing. - Serial LEDs clock signal low/high polarity. - Serial LEDs data signal low/high polarity. - Serial LEDs shift direction inverted/normal. Signed-off-by: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit d8fe1606d1a7181c877d8b1727cdcfb82f76e91c Author: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Date: Thu Oct 8 12:35:53 2015 +0200 leds-bcm6328: simplify and improve default-state handling This patch simplifies and improves the code related to default-state handling. It also changes the code to power off the LEDs by default. Signed-off-by: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 79653fbb3365002899e7d25ec5ca96aff4241ede Author: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Date: Thu Oct 8 12:35:52 2015 +0200 leds-bcm6328: print invalid LED Print invalid LED instead of warning only about maximum LED value. Signed-off-by: Ã?lvaro Fernández Rojas <noltari@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 7b9d9d88158e99a6a17a292ec4ec47105a771c4f Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sat Sep 26 23:02:38 2015 +0200 leds: netxbig: set led_classdev max_brightness This patch sets the led_classdev max_brightness to the maximum level value supported by hardware. This allows to get rid of the brightness conversion operation (from software [0:LED_FULL] to hardware ranges) in brightness_set(). Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit cd0109555bd118ddb8ee0df0ca5d8f9bd3d7a77f Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sat Sep 26 23:02:37 2015 +0200 leds: netxbig: convert to use the devm_ functions This patch converts the leds-netxbig driver to use the devres functions devm_gpio_request_one() and devm_led_classdev_register(). This allows to simplify the code a bit. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit ebc278f1575942d08ad3278b71cde99bd24eae63 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sat Sep 26 23:02:36 2015 +0200 ARM: mvebu: remove static LED setup for netxbig boards Since DT support is now available for the LEDs found on the LaCie netxbig boards (Kirkwood-based), then the old-fashion netxbig board setup file is no longer needed. This patch removes this file. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 767361fac0f730293c1be8cdf1636cf9510b2245 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sat Sep 26 23:02:35 2015 +0200 ARM: Kirkwood: add LED DT entries for netxbig boards This patch adds DT entries for the LEDs found on the Kirkwood-based LaCie boards 2Big and 5Big Network v2. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 2976b17989094e97567510be3ea91fc2f0c7aab3 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Sat Sep 26 23:02:34 2015 +0200 leds: netxbig: add device tree binding This patch adds device tree support for the netxbig LEDs. This also introduces a additionnal DT binding for the GPIO extension bus (netxbig-gpio-ext) used to configure the LEDs. Since this bus could also be used to control other devices, then it seems more suitable to have it in a separate DT binding. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 1c7b9d0edf5ada916fd02e66355f79f2089ee095 Author: Jiri Prchal <jiri.prchal@xxxxxxxxxxx> Date: Thu Oct 8 10:32:26 2015 +0200 leds: triggers: add invert to heartbeat This patch adds possibility to invert heartbeat blinking. The inverted LED is more time ON then OFF. It's because it looks better when the heartbeat LED is next to other LED which is most time ON. The invert value is exported same way via sysfs in file invert like oneshot. I get inspiration from this trigger. Signed-off-by: Jiri Prchal <jiri.prchal@xxxxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 757b06ae04b3b6c8958ab067e879a8865d076d2a Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Mon Sep 28 14:38:04 2015 +0200 leds: core: Move LED core callbacks out of led-class.c Since the API for controlling LED brightness and blinking is defined in the LED core, move the related timer and work callbacks to the led-core.c, and initialize them through a new led_core_init API. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> commit 22a16873d38829570677871a22cf77f00445206f Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Mon Aug 3 17:04:01 2015 +0200 LED/MIPS: Move SEAD3 LED driver to where it belongs. Fixes the following randconfig problem leds-sead3.c:(.text+0x7dc): undefined reference to `led_classdev_unregister' leds-sead3.c:(.text+0x7e8): undefined reference to `led_classdev_unregister' Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-leds@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 95281b5b598e9805b77dbbaaea400ebc2289bac8 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Mon Sep 7 21:58:29 2015 +0530 leds: leds-ipaq-micro: Fix coding style issues Spaces at the starting of a line are removed, indentation using tab, instead of space. Also, line width of more than 80 characters is also taken care of. Two warnings are left alone to aid better readability. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 431557f4a44f582f83fd83cbee571baeab24b853 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Mon Sep 7 19:43:23 2015 +0530 leds: leds-ipaq-micro: Use devm_led_classdev_register Use of resource-managed function devm_led_classdev_register instead of led_classdev_register is preferred, consequently remove redundant function micro_leds_remove. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit 583a2b2cd73c13a91b5f529466dec4d27716d226 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sat Sep 5 19:53:27 2015 +0530 leds: leds-ot200: Use devm_led_classdev_register Use resource-managed function devm_led_classdev_register instead of led_classdev_register to make the error path simpler. The goto is replaced with direct return, unneeded label err is dropped. Also, remove redundant ot200_led_remove. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit c0fc68ba97b0f96fa4aaa6010ead6b77d3ffc3dd Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Sep 6 01:23:37 2015 +0530 leds: leds-hp6xx: Use devm_led_classdev_register Use resource-managed function devm_led_classdev_register instead of led_classdev_register to simplify error path. An unnecessary check of ret is replaced with a direct return Also, remove redundant hp6xxled_remove. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit aa4e2524955971730ff845c0589f2f8f441ad610 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Sep 4 12:12:01 2015 +0200 leds: leds-cobalt-qube: 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, goto is replaced with direct return, unneeded label err_null is dropped and unnecessary variable retval is removed. Also, remove redundant cobalt_qube_led_remove. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> commit c75960aa7a4ef09bb768fa474071f4190adae49c Merge: 049e6dd 8fb2b9a Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Tue Nov 3 15:24:40 2015 +0800 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal into thermal-soc commit 6ebbabbaed0b38563f62100762e3b3780655f83f Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 15:14:21 2015 +0200 avr32: atngw100: remove useless include Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> commit 1c431cb4615334fb81c0d1c0ede21aa4354c1187 Merge: b459004 79ef5dc Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 3 15:42:59 2015 +1000 Merge branch 'linux-4.4' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next - Vast improvements to gk20a instmem handling. - Improved PGOB detection + GK107 support. - Compatibility between old/new interfaces added, final missing piece to finally enabling userspace to start using them. - Kepler GDDR5 PLL stability improvements - Support for non-GPIO (PWM) voltage controllers - G8x/GT2xx memory clock improvements - Misc other fixes * 'linux-4.4' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (45 commits) drm/nouveau: bump patchlevel to indicate availability of abi16/nvif interop drm/nouveau/abi16: implement limited interoperability with usif/nvif drm/nouveau/abi16: introduce locked variant of nouveau_abi16_get() drm/nouveau/abi16: remove unused argument from nouveau_abi16_get() drm/nouveau/pci: enable c800 magic for Medion Erazer X7827 drm/nouveau/pci: enable c800 magic for Lenovo Y510P drm/nouveau/pll/gk104: fix PLL instability due to bad configuration with gddr5 drm/nouveau/clk/g84: Enable reclocking for GDDR3 G94-G200 drm/nouveau/bus/hwsq: Implement VBLANK waiting heuristic drm/nouveau/fb/ramnv50: Script changes for G94 and up drm/nouveau/fb/ramnv50: Deal with cards without timing entries drm/nouveau/fb/ramnv50: Voltage GPIOs drm/nouveau/fb/ramgt215: Restructure r111100 calculation for DDR2 drm/nouveau/fb/ramgt215: Change FBVDD/Q when BIOS asks for it drm/nouveau/fb/ramgt215: Transform GPIO ramfuc method from FBVREF-specific to generic drm/nouveau/bios/rammap: Identify DLLoff for >= GF100 drm/nouveau/pci: Handle 5-bit and 8-bit tag field drm/nouveau/disp,pm: constify nvkm_object_func structures drm/nouveau/gr: add FERMI_COMPUTE_B class to GF110+ drm/nouveau/gr: document mp error 0x10 ... commit b4590047966ba35a626f947c3fee2c4ed7081685 Merge: c0f3f90 df547bf7 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 3 15:42:10 2015 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next This pull request includes comprehensive cleanups to HDMI part and several fixups. In addition, this pull request includes also a defconfig patch which enables mixer driver as default. For this, I got already Acked-by from Krzysztof Kozlowski who is a Exynos SoC maintainer. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (34 commits) drm/exynos/gem: remove DMA-mapping hacks used for constructing page array ARM: exynos_defconfig: enable Exynos DRM Mixer driver drm/exynos: simplify Kconfig component names drm/exynos: re-arrange Kconfig entries drm/exynos: abstract out common dependency drm/exynos: separate Mixer and HDMI drivers drm/exynos/mixer: replace direct cross-driver call with drm mode validation drm/exynos: add atomic_check callback to exynos_crtc drm/exynos/decon5433: add support for DECON-TV drm/exynos/decon5433: remove duplicated initialization drm/exynos/decon5433: merge different flag fields drm/exynos/decon5433: add function to set particular register bits drm/exynos/decon5433: fix timing registers writes drm/exynos/decon5433: add PCLK clock drm/exynos: cleanup name of gem object for exynos_drm drm/exynos: fix to detach device of iommu drm/exynos: add cursor plane support drm/exynos: add global macro for the default primary plane drm/exynos: fix spelling errors drm: exynos: mixer: fix using usleep() in atomic context ... commit 79ef5dca5e5cd5a33662d64c927c1b9786d4edee Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Nov 3 12:40:13 2015 +1000 drm/nouveau: bump patchlevel to indicate availability of abi16/nvif interop Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2621a41647fe783be809e789faa5d8b6b06c8072 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Nov 3 11:21:43 2015 +1000 drm/nouveau/abi16: implement limited interoperability with usif/nvif Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 786a57ef2cebb2d09d7f152b0ed4f1da1d368073 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Nov 3 10:55:45 2015 +1000 drm/nouveau/abi16: introduce locked variant of nouveau_abi16_get() USIF already takes the client mutex, but will need access to ABI16 data in order to provide some limited interoperability. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 09433f24e6e16e590b289489f1f4e16d92e79080 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Nov 3 10:17:49 2015 +1000 drm/nouveau/abi16: remove unused argument from nouveau_abi16_get() Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b41c48571d504f293a9a6a6cfd6c8e5dcb4ccf83 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Sat Oct 31 15:06:11 2015 -0400 drm/nouveau/pci: enable c800 magic for Medion Erazer X7827 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91557 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a2736b07df1f17c24c8890eb7b2dac529d9725d3 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Tue Oct 27 17:39:49 2015 -0400 drm/nouveau/pci: enable c800 magic for Lenovo Y510P Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70354#c75 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 78eaf335e4c8224e74e5d512f20ec48109db9dac Author: Karol Herbst <nouveau@xxxxxxxxxxxxxx> Date: Sun Aug 16 10:19:25 2015 +0200 drm/nouveau/pll/gk104: fix PLL instability due to bad configuration with gddr5 This patch uses an approach closer to the nvidia driver to configure both PLLs for high gddr5 memory clocks (usually above 2400MHz) Previously nouveau used the one PLL as it was used for the lower clocks and just adjusted the second PLL to get as close as possible to the requested clock. This means for my card, that I got a 4050 MHz clock although 4008 MHz was requested. Now the driver iterates over a list of PLL configuration also used by the nvidia driver and then adjust the second PLL to get near the requested clock. Also it hold to some restriction I found while analyzing the PLL configurations This won't fix all gddr5 high clock issues itself, but it should be fine on hybrid gpu systems as found on many laptops these days. Also switching while normal desktop usage should be a lot more stable than before. v2: move the pll code into ramgk104 Signed-off-by: Karol Herbst <nouveau@xxxxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0d42743dfa908a2ca4e349f883361906ebb4db95 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:52 2015 +0100 drm/nouveau/clk/g84: Enable reclocking for GDDR3 G94-G200 Your milage may vary, as it's only been tested on a single G94 and one G96. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Tested-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 271c27665c2d2f719a2fca6a3530a82984f22cca Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:51 2015 +0100 drm/nouveau/bus/hwsq: Implement VBLANK waiting heuristic Avoids waiting for VBLANKS that never arrive on headless or otherwise unconventional set-ups. Strategy taken from MEMX. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Tested-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4d9faafa0fdda2f4ba04b5cdffc0af1bab2312f4 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:50 2015 +0100 drm/nouveau/fb/ramnv50: Script changes for G94 and up 10053c is not even read on some cards, and I have no idea exactly what the criteria are. Likely NVIDIA pre-scans the VBIOS and in their driver disables all features that are never used. The practical effect should be the same as this implementation though. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Tested-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 797eb6ed8f13bb2f88bd605515990ef795a1eff7 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:49 2015 +0100 drm/nouveau/fb/ramnv50: Deal with cards without timing entries Like Pierre's G94. We might want to structure Kepler similarly in a follow-up. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Tested-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1cf688dd1b6f8f3ab998000e0f14b37041c77e30 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:48 2015 +0100 drm/nouveau/fb/ramnv50: Voltage GPIOs Does not seem to be necessary for NVA0, hence untested by me. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Tested-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 0b0b78cd7def0fc001fc8cefa8621823bff6a8e5 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:47 2015 +0100 drm/nouveau/fb/ramgt215: Restructure r111100 calculation for DDR2 Seems to be mostly equal to DDR3 on < GT218, should improve stability for DDR2 reclocks. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit ef6e8f4c7fd017ee66fc4b0fd3cfeae48c2e26d5 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:46 2015 +0100 drm/nouveau/fb/ramgt215: Change FBVDD/Q when BIOS asks for it Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e0a37f85fc95e3f2550446316bc4a27d00d75993 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:45 2015 +0100 drm/nouveau/fb/ramgt215: Transform GPIO ramfuc method from FBVREF-specific to generic In preparation of changing FBVDDQ, as observed on at least one GDDR3 card. While at it, adhere to func.log[1] properly for consistency. Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b4f2bf33bb1d50f1b52fae673dc85dfd750e6712 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Wed Sep 30 00:23:44 2015 +0100 drm/nouveau/bios/rammap: Identify DLLoff for >= GF100 Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5d5b43f59bd214506265ea05a013229ff5291101 Author: Pierre Moreau <pierre.morrow@xxxxxxx> Date: Sat Oct 3 21:35:16 2015 +0200 drm/nouveau/pci: Handle 5-bit and 8-bit tag field If the hardware supports extended tag field (8-bit ones), then enable it. This is usually done by the VBIOS, but not on some MBPs (see fdo#86537). In case extended tag field is not supported, 5-bit tag field is used which limits the possible number of requests to 32. Apparently bits 7:0 of 0x08841c stores some number of outstanding requests, so cap it to 32 if extended tag is unsupported. Fixes: fdo#86537 v2: Restrict changes to chipsets >= 0x84 v3: * Add nvkm_pci_mask to pci.h * Mask bit 8 before setting it v4: * Rename `add` argument of nvkm_pci_mask to `value` * Move code from nvkm_pci_init to g84_pci_init and remove PCIe and chipset checks v5: * Rebase code on latest PCI structure * Restore PCIe check * Fix namings in nvkm_pci_mask * Rephrase part of the commit message Signed-off-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 354a22496613366833edfe29300a6bfe6482255c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Oct 11 14:18:09 2015 +0200 drm/nouveau/disp,pm: constify nvkm_object_func structures These nvkm_object_func structures are never modified. All other nvkm_object_func structures are declared as const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2e69a5cd25a131cf283d3b655c01fb6db15dd60c Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Wed Oct 7 18:39:33 2015 -0400 drm/nouveau/gr: add FERMI_COMPUTE_B class to GF110+ GF110+ supports both the A and B compute classes, make sure to accept both. Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3988f645f053a6889d00324dac3e57bd62cb8900 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Wed Oct 7 18:39:32 2015 -0400 drm/nouveau/gr: document mp error 0x10 NVIDIA provided the documentation for mp error 0x10, INVALID_ADDR_SPACE, which apparently happens when trying to use an atomic operation on local or shared memory (instead of global memory). Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bad4274a69328256eb3eaad4baaefd1b33491f7e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 11 15:00:56 2015 +0530 drm/nouveau: fix memory leak If pm_runtime_get_sync() we were going to "out" but we missed freeing vma. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4458c5639ba827d494ab06a81d1bb129ca5aea91 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 2 12:08:08 2015 +0530 drm/nouveau: remove unused function coverity.com reported that memset was using a buffer of size 0, on checking the code it turned out that the function was not being used. So remove it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3c9aca318150ba1152e957a37473ff67d8ebba30 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 15:00:23 2015 +1000 drm/nouveau/pmu/gk107: enable PGOB codepaths Reported to be needed as per fdo#70354 comment #61. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 560f989fe4260f0c729d3fc8a8691a3a02815f25 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 14:58:04 2015 +1000 drm/nouveau/pmu/gk104: check fuse to determine presence of PGOB Not 100% confirmed, but seems to match from the few boards I've looked at so far. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 779d16aacc192bc70232304ffc6b86dcedad1b45 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 09:42:54 2015 +1000 drm/nouveau/pci: prepare for chipset-specific initialisation tasks Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c4266a9c7b0ee66b3d1ca22745d8eb9472e21b4b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 11:36:58 2015 +1000 drm/nouveau/pci/nv46: attempt to fix msi, and re-enable by default Was not able to obtain a trace of NVRM due to kernel version annoyances, however, experimentally confirmed that the WAR we use on NV50/G8x boards works here too. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b31505c472f2451c6143bf4727e79ea177a35ca5 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 09:34:45 2015 +1000 drm/nouveau/pci/g94: split implementation from nv40 An upcoming patch will implement functionality that we don't use on any NV40 chipset. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3e55b53bc7039f1a6b051aa1a5ba15eec6dce2e7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 1 09:29:58 2015 +1000 drm/nouveau/pci/g84: split implementation from nv50 An upcoming patch will implement functionality that we don't use on the original NV50. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b6afa2650cb3ed4ec8ba0c2ccb29c1dc99e039d5 Author: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Date: Thu Sep 24 20:26:15 2015 +0200 drm/nouveau/ibus/gf100: increase wait timeout to avoid read faults Increase clock timeout of some unknown engines in order to avoid failure at high gpcclk rate. This fixes IBUS read faults on my GF119 when reclocking is manually enabled. Note that memory reclocking is completely broken and NvMemExec has to be disabled to allow core clock reclocking only. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 24580d1c310d5987f72adbb49bf3e976a5e5313b Author: Martin Peres <martin.peres@xxxxxxx> Date: Wed Sep 16 22:45:33 2015 +0300 drm/nouveau/gm204/6: add voltage control using the new gk104 volt class I got confirmation that we can read and change the voltage with the same code. The divider is also computed correctly on the gm204 we got our hands on. Thanks to Yoshimo on IRC for executing the tests on his gm204! Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit dc47700f7d965ca0c6abeccc8cf467de8a1ce768 Author: Martin Peres <martin.peres@xxxxxxx> Date: Wed Sep 9 02:13:30 2015 +0200 drm/nouveau/gm107: add voltage control using the new gk104 volt class Let's ignore the other desktop Maxwells until I get my hands on one and confirm that we still can change the voltage. Signed-off-by: Martin Peres <martin.peres@xxxxxxx> commit 1531dbbb56820d4e0fee4f9baa9fc84485bb6623 Author: Martin Peres <martin.peres@xxxxxxx> Date: Wed Sep 9 00:34:33 2015 +0200 drm/nouveau/volt/gk104: add support for pwm and gpio modes Most Keplers actually use the GPIO-based voltage management instead of the new PWM-based one. Use the GPIO mode as a fallback as it already gracefully handles the case where no GPIOs exist. All the Maxwells seem to use the PWM method though. v2: - Do not forget to commit the PWM configuration change! Signed-off-by: Martin Peres <martin.peres@xxxxxxx> commit 4c58a05b4a4709db7a1667d740f3ac2725fa3ce4 Author: Martin Peres <martin.peres@xxxxxxx> Date: Wed Sep 9 04:05:51 2015 +0300 drm/nouveau/volt: add support for non-vid-based voltage controllers This patch is not ideal but it definitely beats a rewrite of the current interface and is very self-contained. Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7bddeba9663962a5bd507e636c84361852314f04 Author: Martin Peres <martin.peres@xxxxxxx> Date: Wed Sep 9 04:05:50 2015 +0300 drm/nouveau/bios/volt: add support for pwm-based volt management Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b31cf78b93243f8ff64297c1f77a4d030c32ca56 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Sep 4 19:59:34 2015 +0900 drm/nouveau/ttm: set the DMA mask for platform devices So far the DMA mask was not set for platform devices, which limited them to a 32-bit physical space. Allow dma_set_mask() to be called for non-PCI devices, and also take the IOMMU bit into account since it could restrict the physically addressable space. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 524883bb48464ed76bd635819989284a249bf917 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Sep 4 19:59:33 2015 +0900 drm/nouveau/ttm: convert to DMA API The pci_dma_* functions are now superseeded in the kernel by the DMA API. Make the conversion to this more generic API. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 68b566534c1275facf64969cfd643fa6a724b351 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Sep 4 19:59:32 2015 +0900 drm/nouveau/instmem/gk20a: make use of the IOMMU bit Use the IOMMU bit specified in platform data instead of hardcoding it to the bit used by current Tegra GPUs. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e396ecd178c6c8373e765d78b5b1a29e38837d3a Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Sep 4 19:59:31 2015 +0900 drm/nouveau/platform: allow to specify the IOMMU bit Current Tegra code taking advantage of the IOMMU assumes a hardcoded value for the IOMMU bit. Make it a platform property instead for flexibility. v2 (Ben Skeggs): remove nvkm dependence on drm structures Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 69c4938249fb48aeed32fd76c67972e71f471cd2 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Fri Sep 4 19:52:11 2015 +0900 drm/nouveau/instmem/gk20a: use direct CPU access The Great Nouveau Refactoring Take II brought us a lot of goodness, including acquire/release methods that are called before and after an instobj is modified. These functions can be used as synchronization points to manage CPU/GPU coherency if we modify an instobj using the CPU. This patch replaces the legacy and slow PRAMIN access for gk20a instmem with CPU mappings and writes. A LRU list is used to unmap unused mappings after a certain threshold (currently 1MB) of mapped instobjs is reached. This allows mappings to be reused most of the time. Accessing instobjs using the CPU requires to maintain the GPU L2 cache, which we do in the acquire/release functions. This triggers a lot of L2 flushes/invalidates, but most of them are performed on an empty cache (and thus return immediately), and overall context setup performance greatly benefits from this (from 250ms to 160ms on Jetson TK1 for a simple libdrm program). Making L2 management more explicit should allow us to grab some more performance in the future. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit fcf3f91c34105c3551741febbfc1066aaa7f1db7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Fri Sep 4 14:40:32 2015 +1000 drm/nouveau: remove unnecessary usage of object handles No longer required in a lot of cases, as objects are identified over NVIF via an alternate mechanism since the rework. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a0a49bac2fe18375b7ccb9de4671960531294470 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Sep 3 17:48:15 2015 +0900 drm/nouveau/ltc/gf100: add flush/invalidate functions Allow clients to manually flush and invalidate L2. This will be useful for Tegra systems for which we want to write instmem using the CPU. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 38a8fc78d00749328888bb0e37ad93535e7e9992 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Sep 3 17:48:14 2015 +0900 drm/nouveau/ltc: add hooks for invalidate and flush These are useful for systems without a coherent CPU/GPU bus. For such systems we may need to maintain the L2 ourselves. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 542f60dc84c6f382a56a0b42dc09aa183198a55f Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Sep 3 17:48:13 2015 +0900 drm/nouveau/timer: re-introduce nvkm_wait_xsec macros Reintroduce macros allowing us to test a register against a certain mask, since this is the most common usage pattern for the more generic nvkm_xsec macros and makes the code more concise and readable. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 579b7c58215329803ce184704463de09f0f310ac Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Thu Sep 3 17:39:52 2015 +0900 drm/nouveau/pmu: do not assume a PMU is present Some devices may not have a PMU. Avoid a NULL pointer dereference in such cases by checking whether the pointer given to nvkm_pmu_pgob() is valid. Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 04b8a4bd8e01e25b9fa9fa7b1c957a7346ae83c1 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Tue Oct 20 01:15:39 2015 -0400 drm/nouveau/gem: return only valid domain when there's only one On nv50+, we restrict the valid domains to just the one where the buffer was originally created. However after the buffer is evicted to system memory, we might move it back to a different domain that was not originally valid. When sharing the buffer and retrieving its GEM_INFO data, we still want the domain that will be valid for this buffer in a pushbuf, not the one where it currently happens to be. This resolves fdo#92504 and several others. These are due to suspend evicting all buffers, making it more likely that they temporarily end up in the wrong place. Cc: stable@xxxxxxxxxxxxxxx Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92504 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f3951a3709ff50990bf3e188c27d346792103432 Author: Calvin Owens <calvinowens@xxxxxx> Date: Fri Oct 30 16:57:00 2015 -0700 sg: Fix double-free when drives detach during SG_IO In sg_common_write(), we free the block request and return -ENODEV if the device is detached in the middle of the SG_IO ioctl(). Unfortunately, sg_finish_rem_req() also tries to free srp->rq, so we end up freeing rq->cmd in the already free rq object, and then free the object itself out from under the current user. This ends up corrupting random memory via the list_head on the rq object. The most common crash trace I saw is this: ------------[ cut here ]------------ kernel BUG at block/blk-core.c:1420! Call Trace: [<ffffffff81281eab>] blk_put_request+0x5b/0x80 [<ffffffffa0069e5b>] sg_finish_rem_req+0x6b/0x120 [sg] [<ffffffffa006bcb9>] sg_common_write.isra.14+0x459/0x5a0 [sg] [<ffffffff8125b328>] ? selinux_file_alloc_security+0x48/0x70 [<ffffffffa006bf95>] sg_new_write.isra.17+0x195/0x2d0 [sg] [<ffffffffa006cef4>] sg_ioctl+0x644/0xdb0 [sg] [<ffffffff81170f80>] do_vfs_ioctl+0x90/0x520 [<ffffffff81258967>] ? file_has_perm+0x97/0xb0 [<ffffffff811714a1>] SyS_ioctl+0x91/0xb0 [<ffffffff81602afb>] tracesys+0xdd/0xe2 RIP [<ffffffff81281e04>] __blk_put_request+0x154/0x1a0 The solution is straightforward: just set srp->rq to NULL in the failure branch so that sg_finish_rem_req() doesn't attempt to re-free it. Additionally, since sg_rq_end_io() will never be called on the object when this happens, we need to free memory backing ->cmd if it isn't embedded in the object itself. KASAN was extremely helpful in finding the root cause of this bug. Signed-off-by: Calvin Owens <calvinowens@xxxxxx> Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 5f6c99e0ab805d8ec9eda105822912d49aa1d409 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Tue Nov 3 12:27:33 2015 +0800 net: phy: fix a bug in get_phy_c45_ids When probing devices-in-package for a c45 phy, device zero is the last device to probe, however, if driver reads 0 from device zero, c45_ids->devices_in_package is set to '0', the loop condition of probing will be matched again, see codes below: for (i = 1;i < num_ids && c45_ids->devices_in_package == 0;i++) driver will run in a dead loop. This patch restructures the bug and confusing loop, it provides a helper function get_phy_c45_devs_in_pkg which to read devices-in-package registers of a MMD, and rewrites the loop with using the helper function. Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd867d51f889aec11cca235ebb008578780d052d Author: Jarod Wilson <jarod@xxxxxxxxxx> Date: Mon Nov 2 21:55:59 2015 -0500 net/core: generic support for disabling netdev features down stack There are some netdev features, which when disabled on an upper device, such as a bonding master or a bridge, must be disabled and cannot be re-enabled on underlying devices. This is a rework of an earlier more heavy-handed appraoch, which simply disables and prevents re-enabling of netdev features listed in a new define in include/net/netdev_features.h, NETIF_F_UPPER_DISABLES. Any upper device that disables a flag in that feature mask, the disabling will propagate down the stack, and any lower device that has any upper device with one of those flags disabled should not be able to enable said flag. Initially, only LRO is included for proof of concept, and because this code effectively does the same thing as dev_disable_lro(), though it will also activate from the ethtool path, which was one of the goals here. [root@dell-per730-01 ~]# ethtool -k bond0 |grep large large-receive-offload: on [root@dell-per730-01 ~]# ethtool -k p5p1 |grep large large-receive-offload: on [root@dell-per730-01 ~]# ethtool -K bond0 lro off [root@dell-per730-01 ~]# ethtool -k bond0 |grep large large-receive-offload: off [root@dell-per730-01 ~]# ethtool -k p5p1 |grep large large-receive-offload: off dmesg dump: [ 1033.277986] bond0: Disabling feature 0x0000000000008000 on lower dev p5p2. [ 1034.067949] bnx2x 0000:06:00.1 p5p2: using MSI-X IRQs: sp 74 fp[0] 76 ... fp[7] 83 [ 1034.753612] bond0: Disabling feature 0x0000000000008000 on lower dev p5p1. [ 1035.591019] bnx2x 0000:06:00.0 p5p1: using MSI-X IRQs: sp 62 fp[0] 64 ... fp[7] 71 This has been successfully tested with bnx2x, qlcnic and netxen network cards as slaves in a bond interface. Turning LRO on or off on the master also turns it on or off on each of the slaves, new slaves are added with LRO in the same state as the master, and LRO can't be toggled on the slaves. Also, this should largely remove the need for dev_disable_lro(), and most, if not all, of its call sites can be replaced by simply making sure NETIF_F_LRO isn't included in the relevant device's feature flags. Note that this patch is driven by bug reports from users saying it was confusing that bonds and slaves had different settings for the same features, and while it won't be 100% in sync if a lower device doesn't support a feature like LRO, I think this is a good step in the right direction. CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Eric Dumazet <edumazet@xxxxxxxxxx> CC: Jay Vosburgh <j.vosburgh@xxxxxxxxx> CC: Veaceslav Falico <vfalico@xxxxxxxxx> CC: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> CC: Jiri Pirko <jiri@xxxxxxxxxxx> CC: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx> CC: Michal Kubecek <mkubecek@xxxxxxx> CC: Alexander Duyck <alexander.duyck@xxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c913df3f3d6f7f5e5ed845e2786b0fc98a41482f Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:31 2015 -0400 pm80xx: avoid a panic if MSI(X) interrupts are disabled If MSI(X) interrupts are disabled via the kernel command line (pci=nomsi), the pm8001 driver will kernel panic because it does not detect that MSI interrupts are disabled and will soldier on and attempt to configure MSI interrupts anyways. This leads to a kernel panic, most likely because a required data structure is not available down the line. Using the pci_msi_enabled() function in order to detect if MSI interrupts are enabled before configuring them resolves this issue and avoids a kernel panic when the module is loaded. Additionally, the irq_vector structure must be initialized when legacy interrupts are being used otherwise legacy interrupts will simply not function and result in another panic. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit b650a8806e1ba0315fbeda8b45c9e53d73abbb6f Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Mon Nov 2 15:42:29 2015 -0500 pm80xx: wait a minimum of 500ms before issuing commands to SPCv The documentation for the 8070 and 8072 SPCv chip explicitly states that a minimum of 500ms must elapse before issuing commands, otherwise the SPCv may not process them and the firmware may get into an unrecoverable state requiring a reboot. While the Linux guys will probably think this is 'racy', it is called out in the chip documentation and inserting this delay makes power management function properly. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit faf321b0b7fe3bfcb00ceb5192ecce9d6257dc06 Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:29 2015 -0400 pm80xx: do not examine registers for iButton feature if ATTO adapter ATTO adapters do not support this feature. If the firmware fails to be ready, it should not check the examined registers in order to examine the state of the feature in order to prevent undefined behavior. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c5614df7ffa74d2fcb591eb4e9008ca38f0bc8c1 Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:28 2015 -0400 pm80xx: set PHY profiles for ATTO 12Gb SAS controllers PHY profiles are not saved in NVRAM on ATTO 12Gb SAS controllers. Therefore, in order for the controller to function in a wide range of configurations, the PHY profiles must be statically set. This patch provides the necessary functionality to do so. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 10efa460fe23c4def83fb98be311502b5c5961fa Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Mon Nov 2 15:39:23 2015 -0500 pm80xx: add support for ATTO devices during SAS address initiailization ATTO SAS controllers retrieve the SAS address from the NVRAM in a location different from non-ATTO PMC Sierra SAS controllers. This patch makes the necessary adjustments in order to retrieve the SAS address on these types of adapters. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit b2dece485966b10012bd16302f05fdde33400ec4 Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:26 2015 -0400 pm80xx: add ATTO PCI IDs to pm8001_pci_table These PCI IDs allow the pm8001 driver to load against ATTO 12Gb SAS controllers that use PMC Sierra 8070 and PMC Sierra 8072 SAS chips. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit db9d4034daa95e64874acd948778d45cb46ae625 Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:25 2015 -0400 pm80xx: add support for PMC Sierra 8070 and PMC Sierra 8072 SAS controllers These SAS controllers support speeds up to 12Gb. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit da2dd6184b6178c12ca3d953356962a6ef5cfaff Author: Benjamin Rood <benjaminjrood@xxxxxxxxx> Date: Fri Oct 30 10:53:24 2015 -0400 pm80xx: configure PHY settings based on subsystem vendor ID Previuosly, all PMC Sierra 80xx controllers are assumed to be a motherboard controller, except if the subsystem vendor ID was equal to PCI_VENDOR_ID_ADAPTEC. The driver then attempts to load PHY settings from NVRAM. While this may be correct behavior for most controllers, it does not work with Adaptec and ATTO controllers since they do not store PHY settings in NVRAM and choose to use either custom PHY settings or chip defaults. Loading random values from NVRAM may cause the controllers to malfunction in this edge case. Signed-off-by: Benjamin Rood <brood@xxxxxxxxxxxx> Reviewed-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit b39c9a661b9bc77e064cade26cf913a1d4255d55 Author: Brian King <brking@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:47:06 2015 -0500 SCSI: Increase REPORT_LUNS timeout This patch fixes an issue seen with an IBM 2145 (SVC) where, following an error injection test which results in paths going offline, when they came back online, the path would timeout the REPORT_LUNS issued during the scan. This timeout situation continued until retries were expired, resulting in falling back to a sequential LUN scan. Then, since the target responds with PQ=1, PDT=0 for all possible LUNs, due to the way the sequential LUN scan code works, we end up adding 512 LUNs for each target, when there is really only a small handful of LUNs that are actually present. This patch increases the timeout used on the REPORT_LUNS to 30 seconds. This patch solves the issue of 512 non existent LUNs showing up after this event. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit b2663a4f30e85ec606b806f5135413e6d5c78d1e Author: Martin Habets <mhabets@xxxxxxxxxxxxxx> Date: Mon Nov 2 12:51:31 2015 +0000 sfc: push partner queue for skb->xmit_more When the IP stack passes SKBs the sfc driver puts them in 2 different TX queues (called partners), one for checksummed and one for not checksummed. If the SKB has xmit_more set the driver will delay pushing the work to the NIC. When later it does decide to push the buffers this patch ensures it also pushes the partner queue, if that also has any delayed work. Before this fix the work in the partner queue would be left for a long time and cause a netdev watchdog. Fixes: 70b33fb ("sfc: add support for skb->xmit_more") Reported-by: Jianlin Shi <jishi@xxxxxxxxxx> Signed-off-by: Martin Habets <mhabets@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c238041f517d0a6458264582e8e2a1513766f8e7 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Nov 3 01:28:07 2015 +0300 sh_eth: fix typo in RX descriptor bit name The correct name of the RX descriptor 0 bit 30 is RDLE (receive descriptor list end), not RDEL. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8051156d1d3dd99d02e0bf5b127fc8d32f30f69 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:41:14 2015 +0530 megaraid_sas : Remove debug print from function megasas_update_span_set Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit afb2b5ddac9f3727983030bc4450e9e3b5956b2a Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:41:04 2015 +0530 megaraid_sas : Driver version upgrade Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 323c4a02c631d00851d8edc4213c4d184ef83647 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:54 2015 +0530 megaraid_sas : SMAP restriction--do not access user memory from IOCTL code This is an issue on SMAP enabled CPUs and 32 bit apps running on 64 bit OS. Do not access user memory from kernel code. The SMAP bit restricts accessing user memory from kernel code. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 4ece9009774596ee3df0acba65a324b7ea79387c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Nov 2 17:08:19 2015 -0800 sit: fix sit0 percpu double allocations sit0 device allocates its percpu storage twice : - One time in ipip6_tunnel_init() - One time in ipip6_fb_tunnel_init() Thus we leak 48 bytes per possible cpu per network namespace dismantle. ipip6_fb_tunnel_init() can be much simpler and does not return an error, and should be called after register_netdev() Note that ipip6_tunnel_clone_6rd() also needs to be called after register_netdev() (calling ipip6_tunnel_init()) Fixes: ebe084aafb7e ("sit: Use ipip6_tunnel_init as the ndo_init function.") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a176ded3f4bdbd267bc9a79bde12d984c8c517b2 Merge: 12d4309 52bc671 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 22:52:24 2015 -0500 Merge branch 'bonding-actor-updates' Mahesh Bandewar says: ==================== re-org actor admin/oper key updates I was observing machines entering into weird LACP state when the partner is in passive mode. This issue is not because of the partners in passive state but probably because of some operational key update which is pushing the state-machine is that weird state. This was happening randomly on about 1% of the machine (when the sample size is a large set of machines with a variety of NICs/ports bonded). In this patch-series I'm attempting to unify the logic of actor-key / operational-key changes to one place to avoid possible errors in update. Also this eliminates the need for the event-handler to decide if the key needs update. After this patch-set none of the machines (from same sample set) were exhibiting LACP-weirdness that was observed earlier. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52bc67168109ade61014a36feedf09f4bc53d8f1 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Sat Oct 31 12:45:11 2015 -0700 bonding: simplify / unify event handling code for 3ad mode. Old logic of updating state-machine is not required since ad_update_actor_keys() does it implicitly. The only loss is the notification differentiation between speed vs. duplex change. Now only one unified notification is printed. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7bb11dc9f59ddcb33ee317da77b235235aaa582a Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Sat Oct 31 12:45:06 2015 -0700 bonding: unify all places where actor-oper key needs to be updated. actor_admin, and actor_oper key is changed at multiple locations in the code. This patch brings all those updates into one location in an attempt to avoid possible inconsistent updates causing LACP state machine to go in weird state. The unified place is ad_update_actor_key() with simple state-machine logic - (a) If port is "duplex" then only it can participate in LACP (b) Speed change reinitializes the LACP state-machine. Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b25c2e7d3c44aaadee55d70f70c31cbc9014c713 Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Sat Oct 31 12:45:00 2015 -0700 bonding: Simplify __get_duplex function. Eliminate 'else' clause by simply initializing variable Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12d4309636d30770b54985be05ac512131f328b8 Merge: 1d6119b 42984d7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 22:48:39 2015 -0500 Merge branch 'bpf-persistent' Daniel Borkmann says: ==================== BPF updates This set adds support for persistent maps/progs. Please see individual patches for further details. A man-page update to bpf(2) will be sent later on, also a iproute2 patch for support in tc. v1 -> v2: - Reworked most of patch 4 and 5 - Rebased to latest net-next ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42984d7c1e563bf92e6ca7a0fd89f8e933f2162e Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 29 14:58:10 2015 +0100 bpf: add sample usages for persistent maps/progs This patch adds a couple of stand-alone examples on how BPF_OBJ_PIN and BPF_OBJ_GET commands can be used. Example with maps: # ./fds_example -F /sys/fs/bpf/m -P -m -k 1 -v 42 bpf: map fd:3 (Success) bpf: pin ret:(0,Success) bpf: fd:3 u->(1:42) ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m -G -m -k 1 bpf: get fd:3 (Success) bpf: fd:3 l->(1):42 ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m -G -m -k 1 -v 24 bpf: get fd:3 (Success) bpf: fd:3 u->(1:24) ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m -G -m -k 1 bpf: get fd:3 (Success) bpf: fd:3 l->(1):24 ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m2 -P -m bpf: map fd:3 (Success) bpf: pin ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m2 -G -m -k 1 bpf: get fd:3 (Success) bpf: fd:3 l->(1):0 ret:(0,Success) # ./fds_example -F /sys/fs/bpf/m2 -G -m bpf: get fd:3 (Success) Example with progs: # ./fds_example -F /sys/fs/bpf/p -P -p bpf: prog fd:3 (Success) bpf: pin ret:(0,Success) bpf sock:4 <- fd:3 attached ret:(0,Success) # ./fds_example -F /sys/fs/bpf/p -G -p bpf: get fd:3 (Success) bpf: sock:4 <- fd:3 attached ret:(0,Success) # ./fds_example -F /sys/fs/bpf/p2 -P -p -o ./sockex1_kern.o bpf: prog fd:5 (Success) bpf: pin ret:(0,Success) bpf: sock:3 <- fd:5 attached ret:(0,Success) # ./fds_example -F /sys/fs/bpf/p2 -G -p bpf: get fd:3 (Success) bpf: sock:4 <- fd:3 attached ret:(0,Success) Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2197755b2633e164a439682fb05a9b5ea48f706 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 29 14:58:09 2015 +0100 bpf: add support for persistent maps/progs This work adds support for "persistent" eBPF maps/programs. The term "persistent" is to be understood that maps/programs have a facility that lets them survive process termination. This is desired by various eBPF subsystem users. Just to name one example: tc classifier/action. Whenever tc parses the ELF object, extracts and loads maps/progs into the kernel, these file descriptors will be out of reach after the tc instance exits. So a subsequent tc invocation won't be able to access/relocate on this resource, and therefore maps cannot easily be shared, f.e. between the ingress and egress networking data path. The current workaround is that Unix domain sockets (UDS) need to be instrumented in order to pass the created eBPF map/program file descriptors to a third party management daemon through UDS' socket passing facility. This makes it a bit complicated to deploy shared eBPF maps or programs (programs f.e. for tail calls) among various processes. We've been brainstorming on how we could tackle this issue and various approches have been tried out so far, which can be read up further in the below reference. The architecture we eventually ended up with is a minimal file system that can hold map/prog objects. The file system is a per mount namespace singleton, and the default mount point is /sys/fs/bpf/. Any subsequent mounts within a given namespace will point to the same instance. The file system allows for creating a user-defined directory structure. The objects for maps/progs are created/fetched through bpf(2) with two new commands (BPF_OBJ_PIN/BPF_OBJ_GET). I.e. a bpf file descriptor along with a pathname is being passed to bpf(2) that in turn creates (we call it eBPF object pinning) the file system nodes. Only the pathname is being passed to bpf(2) for getting a new BPF file descriptor to an existing node. The user can use that to access maps and progs later on, through bpf(2). Removal of file system nodes is being managed through normal VFS functions such as unlink(2), etc. The file system code is kept to a very minimum and can be further extended later on. The next step I'm working on is to add dump eBPF map/prog commands to bpf(2), so that a specification from a given file descriptor can be retrieved. This can be used by things like CRIU but also applications can inspect the meta data after calling BPF_OBJ_GET. Big thanks also to Alexei and Hannes who significantly contributed in the design discussion that eventually let us end up with this architecture here. Reference: https://lkml.org/lkml/2015/10/15/925 Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9d8afa90b789b07d414637ab557d169d6b2b84e Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 29 14:58:08 2015 +0100 bpf: consolidate bpf_prog_put{, _rcu} dismantle paths We currently have duplicated cleanup code in bpf_prog_put() and bpf_prog_put_rcu() cleanup paths. Back then we decided that it was not worth it to make it a common helper called by both, but with the recent addition of resource charging, we could have avoided the fix in commit ac00737f4e81 ("bpf: Need to call bpf_prog_uncharge_memlock from bpf_prog_put") if we would have had only a single, common path. We can simplify it further by assigning aux->prog only once during allocation time. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c210129760a010b555372ef74f4e1a46d4eb8a22 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 29 14:58:07 2015 +0100 bpf: align and clean bpf_{map,prog}_get helpers Add a bpf_map_get() function that we're going to use later on and align/clean the remaining helpers a bit so that we have them a bit more consistent: - __bpf_map_get() and __bpf_prog_get() that both work on the fd struct, check whether the descriptor is eBPF and return the pointer to the map/prog stored in the private data. Also, we can return f.file->private_data directly, the function signature is enough of a documentation already. - bpf_map_get() and bpf_prog_get() that both work on u32 user fd, call their respective __bpf_map_get()/__bpf_prog_get() variants, and take a reference. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa79781b65b9cf79807ade78f2703f5e9402c336 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 29 14:58:06 2015 +0100 bpf: abstract anon_inode_getfd invocations Since we're going to use anon_inode_getfd() invocations in more than just the current places, make a helper function for both, so that we only need to pass a map/prog pointer to the helper itself in order to get a fd. The new helpers are called bpf_map_new_fd() and bpf_prog_new_fd(). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d6119baf0610f813eb9d9580eb4fd16de5b4ceb Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Nov 2 09:03:11 2015 -0800 net: fix percpu memory leaks This patch fixes following problems : 1) percpu_counter_init() can return an error, therefore init_frag_mem_limit() must propagate this error so that inet_frags_init_net() can do the same up to its callers. 2) If ip[46]_frags_ns_ctl_register() fail, we must unwind properly and free the percpu_counter. Without this fix, we leave freed object in percpu_counters global list (if CONFIG_HOTPLUG_CPU) leading to crashes. This bug was detected by KASAN and syzkaller tool (http://github.com/google/syzkaller) Fixes: 6d7b857d541e ("net: use lib/percpu_counter API for fragmentation mem accounting") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fa677d2706d325d71dab91bf6e6512c05214e37 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Nov 2 07:50:07 2015 -0800 net: avoid NULL deref in inet_ctl_sock_destroy() Under low memory conditions, tcp_sk_init() and icmp_sk_init() can both iterate on all possible cpus and call inet_ctl_sock_destroy(), with eventual NULL pointer. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df547bf7735a623500eedff9cc6716ac1d82b95d Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Oct 13 13:47:20 2015 +0200 drm/exynos/gem: remove DMA-mapping hacks used for constructing page array Exynos GEM objects contains an array of pointers to the pages, which the allocated buffer consists of. Till now the code used some hacks (like relying on DMA-mapping internal structures or using ARM-specific dma_to_pfn helper) to build this array. This patch fixes this by adding proper call to dma_get_sgtable_attrs() and using the acquired scatter-list to construct needed array. This approach is more portable (work also for ARM64) and finally fixes the layering violation that was present in this code. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 01351315465fe58b9ab990554467773367f74cab Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:41 2015 +0100 ARM: exynos_defconfig: enable Exynos DRM Mixer driver Mixer driver is selected by CONFIG_DRM_EXYNOS_HDMI option. Since Exynos5433 HDMI does not require Mixer. There will be separate options to select Mixer and HDMI. Adding new option to defconfig before Kconfig will allow to keep bisectability. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5a3c35b377ce5b1d438792ee4ebb8e6222dcd50d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:45 2015 +0100 drm/exynos: simplify Kconfig component names Many Exynos DRM sub-options mentions Exynos DRM in their titles. It is redundant and can be safely shortened. The patch additionally makes some entries more descriptive. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit ea9776465d8f1617c99ffe7f90aa245fba474544 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:44 2015 +0100 drm/exynos: re-arrange Kconfig entries Exynos DRM driver have quite big number of components and options. The patch re-arranges them into three logical groups: - CRTCs, - Encoders and Bridges, - Sub-drivers. It should make driver options more clear. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit dba6c5280d62cef3df9c67cafaddf1c7df0d5889 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:43 2015 +0100 drm/exynos: abstract out common dependency All options depends on DRM_EXYNOS so it can be moved to enclosing if clause. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 3cb02b4a9e3e4f71ca7fefaff96ae47dd42a0adc Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:42 2015 +0100 drm/exynos: separate Mixer and HDMI drivers Latest Exynos SoCs does not have Mixer IP, but they still have HDMI IP. Their drivers should be configurable separately. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 3ae24362e02df0aa27ed1dc9d85b720514c99d20 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:40 2015 +0100 drm/exynos/mixer: replace direct cross-driver call with drm mode validation HDMI driver called directly function from MIXER driver to invalidate modes not supported by MIXER. The patch replaces the hack with proper .atomic_check callback. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5625b3418a5bf977e3561bb12229d4c3e96b44d8 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Oct 26 13:03:39 2015 +0100 drm/exynos: add atomic_check callback to exynos_crtc Some CRTCs needs mode validation, this patch adds neccessary callback to Exynos DRM framework. It is called from DRM core via atomic_check helper for drm_crtc. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b8182832c5a9d9ce645d53be84e5db07f8aa5302 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 18:22:41 2015 +0900 drm/exynos/decon5433: add support for DECON-TV DECON-TV IP is responsible for generating video stream which is transferred to HDMI IP. It is almost fully compatible with DECON IP. The patch is based on initial work of Hyungwon Hwang. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5d929ba50a1ea69fba1a92e24fc54d484583a109 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 11:22:39 2015 +0200 drm/exynos/decon5433: remove duplicated initialization Field .commit is already initialized few lines above. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7b6bb6ed01e9f9c20c86b722c733d7219c4c55f6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 11:22:38 2015 +0200 drm/exynos/decon5433: merge different flag fields Driver uses four different fields for internal flags. They can be merged into one. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit b219207385dbd575ebd7e1cbf560636c8e780467 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 11:22:37 2015 +0200 drm/exynos/decon5433: add function to set particular register bits The driver often sets only particular bits of configuration registers. Using separate function to such action simplifies the code. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 85de275ad9aff7dae5811fc583a6a43e7b5cc0f1 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 11:22:36 2015 +0200 drm/exynos/decon5433: fix timing registers writes All timing registers should contain values decreased by one. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 4f54f21cd68eb7b2ed355b9de90a2d58b96fdda9 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 20 11:22:34 2015 +0200 drm/exynos/decon5433: add PCLK clock PCLK clock is used by DECON IP. The patch also replaces magic number with number of clocks in array definition. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 264e89ad3412ce1e2977e5e807bcf7d20d3b0a59 Merge: 2da5c4b 13ad4fe Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Nov 3 13:28:41 2015 +1100 Merge branch 'xfs-dax-updates' into for-next commit 2da5c4b05ab55225f5d1fcc8c1c37d1918232bf4 Merge: fcd8a39 fc0561c Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Nov 3 13:27:58 2015 +1100 Merge branch 'xfs-misc-fixes-for-4.4-2' into for-next commit fc0561cefc04e7803c0f6501ca4f310a502f65b8 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 13:14:59 2015 +1100 xfs: optimise away log forces on timestamp updates for fdatasync xfs: timestamp updates cause excessive fdatasync log traffic Sage Weil reported that a ceph test workload was writing to the log on every fdatasync during an overwrite workload. Event tracing showed that the only metadata modification being made was the timestamp updates during the write(2) syscall, but fdatasync(2) is supposed to ignore them. The key observation was that the transactions in the log all looked like this: INODE: #regs: 4 ino: 0x8b flags: 0x45 dsize: 32 And contained a flags field of 0x45 or 0x85, and had data and attribute forks following the inode core. This means that the timestamp updates were triggering dirty relogging of previously logged parts of the inode that hadn't yet been flushed back to disk. There are two parts to this problem. The first is that XFS relogs dirty regions in subsequent transactions, so it carries around the fields that have been dirtied since the last time the inode was written back to disk, not since the last time the inode was forced into the log. The second part is that on v5 filesystems, the inode change count update during inode dirtying also sets the XFS_ILOG_CORE flag, so on v5 filesystems this makes a timestamp update dirty the entire inode. As a result when fdatasync is run, it looks at the dirty fields in the inode, and sees more than just the timestamp flag, even though the only metadata change since the last fdatasync was just the timestamps. Hence we force the log on every subsequent fdatasync even though it is not needed. To fix this, add a new field to the inode log item that tracks changes since the last time fsync/fdatasync forced the log to flush the changes to the journal. This flag is updated when we dirty the inode, but we do it before updating the change count so it does not carry the "core dirty" flag from timestamp updates. The fields are zeroed when the inode is marked clean (due to writeback/freeing) or when an fsync/datasync forces the log. Hence if we only dirty the timestamps on the inode between fsync/fdatasync calls, the fdatasync will not trigger another log force. Over 100 runs of the test program: Ext4 baseline: runtime: 1.63s +/- 0.24s avg lat: 1.59ms +/- 0.24ms iops: ~2000 XFS, vanilla kernel: runtime: 2.45s +/- 0.18s avg lat: 2.39ms +/- 0.18ms log forces: ~400/s iops: ~1000 XFS, patched kernel: runtime: 1.49s +/- 0.26s avg lat: 1.46ms +/- 0.25ms log forces: ~30/s iops: ~1500 Reported-by: Sage Weil <sage@xxxxxxxxxx> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit af3b63822e73b66f3ca9927b46df8b873ab8c6ec Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Tue Nov 3 13:06:34 2015 +1100 xfs: don't leak uuid table on rmmod Don't leak the UUID table when the module is unloaded. (Found with kmemleak.) Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 47e1bf640558237b79d3009fb7dfe157f12f4f7a Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 12:56:17 2015 +1100 xfs: invalidate cached acl if set via ioctl Setting or removing the "SGI_ACL_[FILE|DEFAULT]" attributes via the XFS_IOC_ATTRMULTI_BY_HANDLE ioctl completely bypasses the POSIX ACL infrastructure, like setting the "trusted.SGI_ACL_[FILE|DEFAULT]" xattrs did until commit 6caa1056. Similar to that commit, invalidate cached acls when setting/removing them via the ioctl as well. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 09cb22d2a57b51d7d052dfe508f260abc67b69b6 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 12:53:54 2015 +1100 xfs: Plug memory leak in xfs_attrmulti_attr_set When setting attributes via XFS_IOC_ATTRMULTI_BY_HANDLE, the user-space buffer is copied into a new kernel-space buffer via memdup_user; that buffer then isn't freed. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 86a21c79745ca97676cbd47f8608839382cc0448 Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Tue Nov 3 12:41:59 2015 +1100 xfs: Validate the length of on-disk ACLs In xfs_acl_from_disk, instead of trusting that xfs_acl.acl_cnt is correct, make sure that the length of the attributes is correct as well. Also, turn the aclp parameter into a const pointer. Signed-off-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 67d8e04e345eafcb2940066f435815032eec467d Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Nov 3 12:40:59 2015 +1100 xfs: invalidate cached acl if set directly via xattr ACLs are stored as extended attributes of the inode to which they apply. XFS converts the standard "system.posix_acl_[access|default]" attribute names used to control ACLs to "trusted.SGI_ACL_[FILE|DEFAULT]" as stored on-disk. These xattrs are directly exposed in on-disk format via getxattr/setxattr, without any ACL aware code in the path to perform validation, etc. This is partly historical and supports backup/restore applications such as xfsdump to back up and restore the binary blob that represents ACLs as-is. Andreas reports that the ACLs observed via the getfacl interface is not consistent when ACLs are set directly via the setxattr path. This occurs because the ACLs are cached in-core against the inode and the xattr path has no knowledge that the operation relates to ACLs. Update the xattr set codepath to trap writes of the special XFS ACL attributes and invalidate the associated cached ACL when this occurs. This ensures that the correct ACLs are used on a subsequent operation through the actual ACL interface. Note that this does not update or add support for setting the ACL xattrs directly beyond the restore use case that requires a correctly formatted binary blob and to restore a consistent i_mode at the same time. It is still possible for a root user to set an invalid or inconsistent (with i_mode) ACL blob on-disk and potentially cause corruption. [ With fixes from Andreas Gruenbacher. ] Reported-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 13ad4fe3e087ab66a140f1e00d98f28aa4e3bb28 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:37:02 2015 +1100 xfs: xfs_filemap_pmd_fault treats read faults as write faults The code initially committed didn't have the same checks for write faults as the dax_pmd_fault code and hence treats all faults as write faults. We can get read faults through this path because they is no pmd_mkwrite path for write faults similar to the normal page fault path. Hence we need to ensure that we only do c/mtime updates on write faults, and freeze protection is unnecessary for read faults. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3af49285854df66260a263198cc15abb07b95287 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:37:02 2015 +1100 xfs: add ->pfn_mkwrite support for DAX ->pfn_mkwrite support is needed so that when a page with allocated backing store takes a write fault we can check that the fault has not raced with a truncate and is pointing to a region beyond the current end of file. This also allows us to update the timestamp on the inode, too, which fixes a generic/080 failure. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 01a155e6cf7db1a8ff2aa73162d7d9ec05ad298f Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:37:02 2015 +1100 xfs: DAX does not use IO completion callbacks For DAX, we are now doing block zeroing during allocation. This means we no longer need a special DAX fault IO completion callback to do unwritten extent conversion. Because mmap never extends the file size (it SEGVs the process) we don't need a callback to update the file size, either. Hence we can remove the completion callbacks from the __dax_fault and __dax_mkwrite calls. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 1ca191576fc862b4766f58e41aa362b28a7c1866 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:37:00 2015 +1100 xfs: Don't use unwritten extents for DAX DAX has a page fault serialisation problem with block allocation. Because it allows concurrent page faults and does not have a page lock to serialise faults to the same page, it can get two concurrent faults to the page that race. When two read faults race, this isn't a huge problem as the data underlying the page is not changing and so "detect and drop" works just fine. The issues are to do with write faults. When two write faults occur, we serialise block allocation in get_blocks() so only one faul will allocate the extent. It will, however, be marked as an unwritten extent, and that is where the problem lies - the DAX fault code cannot differentiate between a block that was just allocated and a block that was preallocated and needs zeroing. The result is that both write faults end up zeroing the block and attempting to convert it back to written. The problem is that the first fault can zero and convert before the second fault starts zeroing, resulting in the zeroing for the second fault overwriting the data that the first fault wrote with zeros. The second fault then attempts to convert the unwritten extent, which is then a no-op because it's already written. Data loss occurs as a result of this race. Because there is no sane locking construct in the page fault code that we can use for serialisation across the page faults, we need to ensure block allocation and zeroing occurs atomically in the filesystem. This means we can still take concurrent page faults and the only time they will serialise is in the filesystem mapping/allocation callback. The page fault code will always see written, initialised extents, so we will be able to remove the unwritten extent handling from the DAX code when all filesystems are converted. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3fbbbea34bac049c0b5938dc065f7d8ee1ef7e67 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:27:22 2015 +1100 xfs: introduce BMAPI_ZERO for allocating zeroed extents To enable DAX to do atomic allocation of zeroed extents, we need to drive the block zeroing deep into the allocator. Because xfs_bmapi_write() can return merged extents on allocation that were only partially allocated (i.e. requested range spans allocated and hole regions, allocation into the hole was contiguous), we cannot zero the extent returned from xfs_bmapi_write() as that can overwrite existing data with zeros. Hence we have to drive the extent zeroing into the allocation code, prior to where we merge the extents into the BMBT and return the resultant map. This means we need to propagate this need down to the xfs_alloc_vextent() and issue the block zeroing at this point. While this functionality is being introduced for DAX, there is no reason why it is specific to DAX - we can per-zero blocks during the allocation transaction on any type of device. It's just slow (and usually slower than unwritten allocation and conversion) on traditional block devices so doesn't tend to get used. We can, however, hook hardware zeroing optimisations via sb_issue_zeroout() to this operation, so it may be useful in future and hence the "allocate zeroed blocks" API needs to be implementation neutral. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3e12dbbdbd8809f0455920e42fdbf9eddc002651 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Nov 3 12:27:22 2015 +1100 xfs: fix inode size update overflow in xfs_map_direct() Both direct IO and DAX pass an offset and count into get_blocks that will overflow a s64 variable when an IO goes into the last supported block in a file (i.e. at offset 2^63 - 1FSB bytes). This can be seen from the tracing: xfs_get_blocks_alloc: [...] offset 0x7ffffffffffff000 count 4096 xfs_gbmap_direct: [...] offset 0x7ffffffffffff000 count 4096 xfs_gbmap_direct_none:[...] offset 0x7ffffffffffff000 count 4096 0x7ffffffffffff000 + 4096 = 0x8000000000000000, and hence that overflows the s64 offset and we fail to detect the need for a filesize update and an ioend is not allocated. This is *mostly* avoided for direct IO because such extending IOs occur with full block allocation, and so the "IS_UNWRITTEN()" check still evaluates as true and we get an ioend that way. However, doing single sector extending IOs to this last block will expose the fact that file size updates will not occur after the first allocating direct IO as the overflow will then be exposed. There is one further complexity: the DAX page fault path also exposes the same issue in block allocation. However, page faults cannot extend the file size, so in this case we want to allocate the block but do not want to allocate an ioend to enable file size update at IO completion. Hence we now need to distinguish between the direct IO patch allocation and dax fault path allocation to avoid leaking ioend structures. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3ce96239d482a7d2dfdc1f332152c580b219fef1 Author: Neil Brown <neil@xxxxxxxxxx> Date: Mon Oct 26 15:35:54 2015 +0900 Documentation: add new description of path-name lookup. This document is based on three recent lwn.net articles. Some of the introductory material and linkage between articles has been removed, and some time-based descriptions have been revised. Also all links to code have been removed as the code is very close by. Contains corrections and improvements from Randy Dunlap <rdunlap@xxxxxxxxxxxxx>. Signed-off-by: NeilBrown <neil@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 05be961772ef52c7bdfd237e61c3da0631cdb192 Author: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Date: Fri Oct 23 08:51:45 2015 +0900 Documentation/vm/slub.txt: document slabinfo-gnuplot.sh Add documentation on how to use slabinfo-gnuplot.sh script. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 83432ef3b8fbd459b1b5dafd78be7b7c3fa6a996 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Tue Oct 13 23:40:34 2015 +0900 Doc: ABI/stable: Fix typo in ABI/stable This patch fix some spelling typos in Documentation/ABI/stable. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 5062ecdb662bf3aed6dc975019c53ffcd3b01d1c Merge: e86328c d4a1a31 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 16:16:24 2015 -0800 Merge tag 'regmap-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap updates from Mark Brown: "Quite a few new features for regmap this time, mostly expanding things around the edges of the existing functionality to cover more devices rather than thinsg with wide applicability: - Support for offload of the update_bits() operation to hardware where devices implement bit level access. - Support for a few extra operations that need scratch buffers on fast_io devices where we can't sleep. - Expanded the feature set of regmap_irq to cope with some extra register layouts. - Cleanups to the debugfs code" * tag 'regmap-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: Allow installing custom reg_update_bits function regmap: debugfs: simplify regmap_reg_ranges_read_file() slightly regmap: debugfs: use memcpy instead of snprintf regmap: debugfs: use snprintf return value in regmap_reg_ranges_read_file() regmap: Add generic macro to define regmap_irq regmap: debugfs: Remove scratch buffer for register length calculation regmap: irq: add ack_invert flag for chips using cleared bits as ack regmap: irq: add support for chips who have separate unmask registers regmap: Allocate buffers with GFP_ATOMIC when fast_io == true commit e21a47ff4dcef8c5fb57758035b266299b184146 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 16 09:16:51 2015 +0200 rtc: rtctest: enabling UIE for a chip that doesn't support it returns EINVAL Calling ioctl(..., RTC_UIE_ON, ...) without CONFIG_RTC_INTF_DEV_UIE_EMUL either ends in rtc_update_irq_enable if rtc->uie_unsupported is true or in __rtc_set_alarm in the if (!rtc->ops->set_alarm) branch. In both cases the return value is -EINVAL. So check for that one instead of ENOTTY. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 4d8318bc97a1c37142d0e7618061f09b37d319b6 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 9 11:29:10 2015 +0200 rtc: pcf2127: make module license match the file header The header of the pcf2127 driver specifies GPL v2 only as license, so use "GPL v2" as module license specifier instead of "GPL" as the latter means "GNU Public License v2 or later". Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a15920bea0428cd22291637f6c72542b1843e65f Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Date: Mon Nov 2 17:42:42 2015 -0500 tracepoints: Fix documentation of RCU lockdep checks The documentation on top of __DECLARE_TRACE() does not match its implementation since the condition check has been added to the RCU lockdep checks. Update the documentation to match its implementation. Link: http://lkml.kernel.org/r/1446504164-21563-1-git-send-email-mathieu.desnoyers@xxxxxxxxxxxx CC: Dave Hansen <dave@xxxxxxxx> Fixes: a05d59a56733 "tracing: Add condition check to RCU lockdep checks" Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 583d0fef756a7615e50f0f68ea0892a497d03971 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Nov 2 17:13:58 2015 +0100 libceph: clear msg->con in ceph_msg_release() only The following bit in ceph_msg_revoke_incoming() is unsafe: struct ceph_connection *con = msg->con; if (!con) return; mutex_lock(&con->mutex); <more msg->con use> There is nothing preventing con from getting destroyed right after msg->con test. One easy way to reproduce this is to disable message signing only on the server side and try to map an image. The system will go into a libceph: read_partial_message ffff880073f0ab68 signature check failed libceph: osd0 192.168.255.155:6801 bad crc/signature libceph: read_partial_message ffff880073f0ab68 signature check failed libceph: osd0 192.168.255.155:6801 bad crc/signature loop which has to be interrupted with Ctrl-C. Hit Ctrl-C and you are likely to end up with a random GP fault if the reset handler executes "within" ceph_msg_revoke_incoming(): <yet another reply w/o a signature> ... <Ctrl-C> rbd_obj_request_end ceph_osdc_cancel_request __unregister_request ceph_osdc_put_request ceph_msg_revoke_incoming ... osd_reset __kick_osd_requests __reset_osd remove_osd ceph_con_close reset_connection <clear con->in_msg->con> <put con ref> put_osd <free osd/con> <msg->con use> <-- !!! If ceph_msg_revoke_incoming() executes "before" the reset handler, osd/con will be leaked because ceph_msg_revoke_incoming() clears con->in_msg but doesn't put con ref, while reset_connection() only puts con ref if con->in_msg != NULL. The current msg->con scheme was introduced by commits 38941f8031bf ("libceph: have messages point to their connection") and 92ce034b5a74 ("libceph: have messages take a connection reference"), which defined when messages get associated with a connection and when that association goes away. Part of the problem is that this association is supposed to go away in much too many places; closing this race entirely requires either a rework of the existing or an addition of a new layer of synchronization. In lieu of that, we can make it *much* less likely to hit by disassociating messages only on their destruction and resend through a different connection. This makes the code simpler and is probably a good thing to do regardless - this patch adds a msg_con_set() helper which is is called from only three places: ceph_con_send() and ceph_con_in_msg_alloc() to set msg->con and ceph_msg_release() to clear it. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit a51983e4dd2d4d63912aab939f657c4cd476e21a Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Oct 28 23:52:06 2015 +0100 libceph: add nocephx_sign_messages option Support for message signing was merged into 3.19, along with nocephx_require_signatures option. But, all that option does is allow the kernel client to talk to clusters that don't support MSG_AUTH feature bit. That's pretty useless, given that it's been supported since bobtail. Meanwhile, if one disables message signing on the server side with "cephx sign messages = false", it becomes impossible to use the kernel client since it expects messages to be signed if MSG_AUTH was negotiated. Add nocephx_sign_messages option to support this use case. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 859bff51dc5e92ddfb5eb6f17b8040d9311095bb Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Wed Oct 28 23:50:58 2015 +0100 libceph: stop duplicating client fields in messenger supported_features and required_features serve no purpose at all, while nocrc and tcp_nodelay belong to ceph_options::flags. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 4199b8eec36405822619d4176bddfacf7b47eb44 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Tue Oct 27 16:42:49 2015 +0100 libceph: drop authorizer check from cephx msg signing routines I don't see a way for auth->authorizer to be NULL in ceph_x_sign_message() or ceph_x_check_message_signature(). Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 79dbd1baa651cece408e68a1b445f3628c4b5bdc Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Oct 26 22:23:56 2015 +0100 libceph: msg signing callouts don't need con argument We can use msg->con instead - at the point we sign an outgoing message or check the signature on the incoming one, msg->con is always set. We wouldn't know how to sign a message without an associated session (i.e. msg->con == NULL) and being able to sign a message using an explicitly provided authorizer is of no use. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 8a703a383dd3458753e0ad71860ed3a5097692b3 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 22 18:06:07 2015 +0300 libceph: evaluate osd_req_op_data() arguments only once This patch changes the osd_req_op_data() macro to not evaluate arguments more than once in order to follow the kernel coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> [idryomov@xxxxxxxxx: changelog, formatting] Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 68cd5b4b7612c2956d8553dfb39490b29f32566d Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Oct 27 18:36:06 2015 +0800 ceph: make fsync() wait unsafe requests that created/modified inode If we get a unsafe reply for request that created/modified inode, add the unsafe request to a list in the newly created/modified inode. So we can make fsync() wait these unsafe requests. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 4c06ace81a60636dec358c288ef6aaf3aa6dc599 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Oct 27 17:18:00 2015 +0800 ceph: add request to i_unsafe_dirops when getting unsafe reply Previously we add request to i_unsafe_dirops when registering request. So ceph_fsync() also waits for imcomplete requests. This is unnecessary, ceph_fsync() only needs to wait unsafe requests. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit cbf99a11fb14db0835acd79ecd7469d37e398660 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Mon Oct 26 11:03:46 2015 +0100 libceph: introduce ceph_x_authorizer_cleanup() Commit ae385eaf24dc ("libceph: store session key in cephx authorizer") introduced ceph_x_authorizer::session_key, but didn't update all the exit/error paths. Introduce ceph_x_authorizer_cleanup() to encapsulate ceph_x_authorizer cleanup and switch to it. This fixes ceph_x_destroy(), which currently always leaks key and ceph_x_build_authorizer() error paths. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 5e804ac4824302efc3038e086cb21f2e93ab8900 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Mon Oct 26 16:08:43 2015 +0800 ceph: don't invalidate page cache when inode is no longer used ceph_check_caps() invalidate page cache when inode is not used by any open file. This behaviour is not friendly for workload that repeatly read files. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 4afb04c0c88e21f37e5ef4776e432907d7b12838 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Thu Oct 22 16:44:15 2015 +0200 rbd: remove duplicate calls to rbd_dev_mapping_clear() Commit d1cf5788450e ("rbd: set mapping info earlier") defined rbd_dev_mapping_clear(), but, just a few days after, commit f35a4dee14c3 ("rbd: set the mapping size and features later") moved rbd_dev_mapping_set() calls and added another rbd_dev_mapping_clear() call instead of moving the old one. Around the same time, another duplicate was introduced in rbd_dev_device_release() - kill both. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 6cac4695f2042a1d0e17aa48c5705f69907e74c3 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Fri Oct 16 20:11:25 2015 +0200 rbd: set device_type::release instead of device::release No point in providing an empty device_type::release callback and then setting device::release for each rbd_dev dynamically. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit dd5ac32d425f881624bfe59c8e00dd1c3ccc6bb1 Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Fri Oct 16 17:09:24 2015 +0200 rbd: don't free rbd_dev outside of the release callback struct rbd_device has struct device embedded in it, which means it's part of kobject universe and has an unpredictable life cycle. Freeing its memory outside of the release callback is flawed, yet commits 200a6a8be5db ("rbd: don't destroy rbd_dev in device release function") and 8ad42cd0c002 ("rbd: don't have device release destroy rbd_dev") moved rbd_dev_destroy() out to rbd_dev_image_release(). This commit reverts most of that, the key points are: - rbd_dev->dev is initialized in rbd_dev_create(), making it possible to use rbd_dev_destroy() - which is just a put_device() - both before we register with device core and after. - rbd_dev_release() (the release callback) is the only place we kfree(rbd_dev). It's also where we do module_put(), keeping the module unload race window as small as possible. - We pin the module in rbd_dev_create(), but only for mapping rbd_dev-s. Moving image related stuff out of struct rbd_device into another struct which isn't tied with sysfs and device core is long overdue, but until that happens, this will keep rbd module refcount (which users can observe with lsmod) sane. Fixes: http://tracker.ceph.com/issues/12697 Cc: Alex Elder <elder@xxxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit b51c83c241910f66b0c9a2ab17cd57db8109a98f Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Thu Oct 15 15:38:57 2015 +0200 rbd: return -ENOMEM instead of pool id if rbd_dev_create() fails Returning pool id (i.e. >= 0) from a sysfs ->store() callback makes userspace think it needs to retry the write. Fix it - it's a leftover from the times when the equivalent of rbd_dev_create() was the first action in rbd_add(). Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 343128ce91836d4131ead74b53d83b72e93d55b2 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 19 21:59:00 2015 +0530 libceph: use local variable cursor instead of &msg->cursor Use local variable cursor in place of &msg->cursor in read_partial_msg_data() and write_partial_msg_data(). Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 70cf052d0c4b60b6fbb981380660893306b9f172 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 18 13:55:38 2015 +0530 libceph: remove con argument in handle_reply() Since handle_reply() does not use its con argument, remove it. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit b5b98989dc7ed2093aeb76f2d0db79888582b0a2 Author: Zhu, Caifeng <zhucaifeng@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:26:15 2015 +0800 ceph: combine as many iovec as possile into one OSD request Both ceph_sync_direct_write and ceph_sync_read iterate iovec elements one by one, send one OSD request for each iovec. This is sub-optimal, We can combine serveral iovec into one page vector, and send an OSD request for the whole page vector. Signed-off-by: Zhu, Caifeng <zhucaifeng@xxxxxxxxxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 777d738a5e58ba3b6f3932ab1543ce93703f4873 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 15:04:42 2015 +0200 ceph: fix message length computation create_request_message() computes the maximum length of a message, but uses the wrong type for the time stamp: sizeof(struct timespec) may be 8 or 16 depending on the architecture, while sizeof(struct ceph_timespec) is always 8, and that is what gets put into the message. Found while auditing the uses of timespec for y2038 problems. Fixes: b8e69066d8af ("ceph: include time stamp in every MDS request") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 1291fb950f12005600eb410c206fffd7231dee6f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Wed Sep 30 11:41:05 2015 +0800 ceph: fix a comment typo Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 13bf283408077931ace05449de92c68c1cb55120 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:26 2015 +0200 rbd: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) { \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); x = NULL; -} // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit ac3c860c758a864adb1dd5c7d68dadebe6c86f64 Merge: 260074c 7656677 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Nov 2 17:09:24 2015 -0500 Merge tag 'nfs-rdma-4.4-2' of git://git.linux-nfs.org/projects/anna/nfs-rdma NFS: NFSoRDMA Client Side Changes In addition to a variety of bugfixes, these patches are mostly geared at enabling both swap and backchannel support to the NFS over RDMA client. Signed-off-by: Anna Schumake <Anna.Schumaker@xxxxxxxxxx> commit c0f3f90cf454dd845dcc443afa4f0e312a8eaee0 Merge: a76edb8 b76ff5e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Nov 3 08:02:44 2015 +1000 Merge branch 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux into drm-next Changes for vmwgfx for 4.4. If there is time, I'll follow up with a series to move to threaded irqs. * 'vmwgfx-next' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Replace iowrite/ioread with volatile memory accesses drm/vmwgfx: Turn off support for multisample count != 0 v2 drm/vmwgfx: switch from ioremap_cache to memremap commit 1f9a30ec2a4acee9a4d664e7405c7eb26a7c4b5e Merge: 6ff33f3 b07461a bee6775 c56d445 8affb48 af86fa4 c23b613 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Nov 2 15:57:03 2015 -0600 Merge branches 'pci/aer', 'pci/hotplug', 'pci/misc', 'pci/msi', 'pci/resource' and 'pci/virtualization' into next * pci/aer: PCI/AER: Clear error status registers during enumeration and restore * pci/hotplug: PCI: pciehp: Queue power work requests in dedicated function * pci/misc: PCI: Turn off Request Attributes to avoid Chelsio T5 Completion erratum x86/PCI: Make pci_subsys_init() static PCI: Add builtin_pci_driver() to avoid registration boilerplate PCI: Remove unnecessary "if" statement * pci/msi: x86/PCI: Don't alloc pcibios-irq when MSI is enabled PCI/MSI: Export all remapped MSIs to sysfs attributes PCI: Disable MSI on SiS 761 * pci/resource: sparc/PCI: Add mem64 resource parsing for root bus PCI: Expand Enhanced Allocation BAR output PCI: Make Enhanced Allocation bitmasks more obvious PCI: Handle Enhanced Allocation capability for SR-IOV devices PCI: Add support for Enhanced Allocation devices PCI: Add Enhanced Allocation register entries PCI: Handle IORESOURCE_PCI_FIXED when assigning resources PCI: Handle IORESOURCE_PCI_FIXED when sizing resources PCI: Clear IORESOURCE_UNSET when reverting to firmware-assigned address * pci/virtualization: PCI: Fix sriov_enable() error path for pcibios_enable_sriov() failures PCI: Wait 1 second between disabling VFs and clearing NumVFs PCI: Reorder pcibios_sriov_disable() PCI: Remove VFs in reverse order if virtfn_add() fails PCI: Remove redundant validation of SR-IOV offset/stride registers PCI: Set SR-IOV NumVFs to zero after enumeration PCI: Enable SR-IOV ARI Capable Hierarchy before reading TotalVFs PCI: Don't try to restore VF BARs commit 306e5c2a3cb45a0256ae6677501d1144e93efa2f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sat Oct 31 23:23:15 2015 +0800 pstore: fix code comment to match code Fix code comment about kmsg_dump register so it matches the code. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit a07e744960b86a1914667bcf28b5f144213bb3d8 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sat Oct 31 23:23:14 2015 +0800 efi-pstore: fix kernel-doc argument name The first argument name in the kernel-doc argument list for efi_pstore_scan_sysfs_enter() was slightly off. Fix it for the kernel doc. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit fd88d16c58c2ad689a68d6790c789e7d5be3fc5b Author: Robert Sesek <rsesek@xxxxxxxxxx> Date: Mon Nov 2 15:28:49 2015 -0500 selftests/seccomp: Be more precise with syscall arguments. Certain syscall emulation layers strictly check that the number of arguments match what the syscall handler expects. The KILL_one_arg_one and KILL_one_arg_six tests passed more parameters than expected to various syscalls, causing failures in this emulation mode. Instead, test using syscalls that take the appropriate number of arguments. Signed-off-by: Robert Sesek <rsesek@xxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 500a1d9a43e0a16e3cfc48f4b192ad421d4de376 Author: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Date: Thu Oct 29 20:02:51 2015 -0500 PCI: hisi: Add HiSilicon SoC Hip05 PCIe driver Add PCIe host support for HiSilicon SoC Hip05, related DT binding documentation, and maintainer update. [bhelgaas: changelog, 32-bit only config write warning text] Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: liudongdong <liudongdong3@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> (DT binding) commit bd33b87a9a15f8182e8c6a49f5413e7ef79372bf Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:20 2015 +0800 PCI: layerscape: Add ls_pcie_msi_host_init() Layerscape PCIe has its own MSI implementation. Register ls_pcie_msi_host_init() to avoid using DesignWare's MSI. [bhelgaas: add comment] Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 5192ec7b24dd78bd82fe554995b8889d317da0c1 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:19 2015 +0800 PCI: layerscape: Add support for LS1043a and LS2080a Both LS1043a and LS2080a are based on ARMv8 64-bit architecture and have similar PCIe implementation. LUT is added to controller. Add LS1043a and LS2080a support. [bhelgaas: move unused field removal into separate patch, include DT update] Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> (DT update) Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> (DT update) commit 0f3cb324bec688c61578c04c5207898050dcc7ac Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Wed Oct 21 16:13:37 2015 -0500 PCI: layerscape: Remove unused fields from struct ls_pcie Removed unused node, dev, and bus fields from struct ls_pcie. [bhelgaas: split into separate patch] Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a167fb73be98f43f16116a2c3a0cd9ad11c8ef61 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:18 2015 +0800 PCI: layerscape: Update ls_add_pcie_port() Update the ls_add_pcie_port() signature to keep it consistent with the other DesignWare-based host drivers. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit d64633453e3b3e580111ecca566d9e2771dad694 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:17 2015 +0800 PCI: layerscape: Factor out SCFG related function For the LS1021a PCIe controller, some status registers are located in SCFG, unlike other Layerscape devices. Move SCFG-related code to ls1021_pcie_host_init() and rename ls_pcie_link_up() to ls1021_pcie_link_up() because LTSSM status is also in SCFG. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 7af4ce3571931bdc043c4220402262f817b9b968 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:16 2015 +0800 PCI: layerscape: Ignore PCIe controllers in Endpoint mode Layerscape PCIe controller supports root complex (RC) and endpoint (EP) modes, which can be set by RCW. If not in RC mode, return -ENODEV without claiming the controller. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 72f71afb86bcdbf9dc2261214bf346fad4e2efb0 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Fri Oct 16 15:19:15 2015 +0800 PCI: layerscape: Remove ls_pcie_establish_link() ls_pcie_establish_link() does not do any real operation, except to wait for the linkup establishment. In fact, this is not necessary. Moreover, each PCIe controller not inserted device will increase the Linux startup time about 200ms. Remove ls_pcie_establish_link(). Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit c451113291c193d3bfbd0682011d2979d649010c Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Nov 2 10:40:17 2015 +0900 ravb: use pdev rather than ndev for error messages This corrects what appear to be typos, making the code consistent with itself, and allowing meaningful prefixes to be displayed with the errors in question. Before: (null): failed to initialize MDIO (null): Cannot allocate desc base address table (size 176 bytes) After: ravb e6800000.ethernet: failed to initialize MDIO ravb e6800000.ethernet: Cannot allocate desc base address table (size 176 bytes) Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec13ad1d705c9990d55ed8ab21946cef323d30c7 Author: Matthias Schiffer <mschiffer@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 01:24:38 2015 +0100 ipv6: fix crash on ICMPv6 redirects with prohibited/blackholed source There are other error values besides ip6_null_entry that can be returned by ip6_route_redirect(): fib6_rule_action() can also result in ip6_blk_hole_entry and ip6_prohibit_entry if such ip rules are installed. Only checking for ip6_null_entry in rt6_do_redirect() causes ip6_ins_rt() to be called with rt->rt6i_table == NULL in these cases, making the kernel crash. Signed-off-by: Matthias Schiffer <mschiffer@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76566773a1f1c2295ed901b6f1241cfe10d99029 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:28:32 2015 -0400 NFS: Enable client side NFSv4.1 backchannel to use other transports Forechannel transports get their own "bc_up" method to create an endpoint for the backchannel service. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> [Anna Schumaker: Add forward declaration of struct net to xprt.h] Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 9e17f8a475fca81950fdddc08df428ed66cf441f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Nov 1 15:36:55 2015 -0800 net: make skb_set_owner_w() more robust skb_set_owner_w() is called from various places that assume skb->sk always point to a full blown socket (as it changes sk->sk_wmem_alloc) We'd like to attach skb to request sockets, and in the future to timewait sockets as well. For these kind of pseudo sockets, we need to take a traditional refcount and use sock_edemux() as the destructor. It is now time to un-inline skb_set_owner_w(), being too big. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Bisected-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eca1e006cf6f6f66a1a90c055a8a6d393475c3f9 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Sun Nov 1 18:31:45 2015 +0200 bridge: vlan: Use rcu_dereference instead of rtnl_dereference br_should_learn() is protected by RCU and not by RTNL, so use correct flavor of nbp_vlan_group(). Fixes: 907b1e6e83ed ("bridge: vlan: use proper rcu for the vlgrp member") Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ab42d78e37a294ac7bc56901d563c642e03c4ae Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Sun Nov 1 16:22:53 2015 +0000 ppp, slip: Validate VJ compression slot parameters completely Currently slhc_init() treats out-of-range values of rslots and tslots as equivalent to 0, except that if tslots is too large it will dereference a null pointer (CVE-2015-7799). Add a range-check at the top of the function and make it return an ERR_PTR() on error instead of NULL. Change the callers accordingly. Compile-tested only. Reported-by: é?æ°¸å?? <guoyonggang@xxxxxx> References: http://article.gmane.org/gmane.comp.security.oss.general/17908 Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0baa57d8dc32db78369d8b5176ef56c5e2e18ab3 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Sun Nov 1 16:21:24 2015 +0000 isdn_ppp: Add checks for allocation failure in isdn_ppp_open() Compile-tested only. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61c8e8aa9fa266d3b917621d69cd8086a0db558d Author: Javi Merino <javi.merino@xxxxxxx> Date: Mon Nov 2 19:03:04 2015 +0000 thermal: devfreq_cooling: Make power a u64 The prototype of do_div() is: uint32_t do_div(uint64_t *n, uint32_t base); Make power u64 to avoid the following warning: drivers/thermal/devfreq_cooling.c: In function 'get_dynamic_power': drivers/thermal/devfreq_cooling.c:267:2: warning: comparison of distinct pointer types lacks a cast [enabled by default] drivers/thermal/devfreq_cooling.c:267:2: warning: right shift count >= width of type [enabled by default] drivers/thermal/devfreq_cooling.c:267:2: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default] include/asm-generic/div64.h:35:17: note: expected 'uint64_t *' but argument is of type 'long unsigned int *' Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 3c99c2cef75eb5bfc05c5728e4560f3ee656d47e Author: Javi Merino <javi.merino@xxxxxxx> Date: Mon Nov 2 19:03:03 2015 +0000 thermal: devfreq_cooling: use a thermal_cooling_device for register and unregister Be consistent with what other cooling devices do and return a struct thermal_cooling_device * on register. Also, for the unregister, accept a struct thermal_cooling_device * as parameter. Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 70910791731b5956171e1bfcad707766b8e18fee Author: Bjørn Mork <bjorn@xxxxxxx> Date: Sun Nov 1 01:34:50 2015 +0100 qmi_wwan: fix entry for HP lt4112 LTE/HSPA+ Gobi 4G Module The lt4112 is a HP branded Huawei me906e modem. Like other Huawei modems, it does not have a fixed interface to function mapping. Instead it uses a Huawei specific scheme: functions are mapped by subclass and protocol. However, the HP vendor ID is used for modems from many different manufacturers using different schemes, so we cannot apply a generic vendor rule like we do for the Huawei vendor ID. Replace the previous lt4112 entry pointing to an arbitrary interface number with a device specific subclass + protocol match. Reported-and-tested-by: Muri Nicanor <muri+libqmi@xxxxxxxxxx> Tested-by: Martin Hauke <mardnh@xxxxxx> Fixes: bb2bdeb83fb1 ("qmi_wwan: Add support for HP lt4112 LTE/HSPA+ Gobi 4G Modem") Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e86328c489d7ecdca99410a06a3f448caf7857bf Merge: bc9d8c2 0963670 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 12:59:12 2015 -0800 Merge tag 'gpio-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO updates from Linus Walleij: "Here is the bulk of GPIO changes for the v4.4 development cycle. The only changes hitting outside drivers/gpio are in the pin control subsystem and these seem to have settled nicely in linux-next. Development mistakes and catfights are nicely documented in the reverts as you can see. The outcome of the ABI fight is that we're working on a chardev ABI for GPIO now, where hope to show results for the v4.5 kernel. Summary of changes: GPIO core: - Define and handle flags for open drain/open collector and open source/open emitter, also know as "single-ended" configurations. - Generic request/free operations that handle calling out to the (optional) pin control backend. - Some refactoring related to an ABI change that did not happen, yet provide useful. - Added a real-time compliance checklist. Many GPIO chips have irqchips, and need to think this over with the RT patches going upstream. - Restructure, fix and clean up Kconfig menus a bit. New drivers: - New driver for AMD Promony. - New driver for ACCES 104-IDIO-16, a port-mapped I/O card, ISA-style. Very retro. Subdriver changes: - OMAP changes to handle real time requirements. - Handle trigger types for edge and level IRQs on PL061 properly. As this hardware is very common it needs to set a proper example for others to follow. - Some container_of() cleanups. - Delete the unused MSM driver in favor of the driver that is embedded inside the pin control driver. - Cleanup of the ath79 GPIO driver used by many, many OpenWRT router targets. - A consolidated IT87xx driver replacing the earlier very specific IT8761e driver. - Handle the TI TCA9539 in the PCA953x driver. Also handle ACPI devices in this subdriver. - Drop xilinx arch dependencies as these FPGAs seem to profilate over a few different architectures. MIPS and ARM come to mind" * tag 'gpio-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (57 commits) gpio: fix up SPI submenu gpio: drop surplus I2C dependencies gpio: drop surplus X86 dependencies gpio: dt-bindings: document the official use of "ngpios" gpio: MAINTAINERS: Add an entry for the ATH79 GPIO driver gpio / ACPI: Allow shared GPIO event to be read via operation region gpio: group port-mapped I/O drivers in a menu gpio: Add ACCES 104-IDIO-16 driver maintainer entry gpio: zynq: Document interrupt-controller DT binding gpio: xilinx: Drop architecture dependencies gpio: generic: Revert to old error handling in bgpio_map gpio: add a real time compliance notes Revert "gpio: add a real time compliance checklist" gpio: Add GPIO support for the ACCES 104-IDIO-16 gpio: driver for AMD Promontory gpio: xlp: Convert to use gpiolib irqchip helpers gpio: add a real time compliance checklist gpio/xilinx: enable for MIPS gpiolib: Add and use OF_GPIO_SINGLE_ENDED flag gpiolib: Split GPIO flags parsing and GPIO configuration ... commit 44f49dd8b5a606870a1f21101522a0f9c4414784 Author: Ani Sinha <ani@xxxxxxxxxx> Date: Fri Oct 30 16:54:31 2015 -0700 ipmr: fix possible race resulting from improper usage of IP_INC_STATS_BH() in preemptible context. Fixes the following kernel BUG : BUG: using __this_cpu_add() in preemptible [00000000] code: bash/2758 caller is __this_cpu_preempt_check+0x13/0x15 CPU: 0 PID: 2758 Comm: bash Tainted: P O 3.18.19 #2 ffffffff8170eaca ffff880110d1b788 ffffffff81482b2a 0000000000000000 0000000000000000 ffff880110d1b7b8 ffffffff812010ae ffff880007cab800 ffff88001a060800 ffff88013a899108 ffff880108b84240 ffff880110d1b7c8 Call Trace: [<ffffffff81482b2a>] dump_stack+0x52/0x80 [<ffffffff812010ae>] check_preemption_disabled+0xce/0xe1 [<ffffffff812010d4>] __this_cpu_preempt_check+0x13/0x15 [<ffffffff81419d60>] ipmr_queue_xmit+0x647/0x70c [<ffffffff8141a154>] ip_mr_forward+0x32f/0x34e [<ffffffff8141af76>] ip_mroute_setsockopt+0xe03/0x108c [<ffffffff810553fc>] ? get_parent_ip+0x11/0x42 [<ffffffff810e6974>] ? pollwake+0x4d/0x51 [<ffffffff81058ac0>] ? default_wake_function+0x0/0xf [<ffffffff810553fc>] ? get_parent_ip+0x11/0x42 [<ffffffff810613d9>] ? __wake_up_common+0x45/0x77 [<ffffffff81486ea9>] ? _raw_spin_unlock_irqrestore+0x1d/0x32 [<ffffffff810618bc>] ? __wake_up_sync_key+0x4a/0x53 [<ffffffff8139a519>] ? sock_def_readable+0x71/0x75 [<ffffffff813dd226>] do_ip_setsockopt+0x9d/0xb55 [<ffffffff81429818>] ? unix_seqpacket_sendmsg+0x3f/0x41 [<ffffffff813963fe>] ? sock_sendmsg+0x6d/0x86 [<ffffffff813959d4>] ? sockfd_lookup_light+0x12/0x5d [<ffffffff8139650a>] ? SyS_sendto+0xf3/0x11b [<ffffffff810d5738>] ? new_sync_read+0x82/0xaa [<ffffffff813ddd19>] compat_ip_setsockopt+0x3b/0x99 [<ffffffff813fb24a>] compat_raw_setsockopt+0x11/0x32 [<ffffffff81399052>] compat_sock_common_setsockopt+0x18/0x1f [<ffffffff813c4d05>] compat_SyS_setsockopt+0x1a9/0x1cf [<ffffffff813c4149>] compat_SyS_socketcall+0x180/0x1e3 [<ffffffff81488ea1>] cstar_dispatch+0x7/0x1e Signed-off-by: Ani Sinha <ani@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3e8b858f375595421817a5475611a3e63bb4a43 Merge: 615a100 b61ed8f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 15:56:12 2015 -0500 Merge branch 'sh_eth-fixes' Sergei Shtylyov says: ==================== sh_eth: fix bugs in sh_eth_ring_init() Here's a set of 2 patches against DaveM's 'net.git' repo which fix couple of bugs in the sh_eth_ring_init() function. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b61ed8fdd845340ee31e8a97403b6101ccf4e4a2 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 02:06:29 2015 +0300 sh_eth: fix WARNING in dma_common_free_remap() Iff the first dma_alloc_coherent() call fails in sh_eth_ring_init(), the following is printed to the kernel console: WARNING: CPU: 0 PID: 1 at drivers/base/dma-mapping.c:334 dma_common_free_remap+0x48/0x6c() trying to free invalid coherent area: (null) Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.3.0-rc7-dirty #969 Hardware name: Generic R8A7791 (Flattened Device Tree) Backtrace: [<c0013820>] (dump_backtrace) from [<c00139bc>] (show_stack+0x18/0x1c) r6:c0662856 r5:00000009 r4:00000000 r3:00204140 [<c00139a4>] (show_stack) from [<c0227510>] (dump_stack+0x74/0x90) [<c022749c>] (dump_stack) from [<c0026ef4>] (warn_slowpath_common+0x8c/0xb8) r4:ee84dce0 r3:c0712774 [<c0026e68>] (warn_slowpath_common) from [<c0026fc4>] (warn_slowpath_fmt+0x38/0x40) r8:ee7f8000 r7:c0734520 r6:00001000 r5:20000008 r4:00000000 [<c0026f90>] (warn_slowpath_fmt) from [<c02df404>] (dma_common_free_remap+0x48/0x6c) r3:00000000 r2:c0662871 [<c02df3bc>] (dma_common_free_remap) from [<c001b9fc>] (__arm_dma_free+0xb8/0xd4) r6:00000001 r5:00000000 r4:00001000 r3:ee8c5584 [<c001b944>] (__arm_dma_free) from [<c001ba68>] (arm_dma_free+0x24/0x2c) r10:0000016b r8:00000000 r7:ee9bc830 r6:00000000 r5:00000400 r4:ee9bc800 [<c001ba44>] (arm_dma_free) from [<c032ebf0>] (sh_eth_ring_init+0x110/0x138) [<c032eae0>] (sh_eth_ring_init) from [<c033179c>] (sh_eth_open+0x94/0x1f4) r6:00000000 r5:ee9bcd18 r4:ee9bc800 [<c0331708>] (sh_eth_open) from [<c041bf7c>] (__dev_open+0x84/0x104) r6:c0565c50 r5:00000000 r4:ee9bc800 [<c041bef8>] (__dev_open) from [<c041c208>] (__dev_change_flags+0x94/0x13c) r7:00001002 r6:00000001 r5:00001003 r4:ee9bc800 [<c041c174>] (__dev_change_flags) from [<c041c2e8>] (dev_change_flags+0x20/0x50) r7:c072c8a0 r6:00000138 r5:00001002 r4:ee9bc800 [<c041c2c8>] (dev_change_flags) from [<c06e8d4c>] (ip_auto_config+0x174/0xf7c) r8:00001002 r7:c072c8a0 r6:c0700040 r5:00000001 r4:ee9bc800 r3:00000101 [<c06e8bd8>] (ip_auto_config) from [<c000a810>] (do_one_initcall+0x100/0x1c8) r10:c06f883c r9:00000000 r8:c06e8bd8 r7:c0734000 r6:c070e918 r5:c070e918 r4:ee083640 [<c000a710>] (do_one_initcall) from [<c06c9ddc>] (kernel_init_freeable+0x11c/0x1ec) r10:c06f883c r9:00000000 r8:00000099 r7:c0734000 r6:c070372c r5:c06f8834 r4:00000007 [<c06c9cc0>] (kernel_init_freeable) from [<c0514d78>] (kernel_init+0x14/0xec) r10:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0514d64 r4:c0734000 [<c0514d64>] (kernel_init) from [<c0010458>] (ret_from_fork+0x14/0x3c) r4:00000000 r3:ee84c000 This is because the code jumps to a wrong label and so tries to free yet unallocated coherent memory. Fix the *goto* in question. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c94e8567d7c7c9d619584da857e9f5b28f283ea Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 02:05:56 2015 +0300 sh_eth: fix uninitialized arrays in sh_eth_ring_init() sh_eth_ring_free() called in the sh_eth_ring_init()'s error path expects the arrays pointed to by 'sh_eth_private::[rt]x_skbuff' to be initialized with NULLs but they are allocated with just kmalloc_array() and so are left filled with random data. Use kcalloc() instead. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28ec8a864f4b67bb801aede7919391531612c7dd Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 22:16:01 2015 +0200 mtd: nand: sunxi: avoid retrieving data before ECC pass The in-band data are copied twice: before ECC correction and after the ECC engine has fixed all the fixable bitflips. Drop the useless memcpy_fromio operation by passing a NULL pointer when calling sunxi_nfc_read_buf(). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 74eb9ff54e21dbeefa04ff30e6aaf780b91dd261 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 22:16:00 2015 +0200 mtd: nand: sunxi: fix sunxi_nfc_hw_ecc_read/write_chunk() The sunxi_nfc_hw_ecc_read/write_chunk() functions try to avoid changing the column address if unnecessary, but the logic to determine whether it's necessary or not is currently wrong: it adds the ecc->bytes value to the current offset where it should actually add ecc->size. Fixes: 913821bdd211 ("mtd: nand: sunxi: introduce sunxi_nfc_hw_ecc_read/write_chunk()") Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b9b377136eb83cace5667cb6e8d53da771df6faa Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 19:39:48 2015 -0400 net: dsa: mv88e6xxx: lookup switch name All the mv88e6xxx drivers use the exact same code in their probe function to lookup the switch name given its ID. Thus introduce a mv88e6xxx_switch_id structure and a mv88e6xxx_lookup_name function in the common mv88e6xxx code. In the meantime make __mv88e6xxx_reg_{read,write} static since we do not need to expose these low-level r/w routines anymore. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3996a4ffb01f57f82abe6c7e60ac9048dd0c31df Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 18:56:45 2015 -0400 net: dsa: mv88e6xxx: assert SMI lock It's easy to forget to lock the smi_mutex before calling the low-level _mv88e6xxx_reg_{read,write}, so add a assert_smi_lock function in them. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df7701621b8ba6a5b387b451e409276ed9c034e5 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Mon Nov 2 14:46:53 2015 -0600 PCI: designware: Make "clocks" and "clock-names" optional DT properties Move the clock-related properties in the DesignWare PCIe controller bindings to 'optional' set of properties. [bhelgaas: move to separate patch] Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit cbce7900598c26a12652f8ca9c41c5b29034c38d Author: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Date: Thu Oct 29 19:57:21 2015 -0500 PCI: designware: Make driver arch-agnostic Previously, dw_pcie_host_init() created the PCI host bridge with pci_common_init_dev(), an ARM-specific function that supplies the ARM- specific pci_sys_data structure as the PCI "sysdata". Make pcie-designware.c arch-agnostic by reimplementing the functionality of pci_common_init_dev() directly in dw_pcie_host_init(). Note that this changes the bridge sysdata from the ARM pci_sys_data to the DesignWare pcie_port structure. This doesn't affect the ARM sysdata users because they are all specific to non-DesignWare host bridges, which will still have pci_sys_data. [bhelgaas: changelog] Tested-by: James Morse <james.morse@xxxxxxx> Tested-by: Gabriel Fernandez <gabriel.fernandez@xxxxxx> Tested-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit b3a72384fe29eec41a202b480145de225a148dbc Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 29 19:57:14 2015 -0500 ARM/PCI: Replace pci_sys_data->align_resource with global function pointer dw_pcie_host_init() creates the PCI host bridge with pci_common_init_dev(), an ARM-specific function that supplies the ARM-specific pci_sys_data structure as the PCI "sysdata". To use dw_pcie_host_init() on other architectures, we will copy the internals of pci_common_init_dev() into pcie-designware.c instead of calling it, and dw_pcie_host_init() will supply the DesignWare pcie_port structure as "sysdata". Most ARM "sysdata" users are specific to non-DesignWare host bridges; they'll be unaffected because those bridges will continue to have the ARM pci_sys_data. Most of the rest are ARM-generic functions called by pci_common_init_dev(); these will be unaffected because dw_pcie_host_init() will no longer call pci_common_init(). But the ARM pcibios_align_resource() can be called by the PCI core for any bridge, so it can't depend on sysdata since it may be either pci_sys_data or pcie_port. Remove the pcibios_align_resource() dependency on sysdata by replacing the pci_sys_data->align_resource pointer with a global function pointer. This is less general (we can no longer have per-host bridge align_resource() methods), but the pci_sys_data->align_resource pointer was used only by Marvell (see mvebu_pcie_enable()), so this would only be a problem if we had a system with a combination of Marvell and other host bridges [bhelgaas: changelog] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 0021d22b73d69f2121b89987a94d5ef5c4e14271 Author: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Date: Thu Oct 29 19:57:06 2015 -0500 PCI: designware: Use of_pci_get_host_bridge_resources() to parse DT Use the new of_pci_get_host_bridge_resources() API in place of the PCI OF DT parser. [bhelgaas: changelog] Tested-by: James Morse <james.morse@xxxxxxx> Tested-by: Gabriel Fernandez <gabriel.fernandez@xxxxxx> Tested-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 9cdce1cdc0c40e6c2e85ed9ca13c32adaa5fe0c5 Author: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Date: Thu Oct 29 19:56:58 2015 -0500 Revert "PCI: designware: Program ATU with untranslated address" Revert f4c55c5a3f7f ("PCI: designware: Program ATU with untranslated address"). Note that dra7xx_pcie_host_init() now modifies pp->io_base, but we still need the original value for dw_pcie_setup() in the path below, so this adds a new io_base_tmp member. It will be removed later when dw_pcie_setup() is removed. dra7xx_add_pcie_port dw_pcie_host_init pp->io_base = range.cpu_addr pp->io_base_tmp = range.cpu_addr # <-- added pp->ops->host_init dra7xx_pcie_host_init # ops->host_init pp->io_base &= DRA7XX_CPU_TO_BUS_ADDR # <-- modified pci_common_init_dev(..., &dw_pci) pcibios_init_hw hw->setup dw_pcie_setup # hw_pci.setup pci_ioremap_io(..., pp->io_base_tmp) # <-- original addr required [bhelgaas: changelog] Tested-by: James Morse <james.morse@xxxxxxx> Tested-by: Gabriel Fernandez <gabriel.fernandez@xxxxxx> Tested-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 883cc17cb193ad73bbc57934aa8d750162a9b79a Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 29 19:56:51 2015 -0500 PCI: designware: Move calculation of bus addresses to DRA7xx Commit f4c55c5a3f7f ("PCI: designware: Program ATU with untranslated address") added the calculation of PCI bus addresses in pcie-designware.c, storing them in new fields added in struct pcie_port. This calculation is done for every DesignWare user even though it only applies to DRA7xx. Move the calculation of the bus addresses to the DRA7xx driver to allow the rework of DesignWare to use the new DT parsing API. Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 907fce0902539ecde609e485eb2ecd7119a7a623 Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Tue Sep 29 00:03:10 2015 +0800 PCI: designware: Make "num-lanes" an optional DT property Currently "num-lanes" is read in dw_pcie_host_init(), but it is only used if we call dw_pcie_setup_rc() while bringing up the link. If the link has already been brought up by firmware, we need not call dw_pcie_setup_rc(), and "num-lanes" is unnecessary. Only complain about "num-lanes" if we actually need it and we didn't find a valid value. [bhelgaas: changelog] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b6b18f589e1ddbfbc31f72ea7fb8a723a2d10058 Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 8 14:27:53 2015 -0500 PCI: designware: Require config accesses to be naturally aligned Add sanity checks on "addr" input parameter in dw_pcie_cfg_read() and dw_pcie_cfg_write(). These checks make sure that accesses are aligned on their size, e.g., a 4-byte config access is aligned on a 4-byte boundary. [bhelgaas: changelog, set *val = 0 in failure case] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 4c45852f494dab827291c656ee9e12f3f4ee64d6 Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 8 14:27:48 2015 -0500 PCI: designware: Simplify dw_pcie_cfg_read/write() interfaces Callers of dw_pcie_cfg_read() and dw_pcie_cfg_write() previously had to split the address into "addr" and "where". The callees assumed "addr" was 32-bit aligned (with zeros in the low two bits) and they used only the low two bits of "where". Accept the entire address in "addr" and drop the now-redundant "where" argument. As an example, this replaces this: int dw_pcie_cfg_read(void __iomem *addr, int where, int size, u32 *val) *val = readb(addr + (where & 1)); with this: int dw_pcie_cfg_read(void __iomem *addr, int size, u32 *val) *val = readb(addr): [bhelgaas: changelog, split access size change to separate patch] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit c003ca99632e1783466f459033874a0e1e31457b Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 8 14:27:43 2015 -0500 PCI: designware: Use exact access size in dw_pcie_cfg_read() dw_pcie_cfg_write() uses the exact 8-, 16-, or 32-bit access size requested, but dw_pcie_cfg_read() previously performed a 32-bit read and masked out the bits requested. Use the exact access size in dw_pcie_cfg_read(). For example, if we want an 8-bit read, use readb() instead of using readl() and masking out the 8 bits we need. This makes it symmetric with dw_pcie_cfg_write(). [bhelgaas: split into separate patch, set *val = 0 in failure case] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit fa3b7cbab548b15da438b0cc13aa515f7f291f4d Author: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx> Date: Thu Oct 8 14:27:38 2015 -0500 PCI: spear: Fix dw_pcie_cfg_read/write() usage The first argument of dw_pcie_cfg_read/write() is a 32-bit aligned address. The second argument is the byte offset into a 32-bit word, and dw_pcie_cfg_read/write() only look at the low two bits. SPEAr13xx used dw_pcie_cfg_read() and dw_pcie_cfg_write() incorrectly: it passed important address bits in the second argument, where they were ignored. Pass the complete 32-bit word address in the first argument and only the 2-bit offset into that word in the second argument. Without this fix, SPEAr13xx host will never work with few buggy gen1 card which connects with only gen1 host and also with any endpoint which would generate a read request of more than 128 bytes. [bhelgaas: changelog] Reported-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Pratyush Anand <panand@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.17+ commit c8947fbbd19cc05078af3b1f3e9420d5dacd40ea Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 18 13:58:35 2015 -0500 PCI: designware: Set up high part of MSI target address Set up the high part of the MSI target address to allow the MSI target to be above 4GB on 64bit and PAE systems. [bhelgaas: changelog] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit ac00881f922106b45e934dc6988fa9c1ec542d71 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Fri Oct 30 15:16:26 2015 -0700 bpf: convert hashtab lock to raw lock When running bpf samples on rt kernel, it reports the below warning: BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917 in_atomic(): 1, irqs_disabled(): 128, pid: 477, name: ping Preemption disabled at:[<ffff80000017db58>] kprobe_perf_func+0x30/0x228 CPU: 3 PID: 477 Comm: ping Not tainted 4.1.10-rt8 #4 Hardware name: Freescale Layerscape 2085a RDB Board (DT) Call trace: [<ffff80000008a5b0>] dump_backtrace+0x0/0x128 [<ffff80000008a6f8>] show_stack+0x20/0x30 [<ffff8000007da90c>] dump_stack+0x7c/0xa0 [<ffff8000000e4830>] ___might_sleep+0x188/0x1a0 [<ffff8000007e2200>] rt_spin_lock+0x28/0x40 [<ffff80000018bf9c>] htab_map_update_elem+0x124/0x320 [<ffff80000018c718>] bpf_map_update_elem+0x40/0x58 [<ffff800000187658>] __bpf_prog_run+0xd48/0x1640 [<ffff80000017ca6c>] trace_call_bpf+0x8c/0x100 [<ffff80000017db58>] kprobe_perf_func+0x30/0x228 [<ffff80000017dd84>] kprobe_dispatcher+0x34/0x58 [<ffff8000007e399c>] kprobe_handler+0x114/0x250 [<ffff8000007e3bf4>] kprobe_breakpoint_handler+0x1c/0x30 [<ffff800000085b80>] brk_handler+0x88/0x98 [<ffff8000000822f0>] do_debug_exception+0x50/0xb8 Exception stack(0xffff808349687460 to 0xffff808349687580) 7460: 4ca2b600 ffff8083 4a3a7000 ffff8083 49687620 ffff8083 0069c5f8 ffff8000 7480: 00000001 00000000 007e0628 ffff8000 496874b0 ffff8083 007e1de8 ffff8000 74a0: 496874d0 ffff8083 0008e04c ffff8000 00000001 00000000 4ca2b600 ffff8083 74c0: 00ba2e80 ffff8000 49687528 ffff8083 49687510 ffff8083 000e5c70 ffff8000 74e0: 00c22348 ffff8000 00000000 ffff8083 49687510 ffff8083 000e5c74 ffff8000 7500: 4ca2b600 ffff8083 49401800 ffff8083 00000001 00000000 00000000 00000000 7520: 496874d0 ffff8083 00000000 00000000 00000000 00000000 00000000 00000000 7540: 2f2e2d2c 33323130 00000000 00000000 4c944500 ffff8083 00000000 00000000 7560: 00000000 00000000 008751e0 ffff8000 00000001 00000000 124e2d1d 00107b77 Convert hashtab lock to raw lock to avoid such warning. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be596aaa74090f553c61505ad03bb7a7460e5d23 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:28 2015 -0700 Add current selection check. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> [mmarek: I missed it in the original Qt5 patch set, which caused a crash] Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 588446a84776cfb3ebbc1677c3407d6884878bd6 Author: Thiago Macieira <thiago.macieira@xxxxxxxxx> Date: Sun Nov 1 21:12:53 2015 -0600 Use pkg-config to find Qt 4 and 5 instead of direct qmake The Qt Project recommendation is that there should always be a "qmake" binary and it should never be renamed. If it's necessary to handle multiple Qt versions, the Qt Project recommends using qtchooser. Unfortunately, some distros do not follow the recommendation, so we would need to check qmake-qt4, qmake-qt5, etc. So, instead, let's try pkg-config. Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Reported-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Acked-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 21086b990ba51d12670eba342eec76d4bba55d33 Merge: ce10500 ddd611d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 15:40:11 2015 -0500 Merge branch 'bridge_vlan_fixes' Nikolay Aleksandrov says: ==================== bridge: vlan: failure path and comment fixes This is a set from Ido which takes care of one failure path error in nbp_vlan_init (patch 1) and a few comment errors (patch 2). I must admit I didn't expect the port init continues after a vlan init failure but should've checked to make sure. Thanks to Ido for catching these! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ddd611d3fffb90b967e50f5aa6d45d55eb0e1d3f Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 30 17:46:20 2015 +0100 bridge: vlan: Use correct flag name in comment The flag used to indicate if a VLAN should be used for filtering - as opposed to context only - on the bridge itself (e.g. br0) is called 'brentry' and not 'brvlan'. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07bc588fc1087929e8e6dfe95ffcee1cb69a240f Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 30 17:46:19 2015 +0100 bridge: vlan: Prevent possible use-after-free When adding a port to a bridge we initialize VLAN filtering on it. We do not bail out in case an error occurred in nbp_vlan_init, as it can be used as a non VLAN filtering bridge. However, if VLAN filtering is required and an error occurred in nbp_vlan_init, we should set vlgrp to NULL, so that VLAN filtering functions (e.g. br_vlan_find, br_get_pvid) will know the struct is invalid and will not try to access it. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce1050089c969b96c797118f9cb0cf5a421ddc69 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 30 09:46:12 2015 -0700 tcp/dccp: fix ireq->pktopts race IPv6 request sockets store a pointer to skb containing the SYN packet to be able to transfer it to full blown socket when 3WHS is done (ireq->pktopts -> np->pktoptions) As explained in commit 5e0724d027f0 ("tcp/dccp: fix hashdance race for passive sessions"), we must transfer the skb only if we won the hashdance race, if multiple cpus receive the 'ack' packet completing 3WHS at the same time. Fixes: e994b2f0fb92 ("tcp: do not lock listener to process SYN packets") Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b5654349e4728021b9301e42ae16fa11f6832c8 Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Fri Oct 30 08:49:10 2015 -0700 RDS: convert bind hash table to re-sizable hashtable To further improve the RDS connection scalabilty on massive systems where number of sockets grows into tens of thousands of sockets, there is a need of larger bind hashtable. Pre-allocated 8K or 16K table is not very flexible in terms of memory utilisation. The rhashtable infrastructure gives us the flexibility to grow the hashtbable based on use and also comes up with inbuilt efficient bucket(chain) handling. Reviewed-by: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3ffaefa1bbcfba1b4ef985fd53406f31b98f277 Author: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Date: Fri Oct 30 19:46:44 2015 +0530 net: rds: changing the return type from int to void as result of function rds_iw_flush_mr_pool is nowhere checked, changing its return type from int to void. also removing the unused variable rc as there is nothing to return Signed-off-by: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 615a1003c6502f0d1812fd2dbe08e86b1c3f5db9 Merge: e6dbe1e 562b103 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 15:33:38 2015 -0500 Merge tag 'linux-can-fixes-for-4.3-20151030' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can Marc Kleine-Budde says: ==================== pull-request: can 2015-10-30 this is a pull request for the upcoming v4.3 release. Marek Vasut provides a patch to use the correct attrlen in the nla_put() in the can_fill_info() function. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc9d8c20ffb47e64a41a4716a06d37cdf88fcc42 Merge: 9ff3ca5 d99c805 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 12:30:39 2015 -0800 Merge tag 'pinctrl-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control updates from Linus Walleij: "This is the big bulk of pin control changes for the v4.4 kernel development cycle. Development pace is high in pin control again this merge window. 28 contributors, 83 patches. It hits a few sites outside the pin control subsystem: - Device tree bindings in Documentation (as usual) - MAINTAINERS - drivers/base/* for the "init" state handling by Doug Anderson. This has been ACKed by Greg. - drivers/usb/renesas_usbhs/rcar2.c, for a dependent Renesas change in the USB subsystem. This has been ACKed by both Greg and Felipe. - arch/arm/boot/dts/sama5d2.dtsi - this should ideally have gone through the ARM SoC tree but ended up here. This time I am using Geert Uytterhoeven as submaintainer for SH PFC since the are three-four people working in parallel with new Renesas ASICs. Summary of changes: Infrastructure: - Doug Anderson wrote a patch adding an "init" state different from the "default" state for pin control state handling in the core framework. This is applied before the driver's probe() call if defined and takes precedence over "default". If both are defined, "init" will be applied *before* probe() and "default" will be applied *after* probe(). Significant subdriver improvements: - SH PFC is switched to getting GPIO ranges from the device tree ranges property on DT platforms. - Got rid of CONFIG_ARCH_SHMOBILE_LEGACY, we are all modernized. - Got rid of SH PFC hardcoded IRQ numbers. - Allwinner sunxi external interrupt through the "r" controller. - Moved the Cygnus driver to use DT-provided GPIO ranges. New drivers: - Atmel PIO4 pin controller for the SAMA4D2 family New subdrivers: - Rockchip RK3036 subdriver - Renesas SH PFC R8A7795 subdriver - Allwinner sunxi A83T PIO subdriver - Freescale i.MX7d iomux lpsr subdriver - Marvell Berlin BG4CT subdriver - SiRF Atlas 7 step B SoC subdriver - Intel Broxton SoC subdriver Apart from this, the usual slew if syntactic and semantic fixes" * tag 'pinctrl-v4.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (81 commits) pinctrl: pinconf: remove needless loop pinctrl: uniphier: guard uniphier directory with CONFIG_PINCTRL_UNIPHIER pinctrl: zynq: fix UTF-8 errors pinctrl: zynq: Initialize early pinctrl: at91: add missing of_node_put pinctrl: tegra-xusb: Correct lane mux options pinctrl: intel: Add Intel Broxton pin controller support pinctrl: intel: Allow requesting pins which are in ACPI mode as GPIOs pinctrl: intel: Add support for multiple GPIO chips sharing the interrupt drivers/pinctrl: Add the concept of an "init" state pinctrl: uniphier: set input-enable before pin-muxing pinctrl: cygnus: Add new compatible string for gpio controller driver pinctrl: cygnus: Remove GPIO to Pinctrl pin mapping from driver pinctrl: cygnus: Optional DT property to support pin mappings pinctrl: sunxi: Add irq pinmuxing to sun6i "r" pincontroller pinctrl: sunxi: Fix irq_of_xlate for the r_pio pinctrl block pinctrl: sh-pfc: Remove obsolete r8a7778 platform_device_id entry pinctrl: sh-pfc: Remove obsolete r8a7779 platform_device_id entry pinctrl: sh-pfc: Stop including <linux/platform_data/gpio-rcar.h> usb: renesas_usbhs: Remove unneeded #include <linux/platform_data/gpio-rcar.h> ... commit 64cf370887ac497e74b2e4224b662bfd1d8db41a Merge: 322cf7e 07f56c6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Nov 2 15:28:57 2015 -0500 Merge branch 'encx24j600-fixes' Javier Martinez Canillas says: ==================== net: encx24j600: Fix SPI driver module autoload Recently I've been trying to fix module autoloading for all SPI drivers and found that the encx24j600 driver does not fill module alias information due missing a MODULE_DEVICE_TABLE() so module autload won't work and the driver Kconfig symbol is tristate which means the driver can be built as a module. But also the SPI id table is not correctly defined so this series fixes both issues. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07f56c616d06b966c0a63d16172935b257a6a8d4 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 30 13:49:18 2015 +0100 net: encx24j600: Export missing SPI module alias information The driver Kconfig symbol is tristate which means that it can be built as a module but the module alias information is not added to the module info so module autoload won't work since user-space won't have the information. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0cb48cd19ce1e249cd350aa67fbf63560292266 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 30 13:49:17 2015 +0100 net: encx24j600: Fix SPI id table definition A driver's SPI id table is expected to be an array of struct spi_device_id that ends with a zero-initialized sentinel entry. But this driver defines the table as a single struct spi_device_id and sets .id_table to a pointer to this struct. But spi_match_id() has a loop that iterates while the struct spi_device_id .name[0] is not NULL, so not having a sentinel can cause a NULL pointer deference error. This patch defines the SPI id table correctly as all other SPI drivers do. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 209851649dc4f7900a6bfe1de5e2640ab2c7d931 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Tue Oct 27 16:58:27 2015 -0600 acpi: nfit: Add support for hot-add Add a .notify callback to the acpi_nfit_driver that gets called on a hotplug event. From this, evaluate the _FIT ACPI method which returns the updated NFIT with handles for the hot-plugged NVDIMM. Iterate over the new NFIT, and add any new tables found, and register/enable the corresponding regions. In the nfit test framework, after normal initialization, update the NFIT with a new hot-plugged NVDIMM, and directly call into the driver to update its view of the available regions. Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxxx> Cc: Elliott, Robert <elliott@xxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Cc: <linux-acpi@xxxxxxxxxxxxxxx> Cc: <linux-nvdimm@xxxxxxxxxxxx> Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 564d501187317f8df79ddda173cf23735cbddd16 Author: Vishal Verma <vishal.l.verma@xxxxxxxxx> Date: Tue Oct 27 16:58:26 2015 -0600 nfit: in acpi_nfit_init, break on a 0-length table If acpi_nfit_init is called (such as from nfit_test), with an nfit table that has more memory allocated than it needs (and a similarly large 'size' field, add_tables would happily keep adding null SPA Range tables filling up all available memory. Make it friendlier by breaking out if a 0-length header is found in any of the tables. Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: <linux-acpi@xxxxxxxxxxxxxxx> Cc: <linux-nvdimm@xxxxxxxxxxxx> Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 9ff3ca58b0f99475f269cd6faf4ab1b194243b3f Merge: 17a1359 990995b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 12:14:50 2015 -0800 Merge tag 'edac_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp Pull EDAC updates from Borislav Petkov: "A bunch of fixes all over the place and some hw enablement this time. - Convert EDAC to debugfs wrappers and make drivers use those (Borislav Petkov) - L3 and SoC support for xgene_edac (Loc Ho) - AMD F15h, models 0x60-6f support to amd64_edac (Aravind Gopalakrishnan) - Fixes and cleanups all over the place" * tag 'edac_for_4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (22 commits) EDAC: Fix PAGES_TO_MiB macro misuse EDAC, altera: SoCFPGA EDAC should not look for ECC_CORR_EN EDAC: Use edac_debugfs_remove_recursive() EDAC, ppc4xx_edac: Fix module autoload for OF platform driver Documentation/EDAC: Add reference documents section for amd64_edac EDAC, amd64_edac: Update copyright and remove changelog EDAC, amd64_edac: Extend scrub rate support to F15hM60h EDAC: Don't allow empty DIMM labels EDAC: Fix sysfs dimm_label store operation EDAC: Fix sysfs dimm_label show operation arm64, EDAC: Add L3/SoC DT subnodes to the APM X-Gene SoC EDAC node EDAC, xgene: Add SoC support EDAC, xgene: Fix possible sprintf() overflow issue EDAC, xgene: Add L3 support EDAC, Documentation: Update X-Gene EDAC binding for L3/SoC subnodes EDAC, sb_edac: Fix TAD presence check for sbridge_mci_bind_devs() EDAC, ghes_edac: Remove redundant memory_type array EDAC, xgene: Convert to debugfs wrappers EDAC, i5100: Convert to debugfs wrappers EDAC, altera: Convert to debugfs wrappers ... commit 322cf7e3a4e89236ae386cb5668ae0d787d21136 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Fri Oct 30 16:52:51 2015 +0530 enic: assign affinity hint to interrupts The affinity hint is used by the user space daemon, irqbalancer, to indicate a preferred CPU mask for irqs. This patch sets the irq affinity hint to local numa core first, when exausted we try non-local numa cores. Also set tx xps cpus mask bassed on affinity hint. v2: remove the global affinity policy. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17a1359034e1fb5cfe9e5196a8ab5153acfacdc6 Merge: 66b0199 7cc8d58 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 11:40:22 2015 -0800 Merge tag 'mmc-v4.4' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC updates from Ulf Hansson: "MMC core: - Add new API to set VCCQ voltage - mmc_regulator_set_vqmmc() - Add new ioctl to allow userspace to send multi commands - Wait for card busy signalling before starting SDIO requests - Remove MMC_CLKGATE - Enable tuning for DDR50 mode - Some code clean-up/improvements to mmc pwrseq - Use highest priority for eMMC restart handler - Add DT bindings for eMMC hardware reset support - Extend the mmc_send_tuning() API - Improve ios show for debugfs - A couple of code optimizations MMC host: - Some generic OF improvements - Various code clean-ups - sirf: Add support for DDR50 - sunxi: Add support for card busy detection - mediatek: Use MMC_CAP_RUNTIME_RESUME - mediatek: Add support for eMMC HW-reset - mediatek: Add support for HS400 - dw_mmc: Convert to use the new mmc_regulator_set_vqmmc() API - dw_mmc: Add external DMA interface support - dw_mmc: Some various improvements - dw_mmc-rockchip: MMC tuning with the clock phase framework - sdhci: Properly clear IRQs during resume - sdhci: Enable tuning for DDR50 mode - sdhci-of-esdhc: Use IRQ mode for card detection - sdhci-of-esdhc: Support both BE and LE host controller - sdhci-pci: Build o2micro support in the same module - sdhci-pci: Support for new Intel host controllers - sdhci-acpi: Support for new Intel host controllers" * tag 'mmc-v4.4' of git://git.linaro.org/people/ulf.hansson/mmc: (73 commits) mmc: dw_mmc: fix the wrong setting for UHS-DDR50 mode mmc: dw_mmc: fix the CardThreshold boundary at CardThrCtl register mmc: dw_mmc: NULL dereference in error message mmc: pwrseq: Use highest priority for eMMC restart handler mmc: mediatek: add HS400 support mmc: mmc: extend the mmc_send_tuning() mmc: mediatek: add implement of ops->hw_reset() mmc: mediatek: fix got GPD checksum error interrupt when data transfer mmc: mediatek: change the argument "ddr" to "timing" mmc: mediatek: make cmd_ints_mask to const mmc: dt-bindings: update Mediatek MMC bindings mmc: core: Add DT bindings for eMMC hardware reset support mmc: omap_hsmmc: Enable omap_hsmmc for Keystone 2 mmc: sdhci-acpi: Add more ACPI HIDs for Intel controllers mmc: sdhci-pci: Add more PCI IDs for Intel controllers arm: lpc18xx_defconfig: remove CONFIG_MMC_DW_IDMAC arm: hisi_defconfig: remove CONFIG_MMC_DW_IDMAC arm: exynos_defconfig: remove CONFIG_MMC_DW_IDMAC arc: axs10x_defconfig: remove CONFIG_MMC_DW_IDMAC mips: pistachio_defconfig: remove CONFIG_MMC_DW_IDMAC ... commit 9920e48b830a0f4ec06bcbf0ec3147c88ae72bac Author: Paolo Abeni <pabeni@xxxxxxxxxx> Date: Thu Oct 29 22:20:40 2015 +0100 ipv4: use l4 hash for locally generated multipath flows This patch changes how the multipath hash is computed for locally generated flows: now the hash comprises l4 information. This allows better utilization of the available paths when the existing flows have the same source IP and the same destination IP: with l3 hash, even when multiple connections are in place simultaneously, a single path will be used, while with l4 hash we can use all the available paths. v2 changes: - use get_hash_from_flowi4() instead of implementing just another l4 hash function Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66b019967845a5af58802fd9af77f2317e5298a1 Merge: a5ad88c 3b5ea47 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Nov 2 11:32:24 2015 -0800 Merge tag 'hwmon-for-linus-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: "New driver for MAX31790, added support for TMP75C, as well as cleanups and minor improvements in various drivers" * tag 'hwmon-for-linus-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (fam15h_power) Add max compute unit accumulated power hwmon: (fam15h_power) Enable power1_input on AMD Carrizo hwmon: (fam15h_power) Refactor attributes for dynamically added hwmon: (ina2xx) remove no longer used variable 'kind' hwmon: (nct6775) Introduce separate temperature labels for NCT6792 and NCT6793 hwmon: (nct6775) NCT6791D and NCT6792D have an additional temperature source hwmon: (ina2xx) give precedence to DT over checking for platform data. hwmon: (ina2xx) convert driver to using regmap hwmon: (coretemp) Increase limit of maximum core ID from 32 to 128. hwmon: (lm75) Add support for TMP75C hwmon: (ibmpowernv) Add OF compatibility table entry hwmon: (abx500) drop the use of IRQF_NO_SUSPEND hwmon: (max31790) Fix dereference of ERR_PTR hwmon: Driver for Maxim MAX31790 commit c6650b2e57725abaa2e36e620d06fa576d26c21c Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:36 2015 +0800 tracing: ftrace_event_is_function() can return boolean Make ftrace_event_is_function() return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-9-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 907bff917a659a8e50e285dc42ef51d7eaba6e62 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:35 2015 +0800 tracing: is_legal_op() can return boolean Make is_legal_op() return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-8-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit cdb2a0a91566d413a6e4e2c57c5d341a2e1173f3 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:34 2015 +0800 ring-buffer: rb_event_is_commit() can return boolean Make rb_event_is_commit() return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-7-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit da58834cf2fa83fe3885753009fecaa49a85f246 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:33 2015 +0800 ring-buffer: rb_per_cpu_empty() can return boolean Makes rb_per_cpu_empty() return bool to improve readability. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-6-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3d4e204d81eec30abffe55d01912e07ce81eef12 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:32 2015 +0800 ring_buffer: ring_buffer_empty{cpu}() can return boolean Make ring_buffer_empty() and ring_buffer_empty_cpu() return bool. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-5-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 06ca320952dc21c537055d2aa36a2c2e96a1b94d Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:31 2015 +0800 ring-buffer: rb_is_reader_page() can return boolean Make rb_is_reader_page() return bool to improve readability due to this particular function only using either true or false as its return value. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-4-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 79851821b2c94fc66cddb80b8b12dcfa09f6e7cb Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:30 2015 +0800 tracing: report_latency() in trace_irqsoff.c can return boolean This patch makes report_latency return bool due to this particular function only using either one or zero as its return value. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-3-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 26ab2ef4516f5c9579b46188809f387406063262 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 29 22:43:29 2015 +0800 tracing: report_latency() in trace_sched_wakeup.c can return boolean This patch makes report_latency return bool to improve readability, indicating whether this new latency should be reported/recorded. No functional change. Link: http://lkml.kernel.org/r/1443537816-5788-2-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 67aedeb857fb10b34cd125f962b109ed440b3833 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Wed Sep 30 15:54:10 2015 +0800 Sample: Trace_event: Correct the comments The commit 889204278ccf ("tracing: Update trace-event-sample with TRACE_SYSTEM_VAR documentation") changed TRACE_SYSTEM to 'sample-trace', but didn't make the according change of its name in the comments. Link: http://lkml.kernel.org/r/1443599650-23680-1-git-send-email-zhang.chunyan@xxxxxxxxxx Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4247896f4b8bdbe2c9a03c2f713b636e94eab210 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Oct 25 15:50:59 2015 -0700 cris: Drop reference to get_cmos_time() Function get_cmos_time() was removed with commit 657926a83df9 ("cris: time: Cleanup of persistent clock stuff"). The remaining reference to it may cause the following build error. arch/cris/kernel/built-in.o:(___ksymtab+get_cmos_time+0x0): undefined reference to `get_cmos_time' Makefile:946: recipe for target 'vmlinux' failed Fixes: 657926a83df9 ("cris: time: Cleanup of persistent clock stuff") Cc: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Cc: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit e301a08be4e4ad349b6195562197950d74c86e8a Author: Jesper Nilsson <jespern@xxxxxxxx> Date: Fri Oct 2 11:22:55 2015 +0200 CRIS: Drop code related to obsolete or unused kconfigs Drop all code related to Kconfigs that don't exist. Fix one Kconfig where it was actually typo:ed (ETRAX_KGB_PORT2) Drop content related to CRIS v32 SoCs from etraxgpio.h headerfile, all use of GPIO for both ETRAX FS and ARTPEC-3 should now be through standard gpiolib instead. Signed-off-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> commit 9f4137fa2cf20bd1ffb1fcb2711c3c347cc86fea Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Fri Jul 17 17:31:26 2015 +0800 cris: time: Cleanup of persistent clock stuff - Remove update_persistent_clock(), as it does nothing now. - Remove read_persistent_clock(), let it fall back to the weak version. Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Acked-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit fad5a06b0cfd9a65c71d09c70520d0cf67e0c577 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 15:17:25 2015 +0300 cris: re-use helpers to dump data in hex format There are native helpers such as print_hex_byte() and %*ph specifier to dump data in hex format. Re-use them instead of a custom approach. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit ab28e96fd1cf1db1579854931890e5613efc5021 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:24 2015 +0200 CRIS v32: remove old GPIO and LEDs code Since we now have a gpiolib driver, remove this code: The gpio-etraxfs driver (along with things like gpio-keys-polled for polling support) replaces the GIO driver implementations in mach-a3 and mach-fs. The various generic external chip drivers replace the "virtual gpio" parts. The generic gpio-leds driver replaces the LED handling. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 79b863c68eba8f7aa5b76c44db3b1df8412c977e Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:23 2015 +0200 CRIS v32: remove I2C bitbanging driver Now that we have a gpiolib GPIO driver, the generic i2c-gpio driver provides this functionality. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 25624b98509f6868829a093392bb6437bcbd7beb Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:22 2015 +0200 CRIS v32: add ARTPEC-3 and P1343 device trees Add a device tree for the Axis P1343 with the ARTPEC-3 SoC and on-board LEDs and RTC. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit a95b3ba2c322c3c373d34988d6928311b1b447a1 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:21 2015 +0200 CRIS v32: dev88: add GPIO, LEDs, RTC, temp sensor Add the GPIO driver to the device tree and, using it, support for the LEDs and the RTC chip (via I2C-GPIO), as well as the temperature sensor (via SPI-GPIO). Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit d4dde7d21c4e243744d574ae38e2971be6a7a3a7 Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:20 2015 +0200 CRIS: add dt-bindings symlink Add a dt-bindings symlink to get DT include files, as on other architectures. See c58299a ("kbuild: create an "include chroot" for DT bindings") for the details. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit df90c338087fdec88727a025a8d6400ecb7fe4bd Author: Rabin Vincent <rabin@xxxxxx> Date: Mon Aug 3 20:19:19 2015 +0200 CRIS v32: increase NR_IRQS Increase NR_IQRS so we can fit in GPIO interrupts. Signed-off-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit c33fe4444395a6972b30cb91676d04af2a3dc1a5 Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Thu Aug 6 00:34:53 2015 +0200 cris: arch-v10: kgdb: Add '__used' for static variable is_dyn_brkp Within one C file, current gcc can optimize the global static variables according to the C code, but it will skip assembly code -- it will pass them to gas directly. if the static variable is used between C code and assembly code in one C file (e.g. is_dyn_brkp in kgdb.c), it needs '__used' to let gcc know it should be still used, or gcc may remove it for optimization. The related error in this case: LD init/built-in.o arch/cris/arch-v10/kernel/built-in.o: In function `kgdb_handle_breakpoint': (.text+0x2aca): undefined reference to `is_dyn_brkp' arch/cris/arch-v10/kernel/built-in.o: In function `is_static': kgdb.c:(.text+0x2ada): undefined reference to `is_dyn_brkp' Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 8f40dcebefd4a9e8fa24d2ac5e3fd5e410eea58d Author: Chen Gang <xili_gchen_5257@xxxxxxxxxxx> Date: Sat Jul 11 05:47:24 2015 +0800 cris: arch-v10: kgdb: Use BAR instead of DTP0 for register P12 For arch-v10, there is no DTP0 register, and at present, assembler know BAR, so use BAR instead of DTP0, the related error (with allmodconfig): CC arch/cris/arch-v10/kernel/kgdb.o {standard input}: Assembler messages: {standard input}:6: Error: Illegal operands {standard input}:6: Error: Illegal operands Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Hans-Peter Nilsson <hp@xxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 4d0d39758d3e10a31e7f146d56760a92396feb85 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 14:42:29 2015 +0300 cris: kgdb: use native hex2bin There are kernel native helpers to convert hex ascii to the binary format: hex_to_bin() and hex2bin(). Thus, no need to reimplement them customly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jesper Nilsson <jespern@xxxxxxxx> commit 681a4a2f4529517422835b7395df07404dfe2278 Author: Jiaxing Wang <hello.wjx@xxxxxxxxx> Date: Sun Oct 18 19:58:08 2015 +0800 tracing: Update instance_rmdir() to use tracefs_remove_recursive Update instancd_rmdir to use tracefs_remove_recursive instead of debugfs_remove_recursive.This was left in the transition from debugfs to tracefs. Link: http://lkml.kernel.org/r/1445169490-18315-2-git-send-email-hello.wjx@xxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx # 4.1+ Fixes: 8434dc9340cd2 ("tracing: Convert the tracing facility over to use tracefs") Signed-off-by: Jiaxing Wang <hello.wjx@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 260074cd8413489903d4484058e61649d6e08580 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Nov 2 09:59:00 2015 -0500 pNFS/flexfiles: Add support for FF_FLAGS_NO_IO_THRU_MDS For loosely coupled pNFS/flexfiles systems, there is often no advantage at all in going through the MDS for I/O, since the MDS is subject to the same limitations as all other clients when talking to DSes. If a DS is unresponsive, I/O through the MDS will fail. For such systems, the only scalable solution is to have the pNFS clients retry doing pNFS, and so the protocol now provides a flag that allows the pNFS server to signal this. If LAYOUTGET returns FF_FLAGS_NO_IO_THRU_MDS, then we should assume that the MDS wants the client to retry using these devices, even if they were previously marked as being unavailable. To do so, we add a helper, ff_layout_mark_devices_valid() that will be called from layoutget. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 135444126a1175912b43366f6109cb297018f034 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Nov 2 10:11:17 2015 -0500 pNFS/flexfiles: When mirrored, retry failed reads by switching mirrors If the pNFS/flexfiles file is mirrored, and a read to one mirror fails, then we should bump the mirror index, so that we retry to a different mirror. Once we've iterated through all mirrors and all failed, we can return the layout and issue a new LAYOUTGET. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0f2e3bdab6590a5d8900e7d701e21ac9af19924c Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:28:24 2015 -0400 SUNRPC: Remove the TCP-only restriction in bc_svc_process() Allow the use of other transport classes when handling a backward direction RPC call. 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 9468431962616c2449d47c482208a5967e011bf9 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:28:16 2015 -0400 svcrdma: Add backward direction service for RPC/RDMA transport On NFSv4.1 mount points, the Linux NFS client uses this transport endpoint to receive backward direction calls and route replies back to the NFSv4.1 server. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Acked-by: "J. Bruce Fields" <bfields@xxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 63cae47005af51c937f4cdcc4835f29075add2ba Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:28:08 2015 -0400 xprtrdma: Handle incoming backward direction RPC calls Introduce a code path in the rpcrdma_reply_handler() to catch incoming backward direction RPC calls and route them to the ULP's backchannel server. 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 83128a60ca74e996c5e0336c4fff0579f4a8c909 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:59 2015 -0400 xprtrdma: Add support for sending backward direction RPC replies Backward direction RPC replies are sent via the client transport's send_request method, the same way forward direction RPC calls are sent. 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 124fa17d3e33060fbb28e995a42c7f5c8b31b345 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:51 2015 -0400 xprtrdma: Pre-allocate Work Requests for backchannel Pre-allocate extra send and receive Work Requests needed to handle backchannel receives and sends. The transport doesn't know how many extra WRs to pre-allocate until the xprt_setup_backchannel() call, but that's long after the WRs are allocated during forechannel setup. So, use a fixed value for now. 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 f531a5dbc451afb66e9d6c71a69e8358d1847969 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:43 2015 -0400 xprtrdma: Pre-allocate backward rpc_rqst and send/receive buffers xprtrdma's backward direction send and receive buffers are the same size as the forechannel's inline threshold, and must be pre- registered. The consumer has no control over which receive buffer the adapter chooses to catch an incoming backwards-direction call. Any receive buffer can be used for either a forward reply or a backward call. Thus both types of RPC message must all be the same size. 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 42e5c3e2725ba0c0affc1fc8a6aa1d5cf31ecb75 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:35 2015 -0400 SUNRPC: Abstract backchannel operations xprt_{setup,destroy}_backchannel() won't be adequate for RPC/RMDA bi-direction. In particular, receive buffers have to be pre- registered and posted in order to receive incoming backchannel requests. Add a virtual function call to allow the insertion of appropriate backchannel setup and destruction methods for each transport. In addition, freeing a backchannel request is a little different for RPC/RDMA. Introduce an rpc_xprt_op to handle the difference. 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 a5b027e1897c811401862877d0ba4ca26fabc4da Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:27 2015 -0400 xprtrdma: Saving IRQs no longer needed for rb_lock Now that RPC replies are processed in a workqueue, there's no need to disable IRQs when managing send and receive buffers. This saves noticeable overhead per RPC. 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 2da9ab3008f359857eb594b0b4b0fee62f2a73c2 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:18 2015 -0400 xprtrdma: Remove reply tasklet Clean up: The reply tasklet is no longer used. 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 fe97b47cd623ebbaa55a163c336abc47153526d1 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:10 2015 -0400 xprtrdma: Use workqueue to process RPC/RDMA replies The reply tasklet is fast, but it's single threaded. After reply traffic saturates a single CPU, there's no more reply processing capacity. Replace the tasklet with a workqueue to spread reply handling across all CPUs. This also moves RPC/RDMA reply handling out of the soft IRQ context and into a context that allows sleeps. 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 1e465fd4ff475cc29c866ee75496c941b3908e69 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:27:02 2015 -0400 xprtrdma: Replace send and receive arrays The rb_send_bufs and rb_recv_bufs arrays are used to implement a pair of stacks for keeping track of free rpcrdma_req and rpcrdma_rep structs. Replace those arrays with free lists. To allow more than 512 RPCs in-flight at once, each of these arrays would be larger than a page (assuming 8-byte addresses and 4KB pages). Allowing up to 64K in-flight RPCs (as TCP now does), each buffer array would have to be 128 pages. That's an order-6 allocation. (Not that we're going there.) A list is easier to expand dynamically. Instead of allocating a larger array of pointers and copying the existing pointers to the new array, simply append more buffers to each list. This also makes it simpler to manage receive buffers that might catch backwards-direction calls, or to post receive buffers in bulk to amortize the overhead of ib_post_recv. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Tested-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit b0e178a2d8ad4bd6c6bbf5d3f3cf50ca8907581b Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:26:54 2015 -0400 xprtrdma: Refactor reply handler error handling Clean up: The error cases in rpcrdma_reply_handler() almost never execute. Ensure the compiler places them out of the hot path. No behavior change expected. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Tested-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 4220a07264c0517006a534aed201e29c8d297306 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:26:45 2015 -0400 xprtrdma: Prevent loss of completion signals Commit 8301a2c047cc ("xprtrdma: Limit work done by completion handler") was supposed to prevent xprtrdma's upcall handlers from starving other softIRQ work by letting them return to the provider before all CQEs have been polled. The logic assumes the provider will call the upcall handler again immediately if the CQ is re-armed while there are still queued CQEs. This assumption is invalid. The IBTA spec says that after a CQ is armed, the hardware must interrupt only when a new CQE is inserted. xprtrdma can't rely on the provider calling again, even though some providers do. Therefore, leaving CQEs on queue makes sense only when there is another mechanism that ensures all remaining CQEs are consumed in a timely fashion. xprtrdma does not have such a mechanism. If a CQE remains queued, the transport can wait forever to send the next RPC. Finally, move the wcs array back onto the stack to ensure that the poll array is always local to the CPU where the completion upcall is running. Fixes: 8301a2c047cc ("xprtrdma: Limit work done by completion ...") Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Tested-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit 7b3d770c67bc07db5035999e4f864c5f2ff7b10e Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:26:37 2015 -0400 xprtrdma: Re-arm after missed events ib_req_notify_cq(IB_CQ_REPORT_MISSED_EVENTS) returns a positive value if WCs were added to a CQ after the last completion upcall but before the CQ has been re-armed. Commit 7f23f6f6e388 ("xprtrmda: Reduce lock contention in completion handlers") assumed that when ib_req_notify_cq() returned a positive RC, the CQ had also been successfully re-armed, making it safe to return control to the provider without losing any completion signals. That is an invalid assumption. Change both completion handlers to continue polling while ib_req_notify_cq() returns a positive value. Fixes: 7f23f6f6e388 ("xprtrmda: Reduce lock contention in ...") Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Tested-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit a045178887ebafa9514d6b4cb840ac13a26c8365 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Sat Oct 24 17:26:29 2015 -0400 xprtrdma: Enable swap-on-NFS/RDMA After adding a swapfile on an NFS/RDMA mount and removing the normal swap partition, I was able to push the NFS client well into swap without any issue. I forgot to swapoff the NFS file before rebooting. This pinned the NFS mount and the IB core and provider, causing shutdown to hang. I think this is expected and safe behavior. Probably shutdown scripts should "swapoff -a" before unmounting any filesystems. 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 8610586d820aa75dc7da470d77fc23492c2492f8 Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 12:24:34 2015 -0500 xprtrdma: don't log warnings for flushed completions Unsignaled send WRs can get flushed as part of normal unmount, so don't log them as warnings. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> commit bdb5d0f9045ed88811b6253682dff6b576dd0064 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Tue Oct 27 20:12:13 2015 +0800 tracing: Only benchmark the time tracepoints take if tracing is on There's no need to record the time tracepoints take when tracing is off. This is because: 1) We cannot see these records since ring_buffer record is off at that moment. 2) If tracing is off and benchmark tracepoint is enabled, the time tracepoint takes is fewer than the same situation when tracing is on, since the tracepoints need to be wrote into ring_buffer, it would take more time. If turn on tracing at this moment, the average and standard deviation cannot exactly present the time that tracepoints take to write data into ring_buffer. Link: http://lkml.kernel.org/r/1445947933-27955-1-git-send-email-zhang.chunyan@xxxxxxxxxx Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 46a2b61ecb286dddb4efa73b119fec54e1576efe Author: Li Bin <huawei.libin@xxxxxxxxxx> Date: Wed Oct 28 16:23:26 2015 +0800 recordmcount: x86: Assign a meaningful value to rel_type_nop Although, the default value of rel_type_nop is zero, and the value of R_386_NONE/R_X86_64_NONE is zero too, but it should be assigned a meaningful value explicitly, otherwise it looks confused. Assign R_386_NONE to rel_type_nop for 386, assign R_X86_64_NONE to rel_type_nop for x86_64. Link: http://lkml.kernel.org/r/1446020606-16352-1-git-send-email-huawei.libin@xxxxxxxxxx Signed-off-by: Li Bin <huawei.libin@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 799fd44cf5bbcc51c46b674035bfc49cbf6907ba Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Nov 2 13:08:26 2015 -0500 tracing: Call on_each_cpu() when adding or removing single pids from set_event_pid For the case where pids are already in set_event_pid, and one is added or removed then each CPU should be checked to make sure that the new or old pid is on or not on a CPU. For example: # echo 123 >> set_event_pid or # echo '!123' >> set_event_pid Link: http://lkml.kernel.org/r/20151030061643.GA19480@cac Suggested-by: Jiaxing Wang <hello.wjx@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit abed7d0710e8f892c267932a9492ccf447674fb8 Author: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx> Date: Tue Oct 27 15:19:52 2015 -0400 xen: fix the check of e_pfn in xen_find_pfn_range On some NUMA system, after dom0 up, we see below warning even if there are enough pfn ranges that could be used for remapping: "Unable to find available pfn range, not remapping identity pages" Fix it to avoid getting a memory region of zero size in xen_find_pfn_range. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 61dd90224c13ee6eab72822f9f946277a1ddd51f Author: Mans Rullgard <mans@xxxxxxxxx> Date: Fri Oct 2 18:21:47 2015 +0100 devicetree: add Sigma Designs vendor prefix Add the "sigma" vendor prefix for Sigma Designs, Inc. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit de1ab6af5c3d92c0a031083962a7ff270cf301b7 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Nov 2 17:35:34 2015 +0100 ALSA: hda - Fix lost 4k BDL boundary workaround During the migration to HDA core code, we lost the workaround for 4k BDL boundary. The flag exists in the new hdac_bus, but it's never set. This resulted in the sudden sound stall on some controllers that require this workaround like Creative Recon3D. This patch fixes the issue by setting the flag for such controllers properly. Fixes: ccc98865aa44 ('ALSA: hda - Migrate more hdac_stream codes') Cc: <stable@xxxxxxxxxxxxxxx> # v4.2+ Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7adb91bd78a5e00209c56068dc0ad53d4cf4348f Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Mon Oct 26 14:29:12 2015 -0700 HID: wacom: fix Intuos wireless report id issue Intuos Pen in wireless mode does not have the same report id (2) as when it is in USB mode (17). This patch also moves WIRELESS next to REMOTE in type enum so we can group devices with similar features easily. Reported-by: Dale Brewe <dlbrewe@xxxxxxxxxxx> Tested-by: Dale Brewe <dlbrewe@xxxxxxxxxxx> Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 829a2fac71b83c1689213337e8cfc58a9ea12211 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Nov 2 21:06:46 2015 +0530 Revert "ARM: DTS: am33xx: Use the new DT bindings for the eDMA3" This reverts commit d871cd2ec5abf8715774bcb90aa32ae5b750b587 as it causes regression in BBB Reported-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b1c4e98296d2f08e3fcc9aab0c1103e0bc05d9f3 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Nov 2 21:05:29 2015 +0530 Revert "ARM: DTS: am437x: Use the new DT bindings for the eDMA3" This reverts commit e3faf2b8826b8ac58cdaad7f801e59e389320f0e as it causes regression in BBB Reported-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1d1106b0f6b5cb4bc1b88d7bd4c41d0413331c5d Author: Harry Wentland <harry.wentland@xxxxxxx> Date: Wed Jul 15 07:10:41 2015 -0400 drm/amdgpu: Make amdgpu_mn functions inline Unused amdgpu_mn functions threw warnings for every file that includes amdgpu.h. It makes sense to inline this amdgpu_mn stubs to avoid the warning. Signed-off-by: Harry Wentland <harry.wentland@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 6c33dc33cefbd16b288f73024a10f438236a5124 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Oct 2 17:02:07 2015 +0300 xtensa: nommu: provide defconfig for de212 on kc705 Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit adbd75edee554ac2ae3927e2f778e360d341133f Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Fri Oct 2 03:47:13 2015 +0300 xtensa: nommu: xtfpga: add kc705 DTS Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit ca55b2fef3a9373fcfc30f82fd26bc7fccbda732 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Tue Sep 29 23:38:57 2015 +0300 xtensa: add de212 core variant Diamond core 212 is a generic purpose core without full MMU used for sample noMMU configuration. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit d951ba21b95938c24a28a25295c44719d3b51ee2 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Sep 30 15:17:35 2015 +0300 xtensa: nommu: select HAVE_FUTEX_CMPXCHG Not having HAVE_FUTEX_CMPXCHG makes futex_detect_cmpxchg probe cmpxchg_futex_value_locked with NULL address. It's not guaranteed to fault without MMU, instead it locks up on Xtensa when there's no RAM at address 0. Select HAVE_FUTEX_CMPXCHG in noMMU Xtensa configurations. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit d9eb3cb24837f4fb6391b0172f17156377adabba Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Sep 24 23:48:29 2015 +0300 xtensa: nommu: fix default memory start address RAM starts at 0x60000000 on noMMU cores, not at 0x40000000. Fix the default. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 260c64bbabdb8da7248c87e0cdd92023bd7b76c6 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Sep 24 23:36:45 2015 +0300 xtensa: nommu: provide correct KIO addresses KIO region location is different for noMMU cores. Provide different default physical address and make KIO virtual address equal to physical. Move xtensa_get_kio_paddr function close to XCHAL_KIO_PADDR definition and define it not only for MMUv3, but for all MMU options except MMUv2. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit cfedf08b0c09f325fa24d91e8c9433ec481800cf Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Sun Sep 20 14:45:37 2015 +0300 xtensa: nommu: fix USER_RING definition There's no kernel/user separation in noMMU and PS.RING may not exist. Even if it exists it should not be used because TLB entries are not set up for user ring on user pages. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit b85d45947951d23cb22d90caecf4c1eb81342c96 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Sep 24 23:34:02 2015 +0300 xtensa: xtfpga: fix integer overflow in TASK_SIZE This fixes the following warning when default memory region crosses 0x80000000: arch/xtensa/include/asm/processor.h:40:47: warning: integer overflow in expression [-Woverflow] #define TASK_SIZE (PLATFORM_DEFAULT_MEM_START + PLATFORM_DEFAULT_MEM_SIZE) ^ Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 01618bded680573163403666d0546be536b22ac0 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Sep 24 23:20:46 2015 +0300 xtensa: fix build for configs without cache options - make cache-related assembly macros empty if core doesn't have corresponding cache type; - don't initialize cache attributes in instruction/data TLB entries if there's no corresponding cache type. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit 5029615e25dc5040beb065f36743c127a8e51497 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Thu Sep 24 23:11:53 2015 +0300 xtensa: fixes for configs without loop option Build-time fixes: - make lbeg/lend/lcount save/restore conditional on kernel entry; - don't clear lcount in platform_restart functions unconditionally. Run-time fixes: - use correct end of range register in __endla paired with __loopt, not the unused temporary register. This fixes .bss zero-initialization. Update comments in asmmacro.h; - don't clobber a10 in the usercopy that leads to access to unmapped memory. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> commit f8f8bdc48851da979c6e0e4808b6031122e4af47 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Oct 27 11:12:51 2015 +0900 arm64/efi: fix libstub build under CONFIG_MODVERSIONS Now that we strictly forbid absolute relocations in libstub code, make sure that we don't emit any when CONFIG_MODVERSIONS is enabled, by stripping the kcrctab sections from the object file. This fixes a build problem under CONFIG_MODVERSIONS=y. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d6cf98e06ea4c4071596bc28f2a0f21412d5c6dc Merge: 4d5140c 70aa396 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Nov 2 13:52:45 2015 +0100 Merge branch 'kvm-ppc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into HEAD There's nothing much in the way of new features this time; it's mostly bug fixes, plus Nikunj has implemented support for KVM_CAP_NR_MEMSLOTS. commit b67ad2f7c7514f94fe6bbd0cd86add445eb4e64a Merge: 6a13feb b61e5e8 3ca9299 166bdbd 8128f23 1228236 393c092 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Mon Nov 2 20:03:34 2015 +0900 Merge branches 'x86/vt-d', 'arm/omap', 'arm/smmu', 's390', 'core' and 'x86/amd' into next Conflicts: drivers/iommu/amd_iommu_types.h commit b61e5e80e3cd37f0183cdc04b03861a0467d9f52 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Mon Nov 2 19:57:31 2015 +0900 iommu/vt-d: Fix return value check of parse_ioapics_under_ir() The function returns 0 on success, so check for the right value. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 4afa5f9617927453ac04b24b584f6c718dfb4f45 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 17:11:19 2015 +0800 crypto: algif_hash - Only export and import on sockets with data The hash_accept call fails to work on sockets that have not received any data. For some algorithm implementations it may cause crashes. This patch fixes this by ensuring that we only export and import on sockets that have received data. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Harsh Jain <harshjain.prof@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Tested-by: Stephan Mueller <smueller@xxxxxxxxxx> commit 4d5140c5799e676f5a8fb805105e8806f2db1902 Merge: 8c85ac1 46b708e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Nov 2 10:42:36 2015 +0100 Merge tag 'kvm-s390-next-20151028' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD KVM: s390: Bugfix and cleanups There is one important bug fix for a potential memory corruption and/or guest errors for guests with 63 or 64 vCPUs. This fix would qualify for 4.3 but is some days too late giving that we are about to release 4.3. Given that this patch is cc stable >= 3.15 anyway, we can handle it via 4.4. merge window. This pull request also contains two cleanups. commit 9be64eee3a87dc03218ca9a12834d1150a57b8a8 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Oct 30 14:50:24 2015 +0200 drm/i915: add quirk to enable backlight on Dell Chromebook 11 (2015) Reported-by: Keith Webb <khwebb@xxxxxxxxx> Suggested-by: Keith Webb <khwebb@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=106671 Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446209424-28801-1-git-send-email-jani.nikula@xxxxxxxxx commit b76ff5ea1cf6fe648e7ce2b84e636f8a95849a0b Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Oct 28 10:44:04 2015 +0100 drm/vmwgfx: Replace iowrite/ioread with volatile memory accesses Now that we use memremap instead of ioremap, Use WRITE_ONCE / READ_ONCE instead of iowrite / ioread. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit 53c1e53571b1552204b2111b9fff5086f091bc9a Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Mon Oct 26 04:42:31 2015 -0700 drm/vmwgfx: Turn off support for multisample count != 0 v2 Do this until we know how much MOB memory to allocate for these surfaces. v2: Mask also non-DX multisample. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Brian Paul <brianp@xxxxxxxxxx> commit 5ad9dceee97477a7bdaa8c57b67cb802627a579d Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 28 00:19:45 2015 -0700 drm/vmwgfx: switch from ioremap_cache to memremap Per commit 2e586a7e017a "drm/vmwgfx: Map the fifo as cached" the driver expects the fifo registers to be cacheable. In preparation for deprecating ioremap_cache() convert its usage in vmwgfx to memremap(). Cc: David Airlie <airlied@xxxxxxxx> Cc: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Cc: Sinclair Yeh <syeh@xxxxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> commit bc88c9e923819b02f8cfaec1bb80d7e5530c0ac5 Merge: cadd16e 2c8d089 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Nov 2 09:00:37 2015 +0100 Merge branch 'for-next' into for-linus commit b10f1b20171945b49988b2b1fe68cb312cc36d32 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Oct 22 13:56:34 2015 +0200 drm/i915/skl: Prevent unclaimed register writes on skylake. I'm getting unclaimed register writes when checking the WM registers after the crtc is disabled. So I would imagine those are guarded by the crtc power well. Fix this by not reading out wm state when the power well is off. Cc: stable@xxxxxxxxxxxxxxx # v4.3 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92181 Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 2c8d08925272b9be383cd81f1973c6faf9fbf53a Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 20:53:14 2015 +0100 ALSA: maestro3: Fix Allegro mute until master volume/mute is touched ESS Allegro (marked ES1989S), [125d:1988] (rev 10) is mute after loading snd-maestro3 and running alsactl restore. Touching master volume or mute makes it work. Looks like a bug in the AC'97 codec integrated into the chip. Write AC97_MASTER register twice to work-around the problem. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3b0e21ec3b22ab5eced5331eaf55949006f22687 Merge: ccde64b e1f580e8 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Nov 2 13:59:48 2015 +1100 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next Freescale updates from Scott: "Highlights include 64-bit book3e kexec/kdump support, a rework of the qoriq clock driver, device tree changes including qoriq fman nodes, support for a new 85xx board, and some fixes. Note that there is a trivial merge conflict with the clock tree's next branch, in the clock Makefile." commit 24ba16bb3d499c49974669cd8429c3e4138ab102 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Nov 2 13:46:58 2015 +1100 xfs: clear PF_NOFREEZE for xfsaild kthread Since xfsaild has been converted to kthread in 0030807c, it calls try_to_freeze() during every AIL push iteration. It however doesn't set itself as freezable, and therefore this try_to_freeze() will never do anything. Before (hopefully eventually) kthread freezing gets converted to fileystem freezing, we'd rather mark xfsaild freezable (as it can generate I/O during suspend). Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 57ab3b08725163bfe385aaeea6837f9b1213af3d Author: Sriram Raghunathan <sriram@xxxxxxxxxxxxx> Date: Fri Oct 23 09:52:45 2015 +0200 Creating a common structure initialization pattern for struct option This patch tries to creates a common structure initialization within the cpupower tool. Previously the ``struct option`` was initialized using `designated initializer` technique which was not needed. There were conflicting initialization methods seen with bench/main.c & others. Signed-off-by: Sriram Raghunathan <sriram@xxxxxxxxxxxxx> Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 19c9fb896f54ade387676f134ce1de9bcd3cd478 Author: Thomas Renninger <trenn@xxxxxxx> Date: Thu Oct 22 17:17:07 2015 +0200 cpupower: Enable disabled Cstates if they are below max latency cpupower idle-set -D <latency> currently only disables all C-states that have a higher latency than the specified <latency>. But if deep sleep states were already disabled and have a lower latency, they should get enabled again. For example: This call: cpupower idle-set -D 30 disables all C-states with a higher or equal latency than 30. If one then calls: cpupower idle-set -D 100 C-states with a latency between 30-99 will get enabled again with this patch now. It is ensured that only C-states with a latency of 100 and higher are disabled. Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 645209472d909071df5af2c42ea623ef011ad3c8 Author: Thomas Renninger <trenn@xxxxxxx> Date: Thu Oct 22 17:17:06 2015 +0200 cpupower: Remove debug message when using cpupower idle-set -D switch Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 20102ac5bee3c7c1ffff43f220e37328b6fffd16 Author: Jacob Tanenbaum <jtanenba@xxxxxxxxxx> Date: Thu Oct 22 17:17:05 2015 +0200 cpupower: cpupower monitor reports uninitialized values for offline cpus [root@hp-dl980g7-02 linux]# cpupower monitor ... 5472| 0| 1|******|******|******|******|| 0.00| 0.00| 0.00| 0.00| 0.00 *is offline 10567| 0| 159|******|******|******|******|| 0.00| 0.00| 0.00| 0.00| 0.00 *is offline 1661206560|859272560| 150|******|******|******|******|| 0.00| 0.00| 0.00| 0.00| 0.00 *is offline 1661206560|943093104| 140|******|******|******|******|| 0.00| 0.00| 0.00| 0.00| 0.00 *is offline because of this cpupower also holds the incorrect value for the number of physical packages in the machine Changed cpupower to initialize the values of an offline cpu's socket and core to -1, warn the user that one or more cpus is/are offline and not print statistics for offline cpus. This fix hides offlined cores where topology cannot be accessed. With a recent kernel patch suggested from Prarit Bhargava it may be possible that soft offlined cores' topology can still be parsed. This patch would then show which cores in which package/socket are offline, when sane toplogoy information is available. Signed-off-by: Jacob Tanenbaum <jtanenba@xxxxxxxxxx> Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2547923d1cc38b4b55c538e450411586acc39ac6 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Oct 28 15:19:50 2015 -0600 PM / Domains: Allocate memory outside domain locks In preparation for supporting IRQ-safe domains, allocate domain data outside the domain locks. These functions are not called in an atomic context, so we can always allocate memory using GFP_KERNEL. By allocating memory before the locks, we can safely lock the domain using spinlocks instead of mutexes. Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 298cd0f0880188422a518e9d780bd49d66ea7ad5 Author: Lina Iyer <lina.iyer@xxxxxxxxxx> Date: Wed Oct 28 15:18:59 2015 -0600 PM / Domains: Remove dev->driver check for runtime PM Remove check for driver of a device, for runtime PM. Device may be suspended without an explicit driver. This check seems to be vestigial and incorrect in the current context. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 17:09:15 2015 -0800 mm: get rid of 'vmalloc_info' from /proc/meminfo It turns out that at least some versions of glibc end up reading /proc/meminfo at every single startup, because glibc wants to know the amount of memory the machine has. And while that's arguably insane, it's just how things are. And it turns out that it's not all that expensive most of the time, but the vmalloc information statistics (amount of virtual memory used in the vmalloc space, and the biggest remaining chunk) can be rather expensive to compute. The 'get_vmalloc_info()' function actually showed up on my profiles as 4% of the CPU usage of "make test" in the git source repository, because the git tests are lots of very short-lived shell-scripts etc. It turns out that apparently this same silly vmalloc info gathering shows up on the facebook servers too, according to Dave Jones. So it's not just "make test" for git. We had two patches to just cache the information (one by me, one by Ingo) to mitigate this issue, but the whole vmalloc information of of rather dubious value to begin with, and people who *actually* want to know what the situation is wrt the vmalloc area should just look at the much more complete /proc/vmallocinfo instead. In fact, according to my testing - and perhaps more importantly, according to that big search engine in the sky: Google - there is nothing out there that actually cares about those two expensive fields: VmallocUsed and VmallocChunk. So let's try to just remove them entirely. Actually, this just removes the computation and reports the numbers as zero for now, just to try to be minimally intrusive. If this breaks anything, we'll obviously have to re-introduce the code to compute this all and add the caching patches on top. But if given the option, I'd really prefer to just remove this bad idea entirely rather than add even more code to work around our historical mistake that likely nobody really cares about. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3a91b069eabf5dc8d4cd6f3e66dcd700536ef9f8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 29 08:08:38 2015 +0530 cpufreq: governor: Quit work-handlers early if governor is stopped gov_queue_work() acquires cpufreq_governor_lock to allow cpufreq_governor_stop() to drain delayed work items possibly scheduled on CPUs that share the policy with a CPU being taken offline. However, the same goal may be achieved in a more straightforward way if the policy pointer in the struct cpu_dbs_info matching the policy CPU is reset upfront by cpufreq_governor_stop() under the timer_mutex belonging to it and checked against NULL, under the same lock, at the beginning of dbs_timer(). In that case every instance of dbs_timer() run for a struct cpu_dbs_info sharing the policy pointer in question after cpufreq_governor_stop() has started will notice that that pointer is NULL and bail out immediately without queuing up any new work items. In turn, gov_cancel_work() called by cpufreq_governor_stop() before destroying timer_mutex will wait for all of the delayed work items currently running on the CPUs sharing the policy to drop the mutex, so it may be destroyed safely. Make cpufreq_governor_stop() and dbs_timer() work as described and modify gov_queue_work() so it does not acquire cpufreq_governor_lock any more. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 539342f60b93c9f98c47f75b63fe5b8b13c1d226 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Thu Oct 22 09:43:31 2015 -0400 intel_pstate: decrease number of "HWP enabled" messages When booting an HWP enabled system the kernel displays one "HWP enabled" message for each cpu. The messages are superfluous since HWP is globally enabled across all CPUs. This patch also adds an informational message when HWP is disabled via intel_pstate=no_hwp. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 14f1ba3af6209f0394192ef07fe2bd9bccdc755f Author: Jon Medhurst \(Tixy\) <tixy@xxxxxxxxxx> Date: Wed Oct 21 10:55:33 2015 +0100 cpufreq: arm_big_little: fix frequency check when bL switcher is active The check for correct frequency being set in bL_cpufreq_set_rate is broken when the big.LITTLE switcher is active, for two reasons. 1. The 'new_rate' variable gets overwritten before the test by the code calculating the frequency of the old cluster. 2. The frequency returned by bL_cpufreq_get_rate will be the virtual frequency, not the actual one the intended version of new_rate contains. This means the function always returns an error causing an endless stream of: "cpufreq: __target_index: Failed to change cpu frequency: -5" As the intent is to check for errors that clk_set_rate doesn't report lets move the check to immediately after that and directly use clk_get_rate, rather than the arm_big_little helpers which only confuse matters. Also, update the comment to be hopefully clearer about the purpose of the code. Fixes: 0a95e630b49a (cpufreq: arm_big_little: check if the frequency is set correctly) Signed-off-by: Jon Medhurst <tixy@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ad623c31485581d6b082ef92429db3b728739cd8 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:42:45 2015 +0530 PM / OPP: Parse all power-supply related bindings together Move all DT parsing for the power supplies to a single function, rather than keeping them at separate places. This will help manage things properly. 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 b64b9c3f900a0522fb926f1436088e2e36807594 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:42:44 2015 +0530 PM / OPP: Rename routines specific to old bindings with _v1 Clearly distinguish routines based on what version of bindings they parse. We have already postfixed routines properly with _v2 for new bindings. Postfix the older ones now with _v1. 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 d6d2a5289a530a3020703e6a3b19a14668601c27 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Oct 17 09:45:18 2015 +0530 PM / OPP: Improve print messages with pr_fmt To identify OPP core's print messages easily, prefix them with KBUILD_MODNAME. 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 2e002662973fd8d67d5a760776a5d3ea3d3399a9 Merge: 6a13feb fc90888 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 16:43:24 2015 -0800 Merge branch 'fs-file-descriptor-optimization' Merge file descriptor allocation speedup. Eric Dumazet has a test-case for a fairly common network deamon load pattern: openign and closing a lot of sockets that each have very little work done on them. It turns out that in that case, the cost of just finding the correct file descriptor number can be a dominating factor. We've long had a trivial optimization for allocating file descriptors sequentially, but that optimization ends up being not very effective when other file descriptors are being closed concurrently, and the fd patterns are not some simple FIFO pattern. In such cases we ended up spending a lot of time just scanning the bitmap of open file descriptors in order to find the next file descriptor number to open. This trivial patch-series mitigates that by simply introducing a second-level bitmap of which words in the first bitmap are already fully allocated. That cuts down the cost of scanning by an order of magnitude in some pathological (but realistic) cases. The second patch is an even more trivial patch to avoid unnecessarily dirtying the cacheline for the close-on-exec bit array that normally ends up being all empty. * fs-file-descriptor-optimization: vfs: conditionally clear close-on-exec flag vfs: Fix pathological performance case for __alloc_fd() commit e50b9be14ab0ed10b0b3cd4112ff4bed0abf7b6f Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Wed Oct 28 15:09:23 2015 +0800 ACPI / video: only register backlight for LCD device The firmware of ESPRIMO Mobile M9410 has two video output devices that have _BCM control method, one is the type of "External Digital Monitor" while the other is the type of "Internal/Integrated Digital Flat Panel". Only the 2nd video output device's _BCM control method works, but since we have created two and the 1st one got picked up by user space, the backlight functionality is broken. To solve this problem, only register backlight interface for "Internal/Integrated Digital Flat Panel" type video output device on this laptop. Another problem of this laptop is that the IDs listed by the _DOD method doesn't have bit 31 set, which means it doesn't follow the format specified by ACPI spec. But the value indicates that it actually follows that format so I've added a DMI quirk and a module level parameter to force use the device_id_scheme so that we can get the video output device's type to do the decision if we should register backlight interface. Link: https://bugzilla.kernel.org/show_bug.cgi?id=104121 Suggested-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reported-and-tested-by: Christian Scharl <zahlsum-kernelbugs@xxxxxxxx> Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 61f9738d65094a6b18d22c7beb6bb8c3dc0606b9 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Oct 26 15:20:46 2015 +0100 ACPI / video: Add a quirk to force acpi-video backlight on Dell XPS L421X Just like the Dell XPS 15 (L521X) the Dell XPS 14 (L421X) needs to use the acpi-video backlight interface rather then the native one for backlight control to work, add a quirk for this. Link: https://bugzilla.redhat.com/show_bug.cgi?id=1272633 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5293fea28c9355a12792c4a85c9daad612efc503 Merge: 02715e8 205ad97 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 01:30:44 2015 +0100 Merge branch 'device-properties' into acpi-pci commit 6a13feb9c82803e2b815eca72fa7a9f5561d7861 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 16:05:25 2015 -0800 Linux 4.3 commit 1ab68460b1d0671968b35e04f21efcf1ce051916 Merge: 394f716 fa743d9 a617561 89e7b25 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:54:49 2015 +0100 Merge branches 'pm-avs', 'pm-clk' and 'powercap' * pm-avs: PM / AVS: rockchip-io: Fix module autoload for OF platform driver * pm-clk: PM / clk: Fix broken build due to non-matching code and header #ifdefs * powercap: powercap / RAPL: Enable Broxton RAPL support commit 394f7164e65a734f815543d918c7bdc0587593a6 Merge: dcf3d01 a6eed75 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:54:37 2015 +0100 Merge branch 'pm-opp' * pm-opp: PM / OPP: passing NULL to PTR_ERR() PM / OPP: Move cpu specific code to opp/cpu.c PM / OPP: Move opp core to its own directory PM / OPP: Prefix exported opp routines with dev_pm_opp_ PM / OPP: Rename opp init/free table routines PM / OPP: reuse of_parse_phandle() commit dcf3d0183f100a14f60eb5993e124a4a1322ee9a Merge: 69f8947 2b1d88c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:54:30 2015 +0100 Merge branch 'pm-domains' * pm-domains: PM / Domains: Merge measurements for PM QoS device latencies PM / Domains: Don't measure ->start|stop() latency in system PM callbacks PM / Domains: Rename *pm_genpd_poweron|poweroff() PM / Domains: Remove pm_genpd_poweron() API PM / Domains: Remove pm_genpd_poweroff_unused() API soc: dove: Let genpd deal with disabling of unused PM domains PM / Domains: Remove in_progress counter from struct generic_pm_domain PM / domains: Drop unused label PM / Domains: Remove cpuidle attach PM / Domains: Remove name based API for genpd commit 69f8947b8c4777f58d90cc79da2e124570d9e6f0 Merge: 9bb4064 3510fac 54c0a8a Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:54:10 2015 +0100 Merge branches 'pm-cpufreq' and 'pm-cpuidle' * pm-cpufreq: cpufreq: postfix policy directory with the first CPU in related_cpus cpufreq: create cpu/cpufreq/policyX directories cpufreq: remove cpufreq_sysfs_{create|remove}_file() cpufreq: create cpu/cpufreq at boot time cpufreq: Use cpumask_copy instead of cpumask_or to copy a mask cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate() cpufreq: intel_pstate: Fix intel_pstate powersave min_perf_pct value cpufreq: intel_pstate: Avoid calculation for max/min Documentation: kernel_parameters for Intel P state driver cpufreq: intel_pstate: Use ACPI perf configuration cpufreq: intel-pstate: Use separate max pstate for scaling cpufreq: intel_pstate: get P1 from TAR when available cpufreq: Drop redundant check for inactive policies cpufreq : powernv: Report Pmax throttling if capped below nominal frequency cpufreq: imx: update the clock switch flow to support imx6ul cpufreq: tegra20: remove superfluous CONFIG_PM ifdefs cpufreq: conservative: remove 'enable' field cpufreq: integrator: Fix module autoload for OF platform driver * pm-cpuidle: cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver cpuidle: mvebu: clean up multiple platform drivers commit 9bb4064ca3bd771f8df88529a3578f9bb5243911 Merge: 66c4487 d439e64 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:52:19 2015 +0100 Merge branch 'pm-sleep' * pm-sleep: PM / hibernate: fix a comment typo input: i8042: Avoid resetting controller on system suspend/resume PM / PCI / ACPI: Kick devices that might have been reset by firmware PM / sleep: Add flags to indicate platform firmware involvement PM / sleep: Drop pm_request_idle() from pm_generic_complete() PCI / PM: Avoid resuming more devices during system suspend PM / wakeup: wakeup_source_create: use kstrdup_const PM / sleep: Report interrupt that caused system wakeup commit 66c44877242d37873df2abb10e4fce26ff4fc9f9 Merge: 62839e2 8c01275 2165747 584d8d1 e58d154 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:51:46 2015 +0100 Merge branches 'acpi-osl', 'acpi-pad', 'acpi-video' and 'acpi-assorted' * acpi-osl: ACPI / PM: Fix incorrect wakeup IRQ setting during suspend-to-idle ACPI: Using correct irq when waiting for events ACPI: Use correct IRQ when uninstalling ACPI interrupt handler * acpi-pad: ACPI / PAD: power_saving_thread() is not freezable * acpi-video: ACPI / video: Add a quirk to force native backlight on Lenovo IdeaPad S405 * acpi-assorted: ACPI / Documentation: add copy_dsdt to ACPI format options ACPI / sysfs: correctly check failing memory allocation commit 62839e2d018117f2474321b38709dd7e80796e52 Merge: 5b9ddd0 4219853 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:50:37 2015 +0100 Merge branch 'acpi-processor' * acpi-processor: ACPI / CPPC: Fix potential memory leak ACPI / CPPC: signedness bug in register_pcc_channel() ACPI: Allow selection of the ACPI processor driver for ARM64 CPPC: Probe for CPPC tables for each ACPI Processor object ACPI: Add weak routines for ACPI CPU Hotplug ACPI / CPPC: Add a CPUFreq driver for use with CPPC ACPI: Introduce CPU performance controls using CPPC commit 5b9ddd0d7427c16e5d8779e77ba89c2bc5a7324c Merge: ba210f5 b319688 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Nov 2 00:50:26 2015 +0100 Merge branch 'acpica' * acpica: ACPICA: Update version to 20150930 ACPICA: Debugger: Fix dead lock issue ocurred in single stepping mode ACPI: Enable build of AML interpreter debugger ACPICA: Debugger: Add thread ID support so that single step mode can only apply to the debugger thread ACPICA: Debugger: Fix "terminate" command by cleaning up subsystem shutdown logic ACPICA: Debugger: Fix "quit/exit" command by cleaning up user commands termination logic ACPICA: Linuxize: Export debugger files to Linux ACPICA: iASL: General cleanup of the file suffix #defines ACPICA: Improve typechecking, both compile-time and runtime ACPICA: Update NFIT table to rename a flags field ACPICA: Debugger: Update mutexes used for multithreaded debugger ACPICA: Update exception code for "file not found" error ACPICA: iASL: Add symbolic operator support for Index() operator ACPICA: Remove unnecessary conditional compilation commit 95fc00a4e15e804356d01c1c53c7da3d99a94f20 Merge: ca04d39 182475b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 14:13:54 2015 -0800 Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull memremap fix from Dan Williams: "The new memremap() api introduced in the 4.3 cycle to unify/replace ioremap_cache() and ioremap_wt() is mishandling the highmem case. This patch has received a build success notification from a 0day-kbuild-robot run and has received an ack from Ard" From the commit message: "The impact of this bug is low for now since the pmem driver is the only user of memremap(), but this is important to fix before more conversions to memremap arrive in 4.4" * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: memremap: fix highmem support commit e6dbe1eb2db0d7a14991c06278dd3030c45fb825 Author: Phil Reid <preid@xxxxxxxxxxxxxxxxx> Date: Fri Oct 30 16:43:55 2015 +0800 stmmac: Correctly report PTP capabilities. priv->hwts_*_en indicate if timestamping is enabled/disabled at run time. But priv->dma_cap.time_stamp and priv->dma_cap.atime_stamp indicates HW is support for PTPv1/PTPv2. Signed-off-by: Phil Reid <preid@xxxxxxxxxxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1032a6687168af9509615879d513f77e4049062e Author: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Date: Fri Oct 30 01:24:56 2015 -0700 Use 64-bit timekeeping This patch changes the use of struct timespec in dccp_probe to use struct timespec64 instead. timespec uses a 32-bit seconds field which will overflow in the year 2038 and beyond. timespec64 uses a 64-bit seconds field. Note that the correctness of the code isn't changed, since the original code only uses the timestamps to compute a small elapsed interval. This patch is part of a larger attempt to remove instances of 32-bit timekeeping structures (timespec, timeval, time_t) from the kernel so it is easier to identify where the real 2038 issues are. Signed-off-by: Tina Ruchandani <ruchandani.tina@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc2a263bb0604642703cda6cba5ac1ffb1935440 Merge: 5dbebbb c9b3292 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 1 16:57:44 2015 -0500 Merge branch 'ipv4_link_down' Julian Anastasov says: ==================== ipv4: fix problems from the RTNH_F_LINKDOWN introduction Fix two problems from the change that introduced RTNH_F_LINKDOWN flag. The first patch deals with the removal of local route on DOWN event. The second patch makes sure the RTNH_F_LINKDOWN flag is properly updated on UP event because the DOWN event sets it in all cases. v2->v3: - use bool for force var v1->v2: - forgot to add ifconfig dummy0 down in the test case - split to 2 patches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9b3292eeb52c6834e972eb5b8fe38914771ed12 Author: Julian Anastasov <ja@xxxxxx> Date: Fri Oct 30 10:23:34 2015 +0200 ipv4: update RTNH_F_LINKDOWN flag on UP event When nexthop is part of multipath route we should clear the LINKDOWN flag when link goes UP or when first address is added. This is needed because we always set LINKDOWN flag when DEAD flag was set but now on UP the nexthop is not dead anymore. Examples when LINKDOWN bit can be forgotten when no NETDEV_CHANGE is delivered: - link goes down (LINKDOWN is set), then link goes UP and device shows carrier OK but LINKDOWN remains set - last address is deleted (LINKDOWN is set), then address is added and device shows carrier OK but LINKDOWN remains set Steps to reproduce: modprobe dummy ifconfig dummy0 192.168.168.1 up here add a multipath route where one nexthop is for dummy0: ip route add 1.2.3.4 nexthop dummy0 nexthop SOME_OTHER_DEVICE ifconfig dummy0 down ifconfig dummy0 up now ip route shows nexthop that is not dead. Now set the sysctl var: echo 1 > /proc/sys/net/ipv4/conf/dummy0/ignore_routes_with_linkdown now ip route will show a dead nexthop because the forgotten RTNH_F_LINKDOWN is propagated as RTNH_F_DEAD. Fixes: 8a3d03166f19 ("net: track link-status of ipv4 nexthops") Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f823defdd5b106a5e89745ee8b163c71855de1e Author: Julian Anastasov <ja@xxxxxx> Date: Fri Oct 30 10:23:33 2015 +0200 ipv4: fix to not remove local route on link down When fib_netdev_event calls fib_disable_ip on NETDEV_DOWN event we should not delete the local routes if the local address is still present. The confusion comes from the fact that both fib_netdev_event and fib_inetaddr_event use the NETDEV_DOWN constant. Fix it by returning back the variable 'force'. Steps to reproduce: modprobe dummy ifconfig dummy0 192.168.168.1 up ifconfig dummy0 down ip route list table local | grep dummy | grep host local 192.168.168.1 dev dummy0 proto kernel scope host src 192.168.168.1 Fixes: 8a3d03166f19 ("net: track link-status of ipv4 nexthops") Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1cf7d8dda2bd1704ca8552c93d5475af444a986b Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Fri Oct 30 10:50:54 2015 +0800 net: hisilicon: Remove .owner assignment from platform_driver platform_driver doesn't need to set .owner, because platform_driver_register() will set it. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76e398a6271285c1f361d66445a55cdcee5c1b4b Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 12:33:55 2015 -0500 net: dsa: use switchdev obj for VLAN add/del ops Simplify DSA by pushing the switchdev objects for VLAN add and delete operations down to its drivers. Currently only mv88e6xxx is affected. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5dbebbb44a6ad94aab2cd1a46f7676f255403f64 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Oct 29 18:11:35 2015 -0700 net: bcmgenet: Software reset EPHY after power on The EPHY on GENET v1->v3 is extremely finicky, and will show occasional failures based on the timing and reset sequence, ranging from duplicate packets, to extremely high latencies. Perform an additional software reset, and re-configuration to make sure it is in a consistent and working state. Fixes: 6ac3ce8295e6 ("net: bcmgenet: Remove excessive PHY reset") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca04d396a3229d37d8151311ad70d1255a5807bd Merge: f5eab26 2459ee8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 11:45:26 2015 -0800 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Thomas Gleixner: "This set of updates contains: - Another bugfix for the pathologic vm86 machinery. Clear thread.vm86 on fork to prevent corrupting the parent state. This comes along with an update to the vm86 selftest case - Fix another corner case in the ioapic setup code which causes a boot crash on some oddball systems - Fix the fallout from the dma allocation consolidation work, which leads to a NULL pointer dereference when the allocation code is called with a NULL device" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/vm86: Set thread.vm86 to NULL on fork/clone selftests/x86: Add a fork() to entry_from_vm86 to catch fork bugs x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest() x86/dma-mapping: Fix arch_dma_alloc_attrs() oops with NULL dev commit f5eab26701999b1aa26d06772e013b11c4a16f6a Merge: 4bf690d fe326c5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 11:39:03 2015 -0800 Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fixes from Thomas Gleixner: "The last round of minimalistic fixes for clocksource drivers: - Prevent multiple shutdown of the sh_mtu2 clocksource - Annotate a bunch of clocksource/schedclock functions with notrace to prevent an annoying ftrace recursion issue" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: clocksource/drivers/sh_mtu2: Fix multiple shutdown call issue clocksource/drivers/digicolor: Prevent ftrace recursion clocksource/drivers/fsl_ftm_timer: Prevent ftrace recursion clocksource/drivers/vf_pit_timer: Prevent ftrace recursion clocksource/drivers/prima2: Prevent ftrace recursion clocksource/drivers/samsung_pwm_timer: Prevent ftrace recursion clocksource/drivers/pistachio: Prevent ftrace recursion clocksource/drivers/arm_global_timer: Prevent ftrace recursion commit 4bf690d7e09bbac43dfac9af01ba263e08f37e3e Merge: 56ef9db 209da39 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 11:33:04 2015 -0800 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq fixes from Thomas Gleixner: "The last two one-liners for 4.3 from the irqchip space: - Regression fix for armada SoC which addresses the fallout from the set_irq_flags() cleanup - Add the missing propagation of the irq_set_type() callback to the parent interrupt controller of the tegra interrupt chip" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: irqchip/tegra: Propagate IRQ type setting to parent irqchip/armada-370-xp: Fix regression by clearing IRQ_NOAUTOEN commit ea3803c193df18d8353d6c8d77034066a08c19f5 Author: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Date: Thu Oct 29 11:57:42 2015 +0000 VSOCK: define VSOCK_SS_LISTEN once only The SS_LISTEN socket state is defined by both af_vsock.c and vmci_transport.c. This is risky since the value could be changed in one file and the other would be out of sync. Rename from SS_LISTEN to VSOCK_SS_LISTEN since the constant is not part of enum socket_state (SS_CONNECTED, ...). This way it is clear that the constant is vsock-specific. The big text reflow in af_vsock.c was necessary to keep to the maximum line length. Text is unchanged except for s/SS_LISTEN/VSOCK_SS_LISTEN/. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b43c142f22236b37aa68faf23ac1bbd75f94c5b5 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Thu Oct 29 09:45:22 2015 +0300 net: smsc911x: Fix crash if loopback test fails On certain hardware in certain situations loopback test fails and the driver gets removed. During mdiobus_unregister() instance of PHY driver gets disposed. But by this time it has already been started using phy_connect_direct(). PHY driver uses DELAYED_WORK in order to maintain its state. Attempting to dispose the driver without calling phy_disconnect() causes deallocation of DELAYED_WORK being active. This shortly causes a bad crash in timer code. The problem can be discovered by enabling CONFIG_DEBUG_OBJECTS_TIMERS and CONFIG_DEBUG_OBJECTS_FREE Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5cbb28a4bf65c7e4daa6c25b651fed8eb888c620 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Wed Oct 28 13:09:53 2015 -0400 tipc: linearize arriving NAME_DISTR and LINK_PROTO buffers Testing of the new UDP bearer has revealed that reception of NAME_DISTRIBUTOR, LINK_PROTOCOL/RESET and LINK_PROTOCOL/ACTIVATE message buffers is not prepared for the case that those may be non-linear. We now linearize all such buffers before they are delivered up to the generic reception layer. In order for the commit to apply cleanly to 'net' and 'stable', we do the change in the function tipc_udp_recv() for now. Later, we will post a commit to 'net-next' moving the linearization to generic code, in tipc_named_rcv() and tipc_link_proto_rcv(). Fixes: commit d0f91938bede ("tipc: add ip/udp media type") Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4444574a41430315a9c3eeb9e37cb0a36444a35 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Oct 28 10:20:30 2015 -0200 fec: Use gpio_set_value_cansleep() We are in a context where we can sleep, and the FEC PHY reset gpio may be on an I2C expander. Use the cansleep() variant when setting the GPIO value. Based on a patch from Russell King for pci-mvebu.c. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24c39de0091197f4c1f1a18a7c31e540000dc3b8 Merge: b75ec3a 405c92f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 1 12:01:37 2015 -0500 Merge branch 'csum_partial_frags' Hannes Frederic Sowa says: ==================== net: clean up interactions of CHECKSUM_PARTIAL and fragmentation This series fixes wrong checksums on the wire for IPv4 and IPv6. Large send buffers and especially NFS lead to wrong checksums in both IPv4 and IPv6. CHECKSUM_PARTIAL skbs should not receive the respective fragmentations functions, so we add WARN_ON_ONCE to those functions to fix up those as soon as they get reported. Changelog: v2: added v4 checks v3: removed WARN_ON_ONCES (advice by Tom Herbert) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 405c92f7a5417274419192ad134d6dc71aedaaa4 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 22:40:42 2015 +0100 ipv6: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment CHECKSUM_PARTIAL skbs should never arrive in ip_fragment. If we get one of those warn about them once and handle them gracefully by recalculating the checksum. Fixes: commit 32dce968dd987 ("ipv6: Allow for partial checksums on non-ufo packets") See-also: commit 72e843bb09d45 ("ipv6: ip6_fragment() should check CHECKSUM_PARTIAL") Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Cc: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 682b1a9d3f9686ee43fd66b48605daff00522157 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 22:40:41 2015 +0100 ipv6: no CHECKSUM_PARTIAL on MSG_MORE corked sockets We cannot reliable calculate packet size on MSG_MORE corked sockets and thus cannot decide if they are going to be fragmented later on, so better not use CHECKSUM_PARTIAL in the first place. The IPv6 code also intended to protect and not use CHECKSUM_PARTIAL in the existence of IPv6 extension headers, but the condition was wrong. Fix it up, too. Also the condition to check whether the packet fits into one fragment was wrong and has been corrected. Fixes: commit 32dce968dd987 ("ipv6: Allow for partial checksums on non-ufo packets") See-also: commit 72e843bb09d45 ("ipv6: ip6_fragment() should check CHECKSUM_PARTIAL") Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Cc: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbd3393c56a8794fe596e7dd20d0efa613b9cf61 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 22:40:40 2015 +0100 ipv4: add defensive check for CHECKSUM_PARTIAL skbs in ip_fragment CHECKSUM_PARTIAL skbs should never arrive in ip_fragment. If we get one of those warn about them once and handle them gracefully by recalculating the checksum. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Cc: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d749c9cbffd666956694f307d237e018c464d973 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 22:40:39 2015 +0100 ipv4: no CHECKSUM_PARTIAL on MSG_MORE corked sockets We cannot reliable calculate packet size on MSG_MORE corked sockets and thus cannot decide if they are going to be fragmented later on, so better not use CHECKSUM_PARTIAL in the first place. Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Cc: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 030270ba1aa2072d2967c11129c67d9de9aa762b Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Sun Nov 1 14:32:03 2015 +0100 ALSA: maestro3: Enable docking support for Dell Latitude C810 Enable I2S docking for Dell Latitude C810. This allows the audio output on C/Port II to work (and probably also the audio inputs on C/Dock II). The volume can't be adjusted - none of the mixer controls currently supported affects the I2S output (they belong to the STAC9721/23 AC'97 codec responsible for the laptop internal connectors & speakers). Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2167ceabf34163727ca4e283c0f030e3960932e5 Author: Wan Zongshun <Vincent.Wan@xxxxxxx> Date: Fri Oct 30 13:11:39 2015 +0100 x86/cpu: Add CLZERO detection AMD Fam17h processors introduce support for the CLZERO instruction. It zeroes out the 64 byte cache line specified in RAX. Add the bit here to allow /proc/cpuinfo to list the feature. Boris: we're adding this as a separate ->x86_capability leaf because CPUID_80000008_EBX is going to contain more feature bits and it will fill out with time. Signed-off-by: Wan Zongshun <Vincent.Wan@xxxxxxx> Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> [ Wrap code in patch form, fix comments. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Huang Rui <ray.huang@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/1446207099-24948-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dc34bdd2367fd31744ee3ba1de1b1cc0fa2ce193 Author: Borislav Petkov <bp@xxxxxxx> Date: Fri Oct 30 13:11:38 2015 +0100 x86/mce: Add a default case to the switch in __mcheck_cpu_ancient_init() Caught by building with W= which enable -Wswitch-default also. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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/1446207099-24948-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c7f54d21fb02e90042e6233b46716dcb244e70e6 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Fri Oct 30 13:11:37 2015 +0100 x86/mce: Add a Scalable MCA vendor flags bit Scalable MCA (SMCA) is a new feature in AMD Fam17h processors which indicates presence of MCA extensions. MCA extensions expands existing register space for the MCE banks and also introduces a new MSR range to accommodate new banks. Add the detection bit. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> [ Reformat mce_vendor_flags definitions and save indentation levels. Improve comments. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Ashok Raj <ashok.raj@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1446207099-24948-2-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0963670aeaec2287aa263daa0d41384d4dcd5292 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sun Nov 1 10:50:19 2015 +0100 gpio: fix up SPI submenu - Relax dependencies on SPI_MASTER for drivers in the SPI menu that already has this dependency. - Move out the expander that would be hidden for I2C access if SPI_MASTER was not selected. Tentatively create a separate menu for this. - Move the ZX SoC driver to memory-mapped drivers, this must be a mistake and only worked because the system has an SPI master enabled at the same time. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 269a46f80bd9c77b6f862a92ccb52eb8a68d3997 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sun Nov 1 10:43:16 2015 +0100 gpio: drop surplus I2C dependencies The I2C expander menu already depends on I2C, drop subdependecies on individual drivers. Keep the instances of depends on I2C=y though, so these are still restricted to the compiled-in case. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7768feb0f56d4ba6c1ae1395e144e168e41f1900 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Sun Nov 1 10:39:07 2015 +0100 gpio: drop surplus X86 dependencies Port-mapped I/O depends on X86 already, so individual drivers need not specify this dependency. Suggested-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 56ef9db24633cf6528d2ce736de0985eb125a3c1 Merge: 060b85b 53dd186 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 21:36:07 2015 -0700 Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "This should be our final batch of fixes for 4.3: - A patch from Sudeep Holla that fixes annotation of wakeup sources properly, old unused format seems to have spread through copying. - Two patches from Tony for OMAP. One dealing with MUSB setup problems due to runtime PM being enabled too early on the parent device. The other fixes IRQ numbering for OMAP1" * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: usb: musb: omap2430: Fix regression caused by driver core change ARM: OMAP1: fix incorrect INT_DMA_LCD ARM: dts: fix gpio-keys wakeup-source property commit 060b85b0d3064032b6810928973f8c7a15ab9c11 Merge: af7eba0 d6a32b9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 21:26:04 2015 -0700 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "This is three essential bug fixes for various SCSI parts. The only affected users are SCSI multi-path via device handler (basically all the enterprise) and mvsas users. The dh bugs are an async entanglement in boot resulting in a serious WARN_ON trip and a use after free on remove leading to a crash with strict memory accounting. The mvsas bug manifests as a null deref oops but only on abort sequences; however, these can commonly occur with SATA attached devices, hence the fix" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi_dh: don't try to load a device handler during async probing scsi_dh: fix use-after-free when removing scsi device mvsas: Fix NULL pointer dereference in mvs_slot_task_free commit af7eba0158e9b4632dcd94c1cd4100689666e14f Merge: d59ebbf d01552a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 21:20:49 2015 -0700 Merge tag 'md/4.3-rc7-fixes' of git://neil.brown.name/md Pull md bug fixes from Neil Brown: "Two more bug fixes for md. One bugfix for a list corruption in raid5 because of incorrect locking. Other for possible data corruption when a recovering device is failed, removed, and re-added. Both tagged for -stable" * tag 'md/4.3-rc7-fixes' of git://neil.brown.name/md: Revert "md: allow a partially recovered device to be hot-added to an array." md/raid5: fix locking in handle_stripe_clean_event() commit b75ec3af27bf011a760e2f44eb25a99b6fbb0fb3 Merge: e7b63ff 523e134 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Nov 1 00:15:30 2015 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit ca9e7a1c85594f61d7ffb414071e6cae82eae23a Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Oct 1 21:40:10 2015 -0500 Allow duplicate extents in SMB3 not just SMB3.1.1 Enable duplicate extents (cp --reflink) ioctl for SMB3.0 not just SMB3.1.1 since have verified that this works to Windows 2016 (REFS) and additional testing done at recent plugfest with SMB3.0 not just SMB3.1.1 This will also make it easier for Samba. Signed-off-by: Steve French <steve.french@xxxxxxxxxxxxxxx> Reviewed-by: David Disseldorp <ddiss@xxxxxxx> commit 339421def582abb14c2217aa8c8f28bb2e299174 Author: Song Liu <songliubraving@xxxxxx> Date: Thu Oct 8 21:54:13 2015 -0700 MD: when RAID journal is missing/faulty, block RESTART_ARRAY_RW When RAID-4/5/6 array suffers from missing journal device, we put the array in read only state. We should not allow trasition to read-write states (clean and active) before replacing journal device. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit f2076e7d0643d15b11db979acc7cffd2e8d69e77 Author: Shaohua Li <shli@xxxxxx> Date: Thu Oct 8 21:54:12 2015 -0700 MD: set journal disk ->raid_disk Set journal disk ->raid_disk to >=0, I choose raid_disks + 1 instead of 0, because we already have a disk with ->raid_disk 0 and this causes sysfs entry creation conflict. A lot of places assumes disk with ->raid_disk >=0 is normal raid disk, so we add check for journal disk. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit a3dfbdaadba2612faf11f025b8156c36e3700247 Author: Song Liu <songliubraving@xxxxxx> Date: Thu Oct 8 21:54:11 2015 -0700 MD: kick out journal disk if it's not fresh When journal disk is faulty and we are reassemabling the raid array, the journal disk is old. We don't allow the journal disk added to the raid array. Since journal disk is missing in the array, the raid5 will mark the array readonly. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 7dde2ad3c5b4afb4b2544b864fa34dd1f4897ab6 Author: Shaohua Li <shli@xxxxxx> Date: Thu Oct 8 21:54:10 2015 -0700 raid5-cache: start raid5 readonly if journal is missing If raid array is expected to have journal (eg, journal is set in MD superblock feature map) and the array is started without journal disk, start the array readonly. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit a97b7896447a89749d9258fbb9d8c3faf48a7a4e Author: Song Liu <songliubraving@xxxxxx> Date: Thu Oct 8 21:54:09 2015 -0700 MD: add new bit to indicate raid array with journal If a raid array has journal feature bit set, add a new bit to indicate this. If the array is started without journal disk existing, we know there is something wrong. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6e74a9cfb5a55b0a4214809321b67d7065e55555 Author: Shaohua Li <shli@xxxxxx> Date: Thu Oct 8 21:54:08 2015 -0700 raid5-cache: IO error handling There are 3 places the raid5-cache dispatches IO. The discard IO error doesn't matter, so we ignore it. The superblock write IO error can be handled in MD core. The remaining are log write and flush. When the IO error happens, we mark log disk faulty and fail all write IO. Read IO is still allowed to run. Userspace will get a notification too and corresponding daemon can choose setting raid array readonly for example. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c2bb6242ece5a2a0b6bd415c1d58babe83e971a8 Author: Shaohua Li <shli@xxxxxx> Date: Thu Oct 8 21:54:07 2015 -0700 raid5: journal disk can't be removed raid5-cache uses journal disk rdev->bdev, rdev->mddev in several places. Don't allow journal disk disappear magically. On the other hand, we do need to update superblock for other disks to bump up ->events, so next time journal disk will be identified as stale. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 4b482044d24f3db2e11607d0a18f64b3a326972d Author: Shaohua Li <shli@xxxxxx> Date: Thu Oct 8 21:54:06 2015 -0700 raid5-cache: add trim support for log Since superblock is updated infrequently, we do a simple trim of log disk (a synchronous trim) Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 9efdca16e0182eca489a519f576019fd9c0c1b25 Author: Shaohua Li <shli@xxxxxx> Date: Mon Oct 12 16:59:50 2015 -0700 MD: fix info output for journal disk journal disk can be faulty. The Journal and Faulty aren't exclusive with each other. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6143e2cecb9ef9c7d3392c9c2583f231705413a5 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:16 2015 +0200 raid5-cache: use bio chaining Simplify the bio completion handler by using bio chaining and submitting bios as soon as they are full. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 2b8ef16ec4c529c7df3bb4e4eba45ac645a97b00 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:15 2015 +0200 raid5-cache: small log->seq cleanup Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c1b9919849866b96dc435f025beaa307dc76ca27 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:14 2015 +0200 raid5-cache: new helper: r5_reserve_log_entry Factor out code to reserve log space. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 51039cd066553689bb82a588b25a6eba7d453837 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:13 2015 +0200 raid5-cache: inline r5l_alloc_io_unit into r5l_new_meta This is the only user, and keeping all code initializing the io_unit structure together improves readbility. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 1e932a37ccb9ad1984823dead4b48902fc5789f4 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:12 2015 +0200 raid5-cache: take rdev->data_offset into account early on Set up bi_sector properly when we allocate an bio instead of updating it at submission time. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b349feb36cc2b7ed41a5222a0b681153f3525369 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:11 2015 +0200 raid5-cache: refactor bio allocation Split out a helper to allocate a bio for log writes. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 22581f58ed3f0c9eb066d67b696b66f951df5c2b Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:10 2015 +0200 raid5-cache: clean up r5l_get_meta Remove the only partially used local 'io' variable to simplify the code flow. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 56fef7c6e02493dce316de99a11e9e26b852218b Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:09 2015 +0200 raid5-cache: simplify state machine when caches flushes are not needed For devices without a volatile write cache we don't need to send a FLUSH command to ensure writes are stable on disk, and thus can avoid the whole step of batching up bios for processing by the MD thread. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit d8858f4321b744ff02e286165b643e8dc0ef1cf5 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:08 2015 +0200 raid5-cache: factor out a helper to run all stripes for an I/O unit Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 04732f741dce5e21b3ca90677a237635f1e98184 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:07 2015 +0200 raid5-cache: rename flushed_ios to finished_ios After this series we won't nessecarily have flushed the cache for these I/Os, so give the list a more neutral name. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 170364619ac21c2b14869571eeaf767ae825f96c Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 5 09:31:06 2015 +0200 raid5-cache: free I/O units earlier There is no good reason to keep the I/O unit structures around after the stripe has been written back to the RAID array. The only information we need is the log sequence number, and the checkpoint offset of the highest successfull writeback. Store those in the log structure, and free the IO units from __r5l_stripe_write_finished. Besides simplifying the code this also avoid having to keep the allocation for the I/O unit around for a potentially long time as superblock updates that checkpoint the log do not happen very often. This also fixes the previously incorrect calculation of 'free' in r5l_do_reclaim as a side effect: previous if took the last unit which isn't checkpointed into account. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit e6c033f79a0a1e9ca850575dcfa51bb583b592fa Author: Shaohua Li <shli@xxxxxx> Date: Sun Oct 4 09:20:12 2015 -0700 raid5-cache: move reclaim stop to quiesce Move reclaim stop to quiesce handling, where is safer for this stuff. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit ac6096e9d5cb88a31f3af2d140df7d680b42745e Author: Shaohua Li <shli@xxxxxx> Date: Sun Oct 4 09:20:11 2015 -0700 md: show journal for journal disk in disk state sysfs Journal disk state sysfs entry should indicate it's journal Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 0b020e85bdd5765aac2440848e7a927069f5f83c Author: Song Liu <songliubraving@xxxxxx> Date: Thu Sep 3 23:00:35 2015 -0700 skip match_mddev_units check for special roles match_mddev_units is used to check whether 2 RAID arrays share same disk(s). Arrays that share disk(s) will not do resync at the same time for better performance (fewer HDD seek). However, this check should not apply to Spare, Faulty, and Journal disks, as they do not paticipate in resync. In this patch, match_mddev_units skips check for disks with flag "Faulty" or "Journal" or raid_disk < 0. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 253f9fd41afe2492b85de779946b5882a00dcdc5 Author: Shaohua Li <shli@xxxxxx> Date: Fri Sep 4 14:14:16 2015 -0700 raid5-cache: don't delay stripe captured in log There is a case a stripe gets delayed forever. 1. a stripe finishes construction 2. a new bio hits the stripe 3. handle_stripe runs for the stripe. The stripe gets DELAYED bit set since construction can't run for new bio (the stripe is locked since step 1) Without log, handle_stripe will call ops_run_io. After IO finishes, the stripe gets unlocked and the stripe will restart and run construction for the new bio. With log, ops_run_io need to run two times. If the DELAYED bit set, the stripe can't enter into the handle_list, so the second ops_run_io doesn't run, which leaves the stripe stalled. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 85f2f9a4f49d3e3230b3c5fb08362d561691421e Author: Shaohua Li <shli@xxxxxx> Date: Fri Sep 4 14:14:05 2015 -0700 raid5-cache: check stripe finish out of order stripes could finish out of order. Hence r5l_move_io_unit_list() of __r5l_stripe_write_finished might not move any entry and leave stripe_end_ios list empty. This applies on top of http://marc.info/?l=linux-raid&m=144122700510667 Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit bd18f6462f3d167a9b3ec27851c98f82694b2adf Author: Shaohua Li <shli@xxxxxx> Date: Wed Sep 2 13:49:50 2015 -0700 md: skip resync for raid array with journal If a raid array has journal, the journal can guarantee the consistency, we can skip resync after a unclean shutdown. The exception is raid creation or user initiated resync, which we still do a raid resync. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 828cbe989e4f5c8666cb3d99918b03666ccde0a0 Author: Shaohua Li <shli@xxxxxx> Date: Wed Sep 2 13:49:49 2015 -0700 raid5-cache: optimize FLUSH IO with log enabled With log enabled, bio is written to raid disks after the bio is settled down in log disk. The recovery guarantees we can recovery the bio data from log disk, so we we skip FLUSH IO. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 509ffec7089d10521ac91d4537b789d76103b4c0 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 2 13:49:48 2015 -0700 raid5-cache: move functionality out of __r5l_set_io_unit_state Just keep __r5l_set_io_unit_state as a small set the state wrapper, and remove r5l_set_io_unit_state entirely after moving the real functionality to the two callers that need it. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 0fd22b45b2d2e1de162d6a47327d449e0ed45ad2 Author: Shaohua Li <shli@xxxxxx> Date: Wed Sep 2 13:49:47 2015 -0700 raid5-cache: fix a user-after-free bug r5l_compress_stripe_end_list() can free an io_unit. This breaks the assumption only reclaimer can free io_unit. We can add a reference count based io_unit free, but since only reclaim can wait io_unit becoming to STRIPE_END state, we use a simple global wait queue here. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit a8c34f915976e3de044cc31b8bcb46f816f5a52e Author: Shaohua Li <shli@xxxxxx> Date: Wed Sep 2 13:49:46 2015 -0700 raid5-cache: switching to state machine for log disk cache flush Before we write stripe data to raid disks, we must guarantee stripe data is settled down in log disk. To do this, we flush log disk cache and wait the flush finish. That wait introduces sleep time in raid5d thread and impact performance. This patch moves the log disk cache flush process to the stripe handling state machine, which can remove the wait in raid5d. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 5c7e81c3de9eb3db01e16190a1da0899efee645b Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:32:04 2015 -0700 raid5: enable log for raid array with cache disk Now log is safe to enable for raid array with cache disk Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 713cf5a63954bdc1cd4bed0a81e98cbd8fc5928c Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:32:03 2015 -0700 raid5: don't allow resize/reshape with cache(log) support If cache(log) support is enabled, don't allow resize/reshape in current stage. In the future, we can flush all data from cache(log) to raid before resize/reshape and then allow resize/reshape. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 9c3e333d3f8b01407c8e9f78958e28a8594a0827 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:32:02 2015 -0700 raid5: disable batch with log enabled With log enabled, r5l_write_stripe will add the stripe to log. With batch, several stripes are linked together. The stripes must be in the same state. While with log, the log/reclaim unit is stripe, we can't guarantee the several stripes are in the same state. Disabling batch for log now. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 5cb2fbd6ea0d151dcb12d98c06c8761eedfed2ee Author: Shaohua Li <shli@xxxxxx> Date: Wed Oct 28 08:41:25 2015 -0700 raid5-cache: use crc32c checksum crc32c has lower overhead with cpu acceleration. It's a shame I didn't use it in first post, sorry. This changes disk format, but we are still ok in current stage. V2: delete unnecessary type conversion as pointed out by Bart Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> commit d59ebbf19b29f4964b24f38c3ad876c33cdd7368 Merge: 523e134 8731b26 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 16:16:51 2015 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Two drm atomic core fixes. And two radeon patches needed to fix a backlight regression on some older hardware" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm: Correct arguments to list_tail_add in create blob ioctl drm: crtc: integer overflow in drm_property_create_blob() drm/radeon: fix dpms when driver backlight control is disabled drm/radeon: move bl encoder assignment into bl init commit fc90888d07b8e17eec49c04bdb26344fdea96c3b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 16:06:40 2015 -0700 vfs: conditionally clear close-on-exec flag We clear the close-on-exec flag when opening and closing files, and the bit was almost always already clear before. Avoid dirtying the cacheline if the clearning isn't necessary. That avoids unnecessary cacheline dirtying and bouncing in multi-socket environments. Eric Dumazet has a file descriptor benchmark that goes 4% faster from this on his two-socket machine. It's probably partly superlinear improvement due to getting slightly less spinlock contention on the file_lock spinlock due to less work in the critical section. Tested-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f3f86e33dc3da437fa4f204588ce7c78ea756982 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 16:53:57 2015 -0700 vfs: Fix pathological performance case for __alloc_fd() Al Viro points out that: > > * [Linux-specific aside] our __alloc_fd() can degrade quite badly > > with some use patterns. The cacheline pingpong in the bitmap is probably > > inevitable, unless we accept considerably heavier memory footprint, > > but we also have a case when alloc_fd() takes O(n) and it's _not_ hard > > to trigger - close(3);open(...); will have the next open() after that > > scanning the entire in-use bitmap. And Eric Dumazet has a somewhat realistic multithreaded microbenchmark that opens and closes a lot of sockets with minimal work per socket. This patch largely fixes it. We keep a 2nd-level bitmap of the open file bitmaps, showing which words are already full. So then we can traverse that second-level bitmap to efficiently skip already allocated file descriptors. On his benchmark, this improves performance by up to an order of magnitude, by avoiding the excessive open file bitmap scanning. Tested-and-acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aad9ae4550755edc020b5c511a8b54f0104b2f47 Author: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Date: Thu Oct 29 03:54:21 2015 +0900 dm switch: simplify conditional in alloc_region_table() The variable sctx->nr_regions has type unsigned long and the variable nr_regions has type sector_t. Thus the variables may be different when overflow happens. Changed the conditional to "if (nr_regions >= ULONG_MAX)". Also move the assignment of nr_regions after sector_div() and the sanity check which looks more sane. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Reviewed-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit f49e869a61829b8ac6eb069b3824f738cd0146e6 Author: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Date: Wed Oct 28 04:38:56 2015 +0900 dm delay: document that offsets are specified in sectors Only delay params are mentioned in delay.txt. Mention offsets just like documents for linear and flakey do. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e213f33e4d3a00e9916a58e0fff367a7c60e3c9c Author: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Date: Wed Oct 28 04:38:57 2015 +0900 dm delay: capitalize the start of an delay_ctr() error message All other error messages start capitalized. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 340c9ec09b21c29e1e53284acc8993ddf6fc5b2a Author: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Date: Wed Oct 28 04:38:55 2015 +0900 dm delay: Use DM_MAPIO macros instead of open-coded equivalents .map function of dm-delay returns return value of delay_bio(), hence it's supposed to return using a defined DM_MAPIO macro. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Acked-By: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 00272c854ee17b804ce81ef706f611dac17f4f89 Author: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Date: Wed Oct 28 04:38:58 2015 +0900 dm linear: remove redundant target name from error messages Commit 72d94861 back in 2006 should have consistently removed "dm-linear: " from all error messages. Signed-off-by: Tomohiro Kusumi <kusumi.tomohiro@xxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 4c7da06f5a780bbf44ebd7547789e48536d0a823 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Thu Oct 22 16:46:59 2015 -0400 dm persistent data: eliminate unnecessary return values dm_bm_unlock and dm_tm_unlock return an integer value but the returned value is always 0. The calling code sometimes checks the return value and sometimes doesn't. Eliminate these unnecessary return values and also the checks for them. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit dbba42d8a9ebddcc1c1412e8457f79f3cb6ef6e7 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Wed Oct 21 16:34:20 2015 -0400 dm: eliminate unused "bioset" process for each bio-based DM device Commit 54efd50bfd873e2dbf784e0b21a8027ba4299a3e ("block: make generic_make_request handle arbitrarily sized bios") makes it possible for block devices to process large bios. In doing so that commit allocates a new queue->bio_split bioset for each block device, this bioset is used for allocating bios when the driver needs to split large bios. Each bioset allocates a workqueue process, thus the above commit increases the number of processes allocated per block device. DM doesn't need the queue->bio_split bioset, thus we can deallocate it. This reduces the number of allocated processes per bio-based DM device from 3 to 2. Also remove the call to blk_queue_split(), it is not needed because DM does its own splitting. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit a3d939ae7b5f82688a6d3450f95286eaea338328 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Fri Oct 2 11:21:24 2015 -0400 dm: convert ffs to __ffs ffs counts bit starting with 1 (for the least significant bit), __ffs counts bits starting with 0. This patch changes various occurrences of ffs to __ffs and removes subtraction of 1 from the result. Note that __ffs (unlike ffs) is not defined when called with zero argument, but it is not called with zero argument in any of these cases. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 6f65985e2636c0b170eade6a72d216632f065e26 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:05 2015 +0200 dm: drop NULL test before kmem_cache_destroy() and mempool_destroy() Remove DM's unneeded NULL tests before calling these destroy functions, now that they check for NULL, thanks to these v4.3 commits: 3942d2991 ("mm/slab_common: allow NULL cache pointer in kmem_cache_destroy()") 4e3ca3e03 ("mm/mempool: allow NULL `pool' pointer in mempool_destroy()") The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 71cdb6978a80f9f6c51bef0622388c1414c2fe32 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 15 14:10:51 2015 +0200 dm: add support for passing through persistent reservations This adds support to pass through persistent reservation requests similar to the existing ioctl handling, and with the same limitations, e.g. devices may only have a single target attached. This is mostly intended for multipathing. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit e56f81e0b01ef4e45292d8c1e19edd4d09724e14 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 15 14:10:50 2015 +0200 dm: refactor ioctl handling This moves the call to blkdev_ioctl and the argument checking to DM core code, and only leaves a callout to find the block device to operate on in the targets. This simplifies the code and allows us to pass through ioctl-like command using other methods in the next patch. Also split out a helper around calling the prepare_ioctl method that will be reused for persistent reservation handling. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 47796938c46b943d157ac8a6f9ed4e3b98b83cf4 Author: Mauricio Faria de Oliveira <mauricfo@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 29 10:24:23 2015 -0200 Revert "dm mpath: fix stalls when handling invalid ioctls" This reverts commit a1989b330093578ea5470bea0a00f940c444c466. That commit introduced a regression at least for the case of the SG_IO ioctl() running without CAP_SYS_RAWIO capability (e.g., unprivileged users) when there are no active paths: the ioctl() fails with the ENOTTY errno immediately rather than blocking due to queue_if_no_path until a path becomes active, for example. That case happens to be exercised by QEMU KVM guests with 'scsi-block' devices (qemu "-device scsi-block" [1], libvirt "<disk type='block' device='lun'>" [2]) from multipath devices; which leads to SCSI/filesystem errors in such a guest. More general scenarios can hit that regression too. The following demonstration employs a SG_IO ioctl() with a standard SCSI INQUIRY command for this objective (some output & user changes omitted for brevity and comments added for clarity). Reverting that commit restores normal operation (queueing) in failing scenarios; tested on linux-next (next-20151022). 1) Test-case is based on sg_simple0 [3] (just SG_IO; remove SG_GET_VERSION_NUM) $ cat sg_simple0.c ... see [3] ... $ sed '/SG_GET_VERSION_NUM/,/}/d' sg_simple0.c > sgio_inquiry.c $ gcc sgio_inquiry.c -o sgio_inquiry 2) The ioctl() works fine with active paths present. # multipath -l 85ag56 85ag56 (...) dm-19 IBM ,2145 size=60G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=0 status=active | |- 8:0:11:0 sdz 65:144 active undef running | `- 9:0:9:0 sdbf 67:144 active undef running `-+- policy='service-time 0' prio=0 status=enabled |- 8:0:12:0 sdae 65:224 active undef running `- 9:0:12:0 sdbo 68:32 active undef running $ ./sgio_inquiry /dev/mapper/85ag56 Some of the INQUIRY command's response: IBM 2145 0000 INQUIRY duration=0 millisecs, resid=0 3) The ioctl() fails with ENOTTY errno with _no_ active paths present, for unprivileged users (rather than blocking due to queue_if_no_path). # for path in $(multipath -l 85ag56 | grep -o 'sd[a-z]\+'); \ do multipathd -k"fail path $path"; done # multipath -l 85ag56 85ag56 (...) dm-19 IBM ,2145 size=60G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=0 status=enabled | |- 8:0:11:0 sdz 65:144 failed undef running | `- 9:0:9:0 sdbf 67:144 failed undef running `-+- policy='service-time 0' prio=0 status=enabled |- 8:0:12:0 sdae 65:224 failed undef running `- 9:0:12:0 sdbo 68:32 failed undef running $ ./sgio_inquiry /dev/mapper/85ag56 sg_simple0: Inquiry SG_IO ioctl error: Inappropriate ioctl for device 4) dmesg shows that scsi_verify_blk_ioctl() failed for SG_IO (0x2285); it returns -ENOIOCTLCMD, later replaced with -ENOTTY in vfs_ioctl(). $ dmesg <...> [] device-mapper: multipath: Failing path 65:144. [] device-mapper: multipath: Failing path 67:144. [] device-mapper: multipath: Failing path 65:224. [] device-mapper: multipath: Failing path 68:32. [] sgio_inquiry: sending ioctl 2285 to a partition! 5) The ioctl() only works if the SYS_CAP_RAWIO capability is present (then queueing happens -- in this example, queue_if_no_path is set); this is due to a conditional check in scsi_verify_blk_ioctl(). # capsh --drop=cap_sys_rawio -- -c './sgio_inquiry /dev/mapper/85ag56' sg_simple0: Inquiry SG_IO ioctl error: Inappropriate ioctl for device # ./sgio_inquiry /dev/mapper/85ag56 & [1] 72830 # cat /proc/72830/stack [<c00000171c0df700>] 0xc00000171c0df700 [<c000000000015934>] __switch_to+0x204/0x350 [<c000000000152d4c>] msleep+0x5c/0x80 [<c00000000077dfb0>] dm_blk_ioctl+0x70/0x170 [<c000000000487c40>] blkdev_ioctl+0x2b0/0x9b0 [<c0000000003128e4>] block_ioctl+0x64/0xd0 [<c0000000002dd3b0>] do_vfs_ioctl+0x490/0x780 [<c0000000002dd774>] SyS_ioctl+0xd4/0xf0 [<c000000000009358>] system_call+0x38/0xd0 6) This is the function call chain exercised in this analysis: SYSCALL_DEFINE3(ioctl, <...>) @ fs/ioctl.c -> do_vfs_ioctl() -> vfs_ioctl() ... error = filp->f_op->unlocked_ioctl(filp, cmd, arg); ... -> dm_blk_ioctl() @ drivers/md/dm.c -> multipath_ioctl() @ drivers/md/dm-mpath.c ... (bdev = NULL, due to no active paths) ... if (!bdev || <...>) { int err = scsi_verify_blk_ioctl(NULL, cmd); if (err) r = err; } ... -> scsi_verify_blk_ioctl() @ block/scsi_ioctl.c ... if (bd && bd == bd->bd_contains) // not taken (bd = NULL) return 0; ... if (capable(CAP_SYS_RAWIO)) // not taken (unprivileged user) return 0; ... printk_ratelimited(KERN_WARNING "%s: sending ioctl %x to a partition!\n" <...>); return -ENOIOCTLCMD; <- ... return r ? : <...> <- ... if (error == -ENOIOCTLCMD) error = -ENOTTY; out: return error; ... Links: [1] http://git.qemu.org/?p=qemu.git;a=commit;h=336a6915bc7089fb20fea4ba99972ad9a97c5f52 [2] https://libvirt.org/formatdomain.html#elementsDisks (see 'disk' -> 'device') [3] http://tldp.org/HOWTO/SCSI-Generic-HOWTO/pexample.html (Revision 1.2, 2002-05-03) Signed-off-by: Mauricio Faria de Oliveira <mauricfo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3b5ea47dbff0c934b7b979bcc772427a2404ed3d Author: Huang Rui <ray.huang@xxxxxxx> Date: Fri Oct 30 17:56:57 2015 +0800 hwmon: (fam15h_power) Add max compute unit accumulated power This patch adds a member in fam15h_power_data which specifies the maximum accumulated power in a compute unit. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 46f29c2b494600cd326b84f87f5765e80fffface Author: Huang Rui <ray.huang@xxxxxxx> Date: Fri Oct 30 17:56:56 2015 +0800 hwmon: (fam15h_power) Enable power1_input on AMD Carrizo This patch enables power1_input attribute for Carrizo platform. Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 7deb14b1316def5d4c85f99718d9e530d53cef4e Author: Huang Rui <ray.huang@xxxxxxx> Date: Fri Oct 30 17:56:55 2015 +0800 hwmon: (fam15h_power) Refactor attributes for dynamically added Attributes depend on the CPU model the driver gets loaded on. Therefore, add those attributes dynamically at init time. This is more flexible to control the different attributes on different platforms. Suggested-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Huang Rui <ray.huang@xxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 523e13455ec9ec4457a5a1d24ff7132949742b70 Merge: 4bb0fb5 bae818e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 15:19:36 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph fix from Sage Weil: "This sets the stable pages flag on the RBD block device when we have CRCs enabled. (This is necessary since the default assumption for block devices changed in 3.9)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: rbd: require stable pages if message data CRCs are enabled commit 4bb0fb57f3bbe2ed7d4aad75a3c60a051afbd1db Merge: c94eee8 5ffdbe8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 14:49:19 2015 -0700 Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs Pull overlayfs bug fixes from Miklos Szeredi: "This contains fixes for bugs that appeared in earlier kernels (all are marked for -stable)" * 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs: ovl: free lower_mnt array in ovl_put_super ovl: free stack of paths in ovl_fill_super ovl: fix open in stacked overlay ovl: fix dentry reference leak ovl: use O_LARGEFILE in ovl_copy_up() commit d99c8053fc2473115f506782822cb7c33c687513 Author: Laurent Meunier <laurent.meunier@xxxxxx> Date: Fri Oct 30 15:15:51 2015 +0100 pinctrl: pinconf: remove needless loop This removes a needless loop which was caught in pinconf.c. Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Laurent Meunier <laurent.meunier@xxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 241297c2af8bf0459a590c143a1d15b93779fab1 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 30 19:28:15 2015 +0900 pinctrl: uniphier: guard uniphier directory with CONFIG_PINCTRL_UNIPHIER CONFIG_PINCTRL_UNIPHIER is more suitable than CONFIG_ARCH_UNIPHIER to guard the drivers/pinctrl/uniphier directory. The current CONFIG_PINCTRL_UNIPHIER_CORE is a bit long (it would break the indentation in drivers/pinctrl/Makefile), so rename it into CONFIG_PINCTRL_UNIPHIER. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a7c6f30c02326a5acccc602b0d0f08a9853eec3f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 30 15:04:37 2015 +0100 pinctrl: zynq: fix UTF-8 errors Fix up Sören's name in the Zynq driver. I caused this. I fix it. Acked-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit aacaffd1d9a6f8e2c7369d83c21d41c3b53e2edc Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 30 11:58:28 2015 +0100 gpio: dt-bindings: document the official use of "ngpios" There are a bunch of drivers that utilize the "ngpios" DT property without any vendor prefix. Try to start cleaning up the mess by defining what we mean by this property. Cc: devicetree@xxxxxxxxxxxxxxx Cc: Pramod Kumar <pramodku@xxxxxxxxxxxx> Cc: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit aad7a2119965a4a504ddf1d8374968135e9a8780 Author: Alban Bedel <albeu@xxxxxxx> Date: Fri Oct 30 11:36:29 2015 +0100 gpio: MAINTAINERS: Add an entry for the ATH79 GPIO driver Add an entry for the ATH79 GPIO driver with myself as maintainer. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c103a10f690cc49054c52f493eeeff143d5f59e7 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Fri Oct 30 12:02:05 2015 +0200 gpio / ACPI: Allow shared GPIO event to be read via operation region In Microsoft Surface3 the GPIO detecting lid state is shared between GPIO event and operation region. Below is simplied version of the DSDT from Surface3 including relevant parts: Scope (GPO0) { Name (_AEI, ResourceTemplate () { GpioInt (Edge, ActiveBoth, Shared, PullNone, 0x0000, "\\_SB.GPO0", 0x00, ResourceConsumer, , ) { // Pin list 0x004C } }) OperationRegion (GPOR, GeneralPurposeIo, Zero, One) Field (GPOR, ByteAcc, NoLock, Preserve) { Connection ( GpioIo (Shared, PullNone, 0x0000, 0x0000, IoRestrictionNone, "\\_SB.GPO0", 0x00, ResourceConsumer,,) { // Pin list 0x004C } ), HELD, 1 } Method (_E4C, 0, Serialized) // _Exx: Edge-Triggered GPE { If ((HELD == One)) { ^^LID.LIDB = One } Else { ^^LID.LIDB = Zero Notify (LID, 0x80) // Status Change } Notify (^^PCI0.SPI1.NTRG, One) // Device Check } } When GPIO 0x4c changes we call ASL method _E4C which tries to read HELD field (the same GPIO). This triggers following error on the console: ACPI Error: Method parse/execution failed [\_SB.GPO0._E4C] (Node ffff88013f4b4438), AE_ERROR (20150930/psparse-542) The error happens because ACPI GPIO operation region handler (acpi_gpio_adr_space_handler()) tries to acquire the very same GPIO which returns an error (-EBUSY) because the GPIO is already reserved for the GPIO event. Fix this so that we "borrow" the event GPIO if we find the GPIO belongs to an event. Allow this only for GPIOs that are read. To be able to go through acpi_gpio->events list for operation region access we need to make sure the list is properly initialized whenever GPIO chip is registered. Link: https://bugzilla.kernel.org/show_bug.cgi?id=106571 Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bc6a73bbfba5d8325b0e659545ce2f3ad983829b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 30 10:32:19 2015 +0100 gpio: group port-mapped I/O drivers in a menu Create a Kconfig submenu for drivers using X86 port-mapped I/O and depend on X86 for this. Suggested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> Cc: Andreas Bofjall <andreas@xxxxxxxxxx> Cc: Diego Elio Pettenò <flameeyes@xxxxxxxxxxxx> Cc: Daniel Krueger <daniel.krueger@xxxxxxxxxxxxxxxxxxxxx> Cc: Bruno Randolf <br1@xxxxxxxxxxx> Cc: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c94eee8a3befe480a1193f2633f16988108393bc Merge: 38dab9a 89bc784 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 31 11:52:20 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Fix two regressions in ipv6 route lookups, particularly wrt output interface specifications in the lookup key. From David Ahern. 2) Fix checks in ipv6 IPSEC tunnel pre-encap fragmentation, from Herbert Xu. 3) Fix mis-advertisement of 1000BASE-T on bcm63xx_enet, from Simon Arlott. 4) Some smsc phys misbehave with energy detect mode enabled, so add a DT property and disable it on such switches. From Heiko Schocher. 5) Fix TSO corruption on TX in mv643xx_eth, from Philipp Kirchhofer. 6) Fix regression added by removal of openvswitch vport stats, from James Morse. 7) Vendor Kconfig options should be bool, not tristate, from Andreas Schwab. 8) Use non-_BH() net stats bump in tcp_xmit_probe_skb(), otherwise we barf during TCP REPAIR operations. 9) Fix various bugs in openvswitch conntrack support, from Joe Stringer. 10) Fix NETLINK_LIST_MEMBERSHIPS locking, from David Herrmann. 11) Don't have VSOCK do sock_put() in interrupt context, from Jorgen Hansen. 12) Fix skb_realloc_headroom() failures properly in ISDN, from Karsten Keil. 13) Add some device IDs to qmi_wwan, from Bjorn Mork. 14) Fix ovs egress tunnel information when using lwtunnel devices, from Pravin B Shelar. 15) Add missing NETIF_F_FRAGLIST to macvtab feature list, from Jason Wang. 16) Fix incorrect handling of throw routes when the result of the throw cannot find a match, from Xin Long. 17) Protect ipv6 MTU calculations from wrap-around, from Hannes Frederic Sowa. 18) Fix failed autonegotiation on KSZ9031 micrel PHYs, from Nathan Sullivan. 19) Add missing memory barries in descriptor accesses or xgbe driver, from Thomas Lendacky. 20) Fix release conditon test in pppoe_release(), from Guillaume Nault. 21) Fix gianfar bugs wrt filter configuration, from Claudiu Manoil. 22) Fix violations of RX buffer alignment in sh_eth driver, from Sergei Shtylyov. 23) Fixing missing of_node_put() calls in various places around the networking, from Julia Lawall. 24) Fix incorrect leaf now walking in ipv4 routing tree, from Alexander Duyck. 25) RDS doesn't check pskb_pull()/pskb_trim() return values, from Sowmini Varadhan. 26) Fix VLAN configuration in mlx4 driver, from Jack Morgenstein. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (79 commits) ipv6: protect mtu calculation of wrap-around and infinite loop by rounding issues Revert "Merge branch 'ipv6-overflow-arith'" net/mlx4: Copy/set only sizeof struct mlx4_eqe bytes net/mlx4_en: Explicitly set no vlan tags in WQE ctrl segment when no vlan is present vhost: fix performance on LE hosts bpf: sample: define aarch64 specific registers amd-xgbe: Fix race between access of desc and desc index RDS-TCP: Recover correctly from pskb_pull()/pksb_trim() failure in rds_tcp_data_recv forcedeth: fix unilateral interrupt disabling in netpoll path openvswitch: Fix skb leak using IPv6 defrag ipv6: Export nf_ct_frag6_consume_orig() openvswitch: Fix double-free on ip_defrag() errors fib_trie: leaf_walk_rcu should not compute key if key is less than pn->key net: mv643xx_eth: add missing of_node_put ath6kl: add missing of_node_put net: phy: mdio: add missing of_node_put netdev/phy: add missing of_node_put net: netcp: add missing of_node_put net: thunderx: add missing of_node_put ipv6: gre: support SIT encapsulation ... commit bf5f18d708802737fa0db6306f6b9148f85b2efd Author: Aniroop Mathur <a.mathur@xxxxxxxxxxx> Date: Fri Oct 30 04:15:37 2015 -0700 Input: evdev - fix bug in checking duplicate clock change request clk_type and clkid stores different predefined clock identification values so they cannot be compared for checking duplicate clock change request. Therefore, lets fix it to avoid unexpected results. Signed-off-by: Aniroop Mathur <a.mathur@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5aa4e83dd54a3b33d0f2fbab0a1f06a3614a5949 Author: Marc Titinger <mtitinger@xxxxxxxxxxxx> Date: Thu Oct 29 10:07:17 2015 +0100 hwmon: (ina2xx) remove no longer used variable 'kind' Signed-off-by: Marc Titinger <mtitinger@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2459ee8651dc5ab72790c2ffa99af288c7641b64 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Oct 30 22:42:46 2015 -0700 x86/vm86: Set thread.vm86 to NULL on fork/clone thread.vm86 points to per-task information -- the pointer should not be copied on clone. Fixes: d4ce0f26c790 ("x86/vm86: Move fields from 'struct kernel_vm86_struct' to 'struct vm86'") Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Stas Sergeev <stsp@xxxxxxx> Link: http://lkml.kernel.org/r/71c5d6985d70ec8197c8d72f003823c81b7dcf99.1446270067.git.luto@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 226f1f729ce277720fab60c91dd1b12574cfe66c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Oct 30 22:42:45 2015 -0700 selftests/x86: Add a fork() to entry_from_vm86 to catch fork bugs Mere possession of vm86 state is strange. Make sure that nothing gets corrupted if we fork after calling vm86(). Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Stas Sergeev <stsp@xxxxxxx> Link: http://lkml.kernel.org/r/08f83295460a80e41dc5e3e81ec40d6844d316f5.1446270067.git.luto@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 926a3ffe346a2e47fe35ace004cbea52587688eb Merge: 212dac5 9290a16 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 31 07:37:21 2015 +0530 Merge branch 'topic/of' into for-linus commit 212dac5665cc4b7329537d932362f31a481cef3b Merge: 3638691 4222a90 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 31 07:37:13 2015 +0530 Merge branch 'topic/ioatdma' into for-linus commit 3638691c64728bad2714a7d4908516997319c481 Merge: 7d9d43a 97c37ac Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 31 07:37:05 2015 +0530 Merge branch 'topic/idma' into for-linus commit 7d9d43ace29be375d3d1654b688b94029308a1be Merge: 6df056d e3faf2b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 31 07:36:55 2015 +0530 Merge branch 'topic/edma' into for-linus Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Conflicts: drivers/dma/edma.c commit 6df056d8e69a557ac76bc7a88960e4addbc98386 Merge: 67d25f0 df5c738 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 31 07:35:07 2015 +0530 Merge branch 'topic/dw' into for-linus commit df5c7386f62d2db95ca48005087195e9a15e2b1f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 13 20:09:19 2015 +0300 dmaengine: dw: some Intel devices has no memcpy support Provide a flag to choose if the device does support memory-to-memory transfers. At least this is not true for iDMA32 controller that might be supported in the future. Besides that Intel BayTrail and Braswell users should not try this feature due to HW specific behaviour. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 175267b389f781748e2bbb6c737e76b5c9bc4c88 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 13 20:09:18 2015 +0300 dmaengine: dw: platform: provide platform data for Intel Provide platform data explicitly for Intel SoCs where dw_dmac is enumerated by ACPI. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 30cb2639aa5253cf5bc4bd7dc5ea7e61b6887379 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 13 20:09:17 2015 +0300 dmaengine: dw: don't override platform data with autocfg Let probe driver decide either it wants to auto configure the driver or have explicitly defined properties. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1b38b0e3349d733679e91b029a7f0dfd9e16a169 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Oct 27 12:21:05 2015 +0900 ARM: dts: uniphier: add system-bus-controller nodes The System Bus Controller block has two register regions, but having only the second one in a separate node was not nice. Replace it with a new node with two register regions in it. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7c9730c5684d8ffd69ee0b9e1739484cc6a35b23 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Oct 27 11:47:13 2015 +0900 ARM: multi_v7_defconfig: enable UniPhier I2C drivers These two drivers were merged into the I2C sub-system by commit dd6fd4a32793 ("i2c: uniphier: add UniPhier FIFO-less I2C driver") and commit 6a62974b667f ("i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver"). Enable them from arch/arm/configs/multi_v7_defconfig. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d13a5c8c4c3dbe299659bcff805f79a2c83e2bbc Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Thu Oct 29 15:09:54 2015 -0700 soc: qcom: smd-rpm: Correct size of outgoing message With the removal of VLAIS the size was incorrectly changed to only cover the headers of the packet, resulting in "empty" requests being sent to the RPM. Correct this so the entire message is transfered. Fixes: 50e1b29b4438 ("soc: qcom: smd: Remove use of VLAIS") Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 38dab9ac1c017e96dc98e978111e365134d41d13 Merge: f9793e3 1955621 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 18:49:44 2015 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input layer fixes from Dmitry Torokhov: - a change to the ALPS driver where we had limit the quirk for trackstick handling from being active on all Dells to just a few models - a fix for a build dependency issue in the sur40 driver - a small clock handling fixup in the LPC32xx touchscreen driver * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: alps - only the Dell Latitude D420/430/620/630 have separate stick button bits Input: sur40 - add dependency on VIDEO_V4L2 Input: lpc32xx_ts - fix warnings caused by enabling unprepared clock commit f9793e379bbb1188c72d8a367083290a14f98c97 Merge: 9b971e7 1266963 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 18:47:18 2015 -0700 Merge tag 'pci-v4.3-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI fix from Bjorn Helgaas: "Sorry for this last-minute update; it's been in -next for quite a while, but I forgot about it until I started getting ready for the merge window. It's small and fixes a way a user could cause a panic via sysfs, so I think it's worth getting it in v4.3. NUMA: - Prevent out of bounds access in sysfs numa_node override (Sasha Levin)" * tag 'pci-v4.3-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: PCI: Prevent out of bounds access in numa_node override commit 53dd186b3fb7254ae0cb4d6648abb5589aaa8c2d Merge: 4db7062 8f2279d Author: Olof Johansson <olof@xxxxxxxxx> Date: Sat Oct 31 01:41:45 2015 +0000 Merge tag 'omap-for-v4.3/fixes-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Two omap regression fixes: - Fix omap3 MUSB with DMA caused by driver core changes - Fix LCD DMA interrupt number for omap1 that did not get changed for sparse IRQ changes * tag 'omap-for-v4.3/fixes-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: usb: musb: omap2430: Fix regression caused by driver core change ARM: OMAP1: fix incorrect INT_DMA_LCD Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 980bbff018f64a22af0e75a12ee14cbfbc547e6a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Oct 28 10:39:55 2015 +0100 ARM64: juno: disable NOR flash node by default After discussing on the mailing list it turns out that accessing the flash memory from the kernel can disrupt CPU sleep states and CPU hotplugging, so let's disable this DT node by default. Setups that want to access the flash can modify this entry to enable the flash again. Quoting Sudeep Holla: "the firmware assumes the flash is always in read mode while Linux leaves NOR flash in "read id" mode after initialization." Reported-by: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Lorenzo Pieralisi <Lorenzo.Pieralisi@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Leif Lindholm <leif.lindholm@xxxxxxx> Cc: Ryan Harkin <ryan.harkin@xxxxxxxxxx> Fixes: 5078f77e1443 "ARM64: juno: add NOR flash to device tree" Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a40cf3f38881ce8543ceb9667150b4f2ead4c437 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Tue Oct 20 09:31:22 2015 +0200 ahci: Add Marvell 88se91a2 device id Add device id for Marvell 88se91a2 Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 0a142b26921c23ccdb6ef802d8047d02ad4cf0a7 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 30 17:09:35 2015 -0400 ahci: cleanup ahci_host_activate_multi_irqs With devm there is no need to explicitly free irqs on error. Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 899a63c3ebf3fad8723a432c1bba875ec3ef1948 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 30 17:09:30 2015 -0400 ahci: ahci_host_activate: kill IRQF_SHARED MSI messages are per-device, so there will never be another "shared" device in the interrupt chain. Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d72c0f430b19a7ee80d904a59c6c9a1c40e016cc Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Thu Oct 29 14:22:17 2015 +0800 devicetree: bindings: Fixed a few typos There is a few typos in Freescale QorIQ AHCI bindings, This patch fixes them. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 640847298e2b7f19e1376cf5a6fda0fce5d96fb2 Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Thu Oct 29 14:22:16 2015 +0800 ahci: qoriq: Disable NCQ on ls2080a SoC NCQ feature can't be used due to the erratum A-008473. This patch disables NCQ as a workaround. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d19f9aaf01341bd02da3aca3197751f52155551a Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Thu Oct 29 14:22:15 2015 +0800 ahci: qoriq: Rename LS2085A SoC support code to LS2080A Freescale is renaming the LS2085A SoC to LS2080A. This patch addresses the same. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f3c63795e90f0c6238306883b6c72f14d5355721 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 26 10:20:23 2015 -0700 mtd: blkdevs: fix potential deadlock + lockdep warnings Commit 073db4a51ee4 ("mtd: fix: avoid race condition when accessing mtd->usecount") fixed a race condition but due to poor ordering of the mutex acquisition, introduced a potential deadlock. The deadlock can occur, for example, when rmmod'ing the m25p80 module, which will delete one or more MTDs, along with any corresponding mtdblock devices. This could potentially race with an acquisition of the block device as follows. -> blktrans_open() -> mutex_lock(&dev->lock); -> mutex_lock(&mtd_table_mutex); -> del_mtd_device() -> mutex_lock(&mtd_table_mutex); -> blktrans_notify_remove() -> del_mtd_blktrans_dev() -> mutex_lock(&dev->lock); This is a classic (potential) ABBA deadlock, which can be fixed by making the A->B ordering consistent everywhere. There was no real purpose to the ordering in the original patch, AFAIR, so this shouldn't be a problem. This ordering was actually already present in del_mtd_blktrans_dev(), for one, where the function tried to ensure that its caller already held mtd_table_mutex before it acquired &dev->lock: if (mutex_trylock(&mtd_table_mutex)) { mutex_unlock(&mtd_table_mutex); BUG(); } So, reverse the ordering of acquisition of &dev->lock and &mtd_table_mutex so we always acquire mtd_table_mutex first. Snippets of the lockdep output follow: # modprobe -r m25p80 [ 53.419251] [ 53.420838] ====================================================== [ 53.427300] [ INFO: possible circular locking dependency detected ] [ 53.433865] 4.3.0-rc6 #96 Not tainted [ 53.437686] ------------------------------------------------------- [ 53.444220] modprobe/372 is trying to acquire lock: [ 53.449320] (&new->lock){+.+...}, at: [<c043fe4c>] del_mtd_blktrans_dev+0x80/0xdc [ 53.457271] [ 53.457271] but task is already holding lock: [ 53.463372] (mtd_table_mutex){+.+.+.}, at: [<c0439994>] del_mtd_device+0x18/0x100 [ 53.471321] [ 53.471321] which lock already depends on the new lock. [ 53.471321] [ 53.479856] [ 53.479856] the existing dependency chain (in reverse order) is: [ 53.487660] -> #1 (mtd_table_mutex){+.+.+.}: [ 53.492331] [<c043fc5c>] blktrans_open+0x34/0x1a4 [ 53.497879] [<c01afce0>] __blkdev_get+0xc4/0x3b0 [ 53.503364] [<c01b0bb8>] blkdev_get+0x108/0x320 [ 53.508743] [<c01713c0>] do_dentry_open+0x218/0x314 [ 53.514496] [<c0180454>] path_openat+0x4c0/0xf9c [ 53.519959] [<c0182044>] do_filp_open+0x5c/0xc0 [ 53.525336] [<c0172758>] do_sys_open+0xfc/0x1cc [ 53.530716] [<c000f740>] ret_fast_syscall+0x0/0x1c [ 53.536375] -> #0 (&new->lock){+.+...}: [ 53.540587] [<c063f124>] mutex_lock_nested+0x38/0x3cc [ 53.546504] [<c043fe4c>] del_mtd_blktrans_dev+0x80/0xdc [ 53.552606] [<c043f164>] blktrans_notify_remove+0x7c/0x84 [ 53.558891] [<c04399f0>] del_mtd_device+0x74/0x100 [ 53.564544] [<c043c670>] del_mtd_partitions+0x80/0xc8 [ 53.570451] [<c0439aa0>] mtd_device_unregister+0x24/0x48 [ 53.576637] [<c046ce6c>] spi_drv_remove+0x1c/0x34 [ 53.582207] [<c03de0f0>] __device_release_driver+0x88/0x114 [ 53.588663] [<c03de19c>] device_release_driver+0x20/0x2c [ 53.594843] [<c03dd9e8>] bus_remove_device+0xd8/0x108 [ 53.600748] [<c03dacc0>] device_del+0x10c/0x210 [ 53.606127] [<c03dadd0>] device_unregister+0xc/0x20 [ 53.611849] [<c046d878>] __unregister+0x10/0x20 [ 53.617211] [<c03da868>] device_for_each_child+0x50/0x7c [ 53.623387] [<c046eae8>] spi_unregister_master+0x58/0x8c [ 53.629578] [<c03e12f0>] release_nodes+0x15c/0x1c8 [ 53.635223] [<c03de0f8>] __device_release_driver+0x90/0x114 [ 53.641689] [<c03de900>] driver_detach+0xb4/0xb8 [ 53.647147] [<c03ddc78>] bus_remove_driver+0x4c/0xa0 [ 53.652970] [<c00cab50>] SyS_delete_module+0x11c/0x1e4 [ 53.658976] [<c000f740>] ret_fast_syscall+0x0/0x1c [ 53.664621] [ 53.664621] other info that might help us debug this: [ 53.664621] [ 53.672979] Possible unsafe locking scenario: [ 53.672979] [ 53.679169] CPU0 CPU1 [ 53.683900] ---- ---- [ 53.688633] lock(mtd_table_mutex); [ 53.692383] lock(&new->lock); [ 53.698306] lock(mtd_table_mutex); [ 53.704658] lock(&new->lock); [ 53.707946] [ 53.707946] *** DEADLOCK *** Fixes: 073db4a51ee4 ("mtd: fix: avoid race condition when accessing mtd->usecount") Reported-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit 8731b269f01e16193390c7276e70530366b8d626 Author: Maneet Singh <mmaneetsingh@xxxxxxxxxx> Date: Thu Oct 8 10:10:24 2015 -0400 drm: Correct arguments to list_tail_add in create blob ioctl Arguments passed to list_add_tail were reversed resulting in deletion of old blob property everytime the new one is added. Fixes commit e2f5d2ea479b9b2619965d43db70939589afe43a Author: Daniel Stone <daniels@xxxxxxxxxxxxx> Date: Fri May 22 13:34:51 2015 +0100 drm/mode: Add user blob-creation ioctl Signed-off-by: Maneet Singh <mmaneetsingh@xxxxxxxxxx> [seanpaul tweaked commit subject a little] Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxx # v4.2 Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxx> commit d01552a76d71f9879af448e9142389ee9be6e95b Author: NeilBrown <neilb@xxxxxxxx> Date: Sat Oct 31 11:00:56 2015 +1100 Revert "md: allow a partially recovered device to be hot-added to an array." This reverts commit 7eb418851f3278de67126ea0c427641ab4792c57. This commit is poorly justified, I can find not discusison in email, and it clearly causes a problem. If a device which is being recovered fails and is subsequently re-added to an array, there could easily have been changes to the array *before* the point where the recovery was up to. So the recovery must start again from the beginning. If a spare is being recovered and fails, then when it is re-added we really should do a bitmap-based recovery up to the recovery-offset, and then a full recovery from there. Before this reversion, we only did the "full recovery from there" which is not corect. After this reversion with will do a full recovery from the start, which is safer but not ideal. It will be left to a future patch to arrange the two different styles of recovery. Reported-and-tested-by: Nate Dailey <nate.dailey@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx (3.14+) Fixes: 7eb418851f32 ("md: allow a partially recovered device to be hot-added to an array.") commit 9ac0934bbe52290e4e4c2a58ec41cab9b6ca8c96 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 29 16:37:54 2015 +0300 drm: crtc: integer overflow in drm_property_create_blob() The size here comes from the user via the ioctl, it is a number between 1-u32max so the addition here could overflow on 32 bit systems. Fixes: f453ba046074 ('DRM: add mode setting support') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx # v4.2 Signed-off-by: Dave Airlie <airlied@xxxxxxxxx> commit 9b971e771ece3f3fa9c6074e5a12d9304e5fa9ef Merge: 7c0f488 73effcc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 16:57:55 2015 -0700 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Will Deacon: "Apologies for this being so late, but we've uncovered a few nasty issues on arm64 which didn't settle down until yesterday and the fixes all look suitable for 4.3. Of the four patches, three of them are Cc'd to stable, with the remaining patch fixing an issue that only took effect during the merge window. Summary: - Fix corruption in SWP emulation when STXR fails due to contention - Fix MMU re-initialisation when resuming from a low-power state - Fix stack unwinding code to match what ftrace expects - Fix relocation code in the EFI stub when DRAM base is not 2MB aligned" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64/efi: do not assume DRAM base is aligned to 2 MB Revert "ARM64: unwind: Fix PC calculation" arm64: kernel: fix tcr_el1.t0sz restore on systems with extended idmap arm64: compat: fix stxr failure case in SWP emulation commit 7c0f488fbed7e498043f26de42c89c00855028c1 Merge: 8a28d67 d305c47 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 16:56:44 2015 -0700 Merge tag 'please-pull-syscalls' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull ia64 kcmp syscall from Tony Luck: "Missed adding the kcmp() syscall a long time ago. Now it seems that it is essential to build systemd" * tag 'please-pull-syscalls' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: [IA64] Wire up kcmp syscall commit b8a9d66d043ffac116100775a469f05f5158c16f Author: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Date: Sat Oct 31 10:53:50 2015 +1100 md/raid5: fix locking in handle_stripe_clean_event() After commit 566c09c53455 ("raid5: relieve lock contention in get_active_stripe()") __find_stripe() is called under conf->hash_locks + hash. But handle_stripe_clean_event() calls remove_hash() under conf->device_lock. Under some cirscumstances the hash chain can be circuited, and we get an infinite loop with disabled interrupts and locked hash lock in __find_stripe(). This leads to hard lockup on multiple CPUs and following system crash. I was able to reproduce this behavior on raid6 over 6 ssd disks. The devices_handle_discard_safely option should be set to enable trim support. The following script was used: for i in `seq 1 32`; do dd if=/dev/zero of=large$i bs=10M count=100 & done neilb: original was against a 3.x kernel. I forward-ported to 4.3-rc. This verison is suitable for any kernel since Commit: 59fc630b8b5f ("RAID5: batch adjacent full stripe write") (v4.1+). I'll post a version for earlier kernels to stable. Signed-off-by: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Fixes: 566c09c53455 ("raid5: relieve lock contention in get_active_stripe()") Signed-off-by: NeilBrown <neilb@xxxxxxxx> Cc: Shaohua Li <shli@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.13 - 4.2 commit db7489e07669073970358b6cacf6a9dd8dc9275e Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Mon Aug 3 10:01:52 2015 -0700 IB/core, cma: Make __attribute_const__ declarations sparse-friendly Move the __attribute_const__ declarations such that sparse understands that these apply to the function itself and not to the return type. This avoids that sparse reports error messages like the following: drivers/infiniband/core/verbs.c:73:12: error: symbol 'ib_event_msg' redeclared with different type (originally declared at include/rdma/ib_verbs.h:470) - different modifiers Fixes: 2b1b5b601230 ("IB/core, cma: Nice log-friendly string helpers") Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5cfdedb7b9a0fe38aa4838bfe66fb9ebc2c9ce15 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Tue Aug 18 15:34:09 2015 +0000 mtd: ofpart: move ofpart partitions to a dedicated dt node Parsing direct subnodes of a mtd device as partitions is unreliable since the mtd device is also part of its bus subsystem and can contain bus data in subnodes. Move ofpart data to a subnode of its own so it is clear which data is part of the partition layout. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fe2585e9c29a650af26824684e5033757fd6bc0c Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Wed Oct 28 15:48:06 2015 -0700 doc: dt: mtd: support partitions in a special 'partitions' subnode To avoid conflict with other drivers using subnodes of the mtd device create only one ofpart-specific node rather than any number of arbitrary partition subnodes. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c23b613507b8fa10e1839fb5a42e1b0318bf1d27 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:21:20 2015 -0500 PCI: Fix sriov_enable() error path for pcibios_enable_sriov() failures Disable VFs if pcibios_enable_sriov() fails, just like we do for other errors in sriov_enable(). Call pcibios_sriov_disable() if virtfn_add() fails. [bhelgaas: changelog, split to separate patch for reviewability] Fixes: 995df527f399 ("PCI: Add pcibios_sriov_enable() and pcibios_sriov_disable()") Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> commit b390864482924a21f8d7e25636d0140de93fba7e Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:21:16 2015 -0500 PCI: Wait 1 second between disabling VFs and clearing NumVFs Per sec 3.3.3.1 of the SR-IOV spec, r1.1, we must allow 1.0s after clearing VF Enable before reading any field in the SR-IOV Extended Capability. Wait 1 second before calling pci_iov_set_numvfs(), which reads PCI_SRIOV_VF_OFFSET and PCI_SRIOV_VF_STRIDE after it sets PCI_SRIOV_NUM_VF. [bhelgaas: split to separate patch for reviewability, add spec reference] Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a39e3fcd72356e2bcb46fd99ec4e98064bd806b2 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:21:11 2015 -0500 PCI: Reorder pcibios_sriov_disable() Move pcibios_sriov_disable() up so it's defined before a future use. [bhelgaas: split to separate patch for reviewability] Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> commit 3443c38205330bc5783a516ef1d0b6f182ee9a85 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:21:05 2015 -0500 PCI: Remove VFs in reverse order if virtfn_add() fails If virtfn_add() fails, we call virtfn_remove() for any previously added devices. Remove the devices in reverse order (first-added is last-removed), which is more natural and doesn't require an additional variable. [bhelgaas: changelog, split to separate patch for reviewability] Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> commit 271bb1773b1eeff6153f1bba16ff0cff23f064b6 Author: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Date: Fri Oct 30 11:55:31 2015 +0530 bindings: mfd: s2mps11: Add documentation for s2mps15 PMIC Add dt-binding documentation for s2mps15 PMIC device. The s2mps15 device is similar to s2mps11/14 PMIC device and has 27 LDO and 10 buck regulators. This also supports RTC and three 32.768KHz clock outputs. Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 644a3746d9724bda20b7f306113262cdb292baae Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Oct 30 16:51:21 2015 +0900 mfd: sec-core: Remove unused s2mpu02-rtc and s2mpu02-clk children The commit 54e8827d5f0e ("mfd: sec-core: Add support for S2MPU02 device") added new MFD child devices for S2MPU02: RTC and clock provider (the clock provider with new compatible). However support for these devices was not added to existing drivers (rtc-s5m, clk-s2mps11). New drivers were not submitted neither. This means that the name of children devices is completely unused. The "samsung,s2mpu02-clk" compatible remains undocumented so it is unclear what is provided by that compatible. Clean up this by removing unused child devices and undocumented compatible. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5530ef113db1b473e8c400954c1f81546f9b2f69 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 16:01:56 2015 +0000 extcon: arizona: Add extcon specific device tree binding document Subsystem specific bindings for the Arizona devices are being factored out of the MFD binding document into separate documents for each subsystem. This patch adds a binding document that covers the existing extcon specific bindings. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f494993fc509f45b1be19c70a20452fd6e5cc14d Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 16:01:59 2015 +0000 MAINTAINERS: Add binding docs for Cirrus Logic/Wolfson Arizona devices Add device tree binding documentation for the Arizona drivers to the MAINTAINERS file. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f2f48a584dc7baec7735eef98dbb7c60cf18f734 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 16:01:58 2015 +0000 mfd: arizona: Remove bindings covered in new subsystem specific docs Binding documentation has been added in new subsystem specific binding documents. This patch removes the now duplicate documentation from the MFD documentation. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b487c17d5ff381943b7c9b6af992eec83ee5c5ee Author: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Date: Fri Oct 23 14:48:03 2015 +0900 mfd: rt5033: Add RT5033 Flash led sub device This patch adds rt5033-led sub device to support it. Signed-off-by: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ff0a04a699b9ea9b795208baff2ae727a6a3085a Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 21 12:41:48 2015 +0300 mfd: lpss: Add Intel Broxton PCI IDs Intel Broxton has the same LPSS block than Intel Sunrisepoint so add Broxton PCI IDs to the list. 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 6a636ec0ab19c64e83d1008a80606e1030a0c422 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 12:41:47 2015 +0300 mfd: lpss: Add Broxton ACPI IDs Intel Broxton has the same LPSS block than Intel Sunrisepoint so add Broxton ACPI IDs to the list. 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 a05950a4453fcfb136ee1eff0bd0a3cfb46a401e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Oct 19 13:18:05 2015 +0300 mfd: arizona: Signedness bug in arizona_runtime_suspend() The "jd_active" variable needs to be signed for the error handling to work. Fixes: 143e5887ae57 ('mfd: arizona: factor out checking of jack detection state') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4d1ea982a9beb4e47bba41131973329e2a012b38 Author: Anup Patel <anup.patel@xxxxxxxxxxxx> Date: Fri Oct 30 12:29:20 2015 +0530 mtd: brcmnand: Force 8bit mode before doing nand_scan_ident() Just like other NAND controllers, the NAND READID command only works in 8bit mode for all versions of BRCMNAND controller. This patch forces 8bit mode for each NAND CS in brcmnand_init_cs() before doing nand_scan_ident() to ensure that BRCMNAND controller is in 8bit mode when NAND READID command is issued. Signed-off-by: Anup Patel <anup.patel@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f06d2a912b55c53e9efbd799f7205dbfe041029 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Oct 30 12:29:19 2015 +0530 mtd: brcmnand: factor out CFG and CFG_EXT bitfields Use enum instead of magic numbers for CFG and CFG_EXT bitfields. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Anup Patel <anup.patel@xxxxxxxxxxxx> commit 9d6c243502b7f0a9696bc6fe5b473e40d8478d28 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Oct 26 10:45:08 2015 -0700 backlight: pm8941-wled: Add default-brightness property Default the brightness to 2048 and add possibility to override this in device tree. Suggested-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8fb2b9ac2aadd6d87f89071c2c85f8c12b41c943 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 21 11:49:09 2015 +0300 thermal: underflow bug in imx_set_trip_temp() We recently changed this from unsigned long to int so it introduced an underflow bug. Fixes: 17e8351a7739 ('thermal: consistently use int for temperatures') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit d1482fb335b8f3f5e667df72b043c5b3d9d03106 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Oct 31 02:43:16 2015 +0900 ALSA: firewire-digi00x: add another rawmidi character device for MIDI control ports Digi 002/003 family uses two ways to transfer MIDI messages. They're different mechanisms, while it's better to handle the ways in different ALSA rawmidi character devices because one character device has just a set of operations. This commit adds another rawmidi character device for control MIDI port. As a result, first rawmidi character device is just for MIDI messages transferred by isochronous packets. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c5fcee0373b390ab8508022951eabd0bd0e06a48 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Oct 31 02:43:15 2015 +0900 ALSA: firewire-digi00x: add MIDI operations for MIDI control port Digi 002/003 family has two types of MIDI port; one is for physical MIDI port and another is for MIDI control message. The former is transferred in isochronous packet, and the latter is transferred by asynchronous transaction. These transmission mechanisms are completely different, while current ALSA digi00x driver defines a set of operations for them with several condition statements. As a result, codes for the operation are messy. This commit adds a set of MIDI operation for control MIDI ports. In later commit, it's applied as an operation for ALSA rawmidi character device. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5918f962207329089371d87adbd033830d3f5cf5 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Oct 31 02:43:14 2015 +0900 ALSA: firewire-digi00x: rename identifiers of MIDI operation for physical ports In following commit, new functions and variables are added for operations of MIDI control port. This commit is a preparation. Current identifiers are renamed so that they mean physical MIDI ports. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b56100db5b057fef889a73cb66c24633696d188b Author: Nadav Haklai <nadavh@xxxxxxxxxxx> Date: Thu Aug 6 18:03:49 2015 +0200 thermal: armada: Fix possible overflow in the Armada 380 thermal sensor formula Update the coefficients so the calculation will not overrun the unsigned long 32bits boundary Signed-off-by: Nadav Haklai <nadavh@xxxxxxxxxxx> Reviewed-by: Victor Axelrod <victora@xxxxxxxxxxx> Reviewed-by: Neta Zur Hershkovits <neta@xxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit bae818ee1577c27356093901a0ea48f672eda514 Author: Ronny Hegewald <ronny.hegewald@xxxxxxxxx> Date: Thu Oct 15 18:50:46 2015 +0000 rbd: require stable pages if message data CRCs are enabled rbd requires stable pages, as it performs a crc of the page data before they are send to the OSDs. But since kernel 3.9 (patch 1d1d1a767206fbe5d4c69493b7e6d2a8d08cc0a0 "mm: only enforce stable page writes if the backing device requires it") it is not assumed anymore that block devices require stable pages. This patch sets the necessary flag to get stable pages back for rbd. In a ceph installation that provides multiple ext4 formatted rbd devices "bad crc" messages appeared regularly (ca 1 message every 1-2 minutes on every OSD that provided the data for the rbd) in the OSD-logs before this patch. After this patch this messages are pretty much gone (only ca 1-2 / month / OSD). Cc: stable@xxxxxxxxxxxxxxx # 3.9+, needs backporting Signed-off-by: Ronny Hegewald <Ronny.Hegewald@xxxxxxxxx> [idryomov@xxxxxxxxx: require stable pages only in crc case, changelog] Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> commit 84866ee5818e95f6e97194656777c10ac24cb9d3 Author: Bai Ping <b51503@xxxxxxxxxxxxx> Date: Mon Sep 14 19:09:51 2015 +0800 thermal: imx: register irq handler later in probe The irq handler should be registered after the tempmon module has been initialized in a known state and the thermal_zone and cpu_cooling device have been registered successfully. Otherwise, if the irq is triggled earlier before thermal probe has been finished, it may lead to 'NULL' pointer kernel panic. Signed-off-by: Bai Ping <b51503@xxxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 452e01b3dbb54f743a200c722981ced169888860 Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Fri Aug 7 14:00:52 2015 -0700 thermal: rockhip: fix setting thermal shutdown polarity When requested thermal shutdown signal polarity is low we need to make sure that the bit representing high level of signal is reset, and not set all other bits in that register. Also rename TSADCV2_INT_PD_CLEAR to TSADCV2_INT_PD_CLEAR_MASK to better reflect its nature. Acked-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit d9a241cbbdca9ead3322c073dbb9dbf61ac76ef0 Author: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Date: Fri Aug 7 13:59:23 2015 -0700 thermal: rockchip: fix handling of invalid readings We attempted to signal invalid code by returning -EAGAIN from rk_tsadcv2_code_to_temp(), unfortunately the return value was stuffed directly into the temperature pointer, potentially confusing upper layers with temperature of -EINVAL. Let's split temperature from error/success indicator to avoid such confusion. Also change the way we scan the temperature table to start with the 2nd element so that we do not need to worry that we may reference out of bounds element while doing binary search and keep checking that we end up with 'mid' equal to 0 (since we are looking for the temperature that would fall into interval between the 'mid' and 'mid - 1') . Tested-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 510bd068db34b946a067629679c5cc99c8b99f1e Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Oct 28 12:05:27 2015 +0900 of: simplify arch_find_n_match_cpu_physical_id() function This commit does not change the function behavior. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 794fab7d785a2fb5b3f1777619143a8e72955eac Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Fri Oct 30 09:51:27 2015 -0700 Documentation: arm: Fixed typo in socfpga fpga mgr example Addresses should not be prefixed contain '0x' in nodes. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 71a0151c5c82595b58c21b4dd5c07482d8a3d554 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Oct 21 11:09:59 2015 +0100 Documentation: devicetree: fix reference to legacy wakeup properties This patch marks all the reference to the legacy wakeup bindings and replaces them with the standard "wakeup-source" property. All these legacy property are also listed under a separate section in the generic wakeup-source binding document. Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit a68eee4c748c006daae6b06c9c5bb85be77724f6 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Oct 21 11:09:58 2015 +0100 Documentation: devicetree: standardize/consolidate on "wakeup-source" property Currently different drivers use multiple forms of annotating devices that should be set up as wakeup sources for the system. This patch adds a separate binding document inorder to standardize and consolidate to use "wakeup-source" boolean property to mark the devices as wakeup capable. Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 9876b1a4431a3f0959c70e1d817ecab6440cb2e6 Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Sep 10 18:09:31 2015 +0100 devfreq_cooling: add trace information Tracing is useful for debugging and performance tuning. Add similar traces to what's present in the cpu cooling device. Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 2bcdcbfae2895764372ef973a969f395a548f1ea Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Aug 24 14:47:10 2015 +0200 drm/tegra: dc: Request/free syncpoint at init/exit syncpoints are resources provided by host1x and their lifetime is tied to the host1x device. They are not properly reference counted either, so removing the host1x device before any of its clients causes a use-after- free error. Adding proper reference counting would be a major enterprise so work around it for now by requesting and freeing the syncpoint at init and exit time, respectively. The host1x device is guaranteed to be around at this point. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit f1811a8a641329d0dada7c4db7e29ce5ae32a10b Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Aug 21 19:05:39 2015 +0800 drm/bridge: ptn3460: Fix coccinelle warnings The platform_no_drv_owner.cocci coccinelle script generates the following warning: drivers/gpu/drm/bridge/nxp-ptn3460.c:403:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically. Patch generated by scripts/coccinelle/api/platform_no_drv_owner.cocci. Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ab0162b8fd338efad23b9d6fa6a0d2a0ff5e416f Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Fri Aug 21 19:05:39 2015 +0800 drm/bridge: ps8622: Fix coccinelle warnings The platform_no_drv_owner.cocci coccinelle script generates the following warning: drivers/gpu/drm/bridge/parade-ps8622.c:671:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically. Patch generated by scripts/coccinelle/api/platform_no_drv_owner.cocci. Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a76caf55e5b356ba20a5a43ac4d9f7a04b20941d Author: Ã?rjan Eide <orjan.eide@xxxxxxx> Date: Thu Sep 10 18:09:30 2015 +0100 thermal: Add devfreq cooling Add a generic thermal cooling device for devfreq, that is similar to cpu_cooling. The device must use devfreq. In order to use the power extension of the cooling device, it must have registered its OPPs using the OPP library. Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Ã?rjan Eide <orjan.eide@xxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit e56e5ad67d15f775537f1259527f1ad5796da012 Author: Borun Fu <borun.fu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:16:26 2015 +0800 mfd: axp20x: Add a cell for the power button part of the, axp288 PMICs This patch adds the mfd cell info for axp288 power key device. Signed-off-by: Borun Fu <borun.fu@xxxxxxxxxxxxxxx> Signed-off-by: Fei Yang <fei.yang@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8c1065801cedec9272c29c39e95cdf7904373422 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Oct 7 09:44:40 2015 +0900 mfd: dt-bindings: Document pulled down WRSTBI pin on S2MPS1X Document a new Device Tree property 'samsung,s2mps11-wrstbi-ground' indicating that WRSTBI pin of S2MPS13 PMIC is pulled down so corresponding buck warm reset function should be disabled. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8a97d4287e2659f3460a8dec61ccc935154726c0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Oct 7 09:44:41 2015 +0900 mfd: sec-core: Disable buck voltage reset on watchdog falling edge The WRSTBI bit (disabled by default but enabled by bootloader), when set, is responsible for resetting voltages to default values of certain bucks on falling edge of Warm Reset Input pin from AP. However on some boards (with S2MPS13) the pin is pulled down so any suspend will effectively trigger the reset of bucks supplying the power to the little and big cores. In the same time when resuming, these bucks must provide voltage greater or equal to voltage before suspend to match the frequency chosen by cpufreq. If voltage (default value of voltage after reset) is lower than one set by cpufreq before suspend, then system will hang during resuming. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reported-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Tested-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c2c9f1fe4bf2d6597bbaaab7514d9c9092b5b2f6 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Oct 7 09:44:39 2015 +0900 mfd: sec-core: Dump PMIC revision to find out the HW There are different revisions of the same chipset. For example S2MPS13 has more than 2 revisions. They differ slightly in regulator constraints. Print the revision number to easily find which PMIC is used on the board. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2e44e28ad2628cd29a4829ffab06fe7e3b79469c Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:15 2015 +0100 mfd: arizona: Use correct type ID for device tree config In the case of a device tree config the code uses the device ID from the DT entry to check which codec is required but when storing the ID into struct arizona it was always using the non-DT SPI device table to get an ID. This patch changes the code to store the correct ID into struct arizona. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b61c1ec058dabdcbddad7436bb4c009a8fa65b02 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:14 2015 +0100 mfd: arizona: Remove use of codec build config #ifdefs Remove the use of #ifdefs around each case statement of the chip ID and type validation switches. We must ensure that the contained code still compiles to nothing if support for that codec was not built into the kernel, to prevent creation of link references to missing functions. So the ifdefs are replaced with a use of the IS_ENABLED() macro. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ae05ea36d1c9bdc76a4539277d96f5bdf3d39f02 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:13 2015 +0100 mfd: arizona: Simplify adding subdevices The code was using a switch on the code type to execute one of several mfd_add_devices() calls. We're already switching on the code type earlier in the function to select the correct patch function so we can roll selection of the mfd device table into the same switch. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 161ad30bd2ec4be7269b2f8748fa4e5d5847191e Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:12 2015 +0100 mfd: arizona: Downgrade type mismatch messages to dev_warn If the declared codec type doesn't match the detected type we issue a log message but carry on registering the device, so a dev_warn() is appropriate rather than a dev_err() Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e3424273545bef85ebf959c90091d60ba3fc2efc Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:11 2015 +0100 mfd: arizona: Factor out checking of jack detection state Currently runtime_suspend will fully power off the codec if the jack detection is not enabled. Not all future codecs will have jack detection so to prepare for these codecs this patch factors out the check so that it be called as needed in the existing codec-specific switch cases. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e7811147aafb3d6364b8d60223cbe6c323cdf725 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 13:29:10 2015 +0100 mfd: arizona: Factor out DCVDD isolation control Currently DCVDD isolation is enabled and disabled for runtime_suspend and runtime_resume. Future codecs will not have the isolation control so to prepare for these codecs this patch factors out the isolation control allowing it to be called as needed in the existing codec-specific switch cases. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 18eb3f041addcdf8ef4a4b80547a67557c8826d6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Oct 7 09:18:04 2015 +0800 mfd: Make TPS6105X select REGMAP_I2C This is required since commit 7e5071199355 ("mfd: tps6105x: Use i2c regmap to access registers"). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0a27186448f17cb1b6734bb302cc1299008e91e9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Oct 7 17:58:48 2015 +0530 mfd: lm3533: Fix unused variable build warning We were getting build warning about unused variable 'ret'. The commit c749db571dcf has removed the use of ret but missed removing the variable which is unused now. Fixes: c749db571dcf ("mfd: lm3533: Simplify function return logic") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ce6a5acc93876f619f32f8f60c7c6e549e46d962 Author: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Date: Mon Jun 29 09:19:39 2015 +0800 mfd: rtsx: Add support for rts522A rts522a(rts5227s) is derived from rts5227, and mainly same with rts5227. Add it to file mfd/rts5227.c to support this chip. Signed-off-by: Micky Ching <micky_ching@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6f44b14870520e2758b758cc3b3b4c09c4b715ab Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Oct 9 18:22:03 2015 +0800 mfd: da9062-core: Rename get_device_type to da9062_get_device_type Rename get_device_type() to da9062_get_device_type(). This function is only used in this file so make it static. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5349ca11ca33dd393539024b613ef352d24cbb51 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 12 17:26:07 2015 +0100 mfd: Kconfig: Compile MFD_STW481X with COMPILE_TEST The driver depends on ARCH_NOMADIK but there isn't a build dependency so it's a good idea to allow the driver to always be built when the COMPILE_TEST option is enabled. That way, the driver can be built with a config generated by make allyesconfig and check if a patch would break the build. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0386af30d3d99d942dd68a8c64beb4f03958e74f Author: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Thu Oct 8 16:17:51 2015 +0100 mfd: da9053: Addition of extra registers for GPIOs 8-13 Definitions for GPIO registers 8, 9, 10, 11, 12 and 13 are added into the register header file. - DA9052_GPIO_8_9_REG 25 - DA9052_GPIO_10_11_REG 26 - DA9052_GPIO_12_13_REG 27 A modification is also made to the MFD core code to define these registers as readable and writable. The functions for da9052_reg_readable() and da9052_reg_writeable() have had their case statements altered to include these new registers. Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5c41f11c625e6860b00e58c237dd03a89a8beccc Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Mon Sep 28 11:13:26 2015 +0200 mfd: atmel-flexcom: Add a driver for Atmel Flexible Serial Communication Unit This driver supports the new Atmel Flexcom. The Flexcom is a wrapper which integrates one SPI controller, one I2C controller and one USART. Only one function can be enabled at a time. This driver selects the function once for all, when the Flexcom is probed, according to the value of the new "atmel,flexcom-mode" device tree property. This driver has chosen to present the Flexcom to the system as a MFD so the implementation is seamless for the existing Atmel SPI, I2C and USART drivers. Also the Flexcom embeds FIFOs: the latest patches of the SPI, I2C and USART drivers take advantage of this new feature. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c335bd5da0054245dfab0ddc8f08bc67a146cc43 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Mon Sep 28 11:13:25 2015 +0200 mfd: devicetree: Add bindings for Atmel Flexcom This patch documents the DT bindings for the Atmel Flexcom which will be introduced by sama5d2x SoCs. These bindings will be used by the actual Flexcom driver to be sent in another patch. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8343284d61a3e71812b116867dab00a170964630 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Mon Sep 28 11:13:24 2015 +0200 mfd: atmel-flexcom: Create include file with macros used by DT bindings This patch defines some macros to be used as value for the "atmel,flexcom-mode" DT property. This value is then written into the Operating Mode (OPMODE) bit field of the Flexcom Mode Register. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f3a654c5198b1de3e6241ab6a9d5c52295504970 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 28 12:56:36 2015 +0300 mfd: intel_soc_pmic_bxtwc: 64 bit bug in bxtwc_val_store() The call to kstrtoul() will corrupt memory on 64 bit systems because an int is 4 bytes and a long is 8. Also it's not a good idea to let users trigger a dev_err() because it just ends up flooding /var/log/messages so I removed the printk. Fixes: 2ddd2086ea9c ('mfd: add Intel Broxton Whiskey Cove PMIC driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ad698ea425f90e4d09694c2cf7155cad4d7badb3 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:07 2015 +0200 mfd: da9052: Simplify function return logic The invoked functions already return zero on success or a negative errno code so there is no need to open code the logic in the caller. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a1c16d71bceec404573ee4ff712f3dc0e58d31c8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:08 2015 +0200 mfd: lm3533: Simplify function return logic The invoked functions already return zero on success or a negative errno code so there is no need to open code the logic in the caller. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5597da29496317fbcfe4db9f8b65fa8645d4cbed Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:06 2015 +0200 mfd: da903x: Simplify function return logic The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b158b69a37651b20a0e68f89cf118461e7de4872 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:05 2015 +0200 mfd: rtsx: Simplify function return logic The invoked functions already return zero on success or a negative errno code so there is no need to open code the logic in the caller. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d8498df1e40e5a232ebe1f1b33edb34887f6a037 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:04 2015 +0200 mfd: kempld-core: Simplify function return logic The invoked functions already return zero on success or a negative errno code so there is no need to open code the logic in the caller. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d6d007429f21626ad0f9cf96589151e0746f5648 Author: Javi Merino <javi.merino@xxxxxxx> Date: Thu Sep 10 18:09:29 2015 +0100 PM / OPP: get the voltage for all OPPs The OPP library is now used for power models to calculate the power that a device would consume at a specific OPP. To do that, we use a simple power model which takes frequency and voltage as inputs. We get the voltage and frequency from the OPP library. The devfreq cooling device for the thermal framework controls temperature by disabling OPPs. The power model needs to calculate the power that would be consumed if we reenabled the OPP. Therefore, let dev_pm_opp_get_voltage() work for disabled OPPs. Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit e7238fd2554ebfbc2611ae5c7e58d4cd76f276dc Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:03 2015 +0200 mfd: pcf50633: Remove unneded ret variable The ret variable is not needed since is not used in the function. Remove the variable and just return 0 instead. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a260fba1158241d168bf14eb7cd1176b29ad263c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:02 2015 +0200 mfd: arizona: Remove unneded ret variable The ret variable is not needed since is not used in the function. Remove the variable and just return 0 instead. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a48baac52aab9b017fb79f27795e69193e0f1d24 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 13:26:01 2015 +0200 mfd: htc-i2cpld: Remove unneded ret variable The ret variable is not needed since is not used in the function. Remove the variable and just return 0 instead. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ea50e9d3c44b3830eb25286fda5d9f83a68141cf Author: Grigoryev Denis <grigoryev@xxxxxxxxxx> Date: Fri Sep 25 16:57:09 2015 +0000 mfd: tps6105x: Fix possible NULL pointer access tps6105 driver provides two cells. One is for GPIO and another one is for selected mode depending on platform data. When tps6105x is used in GPIO-only mode, this driver calls mfd_add_devices() with mfd_cell .name == NULL. This value causes an oops in platform_device_register() later. The following patch adds a mfd_cell for each possible mode thereby excluding .name assignment in runtime. Signed-off-by: Denis Grigoryev <grigoryev@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ced7e09355cd7f4434eb2c34c4fae450c2fee0e7 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Sep 25 13:39:13 2015 +0100 mfd: qcom_rpm: Drop use of IRQF_NO_SUSPEND flag The driver handles wakeup irq correctly using irq_set_irq_wake. There's no need to use IRQF_NO_SUSPEND while registering the interrupt. This patch removes the use of IRQF_NO_SUSPEND flag. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 50346a1f1419250c2c7c1349757ef4e93136eef2 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Sep 25 18:09:52 2015 +0100 MAINTAINERS: Remove Samuel Ortiz as MFD Maintainer Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 79ae6bb15945f9b7f3e91db3d68f1b77c4b1451c Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Sep 25 17:31:12 2015 +0100 platform: x86: PMC IPC depends on ACPI This patch solves: on x86_64: when CONFIG_ACPI is not enabled: ../drivers/mfd/intel_soc_pmic_bxtwc.c: In function 'bxtwc_probe': ../drivers/mfd/intel_soc_pmic_bxtwc.c:342:2: error: implicit declaration of function 'acpi_evaluate_integer' [-Werror=implicit-function-declaration] status = acpi_evaluate_integer(handle, "_HRV", NULL, &hrv); ^ Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5b855ff3f7d3f95c8c06e690d61ee3e0eddaec90 Author: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Date: Mon Sep 21 10:38:21 2015 -0300 bindings: mfd: cros ec: Document vbc EC property Some EC implementations include a small nvram space used to store verified boot context data. This boolean property lets us indicate whether this space is available or not on a specific EC implementation. Signed-off-by: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3dab794f50451fa910d6a8d4d002c4ecda3cc1f5 Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Tue Sep 22 19:04:24 2015 -0500 mfd: lpc_ich: Separate device cells for clarity The lpc_ich_cells array gives the wrong impression about the relationship between the watchdog and GPIO devices. They are completely distinct devices, so this patch separates the array into distinct mfd_cell structs per device. A side effect of removing the array, is that the lpc_cells enum is no longer needed. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 39d047c0b1c812e9f0014e7100e372e61f2de3de Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Tue Sep 15 00:39:19 2015 +0800 mfd: add Intel Broxton Whiskey Cove PMIC driver Add MFD core driver for Intel Broxton Whiskey Cove PMIC, which is specially accessed by hardware IPC, not a generic I2C device Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6bb3b3acc3d096b938887c90f4bb19a639b99852 Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Tue Sep 15 00:39:18 2015 +0800 mfd: intel_soc_pmic: Add support for Broxton WC PMIC IRQ control registers of Intel Broxton Whisky Cove PMIC are separated in two parts, so add secondary IRQ chip. And the new member of device will be used in PMC IPC regmap APIs. Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0b13ea8e2661822960b59924b02b4a0ebcf22149 Author: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Date: Tue Oct 27 09:12:01 2015 +0530 drivers: of: removing assignment of 0 to static variable no need to initialise static variable with 0, hence correcting it. Signed-off-by: Saurabh Sengar <saurabh.truth@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit a5f4185c4b8c131c0ccafa6b1b00cd4e5413e47e Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Thu Oct 15 15:42:17 2015 +0200 drm/imx: hdmi: fix HDMI setup to allow modes larger than FullHD This worked before the dw-hdmi bridge code was changed to validate the setup data more strictly. Add back support for modes with a pixel clock up to 216MHz. Even higher clocks should work, but we are missing the required setup data for now. Also change the mode validate callbacks to disallow modes with higher pixelclocks, so we don't end up failing the modeset later on. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 9b6d0d33c848661c859ccee331b9d2c2ba74489b Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:48 2015 +0200 gpu: ipu-v3: fix div_ratio type The variable can be negative. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 3e8b2246c36f4a340febc97d140db5dd727bb3c6 Author: Philippe De Muyter <phdm@xxxxxxxxx> Date: Fri Sep 18 15:41:55 2015 +0200 gpu: ipu-v3: csi: add support for 8 bpp grayscale sensors. Enable the MEDIA_BUS_FMT_Y8_1X8 format. Signed-off-by: Philippe De Muyter <phdm@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit cb166a302589f1494a62b6f1ca108fddb3925e31 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Tue Aug 4 17:22:06 2015 +0200 drm/imx: enable ARGB4444 16-bit color format This patch allows to use the ARGB4444 color format on planes. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7d2e8a204aa04b83aca2beb5f1441262c3aa26c8 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Tue Aug 4 17:21:04 2015 +0200 gpu: ipu-v3: add support for ARGB4444 16-bit color format This patch adds support for the ARGB4444 color format. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 59d6b7189a968d627af37fc26a410dced0854b99 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Apr 16 15:56:40 2015 +0200 drm/imx: ipuv3-plane: enable support for RGBX8888 and RGBA8888 pixel formats This patch allows to use the RGBX and RGBA 8:8:8:8 formats. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 067f4aa402ac2c41e70e25abda97af30333d9581 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Apr 16 15:27:04 2015 +0200 gpu: ipu-v3: add support for RGBX8888 and RGBA8888 pixel formats This patch adds support for the RGBA8888, RGBX8888, BGRA8888, and BGRX8888 in-memory formats. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit c639a1cfc4930684300860abdac5ebcb619523ea Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Dec 12 13:40:38 2014 +0100 drm/imx: enable 15-bit RGB with 1-bit alpha formats This patch enables the ARGB1555, ABGR1555, RGBA5551, and BGRA5551 formats to be used on planes. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 0cb8b75792d6b752df945993cc5d455c75bf6884 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Dec 12 13:40:14 2014 +0100 gpu: ipu-v3: add support for 15-bit RGB with 1-bit alpha formats This patch adds support for ARGB1555, ABGR1555, RGBA5551, and BGRA5551 in-memory formats. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit ef739aa4c68be8a05b7f0b91cf87747acbe0b424 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jun 19 16:22:38 2015 +0200 MAINTAINERS: Add IPUv3 core driver to the i.MX DRM driver section The ipu-v3 core driver is maintained in and merged through the same trees as the imx-drm drivers that are using it. This patch adds the drivers/gpu/ipu-v3/ directory to the i.MX DRM driver section. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 6dd0d0e1ae7f3e129c6943cd351d47d194bde238 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat May 9 13:08:25 2015 -0300 gpu: ipu-v3: ipu-csi: bool test doesn't need a comparison to false Bool initializations should use true and false. Bool tests don't need comparisons. Based on contributions from Joe Perches, Rusty Russell and Bruce W Allan. The semantic patch that makes this change is available in scripts/coccinelle/misc/boolinit.cocci. More information about semantic patching is available at http://coccinelle.lip6.fr/ Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit aa644fa64c25ab2231a0fa9464892f5579d4e161 Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Mon Oct 19 17:55:49 2015 +0100 ARM64: Enable multi-core scheduler support by default Make sure that the task scheduler domain hierarchy is set-up correctly on systems with single or multi-cluster topology. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Acked-by: Punit Agrawal <punit.agrawal@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit bf457786f569cc480629d7855cac1fd1173ac009 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Oct 23 16:48:14 2015 +0200 arm64/efi: move arm64 specific stub C code to libstub Now that we added special handling to the C files in libstub, move the one remaining arm64 specific EFI stub C file to libstub as well, so that it gets the same treatment. This should prevent future changes from resulting in binaries that may execute incorrectly in UEFI context. With efi-entry.S the only remaining EFI stub source file under arch/arm64, we can also simplify the Makefile logic somewhat. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Tested-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c8a8067f7d66bf77a0627e0b237b0b4486862a73 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 11 15:38:43 2015 +0200 drm/tegra: fb: Remove gratuituous blank line This was introduced by mistake in commit 0f7d9052fb70 ("drm/tegra: Use new drm_fb_helper functions"). Remove it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 16bd5865cdb3b190105db21bd22a0ca0501e7b20 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Thu Oct 29 15:34:55 2015 +0530 hsi: controllers:remove redundant code Use devm_ioremap_resource() in order to make the code simpler, and remove redundant return value check of platform_get_resource() because this value is alreadytaken care by devm_ioremap_resource() Signed-off-by: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 50224f4d0959981ed03c407af1f35ed7917ae097 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Oct 30 07:52:39 2015 -0700 hwmon: (nct6775) Introduce separate temperature labels for NCT6792 and NCT6793 NCT6792 and NCT6793 are mostly register compatible to NCT6791, but temperature sources are different and difficult to manage with a single temperature label array. Introduce separate temperature label arrays for those chips to reflect the differences. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9a38371a8cda366400e592d10bc062deea09b695 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Aug 29 15:29:25 2015 -0700 hwmon: (nct6775) NCT6791D and NCT6792D have an additional temperature source Both NCT6791D and NCT6792D permit selection of a 'virtual' temperature register as temperature source. The virtual temperature registers are registers 0xea to 0xef in bank 0 and can be written by software. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 562b103a21974c2f9cd67514d110f918bb3e1796 Author: Marek Vasut <marex@xxxxxxx> Date: Fri Oct 30 13:48:19 2015 +0100 can: Use correct type in sizeof() in nla_put() The sizeof() is invoked on an incorrect variable, likely due to some copy-paste error, and this might result in memory corruption. Fix this. Signed-off-by: Marek Vasut <marex@xxxxxxx> Cc: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Cc: linux-stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 8c53e8ed009c68e9a1fdeaf3d36e094db7a262a6 Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Fri Oct 2 11:25:07 2015 +0100 PCI: rcar: Fix I/O offset for multiple host bridges Fix I/O offset for multiple host bridges. Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 42175a35534aab13016297fb48763e9f1126a0ab Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Fri Oct 2 11:25:06 2015 +0100 PCI: rcar: Set root bus nr to that provided in DT On ARM64, setting the root bus number to -1 causes probe failure. Moreover, we should use the bus number specified in the DT as we could have multiple PCIe controllers with different bus ranges. Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 79953dd22c1dfe38196485b53987466b048b8cc2 Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Fri Oct 2 11:25:05 2015 +0100 PCI: rcar: Remove dependency on ARM-specific struct hw_pci The R-Car PCIe 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. Based on 499733e0cc1a ("PCI: generic: Remove dependency on ARM-specific struct hw_pci"). Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d0c3f4dbd20205529be1c0e0de618ce3fdaac844 Author: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Date: Fri Oct 2 11:25:04 2015 +0100 PCI: rcar: Make PCI aware of the I/O resources Make PCI aware of the I/O resources. Signed-off-by: Phil Edworthy <phil.edworthy@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7c537c67d2e4860cf22c077c80928f16089ad0cc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 30 08:13:42 2015 -0500 PCI: rcar: Build pcie-rcar.c only on ARM The pcie-rcar.c driver (controlled by PCI_RCAR_GEN2_PCIE) uses struct pci_sys_data and pci_ioremap_io(), which only exist on ARM. Building it on other arches, e.g., arm64/shmobile, causes errors like this: drivers/pci/host/pcie-rcar.c:138:52: warning: 'struct pci_sys_data' declared inside parameter list drivers/pci/host/pcie-rcar.c:380:4: error: implicit declaration of function 'pci_ioremap_io' [-Werror=implicit-function-declaration] Build pcie-rcar.c only on ARM. [bhelgaas: changelog, split to separate pci-rcar-gen2 from pcie-rcar] Reported-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> (pci_ioremap_io()) Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 6cbfeae703276c06955318f3ea3d2b933776640c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 30 08:08:17 2015 -0500 PCI: rcar: Build pci-rcar-gen2.c only on ARM The pci-rcar-gen2.c driver (controlled by PCI_RCAR_GEN2) uses struct pci_sys_data, which only exists on ARM. Building it on other arches, e.g., arm64/shmobile, causes errors like this: drivers/pci/host/pci-rcar-gen2.c: In function 'rcar_pci_cfg_base': drivers/pci/host/pci-rcar-gen2.c:112:34: error: dereferencing pointer to incomplete type struct rcar_pci_priv *priv = sys->private_data; ^ Build pci-rcar-gen2.c only on ARM. [bhelgaas: changelog, split to separate pci-rcar-gen2 from pcie-rcar] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit e7b63ff115f21ea6c609cbb08f3d489af627af6e Merge: a493bcf cb866e3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 20:51:56 2015 +0900 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-10-30 1) The flow cache is limited by the flow cache limit which depends on the number of cpus and the xfrm garbage collector threshold which is independent of the number of cpus. This leads to the fact that on systems with more than 16 cpus we hit the xfrm garbage collector limit and refuse new allocations, so new flows are dropped. On systems with 16 or less cpus, we hit the flowcache limit. In this case, we shrink the flow cache instead of refusing new flows. We increase the xfrm garbage collector threshold to INT_MAX to get the same behaviour, independent of the number of cpus. 2) Fix some unaligned accesses on sparc systems. From Sowmini Varadhan. 3) Fix some header checks in _decode_session4. We may call pskb_may_pull with a negative value converted to unsigened int from pskb_may_pull. This can lead to incorrect policy lookups. We fix this by a check of the data pointer position before we call pskb_may_pull. 4) Reload skb header pointers after calling pskb_may_pull in _decode_session4 as this may change the pointers into the packet. 5) Add a missing statistic counter on inner mode errors. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75ecc64ef5a1f310fc80f732ad8cfb7e1bdc59d5 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 30 12:30:06 2015 +0100 i2c: rcar: Revert the latest refactoring series This whole series caused sometimes timeouts and even OOPSes on some r8a7791 Koelsch boards. We need to understand and fix those first. Revert "i2c: rcar: clean up after refactoring" Revert "i2c: rcar: revoke START request early" Revert "i2c: rcar: check master irqs before slave irqs" Revert "i2c: rcar: don't issue stop when HW does it automatically" Revert "i2c: rcar: init new messages in irq" Revert "i2c: rcar: refactor setup of a msg" Revert "i2c: rcar: remove spinlock" Revert "i2c: rcar: remove unused IOERROR state" Revert "i2c: rcar: rework hw init" Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit a493bcf8d6caf28f062c5f8f2ba486fdbf1ae899 Merge: e258d91 8aaa878 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 20:38:24 2015 +0900 Merge tag 'wireless-drivers-next-for-davem-2015-10-29' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== iwlwifi * bug fix for TDLS * fixes and cleanups in scan * support of several scan plans * improvements in FTM * fixes in FW API * improvements in the failure paths when the bus is dead * other various small things here and there ath10k * add QCA9377 support * fw_stats support for 10.4 firmware ath6kl * report antenna configuration to user space * implement ethtool stats ssb * add Kconfig SSB_HOST_SOC for compiling SoC related code * move functions specific to SoC hosted bus to separated file * pick PCMCIA host code support from b43 driver ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77133e1c0352b42af8017d7618dcf8e49452613b Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sun Oct 25 16:20:59 2015 +0100 i2c: pnx: remove superfluous assignment smatch rightfully says: drivers/i2c/busses/i2c-pnx.c:499 i2c_pnx_xfer warn: unused return: stat = ioread32() Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 14cbc1d0e29667b0c01c9202fcf8ac31893f7daa Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sun Oct 25 16:31:24 2015 +0100 MAINTAINERS: i2c: drop i2c-pnx maintainer Vitaly last acked patch was in 2010. He moved on probably... Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: Vitaly Wool <vitalywool@xxxxxxxxx> commit b43ddca4a8d8c9b5439898bd3077736091696ceb Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 29 20:52:24 2015 +0100 ALSA: cs46xx: Fix suspend for all channels snd_cs46xx_suspend() is missing snd_pcm_suspend_all calls for pcm_rear, pcm_center_lfe and pcm_iec958. There's also a copy/paste bug in snd_cs46xx_pcm_iec958(), overwriting pcm_rear in struct snd_cs46xx, leaving pcm_iec958 unused. Fix all this to allow all channels to survive suspend/resume. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eed273b785c531ced49adca87efcee2d96bdb2ef Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 29 20:22:06 2015 +0100 ALSA: cs46xx: Fix Duplicate front for CS4294 and CS4298 codecs Currently, the Duplicate front control is enabled only for two specific revisions of CS4294. Enable it for all CS4294 and CS4298 codecs instead. This fixes rear output on my VC-4620N sound card (CS4620 + CS4298 rev.5). Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 630bc46eaf73ead886fea16a8d06731990ab00d8 Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Thu Oct 29 08:25:48 2015 +0100 MAINTAINERS: i2c: mark also subdirectories as maintained Otherwise get_maintainer.pl will fall back to git history and CC more people than needed. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e258d919b175e0160a694a20fb309e29fc93d7b1 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Oct 28 23:17:31 2015 -0700 switchdev: fix: pass correct obj size when deferring obj add Fixes: 4d429c5dd ("switchdev: introduce possibility to defer obj_add/del") Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a7bde55a11c4a22a6ccfc487993d621ae8e3688 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Oct 28 23:17:30 2015 -0700 switchdev: fix: erasing too much of vlan obj when handling multiple vlan specs When adding vlans with multiple IFLA_BRIDGE_VLAN_INFO attrs set in AFSPEC, we would wipe the vlan obj struct after the first IFLA_BRIDGE_VLAN_INFO. Fix this by only clearing what's necessary on each IFLA_BRIDGE_VLAN_INFO iteration. Fixes: 9e8f4a54 ("switchdev: push object ID back to object structure") Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 740215ddb5b3faa0006505de073654cc50e9a299 Merge: 5bf8921 f116317 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 20:19:43 2015 +0900 Merge tag 'nfc-next-4.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next Samuel Ortiz says: ==================== NFC 4.4 pull request This is the NFC pull request for 4.4. It's a bit bigger than usual, the 3 main culprits being: - A new driver for Intel's Fields Peak NCI chipset. In order to support this chipset we had to export a few NCI routines and extend the driver NCI ops to not only support proprietary commands but also core ones. - Support for vendor commands for both STM drivers, st-nci and st21nfca. Those vendor commands allow to run factory tests through the NFC netlink interface. - New i2c and SPI support for the Marvell driver, together with firmware download support for this driver's core. Besides that we also have: - A few file renames in the STM drivers, to keep the naming consistent between drivers. - Some improvements and fixes on the NCI HCI layer, mostly to properly reach a secure element over a legacy HCI link. - A few fixes for the s3fwrn5 and trf7970a drivers. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5bf8921116ce0972c23b78ea2d98e5c0c6a99ae2 Merge: b7b0b1d 324e786 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 19:41:10 2015 +0900 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-10-28 Here are a some more Bluetooth patches for 4.4 which collected up during the past week. The most important ones are from Kuba Pawlak for fixing locking issues with SCO sockets. There's also a fix from Alexander Aring for 6lowpan, a memleak fix from Julia Lawall for the btmrvl driver and some cleanup patches from Marcel. Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13e3008fae342c86dd645b2ec4c669bbb40c5d33 Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Thu Oct 22 13:30:20 2015 +0200 pinctrl: zynq: Initialize early Supplying pinmux configuration for e.g. gpio pins leads to deferred probes because the pinctrl device is probed much later than gpio. Move the init call to a much earlier stage so it probes before the devices that may need it. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Tested-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e25589894e24b07a33b143b9bfd95fe8d2c0a353 Author: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> Date: Wed Oct 28 17:24:16 2015 -0400 gpio: Add ACCES 104-IDIO-16 driver maintainer entry Add William Breathitt Gray as the maintainer of the ACCES 104-IDIO-16 GPIO driver. Signed-off-by: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d9e4ad5badf4ccbfddee208c898fb8fd0c8836b1 Author: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Date: Wed Oct 28 16:14:31 2015 +0900 Document that IRQ_NONE should be returned when IRQ not actually handled Our IRQ storm detection works when an interrupt handler returns IRQ_NONE for thousands of consecutive interrupts in a second. It doesn't hurt to occasionally return IRQ_NONE when the interrupt is actually genuine. Drivers should only be returning IRQ_HANDLED if they have actually *done* something to stop an interrupt from happening â?? it doesn't just mean "this really *was* my device". Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Cc: davem@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1446016471.3405.201.camel@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b7b0b1d290cc89c39607dd47f8047e1071e65692 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Mon Oct 26 11:06:33 2015 -0700 ipv6: recreate ipv6 link-local addresses when increasing MTU over IPV6_MIN_MTU This change makes it so that we reinitialize the interface if the MTU is increased back above IPV6_MIN_MTU and the interface is up. Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bebd23a2ed31d47e7dd746d3b125068aa2c42d85 Merge: 66a565c 7ed4915 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Oct 30 10:09:37 2015 +0100 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 passing C language eBPF scriptlets via --event in all tools, so that it gets built using clang and then pass it to the kernel via sys_bpf(). (Wang Nan) - Wire up the loaded ebpf object file with associated kprobes, so that it can determine if the kprobes will be filtered or not. (Wang Nan) User visible changes: - Add cmd string table to decode sys_bpf first arg in 'trace'. (Arnaldo Carvalho de Melo) - Enable printing of branch stack in 'perf script'. (Stephane Eranian) - Pass the right file with debug info to libunwind. (Rabin Vincent) Build Fixes: - Make sure fixdep is built before libbpf, fixing a race. (Jiri Olsa) - Fix libiberty feature detection. (Rabin Vincent) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a82544c7baccf2d8a12cee46110cc7d356d3edf0 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:16:32 2015 -0500 cxlflash: Fix to avoid bypassing context cleanup Contexts may be skipped over for cleanup in situations where contention for the adapter's table-list mutex is experienced in the presence of a signal during the execution of the release handler. This can lead to two known issues: - A hang condition on remove as that path tries to wait for users to cleanup - something that will never complete should this scenario play out as the user has already cleaned up from their perspective. - An Oops in the unmap_mapping_range() call that is made as part of the user waiting mechanism that is invoked on remove when contexts are found to still exist. The root cause of this issue can be found in get_context() and how the table-list mutex is acquired. As this code path is shared by several different access points within the driver, a decision was made during the development cycle to acquire this mutex in this location using the interruptible version of the mutex locking service. In almost all of the use-cases and environmental scenarios this holds up, even when the mutex is contended. However, for critical system threads (such as the release handler), failing to acquire the mutex and bailing with the intention of the user being able to try again later is unacceptable. In such a scenario, the context _must_ be derived as it is on an irreversible path to being freed. Without being able to derive the context, the code mistakenly assumes that it has already been freed and proceeds to free up the underlying CXL context resources. From this point on, any usage of [the now stale] CXL context resources will result in undefined behavior. This is root cause of the Oops mentioned as the second known issue as the mapping passed to the unmap_mapping_range() service is owned by the CXL context. To fix this problem, acquisition of the table-list mutex within get_context() is simply changed to use the uninterruptible version of the mutex locking service. This is safe as the timing windows for holding this mutex are short and also protected against blocking. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Acked-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0d73122c3229a332286f3a256ba098d124aba066 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:16:24 2015 -0500 cxlflash: Fix to avoid lock instrumentation rejection When running with lock instrumentation (e.g. lockdep), some of the instrumentation can become disabled at probe time for a cxlflash adapter. This is due to a missing lock registration for the tmf_slock. The fix is to call spin_lock_init() for the tmf_slock during probe. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Acked-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1a47401bb397183e0500db2c7d5f8d2a3506598e Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:16:15 2015 -0500 cxlflash: Fix to avoid corrupting port selection mask The port selection mask of a LUN can be corrupted when the manage LUN ioctl (DK_CXLFLASH_MANAGE_LUN) is issued more than once for any device. This mask indicates to the AFU which port[s] can be used for a data transfer to/from a particular LUN. The mask is critical to ensuring the correct behavior when using the virtual LUN function of this adapter. When the mask is configured for both ports, an I/O may be sent to either port as the AFU assumes that each port has access to the same physical device (specified by LUN ID in the port LUN table). In a situation where the mask becomes incorrectly configured to reflect access to both ports when in fact there is only access through a single port, an I/O can be targeted to the wrong physical device. This can lead to data corruption among other ill effects (e.g. security leaks). The cause for this corruption is the assumption that the ioctl will only be called a second time for a LUN when it is being configured for access via a second port. A boolean 'newly_created' variable is used to differentiate between a LUN that was created (and subsequently configured for single port access) and one that is destined for access across both ports. While initially set to 'true', this sticky boolean is toggled to the 'false' state during a lookup on any next ioctl performed on a device with a matching WWN/WWID. The code fails to realize that the match could in fact be the same device calling in again. From here, an assumption is made that any LUN with 'newly_created' set to 'false' is configured for access over both ports and the port selection mask is set to reflect this. Any future attempts to use this LUN for hosting a virtual LUN will result in the port LUN table being incorrectly programmed. As a remedy, the 'newly_created' concept was removed entirely and replaced with code that always constructs the port selection mask based upon the SCSI channel of the LUN being accessed. The bits remain sticky, therefore allowing for a device to be accessed over both ports when that is in fact the correct physical configuration. Also included in this commit are a few minor related changes to enhance the fix and provide better debug information for port selection mask and port LUN table bugs in the future. These include renaming refresh_local() to lookup_local(), tracing the WWN/WWID as a big-endian entity, and tracing the port selection mask, SCSI channel, and LUN ID each time the port LUN table is programmed. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Acked-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e6e6df3f71a0b567e55d17b08f5bad8f1043afa3 Author: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:16:07 2015 -0500 cxlflash: Fix to escalate to LINK_RESET on login timeout A 'login timed out' asynchronous error interrupt is generated if no response is seen to a FLOGI within 2 seconds. If the time out error is not escalated to a LINK_RESET the port will not be available for use. This fix provides the required escalation. Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Acked-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ee3491ba8f1f7e7cc1302d727ee7055e5c748524 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:16:00 2015 -0500 cxlflash: Fix to avoid leaving dangling interrupt resources When running with an unsupported AFU, the cxlflash driver fails the probe. When the driver is removed, the following Oops is encountered on a show_interrupts() thread: Call Trace: [c000001fba5a7a10] [0000000000000003] 0x3 (unreliable) [c000001fba5a7a60] [c00000000053dcf4] vsnprintf+0x204/0x4c0 [c000001fba5a7ae0] [c00000000030045c] seq_vprintf+0x5c/0xd0 [c000001fba5a7b20] [c00000000030051c] seq_printf+0x4c/0x60 [c000001fba5a7b50] [c00000000013e140] show_interrupts+0x370/0x4f0 [c000001fba5a7c10] [c0000000002ff898] seq_read+0xe8/0x530 [c000001fba5a7ca0] [c00000000035d5c0] proc_reg_read+0xb0/0x110 [c000001fba5a7cf0] [c0000000002ca74c] __vfs_read+0x6c/0x180 [c000001fba5a7d90] [c0000000002cb464] vfs_read+0xa4/0x1c0 [c000001fba5a7de0] [c0000000002cc51c] SyS_read+0x6c/0x110 [c000001fba5a7e30] [c000000000009204] system_call+0x38/0xb4 The Oops is due to not cleaning up correctly on the unsupported AFU error path, leaving various allocated and registered resources. In this case, interrupts are in a semi-allocated/registered state, which the show_interrupts() thread attempts to use. To fix, the cleanup logic in init_afu() is consolidated to error gates at the bottom of the function and the appropriate goto is added to each error path. As a mini side fix while refactoring in this routine, the else statement following the AFU version evaluation is eliminated as it is not needed. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Acked-by: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit aacb4ff69eea4ac47a7389f90ea7a896abbe92f5 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:52 2015 -0500 cxlflash: Fix to avoid potential deadlock on EEH Ioctl threads that use scsi_execute() can run for an excessive amount of time due to the fact that they have lengthy timeouts and retry logic built in. Under normal operation this is not an issue. However, once EEH enters the picture, a long execution time coupled with the possibility that a timeout can trigger entry to the driver via registered reset callbacks becomes a liability. In particular, a deadlock can occur when an EEH event is encountered while in running in scsi_execute(). As part of the recovery, the EEH handler drains all currently running ioctls, waiting until they have completed before proceeding with a reset. As the scsi_execute()'s are situated on the ioctl path, the EEH handler will wait until they (and the remainder of the ioctl handler they're associated with) have completed. Normally this would not be much of an issue aside from the longer recovery period. Unfortunately, the scsi_execute() triggers a reset when it times out. The reset handler will see that the device is already being reset and wait until that reset completed. This creates a condition where the EEH handler becomes stuck, infinitely waiting for the ioctl thread to complete. To avoid this behavior, temporarily unmark the scsi_execute() threads as an ioctl thread by releasing the ioctl read semaphore. This allows the EEH handler to proceed with a recovery while the thread is still running. Once the scsi_execute() returns, the ioctl read semaphore is reacquired and the adapter state is rechecked in case it changed while inside of scsi_execute(). The state check will wait if the adapter is still being recovered or returns a failure if the recovery failed. In the event that the adapter reset failed, the failure is simply returned as the ioctl would be unable to continue. Reported-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fa3f2c6eb1eb69a9023d648c5bafbf4f062ab84d Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:45 2015 -0500 cxlflash: Correct trace string The trace following the failure of alloc_mem() incorrectly identifies which function failed. This can lead to misdiagnosing a failure. Fix the string to correctly indicate that alloc_mem() failed. Reported-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 17ead26f23e99ab0bb14e0876adab0ee151711f7 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:37 2015 -0500 cxlflash: Fix to avoid corrupting adapter fops The fops owned by the adapter can be corrupted in certain scenarios, opening a window where certain fops are temporarily NULLed before being reset to their proper value. This can potentially lead software to make incorrect decisions, leaving the user with the inability to function as intended. An example of this behavior can be observed when there are a number of users with a high rate of turn around (attach to LUN, perform an I/O, detach from LUN, repeat). Every so often a user is given a valid context and adapter file descriptor, but the file associated with the descriptor lacks the correct read permission bit (FMODE_CAN_READ) and thus the read system call bails before calling the valid read fop. Background: The fops is stored in the adapter structure to provide the ability to lookup the adapter structure from within the fop handler. CXL services use the file's private_data and at present, the CXL context does not have a private section. In an effort to limit areas of the cxlflash driver with code specific the superpipe function, a design choice was made to keep the details of the fops situated away from the legacy portions of the driver. This drove the behavior that the adapter fops is set at the beginning of the disk attach ioctl handler when there are no users present. The corruption that this fix remedies is due to the fact that the fops is initially defaulted to values found within a static structure. When the fops is handed down to the CXL services later in the attach path, certain services are patched. The fops structure remains correct until the user count drops to 0 and the fops is reset, triggering the process to repeat again. The user counts are tightly coupled with the creation and deletion of the user context. If multiple users perform a disk attach at the same time, when the user count is currently 0, some users can be in the middle of obtaining a file descriptor and have not yet reached the context creation code that [in addition to creating the context] increments the user count. Subsequent users coming in to perform the attach see that the user count is still 0, and reinitialize the fops, temporarily removing the patched fops. The users that are in the middle obtaining their file descriptor may then receive an invalid descriptor. The fix simply removes the user count altogether and moves the fops initialization to probe time such that it is only performed one time for the life of the adapter. In the future, if the CXL services adopt a private member for their context, that could be used to store the adapter structure reference and cxlflash could revert to a model that does not require an embedded fops. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit b22b4037a013e9ce77cec79d95fdcdc9bece0955 Author: Manoj Kumar <manoj@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:30 2015 -0500 cxlflash: Fix to double the delay each time The operator used to double the master context response delay is incorrect and does not result in delay doubling. To fix, use a left shift instead of the XOR operator. Reported-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 11f43ae7735a04994ef3c33295d386ef4e5529b7 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:22 2015 -0500 MAINTAINERS: Add cxlflash driver Add stanza for cxlflash SCSI driver. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit af10483e5e1201e1dcf5836207879e6eb5eb9fd5 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:14 2015 -0500 cxlflash: Fix to prevent stale AFU RRQ Following an adapter reset, the AFU RRQ that resides in host memory holds stale data. This can lead to a condition where the RRQ interrupt handler tries to process stale entries and/or endlessly loops due to an out of sync generation bit. To fix, the AFU RRQ in host memory needs to be cleared after each reset. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit f15fbf8d4eb0c20b7c70096788161d69e23f1a9d Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:15:06 2015 -0500 cxlflash: Correct spelling, grammar, and alignment mistakes There are several spelling and grammar mistakes throughout the driver. Additionally there are a handful of places where there are extra lines and unnecessary variables/statements. These are a nuisance and pollute the driver. Fix spelling and grammar issues. Update some comments for clarity and consistency. Remove extra lines and a few unneeded variables/statements. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8e78262328ecfbe9d72ac40328ecf5e7ff6fc3bf Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:56 2015 -0500 cxlflash: Fix to prevent EEH recovery failure The process_sense() routine can perform a read capacity which can take some time to complete. If an EEH occurs while waiting on the read capacity, the EEH handler will wait to obtain the context's mutex in order to put the context in an error state. The EEH handler will sit and wait until the context is free, but this wait can potentially last forever (deadlock) if the scsi_execute() that performs the read capacity experiences a timeout and calls into the reset callback. When that occurs, the reset callback sees that the device is already being reset and waits for the reset to complete. This leaves two threads waiting on the other. To address this issue, make the context unavailable to new, non-system owned threads and release the context while calling into process_sense(). After returning from process_sense() the context mutex is reacquired and the context is made available again. The context can be safely moved to the error state if needed during the unavailable window as no other threads will hold its reference. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1786f4a0933198632c5e4d27f25e1d467e1fd032 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:48 2015 -0500 cxlflash: Fix MMIO and endianness errors Sparse uncovered several errors with MMIO operations (accessing directly) and handling endianness. These can cause issues when running in different environments. Introduce __iomem and proper endianness tags/swaps where appropriate to make driver sparse clean. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 1284fb0cff10fcc3df1e9a50a795868d346fa647 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:40 2015 -0500 cxlflash: Fix function prolog parameters and return codes Several function prologs have incorrect parameter names and return code descriptions. This can lead to confusion when reviewing the source and creates inaccurate documentation. To remedy, update the function prologs to properly reflect parameter names and return codes. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6ef6f94060dc435742a4ff5feae2b2c4b2e57077 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:32 2015 -0500 cxlflash: Remove unnecessary scsi_block_requests The host reset handler is called with I/O already blocked, thus there is no need to explicitly block and unblock I/O in the handler. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ed486daad27afdcb24cee4ea0b1c9f44281e74fc Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:24 2015 -0500 cxlflash: Correct behavior in device reset handler following EEH When the device reset handler is entered while a reset operation is taking place, the handler exits without actually sending a reset (TMF) to the targeted device. This behavior is incorrect as the device is not reset. Further complicating matters is the fact that a success is returned even when the TMF was not sent. To fix, the state is rechecked after coming out of the reset state. When the state is normal, a TMF will be sent out. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d804621d0275da84caedcf2d6cf03fbe3c9ac3aa Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:17 2015 -0500 cxlflash: Fix to prevent workq from accessing freed memory The workq can process work in parallel with a remove event, leading to a condition where the workq handler can access freed memory. To remedy, the workq should be terminated prior to freeing memory. Move the termination call earlier in remove and use cancel_work_sync() instead of flush_work() as there is not a need to process any scheduled work when shutting down. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8b5b1e871a736e93e6ef1b048c276975e7421e04 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:09 2015 -0500 cxlflash: Correct usage of scsi_host_put() Currently, scsi_host_put() is being called prematurely in the remove path and is missing entirely in an error cleanup path. The former can lead to memory being freed too early with subsequent access potentially corrupting data whilst the former would result in a memory leak. Move the usage on remove to be the last cleanup action taken and introduce a call to scsi_host_put() in the one initialization error path that does not use remove to cleanup. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e5ce067b7b6e123a88929a18a8a58811ffcec279 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:14:01 2015 -0500 cxlflash: Fix AFU version access/storage and add check The AFU version is stored as a non-terminated string of bytes within a 64-bit little-endian register. Presently the value is read directly (no MMIO accessor) and is stored in a buffer that is not big enough to contain a NULL terminator. Additionally the version obtained is not evaluated against a known value to prevent usage with unsupported AFUs. All of these deficiencies can lead to a variety of problems. To remedy, use the correct MMIO accessor to read the version value into a null-terminated buffer and add a check to prevent an incompatible AFU from being used with this driver. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 964497b3bf3fed0a1db9dabe9fe080853230e5a7 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:54 2015 -0500 cxlflash: Remove dual port online dependency At present, both ports must be online for the device to configure properly. Remove this dependency and the unnecessary internal LUN override logic as well. Additionally, as a refactoring measure, change the return code variable name to match that used throughout the driver. With this change, the card will be able to configure even when the link is down. At some later point when the link is transitioned to 'up', a link state change interrupt will trigger the port configuration. Note that despite its void-like behavior, the function was left with a return code for right now in case its behavior needs to be altered again in the near future based on testing. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 16798d3448d33af336e89f8cc6e72a0a3d04e230 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:45 2015 -0500 cxlflash: Fix async interrupt bypass logic A bug was introduced earlier in the development cycle when cleaning up logic statements. Instead of skipping bits that are not set, set bits are skipped, causing async interrupts to not be handled correctly. To fix, simply add back in the proper evaluation for an unset bit. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit ef51074a4efef50873fb8939e7feba5dd55488da Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:37 2015 -0500 cxlflash: Fix host link up event handling Following a link up event, the LUNs available to the host may have changed. Without rescanning the host, the LUN topology is unknown to the user. In such a state, the user would be unable to locate provisioned resources. To remedy, the host should be rescanned after a link up event. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8396012ff77affe4def5f0e5757b6c4e8107b33e Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:29 2015 -0500 cxlflash: Fix location of setting resid The resid is incorrectly set which can lead to unnecessary retry attempts by the stack. This is due to resid _always_ being set using a value returned from the adapter. Instead, the value should only be interpreted and set when in an underrun scenario. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 018d1dc9558e748e271cd1600c698f68cba3fb09 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:21 2015 -0500 cxlflash: Fix to avoid stall while waiting on TMF Borrowing the TMF waitq's spinlock causes a stall condition when waiting for the TMF to complete. To remedy, introduce our own spin lock to serialize TMF and use the appropriate wait services. Also add a timeout while waiting for a TMF completion. When a TMF times out, report back a failure such that a bigger hammer reset can occur. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 4392ba49eb248868afb412ea147ab16e2e606d66 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:13:11 2015 -0500 cxlflash: Fix to avoid spamming the kernel log During run-time the driver can be very chatty and spam the system kernel log. Various print statements can be limited and/or moved to development-only mode. Additionally, numerous prints can be converted to trace the corresponding device. Lastly, one spelling correction was made: 'entra' to 'extra'. The following changes were made: - pr_debug to pr_devel - pr_debug to pr_debug_ratelimited - pr_err to dev_err - pr_debug to dev_dbg Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e0f01a21c423c9e58874a9392a69354b7927fca2 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:12:39 2015 -0500 cxlflash: Refine host/device attributes Implement the following suggestions and add two new attributes to allow for debugging the port LUN table. - use scnprintf() instead of snprintf() - use DEVICE_ATTR_RO and DEVICE_ATTR_RW Suggested-by: Shane Seymour <shane.seymour@xxxxxx> Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 15305514184875728a545204db893a3c5157fc65 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:12:10 2015 -0500 cxlflash: Make functions static Found during code inspection, that the following functions are not being used outside of the file where they are defined. Make them static. int cxlflash_send_cmd(struct afu *, struct afu_cmd *); void cxlflash_wait_resp(struct afu *, struct afu_cmd *); int cxlflash_afu_reset(struct cxlflash_cfg *); struct afu_cmd *cxlflash_cmd_checkout(struct afu *); void cxlflash_cmd_checkin(struct afu_cmd *); void init_pcr(struct cxlflash_cfg *); int init_global(struct cxlflash_cfg *); Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 439e85c1e89bd1ed8c99f8b46f87f495a675d95e Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:12:00 2015 -0500 cxlflash: Correct naming of limbo state and waitq Limbo is not an accurate representation of this state and is also not consistent with the terminology that other drivers use to represent this concept. Rename the state and and its associated waitq to 'reset'. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 0a27ae514740b4d64b586043d6b837ad5d0c40f8 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:11:52 2015 -0500 cxlflash: Fix to avoid CXL services during EEH During an EEH freeze event, certain CXL services should not be called until after the hardware reset has taken place. Doing so can result in unnecessary failures and possibly cause other ill effects by triggering hardware accesses. This translates to a requirement to quiesce all threads that may potentially use CXL runtime service during this window. In particular, multiple ioctls make use of the CXL services when acting on contexts on behalf of the user. Thus, it is essential to 'drain' running ioctls _before_ proceeding with handling the EEH freeze event. Create the ability to drain ioctls by wrapping the ioctl handler call in a read semaphore and then implementing a small routine that obtains the write semaphore, effectively creating a wait point for all currently executing ioctls. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit a76df368beb31f55aca03c6cd34c272b86e49470 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:11:43 2015 -0500 cxlflash: Fix context encode mask width The context encode mask covers more than 32-bits, making it a long integer. This should be noted by appending the ULL width suffix to the mask. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit e568e23f3c6d7bf60ce00a4e8f1331a5b38bbea0 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:11:34 2015 -0500 cxlflash: Fix to avoid sizeof(bool) Using sizeof(bool) is considered poor form for various reasons and sparse warns us of that. Correct by changing type from bool to u8. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2843fdbddd188edb4d7e60f72f513ad8b82d1a54 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:11:26 2015 -0500 cxlflash: Fix data corruption when vLUN used over multiple cards If the same virtual LUN is accessed over multiple cards, only accesses made over the first card will be valid. Accesses made over the second card will go to the wrong LUN causing data corruption. This is because the global LUN's mode word was being used to determine whether the LUN table for that card needs to be programmed. The mode word would be setup by the first card, causing the LUN table for the second card to not be programmed. By unconditionally initializing the LUN table (not depending on the mode word), the problem is avoided. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 22fe1ae80fd14cb64be61d004b5e6c324bb6e984 Author: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:11:18 2015 -0500 cxlflash: Fix potential oops following LUN removal When a LUN is removed, the sdev that is associated with the LUN remains intact until its reference count drops to 0. In order to prevent an sdev from being removed while a context is still associated with it, obtain an additional reference per-context for each LUN attached to the context. This resolves a potential Oops in the release handler when a dealing with a LUN that has already been removed. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 471a5a60aaf13b2323d2b63d212bbdd6ce2bef28 Author: Manoj Kumar <kumarmn@xxxxxxxxxx> Date: Wed Oct 21 15:11:10 2015 -0500 cxlflash: Fix read capacity timeout The timeout value for read capacity is too small. Certain devices may take longer to respond and thus the command may prematurely timeout. Additionally the literal used for the timeout is stale. Update the timeout to 30 seconds (matches the value used in sd.c) and rework the timeout literal to a more appropriate description. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3ebf203093b4ee07d62ef1a02dbbf7a293770388 Author: Manoj Kumar <kumarmn@xxxxxxxxxx> Date: Wed Oct 21 15:11:00 2015 -0500 cxlflash: Replace magic numbers with literals Magic numbers are not meaningful and can create confusion. As a remedy, replace them with descriptive literals. Replace 512 with literal MAX_SECTOR_UNIT. Replace 5 with literal CMD_RETRIES. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit fa4aa632da19fba0154b66a50329acd738304291 Author: Manoj Kumar <kumarmn@xxxxxxxxxx> Date: Wed Oct 21 15:10:31 2015 -0500 cxlflash: Fix to avoid invalid port_sel value If two concurrent MANAGE_LUN ioctls are issued with the same WWID parameter, it would result in an incorrect value of port_sel. This is because port_sel is modified without any locks being held. If the first caller stalls after the return from find_and_create_lun(), the value of port_sel will be set incorrectly to indicate a single port, though in this case it should have been set to both ports. To fix, use the global mutex to serialize the lookup of the WWID and the subsequent modification of port_sel. Signed-off-by: Matthew R. Ochs <mrochs@xxxxxxxxxxxxxxxxxx> Signed-off-by: Manoj N. Kumar <manoj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 6ef68c17d40e1e7e291ca513627a0d2a13ae095f Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 22 15:16:22 2015 +0200 drm/amdgpu: remove amdgpu_fence_ref/unref Just move the remaining users to fence_put/get. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 16545c32a5242634a51c6906533750cf1db54879 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 22 15:04:50 2015 +0200 drm/amdgpu: use common fence for sync Stop using the driver internal functions. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 24233860b97c46eb943215d761e03f6f2e1285a6 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 22 10:53:16 2015 +0200 drm/amdgpu: use the new fence_is_later Instead of coding the check ourself. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d52832986aa52ea18940e817d5d04c081c2f42f3 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 22 11:55:58 2015 +0200 drm/amdgpu: use common fences for VMID management v2 v2: add missing NULL check. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8120b61fdf3d3aa31d6b7e4a4f633bec1d2edd38 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 22 11:29:33 2015 +0200 drm/amdgpu: move ring_from_fence to common code Going to need that elsewhere as well. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ee327caf1a2cdba9313167c36db2d7ff02d534bc Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Oct 20 17:38:07 2015 +0200 drm/amdgpu: switch to common fence_wait_any_timeout v2 No need to duplicate the functionality any more. v2: fix handling if no fence is available. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v1) commit 318cd340c5573a1f021f5b7711893133fe5e8480 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 15 17:58:09 2015 +0200 drm/amdgpu: remove unneeded fence functions amdgpu_fence_default_wait isn't needed any more the default wait does the same thing and amdgpu_test_signaled is dead as well. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 6c455ac17bcf4beae6c094a1007b976b60b4bb57 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Oct 21 12:58:17 2015 +0200 dma-buf/fence: add fence_is_later() Return true when fence 1 is later than fence 2 without checking if any of them are signaled. Useful for driver specific resource handling based on fences. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a519435a96597d8cd96123246fea4ae5a6c90b02 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Oct 20 16:34:16 2015 +0200 dma-buf/fence: add fence_wait_any_timeout function v2 Waiting for the first fence in an array of fences to signal. This is useful for device driver specific resource managers and also Vulkan needs something similar. v2: more parameter checks, handling for timeout==0, remove NULL entry support, better callback removal. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> commit ee6259382ca8f723a2cc90841f903667c7720584 Merge: 65bdc43 c7070fc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 12:27:07 2015 +0900 Merge branch 'mlxsw-flooding-and-cosmetics' Jiri Pirko says: ==================== mlxsw: driver update This driver update mainly brings support for user to be able to setup flooding on specified port, via bridge flag. Also, there is a fix in ageing time conversion. The rest is just cosmetics. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7070fc4ecb50bee801cef85483e043d0ba1dd27 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:05 2015 +0100 mlxsw: spectrum: Make mlxsw_sp_port_switchdev_ops static Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d9324f68eea7b01bde25ab4c204227f3583b92ba Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:04 2015 +0100 mlxsw: Put braces on all arms of branch statement Fix a place where checkpatch complains that braces should be used on all arms of this statement. Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef743fddb33f47b34c852f26fbd2057c72c70016 Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:03 2015 +0100 mlxsw: Put constant on the right side of comparisons Fixes those places where checkpatch complains that comparisons should place the constant on the right side of the test. Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 135f9eceb7fa0287e535f9ec921485661e9d6667 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:02 2015 +0100 mlxsw: spectrum: Fix ageing time value The value passed through switchdev attr set is not in jiffies, but in clock_t, so fix the convert. Reported-by: Sagi Rotem <sagir@xxxxxxxxxxxx> Fixes: 56ade8fe3f ("mlxsw: spectrum: Add initial support for Spectrum ASIC") Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75c09280feddcf5c01c00aa11881c4b38559e2ef Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:01 2015 +0100 mlxsw: reg: Avoid unnecessary line wrap for mlxsw_reg_sfd_uc_unpack Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8316f087f7c62a2d21ec4e72926ec07ce777fe48 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:17:00 2015 +0100 mlxsw: reg: Fix desription typos of couple of SFN items Fix copy-paste errors. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e9ec0839b4994ebc764d8067832dd079336c42f Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:59 2015 +0100 mlxsw: reg: Fix description for reg_sfd_uc_sub_port The original description was for LAG, so fix it. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0293038e0c36db45f2ea4e4e4a8ce0a0faa62139 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:58 2015 +0100 mlxsw: spectrum: Add support for flood control Add or remove a bridged port from the flooding domain of unknown unicast packets according to user configuration. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b3433a942922953df43ef0bc0172119041364c5 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:57 2015 +0100 mlxsw: spectrum: Add support for VLAN ranges in flooding configuration When enabling a range of VLANs on a bridged port we can configure flooding for these VLANs by one register access instead of calling the same register for each VLAN. This is accomplished by using the 'range' field of the Switch Flooding Table Register (SFTR). Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d9b970cee612968c6b888b93736d991762b9edb Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:56 2015 +0100 mlxsw: spectrum: move "bridged" bool to u8 flags It is a flag anyway, so move it to existing u8 flag and don't waste mem. Fix the flags to be in single u8 on the way. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 371e59adcebf9953385bf46d5325ac39a53c5520 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:55 2015 +0100 switchdev: Make flood to CPU optional In certain use cases it is not always desirable for the switch device to flood traffic to CPU port. Instead, only certain packet types (e.g. STP, LACP) should be trapped to it. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 741af0053b43d8b9a688a12c57ece62338616ae8 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Wed Oct 28 10:16:54 2015 +0100 switchdev: Add support for flood control Allow devices supporting this feature to control the flooding of unknown unicast traffic, by making switchdev infrastructure propagate this setting to the switch driver. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65bdc43d2220bc97af037c87aba2407b46f13c2a Merge: b7af147 6ccbe6b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 30 12:21:57 2015 +0900 Merge branch 'xgene_txrx_delay' Iyappan Subramanian says: ==================== drivers: xgene: Add support RGMII TX/RX delay configuration X-Gene RGMII ethernet controller has a RGMII bridge that performs the task of converting the RGMII signal {RX_CLK,RX_CTL, RX_DATA[3:0]} from PHY to GMII signal {RX_DV,RX_ER,RX_DATA[7:0]} and vice versa. This RGMII bridge has a provision to internally delay the input RX_CLK and the output TX_CLK using configuration registers. This will help in maintain the CLK-CTL delay relationship in various operating conditions. This patch adds support RGMII TX/RX delay configuration. ==================== Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ccbe6b248ef8cc31477a388ea9841b56030bea9 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 26 15:25:16 2015 -0700 Documentation: dts: xgene: Add TX/RX delay field Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16615a4c6f4d54d7655dff19e7061c76043f907d Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 26 15:25:15 2015 -0700 drivers: net: xgene: Add support RGMII TX/RX delay configuration Add RGMII TX/RX delay configuration support. RGMII standard requires 2ns delay to help the RGMII bridge receiver to sample data correctly. If the default value does not provide proper centering of the data sample, the TX/RX delay parameters can be used to adjust accordingly. Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7af1472afa2228bd9fe8b4cea3b003b4027d72d Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 07:52:56 2015 -0700 bridge: set is_local and is_static before fdb entry is added to the fdb hashtable Problem Description: We can add fdbs pointing to the bridge with NULL ->dst but that has a few race conditions because br_fdb_insert() is used which first creates the fdb and then, after the fdb has been published/linked, sets "is_local" to 1 and in that time frame if a packet arrives for that fdb it may see it as non-local and either do a NULL ptr dereference in br_forward() or attach the fdb to the port where it arrived, and later br_fdb_insert() will make it local thus getting a wrong fdb entry. Call chain br_handle_frame_finish() -> br_forward(): But in br_handle_frame_finish() in order to call br_forward() the dst should not be local i.e. skb != NULL, whenever the dst is found to be local skb is set to NULL so we can't forward it, and here comes the problem since it's running only with RCU when forwarding packets it can see the entry before "is_local" is set to 1 and actually try to dereference NULL. The main issue is that if someone sends a packet to the switch while it's adding the entry which points to the bridge device, it may dereference NULL ptr. This is needed now after we can add fdbs pointing to the bridge. This poses a problem for br_fdb_update() as well, while someone's adding a bridge fdb, but before it has is_local == 1, it might get moved to a port if it comes as a source mac and then it may get its "is_local" set to 1 This patch changes fdb_create to take is_local and is_static as arguments to set these values in the fdb entry before it is added to the hash. Also adds null check for port in br_forward. Fixes: 3741873b4f73 ("bridge: allow adding of fdb entries pointing to the bridge device") Reported-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8812fa88371ae567c907448d9a7ba62d09b90c9 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Tue Oct 27 09:49:00 2015 -0400 geneve: add IPv6 bits to geneve_fill_metadata_dst Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a56f86f1be6a381345800d69999eaff87e0161d Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Oct 26 17:01:45 2015 -0400 geneve: handle ipv6 priority like ipv4 tos Other callers of udp_tunnel6_xmit_skb just pass 0 for the prio argument. Jesse Gross <jesse@xxxxxxxxxx> suggested that prio is really the same as IPv4's tos and should be handled the same, so this is my interpretation of that suggestion. Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Reported-by: Jesse Gross <jesse@xxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ed66f0e8235118a31720acdab3bbbe9debd0f6a Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Oct 26 17:01:44 2015 -0400 geneve: implement support for IPv6-based tunnels NOTE: Link-local IPv6 addresses for remote endpoints are not supported, since the driver currently has no capacity for binding a geneve interface to a specific link. Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Reviewed-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0db642151ad80967e9e1c2abf3e19bd7902ecdc9 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 28 15:13:43 2015 +0200 spi: pxa2xx: Rework self-initiated platform data creation for non-ACPI Extend the pxa2xx_spi_acpi_get_pdata() so that it can create platform data also on platforms that do not support ACPI or if CONFIG_ACPI is not set. Now it is expected that "pxa2xx-spi" platform device is either created with explicit platform data or has an ACPI companion device. However there is only little in pxa2xx_spi_acpi_get_pdata() that is really dependent on ACPI companion and it can be reworked to cover also cases where "pxa2xx-spi" device doesn't have ACPI companion and is created without platform data. Do this by renaming the pxa2xx_spi_acpi_get_pdata(), moving it outside of CONFIG_ACPI test and changing a few runtime tests there to support non-ACPI case. Only port/bus ID setting based on ACPI _UID is dependent on ACPI and is moved to own function inside CONFIG_ACPI. Purpose of this to support non-ACPI case for those PCI enumerated compound devices that integrate both LPSS SPI host controller and integrated DMA engine under the same PCI ID and which are registered in MFD layer instead of in spi-pxa2xx-pci.c. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b7c08cf85c9a3a4b05474b7acacc9fbce8fb3eaf Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 28 15:13:42 2015 +0200 spi: pxa2xx: Add support for Intel Broxton LPSS SPI in Intel Broxton is otherwise the same than in Intel Sunrisepoint but it supports up to four chip selects per port and has different FIFO thresholds. Patch adds support for two Broxton SoC variants. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8b136baa5892f25bba0373d6eb0f5f84efc93986 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 28 15:13:41 2015 +0200 spi: pxa2xx: Detect number of enabled Intel LPSS SPI chip select signals SPI capabilities register located in private registers space of newer Intel LPSS SPI host controllers tell in register bits 12:9 which chip select signals are enabled. Use that information for detecting the number of chip selects. For simplicity we assume chip selects are enabled one after another without disabled chip selects between. For instance CS0 | CS1 | CS2 but not CS0 | CS1 | CS3. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d0283eb2dbc11ec08375fdf6a436e96d25b3a593 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 28 15:13:40 2015 +0200 spi: pxa2xx: Add output control for multiple Intel LPSS chip selects Intel LPSS SPI host controllers in upcoming Intel platforms can have up to 4 chip selects per port. Extend chip select control in lpss_ssp_cs_control() by adding a code that selects the active chip select output prior to changing the state. Detection for number of enabled chip select signals will be added by another patch. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 624ea72ebddc1f61d32c9e6265f8d6f6dacd26d6 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 28 15:13:39 2015 +0200 spi: pxa2xx: Use LPSS prefix for defines that are Intel LPSS specific Rename a few defines that are specific to Intel LPSS SPI private registers with LPSS prefix. It makes easier to distinguish them from common defines. Suggested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ad5f498f610fa3fd8bd265139098bc1405cd2783 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Tue Oct 27 19:06:55 2015 -0400 dm: initialize non-blk-mq queue data before queue is used Commit bfebd1cdb497a57757c83f5fbf1a29931591e2a4 ("dm: add full blk-mq support to request-based DM") moves the initialization of the fields backing_dev_info.congested_fn, backing_dev_info.congested_data and queuedata from the function dm_init_md_queue (that is called when the device is created) to dm_init_old_md_queue (that is called after the device type is determined). There is no locking when accessing these variables, thus it is possible for other parts of the kernel to briefly see this data in a transient state (e.g. queue->backing_dev_info.congested_fn initialized and md->queue->backing_dev_info.congested_data uninitialized, resulting in passing an incorrect parameter to the function dm_any_congested). This queue data is left initialized for blk-mq devices even though they that don't use it. Fixes: bfebd1cdb497 ("dm: add full blk-mq support to request-based DM") Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v4.1+ commit 5a60adafb95263d63dfaaf7168680c4b7e50b370 Author: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Date: Wed Oct 28 17:41:59 2015 +0800 spi: Add DSPI support for layerscape family LS1043a and LS2080A in the Layerscape family also support DSPI, make DSPI selectable for these hardwares. Signed-off-by: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e6b5140b706689a38aaeabd9de8fb3e1531cf9cb Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Oct 29 08:57:30 2015 -0500 spi: ti-qspi: improve ->remove() callback there's no need to call pm_runtime_get_sync() followed by pm_runtime_put(). We should, instead, just call pm_runtime_put_sync() and pm_runtime_disable(). Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a76edb8cec0cc864c8b72fa7e84a72336e033e23 Merge: f1a04d8 48aa1e7 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 30 09:49:06 2015 +1000 Merge tag 'topic/drm-misc-2015-10-22' of git://anongit.freedesktop.org/drm-intel into drm-next Few more drm-misc stragglers for 4.4. Big thing is the generic probe for imx/rockchip/armada (but the variant for msm/rpi/exynos is still missing). Also the hdmi clocking fixes from Ville which was a lot of confusion about which tree it should be applied to ;-) * tag 'topic/drm-misc-2015-10-22' of git://anongit.freedesktop.org/drm-intel: drm: correctly check failed allocation vga_switcheroo: Constify vga_switcheroo_handler drm/armada: Convert the probe function to the generic drm_of_component_probe() drm/rockchip: Convert the probe function to the generic drm_of_component_probe() drm/imx: Convert the probe function to the generic drm_of_component_probe() drm: Introduce generic probe function for component based masters. drm/edid: Round to closest when computing the CEA/HDMI alternate clock drm/edid: Fix up clock for CEA/HDMI modes specified via detailed timings commit f1a04d82585032d906e6a7d5b16d38a369033bd0 Merge: 974e59b ed885b2 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 30 09:48:28 2015 +1000 Merge branch 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-next More amdgpu and radeon stuff for drm-next. Stoney support is the big change. The rest is just bug fixes and code cleanups. The Stoney stuff is pretty low impact with respect to existing chips. * 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux: drm/amdgpu: change VM size default to 64GB drm/amdgpu: add Stoney pci ids drm/amdgpu: update the core VI support for Stoney drm/amdgpu: add VCE support for Stoney (v2) drm/amdgpu: add UVD support for Stoney drm/amdgpu: add GFX support for Stoney (v2) drm/amdgpu: add SDMA support for Stoney (v2) drm/amdgpu: add DCE support for Stoney drm/amdgpu: Update SMC/DPM for Stoney drm/amdgpu: add GMC support for Stoney drm/amdgpu: add Stoney chip family drm/amdgpu: fix the broken vm->mutex V2 drm/amdgpu: remove the unnecessary parameter adev for amdgpu_fence_wait_any() drm/amdgpu: remove the exclusive lock drm/amdgpu: remove old lockup detection infrastructure drm: fix trivial typos drm/amdgpu/dce: simplify suspend/resume drm/amdgpu/gfx8: set TC_WB_ACTION_EN in RELEASE_MEM packet drm/radeon: Use rdev->gem.mutex to protect hyperz/cmask owners commit 974e59ba0bc3bcc94d11fce9b34c10af32b5930f Merge: d7e1bc3 606bb5e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 30 09:45:33 2015 +1000 Merge tag 'drm-intel-next-fixes-2015-10-22' of git://anongit.freedesktop.org/drm-intel into drm-next Bunch of -fixes for 4.4. Well not just, I've left the mmio/register work from Ville in here since it's low-risk but lots of churn all over. * tag 'drm-intel-next-fixes-2015-10-22' of git://anongit.freedesktop.org/drm-intel: (23 commits) drm/i915: Use round to closest when computing the CEA 1.001 pixel clocks drm/i915: Kill the leftover RMW from ivb_sprite_disable() drm/i915: restore ggtt double-bind avoidance drm/i915/skl: Enable pipe gamma for sprite planes. drm/i915/skl+: Enable pipe CSC on cursor planes. (v2) MAINTAINERS: add link to the Intel Graphics for Linux web site drm/i915: Move skl/bxt gt specific workarounds to ring init drm/i915: Drop i915_gem_obj_is_pinned() from set-cache-level drm/i915: revert a few more watermark commits drm/i915: Remove dev_priv argument from NEEDS_FORCE_WAKE drm/i915: Clean up LVDS register handling drm/i915: Throw out some useless variables drm/i915: Parametrize and fix SWF registers drm/i915: s/PIPE_FRMCOUNT_GM45/PIPE_FRMCOUNT_G4X/ etc. drm/i915: Turn GEN5_ASSERT_IIR_IS_ZERO() into a function drm/i915: Fix a few bad hex numbers in register defines drm/i915: Protect register macro arguments drm/i915: Include gpio_mmio_base in GMBUS reg defines drm/i915: Parametrize HSW video DIP data registers drm/i915: Eliminate weird parameter inversion from BXT PPS registers ... commit 04ccb89073e7cfc31d9b9208d32b2cdf84a4d97d Merge: 8a28d67 ae93580 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 30 09:32:59 2015 +1000 Merge branch 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-fixes regression fix for backlight on old laptops. * 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: fix dpms when driver backlight control is disabled drm/radeon: move bl encoder assignment into bl init commit af86fa4001ca5644ae20cc2c52cdf67bb7db9752 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Tue Oct 20 11:36:53 2015 -0500 sparc/PCI: Add mem64 resource parsing for root bus David reported that a T5-8 sparc system failed to boot with: pci_sun4v f02dbcfc: PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x804000000000-0x80400fffffff] (bus address [0x0000-0xfffffff]) pci_bus 0000:00: root bus resource [mem 0x800000000000-0x80007effffff] (bus address [0x00000000-0x7effffff]) pci 0000:00:01.0: can't claim BAR 15 [mem 0x100000000-0x4afffffff pref]: no compatible bridge window Note that we don't know about a host bridge aperture that contains BAR 15. OF does report a MEM64 aperture, but before this patch, pci_determine_mem_io_space() ignored it. Add support for host bridge apertures with 64-bit PCI addresses. Also set IORESOURCE_MEM_64 for PCI device and bridge resources in PCI 64-bit memory space. Sparc doesn't actually print the device and bridge resources, but after this patch, we should have the equivalent of this: pci_sun4v f02dbcfc: PCI host bridge to bus 0000:00 pci_bus 0000:00: root bus resource [io 0x804000000000-0x80400fffffff] (bus address [0x0000-0xfffffff]) pci_bus 0000:00: root bus resource [mem 0x800000000000-0x80007effffff] (bus address [0x00000000-0x7effffff]) pci_bus 0000:00: root bus resource [mem 0x800100000000-0x8007ffffffff] (bus address [0x100000000-0x7ffffffff]) pci 0000:00:01.0: bridge window [mem 0x800100000000-0x8004afffffff 64bit pref] [bhelgaas: changelog, URL to David's report] Fixes: d63e2e1f3df9 ("sparc/PCI: Clip bridge windows to fit in upstream windows") Link: http://lkml.kernel.org/r/5514391F.2030300@xxxxxxxxxx Reported-by: David Ahern <david.ahern@xxxxxxxxxx> Tested-by: David Ahern <david.ahern@xxxxxxxxxx> Tested-by: Khalid Aziz <khalid.aziz@xxxxxxxxxx> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 597becb4adb7d57b8e9d857a68f764ce96a141b8 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Oct 29 17:35:40 2015 -0500 PCI: Expand Enhanced Allocation BAR output An Enhanced Allocation Capability entry with BEI 0 fills in dev->resource[0] just like a real BAR 0 would, but non-EA experts might not connect "EA - BEI 0" with BAR 0. Decode the EA jargon a little bit, e.g., change this: pci 0002:01:00.0: EA - BEI 0, Prop 0x00: [mem 0x84300000-0x84303fff] to this: pci 0002:01:00.0: BAR 0: [mem 0x84300000-0x84303fff] (from Enhanced Allocation, properties 0x00) Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 26635112d4d057c9ea38f6284423a30a41a09240 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Oct 29 17:35:40 2015 -0500 PCI: Make Enhanced Allocation bitmasks more obvious Expand bitmask #defines completely. This puts the shift in the code instead of in the #define, but it makes it more obvious in the header file how fields in the register are laid out. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 111839917fccf4f74d50ad937321acc6a07eb9c3 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 29 17:35:40 2015 -0500 PCI: Handle Enhanced Allocation capability for SR-IOV devices SR-IOV BARs can be specified via EA entries. Extend the EA parser to extract the SRIOV BAR resources, and modify sriov_init() to use resources previously obtained via EA. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> commit 938174e59f83354251a75a2b90171e0ffdf6f1d7 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Thu Oct 29 17:35:39 2015 -0500 PCI: Add support for Enhanced Allocation devices Add support for devices using Enhanced Allocation entries instead of BARs. This allows the kernel to parse the EA Extended Capability structure in PCI config space and claim the BAR-equivalent resources. See https://pcisig.com/sites/default/files/specification_documents/ECN_Enhanced_Allocation_23_Oct_2014_Final.pdf [bhelgaas: add spec URL, s/pci_ea_set_flags/pci_ea_flags/, consolidate declarations, print unknown property in hex to match spec] Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> [david.daney@xxxxxxxxxx: Add more support/checking for Entry Properties, allow EA behind bridges, rewrite some error messages.] Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit f80b0ba959641f13524507d60eae4d01ea65c991 Author: Sean O. Stalley <sean.stalley@xxxxxxxxx> Date: Thu Oct 29 17:35:39 2015 -0500 PCI: Add Enhanced Allocation register entries Add registers defined in PCI-SIG's Enhanced allocation ECN. [bhelgaas: s/WRITEABLE/WRITABLE] Signed-off-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> [david.daney@xxxxxxxxxx: Added more definitions for PCI_EA_BEI_*] Signed-off-by: Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit d04d0111c7701cb7c696216b0af707f4e327ad11 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 29 17:35:39 2015 -0500 PCI: Handle IORESOURCE_PCI_FIXED when assigning resources The new Enhanced Allocation (EA) capability support (patches to follow) creates resources with the IORESOURCE_PCI_FIXED set. During resource assignment in pci_bus_assign_resources(), IORESOURCE_PCI_FIXED resources are not given a parent. This, in turn, causes pci_enable_resources() to fail with a "not claimed" error. So, in __pci_bus_assign_resources(), for IORESOURCE_PCI_FIXED resources, try to request the resource from a parent bus. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> commit a2220d804bf09aae4da45dfd6cc6692e0e422926 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 29 17:35:39 2015 -0500 PCI: Handle IORESOURCE_PCI_FIXED when sizing resources The new Enhanced Allocation (EA) capability support (patches to follow) creates resources with the IORESOURCE_PCI_FIXED set. Since these resources cannot be relocated or resized, their alignment is not really defined, and it is therefore not specified. This causes a problem in pbus_size_mem() where resources with unspecified alignment are disabled. So, in pbus_size_mem() skip IORESOURCE_PCI_FIXED resources, instead of disabling them. [bhelgaas: folded in "flags & IORESOURCE_PCI_FIXED" fix from David] Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Sean O. Stalley <sean.stalley@xxxxxxxxx> commit e2d8680741edec84f843f783a7f4a44418b818d7 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Thu Oct 29 08:56:31 2015 -0700 fpga: socfpga: Fix check of return value of devm_request_irq The return value should be checked for non-zero, instead of checking it being IS_ERR_VALUE(). Acked-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Cartwright <joshc@xxxxxxxxxxxx> Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce288ec380380f3ab0e3c631b9c2f598835a3f38 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:20:57 2015 -0500 PCI: Remove redundant validation of SR-IOV offset/stride registers Previously, we read, validated, and cached PCI_SRIOV_VF_OFFSET and PCI_SRIOV_VF_STRIDE in sriov_enable(). But sriov_init() now does that via compute_max_vf_buses(), so we don't need to do it again. Remove the PCI_SRIOV_VF_OFFSET and PCI_SRIOV_VF_STRIDE config reads from sriov_enable(). The pci_sriov structure already contains the offset and stride corresponding to the current NumVFs. [bhelgaas: split to separate patch for reviewability] Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> commit ea9a8854161d9580cfabe011c0ae296ecc0e1d4f Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Oct 29 16:20:50 2015 -0500 PCI: Set SR-IOV NumVFs to zero after enumeration The enumeration path should leave NumVFs set to zero. But after 4449f079722c ("PCI: Calculate maximum number of buses required for VFs"), we call virtfn_max_buses() in the enumeration path, which changes NumVFs. This NumVFs change is visible via lspci and sysfs until a driver enables SR-IOV. Iterate from TotalVFs down to zero so NumVFs is zero when we're finished computing the maximum number of buses. Validate offset and stride in the loop, so we can test it at every possible NumVFs setting. Rename virtfn_max_buses() to compute_max_vf_buses() to hint that it does have a side effect of updating iov->max_VF_buses. [bhelgaas: changelog, rename, allow numVF==1 && stride==0, rework loop, reverse sense of error path] Fixes: 4449f079722c ("PCI: Calculate maximum number of buses required for VFs") Based-on-patch-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit ff45f9ddbcf5418ff6402432d14ad91a40d9bea9 Author: Ben Shelton <benjamin.h.shelton@xxxxxxxxx> Date: Thu Oct 29 16:20:31 2015 -0500 PCI: Enable SR-IOV ARI Capable Hierarchy before reading TotalVFs For some SR-IOV devices, the number of available virtual functions, i.e., TotalVFs, increases after setting the ARI Capable Hierarchy bit in the SR-IOV Control register. This violates the SR-IOV spec, r1.1, sec 3.3.6, which says TotalVFs is HwInit, but we don't need TotalVFs before setting the ARI Capable bit anyway. Set the ARI Capable Hierarchy bit (if ARI is enabled in the upstream bridge) before reading TotalVFs. [bhelgaas: changelog] Signed-off-by: Ben Shelton <benjamin.h.shelton@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 7ed4915ad60788d6b846e2cd034f49ee15698143 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Thu Oct 29 08:49:36 2015 +0100 perf unwind: Pass symbol source to libunwind Even if --symfs is used to point to the debug binaries, we send in the non-debug filenames to libunwind, which leads to libunwind not finding the debug frame. Fix this by preferring the file in --symfs, if it is available. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rabin Vincent <rabinv@xxxxxxxx> Link: http://lkml.kernel.org/r/1446104978-26429-1-git-send-email-rabin.vincent@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3af6ed84eb43c587beb5f3252222e39e65d08c61 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Thu Oct 29 08:49:37 2015 +0100 tools build: Fix libiberty feature detection Any CFLAGS or LDFLAGS set by the user need to be passed to the feature build command. This many include for example -I or -L to point to libraries and include files in custom paths. In most of the test-*.bin rules in build/feature/Makefile, we use the BUILD macro which always sends in CFLAGS and LDFLAGS. The libiberty build line however doesn't use the BUILD macro and thus needs to send in CFLAGS and LDFLAGS explicitly. Without this, when using custom CFLAGS/LDFLAGS, libiberty fails to be detected and the perf link fails with something like: LINK perf libbfd.a(bfd.o): In function `bfd_errmsg': bfd.c:(.text+0x168): undefined reference to `xstrerror' bbfd.a(opncls.o): In function `_bfd_new_bfd': opncls.c:(.text+0xe8): undefined reference to `objalloc_create' ... Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rabin Vincent <rabinv@xxxxxxxx> Link: http://lkml.kernel.org/r/1446104978-26429-2-git-send-email-rabin.vincent@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cdea01b2bf98affb7e9c44530108a4a28535eee8 Author: Davidlohr Bueso <dave@xxxxxxxxxxx> Date: Fri Oct 30 05:25:59 2015 +0900 blktrace: re-write setting q->blk_trace This is really about simplifying the double xchg patterns into a single cmpxchg, with the same logic. Other than the immediate cleanup, there are some subtleties this change deals with: (i) While the load of the old bt is fully ordered wrt everything, ie: old_bt = xchg(&q->blk_trace, bt); [barrier] if (old_bt) (void) xchg(&q->blk_trace, old_bt); [barrier] blk_trace could still be changed between the xchg and the old_bt load. Note that this description is merely theoretical and afaict very small, but doing everything in a single context with cmpxchg closes this potential race. (ii) Ordering guarantees are obviously kept with cmpxchg. (iii) Gets rid of the hacky-by-nature (void)xchg pattern. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> eviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d509db0473e40134286271b1d1adadccf42ac467 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:20 2015 +0000 perf tools: Compile scriptlets to BPF objects when passing '.c' to --event This patch provides infrastructure for passing source files to --event directly using: # perf record --event bpf-file.c command This patch does following works: 1) Allow passing '.c' file to '--event'. parse_events_load_bpf() is expanded to allow caller tell it whether the passed file is source file or object. 2) llvm__compile_bpf() is called to compile the '.c' file, the result is saved into memory. Use bpf_object__open_buffer() to load the in-memory object. Introduces a bpf-script-example.c so we can manually test it: # perf record --clang-opt "-DLINUX_VERSION_CODE=0x40200" --event ./bpf-script-example.c sleep 1 Note that '--clang-opt' must put before '--event'. Futher patches will merge it into a testcase so can be tested automatically. 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/1444826502-49291-10-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 71dc2326252ff1bcdddc05db03c0f831d16c9447 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:19 2015 +0000 perf record: Add clang options for compiling BPF scripts Although previous patch allows setting BPF compiler related options in perfconfig, on some ad-hoc situation it still requires passing options through cmdline. This patch introduces 2 options to 'perf record' for this propose: --clang-path and --clang-opt. 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: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1444826502-49291-9-git-send-email-wangnan0@xxxxxxxxxx [ Add the new options to the 'record' man page ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1f45b1d49073541947193bd7dac9e904142576aa Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:18 2015 +0000 perf bpf: Attach eBPF filter to perf event This is the final patch which makes basic BPF filter work. After applying this patch, users are allowed to use BPF filter like: # perf record --event ./hello_world.o ls A bpf_fd field is appended to 'struct evsel', and setup during the callback function add_bpf_event() for each 'probe_trace_event'. PERF_EVENT_IOC_SET_BPF ioctl is used to attach eBPF program to a newly created perf event. The file descriptor of the eBPF program is passed to perf record using previous patches, and stored into evsel->bpf_fd. It is possible that different perf event are created for one kprobe events for different CPUs. In this case, when trying to call the ioctl, EEXIST will be return. This patch doesn't treat it as an error. Committer note: The bpf proggie used so far: __attribute__((section("fork=_do_fork"), used)) int fork(void *ctx) { return 0; } char _license[] __attribute__((section("license"), used)) = "GPL"; int _version __attribute__((section("version"), used)) = 0x40300; failed to produce any samples, even with forks happening and it being running in system wide mode. That is because now the filter is being associated, and the code above always returns zero, meaning that all forks will be probed but filtered away ;-/ Change it to 'return 1;' instead and after that: # trace --no-syscalls --event /tmp/foo.o 0.000 perf_bpf_probe:fork:(ffffffff8109be30)) 2.333 perf_bpf_probe:fork:(ffffffff8109be30)) 3.725 perf_bpf_probe:fork:(ffffffff8109be30)) 4.550 perf_bpf_probe:fork:(ffffffff8109be30)) ^C# And it works with all tools, including 'perf trace'. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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/1444826502-49291-8-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 50f1e6d0431d3343cb506037c43ce623bd15581f Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Oct 28 21:44:50 2015 +0100 perf tools: Make sure fixdep is built before libbpf While doing 'make -C tools/perf build-test': LD fixdep-in.o LINK fixdep /bin/sh: /home/acme/git/linux/tools/build/fixdep: Permission denied make[6]: *** [bpf.o] Error 1 make[5]: *** [libbpf-in.o] Error 2 make[4]: *** [/home/acme/git/linux/tools/lib/bpf/libbpf.a] Error 2 make[4]: *** Waiting for unfinished jobs.... The fixdep tool needs to be built as the first binary. Libraries are built in paralel, so each of them needs to depend on fixdep target. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20151028204450.GA25553@xxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc323ce8e72d6d1beb9af9bbd29c4d55ce3d7fb0 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 31 18:41:13 2015 +0200 perf script: Enable printing of branch stack This patch improves perf script by enabling printing of the branch stack via the 'brstack' and 'brstacksym' arguments to the field selection option -F. The option is off by default and operates only if the perf.data file has branch stack content. The branches are printed in to/from pairs. The most recent branch is printed first. The number of branch entries vary based on the underlying hardware and filtering used. The brstack prints FROM/TO addresses in raw hexadecimal format. The brstacksym prints FROM/TO addresses in symbolic form wherever possible. $ perf script -F ip,brstack 5d3000 0x401aa0/0x5d2000/M/-/-/-/0 ... $ perf script -F ip,brstacksym 4011e0 noploop+0x0/noploop+0x0/P/-/-/0 The notation F/T/M/X/A/C describes the attributes of the branch. F=from, T=to, M/P=misprediction/prediction, X=TSX, A=TSX abort, C=cycles (SKL) 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> Cc: Yuanfang Chen <cyfmxc@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441039273-16260-5-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit be69e1c19f0efb091f29521715c380842fa4cd7e Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 29 14:18:13 2015 -0400 fs/ext4: remove unnecessary new_valid_dev check As new_valid_dev always returns 1, so !new_valid_dev check is not needed, remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f3dd1649122b9e73f869e5304d5fa8554e128b7a Author: Andreas Gruenbacher <agruenba@xxxxxxxxxx> Date: Thu Oct 29 10:58:09 2015 -0500 gfs2: Remove gl_spin define Commit e66cf161 replaced the gl_spin spinlock in struct gfs2_glock with a gl_lockref lockref and defined gl_spin as gl_lockref.lock (the spinlock in gl_lockref). Remove that define to make the references to gl_lockref.lock more obvious. Signed-off-by: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit cb083816ab5ac3d10a9417527f07fc5962cc3808 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Oct 26 21:42:33 2015 +0000 arm64: page-align sections for DEBUG_RODATA A kernel built with DEBUG_RO_DATA && !CONFIG_DEBUG_ALIGN_RODATA doesn't have .text aligned to a page boundary, though fixup_executable works at page-granularity thanks to its use of create_mapping. If .text is not page-aligned, the first page it exists in may be marked non-executable, leading to failures when an attempt is made to execute code in said page. This patch upgrades ALIGN_DEBUG_RO and ALIGN_DEBUG_RO_MIN to force page alignment for DEBUG_RO_DATA && !CONFIG_DEBUG_ALIGN_RODATA kernels, ensuring that all sections with specific RWX permission requirements are mapped with the correct permissions. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Reported-by: Jeremy Linton <jeremy.linton@xxxxxxx> Reviewed-by: Laura Abbott <laura@xxxxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Suzuki Poulose <suzuki.poulose@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Fixes: da141706aea52c1a ("arm64: add better page protections to arm64") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 86a5906e4d1df1ec160fa9e18b6f2277a5216c60 Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Tue Oct 27 17:40:26 2015 +0000 arm64: Fix build with CONFIG_ZONE_DMA=n Trying to build with CONFIG_ZONE_DMA=n leaves visible references to the now-undefined ZONE_DMA, resulting in a syntax error. Hide the references behind an #ifdef instead of using IS_ENABLED. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 5accd17d0eb523350c9ef754d655e379c9bb93b3 Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Thu Oct 22 15:41:52 2015 +0100 arm64: Fix compat register mappings For reasons not entirely apparent, but now enshrined in history, the architectural mapping of AArch32 banked registers to AArch64 registers actually orders SP_<mode> and LR_<mode> backwards compared to the intuitive r13/r14 order, for all modes except FIQ. Fix the compat_<reg>_<mode> macros accordingly, in the hope of avoiding subtle bugs with KVM and AArch32 guests. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 73effccb9196ccc0241c3fb51dfd8de1d14ae8ed Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Oct 29 15:07:25 2015 +0100 arm64/efi: do not assume DRAM base is aligned to 2 MB The current arm64 Image relocation code in the UEFI stub assumes that the dram_base argument it receives is always a multiple of 2 MB. In reality, it is simply the lowest start address of all RAM entries in the UEFI memory map, which means it could be any multiple of 4 KB. Since the arm64 kernel Image needs to reside TEXT_OFFSET bytes beyond a 2 MB aligned base, or it will fail to boot, make sure we round dram_base to 2 MB before using it to calculate the relocation address. Fixes: e38457c361b30c5a ("arm64: efi: prefer AllocatePages() over efi_low_alloc() for vmlinux") Reported-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 39bfc271bd687be2c8e396e976c0fb9a97963400 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:49 2015 +0300 IB/core: Remove old fast registration API No callers and no providers left, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5eae15927b3bccca6497506c8da38895da029b98 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Oct 29 17:33:32 2015 +0200 IB/ipath: Remove fast registration from the code The driver does not support it anyway, and the support should be added to a generic layer shared by both hfi1, qib and softroce drivers. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 349abd059ed195c75b5f787102a333a4dae10775 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Oct 29 17:33:31 2015 +0200 IB/hfi1: Remove fast registration from the code The driver does not support it anyway, and the support should be added to a generic layer shared by both hfi1, qib and softroce drivers. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 116ef0fcc9268a876c8d1bbf77d8fa80111fa526 Merge: 9ffecb1 38850d7 a4283e4 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Oct 29 15:21:30 2015 +0000 Merge branches 'fixes' and 'misc' into for-next commit 38850d786a799c3ff2de0dc1980902c3263698dc Author: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Date: Wed Oct 28 19:00:26 2015 +0100 ARM: 8449/1: fix bug in vdsomunge swab32 macro Commit 8a603f91cc48 ("ARM: 8445/1: fix vdsomunge not to depend on glibc specific byteswap.h") unfortunately introduced a bug created but not found during discussion and patch simplification. Reported-by: Efraim Yawitz <efraim.yawitz@xxxxxxxxx> Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Fixes: 8a603f91cc48 ("ARM: 8445/1: fix vdsomunge not to depend on glibc specific byteswap.h") Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ae93580ee59c02395c1711d3e6b90546b8137b86 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Oct 27 10:56:44 2015 -0400 drm/radeon: fix dpms when driver backlight control is disabled If driver backlight control is disabled, either by driver parameter or default per-asic setting, revert to the old behavior. Fixes a regression in commit: 4281f46ef839050d2ef60348f661eb463c21cc2e Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 4cee6a9057d5e13911f0cb6e143d11dc1a3245dd Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 28 14:26:32 2015 -0400 drm/radeon: move bl encoder assignment into bl init So that the bl encoder will be null if the GPU does not control the backlight. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 46b708ea875f14f5496109df053624199f3aae87 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 23 15:24:03 2015 +0200 KVM: s390: use simple switch statement as multiplexer We currently do some magic shifting (by exploiting that exit codes are always a multiple of 4) and a table lookup to jump into the exit handlers. This causes some calculations and checks, just to do an potentially expensive function call. Changing that to a switch statement gives the compiler the chance to inline and dynamically decide between jump tables or inline compare and branches. In addition it makes the code more readable. bloat-o-meter gives me a small reduction in code size: add/remove: 0/7 grow/shrink: 1/1 up/down: 986/-1334 (-348) function old new delta kvm_handle_sie_intercept 72 1058 +986 handle_prog 704 696 -8 handle_noop 54 - -54 handle_partial_execution 60 - -60 intercept_funcs 120 - -120 handle_instruction 198 - -198 handle_validity 210 - -210 handle_stop 316 - -316 handle_external_interrupt 368 - -368 Right now my gcc does conditional branches instead of jump tables. The inlining seems to give us enough cycles as some micro-benchmarking shows minimal improvements, but still in noise. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit 58c383c62e1a4379cee531b56e4293211f2d5ded Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Oct 12 13:27:29 2015 +0200 KVM: s390: drop useless newline in debugging data the s390 debug feature does not need newlines. In fact it will result in empty lines. Get rid of 4 leftovers. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit c5c2c393468576bad6d10b2b5fefff8cd25df3f4 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 08:41:29 2015 +0100 KVM: s390: SCA must not cross page boundaries We seemed to have missed a few corner cases in commit f6c137ff00a4 ("KVM: s390: randomize sca address"). The SCA has a maximum size of 2112 bytes. By setting the sca_offset to some unlucky numbers, we exceed the page. 0x7c0 (1984) -> Fits exactly 0x7d0 (2000) -> 16 bytes out 0x7e0 (2016) -> 32 bytes out 0x7f0 (2032) -> 48 bytes out One VCPU entry is 32 bytes long. For the last two cases, we actually write data to the other page. 1. The address of the VCPU. 2. Injection/delivery/clearing of SIGP externall calls via SIGP IF. Especially the 2. happens regularly. So this could produce two problems: 1. The guest losing/getting external calls. 2. Random memory overwrites in the host. So this problem happens on every 127 + 128 created VM with 64 VCPUs. Cc: stable@xxxxxxxxxxxxxxx # v3.15+ Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 729a78417a7b5c1f59e15d21a1900758375c4647 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 29 11:48:18 2015 -0300 perf trace: Add cmd string table to decode sys_bpf first arg # perf trace -e bpf perf record -e /tmp/foo.o -a 362.779 (0.130 ms): perf/3451 bpf(cmd: PROG_LOAD, uattr: 0x7ffe9a6825d0, size: 48) = 3 Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2b0nknu53baz9e0wj4thcdd8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 89bc7848a91bc99532f5c21b2885472ba710f249 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 13:21:04 2015 +0100 ipv6: protect mtu calculation of wrap-around and infinite loop by rounding issues Raw sockets with hdrincl enabled can insert ipv6 extension headers right into the data stream. In case we need to fragment those packets, we reparse the options header to find the place where we can insert the fragment header. If the extension headers exceed the link's MTU we actually cannot make progress in such a case. Instead of ending up in broken arithmetic or rounding towards 0 and entering an endless loop in ip6_fragment, just prevent those cases by aborting early and signal -EMSGSIZE to user space. This is the second version of the patch which doesn't use the overflow_usub function, which got reverted for now. Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e0d69a9cc9172d7896c2113f983a74f6e8ff303 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 13:21:03 2015 +0100 Revert "Merge branch 'ipv6-overflow-arith'" Linus dislikes these changes. To not hold up the net-merge let's revert it for now and fix the bug like Linus suggested. This reverts commit ec3661b42257d9a06cf0d318175623ac7a660113, reversing changes made to c80dbe04612986fd6104b4a1be21681b113b5ac9. Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8aaa878de83a0de3833f5b00bc822dbcd403ec36 Merge: 845da6e 13eff53 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Thu Oct 29 15:34:27 2015 +0200 Merge ath-next from ath.git Major changes: ath10k: * add QCA9377 support * fw_stats support for 10.4 firmware ath6kl: * report antenna configuration to user space * implement ethtool stats commit 5a364c2a1762e8a78721fafc93144509c0b6cb84 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Feb 6 18:44:57 2015 +0300 ARC: mm: PAE40 support This is the first working implementation of 40-bit physical address extension on ARCv2. Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 66a565c203bc31b76969711fbd92da11bee2f129 Merge: 6fc774e 4edf30e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 29 13:17:56 2015 +0100 Merge tag 'perf-ebpf-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull basic perf/ebpf integration: "Please see the changeset comments, but this is the very basic integration of perf with libbpf that, given a .o file built for the 'bpf' target with clang, will get it validated and loaded into the kernel via the sys_bpf syscall, which can be seen using 'perf trace' to trace the whole thing looking just for the bpf and perf_event_open syscalls: # perf trace -e bpf,perf_event_open perf record -g --event /tmp/foo.o -a 362.779 ( 0.129 ms): perf/22408 bpf(cmd: 5, uattr: 0x7ffd4edb6db0, size: 48 ) = 3 384.192 ( 0.016 ms): perf/22408 perf_event_open(attr_uptr: 0x7ffd4edbace0, pid: -1, cpu: 3, group_fd: -1, flags: FD_CLOEXEC) = 5 384.247 ( 0.038 ms): perf/22408 perf_event_open(attr_uptr: 0x37aedd8, pid: -1, group_fd: -1, flags: FD_CLOEXEC) = 5 384.261 ( 0.007 ms): perf/22408 perf_event_open(attr_uptr: 0x37aedd8, pid: -1, group_fd: -1, flags: FD_CLOEXEC) = 5 387.680 ( 3.413 ms): perf/22408 perf_event_open(attr_uptr: 0x3222f08, pid: -1, group_fd: -1, flags: FD_CLOEXEC) = 5 387.688 ( 0.005 ms): perf/22408 perf_event_open(attr_uptr: 0x3222f08, pid: -1, cpu: 1, group_fd: -1, flags: FD_CLOEXEC) = 6 387.693 ( 0.004 ms): perf/22408 perf_event_open(attr_uptr: 0x3222f08, pid: -1, cpu: 2, group_fd: -1, flags: FD_CLOEXEC) = 7 387.698 ( 0.003 ms): perf/22408 perf_event_open(attr_uptr: 0x3222f08, pid: -1, cpu: 3, group_fd: -1, flags: FD_CLOEXEC) = 8 ^C[ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.221 MB perf.data (2 samples) ] # perf script bash 18389 [002] 83446.412607: perf_bpf_probe:fork: (ffffffff8109be30) 29be31 _do_fork (/lib/modules/4.3.0-rc6+/build/vmlinux) 96d662 tracesys_phase2 (/lib/modules/4.3.0-rc6+/build/vmlinux) bd56c __libc_fork (/usr/lib64/libc-2.17.so) 413b2 make_child (/usr/bin/bash) bash 18389 [002] 83447.227255: perf_bpf_probe:fork: (ffffffff8109be30) 29be31 _do_fork (/lib/modules/4.3.0-rc6+/build/vmlinux) 96d662 tracesys_phase2 (/lib/modules/4.3.0-rc6+/build/vmlinux) bd56c __libc_fork (/usr/lib64/libc-2.17.so) 413b2 make_child (/usr/bin/bash) # perf evlist -v perf_bpf_probe:fork: type: 2, size: 112, config: 0x6cf, { sample_period, sample_freq }: 1, sample_type: IP|TID|TIME|CALLCHAIN|CPU|PERIOD|RAW, disabled: 1, inherit: 1, mmap: 1, comm: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 # More work is about to be reviewed, tested and merged that will allow the whole process of going from a .c file to an .o file via clang, etc to be done automagically. (Wang Nan)" Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13eff5311382cb109725363026cdb4717714bf65 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Thu Oct 22 09:07:39 2015 -0700 ath6kl: implement ethtool stats This supports a way to get target stats through normal ethtool stats API. For instance: # ethtool -S wlan1 NIC statistics: tx_pkts_nic: 353 tx_bytes_nic: 25142 rx_pkts_nic: 6 rx_bytes_nic: 996 d_tx_ucast_pkts: 89 d_tx_bcast_pkts: 264 d_tx_ucast_bytes: 3020 d_tx_bcast_bytes: 22122 ... Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0370248379579aa0274c8f14f2d9af1f32388104 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Thu Oct 22 09:07:38 2015 -0700 ath6kl: break stats gathering code into separate method This will allow us to call it from elsewhere when implementing ethtool stats. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 53cc3291bcfbefc0b3f1e3b7b30ed028b5f1a75d Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Wed Oct 21 14:53:21 2015 -0700 ath6kl: fix firmware version assignment Improper use of strlcpy caused garbage to be appended to the firmware version string. Fix this by paying attention to the ie_lenth. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7fd98524560cac3a629aa1130d45260d4469d254 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Wed Oct 21 14:53:20 2015 -0700 ath6kl: add error message to explain lack of HT It can take a user a while to understand why their NIC that advertises 802.11n support cannot actually do 802.11n. Print out a warning in the logs to save the next poor person to use this NIC some trouble. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9c2e90ffc97a8f45b98d81345d8f2eff192d09ef Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Wed Oct 21 14:53:19 2015 -0700 ath6kl: report antenna configuration This lets 'iw phy phy0 info' report antennas for the radio device: ... Available Antennas: TX 0x2 RX 0x2 Configured Antennas: TX 0x2 RX 0x2 ... Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5140a5fde2b44d366338e00ad7c2a7ede8be3e65 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 25 15:59:24 2015 +0200 wil6210: handle failure in Tx vring config When configuring Tx vring for new connection, WMI call to the firmware may fail. In this case, need to clean up properly. In particular, need to call cfg80211_del_sta() in case of AP like interface. Perform full "disconnect" procedure for proper clean up Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 817f18534412532198bf3da8dfd2663a1d75a7de Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 25 15:59:23 2015 +0200 wil6210: fix device ready detection Adjust driver behavior during FW boot. Proper sequence of events after reset and FW download, is as following: - FW prepares mailbox structure and reports IRQ "FW_READY" - driver caches mailbox registers, marks mailbox readiness - FW sends WMI_FW_READY event, ignore it - FW sends WMI_READY event with some data - driver stores relevant data marks FW is operational Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit e3d2ed9434331dedb9eeece586d38aec9e29f60b Author: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Date: Sun Oct 25 15:59:22 2015 +0200 wil6210: Fix TSO overflow handling When Tx ring full is encountered with TSO, printout of "DMA error" was wrongly printed. In addition, in case of Tx ring full return proper error code so that NETDEV_TX_BUSY is returned to network stack in order not to drop the packets and retry transmission of the packets when ring is emptied. Signed-off-by: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b03fbab0c4d502510400b7ee5fb3d5bab6d859bf Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 25 15:59:21 2015 +0200 wil6210: ignore selected WMI events Some events are ignored for purpose; such events should not be treated as "unhandled events". Replace info message saying "unhandled" with debug one saying "ignore", to reduce dmesg pollution Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a226b519d43a2a6b37267fea051aacb4a79c9614 Author: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Date: Wed Oct 28 15:09:53 2015 +0100 ath10k: add QCA9377 chipset support Add the hardware name, revision and update the pci_id table. Currently there're two HW ref. designs available I'm aware of, with 1.0.2 and 1.1 chip revisions. I've access and been using the first one so far and this patch cover only it. QCA9377 inherits most of the stuff (e.g. fw interfaces) from QCA61x4 design, so the integration was pretty straightforward. Signed-off-by: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5036fe0f6fae8a961745f5cf8d82a2a4912ae1ef Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:51:14 2015 +0530 ath10k: reload HT/VHT capabilities on antenna change To reflect configured antenna settings in HT/VHT MCS map, reload the HT/VHT capabilities upon antenna change. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f58512f336bbb166610be4a4c42ec1184edcd426 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:51:13 2015 +0530 ath10k: move static HT/VHT capability setup functions Move HT and VHT capabiltity setup static functions to avoid forward declaration. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7a1d70ab05488146d20cfc8fb9e4acfd132c7bf5 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:51:12 2015 +0530 ath10k: fill HT/VHT MCS rateset only for configured chainmask HT/VHT MCS rateset should be filled only for configured chainmask rather that max supported chainmask. Fix that by checking configured chainmask while filling HT/VHT MCS rate map. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 166de3f1895dfc49d1f16cc39fd76dab6d7961d2 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:51:11 2015 +0530 ath10k: remove supported chain mask Removing supported chainmask fields as it can be always derived from num_rf_chains. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b4c306d0c53ec1b444a4da1f1a3fefaace6b486e Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:01:06 2015 +0530 ath10k: remove shadow copy of CE descriptors for source ring For the messages from host to target, shadow copy of CE descriptors are maintained in source ring. Before writing actual CE descriptor, first shadow copy is filled and then it is copied to CE address space. To optimize in download path and to reduce d-cache pressure, removing shadow copy of CE descriptors. This will also reduce driver memory consumption by 33KB during on device probing. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 765952e40dbadd4a74a44f55ac1344c338571bb9 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:01:05 2015 +0530 ath10k: cleanup copy engine send completion The physical address necessary to unmap DMA ('bufferp') is stored in ath10k_skb_cb as 'paddr'. ath10k doesn't rely on the meta/transfer_id when handling send completion (htc ep id is stored in sk_buff control buffer). So the unused output arguments {bufferp, nbytesp and transfer_idp} are removed from CE send completion. This change is needed before removing the shadow copy of copy engine (CE) descriptors in follow up patch. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1e8f86d9cbe9431dcda36fdd85a9f342d639dca5 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:01:04 2015 +0530 ath10k: remove send completion validation in diag read/write CE diag window access is serialized (it has to be by design) so there's no way to get a different send completion. so there's no need for post completion validation. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b4e84c5606f6c91a3fff96c25b9347dc75b2002d Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:01:03 2015 +0530 ath10k: use local memory instead of shadow descriptor in ce_send Currently to avoid uncached memory access while filling up copy engine descriptors, shadow descriptors are used. This can be optimized further by removing shadow descriptors. To achieve that first shadow ring dependency in ce_send is removed by creating local copy of the descriptor on stack and make a one-shot copy into the "uncached" descriptor. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 98dd2b92bb591007e82fb58808f60134ee4479bf Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 21:38:33 2015 +0200 ath10k: add fw_stats support to 10.4 firmware This patch adds support for getting firmware debug stats in 10.4 fw. Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Tamizh chelvam <c_traja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a81a98cee94519807e826e199bb579a546efa289 Author: Alan Liu <alanliu@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 21:38:32 2015 +0200 ath10k: add FW API support to test mode Add WMI-TLV and FW API support in ath10k testmode. Ath10k can get right wmi command format from UTF image to communicate UTF firmware. Signed-off-by: Alan Liu <alanliu@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7cc8d580228cc712edcf7a1856a3bdb38c164e83 Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Wed Oct 21 19:49:42 2015 +0900 mmc: dw_mmc: fix the wrong setting for UHS-DDR50 mode When card is running with DDR mode, dwmmc needs to set DDR_REG bit at UHS_REG register. Before this patch, dwmmc controller doesn't consider this. If this patch is not applied, CRC or other error shoulds be occurred. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 98daafd8a09d9a514bc2166709731d659037003b Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Wed Oct 21 19:49:41 2015 +0900 mmc: dw_mmc: fix the CardThreshold boundary at CardThrCtl register According to DesignWare DoC file, CardThreshold bit should be bit[27:16]. So it's correct to use (0xFFF << 16), not (0x1FFF << 16). Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4539d36ef2bbf2ee1519e7cfb51c6fdddda3e4e6 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 22 22:53:46 2015 +0300 mmc: dw_mmc: NULL dereference in error message The "host->dms->ch" pointer is NULL here so we can't use it to print the error message. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6fc774ef4ceca99c35dd3fb230dab618f78c8d6f Merge: 4341801 443f8c7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 29 10:29:18 2015 +0100 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: - Enable per-event perf_event_attr.inherit setting by config terms, i.e. this becomes possible: $ perf record -e cycles/inherit/ -e instructions/no-inherit/ This affects the default, that can be changed globally using the --no-inherit option. This fine grained control appeared in the eBPF patchkit, but this added flexibility may end up being useful in other scenarios. (Wang Nan) - Setup pager when printing usage and help, we have long lists of options, better use the pager like we do with normal tooling output, i.e. when needed, and including any error messages in the paged output. (Namhyung Kim) - Search for more options when passing args to -h, e.g.: (Arnaldo Carvalho de Melo) $ perf report -h interface Usage: perf report [<options>] --gtk Use the GTK2 interface --stdio Use the stdio interface --tui Use the TUI interface - Fix reading separate debuginfo files based on a build-id, problem found on a Debian system. (Dima Kogan) - Fix endless loop when splitting kallsyms symbols per section for handling kcore files, problem found on a s390x system. (Jiri Olsa) Infrastructure changes: - Prep work for the 'perf stat record' work that will allow generating perf.data files with counting data in addition to the sampling mode we have now (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ca0640850e43f5f80c6029e2895b119b705f23bd Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Thu Oct 29 17:57:29 2015 +0900 nvme: LightNVM support The first generation of Open-Channel SSDs is based on NVMe. The NVMe driver is extended with support for the LightNVM command set. Detection is made through PCI IDs. Current supported devices are the qemu nvme simulator and CNEX Labs Westlake SSD. The qemu nvme enables support through vendor specific bits in the namespace identification and the CNEX Labs Westlake SSD implements a LightNVM compatible firmware and is detected using the same method as qemu. After detection, vendor specific codes are used to identify the device and enumerate supported features. Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Javier González <jg@xxxxxxxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0b48d12d0365a628d2257a4560b3b06c825fe1cd Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:44 2015 +0530 megaraid_sas: Make PI enabled VD 8 byte DMA aligned Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 91626c2701acad605c434b5e8245cbeea6671382 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:34 2015 +0530 megaraid_sas: Initialize tasklet before setting up IRQs It may happen (kdump), that an interrupt is invoked just after the setup_irqs function was called but before the tasklet was initialised. At this phase the hw ints should have been disabled, but for unknown reason this mechanism seems to not work properly. From: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3222251dbbe9f155e7b8c910b770d6ff922fb47e Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:24 2015 +0530 megaraid_sas: Indicate online firmware upgrade support for Secure JBOD feature Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit c4bd265415d5b06d7e3615c53036f589f300076e Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:14 2015 +0530 megaraid_sas: Update OCR capability on controller properties change Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit ae1519ec448bc31a7fe7369b66e7c78872f91e84 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Wed Oct 28 19:54:57 2015 +0100 rrpc: Round-robin sector target with cost-based gc This target allows an Open-Channel SSD to be exposed asas a block device. It implements a round-robin approach for sector allocation, together with a greedy cost-based garbage collector. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 48add0f5a6f46919dd307575aad6ea3de7c9cb2a Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Wed Oct 28 19:54:56 2015 +0100 gennvm: Generic NVM manager The implementation for Open-Channel SSDs is divided into media management and targets. This patch implements a generic media manager for open-channel SSDs. After a media manager has been initialized, single or multiple targets can be instantiated with the media managed as the backend. Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit cd9e9808d18fe7107c306f6e71c8be7230ee42b4 Author: Matias Bjørling <m@xxxxxxxxxxx> Date: Wed Oct 28 19:54:55 2015 +0100 lightnvm: Support for Open-Channel SSDs Open-channel SSDs are devices that share responsibilities with the host in order to implement and maintain features that typical SSDs keep strictly in firmware. These include (i) the Flash Translation Layer (FTL), (ii) bad block management, and (iii) hardware units such as the flash controller, the interface controller, and large amounts of flash chips. In this way, Open-channels SSDs exposes direct access to their physical flash storage, while keeping a subset of the internal features of SSDs. LightNVM is a specification that gives support to Open-channel SSDs LightNVM allows the host to manage data placement, garbage collection, and parallelism. Device specific responsibilities such as bad block management, FTL extensions to support atomic IOs, or metadata persistence are still handled by the device. The implementation of LightNVM consists of two parts: core and (multiple) targets. The core implements functionality shared across targets. This is initialization, teardown and statistics. The targets implement the interface that exposes physical flash to user-space applications. Examples of such targets include key-value store, object-store, as well as traditional block devices, which can be application-specific. Contributions in this patch from: Javier Gonzalez <jg@xxxxxxxxxxx> Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Jesper Madsen <jmad@xxxxxx> Signed-off-by: Matias Bjørling <m@xxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 357ae967ad66e357f78b5cfb5ab6ca07fb4a7758 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:40:04 2015 +0530 megaraid_sas: Do not use PAGE_SIZE for max_sectors Do not use PAGE_SIZE marco to calculate max_sectors per I/O request. Driver code assumes PAGE_SIZE will be always 4096 which can lead to wrongly calculated value if PAGE_SIZE is not 4096. This issue was reported in Ubuntu Bugzilla Bug #1475166. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 7364d34b878d78c4df90d0e6a5e06f8ad0c283e4 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:39:54 2015 +0530 megaraid_sas: Support for Cutlass (12 Gbps) controller Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 90c204bc59a313bf03a0641caee3e2b5945629b5 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:39:44 2015 +0530 megaraid_sas: Support for Intruder (12 Gbps) controller Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 5a8cb85b569b2349493aadb81a747e077766907d Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:39:34 2015 +0530 megaraid_sas: Remove PCI id checks Remove PCI id based checks and use instance->ctrl_context to decide whether controller is MFI-based or a Fusion adapter. Additionally, Fusion adapters are divided into two categories: Thunderbolt and Invader. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 0d5b47a724bab0ebaaa933d6ff5e584957aaa188 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Thu Oct 15 13:39:24 2015 +0530 megaraid_sas: Expose TAPE drives unconditionally Expose non-disk (TAPE drive, CD-ROM) unconditionally. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 001e2e730ce4e6dc2cd97fcb169097febfc7b200 Author: Marc Titinger <mtitinger@xxxxxxxxxxxx> Date: Tue Oct 27 10:51:08 2015 +0100 hwmon: (ina2xx) give precedence to DT over checking for platform data. when checking for the value of the shunt resistor. Signed-off-by: Marc Titinger <mtitinger@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit a0de56c81fcf9f1a691e22e519b0dff21c48c645 Author: Marc Titinger <mtitinger@xxxxxxxxxxxx> Date: Wed Oct 28 12:04:53 2015 +0100 hwmon: (ina2xx) convert driver to using regmap Any sysfs "show" read access from the client app will result in reading all registers (8 with ina226). Depending on the host this can limit the best achievable read rate. This changeset allows for individual register accesses through regmap. Tested with BeagleBone Black (Baylibre-ACME) and ina226. Signed-off-by: Marc Titinger <mtitinger@xxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 609fb07b2bdebe5d2c6a9da7e9d8e05155086418 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:24:21 2015 +0530 megaraid_sas: Version update Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 92bb6505785b632a1b0f735b21c4b34326ec048f Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:24:11 2015 +0530 megaraid_sas: Code refactor for use of requestorId Some of these code changes were proposed by David Binderman. Removed redudant check of requestorId. Redundant condition: instance.requestorId. Check for plasma firmware 1.11 are now restructured to support only specific device id. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 75b96061eb95c9b9f8a1da6995f1c314526f3572 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:24:01 2015 +0530 megaraid_sas: Fix validHandles check in I/O path Syncro firmware supports round robin I/O switching on dual path. Driver uses validHandles to check for dual path. However, it is supposed to check for values > 1 (not > 2). Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 714f517745729e060ef716d16026e26e5fce591f Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:51 2015 +0530 megaraid_sas: Print critical firmware event messages Print firmware events in human-readable form. This will help users track any critical firmware events without special application support. Sample syslogd output: megaraid_sas 0000:02:00.0: 8619 (491648347s/0x0020/WARN) - Controller temperature threshold exceeded. This may indicate inadequate system cooling. Switching to low performance mode. The format of logged events is: "<pci_dev_id>: <sequence_number> (<timestamp>/<locale>/<class>) - <description>" Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 79b82c2c560025afbb88ba7ad5cddb9c2203cf2e Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:41 2015 +0530 megaraid_sas: Chip reset if driver fails to get IOC ready Fix the issue reported at: http://marc.info/?l=linux-scsi&m=143694494104544&w=2 Try to do chip reset at driver load time. If firmware fails to reach ready state, try chip reset using adp_reset() callback. For Fusion adapters the call back was previously void. Provide a suitable reset function. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit bd5f9484262a13397a0725f4a43f7baaa3341125 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:31 2015 +0530 megaraid_sas: Support for max_io_size 1MB Driver will expose max sge = 256 (earlier it was 64) if firmware supports extended IO size (1M). Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 4dbbe3cec443f0c6867e7ef549704966fbd6f48b Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:21 2015 +0530 megaraid_sas: Code cleanup-use local variable drv_ops inside megasas_ioc_init_fusion Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 3761cb4cf65ec78846b4b8cba9c0578bb10f92d5 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:11 2015 +0530 megaraid_sas: JBOD sequence number support Implemented JBOD map which will provide quick access for JBOD path and also provide sequence number. This will help hardware to fail command to the FW in case of any sequence mismatch. Fast Path I/O for JBOD will refer JBOD map (which has sequence number per JBOD device) instead of RAID map. Previously, the driver used RAID map to get device handle for fast path I/O and this not have sequence number information. Now, driver will use JBOD map instead. As part of error handling, if JBOD map is failed/not supported by firmware, driver will continue using legacy behavior. Now there will be three IO paths for JBOD (syspd): - JBOD map with sequence number (Fast Path) - RAID map without sequence number (Fast Path) - FW path via h/w exception queue deliberately setup devhandle 0xFFFF (FW path). Relevant data structures: - Driver send new DCMD MR_DCMD_SYSTEM_PD_MAP_GET_INFO for this purpose. - struct MR_PD_CFG_SEQ- This structure represent map of single physical device. - struct MR_PD_CFG_SEQ_NUM_SYNC- This structure represent whole JBOD map in general(size, count of sysPDs configured, struct MR_PD_CFG_SEQ of syspD with 0 index). - JBOD sequence map size is: sizeof(struct MR_PD_CFG_SEQ_NUM_SYNC) + (sizeof(struct MR_PD_CFG_SEQ) * (MAX_PHYSICAL_DEVICES - 1)) which is allocated while setting up JBOD map at driver load time. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit e0bd0874f2de21613e572669b2de1e4b0c3a97de Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:23:01 2015 +0530 megaraid_sas: Increase timeout to 60 secs for abort frames during shutdown Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit 0be3f4c9e6b8f12c8c0d7b156b995b30134c7448 Author: sumit.saxena@xxxxxxxxxxxxx <sumit.saxena@xxxxxxxxxxxxx> Date: Mon Aug 31 17:22:51 2015 +0530 megaraid_sas: Synchronize driver headers with firmware APIs Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> commit d57456753787ab158f906f1f8eb58d54a2ccd9f4 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 29 11:43:05 2015 +0900 cgroup: fix race condition around termination check in css_task_iter_next() css_task_iter_next() checked @it->cur_task before grabbing css_set_lock and assumed that the result won't change afterwards; however, tasks could leave the cgroup being iterated terminating the iterator before css_task_lock is acquired. If this happens, css_task_iter_next() tries to calculate the current task from NULL cg_list pointer leading to the following oops. BUG: unable to handle kernel paging request at fffffffffffff7d0 IP: [<ffffffff810d5f22>] css_task_iter_next+0x42/0x80 ... CPU: 4 PID: 6391 Comm: JobQDisp2 Not tainted 4.0.9-22_fbk4_rc3_81616_ge8d9cb6 #1 Hardware name: Quanta Freedom/Winterfell, BIOS F03_3B08 03/04/2014 task: ffff880868e46400 ti: ffff88083404c000 task.ti: ffff88083404c000 RIP: 0010:[<ffffffff810d5f22>] [<ffffffff810d5f22>] css_task_iter_next+0x42/0x80 RSP: 0018:ffff88083404fd28 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff88083404fd68 RCX: ffff8804697fb8b0 RDX: fffffffffffff7c0 RSI: ffff8803b7dff800 RDI: ffffffff822c0278 RBP: ffff88083404fd38 R08: 0000000000017160 R09: ffff88046f4070c0 R10: ffffffff810d61f7 R11: 0000000000000293 R12: ffff880863bf8400 R13: ffff88046b87fd80 R14: 0000000000000000 R15: ffff88083404fe58 FS: 00007fa0567e2700(0000) GS:ffff88046f900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: fffffffffffff7d0 CR3: 0000000469568000 CR4: 00000000001406e0 Stack: 0000000000000246 0000000000000000 ffff88083404fde8 ffffffff810d6248 ffff88083404fd68 0000000000000000 ffff8803b7dff800 000001ef000001ee 0000000000000000 0000000000000000 ffff880863bf8568 0000000000000000 Call Trace: [<ffffffff810d6248>] cgroup_pidlist_start+0x258/0x550 [<ffffffff810cf66d>] cgroup_seqfile_start+0x1d/0x20 [<ffffffff8121f8ef>] kernfs_seq_start+0x5f/0xa0 [<ffffffff811cab76>] seq_read+0x166/0x380 [<ffffffff812200fd>] kernfs_fop_read+0x11d/0x180 [<ffffffff811a7398>] __vfs_read+0x18/0x50 [<ffffffff811a745d>] vfs_read+0x8d/0x150 [<ffffffff811a756f>] SyS_read+0x4f/0xb0 [<ffffffff818d4772>] system_call_fastpath+0x12/0x17 Fix it by moving the termination condition check inside css_set_lock. @it->cur_task is now cleared after being put and @it->task_pos is tested for termination instead of @it->cset_pos as they indicate the same condition and @it->task_pos is what's being dereferenced. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Calvin Owens <calvinowens@xxxxxx> Fixes: ed27b9f7a17d ("cgroup: don't hold css_set_rwsem across css task iteration") Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit 13d3e895faf68ab5f1981298198897a20b35827a Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:48 2015 +0300 RDMA/nes: Remove old FRWR API No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b8533eccc8eadabc559ed25e4b848c71a2433c18 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:47 2015 +0300 IB/qib: Remove old FRWR API No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d3cfd002e6586d715515c2f293cf04cf72b33002 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:46 2015 +0300 iw_cxgb4: Remove old FRWR API No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 94e585cb7467a3e4cecb7267cd8303d2b693a8b9 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:45 2015 +0300 RDMA/cxgb3: Remove old FRWR API No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 191cfed565c0435aeced5f11f6cf9b03ec380d5b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:44 2015 +0300 RDMA/ocrdma: Remove old FRWR API No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e761c67fbf20d60175750ce2994822f30f2edf6a Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:43 2015 +0300 IB/mlx4: Remove old FRWR API support No ULP uses it anymore, go ahead and remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit dd01e66a6c532a8cd183cbc02ebaef99f186345f Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:42 2015 +0300 IB/mlx5: Remove old FRWR API support No ULP uses it anymore, go ahead and remove it. Keep only the local invalidate part of the handlers. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9a21be531cacecce6c897faacd66ed4c7dbbe88b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:41 2015 +0300 IB/srp: Dont allocate a page vector when using fast_reg The new fast registration API does not reuqire a page vector so we can't avoid allocating it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 51c2b8e2ac872cd90a12c5e606eeb0daf1a91e25 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:40 2015 +0300 IB/srp: Remove srp_finish_mapping No callers left, remove it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f7f7aab1a5c0a495ae9a2d604badd1e3f9f20795 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:39 2015 +0300 IB/srp: Convert to new registration API Instead of constructing a page list, call ib_map_mr_sg and post a new ib_reg_wr. srp_map_finish_fr now returns the number of sg elements registered. Remove srp_finish_mapping since no one is calling it. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 26630e8a09b72e8783e8963781d39e7edb2a60b9 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:38 2015 +0300 IB/srp: Split srp_map_sg This is a preparation patch for the new registration API conversion. It splits srp_map_sg per registration strategy (srp_map_sg[fmr|fr|dma]. On its own it adds some code duplication, but it makes the API switch easier to comprehend. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9ddc87374af90ee694bcc8d3412c6f2b51df1fea Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:37 2015 +0300 RDS/IW: Convert to new memory registration API Get rid of fast_reg page list and its construction. Instead, just pass the RDS sg list to ib_map_mr_sg and post the new ib_reg_wr. This is done both for server IW RDMA_READ registration and the client remote key registration. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 412a15c0fe537c59c794d4e8134580b9cb984a0c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:36 2015 +0300 svcrdma: Port to new memory registration API Instead of maintaining a fastreg page list, keep an sg table and convert an array of pages to a sg list. Then call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Tested-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4143f34e01e9cdf1882f98c54d9073e4de8c28fb Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:35 2015 +0300 xprtrdma: Port to new memory registration API Instead of maintaining a fastreg page list, keep an sg table and convert an array of pages to a sg list. Then call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Tested-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 16c2d702f2c76892f47944a53d9e1ce42023046d Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:34 2015 +0300 iser-target: Port to new memory registration API Remove fastreg page list allocation as the page vector is now private to the provider. Instead of constructing the page list and fast_req work request, call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 39405885005a8b01e3523d3351ea74ae3b965842 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:33 2015 +0300 IB/iser: Port to new fast registration API Remove fastreg page list allocation as the page vector is now private to the provider. Instead of constructing the page list and fast_req work request, call ib_map_mr_sg and construct ib_reg_wr. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 0ba24dd39a3f401dd12d129a65d2e2e7fe7f96eb Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:32 2015 +0300 RDMA/nes: Support the new memory registration API Support the new memory registration API by allocating a private page list array in nes_mr and populate it when nes_map_mr_sg is invoked. Also, support IB_WR_REG_MR by duplicating IB_WR_FAST_REG_MR handling and take the needed information from different places: - page_size, iova, length (ib_mr) - page array (nes_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 38071a461f0a87a86ece011356bdac991795ce04 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:31 2015 +0300 IB/qib: Support the new memory registration API Support the new memory registration API by allocating a private page list array in qib_mr and populate it when qib_map_mr_sg is invoked. Also, support IB_WR_REG_MR by duplicating qib_fastreg_mr just take the needed information from different places: - page_size, iova, length (ib_mr) - page array (qib_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8376b86de7d35d43cf1a33a1f43bc015b5a095d9 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:30 2015 +0300 iw_cxgb4: Support the new memory registration API Support the new memory registration API by allocating a private page list array in c4iw_mr and populate it when c4iw_map_mr_sg is invoked. Also, support IB_WR_REG_MR by duplicating build_fastreg just take the needed information from different places: - page_size, iova, length (ib_mr) - page array (c4iw_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 14fb4171ab1c298101697fe844dbf062ff6f4adf Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:29 2015 +0300 RDMA/cxgb3: Support the new memory registration API Support the new memory registration API by allocating a private page list array in iwch_mr and populate it when iwch_map_mr_sg is invoked. Also, support IB_WR_REG_MR by duplicating build_fastreg just take the needed information from different places: - page_size, iova, length (ib_mr) - page array (iwch_mr) - key, access flags (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2eaa1c5647a3fd21684120f63e414367055249c7 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:28 2015 +0300 RDMA/ocrdma: Support the new memory registration API Support the new memory registration API by allocating a private page list array in ocrdma_mr and populate it when ocrdma_map_mr_sg is invoked. Also, support IB_WR_REG_MR by duplicating IB_WR_FAST_REG_MR, but take the needed information from different places: - page_size, iova, length, access flags (ib_mr) - page array (ocrdma_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 1b2cd0fc673c0bf9a37c6456267a7246fdd6a816 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:27 2015 +0300 IB/mlx4: Support the new memory registration API Support the new memory registration API by allocating a private page list array in mlx4_ib_mr and populate it when mlx4_ib_map_mr_sg is invoked. Also, support IB_WR_REG_MR by setting the exact WQE as IB_WR_FAST_REG_MR, just take the needed information from different places: - page_size, iova, length, access flags (ib_mr) - page array (mlx4_ib_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 8a187ee52b043f8201e7089e5e538974142722e0 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:26 2015 +0300 IB/mlx5: Support the new memory registration API Support the new memory registration API by allocating a private page list array in mlx5_ib_mr and populate it when mlx5_ib_map_mr_sg is invoked. Also, support IB_WR_REG_MR by setting the exact WQE as IB_WR_FAST_REG_MR, just take the needed information from different places: - page_size, iova, length, access flags (ib_mr) - page array (mlx5_ib_mr) - key (ib_reg_wr) The IB_WR_FAST_REG_MR handlers will be removed later when all the ULPs will be converted. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a7060009161344637da8cb4a389ead5fc156ea37 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:25 2015 +0300 IB/mlx5: Remove dead fmr code Just function declarations - no need for those laying arround. If for some reason someone will want FMR support in mlx5, it should be easy enough to restore a few structs. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4c67e2bfc8b7121d51434362fa7c2d012f8bcf1b Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:11:24 2015 +0300 IB/core: Introduce new fast registration API The new fast registration verb ib_map_mr_sg receives a scatterlist and converts it to a page list under the verbs API thus hiding the specific HW mapping details away from the consumer. The provider drivers are provided with a generic helper ib_sg_to_pages that converts a scatterlist into a vector of page addresses. The drivers can still perform any HW specific page address setting by passing a set_page function pointer which will be invoked for each page address. This allows drivers to avoid keeping a shadow page vectors and convert them to HW specific translations by doing extra copies. This API will allow ULPs to remove the duplicated code of constructing a page vector from a given sg list. The send work request ib_reg_wr also shrinks as it will contain only mr, key and access flags in addition. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 63e8790d39a2d7c9a0ebeab987a6033d184bc6ba Merge: 95893dd eb14ab3 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Wed Oct 28 22:23:34 2015 -0400 Merge branch 'wr-cleanup' into k.o/for-4.4 commit eb14ab3ba14081e403be93dc6396627567fadf60 Merge: 9ffecb1 25556ae Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Wed Oct 28 22:21:09 2015 -0400 Merge branch 'wr-cleanup' of git://git.infradead.org/users/hch/rdma into wr-cleanup Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> Conflicts: drivers/infiniband/ulp/isert/ib_isert.c - Commit 4366b19ca5eb (iser-target: Change the recv buffers posting logic) changed the logic in isert_put_datain() and had to be hand merged commit 67d25f0d4e24775418aae403610cae99e27cdc3c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 11:41:00 2015 +0200 dmaengine: hdmac: Add scatter-gathered memset support Just like memset support, the HDMAC might be used to do a memset over a discontiguous memory area. In such a case, we'll just build up a chain of memset descriptors over the contiguous chunks of memory to set, in order to allow such a support. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ce2a673d66b2cab4b459981be1a28bbb6c071555 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 11:40:59 2015 +0200 dmaengine: hdmac: factorise memset descriptor allocation The memset and scatter gathered memset are going to use some common logic to create their descriptors. Move that logic into a function of its own so that we can share it with the future memset_sg callback. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0d49fee9c11ed1864f286d52eae2b73a7df0a7c8 Merge: 28ca3e8 49dfebe Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Oct 29 10:31:11 2015 +0900 Merge branch 'topic/dw' into for-linus commit e3cc3136df33de1aa26d606f2a42cac3fd30cf54 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:08 2015 +0100 Staging: rtl8192u: ieee80211: added missing blank lines This patch resolves the following checkpatch warnings: - WARNING: Missing a blank line after declarations Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d92e43496f803dcbb3c6542ffe133d7b08b96aa Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:07 2015 +0100 Staging: rtl8192u: ieee80211: removed unnecessary braces This patch fixes the following checkpatch warning: - WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1cb1af28a9376ebd1a5bd156f4556b944622e17 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:06 2015 +0100 Staging: rtl8192u: ieee80211: corrected block comments This patch reformats some block comments in order to match the Linux kernel coding style. Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7bdb7d554e0e433b92b63f3472523cc3067f8ab4 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:05 2015 +0100 Staging: rtl8192u: ieee80211: corrected indent This patch corrects the indentation in five instances in the ieee80211_crypt_tkip.c file. Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65ed40ddea689921bd83e5ad30fe48f0ad03c182 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:04 2015 +0100 Staging: rtl8192u: ieee80211: added missing spaces after if This patch fixes the following checkpatch error: - ERROR: space required before the open parenthesis '(' Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4255e7c928534cafa25207a1dd236b7d8f894b6 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:03 2015 +0100 Staging: rtl8192u: ieee80211: added missing space around '=' This patch fixes the following checkpatch error: - ERROR: spaces required around that '=' Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df58f2b9c824c248430abc701a7cf678d3616c49 Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:02 2015 +0100 Staging: rtl8192u: ieee80211: fixed position of else statements This patch fixes the following checkpatch error: - ERROR: else should follow close brace '}' Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 840a121e06d5f59cf16623e64336abc98784f6dd Author: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Date: Wed Oct 28 14:01:01 2015 +0100 Staging: rtl8192u: ieee80211: fixed open brace positions This patch fixes the following checkpatch error: - ERROR: that open brace { should be on the previous line Signed-off-by: Kurt Kanzenbach <kurt@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7de9728fee04453b79281414aa4a0899826a3908 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Wed Oct 28 18:34:55 2015 +0530 staging: rdma: ipath: Remove unneeded vairable. Remove unneeded variable ret, directly return 0. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 853a46638e3cc574b6889c97ee9554afbf743efb Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:31:10 2015 +0700 staging: rtl8188eu: pwrGrpCnt variable removed in store_pwrindex_offset function This variable used only once in the beginning of the function, it can be removed. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bee5d583bd4926310d62f36257e355deebbdfe2 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:31:10 2015 +0700 staging: rtl8188eu: new variable for hal_data->MCSTxPowerLevelOriginalOffset[pwrGrpCnt] in store_pwrindex_offset function hal_data->MCSTxPowerLevelOriginalOffset[pwrGrpCnt] frequent in this function, so it replaced by the power_level_offset new variable. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83d7b6cbc859144d51f88cc6ee87c04a4634bd34 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:30:32 2015 +0700 staging: rtl8188eu: checkpatch fixes: 'Avoid CamelCase' in hal/bb_cfg.c This is checkpatch fixes for hal/bb_cfg.c file: Avoid CamelCase. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 420a952e4255dfbb5f7fed6d9937aae01d931282 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:29:11 2015 +0700 staging: rtl8188eu: checkpatch fixes: line over 80 characters splited into two parts This is checkpatch fixes for hal/bb_cfg.c file: line over 80 characters. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d5efcbddc565f163debc462a65e8ac1f975a5f8 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:28:19 2015 +0700 staging: rtl8188eu: checkpatch fixes: alignment should match open parenthesis This is checkpatch fixes for hal/bb_cfg.c file: alignment should match open parenthesis. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ce5b8d3f2dc87b820c5820231c1029e968c1009 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:27:26 2015 +0700 staging: rtl8188eu: checkpatch fixes: unnecessary parentheses removed in hal/bb_cfg.c This is checkpatch fixes for hal/bb_cfg.c file: unnecessary parentheses around <expr>. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53d06211e23b09fc8b0686cdf568fd81f6752ae3 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:26:57 2015 +0700 staging: rtl8188eu: checkpatch fixes: spaces preferred around that '|' in hal/bb_cfg.c This is checkpatch fixes for hal/bb_cfg.c file: spaces preferred around that '|'. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 160edfddf775e6ed92351512e4ece9870ede566e Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:26:00 2015 +0700 staging: rtl8188eu: operator = replaced by += in loop increment x = x + a and x += a equivalen, but second preferably. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32b5844e1f57e5c0801d86a4a48d8f817f65d976 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:25:39 2015 +0700 staging: rtl8188eu: occurrence of the 5 GHz code marked Channel numbers greater than 14 are used here, which are possible only for the 5 GHz frequency. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b546c0f9c3fc8e5a20aff2ac984472a7f33ef9cc Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:24:24 2015 +0700 staging: rtl8188eu: increment placed into for loop header The increment at the end of the cycle, and it can be placed in the loop header. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 628bd1c057157a67f40a5acb6dd58278ade018bf Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:23:57 2015 +0700 staging: rtl8188eu: while loop replaced by for loop in rtw_restruct_wmm_ie This patch replaces while loop with for loop, because the initial condition and the increment clearly and briefly defined for this loop. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bc8c2fb223378d3c17825112c59235efd06c49d Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:23:14 2015 +0700 staging: rtl8188eu: unused MIN macro removed This patch removes unused MIN macro from include/rtw_security.h. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7687e58a5aa759594096f3d7c990fdb0f88a3c9d Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:23:14 2015 +0700 staging: rtl8188eu: unused MEM_ALIGNMENT_OFFSET and MEM_ALIGNMENT_PADDING macros removed This patch removes unused MEM_ALIGNMENT_OFFSET and MEM_ALIGNMENT_PADDING macros from include/basic_types.h. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a3a379d354c9518e6897a28bd06badfcf2235e6 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:21:28 2015 +0700 staging: rtl8188eu: unused SUCCESS and FAIL macros removed This patch removes unused SUCCESS and FAIL macros in include/basic_types.h. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 016c6bbaf18cb3f375972d9f7b2c3ff60a57a261 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:20:28 2015 +0700 staging: rtl8188eu: abs kernel macro used in simularity_compare function abs macro is useful for determining the difference between the two integers. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 530c9b1b21fc41fd54c1c4f0f4b05368304c0105 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:19:50 2015 +0700 staging: rtl8188eu: ternary operator (?:) replaced by min_t kernel macro min_t macro better conveys the meaning of the code. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad8d8cd3b507fd72a64a61412623450740182828 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:18:10 2015 +0700 staging: rtl8188eu: ternary operator (?:) replaced by min_t kernel macro min_t macro better conveys the meaning of the code. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20e765310e003651378d8b58bb1e74f8e4b35c08 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:16:25 2015 +0700 staging: rtl8188eu: ternary operator (?:) replaced by min/max kernel macro min (or max) kernel macro better conveys the meaning of the code. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66eaaf4d0dee6fefb8b1b9a67e3228be4ec41052 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:15:31 2015 +0700 staging: rtl8188eu: clamp kernel macro used in proc_get_rx_signal To limit the range of integers there is clamp macro. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbef4729a1c9eefa509f10c9a0a799e026d54719 Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Tue Oct 27 22:13:57 2015 +0700 staging: rtl8188eu: sizeof/sizeof replaced by ARRAY_SIZE kernel macro ARRAY_SIZE shorter and more difficult to create bugs. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2911905bca5403d87d35805f80d9c7f178e4802 Author: Bogicevic Sasa <brutallesale@xxxxxxxxx> Date: Tue Oct 27 12:24:28 2015 +0100 drivers:staging:wlan_ng Fix no space is necessary after a cast This fixes "No space is necessary after a cast" messages from checkpatch.pl Signed-off-by: Bogicevic Sasa <brutallesale@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b18a0eb107677d44fb28d46532cb8ac796f1d93 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Tue Oct 27 15:27:26 2015 +0100 staging: board: Set PM domain before probe PM domains shouldn't be modified after a device is probed, so set it before device registration to be sure of that. In the future the PM domain pointer will be set through a setter that will WARN if the device has been probed already. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eca37c7c117460e2fbe4e32c991bff32a961f688 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Oct 28 16:16:02 2015 +0100 spi/spi-xilinx: Fix race condition on last word read Some users have reported that in polled mode the driver fails randomly to read the last word of the transfer. The end condition used for the transmissions (in polled and irq mode) has been the TX_EMPTY flag. But Lars-Peter Clausen has identified a delay from the TX_EMPTY to the actual end of the data rx. I believe that this race condition has not been detected until now because of the latency added by the IRQ handler or the PCIe bridge. This bugs affects setups with low latency access to the spi core. This patch replaces the readout logic: For all the words, except the last one, the TX_EMPTY flag is used (and cached). If !TX_EMPY or is the last word. The status register is read and the RX_EMPTY flag is used. The performance is not affected: there is an extra read of the Status Register, but the readout can start as soon as there is a word in the buffer. Reported-by: Edward Kigwana <ekigwana@xxxxxxxxxx> Initial-fix-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2cb202c1886ca363305fba82e340bdbd71387079 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Tue Oct 27 16:47:53 2015 -0400 lkdtm: fix ACCESS_USERSPACE test Add a copy_to_user() call to the ACCESS_USERSPACE test prior to attempting direct dereferencing of the user address to ensure the page is present. Otherwise, a fault occurs on arm kernels even prior to the introduction of CONFIG_CPU_SW_DOMAIN_PAN, and there is no difference in behavior for CONFIG_CPU_SW_DOMAIN_PAN=n vs CONFIG_CPU_SW_DOMAIN_PAN=y. Before this change, for any value of CONFIG_CPU_SW_DOMAIN_PAN: lkdtm: Performing direct entry ACCESS_USERSPACE lkdtm: attempting bad read at b6fe8000 Unable to handle kernel paging request at virtual address b6fe8000 After this change, for CONFIG_CPU_SW_DOMAIN_PAN=n: lkdtm: Performing direct entry ACCESS_USERSPACE lkdtm: attempting bad read at b6efc000 lkdtm: attempting bad write at b6efc000 After this change, for CONFIG_CPU_SW_DOMAIN_PAN=y: lkdtm: Performing direct entry ACCESS_USERSPACE lkdtm: attempting bad read at b6f7d000 Unhandled fault: page domain fault (0x01b) at 0xb6f7d000 ... Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 169883a63eb7e34e8e1c92fd451f34a5635c29ad Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Wed Oct 28 08:22:16 2015 +0100 mcb: Destroy IDA on module unload Destroy mcb_ida on module_unload Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf25c19979b2ee1019201b809e93b6bca9947cfd Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Wed Oct 28 08:22:15 2015 +0100 mcb: Do not return zero on error path in mcb_pci_probe() There is an error path in mcb_pci_probe() where it returns zero instead of error code. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 213dd193fab8288e2b0b96dc93f974ec33ba2298 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Wed Oct 28 14:34:35 2015 +0200 mei: bus: set the device name before running fixup The mei bus fixup use dev_xxx services for printing to kernel log so we need to setup the device name prior to running fixup hooks. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2da55cfd603d1c08dd1a396f943d6205eca47227 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Wed Oct 28 14:34:34 2015 +0200 mei: bus: use correct lock ordering The correct lock order is cl_bus_lock device_lock me_clients_rwsem This order was violated in bus rescan and remove routines when me_client_rwsem was locked before cl_bus_lock. Chain exists of: [ 4.321653] &dev->device_lock --> &dev->me_clients_rwsem --> &dev->cl_bus_lock [ 4.321653] [ 4.321679] Possible unsafe locking scenario: [ 4.321679] [ 4.321693] CPU0 CPU1 [ 4.321701] ---- ---- [ 4.321709] lock(&dev->cl_bus_lock); [ 4.321720] lock(&dev->me_clients_rwsem); [ 4.321733] lock(&dev->cl_bus_lock); [ 4.321745] lock(&dev->device_lock); [ 4.321755] [ 4.321755] *** DEADLOCK *** [ 4.321755] Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0cf55bbef2f9f5a51d947c430e207d2360e89e4c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:25 2015 +0000 staging: comedi: comedi_test: implement commands on AO subdevice Implement COMEDI asynchronous commands on the fake analog output subdevice. This is useful for testing asynchronous commands in the "write" direction when no real hardware is available. A normal kernel timer is used to drive the command. The new timer expiry function `waveform_ao_timer()` handles whole "scans" at a time according to the number of scan period that have elapsed since the last scan. Data for each channel in the scan is written to the internal loopback array `devpriv->ao_loopbacks[]` and can be read back on the analog input channels. However, if several scan periods are outstanding in the timer expiry function, only the latest available scan data is written to the loopback array in order to save processing time. The expiry function also checks for underrun conditions, and checks for normal termination of the asynchronous command when a "stop" scan count is reached. After the command is tested by `waveform_ao_cmdtest()` and set up by `waveform_ao_cmd()`, it is not started until an internal trigger function `waveform_ao_inttrig_start()` is called as a result of the user performing an `INSN_INTTRIG` instruction on the subdevice. The command is stopped when the "cancel" handler `waveform_ao_cancel()` is called. This may be due to the command terminating due to completion or an error, or as a result of the user cancelling the command. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9406a3140a76772cc6bbf8704ecebbd249e9ca9b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:24 2015 +0000 staging: comedi: comedi_test: rename waveform_ai_interrupt() `waveform_ai_interrupt()` is a timer expiry function used to generate fake waveform data for an analog input subdevice. Rename it to `waveform_ai_timer()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1eb85ae8574eac40463ca3bfcef4608f7a374bd0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:23 2015 +0000 staging: comedi: comedi_test: handle partial scans in timer routine For asynchronous command handling on the analog input subdevice, a kernel timer routine is used to generate the fake waveform data. A "scan" consists of a number of conversions separated in time by a conversion period. Successive scans are separated in time by a scan period, which is at least the conversion period multiplied by the number of conversions per scan. Currently, the timer routine does not generate any data until the end of a scan period, generating whole scans of data at a time. Change it to generate data at the end of each conversion period, with an extra delay after the final conversion in each scan if necessary. Use new member `ai_convert_time` in the private data structure `struct waveform_private` to keep track of when the next conversion is due. This replaces the old member `ai_last_scan_time` which kept track of the time of the previous scan. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0c6fe1294f4931af263f0386fb45943451e8b4f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:22 2015 +0000 staging: comedi: comedi_test: allow read-back of AO channels COMEDI drivers often allow the last value written to a channel on an analog output subdevice to be read back via the "insn_read" handler. The "comedi_test" driver does not currently support that. It is a bit special because it loops back the last values written to the channel on the analog output subdevice to be read back via corresponding channels on the analog input subdevice. The "insn_read" handler for the analog input subdevice is `waveform_ai_insn_read()`. Set that as the "insn_read" handler for the analog output subdevice as well. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b2468fe9854941a175d57642a05aad6f52289c7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:21 2015 +0000 staging: comedi: comedi_test: use unsigned short for loopback values The last sample values written to the AO subdevice channels by its "insn_write" handler `waveform_ao_insn_write()` are stored in the member array `ao_loopbacks[]` in the device private data `struct waveform_private`. They can be read back via the "insn_read" handler of the AI subdevice `waveform_ai_insn_read()`. As the stored sample values are only 16 bits wide, change the type of the `ao_loopbacks[]` member to `unsigned short` to save some space. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e5ffbf29c2042464c64998d2798431c358df251 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:20 2015 +0000 staging: comedi: comedi_test: make timer rate similar to scan rate The asynchronous command handling for the analog input subdevice uses a kernel timer which expires approximately `HZ` times a second. However, it only needs to do anything after each scan period. Set the timer to expire just after the next scan period. Although the timer expiry function `waveform_ai_interrupt()` uses precise time values to generate the fake waveforms used to generate the data, those time values are constructed in a precise sequence, and do not depend on the time the timer expiry function is actually called. So the timer expiry rate does not have to be very precise. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3f24dff89748215f7f3054487731bec3b618669 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:19 2015 +0000 staging: comedi: comedi_test: rename waveform members Rename the members `struct waveform_private` associated with fake waveform generation. The affected members are `uvolt_amplitude` --> `wf_amplitude` (the amplitude of the waveform), `usec_period` --> `wf_period` (the period of the waveform), and `usec_current` --> `wf_current` (the current time within a waveform period). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 807060a369577ebdbbbf3f697a37f121a2e5bf6a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:18 2015 +0000 staging: comedi: comedi_test: rename members for AI commands Rename the members of `struct waveform_private` that are used to handle AI commands, apart from those members used to control fake waveform generation. The renames are `timer` --> `ai_timer`, `scan_period` --> `ai_scan_period`, and `convert_period` --> `ai_convert_period`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66d4da800d1a70e7c6b27ba7a61e4bc39b1f3304 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:17 2015 +0000 staging: comedi: comedi_test: simplify time since last AI scan The private data structure `struct waveform_private` currently uses member `last` to remember the time of the last timer interrupt, and the member `usec_remainder` to keep track of how far into a simulated scan the interrupt occurred. Replace these with a single new member `ai_last_scan_time` that records the time of the last scan. This simplifies the calculation of the number of scans to simulate in the timer routine, `waveform_ai_interrupt()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21ec1bf73483f1cceb252ecf9323160fc9473f7b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:16 2015 +0000 staging: comedi: comedi_test: use unsigned int for waveform timing Use `unsigned int` instead of `unsigned long` to hold the period of the fake waveform generator and the current time within each waveform. The waveform period will be no more than `INT_MAX` and the current time within the waveform (prior to the modulo operation to bring it actually within the waveform period) will be no more than `INT_MAX + UINT_MAX / 1000`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fa8a260d22b5a6da088afb12e3321a35f397104 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:15 2015 +0000 staging: comedi: comedi_test: move modulo operations for waveform The fake waveform generator functions, `fake_sawtooth()` and `fake_squarewave()`, called from `fake_waveform()`, have a `current_time` parameter which is the time since the start of a waveform period. The parameter value may be greater than the waveform period so they do a modulo operation to bring it into range. Do the modulo operations outside the functions in `waveform_ai_interrupt()` so that the waveform generator functions always get a `current_time` parameter less than the waveform period and do not have to do the modulo operation themselves. Also, only do the modulo operations when the time since the start of a waveform exceeds the waveform period. Usually, several samples are produced in each waveform period and modulo operations are typically more expensive than a simple comparison. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 783ddaebd3978cb9a1c6899899b2208a96d2b9f0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:14 2015 +0000 staging: comedi: comedi_test: support scan_begin_src == TRIG_FOLLOW It is quite common for COMEDI subdevices that support commands to support setting `scan_begin_src` to `TRIG_FOLLOW`. This means the next scan begins once all conversions in the current scan are complete. Support the following timing combinations for the AI subdevice: scan_begin_src == TRIG_TIMER && convert_src == TRIG_TIMER scan_begin_src == TRIG_TIMER && convert_src == TRIG_NOW scan_begin_src == TRIG_FOLLOW && convert_src == TRIG_TIMER The actual scan period in microseconds is stored in the `scan_period` member of the private data structure `struct waveform_private`. An `unsigned int` is still wide enough, because the conversion period is no more than `UINT_MAX / 1000` microseconds and the number of conversions is no more than 16 (`N_CHANS * 2`). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5afdcad2f818ed623f61e79ea63fcd347bef1a8c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:13 2015 +0000 staging: comedi: comedi_test: limit maximum convert_arg When testing the parameters for setting up an asynchronous command on the AI subdevice, limit the maximum conversion period (`cmd->convert_arg`) so that the number of conversions in a scan (`cmd->scan_end_arg`, same as `cmd->chanlist_len`) multiplied by the conversion period fits within an `unsigned int`, as that is used to limit the minimum scan period (`cmd->scan_begin_arg`). Also ensure rounding of the conversion period and scan period to the nearest microsecond both fit in an `unsigned int`. Do all this in stage 4 ("fix up any arguments") of the command testing. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87f64803ca9fc4d4748a648a69532dcb52f7fc6a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:12 2015 +0000 staging: comedi: comedi_test: remove nano_per_micro The `static const int nano_per_micro` variable is set to 1000, the number of nanoseconds in a microsecond. Remove it and use the `NSEC_PER_USEC` macro from <linux/time.h> instead. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19e86985b08e2470aeb805f71d2e2ebf19bcdc95 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:11 2015 +0000 staging: comedi: comedi_test: saturate fake waveform values While an asynchronous command is running on the analog input subdevice, fake waveform generators are connected to each channel to provide the input voltages that are converted to sample value. Channel 0 is connected to a sawtooth generator, channel 1 is connected to a squarewave generator, and the remaining channels are connected to a flatline generator. The non-flatline generators share the same amplitude (in microvolts) and period (in microseconds) which are configured when the COMEDI device is attached. All waveforms are centered around 0 microvolts and the non-flatline waveforms go between -amplitude and +amplitude. It is possible for the waveforms to swing outside the input range of the channels to which they are connected. When that happens, the sample values resulting from simulated A-to-D conversion will wrap around due to integer overflow. Prevent that by clamping the sample values that would go out of range. This is closer to how a real hardware device would behave (assuming the input voltage is not high enough to damage the hardware!). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbad8cf4263009845139cc329738a106df6461d2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Oct 27 16:59:10 2015 +0000 staging: comedi: comedi_test: reformat multi-line comments Use the preferred style for multi-line comments. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c27fc351cf4298b5ade8f3bda8f8be15af5d6cde Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 28 15:14:35 2015 +0100 staging: most: remove exclusive wait_queue This patch removes the unnecessary wait_queue that has exclusively been used for the poll function and its poll_table. Instead, an already existing one is used. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f9cacb62d94c4828827ead22d9b6e7d6d7aa1e8 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 28 15:49:15 2015 +0100 staging: most: hdm-dim2: use min_t() This patch replaces the usage of min() by min_t(). Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 806535b623b9bfd501728269ed1f62245c96192b Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:55 2015 +0200 staging: iio: accel: add bracket on all branches of the if/else This patch adds brackets on all of the conditional branches in order to follow the linux coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48948abe0557e70bce687e5889799177903f8232 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:54 2015 +0200 staging: iio: accel: place logical operators on the previous line This patch moves the logical operators on the previous line in order to follow the linux coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 663b03d8ae9e5923fc47471023fa8d243831bc73 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:53 2015 +0200 staging: iio: accel: remove unwanted blank lines This patch removes unwanted blank lines in order to follow the linux coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c50ea26641279b8993ed3796d91598329d012420 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:52 2015 +0200 staging: iio: accel: fix block comments alignment This patch properly aligns the block comment in order to follow the linux coding style convetions. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a613ad42daa8eb507c641f0cbf33984ad8a02c4 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:51 2015 +0200 staging: iio: accel: add blank lines after function definitions This patch add blank lines after functions definitions in order to follow the linux coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89ea25c7ae9829611a15ece90ac6d4a423864ea1 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:50 2015 +0200 staging: iio: accel: change uint8_t to u8 This patch changes uint8_t type to preferred kernel type u8 in order to follow the linux coding style conventions. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 252b1d8466544da68eca02e485d30d1af4c63ee6 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:49 2015 +0200 staging: iio: accel: properly align function arguments This patch properly aligns the function arguments or its parameters in order to match the open bracket. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1abe0c9a72dbf9ca060ecce86a8beedf66436024 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Thu Oct 29 01:01:48 2015 +0200 staging: iio: accel: add spaces aroung binary operators This patch adds spaces around binary operators such as '*', '/', '+' in order to improve readability. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bc852413be32a07d12364ee24c772b335fa6f86 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 29 01:53:30 2015 +0530 Staging: wilc1000: Prefer eth_broadcast_addr over memset() This patch is to the host_interface.c that fixes up following warning by checkpatch: -prefer eth_broadcast_addr() over memset() Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d21ad20f496f5c14df5cccbef74883837003851 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:28 2015 +0900 staging: wilc1000: fix line over 80 characters This patch fixes line over 80 characters found by checkpatch. WARNING: line over 80 characters FILE: drivers/staging/wilc1000/host_interface.h:424: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58eabd68a438f8b4755fab7160a31745f5723db4 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:27 2015 +0900 staging: wilc1000: replace kmalloc/memcpy with kmemdup This patch replaces kmalloc followed by memcpy with kmemdup. It is also added error checking to return -ENOMEM when kmemdup is failed. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff3bce2f6caca3d004780fd46a2566e69993742c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:26 2015 +0900 staging: wilc1000: rename tenuAuth_type in host_int_add_wep_key_bss_ap This patch changes tenuAuth_type to auth_type that is sixth argument of this function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 730a28da66ce00f4f31f613ac6aefaf7a7acaf07 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:25 2015 +0900 staging: wilc1000: rename u8mode in host_int_add_wep_key_bss_ap This patch changes u8mode to mode that is fifth argument of this function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a76dc953d569193d6668852a8b729cbfa8ce83a6 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:24 2015 +0900 staging: wilc1000: rename u8Keyidx in host_int_add_wep_key_bss_ap This patch changes u8Keyidx to index that is fourth argument of this function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5389b0749751378dae9262eb4bc6fb51d025acb Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:23 2015 +0900 staging: wilc1000: rename u8WepKeylen in host_int_add_wep_key_bss_ap This patch changes u8WepKeylen to len that is third argument of this function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8111725a3afa6c20d2bd62d2b2d729ecf18cf7d7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:22 2015 +0900 staging: wilc1000: rename pu8WepKey in host_int_add_wep_key_bss_ap This patch changes pu8WepKey to key that is second argument of this function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd74146158b2d6f5865eedc29cc600d4b71cf53e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:21 2015 +0900 staging: wilc1000: replace u8 with int. This patch changes data type of variable i from u8 to int. It is used as index of an array to print its content. It's better to use as data type of int. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a558ac6c9711ac1dc264aeb4019317fc9e9b4c0e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:20 2015 +0900 staging: wilc1000: fix parameter name of function declaration This patch changes struct host_if_drv of host_int_add_wep_key_bss_ap function declaration from hWFIDrv to hif_drv. With this change, first parameter name of this function declaration and definition has same name as hif_drv. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 641c20a63508cfefef52759dc175a113d7157caa Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Oct 28 08:19:19 2015 +0900 staging: wilc1000: fix return type of host_int_add_wep_key_bss_ap This patch changes return type of host_int_add_wep_key_bss_ap from s32 to int. The result variable gets return value from wilc_mq_send that has return type of int. It should be changed return type of this function as well as data type of result variable. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf491d935a2a77203d9e215a67b7924964a3f618 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:38 2015 +0900 staging: wilc1000: fix line over 80 characters This patch fixes line over 80 characters found by checkpatch. WARNING: line over 80 characters FILE: drivers/staging/wilc1000/host_interface.h:408: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cc0c328d564b0061a0bd156e8734125a64a0531 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:37 2015 +0900 staging: wilc1000: replace kmalloc/memcpy with kmemdup This patch replaces kmalloc followed by memcpy with kmemdup. It is also added error checking of kmemdup. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b2cc3e57c7d1de64beaba467058e85489ad4ab1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:36 2015 +0900 staging: wilc1000: rename u8Keyidx in host_int_add_wep_key_bss_sta This patch changes u8Keyidx to index that is fourth argument of host_int_add_wep_key_bss_sta to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbc53194f88cf2ae84c2ea7dd5b66ff237d4eb76 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:35 2015 +0900 staging: wilc1000: rename u8WepKeylen in host_int_add_wep_key_bss_sta This patch changes u8WepKeylen to len that is third argument of host_int_add_wep_key_bss_sta to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fba778b11dd2d1379f6c4d45a76f3cedf8c81c52 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:34 2015 +0900 staging: wilc1000: rename pu8WepKey in host_int_add_wep_key_bss_sta This patch changes pu8WepKey to key that is second argument of host_int_add_wep_key_bss_sta to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e4aebe1c0e65d1b32d31f7cdaa6d4cb3e8f55bd Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:33 2015 +0900 staging: wilc1000: fix parameter name of function declaration This patch changes struct host_if_drv of host_int_add_wep_key_bss_sta function declaration from hWFIDrv to hif_drv. With this change, first parameter name of this function declaration and definition has same name as hif_drv. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66b8cb89e1816b6f4a245aee0febca8edec34cce Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Oct 27 20:40:32 2015 +0900 staging: wilc1000: fix return type of host_int_add_wep_key_bss_sta This patch changes return type of host_int_add_wep_key_bss_sta from s32 to int. The result variable gets return value from wilc_mq_send that has return type of int. It should be changed return type of this function as well as data type of result variable. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8060fc080b1ea6641d2d8c01ffb31afea045345 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 29 00:30:01 2015 +0530 Staging: wilc1000: wilc_wfi_cfgoperations: Remove irrelevant wrapper function Remove the wrapper function WILC_WFI_add_wilcvendorspec() and replace its call with memcpy(). Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce081898622bde64aa913a3740c6e1a237a52286 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Tue Oct 27 22:58:06 2015 +0530 Staging: wilc1000: coreconfigurator: Remove trailing whitespace In block comments, trailing whitespaces should be removed. Fix checkpatch ERROR: trailing whitespace Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5beef2ca4f88cdafb05a5cde26052757dfc580e7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:36 2015 +0900 staging: wilc1000: rename u8RemainOnChan_pendingreq of struct host_if_drv This patch renames u8RemainOnChan_pendingreq of struct host_if_drv to remain_on_ch_pending to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d61f8e1eee1deb243ed538f290f90256ecb04975 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:35 2015 +0900 staging: wilc1000: rename strHostIfRemainOnChan of struct host_if_drv This patch renames strHostIfRemainOnChan of struct host_if_drv to remain_on_ch to avoid CamelCase naming convention. And, remove the relation comment. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8b1713246e90b81cd633910fe4128016ae43576 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:34 2015 +0900 staging: wilc1000: rename strWILC_UsrConnReq of struct host_if_drv This patch renames strWILC_UsrConnReq of struct host_if_drv to usr_conn_req to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70793b2ab4ddfe2cb8e4c6248d29a4919301760c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:33 2015 +0900 staging: wilc1000: rename strWILC_UsrScanReq of struct host_if_drv This patch renames strWILC_UsrScanReq of struct host_if_drv to usr_scan_req to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ceba0afed057533a6e338c961e3a279c1e7f6f6 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:32 2015 +0900 staging: wilc1000: rename u8MacAddress of struct get_mac_addr This patch renames u8MacAddress of struct get_mac_addr to mac_addr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae5e4522d3e969e41a5ae99b51f8df0f3f9c635c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:31 2015 +0900 staging: wilc1000: rename u8MacAddress of struct set_mac_addr This patch renames u8MacAddress of struct set_mac_addr to mac_addr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c96debf114f0e68349948180d27eb76e1ef44104 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:30 2015 +0900 staging: wilc1000: rename u32Mode of struct op_mode This patch renames u32Mode of struct op_mode to mode to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a7f3b12f1d32ddb9ae716cb25828f51d3f2b0f16 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:29 2015 +0900 staging: wilc1000: rename u32Address of struct drv_handler This patch renames u32Address of struct drv_handler to handler to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45102f83e282ee83bed35a64ba5c36e1cdddb90b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:28 2015 +0900 staging: wilc1000: rename variable strWID This patch renames variable strWID to wid to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4be55e228724883a07f4c1c76b8a49036172dd73 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:27 2015 +0900 staging: wilc1000: rename au8StartTime of struct join_bss_param This patch renames au8StartTime of struct join_bss_param to start_time to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df165a68de358eb2df1455ba196859f310854844 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:26 2015 +0900 staging: wilc1000: host_interface: removes unused functions This patch removes unused functions at host_interface files. - host_int_send_join_leave_info_to_host - host_int_send_network_info_to_host Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96a6800089e3b4a39f7ac9eb74c51956e583ddbc Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:25 2015 +0900 staging: wilc1000: fixes please don't use multiple blank lines This patch fixes the checks reported by checkpatch.pl for Please don't use multiple blank lines. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c09389acd4ff28b7c94dfa9546b781e50f2e5785 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:24 2015 +0900 staging: wilc1000: fixes missing a blank line after declarations This patch fixes the warnings reported by checkpatch.pl for Missing a blank line after declarations. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0711645c8105a747388225f2ad178f566a241dbe Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:23 2015 +0900 staging: wilc1000: fixes blank lines aren't necessary brace This patch fixes the checks reported by checkpatch.pl for Blank lines aren't necessary after an open brace '{' and Blank lines aren't necessary before a close brace '}'. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1666e2a2650dfdee6fa683bb6e04f09e2d12a3a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:22 2015 +0900 staging: wilc1000: fixes braces {} are not necessary for single statement blocks This patch fixes the warnings reported by checkpatch.pl for braces {} are not necessary for single statement blocks Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bafaa69656a42c4dde6d9afccfd43b47a77f378a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:59:21 2015 +0900 staging: wilc1000: remove unnecessary parentheses around This patch removes the checks reported by checkpatch.pl for unnecessary parentheses around. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c9dbce89606524d39860b88c7ea26cc579f62fd Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Oct 28 17:43:27 2015 +0900 staging: wilc1000: change MAINTAINERS This patch removes Rachel Kim from the MAINTAINERS list because she retires from her position and adds Austin shin as new MAINTAINER for the Atmel wireless link controller: WILC1000 and WILC3000. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbef61e749caf22b51ed4e1981aedd8426a4d837 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Oct 28 15:27:21 2015 +0900 staging: wilc1000: wilc_msgqueue.c : remove goto statement This patch removes goto statement and moves the spin lock position. If a memory allocation fails, directly returns an error. The spin lock actually protects the pHandle. Therefore, call spin lock just before pHandle is used. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82bb18e1bdcd774059556c58650a04c004a21c9d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:28:03 2015 +0900 staging: wilc1000: tcp_process: add argument dev and use private data This patch adds new argument net_device and use netdev private data member wilc instead of g_linux_wlan. Pass argument dev to the function as well. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 691bbd42b0dde916e489ee71babfa17bab32720e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:28:02 2015 +0900 staging: wilc1000: wilc_wlan_txq_add_net_pkt: add argument struct net_device This patch add new argument struct net_device *dev and pass net_device to wilc_wlan_txq_add_net_pkt. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7495be52a25b7136aa437262a7e04d41d7afdde Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:28:01 2015 +0900 staging: wilc1000: mac_xmit: use netdev private wilc instead of g_linux_wlan This patch uses netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50a0b3b7f5f8fd6a5e8163fbf6c436807085fd4a Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:28:00 2015 +0900 staging: wilc1000: wilc_wlan_txq_get_next: add argument wilc This patch adds new argument struct wilc and use wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d06f362cbf570efa34e8264f77428e4d3fb1c859 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:59 2015 +0900 staging: wilc1000: wilc_wlan_rxq_add: add argument wilc and use it This patch adds new argument struct wilc and use it instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 178c383f5472e96015ef8dbab2141b1ce836a199 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:58 2015 +0900 staging: wilc1000: Set_machw_change_vir_if: add argument struct net_device Add new argument net_device and use netdev private data member wilc instead of g_linux_wlan. Pass argument dev to the function as well. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ad81fd6125f0a0b612b1a995b584f09e4f80c3b Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:57 2015 +0900 staging: wilc1000: GetIfHandler: add argument struct wilc and use it This patch adds new argument struct wilc and use it instead of g_linux_wlan. And also pass wilc to the function. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb1991aca9738d369c14837c73c2b7c183637f92 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:56 2015 +0900 staging: wilc1000: frmw_to_linux: add argument struct wilc This patch adds new argument struct wilc and use it instead of g_linux_wlan. Pass argument wilc to the function as well. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db38763516626e89f9b8a3f3892ce1664a43c753 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:55 2015 +0900 staging: wilc1000: wilc_wlan_rxq_remove: add argument wilc and use it This patch adds new argument struct wilc and use it instead of g_linux_wlan. Pass wilc to wilc_wlan_rxq_remove. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2de7cbecef34e8e4b83a6771aebe87b4f6cac0c3 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:54 2015 +0900 staging: wilc1000: wilc_wlan_cleanup: add new argument struct net_device This patch adds new function argument net_device and pass dev to the functions. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07320b6bc3ea5a75b6a0c7a36bd8dddbd746225c Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:53 2015 +0900 staging: wilc1000: mac_ioctl: use private data instead of g_linux_wlan Use netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32dd51bca67a511dc7afb5a95ee33a0f9a85f811 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:52 2015 +0900 staging: wilc1000: wlan_deinitialize_threads: change argument and use wilc This patch changes function parameter type struct wilc with struct net_device and use netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11f4b2eee7725534918ad2dda0cd3ed5ed25d831 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:51 2015 +0900 staging: wilc1000: WILC_WFI_mgmt_rx: add argument wilc and use it This patch add new argument wilc and use it instead of g_wlan_linux. Declare the function in wilc_wfi_netdevice.h. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c67c05380c555cc2c0c252b92eb6fe75a94bb06 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:50 2015 +0900 staging: wilc1000: wlan_deinit_locks: change argument wilc with net_device This patch changes argument wilc with net_device and use netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5382219138db78b82631501b0f614e5fd012ad1 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:49 2015 +0900 staging: wilc1000: host_int_init: add argument net_device This patch add argument net_device and pass netdev private data member wilc to kthread_run. Pass net_device to the function as well. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c029e99ca4299731cf553444d291562b91fdbc22 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:48 2015 +0900 staging: wilc1000: wilc_wlan_txq_filter_dup_tcp_ack: add argument and use wilc This patch add argument net_device dev and use netdev private data member wilc instead of g_linux_wlan. Pass argument dev to the function. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1332cadbbe5c125ea333be8ab4b5eec2f6b2b73 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:47 2015 +0900 staging: wilc1000: wilc_wlan_handle_txq: add argument and use wilc This patch adds argument net_device dev and use netdev private data memeber wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 886875845a5d9f1d915fba17bd75d7bef38ebd6d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:46 2015 +0900 staging: wilc1000: linux_wlan_txq_task: use wilc instead of g_linux_wlan Pass argument dev instead of wilc from kthread_run and use netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75a94665a12313e051f1c2595a41fe20da668981 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:45 2015 +0900 staging: wilc1000: wlan_initialize_threads: change argument with net_device This patch changes function argument with net_device and use netdev private data member wilc instead of g_linux_wlan. And there are assignment code with different value continuously. Take last code. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 472791a94ff6a3f698feb51b7c41618a4f7dd5b1 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:44 2015 +0900 staging: wilc1000: linux_wlan_set_bssid: use wilc instead of g_linux_wlan This patch uses netdev private data memeber wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64f2b71b606074f10a0845294653c0c8d956a53b Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:43 2015 +0900 staging: wilc1000: linux_wlan_mac_indicate: add argument and use wilc This patch adds argument wilc and pass the function wilc. Use wilc instead of g_linux_wlan and pd. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39ce4d3d733a54162dc833f6004483438a606026 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:42 2015 +0900 staging: wilc1000: wilc_wlan_handle_rxq: add new argument and use wilc This patch adds new argument struct wilc and use it instead of g_linux_wlan. Pass wilc to the function as well. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bcd45b653e2d9c9bd04f245a14d26af895cd63a Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:41 2015 +0900 staging: wilc1000: wilc_wlan_handle_isr_ext: add argument struct wilc This patch adds argument struct wilc and pass wilc to the function. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50b929e08ee09ceb6ffa8416af818bed358718f6 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:40 2015 +0900 staging: wilc1000: wilc_handle_isr: add argument wilc to wilc_handle_isr This patch add new argument wilc to wilc_handle_isr and pass wilc to the function. It is void type for now because wilc_wlan.c was implemented platform independently at the beginning (linux_wlan.c is implementation of LINUX part), so the header file which defines struct wilc cannot be included at this moment, but this driver is dedicated to LINUX so wilc_wlan.c and linux_wlan.c will be merged. After that, this void type will be changed with struct wilc as well as other functions which are using void type in wilc_wlan.h. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec5cc75061b4e6250e5dace58f236c1f567b99fd Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:39 2015 +0900 staging: wilc1000: deinit_irq: use wilc instead of g_linux_wlan This patch changes function parameter linux_wlan_t nic with net_dev dev and use netdev private data member wilc instead of nic and g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e7933d0e79ab84f37389893ce66c35567d9bf6e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:38 2015 +0900 staging: wilc1000: isr_bh_routine: use wilc instead of g_linux_wlan Use netdev private data member wilc instead of g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3948362d56e5f0ca29f597e75e8b09d6dd8edfd4 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:27:37 2015 +0900 staging: wicl1000: isr_uh_routine: use netdev private wilc Use netdev private member wilc instead of g_linux_wlan and change argument wilc with dev in the function request_threaded_irq to pass back to handler the function isr_uh_routine. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 702c0e50f6b3fc8f3b7718a0fc2b467841671afb Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 27 18:20:14 2015 +0900 staging: wilc1000: fix build error on SPI wilc_netdev_init function has parameters to pass but no argument is passed when bus type SPI is selected. Which causes build error. This patch passes argument &wilc to the function wilc_netdev_init. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Fixes: 12ba5416dc77 ("staging: wilc1000: assign pointer of g_linux_wlan to sdio device data") Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f0d15ec953302bfc1a386dbcb5c6218a1457785 Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:28 2015 -0400 staging: lustre: cleanup over 80 characters in libcfs_hash.h Fix up all the over 80 character line issues in libcfs_hash.h reported by checkpatch.pl. At the same time update this header to match what is in the OpenSFS lustre branch. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49a0b0ad3c6e6c74c7562546ba378db132b222fa Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:27 2015 -0400 staging: lustre: convert last typedef data types in hash.c Change the last typedef data types cfs_hash_lookup_intent_t to enum and cfs_hash_cond_arg_t to a structure. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cd3d8505e710a84bf76e28fb79e992b6aa106bd Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:26 2015 -0400 staging: lustre: change cfs_hash_head*_t to struct Change cfs_hash_head_t and cfs_head_head_dep_t from typedef to true structures. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e6094f8ae200b7616e785cf3228f82bc1d51f1f Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:25 2015 -0400 staging: lustre: change cfs_hash_dhead*_t to struct Change cfs_hash_dhead_t and cfs_head_dhead_dep_to from typedef to true structures. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db9fc06bae1fdaae129b2bf8d86d85e746e757fc Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:24 2015 -0400 staging: lustre: change cfs_hash_ops_t to struct Change cfs_hash_ops_t to struct cfs_hash_ops. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccb006a5e453706cd077bbc6893eaa97ae3f81f0 Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:23 2015 -0400 staging: lustre: change cfs_hash_hlist_ops_t to struct Change cfs_hash_hlist_ops_t to struct cfs_hash_hlist_ops. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7587364b723ba49556f61af4fc9067d6fb3d00b0 Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Wed Oct 28 12:54:22 2015 -0400 staging: lustre: change cfs_hash_lock_ops_t to struct Change cfs_hash_lock_ops_t to struct cfs_hash_lock_ops. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b60a1d6bc297bffdabeb85fd7d14d80cfa5d0c9 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 27 21:23:46 2015 +0530 Staging: lustre: Remove unused lustre_lfsck_user.h file Remove the header file lustre_lfsck_user.h since it is not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 657ff36ff5cbf53040bf87952f3b10a999a74ddc Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 29 00:38:44 2015 +0530 staging: rtl8712: rtl871x_io: Remove unused function Drop function that is declared but not called anywhere. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f386ee173773eac13eaa8d10992ca970a63c1e9d Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 27 14:02:37 2015 +0530 staging: rtl8723au: core: Remove unnecessary functions Drop functions that are declared but are not being used anywhere. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efc19548e8eaa845983d59a9c7c3daed2c8c9e9a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Oct 28 18:37:20 2015 +0530 Staging: wlan-ng: Remove unused p80211meta.h file Remove the header file p80211meta.h since it is not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8732dd2f58a8e5d86044ed8dd913825157c8495 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Oct 27 16:08:37 2015 -0700 Staging: iio: adc: Fix sparse warning Fix following sparse endianness problems: CHECK drivers/staging/iio/adc/ad7816.c drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16 drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16 drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16 drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16 Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c3577db3e4f2a7f516462e7ef2b4fb1f09ffd8c Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Oct 27 16:07:54 2015 -0700 Staging: iio: impedance-analyzer: Fix sparse warning Fix following sparse endian warning: drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 832bf28ce436c97c224ad88e304d76f1f96b7a99 Author: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Date: Tue Oct 27 14:56:13 2015 +0530 Staging: panel: Logical continuations should be on the previous line This patch fixes the checkpatch issue: CHECK: Logical continuations should be on the previous line Signed-off-by: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebd43516d3879f882a403836bba8bc5791f26a28 Author: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Date: Tue Oct 27 14:55:46 2015 +0530 Staging: panel: usleep_range is preferred over udelay This patch fixes the issue: CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt Signed-off-by: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46f566ed53b00f186ce77833453b983e3a0feb08 Author: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Date: Tue Oct 27 14:55:15 2015 +0530 Staging: panel: Removing multiple blank lines This patch fixes the checkpatch issue CHECK: Please don't use multiple blank lines Signed-off-by: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b3c9eb292b0d9b5e82ba69215b7f19a6c41fce8 Author: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Date: Tue Oct 27 14:54:51 2015 +0530 Staging: panel: spaces preferred around that '/' This patch fixes the checkpatch issue: CHECK: spaces preferred around that '/' Signed-off-by: Sirnam Swetha <theonly.ultimate@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cbb97ea3e386eb95ecbd99260d681792963cebf Author: David Cohen <david.a.cohen@xxxxxxxxxxxxxxx> Date: Mon Oct 5 16:49:58 2015 -0700 watchdog: intel-mid: add Magic Closure flag Adding WDIOF_MAGICCLOSE to Intel MID watchdog driver. Once the watchdog is opened, it makes sense to disable watchdog only if it was gracefully released. Signed-off-by: David Cohen <david.a.cohen@xxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 9493c0d824f7012dab7034a5b527ac8f07db5bed Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Oct 2 00:25:28 2015 -0300 watchdog: imx2_wdt: Use register definition in regmap_write() In order to improve readability it is better to pass the register name definition rather than to pass its hardcoded offset. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit d305c4773458fdd6ff9c52bfdea8c67fbd3b2072 Author: Ã?meric MASCHINO <emeric.maschino@xxxxxxxxx> Date: Tue Sep 22 23:58:48 2015 +0200 [IA64] Wire up kcmp syscall systemd > 218 fails to compile on ia64 with: error: â??__NR_kcmpâ?? undeclared [1]. I've been told that this is because the kcmp syscall hasn't been wired up for the ia64 arch [2]. The proposed patch thus wire up the kcmp syscall for the ia64 arch. [1] https://bugs.gentoo.org/show_bug.cgi?id=560492 [2] https://bugs.gentoo.org/show_bug.cgi?id=560492#c17 Signed-off-by: Ã?meric MASCHINO <emeric.maschino@xxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit fe537d003f9a97c65848e47b3b9acbb0c5002fd9 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Oct 27 17:00:17 2015 +0100 drm/amdgpu: ignore scheduler fences from the same entity We are going to submit them before the job anyway. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> commit 6bd53c4125e545a495fba63024d5522e33c600f5 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 23 18:53:36 2015 -0400 drm/amdgpu: add GFX 8.1 register headers Minor differences compared to GFX 8.0 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 62f77f095c27dc6b3536735aa960a8bb21e4c5eb Author: Maharaja <c_mkenna@xxxxxxxxxxxxxxxx> Date: Wed Oct 21 11:49:18 2015 +0300 ath10k: enable adaptive CCA European Union has made it mandatory that all devices working in 2.4 GHz has to adhere to the ETSI specification (ETSI EN 300 328 V1.9.1) beginnig this year. The standard basically speaks about interferences in 2.4Ghz band. For example, when 802.11 device detects interference, TX must be stopped as long as interference is present. Adaptive CCA is a feature, when enabled the device learns from the environment and configures CCA levels adaptively. This will improve detecting interferences and the device can stop trasmissions till the interference is present eventually leading to good performances in varying interference conditions. The patch includes code for enabling adaptive CCA for 10.2.4 firmware on QCA988X. Signed-off-by: Maharaja <c_mkenna@xxxxxxxxxxxxxxxx> Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 97303480753e48fb313dc0e15daaf11b0451cdb8 Author: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Date: Tue Sep 22 19:59:48 2015 +0200 arm64: Increase the max granular size Increase the standard cacheline size to avoid having locks in the same cacheline. Cavium's ThunderX core implements cache lines of 128 byte size. With current granulare size of 64 bytes (L1_CACHE_SHIFT=6) two locks could share the same cache line leading a performance degradation. Increasing the size fixes that. Increasing the size has no negative impact to cache invalidation on systems with a smaller cache line. There is an impact on memory usage, but that's not too important for arm64 use cases. Signed-off-by: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 845da6e58e19b932b8364ec3678b8f7f80d6b6a9 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Oct 25 19:32:43 2015 +0100 ssb: add Kconfig entry for compiling SoC related code This allows saving a little of space when not using ssb on Broadcom SoC. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 830c7df46247b44aa46ae276073e2e10727c9e93 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Oct 25 19:32:42 2015 +0100 ssb: move functions specific to SoC hosted bus to separated file This cleans main.c a bit and will allow us to compile SoC related code conditionally in the future. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 399500da18f7fe79699c0e4f603f8874cecb3898 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Oct 15 07:23:25 2015 +0200 ssb: pick PCMCIA host code support from b43 driver ssb bus can be found on various "host" devices like PCI/PCMCIA/SDIO. Every ssb bus contains cores AKA devices. The main idea is to have ssb driver scan/initialize bus and register ready-to-use cores. This way ssb drivers can operate on a single core mostly ignoring underlaying details. For some reason PCMCIA support was split between ssb and b43. We got PCMCIA host device probing in b43, then bus scanning in ssb and then wireless core probing back in b43. The truth is it's very unlikely we will ever see PCMCIA ssb device with no 802.11 core but I still don't see any advantage of the current architecture. With proposed change we get the same functionality with a simpler architecture, less Kconfig symbols, one killed EXPORT and hopefully cleaner b43. Since b43 supports both: ssb & bcma I prefer to keep ssb specific code in ssb driver. This mostly moves code from b43's pcmcia.c to bridge_pcmcia_80211.c. We already use similar solution with b43_pci_bridge.c. I didn't use "b43" in name of this new file as in theory any driver can operate on wireless core. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0117e78aec73f1c0869e50d11a255b28aa4db8f0 Author: Marty Faltesek <mfaltesek@xxxxxxxxxx> Date: Sun Oct 25 22:54:01 2015 -0700 mwifiex: toggle carrier state in start_ap/stop_ap. In uap mode the carrier is not enabled until after the first STA joins. The carrier triggers the bridge to start its state machine, and if STP is enabled, it takes 4 seconds as it transitions from disabled to forwarding. During this time the bridge drops all traffic, and the EAPOL handshake times out after 3 seconds, preventing stations from joining. Follow the logic used in mac80211 and start the carrier in start_ap and disable it in stop_ap. This has a nice benefit of allowing the first station connection time to be reduced by up to 75% when STP is in use. Signed-off-by: Martin Faltesek <mfaltesek@xxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 072255241d2e3e9c1e23fc693f0333be72adfe2a Author: yfw <fengwei.yin@xxxxxxxxxx> Date: Mon Oct 26 10:36:22 2015 +0800 wcn36xx: Remove warning message when dev is NULL for arm64 dma_alloc. arm64 has requirement that all the dma operations have actual device. Otherwise, following warnning message shown and dma allocation fails: WARNING: CPU: 0 PID: 954 at arch/arm64/mm/dma-mapping.c:106 __dma_alloc+0x24c/0x258() Use an actual device structure for DMA allocation Modules linked in: wcn36xx wcn36xx_platform CPU: 0 PID: 954 Comm: ifconfig Not tainted 4.0.0+ #14 Hardware name: Qualcomm Technologies, Inc. MSM 8916 MTP (DT) Call trace: [<ffffffc000089904>] dump_backtrace+0x0/0x124 [<ffffffc000089a38>] show_stack+0x10/0x1c [<ffffffc000627114>] dump_stack+0x80/0xc4 [<ffffffc0000b2e64>] warn_slowpath_common+0x98/0xd0 [<ffffffc0000b2ee8>] warn_slowpath_fmt+0x4c/0x58 [<ffffffc00009487c>] __dma_alloc+0x248/0x258 [<ffffffbffc009270>] wcn36xx_dxe_allocate_mem_pools+0xc4/0x108 [wcn36xx] [<ffffffbffc0079c4>] wcn36xx_start+0x38/0x240 [wcn36xx] [<ffffffc0005f161c>] ieee80211_do_open+0x1b0/0x9a4 [<ffffffc0005f1e68>] ieee80211_open+0x58/0x68 [<ffffffc00051693c>] __dev_open+0xb0/0x120 [<ffffffc000516c10>] __dev_change_flags+0x88/0x150 [<ffffffc000516cf4>] dev_change_flags+0x1c/0x5c [<ffffffc000570950>] devinet_ioctl+0x644/0x6f0 Signed-off-by: Yin, Fengwei <fengwei.yin@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8e8e54c490032f15779d7b199548eb0143b70f0f Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Sat Oct 24 13:42:15 2015 -0400 wcn36xx: introduce per-channel ring buffer locks wcn36xx implements a ring buffer for transmitted frames for each (high and low priority) DMA channel. The ring buffers are lockless: new frames are inserted at the head of the queue, while finished packets are reaped from the tail. Unfortunately, the list manipulations are missing any kind of barriers so are susceptible to various races: for example, a TX completion handler might read an updated desc->ctrl before the head has actually advanced, and then null out the ctl->skb pointer while it is still being used in the TX path. Simplify things here by adding a spin lock when traversing the ring. This change increased stability for me without adding any noticeable overhead on my platform (xperia z). Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 56bae464275ac57cbf993f3ed15e96d6e1ec00a2 Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Oct 20 14:19:26 2015 +0200 ath9k: fix phyerror codes Some of the ath9k_phyerr enums were wrong from the beginning (and even before). Most of the time the codes were used for counters to be displayed over debugfs, which made this a non-functional issue. Some (e.g. ATH9K_PHYERR_FALSE_RADAR_EXT) are used for radar detection and require the correct code to work as intended. This patch includes: a) fixes ATH9K_PHYERR_FALSE_RADAR_EXT: 24 => 36 ATH9K_PHYERR_CCK_LENGTH_ILLEGAL: 32 => 28 ATH9K_PHYERR_CCK_POWER_DROP: 33 => 29 ATH9K_PHYERR_HT_CRC_ERROR: 34 => 32 ATH9K_PHYERR_HT_LENGTH_ILLEGAL: 35 => 33 ATH9K_PHYERR_HT_RATE_ILLEGAL: 36 => 34 b) extensions ATH9K_PHYERR_CCK_BLOCKER = 24 ATH9K_PHYERR_HT_ZLF = 35 ATH9K_PHYERR_GREEN_FIELD = 37 Aside from the correction and completion made in the enum, the patch also extends the display of the related counters in the debugfs. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 989b8376f33721f7206dd058330da05972a71384 Author: John Linville <linville@xxxxxxxxxxxxx> Date: Mon Oct 19 11:15:00 2015 -0400 orinoco_usb: return error in ezusb_probe when alloc_orinocodev fails The current code exits after alloc_orinocodev, but fails to change the return value to something that indicates the failure. This patch changes the return value to -ENOMEM. https://bugzilla.kernel.org/show_bug.cgi?id=106181 Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit dae0412d0caa4948da07fe4ad91352b5b61a70ec Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 21:04:14 2015 +0200 airo: fix scan after SIOCSIWAP (airo_set_wap) SIOCSIWAP (airo_set_wap) affects scan: only the AP specified by SIOCSIWAP is present in scan results. This makes NetworkManager work for the first time but then unable to find any other APs. Clear APList before starting scan and set it back after scan completes to work-around the problem. To avoid losing packets during scan, modify disable_MAC() to omit netif_carrier_off() call when lock == 2. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f675f93a797a18fc1f82030d56d02286039d0fb3 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 21:04:13 2015 +0200 airo: Track APList_rid in struct airo_info Instead of dynamically allocating APList, make it a member of struct airo_info to always track state of APList_rid. This simplifies suspend/resume and allows removal of readAPListRid. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6e4a0f2b5c56af6be43b546df16b1ece7df537d8 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Oct 26 12:53:17 2015 +0900 arm64: remove bogus TASK_SIZE_64 check The comparison between TASK_SIZE_64 and MODULES_VADDR does not make any sense on arm64, it is simply something that has been carried over from the ARM port which arm64 is based on. So drop it. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit b3bcb1b27203c24fbf181748cec6eec10419678d Merge: 6d08f61 2edb7a3 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Wed Oct 28 20:48:26 2015 +0200 Merge tag 'iwlwifi-next-for-kalle-2015-10-25' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * bug fix for TDLS * fixes and cleanups in scan * support of several scan plans * improvements in FTM * fixes in FW API * improvements in the failure paths when the bus is dead * other various small things here and there commit f90df5e27d978c492c4d911476622a7413621213 Author: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Date: Mon Oct 26 11:48:16 2015 +0800 arm64: make Timer Interrupt Frequency selectable It allows a selectable timer interrupt frequency of 100, 250, 300 and 1000 HZ. We will get better performance when choose a suitable frequency in some scene. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit f23bef34d34b6325916daddc4cfdeee53d5139e6 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Mon Oct 26 17:26:57 2015 +0600 arm64/mm: use PAGE_ALIGNED instead of IS_ALIGNED The <linux/mm.h> already provides the PAGE_ALIGNED macro. Let's use this macro instead of IS_ALIGNED and passing PAGE_SIZE directly. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: Laura Abbott <laura@xxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 59f2413573e4ee1e76062beef4a359156500db94 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 27 12:05:55 2015 +0000 arm64: cachetype: fix definitions of ICACHEF_* flags test_bit and set_bit take the bit number to operate on, rather than a mask. This patch fixes the ICACHEF_* definitions so that they represent the bit index in __icache_flags as opposed to the mask returned by the BIT macro. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit fde4a59fc1c55709b96d0f07110895f20015b6cc Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 27 12:05:54 2015 +0000 arm64: cpufeature: declare enable_cpu_capabilities as static enable_cpu_capabilities is only called from within cpufeature.c, so it can be declared static. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 8f2279d5d908119a08e906be1c6b69c744d0c379 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Oct 28 10:16:04 2015 -0700 usb: musb: omap2430: Fix regression caused by driver core change Commit ddef08dd00f5 ("Driver core: wakeup the parent device before trying probe") started automatically ensuring the parent device is enabled when the child gets probed. This however caused a regression for MUSB omap2430 interface as the runtime PM for the parent device needs the child initialized to access the MUSB hardware registers. Let's delay the enabling of PM runtime for the parent until the child has been properly initialized as suggested in an earlier patch by Grygorii Strashko <grygorii.strashko@xxxxxx>. In addition to delaying pm_runtime_enable, we now also need to make sure the parent is enabled during omap2430_musb_init. We also want to propagate an error from omap2430_runtime_resume if struct musb is not initialized. Note that we use pm_runtime_put_noidle here for both the child and parent to prevent an extra runtime_suspend/resume cycle. Let's also add some comments to avoid confusion between the two different devices. Fixes: ddef08dd00f5 ("Driver core: wakeup the parent device before trying probe") Suggested-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6675bce251b6ec20ec09c07e941d9f664be4ae58 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Oct 28 13:57:09 2015 +0200 drm/i915: disable CPU PWM also on LPT/SPT backlight disable Although we don't support or enable CPU PWM with LPT/SPT based systems, it may have been enabled prior to loading the driver. Disable the CPU PWM on LPT/SPT backlight disable to avoid warnings on LCPLL disable. The issue has been present on BDW since BDW enabling, but was recently introduced on HSW with commit 437b15b8017e0d946453c10794b0c5d4591cf180 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 4 16:55:13 2015 +0300 drm/i915: use pch backlight override on hsw too Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reference: http://mid.gmane.org/87y4frhwsn.fsf@xxxxxxxxxxxxxxxxxxxx Reported-by: kernel test robot <ying.huang@xxxxxxxxx> Tested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1446033429-8006-1-git-send-email-jani.nikula@xxxxxxxxx commit 9702970c7bd3e2d6fecb642a190269131d4ac16c Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Oct 28 16:56:13 2015 +0000 Revert "ARM64: unwind: Fix PC calculation" This reverts commit e306dfd06fcb44d21c80acb8e5a88d55f3d1cf63. With this patch applied, we were the only architecture making this sort of adjustment to the PC calculation in the unwinder. This causes problems for ftrace, where the PC values are matched against the contents of the stack frames in the callchain and fail to match any records after the address adjustment. Whilst there has been some effort to change ftrace to workaround this, those patches are not yet ready for mainline and, since we're the odd architecture in this regard, let's just step in line with other architectures (like arch/arm/) for now. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit e13d918a19a7b6cba62b32884f5e336e764c2cc6 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Oct 27 17:29:10 2015 +0000 arm64: kernel: fix tcr_el1.t0sz restore on systems with extended idmap Commit dd006da21646 ("arm64: mm: increase VA range of identity map") introduced a mechanism to extend the virtual memory map range to support arm64 systems with system RAM located at very high offset, where the identity mapping used to enable/disable the MMU requires additional translation levels to map the physical memory at an equal virtual offset. The kernel detects at boot time the tcr_el1.t0sz value required by the identity mapping and sets-up the tcr_el1.t0sz register field accordingly, any time the identity map is required in the kernel (ie when enabling the MMU). After enabling the MMU, in the cold boot path the kernel resets the tcr_el1.t0sz to its default value (ie the actual configuration value for the system virtual address space) so that after enabling the MMU the memory space translated by ttbr0_el1 is restored as expected. Commit dd006da21646 ("arm64: mm: increase VA range of identity map") also added code to set-up the tcr_el1.t0sz value when the kernel resumes from low-power states with the MMU off through cpu_resume() in order to effectively use the identity mapping to enable the MMU but failed to add the code required to restore the tcr_el1.t0sz to its default value, when the core returns to the kernel with the MMU enabled, so that the kernel might end up running with tcr_el1.t0sz value set-up for the identity mapping which can be lower than the value required by the actual virtual address space, resulting in an erroneous set-up. This patchs adds code in the resume path that restores the tcr_el1.t0sz default value upon core resume, mirroring this way the cold boot path behaviour therefore fixing the issue. Cc: <stable@xxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Fixes: dd006da21646 ("arm64: mm: increase VA range of identity map") Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: James Morse <james.morse@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 589cb22bbedacf325951014c07a35a2b01ca57f6 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Oct 15 13:55:53 2015 +0100 arm64: compat: fix stxr failure case in SWP emulation If the STXR instruction fails in the SWP emulation code, we leave *data overwritten with the loaded value, therefore corrupting the data written by a subsequent, successful attempt. This patch re-jigs the code so that we only write back to *data once we know that the update has happened. Cc: <stable@xxxxxxxxxxxxxxx> Fixes: bd35a4adc413 ("arm64: Port SWP/SWPB emulation support from arm") Reported-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Reported-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 1bd5dfe41b994a6e793363894befef76626965a9 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Mon Oct 26 20:23:53 2015 +0200 ARM: OMAP1: fix incorrect INT_DMA_LCD Commit 685e2d08c54b ("ARM: OMAP1: Change interrupt numbering for sparse IRQ") turned on SPARSE_IRQ on OMAP1, but forgot to change the number of INT_DMA_LCD. This broke the boot at least on Nokia 770, where the device hangs during framebuffer initialization. Fix by defining INT_DMA_LCD like the other interrupts. Cc: stable@xxxxxxxxxxxxxxx # v4.2+ Fixes: 685e2d08c54b ("ARM: OMAP1: Change interrupt numbering for sparse IRQ") Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 95893dde99d9d14f8a6ac99ea3103792a8da5f25 Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Thu Oct 22 15:20:11 2015 +0300 IB/ucma: Take the network namespace from the process Add support for network namespaces from user space. This is done by passing the network namespace of the process instead of init_net. 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 fa20105e09e97e81aadf02f722c31195e4a75c84 Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Thu Oct 22 15:20:10 2015 +0300 IB/cma: Add support for network namespaces Add support for network namespaces in the ib_cma module. This is accomplished by: 1. Adding network namespace parameter for rdma_create_id. This parameter is used to populate the network namespace field in rdma_id_private. rdma_create_id keeps a reference on the network namespace. 2. Using the network namespace from the rdma_id instead of init_net inside of ib_cma, when listening on an ID and when looking for an ID for an incoming request. 3. Decrementing the reference count for the appropriate network namespace when calling rdma_destroy_id. In order to preserve the current behavior init_net is passed when calling from other modules. 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 4be74b42a6d05a74a21362010cd3920fa17f63c7 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Thu Oct 22 15:20:09 2015 +0300 IB/cma: Separate port allocation to network namespaces Keep a struct for each network namespace containing the IDRs for the RDMA CM port spaces. The struct is created dynamically using the generic_net mechanism. This patch is internal infrastructure work for the following patches. In this patch, init_net is statically used as the network namespace for the new port-space API. 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 565edd1d555513ab5d67a847d50d7c14c82ef6c3 Author: Guy Shapiro <guysh@xxxxxxxxxxxx> Date: Thu Oct 22 15:20:08 2015 +0300 IB/addr: Pass network namespace as a parameter Add network namespace support to the ib_addr module. For that, all the address resolution and matching should be done using the appropriate namespace instead of init_net. This is achieved by: 1. Adding an explicit network namespace argument to exported function that require a namespace. 2. Saving the namespace in the rdma_addr_client structure. 3. Using it when calling networking functions. In order to preserve the behavior of calling modules, &init_net is passed as the parameter in calls from other modules. This is modified as namespace support is added on more levels. 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 630c3183cec33b502e80846e728c3ff165d1c84d Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:12:59 2015 +0300 IB/iser: Enable SG clustering iser is perfectly capable supporting SG clustering as it translates the SG list to a page vector. Enabling SG clustering can dramatically reduce the number of SG elements, which doesn't make much of a difference at this point, but with arbitrary SG list support, reducing the number of SG elements can benefit greatly as as it would reduce the length of the HW descriptors array. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit dd0107a08996c0ab8cac2b98ddbed5313e118e81 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Tue Oct 13 19:12:58 2015 +0300 IB/iser: set block queue_virt_boundary The block layer can reliably guarantee that SG lists won't contain gaps (page unaligned) if a driver set the queue virt_boundary. With this setting the block layer will: - refuse merges if bios are not aligned to the virtual boundary - split bios/requests that are not aligned to the virtual boundary - or, bounce buffer SG_IOs that are not aligned to the virtual boundary Since iser is working in 4K page size, set the virt_boundary to 4K pages. With this setting, we can now safely remove the bounce buffering logic in iser. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 4edf30e39e6cff32390eaff6a1508969b3cd967b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:17 2015 +0000 perf bpf: Collect perf_evsel in BPF object files This patch creates a 'struct perf_evsel' for every probe in a BPF object file(s) and fills 'struct evlist' with them. The previously introduced dummy event is now removed. After this patch, the following command: # perf record --event filter.o ls Can trace on each of the probes defined in filter.o. The core of this patch is bpf__foreach_tev(), which calls a callback function for each 'struct probe_trace_event' event for a bpf program with each associated file descriptors. The add_bpf_event() callback creates evsels by calling parse_events_add_tracepoint(). Since bpf-loader.c will not be built if libbpf is turned off, an empty bpf__foreach_tev() is defined in bpf-loader.h to avoid build errors. Committer notes: Before: # /tmp/oldperf record --event /tmp/foo.o -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.198 MB perf.data ] # perf evlist /tmp/foo.o # perf evlist -v /tmp/foo.o: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|CPU|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 I.e. we create just the PERF_TYPE_SOFTWARE (type: 1), PERF_COUNT_SW_DUMMY(config 0x9) event, now, with this patch: # perf record --event /tmp/foo.o -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.210 MB perf.data ] # perf evlist -v perf_bpf_probe:fork: type: 2, size: 112, config: 0x6bd, { sample_period, sample_freq }: 1, sample_type: IP|TID|TIME|CPU|PERIOD|RAW, disabled: 1, inherit: 1, mmap: 1, comm: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 # We now have a PERF_TYPE_SOFTWARE (type: 1), but the config states 0x6bd, which is how, after setting up the event via the kprobes interface, the 'perf_bpf_probe:fork' event is accessible via the perf_event_open syscall. This is all transient, as soon as the 'perf record' session ends, these probes will go away. To see how it looks like, lets try doing a neverending session, one that expects a control+C to end: # perf record --event /tmp/foo.o -a So, with that in place, we can use 'perf probe' to see what is in place: # perf probe -l perf_bpf_probe:fork (on _do_fork@acme/git/linux/kernel/fork.c) We also can use debugfs: [root@felicio ~]# cat /sys/kernel/debug/tracing/kprobe_events p:perf_bpf_probe/fork _text+638512 Ok, now lets stop and see if we got some forks: [root@felicio linux]# perf record --event /tmp/foo.o -a ^C[ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.325 MB perf.data (111 samples) ] [root@felicio linux]# perf script sshd 1271 [003] 81797.507678: perf_bpf_probe:fork: (ffffffff8109be30) sshd 18309 [000] 81797.524917: perf_bpf_probe:fork: (ffffffff8109be30) sshd 18309 [001] 81799.381603: perf_bpf_probe:fork: (ffffffff8109be30) sshd 18309 [001] 81799.408635: perf_bpf_probe:fork: (ffffffff8109be30) <SNIP> Sure enough, we have 111 forks :-) Callchains seems to work as well: # perf report --stdio --no-child # To display the perf.data header info, please use --header/--header-only options. # # Total Lost Samples: 0 # # Samples: 562 of event 'perf_bpf_probe:fork' # Event count (approx.): 562 # # Overhead Command Shared Object Symbol # ........ ........ ................ ............ # 44.66% sh [kernel.vmlinux] [k] _do_fork | ---_do_fork entry_SYSCALL_64_fastpath __libc_fork make_child 26.16% make [kernel.vmlinux] [k] _do_fork <SNIP> # Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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/1444826502-49291-7-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1e5e3ee8ff3877db6943032b54a6ac21c095affd Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:16 2015 +0000 perf tools: Load eBPF object into kernel This patch utilizes bpf_object__load() provided by libbpf to load all objects into kernel. Committer notes: Testing it: When using an incorrect kernel version number, i.e., having this in your eBPF proggie: int _version __attribute__((section("version"), used)) = 0x40100; For a 4.3.0-rc6+ kernel, say, this happens and needs checking at event parsing time, to provide a better error report to the user: # perf record --event /tmp/foo.o sleep 1 libbpf: load bpf program failed: Invalid argument libbpf: -- BEGIN DUMP LOG --- libbpf: libbpf: -- END LOG -- libbpf: failed to load program 'fork=_do_fork' libbpf: failed to load object '/tmp/foo.o' event syntax error: '/tmp/foo.o' \___ Invalid argument: Are you root and runing a CONFIG_BPF_SYSCALL kernel? (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events If we instead make it match, i.e. use 0x40300 on this v4.3.0-rc6+ kernel, the whole process goes thru: # perf record --event /tmp/foo.o -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.202 MB perf.data ] # perf evlist -v /tmp/foo.o: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|CPU|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 # Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1444826502-49291-6-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b8b339ea3b76392b1be7445f5ce57958fa6539f3 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 28 00:51:48 2015 -0400 drm/amdgpu: add some additional CZ revisions Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit aa3abf30bb28addcf593578d37447d42e3f65fc3 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:15 2015 +0000 perf tools: Create probe points for BPF programs This patch introduces bpf__{un,}probe() functions to enable callers to create kprobe points based on section names a BPF program. It parses the section names in the program and creates corresponding 'struct perf_probe_event' structures. The parse_perf_probe_command() function is used to do the main parsing work. The resuling 'struct perf_probe_event' is stored into program private data for further using. By utilizing the new probing API, this patch creates probe points during event parsing. To ensure probe points be removed correctly, register an atexit hook so even perf quit through exit() bpf__clear() is still called, so probing points are cleared. Note that bpf_clear() should be registered before bpf__probe() is called, so failure of bpf__probe() can still trigger bpf__clear() to remove probe points which are already probed. strerror style error reporting scaffold is created by this patch. bpf__strerror_probe() is the first error reporting function in bpf-loader.c. Committer note: Trying it: To build a test eBPF object file: I am testing using a script I built from the 'perf test -v LLVM' output: $ cat ~/bin/hello-ebpf export KERNEL_INC_OPTIONS="-nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.8.3/include -I/home/acme/git/linux/arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated -I/home/acme/git/linux/include -Iinclude -I/home/acme/git/linux/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/home/acme/git/linux/include/uapi -Iinclude/generated/uapi -include /home/acme/git/linux/include/linux/kconfig.h" export WORKING_DIR=/lib/modules/4.2.0/build export CLANG_SOURCE=- export CLANG_OPTIONS=-xc OBJ=/tmp/foo.o rm -f $OBJ echo '__attribute__((section("fork=do_fork"), used)) int fork(void *ctx) {return 0;} char _license[] __attribute__((section("license"), used)) = "GPL";int _version __attribute__((section("version"), used)) = 0x40100;' | \ clang -D__KERNEL__ $CLANG_OPTIONS $KERNEL_INC_OPTIONS -Wno-unused-value -Wno-pointer-sign -working-directory $WORKING_DIR -c "$CLANG_SOURCE" -target bpf -O2 -o /tmp/foo.o && file $OBJ --- First asking to put a probe in a function not present in the kernel (misses the initial _): $ perf record --event /tmp/foo.o sleep 1 Probe point 'do_fork' not found. event syntax error: '/tmp/foo.o' \___ You need to check probing points in BPF file (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events $ --- Now, with "__attribute__((section("fork=_do_fork"), used)): $ grep _do_fork /proc/kallsyms ffffffff81099ab0 T _do_fork $ perf record --event /tmp/foo.o sleep 1 Failed to open kprobe_events: Permission denied event syntax error: '/tmp/foo.o' \___ Permission denied --- Cool, we need to provide some better hints, "kprobe_events" is too low level, one doesn't strictly need to know the precise details of how these things are put in place, so something that shows the command needed to fix the permissions would be more helpful. Lets try as root instead: # perf record --event /tmp/foo.o sleep 1 Lowering default frequency rate to 1000. Please consider tweaking /proc/sys/kernel/perf_event_max_sample_rate. [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.013 MB perf.data ] # perf evlist /tmp/foo.o [root@felicio ~]# perf evlist -v /tmp/foo.o: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 1000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 --- Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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/1444826502-49291-5-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 84c86ca12b2189df751eed7b2d67cb63bc8feda5 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:14 2015 +0000 perf tools: Enable passing bpf object file to --event By introducing new rules in tools/perf/util/parse-events.[ly], this patch enables 'perf record --event bpf_file.o' to select events by an eBPF object file. It calls parse_events_load_bpf() to load that file, which uses bpf__prepare_load() and finally calls bpf_object__open() for the object files. After applying this patch, commands like: # perf record --event foo.o sleep become possible. However, at this point it is unable to link any useful things onto the evsel list because the creating of probe points and BPF program attaching have not been implemented. Before real events are possible to be extracted, to avoid perf report error because of empty evsel list, this patch link a dummy evsel. The dummy event related code will be removed when probing and extracting code is ready. Commiter notes: Using it: $ ls -la foo.o ls: cannot access foo.o: No such file or directory $ perf record --event foo.o sleep libbpf: failed to open foo.o: No such file or directory event syntax error: 'foo.o' \___ BPF object file 'foo.o' is invalid (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events $ $ file /tmp/build/perf/perf.o /tmp/build/perf/perf.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped $ perf record --event /tmp/build/perf/perf.o sleep libbpf: /tmp/build/perf/perf.o is not an eBPF object file event syntax error: '/tmp/build/perf/perf.o' \___ BPF object file '/tmp/build/perf/perf.o' is invalid (add -v to see detail) Run 'perf list' for a list of valid events Usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events $ $ file /tmp/foo.o /tmp/foo.o: ELF 64-bit LSB relocatable, no machine, version 1 (SYSV), not stripped $ perf record --event /tmp/foo.o sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.013 MB perf.data ] $ perf evlist /tmp/foo.o $ perf evlist -v /tmp/foo.o: type: 1, size: 112, config: 0x9, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 $ So, type 1 is PERF_TYPE_SOFTWARE, config 0x9 is PERF_COUNT_SW_DUMMY, ok. $ perf report --stdio Error: The perf.data file has no samples! # To display the perf.data header info, please use --header/--header-only options. # $ Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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/1444826502-49291-4-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 69d262a93a25cf475012ea2e00aeb29f4932c028 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:13 2015 +0000 perf ebpf: Add the libbpf glue The 'bpf-loader.[ch]' files are introduced in this patch. Which will be the interface between perf and libbpf. bpf__prepare_load() resides in bpf-loader.c. Following patches will enrich these two files. 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/1444826502-49291-3-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ed63f34c026e9a60d17fa750ecdfe3f600d49393 Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 14 12:41:12 2015 +0000 perf tools: Make perf depend on libbpf By adding libbpf into perf's Makefile, this patch enables perf to build libbpf if libelf is found and neither NO_LIBELF nor NO_LIBBPF is set. The newly introduced code is similar to how libapi and libtraceevent are wired into Makefile.perf. MANIFEST is also updated for 'make perf-*-src-pkg'. Append make_no_libbpf to tools/perf/tests/make. The 'bpf' feature check is appended into default FEATURE_TESTS and FEATURE_DISPLAY, so perf will check the API version of bpf in /path/to/kernel/include/uapi/linux/bpf.h. Which should not fail except when we are trying to port this code to an old kernel. Error messages are also updated to notify users about the lack of BPF support in 'perf record' if libelf is missing or the BPF API check failed. tools/lib/bpf is added to TAG_FOLDERS to allow us to navigate libbpf files when working on perf using tools/perf/tags. 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/1444826502-49291-2-git-send-email-wangnan0@xxxxxxxxxx [ Document NO_LIBBPF in Makefile.perf, noted by Jiri Olsa ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fe326c5cc07cd265abad29c35c142cfae09889e4 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Oct 28 10:43:23 2015 +0900 clocksource/drivers/sh_mtu2: Fix multiple shutdown call issue On the r7s72100 Genmai board the MTU2 driver currently triggers a common clock framework WARN_ON(enable_count) when disabling the clock due to the MTU2 driver after recent callback rework may call ->set_state_shutdown() multiple times. A similar issue was spotted for the TMU driver and fixed in: 452b132 clocksource/drivers/sh_tmu: Fix traceback spotted in -next On r7s72100 Genmai v4.3-rc7 built with shmobile_defconfig spits out the following during boot: sh_mtu2 fcff0000.timer: ch0: used for clock events ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:675 clk_core_disable+0x2c/0x6c() CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.3.0-rc7 #1 Hardware name: Generic R7S72100 (Flattened Device Tree) Backtrace: [<c00133d4>] (dump_backtrace) from [<c0013570>] (show_stack+0x18/0x1c) [<c0013558>] (show_stack) from [<c01c7aac>] (dump_stack+0x74/0x90) [<c01c7a38>] (dump_stack) from [<c00272fc>] (warn_slowpath_common+0x88/0xb4) [<c0027274>] (warn_slowpath_common) from [<c0027400>] (warn_slowpath_null+0x24/0x2c) [<c00273dc>] (warn_slowpath_null) from [<c03a9320>] (clk_core_disable+0x2c/0x6c) [<c03a92f4>] (clk_core_disable) from [<c03aa0a0>] (clk_disable+0x40/0x4c) [<c03aa060>] (clk_disable) from [<c0395d2c>] (sh_mtu2_disable+0x24/0x50) [<c0395d08>] (sh_mtu2_disable) from [<c0395d6c>] (sh_mtu2_clock_event_shutdown+0x14/0x1c) [<c0395d58>] (sh_mtu2_clock_event_shutdown) from [<c007d7d0>] (clockevents_switch_state+0xc8/0x114) [<c007d708>] (clockevents_switch_state) from [<c007d834>] (clockevents_shutdown+0x18/0x28) [<c007d81c>] (clockevents_shutdown) from [<c007dd58>] (clockevents_exchange_device+0x70/0x78) [<c007dce8>] (clockevents_exchange_device) from [<c007e578>] (tick_check_new_device+0x88/0xe0) [<c007e4f0>] (tick_check_new_device) from [<c007daf0>] (clockevents_register_device+0xac/0x120) [<c007da44>] (clockevents_register_device) from [<c0395be8>] (sh_mtu2_probe+0x230/0x350) [<c03959b8>] (sh_mtu2_probe) from [<c028b6f0>] (platform_drv_probe+0x50/0x98) Reported-by: Chris Brandt <chris.brandt@xxxxxxxxxxx> Fixes: 19a9ffb ("clockevents/drivers/sh_mtu2: Migrate to new 'set-state' interface") Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> commit 25d464183ca3522ae27ec1bbef5ddcbbbef65017 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 5 15:41:36 2015 +0530 ARC: mm: PAE40: tlbex.S: Explicitify the size of pte_t Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 28b4af729fc4f7ee748c4bccb50ba5a6066418eb Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Sep 14 18:43:42 2015 -0700 ARC: mm: PAE40: switch to using phys_addr_t for physical addresses That way a single flip of phys_addr_t to 64 bit ensures all places dealing with physical addresses get correct data Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 29e332261d2ae0900e3befffd90cd70594cd7a84 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Oct 28 19:06:10 2015 +0530 ARC: mm: HIGHMEM: populate high memory from DT Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 443f8c75e8d58d394b0e65b47e02e5cd8ed32b41 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 26 14:51:30 2015 +0100 perf symbols: Fix endless loop in dso__split_kallsyms_for_kcore Currently we split symbols based on the map comparison, but symbols are stored within dso objects and maps could point into same dso objects (kernel maps). Hence we could end up changing rbtree we are currently iterating and mess it up. It's easily reproduced on s390x by running: $ perf record -a -- sleep 3 $ perf buildid-list -i perf.data --with-hits The fix is to compare dso objects instead. Reported-by: Michael Petlan <mpetlan@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20151026135130.GA26003@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 374ce938aaeb481114b2a8fdedd261f9b2ff9b2b Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Wed Oct 28 10:55:02 2015 +0000 perf tools: Enable pre-event inherit setting by config terms This patch allows perf record setting event's attr.inherit bit by config terms like: # perf record -e cycles/no-inherit/ ... # perf record -e cycles/inherit/ ... So user can control inherit bit for each event separately. In following example, a.out fork()s in main then do some complex CPU intensive computations in both of its children. Basic result with and without inherit: # perf record -e cycles -e instructions ./a.out [ perf record: Woken up 9 times to write data ] [ perf record: Captured and wrote 2.205 MB perf.data (47920 samples) ] # perf report --stdio # ... # Samples: 23K of event 'cycles' # Event count (approx.): 23641752891 ... # Samples: 24K of event 'instructions' # Event count (approx.): 30428312415 # perf record -i -e cycles -e instructions ./a.out [ perf record: Woken up 5 times to write data ] [ perf record: Captured and wrote 1.111 MB perf.data (24019 samples) ] ... # Samples: 12K of event 'cycles' # Event count (approx.): 11699501775 ... # Samples: 12K of event 'instructions' # Event count (approx.): 15058023559 Cancel inherit for one event when globally enable: # perf record -e cycles/no-inherit/ -e instructions ./a.out [ perf record: Woken up 7 times to write data ] [ perf record: Captured and wrote 1.660 MB perf.data (36004 samples) ] ... # Samples: 12K of event 'cycles/no-inherit/' # Event count (approx.): 11895759282 ... # Samples: 24K of event 'instructions' # Event count (approx.): 30668000441 Enable inherit for one event when globally disable: # perf record -i -e cycles/inherit/ -e instructions ./a.out [ perf record: Woken up 7 times to write data ] [ perf record: Captured and wrote 1.654 MB perf.data (35868 samples) ] ... # Samples: 23K of event 'cycles/inherit/' # Event count (approx.): 23285400229 ... # Samples: 11K of event 'instructions' # Event count (approx.): 14969050259 Committer note: One can check if the bit was set, in addition to seeing the result in the perf.data file size as above by doing one of: # perf record -e cycles -e instructions -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.911 MB perf.data (63 samples) ] # perf evlist -v cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 instructions: size: 112, config: 0x1, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, inherit: 1, freq: 1, sample_id_all: 1, exclude_guest: 1 # So, the inherit bit was set in both, now, if we disable it globally using --no-inherit: # perf record --no-inherit -e cycles -e instructions -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.910 MB perf.data (56 samples) ] # perf evlist -v cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 instructions: size: 112, config: 0x1, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, freq: 1, sample_id_all: 1, exclude_guest: 1 No inherit bit set, then disabling it and setting just on the cycles event: # perf record --no-inherit -e cycles/inherit/ -e instructions -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.909 MB perf.data (48 samples) ] # perf evlist -v cycles/inherit/: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 instructions: size: 112, config: 0x1, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|ID|CPU|PERIOD, read_format: ID, disabled: 1, freq: 1, sample_id_all: 1, exclude_guest: 1 # We can see it as well in by using a more verbose level of debug messages in the tool that sets up the perf_event_attr, 'perf record' in this case: [root@zoo ~]# perf record -vv --no-inherit -e cycles/inherit/ -e instructions -a usleep 1 ------------------------------------------------------------ perf_event_attr: size 112 { sample_period, sample_freq } 4000 sample_type IP|TID|TIME|ID|CPU|PERIOD read_format ID disabled 1 inherit 1 mmap 1 comm 1 freq 1 task 1 sample_id_all 1 exclude_guest 1 mmap2 1 comm_exec 1 ------------------------------------------------------------ sys_perf_event_open: pid -1 cpu 0 group_fd -1 flags 0x8 sys_perf_event_open: pid -1 cpu 1 group_fd -1 flags 0x8 sys_perf_event_open: pid -1 cpu 2 group_fd -1 flags 0x8 sys_perf_event_open: pid -1 cpu 3 group_fd -1 flags 0x8 ------------------------------------------------------------ perf_event_attr: size 112 config 0x1 { sample_period, sample_freq } 4000 sample_type IP|TID|TIME|ID|CPU|PERIOD read_format ID disabled 1 freq 1 sample_id_all 1 exclude_guest 1 ------------------------------------------------------------ sys_perf_event_open: pid -1 cpu 0 group_fd -1 flags 0x8 <SNIP> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1446029705-199659-2-git-send-email-wangnan0@xxxxxxxxxx [ s/u64/bool/ for the perf_evsel_config_term inherit field - jolsa] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 45890f6d34e70d9dd194bd1729eba3ff72cabf78 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Mar 9 18:53:49 2015 +0530 ARC: mm: HIGHMEM: kmap API implementation Implement kmap* API for ARC. This enables - permanent kernel maps (pkmaps): :kmap() API - fixmap : kmap_atomic() We use a very simple/uniform approach for both (unlike some of the other arches). So fixmap doesn't use the customary compile time address stuff. The important semantic is sleep'ability (pkmap) vs. not (fixmap) which the API guarantees. Note that this patch only enables highmem for subsequent PAE40 support as there is no real highmem for ARC in pure 32-bit paradigm as explained below. ARC has 2:2 address split of the 32-bit address space with lower half being translated (virtual) while upper half unstranslated (0x8000_0000 to 0xFFFF_FFFF). kernel itself is linked at base of unstranslated space (i.e. 0x8000_0000 onwards), which is mapped to say DDR 0x0 by external Bus Glue logic (outside the core). So kernel can potentially access 1.75G worth of memory directly w/o need for highmem. (the top 256M is taken by uncached peripheral space from 0xF000_0000 to 0xFFFF_FFFF) In PAE40, hardware can address memory beyond 4G (0x1_0000_0000) while the logical/virtual addresses remain 32-bits. Thus highmem is required for kernel proper to be able to access these pages for it's own purposes (user space is agnostic to this anyways). Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 6101be5ad439806c70b54bdd083e7db9e3affb3d Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Oct 28 18:48:17 2015 +0530 ARC: mm: preps ahead of HIGHMEM support #2 Explicit'ify that all memory added so far is low memory Nothing semantical Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 336e2136e1353db8e9e731c27381ee0735656a8a Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Mar 5 17:06:31 2015 +0530 ARC: mm: preps ahead of HIGHMEM support Before we plug in highmem support, some of code needs to be ready for it - copy_user_highpage() needs to be using the kmap_atomic API - mk_pte() can't assume page_address() - do_page_fault() can't assume VMALLOC_END is end of kernel vaddr space Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit d40846457fc23cd841a60fdc2786e08a8bedb35b Author: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Date: Wed Sep 2 20:43:30 2015 +0300 ARC: mm: use generic macros _BITUL()/_AC() Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 8840e14cd82d398d348b2947fad3a630e93260ba Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Oct 13 12:11:38 2015 +0530 ARC: mm: Improve Duplicate PD Fault handler - Move the verbosity knob from .data to .bss by using inverted logic - No need to readout PD1 descriptor - clip the non pfn bits of PD0 to avoid clipping inside the loop Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 914beb9fc26d6225295b8315ab54026f8f22755c Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Oct 28 13:39:05 2015 +0000 x86/xen: add reschedule point when mapping foreign GFNs Mapping a large range of foreign GFNs can take a long time, add a reschedule point after each batch of 16 GFNs. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> commit 5baecbcd9c9a2f491afe1369fc22e7363f9c94d5 Author: Dima Kogan <dima@xxxxxxxxxxxxxxx> Date: Mon Sep 7 17:34:19 2015 -0700 perf symbols: we can now read separate debug-info files based on a build ID Recent GDB (at least on a vanilla Debian box) looks for debug information in /usr/lib/debug/.build-id/nn/nnnnnnn where nn/nnnnnn is the build-id of the stripped ELF binary. This is documented here: https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html This was not working in perf because we didn't read the build id until AFTER we searched for the separate debug information file. This patch reads the build ID and THEN does the search. Signed-off-by: Dima Kogan <dima@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/87si6pfwz4.fsf@xxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f2f3096888569ff1fc15fa0187a39eef3a24b28e Author: Dima Kogan <dima@xxxxxxxxxxxxxxx> Date: Mon Sep 7 17:30:28 2015 -0700 perf symbols: Fix type error when reading a build-id This was benign, but wrong. The build-id should live in a char[], not a char*[] Signed-off-by: Dima Kogan <dima@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/87si6pfwz4.fsf@xxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b33e18f61bd18227a456016a77b1a968f5bc1d65 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Oct 27 14:19:39 2015 +0900 fs/writeback, rcu: Don't use list_entry_rcu() for pointer offsetting in bdi_split_work_to_wbs() bdi_split_work_to_wbs() uses list_for_each_entry_rcu_continue() to walk @bdi->wb_list. To set up the initial iteration condition, it uses list_entry_rcu() to calculate the entry pointer corresponding to the list head; however, this isn't an actual RCU dereference and using list_entry_rcu() for it ended up breaking a proposed list_entry_rcu() change because it was feeding an non-lvalue pointer into the macro. Don't use the RCU variant for simple pointer offsetting. Use list_entry() instead. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Dipankar Sarma <dipankar@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Lai Jiangshan <jiangshanlai@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Patrick Marlier <patrick.marlier@xxxxxxxxx> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: pranith kumar <bobby.prani@xxxxxxxxx> Link: http://lkml.kernel.org/r/20151027051939.GA19355@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e4340bbb07dd38339c0773543dd928886e512a57 Merge: c13dc31 a22c4d7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 28 13:17:01 2015 +0100 Merge branch 'linus' into core/rcu, to fix up a semantic conflict Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5804dc7cf986cc99689ef54e577f9efb4f1c455 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Oct 28 12:33:48 2015 +0100 ALSA: DocBook: Add soc-ops.c and soc-compress.c These have been missing in the template file although they provide good kernel doc comments. Let's add them. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 78dd5e21b075053e67194ea8f496439bebc52728 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Oct 28 12:26:48 2015 +0100 ALSA: hda - Add / fix kernel doc comments Give some readable comment in kernel doc style for each exported function, as I promised in the previous meetings. While we're at it, fix the wrong comments, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 78b9bc947b18ed16b6c2c573d774e6d54ad9452d Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Fri Oct 23 11:48:17 2015 +0200 efi: Fix warning of int-to-pointer-cast on x86 32-bit builds Commit: 0f96a99dab36 ("efi: Add "efi_fake_mem" boot option") introduced the following warning message: drivers/firmware/efi/fake_mem.c:186:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] new_memmap_phy was defined as a u64 value and cast to void*, causing a int-to-pointer-cast warning on x86 32-bit builds. However, since the void* type is inappropriate for a physical address, the definition of struct efi_memory_map::phys_map has been changed to phys_addr_t in the previous patch, and so the cast can be dropped entirely. This patch also changes the type of the "new_memmap_phy" variable from "u64" to "phys_addr_t" to align with the types of memblock_alloc() and struct efi_memory_map::phys_map. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> [ Removed void* cast, updated commit log] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: kamezawa.hiroyu@xxxxxxxxxxxxxx Cc: linux-efi@xxxxxxxxxxxxxxx Cc: matt.fleming@xxxxxxxxx Link: http://lkml.kernel.org/r/1445593697-1342-2-git-send-email-ard.biesheuvel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 44511fb9e55ada760822b0b0d7be9d150576f17f Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Oct 23 11:48:16 2015 +0200 efi: Use correct type for struct efi_memory_map::phys_map We have been getting away with using a void* for the physical address of the UEFI memory map, since, even on 32-bit platforms with 64-bit physical addresses, no truncation takes place if the memory map has been allocated by the firmware (which only uses 1:1 virtually addressable memory), which is usually the case. However, commit: 0f96a99dab36 ("efi: Add "efi_fake_mem" boot option") adds code that clones and modifies the UEFI memory map, and the clone may live above 4 GB on 32-bit platforms. This means our use of void* for struct efi_memory_map::phys_map has graduated from 'incorrect but working' to 'incorrect and broken', and we need to fix it. So redefine struct efi_memory_map::phys_map as phys_addr_t, and get rid of a bunch of casts that are now unneeded. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: izumi.taku@xxxxxxxxxxxxxx Cc: kamezawa.hiroyu@xxxxxxxxxxxxxx Cc: linux-efi@xxxxxxxxxxxxxxx Cc: matt.fleming@xxxxxxxxx Link: http://lkml.kernel.org/r/1445593697-1342-1-git-send-email-ard.biesheuvel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9acdc911b55569145034b01075adf658891afbd2 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 26 10:52:57 2015 +0530 MAINTAINERS: Add public mailing list for ARC Cc: <stable@xxxxxxxxxxxxxxx> #3.9+ Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit f759ee57b205223e98fdc97e26cbef305b8048e1 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Jan 23 18:10:26 2015 +0530 ARC: Ensure DT mem base is same as what kernel is built with Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 483bcc99c0a349570b30fc9cb20dea20c9387a4b Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Oct 15 20:32:39 2015 +0530 ARC: boot: Non Master cpus only need to call EARLY_CPU_SETUP once With prev fixes, all cores now start via common entry point @stext which already calls EARLY_CPU_SETUP for all cores - so no need to invoke it again Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit aa0efcde45a36d1ea2bc5bde4d47f36ec17502de Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 12 15:15:48 2015 +0530 ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_smp() MCIP now registers it's own per cpu setup routine (for IPI IRQ request) using smp_ops.init_irq_cpu(). So no need for platforms to do that. This now completely decouples platforms from MCIP. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 286130ebf196d9643800977d57bdb7cda266b49e Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Oct 14 14:38:02 2015 +0530 ARC: smp: Introduce smp hook @init_irq_cpu called for all cores Note this is not part of platform owned static machine_desc, but more of device owned plat_smp_ops (rather misnamed) which a IPI provider or some such typically defines. This will help us seperate out the IPI registration from platform specific init_cpu_smp() into device specific init_irq_cpu() Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 8721a7f5a6f95c38cacbe1be22c820a7698926ef Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Oct 13 15:26:00 2015 +0530 ARC: smp: Rename platform hook @init_smp -> @init_cpu_smp This conveys better that it is called for each cpu Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 26b8f996239884451aeb1213747e3ca808c26024 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 12 16:38:07 2015 +0530 ARCv2: smp: [plat-*]: No need to explicitly call mcip_init_early_smp() MCIP now registers it's own probe callback with smp_ops.init_early_smp() which is called by ARC common code, so no need for platforms to do that. This decouples the platforms and MCIP and helps confine MCIP details to it's own file. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e55af4da026ebdb9ded3cb7708b8a8bd7884ad3a Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 12 16:28:55 2015 +0530 ARC: smp: Introduce smp hook @init_early_smp for Master core This adds a platform agnostic early SMP init hook which is called on Master core before calling setup_processor() setup_arch() smp_init_cpus() smp_ops.init_early_smp() ... setup_processor() How this helps: - Used for one time init of certain SMP centric IP blocks, before calling setup_processor() which probes various bits of core, possibly including this block - Currently platforms need to call this IP block init from their init routines, which doesn't make sense as this is specific to ARC core and not platform and otherwise requires copy/paste in all (and hence a possible point of failure) e.g. MCIP init is called from 2 platforms currently (axs10x and sim) which will go away once we have this. This change only adds the hooks but they are empty for now. Next commit will populate them and remove the explicit init calls from platforms. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 4c82f28617ab9ce938118f0b99156a96c64d3da0 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Oct 13 08:48:54 2015 +0530 ARC: remove @init_time, @init_irq platform callbacks These are not in use for ARC platforms. Moreover DT mechanims exist to probe them w/o explicit platform calls. - clocksource drivers can use CLOCKSOURCE_OF_DECLARE() - intc IRQCHIP_DECLARE() calls + cascading inside DT allows external intc to be probed automatically Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e0868e6f673d0d2db6a3c3798605e6efb756e61e Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Oct 12 14:58:54 2015 +0530 ARC: smp: irqchip: handle IPI as percpu irq like timer The reason this was not done so far was lack of genuine IPI_IRQ for ARC700, as we don't have a SMP version of core yet (which might change soon thx to EZChip). Nevertheles to increase the build coverage, we need to allow CONFIG_SMP for ARC700 and still be able to run it on a UP platform (nsim or AXS101) with a UP Device Tree (SMP-on-UP) The build itself requires some define for IPI_IRQ and even a dummy value is fine since that code won't run anyways. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e5e113cf0d19392f26c6b63e63ad4680ee4ec5da Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Oct 28 11:37:53 2015 +0100 ALSA: Constify ratden/ratnum constraints The ALSA core does not modify the constraints provided by a driver. Most constraint helper functions already take a const pointer to the constraint description, the exception at the moment being the ratden and ratnum constraints. Make those const as well, this allows a driver to declare them as const. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3971cdc202f638f252e39316d42492ace04cc1b1 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Oct 9 11:26:12 2015 +0530 ARC: boot: Support Halt-on-reset and Run-on-reset SMP booting modes For Run-on-reset, non masters need to spin wait. For Halt-on-reset they can jump to entry point directly. Also while at it, made reset vector handler as "the" entry point for kernel including host debugger based boot (which uses the ELF header entry point) Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 8a28d67457b613258aa0578ccece206d166f2b9f Merge: a22c4d7 977bf06 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 18:59:53 2015 +0900 Merge tag 'powerpc-4.3-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fix from Michael Ellerman: - powerpc/dma: dma_set_coherent_mask() should not be GPL only from Ben * tag 'powerpc-4.3-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc/dma: dma_set_coherent_mask() should not be GPL only commit 3510fac4549201919c565250fdff5cfa63db9e86 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Oct 16 12:41:12 2015 +0530 cpufreq: postfix policy directory with the first CPU in related_cpus The sysfs policy directory is postfixed currently with the CPU number for which the policy was created, which isn't necessarily the first CPU in related_cpus mask. To make it more consistent and predictable, lets postfix the policy with the first cpu in related-cpus mask. Suggested-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 96bdda61f58b70431bbe8a3e49794c8210f7691b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:35:24 2015 +0530 cpufreq: create cpu/cpufreq/policyX directories The cpufreq sysfs interface had been a bit inconsistent as one of the CPUs for a policy had a real directory within its sysfs 'cpuX' directory and all other CPUs had links to it. That also made the code a bit complex as we need to take care of moving the sysfs directory if the CPU containing the real directory is getting physically hot-unplugged. Solve this by creating 'policyX' directories (per-policy) in /sys/devices/system/cpu/cpufreq/ directory, where X is the CPU for which the policy was first created. This also removes the need of keeping kobj_cpu and we can remove it now. Suggested-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Reviewed-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Acked-by: is more of a general agreement from the person that he is Reviewed-by: is a more strict tag and implies that the reviewer has Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c82bd44437f5d53d1654d9e36a9e4e55610f6624 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:35:23 2015 +0530 cpufreq: remove cpufreq_sysfs_{create|remove}_file() They don't do anything special now, remove the unnecessary wrapper. Reviewed-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8eec1020f0c0c03f7219ed50cf1b754be49dd448 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:35:22 2015 +0530 cpufreq: create cpu/cpufreq at boot time Later patches will need to create policy specific directories in /sys/devices/system/cpu/cpufreq/ directory and so the cpufreq directory wouldn't be ever empty. And so no fun creating/destroying it on need basis anymore. Create it once on system boot. Reviewed-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0998a03a3a4d35290993f86ffed0e311e8dd78f5 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Oct 15 21:35:21 2015 +0530 cpufreq: Use cpumask_copy instead of cpumask_or to copy a mask ->related_cpus is empty at this point of time and copying ->cpus to it or orring ->related_cpus with ->cpus would result in the same value. But cpumask_copy makes it rather clear. Reviewed-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 083701b13c79a908fb400dc24aaa80aad07ac462 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Oct 13 13:39:01 2015 +0530 cpufreq: ondemand: Drop unnecessary locks from update_sampling_rate() 'timer_mutex' is required to sync work-handlers of policy->cpus. update_sampling_rate() is just canceling the works and queuing them again. This isn't protecting anything at all in update_sampling_rate() and is not gonna be of any use. Even if a work-handler is already running for a CPU, cancel_delayed_work_sync() will wait for it to finish. Drop these unnecessary locks. 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 b3975e94f5688691f487ea00126dabe8f5bee3af Author: Jay Freyensee <james_p_freyensee@xxxxxxxxxxxxxxx> Date: Wed Oct 28 16:37:51 2015 +0900 Update target repo for nvme patch contributions Per http://www.nvmexpress.org/resources/linux-driver-information/, the old nvme git repo is stale. Updating MAINTAINERS to the Supported target currently used by the community. Signed-off-by: Jay Freyensee <james_p_freyensee@xxxxxxxxxxxxxxx> Updated by me to add Keith as the maintainer, me as the co-maintainer. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0bdec95ce52d2705787f813e82c1ff2f1b29af17 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Oct 28 15:14:09 2015 +0900 iommu/vt-d: Fix rwxp flags in SVM device fault callback This is the downside of using bitfields in the struct definition, rather than doing all the explicit masking and shifting. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit f11631748ee6973f85238109a3fa8ab8e760e5a4 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Mon Oct 26 13:58:54 2015 +0200 NFC: nci: non-static functions can not be inline This fixes a build error that seems to be toochain dependent (Not seen with gcc v5.1): In file included from net/nfc/nci/rsp.c:36:0: net/nfc/nci/rsp.c: In function â??nci_rsp_packetâ??: include/net/nfc/nci_core.h:355:12: error: inlining failed in call to always_inline â??nci_prop_rsp_packetâ??: function body not available inline int nci_prop_rsp_packet(struct nci_dev *ndev, __u16 opcode, Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 977bf062bba3eb8d03f66d5b4e227e5d7ebc1e08 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:20:05 2015 +0900 powerpc/dma: dma_set_coherent_mask() should not be GPL only When turning this from inline to an exported function I was a bit over-eager and made it GPL only. This prevents the use of pretty much all non-GPL PCI driver which is a bit over the top. Let's bring it back in line with other architecture. Fixes: 817820b0226a ("powerpc/iommu: Support "hybrid" iommu/direct DMA ops for coherent_mask < dma_mask") Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2b1d88cda32f81685bae45c00bf517f77bcda3cd Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 15 17:02:19 2015 +0200 PM / Domains: Merge measurements for PM QoS device latencies Measure latency does by itself contribute to an increased latency, thus we should avoid it when it isn't needed. By merging the latency measurements for the ->save_state() and the ->stop() callbacks, we get one measurement instead of two and we get one value to store instead of two. Let's also apply the likewise change for the ->start() and ->restore_state() callbacks. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 51cda844892fded75d3ad07d0233e73572eba2f3 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 15 17:02:06 2015 +0200 PM / Domains: Don't measure ->start|stop() latency in system PM callbacks Measure latency does by itself contribute to an increased latency, thus we should avoid it when it isn't needed. Genpd measures latencies in the system PM phase for the ->start|stop() callbacks and is thus affecting the system PM suspend/resume time. Moreover these latencies are validated only at runtime PM suspend/resume. To this reasoning, let's decide to leave these measurements out of the system PM phase. There should be plenty of occasions during runtime PM to perform these measurements anyway. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a61756165116563064ab94183713509b546c428b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Oct 19 10:16:07 2015 +0200 PM / clk: Fix broken build due to non-matching code and header #ifdefs If an architecture's main Kconfig file doesn't include kernel/power/Kconfig, but CONFIG_PM=y and HAVE_CLK=y (e.g. m68knommu allmodconfig): drivers/base/power/clock_ops.c: In function â??__pm_clk_addâ??: drivers/base/power/clock_ops.c:106: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c: At top level: drivers/base/power/clock_ops.c:120: error: redefinition of â??pm_clk_addâ?? include/linux/pm_clock.h:64: error: previous definition of â??pm_clk_addâ?? was here drivers/base/power/clock_ops.c:135: error: redefinition of â??pm_clk_add_clkâ?? include/linux/pm_clock.h:69: error: previous definition of â??pm_clk_add_clkâ?? was here drivers/base/power/clock_ops.c:171: error: redefinition of â??pm_clk_removeâ?? include/linux/pm_clock.h:73: error: previous definition of â??pm_clk_removeâ?? was here drivers/base/power/clock_ops.c: In function â??pm_clk_removeâ??: drivers/base/power/clock_ops.c:180: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c:180: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c: At top level: drivers/base/power/clock_ops.c:207: error: redefinition of â??pm_clk_initâ?? include/linux/pm_clock.h:54: error: previous definition of â??pm_clk_initâ?? was here drivers/base/power/clock_ops.c: In function â??pm_clk_initâ??: drivers/base/power/clock_ops.c:210: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c: At top level: drivers/base/power/clock_ops.c:221: error: redefinition of â??pm_clk_createâ?? include/linux/pm_clock.h:57: error: previous definition of â??pm_clk_createâ?? was here drivers/base/power/clock_ops.c:234: error: redefinition of â??pm_clk_destroyâ?? include/linux/pm_clock.h:61: error: previous definition of â??pm_clk_destroyâ?? was here drivers/base/power/clock_ops.c: In function â??pm_clk_destroyâ??: drivers/base/power/clock_ops.c:246: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c:246: error: â??struct pm_subsys_dataâ?? has no member named â??clock_listâ?? drivers/base/power/clock_ops.c: At top level: drivers/base/power/clock_ops.c:263: error: expected identifier or â??(â?? before â??voidâ?? drivers/base/power/clock_ops.c:263: error: expected â??)â?? before numeric constant drivers/base/power/clock_ops.c:293: error: expected identifier or â??(â?? before â??voidâ?? drivers/base/power/clock_ops.c:293: error: expected â??)â?? before numeric constant drivers/base/power/clock_ops.c: In function â??pm_clk_runtime_suspendâ??: drivers/base/power/clock_ops.c:384: error: called object â??0uâ?? is not a function drivers/base/power/clock_ops.c: In function â??pm_clk_runtime_resumeâ??: drivers/base/power/clock_ops.c:400: error: called object â??0uâ?? is not a function This happens because: - drivers/base/power/clock_ops.c depends on CONFIG_HAVE_CLK, - the failing code inside clock_ops.c additionally depends on CONFIG_PM, - the forward declarations and other definitions in <linux/pm_clock.h> depend on CONFIG_PM_CLK, - CONFIG_PM_CLK is defined as PM && HAVE_CLK in kernel/power/Kconfig, but it is not included on all architectures. Fix this by protecting the failing code inside clock_ops.c by CONFIG_PM_CLK instead of CONFIG_PM, so it matches <linux/pm_clock.h>. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e18f6ac30d31433d8cd9ccf693d3cdd5d2e66ef9 Merge: e407f39 c02b050 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 27 20:27:45 2015 -0700 Merge branch 'mlx4-fixes' Or Gerlitz says: ==================== Mellanox mlx4 driver fixes for 4.3-rc7 Jack's fix is for a regression introduced in 4.3-rc1 Carol's fix addresses an issue which exists for while and turns to beat us hard on PPC, please queue for -stable. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c02b05011fadf8e409e41910217ca689f2fc9d91 Author: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:36:20 2015 +0200 net/mlx4: Copy/set only sizeof struct mlx4_eqe bytes When doing memcpy/memset of EQEs, we should use sizeof struct mlx4_eqe as the base size and not caps.eqe_size which could be bigger. If caps.eqe_size is bigger than the struct mlx4_eqe then we corrupt data in the master context. When using a 64 byte stride, the memcpy copied over 63 bytes to the slave_eq structure. This resulted in copying over the entire eqe of interest, including its ownership bit -- and also 31 bytes of garbage into the next WQE in the slave EQ -- which did NOT include the ownership bit (and therefore had no impact). However, once the stride is increased to 128, we are overwriting the ownership bits of *three* eqes in the slave_eq struct. This results in an incorrect ownership bit for those eqes, which causes the eq to seem to be full. The issue therefore surfaced only once 128-byte EQEs started being used in SRIOV and (overarchitectures that have 128/256 byte cache-lines such as PPC) - e.g after commit 77507aa249ae "net/mlx4_core: Enable CQE/EQE stride support". Fixes: 08ff32352d6f ('mlx4: 64-byte CQE/EQE support') Signed-off-by: Carol L Soto <clsoto@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 092bf0fc80f5fb7928244ad63d8a2a8df8a72a3e Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 17:36:19 2015 +0200 net/mlx4_en: Explicitly set no vlan tags in WQE ctrl segment when no vlan is present We do not set the ins_vlan field to zero when no vlan id is present in the packet. Since WQEs in the TX ring are not zeroed out between uses, this oversight could result in having vlan flags present in the WQE ctrl segment when no vlan is preset. Fixes: e38af4faf01d ('net/mlx4_en: Add support for hardware accelerated 802.1ad vlan') Reported-by: Gideon Naim <gideonn@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d08f617872cc048173d59f1ce4660b030bab5a6 Author: yankejian <yankejian@xxxxxxxxxx> Date: Tue Oct 27 19:16:34 2015 +0800 net: hisilicon: updates HNS config and documents updates the bindings documents and dtsi file according to the review comments[https://lkml.org/lkml/2015/9/21/670] from Rob Herring <robh@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e407f39afdc0741dcf20aed100b8e738ccab7cb1 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Oct 27 11:37:39 2015 +0200 vhost: fix performance on LE hosts commit 2751c9882b947292fcfb084c4f604e01724af804 ("vhost: cross-endian support for legacy devices") introduced a minor regression: even with cross-endian disabled, and even on LE host, vhost_is_little_endian is checking is_le flag so there's always a branch. To fix, simply check virtio_legacy_is_little_endian first. Cc: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit edc9b4272e3298c4a6a86d34d03e951033566f69 Author: Li Peng <lipeng321@xxxxxxxxxx> Date: Tue Oct 27 17:17:40 2015 +0800 net: hns: fixes the bug tested XGE by ethtool -p delete action of ETHTOOL_ID_ON/ETHTOOL_ID_OFF in XGE ethtool -p, so Hardware control the LED state instead of software. Signed-off-by: Li Peng <lipeng321@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fcc60333ccf5622f1788ab72848e1a880667fe0 Author: Abhimanyu <abhimanyu@xxxxxxxxxxxxx> Date: Tue Oct 27 14:17:43 2015 +0530 gianfar: Increase TX_TIMEOUT to 5HZ Increased TX_TIMEOUT to 5HZ to accommodate worst case situation for traffic and CPU intensive use cases Signed-off-by: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Signed-off-by: Abhimanyu <abhimanyu@xxxxxxxxxxxxx> Acked-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccde64b51b33821159d52b0940fb21869bfdb316 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Wed Oct 21 14:29:13 2015 +0300 powerpc/msi: Fix section mismatch warning in msi_bitmap_alloc() Building with CONFIG_DEBUG_SECTION_MISMATCH gives the following warning: The function .msi_bitmap_alloc() references the function __init .memblock_virt_alloc_try_nid(). Memory allocation in msi_bitmap_alloc() uses either slab allocator or memblock boot time allocator depending on slab_is_available(). So the section mismatch warning is correct, but in practice there is no bug so mark msi_bitmap_alloc() as __init_refok. Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> [mpe: Flesh out change log a bit] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 16c1d606263ea37754be0d0ed655ab1c99c4cf7e Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Mon Oct 26 09:48:46 2015 +0900 powerpc/prom: Use of_get_next_parent() in of_get_ibm_chip_id() Use of_get_next_parent() to simplifiy the logic in of_get_ibm_chip_id(). Original-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f755ecfb8cec7b19dff84295309f2afb24a5afd1 Author: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 10:46:47 2015 -0500 powerpc/pseries: Correct string length in pseries_of_derive_parent() Commit a030e1e4bbd085bbcfd0a23f8d355fcd41f39bed make a change to use kstrndup() instead of kmalloc() + strlcpy() in the pseries_of_derive_parent() routine that introduces a subtle change in the parent path name generated. The kstrndup() routine will copy n characters followed by a terminating null, whereas strlcpy() will copy n-1 characters and add a terminating null. This slight difference results in having a parent path that includes the tailing '/' character, "/cpus/" vs. "/cpus". This then causes the subsequent call to of_find_node_by_path() to fail, and in the case of DLPAR add operations the DLPAR request fails. This patch decrements the pointer returned from kbasename() to point to the '/' character before the base name instead of the base name. This then adjusts the string length calculations to not include the trailing '/' in the parent path name. Signed-off-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 54c0a8a8f5079de866f99d6f0e782c7857511b10 Merge: 32b8819 ab31993 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Oct 28 04:02:37 2015 +0100 Merge branch 'cpuidle/4.4' of http://git.linaro.org/people/daniel.lezcano/linux into pm-cpuidle Pull ARM cpuidle changes for v4.4 from Daniel Lezcano. * 'cpuidle/4.4' of http://git.linaro.org/people/daniel.lezcano/linux: cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver cpuidle: mvebu: clean up multiple platform drivers commit d59542ddcb547871b1913c34c31a6d207627db02 Merge: f8e529e c096377 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 27 19:56:56 2015 -0700 Merge tag 'wireless-drivers-next-for-davem-2015-10-27' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== here's a bigger pull request for 4.4. The diffstat looks scary as we created a new directory realtek for all realtek drivers. In the future I'm planning to create similar directories for all vendors, currently we just have ath, mediatek and realtek. This change has been in linux-next for a couple of weeks so it should be safe, but of course you never know. There's also a new driver rtl8xxxu for few realtek USB devices. This just made it to the last linux-next build. Otherwise there's nothing really special, more info below. If time permits, and it's ok for you, I'm hoping to send you a one more pull request this week. brcmfmac * using netdev carrier state * add and rework some cfg80211 callbacks mainly for AP mode * use devcoredump when triggered by firmware event realtek * create new directory drivers/net/wireless/realtek/ for all realtek drivers, not visible to users (no kconfig changes etc) * add rtl8xxxu, a new mac80211 driver for RTL8723AU, RTL8188CU, RTL8188RU, RTL8191CU, RTL8192CU and hopefully more in the future ath10k * add board 2 API support for automatically choosing correct board file * data path optimisations * disable PCI power save for qca988x and QCA99x0 due to interop reasons wil6210 * BlockAckReq support * firmware crashdump using devcoredump * capture all frames with sniffer ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8e529ed941ba2bbcbf310b575d968159ce7e895 Author: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> Date: Tue Oct 27 09:23:59 2015 +0900 seccomp, ptrace: add support for dumping seccomp filters This patch adds support for dumping a process' (classic BPF) seccomp filters via ptrace. PTRACE_SECCOMP_GET_FILTER allows the tracer to dump the user's classic BPF seccomp filters. addr should be an integer which represents the ith seccomp filter (0 is the most recently installed filter). data should be a struct sock_filter * with enough room for the ith filter, or NULL, in which case the filter is not saved. The return value for this command is the number of BPF instructions the program represents, or negative in the case of errors. Command specific errors are ENOENT: which indicates that there is no ith filter in this seccomp tree, and EMEDIUMTYPE, which indicates that the ith filter was not installed as a classic BPF filter. A caveat with this approach is that there is no way to get explicitly at the heirarchy of seccomp filters, and users need to memcmp() filters to decide which are inherited. This means that a task which installs two of the same filter can potentially confuse users of this interface. v2: * make save_orig const * check that the orig_prog exists (not necessary right now, but when grows eBPF support it will be) * s/n/filter_off and make it an unsigned long to match ptrace * count "down" the tree instead of "up" when passing a filter offset v3: * don't take the current task's lock for inspecting its seccomp mode * use a 0x42** constant for the ptrace command value v4: * don't copy to userspace while holding spinlocks v5: * add another condition to WARN_ON v6: * rebase on net-next Signed-off-by: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> CC: Will Drewry <wad@xxxxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> CC: Andy Lutomirski <luto@xxxxxxxxxxxxxx> CC: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> CC: Serge E. Hallyn <serge.hallyn@xxxxxxxxxx> CC: Alexei Starovoitov <ast@xxxxxxxxxx> CC: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b9e3bd5b2f807f66a959cc079c495915f032c67 Merge: c0f9c7e cf4b24f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 27 19:53:04 2015 -0700 Merge branch 'mpls-multipath-improvements' Robert Shearman says: ==================== mpls: mulipath improvements Two improvements to the recently added mpls multipath support. The first is a fix for missing initialisation the nexthop address length for the v4 and v6 explicit null label routes, and the second is to reduce the amount of memory used by mpls routes by changing the way the via addresses are stored. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf4b24f0024fc2e3fbc653a659356d224b5b9172 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Tue Oct 27 00:37:36 2015 +0000 mpls: reduce memory usage of routes Nexthops for MPLS routes have a via address field sized for the largest via address that is expected, which is 32 bytes. This means that in the most common case of having ipv4 via addresses, 28 bytes of memory more than required are used per nexthop. In the other common case of an ipv6 nexthop then 16 bytes more than required are used. With large numbers of MPLS routes this extra memory usage could start to become significant. To avoid allocating memory for a maximum length via address when not all of it is required and to allow for ease of iterating over nexthops, then the via addresses are changed to be stored in the same memory block as the route and nexthops, but in an array after the end of the array of nexthops. New accessors are provided to retrieve a pointer to the via address. To allow for O(1) access without having to store a pointer or offset per nh, the via address for each nexthop is sized according to the maximum via address for any nexthop in the route, which is stored in a new route field, rt_max_alen, but this is in an existing hole in struct mpls_route so it doesn't increase the size of the structure. Each via address is ensured to be aligned to VIA_ALEN_ALIGN to account for architectures that don't allow unaligned accesses. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4e04fc7357b6cef0856cb14b42306af1af990e5 Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Tue Oct 27 00:37:35 2015 +0000 mpls: fix forwarding using v4/v6 explicit null Fill in the via address length for the predefined IPv4 and IPv6 explicit-null label routes. Fixes: f8efb73c97e2 ("mpls: multipath route support") Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85ff8a43f39fa6d2f970b5e1e5c03df87abde242 Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Mon Oct 26 17:02:19 2015 -0700 bpf: sample: define aarch64 specific registers Define aarch64 specific registers for building bpf samples correctly. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20986ed826cbb36bb8f2d77f872e3c52d8d30647 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Mon Oct 26 17:13:54 2015 -0500 amd-xgbe: Fix race between access of desc and desc index During Tx cleanup it's still possible for the descriptor data to be read ahead of the descriptor index. A memory barrier is required between the read of the descriptor index and the start of the Tx cleanup loop. This allows a change to a lighter-weight barrier in the Tx transmit routine just before updating the current descriptor index. Since the memory barrier does result in extra overhead on arm64, keep the previous change to not chase the current descriptor value. This prevents the execution of the barrier for each loop performed. Suggested-by: Alexander Duyck <alexander.duyck@xxxxxxxxx> Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ce675ff39b9958d1c10f86cf58e357efaafc856 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Mon Oct 26 12:46:37 2015 -0400 RDS-TCP: Recover correctly from pskb_pull()/pksb_trim() failure in rds_tcp_data_recv Either of pskb_pull() or pskb_trim() may fail under low memory conditions. If rds_tcp_data_recv() ignores such failures, the application will receive corrupted data because the skb has not been correctly carved to the RDS datagram size. Avoid this by handling pskb_pull/pskb_trim failure in the same manner as the skb_clone failure: bail out of rds_tcp_data_recv(), and retry via the deferred call to rds_send_worker() that gets set up on ENOMEM from rds_tcp_read_sock() Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b7c874348ea14ec3c358fe95e56d6f830540248 Author: Neil Horman <nhorman@xxxxxxxxxxxxx> Date: Mon Oct 26 12:24:22 2015 -0400 forcedeth: fix unilateral interrupt disabling in netpoll path Forcedeth currently uses disable_irq_lockdep and enable_irq_lockdep, which in some configurations simply calls local_irq_disable. This causes errant warnings in the netpoll path as in netpoll_send_skb_on_dev, where we disable irqs using local_irq_save, leading to the following warning: WARNING: at net/core/netpoll.c:352 netpoll_send_skb_on_dev+0x243/0x250() (Not tainted) Hardware name: netpoll_send_skb_on_dev(): eth0 enabled interrupts in poll (nv_start_xmit_optimized+0x0/0x860 [forcedeth]) Modules linked in: netconsole(+) configfs ipv6 iptable_filter ip_tables ppdev parport_pc parport sg microcode serio_raw edac_core edac_mce_amd k8temp snd_hda_codec_realtek snd_hda_codec_generic forcedeth snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm snd_timer snd soundcore snd_page_alloc i2c_nforce2 i2c_core shpchp ext4 jbd2 mbcache sr_mod cdrom sd_mod crc_t10dif pata_amd ata_generic pata_acpi sata_nv dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan] Pid: 1940, comm: modprobe Not tainted 2.6.32-573.7.1.el6.x86_64.debug #1 Call Trace: [<ffffffff8107bbc1>] ? warn_slowpath_common+0x91/0xe0 [<ffffffff8107bcc6>] ? warn_slowpath_fmt+0x46/0x60 [<ffffffffa00fe5b0>] ? nv_start_xmit_optimized+0x0/0x860 [forcedeth] [<ffffffff814b3593>] ? netpoll_send_skb_on_dev+0x243/0x250 [<ffffffff814b37c9>] ? netpoll_send_udp+0x229/0x270 [<ffffffffa02e3299>] ? write_msg+0x39/0x110 [netconsole] [<ffffffffa02e331b>] ? write_msg+0xbb/0x110 [netconsole] [<ffffffff8107bd55>] ? __call_console_drivers+0x75/0x90 [<ffffffff8107bdba>] ? _call_console_drivers+0x4a/0x80 [<ffffffff8107c445>] ? release_console_sem+0xe5/0x250 [<ffffffff8107d200>] ? register_console+0x190/0x3e0 [<ffffffffa02e71a6>] ? init_netconsole+0x1a6/0x216 [netconsole] [<ffffffffa02e7000>] ? init_netconsole+0x0/0x216 [netconsole] [<ffffffff810020d0>] ? do_one_initcall+0xc0/0x280 [<ffffffff810d4933>] ? sys_init_module+0xe3/0x260 [<ffffffff8100b0d2>] ? system_call_fastpath+0x16/0x1b ---[ end trace f349c7af88e6a6d5 ]--- console [netcon0] enabled netconsole: network logging started Fix it by modifying the forcedeth code to use disable_irq_nosync_lockdep_irqsavedisable_irq_nosync_lockdep_irqsave instead, which saves and restores irq state properly. This also saves us a little code in the process Tested by the reporter, with successful restuls Patch applies to the head of the net tree Signed-off-by: Neil Horman <nhorman@xxxxxxxxxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> Reported-by: Vasily Averin <vvs@xxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dbc3617f4c1f9fcbe63612048cb9583fea1e11ab Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Oct 27 13:20:25 2015 +0100 netfilter: nfnetlink: don't probe module if it exists nfnetlink_bind request_module()s all the time as nfnetlink_get_subsys() shifts the argument by 8 to obtain the subsys id. So using type instead of type << 8 always returns NULL. Fixes: 03292745b02d11 ("netlink: add nlk->netlink_bind hook for module auto-loading") Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c0f9c7e45d374ce6dc369443fa586c2fe228c345 Author: Bert Kenward <bkenward@xxxxxxxxxxxxxx> Date: Mon Oct 26 14:23:42 2015 +0000 sfc: replace spinlocks with bit ops for busy poll locking This patch reduces the overhead of locking for busy poll. Previously the state was protected by a lock, whereas now it's manipulated solely with atomic operations. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 080a270f5adec1ada1357eb66321e7222cc34301 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 13:51:37 2015 +0100 sock: don't enable netstamp for af_unix sockets netstamp_needed is toggled for all socket families if they request timestamping. But some protocols don't need the lower-layer timestamping code at all. This patch starts disabling it for af-unix. E.g. systemd enables timestamping during boot-up on the journald af-unix sockets, thus causing the system to globally enable timestamping in the lower networking stack. Still, it is very probable that timestamping gets activated, by e.g. dhclient or various NTP implementations. Reported-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6092db1aba2d151acd40a0370b80b5c043936d2d Merge: 8941faa 133fac0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 27 19:35:01 2015 -0700 Merge branch 'qed-driver' Ariel Elior says: ==================== Add new drivers: qed & qede This series implements the driver set for Qlogic's new QL4xxx series. These are 10/20/25/40/50/100 Gig capable converged nics, supporting ethernet (obviously), iscsi, fcoe, roce and iwarp protocols. The overall driver design includes a common module ('qed') and protocol specific dependent modules for ethernet ('qede'), fcoe ('qedf'), iscsi ('qedi') and roce ('qedr'). The common module contains all of the common logic, e.g. initialization, cleanup, infrastructure for interrupt handling, link management, slowpath etc. as well as protocol agnostic features, and supplying an abstraction layer for other modules. The protocol specific modules can be compiled and operated independently of each other, with the exception of the rdma modules which are dependent on the ethernet module, in accordance with the kernel rdma stack design. This series only adds the core and ethernet modules, with basic L2 capabilities. Future series will add the rest of the modules and enhance the L2 functionality. Ths patch series is constructed of the following patches: qed: Add module with basic common support qed: Add basic L2 interface qede: Add basic Network driver qed: Add slowpath L2 support qede: Add basic network device support qede: Add classification configuration qed: Add link support qede: Add support for link qed: Add statistics support qede: Add basic ethtool support This project is a team effort, thanks go to Yuval Mintz, Dmitry Kravkov, Michal Kalderon, Tomer Tayar, Manish Chopra, Sudarsana Kalluru, Rajesh Borundia, Sony Chacko, Artum Zolotushko, Harish Patil, Rasesh Mody, Sergey Ukhterov and Elad Manela, as well as former team members, Eilon Greenstein and Shmulik Ravid. Changes from previos version: ----------------------------- From Version 7: - Various small fixes according to Dave's suggestions; Largest change [code-wise] - don't use tabs for indenting function arguments. From Version 6: - Reduced the number of arguments for functions with exceptionally high number of parameters. From Version 5: - Style change and fixes [mostly in 1, 4 and 7]. Thanks go to Francois Romieu, a mere mortal. ;-) From Version 4: - Drop dependency for x86_64. From Version 3: - Limit support of initial submission to x86_64. - Fix endian problems appearing via sparse [although no BE support yet]. - Fix small issues suggested by the kbuild test robot. From Version 2: - Removed U64_{HI,LO}; Using {upper,lower}_32_bits instead. - Use regular napi weight definition. - [We still use the __le variants for variables, since we didn't get a reply regarding the change into non-user API types]. From Version 1: - Removed private license file; Instead revised comments at source headers. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 133fac0eedc355be5cdbeb9cdfc6df59d2bbbdd1 Author: Sudarsana Kalluru <Sudarsana.Kalluru@xxxxxxxxxx> Date: Mon Oct 26 11:02:34 2015 +0200 qede: Add basic ethtool support This adds basic ethtool operations to the qed driver, allowing support in: - Statistics gathering [ethtool -S] - Setting of debug level [ethtool -s <interface> msglvl] - Getting basic information [ethtool, ethtool -i] In addition it adds the ability to change the MTU. Signed-off-by: Sudarsana Kalluru <Sudarsana.Kalluru@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 9df2ed0415b13218f84262c2372323ef028310fc Author: Manish Chopra <Manish.Chopra@xxxxxxxxxx> Date: Mon Oct 26 11:02:33 2015 +0200 qed: Add statistics support Device statistics can be gathered on-demand. This adds the qed support for reading the statistics [both function and port] from the device, and adds to the public API a method for requesting the current statistics. Signed-off-by: Manish Chopra <Manish.Chopra@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 a2ec6172d29cf3aed92e9db40e83e36329db1dd5 Author: Sudarsana Kalluru <Sudarsana.Kalluru@xxxxxxxxxx> Date: Mon Oct 26 11:02:32 2015 +0200 qede: Add support for link This adds basic link functionality to qede - driver still doesn't provide users with an API to change any link property, but it does request qed to initialize the link using default configuration, and registers a callback that allows it to get link notifications. This patch adds the ability of the driver to set the carrier as active and to enable traffic as a result of async. link notifications. Following this patch, driver should be capable of running traffic. Signed-off-by: Sudarsana Kalluru <Sudarsana.Kalluru@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 cc875c2e4f34e86c2f562f18b6e917cfcc560bcb Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Oct 26 11:02:31 2015 +0200 qed: Add link support Physical link is handled by the management Firmware. This patch lays the infrastructure for attention handling in the driver, as link change notifications arrive via async. attentions, as well the handling of such notifications. This patch also extends the API with the protocol drivers by adding registered callbacks which the protocol driver passes to qed in order to be notified of async. events originating from the FW/HW. 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 0d8e0aa05796c8a5652c164de5e4f16d8c9ee199 Author: Sudarsana Kalluru <Sudarsana.Kalluru@xxxxxxxxxx> Date: Mon Oct 26 11:02:30 2015 +0200 qede: classification configuration Add the ability to configure basic classification in driver by implementing ndo_set_mac_address() and ndo_set_rx_mode(). Signed-off-by: Sudarsana Kalluru <Sudarsana.Kalluru@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 2950219d87b040959f23484dd4ff5856bf1bc172 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Oct 26 11:02:29 2015 +0200 qede: Add basic network device support This patch includes the basic Rx/Tx support for the driver [although carrier will still never be turned on]. Following this patch the driver registers a network device, initializes it and prepares it for traffic. Signed-off-by: Sudarsana Kalluru <Sudarsana.Kalluru@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 cee4d26448c1000ccc1711eb5e6ed4c15f18fa83 Author: Manish Chopra <Manish.Chopra@xxxxxxxxxx> Date: Mon Oct 26 11:02:28 2015 +0200 qed: Add slowpath L2 support This patch adds to the qed the support to configure various L2 elements, such as channels and basic filtering conditions. It also enhances its public API to allow qede to later utilize this functionality. Signed-off-by: Manish Chopra <Manish.Chopra@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 e712d52b9f2a8ecf14ba0a2ec9a80ed0b194c4a1 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Oct 26 11:02:27 2015 +0200 qede: Add basic Network driver The Qlogic Everest Driver for Ethernet is the Ethernet specific module for QL4xxx ethernet products by Qlogic. This patch adds a very minimal PCI driver, one that doesn't yet register a network device, but one that does interact with qed and does a basic initialization of the HW. 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 25c089d78f3833edf614fc377e75e9cf848562f5 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Oct 26 11:02:26 2015 +0200 qed: Add basic L2 interface This patch adds a public API for a network driver to work on top of QED. The interface itself is very minimal - it's mostly infrastructure, as the only content it has after this patch is a query for HW-based information required for the creation of a network interface [I.e., no actual protocol-specific configurations are supported]. Signed-off-by: Manish Chopra <Manish.Chopra@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 fe56b9e6a8d957d6a20729d626027f800c17a2da Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Oct 26 11:02:25 2015 +0200 qed: Add module with basic common support The Qlogic Everest Driver is the backend module for the QL4xxx ethernet products by Qlogic. This module serves two main purposes: 1. It's responsible to contain all the common code that will be shared between the various drivers that would be used with said line of products. Flows such as chip initialization and de-initialization fall under this category. 2. It would abstract the protocol-specific HW & FW components, allowing the protocol drivers to have a clean APIs which is detached in its slowpath configuration from the actual HSI. This adds a very basic module without any protocol-specific bits. I.e., this adds a basic implementation that almost entirely falls under the first category. 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 6f5cadee44d83395dcd78d557b577e1021e192e4 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Sun Oct 25 20:21:50 2015 -0700 openvswitch: Fix skb leak using IPv6 defrag nf_ct_frag6_gather() makes a clone of each skb passed to it, and if the reassembly is successful, expects the caller to free all of the original skbs using nf_ct_frag6_consume_orig(). This call was previously missing, meaning that the original fragments were never freed (with the exception of the last fragment to arrive). Fix this by ensuring that all original fragments except for the last fragment are freed via nf_ct_frag6_consume_orig(). The last fragment will be morphed into the head, so it must not be freed yet. Furthermore, retain the ->next pointer for the head after skb_morph(). Fixes: 7f8a436eaa2c ("openvswitch: Add conntrack action") Reported-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 190b8ffbb700a9aa47acc559779bc79c0cb14766 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Sun Oct 25 20:21:49 2015 -0700 ipv6: Export nf_ct_frag6_consume_orig() This is needed in openvswitch to fix an skb leak in the next patch. Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74c16618137f1505b0a32dea3ec73a2ef6f8f842 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Sun Oct 25 20:21:48 2015 -0700 openvswitch: Fix double-free on ip_defrag() errors If ip_defrag() returns an error other than -EINPROGRESS, then the skb is freed. When handle_fragments() passes this back up to do_execute_actions(), it will be freed again. Prevent this double free by never freeing the skb in do_execute_actions() for errors returned by ovs_ct_execute. Always free it in ovs_ct_execute() error paths instead. Fixes: 7f8a436eaa2c ("openvswitch: Add conntrack action") Reported-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Joe Stringer <joestringer@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5523662edd4fe937267053c2018b75be2ac17860 Author: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Date: Sat Oct 24 13:10:29 2015 -0700 Input: add userio module Debugging input devices, specifically laptop touchpads, can be tricky without having the physical device handy. Here we try to remedy that with userio. This module allows an application to connect to a character device provided by the kernel, and emulate any serio device. In combination with userspace programs that can record PS/2 devices and replay them through the /dev/userio device, this allows developers to debug driver issues on the PS/2 level with devices simply by requesting a recording from the user experiencing the issue without having to have the physical hardware in front of them. Signed-off-by: Stephen Chandler Paul <cpaul@xxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3821a065f5672c430a088ae68b4da2a2d2b34106 Author: Andrew F. Davis <afd@xxxxxx> Date: Fri Oct 23 08:59:11 2015 -0500 spi: Drop owner assignment from spi_drivers An spi_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca5d24854210dd02548a080d4271560e926c4fcb Author: Andrew F. Davis <afd@xxxxxx> Date: Fri Oct 23 08:59:10 2015 -0500 spi: Add THIS_MODULE to spi_driver in SPI core Add spi_register_driver helper macro that adds THIS_MODULE to spi_driver for the registering driver. We rename and modify the existing spi_register_driver to enable this. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c2229fe1430d4e1c70e36520229dd64a87802b20 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Tue Oct 27 15:06:45 2015 -0700 fib_trie: leaf_walk_rcu should not compute key if key is less than pn->key We were computing the child index in cases where the key value we were looking for was actually less than the base key of the tnode. As a result we were getting incorrect index values that would cause us to skip over some children. To fix this I have added a test that will force us to use child index 0 if the key we are looking for is less than the key of the current tnode. Fixes: 8be33e955cb9 ("fib_trie: Fib walk rcu should take a tnode and key instead of a trie and a leaf") Reported-by: Brian Rak <brak@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abeedb0159eec42c52a28fc44457164f71aa12a9 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Oct 16 10:29:03 2015 -0500 spi: Setup the master controller driver before setting the chipselect SPI controllers may need to be properly setup before chip selects can be used. Therefore, wait until the spi controller has a chance to perform their setup procedure before trying to use the chip select. This also insures that the chip selects pins are in a good state before asseting them which otherwise may cause confusion. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Tested-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Tested-by: Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d7ef54ca1219ddf99d56a0f7cf40912ab4c4bb0b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 27 17:48:16 2015 +0200 spi: dw: replace magic constant by DW_SPI_DR The offset 0x60 is the offset of the data register defined as DW_SPI_DR in the header file. Use it. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit afafcdd3ffcda1c47e2f79f9a26cf1b2157e39c3 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 16:01:57 2015 +0000 regulator: arizona: Add regulator specific device tree binding document Subsystem specific bindings for the Arizona devices are being factored out of the MFD binding document into separate documents for each subsystem. This patch adds a binding document that covers the existing regulator specific bindings. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a22c4d7e34402ccdf3414f64c50365436eba7b93 Author: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Date: Thu Oct 22 09:59:42 2015 -0700 block: re-add discard_granularity and alignment checks In commit b49a087("block: remove split code in blkdev_issue_{discard,write_same}"), discard_granularity and alignment checks were removed. Ideally, with bio late splitting, the upper layers shouldn't need to depend on device's limits. Christoph reported a discard regression on the HGST Ultrastar SN100 NVMe device when mkfs.xfs. We have not found the root cause yet. This patch re-adds discard_granularity and alignment checks by reverting the related changes in commit b49a087. The good thing is now we can remove the 2G discard size cap and just use UINT_MAX to avoid bi_size overflow. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lin <ming.l@xxxxxxxxxxxxxxx> Reviewed-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e1f580e8ced56d7c0a2b096e00e8b8e861d13671 Author: Kevin Hao <haokexin@xxxxxxxxx> Date: Thu Oct 22 20:23:48 2015 +0800 powerpc/e6500: hw tablewalk: make sure we invalidate and write to the same tlb entry In order to workaround Erratum A-008139, we have to invalidate the tlb entry with tlbilx before overwriting. Due to the performance consideration, we don't add any memory barrier when acquire/release the tcd lock. This means the two load instructions for esel_next do have the possibility to return different value. This is definitely not acceptable due to the Erratum A-008139. We have two options to fix this issue: a) Add memory barrier when acquire/release tcd lock to order the load/store to esel_next. b) Just make sure to invalidate and write to the same tlb entry and tolerate the race that we may get the wrong value and overwrite the tlb entry just updated by the other thread. We observe better performance using option b. So reserve an additional register to save the value of the esel_next. Signed-off-by: Kevin Hao <haokexin@xxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit da414bb923d95f1f59fbf534a0e2ef9f52ffc667 Author: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Date: Wed Aug 5 06:42:07 2015 +0300 powerpc/mpc85xx: Add FSL QorIQ DPAA FMan support to the SoC device tree(s) Based on prior work by Andy Fleming <afleming@xxxxxxxxxxxxx> Signed-off-by: Shruti Kanetkar <Shruti@xxxxxxxxxxxxx> Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit d55ad2967d891ef9c48adf46c6d915bec81a9375 Author: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Date: Wed Aug 5 06:38:12 2015 +0300 powerpc/mpc85xx: Create dts components for the FSL QorIQ DPAA FMan Based on prior work by Andy Fleming <afleming@xxxxxxxxxxxxx> Signed-off-by: Shruti Kanetkar <Shruti@xxxxxxxxxxxxx> Signed-off-by: Emil Medve <Emilian.Medve@xxxxxxxxxxxxx> Signed-off-by: Igal Liberman <Igal.Liberman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7a1db41d83881bed7d5e13972ed308f05153ceee Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 27 17:41:16 2015 -0500 powerpc/fsl: Add #clock-cells and clockgen label to clockgen nodes This allows new-style clock references to be used, which is needed for fman. The old clock nodes will be removed and all clock references converted to new-style once the qoriq-cpufreq driver is updated to stop depending on the old-style references in cpu nodes. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 43f2cfcce26e2d67a3689d40777885a98447c586 Merge: 9d28cc8 e994412 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 27 18:14:16 2015 -0500 Merge branch 'clock' into HEAD This is a major overhaul of the clk-qoriq driver, which I'm merging via PPC with Stephen Boyd's ack in order to apply subsequent PPC patches that depend on it. commit 9d28cc811bbb43c7ca8dc8be375bab1e0efb037b Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Fri Aug 21 18:48:31 2015 +0200 powerpc: handle error case in cpm_muram_alloc() rh_alloc() returns (unsigned long)-ERRxx on error, which may result in overwriting memory outside the MURAM AREA. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 9100d20c5b6307bacd8756aba2f157cb1a8ffb56 Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Mon Sep 21 16:47:00 2015 +0100 powerpc: mpic: use IRQCHIP_SKIP_SET_WAKE instead of redundant mpic_irq_set_wake mpic_irq_set_wake return -ENXIO for non FSL MPIC and sets IRQF_NO_SUSPEND flag for FSL ones. enable_irq_wake already returns -ENXIO if irq_set_wak is not implemented. Also there's no need to set the IRQF_NO_SUSPEND flag as it doesn't guarantee wakeup for that interrupt. This patch removes the redundant mpic_irq_set_wake and sets the IRQCHIP_SKIP_SET_WAKE for only FSL MPIC. Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 96eea6426f56042c28eff849cb2cc01895db081e Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:22 2015 -0500 powerpc/book3e-64: Enable kexec Allow KEXEC for book3e, and bypass or convert non-book3e stuff in kexec code. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood@xxxxxxxxxxxxx: move code to minimize diff, and cleanup] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ae73e4ccbc91853259d730fd8c5089bdf06a4fa3 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:21 2015 -0500 powerpc/book3e-64/kexec: Set "r4 = 0" when entering spinloop book3e_secondary_core_init will only create a TLB entry if r4 = 0, so do so. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ffda09a9941c18d9f08d1176d55588d505f62912 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:20 2015 -0500 powerpc/booke: Only use VIRT_PHYS_OFFSET on booke32 The way VIRT_PHYS_OFFSET is not correct on book3e-64, because it does not account for CONFIG_RELOCATABLE other than via the 32-bit-only virt_phys_offset. book3e-64 can (and if the comment about a GCC miscompilation is still relevant, should) use the normal ppc64 __va/__pa. At this point, only booke-32 will use VIRT_PHYS_OFFSET, so given the issues with its calculation, restrict its definition to booke-32. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 567cf94dc7801f6602a73b55f04cb096a3c351fb Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:19 2015 -0500 powerpc/book3e-64/kexec: Enable SMP release The SMP release mechanism for FSL book3e is different from when booting with normal hardware. In theory we could simulate the normal spin table mechanism, but not at the addresses U-Boot put in the device tree -- so there'd need to be even more communication between the kernel and kexec to set that up. Instead, kexec-tools will set a boolean property linux,booted-from-kexec in the /chosen node. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx commit cf904e3088fd3760d9f6fed5fde755ac299590b7 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:18 2015 -0500 powerpc/book3e-64/kexec: create an identity TLB mapping book3e has no real MMU mode so we have to create an identity TLB mapping to make sure we can access the real physical address. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood: cleanup, and split off some changes] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ecc4999f68d157a25c500d18586a16f09a029cb4 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:17 2015 -0500 powerpc/book3e-64: Don't limit paca to 256 MiB This limit only makes sense on book3s, and on book3e it can cause problems with kdump if we don't have any memory under 256 MiB. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit eeaab663a06c3ddc7213d30d304de73e30bc772e Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:16 2015 -0500 powerpc/book3e/kdump: Enable crash_kexec_wait_realmode While book3e doesn't have "real mode", we still want to wait for all the non-crash cpus to complete their shutdown. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 1cb6e064924857e600d13b4f6be5511145ecb560 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:15 2015 -0500 powerpc/book3e: support CONFIG_RELOCATABLE book3e is different with book3s since 3s includes the exception vectors code in head_64.S as it relies on absolute addressing which is only possible within this compilation unit. So we have to get that label address with got. And when boot a relocated kernel, we should reset ipvr properly again after .relocate. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood: cleanup and ifdef removal] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 835c031c98ee1d166c7fdcdbd8c9cc20e05286d4 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:14 2015 -0500 powerpc/booke64: Fix args to copy_and_flush Convert r4/r5, not r6, to a virtual address when calling copy_and_flush. Otherwise, r3 is already virtual, and copy_to_flush tries to access r3+r6, PAGE_OFFSET gets added twice. This isn't normally seen because on book3e we normally enter with the kernel at zero and thus skip copy_to_flush -- but it will be needed for kexec support. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood: split patch and rewrote changelog] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 68d1014019b41c5069b749583a70ede60150b8c2 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:13 2015 -0500 powerpc/book3e-64: rename interrupt_end_book3e with __end_interrupts Rename 'interrupt_end_book3e' to '__end_interrupts' so that the symbol can be used by both book3s and book3e. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood: edit changelog] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit f34b3e19fd060b87e97c89050f2b40b8ada468a9 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:12 2015 -0500 powerpc/e6500: kexec: Handle hardware threads The new kernel will be expecting secondary threads to be disabled, not spinning. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 939fbf00805b395743e2406755ca20f5f959a598 Author: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:11 2015 -0500 powerpc/85xx: Implement 64-bit kexec support Unlike 32-bit 85xx kexec, we don't do a core reset. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxxxxxx> [scottwood: edit changelog, and cleanup] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit eba5de8dc163fac4d20f0afed8183431491b570f Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:10 2015 -0500 powerpc/fsl-booke-64: Don't limit ppc64_rma_size to one TLB entry This is required for kdump to work when loaded at at an address that does not fall within the first TLB entry -- which can easily happen because while the lower limit is enforced via reserved memory, which doesn't affect how much is mapped, the upper limit is enforced via a different mechanism that does. Thus, more TLB entries are needed than would normally be used, as the total memory to be mapped might not be a power of two. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 23d88271b4f97f66de521ac9b2c1471e6311cf26 Merge: 3d0aa36 625faa6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 07:24:53 2015 +0900 Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM fixes from Russell King: "Two fixes for ARM and one for clkdev: - Fix another build issue with vdsomunge on non-glibc systems - Fix a randconfig build error caused by an invalid configuration - Fix a clkdev problem causing the Nokia n700 to no longer boot" * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: clkdev: fix clk_add_alias() with a NULL alias device name ARM: 8445/1: fix vdsomunge not to depend on glibc specific byteswap.h ARM: make RiscPC depend on MMU commit 3d0aa366072a194c6a339d37b85d5b99e936097e Merge: dc5bc3f 174fd8d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 07:22:15 2015 +0900 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull blkcg fix from Jens Axboe: "One final fix that should go into 4.3. It's a simple 2x1 liner, fixing a blkcg accounting issue. It was using the wrong bio member to look at the sync and write bits..." * 'for-linus' of git://git.kernel.dk/linux-block: blkcg: fix incorrect read/write sync/async stat accounting commit dc5bc3f1e3d886ce1193281bb2bfb2b44f4aeae4 Merge: 9e17f90 3fc89ad Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 07:20:10 2015 +0900 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto fix from Herbert Xu: "This fixes a problem in the Crypto API that may cause spurious errors when signals are received by the process that made the orignal system call into the kernel" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: api - Only abort operations on fatal signal commit 9e17f9070280bd58af9aead415544387a7a61427 Merge: 858e904 275d7d4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 28 07:17:50 2015 +0900 Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module preemption fix from Rusty Russell: "Turns out we should have always been disabling preemption here; someone finally caught it thanks to Peter Z's additional checks" * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: module: Fix locking in symbol_put_addr() commit 25fff6aa3213676200a0acc9ee37a1ab56d16cd6 Merge: 3f5ceec 9908570 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 27 16:13:23 2015 -0500 Merge branch 'all-dtbs-v2' into for-next commit f2ca379642d7a843be972ea4167abdd3c8c9e5d1 Author: Dirk Steinmetz <public@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 16:09:19 2015 +0200 namei: permit linking with CAP_FOWNER in userns Attempting to hardlink to an unsafe file (e.g. a setuid binary) from within an unprivileged user namespace fails, even if CAP_FOWNER is held within the namespace. This may cause various failures, such as a gentoo installation within a lxc container failing to build and install specific packages. This change permits hardlinking of files owned by mapped uids, if CAP_FOWNER is held for that namespace. Furthermore, it improves consistency by using the existing inode_owner_or_capable(), which is aware of namespaced capabilities as of 23adbe12ef7d3 ("fs,userns: Change inode_capable to capable_wrt_inode_uidgid"). Signed-off-by: Dirk Steinmetz <public@xxxxxxxxxxxxxxxxxx> This is hitting us in Ubuntu during some dpkg upgrades in containers. When upgrading a file dpkg creates a hard link to the old file to back it up before overwriting it. When packages upgrade suid files owned by a non-root user the link isn't permitted, and the package upgrade fails. This patch fixes our problem. Tested-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> commit 990857042f599440ea7a10b84c17a06ed21078e5 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 17:51:21 2015 -0500 xtensa: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: linux-xtensa@xxxxxxxxxxxxxxxx commit 0426f6482d5d61c0d762aafa03b27b96d02a68a7 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 18:01:06 2015 -0500 mips: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx commit b02a687508c4d49c54dd8eaac6ae9e84ddc86d18 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 18:00:15 2015 -0500 metag: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit 1aa4c51e468e3d38122c2da2f32b54a084d0efdb Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 17:52:24 2015 -0500 metag: use common make variables for dtb builds Use dtb-y and always make variables to build dtbs instead of explicit dtbs rule. This is in preparation to support building all dtbs. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit 0395c1aacfbaa0bc959faf415c7d95f20bb4a377 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 17:59:26 2015 -0500 h8300: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: uclinux-h8-devel@xxxxxxxxxxxxxxxxxxxx commit d58d76efffe77413668a4ff7cf0d506fcab98efd Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Oct 8 12:09:11 2015 -0500 arm64: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. This is simpler for arm64 which has a bunch of sub-dirs. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit efd8c4ff731e6fc851d24249aebde8e05b095cc5 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Oct 8 12:08:44 2015 -0500 arm: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. This is simpler for arm64 which has a bunch of sub-dirs. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> commit b83abc8c2c45f8a926bdeaa46fc8dce236e13fdd Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 17:51:00 2015 -0500 arc: enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. This builds all dts files in the tree, not just targets listed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 10375ccc670669a26adbc059b6723aeee4bfa4bb Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Oct 8 10:10:53 2015 -0500 arc: use common make variables for dtb builds Use dtb-y and always make variables to build dtbs instead of explicit dtbs rule. This is in preparation to support building all dtbs. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 1b7c501b51a8c851ff82769cbe905ef19cb70239 Author: Rob Herring <robh@xxxxxxxxxx> Date: Tue Oct 6 17:57:33 2015 -0500 of: add config option to enable building of all dtbs Enable building all dtb files when CONFIG_OF_ALL_DTBS is enabled. The dtbs are not really dependent on a platform being enabled or any other kernel config, so for testing coverage it is convenient to build all of the dtbs. In order to only build dtbs, this option can be used by creating an allno.config file containing: CONFIG_COMPILE_TEST=y CONFIG_OF=y CONFIG_OF_ALL_DTBS=y And then running: make KCONFIG_ALLCONFIG=1 allnoconfig make dtbs While building the dtbs themselves don't need a cross compiler, the scripts dependency does need one. This can be hacked around by commenting out "subdir-y += mod" in scripts/Makefile. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Frank Rowand <frowand.list@xxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> commit 1276ece32c5d18790e8bcff89e692fd3c1790bab Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Wed Oct 14 15:32:56 2015 +0000 VFIO: platform: clear IRQ_NOAUTOEN when de-assigning the IRQ The vfio platform driver currently sets the IRQ_NOAUTOEN before doing the request_irq to properly handle the user masking. However it does not clear it when de-assigning the IRQ. This brings issues when loading the native driver again which may not explicitly enable the IRQ. This problem was observed with xgbe driver. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 4e1a635552d3df7bb743de8c2be156293c53839e Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Oct 27 14:53:05 2015 -0600 vfio/pci: Use kernel VPD access functions The PCI VPD capability operates on a set of window registers in PCI config space. Writing to the address register triggers either a read or write, depending on the setting of the PCI_VPD_ADDR_F bit within the address register. The data register provides either the source for writes or the target for reads. This model is susceptible to being broken by concurrent access, for which the kernel has adopted a set of access functions to serialize these registers. Additionally, commits like 932c435caba8 ("PCI: Add dev_flags bit to access VPD through function 0") and 7aa6ca4d39ed ("PCI: Add VPD function 0 quirk for Intel Ethernet devices") indicate that VPD registers can be shared between functions on multifunction devices creating dependencies between otherwise independent devices. Fortunately it's quite easy to emulate the VPD registers, simply storing copies of the address and data registers in memory and triggering a VPD read or write on writes to the address register. This allows vfio users to avoid seeing spurious register changes from accesses on other devices and enables the use of shared quirks in the host kernel. We can theoretically still race with access through sysfs, but the window of opportunity is much smaller. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> commit 5f096b14d421ba23249b752e41989ecfaa6ae226 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Tue Oct 27 14:53:04 2015 -0600 vfio: Whitelist PCI bridges When determining whether a group is viable, we already allow devices bound to pcieport. Generalize this to include any PCI bridge device. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 3f5ceec96470050d20d7281d49985e3b1cfc3995 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 23 20:47:20 2015 +0900 of/fdt: fix error checking for earlycon address fdt_translate_address() returns OF_BAD_ADDR on error. It is defined as a u64 value, so the variable "addr" should be defined as u64 as well. Fixes: fb11ffe74c79 ("of/fdt: add FDT serial scanning for earlycon") Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f4efcce33d2e5224a905369f9906f3931f5d907c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Oct 27 17:35:58 2015 -0300 perf tools: Search for more options when passing args to -h Recently 'perf <tool> -h' was made aware of arguments and would show just the help for the arguments specified, but that required a strict form, i.e.: $ perf -h --tui worked, but: $ perf -h tui didn't. Make it support both cases and also look at the option help when neither matches, so that he following examples works: $ perf report -h interface Usage: perf report [<options>] --gtk Use the GTK2 interface --stdio Use the stdio interface --tui Use the TUI interface $ perf report -h stack Usage: perf report [<options>] -g, --call-graph <print_type,threshold[,print_limit],order, sort_key[,branch]> Display call graph (stack chain/backtrace): print_type: call graph printing style (graph|flat|fractal|none) threshold: minimum call graph inclusion threshold (<percent>) print_limit: maximum number of call graph entry (<number>) order: call graph order (caller|callee) sort_key: call graph sort key (function|address) branch: include last branch info to call graph (branch) Default: graph,0.5,caller,function --max-stack <n> Set the maximum stack depth when parsing the callchain, anything beyond the specified depth will be ignored. Default: 127 $ Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-xzqvamzqv3cv0p6w3inhols3@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e5bf1991ea62b4f4fc906d0828f7eed988fc3835 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 26 18:23:22 2015 -0700 clk: qcom: msm8960: Fix dsi1/2 halt bits The halt bits for these clocks seem wrong. I get the following warning while booting on an msm8960-cdp: WARNING: CPU: 0 PID: 1 at drivers/clk/qcom/clk-branch.c:97 clk_branch_toggle+0xd0/0x138() dsi1_clk status stuck at 'on' Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.3.0-rc3-00113-g5532cfb567fe #110 Hardware name: Qualcomm (Flattened Device Tree) [<c0216984>] (unwind_backtrace) from [<c02138f8>] (show_stack+0x10/0x14) [<c02138f8>] (show_stack) from [<c04a525c>] (dump_stack+0x70/0xbc) [<c04a525c>] (dump_stack) from [<c0223c70>] (warn_slowpath_common+0x78/0xb4) [<c0223c70>] (warn_slowpath_common) from [<c0223d40>] (warn_slowpath_fmt+0x30/0x40) [<c0223d40>] (warn_slowpath_fmt) from [<c05fc2dc>] (clk_branch_toggle+0xd0/0x138) [<c05fc2dc>] (clk_branch_toggle) from [<c05f3f3c>] (clk_disable_unused_subtree+0x98/0x1b0) [<c05f3f3c>] (clk_disable_unused_subtree) from [<c05f3ec4>] (clk_disable_unused_subtree+0x20/0x1b0) [<c05f3ec4>] (clk_disable_unused_subtree) from [<c05f5474>] (clk_disable_unused+0x58/0xd8) [<c05f5474>] (clk_disable_unused) from [<c0209710>] (do_one_initcall+0xac/0x1ec) [<c0209710>] (do_one_initcall) from [<c0991db4>] (kernel_init_freeable+0x11c/0x1e8) [<c0991db4>] (kernel_init_freeable) from [<c0727ae0>] (kernel_init+0x8/0xec) [<c0727ae0>] (kernel_init) from [<c0210238>] (ret_from_fork+0x14/0x3c) Fix the status bits and the errors go away. Fixes: 5532cfb567fe ("clk: qcom: mmcc-8960: Add DSI related clocks") Acked-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1e5a29318ba8506f52a8d727b5c6a53143f9882a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Oct 25 15:51:18 2015 +0100 perf stat: Cache aggregated map entries in extra cpumap Currently any time we need to access socket or core id for given cpu, we access the sysfs topology file. Adding a cpus_aggr_map cpu_map to cache those entries. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445784728-21732-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2322f573f8131da9c6d1fab01fe0a0c2c23aa549 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Oct 25 15:51:17 2015 +0100 perf cpu_map: Add cpu_map__empty_new function Adding cpu_map__empty_new interface to create empty cpumap with given size. The cpumap entries are initialized with -1. It'll be used for caching cpu_map in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445784728-21732-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit af3399817428d8adc2c87c91df23fde77dbcdb35 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Oct 25 15:51:44 2015 +0100 perf evsel: Move id_offset out of struct perf_evsel union member Because the 'perf stat record' patches will use the id_offset member together with the priv pointer. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445784728-21732-29-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 06ef431ab8060aa8ef51b36f56773d01f6a53f24 Merge: 790a2ee 2c66e24d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 27 18:40:47 2015 +0100 Merge tag 'efi-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into core/efi Pull EFI fix from Matt Fleming: - Fix a kernel panic by not passing EFI virtual mapping addresses to __pa() in the x86 pageattr code. Since these virtual addreses are not part of the direct mapping or kernel text mapping, passing them to __pa() will trigger a BUG_ON() when CONFIG_DEBUG_VIRTUAL is enabled. (Sai Praneeth Prakhya) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d94b986aa734efea09fbc8f59390ba2e4e00f9d0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:35 2015 +0200 pinctrl: at91: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9d4cc85d290578ec07e37d063d73f0e8707ea3eb Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 16 10:24:01 2015 +0100 pinctrl: tegra-xusb: Correct lane mux options The description of the XUSB_PADCTL_USB3_PAD_MUX_0 register in the Tegra124 documentation implies that all functions (pcie, usb3 and sata) can be muxed onto to all lanes (pcie lanes 0-4 and sata lane 0). However, it has been confirmed that this is not the case and the mux'ing options much more limited. Unfortunately, the public documentation has not been updated to reflect this and so detail the actual mux'ing options here by function: Function: Lanes: pcie1 x2: pcie3, pcie4 pcie1 x4: pcie1, pcie2, pcie3, pcie4 pcie2 x1 (option1): pcie0 pcie2 x1 (option2): pcie2 usb3 port 0: pcie0 usb3 port 1 (option 1): pcie1 usb3 port 1 (option 2): sata0 sata: sata0 Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 787dfbb294b25b37211d0749e7cdbb20d443c680 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Fri Oct 23 09:25:30 2015 -0700 gpio: zynq: Document interrupt-controller DT binding HW and driver support the GPIO as interrupt-controller. Document that in the DT binding. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c3ac54a6f554475b034f87d471417bf0afcf3a42 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 22 22:51:27 2015 +0300 mailbox: Off by one in mbox_test_message_read() We need to leave space for the NUL char. Fixes: 8ea4484d0c2b ('mailbox: Add generic mechanism for testing Mailbox Controllers') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> commit 9dd4e173f71d5ac6ea37f7dbf49af6e5cd44f9fb Author: Justin Chen <justinpopo6@xxxxxxxxx> Date: Wed Sep 2 11:00:17 2015 -0700 watchdog: watchdog_dev: Use device tree alias for naming watchdogs Currently there is no way to easily differentiate multiple watchdog devices. The watchdogs are named by the order they are probed. 1st probed watchdog: /dev/watchdog0 2nd probed watchdog: /dev/watchdog1 ... This change uses the alias of the watchdog device node for the name of the watchdog. aliases { watchdog0 = "/...../...." watchdog3 = "/..../....." watchdog2 = "/..../....." ... } This will translate to... /dev/watchdog0 /dev/watchdog3 /dev/watchdog2 v2 Assign alias number to id in watchdog_core instead of watchdog_dev. If failed to get id, fallback to original ida_simple_get call. Signed-off-by: Justin Chen <justinpopo6@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 79786721c29ff8fecf2903ba080479476015553d Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Thu Oct 22 21:51:18 2015 -0700 gpio: xilinx: Drop architecture dependencies The driver does not have any real architecture dependencies. To avoid listing each architecture that might use this driver on some FPGA-enabled platform, drop these dependencies. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7a3629fe999028e09bc96ccb0c9e22e0a9cf2725 Author: Justin Chen <justinpopo6@xxxxxxxxx> Date: Mon Aug 31 11:02:43 2015 -0700 watchdog: Watchdog driver for Broadcom Set-Top Box Watchdog driver for Broadcom 7038 and newer chips. Signed-off-by: Justin Chen <justinpopo6@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 5c5049dab955690d2b30e9397d128d4685211f74 Author: Justin Chen <justinpopo6@xxxxxxxxx> Date: Mon Aug 31 11:02:42 2015 -0700 watchdog: bcm7038: add device tree binding documentation Add device tree binding documentation for the watchdog hardware block on bcm7038 and newer SoCs. Signed-off-by: Justin Chen <justinpopo6@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 5a37ed0a9eda5fd77a4cc92c6e46b6f6e8db873d Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Fri Oct 23 14:55:38 2015 +0100 drm/i915: Fix maxfifo watermark calc on vlv cursor planes A typo resulted in the watermarks for cursor planes not being calculated correctly. Fixed the typo. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit cadd16ea33a938d49aee99edd4758cc76048b399 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 27 14:21:51 2015 +0100 ALSA: hda - Disable 64bit address for Creative HDA controllers We've had many reports that some Creative sound cards with CA0132 don't work well. Some reported that it starts working after reloading the module, while some reported it starts working when a 32bit kernel is used. All these facts seem implying that the chip fails to communicate when the buffer is located in 64bit address. This patch addresses these issues by just adding AZX_DCAPS_NO_64BIT flag to the corresponding PCI entries. I casually had a chance to test an SB Recon3D board, and indeed this seems helping. Although this hasn't been tested on all Creative devices, it's safer to assume that this restriction applies to the rest of them, too. So the flag is applied to all Creative entries. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ee1a6ca43dba07465c71f6ab661702d703f5eb06 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 13:08:45 2015 +0300 pinctrl: intel: Add Intel Broxton pin controller support This driver adds pinctrl/GPIO support for Intel Broxton. The GPIO controller is based on the same hardware design that is already used in Intel Sunrisepoint so we leverage the core driver here. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4341e8a5458f10cb7265167061fa06ebf3a3a903 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 13:08:44 2015 +0300 pinctrl: intel: Allow requesting pins which are in ACPI mode as GPIOs Reserved for ACPI actually means that in such case the GPIO hardware will not update the interrupt status register (GPI_IS) even if the pin is configured to trigger an interrupt. It will update GPI_GPE_STS instead and does not trigger an interrupt. Allow using such pins as GPIOs, only prevent their usage as interrupts. We also rename function intel_pad_reserved_for_acpi() to be intel_pad_acpi_mode() which reflects the actual meaning better. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c71183697250b356be6c7c1abc2e9a74073e1dca Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Oct 25 00:49:27 2015 +0900 perf tools: Introduce usage_with_options_msg() Now usage_with_options() setup a pager before printing message so normal printf() or pr_err() will not be shown. The usage_with_options_msg() can be used to print some help message before usage strings. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445701767-12731-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 193b40c8258f781d8dc395909b2971472aad6796 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 13:08:43 2015 +0300 pinctrl: intel: Add support for multiple GPIO chips sharing the interrupt On Intel Broxton the GPIO hardware consists of several chips that all share the parent interrupt. It is not possible to handle this by setting chained handler for each chip (as they will overwrite each other). To overcome this we need to request the interrupt using devm_request_irq() and pass IRQF_SHARED with the flags. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b2f68b6306dbdbfd9b8cf46c697b52efa78f9ad6 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Oct 21 00:12:00 2015 -0700 gpio: generic: Revert to old error handling in bgpio_map Returning an error instead of NULL in bgpio_map if platform_get_resource_byname does not find a resource was introduced with commit cf3f2a2c8bae ("gpio: generic: improve error handling in bgpio_map"). This results in several qemu runtime failures with default and non-default configurations, if attempts are made to boot from mmcblk0. Examples for failures with multi_v7_defconfig are Machine: vexpress-a9 dtb: vexpress-v2p-ca9 Machine: vexpress-a15 dtb: vexpress-v2p-ca15-tc1 Crash: VFS: Cannot open root device "mmcblk0" or unknown-block(0,0): error -6 Please append a correct "root=" boot option; here are the available partitions: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Looking into the code, always returning an error if bgpio_map fails does not appear to make much sense, since the code in bgpio_setup_io specifically supports some of the resources to be NULL. Fixes: cf3f2a2c8bae ("gpio: generic: improve error handling in bgpio_map") Cc: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ef0eebc05130b0d22b0ea65c0cd014ee16fc89c7 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Tue Oct 20 21:15:06 2015 -0700 drivers/pinctrl: Add the concept of an "init" state For pinctrl the "default" state is applied to pins before the driver's probe function is called. This is normally a sensible thing to do, but in some cases can cause problems. That's because the pins will change state before the driver is given a chance to program how those pins should behave. As an example you might have a regulator that is controlled by a PWM (output high = high voltage, output low = low voltage). The firmware might leave this pin as driven high. If we allow the driver core to reconfigure this pin as a PWM pin before the PWM's probe function runs then you might end up running at too low of a voltage while we probe. Let's introudce a new "init" state. If this is defined we'll set pinctrl to this state before probe and then "default" after probe (unless the driver explicitly changed states already). An alternative idea that was thought of was to use the pre-existing "sleep" or "idle" states and add a boolean property that we should start in that mode. This was not done because the "init" state is needed for correctness and those other states are only present (and only transitioned in to and out of) when (optional) power management is enabled. Changes in v3: - Moved declarations to pinctrl/devinfo.h - Fixed author/SoB Changes in v2: - Added comment to pinctrl_init_done() as per Linus W. Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Tested-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c307b002548590c5d8c32b964831de671ad4affe Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Tue Oct 20 17:22:15 2015 +0300 gpio: add a real time compliance notes Put in a compliance checklist. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4aa50b87f1e99164a93314c25ed3a827c24bc54f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Oct 27 11:13:18 2015 +0100 Revert "gpio: add a real time compliance checklist" This reverts commit 677b2ff4afd9996eabefc9472c701211b4b49e87. commit 1c6e58d83615678875bf52747f8841c49291dfcf Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Oct 21 17:15:40 2015 +0200 mmc: pwrseq: Use highest priority for eMMC restart handler The pwrseq_emmc driver does a eMMC card reset before a system reboot to allow broken or limited ROM boot-loaders (that don't have an eMMC reset logic) to be able to read the second stage from the eMMC. But this has to be called before a system reboot handler and while most of them use the priority 128, there are other restart handlers (such as the syscon-reboot one) that use a higher priority. So, use the highest priority to make sure that the eMMC hw is reset before a system reboot. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Tested-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> Tested-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Tested-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bac7f4c1bf5e7c6ccd5bb71edc015b26c77f7460 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Tue Oct 20 17:25:09 2015 +0900 pinctrl: uniphier: set input-enable before pin-muxing While IECTRL is disabled, input signals are pulled-down internally. If pin-muxing is set up first, glitch signals (Low to High transition) might be input to hardware blocks. Bad case scenario: [1] The hardware block is already running before pinctrl is handled. (the reset is de-asserted by default or by a firmware, for example) [2] The pin-muxing is set up. The input signals to hardware block are pulled-down by the chip-internal biasing. [3] The pins are input-enabled. The signals from the board reach the hardware block. Actually, one invalid character is input to the UART blocks for such SoCs as PH1-LD4, PH1-sLD8, where UART devices start to run at the power on reset. To avoid such problems, pins should be input-enabled before muxing. Fixes: 6e9088920258 ("pinctrl: UniPhier: add UniPhier pinctrl core support") Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Reported-by: Dai Okamura <okamura.dai@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1ceacea220c36e7933216e79b0ca21e1318b7c8d Author: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> Date: Mon Oct 19 12:59:14 2015 -0400 gpio: Add GPIO support for the ACCES 104-IDIO-16 The ACCES 104-IDIO-16 family of PC/104 utility boards feature 16 optically isolated inputs and 16 optically isolated FET solid state outputs. This driver provides GPIO support for these 32 channels of digital I/O. Change-of-State detection interrupts are not supported. GPIO 0-15 correspond to digital outputs 0-15, while GPIO 16-31 correspond to digital inputs 0-15. The base port address for the device may be set via the idio_16_base module parameter. Signed-off-by: William Breathitt Gray <vilhelm.gray@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e0548004d433e4454c5d129a5c5b0905442bfe8e Author: Pramod Kumar <pramodku@xxxxxxxxxxxx> Date: Mon Oct 19 11:13:11 2015 +0530 pinctrl: cygnus: Add new compatible string for gpio controller driver This new compatible string, "brcm,iproc-gpio", should be used for all new iproc-based future SoCs. Signed-off-by: Pramod Kumar <pramodku@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ea92211c0844afbe8b3f83809ea2f51bc53acc68 Author: Pramod Kumar <pramodku@xxxxxxxxxxxx> Date: Mon Oct 19 11:13:09 2015 +0530 pinctrl: cygnus: Remove GPIO to Pinctrl pin mapping from driver Remove gpio to pinctrl pin mapping code from driver and address this through standard property "gpio-ranges". Signed-off-by: Pramod Kumar <pramodku@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 03e09bc18580c84961c8a05470e8d5ed197ecd84 Author: Pramod Kumar <pramodku@xxxxxxxxxxxx> Date: Mon Oct 19 11:13:08 2015 +0530 pinctrl: cygnus: Optional DT property to support pin mappings If GPIO controller's pins are muxed, pin-controller subsystem need to be intimated by defining mapping between gpio and pinmux controller. This patch adds required properties to define this mapping via DT. Signed-off-by: Pramod Kumar <pramodku@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6397b7f5f405f30f03f67ef829306c5af6d3369b Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:29 2015 +0800 mmc: mediatek: add HS400 support add HS400 mode and tune support Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9979dbe5158899b556eb772b7335e29417ac0ddd Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:28 2015 +0800 mmc: mmc: extend the mmc_send_tuning() The mmc_execute_tuning() has already prepared the opcode, there is no need to prepare it again at mmc_send_tuning(), and, there is a BUG of mmc_send_tuning() to determine the opcode by bus width, assume eMMC was running at HS200, 4bit mode, then the mmc_send_tuning() will overwrite the opcode from CMD21 to CMD19, then got error. in addition, extend an argument of "cmd_error" to allow getting if there was cmd error when tune response. Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> [Ulf: Rebased patch] Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c9b5061e7728da1f7192ecaf3ffab4a7300920dc Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:26 2015 +0800 mmc: mediatek: add implement of ops->hw_reset() add implement of ops->hw_reset() for eMMC Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 62b0d27af85ef1b1729c2ed675c12020e1fbf10f Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:25 2015 +0800 mmc: mediatek: fix got GPD checksum error interrupt when data transfer Even if we only use one gpd, we need alloc 2 gpd and make the gpd->next pointer to the second gpd, or may get gpd checksum error, this was checked by hardware Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6e622947e149fa9fd62e3609aab010935c8e10bd Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:24 2015 +0800 mmc: mediatek: change the argument "ddr" to "timing" use the ios->timing directly is better It can reflect current timing and do settings by timing Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 726a9aac31a89d5a02614ca8f2b3f644df621c27 Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:23 2015 +0800 mmc: mediatek: make cmd_ints_mask to const cmd_ints_mask and data_ints_mask are constant value, so make it to const Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2c21d26825d5c1fda1729541d5fad56ee7ef7fa2 Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:22 2015 +0800 mmc: dt-bindings: update Mediatek MMC bindings Add 400Mhz clock source for HS400 mode Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 794f15782d9f12aa5a43f796680a5fc4f2c424e3 Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Oct 27 14:24:21 2015 +0800 mmc: core: Add DT bindings for eMMC hardware reset support Sometime only need set MMC_CAP_HW_RESET for one of MMC hosts, So set it in device tree is better. Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fc18111b8973e2c7cc0c2ba6183795e5266ddff7 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Oct 27 02:26:11 2015 +0800 backlight: pm8941-wled: Fix ptr_ret.cocci warnings drivers/video/backlight/pm8941-wled.c:404: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 Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 324e786ee39c70ffbdc280c34b7d2b6da5c87879 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 27 08:35:24 2015 +0100 bluetooth: 6lowpan: fix NOHZ: local_softirq_pending Jukka reported about the following warning: "NOHZ: local_softirq_pending 08" I remember this warning and we had a similar issue when using workqueues and calling netif_rx. See commit 5ff3fec ("mac802154: fix NOHZ local_softirq_pending 08 warning"). This warning occurs when calling "netif_rx" inside the wrong context (non softirq context). The net core api offers "netif_rx_ni" to call netif_rx inside the correct softirq context. Reported-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d480297498f32c3d54e1445c2fafc7ae969c558f Author: Jubin John <jubin.john@xxxxxxxxx> Date: Mon Oct 26 10:28:49 2015 -0400 staging/rdma/hfi1: Update driver version string to 0.9-294 Signed-off-by: Jubin John <jubin.john@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83525b61c3a03603ef4b7f7ee0e420ee534bee42 Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Mon Oct 26 10:28:48 2015 -0400 staging/rdma/hfi1: add additional rc traces Add additional rc traces to aid in debugging rc retry logic. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64ffd86cf9c1b5d7febcb9dfbd415d886fa76451 Author: Jubin John <jubin.john@xxxxxxxxx> Date: Mon Oct 26 10:28:47 2015 -0400 staging/rdma/hfi1: Add unit # to verbs txreq cache name The name used to create the verbs txreq cache was not qualified with the unit number. This causes a panic when destroying the cache on a dual HFI systems. Create a unique name with the unit number with this patch Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Jubin John <jubin.john@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abfc4459c99d2c87e11f2cd67f8c069a03cfe143 Author: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Date: Mon Oct 26 10:28:46 2015 -0400 staging/rdma/hfi1: Load SBus firmware once per ASIC Using fw_sbus_load to control SBus firmware load doesn't scale across multiple HFI1 cards in a single system. This patch ensures that the SBus firmware is loaded once per ASIC. Reviewed-by: Dean Luick <dean.luick@xxxxxxxxx> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4f30031c33cdff10c87d0a56ef575508ed7b54d Author: Dean Luick <dean.luick@xxxxxxxxx> Date: Mon Oct 26 10:28:44 2015 -0400 staging/rdma/hfi1: Thread the receive interrupt. When under heavy load, the receive interrupt handler can run too long with IRQs disabled. Add a mixed-mode threading scheme. Initially process packets in the handler for quick responses (latency). If there are too many packets to process move to a thread to continue (bandwidth). Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b77d713a310b5c6eba13e9c394bcf0b085c4a49d Author: Dean Luick <dean.luick@xxxxxxxxx> Date: Mon Oct 26 10:28:43 2015 -0400 staging/rdma/hfi1: Add irqsaves in the packet processing path In preparation for threading the receive interrupt, add irqsaves in the packet processing path. When the receive interrupt is threaded, the packet processing path is no longer guaranteed to have IRQs disabled. Add irqsaves where needed on several locks in the packet processing path. Anything that did not have an obvious, "close" irqsave in its caller is a candidate. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 028d72545bca0670c7efc5b13fc9ea05a2f55643 Author: Ignacio Hernandez <ignacio.hernandez@xxxxxxxxx> Date: Mon Oct 26 10:28:42 2015 -0400 staging/rdma/hfi1: Increase SDMA descriptor queue size A value of 2048 increased PSM performance while not impacting verbs performance. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Reviewed-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Ignacio Hernandez <ignacio.hernandez@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee947859bf8a357a45176b238dc9f9db11eb4d4e Author: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Date: Mon Oct 26 10:28:41 2015 -0400 staging/rdma/hfi1: Allow tuning of SDMA interrupt rate The SDMA engines were configured to generate progress interrupts every time they processed N/2 descriptors (where N is the size of the descriptor queue). This interval was too infrequent, leading to degraded performance. This commit adds a module parameter, as well as a recommended default, which allows for the tuning of the interrupt frequency. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef12cb904e096335ef179bfe30e637a9c2464343 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 12:38:13 2015 +0100 s390/cio: move ccw_device_stlck functions device_ops.c should only contain functions that are called by ccw device drivers. Move the cio internal functions that handle unconditional reserve + release to device_pgid.c Acked-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8421d212e831cb03ba65bada57a733ad875286bf Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 12:35:06 2015 +0100 s390/cio: move ccw_device_call_handler device_ops.c should only contain functions that are called by ccw device drivers. Move the cio internal function ccw_device_call_handler to device_fsm.c where it's used. Remove some useless comments while at it. Acked-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 439eb131f796d8b2cf625d791b22b42962b9dd0d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Oct 15 13:40:55 2015 +0200 s390/topology: reduce per_cpu() invocations Each per_cpu() invocation generates extra code. Since there are a lot of similiar calls in the topology code we can avoid a lot of them. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 36324963a3006d2c416095d87d8272e4825c679b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 13:04:12 2015 +0200 s390/nmi: reduce size of percpu variable Change the flag fields within struct mcck_struct to simple bit fields to reduce the size of the structure which is used as percpu variable. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 975be635d929e3cfdae149d6de055f31a17c92d7 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 13:03:05 2015 +0200 s390/nmi: fix terminology According to the architecture registers are validated and not revalidated. So change comments and functions names to match. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit dc6e15556a9f21d640a62ae6de3cbfa68ec687a4 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 13:00:39 2015 +0200 s390/nmi: remove casts Remove all the casts to and from the machine check interruption code. This patch changes struct mci to a union, which contains an anonymous structure with the already known bits and in addition an unsigned long field, which contains the raw machine check interruption code. This allows to simply assign and decoce the interruption code value without the need for all those casts we had all the time. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3d68286a4304574c250ca3b0a5429d2901688f16 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 12:39:09 2015 +0200 s390/nmi: remove pointless error strings s390_handle_damage() has character string parameter which was used as a pointer to verbose error message. The hope was (a lot of years ago) when analyzing dumps that register R2 would still contain the pointer and therefore it would be rather easy to tell what went wrong. However gcc optimizes the strings away since a long time. And even if it wouldn't it is necessary to have a close look at the machine check interruption code to tell what's wrong. So remove the pointless error strings. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit f9e6edfb9cf780edfe0a649a85ed00032e787f69 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 12:28:28 2015 +0200 s390: don't store registers on disabled wait anymore The current disabled wait code stores register contents into their save areas, however it is (at least) missing the new vector registers. Given the fact that the whole exercise seems to be rather pointless simply don't save any registers anymore. In a "live" system it is always possible to inspect register contents, and in case of a dump the register contents will be stored by the dump mechanism. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ecbafda85371a3d85814aab8ff080a19e4d98b36 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Oct 12 11:54:03 2015 +0200 s390: get rid of __set_psw_mask() With the removal of 31 bit code we can always assume that the epsw instruction is available. Therefore use the __extract_psw() function to disable and enable machine checks. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3c6c065a510ed59f7fddabac4be2f932ecfe9275 Author: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Date: Mon Oct 26 10:28:39 2015 -0400 staging/rdma/hfi1: Wrong cast breaks desired pointer arithmetic The address being mapped into a process's memory for notification events was improperly calculated due to cast that was happening too early. dd->events is a pointer and should have been casted to unsigned long after the pointer arithmetic was done, not before. As a result, processes were looking at the wrong place and not seeing their notification events. Signed-off-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9fb6318d0696b481b1e3cd8aa702141a59569c0 Author: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Date: Mon Oct 26 10:28:37 2015 -0400 staging/rdma/hfi1: Prevent silent data corruption with user SDMA User SDMA keeps track of progress into the submitted IO vectors by tracking an offset into the vectors when packets are submitted. This offset is updated after a successful submission of a txreq to the SDMA engine. The same offset was used when determining whether an IO vector should be 'freed' (pages unpinned) in the SDMA callback functions. This was causing a silent data corruption in big jobs (> 2 nodes, 120 ranks each) on the receive side because the send side was mistakenly unpinning the vector pages before the HW has processed all descriptors referencing the vector. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit febffe2c2846305c4c810b2900e70753180f9cda Author: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Date: Mon Oct 26 10:28:36 2015 -0400 staging/rdma/hfi1: Fix port bounce issues with 0.22 DC firmware The DC firmware overwrites the enable_lane_tx register and does not update it on a host request to go to Poll. This causes an infinite loop through the LNI state machine if a link width downgrade occurs. This patch re-sets the enable_lane_tx register to all 4 lanes. Reviewed-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b421922e66db43ffccb28a7df7c44263a917ba63 Author: Dean Luick <dean.luick@xxxxxxxxx> Date: Mon Oct 26 10:28:35 2015 -0400 staging/rdma/hfi1: Add a schedule in send thread When under heavy load, the send handler can run too long without allowing other tasks to run. Add a conditional resched to break this up. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c91b4a126a801e93c3b569775926699dc291b6c1 Author: Caz Yokoyama <caz.yokoyama@xxxxxxxxx> Date: Mon Oct 26 10:28:34 2015 -0400 staging/rdma/hfi1: Reset firmware instead of reloading Sbus Reset firmware instead of reloading Sbus firmware if it's already done for this ASIC. To work around thermal polling problem in firmware, don't reload Sbus firmware, instead, reset the firmware on the initialization of the second HFI. Reviewed-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Reviewed-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Caz Yokoyama <caz.yokoyama@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07839049db8e07c1a0ade9a102b2261cd50ac2c1 Author: Jareer Abdel-Qader <jareer.h.abdel-qader@xxxxxxxxx> Date: Mon Oct 26 10:28:33 2015 -0400 staging/rdma/hfi1: close shared context security hole Driver does not verify userid for shared context assignments, allowing malicious user access. Reviewed by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Jareer H Abdel-Qader <jareer.h.abdel-qader@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4d26d81ad7f599159511ca8d1a81b82dad474f6 Author: Niranjana Vishwanathapura <niranjana.vishwanathapura@xxxxxxxxx> Date: Mon Oct 26 10:28:32 2015 -0400 staging/rdma/hfi1: Add coalescing support for SDMA TX descriptors This fixes transmit errors when the number of scatter gather elements in the request is more that the number of per packet descriptors supported by the hardware, allocate and coalesce the extra scatter gather elements into a single buffer. The last descriptor is reserved and used for this coalesced buffer. Verbs potentially need this support when transferring small data chunks involving different memory regions. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Reviewed-by: Mitko Haralanov <mitko.haralanov@xxxxxxxxx> Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c2f85b8ce8acee0502d61fb53015eabd7d4c8fb Author: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Date: Mon Oct 26 10:28:31 2015 -0400 staging/rdma/hfi1: Remove QSFP_ENABLED from HFI capability mask The QSFP interface code has been running without issues and the flag is never set to off. This patch removes the QSFP_ENABLED bit from HFI1_CAP. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25d97dd5a33d79595d1859f01484e51264db8653 Author: Vennila Megavannan <vennila.megavannan@xxxxxxxxx> Date: Mon Oct 26 10:28:30 2015 -0400 staging/rdma/hfi1: Prevent host software lock up If packets stop egressing the hardware link, software can lock up. Implement a timeout for send context halt recovery. This patch increases the timeout for packet egress to 500 us and timer resets to zero if the packet occupancy changes. Also we bounce the link on time out. Reviewed-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Vennila Megavannan <vennila.megavannan@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc060245a234d7ab1228e25e584208bd9489594c Author: Dean Luick <dean.luick@xxxxxxxxx> Date: Mon Oct 26 10:28:29 2015 -0400 staging/rdma/hfi1: Extend the offline timeout The latest version of the 8051 firmware will wait longer when bringing the link down. Extend the driver's timeout to go with that. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c03ed85678cec9792430bdd728d3565e4cce9ae Author: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Date: Mon Oct 26 10:28:28 2015 -0400 staging/rdma/hfi1: Fix code to reset ASIC CSRs on FLR The ASIC registers were not reset on FLR, and the code to protect the ASIC block against multiple initializations by peer HFIs did not extend to multiple ASICs in a system. This patch addresses this gap. Reviewed-by: Dean Luick <dean.luick@xxxxxxxxx> Signed-off-by: Easwar Hariharan <easwar.hariharan@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13a69f5299688074666e1f74b90ddc6beae43e6d Author: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Date: Mon Oct 26 10:28:27 2015 -0400 staging/rdma/hfi1: Fix regression in send performance The clear_ahg call is new in hfi1 vs qib. For small messages the progress routine always builds one and clears out the ahg state when the queue has gone to empty which is the predominant case for small messages. Inline the routine and avoid the call to sdma_ahg_free to mitigate the performance impact. Finally, move the routine to qp.h for scope reasons. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daac731ba815ef0669d99db5a6a176bac567e156 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 16:13:25 2015 +0530 staging: hfi1: sdma: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3faf606973159ed33b8d1c17ea1678431902727 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 16:13:24 2015 +0530 staging: hfi1: driver: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. <smpl> @timer@ expression e1,e2,e3,fn_ptr; @@ -init_timer(&e1); +setup_timer(&e1, fn_ptr, e2); ... when != fn_ptr = e3 -e1.function = fn_ptr; -e1.data = e2; </smpl> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af28398d316327ca2eff839ee1d8fa832a71bfb4 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:08 2015 +0200 staging: sm750fb: remove unused fields from struct sm750_dev The {x,y}LCD fields of struct sm750_dev are not used and can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 823e034c0f18d0571f44ce903dd47fa388706b61 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:07 2015 +0200 staging: sm750fb: remove '#ifdef CAP_EXP*' conditionals There are several occurencies of '#ifdef CAP_EXP<something>', spelled differently each time. None of these is ever defined and therefore they enclose dead code that can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e359b6a863e19f2eb5519b31658b4a9cc8812a05 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:06 2015 +0200 staging: sm750fb: merge lynx_share into sm750_dev Both struct lynx_share and struct sm750_dev reprsent some parts of the SM750 graphics adapter. There is no point to keep these parts in different structures. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ac97f19df35bf5ab663e096279478d4b8e20f6a Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:05 2015 +0200 staging: sm750fb: remove unused field in lynx_cursor The lynx_share field in lynx_cursor structure is never used and can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52e933278a09777b5c0631951a0a7edd49eb2abc Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:04 2015 +0200 staging: sm750fb: fix wrong indentation Fix wrong indentation of a line in lynxfb_set_fbinfo Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 083c2048f53b5373de0fc463d4ad0787b66c8167 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:03 2015 +0200 staging: sm750fb: use sm750_dev with pci_{get, set}_drvdata Use sm750_dev as private driver data for the PCI device Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fd92f51daa5748eebc2793b8da4af1bb4d37d23 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:02 2015 +0200 staging: sm750fb: use 'struct sm750_dev *' instead of 'void *' Use proper 'struct sm750_dev *' type instead of 'void *' Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 700591a9adc8b1b8978283fd988fcb85aa1c8993 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:01 2015 +0200 staging: sm750fb: replace lynx_share with sm750_dev in function calls Use sm750_dev rather than lynx_share as parameter for hw_sm750_map, hw_sm750_inithw and hw_sm750_initAccel functions. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 142de763c08e6ff1e4966b654654859ed7a5492c Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:06:00 2015 +0200 staging: sm750fb: remove hw_sm750_getVMSize function The hw_sm750_getVMSize wraps ddk750_getVMSize without any added functionality. Call ddk750_getVMSize directly and remove hw_sm750_getVMSize. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f11fa2a972719520680f50352787618774dc0a9c Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:59 2015 +0200 staging: sm750fb: replace lynx_share with sm750_dev in lynxfb_par Use sm750_dev instead of lynx_share in the private data of the frambuffer device. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c96341916d3452e51f3c7d8460db4ecd344f8718 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:58 2015 +0200 staging: sm750fb: remove unused PROC_SPEC_* typedefs The PROC_SPEC* typedefs are not used and can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1757d106a9ce8cc299ffbc3cb87711ab72f95af6 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:57 2015 +0200 staging: sm750fb: merge struct sm750_state into struct sm750_dev The struct sm750_state is never used on its own. Merge it into the struct sm750_dev. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ef2f688578c5de8231ae325f5dff8cfe970d2da Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:56 2015 +0200 staging: sm750fb: rename 'struct sm750_dev' variables to sm750_dev Use consistent naming for 'struct sm750_dev' variables Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc3d48f33e0a0b9f1a28d3ab06d4adc788726a9b Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:55 2015 +0200 staging: sm750fb: rename struct sm750_share to sm750_dev The struct sm750_share represents the device state and name sm750_dev seems more appropriate. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05407e153fce1e548fe34086057960da3d5adb53 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:54 2015 +0200 staging: sm750fb: merge sm750_hw.h into sm750.h There is no actual need to split type definitions and global function declarations between lots of small headers. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 492bcecfd8faa5e83f76422c85f08d7efcfe925b Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:53 2015 +0200 staging: sm750fb: remove unused smi_indent variable The smi_indent variable is only declared, but never used. Remove it. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3a3f9f5123683bc87ce70189c9912a15b76b91b Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:52 2015 +0200 staging: sm750fb: replace PADDING macro with ALIGN The custom macro PADDING differs from standard kernel ALIGN only in parameters order. Replace PADDING with ALIGN and remove it's definition. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6732071c259f79623219126c6e40f7c13a551287 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:51 2015 +0200 staging: sm750fb: remove unused SPC_SM750 define The SPC_SM750 define is not used and can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb7f40559e292325e7b69e83a161f4e121a38cbe Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 09:05:50 2015 +0200 staging: sm750fb: replace lynx_cursor methods with function calls The methods in lynx_cursor always use the same implementation and there is no point to use redirection rather than direct function call. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe821aad9c470beec5952159b3b84b87eea52eeb Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 11:44:16 2015 -0700 staging: r8723au: remove unneeded forward function declarations Remove unneeded forward function declarations. Addresses checkpatch.pl: WARNING: externs should be avoided in .c files Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e4427f46bcdaa11a4a25fc3f71e342097cc18a8 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 11:43:09 2015 -0700 staging: r8723au: move function type in line with function name Move function types to be adjacent to the function names in declarations to improve readability. Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e3144c1d6931864440e8c24023b75c9d2f485bd Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 11:42:01 2015 -0700 staging: r8723au: insert correct spacing around operands Adds required spacing around operands to improve readability. Corrects checkpatch.pl ERROR: spaces required * Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 159b023da8067786fa1b77e25faf61d586df2fdc Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 11:36:56 2015 -0700 staging: r8723au: use kernel preferred style for commenting Reworked comments per kernel coding style to improve readability. Corrects checkpatch.pl: WARNING: Block comments use * on subsequent lines WARNING: line over 80 characters Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f79dc1679aff988297e020759c413f014a770aa9 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Mon Oct 26 23:27:20 2015 +0530 staging: rtl8188eu: Remove unnecessary variables Remove unnecessary variable that can be replaced with a single line of code. The semantic patch used to find this is: // <smpl> @@ expression ret; @@ - if (ret) return ret; - return 0; + return ret; @@ local idexpression ret; expression e; @@ - ret = e; - return ret; + return e; @@ type T; identifier i; expression E; @@ - T i = E; ... when != i @@ type T; identifier i; @@ - T i; ... when != i // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d743db9f053f8d95f0cbd2470aea39d225ac4f9e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 27 12:33:25 2015 +0530 staging: rtl8712: rtl871x_mp: Remove unused function Drop unused function that is defined but is not called anywhere. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b85f3d4e58379e523b06d9725f26f0a0566a1727 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Mon Oct 26 23:25:59 2015 +0530 staging: rtl8712: Remove unnecessary variables Remove unnecessary variables that can be replaced with a single line of code. The semantic patch used to find this is: // <smpl> @@ expression ret; @@ - if (ret) return ret; - return 0; + return ret; @@ local idexpression ret; expression e; @@ - ret = e; - return ret; + return e; @@ type T; identifier i; expression E; @@ - T i = E; ... when != i @@ type T; identifier i; @@ - T i; ... when != i // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0d97eb5c0c889fc68eb97885d488c3842e296da Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 27 12:05:10 2015 +0530 Staging: lustre: lprocfs_status: Remove unused declaration Remove declaration of function lprocfs_wr_timeouts from header file since it is not used Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15ae37aa587c3f01a63ed990cc63a4a49943617a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 27 12:05:09 2015 +0530 Staging: lustre: lustre_log: Remove unused functions Remove the functions which are defined but not used anywhere Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92fdd777976e3f868351a905ac6047dfb99875bb Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Tue Oct 27 00:43:45 2015 +0800 Staging: mt29f_spinand: Indent to match open parenthesis Fix alignment issues by properly indenting function parameters in accordance to the kernel coding style. Checkpatch pointed out this issue. CHECK: Alignment should match open parenthesis Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcfe55b4afa396340f9a3bb70b56f9b8b5b49e51 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 24 22:51:00 2015 +0530 staging: rtl8192u: ieee80211: Do not export static function Remove the export symbol for static function. The semantic patch used to find this is: // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01afde858797f1bef08b77b06555945b532d1140 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:32 2015 -0700 staging: media: omap4iss: Fixes line break This patch fixes the checkpatch issue: CHECK: Logical continuations should be on the previous line Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9e50a06eb1303445f38dc4a7e83b6093082200e Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:31 2015 -0700 staging: media: omap4iss: Matches alignment with open parenthesis This patch fixes some of the checkpatch issue: CHECK: Alignment should match open parenthesis Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13613700590b37cf1c67b453368d094cb2b050de Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:30 2015 -0700 staging: media: omap4iss: Removes unnecessary blank lines This patch fixes checkpatch issues: CHECK: Blank lines aren't necessary before a close brace '}' CHECK: Please don't use multiple blank lines Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 422de35a179fa7f648505479e85c79b170fed7a2 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:29 2015 -0700 staging: media: omap4iss: Replaces bit shift on 1 with BIT Macro This patch fixes some of the checkpatch issue: CHECK: Prefer using the BIT macro Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 107c59e00c621611ed22310bf35fd75c7b382092 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:28 2015 -0700 staging: media: omap4iss: Fixes misspelling This patch fixes the checkpatch issue: CHECK: 'splitted' may be misspelled - perhaps 'split'? Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9058fc9262057c8f6c17b122b69217cdb4fc4643 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Mon Oct 26 06:09:27 2015 -0700 staging: media: omap4iss: Fixes NULL comparison This patch fixes the checkpatch issue: CHECK: Comparison to NULL could be written Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a09ad8c7a3285b99b7d976deadbd62ed1ac4c90e Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Mon Oct 26 12:00:04 2015 +0300 staging: vt6656: Do not use multiple blank lines. Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines" Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd49ebb6dd947d7e647229c5df1e969f10d7bc72 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Mon Oct 26 12:00:03 2015 +0300 staging: vt6656: Add space around '|' Add space around operator '|'. Problem found using checkpatch.pl CHECK: spaces preferred around that '|' (ctx:VxV) Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f8e7f17f6f5472d8029c22b1b8d3f9a4b1c8dff Author: Vinayak Kale <vinayak.kale@xxxxxxxxxxx> Date: Tue Oct 27 13:11:46 2015 +0530 libata: enable LBA flag in taskfile for ata_scsi_pass_thru() Enable LBA in taskfile flags for ata_scsi_pass_thru() Signed-off-by: Vinayak Kale <vinayak.kale@xxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6ed1131fe196ad7ffc13acc1a1eadc08a1db0303 Author: Kailang Yang <kailang@xxxxxxxxxxx> Date: Mon Oct 26 15:37:39 2015 +0800 ALSA: hda/realtek - Dell XPS one ALC3260 speaker no sound after resume back This machine had I2S codec for speaker output. It need to refill the I2S codec initial verb after resume back. Signed-off-by: Kailang Yang <kailang@xxxxxxxxxxx> Reported-and-tested-by: George Gugulea <gugulea@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ee7fb331c3ac642b6bf8b9dc6f23a6a2e389d717 Author: Vinayak Kale <vinayak.kale@xxxxxxxxxxx> Date: Tue Oct 27 11:19:15 2015 +0530 libata: add support for NCQ commands for SG interface This patch is needed to make NCQ commands with FPDMA protocol value (eg READ/WRITE FPDMA) work over SCSI Generic (SG) interface. Signed-off-by: Vinayak Kale <vinayak.kale@xxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 174fd8d369613c4e06660f3704caaba48dac8554 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 22 09:27:12 2015 +0900 blkcg: fix incorrect read/write sync/async stat accounting While unifying how blkcg stats are collected, 77ea733884eb ("blkcg: move io_service_bytes and io_serviced stats into blkcg_gq") incorrectly used bio->flags instead of bio->rw to tell the IO type. This made IOs to be accounted as the wrong type. Fix it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: 77ea733884eb ("blkcg: move io_service_bytes and io_serviced stats into blkcg_gq") Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d6a32b98099fb6b257e9b4f7b3febb5aae6f7408 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 8 09:25:32 2015 +0100 scsi_dh: don't try to load a device handler during async probing Request_module gets really unhappy when called from async probing, so revert to not auto load device handler modules during the SCSI bus scan. While autoloading would be really useful we never did this until 4.3-rc and it turns out that functionality doesn't actually work. Fixes: 566079 ("dm-mpath, scsi_dh: request scsi_dh modules in scsi_dh, not dm-mpath") Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reported-by: Paul Mackerras <paulus@xxxxxxxxxx> Tested-by: Paul Mackerras <paulus@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 94f9cd81436c85d8c3a318ba92e236ede73752fc Author: Munehisa Kamata <kamatam@xxxxxxxxxx> Date: Mon Oct 26 19:10:52 2015 -0700 netfilter: nf_nat_redirect: add missing NULL pointer check Commit 8b13eddfdf04cbfa561725cfc42d6868fe896f56 ("netfilter: refactor NAT redirect IPv4 to use it from nf_tables") has introduced a trivial logic change which can result in the following crash. BUG: unable to handle kernel NULL pointer dereference at 0000000000000030 IP: [<ffffffffa033002d>] nf_nat_redirect_ipv4+0x2d/0xa0 [nf_nat_redirect] PGD 3ba662067 PUD 3ba661067 PMD 0 Oops: 0000 [#1] SMP Modules linked in: ipv6(E) xt_REDIRECT(E) nf_nat_redirect(E) xt_tcpudp(E) iptable_nat(E) nf_conntrack_ipv4(E) nf_defrag_ipv4(E) nf_nat_ipv4(E) nf_nat(E) nf_conntrack(E) ip_tables(E) x_tables(E) binfmt_misc(E) xfs(E) libcrc32c(E) evbug(E) evdev(E) psmouse(E) i2c_piix4(E) i2c_core(E) acpi_cpufreq(E) button(E) ext4(E) crc16(E) jbd2(E) mbcache(E) dm_mirror(E) dm_region_hash(E) dm_log(E) dm_mod(E) CPU: 0 PID: 2536 Comm: ip Tainted: G E 4.1.7-15.23.amzn1.x86_64 #1 Hardware name: Xen HVM domU, BIOS 4.2.amazon 05/06/2015 task: ffff8800eb438000 ti: ffff8803ba664000 task.ti: ffff8803ba664000 [...] Call Trace: <IRQ> [<ffffffffa0334065>] redirect_tg4+0x15/0x20 [xt_REDIRECT] [<ffffffffa02e2e99>] ipt_do_table+0x2b9/0x5e1 [ip_tables] [<ffffffffa0328045>] iptable_nat_do_chain+0x25/0x30 [iptable_nat] [<ffffffffa031777d>] nf_nat_ipv4_fn+0x13d/0x1f0 [nf_nat_ipv4] [<ffffffffa0328020>] ? iptable_nat_ipv4_fn+0x20/0x20 [iptable_nat] [<ffffffffa031785e>] nf_nat_ipv4_in+0x2e/0x90 [nf_nat_ipv4] [<ffffffffa03280a5>] iptable_nat_ipv4_in+0x15/0x20 [iptable_nat] [<ffffffff81449137>] nf_iterate+0x57/0x80 [<ffffffff814491f7>] nf_hook_slow+0x97/0x100 [<ffffffff814504d4>] ip_rcv+0x314/0x400 unsigned int nf_nat_redirect_ipv4(struct sk_buff *skb, ... { ... rcu_read_lock(); indev = __in_dev_get_rcu(skb->dev); if (indev != NULL) { ifa = indev->ifa_list; newdst = ifa->ifa_local; <--- } rcu_read_unlock(); ... } Before the commit, 'ifa' had been always checked before access. After the commit, however, it could be accessed even if it's NULL. Interestingly, this was once fixed in 2003. http://marc.info/?l=netfilter-devel&m=106668497403047&w=2 In addition to the original one, we have seen the crash when packets that need to be redirected somehow arrive on an interface which hasn't been yet fully configured. This change just reverts the logic to the old behavior to avoid the crash. Fixes: 8b13eddfdf04 ("netfilter: refactor NAT redirect IPv4 to use it from nf_tables") Signed-off-by: Munehisa Kamata <kamatam@xxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4b60c887d4896f0ea1bfed5b5e2ff5fdc6aed046 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 13:50:29 2015 -0700 staging: iio: dummy: replace block comment with single line comment Replace one block comment with a single line comment. Follow style of previous comment and omit word channel, since it's clear the topic is channels. Addresses checkpatch.pl: WARNING: Block comments use * on subsequent lines Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8087abc456d84a4688b789719fb50d2b344a17a Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 26 13:48:23 2015 -0700 staging: iio: dummy: use uppercase descriptors for enum names Replace lower case names in the enum dummy_scan_elements with uppercase names and a descriptive prefix: DUMMY_INDEX_ Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31a99443a53aa65cdaaaaa3bcd5ed685eec87419 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sun Oct 25 23:31:41 2015 +0200 staging: iio: adis16060_core: Fix error handling We need to check adis16060_spi_read return code to avoid feeding user space with bogus data. While, at it introduce out_unlock label in order to simplify locking on error path. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c58f0eb9cd48c8b3426df1b073da796623c2b45 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sun Oct 25 22:49:42 2015 +0200 staging: iio: Remove unused variable Remove variable that is initialized but not used. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df2f4c4e4b79d7128431bbc89172d4eacd64d6b2 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Sun Oct 25 15:23:50 2015 +0200 staging: nvec: Do not use multiple blank lines. Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines". Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f773a8347962e1aecac8aa32ca54b3fcff941b79 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Sun Oct 25 07:48:57 2015 -0700 staging: slicoss: Fixes block comment style This patch fixes the checkpatch.pl warnings: WARNING: Block comments use * on subsequent lines WARNING: Block comments use a trailing */ on a separate line Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d45ffcd648971ab11b14120e43723757b17a137 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Sun Oct 25 07:48:56 2015 -0700 staging: slicoss: Adds space around operators This patch fixes the checkpatch.pl check: CHECK: spaces preferred around that â??â?? Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8610cbc57427c9e1fd64552dda801549514721f1 Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Sun Oct 25 07:48:55 2015 -0700 staging: slicoss: Removes unnecessary space after a cast This patch fixes the checkpatch.pl check: CHECK: No space is necessary after a cast Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfe459398f8098e819ba993782b2c63ef4c339cf Author: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Date: Sun Oct 25 07:48:54 2015 -0700 staging: slicoss: Removes multiple blank lines This patch fixes the checkpatch.pl check: CHECK: Please don't use multiple blank lines Signed-off-by: Amarjargal Gundjalam <amarjargal.gundjalam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c7b67f9065d0b83e8501318003551e63c6b48b4 Author: Lijun Pan <Lijun.Pan@xxxxxxxxxxxxx> Date: Sun Oct 25 17:41:19 2015 -0500 staging: fsl-mc: section mismatch bug fix WARNING: drivers/staging/built-in.o(.init.text+0xdc): Section mismatch in reference from the function fsl_mc_bus_driver_init() to the function .exit.text:dprc_driver_exit() The function __init fsl_mc_bus_driver_init() references a function __exit dprc_driver_exit(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __exit annotation of dprc_driver_exit() so it may be used outside an exit section. Signed-off-by: Lijun Pan <Lijun.Pan@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a15b2225dd504d6fb5eb4b5a1b29b71cdc9b1f06 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Mon Oct 26 08:05:57 2015 -0700 Staging: lustre: Replace LPROCFS_CLIMP_CHECK with lprocfs_climp_check Static inline functions are preferred over macros. The function is placed in obd_class.h instead lprocfs_status.h because obd_class.h includes header obd.h which contains definition of struct obd_device and in that way avoids build error: Dereferencing pointer to incomplete type. Also remove macro LPROCFS_CLIMP_CHECK since it's no longer used. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d816fb6cd4fa52f3efab89802dfa9d3e8371d77 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Mon Oct 26 22:37:26 2015 +0530 staging: lustre: ptlrpc: Replace seq_printf() with seq_putc() Replace seq_printf() with seq_putc() since it is more expensive than seq_putc(). Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70003e65208539658cdcb90c978e10b010a477a8 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 27 00:30:08 2015 +0200 staging: lustre: Replace sscanf with kstrtoint Replace single variable sscanf with specialized function kstrtoint at the suggestion of checkpatch.pl, to fix 'WARNING: Prefer kstrto<type> to single variable sscanf' Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 242b532500374129c45e4c0a69a20c1ab3b8bb78 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 10:06:30 2015 +0200 staging: lustre: remove unused OBD_PAGE_ALLOC/FREE and friends The OBD_PAGE_ALLOC/FREE and related macros are not used and can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c52e4232f292667e1ebb16c4dfd46975d8d48d1 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Oct 26 10:06:29 2015 +0200 staging: lustre: get rid of OBD_PAGE_ALLOC/FREE Use alloc_page and __free_page instead Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a96be0d46825689ac9b6078056e523ba96acec4 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sun Oct 25 23:16:31 2015 +0200 staging: lustre: Don't ignore error code Error stored in rc was never reported, so directly return it here. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81b9c1abc0fd955d636334615055691f15a1a125 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 25 05:56:55 2015 +0530 Staging: lustre: Remove unused obd_cache.h file Remove the header file obd_cache.h since it is not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e47e22203c9235d669d4918df97e54af2ec7b83 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 25 05:49:42 2015 +0530 Staging: lustre: ptlrpc: Remove EXPORT_SYMBOL for sptlrpc_rule_set_expand Since sptlrpc_rule_set_expand is static, export symbol is not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5860be3f7007862b0bed1df6f1d5d2937fde4a93 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 24 22:49:50 2015 +0530 staging: lustre: ldlm: Do not export static function Remove the export symbol for static function. The semantic patch used to find this is: // <smpl> @r@ type T; identifier f; @@ static T f (...) { ... } @@ identifier r.f; declarer name EXPORT_SYMBOL; @@ -EXPORT_SYMBOL(f); // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92d354cbe95fcaa0e5f795ad7706bc8393915c57 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 23 10:56:09 2015 +0100 staging: comedi: fix extreme case of comedi_nsamples_left() `comedi_nsamples_left(s, nsamples)` returns the number of samples remaining to complete an asynchronous command or the passed in `nsamples`, whichever is lower. However, it goes wrong in the extreme case of setting the `nsamples` parameter to `UINT_MAX` when the number of conversions per "scan" (`s->async->cmd.scan_end_arg`) is 1. It uses `comedi_nscans_remaining(s, nscans)` to determine the number of scans remaining, or the parameter `nscans`, whichever is lower. To determine the parameter `nscans`, it divides `nsamples` by the number of conversions per scan and adds 1. The addition of 1 is to avoid setting the parameter `nscans` to 0, as `comedi_nscans_remaining(s, nscans)` treats that value specially. However in the extreme case where `nsamples` is `UINT_MAX` and the number of samples per scan is 1, the addition of 1 to `nscans` overflows, producing the unwanted 0. Fix it by refactoring new a function `__comedi_nscans_remaining(s, nscans)` out of `comedi_nscans_remaining(s, nscans)`. The new function does everything except the special handling when `nscans` is 0. Change `comedi_nsamples_remaining()` to call the new function without adding 1 to `nscans` to avoid the overflow. This overflow bug doesn't affect any of the current COMEDI drivers. I stumbled across it while changing to one of the drivers. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5c4e4e9d1b31e307d855d3cacbb6f3381ef6140 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 26 20:21:26 2015 +0530 Staging: wilc1000: coreconfigurator: Remove unnecessary parentheses Parentheses around some arguments and expressions are not required and should be removed. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a66907d10076a48d70adde1a78e46a8aa0c0857c Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 26 20:21:05 2015 +0530 Staging: wilc1000: coreconfigurator: Remove irrelevant wrapper function Remove the function get_current_channel() and replace its calls by get_current_channel_802_11n() as the former function's definition involves only returning the value of latter function. Semantic patch used to find out the issue: @@ identifier f,g; @@ *f(...) { return g(...); } Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4622f68db8095dd54179e3134e97812727f6b89 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 26 20:16:32 2015 +0530 Staging: wilc1000: coreconfigurator: Drop unneeded wrapper functions Replace the wrapper functions get_address1(), get_address2() and get_address3() with the standard kernel function ether_addr_copy(). Semantic patch used to identify the issue: @@ identifier f,g; @@ *f(...) { g(...); } Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9081987d4f1acc2af9f578e6ca8b10748b438be6 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 26 05:52:50 2015 +0000 staging: wilc1000: return -ENOMEM when kmalloc failed The driver is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Fixes smatch warning and similars: drivers/staging/wilc1000/host_interface.c:1757 Handle_Key() warn: returning -1 instead of -ENOMEM is sloppy Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df8b4830a0ac547a18cdf701ca9a04b4c4f3b05b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 26 09:44:45 2015 +0900 staging: wilc1000: rename host_int_set_WEPDefaultKeyID This patch replaces host_int_set_WEPDefaultKeyID with host_int_set_wep_default_key to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e91d03497e0359493ca25f9202e8ae61977b11a7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 26 09:44:44 2015 +0900 staging: wilc1000: rename u8Index in host_int_set_WEPDefaultKeyID This patch changes second parameter of host_int_set_WEPDefaultKeyID from u8Index to index to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 707ea47a45f2b02152b09cd99a5e91fdc576517f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 26 09:44:43 2015 +0900 staging: wilc1000: fix parameter name of function declaration This patch changes struct host_if_drv of host_int_set_WEPDefaultKeyID function declaration from hWFIDrv to hif_drv in host_interface.h With this change, first parameter name of this function declaration and definition has same name as hif_drv. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b41c7c9762a9923c784b2b92c4abd2f2ac45bfa Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 26 09:44:42 2015 +0900 staging: wilc1000: fix return type of host_int_set_WEPDefaultKeyID This patch changes return type of host_int_set_WEPDefaultKeyID from s32 to int. The result variable gets return value from wilc_mq_send that has return type of int. It should be changed return type int as well as data type of result variable. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8941faa161b526199e55ca7764cf875383453612 Author: emmanuel.grumbach@xxxxxxxxx <emmanuel.grumbach@xxxxxxxxx> Date: Mon Oct 26 10:31:29 2015 +0200 net: tso: add support for IPv6 Adding IPv6 for the TSO helper API is trivial: * Don't play with the id (which doesn't exist in IPv6) * Correctly update the payload_len (don't include the length of the IP header itself) Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2be7010cad9ed7a3b67a84c274db1e7bc70e0556 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Mon Oct 26 01:13:49 2015 +0200 mei: Fix debugfs filename in error output Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e994412c5f19402a834f4b0d95e9159d1c7b0fb8 Author: Hou Zhiqiang <B48286@xxxxxxxxxxxxx> Date: Fri Oct 23 16:01:21 2015 +0800 clk: qoriq: Add ls1043a support. Signed-off-by: Hou Zhiqiang <B48286@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 61b9da925a5e985afc268eb8184f1af3ef542422 Merge: 4b3418f 59fbcbc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 26 22:16:02 2015 -0700 Merge tag 'arcnet-for-4.4-rc1' of git://git.pengutronix.de/git/mgr/linux Michael Grzeschik says: ==================== This series includes code simplifaction. The main changes are the correct xceiver handling (enable/disable) of the com20020 cards. The driver now handles link status change detection. The EAE PCI-ARCNET cards now make use of the rotary encoded subdevice indexing and got support for led triggers on transmit and reconnection events. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fe012964a39ead19405ba8d65f50d4fd598f5b8 Merge: 7e3b6e7 26b7974 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 26 22:08:22 2015 -0700 Merge branch 'net_of_node_put' Julia Lawall says: ==================== add missing of_node_put The various for_each device_node iterators performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The complete semantic patch that fixes this problem is (http://coccinelle.lip6.fr): // <smpl> @r@ local idexpression n; expression e1,e2; iterator name for_each_node_by_name, for_each_node_by_type, for_each_compatible_node, for_each_matching_node, for_each_matching_node_and_match, for_each_child_of_node, for_each_available_child_of_node, for_each_node_with_property; iterator i; statement S; expression list [n1] es; @@ ( ( for_each_node_by_name(n,e1) S | for_each_node_by_type(n,e1) S | for_each_compatible_node(n,e1,e2) S | for_each_matching_node(n,e1) S | for_each_matching_node_and_match(n,e1,e2) S | for_each_child_of_node(e1,n) S | for_each_available_child_of_node(e1,n) S | for_each_node_with_property(n,e1) S ) & i(es,n,...) S ) @@ local idexpression r.n; iterator r.i; expression e; expression list [r.n1] es; @@ i(es,n,...) { ... ( of_node_put(n); | e = n | return n; | + of_node_put(n); ? return ...; ) ... } @@ local idexpression r.n; iterator r.i; expression e; expression list [r.n1] es; @@ i(es,n,...) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n @@ local idexpression r.n; iterator r.i; expression e; identifier l; expression list [r.n1] es; @@ i(es,n,...) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? goto l; ) ... } ... l: ... when != n// </smpl> ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26b7974d9ad7f93891ee8c39ee63bd2515da7744 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:07 2015 +0100 net: mv643xx_eth: add missing of_node_put for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_available_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81a577034b000964ca791281a975f0ba9a9d7eed Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:06 2015 +0100 ath6kl: add missing of_node_put for_each_compatible_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression e; local idexpression n; @@ for_each_compatible_node(n,...) { ... when != of_node_put(n) when != e = n ( return n; | + of_node_put(n); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 028623418766ea64f4256035b06ac6cbc0a67892 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:03 2015 +0100 net: phy: mdio: add missing of_node_put for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_available_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 447ed7360037b6e38c0206ddcbd04a256ec94099 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:02 2015 +0100 netdev/phy: add missing of_node_put for_each_available_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression r.n; expression r,e; @@ for_each_available_child_of_node(r,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd252796852193277a07da505601a2f407c70e0b Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:01 2015 +0100 net: netcp: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression r.n; expression r,e; @@ for_each_child_of_node(r,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c387ebbaff8652943a1cbcab496aecadc6a8875 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 25 14:57:00 2015 +0100 net: thunderx: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression r.n; expression r,e; @@ for_each_child_of_node(r,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e3b6e7423d5f994257c1de88e06b509673fdbcf Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Oct 24 05:47:44 2015 -0700 ipv6: gre: support SIT encapsulation gre_gso_segment() chokes if SIT frames were aggregated by GRO engine. Fixes: 61c1db7fae21e ("ipv6: sit: add GSO/TSO support") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c501cdd6823a644cf35ac594c635310bf077125 Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Mon Oct 26 16:17:14 2015 +0000 Bluetooth: Fix crash on fast disconnect of SCO Fix a crash that may happen when a connection is closed before it was fully established. Mapping conn->hcon was released by shutdown function, but it is still referenced in (not yet finished) connection established handling function. [ 4635.254073] BUG: unable to handle kernel NULL pointer dereference at 00000013 [ 4635.262058] IP: [<c11659f0>] memcmp+0xe/0x25 [ 4635.266835] *pdpt = 0000000024190001 *pde = 0000000000000000 [ 4635.273261] Oops: 0000 [#1] PREEMPT SMP [ 4635.277652] Modules linked in: evdev ecb vfat fat libcomposite usb2380 isofs zlib_inflate rfcomm(O) udc_core bnep(O) btusb(O) btbcm(O) btintel(O) bluetooth(O) cdc_acm arc4 uinput hid_mule [ 4635.321761] Pid: 363, comm: kworker/u:2H Tainted: G O 3.8.0-119.1-plk-adaptation-byt-ivi-brd #1 [ 4635.332642] EIP: 0060:[<c11659f0>] EFLAGS: 00010206 CPU: 0 [ 4635.338767] EIP is at memcmp+0xe/0x25 [ 4635.342852] EAX: e4720678 EBX: 00000000 ECX: 00000006 EDX: 00000013 [ 4635.349849] ESI: 00000000 EDI: fb85366c EBP: e40c7dc0 ESP: e40c7db4 [ 4635.356846] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 4635.362873] CR0: 8005003b CR2: 00000013 CR3: 24191000 CR4: 001007f0 [ 4635.369869] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 4635.376865] DR6: ffff0ff0 DR7: 00000400 [ 4635.381143] Process kworker/u:2H (pid: 363, ti=e40c6000 task=e40c5510 task.ti=e40c6000) [ 4635.390080] Stack: [ 4635.392319] e4720400 00000000 fb85366c e40c7df4 fb842285 e40c7de2 fb853200 00000013 [ 4635.401003] e3f101c4 e4720678 e3f101c0 e403be0a e40c7dfc e416a000 e403be0a fb85366c [ 4635.409692] e40c7e1c fb820186 020f6c00 e47c49ac e47c4008 00000000 e416a000 e47c402c [ 4635.418380] Call Trace: [ 4635.421153] [<fb842285>] sco_connect_cfm+0xff/0x236 [bluetooth] [ 4635.427893] [<fb820186>] hci_sync_conn_complete_evt.clone.101+0x227/0x268 [bluetooth] [ 4635.436758] [<fb82370f>] hci_event_packet+0x1caa/0x21d3 [bluetooth] [ 4635.443859] [<c106231f>] ? trace_hardirqs_on+0xb/0xd [ 4635.449502] [<c1375b8a>] ? _raw_spin_unlock_irqrestore+0x42/0x59 [ 4635.456340] [<fb814b67>] hci_rx_work+0xb9/0x350 [bluetooth] [ 4635.462663] [<c1039f1e>] ? process_one_work+0x17b/0x2e6 [ 4635.468596] [<c1039f77>] process_one_work+0x1d4/0x2e6 [ 4635.474333] [<c1039f1e>] ? process_one_work+0x17b/0x2e6 [ 4635.480294] [<fb814aae>] ? hci_cmd_work+0xda/0xda [bluetooth] [ 4635.486810] [<c103a3fa>] worker_thread+0x171/0x20f [ 4635.492257] [<c10456c5>] ? complete+0x34/0x3e [ 4635.497219] [<c103ea06>] kthread+0x90/0x95 [ 4635.501888] [<c103a289>] ? manage_workers+0x1df/0x1df [ 4635.507628] [<c1376537>] ret_from_kernel_thread+0x1b/0x28 [ 4635.513755] [<c103e976>] ? __init_kthread_worker+0x42/0x42 [ 4635.519975] Code: 74 0d 3c 79 74 04 3c 59 75 0c c6 02 01 eb 03 c6 02 00 31 c0 eb 05 b8 ea ff ff ff 5d c3 55 89 e5 57 56 53 31 db eb 0e 0f b6 34 18 <0f> b6 3c 1a 43 29 fe 75 07 49 85 c9 7f [ 4635.541264] EIP: [<c11659f0>] memcmp+0xe/0x25 SS:ESP 0068:e40c7db4 [ 4635.548166] CR2: 0000000000000013 [ 4635.552177] ---[ end trace e05ce9b8ce6182f6 ]--- Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4b3418fba0fe819197e3359d5ddbef84ba2c59de Author: Bjørn Mork <bjorn@xxxxxxx> Date: Sat Oct 24 14:00:20 2015 +0200 ipv6: icmp: include addresses in debug messages Messages like "icmp6_send: no reply to icmp error" are close to useless. Adding source and destination addresses to provide some more clue. Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1075ef5950da97927ae1b3ef76d03e211c4fdb55 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Oct 23 14:58:19 2015 -0700 bpf: make tracing helpers gpl only exported perf symbols are GPL only, mark eBPF helper functions used in tracing as GPL only as well. Suggested-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62544ce8e01c1879d420ba309f7f319d24c0f4e6 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Oct 22 17:10:14 2015 -0700 bpf: fix bpf_perf_event_read() helper Fix safety checks for bpf_perf_event_read(): - only non-inherited events can be added to perf_event_array map (do this check statically at map insertion time) - dynamically check that event is local and !pmu->count Otherwise buggy bpf program can cause kernel splat. Also fix error path after perf_event_attrs() and remove redundant 'extern'. Fixes: 35578d798400 ("bpf: Implement function bpf_perf_event_read() that get the selected hardware PMU conuter") Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37457607ecaffe56718a0e423548edeb3d4a11b7 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Oct 26 16:09:44 2015 +0800 spi: mediatek: mt8173 spi multiple devices support mt8173 IC spi HW has 4 gpio group, it's possible to support max <= 4 slave devices, even mtk spi HW is not congruent to spi core. 1. When a device do a spi_message transfer, spi HW should know which pad-group this device is on, and then writes pad-select register. 2. Mtk pad-select register just selects which MISO pin HW will receive data. For example, pad-select=1(select spi1 pins), HW just receives data from spi1 MISO, but it still send waveform to all 4 group cs/clk/mosi. If cs pin in other groups is still spi mode, after spi1 is selected(by active cs pin), devices on other group will also be selected. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 58a984c79a68d508ccfccf4b82c0eaf7f487c399 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Oct 26 16:09:43 2015 +0800 spi: mediatek: handle controller_data in mtk_spi_setup controller_data is related with device, so move to master->setup function. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 79b5d3f24dcec547ea5db7d2e0b557a36f92b16b Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Oct 26 16:09:41 2015 +0800 spi: mediatek: remove mtk_spi_config mtk_spi_config() and mtk_spi_prepare_message() both initialize spi register, so remove mtk_spi_config() and init all register in mtk_spi_prepare_message(). Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eca3a1ee8dd7ec5819bd77d598044eb6ecdf4495 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Oct 26 16:09:41 2015 +0800 spi: mediatek: Update document devicetree bindings to support multiple devices This patch updates document devicetree bindings to support multiple devices. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d8e018c0b3211902af1bfb5d5b280f955a4633b7 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:45 2015 +0100 NFC: nfcmrvl: update device tree bindings for Marvell NFC Align NFC bindgins to use marvell instead of mrvl. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit caf6e49bf6d02e6bb94df680bbe3beaf680fdefa Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:44 2015 +0100 NFC: nfcmrvl: add spi driver This driver adds the support of SPI-based Marvell NFC controller. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2bd832459a0827b8dcf13b345380b66f92089d74 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:43 2015 +0100 NFC: NCI: allow spi driver to choose transfer clock In some cases low level drivers might want to update the SPI transfer clock (e.g. during firmware download). This patch adds this support. Without any modification the driver will use the default SPI clock (from pdata or device tree). Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fcd9d046fd8998cc984f2ff80e76f246ebca15b6 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:42 2015 +0100 NFC: NCI: move generic spi driver to a module SPI driver should be a module. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b5b3e23e4cace008e1a30e8614a484d14dfd07a1 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:41 2015 +0100 NFC: nfcmrvl: add i2c driver This driver adds the support of I2C-based Marvell NFC controller. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 58d34aa677ec248539262c54a618d61804a893f1 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:40 2015 +0100 NFC: nfcmrvl: configure head/tail room values per low level drivers Low-level drivers may need to add some data before and/or after NCI packet. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3194c6870158e305dac2af52f83681e9cb67280f Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:39 2015 +0100 NFC: nfcmrvl: add firmware download support Implement firmware download protocol for Marvell NFC controllers. This protocol is based on NCI frames that's why parts of its implementation use some NCI generic functions. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit e5629d29470134af1954d2bbe45c4f2b73f68ee9 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:38 2015 +0100 NFC: NCI: export nci_send_frame and nci_send_cmd function Export nci_send_frame and nci_send_cmd symbols to allow drivers to use it. This is needed for example if NCI is used during firmware download phase. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fb101c0e9cc635b811b413b26a6690240c303f54 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Mon Oct 26 10:27:37 2015 +0100 NFC: nfcmrvl: remove unneeded version defines Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 15d17170b4e44c5768c3d32b093cd393c4dbc158 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Oct 26 07:50:11 2015 +0100 NFC: st21nfca: Add support for proprietary commands Add support for proprietary commands useful mainly for factory testings. Here is a list: - FACTORY_MODE: Allow to set the driver into a mode where no secure element are activated. It does not consider any NFC_ATTR_VENDOR_DATA. - HCI_CLEAR_ALL_PIPES: Allow to execute a HCI clear all pipes command. It does not consider any NFC_ATTR_VENDOR_DATA. - HCI_DM_PUT_DATA: Allow to configure specific CLF registry as for example RF trimmings or low level drivers configurations (I2C, SPI, SWP). - HCI_DM_UPDATE_AID: Allow to configure an AID routing into the CLF routing table following RF technology, CLF mode or protocol. - HCI_DM_GET_INFO: Allow to retrieve CLF information. - HCI_DM_GET_DATA: Allow to retrieve CLF configurable data such as low level drivers configurations or RF trimmings. - HCI_DM_LOAD: Allow to load a firmware into the CLF. A complete packet can be more than 8KB. - HCI_DM_RESET: Allow to run a CLF reset in order to "commit" CLF configuration changes without CLF power off. - HCI_GET_PARAM: Allow to retrieve an HCI CLF parameter (for example the white list). - HCI_DM_FIELD_GENERATOR: Allow to generate different kind of RF technology. When using this command to anti-collision is done. - HCI_LOOPBACK: Allow to echo a command and test the Dh to CLF connectivity. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2b6e5bfed0288524fca1376eb89856363cb8c55e Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:50 2015 +0100 NFC: st-nci: Replace st21nfcb by st_nci in makefile Replace 1 missing st21nfcb by st_nci Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit bd8f1a31a98b9f26201167f695bc807e3ff45841 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:49 2015 +0100 NFC: st-nci: remove duplicated skb dump Remove SPI_DUMP_SKB and I2C_DUMP_SKB as skb is already dumped in ndlc layer. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit bb2496c3ecae8a4a24c86b3c67de192f30fa1385 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:48 2015 +0100 NFC: st-nci: Disable irq when powering the device up Upon some conditions (timing, CLF errors, platform errors...), the irq might be already active when powering the device. Add irq_active variable as a guard to avoid kernel warning message Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a9e062d0599f499082320006ae3b54cf391bf996 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:47 2015 +0100 NFC: st21nfca: Add error messages for unexpected HCI events Potentially an unexpected HCI event may occur because of a firmware bug. It could be transparent for the user but we should at least log it. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 57dc828a7740f600ea8ce3049c3745aa805c83c9 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:45 2015 +0100 NFC: st21nfca: Add few code style fixes Add a minor code style fixes Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 064d00479697907730a4aff9edf879c0ca4743f0 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:44 2015 +0100 NFC: st-nci: Add few code style fixes Add some few code style fixes. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 96d4581f0b3712221d6ed4a765bb6b4ea40f2b2f Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:43 2015 +0100 NFC: netlink: Add mode parameter to deactivate_target functions In order to manage in a better way the nci poll mode state machine, add mode parameter to deactivate_target functions. This way we can manage different target state. mode parameter make sense only in nci core. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cde2aa99ba702ab8efa583495e54731b9f854e66 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:42 2015 +0100 NFC: st21nfca: Fix host_list verification after SEactivation A secure element can be activated in different order. The host_list is updated keeping a fixed order: <terminal_host_id><uicc_id><ese_id>. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4e932acc6fd66c905b2d0ca452dcf69321b6c414 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:41 2015 +0100 NFC: st-nci: Fix host_list verification after SE activation A secure element can be activated in different order. The host_list is updated keeping a fixed order: <terminal_host_id><uicc_id><ese_id>. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 06521053a06062f62f001d79b7c1449a614cc4af Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:40 2015 +0100 NFC: st-nci: Increase delay between 2 secure element activations After internal discussion, it appears this timing should be increased to 20 ms for interoperability reason. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3648dc6d27f648b8e3ce9b48874627a833d53c3a Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:39 2015 +0100 NFC: st-nci: Add ese-present/uicc-present dts properties In order to align with st21nfca, dts configuration properties ese_present and uicc_present are made available in st-nci driver. So far, in early development firmware, because nci_nfcee_mode_set(DISABLE) was not supported we had to try to enable it during the secure element discovery phase. After several trials on commercial and qualified firmware it appears that nci_nfcee_mode_set(ENABLE) and nci_nfcee_mode_set(DISABLE) are properly supported. Such feature also help us to eventually save some time (~5ms) when only one secure element is connected. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit be73c2cbc857a4a3424c0e3cdd70002d5a27a756 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:38 2015 +0100 NFC: netlink: Add missing NFC_ATTR comments NFC_CMD_ACTIVATE_TARGET and NFC_ATTR_SE_PARAMS comments are missing. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2b5dbe089f619f995faf2fe6beb7efb705eed302 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:37 2015 +0100 NFC: st-nci: Add error messages when an unexpected HCI event occurs Potentially an unexpected HCI event may occur because of a firmware bug. It could be transparent for the user but we need to at least log it. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b1fa4dc4ffef843bda17f26bbf54fb5d8bc23d2b Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:36 2015 +0100 NFC: st-nci: Add support for proprietary commands Add support for proprietary commands useful mainly for factory testings. Here is a list: - FACTORY_MODE: Allow to set the driver into a mode where no secure element are activated. It does not consider any NFC_ATTR_VENDOR_DATA. - HCI_CLEAR_ALL_PIPES: Allow to execute a HCI clear all pipes command. It does not consider any NFC_ATTR_VENDOR_DATA. - HCI_DM_PUT_DATA: Allow to configure specific CLF registry like for example RF trimmings or low level drivers configurations (I2C, SPI, SWP). - HCI_DM_UPDATE_AID: Allow to configure an AID routing into the CLF routing table following RF technology, CLF mode or protocol. - HCI_DM_GET_INFO: Allow to retrieve CLF information. - HCI_DM_GET_DATA: Allow to retrieve CLF configurable data such as low level drivers configurations or RF trimmings. - HCI_DM_DIRECT_LOAD: Allow to load a firmware into the CLF. A complete packet can be more than 8KB. - HCI_DM_RESET: Allow to run a CLF reset in order to "commit" CLF configuration changes without CLF power off. - HCI_GET_PARAM: Allow to retrieve an HCI CLF parameter (for example the white list). - HCI_DM_FIELD_GENERATOR: Allow to generate different kind of RF technology. When using this command to anti-collision is done. - HCI_LOOPBACK: Allow to echo a command and test the Dh to CLF connectivity. - HCI_DM_VDC_MEASUREMENT_VALUE: Allow to measure the field applied on the CLF antenna. A value between 0 and 0x0f is returned. 0 is maximum. - HCI_DM_FWUPD_START: Allow to put CLF into firmware update mode. It is a specific CLF command as there is no GPIO for this. - HCI_DM_FWUPD_END: Allow to complete firmware update. - HCI_DM_VDC_VALUE_COMPARISON: Allow to compare the field applied on the CLF antenna to a reference value. - MANUFACTURER_SPECIFIC: Allow to retrieve manufacturer specific data received during a NCI_CORE_INIT_CMD. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 90ce321da8ce3d00e19586993887346286208386 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 26 14:11:19 2015 +0800 btrfs: qgroup: Fix a rebase bug which will cause qgroup double free When rebasing my patchset, I forgot to pick up a cleanup patch to remove old hotfix in 4.2 release. Witouth the cleanup, it will screw up new qgroup reserve framework and always cause minus reserved number. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5846a3c26873e86b034c702a8bc202aa76082369 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 26 14:11:18 2015 +0800 btrfs: qgroup: Fix a race in delayed_ref which leads to abort trans Between btrfs_allocerved_file_extent() and btrfs_add_delayed_qgroup_reserve(), there is a window that delayed_refs are run and delayed ref head maybe freed before btrfs_add_delayed_qgroup_reserve(). This will cause btrfs_dad_delayed_qgroup_reserve() to return -ENOENT, and cause transaction to be aborted. This patch will record qgroup reserve space info into delayed_ref_head at btrfs_add_delayed_ref(), to eliminate the race window. Reported-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 696249132158014d594896df3a81390616069c5c Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Oct 26 15:06:19 2015 +0900 btrfs: clear PF_NOFREEZE in cleaner_kthread() cleaner_kthread() kthread calls try_to_freeze() at the beginning of every cleanup attempt. This operation can't ever succeed though, as the kthread hasn't marked itself as freezable. Before (hopefully eventually) kthread freezing gets converted to fileystem freezing, we'd rather mark cleaner_kthread() freezable (as my understanding is that it can generate filesystem I/O during suspend). Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0a0e8b89389266bed9cc074c57ea662e4b9b2621 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 26 09:19:43 2015 +0800 btrfs: qgroup: Don't copy extent buffer to do qgroup rescan Ancient qgroup code call memcpy() on a extent buffer and use it for leaf iteration. As extent buffer contains lock, pointers to pages, it's never sane to do such copy. The following bug may be caused by this insane operation: [92098.841309] general protection fault: 0000 [#1] SMP [92098.841338] Modules linked in: ... [92098.841814] CPU: 1 PID: 24655 Comm: kworker/u4:12 Not tainted 4.3.0-rc1 #1 [92098.841868] Workqueue: btrfs-qgroup-rescan btrfs_qgroup_rescan_helper [btrfs] [92098.842261] Call Trace: [92098.842277] [<ffffffffc035a5d8>] ? read_extent_buffer+0xb8/0x110 [btrfs] [92098.842304] [<ffffffffc0396d00>] ? btrfs_find_all_roots+0x60/0x70 [btrfs] [92098.842329] [<ffffffffc039af3d>] btrfs_qgroup_rescan_worker+0x28d/0x5a0 [btrfs] Where btrfs_qgroup_rescan_worker+0x28d is btrfs_disk_key_to_cpu(), called in reading key from the copied extent_buffer. This patch will use btrfs_clone_extent_buffer() to a better copy of extent buffer to deal such case. Reported-by: Stephane Lesimple <stephane_btrfs@xxxxxxxxxxx> Suggested-by: Filipe Manana <fdmanana@xxxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b66d62ba1e0d7ada5b89afffe19d12662b5c92c9 Author: David Sterba <dsterba@xxxxxxxx> Date: Fri Oct 16 19:15:50 2015 +0200 btrfs: add balance filters limits, stripes and usage to supported mask Enable the extended 'limit' syntax (a range), the new 'stripes' and extended 'usage' syntax (a range) filters in the filters mask. The patch comes separate and not within the series that introduced the new filters because the patch adding the mask was merged in a late rc. The integration branch was based on an older rc and could not merge the patch due to the missing changes. Prerequisities: * btrfs: check unsupported filters in balance arguments * btrfs: extend balance filter limit to take minimum and maximum * btrfs: add balance filter for stripes * btrfs: extend balance filter usage to take minimum and maximum Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit bc3094673f22d00794a8606200788e411b4ec80d Author: David Sterba <dsterba@xxxxxxxx> Date: Tue Oct 20 18:22:13 2015 +0200 btrfs: extend balance filter usage to take minimum and maximum Similar to the 'limit' filter, we can enhance the 'usage' filter to accept a range. The change is backward compatible, the range is applied only in connection with the BTRFS_BALANCE_ARGS_USAGE_RANGE flag. We don't have a usecase yet, the current syntax has been sufficient. The enhancement should provide parity with other range-like filters. Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dee32d0ac3719ef8d640efaf0884111df444730f Author: GabrÃel Arthúr Pétursson <gabriel@xxxxxxxxx> Date: Mon Sep 28 22:32:41 2015 +0000 btrfs: add balance filter for stripes Balance block groups which have the given number of stripes, defined by a range min..max. This is useful to selectively rebalance only chunks that do not span enough devices, applies to RAID0/10/5/6. Signed-off-by: GabrÃel Arthúr Pétursson <gabriel@xxxxxxxxx> [ renamed bargs members, added to the UAPI, wrote the changelog ] Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 12907fc79818a62a2478f84f7795afa774bf7f9c Author: David Sterba <dsterba@xxxxxxxx> Date: Sat Oct 10 17:16:50 2015 +0200 btrfs: extend balance filter limit to take minimum and maximum The 'limit' filter is underdesigned, it should have been a range for [min,max], with some relaxed semantics when one of the bounds is missing. Besides that, using a full u64 for a single value is a waste of bytes. Let's fix both by extending the use of the u64 bytes for the [min,max] range. This can be done in a backward compatible way, the range will be interpreted only if the appropriate flag is set (BTRFS_BALANCE_ARGS_LIMIT_RANGE). Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2849a854224487bc578b73b64422c3cb3ef93ff5 Author: Chris Mason <clm@xxxxxx> Date: Tue Oct 13 14:06:48 2015 -0400 btrfs: fix use after free iterating extrefs The code for btrfs inode-resolve has never worked properly for files with enough hard links to trigger extrefs. It was trying to get the leaf out of a path after freeing the path: btrfs_release_path(path); leaf = path->nodes[0]; item_size = btrfs_item_size_nr(leaf, slot); The fix here is to use the extent buffer we cloned just a little higher up to avoid deadlocks caused by using the leaf in the path. Signed-off-by: Chris Mason <clm@xxxxxx> cc: stable@xxxxxxxxxxxxxxx # v3.7+ cc: Mark Fasheh <mfasheh@xxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 849ef9286f30c88113906dc35f44a499c0cb385d Author: David Sterba <dsterba@xxxxxxxx> Date: Mon Oct 12 16:55:54 2015 +0200 btrfs: check unsupported filters in balance arguments We don't verify that all the balance filter arguments supplemented by the flags are actually known to the kernel. Thus we let it silently pass and do nothing. At the moment this means only the 'limit' filter, but we're going to add a few more soon so it's better to have that fixed. Also in older stable kernels so that it works with newer userspace tools. Cc: stable@xxxxxxxxxxxxxxx # 3.16+ Signed-off-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 23695e41a1cac017edad2b38607f33678a31b877 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Tue Oct 6 04:32:57 2015 +0000 scsi_dh: fix use-after-free when removing scsi device The commit 1bab0de0274f ("dm-mpath, scsi_dh: don't let dm detach device handlers") removed reference counting of attached scsi device handler. As a result, handler data is freed immediately via scsi_dh->detach() in the context of scsi_remove_device() where activation request can be still in flight. This patch moves scsi_dh_handler_detach() to sdev releasing function, scsi_device_dev_release_usercontext(), at that point the device is already in quiesced state. Fixes: 1bab0de0274f ("dm-mpath, scsi_dh: don't let dm detach device handlers") Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 2280521719e81919283b82902ac24058f87dfc1b Author: DÄ?vis MosÄ?ns <davispuh@xxxxxxxxx> Date: Fri Aug 21 07:29:22 2015 +0300 mvsas: Fix NULL pointer dereference in mvs_slot_task_free When pci_pool_alloc fails in mvs_task_prep then task->lldd_task stays NULL but it's later used in mvs_abort_task as slot which is passed to mvs_slot_task_free causing NULL pointer dereference. Just return from mvs_slot_task_free when passed with NULL slot. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=101891 Signed-off-by: DÄ?vis MosÄ?ns <davispuh@xxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 28ca3e8556e3ecda74adf1c4c3453ed9d5b9e5e6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Oct 20 13:14:45 2015 +0200 dmaengine: virt-dma: Fix kernel-doc annotations In kernel-doc annotations parameters need to start with a @ for them to be properly recognized. Add those where missing for virt-dma. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b704f70ce2003c8046d5c0128303aeeb0d93d890 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 11:57:29 2015 -0400 SCSI: fix bug in scsi_dev_info_list matching The "compatible" matching algorithm used for looking up old-style blacklist entries in a scsi_dev_info_list is buggy. The core of the algorithm looks like this: if (memcmp(devinfo->vendor, vendor, min(max, strlen(devinfo->vendor)))) /* not a match */ where max is the length of the device's vendor string after leading spaces have been removed but trailing spaces have not. Because of the min() computation, either entry could be a proper substring of the other and the code would still think that they match. In the case originally reported, the device's vendor and product strings were "Inateck " and " ". These matched against the following entry in the global device list: {"", "Scanner", "1.80", BLIST_NOLUN} because "" is a substring of "Inateck " and "" (the result of removing leading spaces from the device's product string) is a substring of "Scanner". The mistaken match prevented the system from scanning and finding the device's second Logical Unit. This patch fixes the problem by making two changes. First, the code for leading-space removal is hoisted out of the loop. (This means it will sometimes run unnecessarily, but since a large percentage of all lookups involve the "compatible" entries in global device list, this should be an overall improvement.) Second and more importantly, the patch removes trailing spaces and adds a check to verify that the two resulting strings are exactly the same length. This prevents matches where one entry is a proper substring of the other. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Reported-by: Giulio Bernardi <ugilio@xxxxxxxxx> Tested-by: Giulio Bernardi <ugilio@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c42b3654f48bc06189a2d99629c9cf7bb79e8fe3 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 3 11:57:21 2015 -0400 SCSI: refactor device-matching code in scsi_devinfo.c In drivers/scsi/scsi_devinfo.c, the scsi_dev_info_list_del_keyed() and scsi_get_device_flags_keyed() routines contain a large amount of duplicate code for finding vendor/product matches in a scsi_dev_info_list. This patch factors out the duplicate code and puts it in a separate function, scsi_dev_info_list_find(). Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Suggested-by: Giulio Bernardi <ugilio@xxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 06a16293f71927f756dcf37558a79c0b05a91641 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Sat Oct 24 16:20:18 2015 -0700 Input: evdev - add event-mask API Hardware manufacturers group keys in the weirdest way possible. This may cause a power-key to be grouped together with normal keyboard keys and thus be reported on the same kernel interface. However, user-space is often only interested in specific sets of events. For instance, daemons dealing with system-reboot (like systemd-logind) listen for KEY_POWER, but are not interested in any main keyboard keys. Usually, power keys are reported via separate interfaces, however, some i8042 boards report it in the AT matrix. To avoid waking up those system daemons on each key-press, we had two ideas: - split off KEY_POWER into a separate interface unconditionally - allow filtering a specific set of events on evdev FDs Splitting of KEY_POWER is a rather weird way to deal with this and may break backwards-compatibility. It is also specific to KEY_POWER and might be required for other stuff, too. Moreover, we might end up with a huge set of input-devices just to have them properly split. Hence, this patchset implements the second idea: An event-mask to specify which events you're interested in. Two ioctls allow setting this mask for each event-type. If not set, all events are reported. The type==0 entry is used same as in EVIOCGBIT to set the actual EV_* mask of filtered events. This way, you have a two-level filter. We are heavily forward-compatible to new event-types and event-codes. So new user-space will be able to run on an old kernel which doesn't know the given event-codes or event-types. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit fd6ddfa4c1ddfb4a149b31845144b4cf3cbef54d Author: Maurizio Lombardi <mlombard@xxxxxxxxxx> Date: Wed Aug 12 17:00:23 2015 +0200 fnic: check pci_map_single() return value the kernel prints some warnings when compiled with CONFIG_DMA_API_DEBUG. This is because the fnic driver doesn't check the return value of pci_map_single(). [ 11.942770] scsi host12: fnic [ 11.950811] ------------[ cut here ]------------ [ 11.950818] WARNING: at lib/dma-debug.c:937 check_unmap+0x47b/0x920() [ 11.950821] fnic 0000:0c:00.0: DMA-API: device driver failed to check map error[device address=0x0000002020a30040] [size=44 bytes] [mapped as single] Signed-off-by: Maurizio Lombardi <mlombard@xxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Reviewed By: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5a2415b0769233194f20d3906c3ffc6a2033317c Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sun Oct 11 13:03:47 2015 -0700 mtd: mtdpart: Do not fail mtd probe when parsing partitions fails Due to wrong assumption in ofpart ofpart fails on Exynos on SPI chips with no partitions because the subnode containing controller data confuses the ofpart parser. Thus compiling in ofpart support automatically fails probing any SPI NOR flash without partitions on Exynos. Compiling in a partitioning scheme should not cause probe of otherwise valid device to fail. Instead, let's do the following: * try parsers until one succeeds * if no parser succeeds, report the first error we saw * even in the failure case, allow MTD to probe, with fallback partitions or no partitions at all -- the master device will still be registered Issue report and comments initially by Michal Suchanek. Reported-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c4f39bdaf40e2651f4fb3e6944e05166f1ab1d38 Author: Ketan Mukadam <ketan.mukadam@xxxxxxxxxxxxx> Date: Sat Jul 4 04:12:33 2015 +0530 be2iscsi: Revert ownership to Emulex We would like to get the following updates in: Revert ownership to "Emulex" from "Avago Technologies" Signed-off-by: Ketan Mukadam <ketan.mukadam@xxxxxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 9d27e2163168dc5f42785e19fca2e8de453c5e44 Author: Ketan Mukadam <ketan.mukadam@xxxxxxxxxxxxx> Date: Sat Jul 4 04:12:23 2015 +0530 MAINTAINERS: Update be2iscsi driver Signed-off-by: Ketan Mukadam <ketan.mukadam@xxxxxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3242c9ee0b6104c901336a9498bb7ec64923eb1f Merge: f7e1b37 cb36859 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 26 18:32:22 2015 -0700 Merge branch 'sh_eth-fixes' Sergei Shtylyov says: ==================== sh_eth: RX buffer alignment fixes Here's a set of 2 patches against DaveM's 'net.git' repo which are the fixes to the RX buffer size calculation. [1/2] sh_eth: fix RX buffer size alignment [2/2] sh_eth: fix RX buffer size calculation ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb3685958dd4c46d7646d244063ea3ec8adf3618 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 00:46:40 2015 +0300 sh_eth: fix RX buffer size calculation The RX buffer size calulation failed to account for the length granularity (which is now 32 bytes)... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab8579169b79c062935dade949287113c7c1ba73 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 00:46:03 2015 +0300 sh_eth: fix RX buffer size alignment Both Renesas R-Car and RZ/A1 manuals state that RX buffer length must be a multiple of 32 bytes, while the driver only uses 16 byte granularity... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6dbad420a00fbc06c7c9168f75ec66bb2120a18 Author: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Date: Fri Jun 6 13:05:59 2014 -0500 bnx2fc: Do not log error for netevents that need no action Do not log error for netevents that need no action such as NETDEV_REGISTER 0x0005, NETDEV_CHANGEADDR, and NETDEV_CHANGENAME. It results in logging error messages such as these [ 35.315872] bnx2fc: Unknown netevent 5 [ 35.315935] bnx2fc: Unknown netevent 8 [ 35.353866] bnx2fc: Unknown netevent 10 and generating bug reports. Remove logging this message as an ERROR instead of turning them into either DEBUG or INFO level messages. Signed-off-by: Shirish Pargaonkar <spargaonkar@xxxxxxxx> Acked-by: Eddie Wai <eddie.wai@xxxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit baae8fac019a5d0dc3f39be0f867d13b5c8ee59a Author: James Smart <james.smart@xxxxxxxxxxxxx> Date: Mon Aug 31 16:48:22 2015 -0400 lpfc: Update version to 11.0.0.0 for upstream patch set Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8b7c94e3478dbb0296293b43a974c3561d01e9fb Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 23 12:11:08 2015 -0700 net: dsa: bcm_sf2: Unhardcode port numbers While the current driver mostly supports BCM7445 which has a hardcoded location for its MoCA port on port 7 and port 0 for its internal PHY, this is not necessarily true for all other chips out there such as BCM3390 for instance. Walk the list of ports from Device Tree, get their port number ("reg" property), and then parse the "phy-mode" property and initialize two internal variables: moca_port and a bitmask of internal PHYs. Since we use interrupts for the MoCA port, we introduce two helper functions to enable/disable interrupts and do this at the appropriate bank (INTRL2_0 or INTRL2_1). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3faf2b8826b8ac58cdaad7f801e59e389320f0e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:12 2015 +0300 ARM: DTS: am437x: Use the new DT bindings for the eDMA3 Switch to use the ti,edma3-tpcc and ti,edma3-tptc binding for the eDMA3 and enable the DMA even crossbar with ti,am335x-edma-crossbar. With the new bindings boards can customize and tweak the DMA channel priority to match their needs. With the new binding the memcpy is safe to be used since with the old binding it was not possible for a driver to know which channel is allowed to be used as non HW triggered channel. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d871cd2ec5abf8715774bcb90aa32ae5b750b587 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:11 2015 +0300 ARM: DTS: am33xx: Use the new DT bindings for the eDMA3 Switch to use the ti,edma3-tpcc and ti,edma3-tptc binding for the eDMA3 and enable the DMA even crossbar with ti,am335x-edma-crossbar. With the new bindings boards can customize and tweak the DMA channel priority to match their needs. With the new binding the memcpy is safe to be used since with the old binding it was not possible for a driver to know which channel is allowed to be used as non HW triggered channel. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1be5336bc7ba050ee07d352643bf4c01c513553c Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:10 2015 +0300 dmaengine: edma: New device tree binding With the old binding and driver architecture we had many issues: No way to assign eDMA channels to event queues, thus not able to tune the system by moving specific DMA channels to low/high priority servicing. We moved the cyclic channels to high priority within the code, but that was just a workaround to this issue. Memcopy was fundamentally broken: even if the driver scanned the DT/devices in the booted system for direct DMA users (which is not effective when the events are going through a crossbar) and created a map of 'used' channels, this information was not really usable. Since via dmaengien API the eDMA driver will be called with _some_ channel number, we would try to request this channel when any channel is requested for memcpy. By luck we got channel which is not used by any device most of the time so things worked, but if a device would have been using the given channel, but not requested it, the memcpy channel would have been waiting for HW event. The old code had the am33xx/am43xx DMA event router handling embedded. This should have been done in a separate driver since it is not part of the actual eDMA IP. There were no way to 'lock' PaRAM slots to be used by the DSP for example when booting with DT. In DT boot the edma node used more than one hwmod which is not a good practice and the kernel prints warning because of this. With the new bindings and the changes in the driver we can: - No regression with Legacy binding and non DT boot - DMA channels can be assigned to any TC (to set priority) - PaRAM slots can be reserved for other cores to use - Dynamic power management for CC and TCs, if only TC0 is used all other TC can be powered down for example Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f7c7cae94832fc09ccff080b4cc2358ac11e2150 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:09 2015 +0300 dmaengine: Kconfig: edma: Select TI_DMA_CROSSBAR in case of ARCH_OMAP Since the crossbar is needed for eDMA when it is used on OMAP like platforms (am335x/am437x and later DRA7xx), select the crossbar to be built if ARCH_OMAP is set. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 42dbdcc6bf965997c088caff2a8be7f9bf44f701 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:08 2015 +0300 dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx The DMA event crossbar on AM33xx/AM43xx is different from the one found in DRA7x family. Instead of a single event crossbar it has 64 identical mux attached to each eDMA event line. When the 0 event mux is selected, the default mapped event is going to be routed to the corresponding eDMA event line. If different mux is selected, then the selected event is going to be routed to the given eDMA event. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 966a87b5962ed0d058e93809ae310fa542a69c8e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:07 2015 +0300 dmaengine: edma: Merge the of parsing functions Instead of nesting functions just merge them since the resulting function is still small and readable. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 56c7b749965947af45efaf8a7021a1f86d4ce4d8 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:06 2015 +0300 dmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot The channel/slot reservation is not supported when booted with DT so there is not need to allocate memory. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 02f77ef1197bd0acde8c0b7ed2b4dee7da7bcbf6 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:05 2015 +0300 dmaengine: edma: Refactor the dma device and channel struct initialization Move all code under one function to do the dma device and eDMA channel related setup so they are not scattered around the driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 633e42b8c5465acf03671be7bd2866c486816596 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:04 2015 +0300 dmaengine: edma: Get qDMA channel information from HW also Query the number of qDMA channels from CCCFG register. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f9425deb662ac07099ec151ffb4791eef48e9d83 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:03 2015 +0300 dmaengine: edma: Merge map_dmach_to_queue into assign_channel_eventq edma_assign_channel_eventq() is a wrapper around edma_map_dmach_to_queue() We can merge the content of the later so we will have only one function to be used for mapping channels to given eventq Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d9c345d18a8df5a5427cca80d2b9d981468ef270 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:02 2015 +0300 dmaengine: edma: Correct PaRAM access function names (_parm_ to _param_) These inline functions are designed to modify parts of the PaRAM in eDMA. Change the names accordingly. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 34cf30111cfccd18e1ccf2456f72dff6d42bd853 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:01 2015 +0300 dmaengine: edma: Simplify function parameter list for channel operations Instead of passing a pointer to struct edma_cc and the channel number, pass only the pointer to the edma_chan structure for the given channel. This struct contains all the information needed by the functions and the use of this makes it obvious that most of the sanity checks can be removed from the driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit df6694f80365a72700d4c68fcf61ef068f5b3c25 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:18:00 2015 +0300 dmaengine: edma: Optimize memcpy operation If the transfer is shorted then 64K we can complete it with one ACNT burst by configuring ACNT to the length of the copy, this require one paRAM slot. Otherwise we use two paRAM slots for the copy: slot1: will copy (length / 32767) number of 32767 byte long blocks slot2: will be configured to copy the remaining data. According to tests this patch increases the throughput of memcpy from ~3MB/s to 15MB/s Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 21a31846a7736a88709fe6fe2e73857d884de89c Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Oct 16 10:17:59 2015 +0300 dmaengine: edma: Remove alignment constraint for memcpy Despite the claim by the original commit adding the memcpy support, eDMA does not have constraint on the alignment of src, dst or length in increment mode. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 21bf0b977afd1825100b43c464766dc4acdd43d3 Author: James Smart <james.smart@xxxxxxxxxxxxx> Date: Mon Aug 31 16:48:21 2015 -0400 lpfc: Fix default RA_TOV and ED_TOV in the FC/FCoE driver for all topologies Initial link up defaults were not properly being tracked relative to initial FLOGI or pt2pt PLOGI. Add code to initialize them. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 8fe5c1655759b353cf4f0d045dd1773aa3b7ef4e Author: James Smart <james.smart@xxxxxxxxxxxxx> Date: Mon Aug 31 16:48:19 2015 -0400 lpfc: The linux driver does not reinitiate discovery after a failed FLOGI Forgot to clear FCF Discovery in-progress flag upon FLOGI failures. Thus we didn't restart FLOGI. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit eec3d3121988fa9c24f50ece81244ca1c85b7c25 Author: James Smart <james.smart@xxxxxxxxxxxxx> Date: Mon Aug 31 16:48:18 2015 -0400 lpfc: Fix for discovery failure in PT2PT when FLOGI's ELS ACC response gets aborted Fix for discovery failure in PT2PT when FLOGI's ELS ACC response gets aborted Change login state machine to: - Restart FLOGI if prior is ABTS'd - Reject incoming FLOGIs if we have one pending The above ensures that we always finish FLOGI processing, regardless of who initated FLOGI, before processing PLOGI's. Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit d38dd52c79bc117a2ba7c27949d50721adc9d1d3 Author: James Smart <james.smart@xxxxxxxxxxxxx> Date: Mon Aug 31 16:48:17 2015 -0400 lpfc: Add support for Lancer G6 and 32G FC links Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 680060d3e02d175516832e9af058ffe96ecc4cdc Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 23 11:38:07 2015 -0700 net: dsa: bcm_sf2: Implement FDB operations Add support for the FDB add, delete, and dump operations. The add and delete operations are implemented using directed ARL operations using the specified MAC address and consist in a read operation, write and readback operation. The dump operation consists in using the ARL search and software filtering entries which are not for the desired port. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6599eaaa45e0f40ddbbcf164cf3e3524faed9383 Author: Ales Novak <alnovak@xxxxxxx> Date: Mon Aug 31 16:48:16 2015 -0400 fix: lpfc_send_rscn_event sends bigger buffer size lpfc_send_rscn_event() allocates data for sizeof(struct lpfc_rscn_event_header) + payload_len, but claims that the data has size of sizeof(struct lpfc_els_event_header) + payload_len. That leads to buffer overruns. Signed-off-by: Ales Novak <alnovak@xxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Sebastian Herbszt <herbszt@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit db6f1c2f900b536d23de386dc7f2a53aa80d7307 Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Mon Aug 31 16:48:14 2015 -0400 lpfc: remove set but not used variables Remove set but not used variables. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 3bb11fc5d0584adc075ddc6b42abdfb2ee776e9d Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Mon Aug 31 16:48:13 2015 -0400 lpfc:Make the function lpfc_sli4_mbox_completions_pending static in order to comply with function prototype This makes the function lpfc_sli4_mbox_completion's definition static now in order to comply with its prototype being also declared as static too. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Sebastian Herbszt <herbszt@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c0365c0692d6ea038bb4feda308eec69e11292a3 Author: Ian Mitchell <imitchell@xxxxxxx> Date: Mon Aug 31 16:48:12 2015 -0400 Fix kmalloc overflow in LPFC driver at large core count This patch allows the LPFC to start up without a fatal kernel bug based on an exceeded KMALLOC_MAX_SIZE and a too large NR_CPU-based maskbits field. The bug was based on the number of CPU cores in a system. Using the get_cpu_mask() function declared in kernel/cpu.c allows the driver to load on the community kernel 4.2 RC1. Below is the kernel bug reproduced: 8<-------------------------------------------------------------------- 2199382.828437 ( 0.005216)| lpfc 0003:02:00.0: enabling device (0140 -> 0142) 2199382.999272 ( 0.170835)| ------------[ cut here ]------------ 2199382.999337 ( 0.000065)| WARNING: CPU: 84 PID: 404 at mm/slab_common.c:653 kmalloc_slab+0x2f/0x89() 2199383.004534 ( 0.005197)| Modules linked in: lpfc(+) usbcore(+) mptctl scsi_transport_fc sg lpc_ich i2c_i801 usb_common tpm_tis mfd_core tpm acpi_cpufreq button scsi_dh_alua scsi_dh_rdacusbcore: registered new device driver usb 2199383.020568 ( 0.016034)| 2199383.020581 ( 0.000013)| scsi_dh_hp_sw scsi_dh_emc scsi_dh gru thermal sata_nv processor piix fan thermal_sysehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver 2199383.035288 ( 0.014707)| 2199383.035306 ( 0.000018)| hwmon ata_piix 2199383.035336 ( 0.000030)| CPU: 84 PID: 404 Comm: kworker/84:0 Not tainted 3.18.0-rc2-gat-00106-ga7ca10f-dirty #178 2199383.047077 ( 0.011741)| ehci-pci: EHCI PCI platform driver 2199383.047134 ( 0.000057)| Hardware name: SGI UV2000/ROMLEY, BIOS SGI UV 2000/3000 series BIOS 01/15/2013 2199383.056245 ( 0.009111)| Workqueue: events work_for_cpu_fn 2199383.066174 ( 0.009929)| 000000000000028d ffff88eef827bbe8 ffffffff815a542f 000000000000028d 2199383.069545 ( 0.003371)| ffffffff810ea142 ffff88eef827bc28 ffffffff8104365c ffff88eefe4006c8 2199383.076214 ( 0.006669)| 0000000000000000 00000000000080d0 0000000000000000 0000000000000004 2199383.079213 ( 0.002999)| Call Trace: 2199383.084084 ( 0.004871)| [<ffffffff815a542f>] dump_stack+0x49/0x62 2199383.087283 ( 0.003199)| [<ffffffff810ea142>] ? kmalloc_slab+0x2f/0x89 2199383.091415 ( 0.004132)| [<ffffffff8104365c>] warn_slowpath_common+0x77/0x92 2199383.095197 ( 0.003782)| [<ffffffff8104368c>] warn_slowpath_null+0x15/0x17 2199383.103336 ( 0.008139)| [<ffffffff810ea142>] kmalloc_slab+0x2f/0x89 2199383.107082 ( 0.003746)| [<ffffffff8110fd9e>] __kmalloc+0x13/0x16a 2199383.112531 ( 0.005449)| [<ffffffffa01a8ed9>] lpfc_pci_probe_one_s4+0x105b/0x1644 [lpfc] 2199383.115316 ( 0.002785)| [<ffffffff81302b92>] ? pci_bus_read_config_dword+0x75/0x87 2199383.123431 ( 0.008115)| [<ffffffffa01a951f>] lpfc_pci_probe_one+0x5d/0xcb5 [lpfc] 2199383.127364 ( 0.003933)| [<ffffffff81497119>] ? dbs_check_cpu+0x168/0x177 2199383.136438 ( 0.009074)| [<ffffffff81496fa5>] ? gov_queue_work+0xb4/0xc0 2199383.140407 ( 0.003969)| [<ffffffff8130b2a1>] local_pci_probe+0x1e/0x52 2199383.143105 ( 0.002698)| [<ffffffff81052c47>] work_for_cpu_fn+0x13/0x1b 2199383.147315 ( 0.004210)| [<ffffffff81054965>] process_one_work+0x222/0x35e 2199383.151379 ( 0.004064)| [<ffffffff81054e76>] worker_thread+0x3d5/0x46e 2199383.159402 ( 0.008023)| [<ffffffff81054aa1>] ? process_one_work+0x35e/0x35e 2199383.163097 ( 0.003695)| [<ffffffff810599c6>] kthread+0xc8/0xd2 2199383.167476 ( 0.004379)| [<ffffffff810598fe>] ? kthread_freezable_should_stop+0x5b/0x5b 2199383.176434 ( 0.008958)| [<ffffffff815a8cac>] ret_from_fork+0x7c/0xb0 2199383.180086 ( 0.003652)| [<ffffffff810598fe>] ? kthread_freezable_should_stop+0x5b/0x5b 2199383.192333 ( 0.012247)| ehci-pci 0000:00:1a.0: EHCI Host Controller -------------------------------------------------------------------->8 The proposed solution was approved by James Smart at Emulex and tested on a UV2 machine with 6144 cores. With the fix, the LPFC module loads with no unwanted effects on the system. Signed-off-by: Ian Mitchell <imitchell@xxxxxxx> Signed-off-by: Alex Thorlton <athorlton@xxxxxxx> Suggested-by: Robert Elliot <elliott@xxxxxx> [james.smart: resolve unused variable warning] Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 7973967f803da922af10599fb2bf4d66889e40d1 Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Mon Aug 31 16:48:11 2015 -0400 lpfc: Destroy lpfc_hba_index IDR on module exit Destroy lpfc_hba_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> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 5f406fae01e4243d128956421815518d00212c3a Author: Bodo Stroesser <bstroesser@xxxxxxxxxxxxxx> Date: Mon Aug 31 16:48:10 2015 -0400 lpfc: in sli3 use configured sg_seg_cnt for sg_tablesize Currently the module parameter lpfc_sg_seg_count does not have effect for sli3 devices. In lpfc_sli_driver_resource_setup(), which is used for sli3, the code writes the configured sg_seg_cnt into lpfc_template.sg_tablesize. But lpfc_template is the template used for sli4 only. Thus the value should correctly be written to lpfc_template_s3->sg_tablesize. This patch is for kernel 4.1-rc5, but is tested with lpfc 10.2.405.26 only. Signed-off-by: Bodo Stroesser <bstroesser@xxxxxxxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Sebastian Herbszt <herbszt@xxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit c6cb9b4fd984334b420115e6a504a2ef92cf7f3f Author: Firo Yang <firogm@xxxxxxxxx> Date: Mon Aug 31 16:48:09 2015 -0400 lpfc: Remove unnessary cast kzalloc() returns a void pointer - no need to cast it in drivers/scsi/lpfc/lpfc_init.c::lpfc_sli_driver_resource_setup() Signed-off-by: Firo Yang <firogm@xxxxxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 290237d2aa832ec418e9abb229f6869aa8b6dbb5 Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Mon Aug 31 16:48:08 2015 -0400 lpfc: fix model description Remove trailing space from model description. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Signed-off-by: James Smart <james.smart@xxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxx> commit 76b1ba7feda533a74c5874a1d15bb4039083efc8 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:39 2015 +0800 clocksource/drivers/digicolor: Prevent ftrace recursion Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. We should not trace digicolor_timer_sched_read() function. Fix this by adding the notrace attribute to this function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit bd859a44b2f6749fd82e89dabbaa37f2c8aa33fe Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:40 2015 +0800 clocksource/drivers/fsl_ftm_timer: Prevent ftrace recursion Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. We should not trace the ftm_read_sched_clock() function. Fix this by adding the notrace attribute to this function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 36361abc8bc14e80f6b4db561665e5e15249c181 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:38 2015 +0800 clocksource/drivers/vf_pit_timer: Prevent ftrace recursion Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. We should not trace the pit_read_sched_clock() function. Fix this by adding a notrace attribute to this function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit cdc68ec01853baf3558c6d25f19c869add4a6888 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:37 2015 +0800 clocksource/drivers/prima2: Prevent ftrace recursion Currently prima2 timer can be used as a scheduler clock. We properly marked sirfsoc_read_sched_clock() as notrace but we then call another function sirfsoc_timer_read() that _wasn't_ notrace. Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. Fix this by adding notrace attribute to the sirfsoc_timer_read() function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit b8725dab66f0b2d57affb33a7f6ca094d9f1f8dd Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:35 2015 +0800 clocksource/drivers/samsung_pwm_timer: Prevent ftrace recursion Currently samsung_pwm_timer can be used as a scheduler clock. We properly marked samsung_read_sched_clock() as notrace but we then call another function samsung_clocksource_read() that _wasn't_ notrace. Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. Fix this by adding notrace attribute to the samsung_clocksource_read() function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit f8af0e9c644caf64d0f42dce816c18346c744a9f Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:36 2015 +0800 clocksource/drivers/pistachio: Prevent ftrace recursion Currently pistachio can be used as a scheduler clock. We properly marked pistachio_read_sched_clock() as notrace but we then call another function pistachio_clocksource_read_cycles() that _wasn't_ notrace. Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. Fix this by adding notrace attribute to the pistachio_clocksource_read_cycles() function. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit d6df3576e6b4bcf765f5ace69915b4fa4a7ee1c3 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 16:02:34 2015 +0800 clocksource/drivers/arm_global_timer: Prevent ftrace recursion Currently arm_global_timer can be used as a scheduler clock. We properly marked gt_sched_clock_read() as notrace but we then call another function gt_counter_read() that _wasn't_ notrace. Having a traceable function in the sched_clock() path leads to a recursion within ftrace and a kernel crash. Fix this by adding an extra notrace function to keep other users of gt_counter_read() traceable. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 9ace41adb46e36e0709983702230d3602210c171 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 26 01:45:01 2015 -0700 Input: snvs_pwrkey - remove duplicated semicolon Remove the unneded semicolon since it is clearly a typo error. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 195562194aad3a0a3915941077f283bcc6347b9b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Oct 26 01:50:28 2015 -0700 Input: alps - only the Dell Latitude D420/430/620/630 have separate stick button bits commit 92bac83dd79e ("Input: alps - non interleaved V2 dualpoint has separate stick button bits") assumes that all alps v2 non-interleaved dual point setups have the separate stick button bits. Later we limited this to Dell laptops only because of reports that this broke things on non Dell laptops. Now it turns out that this breaks things on the Dell Latitude D600 too. So it seems that only the Dell Latitude D420/430/620/630, which all share the same touchpad / stick combo, have these separate bits. This patch limits the checking of the separate bits to only these models fixing regressions with other models. Reported-and-tested-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Tested-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-By: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7c62f299bafef82c83169ac0c4cf77874446fc83 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 2 13:42:21 2015 +0900 ARM: dts: uniphier: add outer cache controller nodes Add L2 cache controller nodes for all the UniPhier SoC DTSI. Also, add an L3 cache controller node for PH1-Pro5 DTSI. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b1e4006aeda8c8784029de17d47987c21ea75f6d Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 2 13:42:20 2015 +0900 ARM: uniphier: rework SMP operations to use trampoline code The complexity of the boot sequence of UniPhier SoC family is a PITA due to the following hardware limitations: [1] No dedicated on-chip SRAM SoCs in general have small SRAM, on which a tiny firmware or a boot loader can run before SDRAM is initialized. As UniPhier SoCs do not have any dedicated SRAM accessible from CPUs, the locked outer cache is used instead. Due to the ARM specification, to have access to the outer cache, the MMU must be enabled. This is done for all CPU cores by the program hard-wired in the boot ROM. The boot ROM code loads a small amount of program (this is usually SPL of U-Boot) from a non-volatile device onto the locked outer cache, and the primary CPU jumps to it. The secondary CPUs stay in the boot ROM until they are kicked by the primary CPU. [2] CPUs can not directly jump to SDRAM address space As mentioned above, the MMU is enable for all the CPUs with the page table hard-wired in the boot ROM. Unfortunately, the page table only has minimal sets of valid sections; all the sections of SDRAM address space are zero-filled. That means all the CPUs, including secondary ones, can not jump directly to SDRAM address space. So, the primary CPU must bring up secondary CPUs to accessible address mapped onto the outer cache, then again kick them to SDRAM address space. Before this commit, this complex task was done with help of a boot loader (U-Boot); U-Boot SPL brings up the secondary CPUs to the entry of U-Boot SPL and they stay there until they are kicked by Linux. This is not nice because a boot loader must put the secondary CPUs into a certain state expected by the kernel. It makes difficult to port another boot loader because the boot loader and the kernel must work in sync to wake up the secondary CPUs. This commit reworks the SMP operations so that they do not rely on particular boot loader implementation; the SMP operations (platsmp.c) put trampoline code (headsmp.S) on a locked way of the outer cache. The secondary CPUs jump from the boot ROM to secondary_entry via the trampoline code. The boot loader no longer needs to take care of SMP. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e7ecbc057bc5cffb8ad10b6bf7a80684fd426d23 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 2 13:42:19 2015 +0900 ARM: uniphier: add outer cache support This commit adds support for UniPhier outer cache controller. All the UniPhier SoCs are equipped with the L2 cache, while the L3 cache is currently only integrated on PH1-Pro5 SoC. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ababae44108b0e94b58eef6cb5bd830bd040a47f Author: Werner Pawlitschko <werner.pawlitschko@xxxxxxxx> Date: Tue Oct 27 09:08:04 2015 +0900 x86/ioapic: Prevent NULL pointer dereference in setup_ioapic_dest() Commit 4857c91f0d19 changed the way how irq affinity is setup in setup_ioapic_dest() from using the core helper function to unconditionally calling the irq_set_affinity() callback of the underlying irq chip. That results in a NULL pointer dereference for the rare case where the underlying irq chip is lapic_chip which has no irq_set_affinity() callback. lapic_chip is occasionally used for the timer interrupt (irq 0). The fix is simple: Check the availability of the callback instead of calling it unconditionally. Fixes: 4857c91f0d19 "x86/ioapic: Force affinity setting in setup_ioapic_dest()" Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit cf516d08eceb4c442f0f2f1a73ebf994b1dbf0ed Merge: 047e664 32b8819 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 09:13:38 2015 +0900 Merge 4.3-rc7 into staging-next We want the other staging patches in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8713181dced9b2d0c2a99613449b9e45b656df83 Merge: 17e2aa0 324e84c Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Oct 27 08:51:50 2015 +0900 Merge branch 'for-upstream/juno-pcie' of git://linux-arm.org/linux-ld into next/arm64 * 'for-upstream/juno-pcie' of git://linux-arm.org/linux-ld: arm64: defconfig: Enable PCI generic host bridge by default arm64: Juno: Add support for the PCIe host bridge on Juno R1 Documentation: of: Document the bindings used by Juno R1 PCIe host bridge Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit da4689c0263ee5f4eee64e166a6bee6a68b9242e Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Oct 27 08:36:08 2015 +0900 iommu/vt-d: Expose struct svm_dev_ops without CONFIG_INTEL_IOMMU_SVM The point in providing an inline version of intel_svm_bind_mm() which just returns -ENOSYS is that people are supposed to be able to *use* it and just see that it fails. So we need to let them have a definition of struct svm_dev_ops (and the flags) too. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 858e904bd71dd0057a548d6785d94ce5ec4aeabd Merge: ce6f988 cbf3ccd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 07:44:13 2015 +0900 Merge tag 'iommu-fixes-v4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull iommu fixes from Joerg Roedel: "Two late fixes for the AMD IOMMU driver: - add an additional check to the io page-fault handler to avoid a BUG_ON being hit in handle_mm_fault() - fix a problem with devices writing to the system management area and were blocked by the IOMMU because the driver wrongly cleared out the DTE flags allowing that access" * tag 'iommu-fixes-v4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/amd: Don't clear DTE flags when modifying it iommu/amd: Fix BUG when faulting a PROT_NONE VMA commit ce6f9886037f5566cb8e440b9caa5e7d7334e53b Merge: 896066e 8bce6d3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 07:41:48 2015 +0900 Merge tag 'md/4.3-rc6-fixes' of git://neil.brown.name/md Pull md fixes from Neil Brown: "Some raid1/raid10 fixes. I meant to get this to you before -rc7, but what with all the travel plans.. Two fixes for bugs that are in both raid1 and raid10. Both related to bad-block-lists and at least one needs to be back ported to 3.1. Also a revision for the "new" layout in raid10. This "new" code (which aims to improve robustness) actually reduces robustness in some cases. It probably isn't in use at all as not public user-space code makes use of these new layouts. However just in case someone has their own code, it would be good to get the WARNing out for them sooner" * tag 'md/4.3-rc6-fixes' of git://neil.brown.name/md: md/raid10: fix the 'new' raid10 layout to work correctly. md/raid10: don't clear bitmap bit when bad-block-list write fails. md/raid1: don't clear bitmap bit when bad-block-list write fails. md/raid10: submit_bio_wait() returns 0 on success md/raid1: submit_bio_wait() returns 0 on success commit 896066ee1cf4d653057dac4e952f49c96ad16fa7 Merge: 85051e2 22ca7ca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 27 07:40:01 2015 +0900 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Last fixes from me: one amdgpu/radeon suspend resume and one leak fix, along with one vmware fix for some issues when command submission fails" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/amdgpu: don't try to recreate sysfs entries on resume drm/radeon: don't try to recreate sysfs entries on resume drm/amdgpu: stop leaking page flip fence drm/vmwgfx: Stabilize the command buffer submission code commit 04850c4d8613127a9b488321c0ad83bff7519311 Author: Han Xu <b45815@xxxxxxxxxxxxx> Date: Fri Oct 23 13:18:28 2015 -0500 mtd: fsl-quadspi: fix macro collision problems with READ/WRITE Change the READ/WRITE to FSL_READ/FSL_WRITE to resolve any possible namespace collisions with READ/WRITE macros (e.g., from <linux/fs.h>). Problems have been seen, for example, on mips: >> drivers/mtd/spi-nor/fsl-quadspi.c:186:5: error: 'LUT_0' undeclared (first use in this function) ((LUT_##ins) << INSTR0_SHIFT)) ^ >> drivers/mtd/spi-nor/fsl-quadspi.c:188:30: note: in expansion of macro 'LUT0' On SPARC: drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_init_lut': drivers/mtd/spi-nor/fsl-quadspi.c:369:1: error: 'LUT_0' undeclared (first use in this function) drivers/mtd/spi-nor/fsl-quadspi.c:418:1: error: pasting "LUT_" and "(" does not give a valid preprocessing token drivers/mtd/spi-nor/fsl-quadspi.c:418:2: error: implicit declaration of function 'LUT_' And surely on others. Fixes: d26a22d06708 ("mtd: fsl-quadspi: allow building for other ARCHes with COMPILE_TEST") Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Han Xu <b45815@xxxxxxxxxxxxx> [Brian: rewrote commit description] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 67afc2110a84872aa6aae44ce6b2ea6534db1438 Author: Daniel Granat <d.granat@xxxxxxxxxxx> Date: Fri Oct 23 17:31:06 2015 +0200 coccinelle: Improve checking for missing NULL terminators Extend checking on tables containing structures which are initialized without specifying member name. Added new tables for checking: i2c_device_id and platform_device_id. Signed-off-by: Daniel Granat <d.granat@xxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 4743775c6de44b3c36e15bcab2dee928b6361a16 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Oct 26 22:28:26 2015 +0100 coccinelle: ifnullfree: handle various destroy functions Extend ifnullfree to the various destroy functions that were recently extended to tolerate NULL arguments. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ca047e715c638eacf58cb830c3ef36cecc45c3f8 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Oct 26 22:28:25 2015 +0100 coccinelle: ifnullfree: various cleanups Adjust tests to compare against NULL, to match cases that explicitly make that comparison. Remove removal and re-addition of freeing functions. Add position variable on usb_free_urb in the non-patch case. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 41167d072b8626ed14e80241c71beb99ac65db53 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Oct 22 22:11:59 2015 +0200 cocinelle: iterators: semantic patch to delete unneeded of_node_put Device node iterators perform an of_node_put on each iteration, so putting an of_node_put before a continue results in a double put. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 63a478fbc05cb0627b0a33a69f3aed8dcb965953 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Sep 28 02:34:40 2015 +0100 deb-pkg: Add automatic support for armhf architecture The Debian armhf architecture uses the ARM EABI hard-float variant, whereas armel uses the soft-float variant. Although the kernel doesn't use FP itself, CONFIG_VFP must be enabled to support hard-float userland and will probably be disabled when supporting a soft-float userland. So set the architecture to armhf by default when CONFIG_AEABI and CONFIG_VFP are both enabled. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Acked-by: Ian Campbell <ijc@xxxxxxxxxxxxxx> Acked-by: Fathi Boudra <fathi.boudra@xxxxxxxxxx> Reviewed-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit be0dbff8b46d69bd738f63b4fe0cf64417f776b0 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jun 1 16:17:20 2015 -0700 mtd: warn when registering the same master many times When CONFIG_MTD_PARTITIONED_MASTER=y, it is fatal to call mtd_device_parse_register() twice on the same MTD, as we try to register the same device/kobject multipile times. When CONFIG_MTD_PARTITIONED_MASTER=n, calling mtd_device_parse_register() is more of just a nuisance, as we can mostly navigate around any conflicting actions. But anyway, doing so is a Bad Thing (TM), and we should complain loudly for any drivers that try to do this. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> commit 3e00ed0e984bbec47f5e531bad3cf36885aa5d83 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jun 1 16:17:19 2015 -0700 mtd: fixup corner case error handling in mtd_device_parse_register() Since commit 3efe41be224c ("mtd: implement common reboot notifier boilerplate"), we might try to register a reboot notifier for an MTD that failed to register. Let's avoid this by making the error path clearer. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> commit 7c2aa6116b5bdc0cc09ae5917ea0b5ef3cc45cec Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 17 11:35:46 2015 +0200 scripts/coccinelle: fix typos Fix a couple spelling mistakes. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit cbd3e2493ca359131f412133bc57407a974285e6 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 23 12:56:51 2015 -0400 drm/radeon/dce4+: optimize pageflip (v2) Taking the grph update lock is only necessary when updating the the secondary address (for single pipe stereo). v2: fix comment as per Michel's suggestion Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1a617a8475e8509255cc77f88c148095f4cc05ba Author: Johan Hovold <johan@xxxxxxxxxx> Date: Wed Sep 30 18:37:27 2015 -0400 coccinelle: misc: remove "complex return code" warnings This effectively reverts 932058a5d5f9 ("coccinelle: misc: semantic patch to delete overly complex return code processing"). There can be both symmetry and readability reasons for not wanting to do the final function call as part of the return statement and to maintain a clear separation of success and error paths. Since this is in no way mandated by the coding standard, let's just remove this semantic patch to avoid having "clean up" patches being posted over and over in response to these Coccinelle warnings. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 182475b7a2831abf7e6ca83b2aced0bef5dcdfd3 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Oct 26 16:55:56 2015 -0400 memremap: fix highmem support Currently memremap checks if the range is "System RAM" and returns the kernel linear address. This is broken for highmem platforms where a range may be "System RAM", but is not part of the kernel linear mapping. Fallback to ioremap_cache() in these cases, to let the arch code attempt to handle it. Note that ARM ioremap will WARN when attempting to remap ram, and in that case the caller needs to be fixed. For this reason, existing ioremap_cache() usages for ARM are already trained to avoid attempts to remap ram. The impact of this bug is low for now since the pmem driver is the only user of memremap(), but this is important to fix before more conversions to memremap arrive in 4.4. Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reported-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 5b169108571e0ada22f9b9f5448a2e4fefb5faa6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 22 15:15:30 2015 +0200 Coccinelle: fix incorrect -include option transformation kbuild/gcc uses -include option to include files and -I to provide paths for #include <> directive. In case of spatch latter option should be prefixed with two -. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit af30c0a00aa0d086a820c2ec75544c07611834d7 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 22 20:29:54 2015 +0530 mtd: tests: Replace timeval with ktime_t Changes the 32-bit time type timeval to the 64-bit time type ktime_t, since 32-bit systems using struct timeval will break in the year 2038. Correspondingly change do_gettimeofday() to ktime_get() since ktime_get returns a ktime_t, but do_gettimeofday returns a struct timeval.Here, ktime_get() is used instead of ktime_get_real() since ktime_get() uses monotonic clock. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e278fc71b2c63905d3631b8d7b12ab7bcba9d2be Author: Stefan Roese <sr@xxxxxxx> Date: Mon Oct 19 08:40:13 2015 +0200 mtd: fsmc_nand: Add BCH4 SW ECC support for SPEAr600 This patch adds support for 4-bit ECC BCH4 for the SPEAr600 SoC. This can be used by boards equipped with a NAND chip that requires 4-bit ECC strength. The SPEAr600 HW ECC only supports 1-bit ECC strength. To enable SW BCH4, you need to specify this in your nand controller DT node: nand-ecc-mode = "soft_bch"; nand-ecc-strength = <4>; nand-ecc-step-size = <512>; Tested on a custom SPEAr600 board. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> [Brian: tweaked the comments a bit] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 48c25cf441182e629e52e7f9fa56c2019e75fb00 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 29 14:11:56 2015 -0700 mtd: nand: vf610_nfc: use nand_check_erased_ecc_chunk() helper Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> commit b70af9bef49bd9a5f4e7a2327d9074e29653e665 Author: Alex Smith <alex.smith@xxxxxxxxxx> Date: Tue Oct 6 14:52:07 2015 +0100 mtd: nand: increase ready wait timeout and report timeouts If nand_wait_ready() times out, this is silently ignored, and its caller will then proceed to read from/write to the chip before it is ready. This can potentially result in corruption with no indication as to why. While a 20ms timeout seems like it should be plenty enough, certain behaviour can cause it to timeout much earlier than expected. The situation which prompted this change was that CPU 0, which is responsible for updating jiffies, was holding interrupts disabled for a fairly long time while writing to the console during a printk, causing several jiffies updates to be delayed. If CPU 1 happens to enter the timeout loop in nand_wait_ready() just before CPU 0 re- enables interrupts and updates jiffies, CPU 1 will immediately time out when the delayed jiffies updates are made. The result of this is that nand_wait_ready() actually waits less time than the NAND chip would normally take to be ready, and then read_page() proceeds to read out bad data from the chip. The situation described above may seem unlikely, but in fact it can be reproduced almost every boot on the MIPS Creator Ci20. Therefore, this patch increases the timeout to 400ms. This should be enough to cover cases where jiffies updates get delayed. In nand_wait() the timeout was previously chosen based on whether erasing or programming. This is changed to be 400ms unconditionally as well to avoid similar problems there. nand_wait() is also slightly refactored to be consistent with nand_wait{,_status}_ready(). These changes should have no effect during normal operation. Debugging this was made more difficult by the misleading comment above nand_wait_ready() stating "The timeout is caught later" - no timeout was ever reported, leading me away from the real source of the problem. Therefore, a pr_warn() is added when a timeout does occur so that it is easier to pinpoint similar problems in future. Signed-off-by: Alex Smith <alex.smith@xxxxxxxxxx> Signed-off-by: Harvey Hunt <harvey.hunt@xxxxxxxxxx> Reviewed-by: Niklas Cassel <niklas.cassel@xxxxxxxx> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Niklas Cassel <niklas.cassel@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 02da7b42777c159c6897e233e6c53d5581c07dab Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Aug 30 22:18:14 2015 +0200 coccinelle: tests: improve odd_ptr_err.cocci The original version only considered the case where the then branch contains only one call to PTR_ERR. Reimplement the whole thing to allow multiple calls, with potentially different arguments. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 74a8478f9ea2b3e70640a64db8acd54d4225a2c4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Sep 4 21:27:51 2015 +0200 coccinelle: misc: move constants to the right Move constants to the right in binary operators. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit c23a5847695dbda865fdb032a25b7f95a1438042 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Oct 24 18:55:24 2015 +0200 clk: lpc18xx-cgu: fix potential system hang when disabling unused clocks The clock consumer (CCU) of the CGU must be able to check if a CGU base clock is really running since access to the CCU registers requires a running base clock. Access with a disabled base clock will cause the system to hang. Fix this issue by adding code that check if the parent clock is running in the is_enabled clk_ops callback. Since certain clocks can be cascaded this must be added to all clock gates. The hang would occur if the boot ROM or boot loader didn't setup and enable the USB0 clock. Then when the clk framework tried to access the CCU register it would hang the system. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2a9a06f98f26654d3b07482319ea0be276689f0b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Oct 24 18:55:23 2015 +0200 clk: lpc18xx-ccu: fix potential system hang when disabling unused clocks CCU branch clock register must only be accessed while the base (parent) clock is running. Access with a disabled base clock will cause the system to hang. Fix this issue by adding code that check if the parent clock is running in the is_enabled clk_ops callback. This hang would occur when disabling unused clocks after AMBA runtime pm had already disabled some of the clocks. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit be68bf883170b3e4123fc4ff3745e38fb45a573e Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Oct 24 18:55:22 2015 +0200 clk: Add clk_hw_is_enabled() for use by clk providers Add clk_hw_is_enabled() to the provider APIs so clk providers can use a struct clk_hw instead of a struct clk to check if a clk is enabled or not. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 679c51cffc3b316bd89ecc91ef92603dd6d4fc68 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 26 11:55:34 2015 -0700 clk: Add stubs for of_clk_*() APIs when CONFIG_OF=n Compiling the versatile clock driver with COMPILE_TEST=y and CONFIG_OF=n leads to the following error: drivers/clk/versatile/clk-sp810.c: In function 'clk_sp810_of_setup': drivers/clk/versatile/clk-sp810.c:103:6: error: implicit declaration of function 'of_clk_parent_fill' [-Werror=implicit-function-declaration] Silence it by providing stubs APIs for of_clk_parent_fill(). Throw in a stub for of_clk_get_parent_count() too because we're in the area. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2382960793c2480277ae98a891ea5aa566e06ff1 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Oct 19 13:20:05 2015 +0300 mtd: docg3: off by one in doc_register_sysfs() Smatch found a bug in the error handling: drivers/mtd/devices/docg3.c:1634 doc_register_sysfs() error: buffer overflow 'doc_sys_attrs' 4 <= 4 The problem is that if the very last device_create_file() fails, then we are beyond the end of the array. Actually, any time i == 3 then there is a problem. We can fix this an simplify the code at the same time by moving the !ret conditions out of the for loops and using a goto instead. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 89c1702da717164fcff633594e130f54dd563499 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 10:29:04 2015 +0200 mtd: pxa3xx_nand: clean up the pxa3xx timings With the previous modifications, lots of pxa3xx specific definitions can be removed. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f19fe9833d3cb7d95ccd4da6bd83de1d4c77592f Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 10:29:03 2015 +0200 mtd: pxa3xx_nand: rework flash detection and timing setup Rework the pxa3xx_nand driver to allow using functions exported by the nand framework to detect the flash and the timings. Then setup the timings using the helpers previously added. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f225b7f52c428e6dccfd28f4cdd93dfe1c936c4 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 10:29:02 2015 +0200 mtd: pxa3xx_nand: add helpers to setup the timings Add helpers to setup the timings in the pxa3xx driver. These helpers allow to either make use of the nand framework nand_sdr_timings or the pxa3xx specific pxa3xx_nand_host, for compatibility reasons. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ab53a571a4777c36324a030a632281daaf505118 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 10:29:00 2015 +0200 mtd: pxa3xx_nand: fix some compile issues on non-ARM arches Using readsl() result in a build error on i386. Fix this by using ioread32_rep() instead, to allow compile testing the pxa3xx nand driver on other architectures later. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 01b19455c08cc37d1c3ef174524278e84c92fec1 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Oct 25 00:49:26 2015 +0900 perf tools: Setup pager when printing usage and help It's annoying to see error or help message when command has many options like in perf record, report or top. So setup pager when print parser error or help message - it should be OK since no UI is enabled at the parsing time. The usage_with_options() already disables it by calling exit_browser() anyway. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445701767-12731-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b272a59d835cd8ca6b45f41c66c61b473996c759 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Oct 25 00:49:25 2015 +0900 perf report: Rename to --show-cpu-utilization So that it can be more consistent with other --show-* options. The old name (--showcpuutilization) is provided only for compatibility. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445701767-12731-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5f4a6932ec2e1a53642e97a1be64bc7b169942f Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Sun Oct 25 00:49:24 2015 +0900 perf tools: Improve ambiguous option help message Currently if an option name is ambiguous it only prints first two matched option names but no help. It'd be better it could show all possible names and help messages too. Before: $ perf report --show Error: Ambiguous option: show (could be --show-total-period or --show-ref-call-graph) Usage: perf report [<options>] After: $ perf report --show Error: Ambiguous option: show (could be --show-total-period or --show-ref-call-graph) Usage: perf report [<options>] -n, --show-nr-samples Show a column with the number of samples --showcpuutilization Show sample percentage for different cpu modes -I, --show-info Display extended information about perf.data file --show-total-period Show a column with the sum of periods --show-ref-call-graph Show callgraph from reference event Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445701767-12731-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c0963772cbbf1b7dc9fad4497f3aba8526bb07d6 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Sun Oct 25 18:24:38 2015 +0200 rtl8xxxu: fix unused rtl8192cu_fops compiler warning kbuild reported: rtl8xxxu.c:5786:32: warning: â??rtl8192cu_fopsâ?? defined but not used [-Wunused-variable] Fix it by adding temporary ifdefs around the static functions. Fixes: 033695bdf6d7 ("rtl8xxxu: move devices supported by rtlwifi under UNTESTED config") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d9684bb5b3ef83e22a7270341e722f1acc1d97e5 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 26 16:54:16 2015 +0100 ALSA: hda/ca0132 - Convert leftover pr_info() and pr_err() Use codec_*() macro instead of pr_*() for improving the log information. The current form even slips from alsa-info.sh. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a7cedab6ccd7f02c86476ae52760a5d0482806fa Author: Lokesh Vutla <lokeshvutla@xxxxxx> Date: Tue Oct 20 16:50:06 2015 -0500 mmc: omap_hsmmc: Enable omap_hsmmc for Keystone 2 Enable omap_hsmmc for Keystone 2 architecture which reuses the HSMMC IP found on OMAP platforms. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e839b134761444e5988d5eee1ef54a0ff2327344 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 21 11:15:46 2015 +0300 mmc: sdhci-acpi: Add more ACPI HIDs for Intel controllers Add ACPI HIDs for Intel host controllers including one supporting HS400. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4fd4c0655b82b0f81841b915ef1e70e2141d4a38 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Oct 21 11:15:45 2015 +0300 mmc: sdhci-pci: Add more PCI IDs for Intel controllers Add PCI IDs for Intel host controllers Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b3b78f2cb2eeca47f3b81dd795fd341a337363c4 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:43:01 2015 +0800 arm: lpc18xx_defconfig: remove CONFIG_MMC_DW_IDMAC DesignWare MMC Controller's transfer mode should be decided at runtime instead of compile-time. So we remove this config option and read dw_mmc's register to select DMA master. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fdd36e530e0f29b86aaa2013e0d9dee0964ecf6f Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:42:49 2015 +0800 arm: hisi_defconfig: remove CONFIG_MMC_DW_IDMAC DesignWare MMC Controller's transfer mode should be decided at runtime instead of compile-time. So we remove this config option and read dw_mmc's register to select DMA master. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 391ce1e0eb0af2cb5d85273a142061fb77ecf135 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:42:37 2015 +0800 arm: exynos_defconfig: remove CONFIG_MMC_DW_IDMAC DesignWare MMC Controller's transfer mode should be decided at runtime instead of compile-time. So we remove this config option and read dw_mmc's register to select DMA master. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 005a5243aab6a2d45910233593bf9cba4f207bf2 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:42:20 2015 +0800 arc: axs10x_defconfig: remove CONFIG_MMC_DW_IDMAC DesignWare MMC Controller's transfer mode should be decided at runtime instead of compile-time. So we remove this config option and read dw_mmc's register to select DMA master. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b13af8f9685e85d0a0939aae8c5fce53f8e90186 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:42:05 2015 +0800 mips: pistachio_defconfig: remove CONFIG_MMC_DW_IDMAC DesignWare MMC Controller's transfer mode should be decided at runtime instead of compile-time. So we remove this config option and read dw_mmc's register to select DMA master. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Acked-by: Govindraj Raja <govindraj.raja@xxxxxxxxxx> Acked-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 87ffa7d30d0be24f4bcf08005f145903c5ef55b7 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:41:50 2015 +0800 Documentation: synopsys-dw-mshc: add bindings for idmac and edmac synopsys-dw-mshc supports three types of transfer mode. We add bindings and description for how to use them at runtime. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 70692752af12e2dbae48685b1d07fe7bdb2fab31 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:41:37 2015 +0800 mmc: dw_mmc: use macro for HCON register operations This patch add some macros for HCON register operations to make code more readable. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3fc7eaef44dbcbcd602b6bcd0ac6efba7a30b108 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Wed Sep 16 14:41:23 2015 +0800 mmc: dw_mmc: Add external dma interface support DesignWare MMC Controller can supports two types of DMA mode: external dma and internal dma. We get a RK312x platform integrated dw_mmc and ARM pl330 dma controller. This patch add edmac ops to support these platforms. I've tested it on RK31xx platform with edmac mode and RK3288 platform with idmac mode. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9e4703df3aa9829a84d6ccf19c6062ba19a8de71 Author: yangbo lu <yangbo.lu@xxxxxxxxxxxxx> Date: Fri Oct 16 15:44:03 2015 +0800 mmc: sdhci-of-esdhc: avoid writing power control register The eSDHC doesn't have a standard power control register, so when writing this register in stack we should do nothing to avoid incorrect operation. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a599579ee8e32daebdfa4d97b24389c680ef5789 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 01:40:16 2015 +0300 DT: mmc: sh_mmcif: document R8A7794 support Renesas R8A7794 SoC also has the MMCIF controller. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 76d63c2b59d4a1481bedc65a3ef25e9d1354dca3 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 01:39:39 2015 +0300 DT: mmc: sh_mmcif: fix "compatible" property text The "compatible" property text contradicts even the example given in the MMCIF binding document itself; moreover, the Renesas MMCIF driver only matches on the generic "compatible" string and doesn't look for the SoC specific strings at all. Thus describe "renesas,sh-mmcif" as a fallback value. Fixes: b4c27763d749 ("mmc: sh_mmcif: Document DT bindings") Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2860d060ac902df0164cc9580f843b101e27a2c6 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:53:03 2015 +0300 mmc: skip reclaiming host on mmc_add_card() error There's little sense in releasing the host on mmc_add_card() error immediately after reclaiming it, so reclaim the host only in case of success. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7f8a9a7e98f99e9cd874eaf6ca2f00438c2a7c38 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Oct 10 17:08:32 2015 +0100 mmc: android-goldfish: Allow compiling the driver with COMPILE_TEST The driver depends on GOLDFISH but there isn't a build dependency so it's a good idea to allow the driver to always be built when the COMPILE_TEST option is enabled. That way, the driver can be built with a config generated by make allyesconfig and check if a patch would break the build. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c41d31f71d8889919d2f3becbccd6d2d7a3bd243 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Oct 12 14:48:30 2015 +0200 ARM: dts: rockchip: add tuning related settings to veyron devices This allows the tuning code to run and use higher speeds on capable cards. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f71ddc5873cb90ffb217de50aed8bdd2fb00fc9f Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Mon Oct 12 14:48:29 2015 +0200 ARM: dts: rockchip: Add drive/sample clocks for rk3288 dw_mmc devices The drive/sample clocks can be phase shifted. The drive clock could be used in a future patch to adjust hold times. The sample clock is used for tuning. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit cbb79e43c82635840cdcbf71b1d1c374e2c3a025 Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Mon Oct 12 14:48:28 2015 +0200 mmc: dw_mmc-rockchip: MMC tuning with the clock phase framework This algorithm will try 1 degree increments, since there's no way to tell what resolution the underlying phase code uses. As an added bonus, doing many tunings yields better results since some tests are run more than once (ex: if the underlying driver uses 45 degree increments, the tuning code will try the same angle more than once). It will then construct a list of good phase ranges (even ranges that cross 360/0), will pick the biggest range then it will set the sample_clk to the middle of that range. We do not touch ciu_drive (and by extension define default-drive-phase). Drive phase is mostly used to define minimum hold times, while one could write some code to determine what phase meets the minimum hold time (ex 10 degrees) this will not work with the current clock phase framework (which floors angles, so we'll get 0 deg, and there's no way to know what resolution the floors happen at). We assume that the default drive angles set by the hardware are good enough. If a device has device specific code (like exynos) then that will still take precedence, otherwise this new code will execute. If the device wants to tune, but has no sample_clk defined we'll return EIO with an error message. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f8085bbada3b124b5b39b61bb1a7a0a78c24604b Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Mon Oct 12 14:48:27 2015 +0200 mmc: dw_mmc-rockchip: dt-binding: Add tuning related things Add ciu_drive, ciu_sample clocks and default-sample-phase. This will later be used by tuning code. We do not touch ciu_drive (and by extension define default-drive-phase). Drive phase is mostly used to define minimum hold times, while one could write some code to determine what phase meets the minimum hold time (ex 10 degrees) this will not work with the current clock phase framework (which floors angles, so we'll get 0 deg, and there's no way to know what resolution the floors happen at). We assume that the default drive angles set by the hardware are good enough. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e0848f5d294c703917260a6228cc08b8be46c527 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Mon Oct 12 14:48:26 2015 +0200 mmc: dw_mmc: Use mmc_regulator_set_vqmmc in start_signal_voltage_switch We've introduced a new helper in the MMC core: mmc_regulator_set_vqmmc(). Let's use this in dw_mmc. Using this new helper has some advantages: 1. We get the mmc_regulator_set_vqmmc() behavior of trying to match VQMMC and VMMC when the signal voltage is 3.3V. This ensures max compatibility. 2. We get rid of a few more warnings when probing unsupported voltages. 3. We get rid of some non-dw_mmc specific code in dw_mmc. Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2086f801cb2a796279e817e68255654c4cfd3be3 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Mon Oct 12 14:48:25 2015 +0200 mmc: core: Add mmc_regulator_set_vqmmc() This adds logic to the MMC core to set VQMMC. This is expected to be called by MMC drivers like dw_mmc as part of (or instead of) their start_signal_voltage_switch() callback. A few notes: * When setting the signal voltage to 3.3V we do our best to make VQMMC and VMMC match. It's been reported that this makes some old cards happy since they were tested back in the day before UHS when VQMMC and VMMC were provided by the same regulator. A nice side effect of this is that we don't end up on the hairy edge of VQMMC (2.7V), which some EEs claim is a little too close to the minimum for comfort. This is done in two steps. At first we try to find a VQMMC within a 0.3V tolerance of VMMC and if this is not supported by the supplying regulator we try to find a suitable voltage within the whole 2.7V-3.6V area of the spec. * The two step approach is currently necessary, as the used regulator_set_voltage_triplet(min, target, max) uses a simple implementation that just tries two basic steps: regulator_set_voltage(target, max); regulator_set_voltage(min, target); So with only one step with 2.7-3.6V borders, if a suitable voltage is a bit below VMMC, we would directly get the lowest 2.7V which some boards (like Rockchips) don't like at all. * When setting the signal voltage to 1.8V or 1.2V we aim for that specific voltage instead of picking the lowest one in the range. * We very purposely don't print errors in mmc_regulator_set_vqmmc(). There are cases where the MMC core will try several different voltages and we don't want to pollute the logs. Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 310c805e7f133443cd57f880b73557a4a8f54b30 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Oct 12 18:00:54 2015 +0200 mmc: core: move ocr-bit to voltage translation into separate function We will shortly need the calculation of an ocr-bit to the actual voltage in a second place too, so move it from mmc_regulator_set_ocr to a common function mmc_ocrbitnum_to_vdd to make that possible. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9eadcc0581a8ccaf4c2378aa1c193fb164304f1d Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Oct 2 10:56:11 2015 +0200 mmc: core: Remove MMC_CLKGATE MMC_CLKGATE was once invented to save power by gating the bus clock at request inactivity. At that time it served its purpose. The modern way to deal with power saving for these scenarios, is by using runtime PM. Nowadays, several host drivers have deployed runtime PM, but for those that haven't and which still cares power saving at request inactivity, it's certainly time to deploy runtime PM as it has been around for several years now. To simplify code to mmc core and thus decrease maintenance efforts, this patch removes all code related to MMC_CLKGATE. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a22950c888e3770c958a5c489906b48d3764a783 Author: yangbo lu <yangbo.lu@xxxxxxxxxxxxx> Date: Thu Oct 8 18:36:57 2015 +0800 mmc: sdhci-of-esdhc: add quirk SDHCI_QUIRK_BROKEN_TIMEOUT_VAL for ls1021a Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2ca635242ec40c8d575e337a0b2b0a1928ad6581 Author: yangbo lu <yangbo.lu@xxxxxxxxxxxxx> Date: Thu Oct 8 18:36:47 2015 +0800 mmc: kconfig: reconfigure MMC_SDHCI_OF_ESDHC option Freescale eSDHC driver now supports both little-endian and big-endian mode eSDHC IPs for ARM and PPC. So, MMC_SDHCI_OF_ESDHC option needs to be reconfigured. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f4932cfd22f151af19d552c0ee607b2fb9c41b53 Author: yangbo lu <yangbo.lu@xxxxxxxxxxxxx> Date: Thu Oct 8 18:36:36 2015 +0800 mmc: sdhci-of-esdhc: support both BE and LE host controller To support little endian eSDHC controller, we redefine both BE and LE IO accessors. In the new accessors, use ioread*/iowrite* instead of in_be32/out_be32 and will select accessors according to endian mode in probe function. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e38eeca5c23389f9a606e4847f0f9731b2e889f2 Author: yangbo lu <yangbo.lu@xxxxxxxxxxxxx> Date: Thu Oct 8 18:36:23 2015 +0800 mmc: dt: add DT binding for little-endian eSDHC host controller Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 06bf9c565444643ce2732f8a297f76b953acde6b Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Oct 6 10:26:21 2015 +0300 mmc: sdhci-pci: Add another PCI ID for an Intel eMMC host controller Add another PCI ID for an Intel eMMC host controller. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4351f19a337d48a780762d076408ebe9b0c1f945 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Wed Sep 30 16:07:38 2015 +0200 clk: rockchip: Make calculations use rounding Let's use DIV_ROUND_CLOSEST for rounding, not just truncating division. This lets us get closer to the right rate. Before this: set_phase(86) delay_nums=26 reg[0xf000420c]=0x468 actual_degrees=83 set_phase(89) delay_nums=27 reg[0xf000420c]=0x46c actual_degrees=86 After this: set_phase(86) delay_nums=27 reg[0xf000420c]=0x46c actual_degrees=86 set_phase(89) delay_nums=28 reg[0xf000420c]=0x470 actual_degrees=90 Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f0232063fb64fc79bfb7b6b35d611b2e4a79ffe6 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Wed Sep 30 16:07:37 2015 +0200 clk: rockchip: Allow more precision for some mmc clock phases Because of the inexact nature of the extra MMC delay elements (it's not possible to keep the phase monotonic and to also make phases (mod 90) > 70), we previously only allowed phases (mod 90) of 22.5, 45, and 67.5. But it's not the end of the world if the MMC clock phase goes non-monotonic. At most we'll be 25 degrees off. It's way better to test more phases to look for bad ones than to be 25 degrees off, because in the case of MMC really the point is to find bad phases and get as far asway from the as possible. If we get to test extra phases by going slightly non-monotonic then that might be fine. Worst case we would end up at a phases that's slight differnt than the one we wanted, but at least we'd still be quite far away from the a bad phase. Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Fold in more precise variance-values of 44-77 instead of 40-80. Fold in the actual removal of the monotonic requirement and adapt patch message accordingly. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7582041ff3d4aaa348894858d6384c4a9981c5fc Author: kbuild test robot <lkp@xxxxxxxxx> Date: Tue Oct 6 04:01:04 2015 +0800 mmc: sdhci-pci: fix simple_return.cocci warnings drivers/mmc/host/sdhci-pci-core.c:447:1-4: WARNING: end returns can be simpified Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f0cbd7806d736d77714994cc41c5161c0a29cccf Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Oct 5 20:31:58 2015 +0100 mmc: sdhci-pci: Make sdhci_pci_o2_fujin2_pci_init() static It has no external callers. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 659c9bc114a810b3a3c1e50585cc57f1312a6d60 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Oct 5 20:31:18 2015 +0100 mmc: sdhci-pci: Build o2micro support in the same module sdhci-pci-o2micro.c contains no initialisation and its functions are only called from shdci-pci.c, so there is no reason for it to be a separate module, let alone or for it to always be built-in. - Rename sdhci-pci.c to sdhci-pci-core.c so that the sdhci-pci module can be built from multiple source files - Add sdhci-pci-o2micro.c to it - Remove redundant exports Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0de9125fa823e526c9f68dc0987aae342ec94cbd Author: Weijun Yang <york.yang@xxxxxxx> Date: Sun Oct 4 12:04:13 2015 +0000 mmc: sirf: fix the capbility to support DDR50 According to hardware spec, validate DDR50 mode for SDXC. Signed-off-by: Weijun Yang <york.yang@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9faac7b95ea4f9e83b7a914084cc81ef1632fd91 Author: Weijun Yang <york.yang@xxxxxxx> Date: Sun Oct 4 12:04:12 2015 +0000 mmc: sdhci: enable tuning for DDR50 CMD19 tuning is also available for DDR50 mode. Signed-off-by: Weijun Yang <york.yang@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4324f6de6d2eb9b232410eb0d67bfafdde8ba711 Author: Weijun Yang <york.yang@xxxxxxx> Date: Sun Oct 4 12:04:11 2015 +0000 mmc: core: enable CMD19 tuning for DDR50 mode As SD Specifications Part1 Physical Layer Specification Version 3.01 says, CMD19 tuning is available for unlocked cards in transfer state of 1.8V signaling mode. The small difference between v3.00 and 3.01 spec means that CMD19 tuning is also available for DDR50 mode. Signed-off-by: Weijun Yang <york.yang@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b093410c9aef29efbf2f4af7b00b2dcc1c119fe8 Author: Grant Grundler <grundler@xxxxxxxxxxxx> Date: Wed Sep 23 18:30:33 2015 -0700 mmc: block: copy resp[] data on err for MMC_IOC_MULTI_CMD MMC_IOC_CMD and MMC_IOC_MULTI_CMD ioctl() code currently bails on any eMMC errors. However, in case there is any resp[] data, we should attempt to copy resp[] back to user space. The user app can then determine which command(s) failed in the MMC_IOC_MULTI_CMD case AND/OR report better diagnostics in both cases. Gwendal Grignou provided the idea and it was previously implemented and tested on v3.18 ChromeOS kernel: https://chromium-review.googlesource.com/#/c/299956 Signed-off-by: Grant Grundler <grundler@xxxxxxxxxxxx> Reviewed-by: Hyung Taek Ryoo <hryoo@xxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Tested-by: David Riley <davidriley@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 85f45058eeef94fdc9f533cca8e17679e44f1177 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Thu Sep 24 08:13:43 2015 +0800 mmc: debugfs: implement ios show for SDR12 and SDR25 This patch add MMC_TIMING_UHS_SDR12 and MMC_TIMING_UHS_SDR25 for mmc_ios_show to show the ios->timing if mmc card runs under these two modes. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c1590dd86d6e34df214f30a501682e392be0ba3c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 17:30:26 2015 +0200 mmc: sunxi: Add card busy detection Some sdio wifi modules have not been working reliable with the sunxi-mmc host code. This turns out to be caused by starting new io-rw commands while the card signals that it is still busy processing a previous command. This commit adds card-busy detection to the sunxi-mmc driver which together with recent core changes to check card-busy before starting io-rw commands fixes the wifi reliability issues on the Cubietruck and other sunxi boards using sdio wifi. Reported-by: Eugene K <sigintmailru@xxxxxxxxx> Suggested-by: Eugene K <sigintmailru@xxxxxxxxx> Cc: Eugene K <sigintmailru@xxxxxxxxx> Cc: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5d3f6ef04d65dda92a3573841a7215fb05c347de Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 17:30:25 2015 +0200 mmc: Wait for card_busy before starting sdio requests Some sdio wifi chips will not work properly if we try to start new sdio-rw requests while the device is signalling that it is busy. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit de98c55682790437fb3c6b5335f2bf3ce20539db Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 17:30:24 2015 +0200 mmc: Add mmc_is_io_op helper function Add a helper function to check if an opcode is a sd-io-rw-* opcode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a5f5774c55a2e3ed75f4d6c5556b7bfcb726e6f0 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Tue Sep 22 10:27:53 2015 +0100 mmc: block: Add new ioctl to send multi commands Certain eMMC devices allow vendor specific device information to be read via a sequence of vendor commands. These vendor commands must be issued in sequence and an atomic fashion. One way to support this would be to add an ioctl function for sending a sequence of commands to the device atomically as proposed here. These multi commands are simple array of the existing mmc_ioc_cmd structure. The structure passed via the ioctl uses a __u64 type to specify the number of commands (so that the structure is aligned on a 64-bit boundary) and a zero length array as a header for list of commands to be issued. The maximum number of commands that can be sent is determined by MMC_IOC_MAX_CMDS (which defaults to 255 and should be more than sufficient). This based upon work by Seshagiri Holi <sholi@xxxxxxxxxx>. Signed-off-by: Seshagiri Holi <sholi@xxxxxxxxxx> Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit aaa58d0e932c518bdb1d9dc767876d7a8c68e17e Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Wed Sep 16 14:36:10 2015 +0800 mmc: sdhci-pltfm: enable interrupt mode to detect card for ls1021a Enable interrupt mode to detect card instead of polling mode for ls1021a by removing the quirk SDHCI_QUIRK_BROKEN_CARD_DETECTION. This could improve data transferring performance and avoid the call trace caused by polling card status sometime. Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ce037275861ea6c016ab88a6b884adb8c481db31 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:14:54 2015 +0200 mmc: pwrseq_simple: use GPIO descriptors array API The simple power sequence provider sets a value for multiple GPIOs in one go so it is better to use the API already provided by the GPIO descriptor API instead of open coding the same logic. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8131e815f723ec8fee018d6fa34348d61c0e54b8 Author: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Date: Tue Sep 22 14:00:44 2015 +0800 mmc: mediatek: Add MMC_CAP_RUNTIME_RESUME support Add MMC_CAP_RUNTIME_RESUME support to save resume time Drop unnecessary SDC_ARG write Signed-off-by: Chaotian Jing <chaotian.jing@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d1f23f9304f303e15200c8b7940eeeeb1a1c8c6a Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Tue Sep 22 09:20:08 2015 +0800 mmc: debugfs: implement ios show for driver type This patch add ios->drv_type for mmc_ios_show to show the card's driver type. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b73f34c22d283f049347f7f625c272ec22830eb3 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 23:50:25 2015 +0200 mmc: omap: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 774523539fff7bf34499b7b088dc8b2c0b4a04bc Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 23:49:59 2015 +0200 mmc: moxart: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e02b9d7cbfe1536aef9e7ba7751993d7eca6e829 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Thu Sep 17 15:09:54 2015 +0200 mmc: sdhci-pltfm: Use of_property_read_u32 instead of open-coding it Use of_property_read_u32 instead of of_get_property with return value checks and endianness conversion. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bf7241d02eb4704beeaa055cb027ba7b28344a0e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:12:07 2015 +0200 mmc: mmc_spi: Export OF module alias information Drivers needs to export the OF id table and this be built into the module or udev won't have the necessary information to autoload the driver module when the device is registered via OF. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 930d50f7fd49fe485d9126ffd26dcc0428d7920a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Sep 16 09:19:49 2015 +0300 mmc: sdhci-of-at91: remove a line of dead code The goto is correct and the unreachable "return -EINVAL" should be removed. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 14a7b416434a8076afb2dea8bb51c6514b41a47b Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Sep 15 18:32:58 2015 +0800 mmc: sdhci: call sdhci_init() before request irq sdhci_init() will clear all irqs and set the needed irqs. So logically sdhci_init() should be called before request irq. If not, some irqs may be triggled and handled wrongly. Take the following into consideration, after request irq, if SDIO card interrupt enabled, a sd card in the sd slot will trigger a mass of interrupt(SDHCI_INT_CARD_INT), because at this time, the vmmc-regulator still not restore, no voltage supply for the sd card, so the pin of data0~data3 change and keep low, interrupt(SDHCI_INT_CARD_INT) will rise up ceaselessly. Due to we already reguest irq, system will be busy in handling this endless irq, can't response to other event. So we should call sdhci_init() before request irq in sd resume. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 28804293b9086100ae784a15d62ebf6249db433c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:53:20 2015 +0200 mmc: sdhci-bcm-kona: fix logic to check for 8-bit data width The driver prints if the data width is 8-bit but it's using a binary OR instead of a binary AND so it will always report as "is_8bit=Y" regardless of the flags in host->mmc->caps. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a30b55119d086d33bd6046dfdd4723c810fd2579 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 14 14:00:35 2015 +0200 mmc: pwrseq: use gpiod_get() instead of index 0 The gpiod_get() function expands to gpiod_get_index() with index 0 so it's better to use it since is easier to read and more concise. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f90d2e4035d456cb20c0b784725d556eb4de4d8a Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Sep 15 15:19:45 2015 +0200 mmc: core: Convert __mmc_switch() into an internal core function As there are no users of the __mmc_switch() API, except for the mmc core itself, let's convert it from an exported function into an internal. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7eece8d0e436e1eabc6b0adb04872964afe20b35 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:30:04 2015 +0200 mmc: vub300: Remove unneded semicolons They aren't needed and are just creating null statements so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 17a90539710d090d7bfb736c071a94451dc09170 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:30:03 2015 +0200 mmc: wbsd: Remove unneded semicolon It's not needed an is just creating a null statement, so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bf8b8511af7721e6f81848a1fd1359716602f3b7 Author: Yousong Zhou <yszhou4tech@xxxxxxxxx> Date: Thu Sep 10 00:33:16 2015 +0800 mmc: sd: Remove superfluous error code assignment Signed-off-by: Yousong Zhou <yszhou4tech@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8d1ffc8c982e4480059ef735e8f15f631e40e80c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 11 14:41:55 2015 +0200 mmc: core: Keep host claimed while invoking mmc_power_off|up() As mmc_claim_host() invokes pm_runtime_get_sync() for the mmc host device, it's important that the host is kept claimed for *all* accesses to it via the host_ops callbacks. In some code paths for SDIO, particularly related to the PM support, mmc_power_off|up() is invoked without keeping the host claimed. Let's fix these. Moreover, mmc_start|stop_host() also invokes mmc_power_off|up() without claiming the host, let's fix these as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 0cd2f04453fcb7bf3f38a4a72d1619636b4afa57 Author: Michele Curti <michele.curti@xxxxxxxxx> Date: Sat Sep 5 08:49:52 2015 +0200 mmc: sdhci-acpi: detect sd card reader on asus x205ta Add an entry to the sdhci_acpi_uids list to detect the SD card reader on the Asus X205Ta laptop. dstd table: Device (SDHC) { Name (_ADR, Zero) // _ADR: Address Name (_HID, "PNP0FFF") // _HID: Hardware ID Name (_CID, "PNP0D40" /* SDA Standard Compliant SD Host Controller */) Name (_DDN, "Intel(R) SD Card Controller - 80860F16") // _DDN: DOS Dev Name (_UID, 0x03) // _UID: Unique ID Name (RDEP, Package (0x02) Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3924bac47abe2e789ffda39685aa9f70dcde02c7 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Oct 26 15:09:53 2015 +0100 i2c: cadence: enable driver for ARM64 This IP is available on Xilinx ZynqMP. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2b630df721ee4c286d286ab5d5d958d34c86f067 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Oct 26 13:26:56 2015 +0200 i2c: i801: Document Intel DNV and Broxton Add missing entries into i2c-i801 documentation and Kconfig about recently added Intel DNV and Broxton. Reported-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 4a322296680e560a8ff7eb05c1e58a8cf8497344 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 31 00:58:30 2015 +0200 mfd: rt5033: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the module aliases which already contains a "rt5033". So the alias is not needed. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9828ab4711d6e605ecb565c995123ed849908553 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 31 00:58:29 2015 +0200 mfd: bcm590xx: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the module aliases and also "bcm590xx" isn't a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 55cec67aa3ddb7bfb5043ce1540db8839059ccb7 Author: Enric Balletbo i Serra <eballetbo@xxxxxxxxx> Date: Tue Sep 8 10:09:39 2015 +0200 mfd: tps65217: Add battery charger as subdevice Add tps65217 battery charger subdevice. Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 26fade40a0391f0fc2a49a7c597120e76e41a1ec Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 09:39:30 2015 +0100 mfd: wm8998: Fixup register defaults/readables Remove defaults for a bunch of volatile registers and remove ARIZONA_CTRL_IF_SPI_CFG_1 from the readable list since it doesn't exist on wm8998 which is I2C only. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9111fa5c4032589e9b7ccc01e330810ba05726bf Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 09:49:22 2015 +0100 mfd: arizona: Add register bits to support the ANC block Some Arizona devices have a hardware ANC block present. This patch adds the registers necessary to configure this hardware block. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0a464dfdf8dec7410bd6bc8af9086098ee712a04 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:07:56 2015 +0100 mfd: arizona: Fix typo in arizona_irq_map The type of the data for the main Arizona IRQ chip should be struct arizona not struct regmap_irq_chip_data. The bug is harmless but should probably be corrected anyway. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 16dfd10375011e0999ce9d96df2df08380edf001 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:07:56 2015 +0200 mfd: wm831x: Fix possible NULL pointer dereference The driver always checks for pdata being NULL except in one place. Add a check to prevent a possible NULL pointer deference error. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d785334a0d5deff30a487c74324b842d2179553d Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Mon Sep 14 21:12:45 2015 +0900 mfd: s2mps11: Add manual shutdown method for Odroid XU3 On Odroid XU3 board (with S2MPS11 PMIC) the PWRHOLD bit in CTRL1 register must be manually set to 0 before initiating power off sequence. One of usual power down methods for Exynos based devices looks like: 1. PWRHOLD pin of PMIC is connected to PSHOLD of Exynos SoC. 2. Exynos holds up this pin during system operation. 3. ACOKB pin of PMIC is pulled up to VBATT and optionally to pin in other device. 4. When PWRHOLD/PSHOLD goes low, the PMIC will turn off the power if ACOKB goes high. On Odroid XU3 family the difference is in (3) - the ACOKB is grounded. This means that PMIC must manually set PWRHOLD field to low and then wait for signal from Application Processor (the usual change in PWRHOLD/PSHOLD pin will actually cut off the power). The patch adds respective binding allowing Odroid XU3 device to be powered off. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Reported-by: Anand Moon <linux.amoon@xxxxxxxxx> Tested-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 689d4453ed8212ab4a5d53982ac01cbe6531d18a Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:32:48 2015 +0300 mfd: intel-lpss: Use writeq() helper There are already helper functions to do 64-bit I/O on 32-bit machines, thus we don't need to reinvent the wheel. In our case we can't use readq() / writeq() even on 64-bit kernel since there is a hardware limitation (OCP bus is a 32-bit bus). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 327cc18e76295690f560feb999cd4ec0e5d661d5 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 20:16:50 2015 +0200 mfd: sm501: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 01bd09f040698ffbe45e4b8ed7a4399148d2cf9b Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 20:16:32 2015 +0200 mfd: max8997: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 544507362d2d1bd3514358df6c6df573f023afd7 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 20:16:10 2015 +0200 mfd: hi6421-pmic: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a0aef1f529c9caf207176337ff0418a68a32e87f Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 20:15:44 2015 +0200 mfd: atmel-hlcdc: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c6d005ad7989803a2e30f95c81e71575c86543a1 Author: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 18 12:55:58 2015 +0100 mfd: Fixup clients of multi_reg_write/register_patch Introduced by: commit 8019ff6cfc04 ("regmap: Use reg_sequence for multi_reg_write / register_patch") Interacting with: commit 561629755a21 ("mfd: arizona: Add support for WM8998 and WM1814") commit 81207880cef2 ("mfd: wm5110: Add register patch for rev E and above") Signed-off-by: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f6d10341390d5d5bda1122dc5365e34d78f672ee Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Aug 27 23:50:02 2015 +0200 mfd: stmpe: PWM on 24xx has altfunc 1 On the STMPE2401 and STMPE2401 altfunction 1 corresponds to the PWM channels. This oneliner was missing in the case-switch, making it impossible to enable the PWM channel output. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 75c08f17ec87c2d742487bb87408d6feebc526bd Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Sep 18 09:29:04 2015 -0700 mfd: twl6040: Fix deferred probe handling for clk32k Commit 68bab8662f49 ("mfd: twl6040: Optional clk32k clock handling") added clock handling for the 32k clock from palmas-clk. However, that patch did not consider a typical situation where twl6040 is built-in, and palmas-clk is a loadable module like we have in omap2plus_defconfig. If palmas-clk is not loaded before twl6040 probes, we will get a "clk32k is not handled" warning during booting. This means that any drivers relying on this clock will mysteriously fail, including omap5-uevm WLAN and audio. Note that for WLAN, we probably should also eventually get the clk32kgaudio for MMC3 directly as that's shared between audio and WLAN SDIO at least for omap5-uevm. It seems the WLAN chip cannot get it as otherwise MMC3 won't get properly probed. Fixes: 68bab8662f49 ("mfd: twl6040: Optional clk32k clock handling") Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 62a2e633474107a9ae93dfedf16341ec6414a907 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Tue Aug 25 14:34:28 2015 +0530 mfd: 88pm80x: Add 88pm860 chip type support Add chip identification support for 88PM860 device to the pm80x_chip_mapping table. Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 385c0012dfa0b1cdcb16907d847eb2a720f17a9a Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 07:48:10 2015 +0200 mfd: cros_ec_i2c: Add OF match table The Documentation/devicetree/bindings/mfd/cros-ec.txt DT binding doc lists "google,cros-ec-i2c" as a compatible string but the corresponding driver does not have an OF match table. Add the table to the driver so the I2C core can do an OF style match. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 74b533c529f88b7ae4d607276916f9d8d44571f5 Merge: 6c20b93 40d8edc 1d7f833 b4fe8ba 7e50711 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Oct 26 14:48:22 2015 +0000 Merge branches 'ib-extcon-mfd-4.4', 'ib-mfd-i2c-v4.4', 'ib-mfd-power-4.4', 'ib-mfd-regmap-4.4' and 'ib-mfd-regulator-4.4' into ibs-for-mfd-merged commit a9bed6b10bd117a300cceb9062003f7a2761ef99 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Oct 26 10:38:27 2015 +0100 i2c: at91: manage unexpected RXRDY flag when starting a transfer In some cases, we could start a new i2c transfer with the RXRDY flag set. It is not a clean state and it leads to print annoying error messages even if there no real issue. The cause is only having garbage data in the Receive Holding Register because of a weird behavior of the RXRDY flag. Reported-by: Peter Rosin <peda@xxxxxxxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Tested-by: Peter Rosin <peda@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Fixes: 93563a6a71bb ("i2c: at91: fix a race condition when using the DMA controller") Cc: stable@xxxxxxxxxxxxxxx #4.1 commit 40d8edc9bf056ea83e50152a4ccd33048d26ccde Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:44 2015 +0300 at24: enable ACPI device found on Galileo Gen2 There is a 24c08 chip connected to i2c bus on Intel Galileo Gen2 board. Enable it via ACPI ID INT3499. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 918fe70cf4750e21350a8a40b28117b9e2991a10 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:43 2015 +0300 mfd: intel_quark_i2c_gpio: support devices behind i2c bus On Intel Galileo Gen2 the GPIO expanders are connected to the i2c bus. For those devices the ACPI table has specific parameters that refer to an actual i2c host controller. Since MFD now copes with that specific configuration we have to provide a necessary information how to distinguish devices in ACPI namespace. Here the _ADR values are provided. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 236fd469f4d1beb59a47875fa3f222d514173ad0 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:42 2015 +0300 mfd: intel_quark_i2c_gpio: load gpio driver first On Intel Galileo boards the GPIO expander is connected to i2c bus. Moreover it is able to generate interrupt, but interrupt line is connected to GPIO. That's why we have to have GPIO driver in place when we will probe i2c host with device connected to it. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 98a3be44ffa67b812de7aa7aed9f2331edcfb1a5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:41 2015 +0300 mfd: core: redo ACPI matching of the children devices There is at least one board on the market, i.e. Intel Galileo Gen2, that uses _ADR to distinguish the devices under one actual device. Due to this we have to improve the quirk in the MFD core to handle that board. Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 10af309a86669878099b40cec24dbb52aca1d3ed Merge: 3f84ccf 660c40b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Oct 26 14:49:11 2015 +0100 Merge branch 'sh-pfc-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel commit 6057d40f41a30f234533e5cf28810dd3fd2b6995 Author: YD Tseng <ltyu101@xxxxxxxxx> Date: Mon Oct 19 11:07:37 2015 +0800 gpio: driver for AMD Promontory This patch adds a new GPIO driver for AMD Promontory chip. This GPIO controller is enumerated by ACPI and the ACPI compliant hardware ID is AMDF030. Change history: v2: 1. fix coding style 2. registers renaming v3: 1. change include file 2. fix coding style 3. remove module_init/exit, add module_platform_driver 4. remove MODULE_ALIAS v4: 1. change TOTAL_GPIO_PINS to PT_TOTAL_GPIO 2. remove PCI dependency in Kconfig 3. fix subject line Signed-off-by: YD Tseng <Yd_Tseng@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d82ad8e0c0ecc49e81bf7d57fdc09b7d76c1afc0 Merge: 2740357 bb9a13a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 26 08:32:46 2015 +0100 Merge tag 'asoc-v4.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v4.4 Not much core work here, a few small tweaks to interfaces but mainly the changes here are driver ones. Highlights include: - Updates to the topology userspace interface - Big updates to the Renesas support from Morimoto-san - Most of the support for Intel Sky Lake systems. - New drivers for Asahi Kasei Microdevices AK4613, Allwinnner A10, Cirrus Logic WM8998, Dialog DA7219, Nuvoton NAU8825 and Rockchip S/PDIF. - A new driver for the Atmel Class D speaker drivers commit a4283e41bbd80c629770f954cc5d013eb8851229 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sat Oct 10 23:41:42 2015 +0200 arm: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The of_node_put is duplicated in front of each error return, because the function contains a later error return that is beyond the end of the for_each_child_of_node and thus doesn't need of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; iterator name for_each_child_of_node; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child + of_node_put(child); ? break; ... } ... when != child // </smpl> Additionally, concatenated a string in an affected line to avoid introducing a checkpatch warning. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d1189c63ea5e3272dc390a83e1235f142b739eb4 Author: Noam Camus <noamc@xxxxxxxxxx> Date: Mon Oct 26 19:51:46 2015 +1030 scripts: [modpost] add new sections to white list In our ARC toolchain the default linker script includes special sections used for code and data located in special fast memory. To avoid warnings we add these sections i.e. .cmem* and .fmt_slot* to white list. Signed-off-by: Noam Camus <noamc@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Quentin Casasnovas <quentin.casasnovas@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 324e84cb9265120b49c4835ae850e4b83228aa73 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Fri Oct 9 14:10:12 2015 +0100 arm64: defconfig: Enable PCI generic host bridge by default Now that pci-host-generic can be used under arm64, enable it by default so that SBSA compliant systems can use it. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> commit c770d19459a76919ddd4a2573daceba458cb7809 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Tue Sep 22 17:50:57 2015 +0100 arm64: Juno: Add support for the PCIe host bridge on Juno R1 Juno R1 board sports a functional PCIe host bridge that is compliant with the SBSA standard found [1] here. With the right firmware that initialises the XpressRICH3 controller one can use the generic Host Bridge driver to use the PCIe hardware. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0029a/ commit e8e1dc803f0f7b60119d7988a9032d53628deca3 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Fri Oct 9 17:47:03 2015 +0100 Documentation: of: Document the bindings used by Juno R1 PCIe host bridge ARM's Juno R1 board used PLDA XpressRICH3-AXI IP to implement a PCIe host bridge. Introduce "plda" as vendor prefix for PLDA and document the DT bindings for PLDA XpressRICH3-AXI IP as well as ARM's Juno R1. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> commit 4e7d30dba493b60a80e9b590add1b4402265cc83 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Oct 25 23:21:42 2015 +0100 MIPS: lantiq: add clk_round_rate() This adds a basic implementation of clk_round_rate() The clk_round_rate() function is called by multiple drivers and subsystems now and the lantiq clk driver is supposed to export this, but doesn't do so, this causes linking problems like this one: ERROR: "clk_round_rate" [drivers/media/v4l2-core/videodev.ko] undefined! Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Acked-by: John Crispin <blogic@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.1+ Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11358/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8fe2c5478b11d407e3c19d96eb9c0bfe19ce5f8c Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:10 2015 -0700 MIPS: CPS: Set Status.KX on entry for MIPS64 kernels If the kernel may make use of 64 bit addresses outside of the compatibility address space then we need to set KX such that those accesses can succeed. Do so for MIPS64 kernels. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11201/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b85ff244533fb4b88f34bcca55c194f142338c3f Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 11:12:09 2015 -0700 MIPS: CPS: Set Status.BEV bit during early boot Set the Status.BEV bit throughout the early startup of a secondary core such that if an exception occurs the core branches to one of the exception vector entries from cps-vec.S, rather than branching to whatever is set in EBase. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11200/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 47b26a467dc7dacbeae9240af5a35fc2fec48650 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:26:41 2015 -0700 MIPS: Always read full 64 bit CM error GCRs for CM3 CM3 has 64 bit GCR_ERROR_* registers, but the code in mips_cm_error_report was previously only reading 32 bits of it in MIPS32 kernels. Fix by splitting the reads for CM2 & CM3, and making use of the read64_ variants of the accessor function for CM3. 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/11189/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit b657a628661570adb301284084a5335302685269 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:26:40 2015 -0700 MIPS: Allow read64 GCR accessors to work on MIPS32 kernels If we run a MIPS32 kernel on a system using CM3 we may still need to access 64 bit GCRs, as will be done in later patches. Allow this by having the read64_gcr_* accessor functions perform 2 x 32 bit reads on those systems. 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/11188/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f88e632480baf223cad67ac553a6729535db6d74 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:26:39 2015 -0700 MIPS: Avoid buffer overrun in mips_cm_error_report Commit 3885c2b463f6 ("MIPS: CM: Add support for reporting CM cache errors") added cases for decoding errors reported by CM3, but leaves the buf variable which is printed as a string uninitialised for cause values other than 1, 2 or 3. Fix by ensuring the buf variable is initialised to an empty string in such cases. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11187/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 03b1b85d3d6c4f4153472afb7e015f1352e0c8f2 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:26:38 2015 -0700 MIPS: Don't read GCRs when a CM is not present Commit 3885c2b463f6 ("MIPS: CM: Add support for reporting CM cache errors") leads to Malta boards unconditionally reading CM GCRs upon bus errors, regardless of whether a CM is present. This is incorrect & will lead to further exceptions. Fix by moving the GCR reads to after the check for whether a CM is present. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11186/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7784494ae7864a112d4858b2b494e0358ec412a1 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:26:37 2015 -0700 MIPS: Clarify mips_cm_is64 documentation The documentation for mips_cm_is64 implied that the width of the CM GCRs would change depending upon the CPU, which is not true. Reword the explanation to be clearer that the GCR width is purely dependent upon the version of the CM. 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/11185/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 6759657341100ce876e69946365ef91907e3015e Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:16:39 2015 -0700 MIPS: Allow 24Hz timer frequency A boundary exists beyond which the timer frequency becomes high enough that timer interrupts saturate the system and either cause it to slow to a crawl or stop functioning entirely. Where that boundary lies depends upon a number of factors such as the overhead of each interrupt and the overall speed of the CPU, but correlates strongly with the clock frequency at which the CPU runs. When running on emulators during bringup or debug of a CPU that clock frequency is very low, which results in the boundary at which the timer frequency becomes unsustainable being very low. The current minimum of 48Hz pushes against boundary in certain situations in current systems. Allow the kernel to be configured for a 24Hz timer frequency in order to avoid problems on such slow running systems. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11184/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit a13c996249a5ca7635853a4e7e15033393575e46 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:15:22 2015 -0700 MIPS: traps: tidy up ebase calculation Rather than #ifdef on CONFIG_KVM_GUEST & redefine the guest kseg0 base locally, make use of the CAC_BASE macro which has the correct value in both cases. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11183/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ee42a3344cc43bb404160ecb12038825638fcbf4 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 14:42:37 2015 +0200 MIPS: JZ4740: Remove unused linux/leds_pwm.h include The board code never sets up a leds-pwm device, so including the header is not necessary. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11262/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0503b69729f6ba83eacaf4dc97e54d55b7f1feba Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 13:31:17 2015 +0200 MIPS: JZ4740: Use PWM lookup table Associate the PWM with the pwm-beeper device using a PWM lookup table. This will eventually allow the legacy function calls to pwm_request() to be removed from all consumer drivers. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11261/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 1ee3630a3e57f38f688a6f0a5f9edbd8a0d7201f Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Tue Sep 29 12:19:48 2015 +0200 MIPS: Use ARCH_USE_BUILTIN_BSWAP. ARCH_USE_BUILTIN_BSWAP will use __builtin_bswap16(), __builtin_bswap32() and __builtin_bswap64() where available. This allows better instruction scheduling. On pre-R2 processors it will result in 32 bit and 64 bit swapping being performed in a call to a __bswapsi2() rsp. __bswapdi2() functions, so we add these, too. For a 4.2 kernel with GCC 4.9 this yields the following kernel sizes: text data bss dec hex filename 3996071 155804 88992 4240867 40b5e3 vmlinux ip22 baseline 3985687 159900 88992 4234579 409d53 vmlinux ip22 + bswap patch 6913157 378552 251024 7542733 7317cd vmlinux ip27 baseline 6878581 378552 251024 7508157 7290bd vmlinux ip27 + bswap patch 5773777 268752 187424 6229953 5f0fc1 vmlinux malta baseline 5773401 268752 187424 6229577 5f0e49 vmlinux malta + bswap patch Presumably the code size improvments yield better cache hit rate thus better performance compensating for the extra function call but this will still need to be benchmarked. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit d478b088a2f74fc8f34af7ceed86fa7640ca8610 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:10:56 2015 -0700 MIPS: Allow L2 prefetch to be configured via debugfs When debugging or examining the performance of a system it can be useful to examine the effect of L2 prefetching. Provide an optional debugfs entry to allow a user to enable or disable L2 prefetching. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11182/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 75dcfc1d678d76a82288c043bfd5bfc0fbd43b49 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:10:55 2015 -0700 MIPS: Declare mips_debugfs_dir in a header We have many extern declarations of mips_debugfs_dir through arch/mips/ in various C files. Unify them by declaring mips_debugfs_dir in a header, including it in each affected C file & removing the duplicate declarations. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Steven J. Hill <Steven.Hill@xxxxxxxxxx> Cc: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Cc: Leonid Yegoshin <Leonid.Yegoshin@xxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Jaedon Shin <jaedon.shin@xxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: James Cowgill <James.Cowgill@xxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/11181/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4d035516921713b41bb279682e53b4fbd5a87232 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:10:54 2015 -0700 MIPS: Enable L2 prefetching for CM >= 2.5 On systems with CM 2.5 & beyond there may be L2 prefetch units present which are not enabled by default. Detect them, configuring & enabling prefetching when available. 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> Patchwork: https://patchwork.linux-mips.org/patch/11180/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 37f2a174c491dee09844491e5869f5701894ade4 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:10:53 2015 -0700 MIPS: Introduce API for enabling & disabling L2 prefetch Introduce new functions in struct bcache_ops to enable & disable L2 cache prefetching, and to retrieve the current state of L2 prefetching. This will be used in later patches. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11179/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c1a0e9bc885d46e519fd87d35af6a7937abfb986 Author: Paul Burton <paul.burton@xxxxxxxxxx> Date: Tue Sep 22 10:07:41 2015 -0700 MIPS: Allow compact branch policy to be changed When debugging it can be helpful to change the policy for compiler use of MIPSr6 compact branches, in order to rule out or home in on their involvement in bugs. Allow the GCC -mcompact-branches= flag to be set via Kconfig under the "Kernel hacking" menu. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11178/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 05513992c69d159e698bb4b5f651abd0ceff525c Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:34:08 2015 +0200 MIPS: Remove invalid check Unsigned values cannot be lesser than zero. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [ralf@xxxxxxxxxxxxxx: Chris Dearman's original commit 9318c51acd9689505850152cc98277a6d6f2d752 ([MIPS] MIPS32/MIPS64 secondary cache management) introduced these less than zero checks in 2.6.18.] [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Chris Dearman <chris.dearman@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/11165/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f25319d2cb439249a6859f53ad42ffa332b0acba Author: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Date: Fri Oct 16 23:09:57 2015 +0200 MIPS: atomic: Fix comment describing atomic64_add_unless's return value. Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Fixes: f24219b4e90cf70ec4a211b17fbabc725a0ddf3c (cherry picked from commit f0a232cde7be18a207fd057dd79bbac8a0a45dec) commit 34fc1322e7aaaa74f3f9e5194a2e85bae522d3c2 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Oct 26 01:15:58 2015 -0700 HID: hid-gfrm: Google Fiber TV Box remote controls Add HID driver for Google Fiber TV Box remote controls Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 05f216ddca08728fcb7b1eb3808159b81b48c124 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Sun Oct 25 13:49:29 2015 -0700 Input: e3x0-button - update Kconfig description The driver is now used for the entire USRP e3xx series, this commit fixes the description that will be displayed in the menu accordingly. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8ad165e9228208b3ec21b5714c06c691b2236850 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Oct 26 01:36:00 2015 -0700 Input: tegra-kbc - drop use of IRQF_NO_SUSPEND flag The driver handles wakeup irq correctly using device_init_wakeup and enable_irq_wake. There's no need to use IRQF_NO_SUSPEND while registering the interrupt. This patch removes the use of IRQF_NO_SUSPEND flag. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b42a1148de452ab1a3ee15caac2960a063e28f03 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu Oct 22 23:38:40 2015 -0700 Input: tegra-kbc - enable support for the standard "wakeup-source" property Though the tegra-kbc driver should/will continue to support the legacy "nvidia,wakeup-source" property to enable keyboard as the wakeup source, we need to add support for the new standard property "wakeup-source". This patch adds support for "wakeup-source" property in addition to the existing "nvidia,wakeup-source" property. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 59fbcbc61e1f0fd9acdf3efb09faca0320049718 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Wed Sep 16 10:15:45 2015 +0200 arcnet: add netif_carrier_on/off for reconnect The arcnet device has no interrupt to detect if the link has changed from disconnected to connected. This patch adds an timer to toggle the link detection. The timer will get retriggered as long as the reconnection interrupts accure. If the recon interrupts hold off for >1s we define the connection stable again. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 8890624a4e8c2c7046d63bfd15d7331af9f55f10 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Sep 18 00:12:50 2014 +0200 arcnet: com20020-pci: add led trigger support The EAE PLX-PCI card has special leds on the the main io pci resource bar. This patch adds support to trigger the conflict and data leds with the packages. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 5ef216c1f84825c6942fdd6c24d12a08ac2df135 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Sep 18 00:12:50 2014 +0200 arcnet: com20020-pci: add rotary index support The EAE PLX-PCI card has a special rotary encoder to configure the address of every card individually. We take this information for the initial setup of the cards dev_id. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit ae8ede6a0cdcf3b21596f44dff30bbd02265bb41 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Fri Mar 20 15:22:24 2015 +0100 arcnet: com20020-pci: set dev_port to the subdevice index This patch sets the dev_port according to the index of the card. This can be used by udev to name the ports in userspace. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 27daf6ed5c1fbeca9029c59c7f4f70a5c7e13531 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Fri Mar 20 15:20:59 2015 +0100 arcnet: com20020: add enable and disable device on open/close This patch changes the driver to properly work with the linux netif interface. The controller gets enabled on open and disabled on close. Therefor it removes every bogus start of the xceiver. It only gets enabled on com20020_open and disabled on com20020_close. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit b82de0e28ccac15e1a0c3b4f6f20dfd230049041 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Wed Apr 22 16:41:46 2015 +0200 arcnet: move dev_free_skb to its only user The call for dev_free_skb is done only once. This patch moves its call to its only user and removes the obsolete condition variable. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit fb662288284e8f2ec26f13d50a6b0d5781771648 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Oct 26 03:45:22 2015 -0400 tracing: Fix sparse RCU warning p_start() and p_stop() are seq_file functions that match. Teach sparse to know that rcu_read_lock_sched() that is taken by p_start() is released by p_stop. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c4297e8f7f453c83a75c2cbd93e57d8d9f36a316 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Oct 26 02:08:38 2015 +0100 Bluetooth: Fix some obvious coding style issues in the SCO module Lets fix this obvious coding style issues in the SCO module and bring it in line with the rest of the Bluetooth subsystem. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 05fcd4c4f1011858fe86dd7423304d8cae8e8d2e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 25 23:29:22 2015 +0100 Bluetooth: Replace hci_notify with hci_sock_dev_event There is no point in wrapping hci_sock_dev_event around hci_notify. It is an empty wrapper which adds no value. So remove it. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 242c0ebd3730334c43b9c04eeec40d8dd5c3a26e Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 25 22:45:53 2015 +0100 Bluetooth: Rename bt_cb()->req into bt_cb()->hci The SKB context buffer for HCI request is really not just for requests, information in their are preserved for the whole HCI layer. So it makes more sense to actually rename it into bt_cb()->hci and also call it then struct hci_ctrl. In addition that allows moving the decoded opcode for outgoing packets into that struct. So far it was just consuming valuable space from the main shared items. And opcode are not valid for L2CAP packets. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d94a61040d8f99cbaf7f3e7686315edcc6dc2400 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 25 22:45:18 2015 +0100 Bluetooth: Remove unneeded parenthesis around MSG_OOB There are two checks that are still using (MSG_OOB) instead of just MSG_OOB and so lets just fix them. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 813fd67b57ffca0dd19fe1834f894a4558cf5e0b Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Fri Oct 2 09:33:47 2015 +0900 drm/exynos: cleanup name of gem object for exynos_drm Struct of gem object in exynos_drm driver is struct exynos_drm_gem_obj. It's too long and we can know its meaning of name without _obj postfix. We use several names to variable name of gem object for exynos_drm - exynos_gem_obj, gem_obj and obj. Especially "obj" name can cause misunderstanding with variable name "obj" of struct drm_gem_object. This will clean about name of gem object for exynos_drm as follows. s/struct exynos_drm_gem_obj/struct exynos_drm_gem s/exynos_gem_obj or gem_obj or obj/exynos_gem Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 4d91a855989af53b81f1ad7a82250d973f9b7b01 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Fri Oct 2 09:30:38 2015 +0900 drm/exynos: fix to detach device of iommu The arm_iommu_detach_device() is a function to detach device of iommu attached by arm_iommu_attach_device(). The exynos-drm uses arm_iommu_attach_device() so it should use arm_iommu_detach_device() to detach device of iommu, not iommu_detach_device(). The drm_release_iommu_mapping() is a function to release mapping of iommu created by arm_iommu_create_mapping(). It is called by exynos_drm_unload() so shouldn't be called by drm_iommu_detach_device(). Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 323db0ed7de21dff93affd51c4c742a3dec1c103 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Fri Sep 4 19:05:57 2015 -0300 drm/exynos: add cursor plane support Set one of the planes for each crtc driver as a cursor plane enabled window managers to fully work on exynos. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 5d3d099574ba6319998ae9275090e42140d6b37a Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Mon Oct 12 22:07:48 2015 +0900 drm/exynos: add global macro for the default primary plane Define DEFAULT_WIN as zero to help set the primary plane on all CRTCs. Some CRTCs were defining a variable to store the default window, but that is not necessary as the default (primary) window is always the window zero. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c691349ca429c3a57487eca857f87d2b2442c359 Author: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Date: Fri Oct 2 17:59:26 2015 +0900 drm/exynos: fix spelling errors This patch fixes spelling errors in drm fimc/gsc inavild -> invaild Signed-off-by: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 02b3de431111014643c48a326b46d127df061658 Author: Tomasz Stanislawski <t.stanislaws@xxxxxxxxxxx> Date: Fri Sep 25 14:48:29 2015 +0200 drm: exynos: mixer: fix using usleep() in atomic context This patch fixes calling usleep_range() after taking reg_slock using spin_lock_irqsave(). The mdelay() is used instead. Waiting in atomic context is not the best idea in general. Hopefully, waiting occurs only when Video Processor fails to reset correctly. Signed-off-by: Tomasz Stanislawski <t.stanislaws@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit cf3e0fdd54f7d792e158cbb87ead1d9e6a5c58f7 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:28 2015 +0200 drm/exynos/hdmi: remove unused field The patch removes unused hdmi_context field. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d24bb3e59d3863304f81e71e10c0e9a1ae13c16d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:27 2015 +0200 drm/exynos/hdmi: improve HDMI/ACR related code Simple formula can be used to calculate CTS and N coefficients. Additionaly ACR registers have different offsets for different versions of IP. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 185f22d222fb12d571eed43fc6d5d13e27813f05 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:26 2015 +0200 drm/exynos/hdmi: convert container_of macro to inline function Inline function is safer than macro, also the name has been changed to be consistent with other inline function encoder_to_hdmi. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit af1f7c24d619f2c21f7f6cbac140ef469840e6d3 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:25 2015 +0200 drm/exynos/hdmi: remove deprecated hdmi_resources structure hdmi_resources structure was filled by old platform data code and is not necessary anymore. The patch removes it at groups together resource related fields in hdmi_context. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 2228b7cda25b79f106411b97bd039ed0b97067a6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:24 2015 +0200 drm/exynos/hdmi: convert to gpiod API The patch converts API to gpiod and moves initialization code to hdmi_resources_init. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit da5e36ae963b24318e0d6b9f226abb795999106a Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:23 2015 +0200 drm/exynos/hdmi: simplify clock re-parenting Driver tries to disable sclk_hdmi during re-parenting, to avoid possible glitches. It is ineffective as the clock is used also by other devices (mixer). Anyway driver works without disabling sclk_hdmi. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1ab739db8ed86ab2815d903c0e53d88a88e315c4 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:22 2015 +0200 drm/exynos/hdmi: use constant size array for regulators Driver always uses the same number of regulators, so there is no point in dynamic allocation. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 498d5a373ac4aa20d7ad63770f2196922ae2f26c Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:21 2015 +0200 drm/exynos/hdmi: use optional regulator_get for hdmi-en hdmi-en is an optional regulator so it should be better handled by devm_regulator_get_optional call. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 2445c4a44f200a3137dbaaa3603f2f095c9fdd45 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:20 2015 +0200 drm/exynos/hdmi: fix removal order DRM device should be destroyed before releasing resources. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 1993c33942c7518ceeb77117e5f0e20d5ef269df Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:19 2015 +0200 drm/exynos/hdmi: replace all writeb with writel Registers are 32-bit, even if only lower 8-bits are used. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 74a74ff4e6fa55d9bdeba57187c3622a55ec2204 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:18 2015 +0200 drm/exynos/hdmi: simplify HDMI-PHY power sequence Currently driver tries to set specific HDMI-PHY registers in three situations: - before reset, - before power off, - after applying HDMI-PHY configuration. First two cases seems to be unnecessary - register contents will be lost anyway. The third case can be merged with HDMI-PHY configuration by fixing the last byte of configuration data. The patch has been tested with following platforms: - exynos4210-universal_c210, - exynos4412-odroidu3, - exynos5422-odroidxu3. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8eb6d4ec99bf4c5004d4b87f4f9dc539b708bdb1 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:17 2015 +0200 drm/exynos/hdmi: move PLL stabilization check code to separate function The patch moves PLL stabilization check to separate function, adjust timeout parameters and de-duplicates code common for both HW variants. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 633d00b327c0ef5ec0113e27d2d5e36073ebca7d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:16 2015 +0200 drm/exynos/hdmi: use mappings for registers with IP dependent address Some registers resides at different offsets depending on device version. This patch adds infrastructure for mapping such registers to proper address based on hdmi_type. It adds also mappings to some registers. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit e68d547b8ae109c7ecaaaad665c8de8373a215bc Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 14:48:14 2015 +0200 drm/exynos/hdmi: remove support for deprecated compatible This compatible was marked as deprecated in Jun 2013 and it is not used since then. Additionally its driver data points to wrong pll settings, so it cannot work anyway. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 298a96c12b2d8fd845ae0c2c21c0a1c0b470f99e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sun Oct 25 23:11:43 2015 +0200 x86/dma-mapping: Fix arch_dma_alloc_attrs() oops with NULL dev Commit 6894258eda2f broke drivers that pass NULL as the device pointer to dma_alloc. The reason is that arch_dma_alloc_attrs() now calls dma_alloc_coherent_gfp_flags() which in turn calls dma_alloc_coherent_mask(), where the device pointer is dereferenced unconditionally. Fix things by moving the ISA DMA fallback device assignment before the call to dma_alloc_coherent_gfp_flags(). Fixes: 6894258eda2f ("dma-mapping: consolidate dma_{alloc,free}_{attrs,coherent}") Reported-and-tested-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Link: http://lkml.kernel.org/r/1445807503-8920-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ba723199d18eeb5021cd6ace4aaf90670d6b3133 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:35 2015 +0100 NFC: st21nfca: Fix st21nfca_gates offset It is useless to start from index 0 when looking for a gate because only dynamic pipes are retrieved with ST21NFCA_DM_GETINFO(ST21NFCA_DM_GETINFO_PIPE_LIST). The first dynamic pipe is present at index 3. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d3f13c558f2501d4bd0212030f692bc56fbcb755 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:34 2015 +0100 NFC: st-nci: Fix st_nci_gates offset It is useless to start from index 0 when looking for a gate because only dynamic pipes are retrieved with ST_NCI_DM_GETINFO(ST_NCI_DM_GETINFO_PIPE_LIST). The first dynamic pipe is present at index 3. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 7e35740438bafcc8be0e05ff2461b73d631caeb0 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:33 2015 +0100 NFC: st-nci: Add support for NCI_HCI_IDENTITY_MGMT_GATE NCI_HCI_IDENTITY_MGMT_GATE might be useful to get information about hardware or firmware version. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 404b3e585b15d7431a0ffa5cf67090569fad88c1 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:32 2015 +0100 NFC: st-nci: initialize gate_count in st_nci_hci_network_init When initializing ndev->hci_dev->init_data, only gates field was set. gate_count needs to be initialized as well. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 92d108b6f4fcabf45df5fa9631cfc4ada35e9ab1 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:31 2015 +0100 NFC: st21nfca: Keep st21nfca_gates unchanged in load_session We need to keep initial st_nci_gates values in order for nfc_hci_dev_connect_gates to create and open pipe when necessary. For example after a firmware update CLF pipes are cleared. Changing pipe values in st21nfca_gates was causing nfc_hci_dev_connect_gates not using accurate pipes value. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 22c84c5b23932161546b7b16c61a6eb85bf587b8 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:30 2015 +0100 NFC: st-nci: Keep st_nci_gates unchanged in load_session We need to keep initial st_nci_gates values in order for nci_hci_dev_connect_gates to create and open pipe when necessary. For example after a firmware update CLF pipes are cleared. Changing pipe values in st_nci_gates was causing nci_hci_dev_connect_gates not using accurate pipes value. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6443ce97d2266b24f8315cb7e3ff99adf822a597 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:29 2015 +0100 NFC: st21nfca: Open NFC_HCI_LINK_MGMT_PIPE NFC_HCI_LINK_MGMT_PIPE was never opened in nfc_hci_load_session. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9dfe29f1796f9d92db6e7d33a3fc8ed8e496912a Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:28 2015 +0100 NFC: st-nci: Open NCI_HCI_LINK_MGMT_PIPE NCI_HCI_LINK_MGMT_PIPE was never opened in st_nci_hci_load_session. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4d37a772b7437bed2ffb94e391a0534198588d20 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:27 2015 +0100 NFC: st21nfca: Remove HCI gates initialization in load_session hdev->init_data.gates is already initialized in st21nfca_hci_probe. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 543a0a301fb831f19a37ac06fbe8094e0b5a2c73 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:26 2015 +0100 NFC: st-nci: Remove HCI init_data.gates initialization in load_session ndev->hci_dev->init_data.gates is already initialized in st_nci_hci_network. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a1b0b9415817c14d207921582f269d03f848b69f Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:25 2015 +0100 NFC: nci: Create pipe on specific gate in nci_hci_connect_gate Some gates might need to have their pipes explicitly created. Add a call to nci_hci_create_pipe in nci_hci_connect_gate for every gate that is different than NCI_HCI_LINK_MGMT_GATE or NCI_HCI_ADMIN_GATE. In case of an error when opening a pipe, like in hci layer, delete the pipe if it was created. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 8a49943f5bc5ff4f835d50451ecf2380eab44d2e Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:24 2015 +0100 NFC: nci: Call nci_hci_clear_all_pipes at HCI initial activation. When session_id is filled to 0xff, the pipe configuration is probably incorrect and needs to be cleared. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fa6fbadea5d3618339fae8f9d5136a470bad4fa7 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:23 2015 +0100 NFC: nci: add nci_hci_clear_all_pipes functions nci_hci_clear_all_pipes might be use full in some cases for example after a firmware update. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit e65917b6d54f8b47d8293ea96adfa604fd46cf0d Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:22 2015 +0100 NFC: nci: extract pipe value using NCI_HCP_MSG_GET_PIPE When receiving data in nci_hci_msg_rx_work, extract pipe value using NCI_HCP_MSG_GET_PIPE macro. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d8cd37ed2fc871c66b4c79c59f651dc2cdf7091c Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:21 2015 +0100 NFC: nci: Fix improper management of HCI return code When sending HCI data over NCI, HCI return code is part of the NCI data. In order to get correctly the HCI return code, we assume the NCI communication is successful and extract the return code for the nci_hci functions return code. This is done because nci_to_errno does not match hci return code value. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 500c4ef02277eaadbfe20537f963b6221f6ac007 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:20 2015 +0100 NFC: nci: Fix incorrect data chaining when sending data When sending HCI data over NCI, cmd information should be present only on the first packet. Each packet shall be specifically allocated and sent to the NCI layer. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a1269dd116319335db6d73013a31c038486c813e Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:19 2015 +0100 NFC: st-nci: Fix incorrect spi buffer size When sending data over SPI, the maximum expected length is the maximum nci packet payload + data header size + the frame head room (1 for the ndlc header) + the frame trail room (0). Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1c54795da05a792e495387317240625696d37abd Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:18 2015 +0100 NFC: st21nfca: Align st21nfca driver with other nfc driver Align st21nfca driver with or nfc driver: - Remove st21nfca_ prefix - Merge st21nfca_se.h, st21nfca_dep.h in st21nfca.h Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3d2ef3b3962c60e3b25de6a981127d95cb0be98b Merge: edd2a06 a5ea06d Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 14:43:38 2015 +0900 Merge tag 'sunxi-dt-for-4.4-3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Allwinner DT changes for 4.4, round 3 A bunch of new boards, but mostly enable the support for the Audio Codec on the older SoCs (A10, A10s, A13, A20, R8) and enable it on various boards. * tag 'sunxi-dt-for-4.4-3' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: dts: sun6i: Add dts file for MSI Primo81 tablet ARM: dts: sun6i: Add simplefb node labels to reference at board level ARM: dts: sun4i: Enable audio codec on Marsboard A10. ARM: dts: sun4i: Add dts file for the pov protab2-ips9 tablet ARM: sun4i: Enable cubieboard audio codec ARM: sun5i: chip: Enable the audio codec ARM: sun4i: Enable audio-codec on Mele A1000 ARM: sun7i: Enable cubieboard2 audio codec ARM: sun7i: dt: enable audio codec on Cubietruck ARM: sun7i: Add sunxi codec device node ARM: sun5i: Add the Audio codec DT node ARM: sun4i: Add sunxi codec device node ARM: sun7i: Add audio codec clock ARM: sun5i: Add audio codec clock ARM: sun4i: Add audio codec clock ARM: sun7i: Add audio PLL ARM: sun5i: Add audio PLL ARM: sun4i: Add audio PLL ARM: dts: sun7i: Enable USB DRC on pcDuino v3 Nano ARM: dts: sun6i: Add support for Sinlinx A31s SDK board Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit edd2a06d9c06a28f6f636929d586d17de835cd6b Merge: 64ebda3 9b038bc Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 14:42:37 2015 +0900 Merge tag 'sunxi-clocks-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Bringing in the sunxi clock branch since it introduces header file contents that is needed by the DT branch. This is a stable tag shared with the clk tree. Allwinner clock additions for 4.4 - Support for the Audio PLL and child clocks - Support for the A33 AHB gates - New clk-multiplier generic driver * tag 'sunxi-clocks-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: clk: sunxi: mod1 clock support clk: sunxi: codec clock support clk: sunxi: pll2: Add A13 support clk: sunxi: Add a driver for the PLL2 clk: Add a basic multiplier clock clk: sunxi: Add A33 gates support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d1611c3aba11ffa281bdd027aace52f5a370b8c5 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Sun Oct 25 22:27:57 2015 -0400 bnxt_en: Fix compile warnings when CONFIG_INET is not set. bnxt_gro_skb() has unused variables when CONFIG_INET is not set. We really cannot support hardware GRO if CONFIG_INET is not set, so compile out bnxt_gro_skb() completely and define BNXT_FLAG_GRO to be 0 if CONFIG_INET is not set. This will effectively always disable hardware GRO if CONFIG_INET is not set. Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3dc3df6330e4b4d799bef4aac6f934b5e726b1c Merge: 7b6e28c ef4da0c Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 14:35:41 2015 +0900 Merge tag 'omap-for-v4.4/soc-clean-up' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Minimal omap SoC changes for v4.4 merge window. As we've spent quite a bit of time sorting out regressions for v4.3 and are very late with these, I've kept the changes down to minimum: - A series of timer changes from Felipe Balbi to get us closer to moving the remaining timer code into drivers - A series of hwmod clean-up changes queued by Paul Walmsley - SoC detection clean-up to use soc_is instead of cpu_is as CPU is within the SoC and is confusing naming. The rest we can now change along with the other clean-up * tag 'omap-for-v4.4/soc-clean-up' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (21 commits) ARM: OMAP3: hwmod data: Remove legacy mailbox data and addrs ARM: DRA7: hwmod data: Remove spinlock hwmod addrs ARM: OMAP4: hwmod data: Remove spinlock hwmod addrs ARM: DRA7/AM335x/AM437x: hwmod: Remove gpmc address space from hwmod data arm: omap2: board-generic: use omap4_local_timer_init for AM437x ARM: DRA7/AM335x/AM437x: hwmod: Remove elm address space from hwmod data ARM: OMAP: Remove duplicated operand in OR operation clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE ARM: OMAP: Change all cpu_is_* occurences to soc_is_* for id.c ARM: OMAP2+: Rename cpu_is macros to soc_is arm: omap2: timer: limit hwmod usage to non-DT boots arm: omap2+: select 32k clocksource driver clocksource: add TI 32.768 Hz counter driver arm: omap2: timer: rename omap_sync32k_timer_init() arm: omap2: timer: always call clocksource_of_init() when DT arm: omap2: timer: move realtime_counter_init() around arm: omap2: timer: provide generic sync32k_timer_init function arm: omap2: timer: remove __omap_gptimer_init() arm: omap2: timer: add a gptimer argument to sync32k_timer_init() arm: omap2: timer: get rid of obfuscating macros ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e67e7e596f3ff19fb90520be9f2130aa54914181 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sun Oct 25 22:54:17 2015 +0100 NFC: st-nci: include st-nci.h instead of ndlc.h st-nci.h already include ndlc.h. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 64ebda3acd6ea592e6f97dcd0682e87aa7cf8d61 Merge: 5f76048 121432c Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 14:27:33 2015 +0900 Merge tag 'arm/soc/for-4.4/rpi-dt-v2' of https://github.com/Broadcom/stblinux into next/dt This pull request contains the DT changes for BCM2835 in 4.4. It pulls in clk/clk-bcm2835 (which Stephen Boyd has said would be stable) because the DT changes to enable the clock driver need the driver itself to be present. These changes include the following: - Eric Anholt, moves the bcm2835 clock driver under bcm/ where it belongs with other Broadcom clock providers drivers, defines the binding for new clock driver, adds support for programming the BCM2835 audio domain, adds the DDC I2C controller to Device Tree, and finally migrates the Device Tree to use the new clock driver binding - Lubomir Rintel adds support for the Raspberry Pi Model A+ and B revision 2, and remove the I2S controller which is non-existent on Raspberry Pi Model B - Stefan Wahren adds an uart0 label for referencing the UART adapter * tag 'arm/soc/for-4.4/rpi-dt-v2' of https://github.com/Broadcom/stblinux: ARM: bcm2835: Add the DDC I2C controller to the device tree. ARM: bcm2835: Switch to using the new clock driver support. ARM: bcm2835: dt: Add Raspberry Pi Model A+ ARM: bcm2835: dt: Add Raspberry Pi Model B rev2 ARM: bcm2835: dt: Raspberry Pi Model B had no I2S ARM: bcm2835: add label for uart0 clk: bcm2835: Add support for programming the audio domain clocks clk: bcm2835: Add binding docs for the new platform clock driver. clk: bcm2835: Move under bcm/ with other Broadcom SoC clk drivers. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f5876627715e3584db379a0549f8ce6f3f06e2bc Author: Christophe Ricard <christophe-h.ricard@xxxxxx> Date: Mon Oct 26 05:55:22 2015 +0100 NFC: st-nci: Align st-nci driver with other nfc driver Align st-nci driver with other NFC drivers: - Remove st-nci_ prefix - Merge se.h in st-nci.h Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit e58d154b60488a67278d4d54853ef04d30b06251 Author: Rami Rosen <ramirose@xxxxxxxxx> Date: Sat Sep 26 19:27:57 2015 +0300 ACPI / Documentation: add copy_dsdt to ACPI format options commit aa2110cb1a75 (ACPI: add boot option acpi=copy_dsdt to fix corrupt DSDT) added copy_dsdt as an ACPI boot option, but did not add it to ACPI format options in Documentation/kernel-parameters.txt. Fix that. Signed-off-by: Rami Rosen <ramirose@xxxxxxxxx> [ rjw: Subject & changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bc1e49df345cf9be38ba29ead45a12f86ceb5fe2 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Thu Oct 15 12:19:30 2015 -0400 ACPI / sysfs: correctly check failing memory allocation Since kobject_create_and_add() can fail under memory pressure, its return value needs to be checked against NULL before passing it to sysfs_create_file(). Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> [ rjw: Subject & changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 584d8d1eb123b8be1274bf69f3ce07cee848d40d Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Oct 21 13:45:03 2015 +0200 ACPI / video: Add a quirk to force native backlight on Lenovo IdeaPad S405 The Lenovo IdeaPad S405 is a not "Windows8 ready" machine which still has a broken ACPI video backlight implementation. Add a quirk to force use of native backlight on this machine. Link: https://bugzilla.redhat.com/show_bug.cgi?id=1201530 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4219853aef645d29b122daa8a8b7bd792f1cc7c9 Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Fri Oct 23 05:02:52 2015 -0400 ACPI / CPPC: Fix potential memory leak Commit 337aadff8e45 (ACPI: Introduce CPU performance controls using CPPC) leads to the following static checker warning: drivers/acpi/cppc_acpi.c:527 acpi_cppc_processor_probe() warn: overwrite may leak 'cpc_ptr' Fix the warning by removing the bogus per-CPU pointer dereference. Fixes: 337aadff8e45 (ACPI: Introduce CPU performance controls using CPPC) Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 32c0b2f606a4b71fc7b7cfa479cf47648854d9d9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 22 22:52:59 2015 +0300 ACPI / CPPC: signedness bug in register_pcc_channel() The "pcc_subspace_idx" is -1 if it hasn't been initialized yet. We need it to be signed. Fixes: 337aadff8e45 (ACPI: Introduce CPU performance controls using CPPC) Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 21657471688508ced523b3bf0a763d73d546ad1a Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Oct 26 04:02:01 2015 +0100 ACPI / PAD: power_saving_thread() is not freezable power_saving_thread() calls try_to_freeze(), but the thread doesn't mark itself freezable through set_freezable(), so the try_to_freeze() call is useless. Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8c01275e0cdf1959aa25c322fd5870c097733195 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Sun Oct 25 01:02:46 2015 +0800 ACPI / PM: Fix incorrect wakeup IRQ setting during suspend-to-idle For an ACPI compatible system, the SCI (ACPI System Control Interrupt) is used to wake the system up from suspend-to-idle. Once the CPU is woken up by the SCI, the interrupt handler will first check if the current IRQ has been configured for system wakeup, so irq_pm_check_wakeup() is invoked to validate the IRQ number. However, during suspend-to-idle, enable_irq_wake() is called for acpi_gbl_FADT.sci_interrupt, although the IRQ number that the SCI handler has been installed for should be passed to it instead. Thus, if acpi_gbl_FADT.sci_interrupt happens to be different from that number, ACPI interrupts will not be able to wake up the system from sleep. Fix this problem by passing the IRQ number returned by acpi_gsi_to_irq() to enable_irq_wake() instead of acpi_gbl_FADT.sci_interrupt. Cc: 3.18+ <stable@xxxxxxxxxxxxxxx> # 3.18+ Acked-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit efb1cf7d28b8aeacec53e9ba8f3f2809c5cb9686 Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Sun Oct 25 01:02:36 2015 +0800 ACPI: Using correct irq when waiting for events When the system is waiting for GPE/fixed event handler to finish, it uses acpi_gbl_FADT.sci_interrupt directly as the IRQ number. However, the remapped IRQ returned by acpi_gsi_to_irq() should be passed to synchronize_hardirq() instead of it. Cc: 3.19+ <stable@xxxxxxxxxxxxxxx> # 3.19+ Acked-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 49e4b84333f338d4f183f28f1f3c1131b9fb2b5a Author: Chen Yu <yu.c.chen@xxxxxxxxx> Date: Sun Oct 25 01:02:19 2015 +0800 ACPI: Use correct IRQ when uninstalling ACPI interrupt handler Currently when the system is trying to uninstall the ACPI interrupt handler, it uses acpi_gbl_FADT.sci_interrupt as the IRQ number. However, the IRQ number that the ACPI interrupt handled is installed for comes from acpi_gsi_to_irq() and that is the number that should be used for the handler removal. Fix this problem by using the mapped IRQ returned from acpi_gsi_to_irq() as appropriate. Cc: All applicable <stable@xxxxxxxxxxxxxxx> Acked-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 85051e295fb7487fd22546f86058e99d5266dd88 Merge: 32b8819 5dd32ea Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 12:29:16 2015 +0900 Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Two driver bugfixes for the I2C subsystem" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: pnx: fix runtime warnings caused by enabling unprepared clock i2c: mv64xxx: really allow I2C offloading commit bb9a13a0209c56cdf27d125a1f2f6f34378c64f4 Merge: eee89f5 931dfa6 3e2a71b c1fe81f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:20 2015 +0900 Merge remote-tracking branches 'asoc/topic/wm8904', 'asoc/topic/wm8955' and 'asoc/topic/wm8960' into asoc-next commit eee89f5c9ac1fdade9050db5321b9c6fc3496044 Merge: 9939b14 76a822a 8444f59 523bade 4d0197a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:18 2015 +0900 Merge remote-tracking branches 'asoc/topic/topology', 'asoc/topic/wm2000', 'asoc/topic/wm8731' and 'asoc/topic/wm8903' into asoc-next commit 9939b14b743f534005dfdaa1e519ff99c7a135c2 Merge: 71831ef ce7b8db c570b82 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:16 2015 +0900 Merge remote-tracking branches 'asoc/topic/ssm2518' and 'asoc/topic/sunxi' into asoc-next commit 71831ef6991138fa01fa3cc8e253b03e545e5af6 Merge: 512def8 3db7cb9 16566e4 7a5b8ba 4272975 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:13 2015 +0900 Merge remote-tracking branches 'asoc/topic/rt298', 'asoc/topic/rt5640', 'asoc/topic/samsung' and 'asoc/topic/sh' into asoc-next commit 512def88cb67915edce1081327c0b280f02fbf19 Merge: 3db5de5 b415b4d 0f7e177 b3f2dcd dc6d84c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:10 2015 +0900 Merge remote-tracking branches 'asoc/topic/rcar', 'asoc/topic/rl6347a', 'asoc/topic/rockchip' and 'asoc/topic/rt286' into asoc-next commit 3db5de560ce6d404e9c1377512f2d93245cd048a Merge: 8707344 218d2ce 58ceb57 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:08 2015 +0900 Merge remote-tracking branches 'asoc/topic/nau8825' and 'asoc/topic/pxa' into asoc-next commit 8707344edd833738bfdde8ed21bd1a0fd5418015 Merge: f72362e 43ac946 6abca1d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:06 2015 +0900 Merge remote-tracking branches 'asoc/topic/imx' and 'asoc/topic/intel' into asoc-next commit f72362e6b7522040c16a224d5dcf2022e5468803 Merge: 1c9d000 ab57b8e 7ab8a54 739146b 50760ca Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:03 2015 +0900 Merge remote-tracking branches 'asoc/topic/dwc', 'asoc/topic/es8328', 'asoc/topic/fsl' and 'asoc/topic/fsl-card' into asoc-next commit 1c9d000c5b3c73d1ae79fe0f332a79a166a8131c Merge: 7034ef5 c5cff89 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:02 2015 +0900 Merge remote-tracking branch 'asoc/topic/da7219' into asoc-next commit 7034ef5f604a9e92dd80d042cb3f64d4b1f22375 Merge: 2c218b7 391ac3ef 955da48 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:16:00 2015 +0900 Merge remote-tracking branches 'asoc/topic/atmel-classd' and 'asoc/topic/da7213' into asoc-next commit 2c218b7434205d2151118bd66832d73fb85e36ae Merge: 4cb803b 92b822a 6ebbce0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:58 2015 +0900 Merge remote-tracking branches 'asoc/topic/ad193x' and 'asoc/topic/arizona' into asoc-next commit 4cb803b8edf575641a372ba0ca433cd48deb3af2 Merge: b27aafe bc86e53 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:58 2015 +0900 Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-next commit b27aafedfdef2507de79a8a9b95f6aa815ba696c Merge: 12e7b4a 1d387a3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:57 2015 +0900 Merge remote-tracking branch 'asoc/topic/doc' into asoc-next commit 12e7b4a4f3096fcb93b222ba644e975ffcf4f21b Merge: 6439e5c 93e39a1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:56 2015 +0900 Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next commit 6439e5c2a784f6b00dd136df54d6f0859bc77af3 Merge: 7c9c29e 6f0c422 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:55 2015 +0900 Merge remote-tracking branch 'asoc/topic/core' into asoc-next commit 7c9c29eefa8ba503a34bac4ca4fb27083b78b726 Merge: 32b8819 4922e7a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:15:54 2015 +0900 Merge tag 'asoc-v4.3-rc2' into asoc-next ASoC: Updates for v4.4 A first batch of updates targetted at v4.4. There are no substantial core fixes here, the biggest block of changes is updates to the rcar drivers and the addition of a CODEC driver for the AK4613. # gpg: Signature made Fri 25 Sep 2015 05:37:06 KST using RSA key ID 5D5487D0 # gpg: key CD7BEEBC: no public key for trusted key - skipped # gpg: key CD7BEEBC marked as ultimately trusted # gpg: key AF88CD16: no public key for trusted key - skipped # gpg: key AF88CD16 marked as ultimately trusted # gpg: key 16005C11: no public key for trusted key - skipped # gpg: key 16005C11 marked as ultimately trusted # gpg: key 5621E907: no public key for trusted key - skipped # gpg: key 5621E907 marked as ultimately trusted # gpg: key 5C6153AD: no public key for trusted key - skipped # gpg: key 5C6153AD marked as ultimately trusted # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit 739146b6144a6541cf94a668d6e7227b7882af30 Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Thu Oct 22 15:56:40 2015 -0700 ASoC: fsl: Use #ifdef instead of #if for CONFIG_PM_SLEEP Change them to #ifdef as CONFIG_PM_SLEEP might not be defined at all. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ce247b45a3289f88008c13ca26ccde0db5fea690 Merge: 444c37ae c64c607 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 26 11:07:40 2015 +0900 Merge branch 'topic/fsl-mega-fast' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-fsl commit 2bf8bda933a04b5b9cdeb9a6b412fd8bd1ea7500 Merge: d787dcd 16134b3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 10:39:22 2015 +0900 Merge tag 'arm/soc/for-4.4/rpi-drivers' of https://github.com/Broadcom/stblinux into next/drivers This pull request contains the Raspberry Pi firmware driver, for communicating with the VPU which has exclusive control of some of the peripherals. Eric adds the actual firmware driver and Alexander fixes the header file which was missing include guards. * tag 'arm/soc/for-4.4/rpi-drivers' of https://github.com/Broadcom/stblinux: ARM: bcm2835: add mutual inclusion protection ARM: bcm2835: Add the Raspberry Pi firmware driver Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5f76048695eea2233b75d95161fa6170d83807ce Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Sat Oct 24 12:25:31 2015 +0900 ARM: dts: uniphier: add I2C aliases for ProXstream2 boards Add aliases to fix the I2C indexes like the other UniPhier boards. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 8ca532ad2b050da0d0db3544d9ab8b40675e4ca1 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Oct 21 15:27:36 2015 -0400 tracing: Check all tasks on each CPU when filtering pids My tests found that if a task is running but not filtered when set_event_pid is modified, then it can still be traced. Call on_each_cpu() to check if the current running task should be filtered and update the per cpu flags of tr->data appropriately. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3fdaf80f4a836911c0eda1cee92f8aa625f90197 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 25 12:58:44 2015 -0400 tracing: Implement event pid filtering Add the necessary hooks to use the pids loaded in set_event_pid to filter all the events enabled in the tracing instance that match the pids listed. Two probes are added to both sched_switch and sched_wakeup tracepoints to be called before other probes are called and after the other probes are called. The first is used to set the necessary flags to let the probes know to test if they should be traced or not. The sched_switch pre probe will set the "ignore_pid" flag if neither the previous or next task has a matching pid. The sched_switch probe will set the "ignore_pid" flag if the next task does not match the matching pid. The pre probe allows for probes tracing sched_switch to be traced if necessary. The sched_wakeup pre probe will set the "ignore_pid" flag if neither the current task nor the wakee task has a matching pid. The sched_wakeup post probe will set the "ignore_pid" flag if the current task does not have a matching pid. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4909010788640b7101bf50cddb7c5e60172b4433 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Sep 24 11:33:26 2015 -0400 tracing: Add set_event_pid directory for future use Create a tracing directory called set_event_pid, which currently has no function, but will be used to filter all events for the tracing instance or the pids that are added to the file. The reason no functionality is added with this commit is that this commit focuses on the creation and removal of the pids in a safe manner. And tests can be made against this change to make sure things are correct before hooking features to the list of pids. Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 7904b5c4988e18b50056b5e71a3ffca752a8a451 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 22 17:13:19 2015 -0400 tracepoint: Give priority to probes of tracepoints In order to guarantee that a probe will be called before other probes that are attached to a tracepoint, there needs to be a mechanism to provide priority of one probe over the others. Adding a prio field to the struct tracepoint_func, which lets the probes be sorted by the priority set in the structure. If no priority is specified, then a priority of 10 is given (this is a macro, and perhaps may be changed in the future). Now probes may be added to affect other probes that are attached to a tracepoint with a guaranteed order. One use case would be to allow tracing of tracepoints be able to filter by pid. A special (higher priority probe) may be added to the sched_switch tracepoint and set the necessary flags of the other tracepoints to notify them if they should be traced or not. In case a tracepoint is enabled at the sched_switch tracepoint too, the order of the two are not random. Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f7e1b37ec84730c759eee54289f61f30e59d79de Merge: 30aa7b1 abb1ed7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 25 18:28:23 2015 -0700 Merge branch 'gianfar-fixes' Claudiu Manoil says: ==================== gianfar: Misc. fixes and updates Various fixes for some older issues, including having a MAINTAINERS entry for this driver. I'd recommend applying them on top of net, thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abb1ed7b793fcb10cadb378fe0eeee589b61a9e1 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Oct 23 11:42:01 2015 +0300 MAINTAINERS: Add entry for gianfar ethernet driver Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1de65a5ea32de7b335ab505366d45cefadbbdf71 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Oct 23 11:42:00 2015 +0300 gianfar: Fix Rx BSY error handling The Rx BSY error interrupt indicates that a frame was received and discarded due to lack of buffers, so it's a rx ring overflow condition and has nothing to do with with bad rx packets. Use the right counter. BSY conditions happen when the SoC is under performance stress. Doing *more* work in stress situations by trying to schedule NAPI is not a good idea as the stressed system becomes still more stressed. The Rx interrupt is already at work making sure the NAPI is scheduled. So calling gfar_receive() here does not help. This issue was present since day 1. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15bf176db1fb00333af7050c0c699fc7b4e4a960 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Oct 23 11:41:59 2015 +0300 gianfar: Don't enable the Filer w/o the Parser Under one unusual circumstance it's possible to wrongly set FILREN without enabling PRSDEP as well in the RCTRL register, against the hardware specifications. With the default config this does not happen because the default Rx offloads (Rx csum and Rx VLAN) properly enable PRSDEP. But if anyone disables all these offloads (via ethtool), we get a wrong configuration were the Rx flow classification and hashing, and other Filer based features (e.g. wake-on-filer interrupt) won't work. This patch fixes the issue. Also, account for Rx FCB insertion which happens every time PRSDEP is set. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5188f7e5a7175975f8b943a4b25e499c98a7b9d6 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Fri Oct 23 11:41:58 2015 +0300 gianfar: Remove duplicated argument to bitwise OR RQFCR_AND is duplicated. Add missing space as well. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc86e53a0ae9bb26c1af04034e010d8f22b1b0da Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Oct 24 14:55:41 2015 +0800 ASoC: rt5645: Sort the order for register bit defines So we have consistent order for register bit defines. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3ed770f60317a02a5a5e4a7345dc13d8819f56e8 Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Thu Oct 22 15:09:04 2015 -0400 net: encx24j600: Fix mask to update LED configuration This fixes the mask used to update the LED configuration so that it clears the necessary bits as well as setting the bits according to the mask. Also reverse the LED configuration to show the Link state + collisions in LEDA and the Link state + TX/RX events in LEDB. Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da92bf99dd9f4b62df6168787bf0a92dc7d1bce7 Merge: 1586a58 e483911 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 25 18:20:41 2015 -0700 Merge branch 'mvneta-ethtool-stats' Russell King says: ==================== mvneta ethtool statistics Sorry for v3 - I forgot to update the commit message on patch 1 as requested by Marcin. This short series adds ethtool statistics reporting to mvneta. Having discussed with Andrew on IRC, we decided I'd pick up his patch into my series. My change for patch 1 compared to the previous RFC splits out the reading of the statistics from the hardware into a separate function, in order to facilitate work going on elsewhere to arrange for the statistics to be preserved across a suspend/resume cycle. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e483911f9f16d508dd2652ac860977533b96e34e Author: Andrew Lunn <andrew@xxxxxxx> Date: Thu Oct 22 18:37:36 2015 +0100 net: mvneta: Fix clearing of MIB statistics The existing function to clear the MIB statatistics was using the wrong address for the registers. Also, the counters would of been cleared when the interface was brought up, not during the probe. Fix both of these. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b0cdefa4cd5dca85967f66da8ab376c0321b845 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Oct 22 18:37:30 2015 +0100 net: mvneta: add ethtool statistics Add support for the ethtool statistic interface, returning the full set of statistics which both Armada 370, 38x and Armada XP can support. Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3af37f0228232d1ad1963c559aaa86dc48a8cfc2 Merge: a83e682 f0864f8 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 10:19:41 2015 +0900 Merge tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/defconfig Samsung defconfig udpates for v4.4 - exynos_defconfig : enable USB Video Class for Peach boards. : enable DWC2 USB and USB ethernet gadget : enable LEDs (LEGS_GPIO and LEDS_PWM)for Odroid-XU3/XU4 : enable RTL8152 for Odroid-XU4 : enable WiFi-Ex as a module instead of build-in : disable temporal simplefb support (FB_SIMPLE) because exynos DRM driver can support it now - multi_v7_defconfig : enable DWC2 USB and USB ethernet gadget : enable RTL8152 for Odroid-XU4 * tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: multi_v7_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 ARM: exynos_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 ARM: exynos_defconfig: Enable WiFi-Ex as a module instead built-in ARM: exynos_defconfig: Disable simplefb support ARM: exynos_defconfig: Enable LEDS for Odroid-XU3/XU4 ARM: multi_v7_defconfig: Enable DWC2 USB driver and USB ethernet gadget ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget ARM: exynos_defconfig: Enable USB Video Class support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 156746b1733057e50b3b3cb33c3669dac06676ab Merge: a5ac4a6 97d5c7a Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 10:18:41 2015 +0900 Merge tag 'samsung-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc Samsung SoC updates for v4.4 - use PWM lookup table with pwm_add_table() for the following boards : s3c24xx h1940 and rx1950 : s3c64xx smdk6410, crag6410, hmt and smartq - document: update bootloader interface on exynos542x * tag 'samsung-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: Documentation: EXYNOS: Update bootloader interface on exynos542x ARM: S3C64XX: Use PWM lookup table for mach-smartq ARM: S3C64XX: Use PWM lookup table for mach-hmt ARM: S3C64XX: Use PWM lookup table for mach-crag6410 ARM: S3C64XX: Use PWM lookup table for smdk6410 ARM: S3C24XX: Use PWM lookup table for mach-rx1950 ARM: S3C24XX: Use PWM lookup table for mach-h1940 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 17e2aa01e461a3d3c4df3ea62aa3899df306d38c Merge: dd5cf71 c60ce7f Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 10:17:36 2015 +0900 Merge tag 'samsung-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/arm64 Samsung arm64 DT update for v4.4 - add BUS1 instance pinctrl support on exynos7 SoC * tag 'samsung-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: arm64: dts: Add BUS1 instance pinctrl support for exynos7 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 99b6eb55ce137d769c2294449d1fe3821def9269 Merge: 3eb52a0 d6b9aea Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 10:13:50 2015 +0900 Merge tag 'samsung-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Samsung 2nd DT updates for v4.4 - use exynos5420-dw-mshc instead of exynos5250 for exynos3250 - add DISP1 clocks and the DISP1 power domain of two closk on exynos5250 (clock commit got Stephen's ack) - add vbus regulators on exynos3250, exynos4210 and exynos4412 boards - fix typo in regulator enable GPIO property on s5pv20-aquila and goni - document: correct the example of exynos power domain clocks - document: consolidate exynos SoC dt-bindings and non-Samsung boards related compatibles (FriendlyARM, Google, Hardkernel and Insignal) - update MAINTAINER entries accordingly (documentation) * tag 'samsung-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: MAINTAINERS: Add documentation and dt-bindings for exynos stuff dt-bindings: EXYNOS: Document compatibles from other vendors dt-bindings: Consolidate Exynos SoC bindings ARM: dts: Add clocks to DISP1 domain in exynos5250 dt-bindings: Correct the example for Exynos power domain clocks ARM: dts: Fix typo in regulator enable GPIO property in s5pv210-goni ARM: dts: Fix typo in regulator enable GPIO property in s5pv210-aquila ARM: dts: Add vbus regulator to USB2 phy nodes on exynos3250, exynos4210 and exynos4412 boards clk: samsung: exynos5250: Add DISP1 clocks ARM: dts: use exynos5420-dw-mshc compatible for exynos3250 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 30aa7b18e8f997a6c35e8d866642396a787afbb8 Merge: ce9d9b8 34411b6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 25 18:13:37 2015 -0700 Merge branch 'thunderx-fixes' David Daney says: ==================== net: thunderx: Support pass-2 revision hardware. With the availability of a new revision of the ThunderX NIC hardware a few changes to the driver are required. With these, the driver works on all currently available hardware revisions. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34411b68b132e403ddf395419e986475a9993d9b Author: Thanneeru Srinivasulu <tsrinivasulu@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 17:14:10 2015 -0700 net: thunderx: Incorporate pass2 silicon CPI index configuration changes Add support for ThunderX pass2 CPI and MPI configuration changes. MPI_ALG is not enabled i.e MCAM parsing is disabled. Signed-off-by: Thanneeru Srinivasulu <tsrinivasulu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88ed237720bd618240439714a57fb69ea96428e7 Author: David Daney <david.daney@xxxxxxxxxx> Date: Fri Oct 23 17:14:09 2015 -0700 net: thunderx: Rewrite silicon revision tests. The test for pass-1 silicon was incorrect, it should be for all revisions less than 8. Also the revision is already present in the pci_dev, so there is no need to read and keep a private copy. Remove rev_id and code to read it from struct nicpf. Create new static inline function pass1_silicon() to be used to testing the silicon version. Use pass1_silicon() for revision checks, this will be more widely used in follow on patches. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e85777ff071b51f500b130b6d036922af32be25 Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Fri Oct 23 17:14:08 2015 -0700 net: thunderx: Fix incorrect subsystem devid of VF on pass2 silicon Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9bf45e08ef36b6726a5744f0029325e81b3248a Author: Sunil Goutham <sgoutham@xxxxxxxxxx> Date: Fri Oct 23 17:14:07 2015 -0700 net: thunderx: Remove PF soft reset. In some silicon revisions, the soft reset clobbers PCI config space, so quit doing the reset. Signed-off-by: Sunil Goutham <sgoutham@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d787dcdb9c8f412b1dd0727f90d3f793a61a2551 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Oct 23 20:41:31 2015 +0200 bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus Reduced Serial Bus (RSB) is an Allwinner proprietery interface used to communicate with PMICs and other peripheral ICs. RSB is a two-wire push-pull serial bus that supports 1 master device and up to 15 active slave devices. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4a5705a9c270e6e62f735846604d8593a890ca1b Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Oct 23 20:41:30 2015 +0200 bus: sunxi-rsb: Add Allwinner Reduced Serial Bus (RSB) controller bindings Reduced Serial Bus is a proprietary 2-line push-pull serial bus supporting multiple slave devices. It was developed by Allwinner, Inc. and used by Allwinner and X-Powers, Inc. for their line of PMICs and other peripheral ICs. Recent Allwinner SoCs, starting with the A23, have an RSB controller. This is used to talk to the PMIC, and later with the A80 and A83 platform, the audio codec IC. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 03f136a2074b2b8890da4a24df7104558ad0da48 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Tue Jul 14 19:24:45 2015 +0200 timeconst: Update path in comment Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Cc: hofrat@xxxxxxxxx Link: http://lkml.kernel.org/r/1436894685-5868-1-git-send-email-Jason@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a5ac4a66c6d897720bc6e8f332650630b1ff38ee Merge: c2c2b3d 9d2ea95 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:58:26 2015 +0900 Merge tag 'mvebu-soc-4.4-2' of git://git.infradead.org/linux-mvebu into next/soc mvebu soc for 4.4 (part 2) - Use mac_pton() helper in the oropn5x board instead of duplicating it - Add the broken-idle option allowing to boot boards with a mistake in the hardware design * tag 'mvebu-soc-4.4-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add broken-idle option ARM: orion5x: use mac_pton() helper Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3eb52a06d511e97809852ae8e7787a38a05c5ca0 Merge: 41adfe8 481b4f1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:53:14 2015 +0900 Merge tag 'tegra-for-4.4-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt ARM: tegra: Devicetree changes for v4.4-rc1 Mostly a bunch of updates to the Toradex Apalis and Colibri platforms along with a couple of cleanup patches. * tag 'tegra-for-4.4-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (25 commits) ARM: tegra: Use consistent indentation for SATA node ARM: tegra: colibri-eval: Fix power/wakeup key ARM: tegra: colibri-eval: Add comment concerning SD/MMC ARM: tegra: colibri-eval: Fix vendor string of M41T0M6 RTC ARM: tegra: colibri: Properly align pin names ARM: tegra: colibri: Replace eMMC label by comment ARM: tegra: colibri: Activate STMPE811 touch controller ARM: tegra: colibri: Add touch pen interrupt pin muxing ARM: tegra: colibri: Fix comment about 3v3 fixed supply ARM: tegra: colibri: Add pin muxing for on-module power I2C ARM: tegra: colibri: Improve comment about thermal alert pin ARM: tegra: colibri: Fix HDMI supplies ARM: tegra: colibri: Update hardware revisions compatibility ARM: tegra: apalis-eval: Fix power/wakeup key ARM: tegra: apalis-eval: Fix backlight PWM comment ARM: tegra: apalis-eval: Set OTG dr_mode ARM: tegra: apalis-eval: Enable HDA controller ARM: tegra: apalis: Properly align pin names ARM: tegra: apalis: Add digital audio pin muxing ARM: tegra: apalis: Add comment concerning eMMC ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit a83e682ee2579eaae50a6bdae46b62c7a515e696 Merge: 98376f6 2fb43ce Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:47:19 2015 +0900 Merge tag 'tegra-for-4.4-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/defconfig ARM: tegra: Default configuration updates for v4.4-rc1 Enable touchscreen and audio support on Toradex Colibri platforms. * tag 'tegra-for-4.4-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Update multi_v7_defconfig ARM: tegra: Update default configuration ARM: tegra: Rebuild default configuration on v4.3-rc1 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c2c2b3d35706e4d4b481757a4cb6a2462f847db5 Merge: 44024ce e77b675 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:45:56 2015 +0900 Merge tag 'tegra-for-4.4-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc ARM: tegra: Core SoC changes for v4.4-rc1 A single patch to restore rfkill support on AC100. * tag 'tegra-for-4.4-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: paz00: use con_id's to refer GPIO's in gpiod_lookup table Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 44024ce036e9b837b63f84004f1e63f2a277378a Merge: fa54cda 5fcf8d1 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:44:48 2015 +0900 Merge tag 'at91-ab-soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/soc More SoC changes for 4.4: - a great fix for PM/suspend/resume * tag 'at91-ab-soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 98376f6af8f17cbc086cfc60ad6ab75f52d72a65 Merge: 302f9f6 4af8540 Author: Olof Johansson <olof@xxxxxxxxx> Date: Mon Oct 26 09:44:07 2015 +0900 Merge tag 'at91-ab-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/defconfig defconfig update for 4.4: - Add sama5d2 and its peripherals to sama5_defconfig and multi_v7_defconfig - Trivial savedefconfig updates to at91_dt_defconfig and sama5_defconfig * tag 'at91-ab-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: multi_v7_defconfig: Add Atmel SDHCI device ARM: multi_v7_defconfig: Add Atmel Flexcom device ARM: multi_v7_defconfig: Add Atmel SAMA5D2 SoC ARM: at91/defconfig: add sama5d2 and its new devices to sama5 defconfig ARM: at91/defconfig: update at91_dt defconfig ARM: at91/defconfig: update sama5 defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 209da39154837ec1b69fb34f438041939911e4b4 Author: Lucas Stach <dev@xxxxxxxxxx> Date: Sun Oct 25 16:39:12 2015 +0100 irqchip/tegra: Propagate IRQ type setting to parent The LIC doesn't deal with the different types of interrupts itself but needs to forward calls to set the appropriate type to its parent IRQ controller. Without this fix all IRQs routed through the LIC will stay at the initial EDGE type, while most of them should actually be level triggered. Fixes: 1eec582158e2 "irqchip: tegra: Add Tegra210 support" Signed-off-by: Lucas Stach <dev@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 4.1 Link: http://lkml.kernel.org/r/1445787552-13062-1-git-send-email-dev@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 353d6d6c82e5d2533ba22e7f9fb081582bf50dc2 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 15:48:15 2015 +0200 irqchip/armada-370-xp: Fix regression by clearing IRQ_NOAUTOEN Commit d17cab4451df1 ("irqchip: Kill off set_irq_flags usage") changed the code of armada_370_xp_mpic_irq_map() from using set_irq_flags() to irq_set_probe(). While the commit log seems to imply that there are no functional changes, there are indeed functional changes introduced by this commit: the IRQ_NOAUTOEN flag is no longer cleared. This functional change causes a regression on Armada XP, which no longer works properly after suspend/resume because per-CPU interrupts remain disabled. Due to how the hardware registers work, the irq-armada-370-xp cannot simply save/restore a bunch of registers at suspend/resume to make sure that the interrupts remain in the same state after resuming. Therefore, it relies on the kernel to say whether the interrupt is disabled or not, using the irqd_irq_disabled() function. This was all working fine while the IRQ_NOAUTOEN flag was cleared. With the change introduced by Rob Herring in d17cab4451df1, the IRQ_NOAUTOEN flag is now set for all interrupts. irqd_irq_disabled() returns false for per-CPU interrupts, and therefore our per-CPU interrupts are no longer re-enabled after resume. This commit works around this problem by clearing again the IRQ_NOAUTOEN flags, so that we are back to the situation we had before commit d17cab4451df1. This work around is proposed as a minimal fix for the problem, while a better long-term solution is being worked on. Fixes: d17cab4451df1 "irqchip: Kill off set_irq_flags usage" Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1445435295-19956-1-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4ac313111018cb44ecc250445de5ccb93026a980 Author: Rich Felker <dalias@xxxxxxxx> Date: Thu Aug 20 15:11:06 2015 -0400 fs/binfmt_elf_fdpic.c: fix brk area overlap with stack on NOMMU On NOMMU archs, the FDPIC ELF loader sets up the usable brk range to overlap with all but the last PAGE_SIZE bytes of the stack. This leads to catastrophic memory reuse/corruption if brk is used. Fix by setting the brk area to zero size to disable its use. Signed-off-by: Rich Felker <dalias@xxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit ba210f5de42f4604730ffaea96bfb6e591740bde Merge: e3ed766 02715e8 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 25 22:55:31 2015 +0100 Merge branch 'acpi-pci' * acpi-pci: ia64/PCI/ACPI: Use common interface to support PCI host bridge x86/PCI/ACPI: Use common interface to support PCI host bridge ACPI/PCI: Reset acpi_root_dev->domain to 0 when pci_ignore_seg is set PCI/ACPI: Add interface acpi_pci_root_create() ia64/PCI: Use common struct resource_entry to replace struct iospace_resource ia64/PCI/ACPI: Use common ACPI resource parsing interface for host bridge ACPI/PCI: Enhance ACPI core to support sparse IO space commit e3ed766b4958bf7889539f09aec3f6a72d2c4dd2 Merge: 343ccb0 3722ed2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 25 22:55:14 2015 +0100 Merge branch 'acpi-init' * acpi-init: clocksource: cosmetic: Drop OF 'dependency' from symbols clocksource / arm_arch_timer: Convert to ACPI probing clocksource: Add new CLKSRC_{PROBE,ACPI} config symbols clocksource / ACPI: Add probing infrastructure for ACPI-based clocksources irqchip / GIC: Convert the GIC driver to ACPI probing irqchip / ACPI: Add probing infrastructure for ACPI-based irqchips ACPI: Add early device probing infrastructure commit 343ccb040e60c3688d4413e839975fc3c8f9e287 Merge: ab736d7 6a0d12e 362414d 6119754 f934c74 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 25 22:54:46 2015 +0100 Merge branches 'acpi-scan', 'acpi-tables', 'acpi-ec' and 'acpi-assorted' * acpi-scan: ACPI / scan: use kstrdup_const() in acpi_add_id() ACPI / scan: constify struct acpi_hardware_id::id ACPI / scan: constify first argument of struct acpi_scan_handler::match * acpi-tables: ACPI / tables: test the correct variable x86, ACPI: Handle apic/x2apic entries in MADT in correct order ACPI / tables: Add acpi_subtable_proc to ACPI table parsers * acpi-ec: ACPI / EC: Fix a race issue in acpi_ec_guard_event() ACPI / EC: Fix query handler related issues * acpi-assorted: ACPI: change acpi_sleep_proc_init() to return void ACPI: change init_acpi_device_notify() to return void commit ab736d7dc17e681be001648607be20c549b6229c Merge: 32b8819 205ad97 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 25 22:51:48 2015 +0100 Merge branch 'device-properties' * device-properties: ACPI / property: Fix subnode lookup scope for data-only subnodes acpi-dma: Add support for "dma-names" device property device property: Add fwnode_property_match_string() ACPI / property: Extend device_get_next_child_node() to data-only nodes ACPI / gpio: Split acpi_get_gpiod_by_index() ACPI / property: Extend fwnode_property_* to data-only subnodes ACPI / property: Expose data-only subnodes via sysfs ACPI / property: Add support for data-only subnodes ACPI / property: Add routine for extraction of _DSD properties commit 0bbc367e21bfeea33230d893be4fa3a3ff9bcb48 Merge: ae416ba 32b8819 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 26 06:39:46 2015 +0900 Merge 4.3-rc7 into usb-next We want the USB and other fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1da5537eccd865b83fedbbb7ea704669f6d255fd Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Mon Oct 5 18:44:17 2015 +0200 Bluetooth: Fix locking issue during fast SCO reconnection. When SCO connection is requested and disconnected fast, there is a change that sco_sock_shutdown is going to preempt thread started in sco_connect_cfm. When this happens struct sock sk may be removed but a pointer to it is still held in sco_conn_ready, where embedded spinlock is used. If it is used, but struct sock has been removed, it will crash. Block connection object, which will prevent struct sock from being removed and give connection process chance to finish. BUG: spinlock bad magic on CPU#0, kworker/u:2H/319 lock: 0xe3e99434, .magic: f3000000, .owner: (���/0, .owner_cpu: -203804160 Pid: 319, comm: kworker/u:2H Tainted: G O 3.8.0-115.1-plk-adaptation-byt-ivi-brd #1 Call Trace: [<c1155659>] ? do_raw_spin_lock+0x19/0xe9 [<fb75354f>] ? sco_connect_cfm+0x92/0x236 [bluetooth] [<fb731dbc>] ? hci_sync_conn_complete_evt.clone.101+0x18b/0x1cb [bluetooth] [<fb734ee7>] ? hci_event_packet+0x1acd/0x21a6 [bluetooth] [<c1041095>] ? finish_task_switch+0x50/0x89 [<c1349a2e>] ? __schedule+0x638/0x6b8 [<fb727918>] ? hci_rx_work+0xb9/0x2b8 [bluetooth] [<c103760a>] ? queue_delayed_work_on+0x21/0x2a [<c1035df9>] ? process_one_work+0x157/0x21b [<fb72785f>] ? hci_cmd_work+0xef/0xef [bluetooth] [<c1036217>] ? worker_thread+0x16e/0x20a [<c10360a9>] ? manage_workers+0x1cf/0x1cf [<c103a0ef>] ? kthread+0x8d/0x92 [<c134adf7>] ? ret_from_kernel_thread+0x1b/0x28 [<c103a062>] ? __init_kthread_worker+0x24/0x24 BUG: unable to handle kernel NULL pointer dereference at (null) IP: [< (null)>] (null) *pdpt = 00000000244e1001 *pde = 0000000000000000 Oops: 0010 [#1] PREEMPT SMP Modules linked in: evdev ecb rfcomm(O) libcomposite usb2380 udc_core bnep(O) btusb(O) btbcm(O) cdc_acm btintel(O) bluetooth(O) arc4 uinput hid_multitouch usbhid hid iwlmvm(O)e Pid: 319, comm: kworker/u:2H Tainted: G O 3.8.0-115.1-plk-adaptation-byt-ivi-brd #1 EIP: 0060:[<00000000>] EFLAGS: 00010246 CPU: 0 EIP is at 0x0 EAX: e3e99400 EBX: e3e99400 ECX: 00000100 EDX: 00000000 ESI: e3e99434 EDI: fb763ce0 EBP: e49b9e44 ESP: e49b9e14 DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 CR0: 8005003b CR2: 00000000 CR3: 24444000 CR4: 001007f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 Process kworker/u:2H (pid: 319, ti=e49b8000 task=e4ab9030 task.ti=e49b8000) Stack: fb75355b 00000246 fb763900 22222222 22222222 22222222 e3f94460 e3ca7c0a e49b9e4c e3f34c00 e3ca7c0a fb763ce0 e49b9e6c fb731dbc 02000246 e4cec85c e4cec008 00000000 e3f34c00 e4cec000 e3c2ce00 0000002c e49b9ed0 fb734ee7 Call Trace: [<fb75355b>] ? sco_connect_cfm+0x9e/0x236 [bluetooth] [<fb731dbc>] ? hci_sync_conn_complete_evt.clone.101+0x18b/0x1cb [bluetooth] [<fb734ee7>] ? hci_event_packet+0x1acd/0x21a6 [bluetooth] [<c1041095>] ? finish_task_switch+0x50/0x89 [<c1349a2e>] ? __schedule+0x638/0x6b8 [<fb727918>] ? hci_rx_work+0xb9/0x2b8 [bluetooth] [<c103760a>] ? queue_delayed_work_on+0x21/0x2a [<c1035df9>] ? process_one_work+0x157/0x21b [<fb72785f>] ? hci_cmd_work+0xef/0xef [bluetooth] [<c1036217>] ? worker_thread+0x16e/0x20a [<c10360a9>] ? manage_workers+0x1cf/0x1cf [<c103a0ef>] ? kthread+0x8d/0x92 [<c134adf7>] ? ret_from_kernel_thread+0x1b/0x28 [<c103a062>] ? __init_kthread_worker+0x24/0x24 Code: Bad EIP value. EIP: [<00000000>] 0x0 SS:ESP 0068:e49b9e14 CR2: 0000000000000000 ---[ end trace 942a6577c0abd725 ]--- Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 435c513369768f5840cd57101e398bc450fd26de Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Mon Oct 5 18:44:16 2015 +0200 Bluetooth: Fix locking issue on SCO disconnection Thread handling SCO disconnection may get preempted in '__sco_sock_close' after dropping a reference to hci_conn but before marking this as NULL in associated struct sco_conn. When execution returs to this thread, this connection will possibly be released, resulting in kernel crash Lock connection before this point. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<fb770ab9>] __sco_sock_close+0x194/0x1ff [bluetooth] *pdpt = 0000000023da6001 *pde = 0000000000000000 Oops: 0002 [#1] PREEMPT SMP Modules linked in: evdev ecb rfcomm(O) libcomposite usb2380 udc_core bnep(O) btusb(O) btbcm(O) cdc_acm btintel(O) bluetooth(O) arc4 uinput hid_multitouch usbhid iwlmvm(O) hide Pid: 984, comm: bluetooth Tainted: G O 3.8.0-115.1-plk-adaptation-byt-ivi-brd #1 EIP: 0060:[<fb770ab9>] EFLAGS: 00010282 CPU: 2 EIP is at __sco_sock_close+0x194/0x1ff [bluetooth] EAX: 00000000 EBX: e49d7600 ECX: ef1ec3c2 EDX: 000000c3 ESI: e4c12000 EDI: 00000000 EBP: ef1edf5c ESP: ef1edf4c DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 80050033 CR2: 00000000 CR3: 23da7000 CR4: 001007f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 Process bluetooth (pid: 984, ti=ef1ec000 task=e47f2550 task.ti=ef1ec000) Stack: e4c120d0 e49d7600 00000000 08421a40 ef1edf70 fb770b7a 00000002 e8a4cc80 08421a40 ef1ec000 c12966b1 00000001 00000000 0000000b 084954c8 c1296b6c 0000001b 00000002 0000001b 00000002 00000000 00000002 b2524880 00000046 Call Trace: [<fb770b7a>] ? sco_sock_shutdown+0x56/0x95 [bluetooth] [<c12966b1>] ? sys_shutdown+0x37/0x53 [<c1296b6c>] ? sys_socketcall+0x12e/0x1be [<c134ae7e>] ? sysenter_do_call+0x12/0x26 [<c1340000>] ? ip_vs_control_net_cleanup+0x46/0xb1 Code: e8 90 6b 8c c5 f6 05 72 5d 78 fb 04 74 17 8b 46 08 50 56 68 0a fd 77 fb 68 60 5d 78 fb e8 68 95 9e c5 83 c4 10 8b 83 fc 01 00 00 <c7> 00 00 00 00 00 eb 32 ba 68 00 00 0b EIP: [<fb770ab9>] __sco_sock_close+0x194/0x1ff [bluetooth] SS:ESP 0068:ef1edf4c CR2: 0000000000000000 ---[ end trace 47fa2f55a9544e69 ]--- Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 75e34f5cf69bd731d3b7375a786d4a15494fb8c6 Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Mon Oct 5 18:44:15 2015 +0200 Bluetooth: Fix crash on SCO disconnect When disconnecting audio from the phone's side, it may happen, that a thread handling HCI message 'disconnection complete' will get preempted in 'sco_conn_del' before calling 'sco_sock_kill', still holding a pointer to struct sock sk. Interrupting thread started in 'sco_sock_shutdown' will carry on releasing resources and will eventually release struct sock. When execution goes back to first thread it will call sco_sock_kill using now invalid pointer to already destroyed socket. Fix is to grab a reference to the socket a release it after calling 'sco_sock_kill'. [ 166.358213] BUG: unable to handle kernel paging request at 7541203a [ 166.365228] IP: [<fb6e8bfb>] bt_sock_unlink+0x1a/0x38 [bluetooth] [ 166.372068] *pdpt = 0000000024b19001 *pde = 0000000000000000 [ 166.378483] Oops: 0002 [#1] PREEMPT SMP [ 166.382871] Modules linked in: evdev ecb rfcomm(O) libcomposite usb2380 udc_core bnep(O) btusb(O) btbcm(O) btintel(O) cdc_acm bluetooth(O) arc4 uinput hid_multitouch iwlmvm(O) usbhid hide [ 166.424233] Pid: 338, comm: kworker/u:2H Tainted: G O 3.8.0-115.1-plk-adaptation-byt-ivi-brd #1 [ 166.435112] EIP: 0060:[<fb6e8bfb>] EFLAGS: 00010206 CPU: 0 [ 166.441259] EIP is at bt_sock_unlink+0x1a/0x38 [bluetooth] [ 166.447382] EAX: 632e6563 EBX: e4bfc600 ECX: e466d4d3 EDX: 7541203a [ 166.454369] ESI: fb7278ac EDI: e4d52000 EBP: e4669e20 ESP: e4669e0c [ 166.461366] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 166.467391] CR0: 8005003b CR2: 7541203a CR3: 24aba000 CR4: 001007f0 [ 166.474387] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 166.481375] DR6: ffff0ff0 DR7: 00000400 [ 166.485654] Process kworker/u:2H (pid: 338, ti=e4668000 task=e466e030 task.ti=e4668000) [ 166.494591] Stack: [ 166.496830] e4bfc600 e4bfc600 fb715c28 e4717ee0 e4d52000 e4669e3c fb715cf3 e4bfc634 [ 166.505518] 00000068 e4d52000 e4c32000 fb7277c0 e4669e6c fb6f2019 0000004a 00000216 [ 166.514205] e4660101 e4c32008 02000001 00000013 e4d52000 e4c32000 e3dc9240 00000005 [ 166.522891] Call Trace: [ 166.525654] [<fb715c28>] ? sco_sock_kill+0x73/0x9a [bluetooth] [ 166.532295] [<fb715cf3>] ? sco_conn_del+0xa4/0xbf [bluetooth] [ 166.538836] [<fb6f2019>] ? hci_disconn_complete_evt.clone.55+0x1bd/0x205 [bluetooth] [ 166.547609] [<fb6f73d3>] ? hci_event_packet+0x297/0x223c [bluetooth] [ 166.554805] [<c10416da>] ? dequeue_task+0xaf/0xb7 [ 166.560154] [<c1041095>] ? finish_task_switch+0x50/0x89 [ 166.566086] [<c1349a2e>] ? __schedule+0x638/0x6b8 [ 166.571460] [<fb6eb906>] ? hci_rx_work+0xb9/0x2b8 [bluetooth] [ 166.577975] [<c1035df9>] ? process_one_work+0x157/0x21b [ 166.583933] [<fb6eb84d>] ? hci_cmd_work+0xef/0xef [bluetooth] [ 166.590448] [<c1036217>] ? worker_thread+0x16e/0x20a [ 166.596088] [<c10360a9>] ? manage_workers+0x1cf/0x1cf [ 166.601826] [<c103a0ef>] ? kthread+0x8d/0x92 [ 166.606691] [<c134adf7>] ? ret_from_kernel_thread+0x1b/0x28 [ 166.613010] [<c103a062>] ? __init_kthread_worker+0x24/0x24 [ 166.619230] Code: 85 63 ff ff ff 31 db 8d 65 f4 89 d8 5b 5e 5f 5d c3 56 8d 70 04 53 89 f0 89 d3 e8 7e 17 c6 c5 8b 53 28 85 d2 74 1a 8b 43 24 85 c0 <89> 02 74 03 89 50 04 c7 43 28 00 00 00 [ 166.640501] EIP: [<fb6e8bfb>] bt_sock_unlink+0x1a/0x38 [bluetooth] SS:ESP 0068:e4669e0c [ 166.649474] CR2: 000000007541203a [ 166.653420] ---[ end trace 0181ff2c9e42d51e ]--- [ 166.658609] note: kworker/u:2H[338] exited with preempt_count 1 Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c0859e2f4ca530c0bf6a333ca3eb8430008e62c9 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 24 16:42:32 2015 +0200 Bluetooth: btmrvl: add missing of_node_put for_each_compatible_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression e; local idexpression n; @@ for_each_compatible_node(n, ...) { ... when != of_node_put(n) when != e = n ( return n; | + of_node_put(n); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b06c4bf5c874a57254b197f53ddf588e7a24a2bf Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Oct 23 07:52:54 2015 +0100 Btrfs: fix regression running delayed references when using qgroups In the kernel 4.2 merge window we had a big changes to the implementation of delayed references and qgroups which made the no_quota field of delayed references not used anymore. More specifically the no_quota field is not used anymore as of: commit 0ed4792af0e8 ("btrfs: qgroup: Switch to new extent-oriented qgroup mechanism.") Leaving the no_quota field actually prevents delayed references from getting merged, which in turn cause the following BUG_ON(), at fs/btrfs/extent-tree.c, to be hit when qgroups are enabled: static int run_delayed_tree_ref(...) { (...) BUG_ON(node->ref_mod != 1); (...) } This happens on a scenario like the following: 1) Ref1 bytenr X, action = BTRFS_ADD_DELAYED_REF, no_quota = 1, added. 2) Ref2 bytenr X, action = BTRFS_DROP_DELAYED_REF, no_quota = 0, added. It's not merged with Ref1 because Ref1->no_quota != Ref2->no_quota. 3) Ref3 bytenr X, action = BTRFS_ADD_DELAYED_REF, no_quota = 1, added. It's not merged with the reference at the tail of the list of refs for bytenr X because the reference at the tail, Ref2 is incompatible due to Ref2->no_quota != Ref3->no_quota. 4) Ref4 bytenr X, action = BTRFS_DROP_DELAYED_REF, no_quota = 0, added. It's not merged with the reference at the tail of the list of refs for bytenr X because the reference at the tail, Ref3 is incompatible due to Ref3->no_quota != Ref4->no_quota. 5) We run delayed references, trigger merging of delayed references, through __btrfs_run_delayed_refs() -> btrfs_merge_delayed_refs(). 6) Ref1 and Ref3 are merged as Ref1->no_quota = Ref3->no_quota and all other conditions are satisfied too. So Ref1 gets a ref_mod value of 2. 7) Ref2 and Ref4 are merged as Ref2->no_quota = Ref4->no_quota and all other conditions are satisfied too. So Ref2 gets a ref_mod value of 2. 8) Ref1 and Ref2 aren't merged, because they have different values for their no_quota field. 9) Delayed reference Ref1 is picked for running (select_delayed_ref() always prefers references with an action == BTRFS_ADD_DELAYED_REF). So run_delayed_tree_ref() is called for Ref1 which triggers the BUG_ON because Ref1->red_mod != 1 (equals 2). So fix this by removing the no_quota field, as it's not used anymore as of commit 0ed4792af0e8 ("btrfs: qgroup: Switch to new extent-oriented qgroup mechanism."). The use of no_quota was also buggy in at least two places: 1) At delayed-refs.c:btrfs_add_delayed_tree_ref() - we were setting no_quota to 0 instead of 1 when the following condition was true: is_fstree(ref_root) || !fs_info->quota_enabled 2) At extent-tree.c:__btrfs_inc_extent_ref() - we were attempting to reset a node's no_quota when the condition "!is_fstree(root_objectid) || !root->fs_info->quota_enabled" was true but we did it only in an unused local stack variable, that is, we never reset the no_quota value in the node itself. This fixes the remainder of problems several people have been having when running delayed references, mostly while a balance is running in parallel, on a 4.2+ kernel. Very special thanks to Stéphane Lesimple for helping debugging this issue and testing this fix on his multi terabyte filesystem (which took more than one day to balance alone, plus fsck, etc). Also, this fixes deadlock issue when using the clone ioctl with qgroups enabled, as reported by Elias Probst in the mailing list. The deadlock happens because after calling btrfs_insert_empty_item we have our path holding a write lock on a leaf of the fs/subvol tree and then before releasing the path we called check_ref() which did backref walking, when qgroups are enabled, and tried to read lock the same leaf. The trace for this case is the following: INFO: task systemd-nspawn:6095 blocked for more than 120 seconds. (...) Call Trace: [<ffffffff86999201>] schedule+0x74/0x83 [<ffffffff863ef64c>] btrfs_tree_read_lock+0xc0/0xea [<ffffffff86137ed7>] ? wait_woken+0x74/0x74 [<ffffffff8639f0a7>] btrfs_search_old_slot+0x51a/0x810 [<ffffffff863a129b>] btrfs_next_old_leaf+0xdf/0x3ce [<ffffffff86413a00>] ? ulist_add_merge+0x1b/0x127 [<ffffffff86411688>] __resolve_indirect_refs+0x62a/0x667 [<ffffffff863ef546>] ? btrfs_clear_lock_blocking_rw+0x78/0xbe [<ffffffff864122d3>] find_parent_nodes+0xaf3/0xfc6 [<ffffffff86412838>] __btrfs_find_all_roots+0x92/0xf0 [<ffffffff864128f2>] btrfs_find_all_roots+0x45/0x65 [<ffffffff8639a75b>] ? btrfs_get_tree_mod_seq+0x2b/0x88 [<ffffffff863e852e>] check_ref+0x64/0xc4 [<ffffffff863e9e01>] btrfs_clone+0x66e/0xb5d [<ffffffff863ea77f>] btrfs_ioctl_clone+0x48f/0x5bb [<ffffffff86048a68>] ? native_sched_clock+0x28/0x77 [<ffffffff863ed9b0>] btrfs_ioctl+0xabc/0x25cb (...) The problem goes away by eleminating check_ref(), which no longer is needed as its purpose was to get a value for the no_quota field of a delayed reference (this patch removes the no_quota field as mentioned earlier). Reported-by: Stéphane Lesimple <stephane_btrfs@xxxxxxxxxxx> Tested-by: Stéphane Lesimple <stephane_btrfs@xxxxxxxxxxx> Reported-by: Elias Probst <mail@xxxxxxxxxxxxxx> Reported-by: Peter Becker <floyd.net@xxxxxxxxx> Reported-by: Malte Schröder <malte@xxxxxxxx> Reported-by: Derek Dongray <derek@xxxxxxxxxxxxx> Reported-by: Erkki Seppala <flux-btrfs@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.2+ Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> commit 2c3cf7d5f6105bb957df125dfce61d4483b8742d Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Oct 22 09:47:34 2015 +0100 Btrfs: fix regression when running delayed references In the kernel 4.2 merge window we had a refactoring/rework of the delayed references implementation in order to fix certain problems with qgroups. However that rework introduced one more regression that leads to the following trace when running delayed references for metadata: [35908.064664] kernel BUG at fs/btrfs/extent-tree.c:1832! [35908.065201] invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [35908.065201] Modules linked in: dm_flakey dm_mod btrfs crc32c_generic xor raid6_pq nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc loop fuse parport_pc psmouse i2 [35908.065201] CPU: 14 PID: 15014 Comm: kworker/u32:9 Tainted: G W 4.3.0-rc5-btrfs-next-17+ #1 [35908.065201] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.1-0-g4adadbd-20150316_085822-nilsson.home.kraxel.org 04/01/2014 [35908.065201] Workqueue: btrfs-extent-refs btrfs_extent_refs_helper [btrfs] [35908.065201] task: ffff880114b7d780 ti: ffff88010c4c8000 task.ti: ffff88010c4c8000 [35908.065201] RIP: 0010:[<ffffffffa04928b5>] [<ffffffffa04928b5>] insert_inline_extent_backref+0x52/0xb1 [btrfs] [35908.065201] RSP: 0018:ffff88010c4cbb08 EFLAGS: 00010293 [35908.065201] RAX: 0000000000000000 RBX: ffff88008a661000 RCX: 0000000000000000 [35908.065201] RDX: ffffffffa04dd58f RSI: 0000000000000001 RDI: 0000000000000000 [35908.065201] RBP: ffff88010c4cbb40 R08: 0000000000001000 R09: ffff88010c4cb9f8 [35908.065201] R10: 0000000000000000 R11: 000000000000002c R12: 0000000000000000 [35908.065201] R13: ffff88020a74c578 R14: 0000000000000000 R15: 0000000000000000 [35908.065201] FS: 0000000000000000(0000) GS:ffff88023edc0000(0000) knlGS:0000000000000000 [35908.065201] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [35908.065201] CR2: 00000000015e8708 CR3: 0000000102185000 CR4: 00000000000006e0 [35908.065201] Stack: [35908.065201] ffff88010c4cbb18 0000000000000f37 ffff88020a74c578 ffff88015a408000 [35908.065201] ffff880154a44000 0000000000000000 0000000000000005 ffff88010c4cbbd8 [35908.065201] ffffffffa0492b9a 0000000000000005 0000000000000000 0000000000000000 [35908.065201] Call Trace: [35908.065201] [<ffffffffa0492b9a>] __btrfs_inc_extent_ref+0x8b/0x208 [btrfs] [35908.065201] [<ffffffffa0497117>] ? __btrfs_run_delayed_refs+0x4d4/0xd33 [btrfs] [35908.065201] [<ffffffffa049773d>] __btrfs_run_delayed_refs+0xafa/0xd33 [btrfs] [35908.065201] [<ffffffffa04a976a>] ? join_transaction.isra.10+0x25/0x41f [btrfs] [35908.065201] [<ffffffffa04a97ed>] ? join_transaction.isra.10+0xa8/0x41f [btrfs] [35908.065201] [<ffffffffa049914d>] btrfs_run_delayed_refs+0x75/0x1dd [btrfs] [35908.065201] [<ffffffffa04992f1>] delayed_ref_async_start+0x3c/0x7b [btrfs] [35908.065201] [<ffffffffa04d4b4f>] normal_work_helper+0x14c/0x32a [btrfs] [35908.065201] [<ffffffffa04d4e93>] btrfs_extent_refs_helper+0x12/0x14 [btrfs] [35908.065201] [<ffffffff81063b23>] process_one_work+0x24a/0x4ac [35908.065201] [<ffffffff81064285>] worker_thread+0x206/0x2c2 [35908.065201] [<ffffffff8106407f>] ? rescuer_thread+0x2cb/0x2cb [35908.065201] [<ffffffff8106407f>] ? rescuer_thread+0x2cb/0x2cb [35908.065201] [<ffffffff8106904d>] kthread+0xef/0xf7 [35908.065201] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 [35908.065201] [<ffffffff8147d10f>] ret_from_fork+0x3f/0x70 [35908.065201] [<ffffffff81068f5e>] ? kthread_parkme+0x24/0x24 [35908.065201] Code: 6a 01 41 56 41 54 ff 75 10 41 51 4d 89 c1 49 89 c8 48 8d 4d d0 e8 f6 f1 ff ff 48 83 c4 28 85 c0 75 2c 49 81 fc ff 00 00 00 77 02 <0f> 0b 4c 8b 45 30 8b 4d 28 45 31 [35908.065201] RIP [<ffffffffa04928b5>] insert_inline_extent_backref+0x52/0xb1 [btrfs] [35908.065201] RSP <ffff88010c4cbb08> [35908.310885] ---[ end trace fe4299baf0666457 ]--- This happens because the new delayed references code no longer merges delayed references that have different sequence values. The following steps are an example sequence leading to this issue: 1) Transaction N starts, fs_info->tree_mod_seq has value 0; 2) Extent buffer (btree node) A is allocated, delayed reference Ref1 for bytenr A is created, with a value of 1 and a seq value of 0; 3) fs_info->tree_mod_seq is incremented to 1; 4) Extent buffer A is deleted through btrfs_del_items(), which calls btrfs_del_leaf(), which in turn calls btrfs_free_tree_block(). The later returns the metadata extent associated to extent buffer A to the free space cache (the range is not pinned), because the extent buffer was created in the current transaction (N) and writeback never happened for the extent buffer (flag BTRFS_HEADER_FLAG_WRITTEN not set in the extent buffer). This creates the delayed reference Ref2 for bytenr A, with a value of -1 and a seq value of 1; 5) Delayed reference Ref2 is not merged with Ref1 when we create it, because they have different sequence numbers (decided at add_delayed_ref_tail_merge()); 6) fs_info->tree_mod_seq is incremented to 2; 7) Some task attempts to allocate a new extent buffer (done at extent-tree.c:find_free_extent()), but due to heavy fragmentation and running low on metadata space the clustered allocation fails and we fall back to unclustered allocation, which finds the extent at offset A, so a new extent buffer at offset A is allocated. This creates delayed reference Ref3 for bytenr A, with a value of 1 and a seq value of 2; 8) Ref3 is not merged neither with Ref2 nor Ref1, again because they all have different seq values; 9) We start running the delayed references (__btrfs_run_delayed_refs()); 10) The delayed Ref1 is the first one being applied, which ends up creating an inline extent backref in the extent tree; 10) Next the delayed reference Ref3 is selected for execution, and not Ref2, because select_delayed_ref() always gives a preference for positive references (that have an action of BTRFS_ADD_DELAYED_REF); 11) When running Ref3 we encounter alreay the inline extent backref in the extent tree at insert_inline_extent_backref(), which makes us hit the following BUG_ON: BUG_ON(owner < BTRFS_FIRST_FREE_OBJECTID); This is always true because owner corresponds to the level of the extent buffer/btree node in the btree. For the scenario described above we hit the BUG_ON because we never merge references that have different seq values. We used to do the merging before the 4.2 kernel, more specifically, before the commmits: c6fc24549960 ("btrfs: delayed-ref: Use list to replace the ref_root in ref_head.") c43d160fcd5e ("btrfs: delayed-ref: Cleanup the unneeded functions.") This issue became more exposed after the following change that was added to 4.2 as well: cffc3374e567 ("Btrfs: fix order by which delayed references are run") Which in turn fixed another regression by the two commits previously mentioned. So fix this by bringing back the delayed reference merge code, with the proper adaptations so that it operates against the new data structure (linked list vs old red black tree implementation). This issue was hit running fstest btrfs/063 in a loop. Several people have reported this issue in the mailing list when running on kernels 4.2+. Very special thanks to Stéphane Lesimple for helping debugging this issue and testing this fix on his multi terabyte filesystem (which took more than one day to balance alone, plus fsck, etc). Fixes: c6fc24549960 ("btrfs: delayed-ref: Use list to replace the ref_root in ref_head.") Reported-by: Peter Becker <floyd.net@xxxxxxxxx> Reported-by: Stéphane Lesimple <stephane_btrfs@xxxxxxxxxxx> Tested-by: Stéphane Lesimple <stephane_btrfs@xxxxxxxxxxx> Reported-by: Malte Schröder <malte@xxxxxxxx> Reported-by: Derek Dongray <derek@xxxxxxxxxxxxx> Reported-by: Erkki Seppala <flux-btrfs@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.2+ Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> commit a06347c04c13e380afce0c9816df51f00b83faf1 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:42 2015 +0300 NFC: Add Intel Fields Peak NFC solution driver Fields Peak complies with the ISO/IEC 14443A/B, 15693, 18092, and JIS X 6319-4. It is an NCI based controller. RF Protocols supported: - NFC Forum Type 1 Tags (Jewel, Topaz) - NFC Forum Type 2 Tags (Mifare UL) - NFC Forum Type 3 Tags (FeliCa) - NFC Forum Type 4A (ISO/IEC 14443 A-4 106kbps to 848kbps) - NFC Forum Type 4B (ISO/IEC 14443 B-4 106kbps to 848kbps) - NFCIP in passive and active modes (ISO/IEC 18092 106kbps to 424kbps) - Bâ?? (based on ISO/IEC 14443 B-2) - iCLASS (based on ISO/IEC 15693-2) - Vicinity cards (ISO/IEC 15693-3) - Kovio tags (NFC Forum Type 2) The device can be enumerated using ACPI using the id INT339A. The 1st GPIO is the IRQ and the 2nd is the RESET pin. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 85b9ce9a21b119a8163f20d60e7f0ce58fffbeef Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:41 2015 +0300 NFC: nci: add nci_get_conn_info_by_id function This functin takes as a parameter a pointer to the nci_dev struct and the first byte from the values of the first domain specific parameter that was used for the connection creation. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit caa575a86ec1f177730cafa089d69ab4e424860c Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:40 2015 +0300 NFC: nci: fix possible crash in nci_core_conn_create If the number of destination speific parameters supplied is 0 the call will fail. If the first destination specific parameter does not have a value, curr_id will be set to 0. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 22e4bd09c401905671f3787a8392d269a0ebfa0d Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:39 2015 +0300 NFC: nci: rename nci_prop_ops to nci_driver_ops Initially it was used to create hooks in the driver for proprietary operations. Currently it is being used for hooks for both proprietary and generic operations. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 047e6646579c2853afba0111f573796daf4fd485 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Sun Oct 25 04:01:25 2015 +0530 Staging: wilc1000: Remove boolean comparision This patch is to the host_interface.c file that fixes up following warning reported by coccicheck: WARNING: Comparison to bool Boolean tests do not need explicit comparison to true or false Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e16d07501becacdc766132facaceba47db839a6 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 24 22:09:05 2015 +0530 staging: rdma: amso1100: Drop unnecessary goto Deletes the jump to a label on the next line when the label isn't used anywhere else. The semantic patch used to find this is: // <smpl> @r@ identifier l; @@ -if (...) goto l; -l: // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24523a94538ef500b867a2d4b2cb5bf72c8287a0 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 16:13:23 2015 +0530 staging: rdma: hfi1: chip: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. <smpl> @timer@ expression e1,e2,e3,fn_ptr; @@ -init_timer(&e1); +setup_timer(&e1, fn_ptr, e2); ... when != fn_ptr = e3 -e1.function = fn_ptr; -e1.data = e2; </smpl> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f663d5de57ae65ae1e38cefdad3e109432c169e Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Sat Oct 24 22:35:47 2015 +0800 Staging: mt29f_spinand: Prefer using the BIT macro Replace all instances of bit shifting on 1 with the BIT(x) macro. In addition, convert other non-1 shift operations with the equivalent BIT(x) macro for uniformity. Issue pointed out by checkpatch. CHECK: Prefer using the BIT macro Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c75e057744fb16d00668674cf41d63b61ee3cd2d Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Sun Oct 25 01:24:51 2015 +0800 Staging: mt29f_spinand: Replace udelay function with usleep_range Use 'usleep_range' instead of 'udelay' to elapse time. For spinand_reset, define the upper limit by a factor of 2 to keep the wait short while still allowing a "good enough" range for wakeup. Define the range 250us - 1ms for spinand_cmdfunc to provide enough leeway before issuing spinand_reset. Checkpatch found this issue. CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6a0692befc1b85dc2e5408e90e51452a6533f47 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 15:47:31 2015 +0530 staging: ipath: ipath_init_chip: Use setup_timer Use of the timer API function setup_timer instead of init_timer, removing the structure field assignments, and make the codeflow more readable. The simplified sematic patch used is :- <smpl> @timer@ expression e1,e2,e3,fn_ptr; @@ -init_timer(&e1); +setup_timer(&e1, fn_ptr, e2); ... when != fn_ptr = e3 -e1.function = fn_ptr; -e1.data = e2; </smpl> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cc918a8565e2a7f6df78cb46777091a862fee54 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 15:47:32 2015 +0530 staging: ipath: ipath_sdma: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 567ae32ad87c8778965350b189a36d757293c82d Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 15:47:33 2015 +0530 staging: ipath: ipath_verbs: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6149e2e4447c86eaf3c1870694dfe4b2bcd8ec0d Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sun Oct 25 15:47:30 2015 +0530 staging: ipath: ipath_driver: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. The simplified semantic patch used is :- <smpl> @timer@ expression e1,e2,e3,fn_ptr; @@ -init_timer(&e1); +setup_timer(&e1, fn_ptr, e2); ... when != fn_ptr = e3 -e1.function = fn_ptr; -e1.data = e2; </smpl> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae416ba4e94a30486ba2af0afe052579e7114ab8 Author: Jonas Hesselmann <jonas.hesselmann@xxxxxxxxxx> Date: Sun Oct 25 19:28:58 2015 +0100 USB: core: Codestyle fix in urb.c Delete braces around single statement block suggested by checkpatch.pl Signed-off-by: Jonas Hesselmann <jonas.hesselmann@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a97a3cba298fd989802bf34541c94b6488c3834 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:38 2015 +0300 NFC: nci: Allow the driver to set handler for core nci ops The driver may be required to act when some responses or notifications arrive. For example the NCI core does not have a handler for NCI_OP_CORE_GET_CONFIG_RSP. The NFCC can send a config response that has to be read by the driver and the packet may contain vendor specific data. The Fields Peak driver needs to take certain actions when a reset notification arrives (packet also not handled by the nfc core). The driver handlers do not interfere with the core and they are called after the core processes the packet. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 7bc4824ed5cf9feb0173b90a6bec28f694a5f7ce Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:37 2015 +0300 NFC: nci: Introduce nci_core_cmd This allows sending core commands from the driver. The driver should be able to send NCI core commands like CORE_GET_CONFIG_CMD. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit e4dbd62528931951aa9d3b313ee7d536df5069fc Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:36 2015 +0300 NFC: nci: Do not call post_setup when setup fails The driver should know that it can continue with post setup where setup left off. Being able to execute post_setup when setup fails may force the developer to keep this state in the driver. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a9433c11b1aa0639cc6e4842fff52af2422af06d Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:35 2015 +0300 NFC: nci: Introduce new core opcodes Add NCI_OP_CORE_GET_CONFIG_CMD, NCI_OP_CORE_GET_CONFIG_RSP and NCI_OP_CORE_RESET_NTF. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2663589ce67e5429bac89544bb0e102bb1fcf617 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:34 2015 +0300 NFC: nci: Add function to get max packet size for conn FDP driver needs to send the firmware as regular packets (not fragmented). The driver should have a way to get the max packet size for a given connection. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ea785c094d38bc5eae8011330759d68f45236559 Author: Robert Dolca <robert.dolca@xxxxxxxxx> Date: Thu Oct 22 12:11:33 2015 +0300 NFC: nci: Export nci data send API For the firmware update the driver may use nci_send_data. Signed-off-by: Robert Dolca <robert.dolca@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit dc42143b8468b1fe6385962d1d78ddadc76c5168 Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Date: Fri Oct 23 17:05:37 2015 +0200 NFC: st-nci: Rename st-nci_se.c Rename it to se.c to keep the driver files namespace consistent. Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 43e9f2aa7788cc60eb11fe3cb4fb6f0b63c35de6 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Tue Oct 20 23:47:19 2015 +0530 i2c: pnx: Use setup_timer instead of open coding it Use timer API function setup_timer instead of init_timer to initialize the timer. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8eb5c87a92c065aaca39ac3e841b07906a4959a2 Author: Dustin Byford <dustin@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 12:27:07 2015 -0700 i2c: add ACPI support for I2C mux ports Although I2C mux devices are easily enumerated using ACPI (_HID/_CID or device property compatible string match), enumerating I2C client devices connected through an I2C mux needs a little extra work. This change implements a method for describing an I2C device hierarchy that includes mux devices by using an ACPI Device() for each mux channel along with an _ADR to set the channel number for the device. See Documentation/acpi/i2c-muxes.txt for a simple example. To make this work the ismt, i801, and designware pci/platform devs now share an ACPI companion with their I2C adapter dev similar to how it's done in OF. This is done on the assumption that power management functions will not be called directly on the I2C dev that is sharing the ACPI node. Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Dustin Byford <dustin@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c0e5c4450494d74c8deb4f47ddcbb74c94937e20 Author: Dustin Byford <dustin@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 12:27:06 2015 -0700 acpi: add acpi_preset_companion() stub Add a stub for acpi_preset_companion(). Fixes build failures when acpi_preset_companion() is used and CONFIG_ACPI is not set. Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Dustin Byford <dustin@xxxxxxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 785171fd6cd7dcd7ada5a733b6a2d44ec566c3a0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Oct 12 14:56:28 2015 +0200 iio:ad7793: Fix ad7785 product ID While the datasheet for the AD7785 lists 0xXB as the product ID the actual product ID is 0xX3. Fix the product ID otherwise the driver will reject the device due to non matching IDs. Fixes: e786cc26dcc5 ("staging:iio:ad7793: Implement stricter id checking") Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1586a5877db9eee313379738d6581bc7c6ffb5e3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 23 10:59:16 2015 -0700 af_unix: do not report POLLOUT on listeners poll(POLLOUT) on a listener should not report fd is ready for a write(). This would break some applications using poll() and pfd.events = -1, as they would not block in poll() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Alan Burlison <Alan.Burlison@xxxxxxxxxx> Tested-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 742e038330a485350334ee5eb75dce4a9dff87cd Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Sat Oct 24 22:56:01 2015 +0800 tipc: link_is_bc_sndlink() can be static TO: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: netdev@xxxxxxxxxxxxxxx CC: Jon Maloy <jon.maloy@xxxxxxxxxxxx> CC: Ying Xue <ying.xue@xxxxxxxxxxxxx> CC: tipc-discussion@xxxxxxxxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5dcbe97bedd6ba4b0f574a96cc2e293d26f3d857 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Oct 13 18:15:38 2015 +0200 iio: ad5064: Fix ad5629/ad5669 shift The ad5629/ad5669 are the I2C variant of the ad5628/ad5668, which has a SPI interface. They are mostly identical with the exception that the shift factor is different. Currently the driver does not take care of this difference which leads to incorrect DAC output values. Fix this by introducing a custom channel spec for the ad5629/ad5669 with the correct shift factor. Fixes: commit 6a17a0768f77 ("iio:dac:ad5064: Add support for the ad5629r and ad5669r") Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 03fe472ef33b7f31fbd11d300dbb3fdab9c00fd4 Author: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Date: Tue Oct 13 18:15:37 2015 +0200 iio:ad5064: Make sure ad5064_i2c_write() returns 0 on success i2c_master_send() returns the number of bytes transferred on success while the ad5064 driver expects that the write() callback returns 0 on success. Fix that by translating any non negative return value of i2c_master_send() to 0. Fixes: commit 6a17a0768f77 ("iio:dac:ad5064: Add support for the ad5629r and ad5669r") Signed-off-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 01bb70ae0b98d266fa3e860482c7ce22fa482a6e Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 21:44:38 2015 +0300 iio: lpc32xx_adc: fix warnings caused by enabling unprepared clock If common clock framework is configured, the driver generates a warning, which is fixed by this change: root@devkit3250:~# cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw ------------[ cut here ]------------ WARNING: CPU: 0 PID: 724 at drivers/clk/clk.c:727 clk_core_enable+0x2c/0xa4() Modules linked in: sc16is7xx snd_soc_uda1380 CPU: 0 PID: 724 Comm: cat Not tainted 4.3.0-rc2+ #198 Hardware name: LPC32XX SoC (Flattened Device Tree) Backtrace: [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c) [<>] (show_stack) from [<>] (dump_stack+0x20/0x28) [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8) [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c) [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xa4) [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38) [<>] (clk_enable) from [<>] (lpc32xx_read_raw+0x38/0x80) [<>] (lpc32xx_read_raw) from [<>] (iio_read_channel_info+0x70/0x94) [<>] (iio_read_channel_info) from [<>] (dev_attr_show+0x28/0x4c) [<>] (dev_attr_show) from [<>] (sysfs_kf_seq_show+0x8c/0xf0) [<>] (sysfs_kf_seq_show) from [<>] (kernfs_seq_show+0x2c/0x30) [<>] (kernfs_seq_show) from [<>] (seq_read+0x1c8/0x440) [<>] (seq_read) from [<>] (kernfs_fop_read+0x38/0x170) [<>] (kernfs_fop_read) from [<>] (do_readv_writev+0x16c/0x238) [<>] (do_readv_writev) from [<>] (vfs_readv+0x50/0x58) [<>] (vfs_readv) from [<>] (default_file_splice_read+0x1a4/0x308) [<>] (default_file_splice_read) from [<>] (do_splice_to+0x78/0x84) [<>] (do_splice_to) from [<>] (splice_direct_to_actor+0xc8/0x1cc) [<>] (splice_direct_to_actor) from [<>] (do_splice_direct+0xa0/0xb8) [<>] (do_splice_direct) from [<>] (do_sendfile+0x1a8/0x30c) [<>] (do_sendfile) from [<>] (SyS_sendfile64+0x104/0x10c) [<>] (SyS_sendfile64) from [<>] (ret_fast_syscall+0x0/0x38) Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit aea545fa90812cf68b3bf1f09715c465ba942ab3 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Oct 17 00:29:55 2015 +0200 staging: iio: select IRQ_WORK for IIO_DUMMY_EVGEN The iio dummy code was recently changed to use irq_work_queue, but that code is compiled into the kernel only if IRQ_WORK is set, so we can get a link error here: drivers/built-in.o: In function `iio_evgen_poke': (.text+0x208a04): undefined reference to `irq_work_queue' This changes the Kconfig file to match what other drivers do. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: fd2bb310ca3d ("Staging: iio: Move evgen interrupt generation to irq_work") Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 6219f432ec037317a77c40910da12a626c34af1c Author: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Date: Mon Oct 19 21:24:36 2015 +0530 vf610_adc: Fix internal temperature calculation Calculate ADCR_VTEMP25 using VTEMP25 at VREFH_ADC 3V3. Existing calculations consider the typical values provided in datasheet. Those typical values are valid for VREFH_ADC at 3.0V. VTEMP25 is different for different VREFH_ADC voltages. With VREFH_ADC at 3.3V, voltage at 25°C is 0.699V. Hence update the VTEMP25 to 0.699V which gives ADCR@Temp25 as 867. Formula for finding ADCR@Temp25: ADCR@Temp25 = (ADCR@Vdd * V@TEMP25 * 10) / VDDconv ADCR@Vdd for 12-Bit ADC = 4095 VDDconv = VREFH_ADC * 10 VREFH_ADC@xxxx ADCR@Temp25 = (4095 * .699 * 10) / 33 ADCR@Temp25 ~= 867 | VREFH_ADC | V@TEMP25 | VDDconv | ADCR@Temp25 | | 3.0V | 0.696mV | 30 | 950 | | 3.3V | 0.699mV | 33 | 867 | Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2edb7a3372c76c9379d0fc00e4274ea8f018248a Author: Moshe Harel <moshe.harel@xxxxxxxxx> Date: Thu Sep 10 15:29:09 2015 +0300 iwlwifi: nvm: free old section data when reading nvm file When reading external NVM file, if a section exists both in OTP and in the external file, the memory that was allocated at OTP reading is not freed. This is possible only on systems that have an external NVM file which is typically the case on embedded systems. Signed-off-by: Moshe Harel <moshe.harel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 06ecdba319e2b389c94c7b6a9c936d09ec188359 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Mon Oct 12 14:47:11 2015 +0300 iwlwifi: mvm: disable TDLS ac queues correctly The iwl_mvm_disable_queue function requires the TID to be set to IWL_MAX_TID_COUNT when disabling an AC queue. Call it correctly for TDLS scenarios. Fixes: 4ecafae9e568 ("iwlwifi: mvm: support using multiple ACs on single HW queue") Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 78ba82f777f3ab41f10afa3694c9c7633bf595d4 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Oct 15 10:58:48 2015 +0300 iwlwifi: mvm: take scan ref only on success In some cases, scan reference was taken, but wasn't released even though scan command wasn't actually issued. Change the current code to simply take the reference only on success. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c8f423159e3e53d30e5b36a455797ee2072b09d0 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 11 12:07:21 2015 +0200 iwlwifi: mvm: remove pointless scan plan checks As cfg80211 already enforces these limits, there's little point in having them again here in our code. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 46eebec9794e47ebad0352285db50a10de595bb5 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 11 12:09:22 2015 +0200 iwlwifi: mvm: clean up some whitespace in scan code Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit effd19298c7767457772d489c88f1b7ffa6e7bd9 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Tue Jun 30 12:08:28 2015 +0300 iwlwifi: mvm: Implement per vif frame registration API Implement config_iface_filter() driver op. Currently support only probe request registration for p2p client vifs, by setting MAC_FILTER_IN_PROBE_REQUEST flag in MAC_CONTEXT_CMD. This is needed since WFDS spec and certification require a P2P client to be discoverable on its operating channel. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 053225de121a950b94a1989802c22895797ffbfc Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Sep 10 15:00:22 2015 +0300 iwlwifi: avoid read/write operations if the bus is dead Recovery takes too much time if the bus is dead (each timeout is 2000ms, etc.). Explicitly skip fw dump in this case, as it will result in garbage data (and might take signifcant time) Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit cd55ccea5978d7e87852be3ea5daf89c95b7e78a Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Wed Aug 19 12:46:12 2015 +0300 iwlwifi: mvm: Add support for two scheduled scan plans Add support for two scan plans for scheduled scan. The first plan will run for a limited number of iterations, then the second plan will run infinitely. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5888a40c50b181bab6737167cfc1bf653945e2a1 Author: Luca Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Oct 6 09:54:57 2015 +0300 iwlwifi: mvm: let any command flag be passed to iwl_mvm_flushtx_path() Instead of only allowing the caller to decide whether the CMD_ASYNC flag is set, let it pass the entire flags bitmask. This allows more flexibility and will be needed when we call this function in the suspend flow (where other flags are needed). Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c84af35de612fb45db6b5c5968b575813f5daa3b Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Aug 12 17:52:12 2015 +0300 iwlwifi: mvm: Allow setting ctrl-chnl-position in FTM responder This patch enables the debugfs user to configure an FTM responder with the appropriate control channel position. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b08dbed71a876d982e3506a97702535fd5cff48c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Oct 6 14:07:44 2015 +0200 iwlwifi: mvm: use short timeouts in P2P low latency if supported Those timeouts are used for AM-to-PSM transition. We already have those pairs defined for default and WOWLAN use cases. We expect that by using shorter threshold for low latency P2P, e.g. for Miracast video scenario, we might save a considerable amount of power. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9645edb607427a9728b9269dfded74e8c42a9d48 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Oct 6 13:28:48 2015 +0200 iwlwifi: mvm: use wowlan RX/TX timeouts in D0i3 In "hostless" mode (D3 or D0i3) the same parameters were intended to be used, but the code doesn't do that properly. Fix it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 78efc702c8b6ddd6563d836f0d9844bf1f288f9b Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Tue Oct 6 12:22:47 2015 +0300 iwlwifi: mvm: correctly request DTS-measure for new cards Since the 8000 series, the DTS measurement request command has been changed. Use an ucode capability flag to determine which version is supported and send the extended command when needed. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 03a19cbb91994212be72ce15ac3406fa9f8ba079 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Oct 21 19:55:32 2015 +0300 iwlwifi: pcie: fix (again) prepare card flow The hardware bug in the commit mentioned below forces us not to re-enable the clock gating in the Host Cluster. The impact on the power consumption is minimal and it allows the WAKE_ME interrupt to propagate. CC: <stable@xxxxxxxxxxxxxxx> [4.1+] Fixes: c9fdec9f3970 ("iwlwifi: pcie: fix prepare card flow") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f0afea54ee0dd212186de0291ec025c63016fa39 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Mon Jul 20 17:55:51 2015 +0300 iwlwifi: mvm: Dump FW's virtual image in the case of a NIC error When paging is enabled the driver stores part of the FW's image in the DRAM. Dump FW's virtual image in the case of a NIC error. Signed-off-by: Golan Ben-Ami <golan.ben.ami@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit e621c2282e310aa83a50db4da3e16dfc5945db08 Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Thu Sep 3 15:42:09 2015 +0300 iwlwifi: rs: Remove workaround that disables MIMO on P2P Remove an old workaround that's no longer needed and enable MIMO on P2P interfaces. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 10d15322ed26652263a579bcb59dfd49ab8a30de Merge: 0316d30 e5a9f8d Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Oct 25 12:38:20 2015 +0200 Merge remote-tracking branch 'mac80211-next/master' into next commit 2c66e24d75d424919c42288b418d2e593fa818b1 Author: Sai Praneeth <sai.praneeth.prakhya@xxxxxxxxx> Date: Fri Oct 16 16:20:27 2015 -0700 x86/efi: Fix kernel panic when CONFIG_DEBUG_VIRTUAL is enabled When CONFIG_DEBUG_VIRTUAL is enabled, all accesses to __pa(address) are monitored to see whether address falls in direct mapping or kernel text mapping (see Documentation/x86/x86_64/mm.txt for details), if it does not, the kernel panics. During 1:1 mapping of EFI runtime services we access virtual addresses which are == physical addresses, thus the 1:1 mapping and these addresses do not fall in either of the above two regions and hence when passed as arguments to __pa() kernel panics as reported by Dave Hansen here https://lkml.kernel.org/r/5462999A.7090706@xxxxxxxxxx So, before calling __pa() virtual addresses should be validated which results in skipping call to split_page_count() and that should be fine because it is used to keep track of everything *but* 1:1 mappings. Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prakhya@xxxxxxxxx> Reported-by: Dave Hansen <dave.hansen@xxxxxxxxx> Reviewed-by: Borislav Petkov <bp@xxxxxxx> Cc: Ricardo Neri <ricardo.neri@xxxxxxxxx> Cc: Glenn P Williamson <glenn.p.williamson@xxxxxxxxx> Cc: Ravi Shankar <ravi.v.shankar@xxxxxxxxx> Signed-off-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> commit a01fece2e4185ac173abd16d10304d73d47ebf00 Author: John David Anglin <dave.anglin@xxxxxxxx> Date: Wed Oct 14 20:32:11 2015 -0400 parisc: Change L1_CACHE_BYTES to 16 Change L1_CACHE_BYTES to 16 bytes. Tested for 16 days on rp3440. Additional remarks from Helge Deller: Saves ~17 kb of kernel code/data and gives a slight performance improvement in various test cases. Signed-off-by: John David Anglin <dave.anglin@xxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit c59f419bdd1f056e1ceacbd29f7be7bcff746a5d Author: Helge Deller <deller@xxxxxx> Date: Sun Oct 25 10:00:32 2015 +0100 net/xps: Fix calculation of initial number of xps queues The existing code breaks on architectures where the L1 cache size (L1_CACHE_BYTES) is smaller or equal the size of struct xps_map. The new code ensures that we get at minimum one initial xps queue, or even more as long as it fits into the next multiple of L1_CACHE_SIZE. Signed-off-by: Helge Deller <deller@xxxxxx> Acked-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> commit 4341801873e23bbecee76dabb7c111e3693b900f Merge: 80fcd45 161d904 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Oct 25 09:40:31 2015 +0100 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 from Arnaldo Carvalho de Melo: New user-visible features: - Show ordered command line options when -h is used or when an unknown option is specified. (Arnaldo Carvalho de Melo) - If options are passed after -h, show just its descriptions, not all options. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5fa6fc79f5b1fbe540300dbe3efbaa515b05282 Author: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Date: Mon Aug 24 11:29:36 2015 +0530 i2c: pxa: Add support for pxa910/988 & new configuration features TWSI_ILCR & TWSI_IWCR registers are used to adjust clock rate of standard & fast mode in pxa910/988; so this patch adds these two new entries to "struct pxa_reg_layout" and "struct pxa_i2c". Signed-off-by: Jett.Zhou <jtzhou@xxxxxxxxxxx> Signed-off-by: Yi Zhang <yizhang@xxxxxxxxxxx> Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@xxxxxxxxxx> Tested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> [wsa: white space fixes] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit aa5b477db5826e9922c4fe78ccf53fb2df039367 Author: Andrew F. Davis <afd@xxxxxx> Date: Thu Oct 22 14:11:11 2015 -0500 usb: misc: usb3503: Use i2c_add_driver helper macro Use i2c_add_driver as it will add THIS_MODULE for us. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 164f0aa87232b85c17181922a28c3f410ea9a32b Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 22:30:26 2015 +0300 usb: host: lpc32xx: don't unregister phy device There is no need to unregister the I2C device, which serves as a phy from host code, this should be done in the correspondent phy driver. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1a0c4239653a9a4fba90e9f3e407c7cb6140f61 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 22:30:25 2015 +0300 usb: host: lpc32xx: balance clk enable/disable on removal The change adds missing clk_disable_unprepare(usb_otg_clk) call, also the disabled clocks are sorted in order opposite to enabled clocks. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ae79876d8c9e2ff7d083ad799fcf98488af49b6 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 22:30:24 2015 +0300 usb: host: lpc32xx: fix warnings caused by enabling unprepared clock If common clock framework is configured, the driver generates a warning, which is fixed by this change: WARNING: CPU: 0 PID: 573 at drivers/clk/clk.c:728 clk_core_enable+0x2c/0xf0() Modules linked in: ohci_nxp(+) sc16is7xx snd_soc_uda1380 CPU: 0 PID: 573 Comm: udevd Not tainted 4.3.0-rc2+ #285 Hardware name: LPC32XX SoC (Flattened Device Tree) Backtrace: [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c) [<>] (show_stack) from [<>] (dump_stack+0x20/0x28) [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8) [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c) [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xf0) [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38) [<>] (clk_enable) from [<>] (ohci_hcd_nxp_probe+0x1d0/0x518 [ohci_nxp]) [<>] (ohci_hcd_nxp_probe [ohci_nxp]) from [<>] (platform_drv_probe+0x50/0xa0) [<>] (platform_drv_probe) from [<>] (driver_probe_device+0x18c/0x408) [<>] (driver_probe_device) from [<>] (__driver_attach+0x70/0x94) [<>] (__driver_attach) from [<>] (bus_for_each_dev+0x74/0x98) [<>] (bus_for_each_dev) from [<>] (driver_attach+0x20/0x28) [<>] (driver_attach) from [<>] (bus_add_driver+0x11c/0x248) [<>] (bus_add_driver) from [<>] (driver_register+0xa4/0xe8) [<>] (driver_register) from [<>] (__platform_driver_register+0x50/0x64) [<>] (__platform_driver_register) from [<>] (ohci_nxp_init+0x3c/0x5c [ohci_nxp]) [<>] (ohci_nxp_init [ohci_nxp]) from [<>] (do_one_initcall+0x11c/0x1dc) [<>] (do_one_initcall) from [<>] (do_init_module+0x60/0x368) [<>] (do_init_module) from [<>] (load_module+0x16d0/0x1b7c) [<>] (load_module) from [<>] (SyS_finit_module+0x90/0xa4) [<>] (SyS_finit_module) from [<>] (ret_fast_syscall+0x0/0x38) Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf0d5fbd5594444d7c46b16993f944bc318fd01d Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Tue Oct 20 23:58:17 2015 +0530 uwb: drp: Use setup_timer Use timer API function setup_timer instead of init_timer to initialize a kernel timer. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9ca0c948c921e960006aaf319a29c004917cdf6 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Tue Oct 20 23:59:53 2015 +0530 uwb: neh: Use setup_timer Use timer API function setup_timer instead of init_timer to initialize the timer. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a895dc0509e6d2dbe4ec8a184a55323738fde9f6 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Wed Oct 21 00:00:37 2015 +0530 uwb: rsv: Use setup_timer Use timer API function setup_timer instead of init_timer to initialize the timer. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 526290aa6288e133db18d64c2c175a0a1a58b438 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 24 01:21:04 2015 +0530 char: ipmi: ipmi_ssif: Replace timeval with timespec64 This patch replaces timeval with timespec64 as 32 bit 'struct timeval' will not give current time beyond 2038. The patch changes the code to use ktime_get_real_ts64() which returns a 'struct timespec64' instead of do_gettimeofday() which returns a 'struct timeval' This patch also alters the format string in pr_info() for now.tv_sec to incorporate 'long long' on 32 bit architectures. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 575ff198f5a3981e8d9fb54e61876f9082ca3bd7 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Fri Oct 23 21:33:34 2015 -0700 staging: r8723au: remove externs and include needed header file Remove extern declaration and add include of header file to get same. Addresses checkpatch.pl: WARNING: externs should be avoided in .c files Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48c9578c1c63515ce9e0bfb54b051dce5cfa3675 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Fri Oct 23 21:32:20 2015 -0700 staging: r8723au: replace explicit NULL comparisons with ! Replace explicit NULL comparison with ! operator to simplify code. Addresses checkpatch.pl: WARNING: Comparisons should place the constant on the right side of the test Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9cd7afaf1fed8ef4ac6c930bd52043492954d40 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Fri Oct 23 21:28:00 2015 -0700 staging: r8723au: use kernel preferred style for commenting Reworked comments per kernel coding style to improve readability. Corrects checkpatch.pl: WARNING: Block comments use * on subsequent lines WARNING: line over 80 characters Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b7bbd18c7a078e4824e8a7531ea3d5995c33855 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Sat Oct 24 00:30:03 2015 +0300 staging: wlan-ng: Do not use multiple blank lines. Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines" Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a16d77fc05750921add13ae7ac8bd7c321689181 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Fri Oct 23 22:12:14 2015 +0300 staging: speakup: Remove multiple assignments Remove multiple assignments by factorizing them.Problem found using checkpatch.pl CHECK: multiple assignments should be avoided Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7526a468841f463e24c3756a139623b24d1408e6 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 23 23:44:48 2015 +0530 staging: vt6656: Remove unnecessary braces and tab spacing This patch removes unnecessary braces around if-else single statement blocks and unnecessary tab space aligning Tool used is uncrustify. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11d7e632e3102fec4d81e8f746d4afce65effe2c Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 23 19:57:52 2015 +0530 Staging: rtl8723au: Use put_unaligned_le32 Introduce the use of function put_unaligned_le32. A simplified version of Coccinelle semantic patch used - @@ identifier tmp; expression ptr; expression y,e; type T; @@ - tmp = cpu_to_le32(y); <+... when != tmp - memcpy(ptr, (T)&tmp, ...); + put_unaligned_le32(y,ptr); ...+> ? tmp = e @@ type T; identifier tmp; @@ - T tmp; ...when != tmp Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 646287ba9faececebeffa998a5b75160ec94e090 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 21 23:16:56 2015 +0200 staging: fbtft: fix voltage settings for C-Berry28 This patch fixes some internal voltage settings for the C-Berry28 display. The original example source files for the C-Berry28 as provided by its vendor admatec contained six issues where a command parameter's value didn't match its corresponding comment. I've informed admatec about these discrepancies on 2015-08-25. In the meantime, I've assumed the comments to be more reliable than the code, and thus have used these values to write the initial C-Berry28 driver. After having received a reply from admatec on 2015-10-16 that the issues have been fixed in their example code, it has turned out that for the voltages VCOM and AVDD, the code was indeed correct, but the comments were wrong. This patch is meant to fix these two pending mistakes. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef8f317795dae8410fc749c5b198d8d5e68de632 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 21 23:16:55 2015 +0200 staging: fbtft: use init function instead of init sequence This patch converts the default init sequence of the ST7789V display controller into an init function, as init sequences are considered deprecated by the maintainers of fbtft. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d7b169214bbbc9bb0b1dfb3a29cac97f7939ca4 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 21 23:16:54 2015 +0200 staging: fbtft: remove redundant set_addr_win() function This patch removes the function set_addr_win() from fb_st7789v.c, as its definition is redundant to the default implementation fbtft_set_addr_win() which can be found in fbtft-core.c. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 598af18afc6dd5753622b8e4c9a6cd185f4223a4 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 21 23:16:53 2015 +0200 staging: fbtft: use MIPI DCS for ST7789V and C-Berry28 This patch makes use of the standard MIPI Display Command Set to remove redundant entries from the command enum of the ST7789V display controller and also some of the magic constants found in the init sequence of the C-Berry28 display. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 164e265b63db867b77d0f57ddf2324bbdaa151f3 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Tue Oct 20 23:09:37 2015 -0700 staging: r8723au: add & use local variable to simplify references Add local variable scanned_queue to rtw_createbss_cmd23a_callback() and use it (5x) to simplify references. Addresses checkpatch.pl WARNING: line over 80 characters Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c12e8dba0ebfcfe398e520ecbb3f1cb97b6d1a6c Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Tue Oct 20 23:08:27 2015 -0700 staging: r8723au: move constant to right of comparison test Move constant to right of comparison test to improve readability. Addresses checkpatch.pl: WARNING: Comparisons should place the constant on the right side of the test Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d07fc1b027403d05b223c7c99ace996de8cad7b Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Tue Oct 20 23:06:45 2015 -0700 staging: r8723au: replace printk() with netdev_err() Replace printk() with netdev_err() for uniform error reporting. Issue found by checkpatch. Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68535a16bb6a8878ad8731867a85f8acd9337e7d Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Thu Oct 22 15:15:39 2015 +0300 staging: vt6655: Add space around '*' Add space around operator '*'. Problem found using checkpatch.pl CHECK: spaces preferred around that '*' (ctx:VxV) Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0cddeac382a2ac846adef88eac7e254f38046d4b Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Thu Oct 22 00:48:29 2015 +0300 staging: vt6655: Add space around '*' Add space around operator '*'. Problem found using checkpatch.pl CHECK: spaces preferred around that '*' (ctx:VxV) Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c182ae20791d638c07ff499709c4a1d4697bd7c Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 18:32:38 2015 +0100 staging: rtl8723au: core: rtw_wlan_util: fix misleading indentation For loop is outside of the else branch of the above conditional statement. Fixing misleading indentation. Fix a smatch warning: drivers/staging/rtl8723au/core/rtw_wlan_util.c:528 WMMOnAssocRsp23a() warn: curly braces intended? Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ada40ba4e5b5f6a668a4d684e12a8b097fbafee3 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 21 20:00:49 2015 +0300 staging: rtl8712: Replace kmalloc with kmalloc_array Replace kmalloc with specialized function kmalloc_array when the size is a multiplication of: number_of_elements * size_of_element Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 614a2910900084d93fe80611a3d14c62edc0ea10 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Tue Oct 20 23:29:31 2015 +0300 staging: netlogic: Do not use multiple blank lines. Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines" Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9108b71b1f7335149d68fbd166af7236ed60373 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 21 23:17:56 2015 +0300 staging: dgap: add spaces around binary operator '|' This patch adds spaces around binary operator '|'. Done with coccinelle semantic patch: @@ identifier x, y, z; @@ ( - x|y|z + x | y | z | - x|y + x | y ) Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44209c93299efbc84eb8c29827b3132bf06f7e42 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 21 23:17:55 2015 +0300 staging: dgap: remove unnecessary brackets This patch removes unnecessary brackets when dealing with unary operators like '&'. Done with coccinelle semantic patch: @@ expression e; @@ ( - &(e) + &e ) Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 181225530e2f625869fb8ad242444d8efa8a478b Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 21 23:17:54 2015 +0300 staging: dgap: remove unnecessary space after cast This patch removes unnecessary spaces after the cast. Patch done with coccinelle semantic patch: @rule0@ type t; identifier e; constant c; expression expr; @@ ( - (t) e + (t)e | - (t) c + (t)c | - (t) expr + (t)expr ) Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 629c7349a2e5bc6c5680c00b3e822b2384bf0523 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 21 23:17:53 2015 +0300 staging: dgap: properly indent to match open paranthesis Indent parameters and arguments passed to function calls to match open paranthesis Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb795c68479f9ada8e5a0d5b54af18fd54a951a5 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 21 23:17:52 2015 +0300 staging: dgap: remove unnecessary blank lines This patch removes the unnecessary blank lines before a closed bracket and after an open bracket. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd857a158abcf2ad0134e9f044ba74b2bd0b468a Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:47 2015 +0300 staging: iio: magnetometer: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05824120e4ff5f431370db106d1a034b3923e0db Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:46 2015 +0300 staging: iio: gyro: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac1640fbd833b6dfaab1cc8e08ec1e511be189a8 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:45 2015 +0300 staging: iio: trigger: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97deb1bc1183f8d91f0ebde1403980e5f9429f6e Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:44 2015 +0300 staging: iio: frequency: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6e65f97db4ebd6a9aec26eccca2992eb638afd3 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:43 2015 +0300 staging: iio: cdc: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eee587ea87343777f51825c532462635dd2e4157 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:42 2015 +0300 staging: iio: accel: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 062f782b37059f7156e59f46c71225ba4a5efa06 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:41 2015 +0300 staging: iio: meter: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d59b7b68344df4a2a9eb31e0d667692bfa43a690 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 22:55:40 2015 +0300 staging: iio: light: Remove explicit comparisons Remove comparisons to 0 or NULL Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9efbbfada99cd553fa16f66a49b98acf011080a9 Author: Anton Tatuev <tatuev.a.a@xxxxxxxxx> Date: Thu Oct 22 18:37:30 2015 +0300 skein: fix coding style Added spaces around binary operators. Signed-off-by: Tatuev Anton <tatuev.a.a@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78b987879726ed61630e3ea0f567360138723e07 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Thu Oct 22 16:25:08 2015 +0300 staging: skein: Add space around '%' Add space around operator '%'. Problem found using checkpatch.pl CHECK: spaces preferred around that '%' (ctx:VxV) Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a28617fbc99fa8276ebe88faa3d46f8fa451378 Author: Burcin Akalin <brcnakalin@xxxxxxxxx> Date: Fri Oct 23 00:01:35 2015 +0300 staging: octeon: Do not use multiple blank lines. Remove multiple blank lines. Problem found using checkpatch.pl "CHECK: Please don't use multiple blank lines". Signed-off-by: Burcin Akalin <brcnakalin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73eee567cbdc3e2f70843a1090786ceb0391061e Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 21 20:00:50 2015 +0300 staging: octeon-usb: Replace kmalloc with kmalloc_array Replace kmalloc with specialized function kmalloc_array when the size is a multiplication of: number_of_elements * size_of_element Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffca44fb93e755e3af822966ddf0a5d041d8bd93 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Tue Oct 20 00:57:39 2015 +0530 staging: octeon: Remove explicit NULL comparison Remove the explicit NULL comparison and rewrite in a compact form. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 192b6a8475f8312f0d1f19a010fcca322018d14f Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Tue Oct 20 00:57:38 2015 +0530 staging: octeon: Remove explicit NULL comparison Remove the explicit NULL comparison and rewrite in a compact form. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ef2de5ae0377bc88c1f5021c3797db3c62bc384 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 19 18:16:01 2015 +0100 staging: rtl8712: spaces preferred around operands Clean up all instances of checkpatch.pl checks: CHECK: spaces preferred around that '+' (and other operands) Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 168a2c10288d78f1e8504d132f59bb407f4fb9a6 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 19 18:15:29 2015 +0100 staging: rtl8712: braces should be used on all arms Fix all instances of the following checkpatch.pl check: CHECK: braces {} should be used on all arms of this statement Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ca96884b12dd2d57e0339d9f4a29e4888edc0e2 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 19 18:14:29 2015 +0100 staging: rtl8712: Remove boolean comparisons Boolean tests do not need explicit comparison to true or false. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf31378ba705945fb7b7d6e6c96e47a8a6ce4503 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Mon Oct 19 22:37:51 2015 +0530 staging: ion: Remove explicit NULL comparison Rewrite explicit NULL comparison in its simpler form. <smpl> @NULL_REPLACE@ expression e; @@ -e == NULL + !e Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7346489110da94ed5792a8f1ef3116e0bd1961f6 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 18:29:59 2015 +0100 staging: rtl8188eu: fix misleading indentation Code is correct, i needs to be moved back by 2 to correct for the last iteration of the while loop, since READ_NEXT_PAIR advances two. Fixing the misleading indentation. Fix a smatch warning: drivers/staging/rtl8188eu/hal/rf_cfg.c:217 rtl88e_phy_config_rf_with_headerfile() warn: curly braces intended? Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c68ed09fe11cdd45cd84f8dcf634c2ca4075a52 Author: Anish Bhatt <anish@xxxxxxxxxx> Date: Sun Oct 18 22:51:41 2015 -0700 rtl8188eu : BIT() macro cleanup Use the BIT(x) macro directly instead using multiple BITX defines. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0dcce5fbfac9cb238c4666b8798065eb982bb82 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:30 2015 +0200 staging: rtl8192e: _rtl92e_fw_boot_cpu: Remove unneeded goto Drop ugly label as no resource cleanup is needed. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91d7b8cf7cfef7a1e3e344e5bbbaf664505eb2c9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:29 2015 +0200 staging: rtl8192e: fw: Use netdev_dbg instead of RT_TRACE Drop legacy logging system. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15d140664c94f56e67e4cf3107c000471ae72a9c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:28 2015 +0200 staging: rtl8192e: Remove _rtl92e_fw_download_code() Reuse rtl92e_send_cmd_pkt() instead. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4c807d6d5fa653dc060a75e963cb2834f697ed4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:27 2015 +0200 staging: rtl8192e: Swap firmware endian in _rtl92e_fw_prepare() Remove endian swap from _rtl92e_fw_download_code(), this way it can be replaced with _rtl92e_send_cmd_pkt(). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09b1893831d23bac5d6a0a84ac578fdec7099b7d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:26 2015 +0200 staging: rtl8192e: Add _rtl92e_fw_prepare Add function to request and prepare firmware image. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51dac5f09577e8300602e378d115075cf656a32c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:25 2015 +0200 staging: rtl8192e: Add _rtl92e_wait_for_fw() Add function waiting for firmware load/boot; Remove _rtl92e_is_fw_ready() that is obsolete (can be replaced with _rtl92e_wait_for_fw(). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58533b221730c0ccbcd7d7694b2111679f11d99d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:24 2015 +0200 staging: rtl8192e: init_fw: Drop unneded check rst_opt is always equal to OPT_SYSTEM_RESET in this scope. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6167a6c88c07f5efe9fb86603f2b095b7ccc941a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:23 2015 +0200 staging: rtl8192e: Rename rt_firmware::firmware_status to status Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 292f4b47baf8e45b4196dab432ee787fd1eeca88 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:22 2015 +0200 staging: rtl8192e: Add rt_fw_blob rt_fw_blob contains single firmware blob and its size. Update firmware loading code accordingly. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0f6479165ed0380e8588f50ff728b76131c4383 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:21 2015 +0200 staging: rtl8192e: cmd_pkt: Handle INIT packets Add support for DESC_PACKET_TYPE_INIT to rtl92e_send_cmd_pkt(). With this generalization, _rtl92e_fw_download_code() may be removed after slight modification. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e7da09afd129d9b75b561808d5ed9209d6d2f2c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:20 2015 +0200 staging: rtl8192e: Use macro to represent fragmentation threshold Add CMDPACKET_FRAG_SIZE macro and use it as fragmentation threshold in send_cmd_pkt functions. This makes rt_firmware::cmdpacket_frag_thresold and rtl92e_init_fw_param() obsolete. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c008fa83c416bbdcca9a49fb2d6f3fbc50daf421 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:19 2015 +0200 staging: rtl8192e: cmdpkt: Pass data as const void* Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d15fe3e01989df34c5afc0d61fb53337484872b0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:18 2015 +0200 staging: rtl8192e: cmdpkt: Reorder arguments Use send_cmd_pkt(dev, type, data , size) order to avoid confusion Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e74c73c9837171c380f4c2ce4c749a0b62e4b8c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:17 2015 +0200 staging: rtl8192e: cmdpkt: Simplify argument names Rename: codevirtualaddress -> data buffer_len -> len packettype -> type Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1afacec6636dcf7b77ed0fdd34b7d09afaf3b323 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:16 2015 +0200 staging: rtl8192e: cmdpkt: Use packettype properly rtl92e_send_cmd_pkt used hardcoded NORMAL packet type. As it may be used to send other packet types as well - use provided packet type instead of defaults. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62d46eaac6c64c48413d62aae285a013439c51b9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Mon Oct 19 22:00:15 2015 +0200 staging: rtl8192e: rtl_dm: Use proper packet type rtl92e_send_cmd_packet sends only NORMAL packets, passing invalid type (even it it's ignored) is confusing. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba57f5fadb79f35e9e2a75617dccd62415db5252 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Mon Oct 19 12:24:39 2015 +0530 Staging: emxx_udc: Add space around operator. Add a space around '>>' operator. Problem found using checkpatch. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Reviewed-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a602ac4d6ecda412746fe249423d6455e32a264 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 18 22:59:18 2015 +0100 staging: emxx_udc: Remove boolean comparisons Boolean tests do not need explicit comparison to true or false. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6512edec48b2ccfe9bb969ce26ebbbcd49de6c4b Author: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Date: Wed Oct 21 18:42:37 2015 -0700 staging: ft1000: remove obsolete driver Remove support for Qleadtek Flash-OFDM modems. Telecom carrier is discontinuing service for the radio technology. See http://www.gtigroup.org/news/ind/2015-08-18/6996.html. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb96c7fc24fb89d7e3382260e1b391c05895cfa6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:05 2015 -0700 staging: comedi: adl_pci9118: tidy up pci9118_ai_setup_dma() For aesthetics, init the dmalen[01] local variables when they are declared. Use a local variable, 'scan_bytes', for the (devpriv->ai_n_realscanlen << 1) calculation. For aesthetics and clarification, use comedi_bytes_per_sample() instead of the '<< 1' shift to calculate the value. The local variable 'i' is badly named. Remove it and use a local variable 'tmp' where it is used. When checking the DMA buffer lengths for non-neverending commands the scan length calculation, (devpriv->ai_n_realscanlen << 1) * cmd->stop_arg, could overflow. Use and unsigned long long local variable to hold the calculation and avoid the overflow. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45037a9569183b49a9c9cf9faea294228c3963d2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:04 2015 -0700 staging: comedi: adl_pci9118: rename interrupt_*() functions For aesthetics, rename these functions so it they 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 5c912f1f285e91c9059f8b3cf2ff170ee42d604d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:03 2015 -0700 staging: comedi: adl_pci9118: rename move_block_from_dma() Rename this 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 9459ff2b6bd103bd4bd0e31f5144a7b2b6e76bae Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:02 2015 -0700 staging: comedi: adl_pci9118: rename valid_samples_in_act_dma_buf() Rename this 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 ad1a9646b72ab58649b0e75bda794f7ca79ae497 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:01 2015 -0700 staging: comedi: adl_pci9118: rename interrupt_pci9118_ai_mode4_switch() For aesthetics, remove "interrupt_" from this functions name to shorten it 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 dd2907c3e7a759e1ea2ea5587704515d907dd937 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:13:00 2015 -0700 staging: comedi: adl_pci9118: remove PCI9118_CHANLEN This define is only used to initialize the analog input sudevice 'len_chanlist'. Remove the define and just open code the value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 766957f6f1841e5d435798741852f2697ad0b2ad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:12:59 2015 -0700 staging: comedi: adl_pci9118: remove unused defines These defines are not used in the driver. 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 0f3cb85ac85a6819248544113b495af27921e454 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:12:58 2015 -0700 staging: comedi: adl_pci9118: tidy up check_channel_list() Rename this function to give it namespace associated with the driver. Currently this function is called by both the AI (*do_cmdtest) and the (*do_cmd) functions. It really only needs to be called by the (*do_cmdtest) to validate that the chanlist meets the requirements of the hardware. It's only called by the (*do_cmd) to verify that the scan length is not to large after adding the extra samples needed to satisfy the DMA. Move the extra scan length check into the (*do_cmd) function and remove the unnecessary parameters 'frontadd' and 'backadd'. Tidy up the reset of the function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c999314efef94be997b762bc22f0be55e139df8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:12:57 2015 -0700 staging: comedi: adl_pci9118: remove unnecessary check in check_channel_list() Step 3 of the AI (*do_cmdtest) validates that the cmd->chanlist_len is >= 1. If it's not the (*do_cmdtest) fails and check_channel_list() is never called. This This function is also called by the AI (*do_cmd) and the comedi core ensures that the async command has a valid chanlist. Remove the unnecessary 'n_chan' check. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 323538b825d4b1eb6c8a9022998822898ab52dff Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 13:12:56 2015 -0700 staging: comedi: adl_pci9118: TRIG_INT is not vaild for scan_begin_src The (*do_cmdtest) in this driver validated the scan_begin_src as being TRIG_FOLLOW | TRIG_TIMER | TRIG_EXT. The TRIG_INT source is not valid. Remove the Step 2 mutual compatibility check that makes sure that TRIG_INT is only used for the start_src or the scan_begin_src. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9aed06693df75c0e81ae2a25c3ed51dbb4d4ac61 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Oct 20 13:16:33 2015 +0300 staging: comedi: Fix return flow Simplify function return flow. Issue found with coccinelle. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64289a650656d7307832376fdfaf1e7131236a4b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:44:02 2015 -0700 staging: comedi: cb_pcidas: update MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "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 d52688055c9cdc81475882009e437248f073edf9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:44:01 2015 -0700 staging: comedi: cb_pcidas: fix cb_pcidas_ao_nofifo_insn_write() The comedi core expects (*insn_write) functions to write insn->n data values to the hardware. Fix this function to work like the core expects. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef7e20934ec906e7986566d45ea8ae652a64ba09 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:44:00 2015 -0700 staging: comedi: cb_pcidas: fix cb_pcidas_ao_fifo_insn_write() The comedi core expects (*insn_write) functions to write insn->n data values to the hardware. Fix this function to work like the core expects. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f92738ca2fa4f8ca30424ac2b770e2c8a8a7b364 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:43:59 2015 -0700 staging: comedi: cb_pcidas: remove superfluous comment The ao (*cancel) function does not need commented. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 042bac563b28c8067fa958470dd5c1dc31d42cb2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:43:58 2015 -0700 staging: comedi: cb_pcidas: absorb cal_enable_bits() This inline function just returns the bits needd to enable a calibration source. For aethetics, absorb it into the callers. Sorten the variable name in the private data used to hold the current calibration source. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46c95d970fc2a2c9e7abc0560bbba7155f615982 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:43:57 2015 -0700 staging: comedi: cb_pcidas: consolidate interrupt clear code The analog output and analog input interrupts are currently cleared as they are handled. Refactor the code to gather all the bits needed to clear the interrupts and do it once at the end of the interrupt handler. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d783469871f48c765c5684dc99fcc409b944754 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:43:56 2015 -0700 staging: comedi: cb_pcidas: split ai code out of interrupt handler Clarify the interrupt handler by splitting the analog input handling into a new function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abfe2196e03d7026776a0bfb94f93ae1227b23d0 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 22:35:30 2015 +0800 staging: comedi: make ni_tio_has_gate2_registers return boolean This patch makes ni_tio_has_gate2_registers return boolean, since this function only uses either one or zero as its return value. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1ccdddc2e60e73011d0a5e2f06913be84b8bafb Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Mon Oct 19 18:49:12 2015 +0200 Staging: rtl8192e: Use module_pci_driver Use module_pci_driver for drivers whose init and exit functions only register and unregister, respectively. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e6e63283691a2a9048a35d9c6c59cf0abd342e4 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Sun Oct 18 22:14:48 2015 -0500 staging: rtl8712: Add device ID for Sitecom WLA2100 This adds the USB ID for the Sitecom WLA2100. The Windows 10 inf file was checked to verify that the addition is correct. Reported-by: Frans van de Wiel <fvdw@xxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Frans van de Wiel <fvdw@xxxxxxx> Cc: Stable <stable@xxxxxxxxxxxxxxx> [All stable versions] Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3a56f750d430115f07d703858b8f3af31e17a87 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Thu Oct 22 22:20:15 2015 +0530 Staging: xgifb: Remove space after cast This patch fixes the checkpatch check: CHECK: No space is necessary after a cast Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 076e235856d1fbb026fd13dbf9139efb86a7b496 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Thu Oct 22 22:18:26 2015 +0530 Staging: xgifb: Fix comparison to NULL warning Change comparison to NULL to a ! operation. Found using checkpatch. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d46afbce659f8ca4feef61451c719275698e7fc Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Thu Oct 22 22:17:24 2015 +0530 Staging: xgifb: Remove extra blank lines. This patch fixes the checkpatch.pl check: CHECK: Please don't use multiple blank lines Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fc27711dea034db381b6a5c532f384721e9ca73 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Thu Oct 22 22:16:19 2015 +0530 Staging: xgifb: Remove blank line before } and after { Remove blank line after { and before }. Problem found using checkpatch. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8acac9421fedb008f2ef04763c3912d138ac936 Author: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Date: Thu Oct 22 20:21:22 2015 +0530 Staging: xgifb: Replace udelay, mdelay functions with usleep_range This patch fixes the checkpatch.pl check: CHECK: usleep_range is preferred over udelay. Replace mdelay with usleep_range function too. Add 1 millisecond to the delay time to get a reasonable upper limit which saves one wakeup call. Do same throughout the file. Signed-off-by: Navya Sri Nizamkari <navyasri.tech@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fd9a2a19c241ce22f05cdc82b8eefb7f8a3e92f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 22:35:32 2015 +0800 staging: xgifb: make XGIfb_has_VB return boolean This patch makes XGIfb_has_VB return boolean, since this function only uses either one or zero as its return value. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bff1d83d78db66d3307f856344fd2202b8b77ce3 Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Sat Oct 24 07:45:44 2015 +0530 staging: most: hdm-usb: Use setup_timer Use the timer API function setup_timer instead of init_timer, removing the structure field assignments. <smpl> @timer@ expression e1,e2,e3,fn_ptr; @@ -init_timer(&e1); +setup_timer(&e1, fn_ptr, e2); ... when != fn_ptr = e3 -e1.function = fn_ptr; -e1.data = e2; </smpl> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f96d48aaa915178995b4bf246793168376fd0576 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:51 2015 +0200 staging: most: remove comparison to NULL Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 181a2aa185c092b840a2bc089e83629619f5b1ab Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:50 2015 +0200 staging: most: use preferred kzalloc parameters This patch uses the preferred call to kzalloc. It replaces kzalloc(sizeof(struct aim_fh)...) by kzalloc(sizeof(*fh)...). Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2aa9b96ff6b3bbeedf8e0a042e6f24f71775c58a Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:49 2015 +0200 staging: most: use preferred kernel types This patch makes use of the preferred kernel types such as u16, u32. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 623d800252111942d357d8d8592d578d3783ff67 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:48 2015 +0200 staging: most: fix logical operator position This patch puts logical continuations on the previous line to meet coding style. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df8da2e3e400b2f4601bdba4ecd424c212fe7d5c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:47 2015 +0200 staging: most: remove unnecessary parentheses This patch simply removes unnecessary parentheses. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cbe5aa65d5d4e90c8bb661d021b50131eb963c6 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:45 2015 +0200 staging: most: use blank line after declarations This patch fixes style violation regarding blank lines after function/struct/union/enum declarations. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9deba73de56ce5782ca46460b1ca5a5de82439c1 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:44 2015 +0200 staging: most: use braces on all arms of statement This patch fixes style issues regarding braces on all arms of a statement. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edaa1e33e21ab38c683be0037605e3408f2a5a02 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:43 2015 +0200 staging: most: make alignment match open parenthesis This patch fixes coding style violations by making alignments match open parenthesis. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6c3f3458f456d53da0f2ed587a0227b8b950eda Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:42 2015 +0200 staging: most: remove multiple assignment This patch removes multiple assignments as specified in coding style. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a64557bae30d5d9f8c3e32e22c5e4cbfdf1ca083 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:41 2015 +0200 staging: most: removed redundant code This patch removes redundant code. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16dc374338b0124c937c0dda4588b06a4c9bd708 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:40 2015 +0200 staging: most: put spaces around operator This patch puts spaces around the asterisk operator. It is needed to prevent checkpatch from reporting an issue. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ac23b344e72f21cc832c5f02744ab86e9210d12 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Wed Oct 21 17:50:39 2015 +0200 staging: most: remove multiple blank lines This patch removes the usage of multiple blank lines from driver modules. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1c9e0ca0cfda2e6e93333ff86e086f0b925318e Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 21:57:09 2015 +0800 staging: IB/ipath: remove sched.h header sched.h header in ipath_*.c is now unnecessary, since I have added sched.h in ipath_kernel.h. So remove it. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 335c8ea16069aefd929acf6b287b3a23b39db978 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 21:57:08 2015 +0800 staging: IB/ipath: use TASK_COMM_LEN in ipath_portdata Use comm[TASK_COMM_LEN] instead of comm[16] in ipath_kernel.h. And add sched.h header in it. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9821ed04795f019bfa14573847c743c6b89d96c4 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Fri Oct 23 17:55:11 2015 +0300 staging: sm750fb: use direct call to hw_sm750_output_setMode The proc_setMode method in lynx_output always uses the same implementation and there is no point to use redirection rather than direct function call. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c202beee7f4b2b4f363e21fea714c8afcb08b12e Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Fri Oct 23 17:55:10 2015 +0300 staging: sm750fb: replace lynx_crtc methods with function calls The methods in lynx_crtc always use the same implementation and there is no point to use redirection rather than direct function call. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b2941e27e364c2c3ef7731dab9c7c8564acb690 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Fri Oct 23 17:55:09 2015 +0300 staging: sm750fb: remove unused methods from lynx_share The suspend and resume methods in lynx_share are not implemented and never set. Remove them. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4edd3f3af2f4b9296bccbe8dd7de18b5de683801 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Fri Oct 23 17:55:08 2015 +0300 staging: sm750fb: remove ancient kernel support Remove the code that should be compiled for ancient kernel versions together with controlling '#if LINUX_VERSION_CODE' conditionals Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b108da75862b231ada8f26002138161214ca62d1 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Fri Oct 23 17:55:07 2015 +0300 staging: sm750fb: remove defintion of offsetof There is no need to redefine offsetof Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a81b9477a0a247148096e8184a2657fdbd04a82 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 22 09:38:41 2015 +0300 staging: sm750fb: remove unused pllcalparam typedef The pllcalparam type is not used and can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a61dc139ceb5e9f0b2033fd1075ec68b53b14283 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 22 09:38:40 2015 +0300 staging: sm750fb: simplify PLL divisors calculations The calcPllValues currently uses arrays of PLL parametres that contain possible PLL control register field values and redundant data that is calculated according to those values. The usage of these arrays can be replaced with simple arithmetics. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cfac7d6a70b41982c770838edd5c2a3b4dbe55e6 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 22 09:38:39 2015 +0300 staging: sm750fb: remove '#if 1' conditionals The code enclosed in '#if 1' anyway gets compiled. Removing useless conditionals. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f741554e25e5c94bca1d5157608baab80586f81c Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 18 21:27:57 2015 +0530 staging: sm750fb: Replace uint32_t with u32 Replace uint32_t with u32 consistent with Linux kernel coding practice. Problem found using checkpatch.pl Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 347cf6d109637b337dd3dd3ec777e9fd060d8644 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 18 19:25:10 2015 +0530 staging: sm750fb: Replace include <asm/*.h> with include <linux/*.h> Problem found using checkpatch.pl WARNING: Use #include <linux/io.h> instead of <asm/io.h> WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a487db8b67044b98fddf5433d4a5c96a2ce06d3a Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Oct 18 15:51:52 2015 +0300 staging: gdm724x: remove multiple blank lines This patch removes multiple blank lines in order to follow linux kernel coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b7df122f894f5b731e0f06777302ec248a7d9f1 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Oct 18 15:51:51 2015 +0300 staging: gdm724x: correct kzalloc/kmalloc sizeof argument This patch converts sizeof(TYPE) to sizeof(VAR) when used as a kzalloc/kmaloc argument. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba7f55b705b94e26293971b9fbda183238cdc30c Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Oct 18 15:51:50 2015 +0300 staging: gdm724x: add spaces around binary operators This patch add spaces around binary operators in order to follow kernel coding style. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6f6fd8a871cebc8085719c08ea489d1d98bb21e Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Oct 18 15:51:49 2015 +0300 stating: gdm724x: remove explicit NULL comparison This patch converts explicit NULL comparison to its shorter equivalent form. Done with coccinelle semantic patch: @@ expression e; @@ - e == NULL + !e Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4785ef8102390fa7e0e8865efd44036b7337e22 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Sun Oct 18 15:51:48 2015 +0300 staging: gdm724x: properly indent to match open paranthesis Indent parameters and arguments passed to function calls to match open paranthesis Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb1dc957054c6a9823b20b2672f5193e47bc5f6d Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 21 20:00:51 2015 +0300 staging: rdma: Replace kmalloc with kmalloc_array Replace kmalloc with specialized function kmalloc_array when the size is a multiplication of: number_of_elements * size_of_element Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df5ddcc97e694bfa5dafa838c26e5b974c706929 Author: Nilesh Kokane <nilesh.kokane05@xxxxxxxxx> Date: Fri Oct 23 11:24:04 2015 +0530 staging: lustre: lnet :socklnd Braces not necessary Braces not needed for single statement block Signed-off-by: Nilesh Kokane <Nilesh.Kokane05@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daa4d3ea1e353c0f6e7b2bd657d07e0c3f4cd756 Author: Nilesh Kokane <nilesh.kokane05@xxxxxxxxx> Date: Fri Oct 23 11:02:20 2015 +0530 Staging: lustre: lnet :socklnd return statement in void function not useful Return function in void function is not needed. Signed-off-by: Nilesh Kokane <Nilesh.Kokane05@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7fc8f5a82b9082fdd738895c103b9f25ea530846 Author: Nilesh Kokane <nilesh.kokane05@xxxxxxxxx> Date: Thu Oct 22 22:42:43 2015 +0530 Staging: lustre: lov_obd: fixed a brace coding style issue Fixed a coding style issue. Signed-off-by: Nilesh kokane <Nilesh.Kokane05@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 017384481135574b0efc61d0f00a3167a93f5726 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Wed Oct 21 18:40:40 2015 +0100 staging: lustre: o2iblnd: fix misleading indentation The code is correct, the indentation is misleading. Only the the return rc is part of the conditional statement if rc != 0. Fix a smatch warning: drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c:2157 kiblnd_hdev_setup_mrs() warn: curly braces intended? Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a77ddf7cc0e5d6eee2434ed7035abbb5019f99bf Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:49 2015 -0400 staging: lustre: Use C99 initializers for struct netstrfns Update struct netstrfns to use C99 initializers. Remove old LND types from the netstrfns table, as they are long obsolete and shouldn't be needed even for interop anymore. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6210 Reviewed-on: http://review.whamcloud.com/15088 Reviewed-by: frank zago <fzago@xxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a1e76c07dacf774cd047aad62e8daa315433967 Author: Frederic Saunier <frederic.saunier@xxxxxxxx> Date: Wed Oct 21 21:52:48 2015 -0400 staging: lustre: remove last entry of libcfs_netstrfns[] Currently NID string handling test for the last entry, and last entry has .nf_type == (__u32) -1. If we ask for a non existent LND we hit the last entry which then calls a strlen on a NULL which causes a error. We can avoid this problem if we just remove the last entry since it is not used for anything except as a last entry marker. Signed-off-by: Frederic Saunier <frederic.saunier@xxxxxxxx> Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6501 Reviewed-on: http://review.whamcloud.com/15424 Reviewed-by: frank zago <fzago@xxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80feb1ef349ed03f121c086c02579ee9a08bb343 Author: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Date: Wed Oct 21 21:52:47 2015 -0400 staging: lustre: provide separate buffers for libcfs_*2str() Provide duplicates with separate buffers for libcfs_*2str() functions. Replace libcfs_nid2str() with libcfs_nid2str_r() function in critical places. Provide buffer size for nf_addr2str functions. Use __u32 as nf_type always Signed-off-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6070 Reviewed-on: http://review.whamcloud.com/13185 Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 335ea564509045796dc07faa7333162a0b03f214 Author: Joshua Walgenbach <jjw@xxxxxx> Date: Wed Oct 21 21:52:46 2015 -0400 staging: lustre: add in NID range management for libcfs This is a partial backport of the NID range management added in for nodemap. We only backport the libcfs related parts here. Signed-off-by: Joshua Walgenbach <jjw@xxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3527 Reviewed-on: http://review.whamcloud.com/8057 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Andrew Perepechko <andrew_perepechko@xxxxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Ken Hornstein <kenh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8834329bb954fd054db70f03fb4399cea87b462 Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:45 2015 -0400 staging: lustre: Avoid nid range related forward declarations in nidstring.c Since forward declarations are frowned on upstream we move the NID range handling to near the start of the nidstring.c file. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/15086 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245 Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1af01da79ef67868bc95a113a8613cf26d9c931 Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:44 2015 -0400 staging: lustre: move cfs_ip_addr_* function from kernel libcfs to LNet Both of cfs_ip_addr_parse and cfs_ip_addr_match which are located in libcfs kernel module are used only for LNet so move this into the nidstring handling code where it belongs. Also create user land versions of these functions in the libcfs user land library. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245 Reviewed-on: http://review.whamcloud.com/15085 Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: frank zago <fzago@xxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00e27ff1e2de33f7b278b50999e2d587f019b0e8 Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:43 2015 -0400 staging: lustre: move struct netstrfns to nidstr.h The reason struct netstrfns exist in nidstrings.c was to avoid forward decleration errors. The best way to handle this instead is to move this structure to a header file. Since this structure is used in the userland utilities as well so we place it in nidstr.h which is exposed to userland. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245 Reviewed-on: http://review.whamcloud.com/15083 Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a620ec637274706370db1b2178d409304a4f66eb Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:42 2015 -0400 staging: lustre: remove cfs_ip_addr_free wrapper No need to have a one line wrapper in libcfs that only is used to delete a list which is only done once in the LNet layer. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43049a83b57118753abcd9fa2141a0ce64533680 Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:41 2015 -0400 staging: lustre: remove libcfs_init_string function All the function libcfs_init_string did was initialize a spinlock. We can initialize the spinlock statically instead. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47ca6ec2673eff06e6befab2c04528c5b1f3c5bb Author: James Simmons <jsimmons@xxxxxxxxxxxxx> Date: Wed Oct 21 21:52:40 2015 -0400 staging: lustre: move nidstring handling to LNet layer Moved the source file nidstring.c from libcfs to lnet since that is the only place it is used. With the move of nidstring to lnet some functions in libcfs need to be exported. In later patches those functions that are only used by LNet also will be moved to the LNet layer. Also add in missing MAX_NUMERIC_VALUE defination. Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1dfc93af0462117db3754846d386e7c47144709 Author: Gregoire Pichon <gregoire.pichon@xxxxxxxx> Date: Wed Oct 21 21:52:39 2015 -0400 staging: lustre: add a service that prints a nidlist The libcfs already provides services to parse a string into a nidlist and to match a nid into a nidlist. This patch implements a service that prints a nidlist into a buffer. This is required for instance to print the nosquash_nids parameter of the MDT procfs component. Additionally, this patch fixes a bug in return code of parse_addrange() routine, so that parsing of nids including a * character works fine ('*@elan' for instance). Signed-off-by: Gregoire Pichon <gregoire.pichon@xxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-1778 Reviewed-on: http://review.whamcloud.com/9221 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Liang Zhen <liang.zhen@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 185938e06f9608de836169c8ff5492154272cec0 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:53 2015 +0300 staging: lustre: remove unused OBD_SLAB_ALLOC* and OBD_SLAB_FREE* macros The OBD_SLAB_ALLOC* and OBD_SLAB_FREE* macros are not used and can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c4d8ed8e880f6f9d6183e31a52cf89528d11784 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:52 2015 +0300 staging: lustre: replace OBD_SLAB_FREE with kmem_cache_free Use kmem_cache_free directly instead of wrapping macro. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50d3036294e9d4c5763e5fbc6557e5b07c2bdac0 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:51 2015 +0300 staging: lustre: replace OBD_SLAB_FREE_PTR with kmem_cache_free Use kmem_cache_free directly instead of wrapping macro. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebbc7c8b920e57c4ab3291b382ada1b92ca70822 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:50 2015 +0300 staging: lustre: replace OBD_SLAB_ALLOC_GFP with kmem_cache_alloc Use kmem_cache_free directly instead of wrapping macro. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccaabce1171b3194ded7c3961ed33ff09a5a0739 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:49 2015 +0300 staging: lustre: replace OBD_SLAB_ALLOC_PTR_GFP with kmem_cache_alloc The OBD_SLAB_ALLOC_PTR_GFP macro expands to call to kmem_cache_alloc, which may be used directly. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbc63f56fb159deb3203327848968311366b83df Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:48 2015 +0300 staging: lustre: replace OBD_SLAB_ALLOC_PTR with kmem_cache_alloc The OBD_SLAB_ALLOC_PTR macro expands to call to kmem_cache_alloc, which may be used directly. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4fb17e7504316d01c1fd1fe3e5f0f4d9640d227 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:47 2015 +0300 staging: lustre: remove unused OBDO_{ALLOC, FREE} macros The OBDO_ALLOC and OBDO_FREE macros are not used and can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ba262fb6a15994542d77c662d82484990eb18cb Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:46 2015 +0300 staging: lustre: replace OBDO_FREE with kmem_cache_free Use kmem_cache_free directly instead of wrapping macro. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 131637b811fd8e6c7f2743316f127dcb4407ad7c Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:45 2015 +0300 staging: lustre: replace OBDO_ALLOC with kmem_cache_alloc Use direct call to kmem_cache_alloc instead of wrapping macro Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4490ff89b136451940cd8a4a21e2be9396664498 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 20 12:39:44 2015 +0300 staging: lustre: remove unused OBD_SLAB_CPT_ALLOC* macros The OBD_SLAB_CPT_ALLOC* macros are not used and can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce1c42ed6053c229666a47d9e0d2d82c3e71813e Author: Sanne Wouda <snnw@xxxxxxxxxxxxxx> Date: Mon Oct 19 13:56:51 2015 +0200 staging: lustre: kernel style neating (block comments) Fix lustre/ptlrpc/client.c block comments following the Coding Style preferred format for multi-line and single-line comments: /* * This is the preferred style for multi-line * comments in the Linux kernel source code. * Please use it consistently. * * Description: A column of asterisks on the left side, * with beginning and ending almost-blank lines. */ Included some minor textual fixes to get some comments on a single line. Signed-off-by: Sanne Wouda <snnw@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b318b411cc9dcc6309eaeba56ff822979e2b15c Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 19 00:17:13 2015 +0530 Staging: lustre: interval_tree: Remove multiple assignments Remove multiple assignments by factorizing them. Fix checkpatch CHECK: multiple assignments should be avoided Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 316bd5e085cbd38176a7c1ea100416322bc1633f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 22:35:31 2015 +0800 staging: lustre: make sptlrpc_flavor_has_bulk return boolean This patch makes sptlrpc_flavor_has_bulk return boolean, since this function only uses either one or zero as its return value. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ebafb530be42dea90cb698857ac518058346b7b Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Sun Oct 18 18:50:30 2015 +0530 Staging: lustre: lproc_osc: Add check on a variable Variable rc is not tested for negative values and hence a check should be included. Also, a check for variable val should be introduced. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae127bf301d784e533b353571634e38c6ff6eb59 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sun Oct 18 13:31:57 2015 +0300 staging: lustre: Replace aligned packed with packed Replace __aligned__((packed)) with __packed in order to follow the best practices and to fix checkpatch.pl warning: 'WARNING: __packed is preferred over __attribute__((packed))' Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32b88194f71d6ae7768a29f87fbba454728273ee Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 25 10:39:47 2015 +0900 Linux 4.3-rc7 commit 4cd1a64a3b2a1290e6abb560db0dcc8260d1e274 Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Fri Oct 23 01:09:56 2015 +0800 Staging: mt29f_spinand: Remove redundant cast on 'retval' Remove the unneeded cast to 'int' since 'retval' is originally declared as 'int'. Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74f63bd664b68efdb5b81db8c39765430206f394 Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Sat Oct 24 00:13:19 2015 +0800 Staging: mt29f_spinand: Use preferred kernel types Replace remaining instances of 'uint8_t' with 'u8' for consistency since 'u8' and 'u16' are already being used in other parts of the code. Replace also 'uint32_t' with 'u32' on the header file. Checkpatch pointed out this issue. CHECK: Prefer kernel type 'u8' over 'uint8_t' CHECK: Prefer kernel type 'u32' over 'uint32_t' Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 236276625452545c161448c70d67f0388bb13b4a Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Fri Oct 23 01:07:40 2015 +0800 Staging: mt29f_spinand: Remove multiple blank lines Remove excess blank line in-between two function declarations. Issue found by checkpatch. CHECK: Please don't use multiple blank lines Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a25d6da550319dd2d483b5043a416fd12b32aca Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Fri Oct 23 01:07:39 2015 +0800 Staging: mt29f_spinand: Remove blank line before '}' and after '{' braces Remove unneeded blank lines preceding/following '}' and '{' braces, as pointed out by checkpatch. This patch addresses the following checkpatch checks: CHECK: Blank lines aren't necessary before a close brace '}' CHECK: Blank lines aren't necessary after an open brace '{' Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 522f005082ff480da44353e97ce44b308f803ff0 Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Fri Oct 23 01:07:38 2015 +0800 Staging: mt29f_spinand: Add blank line after function declaration Add missing blank line in-between function declarations. Issue found by checkpatch. CHECK: Please use a blank line after function/struct/union/enum declarations Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34b8dae75fd52e5216456edbaee401f62c8024f5 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Oct 21 20:19:18 2015 +0530 Staging: rtl8192u: Eliminate use of MSECS macro Use msecs_to_jiffies instead of driver specific macro MSECS. This is done using Coccinelle and semantic patch used for this is as follows: @@expression t;@@ - MSECS(t) + msecs_to_jiffies(t) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b6a8799f341820e7327fb534f130c7f82fb6356 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Oct 17 11:39:25 2015 +0100 staging: rtl8192u: simplify conditional The code can be much cleaner and readable by simplifying the conditional statement. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ff0c8a97d3ec26ed3c7a26a74851a4b0fb515e3 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 23 14:28:17 2015 +0900 staging: wilc1000: isr_bh_routine: remove unused variable nic This patch removes unused variable nic. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c07f8c7ca0e2119065f4b3f497ad99304bdd8ea Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 23:31:11 2015 +0800 staging: wilc1000: fix trivial typos s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c1d05d103f99f3c7979ab37f6431bd641c6bb3f Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:14:03 2015 +0900 staging: wilc1000: init_irq: change argument and use netdev private wilc This patch changes function argument type wilc with net_device and use netdev private data member wilc instead of p_nic. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 684dc1861c9e4e1c52de5f8410d6ce4ac0e970ab Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:14:02 2015 +0900 staging: wilc1000: start_ap: use netdev private data wilc Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b86935eb98e1afae43616ec7316afbbeb313e51 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:14:01 2015 +0900 staging: wilc1000: wilc_mgmt_frame_register: use netdev private wilc Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 692e2aceffd00f91a846f6e628277222899b198e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:14:00 2015 +0900 staging: wilc1000: del_key: use netdev private wilc instead of g_linux_wlan Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7646920087bc523b4ef1fa2b00cbbf3a6c0cc1c1 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:59 2015 +0900 staging: wilc1000: add_key: use netdev private wilc instead of g_linux_wlan Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1ec2c12a3f238a7a7a0397bfd164b596316968a Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:58 2015 +0900 staging: wilc1000: CfgConnectResult: use netdev private wilc Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53dc0cfea3cfec470418730df7abfef401f75a4d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:57 2015 +0900 staging: wilc1000: wilc1000_wlan_deinit: change argument and use wilc This patch changes function argument wilc with net_device and use nic->wilc instead of global variable g_linux_wlan. The null check codes should be placed before it is used so move it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 299382cf437d5115f8c132dd0bd87aa78ee146b7 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:56 2015 +0900 staging: wilc1000: chage_virtual_intf: use netdev private wilc Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca64ad6e6436ed69aa6b79eaf39ff833986bcea8 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:55 2015 +0900 staging: wilc1000: mac_close: use netdev private wilc instead of g_linux_wlan Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3c1366ebbdf54e85810951e8efc9fcf9e430b99 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:54 2015 +0900 staging: wilc1000: mac_open: use netdev private wilc Use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38afb390497a0c5f72e936ced1d29ef99a1e9131 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:53 2015 +0900 staging: wilc1000: wlan_init_locks: change parameter and use wilc This patch changes function parameter type wilc with net_device and use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fa683b66524805c25b5fec3eb79d963e2f4485d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:52 2015 +0900 staging: wilc1000: wilc1000_wlan_init: use netdev private wilc This patch use netdev private data member wilc instead of global variable g_linux_wlan. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38b3001de95ad5a52cf32ebb9c7fe1fd2b16c396 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Tue Oct 20 17:13:51 2015 +0900 staging: wilc1000: add wilc to netdev private data structure This patch add wilc to struct perInterface_wlan_t which is netdev private data to access wilc via netdev_priv function. Assign wilc to nic->wilc. The global variable g_linux_wlan will be replaced with netdev private data member wilc step by step. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0f52fbac74e4ab17014c1625a651689a96896bb Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 17:10:46 2015 +0900 staging: wilc1000: fix the bug on copying bssid This patch reverts the commit, d79fd35b8c5d927695b48fa35aa586919818cce9. The WID_JOIN_REQ_EXTENDED among WIDs needs two parameters for the request to be sent to the firmware, which are the SA and the BSSID. For this case, both is the same bssid in the handle_connect function. So, it's required to be copied twice. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12ba5416dc7702cc5bb6d8611d4c288302722c6a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:56 2015 +0900 staging: wilc1000: assign pointer of g_linux_wlan to sdio device data This patch assigns wl pointer to sdio device data. The global variable g_linux_wlan will be removed finally. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75ce07d4a09e31a8d2c38bce95e92d12031e605a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:55 2015 +0900 staging: wilc1000: introduce struct wilc_sdio for sdio data This patch introduces struct wilc_sdio for sdio driver data. The wilc_sdio is allocated and set as driver data when the sdio is probed and deallocated when the sdio is removed. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b46d68825c2d3af70ad18b53dfed6516e393b7fa Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:54 2015 +0900 staging: wilc1000: remove COMPLEMENT_BOOT This patch removes a preprocessor definition, COMPLEMENT_BOOT which is not used anymore. This is just workaround to avoid weird issue, which is that 11b core is not ready after the power is givin to the chip. However, this issue happened only in the unstable hardware a long time ago and no more seen. In addition, this patch removes _fail_threads_ statement to avoid the build warning after removing COMPLEMENT_BOOT conditionals. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b8ad7bc90bca63d6bc00b57af1a5f94c1897e12 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:53 2015 +0900 staging: wilc1000: rename wilc_firmware in the struct wilc This patch renames wilc_firmware in the struct wilc to the firmware. In addition, null assignments to the wl->firmware after release_firmware are removed because it is not necessary. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4875c499dc9b69f64c849677b55f0fc02a461a49 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:52 2015 +0900 staging: wilc1000: move clean up codes into wl_wlan_cleanup function This patch moves clean up codes from exit_wilc_driver into the wl_wlan_cleanup newly introduced in this patch. In addition, it is called by linux_sdio_remove function. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 817f3fb988642f050d6e4afce5db0a3e7a345720 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:51 2015 +0900 staging: wilc1000: rename wilc_netdev in the struct wilc_vif This patch renames wilc_netdev in the struct wilc_vif to the ndev. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3134a57875e2cb87d6c84088fc634fa4e1c155c4 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:50 2015 +0900 staging: wilc1000: rename drvHandler in the struct wilc_vif This patch renames drvHandler in the struct wilc_vif to the hif_drv. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7201cd2ca5d03e9b3b6d21e5a23fd82246a3501d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:49 2015 +0900 staging: wilc1000: rename aBSSID in the sturct wilc_vif This patch renames aBSSID in the struct wilc_vif to the bssid. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e7fa470efb691058de43e65373aa919e4523fe2 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:48 2015 +0900 staging: wilc1000: rename aSrcAddress in the struct wilc_vif This patch renames aSrcAddress in the struct wilc_vif to the src_addr. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8259a53e1c88765084a68c38bc6c5ebae563d6e5 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:47 2015 +0900 staging: wilc1000: rename strInterfaceInfo in the sturct wilc This patch renames strInterfaceInfo in the struct wilc to the vif. In addition, unnecessary print statements around it are removed in this patch. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1b30f6a34166af4f1ee8b35906600b55f7fd591 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:46 2015 +0900 staging: wilc1000: rename u8NoIfcs in the struct wilc This patch renames u8NoIfcs of the struct wilc to the vif_num to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 080f11bb3782352a05dfec5fd3ecddf94793af0c Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Oct 20 14:26:45 2015 +0900 staging: wilc1000: change the type of wilc1000_initialized This patch changes the type of wilc1000_initialized in the struc wilc from int to bool and also renames it to the initialized. In addition, unnecessary wilc1000_initialized codes are removed in this patch. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91109e113c71715cd0f21fd94fb2db95103f4092 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:13 2015 +0900 staging: wilc1000: fixes comparison to NULL could be written This patch fixes the checks reported by checkpatch.pl for comparison to NULL could be written. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c8360b3f9397caaf106add76a3374bcd084aba7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:12 2015 +0900 staging: wilc1000: fixes alignment should match open parenthesis This patch fixes the checks reported by checkpatch.pl for alignment should match open parenthesis. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 771788078a5c20bb1979e3ad2a6ef6a78e1044f9 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:11 2015 +0900 staging: wilc1000: fixes unnecessary variable replacement This patch removes an unnecessary variable use for the errors and returns errors directly without a result variable. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f3295a2dd08a28762bc627f5c3d57409b34474d Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:10 2015 +0900 staging: wilc1000: move variable FALSE_FRMWR_CHANNEL This patch moves the variable 'FALSE_FRMWR_CHANNEL' to where local definitions are. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7178aed8ec170006ed3264ecb0b78de6d087c9b6 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:09 2015 +0900 staging: wilc1000: move variable clients_count This patch moves static variable clients_count to around where the local variables are togther. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31390eec7dce6360a96e32d440bf6e0c1bb31d0f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 19 18:26:08 2015 +0900 staging: wilc1000: rename variable s32Error This patch renames variable s32Error to result to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52984aab3369869d43efdf15743cc23795413f68 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 23:31:10 2015 +0800 dmaengine: ste_dma40: fix a trivial typo s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 16134b3bc317c571e953d18196acf0a92afda5ff Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Oct 22 20:46:05 2015 +0200 ARM: bcm2835: add mutual inclusion protection This patch adds mutual inclusion protection for the rpi firmware header. Cc: Eric Anholt <eric@xxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d42fde70849c5ba2f00c37a0666305eb507a47b8 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Sat Oct 24 21:33:01 2015 +0200 iommu/vt-d: Clean up pasid_enabled() and ecs_enabled() dependencies When booted with intel_iommu=ecs_off we were still allocating the PASID tables even though we couldn't actually use them. We really want to make the pasid_enabled() macro depend on ecs_enabled(). Which is unfortunate, because currently they're the other way round to cope with the Broadwell/Skylake problems with ECS. Instead of having ecs_enabled() depend on pasid_enabled(), which was never something that made me happy anyway, make it depend in the normal case on the "broken PASID" bit 28 *not* being set. Then pasid_enabled() can depend on ecs_enabled() as it should. And we also don't need to mess with it if we ever see an implementation that has some features requiring ECS (like PRI) but which *doesn't* have PASID support. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 5a10ba27d963bc79d6ac2e4996cdbb012195c306 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Sat Oct 24 21:06:39 2015 +0200 iommu/vt-d: Handle Caching Mode implementations of SVM Not entirely clear why, but it seems we need to reserve PASID zero and flush it when we make a PASID entry present. Quite we we couldn't use the true PASID value, isn't clear. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 22ca7ca52e80524360b43944a0556b2a6dc1aa21 Merge: aef8cc9 09dc138 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Sun Oct 25 05:02:33 2015 +1000 Merge branch 'vmwgfx-fixes-4.3' of git://people.freedesktop.org/~thomash/linux I'm not sure whether this patch comes in too late, but it would be good to have it in. It stabilizes command submission in case of command buffer errors. * 'vmwgfx-fixes-4.3' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Stabilize the command buffer submission code commit aef8cc903583c5a205b696fb0a51e1eca9117321 Merge: 01815536 c86f5ebf Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Sun Oct 25 05:01:57 2015 +1000 Merge branch 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux Two regression fixes and a memory leak fix for amdgpu and radeon. * 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux: drm/amdgpu: don't try to recreate sysfs entries on resume drm/radeon: don't try to recreate sysfs entries on resume drm/amdgpu: stop leaking page flip fence commit 687f079addba1ac7f97ce97080c2291bbe8c8dce Merge: ba3e208 2af5ae3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 24 06:56:54 2015 -0700 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: improve broadcast implementation The TIPC broadcast link implementation is currently complex and hard to follow. It also incurs some amount of code and structure duplication, something that can be reduced significantly with a little effort. This commit series introduces a number of improvements which address both the locking structure, the code/structure duplication issue, and the overall readbility of the code. The series consists of three main parts: 1-7: Adaptation to the new link structure, and preparation for the next step. In particular, we want the broadcast transmission link to have a life cycle that is longer than any of its potential (unicast and broadcast receive links) users. This eliminates the need to always test for the presence of this link before accessing it. 8-10: This is what is really new in this series. Commit #9 is by far the largest and most important one, because it moves most of the broadcast functionality into link.c, partially reusing the fields and functionality of the unicast link. The removal of the "node_map" infrastructure in commit #10 is also an important achievement. 11-16: Some improvements leveraging the changes made in the previous commits. The series needs commit 53387c4e22ac ("tipc: extend broadcast link window size") and commit e53567948f82 ("tipc: conditionally expand buffer headroom over udp tunnel") which are both present in 'net' but not yet in 'net-next', to apply cleanly. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2af5ae372a4b6d6e2d3314af0e9c865d6d64f8d3 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:48 2015 -0400 tipc: clean up unused code and structures After the previous changes in this series, we can now remove some unused code and structures, both in the broadcast, link aggregation and link code. There are no functional changes in this commit. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c49a0a84391bcc313b3dc2a9ceee6de684e07655 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:47 2015 -0400 tipc: ensure binding table initial distribution is sent via first link Correct synchronization of the broadcast link at first contact between two nodes is dependent on the assumption that the binding table "bulk" update passes via the same link as the initial broadcast syncronization message, i.e., via the first link that is established. This is not guaranteed in the current implementation. If two link come up very close to each other in time, the "bulk" may quite well pass via the second link, and hence void the guarantee of a correct initial synchronization before the broadcast link is opened. This commit makes two small changes to strengthen this guarantee. 1) We let the second established link occupy slot 1 of the "active_links" array, while the first link will retain slot 0. (This is in reality a cosmetic change, we could just as well keep the current, opposite order) 2) We let the name distributor always use link selector/slot 0 when it sends it binding table updates. The extra traffic bias on the first link caused by this change should be negligible, since binding table updates constitutes a very small fraction of the total traffic. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c72fa872a23f03b2b9c17e88f3b0a8070924e5f1 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:46 2015 -0400 tipc: eliminate link's reference to owner node With the recent commit series, we have established a one-way dependency between the link aggregation (struct tipc_node) instances and their pertaining tipc_link instances. This has enabled quite significant code and structure simplifications. In this commit, we eliminate the field 'owner', which points to an instance of struct tipc_node, from struct tipc_link, and replace it with a pointer to struct net, which is the only external reference now needed by a link instance. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7214bcf8753109256d635ba079938fbd6fcf713b Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:45 2015 -0400 tipc: eliminate redundant buffer cloning at transmission Since all packet transmitters (link, bcast, discovery) are now sending consumable buffer clones to the bearer layer, we can remove the redundant buffer cloning that is perfomed in the lower level functions tipc_l2_send_msg() and tipc_udp_send_msg(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60852d679575b0d7ce62497938116f92654ae908 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:44 2015 -0400 tipc: let neighbor discoverer tranmsit consumable buffers The neighbor discovery function currently uses the function tipc_bearer_send() for transmitting packets, assuming that the sent buffers are not consumed by the called function. We want to change this, in order to avoid unnecessary buffer cloning elswhere in the code. This commit introduces a new function tipc_bearer_skb() which consumes the sent buffers, and let the discoverer functions use this new call instead. The discoverer does now itself perform the cloning when that is necessary. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 959e1781aa230aecc90e4deb80117fd9a53dede7 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:43 2015 -0400 tipc: introduce jumbo frame support for broadcast Until now, we have only been supporting a fix MTU size of 1500 bytes for all broadcast media, irrespective of their actual capability. We now make the broadcast MTU adaptable to the carrying media, i.e., we use the smallest MTU supported by any of the interfaces attached to TIPC. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b06b281e79375fcbd9ffaec7c5fdc350b888d089 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:42 2015 -0400 tipc: simplify bearer level broadcast Until now, we have been keeping track of the exact set of broadcast destinations though the help structure tipc_node_map. This leads us to have to maintain a whole infrastructure for supporting this, including a pseudo-bearer and a number of functions to manipulate both the bearers and the node map correctly. Apart from the complexity, this approach is also limiting, as struct tipc_node_map only can support cluster local broadcast if we want to avoid it becoming excessively large. We want to eliminate this limitation, in order to enable introduction of scoped multicast in the future. A closer analysis reveals that it is unnecessary maintaining this "full set" overview; it is sufficient to keep a counter per bearer, indicating how many nodes can be reached via this bearer at the moment. The protocol is now robust enough to handle transitional discrepancies between the nominal number of reachable destinations, as expected by the broadcast protocol itself, and the number which is actually reachable at the moment. The initial broadcast synchronization, in conjunction with the retransmission mechanism, ensures that all packets will eventually be acknowledged by the correct set of destinations. This commit introduces these changes. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5266698661401afc5e4a1a521cf9ba10724d10dd Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:41 2015 -0400 tipc: let broadcast packet reception use new link receive function The code path for receiving broadcast packets is currently distinct from the unicast path. This leads to unnecessary code and data duplication, something that can be avoided with some effort. We now introduce separate per-peer tipc_link instances for handling broadcast packet reception. Each receive link keeps a pointer to the common, single, broadcast link instance, and can hence handle release and retransmission of send buffers as if they belonged to the own instance. Furthermore, we let each unicast link instance keep a reference to both the pertaining broadcast receive link, and to the common send link. This makes it possible for the unicast links to easily access data for broadcast link synchronization, as well as for carrying acknowledges for received broadcast packets. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd556f209af53b9cdc45df8c467feb235376c4df Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:40 2015 -0400 tipc: introduce capability bit for broadcast synchronization Until now, we have tried to support both the newer, dedicated broadcast synchronization mechanism along with the older, less safe, RESET_MSG/ ACTIVATE_MSG based one. The latter method has turned out to be a hazard in a highly dynamic cluster, so we find it safer to disable it completely when we find that the former mechanism is supported by the peer node. For this purpose, we now introduce a new capabability bit, TIPC_BCAST_SYNCH, to inform any peer nodes that dedicated broadcast syncronization is supported by the present node. The new bit is conveyed between peers in the 'capabilities' field of neighbor discovery messages. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f566124570625c29c3fd79bac4d9cd97c0c31a1 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:39 2015 -0400 tipc: let broadcast transmission use new link transmit function This commit simplifies the broadcast link transmission function, by leveraging previous changes to the link transmission function and the broadcast transmission link life cycle. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1ab3f1dea3df566ad38caf98baf69c656679090 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:38 2015 -0400 tipc: make struct tipc_link generic to support broadcast Realizing that unicast is just a special case of broadcast, we also see that we can go in the other direction, i.e., that modest changes to the current unicast link can make it generic enough to support broadcast. The following changes are introduced here: - A new counter ("ackers") in struct tipc_link, to indicate how many peers need to ack a packet before it can be released. - A corresponding counter in the skb user area, to keep track of how many peers a are left to ack before a buffer can be released. - A new counter ("acked"), to keep persistent track of how far a peer has acked at the moment, i.e., where in the transmission queue to start updating buffers when the next ack arrives. This is to avoid double acknowledgements from a peer, with inadvertent relase of packets as a result. - A more generic tipc_link_retrans() function, where retransmit starts from a given sequence number, instead of the first packet in the transmision queue. This is to minimize the number of retransmitted packets on the broadcast media. When the new functionality is taken into use in the next commits, we expect it to have minimal effect on unicast mode performance. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 323019069e8d96d87e9dba51f897060f94999821 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:37 2015 -0400 tipc: use explicit allocation of broadcast send link The broadcast link instance (struct tipc_link) used for sending is currently aggregated into struct tipc_bclink. This means that we cannot use the regular tipc_link_create() function for initiating the link, but do instead have to initiate numerous fields directly from the bcast_init() function. We want to reduce dependencies between the broadcast functionality and the inner workings of tipc_link. In this commit, we introduce a new function tipc_bclink_create() to link.c, and allocate the instance of the link separately using this function. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0e05498e9eae16a6d8c86543e77930ec152e655e Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:36 2015 -0400 tipc: make link implementation independent from struct tipc_bearer In reality, the link implementation is already independent from struct tipc_bearer, in that it doesn't store any reference to it. However, we still pass on a pointer to a bearer instance in the function tipc_link_create(), just to have it extract some initialization information from it. I later commits, we need to create instances of tipc_link without having any associated struct tipc_bearer. To facilitate this, we want to extract the initialization data already in the creator function in node.c, before calling tipc_link_create(), and pass this info on as individual parameters in the call. This commit introduces this change. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5fd9fd635104f4816da158cdac6917e99e192eac Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:35 2015 -0400 tipc: create broadcast transmission link at namespace init The broadcast transmission link is currently instantiated when the network subsystem is started, i.e., on order from user space via netlink. This forces the broadcast transmission code to do unnecessary tests for the existence of the transmission link, as well in single mode node as in network mode. In this commit, we do instead create the link during initialization of the name space, and remove it when it is stopped. The fact that the transmission link now has a guaranteed longer life cycle than any of its potential clients paves the way for further code simplifcations and optimizations. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0043550b0a88b72216161d6f25eb0a2e0e78babf Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:34 2015 -0400 tipc: move broadcast link lock to struct tipc_net The broadcast lock will need to be acquired outside bcast.c in a later commit. For this reason, we move the lock to struct tipc_net. Consistent with the changes in the previous commit, we also introducee two new functions tipc_bcast_lock() and tipc_bcast_unlock(). The code that is currently using tipc_bclink_lock()/unlock() will be phased out during the coming commits in this series. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6beb19a62a87ef6f7107fcd43c2cc1ebad3edfb5 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 22 08:51:33 2015 -0400 tipc: move bcast definitions to bcast.c Currently, a number of structure and function definitions related to the broadcast functionality are unnecessarily exposed in the file bcast.h. This obscures the fact that the external interface towards the broadcast link in fact is very narrow, and causes unnecessary recompilations of other files when anything changes in those definitions. In this commit, we move as many of those definitions as is currently possible to the file bcast.c. We also rename the structure 'tipc_bclink' to 'tipc_bc_base', both since the name does not correctly describe the contents of this struct, and will do so even less in the future, and because we want to use the term 'link' more appropriately in the functionality introduced later in this series. Finally, we rename a couple of functions, such as tipc_bclink_xmit() and others that will be kept in the future, to include the term 'bcast' instead. There are no functional changes in this commit. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba3e2084f268bdfed7627046e58a2218037e15af Merge: a72c951 ce9d9b8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 24 06:54:12 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/ipv6/xfrm6_output.c net/openvswitch/flow_netlink.c net/openvswitch/vport-gre.c net/openvswitch/vport-vxlan.c net/openvswitch/vport.c net/openvswitch/vport.h The openvswitch conflicts were overlapping changes. One was the egress tunnel info fix in 'net' and the other was the vport ->send() op simplification in 'net-next'. The xfrm6_output.c conflicts was also a simplification overlapping a bug fix. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a72c9512bf2bef12c5e66a4d910c4b348fe31d61 Merge: 379a80a 13972ad Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 24 05:13:16 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-10-22 Here's probably the last bluetooth-next pull request for 4.4. Among several other changes it contains the rest of the fixes & cleanups from the Bluetooth UnplugFest (that didn't need to be hurried to 4.3). - Refactoring & cleanups to 6lowpan code - New USB ids for two Atheros controllers and BCM43142A0 from Broadcom - Fix (quirk) for broken Broadcom BCM2045 controllers - Support for latest Apple controllers - Improvements to the vendor diagnostic message support Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 033695bdf6d79180f74893830053fcf3e8bc9d24 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Fri Oct 23 20:27:58 2015 +0300 rtl8xxxu: move devices supported by rtlwifi under UNTESTED config There are still four devices which are currently supported both by the new rtl8xxxu driver and rtlwifi. To not break existing setups enable the support for these four devices only when CONFIG_RTL8XXXU_UNTESTED is turned on. Once rtl8xxxu support is found to be good enough the devices can be removed from rtlwifi and enabled by default in rtl8xxxu. Reported-by: Xose Vazquez Perez <xose.vazquez@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 355810d12a8974ff1f3a7336149b65d4bda84634 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:32:01 2015 -0700 raid5: log recovery This is the log recovery support. The process is quite straightforward. We scan the log and read all valid meta/data/parity into memory. If a stripe's data/parity checksum is correct, the stripe will be recoveried. Otherwise, it's discarded and we don't scan the log further. The reclaim process guarantees stripe which starts to be flushed raid disks has completed data/parity and has correct checksum. To recovery a stripe, we just copy its data/parity to corresponding raid disks. The trick thing is superblock update after recovery. we can't let superblock point to last valid meta block. The log might look like: | meta 1| meta 2| meta 3| meta 1 is valid, meta 2 is invalid. meta 3 could be valid. If superblock points to meta 1, we write a new valid meta 2n. If crash happens again, new recovery will start from meta 1. Since meta 2n is valid, recovery will think meta 3 is valid, which is wrong. The solution is we create a new meta in meta2 with its seq == meta 1's seq + 10 and let superblock points to meta2. recovery will not think meta 3 is a valid meta, because its seq is wrong Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 0576b1c618ef220051a8555f2aa7dd316e88f330 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:32:00 2015 -0700 raid5: log reclaim support This is the reclaim support for raid5 log. A stripe write will have following steps: 1. reconstruct the stripe, read data/calculate parity. ops_run_io prepares to write data/parity to raid disks 2. hijack ops_run_io. stripe data/parity is appending to log disk 3. flush log disk cache 4. ops_run_io run again and do normal operation. stripe data/parity is written in raid array disks. raid core can return io to upper layer. 5. flush cache of all raid array disks 6. update super block 7. log disk space used by the stripe can be reused In practice, several stripes consist of an io_unit and we will batch several io_unit in different steps, but the whole process doesn't change. It's possible io return just after data/parity hit log disk, but then read IO will need read from log disk. For simplicity, IO return happens at step 4, where read IO can directly read from raid disks. Currently reclaim run if there is specific reclaimable space (1/4 disk size or 10G) or we are out of space. Reclaim is just to free log disk spaces, it doesn't impact data consistency. The size based force reclaim is to make sure log isn't too big, so recovery doesn't scan log too much. Recovery make sure raid disks and log disk have the same data of a stripe. If crash happens before 4, recovery might/might not recovery stripe's data/parity depending on if data/parity and its checksum matches. In either case, this doesn't change the syntax of an IO write. After step 3, stripe is guaranteed recoverable, because stripe's data/parity is persistent in log disk. In some cases, log disk content and raid disks content of a stripe are the same, but recovery will still copy log disk content to raid disks, this doesn't impact data consistency. space reuse happens after superblock update and cache flush. There is one situation we want to avoid. A broken meta in the middle of a log causes recovery can't find meta at the head of log. If operations require meta at the head persistent in log, we must make sure meta before it persistent in log too. The case is stripe data/parity is in log and we start write stripe to raid disks (before step 4). stripe data/parity must be persistent in log before we do the write to raid disks. The solution is we restrictly maintain io_unit list order. In this case, we only write stripes of an io_unit to raid disks till the io_unit is the first one whose data/parity is in log. The io_unit list order is important for other cases too. For example, some io_unit are reclaimable and others not. They can be mixed in the list, we shouldn't reuse space of an unreclaimable io_unit. Includes fixes to problems which were... Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit f6bed0ef0a808164f51197de062e0450ce6c1f96 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:31:59 2015 -0700 raid5: add basic stripe log This introduces a simple log for raid5. Data/parity writing to raid array first writes to the log, then write to raid array disks. If crash happens, we can recovery data from the log. This can speed up raid resync and fix write hole issue. The log structure is pretty simple. Data/meta data is stored in block unit, which is 4k generally. It has only one type of meta data block. The meta data block can track 3 types of data, stripe data, stripe parity and flush block. MD superblock will point to the last valid meta data block. Each meta data block has checksum/seq number, so recovery can scan the log correctly. We store a checksum of stripe data/parity to the metadata block, so meta data and stripe data/parity can be written to log disk together. otherwise, meta data write must wait till stripe data/parity is finished. For stripe data, meta data block will record stripe data sector and size. Currently the size is always 4k. This meta data record can be made simpler if we just fix write hole (eg, we can record data of a stripe's different disks together), but this format can be extended to support caching in the future, which must record data address/size. For stripe parity, meta data block will record stripe sector. It's size should be 4k (for raid5) or 8k (for raid6). We always store p parity first. This format should work for caching too. flush block indicates a stripe is in raid array disks. Fixing write hole doesn't need this type of meta data, it's for caching extension. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit b70abcb24711d1327a8a505ab3e931c24cbab0a7 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:31:58 2015 -0700 raid5: add a new state for stripe log handling When a stripe finishes construction, we write the stripe to raid in ops_run_io normally. With log, we do a bunch of other operations before the stripe is written to raid. Mainly write the stripe to log disk, flush disk cache and so on. The operations are still driven by raid5d and run in the stripe state machine. We introduce a new state for such stripe (trapped into log). The stripe is in this state from the time it first enters ops_run_io (finish construction) to the time it is written to raid. Since we know the state is only for log, we bypass other check/operation in handle_stripe. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 6d036f7d52e5a9c3b2ff77883db4c34620681804 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:31:57 2015 -0700 raid5: export some functions Next several patches use some raid5 functions, rename them with raid5 prefix and export out. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 3069aa8def32b0c2b83cd27d1c37ed30b47ce879 Author: Shaohua Li <shli@xxxxxx> Date: Thu Aug 13 14:31:56 2015 -0700 md: override md superblock recovery_offset for journal device Journal device stores data in a log structure. We need record the log start. Here we override md superblock recovery_offset for this purpose. This field of a journal device is meaningless otherwise. Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit bac624f3f86a8c7db395c7f85ccad6a504b9c4b4 Author: Song Liu <songliubraving@xxxxxx> Date: Thu Aug 13 14:31:55 2015 -0700 MD: add a new disk role to present write journal device Next patches will use a disk as raid5/6 journaling. We need a new disk role to present the journal device and add MD_FEATURE_JOURNAL to feature_map for backward compability. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c4d4c91b44d8309082127893221a1971a27c50ca Author: Song Liu <songliubraving@xxxxxx> Date: Thu Aug 13 14:31:54 2015 -0700 MD: replace special disk roles with macros Add the following two macros for special roles: spare and faulty MD_DISK_ROLE_SPARE 0xffff MD_DISK_ROLE_FAULTY 0xfffe Add MD_DISK_ROLE_MAX 0xff00 as the maximal possible regular role, and minimal value of special role. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 28c1b9fdf4562b52fe104384b16238c39c8a8d40 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Thu Oct 22 16:01:25 2015 +1100 md-cluster: Call update_raid_disks() if another node --grow's raid_disks To incorporate --grow feature executed on one node, other nodes need to acknowledge the change in number of disks. Call update_raid_disks() to update internal data structures. This leads to call check_reshape() -> md_allow_write() -> md_update_sb(), this results in a deadlock. This is done so it can safely allocate memory (which might trigger writeback which might write to raid1). This is not required for md with a bitmap. In the clustered case, we don't perform md_update_sb() in md_allow_write(), but in do_md_run(). Also we disable safemode for clustered mode. mddev->recovery_cp need not be set in check_sb_changes() because this is required only when a node reads another node's bitmap. mddev->recovery_cp (which is read from sb->resync_offset), is set only if mddev is in_sync. Since we disabled safemode, in_sync is set to zero. In a clustered environment, the MD may not be in sync because another node could be writing to it. So make sure that in_sync is not set in case of clustered node in __md_stop_writes(). Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 30661b49be784e8eecde60330ad7a8bdeb5291b1 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Oct 19 15:44:00 2015 +1100 md-cluster: remove mddev arg from add_resync_info() The arg isn't used, so its presence is only confusing. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 2e2a7cd96f5a076db4d4a4bd564652d37dd034c2 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Oct 19 15:42:18 2015 +1100 md-cluster: don't cast void pointers when assigning them. It is common practice in the kernel to leave out this case. It isn't needed and adds little if any value. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 823815238f5e2bfd3783602ca9c50da9fe41c778 Author: NeilBrown <neilb@xxxxxxxx> Date: Mon Oct 19 15:36:07 2015 +1100 md-cluster: discard unused sb_mutex. Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit cf97a348c8f700e448588bad4de3504d8d65c2f9 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Fri Oct 16 15:40:22 2015 +0800 md-cluster: Fix warnings when build with CF=-D__CHECK_ENDIAN__ This patches fixes sparse warnings like incorrect type in assignment (different base types), cast to restricted __le64. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 8bce6d35b308d73cdb2ee273c95d711a55be688c Author: NeilBrown <neilb@xxxxxxxx> Date: Thu Oct 22 13:20:15 2015 +1100 md/raid10: fix the 'new' raid10 layout to work correctly. In Linux 3.9 we introduce a new 'far' layout for RAID10 which was supposed to rotate the replicas differently and so provide better resilience. In particular it could survive more combinations of 2 drive failures. Unfortunately. due to a coding error, this some did what was wanted, sometimes improved less than we hoped, and sometimes - in very unlikely circumstances - put multiple replicas on the same device so the redundancy was harmed. No public user-space tool has created arrays using this layout so it is very unlikely that zero-redundancy arrays actually exist. Probably no arrays using any form of the new layout exist. But we cannot be certain. So use another bit in the 'layout' number and introduce a bug-fixed version of the layout. Also when assembling an array, if it has a zero-redundancy layout, give a warning. Reported-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c340702ca26a628832fade4f133d8160a55c29cc Author: NeilBrown <neilb@xxxxxxxx> Date: Sat Oct 24 16:23:48 2015 +1100 md/raid10: don't clear bitmap bit when bad-block-list write fails. When a write fails and a bad-block-list is present, we can update the bad-block-list instead of writing the data. If this succeeds then it is OK clear the relevant bitmap-bit as no further 'sync' of the block is needed. However if writing the bad-block-list fails then we need to treat the write as failed and particularly must not clear the bitmap bit. Otherwise the device can be re-added (after any hardware connection issues are resolved) and because the relevant bit in the bitmap is clear, that block will not be resynced. This leads to data corruption. We already delay the final bio_endio() on the write until the bad-block-list is written so that when the write returns: either that data is safe, the bad-block record is safe, or the fact that the device is faulty is safe. However we *don't* delay the clearing of the bitmap, so the bitmap bit can be recorded as cleared before we know if the bad-block-list was written safely. So: delay that until the write really is safe. i.e. move the call to close_write() until just before calling bio_endio(), and recheck the 'is array degraded' status before making that call. This bug goes back to v3.1 when bad-block-lists were introduced, though it only affects arrays created with mdadm-3.3 or later as only those have bad-block lists. Backports will require at least Commit: 95af587e95aa ("md/raid10: ensure device failure recorded before write request returns.") as well. I'll send that to 'stable' separately. Note that of the two tests of R10BIO_WriteError that this patch adds, the first is certain to fail and the second is certain to succeed. However doing it this way makes the patch more obviously correct. I will tidy the code up in a future merge window. Reported-by: Nate Dailey <nate.dailey@xxxxxxxxxxx> Fixes: bd870a16c594 ("md/raid10: Handle write errors by updating badblock log.") Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit bd8688a199b864944bf62eebed0ca13b46249453 Author: NeilBrown <neilb@xxxxxxxx> Date: Sat Oct 24 16:02:16 2015 +1100 md/raid1: don't clear bitmap bit when bad-block-list write fails. When a write fails and a bad-block-list is present, we can update the bad-block-list instead of writing the data. If this succeeds then it is OK clear the relevant bitmap-bit as no further 'sync' of the block is needed. However if writing the bad-block-list fails then we need to treat the write as failed and particularly must not clear the bitmap bit. Otherwise the device can be re-added (after any hardware connection issues are resolved) and because the relevant bit in the bitmap is clear, that block will not be resynced. This leads to data corruption. We already delay the final bio_endio() on the write until the bad-block-list is written so that when the write returns: either that data is safe, the bad-block record is safe, or the fact that the device is faulty is safe. However we *don't* delay the clearing of the bitmap, so the bitmap bit can be recorded as cleared before we know if the bad-block-list was written safely. So: delay that until the write really is safe. i.e. move the call to close_write() until just before calling bio_endio(), and recheck the 'is array degraded' status before making that call. This bug goes back to v3.1 when bad-block-lists were introduced, though it only affects arrays created with mdadm-3.3 or later as only those have bad-block lists. Backports will require at least Commit: 55ce74d4bfe1 ("md/raid1: ensure device failure recorded before write request returns.") as well. I'll send that to 'stable' separately. Note that of the two tests of R1BIO_WriteError that this patch adds, the first is certain to fail and the second is certain to succeed. However doing it this way makes the patch more obviously correct. I will tidy the code up in a future merge window. Reported-and-tested-by: Nate Dailey <nate.dailey@xxxxxxxxxxx> Cc: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Fixes: cd5ff9a16f08 ("md/raid1: Handle write errors by updating badblock log.") Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit ef4da0c1c8f3ca3e9dcf6936bf687a32cd62f293 Merge: 55ee701 c4384a9 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 23 18:13:38 2015 -0700 Merge tag 'for-v4.4/omap-hwmod-cleanup-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.4/soc ARM: OMAP2+: hwmod cleanup for v4.4 Remove some superfluous data from the OMAP2+ hwmod data files. Mostly this is a result of data being moved to DT files. Nothing too controversial, here. Basic build, boot, and PM test results are available here: http://www.pwsan.com/omap/testlogs/hwmod-cleanup-a-for-v4.4/20151023130140/ commit 161d9041782b86c5493481566539bfc058ceeaff Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 23 13:27:39 2015 -0300 perf tools: Provide help for subset of options Some tools have a lot of options, so, providing a way to show help just for some of them may come handy: $ perf report -h --tui Usage: perf report [<options>] --tui Use the TUI interface $ perf report -h --tui --showcpuutilization -b -c Usage: perf report [<options>] -b, --branch-stack use branch records for per branch histogram filling -c, --comms <comm[,comm...]> only consider symbols in these comms --showcpuutilization Show sample percentage for different cpu modes --tui Use the TUI interface $ Using it with perf bash completion is also handy, just make sure you source the needed file: $ . ~/git/linux/tools/perf/perf-completion.sh Then press tab/tab after -- to see a list of options, put them after -h and only the options chosen will have its help presented: $ perf report -h -- --asm-raw --demangle-kernel --group --kallsyms --pretty --stdio --branch-history --disassembler-style --gtk --max-stack --showcpuutilization --symbol-filter --branch-stack --dsos --header --mem-mode --show-info --symbols --call-graph --dump-raw-trace --header-only --modules --show-nr-samples --symfs --children --exclude-other --hide-unresolved --objdump --show-ref-call-graph --threads --column-widths --fields --ignore-callees --parent --show-total-period --tid --comms --field-separator --input --percentage --socket-filter --tui --cpu --force --inverted --percent-limit --sort --verbose --demangle --full-source-path --itrace --pid --source --vmlinux $ perf report -h --socket-filter Usage: perf report [<options>] --socket-filter <n> only show processor socket that match with this filter Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-83mcdd3wj0379jcgea8w0fxa@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 869c55b0f473fecfe6c294c6fa965dedfe469e02 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 23 11:23:28 2015 -0300 perf tools: Show tool command line options ordered When asking for a listing of the options, be it using -h or when an unknown option is passed, order it by one-letter options, then the ones having just long names. Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-41qh68t35n4ehrpsuazp1dx8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 379a80a1d048dcacfc2011d5d32e16d5c804b9f4 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Fri Oct 23 15:06:19 2015 -0400 bnxt_en: Fix compile errors when CONFIG_BNXT_SRIOV is not set. struct bnxt_pf_info needs to be always defined. Move bnxt_update_vf_mac() to bnxt_sriov.c and add some missing #ifdef CONFIG_BNXT_SRIOV. Reported-by: Jim Hull <jim.hull@xxxxxxx> Tested-by: Jim Hull <jim.hull@xxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28f98a12f7bac9c3e5ba85d245d32ec0910cf8e5 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Thu Oct 22 11:56:09 2015 -0700 fpga: zynq-fpga: Fix issue with drvdata being overwritten. Upon registering a FPGA Manager low level driver, FPGA Manager core overwrites the platform drvdata pointer. Prior to this commit zynq-fpga falsely relied on this pointer to still be valid at remove() time. Reported-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Acked-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92d94a7ec552fafaa036fdb04d0894d6c444cafb Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 12:38:38 2015 -0500 fpga manager: remove unnecessary null pointer checks Remove unnecessary null pointer checks. We want the caller of these functions to do their own pointer checks. Add some comments to document this. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 654ba4cc0f3ed7c0f08bfb39f66059d8c42943ee Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 12:38:37 2015 -0500 fpga manager: ensure lifetime with of_fpga_mgr_get Ensure device and driver lifetime from of_fpga_mgr_get() to fpga_mgr_put(). * Don't put_device() in of_fpga_mgr_get, do it in fpga_mgr_put(). (still do put_device if there is an error). * Do module_get on the low level driver. * Don't need to module_get(THIS_MODULE) since we won't be allowed to unload the fpga manager core without unloading low level driver first. * Remove unnedessary null check for node pointer. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d10eaff5bfc69997a769f9c83b749f0a8c542fa Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Tue Oct 20 10:19:56 2015 -0700 fpga: zynq-fpga: Change fw format to handle bin instead of bit. This gets rid of the code to strip away the header and byteswap, as well as the check for the sync word. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Reviewed-by: Josh Cartwright <joshc@xxxxxx> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6376931babd833dbd6f51e22a3de449ce6c60d61 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Mon Oct 19 13:35:33 2015 -0700 fpga: zynq-fpga: Fix unbalanced clock handling This commit fixes the unbalanced clock handling, where a failed probe would leave the clock with an enable count of -1. Reported-by: Josh Cartwright <joshc@xxxxxx> Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 018155365dccecd9ea9f26e1b26fb0f960c1ee32 Merge: dd5ae68 fd7cd06 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:52:59 2015 +0900 Merge tag 'usb-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are three xhci driver fixes for reported issues for 4.3-rc7 All have been in linux-next for a while with no problems" * tag 'usb-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: xhci: Add spurious wakeup quirk for LynxPoint-LP controllers xhci: handle no ping response error properly xhci: don't finish a TD if we get a short transfer event mid TD commit dd5ae6818ccd4ab0aa6f7d84e88f60a48af0fb52 Merge: 4ee8019 f235f66 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:52:09 2015 +0900 Merge tag 'tty-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial fixes from Greg KH: "Here are two fixes that resolve reported issues, one with the 8250 driver, and the other with the generic fbcon driver. Both have been in linux-next for a while" * tag 'tty-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: fbcon: initialize blink interval before calling fb_set_par Revert "serial: 8250_dma: don't bother DMA with small transfers" commit 4ee8019d3fdc6cce14129a954632c0f81d456884 Merge: 410694e 4301de3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:51:13 2015 +0900 Merge tag 'staging-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver fixes from Greg KH: "Here are four iio driver fixes for 4.3-rc7, fixing some reported issues. All of these have been in linux-next for a while" * tag 'staging-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: iio: mxs-lradc: Fix temperature offset iio: accel: sca3000: memory corruption in sca3000_read_first_n_hw_rb() iio: st_accel: fix interrupt handling on LIS3LV02 iio: adc: twl4030: Fix ADC[3:6] readings commit 410694e214d5b479bc8b035ded0bb832f1c469b4 Merge: 35df017 0ca81a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:28:05 2015 +0900 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma Pull infiniband fixes from Doug Ledford: "It's late in the game, I know, but these fixes seemed important enough to warrant a late pull request. They all involve oopses or use after frees or corruptions. Six serious fixes: - Hold the mutex around the find and corresponding update of our gid - The ifa list is rcu protected, copy its contents under rcu to avoid using a freed structure - On error, netdev might be null, so check it before trying to release it - On init, if workqueue alloc fails, fail init - The new demux patches exposed a bug in mlx5 and ipath drivers, we need to use the payload P_Key to determine the P_Key the packet arrived on because the hardware doesn't tell us the truth - Due to a couple convoluted error flows, it is possible for the CM to trigger a use_after_free and a double_free of rb nodes. Add two checks to prevent that. This code has worked for 10+ years. It is likely that some of the recent changes have caused this issue to surface. The current patch will protect us from nasty events for now while we track down why this is just now showing up" * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: IB/cm: Fix rb-tree duplicate free and use-after-free IB/cma: Use inner P_Key to determine netdev IB/ucma: check workqueue allocation before usage IB/cma: Potential NULL dereference in cma_id_from_event IB/core: Fix use after free of ifa IB/core: Fix memory corruption in ib_cache_gid_set_default_gid commit 35df017c4d5571ee6f3061964d1445aae250219c Merge: ea1ee5f 3201ac4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:23:52 2015 +0900 Merge tag 'dm-4.3-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper fixes from Mike Snitzer: "Three stable fixes (two in btree code used by DM thinp and one to properly store flags in DM cache metadata's superblock)" * tag 'dm-4.3-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm cache: the CLEAN_SHUTDOWN flag was not being set dm btree: fix leak of bufio-backed block in btree_split_beneath error path dm btree remove: fix a bug when rebalancing nodes after removal commit ea1ee5ff1b500ccdc64782ecef13d276afb08f14 Merge: ef594c4 e27c5b9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:20:57 2015 +0900 Merge branch 'for-linus' of git://git.kernel.dk/linux-block Pull block layer fixes from Jens Axboe: "A final set of fixes for 4.3. It is (again) bigger than I would have liked, but it's all been through the testing mill and has been carefully reviewed by multiple parties. Each fix is either a regression fix for this cycle, or is marked stable. You can scold me at KS. The pull request contains: - Three simple fixes for NVMe, fixing regressions since 4.3. From Arnd, Christoph, and Keith. - A single xen-blkfront fix from Cathy, fixing a NULL dereference if an error is returned through the staste change callback. - Fixup for some bad/sloppy code in nbd that got introduced earlier in this cycle. From Markus Pargmann. - A blk-mq tagset use-after-free fix from Junichi. - A backing device lifetime fix from Tejun, fixing a crash. - And finally, a set of regression/stable fixes for cgroup writeback from Tejun" * 'for-linus' of git://git.kernel.dk/linux-block: writeback: remove broken rbtree_postorder_for_each_entry_safe() usage in cgwb_bdi_destroy() NVMe: Fix memory leak on retried commands block: don't release bdi while request_queue has live references nvme: use an integer value to Linux errno values blk-mq: fix use-after-free in blk_mq_free_tag_set() nvme: fix 32-bit build warning writeback: fix incorrect calculation of available memory for memcg domains writeback: memcg dirty_throttle_control should be initialized with wb->memcg_completions writeback: bdi_writeback iteration must not skip dying ones writeback: fix bdi_writeback iteration in wakeup_dirtytime_writeback() writeback: laptop_mode_timer_fn() needs rcu_read_lock() around bdi_writeback iteration nbd: Add locking for tasks xen-blkfront: check for null drvdata in blkback_changed (XenbusStateClosing) commit ef594c421a0f96197f28d205e2ee58a83c1e0e37 Merge: 37902bc 6d69bb53 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:19:33 2015 +0900 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph fixes from Sage Weil: "Two fixes. One is a stopgap to prevent a stack blowout when users have a deep chain of image clones. (We'll rewrite this code to be non-recursive for the next window, but in the meantime this is a simple fix that avoids a crash.) The second fixes a refcount underflow" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: rbd: prevent kernel stack blow up on rbd map rbd: don't leak parent_spec in rbd_dev_probe_parent() commit 37902bc190f1396a8c232783b29ddfcaa4026028 Merge: 0386729 0f89abf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 24 07:17:58 2015 +0900 Merge branch 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs fixes from Chris Mason: "I have two more small fixes this week: Qu's fix avoids unneeded COW during fallocate, and Christian found a memory leak in the error handling of an earlier fix" * 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: btrfs: fix possible leak in btrfs_ioctl_balance() btrfs: Avoid truncate tailing page if fallocate range doesn't exceed inode size commit 174f2366b076db3876c3b7f595edf2aa739f9d43 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jun 9 15:52:49 2015 +0800 i2c: au1550: Convert to devm_kzalloc and devm_ioremap_resource Use devm_* APIs to simplify the code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ab57b8e90c658a72944c48a81a1352e61e84db02 Author: Maruthi Srinivas Bayyavarapu <Maruthi.Bayyavarapu@xxxxxxx> Date: Fri Oct 23 17:15:41 2015 -0400 ASoC: dwc: add check for master/slave format DW i2s controller's master/slave config can be read from a read-only register. Machine driver can try to set a master/slave format on cpu-dai using 'set_fmt' of dai ops. A check is added to verify codec is master when dwc is slave and vice-versa. Signed-off-by: Maruthi Bayyavarapu <maruthi.bayyavarapu@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9e685c84c266582ad002311497684f183db6b937 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Sep 11 11:27:18 2015 +0200 i2c-dev: Fix I2C_SLAVE ioctl comment The first part of the comment is wrong since November 2007, delete it. The second part of the comment is related to I2C_PEC, not I2C_SLAVE, so move it where it belongs. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c57d3e7a9391c03ae7ee5572be850284393f5bef Author: Jean Delvare <jdelvare@xxxxxxx> Date: Tue Sep 8 11:05:49 2015 +0200 i2c-dev: Fix typo in ioctl name reference The ioctl is named I2C_RDWR for "I2C read/write". But references to it were misspelled "rdrw". Fix them. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d64d45cb95e6f9edf58fab49cfc5a7a60ff1a122 Author: Guoying Zhang <Guoying.Zhang@xxxxxxx> Date: Wed Sep 9 10:30:32 2015 +0000 i2c: sirf: tune the divider to make i2c bus freq more accurate In prima2 and atlas7, due to some hardware design issue. we need to adjust the divider ratio a little according to i2c bus frequency ranges. Since i2c is open drain interface that allows the slave to stall the transaction by holding the SCL line at '0', the RTL implementation is waiting for SCL feedback from the pin after setting it to High-Z ('1'). This wait adds to the high-time interval counter few cycles of the input synchronization (depending on the SCL_FILTER_REG field), and also the time it takes for the board pull-up resistor to rise the SCL line. For slow SCL settings these additions are negligible, but they start to affect the speed when clock is set to faster frequencies. This patch is based on the actual tests, and it makes SCL more accurate. Signed-off-by: Guoying Zhang <Guoying.Zhang@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 41adfe8202d2e7ed64f399e875f12f71a7ef7207 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:02:01 2015 +0530 dts/Makefile: Add build support for LS2080a QDS & RDB board DTS This patch adds build support for LS2080a QDS & RDB board DTS files in the arm64 DTS Makefile. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit b9925d59790d63555e3a3fd3b05d5345be1f6efb Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:02:00 2015 +0530 dts/ls2080a: Add DTS support for LS2080a QDS & RDB boards This patch adds the LS2080a DTS files for QDS and RDB boards which support the LS2080a SoC. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 066230950eded98cb00a7eb1fea52db76088bcab Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:58 2015 +0530 dts/ls2080a: Update Simulator DTS to add support of various peripherals This patch updates the LS2080a simulator DTS to add support of various peripherals which are supported on the simulator platform and explicitly disables those which are yet not supported on the platform. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit cff412ef9d3ae86ffae238e6d0bfdd95edb9cf0d Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:59 2015 +0530 dts/ls2080a: Remove text about writing to Free Software Foundation Checkpatch complains about the text suggesting writing to Free Software Foundation for GPLv2 license copy. This patch removes the same from the .dtsi and .dts Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 7bdccef34fc67d3fce6778a018601dd41e43c5ce Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 23 11:36:01 2015 +0200 clk: versatile-icst: fix memory leak A static code checker found a memory leak in the Versatile ICST code. Fix it. Fixes: a183da637c52 "clk: versatile: respect parent rate in ICST clock" Reported-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit acba7855dda0d6e7d87dec2f89b4d9eebb36bbe2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Oct 21 16:26:44 2015 -0700 clk: Remove clk_{register,unregister}_multiplier() These APIs aren't used, so remove them. This can be reverted if we get a user at some point. Reviewed-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Suggested-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5461597f6ce01904a1d95bb03274c4340dd48164 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:57 2015 +0530 dts/ls2080a: Update DTSI to add support of various peripherals This patch updates the LS2080a DTSI (DTS Include) file to add support for the following peripherals: - USB 3.0 Host - PMU - CCN-504 - SATA - SPI - PCIe Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Signed-off-by: Alison Wang <alison.wang@xxxxxxxxxxxxx> Signed-off-by: Liu Gang <Gang.Liu@xxxxxxxxxxxxx> Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 736c16d37fad9f9c6851e4fdbecf8475b0757c43 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:56 2015 +0530 doc: DTS: Update DWC3 binding to provide reference to generic bindings Since the Synopsys DWC3 controller driver inherits the generic bindings defined in 'usb/generic.txt', this patch tries to capture the same in the DWC3 binging documentation to avoid any confusion in usage of properties like 'dr_mode' for certain SoCs like FSL LS2080A. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit aef9ee29faec85623529edd62ac362686da55071 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:55 2015 +0530 doc/bindings: Update GPIO devicetree binding documentation for LS2080A Update the FSL, GPIO binding documentation to add support for GPIO controller found on Freescale's LS2080A platform. Signed-off-by: Liu Gang <Gang.Liu@xxxxxxxxxxxxx> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 5dd32eae604ee503e5a84a4f18d1381e4cc356cb Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 21:52:27 2015 +0300 i2c: pnx: fix runtime warnings caused by enabling unprepared clock The driver can not be used on a platform with common clock framework until clk_prepare/clk_unprepare calls are added, otherwise clk_enable calls will fail and a WARN is generated. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 4c0657ae432398f729c1d402bab935505a5255b5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Oct 22 14:41:20 2015 -0200 i2c: imx: Use -ENXIO as error in the NACK case According to Documentation/i2c/fault-codes the response to a bus NACK should be -ENXIO, so fix the error code. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit a2cce7a9f1b8cc3d4edce106fb971529f1d4d9ce Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:53 2015 +0530 Documentation/dts: Move FSL board-specific bindings out of /powerpc Since the same board components can be used across ARM and PPC board families, this patch moves the FSL board-specific bindings out of bindings/powerpci. While at it, this patch also adds the bindings for QIXIS FPGA controller found on FSL LS2080A boards. These boards have an on-board FPGA/CPLD connected to the IFC controller. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Jaiprakash Singh <b44839@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit cc56a128a5c0875196c7518cf8147e16384b2329 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:52 2015 +0530 Documentation: DT: Add entry for FSL LS2080A QDS and RDB boards This patch adds a devicetree binding documentation for Freescale's LS2080A QDS and RDB boards. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit f43a4b8507f9b2033003a8f42131a291e07210ef Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:51 2015 +0530 arm64: Rename FSL LS2085A SoC support code to LS2080A Freescale is renaming the LS2085A SoC to LS2080A. This patch addresses the same. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 53a5fde05d0e1040394b5f6d1f191d49b0ca88f5 Author: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Date: Sat Oct 24 01:01:50 2015 +0530 arm64: Use generic Layerscape SoC family naming Freescale will be a spinning-out a set of ARMv8 based SoCs which will be based on a similar overall SoC architecture. So, this patch converts the existing infrastructure in the arm64/dts, arm64/Kconfig and arm64/configs to use the generic convention ARCH_LAYERSCAPE in place of the more specific FSL_LS2085A, to save code duplication later-on. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 920c74f0dfd23e205828d23bc11eb7fb0d24b032 Merge: 8d1a327 512fc04 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 23 22:20:53 2015 +0200 Merge tag 'at91-ab-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt Merge "Second batch of DT changes for 4.4" from Alexandre Belloni: - some DT fixes: pullups, disabled property - the PMC is now a syscon - great improvement of sama5d2 support * tag 'at91-ab-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: at91/dt: sama5d2: add missing devices ARM: at91/dt: sama5d4: add the macb1 node ARM: at91/dt: add pullup on mmc2 data signals ARM: at91/dt: sama5d2_xplained: add regulator nodes ARM: at91/dt: fix "disabled" property on at91rm9200 ARM: at91/dt: use syscon for PMC commit 8d1a327c7b88238fae6968aa0a5863c2146a36f4 Merge: 13e77e6 e9a2677 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 23 22:17:19 2015 +0200 Merge tag 'omap-for-v4.4/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap dts changes for v4.4 merge window, part 2" from Tony Lindgren: Few more omap dts changes for v4.4 merge window, mostly to fix and clean up some omap5 issues to allow adding other omap5 boards. Also some other fixes and clean-up: - Fix SDIO WLAN for omap5 that's been broken for a while. As further patches are still needed for wl18xx, no need for stable on this one. - Move most of omap5 support into omap5-board-common.dtsi as most omap5 boards seem to share the same basic set of devices. - Add minimal IGEPv5 support using based on omap5-board-common.dtsi - Remove now unneedes gpio hogging for dra72-evm - Update Javier Martinez Canillas email address - Change earlier IGEP boards to use IOPAD pinmux macros * tag 'omap-for-v4.4/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: am335x-base0033: Use IOPAD pinmux macro ARM: dts: am335x-igep0033: Use IOPAD pinmux macro ARM: dts: omap3-igep0020: Use IOPAD pinmux macro ARM: dts: am437x-gp-evm: Add wakeup interrupt source for pixcir_i2c_ts ARM: dts: Update Javier Martinez Canillas's email ARM: dts: dra72-evm: remove cpsw gpio hogging and add mode-gpios ARM: dts: Add basic support for isee igepv5 ARM: dts: Move most of omap5-uevm.dts to omap5-board-common.dtsi ARM: dts: Fix WLAN regression on omap5-uevm commit 13e77e6b52b8e7f4b90e242d73cf561d96ed4e14 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Oct 21 20:36:30 2015 +0900 ARM: dts: uniphier: add ProXstream2 Vodka board support Initial version of DTS for ProXstream2 Vodka board. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit dd77f423e516293c37c2370b44fd700900409c48 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 22 17:16:58 2015 +0300 i2c: i801: Add support for Intel Broxton This patch adds the SMBUS PCI ID of Intel Broxton. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 97593f773144bc2876e3b5c46d1a5affb9e6eeed Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Oct 21 20:36:29 2015 +0900 ARM: dts: uniphier: add ProXstream2 Gentil board support Initial version of DTS for ProXstream2 Gentil board. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 06ff6b2d63210922a1b1d0f4997e29ce75b5e0c0 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Oct 21 20:36:27 2015 +0900 ARM: dts: uniphier: use stdout-path instead of console Specifying both console and stdout-path is redundant. Add options ":115200n8" to stdout-path and drop "console=ttyS0,115200". Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 84d7f2ebd70d36e9d83e0973d2f4dac56a671f4f Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 13 15:41:39 2015 +0300 i2c: i801: Add support for Intel DNV Intel DNV SoC has the same legacy SMBus host controller than Intel Sunrisepoint PCH. It also has same iTCO watchdog on the bus. Add DNV PCI ID to the list of supported devices. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d6b9aea67f40e138e972b17c7c658bc3c8ac2459 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sat Oct 24 05:07:19 2015 +0900 MAINTAINERS: Add documentation and dt-bindings for exynos stuff Extend the Samsung Exynos maintainer entry to match SoC documentation and SoC dt-bindings directories. Without that some files, like bindings/arm/samsung/pmu.txt, are not matched by existing patterns. This also may serve as a hint where new documentation and bindings (not matching specific subsystem) should be put. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 18f4ce7157dc89fcb696f4757e8be0dda7b07777 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sat Oct 24 05:07:06 2015 +0900 dt-bindings: EXYNOS: Document compatibles from other vendors Document compatibles used on other Exynos-based boards (non-Samsung): FriendlyARM, Google, Hardkernel and Insignal. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Hakjoo Kim <ruppi.kim@xxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 068812ed108acbfe070b893faba9845fe2ea3fd9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sat Oct 24 05:07:02 2015 +0900 dt-bindings: Consolidate Exynos SoC bindings Exynos SoC Device Tree bindings are spread over arm/exynos/ and arm/samsung/ directories. There is no need for that separation and it actually confuses. Put power domain bindings under power/ and remaining samsung-boards.txt under arm/samsung/. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit a3de778b1faecdb4a8709d96ac0ab3a61b40e898 Merge: 7007c60 848dd6a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 23 22:04:49 2015 +0200 Merge tag 'sti-dt-for-v4.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/dt Merge "STi DT changes for v4.4, round 2" from Maxime Coquelin: - Use STiH418's A9 PLL - Add Ethernet support to STiH407 family * tag 'sti-dt-for-v4.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti: ARM: STi: DT: Add support for stih418 A9 pll ARM: dts: Enable Ethernet on STi's B2199 board ARM: dts: Enable Ethernet on STi's B2120 boards ARM: dts: Add Ethernet node to STiH407 family ARM: dts: Fix RGMII pinctrl timings commit 7007c60c28b2f1572b488513d94472046a79fa20 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Fri Sep 25 20:35:34 2015 +0300 ARM: dts: WM8750: fix cpu compatible value The change corrects cpu compatible property to a defined one, see Documentation/devicetree/bindings/arm/cpus.txt Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit dffc912e2c4851960d4b9d33b33dca906b2911b1 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Fri Sep 25 20:35:33 2015 +0300 ARM: dts: TI-Nspire: fix cpu compatible value The change corrects cpu compatible property to a defined one, see Documentation/devicetree/bindings/arm/cpus.txt Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 09027e08ac329eddd8f4a06ddcef8022eded6b87 Author: Liguo Zhang <liguo.zhang@xxxxxxxxxxxx> Date: Tue Oct 6 17:22:56 2015 +0800 i2c: mediatek: add i2c resume support mt65xx i2c controller initial setting will be cleared after system suspend, so we should init mt65xx i2c controller again when system resume. Signed-off-by: Liguo Zhang <liguo.zhang@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 9767feb2c64b29775f1ea683130b44f95f67d169 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Oct 1 09:05:50 2015 -0400 nfsd: ensure that seqid morphing operations are atomic wrt to copies Bruce points out that the increment of the seqid in stateids is not serialized in any way, so it's possible for racing calls to bump it twice and end up sending the same stateid. While we don't have any reports of this problem it _is_ theoretically possible, and could lead to spurious state recovery by the client. In the current code, update_stateid is always followed by a memcpy of that stateid, so we can combine the two operations. For better atomicity, we add a spinlock to the nfs4_stid and hold that when bumping the seqid and copying the stateid. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit cc8a55320b5f1196bee5bd14e4bb2ebd3b983317 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Sep 17 07:58:24 2015 -0400 nfsd: serialize layout stateid morphing operations In order to allow the client to make a sane determination of what happened with racing LAYOUTGET/LAYOUTRETURN/CB_LAYOUTRECALL calls, we must ensure that the seqids return accurately represent the order of operations. The simplest way to do that is to ensure that operations on a single stateid are serialized. This patch adds a mutex to the layout stateid, and locks it when checking the layout stateid's seqid. The mutex is held over the entire operation and released after the seqid is bumped. Note that in the case of CB_LAYOUTRECALL we must move the increment of the seqid and setting into a new cb "prepare" operation. The lease infrastructure will call the lm_break callback with a spinlock held, so and we can't take the mutex in that codepath. Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 4eaea13425078272895ec37814c6878d78b8db9f Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Oct 15 16:11:01 2015 -0400 nfsd: improve client_has_state to check for unused openowners At least in the v4.0 case openowners can hang around for a while after last close, but they shouldn't really block (for example), a new mount with a different principal. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 2b63482185e6054cc11ca6d6c073f90160c161fd Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Oct 15 15:33:23 2015 -0400 nfsd: fix clid_inuse on mount with security change In bakeathon testing Solaris client was getting CLID_INUSE error when doing a krb5 mount soon after an auth_sys mount, or vice versa. That's not really necessary since in this case the old client doesn't have any state any more: http://tools.ietf.org/html/rfc7530#page-103 "when the server gets a SETCLIENTID for a client ID that currently has no state, or it has state but the lease has expired, rather than returning NFS4ERR_CLID_INUSE, the server MUST allow the SETCLIENTID and confirm the new client ID if followed by the appropriate SETCLIENTID_CONFIRM." This doesn't fix the problem completely since our client_has_state() check counts openowners left around to handle close replays, which we should probably just remove in this case. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 778620364ef525e83597a6edee4d0a69db67fd3d Author: Neil Brown <neilb@xxxxxxxx> Date: Fri Oct 16 08:59:08 2015 +1100 sunrpc/cache: make cache flushing more reliable. The caches used to store sunrpc authentication information can be flushed by writing a timestamp to a file in /proc. This timestamp has a one-second resolution and any entry in cache that was last_refreshed *before* that time is treated as expired. This is problematic as it is not possible to reliably flush the cache without interrupting NFS service. If the current time is written to the "flush" file, any entry that was added since the current second started will still be treated as valid. If one second beyond than the current time is written to the file then no entries can be valid until the second ticks over. This will mean that no NFS request will be handled for up to 1 second. To resolve this issue we make two changes: 1/ treat an entry as expired if the timestamp when it was last_refreshed is before *or the same as* the expiry time. This means that current code which writes out the current time will now flush the cache reliably. 2/ when a new entry in added to the cache - set the last_refresh timestamp to 1 second *beyond* the current flush time, when that not in the past. This ensures that newly added entries will always be valid. Now that we have a very reliable way to flush the cache, and also since we are using "since-boot" timestamps which are monotonic, change cache_purge() to set the smallest future flush_time which will work, and leave it there: don't revert to '1'. Also disable the setting of the 'flush_time' far into the future. That has never been useful and is now awkward as it would cause last_refresh times to be strange. Finally: if a request is made to set the 'flush_time' to the current second, assume the intent is to flush the cache and advance it, if necessary, to 1 second beyond the current 'flush_time' so that all active entries will be deemed to be expired. As part of this we need to add a 'cache_detail' arg to cache_init() and cache_fresh_locked() so they can find the current ->flush_time. Signed-off-by: NeilBrown <neilb@xxxxxxxx> Reported-by: Olaf Kirch <okir@xxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 825213e59ec24110b0a0f94456db42621f928421 Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Sat Oct 3 08:19:57 2015 -0400 nfsd: move include of state.h from trace.c to trace.h Any file which includes trace.h will need to include state.h, even if they aren't using any state tracepoints. Ensure that we include any headers that might be needed in trace.h instead of relying on the *.c files to have the right ones. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit cc6a7aab5570beef884ff95f7cade6634bf815a1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 16:13:45 2015 +0200 sunrpc: avoid warning in gss_key_timeout The gss_key_timeout() function causes a harmless warning in some configurations, e.g. ARM imx_v6_v7_defconfig with gcc-5.2, if the compiler cannot figure out the state of the 'expire' variable across an rcu_read_unlock(): net/sunrpc/auth_gss/auth_gss.c: In function 'gss_key_timeout': net/sunrpc/auth_gss/auth_gss.c:1422:211: warning: 'expire' may be used uninitialized in this function [-Wmaybe-uninitialized] To avoid this warning without adding a bogus initialization, this rewrites the function so the comparison is done inside of the critical section. As a side-effect, it also becomes slightly easier to understand because the implementation now more closely resembles the comment above it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: c5e6aecd034e7 ("sunrpc: fix RCU handling of gc_ctx field") Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 0d0f4aab4e4d290138a4ae7f2ef8469e48c9a669 Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Wed Oct 7 14:39:55 2015 +0300 lockd: get rid of reference-counted NSM RPC clients Currently we have reference-counted per-net NSM RPC client which created on the first monitor request and destroyed after the last unmonitor request. It's needed because RPC client need to know 'utsname()->nodename', but utsname() might be NULL when nsm_unmonitor() called. So instead of holding the rpc client we could just save nodename in struct nlm_host and pass it to the rpc_create(). Thus ther is no need in keeping rpc client until last unmonitor request. We could create separate RPC clients for each monitor/unmonitor requests. Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 226453d8cfbd5f3bbdcef0d71e67186715bb811d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Oct 7 13:54:42 2015 -0400 SUNRPC: Use MSG_SENDPAGE_NOTLAST when calling sendpage() If we're sending more pages via kernel_sendpage(), then set MSG_SENDPAGE_NOTLAST. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 1c4b6c3bcf30d0804db0d0647d8ebeb862c6f7e5 Author: Gao Pan <b54642@xxxxxxxxxxxxx> Date: Fri Oct 23 20:28:54 2015 +0800 i2c: imx: implement bus recovery Implement bus recovery methods for i2c-imx so we can recover from situations where SCL/SDA are stuck low. Once i2c bus SCL/SDA are stuck low during transfer, config the i2c pinctrl to gpio mode by calling pinctrl sleep set function, and then use GPIO to emulate the i2c protocol to send nine dummy clock to recover i2c device. After recovery, set i2c pinctrl to default group setting. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Gao Pan <b54642@xxxxxxxxxxxxx> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 3861841d2205714bfabaee4efcbb5e4202884852 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:44 2015 +0300 at24: enable ACPI device found on Galileo Gen2 There is a 24c08 chip connected to i2c bus on Intel Galileo Gen2 board. Enable it via ACPI ID INT3499. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6ebe21c1cf459d9bd501454ba65650c04fdf9288 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:43 2015 +0300 mfd: intel_quark_i2c_gpio: support devices behind i2c bus On Intel Galileo Gen2 the GPIO expanders are connected to the i2c bus. For those devices the ACPI table has specific parameters that refer to an actual i2c host controller. Since MFD now copes with that specific configuration we have to provide a necessary information how to distinguish devices in ACPI namespace. Here the _ADR values are provided. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c39dc960e9c5196022cbc46507d4782b6fc314f6 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:42 2015 +0300 mfd: intel_quark_i2c_gpio: load gpio driver first On Intel Galileo boards the GPIO expander is connected to i2c bus. Moreover it is able to generate interrupt, but interrupt line is connected to GPIO. That's why we have to have GPIO driver in place when we will probe i2c host with device connected to it. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 62a615e083604d291af0cb18f9b4549531ea4f94 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 23 12:16:41 2015 +0300 mfd: core: redo ACPI matching of the children devices There is at least one board on the market, i.e. Intel Galileo Gen2, that uses _ADR to distinguish the devices under one actual device. Due to this we have to improve the quirk in the MFD core to handle that board. Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6a62974b667f3976ec44e255bed31746cca1ff51 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 23 19:52:00 2015 +0900 i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver Add support for on-chip I2C controller used on newer UniPhier SoCs such as PH1-Pro4, PH1-Pro5, etc. This adapter is equipped with 8-depth TX/RX FIFOs. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit dd6fd4a3279310bac214867e31848f47e13caa6f Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Fri Oct 23 19:51:59 2015 +0900 i2c: uniphier: add UniPhier FIFO-less I2C driver Add support for on-chip I2C controller used on old UniPhier SoCs such as PH1-LD4, PH1-sLD8, etc. This adapter is so simple that it has no FIFO in it. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 3eddad96c4395280d5f6f13c958b276c11d3f575 Author: Ken Xue <Ken.Xue@xxxxxxx> Date: Fri Oct 23 13:28:47 2015 +0800 i2c: designware: reverts "i2c: designware: Add support for AMD I2C controller" The patch reverts commit a445900c9060 (i2c: designware: Add support for AMD I2C controller). It never worked anyhow because it did not register a proper clkdev. Since kernel 4.1 starts to support APD, there is no need to get freq from id->driver_data for AMD0010. clkdev is supposed to be already registered in APD. So, revert old design and make AMD0010 looks like other ones. Signed-off-by: Ken Xue <Ken.Xue@xxxxxxx> Signed-off-by: Xiangliang Yu <Xiangliang.Yu@xxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fa721baed6ba9ec5cdb3109d71f31e0974c8d3f1 Author: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Date: Fri Oct 23 16:01:17 2015 +0800 i2c: imx: add support for Freescale Layerscape platforms Signed-off-by: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> Signed-off-by: Hou Zhiqiang <B48286@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 97d5c7a77e39ab96a2a6137de0e35dd6e3f38325 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sat Oct 24 04:43:31 2015 +0900 Documentation: EXYNOS: Update bootloader interface on exynos542x Update the documentation about: 1. Usage of PMU_SPARE2 register. Bootloaders on Exynos542x-based boards often use the register PMU_SPARE2 (0x908) in the same way as on Exynos3250: as a indicator the secondary CPU was booted on. The bootloader will set this value to non-zero, after sucessfull power up of secondary CPU. In the same time this booted CPU will stuck (spin) waiting for software reset. 2. Exynos542x entry address for secondary CPU boot up after system suspend (with MCPM enabled and in non-secure mode). See arch/arm/mach-exynos/mcpm-exynos.c for source code. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 69636a85df476f09ed34cff829039ad20cf59fce Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Oct 15 12:31:24 2015 +0200 ARM: dts: Add clocks to DISP1 domain in exynos5250 Adds to the node of the DISP1 power domain the two clocks that need to be reparented while the domain is powered off: CLK_MOUT_ACLK200_DISP1_SUB and CLK_MOUT_ACLK300_DISP1_SUB. Otherwise the state is unknown at power up and the mixer's clocks are all messed up. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/g/561CDC33.7050103@xxxxxxxxxxxxx Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ae8a2881b5336aa96aea937ba3610d5a6dd32a26 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Oct 14 14:58:45 2015 +0900 dt-bindings: Correct the example for Exynos power domain clocks Since commit 29e5eea06bc1 ("ARM: EXYNOS: Get current parent clock for power domain on/off") the "pclkN" names of "clock-names" property is not parsed any more. The bindings and driver were updated but the example was not. Fix the example now. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 1f7ce3d1c96b6f8e38b4afedf9399ca279add78c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 00:12:35 2015 +0300 ARM: dts: Fix typo in regulator enable GPIO property in s5pv210-goni The property name should be "gpio", not "gpios". Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 698da378a34e521bb3a9fe5cf5b8434f3bc6df13 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 00:12:34 2015 +0300 ARM: dts: Fix typo in regulator enable GPIO property in s5pv210-aquila The property name should be "gpio", not "gpios". Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 4ae9a4c66cdcb8b5d4e4d904846f1b450dbcabb4 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 21 14:38:38 2015 +0200 ARM: dts: Add vbus regulator to USB2 phy nodes on exynos3250, exynos4210 and exynos4412 boards Exynos USB2 PHY driver now supports VBUS regulator, so add it to all boards which have it available. This also fixes commit 7eec1266751b ("ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2"), which added new regulators to Trats2 board, but without linking them to the consumers. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Fixes: 7eec1266751b ("ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2") Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit b4dc272b60fd7b43ff5b9ef89714d38c65db2cdb Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Thu Oct 15 12:31:23 2015 +0200 clk: samsung: exynos5250: Add DISP1 clocks When the DISP1 power domain is powered off, there's two clocks that need to be temporarily reparented to OSC, and back to their original parents when the domain is powered on again. We expose these two clocks in the DT bindings so that the DT node of the power domain can reference them. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f0864f843f0249f3e16e1a9af7152d7aa8070b10 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Sun Oct 11 17:36:00 2015 +0000 ARM: multi_v7_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 Odroid XU4 has a RTL8153-CG gigabit Ethernet adapter, connected over USB 3.0. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit a81bb1aca601bf5ba3e40841ae7acc344d98fb84 Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Mon Oct 5 09:00:28 2015 +0000 ARM: exynos_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4 Odroid-XU4 has a RTL8153-CG gigabit Ethernet adapter, connected over USB 3.0. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ceca418adfd6686325631e386cfa9437031a41be Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 29 14:42:26 2015 +0200 ARM: exynos_defconfig: Enable WiFi-Ex as a module instead built-in The Marvell WiFi-Ex driver tries to load a firmware on probe. So if the driver is built-in and probed before a firmware is available, this is not loaded and the chip does not work. This happens for example if an initramfs isn't used since the driver is probed before the root filesystem is mounted. Change the default config since the driver isn't needed for machines to boot and is more convenient to have it enabled as a module to avoid requiring an initramfs or to have the firmware built into the kernel. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 5b6ce5216e60fdb34875df4220399c4c3e32667a Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 10 15:42:32 2015 +0200 ARM: exynos_defconfig: Disable simplefb support The simplefb driver allows the kernel to render on a pre-allocated buffer that's been initialized by firmware before the kernel boots. This option was enabled to have display working on the Exynos5250 Snow Chromebook by commit da9d0fbf5e9a ("ARM: exynos: defconfig update") since proper DRM/KMS support did not exist at that time. But now that the Exynos DRM driver has support for this hardware, there is no need to have simplefb enabled. In fact, if a user has a u-boot that injects the simplefb dev node to the FDT before pass it to the kernel, display won't be properly initialized and only a blank screen will be shown since there isn't a proper handoff from the simplefb driver to the Exynos DRM driver. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Tested-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 7729fffa863c187ae27cc45106c6167a216600ff Author: Anand Moon <linux.amoon@xxxxxxxxx> Date: Thu Sep 3 18:11:50 2015 +0000 ARM: exynos_defconfig: Enable LEDS for Odroid-XU3/XU4 Odroid XU3 family boards come with RGB LEDs. Enabling LEDS_GPIO and LEDS_PWM allows monitoring the board alive state (heartbeat) and MMC/SDcard IO usage. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> [k.kozlowski: Rewritten the commit message] Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f0d616ea572db16480b294094fff7bfc2859a922 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Aug 19 10:19:37 2015 +0200 ARM: multi_v7_defconfig: Enable DWC2 USB driver and USB ethernet gadget DWC2 (s3c-hsotg) hardware module is available on many Exynos based boards, so enable DWC2 driver as well as the most common USB Ethernet gadget. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit f16a5b88d87bad1686d48e632d290138dbe31258 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Aug 18 11:15:33 2015 +0200 ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget DWC2 (s3c-hsotg) hardware module is available on many Exynos based boards, so enable DWC2 driver as well as the most common USB Ethernet gadget. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit fa4d0b79209eda0702bbe78931f62a8984407a93 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 17 07:57:43 2015 +0900 ARM: exynos_defconfig: Enable USB Video Class support The Exynos5420 Peach Pit and Exynos5800 Peach Pi boards have a built-in Silicon Motion USB UVC WebCam. Enable support for the USB Video Class driver and its needed media Kconfig symbols so the camera is supported. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c4384a97af852121f66e52ba96e98d6f13ad19eb Author: Suman Anna <s-anna@xxxxxx> Date: Mon Sep 14 18:37:13 2015 -0500 ARM: OMAP3: hwmod data: Remove legacy mailbox data and addrs Remove the mailbox attribute data, irq info and hwmod addr space data that are used for creating the legacy-style mailbox devices, there is no need for these as the support for legacy-mode for this IP is being dropped. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit deb9f54ef380e06fb840a49f184b4d7014366992 Author: Suman Anna <s-anna@xxxxxx> Date: Mon Sep 14 15:49:21 2015 -0500 ARM: DRA7: hwmod data: Remove spinlock hwmod addrs The legacy-style device creation logic for hwspinlock has been removed after the DT-support was added to the driver. The hwmod addr space for spinlock is therefore no longer needed, so remove it. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 8aeff38207df39e2a63578741f7181326dc539cf Author: Suman Anna <s-anna@xxxxxx> Date: Mon Sep 14 15:49:20 2015 -0500 ARM: OMAP4: hwmod data: Remove spinlock hwmod addrs The legacy-style device creation logic for hwspinlock has been removed after the DT-support was added to the driver. The hwmod addr space for spinlock is therefore no longer needed, so remove it. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit e7f73d61ad41822b7804a63df7729ec243c3918f Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Thu Oct 15 11:27:41 2015 -0500 ARM: DRA7/AM335x/AM437x: hwmod: Remove gpmc address space from hwmod data GPMC address information is provided by device tree. No longer need to include this information within hwmod. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> [paul@xxxxxxxxx: fixed chip names in subject line] Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit b29dd5fa56141365ab7e72fd73e5e0e02d62dd6e Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Sat Oct 24 03:42:02 2015 +0900 ARM: dts: use exynos5420-dw-mshc compatible for exynos3250 There are some differences of mobile storage host between exynos3250 and exnos5250. For example, exynos3250 supports the HS400 mode, but exynos5250 doesn't support it. Since exynos3250 can perform the similar function with exynos5420 compatible, this patch changes the compatible from exynos5250 to exynos5420 for mshc. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit eaa6111b70a7cb43b7536eacea8ef501fc4fc235 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Fri Oct 23 18:27:12 2015 +0800 PCI: altera: Add Altera PCIe host controller driver Add the Altera PCIe host controller driver. [bhelgaas: whitespace, fold in DT and maintainer updates, OF_PCI dependency from Arnd] Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> (DT binding) commit 0ab089c2548c6a85b86f7d9392b3d53643c6dffd Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Fri Oct 23 18:27:10 2015 +0800 ARM: Add msi.h to Kbuild Include asm-generic/msi.h to support CONFIG_GENERIC_MSI_IRQ_DOMAIN. This fixes a compilation error: include/linux/msi.h:123:21: fatal error: asm/msi.h: No such file or directory Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3201ac452e84a8a368197d648c9b7011e061804a Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Thu Oct 22 18:10:55 2015 +0100 dm cache: the CLEAN_SHUTDOWN flag was not being set If the CLEAN_SHUTDOWN flag is not set when a cache is loaded then all cache blocks are marked as dirty and a full writeback occurs. __commit_transaction() is responsible for setting/clearing CLEAN_SHUTDOWN (based the flags_mutator that is passed in). Fix this issue, of the cache's on-disk flags being wrong, by making sure __commit_transaction() does not reset the flags after the mutator has altered the flags in preparation for them being serialized to disk. before: sb_flags = mutator(le32_to_cpu(disk_super->flags)); disk_super->flags = cpu_to_le32(sb_flags); disk_super->flags = cpu_to_le32(cmd->flags); after: disk_super->flags = cpu_to_le32(cmd->flags); sb_flags = mutator(le32_to_cpu(disk_super->flags)); disk_super->flags = cpu_to_le32(sb_flags); Reported-by: Bogdan Vasiliev <bogdan.vasiliev@xxxxxxxxx> Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 4dcb8b57df3593dcb20481d9d6cf79d1dc1534be Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Thu Oct 22 10:56:40 2015 -0400 dm btree: fix leak of bufio-backed block in btree_split_beneath error path btree_split_beneath()'s error path had an outstanding FIXME that speaks directly to the potential for _not_ cleaning up a previously allocated bufio-backed block. Fix this by releasing the previously allocated bufio block using unlock_block(). Reported-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Acked-by: Joe Thornber <thornber@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2871c69e025e8bc507651d5a9cf81a8a7da9d24b Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Wed Oct 21 18:36:49 2015 +0100 dm btree remove: fix a bug when rebalancing nodes after removal Commit 4c7e309340ff ("dm btree remove: fix bug in redistribute3") wasn't a complete fix for redistribute3(). The redistribute3 function takes 3 btree nodes and shares out the entries evenly between them. If the three nodes in total contained (MAX_ENTRIES * 3) - 1 entries between them then this was erroneously getting rebalanced as (MAX_ENTRIES - 1) on the left and right, and (MAX_ENTRIES + 1) in the center. Fix this issue by being more careful about calculating the target number of entries for the left and right nodes. Unit tested in userspace using this program: https://github.com/jthornber/redistribute3-test/blob/master/redistribute3_t.c Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 302f9f6b165d6f96b4746866e5e69248523926fb Merge: 57dbe1b ed1098e Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:56:01 2015 -0700 Merge tag 'imx-defconfig-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig The i.MX defconfig updates for 4.4: - Enable i.MX6UL touchscreen controller support. - Remove CONFIG_VMSPLIT_2G option since we already enabled CONFIG_HIGHMEM support. * tag 'imx-defconfig-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v6_v7_defconfig: Remove CONFIG_VMSPLIT_2G ARM: imx_v6_v7_defconfig: enable imx6ul_tsc Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 355d1ef1adefa9bc76d0ae643aa80d611d2c2dad Merge: de0b2a5 607e266 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:51:21 2015 -0700 Merge tag 'imx-dt-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt The i.MX device tree changes for 4.4: - Add IOMUXC LPSR (Low Power State Retention) device for i.MX7D. - Add a few low power mode related devices and touch controller for i.MX6UL. - Add a number of devices for i.MX7D SDB board support, USB, Dual FEC, and eMMC5.0. - i.MX6 Boundary Devices updates: relicense under GPLv2/X11, add Okaya LCD, touch and wifi support, add new boards Nitrogen6_Lite and Nitrogen6_Max. - Enable touch screen and NAND Flash controller for a few Vybrid devices. - Some random and small updates on LS1021A and MXS support. * tag 'imx-dt-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (53 commits) ARM: dts: ls1021a: Add quirk for Erratum A009116 ARM: imx6sx-sdb: Fix typo in regulator enable GPIO property ARM: dts: imx6: phyFLEX: fix typo in "pinctrl-names" ARM: dts: imx6: change the core clock of spdif ARM: dts: vf-colibri: enable NAND flash controller ARM: dts: vf610twr: add NAND flash controller peripherial ARM: dts: imx: add Boundary Devices Nitrogen6_Lite board ARM: dts: imx: add Boundary Devices Nitrogen6_Max board ARM: dts: imx6dl-nitrogen6x: change manufacturer to Boundary Devices ARM: dts: imx6q-nitrogen6x: change manufacturer to Boundary Devices of: Add Boundary Devices Inc. vendor prefix ARM: dts: imx6qdl-sabrelite: relicense under GPLv2/X11 ARM: dts: imx6qdl-nitrogen6x: relicense under GPLv2/X11 ARM: dts: imx6qdl-nitrogen6x: add wifi wl1271 support ARM: dts: imx6dql-nitrogen6x: add touchscreen support ARM: dts: imx6qdl-sabrelite: add Okaya LCD panel ARM: dts: imx6qdl-nitrogen6x: add Okaya LCD panel ARM: dts: vf500-colibri: Add device tree node for touchscreen support ARM: dts: i.MX35: fix cpu compatible value ARM: dts: i.MX31: fix cpu compatible value ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fa54cda779ce6df60ab5cfcb2088567945c76906 Merge: 00b24d4 7f73081 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:49:47 2015 -0700 Merge tag 'imx-soc-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc The i.MX SoC updates for 4.4: - Enable suspend and cpufreq support for i.MX6UL - Add platform level ENET initialization support for i.MX7D * tag 'imx-soc-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: add cpufreq device for imx6ul ARM: imx: add enet init for i.MX7D platform ARM: imx7d: add imx7d iomux-gpr field define ARM: imx: add suspend/resume support for i.mx6ul Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit be77b38a3668306bdc0b0c8dff4660c2a8b38d8e Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Fri Oct 23 14:05:53 2015 +0800 ASoC: rt5645: Add the HWEQ for the speaker output The patch adds the HWEQ function for the speaker output. User can set the HWEQ parameters using the ALSA binary control byte-by-byte. We use the following struct array to store the HWEQ parameters for implementing as simple as possible. struct rt5645_eq_param_s { unsigned short reg; unsigned short val; }; It supports the variant length of the HWEQ parameters that are required. We add the validating function in the function "rt5645_hweq_put" of the ALSA binary control to avoid the user that puts the invalid parameters. In the HWEQ enable function of speaker event, we also add the validating function to prevent that the invalid parameters are applied to codec. The HWEQ parameters should be controlled by DAPM for a specific sequence, so the parameters will be applied to the codec in the speaker power up event of DAPM, and will be disabled in the speaker power down event of DAPM. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd5cf711ff24fde1a9f76c78a4c6e85494f571ac Merge: 25cb62b e34573c Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:25:51 2015 -0700 Merge tag 'v4.3-next-arm64' of https://github.com/mbgg/linux-mediatek into next/arm64 Correct i2c DTS node names in mt8173.dtsi. Add spi DTS node to the mt8173 and mt8173-evb. Add dts nodes for the subsystem clocks on mt8173. This includes mmsys, imgsys, vdecsys, vencsys, vencltsys. Add clock nodes to the scpsys binding, which are needed to access the registers of venc and venc_lt power domains. * tag 'v4.3-next-arm64' of https://github.com/mbgg/linux-mediatek: arm64: dts: mt8173: Add clocks for SCPSYS unit arm64: dts: mt8173: Add subsystem clock controller device nodes arm64: dts: Add spi bus dts arm64: mt8173.dtsi: correct i2c node names Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit de0b2a545c3e3115ef834c48465b4c1a559ad41c Merge: 4751424 060646a Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:24:44 2015 -0700 Merge tag 'v4.3-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt Delete regulator-compatible usage in mt8135-evbp1.dts. The regualtor-compatible binding is deprecated, instead the node name is used. Mediatek timer driver supports as well mt8127, mt8135 and mt8173. Add these SOCs to the bindings list. Power domains venc and venc_lt need clocks two extra clocks to access their registers. We update the bindings documentation about this. Update SMP bindings documentation by adding support for mt6589 and mt81xx SOCs. Update mt8127.dtsi and mt8135.dtsi to enable SMP support. * tag 'v4.3-next-dts' of https://github.com/mbgg/linux-mediatek: ARM: dts: mt8127: enable basic SMP bringup for mt8127 ARM: dts: mt8135: enable basic SMP bringup for mt8135 devicetree: bindings: add new SMP enable method Mediatek SoC dt-bindings: soc: Add clocks for Mediatek SCPSYS unit dt-bindings: add more MediaTek SoC to mtk-timer binding ARM: dts: mt8135-evbp1: remove regulator-compatible usage Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 00b24d445495af5548b163fa6b525108ac713db7 Merge: fc1f61f 0cda070 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:22:05 2015 -0700 Merge tag 'v4.3-next-soc' of https://github.com/mbgg/linux-mediatek into next/soc Do the initial setting of the pmic wrap interrupt before requesting the interrupt. This fixes the corner-case where the pmic is initialized by the bootloader, but not the pmic watchdog. Add support for active wakeup to the scpsys. This allows to keep the power of a scpsys domain during suspend state. With version v4.3 new subsystem clocks are added to the clock dirver. In late init the kernel turns off all unused clocks. This can provoke a hang if the kernel tries to access the venc and venc_lt power domain registers. Add the necessary parent clocks for this power domains to the scpsys so that no random hang happens. The bootloader of mt6589, mt8135 and mt1827 does not turn on the arm-arch-timer. As there is no opensource bootloader in the near future for this architectures we enable the arch timer at kernel boot. We need the arch timer for SMP boot. Add support for SMP on mt6589, mt8127 and mt8135. * tag 'v4.3-next-soc' of https://github.com/mbgg/linux-mediatek: ARM: mediatek: add smp bringup code ARM: mediatek: enable gpt6 on boot up to make arch timer working soc: mediatek: Fix random hang up issue while kernel init soc: mediatek: add scpsys support active_wakeup soc: mediatek: Move the initial setting of pmic wrap interrupt before requesting irq. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 57dbe1baaceacb034b4c00050f04c1a3b726e9c7 Merge: df3e690 21e29d9 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:20:34 2015 -0700 Merge tag 'sunxi-defconfig-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/defconfig Allwinner defconfig changes for 4.4 A bunch of defconfig changes to enable support for new drivers. * tag 'sunxi-defconfig-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: sunxi_defconfig: enable MODULE_UNLOAD can: Allwinner A10/A20 CAN Controller support - Defconfig can: Allwinner A10/A20 CAN Controller support - Defconfig ARM: sunxi_defconfig: Enable LRADC keys (KEYBOARD_SUN4I_LRADC) Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fc1f61f1c0b71a1c21123502c99712ad5b7d8e79 Merge: 5462b10 bef6229 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:19:36 2015 -0700 Merge tag 'sunxi-core-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/soc Allwinner core changes for 4.4 Add support for the Allwinner R8 SoC used in the CHIP. * tag 'sunxi-core-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: sunxi: Add R8 support Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4751424117547546d197e99ce91e4bdc0c3a1101 Merge: d8f440b fea3755 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:19:04 2015 -0700 Merge tag 'v4.4-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt SPDIF device nodes for the newly added driver. * tag 'v4.4-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: Add SPDIF optical out on Radxa Rock2 Square ARM: dts: rockchip: Add SPDIF transceiver for RK3288 ARM: dts: rockchip: Add SPDIF optical out on Radxa Rock ARM: dts: rockchip: Add SPDIF transceiver for RK3188 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fe9990f9fd77c7fbdb875799dba79479c5e1276f Merge: 056a72a 4681347 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:18:34 2015 -0700 Merge tag 'v4.4-rockchip-drivers2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/drivers Some fixes for the new power-domain driver, including restricting Rockchip Kconfig options, fixing a possible null-pointer and a typo in the dt-bindings. * tag 'v4.4-rockchip-drivers2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: dt-bindings: Correct paths in Rockchip power domains binding document soc: rockchip: power-domain: don't try to print the clock name in error case soc: rockchip: Restrict to ARCH_ROCKCHIP Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d8f440b6aaca5e28d7fc91b357906a5c3460fdf8 Merge: 2995f0a c2aa565 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:17:27 2015 -0700 Merge tag 'sunxi-dt-for-4.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Allwinner DT changes for 4.4, round 2 More DT patches for 4.4, mostly with new boards coming in (CHIP, BananaPi M2, pcduino2), further consolidation for the q8-based designs and a bunch of random patches enhancing support for existing boards * tag 'sunxi-dt-for-4.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (27 commits) ARM: dts: sun6i: Add a dts file for the Sinovoip BPI-M2 board ARM: dts: sun6i: Add mmc2_pins_a pinmux setting to sun6i-a31.dtsi ARM: dts: sunxi: Fix interrupt-cells for [r]pio on A23/A31/A33/A80 ARM: dts: sun8i: Add NMI interrupt controller node ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus" ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names ARM: dts: sun7i: Add regulator configuration for pcDuino v3 Nano ARM: dts: sun6i: Turn on gmac on Colombus ARM: dts: sun8i: Make et-q8-v1.6.dts a symlink to q8-tablet.dts ARM: dts: sun8i: Make ippo-q8h-v*.dts a symlink to q8-tablet.dts ARM: dts: sun8i: Add sun8i-a23-q8-tablet.dts file ARM: dts: sun5i: Add backlight node to sun5i-q8-common.dtsi ARM: dts: sunxi: Enable PWM controller on Q8 format tablets ARM: dts: sun5i: Add PWM channel 0 pinmux setting for A13/A10s ARM: dts: sun5i: Add PWM controller node for A13 / A10s ARM: sun5i: Add C.H.I.P DTS ARM: dts: sunxi: Add dtsi for AXP22x PMIC ARM: dts: sun7i: Correct USB regulators on pcDuino v3 Nano ARM: sun5i: dt: Add UART3 CTS and RTS pins ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit df3e6906d361e90bfbb3b3ef127bd2b4e667e2e9 Merge: b52d232 ea592ed Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:16:12 2015 -0700 Merge tag 'mvebu-config-4.4-1' of git://git.infradead.org/linux-mvebu into next/defconfig mvebu config for 4.4 (part 1) Update the v7 defconfig witth usefull config for the Seagate NAS * tag 'mvebu-config-4.4-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: enable options for Seagate NAS in mvebu_v7_defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7b6e28c38f7cded35b8ca7e9d65bd01b45a0e8fa Merge: 7b192fb 54c0988 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 10:15:03 2015 -0700 Merge tag 'pxa-for-4.4' of https://github.com/rjarzmik/linux into next/cleanup This is the pxa changes for v4.4 cycle. This cycle is bigger than usual : - magician was greatly enhanced (new IPs discovered, ...) - almost all legacy board files have been updated to the new PWM API (mostly for backlight control) - some minor fixes in raumfeld, z2 and mioa701 * tag 'pxa-for-4.4' of https://github.com/rjarzmik/linux: (44 commits) ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode ARM: pxa: raumfeld: make some variables static ARM: pxa: magician: Remove pdata for pasic3-leds ARM: pxa: magician: Add support for PXA27x UDC ARM: pxa: magician: Add support for MAX1587A Vcore regulator ARM: pxa: magician: Change comments to be more informative ARM: pxa: magician: Move platform_add_devices() to the end of magician_init() ARM: pxa: magician: Add missing regulator for PWM backlight ARM: pxa: magician: Add debug message for backlight brightness function ARM: pxa: magician: Remove definition of the STUART port ARM: pxa: magician: Fix wrongly enabled USB host ports ARM: pxa: magician: Fix support for Intel Strata NOR Flash ARM: pxa: magician: Fix redundant GPIO request for pxaficp_ir ARM: pxa: magician: Fix platform data for both PXA27x I2C controllers ARM: pxa: magician: Fix and add charging detection functions ARM: pxa: magician: Optimize Samsung LCD refresh to 50Hz ARM: pxa: magician: Rename charger cable detection EGPIOs ARM: pxa: magician: Optimize powerup delays for Samsung LCD ARM: pxa: magician: Rename abstract LCD GPIOs ARM: pxa: magician: Add new discovered EGPIO pins ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 056a72a5597e0f3e06260d0b21feb99296f77427 Merge: 825294c 79b04be Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Oct 23 09:57:16 2015 -0700 Merge branch 'drivers/psci2' into next/drivers * drivers/psci2: drivers: psci: make PSCI 1.0 functions initialization version dependent Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 79b04beb1e0ac7754e667f0aa47b57a197dc343a Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Fri Oct 23 15:46:50 2015 +0100 drivers: psci: make PSCI 1.0 functions initialization version dependent The PSCI specifications [1] and the SMC calling convention mandate that unimplemented functions ids must return NOT_SUPPORTED (0xffffffff) if a function id is called but it is not implemented. Consequently, PSCI 1.0 function ids that require the 1.0 PSCI_FEATURES call to be initialized: CPU_SUSPEND (psci_init_cpu_suspend()) SYSTEM_SUSPEND (psci_init_system_suspend()) call the PSCI_FEATURES function id independently of the detected PSCI firmware version, since, if the PSCI_FEATURES function id is not implemented, it must return NOT_SUPPORTED according to the PSCI specifications, causing the initialization functions to fail as expected. Some existing PSCI implementations (ie Qemu PSCI emulation), do not comply with the SMC calling convention and fail if function ids that are not implemented are called from the OS, causing boot failures. To solve this issue, this patch adds code that checks the PSCI firmware version before calling PSCI 1.0 initialization functions so that the OS makes sure that it is calling 1.0 functions only if the firmware version detected is 1.0 or greater, therefore avoiding PSCI calls that are bound to fail and might cause system boot failures owing to non-compliant PSCI firmware implementations. [1] http://infocenter.arm.com/help/topic/com.arm.doc.den0022c/DEN0022C_Power_State_Coordination_Interface.pdf Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ce055fe3329e9dece4fb676c8cf7331748b07d32 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 22 14:17:21 2015 -0400 drm/amdgpu/dce11: optimize pageflip Taking the grph update lock is only necessary when updating the the secondary address (for single pipe stereo). Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 0eaaacab038ec03c010cd820554cfa6d1a93cd78 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 22 14:16:57 2015 -0400 drm/amdgpu/dce10: optimize pageflip Taking the grph update lock is only necessary when updating the the secondary address (for single pipe stereo). Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 82326860b3ee58db33536a3e29675e28603f661c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 22 14:08:35 2015 -0400 drm/amdgpu/dce8: optimize pageflip Taking the grph update lock is only necessary when updating the the secondary address (for single pipe stereo). Reviewed-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 6d69bb536bac0d403d83db1ca841444981b280cd Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Sun Oct 11 19:38:00 2015 +0200 rbd: prevent kernel stack blow up on rbd map Mapping an image with a long parent chain (e.g. image foo, whose parent is bar, whose parent is baz, etc) currently leads to a kernel stack overflow, due to the following recursion in the reply path: rbd_osd_req_callback() rbd_obj_request_complete() rbd_img_obj_callback() rbd_img_parent_read_callback() rbd_obj_request_complete() ... Limit the parent chain to 16 images, which is ~5K worth of stack. When the above recursion is eliminated, this limit can be lifted. Fixes: http://tracker.ceph.com/issues/12538 Cc: stable@xxxxxxxxxxxxxxx # 3.10+, needs backporting for < 4.2 Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Josh Durgin <jdurgin@xxxxxxxxxx> commit 1f2c6651f69c14d0d3a9cfbda44ea101b02160ba Author: Ilya Dryomov <idryomov@xxxxxxxxx> Date: Sun Oct 11 19:38:00 2015 +0200 rbd: don't leak parent_spec in rbd_dev_probe_parent() Currently we leak parent_spec and trigger a "parent reference underflow" warning if rbd_dev_create() in rbd_dev_probe_parent() fails. The problem is we take the !parent out_err branch and that only drops refcounts; parent_spec that would've been freed had we called rbd_dev_unparent() remains and triggers rbd_warn() in rbd_dev_parent_put() - at that point we have parent_spec != NULL and parent_ref == 0, so counter ends up being -1 after the decrement. Redo rbd_dev_probe_parent() to fix this. Cc: stable@xxxxxxxxxxxxxxx # 3.10+, needs backporting for < 4.2 Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 6abca1d71b62090821240ee2a4507c94ddd144e9 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:42 2015 +0530 ASoC: Intel: Skylake: Add support to topology for module static pin Some module pin connection are static and defined by the topology. This patch adds support for static pin definitions in topology widget private data Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bfa764accdea017b1c557f43fa5f2c77a0dc3b15 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:41 2015 +0530 ASoC: Intel: Skylake: Fix to set Non gateway copier cfg If copier instance is connected to a DMA gateway then driver needs to configure the gateway configuration otherwise set it to invalid. This patch sets the non gateway copier node value to invalid. Signed-off-by: Dharageswari.R <dharageswari.r@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 2ac454ffe6c2cb923711edc8027bbc0e782be457 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:40 2015 +0530 ASoC: Intel: Skylake: Fix to check return value of dsp init If DSP initialization fails, ipc to disable notification will cause NULL ptr exception as ipc is not initialized. This patch returns error if dsp init fails before sending disable notification ipc. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4e10996ba810031a493d903539f595e053826103 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:39 2015 +0530 ASoC: Intel: Skylake: Add support to disable module notifications Each FW modules can report underrun/overrun notification from all modules. This patch disables underrun/overrun notification after firmware is loaded. This will be supportted for debug mode only thru debugfs Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d7b188131c4823a85d17b992083bf8a8c32a2be3 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:38 2015 +0530 ASoC: Intel: Skylake: Update for ssp node index in copier cfg DSP firmware has interface change for SSP node index structure. New FW interface removes the dual_mono field and adds 4 bits for TDM slot group index. This patch updates the ssp dma to align with the DSP firmware structure. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d8adccb220ca270cfcdd80752618095fdc9990c Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Oct 22 23:22:37 2015 +0530 ASoC: Intel: Skylake: Fix to fill all sink/source pipe params Currently params only for first copier widget identified in the source/sink path is queried from NHLT. In the dapm route the playback/capture widget may be connected to more than one copier widget. This patch adds return check to return only for any error case. 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 f0900eb213e0f6f37e1567531f9604b9bed6771d Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Oct 22 23:22:36 2015 +0530 ASoC: Intel: Skylake: Fix to use correct macros for the path iteration In case of playback, for the BE dai source path should be iterated to find the pipe params. With sink path iterated, this resulted in a loop and kernel panic with page request failure. Similar are the cases for Capture and FE dais. Using correct macros to fix the panic 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 bc03281a5c706f6372dfc2100b04aa4055a15c88 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:35 2015 +0530 ASoC: Intel: Skylake: Remove BE copier blob memcpy The BE copier private data allowed endpoint configuration blobs, now these are queried from BIOS, we don't need to copy the blob, but only capability. Removing the blob from private data will not allocate memory for module specific config in which case memcpy will fail. Fix is to assign the ptr queried from the NHLT table for the endpoint configuration. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9270b7b92615324ecda2b3fa0be98b4ab6c3e361 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Thu Oct 22 23:22:34 2015 +0530 ASoC: Intel: Skylake: Fix return for pm_runtime_get_sync() pm_runtime_get_sync() will return a negative value in case of error and can return postive value for success. The return check for pm_runtime_get_sync() must be less than 0, so fix it Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 97d56dc6826896852dae1a2bdab7a42ecde32c6f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 22 18:59:23 2015 +0200 spi: fix kernel-doc warnings about missing return desc in spi.c When building docs with make htmldocs, warnings about not having a description for the return value are reported, i.e: warning: No description found for return value of 'spi_register_driver' Fix these by following the kernel-doc conventions explained in Documentation/kernel-doc-nano-HOWTO.txt. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a1fdeaa71c95e5c6eba40245f84f762202dc69bb Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 22 18:59:22 2015 +0200 spi: fix kernel-doc warnings about missing return desc in spi.h When building docs with make htmldocs, warnings about not having a description for the return value are reported, i.e: warning: No description found for return value of 'spi_write' Fix these by following the kernel-doc conventions explained in Documentation/kernel-doc-nano-HOWTO.txt. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0dc9631221c95cc5ba31c115bf21c9b156aab253 Merge: 7379047 243f07b 6b7bc06 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Oct 24 01:28:29 2015 +0900 Merge branches 'topic/core' and 'topic/stats' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-doc commit 9d2ea95a599a80b08cc802f044626ea2701aade9 Author: Vincent Donnefort <vdonnefort@xxxxxxxxx> Date: Fri Oct 23 12:59:58 2015 +0200 ARM: mvebu: add broken-idle option The broken-idle option can be activated from the coherency-fabric DT node. This property allows to disable the idle capability, when the hardware doesn't support it, like the Seagate Personal Cloud boards. Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 4904dbda41c860fd117b20f3c48adb2780eee37e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 2 17:12:33 2015 +0300 ARM: orion5x: use mac_pton() helper Instead of custom approach let's use generic helper function. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: Detlef Vollmann <dv@xxxxxxxxxxx> Cc: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Tested-by: Detlef Vollmann <dv@xxxxxxxxxxx> #on DNS-323 Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit c86f5ebfbd147d1a228ab89ee1658e18939bd7ad Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 23 10:45:14 2015 -0400 drm/amdgpu: don't try to recreate sysfs entries on resume Fixes an error on resume caused by: fa022a9b65d2886486a022fd66b20c823cd76ad9 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 49abb26651167c892393cd9f2ad23df429645ed9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 23 10:38:52 2015 -0400 drm/radeon: don't try to recreate sysfs entries on resume Fixes a harmless error message caused by: 51a4726b04e880fdd9b4e0e58b13f70b0a68a7f5 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5c92d87d30b23844e6998d8318e4c19ee3a907ac Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Oct 21 21:58:28 2015 +0200 drm/amdgpu: stop leaking page flip fence reservation_object_get_fences_rcu already takes the references. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> commit bf7958607d0b792e0c43482c0c78786023a69832 Merge: e74f510 8443c1a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 23 06:58: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-10-23 This series contains updates to i40e, i40evf, if_link, ixgbe and ixgbevf. Anjali adds a workaround to drop any flow control frames from being transmitted from any VSI, so that a malicious VF cannot send flow control or PFC packets out on the wire. Also fixed a bug in debugfs by grabbing the filter list lock before adding or deleting a filter. Akeem fixes an issue where we were unconditionally returning VEB bridge mode before allowing LB in the add VSI routine, resolve by checking if the bridge is actually in VEB mode first. Mitch fixed an issue where the incorrect structure was being used for VLAN filter list, which meant the VLAN filter list did not get processed correctly and VLAN filters would not be re-enabled after any kind of reset. Helin fixed a problem of possibly getting inconsistent flow control status after a PF reset. The issue was requested_mode was being set with a default value during probe, but the hardware state could be a different value from this mode. Carolyn fixed a problem where the driver output of the OEM version string varied from the other tools. Jean Sacren fixes up kernel documentation by fixing function header comments to match actual variables used in the functions. Also cleaned up variable initialization, when the variable would be over-written immediately. Hiroshi Shimanoto provides three patches to add "trusted" VF by adding netlink directives and an NDO entry. Then implement these new controls in ixgbe and ixgbevf. This series has gone through several iterations to address all the suggested community changes and concerns. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03867292476e6fa7679395838d768dda0a0816c7 Merge: df55793 f7d27c3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 22:34:32 2015 +0900 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Ingo Molnar: "Misc fixes: two KASAN fixes, two EFI boot fixes, two boot-delay optimization fixes, and a fix for a IRQ handling hang observed on virtual platforms" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm, kasan: Silence KASAN warnings in get_wchan() compiler, atomics, kasan: Provide READ_ONCE_NOCHECK() x86, kasan: Fix build failure on KASAN=y && KMEMCHECK=y kernels x86/smpboot: Fix CPU #1 boot timeout x86/smpboot: Fix cpu_init_udelay=10000 corner case boot parameter misbehavior x86/ioapic: Disable interrupts when re-routing legacy IRQs x86/setup: Extend low identity map to cover whole kernel range x86/efi: Fix multiple GOP device support commit df55793680d36e37e6fc384fbd90c39ed83cbe75 Merge: 9f30931 0aaafaa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 22:31:39 2015 +0900 Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fixes from Ingo Molnar: "Misc fixes all around the map: an instrumentation fix, a nohz usability fix, a lockdep annotation fix and two task group scheduling fixes" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/core: Add missing lockdep_unpin() annotations sched/deadline: Fix migration of SCHED_DEADLINE tasks nohz: Revert "nohz: Set isolcpus when nohz_full is set" sched/fair: Update task group's load_avg after task migration sched/fair: Fix overly small weight for interactive group entities sched, tracing: Stop/start critical timings around the idle=poll idle loop commit e74f51056a167036f9168fb8d04b9e16ea12af43 Merge: 654c9c5 1c78efa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 23 06:26:50 2015 -0700 Merge branch 'mpls_multipath' Roopa Prabhu says: ==================== mpls: multipath support This patch adds support for MPLS multipath routes. Includes following changes to support multipath: - splits struct mpls_route into 'struct mpls_route + struct mpls_nh'. - struct mpls_nh represents a mpls nexthop label forwarding entry - Adds support to parse/fill RTA_MULTIPATH netlink attribute for multipath routes similar to ipv4/v6 fib - In the process of restructuring, this patch also consistently changes all labels to u8 $ip -f mpls route add 100 nexthop as 200 via inet 10.1.1.2 dev swp1 \ nexthop as 700 via inet 10.1.1.6 dev swp2 \ nexthop as 800 via inet 40.1.1.2 dev swp3 $ip -f mpls route show 100 nexthop as to 200 via inet 10.1.1.2 dev swp1 nexthop as to 700 via inet 10.1.1.6 dev swp2 nexthop as to 800 via inet 40.1.1.2 dev swp3 ==================== Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c78efa8319cad2f10f421afa627745fb4d9b29f Author: Robert Shearman <rshearma@xxxxxxxxxxx> Date: Fri Oct 23 06:03:28 2015 -0700 mpls: flow-based multipath selection Change the selection of a multipath route to use a flow-based hash. This more suitable for traffic sensitive to reordering within a flow (e.g. TCP, L2VPN) and whilst still allowing a good distribution of traffic given enough flows. Selection of the path for a multipath route is done using a hash of: 1. Label stack up to MAX_MP_SELECT_LABELS labels or up to and including entropy label, whichever is first. 2. 3-tuple of (L3 src, L3 dst, proto) from IPv4/IPv6 header in MPLS payload, if present. Naturally, a 5-tuple hash using L4 information in addition would be possible and be better in some scenarios, but there is a tradeoff between looking deeper into the packet to achieve good distribution, and packet forwarding performance, and I have erred on the side of the latter as the default. Signed-off-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8efb73c97e2fa0abbe2e07c5c5df07800312643 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 06:03:27 2015 -0700 mpls: multipath route support This patch adds support for MPLS multipath routes. Includes following changes to support multipath: - splits struct mpls_route into 'struct mpls_route + struct mpls_nh' - 'struct mpls_nh' represents a mpls nexthop label forwarding entry - moves mpls route and nexthop structures into internal.h - A mpls_route can point to multiple mpls_nh structs - the nexthops are maintained as a array (similar to ipv4 fib) - In the process of restructuring, this patch also consistently changes all labels to u8 - Adds support to parse/fill RTA_MULTIPATH netlink attribute for multipath routes similar to ipv4/v6 fib - In this patch, the multipath route nexthop selection algorithm simply returns the first nexthop. It is replaced by a hash based algorithm from Robert Shearman in the next patch - mpls_route_update cleanup: remove 'dev' handling in mpls_route_update. mpls_route_update though implemented to update based on dev, it was never used that way. And the dev handling gets tricky with multiple nexthops. Cannot match against any single nexthops dev. So, this patch removes the unused 'dev' handling in mpls_route_update. - dead route/path handling will be implemented in a subsequent patch Example: $ip -f mpls route add 100 nexthop as 200 via inet 10.1.1.2 dev swp1 \ nexthop as 700 via inet 10.1.1.6 dev swp2 \ nexthop as 800 via inet 40.1.1.2 dev swp3 $ip -f mpls route show 100 nexthop as to 200 via inet 10.1.1.2 dev swp1 nexthop as to 700 via inet 10.1.1.6 dev swp2 nexthop as to 800 via inet 40.1.1.2 dev swp3 Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Acked-by: Robert Shearman <rshearma@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce9d9b8e5c2b7486edf76958bcdb5e6534a915b0 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 23 20:59:49 2015 +0800 net: sysctl: fix a kmemleak warning the returned buffer of register_sysctl() is stored into net_header variable, but net_header is not used after, and compiler maybe optimise the variable out, and lead kmemleak reported the below warning comm "swapper/0", pid 1, jiffies 4294937448 (age 267.270s) hex dump (first 32 bytes): 90 38 8b 01 c0 ff ff ff 00 00 00 00 01 00 00 00 .8.............. 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffc00020f134>] create_object+0x10c/0x2a0 [<ffffffc00070ff44>] kmemleak_alloc+0x54/0xa0 [<ffffffc0001fe378>] __kmalloc+0x1f8/0x4f8 [<ffffffc00028e984>] __register_sysctl_table+0x64/0x5a0 [<ffffffc00028eef0>] register_sysctl+0x30/0x40 [<ffffffc00099c304>] net_sysctl_init+0x20/0x58 [<ffffffc000994dd8>] sock_init+0x10/0xb0 [<ffffffc0000842e0>] do_one_initcall+0x90/0x1b8 [<ffffffc000966bac>] kernel_init_freeable+0x218/0x2f0 [<ffffffc00070ed6c>] kernel_init+0x1c/0xe8 [<ffffffc000083bfc>] ret_from_fork+0xc/0x50 [<ffffffffffffffff>] 0xffffffffffffffff <<end check kmemleak>> Before fix, the objdump result on ARM64: 0000000000000000 <net_sysctl_init>: 0: a9be7bfd stp x29, x30, [sp,#-32]! 4: 90000001 adrp x1, 0 <net_sysctl_init> 8: 90000000 adrp x0, 0 <net_sysctl_init> c: 910003fd mov x29, sp 10: 91000021 add x1, x1, #0x0 14: 91000000 add x0, x0, #0x0 18: a90153f3 stp x19, x20, [sp,#16] 1c: 12800174 mov w20, #0xfffffff4 // #-12 20: 94000000 bl 0 <register_sysctl> 24: b4000120 cbz x0, 48 <net_sysctl_init+0x48> 28: 90000013 adrp x19, 0 <net_sysctl_init> 2c: 91000273 add x19, x19, #0x0 30: 9101a260 add x0, x19, #0x68 34: 94000000 bl 0 <register_pernet_subsys> 38: 2a0003f4 mov w20, w0 3c: 35000060 cbnz w0, 48 <net_sysctl_init+0x48> 40: aa1303e0 mov x0, x19 44: 94000000 bl 0 <register_sysctl_root> 48: 2a1403e0 mov w0, w20 4c: a94153f3 ldp x19, x20, [sp,#16] 50: a8c27bfd ldp x29, x30, [sp],#32 54: d65f03c0 ret After: 0000000000000000 <net_sysctl_init>: 0: a9bd7bfd stp x29, x30, [sp,#-48]! 4: 90000000 adrp x0, 0 <net_sysctl_init> 8: 910003fd mov x29, sp c: a90153f3 stp x19, x20, [sp,#16] 10: 90000013 adrp x19, 0 <net_sysctl_init> 14: 91000000 add x0, x0, #0x0 18: 91000273 add x19, x19, #0x0 1c: f90013f5 str x21, [sp,#32] 20: aa1303e1 mov x1, x19 24: 12800175 mov w21, #0xfffffff4 // #-12 28: 94000000 bl 0 <register_sysctl> 2c: f9002260 str x0, [x19,#64] 30: b40001a0 cbz x0, 64 <net_sysctl_init+0x64> 34: 90000014 adrp x20, 0 <net_sysctl_init> 38: 91000294 add x20, x20, #0x0 3c: 9101a280 add x0, x20, #0x68 40: 94000000 bl 0 <register_pernet_subsys> 44: 2a0003f5 mov w21, w0 48: 35000080 cbnz w0, 58 <net_sysctl_init+0x58> 4c: aa1403e0 mov x0, x20 50: 94000000 bl 0 <register_sysctl_root> 54: 14000004 b 64 <net_sysctl_init+0x64> 58: f9402260 ldr x0, [x19,#64] 5c: 94000000 bl 0 <unregister_sysctl_table> 60: f900227f str xzr, [x19,#64] 64: 2a1503e0 mov w0, w21 68: f94013f5 ldr x21, [sp,#32] 6c: a94153f3 ldp x19, x20, [sp,#16] 70: a8c37bfd ldp x29, x30, [sp],#48 74: d65f03c0 ret Add the possible error handle to free the net_header to remove the kmemleak warning Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb9644bf3b549d20656cca02e8a6332c67cf37d6 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu Oct 22 16:22:46 2015 +0000 xen/arm: don't try to re-register vcpu_info on cpu_hotplug. Call disable_percpu_irq on CPU_DYING and enable_percpu_irq when the cpu is coming up. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Julien Grall <julien.grall@xxxxxxxxxx> commit 1c7a62137bb23bc8a2c05d1dad6105afa569b20e Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu Oct 22 16:21:46 2015 +0000 xen, cpu_hotplug: call device_offline instead of cpu_down When offlining a cpu, instead of cpu_down, call device_offline, which also takes care of updating the cpu.dev.offline field. This keeps the sysfs file /sys/devices/system/cpu/cpuN/online, up to date. Also move the call to disable_hotplug_cpu, because it makes more sense to have it there. We don't call device_online at cpu-hotplug time, because that would immediately take the cpu online, while we want to retain the current behaviour: the user needs to explicitly enable the cpu after it has been hotplugged. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> CC: konrad.wilk@xxxxxxxxxx CC: boris.ostrovsky@xxxxxxxxxx CC: david.vrabel@xxxxxxxxxx commit a314e3eb845389b8f68130c79a63832229dea87b Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Thu Oct 22 16:20:46 2015 +0000 xen/arm: Enable cpu_hotplug.c Build cpu_hotplug for ARM and ARM64 guests. Rename arch_(un)register_cpu to xen_(un)register_cpu and provide an empty implementation on ARM and ARM64. On x86 just call arch_(un)register_cpu as we are already doing. Initialize cpu_hotplug on ARM. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Reviewed-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> commit 89bf4b4e4a8d9ab219cd03aada24e782cf0ac359 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Oct 13 17:50:13 2015 +0100 xenbus: Support multiple grants ring with 64KB The PV ring may use multiple grants and expect them to be mapped contiguously in the virtual memory. Although, the current code is relying on a Linux page will be mapped to a single grant. On build where Linux is using a different page size than the grant (i.e other than 4KB), the grant will always be mapped on the first 4KB of each Linux page which make the final ring not contiguous in the memory. This can be fixed by mapping multiple grant in a same Linux page. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit f73314b28148f9ee9f89a0ae961c8fb36e3269fa Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Oct 13 17:50:12 2015 +0100 xen/grant-table: Add an helper to iterate over a specific number of grants With the 64KB page granularity support on ARM64, a Linux page may be split accross multiple grant. Currently we have the helper gnttab_foreach_grant_in_grant to break a Linux page based on an offset and a len, but it doesn't fit when we only have a number of grants in hand. Introduce a new helper which take an array of Linux page and a number of grant and will figure out the address of each grant. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 9cce2914e2b21339dca12c91dc9f35790366cc4c Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Oct 13 17:50:11 2015 +0100 xen/xenbus: Rename *RING_PAGE* to *RING_GRANT* Linux may use a different page size than the size of grant. So make clear that the order is actually in number of grant. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d5f985c834fbfdedcb629b009ba272ad50add5ac Author: Juergen Gross <jgross@xxxxxxxx> Date: Mon Sep 14 15:20:52 2015 +0200 xen/arm: correct comment in enlighten.c Correct a comment in arch/arm/xen/enlighten.c referencing a wrong source file. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a36012be64e65760d208c23ea68dc12a895001d8 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:56:08 2015 +0200 xen/gntdev: use types from linux/types.h in userspace headers __u32, __u64 etc. are preferred for userspace API headers. Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 91afb7c373e881d5038a78e1206a0f6469440ec3 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:56:07 2015 +0200 xen/gntalloc: use types from linux/types.h in userspace headers __u32, __u64 etc. are preferred for userspace API headers. Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 3990dd27034606312429a09c807ea74a6ec32dde Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Oct 7 14:04:33 2015 +0100 xen/balloon: Use the correct sizeof when declaring frame_list The type of the item in frame_list is xen_pfn_t which is not an unsigned long on ARM but an uint64_t. With the current computation, the size of frame_list will be 2 * PAGE_SIZE rather than PAGE_SIZE. I bet it's just mistake when the type has been switched from "unsigned long" to "xen_pfn_t" in commit 965c0aaafe3e75d4e65cd4ec862915869bde3abd "xen: balloon: use correct type for frame_list". Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 9435cce87950d805e6c8315410f2cb8ff6b2c6a2 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 9 15:18:45 2015 +0100 xen/swiotlb: Add support for 64KB page granularity Swiotlb is used on ARM64 to support DMA on platform where devices are not protected by an SMMU. Furthermore it's only enabled for DOM0. While Xen is always using 4KB page granularity in the stage-2 page table, Linux ARM64 may either use 4KB or 64KB. This means that a Linux page can be spanned accross multiple Xen page. The Swiotlb code has to validate that the buffer used for DMA is physically contiguous in the memory. As a Linux page can't be shared between local memory and foreign page by design (the balloon code always removing entirely a Linux page), the changes in the code are very minimal because we only need to check the first Xen PFN. Note that it may be possible to optimize the function check_page_physically_contiguous to avoid looping over every Xen PFN for local memory. Although I will let this optimization for a follow-up. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 291be10fd7511101d44cf98166d049bd31bc7600 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 9 15:17:33 2015 +0100 xen/swiotlb: Pass addresses rather than frame numbers to xen_arch_need_swiotlb With 64KB page granularity support, the frame number will be different. It will be easier to modify the behavior in a single place rather than in each caller. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 250c9af3d831139317009eaebbe82e20d23a581f Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:36:56 2015 +0100 arm/xen: Add support for 64KB page granularity The hypercall interface is always using 4KB page granularity. This is requiring to use xen page definition macro when we deal with hypercall. Note that pfn_to_gfn is working with a Xen pfn (i.e 4KB). We may want to rename pfn_gfn to make this explicit. We also allocate a 64KB page for the shared page even though only the first 4KB is used. I don't think this is really important for now as it helps to have the pointer 4KB aligned (XENMEM_add_to_physmap is taking a Xen PFN). Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5995a68a6272e4e8f4fe4de82cdc877e650fe8be Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:54:12 2015 +0100 xen/privcmd: Add support for Linux 64KB page granularity The hypercall interface (as well as the toolstack) is always using 4KB page granularity. When the toolstack is asking for mapping a series of guest PFN in a batch, it expects to have the page map contiguously in its virtual memory. When Linux is using 64KB page granularity, the privcmd driver will have to map multiple Xen PFN in a single Linux page. Note that this solution works on page granularity which is a multiple of 4KB. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d0089e8a0e4c9723d85b01713671358e3d6960df Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 13:15:29 2015 +0100 net/xen-netback: Make it running on 64KB page granularity The PV network protocol is using 4KB page granularity. The goal of this patch is to allow a Linux using 64KB page granularity working as a network backend on a non-modified Xen. It's only necessary to adapt the ring size and break skb data in small chunk of 4KB. The rest of the code is relying on the grant table code. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 30c5d7f0da82f55c86c0a09bf21c0623474bb17f Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Apr 10 14:42:21 2015 +0100 net/xen-netfront: Make it running on 64KB page granularity The PV network protocol is using 4KB page granularity. The goal of this patch is to allow a Linux using 64KB page granularity using network device on a non-modified Xen. It's only necessary to adapt the ring size and break skb data in small chunk of 4KB. The rest of the code is relying on the grant table code. Note that we allocate a Linux page for each rx skb but only the first 4KB is used. We may improve the memory usage by extending the size of the rx skb. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 67de5dfbc176ea86ab0278658b5d55f64207ff2d Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:25:56 2015 +0100 block/xen-blkback: Make it running on 64KB page granularity The PV block protocol is using 4KB page granularity. The goal of this patch is to allow a Linux using 64KB page granularity behaving as a block backend on a non-modified Xen. It's only necessary to adapt the ring size and the number of request per indirect frames. The rest of the code is relying on the grant table code. Note that the grant table code is allocating a Linux page per grant which will result to waste 6OKB for every grant when Linux is using 64KB page granularity. This could be improved by sharing the page between multiple grants. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: "Roger Pau Monné" <roger.pau@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit c004a6fe0c405e2aa91b2a88aa1428724e6d06f6 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Jul 22 16:44:54 2015 +0100 block/xen-blkfront: Make it running on 64KB page granularity The PV block protocol is using 4KB page granularity. The goal of this patch is to allow a Linux using 64KB page granularity using block device on a non-modified Xen. The block API is using segment which should at least be the size of a Linux page. Therefore, the driver will have to break the page in chunk of 4K before giving the page to the backend. When breaking a 64KB segment in 4KB chunks, it is possible that some chunks are empty. As the PV protocol always require to have data in the chunk, we have to count the number of Xen page which will be in use and avoid sending empty chunks. Note that, a pre-defined number of grants are reserved before preparing the request. This pre-defined number is based on the number and the maximum size of the segments. If each segment contains a very small amount of data, the driver may reserve too many grants (16 grants is reserved per segment with 64KB page granularity). Furthermore, in the case of persistent grants we allocate one Linux page per grant although only the first 4KB of the page will be effectively in use. This could be improved by sharing the page with multiple grants. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5ed5451d997f7a86c62a5557efc00dc3836dc559 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:37:49 2015 +0100 xen/grant-table: Make it running on 64KB granularity The Xen interface is using 4KB page granularity. This means that each grant is 4KB. The current implementation allocates a Linux page per grant. On Linux using 64KB page granularity, only the first 4KB of the page will be used. We could decrease the memory wasted by sharing the page with multiple grant. It will require some care with the {Set,Clear}ForeignPage macro. Note that no changes has been made in the x86 code because both Linux and Xen will only use 4KB page granularity. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a001c9d95c4ea96589461d58e77c96416a303e2c Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:37:30 2015 +0100 xen/events: fifo: Make it running on 64KB granularity Only use the first 4KB of the page to store the events channel info. It means that we will waste 60KB every time we allocate page for: * control block: a page is allocating per CPU * event array: a page is allocating everytime we need to expand it I think we can reduce the memory waste for the 2 areas by: * control block: sharing between multiple vCPUs. Although it will require some bookkeeping in order to not free the page when the CPU goes offline and the other CPUs sharing the page still there * event array: always extend the array event by 64K (i.e 16 4K chunk). That would require more care when we fail to expand the event channel. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 30756c62997822894fb34e2114f5dc727a12af30 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Mon May 4 15:39:08 2015 +0100 xen/balloon: Don't rely on the page granularity is the same for Xen and Linux For ARM64 guests, Linux is able to support either 64K or 4K page granularity. Although, the hypercall interface is always based on 4K page granularity. With 64K page granularity, a single page will be spread over multiple Xen frame. To avoid splitting the page into 4K frame, take advantage of the extent_order field to directly allocate/free chunk of the Linux page size. Note that PVMMU is only used for PV guest (which is x86) and the page granularity is always 4KB. Some BUILD_BUG_ON has been added to ensure that because the code has not been modified. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 9652c08012580c9961c77fc8726a877e0d437324 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:58:43 2015 +0100 tty/hvc: xen: Use xen page definition The console ring is always based on the page granularity of Xen. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 7d567928db59cb249e5539ebb63890e24431669a Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue May 5 16:38:27 2015 +0100 xen/xenbus: Use Xen page definition All the ring (xenstore, and PV rings) are always based on the page granularity of Xen. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 36f8abd36febf1c6f67dae26ec7a87be44629138 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Mon May 11 13:44:21 2015 +0100 xen/biomerge: Don't allow biovec's to be merged when Linux is not using 4KB pages On ARM all dma-capable devices on a same platform may not be protected by an IOMMU. The DMA requests have to use the BFN (i.e MFN on ARM) in order to use correctly the device. While the DOM0 memory is allocated in a 1:1 fashion (PFN == MFN), grant mapping will screw this contiguous mapping. When Linux is using 64KB page granularitary, the page may be split accross multiple non-contiguous MFN (Xen is using 4KB page granularity). Therefore a DMA request will likely fail. Checking that a 64KB page is using contiguous MFN is tedious. For now, always says that biovec are not mergeable. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4f503fbdf319e4411aa48852b8922c93a9cc0c5d Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Jul 1 14:10:38 2015 +0100 block/xen-blkfront: split get_grant in 2 Prepare the code to support 64KB page granularity. The first implementation will use a full Linux page per indirect and persistent grant. When non-persistent grant is used, each page of a bio request may be split in multiple grant. Furthermore, the field page of the grant structure is only used to copy data from persistent grant or indirect grant. Avoid to set it for other use case as it will have no meaning given the page will be split in multiple grant. Provide 2 functions, to setup indirect grant, the other for bio page. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a7a6df222351de23791bb64165f14c21ff4d1653 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Jun 30 11:58:51 2015 +0100 block/xen-blkfront: Store a page rather a pfn in the grant structure All the usage of the field pfn are done using the same idiom: pfn_to_page(grant->pfn) This will return always the same page. Store directly the page in the grant to clean up the code. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 33204663ef85d9ce79009b2246afe6a2fef8eb1b Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Mon Jun 29 17:35:24 2015 +0100 block/xen-blkfront: Split blkif_queue_request in 2 Currently, blkif_queue_request has 2 distinct execution path: - Send a discard request - Send a read/write request The function is also allocating grants to use for generating the request. Although, this is only used for read/write request. Rather than having a function with 2 distinct execution path, separate the function in 2. This will also remove one level of tabulation. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 3922f32c1e6db2e096ff095a5b8af0b940b97508 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Jun 19 18:05:06 2015 +0100 xen/grant: Add helper gnttab_page_grant_foreign_access_ref_one Many PV drivers contain the idiom: pfn = page_to_gfn(...) /* Or similar */ gnttab_grant_foreign_access_ref Replace it by a new helper. Note that when Linux is using a different page granularity than Xen, the helper only gives access to the first 4KB grant. This is useful where drivers are allocating a full Linux page for each grant. Also include xen/interface/grant_table.h rather than xen/grant_table.h in asm/page.h for x86 to fix a compilation issue [1]. Only the former is useful in order to get the structure definition. [1] Interdependency between asm/page.h and xen/grant_table.h which result to page_mfn not being defined when necessary. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 008c320a96d218712043f8db0111d5472697785c Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Fri Jun 19 17:49:03 2015 +0100 xen/grant: Introduce helpers to split a page into grant Currently, a grant is always based on the Xen page granularity (i.e 4KB). When Linux is using a different page granularity, a single page will be split between multiple grants. The new helpers will be in charge of splitting the Linux page into grants and call a function given by the caller on each grant. Also provide an helper to count the number of grants within a given contiguous region. Note that the x86/include/asm/xen/page.h is now including xen/interface/grant_table.h rather than xen/grant_table.h. It's necessary because xen/grant_table.h depends on asm/xen/page.h and will break the compilation. Furthermore, only definition in interface/grant_table.h is required. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 1084b1988d22dc165c9dbbc2b0e057f9248ac4db Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Mon May 4 15:47:16 2015 +0100 xen: Add Xen specific page definition The Xen hypercall interface is always using 4K page granularity on ARM and x86 architecture. With the incoming support of 64K page granularity for ARM64 guest, it won't be possible to re-use the Linux page definition in Xen drivers. Introduce Xen page definition helpers based on the Linux page definition. They have exactly the same name but prefixed with XEN_/xen_ prefix. Also modify xen_page_to_gfn to use new Xen page definition. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 5031612b5eaf15cb6471c6e936a515090810c8f1 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Tue Jul 21 17:57:20 2015 +0100 arm/xen: Drop pte_mfn and mfn_pte They are not used in common code expect in one place in balloon.c which is only compiled when Linux is using PV MMU. It's not the case on ARM. Rather than worrying how to handle the 64KB case, drop them. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a0f2e80fcd3b6b1369527828b02caab01af60c36 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Jun 24 18:03:14 2015 +0100 net/xen-netback: xenvif_gop_frag_copy: move GSO check out of the loop The skb doesn't change within the function. Therefore it's only necessary to check if we need GSO once at the beginning. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4a69c909deb0dd3cae653d14ac0ff52d5440a19c Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Jul 22 14:50:37 2015 +0100 xen/balloon: pre-allocate p2m entries for ballooned pages Pages returned by alloc_xenballooned_pages() will be used for grant mapping which will call set_phys_to_machine() (in PV guests). Ballooned pages are set as INVALID_P2M_ENTRY in the p2m and thus may be using the (shared) missing tables and a subsequent set_phys_to_machine() will need to allocate new tables. Since the grant mapping may be done from a context that cannot sleep, the p2m entries must already be allocated. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> commit 8edfcf882eb91ec9028c7334f90f6ef3db5b0fcf Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Jul 22 14:48:09 2015 +0100 x86/xen: export xen_alloc_p2m_entry() Rename alloc_p2m() to xen_alloc_p2m_entry() and export it. This is useful for ensuring that a p2m entry is allocated (i.e., not a shared missing or identity entry) so that subsequent set_phys_to_machine() calls will require no further allocations. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- v3: - Make xen_alloc_p2m_entry() a nop on auto-xlate guests. commit 1cf6a6c82918c9aad4bb73a7e7379a649e4d8e50 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 16:29:18 2015 +0100 xen/balloon: use hotplugged pages for foreign mappings etc. alloc_xenballooned_pages() is used to get ballooned pages to back foreign mappings etc. Instead of having to balloon out real pages, use (if supported) hotplugged memory. This makes more memory available to the guest and reduces fragmentation in the p2m. This is only enabled if the xen.balloon.hotplug_unpopulated sysctl is set to 1. This sysctl defaults to 0 in case the udev rules to automatically online hotplugged memory do not exist. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- v3: - Add xen.balloon.hotplug_unpopulated sysctl to enable use of hotplug for unpopulated pages. commit 81b286e0f1fe520f2a96f736ffa7e508ac9139ba Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 13:12:46 2015 +0100 xen/balloon: make alloc_xenballoon_pages() always allocate low pages All users of alloc_xenballoon_pages() wanted low memory pages, so remove the option for high memory. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> commit b2ac6aa8f71bf57b948ee68cd913c350b932da88 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 12:10:28 2015 +0100 xen/balloon: only hotplug additional memory if required Now that we track the total number of pages (included hotplugged regions), it is easy to determine if more memory needs to be hotplugged. Add a new BP_WAIT state to signal that the balloon process needs to wait until kicked by the memory add notifier (when the new section is onlined by userspace). Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- v3: - Return BP_WAIT if enough sections are already hotplugged. v2: - New BP_WAIT status after adding new memory sections. commit de5a77d8422fc7ed0b2f4349bceb65a1a639e5b2 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 12:08:20 2015 +0100 xen/balloon: rationalize memory hotplug stats The stats used for memory hotplug make no sense and are fiddled with in odd ways. Remove them and introduce total_pages to track the total number of pages (both populated and unpopulated) including those within hotplugged regions (note that this includes not yet onlined pages). This will be used in a subsequent commit (xen/balloon: only hotplug additional memory if required) when deciding whether additional memory needs to be hotplugged. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> commit 55b3da98a40dbb3776f7454daf0d95dde25c33d2 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Jun 24 15:58:42 2015 +0100 xen/balloon: find non-conflicting regions to place hotplugged memory Instead of placing hotplugged memory at the end of RAM (which may conflict with PCI devices or reserved regions) use allocate_resource() to get a new, suitably aligned resource that does not conflict. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- v3: - Remove stale comment. commit f5775e0b6116b7e2425ccf535243b21768566d87 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Mon Jan 19 11:08:05 2015 +0000 x86/xen: discard RAM regions above the maximum reservation During setup, discard RAM regions that are above the maximum reservation (instead of marking them as E820_UNUSABLE). This allows hotplug memory to be placed at these addresses. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> commit f6a6cb1afe74d6ccc81aa70aa4ac3953762e7e6e Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 13:18:12 2015 +0100 xen/balloon: remove scratch page left overs Commit 0bb599fd30108883b00c7d4a226eeb49111e6932 (xen: remove scratch frames for ballooned pages and m2p override) removed the use of the scratch page for ballooned out pages. Remove some left over function definitions. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> commit 62cedb9f135794ec26a93ae29e5f0231ab263c84 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Jun 25 16:35:49 2015 +0100 mm: memory hotplug with an existing resource Add add_memory_resource() to add memory using an existing "System RAM" resource. This is useful if the memory region is being located by finding a free resource slot with allocate_resource(). Xen guests will make use of this in their balloon driver to hotplug arbitrary amounts of memory in response to toolstack requests. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> Reviewed-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> commit 9f30931a5482d66710210dafe9b4f2cc92320540 Merge: a2c01ed b67de01 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 22:10:51 2015 +0900 Merge branch 'akpm' (patches from Andrew) Merge fixes from Andrew Morton: "9 fixes" * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: ocfs2/dlm: unlock lockres spinlock before dlm_lockres_put fault-inject: fix inverted interval/probability values in printk lib/Kconfig.debug: disable -Wframe-larger-than warnings with KASAN=y mm: make sendfile(2) killable thp: use is_zero_pfn() only after pte_present() check mailmap: update Javier Martinez Canillas' email MAINTAINERS: add Sergey as zsmalloc reviewer mm: cma: fix incorrect type conversion for size during dma allocation kmod: don't run async usermode helper as a child of kworker thread commit 654c9c543ac025f4ecb73047f2e5b689137c77c5 Merge: 6fb3b6b5 f050561 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 23 05:57:53 2015 -0700 Merge branch 'mdiobus_nested_read_write' Neil Armstrong says: ==================== Refactor nested mdiobus read/write functions In order to avoid locked signal false positive for nested mdiobus read/write calls, nested code was introduced in mv88e6xxx and mdio-mux. But mv88e6060 also needs such nested mdiobus read/write calls. For sake of refactoring, introduce nested variants of mdiobus read/write and make them used by mv88e6xxx and mv88e6060. In a next patch, mdio-mux should also use these variant calls. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0505610505caf8443cd5ea269a7936b64711fee Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Thu Oct 22 10:37:57 2015 +0200 net: dsa: Make mv88e6060 use nested mdiobus read/write Like mv88e6xxx and mdio-mux, to avoid lockdep give false positives because of nested MDIO busses, switch to previously introduced nested mdiobus_read/write variants. Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e899e6c51320dd340ccc7a3d4391cedd0ba275b Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Thu Oct 22 10:37:53 2015 +0200 net: dsa: Make mv88e6xxx use nested mdiobus read/write Make the mv88e6xxx driver use the previously introduced nested variants of mdiobus_read/write functions. Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21dd19fed3c3eb42a3877600f4a97a774323e562 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Thu Oct 22 10:37:49 2015 +0200 net: phy: Add nested variants of mdiobus read/write Since nested variants of mdiobus_read/write are used in multiple drivers, add nested variants in the mdiobus core. Suggested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8443c1a4b192089e62642d847ebac3e4d15134c3 Author: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Date: Fri Aug 28 06:59:03 2015 +0000 ixgbe, ixgbevf: Add new mbox API xcast mode The limitation of the number of multicast address for VF is not enough for the large scale server with SR-IOV feature. IPv6 requires the multicast MAC address for each IP address to handle the Neighbor Solicitation message. We couldn't assign over 30 IPv6 addresses to a single VF. This patch introduces the new mailbox API, IXGBE_VF_UPDATE_XCAST_MODE, to update multicast mode of VF. This adds 3 modes; - NONE only L2 exact match addresses or Flow Director enabled - MULTI BAM and ROMPE set - ALLMULTI BAM, ROMPE and MPE set If a guest VF user wants over 30 MAC multicast addresses, set IFF_ALLMULTI to request PF to update xcast mode to enable VF multicast promiscuous mode. On the other hand, enabling VF multicast promiscuous mode may affect security and performance in the network of the NIC. Only trusted VF can enable multicast promiscuous mode. The behavior of untrusted VF is the same as previous version. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 54011e4db839504791cf8317fc48949c683587d4 Author: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Date: Fri Aug 28 06:58:33 2015 +0000 ixgbe: Add new ndo to trust VF Implements the new netdev op to trust VF in ixgbe. The administrator can turn on and off VF trusted by ip command which supports trust message. # ip link set dev eth0 vf 1 trust on or # ip link set dev eth0 vf 1 trust off Send a ping to reset VF on changing the status of trusting. VF driver will reconfigure its features on reset. Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6fb3b6b57ae444d7723088656dce86b1be92498d Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri Oct 23 14:41:12 2015 +0300 drivers: net: cpsw: use module_platform_driver There is no reasons to probe cpsw from late_initcall level and it's not recommended. Hence, use module_platform_driver() to register and probe cpsw driver from module_init() level. Cc: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dd461d6aa894761fe67c30ddf81eec0d08be216b Author: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Date: Fri Aug 28 06:57:55 2015 +0000 if_link: Add control trust VF Add netlink directives and ndo entry to trust VF user. This controls the special permission of VF user. The administrator will dedicatedly trust VF user to use some features which impacts security and/or performance. The administrator never turn it on unless VF user is fully trusted. CC: Sy Jong Choi <sy.jong.choi@xxxxxxxxx> Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx> Acked-by: Greg Rose <gregory.v.rose@xxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5e0724d027f0548511a2165a209572d48fe7a4c8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 22 08:20:46 2015 -0700 tcp/dccp: fix hashdance race for passive sessions Multiple cpus can process duplicates of incoming ACK messages matching a SYN_RECV request socket. This is a rare event under normal operations, but definitely can happen. Only one must win the race, otherwise corruption would occur. To fix this without adding new atomic ops, we use logic in inet_ehash_nolisten() to detect the request was present in the same ehash bucket where we try to insert the new child. If request socket was not found, we have to undo the child creation. This actually removes a spin_lock()/spin_unlock() pair in reqsk_queue_unlink() for the fast path. Fixes: e994b2f0fb92 ("tcp: do not lock listener to process SYN packets") Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fc4cd52fa7ed86e9d1df94e459b6a2435bfa9c7 Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Tue Oct 13 01:06:32 2015 -0600 i40e: fix unconditional execution of cpu_to_le16() The commit 3092e5e4cc79 ("i40e: add little endian conversion for checksum") fixed the checksum bug on big-endian architecture. But we should not execute cpu_to_le16() unconditionally. Thus, put cpu_to_le16() under certain condition. Cc: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Cc: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0e5229c6c576969bf8f89f8ca74fa7ea355b434e Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Tue Oct 13 01:06:31 2015 -0600 i40e: clean up local variable initialization In both i40e_calc_nvm_checksum() and i40e_update_nvm_checksum(), the local variables designated by 'ret_code' are overwritten immediately. As such, they should merely be declared. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ed17f7e5d7918adb487debe49fadf57fd2b98d1c Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Tue Oct 13 01:06:30 2015 -0600 i40evf: clean up local variable initialization In i40evf_msix_aq(), the first two lines of rd32() are mainly to clear the registers. If we initialize 'val' at this point, it will be overwritten immediately. We shall simply discard the return value here. When we initialize 'val', we might as well include the mask in one step. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 554f4544afa541b25882cd0ca5fd6b01b4e2ce07 Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Tue Oct 13 01:06:28 2015 -0600 i40e: add missing kernel-doc argument The following kernel-doc arguments for their respective functions are missing: 1) @cd_type_cmd_tso_mss for i40e_tso(); 2) @cd_type_cmd_tso_mss for i40e_tsyn(); 3) @tx_ring for i40e_tx_enable_csum(). Add them all for the kernel-doc requirement. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 69c1d70ab6b5b53ec21919f4f8de84041d3f6cdd Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Tue Oct 13 01:06:27 2015 -0600 i40evf: add missing kernel-doc argument @flush has been missing since the inception of i40evf_irq_enable(). Add it for the kernel doc. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a3524e95ac5339e9b65dba2228f3f7efd27648cf Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 2 12:18:16 2015 +0300 i40e: re-use %*ph specifier to hexdump a data Instead of using a custom approach change the code to use %*ph format specifier. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0e320516b280a8cf7258d9d41e7140563dd7c027 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Oct 1 14:37:41 2015 -0400 i40e/i40evf: Bump i40e to 1.3.46 and i40evf to 1.3.33 Bump up the version... Change-ID: Ib8d501021671ba20250115ed54330e2c182255b7 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 de445b3dc29835ae840f202bc62fd3ae42da12ad Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Date: Thu Oct 1 14:37:40 2015 -0400 i40e: Disable VEB bridge mode with SR-IOV failure If a call to enable SR-IOV in the kernel failed, we need to disable I40E_FLAG_VEB_MODE_ENABLED, so that bridge mode could fall back to VEPA, which is a default. Change-ID: I12b6f776769506db85b29bea94b9c88d0b5ee65e Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2efaad86b5cdd0f6d70436fa304a567df8a3cf6c Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Thu Oct 1 14:37:39 2015 -0400 i40e: Fix an incorrect OEM version string This patch fixes a problem where the driver output of the OEM version string varied from the other tools. The mask value and the order of operations were incorrect, per the original change request. Without this patch, the version string will appear incorrect from the driver. Change-ID: Ie1ca6485284b4ce3b57e5a99b18b7641617c7ef7 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 58fc3267f151f6facfc94c6982bef09a53bb5219 Author: Helin Zhang <helin.zhang@xxxxxxxxx> Date: Thu Oct 1 14:37:38 2015 -0400 i40e: fix inconsistent statuses after a PF reset This patch fixes a problem of possibly getting inconsistent flow control statuses after a PF reset. Requested_mode was being set with a default value during probing, but the initial HW state could be different from this mode. Change-ID: I772bf07b78616e87086418d4bd87954b66fa17cd Signed-off-by: Helin Zhang <helin.zhang@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 40d01366e6dd5ef1cb3505f11b2d208cfa3632f3 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Oct 1 14:37:37 2015 -0400 i40evf: use correct struct for list manipulation Not sure how this compiles at all. Use the correct struct for manipulating the VLAN filter list. Without this, the VLAN filter list doesn't get processed correctly, and VLAN filters will not be re-enabled after any kind of reset. Change-ID: Iceff2dc089f303058fb71ecb08419eed471e0e90 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 09603eaa5ca91dd9a318d8722ff5de8feb1e36ab Author: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Date: Thu Oct 1 14:37:36 2015 -0400 i40e: Fix VEB/VEPA bridge mode mismatch issue Fix i40e_is_vsi_uplink_mode_veb to check if bridge is actually in VEB mode before allowing LB in the add VSI routine, instead of unconditionally returning VEB bridge mode. Change-ID: I162397b1bdd02367735fe9baaeb51465be2a3ce9 Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 10dc0358e802ea60f95432f89c8dd051767fc06f Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Oct 1 14:37:35 2015 -0400 i40e: fix a bug in debugfs with add/del macaddr The new code flow requires us to grab the filter list lock before adding/deleting the filter. Change-ID: I4eaef508ab4da2d1b2e23f20f2a78d931d5b6aeb 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 e7358f54a3954df16d4f87e3cad35063f1c17de5 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Oct 1 14:37:34 2015 -0400 i40e/i40evf: Add a workaround to drop all flow control frames This patch adds a workaround to drop any flow control frames from being transmitted from any VSI. FW can still send flow control frames if flow control is enabled. With this patch in place a malicious VF cannot send flow control or PFC packets out on the wire. Change-ID: I4303b24e98b93066d2767fec24dfe78be591c277 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 ab319939a58678c19a68ff10c8a08cef462a3ba6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 00:24:30 2015 +0100 cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver As the driver doesn't support unbinding, nor does it support arbitary binding of devices, disable the bind/unbind attributes for this driver. Also, as the driver has no remove function, it can never be modular, so use builtin_platform_driver() to avoid the module exit boilerplate. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit da1a64f80d8946d51744e48d0ba138c1b17a4852 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 00:24:25 2015 +0100 cpuidle: mvebu: clean up multiple platform drivers There's no need to use multiple platform drivers, especially when we want to do something different in the probe, but we still use a common probe function. We can use the platform ID system to only register one platform driver, but have it match several devices, and give us the CPU idle driver via the ID's driver_data. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 1acea4f6ce1b1c0941438aca75dd2e5c6b09db60 Author: Guillaume Nault <g.nault@xxxxxxxxxxxx> Date: Thu Oct 22 16:57:10 2015 +0200 ppp: fix pppoe_dev deletion condition in pppoe_release() We can't rely on PPPOX_ZOMBIE to decide whether to clear po->pppoe_dev. PPPOX_ZOMBIE can be set by pppoe_disc_rcv() even when po->pppoe_dev is NULL. So we have no guarantee that (sk->sk_state & PPPOX_ZOMBIE) implies (po->pppoe_dev != NULL). Since we're releasing a PPPoE socket, we want to release the pppoe_dev if it exists and reset sk_state to PPPOX_DEAD, no matter the previous value of sk_state. So we can just check for po->pppoe_dev and avoid any assumption on sk->sk_state. Fixes: 2b018d57ff18 ("pppoe: drop PPPOX_ZOMBIEs in pppoe_release") Signed-off-by: Guillaume Nault <g.nault@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6b8dec99865ea906150e963eacbfd037b579ee9 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Oct 22 11:35:05 2015 +0800 af_key: fix two typos Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0aaafaabfcba8aa991913cd3280a5dbf7f111a2a Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Oct 23 11:50:08 2015 +0200 sched/core: Add missing lockdep_unpin() annotations Luca and Wanpeng reported two missing annotations that led to false lockdep complaints. Add the missing annotations. Reported-by: Luca Abeni <luca.abeni@xxxxxxxx> Reported-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: cbce1a686700 ("sched,lockdep: Employ lock pinning") Link: http://lkml.kernel.org/r/20151023095008.GY17308@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 66ef950d1841487c852d68d00977726f1cd9f053 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Oct 23 11:57:13 2015 +0200 iommu/vt-d: Propagate error-value from ir_parse_ioapic_hpet_scope() Propagate the error-value from the function ir_parse_ioapic_hpet_scope() in parse_ioapics_under_ir() and cleanup its calling loop. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 20a41fba679d665cdae2808e2b9cae97c073351f Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Oct 21 15:37:05 2015 -0500 amd-xgbe: Use wmb before updating current descriptor count The code currently uses the lightweight dma_wmb barrier before updating the current descriptor count. Under heavy load, the Tx cleanup routine was seeing the updated current descriptor count before the updated descriptor information. As a result, the Tx descriptor was being cleaned up before it was used because it was not "owned" by the hardware yet, resulting in a Tx queue hang. Using the wmb barrier insures that the descriptor is updated before the descriptor counter preventing the Tx queue hang. For extra insurance, the Tx cleanup routine is changed to grab the current decriptor count on entry and uses that initial value in the processing loop rather than trying to chase the current value. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Tested-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2fd719bcb0e83cb39cfee22ee800f98a56eceb3 Author: Nathan Sullivan <nathan.sullivan@xxxxxx> Date: Wed Oct 21 14:17:04 2015 -0500 net/phy: micrel: Add workaround for bad autoneg Very rarely, the KSZ9031 will appear to complete autonegotiation, but will drop all traffic afterwards. When this happens, the idle error count will read 0xFF after autonegotiation completes. Reset the PHY when in that state. Signed-off-by: Nathan Sullivan <nathan.sullivan@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b1311807f3d3eb8bef3ccc53127838b3bea3771 Author: Paolo Abeni <pabeni@xxxxxxxxxx> Date: Tue Oct 20 10:28:45 2015 +0200 ipv4: implement support for NOPREFIXROUTE ifa flag for ipv4 address Currently adding a new ipv4 address always cause the creation of the related network route, with default metric. When a host has multiple interfaces on the same network, multiple routes with the same metric are created. If the userspace wants to set specific metric on each routes, i.e. giving better metric to ethernet links in respect to Wi-Fi ones, the network routes must be deleted and recreated, which is error-prone. This patch implements the support for IFA_F_NOPREFIXROUTE for ipv4 address. When an address is added with such flag set, no associated network route is created, no network route is deleted when said IP is gone and it's up to the user space manage such route. Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a13c8f27e4d79420ae7bcb48123fa13851026428 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Thu Oct 22 14:00:51 2015 +0800 iommu/vt-d: Adjust the return value of the parse_ioapics_under_ir Adjust the return value of parse_ioapics_under_ir as negative value representing failure and "0" representing succcess. Just make it consistent with other function implementations, and we can judge if calling is successfull by if (!parse_ioapics_under_ir()) style. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a2c01ed5d46f0686c52272e09f7d2f5be9f573fd Merge: d0ddf98 8832317 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:49:51 2015 +0900 Merge tag 'powerpc-4.3-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixes from Michael Ellerman: - Revert "Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8" from Paul - Handle irq_happened flag correctly in off-line loop from Paul - Validate rtas.entry before calling enter_rtas() from Vasant * tag 'powerpc-4.3-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc/rtas: Validate rtas.entry before calling enter_rtas() powerpc/powernv: Handle irq_happened flag correctly in off-line loop powerpc: Revert "Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8" commit ec3661b42257d9a06cf0d318175623ac7a660113 Merge: c80dbe0 b72a2b0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 23 02:49:41 2015 -0700 Merge branch 'ipv6-overflow-arith' Hannes Frederic Sowa says: ==================== overflow-arith: begin to add support for overflow builtins functions I add a new header, linux/overflow-arith.h, as the central place to add overflow and wrap-around checking functions. The reason I am doing so is that it can make use of compiler supported builtin functions which can leverage hardware. As I need this for a fix in the ipv6 stack, which is also included in this series, I propose to add it sooner than later over Davem's net tree. This is also the reason why I start slowly with only the one function I need at this time. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b72a2b01b686f242028038f630555513c9e4de38 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 11:32:43 2015 +0200 ipv6: protect mtu calculation of wrap-around and infinite loop by rounding issues Raw sockets with hdrincl enabled can insert ipv6 extension headers right into the data stream. In case we need to fragment those packets, we reparse the options header to find the place where we can insert the fragment header. If the extension headers exceed the link's MTU we actually cannot make progress in such a case. Instead of ending up in broken arithmetic or rounding towards 0 and entering an endless loop in ip6_fragment, just prevent those cases by aborting early and signal -EMSGSIZE to user space. Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79907146fb5b1778035870db895fb2bf64061284 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 11:32:42 2015 +0200 overflow-arith: begin to add support for overflow builtin functions The idea of the overflow-arith.h header is to collect overflow checking functions in one central place. If gcc compiler supports the __builtin_overflow_* builtins we use them because they might give better performance, otherwise the code falls back to normal overflow checking functions. The builtin_overflow functions are supported by gcc-5 and clang. The matter of supporting clang is to just provide a corresponding CC_HAVE_BUILTIN_OVERFLOW, because the specific overflow checking builtins don't differ between gcc and clang. I just provide overflow_usub function here as I intend this to get merged into net, more functions will definitely follow as they are needed. Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c80dbe04612986fd6104b4a1be21681b113b5ac9 Author: Andrew Shewmaker <agshew@xxxxxxxxx> Date: Sun Oct 18 21:59:08 2015 -0700 tcp: allow dctcp alpha to drop to zero If alpha is strictly reduced by alpha >> dctcp_shift_g and if alpha is less than 1 << dctcp_shift_g, then alpha may never reach zero. For example, given shift_g=4 and alpha=15, alpha >> dctcp_shift_g yields 0 and alpha remains 15. The effect isn't noticeable in this case below cwnd=137, but could gradually drive uncongested flows with leftover alpha down to cwnd=137. A larger dctcp_shift_g would have a greater effect. This change causes alpha=15 to drop to 0 instead of being decrementing by 1 as it would when alpha=16. However, it requires one less conditional to implement since it doesn't have to guard against subtracting 1 from 0U. A decay of 15 is not unreasonable since an equal or greater amount occurs at alpha >= 240. Signed-off-by: Andrew G. Shewmaker <agshew@xxxxxxxxx> Acked-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab997ad408394bcaf7f3015d4c4e38047eaf2ad6 Author: lucien <lucien.xin@xxxxxxxxx> Date: Fri Oct 23 15:36:53 2015 +0800 ipv6: fix the incorrect return value of throw route The error condition -EAGAIN, which is signaled by throw routes, tells the rules framework to walk on searching for next matches. If the walk ends and we stop walking the rules with the result of a throw route we have to translate the error conditions to -ENETUNREACH. Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0ddf980d6efdcee6c7a85eb0f27baa6b60eeff6 Merge: 2c44f4f 55f4129 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:38:00 2015 +0900 Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Arnd Bergmann: "Most of the changes this time are for incorrect device nodes in various ways, on on imx, berlin, exynos, ux500, uniphier, omap and meson. Chen-Yu Tsai now co-maintains mach-sunxi (Allwinner). Other bug fixes include - a partial revert of a broken tegra gpio patch - irq affinity for arm ccn - suspend on one Armada 385 machine - enable ZONE_DMA to avoid an OMAP crash for over 2GB RAM - turning on a regulator on beagleboard-x15 for HDMI - making the omap gpmc debug code visible - setup of orion network switch - a rare build regression for pxa" * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits) ARM: OMAP2+: Fix imprecise external abort caused by bogus SRAM init thermal: exynos: Fix register read in TMU ARM: OMAP2+: Fix oops with LPAE and more than 2GB of memory ARM: tegra: Comment out gpio-ranges properties ARM: dts: uniphier: fix IRQ number for devices on PH1-LD6b ref board drivers/perf: arm_pmu: avoid CPU device_node reference leak bus: arm-ccn: Fix irq affinity setting on CPU migration bus: arm-ccn: Handle correctly no-more-cpus case ARM: mvebu: correct a385-db-ap compatible string ARM: meson6: DTS: Fix wrong reg mapping and IRQ numbers MAINTAINERS: Update Allwinner entry and add new maintainer ARM: ux500: modify initial levelshifter status ARM: pxa: fix pxa3xx DFI lockup hack Documentation: ARM: List new omap MMC requirements memory: omap-gpmc: dump "before" state before first modification memory: omap-gpmc: Fix unselectable debug option for GPMC ARM: dts: am57xx-beagle-x15: set VDD_SD to always-on ARM: dts: Fix audio card detection on Peach boards ARM: EXYNOS: Fix double of_node_put() when parsing child power domains ARM: orion: Fix DSA platform device after mvmdio conversion ... commit f23d538bc24a83c16127c2eb82c9cf1adc2b5149 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Oct 23 00:57:05 2015 -0400 macvtap: unbreak receiving of gro skb with frag list We don't have fraglist support in TAP_FEATURES. This will lead software segmentation of gro skb with frag list. Fixes by having frag list support in TAP_FEATURES. With this patch single session of netperf receiving were restored from about 5Gb/s to about 12Gb/s on mlx4. Fixes a567dd6252 ("macvtap: simplify usage of tap_features") Cc: Vlad Yasevich <vyasevic@xxxxxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c44f4f03574a3754306b5a8a80b9ed38a795104 Merge: 8a990fb ad355e3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:32:29 2015 +0900 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull KVM bugfixes from Paolo Bonzini: "Bug fixes for ARM, mostly 4.3 regressions related to virtual interrupt controller changes" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: arm/arm64: KVM: Fix disabled distributor operation arm/arm64: KVM: Clear map->active on pend/active clear arm/arm64: KVM: Fix arch timer behavior for disabled interrupts KVM: arm: use GIC support unconditionally KVM: arm/arm64: Fix memory leak if timer initialization fails KVM: arm/arm64: Do not inject spurious interrupts commit 8a990fb47b4c93653745512eca7d2d210678e6c1 Merge: 0122835 1904be1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:24:33 2015 +0900 Merge tag 'trace-fixes-v4.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fixes from Steven Rostedt: "Running tests on other changes, the system locked up due to lots of warnings. It was caused by the stack tracer triggering a warning about using rcu_dereference() when RCU was not watching. This can happen due to the fact that the stack tracer uses the function tracer to check each function, and there are functions that may be called and traced when RCU stopped watching. Namely when a function is called just before going idle or to userspace and after RCU stopped watching that current CPU. The first patch makes sure that RCU is watching when the stack tracer uses RCU. The second patch is to make sure that the stack tracer does not get called by functions in NMI, as it's not NMI safe" * tag 'trace-fixes-v4.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Do not allow stack_tracer to record stack in NMI tracing: Have stack tracer force RCU to be watching commit 0122835a020a9f5c007b3a49ea9b5f1ac68fc7c7 Merge: 45d80f1 b9b6e4a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:21:55 2015 +0900 Merge tag 'sound-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "There is nothing to worry you much, only a few small & stable patches are found for usual stuff, HD-audio (a Lenovo laptop quirk, a fix for minor error handling) and ASoC (trivial fixes for RT298 and WM codecs). The only remaining major change is the fix for ASoC SX_TLV control that was overseen during refactoring, but the fix itself is trivial and safe" * tag 'sound-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ASoC: wm8962: mark cache_dirty flag after software reset in pm_resume ASoC: rt298: fix wrong setting of gpio2_en ASoC: wm8904: Correct number of EQ registers ALSA: hda - Fix deadlock at error in building PCM ASoC: Add info callback for SX_TLV controls ASoC: rt298: correct index default value ALSA: hda - Fix inverted internal mic on Lenovo G50-80 ALSA: hdac: Explicitly add io.h commit 45d80f168d2727f60bf1de64536f4ba62f303130 Merge: a67b20d 56ea37d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:15:20 2015 +0900 Merge tag 'media/v4.3-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media fixes from Mauro Carvalho Chehab: "Some regression fixes and potential security issues: - netup_unidvb: fix potential crash when spi is NULL - rtl28xxu: fix control message flaws - m88ds3103: fix a regression on Kernel 4.2 - c8sectpfe: fix some issues on this new driver - v4l2-flash-led-class: fix a Kbuild dependency - si2157 and si2158: check for array boundary when uploading firmware files - horus3a and lnbh25: fix some building troubles when some options aren't selected - ir-hix5hd2: drop the use of IRQF_NO_SUSPEND" * tag 'media/v4.3-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] m88ds3103: use own reg update_bits() implementation [media] rtl28xxu: fix control message flaws [media] v4l2-flash-led-class: Add missing VIDEO_V4L2 Kconfig dependency [media] netup_unidvb: fix potential crash when spi is NULL [media] si2168: Bounds check firmware [media] si2157: Bounds check firmware [media] ir-hix5hd2: drop the use of IRQF_NO_SUSPEND [media] c8sectpfe: fix return of garbage [media] c8sectpfe: fix ininitialized error return on firmware load failure [media] lnbh25: Fix lnbh25_attach() function return type [media] horus3a: Fix horus3a_attach() function parameters commit a67b20d24c9ed3719146c9a5e95937c38c89e16a Merge: 8a70dd2 c50f13f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 23 18:08:22 2015 +0900 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "I've been a bit slow gathering these: - drm/mst: one mutex leak in a fail path - radeon: two oops fixes, one dpm fix - i915: one messy set of fixes, where we revert the original fix, and pull back the proper set of fixes from -next on top. - nouveau: one fix for an illegal buffer placement. Doesn't look too bad, hopefully shouldn't be too much more" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/nouveau/gem: return only valid domain when there's only one drm: fix mutex leak in drm_dp_get_mst_branch_device drm/amdgpu: add missing dpm check for KV dpm late init drm/amdgpu/dpm: don't add pwm attributes if DPM is disabled drm/radeon/dpm: don't add pwm attributes if DPM is disabled drm/i915: Add primary plane to mask if it's visible drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() drm/i915: Assign hwmode after encoder state readout Revert "drm/i915: Add primary plane to mask if it's visible" drm/i915: Deny wrapping an userptr into a framebuffer drm/i915: Enable DPLL VGA mode before P1/P2 divider write drm/i915: Restore lost DPLL register write on gen2-4 drm/i915: Flush pipecontrol post-sync writes drm/i915: Fix kerneldoc for i915_gem_shrink_all commit 121432c7a02f3818eefcad88c9ec428b7139b84a Author: Eric Anholt <eric@xxxxxxxxxx> Date: Fri Oct 9 14:27:47 2015 -0700 ARM: bcm2835: Add the DDC I2C controller to the device tree. We need to use it for getting video modes over HDMI. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> commit 94cb7f76caa0b337acea7c9442a75083a0712c18 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Sep 28 14:22:05 2015 -0700 ARM: bcm2835: Switch to using the new clock driver support. This will give us the ability to set the pixel and HDMI state machine clocks for the VC4 KMS driver, change the CPU frequency, and potentially gate clocks in the future (once we also write a power domain driver). It also gives the uart an explicit clock reference, so that we don't need to change the physical addresses of the old fixed clk_bcm2835.c clocks for Raspberry Pi 2 port. Two clocks get their frequencies updated as a result of this. One is uart's apb_pclk, which was previously accidentally grabbing the fixed uart0_pclk due to the apb_pclk not having clk_register_clkdev() called. The uart doesn't seem to do anything with apb_pclk other than make sure it's on, so that appears safe (also, as far as I can see, the apb clock is actually the same as the VPU clock). The other is EMMC, which according to the docs was supposed to be in the 50-100Mhz range, but it turns out the firmware needed to change to running it at the 250Mhz core clock speed to avoid a bug in clock domain crossing. Additionally, anything using BCM2835_CLOCK_VPU will now have a correct clock rate if the user configures the boot-time core clock speed using config.txt. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> commit 83e7f6e16e796a23028a67211424189e9f14e54f Merge: 1cd99ab 41691b8 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Wed Oct 14 15:37:10 2015 -0700 Merge remote-tracking branch 'clk/clk-bcm2835' into bcm2835-dt-next The DT changes for enabling the clock driver on 2835 require that the clock driver be present. Stephen Boyd has said that these commits would be stable for merging. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit b67de018b37a97548645a879c627d4188518e907 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Oct 22 13:32:29 2015 -0700 ocfs2/dlm: unlock lockres spinlock before dlm_lockres_put dlm_lockres_put will call dlm_lockres_release if it is the last reference, and then it may call dlm_print_one_lock_resource and take lockres spinlock. So unlock lockres spinlock before dlm_lockres_put to avoid deadlock. Signed-off-by: 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 bb387002693ed28b2bb0408c5dec65521b71e5f1 Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Oct 22 13:32:27 2015 -0700 fault-inject: fix inverted interval/probability values in printk interval displays the probability and vice versa. Fixes: 6adc4a22f20bb ("fault-inject: add ratelimit option") Acked-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3f181b4d8652f7bcd7e9932c7307b8ecd4d87cf6 Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Thu Oct 22 13:32:24 2015 -0700 lib/Kconfig.debug: disable -Wframe-larger-than warnings with KASAN=y When the kernel compiled with KASAN=y, GCC adds redzones for each variable on stack. This enlarges function's stack frame and causes: 'warning: the frame size of X bytes is larger than Y bytes' The worst case I've seen for now is following: ../net/wireless/nl80211.c: In function `nl80211_send_wiphy': ../net/wireless/nl80211.c:1731:1: warning: the frame size of 5448 bytes is larger than 2048 bytes [-Wframe-larger-than=] That kind of warning becomes useless with KASAN=y. It doesn't necessarily indicate that there is some problem in the code, thus we should turn it off. (The KASAN=y stack size in increased from 16k to 32k for this reason) Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Abylay Ospan <aospan@xxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Cc: Kozlov Sergey <serjk@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 296291cdd1629c308114504b850dc343eabc2782 Author: Jan Kara <jack@xxxxxxxx> Date: Thu Oct 22 13:32:21 2015 -0700 mm: make sendfile(2) killable Currently a simple program below issues a sendfile(2) system call which takes about 62 days to complete in my test KVM instance. int fd; off_t off = 0; fd = open("file", O_RDWR | O_TRUNC | O_SYNC | O_CREAT, 0644); ftruncate(fd, 2); lseek(fd, 0, SEEK_END); sendfile(fd, fd, &off, 0xfffffff); Now you should not ask kernel to do a stupid stuff like copying 256MB in 2-byte chunks and call fsync(2) after each chunk but if you do, sysadmin should have a way to stop you. We actually do have a check for fatal_signal_pending() in generic_perform_write() which triggers in this path however because we always succeed in writing something before the check is done, we return value > 0 from generic_perform_write() and thus the information about signal gets lost. Fix the problem by doing the signal check before writing anything. That way generic_perform_write() returns -EINTR, the error gets propagated up and the sendfile loop terminates early. Signed-off-by: Jan Kara <jack@xxxxxxxx> Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 47aee4d8e314384807e98b67ade07f6da476aa75 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Thu Oct 22 13:32:19 2015 -0700 thp: use is_zero_pfn() only after pte_present() check Use is_zero_pfn() on pteval only after pte_present() check on pteval (It might be better idea to introduce is_zero_pte() which checks pte_present() first). Otherwise when working on a swap or migration entry and if pte_pfn's result is equal to zero_pfn by chance, we lose user's data in __collapse_huge_page_copy(). So if you're unlucky, the application segfaults and finally you could see below message on exit: BUG: Bad rss-counter state mm:ffff88007f099300 idx:2 val:3 Fixes: ca0984caa823 ("mm: incorporate zero pages into transparent huge pages") Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [4.1+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8fa0efa01109e294e9be610465c324f771cb5ba Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 22 13:32:16 2015 -0700 mailmap: update Javier Martinez Canillas' email The get_maintainer script still reports my old Collabora email based on old commits but that address no longer exist so update mailmap to report my current email and avoid people sending to the old address. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 41192a2d6a7f4cd6af9fc2f8edbbf24b2694f2f6 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Oct 22 13:32:13 2015 -0700 MAINTAINERS: add Sergey as zsmalloc reviewer Nominate myself as a zsmalloc reviewer. 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 67a2e213e7e937c41c52ab5bc46bf3f4de469f6e Author: Rohit Vaswani <rvaswani@xxxxxxxxxxxxxx> Date: Thu Oct 22 13:32:11 2015 -0700 mm: cma: fix incorrect type conversion for size during dma allocation This was found during userspace fuzzing test when a large size dma cma allocation is made by driver(like ion) through userspace. show_stack+0x10/0x1c dump_stack+0x74/0xc8 kasan_report_error+0x2b0/0x408 kasan_report+0x34/0x40 __asan_storeN+0x15c/0x168 memset+0x20/0x44 __dma_alloc_coherent+0x114/0x18c Signed-off-by: Rohit Vaswani <rvaswani@xxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5211613978cb7353a3237e4372958c0e7514683f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 22 13:32:08 2015 -0700 kmod: don't run async usermode helper as a child of kworker thread call_usermodehelper_exec_sync() does fork() + wait() with "unignored" SIGCHLD. What we have missed is that this worker thread can have other children previously forked by call_usermodehelper_exec_work() without UMH_WAIT_PROC. If such a child exits in between it becomes a zombie because auto-reaping only works if SIGCHLD is ignored, and nobody can reap it (unless/until this worker thread exits too). Change the !UMH_WAIT_PROC case to use CLONE_PARENT. Note: this is only first step. All PF_KTHREAD tasks, even created by kernel_thread() should have ->parent == kthreadd by default. Fixes: bb304a5c6fc63d8506c ("kmod: handle UMH_WAIT_PROC from system unbound workqueue") Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Rik van Riel <riel@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 80fcd45ee05b4ef05e61d37a5ffb70a67095a9f6 Merge: 4ba792e f06cff7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Oct 23 10:25:57 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: - The default for callchains is back to 'callee' when --children is not used. (Namhyung Kim) - Move the 'use_offset' option to the right place where the annotate code expects it to be to be able to properly handle it. (Namhyung Kim) - Don't die when an unknown 'annotate' option is found in the perf config file (usually ~/.perfconfig), just warn the user. (Arnaldo Carvalho de Melo) Infrastructure changes: - Support %ps/%pS in libtraceevent. (Scott Wood) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3f84ccf62c9fdd39d2cb1caa725663191c817b65 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Oct 16 09:46:12 2015 +0200 pinctrl: sunxi: Add irq pinmuxing to sun6i "r" pincontroller Add pinmuxing for external interrupt functionality through the sun6i "r" pincontroller. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8297992cad599e8a214e65959ccdde51738fe5a2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Oct 16 09:46:11 2015 +0200 pinctrl: sunxi: Fix irq_of_xlate for the r_pio pinctrl block The r_pio gpio / pin controller has a pin_base of non 0, we need to adjust for this before calling sunxi_pinctrl_desc_find_function_by_pin. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ec7aa963bf81803b70b7da71bf79943ae5b9c531 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Mon Oct 19 09:42:21 2015 -0700 Input: xen - check return value of xenbus_printf Internally, xenbus_printf uses memory allocation, so it can fail under memory pressure, leaving the input device configured as absolute with the backend supplying relative coordinates. Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Reviewed-by: Julien Grall <julien.grall@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ba564e789761368b44be1362ace576831778d371 Author: WEN Pingbo <pingbo.wen@xxxxxxxxxx> Date: Sun Oct 18 16:33:47 2015 -0700 Input: hp_sdc_rtc - fix y2038 problem in proc_show hp_sdc_rtc_proc_show() use timeval to store the time, which will overflow in 2038. This patch fixes this problem by replacing timeval with timespec64. hp_sdc_rtc_proc_show() only output string, so that userspace will work normally if we apply this patch. Not all timer in i8042 have y2038 risk(handshake, match timer, etc), Replacements in those timer are just for consistency. Signed-off-by: WEN Pingbo <pingbo.wen@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2e9776e0c82b4bbf7d50fd6669080ab691156cea Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Oct 20 09:40:42 2015 -0700 Input: nomadik-ske-keypad - fix a trivial typo s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a5ea06d0bc123cc7f49d042fab60ddd3964764c8 Author: Karsten Merker <merker@xxxxxxxxxx> Date: Fri Oct 23 11:50:41 2015 +0800 ARM: dts: sun6i: Add dts file for MSI Primo81 tablet The MSI Primo81 is an A31s based tablet, with 1G RAM, 16G NAND, 768x1024 IPS LCD display, mono speaker, 0.3 MP front camera, 2.0 MP rear camera, 3500 mAh battery, gt911 touchscreen, mma8452 accelerometer and rtl8188etv usb wifi. Has "power", "volume+" and "volume-" buttons (both volume buttons are also connected to the UBOOT_SEL pin). The external connectors are represented by MicroSD slot, MiniHDMI, MicroUSB OTG and 3.5mm headphone jack. USB OTG is enabled in host only mode. AXP221 USB power supply and GPIO support are required for full USB OTG support. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Karsten Merker <merker@xxxxxxxxxx> Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c0949308dd47d74b6525ef4bae638869c0a58754 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Oct 23 11:50:40 2015 +0800 ARM: dts: sun6i: Add simplefb node labels to reference at board level Some boards, such as tablets, have regulators providing power to parts of the display pipeline, like signal converters and LCD panels. Add labels to the simplefb device nodes so that we can reference them in the board dts files to add regulator supply properties. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cb866e3298cd7412503fc7e2c265753c853fab9d Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Date: Fri Oct 23 07:52:58 2015 +0200 xfrm: Increment statistic counter on inner mode error Increment the LINUX_MIB_XFRMINSTATEMODEERROR statistic counter to notify about dropped packets if we fail to fetch a inner mode. Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 8e3c5952144f045a0c81bf674d3f5e1d9aafceb7 Author: Dave Gerlach <d-gerlach@xxxxxx> Date: Tue Sep 22 19:14:52 2015 -0500 mailbox/omap: Add ti,mbox-send-noirq quirk to fix AM33xx CPU Idle The mailbox framework controls the transmission queue and requires either its controller implementations or clients to run the state machine for the Tx queue. The OMAP mailbox controller uses a Tx-ready interrupt as the equivalent of a Tx-done interrupt to run this Tx queue state-machine. The WkupM3 processor on AM33xx and AM43xx SoCs is used to offload certain PM tasks, like doing the necessary operations for Device PM suspend/resume or for entering lower c-states during cpuidle. The CPUIdle on AM33xx requires the messages to be sent without having to trigger the Tx-ready interrupts, as the interrupt would immediately terminate the CPUIdle operation. Support for this has been added by introducing a DT quirk, "ti,mbox-send-noirq" and using it to modify the normal OMAP mailbox controller behavior on the sub-mailboxes used to communicate with the WkupM3 remote processor. This also requires the wkup_m3_ipc driver to adjust its mailbox usage logic to run the Tx state machine. NOTE: - AM43xx does not communicate with WkupM3 for CPU Idle, so is not affected by this behavior. But, it uses the same IPC driver for PM suspend/resume functionality, so requires the quirk as well, because of changes to the common wkup_m3_ipc driver. Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> [s-anna@xxxxxx: revise logic and update comments/patch description] Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit a133f8b65d591101e48336050ceb7e2f51026502 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Oct 20 17:11:27 2015 +0100 mailbox: mailbox-test: Correctly repair Sparse warnings Kbuild test robot reported some Sparse warnings to the tune of: sparse: incorrect type in argument 6 (different address spaces) expected void const *buf got void [noderef] <asn:2>*mmio This was due to passing variables tagged with the Sparse cookie '__iomem' through into memcpy() and print_hex_dump() without adequate protection or casting. These issues were fixed in a previous patch suppressing the warnings, but the issue is indeed still present. This patch fixes the warnings in the correct way, i.e. by using the purposely authored memcpy_{from,to}io() derivatives in the memcpy() case and casting the memory address to (void *) and forcing Sparse to ignore to ignore it in the print_hex_dump() case [NB: This is also what the memcpy() derivatives do]. Reported-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit ea673a4d3a337184f3c314dcc6300bf02f39e077 Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Date: Fri Oct 23 07:32:39 2015 +0200 xfrm4: Reload skb header pointers after calling pskb_may_pull. A call to pskb_may_pull may change the pointers into the packet, so reload the pointers after the call. Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 1a14f1e5550a341f76e5c8f596e9b5f8a886dfbc Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Date: Fri Oct 23 07:31:23 2015 +0200 xfrm4: Fix header checks in _decode_session4. We skip the header informations if the data pointer points already behind the header in question for some protocols. This is because we call pskb_may_pull with a negative value converted to unsigened int from pskb_may_pull in this case. Skipping the header informations can lead to incorrect policy lookups, so fix it by a check of the data pointer position before we call pskb_may_pull. Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 274035751e25ee15a064e43cde7b4e7a9b75d921 Merge: 53e597b a5be88f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Oct 23 06:57:50 2015 +0200 Merge branch 'topic/hw-constraint-single' into for-next commit b9b6e4ac2da74995cb7ac9394854a5fd563014c2 Merge: d289619 f69eccc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Oct 23 06:56:56 2015 +0200 Merge tag 'asoc-fix-v4.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v4.3 A bunch of driver fixes plus one core fix which fixes problems with misreporting values from _SX controls following a recent refactoring. This had gone unnoticed as such controls are quite rare. commit e33d4f13d21e9f604194ebc8730077ff39916c50 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Oct 21 11:48:25 2015 -0400 xfrm: Fix unaligned access to stats in copy_to_user_state() On sparc, deleting established SAs (e.g., by restarting ipsec) results in unaligned access messages via xfrm_del_sa -> km_state_notify -> xfrm_send_state_notify(). Even though struct xfrm_usersa_info is aligned on 8-byte boundaries, netlink attributes are fundamentally only 4 byte aligned, and this cannot be changed for nla_data() that is passed up to userspace. As a result, the put_unaligned() macro needs to be used to set up potentially unaligned fields such as the xfrm_stats in copy_to_user_state() Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 2c7693e081ab86e70931b2d05dbdbbdfab5086a3 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Oct 22 23:21:46 2015 -0500 clk: qoriq: Fix wrong data in p2041_cmux_grp2 Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit d9e1831a420267a7ced708bb259d65b0a3c0344d Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:09 2015 -0500 powerpc/85xx: Load all early TLB entries at once Use an AS=1 trampoline TLB entry to allow all normal TLB1 entries to be loaded at once. This avoids the need to keep the translation that code is executing from in the same TLB entry in the final TLB configuration as during early boot, which in turn is helpful for relocatable kernels (e.g. kdump) where the kernel is not running from what would be the first TLB entry. On e6500, we limit map_mem_in_cams() to the primary hwthread of a core (the boot cpu is always considered primary, as a kdump kernel can be entered on any cpu). Each TLB only needs to be set up once, and when we do, we don't want another thread to be running when we create a temporary trampoline TLB1 entry. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit c56d4450eb6886225a5a0bb231ad2cea9f03284a Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Sun Oct 18 19:55:04 2015 +0530 PCI: Turn off Request Attributes to avoid Chelsio T5 Completion erratum The Chelsio T5 has a PCIe compliance erratum that causes Malformed TLP or Unexpected Completion errors in some systems, which may cause device access timeouts. Per PCIe r3.0, sec 2.2.9, "Completion headers must supply the same values for the Attribute as were supplied in the header of the corresponding Request, except as explicitly allowed when IDO is used." Instead of copying the Attributes from the Request to the Completion, the T5 always generates Completions with zero Attributes. The receiver of a Completion whose Attributes don't match the Request may accept it (which itself seems non-compliant based on sec 2.3.2), or it may handle it as a Malformed TLP or an Unexpected Completion, which will probably lead to a device access timeout. Work around this by disabling "Relaxed Ordering" and "No Snoop" in the Root Port so it always generate Requests with zero Attributes. This does affect all other devices which are downstream of that Root Port, but these are performance optimizations that should not make a functional difference. Note that Configuration Space accesses are never supposed to have TLP Attributes, so we're safe waiting till after any Configuration Space accesses to do the Root Port "fixup". Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> [bhelgaas: changelog, comments, rename to pci_find_pcie_root_port(), rework to use pci_upstream_bridge() and check for Root Port device type, edit diagnostics to clarify intent and devices affected] Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit fc4099f17240767554ff3a73977acb78ef615404 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Thu Oct 22 18:17:16 2015 -0700 openvswitch: Fix egress tunnel info. While transitioning to netdev based vport we broke OVS feature which allows user to retrieve tunnel packet egress information for lwtunnel devices. Following patch fixes it by introducing ndo operation to get the tunnel egress info. Same ndo operation can be used for lwtunnel devices and compat ovs-tnl-vport devices. So after adding such device operation we can remove similar operation from ovs-vport. Fixes: 614732eaa12d ("openvswitch: Use regular VXLAN net_device device"). Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0c050c58d840994ba842ad1c338a98e7c12b764 Author: Michael Chan <mchan@xxxxxxxxxxxx> Date: Thu Oct 22 16:01:17 2015 -0400 bnxt_en: New Broadcom ethernet driver. Broadcom ethernet driver for the new family of NetXtreme-C/E ethernet devices. v5: - Removed empty blank lines at end of files (noted by David Miller). - Moved busy poll helper functions to bnxt.h to at least make the .c file look less cluttered with #ifdef (noted by Stephen Hemminger). v4: - Broke up 2 long message strings with "\n" (suggested by John Linville) - Constify an array of strings (suggested by Stephen Hemminger) - Improve bnxt_vf_pciid() (suggested by Stephen Hemminger) - Use PCI_VDEVICE() to populate pci_device_id table for more compact source. v3: - Fixed 2 more sparse warnings. - Removed some unused structures in .h files. v2: - Fixed all kbuild test robot reported warnings. - Fixed many of the checkpatch.pl errors and warnings. - Fixed the Kconfig description (noted by Dmitry Kravkov). Acked-by: Eddie Wai <eddie.wai@xxxxxxxxxxxx> Acked-by: Jeffrey Huang <huangjw@xxxxxxxxxxxx> Signed-off-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a31adae0b2ab70127b2d5faa6a685e2ea70cc1b Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 16:54:31 2015 -0400 net: dsa: mv88e6xxx: remove debugfs interface It is preferable to have a common debugfs interface for DSA or switchdev instead of a driver specific one. Thus remove the mv88e6xxx debug code. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c472b9b391ecf9011d383956b322e72593d87b2 Merge: 8566b86 e9e5366 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 19:02:08 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2015-10-22 This series contains fixes to i40e only. Jesse provides two small fixes for i40e, first fixes counters that were being displayed incorrectly due to indexing beyond the array of strings when printing stats. Then fixed the fact that the driver was printing a message about not being able to assign VMDq because a lack of MSI-X vectors, when it was not true. It was due to a line missing that initialized a variable. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7e1bc3f5e70c5a106606e33cfa4d413459611ba Merge: 2b5f900 a9ee34b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 23 11:54:03 2015 +1000 Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next A bit smaller pull this time. Few minor things, plus initial support for msm8996 (snapdragon 820).. Sorry, a bit latish, was hoping to get some 8960/8064 DSI stuff included. But still waiting on the v2 of the patchset (just pending some minor review comments). It would be nice to get the DSI patches merged since it would help some folks trying to get upstream kernel running on n4/n7 and xperia z and wanting to write some more panel drivers. Also, waiting for OCMEM driver to get merged via other trees and then I have a small bit to go along with that to make the gpu actually work on devices w/ OCMEM (snapdragon 800, 805, etc). So maybe a second later pull req, time permitting. * 'msm-next' of git://people.freedesktop.org/~robclark/linux: drm/msm: Remove local fbdev emulation Kconfig option drm/msm/mdp5: Basic support for MDP5 v1.7 (MSM8996) drm/msm/mdp: Add Software Pixel Extension support drm/msm/mdp5: Use the newly introduced enum mdp_component_type drm/msm/hdmi: Add basic HDMI support for msm8996 drm/msm/mdp5: Avoid printing error messages for optional clocks drm/msm: Fix IOMMU clean up path in case msm_iommu_new() fails drm/msm/mdp5: remove the cfg pointer from SMP struct drm/msm/dsi: Updata LNn_CFG4 register settings for 28nm PHY drm: msm: dsi: Don't attempt changing voltage of switches drm/msm: update generated headers commit f504ab1888026d15b5be8f9c262bf4ae9cacd177 Author: Bjørn Mork <bjorn@xxxxxxx> Date: Thu Oct 22 14:24:24 2015 +0200 USB: qcserial: add Sierra Wireless MC74xx/EM74xx New device IDs shamelessly lifted from the vendor driver. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Acked-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8566b86ab9f0f45bc6f7dd422b21de9d0cf5415a Author: Jorgen Hansen <jhansen@xxxxxxxxxx> Date: Thu Oct 22 08:25:25 2015 -0700 VSOCK: Fix lockdep issue. The recent fix for the vsock sock_put issue used the wrong initializer for the transport spin_lock causing an issue when running with lockdep checking. Testing: Verified fix on kernel with lockdep enabled. Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Jorgen Hansen <jhansen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5ee0557c2058226a0d71fd0b22fe02c7de3b021 Merge: 9e43643 92944c4 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 18:25:45 2015 -0700 Merge tag 'usb-serial-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next Johan writes: USB-serial updates for v4.4-rc1 These updates generalise the option DTR/RTS handling so that all usb-wwan-based drivers can use it. This is specifically needed by some Sierra modems, which can now all be handled by qcserial again. Included are also some clean ups of the io_ti firmware handling. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 9e43643b11695911bb1dd585d9a9f758a5ad4d89 Merge: a4d8e93 851ce93 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 18:24:38 2015 -0700 Merge tag 'usb-ci-v4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-next Peter writes: USB Chipidea updates for v4.4-rc1 - Use extcon framework for VBUS and ID detect - Add imx6sx and imx7d support - Other small changes commit ba94c3ff20c9c179f2a80f0e4c71e1571ebbf5c7 Merge: a47c7a6 146aa8b Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Fri Oct 23 12:07:52 2015 +1100 Merge tag 'keys-next-20151021' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next commit e9e53662d8130dd950885e37dc1d97008e1283f9 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Oct 2 17:57:21 2015 -0700 i40e: fix annoying message The driver was printing a message about not being able to assign VMDq because of a lack of MSI-X vectors. This was because a line was missing that initialized a variable, simply a merge error. 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 74a6c66565f5f4eda4aaae53e2e325deeedeaca2 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Oct 2 19:09:34 2015 -0700 i40e: fix stats offsets The code was setting up stats that were not being initialized. This caused several counters to be displayed incorrectly, due to indexing beyond the array of strings when printing stats. 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 a4d8e93c3182a54d8d21a4d1cec6538ae1be9e16 Merge: ffa2366 81e9d14 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 17:19:33 2015 -0700 Merge tag 'usb-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next Felipe writes: usb: patches for v4.4 merge window This pull request is large with a total of 136 non-merge commits. Because of its size, we will only describe the big things in broad terms. Many will be happy to know that dwc3 is now almost twice as fast after some profiling and speed improvements. Also in dwc3, John Youn from Synopsys added support for their new DWC USB3.1 IP Core and the HAPS platform which can be used to validate it. A series of patches from Robert Baldyga cleaned up uses of ep->driver_data as a flag for "claimed endpoint" in favor of the new ep->claimed flag. Sudip Mukherjee fixed a ton of really old problems on the amd5536udc driver. That should make a few people happy. Heikki Krogerus worked on converting dwc3 to the unified device property interface. Together with these, there's a ton of non-critical fixes, typos and stuff like that. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ceb941afa5c38dae8e273089266c412d362c7963 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 22 16:44:43 2015 +0300 spi: pxa2xx: Align a few defines Add more indentation to define lines for making them aligned with the longest one. They would look messy after adding more long defines. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0e8972187971ac6c29a9e5899fa6c555c739237c Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 22 16:44:42 2015 +0300 spi: pxa2xx: Save other reg_cs_ctrl bits when configuring chip select Upcoming Intel platforms use LPSS SPI_CS_CONTROL register bits 15:12 for configuring the chip select polarities. Touch only chip select SW mode and state bits when enabling the software chip select control in order to not clear any other bits in the register. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3b8b6d05942ef5dd952674e7420600f762166e22 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 22 16:44:41 2015 +0300 spi: pxa2xx: Convert unique ID string of ACPI device as unsigned integer Andy noticed numeric unique device ID is unsigned integer so convert it using kstrtouint(). Actually integer in ACPI 2.0 and later is 64 bits litte-endian unsigned integer but quite certainly having so big value here would mean something extra than just the SPI bus number so it won't hurt to assume only lower 32 bits carry the bus number for now. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d2c2f6a47633a36bc8db8c802f7c284da36a7a53 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 22 16:44:40 2015 +0300 spi: pxa2xx: derive struct chip_data from struct drv_data Since we call pxa2xx_ssp_get_clk_div() from pump_transfers() we may derive pointer to struct chip_data from struct drv_data like it's done in the rest of the functions. This will make it less errorprone. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d74c4b1c61ecc5ad8158ac649245fdfc9601c1b5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 22 16:44:39 2015 +0300 spi: pxa2xx: move debug messages to pump_transfer() The speed can be changed from transfer to transfer, that's why the messages do not depict the actual values during ->setup(). Move debug messages from ->setup() to pump_transfers(). Get rid of leftovers as well. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 444c37aeee46db70ce01199863dc046fa68e88b7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Oct 22 10:43:23 2015 +0200 ASoC: fsl_sai: Constify rate constraints The rate constraints in this driver are shared between all device instances. It should not be (and is not) modified at runtime, so make them const. While we are at it also change the type of the rates array from u32 to unsigned int. While both resolve to the same type, u32 is usually used to empathize that the value is for a 32-bit hardware register or similar which makes it slightly confusing in this context. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7a5b8ba412b6217de8badaa52283588e50eeae08 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Oct 22 10:43:22 2015 +0200 ASoC: rx1950_uda1380: Constify rate constraints The rate constraints in this board driver are not modified at runtime, so make them const. While we are at it also remove the unnecessary 0 initializer for the mask field. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit de687fb133f7ede18f026feefbeab3106081148d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Oct 22 10:43:21 2015 +0200 ASoC: h1940_uda1380: Constify rate constraints The rate constraints in this board driver are not modified at runtime, so make them const. While we are at it also remove the unnecessary 0 initializer for the mask field. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f69eccc4b248ce53b1b830034babd0a795d5763c Merge: ab5cf7d f8f2dc4 3419871 97aff2c 4eb0f7a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 23 08:44:14 2015 +0900 Merge remote-tracking branches 'asoc/fix/rt298', 'asoc/fix/sx', 'asoc/fix/wm8904' and 'asoc/fix/wm8962' into asoc-linus commit ab5cf7df4578e46f6587c589f0c4d58c7c9a8753 Merge: 7379047 79828b4 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 23 08:44:13 2015 +0900 Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-linus commit 6c760b3dd576329e776b353f2eaefbe2034361b9 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Oct 22 11:14:18 2015 -0700 iser-target: Remove an unused variable Detected this by compiling with W=1. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 78fc3fc4cc33df385dd5e5e02630cf467790e758 Author: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Date: Thu Oct 22 10:59:18 2015 -0700 IB/iser: Remove an unused variable Detected this by compiling with W=1. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f06cff7c59b6b252d667435d7baad48687b41002 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 22 18:10:52 2015 -0300 perf annotate: Don't die() when finding an invalid config option The perf_config() infrastructure we inherited from git calls die() when the provided config callback returns -1, meaning some key in a config section is unexpected, that seems ok for a stdio based tool, but in --tui we end up messing up the output, so just tell the user about the error, wait for a keystroke and return 0, being more resilient and proceeding with what we managed to parse. That die() needs to die, tho :-) 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-pqtsffh2kwr5mwm4qg9kgotu@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5fdf876d30ce7c9b63045b3db8374912ab9b262c Author: Michal Marek <mmarek@xxxxxxxx> Date: Thu Oct 15 22:16:28 2015 +0200 KVM: arm: Do not indent the arguments of DECLARE_BITMAP Besides being a coding style issue, it confuses make tags: ctags: Warning: include/kvm/arm_vgic.h:307: null expansion of name pattern "\1" ctags: Warning: include/kvm/arm_vgic.h:308: null expansion of name pattern "\1" ctags: Warning: include/kvm/arm_vgic.h:309: null expansion of name pattern "\1" ctags: Warning: include/kvm/arm_vgic.h:317: null expansion of name pattern "\1" Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Michal Marek <mmarek@xxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit db85c55f1b01b155332058753854d897e965d67f Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Oct 12 15:04:50 2015 +0100 arm64: kvm: restore EL1N SP for panic If we panic in hyp mode, we inject a call to panic() into the EL1N host kernel. If a guest context is active, we first attempt to restore the minimal amount of state necessary to execute the host kernel with restore_sysregs. However, the SP is restored as part of restore_common_regs, and so we may return to the host's panic() function with the SP of the guest. Any calculations based on the SP will be bogus, and any attempt to access the stack will result in recursive data aborts. When running Linux as a guest, the guest's EL1N SP is like to be some valid kernel address. In this case, the host kernel may use that region as a stack for panic(), corrupting it in the process. Avoid the problem by restoring the host SP prior to returning to the host. To prevent misleading backtraces in the host, the FP is zeroed at the same time. We don't need any of the other "common" registers in order to panic successfully. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: <kvmarm@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit e21f09108754dfdfbb30e547f4edbd3b6884eedb Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 13:57:20 2015 +0200 arm/arm64: KVM: Add tracepoints for vgic and timer The VGIC and timer code for KVM arm/arm64 doesn't have any tracepoints or tracepoint infrastructure defined. Rewriting some of the timer code handling showed me how much we need this, so let's add these simple trace points once and for all and we can easily expand with additional trace points in these files as we go along. Cc: Wei Huang <wei@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit b5905dc12ed4254f7e0aac62bab48f002181f639 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 15:55:22 2015 +0200 arm/arm64: KVM: Improve kvm_exit tracepoint The ARM architecture only saves the exit class to the HSR (ESR_EL2 for arm64) on synchronous exceptions, not on asynchronous exceptions like an IRQ. However, we only report the exception class on kvm_exit, which is confusing because an IRQ looks like it exited at some PC with the same reason as the previous exit. Add a lookup table for the exception index and prepend the kvm_exit tracepoint text with the exception type to clarify this situation. Also resolve the exception class (EC) to a human-friendly text version so the trace output becomes immediately usable for debugging this code. Cc: Wei Huang <wei@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 952105ab524e3fcc719349da5645ec71d9733547 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Tue Oct 13 10:01:25 2015 +0300 KVM: arm/arm64: Fix vGIC documentation Correct some old mistakes in the API documentation: 1. VCPU is identified by index (using kvm_get_vcpu() function), but "cpu id" can be mistaken for affinity ID. 2. Some error codes are wrong. [ Slightly tweaked some grammer and did some s/CPU index/vcpu_index/ in the descriptions. -Christoffer ] Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 3b92830ad41b2fe377e0765322e8aefd0ab8388d Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 25 23:41:17 2015 +0200 KVM: arm/arm64: implement kvm_arm_[halt,resume]_guest We introduce kvm_arm_halt_guest and resume functions. They will be used for IRQ forward state change. Halt is synchronous and prevents the guest from being re-entered. We use the same mechanism put in place for PSCI former pause, now renamed power_off. A new flag is introduced in arch vcpu state, pause, only meant to be used by those functions. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 101d3da09c953b08c814cd9a0b8605623d640ba0 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 25 23:41:16 2015 +0200 KVM: arm/arm64: check power_off in critical section before VCPU run In case a vcpu off PSCI call is called just after we executed the vcpu_sleep check, we can enter the guest although power_off is set. Let's check the power_off state in the critical section, just before entering the guest. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reported-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4f5f1dc03606e18986b874f899cf86b0a3e4f2a5 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 25 23:41:15 2015 +0200 KVM: arm/arm64: check power_off in kvm_arch_vcpu_runnable kvm_arch_vcpu_runnable now also checks whether the power_off flag is set. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 3781528e3045e7c9cc7c4846e0f675b1f353655f Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 25 23:41:14 2015 +0200 KVM: arm/arm64: rename pause into power_off The kvm_vcpu_arch pause field is renamed into power_off to prepare for the introduction of a new pause field. Also vcpu_pause is renamed into vcpu_sleep since we will sleep until both power_off and pause are false. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 75755c6d02df9e9b959b3066c12de5494907e3d9 Author: Wei Huang <wei@xxxxxxxxxx> Date: Fri Oct 9 10:08:43 2015 -0500 arm/arm64: KVM : Enable vhost device selection under KVM config menu vhost drivers provide guest VMs with better I/O performance and lower CPU utilization. This patch allows users to select vhost devices under KVM configuration menu on ARM. This makes vhost support on arm/arm64 on a par with other architectures (e.g. x86, ppc). Signed-off-by: Wei Huang <wei@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 8fe2f19e6e6015911bdd4cfcdb23a32e146ba570 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Sep 4 21:25:12 2015 +0200 arm/arm64: KVM: Support edge-triggered forwarded interrupts We mark edge-triggered interrupts with the HW bit set as queued to prevent the VGIC code from injecting LRs with both the Active and Pending bits set at the same time while also setting the HW bit, because the hardware does not support this. However, this means that we must also clear the queued flag when we sync back a LR where the state on the physical distributor went from active to inactive because the guest deactivated the interrupt. At this point we must also check if the interrupt is pending on the distributor, and tell the VGIC to queue it again if it is. Since these actions on the sync path are extremely close to those for level-triggered interrupts, rename process_level_irq to process_queued_irq, allowing it to cater for both cases. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4b4b4512da2a844b8da2585609b67fae1ce4f4db Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 15:01:27 2015 +0200 arm/arm64: KVM: Rework the arch timer to use level-triggered semantics The arch timer currently uses edge-triggered semantics in the sense that the line is never sampled by the vgic and lowering the line from the timer to the vgic doesn't have any effect on the pending state of virtual interrupts in the vgic. This means that we do not support a guest with the otherwise valid behavior of (1) disable interrupts (2) enable the timer (3) disable the timer (4) enable interrupts. Such a guest would validly not expect to see any interrupts on real hardware, but will see interrupts on KVM. This patch fixes this shortcoming through the following series of changes. First, we change the flow of the timer/vgic sync/flush operations. Now the timer is always flushed/synced before the vgic, because the vgic samples the state of the timer output. This has the implication that we move the timer operations in to non-preempible sections, but that is fine after the previous commit getting rid of hrtimer schedules on every entry/exit. Second, we change the internal behavior of the timer, letting the timer keep track of its previous output state, and only lower/raise the line to the vgic when the state changes. Note that in theory this could have been accomplished more simply by signalling the vgic every time the state *potentially* changed, but we don't want to be hitting the vgic more often than necessary. Third, we get rid of the use of the map->active field in the vgic and instead simply set the interrupt as active on the physical distributor whenever the input to the GIC is asserted and conversely clear the physical active state when the input to the GIC is deasserted. Fourth, and finally, we now initialize the timer PPIs (and all the other unused PPIs for now), to be level-triggered, and modify the sync code to sample the line state on HW sync and re-inject a new interrupt if it is still pending at that time. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4cf1bc4c7cbf35983e565ab491142af59f03bb22 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 14:47:17 2015 +0200 arm/arm64: KVM: Add forwarded physical interrupts documentation Forwarded physical interrupts on arm/arm64 is a tricky concept and the way we deal with them is not apparently easy to understand by reading various specs. Therefore, add a proper documentation file explaining the flow and rationale of the behavior of the vgic. Some of this text was contributed by Marc Zyngier and edited by me. Omissions and errors are all mine. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 54723bb37feac347a169359536f3dff122cabca3 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 14:45:20 2015 +0200 arm/arm64: KVM: Use appropriate define in VGIC reset code We currently initialize the SGIs to be enabled in the VGIC code, but we use the VGIC_NR_PPIS define for this purpose, instead of the the more natural VGIC_NR_SGIS. Change this slightly confusing use of the defines. Note: This should have no functional change, as both names are defined to the number 16. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 8bf9a701e103fd17dbdf0355e43ff5200b4823aa Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Aug 30 14:42:16 2015 +0200 arm/arm64: KVM: Implement GICD_ICFGR as RO for PPIs The GICD_ICFGR allows the bits for the SGIs and PPIs to be read only. We currently simulate this behavior by writing a hardcoded value to the register for the SGIs and PPIs on every write of these bits to the register (ignoring what the guest actually wrote), and by writing the same value as the reset value to the register. This is a bit counter-intuitive, as the register is RO for these bits, and we can just implement it that way, allowing us to control the value of the bits purely in the reset code. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 9103617df202d74e5c65f8af84a9aa727f812a06 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 25 22:50:57 2015 +0200 arm/arm64: KVM: vgic: Factor out level irq processing on guest exit Currently vgic_process_maintenance() processes dealing with a completed level-triggered interrupt directly, but we are soon going to reuse this logic for level-triggered mapped interrupts with the HW bit set, so move this logic into a separate static function. Probably the most scary part of this commit is convincing yourself that the current flow is safe compared to the old one. In the following I try to list the changes and why they are harmless: Move vgic_irq_clear_queued after kvm_notify_acked_irq: Harmless because the only potential effect of clearing the queued flag wrt. kvm_set_irq is that vgic_update_irq_pending does not set the pending bit on the emulated CPU interface or in the pending_on_cpu bitmask if the function is called with level=1. However, the point of kvm_notify_acked_irq is to call kvm_set_irq with level=0, and we set the queued flag again in __kvm_vgic_sync_hwstate later on if the level is stil high. Move vgic_set_lr before kvm_notify_acked_irq: Also, harmless because the LR are cpu-local operations and kvm_notify_acked only affects the dist Move vgic_dist_irq_clear_soft_pend after kvm_notify_acked_irq: Also harmless, because now we check the level state in the clear_soft_pend function and lower the pending bits if the level is low. Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit d35268da66870d733ae763fd7f9b06a1f63f395e Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 25 19:48:21 2015 +0200 arm/arm64: KVM: arch_timer: Only schedule soft timer on vcpu_block We currently schedule a soft timer every time we exit the guest if the timer did not expire while running the guest. This is really not necessary, because the only work we do in the timer work function is to kick the vcpu. Kicking the vcpu does two things: (1) If the vpcu thread is on a waitqueue, make it runnable and remove it from the waitqueue. (2) If the vcpu is running on a different physical CPU from the one doing the kick, it sends a reschedule IPI. The second case cannot happen, because the soft timer is only ever scheduled when the vcpu is not running. The first case is only relevant when the vcpu thread is on a waitqueue, which is only the case when the vcpu thread has called kvm_vcpu_block(). Therefore, we only need to make sure a timer is scheduled for kvm_vcpu_block(), which we do by encapsulating all calls to kvm_vcpu_block() with kvm_timer_{un}schedule calls. Additionally, we only schedule a soft timer if the timer is enabled and unmasked, since it is useless otherwise. Note that theoretically userspace can use the SET_ONE_REG interface to change registers that should cause the timer to fire, even if the vcpu is blocked without a scheduled timer, but this case was not supported before this patch and we leave it for future work for now. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 3217f7c25bca66eed9b07f0b8bfd1937169b0736 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Thu Aug 27 16:41:15 2015 +0200 KVM: Add kvm_arch_vcpu_{un}blocking callbacks Some times it is useful for architecture implementations of KVM to know when the VCPU thread is about to block or when it comes back from blocking (arm/arm64 needs to know this to properly implement timers, for example). Therefore provide a generic architecture callback function in line with what we do elsewhere for KVM generic-arch interactions. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 990995bad13c2bcf074f87236d1a6c5e09bd5eff Author: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Date: Tue Oct 20 19:45:38 2015 +0800 EDAC: Fix PAGES_TO_MiB macro misuse The PAGES_TO_MiB macro is used for unit conversion but the trace_mc_event() tracepoint expects a page address. Fix that. Signed-off-by: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445341538-24271-1-git-send-email-tanxiaojun@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a9ee34b70e07ce942806eda154e48ea3f754a76f Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Mon Jul 13 12:12:07 2015 +0530 drm/msm: Remove local fbdev emulation Kconfig option DRM_MSM_FBDEV config is used to enable/disable fbdev emulation for the msm kms driver. Replace this with the top level DRM_FBDEV_EMULATION config option where applicable. This also prevents build breaks caused by undefined drm_fb_helper_* functions when legacy fbdev support was disabled. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 883a1e867e0fe7c2dc2e5844ef692f80177631d5 Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Thu Sep 17 00:19:42 2015 +0800 ftrace: Calculate the correct dyn_ftrace number to report to the userspace Now, ftrace only calculate the dyn_ftrace number in the adding breakpoint loop, not in adding update and finish update loop. Calculate the correct dyn_ftrace, once ftrace reports the failure message to the userspace. Link: http://lkml.kernel.org/r/1442420382-13130-1-git-send-email-mnfhuang@xxxxxxxxx Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 464b01a48eb6be48bc58332e029760b5e40ea119 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 22 16:44:17 2015 -0300 perf ui tui: Register the error callbacks before initializing the widgets I.e. we want to tell the user about errors found during, for instance, the ui_browser initialization, so that a call to ui__warning() appears as a window waiting for a key to be pressed. 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ederrwizcl6mfz10vfobl5qq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d879eb5ad5d9e80cfc818c22fdd4335ebb5de063 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:53 2015 -0400 drm/msm/mdp5: Basic support for MDP5 v1.7 (MSM8996) This change adds the basic MDP5 support for MSM8996. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 8e2930c6cfb45acc00da9bd6779f5fdd6ec4cb03 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:52 2015 -0400 drm/msm/mdp: Add Software Pixel Extension support In order to produce an image, the scalar needs to be fed extra pixels. These top/bottom/left/right values depend on a various of factors, including resolution, scaling type, phase step and initial phase. Pixel Extension are programmed by hardware in most targets - and can be overwritten by software. For some targets (e.g.: msm8996), software *must* program those registers. In order to ease this computation, let's always use bilinear filters, which are easier to program from kernel. Eventually, all of these values will come down from user space for better quality. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 95651cd926bfa37036d7011a65421ab0db1b4959 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:51 2015 -0400 drm/msm/mdp5: Use the newly introduced enum mdp_component_type When calculating phase steps, let's use the same enum mdp_component_type in order to ease the readability; 0/1 indexes are a bit confusing and we now have explicit values to index this type of arrays. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 0afbe59edd3fd3618da67b4835b57ebcc4ac3abd Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:49 2015 -0400 drm/msm/hdmi: Add basic HDMI support for msm8996 The HDMI controller is new in MDP5 v1.7. As of now, this change doesn't reflect the novelty and only adds the basics so the probe gets triggered. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit d40325b43750eb4a8a81240e36fe38e9ccbcc9eb Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:47 2015 -0400 drm/msm/mdp5: Avoid printing error messages for optional clocks The current behavior is to try to get optional clocks and print a dev_err message in case of failure. This looks rather confusing and may increase with the amount of optional clocks. We may need a cleaner way to handle per-device clocks but in the meantime, let's reduce the amount of dev_err messages during the probe. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 5e921b19268d87a0c64f3181c0d3ea9df9eea972 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:46 2015 -0400 drm/msm: Fix IOMMU clean up path in case msm_iommu_new() fails msm_iommu_new() can fail and this change makes sure that we detect the failure and free the allocated domain before going any further. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 60fb49ca52ec304a937bcee14ae6acbe1e75562b Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Tue Sep 15 08:41:44 2015 -0400 drm/msm/mdp5: remove the cfg pointer from SMP struct We want to make sure we control all the information being passed down to SMP block. Having access to the cfg pointer here may create bad things in the future. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit e01b1bfd88f9c5ec32b471a5a696a79f45740e63 Author: Hai Li <hali@xxxxxxxxxxxxxx> Date: Fri Sep 11 15:56:09 2015 -0400 drm/msm/dsi: Updata LNn_CFG4 register settings for 28nm PHY The current settings for 28nm PHY data lane CFG4 registers do not work with certain panels. This change is to modify them to hw recommended values. Signed-off-by: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 556a76e51b5c8e16986e2cc0a5e14306a4e2505a Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Aug 18 10:34:32 2015 -0700 drm: msm: dsi: Don't attempt changing voltage of switches In some configurations the supplies are voltage switches and not LDOs, making the set voltage call to fail. Check with the regulator framework if the supply can change voltage before attempting. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 8217e97ab9888651f4a5b24c682047457965349a Author: Rob Clark <robdclark@xxxxxxxxx> Date: Thu Oct 22 12:36:57 2015 -0400 drm/msm: update generated headers Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 39ff7cdb5a5e6b75dd049255615828c6531cd109 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Oct 21 11:57:20 2015 +0900 perf annotate: Fix 'annotate.use_offset' config variable usage The annotate__configs should be sorted so that it can use bsearch(3). However commit 0c4a5bcea460 ("perf annotate: Display total number of samples with --show-total-period") added a new config item at the end. This resulted in the 'annotate.use_offset' config variable cannot be found and perf terminated like below: $ perf report bad config file line 6 in ~/.perfconfig Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Martin LiÅ¡ka <mliska@xxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Taeung Song <treeze.taeung@xxxxxxxxx> Fixes: 0c4a5bcea460 ("perf annotate: Display total number of samples with --show-total-period") Link: http://lkml.kernel.org/r/1445396240-3428-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 76a26549eb367f683fbb394b7246bef5dc665f8c Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Oct 22 23:28:32 2015 +0900 perf tools: Improve call graph documents and help messages The --call-graph option is complex so we should provide better guide for users. Also change help message to be consistent with config option names. Now perf top will show help like below: $ perf top --call-graph Error: option `call-graph' requires a value Usage: perf top [<options>] --call-graph <record_mode[,record_size],print_type,threshold[,print_limit],order,sort_key[,branch]> setup and enables call-graph (stack chain/backtrace): record_mode: call graph recording mode (fp|dwarf|lbr) record_size: if record_mode is 'dwarf', max size of stack recording (<bytes>) default: 8192 (bytes) print_type: call graph printing style (graph|flat|fractal|none) threshold: minimum call graph inclusion threshold (<percent>) print_limit: maximum number of call graph entry (<number>) order: call graph order (caller|callee) sort_key: call graph sort key (function|address) branch: include last branch info to call graph (branch) Default: fp,graph,0.5,caller,function Requested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445524112-5201-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6536d910ef17d81597bb8b32adde21ce5ba08bbb Author: Aleksei Mamlin <mamlinav@xxxxxxxxx> Date: Thu Oct 22 13:38:56 2015 +0300 ARM: dts: sun4i: Enable audio codec on Marsboard A10. Enable on-chip audio codec on the Marsboard A10. Signed-off-by: Aleksei Mamlin <mamlinav@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 616fb38fa7a9599293e05ae1fa9acfaf73922434 Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Thu Oct 22 13:38:15 2015 -0400 locks: cleanup posix_lock_inode_wait and flock_lock_inode_wait All callers use locks_lock_inode_wait() instead. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 4f6563677ae833baad8003e14353241bc25da4fc Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Thu Oct 22 13:38:14 2015 -0400 Move locks API users to locks_lock_inode_wait() Instead of having users check for FL_POSIX or FL_FLOCK to call the correct locks API function, use the check within locks_lock_inode_wait(). This allows for some later cleanup. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit e55c34a66f87e78fb1fc6b623b78c5ad74b475af Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Thu Oct 22 13:38:13 2015 -0400 locks: introduce locks_lock_inode_wait() Users of the locks API commonly call either posix_lock_file_wait() or flock_lock_file_wait() depending upon the lock type. Add a new function locks_lock_inode_wait() which will check and call the correct function for the type of lock passed in. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit be908d21b2e9c2cab1ef568dfca4f9777611b3dd Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 16 12:04:04 2015 -0700 PCI: iproc: Fix header comment "Corporation" misspelling Fix an obvious "Broadcom Corporation" typo in a header comment. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ray Jui <rjui@xxxxxxxxxxxx> commit 792aeafa8ed08e5e18fb66ab93b470f78e619f75 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Oct 22 16:45:46 2015 +0900 perf tools: Defaults to 'caller' callchain order only if --children is enabled The caller callchain order is useful with --children option since it can show 'overview' style output, but other commands which don't use --children feature like 'perf script' or even 'perf report/top' without --children are better to keep callee order. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445499946-29817-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a2c10d39af49b00514f7cc7b750757fcc2174f0c Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Oct 22 15:28:49 2015 +0900 perf top: Support call-graph display options also Currently 'perf top --call-graph' option is same as 'perf record'. But 'perf top' also need to receive display options in 'perf report'. To do that, change parse_callchain_report_opt() to allow record options too. Now perf top can receive display options like below: $ perf top --call-graph Error: option `call-graph' requires a value Usage: perf top [<options>] --call-graph <mode[,dump_size],output_type,min_percent[,print_limit],call_order[,branch]> setup and enables call-graph (stack chain/backtrace) recording: fp dwarf lbr, output_type (graph, flat, fractal, or none), min percent threshold, optional print limit, callchain order, key (function or address), add branches $ perf top --call-graph callee,graph,fp Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445495330-25416-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 21cf62847d29392e51c37460856d3c3c57769c5e Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Oct 22 15:28:48 2015 +0900 perf tools: Move callchain help messages to callchain.h These messages will be used by 'perf top' in the next patch. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445495330-25416-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b6bd9c7d543ac160646a667470158c5da319a85c Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Aug 31 16:16:37 2015 -0500 tools lib traceevent: Support %ps/%pS Commits such as 65dd297ac25565 ("xfs: %pF is only for function pointers") caused a regression because pretty_print() didn't support %ps/%pS. The current %pf/%pF implementation in pretty_print() is what %ps/%pS is supposed to do, so use the same code for %ps/%pS. Addressing the incorrect %pf/%pF implementation is beyond the scope of this patch. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150831211637.GA12848@xxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7e26e9ff0a9301398bd7cf8d896536da3a54aa9a Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Oct 22 01:02:33 2015 -0700 pstore: Fix return type of pstore_is_mounted() This patch changes return type of pstore_is_mounted from int to bool. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 56ea37da3b93dfe46cb5c3ee0ee4cc44229ece47 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 3 18:35:14 2015 -0300 [media] m88ds3103: use own reg update_bits() implementation Device stopped to tuning some channels after regmap conversion. Reason is that regmap_update_bits() works a bit differently for partially volatile registers than old homemade routine. Return back to old routine in order to fix issue. Fixes: 478932b16052f5ded74685d096ae920cd17d6424 Cc: <stable@xxxxxxxxxx> # 4.2+ Reported-by: Mark Clarkstone <hello@xxxxxxxxxxxxxxxxxxxx> Tested-by: Mark Clarkstone <hello@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d18ca5b7ceca0e9674cb4bb2ed476b0fcbb23ba2 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Oct 6 00:22:23 2015 -0300 [media] rtl28xxu: fix control message flaws Add lock to prevent concurrent access for control message as control message function uses shared buffer. Without the lock there may be remote control polling which messes the buffer causing IO errors. Increase buffer size and add check for maximum supported message length. Link: https://bugzilla.kernel.org/show_bug.cgi?id=103391 Fixes: c56222a6b25c ("[media] rtl28xxu: move usb buffers to state") Cc: <stable@xxxxxxxxxxxxxxx> # 4.0+ Signed-off-by: Antti Palosaari <crope@xxxxxx> commit 17f38822038ba5d4dba79b72fd111bbf64173063 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Fri Oct 2 06:19:15 2015 -0300 [media] v4l2-flash-led-class: Add missing VIDEO_V4L2 Kconfig dependency Fixes the following randconfig problem: drivers/built-in.o: In function `v4l2_flash_release': (.text+0x12204f): undefined reference to `v4l2_async_unregister_subdev' drivers/built-in.o: In function `v4l2_flash_release': (.text+0x122057): undefined reference to `v4l2_ctrl_handler_free' drivers/built-in.o: In function `v4l2_flash_close': v4l2-flash-led-class.c:(.text+0x12208f): undefined reference to `v4l2_fh_is_singular' v4l2-flash-led-class.c:(.text+0x1220c8): undefined reference to `__v4l2_ctrl_s_ctrl' drivers/built-in.o: In function `v4l2_flash_open': v4l2-flash-led-class.c:(.text+0x12227f): undefined reference to `v4l2_fh_is_singular' drivers/built-in.o: In function `v4l2_flash_init_controls': v4l2-flash-led-class.c:(.text+0x12274e): undefined reference to `v4l2_ctrl_handler_init_class' v4l2-flash-led-class.c:(.text+0x122797): undefined reference to `v4l2_ctrl_new_std_menu' v4l2-flash-led-class.c:(.text+0x1227e0): undefined reference to `v4l2_ctrl_new_std' v4l2-flash-led-class.c:(.text+0x122826): undefined reference to `v4l2_ctrl_handler_setup' v4l2-flash-led-class.c:(.text+0x122839): undefined reference to `v4l2_ctrl_handler_free' drivers/built-in.o: In function `v4l2_flash_init': (.text+0x1228e2): undefined reference to `v4l2_subdev_init' drivers/built-in.o: In function `v4l2_flash_init': (.text+0x12293b): undefined reference to `v4l2_async_register_subdev' drivers/built-in.o: In function `v4l2_flash_init': (.text+0x122949): undefined reference to `v4l2_ctrl_handler_free' drivers/built-in.o:(.rodata+0x20ef8): undefined reference to `v4l2_subdev_queryctrl' drivers/built-in.o:(.rodata+0x20f10): undefined reference to `v4l2_subdev_querymenu' Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Sakari Ailus <sakari.ailus@xxxxxx> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> commit 9d2b064c0ae42ad93b2a0c7da05daef312c96bcc Author: Abylay Ospan <aospan@xxxxxxxx> Date: Fri Sep 25 04:56:21 2015 -0300 [media] netup_unidvb: fix potential crash when spi is NULL Signed-off-by: Abylay Ospan <aospan@xxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 47810b4341ac9d2f558894bc5995e6fa2a1298f9 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Tue Sep 29 21:10:09 2015 -0300 [media] si2168: Bounds check firmware When reading the firmware and sending commands, the length must be bounds checked to avoid overrunning the size of the command buffer and smashing the stack if the firmware is not in the expected format: si2168 11-0064: found a 'Silicon Labs Si2168-B40' si2168 11-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw' si2168 11-0064: firmware download failed -95 Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: ffffffffa085708f Add the proper check. Cc: stable@xxxxxxxxxx Reported-by: Stuart Auchterlonie <sauchter@xxxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a828d72df216c36e9c40b6c24dc4b17b6f7b5a76 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Tue Sep 29 21:10:10 2015 -0300 [media] si2157: Bounds check firmware When reading the firmware and sending commands, the length must be bounds checked to avoid overrunning the size of the command buffer and smashing the stack if the firmware is not in the expected format. Add the proper check. Cc: stable@xxxxxxxxxx Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 54bec3970cb5351d08866af1ea8b0787edd7ede3 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 21 12:47:11 2015 -0300 [media] ir-hix5hd2: drop the use of IRQF_NO_SUSPEND This driver doesn't claim the IR transmitter to be wakeup source. It even disables the clock and the IR during suspend-resume cycle. This patch removes yet another misuse of IRQF_NO_SUSPEND. Cc: Patrice Chotard <patrice.chotard@xxxxxx> Cc: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Cc: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 51a3ac5f4dc45120c78fad51096d989914801457 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 07:12:54 2015 -0300 [media] c8sectpfe: fix return of garbage The variable err was never initialized, that means we had been checking a garbage value in the for loop. Moreover if the segment is not outside the firmware file then also we have been returning the garbage. Initialize it to 0 so that on success we return the value and no need to check in the for loop also as it is initially 0 and whenever that value changes we have done a break from the loop. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bf447221a8791d0f5dd28b19336e31e48f05f04a Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Tue Sep 15 08:42:27 2015 -0300 [media] c8sectpfe: fix ininitialized error return on firmware load failure static analysis with cppcheck detected the following error: [drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1210]: (error) Uninitialized variable: ret ret is never initialised, so garbage is being returned. Instead return the error return from the call of request_firmware_nowait Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> commit a9c4e5cfebc44e6caa6b9299af5603f5c2da0c33 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Sep 13 19:45:21 2015 -0300 [media] lnbh25: Fix lnbh25_attach() function return type If CONFIG_DVB_LNBH25 is disabled, a stub static inline function is defined that just prints a warning about the driver being disabled but the function return type was wrong which caused a build error. Fixes: e025273b86fb ("[media] lnbh25: LNBH25 SEC controller driver") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> commit ebdd4b7e6a0dd86736eeb6b9e60b361ef64ccc30 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Sep 13 19:39:22 2015 -0300 [media] horus3a: Fix horus3a_attach() function parameters If CONFIG_DVB_HORUS3A is disabled a stub static inline function is defined that just prints a warning about the driver being disabled but the function parameters were wrong which caused a build error. Fixes: a5d32b358254f ("[media] horus3a: Sony Horus3A DVB-S/S2 tuner driver") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> commit 2995f0a1b607c12ff70581f9b76af02562928f99 Merge: 64aa1fe 6b61f24 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:43:03 2015 -0700 Merge tag 'mvebu-dt-4.4-2' of git://git.infradead.org/linux-mvebu into next/dt mvebu dt for 4.4 (part 2) - Add support for severals Armada-370-based Seagate NAS - Fix Ready NAS device tree - Modify SDHCI binding for A388-GP allowing using it on old and new version of the board * tag 'mvebu-dt-4.4-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: set SW polling as SDHCI card detection on A388-GP arm: mvebu: reorder nodes under internal-regs by address in RN2120 .dts file arm: mvebu: disable unused Armada RTC on ReadyNAS 102, 104 and 2120 ARM: mvebu: add DT support for Seagate Personal Cloud ARM: mvebu: add DT support for Seagate NAS 2 and 4-Bay Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7b192fb7b4b7c672b6fd257402adaf335bd046fd Merge: b96fc2f ef2cdcc Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:35:28 2015 -0700 Merge tag 'mvebu-cleanup-4.4-2' of git://git.infradead.org/linux-mvebu into next/cleanup mvebu cleanup for 4.4 (part 2) Remove code related to Armada 375 Z1 stepping no more supported in mainline * tag 'mvebu-cleanup-4.4-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: remove the workaround imprecise abort fault handler Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b52d2320276cfeb8e8eccdc1b87a3c078da255cf Merge: c2c73aa b97cecc Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:10:28 2015 -0700 Merge tag 'socfpga_defconfig_for_v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/defconfig SoCFPGA defconfig update for v4.4 - Add the FPGA manager config option * tag 'socfpga_defconfig_for_v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga_defconfig: enable fpga manager Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 64aa1fe18304078623119533c725e51aee69b534 Merge: 9174455 0cdbec6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:08:46 2015 -0700 Merge tag 'socfpga_for_v4.4_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt SoCFPGA dts cleanup for v4.4 - Re-order DTS nodes into correct alphabetical order * tag 'socfpga_for_v4.4_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: dts: sort nodes alphabetically Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1476253cef9dbfc1f7f6a1bd19252ca528cd63bd Author: Andrew Y. Kuksov <qxovxp@xxxxxxxxx> Date: Tue Jul 14 16:23:25 2015 +0300 spi: imx: fix ecspi mode setup Fixed problem with setting spi mode 0 or 1 after setting mode 2 or 3 SPI_MODE_0 and SPI_MODE_1 requires clock low when inactive. SPI_MODE_2 and SPI_MODE_3 requires clk high when inactive. Currently driver can just set bits in fields SCLK_PHA (SPI Clock/Data Phase Control), SCLK_POL (SPI Clock Polarity Control), SCLK_CTL (controls the inactive state of SCLK) ans SS_POL (SPI SS Polarity Select) of ECSPIx_CONFIGREG register. This patch allows driver to clear corresponding bits in these fields. Signed-off-by: Andrew Y. Kuksov <qxovxp@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9174455472edf6f373daefbdd9ca97ced0d6b399 Merge: ee04242b ebb2510 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:07:04 2015 -0700 Merge tag 'socfpga_dts_for_v4.4_part_2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt SoCFPGA DTS update for v4.4, part 2 - Add the FPGA manager node * tag 'socfpga_dts_for_v4.4_part_2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: ARM: socfpga: dts: add fpga manager Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 825294cded91f3df99af864e4a67664cd1ccf911 Merge: 73ebb85 faf7ec4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 10:02:10 2015 -0700 Merge tag 'firmware/psci-1.0' of git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux into next/drivers This pull request contains patches that enable PSCI 1.0 firmware features for arm/arm64 platforms: - Lorenzo Pieralisi adds support for the PSCI_FEATURES call, manages various 1.0 specifications updates (power state id and functions return values) and provides PSCI v1.0 DT bindings - Sudeep Holla implements PSCI v1.0 system suspend support to enable PSCI based suspend-to-RAM * tag 'firmware/psci-1.0' of git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux: drivers: firmware: psci: add system suspend support drivers: firmware: psci: define more generic PSCI_FN_NATIVE macro drivers: firmware: psci: add PSCI v1.0 DT bindings drivers: firmware: psci: add extended stateid power_state support drivers: firmware: psci: add PSCI_FEATURES call drivers: firmware: psci: move power_state handling to generic code drivers: firmware: psci: add INVALID_ADDRESS return value Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b96fc2f3c145815359ac1f9f12cc5c852b9ba3f5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 19 13:05:33 2015 -0700 ARM: Remove __ref on hotplug cpu die path Now that __cpuinit has been removed, the __ref markings on these functions are useless. Remove them. This also reduces the size of the multi_v7_defconfig image: $ size before after text data bss dec hex filename 12683578 1470996 348904 14503478 dd4e36 before 12683274 1470996 348904 14503174 dd4d06 after presumably because now we don't have to jump to code in the .ref.text section and/or the noinline marking is removed. Cc: Shiraz Hashim <shiraz.linux.kernel@xxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: <linux-omap@xxxxxxxxxxxxxxx> Cc: <linux-arm-msm@xxxxxxxxxxxxxxx> Cc: <spear-devel@xxxxxxxxxxx> Cc: <linux-tegra@xxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Barry Song <baohua@xxxxxxxxxx> Acked-by: Andy Gross <agross@xxxxxxxxxxxxxx> Acked-by: Viresh Kumar <vireshk@xxxxxxxxxx> Acked-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4db7062c9a8bff92137bb2f381d81dd1bb5b7872 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Fri Oct 16 17:01:36 2015 +0100 ARM: dts: fix gpio-keys wakeup-source property The keyboard driver for GPIO buttons(gpio-keys) checks for one of the two boolean properties to enable gpio buttons as wakeup source: 1. "wakeup-source" or 2. the legacy "gpio-key,wakeup" However juno, ste-snowball and emev2-kzm9d dts file have a undetected "wakeup" property to indictate the wakeup source. This patch fixes it by making use of "wakeup-source" property. Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Acked-by: Simon Horman <horms@xxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4901aa065bced55be5ae55b58fc032bfc727fdda Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Oct 20 19:13:45 2015 +0800 ASoC: Intel: Skylake: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0cc09e85186082d414a89f85ec1b7ff588547f10 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Oct 16 15:21:10 2015 +0100 ARM: Remove open-coded version of IRQCHIP_DECLARE Now that the IRQCHIP_DECLARE macro has been moved to linux/irqchip.h, it becomes possible to cleanup the open-coded versions of the same macro that have been added to some private irqchips implementations. Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Acked-by: Kukjin Kim <kgene@xxxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit b3f2dcddd576a2a6e59c407109610206c4062c8f Author: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Date: Thu Oct 8 20:40:09 2015 +0800 ASoC: rockchip: i2s: share tx/rx lrck when symmetric_rates enabled share lrck_tx to lrck_rx when symmetric_rates enabled. Signed-off-by: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d307e01e41e830adac15e91d8cea38d8a53060a5 Author: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Date: Thu Oct 8 20:40:08 2015 +0800 ASoC: rockchip: add capture property rockchip,capture-channels: max capture channels, 2 channels default. Signed-off-by: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4c9c018b2ac72e6ffaeae472723023dc4fd99a88 Author: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Date: Thu Oct 8 20:40:07 2015 +0800 ASoC: rockchip: i2s: add 8 channels capture support support max 8 channels capture, please add property 'rockchip,capture-channels' in dts to enable this, if not, support 2 channels capture default. Signed-off-by: Sugar Zhang <sugar.zhang@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 391ac3ef50b9ec575c4d5c6f055efe5096ac1957 Author: Songjun Wu <songjun.wu@xxxxxxxxx> Date: Thu Oct 8 18:13:32 2015 +0800 ASoC: atmel-classd: DT binding for Class D audio amplifier driver DT binding documentation for this new ASoC driver. Signed-off-by: Songjun Wu <songjun.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e0a25b6d18624140905d79775f9e1b05c12502f5 Author: Songjun Wu <songjun.wu@xxxxxxxxx> Date: Thu Oct 8 18:13:31 2015 +0800 ASoC: atmel-classd: add the Audio Class D Amplifier Add driver for the digital imput to PWM output stereo class D amplifier. It comes with filter, digitally controlled gain, an equalizer and a dmphase filter. Signed-off-by: Songjun Wu <songjun.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9aa2b26bd38cdae51adebbbcbb4bb06d38eed1dd Merge: 5f1e3c9 1fd377b Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 09:48:02 2015 -0700 Merge tag 'renesas-cleanup2-for-v4.4' 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.4 * Remove now unused legacy pm domain code * Add missing of_node_put to pm-rmobile * Corresct spelling of interrupt-names in renesas-memory-controller binding documentation * Correct signdness of CPU id in shmobile apmu implementation * Make some functions static as appropriate * tag 'renesas-cleanup2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: R-Mobile: add missing of_node_put ARM: shmobile: dt: Rename incorrect interrupt related binding ARM: shmobile: apmu: correct type of CPU id ARM: shmobile: r8a7779: Remove legacy PM Domain remainings ARM: shmobile: r8a7778: Make r8a7778_init_irq_dt() static ARM: shmobile: smp: Make shmobile_smp_apmu_cpu_shutdown() static Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c2c73aa8593b9996b9b6f85daf21956c7d655fb6 Merge: 7c83d2f fec3fb4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 09:46:49 2015 -0700 Merge tag 'renesas-defconfig2-for-v4.4' 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.4 * Enable HDMI output for Renesas RCar * tag 'renesas-defconfig2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: multi_v7_defconfig: enable HDMI output for Renesas RCar ARM: shmobile: defconfig: enable HDMI output for RCar Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7c83d2f79ec61590907f466787d8199ad0669beb Merge: d3b4aa7 4e7fb93 Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Oct 22 09:44:41 2015 -0700 Merge tag 'qcom-defconfig-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm into next/defconfig Qualcomm ARM Based defconfig Updates for v4.4 * Enable QCOM SMD/RPM in multi_v7_defconfig * Enable QCOM SMD/RPM in qcom_defconfig * tag 'qcom-defconfig-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm: ARM: multi_v7_defconfig: Enable QCOM SMD/RPM ARM: qcom_defconfig: Enable SMD-RPM regulators Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 942e4a30eb87a7565c1cd28a08825f58b0794711 Author: John Lin <john.lin@xxxxxxxxxxx> Date: Mon Sep 21 18:38:19 2015 +0800 ASoC: rt5645: Add dmi "Google Reks" for chrome Signed-off-by: John Lin <john.lin@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 50760cad9de969fe85b24465afe6396b8bbc6a3f Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 19 02:00:25 2015 +0200 ASoC: fsl-asoc-card: add AC'97 support Add AC'97 support to fsl-asoc-card using generic ASoC AC'97 CODEC. The SSI controller will silently enable any TX AC'97 slots that have their bits set in SLOTREQ received from CODEC and then will redirect some of playback samples there. That's why it is important to make sure that any of CODEC playback slots that can pull samples are set to slots 3/4 (standard PCM playback slots). Currently, this applies to S/PDIF slots as they were seen to pull samples sometimes even with S/PDIF output being disabled. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit beaa57dd986d4f398728c060692fc2452895cfd8 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Oct 22 18:24:12 2015 +0800 f2fs: fix to skip shrinking extent nodes In f2fs_shrink_extent_tree we should stop shrink flow if we have already shrunk enough nodes in extent cache. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a6be014e1d28339ba7c745fc4ac1efdbf6e2c1a2 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Oct 22 18:23:08 2015 +0800 f2fs: fix error path of ->symlink Now, in ->symlink of f2fs, we kept the fixed invoking order between f2fs_add_link and page_symlink since we should init node info firstly in f2fs_add_link, then such node info can be used in page_symlink. But we didn't fix to release meta info which was done before page_symlink in our error path, so this will leave us corrupt symlink entry in its parent's dentry page. Fix this issue by adding f2fs_unlink in the error path for removing such linking. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d3b4aa7f787e57d0a049f520c7083c6954803681 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 16:02:50 2015 +0200 ARM: multi_v7_defconfig: improve multi_v7_defconfig support for Berlin Some drivers used on a Marvell Berlin kernel were missing from multi_v7_defconfig. This series add them: * The pxa168 Ethernet driver is added as a loadable module. * The Berlin ADC driver is added as a loadable module. * Both the Berlin USB PHY and SATA PHY drivers are added, built-in, as they are required for the already available USB and SATA functionalities in multi_v7_defconfig. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7fee740697e0d9a57d618b6fec79e4c4e09fd606 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Oct 22 18:18:11 2015 +0800 f2fs: fix to clear GCed flag for atomic written page Atomic write page can be GCed, after committing this kind of page, we should clear the GCed flag for it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6bccb4955c1cc6335d76a9cad87b97c7b1457b8d Merge: 9299b24 58c9c87 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Thu Oct 22 17:30:08 2015 +0100 Merge branch 'irq/for-arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip This is an incremental fix for a patch previously pulled from tip irq/for-arm. * 'irq/for-arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq: Make the cpuhotplug migration code less noisy commit 1d387a3fd86f2acf70803262c5a5a5a89df0e097 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Thu Oct 8 09:37:51 2015 -0700 ASoC: Document DAI signal polarity Currently there is no clear definition of what FSYNC polarity is. Different drivers use its own definition of what is "normal" and what is "inverted" fsync. This leads to compatibility problems between drivers. For example TegraX1 driver assumes that DSP-A format with frames starting at rising FSYNC edge has "inverted" polarity, while RT5677 assumes it is "normal" polarity. Explicitly specify meaning of BCLK/FSYNC polarity to avoid future compatibility problems. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44d8fb30941d85800fbde0a1e3454b1fb23c5ecd Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 12:24:23 2015 +0200 spi/bcm63xx: move register definitions into the driver Move all register definitions and structs into the driver. This allows us dropping the platform_data struct and drop any arch specific includes. Make use of different device names to identify the version of the block we have. Since we now have full control over the message width, we can drop the size check, which was broken anyway, since it never set ret to any error code. Also since we now have no arch depedendent resources, we can now allow compiling it for any arch, hidden behind COMPILE_TEST. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4049dc1a43d1530eb462ec42201335e7b0439a80 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Oct 12 17:27:08 2015 +0100 regulator: stw481x: compile on COMPILE_TEST The driver depends on MFD_STW481X but there isn't a build dependency so it's a good idea to allow the driver to always be built when the COMPILE_TEST option is enabled. That way, the driver can be built with a config generated by make allyesconfig and check if a patch would break the build. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 218d2ce2036f50d259dbcdd37a4db72cad6fc0d1 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Mon Oct 19 16:49:06 2015 -0700 ASoC: nau8825: Show device properties The codec device properties are printed for debugging. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c86ba612bdba4d267ce5aad30ff10b4d994e2b33 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Mon Oct 19 16:49:05 2015 -0700 ASoC: nau8825: Add FLL configuration snd_soc_codec_driver.set_pll is implemented to configure the FLL. The codec internal SYSCLK can be from either the MCLK pin directly, or the FLL. This is configured by snd_soc_codec_driver.set_pll. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 06515f83908d038d9e12ffa3dcca27a1b67f2de0 Author: David Mosberger-Tang <davidm@xxxxxxxxxx> Date: Tue Oct 20 14:26:47 2015 +0200 spi: atmel: Fix DMA-setup for transfers with more than 8 bits per word The DMA-slave configuration depends on the whether <= 8 or > 8 bits are transferred per word, so we need to call atmel_spi_dma_slave_config() with the correct value. Signed-off-by: David Mosberger <davidm@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit ee1d267423a1f8041e2b1a33fc23e4393c67677e Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Oct 20 00:39:03 2015 -0700 pstore: add pstore unregister pstore doesn't support unregistering yet. It was marked as TODO. This patch adds some code to fix it: 1) Add functions to unregister kmsg/console/ftrace/pmsg. 2) Add a function to free compression buffer. 3) Unmap the memory and free it. 4) Add a function to unregister pstore filesystem. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> [Removed __exit annotation from ramoops_remove(). Reported by Arnd Bergmann] Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 53e597b1d194910bef53ed0632da329fef497904 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Oct 22 13:11:56 2015 +0200 ALSA: Remove transfer_ack_{begin,end} callbacks from struct snd_pcm_runtime While there is nothing wrong with the transfer_ack_begin and transfer_ack_end callbacks per-se, the last documented user was part of the alsa-driver 0.5.12a package, which was released 14 years ago and even predates the upstream integration of the ALSA core and has subsequently been superseded by newer alsa-driver releases. This seems to indicate that there is no need for having these callbacks and they are just cruft that can be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a6dd1020d8ac55782f3e04856644cf68765f8c1b Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 22 12:01:05 2015 +0200 nvme: add missing endianess annotations in nvme_pr_command Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Fixes: ad4fd3610c27 ("NVMe: Add persistent reservation ops") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1d277a637a711af44574229c544c44126ad5bf32 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Thu Oct 15 14:10:52 2015 +0200 NVMe: Add persistent reservation ops Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> [hch: rebased, set PTPL=1] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0db65fcfcded76fe4f74e3ca9f4e2baf67b683ef Author: Bjørn Mork <bjorn@xxxxxxx> Date: Thu Oct 22 14:15:58 2015 +0200 qmi_wwan: add Sierra Wireless MC74xx/EM74xx New device IDs shamelessly lifted from the vendor driver. Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 199c6550694dcdf5f568ea9db6fe2b46d14e4fa5 Merge: d46a9d6 ca064bd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 07:46:05 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec Steffen Klassert says: ==================== pull request (net): ipsec 2015-10-22 1) Fix IPsec pre-encap fragmentation for GSO packets. From Herbert Xu. 2) Fix some header checks in _decode_session6. We skip the header informations if the data pointer points already behind the header in question for some protocols. This is because we call pskb_may_pull with a negative value converted to unsigened int from pskb_may_pull in this case. Skipping the header informations can lead to incorrect policy lookups. From Mathias Krause. 3) Allow to change the replay threshold and expiry timer of a state without having to set other attributes like replay counter and byte lifetime. Changing these other attributes may break the SA. From Michael Rossberg. 4) Fix pmtu discovery for local generated packets. We may fail dispatch to the inner address family. As a reault, the local error handler is not called and the mtu value is not reported back to userspace. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 998eb8079f03f44d4017d7941c082b4a57eb2db8 Merge: e9829b9 1a49a2f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 07:39:07 2015 -0700 Merge branch 'dsa-port_fdb_dump' Vivien Didelot says: ==================== net: dsa: implement port_fdb_dump in drivers Not all switch chips provide a Get Next kind of operation to dump FDB entries. It is preferred to let the driver handle the dump operation the way it works best for the chip. Thus, drop port_fdb_getnext and implement the port_fdb_dump operation in DSA, which pushes the switchdev FDB dump callback down to the drivers. mv88e6xxx is the only driver affected and is updated accordingly. v3 -> v4: fix rejects on latest net-next v2 -> v3: opencode switchdev_obj_dump_cb_t to avoid multiple typedef; use ether_addr_copy in fdb_dump v1 -> v2: fix a few "return err" instead of "goto unlock" in mv88e6xxx.c ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a49a2fbf8c15d63a0b5e60d935ec7d5d3d07fd5 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:43 2015 -0400 net: dsa: remove port_fdb_getnext No driver implements port_fdb_getnext anymore, and port_fdb_dump is preferred anyway, so remove this function from DSA. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c49471b6695c5bac0d36c30ca07b8c311cd7cc3 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:42 2015 -0400 net: dsa: mv88e6xxx: remove port_fdb_getnext Now that port_fdb_dump is implemented and even simpler, get rid of port_fdb_getnext. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f33475bd678e3c052f585d5660373ee7e957c742 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:41 2015 -0400 net: dsa: mv88e6xxx: implement port_fdb_dump Implement the port_fdb_dump DSA operation. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0e1a692ff17a37031af03599fbb3666e82c777b Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:40 2015 -0400 net: dsa: mv88e6xxx: write MAC outside of ATU Get Next code There is no need to write the MAC address before every Get Next operation, since ATU MAC registers are not cleared between calls. Move the _mv88e6xxx_atu_mac_write call outside of _mv88e6xxx_atu_getnext so future code could call ATU Get Next multiple times and save a few register access. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36d04ba127eeed94b003155129c7509a2139b474 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:39 2015 -0400 net: dsa: mv88e6xxx: write VID outside of VTU Get Next code There is no need to write the VLAN ID before every Get Next operation, since the VTU VID register is not cleared between calls. Move the VID write call in a _mv88e6xxx_vtu_vid_write function outside of _mv88e6xxx_vtu_getnext so future code could call VTU Get Next multiple times and save a few register accesses. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea70ba980666cffacb57d90d867b2c7952d90700 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 22 09:34:38 2015 -0400 net: dsa: add port_fdb_dump function Not all switch chips support a Get Next operation to iterate on its FDB. So add a more simple port_fdb_dump function for them. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d46a9d678e4c9fac1e968d0593e4dba683389324 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 08:42:22 2015 -0700 net: ipv6: Dont add RT6_LOOKUP_F_IFACE flag if saddr set 741a11d9e410 ("net: ipv6: Add RT6_LOOKUP_F_IFACE flag if oif is set") adds the RT6_LOOKUP_F_IFACE flag to make device index mismatch fatal if oif is given. Hajime reported that this change breaks the Mobile IPv6 use case that wants to force the message through one interface yet use the source address from another interface. Handle this case by only adding the flag if oif is set and saddr is not set. Fixes: 741a11d9e410 ("net: ipv6: Add RT6_LOOKUP_F_IFACE flag if oif is set") Cc: Hajime Tazaki <thehajime@xxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 001cf5048e99df7ddac2716ee9958083488b6071 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Oct 22 11:02:48 2015 +0200 of/overlay: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit e9829b9745b6e1683fd2a90842da498a2197299e Merge: c7fc9eb e5a9f8d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 07:28:41 2015 -0700 Merge tag 'mac80211-next-for-davem-2015-10-21' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== Here's another set of patches for the current cycle: * I merged net-next back to avoid a conflict with the * cfg80211 scheduled scan API extensions * preparations for better scan result timestamping * regulatory cleanups * mac80211 statistics cleanups * a few other small cleanups and fixes ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7fad948a7c22cf47ef4e3c3127cd961ff5e2d394 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Oct 22 11:02:49 2015 +0200 of/platform: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression n; expression root,e; @@ for_each_child_of_node(root,n) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 8363ccb917c6bd497392f5a6b716f46213d86495 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Oct 22 11:02:51 2015 +0200 of/irq: add missing of_node_put for_each_matching_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression n; expression e; identifier l; @@ for_each_matching_node(n,...) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? goto l; ) ... } ... l: ... when != n // </smpl> Besides the issue found by the semantic patch, this code also stores the device_node value in a list, which requires an of_node_get, and then cleans up the list on exit from the function, which requires an of_node_put. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 855ff2878ec5ef15f0a69a528b2ca676edfb3ee4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Oct 22 11:02:50 2015 +0200 of/unittest: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Combine the puts into code at the end of the function, for conciseness. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 468a32082b04c7febccfcd55b06ecbc438fcddcc Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Fri Oct 9 15:47:41 2015 +0200 spi: omap2-mcspi: disable other channels CHCONF_FORCE in prepare_message Since the "Switch driver to use transfer_one" change, the cs_change behavior has changed and a channel chip select can still be asserted when changing channel from a previous last transfer in a message having the cs_change attribute. Since there is no sense having multiple chip select being asserted at the same time, disable all the remaining forced chip selects in a the prepare_message called right before a spi_transfer_one_message call. It ignores the current channel configuration in order to keep the possibility to leave the chip select asserted between messages. It fixes this bug on a DM8168 SoC ES2.1 Soc and an OMAP4 ES2.1 SoC. It was hanging all the other channels transfers when a CHCONF_FORCE is present on the wrong channel. Fixes: b28cb9414db9 ("spi: omap2-mcspi: Switch driver to use transfer_one") Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Reviewed-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e300745a4c60f424eaf7c7b7cc6bab3e56380c89 Author: Uri Mashiach <uri.mashiach@xxxxxxxxxxxxxx> Date: Wed Oct 21 13:47:44 2015 +0300 devicetree: bindings: Document CompuLab vendor Add CompuLab Ltd. to the list of device tree vendor prefixes. CompuLab manufacturers ARM-based computer-on-module, system-on-module products, and miniature fanless-PCs. Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Uri Mashiach <uri.mashiach@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 656875dfdb7b392eafa00abef5a71c0ef741471b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 16:23:06 2015 +0200 serial: pl011: Spelling s/clocks-names/clock-names/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f517256a68670b84528c45b6f60f21461bb2c60f Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Oct 20 16:03:03 2015 -0500 Documentation/devicetree: Update PCI Device Tree bindings Update broken links to PCI bus and interrupt mapping bindings. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 92a93fd5bbe7dbe0ee7322c92e44a820f62bef90 Merge: 4ef7ea9 c96356a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 07:23:25 2015 -0700 Merge branch 'isdn-null-deref' Karsten Keil says: ==================== Fix potential NULL pointer access and memory leak in ISDN layer2 functions Insu Yun did brinup the issue with not checking the skb_clone() return value in the layer2 I-frame ull functions. This series fix the issue in a way which avoid protocol violations/data loss on a temporary memory shortage. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93e39a11520c000c9086215460bf27b35b09c724 Author: Mythri P K <mythri.p.k@xxxxxxxxx> Date: Tue Oct 20 22:30:08 2015 +0530 ASoC: dapm: Add snd_soc_dapm_kcontrol_widget() Given a kcontrol, we may want to access the parent widget and it's associated data. So export function to return it. Signed-off-by: Mythri P K <mythri.p.k@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 9b8ef9f6b3fcccc2b6ce4bb59d8ab55b36a8b8f0 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Tue Oct 20 22:30:07 2015 +0530 ASoC: dapm: Add startup & shutdown for dai_links For DAI link events, DSPs would like to get notified for startup and shutdown event as well apart for existing hw_params. This helps managing DSP resource allocation and freeup on these events So add support for startup and shutdown for snd_soc_dai_link_event() Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 19a2557b76d64f26c761925cb4fecefb5d72c099 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Tue Oct 20 22:30:06 2015 +0530 ASoC: dapm: Add kcontrol support for PGAs For DSPs we can define processing blocks as DAPM PGA widgets. Some of these proceesing blocks can be configured by usermode like EQ etc. So we need to add support of kcontrol for PGA widgets. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Mythri P K <mythri.p.k@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c96356a9baa2e3d628caf52f3b83df1968628b5f Author: Karsten Keil <keil@xxxxxxxxxxxxx> Date: Wed Oct 21 14:18:39 2015 +0200 mISDN: fix OOM condition for sending queued I-Frames The old code did not check the return value of skb_clone(). The extra skb_clone() is not needed at all, if using skb_realloc_headroom() instead, which gives us a private copy with enough headroom as well. We need to requeue the original skb if the call failed, because we cannot inform upper layers about the data loss. Restructure the code to minimise rollback effort if it happens. This fix kernel bug #86091 Thanks to Insu Yun <wuninsu@xxxxxxxxx> to remind me on this issue. Signed-off-by: Karsten Keil <keil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7a7c95e8e18a3598c4d0f99c35e69dce591daf1 Author: Karsten Keil <keil@xxxxxxxxxxxxx> Date: Wed Oct 21 14:18:38 2015 +0200 ISDN: fix OOM condition for sending queued I-Frames The skb_clone() return value was not checked and the skb_realloc_headroom() usage was wrong, the old skb was not freed. It turned out, that the skb_clone is not needed at all, the skb_realloc_headroom() will create a private copy with enough headroom and the original SKB can be used for the ACK queue. We need to requeue the original skb if the call failed, since the upper layer cannot be informed about memory shortage. Thanks to Insu Yun <wuninsu@xxxxxxxxx> to remind me on this issue. Signed-off-by: Karsten Keil <keil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f92ce7618f0cb0ced87ea1cfe994d2e8473c61b4 Merge: 307751e eb3fcf0 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Oct 22 09:22:09 2015 -0500 Merge branch 'dt-doc-cleanup' into for-next commit eb3fcf007fffe5830d815e713591f3e858f2a365 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Oct 1 22:24:09 2015 -0500 dt-bindings: consolidate interrupt controller bindings Move various interrupt controller bindings into the interrupt-controller/ directory. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx> Cc: linux-mediatek@xxxxxxxxxxxxxxxxxxx commit 62bc9f15e443c3ca02e47f13f339bd7993ae1e65 Author: Rob Herring <robh@xxxxxxxxxx> Date: Fri Sep 25 23:37:27 2015 -0500 dt-bindings: merge ina209 binding into ina2xx binding The ina209 binding only differs from other ina2xx bindings in the compatible string, so add it to the common binding and remove the ina209 binding file. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 5b0277af2e21c4ef4a12572badf66a4a4e827d51 Author: Rob Herring <robh@xxxxxxxxxx> Date: Fri Sep 25 23:29:00 2015 -0500 dt-bindings: move Calxeda bindings to appropriate subsystems Move the Calxeda memory controller and PHY bindings to appropriate subsystem directories. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 24aa40d3c122e57096a314b2503c1e4101f2e84f Author: Rob Herring <robh@xxxxxxxxxx> Date: Fri Sep 25 23:26:58 2015 -0500 dt-bindings: consolidate USB PHYs in bindings/phy Move USB PHY bindings under usb directory to phy directory which already contains other USB PHY bindings. The Samsung USB PHY binding is obsolete and can be removed. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit d9d41df3e8ef39b7b2cfeb4e9a2ba5c7cf7cad88 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Sep 3 17:50:01 2015 -0500 dt-bindings: consolidate various misc bindings Move various bindings in misc to appropriate subsystem directories. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 4f2f76f1255444c034c7f95fbaa62b19387936a3 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Sep 3 17:49:07 2015 -0500 dt-bindings: consolidate RNG bindings We have RNG bindings in hwrng/ and rng/. Consolidate them all under rng/. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 58598f5be4fc15070fcb95a2ff36b7b966c3dee7 Author: Rob Herring <robh@xxxxxxxxxx> Date: Thu Sep 3 17:47:47 2015 -0500 dt-bindings: consolidate eeprom bindings Create a top level eeprom binding directory and move several scattered binding files there. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 7755313e69aac99800c617ea835d86cd06f7f54c Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Sep 21 10:50:52 2015 -0500 dt-bindings: move backlight bindings under leds Backlights are generally a subtype of LEDs at least from a software point of view if not always electrically. Move the bindings from the video directory to underneath the leds dir. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit efdbd7345f8836f7495f3ac6ee237d86cb3bb6b0 Author: Rob Herring <robh@xxxxxxxxxx> Date: Mon Sep 21 10:51:09 2015 -0500 dt-bindings: consolidate display related bindings This is a quite large renaming to consolidate display related bindings into a single "display" directory from various scattered locations of video, drm, gpu, fb, mipi, and panel. The prior location was somewhat based on the Linux driver location, but bindings should be independent of that. Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 4ef7ea9195ea73262cd9730fb54e1eb726da157b Author: Jorgen Hansen <jhansen@xxxxxxxxxx> Date: Wed Oct 21 04:53:56 2015 -0700 VSOCK: sock_put wasn't safe to call in interrupt context In the vsock vmci_transport driver, sock_put wasn't safe to call in interrupt context, since that may call the vsock destructor which in turn calls several functions that should only be called from process context. This change defers the callling of these functions to a worker thread. All these functions were deallocation of resources related to the transport itself. Furthermore, an unused callback was removed to simplify the cleanup. Multiple customers have been hitting this issue when using VMware tools on vSphere 2015. Also added a version to the vmci transport module (starting from 1.0.2.0-k since up until now it appears that this module was sharing version with vsock that is currently at 1.0.1.0-k). Reviewed-by: Aditya Asarwade <asarwade@xxxxxxxxxx> Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Jorgen Hansen <jhansen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7fc9eb79a89049214f9870a6cf978050aaea43a Author: yankejian <yankejian@xxxxxxxxxx> Date: Wed Oct 21 17:57:44 2015 +0800 net: hisilicon: deals with the sub ctrl by syscon the global Soc configuration is treated by syscon, and sub ctrl bus is Soc bus. it has to be treated by syscon. Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: lisheng <lisheng011@xxxxxxxxxx> Signed-off-by: lipeng <lipeng321@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47191d65b647af5eb5c82ede70ed4c24b1e93ef4 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Wed Oct 21 11:47:43 2015 +0200 netlink: fix locking around NETLINK_LIST_MEMBERSHIPS Currently, NETLINK_LIST_MEMBERSHIPS grabs the netlink table while copying the membership state to user-space. However, grabing the netlink table is effectively a write_lock_irq(), and as such we should not be triggering page-faults in the critical section. This can be easily reproduced by the following snippet: int s = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE); void *p = mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0); int r = getsockopt(s, 0x10e, 9, p, (void*)((char*)p + 4092)); This should work just fine, but currently triggers EFAULT and a possible WARN_ON below handle_mm_fault(). Fix this by reducing locking of NETLINK_LIST_MEMBERSHIPS to a read-side lock. The write-lock was overkill in the first place, and the read-lock allows page-faults just fine. Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39e69f55f85731d9c0320c03212a4d1f149464f0 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Tue May 27 01:51:31 2014 +0530 powerpc: Introduce the use of the managed version of kzalloc This patch moves data allocated using kzalloc to managed data allocated using devm_kzalloc and cleans now unnecessary kfree in probe function. The following Coccinelle semantic patch was used for making the change: @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e, e1, e2; @@ probefn(struct platform_device *pdev, ...) { <+... - e = kzalloc(e1, e2) + e = devm_kzalloc(&pdev->dev, e1, e2) ... ?-kfree(e); ...+> } Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> commit ffcea122c42a856ac22dea75dc165fa070849f26 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Jul 21 09:21:13 2015 +0200 powerpc: mpc512x: drop bogus and unused psc register bit definitions These were introduced in commit 25ae3a0739c6 ("[POWERPC] mpc512x: Add MPC512x PSC support to MPC52xx psc driver") and never used. Moreover according to the datasheet[1] MEMERROR is bit 25 (0x40) and ORERR is bit 27 (0x10). [1] MPC5125RM Rev. 2; 11/2009 Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> commit e9e6d79c521b91e7103fea37411680e31927487b Merge: aec1592 b08f2b3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 07:04:08 2015 -0700 Merge branch 'cxgb4-trivial-fixes' Hariprasad Shenai says: ==================== Trivial fixes for cxgb4 driver This patch series updates driver description for next gen. adapters, updates firmware info., returns error for setup_rss error case, restores L1 configuration in case of FW rejects new config, updates and aligns ethtool get stats settings, etc 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. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b08f2b35692e640e942deb49bbabe47a264f0023 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:57 2015 +0530 cxgb4: Update ethtool get_drvinfo to get regdump len Update ethtool get_drvinfo to display regdump len and also update firmware string version print to display N/A in case FW isn't present Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c673d156256f427657f0114eea981aaeefa3828 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:56 2015 +0530 cxgb4: Use vmalloc, if kmalloc fails Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ac5fe75df57299cfbd89eb35a36d979742a69d8 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:55 2015 +0530 cxgb4: Return error if setup_rss is called before probe Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52a5f8463b10e49da93190dd0ee24e7f1c4860fd Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:54 2015 +0530 cxgb4/cxgb4vf: Update driver desc. to include Chelsio T6 adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43eb4e82ebf7e3442a724ab9ecd69322eccad530 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:53 2015 +0530 cxgb4: Add info print to display number of MSI-X vectors allocated Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4116542897be9cb5eaae7fdbfd5b2ddeaaaaeaef Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:52 2015 +0530 cxgb4: Restore L1 cfg, if FW rejects new L1 cfg settings In the ethtool set_settings() routine we need to remember our old L1 Configuration in case the firmware rejects the request and then restore that. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9bfdad5ef555d92639a8b2a9e75e1f51ea3235d6 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:51 2015 +0530 cxgb4: Don't disallow turning off auto-negotiation For {1, 10, 40} Gb/s. Prohibiting turning off autonegotiation isn't anywhere in the standard. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eed7342d4b53a697603d568ab8d10561273def42 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 21 14:39:50 2015 +0530 cxgb4: Align ethtool get stat settings Align the ethtool get stats settings with the rest so it looks uniform Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aec15924740edc9886051593bc7769873be9498b Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Tue Oct 20 23:00:10 2015 -0700 openvswitch: Use dev_queue_xmit for vport send. With use of lwtunnel, we can directly call dev_queue_xmit() rather than calling netdev vport send operation. Following change make tunnel vport code bit cleaner. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99e28f18e3f4daa2091802e07ebeb4f541631320 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Tue Oct 20 20:47:46 2015 -0700 openvswitch: Fix incorrect type use. Patch fixes following sparse warning. net/openvswitch/flow_netlink.c:583:30: warning: incorrect type in assignment (different base types) net/openvswitch/flow_netlink.c:583:30: expected restricted __be16 [usertype] ipv4 net/openvswitch/flow_netlink.c:583:30: got int Fixes: 6b26ba3a7d ("openvswitch: netlink attributes for IPv6 tunneling") Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Acked-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b696e5e93835cee114f24b5b106c73f9f8503ec0 Author: Helge Deller <deller@xxxxxx> Date: Thu Oct 22 15:45:18 2015 +0200 parisc: reduce syslog debug output Signed-off-by: Helge Deller <deller@xxxxxx> commit aa0bdd2995fb991f0c0f0145303803a0474c93e2 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Sep 19 11:43:07 2015 +0800 parisc: serial/mux: Convert to uart_console_device instead of open-coded The implementation of mux_console_device() is very similar to uart_console_device(). Setting .data field in mux_console then we can convert to use uart_console_device(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Helge Deller <deller@xxxxxx> commit 7bc2d40ea690a37eccc2f514c96c56fdcda626b5 Author: Helge Deller <deller@xxxxxx> Date: Tue Sep 8 15:45:32 2015 +0200 parisc: Wire up userfaultfd syscall Signed-off-by: Helge Deller <deller@xxxxxx> commit b6096755f43c443101e6f5d3acc74efa746cb4ec Author: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Date: Mon Sep 7 12:15:51 2015 -0400 parisc: allocate sys_membarrier system call number Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Tested-by: Helge Deller <deller@xxxxxx> CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> CC: linux-api@xxxxxxxxxxxxxxx CC: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> CC: linux-parisc@xxxxxxxxxxxxxxx Signed-off-by: Helge Deller <deller@xxxxxx> commit 721daebbdb9ba44756a9695878ecca8aad38009b Merge: 63b11e7 3911169 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 22 06:42:23 2015 -0700 Merge branch 'bpf-perf' Alexei Starovoitov says: ==================== bpf_perf_event_output helper Over the last year there were multiple attempts to let eBPF programs output data into perf events by He Kuang and Wangnan. The last one was: https://lkml.org/lkml/2015/7/20/736 It was almost perfect with exception that all bpf programs would sent data into one global perf_event. This patch set takes different approach by letting user space open independent PERF_COUNT_SW_BPF_OUTPUT events, so that program output won't collide. Wangnan is working on corresponding perf patches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39111695b1b88a21e81983a38786d877e770da81 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Oct 20 20:02:35 2015 -0700 samples: bpf: add bpf_perf_event_output example Performance test and example of bpf_perf_event_output(). kprobe is attached to sys_write() and trivial bpf program streams pid+cookie into userspace via PERF_COUNT_SW_BPF_OUTPUT event. Usage: $ sudo ./bld_x64/samples/bpf/trace_output recv 2968913 events per sec Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a43eec304259a6c637f4014a6d4767159b6a3aa3 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Oct 20 20:02:34 2015 -0700 bpf: introduce bpf_perf_event_output() helper This helper is used to send raw data from eBPF program into special PERF_TYPE_SOFTWARE/PERF_COUNT_SW_BPF_OUTPUT perf_event. User space needs to perf_event_open() it (either for one or all cpus) and store FD into perf_event_array (similar to bpf_perf_event_read() helper) before eBPF program can send data into it. Today the programs triggered by kprobe collect the data and either store it into the maps or print it via bpf_trace_printk() where latter is the debug facility and not suitable to stream the data. This new helper replaces such bpf_trace_printk() usage and allows programs to have dedicated channel into user space for post-processing of the raw data collected. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa128e6a148a0a58355bd6814c6283515bbd028a Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Oct 20 20:02:33 2015 -0700 perf: pad raw data samples automatically Instead of WARN_ON in perf_event_output() on unpaded raw samples, pad them automatically. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 63b11e757d6dae570bc22450ec58a5b68cdf5c3c Author: Brenden Blanco <bblanco@xxxxxxxxxxxx> Date: Tue Oct 20 16:47:33 2015 -0700 ipvlan: read direct ifindex instead of iflink In the ipv4 outbound path of an ipvlan device in l3 mode, the ifindex is being grabbed from dev_get_iflink. This works for the physical device case, since as the documentation of that function notes: "Physical interfaces have the same 'ifindex' and 'iflink' values.". However, if the master device is a veth, and the pairs are in separate net namespaces, the route lookup will fail with -ENODEV due to outer veth pair being in a separate namespace from the ipvlan master/routing namespace. ns0 | ns1 | ns2 veth0a--|--veth0b--|--ipvl0 In ipvlan_process_v4_outbound(), a packet sent from ipvl0 in the above configuration will pass fl.flowi4_oif == veth0a to ip_route_output_flow(), but *net == ns1. Notice also that ipv6 processing is not using iflink. Since there is a discrepancy in usage, fixup both v4 and v6 case to use local dev variable. Tested this with l3 ipvlan on top of veth, as well as with single physical interface in the top namespace. Signed-off-by: Brenden Blanco <bblanco@xxxxxxxxxxxx> Reviewed-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34e45ad9378c31ef2b59e8bd63d62f0ca8e719a3 Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Oct 20 16:28:57 2015 -0500 net: phy: dp83848: Add TI DP83848 Ethernet PHY Add support for the TI DP83848 Ethernet PHY device. The DP83848 is a highly reliable, feature rich, IEEE 802.3 compliant single port 10/100 Mb/s Ethernet Physical Layer Transceiver supporting the MII and RMII interfaces. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba40a854ea4f9d81368dc023bd25ac4073058039 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 9 18:16:36 2015 -0400 ASoC: Intel: switch from ioremap_cache to memremap In preparation for deprecating ioremap_cache() convert its usage in skl-nhlt to memremap. Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dbf650b67bb4db1b95807d2aafe2d7cfafd458da Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Oct 20 13:17:40 2015 -0700 tcp: fastopen: limit max_qlen Allowing an application to set whatever limit for the list of recently RST fastopen sessions [1] is not wise, as it open ways to deplete kernel memory. Cap the user provided limit by somaxconn sysctl, like listen() backlog. [1] https://tools.ietf.org/html/rfc7413#section-5.1 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de03fe287bb62e7961ea51d8a1bbae3167852252 Author: Alexander Popov <alex.popov@xxxxxxxxx> Date: Mon Oct 12 00:08:02 2015 +0300 powerpc/512x: add a device tree binding for LocalPlus Bus FIFO Add a device tree binding for Freescale MPC512x LocalPlus Bus FIFO and introduce the document describing that binding. Signed-off-by: Alexander Popov <alex.popov@xxxxxxxxx> Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> commit 1a4bb93f795502e7e8350d4af1aa5909f15ffc28 Author: Alexander Popov <alex.popov@xxxxxxxxx> Date: Mon Oct 12 00:08:01 2015 +0300 powerpc/512x: add LocalPlus Bus FIFO device driver This driver for Freescale MPC512x LocalPlus Bus FIFO (called SCLPC in the Reference Manual) allows Direct Memory Access transfers between RAM and peripheral devices on LocalPlus Bus. Signed-off-by: Alexander Popov <alex.popov@xxxxxxxxx> Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> commit 6f6ddbb09d2a5baded0e23add3ad2d9e9417ab30 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Wed Oct 21 15:44:03 2015 +0200 i2c: at91: fix write transfers by clearing pending interrupt first In some cases a NACK interrupt may be pending in the Status Register (SR) as a result of a previous transfer. However at91_do_twi_transfer() did not read the SR to clear pending interruptions before starting a new transfer. Hence a NACK interrupt rose as soon as it was enabled again at the I2C controller level, resulting in a wrong sequence of operations and strange patterns of behaviour on the I2C bus, such as a clock stretch followed by a restart of the transfer. This first issue occurred with both DMA and PIO write transfers. Also when a NACK error was detected during a PIO write transfer, the interrupt handler used to wrongly start a new transfer by writing into the Transmit Holding Register (THR). Then the I2C slave was likely to reply with a second NACK. This second issue is fixed in atmel_twi_interrupt() by handling the TXRDY status bit only if both the TXCOMP and NACK status bits are cleared. Tested with a at24 eeprom on sama5d36ek board running a linux-4.1-at91 kernel image. Adapted to linux-next. Reported-by: Peter Rosin <peda@xxxxxxxxxxxxxx> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Tested-by: Peter Rosin <peda@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Fixes: 93563a6a71bb ("i2c: at91: fix a race condition when using the DMA controller") Cc: stable@xxxxxxxxxxxxxxx #4.1 commit 319d7f05dfb148935de46f2c7544ecf1e6332161 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 21 10:09:17 2015 +0300 i2c: designware: Fix build error when !CONFIG_PM_SLEEP Commit ("i2c: designware: Rename platform driver probe and PM functions") introduced "'dw_i2c_plat_prepare' undeclared here" and "'dw_i2c_plat_complete' undeclared here" build errors when CONFIG_PM_SLEEP is not set. Fix this by renaming NULL defined dw_i2c_prepare and dw_i2c_complete PM hooks to dw_i2c_plat_prepare and dw_i2c_plat_complete since this was obviously missing from the commit. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ef3e199a49c8e605e326ae60c5e156bfb1ca7e3d Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Thu Oct 22 13:55:07 2015 +0800 ASoC: Intel: sst: only use sst-firmware when DW DMAC is available Currentlly, we use Synopsys DesignWare DMA Controller for baytrail/haswell/broadwell ADSP firmware loading, but for skylake, we don't use it, compiling sst-firmware.c may introduce error when CONFIG_DW_DMAC_CORE is not enabled: sound/built-in.o: In function `sst_dma_new': (.text+0xd7b38): undefined reference to `dw_dma_probe' sound/built-in.o: In function `sst_dma_free': (.text+0xd7c0a): undefined reference to `dw_dma_remove' Here we only compile sst-firmware when CONFIG_DW_DMAC_CORE is selected, to fix the linking error issue. Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8444f59fd7bd8aa079609e575c0688669b85bfcc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:12:45 2015 +0300 ASoC: wm2000: a couple harmless underflows We want these to be zero or one, but by mistake we also accept negative values. It's harmless but we should still clean it up. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ab8a54ea7914574c04c0ac441f9ab65ff21abd9 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:11:09 2015 +0300 ASoC: es8328: harmless underflow in es8328_put_deemph() Valid values for "deemph" are zero and one but we accidentally allow negative values as well. It's harmless but it causes static checker warnings and we may as well clean it up. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e2a71b232d6b6270eda72ff659c31c97899c00d Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:10:48 2015 +0300 ASoC: wm8955: harmless underflow in wm8955_put_deemph() Valid values for "deemph" are zero and one, but we mistakenly allow negative values as well. It's harmless but we may as well clean it up. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4d0197a5cad29ee58593eceac85cbb712430cd89 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:10:18 2015 +0300 ASoC: wm8903: harmless underflow in wm8903_put_deemph() Valid values for "deemph" are zero and one, but we accidentally allow negative values as well. It's harmless, but static checkers complain and we may as well clean it up. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c1fe81f2cd30c18d7df444697bac8051fdf2aee6 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:09:19 2015 +0300 ASoC: wm8960: harmless underflow in wm8960_put_deemph() We should only accept "deemph" values of zero and one, but by mistake we accept negatives as well. It's harmless but let's clean it up anyway. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 523bade22428d4c6742dd7bfb4c0259a23bb9ec3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:08:57 2015 +0300 ASoC: wm8731: harmless underflow in wm8731_put_deemph() The code tries to verify that "deemph" is zero or one, but it fails to account for that it can be negative. It's harmless because negatives are treated the same as one, but we should fix it just to silence the static checker warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 931dfa6931448ccfd12d4ccd8d1d9289ceb92439 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 10:08:18 2015 +0300 ASoC: wm8904: harmless underflow in wm8904_put_deemph() We try to check that "deemph" is zero or one, but because of an underflow bug, it can also be negative. It's fine, negative values are handled as non-zero. But it's messy and static checkers complain so let's fix it. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a3e123c1c4dc97b52bfcf57213eefbee9443a9bd Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Oct 12 17:49:52 2015 -0700 regulator: qcom-smd: Correct set_load() unit The set_load() op deals with uA while the SMD packets used mA, so convert as we're building the packet. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6f0c42269f000b1e346c84d9a589f17aa94c96d8 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Tue Oct 13 23:41:00 2015 +0800 ASoC: compress: add config item for soc-compress to make it compiled only when needed We don't always need soc-compress in soc, here add a config item SND_SOC_COMPRESS, when nobody select it, the soc-compress will not be compiled. Here also change Kconfig to 'select SND_SOC_COMPRESS' for drivers that needed soc-compress. Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26d9ca3462df8f7e83fc372b23c8da5ed2b1c4f3 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 17:04:33 2015 +0200 ASoC: Let snd_soc_limit_volume() take a snd_soc_card snd_soc_limit_volume() operates on a card and the CODEC that is passed in is only used to look up the card. Let it directly take the card instead. This makes it possible to use it when no snd_soc_codec is available. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0729a04977d497cf66234fd7f900ddcec3ef1c52 Author: Hezi Shahmoon <hezi@xxxxxxxxxxx> Date: Tue Oct 20 16:32:24 2015 +0200 i2c: mv64xxx: really allow I2C offloading Commit 00d8689b85a7 ("i2c: mv64xxx: rework offload support to fix several problems") completely reworked the offload support, but left a debugging-related "return false" at the beginning of the mv64xxx_i2c_can_offload() function. This has the unfortunate consequence that offloading is in fact never used, which wasn't really the intention. This commit fixes that problem by removing the bogus "return false". Fixes: 00d8689b85a7 ("i2c: mv64xxx: rework offload support to fix several problems") Signed-off-by: Hezi Shahmoon <hezi@xxxxxxxxxxx> [Thomas: reworked commit log and title.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit 7e610890b554951dc9afa20d22573761ca2915d6 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Oct 20 16:04:12 2015 +0100 powerpc: platforms: mpc52xx_lpbfifo: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Anatolij Gustschin <agust@xxxxxxx> commit 83ea24fd45f8793706b9a259842ab3f144661e25 Author: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Date: Thu Oct 15 18:23:32 2015 +0530 gpio: xlp: Convert to use gpiolib irqchip helpers commit "325f0a (MIPS: Netlogic: Use chip_data for irq_chip methods)" Updates "mips/netlogic/common/irq.c" to use chip_data to store interrupt controller data pointer. Before this commit handler_data was used to store interrupt controller data which caused errors while using gpiochip_set_chained_irqchip. Update XLP GPIO driver to use the gpiolib irqchip helpers. And add missing depends on OF_GPIO in Kconfig. Signed-off-by: Kamlakant Patel <kamlakant.patel@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 58c9c87ca9dca99f269267f5aadcd051fef1637b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Oct 22 14:34:57 2015 +0200 genirq: Make the cpuhotplug migration code less noisy The original arm code has a pr_debug() statement for the case where the irq chip has no set_affinity() callback. That's sufficient for debugging and we really don't want to spam dmesg with useless warnings for the normal case. Fixes: f1e0bb0ad473: "genirq: Introduce generic irq migration for cpu hotunplug" Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Requested-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Yang Yingliang <yangyingliang@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> commit fc42112c0eaa6fc7c7fe61f8c6fb91b204b4d31d Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Oct 20 14:37:28 2015 +0200 regulator: core: Propagate voltage changes to supply regulators Until now changing the voltage of a regulator only ever effected the regulator itself, but never its supplies. It's a common pattern though to put LDO regulators behind switching regulators. The switching regulators efficiently drop the input voltage but have a high ripple on their output. The output is then cleaned up by the LDOs. For higher energy efficiency the voltage drop at the LDOs should be minimized. For this scenario we need to propagate the voltage change to the supply regulators. Another scenario where voltage propagation is desired is a regulator which only consists of a switch and thus cannot regulate voltages itself. In this case we can pass setting voltages to the supply. This patch adds support for voltage propagation. We do voltage propagation when the current regulator has a minimum dropout voltage specified or if the current regulator lacks a get_voltage operation (indicating it's a switch and not a regulator). Changing the supply voltage must be done carefully. When we are increasing the current regulators output we must first increase the supply voltage and then the regulator itself. When we are decreasing the current regulators voltage we must decrease the supply voltage after changing the current regulators voltage. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2098bf215f85fd92175bd9f851cfdc5df5b736e4 Merge: a204f41 5abe4f2 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Oct 22 13:34:04 2015 +0100 Merge remote-tracking branch 'regulator/topic/dropout' into HEAD commit 16566e47098211e30b3d8a0bc6a3576871ada8e8 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Oct 21 09:46:05 2015 +0800 ASoC: rt5640: Fill up the IN3's support Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 841fdde143a84cb71e168b4131e58e613d978e2a Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Oct 21 09:46:05 2015 +0800 ASoC: rt5640: Revise the input pin name of IN1 and IN2 in document of the devicetree Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4eb0f7abcefad2d4c127aa7502d3122635eddab0 Author: Jiada Wang <jiada_wang@xxxxxxxxxx> Date: Tue Oct 20 11:47:11 2015 +0900 ASoC: wm8962: mark cache_dirty flag after software reset in pm_resume By doing software reset of wm8962 in pm_resume, all registers which have already been set will be reset to default value without regmap interface be involved, thus driver need to mark cache_dirty flag, to let regcache can be updated by regcache_sync(). Signed-off-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b415b4d3122a466f3a73d86a1dd2dcdc13de7ef3 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:15:46 2015 +0000 ASoC: rsnd: remove duplicate parameter from rsnd_ssi_xxx() rsnd_ssi_use_busif() and rsnd_ssi_is_pin_sharing() are the function which returns current SSI status. But these requests duplicated parameter. This patch removes duplicated parameter. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 69819f527afba7a909a2aba32521a3bea8e3b60b Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:15:26 2015 +0000 ASoC: rsnd: remove unused rsnd_dma_to_ssi() macro rsnd_dma_to_ssi() is no longer used, let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c9929345018927acaf52c14c57d78116067be6c9 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:15:04 2015 +0000 ASoC: rsnd: rename rsnd_mod_hw_start/stop to rsnd_mod_power_on/off rsnd_mod_hw_start/stop were unclear naming. It became rsnd_mod_power_on/off by this patch Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 89e3e2c352a523be46be5104bf18e200a8ccd444 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:14:43 2015 +0000 ASoC: rsnd: fixup rsnd_dai_call() behavior for .stop/.quit Current rsnd_dai_call returns immediately if rsnd_mod_call return fail. Thus, each callback-count can be unbalanced for example .init was OK, start was OK, but, .stop was not OK. This case .quit should be called but isn't called. And, rsnd_dai_stream_quit() also not be called. rsnd_dai_call() should call all .stop/.quit eventhough it returns error. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 32a96d558d02581c32b09401b8aa5eecb3965d3e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:14:21 2015 +0000 ASoC: rsnd: fixup rsnd_dai_call() behavior for unimplemented method Current rsnd_dai_call didn't count callback-count if callback wasn't implemented. Thus, it counts can be unbalance. ex) .start : implemented .stop : not implemented This patch solve this issue Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1355720a3b3eba5604431d89d5cf69ce4ad51311 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:14:02 2015 +0000 ASoC: rsnd: fixup rsnd_mod_call() behavior for debug Indicating each module method as debug message before executing is readable/understandable. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b05ce4c0916dec0e31a12c35a3386e3ca3ed989a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:13:44 2015 +0000 ASoC: rsnd: fixup devm_request_irq() option on ssi.c bfc0cfe("ASoC: rsnd: don't use rsnd_mod_to_io() on rsnd_ssi_xxx()") tidyuped devm_request_irq() option from ssi to mod, but devm_free_irq() on rsnd_ssi_dma_remove() didn't modified. This patch fixups this issue. Otherwise kernel will output WARNING message. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9993c16d460e2965da4357575060373a5577167a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:13:27 2015 +0000 ASoC: rsnd: fixup struct rsnd_gen::res array size struct rsnd_gen :: res array size should be RSND_BASE_MAX, not RSND_REG_MAX. This patch fixup it, and indicates whether each data array size is based on what Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c9b9638f617871aa83c197eed8f068294c843b69 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 22 03:13:06 2015 +0000 ASoC: rsnd: fixup print debug message after read debug meesage for rsnd_mod_read() should be prints after read Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f9e3dc786a585e1ec371c446c62dcc77d0548629 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Oct 21 17:22:43 2015 +0300 drm/i915: add hotplug activation period to hotplug update mask commit 0706f17c307b056ff6f1848320ba82d76945a6ff Author: Egbert Eich <eich@xxxxxxx> Date: Wed Sep 23 16:15:27 2015 +0200 drm/i915: Avoid race of intel_crt_detect_hotplug() with HPD interrupt, v2 added a check with WARN to ensure only bits within the mask are enabled. Turns out that doesn't hold for G4X, which spits out: [ 2.641439] ------------[ cut here ]------------ [ 2.641444] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/i915/i915_irq.c:182 i915_hotplug_interrupt_update_locked+0x45/0x83() [ 2.641446] WARN_ON(bits & ~mask) etc. Add CRT_HOTPLUG_ACTIVATION_PERIOD_64 to the mask to fix the warning. Reported-and-tested-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> References: https://bugzilla.kernel.org/show_bug.cgi?id=104991 Fixes: 0706f17c307b ("drm/i915: Avoid race of intel_crt_detect_hotplug() with HPD interrupt, v2") Cc: Egbert Eich <eich@xxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445437363-3030-1-git-send-email-jani.nikula@xxxxxxxxx commit 45efccdbec3cd465c4776ed9ca1d7b1bba1b7e34 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 19 18:02:01 2015 -0700 netfilter: xt_TEE: fix NULL dereference iptables -I INPUT ... -j TEE --gateway 10.1.2.3 <crash> because --oif was not specified tee_tg_check() sets ->priv pointer to NULL in this case. Fixes: bbde9fc1824a ("netfilter: factor out packet duplication for IPv4/IPv6") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 13972adc3240ea8b18b44906b819c622941a64b6 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 22 12:29:27 2015 +0200 Bluetooth: Increase minor version of core module With the addition of support for diagnostic feature, it makes sense to increase the minor version of the Bluetooth core module. The module version is not used anywhere, but it gives a nice extra hint for debugging purposes. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit aeedebff6961d96e9df58799e6c3a93513d6f66b Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Oct 22 12:11:27 2015 +0200 ieee802154: 6lowpan: fix memory leak Looking at current situation of memory management in 6lowpan receive function I detected some invalid handling. After calling lowpan_invoke_rx_handlers we will do a kfree_skb and then NET_RX_DROP on error handling. We don't do this before, also on skb_share_check/skb_unshare which might manipulate the reference counters. After running some 'grep -r "dev_add_pack" net/' to look how others packet-layer receive callbacks works I detected that every subsystem do a kfree_skb, then NET_RX_DROP without calling skb functions which might manipulate the skb reference counters. This is the reason why we should do the same here like all others subsystems. I didn't find any documentation how the packet-layer receive callbacks handle NET_RX_DROP return values either. This patch will add a kfree_skb, then NET_RX_DROP handling for the "trivial checks", in case of skb_share_check/skb_unshare the kfree_skb call will be done inside these functions. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 88d07feb097b60fcca20ba63d2920b0f05a05fa0 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 22 10:49:39 2015 +0300 Bluetooth: Make hci_disconnect() behave correctly for all states There are a few places that don't explicitly check the connection state before calling hci_disconnect(). To make this API do the right thing take advantage of the new hci_abort_conn() API and also make sure to only read the clock offset if we're really connected. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 89e0ccc882c47a4553698a580bec70cd90bc6319 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 22 10:49:38 2015 +0300 Bluetooth: Take advantage of connection abort helpers Convert the various places mapping connection state to disconnect/cancel HCI command to use the new hci_abort_conn helper API. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dcc0f0d9ce839e1cc97b95d9dac364047bd1b975 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 22 10:49:37 2015 +0300 Bluetooth: Introduce hci_req helper to abort a connection There are several different places needing to make sure that a connection gets disconnected or canceled. The exact action needed depends on the connection state, so centralizing this logic can save quite a lot of code duplication. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a1857390e2a626cd44e494968fc1b41891caec66 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 22 12:06:09 2015 +0300 Bluetooth: hci_bcm: checking for ERR_PTR instead of NULL bt_skb_alloc() returns NULL on error, it never returns an ERR_PTR. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ca0752c5e3e6fad83d286a22d729390bd8004aec Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 22 09:48:37 2015 +0900 blkcg: don't create "io.stat" on the root cgroup The stat files on the root cgroup shows stats for the whole system and usually don't contain any information which isn't available through the usual system monitoring mechanisms. Some controllers skip collecting these duplicate stats to optimize cases where cgroup isn't used and later try to emulate the result on demand. This leads to complexities and subtle differences in the information shown through different channels. This is entirely unnecessary and cgroup v2 is dropping stat files which are duplicate from all controllers. This patch removes "io.stat" from the root hierarchy. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jens Axboe <axboe@xxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 336263770f8e0bc386491757c656e370ef442ef9 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Oct 21 00:04:29 2015 +0200 ARM: dts: sun4i: Add dts file for the pov protab2-ips9 tablet The Point of View protab2-ips9 is a tablet with a 9" ips 1024x768 lcd screen, microsd slot, headphones, mini hdmi, mini usb b and power barrel connectors. It uses a rtl8188cus usb wifi chip and a RDA 5875Y bluetooth chip attached to uart2. It has a bma250 accelerometer attached to i2c1 addr 0x18, this only works when ldo3 is set to 2.8 volt, otherwise i2c1 gets stuck, so for now we mark i2c1 as failed. It has a pixcir,pixcir_tangoc compatible touchscreen attached to i2c2 addr 0x5c. This is not enabled in this dts, because this variant of the pixcir_tangoc has separate wakeup and enable pins both of which need to be driven low before the touchscreen will work. Before we can enable this the pixcir driver and devicetree-bindings need to be extended to support these pins. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 39efe82a0275ea1dbef72d3be567ff8da826f1cd Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 22 12:30:26 2015 +0800 ARM: sun4i: Enable cubieboard audio codec The cubieboard uses the internal codec to output sound to its mini-jack. Enable it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit e54693ed82ae0fee934a21328536751afd293c80 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 28 10:37:01 2015 +0200 ARM: sun5i: chip: Enable the audio codec The CHIP v0.2 has a composite output on a mini-jack connector, the audio part being provided by the on-SoC codec. Enable it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit bc8362e6ec63d870cd51df7479f7e923e30c2c2a Author: Marcus Cooper <codekipper@xxxxxxxxx> Date: Wed Jun 10 16:31:01 2015 +0200 ARM: sun4i: Enable audio-codec on Mele A1000 Enable the audio-codec on the Mele A1000 top-set box. Signed-off-by: Marcus Cooper <codekipper@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 4d6b0f8e8638357b8c350f9c50ca5b742093be07 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri May 1 22:39:45 2015 +0200 ARM: sun7i: Enable cubieboard2 audio codec The cubieboard2 uses the internal codec to output sound to its mini-jack. Enable it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit faef4af445b030f148463a60a1efc62997ed49b4 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 18 01:10:05 2014 -0300 ARM: sun7i: dt: enable audio codec on Cubietruck This commit enables the on-chip audio codec present on the A20 SoC for the Cubietruck. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 4ba792e303e278052bb0ee60cce15d6d7dc15c7c Merge: 43e41ad e3d006c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 22 09:33: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: - Print branch filter state in verbose mode. (Andi Kleen) - Fix core dump caused by per-socket/core system-wide stat. (Kan Liang) - Update libtraceevent KVM plugin. (Paolo Bonzini) Infrastructure changes: - Add fixdep to 'tools/build' .gitignore. (Yunlong Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c81d555a264bde740adc314f3931046994534106 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 22 09:38:35 2015 +0300 Bluetooth: Fix crash in SMP when unpairing When unpairing the keys stored in hci_dev are removed. If SMP is ongoing the SMP context will also have references to these keys, so removing them from the hci_dev lists will make the pointers invalid. This can result in the following type of crashes: BUG: unable to handle kernel paging request at 6b6b6b6b IP: [<c11f26be>] __list_del_entry+0x44/0x71 *pde = 00000000 Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC Modules linked in: hci_uart btqca btusb btintel btbcm btrtl hci_vhci rfcomm bluetooth_6lowpan bluetooth CPU: 0 PID: 723 Comm: kworker/u5:0 Not tainted 4.3.0-rc3+ #1379 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.8.1-20150318_183358- 04/01/2014 Workqueue: hci0 hci_rx_work [bluetooth] task: f19da940 ti: f1a94000 task.ti: f1a94000 EIP: 0060:[<c11f26be>] EFLAGS: 00010202 CPU: 0 EIP is at __list_del_entry+0x44/0x71 EAX: c0088d20 EBX: f30fcac0 ECX: 6b6b6b6b EDX: 6b6b6b6b ESI: f4b60000 EDI: c0088d20 EBP: f1a95d90 ESP: f1a95d8c DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 CR0: 8005003b CR2: 6b6b6b6b CR3: 319e5000 CR4: 00000690 Stack: f30fcac0 f1a95db0 f82dc3e1 f1bfc000 00000000 c106524f f1bfc000 f30fd020 f1a95dc0 f1a95dd0 f82dcbdb f1a95de0 f82dcbdb 00000067 f1bfc000 f30fd020 f1a95de0 f1a95df0 f82d1126 00000067 f82d1126 00000006 f30fd020 f1bfc000 Call Trace: [<f82dc3e1>] smp_chan_destroy+0x192/0x240 [bluetooth] [<c106524f>] ? trace_hardirqs_on_caller+0x14e/0x169 [<f82dcbdb>] smp_teardown_cb+0x47/0x64 [bluetooth] [<f82dcbdb>] ? smp_teardown_cb+0x47/0x64 [bluetooth] [<f82d1126>] l2cap_chan_del+0x5d/0x14d [bluetooth] [<f82d1126>] ? l2cap_chan_del+0x5d/0x14d [bluetooth] [<f82d40ef>] l2cap_conn_del+0x109/0x17b [bluetooth] [<f82d40ef>] ? l2cap_conn_del+0x109/0x17b [bluetooth] [<f82c0205>] ? hci_event_packet+0x5b1/0x2092 [bluetooth] [<f82d41aa>] l2cap_disconn_cfm+0x49/0x50 [bluetooth] [<f82d41aa>] ? l2cap_disconn_cfm+0x49/0x50 [bluetooth] [<f82c0228>] hci_event_packet+0x5d4/0x2092 [bluetooth] [<c1332c16>] ? skb_release_data+0x6a/0x95 [<f82ce5d4>] ? hci_send_to_monitor+0xe7/0xf4 [bluetooth] [<c1409708>] ? _raw_spin_unlock_irqrestore+0x44/0x57 [<f82b3bb0>] hci_rx_work+0xf1/0x28b [bluetooth] [<f82b3bb0>] ? hci_rx_work+0xf1/0x28b [bluetooth] [<c10635a0>] ? __lock_is_held+0x2e/0x44 [<c104772e>] process_one_work+0x232/0x432 [<c1071ddc>] ? rcu_read_lock_sched_held+0x50/0x5a [<c104772e>] ? process_one_work+0x232/0x432 [<c1047d48>] worker_thread+0x1b8/0x255 [<c1047b90>] ? rescuer_thread+0x23c/0x23c [<c104bb71>] kthread+0x91/0x96 [<c14096a7>] ? _raw_spin_unlock_irq+0x27/0x44 [<c1409d61>] ret_from_kernel_thread+0x21/0x30 [<c104bae0>] ? kthread_parkme+0x1e/0x1e To solve the issue, introduce a new smp_cancel_pairing() API that can be used to clean up the SMP state before touching the hci_dev lists. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fc64361ac15318126c64193929616fc4832071a6 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 22 09:38:31 2015 +0300 Bluetooth: Disable auto-connection parameters when unpairing For connection parameters that are left around until a disconnection we should at least clear any auto-connection properties. This way a new Add Device call is required to re-set them after calling Unpair Device. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 759d2a932b82009a7039ef5567e7dcba153ce123 Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu Oct 22 02:42:12 2015 -0400 tools/power turbostat: bugfix: print MAX_NON_TURBO_RATIO MSR_TURBO_ACTIVATION_RATIO: 0x00000016 (MAX_NON_TURBO_RATIO=6 lock=0) should print all 7 bits of MAX_NON_TURBO_RATIO (in decimal): MSR_TURBO_ACTIVATION_RATIO: 0x00000016 (MAX_NON_TURBO_RATIO=22 lock=0) Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 10e07f13c06690488087f5d3f2c59a9728def339 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:54 2015 +0300 IB/core: Remove smac and vlan id from path record The GID cache accompanies every GID with attributes. The GID attributes link the GID with its netdevice, which could be resolved to smac and vlan id easily. Since we've added the netdevice (ifindex and net) to the path record, storing the L2 attributes is duplicated data and hence these attributes are removed. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit aa744cc01fe0f21dfbe2744d3fd5f2fb3244c9b3 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:53 2015 +0300 IB/core: Remove smac and vlan id from qp_attr and ah_attr Smac and vlan id could be resolved from the GID attribute, and thus these attributes aren't needed anymore. Removing them. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5c266b2304fb886d1f2b1e3c5f5be91ff1c61254 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:52 2015 +0300 IB/cm: Remove the usage of smac and vid of qp_attr and cm_av The cm and cma don't need to explicitly handle vlan and smac, as they are resolved from the GID index now. Removing this portion of code. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit dbf727de7440f73c4b92be4b958cbc24977e8ca2 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:51 2015 +0300 IB/core: Use GID table in AH creation and dmac resolution Previously, vlan id and source MAC were used from QP attributes. Since the net device is now stored in the GID attributes, they could be used instead of getting this information from the QP attributes. IB_QP_SMAC, IB_QP_ALT_SMAC, IB_QP_VID and IB_QP_ALT_VID were removed because there is no known libibverbs that uses them. This commit also modifies the vendors (mlx4, ocrdma) drivers in order to use the new approach. ocrdma driver changes were done by Somnath Kotur <Somnath.Kotur@xxxxxxxxxxxxx> Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 99b27e3b5da0871cb43980960fb14ff625adffad Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:50 2015 +0300 IB/cache: Add ib_find_gid_by_filter cache API GID cache API users might want to search for GIDs with specific attributes rather than just specifying GID, net device and port. This is used in a later patch, where we find the sgid index by L2 Ethernet attributes. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit abae1b71dd37bab506b14a6cf6ba7148f4d57232 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:49 2015 +0300 IB/cma: cma_validate_port should verify the port and netdevice Previously, cma_validate_port searched for GIDs in IB cache and then tried to verify the found port. This could fail when there are identical GIDs on both ports. In addition, netdevice should be taken into account when searching the GID table. Fixing cma_validate_port to search only the relevant port's cache and netdevice. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit c2c6ff134596e2691de7506667b712bef93cb1f0 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:48 2015 +0300 IB/cm: cm_init_av_by_path should find a GID by its netdevice Previously, the CM has searched the cache for any sgid_index whose GID matches the path's GID. Since the path record stores the net device, the CM should now search only for GIDs which originated from this net device. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ba36e37fd3ca3dc8f215b14bcfdccf9f41b65767 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:47 2015 +0300 IB/core: Add netdev to path record In order to find the sgid_index, one could just query the IB cache with the correct GID and netdevice. Therefore, instead of storing the L2 attributes directly in the path, we only store the ifindex and net and use them later to get the sgid_index. The vlan_id and smac L2 attributes are removed in a later patch. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit d300ec528b799ca87935b3667f5563f397f00f85 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:46 2015 +0300 IB/core: Expose and rename ib_find_cached_gid_by_port cache API Sometime consumers might want to search for a GID in a specific port. For example, when a WC arrives and we want to search the GID that matches that port - it's better to search only the relevant port. Exposing and renaming ib_cache_gid_find_by_port in order to match the naming convention of the module. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 55ee3ab2e49a9ead850722ef47698243dd226d16 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 18:38:45 2015 +0300 IB/core: Add netdev and gid attributes paramteres to cache Adding an ability to query the IB cache by a netdev and get the attributes of a GID. These parameters are necessary in order to successfully resolve the required GID (when the netdevice is known) and get the Ethernet L2 attributes from a GID. Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Reviewed-By: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit fbfb6625ea2d1bd535db03838df381768a2d6865 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:42 2015 +0300 IB/mlx4: Add support for blocking multicast loopback QP creation user flag MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK is now supported downstream. In addition, this flag was supported only for IB_QPT_UD, now, with the new implementation it is supported for all QP types. Support IB_USER_VERBS_EX_CMD_CREATE_QP in order to get the flag from user space using the extension create qp command. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 7b59f0f9516040157450443b9df591556c0c49a9 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:41 2015 +0300 IB/mlx4: Add counter based implementation for QP multicast loopback block Current implementation for MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK is not supported when link layer is Ethernet. This patch will add counter based implementation for multicast loopback prevention. HW can drop multicast loopback packets if sender QP counter index is equal to receiver QP counter index. If qp flag MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK is set and link layer is Ethernet, create a new counter and attach it to the QP so it will continue receiving multicast loopback traffic but it's own. The decision if to create a new counter is being made at the qp modification to RTR after the QP's port is set. When QP is destroyed or moved back to reset state, delete the counter. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 3ba8e31d5a4343fa042c976a9ce9c3c16946c92d Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:40 2015 +0300 IB/mlx4: Add IB counters table This is an infrastructure step for allocating and attaching more than one counter to QPs on the same port. Allocate a counters table and manage the insertion and removals of the counters in load and unload of mlx4 IB. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 74194fb9c80cedb3130d26802c52deec3caebc75 Author: Maor Gottlieb <maorg@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:39 2015 +0300 net/mlx4_en: Implement mcast loopback prevention for ETH qps Set the mcast loopback prevention bit in the QPC for ETH MLX QPs (not RSS QPs), when the firmware supports this feature. In addition, all rx ring QPs need to be updated in order not to enforce loopback checks. This prevents getting packets we sent both from the network stack and the HCA. Loopback prevention is done by comparing the counter indices of the sent and receiving QPs. If they're equal, packets aren't loopback-ed. Signed-off-by: Maor Gottlieb <maorg@xxxxxxxxxxxx> Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 9a8928359736ab170303ee8a2cc15db54e3a4a8f Author: Maor Gottlieb <maorg@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:38 2015 +0300 net/mlx4_core: Add support for filtering multicast loopback Update device capabilities regarding HW filtering multicast loopback support. Add MLX4_UPDATE_QP_ETH_SRC_CHECK_MC_LB attribute to mlx4_update_qp to enable changing QP context to support filtering incoming multicast loopback traffic according the sender's counter index. Set the corresponding bits in QP context to force the loopback source checks if attribute is given and HW supports it. Signed-off-by: Maor Gottlieb <maorg@xxxxxxxxxxxx> Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit ddf9529be19cb3674bd59c5b2a3375503663bba8 Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Thu Oct 15 14:44:37 2015 +0300 IB/core: Allow setting create flags in QP init attribute Allow setting IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK at create_flags in ib_uverbs_create_qp_ex. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Reviewed-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 6d8a74972b7115b41d4d17a4444c026755ca24be Author: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Date: Wed Oct 21 17:00:42 2015 +0300 IB/core: Extend ib_uverbs_create_qp ib_uverbs_ex_create_qp follows the extension verbs mechanism. New features (for example, QP creation flags field which is added in a downstream patch) could used via user-space libraries without breaking the ABI. Signed-off-by: Eran Ben Elisha <eranbe@xxxxxxxxxxxx> Reviewed-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 963cab508296a06ed8063c848f32d74f2b4b4c26 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Sep 23 17:19:27 2015 +0530 iw_cxgb4: Adds support for T6 adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 279998059729422fc0d551b5deb266a174cbab47 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Sep 23 17:19:26 2015 +0530 cxgb4: T6 adapter lld support for iw_cxgb4 driver Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e2aacd963a06fc558a809ecb62f5833e6c340b28 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 10:08:59 2015 -0400 net: mdio-gpio: move platform data header This header file only contains the platform data structure definition, so move it to the include/linux/platform_data/ directory. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 844338e5a46f5d80566fa853c6168a78cdadab01 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 10:08:58 2015 -0400 ARM: gemini: remove unnecessary mdio-gpio includes Remove the inclusion of linux/mdio-gpio.h in nas4220b, wbd111 and wbd222 boards since mdio-gpio is not used. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 104eb270e665f4fcd8cb8c8ab4c4d4538c604e92 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Oct 20 10:42:24 2015 +0200 net: sun4i-emac: Properly free resources on probe failure and remove Fix sun4i-emac not releasing the following resources: -iomapped memory not released on probe-failure nor on remove -clock not getting disabled on probe-failure nor on remove -sram not being released on remove And while at it also add error checking to the clk_prepare_enable call done on probe. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6aa74d546ccb94c99a1e95fb461f8b0e9410a3e Author: Wu Fengguang <fengguang.wu@xxxxxxxxx> Date: Tue Oct 20 14:56:00 2015 +0800 net: hisilicon: fix ptr_ret.cocci warnings drivers/net/ethernet/hisilicon/hns/hnae.c:442: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 CC: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit feec0cb3f20b837f8ca36e974267918d7a4497f8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 19 20:40:17 2015 -0700 ipv6: gro: support sit protocol Tom Herbert added SIT support to GRO with commit 19424e052fb4 ("sit: Add gro callbacks to sit_offload"), later reverted by Herbert Xu. The problem came because Tom patch was building GRO packets without proper meta data : If packets were locally delivered, we would not care. But if packets needed to be forwarded, GSO engine was not able to segment individual segments. With the following patch, we correctly set skb->encapsulation and inner network header. We also update gso_type. Tested: Server : netserver modprobe dummy ifconfig dummy0 8.0.0.1 netmask 255.255.255.0 up arp -s 8.0.0.100 4e:32:51:04:47:e5 iptables -I INPUT -s 10.246.7.151 -j TEE --gateway 8.0.0.100 ifconfig sixtofour0 sixtofour0 Link encap:IPv6-in-IPv4 inet6 addr: 2002:af6:798::1/128 Scope:Global inet6 addr: 2002:af6:798::/128 Scope:Global UP RUNNING NOARP MTU:1480 Metric:1 RX packets:411169 errors:0 dropped:0 overruns:0 frame:0 TX packets:409414 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:20319631739 (20.3 GB) TX bytes:29529556 (29.5 MB) Client : netperf -H 2002:af6:798::1 -l 1000 & Checked on server traffic copied on dummy0 and verify segments were properly rebuilt, with proper IP headers, TCP checksums... tcpdump on eth0 shows proper GRO aggregation takes place. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f3af27786913851e720bc9466d1abffcfa7aff6 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 19 20:17:59 2015 -0700 net: dummy: add more features While testing my SIT/GRO patch using netfilter TEE module and a dummy device, I found some features were missing : TSO IPv6, UFO, and encapsulated traffic. ethtool -k dummy0 now gives : ... tcp-segmentation-offload: on tx-tcp-segmentation: on tx-tcp-ecn-segmentation: on tx-tcp6-segmentation: on udp-fragmentation-offload: on ... tx-gre-segmentation: on tx-ipip-segmentation: on tx-sit-segmentation: on tx-udp_tnl-segmentation: on Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e754ec69ab69601420eb2ed58ece803d77c93f61 Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Mon Oct 19 19:19:00 2015 -0700 openvswitch: Serialize nested ct actions if provided If userspace provides a ct action with no nested mark or label, then the storage for these fields is zeroed. Later when actions are requested, such zeroed fields are serialized even though userspace didn't originally specify them. Fix the behaviour by ensuring that no action is serialized in this case, and reject actions where userspace attempts to set these fields with mask=0. This should make netlink marshalling consistent across deserialization/reserialization. Reported-by: Jarno Rajahalme <jrajahalme@xxxxxxxxxx> 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 4f0909ee3d8e3514a274121f3bf217a4920fa12d Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Mon Oct 19 19:18:59 2015 -0700 openvswitch: Mark connections new when not confirmed. New, related connections are marked as such as part of ovs_ct_lookup(), but they are not marked as "new" if the commit flag is used. Make this consistent by setting the "new" flag whenever !nf_ct_is_confirmed(ct). Reported-by: Jarno Rajahalme <jrajahalme@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 1d008a1df927846788b9dc02e770f65951f98ddc Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Mon Oct 19 19:18:58 2015 -0700 openvswitch: Clarify conntrack COMMIT behaviour The presence of this attribute does not modify the ct_state for the current packet, only future packets. Make this more clear in the header definition. 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 9e384715e9e702704c6941c575f0e6b322132a3a Author: Joe Stringer <joestringer@xxxxxxxxxx> Date: Mon Oct 19 19:18:57 2015 -0700 openvswitch: Reject ct_state masks for unknown bits Currently, 0-bits are generated in ct_state where the bit position is undefined, and matches are accepted on these bit-positions. If userspace requests to match the 0-value for this bit then it may expect only a subset of traffic to match this value, whereas currently all packets will have this bit set to 0. Fix this by rejecting such masks. 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 e2e8009ff72ad2a795b67785f3238af152146368 Author: Renato Westphal <renatowestphal@xxxxxxxxx> Date: Mon Oct 19 18:51:34 2015 -0200 tcp: remove improper preemption check in tcp_xmit_probe_skb() Commit e520af48c7e5a introduced the following bug when setting the TCP_REPAIR sockoption: [ 2860.657036] BUG: using __this_cpu_add() in preemptible [00000000] code: daemon/12164 [ 2860.657045] caller is __this_cpu_preempt_check+0x13/0x20 [ 2860.657049] CPU: 1 PID: 12164 Comm: daemon Not tainted 4.2.3 #1 [ 2860.657051] Hardware name: Dell Inc. PowerEdge R210 II/0JP7TR, BIOS 2.0.5 03/13/2012 [ 2860.657054] ffffffff81c7f071 ffff880231e9fdf8 ffffffff8185d765 0000000000000002 [ 2860.657058] 0000000000000001 ffff880231e9fe28 ffffffff8146ed91 ffff880231e9fe18 [ 2860.657062] ffffffff81cd1a5d ffff88023534f200 ffff8800b9811000 ffff880231e9fe38 [ 2860.657065] Call Trace: [ 2860.657072] [<ffffffff8185d765>] dump_stack+0x4f/0x7b [ 2860.657075] [<ffffffff8146ed91>] check_preemption_disabled+0xe1/0xf0 [ 2860.657078] [<ffffffff8146edd3>] __this_cpu_preempt_check+0x13/0x20 [ 2860.657082] [<ffffffff817e0bc7>] tcp_xmit_probe_skb+0xc7/0x100 [ 2860.657085] [<ffffffff817e1e2d>] tcp_send_window_probe+0x2d/0x30 [ 2860.657089] [<ffffffff817d1d8c>] do_tcp_setsockopt.isra.29+0x74c/0x830 [ 2860.657093] [<ffffffff817d1e9c>] tcp_setsockopt+0x2c/0x30 [ 2860.657097] [<ffffffff81767b74>] sock_common_setsockopt+0x14/0x20 [ 2860.657100] [<ffffffff817669e1>] SyS_setsockopt+0x71/0xc0 [ 2860.657104] [<ffffffff81865172>] entry_SYSCALL_64_fastpath+0x16/0x75 Since tcp_xmit_probe_skb() can be called from process context, use NET_INC_STATS() instead of NET_INC_STATS_BH(). Fixes: e520af48c7e5 ("tcp: add TCPWinProbe and TCPKeepAlive SNMP counters") Signed-off-by: Renato Westphal <renatow@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36a28b21169d28db2a3409a4e2d4b9a7563c1a00 Merge: e535679 00db674 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 21 19:26:17 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf Pablo Neira Ayuso says: ==================== Netfilter fixes for net The following patchset contains four Netfilter fixes for net, they are: 1) Fix Kconfig dependencies of new nf_dup_ipv4 and nf_dup_ipv6. 2) Remove bogus test nh_scope in IPv4 rpfilter match that is breaking --accept-local, from Xin Long. 3) Wait for RCU grace period after dropping the pending packets in the nfqueue, from Florian Westphal. 4) Fix sleeping allocation while holding spin_lock_bh, from Nikolay Borisov. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1974ed05ea90264d534a200e8a13932ad55f8b8 Author: Arad, Ronen <ronen.arad@xxxxxxxxx> Date: Mon Oct 19 09:23:28 2015 -0700 netlink: Rightsize IFLA_AF_SPEC size calculation if_nlmsg_size() overestimates the minimum allocation size of netlink dump request (when called from rtnl_calcit()) or the size of the message (when called from rtnl_getlink()). This is because ext_filter_mask is not supported by rtnl_link_get_af_size() and rtnl_link_get_size(). The over-estimation is significant when at least one netdev has many VLANs configured (8 bytes for each configured VLAN). This patch-set "rightsizes" the protocol specific attribute size calculation by propagating ext_filter_mask to rtnl_link_get_af_size() and adding this a argument to get_link_af_size op in rtnl_af_ops. Bridge module already used filtering aware sizing for notifications. br_get_link_af_size_filtered() is consistent with the modified get_link_af_size op so it replaces br_get_link_af_size() in br_af_ops. br_get_link_af_size() becomes unused and thus removed. Signed-off-by: Ronen Arad <ronen.arad@xxxxxxxxx> Acked-by: Sridhar Samudrala <sridhar.samudrala@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e53567948f82368247b4b1a63fcab4c76ef7d51c Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Mon Oct 19 11:43:11 2015 -0400 tipc: conditionally expand buffer headroom over udp tunnel In commit d999297c3dbbe ("tipc: reduce locking scope during packet reception") we altered the packet retransmission function. Since then, when restransmitting packets, we create a clone of the original buffer using __pskb_copy(skb, MIN_H_SIZE), where MIN_H_SIZE is the size of the area we want to have copied, but also the smallest possible TIPC packet size. The value of MIN_H_SIZE is 24. Unfortunately, __pskb_copy() also has the effect that the headroom of the cloned buffer takes the size MIN_H_SIZE. This is too small for carrying the packet over the UDP tunnel bearer, which requires a minimum headroom of 28 bytes. A change to just use pskb_copy() lets the clone inherit the original headroom of 80 bytes, but also assumes that the copied data area is of at least that size, something that is not always the case. So that is not a viable solution. We now fix this by adding a check for sufficient headroom in the transmit function of udp_media.c, and expanding it when necessary. Fixes: commit d999297c3dbbe ("tipc: reduce locking scope during packet reception") Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a4264a9250fc6d555ff305aa5e5168723805bb9 Author: Andreas Schwab <schwab@xxxxxxx> Date: Mon Oct 19 17:37:13 2015 +0200 net: cavium: change NET_VENDOR_CAVIUM to bool CONFIG_NET_VENDOR_CAVIUM is only used to hide/show config options and to include subdirectories in the build, so it doesn't make sense to make it tristate. Signed-off-by: Andreas Schwab <schwab@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45c8b7b175ceb2d542e0fe15247377bf3bce29ec Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Mon Oct 19 11:33:00 2015 -0400 tipc: allow non-linear first fragment buffer The current code for message reassembly is erroneously assuming that the the first arriving fragment buffer always is linear, and then goes ahead resetting the fragment list of that buffer in anticipation of more arriving fragments. However, if the buffer already happens to be non-linear, we will inadvertently drop the already attached fragment list, and later on trig a BUG() in __pskb_pull_tail(). We see this happen when running fragmented TIPC multicast across UDP, something made possible since commit d0f91938bede ("tipc: add ip/udp media type") We fix this by not resetting the fragment list when the buffer is non- linear, and by initiatlizing our private fragment list tail pointer to the tail of the existing fragment list. Fixes: commit d0f91938bede ("tipc: add ip/udp media type") Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1241365f1aeb24ef0ffe82970f7c558022ddc85f Author: James Morse <james.morse@xxxxxxx> Date: Mon Oct 19 16:31:55 2015 +0100 openvswitch: Allocate memory for ovs internal device stats. "openvswitch: Remove vport stats" removed the per-vport statistics, in order to use the netdev's statistics fields. "openvswitch: Fix ovs_vport_get_stats()" fixed the export of these stats to user-space, by using the provided netdev_ops to collate them - but ovs internal devices still use an unallocated dev->tstats field to count packets, which are no longer exported by this api. Allocate the dev->tstats field for ovs internal devices, and wire up ndo_get_stats64 with the original implementation of ovs_vport_get_stats(). On its own, "openvswitch: Fix ovs_vport_get_stats()" fixes the OOPs, unmasking a full-on panic on arm64: =============%<============== [<ffffffbffc00ce4c>] internal_dev_recv+0xa8/0x170 [openvswitch] [<ffffffbffc0008b4>] do_output.isra.31+0x60/0x19c [openvswitch] [<ffffffbffc000bf8>] do_execute_actions+0x208/0x11c0 [openvswitch] [<ffffffbffc001c78>] ovs_execute_actions+0xc8/0x238 [openvswitch] [<ffffffbffc003dfc>] ovs_packet_cmd_execute+0x21c/0x288 [openvswitch] [<ffffffc0005e8c5c>] genl_family_rcv_msg+0x1b0/0x310 [<ffffffc0005e8e60>] genl_rcv_msg+0xa4/0xe4 [<ffffffc0005e7ddc>] netlink_rcv_skb+0xb0/0xdc [<ffffffc0005e8a94>] genl_rcv+0x38/0x50 [<ffffffc0005e76c0>] netlink_unicast+0x164/0x210 [<ffffffc0005e7b70>] netlink_sendmsg+0x304/0x368 [<ffffffc0005a21c0>] sock_sendmsg+0x30/0x4c [SNIP] Kernel panic - not syncing: Fatal exception in interrupt =============%<============== Fixes: 8c876639c985 ("openvswitch: Remove vport stats.") Signed-off-by: James Morse <james.morse@xxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b246fb0f60d318cec6901a0326b94b50d5e1dcb Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Oct 21 19:00:31 2015 -0700 f2fs: don't need to submit bio on error case If commit_atomic_write is failed, we don't need to submit any bio. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f1900fb5eca2cf9b96837e4931165003918d7d29 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 08:26:05 2015 -0700 net: Really fix vti6 with oif in dst lookups 6e28b000825d ("net: Fix vti use case with oif in dst lookups for IPv6") is missing the checks on FLOWI_FLAG_SKIP_NH_OIF. Add them. Fixes: 42a7b32b73d6 ("xfrm: Add oif to dst lookups") Cc: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7b8b384b02f52b20a538e741c75c5d50c0e131f Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Oct 21 18:49:50 2015 -0700 f2fs: fix leakage of inmemory atomic pages If we got failure during commit_atomic_write, abort_volatile_write will be called, but will not drop the inmemory pages due to no FI_ATOMIC_FILE. Actually, there is no reason to check the flag in abort_volatile_write. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 53387c4e22ac33d27a552b3d56bad932bd32531b Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Mon Oct 19 09:21:37 2015 -0400 tipc: extend broadcast link window size The default fix broadcast window size is currently set to 20 packets. This is a very low value, set at a time when we were still testing on 10 Mb/s hubs, and a change to it is long overdue. Commit 7845989cb4b3da1db ("net: tipc: fix stall during bclink wakeup procedure") revealed a problem with this low value. For messages of importance LOW, the backlog queue limit will be calculated to 30 packets, while a single, maximum sized message of 66000 bytes, carried across a 1500 MTU network consists of 46 packets. This leads to the following scenario (among others leading to the same situation): 1: Msg 1 of 46 packets is sent. 20 packets go to the transmit queue, 26 packets to the backlog queue. 2: Msg 2 of 46 packets is attempted sent, but rejected because there is no more space in the backlog queue at this level. The sender is added to the wakeup queue with a "pending packets chain size" number of 46. 3: Some packets in the transmit queue are acked and released. We try to wake up the sender, but the pending size of 46 is bigger than the LOW wakeup limit of 30, so this doesn't happen. 5: Subsequent acks releases all the remaining buffers. Each time we test for the wakeup criteria and find that 46 still is larger than 30, even after both the transmit and the backlog queues are empty. 6: The sender is never woken up and given a chance to send its message. He is stuck. We could now loosen the wakeup criteria (used by link_prepare_wakeup()) to become equal to the send criteria (used by tipc_link_xmit()), i.e., by ignoring the "pending packets chain size" value altogether, or we can just increase the queue limits so that the criteria can be satisfied anyway. There are good reasons (potentially multiple waiting senders) to not opt for the former solution, so we choose the latter one. This commit fixes the problem by giving the broadcast link window a default value of 50 packets. We also introduce a new minimum link window size BCLINK_MIN_WIN of 32, which is enough to always avoid the described situation. Finally, in order to not break any existing users which may set the window explicitly, we enforce that the window is set to the new minimum value in case the user is trying to set it to anything lower. Fixes: 7845989cb4b3da1db ("net: tipc: fix stall during bclink wakeup procedure") Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9e6d153563d2ed69c6cd7fb4fa5ce4ca7c712eb Merge: 56fa9d0 0584f71 Author: Chris Mason <clm@xxxxxx> Date: Wed Oct 21 19:00:38 2015 -0700 Merge branch 'allocator-fixes' into for-linus-4.4 Signed-off-by: Chris Mason <clm@xxxxxx> commit 0584f718ed1f351fca5047a4b1ebba9b5ea41215 Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Oct 2 16:12:23 2015 -0400 Btrfs: don't do extra bitmap search in one bit case When we make ctl->unit allocations from a bitmap there is no point in searching for the next 0 in the bitmap. If we've found a bit we're done and can just exit the loop. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit cef404837002103584c7c82f1e3fc3ec5961f47b Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Oct 2 16:09:42 2015 -0400 Btrfs: keep track of largest extent in bitmaps We can waste a lot of time searching through bitmaps when we are heavily fragmented trying to find large contiguous areas that don't exist in the bitmap. So keep track of the max extent size when we do a full search of a bitmap so that next time around we can just skip the expensive searching if our max size is less than what we are looking for. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c759c4e16179e47e099f491011e6acd7858f8625 Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Oct 2 15:25:10 2015 -0400 Btrfs: don't keep trying to build clusters if we are fragmented If we are extremely fragmented then we won't be able to create a free_cluster. So if this happens set last_ptr->fragmented so that all future allcations will give up trying to create a cluster. When we unpin extents we will unset ->fragmented if we free up a sufficient amount of space in a block group. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a5e681d9bd641c4f0677e87d3a0c92a8f4f16293 Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Oct 1 14:54:10 2015 -0400 Btrfs: cut down on loops through the allocator We try really really hard to make allocations, but sometimes it is just not going to happen, especially when free space is extremely fragmented. So add a few short cuts through the looping states. For example if we couldn't allocate a chunk, just go straight to the NO_EMPTY_SIZE loop. If there are no uncached block groups and we've done a full search, go straight to the ALLOC_CHUNK stage. And finally if we already have empty_size and empty_cluster set to 0 go ahead and return -ENOSPC. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2968b1f48bd7366dd7310acde1ee6d1bf7791142 Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Oct 1 12:55:18 2015 -0400 Btrfs: don't continue setting up space cache when enospc If we hit ENOSPC when setting up a space cache don't bother setting up any of the other space cache's in this transaction, it'll just induce unnecessary latency. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4f4db2174d8d6cdc093cbb79d17fbfe0f4d9fbde Author: Josef Bacik <jbacik@xxxxxx> Date: Tue Sep 29 11:40:47 2015 -0400 Btrfs: keep track of max_extent_size per space_info When we are heavily fragmented we can induce a lot of latency trying to make an allocation happen that is simply not going to happen. Thankfully we keep track of our max_extent_size when going through the allocator, so if we get to the point where we are exiting find_free_extent with ENOSPC then set our space_info->max_extent_size so we can keep future allocations from having to pay this cost. We reset the max_extent_size whenever we release pinned bytes back into this space info so we can redo all the work. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 36af4e0737f6aa494e43497a5a34588a1d5cb12f Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Sep 25 16:13:11 2015 -0400 Btrfs: don't loop in allocator for space cache The space cache needs to have contiguous allocations, and the allocator tries to make allocations by reducing the amount of bytes requested and re-searching. But this just makes us waste time when we are very fragmented, so if we can't find our space just exit, don't bother trying to search again. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3204d33cda40d9bc97f257c441225d3713916661 Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Sep 24 10:46:10 2015 -0400 Btrfs: add a flags field to btrfs_transaction I want to set some per transaction flags, so instead of adding yet another int lets just convert the current two int indicators to flags and add a flags field for future use. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0b670dc44c91bd1e5fac15b5ac4c98c8bd255ca2 Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Sep 23 17:11:16 2015 -0400 Btrfs: fix prealloc under heavy fragmentation conditions If we are heavily fragmented we will continually try to prealloc the largest extent size we can every time we call btrfs_reserve_extent. This can be very expensive when we are heavily fragmented, burning lots of CPU cycles and loops through the allocator. So instead notice when we get a smaller chunk from the allocator than what we specified and use this as the new maximum size we try to allocate. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d0bd456074dca089579818312da7cbe726ad2ff9 Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Sep 23 14:54:14 2015 -0400 Btrfs: add fragment=* debug mount option In tracking down these weird bitmap problems it was helpful to artificially create an extremely fragmented file system. These mount options let us either fragment data or metadata or both. With these options I could reproduce all sorts of weird latencies and hangs that occur under extreme fragmentation and get them fixed. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d9ee522ba3ab51b7e3c6dfcf3743216371bc810f Author: Josef Bacik <jbacik@xxxxxx> Date: Mon Oct 5 10:35:29 2015 -0400 Btrfs: fix qgroup sanity tests With my changes to allow us to find old roots when resolving indirect refs I introduced a regression to the sanity tests. Since we don't really care to go down into the fs roots we just need to have the old behavior of returning ENOENT for dummy roots for the sanity tests. In the future if we want to get fancy we can populate the test fs trees with the references as well. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 161c3549b45aeef05451b6822d8aaaf39c7bedce Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Sep 24 16:17:39 2015 -0400 Btrfs: change how we wait for pending ordered extents We have a mechanism to make sure we don't lose updates for ordered extents that were logged in the transaction that is currently running. We add the ordered extent to a transaction list and then the transaction waits on all the ordered extents in that list. However are substantially large file systems this list can be extremely large, and can give us soft lockups, since the ordered extents don't remove themselves from the list when they do complete. To fix this we simply add a counter to the transaction that is incremented any time we have a logged extent that needs to be completed in the current transaction. Then when the ordered extent finally completes it decrements the per transaction counter and wakes up the transaction if we are the last ones. This will eliminate the softlockup. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 56fa9d0762ed17153c1bdff3c0aeeecbe522b504 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Oct 13 09:53:10 2015 +0800 btrfs: qgroup: Check if qgroup reserved space leaked Add check at btrfs_destroy_inode() time to detect qgroup reserved space leak. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 51773bec7ea352f3b9afa11ecfc72324c7977335 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Thu Oct 8 18:19:37 2015 +0800 btrfs: qgroup: Avoid calling btrfs_free_reserved_data_space in clear_bit_hook In clear_bit_hook, qgroup reserved data is already handled quite well, either released by finish_ordered_io or invalidatepage. So calling btrfs_qgroup_free_data() here is completely meaningless, and since btrfs_qgroup_free_data() will lock io_tree, so it can't be called with io_tree lock hold. This patch will add a new function btrfs_free_reserved_data_space_noquota() for clear_bit_hook() to cease the lockdep warning. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 14524a846eb52c18438e9bd5eb8cf1431fd57b44 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:22:44 2015 +0800 btrfs: fallocate: Add support to accurate qgroup reserve Now fallocate will do accurate qgroup reserve space check, unlike old method, which will always reserve the whole length of the range. With this patch, fallocate will: 1) Iterate the desired range and mark in data rsv map Only range which is going to be allocated will be recorded in data rsv map and reserve the space. For already allocated range (normal/prealloc extent) they will be skipped. Also, record the marked range into a new list for later use. 2) If 1) succeeded, do real file extent allocate. And at file extent allocation time, corresponding range will be removed from the range in data rsv map. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 81fb6f77a02678ddb0755c24f83c4ed5207da046 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Sep 28 16:57:53 2015 +0800 btrfs: qgroup: Add new trace point for qgroup data reserve Now each qgroup reserve for data will has its ftrace event for better debugging. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b9d0b38928e21560550bd3c1a278d6e004d3bde6 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:35:16 2015 +0800 btrfs: Add handler for invalidate page For btrfs_invalidatepage() and its variant evict_inode_truncate_page(), there will be pages don't reach disk. In that case, their reserved space won't be release nor freed by finish_ordered_io() nor delayed_ref handler. So we must free their qgroup reserved space, or we will leaking reserved space again. So this will patch will call btrfs_qgroup_free_data() for invalidatepage() and its variant evict_inode_truncate_page(). And due to the nature of new btrfs_qgroup_reserve/free_data() reserved space will only be reserved or freed once, so for pages which are already flushed to disk, their reserved space will be released and freed by delayed_ref handler. Double free won't be a problem. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 94ed938aba557aa798acf496f09afb289b619fcd Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:25:56 2015 +0800 btrfs: qgroup: Add handler for NOCOW and inline For NOCOW and inline case, there will be no delayed_ref created for them, so we should free their reserved data space at proper time(finish_ordered_io for NOCOW and cow_file_inline for inline). Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7cf5b97650f2ecefbd5afa2d58b61b289b6e3750 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:25:55 2015 +0800 btrfs: qgroup: Cleanup old inaccurate facilities Cleanup the old facilities which use old btrfs_qgroup_reserve() function call, replace them with the newer version, and remove the "__" prefix in them. Also, make btrfs_qgroup_reserve/free() functions private, as they are now only used inside qgroup codes. Now, the whole btrfs qgroup is swithed to use the new reserve facilities. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit df480633b891cf03301d87e56024a8ec3251da5b Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:25:54 2015 +0800 btrfs: extent-tree: Switch to new delalloc space reserve and release Use new __btrfs_delalloc_reserve_space() and __btrfs_delalloc_release_space() to reserve and release space for delalloc. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1ada3a62b56605befdfc34d6d1796601c0869103 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:25:53 2015 +0800 btrfs: extent-tree: Add new version of btrfs_delalloc_reserve/release_space Add new version of btrfs_delalloc_reserve_space() and btrfs_delalloc_release_space() functions, which supports accurate qgroup reserve. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d9d8b2a51a404c2d45b9dc4c755f62cb3ddb7c79 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:22:43 2015 +0800 btrfs: extent-tree: Switch to new check_data_free_space and free_reserved_data_space Use new reserve/free for buffered write and inode cache. For buffered write case, as nodatacow write won't increase quota account, so unlike old behavior which does reserve before check nocow, now we check nocow first and then only reserve data if we can't do nocow write. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4ceff0792d36256a5f879cec51c56e44db90b8ec Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:22:42 2015 +0800 btrfs: extent-tree: Add new version of btrfs_check_data_free_space and btrfs_free_reserved_data_space. Add new functions __btrfs_check_data_free_space() and __btrfs_free_reserved_data_space() to work with new accurate qgroup reserved space framework. The new function will replace old btrfs_check_data_free_space() and btrfs_free_reserved_data_space() respectively, but until all the change is done, let's just use the new name. Also, export internal use function btrfs_alloc_data_chunk_ondemand(), as now qgroup reserve requires precious bytes, some operation can't get the accurate number in advance(like fallocate). But data space info check and data chunk allocate doesn't need to be that accurate, and can be called at the beginning. So export it for later operations. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7174109c6548c4db85a383b8ae9d01469cddd110 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:22:41 2015 +0800 btrfs: qgroup: Use new metadata reservation. As we have the new metadata reservation functions, use them to replace the old btrfs_qgroup_reserve() call for metadata. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 55eeaf0578038c40baaf3cf9408c23e42cd2a2b8 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:08:38 2015 +0800 btrfs: qgroup: Introduce new functions to reserve/free metadata Introduce new functions btrfs_qgroup_reserve/free_meta() to reserve/free metadata reserved space. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 297d750b9f8d7e6f2dbdf8abc5aa3b5c656affdc Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:08:37 2015 +0800 btrfs: delayed_ref: release and free qgroup reserved at proper timing Qgroup reserved space needs to be released from inode dirty map and get freed at different timing: 1) Release when the metadata is written into tree After corresponding metadata is written into tree, any newer write will be COWed(don't include NOCOW case yet). So we must release its range from inode dirty range map, or we will forget to reserve needed range, causing accounting exceeding the limit. 2) Free reserved bytes when delayed ref is run When delayed refs are run, qgroup accounting will follow soon and turn the reserved bytes into rfer/excl numbers. As run_delayed_refs and qgroup accounting are all done at commit_transaction() time, we are safe to free reserved space in run_delayed_ref time(). With these timing to release/free reserved space, we should be able to resolve the long existing qgroup reserve space leak problem. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f64d5ca868214f9beb60108c82fcb96940132bfb Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 8 17:08:36 2015 +0800 btrfs: delayed_ref: Add new function to record reserved space into delayed ref Add new function btrfs_add_delayed_qgroup_reserve() function to record how much space is reserved for that extent. As btrfs only accounts qgroup at run_delayed_refs() time, so newly allocated extent should keep the reserved space until then. So add needed function with related members to do it. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f695fdcef83ac6972e0eda1d6588a56348f521a2 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 12 16:28:06 2015 +0800 btrfs: qgroup: Introduce functions to release/free qgroup reserve data space Introduce functions btrfs_qgroup_release/free_data() to release/free reserved data range. Release means, just remove the data range from io_tree, but doesn't free the reserved space. This is for normal buffered write case, when data is written into disc and its metadata is added into tree, its reserved space should still be kept until commit_trans(). So in that case, we only release dirty range, but keep the reserved space recorded some other place until commit_tran(). Free means not only remove data range, but also free reserved space. This is used for case for cleanup and invalidate page. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 524725537023bb25a371722b1329446e5a2adcdb Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 12 16:05:40 2015 +0800 btrfs: qgroup: Introduce btrfs_qgroup_reserve_data function Introduce a new function, btrfs_qgroup_reserve_data(), which will use io_tree to accurate qgroup reserve, to avoid reserved space leaking. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit fefdc55702a5f9f99778b6bdce4c4e1185ff943f Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 12 15:35:38 2015 +0800 btrfs: extent_io: Introduce new function clear_record_extent_bits() Introduce new function clear_record_extent_bits(), which will clear bits for given range and record the details about which ranges are cleared and how many bytes in total it changes. This provides the basis for later qgroup reserve codes. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d38ed27f0442c8cd520e093081127949d4bcf9bc Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 12 14:53:37 2015 +0800 btrfs: extent_io: Introduce new function set_record_extent_bits Introduce new function set_record_extent_bits(), which will not only set given bits, but also record how many bytes are changed, and detailed range info. This is quite important for later qgroup reserve framework. The number of bytes will be used to do qgroup reserve, and detailed range info will be used to cleanup for EQUOT case. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ac46777213e00e26b9210060586f473368c54da2 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Oct 12 12:08:16 2015 +0800 btrfs: extent_io: Introduce needed structure for recoding set/clear bits Add a new structure, extent_change_set, to record how many bytes are changed in one set/clear_extent_bits() operation, with detailed changed ranges info. This provides the needed facilities for later qgroup reserve framework. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 851ce932242d5a79bef8fe625fce37cc2f27033e Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Fri Oct 16 13:53:20 2015 +0800 usb: chipidea: otg: don't wait vbus drops below BSV when starts host Some HW design may use ID pin state to control vbus for otg port, so before host role start, the vbus is already turned on, in this case, we do not need wait vbus dropping below BSV. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 46b95a1d66cc58163a6b3aa7c669ab6fec721404 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 23:55:35 2015 +0300 chipidea: ci_hdrc_pci: use PCI_VDEVICE() instead of PCI_DEVICE() Fix using the PCI_DEVICE() macro instead of less verbose PCI_VDEVICE(). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 5e249ef945b80edd3e50b85cbf5b565ab930552a Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Sep 16 09:24:19 2015 +0800 doc: dt-binding: ci-hdrc-usb2: split vendor specific properties Each vendor may have its specific properties, they are not belonged to common optional properties, split them from common's. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 52fe568e5d717e4c21a29a2a05a27f3dacc431d5 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Sep 16 15:52:32 2015 +0800 usb: chipidea: imx: add imx6ul usb support Add imx6ul usb support. Signed-off-by: Peter chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit c532e74c4ba8f06c5a94c9a79d75e3bf8e7266ff Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Oct 13 17:18:22 2015 +0800 doc: dt-binding: ci-hdrc-usb2: improve property description Improve the description of properties "tx-burst-size-dword" and "rx-burst-size-dword". Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Cc: Shanw Guo <shawnguo@xxxxxxxxxx> commit 5cb377c52fe464c5cdc722944bc0c62a8cb10312 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Wed Sep 9 16:33:02 2015 +0800 usb: chipidea: imx: add usb support for imx7d Add imx7d usb support. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> commit 17aa4450f8ac5390d517f03b3f25a54c5aeebe87 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 8 22:18:15 2015 -0300 Doc: usb: ci-hdrc-usb2: Add phy-clkgate-delay-us entry Add an entry for the optional 'phy-clkgate-delay-us' property that is used to describe the delay time between putting PHY into low power mode and turning off the PHY clock. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 1fbf46280eb6866c762de5ec8ba35f09097b0d53 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 8 22:18:14 2015 -0300 usb: chipidea: Add support for 'phy-clkgate-delay-us' property Add support for the optional 'phy-clkgate-delay-us' property that is used to describe the delay time between putting PHY into low power mode and turning off the PHY clock. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit 3ecb3e09b042e70799ff3a1ff464a5ecaa7547d9 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Sep 7 14:45:25 2015 +0300 usb: chipidea: Use extcon framework for VBUS and ID detect On recent Qualcomm platforms VBUS and ID lines are not routed to USB PHY LINK controller. Use extcon framework to receive connect and disconnect ID and VBUS notification. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> commit a408365c62762c30419018587cffd2b89836434e Merge: a0d58e4 0305cd5 Author: Chris Mason <clm@xxxxxx> Date: Wed Oct 21 18:23:59 2015 -0700 Merge branch 'integration-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/fdmanana/linux into for-linus-4.4 commit a0d58e48db58801a0e764e9b9c87e1782d390fcb Merge: 6db4a73 ddd664f Author: Chris Mason <clm@xxxxxx> Date: Wed Oct 21 18:21:40 2015 -0700 Merge branch 'cleanups/for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.4 commit 0f89abf56abbd0e1c6e3cef9813e6d9f05383c1e Author: Christian Engelmayer <cengelma@xxxxxx> Date: Wed Oct 21 00:50:06 2015 +0200 btrfs: fix possible leak in btrfs_ioctl_balance() Commit 8eb934591f8b ("btrfs: check unsupported filters in balance arguments") adds a jump to exit label out_bargs in case the argument check fails. At this point in addition to the bargs memory, the memory for struct btrfs_balance_control has already been allocated. Ownership of bctl is passed to btrfs_balance() in the good case, thus the memory is not freed due to the introduced jump. Make sure that the memory gets freed in any case as necessary. Detected by Coverity CID 1328378. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2b5f900e4fb18d85fc62d4efcf4e7016fc384806 Merge: 1f43710 090425c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 22 10:31:43 2015 +1000 Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next rcar-du support for r8a7793/4 * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev: drm: rcar-du: Add support for the R8A7794 DU drm: rcar-du: Add support for the R8A7793 DU commit 1f43710a8e3d0de5dcbf14d3d8a0b5f31126396f Merge: affa0e0 98a4450 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 22 10:23:31 2015 +1000 Merge tag 'drm-vc4-next-2015-10-21' of http://github.com/anholt/linux into drm-next This pull request introduces the vc4 driver, for kernel modesetting on the Raspberry Pi (bcm2835/bcm2836 architectures). It currently supports a display plane and cursor on the HDMI output. The driver doesn't do 3D, power management, or overlay planes yet. [airlied: fixup the enable/disable vblank APIs] Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> * tag 'drm-vc4-next-2015-10-21' of http://github.com/anholt/linux: drm/vc4: Allow vblank to be disabled drm/vc4: Use the fbdev_cma helpers drm/vc4: Add KMS support for Raspberry Pi. drm/vc4: Add devicetree bindings for VC4. commit f63d19ef52aa66e97fca2425974845177ce02b0a Merge: 938ce30 0064c86 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Oct 21 17:28:19 2015 -0700 Merge branch 'clk-iproc' into clk-next * clk-iproc: clk: iproc: define Broadcom NS2 iProc clock binding clk: iproc: define Broadcom NSP iProc clock binding clk: ns2: add clock support for Broadcom Northstar 2 SoC clk: iproc: Separate status and control variables clk: iproc: Split off dig_filter clk: iproc: Add PLL base write function clk: nsp: add clock support for Broadcom Northstar Plus SoC clk: iproc: Add PWRCTRL support clk: cygnus: Convert all macros to all caps ARM: cygnus: fix link failures when CONFIG_COMMON_CLK_IPROC is disabled commit c50f13f911b90a722308bffbf26187ff3890aa1e Merge: c2a7558 677c884 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 22 10:24:55 2015 +1000 Merge branch 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux into drm-fixes Just a crash fix for radeon and amdgpu if the user has forcibly disabled dpm and tries to access the pwm sysfs controls. * 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux: drm/amdgpu: add missing dpm check for KV dpm late init drm/amdgpu/dpm: don't add pwm attributes if DPM is disabled drm/radeon/dpm: don't add pwm attributes if DPM is disabled commit c2a75586ff27ee7636bb2bf33ee66992a6603e49 Merge: 37363bc 18e9345 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 22 10:24:21 2015 +1000 Merge tag 'drm-intel-fixes-2015-10-16' of git://anongit.freedesktop.org/drm-intel into drm-fixes The revert dance could use some explanation: we had stuff fixed in -next, and initially backported one commit to v4.3. Now, turns out we need more fixes, and we could cherry-pick them all without conflicts if we reverted the backported one first. So did that to not have to edit and backport them all. * tag 'drm-intel-fixes-2015-10-16' of git://anongit.freedesktop.org/drm-intel: drm/i915: Add primary plane to mask if it's visible drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() drm/i915: Assign hwmode after encoder state readout Revert "drm/i915: Add primary plane to mask if it's visible" drm/i915: Deny wrapping an userptr into a framebuffer drm/i915: Enable DPLL VGA mode before P1/P2 divider write drm/i915: Restore lost DPLL register write on gen2-4 drm/i915: Flush pipecontrol post-sync writes drm/i915: Fix kerneldoc for i915_gem_shrink_all commit 0064c862340626400a56d72e5e86f01ef0d5a498 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:33 2015 -0400 clk: iproc: define Broadcom NS2 iProc clock binding Document the device tree bindings for Broadcom Northstar 2 architecture based clock controller Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7f3c46327fb94451d2f04c48ffc43e2bab7233f5 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:32 2015 -0400 clk: iproc: define Broadcom NSP iProc clock binding Document the device tree bindings for Broadcom Northstar Plus architecture based clock controller Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f7225a832dde995325b486b41728dfbe4634311c Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:31 2015 -0400 clk: ns2: add clock support for Broadcom Northstar 2 SoC The Broadcom Northstar 2 SoC is architected under the iProc architecture. It has the following PLLs: GENPLL SCR, GENPLL SW, LCPLL DDR, LCPLL Ports, all derived from an onboard crystal. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a47c7a6c8aff0563c0ef4adf299268f3c27af0f6 Merge: 083c129 6320565 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Oct 22 11:17:50 2015 +1100 Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/selinux into next commit 083c1290ca73666ce1b551cc89d080d060f02ad6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 21 21:16:29 2015 +0200 apparmor: clarify CRYPTO dependency The crypto framework can be built as a loadable module, but the apparmor hash code can only be built-in, which then causes a link error: security/built-in.o: In function `aa_calc_profile_hash': integrity_audit.c:(.text+0x21610): undefined reference to `crypto_shash_update' security/built-in.o: In function `init_profile_hash': integrity_audit.c:(.init.text+0xb4c): undefined reference to `crypto_alloc_shash' This changes Apparmor to use 'select CRYPTO' like a lot of other subsystems do. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: John Johansen <john.johansen@xxxxxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit b31968828352ecae41d47aaa703e16c1ba06bfd8 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:26:08 2015 +0800 ACPICA: Update version to 20150930 ACPICA commit e9c75ca267262326e80d49a290e8387a5963e2d2 Version 20150930. Link: https://github.com/acpica/acpica/commit/e9c75ca2 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 aaa93a618b3f1a94f70b09f9e22481d4a51976d0 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:26:02 2015 +0800 ACPICA: Debugger: Fix dead lock issue ocurred in single stepping mode ACPICA commit 35273add90da19cd8790fdb5735f52e3c9861684 When single step execution is not ended, executing another control methods leads to dead locks around interpreter lock/namespace lock/method serialization lock. So we should only allow one execution from the debugger at same time. Lv Zheng. Link: https://github.com/acpica/acpica/commit/35273add 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 4d946f7970e51d80f8358e0a619dfb17d89e0920 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:25:56 2015 +0800 ACPI: Enable build of AML interpreter debugger This patch enables ACPICA debugger files using a configurable CONFIG_ACPI_DEBUGGER configuration item. Those debugger related code that was originally masked as ACPI_FUTURE_USAGE now gets unmasked. Necessary OSL stubs are also added in this patch: 1. acpi_os_readable(): This should be arch specific in Linux, while this patch doesn't introduce real implementation and a complex mechanism to allow architecture specific acpi_os_readable() to be implemented to validate the address. It may be done by future commits. 2. acpi_os_get_line(): This is used to obtain debugger command input. This patch only introduces a simple KDB concept example in it and the example should be co-working with the code implemented in acpi_os_printf(). Since this KDB example won't be compiled unless ENABLE_DEBUGGER is defined and it seems Linux has already stopped to use ENABLE_DEBUGGER, thus do not expect it can work properly. This patch also cleans up all other ACPI_FUTURE_USAGE surroundings accordingly. 1. Since linkage error can be automatically detected, declaration in the headers needn't be surrounded by ACPI_FUTURE_USAGE. So only the following separate exported fuction bodies are masked by this macro (other exported fucntions may have already been masked at entire module level via drivers/acpi/acpica/Makefile): acpi_install_exception_handler() acpi_subsystem_status() acpi_get_system_info() acpi_get_statistics() acpi_install_initialization_handler() 2. Since strip can automatically zap the no-user functions, functions that are not marked with ACPI_EXPORT_SYMBOL() needn't get surrounded by ACPI_FUTURE_USAGE. So the following function which is not used by Linux kernel now won't get surrounded by this macro: acpi_ps_get_name() Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f988f24ee7931d3487b36cc0c29164296bf2191e Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:25:50 2015 +0800 ACPICA: Debugger: Add thread ID support so that single step mode can only apply to the debugger thread When the debugger is running in the kernel mode, acpi_db_single_step() may also be invoked by the kernel runtime code path but the single stepping command prompt may be erronously logged as the kernel logs and runtime code path cannot proceed. This patch fixes this issue by adding acpi_gbl_db_thread_id for the debugger thread and preventing acpi_db_single_step() to be invoked from other threads. It is not suitable to add acpi_thread_id parameter for acpi_os_execute() as the function may be implemented as work queue on some hosts. So it is better to let the hosts invoke acpi_set_debugger_thread_id(). Currently acpiexec is not configured as DEBUGGER_MULTI_THREADED, but we can do this. When we do this, it is better to invoke acpi_set_debugger_thread_id() in acpi_os_execute() when the execution type is OSL_DEBUGGER_MAIN_THREAD. The support should look like: create_thread(&tid); if (type == OSL_DEBUGGER_MAIN_THREAD) acpi_set_debugger_thread_id(tid); resume_thread(tid); Similarly, semop() may be used for pthread implementation. But this patch simply skips debugger thread ID check for application instead of introducing such complications as there is no need to skip acpi_db_single_step() for an application debugger - acpiexec. Note that the debugger thread ID can also be used by acpi_os_printf() to filter out debugger output. Lv Zheng. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 086ab742ac97b45ee64507b32b3d1ecbdbc56b39 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:25:42 2015 +0800 ACPICA: Debugger: Fix "terminate" command by cleaning up subsystem shutdown logic ACPICA commit 7e823714911480be47e310fb1b3590d289b9fd99 Segmentation fault can be seen for executing the "terminate" command. This is because acpi_ut_subsystem_shutdown() is errnously called multiple times. This patch cleans up acpi_ut_subsystem_shutdown() logics to fix this issue. Lv Zheng. Link: https://github.com/acpica/acpica/commit/7e823714 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 af08f9cc5073eee875016d28730c99ec86da4198 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:25:32 2015 +0800 ACPICA: Debugger: Fix "quit/exit" command by cleaning up user commands termination logic ACPICA commit 0dd68e16274cd38224aa4781eddc57dc2cbaa108 The quit/exit commands shouldn't invoke acpi_terminate_debugger() and acpi_terminate() right in the user command loop, because when the debugger exits, the kernel ACPI subsystem shouldn't be terminated (acpi_terminate()) and the debugger should only be terminated by its users (acpi_terminate_debugger()) rather than being terminated itself. Leaving such invocations causes kernel panic when the debugger is shipped in the Linux kernel. This patch fixes this issue. Lv Zheng. Link: https://github.com/acpica/acpica/commit/0dd68e16 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 9957510255724c1c746c9a6264c849e9fdd4cd24 Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Mon Oct 19 10:25:20 2015 +0800 ACPICA: Linuxize: Export debugger files to Linux ACPICA commit bc2d3daa4bd429611451f28800def9fea55e63de This patch exports debugger files to Linux. Link: https://github.com/acpica/acpica/commit/bc2d3daa 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 40c8bec3f2591856e21124270be51a0a2b77c82d Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:30 2015 -0400 clk: iproc: Separate status and control variables Some PLLs have separate registers for Status and Control. The means the pll_base needs to be split into 2 new variables, so that those PLLs can specify device tree registers for those independently. Also, add a new driver flag to identify this presence of the split, and let the driver know that additional registers need to be used. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8832317f662c06f5c06e638f57bfe89a71c9b266 Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 15:53:29 2015 +0530 powerpc/rtas: Validate rtas.entry before calling enter_rtas() Currently we do not validate rtas.entry before calling enter_rtas(). This leads to a kernel oops when user space calls rtas system call on a powernv platform (see below). This patch adds code to validate rtas.entry before making enter_rtas() call. Oops: Exception in kernel mode, sig: 4 [#1] SMP NR_CPUS=1024 NUMA PowerNV task: c000000004294b80 ti: c0000007e1a78000 task.ti: c0000007e1a78000 NIP: 0000000000000000 LR: 0000000000009c14 CTR: c000000000423140 REGS: c0000007e1a7b920 TRAP: 0e40 Not tainted (3.18.17-340.el7_1.pkvm3_1_0.2400.1.ppc64le) MSR: 1000000000081000 <HV,ME> CR: 00000000 XER: 00000000 CFAR: c000000000009c0c SOFTE: 0 NIP [0000000000000000] (null) LR [0000000000009c14] 0x9c14 Call Trace: [c0000007e1a7bba0] [c00000000041a7f4] avc_has_perm_noaudit+0x54/0x110 (unreliable) [c0000007e1a7bd80] [c00000000002ddc0] ppc_rtas+0x150/0x2d0 [c0000007e1a7be30] [c000000000009358] syscall_exit+0x0/0x98 Cc: stable@xxxxxxxxxxxxxxx # v3.2+ Fixes: 55190f88789a ("powerpc: Add skeleton PowerNV platform") Reported-by: NAGESWARA R. SASTRY <nasastry@xxxxxxxxxx> Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> [mpe: Reword change log, trim oops, and add stable + fixes] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f713c6bf32092a259d6baf2be24f9c3dbf2462c3 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:29 2015 -0400 clk: iproc: Split off dig_filter The PLL loop filter/gain can be located in a separate register on some SoCs. Split these off into a separate variable, so that an offset can be added if necessary. Also, make the necessary modifications to the Cygnus and NSP drivers for this change. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7968d24107f5a50a11792f8a7f011877e7470dfa Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:28 2015 -0400 clk: iproc: Add PLL base write function All writes to the PLL base address must be flushed if the IPROC_CLK_NEEDS_READ_BACK flag is set. If we add a function to make the necessary write and reads, we can make sure that any future code which makes PLL base writes will do the correct thing. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 842e71332eebf847133ea8e749c80849dae623c0 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:25:04 2015 +0800 ACPICA: iASL: General cleanup of the file suffix #defines ACPICA commit bed456ed2976bdaafdef406b982fdf6c539befc0 Removed some extraneous defines, reordered others. Link: https://github.com/acpica/acpica/commit/bed456ed 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 a5922a1f738b077c9f341f4bf3c02be436d39687 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:58 2015 +0800 ACPICA: Improve typechecking, both compile-time and runtime ACPICA commit 8d0f96e2a11a4ceabb2cae4b41e0ce1f4d3786b9 Adds much stricter typechecking in the iASL compiler, and also adds some additional checking in the interpreter. Link: https://github.com/acpica/acpica/commit/8d0f96e2 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 ca321d1ca6723ed0e04edd09de49c92b24e3648e Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:52 2015 +0800 ACPICA: Update NFIT table to rename a flags field ACPICA commit 534deab97fb416a13bfede15c538e2c9eac9384a Updated one of the memory subtable flags to clarify. Link: https://github.com/acpica/acpica/commit/534deab9 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 cd64bbf8ce7b27d4a88d533883b59f79c6bbc9f8 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:45 2015 +0800 ACPICA: Debugger: Update mutexes used for multithreaded debugger ACPICA commit 6b2701f619040e803313363f516b200e362a9100 Make these mutex objects independent of the deadlock detection mechanism. This mechanism caused failures with the multithread debugger. This patch doesn't affect Linux kernel as debugger is currently not fully functioning in the Linux kernel. And the further debugger cleanups will take care of handling debugger command signalling correctly instead of using such kind of mutexes. So it is safe to leave this patch as it is. Link: https://github.com/acpica/acpica/commit/6b2701f6 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 92dc96196e96470eb9be7bc3f61f12f1571a2d30 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:38 2015 +0800 ACPICA: Update exception code for "file not found" error ACPICA commit ac1564c26d239348ef13455f61d5616f3961ff43 Used by the ACPICA applications. This patch is a bit broken due to non-portable <errno.h> inclusion as on some platforms, there is no such a header file for their lib-c exports. Fortunately, Linux doesn't compile utfileio.c for either the kernel space ACPICA core (drivers/acpi/acpica) or the userspace ACPICA tools (tools/power/acpi) for now, so it's safe to leave this patch as it is. Link: https://github.com/acpica/acpica/commit/ac1564c2 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 69058ddf28ce86296b1526d0953417f29b6df179 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:32 2015 +0800 ACPICA: iASL: Add symbolic operator support for Index() operator ACPICA commit fbe67c46830f10c839941f8512cac5bddcb86bd3 Index (XXXX, 2) is now supported by XXXX [2] This patch doesn't affect Linux kernel. Link: https://github.com/acpica/acpica/commit/fbe67c46 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 93556118c0679d9ed25e108a94f2b893160fce54 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Mon Oct 19 10:24:26 2015 +0800 ACPICA: Remove unnecessary conditional compilation ACPICA commit eea1f0e561893b6d6417913b2d224082fe3a0a5e Remove use of ACPI_DEBUGGER and ACPI_DISASSEMBLER where these defines are used around entire modules. Note: This type of code also causes problems with IDEs. Link: https://github.com/acpica/acpica/commit/eea1f0e5 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 5f024b0685f753325f1b8cacbe37ffe5921b13d1 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:27 2015 -0400 clk: nsp: add clock support for Broadcom Northstar Plus SoC The Broadcom Northstar Plus SoC is architected under the iProc architecture. It has the following PLLs: ARMPLL, GENPLL, LCPLL0, all derived from an onboard crystal. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 01b6722fdf65a91d588338e5a1964d57fa2dd590 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:26 2015 -0400 clk: iproc: Add PWRCTRL support Some iProc SoC clocks use a different way to control clock power, via the PWRDWN bit in the PLL control register. Since the PLL control register is used to access the PWRDWN bit, there is no need for the pwr_base when this is being used. A new flag, IPROC_CLK_EMBED_PWRCTRL, has been added to identify this usage. We can use the AON interface to write the values to enable/disable PWRDOWN. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Remove useless parentheses] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 2dfc8a27ecfb3a54cc60376e0e7c4872934008f1 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Thu Oct 15 15:48:25 2015 -0400 clk: cygnus: Convert all macros to all caps The macros that are being used to initialize the values of the clk structures should be all caps. Find and replace all of them with their relevant counterparts. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1e9bc9d6369ba73885e4786b48f954f05348c3cb Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 15:48:24 2015 -0400 ARM: cygnus: fix link failures when CONFIG_COMMON_CLK_IPROC is disabled When CONFIG_CYGNUS is set but CONFIG_COMMON_CLK_IPROC is disabled, the following link failures are caused: drivers/built-in.o: In function `cygnus_armpll_init': :(.init.text+0x1d290): undefined reference to `iproc_armpll_setup' drivers/built-in.o: In function `cygnus_genpll_clk_init': :(.init.text+0x1d2c4): undefined reference to `iproc_pll_clk_setup' drivers/built-in.o: In function `cygnus_lcpll0_clk_init': :(.init.text+0x1d304): undefined reference to `iproc_pll_clk_setup' drivers/built-in.o: In function `cygnus_mipipll_clk_init': :(.init.text+0x1d344): undefined reference to `iproc_pll_clk_setup' drivers/built-in.o: In function `cygnus_asiu_init': :(.init.text+0x1d370): undefined reference to `iproc_asiu_setup' It is fixed it by always selecting COMMON_CLK_IPROC from ARCH_BCM_IPROC, and making COMMON_CLK_IPROC a silent option (thus preventing it from being erroneously disabled by a user). Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 55ee7017ee31a3abcc240e0d40284b02ddac92c8 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Oct 20 16:05:59 2015 -0500 arm: omap2: board-generic: use omap4_local_timer_init for AM437x AM437x-based boards, can use omap4_local_timer_init() just fine. Let's use that instead. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 938ce30e29dcb8ca0b1bf375305485ed17f40062 Merge: 489e5d4 9b038bc Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Oct 21 16:29:03 2015 -0700 Merge tag 'sunxi-clocks-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-next Pull Allwinner clock additions for 4.4 from Maxime Ripard: - Support for the Audio PLL and child clocks - Support for the A33 AHB gates - New clk-multiplier generic driver * tag 'sunxi-clocks-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: clk: sunxi: mod1 clock support clk: sunxi: codec clock support clk: sunxi: pll2: Add A13 support clk: sunxi: Add a driver for the PLL2 clk: Add a basic multiplier clock clk: sunxi: Add A33 gates support commit 489e5d4152c7bdcff8b0bbf73e90d1d59bbec863 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Oct 21 22:41:39 2015 +0200 clk: imx31: add missing of_node_put for_each_compatible_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression n; expression e; @@ for_each_compatible_node(n,...) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 77cb8ee67582ad815310c4544c7c408056fe59bf Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Oct 21 22:41:38 2015 +0200 clk: imx27: add missing of_node_put for_each_compatible_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ local idexpression n; expression e; @@ for_each_compatible_node(n,...) { ... ( of_node_put(n); | e = n | + of_node_put(n); ? break; ) ... } ... when != n // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a1bdfbaf9900a7bafebdba796b034371ee1c3f5e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Oct 21 22:41:37 2015 +0200 clk: si5351: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> The resulting puts were manually moved to the end of the function for conciseness. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6bc9d9d62cbc885414c7d4bb1926c43950498479 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Oct 21 22:41:36 2015 +0200 clk: add missing of_node_put for_each_matching_node_and_match performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. A simplified version of the semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression e1,e2,e; local idexpression np; @@ for_each_matching_node_and_match(np, e1, e2) { ... when != of_node_put(np) when != e = np ( return np; | + of_node_put(np); ? return ...; ) ... } // </smpl> Besides the problem identified by the semantic patch, this patch adds an of_node_get in front of saving np in a field of parent, to account for the fact that this value will be put on going on to the next element in the iteration, and then adds of_node_puts in the two loops where the parent pointer can be freed. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 37363bc03e0b53c45e98f34e35c75b55611417e0 Merge: 30730c7 2a6c521 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 22 09:15:10 2015 +1000 Merge branch 'linux-4.3' of git://anongit.freedesktop.org/nouveau/linux-2.6 into drm-fixes Just one fix from Ilia to resolve various issues that have resulted from buffer eviction. * 'linux-4.3' of git://anongit.freedesktop.org/nouveau/linux-2.6: drm/nouveau/gem: return only valid domain when there's only one commit 2a6c521bb41ce862e43db46f52e7681d33e8d771 Author: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Date: Tue Oct 20 01:15:39 2015 -0400 drm/nouveau/gem: return only valid domain when there's only one On nv50+, we restrict the valid domains to just the one where the buffer was originally created. However after the buffer is evicted to system memory, we might move it back to a different domain that was not originally valid. When sharing the buffer and retrieving its GEM_INFO data, we still want the domain that will be valid for this buffer in a pushbuf, not the one where it currently happens to be. This resolves fdo#92504 and several others. These are due to suspend evicting all buffers, making it more likely that they temporarily end up in the wrong place. Cc: stable@xxxxxxxxxxxxxxx Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92504 Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9e19ca2f627e5a6ee7425c48cc30b7356995b691 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Sat Sep 19 23:29:55 2015 -0500 clk: qoriq: Add ls2080a support. LS2080A is the first implementation of the chassis 3 clockgen, which has a different register layout than previous chips. It is also little endian, unlike previous chips. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0dfc86b3173feee96f36e71879aa6dd56a4d7925 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Sat Sep 19 23:29:54 2015 -0500 clk: qoriq: Move chip-specific knowledge into driver The device tree should describe the chips (or chip-like subblocks) in the system, but it generally does not describe individual registers -- it should identify, rather than describe, a programming interface. This has not been the case with the QorIQ clockgen nodes. The knowledge of what each bit setting of CLKCnCSR means is encoded in three places (binding, pll node, and mux node), and the last also needs to know which options are valid on a particular chip. All three of these locations are considered stable ABI, making it difficult to fix mistakes (of which I have found several), much less refactor the abstraction to be able to address problems, limitations, or new chips. Under the current binding, a pll clock specifier of 2 means that the PLL is divided by 4 -- and the driver implements this, unless there happen to be four clock-output-names rather than 3, in which case it interprets it as PLL divided by 3. This does not appear in the binding documentation at all. That hack is now considered stable ABI. The current device tree nodes contain errors, such as saying that T1040 can set a core clock to PLL/4 when only PLL and PLL/2 are options. The current binding also ignores some restrictions on clock selection, such as p5020's requirement that if a core uses the "wrong" PLL, that PLL must be clocked lower than the "correct" PLL and be at most 80% of the rated CPU frequency. Possibly because of the lack of the ability to express such nuance in the binding, some valid options are omitted from the device trees, such as the ability on p4080 to run cores 0-3 from PLL3 and cores 4-7 from PLL1 (again, only if they are at most 80% of rated CPU frequency). This omission, combined with excessive caution in the cpufreq driver (addressed in a subsequent patch), means that currently on a 1500 MHz p4080 with typical PLL configuration, cpufreq can lower the frequency to 1200 MHz on half the CPUs and do nothing on the others. With this patchset, all CPUs can be lowered to 1200 MHz on a rev2 p4080, and on a rev3 p4080 half can be lowered to 750 MHz and the other half to 600 MHz. The current binding only deals with CPU clocks. To describe FMan in the device tree, we need to describe its clock. Some chips have additional muxes that work like the CPU muxes, but are not described in the device tree. Others require inspecting the Reset Control Word to determine which PLL is used. Rather than continue to extend this mess, replace it. Have the driver bind to the chip-specific clockgen compatible, and keep the detailed description of quirky chip variations in the driver, where it can be easily fixed, refactored, and extended. Older device trees will continue to work (including a workaround for old ls1021a device trees that are missing compatible and reg in the clockgen node, which even the old binding required). The pll/mux details in old device trees will be ignored, but "clocks" properties pointing at the old nodes will still work, and be directed at the corresponding new clock. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 948486544713492f00ac8a9572909101ea892cb0 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Sat Sep 19 23:29:53 2015 -0500 powerpc/fsl: Move fsl_guts.h out of arch/powerpc Freescale's Layerscape ARM chips use the same structure. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 205ad97fc5a6386214323641dd28b822cb6fc624 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 20 18:32:27 2015 +0200 ACPI / property: Fix subnode lookup scope for data-only subnodes The correct scope for looking up the objects to generate data packages for data-only subnodes pointed to by another data-only subnode is the scope of the parent of that subnode and not the scope containing the _DSD object at the top of the hierarchy (the latter works only if all of the objects returning data-only subnode packages in a given hierarchy are in the same scope). Fix the code to work as expected. Fixes: 445b0eb058f5 (ACPI / property: Add support for data-only subnodes) Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 30730c7f5943b3beace1e29f7f1476e05de3da14 Author: Adam Richter <adamrichter4@xxxxxxxxx> Date: Fri Oct 16 03:33:02 2015 -0700 drm: fix mutex leak in drm_dp_get_mst_branch_device In Linux 4.3-rc5, there is an error case in drm_dp_get_branch_device that returns without releasing mgr->lock, resulting a spew of kernel messages about a kernel work function possibly having leaked a mutex and presumably more serious adverse consequences later. This patch changes the error to "goto out" to unlock the mutex before returning. [airlied: grabbed from drm-next as it fixes something we've seen] Signed-off-by: Adam J. Richter <adam_richter2004@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit f96999c35f46fa9bce8a3a2812cd0a28fcde5903 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Oct 20 15:17:19 2015 -0700 f2fs: refactor __find_rev_next_{zero}_bit This patch refactors __find_rev_next_{zero}_bit which was disabled previously due to bugs. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1228236de5f978970fb814cc27138cdb00cbb48d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:43 2015 +0200 iommu: Move default domain allocation to iommu_group_get_for_dev() Now that the iommu core support for iommu groups is not pci-centric anymore, we can move default domain allocation to the bus independent iommu_group_get_for_dev() function. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 391811e185408671180745dfd30914bb64f6368e Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:42 2015 +0200 iommu: Remove is_pci_dev() fall-back from iommu_group_get_for_dev All callers of iommu_group_get_for_dev() provide a device_group call-back now, so this fall-back is no longer needed. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit af65993224c1cfd40b81080c95c6c68d41fc46c7 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:41 2015 +0200 iommu/arm-smmu: Switch to device_group call-back This converts the ARM SMMU and the SMMUv3 driver to use the new device_group call-back. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d5e582971576698ab3e0236359f1ab5b91686047 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:40 2015 +0200 iommu/fsl: Convert to device_group call-back Convert the fsl pamu driver to make use of the new device_group call-back. Cc: Varun Sethi <Varun.Sethi@xxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a960fadbe66e332b82595b3f26f00078caf0310f Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:39 2015 +0200 iommu: Add device_group call-back to x86 iommu drivers Set the device_group call-back to pci_device_group() for the Intel VT-d and the AMD IOMMU driver. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 6eab556a40384de94c2d03c8d9d632e5154367f5 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:38 2015 +0200 iommu: Add generic_device_group() function This function can be used as a device_group call-back and just allocates one iommu-group per device. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5e62292bad10cff25ff75d136c54e62b43bfb0fa Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:37 2015 +0200 iommu: Export and rename iommu_group_get_for_pci_dev() Rename that function to pci_device_group() and export it, so that IOMMU drivers can use it as their device_group call-back. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 46c6b2bc88a729366605d0dedb6a35b8cf7cc4f0 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Oct 21 23:51:36 2015 +0200 iommu: Revive device_group iommu-ops call-back That call-back is currently unused, change it into a call-back function for finding the right IOMMU group for a device. This is a first step to remove the hard-coded PCI dependency in the iommu-group code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 63205654c0e05e5ffa1c6eef2fbef21dcabd2185 Author: Sangwoo <sangwoo2.park@xxxxxxx> Date: Wed Oct 21 17:44:30 2015 -0400 selinux: Use a kmem_cache for allocation struct file_security_struct The size of struct file_security_struct is 16byte at my setup. But, the real allocation size for per each file_security_struct is 64bytes in my setup that kmalloc min size is 64bytes because ARCH_DMA_MINALIGN is 64. This allocation is called every times at file allocation(alloc_file()). So, the total slack memory size(allocated size - request size) is increased exponentially. E.g) Min Kmalloc Size : 64bytes, Unit : bytes Allocated Size | Request Size | Slack Size | Allocation Count --------------------------------------------------------------- 770048 | 192512 | 577536 | 12032 At the result, this change reduce memory usage 42bytes per each file_security_struct Signed-off-by: Sangwoo <sangwoo2.park@xxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> [PM: removed extra subject prefix] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 1d2a168a085f1c65b895f258ee11a52813d25af6 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Wed Oct 21 17:44:27 2015 -0400 selinux: ioctl_has_perm should be static Fixes the following sparse warning: security/selinux/hooks.c:3242:5: warning: symbol 'ioctl_has_perm' was not declared. Should it be static? Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 9529c7886c0741847eeb85cf2b0e0730eebe4fa5 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 17:44:27 2015 -0400 selinux: use sprintf return value sprintf returns the number of characters printed (excluding '\0'), so we can use that and avoid duplicating the length computation. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 21b76f199e25d32b0a7ed3833ca9204898262c24 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 17:44:26 2015 -0400 selinux: use kstrdup() in security_get_bools() This is much simpler. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit aa736c36db3e583d249e1d23a3ac9223b1c55f95 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 17:44:26 2015 -0400 selinux: use kmemdup in security_sid_to_context_core() Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 20ba96aeebd40f09a1d626913235941e290992c7 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 17:44:26 2015 -0400 selinux: remove pointless cast in selinux_inode_setsecurity() security_context_to_sid() expects a const char* argument, so there's no point in casting away the const qualifier of value. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 44be2f65d979291ffb2a47112449507ffe1f9726 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 21 17:44:25 2015 -0400 selinux: introduce security_context_str_to_sid There seems to be a little confusion as to whether the scontext_len parameter of security_context_to_sid() includes the nul-byte or not. Reading security_context_to_sid_core(), it seems that the expectation is that it does not (both the string copying and the test for scontext_len being zero hint at that). Introduce the helper security_context_str_to_sid() to do the strlen() call and fix all callers. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 44d37ad3602b3823764eeb0f6c1ee3ef6c4fb936 Author: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Date: Wed Oct 21 17:44:25 2015 -0400 selinux: do not check open perm on ftruncate call Use the ATTR_FILE attribute to distinguish between truncate() and ftruncate() system calls. The two other cases where do_truncate is called with a filp (and therefore ATTR_FILE is set) are for coredump files and for open(O_TRUNC). In both of those cases the open permission has already been checked during file open and therefore does not need to be repeated. Commit 95dbf739313f ("SELinux: check OPEN on truncate calls") fixed a major issue where domains were allowed to truncate files without the open permission. However, it introduced a new bug where a domain with the write permission can no longer ftruncate files without the open permission, even when they receive an already open file. Signed-off-by: Jeff Vander Stoep <jeffv@xxxxxxxxxx> Acked-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 2a35d196c160e352fa56eabb7952f78f4c85f577 Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed Oct 21 17:44:25 2015 -0400 selinux: change CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE default Change the SELinux checkreqprot default value to 0 so that SELinux performs access control checking on the actual memory protections used by the kernel and not those requested by the application. Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit c6a7b0d7a5105ae2e0454b18ce2989be59142afe Author: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Date: Tue Oct 20 14:18:00 2015 +0530 RDMA/ocrdma: Bump up ocrdma version number to 11.0.0.0 Updating the version number to 11.0.0.0 Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit af74d1956f780253d643a15f30d6aaa1c2e4836d Author: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Date: Tue Oct 20 14:17:59 2015 +0530 RDMA/ocrdma: Prevent CQ-Doorbell floods Changing CQ-Doorbell(DB) logic to prevent DB floods, it is supposed to be pressed only if any hw CQE is polled. If cq-arm was requested previously then don't bother about number of hw CQEs polled and arm the CQ. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit aeb922df2c6fc3fc21fd7ec4b9ae7e845e541450 Author: Naga Irrinki <Naga.Irrinki@xxxxxxxxxxxxx> Date: Tue Oct 20 14:17:58 2015 +0530 RDMA/ocrdma: Check resource ids received in Async CQE Some versions of the FW sends wrong QP or CQ IDs in the Async CQE. Adding a check to see whether qp or cq structures associated with the CQE is valid. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit fb16d8c49e6fa2791620cf2cd61d6daa123ed51e Author: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Date: Tue Oct 20 14:17:57 2015 +0530 RDMA/ocrdma: Avoid a possible crash in ocrdma_rem_port_stats debugfs_remove should be called before freeing the driver stats resources to avoid any crash during ocrdma_remove. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxxxxx> Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 5a85f5e9d41bfd8a1fb5136d5ea2815fc75a5271 Author: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Date: Tue Oct 20 14:17:56 2015 +0530 RDMA/ocrdma: Cleanup unused device list and rcu variables ocrdma_dev_list is not used by the driver. So removing the references of this variable. dev->rcu was introduced for the ipv6 notifier for GID management. This is no longer required as the GID management is outside the HW driver. Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@xxxxxxxxxxxxx> Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 3dd9a5dc24c0bfb1453965a22f5234367a8936e3 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 09:57:00 2015 +0530 iw_cxgb4: reverse the ord/ird in the ESTABLISHED upcall The ESTABLISHED event should have the peer's ord/ird so swap the values in the event before the upcall. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f57b780c0000a56b5e51df5f94a35828bb5e6a7a Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 09:56:59 2015 +0530 iw_cxgb4: fix misuse of ep->ord for minimum ird calculation When calculating the minimum ird in c4iw_accept_cr(), we need to always have a value of at least 1 if the RTR message is a 0B read. The code was incorrectly using ep->ord for this logic which was incorrectly adjusting the ird and causing incorrect ord/ird negotiation when using MPAv2 to negotiate these values. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 158c776dba1f6b5eb2e3d5327cda719dc4820c1c Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 09:56:58 2015 +0530 iw_cxgb4: pass the ord/ird in connect reply events This allows client ULPs to get the negotiated ord/ird which is useful to avoid stalling the SQ due to exceeding the ORD. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 99718e59fa8425753a8ec2aceb9ec3faa865eeb6 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Tue Sep 8 09:56:57 2015 +0530 iw_cxgb4: detect fatal errors while creating listening filters In c4iw_create_listen(), if we're using listen filters, then bail out of the busy loop if the device becomes fatally dead Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit e3d006ce8180a0c025ce66bdc89bbc125f85be57 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Oct 21 15:45:13 2015 -0300 perf annotate: Add debug message for out of bounds sample 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-q0lde9ajs84oi38nlyjcqbwg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8b8cde49586566471d65af9a59e25d3edb941387 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Oct 20 11:46:36 2015 -0700 perf evsel: Print branch filter state with -vv Add a missing field to the perf_event_attr debug output. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445366797-30894-4-git-send-email-andi@xxxxxxxxxxxxxx [ Print it between config2 and sample_regs_user (peterz)] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a85240d2543e1947868d81aab44e36bea6bb876e Merge: 51e0164 f8417b48 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Oct 21 16:07:21 2015 -0500 Merge branch 'bugfixes' * bugfixes: NFSv4.1/pnfs: Retry through MDS when getting bad length of data nfs/blocklayout: Fix bad using of page offset in bl_read_pagelist NFS: Return directly if encode_sessionid fail NFS: Fix bad checking of max taglen in callback request NFS: Fix bad defines of callback response maxsize NFS: Use NFS4_MAX_SESSIONID_LEN directly for decode/encode sessionid NFS: Remove unneeded NFS_DEBUG checking before define NFSDBG_FACILITY NFS: Remove the left function defines in callback.h NFS: Remove the left global variable nfs_callback_tcpport NFS: Get rid of the unneeded addr stored in callback arguments nfsroot: make nfsroot to accept the 1024 bytes long directory name commit cfd0c552a8272d691691f40073654d775836e23a Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:57 2015 +0800 blk-mq: mark ctx as pending at batch in flush plug path Most of times, flush plug should be the hottest I/O path, so mark ctx as pending after all requests in the list are inserted. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 676d06077f964f06af52c19e59f0409a8880612f Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:56 2015 +0800 blk-mq: fix for trace_block_plug() The trace point is for tracing plug event of each request queue instead of each task, so we should check the request count in the plug list from current queue instead of current task. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7460d389c01741f0dfff733af93d3b3abd9b974e Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:55 2015 +0800 block: check bio_mergeable() early before merging After bio splitting is introduced, one bio can be splitted and it is marked as NOMERGE because it is too fat to be merged, so check bio_mergeable() earlier to avoid to try to merge it unnecessarily. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e18378a60e27ad7b3e11ecc4e2c92159585dee68 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:54 2015 +0800 blk-mq: check bio_mergeable() early before merging It isn't necessary to try to merge the bio which is marked as NOMERGE. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6ac45aeb6bcad38a2783a7d6e5da4c469497eeb0 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:53 2015 +0800 block: avoid to merge splitted bio The splitted bio has been already too fat to merge, so mark it as NOMERGE. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bdced438acd83ad83a6c6fc7f50099b820245ddb Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Tue Oct 20 23:13:52 2015 +0800 block: setup bi_phys_segments after splitting The number of bio->bi_phys_segments is always obtained during bio splitting, so it is natural to setup it just after bio splitting, then we can avoid to compute nr_segment again during merge. Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0809e3ac62319dc7534b64f95ac37e230d740e8a Author: Jeff Moyer <jmoyer@xxxxxxxxxx> Date: Tue Oct 20 23:13:51 2015 +0800 block: fix plug list flushing for nomerge queues Request queues with merging disabled will not flush the plug list after BLK_MAX_REQUEST_COUNT requests have been queued, since the code relies on blk_attempt_plug_merge to compute the request_count. Fix this by computing the number of queued requests even for nomerge queues. Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5d1e623591dfaa64a59ecdac420adc16125524d4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 7 14:29:51 2015 +0200 IB/core: avoid 32-bit warning The INIT_UDATA() macro requires a pointer or unsigned long argument for both input and output buffer, and all callers had a cast from when the code was merged until a recent restructuring, so now we get core/uverbs_cmd.c: In function 'ib_uverbs_create_cq': core/uverbs_cmd.c:1481:66: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] This makes the code behave as before by adding back the cast to unsigned long. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 565197dd8fb1 ("IB/core: Extend ib_uverbs_create_cq") Reviewed-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b61e564af85bde408456f779eb267a37a64dc522 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 7 14:10:04 2015 +0200 RDMA/cxgb4: re-fix 32-bit build warning Casting a pointer to __be64 produces a warning on 32-bit architectures: drivers/infiniband/hw/cxgb4/mem.c:147:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] req->wr.wr_lo = (__force __be64)&wr_wait; This was fixed at least twice for this driver in different places, and accidentally reverted once more. This puts the correct version back in place. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 6198dd8d7a6a7 ("iw_cxgb4: 32b platform fixes") Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f8417b481cce2bed4744fda733f2ff22278bd7ce Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Oct 16 17:23:29 2015 +0800 NFSv4.1/pnfs: Retry through MDS when getting bad length of data If non rpc-based layout driver return bad length of data, nfs retries by calling rpc_restart_call_prepare() that cause an NULL reference panic. This patch lets nfs retry through MDS for non rpc-based layout driver return bad length of data. [13034.883329] BUG: unable to handle kernel NULL pointer dereference at (null) [13034.884902] IP: [<ffffffffa00db372>] rpc_restart_call_prepare+0x62/0x90 [sunrpc] [13034.886558] PGD 0 [13034.888126] Oops: 0000 [#1] KASAN [13034.889710] Modules linked in: blocklayoutdriver(OE) nfsv4(OE) nfs(OE) fscache(E) nfsd(OE) xfs libcrc32c coretemp btrfs crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel ppdev vmw_balloon auth_rpcgss shpchp nfs_acl lockd vmw_vmci parport_pc xor raid6_pq grace parport sunrpc i2c_piix4 vmwgfx drm_kms_helper ttm drm mptspi e1000 serio_raw scsi_transport_spi mptscsih mptbase ata_generic pata_acpi [last unloaded: fscache] [13034.898260] CPU: 0 PID: 10112 Comm: kworker/0:1 Tainted: G OE 4.3.0-rc5+ #279 [13034.899932] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/02/2015 [13034.903342] Workqueue: events bl_read_cleanup [blocklayoutdriver] [13034.905059] task: ffff88006a9148c0 ti: ffff880035e90000 task.ti: ffff880035e90000 [13034.906827] RIP: 0010:[<ffffffffa00db372>] [<ffffffffa00db372>] rpc_restart_call_prepare+0x62/0x90 [sunrpc] [13034.910522] RSP: 0018:ffff880035e97b58 EFLAGS: 00010282 [13034.912378] RAX: fffffbfff04a5a94 RBX: ffff880068fe4858 RCX: 0000000000000003 [13034.914339] RDX: dffffc0000000000 RSI: 0000000000000003 RDI: 0000000000000282 [13034.916236] RBP: ffff880035e97b68 R08: 0000000000000001 R09: 0000000000000001 [13034.918229] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000 [13034.920007] R13: ffff880068fe4858 R14: ffff880068fe4a60 R15: 0000000000001000 [13034.921845] FS: 0000000000000000(0000) GS:ffffffff82247000(0000) knlGS:0000000000000000 [13034.923645] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [13034.925525] CR2: 0000000000000000 CR3: 00000000063dd000 CR4: 00000000001406f0 [13034.932808] Stack: [13034.934813] ffff880068fe4780 0000000000001000 ffff880035e97ba8 ffffffffa08800d2 [13034.936675] ffffffffa088029d ffff880068fe4780 ffff880068fe4858 ffffffffa089c0a0 [13034.938593] ffff880068fe47e0 ffff88005d59faf0 ffff880035e97be0 ffffffffa087e08f [13034.940454] Call Trace: [13034.942388] [<ffffffffa08800d2>] nfs_readpage_result+0x112/0x200 [nfs] [13034.944317] [<ffffffffa088029d>] ? nfs_readpage_done+0xdd/0x160 [nfs] [13034.946267] [<ffffffffa087e08f>] nfs_pgio_result+0x9f/0x120 [nfs] [13034.948166] [<ffffffffa09266cc>] pnfs_ld_read_done+0x7c/0x1e0 [nfsv4] [13034.950247] [<ffffffffa03b07ee>] bl_read_cleanup+0x2e/0x60 [blocklayoutdriver] [13034.952156] [<ffffffff810ebf62>] process_one_work+0x412/0x870 [13034.954102] [<ffffffff810ebe84>] ? process_one_work+0x334/0x870 [13034.955949] [<ffffffff810ebb50>] ? queue_delayed_work_on+0x40/0x40 [13034.957985] [<ffffffff810ec441>] worker_thread+0x81/0x6a0 [13034.959817] [<ffffffff810ec3c0>] ? process_one_work+0x870/0x870 [13034.961785] [<ffffffff810f43bd>] kthread+0x17d/0x1a0 [13034.963544] [<ffffffff810f4240>] ? kthread_create_on_node+0x330/0x330 [13034.965479] [<ffffffff81100428>] ? finish_task_switch+0x88/0x220 [13034.967223] [<ffffffff810f4240>] ? kthread_create_on_node+0x330/0x330 [13034.968929] [<ffffffff81b6ae5f>] ret_from_fork+0x3f/0x70 [13034.970534] [<ffffffff810f4240>] ? kthread_create_on_node+0x330/0x330 [13034.972176] Code: c7 43 50 40 84 0d a0 e8 3d fe 1c e1 48 8d 7b 58 c7 83 e4 00 00 00 00 00 00 00 e8 ca fe 1c e1 4c 8b 63 58 4c 89 e7 e8 be fe 1c e1 <49> 83 3c 24 00 74 12 48 c7 43 50 f0 a2 0e a0 b8 01 00 00 00 5b [13034.977148] RIP [<ffffffffa00db372>] rpc_restart_call_prepare+0x62/0x90 [sunrpc] [13034.978780] RSP <ffff880035e97b58> [13034.980399] CR2: 0000000000000000 Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 15ae2c7bdc9a5a46999319b88a465a64d265dc40 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Oct 16 17:22:50 2015 +0800 nfs/blocklayout: Fix bad using of page offset in bl_read_pagelist Blocklayout uses file offset for the read-back page's offset of first writing, it's definitely wrong, it writes data to bad address of page that cause userspace application segment fault. It must be the page base stored in header->args.pgbase. Also, the pg_offset has no influence with isect and extent length. Note: The offset of the non-first page is always zero. Ps: A test program will segment fault at read() as, #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> int main(int argc, char **argv) { char buf[2049]; char *filename = NULL; int fd = -1; if (argc < 2) { printf("Usage: %s filename\n", argv[0]); return 0; } filename = argv[1]; fd = open(filename, O_RDONLY | O_DIRECT); if (fd < 0) { printf("Open %s fail: %m\n", filename); return 1; } lseek(fd, 2048, SEEK_SET); if (read(fd, buf, sizeof(buf) - 1) != (sizeof(buf) - 1)) printf("Read 4096 bityes data from %s fail: %m\n", filename); out: close(fd); return 0; } Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e0a63c0bfcc6f8283377258b5d892f88abd913c1 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:58:38 2015 +0800 NFS: Return directly if encode_sessionid fail encode_sessionid() may return error, nfs needs process the return value. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 403889c0399c01a12877e3736ae1e96c9ded27be Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:58:16 2015 +0800 NFS: Fix bad checking of max taglen in callback request The taglen should be checked with CB_OP_TAGLEN_MAXSZ directly. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 45724e8a5b2a69b9524fd16ff73345fab9aae279 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:57:58 2015 +0800 NFS: Fix bad defines of callback response maxsize As CB_OP_TAGLEN_MAXSZ, all XXX_MAXSZ should be defined as bit. Each operation should not cantains CB_OP_TAGLEN_MAXSZ. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 590184a6cea32c1f864a8e614f44e35a81a53fe0 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:57:37 2015 +0800 NFS: Use NFS4_MAX_SESSIONID_LEN directly for decode/encode sessionid It's no need to define a temporary variables for NFS4_MAX_SESSIONID_LEN. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 39de493e8801812cae076a02d84b4f80b88f94b9 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:57:03 2015 +0800 NFS: Remove unneeded NFS_DEBUG checking before define NFSDBG_FACILITY It's not needed to checking NFS_DEBUG before define NFSDBG_FACILITY, remove it. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f765bf762bb57d8bda825e5440a4801232cd835f Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:56:29 2015 +0800 NFS: Remove the left function defines in callback.h Commit 778be232a207 "NFS do not find client in NFSv4 pg_authenticate" has remove the define and using of nfs4_set_callback_sessionid(), and commit 36281caa839f "NFSv4: Further clean-ups of delegation stateid validation" has update the checking of stateid, and move the code to nfs4proc.c. This patch remove those function defines left in callback.h Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8c163d8e5ad2bd7982904bbe568706e1b0bbf60a Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:55:59 2015 +0800 NFS: Remove the left global variable nfs_callback_tcpport Commit bbe0a3aa4e22 "NFS: make nfs_callback_tcpport per network context" has make nfs_callback_tcpport per network, but left the global nfs_callback_tcpport, remove it. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit d4e2ce096101bad9ca5bad3c27488905f91e30cb Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Thu Sep 24 20:55:21 2015 +0800 NFS: Get rid of the unneeded addr stored in callback arguments Commit c36fca52f5 "NFS refactor nfs_find_client and reference client across callback processing" has store clp in cb_process_state which is set in cb_sequence. So that, it's unneeded to store address pointer in any callback arguments. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c646619355d196293daffdbb4fd877c8f5048e49 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Sep 24 10:19:09 2015 +0800 nfsroot: make nfsroot to accept the 1024 bytes long directory name although NFS_MAXPATHLEN is defined to 1024, nfs client hopes to accept a 1024 byte path, but nfs_root_parms is limited to 256, and the nfs path will truncated when a user inputs nfs path from kernel cmdline enlarge nfs_root_parms to 1024, to make it accept the 1024 bytes long directory name, since nfs_root_parms is defined as _initdata, it will be released after system bootup Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 924d55b06347d813b38c51e75ce1a6666c113933 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 15 14:10:49 2015 +0200 sd: implement the Persistent Reservation API This is a mostly trivial mapping to the PERSISTENT RESERVE IN/OUT commands. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bbd3e064362e5057cc4799ba2e4d68c7593e490b Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 15 14:10:48 2015 +0200 block: add an API for Persistent Reservations This commits adds a driver API and ioctls for controlling Persistent Reservations s/genericly/generically/ at the block layer. Persistent Reservations are supported by SCSI and NVMe and allow controlling who gets access to a device in a shared storage setup. Note that we add a pr_ops structure to struct block_device_operations instead of adding the members directly to avoid bloating all instances of devices that will never support Persistent Reservations. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d8e4bb8103df02a2c509868732dc93fb66110a12 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 15 14:10:47 2015 +0200 block: cleanup blkdev_ioctl Split out helpers for all non-trivial ioctls to make this function simpler, and also start passing around a pointer version of the argument, as that's what most ioctl handlers actually need. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4125a09b0a0d579ebace17f0e62b03ab9d5ab2f4 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:29 2015 -0400 block, libnvdimm, nvme: provide a built-in blk_integrity nop profile The libnvidmm-btt and nvme drivers use blk_integrity to reserve space for per-sector metadata, but sometimes without protection checksums. This property is generically useful, so teach the block core to internally specify a nop profile if one is not provided at registration time. Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Suggested-by: Christoph Hellwig <hch@xxxxxx> [hch: kill the local nvme nop profile as well] Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5a48fc147d7f2718a5c7e73bc8c4067235791fc1 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:23 2015 -0400 block: blk_flush_integrity() for bio-based drivers Since they lack requests to pin the request_queue active, synchronous bio-based drivers may have in-flight integrity work from bio_integrity_endio() that is not flushed by blk_freeze_queue(). Flush that work to prevent races to free the queue and the final usage of the blk_integrity profile. This is temporary unless/until bio-based drivers start to generically take a q_usage_counter reference while a bio is in-flight. Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx> [martin: fix the CONFIG_BLK_DEV_INTEGRITY=n case] Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ac6fc48c9fb7d3220ec4e0be0c29bb314ea75f9f Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:18 2015 -0400 block: move blk_integrity to request_queue A trace like the following proceeds a crash in bio_integrity_process() when it goes to use an already freed blk_integrity profile. BUG: unable to handle kernel paging request at ffff8800d31b10d8 IP: [<ffff8800d31b10d8>] 0xffff8800d31b10d8 PGD 2f65067 PUD 21fffd067 PMD 80000000d30001e3 Oops: 0011 [#1] SMP Dumping ftrace buffer: --------------------------------- ndctl-2222 2.... 44526245us : disk_release: pmem1s systemd--2223 4.... 44573945us : bio_integrity_endio: pmem1s <...>-409 4.... 44574005us : bio_integrity_process: pmem1s --------------------------------- [..] Call Trace: [<ffffffff8144e0f9>] ? bio_integrity_process+0x159/0x2d0 [<ffffffff8144e4f6>] bio_integrity_verify_fn+0x36/0x60 [<ffffffff810bd2dc>] process_one_work+0x1cc/0x4e0 Given that a request_queue is pinned while i/o is in flight and that a gendisk is allowed to have a shorter lifetime, move blk_integrity to request_queue to satisfy requests arriving after the gendisk has been torn down. Cc: Christoph Hellwig <hch@xxxxxx> Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx> [martin: fix the CONFIG_BLK_DEV_INTEGRITY=n case] Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3ef28e83ab15799742e55fd13243a5f678b04242 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:12 2015 -0400 block: generic request_queue reference counting Allow pmem, and other synchronous/bio-based block drivers, to fallback on a per-cpu reference count managed by the core for tracking queue live/dead state. The existing per-cpu reference count for the blk_mq case is promoted to be used in all block i/o scenarios. This involves initializing it by default, waiting for it to drop to zero at exit, and holding a live reference over the invocation of q->make_request_fn() in generic_make_request(). The blk_mq code continues to take its own reference per blk_mq request and retains the ability to freeze the queue, but the check that the queue is frozen is moved to generic_make_request(). This fixes crash signatures like the following: BUG: unable to handle kernel paging request at ffff880140000000 [..] Call Trace: [<ffffffff8145e8bf>] ? copy_user_handle_tail+0x5f/0x70 [<ffffffffa004e1e0>] pmem_do_bvec.isra.11+0x70/0xf0 [nd_pmem] [<ffffffffa004e331>] pmem_make_request+0xd1/0x200 [nd_pmem] [<ffffffff811c3162>] ? mempool_alloc+0x72/0x1a0 [<ffffffff8141f8b6>] generic_make_request+0xd6/0x110 [<ffffffff8141f966>] submit_bio+0x76/0x170 [<ffffffff81286dff>] submit_bh_wbc+0x12f/0x160 [<ffffffff81286e62>] submit_bh+0x12/0x20 [<ffffffff813395bd>] jbd2_write_superblock+0x8d/0x170 [<ffffffff8133974d>] jbd2_mark_journal_empty+0x5d/0x90 [<ffffffff813399cb>] jbd2_journal_destroy+0x24b/0x270 [<ffffffff810bc4ca>] ? put_pwq_unlocked+0x2a/0x30 [<ffffffff810bc6f5>] ? destroy_workqueue+0x225/0x250 [<ffffffff81303494>] ext4_put_super+0x64/0x360 [<ffffffff8124ab1a>] generic_shutdown_super+0x6a/0xf0 Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Suggested-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4cfc766e07a5ed709a9d5289c8644fe78e9f24de Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:07 2015 -0400 nvme: suspend i/o during runtime blk_integrity_unregister Synchronize pending i/o against a change in the integrity profile to avoid the possibility of spurious integrity errors. Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> [keith: also protect dynamic integrity registration] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c7bfced9a6716ff66c9d61f934bb60af08d4688c Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:20:02 2015 -0400 md: suspend i/o during runtime blk_integrity_unregister Synchronize pending i/o against a change in the integrity profile to avoid the possibility of spurious integrity errors. Given linear_add() is suspending the mddev before manipulating the mddev, do the same for the other personalities. Acked-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 9609b9942b180a50b0162419abd2932a41117fe9 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Wed Oct 21 13:19:55 2015 -0400 md, dm, scsi, nvme, libnvdimm: drop blk_integrity_unregister() at shutdown Now that the integrity profile is statically allocated there is no work to do when shutting down an integrity enabled block device. Cc: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: James Bottomley <JBottomley@xxxxxxxx> Acked-by: NeilBrown <neilb@xxxxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Acked-by: Vishal Verma <vishal.l.verma@xxxxxxxxx> Tested-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d5ce107a2f6198de84ff796e2657de9b67e67bf2 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 18 01:07:55 2014 -0300 ARM: sun7i: Add sunxi codec device node The A20 SoC includes the Allwinner audio codec, capable of both 24-bit playback and capture. This commit adds a device node for it. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 44cdcfc2d91041df422ffa6713c1066c12257ccd Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 16:50:21 2015 +0200 ARM: sun5i: Add the Audio codec DT node The A13 and A10s also have the audio codec present. List it in the device tree. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit bcf884504bac05df5e47766142eed304fa3ad953 Author: Marcus Cooper <codekipper@xxxxxxxxx> Date: Tue Jul 22 13:06:48 2014 +0200 ARM: sun4i: Add sunxi codec device node The A10 SoC includes the Allwinner audio codec, capable of both 24-bit playback and capture. This commit adds a device node for it. Signed-off-by: Marcus Cooper <codekipper@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit dbe4dd1e617a24b609b92c1551702a73c88858aa Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:28:46 2015 +0200 ARM: sun7i: Add audio codec clock The audio codec functional clock is a child of PLL2 and is used to control the audio rate, enable it in the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit ca72f0223760d7f14f092ca65dfccca74fc37c1c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:28:46 2015 +0200 ARM: sun5i: Add audio codec clock The audio codec functional clock is a child of PLL2 and is used to control the audio rate, enable it in the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit b516fa5def5975261bffe4f50169234ad6fad8db Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:28:46 2015 +0200 ARM: sun4i: Add audio codec clock The audio codec functional clock is a child of PLL2 and is used to control the audio rate, enable it in the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 88a86aaa613032e0d5cf70a3d0777302ec2ed40b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:21:49 2015 +0200 ARM: sun7i: Add audio PLL The A20 uses the PLL2 as the audio PLL, which is the parent of all the other audio clocks in the system (i2s, codec, etc.). Add it to the DTSI. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 6f87abb8cd7dc00701f0a732962420fddbf4b79b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:21:49 2015 +0200 ARM: sun5i: Add audio PLL The A13 uses the PLL2 as the audio PLL, which is the parent of all the other audio clocks in the system (i2s, codec, etc.). However, it has a different divider configuration than the A10, hence the difference compatible. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 6ee93e127f52d041342b30c8db485b41abcd5bdd Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 22:21:49 2015 +0200 ARM: sun4i: Add audio PLL The A10 uses the PLL2 as the audio PLL, which is the parent of all the other audio clocks in the system (i2s, codec, etc.). Add it to the DTSI. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 25520d55cdb6ee289abc68f553d364d22478ff54 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Oct 21 13:19:49 2015 -0400 block: Inline blk_integrity in struct gendisk Up until now the_integrity profile has been dynamically allocated and attached to struct gendisk after the disk has been made active. This causes problems because NVMe devices need to register the profile prior to the partition table being read due to a mandatory metadata buffer requirement. In addition, DM goes through hoops to deal with preallocating, but not initializing integrity profiles. Since the integrity profile is small (4 bytes + a pointer), Christoph suggested moving it to struct gendisk proper. This requires several changes: - Moving the blk_integrity definition to genhd.h. - Inlining blk_integrity in struct gendisk. - Removing the dynamic allocation code. - Adding helper functions which allow gendisk to set up and tear down the integrity sysfs dir when a disk is added/deleted. - Adding a blk_integrity_revalidate() callback for updating the stable pages bdi setting. - The calls that depend on whether a device has an integrity profile or not now key off of the bi->profile pointer. - Simplifying the integrity support routines in DM (Mike Snitzer). Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4c241d08dbfcbdc7a949b91d72707a289d464954 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Oct 21 13:19:43 2015 -0400 block: Export integrity data interval size in sysfs The size of the data interval was not exported in the sysfs integrity directory. Export it so that userland apps can tell whether the interval is different from the device's logical block size. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit a48f041d91bf1aee599fa2adb53b780ed20c2ee5 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Oct 21 13:19:38 2015 -0400 block: Reduce the size of struct blk_integrity The per-device properties in the blk_integrity structure were previously unsigned short. However, most of the values fit inside a char. The only exception is the data interval size and we can work around that by storing it as a power of two. This cuts the size of the dynamic portion of blk_integrity in half. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0f8087ecdeac921fc4920f1328f55c15080bc6aa Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Oct 21 13:19:33 2015 -0400 block: Consolidate static integrity profile properties We previously made a complete copy of a device's data integrity profile even though several of the fields inside the blk_integrity struct are pointers to fixed template entries in t10-pi.c. Split the static and per-device portions so that we can reference the template directly. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit aff34e192e4eeacfb8b5ffc68e10a240f2c0c6d7 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Wed Oct 21 13:19:27 2015 -0400 block: Move integrity kobject to struct gendisk The integrity kobject purely exists to support the integrity subdirectory in sysfs and doesn't really have anything to do with the blk_integrity data structure. Move the kobject to struct gendisk where it belongs. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 51e0164ebe374a26245312515af4ceae11bed4ae Merge: 120bf96 b9788a4 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Oct 21 15:42:20 2015 -0500 Merge branch 'nfsclone' * nfsclone: nfs: add missing linux/types.h NFS: Fix an 'unused variable' complaint when #ifndef CONFIG_NFS_V4_2 nfs42: add NFS_IOC_CLONE_RANGE ioctl nfs42: respect clone_blksize nfs: get clone_blksize when probing fsinfo nfs42: add NFS_IOC_CLONE ioctl nfs42: add CLONE proc functions nfs42: add CLONE xdr functions commit 931cf9a3e55c7a4c0d7340140643ce6fdf7b6e96 Author: Hal Rosenstock <hal@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:04:29 2015 -0400 ib_pack.h: Fix commentary IBA reference for CNP in IB opcode enum IBA spec is now 1.3 not 3.1 and vol 1 should be mentioned as there is also vol 2. Signed-off-by: Hal Rosenstock <hal@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 68a5e6043655a56cdb13b06b3f63d39791fe18eb Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 4 17:00:05 2015 +0800 IB/iser: fix a comment typo Just fix a typo in the code comment. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit b9788a446828703cf126dfb9d3843d240af44122 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Wed Oct 21 03:18:16 2015 +0800 nfs: add missing linux/types.h After merging the nfs tree, today's linux-next build (powerpc allyesconfig produced this warning: ./usr/include/linux/nfs.h:40: found __[us]{8,16,32,64} type without #include <linux/types.h> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fe274c5aed1b5e311e0e83306572b70312c0313a Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Mon Oct 19 16:57:10 2015 +0000 usnic: correctly handle kzalloc return value Since kzalloc returns memory address, not error code, it should be checked whether it is null or not. Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Reviewed-by: Dave Goodell <dgoodell@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 35ef4a9ebfe3392da8ca025c8c16365c9da472e5 Author: Dave Goodell \(dgoodell\) <dgoodell@xxxxxxxxx> Date: Thu Oct 15 20:01:29 2015 -0700 MAINTAINERS: update usnic maintainer contacts Upinder hasn't worked for Cisco for a little while now, updating to more active maintainers. Signed-off-by: Dave Goodell <dgoodell@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 2c79dad8953626b8b808a353bc661c9f321a64c0 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Thu Oct 15 21:15:15 2015 +0000 usnic: correctly check failed allocation Since ib_alloc_device returns allocated memory address, not error, it should be checked as IS_NULL, not IS_ERR_OR_NULL. Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Reviewed-by: Dave Goodell <dgoodell@xxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit fc81a06965396150a395b1fe29f1bd13d4825ad6 Merge: 070b399 0ca81a2 Author: Doug Ledford <dledford@xxxxxxxxxx> Date: Wed Oct 21 16:40:21 2015 -0400 Merge branch 'k.o/for-4.3-v1' into k.o/for-4.4 Pick up the late fixes from the 4.3 cycle so we have them in our next branch. commit 9b038bc58ad2658c76fd8b50bb333dfd4454573c Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Fri Jul 18 15:28:02 2014 -0300 clk: sunxi: mod1 clock support The module 1 type of clocks consist of a gate and a mux and are used on the audio blocks to mux and gate the PLL2 outputs for AC97, IIS or SPDIF. This commit adds support for them on the sunxi clock driver. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit e2771545f49fbfec874642533058a3423fa29e16 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Fri Jul 18 15:49:37 2014 -0300 clk: sunxi: codec clock support The codec clock on sun4i, sun5i and sun7i is a simple gate with PLL2 as parent. Add a driver for such a clock. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit eb662f854710e6a438789a4b0d1d0cce8c12379d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 13:32:43 2015 +0200 clk: sunxi: pll2: Add A13 support The A13, unlike the A10 and A20, doesn't use a pass-through exception for the 0 value in the pre and post dividers, but increments all the values written in the register by one. Add an exception for both these cases to handle them nicely. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 460d0d444822e9032a2573fc051b45c68b89a97a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 18 15:48:35 2014 -0300 clk: sunxi: Add a driver for the PLL2 The PLL2 on the A10 and later SoCs is the clock used for all the audio related operations. This clock has a somewhat complex output tree, with three outputs (2X, 4X and 8X) with a fixed divider from the base clock, and an output (1X) with a post divider. However, we can simplify things since the 1X divider can be fixed, and we end up by having a base clock not exposed to any device (or at least directly, since the 4X output doesn't have any divider), and 4 fixed divider clocks that will be exposed. This clock seems to have been introduced, at least in this form, in the revision B of the A10, but we don't have any information on the clock used on the revision A. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit f2e0a53271a439a2ab142645867f0cde45b2b3cd Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue May 19 22:19:33 2015 +0200 clk: Add a basic multiplier clock Some clocks are using a multiplier component, however, unlike their mux, gate or divider counterpart, these factors don't have a basic clock implementation. This leads to code duplication across platforms that want to use that kind of clocks, and the impossibility to use the composite clocks with such a clock without defining your own rate operations. Create such a driver in order to remove these issues, and hopefully factor the implementations, reducing code size across platforms and consolidating the various implementations. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 0ca81a2840f77855bbad1b9f172c545c4dc9e6a4 Author: Doron Tsur <doront@xxxxxxxxxxxx> Date: Sun Oct 11 15:58:17 2015 +0300 IB/cm: Fix rb-tree duplicate free and use-after-free ib_send_cm_sidr_rep could sometimes erase the node from the sidr (depending on errors in the process). Since ib_send_cm_sidr_rep is called both from cm_sidr_req_handler and cm_destroy_id, cm_id_priv could be either erased from the rb_tree twice or not erased at all. Fixing that by making sure it's erased only once before freeing cm_id_priv. Fixes: a977049dacde ('[PATCH] IB: Add the kernel CM implementation') Signed-off-by: Doron Tsur <doront@xxxxxxxxxxxx> Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 09dc1387c9c06cdaf55bc99b35238bd2ec0aed4b Author: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Date: Wed Oct 21 21:31:49 2015 +0200 drm/vmwgfx: Stabilize the command buffer submission code This commit addresses some stability problems with the command buffer submission code recently introduced: 1) Make the vmw_cmdbuf_man_process() function handle reruns internally to avoid losing interrupts if the caller forgets to rerun on -EAGAIN. 2) Handle default command buffer allocations using inline command buffers. This avoids rare allocation deadlocks. 3) In case of command buffer errors we might lose fence submissions. Therefore send a new fence after each command buffer error. This will help avoid lengthy fence waits. Signed-off-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx> commit bee67756eb4ae51ededeb8ce56e7f4fb91d30b43 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Oct 12 12:10:12 2015 -0700 PCI: pciehp: Queue power work requests in dedicated function Up to now, work items to be queued to be handled by pciehp_power_thread() are allocated using kmalloc() in three different locations. If not needed, kfree() is called to free the allocated data. Introduce a separate function to allocate the work item and queue it, and call it only if needed. This reduces code duplication and avoids having to free memory if the work item does not need to get executed. [bhelgaas: tweak "no memory" message, make pciehp_queue_power_work() static] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 17bc08f0d1b17d6d5e4967c1b430af627c5f2041 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:10 2015 +0300 Bluetooth: Remove unnecessary hci_explicit_connect_lookup function There's only one user of this helper which can be replaces with a call to hci_pend_le_action_lookup() and a check for params->explicit_connect. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1ede9868f6577e2bd7eda1a05cd6812aff5c6c8a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:07 2015 +0300 Bluetooth: Remove redundant (and possibly wrong) flag clearing There's no need to clear the HCI_CONN_ENCRYPT_PEND flag in smp_failure. In fact, this may cause the encryption tracking to get out of sync as this has nothing to do with HCI activity. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b5c2b6214c609f2be4c020c0be90758b5feeb446 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:09 2015 +0300 Bluetooth: Add hdev helper variable to hci_le_create_connection_cancel The hci_le_create_connection_cancel() function needs to use the hdev pointer in many places so add a variable for it to avoid the need to dereference the hci_conn every time. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ec182f0397e7065dabf13a99fc745fcab0bdc641 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:03 2015 +0300 Bluetooth: Remove unnecessary indentation in unpair_device() Instead of doing all of the LE-specific handling in an else-branch in unpair_device() create a 'done' label for the BR/EDR branch to jump to and then remove the else-branch completely. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f5ad4ffceba0b34adb0d896a069b81fc68f2d7b6 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:02 2015 +0300 Bluetooth: 6lowpan: Use hci_conn_hash_lookup_le() when possible Use the new hci_conn_hash_lookup_le() API to look up LE connections. This way we're guaranteed exact matches that also take into account the address type. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9d4c1cc15b14b4a96ddfcfac533a12f9f527c129 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:01 2015 +0300 Bluetooth: Use hci_conn_hash_lookup_le() when possible Use the new hci_conn_hash_lookup_le() API to look up LE connections. This way we're guaranteed exact matches that also take into account the address type. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1b51c7b6e878a2df6fdb5bcf51f966eb46a330e0 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:03:00 2015 +0300 Bluetooth: Add hci_conn_hash_lookup_le() helper function Many of the existing LE connection lookups are forced to use hci_conn_hash_lookup_ba() which doesn't take into account the address type. What's worse, most of the users don't bother checking that the returned address type matches what was wanted. This patch adds a new helper API to look up LE connections based on their address and address type, paving the way to have the hci_conn_hash_lookup_ba() users converted to do more precise lookups. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 85813a7ec774b982899c82f86c52cad47588f863 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 18:02:59 2015 +0300 Bluetooth: Add le_addr_type() helper function The mgmt code needs to convert from mgmt/L2CAP address types to HCI in many places. Having a dedicated helper function for this simplifies code by shortening it and removing unnecessary 'addr_type' variables. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ed885b210752563b5e90dc0933e262f768ea9fa4 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Oct 15 17:34:20 2015 +0200 drm/amdgpu: change VM size default to 64GB That's still small enough to not waste to much memory on PD/PTs. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ddd664f4478a4aaf0ac67a4297e33f1992bc9be2 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Tue Oct 20 14:56:23 2015 +0100 btrfs: reada: Fix returned errno code reada is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Since the error number is propagated, the caller will get a -EPERM which is the wrong error condition. Also, updating the caller to return the exact value from reada_add_block. Smatch tool warning: reada_add_block() warn: returning -1 instead of -ENOMEM is sloppy Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 0b8d8ce0297c4376d50318692e0aa53a3aaed90c Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Tue Oct 20 14:56:22 2015 +0100 btrfs: check-integrity: Fix returned errno codes check-integrity is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Since the error number is propagated, the caller will get a -EPERM which is the wrong error condition. Also, the smatch tool complains with the following warnings: btrfsic_process_superblock() warn: returning -1 instead of -ENOMEM is sloppy btrfsic_read_block() warn: returning -1 instead of -ENOMEM is sloppy Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit d91876496bcf2236efb75ef12378c964bbe8c970 Author: Byongho Lee <bhlee.kernel@xxxxxxxxx> Date: Wed Oct 14 14:05:24 2015 +0900 btrfs: compress: put variables defined per compress type in struct to make cache friendly Below variables are defined per compress type. - struct list_head comp_idle_workspace[BTRFS_COMPRESS_TYPES] - spinlock_t comp_workspace_lock[BTRFS_COMPRESS_TYPES] - int comp_num_workspace[BTRFS_COMPRESS_TYPES] - atomic_t comp_alloc_workspace[BTRFS_COMPRESS_TYPES] - wait_queue_head_t comp_workspace_wait[BTRFS_COMPRESS_TYPES] BTW, while accessing one compress type of these variables, the next or before address is other compress types of it. So this patch puts these variables in a struct to make cache friendly. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Byongho Lee <bhlee.kernel@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 619ed39242d901339c09faa1b52dad47b0476f6f Author: Byongho Lee <bhlee.kernel@xxxxxxxxx> Date: Thu Oct 8 20:49:34 2015 +0900 btrfs: cleanup iterating over prop_handlers array This patch eliminates the last item of prop_handlers array which is used to check end of array and instead uses ARRAY_SIZE macro. Though this is a very tiny optimization, using ARRAY_SIZE macro is a good practice to iterate array. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Byongho Lee <bhlee.kernel@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 8cd1e73111f95ca915f37ed534bbfbdf24fc1ca8 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 4 17:05:32 2015 +0800 btrfs: fix a comment typo Just fix a typo in the code comment. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 6e4d6fa12ceb22f87d49e043e5a7636abdac970f Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Tue Sep 22 21:00:07 2015 +0000 btrfs: declare rsv_count as unsigned int instead of int rsv_count ultimately gets passed to start_transaction() which now takes an unsigned int as its num_items parameter. The value of rsv_count should always be positive so declare it as being unsigned. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 5aed1dd8b458aa63aa9b7c1c5dd78f54de143c6f Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Tue Sep 22 20:59:15 2015 +0000 btrfs: change num_items type from u64 to unsigned int The value of num_items that start_transaction() ultimately always takes is a small one, so a 64 bit integer is overkill. Also change num_items for btrfs_start_transaction() and btrfs_start_transaction_lflush() as well. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit bdcd3c97d1cb4b8de8b57caab56eb0bb44d1f0f5 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Tue Sep 22 20:02:25 2015 +0000 btrfs: cleanup btrfs_balance profile validity checks Improve readability by generalizing the profile validity checks. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit bb78915203c0c1b07096e50d12f6e8fe54666f4f Author: Shan Hai <shan.hai@xxxxxxxxxxxxx> Date: Mon Sep 21 11:40:57 2015 +0800 btrfs/file.c: remove an unsed varialbe first_index The commit b37392ea86761 ("Btrfs: cleanup unnecessary parameter and variant of prepare_pages()") makes it redundant. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Shan Hai <haishan.bai@xxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 9c170b2644610a62b107c12a007e065d4456798d Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Sep 15 21:08:08 2015 +0800 btrfs: use btrfs_raid_array in btrfs_reduce_alloc_profile btrfs_raid_array[] holds attributes of all raid types. Use btrfs_raid_array[].devs_min is best way for request in btrfs_reduce_alloc_profile(), instead of use complex condition of each raid types. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 8789f4fe608922f484369382a8e507ca12df7f4e Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Sep 15 21:08:07 2015 +0800 btrfs: use btrfs_raid_array for btrfs_get_num_tolerated_disk_barrier_failures() btrfs_raid_array[] is used to define all raid attributes, use it to get tolerated_failures in btrfs_get_num_tolerated_disk_barrier_failures(), instead of complex condition in function. It can make code simple and auto-support other possible raid-type in future. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit af902047508d3619499cbbc2f7c4c5e16428b2e3 Author: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Date: Tue Sep 15 21:08:06 2015 +0800 btrfs: Move btrfs_raid_array to public This array is used to record attributes of each raid type, make it public, and many functions will benifit with this array. For example, num_tolerated_disk_barrier_failures(), we can avoid complex conditions in this function, and get raid attribute simply by accessing above array. It can also make code logic simple, reduce duplication code, and increase maintainability. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit e9cf439f0dc824cca6b2dc0dbb14e17f3f80b7f1 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Wed Sep 9 00:18:50 2015 +0000 btrfs: use a single if() statement for one outcome in get_block_rsv() Rather than have three separate if() statements for the same outcome we should just OR them together in the same if() statement. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit a099d0fdb34f00cee346703036a0a90d267e77d7 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Mon Sep 7 17:24:37 2015 +0300 btrfs: memset cur_trans->delayed_refs to zero Use memset() to null out the btrfs_delayed_ref_root of btrfs_transaction instead of setting all the members to 0 by hand. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 568b1c9cca82623af764ee6ea65dc41a7079171c Author: Byongho Lee <bhlee.kernel@xxxxxxxxx> Date: Tue Sep 1 23:36:28 2015 +0900 btrfs: remove unnecessary list_del We can safely iterate whole list items, without using list_del macro. So remove the list_del call. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Byongho Lee <bhlee.kernel@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit d7641a49a54f66e1a323d0de6b42caeee6d33aa5 Author: Byongho Lee <bhlee.kernel@xxxxxxxxx> Date: Tue Sep 1 23:10:57 2015 +0900 btrfs: replace unnecessary list_for_each_entry_safe to list_for_each_entry There is no removing list element while iterating over list. So, replace list_for_each_entry_safe to list_for_each_entry. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Byongho Lee <bhlee.kernel@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit f2f767e7345dfe56102d6809f647ba38a238f718 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Thu Aug 27 23:53:45 2015 +0000 btrfs: trimming some start_transaction() code away Just call kmem_cache_zalloc() instead of calling kmem_cache_alloc(). We're just initializing most fields to 0, false and NULL later on _anyway_, so to make the code mode readable and potentially gain a bit of performance (completely untested claim), we should fill our btrfs_trans_handle with zeros on allocation then just initialize those five remaining fields (not counting the list_heads) as normal. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 0412e58c6d62168643a285f99b2354fa97df6cf3 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Mon Aug 24 21:56:28 2015 +0000 btrfs: Fixed declaration of old_len old_len is used to store the return value of btrfs_item_size_nr(). The return value of btrfs_item_size_nr() is of type u32. To improve code correctness and avoid mixing signed and unsigned integers I've changed old_len to be of type u32 as well. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit ce0eac2a1d82eb841eae357bcef7ac39df131b21 Author: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Date: Sun Aug 23 16:01:42 2015 +0000 btrfs: Fixed dsize and last_off declarations The return values of btrfs_item_offset_nr and btrfs_item_size_nr are of type u32. To avoid mixing signed and unsigned integers we should also declare dsize and last_off to be of type u32. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 0d51e28a11ad428ac8545a3ec8724395fa1c71a7 Author: Chandan Rajendra <chandan@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 27 15:26:43 2015 +0530 Btrfs: btrfs_submit_bio_hook: Use btrfs_wq_endio_type values instead of integer constants btrfs_submit_bio_hook() uses integer constants instead of values from "enum btrfs_wq_endio_type". Fix this. Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: Chandan Rajendra <chandan@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 1873041152d2e324e25ddeec5541b90c22c2dc0f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Oct 20 00:39:02 2015 -0700 pstore: add a helper function pstore_register_kmsg Add a new wrapper function pstore_register_kmsg to keep the consistency with other similar pstore_register_* functions. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 549b39a9e7ef3eee2d0895530f277c012abc7b43 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Oct 20 00:39:01 2015 -0700 pstore: add vmalloc error check If vmalloc fails, make write_pmsg return -ENOMEM. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 81b1509aa99b968ac19b0aaa451ecd61a996db10 Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:32:03 2015 -0400 drm/amdgpu: add Stoney pci ids Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 39bb0c92829ad9d7525fa809aa89fc411c85a2c2 Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:31:43 2015 -0400 drm/amdgpu: update the core VI support for Stoney Add core VI enablement for Stoney. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit cfaba566035d2f5a977b18d3287fd407bacf34bc Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:27:55 2015 -0400 drm/amdgpu: add VCE support for Stoney (v2) Stoney is VCE 3.x single. v2: Stoney is single pipe like Fiji Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a39c8cea3512bdf9d002edc9142ff35d314a690e Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:27:21 2015 -0400 drm/amdgpu: add UVD support for Stoney Stoney is UVD 6.x. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e3c7656c22697eeef46ce043e23417241844ab1c Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:29:40 2015 -0400 drm/amdgpu: add GFX support for Stoney (v2) Stoney is GFX 8.1. v2: update to latest golden settings Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bb16e3b6c8641bdf4765c373ba41543861959cbb Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 17:17:51 2015 -0400 drm/amdgpu: add SDMA support for Stoney (v2) Stoney is SDMA 3.x. v2: update to latest golden register settings Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fa2f9befbbbe239bbc6aa1dc6284841a8bd15d49 Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:29:06 2015 -0400 drm/amdgpu: add DCE support for Stoney Stoney is DCE 11.x. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7a753c3f3474458fa1d0b8f41617e41995bc4c40 Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:28:41 2015 -0400 drm/amdgpu: Update SMC/DPM for Stoney Stoney is SMC 8.x. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit aade2f04f94aad4ed68a7a77893b300ef9cf25da Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 16:26:41 2015 -0400 drm/amdgpu: add GMC support for Stoney Stoney is GMC 8.x. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8affb487d4a4e223d961d7034cb41cd31982b618 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Oct 9 12:23:34 2015 +0200 x86/PCI: Don't alloc pcibios-irq when MSI is enabled The pcibios-irq and MSI both use dev->irq to store the IRQ number. While the MSI code checks for that and frees the pcibios-irq before overwriting dev->irq, the pcibios_alloc_irq() function does not. Usually this is not a problem, as the pcibios-irq is allocated before probe time of the device and the MSI IRQ is allocted from the driver's probe path. But there are PCI devices handled by the core kernel and not by a standard PCI driver, like the AMD IOMMU for example. For the AMD IOMMU a normal PCI device driver does not make sense, because a driver can be forcibly unbound from its device, which is not a good idea for an IOMMU. Nevertheless the PCI core code tries to match the PCI device implementing the AMD IOMMU against drivers, and allocates/frees a pcibios IRQ every time it tries out a new driver. This overwrites the dev->irq field set by pci_enable_msi() and sets it to 0 in the end (because the probe fails and the pcibios-irq is freed again). On suspend/resume this breaks the kernel, because the IRQ descriptor for IRQ 0 is NULL. Fix this by not allocating a pcibios-irq when MSI is already active. This also has the benefit, that a device claimed by the core kernel can not be probed by a PCI driver later. Reported-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> commit 139f491799c303c5269cf6d5600cec9bbf9853e6 Author: Samuel Li <samuel.li@xxxxxxx> Date: Thu Oct 8 14:50:27 2015 -0400 drm/amdgpu: add Stoney chip family Stoney is based on Carrizo with some IP upgrades. Signed-off-by: Samuel Li <samuel.li@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 090425c45db3ec438c161f6a5dd05d1824e65dcd Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jul 17 10:44:33 2015 +0300 drm: rcar-du: Add support for the R8A7794 DU The R8A7794 DU has a fixed output routing configuration with one RGB output per CRTC and thus lacks the RGB output routing register field. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f1ceb84ae0fba02dcb5aa0ff56b5546767376795 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Jul 17 10:44:33 2015 +0300 drm: rcar-du: Add support for the R8A7793 DU The R8A7793 DU is identical to the R8A7791 and thus only requires a new DT compatible string. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit ad355e383d826e3506c3caaa0fe991fd112de47b Merge: b10d92a 0d99749 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 21 17:46:56 2015 +0200 Merge tag 'kvm-arm-for-v4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master A late round of KVM/ARM fixes for v4.3-rc7, fixing: - A bug where level-triggered interrupts lowered from userspace are still routed to the guest - A memory leak an a failed initialization path - A build error under certain configurations - Several timer bugs introduced with moving the timer to the active state handling instead of the masking trick. commit f48b2659f521301753f9b3b67e308a79c6110346 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Fri Oct 16 14:06:19 2015 +0800 drm/amdgpu: fix the broken vm->mutex V2 fix the vm->mutex and ww_mutex confilcts. vm->mutex is always token first, then ww_mutex. V2: remove unneccessary checking for pt bo. Change-Id: Iea56e183752c02831126d06d2f5b7a474a6e4743 Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit ce16b0e5a32a157abd6446214e8b91c55064204e Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Sun Sep 6 13:55:03 2015 +0800 drm/amdgpu: remove the unnecessary parameter adev for amdgpu_fence_wait_any() Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 0c418f10104d4aa1d6b83698790898dc9ef1c12d Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Sep 1 15:13:53 2015 +0200 drm/amdgpu: remove the exclusive lock Finally getting rid of it. Signed-off-by: Christian König <christian.koenig@xxxxxxx> commit b7e4dad3e1fc5d3909737fb72e57aedeb0072c7f Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Sep 1 10:50:26 2015 +0200 drm/amdgpu: remove old lockup detection infrastructure It didn't worked to well anyway. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> commit d0be9f4ec1c4ad8a8b6be1efa5bc81e5bce957a3 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 23:29:48 2015 +0800 drm: fix trivial typos s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 55f41297576ddb7868af2f13f3a8107178dee2d0 Merge: 0690f4f db347f1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 21 17:03:37 2015 +0200 Merge tag 'mvebu-fixes-4.3-2' of git://git.infradead.org/linux-mvebu into fixes Merge "mvebu fixes for 4.3 (part 2)" from Gregory CLEMENT: Fix wrong compatible for A385 DB AP preventing using suspend * tag 'mvebu-fixes-4.3-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: correct a385-db-ap compatible string commit 0690f4f2ef487259e9ce39f575c48c89745058f2 Merge: 6701ef0 b28fec1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 21 17:02:13 2015 +0200 Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Merge "Samsung 2nd fixes for v4.3" from Kukjin Kim: - fix SOC detection of exynos thermal on exynos5260 - fix audio card detection on Peach boards - fix double of_node_put() when parsing child power domains * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: thermal: exynos: Fix register read in TMU ARM: dts: Fix audio card detection on Peach boards ARM: EXYNOS: Fix double of_node_put() when parsing child power domains commit 6701ef0318f76a9765a3fc762cbac405e024a8c2 Merge: 4f1d841 57df538 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 21 17:01:14 2015 +0200 Merge tag 'omap-for-v4.3/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "Fixes for omaps for v4.3-rc cycle" from Tony Lindgren: - Fix oops with LPAE and moew than 2GB of memory by enabling ZONE_DMA for LPAE. Probably no need for stable on this one as we only recently ran into this with the mainline kernel - Fix imprecise external abort caused by bogus SRAM init. This affects dm814x recently merged, so no need for stable on this one AFAIK * tag 'omap-for-v4.3/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix imprecise external abort caused by bogus SRAM init ARM: OMAP2+: Fix oops with LPAE and more than 2GB of memory commit 6ac311ae8bfb47de09f349e781e26373944d2ee3 Author: Elad Raz <eladr@xxxxxxxxxxxx> Date: Mon Oct 19 15:37:25 2015 +0300 Adding switchdev ageing notification on port bridged Configure ageing time to the HW for newly bridged device CC: Scott Feldman <sfeldma@xxxxxxxxx> CC: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50010c20597d14667eff0fdb628309986f195230 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Oct 19 13:16:49 2015 +0300 irda: precedence bug in irlmp_seq_hb_idx() This is decrementing the pointer, instead of the value stored in the pointer. KASan detects it as an out of bounds reference. Reported-by: "Berry Cheng ç¨?å??(æ??æ·¼)" <chengmiao.cj@xxxxxxxxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca88ea1247dfee094e2467a3578eaec9bdf0833a Author: Joe Jin <joe.jin@xxxxxxxxxx> Date: Mon Oct 19 13:37:17 2015 +0800 xen-netfront: update num_queues to real created Sometimes xennet_create_queues() may failed to created all requested queues, we need to update num_queues to real created to avoid NULL pointer dereference. Signed-off-by: Joe Jin <joe.jin@xxxxxxxxxx> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6a835bb04ca34b6fd337eea0544a871ba2349b8 Author: Gao feng <omarapazanadi@xxxxxxxxx> Date: Sun Oct 18 23:35:56 2015 +0800 vsock: fix missing cleanup when misc_register failed reset transport and unlock if misc_register failed. Signed-off-by: Gao feng <omarapazanadi@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10be15ff6c33f1dc0a96cae6089dc2268834e568 Merge: f3c9f95 968200f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 21 07:36:51 2015 -0700 Merge branch 'mv643xx-fixes' Philipp Kirchhofer says: ==================== net: mv643xx_eth: TSO TX data corruption fixes as previously discussed [1] the mv643xx_eth driver has some issues with data corruption when using TCP segmentation offload (TSO). The following patch set improves this situation by fixing two data corruption bugs in the TSO TX path. Before applying the patches repeatedly accessing large files located on a SMB share on my NSA325 NAS with TSO enabled resulted in different hash sums, which confirmed that data corruption is happening during file transfer. After applying the patches the hash sums were the same. As this is my first patch submission please feel free to point out any issues with the patch set. [1] http://thread.gmane.org/gmane.linux.network/336530 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 968200f322daccc6f08fee26fe1bb4232e460408 Author: Philipp Kirchhofer <philipp@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 18 16:02:44 2015 +0200 net: mv643xx_eth: Defer writing the first TX descriptor when using TSO To prevent a race between the TX DMA engine and the CPU the writing of the first transmit descriptor must be deferred until all following descriptors have been updated. The network card may otherwise start transmitting before all packet descriptors are set up correctly, which leads to data corruption or an aborted transmit operation. This deferral is already done in the non-TSO TX path, implement it also in the TSO TX path. Signed-off-by: Philipp Kirchhofer <philipp@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91986fd3d335a2ea651bc85cf5a03f2f61a2aa34 Author: Philipp Kirchhofer <philipp@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 18 16:02:43 2015 +0200 net: mv643xx_eth: Ensure proper data alignment in TSO TX path The TX DMA engine requires that buffers with a size of 8 bytes or smaller must be 64 bit aligned. This requirement may be violated when doing TSO, as in this case larger skb frags can be broken up and transmitted in small parts with then inappropriate alignment. Fix this by checking for proper alignment before handing a buffer to the DMA engine. If the data is misaligned realign it by copying it into the TSO header data area. Signed-off-by: Philipp Kirchhofer <philipp@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9299b24712400d1cfe3dcf3e5dcb6cac2940df56 Author: Dave Martin <Dave.Martin@xxxxxxx> Date: Thu Jul 30 16:36:25 2015 +0100 arm64: Constify hwcap name string arrays The hwcap string arrays used for generating the contents of /proc/cpuinfo are currently arrays of non-const pointers. There's no need for these pointers to be mutable, so this patch makes them const so that they can be moved to .rodata. Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4db8e5ea6b07ae83e4361aee3f967f7126e01fa4 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:55 2015 +0100 arm64/kvm: Make use of the system wide safe values Use the system wide safe value from the new API for safer decisions Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: kvmarm@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3085bb01b40676d946a13064483ab2819ae3b010 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:54 2015 +0100 arm64/debug: Make use of the system wide safe value Use the system wide value of ID_AA64DFR0 to make safer decisions Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit fe80f9f2da1006a4308c2bc018ee1d67f10dd8d0 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:53 2015 +0100 arm64: Move FP/ASIMD hwcap handling to common code The FP/ASIMD is detected in fpsimd_init(), which is built-in unconditionally. Lets move the hwcap handling to the central place. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 37b01d53ceefa390d6eee7a82f3c156b64951bf3 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:52 2015 +0100 arm64/HWCAP: Use system wide safe values Extend struct arm64_cpu_capabilities to handle the HWCAP detection and make use of the system wide value of the feature registers for a reliable set of HWCAPs. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit da8d02d19ffdd201af632c755a473b6df4b3e4cc Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:51 2015 +0100 arm64/capabilities: Make use of system wide safe value Now that we can reliably read the system wide safe value for a feature register, use that to compute the system capability. This patch also replaces the 'feature-register-specific' methods with a generic routine to check the capability. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit dbb4e152b8da1f977d9d8cd7e494ab4ee3622f72 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:50 2015 +0100 arm64: Delay cpu feature capability checks At the moment we run through the arm64_features capability list for each CPU and set the capability if one of the CPU supports it. This could be problematic in a heterogeneous system with differing capabilities. Delay the CPU feature checks until all the enabled CPUs are up(i.e, smp_cpus_done(), so that we can make better decisions based on the overall system capability. Once we decide and advertise the capabilities the alternatives can be applied. From this state, we cannot roll back a feature to disabled based on the values from a new hotplugged CPU, due to the runtime patching and other reasons. So, for all new CPUs, we need to make sure that they have the established system capabilities. Failing which, we bring the CPU down, preventing it from turning online. Once the capabilities are decided, any new CPU booting up goes through verification to ensure that it has all the enabled capabilities and also invokes the respective enable() method on the CPU. The CPU errata checks are not delayed and is still executed per-CPU to detect the respective capabilities. If we ever come across a non-errata capability that needs to be checked on each-CPU, we could introduce them via a new capability table(or introduce a flag), which can be processed per CPU. The next patch will make the feature checks use the system wide safe value of a feature register. NOTE: The enable() methods associated with the capability is scheduled on all the CPUs (which is the only use case at the moment). If we need a different type of 'enable()' which only needs to be run once on any CPU, we should be able to handle that when needed. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> [catalin.marinas@xxxxxxx: static variable and coding style fixes] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ce8b602c694c9482e0ffb7432cd59fa2276673fe Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:49 2015 +0100 arm64: Refactor check_cpu_capabilities check_cpu_capabilities runs through a given list of caps and checks if the system has the cap, updates the system capability bitmap and also runs any enable() methods associated with them. All of this is not quite obvious from the name 'check'. This patch splits the check_cpu_capabilities into two parts : 1) update_cpu_capabilities => Runs through the given list and updates the system wide capability map. 2) enable_cpu_capabilities => Runs through the given list and invokes enable() (if any) for the caps enabled on the system. Cc: Andre Przywara <andre.przywara@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Suggested-by: Catalin Marinas <catalin.marinsa@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c1e8656cbae139c8aaf34d7b802edecbc8a1cf58 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:48 2015 +0100 arm64: Cleanup mixed endian support detection Make use of the system wide safe register to decide the support for mixed endian. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit b3f1537893b54d0f42f52e0f4cde5e17e21f564c Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:47 2015 +0100 arm64: Read system wide CPUID value Add an API for reading the safe CPUID value across the system from the new infrastructure. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3086d391f992984def0aa6aa4a36f54853c58536 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:46 2015 +0100 arm64: Consolidate CPU Sanity check to CPU Feature infrastructure This patch consolidates the CPU Sanity check to the new infrastructure. Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3c739b57108436211c7f798ba3de0bb0cd8ef469 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:45 2015 +0100 arm64: Keep track of CPU feature registers This patch adds an infrastructure to keep track of the CPU feature registers on the system. For each register, the infrastructure keeps track of the system wide safe value of the feature bits. Also, tracks the which fields of a register should be matched strictly across all the CPUs on the system for the SANITY check infrastructure. The feature bits are classified into following 3 types depending on the implication of the possible values. This information is used to decide the safe value for a feature. LOWER_SAFE - The smaller value is safer HIGHER_SAFE - The bigger value is safer EXACT - We can't decide between the two, so a predefined safe_value is used. This infrastructure will be later used to make better decisions for: - Kernel features (e.g, KVM, Debug) - SANITY Check - CPU capability - ELF HWCAP - Exposing CPU Feature register to userspace. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> [catalin.marinas@xxxxxxx: whitespace fix] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ce98a677d897dbaac86905652292fab1eeeb2b93 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:44 2015 +0100 arm64: Handle width of a cpuid feature Introduce a helper to extract cpuid feature for any given width. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 12d11817eaafa414eeb47af684093eb2165ebe37 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:43 2015 +0100 arm64: Move /proc/cpuinfo handling code This patch moves the /proc/cpuinfo handling code: arch/arm64/kernel/{setup.c to cpuinfo.c} No functional changes Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit cdcf817b7e4b62b935d8797f7d07ea0b97760884 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:42 2015 +0100 arm64: Move mixed endian support detection Move the mixed endian support detection code to cpufeature.c from cpuinfo.c. This also moves the update_cpu_features() used by mixed endian detection code, which will get more functionality. Also moves the ID register field shifts to asm/sysreg.h, where all the useful definitions will end up in later patches. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 9cdf8ec4a86b9310111f741bbaf11df9120e0482 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:41 2015 +0100 arm64: Move cpu feature detection code This patch moves the CPU feature detection code from arch/arm64/kernel/{setup.c to cpufeature.c} The plan is to consolidate all the CPU feature handling in cpufeature.c. Apart from changing pr_fmt from "alternatives" to "cpu features", there are no functional changes. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4b998ff1885eecd3dc330bf057e24667c1db84a4 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:40 2015 +0100 arm64: Delay cpuinfo_store_boot_cpu At the moment the boot CPU stores the cpuinfo long before the PERCPU areas are initialised by the kernel. This could be problematic as the non-boot CPU data structures might get copied with the data from the boot CPU, giving us no chance to detect if a particular CPU updated its cpuinfo. This patch delays the boot cpu store to smp_prepare_boot_cpu(). Also kills the setup_processor() which no longer does meaningful work. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3a75578efae64b94d76eacbf8adf2a3ab13c6aa1 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:39 2015 +0100 arm64: Delay ELF HWCAP initialisation until all CPUs are up Delay the ELF HWCAP initialisation until all the (enabled) CPUs are up, i.e, smp_cpus_done(). This is in preparation for detecting the common features across the CPUS and creating a consistent ELF HWCAP for the system. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 64f17818977d0989f7d05347670777611b295799 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:24:38 2015 +0100 arm64: Make the CPU information more clear At early boot, we print the CPU version/revision. On a heterogeneous system, we could have different types of CPUs. Print the CPU info for all active cpus. Also, the secondary CPUs prints the message only when they turn online. Also, remove the redundant 'revision' information which doesn't make any sense without the 'variant' field. Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Tested-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 146aa8b1453bd8f1ff2304ffb71b4ee0eb9acdcc Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Oct 21 14:04:48 2015 +0100 KEYS: Merge the type-specific data with the payload data Merge the type-specific data with the payload data into one four-word chunk as it seems pointless to keep them separate. Use user_key_payload() for accessing the payloads of overloaded user-defined keys. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> cc: linux-cifs@xxxxxxxxxxxxxxx cc: ecryptfs@xxxxxxxxxxxxxxx cc: linux-ext4@xxxxxxxxxxxxxxx cc: linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx cc: linux-nfs@xxxxxxxxxxxxxxx cc: ceph-devel@xxxxxxxxxxxxxxx cc: linux-ima-devel@xxxxxxxxxxxxxxxxxxxxx commit 4adc605edc5f744dcf432241b5996ff6a13d868c Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Oct 21 14:04:47 2015 +0100 KEYS: Provide a script to extract a module signature The supplied script takes a signed module file and extracts the tailmost signature (there could theoretically be more than one) and dumps all or part of it or the unsigned file to stdout. Call as: scripts/extract-module-sig.pl -[0adnks] module-file >out where the initial flag indicates which bit of the signed file you want dumping to stdout: (*) "-0". Dumps the unsigned data with the signature stripped. (*) "-a". Dumps all of the signature data, including the magic number. (*) "-d". Dumps the signature information block as a sequence of decimal numbers in text form with spaces between (crypto algorithm type, hash type, identifier type, signer's name length, key identifier length and signature length). (*) "-n". Dumps the signer's name contents. (*) "-k". Dumps the key identifier contents. (*) "-s". Dumps the cryptographic signature contents. In the case that the signature is a PKCS#7 (or CMS) message, -n and -k will print a warning to stderr and dump nothing to stdout, but will otherwise complete okay; the entire PKCS#7/CMS message will be dumped by "-s"; and "-d" will show "0 0 2 0 0 <pkcs#7-msg-len>". Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 2221a6ee73e7c8f43af802a1ef9426d4b0d122d3 Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Oct 21 14:04:47 2015 +0100 KEYS: Provide a script to extract the sys cert list from a vmlinux file The supplied script takes a vmlinux file - and if necessary a System.map file - locates the system certificates list and extracts it to the named file. Call as: ./scripts/extract-sys-certs vmlinux certs if vmlinux contains symbols and: ./scripts/extract-sys-certs -s System.map vmlinux certs if it does not. It prints something like the following to stdout: Have 27 sections No symbols in vmlinux, trying System.map Have 80088 symbols Have 1346 bytes of certs at VMA 0xffffffff8201c540 Certificate list in section .init.data Certificate list at file offset 0x141c540 If vmlinux contains symbols then that is used rather than System.map - even if one is given. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 27720e75a7a1597252a81dadcd178331c83af861 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Wed Oct 21 14:04:47 2015 +0100 keys: Be more consistent in selection of union members used key->description and key->index_key.description are same because they are unioned. But, for readability, using same name for duplication and validation seems better. Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 48dbc164b40dd9195dea8cd966e394819e420b64 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Oct 21 14:04:47 2015 +0100 certs: add .gitignore to stop git nagging about x509_certificate_list Currently we see this in "git status" if we build in the source dir: Untracked files: (use "git add <file>..." to include in what will be committed) certs/x509_certificate_list It looks like it used to live in kernel/ so we squash that .gitignore entry at the same time. I didn't bother to dig through git history to see when it moved, since it is just a minor annoyance at most. Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: keyrings@xxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit d0e0eba043c78b1d6ce3d29367abb41446d83747 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Wed Oct 21 14:04:46 2015 +0100 KEYS: use kvfree() in add_key There is no need to make a flag to tell that this memory is allocated by kmalloc or vmalloc. Just use kvfree to free the memory. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit e27c5b9d23168cc2cb8fec147ae7ed1f7a2005c3 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Oct 13 18:14:19 2015 -0400 writeback: remove broken rbtree_postorder_for_each_entry_safe() usage in cgwb_bdi_destroy() a20135ffbc44 ("writeback: don't drain bdi_writeback_congested on bdi destruction") added rbtree_postorder_for_each_entry_safe() which is used to remove all entries; however, according to Cody, the iterator isn't safe against operations which may rebalance the tree. Fix it by switching to repeatedly removing rb_first() until empty. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Cody P Schafer <dev@xxxxxxxxxx> Fixes: a20135ffbc44 ("writeback: don't drain bdi_writeback_congested on bdi destruction") Link: http://lkml.kernel.org/g/1443997973-1700-1-git-send-email-dev@xxxxxxxxxx Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3061692921f2d701bb09699d16ed780903dd54e2 Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Fri Oct 16 16:04:49 2015 +0300 tracing: Remove {start,stop}_branch_trace Both start_branch_trace() and stop_branch_trace() are used in only one location, and are both static. As they are small functions there is no need to keep them separated out. Link: http://lkml.kernel.org/r/1445000689-32596-1-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit eb9fae328faff9807a4ab5c1834b19f34dd155d4 Merge: c8fdc32 4f41b1c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 21 07:00:59 2015 -0700 Merge branch 'tcp-rack' Yuchung Cheng says: ==================== RACK loss detection RACK (Recent ACK) loss recovery uses the notion of time instead of packet sequence (FACK) or counts (dupthresh). It's inspired by the FACK heuristic in tcp_mark_lost_retrans(): when a limited transmit (new data packet) is sacked in recovery, then any retransmission sent before that newly sacked packet was sent must have been lost, since at least one round trip time has elapsed. But that existing heuristic from tcp_mark_lost_retrans() has several limitations: 1) it can't detect tail drops since it depends on limited transmit 2) it's disabled upon reordering (assumes no reordering) 3) it's only enabled in fast recovery but not timeout recovery RACK addresses these limitations with a core idea: an unacknowledged packet P1 is deemed lost if a packet P2 that was sent later is is s/acked, since at least one round trip has passed. Since RACK cares about the time sequence instead of the data sequence of packets, it can detect tail drops when a later retransmission is s/acked, while FACK or dupthresh can't. For reordering RACK uses a dynamically adjusted reordering window ("reo_wnd") to reduce false positives on ever (small) degree of reordering, similar to the delayed Early Retransmit. In the current patch set RACK is only a supplemental loss detection and does not trigger fast recovery. However we are developing RACK to replace or consolidate FACK/dupthresh, early retransmit, and thin-dupack. These heuristics all implicitly bear the time notion. For example, the delayed Early Retransmit is simply applying RACK to trigger the fast recovery with small inflight. RACK requires measuring the minimum RTT. Tracking a global min is less robust due to traffic engineering pathing changes. Therefore it uses a windowed filter by Kathleen Nichols. The min RTT can also be useful for various other purposes like congestion control or stat monitoring. This patch has been used on Google servers for well over 1 year. RACK has also been implemented in the QUIC protocol. We are submitting an IETF draft as well. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f41b1c58a32537542f14c1150099131613a5e8a Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:47 2015 -0700 tcp: use RACK to detect losses This patch implements the second half of RACK that uses the the most recent transmit time among all delivered packets to detect losses. tcp_rack_mark_lost() is called upon receiving a dubious ACK. It then checks if an not-yet-sacked packet was sent at least "reo_wnd" prior to the sent time of the most recently delivered. If so the packet is deemed lost. The "reo_wnd" reordering window starts with 1msec for fast loss detection and changes to min-RTT/4 when reordering is observed. We found 1msec accommodates well on tiny degree of reordering (<3 pkts) on faster links. We use min-RTT instead of SRTT because reordering is more of a path property but SRTT can be inflated by self-inflicated congestion. The factor of 4 is borrowed from the delayed early retransmit and seems to work reasonably well. Since RACK is still experimental, it is now used as a supplemental loss detection on top of existing algorithms. It is only effective after the fast recovery starts or after the timeout occurs. The fast recovery is still triggered by FACK and/or dupack threshold instead of RACK. We introduce a new sysctl net.ipv4.tcp_recovery for future experiments of loss recoveries. For now RACK can be disabled by setting it to 0. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 659a8ad56f490279f0efee43a62ffa1ac914a4e0 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:46 2015 -0700 tcp: track the packet timings in RACK This patch is the first half of the RACK loss recovery. RACK loss recovery uses the notion of time instead of packet sequence (FACK) or counts (dupthresh). It's inspired by the previous FACK heuristic in tcp_mark_lost_retrans(): when a limited transmit (new data packet) is sacked, then current retransmitted sequence below the newly sacked sequence must been lost, since at least one round trip time has elapsed. But it has several limitations: 1) can't detect tail drops since it depends on limited transmit 2) is disabled upon reordering (assumes no reordering) 3) only enabled in fast recovery ut not timeout recovery RACK (Recently ACK) addresses these limitations with the notion of time instead: a packet P1 is lost if a later packet P2 is s/acked, as at least one round trip has passed. Since RACK cares about the time sequence instead of the data sequence of packets, it can detect tail drops when later retransmission is s/acked while FACK or dupthresh can't. For reordering RACK uses a dynamically adjusted reordering window ("reo_wnd") to reduce false positives on ever (small) degree of reordering. This patch implements tcp_advanced_rack() which tracks the most recent transmission time among the packets that have been delivered (ACKed or SACKed) in tp->rack.mstamp. This timestamp is the key to determine which packet has been lost. Consider an example that the sender sends six packets: T1: P1 (lost) T2: P2 T3: P3 T4: P4 T100: sack of P2. rack.mstamp = T2 T101: retransmit P1 T102: sack of P2,P3,P4. rack.mstamp = T4 T205: ACK of P4 since the hole is repaired. rack.mstamp = T101 We need to be careful about spurious retransmission because it may falsely advance tp->rack.mstamp by an RTT or an RTO, causing RACK to falsely mark all packets lost, just like a spurious timeout. We identify spurious retransmission by the ACK's TS echo value. If TS option is not applicable but the retransmission is acknowledged less than min-RTT ago, it is likely to be spurious. We refrain from using the transmission time of these spurious retransmissions. The second half is implemented in the next patch that marks packet lost using RACK timestamp. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 625a5e109a3ed6f36a1008a43069a3462b44a424 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:45 2015 -0700 tcp: skb_mstamp_after helper a helper to prepare the first main RACK patch. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77c631273dc1305a89698929decafa6e43bea645 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:44 2015 -0700 tcp: add tcp_tsopt_ecr_before helper a helper to prepare the main RACK patch Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit af82f4e84866ecd360a53f770d6217637116e6c1 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:43 2015 -0700 tcp: remove tcp_mark_lost_retrans() Remove the existing lost retransmit detection because RACK subsumes it completely. This also stops the overloading the ack_seq field of the skb control block. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f672258391b42a5c7cc2732c9c063e56a85c8dbe Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:42 2015 -0700 tcp: track min RTT using windowed min-filter Kathleen Nichols' algorithm for tracking the minimum RTT of a data stream over some measurement window. It uses constant space and constant time per update. Yet it almost always delivers the same minimum as an implementation that has to keep all the data in the window. The measurement window is tunable via sysctl.net.ipv4.tcp_min_rtt_wlen with a default value of 5 minutes. The algorithm keeps track of the best, 2nd best & 3rd best min values, maintaining an invariant that the measurement time of the n'th best >= n-1'th best. It also makes sure that the three values are widely separated in the time window since that bounds the worse case error when that data is monotonically increasing over the window. Upon getting a new min, we can forget everything earlier because it has no value - the new min is less than everything else in the window by definition and it's the most recent. So we restart fresh on every new min and overwrites the 2nd & 3rd choices. The same property holds for the 2nd & 3rd best. Therefore we have to maintain two invariants to maximize the information in the samples, one on values (1st.v <= 2nd.v <= 3rd.v) and the other on times (now-win <=1st.t <= 2nd.t <= 3rd.t <= now). These invariants determine the structure of the code The RTT input to the windowed filter is the minimum RTT measured from ACK or SACK, or as the last resort from TCP timestamps. The accessor tcp_min_rtt() returns the minimum RTT seen in the window. ~0U indicates it is not available. The minimum is 1usec even if the true RTT is below that. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e45a3e36b363cc4c79c70f2b4f994e66543a219 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Oct 16 21:57:41 2015 -0700 tcp: apply Kern's check on RTTs used for congestion control Currently ca_seq_rtt_us does not use Kern's check. Fix that by checking if any packet acked is a retransmit, for both RTT used for RTT estimation and congestion control. Fixes: 5b08e47ca ("tcp: prefer packet timing to TS-ECR for RTT") Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f3c9f95056acab715328ee63a80ddf5fd32c0a28 Merge: aebd994 d88ecb3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 21 06:41:51 2015 -0700 Merge branch 'smsc-energy-detect' Heiko Schocher says: ==================== net, phy, smsc: add posibility to disable energy detect mode On some boards the energy enable detect mode leads in trouble with some switches, so make the enabling of this mode configurable through DT. Therefore the property "smsc,disable-energy-detect" is introduced. Patch 1 introduces phy-handle support for the ti,cpsw driver. This is needed now for the smsc phy. Patch 2 adds the disable energy mode functionality to the smsc phy Changes in v2: - add comments from Florian Fainelli - I did not change disable property name into enable because I fear to break existing behaviour - add smsc vendor prefix - remove CONFIG_OF and use __maybe_unused - introduce "phy-handle" ability into ti,cpsw driver, so I can remove bogus: if (!of_node && dev->parent->of_node) of_node = dev->parent->of_node; construct. Therefore new patch for the ti,cpsw driver is necessary. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d88ecb373bd1877acc43e13311a8e0e6daffc3d2 Author: Heiko Schocher <hs@xxxxxxx> Date: Sat Oct 17 06:04:36 2015 +0200 net: phy: smsc: disable energy detect mode On some boards the energy enable detect mode leads in trouble with some switches, so make the enabling of this mode configurable through DT. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e42f715264ff158478fa30eaed847f6e131366b Author: Heiko Schocher <hs@xxxxxxx> Date: Sat Oct 17 06:04:35 2015 +0200 drivers: net: cpsw: add phy-handle parsing add the ability to parse "phy-handle". This is needed for phys, which have a DT node, and need to parse DT properties. Signed-off-by: Heiko Schocher <hs@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aebd99477f03950fb05b29c7248656167198bf2d Author: Simon Arlott <simon@xxxxxxxxxxx> Date: Thu Oct 15 21:00:22 2015 +0100 bcm63xx_enet: check 1000BASE-T advertisement configuration If a gigabit ethernet PHY is connected to a fast ethernet MAC, then it can detect 1000 support from the partner but not use it. This results in a forced speed of 1000 and RX/TX failure. Check for 1000BASE-T support and then check the advertisement configuration before setting the MAC speed to 1000mbit. Signed-off-by: Simon Arlott <simon@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8fdc324916a864de753db6de6423b048c20cc0f Merge: 26440c8 a1f192c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 21 06:29:56 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-10-19 This series contains updates to i40e and i40evf only. Kiran adds a spinlock around code accessing VSI MAC filter list to ensure that we are synchronizing access to the filter list, otherwise we can end up with multiple accesses at the same time which can cause the VSI MAC filter list to get in an unstable or corrupted state. Jesse fixes overlong BIT defines, where the RSS enabling call were mistakenly missed. Also fixes a bug where the enable function was enabling the interrupt twice while trying to update the two interrupt throttle rate thresholds for Rx and Tx, while refactoring the IRQ enable function to simplify reading the flow. Addressed the high CPU utilization of some small streaming workloads that the driver should reduce CPU in. Anjali fixes two X722 issues with respect to EEPROM checksum verify and reading NVM version info. Fixed where a mask value was accidentally replaced with a bit mask causing Flow Director sideband to be broken. Alex Duyck fixes areas of the drivers which run from hard interrupt context or with interrupts already disabled in netpoll, so use napi_schedule_irqoff() instead of napi_schedule(). Mitch fixes the VF drivers to not easily give up when it is not able to communicate with the PF driver. Carolyn fixes a problem where our tools MAC loopback test, after driver unbind would fail because the hardware was configured for multiqueue and unbind operation did not clear this configuration. Also fixed a issue where the NVMUpdate tool gets bad data from the PHY when using the PHY NVM feature because of contention on the MDIO interface from getting PHY capability calls from the driver during regular operations. Catherine fixed an issue where we were checking if autoneg was allowed to change before checking if autoneg was changing, these checks need to be in the reverse order. Jean Sacren fixes up an function header comment to align the kernel-docs with the actual code. v2: Cleaned up the use of spin_is_locked() in patch 1 based on feedback from David Miller, since it always evaluates to zero on uni-processor builds ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5cff89b5f64b4fc7f6fd9be44b1aa7e766a94e4 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Oct 21 08:34:37 2015 +0800 ASoC: da7219: Fix da7219->alc_en state when enabling ALC Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 13531520e3106e73474225b68b889e9dc7da329e Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Mon Oct 19 10:15:39 2015 +0200 ASoC: rockchip: Drop unneeded properties rockchip i2s/spdif bindings Neither the rockchip i2s nor the rockchip spdif binding support child devices so #address-cells and #size-cells properties aren't required. Remove these from the bindings. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 243f07be2423efe0b17e8ffafc9a36dad50406d3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 20 12:28:29 2015 +0300 spi: core: use gpio_is_valid() helper Check if GPIO pin is valid by API helper function. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5be88f63eaff1c03774aecd7388015cb87f6b2c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:33 2015 +0200 ASoC: cht_bsw_rt5672: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function rather than installing a list constraint with a single value. Since snd_pcm_hw_constraint_single() sets a static constraint while snd_pcm_hw_constraint_list() sets a dynamic constraint the former is slightly more efficient and it also needs less code. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3d6a76c48e7b6a80f1311a7ec71db0c6208c6de4 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:32 2015 +0200 ASoC: cht_bsw_rt5645: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function rather than installing a list constraint with a single value. Since snd_pcm_hw_constraint_single() sets a static constraint while snd_pcm_hw_constraint_list() sets a dynamic constraint the former is slightly more efficient and it also needs less code. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a6553a24d44f30aa0ae3ca3bff736d346c9d42d6 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:31 2015 +0200 ASoC: cht_bsw_max98090: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function rather than installing a list constraint with a single value. Since snd_pcm_hw_constraint_single() sets a static constraint while snd_pcm_hw_constraint_list() sets a dynamic constraint the former is slightly more efficient and it also needs less code. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d0a1b6607480e9ded3df22d09ff77bc55db586f7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:30 2015 +0200 ASoC: bytcr_rt5640: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function rather than installing a list constraint with a single value. Since snd_pcm_hw_constraint_single() sets a static constraint while snd_pcm_hw_constraint_list() sets a dynamic constraint the former is slightly more efficient and it also needs less code. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1bf2d35b87315431e8eb1a461783f7939520a7c5 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:29 2015 +0200 ASoC: ux500: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4dcdd43b460304b0555a99fdaae7bb931cb71d8f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:28 2015 +0200 ASoC: pcm: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer and is slightly shorter. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit be448b4fa464418b14cd1a05771bd5f5bf8e1480 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:27 2015 +0200 ASoC: rx51: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer and is slightly shorter. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8ce783dc5ea3af3a213ac9b4d9d2ccfeeb9c9058 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Oct 21 15:21:31 2015 +0300 Bluetooth: Fix missing hdev locking for LE scan cleanup The hci_conn objects don't have a dedicated lock themselves but rely on the caller to hold the hci_dev lock for most types of access. The hci_conn_timeout() function has so far sent certain HCI commands based on the hci_conn state which has been possible without holding the hci_dev lock. The recent changes to do LE scanning before connect attempts added even more operations to hci_conn and hci_dev from hci_conn_timeout, thereby exposing potential race conditions with the hci_dev and hci_conn states. As an example of such a race, here there's a timeout but an l2cap_sock_connect() call manages to race with the cleanup routine: [Oct21 08:14] l2cap_chan_timeout: chan ee4b12c0 state BT_CONNECT [ +0.000004] l2cap_chan_close: chan ee4b12c0 state BT_CONNECT [ +0.000002] l2cap_chan_del: chan ee4b12c0, conn f3141580, err 111, state BT_CONNECT [ +0.000002] l2cap_sock_teardown_cb: chan ee4b12c0 state BT_CONNECT [ +0.000005] l2cap_chan_put: chan ee4b12c0 orig refcnt 4 [ +0.000010] hci_conn_drop: hcon f53d56e0 orig refcnt 1 [ +0.000013] l2cap_chan_put: chan ee4b12c0 orig refcnt 3 [ +0.000063] hci_conn_timeout: hcon f53d56e0 state BT_CONNECT [ +0.000049] hci_conn_params_del: addr ee:0d:30:09:53:1f (type 1) [ +0.000002] hci_chan_list_flush: hcon f53d56e0 [ +0.000001] hci_chan_del: hci0 hcon f53d56e0 chan f4e7ccc0 [ +0.004528] l2cap_sock_create: sock e708fc00 [ +0.000023] l2cap_chan_create: chan ee4b1770 [ +0.000001] l2cap_chan_hold: chan ee4b1770 orig refcnt 1 [ +0.000002] l2cap_sock_init: sk ee4b3390 [ +0.000029] l2cap_sock_bind: sk ee4b3390 [ +0.000010] l2cap_sock_setsockopt: sk ee4b3390 [ +0.000037] l2cap_sock_connect: sk ee4b3390 [ +0.000002] l2cap_chan_connect: 00:02:72:d9:e5:8b -> ee:0d:30:09:53:1f (type 2) psm 0x00 [ +0.000002] hci_get_route: 00:02:72:d9:e5:8b -> ee:0d:30:09:53:1f [ +0.000001] hci_dev_hold: hci0 orig refcnt 8 [ +0.000003] hci_conn_hold: hcon f53d56e0 orig refcnt 0 Above the l2cap_chan_connect() shouldn't have been able to reach the hci_conn f53d56e0 anymore but since hci_conn_timeout didn't do proper locking that's not the case. The end result is a reference to hci_conn that's not in the conn_hash list, resulting in list corruption when trying to remove it later: [Oct21 08:15] l2cap_chan_timeout: chan ee4b1770 state BT_CONNECT [ +0.000004] l2cap_chan_close: chan ee4b1770 state BT_CONNECT [ +0.000003] l2cap_chan_del: chan ee4b1770, conn f3141580, err 111, state BT_CONNECT [ +0.000001] l2cap_sock_teardown_cb: chan ee4b1770 state BT_CONNECT [ +0.000005] l2cap_chan_put: chan ee4b1770 orig refcnt 4 [ +0.000002] hci_conn_drop: hcon f53d56e0 orig refcnt 1 [ +0.000015] l2cap_chan_put: chan ee4b1770 orig refcnt 3 [ +0.000038] hci_conn_timeout: hcon f53d56e0 state BT_CONNECT [ +0.000003] hci_chan_list_flush: hcon f53d56e0 [ +0.000002] hci_conn_hash_del: hci0 hcon f53d56e0 [ +0.000001] ------------[ cut here ]------------ [ +0.000461] WARNING: CPU: 0 PID: 1782 at lib/list_debug.c:56 __list_del_entry+0x3f/0x71() [ +0.000839] list_del corruption, f53d56e0->prev is LIST_POISON2 (00000200) The necessary fix is unfortunately more complicated than just adding hci_dev_lock/unlock calls to the hci_conn_timeout() call path. Particularly, the hci_conn_del() API, which expects the hci_dev lock to be held, performs a cancel_delayed_work_sync(&hcon->disc_work) which would lead to a deadlock if the hci_conn_timeout() call path tries to acquire the same lock. This patch solves the problem by deferring the cleanup work to a separate work callback. To protect against the hci_dev or hci_conn going away meanwhile temporary references are taken with the help of hci_dev_hold() and hci_conn_get(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 4.3 commit 8dfabe7ab17a7c731bcb560fa42f9e4b745eeadf Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:26 2015 +0200 ASoC: n810: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer and is slightly shorter. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 95c68b86befd1fe796c7928f23d7b5f3f8ddf900 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:25 2015 +0200 ASoC: wl1273: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0de8ab983faa847fff0d7c5ba4e1b8678ddb09ca Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:24 2015 +0200 ASoC: uda134x: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer and is slightly shorter. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e795d83155ec2f45b52977ab492c42647e4dc3cf Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:23 2015 +0200 ASoC: twl4030: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer and is slightly shorter. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 153e2f5ca1ad632693e6a560546f27bddd91f6d8 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:22 2015 +0200 ASoC: adav80x: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b4ffc1be9fde347f0407b96a7074a8dc2bf61a8a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:21 2015 +0200 ALSA: rme9652: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1a8e41efe3f403678cd6099fea8a05af7391de4c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:20 2015 +0200 ALSA: rme96: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 80ec88938a2bbdd1f9d84e13b4e730abaf24f5f9 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:19 2015 +0200 ALSA: rme32: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dfcdb0280b410e4f132c8e4ef2c3e5c9c4797965 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:18 2015 +0200 ALSA: lx6464es: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9c9cb687d9b32bc8aea4b3aec5dd7bf9f912c744 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:17 2015 +0200 ALSA: korg1212: Use snd_pcm_hw_constraint_single() Use the new snd_pcm_hw_constraint_single() helper function instead of calling snd_pcm_hw_constraint_minmax() with the same value for min and max to install a constraint that limits the possible configuration values to a single value. Using snd_pcm_hw_constraint_single() makes the indented result clearer. While we are at it also fix some code style issues in the affected lines. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bc1043cdcd84cb441d80cfd79ae4325218f6f9ba Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Oct 18 15:39:16 2015 +0200 ALSA: Add helper function to add single value constraint The recommended and most efficient way to constraint a configuration parameter to a single value is to set the minimum and maximum allowed values to the same value, i.e. calling snd_pcm_hw_constraint_minmax() with the same value for min and max. It is not necessarily obvious though that this is the approach that should be taken and some drivers have come up with other ways of solving this problem, e.g. installing a list constraint with a single item. List constraints are dynamic constraints though and hence less efficient than the static min-max constraint. This patch introduces a new helper function called snd_pcm_hw_constraint_single() which only takes a single value has the same effect as calling snd_pcm_hw_constraint_minmax() with the same values for min and max. But it is hopefully semantically more expressive, making it clear that this is the preferred way of setting a single value constraint. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f8f2dc4a7127725383c93b501fcc4e47871b0a9d Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Oct 21 16:18:18 2015 +0800 ASoC: rt298: fix wrong setting of gpio2_en The register value to enable gpio2 was incorrect. So fix it. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 636a89d43e39edacc473c722879f10527acfc95c Author: Jiri Slaby <jslaby@xxxxxxx> Date: Sun Oct 11 16:18:22 2015 +0200 HID: fix some indenting issues Some drivers indent some lines in a very weird manner. Fix that. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit df7079380554e6e8e13a0812c7e6c72f669aba5c Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Wed Oct 7 16:54:22 2015 -0700 HID: wacom: Expect 'touch_max' touches if HID_DG_CONTACTCOUNT not present When introduced in commit 1b5d514, the check 'if (hid_data->cc_index >= 0)' in 'wacom_wac_finger_pre_report' was intended to switch where the driver got the expected number of contacts from: HID_DG_CONTACTCOUNT if the usage was present, or 'touch_max' otherwise. Unfortunately, an oversight worthy of a brown paper bag (specifically, that 'cc_index' could never be negative) meant that the latter 'else' clause would never be entered. The patch prior to this one introduced a way for 'cc_index' to be negative, but only if HID_DG_CONTACTCOUNT is present in some report _other_ than the one being processed. To ensure the 'else' clause is also entered for devices which don't have HID_DG_CONTACTCOUNT on _any_ report, we add the additional constraint that 'cc_report' be non-zero (which is true only if the usage is present in some report). Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 499522c8c015de995aabce3d0f0bf4b9b17f44c3 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Wed Oct 7 16:54:21 2015 -0700 HID: wacom: Tie cached HID_DG_CONTACTCOUNT indices to report ID The cached indicies 'cc_index' and 'cc_value_index' introduced in 1b5d514 are only valid for a single report ID. If a touchscreen has multiple reports with a HID_DG_CONTACTCOUNT usage, its possible that the values will not be correct for the report we're handling, resulting in an incorrect value for 'num_expected'. This has been observed with the Cintiq Companion 2. To address this, we store the ID of the report those indicies are valid for in a new 'cc_report' variable. Before using them to get the expected contact count, we first check if the ID of the report we're processing matches 'cc_report'. If it doesn't, we update the indicies to point to the HID_DG_CONTACTCOUNT usage of the current report (if it has one). Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8d2f8479da3c319218f030dc47382e55b67c2007 Author: Stefan Achatz <erazor_de@xxxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 15:10:28 2015 +0200 HID: roccat: Fixed resubmit: Deprecating most Roccat sysfs attributes Deprecates all Roccat sysfs attributes except the ones for the old Kone by moving abi descriptions from testing to obsolete. For most devices everything can be done using the hidraw ioctls HIDIOCGFEATURE and HIDIOCSFEATURE, so I would suggest future removal of device specific drivers. The userspace tools don't use these attributes for a year now. The first Kone is not fully HID-compliant and will still need a module. Signed-off-by: Stefan Achatz <erazor_de@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 53c656c4138511c2ba54df413dc29976cfa9f084 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Oct 21 16:06:24 2015 +1100 powerpc/powernv: Handle irq_happened flag correctly in off-line loop This fixes a bug where it is possible for an off-line CPU to fail to go into a low-power state (nap/sleep/winkle), and to become unresponsive to requests from the KVM subsystem to wake up and run a VCPU. What can happen is that a maskable interrupt of some kind (external, decrementer, hypervisor doorbell, or HMI) after we have called local_irq_disable() at the beginning of pnv_smp_cpu_kill_self() and before interrupts are hard-disabled inside power7_nap/sleep/winkle(). In this situation, the pending event is marked in the irq_happened flag in the PACA. This pending event prevents power7_nap/sleep/winkle from going to the requested low-power state; instead they return immediately. We don't deal with any of these pending event flags in the off-line loop in pnv_smp_cpu_kill_self() because power7_nap et al. return 0 in this case, so we will have srr1 == 0, and none of the processing to clear interrupts or doorbells will be done. Usually, the most obvious symptom of this is that a KVM guest will fail with a console message saying "KVM: couldn't grab cpu N". This fixes the problem by making sure we handle the irq_happened flags properly. First, we hard-disable before the off-line loop. Once we have hard-disabled, the irq_happened flags can't change underneath us. We unconditionally clear the DEC and HMI flags: there is no processing of timer interrupts while off-line, and the necessary HMI processing is all done in lower-level code. We leave the EE and DBELL flags alone for the first iteration of the loop, so that we won't fail to respond to a split-core request that came in just before hard-disabling. Within the loop, we handle external interrupts if the EE bit is set in irq_happened as well as if the low-power state was interrupted by an external interrupt. (We don't need to do the msgclr for a pending doorbell in irq_happened, because doorbells are edge-triggered and don't remain pending in hardware.) Then we clear both the EE and DBELL flags, and once clear, they cannot be set again (until this CPU comes online again, that is). This also fixes the debug check to not be done when we just ran a KVM guest or when the sleep didn't happen because of a pending event in irq_happened. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 23316316c1af0677a041c81f3ad6efb9dc470b33 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Wed Oct 21 16:03:14 2015 +1100 powerpc: Revert "Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8" This reverts commit 9678cdaae939 ("Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8") because the original commit had multiple, partly self-cancelling bugs, that could cause occasional memory corruption. In fact the logmpp instruction was incorrectly using register r0 as the source of the buffer address and operation code, and depending on what was in r0, it would either do nothing or corrupt the 64k page pointed to by r0. The logmpp instruction encoding and the operation code definitions could be corrected, but then there is the problem that there is no clearly defined way to know when the hardware has finished writing to the buffer. The original commit attempted to work around this by aborting the write-out before starting the prefetch, but this is ineffective in the case where the virtual core is now executing on a different physical core from the one where the write-out was initiated. These problems plus advice from the hardware designers not to use the function (since the measured performance improvement from using the feature was actually mostly negative), mean that reverting the code is the best option. Fixes: 9678cdaae939 ("Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8") Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 63243a4da7d0dfa19dcacd0a529782eeb2f86f92 Author: Simran Rai <ssimran@xxxxxxxxxxxx> Date: Mon Oct 19 15:27:19 2015 -0700 clk: iproc: Fix PLL output frequency calculation This patch affects the clocks that use fractional ndivider in their PLL output frequency calculation. Instead of 2^20 divide factor, the clock's ndiv integer shift was used. Fixed the bug by replacing ndiv integer shift with 2^20 factor. Signed-off-by: Simran Rai <ssimran@xxxxxxxxxxxx> Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Fixes: 5fe225c105fd ("clk: iproc: add initial common clock support") Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 353169acf1858bb2dc3f91475dafabce547de14c Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 15 15:22:35 2015 +1100 powerpc/eeh: Fix recursive fenced PHB on Broadcom shiner adapter Similar to commit b6541db ("powerpc/eeh: Block PCI config access upon frozen PE"), this blocks the PCI config space of Broadcom Shiner adapter until PE reset is completed, to avoid recursive fenced PHB when dumping PCI config registers during the period of error recovery. ~# lspci -ns 0003:03:00.0 0003:03:00.0 0200: 14e4:168a (rev 10) ~# lspci -s 0003:03:00.0 0003:03:00.0 Ethernet controller: Broadcom Corporation \ NetXtreme II BCM57800 1/10 Gigabit Ethernet (rev 10) Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f9433718d6aaecb162639e88150f18367e3ca8f5 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:59 2015 +1100 powerpc/powernv: Simplify pnv_eeh_set_option() This simplifies pnv_eeh_set_option() to avoid unnecessary nested if statements, to improve readability. No functional changes. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4d6186ca6f55b2f71be643af8a112c25e58ac516 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:58 2015 +1100 powerpc/powernv: Remove pnv_eeh_cap_start() This moves the logic of pnv_eeh_cap_start() to pnv_eeh_find_cap() as the function is only called by pnv_eeh_find_cap(). The logic of both functions are pretty simple. No need to have separate functions. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 608fb9c29660aca2845ba0730c514032c493a28f Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:57 2015 +1100 powerpc/powernv: Cleanup on EEH comments This applies cleanup on eeh-powernv.c, no functional changes: * Remove unnecessary comments and empty line. * Correct inaccurate comments. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 00ba05a12b3c9ee398235e03ad4bece7f836ada5 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:56 2015 +1100 powerpc/pseries: Cleanup on pseries_eeh_get_state() This cleans up pseries_eeh_get_state(), no functional changes: * Return EEH_STATE_NOT_SUPPORT early when the 2nd RTAS output argument is zero to avoid nested if statements. * Skip clearing bits in the PE state represented by variable "result" to simplify the code. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 872ee2d6528188c1de942dff5688f55578c1b989 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:55 2015 +1100 powerpc/eeh: More relaxed condition for enabled IO path When one or both of the below two flags are marked in the PE state, the PE's IO path is regarded as enabled: EEH_STATE_MMIO_ACTIVE or EEH_STATE_MMIO_ENABLED. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8234fcedf18debbae0b8b06a5c70def5169c146c Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:54 2015 +1100 powerpc/eeh: Force reset on fenced PHB On fenced PHB, the error handlers in the drivers of its subordinate devices could return PCI_ERS_RESULT_CAN_RECOVER, indicating no reset will be issued during the recovery. It's conflicting with the fact that fenced PHB won't be recovered without reset. This limits the return value from the error handlers in the drivers of the fenced PHB's subordinate devices to PCI_ERS_RESULT_NEED_NONE or PCI_ERS_RESULT_NEED_RESET, to ensure reset will be issued during recovery. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Reviewed-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f2da4ccf8bd46d3ab0fac383decf5616ad362c17 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:53 2015 +1100 powerpc/eeh: More relaxed hotplug criterion Currently, we rely on the existence of struct pci_driver::err_handler to decide if the corresponding PCI device should be unplugged during EEH recovery (partially hotplug case). However that check is not sufficient. Some device drivers implement only some of the EEH error handlers to collect diag-data. That means the driver still expects a hotplug to recover from the EEH error. This makes the hotplug criterion more relaxed: if the device driver doesn't provide all necessary EEH error handlers, it will experience hotplug during EEH recovery. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> [mpe: Minor change log rewording] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 98a44504541c6befb28366eb9ec432ba44070dd9 Author: Derek Foreman <derekf@xxxxxxxxxxxxxxx> Date: Thu Jul 2 11:20:21 2015 -0500 drm/vc4: Allow vblank to be disabled Signed-off-by: Derek Foreman <derekf@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 48666d56312b337ff3f04451bf6c3f014fee1eeb Author: Derek Foreman <derekf@xxxxxxxxxxxxxxx> Date: Thu Jul 2 11:19:54 2015 -0500 drm/vc4: Use the fbdev_cma helpers Keep the fbdev_cma pointer around so we can use it on hotplog and close to ensure the frame buffer console is in a useful state. Signed-off-by: Derek Foreman <derekf@xxxxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit c8b75bca92cbf064b9fa125fc74a85994452e935 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Mar 2 13:01:12 2015 -0800 drm/vc4: Add KMS support for Raspberry Pi. This is enough for fbcon and bringing up X using xf86-video-modesetting. It doesn't support the 3D accelerator or power management yet. v2: Drop FB_HELPER select thanks to Archit's patches. Do manual init ordering instead of using the .load hook. Structure registration more like tegra's, but still using the typical "component" code. Drop no-op hooks for atomic_begin and mode_fixup() now that they're optional. Drop sentinel in Makefile. Fix minor style nits I noticed on another reread. v3: Use the new bcm2835 clk driver to manage pixel/HSM clocks instead of having a fixed video mode. Use exynos-style component driver matching instead of devicetree nodes to list the component driver instances. Rename compatibility strings to say bcm2835, and distinguish pv0/1/2. Clean up some h/vsync code, and add in interlaced mode setup. Fix up probe/bind error paths. Use bitops.h macros for vc4_regs.h v4: Include i2c.h, allow building under COMPILE_TEST, drop msleep now that other bugs have been fixed, add timeouts to cpu_relax() loops, rename hpd-gpio to hpd-gpios. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1f9573241080449d221b6f8a9cc68e28fdeb7408 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Tue Aug 11 13:17:11 2015 -0700 drm/vc4: Add devicetree bindings for VC4. VC4 is the GPU (display and 3D) subsystem present on the 2835 and some other Broadcom SoCs. This binding follows the model of msm, imx, sti, and others, where there is a subsystem node for the whole GPU, with nodes for the individual HW components within it. v2: Extend the commit message, fix several nits from Stephen Warren. v3: Rename the compatibility strings, clean up node names, drop the unnecessary lists of components. Use compatibility strings for choosing CRTC HVS channel numbers. Document the HDMI clock usage. v4: Whitespace fix, expand acronyms, move to display/ instead of gpu/, rename "hpd-gpio" to "hpd-gpios". Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 393c092a4d3ace7b8cef633ede2171104dd504d7 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:45 2015 +0200 iommu/amd: Remove find_last_devid_on_pci() The value read from the PCI header is not reliable, so remove this code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 226e889b20a99c073615ff5f5b6ea0bbccf25c5f Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:44 2015 +0200 iommu/amd: Remove first/last_device handling The code is buggy and the values read from PCI are not reliable anyway, so it is the best to just remove this code. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d1259416985513ba97f75a63ecf5bc75592a4b8d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:43 2015 +0200 iommu/amd: Initialize amd_iommu_last_bdf for DEV_ALL Also initialize the amd_iommu_last_bdf variable when a IVHD_DEV_ALL entry is found in the ACPI table. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f2c2db53b99eb6c48e259a722eef724d6b53b156 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:42 2015 +0200 iommu/amd: Cleanup buffer allocation Clean up the functions to allocate the command, event and ppr-log buffers. Remove redundant code and change the return value to int. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit deba4bce168a87ef90211ba69850d3428b453765 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:41 2015 +0200 iommu/amd: Remove cmd_buf_size and evt_buf_size from struct amd_iommu The driver always uses a constant size for these buffers anyway, so there is no need to waste memory to store the sizes. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ca9cab3a5a9ea2ff03d761494b002897e2e3c4b5 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:40 2015 +0200 iommu/amd: Align DTE flag definitions No functional change. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 61289cbaf6c854a493ad0fa405c3dd39e7a384f3 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:39 2015 +0200 iommu/amd: Remove old alias handling code This mostly removes the code to create dev_data structures for alias device ids. They are not necessary anymore, as they were only created for device ids which have no struct pci_dev associated with it. But these device ids are handled in a simpler way now, so there is no need for this code anymore. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e25bfb56ea7f046b71414e02f80f620deb5c6362 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:38 2015 +0200 iommu/amd: Set alias DTE in do_attach/do_detach With this we don't have to create dev_data entries for non-existent devices (which only exist as request-ids). Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1256f10fb26e5824fde12314b5f4690797478678 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 19:16:47 2015 +0800 clk: berlin: bg2: remove CLK_IGNORE_UNUSED flag for sdio clk The clocks' properties have been already properly set, so there's no need to set this flag for sdio0 and sdio1 clk any more. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 123796bbfcd4f8147c8b8db7b2c976148b257b58 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Oct 20 19:16:46 2015 +0800 clk: berlin: bg2q: remove CLK_IGNORE_UNUSED flag for sdio clk Since we have added the necessary two clks' properties in dts, we can remove the "sdio" clk's CLK_IGNORE_UNUSED flag now. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 272e4f99e966989394b167b695ab489c60fe1243 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:37 2015 +0200 iommu/amd: WARN when __[attach|detach]_device are called with irqs enabled These functions rely on being called with IRQs disabled. Add a WARN_ON to detect early when its not. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f1dd0a8bcd67e34537fe02fa9cda15aa46368d11 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:36 2015 +0200 iommu/amd: Don't disable IRQs in __detach_device This function is already called with IRQs disabled already. So no need to disable them again. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 150952f96941cb13371770ce0cf47906647d8bba Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:35 2015 +0200 iommu/amd: Do not iterate over alias-list in __[attach|detach]_device The alias list is handled aleady by iommu core code. No need anymore to handle it in this part of the AMD IOMMU code Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f34c73f55a06ac443c492fc11b85f7a44dfdc112 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 17:33:34 2015 +0200 iommu/amd: Do not BUG_ON in __detach_device() The condition in the BUG_ON is an indicator of a BUG, but no reason to kill the code path. Turn it into a WARN_ON and bail out if it is hit. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit cbf3ccd09d683abf1cacd36e3640872ee912d99b Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Oct 20 14:59:36 2015 +0200 iommu/amd: Don't clear DTE flags when modifying it During device assignment/deassignment the flags in the DTE get lost, which might cause spurious faults, for example when the device tries to access the system management range. Fix this by not clearing the flags with the rest of the DTE. Reported-by: G. Richard Bellamy <rbellamy@xxxxxxxxxxxxx> Tested-by: G. Richard Bellamy <rbellamy@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 254f9463c5d41a7ac9d35ca24e6c3196814cb890 Merge: eae1446 9d0c3c6 Author: Michael Turquette <mturquette@xxxxxxxxxxxx> Date: Wed Oct 21 02:26:51 2015 -0700 Merge branch 'clk-shmobile-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into clk-next commit 79ebdc9536c132eb92b4bcce26daaed7f4bf359e Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:49 2015 +0200 MAINTAINERS: Unify the microcode driver section Merge the AMD and Intel sections and generalize the file patterns. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-7-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c595ac2bac930ce79f336c7a7e45e1ea38abfe16 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:48 2015 +0200 x86/microcode/intel: Move #ifdef DEBUG inside the function ... and save us the stub. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-6-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6f7fc44bf1eef6768f9dcb527c737ab24a3203ac Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:47 2015 +0200 x86/microcode/amd: Remove maintainers from comments We have the MAINTAINERS file for that. Also, Andreas doesn't have the time for this work anymore. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-5-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6b26e1bf66bb4bf1b1b9b4f27d1f324875689cf0 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:46 2015 +0200 x86/microcode: Remove modularization leftovers Remove the remaining module functionality leftovers. Make "dis_ucode_ldr" an early_param and make it static again. Drop module aliases, autoloading table, description, etc. Bump version number, while at it. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe055896c040df571e4ff56fb196d6845130057b Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:45 2015 +0200 x86/microcode: Merge the early microcode loader Merge the early loader functionality into the driver proper. The diff is huge but logically, it is simply moving code from the _early.c files into the main driver. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a2bc335f100a0f6ee6392b9f97ac4188d84db1d Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Oct 20 11:54:44 2015 +0200 x86/microcode: Unmodularize the microcode driver Make CONFIG_MICROCODE a bool. It was practically a bool already anyway, since early loader was forcing it to =y. Regardless, there's no real reason to have something be a module which gets built-in on the majority of installations out there. And its not like there's noticeable change in functionality - we still can load late microcode - just the module glue disappears. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1445334889-300-2-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8d515fda8946cbfb359dca9d6bd416478f1b45cc Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Thu Oct 15 10:17:06 2015 -0700 HID: wacom: Report full pressure range for Intuos, Cintiq 13HD Touch The new Intuos tablets added in eda01da and the Cintiq 13HD Touch added in b4bf212 are capable of reporting 2048 levels of pressure. Although the kernel reports the correct range to userspace, an oversight has resulted in the driver ingoring the 11th pressure bit and only sending pressures of 0 through 1023. We could fix this issue by expanding the type check to include these devices, but it makes much more sense to just have the driver look at the device's maximum pressure when determining if it should read the 11th bit. Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f7acb55cf1b414f8f515697f2a7bb324ba009062 Author: Jason Gerecke <killertofu@xxxxxxxxx> Date: Tue Oct 13 10:03:49 2015 -0700 HID: wacom: Add support for Cintiq Companion 2 Adds support for the EMR (pen+pad) and touchscreen devices used by the Wacom Cintiq Companion 2. This applies both to using the device as a standalone system, as well as when operating in "Cintiq mode" (where the EMR/touchscreen are simply exposed as USB devices to the system its connected to). Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> Signed-off-by: Clifford Jolly <expiredpopsicle@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 3d45ac4b35cbdf942f2a45b2b927f2ef6a8bda48 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Mon Oct 19 04:35:44 2015 -0600 timers/x86/hpet: Type adjustments Standardize on bool instead of an inconsistent mixture of u8 and plain 'int'. Also use u32 or 'unsigned int' instead of 'unsigned long' when a 32-bit type suffices, generating slightly better code on x86-64. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> 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/5624E3A002000078000AC49A@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 221836e92cd5664de6fc2f1d836f6343ae5f2e43 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 10:41:17 2015 +0200 x86/Kconfig/cpus: Fix/complete CPU type help texts Move the generic help text explaining each CPU type and what to select under the "Processor Family" prompt and not under the M486 option. Also, amend it with the missing options. 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> Link: http://lkml.kernel.org/r/1445244077-25120-1-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 81ffdcdd97d94110627caa81c23d5d780083731d Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Oct 19 11:17:48 2015 +0200 x86/mce: Fix thermal throttling reporting after kexec The per CPU thermal vector init code checks if the thermal vector is already installed and complains and bails out if it is. This happens after kexec, as kernel shut down does not clear the thermal vector APIC register. This causes two problems: 1. So we always do not fully initialize thermal reports after kexec. The CPU is still likely initialized, as the previous kernel should have done it. But we don't set up the software pointer to the thermal vector, so reporting may end up with a unknown thermal interrupt message. 2. Also it complains for every logical CPU, even though the value is actually derived from BP only. The problem is that we end up with one message per CPU, so on larger systems it becomes very noisy and messes up the otherwise nicely formatted CPU bootup numbers in the kernel log. Just remove the check. I checked the code and there's no valid code paths where the thermal init code for a CPU could be called multiple times. Why the kernel does not clean up this value on shutdown: The thermal monitoring is controlled per logical CPU thread. Normal shutdown code is just running on one CPU. To disable it we would need a broadcast NMI to all CPUs on shut down. That's overkill for this. So we just ignore it after kexec. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445246268-26285-9-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 53b90c0c56b502056da83d768047dcf765bac9fb Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 11:17:47 2015 +0200 kexec/crash: Say which char is the unrecognized It is helpful when the crashkernel cmdline parsing routines actually say which character is the unrecognized one. Make them do so. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Baoquan He <bhe@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-8-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6f3760570e26eefc214e641b6daeddb7106240bb Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 11:17:46 2015 +0200 x86/setup/crash: Check memblock_reserve() retval memblock_reserve() can fail but the crashkernel reservation code doesn't check that and this can lead the user into believing that the crashkernel region was actually reserved. Make sure we check that return value and we exit early with a failure message in the error case. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-7-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f56d55781c1ff5663874775d0672ba954fe5634c Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 11:17:45 2015 +0200 x86/setup/crash: Cleanup some more * Remove unused auto_set variable * Cleanup local function variable declarations * Reformat printk string and use pr_info() No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-6-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 606134f77ce22997fd2800d5937698d85c6990d9 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 11:17:44 2015 +0200 x86/setup/crash: Remove alignment variable Use a macro instead. No functionality change. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-5-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 97eac21babe47e1a8ed4cac4f8874c5746cf6e36 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 19 11:17:43 2015 +0200 x86/setup: Cleanup crashkernel reservation functions * Shorten variable names * Realign code, space out for better readability No code changed: # arch/x86/kernel/setup.o: text data bss dec hex filename 4543 3096 69904 77543 12ee7 setup.o.before 4543 3096 69904 77543 12ee7 setup.o.after md5: 8a1b7c6738a553ca207b56bd84a8f359 setup.o.before.asm 8a1b7c6738a553ca207b56bd84a8f359 setup.o.after.asm Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Dave Young <dyoung@xxxxxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a6775c1a2c2ed863699403cda517916c22aeb72 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Oct 19 11:17:42 2015 +0200 x86/amd_nb, EDAC: Rename amd_get_node_id() This function doesn't give us the "Node ID" as the function name suggests. Rather, it receives a PCI device as argument, checks the available F3 PCI device IDs in the system and returns the index of the matching Bus/Device IDs. Rename it to amd_pci_dev_to_node_id(). No functional change is introduced. Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445246268-26285-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eb6db83d105914c246ac5875be76fd4b944833d5 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Oct 19 11:17:41 2015 +0200 x86/setup: Do not reserve crashkernel high memory if low reservation failed People reported that when allocating crashkernel memory using the ",high" and ",low" syntax, there were cases where the reservation of the high portion succeeds but the reservation of the low portion fails. Then kexec can load the kdump kernel successfully, but booting the kdump kernel fails as there's no low memory. The low memory allocation for the kdump kernel can fail on large systems for a couple of reasons. For example, the manually specified crashkernel low memory can be too large and thus no adequate memblock region would be found. Therefore, we try to reserve low memory for the crash kernel *after* the high memory portion has been allocated. If that fails, we free crashkernel high memory too and return. The user can then take measures accordingly. Tested-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> [ Massage text. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Joerg Roedel <jroedel@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Young <dyoung@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: jerry_hoemann@xxxxxx Cc: yinghai@xxxxxxxxxx Link: http://lkml.kernel.org/r/1445246268-26285-2-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 527d10ef3a315d3cb9dc098dacd61889a6c26439 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 14:58:52 2015 +1100 powerpc/eeh: Don't unfreeze PHB PE after reset On PowerNV platform, the PE is kept in frozen state until the PE reset is completed to avoid recursive EEH error caused by MMIO access during the period of EEH reset. The PE's frozen state is cleared after BARs of PCI device included in the PE are restored and enabled. However, we needn't clear the frozen state for PHB PE explicitly at this point as there is no real PE for PHB PE. As the PHB PE is always binding with PE#0, we actually clear PE#0, which is wrong. It doesn't incur any problem though. This checks if the PE is PHB PE and doesn't clear the frozen state if it is. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 879c26d4f6a2b573d75cc235946019b6208ed6bc Author: Geoff Levand <geoff@xxxxxxxxxxxxx> Date: Mon Oct 19 10:53:26 2015 -0700 powerpc/ps3: Quieten boot wrapper output with run_cmd Add a boot wrapper script function run_cmd which will run a shell command quietly and only print the output if either V=1 or an error occurs. Also, run the ps3 dd commands with run_cmd to clean up the build output. Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e5a9f8d04660da7ef3a98260aa74c3976f9cb4cd Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Oct 16 17:54:47 2015 +0200 mac80211: move station statistics into sub-structs Group station statistics by where they're (mostly) updated (TX, RX and TX-status) and group them into sub-structs of the struct sta_info. Also rename the variables since the grouping now makes it obvious where they belong. This makes it easier to identify where the statistics are updated in the code, and thus easier to think about them. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 976bd9efdae6a844079ba4a7898a38d229ef246c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Oct 16 17:18:11 2015 +0200 mac80211: move beacon_loss_count into ifmgd There's little point in keeping (and even sending to userspace) the beacon_loss_count value per station, since it can only apply to the AP on a managed-mode connection. Move the value to ifmgd, advertise it only in managed mode, and remove it from ethtool as it's available through better interfaces. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 763aa27a292113b6fd9f6ad8bf633edc9b13c98b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Oct 16 16:55:51 2015 +0200 mac80211: remove sta->last_ack_signal This file only feeds a debugfs file that isn't very useful, so remove it. If necessary, we can add other ways to get this information, for example in the NL80211_CMD_PROBE_CLIENT response. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 81c1f74de3b6a9be0006a734d3584150f9c2e295 Merge: f8273ba bc6f9ae Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Wed Oct 21 11:07:55 2015 +0300 Merge ath-next from ath.git Major changes: ath10k * add board 2 API support for automatically choosing correct board file * data path optimisations * disable PCI power save for qca988x and QCA99x0 due to interop reasons wil6210 * BlockAckReq support * firmware crashdump using devcoredump * capture all frames with sniffer commit f8273bafcbc1bc04d1b139144f78f25c559f10c3 Author: Eric Caruso <ejcaruso@xxxxxxxxxx> Date: Wed Oct 14 12:34:11 2015 -0700 brcm80211: Add support for brcm4371 This is a new Broadcom chip and we should be able to recognize it. Signed-off-by: Eric Caruso <ejcaruso@xxxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 92121e69de8a982c0b33b359ce68657b3ec3c83d Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:21 2015 +0200 brcmfmac: Properly set carrier state of netdev. Use the netif_carrier api to correctly set carrier state on the different modes. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 54b499d9ad10dd0ce9b4ac92507072cad0f37f7a Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:20 2015 +0200 brcmfmac: Remove unused state AP creating. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c443e169577c2dfb8172711ef4b765919d177429 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:19 2015 +0200 brcmfmac: Move brcmf_c_preinit_dcmds prototype to correct file. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit bf2a7e0499b922b4d2ffc073a3d14cec93c33af1 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:18 2015 +0200 brcmfmac: Add dump_station support to cfg80221 ops. With this feature it becomes possible to request a station assoc list. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cae355dc90db2bd27bf5ed5400ab2a417a185faa Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:17 2015 +0200 brcmfmac: Add RSSI information to get_station. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 124d517211e4322366f087774dadae136c6cec8b Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:16 2015 +0200 brcmfmac: Fix station info rate information. Txrate and rxrate in get_station got assigned first with value in kbps and then divided by 100 to get it in 100kbps unit. The problem with that is that type of rate is u16 which resulted in incorrect values for high data rate values. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2b76acdbc0431a7d9e87eacb27bb537a211bed16 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:15 2015 +0200 brcmfmac: Rework p2p attach, use single method for p2p dev creation. When module param p2pon is used a p2p device is created at init. This patch reworks how this is done by using the same method as for a dynamically (by user space) created p2p device. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 43569bfaf6ed0ee5b44533ee9ded7e8323734687 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:14 2015 +0200 brcmfmac: remove conversational comment Removing a comment that was only useful during the review of the change that introduced it and which should never have been submitted. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4a3462843f9f363162314ca7667e24c146c7fa71 Author: Franky Lin <frankyl@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:13 2015 +0200 brcmfmac: rename firmware_path to alternative_fw_path In brcmfmac the module parameter "firmware_path" is used as an alternative relative path under the search path used by firmware_class or ueventhelper. Rename the parameter to alternative_fw_path to avoid confusion. Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Arend Van Spriel <arend@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 185f0eb0b5fab0c9bfd7c5d322e2cd05b951d6e8 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:12 2015 +0200 brcmfmac: Fix race condition between USB probe/load and disconnect. When a USB device gets disconnected due to for example removal then it is possible that it is still in the loading phase due to the asynchronous load routines. These routines can then possible access memory which has been freed. Fix this by mutex locking the device init phase. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ff4445a8502cdf06969540c92bb201ee47e70351 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Thu Oct 8 20:33:11 2015 +0200 brcmfmac: expose device memory to devcoredump subsystem Upon PSM watchdog event received from firmware the driver will obtain a memory snapshot of the device and expose it to user-space through the devcoredump framework. This will trigger a uevent. 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 26f1fad29ad973b0fb26a9ca3dcb2a73dde781aa Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Wed Oct 14 20:44:51 2015 -0400 New driver: rtl8xxxu (mac80211) This is an alternate driver for a number of Realtek WiFi USB devices, including RTL8723AU, RTL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU. It was written from scratch utilizing the Linux mac80211 stack. After spending months cleaning up the vendor provided rtl8723au driver, which comes with it's own 802.11 stack included, I decided to rewrite this driver from the bottom up. Many thanks to Johannes Berg for 802.11 insights and help and Larry Finger for help with the vendor driver. The full git log for the development of this driver can be found here: git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git branch rtl8723au-mac80211 This driver is still under development, but has proven to be very stable for me. It currently supports station mode only. It has support for OFDM and CCK rates. It does lack certain features found in the staging driver, such as power management, AMPDU, and 40MHz channel support. In addition it does not support AD-HOC, AP, and monitor mode support at this point. The driver is known to work with the following devices: Lenovo Yoga (rtl8723au) TP-Link TL-WN823N (rtl8192cu) Etekcity 6R (rtl8188cu) Daffodil LAN03 (rtl8188cu) Alfa AWUS036NHR (rtl8188ru) Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 48aa1e748f29373fdcc2bc341eac08ef16bff269 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Mon Oct 19 16:33:30 2015 +0000 drm: correctly check failed allocation drm_property_create_range can be failed in memory pressure Therefore, check return value and handle an error Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 70aa3961a196ac32baf54032b2051bac9a941118 Author: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 15 11:29:58 2015 +0530 KVM: PPC: Book3S HV: Handle H_DOORBELL on the guest exit path Currently a CPU running a guest can receive a H_DOORBELL in the following two cases: 1) When the CPU is napping due to CEDE or there not being a guest vcpu. 2) The CPU is running the guest vcpu. Case 1), the doorbell message is not cleared since we were waking up from nap. Hence when the EE bit gets set on transition from guest to host, the H_DOORBELL interrupt is delivered to the host and the corresponding handler is invoked. However in Case 2), the message gets cleared by the action of taking the H_DOORBELL interrupt. Since the CPU was running a guest, instead of invoking the doorbell handler, the code invokes the second-level interrupt handler to switch the context from the guest to the host. At this point the setting of the EE bit doesn't result in the CPU getting the doorbell interrupt since it has already been delivered once. So, the handler for this doorbell is never invoked! This causes softlockups if the missed DOORBELL was an IPI sent from a sibling subcore on the same CPU. This patch fixes it by explitly invoking the doorbell handler on the exit path if the exit reason is H_DOORBELL similar to the way an EXTERNAL interrupt is handled. Since this will also handle Case 1), we can unconditionally clear the doorbell message in kvmppc_check_wake_reason. Signed-off-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit bfec5c2cc0adad3b343281eb4f9b94222c5f594f Author: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 10:27:53 2015 +0530 KVM: PPC: Implement extension to report number of memslots QEMU assumes 32 memslots if this extension is not implemented. Although, current value of KVM_USER_MEM_SLOTS is 32, once KVM_USER_MEM_SLOTS changes QEMU would take a wrong value. Signed-off-by: Nikunj A Dadhania <nikunj@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit c64dfe2af3de448f9afa2e542983015b31c1f91c Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Mon May 18 14:10:54 2015 +1000 KVM: PPC: Book3S HV: Make H_REMOVE return correct HPTE value for absent HPTEs This fixes a bug where the old HPTE value returned by H_REMOVE has the valid bit clear if the HPTE was an absent HPTE, as happens for HPTEs for emulated MMIO pages and for RAM pages that have been paged out by the host. If the absent bit is set, we clear it and set the valid bit, because from the guest's point of view, the HPTE is valid. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 572abd563befd56bee918316c4f7ab144d2decf5 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 29 17:15:45 2015 +1000 KVM: PPC: Book3S HV: Don't fall back to smaller HPT size in allocation ioctl Currently the KVM_PPC_ALLOCATE_HTAB will try to allocate the requested size of HPT, and if that is not possible, then try to allocate smaller sizes (by factors of 2) until either a minimum is reached or the allocation succeeds. This is not ideal for userspace, particularly in migration scenarios, where the destination VM really does require the size requested. Also, the minimum HPT size of 256kB may be insufficient for the guest to run successfully. This removes the fallback to smaller sizes on allocation failure for the KVM_PPC_ALLOCATE_HTAB ioctl. The fallback still exists for the case where the HPT is allocated at the time the first VCPU is run, if no HPT has been allocated by ioctl by that time. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 213445b2b40e87e819c7d949ae7d97c30dcd0853 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 21 02:45:19 2015 +0200 Bluetooth: btintel: Enable extra Intel vendor events The Intel Bluetooth controllers can emit extra vendor specific events in error conditions or for debugging purposes. To make the life easier for engineers, enable them by default. When the vendor_diag options has been enabled, then additional debug events are also enabled. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e4c534bbacab81fc67c81ae8af263a70f35ffec9 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 21 01:31:45 2015 +0200 Bluetooth: btusb: Set manufacturer for Intel bootloader devices For Intel bootloader devices, set the manufacturer information so that it becomes possible to decode the boot process. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 1856f50c66dff0afb4a6a3e22497ae153aec9411 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Fri Oct 16 23:38:45 2015 +0200 powerpc/prom: Avoid reference to potentially freed memory of_get_property() is used inside the loop, but then the reference to the node is dropped before dereferencing the prop pointer, which could by then point to junk if the node has been freed. Instead use of_property_read_u32() to actually read the property value before dropping the reference. of_property_read_u32() requires at least one cell (u32) to be present, which is stricter than the old logic which would happily dereference a property of any size. However we believe all device trees in the wild have at least one cell. Skiboot may produce memory nodes with more than one cell, but that is OK, of_property_read_u32() will return the first one. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> [mpe: Expand change log with device tree details] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 98a63aaf245e2522b0ddd86f38fb83883344bcaf Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 20 23:25:42 2015 +0200 Bluetooth: Introduce driver specific post init callback Some drivers might have to restore certain settings after the init procedure has been completed. This driver callback allows them to hook into that stage. This callback is run just before the controller is declared as powered up. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit aee61f7aa89bbfa48b91628291d8685aa61c970f Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 20 21:30:45 2015 +0200 Bluetooth: hci_uart: Provide initial manufacturer information Provide an early indication about the manufacturer information so that it can be forwarded into monitor channel. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 0f6925fa2907df58496cabc33fa4677c635e2223 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Wed Oct 14 15:26:13 2015 +0800 btrfs: Avoid truncate tailing page if fallocate range doesn't exceed inode size Current code will always truncate tailing page if its alloc_start is smaller than inode size. For example, the file extent layout is like: 0 4K 8K 16K 32K |<-----Extent A---------------->| |<--Inode size: 18K---------->| But if calling fallocate even for range [0,4K), it will cause btrfs to re-truncate the range [16,32K), causing COW and a new extent. 0 4K 8K 16K 32K |///////| <- Fallocate call range |<-----Extent A-------->|<--B-->| The cause is quite easy, just a careless btrfs_truncate_inode() in a else branch without extra judgment. Fix it by add judgment on whether the fallocate range is beyond isize. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ddd70280bf0e92ad81a9526971409603fba21679 Author: Tal Shorer <tal.shorer@xxxxxxxxx> Date: Sat Aug 1 15:27:58 2015 +0300 tracing: gpio: Add Kconfig option for enabling/disabling trace events Add a new options to trace Kconfig, CONFIG_TRACING_EVENTS_GPIO, that is used for enabling/disabling compilation of gpio function trace events. Link: http://lkml.kernel.org/r/1438432079-11704-4-git-send-email-tal.shorer@xxxxxxxxx Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit c63b7682b6d90530d3a071ff75b81bfddcce8598 Author: Tal Shorer <tal.shorer@xxxxxxxxx> Date: Sat Aug 1 15:27:57 2015 +0300 tracing: Allow disabling compilation of specific trace systems Allow a trace events header file to disable compilation of its trace events by defining the preprocessor macro NOTRACE. This could be done, for example, according to a Kconfig option. Link: http://lkml.kernel.org/r/1438432079-11704-3-git-send-email-tal.shorer@xxxxxxxxx Signed-off-by: Tal Shorer <tal.shorer@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 1904be1b6bb92058c8e00063dd59df2df294e258 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Oct 20 21:48:02 2015 -0400 tracing: Do not allow stack_tracer to record stack in NMI The code in stack tracer should not be executed within an NMI as it grabs spinlocks and stack tracing an NMI gives the possibility of causing a deadlock. Although this is safe on x86_64, because it does not perform stack traces when the task struct stack is not in use (interrupts and NMIs), it may be an issue for NMIs on i386 and other archs that use the same stack as the NMI. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit b86d9371be2fcb6ebf47e6c15d23d0ec1586664a Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 29 19:46:16 2015 +0300 Documentation: ftrace: Module globbing usage Link: http://lkml.kernel.org/r/1443545176-3215-5-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0b507e1ed1b7364def464cfb348ea7c9e87e6e18 Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 29 19:46:15 2015 +0300 ftrace: add module globbing Extend module command for function filter selection with globbing. It uses the same globbing as function filter. sh# echo '*alloc*:mod:*' > set_ftrace_filter Will trace any function with the letters 'alloc' in the name in any module but not in kernel. sh# echo '!*alloc*:mod:ipv6' >> set_ftrace_filter Will prevent from tracing functions with 'alloc' in the name from module ipv6 (do not forget to append to set_ftrace_filter file). sh# echo '*alloc*:mod:!ipv6' > set_ftrace_filter Will trace functions with 'alloc' in the name from kernel and any module except ipv6. sh# echo '*alloc*:mod:!*' > set_ftrace_filter Will trace any function with the letters 'alloc' in the name only from kernel, but not from any module. sh# echo '*:mod:!*' > set_ftrace_filter or sh# echo ':mod:!' > set_ftrace_filter Will trace every function in the kernel, but will not trace functions from any module. sh# echo '*:mod:*' > set_ftrace_filter or sh# echo ':mod:' > set_ftrace_filter As the opposite will trace all functions from all modules, but not from kernel. sh# echo '*:mod:*snd*' > set_ftrace_filter Will trace your sound drivers only (if any). Link: http://lkml.kernel.org/r/1443545176-3215-4-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> [ Made format changes ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 09302fd19efbff9569eaad3f78ead8f411defd87 Merge: fbf9826 38416e5 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Wed Oct 21 10:49:29 2015 +1100 Merge branch 'smack-for-4.4' of https://github.com/cschaufler/smack-next into next commit 9f7378a9d6ced1784e08d3e21a9ddb769523baf2 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Wed Oct 14 12:18:47 2015 +0200 Bluetooth: l2cap_disconnection_req priority over shutdown There is a L2CAP protocol race between the local peer and the remote peer demanding disconnection of the L2CAP link. When L2CAP ERTM is used, l2cap_sock_shutdown() can be called from userland to disconnect L2CAP. However, there can be a delay introduced by waiting for ACKs. During this waiting period, the remote peer may have sent a Disconnection Request. Therefore, recheck the shutdown status of the socket after waiting for ACKs because there is no need to do further processing if the connection has gone. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Harish Jenny K N <harish_kandiga@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 04ba72e6b24f1e0e2221fcd73f08782870473fa1 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Wed Oct 14 12:18:46 2015 +0200 Bluetooth: Reorganize mutex lock in l2cap_sock_shutdown() This commit reorganizes the mutex lock and is now only protecting l2cap_chan_close(). This is now consistent with other places where l2cap_chan_close() is called. If a conn connection exists, call mutex_lock(&conn->chan_lock) before calling l2cap_chan_close() to ensure other L2CAP protocol operations do not interfere. Note that the conn structure has to be protected from being freed as it is possible for the connection to be disconnected whilst the locks are not held. This solution allows the mutex lock to be used even when the connection has just been disconnected. This commit also reduces the scope of chan locking. The only place where chan locking is needed is the call to l2cap_chan_close(chan, 0) which if necessary closes the channel. Therefore, move the l2cap_chan_lock(chan) and l2cap_chan_lock(chan) locking calls to around l2cap_chan_close(chan, 0). This allows __l2cap_wait_ack(sk, chan) to be called with no chan locks being held so L2CAP messaging over the ACL link can be done unimpaired. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Harish Jenny K N <harish_kandiga@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e7456437c15a2fd42cedd25c2b12b06876f285f0 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Wed Oct 14 12:18:45 2015 +0200 Bluetooth: Unwind l2cap_sock_shutdown() l2cap_sock_shutdown() is designed to only action shutdown of the channel when shutdown is not already in progress. Therefore, reorganise the code flow by adding a goto to jump to the end of function handling when shutdown is already being actioned. This removes one level of code indentation and make the code more readable. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Harish Jenny K N <harish_kandiga@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 09bf420f101c9d35ca0b5f539c7f03951fd2e24d Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:26 2015 +0200 6lowpan: put mcast compression in an own function This patch moves the mcast compression algorithmn to an own function like all other compression/decompression methods in iphc. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b5af9bdbfe6d497d27e5936a7d110fc5f64e7c0d Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:25 2015 +0200 6lowpan: rework tc and flow label handling This patch reworks the handling of compression/decompression of traffic class and flow label handling. The current method is hard to understand, also doesn't checks if we can read the buffer from skb length. I tried to put the shifting operations into static inline functions and comment each steps which I did there to make it hopefully somewhat more readable. The big mess to deal with that is the that the ipv6 header bring the order "DSCP + ECN" but iphc uses "ECN + DSCP". Additional the DCSP + ECN bits are splitted in ipv6_hdr inside the priority and flow_lbl[0] fields. I tested these compressions by using fakelb 802.15.4 driver and manipulate the tc and flow label fields manually in function "__ip6_local_out" before the skb will be send to lower layers. Then I looked up the tc and flow label fields in wireshark on a wpan and lowpan interface. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c8a3e7eb98236f7c88e6deddf9f330874070fa09 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:24 2015 +0200 6lowpan: iphc: change define values This patch has the main goal to delete shift operations. Instead we doing masks and equals afterwards. E.g. for the SAM evaluation we masking only the SAM value which fits in iphc1 byte, then comparing with all possible SAM values over a switch case statement. We will not shifting the SAM value to somewhat readable anymore. Additional this patch slighty change the naming style like RFC 6282, e.g. TTL to HLIM and we will drop an errno now if CID flag is set, because we don't support it. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 028b2a8c16c7c6a482075fe42275a44fbe5463fa Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:23 2015 +0200 6lowpan: remove lowpan_is_addr_broadcast This macro is used at 802.15.4 6LoWPAN only and can be replaced by memcmp with the interface broadcast address. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6350047eb8dbd3dcf0ff29a637ece96db8f59d8d Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:22 2015 +0200 6lowpan: move IPHC functionality defines This patch removes the IPHC related defines for doing bit manipulation from global 6lowpan header to the iphc file which should the only one implementation which use these defines. Also move next header compression defines to their nhc implementation. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 607b0bd3f2b9ac118f2c67dbd18c55f1f5aefeb1 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 20 08:31:21 2015 +0200 6lowpan: nhc: move iphc manipulation out of nhc This patch moves the iphc setting of next header commpression bit inside iphc functionality. Setting of IPHC bits should be happen at iphc.c file only. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 478208e3b9988adc7ec2c480f237049aaf7c4609 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:59 2015 +0200 6lowpan: remove lowpan_fetch_skb_u8 This patch removes the lowpan_fetch_skb_u8 function for getting the iphc bytes. Instead we using the generic which has a len parameter to tell the amount of bytes to fetch. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8911d7748ca360ef96cb207cc5165eb9c08669e5 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:58 2015 +0200 6lowpan: cleanup lowpan_header_decompress This patch changes the lowpan_header_decompress function by removing inklayer related information from parameters. This is currently for supporting short and extended address for iphc handling in 802154. We don't support short address handling anyway right now, but there exists already code for handling short addresses in lowpan_header_decompress. The address parameters are also changed to a void pointer, so 6LoWPAN linklayer specific code can put complex structures as these parameters and cast it again inside the generic code by evaluating linklayer type before. The order is also changed by destination address at first and then source address, which is the same like all others functions where destination is always the first, memcpy, dev_hard_header, lowpan_header_compress, etc. This patch also moves the fetching of iphc values from 6LoWPAN linklayer specific code into the generic branch. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a6f773891a836abfa16fcbb8af14c29c3e109336 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:57 2015 +0200 6lowpan: cleanup lowpan_header_compress This patch changes the lowpan_header_compress function by removing unused parameters like "len" and drop static value parameters of protocol type. Instead we really check the protocol type inside inside the skb structure. Also we drop the use of IEEE802154_ADDR_LEN which is link-layer specific. Instead we using EUI64_ADDR_LEN which should always the default case for now. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bf513fd6fc609590b7835c0dba624ccb9f8f9214 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:56 2015 +0200 6lowpan: introduce LOWPAN_IPHC_MAX_HC_BUF_LEN This patch introduces the LOWPAN_IPHC_MAX_HC_BUF_LEN define which represent the worst-case supported IPHC buffer length. It's used to allocate the stack buffer space for creating the IPHC header. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cefdb801c80736017b5a0d97a4a9f816d5a98fc4 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:55 2015 +0200 bluetooth: 6lowpan: use lowpan dispatch helpers This patch adds a check if the dataroom of skb contains a dispatch value by checking if skb->len != 0. This patch also change the dispatch evaluation by the recently introduced helpers for checking the common 6LoWPAN dispatch values for IPv6 and IPHC header. There was also a forgotten else branch which should drop the packet if no matching dispatch is available. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 71cd2aa53dbf9eb8cb954fc9e65de8dab774b7f6 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Tue Oct 13 13:42:54 2015 +0200 mac802154: llsec: use kzfree This patch will use kzfree instead kfree for security related information which can be offered by acccident. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a6ad2a6b9cc1d9d791aee5462cfb8528f366f1d4 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Oct 19 10:51:47 2015 +0300 Bluetooth: Fix removing connection parameters when unpairing The commit 89cbb0638e9b7 introduced support for deferred connection parameter removal when unpairing by removing them only once an existing connection gets disconnected. However, it failed to address the scenario when we're *not* connected and do an unpair operation. What makes things worse is that most user space BlueZ versions will first issue a disconnect request and only then unpair, meaning the buggy code will be triggered every time. This effectively causes the kernel to resume scanning and reconnect to a device for which we've removed all keys and GATT database information. This patch fixes the issue by adding the missing call to the hci_conn_params_del() function to a branch which handles the case of no existing connection. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.19+ commit 22f8e9dbf671a2f36d90d3d8723a2a0c5227fa4b Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 20 00:53:33 2015 +0200 Bluetooth: btusb: Add support for latest Apple controllers The latest Apple Bluetooth controllers with Broadcom chip in it have a small design change. Instead of including a USB hub with mouse and keyboard devices, they are now HID interfaces on the same device. T: Bus=04 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#= 39 Spd=12 MxCh= 0 D: Ver= 2.01 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=05ac ProdID=8290 Rev= 0.79 S: Manufacturer=Broadcom Corp. S: Product=Bluetooth USB Host Controller C:* #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr= 0mA A: FirstIf#= 2 IfCount= 4 Cls=ff(vend.) Sub=01 Prot=01 I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid E: Ad=85(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=86(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) 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#= 3 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#= 3 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#= 3 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#= 3 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#= 3 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#= 3 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 I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=btusb E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 5 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) The general layout of Bluetooth devices is that interface 0 is the main interface and interface 1 is for audio data. This design obviously moves it to main interface 2 and audio data on interface 3. Starting with the MacBookPro12,1 (early 2015 models) the new Broadcom BCM943602CS cards are used which show this interface layout. usb 4-1.5: New USB device found, idVendor=05ac, idProduct=8290 usb 4-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 4-1.5: Product: Bluetooth USB Host Controller usb 4-1.5: Manufacturer: Broadcom Corp. Bluetooth: hci0: BCM: chip id 102 build 0243 Bluetooth: hci0: BCM: product 05ac:8290 Bluetooth: hci0: BCM20703A1 Generic USB UHE Apple 20Mhz fcbga_X87 Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 49a5f782d03888e8b55ed799e57a592b76ce32f6 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 20 02:30:48 2015 +0200 Bluetooth: btusb: Set early vendor info for Intel and Broadcom For the controllers from Intel and Broadcom (including Apple), it is helpful to have the information about the manufacturer send out early. This patch sets the hdev->manufacturer information which will be send out before actually calling the vendor specific hdev->setup driver callback. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e131d74a3afe2b44c3bc59dc4ff06bfd0481ab1a Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 20 02:30:47 2015 +0200 Bluetooth: Add support setup stage internal notification event Before the vendor specific setup stage is triggered call back into the core to trigger an internal notification event. That event is used to send an index update to the monitor interface. With that specific event it is possible to update userspace with manufacturer information before any HCI command has been executed. This is useful for early stage debugging of vendor specific initialization sequences. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 18e0afab8ce3f1230ce3fef52b2e73374fd9c0e7 Author: Dmitry Tunin <hanipouspilot@xxxxxxxxx> Date: Fri Oct 16 11:45:26 2015 +0300 Bluetooth: ath3k: Add support of AR3012 0cf3:817b device T: Bus=04 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0cf3 ProdID=817b Rev=00.02 C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb BugLink: https://bugs.launchpad.net/bugs/1506615 Signed-off-by: Dmitry Tunin <hanipouspilot@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit cd355ff071cd37e7197eccf9216770b2b29369f7 Author: Dmitry Tunin <hanipouspilot@xxxxxxxxx> Date: Mon Oct 5 19:29:33 2015 +0300 Bluetooth: ath3k: Add new AR3012 0930:021c id This adapter works with the existing linux-firmware. T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0930 ProdID=021c Rev=00.01 C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb BugLink: https://bugs.launchpad.net/bugs/1502781 Signed-off-by: Dmitry Tunin <hanipouspilot@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2faf71ce90782d02e1710c12a19a2084fbbec5cc Author: Santtu Rekilä <sare@xxxxxxxxxx> Date: Mon Oct 5 15:45:27 2015 +0300 Bluetooth: btusb: Add support for Foxconn/Lenovo BCM43142A0 (105b:e065) Recently salvaged this 'BCM43142A0' WiFi/Bluetooth module from a Lenovo laptop and noticed it doesn't work automatically, because the USB IDs are missing from btusb.c. Plugging in the adapter on Linux 4.1 (dmesg): usb 3-3.3.3: new full-speed USB device number 90 using xhci_hcd usb 3-3.3.3: New USB device found, idVendor=105b, idProduct=e065 usb 3-3.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 3-3.3.3: Product: BCM43142A0 usb 3-3.3.3: Manufacturer: Broadcom Corp usb 3-3.3.3: SerialNumber: 0090A286559E /sys/kernel/debug/usb/devices: T: Bus=03 Lev=03 Prnt=22 Port=02 Cnt=02 Dev#= 90 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=105b ProdID=e065 Rev= 1.12 S: Manufacturer=Broadcom Corp S: Product=BCM43142A0 S: SerialNumber=0090A286559E C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) 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=ff(vend.) Sub=01 Prot=01 Driver=(none) E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) Support for the chipset was added in commit 88f9b65 and a similar BCM43142 based device was added in commit 8f0c304. To work around the issue, I got the firmware (BCM43142A0_001.001.011.0122.0153) off a Windows installation of Broadcom bluetooth driver and converted it to a .hcd -file via. hex2hcd and placed it in /lib/firmware/brcm/BCM.hcd. After that: $ echo "105b e065 0 19ff 0239" > /sys/bus/usb/drivers/btusb/new_id ...(plug in the adapter) usb 3-3.3.3: new full-speed USB device number 91 using xhci_hcd usb 3-3.3.3: New USB device found, idVendor=105b, idProduct=e065 usb 3-3.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 3-3.3.3: Product: BCM43142A0 usb 3-3.3.3: Manufacturer: Broadcom Corp usb 3-3.3.3: SerialNumber: 0090A286559E Bluetooth: hci0: BCM: chip id 70 Bluetooth: hci0: BCM (001.001.011) build 0000 bluetooth hci0: firmware: direct-loading firmware brcm/BCM.hcd Bluetooth: hci0: BCM (001.001.011) build 0154 Bam, now it works for me! /sys/kernel/debug/usb/devices: T: Bus=03 Lev=03 Prnt=22 Port=02 Cnt=02 Dev#= 92 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=105b ProdID=e065 Rev= 1.12 S: Manufacturer=Broadcom Corp S: Product=BCM43142A0 S: SerialNumber=0090A286559E C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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 I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) Signed-off-by: Santtu Rekilä <sare@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 660f0fc07d21114549c1862e67e78b1cf0c90c29 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Mon Sep 7 12:05:41 2015 +0200 Bluetooth: hidp: fix device disconnect on idle timeout The HIDP specs define an idle-timeout which automatically disconnects a device. This has always been implemented in the HIDP layer and forced a synchronous shutdown of the hidp-scheduler. This works just fine, but lacks a forced disconnect on the underlying l2cap channels. This has been broken since: commit 5205185d461d5902325e457ca80bd421127b7308 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Sat Apr 6 20:28:47 2013 +0200 Bluetooth: hidp: remove old session-management The old session-management always forced an l2cap error on the ctrl/intr channels when shutting down. The new session-management skips this, as we don't want to enforce channel policy on the caller. In other words, if user-space removes an HIDP device, the underlying channels (which are *owned* and *referenced* by user-space) are still left active. User-space needs to call shutdown(2) or close(2) to release them. Unfortunately, this does not work with idle-timeouts. There is no way to signal user-space that the HIDP layer has been stopped. The API simply does not support any event-passing except for poll(2). Hence, we restore old behavior and force EUNATCH on the sockets if the HIDP layer is disconnected due to idle-timeouts (behavior of explicit disconnects remains unmodified). User-space can still call getsockopt(..., SO_ERROR, ...) ..to retrieve the EUNATCH error and clear sk_err. Hence, the channels can still be re-used (which nobody does so far, though). Therefore, the API still supports the new behavior, but with this patch it's also compatible to the old implicit channel shutdown. Cc: <stable@xxxxxxxxxxxxxxx> # 3.10+ Reported-by: Mark Haun <haunma@xxxxxxxxx> Reported-by: Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 34cea41e84d5e87a0bd4d5388adab58d0cbc9532 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 18 22:48:28 2015 +0200 Bluetooth: btbcm: Read USB product information for Apple devices For the Apple Bluetooth devices, read the USB product information and print them. This allows for easy mapping of chip and USB details. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8045ce2197bf61b5b82bbe38fcc5feeaf7348ad1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 18 22:37:56 2015 +0200 Bluetooth: btbcm: Fix firmware version number calculation The calculation for the firmware version number is off by one bit. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6c9d435d359898868f71e8ba03f8d5f1cbccaa69 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Oct 17 14:39:27 2015 +0200 Bluetooth: btusb: Mark BCM2045 devices to have broken link key commands The BCM2045 seems to have a problem with the stored link key commands and thus just mark them as broken. HCI Event: Command Complete (0x0e) plen 12 Read Local Supported Features (0x04|0x0003) ncmd 1 status 0x00 Features: 0xff 0xff 0x8d 0xfe 0x8f 0xf9 0x00 0x80 HCI Event: Command Complete (0x0e) plen 12 Read Local Version Information (0x04|0x0001) ncmd 1 status 0x00 HCI Version: 2.0 (0x3) HCI Revision: 0x2000 LMP Version: 2.0 (0x3) LMP Subversion: 0x410d Manufacturer: Broadcom Corporation (15) HCI Event: Command Complete (0x0e) plen 11 Read Buffer Size (0x04|0x0005) ncmd 1 status 0x00 ACL MTU 1017:8 SCO MTU 64:0 HCI Event: Command Complete (0x0e) plen 68 Read Local Supported Commands (0x04|0x0002) ncmd 1 status 0x00 Commands: ffffff03feffcfffffffffff0300f8ff07 HCI Event: Command Complete (0x0e) plen 4 Delete Stored Link Key (0x03|0x0012) ncmd 1 status 0x11 deleted 2048 Error: Unsupported Feature or Parameter Value From the looks of it, this device seems genuine and not one of the devices that are neither Broadcom nor CSR devices in reality. T: Bus=04 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0a5c ProdID=2045 Rev= 1.12 S: Manufacturer=Broadcom Corp S: Product=BCM2045A S: SerialNumber=000000000000 C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA 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 I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none) Reported-and-tested-by: Julio González MejÃas <juliolokooo@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 3e24767b78744c7f335ca8c485ab0a0dcec693ec Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Oct 17 16:00:28 2015 +0200 Bluetooth: btintel: Add diagnostic support for older controllers For the older controllers like Wilkens Peak and Stone Peak, enabling the traces requires to switch into manufacturer mode first. This patch does exactly that, but only for these older controllers. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d8270fbb3ffe9a29d81bdaa66c81ef021ba09651 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Oct 17 16:00:27 2015 +0200 Bluetooth: btintel: Set quirk for non-persistent diagnostic settings For Intel controllers the diagnostics settings are not persistent over HCI Reset. So set the quirk to programm them again on every power up. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7e995b9eadbe226e355b785a765fd90fe0487414 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Oct 17 16:00:26 2015 +0200 Bluetooth: Add new quirk for non-persistent diagnostic settings If the diagnostic settings are not persistent over HCI Reset, then this quirk can be used to tell the Bluetoth core about it. This will ensure that the settings are programmed correctly when the controller is powered up. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7841d06e4398cff7d744539d1e6ea4026ceab2e5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sat Oct 17 00:03:38 2015 +0200 Bluetooth: bpa10x: fix BT_HCIUART dependency The change to bpa10x to use the h4_recv_buf helper added a dependency on BT_HCIUART. This was incorrectly added to Kconfig by adding a 'select' statement, which now in turn causes build failures when CONFIG_TTY is not set: warning: (BT_HCIBPA10X) selects BT_HCIUART which has unmet direct dependencies (NET && BT && TTY) vers/built-in.o: In function `hci_uart_tty_receive': fpga-mgr.c:(.text+0x282824): undefined reference to `tty_unthrottle' drivers/built-in.o: In function `hci_uart_tty_ioctl': fpga-mgr.c:(.text+0x282aa0): undefined reference to `n_tty_ioctl_helper' drivers/built-in.o: In function `hci_uart_flush': This replaces the 'select BT_HCIUART' dependency with 'depends on', which does not have this kind of problem. Alternatively, one could add 'depends on TTY', but avoiding 'select' on user-visible options is generally the preferred choice as that does not introduce the potential for dependency loops or incomplete dependency chains. Fixes: 91489919247a ("Bluetooth: bpa10x: Fix missing BT_HCIUART dependency") Fixes: 943cc592195e ("Bluetooth: bpa10x: Use h4_recv_buf helper for frame reassembly") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2220994e7187c15848c00c7d9dab632969533396 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Oct 13 13:54:55 2015 +0200 Bluetooth: btusb: Print information of Intel SfP lock states The lock states from Intel SfP controllers can only be read once before loading the firmware. So for debugging purposes, print them out. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit cad20c278085d893ebd616cd20c0747a8e9d53c7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Oct 12 13:36:19 2015 +0200 Bluetooth: Don't use remote address type to decide IRK persistency There are LE devices on the market that start off by announcing their public address and then once paired switch to using private address. To be interoperable with such devices we should simply trust the fact that we're receiving an IRK from them to indicate that they may use private addresses in the future. Instead, simply tie the persistency to the bonding/no-bonding information the same way as for LTKs and CSRKs. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 581d6fd60f37be587690655de05aee200b939e06 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Oct 9 16:13:51 2015 +0200 Bluetooth: Queue diagnostic messages together with HCI packets Sending diagnostic messages directly to the monitor socket might cause issues for devices processing their messages in interrupt context. So instead of trying to directly forward them, queue them up with the other HCI packets and lets them be processed by the sockets at the same time. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit bb77543ebd2e38c08412fec7eb1e35b902c5ff77 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Oct 9 16:13:50 2015 +0200 Bluetooth: Restrict valid packet types via HCI_CHANNEL_RAW When using the HCI_CHANNEL_RAW, restrict the packet types to valid ones from the Bluetooth specification. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8cd4f581427213e086fca601bb9d8c7ea9cfeabc Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Oct 9 16:13:49 2015 +0200 Bluetooth: Remove quirk for HCI_VENDOR_PKT filter handling The HCI_VENDOR_PKT quirk was needed for BPA-100/105 devices that send these messages. Now that there is support for proper diagnostic channel this quirk is no longer needed. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6d2e50d24098b1f80ad76db9a9cb9668c4bf6b50 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Oct 9 14:42:08 2015 +0200 Bluetooth: btintel: Add support for enabling tracing functionality For Intel controllers with firmware that allows tracing of baseband functionality this allows enabling it via set_diag driver callback. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 9d08f50401ac7eb32e3c9ae8c4c0a61c6b107fd1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 20:23:08 2015 +0200 Bluetooth: btusb: Add support for Broadcom LM_DIAG interface The Broadcom Bluetooth USB devices have a third interface that is dedicated for LM_DIAG messages. The If#= 2 describes this interface and it consists of one bulk in and one bulk endpoint. T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 38 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=19ff ProdID=0239 Rev= 1.12 S: Manufacturer=Broadcom Corp S: Product=BCM20702A0 C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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 I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=btusb E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none) For all Broadcom based devices with this interface, the driver now claims it and schedules URBs for it. This allows to capture the LM_DIAG messages and allows forwarding them via hci_recv_diag into the diagnostic channel of the Bluetooth subsystem. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 91489919247a48ce02686520eca25e9c9200dc6f Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 19:30:05 2015 +0200 Bluetooth: bpa10x: Fix missing BT_HCIUART dependency Selecting just BT_HCIUART_H4 is not enough and it also needs to select BT_HCIUART to avoid this warning: warning: (BT_HCIBPA10X) selects BT_HCIUART_H4 which has unmet direct dependencies (NET && BT && BT_HCIUART) Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 3ba009297149fa45956c33ab5de7c5f4da1f28b8 Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 29 19:46:14 2015 +0300 ftrace: Introduce ftrace_glob structure ftrace_match parameters are very related and I reduce the number of local variables & parameters with it. This is also preparation for module globbing as it would introduce more realated variables & parameters. Link: http://lkml.kernel.org/r/1443545176-3215-3-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> [ Made some formatting changes ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 681ab4696062f5aa939c9e04d058732306a97176 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Oct 20 12:09:13 2015 -0400 md/raid10: submit_bio_wait() returns 0 on success This was introduced with 9e882242c6193ae6f416f2d8d8db0d9126bd996b which changed the return value of submit_bio_wait() to return != 0 on error, but didn't update the caller accordingly. Fixes: 9e882242c6 ("block: Add submit_bio_wait(), remove from md") Cc: stable@xxxxxxxxxxxxxxx (v3.10) Reported-by: Bill Kuzeja <William.Kuzeja@xxxxxxxxxxx> Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 203d27b0226a05202438ddb39ef0ef1acb14a759 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Oct 20 12:09:12 2015 -0400 md/raid1: submit_bio_wait() returns 0 on success This was introduced with 9e882242c6193ae6f416f2d8d8db0d9126bd996b which changed the return value of submit_bio_wait() to return != 0 on error, but didn't update the caller accordingly. Fixes: 9e882242c6 ("block: Add submit_bio_wait(), remove from md") Cc: stable@xxxxxxxxxxxxxxx (v3.10) Reported-by: Bill Kuzeja <William.Kuzeja@xxxxxxxxxxx> Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit bc1d03687b9be3a30aab8e8d78c7884449b6e511 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Oct 9 06:59:23 2015 -0400 perf cpu_map: Fix core dump caused by per-socket/core system-wide stat Perf will core dump if --per-socket/core -a are applied for perf stat. The root cause is that cpu_map__build_map set refcnt of evlist's cpu_map to 1. It should set refcnt for the newly created cpu_map, not evlist's cpu_map. Here is the example: # perf stat -e cycles --per-socket -a sleep 1 Performance counter stats for 'system wide': S0 36 30,196,257 cycles S1 28 15,823,536 cycles 1.001126828 seconds time elapsed *** Error in `./perf': corrupted double-linked list: 0x00000000021f9090 *** ======= Backtrace: ========= /lib64/libc.so.6[0x3002e7bbe7] /lib64/libc.so.6[0x3002e7d2b5] ./perf(perf_evsel__delete+0x28)[0x485bdd] ./perf[0x4800e8] ./perf(perf_evlist__delete+0x5e)[0x482cd5] ./perf(cmd_stat+0xf25)[0x432328] ./perf[0x4768e0] ./perf[0x476ad6] ./perf[0x476b41] ./perf(main+0x1d0)[0x476db2] /lib64/libc.so.6(__libc_start_main+0xf5)[0x3002e21b45] ./perf[0x4202c5] Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444388363-35936-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2f465deef7ce8c722121b782dd91c284f5ae80ca Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Oct 1 12:28:11 2015 +0200 tools lib traceevent: update KVM plugin The format of the role word has changed through the years and the plugin was never updated; some VMX exit reasons were missing too. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: kvm@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443695293-31127-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9d0c3c682033d3f10ac1ad8e72ca0c1b48063409 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Oct 12 11:25:44 2015 +0200 clk: shmobile: Add r8a7795 CPG Core Clock Definitions Add all R-Car H3 Clock Pulse Generator Core Clock Outputs, as listed in Table 8.2a ("List of Clocks [R-Car H3]") of the R-Car Gen3 datasheet (rev. 0.5E). Note that internal CPG clocks (S0, S1, S2, S3, SDSRC, SSPSRC, and RPCSRC) are not included, as they're used as internal clock sources only. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Reviewed-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> commit 3686d3e7d6e65e9d0b6405713ba25e593c34abb7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Oct 12 11:05:24 2015 +0200 clk: shmobile: Add new Renesas CPG/MSSR DT bindings On Renesas ARM SoCs (SH/R-Mobile, R-Car, RZ), the CPG (Clock Pulse Generator) and MSSR (Module Standby and Software Reset) blocks are intimately connected, and share the same register block. Hence it makes sense to describe these two blocks using a single device node in DT, instead of using a hierarchical structure with multiple nodes, using a mix of generic and SoC-specific bindings. These new DT bindings are intended to replace the existing DT bindings for CPG core clocks ("renesas,*-cpg-clocks", "renesas,cpg-div6-clock") and module clocks ("renesas,*-mstp-clocks"), at least for new SoCs. This will make it easier to add module reset support later, which is currently not implemented, and difficult to achieve using the existing bindings due to the intertwined register layout. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Reviewed-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> commit 67f8cf3cee6f398d05de8333c04fea2ddb59c805 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Oct 15 11:34:49 2015 -0700 f2fs: support fiemap for inline_data There is a FIEMAP_EXTENT_INLINE_DATA, pointed out by Marc. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1d373a0ef7a7bc08f95ca820c627e961fb21e188 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 19 10:29:51 2015 -0700 f2fs: flush dirty data for bmap Users expect bmap will give allocated block addresses. Let's play likewise ext4. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5d170139eb10ae12e1bd076245c42b35453d8324 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Oct 18 13:05:40 2015 +0200 vga_switcheroo: Constify vga_switcheroo_handler vga_switcheroo_client_ops has always been declared const since its introduction with 26ec685ff9d9 ("vga_switcheroo: Introduce struct vga_switcheroo_client_ops"). Do so for vga_switcheroo_handler as well. drivers/gpu/drm/amd/amdgpu/amdgpu.ko: 6 .rodata 00009888 - 19 .data 00001f00 + 19 .data 00001ee0 drivers/gpu/drm/nouveau/nouveau.ko: 6 .rodata 000460b8 17 .data 00018fe0 drivers/gpu/drm/radeon/radeon.ko: - 7 .rodata 00030944 + 7 .rodata 00030964 - 21 .data 0000d6a0 + 21 .data 0000d678 drivers/platform/x86/apple-gmux.ko: - 7 .rodata 00000140 + 7 .rodata 00000160 - 11 .data 000000e0 + 11 .data 000000b8 Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx>. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab3964ad2acfbb0dc5414d4c86fa6d8d690f27a1 Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Tue Oct 20 09:53:01 2015 +0300 IB/cma: Use inner P_Key to determine netdev When discussing the patches to demux ids in rdma_cm instead of ib_cm, it was decided that it is best to use the P_Key value in the packet headers. However, the mlx5 and ipath drivers are currently unable to send correct P_Key values in GMP headers. They always send using a single P_Key that is set during the GSI QP initialization. Change the rdma_cm code to look at the P_Key value that is part of the packet payload as a workaround. Once the drivers are fixed this patch can be reverted. Fixes: 4c21b5bcef73 ("IB/cma: Add net_dev and private data checks to RDMA CM") Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 79f5b6ae960d380c829fb67d5dadcd1d025d2775 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 19 04:17:30 2015 -0200 [media] c8sectpfe: Remove select on CONFIG_FW_LOADER_USER_HELPER_FALLBACK c8sectpfe driver selects CONFIG_FW_LOADER_USER_HELPER_FALLBACK by some reason, but this option is known to be harmful, leading to minutes of stalls at boot time. The option was intended for only compatibility for an old exotic system that mandates the udev interaction, and not a thing a driver selects by itself. Let's remove it. Fixes: 850a3f7d5911 ('[media] c8sectpfe: Add Kconfig and Makefile for the driver') Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eab2b7612d2bce0b06873e24899a8455a04bb915 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Oct 16 06:13:01 2015 -0300 [media] DocBook media: update copyright/version numbers - Update the copyright year to 2015 in media_api.tmpl. - Main version number of the spec updated to 4.4. - Version 3.21 was used for one changelog, this should be 4.1. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 520e82d44b6d74d35d296ba6ceb990552ce9fb82 Author: Jan Kara <jack@xxxxxxx> Date: Tue Oct 6 06:24:30 2015 -0300 [media] ivtv: Convert to get_user_pages_unlocked() Convert ivtv_yuv_prep_user_dma() to use get_user_pages_unlocked() so that we don't unnecessarily leak knowledge about mm locking into drivers code. CC: Andy Walls <awalls@xxxxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 759b26a1d916400a1a20948eb964dea6ad0bd9e9 Author: Antonio Ospite <ao2@xxxxxx> Date: Wed Oct 14 10:57:32 2015 -0300 [media] media/v4l2-ctrls: fix setting autocluster to manual with VIDIOC_S_CTRL Since commit 5d0360a4f027576e5419d4a7c711c9ca0f1be8ca it's not possible anymore to set auto clusters from auto to manual using VIDIOC_S_CTRL. For example, setting autogain to manual with gspca/ov534 driver and this sequence of commands does not work: v4l2-ctl --set-ctrl=gain_automatic=1 v4l2-ctl --list-ctrls | grep gain_automatic # The following does not work v4l2-ctl --set-ctrl=gain_automatic=0 v4l2-ctl --list-ctrls | grep gain_automatic Changing the value using VIDIOC_S_EXT_CTRLS (like qv4l2 does) works fine. The apparent cause by looking at the changes in 5d0360a and comparing with the code path for VIDIOC_S_EXT_CTRLS seems to be that the code in v4l2-ctrls.c::set_ctrl() is not calling user_to_new() anymore after calling update_from_auto_cluster(master). However the root cause of the problem is that calling update_from_auto_cluster(master) overrides also the _master_ control state calling cur_to_new() while it was supposed to only update the volatile controls. Calling user_to_new() after update_from_auto_cluster(master) was just masking the original bug by restoring the correct new value of the master control before making the changes permanent. Fix the original bug by making update_from_auto_cluster() not override the new master control value. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.17 and up Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b2df45531619508a722cdafac2bde3ca2f8ae9e5 Author: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxxx> Date: Tue Oct 13 11:17:39 2015 -0300 [media] DocBook media: Fix a typo in encoder cmd A copy-paste from DECODER_CMD : replace decoded by encoded. 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 c7c1d5a5dea80d908fa9a7945424d872b3588757 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:09 2015 -0300 [media] DocBook: add SDR specific info to G_MODULATOR / S_MODULATOR Add SDR specific notes to G_MODULATOR / S_MODULATOR documentation. Signed-off-by: Antti Palosaari <crope@xxxxxx> [hans.verkuil@xxxxxxxxx: add quotes in "The term 'modulator'"] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f9b4376c82a81943fc196709315dfe554774286a Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:08 2015 -0300 [media] DocBook: add SDR specific info to G_TUNER / S_TUNER Add SDR specific notes to G_TUNER / S_TUNER documentation. Add V4L2_TUNER_SDR and V4L2_TUNER_RF to supported tuner types to table. Signed-off-by: Antti Palosaari <crope@xxxxxx> [hans.verkuil@xxxxxxxxx: add quotes in "The term 'tuner'"] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 36c6326c5c22054605b0425a1896542a4222d7d6 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:07 2015 -0300 [media] hackrf: do not set human readable name for formats Format names are set by core nowadays. Remove name from driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8bc4a9ed85046c214458c9e82aea75d2f46cfffd Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:06 2015 -0300 [media] hackrf: add support for transmitter HackRF SDR device has both receiver and transmitter. There is limitation that receiver and transmitter cannot be used at the same time (half-duplex operation). That patch implements transmitter support to existing receiver only driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> [hans.verkuil@xxxxxxxxx: fix krobot unused variable warning] [hans.verkuil@xxxxxxxxx: add back s_modulator from PATCHv4] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eec20f0654a45c43b303a2f386c654c4171d9f6e Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:05 2015 -0300 [media] hackrf: switch to single function which configures everything Implement single funtion, hackrf_set_params(), which handles all needed settings. Controls and other IOCTLs are just wrappers to that function. That way we can get easily better control what we could do on different device states - sleeping, receiving, transmitting. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b3ae29667e22921b8bd8ba84bf719a240f303aa2 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:04 2015 -0300 [media] hackrf: add control for RF amplifier There is Avago MGA-81563 amplifier just right after antenna connector. It could be turned on/off and its gain is around 12dB. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 486dc9e59fd0ab6c674432f3d57721d1521bc17d Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:03 2015 -0300 [media] DocBook: add modulator type field Add new modulator type field to documentation. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4124a3c4abcf3c37d2445ff9a936a2d08988e01a Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:02 2015 -0300 [media] v4l: add type field to v4l2_modulator struct Add type field to that struct like it counterpart v4l2_tuner already has. We need type field to distinguish different tuner types from each others for transmitter too. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit be8ee526fb0b91681fb02d69d2a642a6ec2f2377 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:01 2015 -0300 [media] DocBook: document SDR transmitter Add documentation for V4L SDR transmitter (output) devices. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9effc72fd71b6e8fd2676bcb57fac3f05ab93043 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:51:00 2015 -0300 [media] v4l2: add support for SDR transmitter New IOCTL ops: vidioc_enum_fmt_sdr_out vidioc_g_fmt_sdr_out vidioc_s_fmt_sdr_out vidioc_try_fmt_sdr_out New vb2 buffertype: V4L2_BUF_TYPE_SDR_OUTPUT New v4l2 capability: V4L2_CAP_SDR_OUTPUT Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b2411b93cdcb5cb154827b8fcd2f436dd0ddab73 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:50:59 2015 -0300 [media] DocBook: document tuner RF gain control Add brief description for tuner RF gain control. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 41018cb84a9ed440db1508d67d9dd4084d5460eb Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:50:58 2015 -0300 [media] v4l2: add RF gain control Add new RF tuner gain control named RF Gain. That is aimed for first amplifier chip right after antenna connector. There is existing LNA Gain control, which is quite same, but it is aimed for cases amplifier is integrated to tuner chip. Some designs have both, as almost all recent tuner silicons has integrated LNA/RF amplifier in any case. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0174b381caf89443d92c6fe75f725f2bfeba96b6 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Sep 17 16:04:19 2015 -0400 IB/ucma: check workqueue allocation before usage Allocating a workqueue might fail, which wasn't checked so far and would lead to NULL ptr derefs when an attempt to use it was made. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f3c3ecec97c24cf0e53bb61ee85698acc00bcd68 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Oct 10 13:50:57 2015 -0300 [media] v4l2: rename V4L2_TUNER_ADC to V4L2_TUNER_SDR SDR receiver has ADC (Analog-to-Digital Converter) and SDR transmitter has DAC (Digital-to-Analog Converter). Originally I though it could be good idea to have own type for receiver and transmitter, but now I feel one common type for SDR is enough. So lets rename it. Signed-off-by: Antti Palosaari <crope@xxxxxx> Acked-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: this was added in 4.4, so update 4.2 to 4.4] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eda98796aff0d9bf41094b06811f5def3b4c333c Author: Salva Peiró <speirofr@xxxxxxxxx> Date: Wed Oct 7 07:09:26 2015 -0300 [media] media/vivid-osd: fix info leak in ioctl The vivid_fb_ioctl() code fails to initialize the 16 _reserved bytes of struct fb_vblank after the ->hcount member. Add an explicit memset(0) before filling the structure to avoid the info leak. Signed-off-by: Salva Peiró <speirofr@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3c5be988e0b6a2f368e1659083b39e1f7ac909aa Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Oct 6 06:37:49 2015 -0300 [media] media: videobuf2: Move v4l2-specific stuff to videobuf2-v4l2 Move v4l2-specific stuff from videobu2-core to videobuf2-v4l2 without doing any functional changes. Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b3b51f9f6f5d91cd16afaed0c22df2c56ed5f92e Author: Haggai Eran <haggaie@xxxxxxxxxxxx> Date: Mon Sep 21 16:02:02 2015 +0300 IB/cma: Potential NULL dereference in cma_id_from_event If the lookup of a listening ID failed for an AF_IB request, the code would try to call dev_put() on a NULL net_dev. Fixes: be688195bd08 ("IB/cma: Fix net_dev reference leak with failed requests") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit f6aad2615c8c4ed806e70693adacb6c93f13564a Author: Michal Sojka <sojkam1@xxxxxxxxxxx> Date: Mon Oct 19 16:51:02 2015 +0200 kconfig: Fix copy&paste error Fixes: 31847b67bec0 ("kconfig: allow use of relations other than (in)equality") Signed-off-by: Michal Sojka <sojkam1@xxxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit b0e0e1f83de31aa0428c38b692c590cc0ecd3f03 Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Oct 6 06:37:48 2015 -0300 [media] media: videobuf2: Prepare to divide videobuf2 Prepare to divide videobuf2 - Separate vb2 trace events from v4l2 trace event. - Make wrapper functions that will move to v4l2-side. - Make vb2_core_* functions that will remain in core-side. - Add a callback function table for buffer operation which makes vb2-core to be able to invoke a v4l2-side functions. - Rename internal functions as vb2_*. Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3909642034ffd7a8906ff3f2b2a71455bf39e7f6 Author: Matan Barak <matanb@xxxxxxxxxxxx> Date: Thu Oct 15 15:01:03 2015 +0300 IB/core: Fix use after free of ifa When using ifup/ifdown while executing enum_netdev_ipv4_ips, ifa could become invalid and cause use after free error. Fixing it by protecting with RCU lock. Fixes: 03db3a2d81e6 ('IB/core: Add RoCE GID table management') Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit bed04f9342473743fc96b71c3130f645c718bd47 Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Oct 6 06:37:47 2015 -0300 [media] media: videobuf2: Replace v4l2-specific data with vb2 data Simple changes that replace v4l2-specific data with vb2 data in videobuf2-core. enum v4l2_buf_type --> int enum v4l2_memory --> enum vb2_memory VIDEO_MAX_FRAME --> VB2_MAX_FRAME VIDEO_MAX_PLANES --> VB2_MAX_PLANES struct v4l2_fh *owner --> void *owner V4L2_TYPE_IS_MULTIPLANAR() --> is_multiplanar V4L2_TYPE_IS_OUTPUT() --> is_output Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 33119e80c3b96ac81912677a6e86dc1890a5859f Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Oct 6 06:37:46 2015 -0300 [media] media: videobuf2: Change queue_setup argument Replace struct v4l2_format * with void * to make queue_setup() for common use. And then, modify all device drivers related with this change. Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> [hans.verkuil@xxxxxxxxx: fix missing const in fimc-lite.c] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4d0b0ed636601691460adee0a953a03e4cdcbbe0 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Oct 7 07:13:45 2015 -0300 [media] s5p-mfc: use MFC_BUF_FLAG_EOS to identify last buffers in decoder capture queue MFC driver never delivered EOS event to apps feeding constantly its capture buffer with fresh buffers. The patch fixes it by marking last buffers returned by MFC with MFC_BUF_FLAG_EOS flag and firing EOS event on de-queuing such buffers. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 96c57776cd375ae19eff28f3c8dda4f42b6146e2 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Wed Oct 7 07:15:31 2015 -0300 [media] s5p-mfc: end-of-stream handling for newer encoders MFC encoder supports end-of-stream handling for encoder in version 5 of hardware. This patch adds it also for newer version. It was successfully tested on MFC-v8. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f6375eafeb0fac0a32e88eb6e5984faf9648fe81 Author: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Date: Fri Oct 2 06:00:17 2015 -0300 [media] s5p-mfc: fix spelling errors This patch fixes spelling errors in mfc encoder. inavild -> invaild Signed-off-by: Ingi Kim <ingi2.kim@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 418dae2276065680bde7ae27d2c075e612a54de6 Author: Tiffany Lin <tiffany.lin@xxxxxxxxxxxx> Date: Thu Sep 24 06:02:36 2015 -0300 [media] media: vb2 dma-sg: Fully cache synchronise buffers in prepare and finish In videobuf2 dma-sg memory types the prepare and finish ops, instead of passing the number of entries in the original scatterlist as the "nents" parameter to dma_sync_sg_for_device() and dma_sync_sg_for_cpu(), the value returned by dma_map_sg() was used. Albeit this has been suggested in comments of some implementations (which have since been corrected), this is wrong. Fixes: d790b7eda953 ("vb2-dma-sg: move dma_(un)map_sg here") Cc: stable@xxxxxxxxxxxxxxx # for v3.19 and up Signed-off-by: Tiffany Lin <tiffany.lin@xxxxxxxxxxxx> Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d9a985883fa32453d099d6293188c11d75cef1fa Author: Tiffany Lin <tiffany.lin@xxxxxxxxxxxx> Date: Thu Sep 24 06:02:36 2015 -0300 [media] media: vb2 dma-contig: Fully cache synchronise buffers in prepare and finish In videobuf2 dma-contig memory type the prepare and finish ops, instead of passing the number of entries in the original scatterlist as the "nents" parameter to dma_sync_sg_for_device() and dma_sync_sg_for_cpu(), the value returned by dma_map_sg() was used. Albeit this has been suggested in comments of some implementations (which have since been corrected), this is wrong. Fixes: 199d101efdba ("v4l: vb2-dma-contig: add prepare/finish to dma-contig allocator") Cc: stable@xxxxxxxxxxxxxxx # for v3.8 and up Signed-off-by: Tiffany Lin <tiffany.lin@xxxxxxxxxxxx> Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f06d89028b35c938f9f7551e03f400037f0da82c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Jul 30 13:18:49 2015 -0300 [media] smiapp: 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: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e9a267702d32fc8e71abe5f172d2924bad86e52f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 19 17:34:21 2015 +0200 ARM: dts: am335x-base0033: Use IOPAD pinmux macro Use the AM33XX pinmux IOPAD macro to define the physical address instead of the offset from the padconf address. It makes the DTS easier to read since matches the addresses listed in the Technical Reference Manual. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8a3ecb217f11884890d81c9440087c0765606daf Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 19 17:34:20 2015 +0200 ARM: dts: am335x-igep0033: Use IOPAD pinmux macro Use the AM33xx pinmux IOPAD macro to define the physical address instead of the offset from the padconf address. It makes the DTS easier to read since matches the addresses listed in the Technical Reference Manual. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fd20719443e420d09e2813d7c7b582e229f3cbdc Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 19 17:34:19 2015 +0200 ARM: dts: omap3-igep0020: Use IOPAD pinmux macro Use the OMAP3 pinmux IOPAD macro to define the physical address instead of the offset from the padconf address. It makes the DTS easier to read since matches the addresses listed in the Technical Reference Manual. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f513d22c9cb09ff95a0c2d26e18940fbda50d6db Author: Vignesh R <vigneshr@xxxxxx> Date: Wed Oct 14 19:24:25 2015 +0530 ARM: dts: am437x-gp-evm: Add wakeup interrupt source for pixcir_i2c_ts On am437x-gp-evm, pixcir_i2c_ts can wakeup the system from low power state via pinctrl and IO daisy chain using generic wakeirq framework. With commit 3fffd1283927 ("i2c: allow specifying separate wakeup interrupt in device tree") i2c core allows optional wakeirq to be specified via device tree. Add wakeup irq entry to enable pixcir_i2c_ts to wake the system from low power state. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 56a31e549e007ad7ca623d99294af0eca8517bf8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Oct 14 12:00:30 2015 +0200 ARM: dts: Update Javier Martinez Canillas's email I see that people are still sending emails to my old address (that no longer exists) since is the one mentioned in the IGEP DTS. Replace it with my current email address to avoid this. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 625faa6a720d26fc0db9e20b48dc0dfe4c8d8ddf Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Oct 20 11:49:44 2015 +0100 clkdev: fix clk_add_alias() with a NULL alias device name clk_add_alias() was not correctly handling the case where alias_dev_name was NULL: rather than producing an entry with a NULL dev_id pointer, it would produce a device name of (null). Fix this. Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 2568999835d7 ("clkdev: add clkdev_create() helper") Reported-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 36958598b7acf690b514141122234b1c3b8e4282 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 21 20:23:51 2015 +0530 ARM: dts: dra72-evm: remove cpsw gpio hogging and add mode-gpios With the current implementation of GPIO hogging and with gpio-pcf857x is built as module, ethernet doesn't work on boot and doesn't throw any error/warning to user. Ethernet becomes operational when inserting gpio-pcf857x module, even this time there is no error/warning logs to user that ethernet is operational. When using with NFS rootfs and gpio-pcf857x as module, board doesn't boot as it doesn't get any ip address and doesn't throw any error/warning. To over come this, now cpsw driver tries to get mode-gpios. When gpio-pcf857x is built as module it will throw error, so that user can decide either to built in gpio-pcf857x to continue with nfs boot or choose alternate rootfs filesystem like sd/ramdisk. When using mmc/ramdisk as root fs, cpsw will probe defer and re-probes again when gpio-pcf857x module is inserted and ethernet becomes operational. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8c5ec4c7ec0b58658d0fab813b9aca420b85ebfa Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Oct 20 15:16:30 2015 +0100 i2c: stu300: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 598cf1611b2686243c011207d24aa38e09f1a115 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Oct 20 15:16:29 2015 +0100 i2c: rk3x: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 93ae965022bfcdde473a5ff09e48dff7c8dab08c Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Oct 20 15:16:28 2015 +0100 i2c: meson: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d695e22a27a958cb20f5b11df2692c13b15fc80e Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Oct 20 15:16:27 2015 +0100 i2c: ibm-iic: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c6f1891323e6a259c0b0f516a3a3e0f6b0ee2c5f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Oct 7 10:16:31 2015 +0200 i2c: rcar: Remove obsolete platform data support Since commit 4baadb9e05c68962 ("ARM: shmobile: r8a7778: remove obsolete setup code"), Renesas R-Car 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> [wsa: removed now unused ret value and cast to proper enum type] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7bb6da5a3d2dae725ed228a97dd65f82e3fbd934 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 15:18:26 2015 +0200 i2c: sh_mobile: add support for r8a7795 (R-Car H3) Enable the I2C core for this SoC. It is compitable to Gen2 SoCs, so reuse the settings. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0d997491f814c87310a6ad7be30a9049c7150489 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Oct 17 19:05:27 2015 +0200 arm/arm64: KVM: Fix disabled distributor operation We currently do a single update of the vgic state when the distributor enable/disable control register is accessed and then bypass updating the state for as long as the distributor remains disabled. This is incorrect, because updating the state does not consider the distributor enable bit, and this you can end up in a situation where an interrupt is marked as pending on the CPU interface, but not pending on the distributor, which is an impossible state to be in, and triggers a warning. Consider for example the following sequence of events: 1. An interrupt is marked as pending on the distributor - the interrupt is also forwarded to the CPU interface 2. The guest turns off the distributor (it's about to do a reboot) - we stop updating the CPU interface state from now on 3. The guest disables the pending interrupt - we remove the pending state from the distributor, but don't touch the CPU interface, see point 2. Since the distributor disable bit really means that no interrupts should be forwarded to the CPU interface, we modify the code to keep updating the internal VGIC state, but always set the CPU interface pending bits to zero when the distributor is disabled. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 544c572e03174438b6656ed24a4516b9a9d5f14a Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Oct 17 17:55:12 2015 +0200 arm/arm64: KVM: Clear map->active on pend/active clear When a guest reboots or offlines/onlines CPUs, it is not uncommon for it to clear the pending and active states of an interrupt through the emulated VGIC distributor. However, since the architected timers are defined by the architecture to be level triggered and the guest rightfully expects them to be that, but we emulate them as edge-triggered, we have to mimic level-triggered behavior for an edge-triggered virtual implementation. We currently do not signal the VGIC when the map->active field is true, because it indicates that the guest has already been signalled of the interrupt as required. Normally this field is set to false when the guest deactivates the virtual interrupt through the sync path. We also need to catch the case where the guest deactivates the interrupt through the emulated distributor, again allowing guests to boot even if the original virtual timer signal hit before the guest's GIC initialization sequence is run. Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit cff9211eb1a1f58ce7f5a2d596b617928fd4be0e Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Oct 16 12:41:21 2015 +0200 arm/arm64: KVM: Fix arch timer behavior for disabled interrupts We have an interesting issue when the guest disables the timer interrupt on the VGIC, which happens when turning VCPUs off using PSCI, for example. The problem is that because the guest disables the virtual interrupt at the VGIC level, we never inject interrupts to the guest and therefore never mark the interrupt as active on the physical distributor. The host also never takes the timer interrupt (we only use the timer device to trigger a guest exit and everything else is done in software), so the interrupt does not become active through normal means. The result is that we keep entering the guest with a programmed timer that will always fire as soon as we context switch the hardware timer state and run the guest, preventing forward progress for the VCPU. Since the active state on the physical distributor is really part of the timer logic, it is the job of our virtual arch timer driver to manage this state. The timer->map->active boolean field indicates whether we have signalled this interrupt to the vgic and if that interrupt is still pending or active. As long as that is the case, the hardware doesn't have to generate physical interrupts and therefore we mark the interrupt as active on the physical distributor. We also have to restore the pending state of an interrupt that was queued to an LR but was retired from the LR for some reason, while remaining pending in the LR. Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Reported-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4a5d69b73948d0e03cd38d77dc11edb2e707165f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 15:22:31 2015 +0200 KVM: arm: use GIC support unconditionally The vgic code on ARM is built for all configurations that enable KVM, but the parent_data field that it references is only present when CONFIG_IRQ_DOMAIN_HIERARCHY is set: virt/kvm/arm/vgic.c: In function 'kvm_vgic_map_phys_irq': virt/kvm/arm/vgic.c:1781:13: error: 'struct irq_data' has no member named 'parent_data' This flag is implied by the GIC driver, and indeed the VGIC code only makes sense if a GIC is present. This changes the CONFIG_KVM symbol to always select GIC, which avoids the issue. Fixes: 662d9715840 ("arm/arm64: KVM: Kill CONFIG_KVM_ARM_{VGIC,TIMER}") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 399ea0f6bcd318af94ec8e4ffe96703ed674f22e Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Tue Oct 6 11:14:35 2015 +0300 KVM: arm/arm64: Fix memory leak if timer initialization fails Jump to correct label and free kvm_host_cpu_state Reviewed-by: Wei Huang <wei@xxxxxxxxxx> Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 437f9963bc4fd75889c1fe9289a92dea9124a439 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Fri Sep 25 17:00:29 2015 +0300 KVM: arm/arm64: Do not inject spurious interrupts When lowering a level-triggered line from userspace, we forgot to lower the pending bit on the emulated CPU interface and we also did not re-compute the pending_on_cpu bitmap for the CPU affected by the change. Update vgic_update_irq_pending() to fix the two issues above and also raise a warning in vgic_quue_irq_to_lr if we encounter an interrupt pending on a CPU which is neither marked active nor pending. [ Commit text reworked completely - Christoffer ] Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit e7db0d34b38d56bbdb3d2d64c6233c53b77a3c6c Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 15:18:25 2015 +0200 i2c: rcar: add support for r8a7795 (R-Car H3) Enable the I2C core for this SoC. I add a new type because this version has new features (e.g. DMA) which will be added somewhen later. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ce7b8dbdded8552d1fd25cc9289da361c5cc765e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Oct 20 16:54:46 2015 +0800 ASoC: ssm2518: Drop .volatile_reg implementation The implementation of ssm2518_register_volatile always returns false, this behavior is the same as no .volatile_reg callback implementation when cache_type != REGCACHE_NONE. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 92b822a499607c32ce12ffd798a095babedc3202 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Oct 20 16:56:11 2015 +0800 ASoC: ad193x: Drop .volatile_reg implementation adau193x_reg_volatile() always return false. This seems pointless because current code uses REGCACHE_NONE cache_type which is supposed to be volatile. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f937b43d48f1080e39de723d15680b2ad5d7e6fd Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Oct 20 23:46:59 2015 +0900 ALSA: firewire-tascam: clear extra MIDI bytes in an asynchronous transaction When MIDI buffer stores two or more MIDI messages, TASCAM driver transfers asynchronous transactions including one MIDI message and extra bytes from second MIDI message. This commit fixes this bug by clearing needless bytes in the buffer. The consumed bytes are already calculated correctly, thus the sequence of transactions is already correct. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 123990e930ac1213df2dfa0e2d57cfc0e1dd5e02 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Oct 20 23:46:58 2015 +0900 ALSA: firewire-tascam: fix loop condition with some readable variables In transactions for MIDI messages, the first byte is used for label and the rest is for MIDI bytes. In current code, these are handled correctly, while there's a small mistake for loop condition to include meaningless statement. This commit adds two local variables for them and improve the loop condition. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b7ab614f301741ae3cb61fb6a90e290083d3b95d Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Oct 20 23:46:57 2015 +0900 ALSA: firewire-tascam: use better name for local variables to describe their intension In the callback function of asynchronous MIDI port, the intension of some local variables are not clear. This commit improves them. The 'len' variable is used to calculate the number of MIDI bytes including in the transaction. The 'consume' variable is used to return the actual number of consumed bytes in ALSA MIDI buffer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 516a30615635fdec6a298d7b7cedca1270bc641c Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Oct 20 23:46:56 2015 +0900 ALSA: firewire-tascam: change type of valiables according to function prototype In the callback function of asynchronous MIDI port, some local variables are declared 'unsigned int', while they're assigned to int value of return from snd_rawmidi_transmit_peek(). This commit fixes the type. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9f9c5617c8f7dfd1190c438894a8701db25f171f Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Tue Oct 20 23:46:55 2015 +0900 ALSA: firewire-tascam: remove buffer initialization in driver side The given buffer to callback function is cleared in caller side. This commit removes buffer initialization in callee side. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit eae14465de250be75021659789f138a70a553ac5 Merge: b30c645 88d909b Author: Michael Turquette <mturquette@xxxxxxxxxxxx> Date: Tue Oct 20 08:49:11 2015 -0700 Merge tag 'tegra-for-4.4-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into clk-next clk: tegra: Changes for v4.4-rc1 This contains a patch that allows the DFLL to use clock rates higher than 2^31-1 Hz by using the ->determine_rate() operation instead of the ->round_rate() operation. Other than that there's a couple of cleanups in preparation for Tegra210 support. commit b299167652fe58f1ebadb3e3ac84a5a0b74e534e Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Wed Oct 7 02:45:11 2015 +0300 i2c: ocores: support big-endian register layout This allows using OpenCores I2C controller attached to its host in native-endian mode with bi-endian CPUs. Example of such system is Xtensa XTFPGA platform. Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx> Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8a5e3d472e04a19a47de41cbe4856169ade11af2 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Tue Sep 8 08:56:23 2015 +0200 i2c: au1550: relax bus timings a bit The i2c-au1550 driver has to program various setup and hold times for the sda/scl signals by hand. The current values seem to be working best when the driver is supplied with 50MHz, however on the DB1300 board 48MHz is the closest we can get to it, and the timings are a bit too tight for that, leading to the last bit of a transmission sometimes being swallowed. This manifests itself in wrong readings of the ne1619 sensor and inability to configure the wm8731 i2s codec. With the relaxed timings, both the sensor and the i2s codec can now be accessed more reliably over a wider range of I2C block input frequencies. Verified on DB1200, DB1300 and DB1550 boards. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 26f590e674d3ecf7517148fdb62d2983469bd993 Author: Barry Song <21cnbao@xxxxxxxxx> Date: Mon Sep 7 03:08:55 2015 +0000 i2c: tegra: drop duplicated code for assigning algo This code is repeated in probe: i2c_dev->adapter.algo = &tegra_i2c_algo; Cc: Donglin Peng <pengdonglin137@xxxxxxx> Signed-off-by: Barry Song <21cnbao@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit a2d7629048322ae62bff57f34f5f995e25ed234c Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Oct 20 11:38:08 2015 -0400 tracing: Have stack tracer force RCU to be watching The stack tracer was triggering the WARN_ON() in module.c: static void module_assert_mutex_or_preempt(void) { #ifdef CONFIG_LOCKDEP if (unlikely(!debug_locks)) return; WARN_ON(!rcu_read_lock_sched_held() && !lockdep_is_held(&module_mutex)); #endif } The reason is that the stack tracer traces all function calls, and some of those calls happen while exiting or entering user space and idle. Some of these functions are called after RCU had already stopped watching, as RCU does not watch userspace or idle CPUs. If a max stack is hit, then the save_stack_trace() is called, which will check module addresses and call module_assert_mutex_or_preempt(), and then trigger the warning. Sad part is, the warning itself will also do a stack trace and tigger the same warning. That probably should be fixed. The warning was added by 0be964be0d45 "module: Sanitize RCU usage and locking" but this bug has probably been around longer. But it's unlikely to cause much harm, but the new warning causes the system to lock up. Cc: stable@xxxxxxxxxxxxxxx # 4.2+ Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc:"Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 5d52f482ebb7d0845e84cb235700061bc5682ada Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Oct 20 15:52:13 2015 +0100 iommu/vt-d: Fix SVM IOTLB flush handling Change the 'pages' parameter to 'unsigned long' to avoid overflow. Fix the device-IOTLB flush parameter calculation â?? the size of the IOTLB flush is indicated by the position of the least significant zero bit in the address field. For example, a value of 0x12345f000 will flush from 0x123440000 to 0x12347ffff (256KiB). Finally, the cap_pgsel_inv() is not relevant to SVM; the spec says that *all* implementations must support page-selective invaliation for "first-level" translations. So don't check for it. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 35780e860f7d4a5f33f6ceadf09038ee26f1ef43 Author: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Date: Mon Sep 14 11:03:50 2015 +0200 i2c: davinci: Optimize clock generation on Keystone SoC According to "KeyStone Architecture Inter-IC Control Bus User Guide", fixed additive part of frequency divisors (referred as "d" in the code and datasheet) always equals to 6, independent of module clock prescaler. module clock frequency master clock frequency = ---------------------- (ICCL + 6) + (ICCH + 6) It was not the case with original Davinci IP. Introduce new compatible property "ti,keystone-i2c", which triggers special handling in the driver. Without this change Keystone-based systems (having 204.8MHz input clock) choose prescaler 29 (PSC=28). Using d=5 in this case leads to bus bitrate ~353kHz instead of requested 400kHz. After correction, assuming d=6 bus rate is ~392kHz. This gives ~11% transfer rate increase. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxx> Reviewed-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Tested-by: Hemanth Guruva Reddy <hemanth.guruva_reddy@xxxxxxxxx> Tested-by: Lukasz Gemborowski <lukasz.gemborowski@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 064181b00e33c917145194247b4abcfa36ca06d7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:24:02 2015 +0300 i2c: ismt: issue a warning when fail to request MSI Issue the warning in all error paths when unable to register MSI or its handler. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6befa6dd8de73fd726f3b69b63e4aa7b17a25531 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:24:01 2015 +0300 i2c: ismt: propagate actual error code Propagate actual return code when requesting interrupt fails. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f92d155d3eb05e74380383450eb86ba995c8d766 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:24:00 2015 +0300 i2c: ismt: do not duplicate msi_enabled flag struct pci_dev already has a flag to track if MSI is enabled or not. Use it directly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit fb8918b2cf8741eef3972cbe70ab5dabd6ff67e7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:23:59 2015 +0300 i2c: ismt: PCI core handles power state for us There is no need to repeat the work that is already done in the PCI driver core. Remove suspend and resume callbacks. Note that there is no more calls performed to enable or disable a PCI device during suspend-resume cycle. Nowadays they seems to be superfluous. Someone can read more in [1]. [1] https://www.kernel.org/doc/ols/2009/ols2009-pages-319-330.pdf Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 600ca08023e33b6afe7ba65aebe419058e17eec7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:23:58 2015 +0300 i2c: ismt: improve usage of devres API pcim_release() will release any requested region. There is no need to duplicate this effort in the driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6109dbd618e5921eed6b4d09d48c0abc8cd508cd Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 16 17:24:03 2015 +0300 i2c: ismt: mark register space with __iomem This fixes the code to suppress sparse warnings like: drivers/i2c/busses/i2c-ismt.c:725:36: warning: incorrect type in argument 2 (different address spaces) drivers/i2c/busses/i2c-ismt.c:725:36: expected void volatile [noderef] <asn:2>*addr drivers/i2c/busses/i2c-ismt.c:725:36: got void * Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 166c2ba398640278ae6037be4aa5562c03cf3d24 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 7 13:18:44 2015 +0300 i2c / ACPI: Rework I2C device scanning The way we currently scan I2C devices behind an I2C host controller does not work in cases where the I2C device in question is not declared directly below the host controller ACPI node. This is perfectly legal according the ACPI 6.0 specification and some existing systems are doing this. To be able to enumerate all devices which are connected to a certain I2C host controller we need to rework the current I2C scanning routine a bit. Instead of scanning directly below the host controller we scan the whole ACPI namespace for present devices with valid I2cSerialBus() connection pointing to the host controller in question. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Tested-by: Dustin Byford <dustin@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 97aff2c03a1e4d343266adadb52313613efb027f Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 20 10:25:58 2015 +0100 ASoC: wm8904: Correct number of EQ registers There are 24 EQ registers not 25, I suspect this bug came about because the registers start at EQ1 not zero. The bug is relatively harmless as the extra register written is an unused one. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit f4aaa1c8a5c0e0a3fc565360df83965f3918c874 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 20 12:11:41 2015 +0300 spi: dw: remove a NULL check when call ->remove() Currently all users aware about calling dw_spi_remove_host() with properly set parameter. Remove unneeded check. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02f20387e1bca550639c37b1945f20cd32ddfcce Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 20 12:11:40 2015 +0300 spi: dw: explicitly free IRQ handler in dw_spi_remove_host() The following warning occurs when DW SPI is compiled as a module and it's a PCI device. On the removal stage pcibios_free_irq() is called earlier than free_irq() due to the latter is called at managed resources free strage. ------------[ cut here ]------------ WARNING: CPU: 1 PID: 1003 at /home/andy/prj/linux/fs/proc/generic.c:575 remove_proc_entry+0x118/0x150() remove_proc_entry: removing non-empty directory 'irq/38', leaking at least 'dw_spi1' Modules linked in: spi_dw_midpci(-) spi_dw [last unloaded: dw_dmac_core] CPU: 1 PID: 1003 Comm: modprobe Not tainted 4.3.0-rc5-next-20151013+ #32 00000000 00000000 f5535d70 c12dc220 f5535db0 f5535da0 c104e912 c198a6bc f5535dcc 000003eb c198a638 0000023f c11b4098 c11b4098 f54f1ec8 f54f1ea0 f642ba20 f5535db8 c104e96e 00000009 f5535db0 c198a6bc f5535dcc f5535df0 Call Trace: [<c12dc220>] dump_stack+0x41/0x61 [<c104e912>] warn_slowpath_common+0x82/0xb0 [<c11b4098>] ? remove_proc_entry+0x118/0x150 [<c11b4098>] ? remove_proc_entry+0x118/0x150 [<c104e96e>] warn_slowpath_fmt+0x2e/0x30 [<c11b4098>] remove_proc_entry+0x118/0x150 [<c109b96a>] unregister_irq_proc+0xaa/0xc0 [<c109575e>] free_desc+0x1e/0x60 [<c10957d2>] irq_free_descs+0x32/0x70 [<c109b1a0>] irq_domain_free_irqs+0x120/0x150 [<c1039e8c>] mp_unmap_irq+0x5c/0x60 [<c16277b0>] intel_mid_pci_irq_disable+0x20/0x40 [<c1627c7f>] pcibios_free_irq+0xf/0x20 [<c13189f2>] pci_device_remove+0x52/0xb0 [<c13f6367>] __device_release_driver+0x77/0x100 [<c13f6da7>] driver_detach+0x87/0x90 [<c13f5eaa>] bus_remove_driver+0x4a/0xc0 [<c128bf0d>] ? selinux_capable+0xd/0x10 [<c13f7483>] driver_unregister+0x23/0x60 [<c10bad8a>] ? find_module_all+0x5a/0x80 [<c1317413>] pci_unregister_driver+0x13/0x60 [<f80ac654>] dw_spi_driver_exit+0xd/0xf [spi_dw_midpci] [<c10bce9a>] SyS_delete_module+0x17a/0x210 Explicitly call free_irq() at removal stage of the DW SPI driver. Fixes: 04f421e7b0b1 (spi: dw: use managed resources) Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a204f41e2d670c07c4dbd382d5bd8f6db8347ac2 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Oct 20 14:37:27 2015 +0200 regulator: core: Factor out regulator_map_voltage _regulator_call_set_voltage has code to translate a minimum/maximum voltage pair into a selector. This code is useful for others aswell, so create a regulator_map_voltage function. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d289619a219dd01e255d7b5e30f9171b25efea48 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 20 16:23:55 2015 +0200 ALSA: hda - Fix deadlock at error in building PCM The HDA codec driver issues snd_hda_codec_reset() at the error path of PCM build. This was needed in the earlier code base, but the recent rewrite to use the standard bus binding made this a deadlock: modprobe D 0000000000000005 0 720 716 0x00000080 Call Trace: [<ffffffff816a5dbe>] schedule+0x3e/0x90 [<ffffffff816a61a5>] schedule_preempt_disabled+0x15/0x20 [<ffffffff816a7ae5>] __mutex_lock_slowpath+0xb5/0x120 [<ffffffff816a7b6b>] mutex_lock+0x1b/0x30 [<ffffffff8148656b>] device_release_driver+0x1b/0x30 [<ffffffff81485c15>] bus_remove_device+0x105/0x180 [<ffffffff814822b9>] device_del+0x139/0x260 [<ffffffffa05e0ec5>] snd_hdac_device_unregister+0x25/0x30 [snd_hda_core] [<ffffffffa074fa6a>] snd_hda_codec_reset+0x2a/0x70 [snd_hda_codec] [<ffffffffa075007b>] snd_hda_codec_build_pcms+0x18b/0x1b0 [snd_hda_codec] [<ffffffffa074a44e>] hda_codec_driver_probe+0xbe/0x140 [snd_hda_codec] [<ffffffff81486ac4>] driver_probe_device+0x1f4/0x460 [<ffffffff81486dc0>] __driver_attach+0x90/0xa0 [<ffffffff81484844>] bus_for_each_dev+0x64/0xa0 [<ffffffff814862de>] driver_attach+0x1e/0x20 [<ffffffff81485e7b>] bus_add_driver+0x1eb/0x280 [<ffffffff81487680>] driver_register+0x60/0xe0 [<ffffffffa074a0da>] __hda_codec_driver_register+0x5a/0x60 [snd_hda_codec] [<ffffffffa070a01e>] realtek_driver_init+0x1e/0x1000 [snd_hda_codec_realtek] [<ffffffff810002f3>] do_one_initcall+0xb3/0x200 [<ffffffff816a1fc5>] do_init_module+0x60/0x1f8 [<ffffffff810ee5c3>] load_module+0x1653/0x1bd0 [<ffffffff810eed48>] SYSC_finit_module+0x98/0xc0 [<ffffffff810eed8e>] SyS_finit_module+0xe/0x10 [<ffffffff816aa032>] entry_SYSCALL_64_fastpath+0x16/0x75 The simple fix is just to remove this call, since we don't need to think about unbinding at there any longer. Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=948758 Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 271817a3e92c0455bda5856d87eca244ad67d3a2 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Mon Oct 19 17:23:28 2015 -0400 crypto: asymmetric_keys - Fix unaligned access in x509_get_sig_params() x509_get_sig_params() has the same code pattern as the one in pkcs7_verify() that is fixed by commit 62f57d05e287 ("crypto: pkcs7 - Fix unaligned access in pkcs7_verify()") so apply a similar fix here: make sure that desc is pointing at an algined value past the digest_size, and take alignment values into consideration when doing kzalloc() Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 381ceef785aa3957cd78f13b9311a09a8ea8ed45 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Oct 19 12:19:45 2015 +0100 crypto: akcipher - Don't #include crypto/public_key.h as the contents aren't used Don't #include crypto/public_key.h in akcipher as the contents of the header aren't used and changes in a future patch cause it to fail to compile if CONFIG_KEYS=n. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 642c117b927fae34cb85ac7ff278f5fc5bb93a47 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Oct 19 13:37:42 2015 +0900 hwrng: exynos - Add Device Tree support Add Device Tree support for the driver. The Pseudo Random Number Generator module is the same in almost all of Exynos SoCs, since Exynos4210 (however the tests were done only on Trats2 board with Exynos4412). There are some differences on newer Exynos Octa (Exynos542x) SoCs. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bd1dffb1424682ac5b5849e0998c26dffcd61d9e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Oct 19 13:37:41 2015 +0900 hwrng: exynos - Fix missing configuration after suspend to RAM After suspend to RAM the device stopped to work with ETIMEDOUT error: $ dd if=/dev/hwrng of=/dev/null bs=1 count=16 dd: reading `/dev/hwrng': Connection timed out In the STATUS register the bits #5 (PRNG_DONE) and #1 (SEED_SETTING_DONE) were not set. Instead PRNG_ERROR (seventh bit) was high. After each system suspend initialize the seed to fix the error. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d7fd6075a205f19cd0c570c8b5badb8c69321d88 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Oct 19 13:37:40 2015 +0900 hwrng: exynos - Add timeout for waiting on init done Driver may hang waiting indefinitely for PRNG to finish its initialization stage. Instead of stalling return -ETIMEDOUT error. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2b748a2f642a95c8125bfd8981d430a4e4d73e15 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Oct 19 13:37:39 2015 +0900 dt-bindings: rng: Describe Exynos4 PRNG bindings Document the bindings used by exynos-rng Pseudo Random Number Generator driver. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6de59d453ae567c1b637ef9469c37fd8367cd1b4 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:26 2015 +0100 crypto: marvell/cesa - use __le32 for hardware descriptors Much of the driver uses cpu_to_le32() to convert values for descriptors to little endian before writing. Use __le32 to define the hardware- accessed parts of the descriptors, and ensure most places where it's reasonable to do so use cpu_to_le32() when assigning to these. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ea1f662bde067563328ec3083884aaffb3d902d8 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:20 2015 +0100 crypto: marvell/cesa - fix missing cpu_to_le32() in mv_cesa_dma_add_op() When tdma->src is freed in mv_cesa_dma_cleanup(), we convert the DMA address from a little-endian value prior to calling dma_pool_free(). However, mv_cesa_dma_add_op() assigns tdma->src without first converting the DMA address to little endian. Fix this. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0f3304dc18b1316bc6d32921f2a7837938f90c30 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:15 2015 +0100 crypto: marvell/cesa - use memcpy_fromio()/memcpy_toio() Use the IO memcpy() functions when copying from/to MMIO memory. These locations were found via sparse. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 35622eae188761f30df916a6cae4fa8c942a6366 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:10 2015 +0100 crypto: marvell/cesa - use gfp_t for gfp flags Use gfp_t not u32 for the GFP flags. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5d754137ab905aaaf69acf81c9c6c7005bcfe6e4 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:05 2015 +0100 crypto: marvell/cesa - use dma_addr_t for cur_dma cur_dma is part of the software state, not read by the hardware. Storing it in LE32 format is wrong, use dma_addr_t for this. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b150856152cc442050ed3041e912ff0258c50f87 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 18:31:00 2015 +0100 crypto: marvell/cesa - use readl_relaxed()/writel_relaxed() Use relaxed IO accessors where appropriate. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 660c40bd9837854b3d3cc75e6ddb41cc8ac32a1d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 25 11:29:01 2015 +0200 pinctrl: sh-pfc: Remove obsolete r8a7778 platform_device_id entry Since the removal of the r8a7778 legacy SoC code in commit 4baadb9e05c68962 ("ARM: shmobile: r8a7778: remove obsolete setup code"), r8a7778 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: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5eb6fc210ea2f988731f54eda0497d0518b89347 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 25 11:27:19 2015 +0200 pinctrl: sh-pfc: Remove obsolete r8a7779 platform_device_id entry Since the removal of the r8a7779 legacy SoC code in commit c99cd90d98a98aa1 ("ARM: shmobile: r8a7779: Remove legacy SoC code"), r8a7779 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: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 659f313dcfb9eaf4de7d415fe9fd1856252444f5 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:51:31 2015 +0100 crypto: caam - fix indentation of close braces The kernel's coding style suggests that closing braces for initialisers should not be aligned to the open brace column. The CodingStyle doc shows how this should be done. Remove the additional tab. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5ec908319ab53072d3a2188e62ed2e5d7b846951 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:51:25 2015 +0100 crypto: caam - only export the state we really need to export Avoid exporting lots of state by only exporting what we really require, which is the buffer containing the set of pending bytes to be hashed, number of pending bytes, the context buffer, and the function pointer state. This reduces down the exported state size to 216 bytes from 576 bytes. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c7556ff7e3e4f2747583bcc787f12ec9460ec3a6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:51:20 2015 +0100 crypto: caam - fix non-block aligned hash calculation caam does not properly calculate the size of the retained state when non-block aligned hashes are requested - it uses the wrong buffer sizes, which results in errors such as: caam_jr 2102000.jr1: 40000501: DECO: desc idx 5: SGT Length Error. The descriptor is trying to read more data than is contained in the SGT table. We end up here with: in_len 0x46 blocksize 0x40 last_bufsize 0x0 next_bufsize 0x6 to_hash 0x40 ctx_len 0x28 nbytes 0x20 which results in a job descriptor of: jobdesc@889: ed03d918: b0861c08 3daa0080 f1400000 3d03d938 jobdesc@889: ed03d928: 00000068 f8400000 3cde2a40 00000028 where the word at 0xed03d928 is the expected data size (0x68), and a scatterlist containing: sg@892: ed03d938: 00000000 3cde2a40 00000028 00000000 sg@892: ed03d948: 00000000 3d03d100 00000006 00000000 sg@892: ed03d958: 00000000 7e8aa700 40000020 00000000 0x68 comes from 0x28 (the context size) plus the "in_len" rounded down to a block size (0x40). in_len comes from 0x26 bytes of unhashed data from the previous operation, plus the 0x20 bytes from the latest operation. The fixed version would create: sg@892: ed03d938: 00000000 3cde2a40 00000028 00000000 sg@892: ed03d948: 00000000 3d03d100 00000026 00000000 sg@892: ed03d958: 00000000 7e8aa700 40000020 00000000 which replaces the 0x06 length with the correct 0x26 bytes of previously unhashed data. This fixes a previous commit which erroneously "fixed" this due to a DMA-API bug report; that commit indicates that the bug was caused via a test_ahash_pnum() function in the tcrypt module. No such function has ever existed in the mainline kernel. Given that the change in this commit has been tested with DMA API debug enabled and shows no issue, I can only conclude that test_ahash_pnum() was triggering that bad behaviour by CAAM. Fixes: 7d5196aba3c8 ("crypto: caam - Correct DMA unmap size in ahash_update_ctx()") Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 434b421241f2d0faa7fea75f6320de00c5e3430e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:51:15 2015 +0100 crypto: caam - avoid needlessly saving and restoring caam_hash_ctx When exporting and importing the hash state, we will only export and import into hashes which share the same struct crypto_ahash pointer. (See hash_accept->af_alg_accept->hash_accept_parent.) This means that saving the caam_hash_ctx structure on export, and restoring it on import is a waste of resources. So, remove this code. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6ea30f0acfd1c269520c561b45762c0de590007f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:51:10 2015 +0100 crypto: caam - print errno code when hash registration fails Print the errno code when hash registration fails, so we know why the failure occurred. This aids debugging. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8c07f3a8c487df241f5e809e8f6d5dd7c9d75b54 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:57 2015 +0100 crypto: marvell/cesa - fix memory leak To: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>,Arnaud Ebalard <arno@xxxxxxxxxxxx>,Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>,Jason Cooper <jason@xxxxxxxxxxxxxx> The local chain variable is not cleaned up if an error occurs in the middle of DMA chain creation. Fix that by dropping the local chain variable and using the dreq->chain field which will be cleaned up by mv_cesa_dma_cleanup() in case of errors. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8efbc2c0f6b4e52e384ecb1714511f0194c4d56a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:52 2015 +0100 crypto: marvell/cesa - fix first-fragment handling in mv_cesa_ahash_dma_last_req() When adding the software padding, this must be done using the first/mid fragment mode, and any subsequent operation needs to be a mid-fragment. Fix this. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ab270e7055e0aa9d4dc3bf419cdfdde340174978 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:47 2015 +0100 crypto: marvell/cesa - rearrange handling for sw padded hashes Rearrange the last request handling for hashes which require software padding. We prepare the padding to be appended, and then append as much of the padding to any existing data that's already queued up, adding an operation block and launching the operation. Any remainder is then appended as a separate operation. This ensures that the hardware only ever sees multiples of the hash block size to be operated on for software padded hashes, thus ensuring that the engine always indicates that it has finished the calculation. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit aee84a7e6ed515f0f217317ff261a15db4bff0bb Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:42 2015 +0100 crypto: marvell/cesa - rearrange handling for hw finished hashes Rearrange the last request handling for hardware finished hashes by moving the generation of the fragment operation into this path. This results in a simplified sequence to handle this case, and allows us to move the software padded case further down into the function. Add comments describing these parts. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 58953e15ef015ba9136b7234a7098cf827428999 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:37 2015 +0100 crypto: marvell/cesa - rearrange last request handling Move the test for the last request out of mv_cesa_ahash_dma_last_req() to its caller, and move the mv_cesa_dma_add_frag() down into this function. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e41bbebddec44f7c06585f42686b2a529513fc6a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:32 2015 +0100 crypto: marvell/cesa - avoid adding final operation within loop Avoid adding the final operation within the loop, but instead add it outside. We combine this with the handling for the no-data case. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bd274b10856b91f702fa767114aa7e6ac45b933d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:26 2015 +0100 crypto: marvell/cesa - ensure iter.base.op_len is the full op length When we process the last request of data, and the request contains user data, the loop in mv_cesa_ahash_dma_req_init() marks the first data size as being iter.base.op_len which does not include the size of the cache data. This means we end up hashing an insufficient amount of data. Fix this by always including the cache size in the first operation length of any request. This has the effect that for a request containing no user data, iter.base.op_len === iter.src.op_offset === creq->cache_ptr As a result, we include one further change to use iter.base.op_len in the cache-but-no-user-data case to make the next change clearer. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d9bba4c3ebbc65b9113624eb1690bed776fb6106 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:21 2015 +0100 crypto: marvell/cesa - use presence of scatterlist to determine data load Use the presence of the scatterlist to determine whether we should load any new user data to the engine. The following shall always be true at this point: iter.base.op_len == 0 === iter.src.sg In doing so, we can: 1. eliminate the test for iter.base.op_len inside the loop, which makes the loop operation more obvious and understandable. 2. move the operation generation for the cache-only case. This prepares the code for the next step in its transformation, and also uncovers a bug that will be fixed in the next patch. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0971d09a8566abd6640acdbe3fd304e67e257bd3 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:16 2015 +0100 crypto: marvell/cesa - move mv_cesa_dma_add_frag() calls Move the calls to mv_cesa_dma_add_frag() into the parent function, mv_cesa_ahash_dma_req_init(). This is in preparation to changing when we generate the operation blocks, as we need to avoid generating a block for a partial hash block at the end of the user data. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2f396a91d1d01a423fd87b7c6ff71600d06b9c05 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:11 2015 +0100 crypto: marvell/cesa - always ensure mid-fragments after first-fragment If we add a template first-fragment operation, always update the template to be a mid-fragment. This ensures that mid-fragments always follow on from a first fragment in every case. This means we can move the first to mid-fragment update code out of mv_cesa_ahash_dma_add_data(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9621288673cb2a1805eadf29b92e5bcec6a0e2e5 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:06 2015 +0100 crypto: marvell/cesa - factor out adding an operation and launching it Add a helper to add the fragment operation block followed by the DMA entry to launch the operation. Although at the moment this pattern only strictly appears at one site, two other sites can be factored as well by slightly changing the order in which the DMA operations are performed. This should be harmless as the only thing which matters is to have all the data loaded into SRAM prior to launching the operation. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8651791e5403a0e0634b76dee91b102dc4f40385 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:24:01 2015 +0100 crypto: marvell/cesa - factor out first fragment decisions to helper Multiple locations in the driver test the operation context fragment type, checking whether it is a first fragment or not. Introduce a mv_cesa_mac_op_is_first_frag() helper, which returns true if the fragment operation is for a first fragment. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c439e4eec73373c6d5b7129ece69d67978ada307 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:56 2015 +0100 crypto: marvell/cesa - const-ify argument to mv_cesa_get_op_cfg() mv_cesa_get_op_cfg() does not write to its argument, it only reads. So, let's make it const. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d30cb2fa34829161cfa1f847049b3fcfcfeebc93 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:51 2015 +0100 crypto: marvell/cesa - ensure template operation is initialised Ensure that the template operation is fully initialised, otherwise we end up loading data from the kernel stack into the engines, which can upset the hash results. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 51954a968bbedcabf2b42fec2ec51386f0dee0c4 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:46 2015 +0100 crypto: marvell/cesa - fix the bit length endianness The endianness of the bit length used in the final stage depends on the endianness of the algorithm - md5 hashes need it to be in little endian format, whereas SHA hashes need it in big endian format. Use the previously added algorithm endianness flag to control this. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a9eb678f8addc1bfb80bacc45f6df1108fd1c0d9 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:40 2015 +0100 crypto: marvell/cesa - add flag to determine algorithm endianness Rather than determining whether we're using a MD5 hash by looking at the digest size, switch to a cleaner solution using a per-request flag initialised by the method type. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4c2b130c8ae79af734e5e57f3662e25ef4d20e8d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:35 2015 +0100 crypto: marvell/cesa - keep creq->state in CPU endian format at all times Currently, we read/write the state in CPU endian, but on the final request, we convert its endian according to the requested algorithm. (md5 is little endian, SHA are big endian.) Always keep creq->state in CPU native endian format, and perform the necessary conversion when copying the hash to the result. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 80754539ec936b0afe8a3c406b7d67612977cc71 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sun Oct 18 17:23:30 2015 +0100 crypto: marvell/cesa - easier way to get the transform There's an easier way to get at the hash transform - rather than using crypto_ahash_tfm(ahash), we can get it directly from req->base.tfm. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 524e56c31a6fe21e6f6f543360359e7a97dfabfb Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 09:37:41 2015 +0800 crypto: ahash - Add crypto_ahash_blocksize This patch adds the missing helper crypto_ahash_blocksize which returns the block size of an ahash algorithm. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 63349d02c195030f97c9c2000bbf32539056316f Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Oct 18 12:45:18 2015 +0200 lib/mpi: fix off by one in mpi_read_raw_from_sgl The patch fixes the analysis of the input data which contains an off by one. The issue is visible when the SGL contains one byte per SG entry. The code for checking for zero bytes does not operate on the data byte. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4a4b0bad0653a0dce876987f7487b2c5e3ecb05f Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Fri Oct 16 11:40:56 2015 -0700 crypto: qat - fix crypto_get_instance_node function qat_crypto_get_instance_node function needs to handle situation when the first dev in the list is not started. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f02b7d0c7b433b9a8175ac9027391272877a43ce Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Fri Oct 16 17:01:51 2015 +0100 hwrng: exynos - Fix unbalanced PM runtime get/puts Currently this driver calls pm_runtime_get_sync() rampantly but never puts anything back. This makes it impossible for the device to autosuspend properly; it will remain fully active after the first use. Fix in the obvious way. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 839a42af9441982311f33241529f711f23c857c8 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Oct 15 20:34:53 2015 +0200 lib/mpi: clean unused SHA1_DIGEST_LENGTH The define SHA1_DIGEST_LENGTH is not used anywhere, so remove it. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 69af775a18ff1d07f527b2f6caec171af5e1397e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 25 10:55:44 2015 +0200 pinctrl: sh-pfc: Stop including <linux/platform_data/gpio-rcar.h> This header file will be removed soon. Copy the helper macro RCAR_GP_PIN(), which is used by the pinctrl drivers only, to sh_pfc.h, and drop the #include. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f15f30449ab252fdc9405f99d46edacc225328cf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 25 10:51:02 2015 +0200 usb: renesas_usbhs: Remove unneeded #include <linux/platform_data/gpio-rcar.h> This header file will be removed soon. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> commit b8b47d678a5f0b5826044242780a988f8af50b22 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Sep 21 16:27:23 2015 +0200 pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] The sh_pfc_soc_info.gpio_data[] array contains not only GPIO data, but also various other pinmux-related data (functions and marks). Every single driver already calls its local array pinmux_data[]. Hence rename the sh_pfc_soc_info member to "pinmux_data". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit ae7465a0972aee889d79d94dbd1e65d3fab07414 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Oct 5 16:55:54 2015 +0200 pinctrl: sh-pfc: r8a7778: Add bias (pull-up) pinconf support On this SoC there is no simple mapping of GP pins to pull-up register bits, so we need a table. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 22768fc60abbf58b04601b27796268f0363ab185 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Oct 5 16:55:53 2015 +0200 pinctrl: sh-pfc: Add macros defining GP ports with config flags PORT_GP_CFG_1 and PORT_GP_CFG_32 work like their non-CFG counterparts but accept an extra argument with config flags. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 0f7711aa300355d46e2a532d9c5cd13ca67d1b02 Author: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Date: Sat Oct 3 02:21:49 2015 +0300 pinctrl: sh-pfc: r8a7794: Add VIN pin groups Add VIN0/1 pin groups to R8A7794 PFC driver. Sergei: rebased, renamed, added changelog, gathered 12 VIN1 data pins into a single pin group, added "vin1_data10" pin group, used 'union vin_data' and VIN_DATA_PIN_GROUP() macro to describe VIN1 pins, reversed the order of the VIN1 pin groups, removed unneeded empty lines, fixed VIN1 separator comment. Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 423caa52534ff15a63a8f86f8ecb99cfa8e9cbca Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 3 02:21:15 2015 +0300 pinctrl: sh-pfc: r8a779[01]: Move 'union vin_data' to shared header file R8A7790/1 PFC drivers use almost identical 'union vin_data' and completely identical VIN_DATA_PIN_GROUP() macro; we thus can move them into the shared header file... Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 3fc89adb9fa4beff31374a4bf50b3d099d88ae83 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 19 18:23:57 2015 +0800 crypto: api - Only abort operations on fatal signal Currently a number of Crypto API operations may fail when a signal occurs. This causes nasty problems as the caller of those operations are often not in a good position to restart the operation. In fact there is currently no need for those operations to be interrupted by user signals at all. All we need is for them to be killable. This patch replaces the relevant calls of signal_pending with fatal_signal_pending, and wait_for_completion_interruptible with wait_for_completion_killable, respectively. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 56a3f30e029396948989b96716f27b87e3510e0f Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Tue Oct 20 14:59:20 2015 +0100 arm64: Make 36-bit VA depend on EXPERT Commit 215399392fe4 (arm64: 36 bit VA) introduced 36-bit VA support for the arm64 kernel when the 16KB page configuration is enabled. While this is a valid hardware configuration, it's not something we want to encourage since it reduces the memory (and I/O) range that the kernel can access. Make this depend on EXPERT to avoid complaints of Linux not mapping the whole RAM, especially on platforms following the ARM recommended memory map. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit e1d040cfcf76c1c1b5d71fc08ab577a0cf72fefd Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Oct 15 16:51:56 2015 +0800 perf build: Add fixdep to .gitignore Commit 7c422f5572667fef0db38d2046ecce69dcf0afc8 ("tools build: Build fixdep helper from perf and basic libs") dynamically creates fixdep during the perf building. Add it to .gitignore. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: 7c422f557266 ("tools build: Build fixdep helper from perf and basic libs") Link: http://lkml.kernel.org/r/1444899116-8220-1-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 26440c835f8b1a491e2704118ac55bf87334366c Merge: 371f1c7 1099f86 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 20 06:08:27 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/usb/asix_common.c net/ipv4/inet_connection_sock.c net/switchdev/switchdev.c In the inet_connection_sock.c case the request socket hashing scheme is completely different in net-next. The other two conflicts were overlapping changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2fb43cecf5164fd99d0fd9fdd87f40e5148ecd91 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Oct 20 14:42:30 2015 +0200 ARM: tegra: Update multi_v7_defconfig Enable some options that have recently been enabled on Tegra platforms: * TOUCHSCREEN_WM97XX: touchscreen support on Toradex Colibri * SND_SOC_TEGRA_WM9712: audio support on Toradex Colibri Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 88d909bedf4df7285d6e8d8730425df0d163512e Author: Rhyland Klein <rklein@xxxxxxxxxx> Date: Thu Jun 18 17:28:17 2015 -0400 clk: tegra: Modify tegra_audio_clk_init to accept more plls tegra_audio_clk_init was written expecting a single PLL to be passed in directly. Change this to accept an array which will allow for supporting multiple plls and specifying specific data about them, like their parent, which may change over time. Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Rhyland Klein <rklein@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit db592c4e2b6010069efc983ba3a35f0850844132 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Jun 18 17:28:16 2015 -0400 clk: tegra: Update struct tegra_clk_pll_params kerneldoc Benson Leung pointed out that the kerneldoc for this structure has become stale. Update the field descriptions to match the structure content. Reported-by: Benson Leung <bleung@xxxxxxxxxxxx> Acked-by: Rhyland Klein <rklein@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Rhyland Klein <rklein@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit fdc1feadc0ac19b056482023c82ba624ff704495 Author: Rhyland Klein <rklein@xxxxxxxxxx> Date: Mon Apr 13 12:38:17 2015 -0400 clk: tegra: Fix comments for structure definitions Some fields moved from the tegra_clk_pll struct to the tegra_pll_params struct. Update the struct comments to reflect where the fields really are. Signed-off-by: Rhyland Klein <rklein@xxxxxxxxxx> Acked-By: Peter De Schrijver <pdeschrijver@xxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4182b8d454331c5ca85b57c0a7357073d96b170f Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 14 12:40:09 2015 +0200 clk: tegra: dfll: Monitor code is DEBUG_FS only The monitor code is used with DEBUG_FS only, so move it into the corresponding #ifdef block to avoid potential compiler warnings. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 481b4f1a3f64c529333186a9e94eab41b271e3d8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 10:00:05 2015 +0200 ARM: tegra: Use consistent indentation for SATA node The indentation for properties in the SATA device tree node on Tegra124 deviates from the rest of the device tree file. Restore consistency and get rid of a couple of gratuitous blank lines while at it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3bc2159faf897bab51e4f1144b525d21823832a6 Merge: b2c280b cb0f253 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Oct 20 12:37:45 2015 +0200 Merge branch 'clockevents/4.4' of http://git.linaro.org/people/daniel.lezcano/linux into timers/core clockevent updates from Daniel Lezcano: - Remove unneeded memset in em_sti, sh_cmt and h8300 because there are already zeroed by a kzalloc (Alexey Klimov) - Optimize code by replacing this_cpu_ptr by container_of on the exynos_mct (Alexey Klimov) - Get immune from a spurious interrupt when enabling the mtk_timer (Daniel Lezcano) - Use the dynamic irq affinity to optimize wakeup and useless IPI timer on the imx timer (Lucas Stach) - Add new timer for Tango SoCs (Marc Gonzalez) - Implement the timer delay for armada-370-xp (Russell King) - Use GPT as clock source (Yingjoe Chen) commit b2c280bdd6ea31be66c9b6a666e71daa49beef75 Merge: c8d75aa 090e2ed Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Oct 20 12:30:53 2015 +0200 Merge branch 'fortglx/4.4/time' of https://git.linaro.org/people/john.stultz/linux into timers/core Time updates from John Stultz: - More 2038 work from Arnd Bergmann around ntp and pps commit 7fc7e86d096f13cf88391b09a3a387172450ad79 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Tue Oct 20 10:23:15 2015 +0100 drm/armada: Convert the probe function to the generic drm_of_component_probe() The armada DRM driver keeps some old platform data compatibility in the probe function that makes moving to the generic drm_of_component_probe() a bit more complicated that it should. Refactor the probe function to do the platform_data processing after the generic probe (and only if that fails). This way future cleanup can further remove support for it. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445332995-11212-5-git-send-email-Liviu.Dudau@xxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 52f5eb60940de889ce98a876f6933b574ead3225 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Tue Oct 20 10:23:14 2015 +0100 drm/rockchip: Convert the probe function to the generic drm_of_component_probe() Use the generic drm_of_component_probe() function to probe for components. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445332995-11212-4-git-send-email-Liviu.Dudau@xxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9cace32f7e9fb3d506bab2bfda2cafd11e0b5825 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Tue Oct 20 10:23:13 2015 +0100 drm/imx: Convert the probe function to the generic drm_of_component_probe() The generic function is functionally equivalent to the driver's imx_drm_platform_probe(). Use the generic function and reduce the overall code size. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445332995-11212-3-git-send-email-Liviu.Dudau@xxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit df785aa87f3a43d6784f1d59803646ad69447da8 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Tue Oct 20 10:23:12 2015 +0100 drm: Introduce generic probe function for component based masters. A lot of component based DRM drivers use a variant of the same code as the probe function. They bind the crtc ports in the first iteration and then scan through the child nodes and bind the encoders attached to the remote endpoints. Factor the common code into a separate function called drm_of_component_probe() in order to increase code reuse. Cc: David Airlie <airlied@xxxxxxxx> Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445332995-11212-2-git-send-email-Liviu.Dudau@xxxxxxx Acked-by: Eric Anholt <eric@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9afd808cf3c45810492f2e05b7c422c99edc88cc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 8 11:43:33 2015 +0300 drm/edid: Round to closest when computing the CEA/HDMI alternate clock Rounding to the closest kHz seems like the better option that round down or up when computing the alternate clock for CEA/HDMI modes. It'll give us a slightly more accurate clock in some cases. Not sure why I went for the down+up approach originally. Perhaps I was thinking we can go back and forth betwen the two frequencies without introducing errors, but round to closest still maintains that property. Cc: Adam Jackson <ajax@xxxxxxxxxx> Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Cc: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Adam Jackson <ajax@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fa3a7340eaa174a36c12c31747dc6eccd08530b5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 8 11:43:32 2015 +0300 drm/edid: Fix up clock for CEA/HDMI modes specified via detailed timings EDID detailed timings have a resolution of 10kHz for the pixel clock, so they can't represent certain CEA/HDMI modes accurately. If we see a mode coming in via detailed timings which otherwise matches one of the CEA/HDMI modes except the clock is just a bit off, let's assume that the intention was for that mode to be one of the CEA/HDMI modes and go ahead and fix up the clock to match the CEA/HDMI spec exactly (well, as close as we can get with the 1 kHz resolution we use). This should help code that's looking for an exact clock match (eg. i915 audio N/CTS setup). Cc: Adam Jackson <ajax@xxxxxxxxxx> Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Cc: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Adam Jackson <ajax@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f7d27c35ddff7c100d7a98db499ac0040149ac05 Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Mon Oct 19 11:37:18 2015 +0300 x86/mm, kasan: Silence KASAN warnings in get_wchan() get_wchan() is racy by design, it may access volatile stack of running task, thus it may access redzone in a stack frame and cause KASAN to warn about this. Use READ_ONCE_NOCHECK() to silence these warnings. Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Kostya Serebryany <kcc@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Wolfram Gloger <wmglo@xxxxxxxxxxxxxxxxxxxxxxxx> Cc: kasan-dev <kasan-dev@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445243838-17763-3-git-send-email-aryabinin@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d976441f44bc5d48635d081d277aa76556ffbf8b Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Mon Oct 19 11:37:17 2015 +0300 compiler, atomics, kasan: Provide READ_ONCE_NOCHECK() Some code may perform racy by design memory reads. This could be harmless, yet such code may produce KASAN warnings. To hide such accesses from KASAN this patch introduces READ_ONCE_NOCHECK() macro. KASAN will not check the memory accessed by READ_ONCE_NOCHECK(). The KernelThreadSanitizer (KTSAN) is going to ignore it as well. This patch creates __read_once_size_nocheck() a clone of __read_once_size(). The only difference between them is 'no_sanitized_address' attribute appended to '*_nocheck' function. This attribute tells the compiler that instrumentation of memory accesses should not be applied to that function. We declare it as static '__maybe_unsed' because GCC is not capable to inline such function: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368 With KASAN=n READ_ONCE_NOCHECK() is just a clone of READ_ONCE(). Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Kostya Serebryany <kcc@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Wolfram Gloger <wmglo@xxxxxxxxxxxxxxxxxxxxxxxx> Cc: kasan-dev <kasan-dev@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445243838-17763-2-git-send-email-aryabinin@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 43e41adc9e8c36545888d78fed2ef8d102a938dc Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Oct 13 09:09:11 2015 +0200 perf record: Add ability to sample call branches This patch add a new branch type sampling filter to perf record. It is named 'call' and maps to PERF_SAMPLE_BRANCH_CALL. It samples direct call branches only, unlike 'any_call' which includes indirect calls as well. $ perf record -j call -e cycles ..... The man page is updated accordingly. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: khandual@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444720151-10275-5-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 24f1a79a5fc10858e05ee0bf651ec99abfc0319b Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Oct 13 09:09:10 2015 +0200 perf/powerpc: Add support for PERF_SAMPLE_BRANCH_CALL The patch catches PERF_SAMPLE_BRANCH_CALL because it is not clear whether this is actually supported by the hardware. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: khandual@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444720151-10275-4-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d892819faa6860d469aae71d70c336b391c25505 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Oct 13 09:09:09 2015 +0200 perf/x86: Add support for PERF_SAMPLE_BRANCH_CALL This patch enables the suport for the PERF_SAMPLE_BRANCH_CALL for Intel x86 processors. When the processor support LBR filtering this the selection is done in hardware. Otherwise, the filter is applied by software. Note that we chose to include zero length calls because they also represent calls. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: khandual@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444720151-10275-3-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c229bf9dc179d2023e185c0f705bdf68484c1e73 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Oct 13 09:09:08 2015 +0200 perf: Add PERF_SAMPLE_BRANCH_CALL Add a new branch sample type to cover only call branches (function calls). The current ANY_CALL included direct, indirect calls and far jumps. We want to be able to differentiate indirect from direct calls. Therefore we introduce PERF_SAMPLE_BRANCH_CALL. The implementation is up to each architecture. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: khandual@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444720151-10275-2-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b9511cd761faafca7a1acc059e792c1399f9d7c6 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Oct 16 16:24:05 2015 +0300 perf/x86: Fix time_shift in perf_event_mmap_page Commit: b20112edeadf ("perf/x86: Improve accuracy of perf/sched clock") allowed the time_shift value in perf_event_mmap_page to be as much as 32. Unfortunately the documented algorithms for using time_shift have it shifting an integer, whereas to work correctly with the value 32, the type must be u64. In the case of perf tools, Intel PT decodes correctly but the timestamps that are output (for example by perf script) have lost 32-bits of granularity so they look like they are not changing at all. Fix by limiting the shift to 31 and adjusting the multiplier accordingly. Also update the documentation of perf_event_mmap_page so that new code based on it will be more future-proof. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Fixes: b20112edeadf ("perf/x86: Improve accuracy of perf/sched clock") Link: http://lkml.kernel.org/r/1445001845-13688-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e73e85f0593832aa583b252f9a16cf90ed6d30fa Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sat Oct 10 20:53:15 2015 +0200 sched: Don't scan all-offline ->cpus_allowed twice if !CONFIG_CPUSETS If CONFIG_CPUSETS=n then "case cpuset" changes the state and runs the already failed for_each_cpu() loop again for no reason. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151010185315.GA24100@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 62694cd51322262a9142e946915fc4783113ccff Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Oct 9 18:36:29 2015 +0200 sched: Move cpu_active() tests from stop_two_cpus() into migrate_swap_stop() The cpu_active() tests are not fundamentally part of stop_two_cpus(), move then into the scheduler where they belong. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 07f06cb3b5f6bd21374a48dbefdb431d71d53974 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Oct 9 18:00:54 2015 +0200 sched: Start stopper early Ensure the stopper thread is active 'early', because the load balancer pretty much assumes that its available. And when 'online && active' the load-balancer is fully available. Not only the numa balancing stop_two_cpus() caller relies on it, but also the self migration stuff does, and at CPU_ONLINE time the cpu really is 'free' to run anything. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151009160054.GA10176@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f0cf16cbd0659d2dd21352da9f06f3fab7a51596 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Oct 9 18:00:51 2015 +0200 stop_machine: Kill cpu_stop_threads->setup() and cpu_stop_unpark() Now that we always use stop_machine_unpark() to wake the stopper threas up, we can kill ->setup() and fold cpu_stop_unpark() into stop_machine_unpark(). And we do not need stopper->lock to set stopper->enabled = true. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151009160051.GA10169@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c00166d87e730088d919814020e96ffed129d0d1 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Oct 9 18:00:49 2015 +0200 stop_machine: Kill smp_hotplug_thread->pre_unpark, introduce stop_machine_unpark() 1. Change smpboot_unpark_thread() to check ->selfparking, just like smpboot_park_thread() does. 2. Introduce stop_machine_unpark() which sets ->enabled and calls kthread_unpark(). 3. Change smpboot_thread_call() and cpu_stop_init() to call stop_machine_unpark() by hand. This way: - IMO the ->selfparking logic becomes more consistent. - We can kill the smp_hotplug_thread->pre_unpark() method. - We can easily unpark the stopper thread earlier. Say, we can move stop_machine_unpark() from smpboot_thread_call() to sched_cpu_active() as Peter suggests. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151009160049.GA10166@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d8bc853582bfd81a9c08ca6922aeb01570080ccc Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 8 19:01:41 2015 +0200 stop_machine: Change cpu_stop_queue_two_works() to rely on stopper->enabled Change cpu_stop_queue_two_works() to ensure that both CPU's have stopper->enabled == T or fail otherwise. This way stop_two_cpus() no longer needs to check cpu_active() to avoid the deadlock. This patch doesn't remove these checks, we will do this later. Note: we need to take both stopper->lock's at the same time, but this will also help to remove lglock from stop_machine.c, so I hope this is fine. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151008170141.GA25537@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5caa1c089aebcb83ccd5b79a3b88b0aa58288d05 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 8 16:51:34 2015 +0200 stop_machine: Introduce __cpu_stop_queue_work() and cpu_stop_queue_two_works() Preparation to simplify the review of the next change. Add two simple helpers, __cpu_stop_queue_work() and cpu_stop_queue_two_works() which simply take a bit of code from their callers. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151008145134.GA18146@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 233e7f267e580fefdeb36628b7efe8bfe056d27c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 8 16:51:31 2015 +0200 stop_machine: Ensure that a queued callback will be called before cpu_stop_park() cpu_stop_queue_work() checks stopper->enabled before it queues the work, but ->enabled == T can only guarantee cpu_stop_signal_done() if we race with cpu_down(). This is not enough for stop_two_cpus() or stop_machine(), they will deadlock if multi_cpu_stop() won't be called by one of the target CPU's. stop_machine/stop_cpus are fine, they rely on stop_cpus_mutex. But stop_two_cpus() has to check cpu_active() to avoid the same race with hotplug, and this check is very unobvious and probably not even correct if we race with cpu_up(). Change cpu_down() pass to clear ->enabled before cpu_stopper_thread() flushes the pending ->works and returns with KTHREAD_SHOULD_PARK set. Note also that smpboot_thread_call() calls cpu_stop_unpark() which sets enabled == T at CPU_ONLINE stage, so this CPU can't go away until cpu_stopper_thread() is called at least once. This all means that if cpu_stop_queue_work() succeeds, we know that work->fn() will be called. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: heiko.carstens@xxxxxxxxxx Link: http://lkml.kernel.org/r/20151008145131.GA18139@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c80a1daa7eb6470b84868ed135a26f414b02bf2e Merge: 9a30ae2 b6e84c9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 20 10:19:40 2015 +0200 Merge branch 'topic/hda-modalias' into for-next commit b6e84c99b121fcba34166842987be96956148bb8 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Mon Oct 19 16:58:46 2015 +0530 ALSA: hdac: Add macro for hda ext devices entry With the new modalias infrastructure support added for hda, create a macro for ext devices similar to legacy to add the device entry. 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 6af597de62a365dfec6021b9796aa302044e7cc3 Merge: 558a65b 5aa5050 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 20 10:18:16 2015 +0200 Merge branch 'sched/urgent' into sched/core, to pick up fixes and resolve conflicts Conflicts: kernel/sched/fair.c Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 677b2ff4afd9996eabefc9472c701211b4b49e87 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 2 14:26:05 2015 -0700 gpio: add a real time compliance checklist Add some information about real time compliance to the driver document. Inspired by Grygorii Strashko's real time compliance patches. Cc: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6e490b0106a2118ee4c37c37847454a5c2dc6e32 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Oct 7 15:10:38 2015 +0100 ARM, locking/atomics: Implement _relaxed variants of atomic[64]_{inc,dec} Now that the core code supports acquire/release/relaxed versions of the atomic_inc family, implement only the _relaxed flavours in the ARM backend so that we get all of the others for free. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Davidlohr Bueso <dbueso@xxxxxxx> 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> Link: http://lkml.kernel.org/r/1444227038-12533-1-git-send-email-will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a1a2ab2ff7040bdc9a31bfe7173913971f7d723b Merge: 00eb4ba 7379047 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 20 10:16:46 2015 +0200 Merge tag 'v4.3-rc6' into locking/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 975c947e75f09ca4910053b626be2376e3313cf2 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 17 12:00:05 2015 +0200 ALSA: hda - Advertise MODALIAS in uevent By setting the MODALIAS variable in uevents, userspace helpers will be enabled to load modules via the module alias associated with a device. This information is required to automatically load HDA codec drivers instead of having to explicitly request the various modules in the HDA core code. [Note that currently the legacy HDA controller driver tries to bind codec modules manually. It's for supporting the fallback generic drivers. This new udev modalias support was added rather for ASoC HDA ext drivers, since this addition itself won't hurt the legacy HDA -- tiwai] [Use the common helper function to generate the modalias -- tiwai] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b9a94a9c787d053e8d3bb7e7dff9648e723a4533 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 1 16:20:04 2015 +0200 ALSA: hda - convert to hda_device_id Finally we have a proper infrastructure to generate the modaliases automatically, let's move to hda_device_id from the legacy hda_codec_preset that contains basically the same information. The patch function hook is stored in driver_data field, which is long, and we need an explicit cast. Other than that, the conversion is mostly straightforward. Each entry is even simplified using a macro, and the lengthy (and error-prone) manual modaliases got removed. As a result, we achieved a quite good diet: 14 files changed, 407 insertions(+), 595 deletions(-) Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 78abb2afaf3d7635e9b1770c50e50b59820c4e5d Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Sep 29 13:56:47 2015 +0530 ALSA: hda - Add hdaudio bus modalias support This patch just adds modalias sysfs entry to each hdaudio bus entry. [rewritten to call the common helper function by tiwai] Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4f9e0c38c5e991e2d050d13e28be74b93ab704c0 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Oct 16 11:35:49 2015 +0200 ALSA: hda - Add a common helper to give the codec modalias string This patch provide a new common helper function, snd_hdac_codec_modalias(), to give the codec modalias name string. This function will be used by multiple places in the later patches. Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit da23ac1e40ce844d1a9553906bdacce160af76f6 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Sep 29 13:56:10 2015 +0530 ALSA: hda - Add hduadio support to DEVTABLE For generating modalias entries automatically, move the definition of struct hda_device_id to linux/mod_devicetable.h and add the handling of this record in file2alias helper. The new modalias is represented with combination of vendor id, device id, and api version as "hdaudio:vNrNaN". This patch itself doesn't convert the existing modaliases. Since they were added manually, this patch won't give any regression by itself at this point. [Modified the modalias format to adapt the api_version field, and drop invalid ANY_ID definition by tiwai] Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 93ed8560e98afc486df94f5a6238c1f0894b38b8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 15 21:35:53 2015 +0200 ALSA: hda - Add api_version to hda_device_id struct For distinguishing the difference between HDA legacy and ext codec driver entries, we need to expose the value corresponding to type field. This patch adds a new field, api_version, to hda_device_id struct, so that this information is embedded in modalias string. Although the information is basically redundant (struct hdac_device already has type field), the helper that extracts from MODULE_DEVICE_TABLE() won't take it account except for the exported table entries themselves. So we need to put the same information in the table, too. Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Subhransu S Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5aa5050787f449e7eaef2c5ec93c7b357aa7dcdc Author: Luca Abeni <luca.abeni@xxxxxxxx> Date: Fri Oct 16 10:06:21 2015 +0200 sched/deadline: Fix migration of SCHED_DEADLINE tasks Commit: 9d5142624256 ("sched/deadline: Reduce rq lock contention by eliminating locking of non-feasible target") broke select_task_rq_dl() and find_lock_later_rq(), because it introduced a comparison between the local task's deadline and dl.earliest_dl.curr of the remote queue. However, if the remote runqueue does not contain any SCHED_DEADLINE task its earliest_dl.curr is 0 (always smaller than the deadline of the local task) and the remote runqueue is not selected for pushing. As a result, if an application creates multiple SCHED_DEADLINE threads, they will never be pushed to runqueues that do not already contain SCHED_DEADLINE tasks. This patch fixes the issue by checking if dl.dl_nr_running == 0. Signed-off-by: Luca Abeni <luca.abeni@xxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Fixes: 9d5142624256 ("sched/deadline: Reduce rq lock contention by eliminating locking of non-feasible target") Link: http://lkml.kernel.org/r/1444982781-15608-1-git-send-email-luca.abeni@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0baabb385eb4bce699ddab0db015112be6cf1e6a Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Mon Oct 12 17:21:23 2015 +0200 nohz: Revert "nohz: Set isolcpus when nohz_full is set" This reverts: 8cb9764fc88b ("nohz: Set isolcpus when nohz_full is set") We assumed that full-nohz users always want scheduler isolation on full dynticks CPUs, therefore we included full-nohz CPUs on cpu_isolated_map. This means that tasks run by default on CPUs outside the nohz_full range unless their affinity is explicity overwritten. This suits pure isolation workloads but when the machine is needed to run common workloads, the available sets of CPUs to run common tasks becomes reduced. We reach an extreme case when CONFIG_NO_HZ_FULL_ALL is enabled as it leaves only CPU 0 for non-isolation tasks, which makes people think that their supercomputer regressed to 90's UP - which is true in a sense. Some full-nohz users appear to be interested in running normal workloads either before or after an isolation workload. Full-nohz isn't optimized toward normal workloads but it's still better than UP performance. We are reaching a limitation in kernel presets here. Lets revert this cpu_isolated_map inclusion and let userspace do its own scheduler isolation using cpusets or explicit affinity settings. Reported-by: Ingo Molnar <mingo@xxxxxxxxxx> Reported-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul E . McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1444663283-30068-1-git-send-email-fweisbec@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3e386d56bafbb6d2540b49367444997fc671ea69 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Tue Oct 13 09:18:23 2015 +0800 sched/fair: Update task group's load_avg after task migration When cfs_rq has cfs_rq->removed_load_avg set (when a task migrates from this cfs_rq), we need to update its contribution to the group's load_avg. This should not increase tg's update too much, because in most cases, the cfs_rq has already decayed its load_avg. Tested-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-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> Link: http://lkml.kernel.org/r/1444699103-20272-2-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fde7d22e01aa0d252fc5c95fa11f0dac35a4dd59 Author: Yuyang Du <yuyang.du@xxxxxxxxx> Date: Tue Oct 13 09:18:22 2015 +0800 sched/fair: Fix overly small weight for interactive group entities Commit: 9d89c257dfb9 ("sched/fair: Rewrite runnable load and utilization average tracking") led to an overly small weight for interactive group entities. The bad case can be easily reproduced when a number of CPU hogs compete for the CPUs at the same time (thanks to Mike). This is largly because the task group's load average tracking cross CPUs lags behind the real changes. To fix this we accelerate the group share distribution process by using the load.weight of the cfs_rq. This may increase the entire group's share, but we have to do so to protect the (fragile) interactive tasks, especially from CPU hogs. Reported-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Tested-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Tested-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Signed-off-by: Yuyang Du <yuyang.du@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-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> Link: http://lkml.kernel.org/r/1444699103-20272-1-git-send-email-yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0fd5eba575da7f036fa7092b2b4c13e1416ef4aa Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Thu Oct 15 11:27:40 2015 -0500 ARM: DRA7/AM335x/AM437x: hwmod: Remove elm address space from hwmod data ELM address information is provided by device tree. No longer need to include this information within hwmod. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> [paul@xxxxxxxxx: fixed chip names in subject line; dropped the OMAP4 section since the OMAP4 SoC DTS file doesn't have the ELM address space documented yet] Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 40d4f23f42b0e6997db5bbfba9dc6bf349e8ad81 Merge: e9363de a4c6a3e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 20 09:31:22 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: User visible changes: - 'perf bench mem' now prefaults unconditionally, no sense in providing modes where page faults are measured. (Ingo Molnar) - Harmonize -l/--nr_loops accross 'perf bench'. (Ingo Molnar) - Various 'perf bench' consistency improvements. (Ingo Molnar) - Suppress libtraceevent warnings in non-verbose 'perf test' mode. (Namhyung Kim) - Move some tracepoint event test error messages to the verbose mode of 'perf test'. (Namhyung Kim) - Make 'perf help' usage message consistent with other tools. (Yunlong Song) Build fixes: - Fix 'perf bench' build with gcc 4.4.7. (Arnaldo Carvalho de Melo) Infrastructure changes: - 'perf stat' prep work for the 'perf stat scripting' patchkit. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 10b294b3dcb83d8a4efed1386ea20e851d16db41 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Oct 20 01:29:40 2015 -0600 ARM: OMAP: Remove duplicated operand in OR operation Commit b483a4a5a711 ("ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module") added the SYSC_HAS_RESET_STATUS flag to both OMAP4 and OMAP5 USB host module hwmon sysconfig but that flag was already set for OMAP5. So now the flag appears twice in the expression. make coccicheck complains with the following message: omap_hwmod_54xx_data.c:1846:37-58: duplicated argument to & or | Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> commit 21ed5574d1622118b49b0c6342acc8d27d0799be Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Oct 19 22:37:40 2015 -0400 tools/power turbostat: simplify Bzy_MHz calculation Bzy_MHz = TSC_delta*tsc_tweak/APERF_delta/MPERF_delta/measurement_interval becomes Bzy_MHz = base_mhz/APERF_delta/MPERF_delta on systems which support MSR_NHM_PLATFORM_INFO. base_mhz is calculated directly from the base_ratio reported in MSR_NHM_PLATFORM_INFO * bclk, and bclk is discovered via MSR or cpuid. This reduces the dependency of Bzy_MHz calculation on the TSC. Previously, there were 4 TSC readings required in each caculation, the raw TSC delta combined with the measurement_interval. This also removes the "tsc_tweak" correction factor used when TSC runs on a different base clock from the CPU's bclk. After this change, tsc_tweak is used only for %Busy. The end-result should be a Bzy_MHz result slightly less prone to jitter. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit fbf98265891a672111dac8faabd190f62b678545 Merge: d72c391 72e1eed Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Tue Oct 20 12:34:04 2015 +1100 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into next commit 64862dbc98ca0f57022802e8e286c596d8c183e9 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 21:09:30 2015 +0300 mtd: lpc32xx_mlc: fix warnings caused by enabling unprepared clock If common clock framework is configured, the driver generates a warning, which is fixed by this change: WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:727 clk_core_enable+0x2c/0xa4() Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-rc2+ #206 Hardware name: LPC32XX SoC (Flattened Device Tree) Backtrace: [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c) [<>] (show_stack) from [<>] (dump_stack+0x20/0x28) [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8) [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c) [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xa4) [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38) [<>] (clk_enable) from [<>] (lpc32xx_nand_probe+0x208/0x248) [<>] (lpc32xx_nand_probe) from [<>] (platform_drv_probe+0x50/0xa0) [<>] (platform_drv_probe) from [<>] (driver_probe_device+0x18c/0x408) [<>] (driver_probe_device) from [<>] (__driver_attach+0x70/0x94) [<>] (__driver_attach) from [<>] (bus_for_each_dev+0x74/0x98) [<>] (bus_for_each_dev) from [<>] (driver_attach+0x20/0x28) [<>] (driver_attach) from [<>] (bus_add_driver+0x11c/0x248) [<>] (bus_add_driver) from [<>] (driver_register+0xa4/0xe8) [<>] (driver_register) from [<>] (__platform_driver_register+0x50/0x64) [<>] (__platform_driver_register) from [<>] (lpc32xx_nand_driver_init+0x18/0x20) [<>] (lpc32xx_nand_driver_init) from [<>] (do_one_initcall+0x11c/0x1dc) [<>] (do_one_initcall) from [<>] (kernel_init_freeable+0x10c/0x1d4) [<>] (kernel_init_freeable) from [<>] (kernel_init+0x10/0xec) [<>] (kernel_init) from [<>] (ret_from_fork+0x14/0x24) Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 44cab9c9300f274d17a76ebe9c9628365bca0b3e Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 21:09:29 2015 +0300 mtd: lpc32xx_slc: fix warnings caused by enabling unprepared clock If common clock framework is configured, the driver generates a warning, which is fixed by this change: WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:727 clk_core_enable+0x2c/0xa4() Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 4.3.0-rc2+ #201 Hardware name: LPC32XX SoC (Flattened Device Tree) Backtrace: [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c) [<>] (show_stack) from [<>] (dump_stack+0x20/0x28) [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8) [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c) [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xa4) [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38) [<>] (clk_enable) from [<>] (lpc32xx_nand_probe+0x290/0x568) [<>] (lpc32xx_nand_probe) from [<>] (platform_drv_probe+0x50/0xa0) [<>] (platform_drv_probe) from [<>] (driver_probe_device+0x18c/0x408) [<>] (driver_probe_device) from [<>] (__driver_attach+0x70/0x94) [<>] (__driver_attach) from [<>] (bus_for_each_dev+0x74/0x98) [<>] (bus_for_each_dev) from [<>] (driver_attach+0x20/0x28) [<>] (driver_attach) from [<>] (bus_add_driver+0x11c/0x248) [<>] (bus_add_driver) from [<>] (driver_register+0xa4/0xe8) [<>] (driver_register) from [<>] (__platform_driver_register+0x50/0x64) [<>] (__platform_driver_register) from [<>] (lpc32xx_nand_driver_init+0x18/0x20) [<>] (lpc32xx_nand_driver_init) from [<>] (do_one_initcall+0x11c/0x1dc) [<>] (do_one_initcall) from [<>] (kernel_init_freeable+0x10c/0x1d4) [<>] (kernel_init_freeable) from [<>] (kernel_init+0x10/0xec) [<>] (kernel_init) from [<>] (ret_from_fork+0x14/0x24) Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ff84d2b76312681c1b751b1cc1ec6c476937f101 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 19 12:22:57 2015 -0700 mtd: maps: rbtx4939-flash: fix compile error We got the syntax wrong here. Compile tested this time! Error: drivers/mtd/maps/rbtx4939-flash.c: In function 'rbtx4939_flash_probe': >> drivers/mtd/maps/rbtx4939-flash.c:99:11: error: request for member 'dev' in something not a structure or union info->mtd.dev.parent = &dev->dev; ^ Fixes: 9aa7e50276c1 ("mtd: maps: rbtx4939-flash: show parent device in sysfs") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Frans Klaver <fransklaver@xxxxxxxxx> commit 137d36af4a53858b8db7ca83c8480247118b8bdf Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:56:48 2015 +0200 mtd: mtd-user: remove stdint.h include Kernel headers should use linux/types.h instead. Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ab84fce518175aa09ec6e1bb50c2b41dad3e610a Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Wed Sep 30 09:01:19 2015 +0800 mtd: mtdram: check offs and len in mtdram->erase We should prevent user to erasing mtd device with an unaligned offset or length. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit affa0e033b04996700434312c76df3c78f683870 Merge: 2dd3a88 a0fb6ad Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 20 09:01:49 2015 +1000 Merge tag 'topic/drm-misc-2015-10-19' of git://anongit.freedesktop.org/drm-intel into drm-next More drm-misc for 4.4. - fb refcount fix in atomic fbdev - various locking reworks to reduce drm_global_mutex and dev->struct_mutex - rename docbook to gpu.tmpl and include vga_switcheroo stuff, plus more vga_switcheroo (Lukas Wunner) - viewport check fixes for atomic drivers from Ville - DRM_DEBUG_VBL from Ville - non-contentious header fixes from Mikko Rapeli - small things all over * tag 'topic/drm-misc-2015-10-19' of git://anongit.freedesktop.org/drm-intel: (31 commits) drm/fb-helper: Fix fb refcounting in pan_display_atomic drm/fb-helper: Set plane rotation directly drm: fix mutex leak in drm_dp_get_mst_branch_device drm: Check plane src coordinates correctly during page flip for atomic drivers drm: Check crtc viewport correctly with rotated primary plane on atomic drivers drm: Refactor plane src coordinate checks drm: Swap w/h when converting the mode to src coordidates for a rotated primary plane drm: Don't leak fb when plane crtc coodinates are bad ALSA: hda - Spell vga_switcheroo consistently drm/gem: Use kref_get_unless_zero for the weak mmap references drm/vgem: Drop vgem_drm_gem_mmap drm: Fix return value of drm_framebuffer_init() drm/gem: Use container_of in drm_gem_object_free drm/gem: Check locking in drm_gem_object_unreference drm/gem: Drop struct_mutex requirement from drm_gem_mmap_obj drm/i810_drm.h: include drm/drm.h r128_drm.h: include drm/drm.h savage_drm.h: include <drm/drm.h> gpu/doc: Convert to markdown harder gpu/doc: Add vga_switcheroo documentation ... commit 2dd3a88ac8c0ef7737335babfbacf79be68cfbea Merge: 86b6871 80bea18 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 20 09:00:01 2015 +1000 Merge tag 'drm-intel-next-2015-10-10' of git://anongit.freedesktop.org/drm-intel into drm-next - dmc fixes from Animesh (not yet all) for deeper sleep states - piles of prep patches from Ville to make mmio functions type-safe - more fbc work from Paulo all over - w/a shuffling from Arun Siluvery - first part of atomic watermark updates from Matt and Ville (later parts had to be dropped again unfortunately) - lots of patches to prepare bxt dsi support ( Shashank Sharma) - userptr fixes from Chris - audio rate interface between i915/snd_hda plus kerneldoc (Libin Yang) - shrinker improvements and fixes (Chris Wilson) - lots and lots of small patches all over * tag 'drm-intel-next-2015-10-10' of git://anongit.freedesktop.org/drm-intel: (134 commits) drm/i915: Update DRIVER_DATE to 20151010 drm/i915: Partial revert of atomic watermark series drm/i915: Early exit from semaphore_waits_for for execlist mode. drm/i915: Remove wrong warning from i915_gem_context_clean drm/i915: Determine the stolen memory base address on gen2 drm/i915: fix FBC buffer size checks drm/i915: fix CFB size calculation drm/i915: remove pre-atomic check from SKL update_primary_plane drm/i915: don't allocate fbcon from stolen memory if it's too big Revert "drm/i915: Call encoder hotplug for init and resume cases" Revert "drm/i915: Add hot_plug hook for hdmi encoder" drm/i915: use error path drm/i915/irq: Fix misspelled word register in kernel-doc drm/i915/irq: Fix kernel-doc warnings drm/i915: Hook up ring workaround writes at context creation time on Gen6-7. drm/i915: Don't warn if the workaround list is empty. drm/i915: Resurrect golden context on gen6/7 drm/i915/chv: remove pre-production hardware workarounds drm/i915/snb: remove pre-production hardware workaround drm/i915/bxt: Set time interval unit to 0.833us ... commit 86b6871641db10095cfe7d26eac29c3ad5223a8c Merge: 3187567 a32a3c8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 20 08:58:45 2015 +1000 Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next some rcar fixes. * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev: drm: rcar-du: Fix plane state free in plane reset handler drm: rcar-du: Enable DU0 to DPAD connection on R8A7791 drm: rcar-du: Add dependency on OF drm: rcar-du: Remove obsolete rcar-du-r8a779x platform_device_id entries commit a1f192cf70b187ab01b8b03cdeea82b8820c927a Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Sep 28 14:17:00 2015 -0400 i40e/i40evf: Bump i40e to 1.3.38 and i40evf to 1.3.25 Bump. Change-ID: Id0a7ecaa491f88ce94c9eba4901e592a56044ee0 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 a32a3c800ca3ae822dfdd29f5b7ef81fbf970612 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:42:54 2015 +0300 drm: rcar-du: Fix plane state free in plane reset handler The plane reset handler frees the plane state and allocates a new default state, but when doing so attempt to free the plane state using the base plane state pointer instead of casting it to the driver-specific state object that has been allocated. Fix it by using the rcar_du_plane_atomic_destroy_state() function to destroy the plane state instead of duplicating the code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> commit 6f66a484f1ff644b4600368fe3091e31b65d3c50 Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Sat Sep 19 05:08:45 2015 -0600 i40e: declare rather than initialize int object 'err' would be overwritten immediately, so we should declare it only rather than initialize it to zero. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2bc11c634eaebb936345b136a196f555045a47ea Author: Jean Sacren <sakiwit@xxxxxxxxx> Date: Sat Sep 19 05:08:43 2015 -0600 i40e: fix kernel-doc argument name The second argument name in the kernel-doc argument list for i40e_features_check() was slightly off. Fix it for the kernel doc. Signed-off-by: Jean Sacren <sakiwit@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 52e9689e4ef070eff1e0f9e6e84a8451b86813b5 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Sep 28 14:16:59 2015 -0400 i40e: Move error message to debug level There is an error coming back from get_phy_capabilities that does not seem to have any functional implications. We will continue looking into why this error message is occurring, but in the meantime, we will move it to debug to avoid confusion. Change-ID: I9091754bf62c066ddedeb249923d85606e2d68ed 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 3ce12ee9d8f9ae245f38e6acbd32625d8e002c5b Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Sep 28 14:16:58 2015 -0400 i40e: Fix order of checks when enabling/disabling autoneg in ethtool We were previously checking if autoneg was allowed to change before checking if autoneg was changing. We need to do this in the other order or else we will erroneously return EINVAL when autoneg is not changing. Change-ID: Iff9f7d1c9bddc1ad1e5d227d4f42754f90155410 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 a03dc368547a7a4e9fcedc6f64dd64a9ff5e0593 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Mon Sep 28 14:16:57 2015 -0400 i40e/i40evf: Fix an accidental error with BIT_ULL replacement A mask value of 0x1FF was accidentally replaced with a bit mask causing flow director sideband to be broken. Change-ID: Id3387f67dd1b567b41692b570b383c58671e1eae 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 8589af70d0879a68c93ef77505a6234d22b1b1a7 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Sep 28 14:16:56 2015 -0400 i40e: fix for PHY NVM interaction problem This patch fixes a problem where the NVMUpdate Tool, when using the PHY NVM feature, gets bad data from the PHY because of contention on the MDIO interface from get PHY capability calls from the driver during regular operations. The problem is fixed by adding a check if media is available before calling get PHY capability function because that bit is not set when device is in PHY interaction mode. Change-ID: Ib89991b0f841808dd92410f5e8683d6ee3301cd0 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bcab2db97d2423b97b248ba35eb2277168e71fcc Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Sep 28 14:16:55 2015 -0400 i40e: Fix for Tools loopback test failing after driver load This patch fixes a problem where our Tools MAC Loopback test, after driver unbind would fail. This was because the hw was configured for multiqueue and unbind operation did not clear this configuration. The problem is fixed by resetting this configuration in i40e_remove. Change-ID: I130c05138319182ed1476d3a0b5222d6a6320af9 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ee2319cf17ee64bbd0096f2f8f3f8390c93b1e39 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Sep 28 14:16:54 2015 -0400 i40e/i40evf: adjust interrupt throttle less frequently The adaptive ITR (interrupt throttle rate) algorithm was adjusting the hardware's interrupt rate too frequently. This caused a lot of variation in the interrupt rate for fairly constant workloads. Change the code to have a counter and adjust only once every N number of interrupts. Change-ID: I0460f1f86571037484eca5aca36ac4d889cb8389 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 c56625d59726ee2dc4dfd91c8b6c22098abe1ac4 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Sep 28 14:16:53 2015 -0400 i40e/i40evf: change dynamic interrupt thresholds The dynamic algorithm, while now working, doesn't have good performance in 40G mode. One part of this patch addresses the high CPU utilization of some small streaming workloads that the driver should reduce CPU in. It also changes the minimum ITR that the dynamic algorithm will settle on, causing our minimum latency to go from 12us to about 14us, when using adaptive mode. It also changes the BULK interrupt rate to allow maximum throughput on a 40Gb connection with a single thread of transmit, clamping interrupt rate to 8000 for TX makes single thread traffic go too slow. The new ULTRA bulk setting is introduced and is used when the Rx packet rate on this queue exceeds 40000 packets per second. This value of 40000 was chosen because the automatic tuning of minimum ITR=20us means that a single queue can't quite achieve that many packets per second from a round-robin test. Change-ID: Icce8faa128688ca5fd2c4229bdd9726877a92ea2 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 51cc6d9fccde27310b7dfba2be268ff5b8dcf52d Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Sep 28 14:16:52 2015 -0400 i40e/i40evf: fix bug in throttle rate math The driver was using a value expressed in 2us increments for the divisor to figure out our bytes/usec values. Fix the usecs variable to contain a value in microseconds. Change-ID: I5c20493103c295d6f201947bb908add7040b7c41 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 8f5e39ce9214888464d34ef7949e56bdc999b46c Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Sep 28 14:16:51 2015 -0400 i40e/i40evf: refactor IRQ enable function This change moves a multi-line register setting into a function which simplifies reading the flow of the enable function. This also fixes a bug where the enable function was enabling the interrupt twice while trying to update the two interrupt throttle rate thresholds for Rx and Tx. Change-ID: Ie308f9d0d48540204590cb9d7a5a7b1196f959bb 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 b9029e941dd66d2bc2ab529807a1eef4444f62f0 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Sep 28 14:16:50 2015 -0400 i40evf: don't give up When the VF driver is unable to communicate with the PF, it just gives up and never tries again. Aside from the obvious character flaw that this shows, it's also a lousy user experience. When PF communications fail, wait five seconds, and try again. And again. Don't give up, little VF driver! Your prince will come! Change-ID: Ia1378a39879883563b8faffce819f375821f9585 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 f4f0fb7949a9e55f4f3429381b8b92372038b6cd Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Apr 28 15:26:33 2015 +0300 drm: rcar-du: Enable DU0 to DPAD connection on R8A7791 The DPAD RGB output can be driven by both DU0 and DU1 on R8A7791. Mark the DU0 connection as possible. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit f3bda362b5fcab97509001dc51e64a99e30e6fb7 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Jul 16 11:42:37 2015 +0300 drm: rcar-du: Add dependency on OF The driver requires OF support, add a dependency in Kconfig and remove the platform_device_id table that isn't used anymore. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit d519432c8529efe65174cb683b3fb2f31faecffa Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 14:58:52 2015 +0200 drm: rcar-du: Remove obsolete rcar-du-r8a779x 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> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 5d3465a1e4c01be455ef00834ec365e578942d67 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Tue Sep 29 15:19:50 2015 -0700 i40e/i40evf: use napi_schedule_irqoff() The i40e_intr and i40e/i40evf_msix_clean_rings functions run from hard interrupt context or with interrupts already disabled in netpoll. They can use napi_schedule_irqoff() instead of napi_schedule() Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b30c64508b4131ceacc4b8fd9f01a78e1b1794bf Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 23:31:12 2015 +0800 clk: keystone: fix a trivial typo s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 07f89be81fa51ec85456559d7db9bc71379a20c1 Author: Anjali Singhai <anjali.singhai@xxxxxxxxx> Date: Thu Sep 24 15:26:32 2015 -0700 i40e: Fix basic support for X722 devices Acquire NVM, before issuing an AQ read nvm command for X722. We need to acquire the NVM before issuing an AQ read to the NVM otherwise we will get EBUSY from the FW. Also release when done. This fixes the two X722 issues with respect to eeprom checksum verify and reading NVM version info. With this patch in place, i40e driver will provide basic support for X722 devices. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Acked-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d08f55585f22c38db5fcbed509a71d925e0509c1 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Wed Sep 16 19:01:08 2015 -0700 i40evf: fix overlong BIT defines The defines from the RSS enabling call were mistakenly missed in the patches to the i40e which should have been to i40evf as well. This is a follow up to (commit ed921559886dd40528) "fix 32 bit build warnings". 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 216590355cb0e79fa36c7220176ce850f0e3d276 Author: Kiran Patil <kiran.patil@xxxxxxxxx> Date: Wed Sep 30 14:09:03 2015 -0400 i40e: Lock for VSI's MAC filter list This patch introduces a spinlock which is to be used for synchronizing access to VSI's MAC filter list. This patch also synchronizes execution of other codepaths which are accessing VSI's MAC filter list with execution of service_task:sync_vsi_filters. In function i40e_add_vsi, copied out LAA MAC address instead of cloning MAC filter entry because only MAC address is needed to remove MAC VLAN filter from FW/HW. Change-ID: I0e10ac7c715d44aa994239642aa4d57c998573a2 Signed-off-by: Kiran Patil <kiran.patil@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 a4c6a3e8bbb675a601f529881c51ff226f83c3f1 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 19 18:17:25 2015 -0300 perf bench: Use named initializers in the trailer too To avoid this splat with gcc 4.4.7: cc1: warnings being treated as errors bench/mem-functions.c:273: error: missing initializer bench/mem-functions.c:273: error: (near initialization for â??memcpy_functions[4].descâ??) bench/mem-functions.c:366: error: missing initializer bench/mem-functions.c:366: error: (near initialization for â??memset_functions[4].descâ??) Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0s8o6tgw1pdwvdv02llb9tkd@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d2b5a315ae84d235f00761468885c466f81d7805 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Oct 16 12:41:25 2015 +0200 perf script: Check output fields only for samples There's no need to check sampling output fields for events without perf_event_attr::sample_type field set. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444992092-17897-51-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1fe7a30028eeccd92e6fccfbeb8c5c3811b11b64 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Oct 16 12:41:15 2015 +0200 perf cpu_map: Add data arg to cpu_map__build_map callback Adding data arg to cpu_map__build_map callback, so we could pass data along to the callback. It'll be needed in following patches to retrieve topology info from perf.data. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444992092-17897-41-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f1cbb8f35719e36803f226d1bbf08ac12cedcd76 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Oct 16 12:41:14 2015 +0200 perf cpu_map: Make cpu_map__build_map global We'll need to call it from perf stat in the stat_script patchkit Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444992092-17897-40-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 208df99ed07ca5e86ee41617e0384930fc9ca819 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Oct 16 12:41:04 2015 +0200 perf stat: Add AGGR_UNSET mode Adding AGGR_UNSET mode, so we could distinguish unset aggr_mode in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444992092-17897-30-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 581cc8a2a2a00afc864840720186b0f6a38079d9 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Oct 16 12:41:03 2015 +0200 perf stat: Rename perf_stat struct into perf_stat_evsel It's used as the perf_evsel::priv data, so the name suits better. Also we'll need the perf_stat name free for more generic struct. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444992092-17897-29-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5fcf8d1a0e84792b2bc44922c5d833dab96a9c1e Author: Patrick Doyle <pdoyle@xxxxxxxxxx> Date: Fri Oct 16 12:39:05 2015 +0200 ARM: at91: pm: at91_pm_suspend_in_sram() must be 8-byte aligned fncpy() requires that the source and the destination are both 8-byte aligned. Signed-off-by: Patrick Doyle <pdoyle@xxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Fixes: d94e688cae56 ("ARM: at91/pm: move the copying the sram function to the sram initialization phase") Cc: <stable@xxxxxxxxxxxxxxx> # 4.1+ commit cb0f2538039c65f2bb64a9d427dbe9dd7d0f71a6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Oct 19 16:19:20 2015 +0100 clocksource/drivers/armada-370-xp: Implement ARM delay timer Implement an ARM delay timer to be used for udelay() on Armada 37x platforms. This allows us to skip the delay loop calibration at boot, saving 180ms on the boot time of the kernel (which is around 10%). It also means that udelay() will be unaffected by CPU frequency changes when cpufreq is enabled on these platforms. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 677c884ff6370add1360e2b9558285355ebe2b36 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Oct 19 15:54:21 2015 -0400 drm/amdgpu: add missing dpm check for KV dpm late init Skip dpm late init if dpm is disabled. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 27100735adbcb872854674bed1d000825f9954ac Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Oct 19 15:49:11 2015 -0400 drm/amdgpu/dpm: don't add pwm attributes if DPM is disabled PWM fan control is only available with DPM. There is no non-DPM support on amdgpu, so we should never get a crash here because the sysfs nodes would never be created in the first place. Add the check just in case to be on the safe side. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4af8540f0082812e2e092f2d31dbb4d114eee968 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:51 2015 +0200 ARM: multi_v7_defconfig: Add Atmel SDHCI device The AT91 SDHCI device has been introduced with Atmel SAMA5D2 SoC. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit deb8d801ee0f21fa7da79fb830f17c3181898d2b Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:50 2015 +0200 ARM: multi_v7_defconfig: Add Atmel Flexcom device The Flexcom device has been introduced with Atmel SAMA5D2 SoC. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 08a61cbfd225a39a37f39cc94e9085b9f22c04fb Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:49 2015 +0200 ARM: multi_v7_defconfig: Add Atmel SAMA5D2 SoC Add Atmel SAMA5D2 SoC family to multi_v7 image. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit a40629a0348b6942338d4f086ad8da14cee466c4 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:48 2015 +0200 ARM: at91/defconfig: add sama5d2 and its new devices to sama5 defconfig Add SAMA5D2 SoC plus Atmel flexcom and Atmel sdhci devices. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 23bf637d545338084580d51217446198fa07c7f4 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:47 2015 +0200 ARM: at91/defconfig: update at91_dt defconfig Trivial savedefconfig update. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 86dcfca525bb842f2caf855788cc754bbee8e351 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:46 2015 +0200 ARM: at91/defconfig: update sama5 defconfig Trivial savedefconfig update. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 3a134ae96ca0af06804d343019b85026486e6fe1 Author: Yunlong Song <yunlong.song@xxxxxxxxxx> Date: Thu Oct 15 15:39:51 2015 +0800 perf help: Change 'usage' to 'Usage' for consistency Capitalize 'usage' to make it consistent with all the other 'Usage' in the codes, e.g., usage_builtin. Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Ramkumar Ramachandra <artagnon@xxxxxxxxx> Cc: Sriram Raghunathan <sriram.r@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1444894792-2338-3-git-send-email-yunlong.song@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2a7d44f47f53fa1be677f44c73d78b1bcf9c05d9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Oct 19 09:30:42 2015 -0400 drm/radeon/dpm: don't add pwm attributes if DPM is disabled PWM fan control is only available with DPM. If DPM disabled, don't expose the PWM fan controls to avoid a crash. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92524 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 355b27e181f667dad248a40d3d4d48150e9a593c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Oct 18 10:06:11 2015 +0800 ASoC: ad193x-spi: Add adau1328 to ad193x_spi_id table This driver also supports adau1328, thus add adau1328 to ad193x_spi_id. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9899995e98a4bc670a07e28ff91e3d0dbe08bea9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:25 2015 +0300 spi: dw-mmio: convert to unified device property API Convert the driver to use unfied device property API instead of OF one. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1c2df965387f9a5a657a644bab5a1b5b535365b2 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:24 2015 +0300 spi: dw-pci: remove unused pdev member from struct dw_spi_pci The pdev member is not used anywhere, thus remove it. Moreover struct dw_spi_pci becomes an equivalent of struct dw_spi and therefore remove entire struct dw_spi_pci. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1cc3f141f0cb5a822cdef30fb1d92ae6f4176bfa Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:23 2015 +0300 spi: dw: introduce spi_shutdown_chip() This helper disables SPI controller and sets clock to 0. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d53c0ef319eb5ceb5a089ff3050a2e6808c9adb9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:22 2015 +0300 spi: dw: eliminate unused threshold variables The tx_threshold and rx_threshold variables are not used anywhere. Remove them. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit de6feda884b0079f5f232a41d94da23d198ff230 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:21 2015 +0300 spi: dw: eliminate speed variable in ->transfer_one() There is no point to have a separate variable for speed in ->transfer_one(). While here, remove !chip->clk_div from a condition since it is assigned simultaneously with chip->speed_hz. We can do this safely because a) transfer speed can't be higher than max_freq and therefore chip->clk_div can be 0 only when chip->speed_hz is 0, and b) transfer speed can't be 0, otherwise we will get division by zero exception. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 863cb2f72e636c8721482fd88e256facb59c5737 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:20 2015 +0300 spi: dw: remove bits_per_word member of struct chip_data There is no need to carry over spi->bits_per_word and Co from ->setup() in struct chip_data since ->transfer_one() will anyway take the transfer parameters from struct spi_transfer. This is since SPI core validates both bits_per_word transfer parameter and defaults to spi->bits_per_word in case that per transfer parameter is not set. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4adb1f8f880081ee9921ebd399786387e0cd6f52 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:18 2015 +0300 spi: dw: remove unneeded cr0 member of struct chip_data Since we recalculate cr0 each time we start a transfer the chip_data->cr0 becomes redundant. Remove it and related pieces. This is a follow up to commit 0ed36990a93b (spi: dw: Remove needless if statements). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f0966e61f0a65bef26b9fedbc1a4ab22a6f918b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 23:12:17 2015 +0300 spi: dw: use plain struct device * at earlier ->probe() The name of the master device is set during registrationg which happens after we issue the error message. Change it to plain struct device * to see which device registration failed. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 624729fd51871bfbddb647764f180126789a29ee Author: Omair M Abdullah <omair.m.abdullah@xxxxxxxxx> Date: Wed Oct 14 21:11:43 2015 +0530 ASoC: Intel: Skylake - Add Skylake RT286 I2S machine driver Add the SKL I2S machine driver using Realtek ALC286S codec in I2S mode. Signed-off-by: Omair M Abdullah <omair.m.abdullah@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 512fc048e4fdc39f43e78af7e2fed5047d651979 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Oct 16 15:04:44 2015 +0200 ARM: at91/dt: sama5d2: add missing devices Big update of the sama5d2.dtsi file since many patches have reached te mainline: - add generated clocks - enable crypto devices - add flexcom devices - add tdes device - add sdmmc devices Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2057020db384cb971cfd51296426f447e6d66b64 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Oct 13 10:37:10 2015 +0800 ASoC: rockchip: spdif: Convert to use devm_snd_dmaengine_pcm_register Use resource managed API then we can remove snd_dmaengine_pcm_unregister() and snd_soc_unregister_component() calls in .probe error path and .remove. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aa254af25c40d6d1cdc3f354db29eaf3e85a5ede Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:30 2015 +0200 perf bench: Run benchmarks, don't test them So right now we output this text: memcpy: Benchmark for memcpy() functions memset: Benchmark for memset() functions all: Test all memory access benchmarks But the right verb to use with benchmarks is to 'run' them, not 'test' them. So change this (and all similar texts) to: memcpy: Benchmark for memcpy() functions memset: Benchmark for memset() functions all: Run all memory access benchmarks Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-15-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2f211c84ad40469c15226e899b720624fbd28e20 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:29 2015 +0200 perf bench mem: Rename 'routine' to 'function' So right now there's a somewhat inconsistent mess of the benchmarking code and options sometimes calling benchmarked functions 'functions', sometimes calling them 'routines'. Name them 'functions' consistently. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-14-git-send-email-mingo@xxxxxxxxxx [ Updated perf-bench man page, pointed out by David Ahern ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b0d22e52e3d2c2b151dfaa0f6e01bafa5475344f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:28 2015 +0200 perf bench: Harmonize all the -l/--nr_loops options We have three benchmarking subsystems that specify some sort of 'number of loops' parameter - but all of them do it inconsistently: numa: -l/--nr_loops sched messaging: -l/--loops mem memset/memcpy: -i/--iterations Harmonize them to -l/--nr_loops by picking the numa variant - which is also the most likely one to have existing scripting which we don't want to break. Plus improve the parameter help texts to indicate the default value for the nr_loops variable to keep users from guessing ... Also propagate the naming to internal variables. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-13-git-send-email-mingo@xxxxxxxxxx [ Let the harmonisation reach the perf-bench man page as well ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5dd93304a5d386c73c0a59117752acdca67f857d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:27 2015 +0200 perf bench mem: Reorganize the code a bit Reorder functions a bit, so that we synchronize the layout of the memcpy() and memset() portions of the code. This improves the code, especially after we'll add an strlcpy() variant as well. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-12-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 13b1fdce8d46027f346c0533a4323b58e2b5bad8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:26 2015 +0200 perf bench mem: Improve user visible strings - fix various typos in user visible output strings - make the output consistent (wrt. capitalization and spelling) - offer the list of routines to benchmark on '-r help'. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-11-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a69b4f741340a52d0976636a45c9976a883f03a0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:25 2015 +0200 perf bench mem: Fix 'length' vs. 'size' naming confusion So 'perf bench mem memcpy/memset' consistently uses 'len' and 'length' for buffer sizes - while it's really a memory buffer size. (strings have length.) Rename all affected variables. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-10-git-send-email-mingo@xxxxxxxxxx [ Update perf-bench man page ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 38416e53936ecf896948fdeffc36b76979117952 Author: Zbigniew Jasinski <z.jasinski@xxxxxxxxxxx> Date: Mon Oct 19 18:23:53 2015 +0200 Smack: limited capability for changing process label This feature introduces new kernel interface: - <smack_fs>/relabel-self - for setting transition labels list This list is used to control smack label transition mechanism. List is set by, and per process. Process can transit to new label only if label is on the list. Only process with CAP_MAC_ADMIN capability can add labels to this list. With this list, process can change it's label without CAP_MAC_ADMIN but only once. After label changing, list is unset. Changes in v2: * use list_for_each_entry instead of _rcu during label write * added missing description in security/Smack.txt Changes in v3: * squashed into one commit Changes in v4: * switch from global list to per-task list * since the per-task list is accessed only by the task itself there is no need to use synchronization mechanisms on it Changes in v5: * change smackfs interface of relabel-self to the one used for onlycap multiple labels are accepted, separated by space, which replace the previous list upon write Signed-off-by: Zbigniew Jasinski <z.jasinski@xxxxxxxxxxx> Signed-off-by: Rafal Krypa <r.krypa@xxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit e815e327604af880bdcf38cdd711dfa78627ab2a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:24 2015 +0200 perf bench mem: Rename 'routine' to 'routine_str' So bench/mem-functions.c has a 'routine' name for the routines parameter string, but a 'length_str' name for the length parameter string. We also have another entity named 'routine': 'struct routine'. This is inconsistent and confusing: rename 'routine' to 'routine_str'. Also fix typos in the --routine help text. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-9-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b14f2d357675bd7fb4e5a705ac7320a9638ecab5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:23 2015 +0200 perf bench mem: Change 'cycle' to 'cycles' So 'perf bench mem memset/memcpy' has a CPU cycles measurement method, but calls it 'cycle' (singular) throughout the code, which makes it harder to read. Rename all related functions, variables and options to a plural 'cycles' nomenclature. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-8-git-send-email-mingo@xxxxxxxxxx [ s/--cycle/--cycles/g in perf-bench man page ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7a46a8fd13bd60584687f417cd35935965f29ae2 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:22 2015 +0200 perf bench: List output formatting options on 'perf bench -h' So 'perf bench -h' is not very helpful when printing the help line about the output formatting options: -f, --format <default> Specify format style There are two output format styles, 'default' and 'simple', so improve the help text to: -f, --format <default|simple> Specify the output formatting style Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-7-git-send-email-mingo@xxxxxxxxxx [ Removed leftovers from the mem-functions.c rename ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6db175c7333e22ee818373cbea067e3eaa0236f7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:21 2015 +0200 perf bench: Remove the prefaulting complication from 'perf bench mem mem*' So 'perf bench mem memcpy/memset' has elaborate code to measure memcpy()/memset() performance both with freshly allocated buffers (which includes initial page fault overhead) and with preallocated buffers. But the thing is, the resulting bandwidth results are mostly meaningless, because page faults dominate so much of the cost. It might make sense to measure cache cold vs. cache hot performance, but the code does not do this. So remove this complication, and always prefault the ranges before using them. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-6-git-send-email-mingo@xxxxxxxxxx [ Remove --no-prefault, --only-prefault from docs, noticed by David Ahern ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9b2fa7f3e7799a335fd839906ab4d45b7d595dc4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:20 2015 +0200 perf bench: Rename 'mem-memcpy.c' => 'mem-functions.c' So mem-memcpy.c started out as a simple memcpy() benchmark, then it grew memset() functionality and now I plan to add string copy benchmarks as well. This makes the file name a misnomer: rename it to the more generic mem-functions.c name. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-5-git-send-email-mingo@xxxxxxxxxx [ The "rename" was introducing __unused, wasn't removing the old file, and didn't update tools/perf/bench/Build, fix it ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2946f59ac31d703738c00c684613d289e8d001ea Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:19 2015 +0200 perf bench: Eliminate unused argument from bench_mem_common() Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-4-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9abebb8a10ce93db45327bd3a4d06801e6db92f2 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 17 11:32:19 2015 +0200 NFC: delete null dereference The exit label performs device_unlock(&dev->dev);, which will fail when dev is NULL, and nfc_put_device(dev);, which is not useful when dev is NULL, so just exit the function immediately. Problem found using scripts/coccinelle/null/deref_null.cocci Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b43ef78145b10a3fb81a59596d562f21d9bab8d2 Author: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Date: Tue Oct 13 08:31:04 2015 +0200 NFC: nfcwilink: Drop a useless static qualifier There is no need to have the 'struct nfcwilink *drv' variable static in the probe function. It only wastes a few bytes of memory. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 276197415685e2a91ce367562800cf0f8fbe482c Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:18 2015 +0200 perf bench: Default to all routines in 'perf bench mem' So few people know that the --routine option to 'perf bench memcpy/memset' exists, and would not know that it's capable of testing the kernel's memcpy/memset implementations. Furthermore, 'perf bench mem all' will not run all routines: vega:~> perf bench mem all # Running mem/memcpy benchmark... Routine default (Default memcpy() provided by glibc) # Copying 1MB Bytes ... 894.454383 MB/Sec 3.844734 GB/Sec (with prefault) # Running mem/memset benchmark... Routine default (Default memset() provided by glibc) # Copying 1MB Bytes ... 1.220703 GB/Sec 9.042245 GB/Sec (with prefault) Because misleadingly the 'all' refers to 'all sub-benchmarks', not 'all sub-benchmarks and routines'. Fix all this by making the memcpy/memset routine to default to 'all', which results in all the benchmarks being run: triton:~> perf bench mem all # Running mem/memcpy benchmark... Routine default (Default memcpy() provided by glibc) # Copying 1MB Bytes ... 1.448906 GB/Sec 4.957170 GB/Sec (with prefault) Routine x86-64-unrolled (unrolled memcpy() in arch/x86/lib/memcpy_64.S) # Copying 1MB Bytes ... 1.614153 GB/Sec 4.379204 GB/Sec (with prefault) Routine x86-64-movsq (movsq-based memcpy() in arch/x86/lib/memcpy_64.S) # Copying 1MB Bytes ... 1.570036 GB/Sec 4.264465 GB/Sec (with prefault) Routine x86-64-movsb (movsb-based memcpy() in arch/x86/lib/memcpy_64.S) # Copying 1MB Bytes ... 1.788576 GB/Sec 6.554111 GB/Sec (with prefault) # Running mem/memset benchmark... Routine default (Default memset() provided by glibc) # Copying 1MB Bytes ... 2.082223 GB/Sec 9.126752 GB/Sec (with prefault) Routine x86-64-unrolled (unrolled memset() in arch/x86/lib/memset_64.S) # Copying 1MB Bytes ... 5.710892 GB/Sec 8.346688 GB/Sec (with prefault) Routine x86-64-stosq (movsq-based memset() in arch/x86/lib/memset_64.S) # Copying 1MB Bytes ... 9.765625 GB/Sec 12.520032 GB/Sec (with prefault) Routine x86-64-stosb (movsb-based memset() in arch/x86/lib/memset_64.S) # Copying 1MB Bytes ... 9.668936 GB/Sec 12.682630 GB/Sec (with prefault) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-3-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f5bad43b53cbcd1a017c6df3d1bf2c6412a465bd Author: Adam Sampson <ats@xxxxxxxxx> Date: Sat Oct 17 23:08:29 2015 +0100 ARM: dts: sun7i: Enable USB DRC on pcDuino v3 Nano The OTG arrangement on the LinkSprite pcDuino v3 Nano is the same as the pcDuino 1/2/3: the OTG port's 5V line is connected directly to the 5V bus (it's not switchable), and the OTG port's ID pin is connected to PH4 on the A20. Tested successfully in both host and device modes. Signed-off-by: Adam Sampson <ats@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 13839ec495a31844d66d487f740c07771c60a0d0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:04:17 2015 +0200 perf bench: Improve the 'perf bench mem memcpy' code readability - improve the readability of initializations - fix unnecessary double negations - fix ugly line breaks - fix other small details Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1445241870-24854-2-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7cf6d08cafd67a34d0d78cd15baf64e214e050cb Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Oct 11 13:24:13 2015 +0200 NFC: nxp-nci: constify nxp_nci_phy_ops structure The only instance of a nxp_nci_phy_ops structure is never modified. Thus the declaration of the structure and all references to the structure type can be made const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 96577bcdf4868605325485d27d89726a30450e5c Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Oct 18 00:04:09 2015 +0800 ARM: dts: sun6i: Add support for Sinlinx A31s SDK board The Sinlinx A31s SDK is a A31s based module/baseboard development kit. The core module has the SoC, PMIC, DRAM, eMMC and supporting components. There are also pads for UART0, JTAG and I2S. The baseboard has 100 Mbps Ethernet, 5x USB 2.0 host ports via a USB 2.0 hub chip, MMC, HDMI, SPDIF, CIR, audio jacks, 2 tablet-like volume buttons, RS232 style UART and USB OTG (though VBUS is not connected). Various headers are available for other addon modules, such as SDIO WiFi, LCD display, camera sensor, UARTs, I2C, SPI and GPIOs. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 893a84e8180dcc37a3b0fd19d04dbe6cbc6e33db Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Sep 25 10:59:04 2015 +0200 NFC: nfcmrvl: Auto-select core module As I understand it, the core nfcmrvl module is useless without either the USB or the UART access module. So hide NFC_MRVL and select it automatically if either NFC_MRVL_USB or NFC_MRVL_UART is selected. This avoids presenting NFC_MRVL when neither NFC_MRVL_USB nor NFC_MRVL_UART can be selected. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Lauro Ramos Venancio <lauro.venancio@xxxxxxxxxxxxx> Cc: Aloisio Almeida Jr <aloisio.almeida@xxxxxxxxxxxxx> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 04831ae41c034db2e2922c460cc818c4a1f6e7e0 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Sep 25 10:52:26 2015 +0200 NFC: microread: Auto-select core module As I understand it, the core nfc_microread module is useless without either the I2C or the MEI access module. So hide NFC_MICROREAD and select it automatically if either NFC_MICROREAD_I2C or NFC_MICROREAD_MEI is selected. This avoids presenting NFC_MICROREAD when neither NFC_MICROREAD_I2C nor NFC_MICROREAD_MEI can be selected. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Lauro Ramos Venancio <lauro.venancio@xxxxxxxxxxxxx> Cc: Aloisio Almeida Jr <aloisio.almeida@xxxxxxxxxxxxx> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2690c730935873065175de33f59cce5bb221b9dc Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Oct 20 00:23:49 2015 +0900 perf test: Suppress libtraceevent warnings Currently libtraceevent emits warning on unsupported event formats. However it'd be better to see them only -v option is given. To do that, it needs to override the warning() function which is used in the libtracevent. Thus add set_warning_routine() same as set_die_routine() and check the verbose flag in our warning routine. Before: # perf test 5 5: parse events tests : Warning: [kvmmmu:kvm_mmu_get_page] bad op token { Warning: [kvmmmu:kvm_mmu_sync_page] bad op token { Warning: [kvmmmu:kvm_mmu_unsync_page] bad op token { Warning: [kvmmmu:kvm_mmu_prepare_zap_page] bad op token { Warning: [kvmmmu:fast_page_fault] function is_writable_pte not defined ... Ok After: # perf test 5 5: parse events tests : Ok Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445268229-1601-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8719138318316656988dbd422461c1addc9a9159 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Oct 20 00:23:48 2015 +0900 perf test: Silence tracepoint event failures Currently, when 'perf test' is run by a normal user, it'll fail to access tracepoint events. The output becomes somewhat messy because it tries to be nice with long error messages and hints. IMHO this is not needed for 'perf test' by default and AFAIK 'perf test' uses pr_debug() rather than pr_err() for such messages so that one can use -v option to see further details on failed testcases if needed. Before: $ perf test 1: vmlinux symtab matches kallsyms : FAILED! 2: detect openat syscall event :Error: No permissions to read /sys/kernel/debug/tracing/events/syscalls/sys_enter_openat Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing' FAILED! 3: detect openat syscall event on all cpus :Error: No permissions to read /sys/kernel/debug/tracing/events/syscalls/sys_enter_openat Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing' FAILED! ... After: $ perf test 1: vmlinux symtab matches kallsyms : FAILED! 2: detect openat syscall event : FAILED! 3: detect openat syscall event on all cpus : FAILED! ... $ perf test -v 2 2: detect openat syscall event : --- start --- test child forked, pid 30575 Error: No permissions to read /sys/kernel/debug/tracing/events/syscalls/sys_enter_openat Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing' test child finished with -1 ---- end ---- detect openat syscall event: FAILED! Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1445268229-1601-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2117c12ab4d351cb309331ba8605a9d4e03f2f1 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Fri Sep 25 10:49:36 2015 +0200 NFC: pn544: Auto-select core module As I understand it, the core nfc_pn544 module is useless without either the I2C or the MEI access module. So hide NFC_PN544 and select it automatically if either NFC_PN544_I2C or NFC_PN544_MEI is selected. This avoids presenting NFC_PN544 when neither NFC_PN544_I2C nor NFC_PN544_MEI can be selected. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Lauro Ramos Venancio <lauro.venancio@xxxxxxxxxxxxx> Cc: Aloisio Almeida Jr <aloisio.almeida@xxxxxxxxxxxxx> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3c39c1a54a26c5495d48df796bc1f3fba78667f2 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 11:08:42 2015 +0200 NFC: trf7970a: Add OF match table The Documentation/devicetree/bindings/net/nfc/trf7970a.txt DT binding doc lists "ti,trf7970a" 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: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9f93f3e9461a30f425fdba15784db67ce878ce00 Author: Jungseok Lee <jungseoklee85@xxxxxxxxx> Date: Sat Oct 17 14:28:11 2015 +0000 arm64: Synchronise dump_backtrace() with perf callchain Unlike perf callchain relying on walk_stackframe(), dump_backtrace() has its own backtrace logic. A major difference between them is the moment a symbol is recorded. Perf writes down a symbol *before* calling unwind_frame(), but dump_backtrace() prints it out *after* unwind_frame(). As a result, the last valid symbol cannot be hooked in case of dump_backtrace(). This patch addresses the issue as synchronising dump_backtrace() with perf callchain. A simple test and its results are as follows: - crash trigger $ sudo echo c > /proc/sysrq-trigger - current status Call trace: [<fffffe00003dc738>] sysrq_handle_crash+0x24/0x30 [<fffffe00003dd2ac>] __handle_sysrq+0x128/0x19c [<fffffe00003dd730>] write_sysrq_trigger+0x60/0x74 [<fffffe0000249fc4>] proc_reg_write+0x84/0xc0 [<fffffe00001f2638>] __vfs_write+0x44/0x104 [<fffffe00001f2e60>] vfs_write+0x98/0x1a8 [<fffffe00001f3730>] SyS_write+0x50/0xb0 - with this change Call trace: [<fffffe00003dc738>] sysrq_handle_crash+0x24/0x30 [<fffffe00003dd2ac>] __handle_sysrq+0x128/0x19c [<fffffe00003dd730>] write_sysrq_trigger+0x60/0x74 [<fffffe0000249fc4>] proc_reg_write+0x84/0xc0 [<fffffe00001f2638>] __vfs_write+0x44/0x104 [<fffffe00001f2e60>] vfs_write+0x98/0x1a8 [<fffffe00001f3730>] SyS_write+0x50/0xb0 [<fffffe00000939ec>] el0_svc_naked+0x20/0x28 Note that this patch does not cover a case where MMU is disabled. The last stack frame of swapper, for example, has PC in a form of physical address. Unfortunately, a simple conversion using phys_to_virt() cannot cover all scenarios since PC is retrieved from LR - 4, not LR. It is a big tradeoff to change both head.S and unwind_frame() for only a few of symbols in *.S. Thus, this hunk does not take care of the case. Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Cc: James Morse <james.morse@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 096b3224d5e7239ec3e5033bbc7612ac2d5dec3a Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Wed Sep 16 22:23:21 2015 +0800 arm64: add cpu_idle tracepoints to arch_cpu_idle Currently, if cpuidle is disabled or not supported, powertop reports zero wakeups and zero events. This is due to the cpu_idle tracepoints are missing. This patch is to make cpu_idle tracepoints always available even if cpuidle is disabled or not supported. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 215399392fe40f33880ea9de49a1ed8ee26edd10 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:38 2015 +0100 arm64: 36 bit VA 36bit VA lets us use 2 level page tables while limiting the available address space to 64GB. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Steve Capper <steve.capper@xxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 44eaacf1b8999b15cec89bd9d9cd989da4798d53 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:37 2015 +0100 arm64: Add 16K page size support This patch turns on the 16K page support in the kernel. We support 48bit VA (4 level page tables) and 47bit VA (3 level page tables). With 16K we can map 128 entries using contiguous bit hint at level 3 to map 2M using single TLB entry. TODO: 16K supports 32 contiguous entries at level 2 to get us 1G(which is not yet supported by the infrastructure). That should be a separate patch altogether. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Jeremy Linton <jeremy.linton@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Steve Capper <steve.capper@xxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 9d372c9fab34cd8803141871195141995f85c7f7 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Mon Oct 19 14:19:36 2015 +0100 arm64: Add page size to the kernel image header This patch adds the page size to the arm64 kernel image header so that one can infer the PAGESIZE used by the kernel. This will be helpful to diagnose failures to boot the kernel with page size not supported by the CPU. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4bf8b96ed3f7e11422d8b4f58cf43896ed02d1f6 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:35 2015 +0100 arm64: Check for selected granule support Ensure that the selected page size is supported by the CPU(s). If it doesn't park it. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit db488be354bc85724d7b9523e94435fdaa761a35 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:34 2015 +0100 arm64: Kconfig: Fix help text about AArch32 support with 64K pages Update the help text for ARM64_64K_PAGES to reflect the reality about AArch32 support. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit e25781e3dea914cc4c34c946bae5fa3d4516516f Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Mon Oct 19 14:19:33 2015 +0100 arm64: Simplify NR_FIX_BTMAPS calculation We choose NR_FIX_BTMAPS such that each slot (NR_FIX_BTMAPS * PAGE_SIZE) can address 256K. Use division to derive NR_FIX_BTMAPS rather than defining it for each page size. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 755e70b7e3f189aa2503c510fb98208e477a5030 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:32 2015 +0100 arm64: Clean config usages for page size We use !CONFIG_ARM64_64K_PAGES for CONFIG_ARM64_4K_PAGES (and vice versa) in code. It all worked well, so far since we only had two options. Now, with the introduction of 16K, these cases will break. This patch cleans up the code to use the required CONFIG symbol expression without the assumption that !64K => 4K (and vice versa) Cc: Will Deacon <will.deacon@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 6a3fd4026c0c0ac279265c2a5d228233b5bbd28f Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:31 2015 +0100 arm64: Handle 4 level page table for swapper At the moment, we only support maximum of 3-level page table for swapper. With 48bit VA, 64K has only 3 levels and 4K uses section mapping. Add support for 4-level page table for swapper, needed by 16K pages. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c265af51c5f17ec5c0cf0d960133bd6fe5f39eb9 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:30 2015 +0100 arm64: Calculate size for idmap_pg_dir at compile time Now that we can calculate the number of levels required for mapping a va width, reserve exact number of pages that would be required to cover the idmap. The idmap should be able to handle the maximum physical address size supported. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 686e783869d37935510b4d2c266948677be82665 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:29 2015 +0100 arm64: Introduce helpers for page table levels Introduce helpers for finding the number of page table levels required for a given VA width, shift for a particular page table level. Convert the existing users to the new helpers. More users to follow. Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit b433dce056d3814dc4b33e5a8a533d6401ffcfb0 Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:28 2015 +0100 arm64: Handle section maps for swapper/idmap We use section maps with 4K page size to create the swapper/idmaps. So far we have used !64K or 4K checks to handle the case where we use the section maps. This patch adds a new symbol, ARM64_SWAPPER_USES_SECTION_MAPS, to handle cases where we use section maps, instead of using the page size symbols. Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 87d1587bef394cd8a77dbca8cc92885fe7041b8f Author: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Date: Mon Oct 19 14:19:27 2015 +0100 arm64: Move swapper pagetable definitions Move the kernel pagetable (both swapper and idmap) definitions from the generic asm/page.h to a new file, asm/kernel-pgtable.h. This is mostly a cosmetic change, to clean up the asm/page.h to get rid of the arch specific details which are not needed by the generic code. Also renames the symbols to prevent conflicts. e.g, BLOCK_SHIFT => SWAPPER_BLOCK_SHIFT Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Suzuki K. Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d3e94f3f2c0f669dfa0d0d51645d5d7d13a9c074 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 12 14:07:41 2015 -0700 mtd: pxa3xx_nand: switch to device PM The old PM model is deprecated. This is equivalent. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> commit 2e17497ccfdf0da39595eb98434fdbac93ad3f9b Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 12 13:33:11 2015 -0700 mtd: pxa3xx_nand: don't duplicate MTD suspend/resume mtd_{suspend,resume}() get called from mtdcore in a class suspend/resume callback. We don't need to call them again here. In practice, this would actually work OK, as nand_base actually handles nesting OK -- it just might print warnings. Untested, but there are few (no?) users of PM for this driver AFAIK. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> commit 01a3c625766328200de1656915007537739847aa Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Oct 14 00:39:44 2015 -0300 mtd: fsl-quadspi: Include <linux/sizes.h> to avoid build error Building for x86 results in the following build errors: drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_init_lut': >> drivers/mtd/spi-nor/fsl-quadspi.c:355:21: error: 'SZ_16M' undeclared (first use in this function) if (q->nor_size <= SZ_16M) { ^ drivers/mtd/spi-nor/fsl-quadspi.c:355:21: note: each undeclared identifier is reported only once for each function it appears in drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_read': >> drivers/mtd/spi-nor/fsl-quadspi.c:208:27: error: 'SZ_4M' undeclared (first use in this function) #define QUADSPI_MIN_IOMAP SZ_4M ^ >> drivers/mtd/spi-nor/fsl-quadspi.c:845:25: note: in expansion of macro 'QUADSPI_MIN_IOMAP' q->memmap_len = len > QUADSPI_MIN_IOMAP ? len : QUADSPI_MIN_IOMAP; Explicitly include <linux/sizes.h> to fix the problem. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d26a22d06708ba5a181003d44fcd6d0885cec8d4 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 12 13:35:16 2015 -0700 mtd: fsl-quadspi: allow building for other ARCHes with COMPILE_TEST This driver doesn't actually need ARCH_MXC to compile. Relax the constraints. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Han xu <han.xu@xxxxxxxxxxxxx> commit a5c603a22bff27f3aea7e747af4229d75278f3ff Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Oct 12 13:35:15 2015 -0700 mtd: fsl-quadspi: fix printk() format warning for size_t Seen when compile-testing on non-32-bit arch: CC drivers/mtd/spi-nor/fsl-quadspi.o drivers/mtd/spi-nor/fsl-quadspi.c: In function 'fsl_qspi_read': drivers/mtd/spi-nor/fsl-quadspi.c:873:2: warning: format '%d' expects argument of type 'int', but argument 6 has type 'size_t' [-Wformat=] dev_dbg(q->dev, "cmd [%x],read from 0x%p, len:%d\n", ^ Also drop the '0x' prefixing to the '%p' formatter, since %p already knows how to format pointers appropriately. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Han xu <han.xu@xxxxxxxxxxxxx> commit a23eb34198c68d9cfdcb7f09f56f2ff416b77c90 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:13 2015 -0700 mtd: spi-nor: add DUAL_READ for w25q{32,64}dw These flash support dual and quad read. Tested dual read on the 32 Mbit version. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f9fff064bb83c55b3fc6291e3b59e3bc78fedddf Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 15 16:53:27 2015 -0400 drm/amdgpu/dce: simplify suspend/resume We were basically opencoding the same thing in both hw_init and resume and hw_fini and suspend. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9254970cbbf542a0085e491810f0144a27885702 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Oct 19 13:38:09 2015 +0100 ARM: 8447/1: catch pending imprecise abort on unmask Install a non-faulting handler just before unmasking imprecise aborts and switch back to the regular one after unmasking is done. This catches any pending imprecise abort that the firmware/bootloader may have left behind that would normally crash the kernel at that point. As there are apparently a lot of bootlaoders out there that do such a thing it makes sense to handle it in the common startup code. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Tested-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c8d46ece44458a2088896d6fcae123a72bdfd429 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Oct 19 09:17:40 2015 +0100 ARM: 8446/1: amba: Remove unused callbacks for legacy system PM Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8a603f91cc4848ab1a0458bc065aa9f64322e123 Author: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Date: Fri Oct 16 22:19:06 2015 +0100 ARM: 8445/1: fix vdsomunge not to depend on glibc specific byteswap.h If the host toolchain is not glibc based then the arm kernel build fails with HOSTCC arch/arm/vdso/vdsomunge arch/arm/vdso/vdsomunge.c:48:22: fatal error: byteswap.h: No such file or directory Observed: with omap2plus_defconfig and compile on Mac OS X with arm ELF cross-compiler. Reason: byteswap.h is a glibc only header. Solution: replace by private byte-swapping macros (taken from arch/mips/boot/elf2ecoff.c and kindly improved by Russell King) Tested to compile on Mac OS X 10.9.5 host. Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 236be662979f74d510ed70e069a3683906fe13df Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 14:21:34 2015 +0200 ARM: at91/dt: sama5d4: add the macb1 node The second macb is present on all the sama5d4 SoCs. Let's add a node reflecting it in the device tree. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7c512d551eac34767cafcd2177b5b69e13c87f54 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Mon Sep 7 17:47:58 2015 +0200 ARM: at91/dt: add pullup on mmc2 data signals MMC data lines may be left floating if nothing is currently driving the data lines, which is the case when mmc is in idle state, thus consuming a useless extra amount of power. Add pullup on mmc2 data signals in the same way it was previously done for mmc0 and mmc1. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 143877e68107e38d19555657c2ec528597ffb70c Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Wed Oct 14 10:59:56 2015 +0800 ARM: at91/dt: sama5d2_xplained: add regulator nodes Add regulator nodes of PMIC ACT8945A chip on the board. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 0db090d5428e53c6b939c65e9fdc01619137d529 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 13:24:24 2015 +0200 ARM: at91/dt: fix "disabled" property on at91rm9200 Fix instances of "disable" instead of "disabled" in the at91rm9200 dtsi. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 620f50332232b089815f7255f6a5fff0a8b10e63 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:28:38 2015 +0200 ARM: at91/dt: use syscon for PMC The PMC is not only used to drive the clocks but also has some registers related to other functions. One of those is for example the USB gadget bias. Using a syscon allows to properly separate those functions. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 606bb5e0b28b540685fb94c22902cd9a948a3779 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 8 11:43:34 2015 +0300 drm/i915: Use round to closest when computing the CEA 1.001 pixel clocks drm_edid.c now computes the alternate CEA clocks using DIV_ROUND_CLOSEST(), so follow suit in the N/CTS setup to make sure we pick the right setting for the mode. Unfortunately we can't actually use DIV_ROUND_CLOSEST() here due to the ({}) construct used, so just stick in raw numbers instead. Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Cc: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Adam Jackson <ajax@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 57df5380853460bc66b59a46273ce113c923d39c Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:23:33 2015 -0700 ARM: OMAP2+: Fix imprecise external abort caused by bogus SRAM init Some omaps are producing imprecise external aborts because we are wrongly trying to init SRAM for device tree based booting. Only omap3 is still using the legacy SRAM code, so we need to make it omap3 specific. Otherwise we can get errors like this on at least dm814x: Unhandled fault: imprecise external abort (0xc06) at 0xc08b156c ... (omap_rev) from [<c08b12e0>] (omap_sram_init+0xf8/0x3e0) (omap_sram_init) from [<c08aca0c>] (omap_sdrc_init+0x10/0xb0) (omap_sdrc_init) from [<c08b581c>] (pdata_quirks_init+0x18/0x44) (pdata_quirks_init) from [<c08b5478>] (omap_generic_init+0x10/0x1c) (omap_generic_init) from [<c08a57e0>] (customize_machine+0x1c/0x40) (customize_machine) from [<c00098a4>] (do_one_initcall+0x80/0x1dc) (do_one_initcall) from [<c08a2ec4>] (kernel_init_freeable+0x218/0x2e8) (kernel_init_freeable) from [<c063a554>] (kernel_init+0x8/0xec) (kernel_init) from [<c000f890>] (ret_from_fork+0x14/0x24) Let's fix the issue by making sure omap_sdrc_init only gets called for omap3. To do that, we need to have compatible "ti,omap3" in the dts files. And let's also use "ti,omap3630" instead of "ti,omap36xx" like we're supposed to. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 607e266c47ef552b6f87c7cf0ba7f3c28ea5af14 Author: Rajesh Bhagat <rajesh.bhagat@xxxxxxxxxxxxx> Date: Wed Oct 14 11:04:12 2015 +0530 ARM: dts: ls1021a: Add quirk for Erratum A009116 Add "snps,quirk-frame-length-adjustment" property to USB3 node for erratum A009116. This property provides value of GFLADJ_30MHZ for post silicon frame length adjustment. Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Rajesh Bhagat <rajesh.bhagat@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 9a9214598aabdddbfbfd31fe167f97686d0b229c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 00:12:33 2015 +0300 ARM: imx6sx-sdb: Fix typo in regulator enable GPIO property The property name should be "gpio", not "gpios". Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reviewed-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit a452afa317e7017ae0e6f3ff443191f6eedc85e3 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 13:43:55 2015 +0200 ARM: dts: imx6: phyFLEX: fix typo in "pinctrl-names" Fix a typo, replacing "pinctrl-name" by "pinctrl-names" in the Phytec phyFLEX-i.MX6 Quad dtsi. Also fix a typo in the board name Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 833f2cbf7091099baee28136dc68678e974c0ac5 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Sat Oct 10 18:15:07 2015 +0800 ARM: dts: imx6: change the core clock of spdif The correct core clock of spdif is SPDIF_GCLK, which is added to clock tree. So the dts also need to be updated. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 654252659ed97062a0973cd2bdd31a8cca655082 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Oct 7 16:58:36 2015 -0700 ARM: dts: vf-colibri: enable NAND flash controller Enable NAND access by adding pinmux and NAND flash controller node to device tree. The NAND chips currently used on the Colibri VF61 requires 8-bit ECC per 512 byte page, hence specify 32-bit ECC strength per 2k page size. Reviewed-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit baeeb541e653ba83a593f3f9b857c55e7bf6ba72 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Oct 7 16:58:35 2015 -0700 ARM: dts: vf610twr: add NAND flash controller peripherial This adds the NAND flash controller (NFC) peripherial. The driver supports the SLC NAND chips found on Freescale's Vybrid Tower System Module. The Micron NAND chip on the module needs 4-bit ECC per 512 byte page. Use 24-bit ECC per 2k page, which is supported by the driver. Signed-off-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Reviewed-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 397a7d45355a25fa1445134fafb48850a24f2abb Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:46 2015 +0200 ARM: dts: imx: add Boundary Devices Nitrogen6_Lite board Based on an i.MX6 Solo with 512MB DDR3. http://boundarydevices.com/product/nitrogen6_lite/ Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit b32e700256bce81a3cdea7869c6fe48b567ff434 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:45 2015 +0200 ARM: dts: imx: add Boundary Devices Nitrogen6_Max board Based on i.MX6 Quad with 4GB of DDR3. http://boundarydevices.com/product/nitrogen6max/ Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 4629cb7f473ea518d155e1a9f0ae818731977776 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:44 2015 +0200 ARM: dts: imx6dl-nitrogen6x: change manufacturer to Boundary Devices Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 64618e71da2f93721fad2397a85a433c10ce2bfa Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:43 2015 +0200 ARM: dts: imx6q-nitrogen6x: change manufacturer to Boundary Devices Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 16fa43988ccaecc99d390938211e55ab58cea962 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:42 2015 +0200 of: Add Boundary Devices Inc. vendor prefix This patch adds the vendor prefix for Boundary Devices Inc. which is a supplier of ARM-based single board computers and System-on-Modules for the general embedded market. Website: http://boundarydevices.com/ Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 95a9e6cb9f38f980d01f8eee67b9004b86a9724c Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:41 2015 +0200 ARM: dts: imx6qdl-sabrelite: relicense under GPLv2/X11 Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit a0689609f06958ce4cdda22bf88de78241d87b66 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:40 2015 +0200 ARM: dts: imx6qdl-nitrogen6x: relicense under GPLv2/X11 Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit f12fb7a27a5d0d3a71d949398a79500d5c75e297 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:39 2015 +0200 ARM: dts: imx6qdl-nitrogen6x: add wifi wl1271 support Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 140fa36f04fa534c17b31f135fc426a5620066db Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:46:38 2015 +0200 ARM: dts: imx6dql-nitrogen6x: add touchscreen support This patch adds the different touchscreens that can be connected using the displays available for this board. http://boundarydevices.com/product-category/displays/ Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d0ddcc5310934deff62d434dc5d2b82d729f87fa Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:05:20 2015 +0200 ARM: dts: imx6qdl-sabrelite: add Okaya LCD panel This patch adds support for the 7" LCD display available for Sabrelite: http://boundarydevices.com/product/7-800x480-display/ Also add label to backlight_lcd and connect it to the panel. Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 9c3d8fa0604cdcd0b12c3bb3a4972a2413806cf9 Author: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 15:05:19 2015 +0200 ARM: dts: imx6qdl-nitrogen6x: add Okaya LCD panel This patch adds support for the 7" LCD display available for Nitrogen6x: http://boundarydevices.com/product/7-800x480-display/ Also add label to backlight_lcd and connect it to the panel. Signed-off-by: Gary Bisson <gary.bisson@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6e994c5a1dc8c89671717575408c94316fe7f7d8 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Tue Sep 1 18:06:53 2015 +0530 ARM: dts: vf500-colibri: Add device tree node for touchscreen support Add device tree node for touchscreen support on Colibri VF50. The touchscreen functionality on VF50 uses the ADC channels of Vybrid and some GPIOs. Also add pinctrl nodes for proper pinmux. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit b2bbb1669d4f6c1513ba74351264a1abb69575f3 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Fri Sep 25 20:35:31 2015 +0300 ARM: dts: i.MX35: fix cpu compatible value The change corrects cpu compatible property to a defined one, see Documentation/devicetree/bindings/arm/cpus.txt Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit bc6cde35893e300a3bd6b12ecbe75749486dc127 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Fri Sep 25 20:35:30 2015 +0300 ARM: dts: i.MX31: fix cpu compatible value The change corrects cpu compatible property to a defined one, see Documentation/devicetree/bindings/arm/cpus.txt Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 149c08e075953dd6323545808cdfd8c95e9d1b20 Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Fri Sep 25 16:05:57 2015 -0500 ARM: dts: imx: imx7d add iomuxc lpsr device node Add device tree node to support iomuxc-lpsr controller, fsl,input-sel phandle allows to get input select register base address which is shared from main iomuxc controller. Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 47bcc8c07a4a76b6f5786fb8fb8091c6d4764782 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Mon Sep 7 10:55:02 2015 +0800 ARM: dts: imx7d-sdb: add fec1 and fec2 support Enable fec1 and fec2 for i.MX7d-sdb board. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 5b8e6ed482b3913c4af26f537b0bc27c77cac452 Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Fri Sep 18 11:29:52 2015 -0500 ARM: dts: imx7d-pinfunc: add gpio1 pad iomux settings - Add imx7 SoC GPIO1 pad iomuxc settings <mux_reg conf_reg input_reg mux_mode input_val> - Fix UART input select daisy chain setting values Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 60f0ea12d59ed366547b0a3fd5b3a76fccb56899 Author: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Date: Wed Sep 16 16:20:43 2015 +0800 ARM: dts: Add node for ina220 on LS1021ATWR The INA220 monitors both shunt drop and supply voltage. Signed-off-by: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 70b5ea97281fb9ee1ed17c9b9c866a6604b843df Author: Alison Wang <b18965@xxxxxxxxxxxxx> Date: Mon Sep 14 14:45:28 2015 +0800 ARM: ls1021a: Add dma-coherent property for eTSEC nodes This patch adds dma-coherent property for eTSEC nodes, so coherent DMA operations are supported. Signed-off-by: Alison Wang <alison.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit a81fd34da086a62907d2cca920b4788bfc71357f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 7 22:57:12 2015 -0300 ARM: dts: imx7d-sdb: Add USB support Add support for USBOTG1 and USBOTG2. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 60f5a223821b6ba471a5bc555338ab892908e99e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 7 22:57:11 2015 -0300 ARM: dts: imx7d: Add USB support Add USB OTG and Host support. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 0f629217cf4bd43fd1240323a0a1f0af8d9ee235 Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Mon Sep 7 10:55:01 2015 +0800 ARM: dts: imx7d: add fec1 and fec2 support for i.MX7d soc Add fec1 and fec2 nodes for i.MX7d soc. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 816aa61c331b763fcb5346eefe8546da5cb588d8 Author: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Date: Wed Aug 12 10:42:41 2015 +0300 ARM: dts: ls1021a: add crypto node Signed-off-by: Horia GeantÄ? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d272c07b5304f913258127eb722dae7730fbfc5f Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Fri Aug 28 17:09:36 2015 +0800 ARM: dts: imx6ul-14x14-evk.dts: add tsc support Add touch screen surpport for i.MX6UL-EVK board. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 3add09695ba0f512e653890a9d56973bf9dbb1c2 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Fri Aug 28 17:09:35 2015 +0800 ARM: dts: imx6ul.dtsi: add TSC support Add imx6ul touchscreen controller support. TSC module need ADC2 module to measure the touchscreen coordinate value. This patch put TSC and ADC2 together, make ADC2 module only be used for TSC, can't be used as a normal ADC. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 208c9fe21511bd13831f4802aaf3bfa860728248 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Sep 2 15:16:20 2015 -0300 ARM: dts: imx7d: Add PWM support Add the PWM1-4 nodes. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 1387349d0abc73590b3bf7fc613d546bfab7fd52 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Sep 2 12:55:21 2015 -0300 ARM: dts: imx6sl: Complete the dcp node The DCP block present on MX6SL is compatible with the one on MX28, so add the compatible string and also complete the interrupt entries. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 79826ac6bb6d12c9a71f6e8db798d3714819d2d5 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Aug 16 08:39:17 2015 +0200 ARM: dts: imx: add "jedec,spi-nor" flash compatible binding Starting with commit 8947e396a829 ("Documentation: dt: mtd: replace "nor-jedec" binding with "jedec, spi-nor"") we have "jedec,spi-nor" binding indicating support for JEDEC identification. Use it for all flashes that are supposed to support READ ID op according to the datasheets. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit a7be1e687731e2444f4ea261897b2e8448f5acbf Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Wed Aug 12 22:21:56 2015 +0000 ARM: mxs: enable ocotp for i.MX23 and i.MX28 This patch enables On Chip OTP support for i.MX23 and i.MX28 SoCs, but keeps the old compatible string. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit f651d7816b97fc1468c4b637628a8951a3cb9dac Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Tue Aug 11 19:38:29 2015 +0800 ARM: dts: imx7d-sdb: add eMMC5.0 support imx7d-sdb board has a eMMC5.0 on usdhc3. This eMMC support HS400. This patch add usdhc3 support for HS400 Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Dong Aisheng <aisheng.dong@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit ab0a05d818d5a6e322e6ccd11a33845b477f9ab7 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Sun Sep 6 15:29:34 2015 +0800 ARM: dts: imx6ul: add pm_power_off support i.MX6UL can be powered off by programming SNVS. When long press ON/OFF button(5 seconds), PMIC_ON_REQ pin will be set to low and external PMIC will be powered off. And system can be powered on by long press ON/OFF button again. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 51a374438c33950dd9effc33a005dac2ccc52a2b Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Wed Aug 5 01:48:36 2015 +0800 ARM: dts: imx6ul: add mmdc support for i.mx6ul Add MMDC support for i.MX6UL. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 322d09d6ea04de986d978312de75139b4586ecbe Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Wed Aug 5 01:48:35 2015 +0800 ARM: dts: imx6ul: add sram support for i.mx6ul Add SRAM support for i.MX6UL, it has 128KB ocram starting from 0x900000. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 62b91605c8e87246e3e355697deacb199228a81e Merge: 6ff33f3 84a8725 Author: Shawn Guo <shawnguo@xxxxxxxxxx> Date: Mon Oct 19 22:45:01 2015 +0800 Merge tag 'imx-clk-4.4' into imx/dt The i.MX clock updates for 4.4: - A couple of fixes on i.MX31 and i.MX35 clock initialization functions which makes mxc_timer_init() currently be called twice for DT boot. - Increase i.MX6UL AXI bus clock rate to 264MHz which is the optimal design target. - Add a few missing clocks, ADC clock for i.MX7D, OCOTP clock for Vybrid, and SPDIF_GCLK for i.MX6. - A series from Lucas to fix early debug UART clock setup. This is currently a one-off fix for i.MX platform, and can be extended to become a generic solution later. commit bc6f9ae6043a219b5afadf0391ce77db401a966f Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Fri Oct 16 15:54:52 2015 +0300 ath10k: make fw stats prints specific to firmware version The patch makes debug stats prints fw specific by adding a new member in wmi_ops. That way it's easier to add fw_stats support to 10.4 firmware. Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Tamizh Chelvam <c_traja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1aaf8efba0aeb25eb5858b19472badaa54a41a38 Author: Anilkumar Kolli <akolli@xxxxxxxxxxxxxxxx> Date: Fri Oct 16 15:54:51 2015 +0300 ath10k: disable PCI PS for QCA988X and QCA99X0 This patch disables PCI PS for QCA988X and QCA99X0, Since PCI PS is validated for QCA6174, let it be enabled only for QCA6174. It would be better to execute PCI PS related functions only for the supported devices. PCI time out issue is observed with QCA99X0 on x86 platform, We will disable PCI PS for QCA988X and QCA99X0 until PCI PS is properly implemented. Taking and releasing ps_lock is causing higher CPU consumption. Michal Kazior suggested ps_lock overhead to be reworked so that ath10k_pci_wake/sleep functions are called less often, i.e. move the powersave logic up (only during irq handling, tx path, submitting fw commands) but that's a bigger change and can be implemented later. Signed-off-by: Anilkumar Kolli <akolli@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 81e9d14a53eb1abfbe6ac828a87a2deb4702b5f1 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Oct 19 16:25:15 2015 +0200 usb: gadget: net2280: restore ep_cfg after defect7374 workaround Defect 7374 workaround enables all GPEP as endpoint 0. Restore endpoint number when defect 7374 workaround is disabled. Otherwise, check to match USB endpoint number to hardware endpoint number in net2280_enable() fails. Cc: <stable@xxxxxxxxxxxxxxx> # 4.2 Reported-by: Paul Jones <p.jones@xxxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit dc8730846948e517169f630826cd2c97615f5ee8 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Oct 16 16:01:32 2015 -0700 usb: dwc2: host: Fix use after free w/ simultaneous irqs While plugging / unplugging on a DWC2 host port with "slub_debug=FZPUA" enabled, I found a crash that was quite obviously a use after free. It appears that in some cases when we handle the various sub-cases of HCINT we may end up freeing the QTD. If there is more than one bit set in HCINT we may then end up continuing to use the QTD, which is bad. Let's be paranoid and check for this after each sub-case. This should be safe since we officially have the "hsotg->lock" (it was grabbed in dwc2_handle_hcd_intr). The specific crash I found was: Unable to handle kernel paging request at virtual address 6b6b6b9f At the time of the crash, the kernel reported: (dwc2_hc_nak_intr+0x5c/0x198) (dwc2_handle_hcd_intr+0xa84/0xbf8) (_dwc2_hcd_irq+0x1c/0x20) (usb_hcd_irq+0x34/0x48) Popping into kgdb found that "*qtd" was filled with "0x6b", AKA qtd had been freed and filled with slub_debug poison. kgdb gave a little better stack crawl: 0 dwc2_hc_nak_intr (hsotg=hsotg@entry=0xec42e058, chan=chan@entry=0xec546dc0, chnum=chnum@entry=4, qtd=qtd@entry=0xec679600) at drivers/usb/dwc2/hcd_intr.c:1237 1 dwc2_hc_n_intr (chnum=4, hsotg=0xec42e058) at drivers/usb/dwc2/hcd_intr.c:2041 2 dwc2_hc_intr (hsotg=0xec42e058) at drivers/usb/dwc2/hcd_intr.c:2078 3 dwc2_handle_hcd_intr (hsotg=0xec42e058) at drivers/usb/dwc2/hcd_intr.c:2128 4 _dwc2_hcd_irq (hcd=<optimized out>) at drivers/usb/dwc2/hcd.c:2837 5 usb_hcd_irq (irq=<optimized out>, __hcd=<optimized out>) at drivers/usb/core/hcd.c:2353 Popping up to frame #1 (dwc2_hc_n_intr) found: (gdb) print /x hcint $12 = 0x12 AKA: #define HCINTMSK_CHHLTD (1 << 1) #define HCINTMSK_NAK (1 << 4) Further debugging found that by simulating receiving those two interrupts at the same time it was trivial to replicate the use-after-free. See <http://crosreview.com/305712> for a patch and instructions. This lead to getting the following stack crawl of the actual free: 0 arch_kgdb_breakpoint () at arch/arm/include/asm/outercache.h:103 1 kgdb_breakpoint () at kernel/debug/debug_core.c:1054 2 dwc2_hcd_qtd_unlink_and_free (hsotg=<optimized out>, qh=<optimized out>, qtd=0xe4479a00) at drivers/usb/dwc2/hcd.h:488 3 dwc2_deactivate_qh (free_qtd=<optimized out>, qh=0xe5efa280, hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:671 4 dwc2_release_channel (hsotg=hsotg@entry=0xed424618, chan=chan@entry=0xed5be000, qtd=<optimized out>, halt_status=<optimized out>) at drivers/usb/dwc2/hcd_intr.c:742 5 dwc2_halt_channel (hsotg=0xed424618, chan=0xed5be000, qtd=<optimized out>, halt_status=<optimized out>) at drivers/usb/dwc2/hcd_intr.c:804 6 dwc2_complete_non_periodic_xfer (chnum=<optimized out>, halt_status=<optimized out>, qtd=<optimized out>, chan=<optimized out>, hsotg=<optimized out>) at drivers/usb/dwc2/hcd_intr.c:889 7 dwc2_hc_xfercomp_intr (hsotg=hsotg@entry=0xed424618, chan=chan@entry=0xed5be000, chnum=chnum@entry=6, qtd=qtd@entry=0xe4479a00) at drivers/usb/dwc2/hcd_intr.c:1065 8 dwc2_hc_chhltd_intr_dma (qtd=0xe4479a00, chnum=6, chan=0xed5be000, hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:1823 9 dwc2_hc_chhltd_intr (qtd=0xe4479a00, chnum=6, chan=0xed5be000, hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:1944 10 dwc2_hc_n_intr (chnum=6, hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:2052 11 dwc2_hc_intr (hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:2097 12 dwc2_handle_hcd_intr (hsotg=0xed424618) at drivers/usb/dwc2/hcd_intr.c:2147 13 _dwc2_hcd_irq (hcd=<optimized out>) at drivers/usb/dwc2/hcd.c:2837 14 usb_hcd_irq (irq=<optimized out>, __hcd=<optimized out>) at drivers/usb/core/hcd.c:2353 Though we could add specific code to handle this case, adding the general purpose code to check for all cases where qtd might be freed seemed safer. Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ebd293857797e437fc18f2fb98bf4c63b1d1f381 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 18 23:31:15 2015 +0800 usb: gadget: fix a trivial typo s/regsiter/register/ Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9997e385eb2b9004d989e3710bd9001532410c0 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Sun Oct 18 20:54:37 2015 -0700 iommu/vt-d: Use dev_err(..) in intel_svm_device_to_iommu(..) This will give a little bit of assistance to those developing drivers using SVM. It might cause a slight annoyance to end-users whose kernel disables the IOMMU when drivers are trying to use it. But the fix there is to fix the kernel to enable the IOMMU. Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit a3d5aaa836ed993747af7b53cfca1b3cd3c9fc46 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 15 18:20:45 2015 -0400 drm/amdgpu/gfx8: set TC_WB_ACTION_EN in RELEASE_MEM packet This is the recommended setting from the hw team for newer versions of the firmware. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5726b27b09cc92452b543764899a07e7c8037edd Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Tue Oct 13 16:25:37 2015 -0600 ext2: Add locking for DAX faults Add locking to ensure that DAX faults are isolated from ext2 operations that modify the data blocks allocation for an inode. This is intended to be analogous to the work being done in XFS by Dave Chinner: http://www.spinics.net/lists/linux-fsdevel/msg90260.html Compared with XFS the ext2 case is greatly simplified by the fact that ext2 already allocates and zeros new blocks before they are returned as part of ext2_get_block(), so DAX doesn't need to worry about getting unmapped or unwritten buffer heads. This means that the only work we need to do in ext2 is to isolate the DAX faults from inode block allocation changes. I believe this just means that we need to isolate the DAX faults from truncate operations. The newly introduced dax_sem is intended to replicate the protection offered by i_mmaplock in XFS. In addition to truncate the i_mmaplock also protects XFS operations like hole punching, fallocate down, extent manipulation IOCTLS like xfs_ioc_space() and extent swapping. Truncate is the only one of these operations supported by ext2. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxxx> commit 9a30ae2df29c27eca58581862928ee2c7bbdfa76 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Oct 19 14:29:27 2015 +0300 ALSA: firewire-tascam: off by one in identify_model() Let's leave space for the NUL char otherwise the static checkers complain that we go beyond the end of the array. Fixes: 53b3ffee7885 ('ALSA: firewire-tascam: change device probing processing') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9fa5cf8c54940688ceb3a52eed7938b6b6585fc8 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:55 2015 +0200 ALSA: USB-audio: Remove mixer entry from Zoom R16/24 quirk The device has no mixer (and identifies itself as such), so just skip the mixer definition. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 759c90fe0129f23a4ff2a7c92e1bd30d41ac829c Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:54 2015 +0200 ALSA: USB-audio: Adjust max packet size calculation for tx_length_quirk For the Zoom R16/24 (tx_length_quirk set), when calculating the maximum sample frequency, consideration must be made for the fact that four bytes of the packet contain a length descriptor and consequently must not be counted as part of the audio data. This is corroborated by the wMaxPacketSize for this device, which is 108 bytes according for the USB playback endpoint descriptor. The frame size is 8 bytes (2 channels of 4 bytes each), and the 108 bytes thus work out as 13 * 8 + 4, i.e. corresponding to 13 frames plus the additional 4 byte length descriptor. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e05704467736231199503e5a21c587e7ec36b829 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:53 2015 +0200 ALSA: USB-audio: Add quirk for Zoom R16/24 playback The Zoom R16/24 have a nonstandard playback format where each isochronous packet contains a length descriptor in the first four bytes. (Curiously, capture data does not contain this and requires no quirk.) The quirk involves adding the extra length descriptor whenever outgoing isochronous packets are generated, both in pcm.c (outgoing audio) and endpoint.c (silent data). In order to make the quirk as unintrusive as possible, for pcm.c:prepare_playback_urb(), the isochronous packet descriptors are initially set up in the same way no matter if the quirk is enabled or not. Once it is time to actually copy the data into the outgoing packet buffer (together with the added length descriptors) the isochronous descriptors are adjusted in order take the increased payload length into account. For endpoint.c:prepare_silent_urb() it makes more sense to modify the actual function, partly because the function is less complex to start with and partly because it is not as time-critical as prepare_playback_urb() (whose bulk is run with interrupts disabled), so the (minute) additional time spent in the non-quirk case is motivated by the simplicity of having a single function for all cases. The quirk is controlled by the new tx_length_quirk member in struct snd_usb_substream and struct snd_usb_audio, which is conveyed to pcm.c and endpoint.c from quirks.c in a similar manner to the txfr_quirk member in the same structs. In contrast to txfr_quirk however, the quirk is enabled directly in quirks.c:create_standard_audio_quirk() by checking the USB ID in that function. Another option would be to introduce a new QUIRK_AUDIO_ZOOM_INTERFACE or somesuch, which would have made the quirk very plain to see in the quirk table, but it was felt that the additional code needed to implement it this way would just make the implementation more complex with no real gain. Tested with a Zoom R16, both by doing capture and playback separately using arecord and aplay (8 channel capture and 2 channel playback, respectively), as well as capture and playback together using Ardour, as well as Audacity and Qtractor together with jackd. The R24 is reportedly compatible with the R16 when used as an audio interface. Both devices share the same USB ID and have the same number of inputs (8) and outputs (2). Therefore "R16/24" is mentioned throughout the patch. Regression tested using an Edirol UA-5 in both class compliant (16-bit) and "advanced" (24 bit, forces the use of quirks) modes. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Tested-by: Panu Matilainen <pmatilai@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b97a936910c8d668d25d60acbf62aea0d2ff587e Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:52 2015 +0200 ALSA: USB-audio: Add offset parameter to copy_to_urb() Preparation for adding Zoom R16/24 quirk. No functional change. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5cf310e976659caeaae350258940b73daaa0d478 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:51 2015 +0200 ALSA: USB-audio: Break out creation of silent urbs from prepare_outbound_urb() Refactoring in preparation for adding Zoom R16/24 quirk. No functional change. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4c4e4391b833e6297e0a6bc43db023a8c55d6835 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:50 2015 +0200 ALSA: USB-audio: Also move out hwptr_done wrap from prepare_playback_urb() Refactoring in preparation for adding Zoom R16/24 quirk. No functional change. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 07a40c2fc6f771a4abb2acc7e59434121e9ddf4e Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Oct 19 08:52:49 2015 +0200 ALSA: USB-audio: Break out copying to urb from prepare_playback_urb() Refactoring in preparation for adding Zoom R16/24 quirk. No functional change. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 759a2f40c9fa3839c021f7cdc4ec19d10fd63b44 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 17:09:40 2015 +0900 ALSA: oxfw: add an entry for TASCAM FireOne TASCAM FireOne is based on OXFW971 and ALSA OXFW driver can support it. These are values of identical registers. $ ./firewire-request /dev/fw1 read 0xfffff0050000 result: 97100105 $ ./firewire-request /dev/fw1 read 0xfffff0090020 result: 39373100 This commit adds an entry for this model. This model has physical controls and its MIDI control messages are transferred to second MIDI data stream multiplexed in one MIDI conformant data channel. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bb71da43469679bf53dc97433dc02895e4d58352 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 17:09:39 2015 +0900 ALSA: oxfw: support more MIDI ports In IEC 61883-6, sequence multiplexing is applied to MIDI conformant data channel. As a result, eight MIDI data streams are included in the channel. Although ALSA AM824 data block processing layer implements this multiplexing, current OXFW driver doesn't utilize it due to wrong calculation of MIDI ports. This commit fixes this bug to add proper calculation. Although this commit allows to use 8 MIDI data streams, the number of available MIDI ports is limited by the number of ALSA MIDI ports added by the driver. Fixes: df075feefbd3('ALSA: firewire-lib: complete AM824 data block processing layer') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 32056041019aa91c2555cc4c280f9fbca8a1be99 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 17:09:38 2015 +0900 ALSA: oxfw: calculating MIDI ports in stream discover Current OXFW driver calculates the number of MIDI ports just before adding ALSA MIDI ports. It's convenient for some devices with quirks to move these codes before handling quirks. This commit implements this idea. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 56b1c72a75ec44a98aca8bbd71ac869a6f54e036 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:58:37 2015 +0900 ALSA: firewire-lib: avoid NULL pointer dereference after closing MIDI port When asynchronous MIDI port is closed before callbacked, the callback function causes NULL pointer dereference to missing MIDI substream. This commit fixes this bug. Fixes: e8a40d9bcb23('ALSA: firewire-lib: schedule work again when MIDI substream has rest of MIDI messages') Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bd04809bbe4c1f749650bb990c969112a5e10aef Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:39:53 2015 +0900 ALSA: firewire-digi00x/firewire-tascam: remove wrong conversion for Config ROM The contents of Config ROM in firewire device structure are already aligned to CPU-endianness. Thus, no need to convert it again. This commit removes needless conversions Fixes: 9edf723fd858('ALSA: firewire-digi00x: add skeleton for Digi 002/003 family') Fixes: c0949b278515('ALSA: firewire-tascam: add skeleton for TASCAM FireWire series') Reported-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fef586d58960bc867c1fa8126ee5d7364a5a89ac Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:39:52 2015 +0900 ALSA: bebob: use correct type for __be32 data In former commit, metering is supported for BeBoB based models customized by M-Audio. The data in transaction is aligned to big-endianness, while in the driver code u16 typed variable is assigned to the data. This causes sparse warnings. bebob_maudio.c:651:31: warning: cast to restricted __be16 bebob_maudio.c:651:31: warning: cast to restricted __be16 bebob_maudio.c:651:31: warning: cast to restricted __be16 bebob_maudio.c:651:31: warning: cast to restricted __be16 This commit fixes this bug by using __be16 variable for the data. Fixes: 3149ac489ff8('ALSA: bebob: Add support for M-Audio special Firewire series') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 463543ac2effaeb2b524f0a0a92f2413c23998ca Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:39:51 2015 +0900 ALSA: fireworks: use u32 type for be32_to_cpup() macro In former commit, snd_efw_command_get_phys_meters() was added to handle metering data. The given buffer is used to save transaction result and to convert between endianness. But this causes sparse warnings. fireworks_command.c:269:25: warning: incorrect type in argument 1 (different base types) fireworks_command.c:269:25: expected unsigned int [usertype] *p fireworks_command.c:269:25: got restricted __be32 [usertype] * This commit fixes this bug. Fixes: bde8a8f23bbe('ALSA: fireworks: Add transaction and some commands') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cbc6f28067aa0aa1193c2bf3546430b2c4dae22c Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:39:50 2015 +0900 ALSA: dice: assign converted data to the same type of variable In former commit, u32 data was assigned to __be32 variable instead of an int variable. This is not enough solution because it still causes sparse warnings. dice.c:80:23: warning: incorrect type in assignment (different base types) dice.c:80:23: expected restricted __be32 [usertype] value dice.c:80:23: got unsigned int dice.c:81:21: warning: restricted __be32 degrades to integer dice.c:81:46: warning: restricted __be32 degrades to integer This commit fixes this bug. Fixes: 7c2d4c0cf5ba('ALSA: dice: Split transaction functionality into a file') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3e93d42a04eea4e621f87bfc51b0ab868e131cb9 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 22:39:49 2015 +0900 ALSA: dice: correct variable types for __be32 data Some local variables in some functions are typed as unsigned int, while __be32 value is assigned to them. This causes sparse warnings. dice-stream.c:50:17: warning: incorrect type in assignment (different base types) dice-stream.c:50:17: expected unsigned int [unsigned] channel dice-stream.c:50:17: got restricted __be32 [usertype] <noident> dice-stream.c:74:17: warning: incorrect type in assignment (different base types) dice-stream.c:74:17: expected unsigned int [unsigned] channel dice-stream.c:74:17: got restricted __be32 [usertype] <noident> This commit fixes this bug. Fixes: 288a8d0cb04f('ALSA: dice: Change the way to start stream') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d2c85ac24ed7636934f469fac8836b87c7e6cb40 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Sat Oct 17 19:25:07 2015 +0000 hsi: correctly handle return value of kzalloc Since kzalloc can be failed in memory pressure, its return value should be checked and handled. Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8c85ac1c0a1b41299370857765bc0950666ed5d9 Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Mon Oct 19 15:13:29 2015 +0900 KVM: x86: MMU: Initialize force_pt_level before calling mapping_level() Commit fd1369021878 ("KVM: x86: MMU: Move mapping_level_dirty_bitmap() call in mapping_level()") forgot to initialize force_pt_level to false in FNAME(page_fault)() before calling mapping_level() like nonpaging_map() does. This can sometimes result in forcing page table level mapping unnecessarily. Fix this and move the first *force_pt_level check in mapping_level() before kvm_vcpu_gfn_to_memslot() call to make it a bit clearer that the variable must be initialized before mapping_level() gets called. This change can also avoid calling kvm_vcpu_gfn_to_memslot() when !check_hugepage_cache_consistency() check in tdp_page_fault() forces page table level mapping. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5690891bcec5fcfda38da974ffa5488e36a59811 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Oct 19 11:30:19 2015 +0200 kvm: x86: zero EFER on INIT Not zeroing EFER means that a 32-bit firmware cannot enter paging mode without clearing EFER.LME first (which it should not know about). Yang Zhang from Intel confirmed that the manual is wrong and EFER is cleared to zero on INIT. Fixes: d28bc9dd25ce023270d2e039e7c98d38ecbf7758 Cc: stable@xxxxxxxxxxxxxxx Cc: Yang Z Zhang <yang.z.zhang@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a0fb6ad7ae28a4dce34c010028dc070eeacae1d9 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Oct 16 19:11:30 2015 +0200 drm/fb-helper: Fix fb refcounting in pan_display_atomic In commit bbb1e52402b2a288b09ae37e8182599931c7e9df Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:35:58 2015 -0400 drm/fb-helper: atomic restore_fbdev_mode().. we've forgotten to do the plane->old_fb refcount dance for pan_display_atomic, which can result in refcount leaks if the current configuration is not from fbcon. Which apparently can happen when vt-switching - fbcon does a pan first before a set_par. OCD-align function parameters while at it. v2: Actually git add the OCD. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92483 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445015490-27682-1-git-send-email-daniel.vetter@xxxxxxxx Tested-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 16e910df19ae8aa2dc0f1e8502aea7a36888457b Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Oct 16 18:23:13 2015 +0200 drm/fb-helper: Set plane rotation directly The point behind standardizing properties into core drm state structures is also that internal code looks prettiers. Take advantage of that and set rotation directly in the fbdev atomic code. Cc: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445012594-25988-1-git-send-email-daniel.vetter@xxxxxxxx Acked-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6749c9f023d49adca3ca4773e93282b95ceebfb5 Author: Adam Richter <adamrichter4@xxxxxxxxx> Date: Fri Oct 16 03:33:02 2015 -0700 drm: fix mutex leak in drm_dp_get_mst_branch_device In Linux 4.3-rc5, there is an error case in drm_dp_get_branch_device that returns without releasing mgr->lock, resulting a spew of kernel messages about a kernel work function possibly having leaked a mutex and presumably more serious adverse consequences later. This patch changes the error to "goto out" to unlock the mutex before returning. Signed-off-by: Adam J. Richter <adam_richter2004@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2afa701d3e0bb9865130990b5e0cfe240ae3b605 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 15 20:40:02 2015 +0300 drm: Check plane src coordinates correctly during page flip for atomic drivers Instead of relying on the old crtc-{x,y,mode} gunk, dig out the primary plane coordinates from the plane state when checking them against the new framebuffer during page flip. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1444930802-8515-5-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 33e0be63759d472e7a6996d1277ff66e92a8685d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Oct 16 18:38:39 2015 +0300 drm: Check crtc viewport correctly with rotated primary plane on atomic drivers On atomic drivers we can dig out the primary plane rotation from the plane state instead of looking at the legacy crtc->invert_dimensions flag. The flag is not set by anyone except omapdrm, and it would be racy to set it the same way in the atomic helpers. v2: Kill crtc->invert_dimensions totally since omap is state based already and no one else ever used it (Matt) Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1445009919-22746-1-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce8d9ecc1b9dafc593bac481a6fcc39cc913543a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 15 20:40:00 2015 +0300 drm: Refactor plane src coordinate checks Pull the plane src coordinate checks into a separate function so that we can share them for the legacy and new stuff. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1444930802-8515-3-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 41121248600f7f8c2a97b256bd9bcec436392a53 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 15 20:39:59 2015 +0300 drm: Swap w/h when converting the mode to src coordidates for a rotated primary plane When converting the mode hdisplay/vdisplay to primary plane src coordinates we need to take into account the current plane rotation. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/1444930802-8515-2-git-send-email-ville.syrjala@xxxxxxxxxxxxxxx Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c390eed025dbbd09fff6cf128fb4eee83c9008a3 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 15 20:39:58 2015 +0300 drm: Don't leak fb when plane crtc coodinates are bad Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2b760d88a0fcd85a526a5c1ce4556ceff5723baa Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Fri Sep 4 20:49:36 2015 +0200 ALSA: hda - Spell vga_switcheroo consistently Currently everyone and their dog has their own favourite spelling for vga_switcheroo. This makes it hard to grep dmesg for log entries relating to vga_switcheroo. It also makes it hard to find related source files in the tree. vga_switcheroo.c uses pr_fmt "vga_switcheroo". Use that everywhere. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Link: http://patchwork.freedesktop.org/patch/msgid/9b0175319ce78d831acfcf11e4c6c760f826b0e3.1444663039.git.lukas@xxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2225cfe46bcc7558d9e371d1bc117df2df1fbacd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 11:33:43 2015 +0200 drm/gem: Use kref_get_unless_zero for the weak mmap references Compared to wrapping the final kref_put with dev->struct_mutex this allows us to only acquire the offset manager look both in the final cleanup and in the lookup. Which has the upside that no locks leak out of the core abstractions. But it means that we need to hold a temporary reference to the object while checking mmap constraints, to make sure the object doesn't disappear. Extended the critical region would have worked too, but would result in more leaky locking. Also, this is the final bit which required dev->struct_mutex in gem core, now modern drivers can be completely struct_mutex free! This needs a new drm_vma_offset_exact_lookup_locked and makes both drm_vma_offset_exact_lookup and drm_vma_offset_lookup unused. v2: Don't leak object references in failure paths (David). v3: Add a comment from Chris explaining how the ordering works, with the slight adjustment that I dropped any mention of struct_mutex since with this patch it's now immaterial ot core gem. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Link: http://mid.gmane.org/1444901623-18918-1-git-send-email-daniel.vetter@xxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 3d57b42cabc8472ab63f0adc9529102314218f1e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 09:36:23 2015 +0200 drm/vgem: Drop vgem_drm_gem_mmap It's duplicating (without using some of the helpers) drm_gem_mmap with the addition that it can redirect to drm-buf mmap support. But prime import/export was dropped in commit 990ed2720717173bbdea4cfb2bad37cc7aa91495 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Thu May 21 11:58:30 2015 -0400 drm/vgem: drop DRIVER_PRIME (v2) for now, so this is dead code. And since I want to rework the locking for drm_gem_mmap it seems simpler to de-dupe this code for now and then start over with the reworked one again, if we want to resurrect this all indeed. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Link: http://mid.gmane.org/1444894601-5200-8-git-send-email-daniel.vetter@xxxxxxxx Acked-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3c67d839b30c7d6d6ab5c6fddac0f58ec8095d50 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Thu Oct 15 11:56:56 2015 +0200 drm: Fix return value of drm_framebuffer_init() In its original version, drm_framebuffer_init() returned a negative int if drm_mode_object_get() failed (f453ba046074, "DRM: add mode setting support"). This was accidentally disabled by commit 4b096ac10da0 ("drm: revamp locking around fb creation/destruction"). Thus, drm_framebuffer_init() pretends success if drm_mode_object_get() failed. Reinstate the original behaviour. Also fix erroneous kernel-doc of drm_mode_object_get(). Fixes: 4b096ac10da0 ("drm: revamp locking around fb creation/ destruction") Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6ff774bd472dcbe77df63ab8044cd9cf65535814 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 09:36:26 2015 +0200 drm/gem: Use container_of in drm_gem_object_free Just a random thing I spotted while reading code - better safe than sorry. Link: http://mid.gmane.org/1444894601-5200-11-git-send-email-daniel.vetter@xxxxxxxx Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ef4c6270bf2867e2f8032e9614d1a8cfc6c71663 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 09:36:25 2015 +0200 drm/gem: Check locking in drm_gem_object_unreference Pretty soon only some drivers will need dev->struct_mutex in their gem_free_object callbacks. Hence it's really important to make sure everything still keeps getting this right. v2: Don't check for locking before we check for non-NULL obj. Spotted by Dan Carpenter. Link: http://mid.gmane.org/1444894601-5200-10-git-send-email-daniel.vetter@xxxxxxxx Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit bed08b7e1fa41eac214acb17b7aa20a0e5c4b4e6 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Oct 13 19:17:07 2015 +1100 powerpc/cell: Drop CONFIG_TUNE_CELL in favour of CONFIG_CELL_CPU The TUNE_CELL option allows you to build a kernel that runs on multiple CPUs but is tuned (ie. optimised) to run on Cell CPUs. Now days no one is building a distro in that fashion, and any users who are building custom kernels for their Cell machines are better off building with CONFIG_CELL_CPU, which builds a kernel that only runs on Cell and therefore can be optimised even more aggresively. Dropping the option also avoids confusing other users, who are presented with an option to tune for Cell when they are not building for a Cell CPU at all. Suggested-by: Thomas Huth <thuth@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 39fcfb911c3862f1366ef84efbea10aff59421c2 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Sun Oct 18 13:23:53 2015 +0300 selftests/powerpc: Run EBB tests only on POWER8 EBB (Event Based Branches) are currently only available on POWER8, so we should skip them on other CPUs. I've found that at least one test loops forever on 970MP (cycles_with_freeze_test). Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> [mpe: Minor change log editing, add skip to cpu_event_vs_ebb_test] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6bd03ce3c12a22d86f59070f1da15aaa2bde8a51 Author: Andrew F. Davis <afd@xxxxxx> Date: Fri Oct 16 09:49:20 2015 -0500 power: bq27xxx_battery: Remove unneeded dependency in Kconfig I2C is only required when using the config item BATTERY_BQ27XXX_I2C which already depends on the I2C subsystem, remove the unneeded dependency from BATTERY_BQ27XXX. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 41a90db8fd35a682650ff8f01ff9cc05f53fa8a6 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Oct 16 15:44:11 2015 +0200 power: bq27xxx_battery: move irq handler to i2c section The IRQ handler is not used by the platform based code resulting in a 'defined but not used' warning, if CONFIG_BQ27XXX_I2C is not enabled. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Andrew F. Davis <afd@xxxxxx> commit 0077ae7e99de5720f8458e2db163fee77ee0fba5 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Oct 16 15:44:10 2015 +0200 power: bq27xxx_battery: fix platform probe Add missing initialization of register mapping table to platform probe function. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Andrew F. Davis <afd@xxxxxx> commit ca064bd89363a6e7e71b1c5226ff1b718957a9d4 Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Date: Mon Oct 19 10:30:05 2015 +0200 xfrm: Fix pmtu discovery for local generated packets. Commit 044a832a777 ("xfrm: Fix local error reporting crash with interfamily tunnels") moved the setting of skb->protocol behind the last access of the inner mode family to fix an interfamily crash. Unfortunately now skb->protocol might not be set at all, so we fail dispatch to the inner address family. As a reault, the local error handler is not called and the mtu value is not reported back to userspace. We fix this by setting skb->protocol on message size errors before we call xfrm_local_error. Fixes: 044a832a7779c ("xfrm: Fix local error reporting crash with interfamily tunnels") Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 558a65bc31a0c7811b34dad32f51f47c55a40000 Author: Chuck Ebbert <cebbert.lkml@xxxxxxxxx> Date: Wed Oct 14 14:31:19 2015 -0400 sched/x86: Fix typo in __switch_to() comments Fix obvious mistake: FS/GS should be DS/ES. Signed-off-by: Chuck Ebbert <cebbert.lkml@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: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20151014143119.78858eeb@r5 Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c13dc31adb04c3f85d54d2fa13e34206f25742eb Merge: 7379047 39cd2dd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 19 10:09:54 2015 +0200 Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull RCU updates from Paul E. McKenney: - Miscellaneous fixes. (Paul E. McKenney, Boqun Feng, Oleg Nesterov, Patrick Marlier) - Improvements to expedited grace periods. (Paul E. McKenney) - Performance improvements to and locktorture tests for percpu-rwsem. (Oleg Nesterov, Paul E. McKenney) - Torture-test changes. (Paul E. McKenney, Davidlohr Bueso) - Documentation updates. (Paul E. McKenney) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a75ca545e8d57473da47ece828ad98a10727ec6f Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Fri Oct 16 14:28:53 2015 +0300 x86, kasan: Fix build failure on KASAN=y && KMEMCHECK=y kernels Declaration of memcpy() is hidden under #ifndef CONFIG_KMEMCHECK. In asm/efi.h under #ifdef CONFIG_KASAN we #undef memcpy(), due to which the following happens: In file included from arch/x86/kernel/setup.c:96:0: ./arch/x86/include/asm/desc.h: In function â??native_write_idt_entryâ??: ./arch/x86/include/asm/desc.h:122:2: error: implicit declaration of function â??memcpyâ?? [-Werror=implicit-function-declaration] memcpy(&idt[entry], gate, sizeof(*gate)); ^ cc1: some warnings being treated as errors make[2]: *** [arch/x86/kernel/setup.o] Error 1 We will get rid of that #undef in asm/efi.h eventually. But in the meanwhile move memcpy() declaration out of #ifdefs to fix the build. Reported-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> 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/1444994933-28328-1-git-send-email-aryabinin@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fcafddec4e78a7776db4b6685db6b2902d4300fc Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Oct 16 00:14:29 2015 -0400 x86/smpboot: Fix CPU #1 boot timeout The following commit: a9bcaa02a5104ac ("x86/smpboot: Remove SIPI delays from cpu_up()") Caused some Intel Core2 processors to time-out when bringing up CPU #1, resulting in the missing of that CPU after bootup. That patch reduced the SIPI delays from udelay() 300, 200 to udelay() 0, 0 on modern processors. Several Intel(R) Core(TM)2 systems failed to bring up CPU #1 10/10 times after that change. Increasing either of the SIPI delays to udelay(1) results in success. So here we increase both to udelay(10). While this may be 20x slower than the absolute minimum, it is still 20x to 30x faster than the original code. Tested-by: Donald Parsons <dparsons@xxxxxxxxxxxxx> Tested-by: Shane <shrybman@xxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dparsons@xxxxxxxxxxxxx Cc: shrybman@xxxxxxxxxxxx Link: http://lkml.kernel.org/r/6dd554ee8945984d85aafb2ad35793174d068af0.1444968087.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f1ccd249319efca4ee4faf1d904f5a362cac7c81 Author: Len Brown <len.brown@xxxxxxxxx> Date: Fri Oct 16 00:14:28 2015 -0400 x86/smpboot: Fix cpu_init_udelay=10000 corner case boot parameter misbehavior For legacy machines cpu_init_udelay defaults to 10,000. For modern machines it is set to 0. The user should be able to set cpu_init_udelay to any value on the cmdline, including 10,000. Before this patch, that was seen as "unchanged from default" and thus on a modern machine, the user request was ignored and the delay was set to 0. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: dparsons@xxxxxxxxxxxxx Cc: shrybman@xxxxxxxxxxxx Link: http://lkml.kernel.org/r/de363cdbbcfcca1d22569683f7eb9873e0177251.1444968087.git.len.brown@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fbe6a3114471cccaeaeabfa56937731503ece545 Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Mon Oct 19 00:06:58 2015 -0700 Input: xpad - fix clash of presence handling with LED setting Do not call xpad_identify_controller at init with wireless devices: it conflicts with the already sent presence packet and will be called by xpad360w_process_packet as needed anyway. Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 85001089a764d6d12b47f33a8c9b49cf06cfe045 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Oct 14 13:51:54 2015 +0100 gpio/xilinx: enable for MIPS MIPSfpga uses the axi gpio controller. Enable the driver for MIPS. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 371f1c7e0d854796adc622cc3bacfcc5fc638db1 Merge: 7b4b000 f0a0a97 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 18 22:48:34 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter/IPVS updates for net-next The following patchset contains Netfilter/IPVS updates for your net-next tree. Most relevantly, updates for the nfnetlink_log to integrate with conntrack, fixes for cttimeout and improvements for nf_queue core, they are: 1) Remove useless ifdef around static inline function in IPVS, from Eric W. Biederman. 2) Simplify the conntrack support for nfnetlink_queue: Merge nfnetlink_queue_ct.c file into nfnetlink_queue_core.c, then rename it back to nfnetlink_queue.c 3) Use y2038 safe timestamp from nfnetlink_queue. 4) Get rid of dead function definition in nf_conntrack, from Flavio Leitner. 5) Attach conntrack support for nfnetlink_log.c, from Ken-ichirou MATSUZAWA. This adds a new NETFILTER_NETLINK_GLUE_CT Kconfig switch that controls enabling both nfqueue and nflog integration with conntrack. The userspace application can request this via NFULNL_CFG_F_CONNTRACK configuration flag. 6) Remove unused netns variables in IPVS, from Eric W. Biederman and Simon Horman. 7) Don't put back the refcount on the cttimeout object from xt_CT on success. 8) Fix crash on cttimeout policy object removal. We have to flush out the cttimeout extension area of the conntrack not to refer to an unexisting object that was just removed. 9) Make sure rcu_callback completion before removing nfnetlink_cttimeout module removal. 10) Fix compilation warning in br_netfilter when no nf_defrag_ipv4 and nf_defrag_ipv6 are enabled. Patch from Arnd Bergmann. 11) Autoload ctnetlink dependencies when NFULNL_CFG_F_CONNTRACK is requested. Again from Ken-ichirou MATSUZAWA. 12) Don't use pointer to previous hook when reinjecting traffic via nf_queue with NF_REPEAT verdict since it may be already gone. This also avoids a deadloop if the userspace application keeps returning NF_REPEAT. 13) A bunch of cleanups for netfilter IPv4 and IPv6 code from Ian Morris. 14) Consolidate logger instance existence check in nfulnl_recv_config(). 15) Fix broken atomicity when applying configuration updates to logger instances in nfnetlink_log. 16) Get rid of the .owner attribute in our hook object. We don't need this anymore since we're dropping pending packets that have escaped from the kernel when unremoving the hook. Patch from Florian Westphal. 17) Remove unnecessary rcu_read_lock() from nf_reinject code, we always assume RCU read side lock from .call_rcu in nfnetlink. Also from Florian. 18) Use static inline function instead of macros to define NF_HOOK() and NF_HOOK_COND() when no netfilter support in on, from Arnd Bergmann. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b4b000951f09cfe3604a6fdf5469894b4e75adb Author: santosh.shilimkar@xxxxxxxxxx <santosh.shilimkar@xxxxxxxxxx> Date: Fri Oct 16 22:13:21 2015 -0400 RDS: fix rds-ping deadlock over TCP transport Sowmini found hang with rds-ping while testing RDS over TCP. Its a corner case and doesn't happen always. The issue is not reproducible with IB transport. Its clear from below dump why we see it with RDS TCP. [<ffffffff8153b7e5>] do_tcp_setsockopt+0xb5/0x740 [<ffffffff8153bec4>] tcp_setsockopt+0x24/0x30 [<ffffffff814d57d4>] sock_common_setsockopt+0x14/0x20 [<ffffffffa096071d>] rds_tcp_xmit_prepare+0x5d/0x70 [rds_tcp] [<ffffffffa093b5f7>] rds_send_xmit+0xd7/0x740 [rds] [<ffffffffa093bda2>] rds_send_pong+0x142/0x180 [rds] [<ffffffffa0939d34>] rds_recv_incoming+0x274/0x330 [rds] [<ffffffff810815ae>] ? ttwu_queue+0x11e/0x130 [<ffffffff814dcacd>] ? skb_copy_bits+0x6d/0x2c0 [<ffffffffa0960350>] rds_tcp_data_recv+0x2f0/0x3d0 [rds_tcp] [<ffffffff8153d836>] tcp_read_sock+0x96/0x1c0 [<ffffffffa0960060>] ? rds_tcp_recv_init+0x40/0x40 [rds_tcp] [<ffffffff814d6a90>] ? sock_def_write_space+0xa0/0xa0 [<ffffffffa09604d1>] rds_tcp_data_ready+0xa1/0xf0 [rds_tcp] [<ffffffff81545249>] tcp_data_queue+0x379/0x5b0 [<ffffffffa0960cdb>] ? rds_tcp_write_space+0xbb/0x110 [rds_tcp] [<ffffffff81547fd2>] tcp_rcv_established+0x2e2/0x6e0 [<ffffffff81552602>] tcp_v4_do_rcv+0x122/0x220 [<ffffffff81553627>] tcp_v4_rcv+0x867/0x880 [<ffffffff8152e0b3>] ip_local_deliver_finish+0xa3/0x220 This happens because rds_send_xmit() chain wants to take sock_lock which is already taken by tcp_v4_rcv() on its way to rds_tcp_data_ready(). Commit db6526dcb51b ("RDS: use rds_send_xmit() state instead of RDS_LL_SEND_FULL") which was trying to opportunistically finish the send request in same thread context. But because of above recursive lock hang with RDS TCP, the send work from rds_send_pong() needs to deferred to worker to avoid lock up. Given RDS ping is more of connectivity test than performance critical path, its should be ok even for transport like IB. Reported-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Acked-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3958b9e18140457b5600b03619e4c2e530761fe Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 16:12:34 2015 -0700 uapi: add mpls_iptunnel.h Add missing rule to export mpls iptunnel header needed by iproute2 Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc6ef6be52154490c5c03f742e28bc781cc751b2 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 16 13:00:01 2015 -0700 tcp: do not set queue_mapping on SYNACK At the time of commit fff326990789 ("tcp: reflect SYN queue_mapping into SYNACK packets") we had little ways to cope with SYN floods. We no longer need to reflect incoming skb queue mappings, and instead can pick a TX queue based on cpu cooking the SYNACK, with normal XPS affinities. Note that all SYNACK retransmits were picking TX queue 0, this no longer is a win given that SYNACK rtx are now distributed on all cpus. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16175039e6c6527453a23b4949c2a68e82750895 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Mon Oct 19 00:01:05 2015 -0400 ext4: fix abs() usage in ext4_mb_check_group_pa The ext4_fsblk_t type is a long long, which should not be used with abs(), as is done in ext4_mb_check_group_pa(). This patch modifies ext4_mb_check_group_pa() to use abs64() instead. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1e381f60dad913625956ed3a9c5714d9fc7e865f Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Sun Oct 18 23:50:26 2015 -0400 ext4: do not allow journal_opts for fs w/o journal It is appeared that we can pass journal related mount options and such options be shown in /proc/mounts Example: #mkfs.ext4 -F /dev/vdb #tune2fs -O ^has_journal /dev/vdb #mount /dev/vdb /mnt/ -ocommit=20,journal_async_commit #cat /proc/mounts | grep /mnt /dev/vdb /mnt ext4 rw,relatime,journal_checksum,journal_async_commit,commit=20,data=ordered 0 0 But options:"journal_checksum,journal_async_commit,commit=20,data=ordered" has nothing with reality because there is no journal at all. This patch disallow following options for journalless configurations: - journal_checksum - journal_async_commit - commit=%ld - data={writeback,ordered,journal} Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx> commit c93cf2d75779d73376e84e2547de1304113d3f1c Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Sun Oct 18 23:35:32 2015 -0400 ext4: explicit mount options parsing cleanup Currently MOPT_EXPLICIT treated as EXPLICIT_DELALLOC which may be changed in future. Let's fix it now. Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 951b5d959f1da4bae8910085a2d8d6a3d374c72d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 16 12:00:51 2015 +0200 net: hix5hd2_gmac: avoid integer overload warning BITS_RX_EN is an 'unsigned long' constant, so the ones complement of that has bits set that do not fit into a 32-bit variable on 64-bit architectures, which causes a harmless gcc warning: drivers/net/ethernet/hisilicon/hix5hd2_gmac.c: In function 'hix5hd2_port_disable': drivers/net/ethernet/hisilicon/hix5hd2_gmac.c:374:2: warning: large integer implicitly truncated to unsigned type [-Woverflow] writel_relaxed(~(BITS_RX_EN | BITS_TX_EN), priv->base + PORT_EN); This adds a cast to (u32) to tell gcc that the code is indeed fine. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 876133d3161dcb743983d1f9e5bf247aea2fb0f1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 16 11:33:49 2015 +0200 net: hisilicon: add OF dependency The HNS MDIO driver fails to build on older ARM machines that are not yet converted to CONFIG_OF: drivers/net/ethernet/hisilicon/hns_mdio.c: In function 'hns_mdio_bus_name': drivers/net/ethernet/hisilicon/hns_mdio.c:405:14: error: 'OF_BAD_ADDR' undeclared (first use in this function) u64 taddr = OF_BAD_ADDR; ^ drivers/net/ethernet/hisilicon/hns_mdio.c:405:14: note: each undeclared identifier is reported only once for each function it appears in drivers/net/ethernet/hisilicon/hns_mdio.c:409:11: error: implicit declaration of function 'of_translate_address' [-Werror=implicit-function-declaration] taddr = of_translate_address(np, addr); ^ This clarifies the dependency to ensure we don't attempt to build these drivers without CONFIG_OF, but also adds a COMPILE_TEST alternative to give us better build coverage testing. Build-tested on x86 as well to ensure this actually works. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 119c7ad8084affb64b242b7c6d9d9f84b91163cb Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 16 11:30:56 2015 +0200 net: hisilicon: include linux/vmalloc.h in dsaf Some configurations fail to build the hns dsaf code because of a missing header file: ethernet/hisilicon/hns/hns_dsaf_main.c: In function 'hns_dsaf_init': ethernet/hisilicon/hns/hns_dsaf_main.c:1096:2: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration] priv->soft_mac_tbl = vzalloc(sizeof(*priv->soft_mac_tbl) This adds the correct #include. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a679dbbbc6a363339aad75589706ee73762b75d9 Merge: 4639a3b 90a505b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 18 19:57:12 2015 -0700 Merge branch 'hns-fixes' yankejian says: ==================== net: hns: fixes two bugs in hns driver This patchset fixes two bugs in hns driver. - fixes timeout when received pause frame from the connective ports - should be set by using ethtool -s when the devices are link down ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90a505b9f607bf09525bb8eb766b73a658675b38 Author: lisheng <lisheng011@xxxxxxxxxx> Date: Fri Oct 16 17:03:20 2015 +0800 net: hns: fixes a bug about timeout by pause frame this patch fixes the bug triggered timeout sequence. when the connective ports cannot accept the packets with higher speed, they will send out the pause frame to the Soc's mac. At that time, the driver resets the relevant of the Soc, then it causes the packets cannot be sent out immediately. this patch fixes the issue. Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> Signed-off-by: lisheng <lisheng011@xxxxxxxxxx> Signed-off-by: lipeng <lipeng321@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 20ddb1d3d0015ff77f83561a0ede7aaebf7417bf Author: Chenny Xu <chenny.xu@xxxxxxxxxx> Date: Fri Oct 16 17:03:19 2015 +0800 net: hns: fixes the issue by using ethtool -s before this patch, hns driver only permits user to set the net device by using ethtool -s when the device is link up. it is obviously not so good. it needs to be set no matter it is link up or down. so this patch fixes this issue. Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> Signed-off-by: lisheng <lisheng011@xxxxxxxxxx> Signed-off-by: lipeng <lipeng321@xxxxxxxxxx> Signed-off-by: Chenny Xu <chenny.xu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4639a3b522f1acec462896f1770523f380fe0157 Merge: b89eb1f abc2b10 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 18 19:54:45 2015 -0700 Merge branch 'hsi-fixes' huangdaode says: ==================== net: hisilicon fix some bugs in HNS drivers This patchset fixes the two bugs in HNS driver, one is remove the hnae sysfs interface according to the review comments from Arnd Bergmann <arnd@xxxxxxxx>, another is fixing the wrong mac_id judgement bug which is found during internal tests. change log: v3: remove the hnae sysfs interface. v2: 1) remove first bug fix, which is fixed in another patch submitted by Arnd Bergmann <arnd@xxxxxxxx> 2) change the code sytyle according to Joe. v1: initial version. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abc2b10eadc6587192adde6ab4050d27dda5ee8f Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Fri Oct 16 11:54:17 2015 +0800 net: hisilicon fix a bug on Hisilicon Network Subsystem This patch fixes the wrong judgement of mac_id when get port num. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31bbd77189a82ed0b7f167d3b8b6561898fa8a80 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Fri Oct 16 11:54:16 2015 +0800 net: hisilicon rm hnae sysfs interface This patch removes the hns driver hnae sysfs interface according to Arnd's review comments. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b89eb1fcf2d4c068f088c39100f5e3067d8cccc9 Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Thu Oct 15 10:37:13 2015 -0700 net: phy: bcm-phy-lib: Fix module license issue The 'bcm-phy-lib.c', added as a part of the commit "net: phy: Add Broadcom phy library for common interfaces" was missing the module license. This was causing an issue when the library is built as a module; "module license 'unspecified' taints kernel". This patch fixes the issue by adding the module license, author and description to the bcm-phy-lib.c file. Fixes: a1cba5613edf5 ("net: phy: Add Broadcom phy library for common interfaces") Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26fb342c734061859fec1bd9e987bb6b78061ef0 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Oct 15 16:54:36 2015 +0800 ipconfig: send Client-identifier in DHCP requests A dhcp server may provide parameters to a client from a pool of IP addresses and using a shared rootfs, or provide a specific set of parameters for a specific client, usually using the MAC address to identify each client individually. The dhcp protocol also specifies a client-id field which can be used to determine the correct parameters to supply when no MAC address is available. There is currently no way to tell the kernel to supply a specific client-id, only the userspace dhcp clients support this feature, but this can not be used when the network is needed before userspace is available such as when the root filesystem is on NFS. This patch is to be able to do something like "ip=dhcp,client_id_type, client_id_value", as a kernel parameter to enable the kernel to identify itself to the server. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 525d12f27bb05c4255857849a8d28c0c086bd28e Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Sun Oct 18 20:57:09 2015 +0300 misc: sram: partition base address belongs to __iomem space The change fixes a warning found by sparse: drivers/misc/sram.c:134:20: warning: incorrect type in assignment (different address spaces) drivers/misc/sram.c:134:20: expected void *base drivers/misc/sram.c:134:20: got void [noderef] <asn:2>* Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8a1978e07c412f8d79b8612f45aaafe7238ca62 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sun Oct 18 16:25:53 2015 -0700 Input: sur40 - add dependency on VIDEO_V4L2 Fix build errors due to missing Kconfig dependency. drivers/built-in.o: In function `sur40_disconnect': sur40.c:(.text+0x22be6e): undefined reference to `video_unregister_device' sur40.c:(.text+0x22be77): undefined reference to `v4l2_device_unregister' drivers/built-in.o: In function `sur40_process_video': sur40.c:(.text+0x22c1d4): undefined reference to `v4l2_get_timestamp' drivers/built-in.o: In function `sur40_probe': sur40.c:(.text+0x22ca82): undefined reference to `v4l2_device_register' sur40.c:(.text+0x22cb1a): undefined reference to `v4l2_device_unregister' sur40.c:(.text+0x22cbf7): undefined reference to `video_device_release_empty' sur40.c:(.text+0x22cc53): undefined reference to `__video_register_device' sur40.c:(.text+0x22cc90): undefined reference to `video_unregister_device' drivers/built-in.o: In function `sur40_vidioc_querycap': sur40.c:(.text+0x22ccb0): undefined reference to `video_devdata' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d72c39114c3f36785bb71aaf9dea642e59723abc Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 18:17:09 2015 -0400 TPM: remove unnecessary little endian conversion The base pointer for the event log is allocated in the local kernel (in prom_instantiate_sml()), therefore it is already in the host's endian byte order and requires no conversion. The content of the 'basep' pointer in read_log() stores the base address of the log. This patch ensures that it is correctly implemented. Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Joy Latten <jmlatten@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ashley Lai <ashley@xxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 0cc698af36ff22295dce2f5e46b0cfe605789fa4 Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 17 18:17:08 2015 -0400 vTPM: support little endian guests This patch makes the code endianness independent. We defined a macro do_endian_conversion to apply endianness to raw integers in the event entries so that they will be displayed properly. tpm_binary_bios_measurements_show() is modified for the display. Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Joy Latten <jmlatten@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ashley Lai <ashley@xxxxxxxxxxxxx> Reviewed-by: Ashley Lai <ashley@xxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 09e23a4a5dc39ef874403f3f6fa419f49db3677a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Jul 10 14:32:29 2015 +0900 char: 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> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 9e5d4af458057344e8cc35b09b2f7a9c9e95d81f Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 20:11:54 2015 -0400 vTPM: get the buffer allocated for event log instead of the actual log The OS should ask Power Firmware (PFW) for the size of the buffer allocated for the event log, instead of the size of the actual event log. It then passes the buffer adddress and size to PFW in the handover process, into which PFW copies the log. Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit b4ed0469d00ad7ad051e5acbdb3e7587fd0221e2 Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 20:11:53 2015 -0400 vTPM: reformat event log to be byte-aligned The event log generated by OpenFirmware in PowerPC is 4-byte aligned. This patch reformats the log to be byte-aligned for the Linux client. Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 2f82e98265e0a46e122ee2a035450d065dbd0f4f Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 20:11:52 2015 -0400 vTPM: fix searching for the right vTPM node in device tree Replace all occurrences of '/ibm,vtpm' with '/vdevice/vtpm', as only the latter is guanranteed to be available for the client OS. The '/ibm,vtpm' node should only be used by Open Firmware, which is susceptible to changes. Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 89adb83c5a378618ed67a1cf4c2c2061364b4d10 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Fri Oct 16 12:14:28 2015 +0300 MAINTAINERS: add new maintainer for TPM DEVICE DRIVER At the moment, no one has time to pay enough attention to this subsystem so that patches get eventually merged into linux-next. Even critical bug fixes can lie for weeks. I'm happy to continue with the current maintainers if they are able to do their job but if this is not the case I cannot find any other solution but apply myself for the job. If there is someone more experienced and/or competent, I'm also happy to let one take the stand. Anything works as long as it works. I just want a solution for this bottleneck. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Acked-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 0fe5480303a1657b328a0a389f8d99249d9961f5 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Fri Jun 26 22:28:26 2015 +0300 keys, trusted: seal/unseal with TPM 2.0 chips Call tpm_seal_trusted() and tpm_unseal_trusted() for TPM 2.0 chips. We require explicit 'keyhandle=' option because there's no a fixed storage root key inside TPM2 chips. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Reviewed-by: Andreas Fuchs <andreas.fuchs@xxxxxxxxxxxxxxxxx> Tested-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> (on TPM 1.2) Tested-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Tested-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Tested-by: Kevin Strasser <kevin.strasser@xxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 954650efb79f99d5c817c121bb0a7c6c53362048 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Sat May 30 08:09:04 2015 +0300 tpm: seal/unseal for TPM 2.0 Added tpm_trusted_seal() and tpm_trusted_unseal() API for sealing trusted keys. This patch implements basic sealing and unsealing functionality for TPM 2.0: * Seal with a parent key using a 20 byte auth value. * Unseal with a parent key using a 20 byte auth value. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit fe351e8d4eec801beeba1df1f36d76316be6f1a2 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Fri Jun 12 23:34:01 2015 +0200 keys, trusted: move struct trusted_key_options to trusted-type.h Moved struct trusted_key_options to trustes-type.h so that the fields can be accessed from drivers/char/tpm. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit a74f8b36352e79b13d48fa92759c9ea6b78d5817 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Sun Oct 11 12:26:58 2015 +0300 tpm: introduce tpm_buf This patch introduces struct tpm_buf that provides a string buffer for constructing TPM commands. This allows to construct variable sized TPM commands. For the buffer a page is allocated and mapped, which limits maximum size to PAGE_SIZE. Variable sized TPM commands are needed in order to add algorithmic agility. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit b8e98dcdc5ad24bbecc763cd0ac87bbde602e5ea Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Wed May 20 16:44:40 2015 +0300 tpm: update PPI documentation to address the location change. Updated Documentation/ABI/testing/sysfs-driver-ppi in order to explain where PPI attributes are located and how backwards compatibility is addressed. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 9b774d5cf2db4b27324784e8d2c95a06cdf82373 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Tue Apr 14 17:56:48 2015 +0300 tpm: move the PPI attributes to character device directory. Moved PPI attributes to the character device directory. This aligns with the sysfs guidelines and makes them race free because they are created atomically with the character device as part of device_register().The character device and the sysfs attributes appear at the same time to the user space. As part of this change we enable PPI attributes also for TPM 2.0 devices. In order to retain backwards compatibility with TPM 1.x devices, a symlink is created to the platform device directory. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx> Tested-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> (on TPM 1.2) Tested-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Tested-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 37c1c04cca920de8a68285751b2c7b3d937ad50c Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Wed Apr 22 19:36:06 2015 +0300 sysfs: added __compat_only_sysfs_link_entry_to_kobj() Added a new function __compat_only_sysfs_link_group_to_kobj() that adds a symlink from attribute or group to a kobject. This needed for maintaining backwards compatibility with PPI attributes in the TPM driver. Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 399235dc6e95400a1322a9999e92073bc572f0c8 Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Tue Sep 29 00:32:19 2015 +0300 tpm, tpm_tis: fix tpm_tis ACPI detection issue with TPM 2.0 Both for FIFO and CRB interface TCG has decided to use the same HID MSFT0101. They can be differentiated by looking at the start method from TPM2 ACPI table. This patches makes necessary fixes to tpm_tis and tpm_crb modules in order to correctly detect, which module should be used. For MSFT0101 we must use struct acpi_driver because struct pnp_driver has a 7 character limitation. It turned out that the root cause in b371616b8 was not correct for https://bugzilla.kernel.org/show_bug.cgi?id=98181. v2: * One fixup was missing from v1: is_tpm2_fifo -> is_fifo v3: * Use pnp_driver for existing HIDs and acpi_driver only for MSFT0101 in order ensure backwards compatibility. v4: * Check for FIFO before doing *anything* in crb_acpi_add(). * There was return immediately after acpi_bus_unregister_driver() in cleanup_tis(). This caused pnp_unregister_driver() not to be called. Cc: stable@xxxxxxxxxx Reported-by: Michael Saunders <mick.saunders@xxxxxxxxx> Reported-by: Michael Marley <michael@xxxxxxxxxxxxxxxxx> Reported-by: Jethro Beekman <kernel@xxxxxxxxxxx> Reported-by: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Tested-by: Michael Marley <michael@xxxxxxxxxxxxxxxxx> Tested-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> (on TPM 1.2) Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 149789ce9d472e6b4fd99336e779ab843754a96c Author: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Date: Tue Sep 15 20:05:40 2015 +0300 tpm, tpm_crb: fix unaligned read of the command buffer address The command buffer address must be read with exactly two 32-bit reads. Otherwise, on some HW platforms, it seems that HW will abort the read operation, which causes CPU to fill the read bytes with 1's. Therefore, we cannot rely on memcpy_fromio() but must call ioread32() two times instead. Also, this matches the PC Client Platform TPM Profile specification, which defines command buffer address with two 32-bit fields. Cc: stable@xxxxxxxxxx Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit 60ecd86c4d985750efa0ea3d8610972b09951715 Author: Hon Ching \(Vicky\) Lo <honclo@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 20:11:51 2015 -0400 vTPM: fix memory allocation flag for rtce buffer at kernel boot At ibm vtpm initialzation, tpm_ibmvtpm_probe() registers its interrupt handler, ibmvtpm_interrupt, which calls ibmvtpm_crq_process to allocate memory for rtce buffer. The current code uses 'GFP_KERNEL' as the type of kernel memory allocation, which resulted a warning at kernel/lockdep.c. This patch uses 'GFP_ATOMIC' instead so that the allocation is high-priority and does not sleep. Cc: stable@xxxxxxxxxx Signed-off-by: Hon Ching(Vicky) Lo <honclo@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit eb6301160dde0227ac27c6ec2a0b57054d88e398 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 2 11:08:47 2015 +0200 tpm: 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> Reviewed-by: Peter Huewe <peterhuewe@xxxxxx> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx> commit fcd8a399a9d44a637b5ded0eeea14c7933132121 Merge: 1e2103c f9d460b Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Oct 19 09:03:30 2015 +1100 Merge branch 'xfs-stats-fixes' into for-next commit f9d460b341f23a9bb7df8868975fdfcc2e71aa9b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Oct 19 08:42:47 2015 +1100 xfs: fix an error code in xfs_fs_fill_super() If alloc_percpu() fails, we accidentally return PTR_ERR(NULL), which means success, but we intended to return -ENOMEM. Fixes: 225e4635580c ('xfs: per-filesystem stats in sysfs') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Bill O'Donnell <billodo@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 985ef4dcf94ac0113e2b32ef86bdd5bc47c016b3 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Oct 19 08:42:46 2015 +1100 xfs: stats are no longer dependent on CONFIG_PROC_FS So we need to fix the makefile to understand this, otherwise build errors with CONFIG_PROC_FS=n occur. Reported-and-tested-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3187567222178d4b3742e88242f7abb3c3b7a215 Merge: c76af02 d24796a Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Oct 19 07:16:15 2015 +1000 Merge branch 'virtio-gpu-for-drm-next' of git://git.kraxel.org/linux into drm-next Add 3D support to the virtio-gpu. * 'virtio-gpu-for-drm-next' of git://git.kraxel.org/linux: virtio-gpu: add page flip support virtio-gpu: mark as a render gpu virtio-gpu: add basic prime support virtio-gpu: add 3d/virgl support virtio-gpu: don't free things on ttm_bo_init failure virtio-gpu: wait for cursor updates finish virtio-gpu: add & use virtio_gpu_queue_fenced_ctrl_buffer virtio-gpu: add virtio_gpu_queue_ctrl_buffer_locked commit 4327ba52afd03fc4b5afa0ee1d774c9c5b0e85c5 Author: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> Date: Sun Oct 18 17:02:56 2015 -0400 ext4, jbd2: ensure entering into panic after recording an error in superblock If a EXT4 filesystem utilizes JBD2 journaling and an error occurs, the journaling will be aborted first and the error number will be recorded into JBD2 superblock and, finally, the system will enter into the panic state in "errors=panic" option. But, in the rare case, this sequence is little twisted like the below figure and it will happen that the system enters into panic state, which means the system reset in mobile environment, before completion of recording an error in the journal superblock. In this case, e2fsck cannot recognize that the filesystem failure occurred in the previous run and the corruption wouldn't be fixed. Task A Task B ext4_handle_error() -> jbd2_journal_abort() -> __journal_abort_soft() -> __jbd2_journal_abort_hard() | -> journal->j_flags |= JBD2_ABORT; | | __ext4_abort() | -> jbd2_journal_abort() | | -> __journal_abort_soft() | | -> if (journal->j_flags & JBD2_ABORT) | | return; | -> panic() | -> jbd2_journal_update_sb_errno() Tested-by: Hobin Woo <hobin.woo@xxxxxxxxxxx> Signed-off-by: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit c23fe83138ed7b11ad763cbe8bf98e5378c04bd6 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sun Oct 18 22:43:19 2015 +0530 debugfs: Add debugfs_create_ulong() Add debugfs_create_ulong() for the users of type 'unsigned long'. These will be 32 bits long on a 32 bit machine and 64 bits long on a 64 bit machine. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c7c2f32884214e5b05da6426c6f737d3cd4efcb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Oct 17 08:18:47 2015 +0300 iommu/vt-d: fix a loop in prq_event_thread() There is an extra semi-colon on this if statement so we always break on the first iteration. Fixes: 0204a4960982 ('iommu/vt-d: Add callback to device driver on page faults') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 3bd29515d1cad26fa85a1a9b442de8816c1f5c54 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Oct 16 15:42:55 2015 -0700 x86/entry/32: Fix FS and GS restore in opportunistic SYSEXIT We either need to restore them before popping and thus changing ESP, or we need to adjust the offsets. The former is simpler. Reported-and-tested-by: Borislav Petkov <bp@xxxxxxx> 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: 5f310f739b4c x86/entry/32: ("Re-implement SYSENTER using the new C path") Link: http://lkml.kernel.org/r/461e5c7d8fa3821529893a4893ac9c4bc37f9e17.1445035014.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 657c1eea0019e80685a84cbb1919794243a187c9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Fri Oct 16 15:42:54 2015 -0700 x86/entry/32: Fix entry_INT80_32() to expect interrupts to be on When I rewrote entry_INT80_32, I thought that int80 was an interrupt gate. It's a trap gate. *facepalm* Thanks to Brian Gerst for pointing out that it's better to change the entry code than to change the gate type. Suggested-by: Brian Gerst <brgerst@xxxxxxxxx> Reported-and-tested-by: Borislav Petkov <bp@xxxxxxx> Signed-off-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> Fixes: 150ac78d63af ("x86/entry/32: Switch INT80 to the new C syscall path") Link: http://lkml.kernel.org/r/dc09d9b574a5c1dcca996847875c73f8341ce0ad.1445035014.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ad4401e53d1a5db557f287fdb0820ef0c7dfffd6 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 13:46:48 2015 +0900 ALSA: oxfw: remove a meaningless entry from firewire Makefile A former commit moves oxfw-related codes to a sub-directory, while it forgot to remove an entry from Makefile in parent directory. Fixes: 1a4e39c2e5ca('ALSA: oxfw: Move to its own directory') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit df4833886f91eea0d20e6e97066adab308625ef8 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 18 13:46:47 2015 +0900 ALSA: fireworks/bebob/oxfw/dice: enable to make as built-in When committed to upstream, these four modules had wrong entries for Makefile. This forces them to be loadable modules even if they're set as built-in. This commit fixes this bug. Fixes: b5b04336015e('ALSA: fireworks: Add skelton for Fireworks based devices') Fixes: fd6f4b0dc167('ALSA: bebob: Add skelton for BeBoB based devices') Fixes: 1a4e39c2e5ca('ALSA: oxfw: Move to its own directory') Fixes: 14ff6a094815('ALSA: dice: Move file to its own directory') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 56f2de81e020c537f7e35550d13840143cb765cd Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Tue Aug 25 12:08:22 2015 +0800 of: to support binding numa node to specified device in devicetree For now, in function device_add, the new device will be forced to inherit the numa node of its parent. But this will override the device's numa node which configured in devicetree. Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6713e8fb541656d00249dca6627395b461c39ece Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 12 18:09:12 2015 -0700 debugfs: Add read-only/write-only bool file ops There aren't any read-only or write-only bool file ops, but there is a caller of debugfs_create_bool() that calls it with mode equal to 0400. This leads to the possibility of userspace modifying the file, so let's use the newly created debugfs_create_mode() helper here to fix this. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db6652abc3d81e155b6c8740065e9a4927825d9 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 12 18:09:11 2015 -0700 debugfs: Add read-only/write-only size_t file ops There aren't any read-only or write-only size_t file ops, but there is a caller of debugfs_create_size_t() that calls it with mode equal to 0400. This leads to the possibility of userspace modifying the file, so let's use the newly created debugfs_create_mode() helper here to fix this. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82b7d4fb4e0bcb8fe0d49edea21f595664f83c2f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 12 18:09:10 2015 -0700 debugfs: Add read-only/write-only x64 file ops There aren't any read-only or write-only x64 file ops, but there is a caller of debugfs_create_x64() that calls it with mode equal to S_IRUGO. This leads to the possibility of userspace modifying the file, so let's use the newly created debugfs_create_mode() helper here to fix this. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b97f679954b7771183f3c0a6a47b17e185e64a8a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 12 18:09:09 2015 -0700 debugfs: Consolidate file mode checks in debugfs_create_*() The code that creates debugfs file with different file ops based on the file mode is duplicated in each debugfs_create_*() API. Consolidate that code into debugfs_create_mode(), that takes three file ops structures so that we don't have to keep copy/pasting that logic. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3af8a28f43315fc46753465a4e77e5619dd9f30 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Oct 8 22:04:26 2015 -0700 staging: IB/hfi1: use TASK_COMM_LEN in hfi1_ctxtdata Use comm[TASK_COMM_LEN] instead of comm[16]. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0eaa0c2fe9c1667a7ba8405c455d9627eac9540 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Fri Oct 9 08:18:20 2015 -0600 coresight: etm3x: adding documentation for sysFS's cpu interface Supplementing ABI documentation with a description of the newly added interface. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad1bfe410e91189522514ea784668dc75a4e64c4 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Sun Oct 11 01:00:58 2015 +0300 vme: 8-bit status/id takes 256 values, not 255 Fixes an off by one array size. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f235f664a8afabccf863a5dee4777d2d7b676fda Author: Scot Doyle <lkml14@xxxxxxxxxxxxx> Date: Fri Oct 9 15:08:10 2015 +0000 fbcon: initialize blink interval before calling fb_set_par Since commit 27a4c827c34ac4256a190cc9d24607f953c1c459 fbcon: use the cursor blink interval provided by vt a PPC64LE kernel fails to boot when fbcon_add_cursor_timer uses an uninitialized ops->cur_blink_jiffies. Prevent by initializing in fbcon_init before the call to info->fbops->fb_set_par. Reported-and-tested-by: Alistair Popple <alistair@xxxxxxxxxxxx> Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [v4.2] Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37784706bf9e3b723898125b47d6f1e76a8db418 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Fri Oct 16 15:42:30 2015 -0700 fpga manager: Adding FPGA Manager support for Xilinx Zynq 7000 This commit adds FPGA Manager support for the Xilinx Zynq chip. The code borrows some from the xdevcfg driver in Xilinx' vendor tree. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20598490a337abf44a8fb2d229ace6cf8087f2d4 Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Fri Oct 16 15:42:29 2015 -0700 ARM: zynq: dt: Updated devicetree for Zynq 7000 platform. Added addtional nodes required for FPGA Manager operation of the Xilinx Zynq Devc configuration interface. Reviewed-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 908ca2dbc819f47ab3ef4d38f83e9e81c218b10d Author: Moritz Fischer <moritz.fischer@xxxxxxxxx> Date: Fri Oct 16 15:42:28 2015 -0700 ARM: dt: fpga: Added binding docs for Xilinx Zynq FPGA manager. Signed-off-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1920c298e74b1b9982247bcc33f2a206271ec835 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:40:02 2015 +0300 ver_linux: proc/modules, limit text processing to 'sed' This patch is more of a personal preference, rather than a fix for a problem. The current implementation used a combination of both 'cat' and 'sed' to generate an unsorted list of kernel modules separated by while space. The proposed implementation uses 'sort' and 'sed' to generate a sort list of kernel modules separated by while space. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Arch Linux openSuSE 13.2 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 031c155a8c41edee6fad92dc4eee4c5fe2a06dea Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:40:01 2015 +0300 ver_linux: wireless-tools, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Tested on: Gentoo Linux Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1245b7ec0f8cb223a252c71ed39c33c005c0631c Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:40:00 2015 +0300 ver_linux: use 'udevadm', instead of 'udevinfo' 'udevinfo' no longer seems to be available across various distros. 'udevadm' seems to be the currently valid way to look up the 'udev' version. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29dfecff10f3e1c8b4e2c7e390434d4932c4542f Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:59 2015 +0300 ver_linux: sh-utils, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a343234ed967de0c59cdbbf5629e6d762259549 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:58 2015 +0300 ver_linux: loadkeys, look for numerical input, not field number 'loadkeys -h' no longer prints the version number across all distros, despite the claim to do so in the manpage, which I found to be the case on a Debian Linux system. The proposed implementation utilises the output of 'loadkeys -V' to acquire the version of both 'Kbd' and 'Console-tools'. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be6bb51a9f6a60995e0069bfdd9e0611d78ae4c6 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:57 2015 +0300 ver_linux: net-tools, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7230872ce44667003876f6ef6d3401636033453 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:56 2015 +0300 ver_linux: procps, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53494ba9dac543ffce5bc717556b111ca8c44b7e Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:55 2015 +0300 ver_linux: libcpp, fix missing output Neither 'libg++.so', nor 'libstdc++.so' were found where the current implementation expects them to be found in the distros below. Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Which results in zero ouput generated. The proposed implementation relies on 'ldconfig' to locate the libraries in question. 'Sed' is used to do the text processing. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e5f739c61f669fdd954b1f16674c07bdf5ef8a1 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:54 2015 +0300 ver_linux: ldd, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'head' + 'awk'. The '-v' flag either seems to have been deprecated in some distros, e.g. Gentoo, or is an alias for '--version' in others. The proposed implementation uses the latter flag only. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbb57d10af048d886274129d91f2347d4d48e489 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:53 2015 +0300 ver_linux: libc, input redirection to sed fails in some distros The current implementation has been found not to work across all distros. The proposed implementation relies on 'sed' to both output the string 'Linux C Library' as well as to open '/proc/self/maps' without having to use output redirection. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Arch Linux openSuSE 13.2 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b903fa982db2832d7f402ff00cf30145e8a7fca0 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:52 2015 +0300 ver_linux: ppp, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Tested on: Oracle Linux Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fb0959822e16a91c23cb41e53693180a2b3389f Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:51 2015 +0300 ver_linux: quota-tools, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f437d1ed68d3a51728c0ba3e7fb39a03df74fd1b Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:50 2015 +0300 ver_linux: pcmciautils, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44422f3cd9d2d28049b8eb544ebbc845fd419eef Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:49 2015 +0300 ver_linux: xfsprogs, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63e781ad2442054b9d7b41a949c026ec7c16aafe Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:48 2015 +0300 ver_linux: reiserfsprogs, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fc8de5638e8668df65a4cbeb4ee3e4319b6eaec Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:47 2015 +0300 ver_linux: jfsutils, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'sed' + 'awk'. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8782227598084d95358c08a6d3d6ea84422af11 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:46 2015 +0300 ver_linux: e2fsprogs, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Proposed implementation also eliminates the necessity to invoke 'grep' + 'sed' + 'awk'. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bcb2f59240cb5501956f2a089ba82e0b8621564 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:45 2015 +0300 ver_linux: module-init-tools, look for numerical input, not field number Rely on regex to find the version number, rather than rely on numerical input to be found in a particular input field. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12b2732c825c9ff59fa74fe9df50264d8275c14f Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:44 2015 +0300 ver_linux: util-linux, 'fdformat' not ubiquitous any longer The current implementation relies on 'fdformat' to output the version of 'util-linux'. This does not seem to be reliable any longer, as 'fdformat' does not seem to come preinstalled in all ditros these days. The proposed implementation uses 'mount' to output both the version of 'util-linux' and 'mount' proper, as 'mount' is also a part of the 'util-linux' package. Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Rely on regex to find the version number, rather than a field number. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e2f5cfb38dbd7d0c4a9cfd5093bea4b027a9d6d Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:43 2015 +0300 ver_linux: binutils, fix inaccurate output Current implementation output on Gentoo Linux: binutils 2.25.1 1.1 2.25.1 Proposed implementation: Binutils 2.25.1 Tested on: Gentoo Linux Debian 6.0.10 Oracle Linux Server release 7.1 Rely on regex to find the version number. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d60b873aecc6fce4893b76500c30374f8c9e394 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:42 2015 +0300 ver_linux: make --version, use regex to find version number Rely on regex to find the version number, rather than a field number. Reduce the number of 'awk' invocations from two to one. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 235024e519fa16242f916ec41b00547582f561a7 Author: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Date: Mon Oct 12 21:39:41 2015 +0300 ver_linux: gcc -dumpversion, use regex to find version number Rely on regex to find the version number, rather than a field number. Signed-off-by: Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4c3fcb3c71f26ec18e06721cb3b6bcb314834f3 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Sep 21 23:52:46 2015 +0300 misc: sram: extend usage of reserved partitions This change adds functionality to operate on reserved SRAM partitions described in device tree file. Two partition properties are added, "pool" and "export", the first one allows to share a specific partition for usage by a kernel consumer in the same manner as it is done for the whole SRAM device, and "export" property provides access to some SRAM area from userspace over sysfs interface. Practically it is possible to specify both properties for an SRAM partition, however simultaneous access from a kernel consumer and from userspace is not serialized, but still the combination may be useful for debugging purpose. The change opens the following scenarios of SRAM usage: * updates in a particular SRAM area specified by offset and size are done by bootloader, then this information is utilized by the kernel, * a particular SRAM area is rw accessed from userspace, the stored data is persistent on soft reboots, * a device driver secures SRAM area for its purposes, * etc. Note, strictly speaking the added optional properties describe policy of SRAM usage, rather than hardware, but here the policy mostly resembles flash partitions in devicetree, which is undoubtedly a very popular option but it does not describe hardware. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50ceb98bebfaf7ae6de5fc46b277c595f4c2ce83 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Oct 13 11:21:19 2015 -0700 MAINTAINERS: Add maintainership for MIC drivers Add entry for MIC drivers to the MAINTAINERS file Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e426115e0ad35513d88a3e423b86f839b02f17b5 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Oct 9 09:41:22 2015 +0300 misc: mic/scif: fix error code in scif_create_remote_lookup() We should be returning -ENOMEM here instead of success. Fixes: ba612aa8b487 ('misc: mic: SCIF memory registration and unregistration') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff65212cc4698f532c452a14fdb94a3b1d1f283d Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Oct 13 15:52:06 2015 +0300 misc: mic/scif: re-take a lock on error path The caller expects that we take this lock again before returning otherwise it you get double unlocks and races. Fixes: ba612aa8b487 ('misc: mic: SCIF memory registration and unregistration') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edf5600870121f83a20157d102ad12211c226ee0 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Oct 13 15:02:41 2015 +0300 mei: amthif: Do not compare bool to 0/1 Spotted by coccicheck: drivers/misc/mei/amthif.c:479:5-26: WARNING: Comparison of bool to 0/1 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 df7f5447d7b56c08684c7d285621e15e5c3c06b7 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Oct 13 15:02:40 2015 +0300 mei: bus: fix c&p issue in the kdoc s/send/receive/ The buffer in the receive function is not used for sending Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99c2658f00eafe1b7f7c38aeb487239b014867f9 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Oct 13 15:02:39 2015 +0300 mei: fix the KDoc formating KDoc function section start with double start: /** instead of /* 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 34af19132ed77b51f84274c23cef4ed520542319 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Oct 13 15:02:38 2015 +0300 mei: keep the device awake during reads in chunks Long messages are read in chunks, to prevent trashing runtime pm between the reading of the chunks we call pm_runtime_mark_last_busy() on non-final chunk message as the next chunk of the same message will be received immediately in the next interrupt with high probablity. 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 97ccf63f42721e758bb3cd1aa8967a89d26ed0bb Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Tue Oct 13 15:02:37 2015 +0300 mei: cancel driver workers only after client devices were removed In process of client devices removal from the bus there still might be communication between a driver and the mei device hence we need to cancel supporting workers only after all the client devices were removed. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36fccce0e82a5ccd1c7f3861398f3303bff4669a Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Oct 17 11:39:40 2015 -0700 W1: w1-gpio - switch to using dev_pm_ops Let's stop using legacy platform driver hooks for power management and switch to using the standard dev_pm_ops-based hooks. Also, instead of guarding PM methods with #ifdef CONFIG_PM annotate them as __maybe_unused as it provides better compile coverage. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2a47d00c08e2306185945dabaafd11447641077 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Oct 13 22:36:24 2015 +0530 misc: mic: fix memory leak In scif_node_connect() we were returning if the initialization of p2p_ji fails. But at that time p2p_ij has already been initialized and resources allocated for it. And since p2p_ij is not added to the list till now so we will have a leak. Lets deinitialize and release the resources connected to p2p_ij. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82ff3ac7641a645b55f3bee4acceabf6f17e62f4 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 11 21:05:13 2015 -0700 misc: mic: replace kfree with put_device Handle a failed device_register(), replace kfree() with put_device(), which will call cosm/mbus/scif_release_dev(). Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8bf0dece0fcc9b5271b67cae1123ebfcaf8d8bc Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Wed Oct 7 16:34:34 2015 -0700 misc: mic: Fix randconfig build error Fixes randconfig build error reported at http://www.spinics.net/lists/kernel/msg2092346.html Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Reviewed-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52d63671c15bd3dfcd72f4ea324b338d1309db97 Author: Gabriel Laskar <gabriel@xxxxxxxxxxxx> Date: Tue Oct 6 16:27:36 2015 +0200 msm: remove unused header Signed-off-by: Gabriel Laskar <gabriel@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 904dad4742d211b7a8910e92695c0fa957483836 Author: Andy Leiserson <andy@xxxxxxxxxxxxx> Date: Sun Oct 18 00:36:29 2015 -0400 [PATCH] fix calculation of meta_bg descriptor backups "group" is the group where the backup will be placed, and is initialized to zero in the declaration. This meant that backups for meta_bg descriptors were erroneously written to the backup block group descriptors in groups 1 and (desc_per_block-1). Reproduction information: mke2fs -Fq -t ext4 -b 1024 -O ^resize_inode /tmp/foo.img 16G truncate -s 24G /tmp/foo.img losetup /dev/loop0 /tmp/foo.img mount /dev/loop0 /mnt resize2fs /dev/loop0 umount /dev/loop0 dd if=/dev/zero of=/dev/loop0 bs=1024 count=2 e2fsck -fy /dev/loop0 losetup -d /dev/loop0 Signed-off-by: Andy Leiserson <andy@xxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e052c6d15c61cc4caff2f06cbca72b183da9f15e Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 16:36:24 2015 -0400 tty: Use unbound workqueue for all input workers The commonly accepted wisdom that scheduling work on the same cpu that handled interrupt i/o benefits from cache-locality is only true if the cpu is idle (since bound kworkers are often the highest vruntime and thus the lowest priority). Measurements of scheduling via the unbound queue show lowered worst-case latency responses of up to 5x over bound workqueue, without increase in average latency or throughput. pty i/o test measurements show >3x (!) reduced total running time; tests previously taking ~8s now complete in <2.5s. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e176058f0de53c2346734e5254835e0045364001 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 16:36:23 2015 -0400 tty: Abstract tty buffer work Introduce API functions to restart and cancel tty buffer work, rather than manipulate buffer work directly. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b41b9539a1e9531f942ededfcdcff372317d2e7 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 20:28:44 2015 -0400 tty: Prevent tty teardown during tty_write_message() tty_write_message() allows the caller to directly write to a specific tty. Since the line discipline is bypassed for the direct write, nothing prevents the tty from being torn down after the tty count is checked. Hold the tty lock for the duration of the direct write. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e86b5bf15e2be662df303b7067ac08247713401 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 20:28:43 2015 -0400 tty: core: Use correct spinlock flavor in tiocspgrp() tiocspgrp() is the ioctl handler for TIOCSPGRP, which runs in non-atomic context; use spin_lock/unlock_irq (since interrupt state is on). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2812d9e9fd94c54b0482215f579e6aa04452a322 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 20:28:42 2015 -0400 tty: Combine SIGTTOU/SIGTTIN handling The job_control() check in n_tty_read() has nearly identical purpose and results as tty_check_change(). Both functions' purpose is to determine if the current task's pgrp is the foreground pgrp for the tty, and if not, to signal the current pgrp. Introduce __tty_check_change() which takes the signal to send and performs the shared operations for job control() and tty_check_change(). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71a5cd8a4a2602a6e9010b557a23af0a54df87b6 Author: Timur Tabi <timur@xxxxxxxxxxxxxx> Date: Wed Oct 7 15:27:16 2015 -0500 serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty() The UART_DUMMY_DR_RX status bit is equal to (1 << 16), so a u16 is too small to hold that value. The result is that UART_DUMMY_DR_RX is never passed to uart_insert_char(). This means that we're always accepting characters, even when CREAD (in termios) is not set. Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Reviewed-by: Dave Martin <Dave.Martin@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e8137a185240fa6da0ff91cd9c604716371903b Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Oct 6 15:12:06 2015 +0100 ttyFDC: Fix build problems due to use of module_{init,exit} Commit 0fd972a7d91d (module: relocate module_init from init.h to module.h) broke the build of ttyFDC driver due to that driver's (mis)use of module_mips_cdmm_driver() without first including module.h, for example: In file included from ./arch/mips/include/asm/cdmm.h +11 :0, from drivers/tty/mips_ejtag_fdc.c +34 : include/linux/device.h +1295 :1: warning: data definition has no type or storage class ./arch/mips/include/asm/cdmm.h +84 :2: note: in expansion of macro â??module_driverâ?? drivers/tty/mips_ejtag_fdc.c +1157 :1: note: in expansion of macro â??module_mips_cdmm_driverâ?? include/linux/device.h +1295 :1: error: type defaults to â??intâ?? in declaration of â??module_initâ?? [-Werror=implicit-int] ./arch/mips/include/asm/cdmm.h +84 :2: note: in expansion of macro â??module_driverâ?? drivers/tty/mips_ejtag_fdc.c +1157 :1: note: in expansion of macro â??module_mips_cdmm_driverâ?? drivers/tty/mips_ejtag_fdc.c +1157 :1: warning: parameter names (without types) in function declaration Instead of just adding the module.h include, switch to using the new builtin_mips_cdmm_driver() helper macro and drop the remove callback, since it isn't needed. If module support is added later, the code can always be resurrected. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 4.2.x- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52772ea61594e83118218e3c151eb2b893245059 Author: Guillaume Gomez <guillaume1.gomez@xxxxxxxxx> Date: Sun Oct 4 21:19:18 2015 +0200 tty: remove unneeded return statement Signed-off-by: Guillaume Gomez <guillaume1.gomez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f967fc8f165fadb72166f2bd4785094b3ca21307 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Fri Oct 9 17:14:56 2015 +0200 Revert "serial: 8250_dma: don't bother DMA with small transfers" This reverts commit 9119fba0cfeda6d415c9f068df66838a104b87cb. This commit prevents from sending "big" file using Bluetooth. When sending a lot of data quickly through the Bluetooth interface, and after a variable amount of data sent, transfer fails with error: kernel: [ 415.247453] Bluetooth: hci0 hardware error 0x00 Found on T100TA. After reverting this commit, send works fine for any file size. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Fixes: 9119fba0cfed (serial: 8250_dma: don't bother DMA with small transfers) Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ede6dcd87aa32787f077b6556dce6b0de7d91e6 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Oct 13 13:29:06 2015 +0300 serial: 8250_mid: add support for DMA engine handling from UART MMIO The platforms that have this UART, but that don't have separate PCI device for the DMA Engine, need to create the HSU DMA Engine device separately. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c97ad993d763904fc1c9e0bdc3a6dba062802a2 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Oct 13 13:29:05 2015 +0300 dmaengine: hsu: remove platform data There are no platforms where it's not possible to calculate the number of channels based on IO space length, and since that is the only purpose for struct hsu_dma_platform_data, removing it. Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47f82f1adf701b31d1816bf45118f8e83c02588e Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Oct 13 13:29:04 2015 +0300 dmaengine: hsu: introduce stubs for the exported functions This allows UART drivers to register HSU DMA Engine without being forced to use ifdefs. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec2f1b67f526ee0b314103f7bf2846289fa0f435 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Oct 13 13:29:03 2015 +0300 dmaengine: hsu: make the UART driver in control of selecting this driver HSU (High Speed UART) DMA engine, like the name suggests, is an integrated DMA engine for UART and UART alone. Therefore, making the UART drivers responsible of selecting it and removing the user selectable option for it. The UARTs with this DMA engine can always select HSU_DMA when SERIAL_8250_DMA option is enabled. Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b306f997e2160ff40806fc5b43515f4c135dcb6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 17:04:14 2015 +0200 serial: fix mctrl helper functions A recent patch to create common helper functions for modem control lines created empty helper functions in a header file, but accidentally did not mark them as 'static inline', which causes build errors: drivers/tty/serial/mxs-auart.o: In function `mctrl_gpio_enable_ms': mxs-auart.c:(.text+0x171c): multiple definition of `mctrl_gpio_enable_ms' drivers/tty/serial/clps711x.o:clps711x.c:(.text+0x768): first defined here drivers/tty/serial/mxs-auart.o: In function `mctrl_gpio_disable_ms': mxs-auart.c:(.text+0x1720): multiple definition of `mctrl_gpio_disable_ms' drivers/tty/serial/clps711x.o:clps711x.c:(.text+0x76c): first defined here This adds the missing annotation, so the functions do not get placed in each object file. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: ce59e48fdbad ("serial: mctrl_gpio: implement interrupt handling") Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9eda9bab237259b06690652b145d19e0ce37a77 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Oct 13 13:29:02 2015 +0300 serial: 8250_pci: Intel MID UART support to its own driver Intel MID UART quirks require already quite a bit of code in 8250_pci.c. On new Intel platforms where it is used, the integrated DMA engine no longer has its own PCI device, but is instead configured from the UART's MMIO. That means we will have to add even more code for handling just MID UARTs. Instead of adding that to 8250_pci.c, splitting the support of Intel MID UART into its own driver. Handling of the integrated DMA engine becomes much simpler this way. Own driver will also remove the need for things like specific set_termios hooks for every board using this UART, and simplify the handling of it in general. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d59b382f1c4111933ab56166eb520ac98676b22 Author: Stefan Agner <stefan@xxxxxxxx> Date: Sat Oct 17 00:45:55 2015 -0700 serial: fsl_lpuart: add earlycon support Add support for DT and command line based earlycon support for lpuart and lpuart32 used on Freescale Vybrid and and QorIQ LS1021A processors. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6200cbaf62d481007cb07e73f67da77bc161ae96 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Oct 13 19:06:30 2015 -0400 tty: disable unbind for old 74xx based serial/mpsc console port We recently got rid of some modular code in this driver and also got rid of the unused ".remove" function at the same time. Thierry noted that it was however possible to force the remove through the bind/unbind interface. Since this is a console device used on 2005 vintage 74xx based powerpc embedded targets, and is essentially always used in conjunction with SERIAL_MPSC_CONSOLE=y -- there is no sane reason anyone would ever want to unbind the builtin driver and lose the console. So we just explicitly block bind/unbind operations and prevent root from shooting themselves in the foot. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06e7bd1f9bd86a47e1824f02a821b198eafeb7b6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 16:23:06 2015 +0200 serial: pl011: Spelling s/clocks-names/clock-names/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3868e20f4ce21bb83c7a81bc50664d6a63596a8 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 07:52:27 2015 -0400 n_tty: Remove reader wakeups for TTY_BREAK/TTY_PARITY chars Waking the reader immediately upon receipt of TTY_BREAK or TTY_PARITY chars has no effect on the outcome of read(): 1. Only non-canonical/EXTPROC mode applies since canonical mode will not return data until a line termination is received anyway 2. EXTPROC mode - the reader will always be woken by the input worker 3. Non-canonical modes a. MIN == 0, TIME == 0 b. MIN == 0, TIME > 0 c. MIN > 0, TIME > 0 minimum_to_wake is always 1 in these modes so the reader will always be woken by the input worker d. MIN > 0, TIME == 0 although the reader will not be woken by the input worker unless the minimum data is received, the reader would not otherwise have returned the received data Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bd0162264da0d71df7e37a12a544459ba7ddcde Author: Jiri Slaby <jslaby@xxxxxxx> Date: Sun Oct 11 15:22:45 2015 +0200 tty: synclink, fix indentation The statement after if should be indenteted. So fix this. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77bdec6f0face395ceb303ee7f2525b9dbbeb036 Author: Jiri Slaby <jslaby@xxxxxxx> Date: Sun Oct 11 15:22:44 2015 +0200 serial: at91, fix rs485 properties There is a misplaced bracket in atmel_init_rs485 which sets rs485-rx-during-tx and rs485-enabled-at-boot-time only if rs485-rts-delay is set in of. This is clearly a bug, so fix it by moving the bracket to the proper place. Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> Cc: Elen Song <elen.song@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f148d6d7b79adb42a8e7fa95bf6be5b607015f26 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:57 2015 -0400 tty: Remove wait_event_interruptible_tty() In-tree users of wait_event_interruptible_tty() have been removed; remove. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aba24888d9af19e0bd1c7e7344fd27841611d7a8 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:56 2015 -0400 tty: r3964: Replace/remove bogus tty lock use The tty lock is strictly for serializing tty lifetime events (open/close/hangup), and not for line discipline serialization. The tty core already provides serialization of concurrent writes to the same tty, and line discipline lifetime management (by ldisc references), so pinning the tty via tty_lock() is unnecessary and counter-productive; remove tty lock use. However, the line discipline is responsible for serializing reads (if required by the line discipline); add read_lock mutex to serialize calls of r3964_read(). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b9ab1b3f0860138681862cf6e4c48be59377ef1 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:55 2015 -0400 tty: r3964: Use tty->read_wait waitqueue The tty core provides read_wait waitqueue specifically for line disciplines to wait readers; otherwise, the line discipline may miss wakeups generated by the tty core. NB: The tty core already provides serialization for the line discipline's close() method, and guarantees no readers or writers will be using the closing instance of the line discipline. Completely remove that wakeup. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc2aaabfd6d6335e2156781ca67715b4de17f993 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:54 2015 -0400 tty: Remove tty_port::close_wait With the removal of tty_wait_until_sent_from_close(), tty drivers no longer wait during open for parallel closes to complete (instead, the tty core waits before calling the driver open() method). Thus, the close_wait waitqueue is no longer used for waiting. Remove struct tty_port::close_wait. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b140dfe622ca23bad6755ce7cd7de2245ef2b68d Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:53 2015 -0400 usb: gadget: gserial: Privatize close_wait close_wait is no longer needed or provided by the tty core. Move close_wait to struct gs_port. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fef062cbf2a90fd926a6fff9eb06dde1b699f1b3 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:52 2015 -0400 tty: Remove ASYNC_CLOSING checks in open()/hangup() methods Since at least before 2.6.30, tty drivers that do not drop the tty lock while closing cannot observe ASYNC_CLOSING set while holding the tty lock; this includes the tty driver's open() and hangup() methods, since the tty core calls these methods holding the tty lock. For these drivers, waiting for ASYNC_CLOSING to clear while opening is not required, since this condition cannot occur. Similarly, even when the open() method drops and reacquires the tty lock after blocking, ASYNC_CLOSING cannot be set (again, for drivers that do not drop the tty lock while closing). Now that tty port drivers no longer drop the tty lock while closing (since 'tty: Remove tty_wait_until_sent_from_close()'), the same conditions apply: waiting for ASYNC_CLOSING to clear while opening is not required, nor is re-checking ASYNC_CLOSING after dropping and reacquiring the tty lock while blocking (eg., in *_block_til_ready()). Note: The ASYNC_CLOSING flag state is still maintained since several bitrotting drivers use it for (dubious) other purposes. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79c1faa4511e78380cd643dac88a775062a08bc0 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 16:00:51 2015 -0400 tty: Remove tty_wait_until_sent_from_close() tty_wait_until_sent_from_close() drops the tty lock while waiting for the tty driver to finish sending previously accepted data (ie., data remaining in its write buffer and transmit fifo). tty_wait_until_sent_from_close() was added by commit a57a7bf3fc7e ("TTY: define tty_wait_until_sent_from_close") to prevent the entire tty subsystem from being unable to open new ttys while waiting for one tty to close while output drained. However, since commit 0911261d4cb6 ("tty: Don't take tty_mutex for tty count changes"), holding a tty lock while closing does not prevent other ttys from being opened/closed/hung up, but only prevents lifetime event changes for the tty under lock. Holding the tty lock while waiting for output to drain does prevent parallel non-blocking opens (O_NONBLOCK) from advancing or returning while the tty lock is held. However, all parallel opens _already_ block even if the tty lock is dropped while closing and the parallel open advances. Blocking in open has been in mainline since at least 2.6.29 (see tty_port_block_til_ready(); note the test for O_NONBLOCK is _after_ the wait while ASYNC_CLOSING). IOW, before this patch a non-blocking open will sleep anyway for the _entire_ duration of a parallel hardware shutdown, and when it wakes, the error return will cause a release of its tty, and it will restart with a fresh attempt to open. Similarly with a blocking open that is already waiting; when it's woken, the hardware shutdown has already completed to ASYNC_INITIALIZED is not set, which forces a release and restart as well. So, holding the tty lock across the _entire_ close (which is what this patch does), even while waiting for output to drain, is equivalent to the current outcome wrt parallel opens. Cc: Alan Cox <alan@xxxxxxxxxxxxxxx> Cc: David Laight <David.Laight@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Karsten Keil <isdn@xxxxxxxxxxxxxx> CC: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32ede4a51754cb62b0d43d91cb7c4e3c57069a9c Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 9 14:50:02 2015 +0100 serial: tegra: Add helper function for handling RX buffer In the tegra UART driver there are three places where the RX DMA buffer is handled and pushed up to the tty layer. In all three instances the same functions are called and so instead of duplicating the code in three places, move this code to a new helper function and use this new function. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0e066ccb5b2c474385fe10dbb385bde10738177 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 9 14:50:01 2015 +0100 serial: tegra: Remove redundant code and check in tegra_uart_stop_rx() The serial-tegra driver always uses DMA and hence the driver always allocates DMA channels. Therefore, the test to see if the RX DMA channel is initialised in tegra_uart_stop_rx() is unnecessary and so remove the test and the code that corresponds to the case where the RX DMA channel is not initialised. Please note that the call to tegra_uart_stop_rx() should always be before the call to tegra_uart_shutdown() which will uninitialise the RX DMA channel. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2230a9475f7f00173382806f1e4b9ea53d83a469 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 9 14:50:00 2015 +0100 serial: tegra: Remove unnecessary return statements Some functions in the serial-tegra driver have unnecessary return statements at the end of a void function and so remove them. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a24bb28a315ea2579fbf13a99a69a10cf4c085e Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 9 14:49:59 2015 +0100 serial: tegra: Handle another RX race condition Commit 853a699739fe ("serial: tegra: handle race condition on uart rx side") attempted to fix a race condition between the RX end of transmission interrupt and RX DMA completion callback. Despite this fix there is still another case where these two paths can race and result in duplicated data. The race condition is as follows: 1. DMA completion interrupt occurs and schedules tasklet to call DMA callback. 2. DMA callback for the UART driver starts to execute. This will copy the data from the DMA buffer and restart the DMA. This is done under uart port spinlock. 3. During the callback, UART interrupt is raised for end of receive. The UART ISR runs and waits to acquire port spinlock held by the DMA callback. 4. DMA callback gives up spinlock after copying the data, but before restarting DMA. 5. UART ISR acquires the spin lock and reads the same DMA buffer because DMA has not been restarted yet. The release of the spinlock during the DMA callback was introduced by commit 9b88748b362c ("tty: serial: tegra: drop uart_port->lock before calling tty_flip_buffer_push()") to fix a spinlock lock-up issue when calling tty_flip_buffer_push(). However, since then commit a9c3f68f3cd8 ("tty: Fix low_latency BUG") migrated tty_flip_buffer_push() to always use a workqueue, allowing tty_flip_buffer_push() to be called from within atomic sections. Therefore, we can remove the unlocking of the spinlock from the DMA callback and UART ISR and this will ensure that the race condition no longer occurs. Reported-by: Christopher Freeman <cfreeman@xxxxxxxxxx> Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0abcc6df070687816b0ca0aefc3d64c62773063c Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 14:32:30 2015 -0400 serial: 8250_omap: Remove RTS clear Clearing UART_MCR_RTS or UART_MCR_XONANY is unnecessary; these bits are never set in the shadow mcr. The RTS clear is especially confusing. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d43b54d269d27bd512f36e4f0f3d129be582ebc8 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Oct 7 17:31:21 2015 -0500 serial: Enable Freescale 16550 workaround on arm The same serial hardware is present on LS2080A which is arm64, and LS1021A which is arm32, so don't limit the workaround to PPC. Unlike PPC which uses arch/powerpc/kernel/legacy_serial.c, the ARM targets use drivers/tty/serial/of_serial.c, so add the handle_irq override check there as well. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37f0679964fa8a1c345accb4a36da09c07d3b6a3 Author: Andreas Werner <andy@xxxxxxxxxxxxx> Date: Mon Oct 5 19:23:14 2015 +0200 tty: serial: men_z135_uart.c: use mcb memory region size instead of hardcoded one There is no need to hardcode the MEN_Z135_MEM_SIZE. The MCB subsystem already knowns the size which is located in the chameleon table. MCB parse the chameleon table to get the resources of each IP and provide the mcb_request_mem function to get those resources. Use mcb_request_mem to get the resources. This function also takes care of the memory region naming allocated by the driver for each of the instances. Signed-off-by: Andreas Werner <andy@xxxxxxxxxxxxx> Acked-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 270c2adef30e1912002ba014c16c08b86706d01f Author: Andre Przywara <andre.przywara@xxxxxxx> Date: Mon Oct 5 18:00:52 2015 +0100 serial: atmel: fix compiler warning on address cast Turning on KVM and LPAE support on top of a multi_v7_defconfig will produce a compiler warning in the Atmel serial driver: drivers/tty/serial/atmel_serial.c: In function 'atmel_verify_port': drivers/tty/serial/atmel_serial.c:2299:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] if ((void *)port->mapbase != ser->iomem_base) ^ Fix that by using the cast on the right hand side instead, as similar code already does in other drivers. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac0a36679928e3e8d7cc0b4c2fd02fb368186992 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Sun Oct 18 00:33:09 2015 +0300 staging: r8188eu: Add _enter_critical_mutex() error handling _enter_critical_mutex() is a simple call to mutex_lock_interruptible(), but there is no error handling code for it. The patch removes wrapper _enter_critical_mutex() and adds error handling for mutex_lock_interruptible(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d566e69024ac9d00ab7d0b0442ad2ba3ed4bd668 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Oct 17 22:28:56 2015 +0300 staging: octeon-ethernet: move cvm_oct_xaui_open() cvm_oct_xaui_open() is trivial and does not need a dedicated file. Move it to the main file. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c265f7479e43a9c0d0f4519adbc6839645c976a Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Oct 17 22:28:55 2015 +0300 staging: octeon-ethernet: drop poll_now parameter from cvm_oct_common_open Drop redundant poll_now parameter from cvm_oct_common_open. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 064e08350f122dbede94be231e7de9012ae47ec0 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sat Oct 17 22:28:54 2015 +0300 staging: octeon-ethernet: rgmii: poll link status on open Get the initial link status already on open instead of postponing it to the periodic poll task. This unifies the behaviour with other interfaces types. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63f2be5c3b358db031f86eafa9cd450f6558a55b Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 15:33:15 2015 -0500 staging: fsl-mc: Added serialization to mc_send_command() When the same portal is used to call mc_send_command() from two different threads or a thread and an interrupt handler, serialization is required, as the MC only supports one outstanding command per MC portal. Thus, a new command should not be sent to the MC until the last command sent has been responded by the MC. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f95ad21855f750fe0428853214754f414b82daf Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 15:33:14 2015 -0500 staging: fsl-mc:Added support for atomic portals Refactored mc_send_command() to support two flavors of polling: - preemptible (for non-atomic portals), which was already supported. It calls usleep_range() between polling iterations. - non-preemptible (for atomic portals), which is needed when mc_send_command() is called with interrupts disabled. It calls udelay() between polling iterations. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 140305e77aa449b492af0fdd2c0d51b07a3315b2 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 15:33:13 2015 -0500 staging: fsl-mc: refactored mc_send_command() Moved wait logic in mc_send_command() to its own function Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6a3363c13f43599919b82ef64ce32856d836e00 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 15:33:12 2015 -0500 staging: fsl-mc: changed timeout units for MC cmd completion Changed units for the timeout to wait for completion of MC command, from jiffies to milliseconds. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e65f46abafbc98decbc617ca620d44151449e68 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:24 2015 -0500 staging: fsl-mc: Added missing initializer in fsl_mc_bus_driver owner needs to be initialized as THIS_MOUDLE. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a17f4aa62724732b4c3922d5a3a8d22b19ed2901 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:23 2015 -0500 staging: fsl-mc: fixed bug in uninitialized root dprc irq count When initializing the object attributes for the root dprc, the irq_count was uninitialized. Initialize it to 1. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2379bdbc6c37ad9db6538dbe8f56f18968b566ad Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:22 2015 -0500 staging: fsl-mc: Fixed WARN_ON() in fsl_mc_resource_pool_remove_device Check that resource is not NULL before de-referencing it. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09a38ab0b1a67e85b11d363dedc1f5de3d0e17e8 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:21 2015 -0500 staging: fsl-mc: refactored error exit in allocator probe/remove Replaced error gotos with direct returns in fsl_mc_allocator_probe() and fsl_mc_allocator_remove(), since the only error handling done in those functions is to exit. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6958cd44834ecd1e490be94343c44fc64076d391 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:20 2015 -0500 staging: fsl-mc: Fixed bug in fsl_mc_allocator_remove Call fsl_mc_resource_pool_remove_device() only if mc_dev->resource is not NULL. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95e9a09af4b55b8a1daa4d62afb287994aecfb8e Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:19 2015 -0500 staging: fsl-mc: Fixed alignment of copyright comment Whitespace cleanup-- add missing spaces in column 1 of copyright Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 770417bb856e7f82c2906283687143db5f93f0e2 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:18 2015 -0500 staging: fsl-mc: Removed unused DPMCP macros The macros were a left-over from a previous implementation of the dpmcp APIs and are no longer used. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eceebf8bb35f14d4d4862a47fa6440eaff2698de Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:17 2015 -0500 staging: fsl-mc: Changed types of flags, portal size in Changed these two fields from 32-bit integers to 16-bit integers in struct fsl_mc_io, as 32 bits is too much for these fields. This change does not affect other components since fsl_mc_io is an opaque type. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6998d6ba8c7a28a77c703242e232240495c144a2 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:16 2015 -0500 staging: fsl-mc: Changed dev_info() calls to dev_dbg() Changed dev_info() calls to dev_dbg() in fsl_mc_allocator_probe/fsl_mc_allocator_remove, as they are useful only for debugging. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2f8499153aa78b21881b3ca1fcdc026c3a79079 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:15 2015 -0500 staging: fsl-mc: dpmcp opening/closing refactoring Before, we were opening and closing a mc_io's dpmcp object in fsl_mc_portal_reset(), since that was the only function that was calling dpmcp MC operations. However, it is better for maintainability to open the dpmcp object when it gets associated with an mc_io object, and close it when this association is terminated. This way, we are free to call dpmcp operations on a mc_io's dpmcp object at any time, without having to check if the dpmcp object is opened or not. Consequently, the creation/teardown of the association between an mc_io object and a dpmcp is now encapsulated in two functions: fsl_mc_io_set_dpmcp()/fsl_mc_io_unset_dpmcp(). Besides, setting the corresponding pointers for the association, these functions open and close the dpmcp object respectively. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffcd52ef0907f56181a28f4ae5ab6f0b39e3cf58 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:14 2015 -0500 staging: fsl-mc: fsl_mc_io object refactoring Each fsl_mc_io object is associated with an fsl_mc_device object of type "dpmcp" representing the MC portal associated with the fsl_mc_io object. Before, we were representing this association with an fsl_mc_resource pointer. To enhance code clarity, it is more straight forward to use an fsl_mc_device pointer instead. So, this change replaces the 'resource' field in the fsl_mc_io object with 'dpmcp_dev'. Also, it changes parameter 'resource' of fsl_create_mc_io() to be an fsl_mc_device pointer instead. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 724e50f7c21abd1f9ac0bc4d56fc08e3b51e8596 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Sat Oct 17 11:18:13 2015 -0500 staging: fsl-mc: Naming cleanup in fsl_mc-portal_allocate mc_adev is a local variable for the allocated dpmcp object. Renamed mc_adev as dpmcp_dev for clarity. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffa2366666f06ce1df3296d106d90e0c2e0cd6b7 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Sat Oct 17 21:28:45 2015 +0200 usb/host/fotg210: Remove return statement inside if This patch make changes to an if else statement which simplifies the code allowing to remove a return. CC: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e405f0e45e854191755d49bff8dfaa6e3c0584da Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Sat Oct 17 18:19:46 2015 +0200 staging: r8723au: move * to be adjacent to pointer name Move * in pointer types to be adjacent to pointer names per Linux coding style. Addresses checkpatch.pl: ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcc74c4dd696ad9cf3f58f8aeb1938d9b6f57261 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Oct 17 18:19:46 2015 +0200 Staging: lustre: include : Remove unused macros These macro are not used anymore, therefore remove them. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d811ed6974532cdb47301ba993f766c6e5b3fd5d Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Oct 17 18:19:46 2015 +0200 Staging: lustre: include: Convert macro class_export_lock_put into static inline function Static inline functions are preferred over macros. This change is safe because the types of arguments at all the call sites are same. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edc6a40e3a75650be003be0e35a54f3edc6b4f7e Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Oct 17 18:18:34 2015 +0200 Staging: lustre: include: Convert macro class_export_lock_get into static inline function Static inline functions are preferred over macros. This change is safe because the types of arguments at all the call sites are same. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1d825e9376b7c3c9a3eaa26d14bb74c3c3ff2d0 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Oct 17 18:17:05 2015 +0200 Staging: lustre: include: Move function prototypes Functions: struct obd_export *class_export_get(struct obd_export *exp); void class_export_put(struct obd_export *exp) are being used in macros that are converted into static inline functions, therefore move function prototypes to avoid build error in later patches. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 539669779a8e369912d86dc4048175cc47f20c33 Merge: 50bdb12 0f8669e Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 20:12:19 2015 -0700 Merge tag 'phy-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next Kishon writes: phy: for 4.4 *) Add new PHY driver for Broadcom's cygnus PCIe PHY *) Add USB3 PHY driver for mediatek's SoCs *) Add VBUS regulator support for Samsung's exynos PHY *) Misc cleanup Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 6934da9238da947628be83635e365df41064b09b Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Sat Oct 17 22:57:06 2015 -0400 ext4: fix potential use after free in __ext4_journal_stop There is a use-after-free possibility in __ext4_journal_stop() in the case that we free the handle in the first jbd2_journal_stop() because we're referencing handle->h_err afterwards. This was introduced in 9705acd63b125dee8b15c705216d7186daea4625 and it is wrong. Fix it by storing the handle->h_err value beforehand and avoid referencing potentially freed handle. Fixes: 9705acd63b125dee8b15c705216d7186daea4625 Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 33d14975e5ac469963d5d63856b61698ad0bff07 Author: Jan Kara <jack@xxxxxxxx> Date: Sat Oct 17 22:35:09 2015 -0400 jbd2: fix checkpoint list cleanup Unlike comments and expectation of callers journal_clean_one_cp_list() returned 1 not only if it freed the transaction but also if it freed some buffers in the transaction. That could make __jbd2_journal_clean_checkpoint_list() skip processing t_checkpoint_io_list and continue with processing the next transaction. This is mostly a cosmetic issue since the only result is we can sometimes free less memory than we could. But it's still worth fixing. Fix journal_clean_one_cp_list() to return 1 only if the transaction was really freed. Fixes: 50849db32a9f529235a84bcc84a6b8e631b1d0ec Signed-off-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9c02ac97989d544c89f049e8add7149aaea01671 Author: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> Date: Sat Oct 17 22:28:21 2015 -0400 ext4: fix xfstest generic/269 double revoked buffer bug with bigalloc When you repeatly execute xfstest generic/269 with bigalloc_1k option enabled using the below command: "./kvm-xfstests -c bigalloc_1k -m nodelalloc -C 1000 generic/269" you can easily see the below bug message. "JBD2 unexpected failure: jbd2_journal_revoke: !buffer_revoked(bh);" This means that an already revoked buffer is erroneously revoked again and it is caused by doing revoke for the buffer at the wrong position in ext4_free_blocks(). We need to re-position the buffer revoke procedure for an unspecified buffer after checking the cluster boundary for bigalloc option. If not, some part of the cluster can be doubly revoked. Signed-off-by: Daeho Jeong <daeho.jeong@xxxxxxxxxxx> commit 9008a58e5dcee014f5de69d154e2620870f9224e Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Sat Oct 17 21:33:24 2015 -0400 ext4: make the bitmap read routines return real error codes Make the bitmap reaading routines return real error codes (EIO, EFSCORRUPTED, EFSBADCRC) which can then be reflected back to userspace for more precise diagnosis work. In particular, this means that mballoc no longer claims that we're out of memory if the block bitmaps become corrupt. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 56316a0d28f251dae6a3bc2b6d50e7c25389871f Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Sat Oct 17 16:18:45 2015 -0400 jbd2: clean up feature test macros with predicate functions Create separate predicate functions to test/set/clear feature flags, thereby replacing the wordy old macros. Furthermore, clean out the places where we open-coded feature tests. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit e2b911c53584a92266943f3b7f2cdbc19c1a4e80 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Sat Oct 17 16:18:43 2015 -0400 ext4: clean up feature test macros with predicate functions Create separate predicate functions to test/set/clear feature flags, thereby replacing the wordy old macros. Furthermore, clean out the places where we open-coded feature tests. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> commit 6a797d2737838906f2ea0a31686e87c3151e21ca Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Sat Oct 17 16:16:04 2015 -0400 ext4: call out CRC and corruption errors with specific error codes Instead of overloading EIO for CRC errors and corrupt structures, return the same error codes that XFS returns for the same issues. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 8c81bd8f586c46eaf114758a78d82895a2b081c2 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Sat Oct 17 16:16:02 2015 -0400 ext4: store checksum seed in superblock Allow the filesystem to store the metadata checksum seed in the superblock and add an incompat feature to say that we're using it. This enables tune2fs to change the UUID on a mounted metadata_csum FS without having to (racy!) rewrite all disk metadata. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 8b4953e13f4c5d9a3c869f5fca7d51e1700e7db0 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Oct 17 16:15:18 2015 -0400 ext4: reserve code points for the project quota feature Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 324700604b04954510ddd4c6841a88a06938a28c Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Sat Oct 17 11:30:15 2015 -0700 Input: lpc32xx_ts - fix warnings caused by enabling unprepared clock If common clock framework is configured, the driver generates a warning, which is fixed by this change: root@devkit3250:~# cat /dev/input/touchscreen0 ------------[ cut here ]------------ WARNING: CPU: 0 PID: 720 at drivers/clk/clk.c:727 clk_core_enable+0x2c/0xa4() Modules linked in: sc16is7xx snd_soc_uda1380 CPU: 0 PID: 720 Comm: cat Not tainted 4.3.0-rc2+ #199 Hardware name: LPC32XX SoC (Flattened Device Tree) Backtrace: [<>] (dump_backtrace) from [<>] (show_stack+0x18/0x1c) [<>] (show_stack) from [<>] (dump_stack+0x20/0x28) [<>] (dump_stack) from [<>] (warn_slowpath_common+0x90/0xb8) [<>] (warn_slowpath_common) from [<>] (warn_slowpath_null+0x24/0x2c) [<>] (warn_slowpath_null) from [<>] (clk_core_enable+0x2c/0xa4) [<>] (clk_core_enable) from [<>] (clk_enable+0x24/0x38) [<>] (clk_enable) from [<>] (lpc32xx_setup_tsc+0x18/0xa0) [<>] (lpc32xx_setup_tsc) from [<>] (lpc32xx_ts_open+0x14/0x1c) [<>] (lpc32xx_ts_open) from [<>] (input_open_device+0x74/0xb0) [<>] (input_open_device) from [<>] (evdev_open+0x110/0x16c) [<>] (evdev_open) from [<>] (chrdev_open+0x1b4/0x1dc) [<>] (chrdev_open) from [<>] (do_dentry_open+0x1dc/0x2f4) [<>] (do_dentry_open) from [<>] (vfs_open+0x6c/0x70) [<>] (vfs_open) from [<>] (path_openat+0xb4c/0xddc) [<>] (path_openat) from [<>] (do_filp_open+0x40/0x8c) [<>] (do_filp_open) from [<>] (do_sys_open+0x124/0x1c4) [<>] (do_sys_open) from [<>] (SyS_open+0x2c/0x30) [<>] (SyS_open) from [<>] (ret_fast_syscall+0x0/0x38) Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit bef6229f36c1c2ddae186f4e328c2359c1dad18d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 9 19:38:04 2015 +0200 ARM: sunxi: Add R8 support The R8 is a new Allwinner SoC based on the A13. While both are very similar, there's still a few differences. Introduce a new compatible to deal with them. In order to have a consistent naming, instead of mentioning the Allwinner A series as the machine name, switch to sun4i/sun5i like what is done for the other families. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 083117c0ca8359ac82854a809120694be6375eb4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Oct 17 18:32:27 2015 +0200 ALSA: hda - Remove obsoleted documentation It's totally outdated. We need a revised version later, maybe better integrated into kernel doc. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 658a69bb7568238fd9a65da2426736435d7e8b01 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Oct 17 18:31:31 2015 +0200 ALSA: hda - Remove leftover snd_hda_bus() prototype It was forgotten to be removed. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2f0eaad91005b00e774a118595a573a9e0fd30fc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Oct 17 18:25:38 2015 +0200 ALSA: hda - Fix bogus codec address check for mixer name assignment The recent commit [7fbe824a0f0e: ALSA: hda - Update mixer name for the lower codec address] tried to improve the mixer chip name assignment in the order of codec address. However, this fix was utterly bogus; it checks the field set in each codec, thus this value is reset at each codec creation, of course. For really handling this priority, the assignment has to be remembered in the common place, namely in hda_bus, instead of hda_codec. Fixes: 7fbe824a0f0e ('ALSA: hda - Update mixer name for the lower codec address') Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c2aa565107fb539a84494fe8dac5fd5eb5678123 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Oct 15 16:28:47 2015 +0200 ARM: dts: sun6i: Add a dts file for the Sinovoip BPI-M2 board The Sinovoip BPI-M2 is a SBC board based on the A31s SoC it features 1G RAM, a microsd slot, Gbit ethernet, 4 usb-a USB-2 ports, ir receiver, stereo headphone jack and hdmi video output. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5edab366c633af72c5fa2dd2bb067fd5f534d031 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Oct 15 16:28:46 2015 +0200 ARM: dts: sun6i: Add mmc2_pins_a pinmux setting to sun6i-a31.dtsi Add a pinmux setting for using mmc2 in regular 4 bit mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6d55d339fa6f957c1ef52dfa2ac85445c62c5a13 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Oct 15 16:28:45 2015 +0200 ARM: dts: sunxi: Fix interrupt-cells for [r]pio on A23/A31/A33/A80 When the gpio interrupt bindings where changed to add a bank to the specifier list, the r_pio nodes of A23/A31/A33 where not updated to match and neither was the pio node of the A80, this fixes this. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 919612444272c00e0322a3d081cc720dbfa956d3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:33:02 2015 +0100 staging: vt6655: card.c rename pDevice with priv Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc667b99ccb7392c33b9fd46360356b11755979c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:33:01 2015 +0100 staging: vt6655: rename pOpts and sOpts to opts. bring pointers and members into line. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 068b998835168b5107d1e62a346f52b9f44ed10b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:33:00 2015 +0100 staging: vt6655: remove static inline alloc_td_info. Since this only contains one function and used only twice remove inline altogether. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e06cf9aba8dadb92b1ec12a757d0a824c022176f Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:59 2015 +0100 staging: vt6655: remove static inline alloc_rd_info. Since this only contains one function and only used twice remove inline altogether. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bed02d93a1e3d6880982f9429aa75334afd29851 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:58 2015 +0100 staging: vt6655: replace typedef struct __device_opt with struct vnt_options and members rx_descs0 for nRxDescs0 rx_descs1 for nRxDescs1 tx_descs for nTxDescs int_works short_retry long_retry bbp_type flags Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28c777cb1f828197b3896c6d549e6e091e68e36c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:57 2015 +0100 staging: vt6655: device.h remove typedef enum Covert values to macros. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83373ac0be558428d64b60a994e03eb607313f2a Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:56 2015 +0100 staging: vt6655: device.h remove unsed headers. Most of these headers rate to old api that are no longer used in driver. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5137897949ab640910fc3bbb5d46c0d9c8492e9f Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:55 2015 +0100 staging: vt6655: device.h remove unused macros. None of these are used in driver anymore. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0924a89b0b06ce569c7f536984d64bf6cd2cb4d4 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 17 11:32:54 2015 +0100 staging: vt6655: device_main Replace uIdx with idx. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5eabae947af6f6e1f7c5c7a6eeb5fb691c100ba Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 17 21:20:00 2015 +0530 staging: sm750fb: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro Problem found using checkpatch.pl WARNING: 'Prefer using the BIT macro' Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13d0580cd1eabceb1661049d8830d913d1e31098 Author: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Date: Sat Oct 17 23:52:26 2015 +0800 Staging: mt29f_spinand: Remove space after a cast Modify retval to reflect removal of space during cast operation. Checkpatch found this issue. CHECK: No space is necessary after a cast Signed-off-by: Eva Rachel Retuya <eraretuya@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09c02cb5a610b33425169cabae3efed390ff400a Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Oct 17 15:25:35 2015 +0300 Staging: wilc1000: Remove unnecessary parentheses Problem found using checkpatch.pl: CHECK: Unnecessary parentheses around pstrNetworkInfo->u8SsidLen Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86e4180e122161469f5215aed6a75300a1c406e7 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Oct 17 15:25:34 2015 +0300 Staging: wilc1000: Remove unnecessary else after return Problem found using checkpatch.pl: WARNING: else is not generally useful after a break or return Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 350979e4870711912f4a391d7b2fadfedf775fc3 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Oct 17 15:25:33 2015 +0300 Staging: wilc1000: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5f00637784f09e524ca882e8d43d78e36da166b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sat Oct 17 08:55:15 2015 -0700 Staging: lustre: remove unneeded variable ldlm_lock_enqueue() always returns ELDLM_OK, no matter what happens, so removed the unneeded variable that this value was being stored in and just return the value itself. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx commit f0a0a978b66fea782a52b0a7075b3fa9ab27ad0a Merge: c8d71d0 4be3158 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sat Oct 17 14:11:08 2015 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next This merge resolves conflicts with 75aec9df3a78 ("bridge: Remove br_nf_push_frag_xmit_sk") as part of Eric Biederman's effort to improve netns support in the network stack that reached upstream via David's net-next tree. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Conflicts: net/bridge/br_netfilter_hooks.c commit f33e9c434b8ce833bd3dd39436bd0799c3e1d1c5 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Oct 9 12:16:02 2015 +0530 ARC: smp: Move default boot kick/wait code out of MCIP into common code For non halt-on-reset case, all cores start of simultaneously in @stext. Master core0 proceeds with kernel boot, while other spin-wait on @wake_flag being set by master once it is ready. So NO hardware assist is needed for master to "kick" the others. This patch moves this soft implementation out of mcip.c (as there is no hardware assist) into common smp.c Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit d0890ea5b68f63d7b8641455dc5534886fee2fa1 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Oct 2 19:24:20 2015 +0530 ARC: boot log: decode more mmu config items Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 964cf28f9d10f4e5229e4365258c292bc5c856b2 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Oct 2 19:20:27 2015 +0530 ARC: boot log: move helper macros to header for reuse Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit b598e17f6a7a3a9bb6e0953ef586ee3697b59fce Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Oct 2 12:25:35 2015 +0530 ARC: mm: compute TLB size as needed from ways * sets This frees up some bits to hold more high level info such as PAE being present, w/o increasing the size of already bloated cpuinfo struct Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit c583ee4fb013bcf3501b9f10c252ea44cf7c657a Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Sep 29 16:01:13 2015 +0530 ARC: mm: MMU v1..v3 only selectable for ARCompact ISA based cores Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5c35ee642a1d1341b225808b53fc69df2245b87e Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Sep 29 16:05:48 2015 +0530 ARC: make write_aux_reg safer against macro substitution It was generating warnings when called as write_aux_reg(x, paddr >> 32) Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 9fabcc636bf57dcb9c6fc5b1f34861c548944fd4 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Oct 8 17:52:27 2015 +0530 ARC: [arcompact] entry.S: Elide extra check/branch in exception ret path This is done by improving the laddering logic ! Before: if Exception goto excep_or_pure_k_ret if !Interrupt(L2) goto l1_chk else INTERRUPT_EPILOGUE 2 l1_chk: if !Interrupt(L1) (i.e. pure kernel mode) goto excep_or_pure_k_ret else INTERRUPT_EPILOGUE 1 excep_or_pure_k_ret: EXCEPTION_EPILOGUE Now: if !Interrupt(L1 or L2) (i.e. exception or pure kernel mode) goto excep_or_pure_k_ret ; guaranteed to be an interrupt if !Interrupt(L2) goto l1_ret else INTERRUPT_EPILOGUE 2 ; by virtue of above, no need to chk for L1 active l1_ret: INTERRUPT_EPILOGUE 1 excep_or_pure_k_ret: EXCEPTION_EPILOGUE Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5f888087455c5199195c2ba17b91ac7285a33921 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sun Sep 6 19:11:12 2015 +0530 ARC: [arcompact] entry.S: Document preemption games for L2 intr Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 55a2ae775ab4fe7aefa736e0fae6b8d4bd8aaab5 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Sep 5 23:08:31 2015 +0530 ARC: [arcompact] entry.S: Improve early return from exception The requirement is to - Reenable Exceptions (AE cleared) - Reenable Interrupts (E1/E2 set) We need to do wiggle these bits into ERSTATUS and call RTIE. Prev version used the pre-exception STATUS32 as starting point for what goes into ERSTATUS. This required explicit fixups of U/DE/L bits. Instead, use the current (in-exception) STATUS32 as starting point. Being in exception handler U/DE/L can be safely assumed to be correct. Only AE/E1/E2 need to be fixed. So the new implementation is slightly better -Avoids read form memory -Is 4 bytes smaller for the typical 1 level of intr configuration -Depicts the semantics more clearly Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 9dbd3d9bfd56707f9b1ccc301506e2fac0e95795 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Sep 5 22:47:30 2015 +0530 ARC: [arcompact] don't check for hard isr calling local_irq_enable() Historically this was done by ARC IDE driver, which is long gone. IRQ core is pretty robust now and already checks if IRQs are enabled in hard ISRs. Thus no point in checking this in arch code, for every call of irq enabled. Further if some driver does do that - let it bring down the system so we notice/fix this sooner than covering up for sucker This makes local_irq_enable() - for L1 only case atleast simple enough so we can inline it. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit c7119d56d2755fc2770b0e2c1c4385e10f4c9161 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Oct 15 08:04:45 2015 +0530 ARCv2: mm: THP: flush_pmd_tlb_range make SMP safe Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 722fe8fd365a08bd53e9dd105009ab810107b02d Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Feb 27 19:36:35 2015 +0530 ARCv2: mm: THP: Implement flush_pmd_tlb_range() optimization Implement the TLB flush routine to evict a sepcific Super TLB entry, vs. moving to a new ASID on every such flush. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 12ebc1581ad114543ae822aa3a12f76072e2f902 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Feb 20 10:36:28 2015 +0530 mm,thp: introduce flush_pmd_tlb_range ARCHes with special requirements for evicting THP backing TLB entries can implement this. Otherwise also, it can help optimize TLB flush in THP regime. stock flush_tlb_range() typically has optimization to nuke the entire TLB if flush span is greater than a certain threshhold, which will likely be true for a single huge page. Thus a single thp flush will invalidate the entrire TLB which is not desirable. e.g. see arch/arc: flush_pmd_tlb_range Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20151009100816.GC7873@node Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit bd5e88ad72b26ebf7ecb231bc22ceecd6cbdb951 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Jul 9 17:22:44 2015 +0530 mm,thp: reduce ifdef'ery for THP in generic code - pgtable-generic.c: Fold individual #ifdef for each helper into a top level #ifdef. Makes code more readable - Converted the stub helpers for !THP to BUILD_BUG() vs. runtime BUG() Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20151009133450.GA8597@node Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 52585bcc2505d6f888d4ac68ca6c55f6d1ad736a Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Jul 9 17:19:30 2015 +0530 mm: group pte related helpers together This reduces/simplifies the diff for the next patch which moves THP specific code. No semantical changes ! Acked-by: Kirill A. Shutemov kirill.shutemov@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442918096-17454-9-git-send-email-vgupta@xxxxxxxxxxxx Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 443a6312832fe7362edffed960204f750b230f46 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 27 14:03:20 2015 +0530 Documentation/features/vm: THP now supported by ARC Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 6ce187985f31c441f7fc10a4d265182d05bc7ad3 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Mar 12 19:48:03 2015 +0530 ARCv2: mm: THP: boot validation/reporting Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit fe6c1b8611aa3a79a937a5e3b85a16576b6ad159 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Tue Jul 8 18:43:47 2014 +0530 ARCv2: mm: THP support MMUv4 in HS38x cores supports Super Pages which are basis for Linux THP support. Normal and Super pages can co-exist (ofcourse not overlap) in TLB with a new bit "SZ" in TLB page desciptor to distinguish between them. Super Page size is configurable in hardware (4K to 16M), but fixed once RTL builds. The exact THP size a Linx configuration will support is a function of: - MMU page size (typical 8K, RTL fixed) - software page walker address split between PGD:PTE:PFN (typical 11:8:13, but can be changed with 1 line) So for above default, THP size supported is 8K * 256 = 2M Default Page Walker is 2 levels, PGD:PTE:PFN, which in THP regime reduces to 1 level (as PTE is folded into PGD and canonically referred to as PMD). Thus thp PMD accessors are implemented in terms of PTE (just like sparc) Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 00db674bedd68ff8b5afae9030ff5e04d45d1b4a Author: Nikolay Borisov <kernel@xxxxxxxx> Date: Fri Oct 16 09:40:28 2015 +0300 netfilter: ipset: Fix sleeping memory allocation in atomic context Commit 00590fdd5be0 introduced RCU locking in list type and in doing so introduced a memory allocation in list_set_add, which is done in an atomic context, due to the fact that ipset rcu list modifications are serialised with a spin lock. The reason why we can't use a mutex is that in addition to modifying the list with ipset commands, it's also being modified when a particular ipset rule timeout expires aka garbage collection. This gc is triggered from set_cleanup_entries, which in turn is invoked from a timer thus requiring the lock to be bh-safe. Concretely the following call chain can lead to "sleeping function called in atomic context" splat: call_ad -> list_set_uadt -> list_set_uadd -> kzalloc(, GFP_KERNEL). And since GFP_KERNEL allows initiating direct reclaim thus potentially sleeping in the allocation path. To fix the issue change the allocation type to GFP_ATOMIC, to correctly reflect that it is occuring in an atomic context. Fixes: 00590fdd5be0 ("netfilter: ipset: Introduce RCU locking in list type") Signed-off-by: Nikolay Borisov <kernel@xxxxxxxx> Acked-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 724097059a8e5df1aa162d153b8f90b0ffbb82dc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 15 21:17:11 2015 +0300 ALSA: firewire-tascam: off by one in handle_midi_tx() My static checker complains because tscm->spec->midi_capture_ports is either 2 or 4 but the tscm->tx_midi_substreams[] array has 4 elements so this is possibly off by one. I have looked at the code and I think it should be >= instead of > as well. Fixes: 107cc0129a68 ('ALSA: firewire-tascam: add support for incoming MIDI messages by asynchronous transaction') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 69ec98d7e5661a1c98ec51c26d6e91af3bbe0e72 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 15 21:16:30 2015 +0300 ALSA: firewire-tascam: fix an LED bug We recently tried to add some new code to support turning the LED on and off but the code in snd_tscm_transaction_reregister() is unreachable. Fixes: e65e2cb99e44 ('ALSA: firewire-tascam: Turn on/off FireWire LED') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fd7cd061adcf5f7503515ba52b6a724642a839c8 Author: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:30:13 2015 +0300 xhci: Add spurious wakeup quirk for LynxPoint-LP controllers We received several reports of systems rebooting and powering on after an attempted shutdown. Testing showed that setting XHCI_SPURIOUS_WAKEUP quirk in addition to the XHCI_SPURIOUS_REBOOT quirk allowed the system to shutdown as expected for LynxPoint-LP xHCI controllers. Set the quirk back. Note that the quirk was originally introduced for LynxPoint and LynxPoint-LP just for this same reason. See: commit 638298dc66ea ("xhci: Fix spurious wakeups after S5 on Haswell") It was later limited to only concern HP machines as it caused regression on some machines, see both bug and commit: Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66171 commit 6962d914f317 ("xhci: Limit the spurious wakeup fix only to HP machines") Later it was discovered that the powering on after shutdown was limited to LynxPoint-LP (Haswell-ULT) and that some non-LP HP machine suffered from spontaneous resume from S3 (which should not be related to the SPURIOUS_WAKEUP quirk at all). An attempt to fix this then removed the SPURIOUS_WAKEUP flag usage completely. commit b45abacde3d5 ("xhci: no switching back on non-ULT Haswell") Current understanding is that LynxPoint-LP (Haswell ULT) machines need the SPURIOUS_WAKEUP quirk, otherwise they will restart, and plain Lynxpoint (Haswell) machines may _not_ have the quirk set otherwise they again will restart. Signed-off-by: Laura Abbott <labbott@xxxxxxxxxxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Cc: Oliver Neukum <oneukum@xxxxxxxx> [Added more history to commit message -Mathias] Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b4739b8951d650becbcd855d7d6f18ac98a9a85 Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Mon Oct 12 11:30:12 2015 +0300 xhci: handle no ping response error properly If a host fails to wake up a isochronous SuperSpeed device from U1/U2 in time for a isoch transfer it will generate a "No ping response error" Host will then move to the next transfer descriptor. Handle this case in the same way as missed service errors, tag the current TD as skipped and handle it on the next transfer event. Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e210c422b6fdd2dc123bedc588f399aefd8bf9de Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Mon Oct 12 11:30:11 2015 +0300 xhci: don't finish a TD if we get a short transfer event mid TD If the difference is big enough between the bytes asked and received in a bulk transfer we can get a short transfer event pointing to a TRB in the middle of the TD. We don't want to handle the TD yet as we will anyway receive a new event for the last TRB in the TD. Hold off from finishing the TD and removing it from the list until we receive an event for the last TRB in the TD Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50bdb12388c520e93947fca3cabf233a77fefd42 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:40 2015 +0200 usb/host/fotg210: Add function scan_frame_queue() checkpatch complains about too many leading tabs because the if statement starts after 6 tabs: scan_iosoc() -> for() -> while() -> switch() -> if() -> for() -> if() There is also a goto statement going backwards in case of failure. This patch creates a new inline function named scan_frame_queue() containing the last 4 nesting levels, and removes the need of backwards goto, making the code easier to read. After the patch it becomes: scan_iosoc() -> for() -> while() -> scan_frame_queue() Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32fb1939e3921691c71f7cd274d80d487af72fae Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:39 2015 +0200 usb/host/fotg210: Add function: output_buf_tds_dir() checkpatch complains about too many leading tabs because the switch statement starts after 6 tabs. fill_periodic_buffer() -> for() -> do -> switch() -> if() -> list_for_each_entry() and finally the last switch(). This patch moves the list_for_each_entry() and the last switch() to a new function named output_buf_tds_dir(). This change makes the code easier to read and calm down checkpatch. This patch changes it to: fill_periodic_buffer() -> for() -> do -> switch() -> if() -> output_buf_tds_dir() Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4d66b5f8da338482005cf7f3dd2fcdaed09dd3f Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:38 2015 +0200 usb/host/fotg210: convert macro to inline function This patch convert the macro speed_char in an inline function. The goal of this patch is to make the code easier to read. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05ebc36e48fa53c9cf01271ed11a8415882699f3 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:37 2015 +0200 usb/host/fotg210: replace msleep by usleep_range msleep under 20ms can result in sleeping up to 20ms, which may not be intended. Replace msleep(5) by usleep_range(5000, 10000). The range of 5 ms is to reduce the chances of creating an interrupt while reducing the maximum wait time in 50%. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d88002e2729e93d93631743d57e1f36763ce136 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:36 2015 +0200 usb/host/fotg210: change kmalloc by kmalloc_array This patch replaces: kmalloc(DBG_SCHED_LIMIT * sizeof(*seen), GFP_ATOMIC) by: kmalloc_array(DBG_SCHED_LIMIT, sizeof(*seen), GFP_ATOMIC) as kmalloc_array() should be used for allocating arrays. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f238b4e2b39e94dc9770243c472a80fa41190db0 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:34 2015 +0200 usb/host/fotg210: Remove useless else statement This patch remove an else statement after a return to make the code easier to understand. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ec9b891a2da7a014245feedc00dc66f0da7a271 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:33 2015 +0200 usb/host/fotg210: remove KERN_WARNING from pr_warn This patch remove KERN_WARNING from a call to pr_warn(). Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 259127ba78d0f25c82a13e594f322b5016f40b62 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Mon Oct 12 23:22:32 2015 +0200 usb/host/fotg210: Fix coding style issues This patch fix coding style issues reported by checkpatch that do not change semantics of the code. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34e51ba6b65b5db4e35426759b1fbdf608545238 Author: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Date: Fri Oct 2 13:18:27 2015 +0200 usb-host: Remove fusbh200 driver fusbh200 and fotg210 are very similar. The initial idea was to consolidate both drivers but I'm afraid fusbh200 is not being used. This patch remove the fusbh200 source code, update Kconfig and two Makefiles. Signed-off-by: Peter Senna Tschudin <peter.senna@xxxxxxxxx> Acked-by: John Chiang <john453@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d491fe75ed1b86f33f671b748e6cfdb9dffaeb32 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 21:11:35 2015 +0300 usb: hcd: use USB_DT_* Fix using the bare numbers to set the 'bDescriptorType' descriptor fields while the values are #define'd in <linux/usb/ch9.h>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fda182d80a0bf362c3970d44ec188fa4f294729f Author: Duc Dang <dhdang@xxxxxxx> Date: Fri Oct 9 13:30:13 2015 +0300 usb: xhci: configure 32-bit DMA if the controller does not support 64-bit DMA This change avoids DMA error in the cases where dma_mask and coherent_dma_mask of a 32-bit controller get configured as DMA_BIT_MASK(64) when running on a 64-bit system. Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 579085b51c458fd4a5df9d5e19238f5e09bb114b Author: Duc Dang <dhdang@xxxxxxx> Date: Fri Oct 9 13:30:12 2015 +0300 usb: Add support for ACPI identification to xhci-platform Provide the methods to let ACPI identify the need to use xhci-platform. Change the Kconfig files so the xhci-plat.o file is selectable during kernel config. This has been tested on an ARM64 machine with platform XHCI, an x86_64 machine with XHCI, and an x86_64 machine without XHCI. There were no regressions or error messages on the machines without platform XHCI. [dhdang: regenerate the patch over v4.3-rc1 and address new comments] Signed-off-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ebbe398f68be0d9bbd41dcfb57319e697756b37 Author: Duc Dang <dhdang@xxxxxxx> Date: Fri Oct 9 13:30:11 2015 +0300 usb: make xhci platform driver use 64 bit or 32 bit DMA The xhci platform driver needs to work on systems that either only support 64-bit DMA or only support 32-bit DMA. Attempt to set a coherent dma mask for 64-bit DMA, and attempt again with 32-bit DMA if that fails. [dhdang: regenerate the patch over v4.3-rc1 and address new comments] Signed-off-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> Tested-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Duc Dang <dhdang@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8451a34ff6c7c756e9e0f0094a3ba856c9734e5d Author: Lu, Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Fri Oct 9 13:30:10 2015 +0300 usb: xhci: Makefile: move xhci-pci and xhci-plat-hcd after xhci-hcd Module xhci-pci and xhci-plat-hcd depend on xhci-hcd. Module xhci-hcd should be put at a place before xhci-pci and xhci-plat-hcd. Otherwise, xhci_hcd_init() might be executed after other functions in xhci-hcd if they are all selected to be built in. 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 5990e5dd7850b4e76a0dace302ac1f801fb8c729 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 9 13:30:09 2015 +0300 xhci: 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> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c840d6ce772d47c777070ca4bbbfbf21d8d727a3 Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Fri Oct 9 13:30:08 2015 +0300 xhci: create one unified function to calculate TRB TD remainder. xhci versions 1.0 and later report the untransferred data remaining in a TD a bit differently than older hosts. We used to have separate functions for these, and needed to check host version before calling the right function. Now Mediatek host has an additional quirk on how it uses the TD Size field for remaining data. To prevent yet another function for calculating remainder we instead want to make one quirk friendly unified function. Tested-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73061da07d28ac6724bcd9ce4b51cf51a8b6b40e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Oct 16 17:09:13 2015 +0300 intel_th: Check for NULL instead of ERR_PTR devm_ioremap() returns NULL on error, it doesn't return an ERR_PTR, which is what the current code does. This patch corrects these checks. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c090575b013cd1f0070567203498704fa61b2fc Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Fri Oct 16 17:09:12 2015 +0300 stm class: Select configfs STM policy handling is basically configfs, I honestly don't know how we ended up without a Kconfig dependency, but thanks to randconfig testing, it's now caught. Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edebf6199bfec7cdefc69a4178b760d09165a926 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:48:02 2015 -0700 staging: comedi: cb_pcidas: rename handle_ao_interrupt() Rename this 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 790b2f06249602ee2560bb94cce4b934abcba6e4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:48:01 2015 -0700 staging: comedi: cb_pcidas: tidy up analog input subdevice init For aesthetics, add some whitespace to the subdevice initialization and rename the subdevice functions to follow the normal form in comedi drivers. Async command support uses interrupts. For clarity, make sure the driver has an IRQ before initializing command support. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5c51b1d6a7629a3efd413fc9f6a6e5d553d5f24 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:48:00 2015 -0700 staging: comedi: cb_pcidas: tidy up analog output subdevice init For aesthetics, add some whitespace to the subdevice initialization and rename the (*insn_write) functions to follow the normal form in comedi drivers. It's not possible to actually read the analog outpus. For convienence the subdevice readback provided by the core is used to return the last value written to the subdevice. Remove the SDF_READABLE flag from the subdev_flags. Async command support uses interrupts. For clarity, make sure the driver has an IRQ before initializing command support. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4008c7207e832d14414f76774a8ebc7067f2154 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:59 2015 -0700 staging: comedi: cb_pcidas: rename private data 's5933_intcsr_bits' For aesthetics, rename this 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 8499ad694a20de85a9e37da4a1aa57869f368fb2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:58 2015 -0700 staging: comedi: cb_pcidas: rename private data 's5933_config' For aesthetics, rename this 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 16ded01b69b10d09659e61f0703979c63dcd385f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:57 2015 -0700 staging: comedi: cb_pcidas: fix cb_pcidas_eeprom_insn_read() The comedi core expects (*insn_read) operations to return insn->n data values. Refactor this function to work like the core expects. For aesthetics, nvram_read() and use the comedi_timeout() helper to handle the busy wait for the eeprom to be "ready". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73d38effd10b8e399790aa67d6eace855f2d81ce Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:56 2015 -0700 staging: comedi: cb_pcidas: tidy up memory subdevice init For aesthetics, add some whitespace to the initialization of this subdevice. Rename the (*insn_read) 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 d9b0cde41992bbd9047b435354bd5e2317158748 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:55 2015 -0700 staging: comedi: cb_pcidas: tidy up 8800 caldac calibration subdevice For aesthetics, add some whitespace to the subdevice init. It's not possible to actually read from the caldac. For convienence the subdevice readback provided by the core is used to return the last value written to the subdevice. Remove the SDF_READABLE flag from the subdev_flags. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a266cd7992e7d2920a40a27c8192884fee261c21 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:54 2015 -0700 staging: comedi: cb_pcidas: tidy up dac08_write() Rename this function so it has namespace associated with the driver. Also rename the 'value' parameter to avoid having to split the line to keep it under 80 chars. Remove the unnecessary masking on the 'value'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e56aaa24a0347d6e0f3be83eb31252855cadba93 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:53 2015 -0700 staging: comedi: cb_pcidas: tidy up dac08 calibration subdevice For aesthetics, add some whitespace to the subdevice init. It's not possible to actually read from the dac08. For convienence the subdevice readback provided by the core is used to return the last value written to the subdevice. Remove the SDF_READABLE flag from the subdev_flags. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe970e4d2d75497a7fed75cea0acd7150e92ed92 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:52 2015 -0700 staging: comedi: cb_pcidas: refactor 'trimpot' boardinfo Only the pci-das1602/16 boards have an AD8402 trimpot. The rest of the boards supported by this driver have an AD7376 trimpot. Replace the 'enum trimpot_module' in the boardinfo with a bit-field flag 'has_ad8402' 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 873524c8517cf0986768685358d124aae7f7e495 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:51 2015 -0700 staging: comedi: cb_pcidas: tidy up cb_pcidas_trimpot_write() All the boards supported by this driver have an AD7376 or AD8402 trimpot. Replace the switch () with and if () and remove the unreachable dev_err() noise. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d71464fd137d4a830dddfc799de8158e9ddc97c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:50 2015 -0700 staging: comedi: cb_pcidas: absorb caldac/trimpot write functions These functions are all just wrappers for cb_pcidas_calib_write(). Remove them and absorb the code into the callers. Remove the unnecessary masking of the 'chan'. It will always be in range due to the 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 eddd2a4c675c95f19da79b5adbf46851b2441212 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:49 2015 -0700 staging: comedi: cb_pcidas: refactor write_calibration_bitstream() Refactor this function to handle the common code used to select the calibration device (trimpot or caldac) and latch the data after sending the bitstream. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2285cd513128d8765334083a997eaa4df4e08791 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:48 2015 -0700 staging: comedi: cb_pcidas: tidy up caldac_8800_write() Rename this function so it has namespace associated with the driver. For aesthetics, remove the 'static const' local variables. They don't add any significant value. Remove the 'bitstream' local variable. Change the type of the 'value' param to match the callers type and write_calibration_bitstream()'s type. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6eb2455dcf1353408c7525ad8617314b3c084efc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:47 2015 -0700 staging: comedi: cb_pcidas: tidy up trimpot_8402_write() Rename this function so it has namespace associated with the driver. Change the return type to void, it always returns '0' and the return value is never checked. For aesthetics, remove the 'static const' local variables. They don't add any significant value. Remove the 'bitstream' local variable. The 'value' passed to this function will always be in the correct range due to s->maxdata so the masking is not necessary. Change the type of the 'value' param to match the callers type and write_calibration_bitstream()'s type. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c11f4772c54d9bea4448ae9de1d4b99695ee72a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:46 2015 -0700 staging: comedi: cb_pcidas: tidy up trimpot_7376_write() Rename this function so it has namespace associated with the driver. Change the return type to void, it always returns '0' and the return value is never checked. For aesthetics, remove the 'static const' local variables. They don't add any significant value. Remove the 'bitstream' local variable. The 'value' passed to this function will always be in the correct range due to s->maxdata so the masking is not necessary. Change the type of the 'value' param to match the callers type and write_calibration_bitstream()'s type. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19ce5d61528a464d97f7cfa17f01bcdc86ded8ae Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:45 2015 -0700 staging: comedi: cb_pcidas: tidy up calibration trimpot subdevice For aesthetics, add some whitespace to the subdevice init. It's not possible to actually read from the trimpot. For convienence the subdevice readback provided by the core is used to return the last value written to the subdevice. Remove the SDF_READABLE flag from the subdev_flags. Move the comment about the channels from trimpot_8402_write() to the subdevice init and fix the checkpatch.pl issue about: WARNING: Block comments use a trailing */ on a separate line Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53cb50aae6fea6af83bde3c773a34abf3469377c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:44 2015 -0700 staging: comedi: cb_pcidas: use preferred kernel types As suggested by checkpatch.pl: CHECK: Prefer kernel type 'u8' over 'uint8_t' Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be3a7688753b18986c10de5fb99a40b9c639cc59 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:43 2015 -0700 staging: comedi: cb_pcidas: tidy up DAC control/status register Rename this register and its bit defines so they have namespace associated with the driver. Use the BIT macro to define the bits. For aesthetics, rename the associated 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 21b6476af98672f8c784a40817793fe17504f978 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:42 2015 -0700 staging: comedi: cb_pcidas: tidy up calibration register Rename this register and its bit defines so they have namespace associated with the driver. 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 1a55808d6245a294d1785778de7d80cab3d14136 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:41 2015 -0700 staging: comedi: cb_pcidas: tidy up trigger control/status register Rename this register and its bit defines so they have namespace associated with the driver. 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 1f9cb9424e406551e32cd203c2fab37c00943935 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:40 2015 -0700 staging: comedi: cb_pcidas: tidy up ADC mux/control register Rename this register and its bit defines so they have namespace associated with the driver. 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 56a160b0ca481c6f2b56894b5a43862b0103fd93 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:39 2015 -0700 staging: comedi: cb_pcidas: tidy up interrupt/ADC FIFO register Rename this register and its bit defines so they have namespace associated with the driver. Use the BIT macro to define the bits. For aesthetics, rename the associated 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 f5c65f0298c9d2776f91a769ba880b4c6704b939 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:38 2015 -0700 staging: comedi: cb_pcidas: convert inline DAC bit helpers to macros For aesthetics, convert the inline functions that return the bits used to set the DAC range and enable bits to macros. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 964db7469f3b7cae5acd49f863fd612271322bf6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:37 2015 -0700 staging: comedi: cb_pcidas: tidy up PCI BAR2 register defines Rename the defines for the PCI BAR2 register offsets so they have namespace associated with the driver and convert the offsets to hex. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1532421f4128414aa1e86885de8377b28d5bb079 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:36 2015 -0700 staging: comedi: cb_pcidas: tidy up PCI BAR3 register defines Rename the defines for the PCI BAR3 register offsets so they have namespace associated with the driver and convert the offsets to hex. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19aab073245923e8b8b4876dbc2d0287e9e9f700 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:35 2015 -0700 staging: comedi: cb_pcidas: use comedi_range_is_unipolar() Instead of relying on the IS_UNIPOLAR mask value, use the comedi helper function to check if the range is unipolar. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9846ec3a48e1ef4be619478d0822467dbfe79ec4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:34 2015 -0700 staging: comedi: cb_pcidas: tidy up PCI BAR4 register defines Convert the inline function DAC_DATA_REG() into a simple macro. Rename the defines for the PCI BAR4 register offsets so they have namespace associated with the driver and convert the offsets to hex. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71c1d717b3d0318edafc91c45e84140379c86e8d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:33 2015 -0700 staging: comedi: cb_pcidas: rename private data 'ao_registers' This member of the private data holds the PCI BAR4 resource starting address. For aesthetics, rename this member to 'pcibar4'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 800235b64ef3440a77af019a3f6ffd5a42cff785 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:32 2015 -0700 staging: comedi: cb_pcidas: rename private data 'adc_fifo' This member of the private data holds the PCI BAR2 resource starting address. For aesthetics, rename this member to 'pcibar2'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d39f185130432452ba8cead55ec7c4a914133bc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:31 2015 -0700 staging: comedi: cb_pcidas: rename private data 'control_status' This member of the private data holds the PCI BAR1 resource starting address. For aesthetics, rename this member to 'pcibar1'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c368e6687066c0dcaddacdd1bcdf7999caa21fa4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:30 2015 -0700 staging: comedi: cb_pcidas: refactor 'ranges' boardinfo All the boards, except the 'pci-das1001', use the normal analog input range table 'cb_pcidas_ranges'. Convert the 'ranges' boardinfo into a bit-field flag 'use_alt_range' to save a bit of space. For aesthetics, reword the comments in the boardinfo for the bit-field members so they align. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2743803dc4fce84365204a494ef94edd81c8320b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:29 2015 -0700 staging: comedi: cb_pcidas: all boards have 16 analog input channels All the boards supported by this driver have 16 analog input channels. Remove this unnecessary information from the boardinfo. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe97f142bb18903f91cde3de73c6b14ae031d4b4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:28 2015 -0700 staging: comedi: cb_pcidas: refactor analog output boardinfo Only some of the boards supported by this driver have analog outputs but they always have 2 channels. Refactor the 'ao_nchan' member of the boardinfo into a bit-field flag 'has_ao' to save a bit of space. Also, convert the 'has_ao_fifo' member into a bit-field flag. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfd2eb8d2077776fab9dbd2d91082990908480ab Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:27 2015 -0700 staging: comedi: cb_pcidas: refactor 'ai_bits' boardinfo The boards supported by this driver either have 16-bit or 12-bit analog input/output resolution. For aesthetics, replace the 'ai_bits' member of the boardinfo with a bit-field flag 'is_16bit'. Also, change the types of the other bit-field flags to unsigned int. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ab2733b7ce9e20be53f483f626f3d06ff507de3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:26 2015 -0700 staging: comedi: cb_pcidas: remove NUM_CHANNELS_* defines These defines don't add any additional clarity to the driver. Just 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 d41af47d9f3adb49c4328f1b6c769926478679c4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 17:47:25 2015 -0700 staging: comedi: cb_pcidas: tidy up multi-line comments Reformat 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 dbabedf38eb9cc435450d48cb68b30f1337e1bea Author: Sakshi Bansal <sakshi.april5@xxxxxxxxx> Date: Thu Oct 15 20:05:03 2015 +0530 staging: netlogic: xlr_net.h: fixed coding style warnings Fixed block comments usage of * on subsequent lines Signed-off-by: Sakshi Bansal <sakshi.april5@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27f88f3f1a7f203f79146a5a2c835c901af100fe Author: Ronit Halder <ronit.crj@xxxxxxxxx> Date: Fri Oct 16 14:20:20 2015 +0530 Staging: rts5208: use dmam_alloc_coherent This patch replaces dma_alloc_coherent with the corresponding managed interface. Signed-off-by: Ronit Halder <ronit.crj@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1446ff09ff87b9103fdde74962b3451f95b059c9 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:29:00 2015 +0200 staging: most: fix line-over-80-characters violations This patch prevents code from crossing the 80 character margin. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2db4b245ec8962ac1c1029462770efbf2d54f18 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:59 2015 +0200 staging: most: change parameter description This patch changes the description of a function parameter for a better understanding. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d58b0ee39abe889dd32718bdf407d13e7dbfb5df Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:58 2015 +0200 staging: most: replace memcpy by ether_addr_copy This patch replaces memcpy() by the preferred function ether_addr_copy(). Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47af41b0d9c078a8f093d418464de6083bd4e80d Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:57 2015 +0200 staging: most: fix misplaced constants in comparisons This patch removes and fixes constants being misplaced in comparisons. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba170ee2b95f53d6e973b63860a4bb80c3140ff4 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:56 2015 +0200 staging: most: make hdm-usb follow the coding style This patch fixes a couple of issues of the hdm-usb module found by checkpatch.pl. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfa1a42ec367afd82d70298e451a1ca1cf4989ce Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:55 2015 +0200 staging: most: fix checkpatch issues of hdm i2c This patch fixes the issues of HDM module i2c found by checkpatch.pl Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff466a5bc26af4f2bed11cd6adf625c6e57e0242 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:54 2015 +0200 staging: most: remove constants from comparisons This patch removes constants from comparisons and fixes checkpatch warnings about constants being put in the wrong place inside a comparison. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9158d33a5d38d1d23717d31c1e5eb11a6ebc982e Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Thu Oct 15 13:28:51 2015 +0200 staging: most: correct coding style breaches This patch fixes line-over-80-characters violation and removes the splitting of quoted strings. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bba76322c3075776f222c4c7dd36f954ed458250 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 16:12:01 2015 +0530 Staging: most: cdev: Remove useless check The variable mbo is already NULL tested so, check on it should be removed. Semantic patch used: @@ expression E; statement S; @@ if(E==NULL) {... return ...;} - if(E) S Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b981da12513469324a18ae8250bca2848f8bf787 Author: Gavin Thomas Claugus <gclaugus@xxxxxxxxx> Date: Tue Oct 13 17:44:40 2015 -0400 Staging: most: fix style issue in aim-cdev/cdev.c Fix 80+ character line in cdev.c to stop checkpatch from whining. Signed-off-by: Gavin Thomas Claugus <gclaugus@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e6731c88b2dc2dd484f5b4177df9f3f95c3f6c9 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Oct 16 21:51:45 2015 +0300 Staging: olpc_dcon: Remove NULL comparison Problem found using checkpatch.pl CHECK: Comparison to NULL could be written "(!)dcon_device" Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdf4b8811f02067dc332f635b59f600a869da1a0 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Oct 16 21:51:44 2015 +0300 Staging: olpc_dcon: Use preferred kernel type This patch "uint16_t" type instead of "u16" type was used. checkpatch.pl issue. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26fc5d01d12323fb9ca231032d47cef4e4cb6bd6 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Oct 16 21:51:43 2015 +0300 Staging: olpc_dcon: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f31c4b4188933e812b66f5e78d4cb0be9d5f3d2 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Fri Oct 16 11:46:29 2015 -0700 staging: r8723au: replace NULL and zero comparison tests with ! operator Replace explicit NULL comparison and zero comparison test with ! operator to simplify code. Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 258e7af2954fb68b55fe9253560f6dfaa4896e54 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 22:09:57 2015 +0530 Staging: dgap: Remove unnecessary test expression struct bd is already NULL tested so, any further NULL checks should be removed. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15aae23e9e5e98a93cf4d942080d17a6ef07d074 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 20:56:22 2015 +0530 Staging: gdx724x: gdm_mux: Remove explicit cast Compiler can typecast variables implicitly so, explicit type cast is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bf3cdee6368a0093584f021aaded582427048dd Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:40:08 2015 +0530 staging: media: lirc: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05ea2d97b9c7a2273a4f0405c036d6e4b61e2245 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:41:30 2015 +0530 staging: media: davinci_vpfe: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79f2af620ef5ae6a6ddf4a3da65568c90c0c5e25 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 16 22:11:36 2015 +0530 staging: panel: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro The semantic patch used to find this is: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 779fcc8410757386bac35ddf4ba026943f2f24f3 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:44:20 2015 +0530 staging: skein: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8a211c481f806c20d56ddb7b0f8533813e936d0 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 16 22:13:29 2015 +0530 staging: vt6655: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro The semantic patch used to find this is: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 574dddc6d73eedb3177c8db4f61fa7cebcabb128 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 16 22:12:35 2015 +0530 staging: vt6656: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro The semantic patch used to find this is: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17accc46ec6e015a48c5afd281381a33d6b1da16 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Thu Oct 15 13:31:11 2015 +0100 staging: vt6655: Remove boolean comparisons Boolean tests do not need explicit comparison to true or false. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b1443a248c5073d0e11e1f26bf7d8522d193b63 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:47:00 2015 +0530 staging: vt6656: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5309c5b8f00b399dd3f80da855d9211944f1ed7e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:45:39 2015 +0530 staging: vt6655: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b49f3b23428433dc1e8bf323d1c39be73f1605e5 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 16 22:10:25 2015 +0530 staging: rdma: amso1100: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro The semantic patch used to find this is: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d32cf44a62716d4fa9e9d8a5d7201a89d936fe5e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 16 22:09:08 2015 +0530 staging: rdma: hfi1: Prefer using BIT Macro Replace bit shifting on 1 with the BIT(x) Macro The semantic patch used to find this is: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bfe513cac8cf0655489e0e6dd5e7dd3cb2b5927 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Fri Oct 16 09:06:52 2015 -0700 staging: rdma: hfi1: delete unneeded tabs in conditional statement block Delete unneeded tabs to indent statement block correctly at (8, 16). checkpatch.pl: WARNING: suspect code indent for conditional statements (8, 24) Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6618c051b52ec108f5b5a2deacd70fbaed4b4542 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 15:14:41 2015 +0530 Staging: rdma: mad: Remove explicit cast Explicit type casting is not required as compiler can type cast variables implicitly. Therefore, it should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 065779434e59efa6252b3ed27df77f2151d47c54 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:50:56 2015 +0530 staging: rdma: ipath: ipath_eeprom: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 939cb02e6efd4d2d9f3129c6e6c31f68869ab7b3 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:52:08 2015 +0530 staging: rdma: ipath: ipath_init_chip: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16709962c119a75d140da9dc226eeb9035e2c353 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:53:23 2015 +0530 staging: rdma: hfi1: diag: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4690ba0d4f4b2699db6802ebcbd4e66358d67849 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:54:35 2015 +0530 staging: rdma: hfi1: sysfs: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d53d80b12c9683d51b8649a74b6c09ca0c15f8a Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 03:22:22 2015 +0530 staging: unisys: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7eb1f7a09bcc1c5f10241d85bee65e786558f171 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Wed Oct 14 09:45:10 2015 -0400 staging: unisys: visorinput: no need to track open count evdev_open_device() and evdev_close_device() (in evdev.c) already track the open count under lock, and will only call visorinput_open() on the first open and visorinput_close() on the last close. So this patch removes the unnessary logic from visorinput, and the now-unused counter from the struct. 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 1b756c43ce3b1696282670bd1de41d36e5205781 Author: Tim Sell <timothy.sell@xxxxxxxxxx> Date: Fri Oct 16 10:06:47 2015 -0400 staging: unisys: visorinput: fix comment format Fix the multi-line comment formatting in visorinput.c. 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 8f94c5a6829c764cd1a4f8d497ffb201419bed85 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 16 10:06:46 2015 -0400 staging: unisys: visorinput: address checkpatch alignment issues Fix the alignment of function parameters to the parenthesis above. 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 b62c535cd0485804ab889fd8f9ac789ede230dd2 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 02:28:36 2015 +0530 staging: speakup: varhandlers: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5186a9fd2ff333693034cd0d24590dd0bc34ea7 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 03:23:35 2015 +0530 staging: speakup: speakup_audptr: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ea8778ef33438a6509313cc1177a9a8ec44b214 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 14 23:28:29 2015 +0300 staging: speakup: Fix multi-line comment style Thus using the preferred style for multi-line coments as mentioned in Documentation/CodingStyle. It also silences 'Block comments use * on subsequent lines' and 'Block comments use a trailing */ on a separate line' checkpatch.pl warnings. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1092794c0132cfca2329748983b840ffeae379e Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 21:49:20 2015 +0530 Staging: fbtft: fb_ssd1331: Remove unnecessary cast Compiler can typecast variables implicitly so, explicit type cast is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e788b70f3bc058b73390e03bd8e58835ac66fa82 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 21:49:01 2015 +0530 Staging: fbtft: fb_ra8875: Remove useless cast Remove explicit type conversion as it is not required. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 193ef315246df696e3d51e07745c04525c4919db Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 21:38:34 2015 +0530 Staging: fbtft: fb_agm1264k-fl: Remove unnecessary cast Remove explicit typecast from variables as compiler can typecast implicitly. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed400c9617766daf652bb9cc310005d4b6325413 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 14 23:27:12 2015 +0300 staging: fbtft: Fix multi-line comment style Thus use the preferred style for multi-line coments as mentioned in Documentation/CodingStyle. It also silences 'Block comments use * on subsequent lines' checkpatch.pl warnings. Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4edff5208df48ebb3099a3b4a521eb58803f877 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:56:52 2015 +0530 staging: dgnc: dgnc_driver: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d09c1b96a731639436402bf0d957b974f4eed6b8 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:55:45 2015 +0530 staging: dgnc: dgnc_tty: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51c826f0733479a44407a7bb28b1c160ec1a19f3 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Wed Oct 14 23:26:15 2015 +0300 staging: dgnc: Fix lines over 80 characters Fix 'line over 80 characters' checkpatch.pl warnings Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df18b9304e3c8db6753519068cc2b8fb8cc6a40b Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 01:42:11 2015 +0530 staging: wlan-ng: Remove useless initialization Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98b5afd833e8b9549418296ae2e02f273b0e7b01 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:19 2015 +0530 Staging: most: Remove unnecessary 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 2594ca30c0ae7f126fc84dc3a795f007c2b2787f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:20 2015 +0530 Staging: gdm724x: Remove unnecessary cast on void pointer void pointers do not need to be cast to other pointer types. Semantic patch: @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 7f44582ea77229331c52cdd1374488523796a86f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:23 2015 +0530 Staging: unisys: Remove unnecessary 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 dd146d2194eeae078a9a8e5562c8eefa475fa220 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:24 2015 +0530 Staging: slicoss: Remove unnecessary 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 759f19dda576703ebb76d7d460dbcbcdc6d0ac2e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:25 2015 +0530 Staging: gdm72xx: Remove unnecessary 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 e4c0c6bc0c3baa6ba8cce4db5568fe9db5ad3c5f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:26 2015 +0530 Staging: comedi: Remove unnecessary 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 2512233334d9694c42a0da14f5a6393e75c7835e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:27 2015 +0530 Staging: rdma: amso1100: Remove unnecessary 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 a787bde8ce7f3c6c5ba50175769827fbde3b42c0 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:29 2015 +0530 Staging: rdma: hfi1: Remove unnecessary 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 0d04cd1972d0d8c51845c243be160fef9480f219 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:30 2015 +0530 Staging: media: Remove unnecessary 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 d762c9b4b48acd082eb1d3ffe56401eac92fbef4 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 00:02:14 2015 +0530 Staging: rtl8188eu: rtw_ieee80211: Remove unnecessary cast Explicit type conversion is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96c35228559a6e9ec14cb494a3f6807b9f755c50 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 00:21:11 2015 +0530 Staging: rtl8188eu: rf_cfg: Remove useless cast Type conversion of variables can be done by compiler implicitly so, explicit conversions should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b6184336ebb5c8dc1eae7f7ab46ee608a748b05 Author: Salva Peiró <speirofr@xxxxxxxxx> Date: Wed Oct 14 17:48:02 2015 +0200 staging/dgnc: fix info leak in ioctl The dgnc_mgmt_ioctl() code fails to initialize the 16 _reserved bytes of struct digi_dinfo after the ->dinfo_nboards member. Add an explicit memset(0) before filling the structure to avoid the info leak. Signed-off-by: Salva Peiró <speirofr@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 561e2967346af25aca786df77a339888574caec2 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 20:50:10 2015 +0530 Staging: iio: tsl2x7x_core: Remove unrequired parentheses from DIV_ROUND_UP Remove parentheses surrounding the first argument of the macro DIV_ROUND_UP as they are not required. Semantic patch used: @@ expression e1,e2; @@ DIV_ROUND_UP( - ( e1 - ) ,e2) Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c6b71a503181ccfcbad25f500f18b1253b8a247 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 19:12:06 2015 +0530 Staging: iio: ad7192: Remove unnecessary NULL test The variable pdata is already NULL tested before so, any further tests should be removed. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 859ba4684ec442b78e7ea8abd3529b9ad7c6024b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 16 10:50:56 2015 +0530 Staging: iio: cdc: Remove unused macros Remove the macros since they are not used anywhere throughout the kernel. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f7e280f5ae61450a7aecd9feefe3f032b6a5abf Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:19 2015 +0300 staging: iio: adc: remove the use of CamelCase Remove the use of CamelCase to follow the kernel naming conventions Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 253ed6848f07b910be5a9bbe1a741c6bc679cb54 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:18 2015 +0300 staging: iio: adc: remove multiple blank lines Remove multiple blank lines since there is no practical reason to have it Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 779c123e1a6cab6e564366198dcdcea8f273dbcf Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:17 2015 +0300 staging: iio: adc: add blank line after declarations Insert a blank line after declarations Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5feb8c51dba6813bcfbdeb688cd5fd6bcde2c5da Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:16 2015 +0300 staging: iio: adc: add spaces around binary operators Add spaces around binary operators like -, +, * etc in order to improve readability Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c30685c67cc21490fc6842cbbc68404be90f6859 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:15 2015 +0300 staging: iio: adc: remove space after cast Remove the space after an explicit cast because there is no point in having it Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 603f102f7887e742ae85939dad80e868c2e64885 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:14 2015 +0300 staging: iio: adc: remove explicit comparison to NULL Use !condition instead off condition == NULL when comparing with NULL Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8ef49f09b26a4c11ad846ef1afa2a726a8c6800 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:13 2015 +0300 staging: iio: adc: properly indent to match open paranthesis Indent parameters and arguments passed to function calls to match open paranthesis Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e4f007500397921bda7038fa4afafde68fc0b23 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 21:14:12 2015 +0300 staging: iio: adc: use kernel types u32 and u64 Convert uint32_t to u32 and uint64_t to u64 in order to follow the kernel best practice Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a737ec350caf0d04e3706f86887ac716abf584e Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Oct 14 22:34:27 2015 +0300 staging: iio: cdc: simplify return flow Simplify return flow ad7150_write_event_params in order to reduce code length. Since i2c_smbus_write_word_data only returns a negative value or 0 the change is safe. This patch fixes the following coccicheck warning: drivers/staging/iio/cdc/ad7150.c:182:2-5: WARNING: end returns can be simpified if negative or 0 value Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd60ac14db902ed8e5c7a769c85fc9005fd69c26 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 23:46:05 2015 +0530 Staging: rtl8192e: rtllib_softmac: Remove useless cast Explicit type conversion is not required to remove it. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3ce40cb734f2a0edd51f3a7cda913274dab42ed Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 02:17:20 2015 +0530 Staging: lustre: lproc_ptlrpc: Replace simple_strtol with simple_stroul The variable inst is a __u32 type and hence the function used should be simple_strtoul. Semantic patch used: @@ typedef __u32; __u32 e; @@ e = - simple_strtol + simple_strtoul (...) Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1930bb5ccf77da3bf1483e2cd85a12ec9c0ed0f6 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:08 2015 -0500 powerpc/fsl_pci: Don't set up inbound windows in kdump crash kernel Otherwise, because the top end of the crash kernel is treated as the absolute top of memory rather than the beginning of a reserved region, in-flight DMA from the previous kernel that targets areas above the crash kernel can trigger a storm of PCI errors. We only do this for kdump, not normal kexec, in case kexec is being used to upgrade to a kernel that wants a different inbound memory map. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Mingkai Hu <Mingkai.hu@xxxxxxxxxxxxx> commit 1112450a18dfcc26dd18000e20bf06bda27f2bad Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:07 2015 -0500 powerpc/85xx: Don't use generic timebase sync on 64-bit 85xx currently uses the generic timebase sync mechanism when CONFIG_KEXEC is enabled, because 32-bit 85xx kexec support does a hard reset of each core. 64-bit 85xx kexec does not do this, so we neither need nor want this (nor is the generic timebase sync code built on ppc64). FWIW, I don't like the fact that the hard reset is done on 32-bit kexec, and I especially don't like the timebase sync being triggered only on the presence of CONFIG_KEXEC rather than actually booting in that environment, but that's beyond the scope of this patch... Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 9f640bf5321dff6af69016d8fe753efa6b2f3e72 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:06 2015 -0500 powerpc/fsl-corenet: Disable coreint if kexec is enabled Problems have been observed in coreint (EPR) mode if interrupts are left pending (due to the lack of device quiescence with kdump) after having tried to deliver to a CPU but unable to deliver due to MSR[EE] -- interrupts no longer get reliably delivered in the new kernel. I tried various ways of fixing it up inside the crash kernel itself, and none worked (including resetting the entire mpic). Masking all interrupts and issuing EOIs in the crashing kernel did help a lot of the time, but the behavior was not consistent. Thus, stick to standard IACK mode when kdump is a possibility. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 01c593d749f4764a87abd8efa397976f2adb8f49 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Oct 6 22:48:05 2015 -0500 powerpc/fsl-booke-64: Allow booting from the secondary thread This allows SMP kernels to work as kdump crash kernels. While crash kernels don't really need to be SMP, this prevents things from breaking if a user does it anyway (which is not something you want to only find out once the main kernel has crashed in the field, especially if whether it works or not depends on which cpu crashed). Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 52246445516e99a59f531a8c72bee8f715a5fd1f Author: poonam aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Date: Sat Sep 19 23:45:42 2015 +0530 powerpc/b4860: Renamed the L2 caches To make provision for more than one L2 caches in the system, change the name from L2 to L2_1; same as in T4 platforms. * Also remove the L2 entry from common file "arch/powerpc/boot/dts/fsl/b4si-post.dtsi" Keep them only in separate files for b4860 and b4420. Signed-off-by: Shaveta Leekha <shaveta@xxxxxxxxxxxxx> Signed-off-by: Poonam Aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit dc37374b9c83382b91f3804845ae593bedc2d13a Author: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> Date: Fri Sep 18 12:00:24 2015 +0800 powerpc/fsl: Move Freescale device tree files into fsl folder It makes no sense that some Freescale device tree files are in fsl directory while some others not. This patch move Freescale device tree files into fsl folder. To do that the following two steps are made: - Move Freescale device tree files into fsl folder. - Update the include path in these files from "fsl/*.dtsi" to "*.dtsi". Please add "fsl/" prefix when you make dtb using Makefile. Signed-off-by: Jia Hongtao <hongtao.jia@xxxxxxxxxxxxx> [scottwood: fixed cuImage rule] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 2d80f651c87c7652c3db109030da4ecfcb166eed Author: poonam aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Date: Thu Sep 10 07:31:20 2015 +0530 powerpc/b4860: Removed LIODN register from sRIO node In case of B4860 LIODN register for sRIO is not in GUTs block but in the sRIO register space. Signed-off-by: Varun Sethi <Varun.Sethi@xxxxxxxxxxxxx> Signed-off-by: Poonam Aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit c383ee84e1d575b09d167185d15df24bde25eb15 Author: Andy Fleming <afleming@xxxxxxxxx> Date: Wed Sep 2 13:07:58 2015 -0500 powerpc/85xx: Add support for Varisys Cyrus board This board uses a P5020 chip, and boots just fine using the corenet_generic code. The device tree is very similar to the P5020DS, except that there is no Flash memory. The environment is, instead, stored on an MMC card on the motherboard. Signed-off-by: Andy Fleming <afleming@xxxxxxxxx> [scottwood: fixed trailing whitespace] Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 072daeed5525a0d8ad1e5ddfb38f29cef1ca25f2 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Aug 24 11:43:03 2015 -0500 powerpc/fsl_pci: Check for get_user/probe_kernel_address failure Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Hongtao Jia <hongtao.jia@xxxxxxxxxxxxx> commit fea6fc647b589e5954330f1f0497b6de59b7fe01 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 16 01:36:31 2015 +0530 Staging: lustre: lproc_osc: Change the variable to be checked The variable rc is supposed to hold the value returned by function kstrtoul which can either be 0, -EINVAL (-22) or -ERANGE (-34). Therefore, the check must be performed on rc instead of val for error values. Also, rc can never be greater than 0. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 673536c9880867e7d9bacd261c423ee953bf4392 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 16 01:00:10 2015 +0530 Staging: lustre: obd_support.h: Remove unused OBD_SLAB_FREE_RTN0 Remove macro OBD_SLAB_FREE_RTN0 since it is defined but not used Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3aa95f887f5816c4832f108b2fa4e5f2dba3e11 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 19:46:06 2015 +0530 Staging: lustre: mdc_locks: Remove extra test expression struct it is already NULL tested before so, it should be removed from the if test expression. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83d6b8fee71f66ac2c55b98053be53aa3251e8fa Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Thu Oct 15 18:24:05 2015 +0530 Staging: lustre: llite_lib: Remove unnecessary NULL check Variable op_data is already tested for NULL value and therefore any further checks should be removed. Semantic patch used: @@ expression E;@@ if(E==NULL) {... return ...;} - if(E){ ... - } Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5ef08d8f1f51f29c9f4f7457e76789e7f10212b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 13:50:19 2015 +0530 Staging: lustre: obd_class.h: Remove unused macro OBD_CHECK_MD_OP Remove macro OBD_CHECK_MD_OP since it is defined but not used Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b55044062ce243868e9f1dbceda8a453fd61c7d3 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:42:53 2015 +0530 staging: lustre: ptlrpc: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab12717607e363124da88d64eeb3fedce9674dfe Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:21 2015 +0530 Staging: lustre: obdclass: Remove unnecessary cast on void pointer void pointers do not need to be cast to other pointer types. 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 cca3241628f02fe68ce22a71bbc555d16915e6a8 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:22 2015 +0530 Staging: lustre: lnet: Remove unnecessary 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 8ba53beb2ce30f5fd0abe1638440889d10988b7c Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 15 00:58:28 2015 +0530 Staging: lustre: ptlrpc: Remove unnecessary 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 167a47c5207fdfbe633cf54518c0291c88d0d97f Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:20:03 2015 +0530 staging: lustre: osc: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9581bada1f64003fd8cc7bc6cad3f0643877b439 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:18:33 2015 +0530 staging: lustre: mgc: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f93fca90e09ade58cc1d4221706c0af5ef29076 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:17:08 2015 +0530 staging: lustre: ptlrpc: sec_gc: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c54ed23f65407f2d91c358e98b9a639ec0c6ca1d Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:15:23 2015 +0530 staging: lustre: ptlrpc: pinger: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 864ef621fa45b5dd6a113d771640fc4984cc8dc6 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:13:30 2015 +0530 staging: lustre: ptlrpc: service: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3df82ddccfc80d6f9665daf05a7836874d32a40c Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 00:11:37 2015 +0530 staging: lustre: ptlrpc: sec_bulk: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3a8fb0729557ac7f9bee7e208a8227abc056e0e Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 22:48:50 2015 +0530 Staging: rtl8192u: ieee80211_rx: Remove unnecessary code The variable frame_authorized is declared and mentioned in the code but is not used anywhere so, it should be removed. Also, two case statements are merged by removing an extra break. Semantic patch used: @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afd0fea4e691ff53bff8adb4bc89398010b6f954 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 23:03:50 2015 +0530 Staging: rtl8192u: ieee80211_softmac: Remove extra NULL check Remove NULL check on a variable as it is already preceded by one. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d32c16d2fc5c45f97c77f687d8e61277c543d210 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Wed Oct 14 23:55:54 2015 +0530 Staging: rtl8712: Coding style warnings fix for block comments This patch is to the rtl871x_ioctl_linux.c file that fixes up following warnings reported by checkpatch.pl : -Block comments use * on subsequent lines -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1b42bef0a4bfea3b6679ef05e9b26eebe0d0682 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Wed Oct 14 23:55:53 2015 +0530 Staging: rtl8712: Use ether_addr_equal() over memcmp() This patch is to the rtl871x_ioctl_linux.c file that fixes up following warning reported by checkpatch.pl : -Prefer ether_addr_equal() or ether_addr_equal_unaligned() over memcmp() bssid and pnetwork->network.MacAddress both are 6 byte array which aligned with u16 Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e904cc8f57d0fb7efb90529475a5793d534538b2 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Wed Oct 14 23:55:52 2015 +0530 Staging: rtl8712: Fix warning prefer eth_broadcast_addr() over memset() This patch is to the rtl871x_ioctl_linux.c that fixes up following warning by checkpatch.pl: -Prefer eth_broadcast_addr() over memset() Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a90391e4c11c453dfde739f94fac73fe94f1957a Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 02:29:55 2015 +0530 staging: rtl8712: rtl8712_recv: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28aba5001300c46320bdc4eba26a8aebf4d83694 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 19:24:10 2015 +0530 Staging: rtl8712: usb_ops_linux: Remove useless cast Explicit type conversion is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b2ea2c7adf0abb528d277889f74243b537b1705 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 19:14:59 2015 +0530 Staging: rtl8712: rtl871x_io: Remove explicit cast Explicit typecasting is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 993c307eb48accf5fc34f703e6c290ddfc251b6e Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 19:10:21 2015 +0530 Staging: rtl8712: rtl8712_xmit: Remove useless cast Explicit typecasting of variables is not required and should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7074ed3df1e23acf68dc398207b6b4bc6a26cac7 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 17:48:58 2015 +0530 Staging: rtl8712: rtl8712_io: Remove unnecessary cast Typecasting should be removed from variables as it is not required. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adc08cc4c9a34a81194e81754f4a1c8b558df850 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 17:38:23 2015 +0530 Staging: rtl8712: rtl8712_cmd: Remove useless cast Explicit type conversions are not required so, remove them. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adc6b375aae108cf03aa42d4e39e42a08be4e9a8 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 17:32:58 2015 +0530 Staging: rtl8712: os_intfs: Remove unnecessary cast Explicit type conversions are not required and so, they should be removed. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d538ae34be092486fea32431232bc5cc58df4545 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:38:21 2015 +0530 staging: rtl8723au: core: rtw_ap: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e847655a29384c4a5275b30b0bc553bd2b152e4f Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:37:09 2015 +0530 staging: rtl8723au: core: rtw_recv: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcf7f33866378e51c12bab11826a76658364bd88 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:35:58 2015 +0530 staging: rtl8723au: core: rtw_wlan_util: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d26a752e198fcd4e3bcd8787a045f6aacb93419d Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:34:41 2015 +0530 staging: rtl8723au: hal: Remove useless intialisation Remove intialisation of a variable that is immediately reassigned. The problem was found using coccinelle semantic patch and further opportunities were identified by hand. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5aebea5590295ab35df87cc0c0a19f0d0241f012 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 15:49:06 2015 +0530 Staging: rtl8723au: rtw_mlme_ext: Remove unnecessary test expression Logical and-ing of a struct and its member should be replaced by the member only as the struct has already been NULL tested before. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad942cb19b416fc64f17871372ee0932878861c0 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 05:04:00 2015 +0530 Staging: rtl8723au: rtl8723a_bt-coexist: Remove unused variable A variable is initialized and then assigned values in the code but is never used and therefore, should be removed. Semantic patch used: @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c03663f98b91cdd04fce2c9fb7a2cc5d164eded Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Oct 16 13:32:47 2015 +0100 mailbox: Fix a couple of trivial static checker issues This patch deals with a few spelling, white space and type warnings reported by Intel's Kbuild Test Robot. Reported-by: kbuild test robot <lkp@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 8ea4484d0c2bb4e2152261943fa1a3522654b1c7 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Oct 16 08:21:30 2015 +0100 mailbox: Add generic mechanism for testing Mailbox Controllers This particular Client implementation uses shared memory in order to pass messages between Mailbox users; however, it can be easily hacked to support any type of Controller. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 9ef4546cbd7eed2412ec6f1161c2b92362379150 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Oct 16 08:21:28 2015 +0100 mailbox: Add support for ST's Mailbox IP ST's platforms currently support a maximum of 5 Mailboxes, one for each of the supported co-processors situated on the platform. Each Mailbox is divided up into 4 instances which consist of 32 channels. Messages are passed between the application and co-processors using shared memory areas. It is the Client's responsibility to manage these areas. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit b5f6737685d54c079db7bec891128de8d07d1c51 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Oct 16 08:21:27 2015 +0100 mailbox: dt: Supply bindings for ST's Mailbox IP Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit f955a398f2cc5bc896388b8046c3c12fc5ec687b Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 03:06:20 2015 +0530 Staging: sm750fb: sm750: Remove irrelevant code The variable ret is only declared and initialized to 0, but never referenced, so remove it. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b02f9240e0e02a030883e3bb7f712f5e1ea58ac9 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 09:26:46 2015 +0300 staging: sm750fb: remove some unnecessary castings The clock divisor calculations in setMasterClock and setMemoryClock unnecessaryly cast unsigned int to unsigned int. Removing the casting. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7092d76f144dc852b2143fe3daabc66fb794dba6 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 09:26:45 2015 +0300 staging: sm750fb: rename getChipClock to get_mxclk_freq The getChipClock is used to detect MXCLK frequency. Make it's name reflect what the function is actually doing. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7751e0e2d2f2dd75e8e7adf96750ac403b799874 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 09:26:44 2015 +0300 staging: sm750fb: merge calcPLL and getPllValue into getChipClock The getChipClock function is used only to get MXCLK frequency, which makes most of getPllValue function unused and thus. The detection of MXCLK frequency may be implemented directly in getChipClock rendering getPllValue and calcPLL unused. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcc43a4b5ed75285aeacf2cf8d9b96d6379fb429 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 16 22:45:39 2015 +0200 staging/wilc: fix Kconfig dependencies, second try My first attempt to fix the Kconfig logic for wilc1000 was incomplete, as it missed the case where SPI is built-in while SDIO is modular and wilc1000 is configured as built-in in SPI mode (or vice versa), which would still lead to a link failure. This works around the problem by adding an intermediate Kconfig symbol "WILC1000_DRIVER" that controls visibility of the SDIO and SPI sub-drivers, so we can control the dependencies better. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 9535ebc5e9cc ("staging/wilc1000: fix Kconfig dependencies") Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92af89d37c415c61c676bb28ae7facdef1821477 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 16 22:05:34 2015 +0200 staging: wilc1000: restore wilc_spi_dev variable A recent change to wilc1000 accidentally deleted an important variable, so we now get a build error when the SPI mode is selected: ERROR: "wilc_spi_dev" [drivers/staging/wilc1000/wilc1000.ko] undefined! This partially reverts the broken commit to put the variable back. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 56293ff232b9 ("staging: wilc1000: linux_wlan_spi: include header") Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e4e87d32804c6a14e41b83c5b3f70ebdc3f0d9e Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Fri Oct 16 16:32:26 2015 +0100 staging: wilc1000: Remove boolean comparisons Boolean tests do not need explicit comparison to true or false. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 543f5b1313b758d38f8ac9c2492a36400a0f0966 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 16 10:47:11 2015 +0530 Staging: wilc1000: Use kmemdup instead of kmalloc and memcpy Replace kmalloc followed by memcpy with kmemdup Problem found using coccicheck Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5c84cd86e86d929a28eb322659f69db353cabb9 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:49:47 2015 +0530 staging: wilc1000: coreconfigurator: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit baba7c743a91da1fa5946da98ce86eddfe81a5fb Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 15 13:48:29 2015 +0530 staging: wilc1000: wilc_wfi_cfgoperations: Remove useless initialisation Remove intialisation of a variable that is immediately reassigned. The semantic patch used to find this is: // <smpl> @@ type T; identifier x; constant C; expression e; @@ T x - = C ; x = e; // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23fba59de00aeeb587db16b450aea7c497cde8ed Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 15:59:53 2015 +0800 staging: wilc1000: join_req_drv can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 870515c113899cc9595cfe507c4262881a2a1df0 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:15 2015 +0900 staging: wilc1000: rename variable gu8FlushedJoinReqDrvHandler This patch renames variable gu8FlushedJoinReqDrvHandler to join_req_drv to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e0e7c2e4594f9ec85f999b98d186c66403ff1b4 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 15:47:44 2015 +0800 staging: wilc1000: info_element_size can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfef7b84e8772e297ceeeb388f25e0bc611797f8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:14 2015 +0900 staging: wilc1000: rename variable gu32FlushedInfoElemAsocSize This patch renames variable gu32FlushedInfoElemAsocSize to info_element_size to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0626baaacfe36bcbc2c65ea7d210752ed29c9293 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:13 2015 +0900 staging: wilc1000: rename variable gu32FlushedJoinReqSize This patch renames variable gu32FlushedJoinReqSize to join_req_size to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fba4989eb25a02b21c7a8cfc892917a1747590b8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:12 2015 +0900 staging: wilc1000: rename variable gu8FlushedAuthType This patch renames variable gu8FlushedAuthType to auth_type to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23047d5b1e95c003dd6e43d930ace593c53c46ee Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 15:18:34 2015 +0800 staging: wilc1000: mode_11i can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd9d44c510622bf41bdf2bd77a9d8fb44f2f89c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:11 2015 +0900 staging: wilc1000: rename variable gu8Flushed11iMode This patch renames variable gu8Flushed11iMode to mode_11i to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48ce24654e3ae51711fa57ec5e23de6e64036ee9 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:10 2015 +0900 staging: wilc1000: rename variable gu8FlushedInfoElemAsoc This patch renames variable gu8FlushedInfoElemAsoc to info_element to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef5991947fda0d4003417c7457386c294c388cb7 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 15:04:15 2015 +0800 staging: wilc1000: join_req can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 044a641014b3da1acdd9edc7e7b8716f5b145084 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:09 2015 +0900 staging: wilc1000: rename variable gu8FlushedJoinReq This patch renames variable gu8FlushedJoinReq to join_req to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a9adb051cd182d25ba050de8ff99fad83efda7e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:08 2015 +0900 staging: wilc1000: remove unused variable gu32WidConnRstHack This patch removes unused the variable gu32WidConnRstHack. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a74c7bf86c62b0cfd02d127ee00192ccbab6a9b1 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:07 2015 +0900 staging: wilc1000: rename variable gu8DelBcn This patch renames variable gu8DelBcn to del_beacon to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad26906ff6a241f8b114966250ab543ebbfcef9b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:06 2015 +0900 staging: wilc1000: rename variable gu32InactiveTime This patch renames variable gu32InactiveTime to inactive_time to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e75d01c6da6ac7fc6382f999a0cecb5cff32f0e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:05 2015 +0900 staging: wilc1000: rename variable gs8GetIP This patch renames variable gs8GetIP to get_ip to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 078b1e98be884ae0296aeaae657e65b3f98d4080 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:04 2015 +0900 staging: wilc1000: rename variable gs8SetIP This patch renames variable gs8SetIP to set_ip to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95ebb0ffe4e26dbcb75cee57b01119c9f23fccba Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:03 2015 +0900 staging: wilc1000: rename variable gu8Chnl This patch renames variable gu8Chnl to ch_no to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75327a0244b7ba0ef180601d414af6302821a6ff Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:02 2015 +0900 staging: wilc1000: rename variable gs8lnkspd This patch renames variable gs8lnkspd to link_speed. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 144b7b2336443109f921fb00c1fe1b70da885065 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:01 2015 +0900 staging: wilc1000: rename variable gs8Rssi This patch renames variable gs8Rssi to rssi to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f64321c6ba1ec92918e0bb1a9f440290a891580a Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 14:46:26 2015 +0800 staging: wilc1000: scan_while_connected can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca8540e4d79c37a7128000990079650e5bb3302a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:25:00 2015 +0900 staging: wilc1000: rename variable gbScanWhileConnected This patch renames variable gbScanWhileConnected to scan_while_connected to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a633c0b5d5633d406354a6eb10df838c6dc24632 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:59 2015 +0900 staging: wilc1000: rename variable gapu8RcvdAssocResp This patch renames variable gapu8RcvdAssocResp to rcv_assoc_resp to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24aadb8bd24999416e75fc301389e102cef5194e Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 14:32:40 2015 +0800 staging: wilc1000: periodic_rssi can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 262f55e1543e9f3c837481da695c3531d2c32dcc Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:58 2015 +0900 staging: wilc1000: rename variable g_hPeriodicRSSI This patch renames variable g_hPeriodicRSSI to periodic_rssi to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 172250024cc4b30efde4666e51540010ecd75ee0 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 14:21:32 2015 +0800 staging: wilc1000: hif_sema_deinit can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 440e8993d1258bc6a7d1522dde8b582dd5a1b7d8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:57 2015 +0900 staging: wilc1000: rename variable hSemHostIntDeinit This patch renames variable hSemHostIntDeinit to hif_sema_deinit to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d25af87768e7bc73dd171933f2bbd1464eba1ec Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:56 2015 +0900 staging: wilc1000: rename variable hWaitResponse This patch renames variable hWaitResponse to hif_sema_wait_response to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 413f930eab1111e7591b0494e689309f1dbd34a0 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 15 14:07:41 2015 +0800 staging: wilc1000: hif_sema_driver can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27ff21681b4362fb8e0623c260603e39c8aa41d5 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:55 2015 +0900 staging: wilc1000: rename variable hSemDeinitDrvHandle This patch renames variable hSemDeinitDrvHandle to hif_sema_driver to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 834e0cb01db0dd33cd9b889dce6a01a05fb6daac Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:54 2015 +0900 staging: wilc1000: rename variable hSemHostIFthrdEnd This patch renames variable hSemHostIFthrdEnd to hif_sema_thread to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb067dcf211fc3b707ad2feecb2986dd7866da9d Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:53 2015 +0900 staging: wilc1000: rename variable gMsgQHostIF This patch renames variable gMsgQHostIF to hif_msg_q to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2115d8ef82d84678ec39e3a2f8b745bb018e07c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:52 2015 +0900 staging: wilc1000: rename variable HostIFthreadHandler This patch renames variable HostIFthreadHandler to hif_thread_handler to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fb770d64e0e0a6ce14ff62e53f9ce86ed214d49 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:51 2015 +0900 staging: wilc1000: remove unused variable gWFiDrvHandle This patch removes unused the variable gWFiDrvHandle. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d8b76b31824c51be48007e4b5c6159a9cc19d6e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:49 2015 +0900 staging: wilc1000: rename au8Interval of struct join_bss_param This patch renames au8Interval of struct join_bss_param to interval to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 109e6cab4804fd8fa84dfca82746e67a435f8102 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:48 2015 +0900 staging: wilc1000: rename au8Duration of struct join_bss_param This patch renames au8Duration of struct join_bss_param to duration to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc179008425b419f7a0fcc0c145d6f69750184ff Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:47 2015 +0900 staging: wilc1000: rename u8Index of struct join_bss_param This patch renames u8Index of struct join_bss_param to idx to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c21047edfa569c05325b7f3511b40b3e3ff4ec53 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:46 2015 +0900 staging: wilc1000: rename u8Count of struct join_bss_param This patch renames u8Count of struct join_bss_param to cnt to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99b669453b3e2add47697a2da1e708ff40a1801c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:45 2015 +0900 staging: wilc1000: rename u8CtWindow of struct join_bss_param This patch renames u8CtWindow of struct join_bss_param to ct_window to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d72b33caee4763d28f5e11cc230ff50b96698582 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:44 2015 +0900 staging: wilc1000: rename u8OppEnable of struct join_bss_param This patch renames u8OppEnable of struct join_bss_param to opp_enabled to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a8d51d776b7f145b3a719f6f8f49e45c1075f23 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:43 2015 +0900 staging: wilc1000: rename u8NoaEnbaled of struct join_bss_param This patch renames u8NoaEnbaled of struct join_bss_param to noa_enabled to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 619d27b88ceddae481ecdf313c455e01258b7360 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Thu Oct 15 13:24:42 2015 +0900 staging: wilc1000: rename ssidLen of struct join_bss_param This patch renames ssidLen of struct join_bss_param to ssid_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a08bc43c4c89e79e7e653bb1c2cdef489843e3a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Oct 14 20:46:32 2015 +0900 staging: wilc1000: remove typedef from the tstrInterfaceInfo This patch removes typedef from the tstrInterfaceInfo and renames it to the wilc_vif. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f61c5aff3b4213f246e0531b47f7c6d76f2574ea Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Oct 14 20:46:30 2015 +0900 staging: wilc1000: remove typedef from the linux_wlan_t This patch removes typedef from the struct linux_wlan_t and renames it to the wilc. In addition, all of linux_wlan_t is replaced with struct wilc and memory allocation style is changed with preferred form as well like the following: p = kmalloc(sizeof(*p), ...) where "struct wilc" is used Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b7ecb01886b4ad34e3cbabb08796bff1e1a709d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Oct 14 20:46:29 2015 +0900 staging: wilc1000: remove extern declarations of g_linux_wlan This patch removes extern declaration of g_linux_wlan from the followings because it is declared as extern in the wilc_wfi_netdevice.h file. - linux_mon.c - linux_wlan_sdio.c - wilc_wfi_cfgoperations.c Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95f840fb5355eda0bf797a2d7b6e684127128cac Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Oct 14 07:29:19 2015 +0530 Staging: wilc1000: Remove null check before kfree kfree on NULL pointer is a no-op. The semantic patch used 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 784c7d2f0e390bcda734ee4ea8c7289777abf1c6 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 03:29:58 2015 +0530 Staging: wilc1000: host_interface: Remove unnecessary enum enum scan_conn_timer and its instances are never used anywhere in the code so, remove it. Semantic patch used: @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5da654541bb3cccaa480e8998f1bb770126341f1 Merge: 26368fd 801ab33 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 21:28:55 2015 -0700 Merge tag 'iio-for-4.4b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: Second set of new drivers, functionality and cleanups for IIO in the 4.4 cycle. Core stuff * adjust resistance documentation to allow for output devices. New device support: * bmc150 - split the i2c driver up into a core and i2c_regmap part including regmap conversion. - add spi support. * mcp4531 digitial potentiometer driver. * Measurement Specialties set of drivers with a core library module providing common functionality. Note that the htu21 has a driver in hwmon, but the view from that side was that, given the range of devices the same silicon turns up in are not all typical hwmon material, that driver would be deprecated in favour of this new support. - ms8607 temperature, pressure and humidty sensor - ms5637 temperature and pressure sensor - htu21 temperature and humidity sensor - tsys02d temperature sensor - tsys01 temperature sensor Cleanups * tree wide. - squish cases where irq 0 is still considered valid. * apds9960 - sparse endian warning cleanups by making endianness explicit. * ad5504 - leave group naming to the core. * ad7746 - cleanup comment style. - drop an unnecessary bit of dev_info - add some appropriate uses of the BIT macro. * ad799x - leave group naming to the core. * hdc100x - introduced this cycle,. - fix a wrong offset value. * lidar - add missing MODULE_DEVICE_TABLE for dt. * max1363 - leave sysfs group naming to the core. * m62332 got the Harmut treatment and as ever he found a 'few' bits the rest of us had missed! - Share scale and offset attributes across channels. - Shutdown the device on driver remove - Use ARRAY_SIZE rather than a hard coded count for channels. - Return more directly in the write_raw callback dropping a local variable along the way. - a few style issues - move to reading the regulator voltage for each use allowing for dynamic regulators. This is a common feature across drivers so we might end up with more fixes throughout the tree for this. * mlx96014 - introduced this cycle. - fixed up a spot of error handling. * vz89x - introduced this cycle. - work around a hardware quirk. commit 4301de3b0ac4614fdf629fa414fb94f598e7ad6f Merge: 25cb62b b94e228 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 21:15:52 2015 -0700 Merge tag 'iio-fixes-for-4.3a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus Jonathan writes: First set of IIO fixes for the 4.3 cycle. * twl4030 - incorrect readings for some channels due to a failure to initialize a bias regulator or configure the lines for input rather than USB use. * lis3lv02 - a missunderstanding of the way the interrupts worked on this chip lead to activation of the wrong interrupt. * sca3000 - an old bug meant that memory corruption could occur in the hardware ring buffer readout function. * mxs-lradc - wrong temp offset. commit f8d960042549eb57cbcfbcdea03459292d9a0171 Merge: 4970c0c 11eecf9 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 16 21:11:06 2015 -0700 Merge tag 'extcon-next-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next Chanwoo writes: Update extcon for 4.4 Detailed description for patchset: 1. Update the extcon core: - Modify the unique identification and name of each external connector with the additional prefix to clarify both attribute and meaning of external connector as following: : EXTCON_CHG_* mean the charger connector. : EXTCON_JACK_* mean the jack connector. : EXTCON_DISP_* mean the display port connector. - Keep the standard name of USB charging port by refering to the "Battery Charging v1.2 Spec and Adopters Agreement"[1] to use the standard name of USB charging port as following: : EXTCON_CHG_USB_SDP /* Standard Downstream Port */ : EXTCON_CHG_USB_DCP /* Dedicated Charging Port */ : EXTCON_CHG_USB_CDP /* Charging Downstream Port */ : EXTCON_CHG_USB_ACA /* Accessory Charger Adapter */ [1] www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip 2. Update the extcon-arizona.c driver: - Support the WM8998 and WM1814 codec for jack detection. - Support for the ADC mode microphone detection and the general purpose switch for pop suppression. - Fix bug include fixing the headphone detection accuracy at the top end of the range and some corrections around the use of the microphone clamps. 3. Update the extcon-gpio.c driver: - Clean-up the extcon-gpio driver and fix minor issue before supporting the Device tree binding of it. 4. Clean-up and fix the minor issue for extcon drivers: - Export OF module alias information for extcon-rt8973a.c and extcon-sm5502.c. - Fix wrong type of variable of for extcon-rt8973a.c and extcon-sm5502.c. - Use resource managed API for extcon-axp288.c. commit 0f8669e343982ac66f4420335777cb5456b8abb0 Author: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Date: Mon Oct 12 10:41:57 2015 +0800 MAINTAINERS: add Mediatek usb3 phy driver Add Mediatek usb3 phy driver to maintainer entry. Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a109752ea6a55c3682b6ac9114a125c5ce7e5353 Author: Zhao Qiang <qiang.zhao@xxxxxxxxxxxxx> Date: Fri Aug 21 10:48:56 2015 +0800 powerpc/t104xd4rdb: add DS26522 nodes to device tree DS26522 is used for tdm, configured by SPI bus. Add nodes under spi node to t104xd4rdb.dtsi. Signed-off-by: Zhao Qiang <qiang.zhao@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 9378c0251c7ac4b247177fb0c292a025ca1b751c Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Oct 16 15:34:41 2015 -0700 Input: edt-ft5x06 - work around FT5506 firmware bug In the touchscreen controller ISR, reading the tsc starting from register 0x2 causes the tsc to infrequently update the detected finger's x and y coordinate. The irq pin toggles at a fast rate to indicate touch events are happening. However, the tsc on average updates the touch point's x and y value every ~100 ms which is much slower than the advertised rate of 100+ Hz. This leads to multiple reads within this ~100 ms time window returning the same value. Example: X: 10 , Y: 30 X: 10 , Y: 30 X: 10, Y: 30 .. // After 100 ms X: 300, Y: 300 X: 300, y: 300 .. // After 100 ms X: 1743, Y: 621 X: 1743, Y: 621 For some reason if instead of starting to read at register 0x2 you start reading at register 0x0 this issue isn't seen. This seems like a quirk only seen in the EDT FT5506 so to fix this issue simply adjust the code to start reading from 0x0. Technically this isn't wrong so no regressions should be seen with other touchscreen controllers supported by this driver. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit af33e0ad1bf6e065f05a68f177b99202935ed2cf Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Oct 16 15:34:26 2015 -0700 Input: edt-ft5x06 - add support for FT5506 FT5506 is essentially the same as other FT5x06 devices other than supporting 10 support points. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b1d2a3ecb9cbf932a875a59f12f0f44841f29c30 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Oct 16 15:34:16 2015 -0700 Input: edt-ft5x06 - add support for different max support points Update the code so that the maximum supported points aren't hard coded but can be changed. Set the maximum support points based on the data passed along side the compatible field. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c789f1fb07e7c5acc04342cb2e2412aa71cd6c18 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Oct 16 15:34:05 2015 -0700 Input: edt-ft5x06 - use max support points to determine how much to read Calculate the amount of data that needs to be read for the specified max number of support points. If the maximum number of support points changes then the amount that is read from the touch screen controller should reflect this. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 78c102c24cd31ea4f242162e4ca721e75866fcba Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Jul 31 11:16:06 2015 +0200 powerpc/dts: don't fall back to fsl,pq3-gpio for fsl,mpc8572-gpio While the handling of fsl,pq3-gpio and fsl,mpc8572-gpio is done in the same driver and the two hardly differ, the latter controller needs a workaround for an erratum in the gpio_get callback. To make this difference more explicit remove fsl,pq3-gpio from the list of compatibles for mpc8572 machines. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 07e9117e43fc5a25787379be011e36d0980f3135 Author: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Date: Wed Jul 29 15:12:38 2015 +0800 powerpc/dts: Add and fix 1588 timer node for eTSEC Add 1588 timer node in files: arch/powerpc/boot/dts/bsc9131rdb.dtsi arch/powerpc/boot/dts/bsc9132qds.dtsi arch/powerpc/boot/dts/p1010rdb.dtsi arch/powerpc/boot/dts/p1020rdb-pd.dts arch/powerpc/boot/dts/p1021rdb-pc.dtsi arch/powerpc/boot/dts/p1022ds.dtsi arch/powerpc/boot/dts/p1025twr.dtsi For P2020RDB-PC, registers' values should be calculated based on default 1588 reference clock(300MHz) not 250MHz, and fix this in file: arch/powerpc/boot/dts/p2020rdb-pc.dtsi Signed-off-by: Yangbo Lu <yangbo.lu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 881ea7d3f55bf7b8834c81d86c4dcb3d5f786f15 Author: chenhui zhao <chenhui.zhao@xxxxxxxxxxxxx> Date: Thu Jul 23 11:55:45 2015 +0800 powerpc/corenet: use the mixed mode of MPIC when enabling CPU hotplug Core reset may cause issue if using the proxy mode of MPIC. Use the mixed mode of MPIC if enabling CPU hotplug. Signed-off-by: Chenhui Zhao <chenhui.zhao@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 61e22fff6475448b8e9d3e45f0bab40bae761c96 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 16 16:35:11 2015 -0700 clk: mvebu: Use of_clk_get_parent_name() This reverts commit e79b202c632f24f49f2eb9459b88b5fd9e332263. Now that we use of_clk_get() inside of_clk_get_parent_name() we can safely use it here. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b28fec1324bf8f5010d2c3c5d57db4115bda66d4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 17 08:08:56 2015 +0900 thermal: exynos: Fix register read in TMU The value of emul_con was getting overwritten if the selected soc is SOC_ARCH_EXYNOS5260. And so as a result we were reading from the wrong register in the case of SOC_ARCH_EXYNOS5260. Fixes: 488c7455d74c ("thermal: exynos: Add the support for Exynos5433 TMU") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 3a341a4c30d427fd05617087db1564a595f65093 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 23:39:50 2015 -0700 Input: rotary-encoder - add support for quarter-period mode Some encoders have both outputs low in stable states, others also have a stable state with both outputs high (half-period mode) and some have a stable state in all steps (quarter-period mode). The driver used to support the former states and with this change it can also support the later. This commit also deprecates the 'half-period' property and introduces a new property 'steps-per-period'. This property specifies the number of steps (stable states) produced by the rotary encoder for each GPIO period. Signed-off-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 648b15cb79e90d80f7b53d0184bdb14132a03754 Author: Ben Gamari <bgamari.foss@xxxxxxxxx> Date: Tue Oct 13 23:37:28 2015 -0700 Input: rotary-encoder - use of_property_read_bool This commit makes uses of_property_read_bool() to read boolean properties. This is just cosmetic cleanup. Signed-off-by: Ben Gamari <bgamari.foss@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 33b96d934902f96e901b72ac18bbc47afad1ac20 Author: Elias Vanderstuyft <elias.vds@xxxxxxxxx> Date: Wed Oct 14 17:29:37 2015 -0700 Input: document and check on implicitly defined FF_MAX_EFFECTS There is an undocumented upper bound for the total number of ff effects: FF_GAIN (= 96). This can be found as follows: - user: write(EV_FF, effect_id, iterations) calls kernel: ff->playback(effect_id, ...): starts effect "effect_id" - user: write(EV_FF, FF_GAIN, gain) calls kernel: ff->set_gain(gain, ...): sets gain A collision occurs when effect_id equals FF_GAIN. According to input_ff_event(), FF_GAIN is the smallest value where a collision occurs. Therefore the greatest safe value for effect_id is FF_GAIN - 1, and thus the total number of effects should never exceed FF_GAIN. Define FF_MAX_EFFECTS as FF_GAIN and check on this limit in ff-core. Signed-off-by: Elias Vanderstuyft <elias.vds@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 52a9266788324edbbfd45f02cf23440c01ee0432 Author: Elias Vanderstuyft <elias.vds@xxxxxxxxx> Date: Mon Sep 21 15:59:11 2015 -0700 Input: fix EVIOCSFF macro inconsistency by using _IOW() Just like the EVIOCSABS(abs) macro, use the more compact _IOW(..., type) instead of _IOC(_IOC_WRITE, ..., sizeof(type)) for the EVIOCSFF macro. Signed-off-by: Elias Vanderstuyft <elias.vds@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4f38b9f2f4a56164cad7a42e92f945c3515c5a2e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Oct 14 17:06:08 2015 -0700 devicetree: bindings: Use linux-event-codes.h for evdev codes Add a symlink to uapi/linux/linux-event-codes.h, and include that instead of (re)defining all the evdev type and code values in dt-bindings/input/input.h. This way we do not need to keep all the event codes synced manually. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f902dd893427eade90f7eaf858e5ff8b150a5a12 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Oct 14 17:03:35 2015 -0700 Input: add input-event-codes header file Add input-event-codes header file and move all type and axis defines there. The purpose of this new header file is to have a single canonical source for event-codes which can be used outside of C-code too. One example of such usage is the use of event-codes in devicetree source files. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5532cfb567fec4ebb9775481ef121edb340ec5b8 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Oct 14 18:24:45 2015 +0530 clk: qcom: mmcc-8960: Add DSI related clocks Add rcg and branch clk structs for DSI1 and DSI2 blocks found in MSM8960 and APQ8064. Each DSI instance has 4 pairs of rcg and branch clocks. Populate arrays mmcc_msm8960_clks and mmcc_apq8064_clks with these clocks. Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d8aa2beed870f088d4433b7075303e58764f0587 Author: Archit Taneja <architt@xxxxxxxxxxxxxx> Date: Wed Oct 14 18:24:44 2015 +0530 clk: qcom: clk-rcg: Add customized clk_ops for DSI RCGs DSI specific RCG clocks required customized clk_ops. There are a total of 4 RCGs per DSI block: DSI, BYTE, ESC and PIXEL. There are a total of 2 clocks coming from the DSI PLL, which serve as inputs to these RCGs. The BYTE and ESC RCGs are fed by one of the post dividers of DSI1 or DSI2 PLLs, and the DSI and PIXEL RCGs are fed by another divider of the PLL. In each of the 2 groups above, only one of the clocks sets its parent. These are BYTE RCG and DSI RCG for each of the groups respectively, as shown in the diagram below. The DSI and BYTE RCGs serve as bypass clocks. We create a new set of ops clk_rcg_bypass2_ops, which are like the regular bypass ops, but don't take in a freq table, since the DSI driver using these clocks is parent-able. The PIXEL RCG needs to derive the required pixel clock using dsixpll. It parses a m/n frac table to retrieve the correct clock. The ESC RCG doesn't have a frac M/N block, it can just apply a pre- divider. Its ops simply check if the required clock rate can be achieved by the pre-divider. +-------------------+ | |---dsixpllbyte---o---> To byte RCG | | | (sets parent rate) | | | | | | | DSI 1/2 PLL | | | | o---> To esc RCG | | (doesn't set parent rate) | | | |----dsixpll-----o---> To dsi RCG +-------------------+ | (sets parent rate) ( x = 1, 2 ) | | o---> To pixel rcg (doesn't set parent rate) Signed-off-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit dfedaf105d602a4b30a43c188596418ecf3a3b26 Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Oct 16 16:10:05 2015 -0500 clocksource: ti-32k: make it depend on GENERIC_CLOCKSOURCE the new ti 32k clocksource driver should depend on GENERIC_CLOCKSOURCE because of its reliance on sched_clock_register(). Let's enable that to avoid any possible build errors and/or warnings on randbuilds. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ec879f1272283c040bc70e1a1fff5edbb547be59 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 13 17:51:26 2015 +0300 pinctrl: baytrail: Fix compilation warnings when !CONFIG_PM When CONFIG_PM is not set we get following compilation warnings: warning: ââ?¬Ë?byt_gpio_runtime_suspendââ?¬â?¢ defined but not used [-Wunused-function] warning: ââ?¬Ë?byt_gpio_runtime_resumeââ?¬â?¢ defined but not used [-Wunused-function] Fix this by guarding byt_gpio_runtime_suspend()/byt_gpio_runtime_resume() with #ifdef CONFIG_PM. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f487bbf309759153f56bac7d7ba5ee63196ce584 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Oct 13 17:51:25 2015 +0300 pinctrl: intel: Fix compilation warning when !CONFIG_PM_SLEEP We get following warning when CONFIG_PM_SLEEP is not set warning: ââ?¬Ë?intel_gpio_irq_initââ?¬â?¢ defined but not used [-Wunused-function] Since the function is only called from intel_pinctrl_resume() move it inside CONFIG_PM_SLEEP guard as well. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 90b665f627b18822a7bbebeff44ce730ccf74275 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 00:20:21 2015 +0300 gpiolib: Add and use OF_GPIO_SINGLE_ENDED flag The flag matches the DT GPIO_SINGLE_ENDED flag and allows drivers to parse and use the DT flag to handle single-ended (open-drain or open-source) GPIOs. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 923b93e451db876d1479d3e4458fce14fec31d1c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 00:20:20 2015 +0300 gpiolib: Split GPIO flags parsing and GPIO configuration When requesting a GPIO through the legacy or the gpiod_* API the gpiochip request operation is first called and then the GPIO flags are parsed and the GPIO is configured. This prevents the gpiochip from rejecting the request if the flags are not supported by the device. To fix this split the parse-and-configure operation in two and parse flags before requesting the GPIO. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 11091fb0a1227d569d09353e1ce1f88694a033dc Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:39:31 2015 +0200 pinctrl: qcom: ssbi: fix compilation with DEBUG_FS=n The DEBUG_FS=n #defines for the dbg_show functions were missed when renaming the driver from msm_ to pm8xxx_, causing it to break the build when DEBUG_FS isn't enabled: CC [M] drivers/pinctrl/qcom/pinctrl-ssbi-gpio.o drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c:597:14: error: ââ?¬Ë?pm8xxx_gpio_dbg_showââ?¬â?¢ undeclared here (not in a function) .dbg_show = pm8xxx_gpio_dbg_show, Fix this by renaming them correctly. Fixes: b4c45fe974bc ("pinctrl: qcom: ssbi: Family A gpio & mpp drivers") Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 51443fbf3d2cde16011b994252c8004ebcd66fb0 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Thu Oct 15 07:34:15 2015 -0400 cpufreq: intel_pstate: Fix intel_pstate powersave min_perf_pct value On systems that initialize the intel_pstate driver with the performance governor, and then switch to the powersave governor will not transition to lower cpu frequencies until /sys/devices/system/cpu/intel_pstate/min_perf_pct is set to a low value. The behavior of governor switching changed after commit a04759924e25 ("[cpufreq] intel_pstate: honor user space min_perf_pct override on resume"). The commit introduced tracking of performance percentage changes via sysfs in order to restore userspace changes during suspend/resume. The problem occurs because the global values of the newly introduced max_sysfs_pct and min_sysfs_pct are not lowered on the governor change and this causes the powersave governor to inherit the performance governor's settings. A simple change would have been to reset max_sysfs_pct to 100 and min_sysfs_pct to 0 on a governor change, which fixes the problem with governor switching. However, since we cannot break userspace[1] the fix is now to give each governor its own limits storage area so that governor specific changes are tracked. I successfully tested this by booting with both the performance governor and the powersave governor by default, and switching between the two governors (while monitoring /sys/devices/system/cpu/intel_pstate/ values, and looking at the output of cpupower frequency-info). Suspend/Resume testing was performed by Doug Smythies. [1] Systems which suspend/resume using the unmaintained pm-utils package will always transition to the performance governor before the suspend and after the resume. This means a system using the powersave governor will go from powersave to performance, then suspend/resume, performance to powersave. The simple change during governor changes would have been overwritten when the governor changed before and after the suspend/resume. I have submitted https://bugzilla.redhat.com/show_bug.cgi?id=1271225 against Fedora to remove the 94cpufreq file that causes the problem. It should be noted that pm-utils is obsoleted with newer versions of systemd. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 89e7b2553ae182a4b2a19e2e99a59ad0d3ccb1ed Author: Amy Wiles <amy.l.wiles@xxxxxxxxx> Date: Wed Oct 14 08:09:15 2015 -0700 powercap / RAPL: Enable Broxton RAPL support Broxton CPU ID for the RAPL driver. Signed-off-by: Amy Wiles <amy.l.wiles@xxxxxxxxx> [ rjw: Subject and changelog. ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 98c85d583a5dee70d75faed3eb79851dd0a2e2fe Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:34:19 2015 +0200 pinctrl: replace trivial implementations of gpio_chip request/free Replace all trivial request/free callbacks that do nothing but call into pinctrl code with the generic versions. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Acked-by: Baruch Siach <baruch@xxxxxxxxxx> Acked-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Acked-by: Lee Jones <lee@xxxxxxxxxx> Acked-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 02715e86b21955f107f376d84d165424ba9cd372 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:42 2015 +0800 ia64/PCI/ACPI: Use common interface to support PCI host bridge Use common interface to simplify PCI host bridge implementation. Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4d6b4e69a245e9df4b84dba387596086cb66887d Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:41 2015 +0800 x86/PCI/ACPI: Use common interface to support PCI host bridge Use common interface to simplify ACPI PCI host bridge implementation. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a3669868d99c8647d780895d83e74d9a921eba2b Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:40 2015 +0800 ACPI/PCI: Reset acpi_root_dev->domain to 0 when pci_ignore_seg is set Reset acpi_root_dev->domain to 0 when pci_ignore_seg is set to keep consistence between ACPI PCI root device and PCI host bridge device. Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2c204383a2922cd6b79b9d78680a049a2144fbcc Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:39 2015 +0800 PCI/ACPI: Add interface acpi_pci_root_create() Introduce common interface acpi_pci_root_create() and related data structures to create PCI root bus for ACPI PCI host bridges. It will be used to kill duplicated arch specific code for IA64 and x86. It may also help ARM64 in future. Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3f7abdefc07755d67e2b2b63608d3128f6e0b3c5 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:38 2015 +0800 ia64/PCI: Use common struct resource_entry to replace struct iospace_resource Use common struct resource_entry to replace private struct iospace_resource. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3772aea7d6f36cfa1dae17f04ffed64b4d747aab Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:37 2015 +0800 ia64/PCI/ACPI: Use common ACPI resource parsing interface for host bridge Use common ACPI resource parsing interface to parse ACPI resources for PCI host bridge, so we could share more code between IA64 and x86. Later we will consolidate arch specific implementations into ACPI core. Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 91236ecc74a25431138f71b6d52e130cd0f774b3 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:29:36 2015 +0800 ACPI/PCI: Enhance ACPI core to support sparse IO space Enhance ACPI resource parsing interfaces to support sparse IO space, which will be used to share common code between x86 and IA64 later. Tested-by: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 31831f41bfd1e340bad66014a1b7ccd761ee51cf Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:34:18 2015 +0200 gpio: pl061: use the generic request/free implementations Instead of storing in the chip data whether the chip uses pinctrl and conditionally call pinctrl_{request,free}_gpio, just don't populate request/free in that case. This makes the implementations trivial and the same as the generic implementations, thus we can just use them. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit da4002ee901205df4238dd9a63e5598064a0cd17 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:34:17 2015 +0200 gpio: gpio-xz: use the generic request/free implementations Instead of storing in the chip data whether the chip uses pinctrl and conditionally call pinctrl_{request,free}_gpio, just don't populate request/free in that case. This makes the implementations trivial and the same as the generic implementations, thus we can just use them. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 203f0daafdf228a7e4e90a714a2a085884d91ea4 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:34:16 2015 +0200 gpio: replace trivial implementations of request/free with generic one Replace all trivial request/free callbacks that do nothing but call into pinctrl code with the generic versions. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Acked-by: Joachim Eastwood <manabian@xxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 88cfe5356a9b5cbc77e444b55c7e0d8ba4cc5ecb Merge: a98f1b7 7420aa4 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Oct 16 22:12:57 2015 +0200 Merge back earlier 'pm-domains' material for v4.4. commit 7855e10294efd4925b351c56d2834dc9f7cff7a2 Merge: 8e601a9 4ef4514 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Oct 16 22:12:02 2015 +0200 Merge back earlier cpufreq material for v4.4. commit c771c2f484857f3b1fc81d180485e96b7cb67c17 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Oct 11 17:34:15 2015 +0200 gpiolib: provide generic request/free implementations Provide generic request/free implementations that pinctrl aware gpio drivers can use instead of open coding if they use a 1:1 pin to gpio signal mapping. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0305cd5f7fca85dae392b9ba85b116896eb7c1c7 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Oct 16 12:34:25 2015 +0100 Btrfs: fix truncation of compressed and inlined extents When truncating a file to a smaller size which consists of an inline extent that is compressed, we did not discard (or made unusable) the data between the new file size and the old file size, wasting metadata space and allowing for the truncated data to be leaked and the data corruption/loss mentioned below. We were also not correctly decrementing the number of bytes used by the inode, we were setting it to zero, giving a wrong report for callers of the stat(2) syscall. The fsck tool also reported an error about a mismatch between the nbytes of the file versus the real space used by the file. Now because we weren't discarding the truncated region of the file, it was possible for a caller of the clone ioctl to actually read the data that was truncated, allowing for a security breach without requiring root access to the system, using only standard filesystem operations. The scenario is the following: 1) User A creates a file which consists of an inline and compressed extent with a size of 2000 bytes - the file is not accessible to any other users (no read, write or execution permission for anyone else); 2) The user truncates the file to a size of 1000 bytes; 3) User A makes the file world readable; 4) User B creates a file consisting of an inline extent of 2000 bytes; 5) User B issues a clone operation from user A's file into its own file (using a length argument of 0, clone the whole range); 6) User B now gets to see the 1000 bytes that user A truncated from its file before it made its file world readbale. User B also lost the bytes in the range [1000, 2000[ bytes from its own file, but that might be ok if his/her intention was reading stale data from user A that was never supposed to be public. Note that this contrasts with the case where we truncate a file from 2000 bytes to 1000 bytes and then truncate it back from 1000 to 2000 bytes. In this case reading any byte from the range [1000, 2000[ will return a value of 0x00, instead of the original data. This problem exists since the clone ioctl was added and happens both with and without my recent data loss and file corruption fixes for the clone ioctl (patch "Btrfs: fix file corruption and data loss after cloning inline extents"). So fix this by truncating the compressed inline extents as we do for the non-compressed case, which involves decompressing, if the data isn't already in the page cache, compressing the truncated version of the extent, writing the compressed content into the inline extent and then truncate it. The following test case for fstests reproduces the problem. In order for the test to pass both this fix and my previous fix for the clone ioctl that forbids cloning a smaller inline extent into a larger one, which is titled "Btrfs: fix file corruption and data loss after cloning inline extents", are needed. Without that other fix the test fails in a different way that does not leak the truncated data, instead part of destination file gets replaced with zeroes (because the destination file has a larger inline extent than the source). 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 -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # real QA test starts here _need_to_be_root _supported_fs btrfs _supported_os Linux _require_scratch _require_cloner rm -f $seqres.full _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount "-o compress" # Create our test files. File foo is going to be the source of a clone operation # and consists of a single inline extent with an uncompressed size of 512 bytes, # while file bar consists of a single inline extent with an uncompressed size of # 256 bytes. For our test's purpose, it's important that file bar has an inline # extent with a size smaller than foo's inline extent. $XFS_IO_PROG -f -c "pwrite -S 0xa1 0 128" \ -c "pwrite -S 0x2a 128 384" \ $SCRATCH_MNT/foo | _filter_xfs_io $XFS_IO_PROG -f -c "pwrite -S 0xbb 0 256" $SCRATCH_MNT/bar | _filter_xfs_io # Now durably persist all metadata and data. We do this to make sure that we get # on disk an inline extent with a size of 512 bytes for file foo. sync # Now truncate our file foo to a smaller size. Because it consists of a # compressed and inline extent, btrfs did not shrink the inline extent to the # new size (if the extent was not compressed, btrfs would shrink it to 128 # bytes), it only updates the inode's i_size to 128 bytes. $XFS_IO_PROG -c "truncate 128" $SCRATCH_MNT/foo # Now clone foo's inline extent into bar. # This clone operation should fail with errno EOPNOTSUPP because the source # file consists only of an inline extent and the file's size is smaller than # the inline extent of the destination (128 bytes < 256 bytes). However the # clone ioctl was not prepared to deal with a file that has a size smaller # than the size of its inline extent (something that happens only for compressed # inline extents), resulting in copying the full inline extent from the source # file into the destination file. # # Note that btrfs' clone operation for inline extents consists of removing the # inline extent from the destination inode and copy the inline extent from the # source inode into the destination inode, meaning that if the destination # inode's inline extent is larger (N bytes) than the source inode's inline # extent (M bytes), some bytes (N - M bytes) will be lost from the destination # file. Btrfs could copy the source inline extent's data into the destination's # inline extent so that we would not lose any data, but that's currently not # done due to the complexity that would be needed to deal with such cases # (specially when one or both extents are compressed), returning EOPNOTSUPP, as # it's normally not a very common case to clone very small files (only case # where we get inline extents) and copying inline extents does not save any # space (unlike for normal, non-inlined extents). $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/foo $SCRATCH_MNT/bar # Now because the above clone operation used to succeed, and due to foo's inline # extent not being shinked by the truncate operation, our file bar got the whole # inline extent copied from foo, making us lose the last 128 bytes from bar # which got replaced by the bytes in range [128, 256[ from foo before foo was # truncated - in other words, data loss from bar and being able to read old and # stale data from foo that should not be possible to read anymore through normal # filesystem operations. Contrast with the case where we truncate a file from a # size N to a smaller size M, truncate it back to size N and then read the range # [M, N[, we should always get the value 0x00 for all the bytes in that range. # We expected the clone operation to fail with errno EOPNOTSUPP and therefore # not modify our file's bar data/metadata. So its content should be 256 bytes # long with all bytes having the value 0xbb. # # Without the btrfs bug fix, the clone operation succeeded and resulted in # leaking truncated data from foo, the bytes that belonged to its range # [128, 256[, and losing data from bar in that same range. So reading the # file gave us the following content: # # 0000000 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 # * # 0000200 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a # * # 0000400 echo "File bar's content after the clone operation:" od -t x1 $SCRATCH_MNT/bar # Also because the foo's inline extent was not shrunk by the truncate # operation, btrfs' fsck, which is run by the fstests framework everytime a # test completes, failed reporting the following error: # # root 5 inode 257 errors 400, nbytes wrong status=0 exit Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 3fa508cd233da76eb00377440600f53eebfec08a Author: Wei Chen <Wei.Chen@xxxxxxx> Date: Fri Oct 9 06:31:18 2015 +0000 pinctrl: atlas7: support atlas7 step B changes The the pin groups and pin functions have been changed in atlas7 step B soc. We have to update the driver to support step B chip. Changes: 1. add 5 jtag pins to IOC_TOP: "jtag_tdo", "jtag_tms","jtag_tck", "jtag_tdi", "jtag_trstn" these 5 pins can be mutiplex with other functions, so we have to conver these 5 pins in pinmux. 2. add pin groups for audio digmic, audio spdif, can transceiver en, can transceiver stb, i2s0, i2s1 and jtag. 3. serval pins can be located to more PADs: audio_uart0_urfs, audio_uart1_urfs, audio_uart2_urfs, audio_uart2_urxd, audio_uart2_usclk, audio_uart2_utfs, audio_uart2_utxd, can0_rxd, can0_txd, can1_rxd, can1_txd jtag_ntrst, jtag_swdiotms, jtag_tck, jtag_tdi, jtag_tdo, pw_cko0, pw_cko1, pw_i2s01, pw_pwm0, pw_pwm1, sd2_cdb, sd2_wpb, uart2_cts, uart2_rts, uart2_rxd, uart2_txd, uart3_cts, uart3_rts, uart3_rxd, uart3_txd, uart4_cts, uart4_rts, usb0_drvvbus, usb1_drvvbus. Because of Changes#3, some functions should have more than one pin groups. So we have to split the original pin group to serval pin groups. For example: audio_uart0 has 5 pins, on STEPA, each of these 5 pins only has one related PAD. But on STEPB, audio_uart0_urfs has 4 related PAD. So we place the 4 pins with one PAD into a single pin group: audio_uart0_basic_group. and place urfs pin wtih different PADs to 4 different pin groups: audio_uart0_urfs_group0, ..., audio_uart0_urfs_group3 A full audio_uart0 pin group can be: pinctrl-0 = <&audio_uart0_basic_group &audio_uart0_urfs_group0>; If audio_uart0 pin group encountered some confiction, we only have to change the urfs group: pinctrl-0 = <&audio_uart0_basic_group &audio_uart0_urfs_group2>; 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 4d273c2af0fe4fdc84eef27e4521694dc7992065 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Wed Oct 14 15:58:27 2015 -0700 usb: dwc2: host: Protect PCGCTL with lock in dwc2_port_resume() From code inspection, it appears to be unsafe to do a read-modify-write of PCGCTL in dwc2_port_resume(). Let's make sure the spinlock is held around this operation. Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 346cc220a8e51e69233ef4e16af38578f1682a40 Merge: 3ea4a18 bf4c944 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:35:59 2015 -0700 Merge branch 'for-tony' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into omap-for-v4.4/soc commit 23c74bf5fe592dff5f6b07c62fa3f909d917f308 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:32:33 2015 -0700 ARM: dts: Add basic support for isee igepv5 With omap5-board-common.dtsi, we can now easily add support for various omap5 board variants. Let's add minimal support for isee igepv5. So far I've tested that basic things work, such as serial, USB Ethernet, HDMI and WLAN. Note that like omap5-uevm, these boards seem to need to reserve 16MB for a trap section as in commit 03178c66d289 ("ARM: dts: omap5-evm: Update available memory to 2032 MB") and also noted in a u-boot commit at http://marc.info/?l=u-boot&m=134376852603255 and also at http://patchwork.ozlabs.org/patch/159881/. Not sure why this is not needed for omap5-cm-t54.dts, maybe because of different u-boot configuration. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ee9a97dbeeddc8d4d3b3c69400faa2e594f45b4a Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:32:32 2015 -0700 ARM: dts: Move most of omap5-uevm.dts to omap5-board-common.dtsi Looks like thevarious omap5-uevm models and igepv5 are very similar. So let's create omap5-board-common.dtsi to allow fixing up things properly for mainline kernel to support all these. Even if we eventually end up having only PMIC + MMC + eMMC + SDIO WLAN + SATA + USB + HDMI configuration in the omap5-board-common.dtsi, this is the easiest way to add support for other boards rather than diffing various versions of out of tree dts files. My guess is that also omap5-sbc-t54.dts can use this, but I don't have that board so that will need to be dealt with later on. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0efc898a9bea7a2e8e583c6efab0e19dc7093078 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:32:32 2015 -0700 ARM: dts: Fix WLAN regression on omap5-uevm Commit 99f84cae43df ("ARM: dts: add wl12xx/wl18xx bindings") added device tree bindings for the TI WLAN SDIO on many omap variants. I recall wondering how come omap5-uevm did not have the WLAN added and this issue has been bugging me for a while now, and I finally tracked it down to a bad pinmux regression, and a missing deferred probe handling for the 32k clock from palmas that's requested by twl6040. Basically 392adaf796b9 ("ARM: dts: omap5-evm: Add mcspi data") added pin muxing for mcspi4 that conflicts with the onboard WLAN. While some omap5-uevm don't have WLAN populated, the pins are not reused for other devices. And as the SDIO bus should be probed, let's try to enable WLAN by default. Let's fix the regression and add the WLAN configuration as done for the other boards in 99f84cae43df ("ARM: dts: add wl12xx/wl18xx bindings"). And let's use the new MMC pwrseq for the 32k clock as suggested by Javier Martinez Canillas <javier@xxxxxxxxxxxx>. Note that without a related deferred probe fix for twl6040, the 32k clock is not initialized if palmas-clk is a module and twl6040 is built-in. Let's also use the generic "non-removable" instead of the legacy "ti,non-removable" property while at it. And finally, note that omap5 seems to require WAKEUP_EN for the WLAN GPIO interrupt. Fixes: 392adaf796b9 ("ARM: dts: omap5-evm: Add mcspi data") Cc: Sourav Poddar <sourav.poddar@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6a3b764b8dc781c36f0f94287df5b2ec23b8fdd7 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 12:16:21 2015 -0700 ARM: OMAP2+: Fix oops with LPAE and more than 2GB of memory On boards with more than 2GB of RAM booting goes wrong with things not working and we're getting lots of l3 warnings: WARNING: CPU: 0 PID: 1 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x260/0x384() 44000000.ocp:L3 Custom Error: MASTER MMC6 TARGET DMM1 (Idle): Data Access in User mode during Functional access ... [<c044e158>] (scsi_add_host_with_dma) from [<c04705c8>] (ata_scsi_add_hosts+0x5c/0x18c) [<c04705c8>] (ata_scsi_add_hosts) from [<c046b13c>] (ata_host_register+0x150/0x2cc) [<c046b13c>] (ata_host_register) from [<c046b38c>] (ata_host_activate+0xd4/0x124) [<c046b38c>] (ata_host_activate) from [<c047f42c>] (ahci_host_activate+0x5c/0x194) [<c047f42c>] (ahci_host_activate) from [<c0480854>] (ahci_platform_init_host+0x1f0/0x3f0) [<c0480854>] (ahci_platform_init_host) from [<c047c9dc>] (ahci_probe+0x70/0x98) [<c047c9dc>] (ahci_probe) from [<c04220cc>] (platform_drv_probe+0x54/0xb4) Let's fix the issue by enabling ZONE_DMA for LPAE. Note that we need to limit dma_zone_size to 2GB as the rest of the RAM is beyond the 4GB limit. Let's also fix things for dra7 as done in similar patches in the TI tree by Lokesh Vutla <lokeshvutla@xxxxxx>. Reviewed-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b1a0eeb4f6bbfb63c356578eaf76003faa58f56b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 16 12:05:07 2015 -0700 clk: xgene: Remove unused setup.h include This include doesn't look to be used, and compiling this file on arm64 still works, so remove it. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4a7748c3d6419bb81787480526d62bbaf083ef84 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Oct 13 16:18:18 2015 +0200 clk: Allow drivers to build if COMPILE_TEST is enabled These drivers only have runtime but no build time dependencies so can be built for testing purposes if the Kconfig COMPILE_TEST option is enabled. This is useful to have more build coverage and make sure that drivers are not affected by changes that could cause build regressions. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b76281cb97761002277730432812b1687de96062 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 14:35:21 2015 +0200 clk: Make clk input parameter of __clk_get_name() const When calling __clk_get_name() on a const clock: warning: passing argument 1 of '__clk_get_name' discards 'const' qualifier from pointer target type include/linux/clk-provider.h:613:13: note: expected 'struct clk *' but argument is of type 'const struct clk *' __clk_get_name() does not modify the passed clock, hence make it const. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 08ebdf80dc9d3a12cb1f4a0e32c1ddf16a59b5ce Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 17:18:27 2015 +0200 clk: shmobile: mstp: Drop bogus closing parenthesis in error message Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 54c09889bff6d99c8733eed4a26c9391b177c88b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 15:46:08 2015 +0200 ARM: pxa: remove incorrect __init annotation on pxa27x_set_pwrmode The z2 machine calls pxa27x_set_pwrmode() in order to power off the machine, but this function gets discarded early at boot because it is marked __init, as pointed out by kbuild: WARNING: vmlinux.o(.text+0x145c4): Section mismatch in reference from the function z2_power_off() to the function .init.text:pxa27x_set_pwrmode() The function z2_power_off() references the function __init pxa27x_set_pwrmode(). This is often because z2_power_off lacks a __init annotation or the annotation of pxa27x_set_pwrmode is wrong. This removes the __init section modifier to fix rebooting and the build error. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: ba4a90a6d86a ("ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available") Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 4a672bfe8f9ee194cdb7bc4e06a8fd79cc7741ea Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Oct 14 11:27:46 2015 +0200 ARM: pxa: raumfeld: make some variables static This fixes the following sparse warnings: arch/arm/mach-pxa/raumfeld.c:510:24: warning: symbol 'raumfeld_w1_gpio_device' was not declared. Should it be static? arch/arm/mach-pxa/raumfeld.c:632:31: warning: symbol 'raumfeld_spi_platform_data' was not declared. Should it be static? arch/arm/mach-pxa/raumfeld.c:851:28: warning: symbol 'audio_va_initdata' was not declared. Should it be static? arch/arm/mach-pxa/raumfeld.c:883:28: warning: symbol 'audio_dummy_initdata' was not declared. Should it be static? arch/arm/mach-pxa/raumfeld.c:931:28: warning: symbol 'max8660_v6_subdev_data' was not declared. Should it be static? Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 7371a20b9a8b81f81cbbf2a13563a9254e304ded Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 17:14:55 2015 +0200 clk: shmobile: r8a7778: Make r8a7778_rates[] and r8a7778_divs[] static const r8a7778_rates[] and r8a7778_divs[] are only used in clk-r8a7778.c, and never modified. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7e96353c3faaedea91f67972d011db41ed21b367 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 17:12:32 2015 +0200 clk: Use %u to format unsigned int in of_clk_src_onecell_get() Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit e03499216023fe41d4ba1b9fcb45332a5a169643 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Oct 16 19:36:53 2015 +0100 iommu/vt-d: Fix IOTLB flushing for global pages When flushing kernel-mode PASIDs, we need to flush global pages too. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 3ce6c6e5419477bd718ffa00fbe1594e52c22602 Merge: 0a4807c 84a8725 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 16 11:35:19 2015 -0700 Merge tag 'imx-clk-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into clk-next Pull i.MX updates from Shawn Guo: "The i.MX clock updates for 4.4: - A couple of fixes on i.MX31 and i.MX35 clock initialization functions which makes mxc_timer_init() currently be called twice for DT boot. - Increase i.MX6UL AXI bus clock rate to 264MHz which is the optimal design target. - Add a few missing clocks, ADC clock for i.MX7D, OCOTP clock for Vybrid, and SPDIF_GCLK for i.MX6. - A series from Lucas to fix early debug UART clock setup. This is currently a one-off fix for i.MX platform, and can be extended to become a generic solution later." * tag 'imx-clk-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: clk: imx6: Add SPDIF_GCLK clock in clock tree clk: imx7d: add ADC root clock clk: imx31: Do not call mxc_timer_init twice when booting with DT clk: imx7d: retain early UART clocks during kernel init clk: imx6: retain early UART clocks during kernel init clk: imx5: retain early UART clocks during kernel init clk: imx35: retain early UART clocks during kernel init clk: imx31: retain early UART clocks during kernel init clk: imx27: retain early UART clocks during kernel init clk: imx25: retain early UART clocks during kernel init clk: imx: add common logic to detect early UART usage clk: imx35: Do not call mxc_timer_init twice when booting with DT clk: clk-vf610: Add clock for Vybrid OCOTP controller clk: imx: increase AXI clock rate to 264MHz for i.MX6UL commit 8cae0424787ba02987a6f3a6117f31f6a77260dc Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Fri Oct 16 16:22:07 2015 +0100 spi: davinci: use spi->cs_gpio directly Use spi->cs_gpio directly to remove the following build warning: drivers/spi/spi-davinci.c:219:6: warning: 'gpio' may be used uninitialized in this function Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 57c2ecd9bf971946ea0c6ae90a79c90a22159c73 Author: Vignesh R <vigneshr@xxxxxx> Date: Tue Oct 13 15:51:05 2015 +0530 spi: spi-ti-qspi: switch to polling mode for better r/w performance Currently word completion interrupt is fired for transfer of every word(8bit to 128bit in size). This adds a lot of overhead, and decreases r/w throughput. It hardly takes 3us(@48MHz) for 128bit r/w to complete, hence its better to poll on word complete bit to be set in QSPI_SPI_STATUS_REG instead of using interrupts. This increases the throughput by 30% in both read and write case. So, switch to polling mode instead of interrupts to determine completion of word transfer. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3ad48062233f32a8dd2649403f5afc076710f86b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Oct 13 17:09:14 2015 +0300 spi: pxa2xx: choose closest lower speed As per discussion [1] the best choice is to set closest speed which is not going over the asked one. Do the same approach for Intel Quark boards. [1] http://www.spinics.net/lists/linux-spi/msg03389.html Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c962d03be31f12fd8eea435fa59e5289ce0cc284 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Tue Oct 13 15:07:25 2015 +0800 ASoC: rt5645: Recheck the jack detect status after resuming from S3 The patch rechecks the jack detect status after resuming from S3. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3ea4a18288813fe6a283f708c13b60853ddf8bf1 Author: Keerthy <j-keerthy@xxxxxx> Date: Wed Oct 14 11:13:08 2015 +0530 ARM: OMAP: Change all cpu_is_* occurences to soc_is_* for id.c Currently apart from dra7, omap5 and amx3 all the other SoCs are identified using cpu_is_* functions which is not right since they are all SoCs(System on Chips). Hence changing the SoC identification code to use soc_is instead of cpu_is and keeping defines for cpu_is where needed. This allows us to replace the rest of cpu_is usage along with other fixes as needed. Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Keerthy <j-keerthy@xxxxxx> [tony@xxxxxxxxxxx: reworked the soc.h changes to minimum] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fbc61a26e6b7a2ebc399559ea22df4a35ac05fcb Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Fri Sep 18 14:09:00 2015 -0700 arm64: debug: Fix typo in debug-monitors.c Fix handers to handlers. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c8d71d08aa23679f56e7072358383442c6ede352 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:17:08 2015 +0100 netfilter: ipv4: whitespace around operators This patch cleanses whitespace around arithmetical operators. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 24cebe3f29884bb8f4581c68ba7a124ade0099b0 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:17:07 2015 +0100 netfilter: ipv4: code indentation Use tabs instead of spaces to indent code. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6c28255b46823b37d220bbb2fddfb9b23dda2fd4 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:17:06 2015 +0100 netfilter: ipv4: function definition layout Use tabs instead of spaces to indent second line of parameters in function definitions. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 27951a01688c012b6c77377703fcce90cfe8b1b7 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:17:05 2015 +0100 netfilter: ipv4: ternary operator layout Correct whitespace layout of ternary operators in the netfilter-ipv4 code. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6b61f2497852b7d27e1c024d966c09defbf99948 Author: Marcin Wojtas <mw@xxxxxxxxxxxx> Date: Thu Oct 15 18:25:44 2015 +0200 ARM: mvebu: set SW polling as SDHCI card detection on A388-GP The newest revisions of A388-GP (v1.5 and higher) support only DAT3-based card detection. Revisions < v1.5 based on GPIO detection via I2C expander, but this solution is supposed to be deprecated on new boards. In order to satisfy all type of hardware this commit changes card detection to use software polling mechanism. Also a comment is added on possible card detection options in A388-GP DT board file. Signed-off-by: Marcin Wojtas <mw@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 19f0a602014c0dd7f1ad9e458618c333a668b15a Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Wed Oct 14 23:17:04 2015 +0100 netfilter: ipv4: label placement Whitespace cleansing: Labels should not be indented. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3db7cb951835d6226d47e979bca7cacbbb8f9f1c Merge: 3943b9e 7ba6e4e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 16 18:17:31 2015 +0100 Merge branch 'fix/rt298' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt298 commit 3943b9efb381531b99bf9c545736f9e1e2715b9c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Oct 5 21:23:48 2015 +0800 ASoC: rt298: Make rt298_index_def const The index_cache is per instance run time state but rt298_index_def is not. Make rt298_index_def const and make a copy of memory for index_cache rather than directly use the rt298_index_def. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d0b5090575350dd4c9dfde3f81980051031fc9f0 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri Oct 16 10:08:45 2015 -0700 ARM: OMAP2+: Rename cpu_is macros to soc_is The naming for the cpu_is macros is confusing as the CPU is separate and within the SoC. Let's rename all the macros to soc_is, and let's define cpu_is also for the ones still in use. Then we can just remove the cpu_is macros once the users are fixed up. To keep the chances of breaking anything, the changes were generated with the following regular expressions: s/cpu_is/soc_is/g s/CPU/SoC/g Then the list of existing cpu_is users was generated with: $ $ grep -o -e 'cpu_is_.\+()' arch/arm/mach-omap2/*.[chS] | \ cut -d: -f2 | sort | uniq And added to the end of the soc.h. I decided to rework the earlier patches by Keerthy <j-keerthy@xxxxxx> to keep changes down to minimum to avoid potential errors and stick to just search and replace. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0d19208e70b3a65144c7a0b6368f849c57818242 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Oct 13 12:45:30 2015 +0200 regulator: i.MX anatop: Allow supply regulator The anatop regulators are SoC internal LDO regulators usually supplied by an external PMIC. This patch adds support for specifying the supply from the device tree using the vin-supply property. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5abe4f223ed6b820443d3657bd48600692f61c12 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Oct 13 12:45:26 2015 +0200 regulator: introduce min_dropout_uV Many voltage Regulators need a input voltage that is higher than the output voltage. Allow to specify a minimum dropout voltage which will be used later to find the best input voltage for regulators. [Changed uv to uV for consistency and legibility -- broonie] Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a9f226bcd9bb1941e581806e83d2c03d4043c367 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Oct 13 12:45:25 2015 +0200 regulator: core: create unlocked version of regulator_set_voltage The unlocked version will be needed when we start propagating voltage changes to the supply regulators. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 008027c31d57a22bd80dda5acc95b037634eee0f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 20:45:42 2015 +0200 netfilter: turn NF_HOOK into an inline function A recent change to the dst_output handling caused a new warning when the call to NF_HOOK() is the only used of a local variable passed as 'dev', and CONFIG_NETFILTER is disabled: net/ipv6/ip6_output.c: In function 'ip6_output': net/ipv6/ip6_output.c:135:21: warning: unused variable 'dev' [-Wunused-variable] The reason for this is that the NF_HOOK macro in this case does not reference the variable at all, and the call to dev_net(dev) got removed from the ip6_output function. To avoid that warning now and in the future, this changes the macro into an equivalent inline function, which tells the compiler that the variable is passed correctly but still unused. The dn_forward function apparently had the same problem in the past and added a local workaround that no longer works with the inline function. In order to avoid a regression, we have to also remove the #ifdef from decnet in the same patch. Fixes: ede2059dbaf9 ("dst: Pass net into dst->output") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 81b4325eba6baae80a70d1af866278af38fb6cdd Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Oct 13 14:33:28 2015 +0200 netfilter: nf_queue: remove rcu_read_lock calls All verdict handlers make use of the nfnetlink .call_rcu callback so rcu readlock is already held. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7f92a2e9107c2cf870a11bb77738207daa94fee3 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Fri Oct 16 17:22:31 2015 +0100 iommu/vt-d: Fix address shifting in page request handler This really should be VTD_PAGE_SHIFT, not PAGE_SHIFT. Not that we ever really anticipate seeing this used on IA64, but we should get it right anyway. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit ed78d09d59ba9764b7454e8e1ccbb0072a55b6d7 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Oct 13 14:33:27 2015 +0200 netfilter: make nf_queue_entry_get_refs return void We don't care if module is being unloaded anymore since hook unregister handling will destroy queue entries using that hook. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2ffbceb2b08f8ca0496c54a9ebcd11d25275954e Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Oct 13 14:33:26 2015 +0200 netfilter: remove hook owner refcounting since commit 8405a8fff3f8 ("netfilter: nf_qeueue: Drop queue entries on nf_unregister_hook") all pending queued entries are discarded. So we can simply remove all of the owner handling -- when module is removed it also needs to unregister all its hooks. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit bf4c94490aa4491cca758d633c0e641a4419c920 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 15:10:10 2015 -0500 arm: omap2: timer: limit hwmod usage to non-DT boots now that we have a working 32k clocksource driver, we can limit HWMOD usage to non-DT boots and rely on clocksource_of_init() every time we boot with DT. While at that, also make sure that we don't disable the 32-counter device so it gets probed by its driver. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 429ac200c7e1da0cfe2240f0cea18aeaf9a99099 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Oct 5 11:40:58 2015 -0500 arm: omap2+: select 32k clocksource driver Now that we have a 32k clocksource driver, let's select it for OMAP2PLUS builds. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fe851f56d5f5b02a9afca95acde5224c3e73fac1 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 13:55:33 2015 -0500 clocksource: add TI 32.768 Hz counter driver Introduce a new clocksource driver for Texas Instruments 32.768 Hz device which is available on most OMAP-like devices. Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6f82e25d2e434a70cde5ad135fa00099e8106a76 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 13:26:45 2015 -0500 arm: omap2: timer: rename omap_sync32k_timer_init() this function is not only about the 32k sync timer, it's OMAP's generic init_time implementation. Let's rename it to make that detail easier to notice. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9c46ffcd521474056629aea580a092559f721b32 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 13:15:02 2015 -0500 arm: omap2: timer: always call clocksource_of_init() when DT If booting with DT, let's make sure to always call clocksource_of_init() as this will make it easier to move timer code to drivers/clocksource in the future. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4681347153dba01836aca18ebcfb4101c927d8ec Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Oct 16 16:11:41 2015 +0200 dt-bindings: Correct paths in Rockchip power domains binding document Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 3bbafac83775425d0abb68cf9837ee3ca36adb42 Author: Roman Alyautdin <ralyautdin@xxxxxxxxxxxxx> Date: Mon Oct 12 17:14:32 2015 +0300 usb: musb: core: add common method of getting vbus status Fix musb_platform_get_vbus_status return value in case of platform implementation is not defined, bringing expected behaviour of musb_platform_get wrapper. Add musb_vbus_show default method to determine VBUS status in case platform method is not defined. Signed-off-by: Roman Alyautdin <ralyautdin@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 34198710f55b5f359f43e67d9a08fe5aadfbca1b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 13:31:24 2015 +0100 ASoC: Add info callback for SX_TLV controls SX_TLV controls are intended for situations where the register behind the control has some non-zero value indicating the minimum gain and then gains increasing from there and eventually overflowing through zero. Currently every CODEC implementing these controls specifies the minimum as the non-zero value for the minimum and the maximum as the number of gain settings available. This means when the info callback subtracts the minimum value from the maximum value to calculate the number of gain levels available it is actually under reporting the available levels. This patch fixes this issue by adding a new snd_soc_info_volsw_sx callback that does not subtract the minimum value. Fixes: 1d99f2436d0d ("ASoC: core: Rework SOC_DOUBLE_R_SX_TLV add SOC_SINGLE_SX_TLV") Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Tested-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5ab8d262122bc951b308e51cdcc55bc67b1f5fdb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Oct 14 22:43:07 2015 +0300 spi: core: propagate return code of __spi_validate_bits_per_word() Propagate the actual return code of __spi_validate_bits_per_word() in spi_setup(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ce938001c08c6580a8da38dc226fa605512afab6 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 15 10:37:12 2015 +0100 regulator: arizona-ldo1: Fix handling of GPIO 0 The LDO1 driver is using the arizona_of_get_named_gpio helper function which will return 0 if an error was encountered whilst parsing the GPIO, as under the pdata scheme 0 was not being treated as a valid GPIO. However, since the regulator framework was expanded to allow the use of GPIO 0 this causes us to attempt to register GPIO 0 when we encountered an error parsing the device tree. This patch uses of_get_named_gpio directly and sets the ena_gpio_initialized flag based on the return value. Fixes: 1de3821ace82 ("regulator: Set ena_gpio_initialized in regulator drivers") Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3c6531c7461b80c18284d43b59791c60cd67582f Author: Thomas Hebb <tommyhebb@xxxxxxxxx> Date: Tue Oct 6 22:56:37 2015 +0200 pinctrl: berlin: fix BG2CD field widths The previous register layout was incorrect, many of the fields having fewer bits than were needed to represent all their modes. The new layout is taken from the bootloader source of a BG2CD device. Signed-off-by: Thomas Hebb <tommyhebb@xxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 30cefeacec3e289c00128f28b831fb251650eea6 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri Sep 25 12:06:02 2015 -0700 gpio: omap: fix static checker warning This patch fixes below static checker warning by changing type of irq field in struct gpio_bank from u16 to int. drivers/gpio/gpio-omap.c:1191 omap_gpio_probe() warn: assigning (-6) to unsigned variable 'bank->irq' drivers/gpio/gpio-omap.c 1188 bank->irq = platform_get_irq(pdev, 0); 1189 if (bank->irq <= 0) { bank->irq is u16. 1190 if (!bank->irq) 1191 bank->irq = -ENXIO; Does not work. 1192 if (bank->irq != -EPROBE_DEFER) Does not work. 1193 dev_err(dev, 1194 "can't get irq resource ret=%d\n", bank->irq); 1195 return bank->irq; 1196 } Fixes: commit 89d18e3af8b9: "gpio: omap: switch to use platform_get_irq" Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8b7081442ee29b0de0bede6fcf7752b97159b581 Author: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Fri Oct 16 09:55:54 2015 +0100 regulator: da9053: Update regulator for DA9053 BC silicon support Provide an additional case entry for DA9053_BC in the find_regulator_info() function in order to support BC type silicon for the DA9053 device. Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 07bce09e11f5007635d7f9e6bc55679dd6ed18bd Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Oct 15 10:10:20 2015 +0000 spi: bcm2835aux: change initialization order and switch to platform_get_irq Change the initialization order of the HW so that the interrupt is only requested after the HW is initialized Also the use of irq_of_parse_and_map is replaced by platform_get_irq. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 72aac02b3730fa0e2e1ccab57712a94400344f8a Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 16 14:17:19 2015 +0000 spi: bcm2835aux: fixed bad data on longer transfers There are strange issues with the auxiliary spi device that result in "lost" data in the RX path if the fifo is filled by too much (even though the status register is checked if new data can get filled in). This has been observed primarily for the interrupt case. Polling works fine, probably because the RX fifo is pulled immediately when in the tight polling loop. For that reason we have to limit the pending bytes to less than 15 when filling the fifo in interrupt mode. There also was an issue returning the "wrong" last 1/2 bytes of a transfer when the transfer is not a multiple of 3 bytes. (this impacted polling and interrupt modes) Also fixed an overflow in the estimation of the transfer time used to decide if we run in interrupt or polling mode (found with the spi-bcm2835.c driver originally). Reported-by: Georgii Staroselskii <georgii.staroselskii@xxxxxxxxx> Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ddf0e1c20d8b72c409e4c954002069445babc762 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Thu Oct 15 10:09:11 2015 +0000 spi: bcm2835: change initialization order and switch to platform_get_irq Change the initialization order of the HW so that the interrupt is only requested after the HW is initialized Also the use of irq_of_parse_and_map is replaced by platform_get_irq. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c0ff971ef9acacd4d2caa508e444edad958dead9 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Thu Oct 15 19:42:23 2015 +0200 x86/ioapic: Disable interrupts when re-routing legacy IRQs A sporadic hang with consequent crash is observed when booting Hyper-V Gen1 guests: Call Trace: <IRQ> [<ffffffff810ab68d>] ? trace_hardirqs_off+0xd/0x10 [<ffffffff8107b616>] queue_work_on+0x46/0x90 [<ffffffff81365696>] ? add_interrupt_randomness+0x176/0x1d0 ... <EOI> [<ffffffff81471ddb>] ? _raw_spin_unlock_irqrestore+0x3b/0x60 [<ffffffff810c295e>] __irq_put_desc_unlock+0x1e/0x40 [<ffffffff810c5c35>] irq_modify_status+0xb5/0xd0 [<ffffffff8104adbb>] mp_register_handler+0x4b/0x70 [<ffffffff8104c55a>] mp_irqdomain_alloc+0x1ea/0x2a0 [<ffffffff810c7f10>] irq_domain_alloc_irqs_recursive+0x40/0xa0 [<ffffffff810c860c>] __irq_domain_alloc_irqs+0x13c/0x2b0 [<ffffffff8104b070>] alloc_isa_irq_from_domain.isra.1+0xc0/0xe0 [<ffffffff8104bfa5>] mp_map_pin_to_irq+0x165/0x2d0 [<ffffffff8104c157>] pin_2_irq+0x47/0x80 [<ffffffff81744253>] setup_IO_APIC+0xfe/0x802 ... [<ffffffff814631c0>] ? rest_init+0x140/0x140 The issue is easily reproducible with a simple instrumentation: if mdelay(10) is put between mp_setup_entry() and mp_register_handler() calls in mp_irqdomain_alloc() Hyper-V guest always fails to boot when re-routing IRQ0. The issue seems to be caused by the fact that we don't disable interrupts while doing IOPIC programming for legacy IRQs and IRQ0 actually happens. Protect the setup sequence against concurrent interrupts. [ tglx: Make the protection unconditional and not only for legacy interrupts ] Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444930943-19336-1-git-send-email-vkuznets@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f0a3b154bd7d969feaac1f4645e4177433e5f46a Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 29 19:46:13 2015 +0300 ftrace: Clarify code for mod command "Not" is too abstract variable name - changed to clear_filter. Removed ftrace_match_module_records function: comparison with !* or * not does the general code in filter_parse_regex() as it works without mod command for sh# echo '!*' > /sys/kernel/debug/tracing/set_ftrace_filter Link: http://lkml.kernel.org/r/1443545176-3215-2-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 1d48fb6e4aeec5946574712c512c12a053ce82c0 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 23:31:41 2015 +0200 pinctrl: berlin: fix my family name spelling My family name contained an accent when I submitted the Berlin pinctrl series in the first place. There was an encoding issue when the series was applied. Fix this. Signed-off-by: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> [Je me rendis tous les accents aigus] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8a98b4223d0eab88bba5eb215b275da4ff6ed99c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Oct 15 03:25:28 2015 +0000 ASoC: rsnd: Gen1 probe is not error Probing from Gen1 is not error. This patch fixup it Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ba6e4ef76c7e43101bd5e0f8987c11a8ed0d325 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Oct 16 15:21:32 2015 +0800 ASoC: rt298: correct index default value Some of the default value on rt298_index_def are incorrect. Change them to the correct value. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9c160bbd6c298c8b4f76b245e26f78bd4bba3993 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 23:31:39 2015 +0200 pinctrl: berlin: add explicit dependency on OF Berlin pinctrl drivers depends on CONFIG_OF. This patch adds this dependency explicitly. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d02f997d61b30ef6f89ad2f2dc4d41613c8b8b88 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 23:31:37 2015 +0200 pinctrl: berlin: select the pinctrl driver according to the SoC used This patch prepares to remove the pinctrl driver selection from the mach-berlin Kconfig. To do so, bool is replaced by def_bool. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c55a7746111144b0fa2c27dd28098f14d4ca79ee Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Oct 16 15:37:10 2015 +0800 pinctrl: dt-binding: document berlin4ct SoC pinctrl Add berlin4ct to existing berlin pinctrl device tree binding. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4be3158abe1e02d24f82b34101e41d662fae2185 Merge: 125ecf4 56ade8f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 16 07:15:31 2015 -0700 Merge branch 'mlxsw-spectrum' Jiri Pirko says: ==================== mlxsw: Driver update, add initial support for Spectrum ASIC Purpose of this patchset is to introduce initial support for Mellanox Spectrum ASIC, including L2 bridge forwarding offload. The only non-mlxsw patch in this patchset is the first one, introducing pre-change upper notifier. That is used in last patch to ensure ports of single ASIC are not bridged into multiple bridges, as that scenario is currently not supported by driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56ade8fe3fe1e134783f61d164305107ae01030f Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:37 2015 +0200 mlxsw: spectrum: Add initial support for Spectrum ASIC Add support for new generation Mellanox Spectrum ASIC, 10/25/40/50 and 100Gb/s Ethernet Switch. The initial driver implements bridge forwarding offload including bridge internal VLAN support, FDB static entries, FDB learning and HW ageing including their setup. 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 a4feea74cd7a8f12d9fae67014533a4220135760 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:36 2015 +0200 mlxsw: reg: Add Switch Port VLAN MAC Learning register definition Since we currently do not support the offloading of 802.1D bridges, we need to be able to let the device know it should not learn MAC addresses on specific {Port, VID} pairs. Add the SPVMLR register, which controls the learning enablement of {Port, VID} pairs. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e534a56a317fa4e55419cc255d6af2683288d71c Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:35 2015 +0200 mlxsw: reg: Add Switch Filtering Database Aging Time register definition Add SFDAT which is used to control switch ageing time. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f65da742d15462786533cf3ea58335aa32e3daa Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:34 2015 +0200 mlxsw: reg: Add Switch Virtual-Port Enabling register definition In order for a port to support {Port, VID} to FID mapping it needs to be configured to a virtual port mode (as opposed to VLAN mode). Add the SVPE register, which enables port virtualization. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 647902397663468c2feefa9cd8097e194802a0b3 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:33 2015 +0200 mlxsw: reg: Add Switch VID to FID Allocation register definition An incoming packet can be classified into a filtering identifer (FID) based on its VID or incoming port and VID ({Port, VID}). Add the SVFA register, which controls this mapping. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1fb693a0875d0d1510cf8e84d35df2661f5a38f Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:32 2015 +0200 mlxsw: reg: Add Switch FID Management register definition Filtering identifiers (FIDs) are unique identifers of bridge instances in the hardware. Add the SFMR register, which is responsible for the creation and configuration of these FIDs. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e059436999d797bbdb36ec41b6f6890a569cbf94 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:31 2015 +0200 mlxsw: reg: Add shared buffer configuration registers definitions Add definitions of SBPR, SBCM, SBPM, SBMM and PBMC registers that are used to configure shared buffers. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2e345f9a454f6e435f1a61b02f0e4f0125b94e3 Author: Elad Raz <eladr@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:30 2015 +0200 mlxsw: reg: Add Switch Port VID and Switch Port VLAN Membership registers definitions Add SPVID and SPVM registers responsible for default port VID configuration and VLAN membership of a port. Signed-off-by: Elad Raz <eladr@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5d88f589297a9b5fb110bf01d621d8c09fb7512 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:29 2015 +0200 mlxsw: reg: Add Switch FDB Notification register definition Add SFN register which is used to poll for newly added and aged-out FDB entries. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 236033b33c09ea9e34ce320d5cf9ef527077d7d5 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:28 2015 +0200 mlxsw: reg: Add Switch Filtering Database register definition Add the SFD register which is responsible for filtering database manipulation, including static and dynamic FDB entries. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d64b1592535e390cdc0605a5b8d4b6665be47003 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:27 2015 +0200 mlxsw: item: Add MLXSW_ITEM_BUF_INDEXED helper Add missing item helper which allows to access char bufs on multiple offsets. This is needed by SFD and SFN register definitions. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b0989b5bcac950c05d72dee5f6dcad38d355b3f Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:26 2015 +0200 mlxsw: item: Make src arg of memcpy_to helper const Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12fd35ab8af9fe32fce6b36881461d6f62408f70 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:25 2015 +0200 mlxsw: cmd: Introduce FID-offset flooding tables Packets destined to offloaded netdevs will be classified to FIDs in the device and flooded in case of BUM. The flooding table used is of type FID-offset, which allows one to create different flooding domains for different FIDs and specify the offset in the flooding table for each FID (not necessarily equal to FID or VID). Add support for this flooding table type, by exposing the configuration of the number of tables from this type and their size. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 453b6a8dd8338d692770bda89a52bc71c8fea2b8 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:24 2015 +0200 mlxsw: cmd: Introduce per-FID flooding tables In the newly introduced Spectrum switch ASIC, packets destined to not offloaded netdevs will be classified to special FIDs (vFIDs) in the device and flooded to the CPU port. The flooding table used is of type per-FID, which allows one to create different flooding domains for different vFIDs. While using a simple single-entry flood table is certainly sufficient at this point, we do plan to offload 802.1D bridges involving VLAN interfaces, thus making this change necessary. Add support for this flooding table type, by exposing the configuration of the number of tables from this type and their size. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc2055f878acb1fbbb3f3e7cb851f2e318def010 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:23 2015 +0200 mlxsw: Enable configuration of flooding domains As part of the introduction of L2 offloads, allow different ports to join/leave the flooding domain, according to user configuration. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 573c7ba006edbecff0714db651dd3602b9d0a6a0 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 16 14:01:22 2015 +0200 net: introduce pre-change upper device notifier This newly introduced netdevice notifier is called before actual change upper happens. That provides a possibility for notifier handlers to know upper change will happen and react to it, including possibility to forbid the change. That is valuable for drivers which can check if the upper device linkage is supported and forbid that in case it is not. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb3ba9558af081c15df2677e17d31861ee689f7b Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Oct 16 15:37:08 2015 +0800 pinctrl: berlin: add the berlin4ct pinctrl driver Add the pin-controller driver for Marvell Berlin BG4CT SoC, with definition of its groups and functions. This uses the core Berlin pinctrl driver. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2df26ef7da6f1960622f37c2a7c57d238603f0d6 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Oct 16 15:37:07 2015 +0800 pinctrl: berlin: Make berlin pinctrl driver visible if COMPILE_TEST=y It is good to allow berlin pinctrl driver to build with COMPILE_TEST, so make the it menu visible when compile-testing. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d5c79fcb193ff825e5d5759cdbbb4a16385fb08f Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Oct 16 15:37:06 2015 +0800 pinctrl: berlin: introduce berlin_pinctrl_probe_regmap() This is to prepare for the next berlin4ct support, where we won't use simple-mfd any more. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 77f3228f771506bac4b1308571a62c769552f8f8 Author: Mark Salyzyn <salyzyn@xxxxxxxxxxx> Date: Tue Oct 13 14:30:51 2015 -0700 arm64: AArch32 user space PC alignment exception ARMv7 does not have a PC alignment exception. ARMv8 AArch32 user space however can produce a PC alignment exception. Add handler so that we do not dump an unexpected stack trace in the logs. Signed-off-by: Mark Salyzyn <salyzyn@xxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4e270f088011c6954034d6c4b5453e5cd7e02c7a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 09:36:24 2015 +0200 drm/gem: Drop struct_mutex requirement from drm_gem_mmap_obj Since 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 there is no need for this any more. v2: Fixup compile noise spotted by 0-day build. Link: http://mid.gmane.org/1444894601-5200-9-git-send-email-daniel.vetter@xxxxxxxx Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 70d994704e2c93a3d6be1de0c9f103fc7c186022 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:51 2015 +0200 drm/i810_drm.h: include drm/drm.h Fixes userspace compilation error: error: array type has incomplete element type struct drm_clip_rect boxes[I810_NR_SAREA_CLIPRECTS]; Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0aa4a4b8200c9e47021e8bd2d54b3d20ca407640 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:46 2015 +0200 r128_drm.h: include drm/drm.h Fixes compile error: drm/r128_drm.h:156:23: error: array type has incomplete element type struct drm_clip_rect boxes[R128_NR_SAREA_CLIPRECTS]; Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 22375f3e79b5b9e1dcbac998fd8473484d391d93 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:49 2015 +0200 savage_drm.h: include <drm/drm.h> Fixes compiler error: drm/savage_drm.h:50:24: error: array type has incomplete element type struct drm_tex_region texList[SAVAGE_NR_TEX_HEAPS][SAVAGE_NR_TEX_REGIONS + Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f71a6d6095782186c10c720d9ed813b68275d30d Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Mon Oct 12 09:10:33 2015 +0200 gpu/doc: Convert to markdown harder This snippet... * Lock VMA manager for extended lookups. Only *_locked() VMA function calls * are allowed while holding this lock. All other contexts are blocked from VMA * until the lock is released via drm_vma_offset_unlock_lookup(). ...causes markdown-enabled kernel-doc to barf: debian/build/build-doc/Documentation/DocBook/gpu.aux.xml:3247: parser error : Opening and ending tag mismatch: emphasis line 3247 and function *<function><emphasis>locked</function> VMA function calls are allowed while ^ /root/airlied/debian/build/build-doc/Documentation/DocBook/gpu.aux.xml:3249: parser error : Opening and ending tag mismatch: function line 3249 and emphasis released via <function>drm</emphasis>vma_offset_unlock_lookup</function>. ^ unable to parse /root/airlied/debian/build/build-doc/Documentation/DocBook/gpu.aux.xml A quick workaround is to replace *_locked() by X_locked(). Cc: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> [danvet: Just drop the X_ too, the usual style is _unlocked, except that _ seems to be what annoys markdown.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6648f4879a12cd428c8584e03b41576521b7198f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Oct 11 11:55:00 2015 +0200 gpu/doc: Add vga_switcheroo documentation Requires Markdown support. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f81707429fe52b2842f0bfb6dac62329ea1d96f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Oct 11 11:26:26 2015 +0200 gpu/doc: Fix up remaining occurrences of old document title Following Daniel's renaming of the document. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a4579b41ccd1e786cadb720b55e06ca6c9d2594 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Oct 7 09:55:28 2015 +0200 drm/doc: Rename docbook to gpu.tmpl DRM is a lot more than a direct rendering manager nowadays, and there's also a bunch of things worth documenting for gpu driver developers outside of drivers/gpu/drm, like vgaarb, vga_switcheroo or the various hardware buses like host1x and ipu-v3. To avoid further confusion let's rename the top-level to reflect reality. And yes I'm already looking forward to when we need to replace the G in GPU with a * ;-) Inspired by a thread with Lukas since he refused to include the vga_switcheroo docs into the drm docs because it's not drm. Cc: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> [Lukas: Drop BUG() easter egg in i915_gem_execbuffer.c spotted by Jani and fix typos in commit message.] Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 02d0a493f3627df8c008417ba11e5f93f049f14c Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Oct 13 10:13:28 2015 -0400 drm: misc cleanup Drop unused drm_atomic and fix comment for drm_debug. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fa3e967fffaf267ccab7959429722da34e45ad77 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Fri Aug 28 12:54:07 2015 +0200 vga_switcheroo: Use enum vga_switcheroo_client_id instead of int Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21c5ba8c1ee02f204e556c26703cebaf9c4019e0 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Fri Aug 28 13:30:32 2015 +0200 vga_switcheroo: Use VGA_SWITCHEROO_UNKNOWN_ID instead of -1 Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 203d027de4d7068c607b60d4310a1599dec8839f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Fri Aug 28 11:56:26 2015 +0200 vga_switcheroo: Use enum vga_switcheroo_state instead of int Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 235fabe09b46469adad2c9e4cb0563758155187c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Oct 9 22:57:37 2015 +0300 drm: Add DRM_DEBUG_VBL() Add a new debug class for _verbose_ debug message from the vblank code. That is message we spew out potentially for every vblank interrupt. Thierry already got annoyed at the spew, and now I managed to lock up my box with these debug prints (seems serial console + a few debug prints every vblank aren't a good combination). Or should I maybe call it DRM_DEBUG_IRQ? Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44844892cb94c4a6a550c0e7bfa9c667f213ee21 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Oct 9 22:57:36 2015 +0300 drm: Don't use '\' for string literal concatenation String literals get concatenated just fine on their own, no need to use '\'. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8c47144bf2964c8599ccce350ef71b62c2cbe28 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:30 2015 +0200 drm/<drivers>: Drop DRM_UNLOCKED from modeset drivers Just one special case (since i915 lost its ums code, yay): - radeon: Has slots for the old ums ioctls which don't have DRM_UNLOCKED, but all filled with drm_invalid_op. So ok to drop it everywhere. Every other kms driver just has DRM_UNLOCKED for all their ioctls, as they should. v2: admgpu happened, include that one too. And i915 lost its UMS support which means we can change all the i915 ioctls too. v3: Rebased on top of new vmwgfx DX interface extensions. v4: Rebase on top of render-node support in exynos. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea487835e8876abf7ad909636e308c801a2bcda6 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 28 21:42:40 2015 +0200 drm: Enforce unlocked ioctl operation for kms driver ioctls With the prep patches for i915 all kms drivers either have DRM_UNLOCKED on all their ioctls. Or the ioctl always directly returns with an invariant return value when in modeset mode. But that's only the case for i915 and radeon. The drm core ioctls are unfortunately too much a mess still to dare this. Follow-up patches will remove DRM_UNLOCKED from all kms drivers to prove that this is indeed the case. Also update the documentation. v2: Really only do this for driver ioctls, spotted by David Herrmann. And drop spurious whitespace change. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c806a6e76795b72b09e2bf967d23b4ed791d0a2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:25 2015 +0200 drm/i915: Mark getparam ioctl as DRM_UNLOCKED With kms all the data getparam looks at is actually invariant, and certainly not protected by the global kms mutex. With ums all the setup code is already racy as hell, so this won't make things any worse. I've done this change so that all ioctl still used by kms drivers are marked as DRM_UNLOCKED, besides that we obviously don't need it any more in kms mode. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 125ecf4b5994f17cb581af399933d0bd0b153080 Merge: 51161aa d1d3951 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 16 06:41:10 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-10-16 This series contains updates to e1000, e1000e, igb, igbvf, ixgbe, ixgbevf, i40e, i40evf and fm10k. Alex Duyck fixes the polling routine for i40e/i40evf were the NAPI budget for receive cleanup was being rounded up to 1 but the netpoll call was expecting no Rx to be processed as the budget passed was 0. Also cleaned up IN_NETPOLL flag that was not adding any value due to the receive cleanup was handled in NAPI. Added support for netpoll for i40evf as well. Jesse updates all of our drivers to use napi_complete_done() instead of napi_complete(), which allows us to use /sys/class/net/ethX/gro_flush_timeout. Added ethtool support to control and report the new Interrupt Limit register, since the XL710 hardware has a different interrupt moderation design that can support a limit of total interrupts per second per vector. Shannon cleans up startup log entries to cut down the number by putting a couple behind debug flags and combining others into single line. Added support to enable/disable printing VEB statistics via ethtool. Jingjing fixes a compile issue by adding const to functions that return strings that are not going to be modified. Greg Rose cleans up defines that were not used and were causing customer confusion. Greg Bowers adds support for setting a new bit in the Set Local LLDP MIB admin queue command Type field. Mitch fixes an issue where vlan_features field was set to the same value as netdev features field, but before the features were actually being set up, leaving the vlan_features empty. Resolve the issue by setting up the netdev features first, then mask out the VLAN feature bits when assigning vlan_features. Fixed VF init timing, where in some instances the VFs would fail to initialize the first time you loaded the driver. To correct this, increased the delay time for the init task and wait longer before giving up. v2: fix missing space in function header comment in patch 3, based on feedback from Sergei Shtylyov. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0cdbec626e2e936a7db43d6a697e70673d4478bf Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Date: Tue Oct 13 20:11:42 2015 +0000 ARM: socfpga: dts: sort nodes alphabetically The sorting policy for this file is alphabetically. Reorder all nodes, that are out of place. Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit 7db743c6d8bb7a08396a0ea3084fb9f8ebccc577 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Oct 16 14:34:50 2015 +0100 arm64: Minor coding style fixes for kc_offset_to_vaddr and kc_vaddr_to_offset These were introduced by commit 03875ad52fdd (arm64: add kc_offset_to_vaddr and kc_vaddr_to_offset macro). Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit e99a187b5c5f60fe55ca586f82ac1a3557fb166a Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Fri Oct 16 08:18:24 2015 -0500 PCI: iproc: Add outbound mapping support Certain SoCs require the PCIe outbound mapping to be configured in software. Add support for those chips. [jonmason: Use %pap format when printing size_t to avoid warnings in 32-bit build.] [arnd: Use div64_u64() instead of "%" to avoid __aeabi_uldivmod link error in 32-bit build.] Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 400143e45d39fcedb5106c3aa212746a80a61f7c Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:06 2015 +0530 ath10k: remove htc polling for tx completion Since polling for tx completion is handled whenever target to host messages are received, removing the unnecessary polling mechanism for send completion at HTC level. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0da64f19f01a6dabc4a55c1ee9cef430fcb47f4a Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:05 2015 +0530 ath10k: remove unused dl_is_polled Since polling for received messages not supported, remove unused dl_is_polled. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a70587b3389ae4a97f2b51153cc86b4c1769dcf5 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:04 2015 +0530 ath10k: configure copy engine 5 for HTT messages Currently target to host (T2H) HTT messages are received at copy engine 1. These messages are processed by HTC layer in both host and target. To avoid HTC level processing overhead in both host and target, the unused copy engine 5 is being used for receiving HTT T2H messages. This will speedup the receive data processing as well as htt tx completion. Hence host and target copy engine configuration tables are updated to enable CE5 pipe. The in-direction HTT mapping is now pointing to CE5 for all HTT T2H. Moreover HTT send completion messages are polled from HTC handler as CE 4 is not interrupt-driven. For faster tx completion, CE4 polling needs to be done whenever CE pipe which transports HTT Rx (target->host) is processed. This avoids overhead of polling HTT messages from HTC layer. Servicing CE 4 faster is helping to solve "failed to transmit packet, dropping: -105". Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3f0f7ed420594cc6b7eb8b43294a8ac6815a4be5 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:03 2015 +0530 ath10k: export htt tx rx handlers Some special copy engines delivers messages directly to HTT by bypassing HTC layer. Hence exporting tx_completion and rx_handler for delivering the data to HTT layer. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9d9bdbb0c4099fea202ceee14000704c63338cce Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:02 2015 +0530 ath10k: register per copy engine receive callbacks Register receive callbacks for every copy engines (CE) separately instead of having common receive handler. Some of the copy engines receives different type of messages (i.e HTT/HTC/pktlog) from target. Hence to service them accordingly, register per copy engine receive callbacks. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0e5b2950912e2925b8fe1666c5aa14199c809810 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:01 2015 +0530 ath10k: register per copy engine send completion callbacks Register send completion callbacks for every copy engines (CE) separately instead of having common completion handler. Since some of the copy engines delivers different type of messages, per-CE callbacks help to service them differently. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit aed1dc8231a035af3e7ef3f7ce1bd4ed2a13db31 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 18:27:00 2015 +0530 ath10k: export htc tx rx handlers Export HTC layer tx and rx handlers. This will be used by HIF layer for per-CE data processing. Instead of callback mechanism, HIF will call appropriate upper layers API directly. Reviewed-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 90bbaf66ee7b946952f1e82a0069639dea5fd893 Author: Jie Yang <yang.jie@xxxxxxxxx> Date: Fri Oct 16 17:57:46 2015 +0800 ALSA: timer: add config item to export PCM timer disabling for expert PCM timer is not always used. For embedded device, we need an interface to disable it when it is not needed, to shrink the kernel size and memory footprint, here add CONFIG_SND_PCM_TIMER for it. When both CONFIG_SND_PCM_TIMER and CONFIG_SND_TIMER is unselected, about 25KB saving bonus we can get. Please be noted that when disabled, those stubs who using pcm timer (e.g. dmix, dsnoop & co) may work incorrectlly. Suggested-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dab9981756dbc3c50c194811f176f0d658c171af Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Fri Oct 16 13:38:33 2015 +0200 ALSA: USB-audio: Add support for Novation Nocturn MIDIcontrol surface The Nocturn needs the MIDI_RAW_BYTES quirk, like other Novation devices. Tested that the Nocturn shows up in aconnect, and that it can be used as a control surface (using the xtor synthesizer patch editor). Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3b93baf56dafa2d27e4fc227990dcd3ffeb10510 Merge: a71225e 54fa97e Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Oct 16 14:22:15 2015 +0200 Merge tag 'msi-map-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core Support for msi-map, and msi-parent update from Marc Zyngier: - New map-map property to describe the remapping of requester-ids, and the routing of MSIs to controllers - New hooks to make MSI domains per-device if required - Extension of msi-parent to provide sideband information - Extensive documentation for both msi-map and msi-parent commit 0f4998cbb25855afb47f500e96483d8c38ba1524 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Thu Oct 15 11:11:07 2015 +0200 twl4030_charger: add missing iio dependency This driver fails to link without CONFIG_IIO, since there are no stubs for the iio_channels functions. Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> Acked-by: Marek Belisko <marek@xxxxxxxxxxxxx> Acked-by: Nikolaus Schaller <hns@xxxxxxxxxxxxx> commit ccd63ce471c9b69663783e919ca4dba9967cd690 Author: Marc Gonzalez <marc_gonzalez@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 16:59:18 2015 +0200 clocksource/drivers/tango_xtal: Add new timer for Tango SoCs Sigma Designs Tango platforms provide a 27 MHz crystal oscillator. Use it for clocksource, sched_clock, and delay_timer. Signed-off-by: Marc Gonzalez <marc_gonzalez@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 54fa97eeb9e22b47d68b67ee00987afa7fbc2178 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Oct 2 14:43:06 2015 +0100 PCI/MSI: Allow the MSI domain to be device-specific So far, we've always considered that for a given PCI device, its MSI controller was either set by the architecture-specific pcibios hook, or simply inherited from the host bridge. This doesn't cover things like firmware-defined topologies like msi-map (DT) or IORT (ACPI), which can provide information about which MSI controller to use on a per-device basis. This patch adds the necessary hook into the MSI code to allow this feature, and provides the msi-map functionnality as a first implementation. Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 098259eb16675a83e1d6ea31e06dc3ec152810a2 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Oct 2 10:19:32 2015 +0100 PCI: Add per-device MSI domain hook So far, we have considered that the MSI domain for a device was either set via the architecture-dependent pcibios implementation or inherited from the host bridge. As we're about to break that assumption, add pci_dev_msi_domain which is the equivalent of pci_host_bridge_msi_domain, but for a single device. Other than moving things around a bit, this patch on its own has no effect. Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 82b9b4243c6d99d9e38087fa89183aa7479185e9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Oct 2 14:38:55 2015 +0100 of/irq: Use the msi-map property to provide device-specific MSI domain While msi-parent is used to point to the MSI controller that works for all the devices behind a root complex, it doesn't allow configurations where each individual device can be routed to a separate MSI controller. The msi-map property provides this flexibility (and much more), so let's add a utility function that parses it, and return the corresponding MSI domain. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit a251b263346e38b9fafebeb49ada9ce894882616 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Thu Oct 1 17:05:45 2015 +0100 of/irq: Split of_msi_map_rid to reuse msi-map lookup The msi-map property is also used to identify the MSI controller as a form of grown-up msi-parent property. Looking it up is complicated enough, and since of_msi_map_rid already implements this, let's turn it into an internal utility function. We'll put that to good use later on. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit deac7fc1c87f24099d7e15d8b662446497f57465 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 18 14:07:40 2015 +0100 irqchip/gic-v3-its: Parse new version of msi-parent property Now that 126b16e2ad98 ("Docs: dt: add generic MSI bindings") has made it into the tree, the time has come to get rid of the old hack, and to parse msi-parent in its full glory. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit c8d175883e0db09ce94b8b47bb2432b787149a6b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 18 14:07:40 2015 +0100 PCI/MSI: Use of_msi_get_domain instead of open-coded "msi-parent" parsing Now that we have a function that implements the complexity of the "msi-parent" property parsing, switch to that. Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 61c08240a103000b75dcf7ef2cf03d552aa91fa3 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 18 14:07:40 2015 +0100 of/irq: Use of_msi_get_domain instead of open-coded "msi-parent" parsing Now that we have a function that implements the complexity of the "msi-parent" property parsing, switch to that. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 48ae34fb39b0c0cfc76275e844fba5b0b04fa49e Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 18 14:07:40 2015 +0100 of/irq: Add support code for multi-parent version of "msi-parent" Since 126b16e2ad98 ("Docs: dt: add generic MSI bindings"), the definition of "msi-parent" has evolved, while maintaining some degree of compatibility. It can now express multiple MSI controllers as parents, as well as some sideband data being communicated to the controller. This patch adds the parsing of the property, iterating over the multiple parents until a suitable irqdomain is found. It can also fallback to the original parsing if the old binding is detected. This support code gets used in the subsequent patches. Suggested-by: Robin Murphy <robin.murphy@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit ccf91e68a4357e7b65a3f1f13f8af2b767213575 Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 15:10:50 2015 -0700 irqchip/gic-v3-its: Add handling of PCI requester id. Replace open coded generation PCI/MSI requester id with call to the new function pci_msi_domain_get_msi_rid() which applies the "msi-map" to the id value. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit b6eec9b717d4dcb39ef024b8a3b619a32468b01e Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 15:10:49 2015 -0700 PCI/MSI: Add helper function pci_msi_domain_get_msi_rid(). Add pci_msi_domain_get_msi_rid() to return the MSI requester id (RID). Initially needed by gic-v3 based systems. It will be used by follow on patch to drivers/irqchip/irq-gic-v3-its-pci-msi.c Initially supports mapping the RID via OF device tree. In the future, this could be extended to use ACPI _IORT tables as well. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit d1d39516e41d7ad107e807ebeee1519c412bb0e3 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Sep 28 14:12:44 2015 -0400 i40e/i40evf: Bump i40e to 1.3.34 and i40evf to 1.3.21 Bump. Change-ID: I7ec818a507554648675b9b245ced9e6b6bd9ed4e 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 628f096d8d244f54c3595a478b6e672cdb6c04ed Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Sep 28 14:12:43 2015 -0400 i40e: increase AQ work limit With 64 VFs, we can easily overwhelm the AQ on the PF if we have too low a limit on the number of AQ requests. This leads to ARQ overflow errors, and occasionally VFs that fail to initialize. Since we really only hit this condition on initial VF driver load, the requests that we process are lightweight, so this extra work doesn't cause problems for the PF driver. Change-ID: I620221520d8af987df6ace9ba938ffaf22107681 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 3f7e5c330e19da2ac822ea1d02b744a24497e61b Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Sep 28 14:12:42 2015 -0400 i40evf: relax and stagger init timing a bit On some devices, in some systems, in some configurations, the VFs would fail to initialize the first time you loaded the driver. To correct this, increase the delay time for the init task slightly, and wait longer before giving up. If we enable VFs and load the VF driver in the same kernel as the PF driver, we can totally overwhelm the PF driver with AQ requests because all of the instances try to initialize at the same time. To help alleviate this, stagger the initial scheduling of the init task using the PCIe function as a multiplier. We mask off the function to only three bits so no instance has to wait too long. With these two changes, initializing 128 VFs on a single device goes from four minutes to just a few seconds. Change-ID: If3d8720c1c4e838ab36d8781d9ec295a62380936 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 48becae60f7e461b4b204e6608dc6beebe6c8aff Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Sep 28 14:12:41 2015 -0400 i40e: Recognize 1000Base_T_Optical phy type when link is up 1000Base_T_Optical got added to the function that figures out what is supported when link is down but not when link is up. Add it in there too so that we display the correct information. Change-ID: I85ebcdfa7c02d898c44c673b1500552a53c8042e 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 cc7e406cb967ccc84cd2141398bba24b07d68788 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Sep 28 14:12:40 2015 -0400 i40evf: correctly populate vlan_features The vlan_features field was correctly being set to the same value as the netdev features field. However, this was being done before the features were actually being set up, leaving the vlan_features empty. Also, after a reset, vlan_features will be incorrectly assigned the previous netdev feature flags, which can contain VLAN feature bits. This makes the VLAN code angry and will cause a stack dump. To fix these issues, set up the netdev features first, then mask out the VLAN feature bits when assigning vlan_features. Change-ID: Ib0548869dc83cf6a841cb8697dd94c12359ba4d2 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 5d38c93e7111a68fc7b9f771bf420d9e026a21de Author: Jingjing Wu <jingjing.wu@xxxxxxxxx> Date: Mon Sep 28 14:12:39 2015 -0400 i40e: reset the invalid msg counter in vf when a valid msg is received When the number of invalid messages from a VF is exceeded, the VF will be disabled, due to the invalid messages. This happens if other VF drivers (like DPDK) send a message through the driver's mailbox (aka virtchannel) interface, but the message is not supported by the i40e pf driver, such as CONFIG_PROMISCUOUS_MODE. This patch changes the num_invalid_msgs in struct i40e_vf to record the continuous invalid msgs, and it will be reset when a valid msg is received. Change-ID: Iaec42fd3dcdd281476b3518be23261dd46fc3718 Signed-off-by: Jingjing Wu <jingjing.wu@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 ac26fc136c24edee53f1719e490d896fb07cd79b Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Mon Sep 28 14:12:37 2015 -0400 i40e/i40evf: moderate interrupts differently The XL710 hardware has a different interrupt moderation design that can support a limit of total interrupts per second per vector, in addition to the "number of interrupts per second" controls already established in the driver. This combination of hardware features allows us to set very low default latency settings but minimize the total CPU utilization by not making too many interrupts, should the user desire. The current driver implementation is still enabling the dynamic moderation in the driver, and only using the rx/tx-usecs limit in ethtool to limit the interrupt rate per second, by default. The new code implemented in this patch 2) adds init/use of the new "Interrupt Limit" register 3) adds ethtool knob to control/report the limits above Usage is ethtool -C ethx rx-usecs-high <value> Where <value> is number of microseconds to create a rate of 1/N interrupts per second, regardless of rx-usecs or tx-usecs values. Since there is a credit based scheme in the hardware, the rx-usecs and tx-usecs can be configured for very low latency for short bursts, but once the credit runs out the refill rate on the credits is limited by rx-usecs-high. Change-ID: I3a1075d3296123b0f4f50623c779b027af5b188d 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 947570e800e2ae3cbf827918a999aa88ee1600b0 Author: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Date: Mon Sep 28 14:12:35 2015 -0400 i40e: Add support for non-willing Apps Adds support for setting a new bit in the Set Local LLDP MIB AQ command Type field. When set to 1, the bit indicates to FW that Apps should be treated as non-willing. When 0, FW behaves as before. Change-ID: I0d2101c1606c59c7188d3e6a0c7810e0f205233a Signed-off-by: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1cdfd88f2de89cbfffb5813dc92b7e711920c731 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Sep 28 14:12:34 2015 -0400 i40e: priv flag for controlling VEB stats Add an ethtool priv flag to enable and disable printing the VEB statistics. Change-ID: I7654054a3a73b08aa8310d94ee8fce6219107dd8 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 d9d17cf74aed93add76c9cf648ce2f73b68ce410 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Mon Sep 28 14:12:33 2015 -0400 i40e: Removed unused defines Two defines that are not used are causing customer confusion - remove them. Change-ID: Icef0325aca8e0f4fcdfc519e026bdd375e791200 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 3c5c420535ab7e25a639db16f7b2b16a70e147ec Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Sep 28 14:12:32 2015 -0400 i40e: remove read/write failed messages from nvmupdate Allow the nvmupdate application to decide when a read or write error should be exposed to the user. Since the application needs to use write probes to find the ReadOnly sections on a potentially unknown NVM version in the HW and read probes to check the status of the last write, some error messages are expected, but need not be shown to the users. The driver doesn't know which are ignorable from real errors, so needs to let the application make the decision. Change-ID: I78fca8ab672bede11c10c820b83c26adfd536d03 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 4e68adfeb91d684e5c7a0c6305af872120c71f23 Author: Jingjing Wu <jingjing.wu@xxxxxxxxx> Date: Mon Sep 28 14:12:31 2015 -0400 i40e/i40evf: Fix compile issue related to const string Add const to functions that return strings that aren't going to be modified. This addresses some reported compile complaints. Change-ID: Ic56b1e814ab4d23a50480e7fdec652445f776ee8 Signed-off-by: Jingjing Wu <jingjing.wu@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6dec101765e442fc7f46205acdb2cf3b88879f16 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Sep 28 14:12:30 2015 -0400 i40e: generate fewer startup messages Cut down on the number of startup log entries by putting a couple behind debug flags and combining a couple others into a single line. Change-ID: I708089f086308f84d43f8b6f0e8a634a02d058fb 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 32b3e08fff60494cd1d281a39b51583edfd2b18f Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Sep 24 16:35:47 2015 -0700 drivers/net/intel: use napi_complete_done() As per Eric Dumazet's previous patches: (see commit (24d2e4a50737) - tg3: use napi_complete_done()) Quoting verbatim: Using napi_complete_done() instead of napi_complete() allows us to use /sys/class/net/ethX/gro_flush_timeout GRO layer can aggregate more packets if the flush is delayed a bit, without having to set too big coalescing parameters that impact latencies. </end quote> Tested configuration: low latency via ethtool -C ethx adaptive-rx off rx-usecs 10 adaptive-tx off tx-usecs 15 workload: streaming rx using netperf TCP_MAERTS igb: MIGRATED TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.0.0.1 () port 0 AF_INET : demo ... Interim result: 941.48 10^6bits/s over 1.000 seconds ending at 1440193171.589 Alignment Offset Bytes Bytes Recvs Bytes Sends Local Remote Local Remote Xfered Per Per Recv Send Recv Send Recv (avg) Send (avg) 8 8 0 0 1176930056 1475.36 797726 16384.00 71905 MIGRATED TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.0.0.1 () port 0 AF_INET : demo ... Interim result: 941.49 10^6bits/s over 0.997 seconds ending at 1440193142.763 Alignment Offset Bytes Bytes Recvs Bytes Sends Local Remote Local Remote Xfered Per Per Recv Send Recv Send Recv (avg) Send (avg) 8 8 0 0 1175182320 50476.00 23282 16384.00 71816 i40e: Hard to test because the traffic is incoming so fast (24Gb/s) that GRO always receives 87kB, even at the highest interrupt rate. Other drivers were only compile tested. 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 7709b4c1fff39972b6a1b6183b593c43f1a555fb Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Sep 24 09:04:38 2015 -0700 i40evf: Add support for netpoll Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8b6503590510fd7a8b303feeaf8a45a192e2b8df Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Sep 24 09:04:32 2015 -0700 i40e/i40evf: Drop useless "IN_NETPOLL" flag The code in i40e and i40evf is using an "IN_NETPOLL" flag that has never added any value due to the fact that the Rx clean-up is handled in NAPI. As such the flag was set, the queue was scheduled via NAPI, and then polled from the netpoll controller and if any Rx packets were processed the were processed in the wrong context. In addition the flag itself just added an unneeded conditional to the hot-path so it can safely be dropped and save us a few instructions. Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c67caceb864cf15731532ab25162166c228fa270 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Thu Sep 24 09:04:26 2015 -0700 i40e/i40evf: Fix handling of napi budget The polling routine for i40e was rounding up the budget for Rx cleanup to 1. This is incorrect as the netpoll poll call is expecting no Rx to be processed as the budget passed was 0. Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8db02d8b4089fa8098a170738e8ae7939aa8ae7a Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 15:10:48 2015 -0700 of/irq: Add new function of_msi_map_rid() The device tree property "msi-map" specifies how to create the PCI requester id used in some MSI controllers. Add a new function of_msi_map_rid() that finds the msi-map property and applies its translation to a given requester id. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit b531566e4dced7566dfa2e4925ec8b6a8cb7806b Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Thu Oct 8 15:10:47 2015 -0700 Docs: dt: Add PCI MSI map bindings Currently msi-parent is used by a few bindings to describe the relationship between a PCI root complex and a single MSI controller, but this property does not have a generic binding document. Additionally, msi-parent is insufficient to describe more complex relationships between MSI controllers and devices under a root complex, where devices may be able to target multiple MSI controllers, or where MSI controllers use (non-probeable) sideband information to distinguish devices. This patch adds a generic binding for mapping PCI devices to MSI controllers. This document covers msi-parent, and a new msi-map property (specific to PCI*) which may be used to map devices (identified by their Requester ID) to sideband data for each MSI controller that they may target. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 4008cb3ad223e39273b9cdfa578d04861b197c86 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 14:24:45 2015 +0200 asm-generic: temporarily add back asm-generic/io-64-nonatomic*.h New users of these files still start showing up in linux-next, so it's better to have a migration strategy. All existing users as of 4.3-rc4 are converted to use linux/io-64-nonatomic-*.h, and after 4.4-rc1 we can change all the new ones that have come in since, and then remove this file again. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Reported-by: LKP project <lkp@xxxxxxxxxxxxxxx> commit 1a800589052f03ce09008f82ad2c69f0af5d315a Merge: 8a53554 f5f3497 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Oct 16 12:03:22 2015 +0200 Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into x86/urgent Pull EFI fix from Matt Fleming: - Ensure that the identity mapping in initial_page_table is updated to cover the entire kernel range. This fixes a triple fault on non-PAE kernels when booting on 32-bit EFI due to accessing an unmapped GDT in efi_call_phys_prolog(). (Paolo Bonzini) Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f5f3497cad8c8416a74b9aaceb127908755d020a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 14 13:30:45 2015 +0200 x86/setup: Extend low identity map to cover whole kernel range On 32-bit systems, the initial_page_table is reused by efi_call_phys_prolog as an identity map to call SetVirtualAddressMap. efi_call_phys_prolog takes care of converting the current CPU's GDT to a physical address too. For PAE kernels the identity mapping is achieved by aliasing the first PDPE for the kernel memory mapping into the first PDPE of initial_page_table. This makes the EFI stub's trick "just work". However, for non-PAE kernels there is no guarantee that the identity mapping in the initial_page_table extends as far as the GDT; in this case, accesses to the GDT will cause a page fault (which quickly becomes a triple fault). Fix this by copying the kernel mappings from swapper_pg_dir to initial_page_table twice, both at PAGE_OFFSET and at identity mapping. For some reason, this is only reproducible with QEMU's dynamic translation mode, and not for example with KVM. However, even under KVM one can clearly see that the page table is bogus: $ qemu-system-i386 -pflash OVMF.fd -M q35 vmlinuz0 -s -S -daemonize $ gdb (gdb) target remote localhost:1234 (gdb) hb *0x02858f6f Hardware assisted breakpoint 1 at 0x2858f6f (gdb) c Continuing. Breakpoint 1, 0x02858f6f in ?? () (gdb) monitor info registers ... GDT= 0724e000 000000ff IDT= fffbb000 000007ff CR0=0005003b CR2=ff896000 CR3=032b7000 CR4=00000690 ... The page directory is sane: (gdb) x/4wx 0x32b7000 0x32b7000: 0x03398063 0x03399063 0x0339a063 0x0339b063 (gdb) x/4wx 0x3398000 0x3398000: 0x00000163 0x00001163 0x00002163 0x00003163 (gdb) x/4wx 0x3399000 0x3399000: 0x00400003 0x00401003 0x00402003 0x00403003 but our particular page directory entry is empty: (gdb) x/1wx 0x32b7000 + (0x724e000 >> 22) * 4 0x32b7070: 0x00000000 [ It appears that you can skate past this issue if you don't receive any interrupts while the bogus GDT pointer is loaded, or if you avoid reloading the segment registers in general. Andy Lutomirski provides some additional insight: "AFAICT it's entirely permissible for the GDTR and/or LDT descriptor to point to unmapped memory. Any attempt to use them (segment loads, interrupts, IRET, etc) will try to access that memory as if the access came from CPL 0 and, if the access fails, will generate a valid page fault with CR2 pointing into the GDT or LDT." Up until commit 23a0d4e8fa6d ("efi: Disable interrupts around EFI calls, not in the epilog/prolog calls") interrupts were disabled around the prolog and epilog calls, and the functional GDT was re-installed before interrupts were re-enabled. Which explains why no one has hit this issue until now. ] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> [ Updated changelog. ] commit d24796a4a13a6c6a37b9e7145d36f983a27ad2e2 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Sep 23 12:19:11 2015 +0200 virtio-gpu: add page flip support Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f3380a3015541f13c25c980011c046e7114dff3d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Jun 16 15:41:56 2015 +1000 virtio-gpu: mark as a render gpu Also add DRM_RENDER_ALLOW to the ioctls. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 11a8f2805d4fd8a9c340b3f1b77990fd69b2dc0c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Jan 23 13:04:11 2015 +1000 virtio-gpu: add basic prime support This is enough to enable DRI3. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 62fb7a5e10962ac6ae2a2d2dbd3aedcb2a3e3257 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Oct 28 12:48:00 2014 +0100 virtio-gpu: add 3d/virgl support Add the bits needed for opengl rendering support: query capabilities, new virtio commands, drm ioctls. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 7552ed8a1a810552e16664d7020d61d2b01b9199 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 13 16:55:48 2015 +1000 virtio-gpu: don't free things on ttm_bo_init failure ttm_bo_init will call the destroy callback which will do all this, this was causing a double free. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6d41533433e2eff26005ee39d103948fa65dd891 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Tue Sep 15 08:20:46 2015 +0200 virtio-gpu: wait for cursor updates finish Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit ec2f0577c7b1fccc7a5d7ee8002a4f162061498f Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Aug 19 23:44:15 2015 +0200 virtio-gpu: add & use virtio_gpu_queue_fenced_ctrl_buffer Add helper function to handle the submission of fenced control requests. Make sure we initialize the fence while holding the virtqueue lock, so requests can't be reordered. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit 9c73f4782642c785569ad50e01324002d160bd09 Author: Gerd Hoffmann <kraxel@xxxxxxxxxx> Date: Wed Aug 19 23:35:57 2015 +0200 virtio-gpu: add virtio_gpu_queue_ctrl_buffer_locked Add virtio_gpu_queue_ctrl_buffer_locked function, which does the same as virtio_gpu_queue_ctrl_buffer but does not take the virtqueue lock. The caller must hold the lock instead. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> commit f33143d80907602deb1b96db42da93507ed03b31 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Oct 16 10:07:48 2015 +0300 kvm/irqchip: allow only multiple irqchip routes per GSI Any other irq routing types (MSI, S390_ADAPTER, upcoming Hyper-V SynIC) map one-to-one to GSI. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c9a5eccac1abf50649949f15754a7635f263a1ff Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Oct 16 10:07:47 2015 +0300 kvm/eventfd: add arch-specific set_irq Allow for arch-specific interrupt types to be set. For that, add kvm_arch_set_irq() which takes interrupt type-specific action if it recognizes the interrupt type given, and -EWOULDBLOCK otherwise. The default implementation always returns -EWOULDBLOCK. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ba1aefcd6db5536d3eb3ca3ce7bd6786960140ea Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Oct 16 10:07:46 2015 +0300 kvm/eventfd: factor out kvm_notify_acked_gsi() Factor out kvm_notify_acked_gsi() helper to iterate over EOI listeners and notify those matching the given gsi. It will be reused in the upcoming Hyper-V SynIC implementation. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 351dc6477cd35136ce4668401b1b1332a62908a8 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Fri Oct 16 10:07:45 2015 +0300 kvm/eventfd: avoid loop inside irqfd_update() The loop(for) inside irqfd_update() is unnecessary because any other value for irq_entry.type will just trigger schedule_work(&irqfd->inject) in irqfd_wakeup. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> CC: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7cae2bedcbd4680b155999655e49c27b9cf020fa Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Wed Oct 14 19:33:09 2015 -0300 KVM: x86: move steal time initialization to vcpu entry time As reported at https://bugs.launchpad.net/qemu/+bug/1494350, it is possible to have vcpu->arch.st.last_steal initialized from a thread other than vcpu thread, say the iothread, via KVM_SET_MSRS. Which can cause an overflow later (when subtracting from vcpu threads sched_info.run_delay). To avoid that, move steal time accumulation to vcpu entry time, before copying steal time data to guest. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5225fdf8c8bea4418f69875804584c89a27c170e Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Fri Oct 16 17:08:03 2015 +0900 KVM: x86: MMU: Eliminate an extra memory slot search in mapping_level() Calling kvm_vcpu_gfn_to_memslot() twice in mapping_level() should be avoided since getting a slot by binary search may not be negligible, especially for virtual machines with many memory slots. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d8aacf5df86a961923a2c9c547d341d64a9d9f5d Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Fri Oct 16 17:07:01 2015 +0900 KVM: x86: MMU: Remove mapping_level_dirty_bitmap() Now that it has only one caller, and its name is not so helpful for readers, remove it. The new memslot_valid_for_gpte() function makes it possible to share the common code between gfn_to_memslot_dirty_bitmap() and mapping_level(). Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fd136902187838bcae3a572f41cb703553dd63b8 Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Fri Oct 16 17:06:02 2015 +0900 KVM: x86: MMU: Move mapping_level_dirty_bitmap() call in mapping_level() This is necessary to eliminate an extra memory slot search later. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5ed5c5c8fdbab889837c9223fc6f4bdaa830879c Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Fri Oct 16 17:05:13 2015 +0900 KVM: x86: MMU: Simplify force_pt_level calculation code in FNAME(page_fault)() As a bonus, an extra memory slot search can be eliminated when is_self_change_mapping is true. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit cd1872f028556dc0e8424e58413c0268c159383b Author: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Date: Fri Oct 16 17:04:13 2015 +0900 KVM: x86: MMU: Make force_pt_level bool This will be passed to a function later. Signed-off-by: Takuya Yoshikawa <yoshikawa_takuya_b1@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6092d3d3e6db983048469d424a8f2221915a8dd3 Author: Joerg Roedel <joro@xxxxxxxxxx> Date: Wed Oct 14 15:10:54 2015 +0200 kvm: svm: Only propagate next_rip when guest supports it Currently we always write the next_rip of the shadow vmcb to the guests vmcb when we emulate a vmexit. This could confuse the guest when its cpuid indicated no support for the next_rip feature. Fix this by only propagating next_rip if the guest actually supports it. Cc: Bandan Das <bsd@xxxxxxxxxx> Cc: Dirk Mueller <dmueller@xxxxxxxx> Tested-By: Dirk Mueller <dmueller@xxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 951f9fd74f2d826fff1d84a8ec34b491517dc15d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Sep 23 10:34:26 2015 +0200 KVM: x86: manually unroll bad_mt_xwr loop The loop is computing one of two constants, it can be simpler to write everything inline. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 089d7b6ec5151ad06a2cd524bc0580d311b641ad Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Oct 13 09:18:37 2015 -0700 KVM: nVMX: expose VPID capability to L1 Expose VPID capability to L1. For nested guests, we don't do anything specific for single context invalidation. Hence, only advertise support for global context invalidation. The major benefit of nested VPID comes from having separate vpids when switching between L1 and L2, and also when L2's vCPUs not sched in/out on L1. Reviewed-by: Wincy Van <fanwenyi0529@xxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 5c614b3583e7b6dab0c86356fa36c2bcbb8322a0 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Oct 13 09:18:36 2015 -0700 KVM: nVMX: nested VPID emulation VPID is used to tag address space and avoid a TLB flush. Currently L0 use the same VPID to run L1 and all its guests. KVM flushes VPID when switching between L1 and L2. This patch advertises VPID to the L1 hypervisor, then address space of L1 and L2 can be separately treated and avoid TLB flush when swithing between L1 and L2. For each nested vmentry, if vpid12 is changed, reuse shadow vpid w/ an invvpid. Performance: run lmbench on L2 w/ 3.5 kernel. Context switching - times in microseconds - smaller is better ------------------------------------------------------------------------- Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw --------- ------------- ------ ------ ------ ------ ------ ------- ------- kernel Linux 3.5.0-1 1.2200 1.3700 1.4500 4.7800 2.3300 5.60000 2.88000 nested VPID kernel Linux 3.5.0-1 1.2600 1.4300 1.5600 12.7 12.9 3.49000 7.46000 vanilla Reviewed-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Reviewed-by: Wincy Van <fanwenyi0529@xxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 99b83ac893b84ed1a62ad6d1f2b6cc32026b9e85 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Tue Oct 13 09:12:21 2015 -0700 KVM: nVMX: emulate the INVVPID instruction Add the INVVPID instruction emulation. Reviewed-by: Wincy Van <fanwenyi0529@xxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 51161aa98d0aa4eb20952e16d6c6dbb1d085330e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 16:44:00 2015 -0700 net: Fix suspicious RCU usage in fib_rebalance This command: ip route add 192.168.1.0/24 nexthop via 10.2.1.5 dev eth1 nexthop via 10.2.2.5 dev eth2 generated this suspicious RCU usage message: [ 63.249262] [ 63.249939] =============================== [ 63.251571] [ INFO: suspicious RCU usage. ] [ 63.253250] 4.3.0-rc3+ #298 Not tainted [ 63.254724] ------------------------------- [ 63.256401] ../include/linux/inetdevice.h:205 suspicious rcu_dereference_check() usage! [ 63.259450] [ 63.259450] other info that might help us debug this: [ 63.259450] [ 63.262297] [ 63.262297] rcu_scheduler_active = 1, debug_locks = 1 [ 63.264647] 1 lock held by ip/2870: [ 63.265896] #0: (rtnl_mutex){+.+.+.}, at: [<ffffffff813ebfb7>] rtnl_lock+0x12/0x14 [ 63.268858] [ 63.268858] stack backtrace: [ 63.270409] CPU: 4 PID: 2870 Comm: ip Not tainted 4.3.0-rc3+ #298 [ 63.272478] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014 [ 63.275745] 0000000000000001 ffff8800b8c9f8b8 ffffffff8125f73c ffff88013afcf301 [ 63.278185] ffff8800bab7a380 ffff8800b8c9f8e8 ffffffff8107bf30 ffff8800bb728000 [ 63.280634] ffff880139fe9a60 0000000000000000 ffff880139fe9a00 ffff8800b8c9f908 [ 63.283177] Call Trace: [ 63.283959] [<ffffffff8125f73c>] dump_stack+0x4c/0x68 [ 63.285593] [<ffffffff8107bf30>] lockdep_rcu_suspicious+0xfa/0x103 [ 63.287500] [<ffffffff8144d752>] __in_dev_get_rcu+0x48/0x4f [ 63.289169] [<ffffffff8144d797>] fib_rebalance+0x3e/0x127 [ 63.290753] [<ffffffff8144d986>] ? rcu_read_unlock+0x3e/0x5f [ 63.292442] [<ffffffff8144ea45>] fib_create_info+0xaf9/0xdcc [ 63.294093] [<ffffffff8106c12f>] ? sched_clock_local+0x12/0x75 [ 63.295791] [<ffffffff8145236a>] fib_table_insert+0x8c/0x451 [ 63.297493] [<ffffffff8144bf9c>] ? fib_get_table+0x36/0x43 [ 63.299109] [<ffffffff8144c3ca>] inet_rtm_newroute+0x43/0x51 [ 63.300709] [<ffffffff813ef684>] rtnetlink_rcv_msg+0x182/0x195 [ 63.302334] [<ffffffff8107d04c>] ? trace_hardirqs_on+0xd/0xf [ 63.303888] [<ffffffff813ebfb7>] ? rtnl_lock+0x12/0x14 [ 63.305346] [<ffffffff813ef502>] ? __rtnl_unlock+0x12/0x12 [ 63.306878] [<ffffffff81407c4c>] netlink_rcv_skb+0x3d/0x90 [ 63.308437] [<ffffffff813ec00e>] rtnetlink_rcv+0x21/0x28 [ 63.309916] [<ffffffff81407742>] netlink_unicast+0xfa/0x17f [ 63.311447] [<ffffffff81407a5e>] netlink_sendmsg+0x297/0x2dc [ 63.313029] [<ffffffff813c6cd4>] sock_sendmsg_nosec+0x12/0x1d [ 63.314597] [<ffffffff813c835b>] ___sys_sendmsg+0x196/0x21b [ 63.316125] [<ffffffff8100bf9f>] ? native_sched_clock+0x1f/0x3c [ 63.317671] [<ffffffff8106c12f>] ? sched_clock_local+0x12/0x75 [ 63.319185] [<ffffffff8106c397>] ? sched_clock_cpu+0x9d/0xb6 [ 63.320693] [<ffffffff8107e2d7>] ? __lock_is_held+0x32/0x54 [ 63.322145] [<ffffffff81159fcb>] ? __fget_light+0x4b/0x77 [ 63.323541] [<ffffffff813c8726>] __sys_sendmsg+0x3d/0x5b [ 63.324947] [<ffffffff813c8751>] SyS_sendmsg+0xd/0x19 [ 63.326274] [<ffffffff814c8f57>] entry_SYSCALL_64_fastpath+0x12/0x6f It looks like all of the code paths to fib_rebalance are under rtnl. Fixes: 0e884c78ee19 ("ipv4: L3 hash-based multipath") Cc: Peter Nørlund <pch@xxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac00737f4e8198f8ff5007c70af4dfe4fd47ea94 Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Oct 14 14:40:44 2015 -0700 bpf: Need to call bpf_prog_uncharge_memlock from bpf_prog_put Currently, is only called from __prog_put_rcu in the bpf_prog_release path. Need this to call this from bpf_prog_put also to get correct accounting. Fixes: aaac3ba95e4c8b49 ("bpf: charge user for creation of BPF maps and programs") Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a302afe980ca6b25b2bae0b5bc816fe1dc1bb039 Merge: 47ea032 ebb516a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 16 00:52:27 2015 -0700 Merge branch 'robust_listener' Eric Dumazet says: ==================== tcp/dccp: make our listener code more robust This patch series addresses request sockets leaks and listener dismantle phase. This survives a stress test with listeners being added/removed quite randomly. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebb516af60e18258aac8e80bbe068740ef1579ed Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 14 11:16:28 2015 -0700 tcp/dccp: fix race at listener dismantle phase Under stress, a close() on a listener can trigger the WARN_ON(sk->sk_ack_backlog) in inet_csk_listen_stop() We need to test if listener is still active before queueing a child in inet_csk_reqsk_queue_add() Create a common inet_child_forget() helper, and use it from inet_csk_reqsk_queue_add() and inet_csk_listen_stop() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f03f2e154f52fdaa982de7e2c386737679963dc9 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 14 11:16:27 2015 -0700 tcp/dccp: add inet_csk_reqsk_queue_drop_and_put() helper Let's reduce the confusion about inet_csk_reqsk_queue_drop() : In many cases we also need to release reference on request socket, so add a helper to do this, reducing code size and complexity. Fixes: 4bdc3d66147b ("tcp/dccp: fix behavior of stale SYN_RECV request sockets") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef84d8ce5a36d0c4a6454e7e9dff54d19f96a25f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 14 11:16:26 2015 -0700 Revert "inet: fix double request socket freeing" This reverts commit c69736696cf3742b37d850289dc0d7ead177bb14. At the time of above commit, tcp_req_err() and dccp_req_err() were dead code, as SYN_RECV request sockets were not yet in ehash table. Real bug was fixed later in a different commit. We need to revert to not leak a refcount on request socket. inet_csk_reqsk_queue_drop_and_put() will be added in following commit to make clean inet_csk_reqsk_queue_drop() does not release the reference owned by caller. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0753902d42f5cb01c33f0dec47ba2aa7ecfbb3f Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 12:25:59 2015 +0200 s390/fpu: split fpu-internal.h into fpu internals, api, and type headers Split the API and FPU type definitions into separate header files similar to "x86/fpu: Rename fpu-internal.h to fpu/internal.h" (78f7f1e54b). The new header files and their meaning are: asm/fpu/types.h: FPU related data types, needed for 'struct thread_struct' and 'struct task_struct'. asm/fpu/api.h: FPU related 'public' functions for other subsystems and device drivers. asm/fpu/internal.h: FPU internal functions mainly used to convert FPU register contents in signal handling. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 47ea0325337b166c1c8695119aa6e83cdc035ef5 Author: Ivan Vecera <ivecera@xxxxxxxxxx> Date: Thu Oct 15 21:28:52 2015 +0200 drivers/net: get rid of unnecessary initializations in .get_drvinfo() Many drivers initialize uselessly n_priv_flags, n_stats, testinfo_len, eedump_len & regdump_len fields in their .get_drvinfo() ethtool op. It's not necessary as these fields is filled in ethtool_get_drvinfo(). v2: removed unused variable v3: removed another unused variable Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3ce5b3768b17120dca852513af211c4acd3d2b0 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Oct 15 14:35:01 2015 +0200 soc: rockchip: power-domain: don't try to print the clock name in error case When we never got the the clock-reference, i.e. when IS_ERR(clk) is true, don't try to print the clock name via %pC as this of course produces a null-pointer-dereference in __clk_get_name(). Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> commit a515de660747eb01f3ef80e75bfc51ac63cfc546 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 14:28:56 2015 +0200 cfg80211: reg: fix reg_ignore_cell_hint return type The return type should be enum reg_request_treatment for both branches of the #ifdef. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 81e925747e1c2ef2fa0316c2cd74410c65242a9e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 14:27:04 2015 +0200 cfg80211: reg: reduce chan_reg_rule_print_dbg() ifdef The function is void and static, so just ifdef its contents instead of duplicating the declaration. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9f5068029274a15bf0a92f77e126fe52c3551c19 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 13:35:45 2015 +0200 cfg80211: reg: fix antenna gain in chan_reg_rule_print_dbg() Printing "N/A mBi" is strange - print just "N/A" instead. Also add a missing opening parenthesis. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d34265a3eebe994b3b9a0e4cabbc2dbb8436388b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 13:05:55 2015 +0200 cfg80211: reg: centralize freeing ignored requests Instead of having a lot of places that free ignored requests and then return REG_REQ_OK, make reg_process_hint() process REG_REQ_IGNORE by freeing the request, and let functions it calls return that instead of freeing. This also fixes a leak when a second (different) country IE hint was ignored. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 480908a7ec5f2d37d5610b7d9bc48a38f2093876 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 12:58:58 2015 +0200 cfg80211: reg: clarify 'treatment' handling in reg_process_hint() This function can only deal with treatment values OK and ALREADY_SET so make the callees not return anything else and warn if they do. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit fd453d3c53eed367f18a0c75bd855cdfc9d6d416 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 10:22:12 2015 +0200 cfg80211: reg: rename reg_regdb_query() to reg_query_builtin() The new name better reflects the functionality. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b68630369167a7fd2c4c3d1be96430defc59fb9a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 09:25:18 2015 +0200 cfg80211: reg: make CRDA support optional If there's a built-in regulatory database, there may be little point in also calling out to CRDA and failing if the system is configured that way. Allow removing CRDA support to save ~1K kernel size. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ae23051820461bdc960b76d766e7c1e92dee2ee1 Merge: 175f8d6 c819930 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 15 23:55:33 2015 -0700 Merge branch 'tipc-link-improvements' Jon Maloy says: ==================== tipc: some link level code improvements Extensive testing has revealed some weaknesses and non-optimal solutions in the link level code. This commit series addresses those issues. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c819930090fe3f74c822be765c185b3431360193 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:46 2015 -0400 tipc: update node FSM when peer RESET message is received The change made in the previous commit revealed a small flaw in the way the node FSM is updated. When the function tipc_node_link_down() is called for the last link to a node, we should check whether this was caused by a local reset or by a received RESET message from the peer. In the latter case, we can directly issue a PEER_LOST_CONTACT_EVT to the node FSM, so that it is ready to re-establish contact. If this is not done, the peer node will sometimes have to go through a second establish cycle before the link becomes stable. We fix this in this commit by conditionally issuing the mentioned event in the function tipc_node_link_down(). We also move LINK_RESET FSM even away from the link_reset() function and into the caller function, partially because it is easier to follow the code when state changes are gathered at a limited number of locations, partially because there will be cases in future commits where we don't want the link to go RESET mode when link_reset() is called. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 282b3a056225b35024246f63feb91d769d714dad Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:45 2015 -0400 tipc: send out RESET immediately when link goes down When a link is taken down because of a node local event, such as disabling of a bearer or an interface, we currently leave it to the peer node to discover the broken communication. The default time for such failure discovery is 1.5-2 seconds. If we instead allow the terminating link endpoint to send out a RESET message at the moment it is reset, we can achieve the impression that both endpoints are going down instantly. Since this is a very common scenario, we find it worthwhile to make this small modification. Apart from letting the link produce the said message, we also have to ensure that the interface is able to transmit it before TIPC is detached. We do this by performing the disabling of a bearer in three steps: 1) Disable reception of TIPC packets from the interface in question. 2) Take down the links, while allowing them so send out a RESET message. 3) Disable transmission of TIPC packets on the interface. Apart from this, we now have to react on the NETDEV_GOING_DOWN event, instead of as currently the NEDEV_DOWN event, to ensure that such transmission is possible during the teardown phase. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73f646cec35477b5099d7e952297cb9e1855be45 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:44 2015 -0400 tipc: delay ESTABLISH state event when link is established Link establishing, just like link teardown, is a non-atomic action, in the sense that discovering that conditions are right to establish a link, and the actual adding of the link to one of the node's send slots is done in two different lock contexts. The link FSM is designed to help bridging the gap between the two contexts in a safe manner. We have now discovered a weakness in the implementaton of this FSM. Because we directly let the link go from state LINK_ESTABLISHING to state LINK_ESTABLISHED already in the first lock context, we are unable to distinguish between a fully established link, i.e., a link that has been added to its slot, and a link that has not yet reached the second lock context. It may hence happen that a manual intervention, e.g., when disabling an interface, causes the function tipc_node_link_down() to try removing the link from the node slots, decrementing its active link counter etc, although the link was never added there in the first place. We solve this by delaying the actual state change until we reach the second lock context, inside the function tipc_node_link_up(). This makes it possible for potentail callers of __tipc_node_link_down() to know if they should proceed or not, and the problem is solved. Unforunately, the situation described above also has a second problem. Since there by necessity is a tipc_node_link_up() call pending once the node lock has been released, we must defuse that call by setting the link back from LINK_ESTABLISHING to LINK_RESET state. This forces us to make a slight modification to the link FSM, which will now look as follows. +------------------------------------+ |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 | | | | +-------------+ | | | | | | RESET_EVT | | | | | | | | | | | V V V | | | | +-------------+ +--------------+ RESET_EVT| +--->| RESET |--------->| ESTABLISHING |<----------------+ +-------------+ PEER_ +--------------+ | A RESET_EVT | | | | | | | |FAILOVER_ |FAILOVER_ |FAILOVER_ |BEGIN_EVT |END_EVT |BEGIN_EVT | | | V | | +-------------+ | | FAILINGOVER |<----------------+ +-------------+ Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8306f99a517b91ebf8fa94d017c2c84ca62e107c Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:43 2015 -0400 tipc: disallow packet duplicates in link deferred queue After the previous commits, we are guaranteed that no packets of type LINK_PROTOCOL or with illegal sequence numbers will be attempted added to the link deferred queue. This makes it possible to make some simplifications to the sorting algorithm in the function tipc_skb_queue_sorted(). We also alter the function so that it will drop packets if one with the same seqeunce number is already present in the queue. This is necessary because we have identified weird packet sequences, involving duplicate packets, where a legitimate in-sequence packet may advance to the head of the queue without being detected and de-queued. Finally, we make this function outline, since it will now be called only in exceptional cases. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81204c492b05274ade680c54787cd8ba234dcfd7 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:42 2015 -0400 tipc: improve sequence number checking The sequence number of an incoming packet is currently only checked for less than, equality to, or bigger than the next expected number, meaning that the receive window in practice becomes one half sequence number cycle, or U16_MAX/2. This does not make sense, and may not even be safe if there are extreme delays in the network. Any packet sent by the peer during the ongoing cycle must belong inside his current send window, or should otherwise be dropped if possible. Since a link endpoint cannot know its peer's current send window, it has to base this sanity check on a worst-case assumption, i.e., that the peer is using a maximum sized window of 8191 packets. Using this assumption, we now add a check that the sequence number is not bigger than next_expected + TIPC_MAX_LINK_WIN. We also re-order the checks done, so that the receive window test is performed before the gap test. This way, we are guaranteed that no packet with illegal sequence numbers are ever added to the deferred queue. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9aa358a8109f9f33e96c3a7efb9a07631670294 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:41 2015 -0400 tipc: simplify tipc_link_rcv() reception loop Currently, all packets received in tipc_link_rcv() are unconditionally added to the packet deferred queue, whereafter that queue is walked and all its buffers evaluated for delivery. This is both non-optimal and and makes the queue sorting function unnecessary complex. This commit changes the loop so that an arrived packet is evaluated first, and added to the deferred queue only when a sequence number gap is discovered. A non-empty deferred queue is walked until it is empty or until its head's sequence number doesn't fit. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9945e8043ef9273cfb633d930e2a5a9116009b09 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Thu Oct 15 14:52:40 2015 -0400 tipc: limit usage of temporary skb list during packet reception During packet reception, the function tipc_link_rcv() adds its accepted packets to a temporary buffer queue, before finally splicing this queue into the lock protected input queue that will be delivered up to the socket layer. The purpose is to reduce potential contention on the input queue lock. However, since the vast majority of packets arrive in sequence, they will anyway be added one by one to the input queue, and the use of the temporary queue becomes a sub-optimization. The only case where this queue makes sense is when unpacking buffers from a bundle packet; here we want to avoid dozens of small buffers to be added individually to the lock-protected input queue in a tight loop. In this commit, we remove the general usage of the temporary queue, and keep it only for the packet unbundling case. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c067963f6e128bdca1e4db947f1a0e8ad2bd846 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 15 00:32:21 2015 +0800 ARM: dts: sun8i: Add NMI interrupt controller node The NMI interrupt controller is in charge of the NMI pin exposed by the SoC to the PMIC. The PMIC signals interrupts through this. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 175f8d6746aa4b1dac5ccf576bcbc5488ff21a36 Author: Insu Yun <wuninsu@xxxxxxxxx> Date: Thu Oct 15 12:24:09 2015 -0400 mlx4: corretly check failed allocation When allocation fails, mlx4_alloc_cmd_mailbox returns -ENOMEM. Since there is no case that mlx4_alloc_cmd_mailbox returns NULL, it needs to be checked by IS_ERR, not IS_ERR_OR_NULL Signed-off-by: Insu Yun <wuninsu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e87eb4051efe76b35d0a297db772f5964a001544 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 15 09:22:11 2015 -0700 bonding: support encapsulated ipv6 TSO If using a sixtofour device on top of a bonding device, skb segmentation of TCP traffic is done right before calling bonding xmit, because bonding only enables TSO for IPv4. This patch improves single flow performance by about 120 % on my hosts, because segmentation is deferred right before calling slave xmit. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 181e4246b4666bc3af148c1dacb330c9be2acf76 Merge: 96aec91 5cd16d8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 15 23:28:03 2015 -0700 Merge branch 'mlxsw-cleanups' Jiri Pirko says: ==================== mlxsw: Driver update, cleanups This patchset contains various cleanups and improvements in mlxsw driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5cd16d8c78fd17520fff437256f0c3a4e960fd5d Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:29 2015 +0200 mlxsw: cmd: Update CONFIG_PROFILE command documentation The meaning of certain parameters in the profile passed to the device during initialization has changed, so update their documentation accordingly. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 801bd3defb2eac756e6570168d0f8187781ad8ad Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:28 2015 +0200 mlxsw: Add trap group for control packets Previously, we trapped flooded and control packets using the same trap group. This can cause flooded packets to overflow the PCI bus and prevent control packets (e.g. STP, LACP) from getting to the CPU. Solve this by splitting the RX trap group to RX and control, which allows us to configure a policer on the first, thereby preventing it from overflowing the PCI bus. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f24af330159aa1afbc6670e5786856a2a99d112c Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:27 2015 +0200 mlxsw: Simplify traps creation The Host Trap Group Table (HTGT) register configures trap groups, which are populated with trap IDs using the Host PacKet Trap (HPKT) register. However, a trap ID can only be present inside one trap group (the last configured). Instead of passing both the trap group and ID for the function that packs HPKT, pass only the trap ID and derive from it the trap group. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ebb7963f9b14bbaa07b6074579225d6338318ecb Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:26 2015 +0200 mlxsw: Introduce mlxsw_reg_spms_vid_pack helper and use it Introduce separate helper for packing SPMS VIDs, as it can be used for multiple VIDs and not only for one as previous SPMS pack function provided. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa6ad058bc77b6ae69bd4512b538245ee5db39eb Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:25 2015 +0200 mlxsw: reg: Adjust definition of enum mlxsw_reg_sfgc_type Define max which would be needed later on. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36b78e8ababe6c596680d742f20bece5e8dc9820 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:24 2015 +0200 mlxsw: reg: Remove extra space in SFGC ID define Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f0effd16b69d84558f2e7eb7ccd0e27a43173f4 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:23 2015 +0200 mlxsw: reg: Uppercase letters in register IDs Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cf9dc8b77918c30260bc0f2e1853eb7d1ce34e8 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:22 2015 +0200 mlxsw: Use dev_level_ratelimited instead of net_ratelimit & dev_level Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18ea54454ecdd516ad11bf88d86f1994548692bf Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:21 2015 +0200 mlxsw: core: Do not use EMADs in mlxsw_emad_fini Be symmetric with mlxsw_emad_init and don't use EMADs in mlxsw_emad_fini cleanup function. Use command interface instead. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e2206da73e37c0fc07675b5caf25d3b26e33b7d Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:20 2015 +0200 mlxsw: pci: Limit number of entries being sent in single MAP_FA cmd Firmware accepts only limited number of mapping entries for MAP_FA command. In order to prevent overflow, introduce a limit and in case the number of entries is bigger, call MAP_FA multiple times. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c85c3882ad88dd36105148912cd95084b09a5676 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:19 2015 +0200 mlxsw: pci: Remove MLXSW_PCI_RDQS/SDQS defines and checks Remove strict number check of queues count as various ASICs have different counts. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 424e1114af94a543b3126f84ddd38742c7cfbbb6 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:18 2015 +0200 mlxsw: pci: Do not use MLXSW_PCI_SDQS_COUNT define Use mlxsw_pci_sdq_count helper instead. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4c870b1b496c90dc4fa9cf24937c7a45e84187f Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:17 2015 +0200 mlxsw: pci: Use MLXSW_PCI_CQS_MAX instead of MLXSW_PCI_CQS_COUNT The count of CQs can be different for various ASICs, so just define maximal value and check for that. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ffe053285b77e9cd87c3b8e37f35bdb8de8172d1 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:16 2015 +0200 mlxsw: switchx2: Use ETH_ALEN for mac address length Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33a704a59b6618dceb4a3ec1200b879294962c88 Author: Ido Schimmel <idosch@xxxxxxxxxxxx> Date: Thu Oct 15 17:43:15 2015 +0200 mlxsw: Remove multicast ID configuration With respect to a firmware change, the Switch Multicast ID (SMID) register is no longer needed, so the related configuration code can be removed. Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d311a28a5853857a73d54d15dc30797aa3b1802d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 16 19:34:24 2015 +0530 PCC: fix dereference of ERR_PTR get_pcc_channel() does not return NULL on error it returns the error code in ERR_PTR, but we have been checking it for NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> commit ebb251030bf25b27b05f0e4204e27b85c5664364 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 19:38:59 2015 +0000 ARM: socfpga: dts: add fpga manager Add FPGA manager to device tree for SoCFPGA. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit ba2746b0facf83c62bebf8aed8f0a3fd446de612 Author: NeilBrown <neilb@xxxxxxxx> Date: Fri Oct 16 13:48:35 2015 +1100 md-cluster: metadata_update_finish: consistently use cmsg.raid_slot as le32 As cmsg.raid_slot is le32, comparing for >0 is not meaningful. So introduce cpu-endian 'raid_slot' and only assign to cmsg.raid_slot when we know value is valid. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 256d0afb11d6e878e8c793e4a6e3bbfb81f9aae8 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Oct 6 12:30:25 2015 -0700 selftests/seccomp: build and pass on arm64 Changing arm64 syscalls is done via a specific register set, more like s390 than like arm (specific ptrace call) and x86 (part of general registers). Since (restarting) poll doesn't exist on arm64, switch to using nanosleep for testing restart_syscall. And since it looks like the syscall ABI is inconsistent on arm-compat, so we must work around it (and document it) in the test. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 1f78dda2cf5e4eeb00aee2a01c9515e2e704b4c0 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Thu Oct 1 15:33:02 2015 +0800 selftests: memfd_test: Revised STACK_SIZE to make it 16-byte aligned There is a mandate of 16-byte aligned stack on AArch64 [1], so the STACK_SIZE here should also be 16-byte aligned, otherwise we would get an error when calling clone(). [1] http://lxr.free-electrons.com/source/arch/arm64/kernel/process.c#L265 Signed-off-by: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit f615e2bb1331c5b9dc7f56f39f679738674a1e1f Author: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Date: Fri Oct 2 20:46:41 2015 +0900 selftests/pstore: add pstore test scripts going with reboot To test pstore in earnest, we have to cause kernel crash and check pstore filesystem after reboot. We add two scripts: - pstore_crash_test This script causes kernel crash and reboot. It is executed by 'make run_pstore_crash' in selftests. It can also be used with kdump. - pstore_post_reboot_tests This script includes test cases which check pstore's behavior after crash and reboot. It is executed together with pstore_tests by 'make run_tests [-C pstore]' in selftests. The test cases in pstore_post_reboot_tests are currently following. - Check pstore backend is registered - Mount pstore filesystem - Check dmesg/console/pmsg files exist in pstore filesystem - Check dmesg/console files contain oops end marker - Check pmsg file properly keeps the content written before crash - Remove all files in pstore filesystem Example usage is following. (before reboot) # cd /path/to/selftests # make run_tests -C pstore === Pstore unit tests (pstore_tests) === UUID=b49b02cf-b0c2-4309-be43-b08c3971e37f ... selftests: pstore_tests [PASS] === Pstore unit tests (pstore_post_reboot_tests) === UUID=953eb1bc-8e03-48d7-b27a-6552b24c5b7e Checking pstore backend is registered ... ok backend=ramoops cmdline=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait mem=768M ramoops.mem_address=0x30000000 ramoops.mem_size=0x10000 pstore_crash_test has not been executed yet. we skip further tests. selftests: pstore_post_reboot_tests [PASS] # make run_pstore_crash === Pstore unit tests (pstore_crash_test) === UUID=93c8972d-1466-430b-8c4a-28d8681e74c6 Checking pstore backend is registered ... ok backend=ramoops cmdline=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait mem=768M ramoops.mem_address=0x30000000 ramoops.mem_size=0x10000 Causing kernel crash ... (kernel crash and reboot) ... (after reboot) # make run_tests -C pstore === Pstore unit tests (pstore_tests) === UUID=8e511e77-2285-499f-8bc0-900d9af1fbcc ... selftests: pstore_tests [PASS] === Pstore unit tests (pstore_post_reboot_tests) === UUID=2dcc2132-4f3c-45aa-a38f-3b54bff8cef1 Checking pstore backend is registered ... ok backend=ramoops cmdline=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait mem=768M ramoops.mem_address=0x30000000 ramoops.mem_size=0x10000 Mounting pstore filesystem ... ok Checking dmesg files exist in pstore filesystem ... ok dmesg-ramoops-0 dmesg-ramoops-1 Checking console files exist in pstore filesystem ... ok console-ramoops-0 Checking pmsg files exist in pstore filesystem ... ok pmsg-ramoops-0 Checking dmesg files contain oops end marker dmesg-ramoops-0 ... ok dmesg-ramoops-1 ... ok Checking console file contains oops end marker ... ok Checking pmsg file properly keeps the content written before crash ... ok Removing all files in pstore filesystem console-ramoops-0 ... ok dmesg-ramoops-0 ... ok dmesg-ramoops-1 ... ok pmsg-ramoops-0 ... ok selftests: pstore_post_reboot_tests [PASS] Signed-off-by: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Anton Vorontsov <anton@xxxxxxxxxx> Cc: Colin Cross <ccross@xxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Mark Salyzyn <salyzyn@xxxxxxxxxxx> Cc: Seiji Aguchi <seiji.aguchi.tr@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit cc04a46f11ea046ed53e2c832ae29e4790f7e35f Author: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Date: Fri Oct 2 20:46:39 2015 +0900 selftests/pstore: add pstore test script for pre-reboot The pstore_tests script includes test cases which check pstore's behavior before crash (and reboot). The test cases are currently following. - Check pstore backend is registered - Check pstore console is registered - Check /dev/pmsg0 exists - Write unique string to /dev/pmsg0 The unique string written to /dev/pmsg includes UUID. The UUID is also left in 'uuid' file in order to enable us to check if the pmsg keeps the string correctly after reboot. Example usage is following. # cd /path/to/selftests # make run_tests -C pstore (or just .pstore/pstore_tests) make: Entering directory '/path/to/selftests/pstore' === Pstore unit tests (pstore_tests) === UUID=b49b02cf-b0c2-4309-be43-b08c3971e37f Checking pstore backend is registered ... ok backend=ramoops cmdline=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait mem=768M ramoops.mem_address=0x30000000 ramoops.mem_size=0x10000 Checking pstore console is registered ... ok Checking /dev/pmsg0 exists ... ok Writing unique string to /dev/pmsg0 ... ok selftests: pstore_tests [PASS] make: Leaving directory '/path/to/selftests/pstore' We can also see test logs later. # cat pstore/logs/20151001-072718_b49b02cf-b0c2-4309-be43-b08c3971e37f/pstore_tests.log Thu Oct 1 07:27:18 UTC 2015 === Pstore unit tests (pstore_tests) === UUID=b49b02cf-b0c2-4309-be43-b08c3971e37f Checking pstore backend is registered ... ok backend=ramoops cmdline=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait mem=768M ramoops.mem_address=0x30000000 ramoops.mem_size=0x10000 Checking pstore console is registered ... ok Checking /dev/pmsg0 exists ... ok Writing unique string to /dev/pmsg0 ... ok Signed-off-by: Hiraku Toyooka <hiraku.toyooka.gu@xxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Anton Vorontsov <anton@xxxxxxxxxx> Cc: Colin Cross <ccross@xxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Mark Salyzyn <salyzyn@xxxxxxxxxxx> Cc: Seiji Aguchi <seiji.aguchi.tr@xxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit be14484be0a88574cf913bdf957ee91a8fafb0f8 Author: Yuan Sun <sunyuan3@xxxxxxxxxx> Date: Tue Sep 29 10:03:59 2015 +0800 selftests: add .gitignore for efivarfs Signed-off-by: Yuan Sun <sunyuan3@xxxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit c76af02d90ee9e9d2ef478fc6f874ad2abcf3ec9 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:48 2015 +0200 via_drm.h: move struct via_file_private definition to drivers/gpu/drm/via/via_drv.h Fixes userspace compile error since list_head is not exported to userspace headers. Suggested by Emil Velikov <emil.l.velikov@xxxxxxxxx> at https://lkml.org/lkml/2015/6/3/792 Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 7a6007c309c9b0e573dc17ac9d81e8b5f173847d Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:50 2015 +0200 include/uapi/drm/sis_drm.h: move sis_file_private to drivers/gpu/drm/sis/sis_drv.h Fixes userspace compile error: drm/sis_drm.h:68:19: error: field â??obj_listâ?? has incomplete type struct list_head obj_list; Suggested by Emil Velikov <emil.l.velikov@xxxxxxxxx> at https://lkml.org/lkml/2015/6/3/792 Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 966d713e86db1916a0b45a324a935d009737316e Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Mon Mar 23 22:24:45 2015 +0530 KVM: PPC: Book3S HV: Deliver machine check with MSR(RI=0) to guest as MCE For the machine check interrupt that happens while we are in the guest, kvm layer attempts the recovery, and then delivers the machine check interrupt directly to the guest if recovery fails. On successful recovery we go back to normal functioning of the guest. But there can be cases where a machine check interrupt can happen with MSR(RI=0) while we are in the guest. This means MC interrupt is unrecoverable and we have to deliver a machine check to the guest since the machine check interrupt might have trashed valid values in SRR0/1. The current implementation do not handle this case, causing guest to crash with Bad kernel stack pointer instead of machine check oops message. [26281.490060] Bad kernel stack pointer 3fff9ccce5b0 at c00000000000490c [26281.490434] Oops: Bad kernel stack pointer, sig: 6 [#1] [26281.490472] SMP NR_CPUS=2048 NUMA pSeries This patch fixes this issue by checking MSR(RI=0) in KVM layer and forwarding unrecoverable interrupt to guest which then panics with proper machine check Oops message. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Acked-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 9ace42b1d14b70a0db6d0d5bf8240beddf65d075 Merge: 48f87dd dfbdaf5 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 16 10:25:49 2015 +1000 Merge branch 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next This series: * adds support for interlaced video modes to the ipu-v3 driver and dw_hdmi bridge. * reworks the dw_hdmi connector enable/disable support, to ensure that when DRM disables the output, it stays disabled irrespective of the hotplug state. * adds support for connector forcing, so we can force the hotplug state for this connector. * adds the ALSA AHB audio driver to the bridge: Iwai has acked the audio driver. * a few fixes to the ACR calculations to allow more modes to work with audio on iMX6. Fabio has independently tested this series, so all patches here carry his tested-by tag. * 'drm-dwhdmi-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm: bridge/dw_hdmi: replace CTS calculation for the ACR drm: bridge/dw_hdmi: remove ratio support from ACR code drm: bridge/dw_hdmi: adjust pixel clock values in N calculation drm: bridge/dw_hdmi: avoid being recursive in N calculation drm: bridge/dw_hdmi-ahb-audio: allow larger buffer sizes drm: bridge/dw_hdmi-ahb-audio: basic support for multi-channel PCM audio drm: bridge/dw_hdmi-ahb-audio: parse ELD from HDMI driver drm: bridge/dw_hdmi-ahb-audio: add audio driver drm: bridge/dw_hdmi: improve HDMI enable/disable handling drm: bridge/dw_hdmi: add connector mode forcing drm: bridge/dw_hdmi: add support for interlaced video modes gpu: imx: fix support for interlaced modes gpu: imx: simplify sync polarity setting commit 48f87dd146a480c723774962eca675873a8aa1da Merge: 6b62b3e 06d1ee3 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 16 10:10:32 2015 +1000 Merge commit '06d1ee32a4d25356a710b49d5e95dbdd68bdf505' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next Backmerge the drm-fixes pull from Linus's tree into drm-next. This is to fix some conflicts and make future pulls cleaner commit 6b62b3e134676687d5d666e6edc3b45f1507b2b7 Merge: b312785 b44f840 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 16 10:02:35 2015 +1000 Merge tag 'topic/drm-misc-2015-10-08' of git://anongit.freedesktop.org/drm-intel into drm-next Another round of drm-misc. Unfortunately the DRM_UNLOCKED removal for DRIVER_MODESET isn't complete yet for lack of review on 1-2 patches. Otherwise just various stuff all over. * tag 'topic/drm-misc-2015-10-08' of git://anongit.freedesktop.org/drm-intel: drm: Stop using drm_vblank_count() as the hw frame counter drm/irq: Use unsigned int pipe in public API drm: Use DRM_ROTATE_MASK and DRM_REFLECT_MASK drm: Add DRM_ROTATE_MASK and DRM_REFLECT_MASK vga_switcheroo: Add missing locking vgaarb: use kzalloc in vga_arbiter_add_pci_device() drm: Don't zero vblank timestamps from the irq handler drm: Hack around CONFIG_AGP=m build failures drm/i915: Remove setparam ioctl drm: Remove dummy agp ioctl wrappers drm/vmwgfx: Stop checking for DRM_UNLOCKED drm/drm_ioctl.c: kerneldoc drm: Define a drm_invalid_op ioctl implementation drm: Remove __OS_HAS_AGP drm/doc: Update docs about device instance setup commit b312785579f8ec1900d0ed7e6e33bc9517c175fc Merge: aa1b36f 44cc6c0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 16 09:59:19 2015 +1000 Merge tag 'drm-intel-next-2015-09-28-merged' of git://anongit.freedesktop.org/drm-intel into drm-next drm-intel-next-2015-09-28: - fastboot by default for some systems (Maarten Lankhorts) - piles of workarounds for bxt and skl - more fbc work from Paulo - fix hdmi hotplug detection (Sonika) - first few patches from Ville to parametrize register macros, prep work for typesafe mmio functions - prep work for nv12 rotation (Tvrtko Ursulin) - various other bugfixes and improvements all over I have another backmerge here since things became messy and I didn't realize you resolved some of them already (usually you complain when there's a conflict ...). For 4.4 I plan one more feature round after this and then that's it. * tag 'drm-intel-next-2015-09-28-merged' of git://anongit.freedesktop.org/drm-intel: (80 commits) drm/i915: Update DRIVER_DATE to 20150928 drm/i915: fix task reference leak in i915_debugfs.c drm/i915: Defer adding preallocated stolen objects to the VM list drm/i915: Remove extraneous request cancel. drm/i915: Enable querying offset of UV plane with intel_plane_obj_offset drm/i915: Support NV12 in rotated GGTT mapping drm/i915: Support appending to the rotated pages mapping drm/i915: Support planar formats in tile height calculations drm/i915/bxt: Update revision id for BXT C0 drm/i915: Parametrize CSR_PROGRAM registers drm/i915: Parametrize DDI_BUF_TRANS registers drm/i915: Parametrize TV luma/chroma filter registers drm/i915: Replace raw numbers with the approproate register name in ILK turbo code drm/i915: Parametrize ILK turbo registers drm/i915: Parametrize FBC_TAG registers drm/i915: Parametrize GEN7_GT_SCRATCH and GEN7_LRA_LIMITS drm/i915: Parametrize LRC registers drm/i915: Don't pass sdvo_reg to intel_sdvo_select_{ddc, i2c}_bus() drm/i915: Ignore "digital output" and "not HDMI output" bits for eDP detection drm/i915: Make sure we don't detect eDP on g4x ... commit aa1b36f2bb068e6d76b0bef2da286631bfa1bff1 Merge: 99a91c9 2fcef6e Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 16 09:39:14 2015 +1000 Merge branch 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux into drm-next This is the first radeon and amdgpu pull for drm-next. Highlights include: - Efficiency improvements to the CS checker for pre-SI asics - Cursor fixes ported from radeon to amdgpu - Enable GPU scheduler by default - Add a bunch of GPUVM debugging options - Add support for some new atombios opcodes - Misc cleanups and fixes * 'drm-next-4.4' of git://people.freedesktop.org/~agd5f/linux: (42 commits) drm/amdgpu: fix lockup when clean pending fences drm/amdgpu: add timer to fence to detect scheduler lockup drm/amdgpu: add VM CS mapping trace point drm/amdgpu: add option to clear VM page tables after every submit drm/amdgpu: add option to stop on VM fault drm/amdgpu: only print meaningful VM faults drm/amdgpu: also trace already allocated VMIDs drm/amdgpu: Drop unnecessary #include <linux/vga_switcheroo.h> drm/radeon: Drop unnecessary #include <linux/vga_switcheroo.h> drm/amdgpu: clean up pageflip interrupt handling drm/amdgpu: rework sdma structures drm/amdgpu: unpin cursor BOs on suspend and pin them again on resume drm/amdgpu/dce8: Fold set_cursor() into show_cursor() drm/amdgpu/dce8: Clean up reference counting and pinning of the cursor BOs drm/amdgpu/dce8: Move hotspot handling out of set_cursor drm/amdgpu/dce8: Re-show the cursor after a modeset (v2) drm/amdgpu/dce8: Use cursor_set2 hook for enabling / disabling the HW cursor drm/amdgpu/dce11: Fold set_cursor() into show_cursor() drm/amdgpu/dce11: Clean up reference counting and pinning of the cursor BOs drm/amdgpu/dce11: Move hotspot handling out of set_cursor ... commit 11eecf910bd81d36425020743b2df73651c5b466 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Sat Oct 3 14:15:13 2015 +0900 extcon: Modify the id and name of external connector This patch modifies the id and name of external connector with the additional prefix to clarify both attribute and meaning of external connector as following: - EXTCON_CHG_* mean the charger connector. - EXTCON_JACK_* mean the jack connector. - EXTCON_DISP_* mean the display port connector. Following table show the new name of external connector with old name: -------------------------------------------------- Old extcon name | New extcon name | -------------------------------------------------- EXTCON_TA | EXTCON_CHG_USB_DCP | EXTCON_CHARGE_DOWNSTREAM| EXTCON_CHG_USB_CDP | EXTCON_FAST_CHARGER | EXTCON_CHG_USB_FAST | EXTCON_SLOW_CHARGER | EXTCON_CHG_USB_SLOW | -------------------------------------------------- EXTCON_MICROPHONE | EXTCON_JACK_MICROPHONE | EXTCON_HEADPHONE | EXTCON_JACK_HEADPHONE | EXTCON_LINE_IN | EXTCON_JACK_LINE_IN | EXTCON_LINE_OUT | EXTCON_JACK_LINE_OUT | EXTCON_VIDEO_IN | EXTCON_JACK_VIDEO_IN | EXTCON_VIDEO_OUT | EXTCON_JACK_VIDEO_OUT | EXTCON_SPDIF_IN | EXTCON_JACK_SPDIF_IN | EXTCON_SPDIF_OUT | EXTCON_JACK_SPDIF_OUT | -------------------------------------------------- EXTCON_HMDI | EXTCON_DISP_HDMI | EXTCON_MHL | EXTCON_DISP_MHL | EXTCON_DVI | EXTCON_DISP_DVI | EXTCON_VGA | EXTCON_DISP_VGA | -------------------------------------------------- And, when altering the name of USB charger connector, EXTCON refers to the "Battery Charging v1.2 Spec and Adopters Agreement"[1] to use the standard name of USB charging port as following. Following name of USB charging port are already used in power_supply subsystem. We chan check it on patch[2]. - EXTCON_CHG_USB_SDP /* Standard Downstream Port */ - EXTCON_CHG_USB_DCP /* Dedicated Charging Port */ - EXTCON_CHG_USB_CDP /* Charging Downstream Port */ - EXTCON_CHG_USB_ACA /* Accessory Charger Adapter */ [1] www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip [2] commit 85efc8a18ced ("power_supply: Add types for USB chargers") Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> [ckeepax: For the Arizona changes] Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Roger Quadros <rogerq@xxxxxx> commit 0a4807c2f9a4a1afc2163089176abdc7ee4a361a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Oct 14 14:03:07 2015 -0700 clk: Make of_clk_get_parent_name() robust with #clock-cells = 1 If a clock provider has #clock-cells = 1 and we call of_clk_get_parent_name() on it we may end up returning the name of the provider node if the provider doesn't have a clock-output-names property. This doesn't make sense, especially when you consider that calling of_clk_get_parent_name() on such a node with different indices will return the same name each time. Let's try getting the clock from the framework via of_clk_get() instead, and only fallback to the node name if we have a provider with #clock-cells = 0. This way, we can't hand out the same name for different clocks when we don't actually know their names. Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 087a920d4a3e33285f93a0ae7607f71095ffe601 Merge: 2445a9c e79b202 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 15 16:13:50 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: Partially revert "clk: mvebu: Convert to clk_hw based provider APIs" commit 3afbb9afe2c41d552a04f07aa84867e4ba8d5b76 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 13:12:55 2015 -0500 arm: omap2: timer: move realtime_counter_init() around no functional changes, just moving that function closer to its calling location. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c7cb14a58e6dc2a2eba3ed98e484cd8d7544d51d Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 12:15:50 2015 -0500 arm: omap2: timer: provide generic sync32k_timer_init function instead of constantly defining a small wrapper around __omap_sync32k_timer_init(), let's define a generic one which can be used by all OMAPs. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a5f72ebaead454f95b8e6f353684681640b29ee3 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 11:44:47 2015 -0500 arm: omap2: timer: remove __omap_gptimer_init() __omap_sync32k_timer_init(), now takes the clock source as a parameter. This means we no longer need __omap_gptimer_init(). Note that __omap_sync32k_timer_init() will be renamed in a follow-up patch as it's not longer 32k source specific. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f5409092d4dbb4aaeee18e16143adf63c7506dc5 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 11:38:48 2015 -0500 arm: omap2: timer: add a gptimer argument to sync32k_timer_init() as it turns out, __omap_gptimer_init() and __omap_sync32k_timer_init() are essentially the same thing, but __omap_gptimer_init() wants to always use gptimer. Instead of forcing all those devices to pass a use_gptimer cmdline argument, we add a new function argument to __omap_sync32k_timer_init() in preparation to deleting __omap_gptimer_init(). On a follow-up patch, we will remove uses of __omap_gptimer_init() and replace them with __omap_sync32k_timer_init() and pass the last argument as true. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit be0ac4c374b50c9756e330104c2024263c86de49 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 29 11:34:39 2015 -0500 arm: omap2: timer: get rid of obfuscating macros those macros just make it a lot more difficult to grep around and actually find similarities. In this patch, we will simply remove them and replace with actual functions and later commits will come to further clean this up. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0328d816deba1da154be23982ac7979ff3934302 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 28 13:25:44 2015 -0500 arm: omap2: timer: always define omap4_local_timer_init omap4_local_timer_init() can be used by other platforms as is. At least AM437x wants to use it. Instead of making omap4-only and providing a stub for builds without OMAP4, we can just make sure that function is always available for all SoCs that need it. Reported-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ee04242becb3623a8b9e7fbda1fb9c4c0e959c82 Merge: 3b2c056 00a9e05 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 23:09:17 2015 +0200 Merge tag 'qcom-arm64-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm into next/dt Pull "Qualcomm ARM64 Updates for v4.4" from Andy Gross: * Add RNG device tree node * Add MSM8x16 serial UART1 node * Enable eMMC on apq8016-sbc board * Fix I2C pinconf sleep state function * Add MSM8916 I2C nodes * Enable I2C busses on LS and HS on APQ8016-sbc * Enable SPI busses on LS and HS on APQ8016-sbc * tag 'qcom-arm64-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm: arm64: dts: apq8016-sbc: enable spi buses on LS and HS arm64: dts: apq8016-sbc: enable i2c buses on LS and HS arm64: dts: qcom: Add msm8916 I2C nodes. arm64: dts: fix i2c pinconf sleep state function arm64: dts: qcom: Enable eMMC on apq8016-sbc board arm64: dts: qcom: Add 8x16 Serial UART1 node arm64: dts: qcom: Add RNG device tree node commit 73ebb85444b0472d90bb70a1a9e6b5df3f92c14c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 13 17:05:39 2015 +0200 soc: qcom/smem: add HWSPINLOCK dependency This fixes a build error when smem is enabled without hwspinlock: drivers/built-in.o: In function `qcom_smem_alloc': rockchip-efuse.c:(.text+0x7a3e4): undefined reference to `__hwspin_lock_timeout' rockchip-efuse.c:(.text+0x7a568): undefined reference to `__hwspin_unlock' drivers/built-in.o: In function `qcom_smem_remove': rockchip-efuse.c:(.text+0x7a5cc): undefined reference to `hwspin_lock_free' drivers/built-in.o: In function `qcom_smem_probe': rockchip-efuse.c:(.text+0x7a960): undefined reference to `hwspin_lock_request_specific' rockchip-efuse.c:(.text+0x7a988): undefined reference to `of_hwspin_lock_get_id' drivers/built-in.o: In function `qcom_smem_get': rockchip-efuse.c:(.text+0x7aa24): undefined reference to `__hwspin_lock_timeout' rockchip-efuse.c:(.text+0x7aafc): undefined reference to `__hwspin_unlock' Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit ead67421a981961aa2f7dd98d9187185dd782389 Merge: 41e602e d0bfd7c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 23:03:24 2015 +0200 Merge tag 'qcom-soc-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm into next/drivers Pull "Qualcomm ARM Based SoC Updates for 4.4" from Andy Gross: * Implement id_table driver matching in SMD * Avoid NULL pointer exception on remove of SMEM * Reorder SMEM/SMD configs * Make qcom_smem_get() return a pointer * Handle big endian CPUs correctly in SMEM * Represent SMD channel layout in structures * Use __iowrite32_copy() in SMD * Remove use of VLAIs in SMD * Handle big endian CPUs correctly in SMD/RPM * Handle big endian CPUs corretly in SMD * Reject sending SMD packets that are too large * Fix endianness issue in SCM __qcom_scm_is_call_available * Add missing prototype for qcom_scm_is_available() * Correct SMEM items for upper channels * Use architecture level to build SCM correctly * Delete unneeded of_node_put in SMD * Correct active/slep state flagging in SMD/RPM * Move RPM message ram out of SMEM DT node * tag 'qcom-soc-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm: soc: qcom: smem: Move RPM message ram out of smem DT node soc: qcom: smd-rpm: Correct the active vs sleep state flagging soc: qcom: smd: delete unneeded of_node_put firmware: qcom-scm: build for correct architecture level soc: qcom: smd: Correct SMEM items for upper channels qcom-scm: add missing prototype for qcom_scm_is_available() qcom-scm: fix endianess issue in __qcom_scm_is_call_available soc: qcom: smd: Reject send of too big packets soc: qcom: smd: Handle big endian CPUs soc: qcom: smd_rpm: Handle big endian CPUs soc: qcom: smd: Remove use of VLAIS soc: qcom: smd: Use __iowrite32_copy() instead of open-coding it soc: qcom: smd: Represent channel layout in structures soc: qcom: smem: Handle big endian CPUs soc: qcom: Make qcom_smem_get() return a pointer soc: qcom: Reorder SMEM/SMD configs soc: qcom: smem: Avoid NULL pointer exception on remove soc: qcom: smd: Implement id_table driver matching commit e4b7037c8613da41fb3f7b029414fe25370f53c0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 17:00:43 2015 -0400 cgroup: drop cgroup__DEVEL__legacy_files_on_dfl Now that interfaces for the major three controllers - cpu, memory, io - are shaping up, there's no reason to have an option to force legacy files to show up on the unified hierarchy for testing. Drop it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 035f4f510583193949168c77dc957293df24bd77 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 17:00:43 2015 -0400 cgroup: replace error handling in cgroup_init() with WARN_ON()s The init sequence shouldn't fail short of bugs and even when it does it's better to continue with the rest of initialization and we were silently ignoring /proc/cgroups creation failure. Drop the explicit error handling and wrap sysfs_create_mount_point(), register_filesystem() and proc_create() with WARN_ON()s. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 5462b10af11d0b334fe37883998e0f38b14127bb Merge: 8207e2e a7b3d5a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:55:53 2015 +0200 Merge tag 'berlin-soc-for-4.4-2' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc Merge "Marvell Berlin SoC for 4.4 take 2" from Sebastian Hesselbarth: - use the non-self-clearing reset register - add cpu hotplug support * tag 'berlin-soc-for-4.4-2' of git://git.infradead.org/users/hesselba/linux-berlin: arm: berlin: add CPU hotplug support arm: berlin: use non-self-cleared reset register to reset cpu commit afcf6c8b75444382e0f9996157207ebae34a8848 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:53 2015 -0400 cgroup: add cgroup_subsys->free() method and use it to fix pids controller pids controller is completely broken in that it uncharges when a task exits allowing zombies to escape resource control. With the recent updates, cgroup core now maintains cgroup association till task free and pids controller can be fixed by uncharging on free instead of exit. This patch adds cgroup_subsys->free() method and update pids controller to use it instead of ->exit() for uncharging. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Aleksa Sarai <cyphar@xxxxxxxxxx> commit 2e91fa7f6d451e3ea9fec999065d2fd199691f9d Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:53 2015 -0400 cgroup: keep zombies associated with their original cgroups cgroup_exit() is called when a task exits and disassociates the exiting task from its cgroups and half-attach it to the root cgroup. This is unnecessary and undesirable. No controller actually needs an exiting task to be disassociated with non-root cgroups. Both cpu and perf_event controllers update the association to the root cgroup from their exit callbacks just to keep consistent with the cgroup core behavior. Also, this disassociation makes it difficult to track resources held by zombies or determine where the zombies came from. Currently, pids controller is completely broken as it uncharges on exit and zombies always escape the resource restriction. With cgroup association being reset on exit, fixing it is pretty painful. There's no reason to reset cgroup membership on exit. The zombie can be removed from its css_set so that it doesn't show up on "cgroup.procs" and thus can't be migrated or interfere with cgroup removal. It can still pin and point to the css_set so that its cgroup membership is maintained. This patch makes cgroup core keep zombies associated with their cgroups at the time of exit. * Previous patches decoupled populated_cnt tracking from css_set lifetime, so a dying task can be simply unlinked from its css_set while pinning and pointing to the css_set. This keeps css_set association from task side alive while hiding it from "cgroup.procs" and populated_cnt tracking. The css_set reference is dropped when the task_struct is freed. * ->exit() callback no longer needs the css arguments as the associated css never changes once PF_EXITING is set. Removed. * cpu and perf_events controllers no longer need ->exit() callbacks. There's no reason to explicitly switch away on exit. The final schedule out is enough. The callbacks are removed. * On traditional hierarchies, nothing changes. "/proc/PID/cgroup" still reports "/" for all zombies. On the default hierarchy, "/proc/PID/cgroup" keeps reporting the cgroup that the task belonged to at the time of exit. If the cgroup gets removed before the task is reaped, " (deleted)" is appended. v2: Build brekage due to missing dummy cgroup_free() when !CONFIG_CGROUP fixed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f0d9a5f175753a371bc7fdff0d584a8d9cd72bb0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:53 2015 -0400 cgroup: make css_set_rwsem a spinlock and rename it to css_set_lock css_set_rwsem is the inner lock protecting css_sets and is accessed from hot paths such as fork and exit. Internally, it has no reason to be a rwsem or even mutex. There are no internal blocking operations while holding it. This was rwsem because css task iteration used to expose it to external iterator users. As the previous patch updated css task iteration such that the locking is not leaked to its users, there's no reason to keep it a rwsem. This patch converts css_set_rwsem to a spinlock and rename it to css_set_lock. It uses bh-safe operations as a planned usage needs to access it from RCU callback context. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ed27b9f7a17ddfbc007e16d4d11f33dff4fc2de7 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:52 2015 -0400 cgroup: don't hold css_set_rwsem across css task iteration css_sets are synchronized through css_set_rwsem but the locking scheme is kinda bizarre. The hot paths - fork and exit - have to write lock the rwsem making the rw part pointless; furthermore, many readers already hold cgroup_mutex. One of the readers is css task iteration. It read locks the rwsem over the entire duration of iteration. This leads to silly locking behavior. When cpuset tries to migrate processes of a cgroup to a different NUMA node, css_set_rwsem is held across the entire migration attempt which can take a long time locking out forking, exiting and other cgroup operations. This patch updates css task iteration so that it locks css_set_rwsem only while the iterator is being advanced. css task iteration involves two levels - css_set and task iteration. As css_sets in use are practically immutable, simply pinning the current one is enough for resuming iteration afterwards. Task iteration is tricky as tasks may leave their css_set while iteration is in progress. This is solved by keeping track of active iterators and advancing them if their next task leaves its css_set. v2: put_task_struct() in css_task_iter_next() moved outside css_set_rwsem. A later patch will add cgroup operations to task_struct free path which may grab the same lock and this avoids deadlock possibilities. css_set_move_task() updated to use list_for_each_entry_safe() when walking task_iters and advancing them. This is necessary as advancing an iter may remove it from the list. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ecb9d535df967b3ca565535e14456f612373bf5e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:52 2015 -0400 cgroup: reorganize css_task_iter functions * Rename css_advance_task_iter() to css_task_iter_advance_css_set() and make it clear it->task_pos too at the end of the iteration. * Factor out css_task_iter_advance() from css_task_iter_next(). The new function whines if called on a terminated iterator. Except for the termination check, this is pure reorganization and doesn't introduce any behavior changes. This will help the planned locking update for css_task_iter. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f6d7d049c17a29fbc4c2723899a242d6889554aa Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:52 2015 -0400 cgroup: factor out css_set_move_task() A task is associated and disassociated with its css_set in three places - during migration, after a new task is created and when a task exits. The first is handled by cgroup_task_migrate() and the latter two are open-coded. These are similar operations and spreading them over multiple places makes it harder to follow and update. This patch collects all task css_set [dis]association operations into css_set_move_task(). While css_set_move_task() may check whether populated state needs to be updated when not strictly necessary, the behavior is essentially equivalent before and after this patch. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 389b9c1bc927c8194a49f5f0c7e069ed0ec79b9e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:51 2015 -0400 cgroup: keep css_set and task lists in chronological order css task iteration will be updated to not leak cgroup internal locking to iterator users. In preparation, update css_set and task lists to be in chronological order. For tasks, as migration path is already using list_splice_tail_init(), only cgroup_enable_task_cg_lists() and cgroup_post_fork() need updating. For css_sets, link_css_set() is the only place which needs to be updated. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 91486f61f486662c27ef86dd910f875832e3a5de Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:51 2015 -0400 cgroup: make cgroup_destroy_locked() test cgroup_is_populated() cgroup_destroy_locked() currently tests whether any css_sets are associated to reject removal if the cgroup contains tasks. This works because a css_set's refcnt converges with the number of tasks linked to it and thus there's no css_set linked to a cgroup if it doesn't have any live tasks. To help tracking resource usage of zombie tasks, putting the ref of css_set will be separated from disassociating the task from the css_set which means that a cgroup may have css_sets linked to it even when it doesn't have any live tasks. This patch updates cgroup_destroy_locked() so that it tests cgroup_is_populated(), which counts the number of populated css_sets, instead of whether cgrp->cset_links is empty to determine whether the cgroup is populated or not. This ensures that rmdirs won't be incorrectly rejected for cgroups which only contain zombie tasks. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 2ceb231b0ab0e3d700c5f7c839273bfeecbefe3b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:51 2015 -0400 cgroup: make css_sets pin the associated cgroups Currently, css_sets don't pin the associated cgroups. This is okay as a cgroup with css_sets associated are not allowed to be removed; however, to help resource tracking for zombie tasks, this is scheduled to change such that a cgroup can be removed even when it has css_sets associated as long as none of them are populated. To ensure that a cgroup doesn't go away while css_sets are still associated with it, make each associated css_set hold a reference on the cgroup if non-root. v2: Root cgroups are special and shouldn't be ref'd by css_sets. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 052c3f3a0b03651d94050d917ebc1df46a31c2f0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:50 2015 -0400 cgroup: relocate cgroup_[try]get/put() Relocate cgroup_get(), cgroup_tryget() and cgroup_put() upwards. This is pure code reorganization to prepare for future changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ad2ed2b35b76f01a876230a3a632efbc81d3fcd6 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:50 2015 -0400 cgroup: move check_for_release() invocation To trigger release agent when the last task leaves the cgroup, check_for_release() is called from put_css_set_locked(); however, css_set being unlinked is being decoupled from task leaving the cgroup and the correct condition to test is cgroup->nr_populated dropping to zero which check_for_release() is already updated to test. This patch moves check_for_release() invocation from put_css_set_locked() to cgroup_update_populated(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 27bd4dbb8d51c476298e62bd088225317b7853de Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:50 2015 -0400 cgroup: replace cgroup_has_tasks() with cgroup_is_populated() Currently, cgroup_has_tasks() tests whether the target cgroup has any css_set linked to it. This works because a css_set's refcnt converges with the number of tasks linked to it and thus there's no css_set linked to a cgroup if it doesn't have any live tasks. To help tracking resource usage of zombie tasks, putting the ref of css_set will be separated from disassociating the task from the css_set which means that a cgroup may have css_sets linked to it even when it doesn't have any live tasks. This patch replaces cgroup_has_tasks() with cgroup_is_populated() which tests cgroup->nr_populated instead which locally counts the number of populated css_sets. Unlike cgroup_has_tasks(), cgroup_is_populated() is recursive - if any of the descendants is populated, the cgroup is populated too. While this changes the meaning of the test, all the existing users are okay with the change. While at it, replace the open-coded ->populated_cnt test in cgroup_events_show() with cgroup_is_populated(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> commit 0de0942db2b36dd91c088a7950398d2e87f23b23 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:49 2015 -0400 cgroup: make cgroup->nr_populated count the number of populated css_sets Currently, cgroup->nr_populated counts whether the cgroup has any css_sets linked to it and the number of children which has non-zero ->nr_populated. This works because a css_set's refcnt converges with the number of tasks linked to it and thus there's no css_set linked to a cgroup if it doesn't have any live tasks. To help tracking resource usage of zombie tasks, putting the ref of css_set will be separated from disassociating the task from the css_set which means that a cgroup may have css_sets linked to it even when it doesn't have any live tasks. This patch updates cgroup->nr_populated so that for the cgroup itself it counts the number of css_sets which have tasks associated with them so that empty css_sets don't skew the populated test. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b309e5b743a999cdb34a3989d1800c608e656c2b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Oct 15 16:41:49 2015 -0400 cgroup: remove an unused parameter from cgroup_task_migrate() cgroup_task_migrate() no longer uses @old_cgrp. Remove it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 41e602e8af1300471e79e298a7276226344071db Merge: 7a0205b 515f1a2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:41:04 2015 +0200 Merge tag 'berlin-new-cpuclk-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/drivers Merge "Marvell Berlin BG2Q CPU clock driver" from Sebastian Hesselbarth: - add BG2Q CPU clock to clk driver * tag 'berlin-new-cpuclk-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: clk: berlin: add cpuclk ARM: berlin: dts: add CLKID_CPU for BG2Q commit fb40c67769100dd2b95d52f447ba0bc19387ca60 Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Thu Oct 15 18:22:15 2015 +0200 ARM: configs: Enable FIXED_PHY in multi_v7 defconfig CONFIG_FIXED_PHY is needed to have Ethernet working on STi boards. Select it as built-in since RootFS is accessible from NFS on these boards. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 3b2c05644bbf9dfcc7ebf848435fba0acd0b5075 Merge: 020effe dfacaf0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:38:10 2015 +0200 Merge tag 'juno-scpi-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into next/dt Merge "SCPI support on ARM64 Juno Development Platform" from Sudeep Holla: 1. SRAM, MHU mailbox and SCPI support 2. CPU topology using cpu-map 3. Clock support for all the cpus 4. Support for SoC sensors * tag 'juno-scpi-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: arm64: dts: Add sensor node to Juno dt arm64: dts: add clock support for all the cpus arm64: dts: add CPU topology on Juno arm64: dts: add SRAM, MHU mailbox and SCPI support on Juno commit 020effe8cb0b2643bdcbfebc547f6e52f924f908 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue Oct 13 14:28:04 2015 +0300 ARM: digicolor: dts: add uart pin configuration Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2d5958e360aefc904c1c49850c92397dc865c7f2 Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue Oct 13 14:28:03 2015 +0300 ARM: digicolor: add pinctrl module device node Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 82f8817470eb77d91342940ace15f0f6cc77b6f6 Merge: 2dc71a6 9d45708 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:35:46 2015 +0200 Merge tag 'keystone-dts-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt Merge "ARM Keystone DTS part2 for 4.4" from Santosh Shilimkar: - Typo fix the soc binding documentation - NETCP Accumulator nodes * tag 'keystone-dts-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: dts: keystone: enable accumulator channels Documentation: dt: keystone: Fix up missing quotes commit 2dc71a68d28a04a1149d4b90bba628ff660a8953 Merge: 5d984ee be14641 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:32:53 2015 +0200 Merge tag 'omap-for-v4.4/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "Device tree changes for omaps for v4.4 merge window:" from Tony Lindgren: - DCAN sleep pins for am437x-gp-evm - A series of changes to add audio support for dra7 - Add support for gpio keys and LEDs on dra7 - Regulator clean-up for am335x-wega - A series of changes to enable IOMMUs and mailboxes for dra7 accelerators - Add support for am335x-bonegreen - Fix up GPIO flags where 0 was used instead of GPIO_ACTIVE_HIGH - Fix omap3-lilly-am33x IRQ level flag - Remove duplicate uart2 pinmux for igep and fix indentation and update igep to use pinctrl macros for the register offsets - Fix MMC cd-gpios usage Note that this branch is against v4.3-rc4 as that contains critical MMC related fixes to boot with MMC working on most omaps. * tag 'omap-for-v4.4/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (33 commits) ARM: dts: omap3-igep: Use OMAP3_CORE1_IOPAD pinmux macro ARM: dts: dra7xx: am57xx: fix cd-gpios definition as per hardware design and dt binding docs ARM: dts: am43xx: fix cd-gpios definition as per hardware design and dt binding docs ARM: dts: am335x: fix cd-gpios definition as per hardware design and dt binding docs ARM: dts: omap3-igep0020: Remove duplicate uart2 pinmux ARM: dts: omap3-igep: Fix indentation ARM: dts: omap3-lilly-a83x: Don't use IRQ level flag for a GPIO ARM: dts: DRA74x: Add IOMMU nodes for DSP2 ARM: dts: DRA7: Add common IOMMU nodes ARM: dts: DRA74x: Add dsp2_system syscon node ARM: dts: DRA7: Add dsp1_system syscon node ARM: dts: Use defined GPIO constants in flags cell for OMAP2+ boards ARM: dts: Add am335x-bonegreen ARM: dts: beagle-x15: Enable the system mailboxes 5 and 6 ARM: dts: dra72-evm: Enable the system mailboxes 5 and 6 ARM: dts: dra7-evm: Enable the system mailboxes 5 and 6 ARM: dts: DRA72x: Add IPC sub-mailbox nodes for IPU1, IPU2 & DSP1 ARM: dts: DRA74x: Add IPC sub-mailbox nodes for all IPUs & DSPs ARM: dts: am335x-wega: Clean up regulators ARM: dts: dra7-evm: add gpio key support ... commit 8207e2edbdb5f2b14b653229570a4539a03d906b Author: Baruch Siach <baruch@xxxxxxxxxx> Date: Tue Oct 13 14:28:02 2015 +0300 ARM: digicolor: select pinctrl/gpio driver Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 7a0205bc1895132d6a56fbbadf01885c4a4f0743 Merge: c049adc 961a86d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:26:03 2015 +0200 Merge tag 'drivers_pl172_for_4.4' of https://github.com/manabian/linux-lpc into next/drivers Merge "PL172 driver updates for v4.4" from Joachim Eastwood: Support for additional ARM MPMCs to the PL172 driver and an update to the bindings documentation to reflect this from Vladimir Zapolskiy. "The change adds support of ARM PrimeCell PL175 MPMC and PL176 MPMC, the static memory controllers on devices are similar to one found on ARM PrimeCell PL172, add support to the existing driver." * tag 'drivers_pl172_for_4.4' of https://github.com/manabian/linux-lpc: doc: dt: arm,pl172: add description of PL175 and PL176 controllers memory: pl172: add ARM PrimeCell PL176 MPMC support memory: pl172: add ARM PrimeCell PL175 MPMC support memory: pl172: correct MPMC peripheral ID register bits commit 04004d4d9ad6caa6eb65767a04afabc0644eadd8 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sun Oct 11 22:40:41 2015 +0200 ARM: configs: update lpc18xx defconfig - Enable SPIFI Flash and JFFS2 to support rootfs on Flash memory - Enable USB Phy, mass storage and SCSI to support USB memory - Enable PCF857x and JC42 I2C devices found on Hitex board - Enable PL172 to support memory mapped NOR Flash - New LPC18xx drivers: I2C, Watchdog, SCT PWM and RTC Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 19c1c32c66514fabeffa029507cdd808b3ee854c Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sun Oct 11 22:40:42 2015 +0200 MAINTAINERS: update lpc18xx entry with more drivers Add explicit entries for drivers used by the lpc18xx that is not caught by the "lpc18xx" regex pattern. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit cfd96d3e74f72fff552fd996634bdf3497a8acc9 Merge: d72b712 0450169 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:22:26 2015 +0200 Merge tag 'keystone-driver-soc_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/soc Merge "ARM Keystone SOC driver updates for 4.4" from Santosh Shilimkar: Documentation and support to be able to load the PDSP firmware necessary for accumulator operation. * tag 'keystone-driver-soc_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: soc: ti: qmss: make acc queue support optional in the driver soc: ti: add firmware file name as part of the driver Documentation: dt: soc: Add description for knav qmss driver commit 275058a2188903786e42b380ea5889ef0a7cdf95 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Oct 15 16:20:11 2015 -0400 NFS: Fix an 'unused variable' complaint when #ifndef CONFIG_NFS_V4_2 Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 95fb6144bb2222b4c0189e76c1aae006b0a02bff Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 15 21:25:15 2015 +0300 iommu/vt-d: shift wrapping bug in prq_event_thread() The "req->addr" variable is a bit field declared as "u64 addr:52;". The "address" variable is a u64. We need to cast "req->addr" to a u64 before the shift or the result is truncated to 52 bits. Fixes: a222a7f0bb6c ('iommu/vt-d: Implement page request handling') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 26322ab55aa90717c7e4bdbd8cf60a70854636f5 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Thu Oct 15 21:12:56 2015 +0100 iommu/vt-d: Fix NULL pointer dereference in page request error case Dan Carpenter pointed out an error path which could lead to us dereferencing the 'svm' pointer after we know it to be NULL because the PASID lookup failed. Fix that, and make it less likely to happen again. Fixes: a222a7f0bb6c ('iommu/vt-d: Implement page request handling') Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit d72b712824ef906f548210b0012ff7c2a041ef7e Merge: aebd774d c4a8ea9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:09:07 2015 +0200 Merge tag 'arm-soc/for-4.4/soc' of http://github.com/Broadcom/stblinux into next/soc Merge "Broadcom soc changes for v4.4 (try 2)" from Florian Fainelli: This pull request contains the following Broadcom SoC platform and driver changes: - Brian Norris create a drivers/soc/brcmstb/ stub as a place holder for SoC-specific code which is coming next - Florian Fainelli adds support for configuring the BCM7xxx SoCs Bus Interface Unit with their specific write-pairing setting, which must be saved and restored during system-wide suspend/resume, and consequently updates the brcmstb machine code to initialize the BIU - Jon Mason adds support for the Northstar Plus SoCs by introducing a custom machine descriptor matching their compatible string and setting up the PL310 L2 cache and enabling the relevant ARM errata for their Cortex-A9 * tag 'arm-soc/for-4.4/soc' of http://github.com/Broadcom/stblinux: ARM: brcmstb: Setup BIU control registers during boot soc: brcmstb: Add Bus Interface Unit control setup soc: add stubs for brcmstb SoC's ARM: NSP: Add basic support for Broadcom Northstar Plus SoC commit a340abcf4173461f688292a6879b4d5bc781c2b1 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:39 2015 +0800 nfs42: add NFS_IOC_CLONE_RANGE ioctl It follows btrfs BTRFS_IOC_CLONE_RANGE lead on ioctl number and arguments. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 811b7b85d6641df580a6c43184cf13d6fcc7498d Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:38 2015 +0800 nfs42: respect clone_blksize draft-ietf-nfsv4-minorversion2-38.txt says: Both cl_src_offset and cl_dst_offset must be aligned to the clone block size Section 12.2.1. The number of bytes to be cloned must be a multiple of the clone block size, except in the case in which cl_src_offset plus the number of bytes to be cloned is equal to the source file size. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2a92ee92d4545448066fb664674c0ae5a9d5ea99 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:37 2015 +0800 nfs: get clone_blksize when probing fsinfo NFSv42 CLONE operation is supposed to respect it. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit bea51b30b281039f0f43fb4f42028ddf33fb601f Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:36 2015 +0800 nfs42: add NFS_IOC_CLONE ioctl It can be called by user space to CLONE two files. Follow btrfs lead and define NFS_IOC_CLONE same as BTRFS_IOC_CLONE. Thus we don't mess up userspace with too many ioctls. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e5341f3a5762d17be9cdd06257c02c0098bdcab8 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:35 2015 +0800 nfs42: add CLONE proc functions Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 36022770de6cf9a403c40a68712ed2d2ea2746be Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Sat Sep 26 02:24:34 2015 +0800 nfs42: add CLONE xdr functions xdr definitions per draft-ietf-nfsv4-minorversion2-38.txt Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit aebd774de939c853122829c29c4cfe79f8b440ac Merge: dc7a499 e1a3e72 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:06:45 2015 +0200 Merge tag 'berlin-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc Merge "Marvell SoC for 4.4 take 1" from Sebastian Hesselbarth: - register cpufreq-dt device * tag 'berlin-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: ARM: berlin: register cpufreq-dt commit dc7a4996741249209d3b0fc200545de877e1fe37 Merge: 19f4705 c582fbf Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:04:18 2015 +0200 Merge tag 'berlin64-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc Merge "Marvell Berlin ARM64 SoC for 4.4 take 1" from Sebastian Hesselbarth: - enable ARCH_REQUIRE_GPIOLIB for DW GPIO driver * tag 'berlin64-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: arm64: berlin: enable ARCH_REQUIRE_GPIOLIB commit 19f47051e59d1366912705b367ceca26cdbe3428 Merge: 55fa3ee d492ccc Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:03:35 2015 +0200 Merge tag 'mvebu-soc-4.4-1' of git://git.infradead.org/linux-mvebu into next/soc Merge "mvebu soc for 4.4 (part 1)" from Gregory CLEMENT: L2 caches optimization for Armada XP * tag 'mvebu-soc-4.4-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add support to clear shared L2 bit on Armada XP commit 5f1e3c910013254221ad4bcf8d6bfcb84a1a05e5 Merge: f88839d d42f265 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 22:00:27 2015 +0200 Merge tag 'omap-for-v4.4/cleanup-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Merge "Clean-up for omaps for v4.4 merge window" from Tony Lindgren: - Remove legacy omap3 ISP code as the driver is DT only - Remove VoiceBlue board support as it's been unused over 10 years now - Remove unused polarity control macros for TWL - Remove two unneeded semicolons - Remove unused core dpll code for reprogramming the rates Note that this branch is against v4.3-rc4 as that contains critical MMC related fixes to boot with MMC working on most omaps. * tag 'omap-for-v4.4/cleanup-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP3: clock: remove un-used core dpll re-program code ARM: OMAP2+: Remove unneeded semicolons ARM: OMAP3: vc: Remove unused macros ARM: OMAP1: Remove board support for VoiceBlue board ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation commit f88839ddbe68ed28471ac0b0ec2c338ffa3f970f Merge: 064ca93 7ee20ff Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 21:54:05 2015 +0200 Merge tag 'mvebu-cleanup-4.4-1' of git://git.infradead.org/linux-mvebu into next/cleanup Merge "mvebu cleanup for 4.4 (part 1)" from Gregory CLEMENT: use the CR_C define instead of a literal value * tag 'mvebu-cleanup-4.4-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Use a CR_C constant instead of a hard-coded one commit 0dfc70c33409afc232ef0b9ec210535dfbf9bc61 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Thu Oct 15 13:38:48 2015 -0600 NVMe: Fix memory leak on retried commands Resources are reallocated for requeued commands, so unmap and release the iod for the failed command. It's a pretty bad memory leak and causes a kernel hang if you remove a drive because of a busy dma pool. You'll get messages spewing like this: nvme 0000:xx:xx.x: dma_pool_destroy prp list 256, ffff880420dec000 busy and lock up pci and the driver since removal never completes while holding a lock. Cc: stable@xxxxxxxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # 4.0.x- Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit a7b3d5a715f489ee542e59d722281c9f16da50dc Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Sep 14 14:47:45 2015 +0800 arm: berlin: add CPU hotplug support Add cpu hotplug support for berlin SoCs such as BG2 and BG2Q. These SoC don't support power off cpu independently, but we also want cpu hotplug support in these SoCs. We achieve this goal by putting the dying CPU in WFI state after the coherency is disabled, then asserting the dying CPU reset bit to put the CPU in reset state. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit ac7fc233b2c337880d7d973be19f6fb03108d6f7 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Sep 14 14:47:44 2015 +0800 arm: berlin: use non-self-cleared reset register to reset cpu In Berlin SoCs, there are two kinds of cpu reset control registers: the first one's corresponding bits will be self-cleared after some cycles, while the second one's bits won't. Previously the first kind of reset control register is used, this patch uses the second kind one to prepare for the next hotplug commit. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 515f1a2027006839c08c842da919abfcc3c7ae2a Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 15 20:55:55 2015 +0200 clk: berlin: add cpuclk Add cpuclk in the Berlin BG2Q clock driver. This clk has a divider fixed to 1. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 5d984ee707a6774aa0f28722a99fdeac85e47f2c Merge: d819e7a 28c039e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 20:50:02 2015 +0200 Merge tag 'berlin-dt-cpuclk-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt Pull "Marvell Berlin DT CPU clock for 4.4" from Sebastian Hesselbarth: - add missing CLKID_CPU for Berlin BG2Q * tag 'berlin-dt-cpuclk-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: ARM: berlin: dts: add CLKID_CPU for BG2Q commit 0f0ebb13493f1133aa9fbea44783f0e5380a9770 Merge: 6ff33f3 28c039e Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Thu Oct 15 20:49:33 2015 +0200 Merge tag 'berlin-dt-cpuclk-for-4.4-1' into berlin/cpuclk Marvell Berlin DT CPU clock for 4.4 - add missing CLKID_CPU for Berlin BG2Q commit 28c039eebaaa28def9364b9a12a30192be8b4730 Author: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Date: Thu Oct 15 20:28:46 2015 +0200 ARM: berlin: dts: add CLKID_CPU for BG2Q Marvell Berlin BG2Q SoC also has a clock for the CPU, add a corresponding CLKID to the dt-binding include. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit a86760664f4cf44c0981ac0c91777eed3a2970e4 Author: Romain Bezut <rbezut@xxxxxxxxx> Date: Thu Sep 24 01:31:16 2015 +0200 PCI/MSI: Export all remapped MSIs to sysfs attributes irqbalance uses sysfs attributes to populate its internal database, which is then used to bind the IRQ to the appropriate NUMA node. On a device accepting multiple MSIs and with interrupt remapping enabled, only the first IRQ entry is exported in the "msi_irqs" directory. This results in irqbalance having no clue of the NUMA affinity for the extra IRQs, so it can't bind them to the correct node. Export all MSI interrupts as sysfs attributes when relevant. [bhelgaas: changelog] Signed-off-by: Romain Bezut <rbezut@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c562657a75282afb00498ea82949ba7a9944ed15 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 15 17:04:04 2015 +0300 drm/i915: Kill the leftover RMW from ivb_sprite_disable() We still had one lingering RMW in ivb_sprite_disable(), all the other RMWs were killed off from the sprite code some time ago. Kill the straggler too. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 17b38fb89055bf5df402980c9546a8b046552f2b Author: Doron Tsur <doront@xxxxxxxxxxxx> Date: Thu Oct 15 15:01:02 2015 +0300 IB/core: Fix memory corruption in ib_cache_gid_set_default_gid When ib_cache_gid_set_default_gid is called from several threads, updating the table could make find_gid fail, therefore a negative index will be retruned and an invalid table entry will be used. Locking find_gid as well fixes this problem. Fixes: 03db3a2d81e6 ('IB/core: Add RoCE GID table management') Signed-off-by: Doron Tsur <doront@xxxxxxxxxxxx> Signed-off-by: Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 26ba9cd48fc0c2ff741de913270e9469506f3666 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Sep 24 17:52:52 2015 -0700 gpio: pl061: assign the apropriate handler for irqs The PL061 can handle level IRQs and edge IRQs, however it is just utilizing handle_simple_irq() for all IRQs. Inspired by Stefan Agners patch to vf610, this assigns the right handler depending on what type is set up, and after this handle_bad_irq() is only used as default and if the type is not specified, as is done in the OMAP driver: defining the IRQ type is really not optional for this driver. The interrupt handler was just writing the interrupt clearing register for all lines that were high when entering the handling loop, this is wrong: that register is only supposed to be written (on a per-line basis) for edge IRQs, so this ACK was moved to the .irq_ack() callback as is proper. Tested with PL061 on the ARM RealView PB11MPCore and the MMC/SC card detect GPIO. Cc: Jonas Gorski <jogo@xxxxxxxxxxx> Cc: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit eb351031a15c4a83b9955aadad783c6672ab8868 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 16:46:52 2015 +0800 ahci: qoriq: Fix a compiling warning kbuild test robot reports the warnings: drivers/ata/ahci_qoriq.c: In function 'ahci_qoriq_hardreset': >> include/asm-generic/io.h:163:2: warning: 'px_is' may be used >> uninitialized in this function [-Wuninitialized] drivers/ata/ahci_qoriq.c:70:14: note: 'px_is' was declared here >> include/asm-generic/io.h:163:2: warning: 'px_cmd' may be used >> uninitialized in this function [-Wuninitialized] drivers/ata/ahci_qoriq.c:70:6: note: 'px_cmd' was declared here This patch fixed it by introducing a local variable. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 4f1d841475e1f6e9e32496dda11215db56f4ea73 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Oct 9 17:51:47 2015 +0200 ARM: tegra: Comment out gpio-ranges properties While the addition of these properties is technically correct it unveils a bug with deferred probe. The problem is that the presence of the gpio- range property causes the gpio-tegra driver to defer probe (it needs the pinctrl driver to be ready). That's technically correct, but it causes a couple of issues: - The keyboard on Chromebooks stops working. The reason for that is that the gpio-tegra device has not registered an IRQ domain by the time the EC SPI device is registered, hence the interrupt number resolves to 0. This is technically a bug in the SPI core, since it should really resolve the interrupt at probe time and defer if the IRQ domain isn't available yet. This is similar to what's done for I2C and platform device already. - The gpio-tegra device deferring probe means that it is moved to the end of the dpm_list. This list defines the suspend/resume order for devices. However the core lacks a way to move all users of the gpio-tegra device to the end of the dpm_list at the same time. This in turn results in a subtle bug on Jetson TK1, where the gpio-keys device is used to expose the power key as input. The power key is a convenient way to wake the system from suspend. Interestingly, the gpio-keys device ends up getting probed at a point after gpio-tegra has been probed successfully from having been deferred earlier. As such the driver doesn't need to defer the probe itself, and hence the device isn't moved to the end of the dpm_list. This causes the gpio-tegra device to be suspended before gpio-keys, which in turn leaves gpio-keys unable to wake the system from suspend. There are patches in the works to fix both of the above issues, but they are too involved to make it into v4.3, so in the meantime let's fix the regressions by commenting out the gpio-ranges properties until the fixes have landed. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit b02176f30cd30acccd3b633ab7d9aed8b5da52ff Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 8 12:20:22 2015 -0400 block: don't release bdi while request_queue has live references bdi's are initialized in two steps, bdi_init() and bdi_register(), but destroyed in a single step by bdi_destroy() which, for a bdi embedded in a request_queue, is called during blk_cleanup_queue() which makes the queue invisible and starts the draining of remaining usages. A request_queue's user can access the congestion state of the embedded bdi as long as it holds a reference to the queue. As such, it may access the congested state of a queue which finished blk_cleanup_queue() but hasn't reached blk_release_queue() yet. Because the congested state was embedded in backing_dev_info which in turn is embedded in request_queue, accessing the congested state after bdi_destroy() was called was fine. The bdi was destroyed but the memory region for the congested state remained accessible till the queue got released. a13f35e87140 ("writeback: don't embed root bdi_writeback_congested in bdi_writeback") changed the situation. Now, the root congested state which is expected to be pinned while request_queue remains accessible is separately reference counted and the base ref is put during bdi_destroy(). This means that the root congested state may go away prematurely while the queue is between bdi_dstroy() and blk_cleanup_queue(), which was detected by Andrey's KASAN tests. The root cause of this problem is that bdi doesn't distinguish the two steps of destruction, unregistration and release, and now the root congested state actually requires a separate release step. To fix the issue, this patch separates out bdi_unregister() and bdi_exit() from bdi_destroy(). bdi_unregister() is called from blk_cleanup_queue() and bdi_exit() from blk_release_queue(). bdi_destroy() is now just a simple wrapper calling the two steps back-to-back. While at it, the prototype of bdi_destroy() is moved right below bdi_setup_and_register() so that the counterpart operations are located together. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: a13f35e87140 ("writeback: don't embed root bdi_writeback_congested in bdi_writeback") Cc: stable@xxxxxxxxxxxxxxx # v4.2+ Reported-and-tested-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Link: http://lkml.kernel.org/g/CAAeHK+zUJ74Zn17=rOyxacHU18SgCfC6bsYW=6kCY5GXJBwGfQ@xxxxxxxxxxxxxx Reviewed-by: Jan Kara <jack@xxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ef658fc2a6809b42dd7002229fd174a9a1645707 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Oct 15 09:49:57 2015 -0600 NVMe: initialize error to '0' Reported-by: Keith Busch <keith.busch@xxxxxxxxx> Fixes: 1951feae88c5 ("nvme: use an integer value to Linux errno values") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 81c04b943872e0332872df18cec1dec89b178b4d Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 12 21:23:39 2015 +0200 nvme: use an integer value to Linux errno values Use a separate integer variable to hold the signed Linux errno values we pass back to the block layer. Note that for pass through commands those might still be NVMe values, but those fit into the int as well. Fixes: f4829a9b7a61: ("blk-mq: fix racy updates of rq->errors") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f1c08c9bc8f475aa242270da30b6cc9232bd19e0 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Oct 14 11:24:17 2015 +0200 clocksource/drivers/imx: Allow timer irq affinity change Allow the timer core to change the smp affinity of the broadcast timer irq by setting CLOCK_EVT_FEAT_DYNIRQ flag. For this to work the timer core needs to be told about the used irq. This reduces interrupt pressure and wakeups on CPU0 as well as vastly reducing the number of timer broadcast IPIs. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 31f7987406497dc65408dee4e84e3f3cc3ffe9cd Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Fri Sep 4 02:49:58 2015 +0300 clocksource/drivers/exynos_mct: Use container_of() instead of this_cpu_ptr() Since evt structure is embedded in per-CPU mevt structure it's definitely faster to use container_of() to get access to mevt if we have evt (for example as incoming function argument) instead of more expensive approach with this_cpu_ptr(&percpu_mct_tick). this_cpu_ptr() on per-CPU mevt structure leads to access to cp15 to get cpu id and arithmetic operations. Container_of() is cheaper since it's just one asm instruction. This should work if used evt pointer is correct and owned by local mevt structure. For example, before this patch set_state_shutdown() looks like: 4a4: e92d4010 push {r4, lr} 4a8: e3004000 movw r4, #0 4ac: ebfffffe bl 0 <debug_smp_processor_id> 4b0: e3003000 movw r3, #0 4b4: e3404000 movt r4, #0 4b8: e3403000 movt r3, #0 4bc: e7933100 ldr r3, [r3, r0, lsl #2] 4c0: e0844003 add r4, r4, r3 4c4: e59400c0 ldr r0, [r4, #192] ; 0xc0 4c8: ebffffd4 bl 420 <exynos4_mct_tick_stop.isra.1> 4cc: e3a00000 mov r0, #0 4d0: e8bd8010 pop {r4, pc} With this patch: 4a4: e92d4010 push {r4, lr} 4a8: e59000c0 ldr r0, [r0, #192] ; 0xc0 4ac: ebffffdb bl 420 <exynos4_mct_tick_stop.isra.1> 4b0: e3a00000 mov r0, #0 4b4: e8bd8010 pop {r4, pc} Also, for me size of exynos_mct.o decreased from 84588 bytes to 83956. Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit ba49af35be8a41af7f00a37902a2d70764078bc5 Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Thu Sep 10 03:38:21 2015 +0300 clocksource/drivers/h8300_*: Remove unneeded memset()s Memory for timer16_priv, timer8_priv and tpu_priv structs is allocated by devm_kzalloc() in corresponding probe functions of drivers. No need to zero it one more time. Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 6eeb8c355fbbe66d1d52eadaa588d5651f8cb092 Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Thu Sep 10 03:38:20 2015 +0300 clocksource/drivers/sh_cmt: Remove unneeded memset() in sh_cmt_setup() Memory for cmt struct is allocated by kzalloc() in sh_cmt_setup. Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit fdbd13105d08fed6a8201549f389e9c12021b67b Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Thu Sep 10 03:38:19 2015 +0300 clocksource/drivers/em_sti: Remove unneeded memset()s Memory for cs and ced fields in struct em_sti_priv is allocated by devm_kzalloc() in the beginning of em_sti_probe() so they don't need to be zeroed one more time in em_sti_register_clocksource() and in em_sti_register_clockevent(). Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit f14665f63b92f958636b7e7610ec2c9726ea9335 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Mon Jul 13 17:32:46 2015 +0800 clocksource/drivers/mediatek: Use GPT as sched clock source When cpu is in deep idle, arch timer will stop counting. Setup GPT as sched clock source so it can keep counting in idle. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit fc686d0037d782c994e338ecb01bfef8bbafff9f Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Aug 24 15:14:30 2015 +0200 clockevents/drivers/mtk: Fix spurious interrupt leading to crash After analysis done by Yingjoe Chen, the timer appears to have a pending interrupt when it is enabled. Fix this by acknowledging the pending interrupt when enabling the timer interrupt. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Tested-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> commit 166bdbd23161160f2abcea70621adba179050bee Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 18:32:30 2015 +0100 iommu/arm-smmu: Add support for MSI on SMMUv3 Despite being a platform device, the SMMUv3 is capable of signaling interrupts using MSIs. Hook it into the platform MSI framework and enjoy faults being reported in a new and exciting way. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> [will: tidied up the binding example and reworked most of the code] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c88ae5de71629e4b5e4075897d9980a7b079d122 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 13 17:53:24 2015 +0100 iommu/arm-smmu: Remove redundant calculation of gr0 base address Since commit 1463fe44fd0f ("iommu/arm-smmu: Don't use VMIDs for stage-1 translations"), we don't need the GR0 base address when initialising a context bank, so remove the useless local variable and its init code. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c0733a2cf30c1e7923b6ad4f8df67941502923de Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 13 17:51:14 2015 +0100 iommu/arm-smmu: Fix error checking for ASID and VMID allocation The bitmap allocator returns an int, which is one of the standard negative values on failure. Rather than assigning this straight to a u16 (like we do for the ASID and VMID callers), which means that we won't detect failure correctly, use an int for the purposes of error checking. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9d1d459bf52b4a07a934558e055bb61ad82f44cd Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 14:19:48 2015 +0300 intel_scu_ipc: Protect dev member assignment on ->remove() Protect the dev member assignment in ->remove() since user may potentially call unbind from a sysfs even if the driver is built-in. The latter might be racy with ongoing SCU communication. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 51c58f2b4f24214950d3dc6ab31af7c2532b096f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 14:19:47 2015 +0300 intel_scu_ipc: Switch to use module_pci_driver() macro Eliminate some boilerplate code by using module_pci_driver() instead of init/exit, moving the salient bits from init into probe. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 20903169fed97e1a972a85ed0b02f20465ae2ff8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 14:19:46 2015 +0300 intel_scu_ipc: Convert to use struct device * Switch the code to use struct device * instead of struct pci_dev * since there is no reason to access PCI related features in the driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit b0b3f578a1c363585d0f74f3b80a1dc968d150b4 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 14:19:45 2015 +0300 intel_scu_ipc: Propagate pointer to struct intel_scu_ipc_dev As much as possible propagate a pointer to struct intel_scu_ipc_dev. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit f63fbcee6720a529b8f94c7d72539c15a1a7a7f8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 14:19:44 2015 +0300 intel_scu_ipc: Fix error path by turning to devm_* / pcim_* The error handling is broken right now since it leaves resources unfreed. Convert the code to use managed resources to fix the error handling. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d819e7a7524fe0f43591b7c274685f6e66e48342 Merge: 5078f77 04edde2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 17:21:01 2015 +0200 Merge tag 'qcom-dt-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm into next/dt Pull "Qualcomm ARM Based Device Tree Updates for v4.4" from Andy Gross: * Add DT binding document for SMEM * Add SMD, RPM, and Regulator nodes on MSM8974 * Remove extra reg element from iadc device * Remove redunandant i2c pinctrl properties on APQ8064 * Remove unnecessary eeprom label on IFC6410 * Remove unnecessary eeprom label from QS600 * Add PM8921 RTC support on APQ8064 * Add PM8921 pwrkey support on APQ8064 * Prefix GSBI6 uart pins on APQ8064 correctly * Add missing GSBI7 uart pinctrl on APQ8064 * Add missing GSBI7 uart pinctrl on IFC6410 * Add missing GSBI7 pinctrl uart property on QS600 * Add pwrseq support for WLAN on IFC6410 * Add pwrseq support for WLAN on QS600 * Add notify led support on IFC6410 * Add SD card detect support onQS600 * Add #power-domain-cells property to documentation * Add Qualcomm SMBB binding document * Add PM8941 charge node * Fix typo in disabled property on MSM8974 * tag 'qcom-dt-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm: ARM: dts: msm8974: fix typo in "disabled" property ARM: dts: qcom-pm8941: Add charger node dt-binding: power: Add Qualcomm SMBB binding arm: dts: qcom: Add #power-domain-cells property ARM: dts: qs600: Add SD card detect support. ARM: dts: apq8064-ifc6410: add notify led support. ARM: dts: qs600: add pwrseq support to WLAN ARM: dts: ifc6410: Add pwrseq support for WLAN ARM: dts: qs600: Add missing pinctrl property for gsbi7 uart ARM: dts: ifc6410: Add missing pinctrl to gsbi7 uart ARM: dts: apq8064: add missing gsbi7 uart pinctrl ARM: dts: apq8064: Prefix the gsbi6 uart pins correctly ARM: dts: apq8064: add pm8921 pwrkey support ARM: dts: apq8064: add pm8921 rtc ARM: dts: qs600: remove unnecessary eeprom label ARM: dts: ifc6410: remove unnecessary eeprom label ARM: dts: apq8064: remove redundant i2c pinctrl properties ARM: dts: qcom: Remove extra reg element from iadc device ARM: dts: msm8974: Add smd, rpm and regulator nodes soc: qcom: Add device tree binding for SMEM commit 5078f77e14431efbfacd541c563b101bd6a99d75 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 15 12:20:15 2015 +0200 ARM64: juno: add NOR flash to device tree The Juno motherboard has a NOR flash on the motherboard, enable this to be accessed with the CFI flash driver. Results after enabling MTD, MTD_CFI, MTD_PHYSMAP, MTD_PHYSMAP_OF, MTD_CFI_INTELEXT: 8000000.flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000089 Chip ID 0x008919 Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Using buffer write method Using auto-unlock on power-up/resume cfi_cmdset_0001: Erase suspend on write enabled erase region 0: offset=0x0,size=0x40000,blocks=255 erase region 1: offset=0x3fc0000,size=0x10000,blocks=4 Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 91c42b0da8e353697c9b49fe541056c5d0518c49 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Wed Oct 14 22:49:40 2015 +0200 usb: gadget: loopback: Fix looping back logic implementation Since commit e0857ce58e8658657f5f12fe25272b93cfeb16aa ("usb: gadget: loopback: don't queue requests to bogus endpoints") Loopback function is not realy working as that commit removed all looping back logic. After that commit ep-out works like /dev/null and ep-in works like /dev/zero. This commit fix this issue by allocating set of out requests and set of in requests but each out req shares buffer with one in req: out_req->buf ---> buf <--- in_req.buf out_req->context <---> in_req.context The completion routine simply enqueue the suitable req in an oposite direction. Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+ Fixes: e0857ce58e8658657f5f12fe25272b93cfeb16aa ("usb: gadget: loopback: don't queue requests to bogus endpoints") Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e3d05583a725530b20f0981ff049257042528280 Merge: 36dd606 99f7445 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 17:18:49 2015 +0200 Merge tag 'renesas-dt2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Second Round of Renesas ARM Based SoC DT Updates for v4.4" from Simon Horman: * Enable the following on the porter board: I2C2, PCI, PCIe, QSPI, SATA0, SDHI0/2, USB PHY and VIN0/ADV7180. * tag 'renesas-dt2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: porter: enable internal PCI and USB PHY ARM: shmobile: porter: enable PCIe ARM: shmobile: porter: add QSPI DT support ARM: shmobile: porter: add VIN0/ADV7180 DT support ARM: shmobile: porter: add I2C2 DT support ARM: shmobile: porter: enable SATA0 ARM: shmobile: porter: add SDHI0/2 DT support commit 36dd6066c05db82da84b7c45113583b7fa57f4fa Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Oct 15 18:05:32 2015 +0900 ARM: dts: uniphier: change the external bus address mapping In UniPhier SoCs before ProXstream2 and PH1-LD6b, two address spaces 0x00000000 - 0x0fffffff 0x40000000 - 0x4fffffff are both mapped to the external bus (also called system bus), so either was OK. In the newest two SoCs, the former (0x00000000 - 0x0fffffff) is assigned for the serial NOR interface. For the consistency, use the latter for all the SoCs. Also, fix the range properties to reflect the real address mapping, where the support card is located at the offset address 0x01f00000 of CS1 of the external bus. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit a787f40a9a29674d1b9146b7a35e491e7a571152 Merge: 2e4e5da d8e1f5e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 15 17:13:26 2015 +0200 Merge tag 'omap-for-v4.3/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "Fixes for omap against v4.3-rc5" from Tony Lindgren: - Regulator fix for beagle-x15 to fix HDMI without a SD card being inserted - GPMC fix for showing proper timings and to allow enabling debug options that somehow was unselectable earlier - Add minimal documentation for new MMC1 dependency on REGULATOR_PBIAS as it may not be obvious for people with targeted .config files * tag 'omap-for-v4.3/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: Documentation: ARM: List new omap MMC requirements memory: omap-gpmc: dump "before" state before first modification memory: omap-gpmc: Fix unselectable debug option for GPMC ARM: dts: am57xx-beagle-x15: set VDD_SD to always-on commit 2e4e5da55afaf9315f2398e85424fd3824459220 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Oct 15 20:32:05 2015 +0900 ARM: dts: uniphier: fix IRQ number for devices on PH1-LD6b ref board The IRQ signal from external devices on this board is connected to the XIRQ4 pin of the SoC. The IRQ number should be 52, not 50. Fixes: a5e921b4771f ("ARM: dts: uniphier: add ProXstream2 and PH1-LD6b SoC/board support") Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit fb659882cc6482bd2e32ec0ab8ab7afeda649413 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Oct 12 14:48:39 2015 +0100 drivers/perf: arm_pmu: avoid CPU device_node reference leak of_cpu_device_node_get increments the reference count on the CPU device_node, so we must take care to of_node_put once we've finished with it. This patch fixes the perf IRQ probing code to avoid the leak. Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit a0bcbe969f564d1ec08658170dda72a1b7e9053a Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Thu Oct 15 14:32:46 2015 +0100 bus: arm-ccn: Fix irq affinity setting on CPU migration When PMU context is migrating between CPUs, interrupt affinity is set as well. Only this should not happen when the CCN interrupt is not being used at all (the driver is using a hrtimer tick instead). Fixed now. Cc: <stable@xxxxxxxxxxxxxxx> # 4.2+ Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit b20519fd5007908c6a816cab1b9db911915e9fbd Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Thu Oct 15 14:32:45 2015 +0100 bus: arm-ccn: Handle correctly no-more-cpus case When migrating events the driver picks another cpu using cpumask_any_but() function, which returns value >= nr_cpu_ids when there is none available, not a negative value as the code assumed. Fixed now. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 1951feae88c5a39105a704188ccf910faf1d0c50 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Oct 12 21:23:39 2015 +0200 nvme: use an integer value to Linux errno values Use a separate integer variable to hold the signed Linux errno values we pass back to the block layer. Note that for pass through commands those might still be NVMe values, but those fit into the int as well. Fixes: f4829a9b7a61: ("blk-mq: fix racy updates of rq->errors") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3a53b3bcc7af2f7ddfb682cb8efb26e40fe50fb1 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Oct 14 21:18:31 2015 +0200 pata_it821x: use "const char *" for string literals Some string literals are pointed to by "char *". This patch fixes that. tj: Updated patch title and description. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 5cec753709adf1a20c8b15edf8e5245cf4fd4e82 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Thu Oct 15 15:52:15 2015 +0100 iommu/vt-d: Implement SVM_FLAG_SUPERVISOR_MODE for kernel access This is only usable for the static 1:1 mapping of physical memory. Any access to vmalloc or module regions will require some way of doing an IOTLB flush. It's theoretically possible to hook into the tlb_flush_kernel_range() function, but that seems like overkill â?? most of the addresses accessed through a kernel PASID *will* be in the 1:1 mapping. If we really need to allow access to more interesting kernel regions, then the answer will probably be an explicit IOTLB flush call after use, akin to the DMA API's unmap function. In fact, it might be worth introducing that sooner rather than later, and making it just BUG() if the address isn't in the static 1:1 mapping. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit f42d79ab67322e51b92dd7aa965e310c71352a64 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Wed Oct 14 05:02:15 2015 +0000 blk-mq: fix use-after-free in blk_mq_free_tag_set() tags is freed in blk_mq_free_rq_map() and should not be used after that. The problem doesn't manifest if CONFIG_CPUMASK_OFFSTACK is false because free_cpumask_var() is nop. tags->cpumask is allocated in blk_mq_init_tags() so it's natural to free cpumask in its counter part, blk_mq_free_tags(). Fixes: f26cdc8536ad ("blk-mq: Shared tag enhancements") Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 21d4de1469a1da20a14a745c5f49488bba417ea7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 8 10:12:01 2015 +0300 gpio: pl061: returning with lock held in pl061_irq_type() We were returning with "chip->lock" held by mistake. It's safe to move the return to before we take the spinlock. Fixes: 1dbf7f299f90 ('gpio: pl061: detail IRQ trigger handling') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 876945dbf6497c7539ef958fee7ade970fbbe17a Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Thu Oct 1 20:14:00 2015 +0100 arm64: Hook up IOMMU dma_ops With iommu_dma_ops in place, hook them up to the configuration code, so IOMMU-fronted devices will get them automatically. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 13b8629f651164d71f4d38b821925f93ba4236c8 Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Thu Oct 1 20:13:59 2015 +0100 arm64: Add IOMMU dma_ops Taking some inspiration from the arch/arm code, implement the arch-specific side of the DMA mapping ops using the new IOMMU-DMA layer. Since there is still work to do elsewhere to make DMA configuration happen in a more appropriate order and properly support platform devices in the IOMMU core, the device setup code unfortunately starts out carrying some workarounds to ensure it works correctly in the current state of things. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 0db2e5d18f76a66ca945447d9f610bed0a94ca5a Author: Robin Murphy <robin.murphy@xxxxxxx> Date: Thu Oct 1 20:13:58 2015 +0100 iommu: Implement common IOMMU ops for DMA mapping Taking inspiration from the existing arch/arm code, break out some generic functions to interface the DMA-API to the IOMMU-API. This will do the bulk of the heavy lifting for IOMMU-backed dma-mapping. Since associating an IOVA allocator with an IOMMU domain is a fairly common need, rather than introduce yet another private structure just to do this for ourselves, extend the top-level struct iommu_domain with the notion. A simple opaque cookie allows reuse by other IOMMU API users with their various different incompatible allocator types. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 569e4f7782fb92d0e1b395b5fb01de642dd74dcf Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Thu Oct 15 13:59:14 2015 +0100 iommu/vt-d: Implement SVM_FLAG_PRIVATE_PASID to allocate unique PASIDs Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 0204a49609824163092c32a8aeb073f7e9acc76d Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Oct 13 17:18:10 2015 +0100 iommu/vt-d: Add callback to device driver on page faults Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit a222a7f0bb6c94c31cc9c755110593656f19de89 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Oct 7 23:35:18 2015 +0100 iommu/vt-d: Implement page request handling Largely based on the driver-mode implementation by Jesse Barnes. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 9172796bc3754af73b90cbd70586812ddbc1e0ca Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Thu Oct 15 10:33:21 2015 -0400 ext4: promote ext4 over ext2 in the default probe order Prevent clean ext3 filesystems from mounting by default with the ext2 driver (with no journal!) by putting ext4 ahead of ext2 in the default probe order. This will have the effect of mounting ext2 filesystems with ext4.ko by default, which is a safer failure than hoping the user notices that their journalled ext3 is now running without a journal! Users who require ext2.ko for ext2 can either disable ext4.ko or explicitly request ext2 via "mount -t ext2" or "rootfstype=ext2". Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 8595798ca34d186d39abcb277591e541776c0ef5 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Thu Oct 15 10:30:36 2015 -0400 jbd2: gate checksum calculations on crc driver presence, not sb flags Change the journal's checksum functions to gate on whether or not the crc32c driver is loaded, and gate the loading on the superblock bits. This prevents a journal crash if someone loads a journal in no-csum mode and then randomizes the superblock, thus flipping on the feature bits. Tested-By: Nikolay Borisov <kernel@xxxxxxxx> Reported-by: Nikolay Borisov <kernel@xxxxxxxx> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 3e9d992f93fecc746baa9d4854acc026d422094f Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Wed Oct 14 23:03:34 2015 +0200 usb: gadget: loopback: fix: Don't share qlen and buflen between instances Each instance of loopback function may have different qlen and buflen attributes values. When linking function to configuration those values had been assigned to global variables. Linking other instance to config overwrites those values. This commit moves those values to f_loopback structure to avoid overwriting. Now each function has its own instance of those values. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Reviewed-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b90197b655185a11640cce3a0a0bc5d8291b8ad2 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Oct 15 10:29:05 2015 -0400 ext4: use private version of page_zero_new_buffers() for data=journal mode If there is a error while copying data from userspace into the page cache during a write(2) system call, in data=journal mode, in ext4_journalled_write_end() were using page_zero_new_buffers() from fs/buffer.c. Unfortunately, this sets the buffer dirty flag, which is no good if journalling is enabled. This is a long-standing bug that goes back for years and years in ext3, but a combination of (a) data=journal not being very common, (b) in many case it only results in a warning message. and (c) only very rarely causes the kernel hang, means that we only really noticed this as a problem when commit 998ef75ddb caused this failure to happen frequently enough to cause generic/208 to fail when run in data=journal mode. The fix is to have our own version of this function that doesn't call mark_dirty_buffer(), since we will end up calling ext4_handle_dirty_metadata() on the buffer head(s) in questions very shortly afterwards in ext4_journalled_write_end(). Thanks to Dave Hansen and Linus Torvalds for helping to identify the root cause of the problem. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxxx> commit 45c1da501fc5051fb04f579692f5f0a7d3b0ffbe Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 09:36:34 2015 +0200 drm/radeon: Use rdev->gem.mutex to protect hyperz/cmask owners This removes the last depency of radeon for dev->struct_mutex! Also the locking scheme for hyperz/cmask owners seems a bit unsound, there's no protection in the preclose handler (and that never did hold dev->struct_mutex while being called). So grab the same lock there, too. There's also all the checks in the cs checker, but since the overall design seems to never stall for the previous owner I figured it's ok if I leave this racy. It was racy even before I touched it after all too. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 344cb4e0b6f3a0dbef0643eacb4946338eb228c0 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Thu Oct 15 10:19:11 2015 +0800 iommu/vt-d: Use cmpxchg16b to update posted format IRTE atomically If IRTE is in posted format, the 'pda' field goes across the 64-bit boundary, we need use cmpxchg16b to atomically update it. We only expose posted-interrupt when X86_FEATURE_CX16 is supported and use to update it atomically. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 922ec58c70cd4a1065dd3c9f94e845dc1348b533 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 09:12:49 2015 +0200 cfg80211: reg: remove useless reg_timeout scheduling When the functions reg_set_rd_driver() and reg_set_rd_country_ie() return with an error, the calling function already restores data by calling restore_regulatory_settings(), so there's no need to also schedule a timeout (which would lead to other side effects such as indicating CRDA failed, which clearly isn't true.) Remove the scheduling. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c7d319e542a3126bca029745735cdef5a5ca55c2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 09:03:05 2015 +0200 cfg80211: reg: search built-in database directly Instead of searching the built-in database only in the worker, search it directly and return an error if the entry cannot be found (or memory cannot be allocated.) This means that builtin database queries no longer rely on the timeout. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cecbb069cce37dac754380d36c31e286a276e4c3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 08:47:34 2015 +0200 cfg80211: reg: rename reg_call_crda to reg_query_database The new name is more appropriate since in the case of a built-in database it may not really rely on CRDA. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 25b20dbdc47f305ca31fc5eff65b8a069776f679 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 12:05:05 2015 +0200 cfg80211: reg: fix reg_call_crda() return value bug The function reg_call_crda() can't actually validly return REG_REQ_IGNORE as it does now when calling CRDA fails since that return value isn't handled properly. Fix that. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7cf374182391d67f08c0ef0519a57fb594e0f543 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 08:44:32 2015 +0200 cfg80211: reg: remove useless non-NULL check There's no way that the alpha2 pointer can be NULL, so no point in checking that it isn't. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8047d2616dc7ff47d34f5bc64835e060ccb5db1c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Oct 15 16:16:09 2015 +0200 cfg80211: fix gHz to GHz There's no "g" prefix, only "G" (1e9) that was clearly intended here. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d14f6fced5f9360edca5a1325ddb7077aab1203b Author: Jay Cornwall <jay@xxxxxxxxxxxx> Date: Wed Sep 16 14:10:03 2015 -0500 iommu/amd: Fix BUG when faulting a PROT_NONE VMA handle_mm_fault indirectly triggers a BUG in do_numa_page when given a VMA without read/write/execute access. Check this condition in do_fault. do_fault -> handle_mm_fault -> handle_pte_fault -> do_numa_page mm/memory.c 3147 static int do_numa_page(struct mm_struct *mm, struct vm_area_struct *vma, .... 3159 /* A PROT_NONE fault should not end up here */ 3160 BUG_ON(!(vma->vm_flags & (VM_READ | VM_EXEC | VM_WRITE))); Signed-off-by: Jay Cornwall <jay@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 0a878716265e9af9f697264dc2e858fcc060d833 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 15 14:23:01 2015 +0200 drm/i915: restore ggtt double-bind avoidance This was accidentally lost in commit 75d04a3773ecee617847de963ae4195d6aa74c28 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Tue Apr 28 17:56:17 2015 +0300 drm/i915/gtt: Allocate va range only if vma is not bound While at it implement an improved version suggested by Chris which avoids the double-bind irrespective of what type of bind is done first. Note that this exact bug was already addressed in commit d0e30adc42d979e4adc36b6c112b57337423b70c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 20:02:48 2015 +0100 drm/i915: Mark PIN_USER binding as GLOBAL_BIND without the aliasing ppgtt but the problem is still that originally in commit 0875546c5318c85c13d07014af5350e9000bc9e9 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Apr 20 09:04:05 2015 -0700 drm/i915: Fix up the vma aliasing ppgtt binding if forgotten to take into account there case where we have a GLOBAL_BIND before a LOCAL_BIND. This patch here fixes that. v2: Pimp commit message and revert the partial fix. v3: Split into two functions to specialize on aliasing_ppgtt y/n. v4: WARN_ON for paranoia in the init sequence, since the ggtt probe and aliasing ppgtt setup are far apart. v5: Style nits. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Link: http://mid.gmane.org/1444911781-32607-1-git-send-email-daniel.vetter@xxxxxxxx Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e12c8ce8c91fe4fa999d3b4cae8eb4af4fab49d5 Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Thu Aug 27 13:46:30 2015 -0700 drm/i915/skl: Enable pipe gamma for sprite planes. Since SKL has universal planes, we should configure the sprite planes and the primary plane the same. For the primary plane we do enable the pipe gamma on the plane so do the same for the non-primary planes. Without this, the pipe CRC values will be different for something displayed on the primary plane and something displayed on a sprite plane when the ARGB8888 format is used. Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fc6f93bce582ccf76335843584e6a797ac72813c Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Mon Aug 31 14:03:30 2015 -0700 drm/i915/skl+: Enable pipe CSC on cursor planes. (v2) Extend this to SKL and BXT as it's needed for these platforms as well. v2: Change if condition to HAS_DDI() instead of listing each platform Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 96aec911482246a319bf457f39fa848ce436c8fd Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Oct 14 12:37:32 2015 -0500 amd-xgbe: Use system workqueue for device restart A previous patch switched from using the system workqueue to the device workqueue for various operations. During a device restart the device workqueue is flushed so the restart cannot use this workqueue or else a deadlock results. Move the device restart back to using the system workqueue. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74661bee1f524ca970086748291b3ca1b4c21ffe Merge: adc9048 771acac Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 15 06:09:58 2015 -0700 Merge branch 'switchdev-locking' Jiri Pirko says: ==================== switchdev: change locking This is something which I'm currently struggling with. Callers of attr_set and obj_add/del often hold not only RTNL, but also spinlock (bridge). So in that case, the driver implementing the op cannot sleep. The way rocker is dealing with this now is just to invoke driver operation and go out, without any checking or reporting of the operation status. Since it would be nice to at least put a warning in case the operation fails, it makes sense to do this in delayed work directly in switchdev core instead of implementing this in separate drivers. And that is what this patchset is introducing. So from now on, the locking of switchdev mod ops is consistent. Caller either holds rtnl mutex or in case it does not, caller sets defer flag, telling switchdev core to process the op later, in deferred queue. Function to force to process switchdev deferred ops can be called by op caller in appropriate location, for example after it releases spin lock, to force switchdev core to process pending ops. v1->v2: - rebased on current net-next head (including Scott's ageing patchset) v2->v3: - fixed comment s/of/or/ typo suggested by Nik v3->v4: - the actual patchset is sent instead of different branch I send in v3 :/ v4->v5: - added patch to "const" attr param - reworked deferred ops infrastructure (mainly patch number 1 and internal users (patch 3 and 5)) - resolves the issue pointed out by John ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 771acac2ffa5957b91e881908cd4c9657978a209 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:55 2015 +0200 switchdev: assert rtnl mutex when going over lower netdevs netdev_for_each_lower_dev has to be called with rtnl mutex held. So better enforce it in switchdev functions. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d33eeb645d59ffd14bbc6db977c3783af42dd700 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:54 2015 +0200 rocker: remove nowait from switchdev callbacks. No need to avoid sleeping in switchdev callbacks now, as the switchdev core allows it. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56607386e80cc7ce923592e115a3492485b47c72 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:53 2015 +0200 bridge: defer switchdev fdb del call in fdb_del_external_learn Since spinlock is held here, defer the switchdev operation. Also, ensure that defered switchdev ops are processed before port master device is unlinked. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d429c5ddc5128fccd3048059ae26bb39f0d8284 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:52 2015 +0200 switchdev: introduce possibility to defer obj_add/del Similar to the attr usecase, the caller knows if he is holding RTNL and is in atomic section. So let the called to decide the correct call variant. This allows drivers to sleep inside their ops and wait for hw to get the operation status. Then the status is propagated into switchdev core. This avoids silent errors in drivers. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 850d0cbc9171f63f0418afffb0d89a84db927851 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:51 2015 +0200 switchdev: remove pointers from switchdev objects When object is used in deferred work, we cannot use pointers in switchdev object structures because the memory they point at may be already used by someone else. So rather do local copy of the value. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0bc05d585d381c30de3fdf955730df31593d2101 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:50 2015 +0200 switchdev: allow caller to explicitly request attr_set as deferred Caller should know if he can call attr_set directly (when holding RTNL) or if he has to defer the att_set processing for later. This also allows drivers to sleep inside attr_set and report operation status back to switchdev core. Switchdev core then warns if status is not ok, instead of silent errors happening in drivers. Benefit from newly introduced switchdev deferred ops infrastructure. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7fadf3047d005d17376da65aa9e5734f45a77d4 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:49 2015 +0200 switchdev: make struct switchdev_attr parameter const for attr_set calls Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 793f40147e82cdedc80971fa7f5596d6ed1e555e Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Wed Oct 14 19:40:48 2015 +0200 switchdev: introduce switchdev deferred ops infrastructure Introduce infrastructure which will be used internally to defer ops. Note that the deferred ops are queued up and either are processed by scheduled work or explicitly by user calling deferred_process function. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ca7d910121af4dd8c83294b50546f4664b2a932 Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Thu Oct 15 09:07:07 2015 -0400 locks: Use more file_inode and fix a comment Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit 50826874f059af9a7f1ed748528f68ea92d5039c Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Oct 14 21:15:13 2015 +0200 crypto: n2 - set array of const as const Some array of const char are not set as const. This patch fix that. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cac367bfc134174506a57a44834e3a608acc2f9b Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Oct 14 21:14:19 2015 +0200 crypto: sahara - set array of const as const Some array of const char are not set as const. This patch fix that. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 19b14e7e224f1c119a1756fde02ccacefd280212 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Oct 14 21:11:00 2015 +0200 crypto: s390/sha - replace raw value by their coresponding define SHA_MAX_STATE_SIZE is just the number of u32 word for SHA512. So replace the raw value "16" by their meaning (SHA512_DIGEST_SIZE / 4) Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 353519887ca3df97c0e60be4fdf05c44e2faca22 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Sep 21 20:59:56 2015 +0200 crypto: keywrap - add testmgr support The testmanager code for symmetric ciphers is extended to allow verification of the IV after a cipher operation. In addition, test vectors for kw(aes) for encryption and decryption are added. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1c49678e8a35de7d009854f79337261df1e774df Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Sep 21 20:58:56 2015 +0200 crypto: keywrap - enable compilation Hook keywrap source code into Kconfig and Makefile Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e28facde3c39005071cc5323d56539bb44efa446 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Mon Sep 21 20:58:23 2015 +0200 crypto: keywrap - add key wrapping block chaining mode This patch implements the AES key wrapping as specified in NIST SP800-38F and RFC3394. The implementation covers key wrapping without padding. IV handling: The caller does not provide an IV for encryption, but must obtain the IV after encryption which would serve as the first semblock in the ciphertext structure defined by SP800-38F. Conversely, for decryption, the caller must provide the first semiblock of the data as the IV and the following blocks as ciphertext. The key wrapping is an authenticated decryption operation. The caller will receive EBADMSG during decryption if the authentication failed. Albeit the standards define the key wrapping for AES only, the template can be used with any other block cipher that has a block size of 16 bytes. During initialization of the template, that condition is checked. Any cipher not having a block size of 16 bytes will cause the initialization to fail. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8a826a34a52eef9ea1cb93f49ada358fa7b0bb32 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 16 11:46:46 2015 +0200 crypto: testmgr - test IV value after a cipher operation The crypto drivers are supposed to update the IV passed to the crypto request before calling the completion callback. Test for the IV value before considering the test as successful. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit adc9048c607a08320e87befc940955d6ffe51fac Author: lipeng <lipeng321@xxxxxxxxxx> Date: Thu Oct 15 12:40:34 2015 +0800 net: hisilicon: fixes a bug when using ethtool -S this patch fixes a bug in hns driver. when we want to get statistic info by using ethtool -S, it shows us there are 3 wrong counters info. because the strings related to the registers are wrong. it needs to modify the strings which give us wrong info. Signed-off-by: lipeng <lipeng321@xxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e109a69145c059cede79236c3d44080640f23472 Merge: f6bba8945 a85ce53 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 15 05:56: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-10-15 This series contains updates to i40e, i40evf and ixgbe. Emil changes the ixgbe driver to disable LRO by default in favor or GRO. Mark provides two changes for ixgbe, first fixes a semaphore issue when a reset never completes, it is necessary to retake the semaphore before returning. Jesse fixes up a missing function header comment variable reference. Then enables ethtool priv flags to control flow director at runtime. Neerav changes several i40e error messages to debug only since the messages were printing when there was no functional issue and were meant for debug only. Catherine changes the i40e driver to make only X722 support 100M SGMII, since it is the only device to actually support it. Anjali modifies the i40e/i40evf driver to add writeback on ITR offload support for X722 since the device has a way to work around the descriptor writeback issue. Mitch cleans up obsolete code. Also reduces the i40evf init time by shortening up the delays in the init task to aid in performance in load/unload tests and mitigates DMAR errors in VF enable/disable tests. Shannon modifies i40e to allow flow director sideband when the device is in MFP mode and only has one partition enabled, since we still have plenty of interrupts for managing the flow director activity. Also cleaned up flow director ATR control in debugfs since the priv flag has been added to our ethtool interface. Makes several general code cleanups of redundant or unnecessary code for i40e. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1208225cf48fa3b170b6dfe7369f15c295260755 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Oct 7 15:37:03 2015 +0100 iommu/vt-d: Generalise DMAR MSI setup to allow for page request events Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 907fea3491d52063bb37b1f1ce0cf8a4ae70944c Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Oct 13 14:11:13 2015 +0100 iommu/vt-d: Implement deferred invalidate for SVM Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 7fbe824a0f0e6a73de5b589a6690294f7cb9dae3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 15 14:06:14 2015 +0200 ALSA: hda - Update mixer name for the lower codec address In most cases, we prefer the onboard codec as the primary device, thus it's better to set it as the mixer name. Currently, however, the mixer name is updated per the device instantiation order, and user gets often HDMI/DP or other seen as a mixer chip name. Also, if a codec name is renamed by the driver, the old chip name might be left still as the mixer name. This patch addresses these issues by remembering the chip address that was referred as the mixer name. When a codec with the same or lower address gives its name, renew the mixer name accordingly, as it's either the update of the codec name or we get likely the more appropriate chip as the reference. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d80d134182ba536ececab8d5fca50d779befc9a6 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Oct 12 16:55:35 2015 +0300 i2c: designware: Move common probe code into i2c_dw_probe() There is some code duplication in i2c-designware-platdrv and i2c-designware-pcidrv probe functions. What is even worse that duplication requires i2c_dw_xfer(), i2c_dw_func() and i2c_dw_isr() i2c-designware-core functions to be exported. Therefore move common code into new i2c_dw_probe() and make functions above local to i2c-designware-core. While merging the code patch does following functional changes: - I2C Adapter name will be "Synopsys DesignWare I2C adapter". Previously it was used for platform and ACPI devices but PCI device used "i2c-designware-pci". - Using device name for interrupt name. Previous it was platform device name, ACPI device name or "i2c-designware-pci". - Error code from devm_request_irq() and i2c_add_numbered_adapter() will be printed in case of error. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 6ad6fde3970c98348e4201efc22c92be414c86a6 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:32 2015 +0300 i2c: designware: Rename platform driver probe and PM functions Make it easier to distinguish between i2c-designware-platdrv and i2c-designware-core functions and to be consistent with i2c-designware-pcidrv. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8a437459523ad878c6c2bd3a7703b1b88fcbfcd8 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:31 2015 +0300 i2c: designware: Make dw_readl() and dw_writel() static dw_readl() and dw_writel() are not used outside of i2c-designware-core and they are not exported so make them static and remove their forward declaration. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f6ed2b79dc67e9211bb6488938247b9979eece79 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:30 2015 +0300 i2c: designware: Remove unused functions i2c_dw_is_enabled() became unused by the commit be58eda775c8 ("i2c: designware-pci: Cleanup driver power management") and i2c_dw_enable() by the commit 3a48d1c08fe0 ("i2c: prevent spurious interrupt on Designware controllers"). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit b9f84adcb834ec2b1fd0ec91676c4b165daf51e6 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:29 2015 +0300 i2c: designware: Disable interrupts before requesting PCI device interrupt Device must not generate interrupts before registering the interrupt handler so move i2c_dw_disable_int() before requesting it. There are no known issues with this. The code has been here since commit fe20ff5c7e9c ("i2c-designware: Add support for Designware core behind PCI devices."). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c335631a68db4b32b24cb59814c485c45f0f4506 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:31:28 2015 +0300 i2c: designware: Remove interrupt clearing from i2c_dw_pci_probe() There is no need to clear interrupts in i2c_dw_pci_probe() since only place where interrupts are unmasked is i2c_dw_xfer_init() and there interrupts are always cleared after commit 2a2d95e9d6d2 ("i2c: designware: always clear interrupts before enabling them"). This allows to cleanup the code and replace i2c_dw_clear_int() in i2c_dw_xfer_init() by direct register read as there are no other callers. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ded255be2276d365a91af2de7c7f8e2c233d4fa2 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 1 17:59:43 2015 +0200 ALSA: hda - consolidate chip rename functions A few multiple codec drivers do renaming the chip_name string but all these are open-coded and some of them have even no error check. Let's make common helpers to do it properly. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2f26e0a9c9860db290d63e9d85c2c8c09813677f Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Sep 9 11:40:47 2015 +0100 iommu/vt-d: Add basic SVM PASID support This provides basic PASID support for endpoint devices, tested with a version of the i915 driver. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 848dd6a87a10bd24b5a4c8b84eaba3cdd0ec7a19 Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Wed Oct 7 11:08:00 2015 +0200 ARM: STi: DT: Add support for stih418 A9 pll Add support for new PLL-type for stih418 A9-PLL. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 69e7c854c7d4ea30c4e17cfa890946e16c5a36f0 Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Thu Oct 1 17:48:19 2015 +0200 ARM: dts: Enable Ethernet on STi's B2199 board The B2199 board is mounted with Realtek RTL8367 switch. We consider the bootloader will have intiliazed the switch before jumping into the kernel, so we declare it as a fixed link. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 60dfa24588ee76b85f48c2adab5cdf9b868dc629 Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Thu Oct 1 17:45:46 2015 +0200 ARM: dts: Enable Ethernet on STi's B2120 boards These boards are mounted with Realtek RTL8367 switch. We consider the bootloader will have intiliazed the switch before jumping into the kernel, so we declare it as a fixed link. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit ab511d7df1a0f73c4ccccd5655c84efdb7f816c1 Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Thu Oct 1 17:44:41 2015 +0200 ARM: dts: Add Ethernet node to STiH407 family STiH407 family uses the Synopsys IP. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit b89c429c1b4c176fee1912114ec7b2785949783b Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Thu Oct 1 17:42:20 2015 +0200 ARM: dts: Fix RGMII pinctrl timings These new re-timing values provides a better stability on Ethernet link. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit dc881123aa1aeff02ce2dc94c2b810d37173aa90 Author: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Date: Mon Oct 12 15:29:03 2015 +0300 backlight: pwm: Reject legacy PWM request for device defined in DT Platform PWM backlight data provided by board's device tree should be complete enough to successfully request a pwm device using pwm_get() API. This change fixes a bug, when an arbitrary (first found) PWM is connected to a "pwm-backlight" compatible device, when explicit PWM device reference is not given. Documentation/devicetree/bindings/video/backlight/pwm-backlight.txt already describes "pwms" as a required property, instead of blind selection of a potentially wrong PWM reject legacy PWM device registration request, leave legacy API only for non-dt cases. Based on initial implementation done by Dmitry Eremin-Solenikov. Reported-by: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@xxxxxxxxxx> Acked-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Tested-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f85de2d9e24ee0b286ae54434f405d4a22f565f0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 10 14:30:50 2015 +0200 backlight: 88pm860x_bl: Add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; iterator name for_each_child_of_node; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child + of_node_put(child); ? break; ... } ... when != child // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b16d0cb9e2fc5c311948c660dd6f4b59a9ccd333 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Mon Oct 12 14:17:37 2015 +0100 iommu/vt-d: Always enable PASID/PRI PCI capabilities before ATS The behaviour if you enable PASID support after ATS is undefined. So we have to enable it first, even if we don't know whether we'll need it. This is safe enough; unless we set up a context that permits it, the device can't actually *do* anything with it. Also shift the feature detction to dmar_insert_one_dev_info() as it only needs to happen once. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 8a94ade4ce6df22006b96c5c9a8d6d12fce67585 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Mar 24 14:54:56 2015 +0000 iommu/vt-d: Add initial support for PASID tables Add CONFIG_INTEL_IOMMU_SVM, and allocate PASID tables on supported hardware. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit ae853ddb9ad5e7c01cad3fbf016040acd961f407 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Sep 9 11:58:59 2015 +0100 iommu/vt-d: Introduce intel_iommu=pasid28, and pasid_enabled() macro As long as we use an identity mapping to work around the worst of the hardware bugs which caused us to defeature it and change the definition of the capability bit, we *can* use PASID support on the devices which advertised it in bit 28 of the Extended Capability Register. Allow people to do so with 'intel_iommu=pasid28' on the command line. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 941fd2e7096495c05d693efcd3141e4e79a51ff6 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 18:14:16 2015 -0500 EDAC, altera: SoCFPGA EDAC should not look for ECC_CORR_EN The bootloader may or may not enable the ECC_CORR_EN bit. By not enabling ECC_CORR_EN, when error happens, it is the user's responsibility to perform a full SDRAM scrub. Remove the check for ECC_CORR_EN. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444864456-21778-1-git-send-email-dinguyen@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 20d09927e669b7e92795c804a3cf82d6c4f3c909 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 15 11:39:28 2015 +1100 selftests/powerpc: Allow the tm-syscall test to build with old headers When building against older kernel headers, currently the tm-syscall test fails to build because PPC_FEATURE2_HTM_NOSC is not defined. Tweak the test so that if PPC_FEATURE2_HTM_NOSC is not defined it still builds, but prints a warning at run time and marks the test as skipped. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 65b6ba6359eefe5560565af2a0e3b06ec6a0f30e Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Oct 14 20:50:35 2015 +1100 selftests/powerpc: Sort the list of SUB_DIRS to build This list has gotten too long. Split it into individual lines and sort them, so in future we can add new entries more cleanly. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0b824f2e2b6cf87f2f5318f0950d431a286d25df Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Oct 14 20:48:04 2015 +1100 selftests/powerpc: Add tests of unmuxed IPC calls This is just a simple test which confirms that the individual IPC syscalls are all available. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ad987fc8eae7b5f4085c5ad2610b9af12018c38a Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Oct 14 16:58:36 2015 +1100 powerpc/xmon: Add some more elements to the existing PACA dump list This patch adds a set of new elements to the existing PACA dump list inside an xmon session which can be listed below improving the overall xmon debug support. With this patch, a typical xmon PACA dump looks something like this. paca for cpu 0x0 @ c00000000fdc0000: possible = yes present = yes online = yes lock_token = 0x8000 (0xa) paca_index = 0x0 (0x8) kernel_toc = 0xc000000001393200 (0x10) kernelbase = 0xc000000000000000 (0x18) kernel_msr = 0xb000000000001033 (0x20) emergency_sp = 0xc00000003fff0000 (0x28) mc_emergency_sp = 0xc00000003ffec000 (0x2e0) in_mce = 0x0 (0x2e8) hmi_event_available = 0x0 (0x2ea) data_offset = 0x1fe7b0000 (0x30) hw_cpu_id = 0x0 (0x38) cpu_start = 0x1 (0x3a) kexec_state = 0x0 (0x3b) slb_shadow[0]: = 0xc000000008000000 0x40016e7779000510 slb_shadow[1]: = 0xd000000008000001 0x400142add1000510 vmalloc_sllp = 0x510 (0x1b8) slb_cache_ptr = 0x4 (0x1ba) slb_cache[0]: = 0x000000000003f000 slb_cache[1]: = 0x0000000000000001 slb_cache[2]: = 0x0000000000000003 slb_cache[3]: = 0x0000000000001000 slb_cache[4]: = 0x0000000000001000 slb_cache[5]: = 0x0000000000000000 slb_cache[6]: = 0x0000000000000000 slb_cache[7]: = 0x0000000000000000 dscr_default = 0x0 (0x58) __current = 0xc000000001331e80 (0x290) kstack = 0xc000000001393e30 (0x298) stab_rr = 0x11 (0x2a0) saved_r1 = 0xc0000001fffef5e0 (0x2a8) trap_save = 0x0 (0x2b8) soft_enabled = 0x0 (0x2ba) irq_happened = 0x1 (0x2bb) io_sync = 0x0 (0x2bc) irq_work_pending = 0x0 (0x2bd) nap_state_lost = 0x0 (0x2be) sprg_vdso = 0x0 (0x2c0) tm_scratch = 0x8000000100009033 (0x2c8) core_idle_state_ptr = (null) (0x2d0) thread_idle_state = 0x0 (0x2d8) thread_mask = 0x0 (0x2d9) subcore_sibling_mask = 0x0 (0x2da) user_time = 0x0 (0x2f0) system_time = 0x0 (0x2f8) user_time_scaled = 0x0 (0x300) starttime = 0x3f462418b5cf4 (0x308) starttime_user = 0x3f4622a57092a (0x310) startspurr = 0xd62a5718 (0x318) utime_sspurr = 0x0 (0x320) stolen_time = 0x0 (0x328) Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> [mpe: Endian swap slb_shadow before display, minor formatting] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0c23a88ccc32db31c31677d70e37b49ef3ae9ed9 Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Thu Oct 8 11:50:24 2015 +1100 powerpc/xmon: Paginate kernel log buffer display The kernel log buffer is often much longer than the size of a terminal so paginate it's output. Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 958b7c80507a6eb847777b0d6d99d2cad08c529c Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Thu Oct 8 11:50:23 2015 +1100 powerpc/xmon: Paged output for paca display The paca display is already more than 24 lines, which can be problematic if you have an old school 80x24 terminal, or more likely you are on a virtual terminal which does not scroll for whatever reason. This patch adds a new command "#", which takes a single (hex) numeric argument: lines per page. It will cause the output of "dp" and "dpa" to be broken into pages, if necessary. Sample output: 0:mon> # 10 0:mon> dp1 paca for cpu 0x1 @ c00000000fdc0480: possible = yes present = yes online = yes lock_token = 0x8000 (0x8) paca_index = 0x1 (0xa) kernel_toc = 0xc000000000eb2400 (0x10) kernelbase = 0xc000000000000000 (0x18) kernel_msr = 0xb000000000001032 (0x20) emergency_sp = 0xc00000003ffe8000 (0x28) mc_emergency_sp = 0xc00000003ffe4000 (0x2e0) in_mce = 0x0 (0x2e8) data_offset = 0x7f170000 (0x30) hw_cpu_id = 0x8 (0x38) cpu_start = 0x1 (0x3a) kexec_state = 0x0 (0x3b) [Hit a key (a:all, q:truncate, any:next page)] 0:mon> __current = 0xc00000007e696620 (0x290) kstack = 0xc00000007e6ebe30 (0x298) stab_rr = 0xb (0x2a0) saved_r1 = 0xc00000007ef37860 (0x2a8) trap_save = 0x0 (0x2b8) soft_enabled = 0x0 (0x2ba) irq_happened = 0x1 (0x2bb) io_sync = 0x0 (0x2bc) irq_work_pending = 0x0 (0x2bd) nap_state_lost = 0x0 (0x2be) 0:mon> Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> [mpe: Use bool, make some variables static] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b340587e68b479e52039f800d7c60abd417e1975 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Sun Oct 11 22:27:40 2015 +0200 powerpc/mpc5xxx: Use of_get_next_parent to simplify code of_get_next_parent can be used to simplify the while() loop and avoid the need of a temp variable. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1def37586fb1f3bbbedeaa64bf047595958dfc66 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Sun Oct 11 22:23:27 2015 +0200 powerpc/numa: Use of_get_next_parent to simplify code of_get_next_parent can be used to simplify the while() loop and avoid the need of a temp variable. Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5fab1d1cb18d27d1a2a5f110e0955a1b3c497013 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Oct 13 19:20:51 2015 -0400 powerpc: Delete old orphaned PrPMC 280/2800 DTS and boot file. In commit 3c8464a9b12bf83807b6e2c896d7e7b633e1cae7 ("powerpc: Delete old PrPMC 280/2800 support") we got rid of most of the C code, and the Makefile/Kconfig hooks, but it seems I left the platform's DTS file orphaned in the tree as well as the boot code. Here we get rid of them both. Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f27b86dc1ec41ff4b5b580949acfab1f9a08a6a0 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Thu Oct 1 22:41:40 2015 +0300 drivers/macintosh: adb: fix misleading Kconfig help text CONFIG_INPUT_KEYBDEV does not exist and no additional keyboard-specific options are needed to get the keyboard working. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4c8123181d692c5b78650ee559f3d970440c9399 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:28:28 2015 +1100 powerpc: discard .exit.data at runtime .exit.text is discarded at run time and there are some references from that to .exit.data, so we need to discard .exit.data at run time as well. Fixes these errors: `.exit.data' referenced in section `.exit.text' of drivers/built-in.o: defined in discarded section `.exit.data' of drivers/built-in.o `.exit.data' referenced in section `.exit.text' of drivers/built-in.o: defined in discarded section `.exit.data' of drivers/built-in.o Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 54f9a64a36e4fc041721a954e674797c2686ea4e Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 27 15:58:27 2015 +1000 powerpc/eeh: atomic_dec_if_positive() to update passthru count No need to have two atomic opertions (update and fetch/check) when decreasing PE's number of passed devices as one atomic operation is enough. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2e1a2556ebbbe7b53a05b721ac0d3d8ca9873cdb Author: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Date: Tue Oct 13 15:09:44 2015 +1100 cxl: Free virtual PHB when removing When adding a vPHB in cxl_pci_vphb_add(), we allocate a pci_controller struct using pcibios_alloc_controller(). However, we don't free it in cxl_pci_vphb_remove(), causing a leak. Call pcibios_free_controller() in cxl_pci_vphb_remove() to free the vPHB data structure correctly. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6b8b252f40d39e5815be17aaf05f2cb5eaaa41a1 Author: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Date: Thu Sep 10 16:28:34 2015 +1000 powerpc/pci: export pcibios_free_controller() Export pcibios_free_controller(), so it can be used by the cxl module to free virtual PHBs. Signed-off-by: Andrew Donnellan <andrew.donnellan@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a34236155afb1cc41945e58388ac988431bcb0b8 Author: Sam bobroff <sam.bobroff@xxxxxxxxxxx> Date: Tue Oct 13 12:49:28 2015 +1100 powerpc: Individual System V IPC system calls This patch provides individual system call numbers for the following System V IPC system calls, on PowerPC, so that they do not need to be multiplexed: * semop, semget, semctl, semtimedop * msgsnd, msgrcv, msgget, msgctl * shmat, shmdt, shmget, shmctl Signed-off-by: Sam Bobroff <sam.bobroff@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f7688056cba1a69b1bd595465cd203e20da420e0 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 1 16:44:34 2015 +1000 powerpc/pseries: Drop always true CONFIG_PSERIES_MSI Now that pseries selects PCI_MSI && PCI, EEH will always be true, and therefore CONFIG_PSERIES_MSI will always be true. So drop it, and move msi.o to obj-y. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 44f2aecfd0b57d9a56d61d707fa320ab7d4eda85 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 1 16:44:33 2015 +1000 powerpc/pseries: Move PCI objects to obj-y Make it entirely clear in the Makefile that we always build the pci related files by moving them to obj-y. Note that CONFIG_EEH is now always enabled on pseries, because it depends on PSERIES && PCI. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 84eb9e612b022c8357980bbdba653d9626be2be8 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 1 16:44:32 2015 +1000 powerpc/pseries: Remove use of CONFIG_PCI Now that we always have CONFIG_PCI=y for pseries, we can stop guarding code with CONFIG_PCI ifdefs. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4c9cd468b348c9e47f9380a5b22196c98188a50c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 1 16:44:31 2015 +1000 powerpc/pseries: Make PCI non-optional The pseries build with PCI=n looks to have been broken for at least 5 years, and no one's noticed or cared. Following the obvious breakages backward, the first commit I can find that builds is the parent of 2eb4afb69ff3 ("powerpc/pci: Move pseries code into pseries platform specific area") from April 2009. A distro would never ship a PCI=n kernel, so it is only useful for folks building custom kernels. Also on KVM the virtio devices appear on PCI, so it would only be useful if you were building kernels specifically to run on PowerVM and with no PCI devices. The added code complexity, and testing load (which we've clearly not been doing), is not justified by the small reduction in kernel size for such a niche use case. So just make PCI non-optional on pseries. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bd960f09830cacd812b272b0ddbf4116a503cbbd Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 15 14:33:57 2015 +1100 scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building with O= My recent commit d2036f30cfe1 ("scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target"), contained a bug in that when it checks if KBUILD_DEFCONFIG is a file it forgets to prepend $(srctree) to the path. This causes the build to fail when building out of tree (with O=), and when the value of KBUILD_DEFCONFIG is 'defconfig'. In that case we will fail to find the 'defconfig' file, because we look in the build directory not $(srctree), and so we will call Make again with 'defconfig' as the target. From there we loop infinitely calling 'make defconfig' again and again. The fix is simple, we need to look for the file under $(srctree). Fixes: d2036f30cfe1 ("scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target") Reported-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Michal Marek <mmarek@xxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a85ce532f28efabda030d9065a0c2023a2003f36 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Wed Sep 9 13:37:33 2015 -0700 ixgbe: Check for setup_internal_link method Only call the internal_setup_link method when it is provided. This check is required for newer version parts. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Darin Miller <darin.j.miller@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 164f739361c962ac63aa6f7cbd48309d1bff15fb Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Sep 3 17:19:02 2015 -0400 i40e/i40evf: Bump i40e version to 1.3.28 and i40evf to 1.3.19 Bump. Change-ID: I8d9a99f320af43960deba8718eee2d6de50eaf46 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 c8d75aa47dd585c9538a8205e9bb9847e12cfb84 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Oct 14 12:07:56 2015 -0700 posix_cpu_timer: Reduce unnecessary sighand lock contention It was found while running a database workload on large systems that significant time was spent trying to acquire the sighand lock. The issue was that whenever an itimer expired, many threads ended up simultaneously trying to send the signal. Most of the time, nothing happened after acquiring the sighand lock because another thread had just already sent the signal and updated the "next expire" time. The fastpath_timer_check() didn't help much since the "next expire" time was updated after the threads exit fastpath_timer_check(). This patch addresses this by having the thread_group_cputimer structure maintain a boolean to signify when a thread in the group is already checking for process wide timers, and adds extra logic in the fastpath to check the boolean. Signed-off-by: Jason Low <jason.low2@xxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: hideaki.kimura@xxxxxxx Cc: terry.rudd@xxxxxxx Cc: scott.norton@xxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444849677-29330-5-git-send-email-jason.low2@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d5c373eb5610686162ff50429f63f4c00c554799 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Oct 14 12:07:55 2015 -0700 posix_cpu_timer: Convert cputimer->running to bool In the next patch in this series, a new field 'checking_timer' will be added to 'struct thread_group_cputimer'. Both this and the existing 'running' integer field are just used as boolean values. To save space in the structure, we can make both of these fields booleans. This is a preparatory patch to convert the existing running integer field to a boolean. Suggested-by: George Spelvin <linux@xxxxxxxxxxx> Signed-off-by: Jason Low <jason.low2@xxxxxx> Reviewed: George Spelvin <linux@xxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: hideaki.kimura@xxxxxxx Cc: terry.rudd@xxxxxxx Cc: scott.norton@xxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444849677-29330-4-git-send-email-jason.low2@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 934715a191e4be0c602d39455a7a74316f274d60 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Oct 14 12:07:54 2015 -0700 posix_cpu_timer: Check thread timers only when there are active thread timers The fastpath_timer_check() contains logic to check for if any timers are set by checking if !task_cputime_zero(). Similarly, we can do this before calling check_thread_timers(). In the case where there are only process-wide timers, this will skip all of the computations for per-thread timers when there are no per-thread timers. As suggested by George, we can put the task_cputime_zero() check in check_thread_timers(), since that is more of an optization to the function. Similarly, we move the existing check of cputimer->running to check_process_timers(). Signed-off-by: Jason Low <jason.low2@xxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: hideaki.kimura@xxxxxxx Cc: terry.rudd@xxxxxxx Cc: scott.norton@xxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444849677-29330-3-git-send-email-jason.low2@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7c177d994eb9637302b79e80d331f48dfbe26368 Author: Jason Low <jason.low2@xxxxxx> Date: Wed Oct 14 12:07:53 2015 -0700 posix_cpu_timer: Optimize fastpath_timer_check() In fastpath_timer_check(), the task_cputime() function is always called to compute the utime and stime values. However, this is not necessary if there are no per-thread timers to check for. This patch modifies the code such that we compute the task_cputime values only when there are per-thread timers set. Signed-off-by: Jason Low <jason.low2@xxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Reviewed-by: George Spelvin <linux@xxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: hideaki.kimura@xxxxxxx Cc: terry.rudd@xxxxxxx Cc: scott.norton@xxxxxxx Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444849677-29330-2-git-send-email-jason.low2@xxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5be8308b1614947f056802cb5775307f0ad54ad2 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Sep 3 17:19:01 2015 -0400 i40evf: speed up init Shorten up the delays in the init task, allowing the VF driver to initialize faster. This aids performance in load/unload tests and mitigates DMAR errors in VF enable/disable tests with absurdly short delays. In the real world, the VF driver will come up more quickly. The original values were set conservatively based on what we expected from the firmware in terms of performance. Now that the driver is in use and we know how well firmware responds to our requests, we can shorten these delays. Change-ID: Ibead77d34b19e8170e667c3f58bc14748bbc5bc9 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 a916549029848f1356bf2d797e83218de53f17b2 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Sep 3 17:19:00 2015 -0400 i40e: remove unnecessary string copy operations Save a little stack space and remove unnecessary strncpy() with a little string pointer. Change-ID: Id2719d34710bfc273d3bb445fec085cd04276e88 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 3e19fec33a5493f8a627a96ad3494d6c6dc2a624 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 15 11:17:09 2015 +0200 ALSA: hda - Enable widget power saving for Cirrus codecs Cirrus codecs have also fine power controls on each widget, thus it gets benefit from the recent widget power-saving feature. As we haven't seen any obvious regressions with tests on some MacBooks, let's try to enable it. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3fced535079a6aaff2d85bd5c52ad50df0558e3d Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Sep 3 17:18:59 2015 -0400 i40e: X722 is on the IOSF bus and does not report the PCI bus info X722 will report Gen 1x1 in the PCI config space as it is on IOSF bus, so skip the PCI bus link/speed check. Change-ID: Icd5f5751dc7fb00dccf0d5dc5a0a644948e7062e 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 3ac67d7bfa2f35cc8a52bdff39e3bbadb6e639a9 Author: Kevin Scott <kevin.c.scott@xxxxxxxxx> Date: Thu Sep 3 17:18:58 2015 -0400 i40e: Store off PHY capabilities Store off reported PHY capabilities in link_info structure. Change-ID: Ife0f037c26983ca985dbf79abf33f8f8791369e8 Signed-off-by: Kevin Scott <kevin.c.scott@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 874d1a10eb1ab466f48627cdd268335a635dde52 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Sep 3 17:18:57 2015 -0400 i40e/i40evf: remove redundant declarations of a variable and a function Remove a variable declaration inside an if block hiding an existing declaration at the start of the function. Also remove a forward function declaration that is no longer needed due to code re-organization. Change-ID: I12954668b722718074949c93d74cd20eaacd93e4 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 106b1941ff304ad6b6b9828b24c8545814a7a4e4 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Sep 3 17:18:56 2015 -0400 i40e: remove FD atr control from debugfs Since the flow-director-atr priv flag was added to our ethtool interface, we don't need the on/off control in debugfs. Change-ID: Ib3b599916434ab30ccd40074e71d7a81609b5bb5 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 6eae9c6a3536f3a676b54ebf82244c23d3b1019f Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Sep 3 17:18:55 2015 -0400 i40e: allow FD SB if MFP mode only has 1 partition Even though the device might be in MFP mode, if there's only one partition enabled, then we still have plenty of interrupts for managing the Flow Directory Sideband activity. This patch enables FD SB in this case. This patch also reverses the sense of the conditional in order to remove the negative logic. Change-ID: I9edf211a6219fc8d159b4be9964f9fd7f4e00bc0 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 9b28ef01003f815d9bbdb50c4208586c9246ad08 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Sep 3 17:18:54 2015 -0400 i40e: remove obsolete version check This version check only applies to very, very old firmware, that only ran on A0 hardware, which we never shipped and don't support in this driver anyway. Remove it, before somebody gets hurt. Change-ID: I3752d090ff488acf98ee76b075af961e9c968ee4 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 1f012279163af2f1bec30de42960f0312be3a52e Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Sep 3 17:18:53 2015 -0400 i40e/i40evf: Add WB_ON_ITR offload support X722 has a way to work around the descriptor WB issue, this offload helps turn that feature on. Change-ID: I7ffa67622426bfca5a651417b63e3afcfeb60412 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 3b6c2179eebf4536d08cf966c9f585dd95c72367 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Sep 3 17:18:52 2015 -0400 i40e: Remove 100M SGMII unless hw is X722 Only the X722 device now supports 100M SGMII, and nothing supports 100M on 1000Base_T. Change-ID: I6f44dcd818944edd40041410e6de380f4a359a0c Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> 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 8279e49531f427ae7e8db894072d91bc42d3eeb5 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Thu Sep 3 17:18:50 2015 -0400 i40e: Change some messages from info to debug only There are several error messages that have been printing when there is no functional issue. These messages should be available at debug message level only. Change-ID: Id91e47bf942c483563995f30d8705fa53acd5aa3 Signed-off-by: Neerav Parikh <neerav.parikh@xxxxxxxxx> Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> 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 ef17178cf5abe304b2098a50f580e8c19e5084d2 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Sep 3 17:18:49 2015 -0400 i40e: use priv flags to control flow director Some customers wish to be able to control our hardware specific feature called flow director, at runtime. This patch enables ethtool priv flags to control this driver/hardware specific feature. ethtool --set-priv-flags ethX flow-director-atr off NOTE: the ethtool ntuple interface controls the flow-director sideband rules. Change-ID: Iba156350b07fa2ce66f53ded51739f9a3781fe0e 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 8e5cfb74bc9c8c12cf91d253b3d27753d54b0d86 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 10 14:30:51 2015 +0200 power_supply: charger-manager: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d4b2f9fe608320604748c3cb90c99b2255782935 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Sep 3 17:18:48 2015 -0400 i40e: Add missing parameter comment to ndo_bridge_setlink Add nlflags to the function comment for ndo_bridge_setlink. Change-ID: I34c704f307f2a3f7bac3ca4b44e2a094d3d082d6 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 8bf7a7b879985321c63e3ae46fee4e7f0d654ab1 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Wed Aug 26 14:10:22 2015 -0700 ixgbe: Fix CS4227-related semaphore error on reset failure If the reset never completes, it is necessary to retake the semaphore before returning, because the caller will release the semaphore. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Darin Miller <darin.j.miller@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 72bfd32d2f84d26aa132dd74a8eef14d039d326f Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Mon Aug 24 18:08:31 2015 -0700 ixgbe: disable LRO by default This patch disables LRO by default in favor of GRO. LRO is incompatible with forwarding and is disabled when forwarding is turned on which makes the default offloads of the driver inconsistent. LRO can still be enabled via ethtool. Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Darin Miller <darin.j.miller@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d14053b3c714178525f22660e6aaf41263d00056 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Thu Oct 15 09:28:06 2015 +0100 iommu/vt-d: Fix ATSR handling for Root-Complex integrated endpoints The VT-d specification says that "Software must enable ATS on endpoint devices behind a Root Port only if the Root Port is reported as supporting ATS transactions." We walk up the tree to find a Root Port, but for integrated devices we don't find one â?? we get to the host bridge. In that case we *should* allow ATS. Currently we don't, which means that we are incorrectly failing to use ATS for the integrated graphics. Fix that. We should never break out of this loop "naturally" with bus==NULL, since we'll always find bridge==NULL in that case (and now return 1). So remove the check for (!bridge) after the loop, since it can never happen. If it did, it would be worthy of a BUG_ON(!bridge). But since it'll oops anyway in that case, that'll do just as well. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit a71225e204f5ba8b41e7bb100ca37c074861d5b1 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Oct 14 12:27:17 2015 +0100 irqchip/gic-v2m: Add support for multiple MSI frames The GICv2m driver is so far limited to a single MSI frame, but nothing prevents an implementation from having several of them. This patch expands the driver to enumerate all frames, keeping the first one as the canonical identifier for the MSI domains. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Duc Dang <dhdang@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444822037-16983-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit db8c70ec1f9d45e530383204c57f2971df4bd334 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Oct 14 12:27:16 2015 +0100 irqchip/gic-v3: Fix translation of LPIs after conversion to irq_fwspec Commit f833f57ff254 ("irqchip: Convert all alloc/xlate users from of_node to fwnode") converted the GICv3 driver to using irq_fwspec as part of its 'translate' method. Too bad it ended up with a copy of the GICv2 'translate' method, which screws up LPI translation (by not translating them at all). Restore the code in its original shape, and just change what is really required... Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Duc Dang <dhdang@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444822037-16983-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ffc287c89169705d9a01d48e05453ab0eda631e4 Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:56:06 2015 +0200 ALSA: hdspm: use __u8, __u32 and __u64 from linux/types.h instead of stdint.h Kernel headers should use linux/types.h based definitions. Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a82d24f83de2c63199acead488259fcdf947e90e Author: Mikko Rapeli <mikko.rapeli@xxxxxx> Date: Thu Oct 15 07:55:55 2015 +0200 ALSA: emu10k1: added EMU10K1 version of DECLARE_BITMAP macro for UAPI Fixes userspace compilation error: error: expected specifier-qualifier-list before â??DECLARE_BITMAPâ?? DECLARE_BITMAP(gpr_valid, 0x200); /* bitmask of valid initializers */ DECLARE_BITMAP macro is not meant for userspace headers and thus added here as private copy for emu10k.h. Fix was suggested by Arnd Bergmann <arnd@xxxxxxxx> in message <2168807.4Yxh5gl11Q@wuerfel> and Takashi Iwai <tiwai@xxxxxxx> in message <s5h1thx88tk.wl-tiwai@xxxxxxx> on lkml. Signed-off-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5a1f8c42259a424cfd262185da872764dcc673ad Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Oct 15 10:01:42 2015 +0300 ALSA: oss: underflow in snd_mixer_oss_proc_write() We cap the upper bound of "idx" but not the negative side. Let's make it unsigned to fix this. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6933c35a307cad0b8b847042346dde68866d3d2a Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Wed Oct 14 11:01:05 2015 +0200 s390/dasd: fix list_del corruption after lcu changes A summary unit check occurs when the lcu updates the PAV configuration e.g. base PAV assignment or PAV mode at all. This requires the reset of the drivers internal pavgroups. Therefore the alias devices are flushed and moved via a temporary list to the active_devices list where they are not associated with a pavgroup. In conjunction with updates to the base device the pavgroup may be removed since both base_list and alias_list are empty. Unfortunately during alias flush and move to the active_device list from alias_list the pavgroup pointer is not deleted in the device private structure. This leads to a list del_corruption if another lcu_update tries to move the device in the non existent pavgroup. Fix by removing the pavgroup pointer after the alias device was moved to the active_devices list. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ef2cdccd21513bc8fd2cf9cc2f6894d60382a4b0 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Oct 14 16:48:32 2015 +0200 ARM: mvebu: remove the workaround imprecise abort fault handler This is not needed anymore. Handling a potentially pending imprecise external abort left behind by the bootloader is now done in a slightly safer way inside the common ARM startup code. [gregory.clement@xxxxxxxxxxxxxxxxxx: Beside the Armada 375 Z1 which initially required this, is no more supported] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit db347f1a5304d68c68c52f19971924b1e5842f3c Author: Marcin Wojtas <mw@xxxxxxxxxxxx> Date: Thu Oct 15 03:17:08 2015 +0200 ARM: mvebu: correct a385-db-ap compatible string This commit enables standby support on Armada 385 DB-AP board, because the PM initalization routine requires "marvell,armada380" compatible string for all Armada 38x-based platforms. Beside the compatible "marvell,armada38x" was wrong and should be fixed in the stable kernels too. [gregory.clement@xxxxxxxxxxxxxxxxxx: add information, about the fixes] Fixes: e5ee12817e9ea ("ARM: mvebu: Add Armada 385 Access Point Development Board support") Signed-off-by: Marcin Wojtas <mw@xxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> commit 224f363246c3668452ec0ab5a0ff51824822f3fd Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Thu Oct 1 15:58:03 2015 +0300 KVM: PPC: e500: fix couple of shift operations on 64 bits Fix couple of cases where we shift left a 32-bit value thus might get truncated results on 64-bit targets. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Suggested-by: Scott Wood <scotttwood@xxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 2daab50e17997424af57d1ab14042a51e9a368ab Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Fri Sep 25 18:02:23 2015 +0300 KVM: PPC: e500: Emulate TMCFG0 TMRN register Emulate TMCFG0 TMRN register exposing one HW thread per vcpu. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> [Laurentiu.Tudor@xxxxxxxxxxxxx: rebased on latest kernel, use define instead of hardcoded value, moved code in own function] Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Acked-by: Scott Wood <scotttwood@xxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit d4cd4f9586f87a5fc828b4c4698aa4faf56c96fc Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:23 2015 +0200 KVM: PPC: e500: fix handling local_sid_lookup result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 6a14c2222419daa7ecebc7f566841b9b4d63b397 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Wed Sep 23 18:06:22 2015 +0300 powerpc/e6500: add TMCFG0 register definition The register is not currently used in the base kernel but will be in a forthcoming kvm patch. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> commit 8cbc870829ecd8f1062f2a756683c80e2d1eae7f Author: Pablo Neira <pablo@xxxxxxxxxxxxx> Date: Tue Oct 13 12:47:48 2015 +0200 netfilter: nfnetlink_log: validate dependencies to avoid breaking atomicity Check that dependencies are fulfilled before updating the logger instance, otherwise we can leave things in intermediate state on errors in nfulnl_recv_config(). [ Ken-ichirou reports that this is also fixing missing instance refcnt drop on error introduced in his patch 914eebf2f434 ("netfilter: nfnetlink_log: autoload nf_conntrack_netlink module NFQA_CFG_F_CONNTRACK config flag"). ] Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Tested-by: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> commit 336a3b3ee925362ca720342bbae4f36b2215064a Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Oct 13 12:47:47 2015 +0200 netfilter: nfnetlink_log: consolidate check for instance in nfulnl_recv_config() This patch consolidates the check for valid logger instance once we have passed the command handling: The config message that we receive may contain the following info: 1) Command only: We always get a valid instance pointer if we just created it. In case that the instance is being destroyed or the command is unknown, we jump to exit path of nfulnl_recv_config(). This patch doesn't modify this handling. 2) Config only: In this case, the instance must always exist since the user is asking for configuration updates. If the instance doesn't exist this returns -ENODEV. 3) No command and no configs are specified: This case is rare. The user is sending us a config message with neither commands nor config options. In this case, we have to check if the instance exists and bail out otherwise. Before this patch, it was possible to send a config message with no command and no config updates for an unexisting instance without triggering an error. So this is the only case that changes. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Tested-by: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> commit 99a91c94972d1d583beb4b4854f55984f7cc2dc8 Merge: bbbe29d 9525c4d Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 15 14:17:13 2015 +1000 Merge branch 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next * removes the now unused DRM slave encoder support, which all users have migrated away from, allowing us to simplify the code. * ensure all pending interrupts are processed together, rather than needing the handler to be re-entered each time. * use more HDMI helpers to setup the info frames. * fix EDID read handling by ensuring that we always wait the specified time before attempting to read the EDID, no matter where the EDID read request came from. * 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm/i2c: tda998x: clean up after struct tda998x_priv2 removal drm/i2c: tda998x: kill struct tda998x_priv2 drm/i2c: tda998x: move connector into struct tda998x_priv drm/i2c: tda998x: remove encoder pointer drm/i2c: tda998x: remove DRM slave encoder support drm/i2c: tda998x: use more HDMI helpers drm/i2c: tda998x: handle all outstanding interrupts drm/i2c: tda998x: convert to u8/u16/u32 types drm/i2c: tda998x: re-implement "Fix EDID read timeout on HDMI connect" drm/i2c: tda998x: report whether we actually handled the IRQ drm/i2c: tda998x: remove useless NULL checks commit bbbe29d8e0322bd36053edbd552c228e3111cc0a Merge: d4070ff 7cb410c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 15 14:02:47 2015 +1000 Merge branch 'drm-armada-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next * remove support for the non-component support from the Armada DRM driver, switching it to component-only mode. * create a "armada plane" to allow the primary and overlay planes to share some code. * increase efficiency by using inherently atomic operations, rather than spinlocking to achieve atomicity. Eg, if we want to exchange a value, using xchg(). * increase PM savings by stopping the external pixel clock when we're in DPMS mode. * 'drm-armada-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: drm/armada: move frame wait wakeup into plane work drm/armada: convert overlay plane vbl worker to a armada plane worker drm/armada: move CRTC flip work to primary plane work drm/armada: move frame wait into armada_frame drm/armada: move the locking for armada_drm_vbl_event_remove() drm/armada: move the update of dplane->ctrl0 out of spinlock drm/armada: move write to dma_ctrl0 to armada_drm_crtc_plane_disable() drm/armada: provide a common helper to disable a plane drm/armada: allocate primary plane ourselves drm/armada: add primary plane creation drm/armada: introduce generic armada_plane struct drm/armada: update armada overlay to use drm_universal_plane_init() drm/armada: use xchg() to atomically update dplane->old_fb drm/armada: factor out retirement of old fb drm/armada: rename overlay identifiers drm/armada: redo locking and atomics for armada_drm_crtc_complete_frame_work() drm/armada: disable CRTC clock during DPMS drm/armada: use drm_plane_force_disable() to disable the overlay plane drm/armada: move vbl code into armada_crtc drm/armada: remove non-component support commit f6bba8945e7cff591127be1f6992c3e466cfff4c Merge: f985c65 2b3ddf2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 14 19:14:50 2015 -0700 Merge branch 'mlx-next' Or Gerlitz says: ==================== Mellanox driver update, Oct 14 2015 This series contains two more patches from Eli, patch from Majd to support PCI error handlers and a fix from Jack to mlx4 VFs when probed without a provisioned mac address. The patch set applied on top of net-next commit bbb300e "Merge branch 'bridge-vlan'" changes from V0: - made the health flag int --> bool to address comment from Dave on patch #1 - fixed sparse warning noted by the 0-day build tests in patch #2 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b3ddf27f48c8061f0676c5a8796008099945280 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 14 17:43:48 2015 +0300 net/mlx4_core: Replace VF zero mac with random mac in mlx4_core By design, when no default MAC addresses are set in the Hypervisor for VFs, the VFs are passed zero-macs. When such a MAC is received by the VF, it generates a random MAC address and registers that MAC address with the Hypervisor. This random mac generation is currently done in the mlx4_en module. There is a problem, though, if the mlx4_ib module is loaded by a VF before the mlx4_en module. In this case, for RoCE, mlx4_ib will see the un-replaced zero-mac and register that zero-mac as part of QP1 initialization. Having a zero-mac in the port's MAC table creates problems for a Baseboard Management Console. The BMC occasionally sends packets with a zero-mac destination MAC. If there is a zero-mac present in the port's MAC table, the FW will send such BMC packets to the host driver rather than to the wire, and BMC will stop working. To address this problem, we move the replacement of zero-mac addresses with random-mac addresses to procedure mlx4_slave_cap(), which is part of the driver startup for VFs, and is before activation of mlx4_ib and mlx4_en. As a result, zero-mac addresses will never be registered in the port MAC table by the driver. In addition, when mlx4_en does initialize the net device, it needs to set the NET_ADDR_RANDOM flag in the netdev structure if the address was randomly generated. This is done so that udev on the VM does not create a new device name after each VF probe (VM boot and such). To accomplish this, we add a per-port flag in mlx4_dev which gets set whenever mlx4_core replaces a zero-mac with a randomly-generated mac. This flag is examined when mlx4_en initializes the net-device. Fix was suggested by Matan Barak <matanb@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3297246c2c8cf8548ba722da3e3a8104cdcd035 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Wed Oct 14 17:43:47 2015 +0300 net/mlx5_core: Wait for FW readiness on startup On device initialization, wait till firmware indicates that that it is done with initialization before proceeding to initialize the device. Also update initialization segment layout to match driver/firmware interface definitions. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89d44f0a6c732db23b219be708e2fe1e03ee4842 Author: Majd Dibbiny <majd@xxxxxxxxxxxx> Date: Wed Oct 14 17:43:46 2015 +0300 net/mlx5_core: Add pci error handlers to mlx5_core driver This patch implement the pci_error_handlers for mlx5_core which allow the driver to recover from PCI error. Once an error is detected in the PCI, the mlx5_pci_err_detected is called and it: 1) Marks the device to be in 'Internal Error' state. 2) Dispatches an event to the mlx5_ib to flush all the outstanding cqes with error. 3) Returns all the on going commands with error. 4) Unloads the driver. Afterwards, the FW is reset and mlx5_pci_slot_reset is called and it enables the device and restore it's pci state. If the later succeeds, mlx5_pci_resume is called, and it loads the SW stack. Signed-off-by: Majd Dibbiny <majd@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd76ee4da55abb21babfc69310d321b9cb9a32e0 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Wed Oct 14 17:43:45 2015 +0300 net/mlx5_core: Fix internal error detection conditions The detection of a fatal condition has been updated to take into account the state reported by the device or by detecting an all ones read of the firmware version which indicates that the device is not accessible. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f985c65c908f6b26c30019a83dc5ea295f5fcf62 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 14 06:16:49 2015 -0700 tcp: avoid spurious SYN flood detection at listen() time At listen() time, there is a small window where listener is visible with a zero backlog, triggering a spurious "Possible SYN flooding on port" message. Nothing prevents us from setting the correct backlog. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2f34a65a61cd1ace3b53c93e8b38d2f79f4ff0d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 14 05:58:38 2015 -0700 tcp/dccp: fix potential NULL deref in __inet_inherit_port() As we no longer hold listener lock in fast path, it is possible that a child is created right after listener freed its bound port, if a close() is done while incoming packets are processed. __inet_inherit_port() must detect this and return an error, so that caller can free the child earlier. Fixes: e994b2f0fb92 ("tcp: do not lock listener to process SYN packets") Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb0801dcc17845ef52a19f9f9fbbb88a1a93f9b6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Oct 14 18:30:48 2015 +0800 net: phy: aquantia/teranetics: Convert to use module_phy_driver macro Use module_phy_driver macro to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6ba06b8b9a947a8385769f458611d3c97410226 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Oct 14 17:04:55 2015 +0100 hwrng: stm32 - Fix build with CONFIG_PM Commit c6a97c42e399 ("hwrng: stm32 - add support for STM32 HW RNG") was inadequately tested (actually it was tested quite hard so incompetent would be a better description that inadequate) and does not compile on platforms with CONFIG_PM set. Fix this. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7f0abb1f0f2b110ec38ade73c241fcba30f9112a Author: lipeng <lipeng321@xxxxxxxxxx> Date: Wed Oct 14 10:28:57 2015 +0800 net: hisilicon net: fix a bug about led this patch fixes a bug in hns driver. the link led is on at the beginning, but at this time the ethernet port is on down status. it needs to reset the led status on init sequence. Signed-off-by: lipeng <lipeng321@xxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3074cce904a26bb645d3ee7ab5026cf7ef0a3d1 Author: Karen Xie <kxie@xxxxxxxxxxx> Date: Tue Oct 13 17:13:59 2015 -0700 cxgb4i: Increased the value of MAX_IMM_TX_PKT_LEN from 128 to 256 bytes This helps improving the latency of small packets. Signed-off-by: Rakesh Ranjan <rakesh@xxxxxxxxxxx> Signed-off-by: Karen Xie <kxie@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3503357fb71af9b215541e1959a7db9325c1f0f Merge: 4568637 42160a0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 14 18:36:58 2015 -0700 Merge tag 'linux-can-next-for-4.4-20151013' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-09-17 this is a pull request of 4 patches for net-next/master. Two patches are by Gerhard Bertelsmann, fixing some problems in the sun4i driver. The patch by Arnd Bergmann stops using timeval for the CAN broadcast manager. The last patch by Alexandre Belloni removes the otherwise unused struct at91_can_data from the driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f29d3b2777ae32e995d45247c8234d83894b953 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Oct 14 16:44:35 2015 -0700 Input: gpio_keys_polled - add support for abs/rel axis This changAdd support for EV_ABS / EV_REL events to the gpio-keys-polled driver. The driver already allows specifying what type of events (key / rel / abs) a button generates when pressed, but for rel / abs axis we also need to specify which value this specific gpio represents. One use case is digital joysticks / direction-pads which are hooked up to gpio, in this case we've left and right buttons which we want to map to EV_ABS, ABS_X and we want generate events for left with a value of -1 and for right with a value of +1 (and similar for up / down and ABS_Y). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4ef45148701917fbc08a7c05bc6a3bb0c0573047 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:12:03 2015 -0700 cpufreq: intel_pstate: Avoid calculation for max/min When requested from cpufreq to set policy, look into _pss and get control values, instead of using max/min perf calculations. These calculation misses next control state in boundary conditions. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 053f56def57bfaef14c97d268ef6bc4ebe952720 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:12:02 2015 -0700 Documentation: kernel_parameters for Intel P state driver Added new option "no_acpi" for not using ACPI processor performance control objects in Intel P state driver. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 37afb00032424d684a48d649fcfb8b5e4f17c409 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:12:01 2015 -0700 cpufreq: intel_pstate: Use ACPI perf configuration Use ACPI _PSS to limit the Intel P State turbo, max and min ratios. This driver uses acpi processor perf lib calls to register performance. The following logic is used to adjust Intel P state driver limits: - If there is no turbo entry in _PSS, then disable Intel P state turbo and limit to non turbo max - If the non turbo max ratio is more than _PSS max non turbo value, then set the max non turbo ratio to _PSS non turbo max - If the min ratio is less than _PSS min then change the min ratio matching _PSS min - Scale the _PSS turbo frequency to max turbo frequency based on control value. This feature can be disabled by using kernel parameters: intel_pstate=no_acpi Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3bcc6fa971c06151d6bf90cb0dc80807f71b93f6 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:12:00 2015 -0700 cpufreq: intel-pstate: Use separate max pstate for scaling Systems with configurable TDP have multiple max non turbo p state. Intel P state uses max non turbo P state for scaling. But using the real max non turbo p state causes underestimation of next P state. So using the physical max non turbo P state as before for scaling. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6a35fc2d6c22bafe45117cdc5d8cee332244edbb Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Oct 14 16:11:59 2015 -0700 cpufreq: intel_pstate: get P1 from TAR when available After Ivybridge, the max non turbo ratio obtained from platform info msr is not always guaranteed P1 on client platforms. The max non turbo activation ratio (TAR), determines the max for the current level of TDP. The ratio in platform info is physical max. The TAR MSR can be locked, so updating this value is not possible on all platforms. This change gets this ratio from MSR TURBO_ACTIVATION_RATIO if available, but also do some sanity checking to make sure that this value is correct. The sanity check involves reading the TDP ratio for the current tdp control value when platform has configurable TDP present and matching TAC with this. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Acked-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 362414d9d2824ee0f4910a73e880860a90e75c3c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 22 15:29:25 2015 +0300 ACPI / tables: test the correct variable The intent was to test "proc[i].handler" instead of "proc->handler". Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d81056b5278c520f1dede99bd59c14366ac8b1e1 Author: Lukasz Anaczkowski <lukasz.anaczkowski@xxxxxxxxx> Date: Wed Sep 9 15:47:29 2015 +0200 x86, ACPI: Handle apic/x2apic entries in MADT in correct order ACPI specifies the following rules when listing APIC IDs: (1) Boot processor is listed first (2) For multi-threaded processors, BIOS should list the first logical processor of each of the individual multi-threaded processors in MADT before listing any of the second logical processors. (3) APIC IDs < 0xFF should be listed in APIC subtable, APIC IDs >= 0xFF should be listed in X2APIC subtable Because of above, when there's more than 0xFF logical CPUs, BIOS interleaves APIC/X2APIC subtables. Assuming, there's 72 cores, 72 hyper-threads each, 288 CPUs total, listing is like this: APIC (0,4,8, .., 252) X2APIC (258,260,264, .. 284) APIC (1,5,9,...,253) X2APIC (259,261,265,...,285) APIC (2,6,10,...,254) X2APIC (260,262,266,..,286) APIC (3,7,11,...,251) X2APIC (255,261,262,266,..,287) Now, before this patch, due to how ACPI MADT subtables were parsed (BSP then X2APIC then APIC), kernel enumerated CPUs in reverted order (i.e. high APIC IDs were getting low logical IDs, and low APIC IDs were getting high logical IDs). This is wrong for the following reasons: () it's hard to predict how cores and threads are enumerated () when it's hard to predict, s/w threads cannot be properly affinitized causing significant performance impact due to e.g. inproper cache sharing () enumeration is inconsistent with how threads are enumerated on other Intel Xeon processors So, order in which MADT APIC/X2APIC handlers are passed is reverse and both handlers are passed to be called during same MADT table to walk to achieve correct CPU enumeration. In scenario when someone boots kernel with options 'maxcpus=72 nox2apic', in result less cores may be booted, since some of the CPUs the kernel will try to use will have APIC ID >= 0xFF. In such case, one should not pass 'nox2apic'. Disclimer: code parsing MADT APIC/X2APIC has not been touched since 2009, when X2APIC support was initially added. I do not know why MADT parsing code was added in the reversed order in the first place. I guess it didn't matter at that time since nobody cared about cores with APIC IDs >= 0xFF, right? This patch is based on work of "Yinghai Lu <yinghai@xxxxxxxxxx>" previously published at https://lkml.org/lkml/2013/1/21/563 Here's the explanation why parsing interface needs to be changed and why simpler approach will not work https://lkml.org/lkml/2015/9/7/285 Signed-off-by: Lukasz Anaczkowski <lukasz.anaczkowski@xxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> (commit message) Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9b3fedde27d3d63055c43c05e8254e252e58ba48 Author: Lukasz Anaczkowski <lukasz.anaczkowski@xxxxxxxxx> Date: Wed Sep 9 15:47:28 2015 +0200 ACPI / tables: Add acpi_subtable_proc to ACPI table parsers ACPI subtable parsing needs to be extended to allow two or more handlers to be run in the same ACPI table walk, thus adding acpi_subtable_proc structure which stores () ACPI table id () handler that processes table () counter how many items has been processed and passing it to acpi_parse_entries_array() and acpi_table_parse_entries_array(). This is needed to fix CPU enumeration when APIC/X2APIC entries are interleaved. Signed-off-by: Lukasz Anaczkowski <lukasz.anaczkowski@xxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1cd99abb5c94733a43ee4dc81dd62e0f7d8c9ff0 Author: Lubomir Rintel <lkundrak@xxxxx> Date: Sun Oct 11 21:37:17 2015 +0200 ARM: bcm2835: dt: Add Raspberry Pi Model A+ Essentially the same as B+. Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 3f37169fb36497dec8f3fad14d835747d5552aa5 Author: Lubomir Rintel <lkundrak@xxxxx> Date: Sun Oct 11 21:37:16 2015 +0200 ARM: bcm2835: dt: Add Raspberry Pi Model B rev2 This one has an extra P5 header (unpopulated) with I2S. Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 645dccb1c132d42dff26ef3d00cf0b903743d99e Author: Lubomir Rintel <lkundrak@xxxxx> Date: Sun Oct 11 21:37:15 2015 +0200 ARM: bcm2835: dt: Raspberry Pi Model B had no I2S It's the Model B rev2 that had it. Remove it. Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 755f121efede867a176bf016f307dc933119d620 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Fri Oct 2 18:31:15 2015 +0000 ARM: bcm2835: add label for uart0 This patch adds a label for uart0 to allow changing of uart0 pins. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> commit 4e3d60656a7235b6b6e86d7ef48b0394276c35b5 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Feb 26 10:08:06 2015 +0000 ARM: bcm2835: Add the Raspberry Pi firmware driver This gives us a function for making mailbox property channel requests of the firmware, which is most notable in that it will let us get and set clock rates. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> commit d975440bf80cfe4afa628141760a4a4151e58dc4 Author: Marek Vasut <marex@xxxxxxx> Date: Sat Sep 19 06:42:21 2015 +0200 asm-generic: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations This change is similar to e001bbae7147b111fe1aa42beaf835635f3c016e ARM: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations A recent change in kernel/acct.c added a new warning for many configurations using generic __xchg() implementation: In file included from ./arch/nios2/include/asm/cmpxchg.h:12:0, from include/asm-generic/atomic.h:18, from arch/nios2/include/generated/asm/atomic.h:1, from include/linux/atomic.h:4, from include/linux/spinlock.h:406, from include/linux/mmzone.h:7, from include/linux/gfp.h:5, from include/linux/mm.h:9, from kernel/acct.c:46: kernel/acct.c: In function 'acct_pin_kill': include/asm-generic/cmpxchg.h:94:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\ ^ include/asm-generic/cmpxchg.h:102:28: note: in expansion of macro 'cmpxchg_local' #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n)) ^ kernel/acct.c:177:2: note: in expansion of macro 'cmpxchg' cmpxchg(&acct->ns->bacct, pin, NULL); ^ The code is in fact correct, it's just a cmpxchg() call that intentionally ignores the result, and no other code does that. The warning does not show up on x86 because of the way that its cmpxchg() macro is written. This changes the asm-ggeneric implementation to use a similar construct with a compound expression instead of a typecast, which causes the compiler to not complain about an unused result. Fix the other macros in this file in a similar way, and place them just below their function implementations. Signed-off-by: Marek Vasut <marex@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 16c3bd35413126ae3e545ea5cd256c80ae755dd2 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:22 2015 +0200 gpio-mxc: stop including <asm-generic/bug> <asm-generic/bug> contains the default implementation of BUG() and friends, which architectures may decide to use. The proper way to get them is <linux/bug.h>, so use that. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit eecbf54fdd164ec8e396caa5b093a183195cacdb Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:21 2015 +0200 n_tracesink: stop including <asm-generic/bug> <asm-generic/bug> contains the default implementation of BUG() and friends, which architectures may decide to use. The proper way to get them is <linux/bug.h>, so use that. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit c7b918050d2a84c12033c8fe69e65844aafad67c Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:20 2015 +0200 n_tracerouter: stop including <asm-generic/bug> <asm-generic/bug> contains the default implementation of BUG() and friends, which architectures may decide to use. The proper way to get them is <linux/bug.h>, so use that. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit adec640e03668e42f30f3b09c0b4d60d44545f6f Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:19 2015 +0200 mlx5: stop including <asm-generic/kmap_types.h> <linux/highmem.h> is the placace the get the kmap type flags, asm-generic files are generic implementations only to be used by architecture code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit ac8427b9ebf541e42f18bf298997d8765b513d51 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:18 2015 +0200 hifn_795x: stop including <asm-generic/kmap_types.h> <linux/highmem.h> is the placace the get the kmap type flags, asm-generic files are generic implementations only to be used by architecture code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dbcbdc432b24ef708f9733a17b16fe58ed143afd Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:17 2015 +0200 drbd: stop including <asm-generic/kmap_types.h> <linux/highmem.h> is the placace the get the kmap type flags, asm-generic files are generic implementations only to be used by architecture code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit a1164a3ac75feeab86f6c02fabdfbf24b81e3c1a Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:15 2015 +0200 move count_zeroes.h out of asm-generic This header contains a few helpers currenly only used by the mpi implementation, and not default implementation of architecture code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2f8e2c877784a0b23f02b41550170a24e14f5c95 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Aug 28 09:27:14 2015 +0200 move io-64-nonatomic*.h out of asm-generic These are not implementations of default architecture code but helpers for drivers. Move them to the place they belong to. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Acked-by: Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 28496be98e5e3761ed146bbc82e18f6a7bb5200b Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:39:51 2015 +0200 ARM: pxa: magician: Remove pdata for pasic3-leds The pasic3-leds driver was never in vanilla kernel. Actual configuration data for a hypothetical driver does not describe hardware completely, so remove them. This patch prepare HTC Magician machine code to pasic3-leds driver addition. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 31134b515f94050723e8841232b7979e52db2601 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:39:33 2015 +0200 ARM: pxa: magician: Add support for PXA27x UDC A PXA27x SoC supports USB device mode, this patch adds support for that. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit ff5eff35c1a268f99c0d0f0877ee388c27cce4d8 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:39:03 2015 +0200 ARM: pxa: magician: Add support for MAX1587A Vcore regulator HTC Magician contains a MAX1587A voltage regulator for a Vcore supply. The Vcore regulation is required for a CPU speed switching. This patch adds declaration for the max1586 driver. Notice: - MAX1587A version does not support the V6 (USIM) output. - A boost resistor was directly measured for a board_id 0x3a. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit f36150b179124f153d6c5a2df4057be801d7f252 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:10:18 2015 +0200 ARM: pxa: magician: Change comments to be more informative This patch changes the comments in the HTC Magician machine source code to better describe used devices and interfaces. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 78afa4fcf4c10ef5bf9828c94443792257159d88 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:42:23 2015 +0200 ARM: pxa: magician: Move platform_add_devices() to the end of magician_init() This patch moves platform_add_devices() (standard declaration of devices) outside of the platform specific device declarations. Moving to the end of the magician_init() clarifies the source code (standard and specific declaration are not mixed). Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit e2f1b8b0ad1e8bd083241a79c179448ec7994b2a Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:40:57 2015 +0200 ARM: pxa: magician: Add missing regulator for PWM backlight Add a fake regulator, which is required for the correct initialization of the PWM backlight driver. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> [ added a missing include for fixed regulator ] Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 539122ad349af70a6780291f7c4a5d7bf17a5b59 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:40:44 2015 +0200 ARM: pxa: magician: Add debug message for backlight brightness function Add a debug message for the backlight brightness function. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit d8ba1c17fb639b060f1b036ec510421e0ad322d4 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:40:23 2015 +0200 ARM: pxa: magician: Remove definition of the STUART port Magician STUART port is connected to the infraport and used by the FICP driver. The FICP driver uses its own definition. Required for correct initialization of the pxaficp_ir driver after planned dmaengine conversion. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 2eb7414a9f793ab1a97b53fbef67546a00815fd4 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:38:03 2015 +0200 ARM: pxa: magician: Fix wrongly enabled USB host ports USB host ports on the HTC Magician are wrongly enabled. Port 1 is for bluetooth and port 2 is for OTG (mux in the charger connector). Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit fdb902b6fca4c4b72cf8131114bc4e6610b3cc24 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:34:39 2015 +0200 ARM: pxa: magician: Fix support for Intel Strata NOR Flash Old definition for the physmap-flash driver is incomplete: - Use of an EGPIO without previous request - Missing the MTD partitions This patch fixes it. Read functionality was tested on the machine with board_id 0x3a. Writing was not tested. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 0f073e3e0c156eca99ce021529b2f914d1d465ff Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:34:18 2015 +0200 ARM: pxa: magician: Fix redundant GPIO request for pxaficp_ir The pxaficp_ir driver requests a power GPIO for the transceiver internally, so a global GPIO allocation in magician_init() is redundant. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 0fb58abb5d75eea47e001ef47ad8cbca545ac4ca Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:33:55 2015 +0200 ARM: pxa: magician: Fix platform data for both PXA27x I2C controllers This patch changes fast_mode settings for the normal and power I2C controller on the HTC Magician machine. Connected device on the Power I2C: - MAX1587A: working in the fast mode Connected devices on the Normal I2C: - UDA1380: working in the fast mode - OV9640: bus became stuck in the fast mode The OV9640 is not using a standard I2C protocol, but an SCCB variant. Maybe it is not fully compatible in the fast mode. Therefore fast mode for normal I2C is disabled. If you not using the OV9640 then you can enable the fast mode for the UDA1380. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> [included Philipp Zabel's comment change] Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit eac2eacc3056842b7dae8ed5ea1edd1a5e966dd8 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:33:02 2015 +0200 ARM: pxa: magician: Fix and add charging detection functions This patch fixes the charging detection functions for pda_power driver (according to newly discovered EGPIOs) and add NiCd backup accumulator charging support. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit e7b97a4ce74ad44a419759b008edc75390aab20c Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:32:12 2015 +0200 ARM: pxa: magician: Optimize Samsung LCD refresh to 50Hz Change the default Samsung LCD refresh from an unrealistic 117Hz to 50Hz as no video applications on the HTC Magician can work that fast. The optimalization lowers the RAM latency at least by 3%. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit f78b3a126bf40535444a1fe087826019b3d72594 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:32:40 2015 +0200 ARM: pxa: magician: Rename charger cable detection EGPIOs This patch renames EGPIOs, which are used for the charging cable presence and type detection. Old names did not correspond with an observed functionality (on board_id 0x3a). The behavior is not: - AC charger - USB charger - Cable detection , but: - AC/USB type - Cable detection1 - Cable detection2 This patch fixes a possible typo in the bit offset for the cable detection EGPIO declaration, too. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit fa5407ad9cd9aa41e00102073958475a89ac5456 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:16:14 2015 +0200 ARM: pxa: magician: Optimize powerup delays for Samsung LCD Delays for the Samsung LCD are greater than needed. These values were extracted from a datasheet. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 6001ae70ea2ed592c45ab927bac21d881747e42a Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:15:57 2015 +0200 ARM: pxa: magician: Rename abstract LCD GPIOs This patch renames GPIOs, which are used to control the power lines to the LCD screen. New names correspond to a real functionality, which was measured on the HTC Magician board_id 0x3a. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 02b0d34f297ea60554b8de9567927f7d55e595a8 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:15:19 2015 +0200 ARM: pxa: magician: Add new discovered EGPIO pins This patch adds EGPIO pins: Infra transceiver power, NiCD charging and inserted charger cable. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 6382a5947962144006e871a548616822e09a6763 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:11:34 2015 +0200 ARM: pxa: magician: Change description of LCD power GPIO This patch changes the description of the LCD power GPIO to be more specific. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit dedad4d289d84a276a79998ad0b9c4300e3cfc48 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:11:11 2015 +0200 ARM: pxa: magician: Optimize debug messages for LCD power Optimize the debug messages for the LCD power. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 7f63a752c695ed1c989d9bb4f607fa5f3b669277 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:10:43 2015 +0200 ARM: pxa: magician: Print more specific error message for global GPIOs Print more specific error message for global GPIOs. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit ccb6f9aec3138adf72e51460bcf1646d6d899446 Author: Petr Cvek <petr.cvek@xxxxxx> Date: Mon Sep 28 23:09:52 2015 +0200 ARM: pxa: magician: Fix indentation in machine files This patch fixes the indentation for the HTC Magician machine definition. Signed-off-by: Petr Cvek <petr.cvek@xxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 6f26f6f5d1469bdf5f4c2df94949f404f68f52d3 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:57 2015 +0200 ARM: pxa: zylonite: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit a3827639a36ab2886d2254d74372dafff54c5365 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:56 2015 +0200 ARM: pxa: z2: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 5a4412d4a82f956330998275439311555ccb8744 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:54 2015 +0200 ARM: pxa: tavorevb: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 783bc78836563af4e874124cbe1db360a0b597b6 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:41 2015 +0200 ARM: pxa: cm-x300: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit bfcb311744cf4a6d99602b022daabfc107bb35ca Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:50 2015 +0200 ARM: pxa: palmtc: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 18999cba54f7f117ae7b2da01b4ad52f42d4e18c Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:55 2015 +0200 ARM: pxa: viper: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 390f829878b2dafccfaa77d2ea8d95a62238d5e0 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:53 2015 +0200 ARM: pxa: raumfeld: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 542789d2f7834aae5978196b5286b984e52d41d9 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:52 2015 +0200 ARM: pxa: pcm990: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit f5a3b55287dd571967c8b83927cb8740fa977426 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:51 2015 +0200 ARM: pxa: palmte2: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit e2d5b780aacea75777a93953e6967886014ad4f0 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:49 2015 +0200 ARM: pxa: palm27x: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 64c644a40dedd23e9d80d24095ac1a2ab0799ca6 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:48 2015 +0200 ARM: pxa: mioa701: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit a6bedd11dad4ea53ffe195fdeec7053640754581 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:47 2015 +0200 ARM: pxa: mainstone: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> [ split pwm_remove_table() call on 2 lines ] Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 2fcef6ec87a044221fc3c2f16873f7c02b9ae991 Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Tue Oct 13 11:14:23 2015 +0800 drm/amdgpu: fix lockup when clean pending fences The first lockup fence will lock the fence list of scheduler. Then cancel the delayed workqueues for all clean pending fences without waiting the workqueues to finish. Change-Id: I9bec826de1aa49d587b0662f3fb4a95333979429 Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 2440ff2c9151120c8ae27de6565b11831ee07e08 Author: Junwei Zhang <Jerry.Zhang@xxxxxxx> Date: Sat Oct 10 08:48:42 2015 +0800 drm/amdgpu: add timer to fence to detect scheduler lockup Change-Id: I67e987db0efdca28faa80b332b75571192130d33 Signed-off-by: Junwei Zhang <Jerry.Zhang@xxxxxxx> Reviewed-by: David Zhou <david1.zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit d6c10f6b81e340e7d2d337183517a6da739d5ba2 Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Sep 28 12:00:23 2015 +0200 drm/amdgpu: add VM CS mapping trace point Output all VM mappings a command submission uses. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b495bd3a54e732e846bfde49ba2ea93b62b1de91 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 10 14:00:35 2015 +0200 drm/amdgpu: add option to clear VM page tables after every submit This makes it much easier to find when userspace misses to send some buffers. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d9c13156a628cc9f8f062f2c10e2bff55b92aaab Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Sep 28 12:31:26 2015 +0200 drm/amdgpu: add option to stop on VM fault Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ce0c6bcda6d0d9fc9df65dccb46a68b79ba6f018 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 10 15:00:39 2015 +0200 drm/amdgpu: only print meaningful VM faults Port of radeon commit 9b7d786b900baf7c0d1a7e211570aef1cb27590f. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 39ff8449c5680466f568be57fbf79845ff5529ab Author: Christian König <christian.koenig@xxxxxxx> Date: Mon Sep 28 12:01:20 2015 +0200 drm/amdgpu: also trace already allocated VMIDs Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3d2ce0d2394c82ac2ab7be8746eaa75042f2c997 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Mon Oct 12 11:54:18 2015 +0200 drm/amdgpu: Drop unnecessary #include <linux/vga_switcheroo.h> This was added to two radeon files even though they don't use any vga_switcheroo symbols, the amdgpu fork inherited them: Added to amdgpu_acpi.c by commit d7a2952f1ade ("drm/radeon: Add support for the ATIF ACPI method to the radeon driver"). Added to amdgpu_bios.c by commit 6a9ee8af344e ("vga_switcheroo: initial implementation (v15)"). Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 471577447a9af5f33435496c121343c5282ff3f5 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Mon Oct 12 11:15:17 2015 +0200 drm/radeon: Drop unnecessary #include <linux/vga_switcheroo.h> This was added to three files even though they don't use any vga_switcheroo symbols: Added to radeon_acpi.c by commit d7a2952f1ade ("drm/radeon: Add support for the ATIF ACPI method to the radeon driver"). Added to radeon_asic.c by commit 0a10c85129c2 ("drm/radeon: create radeon_asic.c"). Added to radeon_bios.c by commit 6a9ee8af344e ("vga_switcheroo: initial implementation (v15)"). Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7dfac8965f8e108985bee38c746db2fe53314cc9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 9 11:38:49 2015 -0400 drm/amdgpu: clean up pageflip interrupt handling Check to make sure we aren't touching a non-existent display controller and simplify the code. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c113ea1c4f4a7592f17e53d658873b83af0dbb4b Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 8 16:30:37 2015 -0400 drm/amdgpu: rework sdma structures Rework the sdma structures in the driver to consolidate all of the sdma info into a single structure and allow for asics that may have different numbers of sdma instances. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 756e6880c51376d2e4d53050582d66d88fc281c7 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 8 00:03:36 2015 -0400 drm/amdgpu: unpin cursor BOs on suspend and pin them again on resume Everything is evicted from VRAM before suspend, so we need to make sure all BOs are unpinned and re-pinned after resume. Fixes broken mouse cursor after resume introduced by commit b9729b17. Port of radeon commit: f3cbb17bcf676a2fc6aedebe9fbebd59e550c51a Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a2df42da61109653782949789ffe6c358e5d2685 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 23:46:49 2015 -0400 drm/amdgpu/dce8: Fold set_cursor() into show_cursor() Port of radeon commit: 8991668ab4e26f985a8485719bce5d6d0623a644 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 72b400675a900e80a75cad57db6aa726c68ffb3f Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 8 11:31:58 2015 -0400 drm/amdgpu/dce8: Clean up reference counting and pinning of the cursor BOs Take a GEM reference for and pin the new cursor BO, unpin and drop the GEM reference for the old cursor BO in dce8 crtc_cursor_set2, and use amdgpu_crtc->cursor_addr in dce8 set_cursor. This fixes dce8 cursor_reset accidentally incrementing the cursor BO pin count, and cleans up the code a little. Port of radeon commit: cd404af0c930104462aa91344f07d002cf8248ed Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c4e0dfadb2d4c054ca06641da77294fd5c61725a Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 23:38:03 2015 -0400 drm/amdgpu/dce8: Move hotspot handling out of set_cursor It's only needed in dce8 crtc_cursor_set2. Port of radeon commit: 2e007e611bc0a46dfed1547e0228a57f800e703d Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fd70cf63e24a0cf3105853e3b59eaa52d8b9df17 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 23:34:57 2015 -0400 drm/amdgpu/dce8: Re-show the cursor after a modeset (v2) Setting a mode seems to clear the cursor registers, so we need to re-program them to make sure the cursor is visible. Port of radeon commit: 6d3759fac636028849f3bbec80c4b77e9bfdb1d2 v2: change radeon reference in error message Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 77ed35b889e38775649ed985048cac8c134cd3a3 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 23:26:15 2015 -0400 drm/amdgpu/dce8: Use cursor_set2 hook for enabling / disabling the HW cursor The cursor_set2 hook provides the cursor hotspot position within the cursor image. When the hotspot position changes, we can adjust the cursor position such that the hotspot doesn't move on the screen. This prevents the cursor from appearing to intermittently jump around on the screen when the position of the hotspot within the cursor image changes. Port of radeon commits: 78b1a6010b46a69bcd47b723a80f92693f26d17b 3feba08d79c32777a845c3c8a4ab93092bdf6f19 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ec9353dca9a02b429f31ac58ec7b55ee61757441 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 23:20:45 2015 -0400 drm/amdgpu/dce11: Fold set_cursor() into show_cursor() Port of radeon commit: 8991668ab4e26f985a8485719bce5d6d0623a644 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 232cc6520a6c84a3e5acd075605ddc1bca6bd157 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 8 11:28:49 2015 -0400 drm/amdgpu/dce11: Clean up reference counting and pinning of the cursor BOs Take a GEM reference for and pin the new cursor BO, unpin and drop the GEM reference for the old cursor BO in dce11 crtc_cursor_set2, and use amdgpu_crtc->cursor_addr in dce11 set_cursor. This fixes dce11 cursor_reset accidentally incrementing the cursor BO pin count, and cleans up the code a little. Port of radeon commit: cd404af0c930104462aa91344f07d002cf8248ed Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1996ea09cd89a5bba8b1e193e08850e273046fd6 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 17:25:54 2015 -0400 drm/amdgpu/dce11: Move hotspot handling out of set_cursor It's only needed in dce11 crtc_cursor_set2. Port of radeon commit: 2e007e611bc0a46dfed1547e0228a57f800e703d Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8ddef5a5e51435075b9412698519f8ddb36ee53c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 17:22:23 2015 -0400 drm/amdgpu/dce11: Re-show the cursor after a modeset (v2) Setting a mode seems to clear the cursor registers, so we need to re-program them to make sure the cursor is visible. Port of radeon commit: 6d3759fac636028849f3bbec80c4b77e9bfdb1d2 v2: change radeon reference in error output Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d8ee89c6393d78b52b42fe0f188fe382fa8fc162 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Oct 7 17:07:01 2015 -0400 drm/amdgpu/dce11: Use cursor_set2 hook for enabling / disabling the HW cursor The cursor_set2 hook provides the cursor hotspot position within the cursor image. When the hotspot position changes, we can adjust the cursor position such that the hotspot doesn't move on the screen. This prevents the cursor from appearing to intermittently jump around on the screen when the position of the hotspot within the cursor image changes. Port of radeon commits: 78b1a6010b46a69bcd47b723a80f92693f26d17b 3feba08d79c32777a845c3c8a4ab93092bdf6f19 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3c681718b4bf73d80fd6a11033e12fd4402a7a1c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Sep 25 09:51:59 2015 -0400 drm/amdgpu/dce10: Fold set_cursor() into show_cursor() Port of radeon commit: 8991668ab4e26f985a8485719bce5d6d0623a644 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f9242d1baff77aa148a6220f906870611dbc4746 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 8 11:25:38 2015 -0400 drm/amdgpu/dce10: Clean up reference counting and pinning of the cursor BOs Take a GEM reference for and pin the new cursor BO, unpin and drop the GEM reference for the old cursor BO in dce10 crtc_cursor_set2, and use amdgpu_crtc->cursor_addr in dce10 set_cursor. This fixes dce10 cursor_reset accidentally incrementing the cursor BO pin count, and cleans up the code a little. Port of radeon commit: cd404af0c930104462aa91344f07d002cf8248ed Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ef67e38cfe63c70b7901bd5fdb8a170a94b2ef69 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 24 17:46:19 2015 -0400 drm/amdgpu/dce10: Move hotspot handling out of set_cursor It's only needed in dce10 crtc_cursor_set2. Port of radeon commit: 2e007e611bc0a46dfed1547e0228a57f800e703d Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit dd0b5d2f886daced723c374fdb0e013e6186493b Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 24 17:43:09 2015 -0400 drm/amdgpu/dce10: Re-show the cursor after a modeset (v2) Setting a mode seems to clear the cursor registers, so we need to re-program them to make sure the cursor is visible. Port of radeon commit: 6d3759fac636028849f3bbec80c4b77e9bfdb1d2 v2: change radeon reference in error message Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 29275a9b09ce2abd8fa01268b217c0b56ff22d83 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 24 17:29:44 2015 -0400 drm/amdgpu/dce10: Use cursor_set2 hook for enabling / disabling the HW cursor The cursor_set2 hook provides the cursor hotspot position within the cursor image. When the hotspot position changes, we can adjust the cursor position such that the hotspot doesn't move on the screen. This prevents the cursor from appearing to intermittently jump around on the screen when the position of the hotspot within the cursor image changes. Port of radeon commits: 78b1a6010b46a69bcd47b723a80f92693f26d17b 3feba08d79c32777a845c3c8a4ab93092bdf6f19 Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c2fe16aa36d2bc976f7e79600d3a118fafdcc8dc Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 2 14:26:41 2015 -0400 drm/amdgpu/atom: add support for new div32 opcodes (v3) Better precision than the regular div opcode. v2: drop 64 bit divide v3: fix op handling. This actually is a 64 bit divide. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c9c145021f8fc8445fb07d16073696330b6186c8 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 2 14:16:11 2015 -0400 drm/amdgpu/atom: add support for new mul32 opcodes (v2) Better precision than the regular mul opcode. v2: handle big endian properly. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 554384198c11717d9d9fdb2c9aa83ab78cd50fdf Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 2 14:03:26 2015 -0400 drm/amdgpu/atom: add support for process ds opcode Just skips a data section. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f76097c099ab84befce13c0cbc827ece6ea3bcdb Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Fri Oct 2 13:53:33 2015 -0400 drm/amdgpu/atom: implement debug opcode Basically a nop. Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f9e5ca86eeaae430e70b05ec312372dca1055d8d Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Thu Oct 1 12:52:40 2015 +0200 ARM: meson6: DTS: Fix wrong reg mapping and IRQ numbers The DTS erronously uses the wrong reg mapping and IRQ numbers for some UART, WDT and timer nodes. Fix this. Reported-by: John Wehle <john@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d0bfd7c9b162612de55ca2d204403b90dc278db6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 8 13:34:09 2015 -0500 soc: qcom: smem: Move RPM message ram out of smem DT node SMEM is a software construct built on top of a DDR reserved region and sometimes a device memory region called RPM message ram. Having the RPM message ram in the smem DT node's reg property leads to the smem node being located in different places depending on if the message ram is being used or not. Let's add a qcom specific property, qcom,rpm-msg-ram, and point to the device memory from the SMEM node via a phandle. As SMEM is a software construct, it really needs to reside at the root of the DT regardless of whether it's using the message ram or not. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit a8ddd1b998bdad9489876a3068cc45917bee5441 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Oct 13 13:57:43 2015 -0700 soc: qcom: smd-rpm: Correct the active vs sleep state flagging The BIT() was incorrectly inherited from family A and should not be used on family B where the state is denoted by an enum. Reported-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Tested-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 6083096d961f3cf754c4da282179053f7b85ac16 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Oct 12 22:43:15 2015 +0200 soc: qcom: smd: delete unneeded of_node_put Device node iterators perform an of_node_put on each iteration, so putting an of_node_put before a continue results in a double put. A simplified version of the semantic match that finds this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; iterator i; @@ i(..., child, ...) { ... when != of_node_get(child) * of_node_put(child); ... * continue; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 33e38b4f1c54f9c2d3b2034c18ef937a3c09bc66 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 16:56:19 2015 +0200 firmware: qcom-scm: build for correct architecture level The ".arch_extension sec" directive is only available on ARMv6 or higher, so if we enable the SCM driver while building a kernel for an older CPU, we get a build error: /tmp/ccUyhMOY.s:130: Error: selected processor does not support ARM mode `smc #0' /tmp/ccUyhMOY.s:216: Error: selected processor does not support ARM mode `smc #0' /tmp/ccUyhMOY.s:373: Error: selected processor does not support ARM mode `smc #0' make[4]: *** [drivers/firmware/qcom_scm-32.o] Error 1 This changes the Makefile so we pass the ARMv7 architecture level both for the check and for the actual compilation of the scm driver. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit ea4683e0b6c38ed54e5a66160c99d65f5022ecb2 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Oct 9 22:06:44 2015 -0700 soc: qcom: smd: Correct SMEM items for upper channels Update the SMEM items for the second set of SMD channels, as these where incorrect. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 2d3c277ca5b1a9c12cde1f760ff925b87608bc76 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Sep 29 15:48:55 2015 -0400 qcom-scm: add missing prototype for qcom_scm_is_available() Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit c7b7c609493da428bd5af19d522b14a912b8ea3e Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Sep 29 15:48:53 2015 -0400 qcom-scm: fix endianess issue in __qcom_scm_is_call_available Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit a208ca98ff63e5c94d03810bc80fee9b02fe9972 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Thu Sep 24 18:37:18 2015 -0700 soc: qcom: smd: Reject send of too big packets Attempting to find room for a packet that's bigger than the fifo will never succeed and the calling process will be sleeping forever in the loop, waiting for enough room. So fail early instead. Reported-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 24f60e3776e340136f8d822aff75fe06b78a315f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Sep 17 14:50:53 2015 -0700 soc: qcom: smd: Handle big endian CPUs The smd structures are always in little endian, but the smd driver is not capable of being used on big endian CPUs. Annotate the little endian data members and update the code to do the proper byte swapping. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 30b7ea5eda0afb13164b2d7049a56645cfc1d47b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:50 2015 -0700 soc: qcom: smd_rpm: Handle big endian CPUs The smd rpm structures are always in little endian, but this driver is not capable of being used on big endian CPUs. Annotate the little endian data members and update the code to do the proper byte swapping. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 50e1b29b4438bdb0be61ff41e6925cab6f8a9284 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:48 2015 -0700 soc: qcom: smd: Remove use of VLAIS Usage of VLAIS prevents clang from compiling this file, and it also opens us to the possibility of allocating a large structure on the stack to the point that we blow past the limit of the kernel stack. Remove the VLAIS and allocate a structure on the heap with kmalloc so that we're safer and more clang friendly. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 3b781e55c6cb1afa5da7b2b1b2bb1b0c9ee7bf97 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:47 2015 -0700 soc: qcom: smd: Use __iowrite32_copy() instead of open-coding it We already have a function to do this and it silences some sparse warnings along the way. Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit f02dc82523a72619a10e24355c7b2f12c6814d52 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:46 2015 -0700 soc: qcom: smd: Represent channel layout in structures The rx and tx channel info are laid out in memory next to each other, and there are two types of channel info structures, byte based and word based. We have 4 pointers to these info structures, when we really only need two to point to the different types of structures. Encapsulate the byte based and word based tx/rx structures in a "channel pair" structure that describes the layout of memory and reduces the number of pointers in the smd channel structure by two. Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 9806884d8cd552e6926c162a022cc4b948f4abc8 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:45 2015 -0700 soc: qcom: smem: Handle big endian CPUs The contents of smem are always in little endian, but the smem driver is not capable of being used on big endian CPUs. Annotate the little endian data members and update the code to do the proper byte swapping. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 1a03964dec3cecb6382d172b9dfe318735c2cad7 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:44 2015 -0700 soc: qcom: Make qcom_smem_get() return a pointer Passing a void ** almost always requires a cast at the call site. Instead of littering the code with casts every time this function is called, have qcom_smem_get() return a void pointer to the location of the smem item. This frees the caller from having to cast the pointer. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 7d0c8beea6b8d158d9a628b798dfc1638a7a8ce0 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 28 11:23:33 2015 -0700 soc: qcom: Reorder SMEM/SMD configs When I make nconfig, having the SMEM option after the SMD option causes the configurator to get confused when I'm enabling and disabling these options. Let's move SMEM before SMD so there's a clear indented dependency chain. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit f8c67df71bcdd863d623985c9e8dc78368c862db Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 28 11:18:49 2015 -0700 soc: qcom: smem: Avoid NULL pointer exception on remove Don't set a pointer to NULL and then dereference it in the next line. Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 1a7caca20ed56a80cea045327deaeb4e4379cbd1 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Aug 28 10:39:20 2015 -0700 soc: qcom: smd: Implement id_table driver matching Implement a id_table based driver maching mechanism for drivers that binds to fixed channels and doesn't need any additional configuration, e.g. IPCRTR and DIAG. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit d42f265a5d7a352d40fa2911666cd5236bc3ccaf Author: Tero Kristo <t-kristo@xxxxxx> Date: Wed Oct 14 14:49:16 2015 +0300 ARM: OMAP3: clock: remove un-used core dpll re-program code Remove the OMAP3 core DPLL re-program code, and the associated SRAM code that does the low-level programming of the DPLL divider, idling of the SDRAM etc. This code was never fully implemented in the kernel; things missing were driver side handling of core clock changes (they need to account for their functional clock rate being changed on-the-fly), and the whole framework required for handling this. Thus, there is not much point to keep carrying the low-level support code either. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit be146412501bc2ed49183637605da97f47125696 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Oct 13 20:31:47 2015 +0300 ARM: dts: omap3-igep: Use OMAP3_CORE1_IOPAD pinmux macro Use the macro instead of absolute register offsets to make the code more readable as the values now match register addresses from the datasheet. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2445a9c5f0de77377da2c7e7163be8488b3d6e7b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Oct 14 13:18:55 2015 +0200 clk: max77802: Update MODULE_AUTHOR() email address The email address listed in MODULE_AUTHOR() no longer exist so to prevent people to send emails to the old address, replace it with my current one. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 30f84a891bf6dc7ffb9c0d0f3361ca6375633ac1 Author: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Date: Wed Oct 14 09:49:24 2015 +0800 EDAC: Use edac_debugfs_remove_recursive() debugfs_remove() is used to remove a file or a directory from the debugfs filesystem, but mci->debugfs might not empty. This can be triggered by the following sequence: 1) Enable CONFIG_EDAC_DEBUG 2) insmod an EDAC module (like i3000_edac or similar) 3) rmmod this module 4) we can see files remaining under <debugfs_mountpoint>/edac/ like "fake_inject", for example. Removing edac_core then, causes a NULL pointer dereference. Reported-by: Yun Wu (Abel) <wuyun.wu@xxxxxxxxxx> Signed-off-by: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Cc: Doug Thompson <dougthompson@xxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444787364-104353-1-git-send-email-tanxiaojun@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6f1f5d5f4dc39e579b3ac348277dd60ee9e44e08 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 14 18:40:10 2015 +0200 mac80211: remove event.c That file contains just a single function, which itself is just a single statement to call a different function. Remove it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3beea3513f6157500984dc6117fcf036b3380d7e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 14 18:36:43 2015 +0200 mac80211: remove cfg.h The file contains just a single declaration that can easily move to another file - remove it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit fbd6ff5ceafa9c9c39e20f5a4f8c46c0b5efb2a2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 14 18:31:30 2015 +0200 mac80211: move sta_set_rate_info_rx() and make it static There's only a single caller of this function, so it can be moved to the same file and made static. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a732fa700133f864c542b335e80a845fe1b80f2b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 14 18:27:07 2015 +0200 mac80211: clean up ieee80211_rx_h_check_dup code Reduce indentation a bit to make the condition more readable. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4a733ef1bea705cdc69d936b95fedab4b47fbd40 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 14 18:02:43 2015 +0200 mac80211: remove PM-QoS listener As this API has never really seen any use and most drivers don't ever use the value derived from it, remove it. Change the only driver using it (rt2x00) to simply use the DTIM period instead of the "max sleep" time. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b1ee27d44d3eef26c042e20c49fafee1b7987d10 Merge: 8ee57b8 df829b0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:57:03 2015 +0200 Merge tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Merge "Samsung DT updates for v4.4" from Kukjin Kim: - New board support : add exynos5250-snow-rev5 DT file to support Snow Rev5+ board : add exynos5422-odroidxu4 DT file to support Odroid XU4 board : split exynos5422-odroidxu3-audio DT file from odroidxu3-common - USE GPIO constants for flags cells for exynos boards - fix cpu compatible value to 'arm926ej-s' for s3c2416 - add DMA support for serial ports for exynos4 - add suspend opp for exynos4412 - remove regulator-compatible usage for exynos4412-trats2 - enable EC vboot context support for Peach boards - move display-timings node to DP for exynos5250-arndale, smdk5250 and smdk5420 - for exynos4412-odroid/odroidu3 : unify voltage regulator style and : remove redundant pinctrl settings : add pwm-fan node and use it as a colling device - for exynos5422-odroidxu3 : fix power off method and LEDs - dt-bindings : grounded AC0KB pin on S2MPS11 : entry how to use PWM FAN as a cooling device * tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (22 commits) ARM: dts: Use GPIO constants for flags cells in exynos5440 boards ARM: dts: Use GPIO constants for flags cells in exynos5420/5422/5800 boards ARM: dts: Use GPIO constants for flags cells in exynos4412 boards ARM: dts: Use GPIO constants for flags cells in exynos4120 boards ARM: dts: Use GPIO constants for flags cells in exynos3250 boards ARM: dts: Enable EC vboot context support on Peach boards ARM: dts: Remove regulator-compatible usage in exynos4412-trats2 ARM: dts: Move display-timings node from fimd to dp in exynos5250-arndale, smdk5250 and smdk5420 ARM: dts: Add Exynos5250 Snow Rev5+ support on exynos5250-snow-rev5 ARM: dts: Unify voltage regulator style in exynos4412-odroid ARM: dts: Remove redundant pinctrl settings in exynos4412-odroid ARM: dts: Fix cpu compatible value for s3c2416 ARM: dts: Add support Odroid XU4 board for exynos5422-odroidxu4 ARM: dts: Split audio configuration to separate exynos5422-odroidxu3-audio ARM: dts: Fix power off method for exynos5422-odroidxu3-common dt-bindings: Document grounded ACOKB pin on S2MPS11 ARM: dts: use pwm-fan device as a cooling device for exynos4412-odroidu3 ARM: dts: Add pwm-fan node for exynos4412-odroidu3 dt-bindings: Documentation entry to explain how to use PWM FAN as a cooling device ARM: dts: add suspend opp to exynos4412 ... commit 8ee57b8182c4069e8b2939dde68a60536c663df1 Author: Ian Campbell <ian.campbell@xxxxxxxxxx> Date: Mon Oct 5 12:53:52 2015 +0100 ARM64: dts: vexpress: Use a symlink to vexpress-v2m-rs1.dtsi from arch=arm Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG" added a new dts file to arch/arm64 which included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a .dtsi supplied by arch/arm. Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there. In that context the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi. The sharing of the .dtsi is legitimate since the baseboard is the same for various vexpress systems whatever processor they use. Previously I attempted to resolve this by creating a shared location for such things but we have been unable to come to a consensus on where that should be. Instead this patch simply replaces the use of ../../ in the dts /include/ with a symlink in arch/arm64/boot/dts/arm pointing to the file arch/arm/boot/dts. Since the split device tree repo will shortly be required to flatten symlinks for other reasons this will cause the dtsi file to appear in both src/arm and src/arm64 in the split repo, which is an improvement on not building for arm64 now. [0] https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/ Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Liviu Dudau <liviu.dudau@xxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Kristina Martsenko <kristina.martsenko@xxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: arm@xxxxxxxxxx Cc: linux-kbuild@xxxxxxxxxxxxxxx Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit a8939d1a2f1a51425a63afad62e007adc85e746b Merge: 49eb592 1431794 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:52:59 2015 +0200 Merge tag 'hisi-soc-dt-for-4.4' of git://github.com/hisilicon/linux-hisi into next/dt Pull "ARM: DT: Hisilicon SoC DT updates for 4.4" from Wei Xu: - Drop console= and earlyprintk bootargs parameter in hisilicon armv7 dts * tag 'hisi-soc-dt-for-4.4' of git://github.com/hisilicon/linux-hisi: ARM: hisilicon: DT: Drop console= and earlyprintk bootargs parameter commit 49eb5926df44df6b59e07b447c0a8afda79ca881 Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Thu Oct 1 12:52:40 2015 +0200 ARM: meson6: DTS: Fix wrong reg mapping and IRQ numbers The DTS erronously uses the wrong reg mapping and IRQ numbers for some UART, WDT and timer nodes. Fix this. Reported-by: John Wehle <john@xxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e9e50f10a7a06c4108a760ece6847cd0d95947bf Merge: 129c29c 52095d1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:48:10 2015 +0200 Merge tag 'sunxi-dt-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Pull "Allwinner DT changes for 4.4" from Maxime Ripard: DT patches for the 4.4 merge window, most notably: - Enable the OTG controller on more boards - Create new DTSI for the q8's design - Added RSB support to the A23 and A33 SoCs - New boards: Olimex A20 EVB, Yones bs1078v2 Plus the usual random patches enabling and / or enhancing a few things in particular boards. * tag 'sunxi-dt-for-4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (59 commits) ARM: dts: sun6i: hummingbird: Drop AXP221 DC1SW and DC5LDO supplies ARM: dts: sun8i: sinlinx-sina33: Enable Reduced Serial Bus controller ARM: dts: sun8i: q8-common: Enable RSB controller for A23/A33 Q8 tablets ARM: dts: sun8i: Add Reduced Serial Bus controller device node to A23/A33 dtsi ARM: dts: sun4i: Add AXP209 PMU regulators for pcDuino1/2 ARM: sun7i: dt: Add new Olimex A20 EVB device ARM: dts: sun6i: hummingbird: Add aliases for rtc devices ARM: dts: sun7i: Add dts file for Wits Pro A20 DKT ARM: dts: sun7i: Enable USB DRC on Wexler TAB7200 ARM: dts: sun7i: Enable USB DRC on the Orange pi ARM: dts: sun7i: Enable USB DRC on orangepi-mini ARM: dts: axp209: Add usb_power_supply child node to the ax209 node ARM: dts: sun8i: Make ippo-q8h-v1.2.dts a symlink to q8-tablet.dts ARM: dts: sun8i: Add sun8i-a33-q8-tablet.dts file ARM: dts: sun6i: Add support for Yones Toptech bs1078v2 tablets ARM: dts: sun4i: Enable USB DRC on the Marsboard A10 ARM: dts: sun4i: gemei-g9: Add accelerometer (bma250) IRQ ARM: dts: sun8i-a33: Add security system crypto engine clock and device nodes ARM: dts: sun8i: Add pwm-backlight device for A23/A33 Q8 format tablets ARM: sun8i: A23: Add missing msgbox gate ... commit 129c29c4bb4677c849aba8e9647308f664d54811 Merge: c52864f 6031d8b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:46:36 2015 +0200 Merge tag 'lpc18xx_dts_for_4.4' of https://github.com/manabian/linux-lpc into next/dt Pull "Device Tree additions for NXP LPC18xx platform" from Joachim Eastwood: - Reset controller (RGU) - DMA controller and mux - SPI Flash (SPIFI) controller - I2C controller - Watchdog and SCT PWM from Ariel D'Alessandro And board updates for EA4357 dev kit and Hitex LPC4350 eval board adding I2C, SPIFI Flash and some miscellaneous stuff. * tag 'lpc18xx_dts_for_4.4' of https://github.com/manabian/linux-lpc: ARM: dts: lpc4350-hitex-eval: add joystick, buttons and leds ARM: dts: lpc4350-hitex-eval: add i2c0 and devices ARM: dts: lpc4350-hitex-eval: add spifi and flash device ARM: dts: lpc4357-ea4357: add i2c0 and devices ARM: dts: lpc4357-ea4357: add ssp0 ARM: dts: lpc4357-ea4357: add spifi and flash device ARM: dts: lpc18xx: add resets entry to device nodes ARM: dts: lpc18xx: add sct pwm node ARM: dts: lpc18xx: add watchdog node ARM: dts: lpc18xx: add i2c nodes ARM: dts: lpc18xx: add dma to uart0/1/2/3 ARM: dts: lpc18xx: add dma to ssp0/1 ARM: dts: lpc18xx: add dmamux node ARM: dts: lpc18xx: add dmac node ARM: dts: lpc18xx: add spifi node ARM: dts: lpc18xx: add rgu node commit c52864fbc29951af368d274a57c67b3c480a2450 Merge: f8e6333 59995f5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:45:38 2015 +0200 Merge tag 'berlin64-dt-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt Merge "Marvell Berlin ARM64 DT for 4.4 take 1" from Sebastian Hesselbarth: - add BG4CT GPIO nodes - add BG4CT STB reference board * tag 'berlin64-dt-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: arm64: dts: add dts file for Marvell Berlin4CT STB board arm64: dts: berlin4ct: add GPIO nodes commit f8e6333abad0a2b4db50fd1e058a233bcdbebfcb Merge: c85f923 5f5cdc0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:42:14 2015 +0200 Merge tag 'berlin-dt-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt Merge "Marvell Berlin DT for 4.4 take 1" from Sebastian Hesselbarth: - use serial aliases and stdout path - add cpufreq properties to all SoCs - add pwm nodes for all SoCs This depends on topic branch berlin-cpuclk-for-4.4-1 * tag 'berlin-dt-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin: ARM: berlin: add a PWM node on the BG2CD ARM: berlin: add a PWM node on the BG2 ARM: berlin: add a PWM node on the BG2Q ARM: berlin: dts: add the cpufreq-dt bindings on the BG2CD ARM: berlin: dts: add the cpufreq-dt bindings on the BG2 ARM: berlin: dts: add the cpufreq-dt bindings on the BG2Q arm: dts: berlin: use stdout-path arm: dts: berlin: add aliases for serial commit c85f9235a612f1b9f3d71c72bd1fea031e6790af Merge: d749d94 9b24a35 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:29:32 2015 +0200 Merge tag 'mvebu-dt-4.4-1' of git://git.infradead.org/linux-mvebu into next/dt Merge "mvebu dt for 4.4 (part 1)" from Gregory CLEMENT: Update dts to use the new crypto driver on mvebu SoCs * tag 'mvebu-dt-4.4-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: modify Orion and Kirkwoord crypto compatible strings ARM: mvebu: use new bindings for existing crypto devices ARM: mvebu: define crypto SRAM ranges for all armada-38x boards ARM: mvebu: add crypto related nodes to armada 38x dtsi ARM: mvebu: define crypto SRAM ranges in armada-375-db.dts ARM: mvebu: add crypto related nodes to armada 375 dtsi ARM: mvebu: define crypto SRAM ranges for all armada-370 boards ARM: mvebu: add crypto related nodes to armada 370 dtsi ARM: mvebu: define crypto SRAM ranges for all armada-xp boards ARM: mvebu: add crypto related nodes to armada-xp.dtsi ARM: mvebu: add CPU config registers in the Armada 370/XP Device Tree commit 5c6dcd7f3b26736a88593586fbeec28b6a1ea78d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 18:39:40 2015 +0100 MAINTAINERS: Update Allwinner entry and add new maintainer Add Chen-Yu Tsai as a co-maintainer to the ARM sunxi support. While we are doing so, also update the entry for new SoCs. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 83bf6b13834d9c926905e45cdfda23fe218fc598 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Oct 13 19:46:54 2015 +0200 ARM: ux500: modify initial levelshifter status commit 1d8aca9df612f5751892fb2642d72536f2f48fd0 "ARM: ux500: fix MMC/SD card regression" fixed broken the level shifter: it should be default ON but became default OFF. Fixes: 1d8aca9df612 "ARM: ux500: fix MMC/SD card regression" Reported-and-tested-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6391074598442b8a8d33e2cfdf277d5568b57f2d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 15:44:49 2015 +0200 ARM: pxa: fix pxa3xx DFI lockup hack Some recently added code to avoid a bug introduced a build error when CONFIG_PM is disabled and a macro is hidden: arch/arm/mach-pxa/pxa3xx.c: In function 'pxa3xx_init': arch/arm/mach-pxa/pxa3xx.c:439:3: error: 'NDCR' undeclared (first use in this function) NDCR = (NDCR & ~NDCR_ND_ARB_EN) | NDCR_ND_ARB_CNTL; ^ This moves the macro outside of the #ifdef so it can be referenced correctly. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: adf3442cc890 ("ARM: pxa: fix DFI bus lockups on startup") Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit e639932e01c096eb280086401d8e3a597e41a3b1 Merge: 8c80385 178b2d0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:13:20 2015 +0200 Merge tag 'imx-fixes-4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes Pull "The i.MX fixes for 4.3, 2nd round:" from Shawn Guo: It includes a single fix for i.MX7D, which corrects the base address of UART2 in device tree. * tag 'imx-fixes-4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: dts: imx7d: Fix UART2 base address commit 8c803854ba06bcd86755c8754943041b110dd537 Merge: d51664a 1f744fd Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:12:10 2015 +0200 Merge tag 'berlin-fixes-for-4.3-1' of git://git.infradead.org/users/hesselba/linux-berlin into fixes Merge "Marvell Berlin fixes for v4.3 take 1" from Sebastian Hesselbarth: - BG2Q USB PHY compatible fix (also tagged for stable v4.2) * tag 'berlin-fixes-for-4.3-1' of git://git.infradead.org/users/hesselba/linux-berlin: ARM: dts: berlin: change BG2Q's USB PHY compatible commit d51664ab9e06225a039487990a3b051fed795137 Merge: 25cb62b d836ace6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:10:55 2015 +0200 Merge tag 'mvebu-fixes-4.3-1' of git://git.infradead.org/linux-mvebu into fixes Merge "mvebu fixes for 4.3 (part 1)" from Gregory CLEMENT: DSA fixes for orion platform * tag 'mvebu-fixes-4.3-1' of git://git.infradead.org/linux-mvebu: ARM: orion: Fix DSA platform device after mvmdio conversion commit c049adc9fd2937562b4880bdc35b8303ff56d425 Merge: 273395f 68acc77 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 14 17:07:32 2015 +0200 Merge tag 'arm-scpi-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into next/drivers Merge "ARM System Control and Power Interface(SCPI) support" from Sudeep Holla It adds support for the following features provided by SCP firmware using different subsystems in Linux: 1. SCPI mailbox protocol driver which using mailbox framework 2. Clocks provided by SCP using clock framework 3. CPU DVFS(cpufreq) using existing arm-big-little driver 4. SCPI based sensors including temperature sensors * tag 'arm-scpi-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: hwmon: Support thermal zones registration for SCP temperature sensors hwmon: Support sensors exported via ARM SCP interface firmware: arm_scpi: Extend to support sensors Documentation: add DT bindings for ARM SCPI sensors cpufreq: arm_big_little: add SCPI interface driver clk: scpi: add support for cpufreq virtual device clk: add support for clocks provided by SCP(System Control Processor) firmware: add support for ARM System Control and Power Interface(SCPI) protocol Documentation: add DT binding for ARM System Control and Power Interface(SCPI) protocol commit cc904f9cf26dc455cffbdf6e7eb86717e047d8ff Author: Lukasz Odzioba <lukasz.odzioba@xxxxxxxxx> Date: Mon Oct 12 13:53:32 2015 +0200 hwmon: (coretemp) Increase limit of maximum core ID from 32 to 128. A new limit selected arbitrarily as power of two greater than required minimum for Xeon Phi processor (72 for Knights Landing). Currently driver is not able to handle cores with core ID greater than 32. Such attempt ends up with the following error in dmesg: coretemp coretemp.0: Adding Core XXX failed Signed-off-by: Lukasz Odzioba <lukasz.odzioba@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9c32e815cf9e29d5cfed738ad1cb3d07ea1bb67c Author: Ben Gardner <gardner.ben@xxxxxxxxx> Date: Wed Oct 7 21:55:20 2015 -0500 hwmon: (lm75) Add support for TMP75C The TMP75C has a different control register layout and only supports 12-bit temperature samples (0.0625 deg C). The continuous sample rate is ~12 Hz. Signed-off-by: Ben Gardner <gardner.ben@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 0b056b29f28e45adaf756e579c1bf291584a87cd Author: Cédric Le Goater <clg@xxxxxxxxxx> Date: Wed Sep 23 14:44:48 2015 +0200 hwmon: (ibmpowernv) Add OF compatibility table entry Fix module autoload for IBM and Open power platforms. Signed-off-by: Cédric Le Goater <clg@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 47e4b5e152dd78476ed28ddeca3fd1ffe00cc3be Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 21 16:47:04 2015 +0100 hwmon: (abx500) drop the use of IRQF_NO_SUSPEND The description in the driver states: "ABX500 does not provide auto ADC, so to monitor the required temperatures, a periodic work is used. It is more important to not wake up the CPU... If the chip gets too hot during a sleep state it's most likely due to external factors, such as the surrounding temperature and nothing can be done in S/W." So it makes no sense to keep IRQs enabled as it need not be wakeup source. This patch removes the use of IRQF_NO_SUSPEND flag Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 791432cfd95bea3515f8cdfaf72ec263e5d3da80 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Sep 16 19:32:59 2015 +0530 hwmon: (max31790) Fix dereference of ERR_PTR max31790_update_device() return the error code in ERR_PTR. We were checking if it has returned error or not but before checking we have dereferenced it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 195a4b4298a7951c845dac2b326585c66add3435 Author: Il Han <corone.il.han@xxxxxxxxx> Date: Sun Aug 30 20:44:26 2015 +0900 hwmon: Driver for Maxim MAX31790 The driver supports the Maxim MAX31790. Signed-off-by: Il Han <corone.il.han@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 612bece654ff6cd43160e201985be826e96b8bcb Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 12 17:32:14 2015 -0700 um/x86: Fix build after x86 syscall changes I didn't realize that um didn't include x86's asm/syscall.h. Re-add a missing typedef. Reported-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 034042cc1e28 ("x86/entry/syscalls: Move syscall table declarations into asm/syscalls.h") Link: http://lkml.kernel.org/r/8d15b9a88f4fd49e3342757e0a34624ee5ce9220.1444696194.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit af22aa7c766d50712b9afeca53e9e4208ce6284c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 12 17:32:13 2015 -0700 x86/asm: Remove the xyz_cfi macros from dwarf2.h They are currently unused, and I don't think that anyone was ever particularly happy with them. They had the unfortunate property that they made it easy to CFI-annotate things without thinking about them -- when pushing, do you want to just update the CFA offset, or do you also want to update the saved location of the register being pushed? Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> 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/1447bfbd10bb268b4593b32534ecefa1f4df287e.1444696194.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 893a3ec27e1dae62a904f78d53244001979748a6 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 12 17:32:12 2015 -0700 selftests/x86: Style fixes for the 'unwind_vdso' test Checkpatch is really quite bad for user code like this, but it caught two legit style issues. Reported-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> 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/3335040bdd40d2bca4b1a28a3f8b165361c801b7.1444696194.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 790a2ee2427852cff50993c98f15ed88511e9af0 Merge: c7d77a7 0f96a99 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 14 16:05:40 2015 +0200 Merge tag 'efi-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into core/efi Pull v4.4 EFI updates from Matt Fleming: - Make the EFI System Resource Table (ESRT) driver explicitly non-modular by ripping out the module_* code since Kconfig doesn't allow it to be built as a module anyway. (Paul Gortmaker) - Make the x86 efi=debug kernel parameter, which enables EFI debug code and output, generic and usable by arm64. (Leif Lindholm) - Add support to the x86 EFI boot stub for 64-bit Graphics Output Protocol frame buffer addresses. (Matt Fleming) - Detect when the UEFI v2.5 EFI_PROPERTIES_TABLE feature is enabled in the firmware and set an efi.flags bit so the kernel knows when it can apply more strict runtime mapping attributes - Ard Biesheuvel - Auto-load the efi-pstore module on EFI systems, just like we currently do for the efivars module. (Ben Hutchings) - Add "efi_fake_mem" kernel parameter which allows the system's EFI memory map to be updated with additional attributes for specific memory ranges. This is useful for testing the kernel code that handles the EFI_MEMORY_MORE_RELIABLE memmap bit even if your firmware doesn't include support. (Taku Izumi) Note: there is a semantic conflict between the following two commits: 8a53554e12e9 ("x86/efi: Fix multiple GOP device support") ae2ee627dc87 ("efifb: Add support for 64-bit frame buffer addresses") I fixed up the interaction in the merge commit, changing the type of current_fb_base from u32 to u64. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e6d5bf6a8f23d0557ac685b7e81ce148f3a7744c Author: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Date: Wed Oct 14 19:25:07 2015 +0530 dmaengine: xgene-dma: Remove memcpy offload support due to performance drop The DMA engine supports memory copy, RAID5 XOR, RAID6 PQ, and other computations. But the bandwidth of the entire DMA engine is shared among all channels. This patch re-configures operations availability such that one can achieve maximum performance for XOR and PQ computation by removing the memory offload operations. Signed-off-by: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit dd5f5341a3a684c8850f8a8ccbaa70e196518e76 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Wed Sep 23 18:26:57 2015 +0800 KVM: VMX: introduce __vmx_flush_tlb to handle specific vpid Introduce __vmx_flush_tlb() to handle specific vpid. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 991e7a0eedf12721f5561d7a1a54d248dc290bc0 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Date: Wed Sep 16 17:30:05 2015 +0800 KVM: VMX: adjust interface to allocate/free_vpid Adjust allocate/free_vid so that they can be reused for the nested vpid. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6003a4201077da41427dae5e71bb2f31dfdc0c10 Author: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Date: Fri Oct 9 12:21:55 2015 +0000 kvm: fix waitqueue_active without memory barrier in virt/kvm/async_pf.c async_pf_execute() seems to be missing a memory barrier which might cause the waker to not notice the waiter and miss sending a wake_up as in the following figure. async_pf_execute kvm_vcpu_block ------------------------------------------------------------------------ spin_lock(&vcpu->async_pf.lock); if (waitqueue_active(&vcpu->wq)) /* The CPU might reorder the test for the waitqueue up here, before prior writes complete */ prepare_to_wait(&vcpu->wq, &wait, TASK_INTERRUPTIBLE); /*if (kvm_vcpu_check_block(vcpu) < 0) */ /*if (kvm_arch_vcpu_runnable(vcpu)) { */ ... return (vcpu->arch.mp_state == KVM_MP_STATE_RUNNABLE && !vcpu->arch.apf.halted) || !list_empty_careful(&vcpu->async_pf.done) ... return 0; list_add_tail(&apf->link, &vcpu->async_pf.done); spin_unlock(&vcpu->async_pf.lock); waited = true; schedule(); ------------------------------------------------------------------------ The attached patch adds the missing memory barrier. I found this issue when I was looking through the linux source code for places calling waitqueue_active() before wake_up*(), but without preceding memory barriers, after sending a patch to fix a similar issue in drivers/tty/n_tty.c (Details about the original issue can be found here: https://lkml.org/lkml/2015/9/28/849). Signed-off-by: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 13db77347db175a68edd58a79963cdf5cb3a9607 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Oct 8 20:30:00 2015 +0200 KVM: x86: don't notify userspace IOAPIC on edge EOI On real hardware, edge-triggered interrupts don't set a bit in TMR, which means that IOAPIC isn't notified on EOI. Do the same here. Staying in guest/kernel mode after edge EOI is what we want for most devices. If some bugs could be nicely worked around with edge EOI notifications, we should invest in a better interface. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit db2bdcbbbd32e5500b822d5e74ef8b5bd777e687 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Oct 8 20:23:34 2015 +0200 KVM: x86: fix edge EOI and IOAPIC reconfig race KVM uses eoi_exit_bitmap to track vectors that need an action on EOI. The problem is that IOAPIC can be reconfigured while an interrupt with old configuration is pending and eoi_exit_bitmap only remembers the newest configuration; thus EOI from the pending interrupt is not recognized. (Reconfiguration is not a problem for level interrupts, because IOAPIC sends interrupt with the new configuration.) For an edge interrupt with ACK notifiers, like i8254 timer; things can happen in this order 1) IOAPIC inject a vector from i8254 2) guest reconfigures that vector's VCPU and therefore eoi_exit_bitmap on original VCPU gets cleared 3) guest's handler for the vector does EOI 4) KVM's EOI handler doesn't pass that vector to IOAPIC because it is not in that VCPU's eoi_exit_bitmap 5) i8254 stops working A simple solution is to set the IOAPIC vector in eoi_exit_bitmap if the vector is in PIR/IRR/ISR. This creates an unwanted situation if the vector is reused by a non-IOAPIC source, but I think it is so rare that we don't want to make the solution more sophisticated. The simple solution also doesn't work if we are reconfiguring the vector. (Shouldn't happen in the wild and I'd rather fix users of ACK notifiers instead of working around that.) The are no races because ioapic injection and reconfig are locked. Fixes: b053b2aef25d ("KVM: x86: Add EOI exit bitmap inference") [Before b053b2aef25d, this bug happened only with APICv.] Fixes: c7c9c56ca26f ("x86, apicv: add virtual interrupt delivery support") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c77f3fab441c3e466b4c3601a475fc31ce156b06 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Oct 8 20:23:33 2015 +0200 kvm: x86: set KVM_REQ_EVENT when updating IRR After moving PIR to IRR, the interrupt needs to be delivered manually. Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bff98d3b01e0420bfd027d8f320cdc9869f6cc2b Merge: 58f800d b10d92a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 14 16:35:15 2015 +0200 Merge branch 'kvm-master' into HEAD Merge more important SMM fixes. commit e4e886c6b1e2a1ef9654d26dad1c3baca8139b3c Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:06 2015 +0300 dmaengine: edma: Dynamic paRAM slot handling if HW supports it If the eDMA3 has support for channel paRAM slot mapping we can utilize it to allocate slots on demand and save precious slots for real transfers. On am335x the eDMA has 64 channels which means we can unlock 64 paRAM slots out from the available 256. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7a73b135cdb33f78acab118dd72782416d5281b2 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:05 2015 +0300 dmaengine: edma: Rename bitfields for slot and channel usage tracking The names chosen for the bitfields were quite confusing and given no real information on what they are used for... edma_inuse -> slot_inuse: tracks the slot usage/availability edma_unused -> channel_unused: tracks the channel usage/availability Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4ab54f696dc5299d7db9d924f28f408dc0404f1b Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:04 2015 +0300 dmaengine: edma: Read channel mapping support only once from HW Instead of directly reading it from CCCFG register take the information out once when we set up the configuration from the HW. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e4402a129faca71ddd160d89ef7750da0ce2d6c4 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:03 2015 +0300 dmaengine: edma: Simplify and optimize ccerr interrupt handler No need to run through the bits in QEMR and CCERR events since they will not trigger any action, so just clearing the errors there is fine. In case of the missed event the loop can be optimized so we spend less time to handle the event. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7c3b8b3d2608bb4b1a97749c607440785b60ef7f Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:02 2015 +0300 dmaengine: edma: Move the pending error check into helper function In the ccerr interrupt handler the code checks for pending errors in the error status registers in two different places. Move the check out to a helper function. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 79ad2e383d01d03188d9e51e2058545203288bc4 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:01 2015 +0300 dmaengine: edma: Simplify the interrupt handling With the merger of the arch/arm/common/edma.c code into the dmaengine driver, there is no longer need to have per channel callback/data storage for interrupt events. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 11c157337a3fb0a8bed5272b3a43f2bf482032ee Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:43:00 2015 +0300 dmaengine: edma: Consolidate the comments for functions Remove or rewrite the comments for the internal functions. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit fc014095da23575297288bb3ab215db7c50af381 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:59 2015 +0300 dmaengine: edma: Print warning when linking slots from different eDMA Warning message in case of linking between paRAM slots in different eDMA controllers. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 96f5ff0e108a497372d86a286e6c264b39c09370 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:58 2015 +0300 dmaengine: edma: Use the edma_write_slot instead open coded memcpy_toio edma_write_slot() is for writing an entire paRAM slot. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3287fb4d23fc906edcd5fa8c1632f30946e9c779 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:57 2015 +0300 dmaengine: edma: Use dev_dbg instead pr_debug We have access to dev, so it is better to use the dev_dbg for debug prints. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 907f74a0b46890da59c4f2caf7e17a89695e8132 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:56 2015 +0300 dmaengine: edma: Cleanup regarding the use of dev around the code Be consistent and do not mix the use of dev, &pdev->dev, etc in the functions. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 547c6e27113b7d0d03db6df0d60f91b8eb232793 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:55 2015 +0300 dmaengine: edma: Use devm_kcalloc when possible When allocating a memory for number of items it is better (looks better) to use devm_kcalloc. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit cb78205955d4a2c26c18984896b81cc63b416f63 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:54 2015 +0300 dmaengine: edma: Allocate memory dynamically for bitmaps and structures Instead of using defines to specify the size of different arrays and bitmaps, allocate the memory for them based on the information we get from the HW itself. Since these defines are set based on the worst case, there are devices where they are not valid. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2b6b3b7420190888793c49e97276e1e73bd7eaed Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:53 2015 +0300 ARM/dmaengine: edma: Merge the two drivers under drivers/dma/ Move the code out from arch/arm/common and merge it inside of the dmaengine driver. This change is done with as minimal (if eny) functional change to the code as possible to avoid introducing regression. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit cef5b0da4019358cb03c9b0a964d4d63cd7deaf6 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:52 2015 +0300 ARM: davinci: Add dma_mask to eDMA devices The upcoming change to merge the arch/arm/common/edma.c into drivers/dma/edma.c will need this change when booting daVinci devices in no DT mode. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7ab388e85faa97a35d520720269e7c8e00ad54a0 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:51 2015 +0300 ARM: davinci: Use platform_device_register_full() to create pdev for eDMA Convert the eDMA platform device creation to use struct platform_device_info XXXXXX __initconst and platform_device_register_full() This will allow us to cleanly specify the dma_mask for the devices in an upcoming patch. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b2c843a196b8f5aca74ebabd16c60d59480d6721 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:50 2015 +0300 ARM/dmaengine: edma: Remove limitation on the number of eDMA controllers Since the driver stack no longer depends on lookup with id number in a global array of pointers, the limitation for the number of eDMAs are no longer needed. We can handle as many eDMAs in legacy and DT boot as we have memory for them to allocate the needed structures. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ca304fa9bb762f091e851d48de43f623c975d47a Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:49 2015 +0300 ARM/dmaengine: edma: Public API to use private struct pointer Instead of relying on indexes pointing to edma private date in the global pointer array, pass the private data pointer via the public API. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 700c371913072fc891650a6dafacfd147ce805a7 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:48 2015 +0300 ARM: common: edma: Internal API to use pointer to 'struct edma' Merge the iomem into the 'struct edma' and change the internal (static) functions to use pointer to the edma_cc instead of the ctlr number. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit dc9b60552f6a6a56b1defb88aa9f7f1498fcc045 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:47 2015 +0300 ARM/dmaengine: edma: Move of_dma_controller_register to the dmaengine driver If the of_dma_controller is registered in the non dmaengine driver we could have race condition: the of_dma_controller has been registered, but the dmaengine driver is not yet probed. Drivers requesting DMA channels during this window will fail since we do not yet have dmaengine drivers registered. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d4cb7f404247173e2c760a01bf06fd1016a8b0d4 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:46 2015 +0300 ARM: davinci/common: Convert edma driver to handle one eDMA instance per driver Currently we have one device created to handle all (maximum 2) eDMAs in the system. With this change all eDMA instance will have it's own device/driver. This change is needed for further cleanups in the eDMA driver stack since the one device/driver to handle all eDMAs in the system was not flexible enough and prevents the upcoming work. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8fa7ff4fc01d7f43cd03143e4ec58323865bfacf Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:45 2015 +0300 dmaengine: edma: Simplify and optimize the edma_execute path The code path in edma_execute() and edma_callback() can be simplified and make it more optimal. There is not need to call in to edma_execute() when the transfer has been finished for example. Also the handling of missed/first or next batch of paRAMs can be done in a more optimal way. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit d28c2b36d6027702585ca93773b3edd6e5f1a5bd Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:44 2015 +0300 ARM: common: edma: Remove unused functions We no longer have users for these functions so they can be removed. Remove also unused enums from the header file. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 696d8b70c09dd421c4d037fab04341e5b30585cf Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 14 14:42:43 2015 +0300 ARM: common: edma: Fix channel parameter for irq callbacks In case when the interrupt happened for the second eDMA the channel number was incorrectly passed to the client driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 62f57d05e287e950c6e1246b1dba08e12985195a Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue Oct 13 10:54:01 2015 -0400 crypto: pkcs7 - Fix unaligned access in pkcs7_verify() On sparc, we see unaligned access messages on each modprobe[-r]: Kernel unaligned access at TPC[6ad9b4] pkcs7_verify [..] Kernel unaligned access at TPC[6a5484] crypto_shash_finup [..] Kernel unaligned access at TPC[6a5390] crypto_shash_update [..] Kernel unaligned access at TPC[10150308] sha1_sparc64_update [..] Kernel unaligned access at TPC[101501ac] __sha1_sparc64_update [..] These ware triggered by mod_verify_sig() invocations of pkcs_verify(), and are are being caused by an unaligned desc at (sha1, digest_size is 0x14) desc = digest + digest_size; To fix this, pkcs7_verify needs to make sure that desc is pointing at an aligned value past the digest_size, and kzalloc appropriately, taking alignment values into consideration. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5a4eea2658c933205cd014b87066f3faa2dbe7f7 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Mon Oct 12 19:47:04 2015 +0200 crypto: ux500 - Use devm_xxx() managed function Using the devm_xxx() managed function to stripdown the error and remove code. In the same time, we replace request_mem_region/ioremap by the unified devm_ioremap_resource() function. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b0e8b3417a620e6e0a91fd526fbc6db78714198e Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Mon Oct 12 19:47:03 2015 +0200 crypto: atmel - use devm_xxx() managed function Using the devm_xxx() managed function to stripdown the error and remove code. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit dc97fa02328b79f05a2ec1693b7596fae52c0e02 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 12 15:52:34 2015 +0200 crypto: mxs-dcp - mxs-dcp is an stmp device The mxs-dcp driver relies on the stmp_reset_block() helper function, which is provided by CONFIG_STMP_DEVICE. This symbol is always set on MXS, but the driver can now also be built for MXC (i.MX6), which results in a built error if no other driver selects STMP_DEVICE: drivers/built-in.o: In function `mxs_dcp_probe': vf610-ocotp.c:(.text+0x3df302): undefined reference to `stmp_reset_block' This adds the 'select', like all other stmp drivers have it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: a2712e6c75f ("crypto: mxs-dcp - Allow MXS_DCP to be used on MX6SL") Acked-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b47c9fab25fe0a2f92d32fcbb2eb55ad2111cd38 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Mon Oct 12 09:21:30 2015 +0100 ARM: dts: stm32f429: Adopt STM32 RNG driver New bindings and driver have been created for STM32 series parts. This patch integrates this changes. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c6a97c42e399ad0d639f616e58e13f0b4ae87626 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Mon Oct 12 09:21:29 2015 +0100 hwrng: stm32 - add support for STM32 HW RNG Add support for STMicroelectronics STM32 random number generator. The config value defaults to N, reflecting the fact that STM32 is a very low resource microcontroller platform and unlikely to be targeted by any "grown up" defconfigs. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ff90900a4b007d26d4a47abec9891bf8488a7668 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Mon Oct 12 09:21:28 2015 +0100 dt-bindings: Document the STM32 HW RNG bindings This adds documentation of device tree bindings for the STM32 hardware random number generator. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a6479ea487ca8ce11289e88a55a7e348f1ee39ac Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 21:14:22 2015 +0100 crypto: marvell/cesa - factor out common import/export functions As all the import functions and export functions are virtually identical, factor out their common parts into a generic mv_cesa_ahash_import() and mv_cesa_ahash_export() respectively. This performs the actual import or export, and we pass the data pointers and length into these functions. We have to switch a % const operation to do_div() in the common import function to avoid provoking gcc to use the expensive 64-bit by 64-bit modulus operation. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c3bf02a22c5369b25090d12c202ea0807d01978a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 20:43:48 2015 +0100 crypto: marvell/cesa - fix wrong hash results Attempting to use the sha1 digest for openssh via openssl reveals that the result from the hash is wrong: this happens when we export the state from one socket and import it into another via calling accept(). The reason for this is because the operation is reset to "initial block" state, whereas we may be past the first fragment of data to be hashed. Arrange for the operation code to avoid the initialisation of the state, thereby preserving the imported state. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e72f407ee793f1455051cfa834e758afca09e4f6 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 20:43:43 2015 +0100 crypto: marvell/cesa - initialise struct mv_cesa_ahash_req When a AF_ALG fd is accepted a second time (hence hash_accept() is used), hash_accept_parent() allocates a new private context using sock_kmalloc(). This context is uninitialised. After use of the new fd, we eventually end up with the kernel complaining: marvell-cesa f1090000.crypto: dma_pool_free cesa_padding, c0627770/0 (bad dma) where c0627770 is a random address. Poisoning the memory allocated by the above sock_kmalloc() produces kernel oopses within the marvell hash code, particularly the interrupt handling. The following simplfied call sequence occurs: hash_accept() crypto_ahash_export() marvell hash export function af_alg_accept() hash_accept_parent() <== allocates uninitialised struct hash_ctx crypto_ahash_import() marvell hash import function hash_ctx contains the struct mv_cesa_ahash_req in its req.__ctx member, and, as the marvell hash import function only partially initialises this structure, we end up with a lot of members which are left with whatever data was in memory prior to sock_kmalloc(). Add zero-initialisation of this structure. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9f5594c91e7cf5952ce39aff8b88c95a19a27e06 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 20:43:38 2015 +0100 crypto: marvell/cesa - fix stack smashing in marvell/hash.c Several of the algorithms in marvell/hash.c have a statesize of zero. When an AF_ALG accept() on an already-accepted file descriptor to calls into hash_accept(), this causes: char state[crypto_ahash_statesize(crypto_ahash_reqtfm(req))]; to be zero-sized, but we still pass this to: err = crypto_ahash_export(req, state); which proceeds to write to 'state' as if it was a "struct md5_state", "struct sha1_state" etc. Add the necessary initialisers for the .statesize member. Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c4d007bcb42b3898df5ad65a513f9120ab0eccfc Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 17:39:02 2015 +0200 MAINTAINERS: add maintainers for the Marvell Crypto driver A new crypto driver for Marvell ARM platforms was added in drivers/crypto/marvell/ as part of commit f63601fd616ab ("crypto: marvell/cesa - add a new driver for Marvell's CESA"). This commit adds the relevant developers to the list of maintainers. Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: Arnaud Ebalard <arno@xxxxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ea0b3984c1cc8b28de27a3bec285102b4e366a4c Author: Haren Myneni <haren@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 13:45:51 2015 -0700 crypto: 842 - Add CRC and validation support This patch adds CRC generation and validation support for nx-842. Add CRC flag so that nx842 coprocessor includes CRC during compression and validates during decompression. Also changes in 842 SW compression to append CRC value at the end of template and checks during decompression. Signed-off-by: Haren Myneni <haren@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f5128432b08c3e263e1a7ce709d686b1ded51131 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Oct 8 23:12:25 2015 +0600 crypto: jitterentropy - remove unnecessary information from a comment The clocksource does not provide clocksource_register() function since f893598 commit (clocksource: Mostly kill clocksource_register()), so let's remove unnecessary information about this function from a comment. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Suggested-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 22287b0b5988b603b5f0daa282c89aaf2b877313 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Thu Oct 8 09:26:55 2015 -0700 crypto: akcipher - Changes to asymmetric key API Setkey function has been split into set_priv_key and set_pub_key. Akcipher requests takes sgl for src and dst instead of void *. Users of the API i.e. two existing RSA implementation and test mgr code have been updated accordingly. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2d4d1eea540b27c72488fd1914674c42473d53df Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Thu Oct 8 09:26:50 2015 -0700 lib/mpi: Add mpi sgl helpers Add mpi_read_raw_from_sgl and mpi_write_to_sgl helpers. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2163e7b38fd56c058e664c8a09ccc14733dbc1b1 Author: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Date: Wed Oct 14 16:04:21 2015 +0200 kconfig/merge_config.sh: Accept a single file merge_config.sh can usefully be applied to a single file. It implicitly merges with the default configuration. Signed-off-by: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit ed94fea5ba78d03808576f14745d8e59126489bd Author: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Date: Wed Oct 14 16:04:20 2015 +0200 kconfig/merge_config.sh: Support KCONFIG_CONFIG All make targets support $KCONFIG_CONFIG because they run scripts/kconf. Make sure merge_config.sh accesses the correct file in all cases. Previously this script broke in two different code paths, one for targets like kvmconfig (which use merge_config.sh -m then call a target that respects KCONFIG_CONFIG) and one for direct use of the script without -m, which called make rules that edit KCONFIG_CONFIG but verified a different file. Signed-off-by: Gabriel de Perthuis <g2p.code@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 897ee0e85e5fad3109264af5b517a1ebb82912c3 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Oct 14 16:07:14 2015 +0200 usb: gadget: f_sourcesink: fix function params handling Move function parameters to struct f_sourcesink to make them per instance instead of having them as global variables. Since we can have multiple instances of USB function we also want to have separate set of parameters for each instance. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c7d77a7980e434c3af17de19e3348157f9b9ccce Merge: 0ce423b 8a53554 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 14 16:05:18 2015 +0200 Merge branch 'x86/urgent' into core/efi, to pick up a pending EFI fix Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8a53554e12e98d1759205afd7b8e9e2ea0936f48 Author: KÅ?vágó, Zoltán <dirty.ice.hu@xxxxxxxxx> Date: Mon Oct 12 15:13:56 2015 +0100 x86/efi: Fix multiple GOP device support When multiple GOP devices exists, but none of them implements ConOut, the code should just choose the first GOP (according to the comments). But currently 'fb_base' will refer to the last GOP, while other parameters to the first GOP, which will likely result in a garbled display. I can reliably reproduce this bug using my ASRock Z87M Extreme4 motherboard with CSM and integrated GPU disabled, and two PCIe video cards (NVidia GT640 and GTX980), booting from efi-stub (booting from grub works fine). On the primary display the ASRock logo remains and on the secondary screen it is garbled up completely. Signed-off-by: KÅ?vágó, Zoltán <DirtY.iCE.hu@xxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444659236-24837-2-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4568637f7a20bbb1dcbf8ada56de08f6c940bcbd Author: yankejian <yankejian@xxxxxxxxxx> Date: Tue Oct 13 09:53:45 2015 +0800 net: hisilicon: supports promisc mode this patch adds support to set promisc mode. it configs the queue on init seq when it is on promisc mode.and being enabled or disabled promisc mode by upper level user. Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e34573c95a1416b4f26a5cc68b1de198e6b27ad7 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed Oct 7 17:14:41 2015 +0800 arm64: dts: mt8173: Add clocks for SCPSYS unit Add clocks needed by Mediatek VENC and VENC_LT power domianis. These clocks were needed by accessing subsystem's registers, so they need to be enabled before power on these subsystems. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 09a75e8577901489f77a14a3b305a9a1f67bf25b Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Oct 14 08:52:29 2015 +0200 usb: dwc2: refactor common low-level hw code to platform.c DWC2 module on some platforms needs three additional hardware resources: phy controller, clock and power supply. All of them must be enabled/activated to properly initialize and operate. This was initially handled in s3c-hsotg driver, which has been converted to 'gadget' part of dwc2 driver. Unfortunately, not all of this code got moved to common platform code, what resulted in accessing DWC2 registers without enabling low-level hardware resources. This fails for example on Exynos SoCs. This patch moves all the code for managing those resources to common platform.c file and provides convenient wrappers for controlling them. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 758ed196fcc4373a129fd661875af52d7e7d4e73 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Oct 14 08:52:28 2015 +0200 usb: dwc2: remove no longer needed init_mutex init_mutex is a leftover from the time, when s3c-hsotg driver did not implement proper pull up/down control and emulated it by enabling enabling/disabling usb phy. Proper pull up/down control has been added by commit 5b9451f8c4fbaf0549139755fb45ff2b57975b7f ("usb: dwc2: gadget: use soft-disconnect udc feature in pullup() method"), so init_muxtex can be removed now to avoid potential deadlocks with other locks. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0cda07001a9454f371b7a7edabad55d99ef91157 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Oct 2 23:19:39 2015 +0800 ARM: mediatek: add smp bringup code Add support for booting secondary CPUs on mt6589, mt8127 and mt8135. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 9821e545c5e02ac28af7c595ce71d037a1f74dc9 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Oct 2 23:19:37 2015 +0800 ARM: mediatek: enable gpt6 on boot up to make arch timer working We enable GTP6 which ungates the arch timer clock. In the future this should be done in the bootloader. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> commit 41b3e0f067c26dd17837aa49fba13fcb5c6319e1 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed Oct 7 17:14:40 2015 +0800 soc: mediatek: Fix random hang up issue while kernel init In kernel late init, it turns off all unused clocks, which needs to access subsystem registers such as VENC and VENC_LT. Accessing MT8173 VENC registers needs two top clocks, mm_sel and venc_sel. Accessing VENC_LT registers needs mm_sel and venclt_sel. So we need to keep these clocks on before accessing their registers. This patch keeps venc_sel / venclt_sel clock on when VENC / VENC_LT's power is on, to prevent system hang up while accessing its registeres. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 67e56c5651d30cd5adddcf32ab41c71dabf2bcec Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Mon Aug 10 17:50:28 2015 +0800 arm64: dts: mt8173: Add subsystem clock controller device nodes This patch adds device nodes providing subsystem clocks on MT8173, includes mmsys, imgsys, vdecsys, vencsys and vencltsys. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit dfddb969edf021f21a45fc6fd019db4f99d12308 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 9 18:16:46 2015 -0400 iommu/vt-d: Switch from ioremap_cache to memremap In preparation for deprecating ioremap_cache() convert its usage in intel-iommu to memremap. This also eliminates the mishandling of the __iomem annotation in the implementation. Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e9363deeb286e916353f11b11d1f351c6ff54082 Merge: 0e537fe 3a70fcd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 14 15:06:33 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: - Use the alternative with the most descriptive filename containing a vmlinux file for a given build-id, providing a better title line for tools such as 'annotate'. (Arnaldo Carvalho de Melo) - Remove help messages about previous right and left arrow keybidings, that were repurposed for horizontal scrolling. (Arnaldo Carvalho de Melo) - Inform how to reset the symbol filter in the hists browser. (top & report) (Arnaldo Carvalho de Melo) - Add 'm' key for context menu display in the hists browser, that became inacessible with the repurposing of the right arrow key for horizontal scrolling. (Namhyung Kim) - Use debug_frame for callchains if eh_frame is unusable. (Rabin Vicent) Build fixes: - Fix strict-aliasing breakage with gcc 4.4 in the READ_ONCE/WRITE_ONCE code adopted from the kernel tree, that builds with -fno-strict-aliasing while tools/perf/ uses -Wstrict-aliasing=3. (Jiri Olsa) - Fix unw_word_t pointer casts in code using libunwind for callchains, fixing the build in at least 32-bit MIPS systems. (Rabin Vicent) - Work around cross compile build problems related to fixdep. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02a6d6136fa2a17f400a030829a6435556b3e65b Author: Paolo Abeni <pabeni@xxxxxxxxxx> Date: Wed Oct 14 14:25:53 2015 +0200 Revert "ipv4/icmp: redirect messages can use the ingress daddr as source" Revert the commit e2ca690b657f ("ipv4/icmp: redirect messages can use the ingress daddr as source"), which tried to introduce a more suitable behaviour for ICMP redirect messages generated by VRRP routers. However RFC 5798 section 8.1.1 states: The IPv4 source address of an ICMP redirect should be the address that the end-host used when making its next-hop routing decision. while said commit used the generating packet destination address, which do not match the above and in most cases leads to no redirect packets to be generated. Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1b0dc90abdb3487a8b60ac7c843708f98ff409a Author: Thiago Macieira <thiago.macieira@xxxxxxxxx> Date: Tue Sep 22 11:36:39 2015 -0700 Update the buildsystem for KConfig finding Qt The buildsystem will now only search for Qt 4 and Qt 5. Support for Qt 2 and 3 was dropped in the previous commits (Qt 3 was EOL'ed in 2010 or so...). For Qt 5, to be future-proof with the future direction notice appearing in the 5.5 release, C++11 support is automatically enabled. Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit b4ff1de3b8381a471d1b1320be0daa3f8fc2ed85 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:38 2015 -0700 Port xconfig to Qt5 - Update copyright. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit ee7298fbc01e252157a314da7a8a0eaef46ad2a2 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:37 2015 -0700 Port xconfig to Qt5 - Fix goParent issue. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 5df9da9df2071c7c18245b4462e7d65d28df4281 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:36 2015 -0700 Port xconfig to Qt5 - on Back clicked, deselect old item. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 76d53cbbae3fe29bfa92177e4bf3377fab176ec6 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:35 2015 -0700 Port xconfig to Qt5 - Add(back) one click checkbox toggle. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit e336b9f1325acb65121c6911f6f0bd057073db6a Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:34 2015 -0700 Port xconfig to Qt5 - Add(back) lineedit editing. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 5c60014b4ee8dd02f0d10a8995cd1859a479c0dc Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:33 2015 -0700 Port xconfig to Qt5 - Remove some commented code. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit b3c48f964cda9311030416d1ee17bd5bdc4729f2 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:32 2015 -0700 Port xconfig to Qt5 - Source format. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit f999cc06f97e0e75b21a114d38e7477c18a5a673 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:31 2015 -0700 Port xconfig to Qt5 - Add horizontal scrollbar, and scroll per pixel. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit d960b9889984d29182c17d55b3cd95c3d8d9d598 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:30 2015 -0700 Port xconfig to Qt5 - Change ConfigItem constructor parent type. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit a5225e9bc915e9010f31b0ff420a8ce3df669bc6 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:29 2015 -0700 Port xconfig to Qt5 - Disable ConfigList soring Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 5c6f1554ba7f79fedebd3500741027dbb9b6dc79 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:27 2015 -0700 Port xconfig to Qt5 - Remove ConfigList::updateMenuList template. ConfigItem executes parent->takeChild(0) while ConfigList executes parent->takeTopLevelItem(0) Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit dbf629331ac8e9458bb5fb1ccd5b850f3f2f94b6 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:26 2015 -0700 Port xconfig to Qt5 - Add ConfigList::mode to initializer list. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 86c052827b68db49a70597980d0f85c8546a09be Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:25 2015 -0700 Port xconfig to Qt5 - Add ConfigItem::nextItem to initializer list. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit a52cb321de597542eeab63e1033156e05d9f075b Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:24 2015 -0700 Port xconfig to Qt5 - Tree widget set column titles. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit e484fe3a9be894f97a7f982f606ac318648f8db5 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:23 2015 -0700 Port xconfig to Qt5 - Quick workaround to bypass app crash at startup. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 9bd36ed363c9dfec4e47e4ed489aadf3da987314 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:22 2015 -0700 Port xconfig to Qt5 - Set ConfigView object name. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit c14fa5e123cea969b0aca4b6a4e13ce6937e4ed2 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:21 2015 -0700 Port xconfig to Qt5 - Use correct signal names. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 9bfda0ab03877855d9018712a046de0c9e147d34 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:20 2015 -0700 Port xconfig to Qt5 - Remove Qt3Support from Makefile. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit d5d973c3f8a956411fafc997738ff03f213200b6 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:19 2015 -0700 Port xconfig to Qt5 - Put back some of the old implementation(part 2). Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 59e564408f88ee14395dd96f713eae2474edb591 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:18 2015 -0700 Port xconfig to Qt5 - Put back some of the old implementation. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 1019f1a586afe835bf1c6e4e8acfcddd2b7465f6 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:17 2015 -0700 Port xconfig to Qt5 - Introduce Qt4/5 version of ConfigList and ConfigItem Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 92119937e844ef60693411062045d3c63ca8edd9 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:16 2015 -0700 Port xconfig to Qt5 - update signals Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 68ccb7ef4974bfce0d99a4425324a1c7ef85a82e Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:15 2015 -0700 Port xconfig to Qt5 - Fix the code so it compiles with Qt5 Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 76538660fb08f2f794d569a594a95fc55eb03932 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:14 2015 -0700 Port xconfig to Qt5 - Remove custom ListView classes. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 780505e33f0af32808257fd8b6ace5c3e3d9666f Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:13 2015 -0700 Port xconfig to Qt5 - Make single/split/full actions checkable. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 9c86235a19861155cdd81e0cb29f34cd0d07fbe2 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:12 2015 -0700 Port xconfig to Qt5 - Update QAction checkable Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 92298b496df10415b03574efee5fbba9ce8f5ca0 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:11 2015 -0700 Port xconfig to Qt5 - Fix layout margin. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 29a70168e2637385295cc60549c038d3c958f8a8 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:10 2015 -0700 Port xconfig to Qt5 - Fix layout Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 34d6320b825ec2d261d4cb1af83f0582cd2e7954 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:09 2015 -0700 Port xconfig to Qt5 - Replace Q3VBox with QWidget Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 1ce67353a77a260fa917086405e326693c35abf2 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:08 2015 -0700 Port xconfig to Qt5 - Remove unused #include <q3dragobject.h> Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 76bede87084ac891f8ddc727178efa49dc49a0d5 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:07 2015 -0700 Port xconfig to Qt5 - Use QMenu Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 924bbb53d512688bf9caae10a0d2d8b081aea535 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:06 2015 -0700 Port xconfig to Qt5 - Use QTextBrowser Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 041fbdc21fadb7747482bddc22a27a431b678c1c Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:05 2015 -0700 Port xconfig to Qt5 - Use QList Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit bea00771f7d0964192da89d53adf3faf55b1daa9 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:04 2015 -0700 Port xconfig to Qt5 - Use QFileDialog Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 85eaf28a2683b11227fbcd77341339fe3642f795 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:03 2015 -0700 Port xconfig to Qt5 - Use QAction Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit b1f8a45bfee563f6aa9969c6b01f6c831a85e39a Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:02 2015 -0700 Port xconfig to Qt5 - Use QMainWindow, QToolBar Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 8328447af88eaab1db29852cb3e4a71cda5bd887 Author: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Date: Tue Sep 22 11:36:01 2015 -0700 Remove support for QT3 and older. Signed-off-by: Boris Barbulovski <bbarbulovski@xxxxxxxxx> Signed-off-by: Thiago Macieira <thiago.macieira@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 7d1f6411b04fef2f0a260205c92e811b280ae117 Merge: 4b418bf b4a5127 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 14 05:53:48 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-10-13 This series contains updates to i40e, i40evf, ixgbe and fm10k. Carolyn cleans up ndo_bridge_getlink() by flagging a parameter as __always_unused, since it is never used. Adds a member to the nvm_info struct to store OEM version info to be output either by OID or ethtool. Neerav cleans up a remaining bit shift to use BIT() macro. Mitch fixes the i40evf driver to properly handle calls to its ndo_set_mac_address() method. It did not properly check to see if the override would be allowed by the PF driver, and it never removed the old address from its filter list. Cleaned up the use of i40e_enable_vf_mappings() in i40e_alloc_vfs(), since it is just redundant since we already call it by i40e_reset_vf(). Fixed a possible panic in some circumstances where the firmware may fail to allocate a VSI for a VF by checking the return value from i40e_alloc_vf_res() and don't try to configure the device further if it failed. Greg fixes the parsing of CEE App TLVs so the caller does not have to consider whether the App came from a CEE or IEEE DCBx negotiation. Shannon moves the device ids into a standalone file due to the desire to write user-land drivers (and other requests) without needing the rest of the include files. Catherine adds the ability to save the module information from get_phy_capabilities() to be used to determine which speeds the module supports. Also cleaned up the PHY structure by removing unused members and add the ability to store the PHY capabilities reported by the firmware. Emil modifies ixgbe to ensure that flow control packets initiated by the VF are dropped and reported as spoofed. Jacob cleans up the fm10k driver to avoid buffer overflow by using sprintf(), so convert to using snprintf(). Also fixed the use of an enum as a boolean, so check for the actual value of NETREG_UNINITIALIZED in case it ever changes from the current value of zero. v2: Dropped patch 11 of the original series, which added functions that were never used. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 668b4ada1cdf406dac9f72503fa2f69f31bed0c5 Author: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 19 00:40:30 2015 +0100 iommu/arm-smmu: ThunderX mis-extends 64bit registers The SMMU architecture defines two different behaviors when 64-bit registers are written with 32-bit writes. The first behavior causes zero extension into the upper 32-bits. The second behavior splits a 64-bit register into "normal" 32-bit register pairs. On some buggy implementations, registers incorrectly zero extended when they should instead behave as normal 32-bit register pairs. Signed-off-by: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxxxxxxxxxx> [will: removed redundant macro parameters] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 077124c98da3aa5aaf498fd0980ed14eaf777c09 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 18 17:12:24 2015 +0100 iommu/arm-smmu: Remove unneeded '0x' annotation '%pad' automatically prints with '0x', so remove the explicit '0x' annotation. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 941a802d939221028baf6d19afd6dc8652219a81 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 11 16:25:10 2015 +0100 iommu/arm-smmu: Use drvdata instead of maintaining smmu_devices list Rather than keep a private list of struct arm_smmu_device and searching this whenever we need to look up the correct SMMU instance, instead use the drvdata field in the struct device to take care of the mapping for us. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3ca9299e7dc65f2d8242cd7804818a8e840b5a26 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:02:44 2015 -0500 iommu/omap: Add support for configuring dsp iommus on DRA7xx The DSP MMUs on DRA7xx SoC requires configuring an additional MMU_CONFIG register present in the DSP_SYSTEM sub module. This setting dictates whether the DSP Core's MDMA and EDMA traffic is routed through the respective MMU or not. Add the support to the OMAP iommu driver so that the traffic is not bypassed when enabling the MMUs. The MMU_CONFIG register has two different bits for enabling each of these two MMUs present in the DSP processor sub-system on DRA7xx. An id field is added to the OMAP iommu object to identify and enable each IOMMU. The id information and the DSP_SYSTEM.MMU_CONFIG register programming is achieved through the processing of the optional "ti,syscon-mmuconfig" property. A proper value is assigned to the id field only when this property is present. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit c0e44929b571c468c4eca2ffb0fc196b090193f1 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:02:43 2015 -0500 Documentation: dt: Update OMAP iommu bindings for DRA7 DSPs The DSP processor sub-systems on DRA7xx have two MMU instances each, one for the processor core and the other for an internal EDMA block. These MMUs need an additional shared register to be programmed in the DSP_SYSTEM sub-module to be enabled properly. The OMAP IOMMU bindings is updated to account for this additional syscon property required for these DSP IOMMU instances on DRA7xx SoCs. A new compatible "ti,dra7-dsp-iommu" is also defined to distinguish these devices specifically from other DRA7 IOMMU devices. An example of the DRA7 DSP IOMMU nodes is also added to the document for clarity. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit fdbbe8e7914765aef82c696dcefc97fe462c3925 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Oct 9 12:34:23 2015 +0200 s390/spinlock: remove unneeded serializations at unlock the kernel locks have aqcuire/release semantics. No operation done after the lock can be "moved" before the lock and no operation before the unlock can be moved after the unlock. But it is perfectly fine that memory accesses which happen code wise after unlock are performed within the critical section. On s390x, reads are in-order with other reads (PoP section "Storage-Operand Fetch References") and writes are in-order with other writes (PoP section "Storage-Operand Store References"). Writes are also in-order with reads to the same memory location (PoP section "Storage-Operand Store References"). To other CPUs (and the channel subsystem), reads additionally appear to be performed prior to reads or writes that happen after them in the conceptual sequence (PoP section "Relation between Operand Accesses"). So at least as observed by other CPUs and the channel subsystem, reads inside the critical sections will not happen after unlock (and writes are in-order anyway). That's exactly what we need for "RELEASE operations" (memory-barriers.txt): "It guarantees that all memory operations before the RELEASE operation will appear to happen before the RELEASE operation with respect to the other components of the system." Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-By: Sascha Silbe <silbe@xxxxxxxxxxxxxxxxxx> [cross-reading and lot of improvements for the patch description] Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8139b89d7cc5f53cff63a72c8e226385f34a70a2 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Jul 27 12:47:40 2015 +0200 s390/zcrypt: use system work queue for ap_scan_bus There is a system work queue system_long_wq for long running work. Use this work queue for the AP bus scan loop. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b96a9e5140d4d6253e499bd18c35a7d085ac46e2 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 14 17:28:26 2015 +0200 s390/zcrypt: remove support for PCICC and PCICA cards Remove the code for really old crypt cards, PCICC and PCICA. These cards have been out of service for several years. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3f3007afda8bb731a3422430752ca91ddc102e4d Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 14 17:01:23 2015 +0200 s390/zcrypt: introduce state machine for the AP bus Replace the two fields 'unregistered' and 'reset' with a device state with 5 possible values. Introduce two events for the AP devices, device poll and device timeout. With the state machine it is easier to deal with device initialization and suspend/resume. Device polling is simpler as well, the arkane 'flags' passing is gone. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit f58fe336009f451748c1c337f35130a320ef923d Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 14 16:59:27 2015 +0200 s390/zcrypt: use explicit return code for flushed requests If a AP device is removed while messages are still pending, the requests are cancelled by calling the message receive function with an error pointer for the reply. The message type receive handler recognize this and create a fake hardware error TYPE82_RSP_CODE / REP82_ERROR_MACHINE_FAILURE. The message with the hardware error then causes a printk and a return code of -EAGAIN. Replace the intricate scheme with an explicit return code for this sitation and avoid the error message. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit fcd0d1f637e57777fdc742adee6bfbcab5876295 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Jul 23 10:55:59 2015 +0200 s390/zcrypt: cleanup AP bus timer code Set the configuration timer at the end of the ap_scan_bus function. Make use of setup_timer and remove some unnecessary add_timer, mod_timer and del_timer_sync calls. Replace the complicated timer_pending, mod_timer and add_timer code in ap_config_time_store with a simple mod_timer. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 83e9d5d2d45e518deb8cb843bd2e41548c6bb9b2 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Jul 17 13:43:18 2015 +0200 s390/zcrypt: fix suspend/resume of AP bus devices If there are no devices on the AP bus there will not be a single call to the per-device ap_bus_suspend function. Even worse, there will not be a call to the per-device ap_bus_resume either and the AP will fail so resume correctly. Introduce a bus specific dev_pm_ops to suspend / resume the AP bus related things. While we are at it, simplify the power management code of the AP bus. Reviewd-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 98733791e8ea9f700ce2c6feedcbeb7c4703359e Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Jul 17 15:01:08 2015 +0200 s390/zcrypt: fix device unregister race The ap_queue_messsage function will call device_unregister if the unregistered field of the device has been set while trying to queue a message. This races with other device_unregister calls, e.g. from the ap_scan_bus. Remove the call to device_unregister from ap_queue_message and let ap_scan_bus deal with it. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 889875a14f0a3205e78613b3e78ecc4efc187d74 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Jun 26 16:55:35 2015 +0200 s390/zcrypt: fix memory leak with ap configuration data The ap_query_configuration function allocates the ap_config_info structure, but there is no code to free the structure. Allocate the structure in the module_init function and free it again in module_exit. While we are at it simplify a few functions in regard to the ap configuration data. Reviewed-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6acbe21f473f5cff8a11546f090967459b63ab3e Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Jun 26 15:40:41 2015 +0200 s390/zcrypt: remove duplicate low level functions ap_test_queue, ap_query_facilities, __ap_query_functions all use the same PQAP(TAPQ) command. Consolidate the three into a single ap_test_queue function that returns the AP status and the 64-bit result. The exception table entry for PQAP(TAPQ) can be avoided if the T bit for the APFT facility is set only if test_facility(15) indicated that the facility is present. Integrate ap_query_function into ap_query queue to avoid calling PQAP(TAPQ) twice. Reviewed-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 29b0a8250ba63beffba4fe3a42fa75dddf4bd06a Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Oct 9 13:48:03 2015 +0200 s390/etr,stp: fix possible deadlock on machine check The first level machine check handler for etr and stp machine checks may call queue_work() while in nmi context. This may deadlock e.g. if the machine check happened when the interrupted context did hold a lock, that also will be acquired by queue_work(). Therefore split etr and stp machine check handling into first and second level handling. The second level handling will then issue the queue_work() call in process context which avoids the potential deadlock. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 7cc8944e13c73374b6f33b39ca24c0891c87b077 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:07:06 2015 +0200 s390/pci: reshuffle struct used to write debug data zpci_err_insn writes stale stack content to the debugfs. Ensure that the struct in zpci_err_insn is ordered in a way that we don't have uninitialized holes in it. In addition to that add the packed attribute. Fixes: 3d8258e (s390/pci: move debug messages to debugfs) Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 48002bd5af37c3f6ac4a1484427ac52f7f184950 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Oct 8 13:51:44 2015 +0200 s390/bitops: remove 31 bit related comments Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e4165dcbc087eaf0fa892c6eee7fce8ac0482742 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Oct 8 13:38:49 2015 +0200 s390/cmpxchg: remove dead code With the removal of 31 bit support a couple of defines became unused. Remove them. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 004f0bba1902960e0d94d3712b94f7cdd9889ea6 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Oct 6 14:45:35 2015 +0200 s390/nmi: change type of mcck_interruption_code lowcore field For some unknown reason the mcck_interruption_code field is defined as array of two 32 bit values. Given that this actually is a 64 bit field according to the architecture, change the type to u64. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 92778b9920abddacf31876b3f15d8ea07edeca8d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Oct 6 16:23:39 2015 +0200 s390/flags: use _BITUL macro The defines that are used in entry.S have been partially converted to use the _BITUL macro (setup.h). This patch converts the rest. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ac25e790d9c3c9b5d34609b7dc1d60c09494c668 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Oct 6 16:23:29 2015 +0200 s390/flags: fix flag handling The cpu flags and pt_regs flags fields are each 64 bits in size. A flag can be set with helper functions like set_cpu_flags(). These functions create a mask using "1U << flag". This doesn't work if flag is larger than 31, since 1U << 32 == 0. So fix this in case we ever will have such flag numbers. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit db7e007fd61ca07e5f3b04cf2168531b074d318d Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Sat Aug 15 11:42:21 2015 +0200 s390/udelay: make udelay have busy loop semantics When using systemtap it was observed that our udelay implementation is rather suboptimal if being called from a kprobe handler installed by systemtap. The problem observed when a kprobe was installed on lock_acquired(). When the probe was hit the kprobe handler did call udelay, which set up an (internal) timer and reenabled interrupts (only the clock comparator interrupt) and waited for the interrupt. This is an optimization to avoid that the cpu is busy looping while waiting that enough time passes. The problem is that the interrupt handler still does call irq_enter()/irq_exit() which then again can lead to a deadlock, since some accounting functions may take locks as well. If one of these locks is the same, which caused lock_acquired() to be called, we have a nice deadlock. This patch reworks the udelay code for the interrupts disabled case to immediately leave the low level interrupt handler when the clock comparator interrupt happens. That way no C code is being called and the deadlock cannot happen anymore. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0c5a69f432ba1e586ac6ae5e4311c2f1cbd051fa Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Oct 7 10:54:36 2015 +0200 s390/compiler.h Fix sparse vs. hotpatch sparse does not understand the s390 specific hotpatch attribute and floods the log with messages like include/uapi/linux/swab.h:92:8: error: attribute 'hotpatch': unknown attribute Let's just dont use it, if __CHECKER__ is defined. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e22cf8ca6f75a6c4fccf2d6ee818bdb1205f32e6 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Oct 6 18:06:15 2015 +0200 s390/cpumf: rework program parameter setting to detect guest samples The program parameter can be used to mark hardware samples with some token. Previously, it was used to mark guest samples only. Improve the program parameter doubleword by combining two parts, the leftmost LPP part and the rightmost PID part. Set the PID part for processes by using the task PID. To distinguish host and guest samples for the kernel (PID part is zero), the guest must always set the program paramater to a non-zero value. Use the leftmost bit in the LPP part of the program parameter to be able to detect guest kernel samples. [brueckner@xxxxxxxxxxxxxxxxxx]: Split __LC_CURRENT and introduced __LC_LPP. Corrected __LC_CURRENT users and adjusted assembler parts. And updated the commit message accordingly. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6a62b485eacaf4db26923bf9442073320fc7199a Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Oct 5 13:04:09 2015 +0200 s390/asm: make use of the OFFSET macro to define assember constants The use of OFFSET instead of DEFINE makes the definitions in asm-offsets.c more readable. While we are at it sort the defines for struct _lowcore according to the field order and remove some unneeded defines. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 18d1a7f675d7fb00d247eb858020da4bee199ddf Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Oct 1 14:11:35 2015 +0200 s390/sclp: avoid merged message output The sclp console and tty code currently uses several message text objects in a single message event to print several lines with one SCCB. This causes the output of these lines to be fused into a block which is noticeable when selecting text in the operating system message panel. Instead use several message events with a single message text object each to print every line on its own. This changes the SCCB layout from struct sccb_header struct evbuf_header struct mdb_header struct go struct mto ... struct mto to struct sccb_header struct evbuf_header struct mdb_header struct go struct mto ... struct evbuf_header struct mdb_header struct go struct mto Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 83abeffbd5dece88129a67f736bdd43a40eccbb1 Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 17:02:48 2015 +0200 s390/entry: add assembler macro to conveniently tests under mask Various functions in entry.S perform test-under-mask instructions to test for particular bits in memory. Because test-under-mask uses a mask value of one byte, the mask value and the offset into the memory must be calculated manually. This easily introduces errors and is hard to review and read. Introduce the TSTMSK assembler macro to specify a mask constant and let the macro calculate the offset and the byte mask to generate a test-under-mask instruction. The benefit is that existing symbolic constants can now be used for tests. Also the macro checks for zero mask values and mask values that consist of multiple bytes. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0ac277790ec938087c9047bc7b1b4f30a65406cd Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 17:53:22 2015 +0200 s390/fpu: add static FPU save area for init_task Previously, the init task did not have an allocated FPU save area and saving an FPU state was not possible. Now if the vector extension is always enabled, provide a static FPU save area to save FPU states of vector instructions that can be executed quite early. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b5510d9b68c33964abd938148f407ad3789e369f Author: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 10:04:41 2015 +0200 s390/fpu: always enable the vector facility if it is available If the kernel detects that the s390 hardware supports the vector facility, it is enabled by default at an early stage. To force it off, use the novx kernel parameter. Note that there is a small time window, where the vector facility is enabled before it is forced to be off. With enabling the vector facility by default, the FPU save and restore functions can be improved. They do not longer require to manage expensive control register updates to enable or disable the vector enablement control for particular processes. Signed-off-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 395e6aa1d0ffbc493a04469aa8f6751ed2aad8c5 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Sep 29 12:51:40 2015 +0200 s390/mm: try to avoid storage key operation in ptep_set_access_flags The call to pgste_set_key in ptep_set_access_flags can be avoided if the old pte is found to be valid at the time the new access rights are set. The function that created the old, valid pte already completed the required storage key operation. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5da7667c035f3a711ec8d0a3997254807dd8bc6d Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 28 15:27:26 2015 +0200 s390/barrier: remove unnecessary serialization in atomics and bitops The principles of operation states reads are in order, writes are in order, writes can be reordered after reads, but no reads can be reordered after writes. The atomic and bitops variantes for z196 use the interlocked-access facility instructions with a memory barrier before and after the instruction. Because of the memory ordering the first barrier is unnecessary and can be removed. Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b5a6b71b1901b9ca495f669c9ad86f2181960aba Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 21 16:05:32 2015 +0200 s390/diag: add tracepoint for diagnose calls To be able to analyse problems in regard to hypervisor overhead add a tracepoing for diagnose calls. It reports the number of the diagnose issued, e.g. sshd-1385 [002] .... 42.701431: diagnose: nr=0x9c <idle>-0 [001] ..s. 43.587528: diagnose: nr=0x9c Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1ec2772e0c3ca3159035c03165355e355efc326b Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Aug 20 17:28:44 2015 +0200 s390/diag: add a statistic for diagnose calls Introduce /sys/debug/kernel/diag_stat with a statistic how many diagnose calls have been done by each CPU in the system. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit acdc9fc9a8121ce2ebcd7533bd72852c20b353f3 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Thu Aug 20 12:57:33 2015 +0200 s390/bitops: implement cache friendly test_and_set_bit_lock The generic implementation for test_and_set_bit_lock in include/asm-generic uses the standard test_and_set_bit operation. This is done with either a 'csg' or a 'loag' instruction. For both version the cache line is fetched exclusively, even if the bit is already set. The result is an increase in cache traffic, for a contented lock this is a bad idea. Acked-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5614dd920a02a524c9abc9573374d81f0535f18a Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 22 14:47:42 2015 +0200 s390/mm: implement soft-dirty bits for user memory change tracking Use bit 2**1 of the pte and bit 2**14 of the pmd for the soft dirty bit. The fault mechanism to do dirty tracking is already in place. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a7b7617493179a0ff76cbc0cc2eb45ad07074765 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 22 14:20:47 2015 +0200 mm: add architecture primitives for software dirty bit clearing There are primitives to create and query the software dirty bits in a pte or pmd. But the clearing of the software dirty bits is done in common code with x86 specific page table functions. Add the missing architecture primitives to clear the software dirty bits to allow the feature to be used on non-x86 systems, e.g. the s390 architecture. Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9d49f86daba3ed22cadf01beff1b130ad25fe0bf Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 18:40:33 2015 +0200 s390/cio: introduce pathmask_to_pos We often need to correlate an 8 bit path mask with the position in a channel path array. Introduce and use pathmask_to_pos for that task. Reviewed-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ab97d211ef1863942a90d7c93dfd563f0381ca87 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 10:29:59 2015 +0200 s390/cio: reactivate cmf after hibernate During resume from hibernate we already reenable measurement block updates on a per device basis. In addition to that we also need to activate channel measurement globally using the set channel monitor instruction. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 45bf4b96e6aea81594e510fe5cd10190ff4e6cb1 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 19:53:01 2015 +0200 s390/cio: use kmem_cache for extended measurement block allocation Extended measurement blocks need to be 64 byte aligned. To achieve that 128 bytes for each measurement block are allocated and an align callback returns a 64 byte aligned address inside this area. Replace this code with kmem_cache allocations. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a5e9ca573b5fe47aef30e9c33c31b5fe7b0dfb88 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 19:52:31 2015 +0200 s390/cio: fix memleak in channel measurement The measurement block for the extended measurement data is not freed when switching off per device measurement. Free the measurement block after HW stopped accessing it. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 616503d1d8940049841e5b6f2ab5157f37072ed9 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 19:52:06 2015 +0200 s390/cio: improve locking during cmbe allocation During allocation of extended measurement blocks we check if the device is already active for channel measurement and add the device to a list of devices with active channel measurement. The check is done under ccwlock protection and the list modification is guarded by a different lock. To guarantee that both states are in sync make sure that both locks are held during the allocation process (like it's already done for the "normal" measurement block allocation). Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a6ef15652d260f754ead223d0c55434a3a39fe1d Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 19:51:39 2015 +0200 s390/cio: fix use after free in cmb processing Devices with active channel measurement are included in a list. When a device is removed without deactivating channel measurement first the list_head is freed but still used. Fix this by making sure that channel measurement is deactivated during device deregistration. For devices that we deregister because they are no longer accessible deactivating channel measurement will fail. In this case we can report success because the FW will no longer access the measurement block. In addition to these steps keep an extra device reference while channel measurement is active. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1bc6664bdfb949bc69a08113801e7d6acbf6bc3f Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 15 13:11:42 2015 +0200 s390/cio: use device_lock during cmb activation Hold the device_lock during [de]activation of the channel measurement block to synchronize concurrent usage of these functions. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 279b8f9a0f3ea3399764047d487dfdd8f7bc9795 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 19:50:25 2015 +0200 s390/cio: cleanup cmb_enable sysfs attr Ensure that we hold the ccwlock when accessing private data. Return errors that occur during measurement enabling to userspace. Apply some cleanups while at it. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3c4aac86cbb3389d74152a83c89cf3a31fd7cc0b Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Wed Sep 16 00:54:24 2015 +0600 s390/crash_dump: use for_each_mem_range The <linux/memblock.h> already provides for_each_mem_range() macro that iterates through memblock areas from type_a and not included in type_b. We can remove custom for_each_dump_mem_range() macro and use the for_each_mem_range() instead. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> commit 1afc82aee45c118dc8026d54a230e75ff6baee66 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 11 16:32:24 2015 +0200 s390/barrier: avoid serialization in [smp_]rmb and [smp_]wmb The principles of operation says: The storage-operand fetch references of one instruction occur after those of all preceding instructions and before those of subsequent instructions, as observed by other CPUs and by channel programs. [...] The CPU may fetch the operands of instructions before the instructions are executed. [...] The CPU may delay placing results in storage. [...] the results of one instruction are placed in storage after the results of all preceding instructions have been placed in storage and before any results of the succeeding instructions are stored, as observed by other CPUs and by the channel subsystem. which boils down to: - reads are in order - writes are in order - reads can happen earlier - writes can happen later By definition (see memory-barrier.txt) read barriers orders reads vs reads and write barriers orders writes agains writes. but neither of these orders reads vs. writes. That means we can implement smp_wmb,smp_rmb,wmb and rmb as simple compiler barriers. To avoid reviewing all driver code for correct barrier usage we keep dma_[rw]mb as serialization for now. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 33b5881d11c5d852662efb764f5054347296a062 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 11 16:23:06 2015 +0200 s390/vdso: use correct memory barrier By definition smp_wmb only orders writes against writes. (Finish all previous writes, and do not start any future write). To protect the vdso init code against early reads on other CPUs, let's use a full smp_mb at the end of vdso init. As right now smp_wmb is implemented as full serialization, this needs no stable backport, but this change will be necessary if we reimplement smp_wmb. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e0af21c56ddd592b33f74f986a2cb4478b10786e Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 11 16:09:56 2015 +0200 s390/spinlock: use correct barriers _raw_write_lock_wait first sets the high order bit to indicate a pending writer and then waits for the reader to drop to zero. smp_rmb by definition only orders reads against reads. Let's use a full smp_mb instead. As right now smp_rmb is implemented as full serialization, this needs no stable backport, but this patch will be necessary if we reimplement smp_rmb. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9a21268360f5438796fa935e0b2e9317187ef8f4 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 4 13:52:44 2015 +0200 s390/dasd: mark DASD devices as non rotational We were able to reduce the CPU overhead of big paging scenarios when announcing our paging disks as non-rotational. Almost all dasd devices are implemented in storage servers with cache, raid, striping and lots of magic. There is no point in optimizing the disk schedulers and swap code for a single platter moving arm rotational disks. Given the complexity of the setup and the fact that this change is mostly to disable the additional overhead in swap code, lets keep the other functionality unchanged and do not disable the this device as entropy source - unlike other non-rotational devices. Suggested-by: Christian Ehrhardt <ehrhardt@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 1330a1258dc20caa5961b07aa62482793d6f2ecf Author: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:57:24 2015 +0200 s390/zcrypt: enable odd RSA modulus sizes in CRT format In the past only even modulus sizes were allowed for RSA keys in CRT format. This restriction was based on limited RSA key generation on older crypto adapters that provides only even modulus sizes. This restriction is not valid any more. Revoke restrictions that crypto requests can be serviced with odd RSA modulus length in CRT format. Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b02064a9b8134e1aac4e891abf72139ca0b126ee Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 11:57:56 2015 +0200 s390/numa: write kernel message when emu_size has been increased Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit e74eba049356fdad6713ab66322d9aeb0e85608b Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Oct 14 13:44:15 2015 +0300 hsi: omap_ssi_port: Prevent warning if cawake_gpio is not defined. The error handling path is broken as cawake_gpio was defined as unsigned integer causing the following warnings on boards that don't use SSI port and so don't have cawake_gpio defined. e.g. beagleboard C4. [ 30.094635] WARNING: CPU: 0 PID: 322 at drivers/gpio/gpiolib.c:86 gpio_to_desc+0xa4/0xb8() [ 30.103363] invalid GPIO -2 [ 30.106292] Modules linked in: omap_ssi_port(+) cpufreq_dt cfbfillrect cfbimgblt leds_gpio cfbcopyarea thermal_sys led_class hwmon gpio_keys encoder_tfp410 connector_analog_tv connector_dvi omap_hdq snd phy_i [ 30.145477] CPU: 0 PID: 322 Comm: modprobe Not tainted 4.3.0-rc4-00030-gca978c0-dirty #335 [ 30.154174] Hardware name: Generic OMAP3-GP (Flattened Device Tree) [ 30.160827] [<c0016ef4>] (unwind_backtrace) from [<c00131f4>] (show_stack+0x10/0x14) [ 30.168975] [<c00131f4>] (show_stack) from [<c033cf08>] (dump_stack+0x80/0x9c) [ 30.176635] [<c033cf08>] (dump_stack) from [<c003e920>] (warn_slowpath_common+0x7c/0xb8) [ 30.185180] [<c003e920>] (warn_slowpath_common) from [<c003e9f0>] (warn_slowpath_fmt+0x30/0x40) [ 30.194366] [<c003e9f0>] (warn_slowpath_fmt) from [<c0376314>] (gpio_to_desc+0xa4/0xb8) [ 30.202819] [<c0376314>] (gpio_to_desc) from [<c0376ac8>] (gpio_request_one+0x14/0x11c) [ 30.211273] [<c0376ac8>] (gpio_request_one) from [<c037370c>] (devm_gpio_request_one+0x3c/0x78) [ 30.220458] [<c037370c>] (devm_gpio_request_one) from [<bf184210>] (ssi_port_probe+0x118/0x504 [omap_ssi_port]) [ 30.231170] [<bf184210>] (ssi_port_probe [omap_ssi_port]) from [<c03d4cfc>] (platform_drv_probe+0x48/0xa4) [ 30.241424] [<c03d4cfc>] (platform_drv_probe) from [<c03d3678>] (driver_probe_device+0x1dc/0x2a0) [ 30.250793] [<c03d3678>] (driver_probe_device) from [<c03d37d0>] (__driver_attach+0x94/0x98) [ 30.259643] [<c03d37d0>] (__driver_attach) from [<c03d1d60>] (bus_for_each_dev+0x54/0x88) [ 30.268249] [<c03d1d60>] (bus_for_each_dev) from [<c03d2d50>] (bus_add_driver+0xe8/0x1f8) [ 30.276916] [<c03d2d50>] (bus_add_driver) from [<c03d4118>] (driver_register+0x78/0xf4) [ 30.285369] [<c03d4118>] (driver_register) from [<c03d5380>] (__platform_driver_probe+0x34/0xd8) [ 30.294647] [<c03d5380>] (__platform_driver_probe) from [<c00097e4>] (do_one_initcall+0x80/0x1d8) [ 30.303985] [<c00097e4>] (do_one_initcall) from [<c011617c>] (do_init_module+0x5c/0x1cc) [ 30.312561] [<c011617c>] (do_init_module) from [<c00c7a68>] (load_module+0x18c8/0x1f0c) [ 30.320983] [<c00c7a68>] (load_module) from [<c00c8188>] (SyS_init_module+0xdc/0x150) [ 30.329223] [<c00c8188>] (SyS_init_module) from [<c000f7e0>] (ret_fast_syscall+0x0/0x1c) Fixes: b209e047bc743 ("HSI: Introduce OMAP SSI driver") Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8785955bbc28be446bcb2ad08cfb0599246746f7 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Oct 9 04:26:35 2015 -0700 mwifiex: remove unnecessary NULL check ra_list cannot be NULL here, so remove the unnecessary NULL check. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit fe24372d1b115863905174aa3c9f988c1eb40630 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Oct 9 04:26:34 2015 -0700 mwifiex: add ndo_validate_addr netdev ops ndo_validate_addr is set to generic eth_validate_addr() function used for MAC address validation. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 505c5cb82ddf0fb6a88d1fc2fbf2386133a9ffcd Author: Ganapathi Bhat <gbhat@xxxxxxxxxxx> Date: Fri Oct 9 04:26:33 2015 -0700 mwifiex: fix AP VHT behaviour Even if hostapd configuration file contains VHT parameters, they were not getting reflected in beacons. The reason is we are resetting them before starting AP. This patch removes redundant BSS_STOP and SYS_RESET firmware commands before starting AP to fix the problem. Signed-off-by: Ganapathi Bhat <gbhat@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit f098a045350ecd6045f2f2d5a50fecf2a98962d7 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Oct 1 22:35:21 2015 +0800 hsi: fix double kfree When device_register() fails, kfree() is called in hsi_client_release(), hence there is no need to call kfree in err3 again. Fixes: a2aa24734d9db ("HSI: Add common DT binding for HSI client devices") Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 46dbe2476c93026b20ddf36c6995e678bd867000 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Oct 9 04:26:23 2015 -0700 mwifiex: control WLAN and bluetooth coexistence modes By default our chip will be in spatial coexistence mode. This patch adds a provision to change it to timeshare mode via debugfs command. Enable timeshare coexistence mode echo 1 > /sys/kernel/debug/mwifiex/mlan0/timeshare_coex Go back to spacial coexistence mode echo 0 > /sys/kernel/debug/mwifiex/mlan0/timeshare_coex Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a484804b3eb8de64a2497c484a08359f7ae28210 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Oct 4 16:46:55 2015 +0800 mwifiex: fix a comment typo Just fix a typo in the code comment. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cfa2b42b4d9a3dc10aa1e0c82213f3d30d5bcdf8 Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxx> Date: Tue Sep 29 13:24:37 2015 +0800 ath9k: fix QCA9561 XLNA rxgain initial A small bugfix for commit ede6a5e7b859 ("ath9k: Add QCA956x HW support"). I guess I would have skipped renaming (that initial QCA956x commit has been there already for almost a year with the "5g" in the name) and move the call outside AR_SREV_9462_20_OR_LATER() to make it reachable. Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 871d0051f06030bfddd5971ef2afc1eb7291ab4e Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxx> Date: Tue Sep 29 13:24:36 2015 +0800 ath9k: rename ini_modes_rxgain_5g_xlna to ini_modes_rxgain_xlna rename the variable as preparation for using the array with 2.4 GHz band, etc. Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 16a4ea506503343a066e9b986e4775bf472e5205 Author: Priit Laes <plaes@xxxxxxxxx> Date: Tue Sep 15 09:01:56 2015 +0300 rtlwifi: rtl8192cu: Add missing case in rtl92cu_get_hw_reg Driver was reporting 'switch case not processed' after association, so HW_VAR_KEEP_ALIVE was added and filled similarily to other drivers. Positive side effect to this seems to be a bit more stable connection. Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Acked-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ce03966a16b03e5cf1a9cbd2f42ca0fbe4118ab5 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Thu Sep 10 07:27:34 2015 -0700 mwifiex: correction in USB8997 chipset's product ID For 8897 chipset, mwifiex_usb unnecessarily used to come into picture when wlan is supposed to be used via PCIe interface and USB interface is for bluetooth. This problem has been resolved for newer chipset by having separate USB product ids for USB-USB8997 and PCIe-USB8997 chipset variants. This patch ensures to use wlan specific product id. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Frank Huang <frankh@xxxxxxxxxxx> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 60a188a2715f5cf9f495bd125600453b9e9b1a55 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Thu Sep 10 07:27:33 2015 -0700 mwifiex: remove USB8897 chipset support We don't have any customer using this chipset via USB interface. if both mwifiex_pcie and mwifiex_usb modules are enabled by user, sometimes mwifiex_usb wins the race even if user wants wlan interface to be on PCIe and USB for bluetooth. This patch solves the problem. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Frank Huang <frankh@xxxxxxxxxxx> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 406df18f1f551a7f54bc68b56cf3ceb36f50cfc4 Author: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> Date: Wed Jul 22 10:42:43 2015 +0200 ath9k: Fix NF CCA limits for AR9287 and AR9227 The FreeBSD driver [0] uses the same 2G values as for the AR9280 chips. Using the same values in ath9k results in much better throughput for me. Before this patch I had a huge amount of packet loss (sometimes up to 40%) and the max transfer speed was somewhere around 5Mbit/s. With this patch applied I have zero packet loss and ten times the throughput. My device uses a AR9227 which is the PCI variant of the AR9287. [0] http://bxr.su/FreeBSD/sys/dev/ath/ath_hal/ar9002/ar9287.h Signed-off-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 18e9345b0db9fe7bd18c3c43967789fe0a2fdb52 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 23 16:11:41 2015 +0200 drm/i915: Add primary plane to mask if it's visible This fixes the warnings like "plane A assertion failure, should be disabled but not" that on the initial modeset during boot. This can happen if the primary plane is enabled by the firmware, but inheriting it fails because the DMAR is active or for other reasons. Most likely caused by commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:54 2015 +0200 drm/i915: update plane state during init This is a new version of commit 721a09f7393de6c28a07516dccd654c6e995944a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Sep 15 14:28:54 2015 +0200 drm/i915: Add primary plane to mask if it's visible That was reverted in order to facilitate easier backporting of some commits from -next to v4.3. Reported-by: Andreas Reis <andreas.reis@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91429 Reported-and-tested-by: Emil Renner Berthing <kernel@xxxxxxxx> Tested-by: Andreas Reis <andreas.reis@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [Jani: cherry-picked from -next to v4.3] Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 0836e6d8c47416d6eb60bb68a5d7213c0c2d0d29 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 10 18:59:08 2015 +0300 drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() Move the sprite/cursor plane disabling to occur in intel_sanitize_crtc() where it belongs instead of doing it in intel_modeset_readout_hw_state(). The plane disabling was first added in 4cf0ebbd4fafbdf8e6431dbb315e5511c3efdc3b drm/i915: Rework plane readout. I got the idea from some patches from Partik and/or Maarten but those moved also the plane state readout to intel_sanitize_crtc() which isn't quite right in my opinion. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=91910 Reviewed-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [Jani: cherry-picked from -next to v4.3] Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c4816c7389d8dbcad036be7e5a34584289d9f590 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 10 18:59:07 2015 +0300 drm/i915: Assign hwmode after encoder state readout The dotclock is often calculated in encoder .get_config(), so we shouldn't copy the adjusted_mode to hwmode until we have read out the dotclock. Gets rid of some warnings like these: [drm:drm_calc_timestamping_constants [drm]] *ERROR* crtc 21: Can't calculate constants, dotclock = 0! [drm:i915_get_vblank_timestamp] crtc 0 is disabled v2: Steal Maarten's idea to move crtc->mode etc. assignment too Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91428 Reviewed-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> [Jani: cherry-picked from -next to v4.3] Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 2e2edebefceef201624dcc323a1f7761e0040cf5 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Oct 14 11:29:01 2015 +0300 Revert "drm/i915: Add primary plane to mask if it's visible" This reverts commit 721a09f7393de6c28a07516dccd654c6e995944a. There is nothing wrong with the commit per se. We had two versions of the commit, one in -next headed for v4.4 and this one for v4.3. Turns out we'll need to backport more fixes from -next, and they conflict with the v4.3 version. It gets messy. It will be easiest to revert this one, and backport all the relevant commits from -next without modifications; they apply cleanly after this revert. Requested-by: Joseph Yasi <joe.yasi@xxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=91910#c4 Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit f1d2b4d338bf090296f67830025228872fd52513 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 7 15:59:16 2015 -0500 rtlwifi: rtl818x: Move drivers into new realtek directory Now that a new mac80211-based driver for Realtek devices has been submitted, it is time to reorganize the directories. Rather than having directories rtlwifi and rtl818x be in drivers/net/wireless/, they will now be in drivers/net/wireless/realtek/. This change simplifies the directory structure, but does not result in any configuration changes that are visable to the user. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit dbb526ebfec1a322405b7cfcb0c46730f9865ec6 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:20 2015 +0100 netfilter: ipv6: pointer cast layout Correct whitespace layout of a pointer casting. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4305ae44a9690e35c01278fe18270d45188a61bb Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:19 2015 +0100 netfilter: ip6_tables: improve if statements Correct whitespace layout of if statements. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4362495734d155e10174ace9066827780edaed0d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Oct 14 08:56:07 2015 +0000 ASoC: rsnd: Announce for removing Gen1 SRU support Gen1 SRU support was created for preparation of Gen2 SRC support, but no-one is using this feature (sampling rate convert) on Gen1. BockW had used SRU before, but it was pass through mode. This means it is same as SSI. And BockW "platform base" code was removed from upstream code. It is now supported via DT, but it doesn't use SRU. More detail, r8a7778.dtsi has "rcar_sound,src" entry, but no-one is using this feature today. SRU probing has no relation to this removing. This means there is no effect for DT compatibility, no issues on upstream kernel. Gen2 SRC was created from Gen1 SRU, these are similar but not same IP. Keeping Gen1 SRU in current driver is a little bit difficult, and no-one is using it today. Gen1 sound is still supported via SSI. Gen1 SRU support will be removed in the next kernel version. This patch announces it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7e4ac676ee468108886f12a20e25795f1c330939 Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:15:34 2015 +0200 irqchip/mxs: Add Alphascale ASM9260 support Freescale iMX23/iMX28 and Alphascale ASM9260 have similar interrupt collectors. We already prepared the mxs driver to handle a different register layout. Add the actual ASM9260 support. Differences between these devices: - Different register offsets - Different count of interupt lines per register - ASM9260 does not provide reset bit - ASM9260 does not support FIQ. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Tested-by: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: marc.zyngier@xxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444677334-12242-6-git-send-email-linux@xxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 25e34b44313b61d7a87819498ccfd0129441604a Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:15:33 2015 +0200 irqchip/mxs: Prepare driver for hardware with different offsets Alphascale asm9260 has similar functionality but different register offsets. To support asm9260 in the mxs driver we need to rework the hardcoded access mechanisms. - Define SET_REG and CLR_REG. These controllers support seperate CLR and SET offsets for each register. - Reimplement HW_ICOLL_INTERRUPT with SET_REG and CLR_REG to make it usable for both cases. - Instead of using icoll_base and adding the offsets at runtime, create a new data structure which contains base pointers to all required regitsters and use it. - Split out functionality, which is required for the init code of mxs and asm9260, into helper functions [ tglx: Massaged changelog and moved the return value change to the previous patch ] Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Tested-by: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: marc.zyngier@xxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444677334-12242-5-git-send-email-linux@xxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e59a8451be1162d5a10a33e40092f1796cb8fdca Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:15:30 2015 +0200 irqchip/mxs: Panic if ioremap or domain creation fails Current code will only warn and then dereference the NULL pointer or continue, which results in a fatal NULL pointer dereference later. If the initialization fails, the machine is unusable, so panic right away. [ tglx: Massaged changelog and picked the irqdomain panic from the next patch] Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Tested-by: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> Cc: marc.zyngier@xxxxxxx Cc: jason@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444677334-12242-2-git-send-email-linux@xxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b4a5127b03b7f0b06dcaf08a878ffc93ad53fa82 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Aug 24 17:02:00 2015 -0700 fm10k: do not use enum as boolean Check for actual value NETREG_UNINITIALIZED in case it ever changes from the current value of zero. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f6f19f8bb9afcd0e9970fe51b5affa3063af4499 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Aug 24 17:01:58 2015 -0700 fm10k: use snprintf() instead of sprintf() to avoid buffer overflow Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f079fa005aae08ee0e1bc32699874ff4f02e11c1 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Thu Aug 20 15:31:20 2015 -0700 ixgbe: add flow control ethertype to the anti-spoofing filter This patch makes sure that flow control packets initiated by the VF are dropped and reported as spoofed. Flow control packets can be used to limit the throughput or as DOS attack when generated from a VF. Flow control is not supported per VF hence any pause frames generated from a VF are considered malicious. Also cleaned up indentation and some redundant comments. Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 06a24dd6c29a814a81595861c2cc681329c56bfc Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Aug 31 19:54:55 2015 -0400 i40e/i40evf: Bump i40e version to 1.3.25 and i40evf to 1.3.17 Bump. Change-ID: If3cd42f6c1b9546beed60faf9c79faab35216f58 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 fc72dbce09989b268b20342473ddc8d77c8da350 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Tue Sep 1 11:36:30 2015 -0400 i40e/i40evf: Refactor PHY structure and add phy_capabilities enum Remove unused members in the PHY structure and add a new member to store all the capabilities the PHY has as reported by the FW. This information will help us determine what speeds the device is capable of when link is down. Also add an enum to decode the PHY types the NVM is capable of. Use the phy_types variable to determine what phy types are possible when link is down instead of device id as it will be more accurate. When on a backplane device, we do not support changing any settings, however we should display all the phy_types we are capable of so if we see a backplane dev ID set supported and advertised purely based on the phy_types variable. Change-ID: Ia75d560f1fcd30c54cbfb7458690c5867559a930 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 0a862b43acc6c5d38fd462baa9c76f9197907d73 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Mon Aug 31 19:54:53 2015 -0400 i40e/i40evf: Add module_types and update_link_info Add a module_types variable to the link_info struct to save the module information from get_phy_capabilities. This information can be used to determine which speeds the module supports. Also add a new function update_link_info which updates the module_types parameter and then calls get_link_info. This function should be called in place of get_link_info so that the module_types variable stays up-to-date with the rest of the link information. The EAS table does not reflect the values that are actually returned, so instead, basing these values on the Ethernet compliance codes specified in table 33 of SFF-8436 as these have been accurate. Use the new variable in ethtool to differentiate between a 10G/1G dual speed fiber module and a 10G only module. Change-ID: Ib7585cce321319c10ce15180054c41a6cbd41389 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 d72c95ea422ab63c832a13c075cb73bc87a1276e Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Aug 31 19:54:50 2015 -0400 i40e/i40evf: split device ids into a separate file Due to desires to write userland drivers, and other requests, without needing the rest of the include files, the device ids are pulled out into a standalone file. Change-ID: Ic0b047dbf9d4b0891892309c1f2079f56d9b60e8 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 f0b44440148c257bb5b1872e8ff5d6591afc8f4f Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Aug 31 19:54:49 2015 -0400 i40e: update fw version text string per previous product formats This patch moves the internal fw version and fw api version info to be output in probe. The nvm version, etrack and oem version info are now configured for output via ethtool -i. Change-ID: I05d490093a7137dbefcdef263d014d1e5c9e83d0 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 881d824569aa2df75175aa882ada0c1e48212de3 Author: Vignesh R <vigneshr@xxxxxx> Date: Tue Oct 13 23:31:39 2015 -0700 Input: pixcir_i2c_ts - remove wakeirq related code from pixcir driver With commit 3fffd1283927 ("i2c: allow specifying separate wakeup interrupt in device tree") wakeirq is managed by i2c-core, so remove wakeirq related code from pixcir_i2c_ts driver. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 21be99ec4ed366e24d4735d230aa3086ff2bc6ed Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Aug 31 19:54:48 2015 -0400 i40e: don't panic on VSI allocation failure In some circumstances, the firmware may fail to allocate a VSI for a VF. When this happens, the driver does not react well to the bad news and has a panic attack. To fix this problem, check the return value from i40e_alloc_vf_res and don't try to configure the device further if it failed. Additionally, explicitly clear the INIT bit when we free VF resources, so that this bit will be in the proper state in the failure case, and won't blow up elsewhere. Change-ID: I6a20ce2b59c3458fd832032e88fa28cd42500189 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 47ec6e5a5f57f96d7d382e2d9f8dc5a5bdb45259 Author: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Date: Tue Oct 13 23:24:36 2015 -0700 Input: rotary_encoder - add wake up support This patch adds wake up support to GPIO rotary encoders. Signed-off-by: Sylvain Rochet <sylvain.rochet@xxxxxxxxxxxx> Reviewed-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 027c71bbae3a6eeff00c11d1b708593a5c790314 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Tue Oct 13 23:13:55 2015 -0700 Input: improve autorepeat initialization Add new function input_enable_softrepeat() that allows drivers to initialize their own values for input_dev->rep[REP_DELAY] and input_dev->rep[REP_PERIOD], but also use the software autorepeat functionality from input.c. For example, a HID driver could do: static void xyz_input_configured(struct hid_device *hid, struct hid_input *hidinput) { input_enable_softrepeat(hidinput->input, 400, 100); } static struct hid_driver xyz_driver = { .input_configured = xyz_input_configured, } Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e7e6cfce16e9184497716e004fc9e714a7411ad0 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Aug 31 19:54:47 2015 -0400 i40e: remove redundant call This function call isn't needed here; the same function is already called by i40e_reset_vf. Change-ID: I96ccbf91b752965c9e28fe895d4c7d4c46e3ba44 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 41c3ae8b726e07e366fdb63e0e40a33528f1c3e4 Author: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Date: Mon Aug 31 19:54:46 2015 -0400 i40e: Convert CEE App TLV selector to IEEE selector Changes the parsing of CEE App TLVs to fill in the App selector in struct i40e_dcbx_config with the IEEE App selector so the caller doesn't have to consider whether the App came from a CEE or IEEE DCBX negotiation. Change-ID: Ia7d9d664cde04d2ebcc9822fd22e4929c6edab3a Signed-off-by: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ac24382d41cc72541d5f8810336acf98a5e6d260 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Aug 31 19:54:45 2015 -0400 i40e/i40evf: Add info to nvm info struct for OEM version data This patch adds a member to the nvm_info struct for oem_ver info to be output either by OID or ethtool. Change-ID: I1e5d513ae67622e2af17042924fdb4b5d6d85366 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 14e52ee26bdfd6ad00075b66089b4b63fe36fff0 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Aug 31 19:54:44 2015 -0400 i40evf: properly handle ndo_set_mac_address calls The driver was not correctly handling calls to its ndo_set_mac_address method. It did not properly check to see if the override would be allowed by the PF driver, and never removed the old address from its filter list. Add a new flag to the adapter struct which is set if the MAC address is assigned by the PF. Check this flag and don't allow the MAC address to be changed if it is set. Search for and properly remove the filter for the old MAC address when the new one is set. Change-ID: I817bf620c869c5a80e6a7eab65c9cbad1dc89799 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 ab252253e08c16de28ec0f6da0a7ff684a8fce98 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Mon Aug 31 19:54:43 2015 -0400 i40e: Use BIT() macro for priority map parsing Replace one left over (1 << up) in the i40e_dcb.c file with the BIT() macro. Change-ID: I39492a400a2cee5ac566143a5b436cc478bea0db 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 9f4ffc4426c4a4b6d4a84413e13efba6a72bf81d Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Mon Aug 31 19:54:42 2015 -0400 i40e: Make it clear a parameter is never used Flag the filter_mask parameter as __always_unused in the ndo_bridge_getlink function. Change-ID: Ifc1e99c7fb84bcbf81cf7b0ac891ad8ca956ffb2 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1d55aa9c350b02a0c79d901518026e3af5d5b006 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Aug 31 19:54:41 2015 -0400 i40e/i40evf: Add new link status defines Add the new Port link status bit and rename the link status to function link status. Change-ID: I71289327ae62638ce967b6ad40114caf998b6dab 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 0e339447cf2c8b5c742f9be8e2d73bc27b7ac9c4 Author: Jeff Johnson <jjohnson@xxxxxxxxxxxxxxxx> Date: Thu Oct 8 09:15:53 2015 -0700 ath10k: cleanup ath10k_mac_register() error handling The logic in the error-handling path of ath10k_mac_register() is divergent from the logic in ath10k_mac_unregister(). Update the ath10k_mac_register() error handling logic to align with the ath10k_mac_unregister() logic. Signed-off-by: Jeff Johnson <jjohnson@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 83cfce87d91f06e37bd38f782f0714b406a95873 Author: Mohammed Shafi Shajakhan <mohammed@xxxxxxxxxxxxxxxx> Date: Thu Oct 8 16:03:03 2015 +0530 ath10k: fix cleanup in ath10k_thermal_unregister First remove the 'cooling_device#n' syslink created for ath10k and then unregsiter from the thermal subsystem(cooling) Signed-off-by: Mohammed Shafi Shajakhan <mohammed@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit db0984e51a187f5bbe41231af7e671cc12586346 Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:55:59 2015 +0300 ath10k: select board data based on BMI chip id and board id QCA99X0 uses radio specific board names based on chip id and board id combinations. We get these IDs from the target using BMI after otp.bin has been started. This patch reorders the call to the function ath10k_core_fetch_board_file so that we have OTP binary before requesting for boardid-chipid. We get this OTP data after parsing firmware-N.bin. [kvalo@xxxxxxxxxxxxxxxx: try BMI_PARAM_GET_EEPROM_BOARD_ID with all boards and detect if command is not supported] Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0a51b343abfe2c0dbcbd9ec3c4b18bb8779fefa8 Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:55:58 2015 +0300 ath10k: add board 2 API support QCA6174 needs different board files based on board type. To make it easier to distribute multiple board files and automatically choose correct board file create a simple TLV file format following the same principles as with FW IEs. The file is named board-2.bin and contain multiple board files. Each board file then can have multiple names. ath10k searches for file board-N.bin (where N is the interface version number for the board file, just like we for firmware files) in /lib/firmware/*, for example for qca99x0 it will try to find it here: /lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin If ath10k doesn't find board-2.bin then it will fallback to the old board.bin file. This patch adds a simple name scheme using pci device id which for now will be used by qca6174: bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x This removes the old method of having subsystem ids in ar->spec_board_id and using that in the board file name. Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> [kvalo@xxxxxxxxxxxxxxxx: simplified the file format, rewrote commit log, other smaller changes] Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 517982229f78b2aebf00a8a337e84e8eeea70b8e Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:59 2015 +0200 configfs: remove old API Remove the old show_attribute and store_attribute methods and update the documentation. Also replace the two C samples with a single new one in the proper samples directory where people expect to find it. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 45b997737a8025be2825e464e9e9dd5d07160dc3 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:58 2015 +0200 ocfs2/cluster: use per-attribute show and store methods Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 13a83fc9096dfaf2a7f4671b5777780bbe1d4a30 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:57 2015 +0200 ocfs2/cluster: move locking into attribute store methods The test and separate set bit scheme was racy to start with, so move to do a test_and_set_bit after doing the earlier error checks inside the actual store methods. Also remove the locking for the local attribute which already has a different scheme to synchronize. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ea9ed9cff47e7932925982c8fdaf2d4d1708884f Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:56 2015 +0200 netconsole: use per-attribute show and store methods Note that the old code actually used the store_attributes method to do locking, this is moved into the individual methods. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 2eafd72939fda6118e27d3ee859684987f43921b Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:55 2015 +0200 target: use per-attribute show and store methods This also allows to remove the target-specific old configfs macros, and gets rid of the target_core_fabric_configfs.h header which only had one function declaration left that could be moved to a better place. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Acked-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 64c6be0e6df5b5804613863ca4fb05961948c999 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:54 2015 +0200 spear13xx_pcie_gadget: use per-attribute show and store methods Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9ae0f367df5d0d7be09fad1e2e5b080f6a45ca6b Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:53 2015 +0200 dlm: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: David Teigland <teigland@xxxxxxxxxx Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0b4be4fa878780a15a953577499eb69839942956 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:52 2015 +0200 usb-gadget/f_serial: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0736390bea65cac63bed9671a957031c068a60e7 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:51 2015 +0200 usb-gadget/f_phonet: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3da5e4c10cbacf5f3da043498299ae631a6dfc9c Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:50 2015 +0200 usb-gadget/f_obex: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 495702bcc12fb2c51997088befe37145a34e5e3a Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:49 2015 +0200 usb-gadget/f_uac2: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c6f89f1cca1cfd81cc27307595ebddee29cc84d3 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:48 2015 +0200 usb-gadget/f_uac1: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4a90cb203836e4989cc50121b13ff0fb7f671fcb Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:47 2015 +0200 usb-gadget/f_mass_storage: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 208e61ac7c0a2c3e4b23e74a66ddc2ea471d251e Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:46 2015 +0200 usb-gadget/f_sourcesink: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit aa48a415270f7cf16ec0ef825d19b4f8bd1a875e Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:45 2015 +0200 usb-gadget/f_printer: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3755a273db8f523f8be6c18df9e1506faa93c664 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:44 2015 +0200 usb-gadget/f_midi: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 75ab2256a7d05128f8aa088cdde961d8029bcd55 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:43 2015 +0200 usb-gadget/f_loopback: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f9a63da33d3f86acadc14c5cb66e9ad06860892f Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:42 2015 +0200 usb-gadget/ether: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ea6bd6b14ec67eb22e3eb8b2a2b979b5ea800a3a Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:41 2015 +0200 usb-gadget/f_acm: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit da4e527cd8850712bb705f4c41f0839705ab7c98 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:40 2015 +0200 usb-gadget/f_hid: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 76e0da34c7cec5a7dc94667326a948de2e9c8c8d Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:39 2015 +0200 usb-gadget/uvc: use per-attribute show and store methods UVC is a little different from other configfs consumers in that it wants different function and field names from the exposed attribute name, so it keeps it's local macros to define attributes instead of using the common ones. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 45b6a73f62ebcf3ff067895fb8030e67f4c7b67f Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:38 2015 +0200 usb-gadget: use per-attribute show and store methods To simplify the configfs interface and remove boilerplate code that also causes binary bloat. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 870823e629ea194e6cf8e82a9694ac62cad49512 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:32:37 2015 +0200 configfs: add show and store methods to struct configfs_attribute Add methods to struct configfs_attribute to directly show and store attributes without adding boilerplate code to every user. In addition to the methods this also adds 3 helper macros to define read/write, read-only and write-only attributes with a single line of code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 5e6ecb362bd5950a3d8ce19c32829e4f8c7917d9 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Tue Oct 13 16:36:09 2015 +0100 Btrfs: fix double range unlock of hole region when reading page If when reading a page we find a hole and our caller had already locked the range (bio flags has the bit EXTENT_BIO_PARENT_LOCKED set), we end up unlocking the hole's range and then later our caller unlocks it again, which might have already been locked by some other task once the first unlock happened. Currently this can only happen during a call to the extent_same ioctl, as it's the only caller of __do_readpage() that sets the bit EXTENT_BIO_PARENT_LOCKED for bio flags. Fix this by leaving the unlock exclusively to the caller. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 8039d87d9e473aeb740d4fdbd59b9d2f89b2ced9 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Tue Oct 13 15:15:00 2015 +0100 Btrfs: fix file corruption and data loss after cloning inline extents Currently the clone ioctl allows to clone an inline extent from one file to another that already has other (non-inlined) extents. This is a problem because btrfs is not designed to deal with files having inline and regular extents, if a file has an inline extent then it must be the only extent in the file and must start at file offset 0. Having a file with an inline extent followed by regular extents results in EIO errors when doing reads or writes against the first 4K of the file. Also, the clone ioctl allows one to lose data if the source file consists of a single inline extent, with a size of N bytes, and the destination file consists of a single inline extent with a size of M bytes, where we have M > N. In this case the clone operation removes the inline extent from the destination file and then copies the inline extent from the source file into the destination file - we lose the M - N bytes from the destination file, a read operation will get the value 0x00 for any bytes in the the range [N, M] (the destination inode's i_size remained as M, that's why we can read past N bytes). So fix this by not allowing such destructive operations to happen and return errno EOPNOTSUPP to user space. Currently the fstest btrfs/035 tests the data loss case but it totally ignores this - i.e. expects the operation to succeed and does not check the we got data loss. The following test case for fstests exercises all these cases that result in file corruption and data loss: 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 -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # real QA test starts here _need_to_be_root _supported_fs btrfs _supported_os Linux _require_scratch _require_cloner _require_btrfs_fs_feature "no_holes" _require_btrfs_mkfs_feature "no-holes" rm -f $seqres.full test_cloning_inline_extents() { local mkfs_opts=$1 local mount_opts=$2 _scratch_mkfs $mkfs_opts >>$seqres.full 2>&1 _scratch_mount $mount_opts # File bar, the source for all the following clone operations, consists # of a single inline extent (50 bytes). $XFS_IO_PROG -f -c "pwrite -S 0xbb 0 50" $SCRATCH_MNT/bar \ | _filter_xfs_io # Test cloning into a file with an extent (non-inlined) where the # destination offset overlaps that extent. It should not be possible to # clone the inline extent from file bar into this file. $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 16K" $SCRATCH_MNT/foo \ | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo # Doing IO against any range in the first 4K of the file should work. # Due to a past clone ioctl bug which allowed cloning the inline extent, # these operations resulted in EIO errors. echo "File foo data after clone operation:" # All bytes should have the value 0xaa (clone operation failed and did # not modify our file). od -t x1 $SCRATCH_MNT/foo $XFS_IO_PROG -c "pwrite -S 0xcc 0 100" $SCRATCH_MNT/foo | _filter_xfs_io # Test cloning the inline extent against a file which has a hole in its # first 4K followed by a non-inlined extent. It should not be possible # as well to clone the inline extent from file bar into this file. $XFS_IO_PROG -f -c "pwrite -S 0xdd 4K 12K" $SCRATCH_MNT/foo2 \ | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo2 # Doing IO against any range in the first 4K of the file should work. # Due to a past clone ioctl bug which allowed cloning the inline extent, # these operations resulted in EIO errors. echo "File foo2 data after clone operation:" # All bytes should have the value 0x00 (clone operation failed and did # not modify our file). od -t x1 $SCRATCH_MNT/foo2 $XFS_IO_PROG -c "pwrite -S 0xee 0 90" $SCRATCH_MNT/foo2 | _filter_xfs_io # Test cloning the inline extent against a file which has a size of zero # but has a prealloc extent. It should not be possible as well to clone # the inline extent from file bar into this file. $XFS_IO_PROG -f -c "falloc -k 0 1M" $SCRATCH_MNT/foo3 | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo3 # Doing IO against any range in the first 4K of the file should work. # Due to a past clone ioctl bug which allowed cloning the inline extent, # these operations resulted in EIO errors. echo "First 50 bytes of foo3 after clone operation:" # Should not be able to read any bytes, file has 0 bytes i_size (the # clone operation failed and did not modify our file). od -t x1 $SCRATCH_MNT/foo3 $XFS_IO_PROG -c "pwrite -S 0xff 0 90" $SCRATCH_MNT/foo3 | _filter_xfs_io # Test cloning the inline extent against a file which consists of a # single inline extent that has a size not greater than the size of # bar's inline extent (40 < 50). # It should be possible to do the extent cloning from bar to this file. $XFS_IO_PROG -f -c "pwrite -S 0x01 0 40" $SCRATCH_MNT/foo4 \ | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo4 # Doing IO against any range in the first 4K of the file should work. echo "File foo4 data after clone operation:" # Must match file bar's content. od -t x1 $SCRATCH_MNT/foo4 $XFS_IO_PROG -c "pwrite -S 0x02 0 90" $SCRATCH_MNT/foo4 | _filter_xfs_io # Test cloning the inline extent against a file which consists of a # single inline extent that has a size greater than the size of bar's # inline extent (60 > 50). # It should not be possible to clone the inline extent from file bar # into this file. $XFS_IO_PROG -f -c "pwrite -S 0x03 0 60" $SCRATCH_MNT/foo5 \ | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo5 # Reading the file should not fail. echo "File foo5 data after clone operation:" # Must have a size of 60 bytes, with all bytes having a value of 0x03 # (the clone operation failed and did not modify our file). od -t x1 $SCRATCH_MNT/foo5 # Test cloning the inline extent against a file which has no extents but # has a size greater than bar's inline extent (16K > 50). # It should not be possible to clone the inline extent from file bar # into this file. $XFS_IO_PROG -f -c "truncate 16K" $SCRATCH_MNT/foo6 | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo6 # Reading the file should not fail. echo "File foo6 data after clone operation:" # Must have a size of 16K, with all bytes having a value of 0x00 (the # clone operation failed and did not modify our file). od -t x1 $SCRATCH_MNT/foo6 # Test cloning the inline extent against a file which has no extents but # has a size not greater than bar's inline extent (30 < 50). # It should be possible to clone the inline extent from file bar into # this file. $XFS_IO_PROG -f -c "truncate 30" $SCRATCH_MNT/foo7 | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo7 # Reading the file should not fail. echo "File foo7 data after clone operation:" # Must have a size of 50 bytes, with all bytes having a value of 0xbb. od -t x1 $SCRATCH_MNT/foo7 # Test cloning the inline extent against a file which has a size not # greater than the size of bar's inline extent (20 < 50) but has # a prealloc extent that goes beyond the file's size. It should not be # possible to clone the inline extent from bar into this file. $XFS_IO_PROG -f -c "falloc -k 0 1M" \ -c "pwrite -S 0x88 0 20" \ $SCRATCH_MNT/foo8 | _filter_xfs_io $CLONER_PROG -s 0 -d 0 -l 0 $SCRATCH_MNT/bar $SCRATCH_MNT/foo8 echo "File foo8 data after clone operation:" # Must have a size of 20 bytes, with all bytes having a value of 0x88 # (the clone operation did not modify our file). od -t x1 $SCRATCH_MNT/foo8 _scratch_unmount } echo -e "\nTesting without compression and without the no-holes feature...\n" test_cloning_inline_extents echo -e "\nTesting with compression and without the no-holes feature...\n" test_cloning_inline_extents "" "-o compress" echo -e "\nTesting without compression and with the no-holes feature...\n" test_cloning_inline_extents "-O no-holes" "" echo -e "\nTesting with compression and with the no-holes feature...\n" test_cloning_inline_extents "-O no-holes" "-o compress" status=0 exit Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 00a9e053da0b9e150b7f8fefa3c409d7e71ce48f Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Oct 9 09:55:29 2015 +0100 arm64: dts: apq8016-sbc: enable spi buses on LS and HS This patch enables spi buses on low speed and high speed expansion connectors on DB410C Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 7c6764b05217b2d679da4a84f69c607f3477b232 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Oct 9 09:55:21 2015 +0100 arm64: dts: apq8016-sbc: enable i2c buses on LS and HS This patch enables i2c buses on low speed and high speed expansion connectors on DB410C. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 7f5b09216831c7c138589c5f77dde7416e687130 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Oct 9 09:55:05 2015 +0100 arm64: dts: qcom: Add msm8916 I2C nodes. This patch adds missing support for i2c0 and i2c6, this support is required to connect the i2c slaves on LS expansion on DB410c. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit dce4f63b1208d061b7efdcf1780923c2d70ba386 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Oct 9 09:54:45 2015 +0100 arm64: dts: fix i2c pinconf sleep state function This patch fixes the i2c pinctrl sleep state by changing the pinconf function to be in gpio mode rather than i2c. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 5941c9bb9fc3c1327b7e7315903959cdff6e91c4 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Thu Oct 1 12:59:31 2015 +0300 arm64: dts: qcom: Enable eMMC on apq8016-sbc board Enable the eMMC on the APQ8016 SBC board (also known as DragonBoard 410c), so that we can use its internal storage. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 9f43020dc43e326203ce036ad19e6608ddb421f2 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Thu Aug 27 15:39:14 2015 -0500 arm64: dts: qcom: Add 8x16 Serial UART1 node This patch adds the nodes required to support the UART1 node on the MSM8916 and also fixes the sleep pins function for UART2. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit f6d24bf30c00e273276a3790c3c50d192f850788 Author: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Date: Tue Aug 25 18:37:42 2015 +0300 arm64: dts: qcom: Add RNG device tree node Adds rng device tree node for msm8916 SoCs. Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 4b418bff3dae0c017126220df3e148ba8127e99a Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 13:54:38 2015 -0700 net: vrf: Documentation update, ip commands Add ip commands with examples for creating VRF devics, enslaving interfaces and dumping VRF-focused data (address, neighbors, routes). Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3643885aa8a3c7cff3ba3269337f39361d76f76 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Oct 12 01:19:07 2015 -0700 mISDN: use kstrdup() in dsp_pipeline_build Use kstrdup instead of strlen-kmalloc-strcpy. Remove unneeded NULL test, it will be tested inside kstrdup. Remove 0 length string test, it has been tested in the caller of dsp_pipeline_build. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bdc3d66147b3a623b32216a45431d0cff005f50 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Oct 13 17:12:54 2015 -0700 tcp/dccp: fix behavior of stale SYN_RECV request sockets When a TCP/DCCP listener is closed, its pending SYN_RECV request sockets become stale, meaning 3WHS can not complete. But current behavior is wrong : incoming packets finding such stale sockets are dropped. We need instead to cleanup the request socket and perform another lookup : - Incoming ACK will give a RST answer, - SYN rtx might find another listener if available. - We expedite cleanup of request sockets and old listener socket. Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6fc2171b249e73745c497b578b417a2946f1b2f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:15 2015 -0700 mtd: spi-nor: disable protection for Winbond flash at startup In case the flash was locked at boot time. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 357ca38d47519c1b90eebfe58e188dd299ee2cef Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:14 2015 -0700 mtd: spi-nor: support lock/unlock/is_locked for Winbond Many other flash share the same features as ST Micro. I've tested some Winbond flash, so add them. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5bf0e69b67a5600ea7ef178acd57606d1fc2c134 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:12 2015 -0700 mtd: spi-nor: add mtd_is_locked() support This enables ioctl(MEMISLOCKED). Status can now be reported in the mtdinfo or flash_lock utilities found in mtd-utils. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 62593cf40b23b523b9fc9334ca61ba6c595ebb09 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:11 2015 -0700 mtd: spi-nor: refactor block protection functions This code was a bit sloppy, would produce a lot of copy-and-paste, and did not always provide a sensible interface: * It didn't validate the length for LOCK and the offset for UNLOCK, so we were essentially discarding half of the user-supplied data and assuming what they wanted to lock/unlock * It didn't do very good error checking * It didn't make use of the fact that this operation works on power-of-two dimensions So, rewrite this to do proper bit arithmetic rather than a bunch of hard-coded condition tables. Now we have: * More comments on how this was derived * Notes on what is (and isn't) supported * A more exendible function, so we could add support for other protection ranges * More accurate locking - e.g., suppose the top quadrant is locked (75% to 100%); then in the following cases, case (a) will succeed but (b) will not (return -EINVAL): (a) user requests lock 3rd quadrant (50% to 75%) (b) user requests lock 3rd quadrant, minus a few blocks (e.g., 50% to 73%) Case (b) *should* fail, since we'd have to lock blocks that weren't requested. But the old implementation didn't know the difference and would lock the entire second half (50% to 100%) This refactoring work will also help enable the addition of mtd_is_locked() support and potentially the support of bottom boot protection (TB=1). Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f8900258906c3533b91e779e80f75ec80de816c0 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:10 2015 -0700 mtd: spi-nor: fixup kernel-doc for flash lock/unlock function pointers I got the names of these fields wrong. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f0d2448e9a76db8482e716a067ba5abc713ed981 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:09 2015 -0700 mtd: spi-nor: use SNOR_MFR_* instead of CFI_MFR_* No functional change, just cosmetic. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit db4745edb282766f6532d4b0f643c2348e450e25 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:08 2015 -0700 mtd: spi-nor: add SPI NOR manufacturer IDs These are often similar for CFI (parallel NOR) and for SPI NOR, but they aren't always the same, for various reasons (different namespaces, company acquisitions and renames, etc.). And some don't have CFI_MFR_* entries at all. So let's make a proper place to list the SPI NOR IDs, with all the SPI NOR specific assumptions and comments. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a8a16454edb364858a0a54e17acaeab329e7b47f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:07 2015 -0700 mtd: spi-nor: make bitfield constants more consistent These status bits use different ways of representing similar integer constants -- some are decimal, some are hex. Make them more consistent. At the same time, impose my own preference, since IMO it's clearer what these are when using the BIT() macro. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 801cf21bb5806e39c593bad76b257bba20eaf66f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 1 12:57:06 2015 -0700 mtd: spi-nor: make implicit <linux/bitops.h> dependency explicit We use BIT() in the header. No real problem for now, but it's better to be accurate. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5e3949f0ac5a81a1b06a5d972085cbf1aaf17508 Author: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Date: Tue Sep 29 19:46:12 2015 +0300 ftrace: Remove redundant strsep in mod_callback By now there isn't any subcommand for mod. Before: sh$ echo '*:mod:ipv6:a' > set_ftrace_filter sh$ echo '*:mod:ipv6' > set_ftrace_filter had the same results, but now first will result in: sh$ echo '*:mod:ipv6:a' > set_ftrace_filter -bash: echo: write error: Invalid argument Also, I clarified ftrace_mod_callback code a little. Link: http://lkml.kernel.org/r/1443545176-3215-1-git-send-email-0x7f454c46@xxxxxxxxx Signed-off-by: Dmitry Safonov <0x7f454c46@xxxxxxxxx> [ converted 'if (ret == 0)' to 'if (!ret)' ] Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit fa743d96e76c3c74aa379ba828f10119b87ff88c Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Fri Oct 2 15:27:57 2015 +0100 PM / AVS: rockchip-io: 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 <luisbg@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d439e64f22ce0eea681ae90c71f584d3a0145ded Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Sep 29 20:36:58 2015 -0700 PM / hibernate: fix a comment typo Just fix a typo in a function name in kerneldoc comments. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 7420aa4fed8cc7f3f7d7cc89ea1028fddfdacac8 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Oct 13 09:58:02 2015 +0200 PM / Domains: Rename *pm_genpd_poweron|poweroff() This is another step to get consistent names of functions in genpd. Let's rename the internal *pm_genpd_poweron|poweroff() into *genpd_poweron|poweroff(). Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e625742f9c6e5d01b5c46efcc2870893735badf3 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Oct 13 10:57:13 2015 +0530 cpufreq: Drop redundant check for inactive policies We just made sure policy->cpu is online and this check will always fail as the policy is active. Drop it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Saravana Kannan <skannan@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1c5dd13459fe7caaeda82f7be878720c978d26f2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Oct 7 03:03:57 2015 +0200 input: i8042: Avoid resetting controller on system suspend/resume If the upcoming system suspend is not going to be handled by the platform firmware, like in the suspend-to-idle case, it is not necessary to reset the controller in i8042_pm_suspend(), so avoid doing that. Moreover, if the system resume currently in progress has not been started by the platform firmware, like in the suspend-to-idle case, i8042_controller_resume() need not be called by i8042_pm_resume(), so avoid doing that too in that case. Additionally, try to catch the event that woke up the system by calling the interrupt handler early during system resume if it has not been started by the platform firmware. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 58a1fbbb2ee873dd1fe327e80bc7b08e80866269 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Oct 7 00:50:24 2015 +0200 PM / PCI / ACPI: Kick devices that might have been reset by firmware There is a concern that if the platform firmware was involved in the system resume that's being completed, some devices might have been reset by it and if those devices had the power.direct_complete flag set during the preceding suspend transition, they may stay in a reset-power-on state indefinitely (until they are runtime-resumed and then suspended again). That may not be a big deal from the individual device's perspective, but if the system is an SoC, it may be prevented from entering deep SoC-wide low-power states on idle because of that. The devices that are most likely to be affected by this issue are PCI devices and ACPI-enumerated devices using the general ACPI PM domain, so to prevent it from happening for those devices, force a runtime resume for them if they have their power.direct_complete flags set and the platform firmware was involved in the resume transition currently in progress. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ef25ba0476015908ef5960f9faac149ddf34ede0 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Oct 7 00:49:34 2015 +0200 PM / sleep: Add flags to indicate platform firmware involvement There are quite a few cases in which device drivers, bus types or even the PM core itself may benefit from knowing whether or not the platform firmware will be involved in the upcoming system power transition (during system suspend) or whether or not it was involved in it (during system resume). For this reason, introduce global system suspend flags that can be used by the platform code to expose that information for the benefit of the other parts of the kernel and make the ACPI core set them as appropriate. Users of the new flags will be added later. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c2df86ea924a8548f54ce90e46fdd6c9495119b2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Sep 30 02:44:29 2015 +0200 PM / sleep: Drop pm_request_idle() from pm_generic_complete() The pm_request_idle() in pm_generic_complete() is pointless as it is called with the runtime PM usage counter different from zero (bumped up by the core during the prepare phase of system suspend) and the core calls pm_runtime_put() for all devices after executing their complete callbacks, so drop it. This allows the PCI PM layer to use pm_generic_complete() too. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 04edde250c3753798475f0a4dc0275dd52f707bd Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 14:02:00 2015 +0200 ARM: dts: msm8974: fix typo in "disabled" property Replace "disable" by "disabled" in the Qualcomm MSM8974 dtsi Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 982afd8ba51153327c6d9dcacda6d0f3c5e2f5e2 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Jul 30 10:53:57 2015 -0700 ARM: dts: qcom-pm8941: Add charger node Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit adb9c60796dba2b2be83f75c7cec59cff11d94ad Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Jul 30 10:53:55 2015 -0700 dt-binding: power: Add Qualcomm SMBB binding Add the Qualcomm Switch-Mode Battery Charger and Boost device tree binding. Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 89c7e671289d142cff2cb0b98ef7c92de5deee03 Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Oct 1 14:56:02 2015 +0530 arm: dts: qcom: Add #power-domain-cells property clock controller nodes which also support power domains (gdscs') need to have a #power-domain-cells property. Add these for gcc and mmcc nodes of msm8974, gcc of apq8084 and msm8916. Also update gcc and mmcc bindings for it. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 8eb84480cc6df9f4b5cbce51e20d86e73f04575c Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:32:18 2015 +0100 ARM: dts: qs600: Add SD card detect support. This patch adds SD card detect support. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 2630a52fd5c996cfba775346ad5a218c4b7dc147 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:32:11 2015 +0100 ARM: dts: apq8064-ifc6410: add notify led support. This patch adds notify led support on IFC6410, whose trigger can be configured from userspace. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit f0b6d95062a6674a58e3aa0c19d170e9ab92e44f Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:32:05 2015 +0100 ARM: dts: qs600: add pwrseq support to WLAN Add pwrseq support to sdcc4 which would enable a proper reset of WLAN without ugly hacks in the board support file. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 03f00be5babcf0ac6747beedbe5fa73a3abd3cdb Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:59 2015 +0100 ARM: dts: ifc6410: Add pwrseq support for WLAN This patch adds pwrseq for WLAN which resets the WLAN just before the SDIO bus is up. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit be87cd0e80e20f5167f3a98613e8be65dfe19879 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:53 2015 +0100 ARM: dts: qs600: Add missing pinctrl property for gsbi7 uart This patch adds missing 2pin uart pinctrl property to gsbi7 uart on CM-QS600. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 17dbc5544e7650722c5715c63f2cf9be43ad144c Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:47 2015 +0100 ARM: dts: ifc6410: Add missing pinctrl to gsbi7 uart This patch adds missing 2pin uart pinctrl property to gsbi7 uart on IFC6410. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 892d6733b89ad11b0f7e939e6c6283163f859116 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:40 2015 +0100 ARM: dts: apq8064: add missing gsbi7 uart pinctrl This patch adds missing gsbi7 uart pinctrl, this is the default debug uart on most boards. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 7648c7bf33f2af8fd6f51f1c56d21b9ff9b2ee35 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:34 2015 +0100 ARM: dts: apq8064: Prefix the gsbi6 uart pins correctly Usage of generic names like "uart_pins" is confusing to the reader, given the fact that there could be more than one uart on APQ8064. This patch adds gsbi prefix to uart pinctrl nodes so as to avoid such confusion. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 3050c5f5afd409c299cfeba815b6f91753c4c112 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:25 2015 +0100 ARM: dts: apq8064: add pm8921 pwrkey support This patch adds support to pm8921 power button. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit bbf89b96d5c6ad60f500128df677522721cb0160 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:31:19 2015 +0100 ARM: dts: apq8064: add pm8921 rtc This patch adds rtc node for pmic8921. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 2c9c2e5abb3df12f12920f61a28e413ef9a86f56 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:30:59 2015 +0100 ARM: dts: qs600: remove unnecessary eeprom label This patch removes unnecessary eeprom label, which is not used anywhere in the board file. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit e28ce3cc988c39574b84109f4c3faea4fcb97e52 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:30:38 2015 +0100 ARM: dts: ifc6410: remove unnecessary eeprom label This patch removes unnecessary eeprom label, which is not used anywhere in the board file. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 0fbf6104e3ffbfd42f3f84d713f84f397641718e Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Sep 18 13:30:13 2015 +0100 ARM: dts: apq8064: remove redundant i2c pinctrl properties This patch removes i2c pinctrl properties from board which which are now mentioned in the SOC specific file. This will avoid redundant properties across multiple board fiiles. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 9afbb3ba399f3539d03fe99620c0707acc69fd18 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Aug 26 12:35:04 2015 -0700 ARM: dts: qcom: Remove extra reg element from iadc device This doesn't match the binding, and the driver doesn't look to be using it. Remove the extra element. CC: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 26368fd7048f2c26d5263a932614351f04436be7 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Tue Oct 13 23:55:07 2015 +0300 Staging: skein: Remove NULL comparison Problem found using checkpatch.pl CHECK: Comparison to NULL could be written "key" Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05489e82f567ce524e4c0c406bdc7ddc61a41412 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 02:23:40 2015 +0530 Staging: wilc1000: wilc_wlan_cfg: Remove unnecessary cast Remove a cast which is not required. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a86f2a1b792ea6b8f21dd3448624f053ef1d6f6 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Wed Oct 14 02:02:11 2015 +0530 Staging: wilc1000: host_interface: Remove extra NULL test Remove a NULL test on variable hif_drv as it is already preceded by one. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b156f1ed160d621c1c6c7667c46948b4a061db91 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 13 23:07:00 2015 +0530 Staging: wilc1000: Use kzalloc instead of kmalloc and memset Replace kmalloc and memset with a single call to kzalloc. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c6c463ee96a8c357c43f66d391925e0aae1babb Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Oct 13 16:46:53 2015 -0400 "drivers/staging: mark android/ion fcns with EXPORT_SYMBOL for tristate In a recent change, we made a bool into a tristate in: "drivers/staging: make android tegra_ion.c properly tristate", since it was self evident that was the original intention. However on the final link phase we'll see an allmodconfig fail with: ERROR: "ion_device_add_heap" [drivers/staging/android/ion/tegra/tegra_ion.ko] undefined! ERROR: "ion_heap_create" [drivers/staging/android/ion/tegra/tegra_ion.ko] undefined! ERROR: "ion_device_create" [drivers/staging/android/ion/tegra/tegra_ion.ko] undefined! ERROR: "ion_heap_destroy" [drivers/staging/android/ion/tegra/tegra_ion.ko] undefined! ERROR: "ion_device_destroy" [drivers/staging/android/ion/tegra/tegra_ion.ko] undefined! Export the above using the non GPL specific export, since that is what the rest of the ion code base does. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Cc: linux-tegra@xxxxxxxxxxxxxxx Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 045016902bf7abeeb2a86fc9284c30dce228f055 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Oct 13 13:49:04 2015 -0700 soc: ti: qmss: make acc queue support optional in the driver acc channels are available only if accumulator PDSP is loaded and running in the SoC. As this requires firmware and user may not have firmware in the file system, make the accumulator queue support available in qmss driver optional. To use accumulator queus user needs to add firmware to the file system and boot up kernel. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 96ee19becc3bd7b2cebae5828c3eacfebb50b993 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Oct 13 13:49:04 2015 -0700 soc: ti: add firmware file name as part of the driver Currently firmware file name is included in the DTS. This is not scalable as user has to change the DTS if they need upgrade to a new firmware. Instead, add the firmware file name in the driver itself. As long as there is no API change, new firmware upgrade is easy and require no driver change. User is expected to copy the firmware image to the file system and add a sym link to the new firmware for doing an upgrade. Driver add a array of firmware file names to search for the available firmware blobs. This scheme also prepare the driver for future changes to API if ever happens. In such case it is assumed that driver needs to change to accommodate the new firmware and new firmware file name will get added to the array. Also update the DT document to remove the firmware attribute and add description about firmware in the driver documentation. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 29204a8272aae490a1dd252e48e55ca235c3959c Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Oct 13 13:49:04 2015 -0700 Documentation: dt: soc: Add description for knav qmss driver Add documentation for knav qmss driver. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 9d45708f5adb940432bc99325d67ddc813bc4b22 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Oct 13 13:42:43 2015 -0700 ARM: dts: keystone: enable accumulator channels Add low priority accumulator channel that can monitor multiple QMSS queues. User for example could use the accumular queue for Netcp Rx completion. While at it, also add an extra line end of each top level node in DTS to make it more readable. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit dc5fa4ec0dca38ed110e54e20e2f10701e04dfe5 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Oct 13 13:41:03 2015 -0700 Documentation: dt: keystone: Fix up missing quotes Add missing commits for the suggest compatible flags in dt binding. Fixes: 8841cbf666d6 ("Documentation: dt: keystone: provide SoC specific compatible flags") Reported-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit c2a06c38d92d044a69a3eae0138ab95ff0788030 Merge: 25cb62b 23b63f9 Author: NeilBrown <neilb@xxxxxxxx> Date: Wed Oct 14 07:09:52 2015 +1100 Merge branch 'md-next' of git://github.com/goldwynr/linux into for-next md-cluster: A better way for METADATA_UPDATED processing The processing of METADATA_UPDATED message is too simple and prone to errors. Besides, it would not update the internal data structures as required. This set of patches reads the superblock from one of the device of the MD and checks for changes in the in-memory data structures. If there is a change, it performs the necessary actions to keep the internal data structures as it would be in the primary node. An example is if a devices turns faulty. The algorithm is: 1. The initiator node marks the device as faulty and updates the superblock 2. The initiator node sends METADATA_UPDATED with an advisory device number to the rest of the nodes. 3. The receiving node on receiving the METADATA_UPDATED message 3.1 Reads the superblock 3.2 Detects a device has failed by comparing with memory structure 3.3 Calls the necessary functions to record the failure and get the device out of the active array. 3.4 Acknowledges the message. The patch series also fixes adding the disk which was impacted because of the changes. Patches can also be found at https://github.com/goldwynr/linux branch md-next Changes since V2: - Fix status synchrnoization after --add and --re-add operations - Included Guoqing's patches on endian correctness, zeroing cmsg etc - Restructure add_new_disk() and cancel() commit 7c748f5774cb74c6be49fc351007855c96dfb8a3 Author: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Date: Tue Oct 13 08:50:30 2015 +0200 mtd: spi-nor: Add support for s25fl004k Signed-off-by: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit aada20cd2b1af7181523e31231d46ff5a94989b0 Author: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Date: Tue Oct 13 08:51:14 2015 +0200 mtd: spi-nor: s25fl204k supports dual I/0 Signed-off-by: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 45aaeff947190e4b57b2d0db4d74ab5eea450825 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 11:22:18 2015 +0200 mtd: nand: pass page number to ecc->write_xxx() methods The ->read_xxx() methods are all passed the page number the NAND controller is supposed to read, but ->write_xxx() do not have such a parameter. This is a problem if we want to properly implement data scrambling/randomization in order to mitigate MLC sensibility to repeated pattern: to prevent bitflips in adjacent pages in the same block we need to avoid repeating the same pattern at the same offset in those pages, hence the randomizer/scrambler engine need to be passed the page value in order to adapt its seed accordingly. Moreover, adding the page parameter to the ->write_xxx() methods add some consistency to the current API. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> CC: Josh Wu <josh.wu@xxxxxxxxx> CC: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> CC: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> CC: Huang Shijie <shijie.huang@xxxxxxx> CC: Stefan Agner <stefan@xxxxxxxx> CC: devel@xxxxxxxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 693ad87205ce6ea4c5699e3d2413f644ad903177 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:09 2015 +0200 mtd: nand: txx9ndfmc: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 249eab698068f51c477c9ca55c59c8965025f1dd Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:51 2015 +0200 mtd: nand: jz4740_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 50c65c8ffa4fd08926e671f0c4d9702bfc29c4e2 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:46 2015 +0200 mtd: nand: fsl_upm: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6031a9c5e39121165617951c4dc337fed72c7bd5 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:06 2015 +0200 mtd: nand: socrates_nand: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 36645652ad2183130dfc5d4644a69aa2102faa14 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:44 2015 +0200 mtd: nand: fsl_elbc_nand: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 550dab5b357a6103571847d72cd23af069fb872b Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:01 2015 +0200 mtd: nand: pxa3xx_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e6c6c284e7344d4b9d262ceb91aea1ba2127fccb Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:48 2015 +0200 mtd: nand: gpio: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit efefcaee7610c0762c34123d121ef77f6e550214 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:14 2015 +0200 staging: mt29f_spinand: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, take advantage of the default owner and name values set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fd511e218c6a3272ce6a57be9c41e1bc09e37306 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:11 2015 +0200 mtd: onenand: omap2: drop owner and name assignment Owner and name are automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 40acbab6a7402ec89fac673bed6bbbc2b430d60e Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:03 2015 +0200 mtd: nand: s3c2410: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6393b3623340973c9f110060e435c7d42e299120 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:05 2015 +0200 mtd: nand: sharpsl: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 853f1c58c4b2a6f1ec81c335c82d0252b387ab1e Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:57 2015 +0200 mtd: nand: omap2: show parent device structure in sysfs Make sure the device structure is properly shown in sysfs by properly filling in dev.parent. While at it, make use of the default owner and name values set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 61344d074f4f924cf35aeee445568d9b7750d915 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:12 2015 +0200 mtd: onenand: samsung: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9f80f283ab13c2c055d6001f255cf857be695eb4 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:52 2015 +0200 mtd: nand: lpc32xx_mlc: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0033cf072735a80072c877559180288012f4426d Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:55 2015 +0200 mtd: nand: ndfc: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9e86508f3e538d13c879c7c48a5eecb0509aade6 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:59 2015 +0200 mtd: nand: pasemi_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5c5594c92d2300cc955acd5537e782fbf372caa2 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:54 2015 +0200 mtd: nand: mxc_nand: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fe003bc8311f3797b802361dbb6465e13dd43a7f Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:10 2015 +0200 mtd: onenand: generic: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, take advantage of the default owner and name values set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7b679053cd3348fb8efdd07ce39c4e2e2ad46620 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:08 2015 +0200 mtd: nand: tmio_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 611425d33763fba57a02c40ee286b0c7152903ea Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:07 2015 +0200 mtd: nand: sunxi_nand: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c4f7dc72e6a56d50e00b40f76be0119ce9abdeec Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:04 2015 +0200 mtd: nand: sh_flctl: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2eaac143aa6d433f92819acca1e62a337a73e0a3 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:02 2015 +0200 mtd: nand: r852: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f0aa200ceb4f1bce6826d1c24b5c416a6a8b9faf Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:39:00 2015 +0200 mtd: nand: plat_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner and name set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 84630994fab634baa0250fbd16537f74c8bdbb07 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:58 2015 +0200 mtd: nand: orion_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ae5d843826d147f81a8d5def8d630caae7ab8011 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:56 2015 +0200 mtd: nand: nuc900_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7829ab93f1c2334802d259a7e2a4e22a1fd03bd9 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:53 2015 +0200 mtd: nand: mpc5121_nfc: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 52364683d5dc4beec9ba61a3fb848821b5cb66c4 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:50 2015 +0200 mtd: nand: hisi504_nand: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 4dc67b1d507133a3d6e93c39993efb6af176d59b Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:49 2015 +0200 mtd: nand: gpmi-nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ddece7b6a6c0402430afe8819472e556e9ae8c75 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:47 2015 +0200 mtd: nand: fsmc_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a309c6be782ceb039f6a86fe8d577d9aab64c529 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:45 2015 +0200 mtd: nand: fsl_ifc_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0a1abe7961f1b90bb136157a302490da7d4fe47b Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:43 2015 +0200 mtd: nand: docg4: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fbe1a8bf125214807f1062707fc4097721c3c995 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:42 2015 +0200 mtd: nand: denali: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6a44d420b53e7ab742373bb0c3ee36e75c13faee Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:41 2015 +0200 mtd: nand: davinci_nand: drop owner and name assignment Owner and name are automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2f5997f13f9e98a9a468d803c6d74852bcef1d01 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:40 2015 +0200 mtd: nand: cafe_nand: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c7d5955c467c01221fc1ac4b15bba5f255e44454 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:39 2015 +0200 mtd: nand: bf5xx_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f2b80b43cb2dea346d5893797981b016dae7525 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:38 2015 +0200 mtd: nand: bcm47xxnflash: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e1cdd89f3f78f00f93311b913e8b64979fcd7498 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:37 2015 +0200 mtd: nand: au1550nd: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 03c287d21f52e0cb368d6577bd75db3cc9e42b0b Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:36 2015 +0200 mtd: nand: atmel_nand: show parent device in sysfs Fix a bug where parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 72169755cf36ce28bed83d6742d28ce4157f7538 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:35 2015 +0200 mtd: maps: sa1100-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Incidentally, it seems the owner field in the concatenated mtds is not actually used, so this shouldn't make much of a difference anyway. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9aa7e50276c17d0658f1035ffe3480085f2a7471 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:34 2015 +0200 mtd: maps: rbtx4939-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2451581f94e3f5c0e9d75ab5a59f3d5b0f557ca3 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:33 2015 +0200 mtd: maps: pxa2xx-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7f6b5dbfd8d95c200ac0de8e5f5842369eee3839 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:32 2015 +0200 mtd: maps: plat_ram: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0df415598ef6551070267b1d8c9dc63f4ac00117 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:31 2015 +0200 mtd: maps: physmap_of: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 201f230b23cb0252679038d9669af21a99f65614 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:30 2015 +0200 mtd: maps: physmap: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ab4a6b4938f74f66fae187fd9e5ba5fe8a7836c6 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:29 2015 +0200 mtd: maps: latch-addr-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c54c2fb783e2ae6636344de690891bc93c077530 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:28 2015 +0200 mtd: maps: lantiq-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e4e07db4ce50d97f14ed1f9bb10c3782cce5fe26 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:27 2015 +0200 mtd: maps: ixp4xx: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5e50a52eb954ca6c23b1d935b77ba75ec125352e Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:26 2015 +0200 mtd: maps: intel_vr_nor: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 28bc7406bd6d0e3fb50f29348bafcaa9e34fabf9 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:25 2015 +0200 mtd: maps: gpio-addr-flash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 50d3fb562561fcf5b745e71945834735d7386a1f Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Tue Oct 13 20:48:21 2015 +0100 iommu/vt-d: Use plain writeq() for dmar_writeq() where available Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> commit 3435dd08092934ee9672fc28a3ee4c2017741bd6 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 12 13:47:17 2015 +0300 x86/early_printk: Set __iomem address space for IO There are following warnings on unpatched code: arch/x86/kernel/early_printk.c:198:32: warning: incorrect type in initializer (different address spaces) arch/x86/kernel/early_printk.c:198:32: expected void [noderef] <asn:2>*vaddr arch/x86/kernel/early_printk.c:198:32: got unsigned int [usertype] *<noident> arch/x86/kernel/early_printk.c:205:32: warning: incorrect type in initializer (different address spaces) arch/x86/kernel/early_printk.c:205:32: expected void [noderef] <asn:2>*vaddr arch/x86/kernel/early_printk.c:205:32: got unsigned int [usertype] *<noident> Annotate it proper. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444646837-42615-1-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 58f800d5ace99c49e6418cb5757d868f2746acb4 Merge: 1330a01 7391773 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Oct 13 21:32:50 2015 +0200 Merge branch 'kvm-master' into HEAD This merge brings in a couple important SMM fixes, which makes it easier to test latest KVM with unrestricted_guest=0 and to test the in-progress work on SMM support in the firmware. Conflicts: arch/x86/kvm/x86.c commit b97cecc7a61df121f2c1e350e09fc784a1706ef0 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 18:30:02 2015 +0000 ARM: socfpga_defconfig: enable fpga manager Enable fpga manager framework and low level driver for socfpga in socfpga_defconfig Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit b96b1db039ebc584d03a9933b279e0d3e704c528 Author: Robin Ruede <r.ruede@xxxxxxxxx> Date: Wed Sep 30 21:23:33 2015 +0200 btrfs: fix resending received snapshot with parent This fixes a regression introduced by 37b8d27d between v4.1 and v4.2. When a snapshot is received, its received_uuid is set to the original uuid of the subvolume. When that snapshot is then resent to a third filesystem, it's received_uuid is set to the second uuid instead of the original one. The same was true for the parent_uuid. This behaviour was partially changed in 37b8d27d, but in that patch only the parent_uuid was taken from the real original, not the uuid itself, causing the search for the parent to fail in the case below. This happens for example when trying to send a series of linked snapshots (e.g. created by snapper) from the backup file system back to the original one. The following commands reproduce the issue in v4.2.1 (no error in 4.1.6) # setup three test file systems for i in 1 2 3; do truncate -s 50M fs$i mkfs.btrfs fs$i mkdir $i mount fs$i $i done echo "content" > 1/testfile btrfs su snapshot -r 1/ 1/snap1 echo "changed content" > 1/testfile btrfs su snapshot -r 1/ 1/snap2 # works fine: btrfs send 1/snap1 | btrfs receive 2/ btrfs send -p 1/snap1 1/snap2 | btrfs receive 2/ # ERROR: could not find parent subvolume btrfs send 2/snap1 | btrfs receive 3/ btrfs send -p 2/snap1 2/snap2 | btrfs receive 3/ Signed-off-by: Robin Ruede <rruede+git@xxxxxxxxx> Fixes: 37b8d27de5d0 ("Btrfs: use received_uuid of parent during send") Cc: stable@xxxxxxxxxxxxxxx # v4.2+ Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Tested-by: Ed Tomlinson <edt@xxxxxx> commit d92ff4228c57cf781170562fda431163e9f72760 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Oct 10 22:48:59 2015 +0800 ARM: dts: sun6i: hummingbird: Enable AXP221 DC5LDO regulator as "vdd-cpus" The DC5LDO regulator supplies VDD-CPUS, which is for the embedded controller in the A31 SoC. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6ea0d8d829094e1743f80435e0902119cc670847 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Oct 10 22:48:58 2015 +0800 ARM: dts: sun6i: hummingbird: Use axp22x.dtsi for AXP221 regulators Now that we have axp22x.dtsi describing common axp22x hardware, use it and reference the nodes instead of declaring the whole tree. Also drop the "always-on" from the vdd-gpu regulator, since we don't support the GPU anyway. And add a regulator reference for cpu0. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 976d84fce6aa1e5bf92b8d06d69014ac45fd5fad Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Oct 10 22:48:56 2015 +0800 ARM: dts: sun6i: hummingbird: Fix VDD-CPU and VDD-GPU regulator names The VDD-CPU and VDD-GPU regulators were incorrectly swapped. Fixes: bab03561224ba ("ARM: dts: sun6i: hummingbird: Add AXP221 regulator nodes") Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8a880ee6dab647b9acdced3d4d5bcdbafca78254 Author: Adam Sampson <ats@xxxxxxxxx> Date: Sat Oct 10 21:15:21 2015 +0100 ARM: dts: sun7i: Add regulator configuration for pcDuino v3 Nano The power configuration on this board is the same as the pcDuino v3. This will enable frequency/voltage scaling over the standard A20 operating points from 144 MHz to 960 MHz. Tested using cpufreq-ljt-stress-test on two pcDuino v3 Nano boards; also tested successfully with voltages reduced by 0.025 V. Signed-off-by: Adam Sampson <ats@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 39140480b66b49a6a0e7dadc4b9cd738395a8c4f Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Oct 13 14:37:45 2015 +0200 ARM: dts: sun6i: Turn on gmac on Colombus We've everything we need to support the gmac on Colombus, turn it on. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 252b9af1dfa7c644f48819e27158b315f1ee2473 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Oct 13 14:35:48 2015 +0200 ARM: dts: sun8i: Make et-q8-v1.6.dts a symlink to q8-tablet.dts A33 Q8 tablets with the et-q8-v1.6 pcb will work fine with the generic q8-tablet.dts and given the many variants of PCBs found in Q8 tablets using such a specific dts name was a mistake in hindsight. We cannot just drop the et-q8-v1.6.dtb as existing u-boot configs may very well point to it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d8279bcebb28dcd30106e1597b62ba5c08d5df28 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Oct 13 14:35:47 2015 +0200 ARM: dts: sun8i: Make ippo-q8h-v*.dts a symlink to q8-tablet.dts A23 Q8 tablets with the ippo-q8h-v* pcb will work fine with the generic q8-tablet.dts and given the many variants of PCBs found in Q8 tablets using such a specific dts name was a mistake in hindsight. We cannot just drop the ippo-q8h-v*.dtb as existing u-boot configs may very well point to it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2eab04e9c1e5243565b0c098e7b55eeb71d3d97b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Oct 13 14:35:46 2015 +0200 ARM: dts: sun8i: Add sun8i-a23-q8-tablet.dts file This is a generic dts file for A23 based q8 formfactor tablets, this is intended to replace both sun8i-a23-ippo-q8h-v5.dts and sun8i-a23-ippo-q8h-v1.2.dts (these can be fully dropped after a transition period). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 307751ee3212df0d047b0e1a93ce21f2e511d1a1 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Mon Oct 12 13:30:23 2015 +0200 video: fbdev: add Marvell PXA LCD controller binding Add documentation for the PXA LCD controller devicetree binding. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Reviewed-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 62ebf931935964230d6fe39026bc5fbcfac330d3 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 14:43:24 2015 +0200 of/irq: fix guards for irq_of_parse_and_map prototype Since OF is now a userselectable config symbol, having OF=y but OF_IRQ=n is a valid combination for non-OF platforms, and OF=y does not guarantee anymore that OF_IRQ is enabled (or we are building for SPARC). Fixes the following build error with OF=y, IRQ_DOMAIN=n and SPI=y: drivers/built-in.o: In function `spi_register_master': (.text+0xc3ae): undefined reference to `irq_of_parse_and_map' Makefile:935: recipe for target 'vmlinux' failed make: *** [vmlinux] Error 1 Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 52493d446141b07c8ba28dd6a529513f8b2342bd Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 14:43:23 2015 +0200 of/irq: make of_irq_find_parent static of_irq_find_parent has no users outside of of_irq.c, so it does not make sense to expose it in of_irq.h. Therefore remove the prototype and dummy implmeentation and make the function static instead. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f9f9f11dcf0f3b757b282ce7cefea8696212a422 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 14:43:22 2015 +0200 of/irq: move of_msi_configure to the right guard and add a dummy of_msi_configure is part of of_irq.c, which is compiled in when OF_IRQ is enabled, not just OF. Also It is unconditionally called from of_platform_device_create_pdata, which does not depend on OF_IRQ, just OF_ADDRESS, so we need a dummy implementation in case of OF_ADDRESS=y but OF_IRQ=n. Fixes: c706c239 ("of/platform: Assign MSI domain to platform device") Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 6296ad9e3375c6c1ddbb371f589ba6a145bb31df Author: Stefan Agner <stefan@xxxxxxxx> Date: Sat Oct 10 01:29:30 2015 -0700 of/fdt: fix aliases with baudrate in earlycon Many boards use an alias in the stdout-path specification along with console options after a colon (e.g. serial0:115200n8). When using earlycon, this specification currently does not work. While fdt_path_offset supports alias resolution, it does not remove the console options by itself. Use the fdt_path_offset_namelen variant and provide the length of the alias to enable aliases with console options in the stdout-path. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 191b77c3615b77cf77bdbca95fd98f71c0f191ff Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Oct 13 16:44:06 2015 +0300 DT: ARM: pxa: Remove incorrect binding from documentation Remove "mrvl,lpss-ssp" property from documentation because LPSS SSP type is for certain Intel platforms. I believe commit a6e56c28a178 ("ARM: pxa: ssp: add DT bindings") added it by accident by copying all enum pxa_ssp_type types from include/linux/pxa2xx_ssp.h. Please note this was removed from arch/arm/plat-pxa/ssp.c by the commit b692cb83b14d ("ARM: pxa: ssp: Fix build error by removing originally incorrect DT binding"). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 88d5ec1656910102676c2907c40cc2c34a97e977 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 13:51:39 2015 +0200 drm: sti: fix typos in stih4xx binding Fix typos in the st,stih4xx binding, in particular replacing "pinctrl-name" by "pinctrl-names". Fix minor typos in the descriptions too. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f134f25162e7174ebe63f8aa16810192606eb826 Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Thu Oct 8 10:24:26 2015 +0300 PCI: of: Ignore resources with failed translation This patch allows PCI host controller to function even if part of resources is unusable for some reason. An example is non-LPAE kernel on a machine which has some 64-bit resources. Unusable resources will be just skipped instead of a complete failure. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 4af971064977b00a437c1ed8ead8876db4e3b58a Author: Pavel Fedin <p.fedin@xxxxxxxxxxx> Date: Thu Oct 8 10:24:25 2015 +0300 PCI: of: Add 64-bit address recognition without LPAE support If non-LPAE kernel is booted up on a machine with 64-bit PCI resources, PCI controller probe fails with: PCI host bridge /pcie@10000000 ranges: IO 0x3eff0000..0x3effffff -> 0x00000000 MEM 0x10000000..0x3efeffff -> 0x10000000 MEM 0x8000000000..0xffffffffff -> 0x8000000000 pci-host-generic 3f000000.pcie: resource collision: [mem 0x00000000-0xffffffff] conflicts with /pl011@9000000 [mem 0x09000000-0x09000fff] pci-host-generic: probe of 3f000000.pcie failed with error -16 This happens because res->start assignment in of_pci_range_to_resource() truncates the upper part of the address, because res->start is of phys_addr_t type, which is 32-bit on non-LPAE kernels. This patch adds explicit recognition of 64-bit resources, preventing from potential problems when e. g. 0x8000001234 would be converted to 0x00001234. Signed-off-by: Pavel Fedin <p.fedin@xxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 145f48c518edb945ea5b689a1d21052597f9d64b Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Oct 13 15:18:21 2015 +0800 usb: misc: usbtest: add bulk queue test The bulk queue tests are used to show 'best performance' for bulk transfer, we are often asked this question by users. The implementation is the same with iso test, that is queue request at interrupt completion, so we reuse the iso structures, and rename them as common one. It's result should be very close to IC simulation, in order to get that, the device side should also need to prepare enough queue. We have got the 'best performance' (IN: 41MB, OUT: 39MB) at i.mx platform (USB2, ARM Cortex A9, stream mode need to enable) with below command: Host side: modprobe usbtest ./testusb -a -t 27 -g 64 -s 16384 ./testusb -a -t 28 -g 64 -s 16384 Gadget side: modprobe g_zero loopdefault=1 qlen=64 buflen=16384 Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Cc: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 44e4a60dacf8a96f28b5e021b54ba9eeb793ca2e Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Mon Oct 12 11:23:27 2015 +0200 usb: dwc2: fix duplicate argument warning Fix a duplicate argument warning reported by 0-DAY kernel test infrastructure in the following patch: 77dbf71 usb: dwc2: host: add disconnect interrupt to host only interrupts Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8346aa765e14348b7b436825b3c4740895a2fe1a Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 10:57:25 2015 -0700 Revert "mm: Check if section present during memory block (un)registering" This reverts commit 7568fb63f57ac8672f8bf2018171255441238882 as it's already in Linus's tree through a different patch. Reported-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx #v3.15 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b626c77be5ecf34534a45bb2012f6ed0565a0a7 Author: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Date: Wed Oct 7 09:20:14 2015 +0200 staging: fbtft: access screen buffer directly In fbtft-bus.c:fbtft_write_vmem16_bus9(), ioread8() is used for accessing the provided screen array. Since screen_buffer actually points to an ordinary buffer, instead access it directly. Signed-off-by: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b6dc179dcf8e6fa023fb38a0b4fc456b90186f5 Author: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Date: Wed Oct 7 09:20:13 2015 +0200 staging: fbtft: use alternate screen pointer Member screen_base in struct fb_info is declared with __iomem qualifier causing sparse warnings when used as a regular ponter. To avoid the warnings, instead use alternate non-__iomem pointer, screen_buffer, troughout the driver. Signed-off-by: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17a7b0b4d9749f80d365d7baff5dec2f54b0e992 Author: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Date: Wed Oct 7 09:20:12 2015 +0200 fb.h: Provide alternate screen_base pointer Some drivers use member screen_base of struct fb_info to store non- __iomem pointers, creating the need for ugly __force typecasts to avoid sparse warnings. This adds an alternate pointer without the __iomem qualifyer for this use. Signed-off-by: Lars Svensson <lars1.svensson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9f6806551c3b2f02fa8225582d731994a3f3fa2 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 7 22:15:46 2015 +0200 staging: fbtft: add support for C-Berry28 display This patch adds support for the C-Berry28, a small 2.8" color display with a resolution of 320x240 pixels from admatec for the Raspberry Pi. It uses the Sitronix ST7789V display controller along with a custom init sequence and custom gamma curves. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4c402ff3505be1cba62128b74998492566c35e6 Author: Dennis Menschel <menschel-d@xxxxxxxxx> Date: Wed Oct 7 22:15:45 2015 +0200 staging: fbtft: add support for ST7789V display controller This patch adds support for the Sitronix ST7789V display controller. The controller is intended for small color displays with a resolution of up to 320x240 pixels. Signed-off-by: Dennis Menschel <menschel-d@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56b3152e5e8b0501ff9ef100b772df8ecb3efd82 Author: Anish Bhatt <anish@xxxxxxxxxx> Date: Mon Oct 12 21:02:36 2015 -0700 rtl8192u: BIT() macro cleanup Use the BIT(x) macro directly instead using multiple BITX defines. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb36cc282a9d9cc6c024010e7b65e88d1b088c54 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 18:03:25 2015 +0100 staging: comedi: comedidev.h: spaces preferred around that '*' Fix the checkpatch.pl issues: CHECK: spaces preferred around that '*' (ctx:VxV) Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 214e38421c330a1c9a16e65e071c86986cf3952d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 18:03:24 2015 +0100 staging: comedi: comedidev.h: add comments to spin-lock and mutex Fix the checkpatch.pl issues: CHECK: spinlock_t definition without comment CHECK: struct mutes definition withoug comment Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c3bea26ad3037924fd066c14fd391a69103dd63 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:29 2015 +0100 staging: comedi: check for more errors for zero-length read If the "read" file operation handler, `comedi_read()` is passed 0 for the amount to read, some error conditions are currently skipped and the function just returns 0. Change it to check those error conditions and return an error value if appropriate. The trickiest case is the check for when the previously set up asynchronous command has terminated with an error. In that case, `-EPIPE` is returned (as it is for a read of non-zero length) and the subdevice gets marked as non-busy. A zero-length read that returns 0 has no other effects, in particular, it does not cause the subdevice to be marked as non-busy, and the return value does not indicate an "end-of-file" condition. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39582847757ef79fb9de2661dd9297f1c988478d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:28 2015 +0100 staging: comedi: simplify returned errors for comedi_read() In order to perform a "read" file operation, an asynchronous COMEDI command in the "read" direction needs to have been set up by the current file object on the COMEDI "read" subdevice associated with the file object. If there is a "read" subdevice, but a command has not been set up by the file object (or is has been set-up in the wrong direction), `comedi_read()` currently returns one of two error values `-EINVAL` or `-EACCES`. `-EACCES` is returned if the command was set up by a different subdevice, or somewhat randomly, if a COMEDI "instruction" is currently being processed. `-EINVAL` is returned in other cases. Simplify it by returning `-EINVAL` for all these cases. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8ed75c0836ebc530f7fbf613bba75de3656b105 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:27 2015 +0100 staging: comedi: return error on "read" if no command set up The "read" file operation handler, `comedi_read()` returns an error for pretty much any condition that prevents a "read" going ahead. One of the conditions that prevents a "read" going ahead is that no asynchronous command has been set up, but that currently results in a return value of 0 (unless COMEDI instructions are being processed or an asynchronous command has been set up by a different file object). Change it to return `-EINVAL` in this case. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f84e27adfc4cb0c4aa97d830c43f8c82aca0547c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:26 2015 +0100 staging: comedi: remove superfluous retval = 0 in comedi_read() `comedi_read()` initializes `retval` to 0. The other `retval = 0` assignments are superfluous, so remove them. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42ea907d785d522e5ae661c3774b8a801ac7f00b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:25 2015 +0100 staging: comedi: allow buffer wraparound in comedi_read() `comedi_read()` copies data from the acquisition data buffer, which is cyclic, to the user buffer using a single call to `copy_to_user()`. It currently avoids having to deal with wraparound of the cyclic buffer by limiting the amount it copies (and the amount returned to the user). Change it to deal with the wraparound using two calls to `copy_to_user()` if necessary. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ea939284d3ebde02d5b46d50406c2b7faae1214 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:24 2015 +0100 staging: comedi: avoid bad truncation of a size_t in comedi_read() At one point in `comedi_read()`, the variable `n` gets assigned to the minimum of the parameter `nbytes` and the amount of readable buffer space `m`. The way that is done currently is unsafe in the unlikely case that `nbytes` exceeds `UINT_MAX`, so fix it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76e8e7d4ffb3300217b62637183282a5225d7394 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:23 2015 +0100 staging: comedi: make some variables unsigned in comedi_read() In `comedi_read()`, the `n` and `m` variables are of type `int`. Change them to `unsigned int` as they are used to measure a positive number of bytes. The `count` variable is also of type `int` and holds the returned number of bytes. Change it to type `ssize_t` to match the function's return type. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd060c8f4c93ee564510aa86724d27dca31b9e2a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:22 2015 +0100 staging: comedi: do extra checks for becoming non-busy for "read" `comedi_read()` is the handler for the "read" file operation for COMEDI devices. It mostly runs without using the main mutex of the COMEDI device, but uses the `attach_lock` rwsemaphore to protect against the COMEDI device becoming "detached". A file object can read data resulting from a COMEDI asynchonous command if it initiated the command. The COMEDI subdevice is marked as busy when the command is started. At some point, the "read" handler detects that the command has terminated and all available data has been read and so marks the subdevice as non-busy. In order to mark the subdevice as non-busy, the "read" handler needs to release the `attach_lock` rwsemaphore and `acquire the main `mutex`. There is a vulnerable point between the two, so it checks that the device is still attached after acquiring the mutex. However, it does not currently check that the conditions for becoming non-busy still hold. Add some more checks that the subdevice is still busy with a command initiated by the same file object, that command is in the correct direction (in case the subdevice supports both "read" and "write"), that command has terminated, and has no data available to be read. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09d6b9a9ddbbdbf4e45f553fa4405aeacfd12e47 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:21 2015 +0100 staging: comedi: don't consider "unmunged" data when becoming non-busy If an asynchronous "read" command is no longer running but the subdevice is still busy, it becomes non-busy once there is no more data available in the buffer. Some or all of the data written to the buffer might not have been "munged" yet, and it cannot be read until it has been munged by the writer. However, since the command is no longer running, we cannot expect any remaining unmunged data to get munged so we should ignore it. Call `comedi_buf_read_n_available()` to check the amount of munged data available to be read, replacing the call to `comedi_buf_n_bytes_ready()` which checked the amount of written (but possibly not yet munged) data available to be read. This affects both the "read" file operation (done in `comedi_read()`) and the `COMEDI_BUFINFO` ioctl handling (done in `do_bufinfo_ioctl()`). (The latter is used when data is transferred directly through the mmapped buffer instead of via the "read" file operation.) Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 970679b04c4b2ae8aaede98e214449eb3e6e6b06 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Oct 12 17:21:20 2015 +0100 staging: comedi: remain busy until read end-of-file If a COMEDI subdevice is busy handling an asynchronous command in the "read" direction, then after the command has terminated itself, the "read" file operation handler, `comedi_read()` should keep the subdevice busy until all available data has been read and it has returned 0 to indicate an "end-of-file" condition. Currently, it has a bug where it can mark the subdevice as non-busy even when returning a non-zero count. The bug is slightly hidden because the next "read" will return 0 because the subdevice is no longer busy. Fix it by checking the return count is 0 before deciding to mark the subdevice as non-busy. The call to `comedi_is_subdevice_idle()` is superfluous as the `become_nonbusy` variable will have been set to `true` when considering becoming non-busy. Strictly speaking, checking the return count is superfluous too, as `become_nonbusy` doesn't get set to `true` unless the count is 0, but check the return count anyway to make the intention clearer. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5eb3a742109015cd794e536fe0968197b917e05 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:52 2015 +0100 staging: comedi: don't use mutex when polling file The main mutex in a comedi device can get held for quite a while when processing comedi instructions, so for performance reasons, the "read" and "write" file operations do not use it; they use use the `attach_lock` rwsemaphore to protect against the comedi device becoming detached at an inopportune moment. Do the same for the "poll" file operation. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3834234f99a07d1a84918cb15e9431420c5405f4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:51 2015 +0100 staging: comedi: check command started by file being polled Currently, the "poll" file operation checks if an asynchronous "read" (or "write" command is active on the "read" (or "write" subdevice, but does not consider whether the command was started from the file object being polled. Since that is the only file object able to read (or write) data, take it into consideration. With this change, if no read (or write) command is running on the subdevice, or it is started by a different file object, the file object is marked as readable (or writeable) regardless, but the read (or write) file operation will return an error. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecf04ed34d65b735bbdfa9ae8ea378ffc0faa9f6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:50 2015 +0100 staging: comedi: don't allocate buffer space when polling for write When handling the "poll" file operation and checking for `POLLOUT`, don't allocate space from the buffer for writing, just check that space is available for writing. That check is done after checking that an asynchronous "write" command is running on the subdevice. Allocating the buffer space before checking a "write" command is running can cause problems if the subdevice supports commands in either direction and currently has an active "read" command. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 432fbde739583140c7ee937910786a9d740804c9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:49 2015 +0100 staging: comedi: add new comedi_buf_write_n_available() Add a new function `comedi_buf_write_n_available()` to return the amount of buffer space available for writing, including space already allocated by `comedi_buf_write_alloc()` plus any unallocated space available. This is currently just for internal use by the comedi core, so is not exported. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 274ec5ee5478f1757ba083e366d9490dfaa6bd2f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:48 2015 +0100 staging: comedi: rename comedi_buf_write_n_available Rename the local function `comedi_buf_write_n_available()` to `comedi_buf_write_n_unalloc()`. It is the amount of unallocated space available in the buffer that is available to be allocated for writing and does not include the space that has already been allocated for writing. This is unlike the exported function `comedi_buf_read_n_available()` which includes the space available to be allocated for reading plus the space already allocated for reading. The new name breaks the unintentional naming symmetry (and also clears the way for the old name to be reused for a new function). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 322146d5d485cddb93761bd2593fbc932399b0a1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Oct 9 12:26:47 2015 +0100 staging: comedi: don't poll_wait on same subdevice twice Comedi subdevices that support asynchronous acquisition commands have a wait queue head used for blocking reads or writes and for the poll file operation. The comedi device may have several subdevices that support "read" and/or "write" commands, but each open file object has at most one "read" subdevice and one "write" subdevice. It's possible (though rare) for those to be the same subdevice if the subdevice supports commands in either direction. In that case, the "poll" file operation doesn't really need to do a `poll_wait()` on the same subdevice twice. Although harmless, it wastes a poll table entry. Check for that, and avoid it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 944fd0c92ab7642dd027c1dac0cfb7199904a56d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:11 2015 -0700 staging: comedi: cb_das16_cs: rename private data member 'status[12]' For aesthetics, rename these private data members to match the registers they are associated with. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9d8e8d4c4e869b321f1ddf0349144773c059de8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:10 2015 -0700 staging: comedi: cb_das16_cs: mode analog output comment For aesthetics, move this comment to follow the format of the other subdevices. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b93c2862b95d4c4021aeaf6c18b89e11e245ebab Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:09 2015 -0700 staging: comedi: cb_das16_cs: the DAC16/16-AO only has 4 digital I/O The PC-CARD DAS16/16-AO board only has 4 digital I/O channels. The other boards supported by this driver have 8. Add the boardinfo to correctly initialize the subdevice. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c34f202ba32c1ef10b36b61c1ca236120b8cc4b3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:08 2015 -0700 staging: comedi: cb_das16_cs: hookup 8254 counter subdevice The hardware has an 8254 counter/timer to provide a pacer clock using counters 1 and 2. Counter 0 is available to the user. Hook up the subdevice support to allow the user to use counter 0. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 090b82a3a7bfc192d01ff8910485757db65b858f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:07 2015 -0700 staging: comedi: cb_das16_cs: tidy up analog input subdevice init This driver currently code not support async commands. Remove the SDF_CMD_READ subdev_flag and len_chanlist initialization from the subdevice init. For aesthetics, rename the (*insn_read) function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1dbe3884bbd041a4a9657df0de9d558e8335a3b6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:06 2015 -0700 staging: comedi: cb_das16_cs: refactor 'n_ao_chans' boardinfo Only one of the boards supported by this driver has analog outputs. For aesthetics, change the 'n_ao_chans' member of the boardinfo into a bit-field flag 'has_ao'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f2e618c3bd58d6d54e25564b25d18a7a332bd0a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:05 2015 -0700 staging: comedi: cb_das16_cs: define the misc1 and misc2 register bits Define the bits in these registers and use them to remove the "magic" values in 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 95ea3e760ef8e0c2171025429f989cf44075a91f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:04 2015 -0700 staging: comedi: cb_das16_cs: fix ai mux register programming The ai mux register is used program the hi/lo channels in a scan. According to the user manual, the hi and lo channels should be the same to sample one channel. Introduce some macros to set the appropriate bits in the ai mux register and fix the ai (*insn_read). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2845efb967ed9d1e430675ff67b2129a20bfedac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:03 2015 -0700 staging: comedi: cb_das16_cs: rename register map defines For aesthetics, add _REG to all the register map offsets and convert the values to hex. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ae49e273272245e28b0b205a54c4a88f84944ca Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 16:07:02 2015 -0700 staging: comedi: cb_das16_cs: tidy up multi-line comments Reformat 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 9f4d30ddfa4acbb1c255375c9fd2357cd7b8d6b2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:38 2015 -0700 staging: comedi: aio_aio12_8: tidy up digital I/O subdevice init For aesthetics, move and reword the comment to follow the format of the other subdevices. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> CC: Ian Abbott <abbotti@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbea1876dc8da6fba445d69cfda56c955c9714a8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:37 2015 -0700 staging: comedi: aio_aio12_8: rename 'aio_ao12_8' boardinfo This board name is incorrect. The proper name is 104-AO12-4. Change the boardinfo name to 'aio_aio12_4' to follow the format of the other boardtypes. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db70e3934c02c76f85c128e01585d8b6a8fbe61 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:36 2015 -0700 staging: comedi: aio_aio12_8: refactor boardininfo This driver supports three board types with these differences: 104-AIO12-8 - eight 12-bit analog in, four 12-bit analog out 104-AI12-8 - eight 12-bit analog in 104-AO12-4 - four 12-bit analog out Convert the boardinfo 'ai_nchan' and 'ao_nchan' into bit-field flags 'has_ai' and 'has_ao' so 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 ee4c7709fbb29860c3200b1296a18adff01d2307 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:35 2015 -0700 staging: comedi: aio_aio12_8: fix ai (*insn_read) According to the user manual, analog input bipolar data is 2's complement and unipolar is straight binry. Use the core helpers to munge the data appropriately. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1198f6b09f05e1aef96e59c6af359dffa6d926e1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:34 2015 -0700 staging: comedi: aio_aio12_8: analog outputs are single-ended The analog outputs are all single-ended. Remove the SDF_DIFF subdev_flag from the 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 c5fcb7cabc52dfc38ff4b31abc7aac11b54f6bd7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:33 2015 -0700 staging: comedi: aio_aio12_8: move comedi_lrange definition For aesthetics, move the comedi_lrange definition used in this driver to the follow the norm in comedi drivers and rename the variable. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffe4a3173916b7639bd06f61355e14d202ad471f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:32 2015 -0700 staging: comedi: aio_aio12_8: hookup 8254 counter/timer This board has an industry-standard 8254 chip with the gate, clock, and output pins for each counter available on the connector. Hookup the 8254 counter as a comedi subdevice. Provice an (*insn_config) for the user to query the clock source for each channel. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 180480ed410645d0e9ed0ba03b914a7a9aab6b3a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:31 2015 -0700 staging: comedi: aio_aio12_8: update MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "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 471c5d6ccf0ddab58bdf6b5ff72bd71897e2f591 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:30 2015 -0700 staging: comedi: aio_aio12_8: tidy up multi-line comments Reformat 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 4dc4f282070b958e599ed4c6f27078fae78605c7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 12:16:29 2015 -0700 staging: comedi: aio_aio12_8: prefer using the BIT macro As suggested by checkpatch.pl, 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 fff5b04fdf238a82fa1dce0d31eeea133b3e580a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:35 2015 -0700 staging: comedi: adv_pci1710: rename private data member 'ai_et_MuxVal' Rename thie CamelCase member of the private data. Add a comment in the interrupt handler to clarify why the channel interval is updated again. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c9b7733958fb861c3df7d56481c8e97613088d3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:34 2015 -0700 staging: comedi: adv_pci1710: tidy up PCI1720_* register defines The PCI-1720 board is supported by this driver but uses a different register map. For aesthetics, rename the defines to match the PCI171X_* format. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39363d061d87d434dc0f597b97e3afd01fe3ca49 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:33 2015 -0700 staging: comedi: adv_pci1710: tidy up remaining PCI171x_* registers Rename these CamelCase defines. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fcce6e2d20b9569b3cb09dda132c8fbeec96072 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:32 2015 -0700 staging: comedi: adv_pci1710: tidy up control register and bits Rename the CamelCase and use the BIT macro to define the bits. Also, rename the associated CamelCase members 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 d67e50feb6bde9082bc098e2b02b7ee1c87747f7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:31 2015 -0700 staging: comedi: adv_pci1710: tidy up status register and bits Rename the CamelCase and 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 a82853304021435f57698ea88cb5ca03fe010aeb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:01:30 2015 -0700 staging: comedi: adv_pci1710: tidy up multi-line comments Reformat the multi-line comments in the kernel CodingStyle. And refactor them to follow the normal format for comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64a4e72eabd4199d6897f8b1366479b1b8152228 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:42:32 2015 -0700 staging: comedi: adl_pci9111: fix alignment issue Use a local variable for the 'devpriv->ai_bounce_buffer' to shorten the lines in pci9111_handle_fifo_half_full() and gix the checkpath.pl issue about: CHECK: Alignment should match open parenthesis Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0756f8d778205376811653e61ea02749a382b217 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:42:31 2015 -0700 staging: comedi: adl_pci9111: rename CamelCase parameters Rename the CamelCase parameters of plx9050_interrupt_control(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 262a07acc6261a2ca2644b37e8392717cb66ddcb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:42:30 2015 -0700 staging: comedi: adl_pci9111: tidy up multi-line comments Reformat the multi-line comments in the kernel CodingStyle. Remove the unnecessary CHANGELOG information, git provided this better. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68e412987c1c0a277175e2728958446bde8b305f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:42:29 2015 -0700 staging: comedi: adl_pci9111: define a macro for the ai range bits For aesthetics, define a macro to set the analog input range bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8d863cbba81eade976368d8c8b96d19210823a5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:42:28 2015 -0700 staging: comedi: adl_pci9111: prefer using the BIT macro As suggested by checkpatch.pl, 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 c9f6bb961d7afefc238f0e420eb40a155ee9a6e8 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 16:03:42 2015 +0300 staging: lustre: add a blank line after function/struct/union/enum declarations Fixes checkpatch.pl CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations The patch is generated using checkpatch.pl --fix-inplace: for f in $(find drivers/staging/lustre/ -type f) ; do ./scripts/checkpatch.pl --types "LINE_SPACING" --fix-inplace -f $f done Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 106495c41fb24901bd1c192373c3085961378297 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 16:03:41 2015 +0300 staging: lustre: remove multiple blank lines Fixes checkpatch.pl CHECK:LINE_SPACING: Please don't use multiple blank lines. The patch is generated using checkpatch.pl --fix-inplace: for f in $(find drivers/staging/lustre/ -type f) ; do ./scripts/checkpatch.pl --types "LINE_SPACING" --test-only=multiple \ --fix-inplace -f $f done Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50ffcb7edca4e2f6e2204058b78cadd3d1a2e04f Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Oct 13 16:03:40 2015 +0300 staging: lustre: add missing blank line after declarations Fixes checkpatch.pl WARNING:LINE_SPACING: Missing a blank line after declarations. The patch is generated using checkpatch.pl --fix-inplace: for f in $(find drivers/staging/lustre/ -type f) ; do ./scripts/checkpatch.pl --types "LINE_SPACING" --test-only=Missing \ --fix-inplace -f $f done Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fd624b37da50ba0c63bb153cfd6e1b97b83cc4a Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Oct 13 19:09:21 2015 +0200 Staging: rtl8723au: Use snprintf instead rsprintf Macro rsprintf is useless, remove it and use existing function snprintf instead. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9faa310f2b813bad7682120d37ac760db14eec93 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Tue Oct 13 19:08:03 2015 +0200 Staging: comedi: dt9812: Use mutex instead of semaphore Replace binary semaphore with mutex. Mutex also gives better performance than semaphore. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c29722158c29cb5aad60108268cb8649a171c876 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 13 22:20:28 2015 +0530 Staging: lustre: lov: Remove unused #include header file Remove lclient.h header since it is not used. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 246ed517ebc90469b7f399e12017a4121b6ec2cc Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 13 21:07:49 2015 +0530 Staging: most: Remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the Coccinelle semantic patch that makes this change is as follows: // <smpl> @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // </smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a1d9489e92a4dd93f6f070aa7e9062beed94c69 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 13 21:07:48 2015 +0530 Staging: iio: Remove exceptional & on function name In this file, function names are otherwise used as pointers without &. A simplified version of the Coccinelle semantic patch that makes this change is as follows: // <smpl> @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // </smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30cc9bd64c67c9b1f70a2779302da2ac05335d47 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Oct 13 21:07:47 2015 +0530 Staging: comedi: Remove exceptional & on function name n this file, function names are otherwise used as pointers without &. A simplified version of the Coccinelle semantic patch that makes this change is as follows: // <smpl> @r@ identifier f; @@ f(...) { ... } @@ identifier r.f; @@ - &f + f // </smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 634ffdd9ef91b1a6252347276bed77d3d73b0b9a Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 13 18:51:10 2015 +0530 staging: lustre: llite: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e127cbb06d6e8aee93e298c39ae2caa33a5eef3 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 13 18:50:18 2015 +0530 staging: lustre: llite: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ee8291a2622388c3b732614eb8c4c61a1bdd4dd Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Tue Oct 13 17:04:48 2015 +0530 Staging: wilc1000: wilc_wlan: Remove unnecessary cast Remove cast which is not required. Semantic patch used: @@ type T; T e; identifier x; @@ * T x = (T)e; Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bd7e5668644424cb70be79ecde4033e1ae123a2 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Tue Oct 13 15:18:38 2015 +0530 Staging: wilc1000: wilc_wfi_cfgoperations: Remove unused code Remove the declaration, initialization and statement having a variable that is not used anywhere in the code. Semantic patch used: @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84e4214f0868ae77771837d0ed4cc6eff10738ba Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Oct 13 10:00:53 2015 -0700 f2fs: relocate the tracepoint for background_gc Once f2fs_gc is done, wait_ms is changed once more. So, its tracepoint would be located after it. Reported-by: He YunLei <heyunlei@xxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3bffac68bfd76f1e94e0c6efff143ace80f90c0b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:11 2015 +0900 staging: wilc1000: rename u32Length of struct rcvd_net_info This patch renames u32Length of struct rcvd_net_info to len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b021b80b426069b7d599e246c32ac1b326681964 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:10 2015 +0900 staging: wilc1000: rename pu8Buffer of struct rcvd_net_info This patch renames pu8Buffer of struct rcvd_net_info to buffer to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78675be5a2858e9c6ca33f0f78e140ef8a45a67d Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:09 2015 +0900 staging: wilc1000: rename au8IPAddr of struct set_ip_addr This patch renames au8IPAddr of struct set_ip_addr to ip_addr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 937918ff160d8102a6c54897231c32ed2efc2b0f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:08 2015 +0900 staging: wilc1000: rename u32Timeout of struct power_mgmt_param This patch renames u32Timeout of struct power_mgmt_param to timeout to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33c70c1b39ad9f8bda41eadf0babf086ee136ca4 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:07 2015 +0900 staging: wilc1000: rename bIsEnabled of struct power_mgmt_param This patch renames bIsEnabled of struct power_mgmt_param to enabled to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4839d39b401e783bab57388341d82500662d5b7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:06 2015 +0900 staging: wilc1000: rename au8MacAddr of struct del_sta This patch renames au8MacAddr of struct del_sta to mac_addr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adab2f715b8b5aa9238206f48b2c9e156cd2907b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:05 2015 +0900 staging: wilc1000: rename u32count of struct set_multicast This patch renames u32count of struct set_multicast to cnt to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bae636eb5a5cb52b67753bd89dc2887cc582f58b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 20:02:04 2015 +0900 staging: wilc1000: rename bIsEnabled of struct set_multicast This patch renames bIsEnabled of struct set_multicast to enabled to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7a46c818564329f977f8fa157b5e9e1d0d83012 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:45 2015 +0100 irqdomain: Documentation updates Update the IRQ domain documentation to reflect the changes made while divorcing the domain infrastructure from Device Tree. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-18-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit be5436c83ac8921f33fe07323fab03c6644ce52e Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:44 2015 +0100 irqdomain/msi: Use fwnode instead of of_node As we continue to push of_node towards the outskirts of irq domains, let's start tackling the case of msi_create_irq_domain and its little friends. This has limited impact in both PCI/MSI, platform MSI, and a few drivers. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-17-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2a5e9a072da6469a37d1f0b1577416f51223c280 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:43 2015 +0100 irqdomain: Introduce irq_domain_create_hierarchy As we're about to start converting the various MSI layers to use fwnode_handle instead of device_node, add irq_domain_create_hierarchy as a directly equivalent of irq_domain_add_hierarchy (which still exists as a compatibility interface). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-16-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 462e4fc793b1071dee7c15680218a001318060c5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:42 2015 +0100 acpi/gsi: Cleanup acpi_register_gsi As the only user of drivers/acpi/gsi.c is now using acpi_set_irq_model to set acpi_gsi_domain_id to something meaningful, we can always rely on that information to be present (its absence is an error), and guarantee that new interrupt controllers will use this API. Take this opportunity to cleanup acpi_register_gsi. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-15-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 18bd8847cdd4dac3276ae9973739c570ce37e0b7 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:41 2015 +0100 irqchip/gic: Kill the xlate method We are now left with only two use models for the GIC driver: - Via a firmware interface, which mandates a hierarchical domain, and the use of the 'translate' method - The legacy platforms, which assume irq==hwirq, hence not using the 'xlate' method. The logical conclusion is that we can now nuke the 'xlate' method altogether. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-14-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 891ae7694f862c3605d037066e15ca128faa95d5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:40 2015 +0100 irqchip/gic: Switch ACPI support to stacked domains Now that the basic ACPI GSI code is irq domain aware, make sure that the ACPI support in the GIC doesn't pointlessly deviate from the DT path. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-13-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e81a7cd96bd55bb57d92486c514b7b8f8c8cd8ce Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:39 2015 +0100 irqchip/gic: Get rid of gic_init_bases() Since nobody is using gic_init_bases anymore outside of the GIC driver itself, let's do a bit of housekeeping and remove the now useless entry point. Only gic_init() is now exposed to the rest of the kernel for the benefit of legacy systems. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-12-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2bc6eba4a322e70eac8cde76442c4ac90699fb39 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:38 2015 +0100 acpi/gsi: Add acpi_set_irq_model to initialize the GSI layer In order to start embrassing irqdomains at the GSI level, introduce a new initializer: void acpi_set_irq_model(enum acpi_irq_model_id model, struct fwnode_handle *fwnode); where: - model is the value assigned to acpi_irq_model - fwnode is the identifier for the irqdomain mapping GSI interrupts As nobody calls this code yet, the current code is (mostly) left in place. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-11-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d7f8504d234450bf10bb2eb2d4565d6e9af78e5c Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:37 2015 +0100 acpi/gsi: Always perform an irq domain lookup Instead of directly passing NULL to the various irq_domain functions, start by looking up the domain with a domain identifier.. As this identifier is permanently set to NULL, the lookup function will return the same value (no domain found) and the default will be used, preserving the current behaviour. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-10-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b145dcc45a6af0abfcf9b4de8006d40559c50fc6 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:36 2015 +0100 irqdomain: Add a fwnode_handle allocator In order to be able to reference an irqdomain from ACPI, we need to be able to create an identifier, which is usually a struct device_node. This device node does't really fit the ACPI infrastructure, so we cunningly allocate a new structure containing a fwnode_handle, and return that. This structure doesn't really point to a device (interrupt controllers are not "real" devices in Linux), but as we cannot really deny that they exist, we create them with a new fwnode_type (FWNODE_IRQCHIP). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-9-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1bf4ddc46c5d6123897a54cea4ffe3e90f30600b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:35 2015 +0100 irqdomain: Introduce irq_domain_create_{linear, tree} Just like we have irq_domain_add_{linear,tree} to create a irq domain identified by an of_node, introduce irq_domain_create_{linear,tree} that do the same thing, except that they take a struct fwnode_handle. Existing functions get rewritten in terms of the new ones so that everything keeps working as before (and __irq_domain_add is now fwnode_handle based as well). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-8-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c0131f09de8c2d301814cac86d78f643b8ee0574 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:34 2015 +0100 irqdomain: Introduce irq_create_fwspec_mapping Just like we have irq_create_of_mapping, irq_create_fwspec_mapping creates a IRQ domain mapping for an interrupt described in a struct irq_fwspec. irq_create_of_mapping gets rewritten in terms of the new function, and the hack we introduced before gets removed (now that no stacked irqchip uses of_phandle_args anymore). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-7-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f833f57ff25450b7161798dceaf8575a48d80249 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:33 2015 +0100 irqchip: Convert all alloc/xlate users from of_node to fwnode Since we now have a generic data structure to express an interrupt specifier, convert all hierarchical irqchips that are OF based to use a fwnode_handle as part of their alloc and xlate (which becomes translate) callbacks. As most of these drivers have dependencies (they exchange IRQ specifiers), change them all in a single, massive patch... Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-6-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 11e4438ee330fab0f216ee7cc1b651cb2ddceb5d Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:32 2015 +0100 irqdomain: Introduce a firmware-specific IRQ specifier structure So far the closest thing to a generic IRQ specifier structure is of_phandle_args, which happens to be pretty OF specific (the of_node pointer in there is quite annoying). Let's introduce 'struct irq_fwspec' that can be used in place of of_phandle_args for OF, but also for other firmware implementations (that'd be ACPI). This is used together with a new 'translate' method that is the pendent of 'xlate'. We convert irq_create_of_mapping to use this new structure (with a small hack that will be removed later). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 130b8c6c8d86075304952241bf2365cea6489df1 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:31 2015 +0100 irqdomain: Allow irq domain lookup by fwnode So far, our irq domains are still looked up by device node. Let's change this and allow a domain to be looked up using a fwnode_handle pointer. The existing interfaces are preserved with a couple of helpers. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f110711a6053f08731858aa91420104094188973 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:30 2015 +0100 irqdomain: Convert irqdomain-%3Eof_node to fwnode Now that we have everyone accessing the of_node field via the irq_domain_get_of_node accessor, it is pretty easy to swap it for a pointer to a fwnode_handle. This translates into a few limited changes in __irq_domain_add, and an updated irq_domain_get_of_node. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5d4c9bc7767bc86eb9a0e66df783e3fbada7dc97 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Oct 13 12:51:29 2015 +0100 irqdomain: Use irq_domain_get_of_node() instead of direct field access The struct irq_domain contains a "struct device_node *" field (of_node) that is almost the only link between the irqdomain and the device tree infrastructure. In order to prepare for the removal of that field, convert all users to use irq_domain_get_of_node() instead. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-and-tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Tested-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx> Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> Cc: Graeme Gregory <graeme@xxxxxxxxxxx> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444737105-31573-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e50226b4b86755e65aef2129e94d952fee3df722 Merge: e984977 25cb62b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Oct 13 19:00:14 2015 +0200 Merge branch 'linus' into irq/core Bring in upstream updates for patches which depend on them commit 8ba1803ff5c9488593d71317d2b3da41e89fab66 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:10 2015 +0900 staging: wilc1000: rename u8Num_AssocSta of struct del_all_sta This patch renames u8Num_AssocSta of struct del_all_sta to assoc_sta to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e51b921639c23c59484b72c932e910522c0cd6ba Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:09 2015 +0900 staging: wilc1000: rename au8Sta_DelAllSta of struct del_all_sta This patch renames au8Sta_DelAllSta of struct del_all_sta to del_all_sta to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dbcb6d37a070b1c0637183d7d23819c1369b0f5 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:08 2015 +0900 staging: wilc1000: rename pu8Tail of struct beacon_attr This patch renames pu8Tail of struct beacon_attr to tail to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 030c57e28ec8dee488c039b9488f8edb5cfa76de Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:07 2015 +0900 staging: wilc1000: rename u32TailLen of struct beacon_attr This patch renames u32TailLen of struct beacon_attr to tail_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ce528b9a8325cf2b8664ef9ac73eb7ff26a4ca0 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:06 2015 +0900 staging: wilc1000: rename pu8Head of struct beacon_attr This patch renames pu8Head of struct beacon_attr to head to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51c6618590f172608e61e29190bbbd865302c7dd Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:05 2015 +0900 staging: wilc1000: rename u32HeadLen of struct beacon_attr This patch renames u32HeadLen of struct beacon_attr to head_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e76ab7708a9babbfe61d70da0804070ff8f871ac Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:04 2015 +0900 staging: wilc1000: rename u32DTIMPeriod of struct beacon_attr This patch renames u32DTIMPeriod of struct beacon_attr to dtim_period to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12262ddac66f56e9f901b085db53e71d6ba8fa74 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:03 2015 +0900 staging: wilc1000: rename u32Interval of struct beacon_attr This patch renames u32Interval of struct beacon_attr to interval to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 730ee059d4ea7403d72819c84b864a27464fe60d Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:02 2015 +0900 staging: wilc1000: rename u8SetChan of struct channel_attr This patch renames u8SetChan of struct channel_attr to set_ch to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f94f4889ad2e3dd494a572ec09a238d3741d3d7b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:01 2015 +0900 staging: wilc1000: rename u32Length of struct rcvd_async_info This patch renames u32Length of struct rcvd_async_info to len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33722ac768c401890bd4f335b771f28179338914 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:50:00 2015 +0900 staging: wilc1000: rename pu8Buffer of struct rcvd_async_info This patch renames pu8Buffer of struct rcvd_async_info to buffer to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2bed2caaeb847910eb13b527454adc25578875f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:59 2015 +0900 staging: wilc1000: rename pJoinParams of struct connect_attr This patch renames pJoinParams of struct connect_attr to params to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d1527e65b6ebbf3fe32a453f94d664300067be9 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:58 2015 +0900 staging: wilc1000: rename u8channel of struct connect_attr This patch renames u8channel of struct connect_attr to ch to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61b4fd022f443eb11b17e8a4160c4434b2d4fc7f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:57 2015 +0900 staging: wilc1000: rename tenuAuth_type of struct connect_attr This patch renames tenuAuth_type of struct connect_attr to auth_type to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f38db897be4f47a3d015e2b8061e013d6abbe18 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:56 2015 +0900 staging: wilc1000: rename pvUserArg of struct connect_attr This patch renames pvUserArg of struct connect_attr to arg to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6abcc11dba58e954d3d1a9d3f9722c4358712f08 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:55 2015 +0900 staging: wilc1000: rename pfConnectResult of struct connect_attr This patch renames pfConnectResult of struct connect_attr to result to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a64fd6772b0457b04b2782294d8fdc7b10e67acf Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:54 2015 +0900 staging: wilc1000: rename u8security of struct connect_attr This patch renames u8security of struct connect_attr to security to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b59d5c5b57b6ddef538aacef597a3278a7ab09c4 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:53 2015 +0900 staging: wilc1000: rename IEsLen of struct connect_attr This patch renames IEsLen of struct connect_attr to ies_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ea158c47544b9229cd110fc2947a51aee60c261 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:52 2015 +0900 staging: wilc1000: rename pu8IEs of struct connect_attr This patch renames pu8IEs of struct connect_attr to ies to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b3c9fa68bd8c243033cb04cca48ac6dc4543e44 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:51 2015 +0900 staging: wilc1000: rename ssidLen of struct connect_attr This patch renames ssidLen of struct connect_attr to ssid_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7bbd9cf99d312f36004ad361e38662d3da3e97b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:50 2015 +0900 staging: wilc1000: rename pu8ssid of struct connect_attr This patch renames pu8ssid of struct connect_attr to ssid to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9254db077a171cd74476b22675a499442d3b9e63 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:49 2015 +0900 staging: wilc1000: rename pu8bssid of struct connect_attr This patch renames pu8bssid of struct connect_attr to bssid to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d79fd35b8c5d927695b48fa35aa586919818cce9 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:48 2015 +0900 staging: wilc1000: remove duplicate copy routine This patch remove the duplicate bssid copy routine. Already ahead bssid copy routine execute. Therefore do not necessary in this routine. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2fc9f6e957bc0b0207fe31bbb6bf9286628c09f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:47 2015 +0900 staging: wilc1000: fix "ERROR: do not initialise globals to 0 or NULL" This patch fixes the checkpatch.pl error to host_interface.c. - ERROR: do not initialise globals to 0 or NULL Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 629b9ca02231a780920fdc98e9ffdd9e0739a768 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:46 2015 +0900 staging: wilc1000: rename strHiddenNetwork of struct scan_attr This patch renames strHiddenNetwork of struct scan_attr to hidden_network to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f2b50c8dbe6c0fa1c969ee068d4fa0d36ce2dd0 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:45 2015 +0900 staging: wilc1000: rename pvUserArg of struct scan_attr This patch renames pvUserArg of struct scan_attr to arg to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c17c6da659571a115c7b4983da6c6ac464317c34 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:44 2015 +0900 staging: wilc1000: rename pfScanResult of struct scan_attr This patch renames pfScanResult of struct scan_attr to result to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b1f76cd036eeea15f42929eed9a7619381cc15c Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:43 2015 +0900 staging: wilc1000: rename IEsLen of struct scan_attr This patch renames IEsLen of struct scan_attr to ies_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6f19aa5b58a7465444a995eb9c221887c45b0fc Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:42 2015 +0900 staging: wilc1000: rename pu8IEs of struct scan_attr This patch renames pu8IEs of struct scan_attr to ies to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f97bd9cab8079c791b6387f501fbff2bb73315dd Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:41 2015 +0900 staging: wilc1000: rename u8ChnlListLen of struct scan_attr This patch renames u8ChnlListLen of struct scan_attr to ch_list_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82eeb0ad3c6367ba7a4c4a999bb223d207a5c7fe Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:40 2015 +0900 staging: wilc1000: rename pu8ChnlFreqList of struct scan_attr This patch renames pu8ChnlFreqList of struct scan_attr to ch_freq_list to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97b457d7e2ad76e1ce3950a6c46e4d3cd0e350b2 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:39 2015 +0900 staging: wilc1000: remove duplicate null check routine This patch removes the duplicate null check routine. The same null check routine is twice executed. Therefore the duplicated routine is not necessary. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e276c8842863aa25c89bd4286909e5ae6739c3a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:38 2015 +0900 staging: wilc1000: rename u8ScanType of struct scan_attr This patch renames u8ScanType of struct scan_attr to type to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 425688986a086196e52c88106d0646bbd4ba5405 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:37 2015 +0900 staging: wilc1000: rename u8ScanSource of struct scan_attr This patch renames u8ScanSource of struct scan_attr to src to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b2ebb28b8505358901ed636845834976aa06fd5 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:36 2015 +0900 staging: wilc1000: rename u8Ciphermode of struct host_if_wpa_attr This patch renames u8Ciphermode of struct host_if_wpa_attr to mode to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6acf2919b31e9be52eaf30ee7569c4b5ef93217b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:35 2015 +0900 staging: wilc1000: rename u8Keylen of struct host_if_wpa_attr This patch renames u8Keylen of struct host_if_wpa_attr to key_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2dfbac54e82e2165049971eaaaeecf68d50260f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:34 2015 +0900 staging: wilc1000: rename u8keyidx of struct host_if_wpa_attr This patch renames u8keyidx of struct host_if_wpa_attr to index to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dacc594dab7a73a987ed2e9b8df725c15bc7ccf4 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:33 2015 +0900 staging: wilc1000: rename u8seqlen of struct host_if_wpa_attr This patch renames u8seqlen of struct host_if_wpa_attr to seq_len to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e74c0096271233687e9f206b2a772dce966b279 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:32 2015 +0900 staging: wilc1000: rename pu8seq of struct host_if_wpa_attr This patch renames pu8seq of struct host_if_wpa_attr to seq to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 248080aa2a31bff5cd4336a15af3c907962be8da Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:31 2015 +0900 staging: wilc1000: rename pu8macaddr of struct host_if_wpa_attr This patch renames pu8macaddr of struct host_if_wpa_attr to mac_addr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 124968fcc0ef7690d80a70ca0051f583b09ea3ff Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:30 2015 +0900 staging: wilc1000: rename pu8key of struct host_if_wpa_attr This patch renames pu8key of struct host_if_wpa_attr to key to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73b2e381d2ee8a8e33c41fcdeb291f3c6b79abba Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:29 2015 +0900 staging: wilc1000: rename uniHostIFkeyAttr of struct key_attr This patch renames uniHostIFkeyAttr of struct key_attr to attr to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d17e38201ece45e3e6ffaf4e89ae30c1ffd604a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:28 2015 +0900 staging: wilc1000: rename u8KeyAction of struct key_attr This patch renames u8KeyAction of struct key_attr to action to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e9f427a3e93a1223d0a065c6f9376cda2fd32d6 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:27 2015 +0900 staging: wilc1000: rename enuKeyType of struct key_attr This patch renames enuKeyType of struct key_attr to type to avoid CamelCase naming convention. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae4dfa572a7e67f53f7f1492bd2baacf39dbdc48 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Oct 13 19:49:26 2015 +0900 staging: wilc1000: host_interface.c : remove over-commenting There are over-commenting in the host_interface.c file and most of them are not helpful to explain what the code does and generate 80 ending line over warnings. So, all of comments are removed in this patch and the comments will later be added if necessary with the preferred Linux style. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08b39fbd59781729da9fb6367decaf4804a22721 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Oct 8 13:27:34 2015 +0800 f2fs crypto: fix racing of accessing encrypted page among different competitors Since we use different page cache (normally inode's page cache for R/W and meta inode's page cache for GC) to cache the same physical block which is belong to an encrypted inode. Writeback of these two page cache should be exclusive, but now we didn't handle writeback state well, so there may be potential racing problem: a) kworker: f2fs_gc: - f2fs_write_data_pages - f2fs_write_data_page - do_write_data_page - write_data_page - f2fs_submit_page_mbio (page#1 in inode's page cache was queued in f2fs bio cache, and be ready to write to new blkaddr) - gc_data_segment - move_encrypted_block - pagecache_get_page (page#2 in meta inode's page cache was cached with the invalid datas of physical block located in new blkaddr) - f2fs_submit_page_mbio (page#1 was submitted, later, page#2 with invalid data will be submitted) b) f2fs_gc: - gc_data_segment - move_encrypted_block - f2fs_submit_page_mbio (page#1 in meta inode's page cache was queued in f2fs bio cache, and be ready to write to new blkaddr) user thread: - f2fs_write_begin - f2fs_submit_page_bio (we submit the request to block layer to update page#2 in inode's page cache with physical block located in new blkaddr, so here we may read gabbage data from new blkaddr since GC hasn't writebacked the page#1 yet) This patch fixes above potential racing problem for encrypted inode. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3d53fb9041d7d7bb8e1e1dd8b233cbed187933a7 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Tue Oct 13 20:50:23 2015 +0530 Staging: unisys: visorinput: Remove unused code Remove the code which is not used anywhere in the program. Semantic patch used: @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3248fef2abc1dcaefc62b52766865a6a09e8c57 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Tue Oct 13 11:37:23 2015 -0400 staging: unisys: vmcallinterface.h: convert pragma to __packed Convert from pragma to __packed 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 3aed61d1eb06b8b19b7bb09d49b222ebc3f83347 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:23 2015 +0200 mtd: lpddr: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 90b997527ecbaac44485a52a01768d5ae32f3818 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:22 2015 +0200 mtd: devices: sst251: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7d24272253594abcdca8f52758a574367a5912bf Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:21 2015 +0200 mtd: devices: spear_smi: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 57eea0f5fb221f88c3c9b0ddc967c004bfff7e9c Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:20 2015 +0200 mtd: devices: mtd_dataflash: drop owner assignment Owner is automatically set by mtdcore. Make use of that. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1560d2132ae95b36b25cc78811af8eaf9bbb2f8e Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:18 2015 +0200 mtd: devices: docg3: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit eb98198f23d0c6a77afe692b25e8ad634f0404c5 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:17 2015 +0200 mtd: devices: bcm47xxflash: show parent device in sysfs Fix a bug where mtd parent device symlinks aren't shown in sysfs. While at it, make use of the default owner value set by mtdcore. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 807f16d4db956b364ae852a63ad7d79460838866 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:16 2015 +0200 mtd: core: set some defaults when dev.parent is set If a parent device is set, add_mtd_device() has enough knowledge to fill in some sane default values for the module name and owner. Do so if they aren't already set. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 260e89a6e0d6dcaccd484cf13a69285c3d22268f Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Jun 10 22:38:15 2015 +0200 mtd: core: tone down suggestion that dev.parent should be set add_mtd_device() has a comment suggesting that the caller should have set dev.parent. This is required to have the parent device symlink show up in sysfs, but not for proper operation of the mtd device itself. Currently we have five drivers registering mtd devices during module initialization, so they don't actually provide a parent device to link to. That means we cannot WARN_ON() here, as it would trigger false positives. Make the comment a bit less firm in its assertion that dev.parent should be set. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7564fde3a13e000867729a291e77cdefa0854b8e Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Oct 13 11:16:48 2015 +0300 MAINTAINERS: add link to the Intel Graphics for Linux web site There's plenty of drm/i915 related hardware and software documentation, and firmware downloads for the latest platforms. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 42160a041db89807691b2a3fbf42e36a98b6019e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 16:56:07 2015 +0200 can: at91: remove at91_can_data struct at91_can_data was used to pass a callback to the driver, allowing it to switch the transceiver on and off. As all at91 boards are now using DT, this is not used anymore, remove that structure. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit ba61a8d9d780980e8284355a0be750897e7af212 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:42 2015 +0200 can: avoid using timeval for uapi The can subsystem communicates with user space using a bcm_msg_head header, which contains two timestamps. This is problematic for multiple reasons: a) The structure layout is currently incompatible between 64-bit user space and 32-bit user space, and cannot work in compat mode (other than x32). b) The timeval structure layout will change in 32-bit user space when we fix the y2038 overflow problem by redefining time_t to 64-bit, making new 32-bit user space incompatible with the current kernel interface. Cars last a long time and often use old kernels, so the actual users of this code are the most likely ones to migrate to y2038 safe user space. This tries to work around part of the problem by changing the publicly visible user interface in the header, but not the binary interface. Fortunately, the values passed around in the structure are relative times and do not actually suffer from the y2038 overflow, so 32-bit is enough here. We replace the use of 'struct timeval' with a newly defined 'struct bcm_timeval' that uses the exact same binary layout as before and that still suffers from problem a) but not problem b). The downside of this approach is that any user space program that currently assigns a timeval structure to these members rather than writing the tv_sec/tv_usec portions individually will suffer a compile-time error when built with an updated kernel header. Fixing this error makes it work fine with old and new headers though. We could address problem a) by using '__u32' or 'int' members rather than 'long', but that would have a more significant downside in also breaking support for all existing 64-bit user binaries that might be using this interface, which is likely not acceptable. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Cc: linux-can@xxxxxxxxxxxxxxx Cc: linux-api@xxxxxxxxxxxxxxx Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 3c200db56441365d964b5a983de948821f5011b9 Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:58:39 2015 +0200 can: sun4i: fix MODULE_DESCRIPTION This patch change description of the module. Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 887e07be3fd2d056362a9f851f796580d7bca499 Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:58:38 2015 +0200 can: sun4i: fix arbitration lost error reporting This patch fixes a bug in arbitration error reporting Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 9c4cbf8212e8d8be4bc6e16cc2c21af2bbaab2c1 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Mon Oct 12 13:20:59 2015 +0300 drm/i915: Move skl/bxt gt specific workarounds to ring init Some registers are, naturally, lost in gpu reset/suspend cycle. And some registers, for example in display domain, are not subject to gpu reset so they retain their contents. As hang recovery triggers a reset, recoverable gpu hang can currently flush out essential workarounds and cause havoc later on. When register GEN8_GARBNTL is missing the WaEnableGapsTsvCreditFix:skl, it can cause random system hangs [1]. This workaround was added in: commit 245d96670d26 ("drm/i915:skl: Add WaEnableGapsTsvCreditFix") But another set of system hangs were observed and the failure pattern indicated that there was random gpu hang preceding the system hang [2]. This lead to the realization that we lose this workaround and BDW_SCRATCH1 on reset. Add these workarounds setup in display init to skl/bxt ring init where LRI workarounds are also setup. This way their setup is not dependent on display side init. References: [1] https://bugs.freedesktop.org/show_bug.cgi?id=90854 References: [2] https://bugs.freedesktop.org/show_bug.cgi?id=92315 Reported-by: Tomi Sarvela <tomix.p.sarvela@xxxxxxxxx> Cc: Tomi Sarvela <tomix.p.sarvela@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Tested-by: Tomi Sarvela <tomix.p.sarvela@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 52fa1927e953d8b1fbdcf8a19dc75c1499cc3d5d Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Tue Oct 13 16:18:17 2015 +0100 Revert "arm64: ioremap: add ioremap_cache macro" This reverts commit 1b6d7f8742d5d46c478f10c9e57da18d049b116d. This patch would conflict with Dan Williams' "tree-wide convert to memremap()" series (ioremap_cache replaced by arch_memremap) Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3a70fcd3a4db56731f67f0189514953c74257944 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Oct 13 14:43:58 2015 +0200 tools build: Fix cross compile build He Kuang the new fixdep tool breaks cross compiling. The reason is it wouldn't get compiled under host arch, but under cross arch and failed to run. We need to add support for host side tools build, meanwhile disabling fixdep usage for cross arch builds. Reported-by: He Kuang <hekuang@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20151013124358.GB9467@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1330a0170a48ad3788eff01aaf889203652ab4c7 Merge: b7d2063 60417fc Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Oct 13 16:44:51 2015 +0200 Merge tag 'kvm-s390-next-20151013' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD KVM: s390: Fixes for 4.4 A bunch of fixes and optimizations for interrupt and time handling. No fix is important enough to qualify for 4.3 or stable. commit c95f3432118c6b7a3bde63aa6eb95ccd163119eb Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Oct 13 10:52:14 2015 +0200 tools include: Fix strict-aliasing rules breakage Vinson reported build breakage with gcc 4.4 due to strict-aliasing. CC util/annotate.o cc1: warnings being treated as errors util/annotate.c: In function â??disasm__purgeâ??: linux-next/tools/include/linux/compiler.h:66: error: dereferencing pointer â??res.41â?? does break strict-aliasing rules The reason is READ_ONCE/WRITE_ONCE code we took from kernel sources. They intentionaly break aliasing rules. While this is ok for kernel because it's built with -fno-strict-aliasing, it breaks perf which is build with -Wstrict-aliasing=3. Using extra __may_alias__ type to allow aliasing in this case. Reported-and-tested-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Martin Liska <mliska@xxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rabin Vincent <rabin@xxxxxx> Cc: linux-next@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20151013085214.GB2705@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 03875ad52fdde1f110f663470a45d3dcc34b8fef Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Mon Oct 12 14:52:59 2015 +0800 arm64: add kc_offset_to_vaddr and kc_vaddr_to_offset macro This patch add kc_offset_to_vaddr() and kc_vaddr_to_offset(), the default version doesn't work on arm64, because arm64 kernel address is below the PAGE_OFFSET, like module address and vmemmap address are all below PAGE_OFFSET address. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 1b6d7f8742d5d46c478f10c9e57da18d049b116d Author: yalin wang <yalin.wang2010@xxxxxxxxx> Date: Mon Oct 12 10:28:18 2015 +0800 arm64: ioremap: add ioremap_cache macro Add ioremap_cache macro, because some code will test if this macro is defined or not, and will generate a generric version if not defined, for example, memremap.c do like this. Signed-off-by: yalin wang <yalin.wang2010@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit cc917ab43541db3ff66d0136042686d40a1b4c9a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 14:22:26 2015 +0100 drm/i915: Deny wrapping an userptr into a framebuffer Pinning a userptr onto the hardware raises interesting questions about the lifetime of such a surface as the framebuffer extends that life beyond the client's address space. That is the hardware will need to keep scanning out from the backing storage even after the client wants to remap its address space. As the hardware pins the backing storage, the userptr becomes invalid and this raises a WARN when the clients tries to unmap its address space. The situation can be even more complicated when the buffer is passed between processes, between a client and display server, where the lifetime and hardware access is even more confusing. Deny it. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit c2b63374461c0986147902f719c26412d1f26fbc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Oct 7 22:08:25 2015 +0300 drm/i915: Enable DPLL VGA mode before P1/P2 divider write Apparently writing the DPLL register P1/P2 divider fields won't trigger an actual change in the DPLL output unless VGA mode is enabled for prior to the register write that changes the P1/P2 dividers. The write with the new P1/P2 divider can itself disable VGA mode again without problems. I tested the behaviour on my 946GZ, and when manually frobbing the register with the display on, the behaviour is very clear. However I can't explain why this machine actually works. The P1/P2 divider changes caused by normal modesets do seem to make it through to the hardware somehow since I get a stable picture on the monitor with any resolution. Maybe it's the "three times for luck" stuff that somehow masks the problem, or something. But apparently there are machines (eg. Nick Bowler's G45) where that isn't the case and we fail to get the correct clock from the DPLL. Things used to work because we enabled VGA mode for disabled DPLLs, so when re-enabling the DPLL VGA mode was enabled just prior to the first register write, and hence the P1/P2 change went through without a hitch. That got changed in b8afb9113c51 drm/i915: Keep GMCH DPLL VGA mode always disabled in the name of consistency. In order to keep the consistency part, leave VGA mode disabled for disabled DPLLs, but turn it on just prior to updating the P1/P2 dividers to make sure the hardware picks up on the new values. Cc: Nick Bowler <nbowler@xxxxxxxxxx> Reported-by: Nick Bowler <nbowler@xxxxxxxxxx> Tested-by: Nick Bowler <nbowler@xxxxxxxxxx> 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 8e7a65aa70bcc1235a44e40ae0da5056525fe081 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Oct 7 22:08:24 2015 +0300 drm/i915: Restore lost DPLL register write on gen2-4 We accidentally lost the initial DPLL register write in 1c4e02746147 drm/i915: Fix DVO 2x clock enable on 830M The "three times for luck" hack probably saved us from a total disaster. But anyway, bring the initial write back so that the code actually makes some sense. Reported-and-tested-by: Nick Bowler <nbowler@xxxxxxxxxx> References: http://mid.gmane.org/CAN_QmVyMaArxYgEcVVsGvsMo7-6ohZr8HmF5VhkkL4i9KOmrhw@xxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Cc: Nick Bowler <nbowler@xxxxxxxxxx> 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 83040123fde42ec532d3b632efb5f7f84024e61d Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 13 14:01:06 2015 +0100 arm64: kasan: fix issues reported by sparse Sparse reports some new issues introduced by the kasan patches: arch/arm64/mm/kasan_init.c:91:13: warning: no previous prototype for 'kasan_early_init' [-Wmissing-prototypes] void __init kasan_early_init(void) ^ arch/arm64/mm/kasan_init.c:91:13: warning: symbol 'kasan_early_init' was not declared. Should it be static? [sparse] This patch resolves the problem by adding a prototype for kasan_early_init and marking the function as asmlinkage, since it's only called from head.S. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 40a24488f5250d63341e74b9994159afc4589606 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 16:08:41 2015 +0100 drm/i915: Flush pipecontrol post-sync writes In order to flush the results from in-batch pipecontrol writes (used for example in glQuery) before declaring the batch complete (and so declaring the query results coherent), we need to set the FlushEnable bit in our flushing pipecontrol. The FlushEnable bit "waits until all previous writes of immediate data from post-sync circles are complete before executing the next command". I get GPU hangs on byt without flushing these writes (running ue4). piglit has examples where the flush is required for correct rendering. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Daniel Vetter <daniel@xxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit ef55f92a92eee54238e16269823a52cfcbb2330c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 14:11:27 2015 +0100 drm/i915: Drop i915_gem_obj_is_pinned() from set-cache-level Since the remove of the pin-ioctl, we only care about not changing the cache level on buffers pinned to the hardware as indicated by obj->pin_display. By knowing that only objects pinned to the hardware will have an elevated vma->pin_count, so we can coallesce many of the linear walks over the obj->vma_list. v2: Try and retrospectively add comments explaining the steps in rebinding the active VMA. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 60417fcc2b0235dfe3dcd589c56dbe3ea1a64c54 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 16:20:36 2015 +0200 KVM: s390: factor out reading of the guest TOD clock Let's factor this out and always use get_tod_clock_fast() when reading the guest TOD. STORE CLOCK FAST does not do serialization and, therefore, might result in some fuzziness between different processors in a way that subsequent calls on different CPUs might have time stamps that are earlier. This semantics is fine though for all KVM use cases. To make it obvious that the new function has STORE CLOCK FAST semantics we name it kvm_s390_get_tod_clock_fast. With this patch, we only have a handful of places were we have to care about STP sync (using preempt_disable() logic). Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 25ed16759660cdfccd4a3cb7d30cce8a797b542a Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue May 12 09:49:14 2015 +0200 KVM: s390: factor out and fix setting of guest TOD clock Let's move that whole logic into one function. We now always use unsigned values when calculating the epoch (to avoid over/underflow defined). Also, we always have to get all VCPUs out of SIE before doing the update to avoid running differing VCPUs with different TODs. Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 5a3d883a59b3fe8dc8775c7a79200a5b11a6761e Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 16:27:24 2015 +0200 KVM: s390: switch to get_tod_clock() and fix STP sync races Nobody except early.c makes use of store_tod_clock() to handle the cc. So if we would get a cc != 0, we would be in more trouble. Let's replace all users with get_tod_clock(). Returning a cc on an ioctl sounded strange either way. We can now also easily move the get_tod_clock() call into the preempt_disable() section. This is in fact necessary to make the STP sync work as expected. Otherwise the host TOD could change and we would end up with a wrong epoch calculation. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 238293b14d9b1f5689e2aa68710000b0f25aa612 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon May 4 12:38:48 2015 +0200 KVM: s390: correctly handle injection of pgm irqs and per events PER events can always co-exist with other program interrupts. For now, we always overwrite all program interrupt parameters when injecting any type of program interrupt. Let's handle that correctly by only overwriting the relevant portion of the program interrupt parameters. Therefore we can now inject PER events and ordinary program interrupts concurrently, resulting in no loss of program interrupts. This will especially by helpful when manually detecting PER events later - as both types might be triggered during one SIE exit. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 66933b78e3204057bfc26343afcd0d463c0e8e55 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Thu Nov 20 13:49:32 2014 +0100 KVM: s390: simplify in-kernel program irq injection The main reason to keep program injection in kernel separated until now was that we were able to do some checking, if really only the owning thread injects program interrupts (via waitqueue_active(li->wq)). This BUG_ON was never triggered and the chances of really hitting it, if another thread injected a program irq to another vcpu, were very small. Let's drop this check and turn kvm_s390_inject_program_int() and kvm_s390_inject_prog_irq() into simple inline functions that makes use of kvm_s390_inject_vcpu(). __must_check can be dropped as they are implicitely given by kvm_s390_inject_vcpu(), to avoid ugly long function prototypes. Reviewed-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 4d32ad6becf0baf09f38707f0aff42c0f4367a99 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Wed May 6 13:51:29 2015 +0200 KVM: s390: drop out early in kvm_s390_has_irq() Let's get rid of the local variable and exit directly if we found any pending interrupt. This is not only faster, but also better readable. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 118b862b153190f92415ece4cb97a896929c5ab8 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 12:25:15 2015 +0200 KVM: s390: kvm_arch_vcpu_runnable already cares about timer interrupts We can remove that double check. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 5f94c58ed0a6db016528d8555f1b655ad354f7bb Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 14:27:51 2015 +0200 KVM: s390: set interception requests for all floating irqs No need to separate pending and floating irqs when setting interception requests. Let's do it for all equally. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit fee0e0fdb2b9c221a3621bede722aa9f9c9f0d39 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 13:32:38 2015 +0200 KVM: s390: disabled wait cares about machine checks, not PER We don't care about program event recording irqs (synchronous program irqs) but asynchronous irqs when checking for disabled wait. Machine checks were missing. Let's directly switch to the functions we have for that purpose instead of testing once again for magic bits. Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit f59922b47e0a202386c8e8dcf9f0235b8a028ae0 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Sep 16 12:14:52 2015 +0200 KVM: s390: remove unused variable in __inject_vm the float int structure is no longer used in __inject_vm. Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit e797e4b71777877b19b50e3d736331c947ccffe7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Oct 6 14:53:01 2015 +0200 drm/i915: Fix kerneldoc for i915_gem_shrink_all I've botched this in commit eb0b44adc08c0be01a027eb009e9cdadc31e65a2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 18 14:47:59 2015 +0100 drm/i915: kerneldoc for i915_gem_shrinker.c so let's fix it. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 544d9b17f92d50132f47acd58f38992405298470 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:18 2015 +0100 netfilter: ip6_tables: ternary operator layout Correct whitespace layout of ternary operators in the netfilter-ipv6 code. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit f9527ea9b63ac861d5d992d24fdd63ee767e21db Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:17 2015 +0100 netfilter: ipv6: whitespace around operators This patch cleanses whitespace around arithmetical operators. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 7695495d5a838995befd59796772c5348125c92b Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:16 2015 +0100 netfilter: ipv6: code indentation Use tabs instead of spaces to indent code. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit cda219c6adb386687d64563671a5259ebf049d0e Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:15 2015 +0100 netfilter: ip6_tables: function definition layout Use tabs instead of spaces to indent second line of parameters in function definitions. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6ac94619b66de77b39dc628099ef3260870b6c77 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Oct 11 17:32:14 2015 +0100 netfilter: ip6_tables: label placement Whitespace cleansing: Labels should not be indented. No changes detected by objdiff. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 514ed62ed3f6846325d9bfb15cb5c3540547f13b Author: Florian Westphal <fw@xxxxxxxxx> Date: Thu Oct 8 23:38:07 2015 +0200 netfilter: sync with packet rx also after removing queue entries We need to sync packet rx again after flushing the queue entries. Otherwise, the following race could happen: cpu1: nf_unregister_hook(H) called, H unliked from lists, calls synchronize_net() to wait for packet rx completion. Problem is that while no new nf_queue_entry structs that use H can be allocated, another CPU might receive a verdict from userspace just before cpu1 calls nf_queue_nf_hook_drop to remove this entry: cpu2: receive verdict from userspace, lock queue cpu2: unlink nf_queue_entry struct E, which references H, from queue list cpu1: calls nf_queue_nf_hook_drop, blocks on queue spinlock cpu2: unlock queue cpu1: nf_queue_nf_hook_drop drops affected queue entries cpu2: call nf_reinject for E cpu1: kfree(H) cpu2: potential use-after-free for H Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Fixes: 085db2c04557 ("netfilter: Per network namespace netfilter hooks.") Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2791a16ca43302d07ac74cbe7c048e367c4632c4 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Oct 9 18:22:43 2015 -0300 drm/i915: revert a few more watermark commits This is a squash of the following commits: Revert "drm/i915: Drop intel_update_sprite_watermarks" This reverts commit 47c99438b52d12df50e182583634a4cfede3c920. Revert "drm/i915/ivb: Move WaCxSRDisabledForSpriteScaling w/a to atomic check" This reverts commit 7809e5ae35b9d8d0710f0874b2e3f10be144e38b. Revert "drm/i915/skl: Eliminate usage of pipe_wm_parameters from SKL-style WM (v3)" This reverts commit 3a05f5e2e78eab7ffe816abb59b6769e331a1957. With these reverts, SKL finally stops failing every single FBC test with FIFO underrun error messages. After some brief testing, it also seems that this commit prevents the machine from completely freezing when we run igt/kms_fbc_crc (see fd.o #92355). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92355 Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bbb300eb976b613a8e4e666d3af39f5ab1031d22 Merge: 4b91816 f409d0e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 13 04:58:04 2015 -0700 Merge branch 'bridge-vlan' Nikolay Aleksandrov says: ==================== bridge: vlan: cleanups & fixes (part 3) Patch 01 converts the vlgrp member to use rcu as it was already used in a similar way so better to make it official and use all the available RCU instrumentation. Patch 02 fixes a bug where the vlan_list can be traversed without rtnl or rcu held which could lead to using freed entries. Patch 03 removes some redundant code that isn't needed anymore. Patch 04 fixes a bug reported by Ido Schimmel about the vlan_flush order and switchdevs, it moves it back. v2: patch 03 and 04 are new, couldn't escape the second synchronize_rcu() since the rhtable destruction can sleep ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f409d0ed87d2721e1099ce36266e98c5aea2d486 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:47:05 2015 +0200 bridge: vlan: move back vlan_flush Ido Schimmel reported a problem with switchdev devices because of the order change of del_nbp operations, more specifically the move of nbp_vlan_flush() which deletes all vlans and frees vlgrp after the rx_handler has been unregistered. So in order to fix this move vlan_flush back where it was and make it destroy the rhtable after NULLing vlgrp and waiting a grace period to make sure noone can see it. Reported-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8d02c3cace37393bf9ff0a9eaa1ee39cda1d259 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:47:04 2015 +0200 bridge: vlan: drop unnecessary flush code As Ido Schimmel pointed out the vlan_vid_del() code in nbp_vlan_flush is unnecessary (and is actually a remnant of the old vlan code) so we can remove it. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9c953eff7f0ec69a52cfa87b912ab48902a0314 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:47:03 2015 +0200 bridge: vlan: use rcu for vlan_list traversal in br_fill_ifinfo br_fill_ifinfo is called by br_ifinfo_notify which can be called from many contexts with different locks held, sometimes it relies upon bridge's spinlock only which is a problem for the vlan code, so use explicitly rcu for that to avoid problems. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 907b1e6e83ed25d9dece1e55b704581b6c127051 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 21:47:02 2015 +0200 bridge: vlan: use proper rcu for the vlgrp member The bridge and port's vlgrp member is already used in RCU way, currently we rely on the fact that it cannot disappear while the port exists but that is error-prone and we might miss places with improper locking (either RCU or RTNL must be held to walk the vlan_list). So make it official and use RCU for vlgrp to catch offenders. Introduce proper vlgrp accessors and use them consistently throughout the code. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b918163aecdec1c5424dcc317907282c58838df Merge: af37939 ca25449 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 13 04:55:10 2015 -0700 Merge branch 'vrf-ipv6' David Ahern says: ==================== net: VRF support in IPv6 stack Initial support for VRF in IPv6 stack. Makes IPv6 functionality on par with IPv4 -- ping, tcp client/server and udp client/server all work fine. tcpdump on vrf device and external tap (e.g., host side tap device) shows all packets with proper addresses. IPv6 does not need the source address operation like IPv4. Verified vti6 works properly in my setup as does use of an IPv6 address on the VRF device. v3 - re-based to top of net-next (updates per net namespace changes by Eric) - fixed dst_entry typecasts as requested by Dave - added flags to inet6_rtm_getroute (IPv6 version of deaa0a6a930e) v2 - fixed CONFIG_IPV6 dependency as questioned by Cong - if IPV6 is a module, kbuild ensures VRF is a module - if IPV6 is disabled IPV6 functionality is compiled out of VRF module - addressed comments from Nik over IRC - removed duplicate call to netif_is_l3_master in l3mdev_rt6_dst_by_oif - changed allocation flag from GFP_ATOMIC to GFP_KERNEL since it is init time - added free of rt6i_pcpu - check_ipv6_frame returns false only if packet is NDISC type ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca254490c8dfdaddb5df8a763774db0f4c5200c3 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:47:10 2015 -0700 net: Add VRF support to IPv6 stack As with IPv4 support for VRFs added to IPv6 stack by replacing hardcoded table ids with possibly device specific ones and manipulating the oif in the flowi6. The flow flags are used to skip oif compare in nexthop lookups if the device is enslaved to a VRF via the L3 master device. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35402e31366349a32b505afdfe856aeeb8d939a0 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:47:09 2015 -0700 net: Add IPv6 support to VRF device Add support for IPv6 to VRF device driver. Implemenation parallels what has been done for IPv4. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4850687783717fa854554965c4bc85625d0e4a8 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:47:08 2015 -0700 net: Export fib6_get_table and nd_tbl Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ccf3c8c3fe1bd4828556650ae7928da6ffb4aaf6 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 11:47:07 2015 -0700 net: Add IPv6 support to l3mdev Add operations to retrieve cached IPv6 dst entry from l3mdev device and lookup IPv6 source address. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60fb33afb93a85e6ca5804397a9dc6f6907fa58f Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Tue Sep 22 13:08:15 2015 +1000 scripts/tags.sh: Teach tags about some powerpc macros The IO accessors on powerpc are generated using macro fu, ie. out_be32() etc. Also there are some debugger related symbols that are macro generated. Teach scripts/tags.sh about both. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit af3793921d49a772ec1079449219bad4baa0bc96 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 17:55:55 2015 +0200 bridge: fix gc_timer mod/del race condition commit c62987bbd8a1 ("bridge: push bridge setting ageing_time down to switchdev") introduced a timer race condition because the gc_timer can get rearmed after it's supposedly stopped and flushed in br_dev_delete() leading to a use of freed memory. So take rtnl to sync with bridge destruction when setting ageing_timer. Here's the trace reproduced with these two commands running in parallel: while :; do echo 10000 > /sys/class/net/br0/bridge/ageing_timer; done; while :; do brctl addbr br0; ip l set br0 up; ip l set br0 down; brctl delbr br0; done; [ 300.000029] BUG: unable to handle kernel paging request at ffffffff811c59d3 [ 300.000263] IP: [<ffffffff810f168e>] __internal_add_timer+0x2e/0xd0 [ 300.000422] PGD 1a0f067 PUD 1a10063 PMD 10001e1 [ 300.000639] Oops: 0003 [#1] SMP [ 300.000793] Modules linked in: bridge stp llc nfsd auth_rpcgss oid_registry nfs_acl nfs lockd grace fscache sunrpc crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel ppdev aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd snd_hda_codec_generic qxl drm_kms_helper psmouse pcspkr ttm snd_hda_intel 9pnet_virtio evdev serio_raw joydev snd_hda_codec 9pnet virtio_balloon drm snd_hwdep virtio_console snd_hda_core pvpanic snd_pcm i2c_piix4 snd_timer acpi_cpufreq parport_pc snd parport soundcore button processor i2c_core ipv6 autofs4 hid_generic usbhid hid ext4 crc16 mbcache jbd2 sg sr_mod cdrom ata_generic virtio_blk virtio_net e1000 ehci_pci uhci_hcd ehci_hcd usbcore usb_common floppy ata_piix libata virtio_pci virtio_ring virtio scsi_mod [ 300.004008] CPU: 1 PID: 1169 Comm: bash Not tainted 4.3.0-rc3+ #46 [ 300.004008] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 300.004008] task: ffff880035be2200 ti: ffff88003795c000 task.ti: ffff88003795c000 [ 300.004008] RIP: 0010:[<ffffffff810f168e>] [<ffffffff810f168e>] __internal_add_timer+0x2e/0xd0 [ 300.004008] RSP: 0018:ffff88003fd03e78 EFLAGS: 00010046 [ 300.004008] RAX: ffff88003fd0ef60 RBX: 840fc78949c08548 RCX: 00000001ffffffff [ 300.004008] RDX: 0000000000000000 RSI: ffffffff811c59d3 RDI: ffff88003fd0df00 [ 300.004008] RBP: ffff88003fd03e78 R08: 00000000ffffffff R09: 0000000000000000 [ 300.004008] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88003fd0df00 [ 300.004008] R13: 0000000000000000 R14: 0000000000000001 R15: ffffffff816032e0 [ 300.004008] FS: 00007fcbdd609700(0000) GS:ffff88003fd00000(0000) knlGS:0000000000000000 [ 300.004008] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 300.004008] CR2: ffffffff811c59d3 CR3: 0000000037879000 CR4: 00000000000406e0 [ 300.004008] Stack: [ 300.004008] ffff88003fd03ea8 ffffffff810f1775 ffff88003c8cb958 ffff88003fd0df00 [ 300.004008] 0000000000000000 0000000000000001 ffff88003fd03f18 ffffffff810f28c4 [ 300.004008] ffff88003fd0eb68 ffff88003fd0e968 ffff88003fd0e768 ffff88003fd0df68 [ 300.004008] Call Trace: [ 300.004008] <IRQ> [ 300.004008] [<ffffffff810f1775>] cascade+0x45/0x70 [ 300.004008] [<ffffffff810f28c4>] run_timer_softirq+0x2f4/0x340 [ 300.004008] [<ffffffff8107e380>] __do_softirq+0xd0/0x440 [ 300.004008] [<ffffffff8107e8a3>] irq_exit+0xb3/0xc0 [ 300.004008] [<ffffffff815c2032>] smp_apic_timer_interrupt+0x42/0x50 [ 300.004008] [<ffffffff815bfe37>] apic_timer_interrupt+0x87/0x90 [ 300.004008] <EOI> [ 300.004008] [<ffffffff811fb80c>] ? create_object+0x13c/0x2e0 [ 300.004008] [<ffffffff8109b23e>] ? __kernel_text_address+0x4e/0x70 [ 300.004008] [<ffffffff8109b23e>] ? __kernel_text_address+0x4e/0x70 [ 300.004008] [<ffffffff8101e17f>] print_context_stack+0x7f/0xf0 [ 300.004008] [<ffffffff8101d55b>] dump_trace+0x11b/0x300 [ 300.004008] [<ffffffff8102970b>] save_stack_trace+0x2b/0x50 [ 300.004008] [<ffffffff811fb80c>] create_object+0x13c/0x2e0 [ 300.004008] [<ffffffff815b2e8e>] kmemleak_alloc+0x4e/0xb0 [ 300.004008] [<ffffffff811e475d>] kmem_cache_alloc_trace+0x18d/0x2f0 [ 300.004008] [<ffffffff8128b139>] kernfs_fop_open+0xc9/0x380 [ 300.004008] [<ffffffff8120214f>] do_dentry_open+0x1ff/0x2f0 [ 300.004008] [<ffffffff8128b070>] ? kernfs_fop_release+0x70/0x70 [ 300.004008] [<ffffffff812034f9>] vfs_open+0x59/0x60 [ 300.004008] [<ffffffff812130de>] path_openat+0x1ce/0x1260 [ 300.004008] [<ffffffff812154ae>] do_filp_open+0x7e/0xe0 [ 300.004008] [<ffffffff812251ff>] ? __alloc_fd+0xaf/0x180 [ 300.004008] [<ffffffff8120387b>] do_sys_open+0x12b/0x210 [ 300.004008] [<ffffffff8120397e>] SyS_open+0x1e/0x20 [ 300.004008] [<ffffffff815bf0b6>] entry_SYSCALL_64_fastpath+0x16/0x7a [ 300.004008] Code: 66 90 48 8b 46 10 48 8b 4f 40 55 48 89 c2 48 89 e5 48 29 ca 48 81 fa ff 00 00 00 77 20 0f b6 c0 48 8d 44 c7 68 48 8b 10 48 85 d2 <48> 89 16 74 04 48 89 72 08 48 89 30 48 89 46 08 5d c3 48 81 fa [ 300.004008] RIP [<ffffffff810f168e>] __internal_add_timer+0x2e/0xd0 [ 300.004008] RSP <ffff88003fd03e78> [ 300.004008] CR2: ffffffff811c59d3 Fixes: c62987bbd8a1 ("bridge: push bridge setting ageing_time down to switchdev") Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc02aa8e41c50f690d0bb22ed5629468483421b7 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 14:01:39 2015 +0200 switchdev: enforce no pvid flag in vlan ranges We shouldn't allow BRIDGE_VLAN_INFO_PVID flag in VLAN ranges. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Elad Raz <eladr@xxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f83665d0c41f3e24602f7dd03003574f852b326f Merge: 241b271 5fe7f68 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 13 04:26:44 2015 -0700 Merge branch 'dsa-mv88e6xxx-fix-hardware-bridging' Vivien Didelot says: ==================== net: dsa: mv88e6xxx: fix hardware bridging DSA and its drivers currently hook the NETDEV_CHANGEUPPER net_device event in order to configure the VLAN map of every port. This VLAN map is a feature of these switch chips to hardcode and restrict which output ports a given input port can egress frames to. A Linux bridge is a simple untagged VLAN propagated by the bridge code itself. With a proper 802.1Q support, a driver does not need this hook anymore, and will simply program the related VLAN object. This patchset improves the hardware bridging code in the mv88e6xxx driver with a strict 802.1Q mode. Ideally, the equivalent must be done for Broadcom Starfighter 2 and Rocker, before completely getting rid of this hook. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5fe7f68016ff9dcb59632071f9abf30296bbad3c Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 11 18:08:38 2015 -0400 net: dsa: mv88e6xxx: fix hardware bridging Playing with the VLAN map of every port to implement "hardware bridging" in the 88E6352 driver was a hack until full 802.1Q was supported. Indeed with 802.1Q port mode "Disabled" or "Fallback", this feature is used to restrict which output ports an input port can egress frames to. A Linux bridge is an untagged VLAN. With full 802.1Q support, we don't need this hack anymore and can use the "Secure" strict 802.1Q port mode. With this mode, the port-based VLAN map still needs to be configured, but all the logic is VTU-centric. This means that the switch only cares about rules described in its hardware VLAN table, which is exactly what Linux bridge expects and what we want. Note also that the hardware bridging was broken with the previous flexible "Fallback" 802.1Q port mode. Here's an example: Port0 and Port1 belong to the same bridge. If Port0 sends crafted tagged frames with VID 200 to Port1, Port1 receives it. Even if Port1 is in hardware VLAN 200, but not Port0, Port1 will still receive it, because Fallback mode doesn't care about invalid VID or non-member source port. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efd29b3d8266761570fd3f440e2d5aa24c678725 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 11 18:08:37 2015 -0400 net: dsa: do not warn unsupported bridge ops A DSA driver may not provide the port_join_bridge and port_leave_bridge functions, so don't warn in such case. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f02bdffca29bc41e440ac67ffd47b56834d3bf85 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 11 18:08:36 2015 -0400 net: dsa: mv88e6xxx: do not support per-port FID Since we configure a switch chip through a Linux bridge, and a bridge is implemented as a VLAN, there is no need for per-port FID anymore. This patch gets rid of this and simplifies the driver code since we can now directly map all 4095 FIDs available to all VLANs. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ede8098d0fef46ae48e59fcf7088149ca424d959 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 11 18:08:35 2015 -0400 net: dsa: mv88e6xxx: bridges do not need an FID With 88E6352 and similar switch chips, each port has a map to restrict which output port this input port can egress frames to. The current driver code implements hardware bridging using this feature, and assigns to a bridge group the FID of its first member. Now that 802.1Q is fully implemented in this driver, a Linux bridge which is a simple untagged VLAN, already gets its own FID. This patch gets rid of the per-bridge FID and explicits the usage of the port based VLAN map feature. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 241b271952eb319622a6cc740a72abe41fc27ad6 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Sun Oct 11 16:49:44 2015 -0400 RDS-TCP: Reset tcp callbacks if re-using an outgoing socket in rds_tcp_accept_one() Consider the following "duelling syn" sequence between two peers A and B: A B SYN1 --> <-- SYN2 SYN2ACK --> Note that the SYN/ACK has already been sent out by TCP before rds_tcp_accept_one() gets invoked as part of callbacks. If the inet_addr(A) is numerically less than inet_addr(B), the arbitration scheme in rds_tcp_accept_one() will prefer the TCP connection triggered by SYN1, and will send a CLOSE for the SYN2 (just after the SYN2ACK was sent). Since B also follows the same arbitration scheme, it will send the SYN-ACK for SYN1 that will set up a healthy ESTABLISHED connection on both sides. B will also get a CLOSE for SYN2, which should result in the cleanup of the TCP state machine for SYN2, but it should not trigger any stale RDS-TCP callbacks (such as ->writespace, ->state_change etc), that would disrupt the progress of the SYN2 based RDS-TCP connection. Thus the arbitration scheme in rds_tcp_accept_one() should restore rds_tcp callbacks for the winner before setting them up for the new accept socket, and also make sure that conn->c_outgoing is set to 0 so that we do not trigger any reconnect attempts on the passive side of the tcp socket in the future, in conformance with commit c82ac7e69efe ("net/rds: RDS-TCP: only initiate reconnect attempt on outgoing TCP socket.") Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 486798001b92eacbf9f809787a6348750c174035 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Sun Oct 11 16:46:03 2015 -0400 RDS: Invoke ->laddr_check() in rds_bind() for explicitly bound transports. The IP address passed to rds_bind() should be vetted by the transport's ->laddr_check() for a previously bound transport. This needs to be done to avoid cases where, for example, the application has asked for an IB transport, but the IP address passed to bind is only usable on ethernet interfaces. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ded1749371db498233b7e8a73f51a1759494bcd1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:46 2015 +0300 drm/i915: Remove dev_priv argument from NEEDS_FORCE_WAKE Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d0669d007542d7f4829a6a3db50297a4b940fb54 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:45 2015 +0300 drm/i915: Clean up LVDS register handling Keep single 'lvds_reg' and 'lvds' variable around in intel_lvds_init(), and read it just once at the start. Also intel_lvds_get_config() doesn't need to figure out which reg to use since it can just consult lvds_encoder->reg. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 649636ef8274cb7bca10fceef2dca1e0813d8cef Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 22 19:50:01 2015 +0300 drm/i915: Throw out some useless variables Drop some useless 'reg' variables when we only use them once. v2: A few more, including a few variable moves Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 85fa792beee342598f24cede8f0cc45eb741f469 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:43 2015 +0300 drm/i915: Parametrize and fix SWF registers Parametrize the SWF registers. This also fixes the register offsets, which were mostly garbage in the old defines. Also save/restore only as many SWF registers that each platform has. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fd8f507c0de97c3cff39c2e905ad92f15debbdcf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:42 2015 +0300 drm/i915: s/PIPE_FRMCOUNT_GM45/PIPE_FRMCOUNT_G4X/ etc. The PIPE_FRMCOUNT_GM45 and PIPE_FLIPCOUNT_GM45 names have bothered me for a long time. The work equally well for ELK and onwards, so let's s/GM45/G4X/. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b51a284278c634c675fa22e26e9e9b97dec4518a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:41 2015 +0300 drm/i915: Turn GEN5_ASSERT_IIR_IS_ZERO() into a function Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 395b2913e36ffb6a09057ea0b069113960dd3a06 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:40 2015 +0300 drm/i915: Fix a few bad hex numbers in register defines A few register mask defines were missing the '0x' from hex numbers. Or at least I assume those were meant to be hex numbers. Put the '0x' in place. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 571f2c11b343cd6997f35a21f6caa0f78e87fc84 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 11 13:48:05 2015 +0200 qlcnic: constify qlcnic_mbx_ops structure The only instance of a qlcnic_mbx_ops structure is never modified. Thus the declaration of the structure and all references to the structure type can be made const. In the definition of the qlcnic_mailbox structure, the ops field is no longer lined up with the other fields. This was left as is, to avoid a lot of trivial changes on the other lines. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Acked-by: Sony Chacko <sony.chacko@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68d9753837db0e45dadd16a312d479adf3170b2c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:39 2015 +0300 drm/i915: Protect register macro arguments Always put parens around macro argument evaluations. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 699fc401da1c9cc8c6bda578ca3d6310924276a2 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:38 2015 +0300 drm/i915: Include gpio_mmio_base in GMBUS reg defines Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 436c6d4a145b63621cd40d81231b39d22ae84292 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:37 2015 +0300 drm/i915: Parametrize HSW video DIP data registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 03999f0436325106ae4c6ca18646c68e5acc7f1b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Oct 12 19:41:08 2015 +0300 drm/i915: Eliminate weird parameter inversion from BXT PPS registers v2: Keep using the same registers (PCH_*) instead of accidentally starting to use the other ones (BXT_*)2) (Jesse) Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6042639c4c7f9e8a0c634245f034eb94827591a8 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 10:44:32 2015 +0100 drm/i915: Hold dev->event_lock whilst inspecting intel_crtc->unpin_work We should serialise access to the intel_crtc->unpin_work through the dev->event_lock spinlock. It should not be possible for it to disappear without severe error as the mmio_flip worker has not tagged the unpin_work pending flip-completion. Similarly if the error exists, just taking the unpin_work whilst holding the spinlock and then using it unserialised just masks the race. (It is supposed to be valid as the unpin_work exists until the flip completion interrupt which should not fire until we flush the mmio writes to update the display base which is the last time we access the unpin_work from the kthread.) References: https://bugs.freedesktop.org/show_bug.cgi?id=92335 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d7f833fd182c989a7f0d2861a68acbee99865cf Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:31 2015 +0100 mfd: da9150: Use DEFINE_RES_IRQ_NAMED() help macro for IRQ resource Suggested-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 45b1737982fc2de97cf6ca9e6b1c14cef70f0c5c Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:26 2015 +0100 mfd: da9150: Use relative paths in DT bindings document When referencing other DT bindings documentation, use relative path rather than absolute. Suggested-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4e2d9460e24efccd667f0ee9ba3955b5a09ca4df Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:21 2015 +0100 power: da9150: Add DT bindings documentation for Fuel-Gauge Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Acked-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a419b4fd9138c6cd5049d14813e7d94e596e4540 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:16 2015 +0100 power: Add support for DA9150 Fuel-Gauge This adds power supply driver support for the Fuel-Gauge part of the DA9150 combined Charger and Fuel-Gauge device. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Acked-by: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit daaab943260fbfce27b0e86d44a2826cea60a4fd Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:12 2015 +0100 mfd: da9150: Update DT bindings for Fuel-Gauge support Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 1ac710e08a86e4723286873db73edb2a6e99f591 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:54:08 2015 +0100 mfd: da9150: Add support for Fuel-Gauge Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7ceebfe46ec026b5405416b72772ac5aa9e09e84 Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Oct 9 13:10:37 2015 +0200 netfilter: nfqueue: don't use prev pointer Usage of -prev seems buggy. While packet was out our hook cannot be removed but we have no way to know if the previous one is still valid. So better not use ->prev at all. Since NF_REPEAT just asks to invoke same hook function again, just do so, and continue with nf_interate if we get an ACCEPT verdict. A side effect of this change is that if nf_reinject(NF_REPEAT) causes another REPEAT we will now drop the skb instead of a kernel loop. However, NF_REPEAT loops would be a bug so this should not happen anyway. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ab30965d9bfcd04931f9b70d00faa2ea614835a8 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Sun Oct 11 20:54:51 2015 +0200 ALSA: usb-audio: Fix max packet size calculation for USB audio Rounding must take place before multiplication with the frame size, since each packet contains a whole number of frames. We must also properly consider the data interval, as a larger data interval will result in larger packets, which, depending on the sampling frequency, can result in packet sizes that are less than integral multiples of the packet size for a lower data interval. Detailed explanation and rationale: The code before this commit had the following expression on line 613 to calculate the maximum isochronous packet size: maxsize = ((ep->freqmax + 0xffff) * (frame_bits >> 3)) >> (16 - ep->datainterval); Here, ep->freqmax is the maximum assumed sample frequency, calculated from the nominal sample frequency plus 25%. It is ultimately derived from ep->freqn, which is in the units of frames per packet, from get_usb_full_speed_rate() or usb_high_speed_rate(), as applicable, in Q16.16 format. The expression essentially adds the Q16.16 equivalent of 0.999... (i.e. the largest number less than one) to the sample rate, in order to get a rate whose integer part is rounded up from the fractional value. The multiplication with (frame_bits >> 3) yields the number of bytes in a packet, and the (16 >> ep->datainterval) then converts it from Q16.16 back to an integer, taking into consideration the bDataInterval field of the endpoint descriptor (which describes how often isochronous packets are transmitted relative to the (micro)frame rate (125us or 1ms, for USB high speed and full speed, respectively)). For this discussion we will initially assume a bDataInterval of 0, so the second line of the expression just converts the Q16.16 value to an integer. In order to illustrate the problem, we will set frame_bits 64, which corresponds to a frame size of 8 bytes. The problem here is twofold. First, the rounding operation consists of the addition of 0x0.ffff and subsequent conversion to integer, but as the expression stands, the conversion to integer is done after multiplication with the frame size, rather than before. This results in the resulting maxsize becoming too large. Let's take an example. We have a sample rate of 96 kHz, so our ep->freqn is 0xc0000 (see usb_high_speed_rate()). Add 25% (line 612) and we get 0xf0000. The calculated maxsize is then ((0xf0000 + 0x0ffff) * 8) >> 16 = 127 . However, if we do the number of bytes calculation in a less obscure way it's more apparent what the true corresponding packet size is: we get ceil(96000 * 1.25 / 8000) * 8 = 120, where 1.25 is the 25% from line 612, and the 8000 is the number of isochronous packets per second on a high speed USB connection (125 us microframe interval). This is fixed by performing the complete rounding operation prior to multiplication with the frame rate. The second problem is that when considering the ep->datainterval, this must be done before rounding, in order to take the advantage of the fact that if the number of bytes per packet is not an integer, the resulting rounded-up integer is not necessarily a factor of two when the data interval is increased by the same factor. For instance, assuming a freqency of 41 kHz, the resulting bytes-per-packet value for USB high speed is 41 kHz / 8000 = 5.125, or 0x52000 in Q16.16 format. With a data interval of 1 (ep->datainterval = 0), this means that 6 frames per packet are needed, whereas with a data interval of 2 we need 10.25, i.e. 11 frames needed. Rephrasing the maxsize expression to: maxsize = (((ep->freqmax << ep->datainterval) + 0xffff) >> 16) * (frame_bits >> 3); for the above 96 kHz example we instead get ((0xf0000 + 0xffff) >> 16) * 8 = 120 which is the correct value. We can also do the calculation with a non-integer sample rate which is when rounding comes into effect: say we have 44.1 kHz (resulting ep->freqn = 0x58333, and resulting ep->freqmax 0x58333 * 1.25 = 0x6e3ff (rounded down)): Original maxsize = ((0x6e3ff + 0xffff) * 8) << 16 = 63 (63.124.. rounded down) True maxsize = ceil(44100 * 1.25 / 8000) * 8 = 7 * 8 = 56 New maxsize = ((0x6e3ff + 0xffff) >> 16) * 8 = 7 * 8 = 56 This is also corroborated by the wMaxPacketSize check on line 616. Assume that wMaxPacketSize = 104, with ep->maxpacksize then having the same value. As 104 < 127, we get maxsize = 104. ep->freqmax is then recalculated to (104 / 8) << 16 = 0xd0000 . Putting that rate into the original maxsize calculation yields a maxsize of ((0xd0000 + 0xffff) * 8) >> 16 = 111 (with decimals 111.99988). Clearly, we should get back the 104 here, which we would with the new expression: ((0xd0000 + 0xffff) >> 16) * 8 = 104 . (The error has not been a problem because it only results in maxsize being a bit too big which just wastes a couple of bytes, either as a result of the first maxsize calculation, or because the resulting calculation will hit the wMaxPacketSize value before the packet is too big, resulting in fixing the size to wMaxPacketSize even though the packet is actually not too long.) Tested with an Edirol UA-5 both at 44.1 kHz and 96 kHz. Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3c69ea44406bf27b6f2e9b2f11238c344fd8374d Merge: 53b3ffe e8d65a8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 13 11:37:06 2015 +0200 Merge branch 'for-linus' into for-next commit 61f6bba006d4e643fdff62c3d7fd4ea6ca4f468d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Oct 13 11:36:21 2015 +0200 mac80211: use new cfg80211_inform_bss_frame_data() API The new API is more easily extensible with a metadata struct passed to it, use it in mac80211. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e8d65a8d985271a102f07c7456da5b86c19ffe16 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Oct 13 10:10:18 2015 +0200 ALSA: hda - Fix inverted internal mic on Lenovo G50-80 Add the appropriate quirk to indicate the Lenovo G50-80 has a stereo mic input where one channel has reverse polarity. Alsa-info available at: https://launchpadlibrarian.net/220846272/AlsaInfo.txt Cc: stable@xxxxxxxxxxxxxxx BugLink: https://bugs.launchpad.net/bugs/1504778 Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 42f2bb1c494543084b764e1ca253c73db910daf2 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Oct 13 14:57:49 2015 +0530 ALSA: hdac: Explicitly add io.h Compiling the hdac extended core on arm fails with below error: sound/hda/ext/hdac_ext_bus.c: In function 'hdac_ext_writel': >> sound/hda/ext/hdac_ext_bus.c:29:2: error: implicit declaration of >> function +'writel' [-Werror=implicit-function-declaration] writel(value, addr); ^ sound/hda/ext/hdac_ext_bus.c: In function 'hdac_ext_readl': >> sound/hda/ext/hdac_ext_bus.c:34:2: error: implicit declaration of >> function +'readl' [-Werror=implicit-function-declaration] return readl(addr); This is fixed by explicitly including io.h Fixes: 99463b3a3994 - ('ALSA: hda: provide default bus io ops extended hdac') Reported-by: kbuild test robot <lkp@xxxxxxxxx> Suggested-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fea37552600872368a23019aef4bf8c09e0f0380 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:18 2015 +0200 ARM: dts: rockchip: Add SPDIF optical out on Radxa Rock2 Square Enable the SPDIF optical output on Radxa Rock2 square boards Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 874e568e500aeed7d54820c21f3854f3ffa1f59d Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:17 2015 +0200 ARM: dts: rockchip: Add SPDIF transceiver for RK3288 Add the SPDIF transceiver controller definition and pin setup for RK3288 SoCs Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit d97e862ef6ae3f46465f00f9bf043c0df125b899 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:15 2015 +0200 ARM: dts: rockchip: Add SPDIF optical out on Radxa Rock This enables the SPDIF optical audio output on the Radxa Rock Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 39b37ce2e308846550339adf101bf85c04f25eec Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:14 2015 +0200 ARM: dts: rockchip: Add SPDIF transceiver for RK3188 Add the SPDIF transceiver controller and pin for RK3188 Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e2845c458ea27e924b0f2cbd647ba43e810305a5 Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Mon Oct 12 09:51:35 2015 +0300 mac80211: Do not restart scheduled scan if multiple scan plans are set If multiple scan plans were set for scheduled scan, do not restart scheduled scan on reconfig because it is possible that some scan plans were already completed and there is no need to run them all over again. Instead, notify userspace that scheduled scan stopped so it can configure new scan plans for scheduled scan. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3b06d277957c7af705a9c0cdda4b371759efb717 Author: Avraham Stern <avraham.stern@xxxxxxxxx> Date: Mon Oct 12 09:51:34 2015 +0300 cfg80211: Add multiple scan plans for scheduled scan Add the option to configure multiple 'scan plans' for scheduled scan. Each 'scan plan' defines the number of scan cycles and the interval between scans. The scan plans are executed in the order they were configured. The last scan plan will always run infinitely and thus defines only the interval between scans. The maximum number of scan plans supported by the device and the maximum number of iterations in a single scan plan are advertised to userspace so it can configure the scan plans appropriately. When scheduled scan results are received there is no way to know which scan plan is being currently executed, so there is no way to know when the next scan iteration will start. This is not a problem, however. The scan start timestamp is only used for flushing old scan results, and there is no difference between flushing all results received until the end of the previous iteration or the start of the current one, since no results will be received in between. Signed-off-by: Avraham Stern <avraham.stern@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit af61426187cd854bffe013ca8547bd8fa3c4dfbf Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 7 15:48:26 2015 +0200 wireless: add WNM action frame categories Add the WNM and unprotected WNM categories and mark the latter as not robust. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a4288289f585d42a19145f266e214acb165fe9b3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Oct 7 15:48:25 2015 +0200 wireless: update robust action frame list Unprotected DMG and VHT action frames are not protected, reflect that in the list. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6e19bc4b7091ffd26586100eee78232b44427ec7 Author: Dmitry Shmidt <dimitrysh@xxxxxxxxxx> Date: Wed Oct 7 11:32:53 2015 +0200 nl80211: allow BSS data to include CLOCK_BOOTTIME timestamp For location and connectivity services, userspace would often like to know the time when the BSS was last seen. The current "last seen" value is calculated in a way that makes it less useful, especially if the system suspended in the meantime. Add the ability for the driver to report a real CLOCK_BOOTTIME stamp that can then be reported to userspace (if present). Drivers wishing to use this must be converted to the new API to call cfg80211_inform_bss_data() or cfg80211_inform_bss_frame_data(). They need to ensure the reported value is accurate enough even when the frame might have been buffered in the device (e.g. firmware.) Signed-off-by: Dmitry Shmidt <dimitrysh@xxxxxxxxxx> [modified to use struct, inlines] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 93f0490e5deb9445737cabf0e436f3288a4042b7 Author: Tamizh chelvam <c_traja@xxxxxxxxxxxxxxxx> Date: Wed Oct 7 10:40:04 2015 +0530 Revert "mac80211: remove exposing 'mfp' to drivers" This reverts commit 5c48f1201744233d4f235c7dd916d5196ed20716. Some device drivers (ath10k) offload part of aggregation including AddBA/DelBA negotiations to firmware. In such scenario, the PMF configuration of the station needs to be provided to driver to enable encryption of AddBA/DelBA action frames. Signed-off-by: Tamizh chelvam <c_traja@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 985f2c87a7109a42cac93f56ea595353d53a1746 Merge: 4d57c67 6623c60 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Oct 13 10:28:16 2015 +0200 Merge remote-tracking branch 'net-next/master' into mac80211-next Merge net-next to get some driver changes that patches depend on (in order to avoid conflicts). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 115719fceaa733d646e39cdce83cc32ddb891a49 Author: Williams, Dan J <dan.j.williams@xxxxxxxxx> Date: Mon Oct 12 21:12:57 2015 +0000 i915: switch from acpi_os_ioremap to memremap i915 expects the OpRegion to be cached (i.e. not __iomem), so explicitly map it with memremap rather than the implied cache setting of acpi_os_ioremap(). Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: David Airlie <airlied@xxxxxxxx> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit adfb46721e4a4ef373dee8b773b424c40a176fc2 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Mon Oct 12 10:57:43 2015 +0200 drm/i915: Drop unnecessary #include <linux/vga_switcheroo.h> Commit 599bbb9de0fe ("drm/i915: i915 cannot provide switcher services.") removed all remaining vga_switcheroo symbols from intel_acpi.c but left the include. Drop it. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8f25f6680a8df64409a1fd8bddfe7848ee7c7e0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:53:49 2015 -0700 staging: comedi: adq12b: usleep_range is preferred over udelay Fix checkpatch.pl issue: CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt Replace the udelay() 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 b4fa9199caed382466d7c3e9c8298365baa0d898 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:53:48 2015 -0700 staging: comedi: adq12b: prefer using the BIT macro As suggested by checkpatch.pl, 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 3eb25177b616f1baabdee167e40b577ef8387297 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:53:47 2015 -0700 staging: comedi: adq12b: tidy up multi-line comments Reformat the multi-line comments in the kernel CodingStyle. And refactor them to follow the normal format for comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e81ca3de4ea65822823c082909cabbc68c723586 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:29 2015 -0700 staging: comedi: dt3000: update the MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more ueeful than the generic "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 cb3a6194e18eccc928f0973d6b95c8d27472beb8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:28 2015 -0700 staging: comedi: dt3000: remove #if 0'ed out code Replace the disabled code in dt3k_dio_config() with a comment in case it's actually needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 649c836ea37d30fe5e7c6548ffd22eacec9a29e7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:27 2015 -0700 staging: comedi: dt3000: tidy up memory subdevice init Remove the unnecessary 'len_chanlist' initialization. This member is only used by subdevices that support async commands. For aesthetics, reorder the initialization 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 3a7b06f73296684426db4a44429a8376b0dd729d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:26 2015 -0700 staging: comedi: dt3000: tidy up digital i/o subdevice init Remove the unnecessary 'len_chanlist' initialization. This member is only used by subdevices that support async commands. For aesthetics, reorder the initialization 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 2e310235ca8f26efdeb150a10855ad8c1e886dad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:25 2015 -0700 staging: comedi: dt3000: rename dt3k_ai_insn() For aesthetics, rename this subdevice (*insn_read) function to follow the normal naming in comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78c2f455e2efcb079f719e328133b40ee9110e6c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:24 2015 -0700 staging: comedi: dt3000: the dt3002 board does not have analog outputs According to the boardinfo, the dt3002 board does not have analog outputs. The rest of the board have two 12-bit analog output channels. Replace the 'dachan' and 'dabits' members of the boardinfo with a bit- field flag 'has_ao'. Use the new member to conditionally initialize the analog output subdevice. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91644956fd539968c530f7f1cbb4e65887e1f7a3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:23 2015 -0700 staging: comedi: dt3000: refactor 'adbits' boardinfo All the board supported by this driver have analog inputs. The input resolution is either 12-bit or 16-bit. Replace the 'adbits' member of the boardinfo with a bit-field flag 'ai_is_16bits' and just set if for the 16-bit boards. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2943de6ad54b4a4ecb066f2f8df7c7db0d4c8a99 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:22 2015 -0700 staging: comedi: dt3000: remove proc subdevice This subdevice is not allocated or defined in the driver. Remove the disabled 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 3d5df65076eec71c0a1eb829f176f6e9652fd149 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:21 2015 -0700 staging: comedi: dt3000: tidy up remaining defines Move the remaining defines and prefix them with 'DPR_' for consistency. Define a macro to set the analog input trigger bits to fix the checkpatch.pl issues about: CHECK: spaces preferred around that '<<' (ctx:VxV) CHECK: Prefer using 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 2ce1514c9dbb213061912a60e9624ac0e21e9c74 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:20 2015 -0700 staging: comedi: dt3000: rename the interrupt flag defines For aesthetics, rename these defines so they have association with the register. Move them closer to the register define and use the BIT macro to define them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f17915c2806e0fb081456f1218c1c1b65a57b19 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:19 2015 -0700 staging: comedi: dt3000: rename the SUBS_* defines For aesthetics, rename these defines to avoid any confusion with the similar comedi defines. Move them closer to the register they are associated with. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6520a8619760a45dd2f7b9c1f8d5503a4cc8d29 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:18 2015 -0700 staging: comedi: dt3000: tidy up the command mailbox defines For aesthetics, rename these defines so they are associated with the register. Move the defines closer to the register define. Define some macros for the "completion" and "cmd" bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6366dd4a77e42bc26f0117ff9720d0a2f6882a9e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:17 2015 -0700 staging: comedi: dt3000: rename dual-ported RAM location defines Rename these CamelCase defines and fix the checkpatch.pl issues: CHECK: Avoid CamelCase: <DPR_{various}> CHECK: spaces preferred around that '*' (ctx:VxV) CHECK: spaces preferred around that '+' (ctx:VxV) For aesthetics, move the defines to after the includes. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d9052927ec44b089f406d58538910422e31ee60 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:48:16 2015 -0700 staging: comedi: dt3000: tidy up multi-line comments Reformat 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 eb12dfc93a0e3021fc61959b6887dfe68daa8234 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:09:35 2015 -0700 staging: comedi: adl_pci9118: rename Compute_and_setup_dma() Rename this CamelCase function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7db6ed68cae2c5b24d2a41a085c42f092efc3c93 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:09:34 2015 -0700 staging: comedi: adl_pci9118: prefer using the BIT macro As suggested by checkpatch.pl, 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 bb7085b1fbc7eee6d254fe978bd00ffcfe959bf6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:47:45 2015 -0700 staging: comedi: addi_apci_2032: document the spinlock_t definition Add some comments to the private data tp quiet the checkpatch.pl issue about: CHECK: spinlock_t definition without comment Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc413f7ad166fcb1f88699616bb2654f42ad72ad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:47:44 2015 -0700 staging: comedi: addi_apci_2032: prefer using the BIT macro As suggested by checkpatch.pl, 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 bb46c4ec04543d8e5a2572e8494aeaca2aa626b3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:30:45 2015 -0700 staging: comedi: ii_pci20kc: update the MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "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 d172b63a5570f8e0c8de859d04aada7514cdedea Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:30:44 2015 -0700 staging: comedi: ii_pci20kc: use comedi_offset_munge() For aesthetics, use the helper function to handle the munging of the analog output data from offset binary to 2's complement and the analog input data from 2's complement 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 c98f4011ebd41ab9ff15e1c52acc446e1ee7e191 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:30:43 2015 -0700 staging: comedi: ii_pci20kc: prefer using the BIT macro As suggested by checkpatch.pl, 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 5050b1353903f71ab81462458100e2927e904d66 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 15:58:44 2015 -0700 staging: comedi: dt9812: reword comments to fix checkpatch.pl issues Reword the block comments to fix the checkpatch.pl issues about: WARNING: Block comments use * on subsequent lines WARNING: Block comments use a trailing */ on a separate line For consistency, also reword the previous comments. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00761a9c4b71682ffc6a988d11f96ccf71cebb4e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 15:58:43 2015 -0700 staging: comedi: dt9812: rename F020_MASK_DACxCN_DACxEN Rename this CamelCase define. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c6e8b1ab21be537fd3ffad5ca1d1b93ed44e5e6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 15:58:42 2015 -0700 staging: comedi: dt9812: tidy up multi-line comment Reformat the multi-line comment 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 f2d1cafee63167604e8f9fd37a3ff938a852212f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:49 2015 -0700 staging: comedi: icp_multi: update the MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "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 f78ce5fd1ef5e99290a4251b95b0c27ba7d2db4f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:48 2015 -0700 staging: comedi: icp_multi: remove board reset during (*detach) The icp_multi_reset() function currnelt does the following during the (*auto_attach) and (*detach) of this driver: 1) disables all interrupts and clears any pending requests 2) resets the analog output channels to 0V (0..5V range) 3) sets all digital output channels to 0 Interrupts are not used by this driver so the disable/clear when detaching is not necessary. Depending on the use, reseting the analog and digital outputs when the driver is detached might not be desireable. Remove the board reset during the (*detach) and use comedi_pci_detach() directly. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e3390725093dfec3143046592ed611b4b7a12e6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:47 2015 -0700 staging: comedi: icp_multi: tidy up subdevice init For aesthetics, add some whitespace to the subdevice initialization. Remove the unnecessary initialization of the 'len_chanlist' for each subdevice. That member is only used by subdevices that support async commands. Also, remove the initialzation of the dev->read_subdev. That member is also only used for async command support. Rename some of the subdevice functions to follow the normal format used in comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afbd3c2b97499d74d068908ecd10cbef0d0c6e16 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:46 2015 -0700 staging: comedi: icp_multi: remove counter subdevice The support functions for this subdevice are not complete. Since the counter is the last subdevice just remove it and it's allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8aedf0f10f0af9324fbb41c28bb57570d0123443 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:45 2015 -0700 staging: comedi: icp_multi: fix clock comment CodingStyle Reword the block comment to fix a CodingStyle issue. For aesthetics, also rename the icp_multi_ao_eoc() function. It's testing for the analog output to be 'ready' not for an 'end-of-conversion'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4f20dd0249fcf1f950d2fc196b7c84a967d5731 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:44 2015 -0700 staging: comedi: icp_multi: remove private data member 'DacCmdStatus' This private data member isn't really needed. The two functions that use it, icp_multi_ao_insn_write() and icp_multi_reset(), mask any previous value before setting the bits. The masking just clears the variable. Refactor the code to not use the private data member. This also removes the need for the private data so remove it's allocation during the attach. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36825db47e12e00413b0c5f8cebb6a6d49f1db36 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:43 2015 -0700 staging: comedi: icp_multi: remove check_channel_list() This function would only be needed in the driver supported async commands. It's #if 0'ed out anyway so just 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 4faa71ff91e783e70e23d86cbf870dc3a9899011 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:42 2015 -0700 staging: comedi: icp_multi: remove useless interrupt disable code This driver does not use interrupts and all the interrupt source are disabled by icp_multi_reset() when the board is first attached. Remove the unnecessary, and useless, disable and clearing of interrupts in the analog input and output (*insn_read) and (*insn_write) functions. This also removes the need for the private data members 'IntEnable' and 'IntStatus'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd61ceddfe31da38c564a587f26164c33962a5cb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:41 2015 -0700 staging: comedi: icp_multi: remove interrupt support The interrupt handler in this driver doesn't do anything other than read the interrupt status register. Since I can't locate a datasheet for the board, remove the useless interrupt support code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9405655029390a58a7ad586541c830687196d78 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:40 2015 -0700 staging: comedi: icp_multi: absorb setup_channel_list() This function is only called in one place and the 'n_chan' parameter is always 1. This makes the for() loop a bit silly. Absorb the function into the caller and simplify the code. This also removes the need for the private data member 'AdcCmdStatus'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc7680d11b874addb345d682d927b7768534998d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:39 2015 -0700 staging: comedi: icp_multi: remove unused members from private data These members are either not used at all or they are set but never used. Just 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 c2a6e057d3bd462bf8f529da484c6baf4a5d63b0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:38 2015 -0700 staging: comedi: icp_multi: remove unnecessary block comment This comment doesn't add any value to the code. 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 24bc018e736f35d99a217a3488d85e83f693d3d9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:37 2015 -0700 staging: comedi: icp_multi: rename static variable 'range_analog' For aesthetics, rename this static variable 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 8537a1a4b46fdd96448cc82c7fa0ea25ab30f994 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:36 2015 -0700 staging: comedi: icp_multi: tidy up the interrupt enable/status register bits For aesthetics, rename these bit defines so they are associated with the registers and use the BIT macro to define them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01544d6e0ebd4a2f756a69263240c87c8610764e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:35 2015 -0700 staging: comedi: icp_multi: tidy up the DAC command/status register bits For aesthetics, rename these bit defines so they are associated with the register and use the BIT macro to define them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 456031d6041a57229b67dbfa598d1ece814fb001 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:34 2015 -0700 staging: comedi: icp_multi: tidy up the ADC command/status register bits For aesthetics, rename these bit defines so they are associated with the register and use the BIT macro to define them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf895d83585ed6a091a20d96c2ecbf403261df4e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 14:52:33 2015 -0700 staging: comedi: icp_multi: tidy up multi-line comments Reformat 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 651659c13353cb6a9eee4e94778b1708d3342dcf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:44 2015 -0700 staging: comedi: me_daq: fix me_ai_insn_read() The comedi core expects (*insn_read) functions to return insn->n data values. Refactor the function to work like the core expects. For aesthetics, use the comedi_offset_munge() helper to munge the 2's complement data. This also fixes a minor issue when comedi_timeout() times out. Currently this function just returns which leaves the ADC mode programmed for software triggering. With the refactor the ADC mode is always disabled when the function exits. This allows removing the unnecessary steps to "stop any running conversions" at the start of the function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a844a91cab4556b7b7e336951623b394a80c934 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:43 2015 -0700 staging: comedi: me_daq: allow differential analog inputs The ai (*insn_read) allows differential analog inputs but the subdevice initialization is missing the SDF_DIFF subdev_flag to allow the user to select this mode. Fix the subdevice init. According to the manual, differential operation only works with the first 8 channels and bipolar ranges. Add a check to the (*insn_read) to ensure this. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 450a84e8cf689912cc33d18f5aba38da9312d2b9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:42 2015 -0700 staging: comedi: me_daq: tidy up counter registers For aesthetics, convert the counter registers into macros that take the counter channel and return the correct register offset. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdfc0a0dc5aefa49cfcb853729fe505c9c27d2bc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:41 2015 -0700 staging: comedi: me_daq: tidy up dac data registers For aesthetics, use a macro that takes the analog output channel and returns the correct offset for the data register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99104f62f018df989dc4bdd7c452b2e4e8b266e9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:40 2015 -0700 staging: comedi: me_daq: use comedi_range_is_bipolar() helper Use the helper function to determine if the dac bipolar bit needs to be set. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46ada8afc8fdd2788db152ceb0fc001f46072dfe Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:39 2015 -0700 staging: comedi: me_daq: remove useless for() loop This for() loop isn't needed. Nothing in the loop uses the 'i' variable. 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 16aa2a66050607a3728173ad64a1830a23120b2f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:38 2015 -0700 staging: comedi: me_daq: tidy up dac control register defines Redefine the dac control register bits as macros that take the channel number and return the correct bit values. This register needs to be read after the new values are written in order to actually update the dac. For aesthetics, use the same define to read and write 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 abd2541f3900f058fffdd89dac125b5fd48a0037 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:37 2015 -0700 staging: comedi: me_daq: tidy up ai fifo/chanlist register defines Tidy up this register usage by defining some macros to set the channel and gain bits. Add a define for the bit that enables differential mode. Writing to this offset puts data in the ai chanlist fifo, reading from it gets data from the ai data fifo. For aesthetics, use the same define to read and write 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 faf58f60a4b0e93a5b7f74b74a80aa01089d3f38 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:36 2015 -0700 staging: comedi: me_daq: tidy up timer data register defines For aesthetics, convert the register defines into a macro that takes the timer channel and returns the correct register offset. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0f6de37d63faa88ba2ad7e7b046c7fa359a0656 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:35 2015 -0700 staging: comedi: me_daq: tidy up digital i/o port register defines For aesthetics, add a _REG suffix to these defines. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 065d805744cdb6d92d11fe9a7e12027c78d981cc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:34 2015 -0700 staging: comedi: me_daq: tidy up status register defines Rename the bits of this register so they have association with the register. Use the BIT macro to define the bits. Writing to the status register clears any pending interrupts. For aesthetics, remove the ME_RESET_INTERRUPT define and just use the ME_STATUS_REG define to write the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49e890e0d2c12516736d1c4ae821d6a72b047265 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:33 2015 -0700 staging: comedi: me_daq: tidy up control 2 register defines Rename the bits of this register so they have association with the register. Use the BIT macro to define the bits. Reading the control 2 register updates the DAC registers. For aesthetics, remove the MC_DAC_UPDATE define and just use the ME_CTRL2_REG define to read the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 616f86f00fc9b82a300466c5896c3c6682bbb8dc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:32 2015 -0700 staging: comedi: me_daq: tidy up control 1 register defines Rename the bits of this register so they have association with the register. Use the BIT macro to define the bits. Add a macro to select the ADC mode and remove the magic value used to stop conversion. Reading the control 1 register starts an analog input conversion. For aesthetics, remove the MC_ADC_START define and just use the ME_CTRL1_REG define to read the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cee8eaa254988574452f302dd8ce28a7303d49d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:23:31 2015 -0700 staging: comedi: me_daq: tidy up private data For aesthetics, rename the local variable used to access dev->private. In comedi drivers this variable is typically named 'devpriv'. For aesthetics, rename the private data members used to mirror the write-only register to, slightly, shorter names. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa7ac9c0fc5418154a6356583f880164cdcaa7f1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:18 2015 -0700 staging: comedi: mf6x4: tidy up subdevice init For aesthetics, add some whitespace to the subdevice initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21cf4eedae651b3850b1e659caad966e6d64136d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:17 2015 -0700 staging: comedi: mf6x4: change type of local variable For aesthetics, change the type of this local variable to unsigned int. This fixes the checkpatch.pl issue about: CHECK: Prefer kernel type 'u32' over 'uint32_t' Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 60 +++++++++++++++++----------------- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae57371378801d0e885d4cb3aaf15b9d7d5d3649 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:16 2015 -0700 staging: comedi: mf6x4: refactor block comment Refactor this block comment to fix the checkpatch.pl issues: WARNING: Block comments use * on subsequent lines WARNING: Block comments use a trailing */ on a separate line Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 2 +- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1df2abb351f1cd998099dff34ed5b5f844c8b387 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:15 2015 -0700 staging: comedi: mf6x4: rename private data 'gpio_R' Rename this CamelCase member of the private data. For consistency, also rename the register defines associated with this member. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 4 ++-- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19e02434714c05da730be08927402d6bc8d51fea Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:14 2015 -0700 staging: comedi: mf6x4: rename remaining BAR1 register defines For consistency, rename the ADSTART and DAC register defines to add a bit of clarity. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 16 ++++++++-------- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b02530f5549a40e2e02dc33157f406d706e1bfa1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:13 2015 -0700 staging: comedi: mf6x4: rename the digital input register defines For aesthetics, rename these defines to clarify them a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 8 ++++---- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 418c971364cb6eb3cc94b9e4ec1ae6bf3fc98dc7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:12 2015 -0700 staging: comedi: mf6x4: remove unnecassary masking of digital outputs THe 's->state' will always be in range for the 8 digital outputs. Remove the unnecessary masking of the value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 6 +++--- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 597063341936a3ccddb30783781d474d7e7d70cd Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:11 2015 -0700 staging: comedi: mf6x4: A/D converter uses 2's complement coding According to the user's manual, the A/D converter uses 2's complement coding. Use the comedi_offset_munge() helper to convert the data to the offset binary format used by comedi. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 5 ++--- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9ab30239aa33e5d79917303f9c67dff98cc75c3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:10 2015 -0700 staging: comedi: mf6x4: introduce a macro to select the AI channel For aesthetics, use a macro to set the bit in the ADCTRL register that selects an analog input channel. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 9 +++++---- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea22ae5e13490712d7498194726b5001355fced6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:09 2015 -0700 staging: comedi: mf6x4: sort the BAR1 register defines For aesthetics, sort the defines in register order. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 10 +++++----- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77eb74166ed603347f3712c984173d3ea5684651 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:08 2015 -0700 staging: comedi: mf6x4: remove unnecessary whitespace For aesthetics, remove the extra whitespace and align all the register defines. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 8 +++----- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e33048b07903435d72cfba7463411a2241d42c20 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:07 2015 -0700 staging: comedi: mf6x4: remove unnecessary defines The MF6X4_DAC_R macro defines the offsets for all the DAC registers. Remove the unnecessary defines for each register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 22 +++++++++++----------- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b7cbf14493f8bf8e171bc5a39780e434181f430 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:11:06 2015 -0700 staging: comedi: mf6x4: prefer using the BIT macro Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> drivers/staging/comedi/drivers/mf6x4.c | 9 --------- Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aafbdb1294f026e20617d9b1028f962af2e239c7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 13:02:51 2015 -0700 staging: comedi: adv_pci1723: prefer using the BIT macro As suggested by checkpatch.pl, 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 a789fdf817c057598c6ae5f76f93591aa1ed3834 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 13:07:04 2015 -0700 staging: comedi: adv_pci1724: prefer using the BIT macro As suggested by checkpatch.pl, 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 ce6295e267014099ec849bb9a2b84c7b9f3dd8eb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 11:01:37 2015 -0700 staging: comedi: adl_pci6208: prefer using the BIT macro As suggested by checkpatch.pl, 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 dcfd349493f7c37065c262a6f5939c1f3060b157 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:58:55 2015 -0700 staging: comedi: addi_apci_3xxx: prefer using the BIT macro As suggested by checkpatch.pl, 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 6ed30c8945832246bbb4b84271327aa0f341e1dd Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:56:34 2015 -0700 staging: comedi: addi_apci_3120: prefer using the BIT macro As suggested by checkpatch.pl, 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 6cd46d716aa1877e02c82fa5ff8bbff5f85bfc2f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:32:14 2015 -0700 staging: comedi: addi_apci_1032: prefer using the BIT macro As suggested by checkpatch.pl, 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 1da661759f5f34f218d4d65c8872d271146d561b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 13:05:02 2015 -0700 staging: comedi: 8255_pci: prefer using the BIT macro As suggested by checkpatch.pl, 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 71c01379d1c57c96d833202d6b8128ccffc42665 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 15:43:44 2015 -0700 staging: comedi: fl512: usleep_range is preferred over udelay Fix checkpatch.pl issue: CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt Replace the udelay() 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 fca0b7dcfb20e9ca22dea0fdf551a7995cb3f2a4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 15:31:09 2015 -0700 staging: comedi: gsc_hpdi: use preferred kernel types Fix the checkpatch.pl issues about: CHECK: Prefer kernel type 'u32' over 'uint32_t' CHECK: Prefer kernel type 'u8' over 'uint8_t' Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 377767135a7c6f6dc89b65680123411d4f470508 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 17:35:18 2015 -0700 staging: comedi: ke_counter: prefer using the BIT macro Use a macro to define the clock source options. This fixes the checkpatch.pl issue about: CHECK: Prefer using 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 4403437e57c43c59c691a710a440d0924ed91b28 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:34 2015 -0700 staging: comedi: mpc624: change type of private data 'ai_speed' For aesthetics, change the type of this member to unsigned int. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47bdee7be0b34cc613ec4406a0d9737df1786f32 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:33 2015 -0700 staging: comedi: mpc624: use tabs for whitespace instead of spaces For aesthetics, use tabs instead of spaces for the whitespace in the register defines. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5fbccb9eea7354b7aaf41b10a1b44cf4c7b8d99 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:32 2015 -0700 staging: comedi: mpc624: introduce mpc624_ai_get_sample() Introduce a helper function to read the analog sample from the serially connected A/D converter and handle the munging of the data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa0cf376b9dc3b09af0f40ce7ace76e3d45c33a9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:31 2015 -0700 staging: comedi: mpc624: rename mpc624_ai_rinsn() For aesthetics, rename this function to follow the normal convention in comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b7b3d04f45b89c1c145737528c7b9c87b92a057 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:30 2015 -0700 staging: comedi: mpc624: there are only 4 analog inputs According to the datasheet, this board has 4 differential analog input channels not 8. Fix the subdevice init. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70e803352f100a9404ace6d06a6f7bec3909fb2d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:29 2015 -0700 staging: comedi: mpc624: tidy up subdevice init For aesthetics, add some whitespace to the subdevice init. Remove the unnecessary switch() code used to set the maxdata and range_table. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f1fd22caac0c8c1085dcf6bda143496a7ffd0ce Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:28 2015 -0700 staging: comedi: mpc624: update MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "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 00dd53e00566b1b40f82945f2294602e71582bdb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:27 2015 -0700 staging: comedi: mpc624: tidy up the ai conversion speed code Rename the CamelCase private data 'ulConvertionRate' and MPC624_SPEED_* defines. Create a macro to set the OSR bits that set the ai conversion speed and use it for the various MPC624_SPEED_* defines. Remove the unnecessary comment describing the speeds, this information is alread in the comedi driver comment block. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e437b1abab7486c5100606fcdeba8b1f60884a5d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:33:26 2015 -0700 staging: comedi: mpc624: tidy up multi-line comments Reformat 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 c9ffbfb066698141a7959de2e91d3fdfd05991b3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:49:54 2015 -0700 staging: comedi: pcl711: prefer using the BIT marco Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97c153da56d0e4ece56cb0065b8e3f40ba29a00b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:47:27 2015 -0700 staging: comedi: pcl812: rename private data 'IRQbits' Rename this CamelCase symbol. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94e9ef19854c8a9c71fdbabdf2c053b18da0aa0d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:47:26 2015 -0700 staging: comedi: pcl812: prefer using the BIT macro Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b20d6f793c5bd0493b26d04cbc7ce04c1c5cea0e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:47:25 2015 -0700 staging: comedi: pcl812: convert hardware type defines into an enum For aesthetics, convert these defines into an enum and rename the CamelCase. Fix the switch() code to use the enum without warnings. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 026d7877c89ee23d632181f23b4a37e73fe985b7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:44:04 2015 -0700 staging: comedi: pcl816: remove #if 0'ed out code Remove the #if 0'ed out code that would initialize an analog output subdevice. The hardware does not normally support an analog output subdevice. Analog outputs are only supported with additional "piggyback" modules. Support for these modules is not included in 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 2d8ea89191c3820bd3c08e75fff2f4d9fbd20f21 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:44:03 2015 -0700 staging: comedi: pcl816: prefer using the BIT macro Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdb3be16df0b4859a4fb21a02357e2007ffe5dbb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:44:02 2015 -0700 staging: comedi: pcl816: tidy up multi-line comments Reformat 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 699849fe452471cfa740cd659f42d349cf0b4bd1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:40:23 2015 -0700 staging: comedi: pcl818: remove unused "boards constants" These defines are not used. Remove them to get rid of the checkpatch.pl issue about avoiding CamelCase. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bbf3ea6c4173fc6586326e1d46877168309d00a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:40:22 2015 -0700 staging: comedi: pcl818: prefer using the BIT macro Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4976034f37b53ffbe4e8aaf3fbeb23f3e55b97c7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:20 2015 -0700 staging: comedi: multiq3: update the MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more useful than the generic "Comedi low-level driver". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03a1847719b2bf8f3da1c89b0ae359cb1f92dea6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:18 2015 -0700 staging: comedi: multiq3: remove unnecessary include This driver does not use interrupts. Remove the include. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47f1fa37dbd17014724bd22e9e8fba9f538d27d8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:17 2015 -0700 staging: comedi: multiq3: tidy up multiq3_encoder_insn_read() Encoders are not a "normal" subdevice in comedi. For aesthetics, tidy up this function and add a couple comments to clarify the function and explain the strange munging of the data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc19858e1bbf9a9092eeeb7f670fdab7f11c57ac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:16 2015 -0700 staging: comedi: multiq3: remove unnecessary define This define is not needed. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a0ca07cc1bf65a3a84d68ca337e649c0cfdc22e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:15 2015 -0700 staging: comedi: multiq3: allow user to reset encoder channels Currently this driver resets all the encoder channels when the driver is first attached. Add a (*insn_config) to the subdevice to allow the use to reset the channels manually. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 014d8414ce40e3f2e9733bdde39f474299283290 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:14 2015 -0700 staging: comedi: multiq3: document the encoder chip commands Add some comments to document the commands that are sent to the encoder chips. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6dfb66d8992bb0e1244db36b72ba0c5bb05fb858 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:13 2015 -0700 staging: comedi: multiq3: tidy up control register bit defines For aesthetics, move these defines closer to the register define and use the BIT macro to define the bits. Add macros to set the bits needed to select the channel for the analog output, analog input, and encoder (counter) subdevices as well as the realtime clock registers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dfeacb43453205d97259a5dc3007565f699585b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:12 2015 -0700 staging: comedi: multiq3: introduce multiq3_set_ctrl() According to the programming manual. the 'SH' and 'CLK' bits in the control register need to be kept high at all times. Clarify this by introducing a helper function to set the control register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f8d129ed917d96dd74887e14b0c66366875cfa5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:11 2015 -0700 staging: comedi: multiq3: tidy up status register bit defines For aesthetics, move these defines closer to the register define and use the BIT macro to define the bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 889031c7d8c0a243a97b40c93bb5e769e055fbd5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:10 2015 -0700 staging: comedi: multiq3: tidy up register map defines For auesthetics, rename the register map defines. Convert the offset values to hex and add some whitespace. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f60d35f31782e194eb46357ff2e8aad3c126ce6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:09 2015 -0700 staging: comedi: multiq3: tidy up subdevice init For aesthetics, add some whitespace to the subdevice init and rearrange the initialization a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5affcdc236f1685122a6fdcb1a3c698f96f145ce Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:08 2015 -0700 staging: comedi: multiq3: tidy up multiq3_ai_insn_read() For aesthetics, use the proper symbol when reading the A/D data register to get the 16-bit sample data. Use the comedi_offset_munge() to do the 2's complement to offset binary munging of the sample data. Tidy up the function a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8e66cfd55d2e4e41f2832a9400b142beed95e75 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 15:33:07 2015 -0700 staging: comedi: multiq3: tidy up multi-line comments Reformat the multi-line comments in the kernel CodingStyle. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62319bceef42015d5e774e1db2e21fb5853a01bc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:11 2015 -0700 staging: comedi: quatech_daqp_cs: avoid calculating pacer divisor multiple times The pacer will either be used to trigger each conversion or to start each scan. Modify the (*do_cmdtest) so that one one divisor calculation is needed. Save the divisor value in the private data so that the (*do_cmd) does not have to do the calculation again. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d77ef8b43d6a9124f37b2f098b6d65573db0de3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:10 2015 -0700 staging: comedi: quatech_daqp_cs: ai async command requires a pacer The ai (*do_cmd) assumes that either the convert_src is TRIG_TIMER or the scan_begin_src is TRIG_TIMER and always programs the pacer clock with the appropriate trigger argument. Add a Step 2b check to the (*do_cmdtest) to ensure that at least one of the triggers is TRIG_TIMER. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac315c17f91d740c3cba4e83fcc73d7f75c967c0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:09 2015 -0700 staging: comedi: quatech_daqp_cs: cleanup Step 3 of ai (*do_cmdtest) Step 3 of the (*do_cmdtest) trivially validates the async command arguments. The validations also modify the arguments if they are invalid so that the user gets valid values if the test fails. Reorder the checks so that if any of the checks fail proper values are used for subsequent checks. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 848a7f7af0fb490274dc6031b0a79f4440a4948f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:08 2015 -0700 staging: comedi: quatech_daqp_cs: fix daqp_ai_cancel() Make sure interrupts are disabled and the event flags are cleared when an analog input async command is canceled. Remove the unnecessary calls to stop any running conversions in the (*insn_read) and (*do_cmd) functions. The comedi core will only call these functions if the subdevice is not busy (it has already been canceled). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77e7c200f37536e05f714bcebc34f58aba9eabfc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:07 2015 -0700 staging: comedi: quatech_daqp_cs: handle shared interrupt This is a PCMCIA driver and interrupts are always shared. Detect if the hardware did not produce the interrupt and return IRQ_NONE so that other drivers might handle it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f676376d692d8e02603e2bf1d0b4e8ca1b56506d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:06 2015 -0700 staging: comedi: quatech_daqp_cs: remove 'interrupt_mode' The interrupt handler is now only used for the ai async command. Remove the unnecessary 'interrupt_mode' from the private data and tidy up the interrupt handler. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7689f55b62836a5e5de2f9a5cd8d215071636013 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:05 2015 -0700 staging: comedi: quatech_daqp_cs: only hook up cmd support if we have an IRQ Interrupts are only needed by this driver to support the analog input async commands. Don't hook up the command support if pcmcia_request_irq() fails instead of completely failing the (*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 16d6b58753ccc34e6d915118984b60457d2c3327 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:04 2015 -0700 staging: comedi: quatech_daqp_cs: don't use interrupts for ai (*insn_read) The comedi (*insn_read) functions are supposed to do simple one-shot reading of an analog input channel. Currently this driver enables interrupts and uses wait_for_completion_interruptible() to allow the interrupt routine to let the analog input (*insn_read) know that the end-of-conversion has occured. Simplify the function by using the comedi_timeout() helper to check the aux status register to see when the conversion is finished. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c56cdc5cc16dabd6ed0867977a6e374a3cc0da7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:03 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up aux register bitss For aesthetics, and use the BIT macro to define the bits and define some macros for the timer mode and d/a update bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c06c3c953a9b89c1ffe70ba57762fbaafdcd6613 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:02 2015 -0700 staging: comedi: quatech_daqp_cs: document the 16-bit registers All the registers are 8-bit except for the analog output and timer registers. For clarity, add some comments. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f765b2f4fb45a9625bce619c6652b9f48510cef1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:01 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up command register bits For aesthetics, move the bit defines for this register and use the BIT macro to define the bits. Define a macro for the scanrate bits and use it to remove the CamelCase. Rename the defines to match the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd644206e2db1d0249534e2c4e86cbfada4f5bd2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:23:00 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up status register bits For aesthetics, move the bit defines for this register and 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 b0f9b0ad0fe7146fd5b23ad592ffafc541be286d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:59 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up control register bits For aesthetics, move the bit defines for this register and use the BIT macro to define the bits. Rename the defines to match the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77e546de4cc688b8045686b079e438dafbf9812c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:58 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up scanlist register bits For aesthetics, move the bit defines for this register and 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 bd9d00f105bf0fb26a85f5ad3b75d0b161304478 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:57 2015 -0700 staging: comedi: quatech_daqp_cs: rename register offsets For aesthetics, rename the register map defines and convert the values to hex. Also, move the private data definition and DAQP_FIFO_SIZE define after the register definitions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed811a328a161794e1e2dda0a75c6925cfd6ddcd Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:56 2015 -0700 staging: comedi: quatech_daqp_cs: tidy up multi-line comments Reformat 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 d9952688a33a79cf756de6a8392b9c1eec90cab1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:55 2015 -0700 staging: comedi: quatech_daqp_cs: introduce daqp_clear_events() Introduce a helper function for the common code used to clear any pending interrupts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 075d58164e1271d9da3796fb883db9928b13f91b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:54 2015 -0700 staging: comedi: quatech_daqp_cs: redefine pacer clock options For aesthetics, define a macro for the pacer clock options and rename the CamelCase. Remove the unnecessary local variables used to set the control register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 491205bbc6fbab7388732297037a9a2fc16c3616 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:53 2015 -0700 staging: comedi: quatech_daqp_cs: spaces preferred around that '<<' Fix the checkpatch.pl issues about: CHECK: spaces preferred around that '<<' (ctx:VxV) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e031642eccc040648b09cfc7d632e2e8d0b6f94f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:52 2015 -0700 staging: comedi: quatech_daqp_cs: use comedi_timeout() in ao (*insn_write) The data link between the D/A data port and the D/A converter is a serial link. The serial link requires about 8ms to complete a transfer. Use the comedi_timeout() helper to ensure that there is not a previous transfer still happening before trying to write new data to the channel. For aesthetics, save the readback value after updating the hardware. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1271dd24c63478b08fc574ec8b4fa50902b368f0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:51 2015 -0700 staging: comedi: quatech_daqp_cs: use comedi_offset_munge() in ao (*insn_write) Use the comedi_offset_munge() helper to do the offset binary to two's complement conversion when writing a new analog output value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3f7e15383a9e86a56820c34d5ef761c4682e47b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:50 2015 -0700 staging: comedi: quatech_daqp_cs: introduce daqp_ai_get_sample() Introduce a helper function to get a two's complement sample from the FIFO and munge it to the offset binary format that comedi uses. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d6b700801bfeef15a059fc6739bfcd741cd9c15 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:49 2015 -0700 staging: comedi: quatech_daqp_cs: there are 4 digital inputs This board has 4 digital inputs not 1. Fix the subdevice init. The digital input lines are shared with other functions. Add a comment about this. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23d4f0245f6f48ee374069110b86c75166d1e152 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 14:22:48 2015 -0700 staging: comedi: quatech_daqp_cs: there are 4 digital outputs This board has 4 digital outputs not 1. Fix the subdevice init. The digital output lines are used for the external channel selection when the expansion mode is enabled. Add a comment about this. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 647d8aec47336aff073b10ca2de036c1a1f66b6f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 11:59:29 2015 -0700 staging: comedi: pcm3724: update the MODULE_DESCRIPTION Change the MODULE_DESCRIPTION to something more usefull than the generic "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 5891b5b2aafda9f0013b3bf46ea12d41e094f1bf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 11:59:28 2015 -0700 staging: comedi: pcm3724: tidy up register map defines For aesthetics, rename the register map defines so they have namespace associated with the driver and use the BIT macro to define the bits. Add the missing defines for the registers and use them to remove the magic values from the driver. Add a comment about the extra registers to explain why this driver doesn't just use the standard 8255 driver instead. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 629af2407d78b3cda77856fd7f5b000d24d7e12f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 11:59:27 2015 -0700 staging: comedi: pcm3724: tidy up multi-line comments Reformat 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 0af61e66ee16211a970839c5faac8a4c9869eb49 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:34 2015 -0400 drivers/staging: make emxx_udc.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/staging/emxx_udc/Kconfig:config USB_EMXX drivers/staging/emxx_udc/Kconfig: bool "EMXX USB Function Device Controller" ...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_platform_driver() uses the same init level priority as builtin_platform_driver() the init ordering remains unchanged with this commit. The .remove function was declared __exit, so it wouldn't have been available for a sysfs bind/unbind anyway, so lets be explicit here and use ".suppress_bind_attrs = true" to prevent root from doing something silly. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: Vincenzo Scotti <vinc94@xxxxxxxxx> Cc: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Cc: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Cc: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Cc: Peter Chen <peter.chen@xxxxxxxxxxxxx> Cc: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Cc: Chris Rorvick <chris@xxxxxxxxxxx> Cc: "Gujulan Elango, Hari Prasath (H.)" <hgujulan@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e20ec73ac2f3b896592a2922104379af1052e581 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:33 2015 -0400 drivers/staging: make android timed_output.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/staging/android/Kconfig:config ANDROID_TIMED_OUTPUT drivers/staging/android/Kconfig: bool "Timed output class driver" ...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 replace module.h with init.h and export.h ; the latter since this file does actually export some symbols. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 380b6549e5f799fabc5523a09446aa8c4da8c26b Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:32 2015 -0400 drivers/staging: make android lowmemorykiller.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/staging/android/Kconfig:config ANDROID_LOW_MEMORY_KILLER drivers/staging/android/Kconfig: bool "Android Low Memory Killer" ...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 replace module.h with init.h and moduleparam.h ; the latter since this file was previously implicitly relying on getting that header. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db1ad33bcfc45bd90994d3855a255e2daf746a3c Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:31 2015 -0400 drivers/staging: make android sw_sync.c explicitly non-modular The Kconfig currently controlling compilation of this code is: staging/android/Kconfig:config SW_SYNC staging/android/Kconfig: bool "Software synchronization objects" ...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 also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12950595906f9879cd0e61da6fa7b1ff6553180b Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:28 2015 -0400 drivers/staging: make android ashmem.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/staging/android/Kconfig:config ASHMEM drivers/staging/android/Kconfig: bool "Enable the Anonymous Shared Memory Subsystem" ...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 replace module.h with init.h and export.h ; the latter since this file uses the global THIS_MODULE. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35890c28eec9535d910380b598712bd4b6d7717d Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:30 2015 -0400 drivers/staging: make android tegra_ion.c properly tristate The Kconfig currently controlling compilation of this code is: drivers/staging/android/ion/Kconfig:config ION_TEGRA drivers/staging/android/ion/Kconfig: tristate "Ion for Tegra" ...which led me to incorrectly conclude this file was built modular earlier. However the above CONFIG is just used to enter the dir and once we do enter that dir, we see the build is unconditional: drivers/staging/android/ion/Makefile:obj-$(CONFIG_ION_TEGRA) += tegra/ drivers/staging/android/ion/tegra/Makefile:obj-y += tegra_ion.o ...meaning that it currently is not being built as a module by anyone. However, given that the Kconfig did explicitly choose tristate, and that the dummy ion driver is (functionally) tristate, I chose to make the Makefile do the right thing for it to build as a module. After this change, on an ARM allmodconfig, we see: CC [M] drivers/staging/android/ion/tegra/tegra_ion.o so it does build OK as a module. I can't vouch for the modular functionality however, so consider this compile tested only. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: Stephen Warren <swarren@xxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Cc: linux-tegra@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30d7979259663ce3e0b942498a890a0977a667d6 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sun Oct 11 15:47:29 2015 -0400 drivers/staging: make android ion_page_pool.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/staging/android/ion/Kconfig:menuconfig ION drivers/staging/android/ion/Kconfig: bool "Ion Memory Manager" ...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. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: "Arve HjønnevÃ¥g" <arve@xxxxxxxxxxx> Cc: Riley Andrews <riandrews@xxxxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cea07e523c218ba45b9448ff78e18357880a2548 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Sat Oct 10 17:21:42 2015 +0200 Staging: olpc_dcon: Remove braces Braces in single statement blocks are not needed. Found by checkpatch.pl Signed-off-by: Ksenija Stanojevic<ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36e712a8a14d336a2f6433f64a8e2bb974138aec Author: Parshuram Thombare <thombarepr@xxxxxxxxx> Date: Sat Oct 10 19:06:44 2015 -0400 staging: dgnc: simplify a trivial if-return sequence Signed-off-by: Parshuram Thombare <thombarepr@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35e942f3167a2ba18bd3db9c964183d81c130a7d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 21:19:20 2015 +0530 staging: dgap: remove unused configuration The IO configuration was not used to configure the board. It was only read from the configuration file. Stop reading it and also remove the other related variables defined for it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7df227c4ece0968a625f0fda1e19d2980f6859b9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:15 2015 +0530 staging: dgnc: remove parenthesis checkpatch was warning us about extra unneeded parenthesis. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e352d3f19e12416c4bb489640e8da70657886854 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:14 2015 +0530 staging: dgnc: alignment style checkpatch was warning us that the alignment should match the open parenthesis. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f418259ec2c94205730d1946082cfb7d2f9e62e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:13 2015 +0530 staging: dgnc: remove space after cast Space is not necessary after typecast. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 205fc1fc9520461a18810dc659bdb3fba2d88287 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:12 2015 +0530 staging: dgnc: remove blankline after brace Blank lines are not needed after opening braces. checkpatch was giving us warnings about this. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40215ddffc2fb6ada9fdcd7461a2f0bf922bcca0 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:11 2015 +0530 staging: dgnc: remove blankline before brace Blank lines are not needed before closing braces. checkpatch was giving warning about this. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9753007ed793b41d95d8719594c2029e54c26a90 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Oct 4 19:50:10 2015 +0530 staging: dgnc: remove multiple blank lines checkpatch warns us about multiple blank lines which are not needed. Remove them. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3604af50a24ec45f76088e2da7bfb5758a5c1d7b Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 12 13:22:44 2015 -0700 staging: wilc1000: move open brace in line with control flow statement Move open braces to be in line with "if" control flow statements. Addresses checkpatch.pl: ERROR: that open brace { should be on the previous line Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbeb0dab5e6c3013d176a9070ffa8a1eb250d5f1 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 12 20:49:20 2015 +0530 Staging: wilc1000: linux_wlan: Remove NULL check before kfree kfree on NULL pointer is a no-op. The semantic patch used - // <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 cccfc39e5cf502334558ed511873195d5b8df03f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 12 20:49:19 2015 +0530 Staging: wilc1000: wilc_wfi_cfgoperations: Remove NULL check before kfree kfree on NULL pointer is a no-op. The semantic patch used- // <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 c22cbec069b532c4a9a33236305ee4d833ec67e6 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 11 22:01:37 2015 +0530 Staging: wilc1000: wilc_msgqueue: Use kmemdup instead of kmalloc and memcpy Replace kmalloc and memcpy with kmemdup. Problem found using coccicheck Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39823a50ff371cbaa0baa7ccb7a479e61375b4a0 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Thu Oct 8 21:18:03 2015 -0700 staging: wilc1000: remove braces around single statement blocks Remove excess braces as suggested by checkpatch.pl: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56293ff232b9e2b071ffff177010b296acda0523 Author: Stanislav Kholmanskikh <kholmanskikh.s.s@xxxxxxxxx> Date: Thu Oct 8 21:23:14 2015 +0300 staging: wilc1000: linux_wlan_spi: include header A check using 'sparse' shows warnings in linux_wlan_spi.c: drivers/staging/wilc1000/linux_wlan_spi.c:43:19: warning: symbol 'wilc_spi_dev' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:71:19: warning: symbol 'wilc_bus' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:95:5: warning: symbol 'linux_spi_init' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:195:5: warning: symbol 'linux_spi_write' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:320:5: warning: symbol 'linux_spi_read' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:365:5: warning: symbol 'linux_spi_write_read' was not declared. Should it be static? drivers/staging/wilc1000/linux_wlan_spi.c:402:5: warning: symbol 'linux_spi_set_max_speed' was not declared. Should it be static? Let's avoid it by including "linux_wlan_spi.h" header. Signed-off-by: Stanislav Kholmanskikh <kholmanskikh.s.s@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b69b4f0aa7d3e3d5810f5c8c1c55c55be0927d2 Author: Stanislav Kholmanskikh <kholmanskikh.s.s@xxxxxxxxx> Date: Thu Oct 8 21:23:13 2015 +0300 staging: wilc1000: linux_wlan_spi: correct types linux_spi_write(), linux_spi_read(), linux_spi_write_read(): nwi->io_func.u.spi.spi_tx = linux_spi_write; nwi->io_func.u.spi.spi_rx = linux_spi_read; nwi->io_func.u.spi.spi_trx = linux_spi_write_read; are expected to accept arguments of 'u8 *', u32 types: struct { int (*spi_max_speed)(void); int (*spi_tx)(u8 *, u32); int (*spi_rx)(u8 *, u32); int (*spi_trx)(u8 *, u8 *, u32); } spi; However, linux_spi_read() and linux_spi_write_read() do not do this, they use 'unsigned char *' and 'unsigned long' instead. Changed the types of their arguments to satisfy the expectations. Signed-off-by: Stanislav Kholmanskikh <kholmanskikh.s.s@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7fa252e7ef373be0c263635ecdd8987b1db61939 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:15 2015 +0900 staging: wilc1000: rename tenuAuth_type of struct host_if_wep_attr This patch renames tenuAuth_type of struct host_if_wep_attr to auth_type to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5eaff1278a283a8eb94b82b965009f92d78fbe2 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:14 2015 +0900 staging: wilc1000: rename u8mode of struct host_if_wep_attr This patch renames u8mode of struct host_if_wep_attr to mode to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 259b3aa61efb5b94bf72e1da8b404bff6b88fa34 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:13 2015 +0900 staging: wilc1000: rename u8Wepidx of struct host_if_wep_attr This patch renames u8Wepidx of struct host_if_wep_attr to index to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d520e35522055199c011fbc79e4bd8e6a28eb960 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:12 2015 +0900 staging: wilc1000: rename u8WepKeylen of struct host_if_wep_attr This patch renames u8WepKeylen of struct host_if_wep_attr to key_len to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5538d34b323065f321eea8f2847c2b21bef16e8 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:11 2015 +0900 staging: wilc1000: rename pu8WepKey of struct host_if_wep_attr This patch renames pu8WepKey of struct host_if_wep_attr to key in order to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 610e38680fdcaec5911619df317eeea20672fdc6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:10 2015 +0900 staging: wilc1000: rename strHostIFpmkidAttr of union host_if_key_attr This patch renames strHostIFpmkidAttr of union host_if_key_attr to pmkid to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3501a4d7c0bd3bb74440ad6c1e175e669079ddf Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:09 2015 +0900 staging: wilc1000: rename strHostIFwpaAttr of union host_if_key_attr This patch renames strHostIFwpaAttr of union host_if_key_attr to wpa to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ed7a2fbddcd0069801ab4aae928d2036a08b9da Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:08 2015 +0900 staging: wilc1000: rename strHostIFwepAttr of union host_if_key_attr This patch renames strHostIFwepAttr of union host_if_key_attr to wep to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87c05b286316f0dc3ba5f42f16043b213fb71d88 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:07 2015 +0900 staging: wilc1000: rename u32SetCfgFlag of struct cfg_param_val This patch renames u32SetCfgFlag of struct cfg_param_val to flag to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 221371e5b286ed3b199b24a345f0db79d84dce2f Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:06 2015 +0900 staging: wilc1000: rename pstrCfgParamVal in struct cfg_param_attr This patch renames a variable of struct cfg_param_val in struct cfg_param_attr, pstrCfgParamVal to cfg_attr_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4ab1ade75a3ae1d252efb2d38865a677d503e8f Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:05 2015 +0900 staging: wilc1000: replace drvHandler and hWFIDrv with hif_drv This patch replaces the variable names of struct host_if_drv used as the functions' input parameter, drvHandler and hWFIDrv with hif_drv. In addition, the local variable declared in many functions, pstrWFIDrv is removed and hif_drv is directly used. A debug message printing pstrWFIDrv is deleted while removing the local variable because it is not useful as well. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60bd1003e1045732233493595367bf1d6d5df9f2 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:04 2015 +0900 staging: wilc1000: remove wilc_wlan.c included in wilc_wfi_cfgoperations.c This patch removes "wilc_wlan.c" from the wilc_wfi_cfgoperation.c file and adds wilc_wlan.o into Makefile to compile it because there is few benefits. This patch also adds "wilc_wfi_netdevice.h" in the wilc_wlan.c file to avoid the compile errors. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6e55e043f9fbf3c0a04485ec5ffc5d0ba76d498 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:56:03 2015 +0900 staging: wilc1000: host_infterface.h: remove unused enum tenuWILC_StaFlag This patch removes unused enum tenuWILC_StaFlag from the host_interface.h. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7696edf4d57f7a3d8a45ccf01f201b980c077d08 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:56:02 2015 +0900 staging: wilc1000: remove typedef from tenuScanConnTimer This patch removes typedef from the enum tenuScanConnTimer and renames it to scan_conn_timer. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed3f0379a272d7ef4e787f42575eac642b5b020e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:56:01 2015 +0900 staging: wilc1000: remove typedef from tenuConnDisconnEvent This patch removes typedef from the enum tenuConnDisconnEvent and renames it to conn_event. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 200ac21b0de03a8775763404baa95c373a1b8fd1 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:56:00 2015 +0900 staging: wilc1000: rename typedef from tenuCfgParam This patch rename typedef from the enum tenuCfgParamand rename it to cfg_param. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ec3815f38d74c6ef99dc48d9a7cc18555108565 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:59 2015 +0900 staging: wilc1000: remove typedef from tenuScanEvent This patch removes typedef from the enum tenuScanEvent and rename it to scan_event. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03e7b9c4283b325362e9c6b2640e21d2a3e131a7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:58 2015 +0900 staging: wilc1000: remove typedef from tstrStatistics This patch removes typedef from the struct tstrStatistics and rename it to rf_info. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ef4d19593278905644a5ec6f477b73191a37ab6 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:57 2015 +0900 staging: wilc1000: remove unused struct cfg_param_t This patch removes unused the struct cfg_param_t. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b58a2b6580ef6dda2051b3289d735f45ef8bd02 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:56 2015 +0900 staging: wilc1000: remove unused struct WILC_WFIDrvHandle This patch removes unused the struct WILC_WFIDrvHandle with related commnets. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad61fcea233c09884ebe07762e99536bb54e27e8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:55 2015 +0900 staging: wilc1000: remove typedef from tstrHiddenNetworkInfo This patch removes typedef from the struct tstrHiddenNetworkInfo with related comments and renames it to hidden_net_info. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73735e49383675ee1caf7a93dfd61976c2244fc8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:54 2015 +0900 staging: wilc1000: remove typedef from tstrFoundNetworkInfo This patch removes typedef from the struct tstrFoundNetworkInfo and rename it to found_net_info. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db9f1b1284d704152517d9bba343530b22129394 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:53 2015 +0900 staging: wilc1000: remove typedef from tenuHostIFstate This patch removes typedef from the enum tenuHostIFstate and rename it to host_if_state. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c944a4e8ad2fca231f7a1c1b03aac761b814cb14 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:52 2015 +0900 staging: wilc1000: remove typedef from tstrWILC_UsrConnReq This patch removes typedef from the struct tstrWILC_UsrConnReq with the related comments and renames it to user_conn_req. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4fe59d8e8691ade69a075cc2fd6646e3452701e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:51 2015 +0900 staging: wilc1000: remove typedef from tstrWILC_UsrScanReq This patch removes typedef from the struct tstrWILC_UsrScanReq with related comments and renames it to user_scan_req. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 541963223be3d557dcff30c2aa3c0b2b641fcb97 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:50 2015 +0900 staging: wilc1000: remove _tstrJoinParam from join_bss_param This patch removes struct _tstrJoinParam from the struct join_bss_param because it is not used inside the struct. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0a122178bb0529720e0cdaadb9dd9a126e16796 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:49 2015 +0900 staging: wilc1000: remove typedef from tstrJoinBssParam This patch removes typedef from the struct tstrJoinBssParam and renames it to join_bss_param. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0dba8d3bbdac36d5e01e09ef9363ea1de84b304 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:48 2015 +0900 staging: wilc1000: remove unused struct tstrBssTable This patch removes struct tstrBssTable with related comment. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa2ce581c9582f4ab1458f886341df16497f5b46 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:47 2015 +0900 staging: wilc1000: remove unused struct tstrWidJoinReqExt This patch removes struct tstrWidJoinReqExt because it's not used. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 900bb4a6523e7fa0db8aee0e84036a6de2da23fd Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:46 2015 +0900 staging: wilc1000: rename the member variable, ps8WidVal of wid This patch renames ps8WidVal of struct wid to val. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2fd3e44354370aea686a50e9f18b92d6a8d2b5fe Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:45 2015 +0900 staging: wilc1000: rename the member variable, s32ValueSize of wid This patch renames s32ValueSize of struct wid to size. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daaf16babf759b29c154e124586909a0b74d403b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:44 2015 +0900 staging: wilc1000: rename the member variable, u16WIDid of wid This patch renames u16WIDid of struct wid to id. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 416d8321f597217240f2a287f70b4e7d72266d35 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:43 2015 +0900 staging: wilc1000: rename the member variable, enuWIDtype of wid This patch renames enuWIDtype of struct wid to type. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20212c033aff93330c9f327574159bf6f3c2a49b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:42 2015 +0900 staging: wilc1000: remove typedef from tenuWIDtype This patch remove typedef from the enum tenuWIDtype and rename it to WID_TYPE. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9e0c260996f7ef1e5aa050a687d0e8086749478 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:41 2015 +0900 staging: wilc1000: remove typedef from tstrWID This patch removes typedef from the struct tstrWID and rename it to wid. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 684125a25e46214145dd4349d8326bf40c829a93 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:55:40 2015 +0900 staging: wilc1000: change parameter names in send_config_pkt This patch changes the parameter names in send_config_pkt function as the followings: - u8Mode to mode - pstrWIDs to wids - u32WIDsCount to count - drvHandler to drv Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 033622862c5a2277c6cfdea9e141d45fcd2e9924 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 12 16:55:39 2015 +0900 staging: wilc1000: remove bool bRespRequired from send_config_pkt This patch removes 4th parameter, bool bRespRequired from the send_config_pkt function because it is not used inside the funcntion. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aaed3290f9ffe1428ba8a7f4284f80a165cf453f Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:38 2015 +0900 staging: wilc1000: wilc_wfi_cfgoperations.c : removes unused local variables This patch removes useless local variable, s32Error and returns directly zero from wilc_wfi_cfgoperations.c and also removes incorrect break in switch-case statement. The break is not useless which is being called right after return statement. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b68d820bb5f47a230998c59b6cc10a269a9f107a Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:37 2015 +0900 staging: wilc1000: host_interface.c : removes unused local variables This patch removes unused local variables from host_interface.c. The unused local variable, s32Error is used just to return zero, so this patch calls "returns 0" instead of "return s32Error" after removing s32Error. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2482a79f48e5f8ba567887ee8a9a0f38cd09863b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:36 2015 +0900 staging: wilc1000: rename the member variable, drvHandler of host_if_msg This patch renames drvHandler of struct host_if_msg to drv. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 441dc609da9d64f18026f1b0fb73a2d5f1e0d023 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 12 16:55:35 2015 +0900 staging: wilc1000: remove typedef from tstrWILC_WFIDrv This patch removes typedef from the struct tstrWILC_WFIDrv and rename it to host_if_drv. This patch includes the removal of the comment for tstrWILC_WFIDrv as well. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a589f4f1b6505e26dc592e1aba360af5d6f8dc6 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 12 13:53:22 2015 -0700 staging: gdmwm: move variables to right side of comparison test Move variables to right side of comparison test to improve readability. Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4188e5862f40cb64256127b1ef7acfcc17e5467f Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 12 23:14:15 2015 +0530 Staging: vt6655: mac: Remove extra braces Remove braces from an if block as it comprises of a single statement. Fix checkpatch warning: braces {} are not necessary for single statement blocks Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45e68e45d38871ff76d838a0410fabbd5d26aed0 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 12 00:49:34 2015 +0530 Staging: vt6655: rxtx: Remove extra parentheses Remove unnecessary parentheses around if test expressions. Fixes checkpatch warning : unnecessary parentheses Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2d44fe3ec1b2f0db17e33de62daacc11275d0e3 Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Mon Oct 12 00:49:08 2015 +0530 Staging: vt6655: rxtx: Remove extra space character Remove unnecessary space character after the variable RATE_16M preserving the alignment of all other variables and comments. Fixes the warning by checkpatch: space prohibited before that ',' (ctx:WxW) Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1aa41dc7b8ef94c36a1213b475bbe7fe1e81304 Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Sun Oct 11 16:22:10 2015 +0100 Staging: vt6655: Renamed uRATE to rate Renamed uRATE to rate to avoid camelcase Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 749f3c05004ea9bf5b8cfca2c9edd41c764d68c2 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 21:03:29 2015 +0530 Staging: rtl8192e: Use kcalloc instead of kzalloc to allocate array The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41cb5786550ef67f970a2c1446f480d1ee0e2b69 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Mon Oct 12 16:12:34 2015 +0300 staging: octeon-ethernet: xaui: use common init Use common init. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4583edb221eb7297bcbc6f0febe895a96fed5f7 Author: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Date: Mon Oct 12 16:12:33 2015 +0300 staging: octeon-ethernet: xaui: don't register poll function in init Link status poll function is already controlled by open/stop functions, so we don't need to do it on init. This eliminates a redundant xaui link status notification when the module is loaded. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 905907500cd9bae3f6bef24925d5887d5c27e5aa Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Fri Oct 9 22:17:58 2015 +0300 staging: octeon: Fix kernel-doc function description Fix kernel-doc 'Excess function parameter' by moving the description to the correct location. Also corrected parameter description Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0fbf9f303b2d0791953ca13bb6b17f8081cc36a Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Fri Oct 9 22:17:57 2015 +0300 staging: octeon: Remove /** from regular comments Fix kernel-doc warnings 'cannot understand function prototype' by removing /** from regular comments Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b775df29f0ba51f16fae46b6e7c2c6a38f39e33c Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Fri Oct 9 22:17:56 2015 +0300 staging: octeon: Remove extra line from kernel-doc Fix 'bad line' kernel-doc warning Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa1a9c016115152b1b0349a018bf2c743a04ef72 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:46 2015 -0400 staging: unisys: vmcallinterface.h: Cleanup unused fields With the simplified driver models we have more vmcalls that aren't supported by linux guests. 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 b1121ab49f72faeccef3be4eb3ff9548582084c7 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:45 2015 -0400 staging: unisys: diagchannel.h: get rid of unused fields Some more churn of the drivers have made more fields unused, get rid of them. 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 3204d5a28f129800e1e7ca78acd2d30f5752090a Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:44 2015 -0400 staging: unisys: periodic_work.h Fix spacing Cleanup the multiple blank lines check in periodic_work.h. 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 0435d1449bca964182588c6673a944239f279785 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:43 2015 -0400 staging: unisys: periodic_work.h Fix parenthesis alignment Cleanup the checkpatch.pl check alignment should match open parenthesis, in visor_periodic_work_create(). 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 f4b97f9c15da4f86acc98da4d67be2305751fd21 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:42 2015 -0400 staging: unisys: visorchannel.c remove unneeded parenthesis Fix the checkpatch.pl -strict check: CHECK: Unnecessary parentheses around sig_hdr.num_overflows + &(sig_hdr.num_overflows), 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 ad1a71546cd1cb8cf009fdbc15aad9bc7efb820f Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:41 2015 -0400 staging: unisys: visorchannel.c fix spacing around cast Clean up the following checkpatch.pl --strict checks: CHECK: No space is necessary after a cast + buf = (u8 *) __get_free_page(GFP_KERNEL); CHECK: No space is necessary after a cast + free_page((unsigned long) buf); CHECK: spaces preferred around that '+' (ctx:VxE) + SIG_QUEUE_OFFSET(&channel->chan_hdr, queue)+ \ ^ 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 54bf4d454e37d66041871775ce66cda972c70cea Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:40 2015 -0400 staging: unisys: channel.h Fix spacing around operands. Clean up the seven checks reported by checkpatch.pl --strict. CHECK: spaces preferred around that '<<' (ctx:VxV) +#define SIGNATURE_16(A, B) ((A) | (B<<8)) ^ CHECK: spaces preferred around that '+' (ctx:VxV) +#define COVERQ(v, d) (((v)+(d)-1) / (d)) ^ CHECK: spaces preferred around that '-' (ctx:VxV) +#define COVERQ(v, d) (((v)+(d)-1) / (d)) ^ CHECK: spaces preferred around that '*' (ctx:VxV) +#define COVER(v, d) ((d)*COVERQ(v, d)) ^ CHECK: spaces preferred around that '-' (ctx:VxE) + chan->QHDRFLD.sig_base_offset = (u64)(chan->QDATAFLD)- \ ^ CHECK: spaces preferred around that '/' (ctx:VxV) + sizeof(chan->QDATAFLD)/sizeof(QDATATYPE); \ ^ CHECK: spaces preferred around that '-' (ctx:VxV) + chan->QHDRFLD.max_signals = chan->QHDRFLD.max_slots-1; \ 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 9f00be7f9e08c8f95663cda9635d81a87c9ded7f Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Mon Oct 12 15:19:39 2015 -0400 staging: unisys: channel.h covert from pragma to __packed Need to convert from #pragma to __packed for channel structures. 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 91678f37004d84757738790a7257b87cc909f483 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Mon Oct 12 15:28:57 2015 -0400 staging: unisys: visornic: prevent faults if driver re-loaded during stress Prevent faults that would occur during this sequence of activity during network stress: rmmod visornic modprobe visornic /etc/init.d/network restart The problem fixed was that the back-end IO partition was holding onto stale receive buffers after the "rmmod visornic", and erroneously completing them after a subsequent "modprobe visornic". This is fixed in this patch as follows: * Tell the back-end IO partition that we want it to employ its "incarnation mechanism" to ensure it does not complete stale receive buffers after the guest virtual device environment changes (e.g., by re-loading the driver), by setting the ULTRA_IO_DRIVER_SUPPORTS_ENHANCED_RCVBUF_CHECKING feature bit, and supplying a unique incarnation number in rcvpost.unique_num for each receive buffer posted. * When visornic loads, make sure we drain and ignore any possible-stale data in the channel before beginning network operation. Prior to this patch, faults like this would occur almost every time if you attempted to rmmod + modprobe the visornic driver and restart the network service during heavy network activity: BUG: spinlock bad magic on CPU#0, ksoftirqd/0/3 lock: 0xffff88002d8a56d8, .magic: ffff8800, .owner: <none>/-1, .owner_cpu: 2304 CPU: 0 PID: 3 Comm: ksoftirqd/0 Tainted: G C 4.3.0-rc3-ARCH+ #74 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 5e757bc58d15b9fc7d36bb4fcc6f068489e2d29d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 21:03:28 2015 +0530 Staging: unisys: Use kcalloc instead of kzalloc to allocate array The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb30b15aeaeacc980facbe877ed23882e35fcd8c Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Sat Oct 10 19:23:50 2015 +0700 staging: rtl8188eu: spaces preferred around that + inserted This patch inserts spaces preferred around that '+' found by checkpatch. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59056281af5d4b011380bfbb59436a392c452bde Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Sat Oct 10 19:21:54 2015 +0700 staging: rtl8188eu: ARRAY_SIZE instead of sizeof/sizeof used This patch inserts ARRAY_SIZE instead of sizeof(type array[])/sizeof(type), made arraylen variable constant and removes unnecessary default value in variable definition. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e525e7a63ba4b544f47fe57a3ed3480af288f8eb Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 00:55:19 2015 +0530 Staging: rtl8188eu: core: Use ARRAY_SIZE macro ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type. Changes made using Coccinelle- @@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d84d66f6f7f33f74abe4a8446006fe44fcc90a1f Author: Ivan Safonov <insafonov@xxxxxxxxx> Date: Thu Oct 8 13:40:11 2015 +0700 staging: rtl8188eu: unused macro read_next_pair removed Unused macro read_next_pair removed from rtl8188eu driver. Signed-off-by: Ivan Safonov <insafonov@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19fac3bbe2d797be29665347f3f37dd4ceb29061 Author: Iban Rodriguez <iban.rodriguez@xxxxxxx> Date: Mon Oct 5 21:18:09 2015 +0200 Staging: rtl8188eu: Correct coding style errors Correct errors reported by checkpatch.pl because space prohibited before ','. Also split one line into two as it was longer than 80 characters Signed-off-by: Iban Rodriguez <iban.rodriguez@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 681cd988d3587ca2b3afa3db598a2ecab572b742 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 11 14:16:57 2015 +0100 staging: rtl8712: fix negative level value range->avg_qual.level is of type uint8, so it shouldn't be assigned a negative number. Assigning it 0x100 - 78, which is the equivalent to (20 + -98) dBm when IW_QUAL_DBM is set. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 942eaa867f321380129d8519e5279a67e8f4c04e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 17:54:09 2015 +0530 staging: rtl8712: usleep_range is preferred over udelay Fix checkpatch.pl issue: "CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt". Replace `udelay()` with a call to `usleep_range()` with a reasonable upper limit determined by the other sleeping functions present. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b33fc7229154341c466cbc5c5b7ca69d16054771 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 14:31:11 2015 +0530 staging: rtl8712: Replace GFP_ATOMIC with GFP_KERNEL Replace GFP_ATOMIC with GFP_KERNEL since GFP_ATOMIC is used in atomic context and only needed when functions are not allowed to sleep whereas the function is later calling msleep(). Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eef6c808d3828d55334023c13c96e1ca5cd1008b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 00:55:18 2015 +0530 Staging: rtl8712: Use ARRAY_SIZE macro ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type Changes made using Coccinelle- @@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cd66a18138ce6439ef11dca6347c6c1e180189c Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 11 14:42:01 2015 +0100 staging: rtl8192u: r8192U_wx: fix negative noise and level values range->max_qual.noise and level are of type uint8, so they shouldn't be assigned a negative number. Assigning them 0x100 - 98, and 0x100 - 78 which are the equivalent to -98 dBm and -78 dBm, respectively, when IW_QUAL_DBM is set. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f517f3bf07f1f776f12b2413dbefa21523021ac1 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 11 14:31:07 2015 +0100 staging: rtl8192u: r8192U_core: fix negative noise value ieee80211_rx_stats.noise is of type uint8, so it shouldn't be assigned a negative number. Assigning it 0x100 - 98, which is the equivalent to -98 dBm when IW_QUAL_DBM is set. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 879f3074c2484e7fc972cebf23d0a55fd2430605 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 11 10:41:23 2015 +0530 Staging: rtl8192u: ieee80211: ieee80211_rx: Remove commented printk messages Remove commented out printk messages since they are not needed. Also remove the unnecessary braces and blank lines Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d91398347dade7a234f2d44a2475afca28e3b53a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 11 10:41:22 2015 +0530 Staging: rtl8192u: ieee80211: ieee80211_wx: Remove commented printk messages Remove commented out printk messages since they are not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0ac7d896ab4f0f7dbe6ba771677491f46e8569b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 11 10:41:21 2015 +0530 Staging: rtl8192u: ieee80211: ieee80211_softmac: Remove commented printk messages Remove commented printk since it is not needed Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 075eb0dc3670328fa62425449ca4b52bde2d3c17 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Oct 8 17:21:49 2015 +0200 Staging: rtl8192u: Do not DMA on the stack Fix error "doing DMA on the stack" by using kzalloc for buffer allocation. Issue found by smatch. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 806e6e1bec9c2e7a749748f4edb2e812b6b2fdeb Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Mon Oct 12 14:28:36 2015 -0700 staging: rdma: hfi1: remove unnecessary out of memory messages Out of memory messages are unnecssary in the drivers as they are reported by memory management. Addresses checkpatch.pl: WARNING: Possible unnecessary 'out of memory' message Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be036bbe2c16929806ab747bfe8a88f5d6dbd0e5 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 21:03:27 2015 +0530 Staging: rdma: ipath: Use kcalloc instead of kzalloc to allocate array The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 314fcc0d53261a984788d09a1076c17a919504fe Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 21:03:26 2015 +0530 Staging: rdma: hfi1: Use kcalloc instead of kzalloc to allocate array The advantage of kcalloc is, that will prevent integer overflows which could result from the multiplication of number of elements and size and it is also a bit nicer to read. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ecc4a18d987e7e9f4b7eff2bf9215ac02c8a980 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 9 15:56:59 2015 +0200 Staging: rdma: Use memdup_user Use memdup_user when user data is immediately copied into the allocated region. Issue found using coccinelle. Signed-off-by: Ksenija Stanojevic<ksenija.stanojevic@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 514d4d744d5c40aed94c4424a715227698935be9 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 12 18:44:34 2015 +0530 Staging: most: hdm-i2c: Drop owner assignment from i2c driver i2c_driver does not need to set an owner because core will set it Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f17591fa757a089348c251f23bb9bcebaf08cb1 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Oct 10 13:42:49 2015 +0900 Staging: most: Fix typo in staging/most This patch fix spelling typo found in most Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31557ea0337eb3db5937f441bfa028caba5836d6 Author: Binbin Zhou <zhoubb@xxxxxxxxxx> Date: Mon Oct 12 09:48:27 2015 +0800 staging: sm750fb: Fix the power state error in resume The PM_EVENT_RESUME state is needed when SM750 resume, otherwise it will be failed in the second time of continuous suspend/resume. Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Signed-off-by: Binbin Zhou <zhoubb@xxxxxxxxxx> Reviewed-by: Huacai Chen <chenhc@xxxxxxxxxx> Reviewed-by: Teddy Wang <teddy.wang@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aeec43da3e4927e33b598b05925046eb1ab9d963 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:21:30 2015 +0530 staging: sm750fb: Add space around '&' Add space around operator '&'. Problem found using checkpatch.pl CHECK: spaces preferred around that '&' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e80ef45dadf7895b87d40f053ba861d318a9426a Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:20:36 2015 +0530 staging: sm750fb: Add space around '<<' Add space around operator '<<'. Problem found using checkpatch.pl CHECK: spaces preferred around that '<<' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa355c8645c1f26bef432f66c8943e6fb97ac351 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:19:00 2015 +0530 staging: sm750fb: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edb23022f2c8d58d109e43c3e7428771a724c747 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:17:44 2015 +0530 staging: sm750fb: Rename dispState Rename dispState to disp_state to avoid CamelCase. Problem found using checkpatch.pl CHECK: Avoid CamelCase: <dispState> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0221381c46457c5c305b9cb5bc4f84b8e29e4d71 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:16:02 2015 +0530 staging: sm750fb: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43ce0b538a5e2b8117337e6509f667943222ef3e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sat Oct 10 02:14:27 2015 +0530 staging: sm750fb: Rename miniDiff Rename miniDiff to mini_diff to avoid CamelCase. Problem found using checkpatch.pl CHECK: Avoid CamelCase: <miniDiff> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a76f23d66df1cf41c759fe877e77441c9dd65e5e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 9 03:15:01 2015 +0530 staging: sm750fb: Remove space after opening brace Remove space after opening brace '{'. Problem found using checkpatch.pl CHECK: Blank lines aren't necessary after an open brace '{' Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a66a986b412d96cfa6bf700b721729b722bed9b Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 9 03:11:59 2015 +0530 staging: sm750fb: Remove space before closing brace Remove space before closing brace '}'. Problem found using checkpatch.pl CHECK: Blank lines aren't necessary before a close brace '}' Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0fd4b57ba0258c84b5208913943eece7bf1c8f1 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Fri Oct 9 03:10:15 2015 +0530 staging: sm750fb: Remove space after cast Remove unnecessary space after cast. Problem found using checkpatch.pl CHECK: No space is necessary after a cast Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80fb74c38709fd12e73f33ae464b37821cb01136 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 00:55:17 2015 +0530 Staging: sm750fb: Use ARRAY_SIZE macro ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its first element. Changes made using Coccinelle- @@ type T; T[] E; @@ - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6623c60dc28ee966cd85c6f12aa2fc3c952d0179 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 11 12:49:56 2015 +0200 bridge: vlan: enforce no pvid flag in vlan ranges Currently it's possible for someone to send a vlan range to the kernel with the pvid flag set which will result in the pvid bouncing from a vlan to vlan and isn't correct, it also introduces problems for hardware where it doesn't make sense having more than 1 pvid. iproute2 already enforces this, so let's enforce it on kernel-side as well. Reported-by: Elad Raz <eladr@xxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbb41b91e68a302087762823136c9067138cff7c Author: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Date: Sat Oct 10 21:47:19 2015 +0200 atm: iphase: fix misleading indention Fix a smatch warning: drivers/atm/iphase.c:1178 rx_pkt() warn: curly braces intended? The code is correct, the indention is misleading. In case the allocation of skb fails, we want to skip to the end. Signed-off-by: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21e26ff993dea9dceaf0f19cfec4bef58387b0f2 Author: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Date: Sat Oct 10 21:47:18 2015 +0200 atm: iphase: return -ENOMEM instead of -1 in case of failed kmalloc() Smatch complains about returning hard coded error codes, silence this warning. drivers/atm/iphase.c:115 ia_enque_rtn_q() warn: returning -1 instead of -ENOMEM is sloppy Signed-off-by: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c5b83f0f255542b40a1273c32eb067ec00bb2b2 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 08:26:36 2015 -0700 ipv6 route: use err pointers instead of returning pointer by reference This patch makes ip6_route_info_create return err pointer instead of returning the rt pointer by reference as suggested by Dave Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99dcc7dfb1960d5e2f1577ff3aad69dfeb6e9787 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Sat Oct 10 17:20:38 2015 +0800 net: hns: fix the unknown phy_nterface_t type error This patch fix the building error reported by Jiri Pirko <jiri@xxxxxxxxxxx> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t' phy_interface_t phy_if; ^ the full build log is on https://lists.01.org/pipermail/kbuild-all. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5fcd2d8be43664f1b6a5add3d21a367411add9d4 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 9 15:42:21 2015 -0700 tun: use sk_fullsock() before reading sk->sk_tsflags timewait or request sockets are small and do not contain sk->sk_tsflags Without this fix, we might read garbage, and crash later in __skb_complete_tx_timestamp() -> sock_queue_err_skb() (These pseudo sockets do not have an error queue either) Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7a4609591612119869f2498732da98e4f8d5f4d Merge: 161642e b727759 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 12 19:44:22 2015 -0700 Merge branch 'netns-defrag' Eric W. Biederman says: ==================== net: Pass net into defragmentation This is the next installment of my work to pass struct net through the output path so the code does not need to guess how to figure out which network namespace it is in, and ultimately routes can have output devices in another network namespace. In netfilter and af_packet we defragment packets in the output path, and there is the usual amount of confusion about how to compute which net we are processing the packets in. This patchset clears that confusion up by explicitly passing in struct net in ip_defrag, ip_check_defrag, and nf_ct_frag6_gather. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b72775977c39dcd380777ff5ea8041fdf67ee382 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Oct 9 13:44:55 2015 -0500 ipv6: Pass struct net into nf_ct_frag6_gather The function nf_ct_frag6_gather is called on both the input and the output paths of the networking stack. In particular ipv6_defrag which calls nf_ct_frag6_gather is called from both the the PRE_ROUTING chain on input and the LOCAL_OUT chain on output. The addition of a net parameter makes it explicit which network namespace the packets are being reassembled in, and removes the need for nf_ct_frag6_gather to guess. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19bcf9f203c82c2028f5a0881b1f0690e3207190 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Oct 9 13:44:54 2015 -0500 ipv4: Pass struct net into ip_defrag and ip_check_defrag The function ip_defrag is called on both the input and the output paths of the networking stack. In particular conntrack when it is tracking outbound packets from the local machine calls ip_defrag. So add a struct net parameter and stop making ip_defrag guess which network namespace it needs to defragment packets in. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37fcbab61b8ecf75cb5fd81e5809b71c270f9632 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Oct 9 13:44:53 2015 -0500 ipv4: Only compute net once in ip_call_ra_chain ip_call_ra_chain is called early in the forwarding chain from ip_forward and ip_mr_input, which makes skb->dev the correct expression to get the input network device and dev_net(skb->dev) a correct expression for the network namespace the packet is being processed in. Compute the network namespace and store it in a variable to make the code clearer. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 161642e24fee40fba2c5bc2ceacc00d118a22d65 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 9 11:29:32 2015 -0700 packet: fix match_fanout_group() Recent TCP listener patches exposed a prior af_packet bug : match_fanout_group() blindly assumes it is always safe to cast sk to a packet socket to compare fanout with af_packet_priv But SYNACK packets can be sent while attached to request_sock, which are smaller than a "struct sock". We can read non existent memory and crash. Fixes: c0de08d04215 ("af_packet: don't emit packet on orig fanout group") Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Cc: Eric Leblond <eric@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 991659674288dba28c2f5a3d1a0133ef4d20824a Merge: e2ca690 7e64e5e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 12 19:39:18 2015 -0700 Merge tag 'wireless-drivers-next-for-davem-2015-10-09' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next Kalle Valo says: ==================== Major changes: iwlwifi * some debugfs improvements * fix signedness in beacon statistics * deinline some functions to reduce size when device tracing is enabled * filter beacons out in AP mode when no stations are associated * deprecate firmwares version -12 * fix a runtime PM vs. legacy suspend race * one-liner fix for a ToF bug * clean-ups in the rx code * small debugging improvement * fix WoWLAN with new firmware versions * more clean-ups towards multiple RX queues; * some rate scaling fixes and improvements; * some time-of-flight fixes; * other generic improvements and clean-ups; brcmfmac * rework code dealing with multiple interfaces * allow logging firmware console using debug level * support for BCM4350, BCM4365, and BCM4366 PCIE devices * fixed for legacy P2P and P2P device handling * correct set and get tx-power ath9k * add support for Outside Context of a BSS (OCB) mode mwifiex * add USB multichannel feature ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2ca690b657f4ca5c204fcc6470d462b776d73b3 Author: Paolo Abeni <pabeni@xxxxxxxxxx> Date: Fri Oct 9 14:34:31 2015 +0200 ipv4/icmp: redirect messages can use the ingress daddr as source This patch allows configuring how the source address of ICMP redirect messages is selected; by default the old behaviour is retained, while setting icmp_redirects_use_orig_daddr force the usage of the destination address of the packet that caused the redirect. The new behaviour fits closely the RFC 5798 section 8.1.1, and fix the following scenario: Two machines are set up with VRRP to act as routers out of a subnet, they have IPs x.x.x.1/24 and x.x.x.2/24, with VRRP holding on to x.x.x.254/24. If a host in said subnet needs to get an ICMP redirect from the VRRP router, i.e. to reach a destination behind a different gateway, the source IP in the ICMP redirect is chosen as the primary IP on the interface that the packet arrived at, i.e. x.x.x.1 or x.x.x.2. The host will then ignore said redirect, due to RFC 1122 section 3.2.2.2, and will continue to use the wrong next-op. Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0944d6b5a2fad9ba3b7abb2e94a6b7d40cd4a935 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Fri Oct 9 13:54:11 2015 +0200 bridge: try switchdev op first in __vlan_vid_add/del Some drivers need to implement both switchdev vlan ops and vid_add/kill ndos. For that to work in bridge code, we need to try switchdev op first when adding/deleting vlan id. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3703ebe4035044dea3749fcdd1c0849937147959 Author: wangweidong <wangweidong1@xxxxxxxxxx> Date: Tue Oct 13 10:05:19 2015 +0800 BNX2: free temp_stats_blk on error path In bnx2_init_board, missing free temp_stats_blk on error path when some operations do failed. Just add the 'kfree' operation. Signed-off-by: Wang Weidong <wangweidong1@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31eb4360546b4bd890f349db01295a173c09b0fb Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Oct 13 09:02:01 2015 +0900 perf hists browser: Add 'm' key for context menu display With horizontal scrolling, the left/right arrow keys are used to scroll columns and ENTER/ESC keys are used to enter/exit menu. However if callchain is recorded, the ENTER key is used to toggle callchain expansion so there's no way to display menu. Use 'm' key to display the menu for this case. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444694521-8136-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 76973dd79fd52f187ba3df018bca65792a3d942d Merge: c7d39e3 d475f09 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 12 19:28:32 2015 -0700 Merge branch 'setsockopt_incoming_cpu' Eric Dumazet says: ==================== tcp: better smp listener behavior As promised in last patch series, we implement a better SO_REUSEPORT strategy, based on cpu hints if given by the application. We also moved sk_refcnt out of the cache line containing the lookup keys, as it was considerably slowing down smp operations because of false sharing. This was simpler than converting listen sockets to conventional RCU (to avoid sk_refcnt dirtying) Could process 6.0 Mpps SYN instead of 4.2 Mpps on my test server. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d475f090bf1c0dc2999e98bbf2e7cb2243358849 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 19:33:24 2015 -0700 tcp: shrink tcp_timewait_sock by 8 bytes Reducing tcp_timewait_sock from 280 bytes to 272 bytes allows SLAB to pack 15 objects per page instead of 14 (on x86) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed53d0ab761f5c71d77c8dc05fd19c0a851200db Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 19:33:23 2015 -0700 net: shrink struct sock and request_sock by 8 bytes One 32bit hole is following skc_refcnt, use it. skc_incoming_cpu can also be an union for request_sock rcv_wnd. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e5eb54d303b7cb1174977ca79030e135728c95e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 19:33:22 2015 -0700 net: align sk_refcnt on 128 bytes boundary sk->sk_refcnt is dirtied for every TCP/UDP incoming packet. This is a performance issue if multiple cpus hit a common socket, or multiple sockets are chained due to SO_REUSEPORT. By moving sk_refcnt 8 bytes further, first 128 bytes of sockets are mostly read. As they contain the lookup keys, this has a considerable performance impact, as cpus can cache them. These 8 bytes are not wasted, we use them as a place holder for various fields, depending on the socket type. Tested: SYN flood hitting a 16 RX queues NIC. TCP listener using 16 sockets and SO_REUSEPORT and SO_INCOMING_CPU for proper siloing. Could process 6.0 Mpps SYN instead of 4.2 Mpps Kernel profile looked like : 11.68% [kernel] [k] sha_transform 6.51% [kernel] [k] __inet_lookup_listener 5.07% [kernel] [k] __inet_lookup_established 4.15% [kernel] [k] memcpy_erms 3.46% [kernel] [k] ipt_do_table 2.74% [kernel] [k] fib_table_lookup 2.54% [kernel] [k] tcp_make_synack 2.34% [kernel] [k] tcp_conn_request 2.05% [kernel] [k] __netif_receive_skb_core 2.03% [kernel] [k] kmem_cache_alloc Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70da268b569d32a9fddeea85dc18043de9d89f89 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 19:33:21 2015 -0700 net: SO_INCOMING_CPU setsockopt() support SO_INCOMING_CPU as added in commit 2c8c56e15df3 was a getsockopt() command to fetch incoming cpu handling a particular TCP flow after accept() This commits adds setsockopt() support and extends SO_REUSEPORT selection logic : If a TCP listener or UDP socket has this option set, a packet is delivered to this socket only if CPU handling the packet matches the specified one. This allows to build very efficient TCP servers, using one listener per RX queue, as the associated TCP listener should only accept flows handled in softirq by the same cpu. This provides optimal NUMA behavior and keep cpu caches hot. Note that __inet_lookup_listener() still has to iterate over the list of all listeners. Following patch puts sk_refcnt in a different cache line to let this iteration hit only shared and read mostly cache lines. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 186c6cfb32beae66140bc3c3fe4a519ee0234e33 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Sun Sep 27 20:37:55 2015 +0200 perf callchains: Fix unw_word_t pointer casts unw_word_t is uint64_t even on 32-bit MIPS. Cast it to uintptr_t before the cast to void *p to get rid of the following errors: util/unwind-libunwind.c: In function 'access_mem': util/unwind-libunwind.c:464:4: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] util/unwind-libunwind.c:475:2: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] cc1: all warnings being treated as errors make[3]: *** [util/unwind-libunwind.o] Error 1 Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rabin Vincent <rabinv@xxxxxxxx> Link: http://lkml.kernel.org/r/1443379079-29133-1-git-send-email-rabin.vincent@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8eac1d5e9256260b9cc3bfcdd9b8b995990950f5 Author: Rabin Vincent <rabin.vincent@xxxxxxxx> Date: Sun Sep 27 20:37:57 2015 +0200 perf callchain: Use debug_frame if eh_frame is unusable When NO_LIBUNWIND_DEBUG_FRAME=0, use the .debug_frame if the .eh_frame doesn't contain the approprate unwind tables. Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rabin Vincent <rabinv@xxxxxxxx> Link: http://lkml.kernel.org/r/1443379079-29133-3-git-send-email-rabin.vincent@xxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c7d39e32632e5db9dc4da51198b76d8c315946ff Author: Edward Jee <edjee@xxxxxxxxxx> Date: Thu Oct 8 14:56:49 2015 -0700 packet: support per-packet fwmark for af_packet sendmsg Signed-off-by: Edward Hyunkoo Jee <edjee@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f28ea365cdefc3b4fd0373e70b0106a0cd9b4c23 Author: Edward Jee <edjee@xxxxxxxxxx> Date: Thu Oct 8 14:56:48 2015 -0700 sock: support per-packet fwmark It's useful to allow users to set fwmark for an individual packet, without changing the socket state. The function this patch adds in sock layer can be used by the protocols that need such a feature. Signed-off-by: Edward Hyunkoo Jee <edjee@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1bf5fe03184f782f2a6827cf314ae58834865da Merge: 0fa2887 bf50887 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 12 19:13:41 2015 -0700 Merge branch 'bpf-unprivileged' Alexei Starovoitov says: ==================== bpf: unprivileged v1-v2: - this set logically depends on cb patch "bpf: fix cb access in socket filter programs": http://patchwork.ozlabs.org/patch/527391/ which is must have to allow unprivileged programs. Thanks Daniel for finding that issue. - refactored sysctl to be similar to 'modules_disabled' - dropped bpf_trace_printk - split tests into separate patch and added more tests based on discussion v1 cover letter: I think it is time to liberate eBPF from CAP_SYS_ADMIN. As was discussed when eBPF was first introduced two years ago the only piece missing in eBPF verifier is 'pointer leak detection' to make it available to non-root users. Patch 1 adds this pointer analysis. The eBPF programs, obviously, need to see and operate on kernel addresses, but with these extra checks they won't be able to pass these addresses to user space. Patch 2 adds accounting of kernel memory used by programs and maps. It changes behavoir for existing root users, but I think it needs to be done consistently for both root and non-root, since today programs and maps are only limited by number of open FDs (RLIMIT_NOFILE). Patch 2 accounts program's and map's kernel memory as RLIMIT_MEMLOCK. Unprivileged eBPF is only meaningful for 'socket filter'-like programs. eBPF programs for tracing and TC classifiers/actions will stay root only. In parallel the bpf fuzzing effort is ongoing and so far we've found only one verifier bug and that was already fixed. The 'constant blinding' pass also being worked on. It will obfuscate constant-like values that are part of eBPF ISA to make jit spraying attacks even harder. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf5088773faffc4a052b95aa978a1660bf5f3f8d Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Oct 7 22:23:23 2015 -0700 bpf: add unprivileged bpf tests Add new tests samples/bpf/test_verifier: unpriv: return pointer checks that pointer cannot be returned from the eBPF program unpriv: add const to pointer unpriv: add pointer to pointer unpriv: neg pointer checks that pointer arithmetic is disallowed unpriv: cmp pointer with const unpriv: cmp pointer with pointer checks that comparison of pointers is disallowed Only one case allowed 'void *value = bpf_map_lookup_elem(..); if (value == 0) ...' unpriv: check that printk is disallowed since bpf_trace_printk is not available to unprivileged unpriv: pass pointer to helper function checks that pointers cannot be passed to functions that expect integers If function expects a pointer the verifier allows only that type of pointer. Like 1st argument of bpf_map_lookup_elem() must be pointer to map. (applies to non-root as well) unpriv: indirectly pass pointer on stack to helper function checks that pointer stored into stack cannot be used as part of key passed into bpf_map_lookup_elem() unpriv: mangle pointer on stack 1 unpriv: mangle pointer on stack 2 checks that writing into stack slot that already contains a pointer is disallowed unpriv: read pointer from stack in small chunks checks that < 8 byte read from stack slot that contains a pointer is disallowed unpriv: write pointer into ctx checks that storing pointers into skb->fields is disallowed unpriv: write pointer into map elem value checks that storing pointers into element values is disallowed For example: int bpf_prog(struct __sk_buff *skb) { u32 key = 0; u64 *value = bpf_map_lookup_elem(&map, &key); if (value) *value = (u64) skb; } will be rejected. unpriv: partial copy of pointer checks that doing 32-bit register mov from register containing a pointer is disallowed unpriv: pass pointer to tail_call checks that passing pointer as an index into bpf_tail_call is disallowed unpriv: cmp map pointer with zero checks that comparing map pointer with constant is disallowed unpriv: write into frame pointer checks that frame pointer is read-only (applies to root too) unpriv: cmp of frame pointer checks that R10 cannot be using in comparison unpriv: cmp of stack pointer checks that Rx = R10 - imm is ok, but comparing Rx is not unpriv: obfuscate stack pointer checks that Rx = R10 - imm is ok, but Rx -= imm is not Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aaac3ba95e4c8b496d22f68bd1bc01cfbf525eca Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Oct 7 22:23:22 2015 -0700 bpf: charge user for creation of BPF maps and programs since eBPF programs and maps use kernel memory consider it 'locked' memory from user accounting point of view and charge it against RLIMIT_MEMLOCK limit. This limit is typically set to 64Kbytes by distros, so almost all bpf+tracing programs would need to increase it, since they use maps, but kernel charges maximum map size upfront. For example the hash map of 1024 elements will be charged as 64Kbyte. It's inconvenient for current users and changes current behavior for root, but probably worth doing to be consistent root vs non-root. Similar accounting logic is done by mmap of perf_event. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1be7f75d1668d6296b80bf35dcf6762393530afc Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Oct 7 22:23:21 2015 -0700 bpf: enable non-root eBPF programs In order to let unprivileged users load and execute eBPF programs teach verifier to prevent pointer leaks. Verifier will prevent - any arithmetic on pointers (except R10+Imm which is used to compute stack addresses) - comparison of pointers (except if (map_value_ptr == 0) ... ) - passing pointers to helper functions - indirectly passing pointers in stack to helper functions - returning pointer from bpf program - storing pointers into ctx or maps Spill/fill of pointers into stack is allowed, but mangling of pointers stored in the stack or reading them byte by byte is not. Within bpf programs the pointers do exist, since programs need to be able to access maps, pass skb pointer to LD_ABS insns, etc but programs cannot pass such pointer values to the outside or obfuscate them. Only allow BPF_PROG_TYPE_SOCKET_FILTER unprivileged programs, so that socket filters (tcpdump), af_packet (quic acceleration) and future kcm can use it. tracing and tc cls/act program types still require root permissions, since tracing actually needs to be able to see all kernel pointers and tc is for root only. For example, the following unprivileged socket filter program is allowed: int bpf_prog1(struct __sk_buff *skb) { u32 index = load_byte(skb, ETH_HLEN + offsetof(struct iphdr, protocol)); u64 *value = bpf_map_lookup_elem(&my_map, &index); if (value) *value += skb->len; return 0; } but the following program is not: int bpf_prog1(struct __sk_buff *skb) { u32 index = load_byte(skb, ETH_HLEN + offsetof(struct iphdr, protocol)); u64 *value = bpf_map_lookup_elem(&my_map, &index); if (value) *value += (u64) skb; return 0; } since it would leak the kernel address into the map. Unprivileged socket filter bpf programs have access to the following helper functions: - map lookup/update/delete (but they cannot store kernel pointers into them) - get_random (it's already exposed to unprivileged user space) - get_smp_processor_id - tail_call into another socket filter program - ktime_get_ns The feature is controlled by sysctl kernel.unprivileged_bpf_disabled. This toggle defaults to off (0), but can be set true (1). Once true, bpf programs and maps cannot be accessed from unprivileged process, and the toggle cannot be set back to false. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fec3fb4734b4d2c33975077c250ebd4a3a9f8e34 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 08:12:22 2015 +0100 ARM: multi_v7_defconfig: enable HDMI output for Renesas RCar Actviate HDMI output of the RCar DU (and LVDS while we are here). Enable the HDMI encoder chip found on Lager/Koelsch boards. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f9bcb6dc8013d4da6660556ddf2383e4fbcbe3d7 Author: Aurelien Chanot <chanot.a@xxxxxxxxx> Date: Wed Oct 7 12:10:08 2015 -0700 mtd: spi-nor: Add support for Micron n25q032a The N25Q032A is identical to the N25Q032 except it has a different supply voltage range. Therefore, it has a new JEDEC ID. Signed-off-by: Aurelien Chanot <chanot.a@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 99f7445ea41c0187cd2e78bcb58cdd9e6c1756e5 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 13 01:12:18 2015 +0300 ARM: shmobile: porter: enable internal PCI and USB PHY Enable internal AHB-PCI bridges for the USB EHCI/OHCI controllers attached to them and also enable USB PHY device for the Porter board. We have to enable everything in one patch since EHCI/OHCI devices are already linked to the USB PHY device. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d906d49fc5f49a0129527e8fbc13312f36b9b9ce Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Oct 2 10:47:34 2015 +0100 Btrfs: send, fix file corruption due to incorrect cloning operations If we have a file that shares an extent with other files, when processing the extent item relative to a shared extent, we blindly issue a clone operation that will target a length matching the length in the extent item and uses as a source some other file the receiver already has and points to the same extent. However that range in the other file might not exclusively point only to the shared extent, and so using that length will result in the receiver getting a file with different data from the one in the send snapshot. This issue happened both for incremental and full send operations. So fix this by issuing clone operations with lengths that don't cover regions of the source file that point to different extents (or have holes). The following test case for fstests reproduces 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() { 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 _need_to_be_root _require_cp_reflink _require_xfs_io_command "fpunch" 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 100K extent. $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 100K" \ $SCRATCH_MNT/foo | _filter_xfs_io # Clone our file into a new file named bar. cp --reflink=always $SCRATCH_MNT/foo $SCRATCH_MNT/bar # Now overwrite parts of our foo file. $XFS_IO_PROG -c "pwrite -S 0xbb 50K 10K" \ -c "pwrite -S 0xcc 90K 10K" \ -c "fpunch 70K 10k" \ $SCRATCH_MNT/foo | _filter_xfs_io _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \ $SCRATCH_MNT/snap echo "File digests in the original filesystem:" md5sum $SCRATCH_MNT/snap/foo | _filter_scratch md5sum $SCRATCH_MNT/snap/bar | _filter_scratch _run_btrfs_util_prog send $SCRATCH_MNT/snap -f $send_files_dir/1.snap # Now recreate the filesystem by receiving the send stream 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 # We expect the destination filesystem to have exactly the same file # data as the original filesystem. # The btrfs send implementation had a bug where it sent a clone # operation from file foo into file bar covering the whole [0, 100K[ # range after creating and writing the file foo. This was incorrect # because the file bar now included the updates done to file foo after # we cloned foo to bar, breaking the COW nature of reflink copies # (cloned extents). echo "File digests in the new filesystem:" md5sum $SCRATCH_MNT/snap/foo | _filter_scratch md5sum $SCRATCH_MNT/snap/bar | _filter_scratch status=0 exit Another test case that reproduces the problem when we have compressed extents: 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 _need_to_be_root _require_cp_reflink 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 "-o compress" # Create our file with an extent of 100K starting at file offset 0K. $XFS_IO_PROG -f -c "pwrite -S 0xaa 0K 100K" \ -c "fsync" \ $SCRATCH_MNT/foo | _filter_xfs_io # Rewrite part of the previous extent (its first 40K) and write a new # 100K extent starting at file offset 100K. $XFS_IO_PROG -c "pwrite -S 0xbb 0K 40K" \ -c "pwrite -S 0xcc 100K 100K" \ $SCRATCH_MNT/foo | _filter_xfs_io # Our file foo now has 3 file extent items in its metadata: # # 1) One covering the file range 0 to 40K; # 2) One covering the file range 40K to 100K, which points to the first # extent we wrote to the file and has a data offset field with value # 40K (our file no longer uses the first 40K of data from that # extent); # 3) One covering the file range 100K to 200K. # Now clone our file foo into file bar. cp --reflink=always $SCRATCH_MNT/foo $SCRATCH_MNT/bar # Create our snapshot for the send operation. _run_btrfs_util_prog subvolume snapshot -r $SCRATCH_MNT \ $SCRATCH_MNT/snap echo "File digests in the original filesystem:" md5sum $SCRATCH_MNT/snap/foo | _filter_scratch md5sum $SCRATCH_MNT/snap/bar | _filter_scratch _run_btrfs_util_prog send $SCRATCH_MNT/snap -f $send_files_dir/1.snap # Now recreate the filesystem by receiving the send stream and verify we # get the same file contents that the original filesystem had. # Btrfs send used to issue a clone operation from foo's range # [80K, 140K[ to bar's range [40K, 100K[ when cloning the extent pointed # to by foo's second file extent item, this was incorrect because of bad # accounting of the file extent item's data offset field. The correct # range to clone from should have been [40K, 100K[. _scratch_unmount _scratch_mkfs >>$seqres.full 2>&1 _scratch_mount "-o compress" _run_btrfs_util_prog receive $SCRATCH_MNT -f $send_files_dir/1.snap echo "File digests in the new filesystem:" # Must match the digests we got in the original filesystem. md5sum $SCRATCH_MNT/snap/foo | _filter_scratch md5sum $SCRATCH_MNT/snap/bar | _filter_scratch status=0 exit Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> commit 267068d83e6df3bcc8b6486dcb2b43e09cd50be8 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 12 14:37:12 2015 +0530 ARM: dts: dra7xx: am57xx: fix cd-gpios definition as per hardware design and dt binding docs As per mmc device tree binding documentation card detect gpio has to be active low signal. When a hardware is designed with active high card detect, gpio polarity has to be changed with cd-inverted dt property. In DRA74x, DRA72x and AM57xx EVMs the card detect gpio is designed as active low gpio. So correcting the dt card detect gpio definition. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0731cbdd5f408502036184ab510c924a6551bf18 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 12 14:37:11 2015 +0530 ARM: dts: am43xx: fix cd-gpios definition as per hardware design and dt binding docs As per mmc device tree binding documentation card detect gpio has to be active low signal. When a hardware is designed with active high card detect, gpio polarity has to be changed with cd-inverted dt property. In AM43xx the card detect gpio is designed as active low gpio. So correcting the dt card detect gpio definition. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c7ce74bc921b9417cc3ff7255ab308960e34998f Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 12 14:37:10 2015 +0530 ARM: dts: am335x: fix cd-gpios definition as per hardware design and dt binding docs As per mmc device tree binding documentation card detect gpio has to be active low signal. When a hardware is designed with active high card detect, gpio polarity has to be changed with cd-inverted dt property. In AM335x the card detect gpio is designed as active low gpio. So correcting the dt card detect gpio definition. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f9459c0aa4d924fb12e2f490bcbe790fa77ceb1e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 13 03:13:02 2015 +0530 staging: lustre: llite: Remove useless cast on void pointer The semantic patch used to find this is: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f999d0987ec1e88c455fb95e48a12a98a9fbd9a6 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 12 20:49:18 2015 +0530 Staging: lustre: osc: Remove null check before kfree kfree on NULL pointer is a no-op. The semantic patch used 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> Reviewed-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03a7fc24e82985e0f1b4c543d310acde9ec84a42 Author: Ryan Van Quinlan <ryan.van.quinlan@xxxxxxxxx> Date: Sat Oct 10 21:53:50 2015 -0700 staging: lustre: lclient: NULL comparison style Fixes checkpatch.pl checks: CHECK: Comparison to NULL could be written ... Signed-off-by: Ryan Van Quinlan <ryan.van.quinlan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3993fa63c253a45e741ffb22a97c9e4df6a3f105 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 23:46:40 2015 +0300 ARM: dts: omap3-igep0020: Remove duplicate uart2 pinmux uart2 pinmux is already defined in omap3-igep0020-common.dtsi, remove the duplicate node. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 272c789b8cb7902feb9cf6087417a881ab9cf6ef Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Oct 12 23:46:39 2015 +0300 ARM: dts: omap3-igep: Fix indentation Use tabs instead of spaces for indentation. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2e33ffb6d55ede834864861a4a47122e2aa2b6e2 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 22:40:07 2015 +0530 Staging: lustre: obdclass: lprocfs_status: Declare local functions as static Declare lustre_attr_show and lustre_attr_store as static since they are used only in this particular file. Also remove them from corresponding header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5913ef5eb950ff397363201d59f93210a6ccc16f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 9 22:40:06 2015 +0530 Staging: lustre: obdclass: lu_object: Declare local functions as static Declare lu_dev_add_linkage and lu_object_find as static since they are used only in this particular file. Also remove the corresponding declarations from header file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 848333219c3370a9f6473b50debefbfa467f7b23 Author: Yazen Ghannam <yghannam@xxxxxxxxx> Date: Thu Oct 8 19:01:16 2015 -0400 staging/lustre: Remove unused, commented function call Also fixes a coding style error. Signed-off-by: Yazen Ghannam <yghannam@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db8b7b4860d54f26a9a907b918aa06daf28948b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 23:36:47 2015 +0530 Staging: lustre: Remove unused libiam.h header Remove libiam.h since it is not used anywhere throughout the kernel. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5c914fffd9f70d5f112e0a7e30edab7de78f88b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Oct 6 11:22:59 2015 +0200 ARM: dts: omap3-lilly-a83x: Don't use IRQ level flag for a GPIO The card detect GPIO is using IRQ_TYPE_LEVEL_LOW in the GPIO flag cells but this defined constant is meant to be used for a IRQ and not a GPIO. So instead use GPIO_ACTIVE_LOW that seems to be the original intention. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit de7be81decb6b6a96ea8380b87f9c462e22c5b89 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Oct 9 16:31:38 2015 +0300 Staging: skein: Remove space after cast Remove unnecessary space after cast. Problem found using checkpatch.pl CHECK: No space is necessary after a cast. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07a5a4b1ae83914147edc0dfaa5ac5fe3be20c62 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Oct 9 16:31:37 2015 +0300 Staging: skein: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6045d565283f4dea87be87c94d517b37940a3ef Author: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Date: Thu Oct 8 21:57:25 2015 -0700 staging: skein: remove extra indentation Fix macros containing do/while blocks to be indented uniformly. This patch fixes the checkpatch.pl warning: WARNING: suspect code indent for conditional statements Signed-off-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d27a1846ccc27000d9e5027a289ad9e35a88d60 Author: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Date: Thu Oct 8 21:58:36 2015 -0700 staging: skein: fix block comment style Use a separate line for the opening marker of a comment block, a leading asterisk in front of subsequent lines in the block comment, and a separate line for the closing marker of the comment block. 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: Deepa Dinamani <deepa.kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db4a7335dd701a0e20275440ee057d3db2a7ae3 Merge: 62fb50a ee86395 Author: Chris Mason <clm@xxxxxx> Date: Mon Oct 12 16:24:40 2015 -0700 Merge branch 'fix/waitqueue-barriers' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.4 commit 62fb50ab7c903357c92cef2f7677235b92ac575f Merge: 640926f 73416da Author: Chris Mason <clm@xxxxxx> Date: Mon Oct 12 16:24:15 2015 -0700 Merge branch 'anand/sysfs-updates-v4.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.4 Signed-off-by: Chris Mason <clm@xxxxxx> commit d8e1f5ed11a39a68da00f05000466c4f6db4456e Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Oct 12 16:19:54 2015 -0700 Documentation: ARM: List new omap MMC requirements Earlier the PBIAS regulator was optional, not so with recent omap_hsmmc changes. To make things easier for people with custom .config files, let's add minimal documentation for it as suggested by Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fd820a1ec758bc25b0eb10ab5e88e6c61fbcc8aa Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Oct 6 22:07:49 2015 +0200 memory: omap-gpmc: dump "before" state before first modification When gpmc_cs_show_timings is called in gpmc_cs_set_timings() gpmc_cs_program_settings() was already run which modifies the CONFIG1 register. So to be more useful do the "before" dump earlier. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 640926ffdda7e817965d3bfb5bbbc51598ccf49b Merge: 25cb62b f14d104 Author: Chris Mason <clm@xxxxxx> Date: Mon Oct 12 16:22:26 2015 -0700 Merge branch 'cleanup/messages' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.4 commit be59b6192f43a9792f5f636b51358196ba11bbf6 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Oct 12 16:19:54 2015 -0700 memory: omap-gpmc: Fix unselectable debug option for GPMC Commit 63aa945b1013 ("memory: omap-gpmc: Add Kconfig option for debug") added a debug option for GPMC, but somehow managed to keep it unselectable. This probably happened because I had some uncommitted changes and the GPMC option is selected in the platform specific Kconfig. Let's also update the description a bit, it does not mention that enabling the debug option also disables the reset of GPMC controller during the init as pointed out by Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> and Roger Quadros <rogerq@xxxxxx>. Fixes: 63aa945b1013 ("memory: omap-gpmc: Add Kconfig option for debug") Reported-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7e381ec6a36aa44f15fc1a76e6efb9e2cd942e61 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Fri Sep 25 16:02:03 2015 +0300 ARM: dts: am57xx-beagle-x15: set VDD_SD to always-on LDO1 regulator (VDD_SD) is connected to SoC's vddshv8. vddshv8 needs to be kept always powered (see commit 5a0f93c6576a ("ARM: dts: Add am57xx-beagle-x15"), but at the moment VDD_SD is enabled/disabled depending on whether an SD card is inserted or not. This patch sets LDO1 regulator to always-on. This patch has a side effect of fixing another issue, HDMI DDC not working when SD card is not inserted: Why this happens is that the tpd12s015 (HDMI level shifter/ESD protection chip) has LS_OE GPIO input, which needs to be enabled for the HDMI DDC to work. LS_OE comes from gpio6_28. The pin that provides gpio6_28 is powered by vddshv8, and vddshv8 comes from VDD_SD. So when SD card is not inserted, VDD_SD is disabled, and LS_OE stays off. The proper fix for the HDMI DDC issue would be to maybe have the pinctrl framework manage the pin specific power. Apparently this fixes also a third issue (copy paste from Kishon's patch): 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. Fixes: 5a0f93c6576a ("ARM: dts: Add am57xx-beagle-x15") Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Reported-by: Louis McCarthy <compeoree@xxxxxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 63c7ecd7b10778157f7c84367e1535f4c023d828 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:23:25 2015 -0500 ARM: dts: DRA74x: Add IOMMU nodes for DSP2 The DRA74x family of SoCs have a second DSP, that also has two MMUs just like the DSP1 subsystem. Add the IOMMU nodes for this DSP2 subsystem in disabled state to the DRA74x specific DTS file, the nodes would need to be enabled appropriately in the respective board DTS files. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2c7e07c533ac33bab68471968a888f1f789d1523 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:23:24 2015 -0500 ARM: dts: DRA7: Add common IOMMU nodes The DRA7xx family of SOCs have two IPUs and one DSP processor subsystems in common. The IOMMU DT nodes have been added for these processor subsystems, and have been disabled by default. These MMUs are very similar to those on OMAP4 and OMAP5, with the only difference being the presence of a second MMU within the DSP subsystem for the EDMA port. The DSP IOMMUs also need an additional 'ti,syscon-mmuconfig' property compared to the IPU IOMMUs. NOTE: The enabling of these nodes is left to the respective board dts files. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit bddbe6db4a8b3931670357e438ade2784a690312 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:23:23 2015 -0500 ARM: dts: DRA74x: Add dsp2_system syscon node The DSP_SYSTEM sub-module is a dedicated system control logic module present within a DRA7 DSP processor sub-system. This module is responsible for power management, clock generation and connection to the device PRCM module. Add a syscon node for this module for the DSP2 processor sub-system. This is added as a syscon node as it is a common configuration module that can be used by the different IOMMU instances and the corresponding remoteproc device. The node is added to the dra74x.dtsi file, as the DSP2 processor subsystem is usually present only on the DRA74x variants of the DRA7 SoC family. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 99639ace4c83f26698d5a524df01c9a9c2c8c7b6 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Oct 2 18:23:22 2015 -0500 ARM: dts: DRA7: Add dsp1_system syscon node The DSP_SYSTEM sub-module is a dedicated system control logic module present within a DRA7 DSP processor sub-system. This module is responsible for power management, clock generation and connection to the device PRCM module. Add a syscon node for this module for the DSP1 processor sub-system. This is added as a syscon node as it is a common configuration module that can be used by the different IOMMU instances and the corresponding remoteproc device. The node is added to the common dra7.dtsi file, as the DSP1 processor sub-system is mostly common across all the variants of the DRA7 SoC family. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3a637e008e542b8ebdc2ceed616b229af0462b14 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Oct 6 11:03:39 2015 +0200 ARM: dts: Use defined GPIO constants in flags cell for OMAP2+ boards Many OMAP2+ DTS are not using the defined constants to express the GPIO polarity. Replace these so the DTS are easier to read. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 79a4e64c679d8a0b1037da174e4aea578c80c4e6 Author: Robert Nelson <robertcnelson@xxxxxxxxx> Date: Fri Sep 25 10:10:31 2015 -0500 ARM: dts: Add am335x-bonegreen SeeedStudio BeagleBone Green (BBG) is clone of the BeagleBone Black (BBB) minus the HDMI port and addition of two Grove connectors (i2c2 and usart2). This board can be identified by the 1A value after A335BNLT (BBB) in the at24 eeprom: 1A: [aa 55 33 ee 41 33 33 35 42 4e 4c 54 1a 00 00 00 |.U3.A335BNLT....|] http://beagleboard.org/green http://www.seeedstudio.com/wiki/Beaglebone_green Signed-off-by: Robert Nelson <robertcnelson@xxxxxxxxx> CC: Tony Lindgren <tony@xxxxxxxxxxx> CC: Jason Kridner <jkridner@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ebbf93f0e76fb0d0afd2ff1a7b6df5badc2fd496 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Sep 18 13:16:34 2015 -0500 ARM: dts: beagle-x15: Enable the system mailboxes 5 and 6 Enable the System Mailboxes 5 and 6 and the corresponding child sub-mailbox (IPC 3.x) nodes for the Beagle X15 EVM boards. This is needed to enable communication with the respective remote processors IPU1, IPU2, DSP1 and DSP2 from the MPU. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 43914a35d2bd4f3ee74fafc4aadcdd4f37df18d3 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Sep 18 13:16:33 2015 -0500 ARM: dts: dra72-evm: Enable the system mailboxes 5 and 6 Enable the System Mailboxes 5 and 6 and the corresponding child sub-mailbox (IPC 3.x) nodes for the DRA72 EVM board. This is needed to enable communication with the respective remote processors IPU1, IPU2, and DSP1 from the MPU. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2bee86799f4aff1c62d7fcba87a1a028c32c7955 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Sep 18 13:16:32 2015 -0500 ARM: dts: dra7-evm: Enable the system mailboxes 5 and 6 Enable the System Mailboxes 5 and 6 and the corresponding child sub-mailbox (IPC 3.x) nodes for the DRA7 EVM board. This is needed to enable communication with the respective remote processors IPU1, IPU2, DSP1 and DSP2 from the MPU. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 48aff9f6faa59677645e02dd9e1c043a75caf1c1 Author: Suman Anna <s-anna@xxxxxx> Date: Fri Sep 18 13:16:31 2015 -0500 ARM: dts: DRA72x: Add IPC sub-mailbox nodes for IPU1, IPU2 & DSP1 Add the sub-mailbox nodes that are used to communicate between MPU and the remote processors IPU1, IPU2 and DSP1. These match the respective node definitions on DRA74x to maintain compatibility for the equivalent remote processors. There is no DSP2 on DRA72x, and so the corresponding sub-mailbox node is not added. These sub-mailbox nodes are added to match the hard-coded mailbox configuration used within the TI IPC 3.x software package. The Dual-Cortex M4 IPU1 and IPU2 processor sub-systems are assumed to be running in SMP-mode, and hence only a single sub-mailbox node is added for each. All these sub-mailbox nodes are left in disabled state, and should be enabled (and modified if needed) as per the individual product configuration in the corresponding board dts files. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a9c8f117f43515572a914e9ec7332906c4e7cdde Author: Suman Anna <s-anna@xxxxxx> Date: Fri Sep 18 13:16:30 2015 -0500 ARM: dts: DRA74x: Add IPC sub-mailbox nodes for all IPUs & DSPs Add the sub-mailbox nodes that are used to communicate between MPU and the remote processors IPU1, IPU2, DSP1 and DSP2. The sub-mailbox nodes utilize the System Mailbox instances 5 and 6. These sub-mailbox nodes are added to match the hard-coded mailbox configuration used within the TI IPC 3.x software package. The Dual-Cortex M4 IPU1 and IPU2 processor sub-systems are assumed to be running in SMP-mode, and hence only a single sub-mailbox node is added for each. All these sub-mailbox nodes are left in disabled state, and should be enabled (and modified if needed) as per the individual product configuration in the corresponding board dts files. Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c72bfb883d1d03a7777960d78437c8329684390d Author: Teresa Remmet <t.remmet@xxxxxxxxx> Date: Thu Sep 3 14:00:07 2015 +0200 ARM: dts: am335x-wega: Clean up regulators Cleaned up the regulators on the wega board. Created a simple bus, renamed the regulators according to the schematics and added missing regulator on wega. Signed-off-by: Teresa Remmet <t.remmet@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 863987affb36c029bcd868eb86145c7fa405f5bd Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Aug 27 18:20:47 2015 +0300 ARM: dts: dra7-evm: add gpio key support dra7-evm has 2 gpio keys wired through TS_LCD_GPIO3, TS_LCD_GPIO4 which in turn connected to PCF8575 GPIO pcf_lcd: gpio@20 expander pins 2 and 3. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a96e8808854cceefab45a7b71152ccebf3ba6cdf Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Aug 27 18:20:46 2015 +0300 ARM: dts: dra7-evm: add gpio leds support dra7-evm has 4 user gpio leds connected to PCF8575 GPIO pcf_lcd: gpio@20 expander pins [4,5,6,7], so add corresponding DT nodes. Do not enable any triggers by default as not all of them are proved to work on -RT. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4fbdc6ab836f54e7559a637d9db44be7535c0889 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Aug 27 18:20:45 2015 +0300 ARM: dts: dra7-evm: add pcf8575 gpio expander (i2c1 addr 20) This patch adds DT definition for CF8575 GPIO pcf_lcd: gpio@20 expander which is connected to i2c bus 1 and has slave address 0x20. It allows to control: - tc_lcd gpios, pins p0-p3 - user leds, pins p4-p7 - control LCD panel power, p15 PCF8575 GPIO pcf_lcd: gpio@20 expander supports interrupt controller functionality and its INT line is connected to dra7 GPIO6.11 pin. Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a00e368c197b236ec76e6684a6459cee98335e14 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:07 2015 +0300 ARM: dts: am57xx-beagle-x15: Enable analog audio support The analog audio setup consists of: McASP3 <-> tlv320aic3104 codec Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d929e8bb13972e86ed9cc23578a559e773d57a19 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:06 2015 +0300 ARM: dts: am57xx-beagle-x15: Add fixed regulator for aic3104's DVDD The DVDD is supplied via TPS77018DBVT fixed regulator from vdd_3v3 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a8d3b59cddbdd31211a81379aaa54ed0de91358a Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:05 2015 +0300 ARM: dts: dra72-evm: Audio support The board uses tlv320aic3106 codec connected to McASP3. The master clock for the codec and McASP3 is coming from ATL2. McASP3 is the master on the I2S bus. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6ddd5fce849a5d06bee7e5cf10ad7db21b68aa7b Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:04 2015 +0300 ARM: dts: dra72-evm: Add gpio hog for vin6_sel_s0 to select audio The GPIO expander's p1 on i2c5 bus 0x26 address is used for selecting between audio and VIN6 functionality. For VIN6 use an add on card is needed while audio is present on the board itself. Select the audio functionality over the VIN6 in the dts file. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 61085ee712901ac608c50521f44837a4ff54afdc Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:03 2015 +0300 ARM: dts: dra72-evm: Add fixed regulator representing DVDD supply for aic3106 The DVDD is supplied via TPS77018DBVT fixed regulator from evm_3v3 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Darren Etheridge <detheridge@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a9347bfa9b186615968d049ccbf856f95b2eeace Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:02 2015 +0300 ARM: dts: dra7-evm: Audio support The board uses tlv320aic3106 codec connected to McASP3. The master clock for the codec and McASP3 is coming from ATL2. McASP3 is the master on the I2S bus. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c5d294db75d16b30935fd3be8eef96d82f78355a Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:01 2015 +0300 ARM: dts: dra7-evm: Enable pcf8575 (0x26 address) on i2c2 bus This GPIO expander is used for controlling various muxes on the board. By default select audio functionality over VIN6 by setting the P1 (vin6_sel_s0) pin to low. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d6818223cd46542ed0162ad6208a3425e79fd514 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:20:00 2015 +0300 ARM: dts: dra7-evm: Add fixed regulator to be used by aic3106's DVDD TPS77018DBVT is used to create 1.8V from avm_3v3_sw's 3.3V connected to aic3106's DVDD. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 27f39e5f5fd1d9eb5ce67507ad57ef5df007f208 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:19:59 2015 +0300 ARM: dts: dra7-evm: Rename mmc2_3v3 supply to evm_3v3_sw Use the name for the supply as it is in the schematics since the same supply is used for other peripherals than MMC2, like audio. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0ad95472bf169a3501991f8f33f5147f792a8116 Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Date: Wed Sep 23 15:49:29 2015 +0300 lockd: create NSM handles per net namespace Commit cb7323fffa85 ("lockd: create and use per-net NSM RPC clients on MON/UNMON requests") introduced per-net NSM RPC clients. Unfortunately this doesn't make any sense without per-net nsm_handle. E.g. the following scenario could happen Two hosts (X and Y) in different namespaces (A and B) share the same nsm struct. 1. nsm_monitor(host_X) called => NSM rpc client created, nsm->sm_monitored bit set. 2. nsm_mointor(host-Y) called => nsm->sm_monitored already set, we just exit. Thus in namespace B ln->nsm_clnt == NULL. 3. host X destroyed => nsm->sm_count decremented to 1 4. host Y destroyed => nsm_unmonitor() => nsm_mon_unmon() => NULL-ptr dereference of *ln->nsm_clnt So this could be fixed by making per-net nsm_handles list, instead of global. Thus different net namespaces will not be able share the same nsm_handle. Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit aaf91ec148910e0c2bfd135ea19f870e7196e64f Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Sep 17 08:28:39 2015 -0400 nfsd: switch unsigned char flags in svc_fh to bools ...just for clarity. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit fcaba026a55803dd21523e6e191ba7f59e02a737 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Sep 17 08:28:38 2015 -0400 nfsd: move svc_fh->fh_maxsize to just after fh_handle This moves the hole in the struct down below the flags fields, which allows us to potentially add a new flag without growing the struct. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit e79017ddce8273514d24728523d17033bcbeba6f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:15 2015 +0200 nfsd: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) { \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); x = NULL; -} // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 35a92fe8770ce54c5eb275cd76128645bea2d200 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Sep 17 07:47:08 2015 -0400 nfsd: serialize state seqid morphing operations Andrew was seeing a race occur when an OPEN and OPEN_DOWNGRADE were running in parallel. The server would receive the OPEN_DOWNGRADE first and check its seqid, but then an OPEN would race in and bump it. The OPEN_DOWNGRADE would then complete and bump the seqid again. The result was that the OPEN_DOWNGRADE would be applied after the OPEN, even though it should have been rejected since the seqid changed. The only recourse we have here I think is to serialize operations that bump the seqid in a stateid, particularly when we're given a seqid in the call. To address this, we add a new rw_semaphore to the nfs4_ol_stateid struct. We do a down_write prior to checking the seqid after looking up the stateid to ensure that nothing else is going to bump it while we're operating on it. In the case of OPEN, we do a down_read, as the call doesn't contain a seqid. Those can run in parallel -- we just need to serialize them when there is a concurrent OPEN_DOWNGRADE or CLOSE. LOCK and LOCKU however always take the write lock as there is no opportunity for parallelizing those. Reported-and-Tested-by: Andrew W Elble <aweits@xxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ea823c7cbffa7bae311d78761866ac4db344c89b Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Oct 6 14:27:51 2015 +0200 PM / Domains: Remove pm_genpd_poweron() API Once genpd could be configured to be built with CONFIG_PM_RUNTIME unset (nowadays CONFIG_PM), the pm_genpd_poweron() API served a purpose, since it allowed users to power on a PM domain. As such configuration no longer is supported, users shall solely rely on using some of the runtime PM APIs to power on a PM domain. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bb4b72fc63d4c1c2ccd5e5af95e48b77d6cad80c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Oct 6 14:27:42 2015 +0200 PM / Domains: Remove pm_genpd_poweroff_unused() API As the last user of the pm_genpd_poweroff_unused() API has moved into relying on genpd to deal with this internally from a late_initcall, let's remove the API. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2376692416b73c51d6f3ba5588b8f19cec617d31 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Oct 6 14:27:30 2015 +0200 soc: dove: Let genpd deal with disabling of unused PM domains Genpd tries from a late_initcall to disable unused PM domains, which makes it unnecessary to also manage this from any earlier phase when for example initializing a genpd. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f96b3c4f34b294a2293a5aa1d55e12e66aee055d Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Tue Sep 29 15:12:37 2015 +0200 PM / Domains: Remove in_progress counter from struct generic_pm_domain Commit ba2bbfbf6307 ("PM / Domains: Remove intermediate states..") changed the power off sequence (pm_genpd_poweroff()), which from locking point of view means the genpd mutex is held throughout the sequence. The above change means the in_progress counter can't be updated while pm_genpd_poweroff() is executing, which allows us to remove the counter. Instead we inform pm_genpd_poweroff() via a bool parameter, to indicate whether we call it from the scheduled work or from the ->runtime_suspend() callback, since that all that matters. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Lina Iyer <lina.iyer@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ebdee13ac2b4f1463c1c195a40fa4f1555184f17 Author: Anup Patel <anup.patel@xxxxxxxxxxxx> Date: Fri Oct 2 23:26:43 2015 +0530 mtd: nand: Allow MTD_NAND_BRCMNAND to be selected for ARM64 The BRCM NAND driver can be re-used for Broadcom ARM64 SoCs hence this patch updates Kconfig to allow selection of MTD_NAND_BRCMNAND for ARM64. Signed-off-by: Anup Patel <anup.patel@xxxxxxxxxxxx> Reviewed-by: Vikram Prakash <vikramp@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Pramod KUMAR <pramodku@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f08b8ba9f5d7ec528a9fc293e76a14c2851e403 Author: Anup Patel <anup.patel@xxxxxxxxxxxx> Date: Fri Oct 2 23:26:42 2015 +0530 mtd: brcmnand: Fix pointer type-cast in brcmnand_write() We should always type-cast pointer to "long" or "unsigned long" because size of pointer is same as machine word size. This will avoid pointer type-cast issues on both 32bit and 64bit systems. This patch fixes pointer type-cast issue in brcmnand_write() as-per above info. Signed-off-by: Anup Patel <anup.patel@xxxxxxxxxxxx> Reviewed-by: Vikram Prakash <vikramp@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ad806ea66c7cdfa10152c58aa710c9c26ca0d159 Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Sep 9 16:27:08 2015 -0400 ACPI: Allow selection of the ACPI processor driver for ARM64 Now that the ACPI processor driver has been decoupled from the C states and P states functionality, make it selectable on ARM64 so that it can be used by others e.g. CPPC. The C states and P states code is selected only on X86 or IA64 until the relevant support is added on ARM64. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4f2f757351df44c7109a7b93653bed9b8fe10e6b Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Sep 9 16:27:07 2015 -0400 CPPC: Probe for CPPC tables for each ACPI Processor object For each detected ACPI Processor object (ACPI0007), search its device handle for CPPC specific tables (i.e. _CPC) and extract CPU specific 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 56cdc2a05c248c9dfe2480813fc34a4e6d7a77db Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Wed Sep 9 16:27:06 2015 -0400 ACPI: Add weak routines for ACPI CPU Hotplug Add weak functions for architectures which do not support hot-adding and removing CPUs which aren't detected at bootup. (e.g. via MADT). This helps preserve the Kconfig dependency from: commit cbfc1bae55bb ("[ACPI] ACPI_HOTPLUG_CPU Kconfig dependency update") prevent: HOTPLUG_CPU=y ACPI_PROCESSOR=y ACPI_HOTPLUG_CPU=n Signed-off-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5477fb3bd1e8e43299761850318fe0057172a24a Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Fri Oct 2 10:04:01 2015 -0400 ACPI / CPPC: Add a CPUFreq driver for use with CPPC This driver utilizes the methods introduced in a previous patch titled - "ACPI: Introduce CPU performance controls using CPPC" and enables usage with existing CPUFreq governors. 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 ea1a29a0bdfffd56ca98335c0655308e8d7d0e22 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 12 17:08:48 2015 +0800 f2fs: export ra_nid_pages to sysfs After finishing building free nid cache, we will try to readahead asynchronously 4 more pages for the next reloading, the count of readahead nid pages is fixed. In some case, like SMR drive, read less sectors with fixed count each time we trigger RA may be low efficient, since we will face high seeking overhead, so we'd better let user to configure this parameter from sysfs in specific workload. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2db2388fcf0d880bd7160264274ed873baec4f0d Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 12 17:07:33 2015 +0800 f2fs: readahead for free nids building When there is no free nid in nid cache, all new node allocaters stop their job to wait for reloading of free nids, however reloading is synchronous as we will read 4 NAT pages for building nid cache, it cause the long latency. This patch tries to readahead more NAT pages with READA request flag after reloading of free nids. It helps to improve performance when users allocate node id intensively. Env: Sandisk 32G sd card time for i in `seq 1 60000`; { echo -n > /mnt/f2fs/$i; echo XXXXXX > /mnt/f2fs/$i;} Before: real 0m2.814s user 0m1.220s sys 0m1.536s After: real 0m2.711s user 0m1.136s sys 0m1.568s Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 26879fb101f28c554294eaf25ac7817a2825b180 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 12 17:05:59 2015 +0800 f2fs: support lower priority asynchronous readahead in ra_meta_pages Now, we use ra_meta_pages to reads continuous physical blocks as much as possible to improve performance of following reads. However, ra_meta_pages uses a synchronous readahead approach by submitting bio with READ, as READ is with high priority, it can not be used in the case of preloading blocks, and it's not sure when these RAed pages will be used. This patch supports asynchronous readahead in ra_meta_pages by tagging bio with READA flag in order to allow preloading. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2b947003fa98d5a39f3b21214380d0b1daf750b5 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 12 17:04:21 2015 +0800 f2fs: don't tag REQ_META for temporary non-meta pages In recovery or checkpoint flow, we grab pages temperarily in meta inode's mapping for caching temperary data, actually, datas in these pages were not meta data of f2fs, but still we tag them with REQ_META flag. However, lower device like eMMC may do some optimization for data of such type. So in order to avoid wrong optimization, we'd better remove such flag for temperary non-meta pages. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit b8c2940048adf4b2fcc5ae738f2bd4821ebf6a8a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 12 17:02:26 2015 +0800 f2fs: add a tracepoint for f2fs_read_data_pages This patch adds a tracepoint for f2fs_read_data_pages to trace when pages are readahead by VFS. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 026d4d6db2ae1586dc34305e5689ec46e05842bc Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Aug 24 10:19:58 2015 +0300 ARM: dts: dra7: Add McASP3 node Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f95b1064b30a59d93a8df65284b770a2d774040f Author: Roger Quadros <rogerq@xxxxxx> Date: Tue Aug 18 17:01:57 2015 +0300 ARM: dts: am437x-gp-evm: Add DCAN sleep pins Add DCAN sleep pins to save some power during suspend. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 337aadff8e4567e39669e07d9a88b789d78458b5 Author: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Date: Fri Oct 2 10:01:19 2015 -0400 ACPI: Introduce CPU performance controls using CPPC CPPC stands for Collaborative Processor Performance Controls and is defined in the ACPI v5.0+ spec. It describes CPU performance controls on an abstract and continuous scale allowing the platform (e.g. remote power processor) to flexibly optimize CPU performance with its knowledge of power budgets and other architecture specific knowledge. This patch adds a shim which exports commonly used functions to get and set CPPC specific controls for each CPU. This enables CPUFreq drivers to gather per CPU performance data and use with exisiting governors or even allows for customized governors which are implemented inside CPUFreq drivers. 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 a56c7c6fb3c60857c1335bcb8b914e6f65655486 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Oct 9 15:11:38 2015 -0700 f2fs: set GFP_NOFS for grab_cache_page For normal inodes, their pages are allocated with __GFP_FS, which can cause filesystem calls when reclaiming memory. This can incur a dead lock condition accordingly. So, this patch addresses this problem by introducing f2fs_grab_cache_page(.., bool for_write), which calls grab_cache_page_write_begin() with AOP_FLAG_NOFS. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6e2c64ad7cebf8740c5e1241de374c6b6ea80f81 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Oct 7 12:28:41 2015 -0700 f2fs: fix SSA updates resulting in corruption The f2fs_collapse_range and f2fs_insert_range changes the block addresses directly. But that can cause uncovered SSA updates. In that case, we need to give up to change the block addresses and do buffered writes to keep filesystem consistency. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a125702326d9c3b753fe9c9b9727d3b3dd1cba4a Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Oct 8 10:40:07 2015 -0700 Revert "f2fs: do not skip dentry block writes" The periodic checkpoint can resolve the previous issue. So, now we can use this again to improve the reported performance regression: https://lkml.org/lkml/2015/10/8/20 This reverts commit 15bec0ff5a9ba6d203178fa8772259df6207942a. commit c912a8298c16ef15aa2b7203022c935f439f488b Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Oct 7 09:46:37 2015 -0700 f2fs: add F2FS_GOING_DOWN_METAFLUSH to test power-failure This patch introduces F2FS_GOING_DOWN_METAFLUSH which flushes meta pages like SSA blocks and then blocks all the writes. This can be used by power-failure tests. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a5e22db2689dc717cc3aaeb0c92c3f5445c5ea1f Merge: 2cef548 7236214 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Oct 12 22:30:57 2015 +0200 Merge back earlier 'pm-sleep' material for v4.4. commit 2cef548adf58e9a58a411948b98edb9a3980dbe6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Wed Sep 30 01:10:24 2015 +0200 PCI / PM: Avoid resuming more devices during system suspend Commit bac2a909a096 (PCI / PM: Avoid resuming PCI devices during system suspend) introduced a mechanism by which some PCI devices that were runtime-suspended at the system suspend time might be left in that state for the duration of the system suspend-resume cycle. However, it overlooked devices that were marked as capable of waking up the system just because PME support was detected in their PCI config space. Namely, in that case, device_can_wakeup(dev) returns 'true' for the device and if the device is not configured for system wakeup, device_may_wakeup(dev) returns 'false' and it will be resumed during system suspend even though configuring it for system wakeup may not really make sense at all. To avoid this problem, simply disable PME for PCI devices that have not been configured for system wakeup and are runtime-suspended at the system suspend time for the duration of the suspend-resume cycle. If the device is in D3cold, its config space is not available and it shouldn't be written to, but that's only possible if the device has platform PM support and the platform code is responsible for checking whether or not the device's configuration is suitable for system suspend in that case. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4dddfb882373b542d33a98576975237a23c0110c Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:24 2015 +0900 ARM: S3C64XX: Use PWM lookup table for mach-smartq Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit dd39be623e733ab90ec36d72e72234cd50156724 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:22 2015 +0900 ARM: S3C64XX: Use PWM lookup table for mach-hmt Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 799fbf8ceef4621dd3dd01499ef13cab1d082896 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:22 2015 +0900 ARM: S3C64XX: Use PWM lookup table for mach-crag6410 Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit bf0ff1cd21a34ced1b34a42f12de8ec1ae7cfd3b Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:22 2015 +0900 ARM: S3C64XX: Use PWM lookup table for smdk6410 Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c107fe904a1075be8defff9b3942cde5a930a2bb Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:22 2015 +0900 ARM: S3C24XX: Use PWM lookup table for mach-rx1950 Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 8c78aaa6ee587bce9d913114ba2aec5d345e39ed Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Tue Oct 13 05:04:21 2015 +0900 ARM: S3C24XX: Use PWM lookup table for mach-h1940 Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 914eebf2f434c6c0355faa9d81b4ebdca94819c9 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Wed Oct 7 13:25:50 2015 +0900 netfilter: nfnetlink_log: autoload nf_conntrack_netlink module NFQA_CFG_F_CONNTRACK config flag This patch enables to load nf_conntrack_netlink module if NFULNL_CFG_F_CONNTRACK config flag is specified. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b8bb9baad27e455c467e8fac47eebadbe765c18f Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Tue Oct 13 04:32:53 2015 +0900 ARM: dts: Fix audio card detection on Peach boards Since commit 2fad972d45c4 ("ARM: dts: Add mclk entry for Peach boards"), sound card detection is broken on peach boards and gives below errors: [ 3.630457] max98090 7-0010: MAX98091 REVID=0x51 [ 3.634233] max98090 7-0010: use default 2.8v micbias [ 3.640985] snow-audio sound: HiFi <-> 3830000.i2s mapping ok [ 3.645307] max98090 7-0010: Invalid master clock frequency [ 3.650824] snow-audio sound: ASoC: Peach-Pi-I2S-MAX98091 late_probe() failed: -22 [ 3.658914] snow-audio sound: snd_soc_register_card failed (-22) [ 3.664366] snow-audio: probe of sound failed with error -22 This patch adds missing assigned-clocks and assigned-clock-parents for pmu_system_controller node which is used as "mclk" for audio codec. Fixes: 2fad972d45c4 ("ARM: dts: Add mclk entry for Peach boards") Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 51a6256b00008a3c520f6f31bcd62cd15cb05960 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Oct 13 04:32:49 2015 +0900 ARM: EXYNOS: Fix double of_node_put() when parsing child power domains On each next iteration of for_each_compatible_node() the reference counter for current device node is already decreased by the loop iterator. The manual call to of_node_get() is required only on loop break which is not happening here. The double of_node_get() (with enabled CONFIG_OF_DYNAMIC) lead to decreasing the counter below expected, initial value. Fixes: fe4034a3fad7 ("ARM: EXYNOS: Add missing of_node_put() when parsing power domains") Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 835da3f99d329b1160a1f7fc82c7ac81163d63d0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 22:29:48 2015 +0200 nvme: fix 32-bit build warning Compiling the nvme driver on 32-bit warns about a cast from a __u64 variable to a pointer: drivers/block/nvme-core.c: In function 'nvme_submit_io': drivers/block/nvme-core.c:1847:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void __user *)io.addr, length, NULL, 0); The cast here is intentional and safe, so we can shut up the gcc warning by adding an intermediate cast to 'uintptr_t'. I had previously submitted a patch to fix this problem in the nvme driver, but it was accepted on the same day that two new warnings got added. For clarification, I also change the third instance of this cast to use uintptr_t instead of unsigned long now. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: d29ec8241c10e ("nvme: submit internal commands through the block layer") Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3d42e67fe5ebc1e5c3aae9b1037e38ec99a362cc Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 22:29:48 2015 +0200 nvme: fix 32-bit build warning Compiling the nvme driver on 32-bit warns about a cast from a __u64 variable to a pointer: drivers/block/nvme-core.c: In function 'nvme_submit_io': drivers/block/nvme-core.c:1847:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] (void __user *)io.addr, length, NULL, 0); The cast here is intentional and safe, so we can shut up the gcc warning by adding an intermediate cast to 'uintptr_t'. I had previously submitted a patch to fix this problem in the nvme driver, but it was accepted on the same day that two new warnings got added. For clarification, I also change the third instance of this cast to use uintptr_t instead of unsigned long now. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: d29ec8241c10e ("nvme: submit internal commands through the block layer") Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4e4f485c89c95c317fadf9faf76d703f0cc7a34d Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Oct 9 19:47:41 2015 +0200 clk: tegra: delete unneeded of_node_put for_each_child_of_node performs an of_node_put on each iteration, so putting an of_node_put before a continue results in a double put. The semantic match that finds this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; iterator name for_each_child_of_node; @@ for_each_child_of_node(root, child) { ... when != of_node_get(child) * of_node_put(child); ... * continue; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 67d7188afe23e4b1b82ee6fed35c14387f169f74 Merge: 53c929c 41691b8 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Oct 12 11:44:49 2015 -0700 Merge branch 'clk-bcm2835' into clk-next * clk-bcm2835: clk: bcm2835: Add support for programming the audio domain clocks clk: bcm2835: Add binding docs for the new platform clock driver. clk: bcm2835: Move under bcm/ with other Broadcom SoC clk drivers. commit d115d7050a0d2c4967532f18c9cb522fea6b7280 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 31 19:48:28 2015 +0300 Revert "usb: dwc3: gadget: drop unnecessary loop when cleaning up TRBs" This reverts commit 8f2c9544aba636134303105ecb164190a39dece4. As it breaks g_ether on my Baytrail FFRD8 device. Everything starts out fine, but after a bit of data has been transferred it just stops flowing. Note that I do get a bunch of these "NOHZ: local_softirq_pending 08" when booting the machine, but I'm not really sure if they're related to this problem. Cc: Felipe Balbi <balbi@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: linux-usb@xxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e5f68b4a3e7b006f209aba078d6a5ff3a78dd783 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Oct 12 13:25:44 2015 -0500 Revert "usb: dwc3: gadget: remove unnecessary _irqsave()" This reverts commit 70f3a9caa11665e9f9aace581d85d8483716a4c8. That commit was causing a lockdep splat with g_ether and that was interfering with proper functionality. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 41691b8862e2a32080306f17a723efc4b6ca86ab Author: Eric Anholt <eric@xxxxxxxxxx> Date: Thu Oct 8 18:37:24 2015 -0700 clk: bcm2835: Add support for programming the audio domain clocks This adds support for enabling, disabling, and setting the rate of the audio domain clocks. It will be necessary for setting the pixel clock for HDMI in the VC4 driver and let us write a cpufreq driver. It will also improve compatibility with user changes to the firmware's config.txt, since our previous fixed clocks are unaware of it. The firmware also has support for configuring the clocks through the mailbox channel, but the pixel clock setup by the firmware doesn't work, and it's Raspberry Pi specific anyway. The only conflicts we should have with the firmware would be if we made firmware calls that result in clock management (like opening firmware V3D or ISP access, which we don't support in upstream), or on hardware over-thermal or under-voltage (when the firmware would rewrite PLLB to take the ARM out of overclock). If that happens, our cached .recalc_rate() results would be incorrect, but that's no worse than our current state where we used fixed clocks. The existing fixed clocks in the code are left in place to provide backwards compatibility with old device tree files. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Tested-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d4a1a317e7478b70e18b9cc8eac7d29090121b6e Merge: b3961e8 b4a21fc ca07e9f 536b560 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 12 19:25:07 2015 +0100 Merge remote-tracking branches 'regmap/topic/atomic', 'regmap/topic/debugfs' and 'regmap/topic/irq-hdr' into regmap-next commit b3961e8703cbacf45116aea44f0c1cdaf8c8b40c Merge: ba5890a 77792b1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 12 19:24:30 2015 +0100 Merge tag 'regmap-offload-update-bits' into regmap-next regmap: Allow buses to provide a custom update_bits() operation Some buses provide a native _update_bits() operation which for uncached registers is faster than doing a read/modify/write cycle as it is a single bus transaction. Add support for implementing this to regmap. # gpg: Signature made Tue 06 Oct 2015 16:21:47 BST using RSA key ID 5D5487D0 # gpg: Oops: keyid_from_fingerprint: no pubkey # gpg: Oops: keyid_from_fingerprint: no pubkey # gpg: key 00000000 occurs more than once in the trustdb # gpg: key 16005C11: no public key for trusted key - skipped # gpg: key 16005C11 marked as ultimately trusted # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit ba5890a0c7576776ada71a21d95833a2281695e2 Merge: 25cb62b a650fdd Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 12 19:24:30 2015 +0100 Merge tag 'regmap-irq-unmask' into regmap-next regmap: Support for split mask and unmask interrupt registers This branch adds an interface for supporting devices which have separate mask and unmask registers. # gpg: Signature made Thu 17 Sep 2015 11:52:20 BST using RSA key ID 5D5487D0 # gpg: Oops: keyid_from_fingerprint: no pubkey # gpg: Oops: keyid_from_fingerprint: no pubkey # gpg: key 00000000 occurs more than once in the trustdb # gpg: key 16005C11: no public key for trusted key - skipped # gpg: key 16005C11 marked as ultimately trusted # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit 51ec005a94b7da34434211f23465d3b7dc841148 Merge: 55582bc d43b1b6 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Oct 12 20:24:24 2015 +0200 Merge back earlier cpufreq material for v4.4. commit 06968a54790d9dd87a5bb68e8197b5094eff63c3 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Fri Oct 9 18:16:51 2015 -0400 mtd: pxa2xx-flash: switch from ioremap_cache to memremap In preparation for deprecating ioremap_cache() convert its usage in pxa2xx-flash to memremap. Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> [brian: also convert iounmap to memunmap] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ae428a72b4c46c4553206cf5a2917846c12ef4c2 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 17 15:38:05 2015 +0200 ARM: OMAP2+: Remove unneeded semicolons Remove the unneded semicolons since they are clearly a typo error. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit bf0584959a5bbefbb97efcd4bc8617034bba8906 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 17 15:24:14 2015 +0200 ARM: OMAP3: vc: Remove unused macros The PRM_POLCTRL_TWL_MASK and PRM_POLCTRL_TWL_MASK macros are not used so they can be deleted. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 378102f364d3fba88b8162df13d639d620e9272c Merge: 1a76eb5 25cb62b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:54:35 2015 -0700 Merge 4.3-rc5 into tty-next We want the tty fixes and reverts in here as well so that people can properly test and use it. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1630da0589dbf520e4cf565eda6a74c5a813962 Merge: d5f9e73 25cb62b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:49:33 2015 -0700 Merge 4.3-rc5 into usb-next We want the USB fixes in here as well to make merges easier. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b22abe7b3ca3885e488ad36e5857d15f8158141 Merge: 17db84e 25cb62b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:46:53 2015 -0700 Merge 4.3-rc5 into staging-next We want the fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11feb18f4edb1423ed6091908c45de7ade30d5b7 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Mon Oct 12 11:37:38 2015 -0600 NVMe: Add explicit block config dependency The nvme driver was moved from drivers/block, losing our implicit dependency on CONFIG_BLOCK. This makes it an explicit driver dependency. Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit dc7ad3a0f92d47c2cbd35c0ae7e8527b3426414b Author: Ladislav Michl <ladis@xxxxxxxxxxxxxx> Date: Thu Aug 13 22:47:18 2015 +0200 ARM: OMAP1: Remove board support for VoiceBlue board Remove board support files for 10 years discontinued VoiceBlue board. Signed-off-by: Ladislav Michl <ladis@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4970c0cb6aa8996e39b1626887f5fb67a49f5ad1 Merge: 3c0ed7d 25cb62b Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 10:29:36 2015 -0700 Merge 4.3-rc5 into char-misc next We want the fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2aa8f5d63d9183ab185364d4ce849566ede0f301 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 8 10:25:41 2015 +0200 libata: only call ->done once all per-tag ressources are released When calling ->done before releasing resources we could run into a race where the SCSI midlayer sends another command and races with the resources beeing manipulated. For libata this can't currently happen as synchronization happens at a higher level, but I'd still like to fix it to future proof libata and to avoid copy & paste into SCSI drivers where this pattern has led to reproducible crashes. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 801ab33596f3e2a70a3b3599618d966736299014 Author: Jonathan Cameron <jic23@xxxxxxxxxx> Date: Wed Sep 23 20:36:02 2015 +0100 iio:light:apds9960 Fix sparse endian warnings. This patch is a tidy up of warnings from the autobuilder. >> drivers/iio/light/apds9960.c:495:32: sparse: cast to restricted __le16 drivers/iio/light/apds9960.c:635:24: sparse: cast to restricted __le16 >> drivers/iio/light/apds9960.c:672:21: sparse: incorrect type in assignment (different base types) drivers/iio/light/apds9960.c:672:21: expected unsigned short [unsigned] [usertype] buf drivers/iio/light/apds9960.c:672:21: got restricted __le16 [usertype] <noident> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> Cc: mranostay@xxxxxxxxx Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c04782177f212686cd1d74225df34a5c292be25b Author: Jonathan Cameron <jic23@xxxxxxxxxx> Date: Sun Oct 11 12:55:11 2015 +0100 iio:measurement specialties core: Fix endian sparse warnings. This patch changes various types to the appropriate endian specific versions. Also introduces an additional local variable to avoid a single variable being used for both be and cpu endianness. These aren't bugs as such, but clearing them up does make the code clearer. Warning was: sparse warnings: (new ones prefixed by >>) >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:126:9: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:127:16: sparse: cast to restricted __be32 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: sparse: incorrect type in assignment (different base types) drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf drivers/iio/common/ms_sensors/ms_sensors_i2c.c:208:18: got restricted __be16 [usertype] <noident> >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 >> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:216:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: sparse: incorrect type in assignment (different base types) drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: expected unsigned short [unsigned] [addressable] [usertype] send_buf drivers/iio/common/ms_sensors/ms_sensors_i2c.c:230:18: got restricted __be16 [usertype] <noident> drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 drivers/iio/common/ms_sensors/ms_sensors_i2c.c:239:19: sparse: cast to restricted __be64 Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 060646a218b357e758b3dc6bbce2865bd0aadd44 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Oct 2 23:19:41 2015 +0800 ARM: dts: mt8127: enable basic SMP bringup for mt8127 Add arch timer node to enable arch-timer support. MT8127 firmware doesn't correctly setup arch-timer frequency and CNTVOFF, add properties to workaround this. This also set cpu enable-method to enable SMP. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit d186a394bb98e9da199b72ce0498fb0f96832e17 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Oct 2 23:19:40 2015 +0800 ARM: dts: mt8135: enable basic SMP bringup for mt8135 Add arch timer node to enable arch-timer support. MT8135 firmware doesn't correctly setup arch-timer frequency and CNTVOFF, add properties to workaround this. This also set cpu enable-method to enable SMP. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 4562c9103696666f086d04b25479dfda81753d0a Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Oct 2 23:19:38 2015 +0800 devicetree: bindings: add new SMP enable method Mediatek SoC This commit add new cpu enable method "mediatek,mt65xx-smp" and "mediatek,mt81xx-tz-smp". Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 79828b4fa835f73cdaf4bffa48696abdcbea9d02 Merge: 721b51f 8c1a9d6 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 12 18:09:27 2015 +0100 Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-fix-rt5645 commit f96885b479b904afd8c33f44623f2a9ff916033c Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Jul 16 15:55:18 2015 +0300 ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation The OMAP3 ISP is now fully supported in DT, remove its instantiation from C code. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4aa8e454d347a1c96a2322683a6798de7e17da5f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 12 14:02:29 2015 -0300 perf hists browser: Inform how to reset the symbol filter When in the hists browser, i.e. in 'perf report' or in 'perf top', it is possible to press '/' and specify a substring to filter by symbol name. Clarify how to remove a filter by making the prompt be: Please enter the name of symbol you want to see. To remove the filter later, press / + ENTER 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-vbq2b0kyufwy6p0ctkfswcoe@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5fe58fd2836987387a6ee8854c529db7f5be650 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Mon Oct 12 21:34:59 2015 +0800 ASoC: rt298: set register non-volatile by default It is not necessary to set registers volatile. So, return false for default case of rt298_volatile_register. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bc27a53928981662079aa243915b443370294a03 Author: Vignesh R <vigneshr@xxxxxx> Date: Mon Oct 12 13:22:02 2015 +0530 spi: ti-qspi: Fix data corruption seen on r/w stress test Writing invalid command to QSPI_SPI_CMD_REG will terminate current transfer and de-assert the chip select. This has to be done before calling spi_finalize_current_message(). Because spi_finalize_current_message() will mark the end of current message transfer and schedule the next transfer. If the chipselect is not de-asserted before calling spi_finalize_current_message() then the next transfer will overlap with the previous transfer leading to data corruption. __spi_pump_message() can be called either from kthread worker context or directly from the calling process's context. It is possible that these two calls can race against each other. But race is serialized by checking whether master->cur_msg == NULL (pointer to msg being handled by transfer_one() at present). The master->cur_msg is set to NULL when spi_finalize_current_message() is called on that message, which means calling spi_finalize_current_message() allows __spi_sync() to pump next message in calling process context. Now if spi-ti-qspi calls spi_finalize_current_message() before we terminate transfer at hardware side, if __spi_pump_message() is called from process context then the successive transactions can overlap. Fix this by moving writing invalid command to QSPI_SPI_CMD_REG to before calling spi_finalize_current_message() call. Cc: stable@xxxxxxxxxxxxxxx # v3.12+ Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 23b63f9fa82eed128b5c585cbfe10ced82d73e91 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:30 2015 +0800 md: check the return value for metadata_update_start We shouldn't run related funs of md_cluster_ops in case metadata_update_start returned failure. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> commit a9720903d1415317e18f439917f760ec592f3e3b Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:27 2015 +0800 md-cluster: only call kick_rdev_from_array after remove disk successfully For cluster raid, we should not kick it from array if the disk can't be remove from array successfully. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 86b572770e7964f006d438c4e05008914e9db79b Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:25 2015 +0800 md-cluster: Add 'SUSE' as author for md-cluster.c Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> commit aee177ac5a4225ac4eeed0aa5edf2338c2d713a4 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:24 2015 +0800 md-cluster: zero cmsg before it was sent Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> commit 256f5b245aab93bfa2d8b86d66545fceea05408e Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:23 2015 +0800 md-cluster: make sure the node do not receive it's own msg During the past test, the node occasionally received the msg which is sent from itself, this case should not happen in theory, but it is better to avoid it in case something wrong happened. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 487cf9142c434530443b7bb8c545e9d0f30391b1 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:22 2015 +0800 md-cluster: remove unnecessary setting for slot Since slot will be set within _sendmsg, we can remove the redundant code in resync_info_update. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> commit faeff83fa478b4dca9877d6b10a25ad252891f14 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Mon Oct 12 17:21:21 2015 +0800 md-cluster: make other members of cluster_msg is handled by little endian funcs Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> commit d216711bed1a0fb6527858f32cd89ff4a6553a97 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Mon Oct 12 10:42:34 2015 -0500 md-cluster: Do not printk() every received message The receive daemon prints kernel messages for every network message received. This would fill the kernel message log with unnecessary messages. Remove the pr_info() messages. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 7727a92544b2a507b83fdc7d3e4b6f4545c9f364 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 12 13:56:50 2015 -0300 perf ui browsers: Remove help messages about use of right and arrow keys They were repurposed for horizontal scrolling, so use just ENTER/ESC in the help messages. 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: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: c6c3c02dea40 ("perf hists browser: Implement horizontal scrolling") Link: http://lkml.kernel.org/n/tip-n5ar4qg8fs12ax4vhr3rxhxj@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc38218e8b598a0092dae9715e603e9628203bec Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Sun Oct 11 17:17:24 2015 -0300 perf symbols: Try the .debug/ DSO cache as a last resort Not as the first attempt at finding a vmlinux for the running kernel, this way we get a more informative filename to present in tools, it will check that the build-id is the same as the one previously loaded in the DSO in dso->build_id, reading from /sys/kernel/notes, for instance. E.g. in the annotation TUI, going from 'perf top', for the scsi_sg_alloc kernel function, in the first line: Before: scsi_sg_alloc /root/.debug/.build-id/28/2777c262e6b3c0451375163c9a81c893218ab1 After: scsi_sg_alloc /lib/modules/4.3.0-rc1+/build/vmlinux And: # ls -la /root/.debug/.build-id/28/2777c262e6b3c0451375163c9a81c893218ab1 lrwxrwxrwx. 1 root root 81 Sep 22 16:11 /root/.debug/.build-id/28/2777c262e6b3c0451375163c9a81c893218ab1 -> ../../home/git/build/v4.3.0-rc1+/vmlinux/282777c262e6b3c0451375163c9a81c893218ab1 # file ~/.debug/home/git/build/v4.3.0-rc1+/vmlinux/282777c262e6b3c0451375163c9a81c893218ab1 /root/.debug/home/git/build/v4.3.0-rc1+/vmlinux/282777c262e6b3c0451375163c9a81c893218ab1: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=282777c262e6b3c0451375163c9a81c893218ab1, not stripped # The same as: # file /lib/modules/4.3.0-rc1+/build/vmlinux /lib/modules/4.3.0-rc1+/build/vmlinux: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=282777c262e6b3c0451375163c9a81c893218ab1, not stripped Furthermore: # sha256sum /lib/modules/4.3.0-rc1+/build/vmlinux e7a789bbdc61029ec09140c228e1dd651271f38ef0b8416c0b7d5ff727b98be2 /lib/modules/4.3.0-rc1+/build/vmlinux # sha256sum ~/.debug/home/git/build/v4.3.0-rc1+/vmlinux/282777c262e6b3c0451375163c9a81c893218ab1 e7a789bbdc61029ec09140c228e1dd651271f38ef0b8416c0b7d5ff727b98be2 /root/.debug/home/git/build/v4.3.0-rc1+/vmlinux/282777c262e6b3c0451375163c9a81c893218ab1 [root@zoo new]# 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-9y42ikzq3jisiddoi6f07n8z@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4fc57692268bf841a3cc90b3b056640de2bb1605 Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Mon Oct 12 18:53:00 2015 +0300 Documentation/features/KASAN: arm64 supports KASAN now Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ee7f881b59de4e0e0be250fd0c5d4ade3e30ec34 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Oct 12 18:52:59 2015 +0300 ARM64: kasan: print memory assignment This prints out the virtual memory assigned to KASan in the boot crawl along with other memory assignments, if and only if KASan is activated. Example dmesg from the Juno Development board: Memory: 1691156K/2080768K available (5465K kernel code, 444K rwdata, 2160K rodata, 340K init, 217K bss, 373228K reserved, 16384K cma-reserved) Virtual kernel memory layout: kasan : 0xffffff8000000000 - 0xffffff9000000000 ( 64 GB) vmalloc : 0xffffff9000000000 - 0xffffffbdbfff0000 ( 182 GB) vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000 ( 8 GB maximum) 0xffffffbdc2000000 - 0xffffffbdc3fc0000 ( 31 MB actual) fixed : 0xffffffbffabfd000 - 0xffffffbffac00000 ( 12 KB) PCI I/O : 0xffffffbffae00000 - 0xffffffbffbe00000 ( 16 MB) modules : 0xffffffbffc000000 - 0xffffffc000000000 ( 64 MB) memory : 0xffffffc000000000 - 0xffffffc07f000000 ( 2032 MB) .init : 0xffffffc0007f5000 - 0xffffffc00084a000 ( 340 KB) .text : 0xffffffc000080000 - 0xffffffc0007f45b4 ( 7634 KB) .data : 0xffffffc000850000 - 0xffffffc0008bf200 ( 445 KB) Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 39d114ddc68223022c12ae3a1573912bc4b585e5 Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Mon Oct 12 18:52:58 2015 +0300 arm64: add KASAN support This patch adds arch specific code for kernel address sanitizer (see Documentation/kasan.txt). 1/8 of kernel addresses reserved for shadow memory. There was no big enough hole for this, so virtual addresses for shadow were stolen from vmalloc area. At early boot stage the whole shadow region populated with just one physical page (kasan_zero_page). Later, this page reused as readonly zero shadow for some memory that KASan currently don't track (vmalloc). After mapping the physical memory, pages for shadow memory are allocated and mapped. Functions like memset/memmove/memcpy do a lot of memory accesses. If bad pointer passed to one of these function it is important to catch this. Compiler's instrumentation cannot do this since these functions are written in assembly. KASan replaces memory functions with manually instrumented variants. Original functions declared as weak symbols so strong definitions in mm/kasan/kasan.c could replace them. Original functions have aliases with '__' prefix in name, so we could call non-instrumented variant if needed. Some files built without kasan instrumentation (e.g. mm/slub.c). Original mem* function replaced (via #define) with prefixed variants to disable memory access checks for such files. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Tested-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit fd2203dd3556f6553231fa026060793e67a25ce6 Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Mon Oct 12 18:52:57 2015 +0300 arm64: move PGD_SIZE definition to pgalloc.h This will be used by KASAN latter. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 2a4599a5c9b9f9d5b799f69f478d191c6bf3c072 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed Oct 7 17:14:39 2015 +0800 dt-bindings: soc: Add clocks for Mediatek SCPSYS unit Add clocks needed by Mediatek VENC and VENC_LT power domianis. These clocks were needed by accessing subsystem's registers, so they need to be enabled before power on these subsystems. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 013f2a2320e2b340bfc67ce912bb2317800f5099 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Fri Oct 2 23:05:17 2015 +0800 dt-bindings: add more MediaTek SoC to mtk-timer binding Add compatible string for mt8127, mt8135 and mt8173 and sort the list. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 305d454aaa292be3a09a9d674e6c35f5b4249a13 Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Oct 8 20:15:18 2015 +0100 arm64: atomics: implement native {relaxed, acquire, release} atomics Commit 654672d4ba1a ("locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operation") introduced a relaxed atomic API to Linux that maps nicely onto the arm64 memory model, including the new ARMv8.1 atomic instructions. This patch hooks up the API to our relaxed atomic instructions, rather than have them all expand to the full-barrier variants as they do currently. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 44af7927316e83eb8865933f7c836dcc85f8eb74 Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Fri Oct 9 15:45:55 2015 +0100 spi: Map SPI OF client IRQ at probe time Currently the IRQs for SPI client devices, registered via device-tree, are mapped when the client devices are registered. If the corresponding irq-chip has not been probed yet, then the probing of the client device will fail and will not be retried. Resolve this by mapping the IRQ at probe time and allow the probe to be deferred if the IRQ is not yet available. If of_irq_get() returns an error that is not -EPROBE_DEFER, then assume that the SPI client does not have an IRQ and set the IRQ number to zero (which is equivalent to irq_of_parse_and_map()). This is based on some inputs from Thierry Reding <treding@xxxxxxxxxx>. Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c5edf9cdc4c483b9a94c03fc0b9f769bd090bf3e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 29 13:04:26 2015 -0400 writeback: fix incorrect calculation of available memory for memcg domains For memcg domains, the amount of available memory was calculated as min(the amount currently in use + headroom according to memcg, total clean memory) This isn't quite correct as what should be capped by the amount of clean memory is the headroom, not the sum of memory in use and headroom. For example, if a memcg domain has a significant amount of dirty memory, the above can lead to a value which is lower than the current amount in use which doesn't make much sense. In most circumstances, the above leads to a number which is somewhat but not drastically lower. As the amount of memory which can be readily allocated to the memcg domain is capped by the amount of system-wide clean memory which is not already assigned to the memcg itself, the number we want is the amount currently in use + min(headroom according to memcg, clean memory elsewhere in the system) This patch updates mem_cgroup_wb_stats() to return the number of filepages and headroom instead of the calculated available pages. mdtc_cap_avail() is renamed to mdtc_calc_avail() and performs the above calculation from file, headroom, dirty and globally clean pages. v2: Dummy mem_cgroup_wb_stats() implementation wasn't updated leading to build failure when !CGROUP_WRITEBACK. Fixed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: c2aa723a6093 ("writeback: implement memcg writeback domain based throttling") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d60d1bddd5b642711a237511845853755b25bf1f Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 29 12:47:53 2015 -0400 writeback: memcg dirty_throttle_control should be initialized with wb->memcg_completions MDTC_INIT() is used to initialize dirty_throttle_control for memcg domains. It used DTC_INIT_COMMON() to initialized mdtc->wb and ->wb_completions which is incorrect as DTC_INIT_COMMON() sets the latter to wb->completions instead of wb->memcg_completions. This can lead to wildly incorrect results when calculating the proportion of dirty memory the memcg domain should get. Remove DTC_INIT_COMMON() and update MDTC_INIT() to initialize mdtc->wb_completions to wb->memcg_completions. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: c2aa723a6093 ("writeback: implement memcg writeback domain based throttling") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b817525a4a80c04e4ca44192d97a1ffa9f2be572 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Oct 2 14:47:05 2015 -0400 writeback: bdi_writeback iteration must not skip dying ones bdi_for_each_wb() is used in several places to wake up or issue writeback work items to all wb's (bdi_writeback's) on a given bdi. The iteration is performed by walking bdi->cgwb_tree; however, the tree only indexes wb's which are currently active. For example, when a memcg gets associated with a different blkcg, the old wb is removed from the tree so that the new one can be indexed. The old wb starts dying from then on but will linger till all its inodes are drained. As these dying wb's may still host dirty inodes, writeback operations which affect all wb's must include them. bdi_for_each_wb() skipping dying wb's led to sync(2) missing and failing to sync the inodes belonging to those wb's. This patch adds a RCU protected @bdi->wb_list which lists all wb's beloinging to that bdi. wb's are added on creation and removed on release rather than on the start of destruction. bdi_for_each_wb() usages are replaced with list_for_each[_continue]_rcu() iterations over @bdi->wb_list and bdi_for_each_wb() and its helpers are removed. v2: Updated as per Jan. last_wb ref leak in bdi_split_work_to_wbs() fixed and unnecessary list head severing in cgwb_bdi_destroy() removed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-and-tested-by: Artem Bityutskiy <dedekind1@xxxxxxxxx> Fixes: ebe41ab0c79d ("writeback: implement bdi_for_each_wb()") Link: http://lkml.kernel.org/g/1443012552.19983.209.camel@xxxxxxxxx Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6fdf860f15d4a6be8f0947bad608d687fe0c7af7 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 29 12:47:51 2015 -0400 writeback: fix bdi_writeback iteration in wakeup_dirtytime_writeback() wakeup_dirtytime_writeback() walks and wakes up all wb's of all bdi's; unfortunately, it was always waking up bdi->wb instead of the wb being walked. Fix it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: 001fe6f617b1 ("writeback: make wakeup_dirtytime_writeback() handle multiple bdi_writeback's") Reviewed-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 9ad18ab938375502c03cf467abecbb77264c9475 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 29 12:47:50 2015 -0400 writeback: laptop_mode_timer_fn() needs rcu_read_lock() around bdi_writeback iteration laptop_mode_timer_fn() was using bdi_for_each_wb() without the required RCU locking leading to the following warning. WARNING: CPU: 0 PID: 0 at include/linux/backing-dev.h:415 laptop_mode_timer_fn+0x106/0x170() ... Call Trace: <IRQ> [<ffffffff81480cdc>] dump_stack+0x4e/0x82 [<ffffffff81051912>] warn_slowpath_common+0x82/0xc0 [<ffffffff81051a0a>] warn_slowpath_null+0x1a/0x20 [<ffffffff8115f0e6>] laptop_mode_timer_fn+0x106/0x170 [<ffffffff810ca8e3>] call_timer_fn+0xb3/0x2f0 [<ffffffff810cad25>] run_timer_softirq+0x205/0x370 [<ffffffff81056854>] __do_softirq+0xd4/0x460 [<ffffffff81056d69>] irq_exit+0x89/0xa0 [<ffffffff8185a892>] smp_apic_timer_interrupt+0x42/0x50 [<ffffffff81858a44>] apic_timer_interrupt+0x84/0x90 ... Fix it by adding rcu_read_lock() around the iteration. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: a06fd6b10228 ("writeback: make laptop_mode_timer_fn() handle multiple bdi_writeback's") Reviewed-by: Jan Kara <jack@xxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2b63821e5b213ed09a044bf944d91e380549b2da Author: Arnaud Ebalard <arno@xxxxxxxxxxxx> Date: Sat Oct 10 00:10:39 2015 +0200 arm: mvebu: reorder nodes under internal-regs by address in RN2120 .dts file This cosmetic patch reorder nodes under internal-regs by increasing address order, as expected. Signed-off-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 784693def2d36f525d2d259394fd39ac87fc4449 Author: Arnaud Ebalard <arno@xxxxxxxxxxxx> Date: Sat Oct 10 00:10:24 2015 +0200 arm: mvebu: disable unused Armada RTC on ReadyNAS 102, 104 and 2120 By default, armada-370-xp.dtsi file has internal RTC enabled. NETGEAR ReadyNAS 102, 104 and 2120 all use an Intersil ISL12057 I2C RTC chip. The internal RTC not being disabled in the .dts files of those devices result in the following useless first line during boot: [ 4.500056] rtc-mv d0010300.rtc: internal RTC not ticking [ 4.505684] i2c /dev entries driver [ 4.513246] rtc-isl12057 0-0068: rtc core: registered rtc-isl12057 as rtc0 This patch marks Armada internal RTC as disabled in individual .dts files of those devices. Reported-by: TuxOholic <tuxoholic@xxxxxxxxxx> Signed-off-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit f13a5e8a856cda0626da316d853a71952f14b1d7 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 12:24:22 2015 +0200 spi/bcm63xx: move message control word description to register offsets Make the message control word parameters part of the register offsets array so we have them all in one struct. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 682b5280bf00c0618606ecb26cf4a9342d5e282e Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Mon Oct 12 12:24:21 2015 +0200 spi/bcm63xx: fix standard accessors and compile guard Use the correct guard CONFIG_CPU_BIG_ENDIAN and the *be accessors to follow native endianness on big endian systems. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2273584d3f33f7f2cfe6d7aaade0fa2f1cb3db5 Author: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Date: Fri Oct 9 11:53:12 2015 +0800 workqueue: Allocate the unbound pool using local node memory Currently, get_unbound_pool() uses kzalloc() to allocate the worker pool. Actually, we can use the right node to do the allocation, achieving local memory access. This patch selects target node first, and uses kzalloc_node() instead. Signed-off-by: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f9b841af4c1c3c3b7ce3552ab5ee5d9c430e9c29 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:39:27 2015 +0100 spi: spi-coldfire-qspi: enable RuntimePM before registering to the core The core may register clients attached to this master which may use funtionality from the master. So, RuntimePM must be enabled before, otherwise this will fail. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4272975a3444f0abde1354285c5720d7819b41ed Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Oct 10 14:17:58 2015 +0900 ASoC: sh: Fit typo in Kconfig s/SUR/SRU/g Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c9322458119ecf2e5cf41dcb204aaf67238b2147 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 14:30:15 2015 +0200 netfilter: bridge: avoid unused label warning With the ARM mini2440_defconfig, the bridge netfilter code gets built with both CONFIG_NF_DEFRAG_IPV4 and CONFIG_NF_DEFRAG_IPV6 disabled, which leads to a harmless gcc warning: net/bridge/br_netfilter_hooks.c: In function 'br_nf_dev_queue_xmit': net/bridge/br_netfilter_hooks.c:792:2: warning: label 'drop' defined but not used [-Wunused-label] This gets rid of the warning by cleaning up the code to avoid the respective #ifdefs causing this problem, and replacing them with if(IS_ENABLED()) checks. I have verified that the resulting object code is unchanged, and an additional advantage is that we now get compile coverage of the unused functions in more configurations. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: dd302b59bde0 ("netfilter: bridge: don't leak skb in error paths") Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d53195c25931a1f662f73488e604b85bc803c8f3 Merge: 4302f5e 92240e8 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Oct 12 17:35:42 2015 +0200 Merge tag 'ipvs4-for-v4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next Simon Horman says: ==================== Fourth Round of IPVS Updates for v4.4 please consider these build warning cleanups from David Ahern and myself. They resolve some minor side effects of Eric Biederman' heroic work to cleanup IPVS which you recently pulled: its queued up for v4.4 so no need to worry about earlier kernel versions. ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit cc4998febd567d1c671684abce5595344bd4e8b2 Author: lucien <lucien.xin@xxxxxxxxx> Date: Tue Oct 6 21:03:07 2015 +0800 netfilter: ipt_rpfilter: remove the nh_scope test in rpfilter_lookup_reverse --accept-local option works for res.type == RTN_LOCAL, which should be from the local table, but there, the fib_info's nh->nh_scope = RT_SCOPE_NOWHERE ( > RT_SCOPE_HOST). in fib_create_info(). if (cfg->fc_scope == RT_SCOPE_HOST) { struct fib_nh *nh = fi->fib_nh; /* Local address is added. */ if (nhs != 1 || nh->nh_gw) goto err_inval; nh->nh_scope = RT_SCOPE_NOWHERE; <=== nh->nh_dev = dev_get_by_index(net, fi->fib_nh->nh_oif); err = -ENODEV; if (!nh->nh_dev) goto failure; but in our rpfilter_lookup_reverse(): if (dev_match || flags & XT_RPFILTER_LOOSE) return FIB_RES_NH(res).nh_scope <= RT_SCOPE_HOST; if nh->nh_scope > RT_SCOPE_HOST, it will fail. --accept-local option will never be passed. it seems the test is bogus and can be removed to fix this issue. if (dev_match || flags & XT_RPFILTER_LOOSE) return FIB_RES_NH(res).nh_scope <= RT_SCOPE_HOST; ipv6 does not have this issue. Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> Acked-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e8f3010f7326c00368dbc057bd052bec80dfc072 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Oct 8 20:02:04 2015 +0100 arm64/efi: isolate EFI stub from the kernel proper Since arm64 does not use a builtin decompressor, the EFI stub is built into the kernel proper. So far, this has been working fine, but actually, since the stub is in fact a PE/COFF relocatable binary that is executed at an unknown offset in the 1:1 mapping provided by the UEFI firmware, we should not be seamlessly sharing code with the kernel proper, which is a position dependent executable linked at a high virtual offset. So instead, separate the contents of libstub and its dependencies, by putting them into their own namespace by prefixing all of its symbols with __efistub. This way, we have tight control over what parts of the kernel proper are referenced by the stub. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 207918461eb0aca720fddec5da79bc71c133b9f1 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Oct 8 20:02:03 2015 +0100 arm64: use ENDPIPROC() to annotate position independent assembler routines For more control over which functions are called with the MMU off or with the UEFI 1:1 mapping active, annotate some assembler routines as position independent. This is done by introducing ENDPIPROC(), which replaces the ENDPROC() declaration of those routines. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d4dddfdbbc75f46d2cbab4e9f421999452617d64 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Thu Oct 8 20:02:02 2015 +0100 arm64/efi: remove /chosen/linux, uefi-stub-kern-ver DT property With the stub to kernel interface being promoted to a proper interface so that other agents than the stub can boot the kernel proper in EFI mode, we can remove the linux,uefi-stub-kern-ver field, considering that its original purpose was to prevent this from happening in the first place. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 5ffdbe8bf1e485026e1c7e4714d2841553cf0b40 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Mon Aug 24 15:57:19 2015 +0300 ovl: free lower_mnt array in ovl_put_super This fixes memory leak after umount. Kmemleak report: unreferenced object 0xffff8800ba791010 (size 8): comm "mount", pid 2394, jiffies 4294996294 (age 53.920s) hex dump (first 8 bytes): 20 1c 13 02 00 88 ff ff ....... backtrace: [<ffffffff811f8cd4>] create_object+0x124/0x2c0 [<ffffffff817a059b>] kmemleak_alloc+0x7b/0xc0 [<ffffffff811dffe6>] __kmalloc+0x106/0x340 [<ffffffffa0152bfc>] ovl_fill_super+0x55c/0x9b0 [overlay] [<ffffffff81200ac4>] mount_nodev+0x54/0xa0 [<ffffffffa0152118>] ovl_mount+0x18/0x20 [overlay] [<ffffffff81201ab3>] mount_fs+0x43/0x170 [<ffffffff81220d34>] vfs_kern_mount+0x74/0x170 [<ffffffff812233ad>] do_mount+0x22d/0xdf0 [<ffffffff812242cb>] SyS_mount+0x7b/0xc0 [<ffffffff817b6bee>] entry_SYSCALL_64_fastpath+0x12/0x76 [<ffffffffffffffff>] 0xffffffffffffffff Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Fixes: dd662667e6d3 ("ovl: add mutli-layer infrastructure") Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ commit 0f95502ad84874b3c05fc7cdd9d4d9d5cddf7859 Author: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Date: Mon Aug 24 15:57:18 2015 +0300 ovl: free stack of paths in ovl_fill_super This fixes small memory leak after mount. Kmemleak report: unreferenced object 0xffff88003683fe00 (size 16): comm "mount", pid 2029, jiffies 4294909563 (age 33.380s) hex dump (first 16 bytes): 20 27 1f bb 00 88 ff ff 40 4b 0f 36 02 88 ff ff '......@xxxxxxx backtrace: [<ffffffff811f8cd4>] create_object+0x124/0x2c0 [<ffffffff817a059b>] kmemleak_alloc+0x7b/0xc0 [<ffffffff811dffe6>] __kmalloc+0x106/0x340 [<ffffffffa01b7a29>] ovl_fill_super+0x389/0x9a0 [overlay] [<ffffffff81200ac4>] mount_nodev+0x54/0xa0 [<ffffffffa01b7118>] ovl_mount+0x18/0x20 [overlay] [<ffffffff81201ab3>] mount_fs+0x43/0x170 [<ffffffff81220d34>] vfs_kern_mount+0x74/0x170 [<ffffffff812233ad>] do_mount+0x22d/0xdf0 [<ffffffff812242cb>] SyS_mount+0x7b/0xc0 [<ffffffff817b6bee>] entry_SYSCALL_64_fastpath+0x12/0x76 [<ffffffffffffffff>] 0xffffffffffffffff Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx> Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Fixes: a78d9f0d5d5c ("ovl: support multiple lower layers") Cc: <stable@xxxxxxxxxxxxxxx> # v4.0+ commit 4302f5eeb95f78da6351a38cb170943651e8599a Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Oct 5 16:51:02 2015 +0200 nfnetlink_cttimeout: add rcu_barrier() on module removal Make sure kfree_rcu() released objects before leaving the module removal exit path. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ae2d708ed8fb8fa713fdd7eacea5df40bae6315b Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Oct 5 16:51:01 2015 +0200 netfilter: conntrack: fix crash on timeout object removal The object and module refcounts are updated for each conntrack template, however, if we delete the iptables rules and we flush the timeout database, we may end up with invalid references to timeout object that are just gone. Resolve this problem by setting the timeout reference to NULL when the custom timeout entry is removed from our base. This patch requires some RCU trickery to ensure safe pointer handling. This handling is similar to what we already do with conntrack helpers, the idea is to avoid bumping the timeout object reference counter from the packet path to avoid the cost of atomic ops. Reported-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 403d89ad9cc076db44c76ab75c7629497d8ddbb2 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Oct 5 16:51:03 2015 +0200 netfilter: xt_CT: don't put back reference to timeout policy object On success, this shouldn't put back the timeout policy object, otherwise we may have module refcount overflow and we allow deletion of timeout that are still in use. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ea592ed290c7b4f398227a3025f6e1ff94e767f0 Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Tue Oct 6 16:13:44 2015 +0200 ARM: mvebu: enable options for Seagate NAS in mvebu_v7_defconfig This patch enables the following options needed by the Seagate Personal Cloud 1 and 2-Bay and the Seagate NAS 2 and 4-Bay: SATA_AHCI POWER_RESET_GPIO RTC_DRV_DS1307 RTC_DRV_PCF8563 Additionnally this patch also enables NEW_LEDS which was missing for some reasons. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 0ac73f76addfc3816924f84e3227ddc7570cffbf Author: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Date: Tue Oct 6 16:13:43 2015 +0200 ARM: mvebu: add DT support for Seagate Personal Cloud This patch adds DT support for the Seagate Personal Cloud 1 and 2-Bay. Here are some information allowing to identify these devices: Product name | Personal Cloud | Personal Cloud 2-Bay Code name (board/PCB) | Cumulus | Cumulus Max Model name (case sticker) | SRN21C | SRN22C Material desc (product spec) | STCRxxxxxxx | STCSxxxxxxx Chipset list: - SoC Marvell Armada 370 88F6707, CPU @1GHz - SDRAM memory: 512MB DDR3 667MHz (16-bits bandwidth) - SPI flash 1MB (Macronix MX25L8006E) - 1 or 2 SATA internal ports - 1 Ethernet Gigabit port (PHY Marvell 88E1518) - 1 USB3 host port (PCIe controller ASM1042) - 1 USB2 host port (SoC) - 2 push buttons (power and reset) - 1 SATA LED (bi-color, white and red) Note that support for the white SATA LED is missing. A dedicated LED driver is needed. Signed-off-by: Simon Guinot <simon.guinot@xxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 85a9efcd4e2902ddad251925d81386b0d28c1fb3 Author: Vincent Donnefort <vdonnefort@xxxxxxxxx> Date: Tue Oct 6 16:13:42 2015 +0200 ARM: mvebu: add DT support for Seagate NAS 2 and 4-Bay This patch adds DT support for the Seagate NAS 2 and 4-Bay. Here are some information allowing to identify these devices: Product name | Seagate NAS 2-Bay | Seagate NAS 4-Bay Code name (board/PCB) | Dart 2-Bay | Dart 4-Bay Model name (case sticker) | SRPD20 | SRPD40 Material desc (product spec) | STCTxxxxxxx | STCUxxxxxxx Chipset list (common): - SoC Marvell Armada 370 88F6707, CPU @1.2GHz - SDRAM memory: 512MB DDR3 600MHz (16-bits bandwidth) - NAND flash 256MB, 8-bits (Micron MT29F2G08AAB or Hinyx H27U2G8F2CTR-BC) - 2 SATA II ports (SoC) - 1 Ethernet Gigabit ports (PHY Marvell 88E1518) - 2 USB3 host ports (PCIe controller ASM1042) - GPIO fan (4 speeds) - External I2C RTC (MCP7940NT) - 3 push buttons (power, backup and reset) - 2 SATA LEDs (bi-color, blue and red) - 1 power LED (bi-color, blue and red) Only on 4-Bay models: - 2 extra SATA III ports (PCIe AHCI controller Marvell 88SE9170) - 1 extra Ethernet Gigabit ports (PHY Marvell 88E1518) - I2C GPIO expander (PCA9554A) - 2 extra SATA LEDs (bi-color, blue and red) Note that support for the white SATA LEDs associated with HDDs 0 and 1 is missing. A dedicated LED driver is needed. Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 0399f73299f1b7e04de329050f7111b362b7eeb5 Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 12 11:22:42 2015 +0200 x86/microcode/amd: Do not overwrite final patch levels A certain number of patch levels of applied microcode should not be overwritten by the microcode loader, otherwise bad things will happen. Check those and abort update if the current core has one of those final patch levels applied by the BIOS. 32-bit needs special handling, of course. See https://bugzilla.suse.com/show_bug.cgi?id=913996 for more info. Tested-by: Peter KirchgeÃ?ner <pkirchgessner@xxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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> Link: http://lkml.kernel.org/r/1444641762-9437-7-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2eff73c0a11f19ff082a566e3429fbaaca7b8e7b Author: Borislav Petkov <bp@xxxxxxx> Date: Mon Oct 12 11:22:41 2015 +0200 x86/microcode/amd: Extract current patch level read to a function Pave the way for checking the current patch level of the microcode in a core. We want to be able to do stuff depending on the patch level - in this case decide whether to update or not. But that will be added in a later patch. Drop unused local var uci assignment, while at it. Integrate a fix for 32-bit and CONFIG_PARAVIRT from Takashi Iwai: Use native_rdmsr() in check_current_patch_level() because with CONFIG_PARAVIRT enabled and on 32-bit, where we run before paging has been enabled, we cannot deref pv_info yet. Or we could, but we'd need to access its physical address. This way of fixing it is simpler. See: https://bugzilla.suse.com/show_bug.cgi?id=943179 for the background. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxxx>: Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444641762-9437-6-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fa20a2ed6fff717839ec03b6574ea0affcb58841 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Oct 12 11:22:40 2015 +0200 x86/ras/mce_amd_inj: Inject bank 4 errors on the NBC Bank 4 MCEs are logged and reported only on the node base core (NBC) in a socket. Refer to the D18F3x44[NbMcaToMstCpuEn] field in Fam10h and later BKDGs. The node base core (NBC) is the lowest numbered core in the node. This patch ensures that we inject the error on the NBC for bank 4 errors. Otherwise, triggering #MC or APIC interrupts on a core which is not the NBC would not have any effect on the system, i.e. we would not see any relevant output on kernel logs for the error we just injected. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> [ Cleanup comments. ] [ Add a missing dependency on AMD_NB caught by Randy Dunlap. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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> Link: http://lkml.kernel.org/r/1443190851-2172-4-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Link: http://lkml.kernel.org/r/1444641762-9437-5-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a1300e50529795cd605da6a015d4944a18921db0 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Oct 12 11:22:39 2015 +0200 x86/ras/mce_amd_inj: Trigger deferred and thresholding errors interrupts Add the capability to trigger deferred error interrupts and threshold interrupts in order to test the APIC interrupt handler functionality for these type of errors. Update README section about the same too. Reported by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> [ Cleanup comments. ] [ Include asm/irq_vectors.h directly so that misc randbuilds don't fail. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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> Link: http://lkml.kernel.org/r/1443190851-2172-3-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Link: http://lkml.kernel.org/r/1444641762-9437-4-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 85c9306d44f757d2fb3b0e3e399080a025315c7f Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Oct 12 11:22:38 2015 +0200 x86/ras/mce_amd_inj: Return early on invalid input Invalid inputs such as these are currently reported in dmesg as failing: $> echo sweet > flags [ 122.079139] flags_write: Invalid flags value: et even though the 'flags' attribute has been updated correctly: $> cat flags sw This is because userspace keeps writing the remaining buffer until it encounters an error. However, the input as a whole is wrong and we should not be writing anything to the file. Therefore, correct flags_write() to return -EINVAL immediately on bad input strings. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> 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> Link: http://lkml.kernel.org/r/1443190851-2172-2-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Link: http://lkml.kernel.org/r/1444641762-9437-3-git-send-email-bp@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1c8a47df36d72ace8cf78eb6c228aa0f8027d3c2 Author: Miklos Szeredi <miklos@xxxxxxxxxx> Date: Mon Oct 12 15:56:20 2015 +0200 ovl: fix open in stacked overlay If two overlayfs filesystems are stacked on top of each other, then we need recursion in ovl_d_select_inode(). I guess d_backing_inode() is supposed to do that. But currently it doesn't and that functionality is open coded in vfs_open(). This is now copied into ovl_d_select_inode() to fix this regression. Reported-by: Alban Crequy <alban.crequy@xxxxxxxxx> Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Fixes: 4bacc9c9234c ("overlayfs: Make f_path always point to the overlay...") Cc: David Howells <dhowells@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.2+ commit ab79efab0a0ba01a74df782eb7fa44b044dae8b5 Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Sep 18 11:45:22 2015 +0100 ovl: fix dentry reference leak In ovl_copy_up_locked(), newdentry is leaked if the function exits through out_cleanup as this just to out after calling ovl_cleanup() - which doesn't actually release the ref on newdentry. The out_cleanup segment should instead exit through out2 as certainly newdentry leaks - and possibly upper does also, though this isn't caught given the catch of newdentry. Without this fix, something like the following is seen: BUG: Dentry ffff880023e9eb20{i=f861,n=#ffff880023e82d90} still in use (1) [unmount of tmpfs tmpfs] BUG: Dentry ffff880023ece640{i=0,n=bigfile} still in use (1) [unmount of tmpfs tmpfs] when unmounting the upper layer after an error occurred in copyup. An error can be induced by creating a big file in a lower layer with something like: dd if=/dev/zero of=/lower/a/bigfile bs=65536 count=1 seek=$((0xf000)) to create a large file (4.1G). Overlay an upper layer that is too small (on tmpfs might do) and then induce a copy up by opening it writably. Reported-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ commit 0480334fa60488d12ae101a02d7d9e1a3d03d7dd Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Sep 18 11:45:12 2015 +0100 ovl: use O_LARGEFILE in ovl_copy_up() Open the lower file with O_LARGEFILE in ovl_copy_up(). Pass O_LARGEFILE unconditionally in ovl_copy_up_data() as it's purely for catching 32-bit userspace dealing with a file large enough that it'll be mishandled if the application isn't aware that there might be an integer overflow. Inside the kernel, there shouldn't be any problems. Reported-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Miklos Szeredi <miklos@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ commit 84a87250ee4e4f7cf5865be9757e2ea758e5cae3 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Sat Oct 10 18:15:06 2015 +0800 clk: imx6: Add SPDIF_GCLK clock in clock tree Correct SPDIF clock setting issue in clock tree, the SPDIF_GCLK is also one clock of SPDIF, which is missed before. We found an issue that imx can't enter low power mode with spdif if IMX6x_CLK_SPDIF is used as the core clock of spdif. Because spdif driver will register IMX6x_CLK_SPDIF clock to regmap, regmap will do clk_prepare in init function, then IMX6x_CLK_SPDIF clock is prepared in probe, so its parent clock (PLL clock) is prepared, the prepare operation of PLL clock is to enable the clock. But I.MX needs all PLL clock is disabled, then it can enter low power mode. So we can't use IMX6x_CLK_SPDIF as the core clock of spdif, the correct spdif core clock is SPDIF_GCLK, which share same gate bit with IMX6x_CLK_SPDIF clock. SPDIF_GCLK's parent clock is ipg clock. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6fb2ffd737a1d5c06d878ff47a715d20cce78265 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Oct 11 11:55:08 2015 +0200 ARM: dts: sun5i: Add backlight node to sun5i-q8-common.dtsi All A13 based q8 formfactor tablets use the same backlight setup, add a backlight devicetree node for controlling the backlight on these devices. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6bf28cb995a525f090e2fb6370fb8717dbf57598 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Oct 11 11:55:07 2015 +0200 ARM: dts: sunxi: Enable PWM controller on Q8 format tablets Q8 format tablets use channel 0 of the PWM controller for backlight dimming. 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 bb390193060fd35045919681153b057b75f61426 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Oct 11 11:55:06 2015 +0200 ARM: dts: sun5i: Add PWM channel 0 pinmux setting for A13/A10s Add a pinmux setting for the first pwm channel. This is often used for backlight dimming on tablets. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 51763bd73ded2e95c5b8a65ed676df9cc5d735ff Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Oct 11 11:55:05 2015 +0200 ARM: dts: sun5i: Add PWM controller node for A13 / A10s Add dts nodes for the PWM controller on the A13 / A10s. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 7f7308198f98700be82d123569ea59229a75d3c3 Author: Bai Ping <b51503@xxxxxxxxxxxxx> Date: Fri Oct 9 23:35:30 2015 +0800 ARM: imx: add cpufreq device for imx6ul Add cpufreq device for i.MX6UL. Using the common cpufreq of i.MX6 SOC. Signed-off-by: Bai Ping <b51503@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 0f96a99dab366333439e110d6ad253bc7c557c09 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Wed Sep 30 23:01:56 2015 +0900 efi: Add "efi_fake_mem" boot option This patch introduces new boot option named "efi_fake_mem". By specifying this parameter, you can add arbitrary attribute to specific memory range. This is useful for debugging of Address Range Mirroring feature. For example, if "efi_fake_mem=2G@4G:0x10000,2G@0x10a0000000:0x10000" is specified, the original (firmware provided) EFI memmap will be updated so that the specified memory regions have EFI_MEMORY_MORE_RELIABLE attribute (0x10000): <original> efi: mem36: [Conventional Memory| | | | | | |WB|WT|WC|UC] range=[0x0000000100000000-0x00000020a0000000) (129536MB) <updated> efi: mem36: [Conventional Memory| |MR| | | | |WB|WT|WC|UC] range=[0x0000000100000000-0x0000000180000000) (2048MB) efi: mem37: [Conventional Memory| | | | | | |WB|WT|WC|UC] range=[0x0000000180000000-0x00000010a0000000) (61952MB) efi: mem38: [Conventional Memory| |MR| | | | |WB|WT|WC|UC] range=[0x00000010a0000000-0x0000001120000000) (2048MB) efi: mem39: [Conventional Memory| | | | | | |WB|WT|WC|UC] range=[0x0000001120000000-0x00000020a0000000) (63488MB) And you will find that the following message is output: efi: Memory: 4096M/131455M mirrored memory Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 0bbea1ce98ed44779736ecc54ca9cdbca2b95544 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Wed Sep 30 19:20:00 2015 +0900 x86/efi: Rename print_efi_memmap() to efi_print_memmap() This patch renames print_efi_memmap() to efi_print_memmap() and make it global function so that we can invoke it outside of arch/x86/platform/efi/efi.c Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 9ac4d5ab3e7ae6f485501cb6bf3965da34ac1bac Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Sep 28 01:44:16 2015 +0100 efi: Auto-load the efi-pstore module efi-pstore should be auto-loaded on EFI systems, same as efivars. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Lee, Chun-Yi <jlee@xxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit a1041713349d0b823b492d7b4ea4325d0b5666db Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 23 07:29:34 2015 -0700 efi: Introduce EFI_NX_PE_DATA bit and set it from properties table UEFI v2.5 introduces a runtime memory protection feature that splits PE/COFF runtime images into separate code and data regions. Since this may require special handling by the OS, allocate a EFI_xxx bit to keep track of whether this feature is currently active or not. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit bf924863c9445174c6e118f723dc477e2b6ccc7e Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 9 10:08:15 2015 +0200 efi: Add support for UEFIv2.5 Properties table Version 2.5 of the UEFI spec introduces a new configuration table called the 'EFI Properties table'. Currently, it is only used to convey whether the Memory Protection feature is enabled, which splits PE/COFF images into separate code and data memory regions. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Acked-by: Dave Young <dyoung@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 8be4432eb629a2762bad9173d6b06e6ea9c0dfcb Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Thu Aug 27 02:11:19 2015 +0900 efi: Add EFI_MEMORY_MORE_RELIABLE support to efi_md_typeattr_format() UEFI spec 2.5 introduces new Memory Attribute Definition named EFI_MEMORY_MORE_RELIABLE. This patch adds this new attribute support to efi_md_typeattr_format(). Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit ae2ee627dc87a70910de91b791b3cd0e9c6facdd Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Tue Aug 25 16:32:55 2015 +0100 efifb: Add support for 64-bit frame buffer addresses The EFI Graphics Output Protocol uses 64-bit frame buffer addresses but these get truncated to 32-bit by the EFI boot stub when storing the address in the 'lfb_base' field of 'struct screen_info'. Add a 'ext_lfb_base' field for the upper 32-bits of the frame buffer address and set VIDEO_TYPE_CAPABILITY_64BIT_BASE when the field is useable. It turns out that the reason no one has required this support so far is that there's actually code in tianocore to "downgrade" PCI resources that have option ROMs and 64-bit BARS from 64-bit to 32-bit to cope with legacy option ROMs that can't handle 64-bit addresses. The upshot is that basically all GOP devices in the wild use a 32-bit frame buffer address. Still, it is possible to build firmware that uses a full 64-bit GOP frame buffer address. Chad did, which led to him reporting this issue. Add support in anticipation of GOP devices using 64-bit addresses more widely, and so that efifb works out of the box when that happens. Reported-by: Chad Page <chad.page@xxxxxxxx> Cc: Pete Hawkins <pete.hawkins@xxxxxxxx> Acked-by: Peter Jones <pjones@xxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 7968c0e338085eba0ee2f0e0b0d833057a966679 Author: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Date: Wed Aug 26 14:24:58 2015 +0100 efi/arm64: Clean up efi_get_fdt_params() interface As we now have a common debug infrastructure between core and arm64 efi, drop the bit of the interface passing verbose output flags around. Signed-off-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit c9494dc818755f2dd934c93faa933317fae51594 Author: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Date: Wed Aug 26 14:24:57 2015 +0100 arm64: Use core efi=debug instead of uefi_debug command line parameter Now that we have an efi=debug command line option in the core code, use this instead of the arm64-specific uefi_debug option. Signed-off-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 12dd00e83fb83fa41dcc965cdd1e1627494348cb Author: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Date: Wed Aug 26 14:24:56 2015 +0100 efi/x86: Move efi=debug option parsing to core fed6cefe3b6e ("x86/efi: Add a "debug" option to the efi= cmdline") adds the DBG flag, but does so for x86 only. Move this early param parsing to core code. Signed-off-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Tested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit 18aefbc5cc075617b00ffefba70029541e18fd1a Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Aug 25 19:00:48 2015 -0400 drivers/firmware: Make efi/esrt.c driver explicitly non-modular The Kconfig for this driver is currently hidden with: config EFI_ESRT bool ...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. We don't replace module.h with init.h since the file already has that. Cc: Peter Jones <pjones@xxxxxxxxxx> Cc: linux-efi@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> commit cdbcd239e2e264dc3ef7bc7865bcb8ec0023876f Merge: 6e06780 7e0abcd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 12 14:52:34 2015 +0200 Merge branch 'x86/ras' into ras/core, to pick up changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0fa28877b26641cca56b607ccec1fcbda7ae09c6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 14:53:54 2015 +0200 net: HNS: fix MDIO dependencies The newly introduced HNS_MDIO Kconfig symbol selects 'MDIO', but that is the wrong symbol as the code used by this driver is provided by PHYLIB rather than the MDIO driver. Also, there is no need to make this driver user selectable, because it is already selected by all drivers that need it. This changes the Kconfig file to select the correct library, and to make the option silent. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 5b904d39406 ("net: add Hisilicon Network Subsystem MDIO support") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c577e59ed7f55be398a2a730447a7f37d72eaa57 Author: Daniel Pieczko <dpieczko@xxxxxxxxxxxxxx> Date: Fri Oct 9 10:40:35 2015 +0100 sfc: fully reset if MC_REBOOT event received without warm_boot_count increment On EF10, MC_CMD_VPORT_RECONFIGURE can cause a CODE_MC_REBOOT event to be sent to a function without incrementing the (adapter-wide) warm_boot_count. In this case, the reboot is not detected by the loop on efx_mcdi_poll_reboot(), so prepare for recovery from an MC reboot anyway. When this codepath is run, the MC has always just rebooted, so this recovery is valid. The loop on efx_mcdi_poll_reboot() is still required for other MC reboot cases, so that actions in response to an MC reboot are performed, such as clearing locally calculated statistics. Siena NICs are unaffected by this change as the above scenario does not apply. Signed-off-by: Shradha Shah <sshah@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d5404915a92de00cc2a6bd1d1b7f923b70effbd1 Merge: 7533ce3 d0cf57f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 12 05:20:28 2015 -0700 Merge branch 'switchdev_ageing_time' Scott Feldman says: ==================== switchdev: push bridge ageing_time attribute down Push bridge-level attributes down to switchdev drivers. This patchset adds the infrastructure and then pushes, as an example, ageing_time attribute down from bridge to switchdev (rocker) driver. Add some range-checking for ageing_time. RTNETLINK answers: Numerical result out of range Up until now, switchdev attrs where port-level attrs, so the netdev used in switchdev_attr_set() would be a switch port or bond of switch ports. With bridge-level attrs, the netdev passed to switchdev_attr_set() is the bridge netdev. The same recusive algo is used to visit the leaves of the stacked drivers to set the attr, it's just in this case we start one layer higher in the stack. One note is not all ports in the bridge may support setting a bridge-level attribute, so rather than failing the entire set, we'll skip over those ports returning -EOPNOTSUPP. v2->v3: Per Jiri review: push only ageing_time attr down at this time, and don't pass raw bridge IFLA_BR_* values; rather use new switchdev attr ID for ageing_time. v1->v2: rebase w/ net-next ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0cf57f9dddb50ea404bf747a3c6b22b29f82b9a Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Oct 8 19:23:20 2015 -0700 rocker: handle setting bridge ageing_time The FDB cleanup timer will get rescheduled to re-evaluate FDB entries based on new ageing_time. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c62987bbd8a1a1664f99e89e3959339350a6131e Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Oct 8 19:23:19 2015 -0700 bridge: push bridge setting ageing_time down to switchdev Use SWITCHDEV_F_SKIP_EOPNOTSUPP to skip over ports in bridge that don't support setting ageing_time (or setting bridge attrs in general). If push fails, don't update ageing_time in bridge and return err to user. If push succeeds, update ageing_time in bridge and run gc_timer now to recalabrate when to run gc_timer next, based on new ageing_time. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 464314ea6c119ebc22ee78453e63814453c31611 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Oct 8 19:23:18 2015 -0700 switchdev: skip over ports returning -EOPNOTSUPP when recursing ports This allows us to recurse over all the ports, skipping over unsupporting ports. Without the change, the recursion would stop at first unsupported port. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f55ac58ae64cbb0315382e738681fe31837dcac0 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Thu Oct 8 19:23:17 2015 -0700 switchdev: add bridge ageing_time attribute Setting the stage to push bridge-level attributes down to port driver so hardware can be programmed accordingly. Bridge-level attribute example is ageing_time. This is a per-bridge attribute, not a per-bridge-port attr. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53b3ffee788559fe26d32f21b223bf4bad959477 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Mon Oct 12 19:10:25 2015 +0900 ALSA: firewire-tascam: change device probing processing Currently, this driver picks up model name with be32_to_cpu() macro to align characters. This is wrong operation because the result is different depending on CPU endiannness. Additionally, vendor released several versions of firmware for this series. It's not better to assign model-dependent information to device entry according to the version field. This commit fixes these bugs. The name of model is picked up correctly and used to identify model-dependent information. Cc: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Fixes: c0949b278515 ('ALSA: firewire-tascam: add skeleton for TASCAM FireWire series') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e65e2cb99e44704f63b76e4395092b0533bef88b Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Mon Oct 12 19:10:24 2015 +0900 ALSA: firewire-tascam: Turn on/off FireWire LED TASCAM FireWire series has some LEDs on its surface. These LEDs can be turned on/off by receiving asynchronous transactions to a certain address. One of the LEDs is labels as 'FireWire'. It's better to light it up when this driver starts to work. Besides, the LED for 'FireWire' is turned off at bus reset. This commit implements this idea. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0db18e7eec40a4331214185b37b0440856856775 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Mon Oct 12 19:10:23 2015 +0900 ALSA: firewire-tascam: add support for MIDI functionality In former commits, this driver got functionalities to transfer/receive MIDI messages to/from TASCAM FireWire series. This commit adds some ALSA MIDI ports to enable userspace applications to use the functionalities. I note that this commit doesn't support virtual MIDI ports which console models support. A physical controls can be assigned to a certain MIDI ports including physical and virtual. But the way is not clear. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3beab0f844fadefe16b6383f6ff7b76147db686b Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Mon Oct 12 19:10:22 2015 +0900 ALSA: firewire-tascam: add support for outgoing MIDI messages by asynchronous transaction TASCAM FireWire series use asynchronous transaction to receive MIDI messages. The transaction should be sent to a certain address. This commit supports the outgoing MIDI messages. The messages in the transaction includes some quirks: * One MIDI message is transferred in one quadlet transaction, except for system exclusives. * MIDI running status is not allowed, thus transactions always include status byte. * The basic data format is the same as transferring MIDI messages supported in previous commit. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 107cc0129a685e88d09af88b8a371caec5c51ff0 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Mon Oct 12 19:10:21 2015 +0900 ALSA: firewire-tascam: add support for incoming MIDI messages by asynchronous transaction TASCAM FireWire series use asynchronous transaction to transfer MIDI messages. The transaction is sent to a registered address. This commit supports the incoming MIDI messages. The messages in the transaction include some quirks: * Two quadlets are used for one MIDI message and one timestamp. * Usually, the first byte of the first quadlet includes MIDI port and MSB 4 bit of MIDI status. For system exclusive message, the first byte includes MIDI port and 0x04, or 0x07 in the end of the message. * The rest of the first quadlet includes MIDI bytes up to 3. * Several set of MIDI messages and timestamp can be transferred in one block transaction, up to 8 sets. I note that TASCAM FireWire series ignores ID bytes of system exclusive message. When receiving system exclusive messages with ID bytes on physical MIDI bus, the series transfers the messages without ID bytes on IEEE 1394 bus, and vice versa. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7533ce3055bbe9577276a847125b156c44a5bbce Author: Richard Sailer <richard@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 02:41:37 2015 +0200 tcp: change type of alive from int to bool The alive parameter of tcp_orphan_retries, indicates whether the connection is assumed alive or not. In the function and all places calling it is used as a boolean value. Therefore this changes the type of alive to bool in the function definition and all calling locations. Since tcp_orphan_tries is a tcp_timer.c local function no change in any other file or header is necessary. Signed-off-by: Richard Sailer <richard@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3741873b4f73b572b8f8835e6bd114e08316a160 Author: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 10:38:52 2015 -0700 bridge: allow adding of fdb entries pointing to the bridge device This patch enables adding of fdb entries pointing to the bridge device. This can be used to propagate mac address of vlan interfaces configured on top of the vlan filtering bridge. Before: $bridge fdb add 44:38:39:00:27:9f dev bridge RTNETLINK answers: Invalid argument After: $bridge fdb add 44:38:39:00:27:9f dev bridge Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb50ce324e72bfd5d191d0a834a0ead1a08666b7 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Mon Oct 12 12:10:53 2015 +0100 arm64: Fix missing #include in hw_breakpoint.c A prior commit used to detect the hw breakpoint ABI behaviour based on the target state missed the asm/compat.h include and the build fails with !CONFIG_COMPAT. Fixes: 8f48c0629049 ("arm64: hw_breakpoint: use target state to determine ABI behaviour") Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 465a225fb2afb3ebf1becbe76d46b084d46f30a5 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jun 9 19:38:43 2015 +0200 ARM: sun5i: Add C.H.I.P DTS The C.H.I.P. is a small SBC with an Allwinner R8, 8GB of NAND, 512MB of RAM, USB host and OTG, a wifi / bluetooth combo chip, an audio/video jack and two connectors to plug additional boards on top of it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> commit cf09d7b0762c8fd225f0808bb85f573254ad5b54 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Oct 10 22:48:57 2015 +0800 ARM: dts: sunxi: Add dtsi for AXP22x PMIC The AXP22x family of PMIC is used with some Allwinner SoCs. This includes the AXP221, AXP221s and AXP223. They differ in the host interface, maximum supply current for DCDC1 regulator, and default voltage and state for various LDO regulators. Also, the AXP221s does not support fine calibration of the battery fuel gauge. This patch adds a dtsi file for all the common bindings for these PMICs. Currently this is just listing all the regulator nodes. The regulators are initialized based on their device node names. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit dbb64f8635f5d68192108b88759a34633a4bd558 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Thu Oct 1 13:20:27 2015 -0500 md-cluster: Fix adding of new disk with new reload code Adding the disk worked incorrectly with the new reload code. Fix it: - No operation should be performed on rdev marked as Candidate - After a metadata update operation, kick disk if role is 0xfffe else clear Candidate bit and continue with the regular change check. - Saving the mode of the lock resource to check if token lock is already locked, because it can be called twice while adding a disk. However, unlock_comm() must be called only once. - add_new_disk() is called by the node initiating the --add operation. If it needs to be canceled, call add_new_disk_cancel(). The operation is completed by md_update_sb() which will write and unlock the communication. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit c186b128cda5a246da25f474e4689cb2bfacfcac Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Wed Sep 30 13:20:35 2015 -0500 md-cluster: Perform resync/recovery under a DLM lock Resync or recovery must be performed by only one node at a time. A DLM lock resource, resync_lockres provides the mutual exclusion so that only one node performs the recovery/resync at a time. If a node is unable to get the resync_lockres, because recovery is being performed by another node, it set MD_RECOVER_NEEDED so as to schedule recovery in the future. Remove the debug message in resync_info_update() used during development. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 6035519fcf5aa17084b41790cdc584d881d82c03 Author: John Stultz <john.stultz@xxxxxxxxxx> Date: Mon Oct 5 18:16:57 2015 -0700 timers, kselftest: Add 'adjtick' test to validate adjtimex() tick adjustments Recently a kernel side NTP bug was fixed via the following commit: 2619d7e9c92d ("time: Fix timekeeping_freqadjust()'s incorrect use of abs() instead of abs64()") When the bug was reported it was difficult to detect, except by tweaking the adjtimex tick value, and noticing how quickly the adjustment took: https://lkml.org/lkml/2015/9/1/488 Thus this patch introduces a new test which manipulates the adjtimex tick value and validates that the results are what we expect. Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Miroslav Lichvar <mlichvar@xxxxxxxxxx> Cc: Nuno Gonçalves <nunojpg@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444094217-20258-1-git-send-email-john.stultz@xxxxxxxxxx [ Tidied up the code and the changelog a bit. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b9f27c0f4f7db9e5a4ba59228442a75d3177470c Merge: 9fc4468 25cb62b Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Oct 12 09:51:18 2015 +0200 Merge tag 'v4.3-rc5' into timers/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9babcd7929bc8967ae3bb6093f603b93c2f9958f Author: Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> Date: Thu Oct 8 15:36:06 2015 -0300 sched, tracing: Stop/start critical timings around the idle=poll idle loop When using idle=poll, the preemptoff tracer is always showing the idle task as the culprit for long latencies. That happens because critical timings are not stopped before idle loop. This patch stops critical timings before entering the idle loop, starting it again after the idle loop. This problem does not affect the irqsoff tracer because interruptions are enabled before entering the idle loop. Signed-off-by: Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> Reviewed-by: Luis Claudio R. Goncalves <lgoncalv@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> 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/10fc3705874aef11dbe152a068b591a7be1899b4.1444314899.git.bristot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e9c40d257fdd58c5cc97d3fe3aa141dd23ee5e9d Author: Minfei Huang <mnfhuang@xxxxxxxxx> Date: Tue Oct 6 02:35:55 2015 +0800 x86/kexec: Remove obsolete 'in_crash_kexec' flag Previously, UV NMI used the 'in_crash_kexec' flag to determine whether we are in a kdump kernel or not: 5edd19af18a36a4 ("x86, UV: Make kdump avoid stack dumps") But this flags was removed in the following commit: 9c48f1c629ecfa1 ("x86, nmi: Wire up NMI handlers to new routines") Since it isn't used any more, remove it. Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx> Acked-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: cpw@xxxxxxx Cc: kexec@xxxxxxxxxxxxxxxxxxx Cc: mhuang@xxxxxxxxxx Link: http://lkml.kernel.org/r/1444070155-17934-1-git-send-email-mhuang@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1e2103cbf4adfd5490ee5f3ee59750bd70d2047e Merge: 8a56d7c 847f9f6 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Oct 12 18:38:25 2015 +1100 Merge branch 'xfs-misc-fixes-for-4.4-1' into for-next commit 8a56d7c305b9613dfe416fd1af06871ec34bb103 Merge: 316433b 0a50f16 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Oct 12 18:38:11 2015 +1100 Merge branch 'xfs-io-fixes' into for-next commit 316433beda9433697109eb1cd256666f163c7c1f Merge: 9e92054 91f9f5f Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Oct 12 18:37:58 2015 +1100 Merge branch 'xfs-logging-fixes' into for-next commit 9e92054e8e049f8f4c64d2c6961b2a7e3e13977f Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Mon Oct 12 18:21:22 2015 +1100 xfs: simplify /proc teardown & error handling remove_proc_subtree() was added in 3.9, and can be used to simplify our procfile creation error handling and cleanup, removing the nested gotos. It simply removes fs/xfs and everything created under it. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ff6d6af2351caea7db681f4539d0d893e400557a Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 18:21:22 2015 +1100 xfs: per-filesystem stats counter implementation This patch modifies the stats counting macros and the callers to those macros to properly increment, decrement, and add-to the xfs stats counts. The counts for global and per-fs stats are correctly advanced, and cleared by writing a "1" to the corresponding clear file. global counts: /sys/fs/xfs/stats/stats per-fs counts: /sys/fs/xfs/sda*/stats/stats global clear: /sys/fs/xfs/stats/stats_clear per-fs clear: /sys/fs/xfs/sda*/stats/stats_clear [dchinner: cleaned up macro variables, removed CONFIG_FS_PROC around stats structures and macros. ] Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 225e4635580ce9fb12f8a2dc88473161cd64dbf6 Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 18:21:19 2015 +1100 xfs: per-filesystem stats in sysfs This patch implements per-filesystem stats objects in sysfs. It depends on the application of the previous patch series that develops the infrastructure to support both xfs global stats and xfs per-fs stats in sysfs. Stats objects are instantiated when an xfs filesystem is mounted and deleted on unmount. With this patch, the stats directory is created and populated with the familiar stats and stats_clear files. Example: /sys/fs/xfs/sda9/stats/stats /sys/fs/xfs/sda9/stats/stats_clear With this patch, the individual counts within the new per-fs stats file(s) remain at zero. Functions that use the the macros to increment, decrement, and add-to the per-fs stats counts will be covered in a separate new patch to follow this one. Note that the counts within the global stats file (/sys/fs/xfs/stats/stats) advance normally and can be cleared as it was prior to this patch. [dchinner: move setup/teardown to xfs_fs_{fill|put}_super() so it is down before/after any path that uses the per-mount stats. ] Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2aa82191ac36cd2f2a41aa25697db30ed7c619ef Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Mon Sep 28 19:21:35 2015 -0500 md-cluster: Perform a lazy update In a clustered environment, a change such as marking a device faulty, can be recorded by any of the nodes. This is communicated to all the nodes and re-recording such a change is unnecessary, and quite often pretty disruptive. With this patch, just before the update, we detect for the changes and if the changes are already in superblock, we abort the update after clearing all the flags Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 70bcecdb1534a7dcd82503b705c27a048d568c9d Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Aug 21 10:33:39 2015 -0500 md-cluster: Improve md_reload_sb to be less error prone md_reload_sb is too simplistic and it explicitly needs to determine the changes made by the writing node. However, there are multiple areas where a simple reload could fail. Instead, read the superblock of one of the "good" rdevs and update the necessary information: - read the superblock into a newly allocated page, by temporarily swapping out rdev->sb_page and calling ->load_super. - if that fails return - if it succeeds, call check_sb_changes 1. iterates over list of active devices and checks the matching dev_roles[] value. If that is 'faulty', the device must be marked as faulty - call md_error to mark the device as faulty. Make sure not to set CHANGE_DEVS and wakeup mddev->thread or else it would initiate a resync process, which is the responsibility of the "primary" node. - clear the Blocked bit - Call remove_and_add_spares() to hot remove the device. If the device is 'spare': - call remove_and_add_spares() to get the number of spares added in this operation. - Reduce mddev->degraded to mark the array as not degraded. 2. reset recovery_cp - read the rest of the rdevs to update recovery_offset. If recovery_offset is equal to MaxSector, call spare_active() to set it In_sync This required that recovery_offset be initialized to MaxSector, as opposed to zero so as to communicate the end of sync for a rdev. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 2910ff17d154baa5eb50e362a91104e831eb2bb6 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Mon Sep 28 10:27:26 2015 -0500 md: remove_and_add_spares() to activate specific rdev remove_and_add_spares() checks for all devices to activate spare. Change it to activate a specific device if a non-null rdev argument is passed. remove_and_add_spares() can be used to activate spares in slot_store() as well. For hot_remove_disk(), check if rdev->raid_disk == -1 before calling remove_and_add_spares() Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit b8ca846e45197a2de829def27254f833a998723e Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Oct 9 11:27:01 2015 -0500 md-cluster: Wake up suspended process When the suspended_area is deleted, the suspended processes must be woken up in order to complete their I/O. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> commit 099954119d53a24573d22b70a6ea22a0a279e689 Author: Guoqing Jiang <gqjiang@xxxxxxxx> Date: Thu Oct 1 00:09:18 2015 +0800 md-cluster: send BITMAP_NEEDS_SYNC when node is leaving cluster Previously, BITMAP_NEEDS_SYNC message is sent when the resyc aborts, but it could abort for different reasons, and not all of reasons require another node to take over the resync ownship. It is better make BITMAP_NEEDS_SYNC message only be sent when the node is leaving cluster with dirty bitmap. And we also need to ensure dlm connection is ok. Signed-off-by: Guoqing Jiang <gqjiang@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit c40f341f1e7fd4eddcfc5881d94cfa8669071ee6 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Wed Aug 19 08:14:42 2015 +1000 md-cluster: Use a small window for resync Suspending the entire device for resync could take too long. Resync in small chunks. cluster's resync window (32M) is maintained in r1conf as cluster_sync_low and cluster_sync_high and processed in raid1's sync_request(). If the current resync is outside the cluster resync window: 1. Set the cluster_sync_low to curr_resync_completed. 2. Check if the sync will fit in the new window, if not issue a wait_barrier() and set cluster_sync_low to sector_nr. 3. Set cluster_sync_high to cluster_sync_low + resync_window. 4. Send a message to all nodes so they may add it in their suspension list. bitmap_cond_end_sync is modified to allow to force a sync inorder to get the curr_resync_completed uptodate with the sector passed. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 3c462c880b52aae2cfbbb8db8b401eef118cc128 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Wed Aug 19 07:35:54 2015 +1000 md: Increment version for clustered bitmaps Add BITMAP_MAJOR_CLUSTERED as 5, in order to prevent older kernels to assemble a clustered device. In order to maximize compatibility, the major version is set to BITMAP_MAJOR_CLUSTERED *only* if the bitmap is clustered. Added MD_FEATURE_CLUSTERED in order to return error for older kernels which would assemble MD even if the bitmap is corrupted. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 9ed38ff53090856769b99e9d2f19740fb11e6956 Author: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Date: Fri Aug 14 12:19:40 2015 -0500 md-cluster: complete all write requests before adding suspend_info process_suspend_info - which handles the RESYNCING request - must not reply until all writes which were initiated before the request arrived, have completed. As a by-product, all process_* functions now take mddev as their first arguement making it uniform. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxxx> commit 847f9f6875fb02b576035e3dc31f5e647b7617a7 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Mon Oct 12 16:04:45 2015 +1100 xfs: more info from kmem deadlocks and high-level error msgs In an effort to get more useful out of "possible memory allocation deadlock" messages, print the size of the requested allocation, and dump the stack if the xfs error level is tuned high. The stack dump is implemented in define_xfs_printk_level() for error levels >= LOGLEVEL_ERR, partly because it seems generically useful, and also because kmem.c has no knowledge of xfs error level tunables or other such bits, it's very kmem-specific. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 91f9f5fe1e7350e872b3fbc3194e8183bddce514 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Mon Oct 12 16:04:15 2015 +1100 xfs: avoid null *src in memcpy call in xlog_write The gcc undefined behavior sanitizer caught this; surely any sane memcpy implementation will no-op if size == 0, but behavior with a *src of NULL is technically undefined (declared nonnull), so avoid it here. We are actually in this situation frequently via xlog_commit_record(), because: struct xfs_log_iovec reg = { .i_addr = NULL, .i_len = 0, .i_type = XLOG_REG_TYPE_COMMIT, }; Reported-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit dbd5c8c9a28899c6ca719eb21afc0afba9dd5574 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 16:04:13 2015 +1100 xfs: pass total block res. as total xfs_bmapi_write() parameter The total field from struct xfs_alloc_arg is a bit of an unknown commodity. It is documented as the total block requirement for the transaction and is used in this manner from most call sites by virtue of passing the total block reservation of the transaction associated with an allocation. Several xfs_bmapi_write() callers pass hardcoded values of 0 or 1 for the total block requirement, which is a historical oddity without any clear reasoning. The xfs_iomap_write_direct() caller, for example, passes 0 for the total block requirement. This has been determined to cause problems in the form of ABBA deadlocks of AGF buffers due to incorrect AG selection in the block allocator. Specifically, the xfs_alloc_space_available() function incorrectly selects an AG that doesn't actually have sufficient space for the allocation. This occurs because the args.total field is 0 and thus the remaining free space check on the AG doesn't actually consider the size of the allocation request. This locks the AGF buffer, the allocation attempt proceeds and ultimately fails (in xfs_alloc_fix_minleft()), and xfs_alloc_vexent() moves on to the next AG. In turn, this can lead to incorrect AG locking order (if the allocator wraps around, attempting to lock AG 0 after acquiring AG N) and thus deadlock if racing with another operation. This problem has been reproduced via generic/299 on smallish (1GB) ramdisk test devices. To avoid this problem, replace the undocumented hardcoded total parameters from the iomap and utility callers to pass the block reservation used for the associated transaction. This is consistent with other xfs_bmapi_write() callers throughout XFS. The assumption is that the total field allows the selection of an AG that can handle the entire operation rather than simply the allocation/range being requested (e.g., resulting btree splits, etc.). This addresses the aforementioned generic/299 hang by ensuring AG selection only occurs when the allocation can be satisfied by the AG. Reported-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 51fcbfe7092a18a138e28110df3ab7e666bf69ee Author: Jan Tulak <jtulak@xxxxxxxxxx> Date: Mon Oct 12 16:03:59 2015 +1100 xfs: avoid dependency on Linux XATTR_SIZE_MAX Currently, we depends on Linux XATTR value for on disk definition. Which causes trouble on other platforms and maybe also if this value was to change. Fix it by creating a custom definition independent from those in Linux (although with the same values), so it is OK with the be16 fields used for holding these attributes. This patch reflects a change in xfsprogs. Signed-off-by: Jan Tulak <jtulak@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 4e247614a92852e8eb29e49be094b6b981a7895f Author: Jan Tulak <jtulak@xxxxxxxxxx> Date: Mon Oct 12 16:02:56 2015 +1100 xfs: prefix XATTR_LIST_MAX with XFS_ Remove a hard dependency of Linux XATTR_LIST_MAX value by using a prefixed version. This patch reflects the same change in xfsprogs. Signed-off-by: Jan Tulak <jtulak@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fef4ded8cb2e53a47093b334e7730d55a3badc59 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Oct 12 16:02:32 2015 +1100 libxfs: fix two comment typos Just fix two typos in code comments. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0a50f162af6ddc2db02c9edc5bbb823c336100a4 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 16:02:08 2015 +1100 xfs: add an xfs_zero_eof() tracepoint Add a tracepoint in xfs_zero_eof() to facilitate tracking and debugging EOF zeroing events. This has proven useful in the context of other direct I/O tracepoints to ensure EOF zeroing occurs within appropriate file ranges. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3136e8bb3054d3bb68942f8f1ee6c26c05f798b0 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 16:02:05 2015 +1100 xfs: always drain dio before extending aio write submission XFS supports and typically allows concurrent asynchronous direct I/O submission to a single file. One exception to the rule is that file extending dio writes that start beyond the current EOF (e.g., potentially create a hole at EOF) require exclusive I/O access to the file. This is because such writes must zero any pre-existing blocks beyond EOF that are exposed by virtue of now residing within EOF as a result of the write about to be submitted. Before EOF zeroing can occur, the current file i_size must be stabilized to avoid data corruption. In this scenario, XFS upgrades the iolock to exclude any further I/O submission, waits on in-flight I/O to complete to ensure i_size is up to date (i_size is updated on dio write completion) and restarts the various checks against the state of the file. The problem is that this protection sequence is triggered only when the iolock is currently held shared. While this is true for async dio in most cases, the caller may upgrade the lock in advance based on arbitrary circumstances with respect to EOF zeroing. For example, the iolock is always acquired exclusively if the start offset is not block aligned. This means that even though the iolock is already held exclusive for such I/Os, pending I/O is not drained and thus EOF zeroing can occur based on an unstable i_size. This problem has been reproduced as guest data corruption in virtual machines with file-backed qcow2 virtual disks hosted on an XFS filesystem. The virtual disks must be configured with aio=native mode and the must not be truncated out to the maximum file size (as some virt managers will do). Update xfs_file_aio_write_checks() to unconditionally drain in-flight dio before EOF zeroing can occur. Rather than trigger the wait based on iolock state, use a new flag and upgrade the iolock when necessary. Note that this results in a full restart of the inode checks even when the iolock was already held exclusive when technically it is only required to recheck i_size. This should be a rare enough occurrence that it is preferable to keep the code simple rather than create an alternate restart jump target. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a45086e27dfa21a4b39134f7505c8f60a3ecdec4 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 15:59:25 2015 +1100 xfs: validate metadata LSNs against log on v5 superblocks Since the onset of v5 superblocks, the LSN of the last modification has been included in a variety of on-disk data structures. This LSN is used to provide log recovery ordering guarantees (e.g., to ensure an older log recovery item is not replayed over a newer target data structure). While this works correctly from the point a filesystem is formatted and mounted, userspace tools have some problematic behaviors that defeat this mechanism. For example, xfs_repair historically zeroes out the log unconditionally (regardless of whether corruption is detected). If this occurs, the LSN of the filesystem is reset and the log is now in a problematic state with respect to on-disk metadata structures that might have a larger LSN. Until either the log catches up to the highest previously used metadata LSN or each affected data structure is modified and written out without incident (which resets the metadata LSN), log recovery is susceptible to filesystem corruption. This problem is ultimately addressed and repaired in the associated userspace tools. The kernel is still responsible to detect the problem and notify the user that something is wrong. Check the superblock LSN at mount time and fail the mount if it is invalid. From that point on, trigger verifier failure on any metadata I/O where an invalid LSN is detected. This results in a filesystem shutdown and guarantees that we do not log metadata changes with invalid LSNs on disk. Since this is a known issue with a known recovery path, present a warning to instruct the user how to recover. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 5bf97b1cb430a3a6da4341ae913299706ebc52f5 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 12 15:41:29 2015 +1100 xfs: Print name and pid when memory allocation loops This patch adds comm name and pid to warning messages printed by kmem_alloc(), kmem_zone_alloc() and xfs_buf_allocate_memory(). This will help telling which memory allocations (e.g. kernel worker threads, OOM victim tasks, neither) are stalling because these functions are passing __GFP_NOWARN which suppresses not only backtrace but comm name and pid. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b7cdc66be54b64daef593894d12ecc405f117829 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 15:40:24 2015 +1100 xfs: log local to remote symlink conversions correctly on v5 supers A local format symlink inode is converted to extent format when an extended attribute is set on an inode as part of the attribute fork creation. This means a block is allocated, the local symlink target name is copied to the block and the block is logged. Currently, xfs_bmap_local_to_extents() handles logging the remote block data based on the size of the data fork prior to the conversion. This is not correct on v5 superblock filesystems, which add an additional header to remote symlink blocks that is nonexistent in local format inodes. As a result, the full length of the remote symlink block content is not logged. This can lead to corruption should a crash occur and log recovery replay this transaction. Since a callout is already used to initialize the new remote symlink block, update the local-to-extents conversion mechanism to make the callout also responsible for logging the block. It is already required to set the log buffer type and format the block appropriately based on the superblock version. This ensures the remote symlink is always logged correctly. Note that xfs_bmap_local_to_extents() is only called for symlinks so there are no other callouts that require modification. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 009c6e871e98aa23bc2e58474c3d9feb05dd1ae6 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Mon Oct 12 15:34:20 2015 +1100 xfs: add missing ilock around dio write last extent alignment The iomap codepath (via get_blocks()) acquires and release the inode lock in the case of a direct write that requires block allocation. This is because xfs_iomap_write_direct() allocates a transaction, which means the ilock must be dropped and reacquired after the transaction is allocated and reserved. xfs_iomap_write_direct() invokes xfs_iomap_eof_align_last_fsb() before the transaction is created and thus before the ilock is reacquired. This can lead to calls to xfs_iread_extents() and reads of the in-core extent list without any synchronization (via xfs_bmap_eof() and xfs_bmap_last_extent()). xfs_iread_extents() assert fails if the ilock is not held, but this is not currently seen in practice as the current callers had already invoked xfs_bmapi_read(). What has been seen in practice are reports of crashes down in the xfs_bmap_eof() codepath on direct writes due to seemingly bogus pointer references from xfs_iext_get_ext(). While an explicit reproducer is not currently available to confirm the cause of the problem, crash analysis and code inspection from David Jeffrey had identified the insufficient locking. xfs_iomap_eof_align_last_fsb() is called from other contexts with the inode lock already held, so we cannot acquire it therein. __xfs_get_blocks() acquires and drops the ilock with variable flags to cover the event that the extent list must be read in. The common case is that __xfs_get_blocks() acquires the shared ilock. To provide locking around the last extent alignment call without adding more lock cycles to the dio path, update xfs_iomap_write_direct() to expect the shared ilock held on entry and do the extent alignment under its protection. Demote the lock, if necessary, from __xfs_get_blocks() and push the xfs_qm_dqattach() call outside of the shared lock critical section. Also, add an assert to document that the extent list is always expected to be present in this path. Otherwise, we risk a call to xfs_iread_extents() while under the shared ilock. This is safe as all current callers have executed an xfs_bmapi_read() call under the current iolock context. Reported-by: David Jeffery <djeffery@xxxxxxxxxx> Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 891121e6c02c6242487aa4ea1d5c75b7ecdc45ee Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 08:32:21 2015 +0530 powerpc/mm: Differentiate between hugetlb and THP during page walk We need to properly identify whether a hugepage is an explicit or a transparent hugepage in follow_huge_addr(). We used to depend on hugepage shift argument to do that. But in some case that can result in wrong results. For ex: On finding a transparent hugepage we set hugepage shift to PMD_SHIFT. But we can end up clearing the thp pte, via pmdp_huge_get_and_clear. We do prevent reusing the pfn page via the usage of kick_all_cpus_sync(). But that happens after we updated the pte to 0. Hence in follow_huge_addr() we can find hugepage shift set, but transparent huge page check fail for a thp pte. NOTE: We fixed a variant of this race against thp split in commit 691e95fd7396905a38d98919e9c150dbc3ea21a3 ("powerpc/mm/thp: Make page table walk safe against thp split/collapse") Without this patch, we may hit the BUG_ON(flags & FOLL_GET) in follow_page_mask occasionally. In the long term, we may want to switch ppc64 64k page size config to enable CONFIG_ARCH_WANT_GENERAL_HUGETLB Reported-by: David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ec2640b114d535ba7d895b6ee353791d542f2407 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 7 12:53:53 2015 +0530 powerpc/mm: Disable hugepd for 64K page size. After commit e2b3d202d1dba8f3546ed28224ce485bc50010be ("powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format"), we don't need to support is_hugepd() for 64K page size. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5cb13dcd0fac071b45c4bebe1801a08ff0d89cad Author: Zhaohongjiang <zhaohongjiang@xxxxxxxxxx> Date: Mon Oct 12 15:28:39 2015 +1100 cancel the setfilesize transation when io error happen When I ran xfstest/073 case, the remount process was blocked to wait transactions to be zero. I found there was a io error happened, and the setfilesize transaction was not released properly. We should add the changes to cancel the io error in this case. Reproduction steps: 1. dd if=/dev/zero of=xfs1.img bs=1M count=2048 2. mkfs.xfs xfs1.img 3. losetup -f ./xfs1.img /dev/loop0 4. mount -t xfs /dev/loop0 /home/test_dir/ 5. mkdir /home/test_dir/test 6. mkfs.xfs -dfile,name=image,size=2g 7. mount -t xfs -o loop image /home/test_dir/test 8. cp a file bigger than 2g to /home/test_dir/test 9. mount -t xfs -o remount,ro /home/test_dir/test [ dchinner: moved io error detection to xfs_setfilesize_ioend() after transaction context restoration. ] Signed-off-by: Zhao Hongjiang <zhaohongjiang@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 687dfe660a3eddbd40335694beb0896e26b5bbd9 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 20:14:45 2015 +0100 ARM: shmobile: defconfig: enable HDMI output for RCar Actviate HDMI output of the RCar DU (and LVDS while we are here). Enable the HDMI encoder chip found on Lager/Koelsch boards. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1fd377b3fc1e071702e27b2f828e3abd8b31c74d Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Oct 10 14:30:52 2015 +0200 ARM: shmobile: R-Mobile: add missing of_node_put for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // <smpl> @@ expression root,e; local idexpression child; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child ( return child; | + of_node_put(child); ? return ...; ) ... } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f9953c5e2a84ffc309ca5f6a281528907a3c8a39 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 00:41:26 2015 +0300 ARM: shmobile: porter: enable PCIe Enable the PCIe controller and clock for the Porter board. This patch is analogous to the commit 485f3ce67c11 ("ARM: shmobile: henninger: Enable PCIe Controller & PCIe bus clock") as there are no differences between the boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2685a2cefe6bcd17e6b407799f41369c7dad422d Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 10 00:40:31 2015 +0300 ARM: shmobile: porter: add QSPI DT support Define the Porter board dependent part of the QSPI device node. Add device nodes for Spansion S25FL512S SPI flash and the MTD partitions on it. This patch is mostly analogous to the commit f59838d44835 ("ARM: shmobile: henninger: add QSPI DT support") as there are no differences between the boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6d4f5440a3a2bb2e9d0d582bbf98234e9e9bb095 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Wed Oct 7 15:33:43 2015 +0300 HID: multitouch: Fetch feature reports on demand for Win8 devices Some newer Intel Skylake based Dell laptops with Win8 precision touchpad fail when initial feature reports are fetched from it. Below is an example output with some additional debug included: i2c_hid i2c-DLL0704:01: Fetching the HID descriptor i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=20 00 i2c_hid i2c-DLL0704:01: HID Descriptor: 1e 00 00 01 99 02 21 00 24 ... ... i2c_hid i2c-DLL0704:01: i2c_hid_get_report i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 38 02 23 00 i2c_hid i2c-DLL0704:01: report (len=4): 04 00 08 05 i2c_hid i2c-DLL0704:01: report id 13 i2c_hid i2c-DLL0704:01: i2c_hid_get_report i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 3d 02 23 00 i2c_hid i2c-DLL0704:01: failed to retrieve report from device. i2c_hid i2c-DLL0704:01: report id 7 i2c_hid i2c-DLL0704:01: i2c_hid_get_report i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 37 02 23 00 i2c_hid i2c-DLL0704:01: report (len=259): 03 01 07 fc 28 fe 84 40 ... i2c_hid i2c-DLL0704:01: report id 4 i2c_hid i2c-DLL0704:01: i2c_hid_get_report i2c_hid i2c-DLL0704:01: __i2c_hid_command: cmd=22 00 34 02 23 00 We manage to fetch few reports but then the touchpad dies: i2c_designware i2c_designware.1: i2c_dw_handle_tx_abort: lost arbitration i2c_hid i2c-DLL0704:01: failed to retrieve report from device. it eventually pulls the whole I2C bus low: i2c_designware i2c_designware.1: controller timed out i2c_hid i2c-DLL0704:01: failed to set a report to device. Fix this by preventing initial feature report retrieval for Win8 devices. Instead we fetch reports as needed in mt_feature_mapping(). This prevents fetching reports which might cause problems with the device in question. Suggested-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Tested-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 334bb79c18eb8c1a314536b4b347ecab97d25d93 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Sat Oct 10 15:40:42 2015 -0400 doc: Clarify that nmi_watchdog param is for hardlockups The kernel NMI watchdog acts as both a hardlockup and softlockup detector. However, the kernel parameter nmi_watchdog can only enable or disable the hardlockup detector. Clarify that in the documentation. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 0ea1563bc108408083f2ac6dc38d7b8992e5b819 Author: Sachin Pandhare <sachinpandhare@xxxxxxxxx> Date: Tue Oct 6 23:54:55 2015 +0530 Typo correction for description in gpio document. Corrected Documentation/gpio/sysfs.txt for typos and wording. typos: syfs -> sysfs, manges -> manages wording: entry -> entries Signed-off-by: Sachin Pandhare <sachinpandhare@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 0d8c39e6c6dd97fc7fc40e93b44d76bb6dc4d4e4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 09:03:48 2015 -0300 DocBook: Fix kernel-doc to be case-insensitive for private: On some places, people could use Private: to tag the private fields of an struct. So, be case-insensitive when parsing "private:" meta-tag. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 1c35c283f21f36a295da4b286d7e18941b13fa0e Author: Richard Sailer <richard@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 02:14:32 2015 +0200 kernel-docs.txt: update kernelnewbies reference The #kernelnewbies irc channel is no longer hosted on irc.openprojects.net but on irc.oftc.net. Removed pointer to different regional servers since oftc already uses geo-IP load balancing. The "description" quoted from the website no longer exists, therefore removed the reference, quotes and carets. The paragraph also contains a pointer to the kernelnewbies.org website. Therefore changing the title to: "Kernel Newbies IRC Channel and Website." Signed-off-by: Richard Sailer <richard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 5d4f6f3d22b51f1eb8d7687b0e5f2428f5a500c7 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sun Oct 4 00:46:21 2015 +0900 Doc:kvm: Fix typo in Doc/virtual/kvm This patch fix spelling typos in Documentation/virtual/kvm. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 1c3a54e257f764f1564abba142597d472fba49c8 Author: Benoit Lemarchand <benoit.lemarchand@xxxxxxxxx> Date: Tue Sep 29 18:57:11 2015 +0200 Documentation/Changes: Add bc in "Current Minimal Requirements" section bc is mentioned lower in a dedicated section. Yet it is useful to have all dependencies listed in "Current Minimal Requirements" section. Signed-off-by: Benoit Lemarchand <benoit.lemarchand@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit a02b4fc29cc1bc222bd5c998c91e54d378a0944b Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Tue Sep 29 14:15:33 2015 +0100 Documentation/email-clients.txt: remove trailing whitespace Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9fc4468d546b6eb55b0aa5b04b0c36238ebf57e7 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 09:45:30 2015 +0200 timers: Use __fls in apply_slack() In apply_slack(), find_last_bit() is applied to a bitmask consisting of precisely BITS_PER_LONG bits. Since mask is non-zero, we might as well eliminate the function call and use __fls() directly. On x86_64, this shaves 23 bytes of the only caller, mod_timer(). This also gets rid of Coverity CID 1192106, but that is a false positive: Coverity is not aware that mask != 0 implies that find_last_bit will not return BITS_PER_LONG. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443771931-6284-1-git-send-email-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit cfed432d7f4114e16e0163bcfe65e96f0c304493 Author: Guillaume Gomez <guillaume1.gomez@xxxxxxxxx> Date: Wed Sep 23 13:19:19 2015 +0200 clocksource: Remove return statement from void functions Signed-off-by: Guillaume Gomez <guillaume1.gomez@xxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Link: http://lkml.kernel.org/r/CAAOQCfSDgmqSWDBsetau%2ByF8x0%2BDagCF_pfFw0p5xH_BKkKEog@xxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 192db1caa253c087496b9671ab8aa0a53da31f35 Author: Sheng Yong <shengyong1@xxxxxxxxxx> Date: Fri Jul 31 01:12:44 2015 +0000 mtd: nand_bbt: set the smallest size of bbt table When using nandsim to simulate a 128K block nand with `overridesize = 1', the size of mtd device is too small (mtd_size = 4 * block_size) to get the right length of bbt. Then when creating bbt, kzmalloc() will return ZERO_SIZE_PTR. This causes a NULL pointer oops when scanning bbt. [ 952.156166] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 [ 952.157064] IP: [<ffffffff8148ad4a>] nand_isreserved_bbt+0x2a/0x40 [ 952.157064] PGD 0 [ 952.157064] Oops: 0000 [#1] SMP [ 952.157064] Modules linked in: nandsim(+) [last unloaded: nandsim] [ 952.157064] CPU: 1 PID: 7103 Comm: modprobe Not tainted 4.2.0-rc3-next-20150724 #4 [ 952.157064] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [ 952.157064] task: ffff88003e24b980 ti: ffff88003d274000 task.ti: ffff88003d274000 [ 952.157064] RIP: 0010:[<ffffffff8148ad4a>] [<ffffffff8148ad4a>] nand_isreserved_bbt+0x2a/0x40 [ 952.157064] RSP: 0018:ffff88003d277b90 EFLAGS: 00010246 [ 952.157064] RAX: 0000000000000010 RBX: ffff88003d5a1000 RCX: 0000000000000000 [ 952.157064] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88003d919000 [ 952.157064] RBP: ffff88003d277b98 R08: 0000000000020000 R09: 0000000000000000 [ 952.157064] R10: 0000000000000000 R11: 0000000000000195 R12: ffff88003d919000 [ 952.157064] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 952.157064] FS: 00007fada4d07700(0000) GS:ffff88003fd00000(0000) knlGS:0000000000000000 [ 952.157064] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 952.157064] CR2: 0000000000000010 CR3: 0000000037924000 CR4: 00000000000006a0 [ 952.157064] Stack: [ 952.157064] ffffffff814851ec ffff88003d277ba8 ffffffff8147e35f ffff88003d277bf8 [ 952.157064] ffffffff814816f3 ffff88003d277c08 ffff88003d277bc8 0000000000000282 [ 952.157064] 0000000000000001 0000000000000000 ffff88003d209540 0000000000000001 [ 952.157064] Call Trace: [ 952.157064] [<ffffffff814851ec>] ? nand_block_isreserved+0x1c/0x20 [ 952.157064] [<ffffffff8147e35f>] mtd_block_isreserved+0x1f/0x30 [ 952.157064] [<ffffffff814816f3>] allocate_partition+0x463/0x6a0 [ 952.157064] [<ffffffff81481b3b>] add_mtd_partitions+0x4b/0xe0 [ 952.157064] [<ffffffff8147f14c>] mtd_device_parse_register+0x4c/0xe0 [ 952.157064] [<ffffffffa0013daf>] ns_init_module+0xdaf/0xde4 [nandsim] [ 952.157064] [<ffffffff8128d7c8>] ? kasprintf+0x38/0x40 [ 952.157064] [<ffffffffa0013000>] ? 0xffffffffa0013000 [ 952.157064] [<ffffffff810002c3>] do_one_initcall+0x83/0x1b0 [ 952.157064] [<ffffffff8113afab>] ? kmem_cache_alloc_trace+0x6b/0x120 [ 952.157064] [<ffffffff8160b503>] do_init_module+0x5c/0x1dd [ 952.157064] [<ffffffff810aa4db>] load_module+0x1bbb/0x20b0 [ 952.157064] [<ffffffff810a6fc0>] ? __symbol_put+0x30/0x30 [ 952.157064] [<ffffffff810aaac9>] SyS_init_module+0xf9/0x110 [ 952.157064] [<ffffffff810aa9d1>] ? SyS_init_module+0x1/0x110 [ 952.157064] [<ffffffff81615f57>] entry_SYSCALL_64_fastpath+0x12/0x6a [ 952.157064] Code: 00 55 48 8b 87 80 01 00 00 48 89 e5 8b 88 cc 00 00 00 48 8b 80 f0 03 00 00 5d 48 d3 fe 89 f2 83 e6 03 c1 fa 02 8d 0c 36 48 63 d2 <0f> b6 04 10 d3 f8 83 e0 03 3c 02 0f 94 c0 0f b6 c0 c3 0f 1f 40 [ 952.157064] RIP [<ffffffff8148ad4a>] nand_isreserved_bbt+0x2a/0x40 [ 952.157064] RSP <ffff88003d277b90> [ 952.157064] CR2: 0000000000000010 [ 952.204010] ---[ end trace 6ca2e1c041fdba36 ]--- This patch gives a smallest length to bbt, 1 byte, which is enough to represent up to 4 blocks. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 8e2c992b59fcb5e56e3667f5c30c7d26fbbf14a2 Author: Michal Suchanek <hramrach@xxxxxxxxx> Date: Tue Aug 18 15:34:07 2015 +0000 mtd: mtdpart: add debug prints to partition parser. The probe of a mtd device can fail when a partition parser returns error. The failure due to partition parsing can be quite mysterious when multiple partitioning schemes are compiled in and any of them can fail the probe. Add debug prints which show what parsers were tried and what they returned. Signed-off-by: Michal Suchanek <hramrach@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7e0abcd6b7ec1452bf4a850fccbae44043c05806 Author: Gabriel Laskar <gabriel@xxxxxxxxxxxx> Date: Tue Oct 6 16:27:35 2015 +0200 x86/mce: Include linux/ioctl.h in uapi mce header asm/ioctls.h contains definition for termios, not just the _IO* macros. This error was found with a tool in development used to generate automated pretty-printing functions for ioctl decoding in strace. Signed-off-by: Gabriel Laskar <gabriel@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Link: http://lkml.kernel.org/r/1444141657-14898-2-git-send-email-gabriel@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4faefda97bc1be6ca909ba0fd0927ea78f37f67e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 9 17:24:45 2015 +0300 x86/io_apic: Make eoi_ioapic_pin() static We have to define internally used function as static, otherwise the following warning will be generated: arch/x86/kernel/apic/io_apic.c:532:6: warning: no previous prototype for 'eoi_ioapic_pin' [-Wmissing-prototypes] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444400685-98611-1-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d1f0f6c72c14af8a27a6549e0623f7cd61805e83 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Oct 9 17:25:41 2015 +0300 x86/intel-mid: Make intel_mid_ops static The following warning is issued on unfixed code. arch/x86/platform/intel-mid/intel-mid.c:64:22: warning: symbol 'intel_mid_ops' was not declared. Should it be static? Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444400741-98669-1-git-send-email-andriy.shevchenko@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 80529c45ab66188a0b3814ba31409b31f5fcb53d Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 05:19:45 2015 +1100 xfs: pass xfsstats structures to handlers and macros This patch is the next step toward per-fs xfs stats. The patch makes the show and clear routines able to handle any stats structure associated with a kobject. Instead of a single global xfsstats structure, add kobject and a pointer to a per-cpu struct xfsstats. Modify the macros that manipulate the stats accordingly: XFS_STATS_INC, XFS_STATS_DEC, and XFS_STATS_ADD now access xfsstats->xs_stats. The sysfs functions need to get from the kobject back to the xfsstats structure which contains it, and pass the pointer to the ->xs_stats percpu structure into the show & clear routines. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a27c264009cb236dc209875043a0c237af46a1af Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 05:18:45 2015 +1100 xfs: consolidate sysfs ops As a part of the series to move xfs global stats from procfs to sysfs, this patch consolidates the sysfs ops functions and removes redundancy. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 50cf5b7402633265fe11430fd63af82c401fad46 Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 05:17:45 2015 +1100 xfs: remove unused procfs code As a part of the work to move xfs global stats from procfs to sysfs, this patch removes the now unused procfs code that was xfs stat specific. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 32f0ea05219e5212cafcbeaa255e627314f87e7e Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 05:16:45 2015 +1100 xfs: create symlink proc/fs/xfs/stat to sys/fs/xfs/stats As a part of the work to move xfs global stats from procfs to sysfs, this patch creates the symlink from proc/fs/xfs/stat to sys/fs/xfs/stats. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit bb230c124730f21eea13deab433f9f8fc96bd5f3 Author: Bill O'Donnell <billodo@xxxxxxxxxx> Date: Mon Oct 12 05:15:45 2015 +1100 xfs: create global stats and stats_clear in sysfs Currently, xfs global stats are in procfs. This patch introduces (replicates) the global stats in sysfs. Additionally a stats_clear file is introduced in sysfs. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b3f3db9c39779e1ee0926d369adab78698aef267 Author: Adam Sampson <ats@xxxxxxxxx> Date: Sat Oct 10 13:52:52 2015 +0100 ARM: dts: sun7i: Correct USB regulators on pcDuino v3 Nano The LinkSprite pcDuino v3 Nano's two USB host ports are powered by a single RT9701GB regulator, which has its enable input tied to the A20's PD2 pin, pulled up to 3v3 via a 10k resistor. However, the script.bin that shipped with the device listed PH11 and PH3 as Vbus control pins for the two USB ports. Neither of these are actually connected to anything. Siarhei Siamashka spotted this problem while reviewing the other LinkSprite boards. This patch fixes it by only defining a single regulator, controlled by PD2. Testing shows that the USB ports are now (correctly) only powered up once the USB PHY driver is loaded. Reported-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Adam Sampson <ats@xxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit eeea0fa3c5ae45ea905fbf244291ec5440756fa1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 12:00:30 2015 +0200 ARM: sun5i: dt: Add UART3 CTS and RTS pins Add a separate pinctrl node for the UART3 CTS and RTS pins shared between the A10s and A13. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 6ef8c8bf4c05028407ae75173f5790e5957640d2 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jun 22 11:56:09 2015 +0200 ARM: sun5i: dt: Move uart3 pinctrl node to common DTSI The uart3 pins are shared between the A10s and A13, move the pinctrl node to the common DTSI to avoid duplication. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> commit 49e4f3c3271e7eff2800596ba168c932d7d702b8 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 18 09:09:34 2015 +0200 ARM: sun5i: Add R8 DTSI The R8 is very close to the A13, but it still has a few differences, notably a composite output, which the A13 lacks. Add a DTSI based on the A13's to hold those differences. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 5d0c8b190a109e2ef17025aa0b341787ccddfc25 Author: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Date: Fri Oct 9 14:09:39 2015 +0300 ARM: dts: sun4i: Enable USB DRC on pcDuino1/2 Enable the otg/drc usb controller on the pcDuino1/2 board. Note that the pcDuino1 FEX file from the vendor contains the following information in the [usbc0] section: usb_id_gpio = port:PH04<0><1><default><default> usb_det_vbus_gpio = port:PH05<0><0><default><default> usb_drv_vbus_gpio = port:PB09<1><0><default><0> While the pcDuino2 FEX has: usb_id_gpio = port:PH04<0><1><default><default> usb_det_vbus_gpio = port:PH05<0><0><default><default> usb_drv_vbus_gpio = port:PD02<1><0><default><0> The ID pin is indeed PH4. The PD2 pin can be used to switch power on/off for the USB Type A receptacle on pcDuino2, but it has nothing to do with the MicroUSB OTG receptacle. The VBUS pin of the MicroUSB receptacle is always connected to 5V according to the schematics (both pcDuino1 and pcDuino2) and confirmed by doing some tests on pcDuino2. The PH5 pin is just one of the pins on the J8 expansion header and has nothing to do with USB OTG. The PB9 pin is pulled up and connected to the N_VBUSEN pin of AXP209 PMIC, while the VBUS pin of AXP209 only has a capacitor between it and the ground (this pin is not used for anything else). To sum it up. Only the ID pin (PH4) has a real use. And 5V voltage is always served to the MicroUSB OTG receptacle no matter what is the state of the PB9/PD2 pins. This patch has been tested on pcDuino2 to work fine in a host role with a USB keyboard connected via an OTG cable. It also works fine in a device role (cdc_ether) with a regular Micro-B cable connected to a desktop PC. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d6f17def06c461d3ad69caaac720ad1e552595e0 Author: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Date: Fri Oct 9 14:09:38 2015 +0300 ARM: sun4i: dt: Add new LinkSprite pcDuino2 board The LinkSprite pcDuino2 board is almost identical to the older LinkSprite pcDuino1 board according to the schematic pdf files. So we just include the existing "sun4i-a10-pcduino.dts" file and make the necessary adjustments. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 96521b72005feb41dfd014aced0ee6fba3ac0f58 Author: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Date: Fri Oct 9 14:09:37 2015 +0300 ARM: dts: sun4i: Allow to use the PH6 pin for GPIO on pcDuino1/2 The pcDuino1 board does not use any power switches at all for its two USB host ports and the VBUS pins are always connected to 5V. The pcDuino2 board uses the RT9701GB power switch for its single USB host port, but the USB_EN pin (PD2) is pulled up with a 10K resistor. So that the USB power is still enabled by default, resulting in the same behaviour as pcDuino1 if nobody touches the PD2 pin. This minor difference is going to be handled in a follow-up patch, introducing a separate dts file for pcDuino2. The primary reason for this fix is that the current dts file unnecessarily meddles with the PH3 and PH6 pins. But the PH6 pin is available on the Arduino-compatible expansion header and may have a better use for other purposes. This patch fixes the problem and now the PH6 pin can be used with the GPIO sysfs interface. Tested on a pcDuino2 board with a multimeter: echo 230 > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio230/direction echo 0 > /sys/class/gpio/gpio230/value echo 1 > /sys/class/gpio/gpio230/value USB still works as expected too. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit dcfd8443d89f593e0c667a988ab017e716b33061 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 15:36:01 2015 +0200 ARM: dts: sun7i: Enable USB DRC on Bananapi Enable the otg/drc usb controller on the Bananapi. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit a15b80fb0ad7ddab8d2668392cce3c12aff594bd Author: Timo Sigurdsson <public_timo.s@xxxxxxxxxxxxxx> Date: Thu Oct 8 00:18:36 2015 +0200 ARM: dts: sunxi: Add regulators for LeMaker BananaPi sun7i-a20-bananapi.dts doesn't contain regulator nodes for the AXP209 PMU driver, so add them to allow for voltage-scaling with cpufreq-dt. Also add board-specific OPP to use slightly higher voltages at lower frequencies since Kevin Hilman reported that not all BananaPi boards run stable at the default voltages inherited by sun7i-a20.dtsi. Signed-off-by: Timo Sigurdsson <public_timo.s@xxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit e8bd577ae6df59160cd6fd82b8d3562bbbdd3c1d Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:19 2015 +0900 ALSA: firewire-digi00x: add support for MIDI ports for physical controls In former commits, asynchronous transactions are supported for physical controls. This commit adds a pair of MIDI ports for them. This driver already adds diferrent number of ALSA MIDI ports for physical MIDI ports, and the number of in/out ports are different. As seeing as 'amidi' program in alsa-utils package, a pair of in/out MIDI ports is expected with the same name. Therefore, this commit adds a pair of new ports to the first. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b47f525f760f29c4689a7d9bf768c28fcaac2281 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:18 2015 +0900 ALSA: firewire-digi00x: add support of asynchronous transaction for outgoing MIDI messages to physical controls In previous commit, asynchronous transaction for incoming MIDI messages from physical controls is supported. The physical controls may be controlled by receiving MIDI messages at a certain address. This commit supports asynchronous transaction for this purpose. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3646a54acda65afdd76737d40c0994b991742e01 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:17 2015 +0900 ALSA: firewire-digi00x: add support of asynchronous transaction for incoming MIDI messages from physical controls Digi 00x series has two types of model; rack and console. The console models have physical controls. The model can transmit control messages. These control messages are transferred by asynchronous transactions to registered address. This commit supports the asynchronous transaction. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9fbfd38b204a3f04272183c0258a3ded03a5aae8 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:16 2015 +0900 ALSA: firewire-digi00x: add support for MIDI ports corresponding to isochronous packet streaming This commit adds MIDI functionality to capture/playback MIDI messages from/to physical MIDI ports. These messages are transferred in isochronous packets. When no substreams request AMDTP streams to run, this driver starts the streams at current sampling rate. When other substreams start at different sampling rate, the streams are stopped temporarily, then start again at requested sampling rate. This operation can generate missing MIDI bytes, thus it's preferable to start PCM substreams at favorite sampling rate in advance. Digi 002/003 console also has a set of MIDI port for physical controls. These ports are added in later commits. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9dc5d31cdceb5f1ee65edc8a41a5bc7c92d85dd5 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:15 2015 +0900 ALSA: firewire-digi00x: handle MIDI messages in isochronous packets In Digi 002/003 protocol, MIDI messages are transferred in the last data channel of data blocks. Although this data channel has a label of 0x80, it's not fully MIDI conformant data channel especially because the Counter field always zero independently of included MIDI bytes. The 4th byte of the data channel in LSB tells the number of included MIDI bytes. This byte also includes the number of MIDI port. Therefore, the data format in this data channel is: * 1st: 0x80 as label * 2nd: MIDI bytes * 3rd: 0 or MIDI bytes * 4th: the number of MIDI byte and the number of MIDI port This commit adds support of MIDI messages in data block processing layer. Like AM824 data format, this data channel has a capability to transfer more MIDI messages than the capability of phisical MIDI bus. Therefore, a throttle for data rate is required to prevent devices' internal buffer to overflow. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 17385a386ccae1b5a9a135c43493652b4dd82f61 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 12:30:14 2015 +0900 ALSA: firewire-digi00x: use in-kernel representation for the type of 8 bits Original code for 'DoubleOhThree' encoding was written with '__u8' type, while the type is usually used to export something to userspace. This commit replaces the type with 'u8'. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ac77423609aa499265a0ab75c497661bc7157f37 Author: Keith A. Milner <maillist@xxxxxxxxxxxxxxx> Date: Sun Oct 11 15:19:48 2015 +0100 ALSA: usb-audio: Allow any MIDI endpoint to drive use of interrupt transfer on newer Roland devices This patch enables interrupt transfer mode for MIDI ports on newer Boss/Roland devices such as the GT-100/001 which support interrupt transfer on both IN and OUT MIDI endpoints. Previously this wasn't being enabled for these devices as the code was specifically looking for the scenario where the IN endpoint supported interrupt transfer and the OUT endpoint was bulk transfer. Newer devices support interrupt transfer for both endpoints. This has been tested on Boss devices GT-001, BR-80 and JS-8 and Roland VS-20. It would benefit from some regresison testing with other devices if possible. Signed-off-by: Keith A. Milner <maillist@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2a7e1713cd652e7d2fdb54057fb6b2508cab15dc Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 11 22:33:50 2015 +0900 ALSA: firewire-lib: continue packet processing at detecting wrong CIP headers In firewire-lib, isochronous packet streaming is stopped when detecting wrong value for FMT field of CIP headers. Although this is appropriate to IEC 61883-1 and 6, some BeBoB based devices with vendors' customization use invalid value to FMT field of CIP headers in the beginning of streaming. $ journalctl snd-bebob fw1.0: Detect unexpected protocol: 01000000 8000ffff I got this log with M-Audio FireWire 1814. In this line, the value of FMT field is 0x00, while it should be 0x10 in usual AMDTP. Except for the beginning, these devices continue to transfer packets with valid value for FMT field, except for the beginning. Therefore, in this case, firewire-lib should continue to process packets. The former implementation of firewire-lib performs it. This commit loosens the handling of wrong value, to continue packet processing in the case. Fixes: 414ba022a528 ('ALSA: firewire-lib: add support arbitrary value for fmt/fdf fields in CIP header') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6b9866c893fc6a51e74df65fd9d9f851a3c2872e Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Oct 11 08:10:55 2015 +0200 ALSA: bebob: constify various snd_bebob structures The structures of type snd_bebob_clock_spec, snd_bebob_rate_spec, snd_bebob_meter_spec, and snd_bebob_spec are never modified after they are initialized. Make them all const. Done with the help of Coccinelle. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Tested-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Reviewed-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 399910534cca5f00d22438e80ecc7ccc7f4b8a14 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:58 2015 +0200 iio:dac:m62332: use dynamic scale Some regulators can supply multiple voltages. To take changing voltages into account, the scale needs to be calculated on every read access. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit acf2f67d055c656938a3980a0745ed62fb7985c9 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:57 2015 +0200 iio:dac:m62332: address some style issues Fix some indentation issues and separate returns by empty lines (IIO style). Also rename the channel mask in _read_raw() to mask. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 11687d4aaeb074e0a51c8008c80a14c6b8937b3d Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:56 2015 +0200 iio:dac:m62332: drop unrequired variable A return variable is not required in _write_raw(), and dropping it reduces complexity, as well. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7d2da8eaa92585769dfbafe285b94c8f743510f6 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:55 2015 +0200 iio:dac:m62332: use ARRAY_SIZE Make use of ARRAY_SIZE to prevent buffer issues. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 847e3928de0998883219d7052cf4c049c21966e9 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:54 2015 +0200 iio:dac:m62332: shutdown on remove The regulator framework requests to balance regulator_enable() calls with regulator_disable() calls. To meet this requirement, set channels to 0 on remove, which implies a regulator_disable() call in case that channel was enabled. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 862a76acb2a033b886880fc70db19f00a036b4aa Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Aug 28 23:59:53 2015 +0200 iio:dac:m62332: share scale and offset This device simply uses its Vcc as reference voltage, so the same scale applies for all channels. Also offset doesn't appear to be different for any channel. Represent this by switching these two attributes to info_mask_shared_by_type. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b94e22805a2224061bb263a82b72e09544a5fbb3 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 13:10:54 2015 +0200 iio: mxs-lradc: Fix temperature offset 0° Kelvin is actually â??273.15°C, not -272.15°C. Fix the temperature offset. Also improve the comment explaining the calculation. Reported-by: Janusz Użycki <j.uzycki@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Acked-by: Marek Vasut <marex@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d3a21ce0c60365991e59bbe848457c08f0c3c7ca Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sat Sep 26 23:18:57 2015 -0700 iio: hdc100x: correct IIO_CHAN_INFO_OFFSET value Previous offset wasn't applied in the correct order and invalid. This patchset fixes this issue, and also has the correct scale value applied to the offset. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 6bcfd7f8c28887a4298bc4386b02cb90c9fa0c13 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 11:16:48 2015 -0700 tcp: fix RFS vs lockless listeners Before recent TCP listener patches, we were updating listener sk->sk_rxhash before the cloning of master socket. children sk_rxhash was therefore correct after the normal 3WHS. But with lockless listener, we no longer dirty/change listener sk_rxhash as it would be racy. We need to correctly update the child sk_rxhash, otherwise first data packet wont hit correct cpu if RFS is used. Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Willem de Bruijn <willemb@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5010ea59e1b986d89023c0552fa38e32b519a617 Merge: 6e86ac1 8057b3e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 11 05:28:57 2015 -0700 Merge branch 'dsa-next' Vivien Didelot says: ==================== net: dsa: push switchdev prepare phase in FDB ops This patchset pushes the switchdev prepare phase for the FDB add and del operations down to the DSA drivers. Currently only mv88e6xxx is affected. Since the dump requires a bit of refactoring in the driver, it'll come in a future patchset. Changes in v2: * forward declare switchdev structs instead of fixing the dsa.h include. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8057b3e7a1cfb4da61717ba609e1ea642bb82f9b Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 11:35:14 2015 -0400 net: dsa: use switchdev obj in port_fdb_del For consistency with the FDB add operation, propagate the switchdev_obj_port_fdb structure in the DSA drivers. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f36faf26943f5f5fc1d1a7be6ce252d2ff25e1a Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 11:35:13 2015 -0400 net: dsa: push prepare phase in port_fdb_add Now that the prepare phase is pushed down to the DSA drivers, propagate it to the port_fdb_add function. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 146a32067b3fde1424d737d7fb333eb0951e6419 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 11:35:12 2015 -0400 net: dsa: add port_fdb_prepare Push the prepare phase for FDB operations down to the DSA drivers, with a new port_fdb_prepare function. Currently only mv88e6xxx is affected. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e86ac120e144154d345ebb5839d50b6f713149b Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Thu Oct 8 11:10:19 2015 -0400 net: encx24j600: Fix typos in Kconfig Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7bcfeead48b6f920007ee41bc70a83b58c5ba396 Merge: 8fae307 f640ee9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 11 05:15:30 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-10-08 Here's another set of Bluetooth & 802.15.4 patches for the 4.4 kernel. 802.15.4: - Many improvements & fixes to the mrf24j40 driver - Fixes and cleanups to nl802154, mac802154 & ieee802154 code Bluetooth: - New chipset support in btmrvl driver - Fixes & cleanups to btbcm, btmrvl, bpa10x & btintel drivers - Support for vendor specific diagnostic data through common API - Cleanups to the 6lowpan code - New events & message types for monitor channel Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fae307c8fe9789ff1f4161dcb2db0d689069448 Author: wangweidong <wangweidong1@xxxxxxxxxx> Date: Thu Oct 8 18:03:47 2015 +0800 BNX2: fix a Null Pointer for stats_blk we have two processes to do: P1#: ifconfig eth0 down; which will call bnx2_close, then will , and set Null to stats_blk P2#: ifconfig eth0; which will call bnx2_get_stats64, it will use stats_blk. In one case: --P1#-- --P2#-- stats_blk(no null) bnx2_free_mem ->bp->stats_blk = NULL GET_64BIT_NET_STATS then it will cause 'NULL Pointer' Problem. it is as well with 'ethtool -S ethx'. Allocate the statistics block at probe time so that this problem is impossible Signed-off-by: Wang Weidong <wangweidong1@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e446f9dfe17bbaa76a1fe22912636f38be1e1af8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 8 05:01:55 2015 -0700 net: synack packets can be attached to request sockets selinux needs few changes to accommodate fact that SYNACK messages can be attached to a request socket, lacking sk_security pointer (Only syncookies are still attached to a TCP_LISTEN socket) Adds a new sk_listener() helper, and use it in selinux and sch_fq Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported by: kernel test robot <ying.huang@xxxxxxxxxxxxxxx> Cc: Paul Moore <paul@xxxxxxxxxxxxxx> Cc: Stephen Smalley <sds@xxxxxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Acked-by: Paul Moore <paul@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21d11bd6f0f15c9c782d1f09557bb71f582a3f53 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 8 10:08:23 2015 +0530 cxgb4: Enhance driver to update FW, when FW is too old t4_check_fw_version() can return several error codes (-EINVAL, -EBUSY, -EAGAIN). The present code sets the adapter state to UNINIT only if its an EFAULT. In all the error cases set the adapter to uninitialized state. In t4_check_fw_version() if call to t4_get_fw_version() fails, repeat the operation a few times before returning failure. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff936a04e5f28b7e0455be0e7fa91334f89e4b44 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Wed Oct 7 10:55:41 2015 -0700 bpf: fix cb access in socket filter programs eBPF socket filter programs may see junk in 'u32 cb[5]' area, since it could have been used by protocol layers earlier. For socket filter programs used in af_packet we need to clean 20 bytes of skb->cb area if it could be used by the program. For programs attached to TCP/UDP sockets we need to save/restore these 20 bytes, since it's used by protocol layers. Remove SK_RUN_FILTER macro, since it's no longer used. Long term we may move this bpf cb area to per-cpu scratch, but that requires addition of new 'per-cpu load/store' instructions, so not suitable as a short term fix. Fixes: d691f9e8d440 ("bpf: allow programs to write to certain skb fields") Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0cc598915fc787193ddb7401a11f80c17ccbabe4 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Oct 9 15:46:18 2015 +0200 soc: rockchip: Restrict to ARCH_ROCKCHIP By definition this directory contains drivers that are specific to the Rockchip architecture. All Kconfig options should therefore depend on ARCH_ROCKCHIP to avoid exposing these symbols on other architectures. For example, this options currently shows up as new when doing an incremental build on PowerPC. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> [add COMPILE_TEST alternative condition] Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e9849777d0e27cdd2902805be51da73e7c79578c Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Oct 9 23:28:58 2015 +0200 genirq: Add flag to force mask in disable_irq[_nosync]() If an irq chip does not implement the irq_disable callback, then we use a lazy approach for disabling the interrupt. That means that the interrupt is marked disabled, but the interrupt line is not immediately masked in the interrupt chip. It only becomes masked if the interrupt is raised while it's marked disabled. We use this to avoid possibly expensive mask/unmask operations for common case operations. Unfortunately there are devices which do not allow the interrupt to be disabled easily at the device level. They are forced to use disable_irq_nosync(). This can result in taking each interrupt twice. Instead of enforcing the non lazy mode on all interrupts of a irq chip, provide a settings flag, which can be set by the driver for that particular interrupt line. Reported-and-tested-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1510092348370.6097@nanos commit 18a16b5e26c74dda2881c8f2977d702fd0e13fda Author: Hugo Camboulive <hugo.camboulive@xxxxxxxxx> Date: Sun Oct 4 16:30:45 2015 +0000 staging: iio: adc: fix comment block coding style issue This patch to ad7746.c makes the comment blocks end with a */ on a separate line, and start with a /* on an empty line. Signed-off-by: Hugo Camboulive <hugo.camboulive@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1b75ce658775c9131ea6689ffadcde2663983b6c Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:41 2015 +0200 Add ms8607 meas-spec driver support Support for MS8607 temperature, pressure & humidity sensor. This part is using functions from MS5637 for temperature and pressure and HTU21 for humidity Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 64a70c6502111a2d5bd1dd5eddfa33039aa897b7 Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:40 2015 +0200 Add ms5637 meas-spec driver support Support for MS5637 temperature & pressure sensor Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2b5c53d2c958bda92310d1b371a9314f4aa8c274 Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:39 2015 +0200 Add htu21 meas-spec driver support Support for HTU21 temperature & humidity sensor Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 53bf4d067d5115ac740bdc907023afe95e449fdd Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:38 2015 +0200 Add tsys02d meas-spec driver support Support for TSYS02D temperature sensor Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 374a3a3916a70fc6236bc2b8f8ac02548a128a54 Author: Borislav Petkov <bp@xxxxxxxxx> Date: Fri Oct 9 19:08:59 2015 +0200 x86/entry/64/compat: Document sysenter_fix_flags's reason for existence The code under the label can normally be inline, without the jumping back and forth but the latter is an optimization. Document that. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Acked-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> Link: http://lkml.kernel.org/r/20151009170859.GA24266@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0ce423b6492a02be11662bfaa837dd16945aad3e Author: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Date: Sat Oct 3 23:26:07 2015 +0100 efi: Use the generic efi.memmap instead of 'memmap' Guenter reports that commit: 7bf793115dd9 ("efi, x86: Rearrange efi_mem_attributes()") breaks the IA64 compilation with the following error: drivers/built-in.o: In function `efi_mem_attributes': (.text+0xde962): undefined reference to `memmap' Instead of using the (rather poorly named) global variable 'memmap' which doesn't exist on IA64, use efi.memmap which points to the 'memmap' object on x86 and arm64 and which is NULL for IA64. The fact that efi.memmap is NULL for IA64 is OK because IA64 provides its own implementation of efi_mem_attributes(). Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Cc: Jonathan Zhang <zjzhang@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/20151003222607.GA2682@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fcf8ab690e3decf8335c51fdabea773a3f5ea026 Merge: 0e841b0 4f64cb6 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Oct 11 10:04:51 2015 +0200 Merge tag 'gic-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core GIC updates for Linux 4.4 from Marc Zyngier: - Enable basic GICv3 support on 32bit ARM (mostly for running VMs with more than 8 virtual CPUs) - arm64 changes to deal with firmware limitations that forces a GICv3 to be used as a GICv2 - A GICv2m erratum workaround on Applied Micro X-Gene2 commit 3c0ed7d56d77b61f2177e8b72855ea32073c2091 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 20:49:23 2015 +0100 MAINTAINERS: add fpga manager framework Add fpga manager framework to MAINTAINERS and add myself as maintainer. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed392688b5312cd4f015b70669fb12c519218113 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Oct 6 12:47:18 2015 +0300 intel_th: Fix integer mismatch warnings Use unsigned long in place of size_t to operate on buffer sizes and offsets to clean up the 32 bit build. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0df771dedf67622b9135709fe4cbfb3222481997 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Oct 6 12:47:17 2015 +0300 stm class: Mark src::link __rcu Source device's link is protected with srcu, mark it as such to have proper build-time validation of accesses to this field. The update side that's dereferencing it under an update lock also needs an accessor to dereference this field to keep sparse happy. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aba54876bb38dde81abead1ed1936eb04fa30ca9 Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Sat Oct 10 09:36:17 2015 -0700 Input: xpad - query wireless controller state at init When we initialize the driver/device, we really don't know how many controllers are connected. So send a "query presence" command to the base-station. (Command discovered by Zachary Lund) Presence packet taken from: https://github.com/computerquip/xpad5 Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b8154002cbdfde1aed2f86bd27f5e2c7e832cabb Author: Pierre-Loup A. Griffais <pgriffais@xxxxxxxxxxxxxxxxx> Date: Sat Oct 10 09:34:17 2015 -0700 Input: xpad - move the input device creation to a new function To allow us to later create / destroy the input device from the urb callback, we need to initialize/ deinitialize the input device from a separate function. So pull that logic out now to make later patches more "obvious" as to what they do. Signed-off-by: "Pierre-Loup A. Griffais" <pgriffais@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5ee8bda943de20017636845a5c8d7069a4a283b8 Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Sat Oct 10 09:33:52 2015 -0700 Input: xpad - x360w: report dpad as buttons and axes as discussed here[0], x360w is the only pad that maps dpad_to_button. This is bad for downstream developers as they have to differ between x360 and x360w which is not intuitive. This patch implements the suggested solution of exposing the dpad both as axes and as buttons. This retains backward compatibility with software already dealing with the difference while makes new software work as expected across x360/ x360w pads. [0] http://www.spinics.net/lists/linux-input/msg34421.html Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 060081529c64cfa9baa2748a4b949159e700da0d Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Sat Oct 10 09:32:55 2015 -0700 Input: xpad - factor out URB submission in xpad_play_effect Move submission logic to a single point at the end of the function. This makes it easy to add locking/ queuing code later on. Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a306a65f46acb040d208523592a2d34f67d47a61 Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Tue Oct 6 17:07:31 2015 -0700 Input: xpad - remove needless bulk out URB used for LED setup This code was probably wrong ever since and is redundant with xpad_send_led_command. Both try to send a similar command to the xbox360 controller. However xpad_send_led_command correctly uses the pad_nr instead of bInterfaceNumber to select the led and re-uses the irq_out URB instead of creating a new one. Note that this change only affects the two supported wireless controllers. Tested using the xbox360 wireless controller (PC). Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e3b651745a03810efffd7ebf2a9b5be65fb70ec3 Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Sat Oct 10 10:00:49 2015 -0700 Input: xpad - use ida() for finding the pad_nr The pad_nr corresponds to the lit up LED on the controller. Therefore there should be no gaps when enumerating. Currently a LED is only re-assigned after a controller is re-connected 4 times. This patch uses ida to track connected pads - this way we can re-assign freed up pad number immediately. Consider the following case: 1. pad A is connected and gets pad_nr = 0 2. pad B is connected and gets pad_nr = 1 3. pad A is disconnected 4. pad A is connected again using ida_simple_get() controller A now correctly gets pad_nr = 0 again. Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 1f6f02b728eef0d937d5138ae60dbf8fbd045f3e Author: Pavel Rojtberg <rojtberg@xxxxxxxxx> Date: Tue Oct 6 17:06:16 2015 -0700 Input: xpad - clarify LED enumeration Rename led_no -> pad_nr: the number stored there is not the LED number - it gets translated later on to a LED number in xpad_identify_controller; Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 470446ecef213b17b2c01df9879102948d77f999 Author: Dario Scarpa <dario.scarpa@xxxxxxxxxxx> Date: Tue Oct 6 17:04:36 2015 -0700 Input: xpad - fix Razer Atrox Arcade Stick button mapping The "Razer Atrox Arcade Stick" features 10 buttons, and two of them (LT/RT) don't work properly. Change its definition in xpad_device[] (mapping field) to fix. Signed-off-by: Dario Scarpa <dario.scarpa@xxxxxxxxxxx> Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 39a7a88872df98f0c3c50fe278fd1a1f597afd95 Author: Erik Lundgren <eriklundgren93@xxxxxxxxx> Date: Tue Oct 6 17:04:11 2015 -0700 Input: xpad - add Covert Forces edition of the Xbox One controller It is identical to the Xbox One controller but has a different product ID. Signed-off-by: Pavel Rojtberg <rojtberg@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 10fbb8f56b2f0c13e1f9da9aad45ede6a4c2fb51 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Oct 6 17:00:36 2015 -0700 Input: ft6236 - change module license string to match copyright notice The copyright/license notice says that the code is licensed under GPL v2 only (not GPL v2+), so let's use proper string in MODULE_LICENSE(). Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ee86395458072760d62e66aad10a5e9e8902b8cf Author: David Sterba <dsterba@xxxxxxxx> Date: Mon Feb 16 19:41:40 2015 +0100 btrfs: comment the rest of implicit barriers before waitqueue_active There are atomic operations that imply the barrier for waitqueue_active mixed in an if-condition. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 779adf0f647651f5a45eeee3442c881300ce989e Author: David Sterba <dsterba@xxxxxxxx> Date: Mon Feb 16 19:39:00 2015 +0100 btrfs: remove extra barrier before waitqueue_active Removing barriers is scary, but a call to atomic_dec_and_test implies a barrier, so we don't need to issue another one. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit a83342aa0c8f0ca90057d3837ae8d198186e5153 Author: David Sterba <dsterba@xxxxxxxx> Date: Mon Feb 16 19:36:47 2015 +0100 btrfs: add comments to barriers before waitqueue_active Reduce number of undocumented barriers out there. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 33a9eca7e4a4c2c17aebbb11f0e506a48ebc30c9 Author: David Sterba <dsterba@xxxxxxxx> Date: Sat Oct 10 18:35:10 2015 +0200 btrfs: comment waitqueue_active implied by locks Suggested-by: Chris Mason <clm@xxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit b666a9cd993c6a49c4bf23a1ed476359c978f60b Author: David Sterba <dsterba@xxxxxxxx> Date: Sat Oct 10 18:24:48 2015 +0200 btrfs: add barrier for waitqueue_active in clear_btree_io_tree waitqueue_active should be preceded by a barrier, in this function we don't need to call it all the time. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 730d9ec36bf27e87805aee6ebf462071735e31f9 Author: David Sterba <dsterba@xxxxxxxx> Date: Sat Oct 10 18:16:38 2015 +0200 btrfs: remove waitqueue_active check from btrfs_rm_dev_replace_unblocked Normally the waitqueue_active would need a barrier, but this is not necessary here because it's not a performance sensitive context and we can call wake_up directly. Suggested-by: Chris Mason <clm@xxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit a22fa28f85054c16e72f00e51673aeba28360eef Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Oct 10 10:20:17 2015 -0300 [media] DocBook: Remove kdapi.xml Now that the Demux kABI is documented at device-drivers.xml, remove it from the API docbook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit de08e701c6b9edb0e555da48a95c9250cbec3ea8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Oct 10 10:02:28 2015 -0300 [media] DocBook: Add documentation about the demux API There are several stuff at media's kdapi.xml that don't belong there, as it documents the Kernel internal ABI, and not the userspace API. Add the documentation here. The hole kdapi.xml will be removed on a latter patch, after we finish documenting what's there at the proper places. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9be91db2efcf749eb159c674915d38e5ac14682a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 8 17:33:47 2015 -0300 [media] demux.h: Convert MPEG-TS demux caps to an enum While we can't document #defines, documenting enums are well supported by kernel-doc. So, convert the bitmap defines into an enum. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0e6f2d1533bdd1ea08a15648e35ff4f8e0fcc612 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 8 17:21:48 2015 -0300 [media] demux.h: Convert TS filter type into enum The usage of #define at the kABI is fine, but it doesn't allow adding a proper description. As those defines deserve a proper documentation, let's convert them into an enum and document them at device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4be45fb467e1dd57255056527191d61d8d16e1b3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sat Oct 10 10:22:20 2015 -0300 [media] DocBook: document typedef dmx_section_cb at demux.h The dvb/kdapi.tmpl has already an extensive documentation about this callback. Now that we've added function typedefs at kernel-doc, add such documentation at demux.h, for it to appear at device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0cf35e8420dd26fac4ba08c67fab92076ea81809 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 8 17:05:11 2015 -0300 [media] DocBook: document typedef dmx_ts_cb at demux.h The dvb/kdapi.tmpl has already an extensive documentation about this callback. Now that we've added function typedefs at kernel-doc, add such documentation at demux.h, for it to appear at device-drivers DocBook. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 837664528e17380cfacfb766de37df31572f07a0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 8 16:14:45 2015 -0300 kernel-doc: better format typedef function output A typedef function looks more likely a function and not a normal typedef. Change the code to use the output_function_*, in order to properly parse the function prototype parameters. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3a80a766328fe73df5951639b5c9013ddba6efec Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:21:44 2015 -0300 kernel-doc: Add a parser for function typedefs The current typedef parser only works for non-function typedefs. As we need to also document some function typedefs, add a parser for it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit abfc97f722348032c9b6b2cd8f464446aaac6a72 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Oct 7 16:27:24 2015 -0300 [media] demux.h: make checkpatch.ph happy There are lots of CodingStyle violations here. Now that we're touching a log on this header files, adding the documentation here, make sure that this will follow the Kernel CodingStyle. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 548e5ae0bd572509ee49e3684a20a3fa696181cb Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Oct 7 16:11:03 2015 -0300 [media] DocBook: document the other structs/enums of demux.h Document the following data types: struct dmx_ts_feed struct dmx_section_filter struct dmx_section_feed enum dmx_frontend_source struct dmx_frontend Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 80bea1897d7bc35e2b201847e12029a9d677cf12 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sat Oct 10 13:35:42 2015 +0200 drm/i915: Update DRIVER_DATE to 20151010 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 58b0497dad1abbe389af83e3d7706be584cf3ba2 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:07 2015 +0100 i2c: img-scb: verify support for requested bit rate The requested bit rate can be outside the range supported by the driver. The maximum bit rate this driver supports at the moment is 400Khz. If the requested bit rate is larger than the maximum supported by the driver, set the bitrate to the maximum supported before bitrate_khz is calculated. Maximum speed supported by the driver can be increased to 1Mhz by adding support for "fast plus mode" in the future. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1ed6faedfc9741cca2d97b25ab73902ba7177093 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:06 2015 +0100 i2c: img-scb: Clear line and interrupt status before starting a transfer Clear line status and all generated interrupts from the interrupt status register before starting a transfer, as we may have unserviced interrupts from previous transfers that might be handled in the context of the new transfer. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0f0a3189978c1bd38a36f97577c38fef861ebff5 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:05 2015 +0100 i2c: img-scb: use line_status instead of i2c->line_status i2c->line_status accumulates the line status bits that have been seen with each interrupt. As we're only interested in that bit from the current interrupt, refer to line_status (the argument to img_i2c_auto) instead of i2c->line_status. Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 987008dbc48479af250cddda7f36e920a47ef54f Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:04 2015 +0100 i2c: img-scb: fix LOW and HIGH period values for the SCL clock Currently, after determining the minimum value for the High period (TCKH) the remainder of the internal clock pulses is set as the Low period (TCKL). This causes the i2c clock duty cycle to be much less than 50%. Modify the starting position to TCKH and TCKL at 50% of the internal clock, and adjusts the TCKH and TCKL values from there should the minimum value for TCKL not be met. This results in duty cycles closer to 50%. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 5728d95f2458887ae3d95547c04352bba5080ad6 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:03 2015 +0100 i2c: img-scb: use DIV_ROUND_UP to round divisor values Using % can be slow depending on the architecture. Using DIV_ROUND_UP is nicer and more efficient way to do it. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2aefb1bd4101235be7d9f0d5ac8d56aa979f6081 Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:02 2015 +0100 i2c: img-scb: do dummy writes before fifo access Move scb_wr_rd_fence to before reading from fifo and writing to fifo to make sure the the first read/write is done after the required number of cycles. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0e59378bc05b084939af54d2066552ac42fa0fee Author: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Date: Thu Sep 10 15:50:01 2015 +0100 i2c: img-scb: enable fencing for all versions of the ip The code to read from the master read fifo, and write to the master write fifo, checks a bit in an SCB register before every byte to ensure that the fifo is not full (write fifo) or empty (read fifo). Due to clock domain crossing inside the SCB block the updated value of this bit is only visible after 2 cycles. The scb_wr_rd_fence() function does 2 dummy writes (to the read-only revision register), and it's called before reading from or writing to the fifos to ensure that subsequent reads of the fifo status bits do not read stale values. As the 2 dummy writes are required in all versions of the ip, the version check is dropped. Fixes: commit 27bce457d588 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver") Signed-off-by: Sifan Naeem <sifan.naeem@xxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Reviewed-by: James Hartley <james.hartley@xxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 809b6ecb53e35654d988f8f8f263a51ac6d10003 Author: Olaf Hering <olaf@xxxxxxxxx> Date: Fri Oct 2 09:50:45 2015 +0000 tools/thermal: tmon: use pkg-config also for CFLAGS The header <panel.h> might be in /usr/include/ncursesw, which is not part of the standard include path. This fixes compile on openSUSE. Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit e866a2e3950fe2f708d5cc67d641b1725ef7a708 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:45:31 2015 +0200 linux/thermal.h: rename KELVIN_TO_CELSIUS to DECI_KELVIN_TO_CELSIUS The macros KELVIN_TO_CELSIUS and CELSIUS_TO_KELVIN actually convert between deciKelvins and Celsius, so rename them to reflect that. While at it, use a statement expression in DECI_KELVIN_TO_CELSIUS to prevent expanding the argument multiple times and get rid of a few casts. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit a71544cd9373b879bbb40f55ce4d01556a4bc29e Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Aug 19 11:52:19 2015 +0530 thermal: cpu_cooling: Remove usage of devm functions In the function cpufreq_get_requested_power, the memory allocated for load_cpu is live within the function only. And after the allocation it is immediately freed with devm_kfree. There is no need to allocate memory for load_cpu with devm function so replace devm_kcalloc with kcalloc and devm_kfree with kfree. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Javi Merino <javi.merino@xxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> commit 98cadf25dae234130994d9c71cd0d925db4b2a6a Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Mon Aug 3 04:13:16 2015 -0700 thermal: kconfig: select THERMAL_WRITABLE_TRIPS for x86 thermal After the commit "thermal: core: Add Kconfig option to enable writable trips", by default the trips are read only. This cause user space thermal controllers to poll for temperature as they can't set temperature thresholds for getting a notification via uevents. These programs use RW trip in a zone to register thresholds. Since we need to enable the new config introduced by above commit to allow writable trips, selecting CONFIG_THERMAL_WRITABLE_TRIP for x86 thermal drivers. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> commit 68d0d9794864a6bfbc6f88bb0ec980400bc17922 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Fri Oct 9 00:51:46 2015 +0600 x86/PCI: Make pci_subsys_init() static The pci_subsys_init() is a subsys_initcall that can be declared static. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 6066d8cdb6dd0fd51ccd96027f6ae8e6b3b5adff Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Oct 1 16:42:55 2015 -0700 f2fs: merge meta writes as many possible This patch tries to merge IOs as many as possible when background flusher conducts flushing the dirty meta pages. [Before] ... 2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 124320, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 124560, size = 32768 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 95720, size = 987136 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123928, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123944, size = 8192 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123968, size = 45056 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 124064, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 97648, size = 1007616 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123776, size = 8192 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123800, size = 32768 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 124624, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 99616, size = 921600 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123608, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123624, size = 77824 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123792, size = 4096 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 123864, size = 32768 ... [After] ... f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 92168, size = 892928 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 93912, size = 753664 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 95384, size = 716800 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 96784, size = 712704 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 104160, size = 364544 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 104872, size = 356352 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 105568, size = 278528 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 106112, size = 319488 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 106736, size = 258048 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 107240, size = 270336 f2fs_submit_write_bio: dev = (8,18), WRITE_SYNC(MP), META, sector = 107768, size = 180224 ... Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 60b99b486b568c13cbb7caa83cf8a12af7665f1e Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 5 14:49:57 2015 -0700 f2fs: introduce a periodic checkpoint flow This patch introduces a periodic checkpoint feature. Note that, this is not enforcing to conduct checkpoints very strictly in terms of trigger timing, instead just hope to help user experiences. The default value is 60 seconds. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5c2674347466d5c2d5169214e95f4ad6dc09e9b6 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 5 11:32:34 2015 -0700 f2fs: add a tracepoint for background gc This patch introduces a tracepoint to monitor background gc behaviors. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 6aefd93b01379bf0b62f8b38dcf7a21397893833 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 5 11:02:54 2015 -0700 f2fs: introduce background_gc=sync mount option This patch introduce background_gc=sync enabling synchronous cleaning in background. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 456b88e4d15de833165cce67c2cdf998139e2fc1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 5 22:24:19 2015 +0800 f2fs: introduce a new ioctl F2FS_IOC_WRITE_CHECKPOINT This patch introduce a new ioctl for those users who want to trigger checkpoint from userspace through ioctl. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d530d4d8e237f4d12c93bb76df40b69b8b8a1dcd Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 5 22:22:44 2015 +0800 f2fs: support synchronous gc in ioctl This patch drops in batches gc triggered through ioctl, since user can easily control the gc by designing the loop around the ->ioctl. We support synchronous gc by forcing using FG_GC in f2fs_gc, so with it, user can make sure that in this round all blocks gced were persistent in the device until ioctl returned. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 3342bb303bf48dd8bb5ac94c3356489ff53e4d04 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 5 22:20:40 2015 +0800 f2fs: skip searching dirty map if dirty segment is not exist When searching victim during gc, if there are no dirty segments in filesystem, we will still take the time to search the whole dirty segment map, it's not needed, it's better to skip in this condition. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a43f7ec327b0d86cbb80d0841673038c0706e714 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Oct 5 22:19:24 2015 +0800 f2fs: fix to avoid redundant searching in dirty map during gc When doing gc, we search a victim in dirty map, starting from position of last victim, we will reset the current searching position until we touch the end of dirty map, and then search the whole diryt map. So sometimes we will search the range [victim, last] twice, it's redundant, this patch avoids this issue. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 5b7ee374144f8ef2db3e25d0d59a8ad83bb3cf33 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Sep 30 17:38:48 2015 +0800 f2fs: use atomic64_t for extent cache hit stat Our hit stat of extent cache will increase all the time until remount, and we use atomic_t type for the stat variable, so it may easily incur overflow when we query extent cache frequently in a long time running fs. So to avoid that, this patch uses atomic64_t for hit stat variables. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 39307a8e2459ecdee9f1bc0b8a5d7af4a6d8f754 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 22 13:50:47 2015 -0700 f2fs: use vmalloc to handle -ENOMEM error This patch introduces f2fs_kvmalloc to avoid -ENOMEM during mount. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ab126cfc3090fa5af2a87cc0698f793aebbec7d0 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Sep 18 17:33:00 2015 -0700 f2fs: should get a victim from retrials If we do not call get_victim first, we cannot get a new victim for retrial path. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 45fe8492ccbe561c4b8918c2d4c83a0501e50646 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 28 17:42:24 2015 +0800 f2fs: fix to correct freed section number during gc This patch fixes to maintain the right section count freed in garbage collecting when triggering a foreground gc. Besides, when a foreground gc is running on current selected section, once we fail to gc one segment, it's better to abandon gcing the left segments in current section, because anyway we will select next victim for foreground gc, so gc on the left segments in previous section will become overhead and also cause the long latency for caller. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 345a6b2ee2987a11bc8e9c08ff2b68a973fd912c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 28 17:46:01 2015 +0800 f2fs: fix to update {m,c}time correctly when truncating larger This patch fixes to update ctime and atime correctly when truncating larger in ->setattr. The bug is reported by xfstest generic/313 as below: generic/313 2s ... - output mismatch (see ./results/generic/313.out.bad) --- tests/generic/313.out 2015-08-04 15:28:53.430798882 +0800 +++ results/generic/313.out.bad 2015-09-28 17:04:27.294278016 +0800 @@ -1,2 +1,4 @@ QA output created by 313 Silence is golden +ctime not updated after truncate up +mtime not updated after truncate up ... (Run 'diff -u tests/generic/313.out tests/generic/313.out.bad' to see the entire diff) Ran: generic/313 Failures: generic/313 Failed 1 of 1 tests Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 90b803e6fb6243922bff9ddd8a6205c17cb93b31 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Sep 25 19:34:50 2015 -0700 f2fs: do not skip dentry block writes Previously, we skip dentry block writes when wbc is SYNC_NONE with no memory pressure and the number of dirty pages is pretty small. But, we didn't skip for normal data writes, which gives us not much big impact on overall performance. Moreover, by skipping some data writes, kworker falls into infinite loop to try to write blocks, when many dir inodes have only one dentry block. So, this patch removes skipping data writes. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7223554133c3f72809ea6ddbf0d8464e7c70c1b1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 25 17:54:56 2015 +0800 f2fs: remove unneeded f2fs_{,un}lock_op in do_recover_data() Protecting recovery flow by using cp_rwsem is not needed, since we have prevent triggering any checkpoint by locking cp_mutex previously. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 1d7e10d58a1f62c8c44668cca1cff6a2dd57d7d9 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Sep 23 09:25:43 2015 +0800 f2fs: fix incorrect bimodal calculation In update_sit_info, we use div_u64 to handle 'u64 divide u64' case, but div_u64 can only handle 32-bits divisor, so our divisor with u64 type passed to div_u64 will overflow, result in the wrong calculation when show debug info of f2fs as below: BDF: 464, avg. vblocks: 23509 (BDF should never exceed 100) So change to use div64_u64 to handle this case correctly. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4abd3f5ac49314fe345566ec859b8e60993207bf Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Tue Sep 22 21:07:47 2015 +0800 f2fs: introduce __try_update_largest_extent This patch adds a new helper __try_update_largest_extent for cleanup. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 545fe4210df5eb4097aa17c68f0f153db27bcf44 Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Mon Sep 21 18:55:49 2015 -0400 f2fs: fix error handling for calls to various functions in the function recover_inline_data This fixes error handling for calls to various functions in the function recover_inline_data to check if these particular functions either return a error code or the boolean value false to signal their caller they have failed internally and if this arises return false to signal failure immediately to the caller of recover_inline_data as we cannot continue after failures to calling either the function truncate_inline_inode or truncate_blocks. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9cd81ce3c2f01fc599b9156b94b868b4f578698c Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 18 16:55:26 2015 +0800 f2fs: disallow switch extent_cache option dynamically Swith extent_cache option dynamically when remount may casue consistency issue between extent cache and dnode page. Fix in this patch to avoid that condition. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 46c9e1413f3c4ecbbe775e545063e88feb1f9871 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 18 16:54:16 2015 +0800 f2fs: use correct flag in f2fs_map_blocks() We introduce F2FS_GET_BLOCK_READ in commit e2b4e2bc8865 ("f2fs: fix incorrect mapping for bmap"), but forget to use this flag in the right place, fix it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f9811703fefbdb22abf723ec61368777cdad8508 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 21 20:17:52 2015 +0800 f2fs: fix to handle io error in ->direct_IO Here is a oops reported as following message when testing generic/019 of xfstest: ------------[ cut here ]------------ kernel BUG at /home/yuchao/git/f2fs-dev/segment.c:882! invalid opcode: 0000 [#1] SMP Modules linked in: zram lz4_compress lz4_decompress f2fs(O) ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_def CPU: 2 PID: 25441 Comm: fio Tainted: G O 4.3.0-rc1+ #6 Hardware name: Hewlett-Packard HP Z220 CMT Workstation/1790, BIOS K51 v01.61 05/16/2013 task: ffff8803f4e85580 ti: ffff8803fd61c000 task.ti: ffff8803fd61c000 RIP: 0010:[<ffffffffa0784981>] [<ffffffffa0784981>] new_curseg+0x321/0x330 [f2fs] RSP: 0018:ffff8803fd61f918 EFLAGS: 00010246 RAX: 00000000000007ed RBX: 0000000000000224 RCX: 000000000000001f RDX: 0000000000000800 RSI: ffffffffffffffff RDI: ffff8803f56f4300 RBP: ffff8803fd61f978 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000024 R11: ffff8800d23bbd78 R12: ffff8800d0ef0000 R13: 0000000000000224 R14: 0000000000000000 R15: 0000000000000001 FS: 00007f827ff85700(0000) GS:ffff88041ea80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffff600000 CR3: 00000003fef17000 CR4: 00000000001406e0 Stack: 000007ea00000002 0000000100000001 ffff8803f6456248 000007ed0000002b 0000000000000224 ffff880404d1aa20 ffff8803fd61f9c8 ffff8800d0ef0000 ffff8803f6456248 0000000000000001 00000000ffffffff ffffffffa078f358 Call Trace: [<ffffffffa0785b87>] allocate_segment_by_default+0x1a7/0x1f0 [f2fs] [<ffffffffa078322c>] allocate_data_block+0x17c/0x360 [f2fs] [<ffffffffa0779521>] __allocate_data_block+0x131/0x1d0 [f2fs] [<ffffffffa077a995>] f2fs_direct_IO+0x4b5/0x580 [f2fs] [<ffffffff811510ae>] generic_file_direct_write+0xae/0x160 [<ffffffff811518f5>] __generic_file_write_iter+0xd5/0x1f0 [<ffffffff81151e07>] generic_file_write_iter+0xf7/0x200 [<ffffffff81319e38>] ? apparmor_file_permission+0x18/0x20 [<ffffffffa0768480>] ? f2fs_fallocate+0x1190/0x1190 [f2fs] [<ffffffffa07684c6>] f2fs_file_write_iter+0x46/0x90 [f2fs] [<ffffffff8120b4fe>] aio_run_iocb+0x1ee/0x290 [<ffffffff81700f7e>] ? mutex_lock+0x1e/0x50 [<ffffffff8120a1d7>] ? aio_read_events+0x207/0x2b0 [<ffffffff8120b913>] do_io_submit+0x373/0x630 [<ffffffff8120a4f6>] ? SyS_io_getevents+0x56/0xb0 [<ffffffff8120bbe0>] SyS_io_submit+0x10/0x20 [<ffffffff81703857>] entry_SYSCALL_64_fastpath+0x12/0x6a Code: 45 c8 48 8b 78 10 e8 9f 23 bf e0 41 8b 8c 24 cc 03 00 00 89 c7 31 d2 89 c6 89 d8 29 df f7 f1 29 d1 39 cf 0f 83 be fd ff ff eb RIP [<ffffffffa0784981>] new_curseg+0x321/0x330 [f2fs] RSP <ffff8803fd61f918> ---[ end trace 2e577d7f711ddb86 ]--- The reason is that: in the test of generic/019, we will trigger a manmade IO error in block layer through debugfs, after that, prefree segment will no longer be freed, because we always skip doing gc or checkpoint when there occurs an IO error. Meanwhile fio with aio engine generated a large number of direct IOs, which continue allocating spaces in free segment until we run out of them, eventually, results in panic in new_curseg as no more free segment was found. So, this patch changes to return EIO in direct_IO for this condition. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ea58711e884c3006e6f61e44d47f0c2d9f0979e1 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Sep 17 20:22:44 2015 +0800 f2fs: do in batches truncation in truncate_hole truncate_data_blocks_range can do in batches truncation which makes all changes in dnode page content, dnode page status, extent cache, block count updating together. But previously, truncate_hole() always truncates one block in dnode page at a time by invoking truncate_data_blocks_range(,1), which make thing slow. This patch changes truncate_hole() to do in batches truncation for all target blocks in one direct node inside truncate_data_blocks_range, which can make our punch hole operation in ->fallocate more efficent. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4d1fa815f26ce92dc4710d28f50071174a2340b7 Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Thu Sep 17 18:42:06 2015 +0800 f2fs: optimize code of f2fs_update_extent_tree_range Fix 2 potential problems: 1. when largest extent needs to be invalidated, it will be reset in __drop_largest_extent, which makes __is_extent_same after always return false, and largest extent unchanged. Now we update it properly. 2. when extent is split and the latter part remains in tree, next_en should be the latter part instead of next extent of original extent. It will cause merge failure if there is in-place update, although there is not, I think this fix will still makes codes less ambiguous. This patch also simplifies codes of invalidating extents, and optimizes the procedues that split extent into two. There are a few modifications after last patch: 1. prev_en now is updated properly. 2. more codes and branches are simplified. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 41a099de3a8d2b570147445c5cddc59c0daf5e96 Author: Fan Li <fanofcode.li@xxxxxxxxxxx> Date: Thu Sep 17 18:24:17 2015 +0800 f2fs: drop largest extent by range now we update extent by range, fofs may not be on the largest extent if the new extent overlaps with it. so add a new function to drop largest extent properly. Signed-off-by: Fan li <fanofcode.li@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a7230d16d5f8635dbc029af057969e46e3eb2246 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 16 14:06:54 2015 -0700 f2fs: check end_io for metapages before making next checkpoint blocks This patch avoids to produce new checkpoint blocks before the previous meta pages were written completely. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 569cf1876a32e574ba8a7fb825cd91bafd003882 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Sep 3 13:38:23 2015 -0700 f2fs crypto: allocate buffer for decrypting filename We got dentry pages from high_mem, and its address space directly goes into the decryption path via f2fs_fname_disk_to_usr. But, sg_init_one assumes the address is not from high_mem, so we can get this panic since it doesn't call kmap_high but kunmap_high is triggered at the end. kernel BUG at ../../../../../../kernel/mm/highmem.c:290! Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM ... (kunmap_high+0xb0/0xb8) from [<c0114534>] (__kunmap_atomic+0xa0/0xa4) (__kunmap_atomic+0xa0/0xa4) from [<c035f028>] (blkcipher_walk_done+0x128/0x1ec) (blkcipher_walk_done+0x128/0x1ec) from [<c0366c24>] (crypto_cbc_decrypt+0xc0/0x170) (crypto_cbc_decrypt+0xc0/0x170) from [<c0367148>] (crypto_cts_decrypt+0xc0/0x114) (crypto_cts_decrypt+0xc0/0x114) from [<c035ea98>] (async_decrypt+0x40/0x48) (async_decrypt+0x40/0x48) from [<c032ca34>] (f2fs_fname_disk_to_usr+0x124/0x304) (f2fs_fname_disk_to_usr+0x124/0x304) from [<c03056fc>] (f2fs_fill_dentries+0xac/0x188) (f2fs_fill_dentries+0xac/0x188) from [<c03059c8>] (f2fs_readdir+0x1f0/0x300) (f2fs_readdir+0x1f0/0x300) from [<c0218054>] (vfs_readdir+0x90/0xb4) (vfs_readdir+0x90/0xb4) from [<c0218418>] (SyS_getdents64+0x64/0xcc) (SyS_getdents64+0x64/0xcc) from [<c0105ba0>] (ret_fast_syscall+0x0/0x30) Cc: <stable@xxxxxxxxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 973163fc0ce07761eae671e895dc6747a3410fe7 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 18 16:51:51 2015 +0800 f2fs: reorganize f2fs_map_blocks In this patch, we try to reorganize f2fs_map_blocks to make block mapping flow more clear by using following structure: /* check status of mapping */ if (unmapped) { /* blkaddr == NULL_ADDR || blkaddr == NEW_ADDR */ if (create) { /* write path, handle dio write case here */ alloc_and_map; } else { /* * handle read cases from all call paths: * 1. generic read; * 2. dio read; * 3. fiemap; * 4. bmap */ } } /* map buffer_header */ Besides, this patch handles the missing case correctly for dio write: When we fail in __allocate_data_blocks, then in f2fs_map_blocks, we will not allocate blocks correctly for preallocated blocks, but returning with an unmapped buffer head, which will result in failure of dio write. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 514053e4543b33bbd74d8900f368df663cb03325 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 15 14:46:43 2015 -0700 f2fs: declare f2fs_update_extent_tree_range as static This function should be static. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9edcdabf36422d15d01db73b0fa5487e418beff6 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 11 14:43:52 2015 +0800 f2fs: fix overflow of size calculation We have potential overflow issue when calculating size of object, when we left shift index with PAGE_CACHE_SHIFT bits, if type of index has only 32-bits space in 32-bit architecture, left shifting will incur overflow, i.e: pgoff_t index = 0xFFFFFFFF; loff_t size = index << PAGE_CACHE_SHIFT; size: 0xFFFFF000 So we should cast index with 64-bits type to avoid this issue. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 100136acfb4023ab7dc899192e95aca9aedfe98a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 11 14:43:02 2015 +0800 f2fs: fix incorrect searching position when shrinking extent cache When shrinking extent cache, we have two steps in the flow: 1) shrink objects which are unreferenced by inodes; 2) shrink objects from LRU list of extent cache. In step 1, if we haven't shrunk enough number of objects, we will try step 2, but before that we didn't update the searching position which may point to last inode index in global extent tree, result in failing to shrink objects by traversing the all inodes' extent tree. In this patch, we reset searching position to beginning of global extent tree for fixing. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c998012b0bb93009d66349ea7e9747c968375e69 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Fri Sep 11 14:39:02 2015 +0800 f2fs: verify file type early in f2fs_fallocate This patch changes to verify file type early in f2fs_fallocate for cleanup, meanwhile this also fixes to add missing verification for expand_inode_data. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c5cd29d21cebc2e1802a9eea4cd940ddf9825ce1 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Sep 12 11:25:30 2015 -0700 f2fs: no need to lock for update_inode_page all the time As comment says, we don't need to call f2fs_lock_op in write_inode to prevent from producing dirty node pages all the time. That happens only when there is not enough free sections and we can avoid that by calling balance_fs in prior to that. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 25b93346a6b5542fd7de50555f8f0ddfc56d7443 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Sep 12 11:13:04 2015 -0700 f2fs: cover number of dirty node pages under node_write lock This number is referenced by checkpoint under node_write lock. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 538e17e7e96e14f76bb82dd83290a5315da70c3b Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Sun Sep 6 08:28:46 2015 -0400 f2fs: fix incorrect return statement in the function f2fs_ioc_release_volatile_write This fixes the incorrect return statement at the end of the function f2fs_ioc_release_volatile_write's body for returning zero as this is incorrect due to the function call before this return statement to the function punch_hole being able to fail and we should return this function's return fail directly in order to signal to callers of the function f2fs_ioc_release_volatile if a failure arises with this call to punch_hole fails. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 744288c7216bf5876f271c32516dfb66dedb0448 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Sun Sep 6 17:50:13 2015 +0800 f2fs: trace in batches extent info update Rename trace_f2fs_update_extent_tree to trace_f2fs_update_extent_tree_range, then expand and enable it to trace in batches extent info updates. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f6225c3a0c1f2ef908244c31b91d62066360ce1d Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 12:54:16 2015 -0700 PCI: generic: Fix address window calculation for non-zero starting bus Make the offset from the beginning of the "reg" property be from the starting bus number, rather than zero. Hoist the invariant size calculation out of the mapping for loop. Update host-generic-pci.txt to clarify the semantics of the "reg" property with respect to non-zero starting bus numbers. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> commit 8da4aba5bf9869f58d2a6bb30daaf54b2fa72569 Author: Roman Kubiak <r.kubiak@xxxxxxxxxxx> Date: Mon Oct 5 12:27:16 2015 +0200 Smack: pipefs fix in smack_d_instantiate This fix writes the task label when smack_d_instantiate is called, before the label of the superblock was written on the pipe's inode. Signed-off-by: Roman Kubiak <r.kubiak@xxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit d21b7b049c0c1753a10c1d01606f42bad0e0f733 Author: José Bollo <jobol@xxxxxxxxxxx> Date: Fri Oct 2 15:15:56 2015 +0200 Smack: Minor initialisation improvement This change has two goals: - delay the setting of 'smack_enabled' until it will be really effective - ensure that smackfs is valid only if 'smack_enabled' is set (it is already the case in smack_netfilter.c) Signed-off-by: José Bollo <jose.bollo@xxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 8b549ef42a26f4ef604a9ede84f0260103942727 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Sep 27 23:10:25 2015 +0800 smack: smk_ipv6_port_list should be static Fixes the following sparse warning: security/smack/smack_lsm.c:55:1: warning: symbol 'smk_ipv6_port_list' was not declared. Should it be static? Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 5f2bfe2f1de8b745dc294acaf2ca2ad68e09b374 Author: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Date: Tue Aug 25 12:39:46 2015 +0200 Smack: fix a NULL dereference in wrong smack_import_entry() usage 'commit e774ad683f42 ("smack: pass error code through pointers")' made this function return proper error codes instead of NULL. Reflect that. This is a fix for a NULL dereference introduced in 'commit 21abb1ec414c ("Smack: IPv6 host labeling")' echo "$SOME_IPV6_ADDR \"test" > /smack/ipv6host (this should return EINVAL, it doesn't) cat /smack/ipv6host (derefences 0x000a) Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Acked-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit 4f64cb65bf76fbd89c62d8e69c7bf75091950739 Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:19 2015 +0100 arm/arm64: KVM: Only allow 64bit hosts to build VGICv3 Hardware virtualisation of GICv3 is only supported by 64bit hosts for the moment. Some VGICv3 bits are missing from the 32bit side, and this patch allows to still be able to build 32bit hosts when CONFIG_ARM_GIC_V3 is selected. To this end, we introduce a new option, CONFIG_KVM_ARM_VGIC_V3, that is only enabled on the 64bit side. The selection is done unconditionally because CONFIG_ARM_GIC_V3 is always enabled on arm64. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 0b28f1db3dd2d4377c4a4dd8f85713ef44f11a25 Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:18 2015 +0100 ARM: virt: select ARM_GIC_V3 This patch allows ARM guests to use GICv3 on an arm64 host Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit d5cd50d318f70fc62cc2e1399f5f4a0803291395 Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:17 2015 +0100 ARM: add 32bit support to GICv3 Implement the system and memory-mapped register accesses in asm/arch_gicv3.h for 32bit architectures. This patch is a straightforward translation of the arm64 header. 64bit accesses are done in two times and don't need atomicity: TYPER is read-only, and the upper-word of IROUTER is always zero on 32bit architectures. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 72c971262f00185b4c6208812645c3feab4c77a3 Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:16 2015 +0100 irqchip/gic-v3: Specialize readq and writeq accesses On 32bit platforms, we cannot assure that an I/O ldrd or strd will be done atomically. Besides, an hypervisor would be unable to emulate such accesses. In order to allow the AArch32 version of the driver to split them into two 32bit accesses while keeping the requirement for atomic writes, this patch specializes the IROUTER and TYPER accesses. Since the latter is an ID register, it won't need to be read atomically, but we still avoid future confusion by using gic_read_typer instead of a generic gic_readq. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit f6c86a41e1dc2214363b00cc0eadb8a5401c892d Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:15 2015 +0100 irqchip/gic-v3: Change unsigned types for AArch32 compatibility This patch does a few simple compatibility-related changes: - change the system register access prototypes to their actual size, - homogenise mpidr accesses with unsigned long, - force the 64bit register values to unsigned long long. Note: the list registers are 64bit on GICv3, but the AArch32 vGIC driver will need to split their values into two 32bit registers: LRn and LRCn. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 7936e914f7b0827c2dcfe63fbefdc21de2d61dcb Author: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Date: Thu Oct 1 13:47:14 2015 +0100 irqchip/gic-v3: Refactor the arm64 specific parts This patch moves the GICv3 system register access helpers to arch/arm64/. Their 32bit counterparts will need to use mrc/mcr accesses instead of mrs_s/msr_s. [maz: fixed conflict with Cavium erratum handling] Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5527e73305e8a9958b00331902a27514e62d539b Author: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Date: Thu Aug 20 10:00:01 2015 +0200 usb: gadget: composite: fill bcdUSB for any gadget max speed When handling device GET_DESCRIPTOR, composite gadget driver fills the bcdUSB field only if the gadget supports USB 3.0. Otherwise the field is left unfilled. For consistency, set bcdUSB to 0x0200 for gadgets that don't support superspeed. It's correct to use 0x0200 for any setting that doesn't use superspeed, since USB 2.0 devices can restrict themselves to full speed only. It is NOT correct to use 0x0210, since BOS descriptors are handled only if gadget_is_superspeed() is satisfied, otherwise it results in a stall. Signed-off-by: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f301fe22bab90a0377096bfd831ef7c99ece1a40 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Sep 20 17:02:19 2015 -0400 musb: sunxi: Make sunxi musb glue work without MUSB_PIO_ONLY Now that it is possible to build in multiple dma engines, we can no longer require MUSB_PIO_ONLY to be set when using the sunxi musb glue. This patch adds dummy dma hooks to make the musb glue work without MUSB_PIO_ONLY. This hooks are fake because we do not support dma with musb on sunxi. The Allwinnner Android kernels have some dma code, but it is disabled as Allwinner never managed to get it to work. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 708ca4084126692707cca379dc6fb61913a07183 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:13 2015 +0200 i2c: rcar: clean up after refactoring Update the comments to match current behaviour. Shorten some comments. Update copyrights. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit e5a7effa09e257436ab2cd633f80db3f78c684df Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:12 2015 +0200 i2c: rcar: revoke START request early If we don't clear START generation as soon as possible, it may cause another message to be generated. To keep the race window as small as possible, we clear it right at the beginning of the interrupt. We don't need checking since we always want to stop START and STOP generation on the next occasion after we started it. This patch improves the situation but sadly does not completely fix it. It is still to be researched if we can do better given this HW design. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2151ba7584b73255ae057892bb9c2de358af9502 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:11 2015 +0200 i2c: rcar: check master irqs before slave irqs Due to broken HW design, master IRQs are more timing critical, so give them precedence over slave IRQ. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 315a1736a2f2d9ad21dddea6bed766469342c2dc Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:10 2015 +0200 i2c: rcar: don't issue stop when HW does it automatically The manual says (55.4.8.6) that HW does automatically send STOP after NACK was received. My measuerments confirm that. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 2bc3c5a8631db6d88f3a83188b069ca46b301315 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:09 2015 +0200 i2c: rcar: init new messages in irq Setting up new messages was done in process context while handling a message was in interrupt context. Because of the HW design, this IP core is sensitive to timing, so the context switches were too expensive. Move this setup to interrupt context as well. In my test setup, this fixed the occasional 'data byte sent twice' issue which a number of people have seen. It also fixes to send REP_START after a read message which was wrongly send as a STOP + START sequence before. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 344beeb23bfc11502fc54875f37ccdf51b6639b9 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:08 2015 +0200 i2c: rcar: refactor setup of a msg We want to reuse this function later. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 738206dec9354817e37c6cddb3eae278b4d7e7ba Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:07 2015 +0200 i2c: rcar: remove spinlock We make sure to reinit the HW in the timeout case; then we know that interrupts are always disabled in the sections protected by the spinlock. Thus, we can simply remove it which is a preparation for further refactoring. While here, rename the timeout variable to time_left which is way more readable. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 59daef909d9ac2ca4d08389bf816a9ad3bf8c350 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:06 2015 +0200 i2c: rcar: remove unused IOERROR state Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 93c659d820ef291f6ca5e628f44b26cfb2226aba Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 22:20:05 2015 +0200 i2c: rcar: rework hw init We don't need to init HW before every transfer since we know the HW state then. HW init at probe time is enough. While here, add setting the clock register which belongs to init HW. Also, set MDBS bit since not setting it is prohibited according to the manual. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit ee5f7d6462c56ba083d5d80aa0d69914068a59ae Author: Duc Dang <dhdang@xxxxxxx> Date: Tue Oct 6 15:32:38 2015 -0700 irqchip/gic-v2m: Add workaround for APM X-Gene GICv2m erratum APM X-Gene GICv2m implementation has an erratum where the MSI data needs to be the offset from the spi_start in order to trigger the correct MSI interrupt. This is different from the standard GICv2m implementation where the MSI data is the absolute value within the range from spi_start to (spi_start + num_spis) of each v2m frame. This patch reads MSI_IIDR register (present in all GICv2m implementations) to identify X-Gene GICv2m implementation and apply workaround to change the data portion of MSI vector. Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 6d32ab2d8a982ffd46c4dcad9739292f57bc26de Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Sep 30 12:05:17 2015 +0100 arm64: Update booting requirements for GICv3 in GICv2 mode The current requirements do not describe the case where a GICv3 system gets booted with system register access disabled, and expect the kernel to drive GICv3 in GICv2 mode. Describe the expected settings for that particular case. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 76e52dd01cabc340c1a58f540c9d6bf0e79c6b23 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Sep 30 12:01:16 2015 +0100 irqchip/gic: Warn if GICv3 system registers are enabled When using a GICv3 in compatibility (v2) mode, having GICv3 system register access enabled is not really compliant with the architecture. Warn if the firmware (or the hypervisor) has been lazy. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 963fcd40958711cecf9e9a1a8525f88b782d6a98 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Sep 30 11:50:04 2015 +0100 arm64: cpufeatures: Check ICC_EL1_SRE.SRE before enabling ARM64_HAS_SYSREG_GIC_CPUIF As the firmware (or the hypervisor) may have disabled SRE access, check that SRE can actually be enabled before declaring that we do have that capability. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 7cabd0086acd8f204d9b11a9b0aca90d6a9fcc5b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Sep 30 11:48:01 2015 +0100 irqchip/gic-v3: Make gic_enable_sre an inline function In order for gic_enable_sre to be used by the arm64 core code, move it to arm-gic-v3.h. As a bonus, we now also check if system registers have been already enabled, and return early if they have. In all cases, the function now returns a boolean indicating if the enabling has been successful. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit d271976dbb31c3ac5653745d03d68c4235d34119 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Wed Sep 30 11:39:59 2015 +0100 arm64: el2_setup: Make sure ICC_SRE_EL2.SRE sticks before using GICv3 sysregs Contrary to what was originally expected, EL3 firmware can (for whatever reason) disable GICv3 system register access. In this case, the kernel explodes very early. Work around this by testing if the SRE bit sticks or not. If it doesn't, abort the GICv3 setup, and pray that the firmware has passed a DT that doesn't contain a GICv3 node. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 94218ee31ba56fb3a8625978b393124ad660408e Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Oct 2 20:32:17 2015 -0700 usb: dwc3: pci: Set enblslpm quirk for Synopsys platforms Certain Synopsys prototyping PHY boards are not able to meet timings constraints for LPM. This allows the PHY to meet those timings by leaving the PHY clock running during suspend. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ec791d149bca4511e7d3a6a92bb3b030c5a443f9 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Oct 2 20:30:57 2015 -0700 usb: dwc3: Add dis_enblslpm_quirk Add a quirk to clear the GUSB2PHYCFG.ENBLSLPM bit, which controls whether the PHY receives the suspend signal from the controller. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bb7f3d6d323a56b9c3b3e727380d1395a7f10107 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Sat Sep 26 00:11:15 2015 -0700 usb: dwc3: pci: Add platform data for Synopsys HAPS Add platform data and set usb3_lpm_capable and has_lpm_erratum. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9a5a0783e4910d9e2063e87184fbd9cac7161a16 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Sep 25 23:47:53 2015 -0700 usb: dwc3: pci: trivial: Formatting Fix the alignment of the PCI device definitions. Also change the hex digit capitalization of one constant to make it consistent with the rest of the file and driver. Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 690fb3718a70c66004342f6f5e2e8a5f95b977db Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Sep 4 19:15:10 2015 -0700 usb: dwc3: Support Synopsys USB 3.1 IP This patch allows the dwc3 driver to run on the new Synopsys USB 3.1 IP core, albeit in USB 3.0 mode only. The Synopsys USB 3.1 IP (DWC_usb31) retains mostly the same register interface and programming model as the existing USB 3.0 controller IP (DWC_usb3). However the GSNPSID and version numbers are different. Add checking for the new ID to pass driver probe. Also, since the DWC_usb31 version number is lower in value than the full GSNPSID of the DWC_usb3 IP, we set the high bit to identify DWC_usb31 and to ensure the values are higher. Finally, add a documentation note about the revision numbering scheme. Any future revision checks (for STARS, workarounds, and new features) should take into consideration how it applies to both the 3.1/3.0 IP. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e8095a25364a30216ad40dbe8893ed5c3c235949 Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Aug 7 11:47:25 2015 -0700 usb: dwc3: pci: Add the PCI Product ID for Synopsys USB 3.1 This adds the PCI product ID for the Synopsys USB 3.1 IP core (DWC_usb31) on a HAPS-based PCI development platform. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 41adc59caece02aa2e988a0e8f9fe8e6f426f82e Author: John Youn <John.Youn@xxxxxxxxxxxx> Date: Fri Aug 7 11:04:14 2015 -0700 usb: dwc3: pci: Add the Synopsys HAPS AXI Product ID This ID is for the Synopsys DWC_usb3 core with AXI interface on PCIe HAPS platform. This core has the debug registers mapped at a separate BAR in order to support enhanced hibernation. Cc: <stable@xxxxxxxxxxxxxxx> # v3.18+ Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 538ea4aa44737127ce2b5c8511c7349d2abdcf9c Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Oct 5 20:35:56 2015 -0400 pmem, memremap: convert to numa aware allocations Given that pmem ranges come with numa-locality hints, arrange for the resulting driver objects to be obtained from node-local memory. Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 7eff93b7c99f5d0024aee677c6c92e32af22e1d2 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Oct 5 20:35:55 2015 -0400 devm_memremap_pages: use numa_mem_id Hint to closest numa node for the placement of newly allocated pages. As that is where the device's other allocations will originate by default when it does not specify a NUMA node. Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 7c683941f30a977c10ec6be174ec5f16939c7ce5 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Oct 5 20:35:55 2015 -0400 devm: make allocations numa aware by default Given we already have a device just use dev_to_node() to provide hint allocations for devres. However, current devres_alloc() users will need to explicitly opt-in with devres_alloc_node(). Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit b36f47617f6ce7c5e8e7c264b9d9ea0654d9f20a Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Sep 15 02:42:20 2015 -0400 devm_memremap: convert to return ERR_PTR Make devm_memremap consistent with the error return scheme of devm_memremap_pages to remove special casing in the pmem driver. Cc: Christoph Hellwig <hch@xxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit d741314fe8318c1af497b8cf04ea3976b9509eca Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Sep 15 02:37:48 2015 -0400 devm_memunmap: use devres_release() Remove open coded call to memunmap. Cc: Christoph Hellwig <hch@xxxxxx> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit a639315d6c536c806724c9328941a2517507e3e3 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Sep 15 02:14:03 2015 -0400 pmem: kill memremap_pmem() Now that the pmem-api is defined as "a set of apis that enables access to WB mapped pmem", the mapping type is implied. Remove the wrapper and push the functionality down into the pmem driver in preparation for adding support for direct-mapped pmem. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit c9cdaeb2027e535b956ff69f215522d79f6b54e3 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Thu Sep 17 16:27:57 2015 -0400 x86, mm: quiet arch_add_memory() Switch to pr_debug() so that dynamic-debug can disable these messages by default. This gets noisy in the presence of devm_memremap_pages(). Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 0e841b04c829f59a5d5745f98d2857f48882efe9 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Oct 6 00:42:14 2015 +0800 irqchip/sunxi-nmi: Switch to of_io_request_and_map() from of_iomap() Switch to the new of_io_request_and_map() call, so the IO resource is properly held, and also shows up in /proc/iomem. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444063334-19832-3-git-send-email-wens@xxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2d6caaed0997f335ce341703083c989c91ad76f4 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Oct 6 00:42:13 2015 +0800 irqchip/sunxi-nmi: Use driver name instead of DT node name for identification The device tree node name is typically "interrupt-controller", which is rather useless when used in printk messages and irq chip names for identification purposes. Use the driver name "sunxi-nmi" instead. While at it move the identifier from pr_err() calls to the pr_fmt macro. Also remove the "__func__" identifier from the error message in the interrupt type setting callback, sunxi_sc_nmi_set_type(). The driver name in the pr_fmt macro should be enough. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444063334-19832-2-git-send-email-wens@xxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fcf1ae2f7a044cda9956ec7afb487296afff058e Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Sat Oct 3 16:20:38 2015 +0800 genirq: Make irq_set_vcpu_affinity available for CONFIG_SMP=n irq_set_vcpu_affinity() is needed when CONFIG_SMP=n, so move the definition out of "#ifdef CONFIG_SMP" Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Cc: jiang.liu@xxxxxxxxxxxxxxx Cc: pbonzini@xxxxxxxxxx Link: http://lkml.kernel.org/r/1443860438-144926-1-git-send-email-feng.wu@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e509bd7da149dc34916037484cd7545b2d48a2b0 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Oct 5 13:12:15 2015 +0300 genirq: Allow migration of chained interrupts by installing default action When a CPU is offlined all interrupts that have an action are migrated to other still online CPUs. However, if the interrupt has chained handler installed this is not done. Chained handlers are used by GPIO drivers which support interrupts, for instance. When the affinity is not corrected properly we end up in situation where most interrupts are not arriving to the online CPUs anymore. For example on Intel Braswell system which has SD-card card detection signal connected to a GPIO the IO-APIC routing entries look like below after CPU1 is offlined: pin30, enabled , level, low , V(52), IRR(0), S(0), logical , D(03), M(1) pin31, enabled , level, low , V(42), IRR(0), S(0), logical , D(03), M(1) pin32, enabled , level, low , V(62), IRR(0), S(0), logical , D(03), M(1) pin5b, enabled , level, low , V(72), IRR(0), S(0), logical , D(03), M(1) The problem here is that the destination mask still contains both CPUs even if CPU1 is already offline. This means that the IO-APIC still routes interrupts to the other CPU as well. We solve the problem by providing a default action for chained interrupts. This action allows the migration code to correct affinity (as it finds desc->action != NULL). Also make the default action handler to emit a warning if for some reason a chained handler ends up calling it. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1444039935-30475-1-git-send-email-mika.westerberg@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c4a8ea9e0698945b182ba1e1063a0981b1f35139 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 14 12:13:44 2015 -0700 ARM: brcmstb: Setup BIU control registers during boot Call brcmstb_biuctrl_init() in brcmstb's init_irq machine descriptor callback since we need to setup the Bus Interface Unit before SMP in particular, but we also need to be able to remap registers. Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 9a764234eee689ea800424ab99b08ff07a8bdbcd Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 14 12:09:34 2015 -0700 soc: brcmstb: Add Bus Interface Unit control setup Broadcom STB SoCs (brcmstb) require an early setup of their Bus Interface Unit control register, this needs to happen before SMP is brought up because it affects how the CPU complex will be interfaced to the memory controller. Add support code which properly initializes the BIU registers based on whether "brcm,write-pairing" is present in Device Tree, and take care of saving and restoring credit register settings during system-wide suspend/resume operations. Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit a6eed752f5fb40990eb28fddb2b93258fb7e3be0 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 21 19:26:02 2015 +0300 PM / OPP: passing NULL to PTR_ERR() The code was using PTR_ERR(NULL) which causes a static checker warning. I have fixed up the printks and changed the return to -ENOENT. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 72e1eed8abb11c79749266d433c817ce36732893 Author: Dmitry Kasatkin <dmitry.kasatkin@xxxxxxxxx> Date: Thu Sep 10 22:06:15 2015 +0300 integrity: prevent loading untrusted certificates on the IMA trusted keyring If IMA_LOAD_X509 is enabled, either directly or indirectly via IMA_APPRAISE_SIGNED_INIT, certificates are loaded onto the IMA trusted keyring by the kernel via key_create_or_update(). When the KEY_ALLOC_TRUSTED flag is provided, certificates are loaded without first verifying the certificate is properly signed by a trusted key on the system keyring. This patch removes the KEY_ALLOC_TRUSTED flag. Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.19+ Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 3380f4589f6d9725e275525fd0580c8ee2b5cbbc Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 9 18:57:06 2015 +0200 blk-mq: remove unused blk_mq_clone_flush_request prototype Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8ee1b7b9d8761a7b1a0f37a6e596b5315d27d2f2 Author: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Date: Fri Oct 9 00:35:38 2015 +0000 blk-mq: fix waitqueue_active without memory barrier in block/blk-mq-tag.c blk_mq_tag_update_depth() seems to be missing a memory barrier which might cause the waker to not notice the waiter and fail to send a wake_up as in the following figure. blk_mq_tag_update_depth bt_get ------------------------------------------------------------------------ if (waitqueue_active(&bs->wait)) /* The CPU might reorder the test for the waitqueue up here, before prior writes complete */ prepare_to_wait(&bs->wait, &wait, TASK_UNINTERRUPTIBLE); tag = __bt_get(hctx, bt, last_tag, tags); /* Value set in bt_update_count not visible yet */ bt_update_count(&tags->bitmap_tags, tdepth); /* blk_mq_tag_wakeup_all(tags, false); */ bt = &tags->bitmap_tags; wake_index = atomic_read(&bt->wake_index); ... io_schedule(); ------------------------------------------------------------------------ This patch adds the missing memory barrier. I found this issue when I was looking through the linux source code for places calling waitqueue_active() before wake_up*(), but without preceding memory barriers, after sending a patch to fix a similar issue in drivers/tty/n_tty.c (Details about the original issue can be found here: https://lkml.org/lkml/2015/9/28/849). Signed-off-by: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2812dfe370516ef958b5c9e2eca1b2f002236d2d Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 9 18:19:20 2015 +0200 nvme: include <linux/types.Ä¥> in <linux/nvme.h> The buildbot complains about this even if it doesn't generate a a build warning. But it's an easy fix, so here we go: Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 57dacad5f2288e3de91f99b29f07b4a2793446d2 Author: Jay Sternberg <jay.e.sternberg@xxxxxxxxx> Date: Fri Oct 9 18:17:06 2015 +0200 nvme: move to a new drivers/nvme/host directory This patch moves the NVMe driver from drivers/block/ to its own new drivers/nvme/host/ directory. This is in preparation of splitting the current monolithic driver up and add support for the upcoming NVMe over Fabrics standard. The drivers/nvme/host/ is chose to leave space for a NVMe target implementation in addition to this host side driver. Signed-off-by: Jay Sternberg <jay.e.sternberg@xxxxxxxxx> [hch: rebased, renamed core.c to pci.c, slight tweaks] Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 08c69640cfcbdcc7aaed31c05bbfaf03bb60611c Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 15:27:16 2015 +0200 nvme.h: add missing nvme_id_ctrl endianess annotations Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 9d99a8dda154f38307d43d9c9aa504bd3703d596 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 15:25:49 2015 +0200 nvme: move hardware structures out of the uapi version of nvme.h Currently all NVMe command and completion structures are exposed to userspace through the uapi version of nvme.h. They are not an ABI between the kernel and userspace, and will change in C-incompatible way for future versions of the spec. Move them to the kernel version of the file and rename the uapi header to nvme_ioctl.h so that userspace can easily detect the presence of the new clean header. Nvme-cli already carries a local copy of the header, so it won't be affected by this move. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f11bb3e244c4b14e2d0a3b9d7e41895752997170 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 15:46:41 2015 +0200 nvme: add a local nvme.h header Add a new drivers/block/nvme.h which contains all the driver internal interface. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2659e57b906562bb020fb093b0c1b670b9700314 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 18:51:31 2015 +0200 nvme: properly handle partially initialized queues in nvme_create_io_queues This avoids having to clean up later in a seemingly unrelated place. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3cf519b5a8d4d067e3de19736283c9414402d3a2 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 09:49:23 2015 +0200 nvme: merge nvme_dev_start, nvme_dev_resume and nvme_async_probe And give the resulting function a sensible name. This keeps all the error handling in a single place and will allow for further improvements to it. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 90667892c5a78b47080359883a569a260e9e87ed Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 18:49:23 2015 +0200 nvme: factor reset code into a common helper Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 77b50d9e15e113fdb871218aa0f2e3bed12ee731 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 17:41:18 2015 +0200 nvme: merge nvme_dev_reset into nvme_reset_failed_dev And give the resulting function a more descriptive name. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 201cf1ecdfe5ea2774cbb21d4214c98ec8b418de Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Oct 2 18:48:36 2015 +0200 nvme: delete dev from dev_list in nvme_reset Device resets need to delete the device from the device list before kicking of the reset an re-probe, otherwise we get the device added to the list twice. nvme_reset is the only side missing this deletion at the moment, and this patch adds it. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Keith Busch <keith.busch@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0a7385ad69f0f210c5cfbfd334b42423a6e05e5a Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Fri Oct 2 10:37:29 2015 -0600 NVMe: Simplify device resume on io queue failure Releasing IO queues and disks was done in a work queue outside the controller resume context to delete namespaces if the controller failed after a resume from suspend. This is unnecessary since we can resume a device asynchronously. This patch makes resume use probe_work so it can directly remove namespaces if the device is manageable but not IO capable. Since the deleting disks was the only reason we had the convoluted "reset_workfn", this patch removes that unnecessary indirection. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5105aa555c1c681ae281ea0d6108efd0a5d8a5e8 Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Fri Oct 2 10:37:28 2015 -0600 NVMe: Namespace removal simplifications This liberates namespace removal from the device, allowing gendisk references to be closed independent of the nvme controller reference count. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 188c3568f814fea965947ed24739987ba9c5a87e Author: Keith Busch <keith.busch@xxxxxxxxx> Date: Thu Oct 1 17:14:10 2015 -0600 NVMe: Reference count open namespaces Dynamic namespace attachment means the namespace may be removed at any time, so the namespace reference count can not be tied to the device reference count. This fixes a NULL dereference if an opened namespace is detached from a controller. Signed-off-by: Keith Busch <keith.busch@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 217d453d473c5ddfd140a06bf9d8575218551020 Author: Yang Yingliang <yangyingliang@xxxxxxxxxx> Date: Thu Sep 24 17:32:14 2015 +0800 arm64: fix a migrating irq bug when hotplug cpu When cpu is disabled, all irqs will be migratged to another cpu. In some cases, a new affinity is different, the old affinity need to be updated and if irq_set_affinity's return value is IRQ_SET_MASK_OK_DONE, the old affinity can not be updated. Fix it by using irq_do_set_affinity. And migrating interrupts is a core code matter, so use the generic function irq_migrate_all_off_this_cpu() to migrate interrupts in kernel/irq/migration.c. Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 54ef2b96879334caf8803fdd93b4c556d709d6fd Merge: f7e7868 fd48ca3 Author: Jens Axboe <axboe@xxxxxx> Date: Fri Oct 9 10:40:29 2015 -0600 Merge branch 'for-4.4/core' into for-4.4/drivers Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d1a082cc2512f4ddaff5e1f35bc831773c08a7fe Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:38 2015 +0100 PCI: mvebu: Remove code restricting accesses to slot 0 Now that we advertise a PCIe capability, the Linux PCI layer will not scan the bus for devices other than in slot 0. This makes the work-around to trap accesses to devices other than slot 0 unnecessary. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit dc0352ab0b2a0c0c4fd11be89b83f4c693a8f662 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:33 2015 +0100 PCI: mvebu: Add PCI Express root complex capability block Add a PCI Express root complex capability block so the PCI layer identifies the bridge as a PCI Express device. We expose this as a version 1 PCIe capability block, with slot support. We disable the clock power management capability as this depends on boards wiring the CLKREQ# signal. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit d609a8d8e88a4292a0b4c42d1c942f8d088a6ebf Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:27 2015 +0100 PCI: mvebu: Improve clock/reset handling Add an implementation to handle clock and reset handling that is compliant with the PCIe specification. The clock should be running and stable for 100us prior to reset being released, and we should re-assert reset prior to stopping the clock. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit dfbdaf50460479446a258ef781683e7d7d6349d7 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 16:54:37 2015 +0100 drm: bridge/dw_hdmi: replace CTS calculation for the ACR Given the TDMS clock, audio sample rate, and the N parameter, we can calculate the CTS value for the audio clock regenerator (ACR) using the following calculation given in the HDMI specification: CTS = ftdms * N / (128 * fs) The specification says that the CTS value is an average value, which is true if the source hardware measures it. Where source hardware needs it to be programmed, it is particularly difficult to alternate between two values correctly to ensure that we achieve a correct "average" fractional value at the sink. Also, there's the problem that our "ftdms" is not a fully accurate value; it is rounded to a kHz value. This introduces an unnecessary (and harmless) fractional value into the above equation for combinations like 148.5MHz/1.001 for 44100Hz - we still calculate the correct CTS value. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8a182c2e4b661ec2a4056c93557258f089f14fe7 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:22 2015 +0100 PCI: mvebu: Use gpio_desc to carry around gpio Use a gpio_desc to carry around the gpio, so we can then make use of the GPIOF_ACTIVE_LOW property rather than carrying that around as well. This also avoids needing to use gpio_is_valid() to check whether we have a GPIO; checking for a non-NULL descriptor is simpler. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit b195fbdbdf5f6712beec09bb9009f99ff9ecd912 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 11:28:16 2015 +0100 drm: bridge/dw_hdmi: remove ratio support from ACR code We never set the ratio for CTS/N calculation for the audio clock regenerator (ACR) to anything but 100, so this adds pointless complexity. Should we support pixel repetition, we should update the CTS/N calculation code to use those parameters or the actual TMDS clock rate instead of a ratio. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 19fdb80091a8f3c09b7293bb299f6eb46c6ae070 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:17 2015 +0100 PCI: mvebu: Use devm_kcalloc() to allocate an array Rather than using devm_kzalloc() and multiplying the element and number, use the provided devm_kcalloc() helper for this. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 4a2eae2359bc79fe7d9e7463ed69ad17034fa00f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:12 2015 +0100 PCI: mvebu: Use gpio_set_value_cansleep() We are in a context where we can sleep, and the PCIe reset gpio may be on an I2C expander. Use the cansleep() variant when setting the GPIO value. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 3884d846a4ed402992ac84e6b79962848ba5f521 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:07 2015 +0100 PCI: mvebu: Split port parsing and resource claiming from port setup Split the PCIe port DT parsing and resource claiming from setting up the actual ports. This allows us to gather all the resources first, before touching the hardware. This is important as some of these resources (such as the GPIO for the PCIe reset) may defer probing. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 37bfa771cda1734454e4304050cfddbcda5f16ed Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:13:02 2015 +0100 PCI: mvebu: Fix memory leaks and refcount leaks The mvebu PCI port parsing is weak due to: 1) allocations via kasprintf() were not cleaned up when we encounter an error or decide to skip the port. 2) kasprintf() wasn't checked for failure. 3) of_get_named_gpio_flags() returns EPROBE_DEFER if the GPIO is not present, not devm_gpio_request_one(). 4) the of_node was not being put when terminating the loop. Fix these oversights. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 426701d0ccc13a2819fd99938ec50a888817e77d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 10:39:27 2015 +0100 drm: bridge/dw_hdmi: adjust pixel clock values in N calculation Adjust the pixel clock values in the N calculation to match the more accurate clock values we're given by the DRM subsystem, which are the kHz pixel rate, with any fractional kHz rounded down in the case of the non-240, non-480 line modes, or rounded up for the others. So, 25.20 / 1.001 => 25175 27.00 * 1.001 => 27027 74.25 / 1.001 => 74176 148.50 / 1.001 => 148352 DRM derives these rates from the EDID CEA mode identifiers, which are looked up in the tables in drivers/gpu/drm/drm_edid.c. The values on the right are the clock values found in these tables, and are currently expected to be passed to the HDMI driver unchanged. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d0c96d168021a60555c692d860334814cc694d8b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 22 10:35:41 2015 +0100 drm: bridge/dw_hdmi: avoid being recursive in N calculation There's no need to be recursive when computing the N value for the ACR packet - we can instead calculate the multiplier prior to our switch() based lookup, and multiply the N value appropriately afterwards. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 91cd69088ecc375d057eb3721bfbcf927e9f2dd2 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Jun 4 10:24:33 2015 +0100 drm: bridge/dw_hdmi-ahb-audio: allow larger buffer sizes With multichannel audio, we need to allow larger buffer sizes to avoid XRUNs during playback. Push the buffer size up to 1024K, but as we maintain two buffers, ensure that the vmalloc buffer does not exceed the userspace buffer size. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9dc515f8dfc8c2b5d4e8355933e6ac71abeb7b1e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Jun 4 10:13:28 2015 +0100 drm: bridge/dw_hdmi-ahb-audio: basic support for multi-channel PCM audio Add basic support for multi-channel PCM audio, with fixed speaker mappings. This has been tested with an AV receiver, and appears to work for low sample rates up to 8 channels. It should be noted that multi-channel mode using the IEC958 alsa-lib conversion plugin requires correct AES channel status for the AV receiver to recognise the stream, especially the sample rate bits. "Not identified" does not work there. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f5ce405722e410a69da4604285ae5e9210011ffe Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Nov 7 16:06:01 2013 +0000 drm: bridge/dw_hdmi-ahb-audio: parse ELD from HDMI driver Parse the ELD (EDID like data) stored from the HDMI driver to restrict the sample rates and channels which are available to ALSA. This causes the ALSA device to reflect the capabilities of the overall audio path, not just what is supported at the HDMI source interface level. Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7ed6c665e19d4c0456d01c01147e82563c482c4d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Nov 7 16:01:45 2013 +0000 drm: bridge/dw_hdmi-ahb-audio: add audio driver Add ALSA based HDMI AHB audio driver for dw_hdmi. The only buffer format supported by the hardware is its own special IEC958 based format, which is not compatible with any ALSA format. To avoid doing too much data manipulation within the driver, we support only ALSAs IEC958 LE and 24-bit PCM formats for 2 to 6 channels, which we convert to its hardware format. A more desirable solution would be to have this conversion in userspace, but ALSA does not appear to allow such transformations outside of libasound itself. Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 49cb1f718360f86075341e35fad57748a5c182f9 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 19:12:57 2015 +0100 PCI: mvebu: Move port parsing and resource claiming to separate function Move the PCIe port parsing and resource claiming to a separate function in preparation to add proper cleanup of claimed resources. Tested-by: Willy Tarreau <w@xxxxxx> (Iomega iConnect Kirkwood, MiraBox Armada 370) Tested-by: Andrew Lunn <andrew@xxxxxxx> (D-Link DIR664 Kirkwood) Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit fd48ca384960c831d4fae4636282e422e140ca7c Merge: 53cbf3b 049e6dd Author: Jens Axboe <axboe@xxxxxx> Date: Fri Oct 9 10:08:39 2015 -0600 Merge tag 'v4.3-rc4' into for-4.4/core Linux 4.3-rc4 Pulling in v4.3-rc4 to avoid conflicts with NVMe fixes that have gone in since for-4.4/core was based. commit 14317946d1da07424dec5d6be3459c393bdf578d Author: Wei Xu <xuwei5@xxxxxxxxxxxxx> Date: Fri Sep 25 18:22:35 2015 +0100 ARM: hisilicon: DT: Drop console= and earlyprintk bootargs parameter Replace console with stdout-path so that we don't have to put the console on the kernel command line. Remove earlyprintk to allow the kernel to boot on a system even if DEBUG_LL is configured for another system. Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit a78afccbbaa6d2df49768cabad8af28a0a84181d Merge: 348a65c f1e0bb0 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Oct 9 16:47:34 2015 +0100 Merge branch 'irq/for-arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip * 'irq/for-arm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq: Introduce generic irq migration for cpu hotunplug commit 02ab7a3852eeb5b7429ad1edcb6afe3852cd38c3 Merge: 72affde 63f37dd Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 17:23:33 2015 +0200 Merge tag 'arm-soc/for-4.4/maintainers' of http://github.com/Broadcom/stblinux into next/fixes-non-critical Merge "Broadcom maintainers changes for v4.4" from Florian Fainelli: This pull request contains the following changes to the MAINTAINERS file: - Jon Mason lists the NorthStar Plus SoC under the existing Cygnus/iProc section, and by doing so, slightly rephrases the title to make it clear that it spans many more chips now * tag 'arm-soc/for-4.4/maintainers' of http://github.com/Broadcom/stblinux: MAINTAINERS: add entry for the Broadcom Northstar Plus SoCs commit e8973a889e69cb86cac08bec2863c878c0d27af9 Author: Sarbojit Ganguly <ganguly.s@xxxxxxxxxxx> Date: Fri Oct 9 12:10:02 2015 +0100 ARM: 8443/1: Adding support for atomic half word exchange Since support for half-word atomic exchange was not there and Qspinlock on ARM requires it, modified __xchg() to add support for that as well. ARMv6 and lower does not support ldrex{b,h} so, added a guard code to prevent build breaks. Signed-off-by: Sarbojit Ganguly <ganguly.s@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e1b8c05dccc7d3de8c49c92c41b2b5ac7d8275b2 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 16:18:09 2015 +0100 ARM: clean up TWD after previous patch Rename feat_c3stop to twd_features to match the other variables in this file. Initialise it with the standard features that we always support, and arrange to set the CLOCK_EVT_FEAT_C3STOP when appropriate. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 194444c52edd857210b3895e83ce45c64b58e251 Author: Marc Gonzalez <marc_gonzalez@xxxxxxxxxxxxxxxx> Date: Fri Oct 9 10:20:47 2015 +0100 ARM: 8441/2: twd: Don't set CLOCK_EVT_FEAT_C3STOP unconditionally In 5388a6b266 ("ARM: SMP: Always enable clock event broadcast support") Russell noted that "the TWD local timers are unable to wake up the CPU when it is placed into a low power mode". However, some platforms do not stop the TWD block in low-power mode, and can thus use the TWD timer in one-shot mode, without setting up a broadcast device. Make the driver check for the "always-on" boolean property, and set the CLOCK_EVT_FEAT_C3STOP flag accordingly. Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Marc Gonzalez <marc_gonzalez@xxxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ff5138f3af4ed61ed42e00d7d771a0502460488f Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Tue Oct 6 16:40:53 2015 +0100 ARM: 8440/1: remove obsolete documentation The Victor target has been removed from mainline long ago. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d749d94b4c96b28425481104f7b65edc44167c57 Merge: d27199c eef228e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 17:15:21 2015 +0200 Merge tag 'arm-soc/for-4.4/devicetree' of http://github.com/Broadcom/stblinux into next/dt Merge "Broadcom devicetree changes for v4.4" from Florian Fainelli: This pull requests contains the following Broadcom SoCs Device Tree changes: - Brian Norris documents the BCM7445 SoCs Power Management controllers and hardware and updates the reference BCM7445 Device Tree with these nodes - Florian Fainelli documents the BCM7xxx write-pairing feature in the top-level BCM7xxx binding document - Hauke Merthens enables the NAND controller for the Asus RT-AC87U and adds the GPIO pin controlling the USB power supply on Netgear R6250 - Jon Mason adds support for the NorthStar Plus SoC by providing a top-level binding document and the minimalist device tree skeleton for these SoCs - Rafal Milecki adds support for the Netgear R7000 (BCM5301x SoC) - Ray Jui provides a set of Cygnus DT changes that make the Device Tree clearer and more correct with respect to how the hardware is designed. He also enables the NAND controller on the bcm911360_entphn design, enables a bunch of peripherals on the bcm958305k evaluation board, and adds a skeleton .dtsi file for the touchscreen extansion board(s) * tag 'arm-soc/for-4.4/devicetree' of http://github.com/Broadcom/stblinux: ARM: dts: move aliases back to .dts in Cygnus ARM: dts: fix Cygnus nand device node ARM: dts: enable touchscreen support on Cygnus ARM: dts: Enable NAND support on bcm911360_entphn ARM: dts: Enable various peripherals on bcm958305k ARM: dts: Reorder Cygnus peripherals ARM: dts: Move all Cygnus peripherals into axi bus ARM: dts: Put Cygnus core components under core bus ARM: dts: Use label for device nodes in Cygnus dts ARM: dts: consolidate aliases for Cygnus dt files ARM: BCM5301X: Netgear R6250 add USB GPIO Documentation: bindings: brcmstb: Document write-pairing ARM: dts: brcmstb: add BCM7445 system PM DT nodes Documentation: dt: brcmstb: add system PM bindings ARM: BCM5301X: add NAND flash chip description for Asus RT-AC87U ARM: BCM5301X: Add DT for Netgear R7000 ARM: NSP: add minimal Northstar Plus device tree dt-bindings: Create Documentation for NSP DT bindings commit f14b3692c27f668bbd41586e6039810a8a403983 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Thu Oct 8 15:37:08 2015 -0500 arm64: defconfig: Enable devices for MSM8916 This patch enables a number of devices currently supported by the MSM8916 boards. These include I2C, SPI, DMA, SMEM, SMD, and SMD regulator support. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d27199cb033c21988a32ab17dd417c6b4db70a19 Merge: a3e2ed4 b63af76 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 17:10:27 2015 +0200 Merge tag 'v4.4-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Merge "Rockchip dts32 changes for 4.4" from Heiko Stuebner: DTS changes including one new Veyron-board and the Radxa Rock2 system-on-module as well as the square baseboard. On top of that a lot of mmc-related changes to improve speeds on the Cortex-A9 socs and also setting up the supplies for rk3288 mmc-controllers for the following mmc-tuning support. And of course the dts-part of the rk3288 power-domains. * tag 'v4.4-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add the support power-domain node on RK3288 SoCs ARM: dts: rockchip: add rk3288-firefly iodomains ARM: dts: rockchip: fixup firefly mmc supplies ARM: dts: rockchip: add rk3288-popmetal iodomains ARM: dts: rockchip: add rk3288-popmetal mmc supplies ARM: dts: rockchip: add rk3288-popmetal board to dtb list ARM: dts: rockchip: Add dtb for the Radxa Rock 2 Square board ARM: dts: rockchip: support highspeed sd-cards on rk3066a boards ARM: dts: rockchip: support highspeed sd-cards for rk3188-radxarock ARM: dts: rockchip: Add the hdmi-ddc pinctrl settings for rk3288 ARM: dts: rockchip: Remove specific cts pullup from veyron ARM: dts: rockchip: pull up cts lines on rk3288 ARM: dts: rockchip: add veyron-jaq board ARM: dts: rockchip: Add support for SD/MMC on MarsBoard-RK3066 dt-bindings: add power-domain header for RK3288 SoCs commit 273395f0c2973b96a35772f8aa3b65c25517a45d Merge: f3c65c2 7c69669 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 9 17:08:28 2015 +0200 Merge tag 'v4.4-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/drivers Merge "Rockchip power-domain drivers for 4.4" from Heiko Stuebner: Add the power-domain base-driver which currently contains support for the rk3288 powerdomain layout but can be easily extended for the socs (including arm64) later on. A big thanks to Ceasar Wang for pulling through on this during 18 revisions. Also included is a fix to the pm-clock handling in the generic powerdomains to adapt it to the per-user clock handling we now do, Acked by Rafael Wysocki. * tag 'v4.4-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: soc: rockchip: power-domain: Add power domain driver dt-bindings: add document of Rockchip power domains PM / clk: Do not __clk_get passed in clock-references dt-bindings: add power-domain header for RK3288 SoCs commit 9b24a35cb59888194706825b9c5ac550b0880277 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:09:01 2015 +0200 ARM: mvebu: modify Orion and Kirkwoord crypto compatible strings Explicitly use the SoC specific compatible strings in kirkwood.dtsi and dove.dtsi, so that the crypto devices have access to the TDMA feature when attached to the new CESA driver. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit eb69e001983d16f5897ad0b0c8e15d06eecab01d Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:09:00 2015 +0200 ARM: mvebu: use new bindings for existing crypto devices The new bindings split the crypto and sram node in two separate devices. Modify the existing crypto nodes to match the new representation. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit d716f2e837ac6cdf3244130ca3abc1e560048941 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:59 2015 +0200 ARM: mvebu: define crypto SRAM ranges for all armada-38x boards Define the crypto SRAM ranges so that the resources referenced by the sa-sram node can be properly extracted from the DT. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 35c99ec93245f94022fdcc226826bb2f89e961d9 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:58 2015 +0200 ARM: mvebu: add crypto related nodes to armada 38x dtsi Add crypto related nodes in armada-38x.dtsi. [gregory.clement@xxxxxxxxxxxxxxxxxx: Fix typo for compatible string armada38x instead of armada375] Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit d49ae37c613f7cc1f4c1fd6ef073d60c32e000dd Merge: 4d886d6 b3c8ec3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 9 07:52:35 2015 -0700 Merge branch 'net-non-modular' Paul Gortmaker says: ==================== make non-modular code explicitly non-modular [v2: drop m68k patches that Geert converted to modules; add one ARM driver patch ; update net-next baseline to today; switch to ARM for build testing.] In a previous merge window, we made changes to allow better delineation between modular and non-modular code in commit 0fd972a7d91d6e15393c449492a04d94c0b89351 ("module: relocate module_init from init.h to module.h"). This allows us to now ensure module code looks modular and non-modular code does not accidentally look modular just to avoid suffering build breakage. Here we target code that is, by nature of their Makefile and/or Kconfig settings, only available to be built-in, but implicitly presenting itself as being possibly modular by way of using modular headers, macros, and functions. The goal here is to remove that illusion of modularity from these files, but in a way that leaves the actual runtime unchanged. In doing so, we remove code that has never been tested and adds no value to the tree. And we continue the process of expecting a level of consistency between the Kconfig/Makefile of code and the code in use itself. Fortuntately the net subsystem has relatively few instances, given the overall amount of code and drivers it contains. For comparison there are over 300 instances tree wide, resulting in a possible net removal of on the order of 5000 lines of unused code. Build tested on net-next from today, on ARM, since that is the arch where the one ethernet driver changed here is available. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3c8ec35a93d61fde15eefde2d54ecf2f5950f68 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Oct 7 17:27:46 2015 -0400 drivers/net/ethernet: make ti/cpsw-phy-sel.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/net/ethernet/ti/Kconfig:config TI_CPSW_PHY_SEL drivers/net/ethernet/ti/Kconfig: bool "TI CPSW Switch Phy sel Support" ...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_platform_driver() uses the same init level priority as builtin_platform_driver() the init ordering remains unchanged with this commit. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code. We also delete the MODULE_LICENSE tag etc. since all that information was (or is now) contained at the top of the file in the comments. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Varka Bhadram <varkabhadram@xxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 075640e364f3b46311766f0eff28bd3695637e16 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Oct 7 17:27:45 2015 -0400 net/sched: make sch_blackhole.c explicitly non-modular The Kconfig currently controlling compilation of this code is: net/sched/Kconfig:menuconfig NET_SCHED net/sched/Kconfig: bool "QoS and/or fair queueing" ...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 can change to one of the other priority initcalls (subsys?) at any later date, if desired. We also delete the MODULE_LICENSE tag since all that information is already contained at the top of the file in the comments. Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36b9ad8084bd7ecf6d2241beca23e71f5f4b0cf1 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Oct 7 17:27:44 2015 -0400 net/dcb: make dcbnl.c explicitly non-modular The Kconfig currently controlling compilation of this code is: net/dcb/Kconfig:config DCB net/dcb/Kconfig: bool "Data Center Bridging 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 can change to one of the other priority initcalls (subsys?) at any later date, if desired. We also delete the MODULE_LICENSE tag etc. since all that information is (or is now) already contained at the top of the file in the comments. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Cc: Anish Bhatt <anish@xxxxxxxxxxx> Cc: John Fastabend <john.r.fastabend@xxxxxxxxx> Cc: Shani Michaeli <shanim@xxxxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6191aeeec1045decb5964e6b5e8c314f5982c85 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Oct 7 17:27:43 2015 -0400 net/core: make sock_diag.c explicitly non-modular The Makefile currently controlling compilation of this code lists it under "obj-y" ...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 can change to one of the other priority initcalls (subsys?) at any later date, if desired. We can't remove module.h since the file uses other module related stuff even though it is not modular itself. We move the information from the MODULE_LICENSE tag to the top of the file, since that information is not captured anywhere else. The MODULE_ALIAS_NET_PF_PROTO becomes a no-op in the non modular case, so it is removed. Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Craig Gallek <kraig@xxxxxxxxxx> Cc: netdev@xxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d886d65ed89f2572727c354162341a4c106a963 Merge: 8cec75b 0cbf334 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 9 07:49:08 2015 -0700 Merge branch 'net-bool' Yaowei Bai says: ==================== net: small improvement This patchset makes several functions in net return bool to improve readability and/or simplicity because these functions only use one or zero as their return value. No functional changes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0cbf334376d5e82d7a2f5cd234ca4f5d0843f3ea Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:29:02 2015 +0800 net/core: lockdep_rtnl_is_held can be boolean This patch makes lockdep_rtnl_is_held return bool due to this particular function only using either one or zero as its return value. In another patch lockdep_is_held is also made return bool. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f06cc7b284f3dfb2c5decbf9fde711b50a530050 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:29:01 2015 +0800 net/inetdevice: bad_mask can be boolean This patch makes bad_mask return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3225164cf60ccecce2459dcb5813dd798233f2d Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:29:00 2015 +0800 net/inetdevice: inet_ifa_match can be boolean This patch makes inet_ifa_match return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45ae74f56162e7a017c3a4e130cf1bcd8d2d17cc Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:59 2015 +0800 net/dccp: dccp_bad_service_code can be boolean This patch makes dccp_bad_service_code return bool due to these particular functions only using either one or zero as their return value. dccp_list_has_service is also been made return bool in this patchset. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c6119d99bf5df9403a688d267537284e9cc8bcb Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:58 2015 +0800 net/dccp: dccp_list_has_service can be boolean This patch makes dccp_list_has_service return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6fbaea5f635216c9861587c4e658086cf3b1b6b Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:57 2015 +0800 net/can: can_dropped_invalid_skb can be boolean This patch makes can_dropped_invalid_skb return bool due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 875e08294911b3cb8c60416d64d990809421de29 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:56 2015 +0800 net/nfnetlink: lockdep_nfnl_is_held can be boolean This patch makes lockdep_nfnl_is_held return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35498edc6481d588feadee7e76220884d5bbca48 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:55 2015 +0800 net/ieee80211: ieee80211_is_* can be boolean This patch makes ieee80211_is_* return bool to improve readability due to these particular functions only using either one or zero as their return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61d03535e4be3a46c1e171a25458237e343195e3 Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Thu Oct 8 21:28:54 2015 +0800 net/netlink: lockdep_genl_is_held can be boolean This patch makes lockdep_genl_is_held return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8cec75bd85cc26f81e85eb20e863cc564d354113 Merge: 1c43f75 95e1963 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 9 07:28:38 2015 -0700 Merge branch 'mlx-next' Or Gerlitz says: ============================== Mellanox driver update for net-next Some small fixes and small enhancements from the team. Series applies over net-next commit acb4a6b "tcp: ensure prior synack rtx behavior with small backlogs". ============================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95e196337a3bd1a1678e794064d8097600c277de Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Thu Oct 8 17:14:03 2015 +0300 net/mlx4_core: Fix resource tracker error flow in add_res_range The 'for' loop when undoing rb-tree insertions and list-adds in the error flow in add_res_range had errors, fix them. Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5b3c56ef792009f6aff54ba93bd86ceca3e5bfc Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 17:14:02 2015 +0300 net/mlx4_core: Fix mailbox leak in error flow when performing update qp The procedure mlx4_update_qp leaks mailboxes in its error-flow, fix that. Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba4b87aedd7123df4e4cfd1ca4dcfe8a6d756511 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Oct 8 17:14:01 2015 +0300 net/mlx4_en: Add steering rules after RSS creation Changed the receive control flow in a way that steering rules are added only when the RSS object is already in RTR/RTS mode. Some optimization features, which are enabled by the device firmware, require this condition in order to be effective. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac6ea6e81a80172612e0c9ef93720f371b198918 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 8 17:14:00 2015 +0300 net/mlx5_core: Use private health thread for each device Use a single threaded work queue for each device in the system instead of using one thread for any device. This is required so we can concurrently process system error handling for all the devices that need that. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0144a95e2ad53a40c62148f44fb0c1f9d2a0d1e9 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 8 17:13:59 2015 +0300 net/mlx5_core: Use accessor functions to read from device memory Use ioread function to read health buffer data. In addition, print the firmware version as a string for readability and also use dev_err to have the device string to be printed. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 020446e01eebc9dbe7eda038e570ab9c7ab13586 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 8 17:13:58 2015 +0300 net/mlx5_core: Prepare cmd interface to system errors handling In preparation to handling system errors at the mlx5_core level, change the interface of cmd_work_handler to accept a 64 bit argument for the vector. This allows to encode a flag that signifies when the handler is called as a result of a driver logic that wishes to terminate commands that the hardware may not be able to terminate. Such command completions are detected at the handler and proper return status is encoded. To be able to terminate page handler commands, we make sure to set the corresponding bit in the bitmask. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a7883989b1c57513bb4067ca4b42c96d449d1a5 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 8 17:13:57 2015 +0300 net/mlx5_core: Improve mlx5 messages Improve the messages printed by the mlx5 macros to include the device string. In addition, prefix names used by the macros with two underscores to avoid possible name collisions. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c43f75ad436bbcb4a2526551005f62985dca3ca Merge: df71842 ce6fcb3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 9 07:05:49 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-10-08 This series contains updates to i40e and i40evf only (again). Jesse fixes an issue where the driver was issuing a WARN_ON during ring size changes because the code was cloning the rx_ring struct but not zeroing out the pointers before allocating new memory, so simply zero out the pointers. Also reduced the function call overhead by moving the interrupt enable function by moving it to the header file, which it in turn allows us to inline it. Also does a thorough job of code cleanup to fix spaces after declarations, remove unnecessary braces and breaks, remove another __func__ use and general code tidiness. Mitch adds mover verbose error messages when the number of supported VFs is reported in driver init and it different from the number reported in config space. Updated the VF driver to now detect a reset with the VF_ARQLEN register since the enable bit is cleared when the VF is reset and it stays cleared until the VF driver processes the reset and re-enables the admin queue which is more reliable than using the VFGEN_RSTAT as previously. Neerav adds parsing for CEE DCBx TLVs from the LLDP MIB since there is a need to get the CEE DesiredCfg Tx by firmware and DCB configuration Rx from peer for debug and other application purposes. Carolyn fixes a problem where the PF's Flow Director filter table would have an entry that the hardware was unable to add, when this occurs an invalid entry gets replayed and a valid one is lost. Matt fixes an issue where multiple link up messages can be logged resulting from admin queue link status timing when link properties are changed. Shannon adds the ability to control the period link polling through ethtool to be able to switch it off and on for debugging link issues. Serey explicitly assigns the enum index for each VSI type so that the PF and VF always reference to the same VSI type event if the enum lists are different. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55ad769fde922982533d538bdef37c90a0d82e90 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 27 14:02:33 2015 +0530 Documentation/features/vm: pte_special now supported by ARC Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 24830fc782a3a740209d39cb27abbf5a9763f61f Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Feb 16 19:01:29 2015 +0530 ARC: mm: Introduce PTE_SPECIAL Needed for THP, but will also come in handy for fast GUP later Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 129cbed54a8b3f80f0eaf49acb14fe835587f6f3 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Dec 5 12:05:05 2013 +0530 ARC: mm: pte flags comsetic cleanups, comments No semantical changes Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e8a75963a4b9433dca55286e222f4dd1cc1ca76c Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Aug 28 08:39:57 2015 +0530 ARC: mm: switch pgtable_to to pte_t * ARC is the only arch with unsigned long type (vs. struct page *). Historically this was done to avoid the page_address() calls in various arch hooks which need to get the virtual/logical address of the table. Some arches alternately define it as pte_t *, and is as efficient as unsigned long (generated code doesn't change) Suggested-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 92944c4520edd35a060cfbdaa7431d4e3c3ebd56 Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:28:01 2015 -0400 USB: qcserial: update comment for Sierra Wireless MC7304/MC7354 This comment is ambiguous since there are other MC73xx devices with different USB IDs. This USB ID is found in the MC7304 and MC7354. Cc: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit fbbf9fd2f1b8b4490ff777df2af5543608dde6f1 Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:28:00 2015 -0400 Revert "USB: qcserial/option: make AT URCs work for Sierra Wireless MC73xx" This reverts commit d80c0d14183516f184a5ac88e11008ee4c7d2a2e (excluding the change to MAX_BL_NUM, which has since been removed). The qcserial driver now enables the SET_CONTROL_LINE_STATE request so that AT URCs will work. Move these devices back to the qcserial driver, which is used for other devices in this series that follow the same layout. Cc: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 3d07984b4fe76000f5210630c19ab34aa9d3c5a4 Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:27:59 2015 -0400 Revert "USB: qcserial/option: make AT URCs work for Sierra Wireless MC7305/MC7355" This reverts commit 653cdc13a340ad1cef29f1bab0d05d0771fa1d57. The qcserial driver now enables the SET_CONTROL_LINE_STATE request so that AT URCs will work. Move these devices back to the qcserial driver, which is used for other devices in this series that follow the same layout. Cc: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit efd3e9151fea1b1140d39dc58ec7099a07f0bdff Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:27:58 2015 -0400 USB: qcserial: make AT URCs work for Sierra Wireless devices Three Sierra Wireless modems have been found to require the CDC ACM SET_CONTROL_LINE_STATE request on the AT port in order to receive unsolicited response codes, most recently the Dell Wireless 5808e (which is a re-branded Sierra Wireless EM7355). On the other hand, the Sierra Wireless MC7710 does not seem to need this request, but it was found to work either way. Use this request on the AT port of devices with the Sierra Wireless layout in the qcserial driver. The other modems that were moved to the option driver to work around this can now be moved back. Cc: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 669e729f9fb4e05ff02dfa01cbb8606549c6cb7c Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:27:57 2015 -0400 USB: usb_wwan/option: generalize option_send_setup for other drivers Only the option driver implements the send_setup callback; it uses the SET_CONTROL_LINE_STATE request in CDC ACM to generate DTR/RTS signals on the port. This is not driver-specific though and is needed by other drivers, so move the function to the usb_wwan driver (with formatting tweaks), and replace the callback pointer with a flag that enables the request. Suggested-by: Bjørn Mork <bjorn@xxxxxxx> Suggested-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit bd8869e86b8a1e5e5b29fad766b2676bb74e5395 Author: David Ward <david.ward@xxxxxxxxxx> Date: Wed Sep 16 12:27:56 2015 -0400 USB: option: revert introduction of struct option_private This is a partial, context modified revert of commit e463c6dda8f5 ("USB: option: handle send_setup blacklisting at probe"), which introduced an unnecessary struct option_private for storing the interface number used in option_send_setup. Removing this struct will allow option_send_setup to be generalized for other drivers. Suggested-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: David Ward <david.ward@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 8d23766b34e206d5f9544d9d638e56d827abbcd4 Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:13:03 2015 -0500 USB: io_ti: Remove extra blank lines separating functions Remove extra blank lines in the several places where functions were separated by more than one. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 75899513b9e163c5c7b036652622b2331a7b6ba7 Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:13:02 2015 -0500 USB: io_ti: Fix non-standard comment formatting Fix non-standard formatting in some of the comments. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> [johan: minor fixes ] Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 01bb84b5001e4a6221582b163b34e90b3095f451 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Oct 9 09:01:51 2015 +0100 ASoC: Intel: Skylake: power down all link in suspend This ensures that the link is not requesting any clock and the PLL can turn off. The link is powered when controller is brought out of reset. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 84c9e2836aa7c87b19a24de091c7e7cf16124645 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Oct 9 09:01:50 2015 +0100 ASoC: Intel: Skylake: Correct the runtime handler behaviour On runtime pm resume, we need to download the firmware, also on suspend we need to ensure all the interrupts from controller and DSP are disabled. Also since we download the firmware on resume, we don't need to do so on init, so remove that bit Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit def656fe22abb4fbf174a982dcef1d40274ddb11 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Oct 9 09:01:49 2015 +0100 ASoC: Intel: Skylake: Verify the status bit before handling interrupt Like we have in legacy mode HDA driver, we need to check the status bit and handle interrupt only when it is not zero or all bits set. We typically see the status as all 1's when controller resumes from suspend, So add the check here as well and don't handle for these cases. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6ea8ba33e65d3d284de7e7373939352e2c728f10 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Fri Oct 9 09:01:48 2015 +0100 ASoC: Intel: Skylake: Check CPA bit in DSP core power down Skylake driver will set the SPA bit to 0 to turn off the DSP core. Driver will poll the Current Power Active (CPA) bit to match the Set Power Active (SPA) bit value. When CPA bit matches the value of SPA bit, the achieved power state has reached. In case of DSP power down, register that was polled is SPA instead of CPA. This patch corrects the register to be polled in case of DSP power down. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b41461624a93d45293a8d4bd6fdf839703f754f4 Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:13:01 2015 -0500 USB: io_ti: Move request_firmware from edge_startup to download_fw Move request_firmware from edge_startup to download_fw. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 68acc77a2d5197141ba376fd8872eccb43bfcd7d Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Wed Jun 24 19:03:16 2015 +0100 hwmon: Support thermal zones registration for SCP temperature sensors Add support to create thermal zones based on the temperature sensors provided by the SCP. The thermal zones can be defined using the thermal DT bindings and should refer to the SCP sensor id to select the sensor. Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> commit ea98b29a05e9c70dbe159cbc6254d111059a2bb9 Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Thu May 21 15:08:45 2015 +0100 hwmon: Support sensors exported via ARM SCP interface Create a driver to add support for SoC sensors exported by the System Control Processor (SCP) via the System Control and Power Interface (SCPI). The supported sensor types is one of voltage, temperature, current, and power. The sensor labels and values provided by the SCP are exported via the hwmon sysfs interface. Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> commit 38a1bdc9ff9f6c8cfad228eac5c1ce31ce038b25 Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Fri Jun 19 15:31:46 2015 +0100 firmware: arm_scpi: Extend to support sensors ARM System Control Processor (SCP) provides an API to query and use the sensors available in the system. Extend the SCPI driver to support sensor messages. Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> commit bebf1f185c216308367aee98f8b986be104c286b Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:13:00 2015 -0500 USB: io_ti: Move download and boot mode code out of download_fw Separate the download and boot mode code from download_fw() into two new helper functions: do_download_mode() and do_boot_mode(). Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit ef9324b2bd2bb879a5512cfb9210d86e8ed6093f Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:12:59 2015 -0500 USB: io_ti: Use serial->interface for messages in download_fw Use serial->interface instead of serial->dev for messages in download_fw(). Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 277bf37bff1b470ebf33da25f8977e08e4a2193e Author: Peter E. Berger <pberger@xxxxxxxxxxx> Date: Wed Sep 16 03:12:58 2015 -0500 USB: io_ti: Remove obsolete dev parameter from build_i2c_fw_hdr Remove unused "dev" parameter from build_i2c_fw_hdr() and its caller. Signed-off-by: Peter E. Berger <pberger@xxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit d8a44fe7b51d250c5b7a6ff85eb652f1f49f496a Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Thu Jul 2 19:30:01 2015 +0100 Documentation: add DT bindings for ARM SCPI sensors The System Control Processor (SCP) provides access to SoC sensors via the System Control and Power Interface (SCPI) Message Protocol. Add bindings to allow probing of these sensors. Also support referencing of the sensors for setting up thermal zones via the thermal DT bindings. Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> commit dfacaf0e7cbe9f845459f3332f94cdbc368932af Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Tue Sep 15 17:51:01 2015 +0100 arm64: dts: Add sensor node to Juno dt The SCP firmware on Juno provides access to SoC sensors via the SCPI. Add the sensor nodes to the device tree to enable this support. Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Liviu Dudau <liviu.dudau@xxxxxxx> commit a738459888b361c10b585629b84b0d0e6e7cbb27 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jun 3 14:40:56 2015 +0100 arm64: dts: add clock support for all the cpus This patch adds the CPU clocks so that the CPU DVFS can be enabled. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> commit 050c69e8769b00645d6723390de6092c9dfcf746 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jun 3 14:31:49 2015 +0100 arm64: dts: add CPU topology on Juno This patch adds CPU topology on Juno. It will be useful for ther other IP blocks depending on this topology. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> commit ff9a6262b9b87204146427a3abefc73ab990c21f Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Wed Jun 3 14:18:21 2015 +0100 arm64: dts: add SRAM, MHU mailbox and SCPI support on Juno This patch adds support for the MHU mailbox peripheral used on Juno by application processors to communicate with remote SCP handling most of the CPU/system power management. It also adds the SRAM reserving the shared memory and SCPI message protocol using that shared memory. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> commit bffb7db279abe86949dabc7e63b6c2500f472a92 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Oct 5 20:46:12 2015 +0800 ath6kl: drop unlikely behind WARN_ON() WARN_ON() already contain an unlikely compiler flag. Drop it. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 706452b06866f950febb91e582c1d06c03ca85ee Author: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Date: Tue Sep 29 12:29:49 2015 +0200 ath: fix DFS timestamp wraparound reset condition The DFS pattern detector ought to reset the detector lines when a pulse is added with lower time stamp than the previous (which indicates a TSF restart). This did not work so far and is fixed with this patch. The modification does not change detection performance within the driver, since it only ensures early reset (which is later performed by the PRI detectors anyway). It is relevant for synthetic tests and statistical evaluations, where millions of pulse patterns are processed and an early reset helps reducing load. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 101d1f7fbf7dbb881f808c0fdc23124051ac5da6 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Mon Sep 7 14:49:05 2015 +0100 ath6kl: remove redundant null pointer check on send_pkt The check for send_pkt being NULL is redundant before the call to htc_reclaim_txctrl_buf, therefore it should be removed. This was detected by static analysis by cppcheck. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 261a27d11fa1dec47c47ece6968eaaba55861eca Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Oct 8 15:28:25 2015 -0700 drm/i915: Partial revert of atomic watermark series It's been reported that the atomic watermark series triggers some regressions on SKL, which we haven't been able to track down yet. Let's temporarily revert these patches while we track down the root cause. This commit squashes the reverts of: 76305b1 drm/i915: Calculate watermark configuration during atomic check (v2) a4611e4 drm/i915: Don't set plane visible during HW readout if CRTC is off a28170f drm/i915: Calculate ILK-style watermarks during atomic check (v3) de4a9f8 drm/i915: Calculate pipe watermarks into CRTC state (v3) de165e0 drm/i915: Refactor ilk_update_wm (v3) Reference: http://lists.freedesktop.org/archives/intel-gfx/2015-October/077190.html Cc: "Zanoni, Paulo R" <paulo.r.zanoni@xxxxxxxxx> Cc: "Vetter, Daniel" <daniel.vetter@xxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f13e0630826f961732f3192282a6c249bb6208c1 Author: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:27 2015 +0300 wil6210: Do no schedule firmware recovery during reset flow During reset flow, ignore firmware errors detected prior to the actual hardware reset as the recovery flow would make additional unnecessary reset. Signed-off-by: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7dc47258a00d026ba1268133687b3b1940e36e58 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:26 2015 +0300 wil6210: dump firmware memory when firmware crashes When firmware crashes, just before firmware recovery, dump the firmware memory to a devcoredump device. The resulting dump can be read from user space to be used in offline crash analysis. Signed-off-by: Lior David <liord@xxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a3dcbae2476f2c32e8f123dd833d789f7f494711 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:25 2015 +0300 wil6210: ratelimit Tx error message Situations observed when IP stack schedules lots of frames for Tx while no connection (connection lost, for example). In this case, dmesg bloated with error message "FW not connected", printed for every frame. Ratelimit this error message to avoid dmesg pollution. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 4765332df9222b9172ce2e5172f1e8e8ffc6d554 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:24 2015 +0300 wil6210: capture all frames in sniffer mode For the sniffer (monitor) mode, capture either control only or both control and data PHY. It used to be control only or data only PHY due to firmware issues with configuration for PHY auto-detection; but now it is resolved. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a8313341c4a83d5da18aad07501119da649d58dc Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:23 2015 +0300 wil6210: support BAR (BlockAck Req) BAR frames delivered to the host via Rx path; whole BAR frame get delivered. Advance sequence in the reorder buffer and release old frames, as per IEEE802.11 spec. Firmware will reply to BAR, driver responsibility is only reorder buffer management. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 68682b4108f1254a34e40f516f9ab1f49b4754fc Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:22 2015 +0300 wil6210: treat broadcast bssid as "disconnect all" Hostapd request disconnect for broadcast bssid when it wants to disconnect all stations from the AP. Detect this and really disconnect all connected stations. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6cc6c468381e369e6450257645cf65c67f9f4a1b Author: Vladimir Shulman <QCA_shulmanv@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:21 2015 +0300 wil6210: pmc logger bug fix When allocating pmc descriptor, the structure is initially created on stack and later copied to the physical ring (device) memory. The descriptor structure must be initialized to zero to avoid garbage configuration, which may result in pmc mechanism malfunctioning. Signed-off-by: Vladimir Shulman <QCA_shulmanv@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bf2f67343eedc276b8441f91d8daaef4f3ed11d0 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:20 2015 +0300 wil6210: log firmware crash information Print firmware and ucode assert codes when firmware crashed. Signed-off-by: Lior David <liord@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3b282bc6095f77908cb83427d93f0764e8419fdb Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:19 2015 +0300 wil6210: Add proper handling for invalid frames on Rx On Rx, when invalid frame is received and dropped, reaping of next frames from Rx ring is stopped. This stops NAPI polling and re-enables the Rx interrupt. However, in cases where no more frames received, interrupt will not be triggered and rest of Rx frames will not be processed. Skip bad frames and continue to reap Rx packets when such frames are encountered, and add statistics for such frames for debug. Signed-off-by: Hamad Kadmany <qca_hkadmany@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5a813da0068dbe46b77897c955b4059c7ffee4d8 Author: Vladimir Kondratiev <QCA_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Oct 4 10:23:18 2015 +0300 wil6210: fix warning in system power management code Fix compilation warning where CONFIG_PM defined while CONFIG_PM_SLEEP is not defined Report follows: tree: git://github.com/kvalo/ath pending head: 941145fc5e5afbb120271e5dfaf37213ddb55807 commit: df596be39294d9712e5d568063a48448031e0a9f [37/39] wil6210: system power management config: xtensa-allyesconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout df596be39294d9712e5d568063a48448031e0a9f # save the attached .config to linux build tree make.cross ARCH=xtensa All warnings (new ones prefixed by >>): >> drivers/net/wireless/ath/wil6210/pcie_bus.c:264:12: warning: 'wil6210_suspend' defined but not used [-Wunused-function] static int wil6210_suspend(struct device *dev, bool is_runtime) ^ >> drivers/net/wireless/ath/wil6210/pcie_bus.c:291:12: warning: 'wil6210_resume' defined but not used [-Wunused-function] static int wil6210_resume(struct device *dev, bool is_runtime) ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 72f8cef5d1155209561b01e092ce1a04ad50c4cb Author: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Date: Tue Oct 6 15:19:34 2015 +0300 ath10k: use station's current operating mode from assoc request The current number of spatial streams used by the client is advertised as a separate IE in assoc request. Use this information to set the NSS operating mode. Fixes: 45c9abc059fa ("ath10k: implement more versatile set_bitrate_mask"). Signed-off-by: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit ab4e3db043589204041c00272f751d05b4e52c50 Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Tue Oct 6 15:19:33 2015 +0300 ath10k: optimize ce_lock on post rx buffer processing After processing received packets from copy engine, host will allocate new buffer and queue them back to copy engine ring for further packet reception. On post rx processing path, skb allocation and dma mapping are unnecessarily handled within ce_lock. This is affecting peak throughput and also causing more CPU consumption. Optimize this by acquiring ce_lock only when accessing copy engine ring and moving skb allocation out of ce_lock. In AP148 platform with QCA99x0 in conducted environment, UDP uplink peak throughput is improved from ~1320 Mbps to ~1450 Mbps and TCP uplink peak throughput is increased from ~1240 Mbps (70% host CPU load) to ~1300 Mbps (71% CPU load). Similarly ~40Mbps improvement is observed in downlink path. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 39b91b8144e028cbe383548f76c1f8cdb7977532 Author: Maharaja Kennadyrajan <c_mkenna@xxxxxxxxxxxxxxxx> Date: Tue Oct 6 15:19:28 2015 +0300 ath10k: increase pci wakeup timeout to 30 ms It is noticed that pci wakeup time is exceeding current timeout (10ms) randomly which is tested on QCA988x. So, the wake up time is increased to 30 ms and added debug prints to log total timeout. Signed-off-by: Maharaja Kennadyrajan <c_mkenna@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 381e8ae377d9f0708a5073cb6ee2fa24ef303623 Author: Tomas Elf <tomas.elf@xxxxxxxxx> Date: Thu Oct 8 19:31:33 2015 +0100 drm/i915: Early exit from semaphore_waits_for for execlist mode. When submitting semaphores in execlist mode the hang checker crashes in this function because it is only runnable in ring submission mode. The reason this is of particular interest to the TDR patch series is because we use semaphores as a mean to induce hangs during testing (which is the recommended way to induce hangs for gen8+). It's not clear how this is supposed to work in execlist mode since: 1. This function requires a ring buffer. 2. Retrieving a ring buffer in execlist mode requires us to retrieve the corresponding context, which we get from a request. 3. Retieving a request from the hang checker is not straight-forward since that requires us to grab the struct_mutex in order to synchronize against the request retirement thread. 4. Grabbing the struct_mutex from the hang checker is nothing that we will do since that puts us at risk of deadlock since a hung thread might be holding the struct_mutex already. Therefore it's not obvious how we're supposed to deal with this. For now, we're doing an early exit from this function, which avoids any kernel panic situation when running our own internal TDR ULT. * v2: (Chris Wilson) Turned the execlist mode check into a ringbuffer NULL check to make it more submission mode agnostic and less of a layering violation. Signed-off-by: Tomas Elf <tomas.elf@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 61fb58815192c558d74016721dae6235c18c0fbf Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Thu Oct 8 15:37:00 2015 +0100 drm/i915: Remove wrong warning from i915_gem_context_clean commit e9f24d5fb7cf3628b195b18ff3ac4e37937ceeae Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Oct 5 13:26:36 2015 +0100 drm/i915: Clean up associated VMAs on context destruction Introduced a wrong assumption that all contexts have a ppgtt instance. This is not true when full PPGTT is not active so remove the WARN_ON_ONCE from the context cleanup code. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0ad98c74e093041eb163b01013eb46989f2124aa Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Oct 8 12:08:20 2015 +0300 drm/i915: Determine the stolen memory base address on gen2 There isn't an explicit stolen memory base register on gen2. Some old comment in the i915 code suggests we should get it via max_low_pfn_mapped, but that's clearly a bad idea on my MGM. The e820 map in said machine looks like this: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009f7ff] usable [ 0.000000] BIOS-e820: [mem 0x000000000009f800-0x000000000009ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000000ce000-0x00000000000cffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001f6effff] usable [ 0.000000] BIOS-e820: [mem 0x000000001f6f0000-0x000000001f6f7fff] ACPI data [ 0.000000] BIOS-e820: [mem 0x000000001f6f8000-0x000000001f6fffff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x000000001f700000-0x000000001fffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec1ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffbfffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fff00000-0x00000000ffffffff] reserved That makes max_low_pfn_mapped = 1f6f0000, so assuming our stolen memory would start there would place it on top of some ACPI memory regions. So not a good idea as already stated. The 9MB region after the ACPI regions at 0x1f700000 however looks promising given that the macine reports the stolen memory size to be 8MB. Looking at the PGTBL_CTL register, the GTT entries are at offset 0x1fee00000, and given that the GTT entries occupy 128KB, it looks like the stolen memory could start at 0x1f700000 and the GTT entries would occupy the last 128KB of the stolen memory. After some more digging through chipset documentation, I've determined the BIOS first allocates space for something called TSEG (something to do with SMM) from the top of memory, and then it allocates the graphics stolen memory below that. Accordind to the chipset documentation TSEG has a fixed size of 1MB on 855. So that explains the top 1MB in the e820 region. And it also confirms that the GTT entries are in fact at the end of the the stolen memory region. Derive the stolen memory base address on gen2 the same as the BIOS does (TOM-TSEG_SIZE-stolen_size). There are a few differences between the registers on various gen2 chipsets, so a few different codepaths are required. 865G is again bit more special since it seems to support enough memory to hit 4GB address space issues. This means the PCI allocations will also affect the location of the stolen memory. Fortunately there appears to be the TOUD register which may give us the correct answer directly. But the chipset docs are a bit unclear, so I'm not 100% sure that the graphics stolen memory is always the last thing the BIOS steals. Someone would need to verify it on a real system. I tested this on the my 830 and 855 machines, and so far everything looks peachy. v2: Rewrite to use the TOM-TSEG_SIZE-stolen_size and TOUD methods v3: Fix TSEG size for 830 v4: Add missing 'else' (Chris) Tested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bde3e2880ff92f9956914afdd19648ccb20f487a Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 9 08:10:29 2015 +0900 ALSA: firewire-lib: avoid endless loop to transfer MIDI messages at fatal error Currently, when asynchronous transactions finish in error state and retries, work scheduling and work running also continues. This should be canceled at fatal error because it can cause endless loop. This commit enables to cancel transferring MIDI messages when transactions encounter fatal errors. This is achieved by setting error state. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ea848b7b62ab6d3078955b87833c3b336b71bc9f Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 9 08:10:28 2015 +0900 ALSA: firewire-lib: add throttle for MIDI data rate Typically, the target devices have internal buffer to adjust output of received MIDI messages for MIDI serial bus, while the capacity of the buffer is limited. IEEE 1394 transactions can transfer more MIDI messages than MIDI serial bus can. This can cause buffer over flow in device side. This commit adds throttle to limit MIDI data rate by counting intervals between two MIDI messages. Usual MIDI messages consists of two or three bytes. This requires 1.302 to 1.953 mili-seconds interval between these messages. This commit uses kernel monotonic time service to calculate the time of next transaction. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e8a40d9bcb2392ea502dc629d5d6c0556fdd3b0c Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 9 08:10:27 2015 +0900 ALSA: firewire-lib: schedule work again when MIDI substream has rest of MIDI messages Currently, when two MIDI trigger callbacks can be called immediately, transactions for the second MIDI messages can be postpone till next trigger callback. This is not good for real-time message transmission. This commit schedules work again at response handling callback if the MIDI substream still includes untransferred MIDI messages. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d3ef9cb93aec59eb1d90d01ae0642fd517c25381 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 9 08:10:26 2015 +0900 ALSA: firewire-lib: add a restriction for a transaction at once Currently, when waiting for a response, callers can start another transaction by scheduling another work. This is not good for error processing of transaction, especially the first response is too late. This commit serialize request/response transactions, by adding one boolean member to represent idling state. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 585d7cba5e1fcd8703a120042f35695165986b9b Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 9 08:10:25 2015 +0900 ALSA: firewire-lib: add helper functions for asynchronous transactions to transfer MIDI messages Some models receive MIDI messages via IEEE 1394 asynchronous transactions. In this case, MIDI messages are transferred in fixed-length payload. It's nice that firewire-lib module has common helper functions. This commit implements this idea. Each driver adds 'struct snd_fw_async_midi_port' in its instance structure. In probing, it should call snd_fw_async_midi_port_init() to initialize the structure with some parameters such as target address, the length of payload in a transaction and a pointer for callback function to fill the payload buffer. At 'struct snd_rawmidi_ops.trigger()' callback, it should call 'snd_fw_async_midi_port_run()' to start transactions. Each driver should ensure that the lifetime of MIDI substream continues till calling 'snd_fw_async_midi_port_finish()'. The helper functions support retries to transferring MIDI messages when transmission errors occur. When transactions are successful, the helper functions call 'snd_rawmidi_transmit_ack()' internally to consume MIDI bytes in the buffer. Therefore, Each driver is expected to use 'snd_rawmidi_transmit_peek()' to tell the number of bytes to transfer to return value of 'fill' callback. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 694470273de29c2d3f3792856d4e748969294789 Author: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Date: Fri Oct 9 00:35:54 2015 +0000 ALSA: seq_oss: fix waitqueue_active without memory barrier in snd-seq-oss snd_seq_oss_readq_put_event() seems to be missing a memory barrier which might cause the waker to not notice the waiter and miss sending a wake_up as in the following figure. snd_seq_oss_readq_put_event snd_seq_oss_readq_wait ------------------------------------------------------------------------ /* wait_event_interruptible_timeout */ /* __wait_event_interruptible_timeout */ /* ___wait_event */ for (;;) { prepare_to_wait_event(&wq, &__wait, state); spin_lock_irqsave(&q->lock, flags); if (waitqueue_active(&q->midi_sleep)) /* The CPU might reorder the test for the waitqueue up here, before prior writes complete */ if ((q->qlen>0 || q->head==q->tail) ... __ret = schedule_timeout(__ret) if (q->qlen >= q->maxlen - 1) { memcpy(&q->q[q->tail], ev, sizeof(*ev)); q->tail = (q->tail + 1) % q->maxlen; q->qlen++; ------------------------------------------------------------------------ There are two other place in sound/core/seq/oss/ which have similar code. The attached patch removes the call to waitqueue_active() leaving just wake_up() behind. This fixes the problem because the call to spin_lock_irqsave() in wake_up() will be an ACQUIRE operation. I found this issue when I was looking through the linux source code for places calling waitqueue_active() before wake_up*(), but without preceding memory barriers, after sending a patch to fix a similar issue in drivers/tty/n_tty.c (Details about the original issue can be found here: https://lkml.org/lkml/2015/9/28/849). Signed-off-by: Kosuke Tatsukawa <tatsu@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f5e6a9753ac2965564a14e6285a06f44043ed9c8 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:24 2015 -0700 x86/entry: Split and inline syscall_return_slowpath() GCC is unable to properly optimize functions that have a very short likely case and a longer and register-heavier cold part -- it fails to sink all of the register saving and stack frame setup code into the unlikely part. Help it out with syscall_return_slowpath() by splitting it into two parts and inline the hot part. Saves 6 cycles for compat syscalls. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/0f773a894ab15c589ac794c2d34ca6ba9b5335c9.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 39b48e575e92e31251b74b4b48cea2129cee90bd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:23 2015 -0700 x86/entry: Split and inline prepare_exit_to_usermode() GCC is unable to properly optimize functions that have a very short likely case and a longer and register-heavier cold part -- it fails to sink all of the register saving and stack frame setup code into the unlikely part. Help it out with prepare_exit_to_usermode() by splitting it into two parts and inline the hot part. Saves 6-8 cycles for compat syscalls. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/9fc53eda4a5b924070952f12fa4ae3e477640a07.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dd636071c3d8044c802b7a365e9934724a929530 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:22 2015 -0700 x86/entry: Use pt_regs_to_thread_info() in syscall entry tracing It generates simpler and faster code than current_thread_info(). 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a3b6633e7dcb9f673c1b619afae602d29d27d2cf.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4aabd140f9cbe0361401a1368bac74df1010abf5 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:21 2015 -0700 x86/entry: Hide two syscall entry assertions behind CONFIG_DEBUG_ENTRY This shaves a few cycles off the slow paths. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/ce383fa9e129286ce6da6e00b53acd4c9fb5d06a.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c68ca6787bdd6d2df37cf950135aa11e71af358a Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:20 2015 -0700 x86/entry: Micro-optimize compat fast syscall arg fetch We're following a 32-bit pointer, and the uaccess code isn't smart enough to figure out that the access_ok() check isn't needed. This saves about three cycles on a cache-hot fast syscall. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/bdff034e2f23c5eb974c760cf494cb5bddce8f29.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 33c52129f45e06d9ce23e1a3d50bf9fd6770748b Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:19 2015 -0700 x86/entry: Force inlining of 32-bit syscall code On systems that support fast syscalls, we only really care about the performance of the fast syscall path. Forcibly inline it and add a likely annotation. This saves 4-6 cycles. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/8472036ff1f4b426b4c4c3e3d0b3bf5264407c0c.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 460d12453e1afe20416ce9536cfecb31d17a9abd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:18 2015 -0700 x86/entry: Make irqs_disabled checks in exit code depend on lockdep These checks are quite slow. Disable them in non-lockdep kernels to reduce the performance hit. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/eccff2a154ae6fb50f40228901003a6e9c24f3d0.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b13c2552ffc8e54e57598df36707183933e8e8c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:17 2015 -0700 x86/entry: Remove unnecessary IRQ twiddling in fast 32-bit syscalls This is slightly messy, but it eliminates an unnecessary cli;sti pair. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/22f34b1096694a37326f36c53407b8dd90f37948.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 487e3bf4f77699160aa81a414200060a78a67c3d Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:16 2015 -0700 x86/asm: Remove thread_info.sysenter_return It's no longer needed. We could reinstate something like it as an optimization, which would remove two cachelines from the fast syscall entry working set. I benchmarked it, and it makes no difference whatsoever to the performance of cache-hot compat syscalls on Sandy Bridge. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/f08cc0cff30201afe9bb565c47134c0a6c1a96a2.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5f310f739b4cc343f3f087681e41bbc2f0ce902d Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:15 2015 -0700 x86/entry/32: Re-implement SYSENTER using the new C path 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/5b99659e8be70f3dd10cd8970a5c90293d9ad9a7.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 150ac78d63afb96360dab448b7b4d33c98c8266c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:14 2015 -0700 x86/entry/32: Switch INT80 to the new C syscall path 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a7e8d8df96838eae3208dd0441023f3ce7a81831.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 39e8701f33d65c7f51d749a5d12a1379065e0926 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:13 2015 -0700 x86/entry/32: Open-code return tracking from fork and kthreads syscall_exit is going away, and return tracing is just a function call now, so open-code the two non-syscall 32-bit users. While we're at it, update the big register layout comment. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a6b3c472fda7cda0e368c3ccd553dea7447dfdd2.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7841b408717d4c3b1b334c8f1fef7f18c98cd2bd Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:12 2015 -0700 x86/entry/compat: Implement opportunistic SYSRETL for compat syscalls If CS, SS and IP are as expected and FLAGS is compatible with SYSRETL, then return from fast compat syscalls (both SYSCALL and SYSENTER) using SYSRETL. Unlike native 64-bit opportunistic SYSRET, this is not invisible to user code: RCX and R8-R15 end up in a different state than shown saved in pt_regs. To compensate, we only do this when returning to the vDSO fast syscall return path. This won't interfere with syscall restart, as we won't use SYSRETL when returning to the INT80 restart instruction. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/aa15e49db33773eb10b73d73466b6d5466d7856a.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a474e67c913d3ebaf02ba9d7835d5299d226c3ed Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:11 2015 -0700 x86/vdso/compat: Wire up SYSENTER and SYSCSALL for compat userspace What, you didn't realize that SYSENTER and SYSCALL were actually the same thing? :) Unlike the old code, this actually passes the ptrace_syscall_32 test on AMD systems. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/b74615af58d785aa02d917213ec64e2022a2c796.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 710246df58041106b7de645f4b45770f8a59a269 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:10 2015 -0700 x86/entry: Add C code for fast system call entries This handles both SYSENTER and SYSCALL. The asm glue will take care of the differences. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/6041a58a9b8ef6d2522ab4350deb1a1945eb563f.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ee08c6bd315e70756ad2c47ee6ea708a4a882b55 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:09 2015 -0700 x86/entry/64/compat: Migrate the body of the syscall entry to C 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a2f0fce68feeba798a24339b5a7ec1ec2dd9eaf7.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bd2d3a3ba67ac580f6e809aac36bf942f5447f91 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:08 2015 -0700 x86/entry: Add do_syscall_32(), a C function to do 32-bit syscalls System calls are really quite simple. Add a helper to call a 32-bit system 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: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/a77ed179834c27da436fb4a7fb23c8ee77abc11c.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit eb974c62565072e10c1422eb3205f5b611dd99a1 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:07 2015 -0700 x86/syscalls: Give sys_call_ptr_t a useful type Syscalls are asmlinkage functions (on 32-bit kernels), take six args of type unsigned long, and return long. Note that uml could probably be slightly cleaned up on top of this patch. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/4d3ecc4a169388d47009175408b2961961744e6f.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 034042cc1e2837a584cda0a5e4fc2b0a96b74543 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:06 2015 -0700 x86/entry/syscalls: Move syscall table declarations into asm/syscalls.h The header was missing some compat declarations. Also make sys_call_ptr_t have a consistent type. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/3166aaff0fb43897998fcb6ef92991533f8c5c6c.1444091585.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8169aff611956ed360e3313e8c718f530f58f6cb Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:05 2015 -0700 x86/entry/64/compat: Set up full pt_regs for all compat syscalls This is conceptually simpler. More importantly, it eliminates the PTREGSCALL and execve stubs, which were not compatible with the C ABI. This means that C code can call through the compat syscall table. The execve stubs are a bit subtle. They did two things: they cleared some registers and they forced slow-path return. Neither is necessary any more: elf_common_init clears the extra registers and start_thread calls force_iret(). 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/f95b7f7dfaacf88a8cae85bb06226cae53769287.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2ec67971faccc21ff18878552ccfe4409088c4c8 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:04 2015 -0700 x86/entry/64/compat: Remove most of the fast system call machinery We now have only one code path that calls through the compat syscall table. This will make it much more pleasant to change the pt_regs vs register calling convention, which we need to do to move the call into C. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/320cda5573cefdc601b955d23fbe8f36c085432d.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5f638ac90d514202155c87aa58730e86d484d9e Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:03 2015 -0700 x86/entry/64/compat: Remove audit optimizations These audit optimizations are messy and hard to maintain. We'll get a similar effect from opportunistic sysret when fast compat system calls are re-implemented. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/0bcca79ac7ff835d0e5a38725298865b01347a82.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e62a254a1f93fcc7299497a5c7231639400b8c3c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:02 2015 -0700 x86/entry/64/compat: Disable SYSENTER and SYSCALL32 entries We've disabled the vDSO helpers to call them, so turn off the entries entirely (temporarily) in preparation for cleaning them up. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/8d6e84bf651519289dc532dcc230adfabbd2a3eb.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8242c6c84a644e5f0f721e4ae2bd542f640c89f9 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:01 2015 -0700 x86/vdso/32: Save extra registers in the INT80 vsyscall path The goal is to integrate the SYSENTER and SYSCALL32 entry paths with the INT80 path. SYSENTER clobbers ESP and EIP. SYSCALL32 clobbers ECX (and, invisibly, R11). SYSRETL (long mode to compat mode) clobbers ECX and, invisibly, R11. SYSEXIT (which we only need for native 32-bit) clobbers ECX and EDX. This means that we'll need to provide ESP to the kernel in a register (I chose ECX, since it's only needed for SYSENTER) and we need to provide the args that normally live in ECX and EDX in memory. The epilogue needs to restore ECX and EDX, since user code relies on regs being preserved. We don't need to do anything special about EIP, since the kernel already knows where we are. The kernel will eventually need to know where int $0x80 lands, so add a vdso_image entry for it. The only user-visible effect of this code is that ptrace-induced changes to ECX and EDX during fast syscalls will be lost. This is already the case for the SYSENTER path. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/b860925adbee2d2627a0671fbfe23a7fd04127f8.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7bcdea4d050cbe4912854a68b93494203eec8b24 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:48:00 2015 -0700 x86/elf/64: Clear more registers in elf_common_init() Before we start calling execve in contexts that honor the full pt_regs, we need to teach it to initialize all registers. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/65a38a9edee61a1158cfd230800c61dbd963dac5.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 29c0ce9508458ed31a9db2ed425f64c0d6d3ddfb Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:59 2015 -0700 x86/vdso: Replace hex int80 CFI annotations with GAS directives Maintaining the current CFI annotations written in R'lyehian is difficult for most of us. Translate them to something a little closer to English. This will remove the CFI data for kernels built with extremely old versions of binutils. I think this is a fair tradeoff for the ability for mortals to edit the asm. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/ae3ff4ff5278b4bfc1e1dab368823469866d4b71.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f24f910884277aa6824bbc2dda4b5d0418d45c28 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:58 2015 -0700 x86/vdso: Define BUILD_VDSO while building and emit .eh_frame in asm For the vDSO, user code wants runtime unwind info. Make sure that, if we use .cfi directives, we generate 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: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/16e29ad8855e6508197000d8c41f56adb00d7580.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7b956f035a9ef8bd3ef5490f49fc1bd834d8a70a Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:57 2015 -0700 x86/asm: Re-add parts of the manual CFI infrastructure Commit: 131484c8da97 ("x86/debug: Remove perpetually broken, unmaintainable dwarf annotations") removed all the manual DWARF annotations outside the vDSO. It also removed the macros we used for the manual annotations. Re-add these macros so that we can clean up the vDSO annotations. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/4c70bb98a8b773c8ccfaabf6745e569ff43e7f65.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 856312aeb124b0477d452aa43415711109b46cbe Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Oct 1 19:57:12 2015 -0300 drm/i915: fix FBC buffer size checks According to my experiments (and later confirmation from the hardware developers), the maximum sizes mentioned in the specification delimit how far in the buffer the hardware tracking can go. And the hardware calculates the size based on the plane address we provide - and the provided plane address might not be the real x:0,y:0 point due to the compute_page_offset() function. On platforms that do the x/y offset adjustment trick it will be really hard to reproduce a bug, but on the current SKL we can reproduce the bug with igt/kms_frontbuffer_tracking/fbc-farfromfence. With this patch, we'll go from "CRC assertion failure" to "FBC unexpectedly disabled", which is still a failure on the test suite but is not a perceived user bug - you will just not save as much power as you could if FBC is disabled. v2, rewrite patch after clarification from the Hadware guys: - Rename function so it's clear what the check is for. - Use the new intel_fbc_get_plane_source_sizes() function in order to get the proper sizes as seen by FBC. v3: - Rebase after the s/sizes/size/ on the previous patch. - Adjust comment wording (Ville). - s/used_/effective_/ (Ville). Testcase: igt/kms_frontbuffer_tracking/fbc-farfromfence (SKL) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c4ffd40908c30a33291227920e921f6b45b9e8f7 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Oct 1 19:55:57 2015 -0300 drm/i915: fix CFB size calculation We were considering the whole framebuffer height, but the spec says we should only consider the active display height size. There were still some unclear questions based on the spec, but the hardware guys clarified them for us. According to them: - CFB size = CFB stride * Number of lines FBC writes to CFB - CFB stride = plane stride / compression limit - Number of lines FBC writes to CFB = MIN(plane source height, maximum number of lines FBC writes to CFB) - Plane source height = - pipe source height (PIPE_SRCSZ register) (before SKL) - plane size register height (PLANE_SIZE register) (SKL+) - Maximum number of lines FBC writes to CFB = - plane source height (before HSW) - 2048 (HSW+) For the plane source height, I could just have made our code do I915_READ() in order to be more future proof, but since it's not cool to do register reads I decided to just recalculate the values we use when we actually write to those registers. With this patch, depending on your machine configuration, a lot of the kms_frontbuffer_tracking subtests that used to result in a SKIP due to not enough stolen memory still start resulting in a PASS. v2: Use the clipped src size instead of pipe_src_h (Ville). v3: Use the appropriate information provided by the hardware guys. v4: Bikesheds: s/sizes/size/, s/fb_cpp/cpp/ (Ville). v5: - Don't use crtc->config->pipe_src_x for BDW- (Ville). - Fix the register name written in the comment. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a42e5a23ed1939a8eca5a753c19bb8b0e5cee475 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Sep 30 17:05:43 2015 -0300 drm/i915: remove pre-atomic check from SKL update_primary_plane The comment suggests the check was there for some non-fully-atomic case, and I couldn't find a case where we wouldn't correctly initialize plane_state, so remove the check. Let's leave a WARN there just in case. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Acked-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3badb49f08f66fbdbf9da8335c5db4b05a1677c8 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Sep 23 12:52:23 2015 -0300 drm/i915: don't allocate fbcon from stolen memory if it's too big Technology has evolved and now we have eDP panels with 3200x1800 resolution. In the meantime, the BIOS guys didn't change the default 32mb for stolen memory. On top of that, we can't assume our users will be able to increase the default stolen memory size to more than 32mb - I'm not even sure all BIOSes allow that. So just the fbcon buffer alone eats 22mb of my stolen memroy, and due to the BDW/SKL restriction of not using the last 8mb of stolen memory, all that's left for FBC is 2mb! Since fbcon is not the coolest feature ever, I think it's better to save our precious stolen resource to FBC and the other guys. On the other hand, we really want to use as much stolen memory as possible, since on some older systems the stolen memory may be a considerable percentage of the total available memory. This patch tries to achieve a little balance using a simple heuristic: if the fbcon wants more than half of the available stolen memory, don't use stolen memory in order to leave some for FBC and the other features. The long term plan should be to implement a way to set priorities for stolen memory allocation and then evict low priority users when the high priority ones need the memory. While we still don't have that, let's try to make FBC usable with the simple solution. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53c929c922ccc5e615c3310e86ffbc1387372854 Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Oct 8 10:31:03 2015 +0530 clk: qcom: create virtual child device for TSENS 8960 family of devices have TSENS as part of GCC in hardware. Hence DT would represent a GCC node with GCC properties as well as TSENS. Create a virtual platform child device here for TSENS so the driver can probe it and use the parent (GCC) to extract DT properties. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Massaged to work with devm friendly qcom_cc_probe()] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 73bb7dc08edd921953f7b720b54e5dcb15ee0a02 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 8 10:59:32 2015 -0700 clk: qcom: Move gdsc config outside COMMON_CLK_QCOM config Having this hidden config below the COMMON_CLK_QCOM config causes menuconfig to stop indenting config items after it. <*> Support for Qualcomm's clock controllers {M} APQ8084 Global Clock Controller <M> APQ8084 Multimedia Clock Controller {M} IPQ806x Global Clock Controller <M> IPQ806x LPASS Clock Controller <M> MSM8660 Global Clock Controller <M> MSM8916 Global Clock Controller {M} APQ8064/MSM8960 Global Clock Controller <M> APQ8064/MSM8960 LPASS Clock Controller <M> MSM8960 Multimedia Clock Controller {M} MSM8974 Global Clock Controller <M> MSM8974 Multimedia Clock Controller Move it up above anything else so that we don't get odd indenting. Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9bc432cb242b0edff81e3ab83ba11c327cd4dd93 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 8 00:11:49 2015 -0700 clk: qcom: Drop calls to qcom_cc_remove() Now that qcom_cc_remove() is a nop, drop calls to qcom_cc_remove() and any empty driver remove functions. Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 94c51f4073260e775fa404a45ac7f7adea590d0a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Oct 7 23:59:57 2015 -0700 qcom: clk: Make qcom_cc_probe() fully devm safe Some APIs in qcom_cc_probe() don't have a devm counterpart, so we have to use the calling device's platform data to pass pointers to the remove path. Let's use devm_add_action() instead, so that the remove path doesn't need to do anything, allowing us to remove qcom_cc_remove() entirely. Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0829ea5af6d3338c3c5ad0bd377d75a30d6ffc8b Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Wed Oct 7 11:08:58 2015 +0200 drivers: clk: st: Correct the pll-type for A9 for stih418 Add support for new PLL-type for stih418 A9-PLL. Currently the 407_A9_PLL type being used, it is corrected with this patch 4600c28 PLL allows to reach higher frequencies so its programming algorithm is extended. Signed-off-by: Pankaj Dev <pankaj.dev@xxxxxx> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 46a57afdd70c17cf15b2077c5ea611913f80f85f Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Wed Oct 7 11:08:57 2015 +0200 drivers: clk: st: PLL rate change implementation for DVFS Change A9 PLL rate, as per requirement from the cpufreq framework, for DVFS. For rate change, the A9 clock needs to be temporarily sourced from PLL external to A9 and then sourced back to A9-PLL Signed-off-by: Pankaj Dev <pankaj.dev@xxxxxx> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fb4738629b6c06c24ba0649ece20ecec978d8694 Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Wed Oct 7 11:08:56 2015 +0200 drivers: clk: st: Support for enable/disable in Clockgen PLLs The patch adds support for enable/disable of the Clockgen PLLs. clkgen_pll_enable/clkgen_pll_disable added as generic function for all PLLs. Signed-off-by: Pankaj Dev <pankaj.dev@xxxxxx> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit b68f2c3b882202aba97a488c1fede0e99f7261e2 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 1 12:22:54 2015 -0700 clk: qcom: Make oxili GDSC parent of oxili_cx GDSC The oxili_cx GDSC is inside the power domain of the oxili GDSC. Add the dependency so that the CX domain can properly power up. Reported-by: Rob Clark <robdclark@xxxxxxxxx> Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d60ee966b260331d1e76f73cd97f9563d2278b10 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 1 12:22:53 2015 -0700 PM / Domains: Make pm_genpd_{add,remove}_subdomain() available to modules Export these symbols so they can be used in loadable kernel modules. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Cc: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8ce20e6617fedb195b7b243fc74cdef1cf1684f6 Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Fri Oct 2 09:15:29 2015 +0200 Add driver for the si514 clock generator chip This patch adds the driver and devicetree documentation for the Silicon Labs SI514 clock generator chip. This is an I2C controlled oscillator capable of generating clock signals ranging from 100kHz to 250MHz. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Drop clk.h include, remove some casts] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 778f2e7a7b75e643fb56151797b7d950305b48ea Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 00:45:49 2015 +0300 ARM: shmobile: porter: add VIN0/ADV7180 DT support Define the Porter board dependent part of the VIN0 device node. Add the device node for Analog Devices ADV7180 video decoder to I2C2 bus. Add the necessary subnodes to interconnect VIN0 and ADV7180 devices. This patch is analogous to the commit 8d62f4f75320 ("ARM: shmobile: henninger: add VIN0/ADV7180 DT support") as there are no differences between the boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d6b940395e430a9afd89131d5de8d7ab1c22f5d1 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 9 00:44:18 2015 +0300 ARM: shmobile: porter: add I2C2 DT support Define the Porter board dependent part of the I2C2 device node. This patch is analogous to the commit 29a647c396a0 ("ARM: shmobile: henninger: add I2C2 DT support") as there are no differences between the boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ab4c6a240731f701806154fe3e0cfb8a3abec369 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Thu Oct 8 18:59:06 2015 +0800 clk: imx7d: add ADC root clock Add ADC root clock support in imx7d clock tree. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit ce6fcb3f2467902b48e59d1c866c5b4c9f6136eb Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Aug 28 17:55:59 2015 -0400 i40e: print neato new features To help users and developers know what compile options and hardware features are enabled at compile time, print VxLAN is available. Change-ID: I3162f3b7678dc725a597f964217920eb218b480b 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 f578f5f453abf09e8cb4c3aaf1e0c3bdf8125493 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Aug 28 17:55:58 2015 -0400 i40e/i40evf: pass QOS handle to VF The VF really doesn't care about the QOS handle but it will in the future. Since the VF only uses TC0, send it that handle. On the VF side, save the handle and use it to populate the QOS params when we call into the client interface. Change-ID: I76f41b070baeaa09b19383e9168bc677837e0761 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 8ed995ff6bb9c5436db64b3653a0c62a0cd18f08 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Aug 28 17:55:57 2015 -0400 i40evf: use capabilities flags properly Use the capabilities passed to us by the PF driver to control VF driver behavior. In the process, clean up the VLAN add/remove code so it's not a horrible morass of ifdefs. Change-ID: I1050eaf12b658a26fea6813047c9964163c70a73 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 a5fdaf342aa2fa6679dcb87dad2f78f1309de29e Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Aug 28 17:55:56 2015 -0400 i40e: refactor code to remove indent I found a code indent that was avoidable because a whole function is inside an if block, reverse the if and move the code back a tab. Change-ID: I9989c8750ee61678fbf96a3b0fd7bf7cc7ef300a 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 6995b36c0fc3dd97c1d641f9630d19db2cadf44f Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Fri Aug 28 17:55:54 2015 -0400 i40e/i40evf: clean up some code Add missings spaces after declarations, remove another __func__ use, remove uncessary braces, remove unneeded breaks, and useless returns, and generally fix up some code. Change-ID: Ie715d6b64976c50e1c21531685fe0a2bd38c4244 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> 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 ee5c1e92dd01d372b8e054b5a7e1cc19a1d32815 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Fri Aug 28 17:55:53 2015 -0400 i40evf: detect reset more reliably Using VFGEN_RSTAT to detect a VF reset is an endeavor that is fraught with peril. It's entirely too easy to miss a reset because none of the bits are sticky. By the time the VF driver reads the register, the reset may have been processed and cleaned up by the PF driver, leaving the register in the same state that it was before the reset. Instead, detect a reset with the VF_ARQLEN register. When the VF is reset, the enable bit in this register is cleared, and it stays cleared until the VF driver processes the reset and re-enables the admin queue. Because we now deal with multiple registers in the reset and watchdog tasks, rename the rstat_val variable to reg_val. Change-ID: Id1df17045c0992e607da0162d31807f7fc20d199 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 95e5613f75ac93d0547b7d2077030a5fe11af21e Author: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Date: Fri Aug 28 17:55:52 2015 -0400 i40e: Support FW CEE DCB UP to TC map nibble swap Changes parsing of AQ command Get CEE DCBX OPER CFG (0x0A07). Change is required because FW creates the oper_prio_tc nibbles reversed from those in the CEE Priority Group sub-TLV. Change-ID: I7d9d8641bb430d30e286fc3fac909866ef8a0de8 Signed-off-by: Greg Bowers <gregory.j.bowers@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 66486cd71723b2b41b36759159b551230ab8763d Author: Serey Kong <serey.kong@xxxxxxxxx> Date: Thu Aug 27 11:42:41 2015 -0400 i40e/i40evf: Explicitly assign enum index for VSI type Ran into an issue where PF's VSI type list was different from VF's, which was resulted in different enum index. The VSI type list can be different depending on what build flag is used for PF and VF. The change is to explicitly assign enum index for each VSI type so that PF and VF always reference to the same VSI type event if the enum lists are different. Change-ID: I8c0e5fdb515f324f7964df863a458073cf467e57 Signed-off-by: Serey Kong <serey.kong@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9ac77266379d070c6d140ad44f86a99936497eeb Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Aug 27 11:42:40 2015 -0400 i40e: add switch for link polling There's been some need for controlling the periodic link polling for debugging link issues. This patch enables switching it off and on through an ethtool private flag. The link poll remains on by default, but can be turned off with ethtool --set-priv-flags p261p1 LinkPolling off and later turned back on with ethtool --set-priv-flags p261p1 LinkPolling on To check the current status, use ethtool --show-priv-flags p261p1 Change-ID: I32e4ab654ff3eec90a06cf144899971b82d71c40 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 c156f856ad8ba4f71bcdb2c92ba1a9effaa29ac1 Author: Matt Jared <matthew.a.jared@xxxxxxxxx> Date: Thu Aug 27 11:42:39 2015 -0400 i40e: Fix multiple link up messages This patch addresses an issue where multiple link up messages can be logged resulting from aq link status timing when link properties are changed (fc, speed, etc.); solved by using a single function to handle status printing and adding a mechanism to track whether link state (up or down) has actually changed. Change-ID: Ied6ed6e49dc397c77d992adc0bc9ed3767152b9d Signed-off-by: Matt Jared <matthew.a.jared@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3487b6c30c0dd2204dc31e14330097dff02d9a58 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Thu Aug 27 11:42:38 2015 -0400 i40e: Fix for extra Flow Director filter in table after error This patch fixes a problem where the PF's fdir filter table would have an entry that the hw was unable to add. This notification happens in the hot path, so instead of trying to fix it then, we note the location in the failure case and delete it during regular fdir subtask callback. Without this patch, a case can occur where an invalid entry gets replayed and a valid one is not. Change-ID: I67831c183b5d0309876de807cc434809b74c9cb7 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> 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 1a9375eb7f987e9338c17504dd2b358b688b32d8 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Thu Aug 27 11:42:37 2015 -0400 i40e/i40evf: Store CEE DCBX DesiredCfg and RemoteCfg This patch adds capability to query and store the CEE DCBX DesiredCfg and RemoteCfg data from the LLDP MIB. Added new member "desired_dcbx_config" in the i40e_hw data structure to hold CEE only DesiredCfg data. Change-ID: I19c550369594384eaff4cc63e690ca740231195d 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 909b2d16c41f3a56ff67342073ae5f2569d58084 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Thu Aug 27 11:42:36 2015 -0400 i40e: Add parsing for CEE DCBX TLVs This patch adds parsing for CEE DCBX TLVs from the LLDP MIB. While the driver gets the DCB CEE operational configuration from Firmware using the "Get CEE DCBX Oper Config" AQ command there is a need to get the CEE DesiredCfg Tx by firmware and DCB configuration Rx from peer; for debug and other application purposes. Change-ID: I9140edf1a25a2852c7eff805d81e5eff6266178d 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 96c8d0738aff3ecf3e8b3253fb286685e35d93e6 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Aug 27 11:42:35 2015 -0400 i40e: add more verbose error messages Under certain circumstances, the device may not have enough resources to enable all of the VFs that it advertises in config space. Although the number of supported VFs is reported upon driver init, it is not obvious when this is different from the number reported in config space. To eliminate this confusion, add an error message explaining the problem. Additionally, move the 'Allocating VFs' message down below the error checks so as to prevent further confusion. Change-ID: I45b7efca53a7aebf7777be33a8bc9d615ae48ea1 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 02d109be3ddc9768c1c38709218648d0c48a4ea9 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Aug 27 11:42:34 2015 -0400 i40e: inline interrupt enable The interrupt enable function can be inlined by moving it to the header file, which decreases the function call overhead for a frequently called function. Change-ID: I3214cc99593725768642680e7b8ce7e9bba7e44d 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 1e8efb42cf32982d68c1ceab3e3dc15a05157632 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Aug 27 11:42:33 2015 -0400 i40e: fix erroneous WARN_ON The driver was issuing a WARN_ON during ring size changes because the code was cloning the rx_ring struct but not zeroing out the pointers before allocating new memory. Zero out the pointers in the cloned copy before allocating new memory for them. In this case the code was correctly avoiding memory leaks but still triggering the warning. Change-ID: I186dd493948e9b7254ab0593d4aad8b68808918d 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 c13e1c05b22b504bf0d72fc762a02be37df2d1b0 Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Thu Oct 8 20:00:58 2015 +0100 powerpc/pseries/hvcserver: don't memset pi_buff if it is null pi_buff is being memset before it is sanity checked. Move the memset after the null pi_buff sanity check to avoid an oops. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f78f7ed72632a0794161f290b89e2cd752f55202 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 13:29:28 2015 +0530 powerpc: Fix _ALIGN_* errors due to type difference. This avoid errors like unsigned int usize = 1 << 30; int size = 1 << 30; unsigned long addr = 64UL << 30 ; value = _ALIGN_DOWN(addr, usize); -> 0 value = _ALIGN_DOWN(addr, size); -> 0x1000000000 Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4e7fb93081f8f2ac9f190e8da7507956d3f3a936 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Tue Sep 8 16:41:18 2015 -0500 ARM: multi_v7_defconfig: Enable QCOM SMD/RPM This patch enables all of the options necessary to support the Qualcomm SMD RPM regulator driver. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 76416cbb93f6af6e38de33dd7326a4a1113f8a9a Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Tue Sep 8 16:40:39 2015 -0500 ARM: qcom_defconfig: Enable SMD-RPM regulators This patch enables all of the options required to support SMD RPM based regulators. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 45b0ef05588a65cf1f2d1ef6335544075b16278e Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 26 14:50:18 2015 -0700 ARM: dts: msm8974: Add smd, rpm and regulator nodes Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit 93aaf76a6cd729ecdbbd764f5640b1d50d372bbb Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Jun 26 14:50:09 2015 -0700 soc: qcom: Add device tree binding for SMEM Add device tree binding documentation for the Qualcom Shared Memory Manager. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> commit b63af764ca5134341aa3a2836b356a65902ea9d4 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:18:23 2015 +0800 ARM: dts: rockchip: add the support power-domain node on RK3288 SoCs We can add more domains node in the future. This patch add the needed clocks into power-controller. As the discuess about all the device clocks being listed in the power-domains itself. There are several reasons as follows: Firstly, the clocks need be turned off to save power when the system enter the suspend state. So we need to enumerate the clocks in the dts. In order to power domain can turn on and off. Secondly, the reset-circuit should reset be synchronous on RK3288, then sync revoked. So we need to enable clocks of all devices. In other words, we have to enable the clocks before you operate them if all the device clocks are included in someone domians. Thirdly, as the chip designs for PM hardhare. we need turn on the noc clocks, if we are operating the "pd_vio" domain to enter the idle status. The device's clock be included in domains that needed turn on if do that. The clocks in the dts are needed to enable before you want to happy work. At the moment, This patch is very good work for PM hardware. Also, we can add these clocks in the future if we have some hidden clocks. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Michael Turquette <mturquette@xxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> [add necessary power-domain properties to keep drm subsys working] Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 3b6061f01066148c371d843c2424309c62acd2f3 Merge: 4490dc5 a914169 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Oct 8 22:40:45 2015 +0200 Merge branch 'v4.4-armsoc/pd-headers' into v4.4-armsoc/dts32 commit 4490dc5cee5e6b3631f28fdb1a4548c90912bb8f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 30 21:10:00 2015 +0200 ARM: dts: rockchip: add rk3288-firefly iodomains Add the iodomains node and reference the correct regulator for each domain. This also includes adding the currently unused dvp regulators. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fae3b81120144696c54fdbbf09d8fe82c93d2851 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 30 21:07:09 2015 +0200 ARM: dts: rockchip: fixup firefly mmc supplies Fix some incorrect references to mmc regulators. vccio_wl for example is the io-voltage supply not the core supply of the wifi module itself, which is vbat_wl instead. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 90f9a541d8329077f216660c2b3d6772e071d4ef Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 30 21:00:16 2015 +0200 ARM: dts: rockchip: add rk3288-popmetal iodomains Add the iodomains node and reference the correct regulator for each domain. This also includes adding the currently unused dvp regulators and fixing up two regulators to follow the naming in the schematics. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fa1c193261199f4717879e02ea4a3e8181e1b512 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 30 20:58:53 2015 +0200 ARM: dts: rockchip: add rk3288-popmetal mmc supplies Add missing regulators and supply properties to emmc and sdmmc nodes. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 48961b3494df0497037c43f5d263e60470dc487f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 30 20:49:38 2015 +0200 ARM: dts: rockchip: add rk3288-popmetal board to dtb list The popmetal board was not included in the list of Rockchip boards, so was only built when explicitly called with make rk3288-popmetal.dtb but not in a generic make dtbs, so add the missing entry. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 44d5039a9add451b6cd240515d59d5848ba16fd5 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Tue Sep 15 08:57:21 2015 +0200 ARM: dts: rockchip: Add dtb for the Radxa Rock 2 Square board The Radxa Rock 2 Square board is a combination of the Radxa Rock 2 SoM with the Square baseboard. Add a dtsi for the SoM which can be included into the dts for the various baseboards (e.g. full and square) and a dts for the square board. Currently supported are serial console, wired networking, hdmi output, eMMC and SD storage and USB. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 1d727ec922e666e08fbdad7328947c9943e58439 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Sat Sep 12 18:01:39 2015 +0800 ARM: dts: rockchip: support highspeed sd-cards on rk3066a boards Add cap-sd-highspeed and cap-mmc-highspeed for rk3066a-bqcurie2 and rk3066a-rayeager boards to make sd cards run faster. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 2a4527ff53a8a85ac766a63a45239d7ea4bd1fd6 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Sat Sep 12 18:00:50 2015 +0800 ARM: dts: rockchip: support highspeed sd-cards for rk3188-radxarock Add cap-sd-highspeed and cap-mmc-highspeed for rk3188-radxarock board to make sd cards running faster. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e61ccb12d3b78c229c07e8b3e9008f1ce6dd1b74 Author: Douglas Anderson <dianders@xxxxxxxxxxxx> Date: Wed Sep 2 14:54:22 2015 -0700 ARM: dts: rockchip: Add the hdmi-ddc pinctrl settings for rk3288 The pins for i2c5 can either be configured as "I2C5" which means that they're controlled by the normal RK3288 I2C controller or as "EDP / HDMI I2C". It's unclear why EDP is referenced here since apparently setting the mux to this position enables I2C communication using the dw_hdmi block with a patch like <https://patchwork.kernel.org/patch/7098101/>. There appear to be some reasons why using the builtin I2C controller in dw_hdmi is better than using the normal RK3288 I2C controller, so boards based on rk3288 might eventually want to use this pinmux if it's known to work. Once driver support in dw_hdmi lands, boards would use this by selecting this pinctrl for the HDMI block and then _not_ specifying a ddc-i2c-bus and _not_ setting the status to "okay" for i2c5 (which uses the same pins). Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 035015b10e7545bb503413999070e99ccd32c1d2 Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Wed Sep 2 16:27:59 2015 -0700 ARM: dts: rockchip: Remove specific cts pullup from veyron With the previous patch ("rk3288: pull up cts lines") this is redundant, I sent that patch for the same reason this existed here, so the lines don't wiggle randomly when disconnected. Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 8915f36441d4506384b6e1be38ed0037946a77df Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Wed Sep 2 16:27:58 2015 -0700 ARM: dts: rockchip: pull up cts lines on rk3288 The flow control lines from a user accessible UART are optional, the user might not have anything connected to those pins. In order to prevent random interrupts happening and noise affecting the cts pin should be pulled up. Note that the default state for that pin on the rk3288 is pulled up, so this patch merely restores them. This is similar to what we're already doing with the RX pin, so it should be safe. At worst it might be a slightly higher power usage (through ~50 kohms) when the cts is low. Suggested-by: Neil Hendin <nhendin@xxxxxxxxxxxx> Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit d5f9f4ff73e975f3119e0fbf37d47d102b243dcc Author: Brian Norris <briannorris@xxxxxxxxxxxx> Date: Mon Aug 24 15:58:03 2015 -0700 ARM: dts: rockchip: add veyron-jaq board a.k.a. Haier Chromebook 11, and others Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 736ef3395ab10dffa0f42d215bee55b72d1cbb0a Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Aug 24 18:04:41 2015 +0200 ARM: dts: rockchip: Add support for SD/MMC on MarsBoard-RK3066 This enables SDMMC0 on the board and gives a basic support for SD cards. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit dcc909d90ccdbb73226397ff6d298f7af35b0e11 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Tue Oct 6 20:03:54 2015 +0200 nbd: Add locking for tasks The timeout handling introduced in 7e2893a16d3e (nbd: Fix timeout detection) introduces a race condition which may lead to killing of tasks that are not in nbd context anymore. This was not observed or reproducable yet. This patch adds locking to critical use of task_recv and task_send to avoid killing tasks that already left the NBD thread functions. This lock is only acquired if a timeout occures or the nbd device starts/stops. Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Fixes: 7e2893a16d3e ("nbd: Fix timeout detection") Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3a2fb2c394ff0f0ea90bacc557147d9ac733d13c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 8 21:51:57 2015 +0200 Revert "drm/i915: Call encoder hotplug for init and resume cases" This reverts commit 5d250b05918c002b63632c7db91c3c5f924c6a3b. It results on a deadlock on platforms where we need to (at least partially) re-init hpd interrupts from power domain code, since ->hot_plug might again grab a power well reference (to do edid/dp_aux transactions. At least chv is affected. Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> References: http://mid.gmane.org/20151008133548.GX26517@xxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 8166fcead6b29589f264b9d900c0770f501964c3 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 8 21:50:57 2015 +0200 Revert "drm/i915: Add hot_plug hook for hdmi encoder" This reverts commit 0b5e88dc25ee6c9040c0355e6e025dcbc9c8de92. It completely breaks booting on at least bsw (and maybe more). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88081 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 72affdecdd4901a8a1b71b2120731498e46347a4 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Thu Sep 17 09:02:14 2015 -0700 soc: ti: reset irq affinity before freeing irq When using accumulator queue for rx side for network driver, following warning is seen when doing a reboot command from Linux console. This is because, affinity value is not reset before calling free_irq(). This patch fixes this. Deconfiguring network interfaces... ------------[ cut here ]----------- WARNING: CPU: 0 PID: 2081 at kernel/irq/manage.c:1370 __free_irq+0x208/0x214 Modules linked in: CPU: 0 PID: 2081 Comm: ifconfig Not tainted 4.1.5-00908-g1049e206-dirty #1 Hardware name: Keystone Backtrace: [<c0012b98>] (dump_backtrace) from [<c0012dbc>] (show_stack+0x18/0x1c) r7:c005d0a8 r6:c06e2184 r5:c06e2184 r4:00000000 [<c0012da4>] (show_stack) from [<c04e7168>] (dump_stack+0x8c/0xcc) [<c04e70dc>] (dump_stack) from [<c0025944>] (warn_slowpath_common+0x88/0xb8) r7:c005d0a8 r6:0000055a r5:00000009 r4:0000000 [<c00258bc>] (warn_slowpath_common) from [<c0025a18>] (warn_slowpath_null+0x 24/0x2c) r8:0000006c r7:ee513f60 r6:ee513f00 r5:ee611010 r4:cc873a00 (warn_slowpath_null) from [<c005d0a8>] (__free_irq+0x208/0x214) [<c005cea0>] (__free_irq) from [<c005d158>] (free_irq+0x54/0xac) r10:00000002 r9:00000000 r8:00000000 r7:ee611010 r6:0000006c r5:00000000 r4:ee513f00 r3:00000000 [<c005d104>] (free_irq) from [<c02a81b0>] (knav_range_setup_acc_irq+0xb0/0x1 28) r7:00000001 r6:0000006c r5:ee611010 r4:00000001 [<c02a8100>] (knav_range_setup_acc_irq) from [<c02a8248>] (knav_acc_close_qu eue+0x20/0x24) r8:edd1a4c8 r7:00001000 r6:eed89980 r5:ee616650 r4:edf9d990 [<c02a8228>] (knav_acc_close_queue) from [<c02a6160>] (knav_queue_close+0xb4 /0xb8) [<c02a60ac>] (knav_queue_close) from [<c0336270>] (netcp_free_navigator_reso urces+0x1d4/0x2c0) r5:edd1a480 r4:00000400 [<c033609c>] (netcp_free_navigator_resources) from [<c033657c>] (netcp_ndo_stop+0x220/0x230) r10:00008914 r9:edf34400 r8:00000000 r7:edd1a5d8 r6:edd1a480 r5:00000400 r4:edd1a000 [<c033635c>] (netcp_ndo_stop) from [<c03d9c80> (__dev_close_many+0x90/0xd8) r7:00001003 r6:00001042 r5:edb0de20 r4:edd1a000 [<c03d9bf0>] (__dev_close_many) from [<c03d9df4>] (__dev_close+0x30/0x48) r5:00000001 r4:edd1a000 [<c03d9dc4>] (__dev_close) from [<c03e175c>] (__dev_change_flags+0x9c/0x14c) [<c03e16c0>] (__dev_change_flags) from [<c03e182c>] (dev_change_flags+0x20/0 r9:edf34400 r8:00000000 r7:00000000 r6:00001003 r5:edd1a138 r4:edd1a000 [<c03e180c>] (dev_change_flags) from [<c0446f94>] (devinet_ioctl+0x680/0x754 r9:edf34400 r8:bef6af3c r7:00000000 r6:bef6ac64 r5:edf3440c r4:00000000 [<c0446914>] (devinet_ioctl) from [<c0448760>] (inet_ioctl+0x1a8/0x1d0) r10:00000000 r9:edb0c000 r8:bef6ac64 r7:00000003 r6:bef6ac64 r5:bef6ac64 r4:00008914 [<c04485b8>] (inet_ioctl) from [<c03c72fc>] (sock_ioctl+0x1d0/0x2a8) [<c03c712c>] (sock_ioctl) from [<c00eb608>] (do_vfs_ioctl+0x414/0x604) r7:00000003 r6:ed8b60c0 r5:bef6ac64 r4:ccc88f20 [<c00eb1f4>] (do_vfs_ioctl) from [<c00eb834>] (SyS_ioctl+0x3c/0x64) r9:edb0c000 r8:bef6ac64 r7:00008914 r6:ed8b60c0 r5:00000003 r4:ed8b60c0 [<c00eb7f8>] (SyS_ioctl) from [<c000f780>] (ret_fast_syscall+0x0/0x3c) r9:edb0c000 r8:c000f924 r7:00000036 r6:0007e77c r5:bef6ac64 r4:0007e7d0 ---[ end trace f565594c905af0b4 ]--- Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 348a65cdcbbf243073ee39d1f7d4413081ad7eab Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:25 2015 -0500 arm64: Mark kernel page ranges contiguous With 64k pages, the next larger segment size is 512M. The linux kernel also uses different protection flags to cover its code and data. Because of this requirement, the vast majority of the kernel code and data structures end up being mapped with 64k pages instead of the larger pages common with a 4k page kernel. Recent ARM processors support a contiguous bit in the page tables which allows the a TLB to cover a range larger than a single PTE if that range is mapped into physically contiguous ram. So, for the kernel its a good idea to set this flag. Some basic micro benchmarks show it can significantly reduce the number of L1 dTLB refills. Add boot option to enable/disable CONT marking, as well as fix a bug found by Steve Capper. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> [catalin.marinas@xxxxxxx: remove CONFIG_ARM64_CONT_PTE altogether] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 202e41a1c257eb56a05b5ff5bfde06f7ae98e6eb Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:23 2015 -0500 arm64: Make the kernel page dump utility aware of the CONT bit The kernel page dump utility needs to be aware of the CONT bit before it will break up pages ranges for display. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 06f90d2527845c4767207f54280df2c5ca11e82b Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:22 2015 -0500 arm64: Default kernel pages should be contiguous The default page attributes for a PMD being broken should have the CONT bit set. Create a new definition for an early boot range of PTE's that are contiguous. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 93ef666a094ff9c9fc8d7cf1774ef0b92e270a75 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:21 2015 -0500 arm64: Macros to check/set/unset the contiguous bit Add the supporting macros to check if the contiguous bit is set, set the bit, or clear it in a PTE entry. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ecf35a237a85d747ef1d6f713888c782f42064ac Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:20 2015 -0500 arm64: PTE/PMD contiguous bit definition Define the bit positions in the PTE and PMD for the contiguous bit. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 2ff4439bb45a05433282d4fa9ca84202147819c7 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Oct 7 12:00:19 2015 -0500 arm64: Add contiguous page flag shifts and constants Add the number of pages required to form a contiguous range, as well as some supporting constants. Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 70b4891cc889d359d3b1f3b8ec6f10c5800ecc70 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Oct 8 09:48:06 2015 +0100 ALSA: hda: make use of core codec fns Now that we have introduced the core fns we should make hda use these helpers Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1b5e6167c27e1d3be33155baf9660768ac74aae0 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Oct 8 09:48:05 2015 +0100 ALSA: hdac: Copy codec helpers to core The current codec helpers are local to hda code and needs to be moved to core so that other users can use it. The helpers to read/write the codec and to check the power state of widgets is copied 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 ab7ea3053575f31264bc8b8357203bdf970a6248 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:53 2015 +0100 PCI: mvebu: Use port->name rather than "PCIe%d.%d" Use the port->name string which we previously formatted when referring to the name of a port, rather than manually creating the port name each time. Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 2cdf4ed184d4a340b91e362892eb67effe17ef75 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:48 2015 +0100 PCI: mvebu: Report full node name when reporting a DT error If we have a missing required property, report the full node name rather than a vague "PCIe DT node" statement. This allows the exact node in error to be identified immediately. Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 2aee2ed2474bcd66a628f18412826165cdca1b4c Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:42 2015 +0100 PCI: mvebu: Use for_each_available_child_of_node() to walk child nodes Rather than using for_each_child_of_node() and testing each child's availability, use the for_each_available_child_of_node() helper instead. Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 7de36cd5742be100641684349cd7a70715b8cf8d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:37 2015 +0100 PCI: mvebu: Use of_get_available_child_count() Rather than open-coding of_get_available_child_count(), use the provided helper instead. Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 79e3f6ce167ff429084bfdd839e30d7983011108 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:32 2015 +0100 PCI: mvebu: Use exact config access size; don't read/modify/write The idea that you can arbitarily read 32-bits from PCI configuration space, modify a sub-field (like the command register) and write it back without consequence is deeply flawed. Status registers (such as the status register, PCIe device status register, etc) contain status bits which are read, write-one-to-clear. What this means is that reading 32-bits from the command register, modifying the command register, and then writing it back has the effect of clearing any status bits that were indicating at that time. Same for the PCIe device control register clearing bits in the PCIe device status register. Since the Armada chips support byte, 16-bit and 32-bit accesses to the registers (unless otherwise stated) and the PCI configuration data register does not specify otherwise, it seems logical that the chip can indeed generate the proper configuration access cycles down to byte level. Testing with an ASM1062 PCIe to SATA mini-PCIe card on Armada 388. PCIe capability at 0x80, DevCtl at 0x88, DevSta at 0x8a. Before: /# setpci -s 1:0.0 0x88.l - DevSta: CorrErr+ 00012810 /# setpci -s 1:0.0 0x88.w=0x2810 - Write DevCtl only /# setpci -s 1:0.0 0x88.l - CorrErr cleared - FAIL 00002810 After: /# setpci -s 1:0.0 0x88.l - DevSta: CorrErr+ 00012810 /# setpci -s 1:0.0 0x88.w=0x2810 - check DevCtl only write /# setpci -s 1:0.0 0x88.l - CorErr remains set 00012810 /# setpci -s 1:0.0 0x88.w=0x281f - check DevCtl write works /# setpci -s 1:0.0 0x88.l - devctl field updated 0001281f /# setpci -s 1:0.0 0x8a.w=0xffff - clear DevSta /# setpci -s 1:0.0 0x88.l - CorrErr now cleared 0000281f /# setpci -s 1:0.0 0x88.w=0x2810 - restore DevCtl /# setpci -s 1:0.0 0x88.l - check 00002810 [bhelgaas: changelog] Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 58c19a140de555b2bef41b8bf95439c36d555836 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 18:17:26 2015 +0100 PCI: mvebu: Return zero for reserved or unimplemented config space PCI requires reads to reserved or unimplemented configuration space to return zero and complete normally (see PCI r3.0, sec 6.1). However, the root port software implementation was returning 0xfffffff and PCIBIOS_BAD_REGISTER_NUMBER. Return zero when reading reserved or unimplemented config space. [bhelgaas: changelog] Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> (Armada XP GP) Tested-by: Andrew Lunn <andrew@xxxxxxx> (Kirkwood DIR665) Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> commit 8a893d5abcdcffbb80eb6521c54649fe675e79c9 Merge: 1590a41 1a32845 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:31:52 2015 +0200 Merge tag 'keystone-config' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/defconfig Merge "Couple of ARM Keystone config patches" from Santosh Shilimkar: - Sync up the config with savedefconfig - Add basic systemd options * tag 'keystone-config' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: configs: keystone: Add basic systemd related options ARM: configs: keystone: sync to savedefconfig commit a3e2ed443df0db5cbfc9b6f532a8a6392a03fe62 Merge: 4a69fcd 91dca0f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:30:23 2015 +0200 Merge tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt Merge "ARM Keystone DTS updates" from Santosh Shilimkar: - Add SOC compatible along with EVMs for future board variations. - Add SPI nodes * tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: dts: keystone: Update SoC specific compatible flags ARM: keystone: Update compatible to have SoC specific matches Documentation: dt: keystone: provide SoC specific compatible flags ARM: dts: keystone: Add ti,keystone-spi for SPI commit f3c65c2892cf27cf24ff9161ac9110a04dd57a5e Merge: a67e5c3 7d8d05d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:26:27 2015 +0200 Merge tag 'at91-cleanup-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/drivers Merge "First batch of cleanups for 4.4:" from Alexandre Belloni: - properly get the slow clock from timer-atmel-st, tcb_clksrc and pwm-atmel-tcb - small fix in an error path for tcb_clksrc * tag 'at91-cleanup-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: misc: atmel_tclib: get and use slow clock clocksource: tcb_clksrc: fix setup_clkevents error path clocksource: atmel-st: get and use slow clock commit 47ddb949029f9517a773e67b0e5eaf80ef596dad Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 10:24:41 2015 -0500 PCI: generic: Pass starting bus number to pci_scan_root_bus() If the bus is being configured with a bus-range that does not start at zero, pass that starting bus number to pci_scan_root_bus(). Passing the incorrect value of zero causes attempted config accesses outside of the supported range, which cascades to an OOPs spew and eventual kernel panic. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit d24a9270254d6c8caace3ebc7c34d0820150ce8f Merge: 498a92d f6c1a8a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:24:08 2015 +0200 Merge tag 'davinci-for-v4.4/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/fixes-non-critical Merge "DaVinci non-critical fixes for v4.4" from Sekhar Nori: Fix for incorrect handling of NULL clk pointer in DaVinci clock code. And a fix to use a more appropiate format specifier in a debug message. * tag 'davinci-for-v4.4/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: davinci: clock: Correct return values for API functions ARM: davinci: re-use %*ph specifier commit 55fa3ee0815a355490c109416935563223af0ccc Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Wed Oct 7 22:31:05 2015 +0200 ARM: meson: Enable Meson8b SoCs Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 4a69fcd3a10803854852481ab16031563d2d5381 Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Wed Oct 7 22:31:04 2015 +0200 ARM: meson: Add DTS for Odroid-C1 and Tronfy MXQ boards Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6f4f48aeb3901c4925faddc907438cdeee09d9de Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Wed Oct 7 22:31:03 2015 +0200 of: documentation: add bindings documentation for Meson8b Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 1a0ee1d317c033b66e91837456c93121e9de43bf Author: Carlo Caione <carlo@xxxxxxxxxxxx> Date: Wed Oct 7 22:31:02 2015 +0200 of: documentation: Add vendor prefix for Tronfy Tronfy is an emerging brand in China specializing in Home Theater solutions for the normal consumers. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 21fadea995bc9c6fc5dc7360065a2348eb37b499 Merge: 9dd289a 0877098 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:20:25 2015 +0200 Merge tag 'renesas-dt-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Renesas ARM Based SoC DT Updates for v4.4" from Simon Horman: * Add missing CPG/MSTP Clock Domain for sound on r8a779[01] SoCs * Tidy up SCI resource region on r8a779[018] SoCs * Add pinmux for iic0 on Lager board * Use CCF for audio clock on Lager and Koelsch boards * Use serial0 and 1 as serial ports on Marzen board * Use adxl345-specific compatible property for KZM9G board * Document compat string for Silk board * Enable GPIO, I2C, PCI, QSPI, USB PHY and HS, and VIN support on r8a7794/Silk * Add initial support for r8a7791/porter * Add common file for AA121TD01 panel * tag 'renesas-dt-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (28 commits) ARM: shmobile: porter: add Ether DT support ARM: shmobile: fix SILK board name ARM: shmobile: r8a7794: add HS-USB DT support ARM: shmobile: dts: Add common file for AA121TD01 panel ARM: shmobile: r8a7794: link PCI USB devices to USB PHY ARM: shmobile: silk: enable USB PHY ARM: shmobile: r8a7794: add USB PHY DT support ARM: shmobile: porter: initial device tree ARM: shmobile: add Porter board DT bindings ARM: shmobile: silk: enable internal PCI ARM: shmobile: r8a7794: add internal PCI bridge nodes ARM: shmobile: r8a7790: lager: add pinmux for iic0 ARM: shmobile: r8a7778: tidyup SSI resource region ARM: shmobile: r8a7791: tidyup SSI resource region ARM: shmobile: r8a7790: tidyup SSI resource region ARM: shmobile: lager: use CCF for audio clock ARM: shmobile: koelsch: use CCF for audio clock ARM: shmobile: silk: add VIN0/ADV7180 DT support ARM: shmobile: r8a7794: add VIN DT support ARM: shmobile: silk: add I2C1 DT support ... commit 9dd289a4a996140a1693fd404bafb6cd7d046df4 Merge: a362ec8 04418c2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 8 17:20:09 2015 +0200 Merge branch 'renesas/cleanup' into next/dt Dependency for renesas/dt commit 9a28033753ca9e86593e15050c7ae02fbc03f9ae Author: David Daney <david.daney@xxxxxxxxxx> Date: Thu Oct 8 10:15:10 2015 -0500 PCI: generic: Allow multiple hosts with different map_bus() methods The generic driver kept a global struct pci_ops ("gen_pci_ops") which it patched with the .map_bus() method appropriate for the bus device. This is a problem when we have two different types of bus devices: the .map_bus() method for the last device probed clobbers the method for previous devices. The result is that only the last bus device probed has the correct .map_bus(), and the others fail. Move the struct pci_ops into the bus-specific structure and initialize a pointer to it when the bus device is probed. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit dc542fb4179a104fc73760a2da0fd78f68f70d6d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Wed Oct 7 17:52:12 2015 +0530 ASoC: rt5645: fix build warning We were getting build warning about "Section mismatch". dmi_platform_intel_broadwell is being referenced from the probe function rt5645_i2c_probe(), but dmi_platform_intel_broadwell was marked with __initdata. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f874b80e1571118fcf4554878633556f06f998e6 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:13 2015 +0200 ASoC: rockchip: Add rockchip SPDIF transceiver driver Add a driver for the SPDIF transceiver available on RK3066, RK3188 and RK3288. Heavily based on the rockchip i2s driver. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 51e5084e718f990e88aeb0a9219adef15f847dc8 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Oct 8 15:31:12 2015 +0200 ASoC: dt-bindings: add rockchip tranceiver bindings Add devicetree bindings for the spdif tranceiver found on found on rk3066, rk3188 and rk3288 SoCs Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 120bf961b90adb8e76be827b1a68efe3d1019419 Merge: 037fc98 31303d6 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Oct 8 10:46:19 2015 -0400 Merge branch 'sunrpc' * sunrpc: SUNRPC: Use MSG_SENDPAGE_NOTLAST in xs_send_pagedata() SUNRPC: Move AF_LOCAL receive data path into a workqueue context SUNRPC: Move UDP receive data path into a workqueue context SUNRPC: Move TCP receive data path into a workqueue context SUNRPC: Refactor TCP receive commit 037fc9808a777f6fb6a54c6510b9656716e0c8c8 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Sep 20 15:51:00 2015 -0400 NFSv4: Unify synchronous and asynchronous error handling They now only differ in the way we handle waiting, so let's unify. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4816fdadab9ff874ec1a4138dad43b636c7d220b Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Sep 20 14:58:42 2015 -0400 NFSv4: Don't use synchronous delegation recall in exception handling The code needs to be able to work from inside an asynchronous context. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 516285ebe0efadc40b914a0e61a913a390604810 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Sep 20 16:15:24 2015 -0400 NFSv4: nfs4_async_handle_error should take a non-const nfs_server For symmetry with the synchronous handler, and so that we can potentially handle errors such as NFS4ERR_BADNAME. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2598ed344586cf3612bfbd33041527c55543acfe Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Sep 20 16:10:18 2015 -0400 NFSv4: Update the delay statistics counter for synchronous delays Currently, we only do so for asynchronous delays. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit b3c2aa07454cf7ab4ec3ee882c586abbea033132 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Sep 20 14:32:45 2015 -0400 NFSv4: Refactor NFSv4 error handling Prepare for unification of the synchronous and asynchronous error handling. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 498a92d42596a7a32c042319eb62a4c3d8081cf1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 7 22:05:49 2015 +0200 ARM: cns3xxx: pci: avoid potential stack overflow The cns3xxx_pcie_hw_init function uses excessive kernel stack space because of a hack that puts a fake struct pci_sys_data and struct pci_bus on the stack in order to call the generic pci_bus_read_config accessors, which causes a warning in ARM allmodconfig builds: arch/arm/mach-cns3xxx/pcie.c:266:1: warning: the frame size of 1080 bytes is larger than 1024 bytes I've spent a few hours trying to find out what exactly this code is wants to achieve here. The obvious part is setting up the host_regs using config space accessors, and this can simply be changed to use direct MMIO accesses, as I do in this patch. The second part is how the driver sets up the Max_Read_Request_Size value for the first device/function on bus 1, i.e. the device plugged directly into the PCIe root port. For all I can tell, this is in fact incomplete, as it does not perform the same setting on devices attached to a PCIe switch, or multi-function devices. The solution for this part fortunately is even easier: if we just set the global pcie_bus_config variable to PCIE_BUS_PEER2PEER, all PCIe devices in the system are limited to 128 byte MPS, which in turn limits the MRRS to 128 bytes for all devices, and we no longer even need to touch any devices. With those two changes in place, we no longer need the fake pci_sys_data/pci_bus structures for faking config space writes, and the stack usage goes down as well. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Krzysztof Halasa <khalasa@xxxxxxx> commit 11aee0f6d1b6520620c5e7af04504ce9de588520 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Oct 8 19:27:59 2015 +0530 drm/i915: use error path Use goto to handle the error path to avoid duplicating the same code. In the error path intel_dig_port is the last one to be released as it was the first one to be allocated and ideally the error path should be the reverse of the execution path. Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9ad92bdff7062d9925754607f5a92b4f651fc7d3 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Oct 7 13:23:29 2015 +0100 hwrng: st - Improve FIFO size/depth description The original representation of FIFO size in the driver coupled with the ambiguity in the documentation meant that it was easy to confuse readers. This lead to a false positive BUG-find and subsequently time wastage debugging this phantom issue. Hopefully this patch can prevent future readers from falling into the same trap. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 93d649bd94e1003e2a766a59fadba0cc0089d58b Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Oct 7 13:23:28 2015 +0100 hwrng: st - Use real-world device timings for timeout Samples are documented to be available every 0.667us, so in theory the 8 sample deep FIFO should take 5.336us to fill. However, during thorough testing, it became apparent that filling the FIFO actually takes closer to 12us. Also take into consideration that udelay() can behave oddly i.e. not delay for as long as requested. Suggested-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>: "IIRC, Linus recommends a x2 factor on delays, especially timeouts generated by these functions. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 8fd80f8ca60bdeda4f3098986e8a566ba9c0c57a Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Oct 7 13:23:27 2015 +0100 hwrng: st: dt: Fix trivial typo in node address DT nodes should not append their addresses with '0x'. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9d83d299549d0e121245d56954242750d0c14338 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Oct 2 14:12:58 2015 +0200 crypto: atmel - Check for clk_prepare_enable() return value clk_prepare_enable() can fail so add a check for this and return the error code if it fails. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c6415a6016bff0b547c13cadb1d5e50e9ace2be3 Author: Catalin Vasile <catalin.vasile@xxxxxxxxxxxxx> Date: Fri Oct 2 13:13:18 2015 +0300 crypto: caam - add support for acipher xts(aes) Add support for AES working in XEX-based Tweaked-codebook mode with ciphertext Stealing (XTS) sector index - HW limitation: CAAM device supports sector index of only 8 bytes to be used for sector index inside IV, instead of whole 16 bytes received on request. This represents 2 ^ 64 = 16,777,216 Tera of possible values for sector index. Signed-off-by: Cristian Hristea <cristi.hristea@xxxxxxxxx> Signed-off-by: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Signed-off-by: Catalin Vasile <catalin.vasile@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit fea40451530fea9ed3efd31eb932d1855a3a6e2d Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Oct 2 08:01:02 2015 +0200 crypto: qce - dma_map_sg can handle chained SG The qce driver use two dma_map_sg path according to SG are chained or not. Since dma_map_sg can handle both case, clean the code with all references to sg chained. Thus removing qce_mapsg, qce_unmapsg and qce_countsg functions. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 166db195536f380c4545a8d2fca9789402464bc8 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Thu Oct 1 16:32:50 2015 -0500 crypto: ccp - Use module name in driver structures The convention is to use the name of the module in the driver structures that are used for registering the device. The CCP module is currently using a descriptive name. Replace the descriptive name with module name. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 21dc9e8f941f8693992230d189a556b220b50f5b Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Thu Oct 1 16:32:44 2015 -0500 crypto: ccp - Change references to accelerator to offload The CCP is meant to be more of an offload engine than an accelerator engine. To avoid any confusion, change references to accelerator to offload. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 52948cef8406a5f75484e2922b7140bc7c17f3f9 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Thu Oct 1 16:32:38 2015 -0500 crypto: ccp - Remove use ACPI field With the creation of the device_dma_is_coherent API the "use_acpi" field is no longer needed, so remove it. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 355eba5dda6984cbe10fa914e5cc8ef45a34cce2 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Thu Oct 1 16:32:31 2015 -0500 crypto: ccp - Replace BUG_ON with WARN_ON and a return code Replace the usage of BUG_ON with WARN_ON and return an error. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b3681308cc7162fb08249589b5bb1b2d42e00f4b Author: Fang, Yang A <yang.a.fang@xxxxxxxxx> Date: Wed Oct 7 14:33:57 2015 -0700 ASoC: nau8825: add acpi match ID This patch adds the acpi match ID for nau8825 codec Signed-off-by: Fang, Yang A <yang.a.fang@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1c199f2878f6c1b8c52125ad9805e94fe2dde472 Author: Luis R. Rodriguez <mcgrof@xxxxxxxx> Date: Wed Oct 7 16:16:33 2015 -0700 kbuild: document recursive dependency limitation / resolution Recursive dependency issues with kconfig are unavoidable due to some limitations with kconfig, since these issues are recurring provide a hint to the user how they can resolve these dependency issues and also document why such limitation exists. While at it also document a bit of future prospects of ways to enhance Kconfig, including providing formal semantics and evaluation of use of a SAT solver. If you're interested in this work or prospects of it check out the kconfig-sat project wiki [0] and mailing list [1]. [0] http://kernelnewbies.org/KernelProjects/kconfig-sat [1] https://groups.google.com/d/forum/kconfig-sat Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: James Bottomley <jbottomley@xxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Cc: "Yann E. MORIN" <yann.morin.1998@xxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Mate Soos <soos.mate@xxxxxxxxx> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 31303d6cbb24ba94e8b82170213bd2fde6365d9a Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Oct 6 15:59:20 2015 -0400 SUNRPC: Use MSG_SENDPAGE_NOTLAST in xs_send_pagedata() If we're sending more than one page via kernel_sendpage(), then set MSG_SENDPAGE_NOTLAST between the pages so that we don't send suboptimal frames (see commit 2f5338442425 and commit 35f9c09fe9c7). Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f640ee98bbeaa169684a571e0b96bea563bb6015 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 12:35:42 2015 +0200 Bluetooth: Fix basic debugfs entries for unconfigured controllers When the controller is unconfigured (for example it does not have a valid Bluetooth address), then the basic debugfs entries for dut_mode and vendor_diag are not creates. Ensure they are created in __hci_init and also __hci_unconf_init functions. One of them is called during setup stage of a new controller. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a26480942c99d84a7682ea4c00f47a3a42ed41d2 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Oct 6 17:03:00 2015 -0400 SUNRPC: Move AF_LOCAL receive data path into a workqueue context Now that we've done it for TCP and UDP, let's convert AF_LOCAL as well. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f9b2ee714c5c945cda27e9cbca5f60d5199fb93f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Oct 6 16:26:05 2015 -0400 SUNRPC: Move UDP receive data path into a workqueue context Now that we've done it for TCP, let's convert UDP as well. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit edc1b01cd3b20a5fff049e98f82a2b0d24a34c89 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Oct 5 10:53:49 2015 -0400 SUNRPC: Move TCP receive data path into a workqueue context Stream protocols such as TCP can often build up a backlog of data to be read due to ordering. Combine this with the fact that some workloads such as NFS read()-intensive workloads need to receive a lot of data per RPC call, and it turns out that receiving the data from inside a softirq context can cause starvation. The following patch moves the TCP data receive into a workqueue context. We still end up calling tcp_read_sock(), but we do so from a process context, meaning that softirqs are enabled for most of the time. With this patch, I see a doubling of read bandwidth when running a multi-threaded iozone workload between a virtual client and server setup. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 66d7a56a6254389587d0999dcaab1d2634cd4e24 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Oct 5 11:19:20 2015 -0400 SUNRPC: Refactor TCP receive Move the TCP data receive loop out of xs_tcp_data_ready(). Doing so will allow us to move the data receive out of the softirq context in a set of followup patches. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit df718423250c000ca4323a767cedc2f3219b685c Merge: 28335a7 3ad0040 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 05:26:44 2015 -0700 Merge branch 'bpf_random32' Daniel Borkmann says: ==================== BPF/random32 updates BPF update to split the prandom state apart, and to move the *once helpers to the core. For details, please see individual patches. Given the changes and since it's in the tree for quite some time, net-next is a better choice in our opinion. v1 -> v2: - Make DO_ONCE() type-safe, remove the kvec helper. Credits go to Alexei Starovoitov for the __VA_ARGS__ hint, thanks! - Add a comment to the DO_ONCE() helper as suggested by Alexei. - Rework prandom_init_once() helper to the new API. - Keep Alexei's Acked-by on the last patch. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ad0040573b0c00f88488bc31958acd07a55ee2e Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 8 01:20:39 2015 +0200 bpf: split state from prandom_u32() and consolidate {c, e}BPF prngs While recently arguing on a seccomp discussion that raw prandom_u32() access shouldn't be exposed to unpriviledged user space, I forgot the fact that SKF_AD_RANDOM extension actually already does it for some time in cBPF via commit 4cd3675ebf74 ("filter: added BPF random opcode"). Since prandom_u32() is being used in a lot of critical networking code, lets be more conservative and split their states. Furthermore, consolidate eBPF and cBPF prandom handlers to use the new internal PRNG. For eBPF, bpf_get_prandom_u32() was only accessible for priviledged users, but should that change one day, we also don't want to leak raw sequences through things like eBPF maps. One thought was also to have own per bpf_prog states, but due to ABI reasons this is not easily possible, i.e. the program code currently cannot access bpf_prog itself, and copying the rnd_state to/from the stack scratch space whenever a program uses the prng seems not really worth the trouble and seems too hacky. If needed, taus113 could in such cases be implemented within eBPF using a map entry to keep the state space, or get_random_bytes() could become a second helper in cases where performance would not be critical. Both sides can trigger a one-time late init via prandom_init_once() on the shared state. Performance-wise, there should even be a tiny gain as bpf_user_rnd_u32() saves one function call. The PRNG needs to live inside the BPF core since kernels could have a NET-less config as well. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Chema Gonzalez <chema@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 897ece56e714a2cc64e6914cb89a362d7021b36e Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 8 01:20:38 2015 +0200 random32: add prandom_init_once helper for own rngs Add a prandom_init_once() facility that works on the rnd_state, so that users that are keeping their own state independent from prandom_u32() can initialize their taus113 per cpu states. The motivation here is similar to net_get_random_once(): initialize the state as late as possible in the hope that enough entropy has been collected for the seeding. prandom_init_once() makes use of the recently introduced prandom_seed_full_state() helper and is generic enough so that it could also be used on fast-paths due to the DO_ONCE(). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0dd50d1b0c003ab4f17597fe1198bb57a2fadc06 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Thu Oct 8 01:20:37 2015 +0200 random32: add prandom_seed_full_state helper Factor out the full reseed handling code that populates the state through get_random_bytes() and runs prandom_warmup(). The resulting prandom_seed_full_state() will be used later on in more than the current __prandom_reseed() user. Fix also two minor whitespace issues along the way. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c90aeb948222a7b3d3391d232ec4f50fd8322ad3 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 01:20:36 2015 +0200 once: make helper generic for calling functions once Make the get_random_once() helper generic enough, so that functions in general would only be called once, where one user of this is then net_get_random_once(). The only implementation specific call is to get_random_bytes(), all the rest of this *_once() facility would be duplicated among different subsystems otherwise. The new DO_ONCE() helper will be used by prandom() later on, but might also be useful for other scenarios/subsystems as well where a one-time initialization in often-called, possibly fast path code could occur. Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46234253b9363894a254844a6550b4cc5f3edfe8 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 01:20:35 2015 +0200 net: move net_get_random_once to lib There's no good reason why users outside of networking should not be using this facility, f.e. for initializing their seeds. Therefore, make it accessible from there as get_random_once(). Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d6a6aed22f91b35c14a6717d42953f260090175 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Oct 2 20:28:04 2015 +0200 6lowpan: move shared settings to lowpan_netdev_setup This patch moves values for all lowpan interface to the shared implementation of 6lowpan. This patch also quietly fixes the forgotten IFF_NO_QUEUE flag for the bluetooth 6LoWPAN interface. An identically commit is 4afbc0d ("net: 6lowpan: convert to using IFF_NO_QUEUE") which wasn't changed for bluetooth 6lowpan. All 6lowpan interfaces should be virtual with IFF_NO_QUEUE, using EUI64 address length, the mtu size is 1280 (IPV6_MIN_MTU) and the netdev type is ARPHRD_6LOWPAN. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dcb825a9fd865638f82c557fe42ce8eed35f751d Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Thu Oct 8 02:41:18 2015 +0000 kselftest: add kselftest-clean rule We use $make TARGETS="size timers" kselftest to build and run selftests. but there is no rule for us to clean the kselftest generated files. This patch add the rules, for example: $ make TARGETS="size timers" kselftest-clean can clean all kselftest generated files. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxxx> commit 28335a7445202a3d118145a07d9138e9881ebe18 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 08:40:13 2015 -0700 net: Do not drop to make_route if oif is l3mdev Commit deaa0a6a930 ("net: Lookup actual route when oif is VRF device") exposed a bug in __ip_route_output_key_hash for VRF devices: on FIB lookup failure if the oif is specified the current logic drops to make_route on the assumption that the route tables are wrong. For VRF/L3 master devices this leads to wrong dst entries and route lookups. For example: $ ip route ls table vrf-red unreachable default broadcast 10.2.1.0 dev eth1 proto kernel scope link src 10.2.1.2 10.2.1.0/24 dev eth1 proto kernel scope link src 10.2.1.2 local 10.2.1.2 dev eth1 proto kernel scope host src 10.2.1.2 broadcast 10.2.1.255 dev eth1 proto kernel scope link src 10.2.1.2 $ ip route get oif vrf-red 1.1.1.1 1.1.1.1 dev vrf-red src 10.0.0.2 cache With this patch: $ ip route get oif vrf-red 1.1.1.1 RTNETLINK answers: No route to host which is the correct response based on the default route Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cfc81b50387086c3a1ca6d2be3c46561edfbc3b5 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Oct 7 10:16:09 2015 +0200 bpf, skb_do_redirect: clear sender_cpu before xmit Similar to commit c29390c6dfee ("xps: must clear sender_cpu before forwarding"), we also need to clear the skb->sender_cpu when moving from RX to TX via skb_do_redirect() due to the shared location of napi_id (used on RX) and sender_cpu (used on TX). Fixes: 27b29f63058d ("bpf: add bpf_redirect() helper") Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dfdd7230c5a2d9d675b4e7d6e111a8ead13cfb11 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 23:53:57 2015 +0200 net: hns: fix 32-bit build warning The recently added hns driver causes a build warning in ARM allmodconfig builds: drivers/net/ethernet/hisilicon/hns/hnae.c: In function 'handles_show': drivers/net/ethernet/hisilicon/hns/hnae.c:452:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] j, (u64)h->qs[i]->io_base); ^ This removes the pointless cast and prints the pointer address using the "%p" format string in all three locations. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d70e53262f5cfc0b88a211ef9cbd1ca5256f4a6b Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Tue Oct 6 16:37:46 2015 -0400 net: Microchip encx24j600 driver This ethernet driver supports the Micorchip enc424j600/626j600 Ethernet controller over a SPI bus interface. This driver makes use of the regmap API to optimize access to registers by caching registers where possible. Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/39935b.pdf Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 494f8eb9b616590c78bb1974aed835a842f012b6 Merge: 91d2f14 9200c27 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 04:46:03 2015 -0700 Merge branch 'broadcom-iproc' Arun Parameswaran says: ==================== Add support for Broadcom's iProc MDIO and Cygnus Ethernet PHY This patchset adds support for the iProc MDIO interface and the Broadcom Cygnus SoC's internal Ethernet PHY. The internal Ethernet PHY(s) in the Cygnus SoC's are accessed via the MDIO interface found in most of the iProc based chips. The patch also consolidates the common API's used by the Broadcom phys to a common library. Existing Broadcom phy drivers have been modified to use the common library API's. This patch series is based on Linux v4.3-rc1 and is avaliable in: https://github.com/Broadcom/cygnus-linux/tree/cygnus-net-phy-mdio-v3 The Ethernet driver for the iProc family will be submitted soon, as will the device tree configurations for the different iProc family SoCs. Changes from v2: - Modified drivers/net/phy/Kconfig to modify the BCM_CYGNUS_PHY driver to 'depends on MDIO_BCM_IPROC' instead of 'select'. - Added github branch to the cover letter Changes from v1: - Updated device tree documentation for the iProc MDIO driver based on Florian's feedback. - Moved the core register defines from the Cygnus PHY driver to 'include/linux/brcmphy.h' based on Florian's feedback. - Created a new patch/commit to modify the bcm7xxx phy driver to use the new core register defines. - Modified the Kconfig entry for the Broadcom PHY library to 'tristate' instead of 'bool' ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9200c27a1cc7ac719e4c43411e5a170144ba0ac5 Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Tue Oct 6 12:25:50 2015 -0700 net: phy: bcm7xxx: Modified to use global core register defines Modified the bcm7xxx phy driver to remove local core register defines and use the common ones from "include/linux/brcmphy.h" Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e185d6997bb67068f0ca8f062a50caa2608cf1b Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Tue Oct 6 12:25:49 2015 -0700 net: phy: Broadcom Cygnus internal Etherent PHY driver Add support for the Broadcom Cygnus SoCs internal PHY's. The PHYs are 1000M/100M/10M capable with support for 'EEE' and 'APD' (Auto Power Down). This driver supports the following Broadcom Cygnus SoCs: - BCM583XX (BCM58300, BCM58302, BCM58303, BCM58305) - BCM113XX (BCM11300, BCM11320, BCM11350, BCM11360) The PHY's on these SoC's require some workarounds for stable operation, both during configuration time and during suspend/resume. This driver handles the application of the workarounds. Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1cba5613edf50c2a213fa90c30aa10500b241b7 Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Tue Oct 6 12:25:48 2015 -0700 net: phy: Add Broadcom phy library for common interfaces This patch adds the Broadcom phy library to consolidate common interfaces shared by Broadcom phy's. Moved the common interfaces to the 'bcm-phy-lib.c' and updated the Broadcom PHY drivers to use the new APIs. Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ddc24ae1fd6ae2638365b0b824750b5b2ef13ca5 Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Tue Oct 6 12:25:47 2015 -0700 net: phy: Broadcom iProc MDIO bus driver This patch adds support for the Broadcom iProc MDIO bus interface. The MDIO interface can be found in the Broadcom iProc family Soc's. The MDIO bus is accessed using a combination of command and data registers. This MDIO driver provides access to the Etherent GPHY's connected to the MDIO bus. Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb257c3813613ce11329568c21c200e95afe6fc1 Author: Arun Parameswaran <arunp@xxxxxxxxxxxx> Date: Tue Oct 6 12:25:46 2015 -0700 dt-bindings: net: Broadcom iProc MDIO bus driver device tree binding Add device tree binding documentation for the Broadcom iProc MDIO bus driver. Signed-off-by: Arun Parameswaran <arunp@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91d2f14bc38336177c2d65e0c2cbf6447133cee1 Merge: 6b92d0c 0676651 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 04:38:37 2015 -0700 Merge branch 'net/rds/4.3-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux Santosh Shilimkar says: ==================== RDS: connection scalability and performance improvements [v4] Re-sending the same patches from v3 again since my repost of patch 05/14 from v3 was whitespace damaged. [v3] Updated patch "[PATCH v2 05/14] RDS: defer the over_batch work to send worker" as per David Miller's comment [4] to avoid the magic value usage. Patch now makes use of already available but unused send_batch_count module parameter. Rest of the patches are same as earlier version v2 [3] [v2]: Dropped "[PATCH 05/15] RDS: increase size of hash-table to 8K" from earlier version [1]. I plan to address the hash table scalability using re-sizable hash tables as suggested by David Laight and David Miller [2] This series addresses RDS connection bottlenecks on massive workloads and improve the RDMA performance almost by 3X. RDS TCP also gets a small gain of about 12%. RDS is being used in massive systems with high scalability where several hundred thousand end points and tens of thousands of local processes are operating in tens of thousand sockets. Being RC(reliable connection), socket bind and release happens very often and any inefficiencies in bind hash look ups hurts the overall system performance. RDS bin hash-table uses global spin-lock which is the biggest bottleneck. To make matter worst, it uses rcu inside global lock for hash buckets. This is being addressed by simply using per bucket rw lock which makes the locking simple and very efficient. The hash table size is still an issue and I plan to address it by using re-sizable hash tables as suggested on the list. For RDS RDMA improvement, the completion handling is revamped so that we can do batch completions. Both send and receive completion handlers are split logically to achieve the same. RDS 8K messages being one of the key usecase, mr pool is adapted to have the 8K mrs along with default 1M mrs. And while doing this, few fixes and couple of bottlenecks seen with rds_sendmsg() are addressed. Series applies against 4.3-rc1 as well net-next. Its tested on Oracle hardware with IB fabric for both bcopy as well as RDMA mode. RDS TCP is tested with iXGB NIC. Like last time, iWARP transport is untested with these changes. The patchset is also available at below git repo: git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux.git net/rds/4.3-v3 As a side note, the IB HCA driver I used for testing misses at least 3 important patches in upstream to see the full blown IB performance and am hoping to get that in mainline with help of them. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b92d0c4a6eefd32da7ecaf6873cb7e7e7602cfa Merge: e28383d ede2059 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 04:27:13 2015 -0700 Merge branch 'pass_net_through_output_path' Eric W. Biederman says: ==================== net: Pass net through the output path v2 This is the next installment of my work to pass struct net through the output path so the code does not need to guess how to figure out which network namespace it is in, and ultimately routes can have output devices in another network namespace. The first patch in this series is a fix for a bug that came in when sk was passed through the functions in the output path, and as such is probably a candidate for net. At the same time my later patches depend on it so sending the fix separately would be confusing. The second patch in this series is another fix that for an issue that came in when sk was passed through the output path. I don't think it needs a backport as I don't think anyone uses the path where the code was incorrect. The rest of the patchset focuses on the path from xxx_local_out to dst_output and in the end succeeds in passing sock_net(sk) from the socket a packet locally originates on to the dst->output function. Given the size reduction in the code I think this counts as a cleanup as much as feature work. There remain a number of helper functions (like ip option processing) to take care of before the network stack can support destination devices in other network namespaces but with this set of changes the backbone of the work is done. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ede2059dbaf9c6557a49d466c8c7778343b208ff Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:47 2015 -0500 dst: Pass net into dst->output The network namespace is already passed into dst_output pass it into dst->output lwt->output and friends. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 33224b16ffccb49cf798317670389e0bfba0024c Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:46 2015 -0500 ipv4, ipv6: Pass net into ip_local_out and ip6_local_out Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf91a99daa4651d0c1f52b8c3d813fd44b43cada Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:45 2015 -0500 ipv4, ipv6: Pass net into __ip_local_out and __ip6_local_out Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57c4bf859cad9d6c4f73d8c98a95e00f156301e0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:44 2015 -0500 ipvlan: Cache net in ipvlan_process_v4_outbound and ipvlan_process_v6_outbound Compute net once in ipvlan_process_v4_outbound and ipvlan_process_v6_outbound and store it in a variable so that net does not need to be recomputed next time it is used. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7093fefa543afad2bf292bba163800e81a4ba33 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:43 2015 -0500 ppp: Cache net in pptp_xmit Compute net and store it in a variable in pptp_xmit, so that the value can be reused the next time it is needed. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77589ce0f84dd99cc946fd71fe6fb44dd8220d0a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:42 2015 -0500 ipv4: Cache net in ip_build_and_send_pkt and ip_queue_xmit Compute net and store it in a variable in the functions ip_build_and_send_pkt and ip_queue_xmit so that it does not need to be recomputed next time it is needed. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f859b0f662493e4f53d462f5759e3c4302933077 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:41 2015 -0500 ipv4: Cache net in iptunnel_xmit Store net in a variable in ip_tunnel_xmit so it does not need to be recomputed when it is used again. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 792883303cdb3a7edd16017d7aba53926189ef41 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:40 2015 -0500 ipv6: Merge ip6_local_out and ip6_local_out_sk Stop hidding the sk parameter with an inline helper function and make all of the callers pass it, so that it is clear what the function is doing. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f8955cc468ddb7d08a0e614a45f9a82c4019b00 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:39 2015 -0500 ipv6: Merge __ip6_local_out and __ip6_local_out_sk Only __ip6_local_out_sk has callers so rename __ip6_local_out_sk __ip6_local_out and remove the previous __ip6_local_out. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2cb77db089796f163092326ca25512845df7a3a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:38 2015 -0500 ipv4: Merge ip_local_out and ip_local_out_sk It is confusing and silly hiding a parameter so modify all of the callers to pass in the appropriate socket or skb->sk if no socket is known. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b92dacd45698e120104ff81066ceb534916090d9 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:37 2015 -0500 ipv4: Merge __ip_local_out and __ip_local_out_sk Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ebdfba73c09d8568d891bae87c40fad43dd7f41 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:36 2015 -0500 dst: Pass a sk into .local_out For consistency with the other similar methods in the kernel pass a struct sock into the dst_ops .local_out method. Simplifying the socket passing case is needed a prequel to passing a struct net reference into .local_out. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13206b6bff3b15b724926a222406476bf2c23c40 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:35 2015 -0500 net: Pass net into dst_output and remove dst_output_okfn Replace dst_output_okfn with dst_output Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f5312ae620c79e877a6aa0e8894c6603a090b4e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:34 2015 -0500 xfrm: Only compute net once in xfrm_policy_queue_process Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 850dcc4d4dd7d5da5c1b2a780c5e649c3b649545 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:33 2015 -0500 ipv4: Fix ip_queue_xmit to pass sk into ip_local_out_sk After a packet has been encapsulated by a tunnel we should use the tunnel sockets local multicast loopback flag to control if the encapsulated packet should be locally loopback back. Pass sk into ip_local_out_sk so that in the rare case we are dealing with a tunneled packet whose tunnel destination address is a multicast address the kernel properly decides to loopback this packet. In practice I don't think this matters as ip_queue_xmit is used by tcp, l2tp and sctp none of which I am aware of uses ip level multicasting as they are all point to point communications protocols. Let's fix this before someone uses ip_queue_xmit for a tunnel protocol that does use multicast. Fixes: aad88724c9d5 ("ipv4: add a sock pointer to dst->output() path.") Fixes: b0270e91014d ("ipv4: add a sock pointer to ip_queue_xmit()") Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd2874b3bbe832e90ac480971a7a8bd736b629b9 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 7 16:48:32 2015 -0500 ipv4: Fix ip_local_out_sk by passing the sk into __ip_local_out_sk In the rare case where sk != skb->sk ip_local_out_sk arranges to call dst->output differently if the skb is queued or not. This is a bug. Fix this bug by passing the sk parameter of ip_local_out_sk through from ip_local_out_sk to __ip_local_out_sk (skipping __ip_local_out). Fixes: 7026b1ddb6b8 ("netfilter: Pass socket pointer down through okfn().") Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e28383dd28afafefb0e445354c88f7b1e99aae9d Merge: 61d0372 7fd0ac6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 04:21: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-10-07 This series contains updates to i40e and i40evf only. Paul updates i40e to simply increase the amount of time we wait for a reset to complete since we have seen in some rare occasions the reset can take longer to complete. Shannon updates the driver to turn on Wake-on-LAN by default if it is enabled in the hardware config to begin with, rather than always disable it and wait for the user to expressly turn it on. Added new device id's and support for future devices. Fixed a possible type compare problem between a size and possible negative number. Also fixed a shift value that was wrong, which ended up with a bad bitmask. Did general house cleaning of the driver to cleanup several low lying fruit in the driver. Fixed an issue where new unicast address's would be added to the VSI list and then immediately removed and would never actually make it down to the hardware. Resolved the issue by removing the separation from unicast and multicast in the search for filters to be deleted. Mitch fixes an issue where the hardware would continue to access the memory formerly used by the rings for a VF which have been removed, causing memory corruption or DMAR errors. To relieve this condition, explicitly stop all rings associated with each VF before releasing its resources. Also fixed a panic if the driver is unable to enable MSI-X or its unable to acquire enough vectors, so propagate interrupt allocation failure information to the calling function. Cleaned up opcode that is not required. Carolyn extends the size of the test available for the interrupt names so that all the descriptive data available for the Flow Director interrupts is not truncated. Catherine fixes an issue where there was a possibility of speed getting set to 0 if advertised is set to 0 (which is the case when autoneg is disabled). Jesse fixes the checksum on big endian machines, so added code to swap it correctly. Also fixed a bug in the return from get_link_status() where only true or false was being returned, but false could mean multiple things. So allow the caller to get all the return values in the call chain bubbled back to the source so that the reason for the failure does not get lost. Anjali adds statistics to keep track of how many times we ask the stack to linearize the SKB because the hardware cannot handle SKBs with more than 8 frags per segment/single packet. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f14d104dbdb5044dac9acd0e983ffb60f706c746 Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 11:37:06 2015 +0200 btrfs: switch more printks to our helpers Convert the simple cases, not all functions provide a way to reach the fs_info. Also skipped debugging messages (print-tree, integrity checker and pr_debug) and messages that are printed from possibly unfinished mount. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 9464732266862f6044e4708dca6c4b2a83dd937b Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 11:01:36 2015 +0200 btrfs: switch message printers to ratelimited variants Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 61d0372028d98046176a8a36e40b78b5bbac5512 Merge: acb4a6b 77792b1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 8 04:01:28 2015 -0700 Merge tag 'regmap-offload-update-bits' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap regmap: Allow buses to provide a custom update_bits() operation Some buses provide a native _update_bits() operation which for uncached registers is faster than doing a read/modify/write cycle as it is a single bus transaction. Add support for implementing this to regmap. commit 955da48532f6d6254cca38f6f247ddeee1ebd722 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Thu Oct 8 11:21:54 2015 +0100 ASoC: da7213: Correct units description of dmic-clkrate Description previously stated MHz whereas the resolution is in Hz. This has now has been updated to align with reality. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 25556ae6b965321c7e7469faa06ddbeae50dac91 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Aug 19 14:58:43 2015 +0200 IB: remove xrc_remote_srq_num from struct ib_send_wr The field is only initialized in mlx, but never used. If we want to add proper XRC support it should be done with a new struct ib_xrc_wr. This shrinks the various WR structures by another 4 bytes. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Reviewed-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx> Tested-by: Haggai Eran <haggaie@xxxxxxxxxxxx> commit e622f2f4ad2142d2a613a57fb85f8cf737935ef5 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Oct 8 09:16:33 2015 +0100 IB: split struct ib_send_wr This patch split up struct ib_send_wr so that all non-trivial verbs use their own structure which embedds struct ib_send_wr. This dramaticly shrinks the size of a WR for most common operations: sizeof(struct ib_send_wr) (old): 96 sizeof(struct ib_send_wr): 48 sizeof(struct ib_rdma_wr): 64 sizeof(struct ib_atomic_wr): 96 sizeof(struct ib_ud_wr): 88 sizeof(struct ib_fast_reg_wr): 88 sizeof(struct ib_bind_mw_wr): 96 sizeof(struct ib_sig_handover_wr): 80 And with Sagi's pending MR rework the fast registration WR will also be down to a reasonable size: sizeof(struct ib_fastreg_wr): 64 Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> [srp, srpt] Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> [sunrpc] Tested-by: Haggai Eran <haggaie@xxxxxxxxxxxx> Tested-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Tested-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> commit 17db84eba18eaa20fab687bf38418a2286cb085a Author: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Date: Wed Oct 7 07:08:25 2015 +0200 staging: wilc1000: avoid NULL pointer dereference on error The host_int_init() function can dereference the pstrWFIDrv pointer while it is NULL on its error path. Jump directly to the _fail_ error label in the end of the error handling path to avoid that. By doing that we also skip stopping our kthread and destroying our message queue, but they were not started or created yet in that case anyway. This fixes the following coccinelle error: drivers/staging/wilc1000/host_interface.c:6100:17-33: ERROR: pstrWFIDrv is NULL but dereferenced. Signed-off-by: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Cc: Johnny Kim <johnny.kim@xxxxxxxxx> Cc: Rachel Kim <rachel.kim@xxxxxxxxx> Cc: Dean Lee <dean.lee@xxxxxxxxx> Cc: Chris Park <chris.park@xxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 960819a1e572df82cfa8197133ed3f8aca487e1b Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Tue Oct 6 22:14:02 2015 +0300 Staging: wilc1000: fix spelling mistake. This patch corrects the spelling of the word function by adding missing letter. Problem found by checkpatch.pl : CHECK: 'funcion' may be misspelled - perhaps 'function'? Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 281dd5ac142fc9ae19ba12353e860cfcab13b8ab Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 5 17:00:33 2015 +0530 Staging: wilc1000: host_interface: 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 patch used - // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,ETH_ALEN); +eth_zero_addr(e); // </smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcf0265384ded8c89264202faf59fb538c6b25c4 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 5 17:00:32 2015 +0530 Staging: wilc1000: wilc_wfi_cfgoperations: 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 patch used - // <smpl> @eth_zero_addr@ expression e; @@ -memset(e,0x00,ETH_ALEN); +eth_zero_addr(e); // </smpl> Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a3c033262311ad274ef40f5ab4f2ec1d453ad72 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:35:04 2015 +0900 staging: wilc1000: remove unnecessary parentheses in host_int_remove_wep_key This patch removes unnecessary parentheses in host_int_remove_wep_key found by checkpatch. CHECK: Unnecessary parentheses around wfi_drv->hSemTestKeyBlock FILE: drivers/staging/wilc1000/host_interface.c:4320: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4929affee3a71243154873bb55763bb923e6bba9 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:35:03 2015 +0900 staging: wilc1000: fix NULL comparison in host_int_remove_wep_key This patch fixes NULL comparison style in host_int_remove_wep_key found by checkpatch. CHECK: Comparison to NULL could be written "!wfi_drv" FILE: drivers/staging/wilc1000/host_interface.c:4300 Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c694d829c5dfaf33dfcc47c6c2559f238de5978 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:35:02 2015 +0900 staging: wilc1000: remove multiple blank in host_int_remove_wep_key This patch removes multiple blank in host_int_remove_wep_key found by checkpatch. CHECK: Please don't use multiple blank lines FILE: drivers/staging/wilc1000/host_interface.c:4299: FILE: drivers/staging/wilc1000/host_interface.c:4309: FILE: drivers/staging/wilc1000/host_interface.c:4315: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 754d8c9016e00fc34dc6460ec00db2544033a12b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:35:01 2015 +0900 staging: wilc1000: remove pstrWFIDrv in host_int_remove_key This patch remove pstrWFIDrv in host_int_remove_key. There is no need to make another variable to check if first argument is NULL or not. It is able to use wfi_drv directly that is first argument of this function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e5e8b44bc67d2d06f660b6f3e8270f862078011 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:35:00 2015 +0900 staging: wilc1000: rename s32Error in host_int_remove_wep_key This patch replaces s32Error with result in host_int_remove_wep_key to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 517af2f582a93f2f48042b550daab6dbdf395690 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:59 2015 +0900 staging: wilc1000: rename u8keyIdx in host_int_remove_wep_key This patch replaces u8keyIdx with index that is secondard argument of host_int_remove_wep_key to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c54a9fb8492e5e53edf0b075e501fdaff54abf4e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:58 2015 +0900 staging: wilc1000: rename hWFIDrv in host_int_remove_wep_key This patch replaces hWFIDrv with wfi_drv that is first argument of host_int_remove_wep_key to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33e8ce215aff1ea662bdb44e0b30ac461f1c4003 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:57 2015 +0900 staging: wilc1000: fix return type of host_int_remove_wep_key This patch changes return type of host_int_remove_wep_key from s32 to int. s32Error gets return value from wilc_mq_send that has return type of int. It should be changed return type by int as well as data type of s32Error. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23fdedfcca5282e626532359dde6e86fa9c9a3ba Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:54 2015 +0900 staging: wilc1000: remove host_int_test_set_int_wid This function is defined but never used anywhere, so just delete it. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c28293b4882598880534b9d8f5d2e073c32c1c9 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:53 2015 +0900 staging: wilc1000: delete multiple blank lines This patch deletes multiple blank lines found by checkpatch CHECK: Please don't use multiple blank lines FILE: drivers/staging/wilc1000/host_interface.c:5393: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49fb6f714c75c77b3dc230c204b6aed8a7f22dd7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:52 2015 +0900 staging: wilc1000: rename u32mode in host_int_set_operation_mode This patch replaces u32mode with mode that is second argument of host_int_set_operation_mode to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 230819267c3daad2414d87ab9addeb4164adae74 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:51 2015 +0900 staging: wilc1000: rename hWFIDrv in host_int_set_operation_mode This patch replaces hWFIDrv with wfi_drv that is first argument of host_int_set_operation_mode to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0c1ee0cb999b726b206039aad459ea3038f7142 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:50 2015 +0900 staging: wilc1000: rename s32Error in host_int_set_operation_mode This patch replaces s32Error with result to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d491ef72be51177a41d247a73f4b06cf5d3b084f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:49 2015 +0900 staging: wilc1000: fix return type of host_int_set_operation_mode This patch changes return type of host_int_set_operation_mode from s32 to int. s32Error gets return value from wilc_mq_send that has return type of int. It should be changed return type by int as well as data type of s32Error. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c5f3e5ad15c162f8bf86c218a02e5cc0e55bc44 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:48 2015 +0900 staging: wilc1000: rename u32address in host_int_set_wfi_drv_handler This patch replaces u32address with address to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a094101cdc86d102e651342ee1078e147203f13f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:47 2015 +0900 staging: wilc1000: rename s32Error in host_int_set_wfi_drv_handler This patch replaces s32Error with result to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 909cccd9523c5ead7712c7d21dbcba4d35f28f8a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:46 2015 +0900 staging: wilc1000: remove multiple blank lines This patch removes multiple blank lines found by checkpatch CHECK: Please don't use multiple blank lines FILE: drivers/staging/wilc1000/host_interface.c:5343: FILE: drivers/staging/wilc1000/host_interface.c:5372: FILE: drivers/staging/wilc1000/host_interface.c:5389: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f7f06cffb8f2aba83e4033aff1a1359abf294a4 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 19:34:45 2015 +0900 staging: wilc1000: fix return type of host_int_set_wfi_drv_handler This patch changes return type of host_int_set_wfi_drv_handler from s32 to int. s32Error gets return value from wilc_mq_send that has return type of int. It should be changed return type by int as well as data type of s32Error. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a02a3415cf46e1367f647c539c56beb6a92e1d9 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:53 2015 +0900 staging: wilc1000: host_interface.c : remove unused functions This patch removes unused functions from the host_interface.c(h). - Switch_Log_Terminal - Handle_DelBASession - host_int_addBASession This patch includes the removal of the comment for host_int_addBASession as well. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit feea5c4121cf83aab46f9d1a7ab49bc748c3d4a7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:52 2015 +0900 staging: wilc1000: remove unused functions This patch removes unused functions. - drivers/staging/wilc1000/linux_mon.c : WILC_WFI_mon_setup - drivers/staging/wilc1000/wilc_sdio.o : sdio_set_func0_csa_address_byte0 Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4bc3d677e533abcc1cdc8e271ce239d6956ae12 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:51 2015 +0900 staging: wilc1000: wilc_wfi_cfgoperations.c : remove unused functions This patch removes unused functions from the wilc_wfi_cfgoperations.c. - WILC_WFI_dump_survey - WILC_WFI_auth - WILC_WFI_assoc - WILC_WFI_deauth - WILC_WFI_disassoc - WILC_WFI_set_bitrate_mask Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc1848acb93b655219d097045bfb50e8bfcab279 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:50 2015 +0900 staging: wilc1000: rename tWILCpfRemainOnChanReady This patch renames tWILCpfRemainOnChanReady to wilc_remain_on_chan_ready. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdc22a49b1c04a020c0222ba2ff32eca339fbaef Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:49 2015 +0900 staging: wilc1000: rename tWILCpfRemainOnChanExpired This patch renames tWILCpfRemainOnChanExpired to wilc_remain_on_chan_expired. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 430a78cf77236e5cdb514459ffb38609bd9c10b1 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:48 2015 +0900 staging: wilc1000: remove typedef from CURRENT_TX_RATE_T This patch remove typedef from the enum CURRENT_TX_RATE_T. And rename it to CURRENT_TXRATE. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 073b8d0ca73c252a4e3c5fa71a00b2d41dd274d0 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:47 2015 +0900 staging: wilc1000: remove typedef from SITE_SURVEY_T This patch remove typedef from the enum SITE_SURVEY_T. And rename it to SITESURVEY. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9529650a55f69362c386463001ded3ec0c5f99b3 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:46 2015 +0900 staging: wilc1000: remove typedef from tstrCfgParamVal This patch removes typedef from the struct tstrCfgParamVal. And rename it to cfg_param_val. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd1e6cb4c9e165b37632995deb722becbaf2e91b Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:45 2015 +0900 staging: wilc1000: remove typedef from tstrHostIFpmkid This patch removes typedef from the struct tstrHostIFpmkid. And rename it to host_if_pmkid. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a949f9095d29f7307dac036c8b7182cb42adad61 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:44 2015 +0900 staging: wilc1000: remove typedef from tstrHostIFpmkidAttr This patch removes typedef from the struct tstrHostIFpmkidAttr. And rename it to host_if_pmkid_attr. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4372d3d3c9d14fab2d31d328bfbcba77d7b276da Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:43 2015 +0900 staging: wilc1000: remove typedef from tstrHostIFwpaAttr This patch removes typedef from the struct tstrHostIFwpaAttr. And rename it to host_if_wpa_attr. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c276c44aacb61b93cc42dd26f630d90b0517e0bd Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:42 2015 +0900 staging: wilc1000: remove typedef from tstrHostIFwepAttr This patch removes typedef from the struct tstrHostIFwepAttr. And rename it to host_if_wep_attr. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40cc2c90adfcf1519aa457fc9fedec2ee0856fd5 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:41 2015 +0900 staging: wilc1000: remove typedef from tuniHostIFkeyAttr This patch remove typedef from the union tuniHostIFkeyAttr. And rename it to host_if_key_attr. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9d963333de75d295d344f100fa95d776018b5f0 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:40 2015 +0900 staging: wilc1000: remove typedef from tenuKeyType This patch remove typedef from the enum tenuKeyType. And rename it to KEY_TYPE. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 841dfc428dc0fac52122644cf32f227ecb6f9e16 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:39 2015 +0900 staging: wilc1000: remove typedef from AUTHTYPE_T This patch removes typedef from the enum AUTHTYPE_T. And, rename it to AUTHTYPE. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6ab85fe61f7d436650197cb100f35971367cbdd Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:38 2015 +0900 staging: wilc1000: rename tWILCpfConnectResult This patch renames tWILCpfConnectResult to wilc_connect_result. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 607db44794eec00bfd88616dfb30d793c23c3950 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:37 2015 +0900 staging: wilc1000: remove typedef from tstrHiddenNetwork This patch removes typedef from the struct tstrHiddenNetwork. And, rename it to hidden_network. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba1d1a695e90756f7bbb45e4e782bede43054c87 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Mon Oct 5 15:25:36 2015 +0900 staging: wilc1000: rename tWILCpfScanResult This patch renames tWILCpfScanResult to wilc_scan_result. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0c1e80e42d7505d16dca4b1bd992299030a12dd Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 5 13:50:46 2015 +0900 staging: wilc1000: rename strHostIFDelAllSta This patch renames strHostIFDelAllSta to del_all_sta_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e60831e9749bd616512295d7d4b383a9a9dee129 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 5 13:50:45 2015 +0900 staging: wilc1000: rename pUserData This patch renames pUserData to data to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c4008dba721a8e83f9ae8064b1add747ac33927 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Oct 5 13:50:44 2015 +0900 staging: wilc1000: rename strHostIfRegisterFrame This patch renames strHostIfRegisterFrame to reg_frame to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 792fb25b1be8a61f623438abe40efcdbcb9597a3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 11:07:22 2015 +0900 staging: wilc1000: return error code directly in host_int_set_mac_chnl_num There is no need to pass the error code to the variable 'result'. Just return the error directly when error occurs. Return 0 at the end of this function when error is not happened. Suggested-by: Julian Calaby <julian.calaby@xxxxxxxxx> Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 157da215b5312017889dc856e770c422db336aac Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Oct 5 11:07:21 2015 +0900 staging: wilc1000: remove pstrWFIDrv in host_int_set_mac_chnl_num This patch removes pstrWFIDrv variable in host_int_set_mac_chnl_num function. There is no need to make another variable to check if first arugment is NULL or not. It is able to use wfi_drv directly that is first argument of this function. Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 367e8560e8d7a62d96e9b1d644028a3816e04206 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Wed Oct 7 22:06:55 2015 +0200 Staging: fbtbt: Replace timespec with ktime_t struct timespec will overflow in year 2038, so replace it with ktime_t. And replace functions that use struct timespec, timespec_sub with ktime_sub. Also use monotonic time instead of real time, by replacing getnstimeofday with ktime_get, to be more robust against leap seconds and settimeofday() calls. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f60c265159e832ae389f3ab1acf9343d9e86a19a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Oct 7 18:19:37 2015 +0530 Staging: speakup: Use ARRAY_SIZE macro ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. Changes made using Coccinelle- @@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f34b77ec86ec15b3dfe4e82161d77ff96bf6666b Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Tue Oct 6 11:35:19 2015 +0300 staging: rdma: amso1100: remove label indentation Remove label indentation to follow kernel coding style Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2136c81fd9e108c0ff6627e86d7ccdd8e4c7f586 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Wed Oct 7 10:29:43 2015 +0530 staging: vt6656: Remove space before closing brace Remove space before closing brace '}'. Problem found using checkpatch.pl CHECK: Blank lines aren't necessary before a close brace '}' Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1df7e0a10b012b2e3652edcea3536aa10b48e0e9 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 6 13:26:50 2015 +0530 staging: vt6656: Remove space after opening brace Remove space after opening brace '{'. Problem found using checkpatch.pl CHECK: Blank lines aren't necessary after an open brace '{' Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbe396fbacc7b9e877a97a394ce2cd4a50a74160 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:23 2015 +0530 Staging: rtl8712: rtl8712_hal.h: Coding style warnings fix for block comments This is patch to the rtl8712_hal.h file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d228d87fc35965f6f563f2b8111ef6c057f0702 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:22 2015 +0530 Staging: rtl8712: rtl8712_gp_bitdef.h: Coding style warning fix for block comment This is patch to the rtl8712_gp_bitdef.h file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 602cac56ddee29603bf50278d4bb1d1b198687f0 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:21 2015 +0530 Staging: rtl8712: rtl8712_cmdctrl_bitdef.h: Coding style warning fix for block comment This is patch to the rtl8712_cmdctrl_bitdef.h file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed9c838a5d1e3a27acc7d1848cee4faa810225ff Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:20 2015 +0530 Staging: rtl8712: rtl8712_cmd.c: Coding style warnings fix for block comments This is patch to the rtl8712_cmd.c file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61172e0c888b4f6b4608c22162df0cf23bd6e9ce Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:19 2015 +0530 Staging: rtl8712: recv_linux.c: Coding style warning fix for block comment This is patch to the recv_linux.c file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 852681eb4a4356859e7c99551bbdccebb7ce1b53 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:18 2015 +0530 Staging: rtl8712: os_intfs.c : Coding style warning fix for block comment This is patch to the os_intfs.c file that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 652199cc2850b8ada082be3d856605aeb59b22b0 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:16 2015 +0530 Staging: rtl8712: ieee80211.h: Coding style warnings fix for block comments This is patch to the ieee80211.h file that fixes up following warning reported by checkpatch.pl : -Block comments use * on subsequent lines -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fd8cba1407b3432bc3ecc26c45bf43a1060d2e7 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:15 2015 +0530 Staging: rtl8712: ieee80211.c: Coding style warnings fix for block comments This is patch to the ieee80211.c file that fixes up following warning reported by checkpatch.pl : -Block comments use * on subsequent lines -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c9968ef9b9df5fc9468a23c6a5b7456ccddb25f Author: Punit Vara <punitvara@xxxxxxxxx> Date: Thu Oct 8 01:25:13 2015 +0530 Staging: rtl8712: drv_types.h:Coding style warnings fix for block comments This is patch to the drv_types.h file that fixes up following warning reported by checkpatch.pl : -Block comments use * on subsequent lines -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d2884ace7919eadcc220934052ba65baae986e2 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Wed Oct 7 10:58:18 2015 +0530 staging: rtl8712: Remove NULL comparison Remove NULL comparison by using '!' operator. Problem found using checkpatch.pl CHECK: Comparison to NULL could be written "!padapter->halpriv.hal_bus_init" Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a1283606f5f83f975f4f1abb34242004110f959 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Wed Oct 7 10:56:23 2015 +0530 staging: rtl8712: Remove NULL comparison Remove NULL comparison by using '!' operator. Problem found using checkpatch.pl CHECK: Comparison to NULL could be written "!ptmpchar" Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29b1b61435cd3e2890883b218a4c96c7df81f3c5 Author: Alison Schofield <amsfield22@xxxxxxxxx> Date: Tue Oct 6 14:40:58 2015 -0700 staging: rtl8712: Move constant to right of test or replace with "!" Move constant to the right side of comparison operator or replace equality operator (==) with the unary negation operator (!) if the comparison is to zero. Addesses multiple instances of the checkpatch.pl warning: WARNING: Comparisons should place the constant on the right side of the test Signed-off-by: Alison Schofield <amsfield22@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 335b9efa7265d56890cc8ed3bafd78c86c33e664 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 6 00:48:52 2015 +0530 staging: rtl8712: Add space around '&' Add space around operator '&'. Problem found using checkpatch.pl CHECK: spaces preferred around that '&' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ab4609a5dce8816166a2d46c31c603db6edda1a Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 6 00:44:42 2015 +0530 staging: rtl8712: Add spaces around '|' Add space around operator '|'. Problem found using checkpatch.pl CHECK: spaces preferred around that '|' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3845d02395ae0800829beed9f199ec4648a750e Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Tue Oct 6 00:40:16 2015 +0530 staging: rtl8712: Add space around '+' Add space around operator '+'. Problem found using checkpatch.pl CHECK: spaces preferred around that '+' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 137e37d0edaec1c6d08159e06253c1057f281182 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Mon Oct 5 19:50:50 2015 +0530 staging: vt6655: Remove true comparison Remove comparison to true in if statement. Problem found using checkpatch.pl CHECK: Using comparison to true is error prone Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08bfb453f0458dd353f37737d80475ff13868d9c Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Sep 23 19:57:53 2015 +0200 radeonfb: Deinline large functions With this .config: http://busybox.net/~vda/kernel_config, after uninlining these functions have sizes and callsite counts as follows: __OUTPLLP: 61 bytes, 12 callsites __INPLL: 79 bytes, 150 callsites __OUTPLL: 82 bytes, 138 callsites _OUTREGP: 101 bytes, 8 callsites _radeon_msleep: 66 bytes, 18 callsites _radeon_fifo_wait: 83 bytes, 24 callsites _radeon_engine_idle: 92 bytes, 10 callsites radeon_engine_flush: 105 bytes, 2 callsites radeon_pll_errata_after_index_slow: 31 bytes, 11 callsites radeon_pll_errata_after_data_slow: 91 bytes, 9 callsites radeon_pll_errata_after_FOO functions are split into two parts: the inlined part which checks corresponding rinfo->errata bit, and out-of-line part which performs workaround magic per se. Reduction in code size is about 49,500 bytes: text data bss dec hex filename 85789648 22294616 20627456 128711720 7abfc28 vmlinux.before 85740176 22294680 20627456 128662312 7ab3b28 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Alex Deucher <alexdeucher@xxxxxxxxx> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Len Brown <lenb@xxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-fbdev@xxxxxxxxxxxxxxx Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit b438000683c91b8c30f889a25ce01868dbc161bc Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 01:36:08 2015 +0530 Staging: lustre: obdclass: obdo: Declare iattr_from_obdo as static Declare iattr_from_obdo as static since it is used only in this particular file.Also remove the corresponding declaration from header file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 230a8da1c5229fbf0824542987b8febb367a5a14 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 01:36:07 2015 +0530 Staging: lustre: ptlrpc: service: Declare local functions as static Declare ptlrpc_server_drop_request and ptlrpc_stop_all_threads as static since they are used only in this particular file.Also remove the corresponding declaration from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dd7d427ab6e26e68d9c245b579a0acde8b671ee Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 01:36:06 2015 +0530 Staging: lustre: ptlrpc: import: Declare deuuidify as static Declare function deuuidify as static since it is used only in this particular file.Also remove the corresponding declaration from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcdf51c179d50e71ce9e5a11d87c32baef3c1004 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 01:36:05 2015 +0530 Staging: lustre: ptlrpc: pack_generic: Declare local functions as static Declare lustre_swab_ldlm_resource_desc, lustre_swab_obdo, lustre_swab_ldlm_res_id, lustre_swab_ldlm_policy_data as static since they are used only in this particular file. Also remove the corresponding declarations from header file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17ad0ce6058df4a3d85024e86ce554ff1f559cbb Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 8 01:36:04 2015 +0530 Staging: lustre: obdclass: llog_cat: Declare local functions as static Declare llog_cat_id2handle and llog_cat_process_or_fork as static since they are used only in this particular file. Also remove the corresponding declarations from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be23ce1dfb6ba9dcd2fce9dcc91e6307fc906597 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 5 05:32:39 2015 +0530 Staging: lustre: ptlrcpc: sec: Declare local functions as static Declare functions sptlrpc_secflags2str, sptlrpc_sec_get and sptlrpc_svc_install_rvs_ctx as static since they are used only in this particular file. Also remove them from corresponding header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09eb98b356e4df300d80f819fea6e64a741dd5d9 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 5 05:32:38 2015 +0530 Staging: lustre: ptlrpc: pack_generic: Declare local functions as static Declare functions lustre_swab_ldlm_lock_desc and dump_obdo as static since they are used only in this particular file. Also remove them from corresponding header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38a70c9b62f4a71125701cbf488160a31356b965 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Oct 5 05:32:36 2015 +0530 Staging: lustre: obdclass: llog_swab: Declare local functions as static Declare functions lustre_swab_llog_id and lustre_swab_ll_fid as static since they are used only in this particular file. Also remove them from corresponding header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2035608e126f4ddc6a48f6b04ef967f89db460e1 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:22:55 2015 +0200 gxt4500: enable panning The driver implements pan_display but the corresponding flags are not set. Add FBINFO_HWACCEL_XPAN and FBINFO_HWACCEL_YPAN to flags to allow HW accelerated panning (for fast scrolling). Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 38fc4d45fae58d81786acfe81a13ec0c93b01c98 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:22:54 2015 +0200 gxt4500: Use arch_phys_wc_* for framebuffer Add arch_phys_wc_* calls to allow write-combining using MTRR. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 3c083aa9d2a7b8904c6bd68628c7dfdf9d413816 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:22:53 2015 +0200 gxt4500: fix color order The color order in truecolor modes is wrong. This does not affect console but is visible e.g. in X11 which has wrong colors. Swap blue and red colors to fix the problem. Fixes https://forums.gentoo.org/viewtopic-t-692740-start-0.html Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 21d447985c0392095f858c95f9d56e9253eb9884 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:22:52 2015 +0200 gxt4500: fix 16bpp 565 mode Fix wrong colors in 16bpp 565 mode. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 031e37f8c9c4fcfb45abc6a53bf32f4753b4dba0 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 23:22:51 2015 +0200 gxt4500: enable on non-PPC architectures These chips can be present at least on x86 too - Fire GL2 AGP has GXT6000P but this driver is currently limited to PPC. Enable it for all architectures and add chip configuration for little-endian. Tested on x86 with Fire GL2 AGP. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 4d57c67827d7bb79c4fcf6618bf80930808e50c6 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Oct 6 00:16:53 2015 +0200 mac80211: add missing struct ieee80211_txq tid field initialization Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 1dd6d7ca9d062721ae37388900a322a4b959e939 Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 10:51:11 2015 +0200 btrfs: introduce ratelimited variants of message printing functions Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit b14af3b46f214c5e927dacf58a994fa3c4cb20dc Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 10:43:10 2015 +0200 btrfs: switch message printers to ratelimited _in_rcu variants Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 24aa6b41d4611b14ad0fb89fa0b899ae9ab7005c Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 10:27:02 2015 +0200 btrfs: introduce ratelimited _in_rcu variants of message printing functions Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit ecaeb14b912a3be55530aeec4e81c7243f5ceb5d Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 09:01:03 2015 +0200 btrfs: switch message printers to _in_rcu variants Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 08a84e25a80566cf3cb1903c2448123efedff132 Author: David Sterba <dsterba@xxxxxxxx> Date: Thu Oct 8 08:48:52 2015 +0200 btrfs: introduce _in_rcu variants of message printing functions Due to the missing variants there are messages that lack the information printed by btrfs_info etc helpers. Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 0e537fef24d64f7bf3ef61a27edf64a8d9a5424c Merge: d3df65c ae93880 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 8 10:52:44 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: - Adding a field via 'perf report -F' that already is enabled makes the tool get stuck in a loop, fix it. (Jiri Olsa) Infrastructure changes: - Support PERF_RECORD_SWITCH in the python binding. (Arnaldo Carvalho de Melo) - Fix handling read() result using a signed variable, found with Coccinelle. (Andrzej Hajda) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d3df65c198dc2f1deefb73c8427b04d1bdd1b18d Merge: 712df65 00e6fa5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 8 10:52:18 2015 +0200 Merge branch 'perf/urgent' into perf/core, before pulling new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0ce5fdb14b8ede01a59f378a2f7fcee877dab8ad Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Thu Oct 8 07:53:58 2015 +0530 staging: sm750fb: Remove multiple blank lines Remove multiple blank lines. Problem found using checkpatch.pl CHECK: Please don't use multiple blank lines Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3373f716830f36c0042f5845201caf1d9290f95b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 7 16:39:38 2015 +0100 ASoC: Intel: Skylake: Modify the log level dev_info is too noisy for tplg wiget loading, so move it to debug level Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26d46dffbe2cd0a023aa6192708f80cd796af107 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:24 2015 +0300 Bluetooth: 6lowpan: Remove unnecessary chan_get() function The chan_get() function just adds unnecessary indirection to calling the chan_create() call. The only added value it gives is the chan->ops assignment, but that can equally well be done in the calling code. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0cd088fc97bbe4834e9bc9727012ecac49386849 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:23 2015 +0300 Bluetooth: 6lowpan: Rename confusing 'pchan' variables The typical convention when having both a child and a parent channel variable is to call the former 'chan' and the latter 'pchan'. When there's only one variable it's called chan. Rename the 'pchan' variables in the 6lowpan code to follow this convention. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 630ef791ea8e4274f20b833e1977cb1b0462d3ec Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:22 2015 +0300 Bluetooth: 6lowpan: Remove unnecessary chan_open() function All the chan_open() function now does is to call chan_create() so it doesn't really add any value. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b0c09f94ff1660a1873549b788c998284ea5fb8a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:21 2015 +0300 Bluetooth: 6lowpan: Remove redundant BT_CONNECTED assignment The L2CAP core code makes sure of setting the channel state to BT_CONNECTED, so there's no need for the implementation code (6lowpan in this case) to do it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5d0fd77a043504dabccb66d9b5671e682868e96d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:20 2015 +0300 Bluetooth: 6lowpan: Remove redundant (and incorrect) MPS assignments The L2CAP core code already sets the local MPS to a sane value. The remote MPS value otoh comes from the remote side so there's no point in trying to hard-code it to any value. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 301de2cb6a521405cde1a2f9cdc42c5257b5725b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Oct 6 13:03:19 2015 +0300 Bluetooth: 6lowpan: Fix imtu & omtu values The omtu value is determined by the remote peer so there's no point in trying to hard-code it to any value. The IPSP specification otoh gives a more reasonable value for the imtu, i.e. 1280. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 07387cba8168b8dbffe17301290d65e893b831a2 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 4 20:18:32 2015 +0530 staging: sm750fb: Add space around ':' Add space around operator ':'. Problem found using checkpatch.pl CHECK: spaces preferred around that ':' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31418e37019ec188f4201587c7234bfb463e7bf4 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 4 20:15:34 2015 +0530 staging: sm750fb: Add space around '?' Add space around operator '?'. Problem found using checkpatch.pl CHECK: spaces preferred around that '?' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f40917ea0b976de81d8c77b8c81f9105f363a54b Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 4 20:12:30 2015 +0530 staging: sm750fb: Add space around '*' Add space around operator '*'. Problem found using checkpatch.pl CHECK: spaces preferred around that '*' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c18c331193b2270a5d47f4108ab0fc2bf97c3b51 Author: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Date: Sun Oct 4 20:07:53 2015 +0530 staging: sm750fb: Add space around '/' Add space around operator '/'. Problem found using checkpatch.pl CHECK: spaces preferred around that '/' (ctx:VxV) Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aafd858192bc98fab9230f6a634af85c4079f80f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 09:57:49 2015 +0200 drm/i915/irq: Fix misspelled word register in kernel-doc There is a typo in the function i915_handle_error() kernel-doc and the word register is spelled wrongly. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 468f9d2903bcf23e50663679eab5a18da5b886f6 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 09:54:44 2015 +0200 drm/i915/irq: Fix kernel-doc warnings Add the dev parameter for the functions i915_enable_asle_pipestat() and i915_reset_and_wakeup() to the kernel-doc to fix the following warnings: .//drivers/gpu/drm/i915/i915_irq.c:586: warning: No description found for parameter 'dev' .//drivers/gpu/drm/i915/i915_irq.c:2400: warning: No description found for parameter 'dev' Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe806dceded462f7930f8ac4a41c5d19819e70b7 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 03:14:28 2015 +0200 Bluetooth: Enforce packet types in hci_recv_frame driver function When calling the hci_recv_frame driver function check for valid packet types that the core should process. This should catch issues with drivers trying to feed vendor packet types through this interface. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 943cc592195ea458058c121d9c4d7481d0f28be1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 03:06:53 2015 +0200 Bluetooth: bpa10x: Use h4_recv_buf helper for frame reassembly The manually coded frame reassembly is actually broken. The h4_recv_buf helper from the UART driver is a perfect fit for frame reassembly for this driver. So just export that function and use it here as well. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 881f7e86a1e0322fbda42c92a36b13c44120bca2 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 03:01:44 2015 +0200 Bluetooth: bpa10x: Add support for set_diag driver callback The BPA-10x devices support tracing operation. Use the set_diag driver callback to allow enabling and disabling that functionality. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ddd68ec8f4847b460c9f580076eafe13b031a6fd Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 02:24:06 2015 +0200 Bluetooth: bpa10x: Read revision information in setup stage For debugging pruposes, read the revision string of the BPA-10x devices and print it. For example one of the latest devices respond with the string SNIF_102,BB930,02/01/18,10:37:56. < HCI Command: Vendor (0x3f|0x000e) plen 1 07 . > HCI Event: Command Complete (0x0e) plen 49 Vendor (0x3f|0x000e) ncmd 1 Status: Success (0x00) 53 4e 49 46 5f 31 30 32 2c 42 42 39 33 30 2c 30 SNIF_102,BB930,0 32 2f 30 31 2f 31 38 2c 31 30 3a 33 37 3a 35 36 2/01/18,10:37:56 00 00 00 00 00 00 00 00 00 00 00 00 00 ............. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit acc649c6540ef224cc07d17c4b632da9dedfb6a2 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Thu Oct 8 01:53:55 2015 +0200 Bluetooth: Fix interaction of HCI_QUIRK_RESET_ON_CLOSE and HCI_AUTO_OFF When the controller requires the HCI Reset command to be send when closing the transport, the HCI_AUTO_OFF needs to be accounted for. The current code tries to actually do that, but the flag gets cleared to early. So store its value and use it that stored value instead of checking for a flag that is always cleared. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 075e1f5e6c201111e32da99919eb052edc6d1c82 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 7 20:08:26 2015 +0200 Bluetooth: hci_bcm: Enable support for set_diag driver callback The set_diag driver callback allows enabling and disabling the vendor specific diagnostic information. Since Broadcom chips have support for a dedicated LM_DIAG channel, hook it up accordingly. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4b4113d6dbdbdac095743c05f694af9b7cdc9a44 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 7 19:52:35 2015 +0200 Bluetooth: Add debugfs entry for setting vendor diagnostic mode This adds a new debugfs entry for enabling and disabling the vendor diagnostic mode. It is only exposed for drivers that provide the set_diag driver callback and actually have an option for vendor specific diagnostic information. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 94c58132c062855df53db9a46fb8da0b878d69f0 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 7 19:12:54 2015 +0200 Bluetooth: hci_bcm: Enable parsing of LM_DIAG messages The Broadcom UART based controllers can send LM_DIAG messages with the identifier 0x07 inside the HCI stream. These messages are 63 octets in size and have no variable payload or length indicator. This patch adds correct parsing information for the h4_recv_buf handler and in case these packets are received, they are forwarded to the Bluetooth core via hci_recv_diag interface. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e875ff84079b9e7d3ce24b97e3396230d41044d4 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 7 16:38:35 2015 +0200 Bluetooth: Add support for vendor specific diagnostic channel Introduce hci_recv_diag function for HCI drivers to allow sending vendor specific diagnostic messages into the Bluetooth core stack. The messages are not processed, but they are forwarded to the monitor channel and can be retrieved by user space diagnostic tools. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6c566dd5a1253f73458ce6ba6cf3830e9d38c132 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Wed Oct 7 15:32:13 2015 +0200 Bluetooth: Send index information updates to monitor channel The Bluetooth public device address might change during controller setup and it makes it a lot simpler for monitoring tools if they just get told what the new address is. In addition include the manufacturer / company information of the controller. That allows for easy vendor specific HCI command and event handling. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit f1fed8c054a22dcb88c0ded986c80aa7019e5098 Merge: 6ff33f3 50b956f Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Oct 7 23:13:49 2015 -0500 Merge tag 'qcom-fixes-for-4.3-rc1' into base-for-4.4 Qualcomm fixes for v4.3-rc1 * Add SCM function call stubs on ARM64 commit d4edda3f2b3c74379c78c656a06657b328c813aa Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Sep 30 12:24:19 2015 -0400 drm/amdgpu: disable hw semaphores by default These are buggy on some asics and not really used anymore now that the GPU schedular is enabled. Change-Id: I67182b409d64de308392a15d1a0a15018071dc0b Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 36b4ba07d673032d71045bc149930b0f176e6292 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Sep 15 16:56:10 2015 +0800 drm/amdgpu: enable scheduler by default Change-Id: Idce64f63e8422324996fc5d583d0bc9a5ac60d0c Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 95d7918323be0090a1cc36f0ebdd1d3af88f2335 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Wed Sep 23 17:22:43 2015 +0800 drm/amdgpu: add TOPDOWN flag to the whole vram need to decrease visible vram usage by default. Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: monk.liu <monk.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit a2ef8a974931bd4a28e81a3de0a3813e97acfc30 Author: Chunming Zhou <david1.zhou@xxxxxxx> Date: Tue Sep 22 18:20:50 2015 +0800 drm/amdgpu: add vram usage into debugfs Signed-off-by: Chunming Zhou <david1.zhou@xxxxxxx> Reviewed-by: Jammy Zhou <Jammy.Zhou@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 0bde3a95eaa90f130dbb71a846243aa6f0e678cf Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 3 17:58:06 2015 -0400 drm/amdgpu: split gfx8 gpu init into sw and hw parts Calculate the driver state in sw_init and program the registers in hw init. Acked-by: Leo Liu <leo.liu@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit efbb05c2c00231d73393390db2156046bda787de Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 8 01:00:06 2015 +0300 ARM: shmobile: porter: enable SATA0 Enable SATA0 device for the Porter board. This patch is analogous to the commit 5a62ec57004f ("ARM: shmobile: henninger: enable SATA0") as there are no differences between the boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 39cd2dd39a8b92ce91c4dad95f6e979c946a3942 Merge: d2856b0 ad2ad5d 4bace73 a36a996 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:06:25 2015 -0700 Merge branches 'doc.2015.10.06a', 'percpu-rwsem.2015.10.06a' and 'torture.2015.10.06a' into HEAD doc.2015.10.06a: Documentation updates. percpu-rwsem.2015.10.06a: Optimization of per-CPU reader-writer semaphores. torture.2015.10.06a: Torture-test updates. commit d2856b046d2ce2bfb664727cb8671ad0e371bd6c Merge: 7f5f873 338b0f7 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:05:21 2015 -0700 Merge branches 'fixes.2015.10.06a' and 'exp.2015.10.07a' into HEAD exp.2015.10.07a: Reduce OS jitter of RCU-sched expedited grace periods. fixes.2015.10.06a: Miscellaneous fixes. commit 338b0f760e84676130c6e4d8268cb8c923b38c8c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 00:45:02 2015 -0700 rcu: Better hotplug handling for synchronize_sched_expedited() Earlier versions of synchronize_sched_expedited() can prematurely end grace periods due to the fact that a CPU marked as cpu_is_offline() can still be using RCU read-side critical sections during the time that CPU makes its last pass through the scheduler and into the idle loop and during the time that a given CPU is in the process of coming online. This commit therefore eliminates this window by adding additional interaction with the CPU-hotplug operations. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b08517c76d764c373c232cd309ed058c98705219 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 12:17:29 2015 -0700 rcu: Enable stall warnings for synchronize_rcu_expedited() This commit redirects synchronize_rcu_expedited()'s wait to synchronize_sched_expedited_wait(), thus enabling RCU CPU stall warnings. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c58656382e5f2919b05913584f2c54b4f841bc9f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 11:25:48 2015 -0700 rcu: Add tasks to expedited stall-warning messages This commit adds task-print ability to the expedited RCU CPU stall warning messages in preparation for adding stall warnings to synchornize_rcu_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 74611ecb0fc4c850a8f89a744ce99cbf0dd43cb2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:20:43 2015 -0700 rcu: Add online/offline info to expedited stall warning message This commit makes the RCU CPU stall warning message print online/offline indications immediately after the CPU number. A "O" indicates global offline, a "." global online, and a "o" indicates RCU believes that the CPU is offline for the current grace period and "." otherwise, and an "N" indicates that RCU believes that the CPU will be offline for the next grace period, and "." otherwise, all right after the CPU number. So for CPU 10, you would normally see "10-...:" indicating that everything believes that the CPU is online. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit dcdb8807ba0f5127d4dc67daeeb154edf50a93d1 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 15 19:00:31 2015 -0700 rcu: Consolidate expedited CPU selection Now that sync_sched_exp_select_cpus() and sync_rcu_exp_select_cpus() are identical aside from the the argument to smp_call_function_single(), this commit consolidates them with a functional argument. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 66fe6cbee44e3f78d05882195a6a38e30b97b936 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 15 17:20:58 2015 -0700 rcu: Prepare for consolidating expedited CPU selection This commit brings sync_sched_exp_select_cpus() into alignment with sync_rcu_exp_select_cpus(), as a first step towards consolidating them into one function. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 02ef3c4a2aae65a1632b27770bfea3f83ca06772 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 15:14:30 2015 -0700 cpu: Remove try_get_online_cpus() Now that synchronize_sched_expedited() no longer uses it, there are no users of try_get_online_cpus() in mainline. This commit therefore removes it. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 807226e2fbb504d82cd504b7b6114896db41ef63 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 7 12:03:45 2015 -0700 rcu: Stop excluding CPU hotplug in synchronize_sched_expedited() Now that synchronize_sched_expedited() uses IPIs, a hook in rcu_sched_qs(), and the ->expmask field in the rcu_node combining tree, it is no longer necessary to exclude CPU hotplug. Any races with CPU hotplug will be detected when attempting to send the IPI. This commit therefore removes the code excluding CPU hotplug operations. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 83c2c735e78da1a0d994911f730f6e1d36c88d7a Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 20:43:02 2015 -0700 rcu: Stop silencing lockdep false positive for expedited grace periods This reverts commit af859beaaba4 (rcu: Silence lockdep false positive for expedited grace periods). Because synchronize_rcu_expedited() no longer invokes synchronize_sched_expedited(), ->exp_funnel_mutex acquisition is no longer nested, so the false positive no longer happens. This commit therefore removes the extra lockdep data structures, as they are no longer needed. commit 6587a23b6b9bdb47205ec96c703e5bf8a2d39701 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 16:50:39 2015 -0700 rcu: Switch synchronize_sched_expedited() to IPI This commit switches synchronize_sched_expedited() from stop_one_cpu_nowait() to smp_call_function_single(), thus moving from an IPI and a pair of context switches to an IPI and a single pass through the scheduler. Of course, if the scheduler actually does decide to switch to a different task, there will still be a pair of context switches, but there would likely have been a pair of context switches anyway, just a bit later. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ae938802443732e77d01f8d5b52b900b9327ff30 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Oct 6 17:46:46 2015 -0300 perf python: Support the PERF_RECORD_SWITCH event To test it check tools/perf/python/twatch.py, after following the instructions there to enable context_switch, output looks like: [root@zoo linux]# tools/perf/python/twatch.py cpu: 1, pid: 31463, tid: 31463 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31463, switch_out: 0 } cpu: 2, pid: 31463, tid: 31496 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31496, switch_out: 0 } cpu: 2, pid: 31463, tid: 31496 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31496, switch_out: 1 } cpu: 3, pid: 31463, tid: 31527 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31527, switch_out: 0 } cpu: 1, pid: 31463, tid: 31463 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31463, switch_out: 1 } cpu: 3, pid: 31463, tid: 31527 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31527, switch_out: 1 } cpu: 1, pid: 31463, tid: 31463 { type: context_switch, next_prev_pid: 31463, next_prev_tid: 31463, switch_out: 0 } ^CTraceback (most recent call last): File "tools/perf/python/twatch.py", line 67, in <module> main(context_switch = 1, thread = 31463) File "tools/perf/python/twatch.py", line 40, in main evlist.poll(timeout = -1) KeyboardInterrupt [root@zoo linux]# Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Guy Streeter <streeter@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-1ukistmpamc5z717k80ctcp2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit df829b06f0079165d9dc7719af8f8a7da852fe51 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:39:58 2015 +0900 ARM: dts: Use GPIO constants for flags cells in exynos5440 boards The board DTS are using numeric values instead of the defined GPIO constanst to express polarity, use them to make the DTS more clear. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 31b9903c233e831f3b0c05c6a62c0e39e85e77ec Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:39:58 2015 +0900 ARM: dts: Use GPIO constants for flags cells in exynos5420/5422/5800 boards The board DTS are using numeric values instead of the defined GPIO constanst to express polarity, use them to make the DTS more clear. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c10d3290cbde0e81d92d622e0b58eea2739fe557 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:39:58 2015 +0900 ARM: dts: Use GPIO constants for flags cells in exynos4412 boards The board DTS are using numeric values instead of the defined GPIO constanst to express polarity, use them to make the DTS more clear. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 39c1c413c1970803137d58ba25ea554f4f0fccea Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:39:58 2015 +0900 ARM: dts: Use GPIO constants for flags cells in exynos4120 boards The board DTS are using numeric values instead of the defined GPIO constanst to express polarity, use them to make the DTS more clear. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit de77e52d34269f25a33e231fe3c1431116776617 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:39:57 2015 +0900 ARM: dts: Use GPIO constants for flags cells in exynos3250 boards The board DTS are using numeric values instead of the defined GPIO constanst to express polarity, use them to make the DTS more clear. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 27e6699c35be9a849e35d58f381efc199a1e1ede Author: Emilio Lopez <emilio.lopez@xxxxxxxxxxxxxxx> Date: Thu Oct 8 07:35:21 2015 +0900 ARM: dts: Enable EC vboot context support on Peach boards The Peach boards use the EC to store the vboot context information, so add the corresponding properties on the EC node to indicate so. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Emilio Lopez <emilio.lopez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit c60ce7fe82c46d9480b85858828e3042dfe6c9bf Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Mon Sep 14 11:01:33 2015 +0530 arm64: dts: Add BUS1 instance pinctrl support for exynos7 This adds BUS1 instance pinctrl for exynos7 soc. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 6252eb0a17132b87d42a1c8f15a967bc9143ae60 Merge: 6c6000c c21dbcfe Author: Kukjin Kim <kgene@xxxxxxxxxx> Date: Thu Oct 8 07:16:31 2015 +0900 Merge tag 'samsung-dt-4.4-2' of http://github.com/krzk/linux into v4.4-next/dt-samsung Device Tree improvements for Exynos based boards (updated pull request): 1. Enable DMA on Exynos4 serial ports. This old patch uncovered a number of other issues in dmaengine and samsung serial driver. All of known issues are resolved so finally enable the DMA for UART. 2. Fix incorrect location of display-timings node (FIMD->DP node) on Arndale, SMDK5250 and SMDK5240 boards. 3. Minor cleanups. commit 18800fc7a04e7df8a345e7ef4fc3064368276f83 Author: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Date: Mon Sep 21 10:38:22 2015 -0300 platform/chrome: Support reading/writing the vboot context Some EC implementations include a small nvram space used to store verified boot context data. This patch offers a way to expose this data to userspace. Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7f5028cf6190407b7a632b0f30b83187577824cc Author: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Date: Mon Sep 21 10:38:20 2015 -0300 sysfs: Support is_visible() on binary attributes According to the sysfs header file: "The returned value will replace static permissions defined in struct attribute or struct bin_attribute." but this isn't the case, as is_visible is only called on struct attribute only. This patch introduces a new is_bin_visible() function to implement the same functionality for binary attributes, and updates documentation accordingly. Note that to keep functionality and code similar to that of normal attributes, the mode is now checked as well to ensure it contains only read/write permissions or SYSFS_PREALLOC. Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Emilio López <emilio.lopez@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7fd0ac66c2de5767e234fea6436d28dce210da80 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Aug 27 11:42:32 2015 -0400 i40e/i40evf: remove unused opcode This opcode is not required. VFs that program RSS through the firmware do it by interacting directly with the firmware, and do not need to use the virtual channel for this functionality. Change-ID: Iaf17d2600e28ff1b6be8653f2fe9df1facd23b0e 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 313ed2d52052ad8dab9a6182cde55a832873cbea Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Aug 27 11:42:31 2015 -0400 i40evf: propagate interrupt allocation failure Lower level functions are properly reporting errors, and higher-level functions are correctly responding to errors, but the errors aren't actually getting through. Typically, the middle-manager function seems to want to shield its boss from any bad news. This change fixes a panic if the driver is unable to enable MSI-X or is unable to acquire enough vectors. Change-ID: Ifd5787ce92519a5d97e4b465902db930d97b71a1 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 2642f02528b6e9c1e904f6e3ec902d8a2deb7af5 Author: Neerav Parikh <neerav.parikh@xxxxxxxxx> Date: Thu Aug 27 11:42:30 2015 -0400 i40e: Additional checks for CEE APP priority validity The firmware has added additional status information to allow software to determine if the APP priority for FCoE/iSCSI/FIP is valid or not in CEE DCBX mode. This patch adds to support those additional checks and will only add applications to the software table that have oper and sync bits set without any error. Change-ID: I0a76c52427dadf97d4dba4538a3068d05e4eb56b 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 2fc3d7152ae9562c15c30ed4a766ba05a3db8200 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Aug 27 11:42:29 2015 -0400 i40e/i40evf: Add a stat to keep track of linearization count Keep track of how many times we ask the stack to linearize the skb because the HW cannot handle skbs with more than 8 frags per segment/single packet. Change-ID: If455452060963a769bbe6112cba952e79e944b52 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 f14ae099bdad32414ad968909973bfade9b37967 Author: Christian Engelmayer <cengelma@xxxxxx> Date: Sun Jul 19 21:43:02 2015 +0200 platform/chrome: cros_ec: Fix possible leak in led_rgb_store() Function led_rgb_store() contains some direct returns in error cases that leak the already allocated cros_ec_command message structure. Make sure that 'msg' is freed in all exit paths. Detected by Coverity CID 1309666. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 88dfb8b43d557ee9b1c1ffd2c8d275dd479a66d4 Author: Christian Engelmayer <cengelma@xxxxxx> Date: Sat Jul 18 19:30:33 2015 +0200 platform/chrome: cros_ec: Fix leak in sequence_store() The allocated cros_ec_command message structure is not freed in function sequence_store(). Make sure that 'msg' is freed in all exit paths. Detected by Coverity CID 1309667. Signed-off-by: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 23ecee32b91cf732226bd7a3ee9fa7a9127645ab Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Jul 1 12:46:42 2015 +0200 platform/chrome: Enable Chrome platforms on 64-bit ARM With Chrome running on 64-bit ARM devices, add ARM64 to the list of supported architectures. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> [olof; Fixed up due to addition of COMPILE_TEST] Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit afbf8ec7c4f90ddd3ee8655c591983fb9d399f43 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Jun 22 08:27:20 2015 +0200 platform/chrome: cros_ec_dev - Add a platform device ID table If the cros_ec_dev driver is built as a module, modalias information is not filled so the module is not autoloaded. Add a platform device table and use the MODULE_DEVICE_TABLE() macro to export that information in the module so user-space can match the modalias uevent and autoload it. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 85bba84ead5cec41add1cbdb2978e572add10deb Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Jun 22 08:27:19 2015 +0200 platform/chrome: cros_ec_lpc - Add support for Google Pixel 2 Since the verion of ACPI in Google BIOS does not enumerate the devices in the LPC bus, the cros_ec_lpc driver resorts to DMI data to check if a system is supported by the driver and autoload if built as a module. Add information about the Google Pixel 2 to the DMI device table. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit fbf40727c781a3b8562e76a86cd08a111414d1c7 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Jun 22 08:27:18 2015 +0200 platform/chrome: cros_ec_lpc - Use existing function to check EC result Commit 6db07b633658 ("mfd: cros_ec: Check result code from EC messages") added a common cros_ec_check_result() function that can be used to check the ec_msg->result for errors and warns about them. Use the existing function instead of duplicating same check in the driver. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Tested-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 75529a9d427500f1b7deb3d0dec5c8d0a61fee02 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:19:55 2015 +0200 platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO The ChromeOS EC LPC and chardev drivers 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 devices that are matched with these drivers are registered by the ChromeOS EC mfd driver, they really depend on MFD_CROS_EC. And because this config option selects CROS_EC_PROTO, that dependency is met as well. So make the drivers to depend on MFD_CROS_EC instead of CROS_EC_PROTO. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit f70f276a2e910c69d11b038a7df3de9d08f10b8b Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Aug 19 13:19:54 2015 +0200 Revert "platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM" This reverts commit d12bbcd3ea44 ("platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM") since it was found to not be the correct fix for the MFD_CROS_EC config unmet direct dependencies warning. The correct solution was to add the needed dependencies to the MFD_CROS_EC symbol. Besides the revert, this patch extends the CHROME_PLATFORMS symbol dependencies and adds || COMPILE_TEST to allow drivers to have build coverage on other architectures. Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 2f41f3358672dfda67c1e254f1e823d98e6a3099 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:20 2015 -0400 i40e/i40evf: fix unicast mac address add When using something like "ip maddr add ..." to add another unicast mac address to the netdev, the mac address comes into the set_rx_mode handler in the multicast list whether it is a unicast or multicast address. This was confusing the code when it was trying to search for addresses that needed to be deleted from the VSI, because it was looking for the VSI unicast address in the netdev unicast list. The result was that a new unicast address would get added to the VSI list and then immediately removed, and would never actually make it down into the hardware. This patch removes the separation from unicast and multicast in the search for filters to be deleted. It also simplifies the logic a little with a jump to the bottom of the loop when an address is found. Now it doesn't matter which netdev list the address is hiding in, we'll check them all. Change-ID: Ie3685a92427ae7d2212bf948919ce295bc7a874c 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 a72a5abcb37beac163704efba6a3d33ebca4d90a Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Wed Aug 26 15:14:19 2015 -0400 i40e: fix bug in return from get_link_status and avoid spurious link messages Previously, the driver could call this function and have only true/false returned, but false could mean multiple things like failure to read or link was down. This change allows the caller to get all return values in the call chain bubbled back to the source, which keeps information about failures from being lost. Also, in some unlikely scenarios, the firmware can become slow to respond to admin queue (AQ) queries for link state. Should the AQ time out, the driver can detect the state and avoid a link change when there may have been none. Change-ID: Ib2ac38407b7880750fb891b392fa77457fe6c21c 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 dd38c583aea07c508caeaf979c64e267584ee067 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Wed Aug 26 15:14:18 2015 -0400 i40e: add little endian conversion for checksum The checksum is not correct on big endian machines so add code to swap it correctly. Change-ID: Ic92b886d172a2cbe49f5d7eee1bc78e447023c7b Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fb43201f150300fa2c0215f00418eda9143cdab1 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:17 2015 -0400 i40e/i40evf: give up the __func__ During early development, we added the function name to all of the error strings to make debugging simpler. Now that we've released the driver, our users should have more comprehensible error messages. So tear the roof off and give up the __func__. Ow. Change-ID: I7e1766252c7a032b9af6520da6aff536bdfd533c Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> 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 0002e1189b594d462c7a93417f5ac8bbc22bd768 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Wed Aug 26 15:14:16 2015 -0400 i40e: Never let speed get set to 0 in get_settings In ethtool, there is a possibility of speed getting set to 0 if advertise is set to 0 (which it is when autoneg is disabled). We never want this to happen as the firmware will actually attempt to set the speed to 0 sending link down, so add an extra check to make sure this doesn't happen. Change-ID: I62e0eeee2cbf043d8e6f5c9c9f0b92794e877f01 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 fba52e21e5cad1347255d0d3600f7e4df6e69435 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Wed Aug 26 15:14:15 2015 -0400 i40e: Fix for truncated interrupt name This patch extends the size of the text available for the interrupt names. Without this patch, all the descriptive data available for the Flow Director interrupts is truncated. Change-ID: I2ac458f23ac3b4ea8f1edf73edc283b1d3704c7f Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9e1c26e35030aa56057a69514acb17da5e81eb16 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:14 2015 -0400 i40e/i40evf: assure clean asq status report There was a possibility where the asq_last_status could get through without update and thus report a previous error. I don't think we've actually seen this happen, but this patch will help make sure it doesn't. Change-ID: I9e33927052a5ee6ea21f80b66d4c4b76c2760b17 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Christopher Pau <christopher.pau@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 21364bcfc7810894114ab18f5335745e374cc2ea Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:13 2015 -0400 i40e: make i40e_init_pf_fcoe to void i40e_init_pf_fcoe() didn't return anything except 0, it prints enough error info already, and no driver logic depends on the return value, so this can be void. Change-ID: Ie6afad849857d87a7064c42c3cce14c74c2f29d8 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 725821f340184fcdd35dbd369c5058eec8a30fcb Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:12 2015 -0400 i40e: fix bad CEE status shift value Fix a shift value that was wrong, ending up with a bad bitmask. Also add a blank line between two sets of #defines for better readability. Change-ID: I3e41fa2a2ab904d3a4e6cbf13972ab0036a10601 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 df08fd4dbcc95cbc5a35745b6a77a9df0dc5776f Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:11 2015 -0400 i40e/i40evf: fix a potential type compare issue Rework an if expression to assure there is no type compare problem between a size and a possible negative number. Change-ID: I4921fcc96abfcf69490efce020a9e4007f251c99 Reported-by: Helin Zhang <helin.zhang@xxxxxxxxx> 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 bc5166b908aaa126d524b84c767323b75c17bdee Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:10 2015 -0400 i40e/i40evf: add driver support for new device ids Early addition of new a device id. Change-ID: I61a8c8556fdf4f5714be4e4089689e374f30293c 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 0325fca7577c5157da2cdf064fc3e8d38242e47c Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Wed Aug 26 15:14:09 2015 -0400 i40e: stop VF rings Explicitly stop the rings belonging to each VF when disabling SR-IOV. Even though the VFs were gone, and the associated VSIs were removed, the rings were not stopped, and in some circumstances the hardware would continue to access the memory formerly used by the rings, causing memory corruption or DMAR errors, both of which would lead to general malaise of the kernel. To relieve this condition, explicitly stop all the rings associated with each VF before releasing its resources. Change-ID: I78c05d562c66e7b594b7e48d67860f49b3e5b6ec 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 1d5109d18757d8d6450905275bf362819781368c Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Wed Aug 26 15:14:08 2015 -0400 i40e: enable WoL operation if config bit show WoL capable The driver was disabling Wake-on-LAN by default and waiting for the user to expressly turn it on. This patch has the driver turning on WoL from the start if enabled in the hardware config, which matches the behavior of our other drivers. Change-ID: I43faedb907f8ba4d1a61b72a7c86072b97af12b1 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 22e05bd6f7949d3e638c9f4697a2198a19fff312 Author: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Date: Wed Aug 26 15:14:07 2015 -0400 i40e: Increase the amount of time we wait for reset to be done In some rare cases the reset can take longer to complete so increase the amount of time we wait. Change-ID: Ib5628ec54b526a811ee33d1214fe763226406671 Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c3984cc994377671f18d3d719ddd86b5107457ee Merge: 8ace60f a54c8f0 Author: Jens Axboe <axboe@xxxxxx> Date: Wed Oct 7 13:50:17 2015 -0600 Merge branch 'stable/for-jens-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus Konrad writes: Please git pull an update branch to your 'for-4.3/drivers' branch (which oddly I don't see does not have the previous pull?) git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-jens-4.3 which has two fixes - one where we use the Xen blockfront EFI driver and don't release all the requests, the other if the allocation of resources for a particular state failed - we would go back 'Closing' and assume that an structure would be allocated while in fact it may not be - and crash. commit a54c8f0f2d7df525ff997e2afe71866a1a013064 Author: Cathy Avery <cathy.avery@xxxxxxxxxx> Date: Fri Oct 2 09:35:01 2015 -0400 xen-blkfront: check for null drvdata in blkback_changed (XenbusStateClosing) xen-blkfront will crash if the check to talk_to_blkback() in blkback_changed()(XenbusStateInitWait) returns an error. The driver data is freed and info is set to NULL. Later during the close process via talk_to_blkback's call to xenbus_dev_fatal() the null pointer is passed to and dereference in blkfront_closing. CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Cathy Avery <cathy.avery@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit 0693bdf75469487812da7c09949b09ad0396a737 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Oct 7 15:43:58 2015 -0300 [media] dvb: Remove unused frontend sources at demux.h and sync doc The DVB core has a provision for other frontend sources, but no drivers use it. The kdapi.xml contains provision for some other frontend source types, but it is not in sync with the code. So, remove the unused types and sync both files. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fab6266e82a8981cccec55af47589665daf69fb6 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:36:29 2015 +0100 fpga manager: add driver for socfpga fpga manager Add driver to fpga manager framework to allow configuration of FPGA in Altera SoCFPGA parts. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a8c3be7ec8eb3c1197766f9245e0d65a4e5aff8 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:36:28 2015 +0100 add FPGA manager core API to support programming FPGA's. The following functions are exported as GPL: * fpga_mgr_buf_load Load fpga from image in buffer * fpga_mgr_firmware_load Request firmware and load it to the FPGA. * fpga_mgr_register * fpga_mgr_unregister FPGA device drivers can be added by calling fpga_mgr_register() to register a set of fpga_manager_ops to do device specific stuff. * of_fpga_mgr_get * fpga_mgr_put Get/put a reference to a fpga manager. The following sysfs files are created: * /sys/class/fpga_manager/<fpga>/name Name of low level driver. * /sys/class/fpga_manager/<fpga>/state State of fpga manager Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afb79e993a949d02895b912eacc86ab0e416b6fd Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:36:27 2015 +0100 fpga manager: add sysfs interface document Add documentation under drivers/staging for new fpga manager's sysfs interface. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f5fda1ad477f02bf82a50284acbd0f7f1364e3 Author: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 16:36:26 2015 +0100 usage documentation for FPGA manager core Add a document on the new FPGA manager core. Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af6162155e943dfc7dc2c45507e39cc4d60d5812 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Wed Oct 7 09:26:43 2015 -0600 coresight: etm3x: making error message unambiguous By adding the function name at the beginning of the error message there is no doubt as to where the failing condition occurred. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7253e4c95616db24611989a848d90ebe2255adad Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Wed Oct 7 09:26:42 2015 -0600 coresight: etm3x: breaking down sysFS status interface SysFS rules stipulate that only one value can be conveyed per file. As such splitting the "status" interface in individual files. This is also useful for user space applications - that way they can probe each file individually rather than having to parse a list of entries. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adfad8745c38d2bfe9e855f9d112a8583564112f Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Wed Oct 7 09:26:41 2015 -0600 coresight: etm3x: adding cpu affinity to sysFS interface Without access to the device tree, it is impossible to know what CPU a tracer is affined to. As such adding a new sysFS interface to convey the information. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58b8d51b841eff6473df4d25959a2ec335b7cb85 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Wed Oct 7 09:26:40 2015 -0600 coresight: adding comments to remove ambiguity Add comment to function coresight_enable_path() to make sure there is no misunderstanding about what the code does. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d27ff5aba2d36b152542e9d62158eb6584bcbd3 Author: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Date: Wed Oct 7 09:26:39 2015 -0600 coresight: fixing typographical error Tracing gets enabled _for_ a source rather than _from_ a source. Signed-off-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 497b59565b25d6dd2441bc483f3811ee27a0c7b0 Author: Chunyan Zhang <zhang.chunyan@xxxxxxxxxx> Date: Wed Oct 7 09:26:38 2015 -0600 Coresight: ETMv4: Prevent TRCRSCTLR0&1 from being accessed 1. TRCRSCTLRn - Resource Selection Control Registers n=0~1 are reserved, we shouldn't access them. 2. The max number of 'n' here is defined in TRCIDR4.NUMRSPAIR whoes value indicates the number of resource selection *pairs*, and 0 indicates one resource selection pair, 1 indicates two pairs, and so on ... So, the total number of resource selection control registers which we can access is (TRCIDR4.NUMRSPAIR * 2) 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 1266963170f576d4d08e6310b6963e26d3ff9d1e Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Wed Oct 7 11:03:28 2015 -0500 PCI: Prevent out of bounds access in numa_node override 63692df103e9 ("PCI: Allow numa_node override via sysfs") didn't check that the numa node provided by userspace is valid. Passing a node number too high would attempt to access invalid memory and trigger a kernel panic. Fixes: 63692df103e9 ("PCI: Allow numa_node override via sysfs") Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.19+ commit 87b2bdf02278e5623cc66e5189792fde01f829a3 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Wed Oct 7 11:31:59 2015 +0100 ASoC: Intel: Skylake: Initialize NHLT table Load and Initialize Non HDA Link Table in Skylake driver to get platform configuration. 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 2a29b200c6f17827ee712e719ad29366f79205ee Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Wed Oct 7 11:31:58 2015 +0100 ASoC: Intel: Skylake: Add DSP support and enable it If processing pipe capability is supported, add DSP support. Adds initialization/free/suspend/resume DSP functionality. 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 b663a8c5c9c043c47e5e0eea9f9c77ea88fbe67a Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Wed Oct 7 11:31:57 2015 +0100 ASoC: Intel: Skylake: Initialize and load DSP controls Initialize and creates DSP controls if processing pipe capability is supported by HW. Updates the dma_id, hw_params to module param to be used when DSP module has to be configured. 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 3af36706ff6c4ea8695e92b1ba80e183f1919684 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 7 11:31:56 2015 +0100 ASoC: Intel: Skylake: Add topology core init and handlers The SKL driver does not code DSP topology in driver. It uses the newly added ASoC topology core to parse the topology information (controls, widgets and map) from topology binary. Each topology element passed private data which contains information that driver used to identify the module instance within firmware and send IPCs for that module to DSP firmware along with parameters. This patch adds init routine to invoke topology load and callback for topology creation. 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 4f91fc6d2c1d98b3da7a8341ef5ec66ccf2916b9 Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Wed Oct 7 14:44:02 2015 +0300 drm/i915: Hook up ring workaround writes at context creation time on Gen6-7. intel_rcs_ctx_init() emits all workaround register writes on the list to the ring, in addition to calling i915_gem_render_state_init(). The workaround list is currently empty on Gen6-7 so this shouldn't cause any functional changes. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 02235808b61cd9382d224b0df263193006dd9913 Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Wed Oct 7 14:44:01 2015 +0300 drm/i915: Don't warn if the workaround list is empty. It's not an error for the workaround list to be empty if no workarounds are needed. This will avoid spamming the logs unnecessarily on Gen6 after the workaround list is hooked up on pre-Gen8 hardware by the following commits. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6a8aadc43974729349cb6b823d774c091afd78cd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 1 18:06:50 2015 +0200 drm/i915: Resurrect golden context on gen6/7 In commit 8f0e2b9d95a88ca5d8349deef2375644faf184ae Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Dec 2 16:19:07 2014 +0100 drm/i915: Move golden context init into ->init_context I've shuffled around per-ctx init code a bit for legacy contexts but accidentally dropped the render state init call on gen6/7. Resurrect it. Reported-by: Francisco Jerez <currojerez@xxxxxxxxxx> Cc: Francisco Jerez <currojerez@xxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Cc: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Francisco Jerez <currojerez@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5b5929cbe3f77e1a01cd2709c8dd7fe0302af1b6 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Oct 7 11:17:46 2015 +0300 drm/i915/chv: remove pre-production hardware workarounds Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Appease gcc and remove the unused variable.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cfb0a87383c6c2827f108ecee3471ef981876b38 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 7 11:31:55 2015 +0100 ASoC: Intel: Skylake: Add FE and BE hw_params handling For FE and BE, the PCM parameters come from FE and BE hw_params values passed. For a FE we convert the FE params to DSP expected module format and pass to DSP. For a BE we need to find the gateway settings (i2s/PDM) to be applied. These are queried from NHLT table and applied. Further for BE based on direction the settings are applied as either source or destination parameters. These helpers here allow the format to be calculated and queried as per firmware format. 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 d93f8e550f44ed1f54285f77f40f7962a3f25267 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 7 11:31:54 2015 +0100 ASoC: Intel: Skylake: add DSP platform widget event handlers The Skylake driver topology model tries to model the firmware rule for pipeline and module creation. The creation rule is: - Create Pipe - Add modules to Pipe - Connect the modules (bind) - Start the pipes Similarly destroy rule is: - Stop the pipe - Disconnect it (unbind) - Delete the pipe In driver we use Mixer, as there will always be ONE mixer in a pipeline to model a pipe. The modules in pipe are modelled as PGA widgets. The DAPM sequencing rules (mixer and then PGA) are used to create the sequence DSP expects as depicted above, and then widget handlers for PMU and PMD events help in that. This patch adds widget event handlers for PRE/POST PMU and PRE/POST PMD event for mixer and pga modules. These event handlers invoke pipeline creation, destroy, module creation, module bind, unbind and pipeline bind unbind Event handler sequencing is implement to target the DSP FW sequence expectations to enable path from source to sink pipe for Playback/Capture. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Hardik T Shah <hardik.t.shah@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 f7590d4f1565b0d609d25113c37b9bea8a13e9f7 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Wed Oct 7 11:31:53 2015 +0100 ASoC: Intel: Skylake: Add module configuration helpers To configure a module, driver needs to send input and output PCM params for a module in DSP. The FE PCM params come from hw_params ie from user, for a BE they also come from hw_params but from BE-link fixups. So based on PCM params required driver has to find a converter module (src/updown/format) and then do the conversion and calculate PCM params in these pipelines In this patch we add the helper modules which allow driver to do these calculations. Signed-off-by: Hardik T Shah <hardik.t.shah@xxxxxxxxx> 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 e4e2d2f45284f620eeb9eea25570838b2a42c968 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Wed Oct 7 11:31:52 2015 +0100 ASoC: Intel: Skylake: Add pipe and modules handlers SKL driver needs to instantiate pipelines and modules in the DSP. The topology in the DSP is modelled as DAPM graph with a PGA representing a module instance and mixer representing a pipeline for a group of modules along with the mixer itself. Here we start adding building block for handling these. We add resource checks (memory/compute) for pipelines, find the modules in a pipeline, init modules in a pipe and lastly bind/unbind modules in a pipe These will be used by pipe event handlers in subsequent patches 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 d39398f5374e2ae35832ad8e01e60e8deb6d4e1c Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Oct 7 11:17:44 2015 +0300 drm/i915/snb: remove pre-production hardware workaround 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 b44f84081b8db1b5830cbd30280ba1109cc1a084 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:46:48 2015 +0300 drm: Stop using drm_vblank_count() as the hw frame counter drm_vblank_count() returns the software counter. We should not pretend it's the hw counter since we use the hw counter to figuere out what the software counter value should be. So instead provide a new function drm_vblank_no_hw_counter() for drivers that don't have a real hw counter. The new function simply returns 0, which is about the only thing it can do. Cc: Vincent Abriou <vincent.abriou@xxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx> [danvet: s/int pipe/unsigned int pipe/ to follow Thierry's interface change.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a97d4e93a9bc556d0b3c2efb7695eb4c79938de7 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:27:13 2015 +0100 ASoC: da7213: Add bindings documentation for codec driver Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6e7c444318699496e6e6f30c875cf67534aeccc6 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:27:11 2015 +0100 ASoC: da7213: Add support to handle mclk data provided to driver Driver now can make use of mclk data, if provided, to set, enable and disable the clock source. As part of this, the choice to enable clock squaring is dealt with as part of dai_sysclk() call rather than as platform data. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e90996a3ea224fbeb459b8052ecd366d7990e1f3 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 14:27:08 2015 +0100 ASoC: da7213: Add DT support to codec driver This patch adds support for DT bindings in the codec driver. As part of this support, the mclk data can now be provided and used to control the mclk during codec operation. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 26148bd3c0f1fbd8f2b0dae994f3195316f677db Author: Akash Goel <akash.goel@xxxxxxxxx> Date: Fri Sep 18 23:39:51 2015 +0530 drm/i915/bxt: Set time interval unit to 0.833us Note that in Bspec you have to dig around in a section called "Timestamp bases" and Bspec update request is filed. Signed-off-by: Ankitprasad Sharma <ankitprasad.r.sharma@xxxxxxxxx> Signed-off-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> [danvet: Add note about state of Bspec.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2f5945bc9076bd7b1086c1b4ac47dea8ab336e57 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 11:39:55 2015 +0100 drm/i915: Kill DRI1 cliprects Passing cliprects into the kernel for it to re-execute the batch buffer with different CMD_DRAWRECT died out long ago. As DRI1 support has been removed from the kernel, we can now simply reject any execbuf trying to use this "feature". To keep Daniel happy with the prospect of being able to reuse these fields in the next decade, continue to ensure that current userspace is not passing garbage in through the dead fields. v2: Fix the cliprects_ptr check Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5763ff04dc4ebdd13d069d44513b10805ebebd8c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:18:29 2015 +0100 drm/i915: Avoid GPU stalls from kswapd Exclude active GPU pages from the purview of the background shrinker (kswapd), as these cause uncontrollable GPU stalls. Given that the shrinker is rerun until the freelists are satisfied, we should have opportunity in subsequent passes to recover the pages once idle. If the machine does run out of memory entirely, we have the forced idling in the oom-notifier as a means of releasing all the pages we can before an oom is prematurely executed. Note that this relies upon an up-front retire_requests to keep the inactive list in shape, which was added in a previous patch, mostly as execlist ctx pinning band-aids. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Add note about retire_requests.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce8daef3580ae38fea9599e2193e4c368357c4c6 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:18:28 2015 +0100 drm/i915: Remove dead i915_gem_evict_everything() With UMS gone, we no longer use it during suspend. And with the last user removed from the shrinker, we can remove the dead code. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9c0f5ea1b60b1f759a928505205335775e20512 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:18:27 2015 +0100 drm/i915: During shrink_all we only need to idle the GPU We can forgo an evict-everything here as the shrinker operation itself will unbind any vma as required. If we explicitly idle the GPU through a switch to the default context, we not only create a request in an illegal context (e.g. whilst shrinking during execbuf with a request already allocated), but switching to the default context will not free up the memory backing the active contexts - unless in the unlikely situation that context had already been closed (and just kept arrive by being the current context). The saving is near zero and the danger real. To compensate for the loss of the forced retire, add a couple of retire-requests to i915_gem_shirnk() - this should help free up any transitive cache from the requests. Note that the second retire_requests is for the benefit of the hand-rolled execlist ctx active tracking: We need to manually kick requests to get those unpinned again. Once that's fixed we can try to remove this again. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add summary of why we need a pile of retire_requests.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3abafa539d2c17d46df3f47b35eb784fdf3020a1 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:18:26 2015 +0100 drm/i915: Add a tracepoint for the shrinker Often it is very useful to know why we suddenly purge vast tracts of memory and surprisingly up until now we didn't even have a tracepoint for when we shrink our memory. Note that there are slab_start/end tracepoints already, but those don't cover the internal recursion when we directly call into our shrinker code. Hence a separate tracepoint seems justified. Also note that we don't really need a separate tracepoint for the actual amount of pages freed since we already have an unbind tracpoint for that. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add a note that there's also slab_start/end and why they're insufficient.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cb422619976f3f1b71f68f0c1b5a764e9f90fb0c Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Thu Oct 1 17:01:09 2015 +0800 drm/i915: DocBook add i915_component.h support Add the item of i915_component.h in DocBook and add the DOC for i915_component.h. Explain the struct i915_audio_component_ops and struct i915_audio_component_audio_ops usage. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3f4c90bd203125c807a96f18d3195cf3a1988279 Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Thu Oct 1 17:01:08 2015 +0800 drm/i915: add kerneldoc for i915_audio_component Add the kerneldoc for i915_audio_component in i915_component.h Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2844659842017c981f6e6f74aca3a7ebe10edebb Merge: 1438754 87f77ef Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Oct 7 15:34:15 2015 +0200 Merge remote-tracking branch 'takashi/topic/drm-sync-audio-rate' into drm-intel-next-queued Pull in the i915/hda changes for N/CTS setting so I can apply the follow-up documentation work for drm/i915. Some conflicts because ofc we had to rework i915 while that N/CTS work was going on. But not more than adjacent changes really. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 143875400b33fc20e9dd060e90034f2e9e9ffc98 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:18:25 2015 +0100 drm/i915: shrinker_control->nr_to_scan is now unsigned long As the shrinker_control now passes us unsigned long targets, update our shrinker functions to match. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ec9555ed065addc598244084c7e0e950b34890a Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 3 19:37:59 2015 -0300 dmaengine: imx-sdma: Remove unneeded dev_info() There is no need to print that the driver has been initialized or removed, so remove such messages. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ce078af76faffc5353256ce487dbd85a6f1ad3a4 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 3 19:37:58 2015 -0300 dmaengine: imx-sdma: Move message level to debug Since commit d078cd1b4185 ("dmaengine: imx-sdma: Add imx6sx platform support") we get this message on every boot on mx6q: imx-sdma 20ec000.sdma: no event needs to be remapped , which is not very helpful. Move the message to debug level instead. Cc: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 1f2449cdd689931f5f511235899b2a0e28010e50 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Oct 6 14:47:55 2015 +0200 drm/i915: Fix kerneldoc for i915_gem_shrink_all I've botched this, so let's fix it. Botched in commit eb0b44adc08c0be01a027eb009e9cdadc31e65a2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 18 14:47:59 2015 +0100 drm/i915: kerneldoc for i915_gem_shrinker.c v2: Be a good citizen^Wmaintainer and add the proper commit citation. Noticed by Jani. Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 70e238df1daa05366d091d75163e1b08d7f122c3 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:08 2015 +0100 MAINTAINERS: add myself as arm perf reviewer As suggested by Will Deacon, add myself as a reviewer of the ARM PMU profiling and debugging code. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit dd06a84bf6446dab1592d4c7908a3037fbccdf1e Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:07 2015 +0100 MAINTAINERS: update ARM PMU profiling and debugging for arm64 Will Deacon maintains the profiling and debugging code under both arch/arm and arch/arm64. Update MAINTAINERS to reflect this, in preparation for adding myself as a reviewer of said code. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 01a507a371a35a5ee2b283af2ae7f8ed0b5e36f1 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:06 2015 +0100 arm64: dts: juno: describe PMUs separately The A57 and A53 PMUs in Juno support different events, so describe them separately in both the Juno and Juno R1 DTs. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Liviu Dudau <liviu.dudau@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 62a4dda9d63a10e5b28943967fc936c74fa16dfb Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:05 2015 +0100 arm64: perf: add Cortex-A57 support The Cortex-A57 PMU supports a few events outside of the required PMUv3 set that are rather useful. This patch adds the event map data for said events. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ac82d12772158dfbc1d3827a68b317e10326bbaa Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:04 2015 +0100 arm64: perf: add Cortex-A53 support The Cortex-A53 PMU supports a few events outside of the required PMUv3 set that are rather useful. This patch adds the event map data for said events. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 6475b2d846176e3272351266869481a21ff47866 Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Fri Oct 2 10:55:03 2015 +0100 arm64: perf: move to shared arm_pmu framework Now that the arm_pmu framework has been factored out to drivers/perf we can make use of it for arm64, gaining support for heterogeneous PMUs and unifying the two codebases before they diverge further. The as yet unused PMU name for PMUv3 is changed to armv8_pmuv3, matching the style previously applied to the 32-bit PMUs. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 8f48c0629049fdebb6e783803325bff19176d3fd Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Oct 7 11:37:36 2015 +0100 arm64: hw_breakpoint: use target state to determine ABI behaviour The arm64 hw_breakpoint interface is slightly less flexible than its 32-bit counterpart, thanks to some changes in the architecture rendering unaligned watchpoint addresses obselete for AArch64. However, in a multi-arch environment (i.e. debugging a 32-bit target with a 64-bit GDB under a 64-bit kernel), we need to provide a feature compatible interface to GDB in order for debugging to function correctly. This patch adds a new helper, is_compat_bp, to our hw_breakpoint implementation which changes the interface behaviour based on the architecture of the debug target as opposed to the debugger itself. This allows debugged to function as expected for multi-arch configurations without relying on deprecated architectural behaviours when debugging native applications. Cc: Yao Qi <yao.qi@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit acb4a6bfc80ddeea4c44074dd630f916259e909e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Oct 6 14:49:58 2015 -0700 tcp: ensure prior synack rtx behavior with small backlogs Some applications use a listen() backlog of 1. Prior kernels were silently enforcing a qlen_log of 4, so that we were sending up to /proc/sys/net/ipv4/tcp_synack_retries SYNACK messages. Fixes: ef547f2ac16b ("tcp: remove max_qlen_log") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 686a562449af96a0e8c18c6f1b87b47ff8c36de8 Author: Yuvaraja Mariappan <ymariappan@xxxxxxxxx> Date: Tue Oct 6 10:53:29 2015 -0700 net: ipv4: tcp.c Fixed an assignment coding style issue Fixed an assignment coding style issue Signed-off-by: Yuvaraja Mariappan <ymariappan@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 729ecbc77a1fe763de409be0307c61c1fa32cc06 Merge: 68e4bd2 ec6674c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 04:52:14 2015 -0700 Merge branch 's390-net' Ursula Braun says: ==================== s390: qeth patches for net-next here are some s390 related patches for net-next. The qeth patches are performance optimizations in the driver. The qdio patch corrects a warning condition. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec6674c6382819542446b727a2bf54f3dd879ca2 Author: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Date: Tue Oct 6 15:12:29 2015 +0200 s390/qdio: fix WARN_ON_ONCE condition If HiperSockets Completion Queueing is enabled, qdio always issues a warning, since the condition is always met. This patch fixes the condition in WARN_ON_ONCE that was always true. Signed-off-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe5c802882f2eaaf5475b072f16066038754782a Author: Lakhvich Dmitriy <ldmitriy@xxxxxxxxxx> Date: Tue Oct 6 15:12:28 2015 +0200 s390/qeth: optimize MAC handling in rx_mode callback In layer2 mode of the qeth driver, MAC address lists from struct net_device require mapping to the OSA-card. The existing implementation is inefficient for lists with more than several MAC addresses, since for every ndo_set_rx_mode callback it removes all MAC addresses first, and then registers the current MAC address list. This patch changes implementation of ndo_set_rx_mode callback in qeth, only performing hardware registration/removal for new/deleted addresses. To shorten lookup of MAC addresses registered addresses are kept in a hashtable instead of a linear list. Signed-off-by: Lakhvich Dmitriy <ldmitriy@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Reviewed-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Reviewed-by: Thomas Richter <tmricht@xxxxxxxxxx> Tested-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9abfa8cb201b2167872654b92f567f8bff6016f4 Author: Thomas Richter <tmricht@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 15:12:27 2015 +0200 s390/qeth: switch to napi_gro_receive Add support for GRO (generic receive offload) in the layer 2 part of device driver qeth. This results in a performance improvement when GRO and RX is turned on. Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68e4bd2778fb48a98cf9db8e218ef2f3a817bafc Merge: deaa0a6 5d6ae47 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 04:49:39 2015 -0700 Merge branch 'bridge-netlink-port-attrs' Nikolay Aleksandrov says: ==================== bridge: netlink: complete port attribute support This is the second set that completes the bridge port's netlink support and makes everything from sysfs available via netlink. I've used sysfs as a guide of what and how to set again. I've tested setting/getting every option and also this time tested enabling KASAN. Again there're a few long line warnings about the ifla attribute names in br_port_info_size() but as the previous set - it's good to know what's been accounted for. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d6ae479ab7ddf77bb22bdf739268581453ff886 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:12:02 2015 +0200 bridge: netlink: add support for port's multicast_router attribute Add IFLA_BRPORT_MULTICAST_ROUTER to allow setting/getting port's multicast_router via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b0c6e4deb3df91bf0aea8158ea77dc58c9d90b6 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:12:01 2015 +0200 bridge: netlink: allow to flush port's fdb Add IFLA_BRPORT_FLUSH to allow flushing port's fdb similar to sysfs's flush. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61c0a9a83e0b12c712cd686172446aba8ea48685 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:12:00 2015 +0200 bridge: netlink: export port's timer values Add the following attributes in order to export port's timer values: IFLA_BRPORT_MESSAGE_AGE_TIMER, IFLA_BRPORT_FORWARD_DELAY_TIMER and IFLA_BRPORT_HOLD_TIMER. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e08e838ac5707cb1f1294e0d53b31997a0367b99 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:11:59 2015 +0200 bridge: netlink: export port's topology_change_ack and config_pending Add IFLA_BRPORT_TOPOLOGY_CHANGE_ACK and IFLA_BRPORT_CONFIG_PENDING to allow getting port's topology_change_ack and config_pending respectively via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42d452c4b5e7bf0e3024fa9512ec462f70545ae5 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:11:58 2015 +0200 bridge: netlink: export port's id and number Add IFLA_BRPORT_(ID|NO) to allow getting port's port_id and port_no respectively via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96f94e7f4a216282a24819968184c881e6343692 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:11:57 2015 +0200 bridge: netlink: export port's designated cost and port Add IFLA_BRPORT_DESIGNATED_(COST|PORT) to allow getting the port's designated cost and port respectively via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80df9a2692edf7afffda9282e716e7b1df198e07 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:11:56 2015 +0200 bridge: netlink: export port's bridge id Add IFLA_BRPORT_BRIDGE_ID to allow getting the designated bridge id via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ebc7660ab4559cad10b6595e05f70562bb26dc5 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 14:11:55 2015 +0200 bridge: netlink: export port's root id Add IFLA_BRPORT_ROOT_ID to allow getting the designated root id via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit deaa0a6a930edc79081268bf23b196d0340499af Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 10:49:04 2015 -0700 net: Lookup actual route when oif is VRF device If the user specifies a VRF device in a get route query the custom route pointing to the VRF device is returned: $ ip route ls table vrf-red unreachable default broadcast 10.2.1.0 dev eth1 proto kernel scope link src 10.2.1.2 10.2.1.0/24 dev eth1 proto kernel scope link src 10.2.1.2 local 10.2.1.2 dev eth1 proto kernel scope host src 10.2.1.2 broadcast 10.2.1.255 dev eth1 proto kernel scope link src 10.2.1.2 $ ip route get oif vrf-red 10.2.1.40 10.2.1.40 dev vrf-red cache Add the flags to skip the custom route and go directly to the FIB. With this patch the actual route is returned: $ ip route get oif vrf-red 10.2.1.40 10.2.1.40 dev eth1 src 10.2.1.2 cache Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2579c98f0d04075ab8b041de7d5396393d2417f1 Merge: 390a4be 5edfcee Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 04:29:18 2015 -0700 Merge tag 'mac80211-next-for-davem-2015-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== For the current cycle, we have the following right now: * many internal fixes, API improvements, cleanups, etc. * full AP client state tracking in cfg80211/mac80211 from Ayala * VHT support (in mac80211) for mesh * some A-MSDU in A-MPDU support from Emmanuel * show current TX power to userspace (from RafaÅ?) * support for netlink dump in vendor commands (myself) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 390a4bee5c2ade628565dd21fb5d8656a58f7804 Merge: 4148987 bb191c3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 04:27:51 2015 -0700 Merge branch 'l3mdev_saddr_op' David Ahern says: ==================== net: Add saddr op to l3mdev and vrf First 2 patches are re-sends of patches that got lost in the ethosphere Tuesday; they were part of the first round of l3mdev conversions. Next 3 handle the source address lookup for raw and datagram sockets bound to a VRF device. The conversion to the get_saddr op also fixes locally originated TCP packets showing up at the VRF device. The use of the FLOWI_FLAG_L3MDEV_SRC flag in ip_route_connect_init was causing locally generated packets to skip the VRF device. v2 - rebased to top of net-next per device delete fix and hash based multipath patches ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb191c3e874650ae8f701885f3dd5f8ea8989b19 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:51:27 2015 -0700 net: Add l3mdev saddr lookup to raw_sendmsg ping originated on box through a VRF device is showing up in tcpdump without a source address: $ tcpdump -n -i vrf-blue 08:58:33.311303 IP 0.0.0.0 > 10.2.2.254: ICMP echo request, id 2834, seq 1, length 64 08:58:33.311562 IP 10.2.2.254 > 10.2.2.2: ICMP echo reply, id 2834, seq 1, length 64 Add the call to l3mdev_get_saddr to raw_sendmsg. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8cbb512c923d5f695ff6265b2b741b1718e3b444 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:51:26 2015 -0700 net: Add source address lookup op for VRF Add operation to l3mdev to lookup source address for a given flow. Add support for the operation to VRF driver and convert existing IPv4 hooks to use the new lookup. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ce58d84358c7b477811b5100152fad848f936fc Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:51:25 2015 -0700 net: Refactor path selection in __ip_route_output_key_hash VRF device needs the same path selection following lookup to set source address. Rather than duplicating code, move existing code into a function that is exported to modules. Code move only; no functional change. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fee6d4c777a125e56de9370db3b2bf359bf958d6 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:51:24 2015 -0700 net: Add netif_is_l3_slave IPv6 addrconf keys off of IFF_SLAVE so can not use it for L3 slave. Add a new private flag and add netif_is_l3_slave function for checking it. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e2895a8e3824eb5611c97a015a3b6d678b4503e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:51:23 2015 -0700 net: Rename FLOWI_FLAG_VRFSRC to FLOWI_FLAG_L3MDEV_SRC Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4148987a5111b0c8062bd78f39a67c361f621a39 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 08:32:51 2015 -0600 net: Fix vti use case with oif in dst lookups for IPv6 It occurred to me yesterday that 741a11d9e4103 ("net: ipv6: Add RT6_LOOKUP_F_IFACE flag if oif is set") means that xfrm6_dst_lookup needs the FLOWI_FLAG_SKIP_NH_OIF flag set. This latest commit causes the oif to be considered in lookups which is known to break vti. This explains why 58189ca7b274 did not the IPv6 change at the time it was submitted. Fixes: 42a7b32b73d6 ("xfrm: Add oif to dst lookups") Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcc448e619194098b24477a6d56af50c57f26f1d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Oct 7 12:42:22 2015 +0200 ASoC: rsnd: Remove obsolete platform data support Since commit 3d7608e4c169af03 ("ARM: shmobile: bockw: remove legacy board file and config"), Renesas R-Car 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. Move <sound/rcar_snd.h> to sound/soc/sh/rcar/, as it's no longer needed by platform code. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e905b80b92146d8dd0bf2da3ade0944a3026597 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Oct 5 17:19:59 2015 +0300 gianfar: Add WAKE_UCAST and "wake-on-filer" support This enables eTSEC's filer (Rx parser) and the FGPI Rx interrupt (Filer General Purpose Interrupt) as a wakeup source event. Upon entering suspend state, the eTSEC filer is given a rule to match incoming L2 unicast packets. A packet matching the rule will be enqueued in the Rx ring and a FGPI Rx interrupt will be asserted by the filer to wakeup the system. Other packet types will be dropped. On resume the filer table is restored to the content before entering suspend state. The set of rules from gfar_filer_config_wol() could be extended to implement other WoL capabilities as well. The "fsl,wake-on-filer" DT binding enables this capability on certain platforms that feature the necessary power management infrastructure, targeting mainly printing and imaging applications. (refer to Power Management section of the SoC Ref Man) Cc: Li Yang <leoli@xxxxxxxxxxxxx> Cc: Zhao Chenhui <chenhui.zhao@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70963d245ed11412658b89fe308b6188b62259c7 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Oct 5 17:19:58 2015 +0300 powerpc: dts: p1022si: Add fsl,wake-on-filer for eTSEC Enable the "wake-on-filer" (aka. wake on user defined packet) wake on lan capability for the eTSEC ethernet nodes. Cc: Li Yang <leoli@xxxxxxxxxxxxx> Cc: Zhao Chenhui <chenhui.zhao@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66cebb86ac77c6dff0751efa382551cab24075cd Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Mon Oct 5 17:19:57 2015 +0300 doc: dt: net: Add fsl,wake-on-filer for eTSEC Add the "fsl,wake-on-filer" property for eTSEC nodes to indicate that the system has the power management infrastructure needed to be able to wake up the system via FGPI (filer, aka. h/w rx parser) interrupt. Cc: Li Yang <leoli@xxxxxxxxxxxxx> Cc: Zhao Chenhui <chenhui.zhao@xxxxxxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04a8250b40394f34a54439c62c883322b3107bd2 Merge: 4917a15 6b26ba3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 04:18:04 2015 -0700 Merge branch 'ovs-ipv6-tunnel' Jiri Benc says: ==================== openvswitch: add IPv6 tunneling support This builds on the previous work that added IPv6 support to lwtunnels and adds IPv6 tunneling support to ovs. To use IPv6 tunneling, there needs to be a metadata based tunnel net_device created and added to the ovs bridge. Currently, only vxlan is supported by the kernel, with geneve to follow shortly. There's no need nor intent to add a support for this into the vport-vxlan (etc.) compat layer. v3: dropped the last two patches added in v2. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b26ba3a7d952e611dcde1f3f77ce63bcc70540a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Mon Oct 5 13:09:47 2015 +0200 openvswitch: netlink attributes for IPv6 tunneling Add netlink attributes for IPv6 tunnel addresses. This enables IPv6 support for tunnels. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00a93babd06aaad31d23384cda576ede0f586a8c Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Mon Oct 5 13:09:46 2015 +0200 openvswitch: add tunnel protocol to sw_flow_key Store tunnel protocol (AF_INET or AF_INET6) in sw_flow_key. This field now also acts as an indicator whether the flow contains tunnel data (this was previously indicated by tun_key.u.ipv4.dst being set but with IPv6 addresses in an union with IPv4 ones this won't work anymore). The new field was added to a hole in sw_flow_key. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4917a1548ff41e53d863d6845b4da1884e4282b4 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 5 12:11:21 2015 +0200 bridge: netlink: make br_fill_info's frame size smaller When KASAN is enabled the frame size grows > 2048 bytes and we get a warning, so make it smaller. net/bridge/br_netlink.c: In function 'br_fill_info': >> net/bridge/br_netlink.c:1110:1: warning: the frame size of 2160 bytes >> is larger than 2048 bytes [-Wframe-larger-than=] Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba856fbd602175d386ab5a4fc0fdd89b912546cb Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 11:57:14 2015 +0100 ASoC: da7219: Improve error checking of mclk enable/disable Should only try to enable/disable the provided mclk, during bias level changes, if it's not NULL. Also return value of clk_prepare_enable() should be checked and dealt with accordingly. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b7ebd78d1d142e4e47c3547b08faf51218384583 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Wed Oct 7 11:57:12 2015 +0100 ASoC: da7219: Use of_match_ptr() when assigning match table Use of_match_ptr() to handle non-DT kernel scenario where match table should be NULL. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c570b82c5e6ac78be35b4e72594c0f1b1888fce1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 11:59:58 2015 +0100 ASoC: sun4i-codec: Remove the routing property Most of the boards have their headphone jack directly connected to the matching pins of the SoCs. Since most of the time we will have the same routing path, it makes no sense to put that in the DTS, since it will only be some useless duplication there. It also fixes the following warning messages that were seen so far, on boards where we were using the bindings in the documentation example. sun4i-codec 1c22c00.codec: ASoC: no sink widget found for Headphone Jack sun4i-codec 1c22c00.codec: ASoC: Failed to add route HP Left -> direct -> Headphone Jack sun4i-codec 1c22c00.codec: ASoC: no sink widget found for Headphone Jack sun4i-codec 1c22c00.codec: ASoC: Failed to add route HP Right -> direct -> Headphone Jack Reported-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 16660f0bd942cec203eaf4de0e2ac1695bd9d32d Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Sat Oct 3 11:43:46 2015 -0700 net: Add support for filtering neigh dump by device index Add support for filtering neighbor dumps by device by adding the NDA_IFINDEX attribute to the dump request. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6c1a8a6ce19d30c235ef0fa285d5110aafaefe2 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Sep 14 12:29:39 2015 +0300 ARM: davinci: clock: Correct return values for API functions Fix the values returned by the publicly used functions. These function should return 0 when they are called with clk == NULL in similar manner as the clock API does to avoid different behavior in drivers used by daVinci and other architectures. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit d1a31e975738c215f450f3d7c15d5fb96942a866 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:05 2015 +0300 ARM: davinci: re-use %*ph specifier %*ph specifier allows to dump data in hex format using the pointer to a buffer. This is suitable to use here. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 120798d2e7d1ac87365fe5ea91b074bb42ca1eff Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:30 2015 +0100 arm64: mm: remove dsb from update_mmu_cache update_mmu_cache() consists of a dsb(ishst) instruction so that new user mappings are guaranteed to be visible to the page table walker on exception return. In reality this can be a very expensive operation which is rarely needed. Removing this barrier shows a modest improvement in hackbench scores and , in the worst case, we re-take the user fault and establish that there was nothing to do. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 28c6fbc3b446caf5f8d1f2d7b79e09e743158a4d Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:29 2015 +0100 arm64: tlb: remove redundant barrier from __flush_tlb_pgtable __flush_tlb_pgtable is used to invalidate intermediate page table entries after they have been cleared and are about to be freed. Since pXd_clear imply memory barriers, we don't need the extra one here. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 38d96287504a2478eb538bfecfa1fddd743bb6b2 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:28 2015 +0100 arm64: mm: kill mm_cpumask usage mm_cpumask isn't actually used for anything on arm64, so remove all the code trying to keep it up-to-date. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c2775b2ee5caca19f661ee2ab5af92462596db71 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:27 2015 +0100 arm64: switch_mm: simplify mm and CPU checks switch_mm performs some checks to try and avoid entering the ASID allocator: (1) If we're switching to the init_mm (no user mappings), then simply set a reserved TTBR0 value with no page table (the zero page) (2) If prev == next *and* the mm_cpumask indicates that we've run on this CPU before, then we can skip the allocator. However, there is plenty of redundancy here. With the new ASID allocator, if prev == next, then we know that our ASID is valid and do not need to worry about re-allocation. Consequently, we can drop the mm_cpumask check in (2) and move the prev == next check before the init_mm check, since if prev == next == init_mm then there's nothing to do. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 5a7862e83000ccfd36db927c6f060458fe271157 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:26 2015 +0100 arm64: tlbflush: avoid flushing when fullmm == 1 The TLB gather code sets fullmm=1 when tearing down the entire address space for an mm_struct on exit or execve. Given that the ASID allocator will never re-allocate a dirty ASID, this flushing is not needed and can simply be avoided in the flushing code. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit f3e002c24e1f3b66f6e392ecd6928b5d04672c54 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:25 2015 +0100 arm64: tlbflush: remove redundant ASID casts to (unsigned long) The ASID macro returns a 64-bit (long long) value, so there is no need to cast to (unsigned long) before shifting prior to a TLBI operation. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 5aec715d7d3122f77cabaa7578d9d25a0c1ed20e Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:24 2015 +0100 arm64: mm: rewrite ASID allocator and MM context-switching code Our current switch_mm implementation suffers from a number of problems: (1) The ASID allocator relies on IPIs to synchronise the CPUs on a rollover event (2) Because of (1), we cannot allocate ASIDs with interrupts disabled and therefore make use of a TIF_SWITCH_MM flag to postpone the actual switch to finish_arch_post_lock_switch (3) We run context switch with a reserved (invalid) TTBR0 value, even though the ASID and pgd are updated atomically (4) We take a global spinlock (cpu_asid_lock) during context-switch (5) We use h/w broadcast TLB operations when they are not required (e.g. in flush_context) This patch addresses these problems by rewriting the ASID algorithm to match the bitmap-based arch/arm/ implementation more closely. This in turn allows us to remove much of the complications surrounding switch_mm, including the ugly thread flag. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 8e63d38876691756f9bc6930850f1fb77809be1b Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:23 2015 +0100 arm64: flush: use local TLB and I-cache invalidation There are a number of places where a single CPU is running with a private page-table and we need to perform maintenance on the TLB and I-cache in order to ensure correctness, but do not require the operation to be broadcast to other CPUs. This patch adds local variants of tlb_flush_all and __flush_icache_all to support these use-cases and updates the callers respectively. __local_flush_icache_all also implies an isb, since it is intended to be used synchronously. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: David Daney <david.daney@xxxxxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit fa7aae8a4257e6be7051420dac1f150c1eef721b Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:22 2015 +0100 arm64: proc: de-scope TLBI operation during cold boot When cold-booting a CPU, we must invalidate any junk entries from the local TLB prior to enabling the MMU. This doesn't require broadcasting within the inner-shareable domain, so de-scope the operation to apply only to the local CPU. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Tested-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c51e97d89e526368eb697f87cd4d391b9e19f369 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Oct 6 18:46:21 2015 +0100 arm64: mm: remove unused cpu_set_idmap_tcr_t0sz function With commit b08d4640a3dc ("arm64: remove dead code"), cpu_set_idmap_tcr_t0sz is no longer called and can therefore be removed from the kernel. This patch removes the function and effectively inlines the helper function __cpu_set_tcr_t0sz into cpu_set_default_tcr_t0sz. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 1ea29b39f4c812ece2f936065a0a3d6fe44a263e Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Fri Sep 11 11:22:04 2015 +0000 spi: bcm2835aux: add bcm2835 auxiliary spi device driver The bcm2835 has 2 auxiliary spi bus masters spi1 and spi2. This implements the driver to enable these devices. The driver does not implement native chip-selects but uses the aribtrary GPIO-chip-selects provided by the spi-chipselect. Note that this driver relies on the fact that the clock is implemented by the clk-bcm2835-aux driver, which enables/disables the HW block when requesting/releasing the clock. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Acked-by: Eric Anholt <eric@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 541cf5de027b7e9afe3a8f0ce205d2ccc02ac3fe Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Fri Sep 11 11:22:03 2015 +0000 spi: bcm2835aux: spi: add bindings for the bcm2835 auxiliary spi devices This defines the spi1 and spi2 devices in the device-tree. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 127db024a7baee9874014dac33628253f438b4da Author: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Date: Thu Sep 17 12:38:07 2015 +0300 arm64: introduce VA_START macro - the first kernel virtual address. In order to not use lengthy (UL(0xffffffffffffffff) << VA_BITS) everywhere, replace it with VA_START. Signed-off-by: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit cc91ef0fd4904fc130aecea8603585a9c0fe8384 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Sat Oct 3 03:37:59 2015 +0800 ASoC: nau8825: fix platform_no_drv_owner.cocci warnings sound/soc/codecs/nau8825.c:1096: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: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 34ca27f34f413b4a684fc7336911799da3ac84d5 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Fri Oct 2 09:49:14 2015 -0700 ASoC: nau8825: Add driver for headset chip Nuvoton 8825 Sponsored-by: Google Chromium project Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 52095d179c5b3254fa87aaa6990e164c5cf21e12 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 30 14:39:47 2015 +0800 ARM: dts: sun6i: hummingbird: Drop AXP221 DC1SW and DC5LDO supplies "dcdc1-supply" and "dcdc5-supply" have been dropped, as they are internally connected and should not be represented in the device tree. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 404268828c74ba06b1f21584b26edafb381c9d7d Author: Feng Kan <fkan@xxxxxxx> Date: Wed Sep 23 11:55:39 2015 -0700 arm64: copy_to-from-in_user optimization using copy template This patch optimize copy_to-from-in_user for arm 64bit architecture. The copy template is used as template file for all the copy*.S files. Minor change was made to it to accommodate the copy to/from/in user files. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Balamurugan Shanmugam <bshanmugam@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit e5c88e3f2fb35dca5f3e46d65095bf5d008595b7 Author: Feng Kan <fkan@xxxxxxx> Date: Wed Sep 23 11:55:38 2015 -0700 arm64: Change memcpy in kernel to use the copy template file This converts the memcpy.S to use the copy template file. The copy template file was based originally on the memcpy.S Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Balamurugan Shanmugam <bshanmugam@xxxxxxx> [catalin.marinas@xxxxxxx: removed tmp3(w) .req statements as they are not used] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit efa773fe913ff188c554ccaac577d0a1bb1dc2f4 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Mon Aug 24 18:01:15 2015 +0530 arm64: defconfig: Enable samsung serial and mmc This patch update defconfig, adds samsung serial and Synopsys Designware MMC configs related to exynos SoC Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit b5e5a4549c8b88a880fa3866fa3803ea9396ba03 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 5 14:53:50 2015 +0300 ASoC: Intel: use dw_dmac autoconfiguration Instead of hardconding a platform data for dw_dmac let's use it's own autoconfiguration feature. Thus, remove hardcoded values. Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e892406f00e1f93d81fdb350e1bcb5cb0e5dabff Merge: d25b8e7 8552d85 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 7 03:01:53 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-10-03 This series contains updates to i40e and i40evf, some of which are to resolve more Red Hat bugzilla issues. Jiang Liu updates the i40e and i40evf drivers to use numa_mem_id() instead of numa_node_id() to get the nearest node with memory which better supports memoryless nodes. Anjali fixes an issue from Dan Carpenter <dan.carpenter@xxxxxxxxxx>, to resolve a memory leak in X722 RSS configuration path, where we should free the memory allocated before exiting. Shannon modifies the drivers to ensure we have the spinlocks before we clear the ARQ and ASQ management registers. In addition, we widen the locked portion insert a sanity check to ensure we are working with safe register values. Mitch fixes an issue where under certain circumstances, we can get an extra VF_RESOURCES message from the PF driver at runtime. When this occurs, we need to parse it because our VSI may have changed and that will affect the relationship with the PF driver. But this parsing also blows away our current MAC address, so resolve the issue by restoring the current MAC address from the netdev struct after we parse the resource message. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d25b8e74291fec2dbf3fe3df7f20289eeaa9d28f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 18:09:07 2015 +0100 net: dsa: better error reporting Add additional error reporting to the generic DSA code, so it's easier to debug when things go wrong. This was useful when initially bringing up 88e6176 on a new board. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bac50bace0377138fed2ac3627c1ad470ea1eca Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Oct 3 18:09:01 2015 +0100 net: dsa: mv88e6xxx: remove link polling The link status is polled by the generic phy layer, there's no need to duplicate that polling with additional polling. This additional polling adds additional MDIO traffic, and races with the generic phy layer, resulting in missing or duplicated link status messages. Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2ec7029c9347879ec21dbe003ef80dd1343b3b4 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 1 19:57:51 2015 +0800 ARM: dts: sun8i: sinlinx-sina33: Enable Reduced Serial Bus controller The Reduced Serial Bus controller is used to talk to the onboard PMIC. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d4eac998b9d18602d995e55ed31951a1b81d8f2a Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 1 19:57:50 2015 +0800 ARM: dts: sun8i: q8-common: Enable RSB controller for A23/A33 Q8 tablets The Reduced Serial Bus controller is used to talk to the onboard PMIC. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 79d05ec96a768d37781f7c98489eea58de3e2348 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 1 19:57:49 2015 +0800 ARM: dts: sun8i: Add Reduced Serial Bus controller device node to A23/A33 dtsi This patch adds a device node for the Reduced Serial Bus (RSB) controller and the defacto pinmux setting to the A23/A33 dtsi. Since there is only one possible pinmux setting for RSB, just set it in the dtsi. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit dc6d84c69cf8296b1e8e2fd0b1e115b7787ef4e9 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Oct 5 21:22:40 2015 +0800 ASoC: rt286: Fix run time error while modifying const data Make a copy of memory for index_cache rather than directly use the rt286_index_def to avoid run time error. Fixes: c418a84a8c8f ("ASoC: Constify reg_default tables") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d46183efe3b57d06461c9bea35e1a0262391fe77 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Oct 6 17:26:36 2015 +0800 ASoC: ad193x-spi: Fixup ad193x_spi_id table AD1939 is missed from the table, so add it. AD1936 and AD1937 are controlled by I2C interface, so remove them. Fixes: e5224f58e3ef ("ASoC: ad193x: add support to ad1934") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0a6d1fa0d2b48fbae444e46e7f37a4832b2f8bdf Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:56 2015 -0700 x86/vdso: Remove runtime 32-bit vDSO selection 32-bit userspace will now always see the same vDSO, which is exactly what used to be the int80 vDSO. Subsequent patches will clean it up and make it support SYSENTER and SYSCALL using alternatives. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/e7e6b3526fa442502e6125fe69486aab50813c32.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b611acf4736b5b00c89dcc238f640337832abcb4 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:55 2015 -0700 x86/entry/64/compat: After SYSENTER, move STI after the NT fixup We eventually want to make it all the way into C code before enabling interrupts. We need to rework our flags handling slightly to delay enabling interrupts. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/35d24d2a9305da3182eab7b2cdfd32902e90962c.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 72f924783b8a87e4454516520ffb5f35e4930371 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:54 2015 -0700 x86/entry, locking/lockdep: Move lockdep_sys_exit() to prepare_exit_to_usermode() Rather than worrying about exactly where LOCKDEP_SYS_EXIT should go in the asm code, add it to prepare_exit_from_usermode() and remove all of the asm calls that are followed by prepare_exit_to_usermode(). LOCKDEP_SYS_EXIT now appears only in the syscall fast paths. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1736ebe948b845e68120b86b89091f3ec27f5e8e.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dd27f998f0ed3c797032a82033fa191be7c61e4c Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:53 2015 -0700 x86/entry/64/compat: Fix SYSENTER's NT flag before user memory access Clearing NT is part of the prologue, whereas loading up arg6 makes more sense to think about as part of syscall processing. Reorder them. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/19eb235828b2d2a52c53459e09f2974e15e65a35.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 04235c00b6bb72b589e99efcc18883378ee76f1b Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:52 2015 -0700 selftests/x86: Add a test for ptrace syscall restart and arg modification This tests assumptions about how fast syscall works wrt pt_regs and, in particular, what happens if IP is decremented by 2 during a syscall. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1c44dbfe59000ba135bbf35ccc5d2433a0b31618.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3b56aae34bc695638b8673fc8459be1837c18730 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:51 2015 -0700 selftests/x86: Add a test for vDSO unwinding While the kernel itself doesn't use DWARF unwinding, user code expects to be able to unwind the vDSO. The vsyscall (AT_SYSINFO) entry is manually CFI-annotated, and this tests that it unwinds correctly. I tested the test by incorrectly annotating __kernel_vsyscall, and the test indeed fails if I do that. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/8bf736d1925cdd165c0f980156a4248e55af47a1.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7e0f51cb445be8d3aee80e433ed8da4a33ad0157 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:50 2015 -0700 x86/uaccess: Add unlikely() to __chk_range_not_ok() failure paths This should improve code quality a bit. It also shrinks the kernel text: Before: text data bss dec filename 21828379 5194760 1277952 28301091 vmlinux After: text data bss dec filename 21827997 5194760 1277952 28300709 vmlinux ... by 382 bytes. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/f427b8002d932e5deab9055e0074bb4e7e80ee39.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a76cf66e948afbaeda8e3ecc861f29c47a026c27 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Mon Oct 5 17:47:49 2015 -0700 x86/uaccess: Tell the compiler that uaccess is unlikely to fault GCC doesn't realize that get_user(), put_user(), and their __ variants are unlikely to fail. Tell it. I noticed this while playing with the C entry code. Before: text data bss dec filename 21828763 5194760 1277952 28301475 vmlinux.baseline After: text data bss dec filename 21828379 5194760 1277952 28301091 vmlinux.new The generated code shrunk by 384 bytes. 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> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/dc37bed7024319c3004d950d57151fca6aeacf97.1444091584.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 25a9a924c0c8723ced99179eb639e8c5372a2557 Merge: 0b101e6 a0eeb8d Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 7 11:24:24 2015 +0200 Merge branch 'linus' into x86/asm, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7e64e5e66af8308725bfd03fcdf185c09b3056a7 Merge: f79683d 0316d30 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Wed Oct 7 12:14:23 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * more clean-ups towards multiple RX queues; * some rate scaling fixes and improvements; * some time-of-flight fixes; * other generic improvements and clean-ups; commit 9bc63ca0904da3f163c01087e27952dd962d548d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Mon Oct 5 12:43:57 2015 +0200 Bluetooth: btbcm: Read the local name in setup stage The Broadcom Bluetooth controllers have the chip name included in the ROM firmware or later in the patchram firmware. For debugging purposes read the local name and print it out. This is only done during setup stage and only once before loading the firmware and once after loading the firmware. For the Broadcom based controllers from Apple, the name is only read once after determining the chip id. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b941a5cbe10201afa937fba90d68d7af6093d3d4 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 7 02:05:41 2015 +0300 ARM: shmobile: porter: add SDHI0/2 DT support Define the Porter board dependent part of the SDHI0/2 device nodes along with the necessary voltage regulators (note that the Vcc regulators are dummy -- they are required but don't actually exist on the board). Also, GPIOs have to be used for the CD and WP signals due to the SDHI driver constraints... This patch is analogous to the commit 1299df03d719 ("ARM: shmobile: henninger: add SDHI0/2 DT support") as there are no differences between those boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 92240e8dc0d1a94ea3dde7cb19aace113dcc6cb9 Author: Simon Horman <horms@xxxxxxxxxxxx> Date: Tue Oct 6 17:09:52 2015 +0900 ipvs: Remove possibly unused variables from ip_vs_conn_net_{init,cleanup} If CONFIG_PROC_FS is undefined then the arguments of proc_create() and remove_proc_entry() are unused. As a result the net variables of ip_vs_conn_net_{init,cleanup} are unused. net/netfilter/ipvs//ip_vs_conn.c: In function â??ip_vs_conn_net_initâ??: net/netfilter/ipvs//ip_vs_conn.c:1350:14: warning: unused variable â??netâ?? [-Wunused-variable] net/netfilter/ipvs//ip_vs_conn.c: In function â??ip_vs_conn_net_cleanupâ??: net/netfilter/ipvs//ip_vs_conn.c:1361:14: warning: unused variable â??netâ?? [-Wunused-variable] ... Resolve this by dereferencing net as needed rather than storing it in a variable. Fixes: 3d99376689ee ("ipvs: Pass ipvs not net into ip_vs_control_net_(init|cleanup)") Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> commit ed1c9f0e78b3b360ade4fb838a6099d643f3cd04 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 08:49:04 2015 -0700 ipvs: Remove possibly unused variable from ip_vs_out Eric's net namespace changes in 1b75097dd7a26 leaves net unreferenced if CONFIG_IP_VS_IPV6 is not enabled: ../net/netfilter/ipvs/ip_vs_core.c: In function â??ip_vs_outâ??: ../net/netfilter/ipvs/ip_vs_core.c:1177:14: warning: unused variable â??netâ?? [-Wunused-variable] After the net refactoring there is only 1 user; push the reference to the 1 user. While the line length slightly exceeds 80 it seems to be the best change. Fixes: 1b75097dd7a26("ipvs: Pass ipvs into ip_vs_out") Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> [horms: updated subject] Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit d7e7f02f71bee425d651ced7ba3b316df61ab945 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 22 17:49:26 2015 +0800 nfc: s3fwrn5: i2c: Use devm_request_threaded_irq to avoid irq leak Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 45ee28570d73205e2129d995d805c7ae898e7a94 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 22 17:48:40 2015 +0800 nfc: s3fwrn5: Make NFC_S3FWRN5 select CRYPTO Make NFC_S3FWRN5 select CRYPTO to fix below build errors: ERROR: "crypto_destroy_tfm" [drivers/nfc/s3fwrn5/s3fwrn5.ko] undefined! ERROR: "crypto_alloc_base" [drivers/nfc/s3fwrn5/s3fwrn5.ko] undefined! scripts/Makefile.modpost:91: recipe for target '__modpost' failed make[1]: *** [__modpost] Error 1 Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 726d0d407b9a06b4f30053b33ae7d5edec8d5095 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Tue Oct 6 15:37:02 2015 -0700 Input: ft6236 - do not explicitly set driver's owner There is no need to explicitly set .owner for the driver, the core will do it for us. Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8b58cc36b11bafb9305db2417eab1eb47a212082 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Tue Oct 6 15:24:34 2015 -0700 Input: edt-ft5x06 - do not call desc_to_gpio for invalid gpios Since reset and wake pin are optional the gpio structure for those pins may be null. Therefore, they can't be blindly passed to desc_to_gpio. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5b21e3c740b770fb2548a5a8ea66e544d114d0a8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Oct 6 15:23:36 2015 -0700 Input: joydev - fix possible ERR_PTR() dereferencing Commit 5702222c9a7a ("Input: joydev - use memdup_user() to duplicate memory from user-space") changed the kmalloc() and copy_from_user() with a single call to memdup_user() but wrongly used the same error path than the old code in which the buffer allocated by kmalloc() was freed if copy_from_user() failed. This is of course wrong since if memdup_user() fails, no memory was allocated and the error in the error-valued pointer should be returned. Fixes: 5702222c9a7a ("Input: joydev - use memdup_user() to duplicate memory from user-space") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2f684b239cdbfcc1160392645a8fc056a68847ca Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 6 19:53:02 2015 -0300 [media] dvb: get rid of enum dmx_success This enum is not actually used anymore. The only value used from the enum is DMX_OK, passed as a parameter on two callbacks. Yet, this value is not used anywhere. So, just remove it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 753da421ba467dcabc1b8bd2accbf605d0da2ea9 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Wed Oct 7 00:51:23 2015 +0200 NFC: s3fwrn5: Remove superfluous cflags NFC_DEBUG is not defined in Kconfig and since DEBUG is not used anywhere in this directory, we can safely remove this line. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Acked-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit c4602280869e7aceb1245f525eff923e548ec9f3 Author: Lee, Chun-Yi <joeyli.kernel@xxxxxxxxx> Date: Mon Oct 5 18:17:42 2015 +0800 acer-wmi: remove threeg and interface sysfs interfaces Since v3.0 kernel, acer-wmi driver auto detects internal 3G device and provides the threeg rfkill interface. So the sysfs interface of 3G is no longer necessary now. The 7b8aca65 patch added kernel information log to remind to user space for the threeg sysfs interface will be removed in 2012, then b58b9ffc patch updated the interface removing time to 2014. I think the 3 years lead time is enough for user space application to use rfkill instead of sysfs interface to control 3G device. This patch removes code about threeg sysfs interface. And it also removes the unused interface sysfs that exposes which ACPI-WMI method used by acer-wmi driver on the machine. The information is already exposed by the acer-wmi initial log. Cc: Carlos Corbacho <carlos@xxxxxxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Dmitry Torokhov <dtor@xxxxxxx> Cc: Corentin Chary <corentincj@xxxxxxxxxx> Cc: Martin Kepplinger <martink@xxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 7d3777d1069137800cdd1420a6c75cd94151d877 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Dec 29 14:26:50 2014 +0200 OLPC: Use %*ph specifier instead of passing direct values The %*ph specifier allows to dump small buffers in hex format. Let's use it instead of passing direct values via stack. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Paul Fox <pgf@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 3a4bceeffae5b170af523cd9f2798d5a0d14a2d7 Author: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Date: Tue Oct 6 23:17:04 2015 +0100 MAINTAINERS: Add drivers/platform/olpc to drivers/platform/x86 Andy Shevchenko sent me a simple patch that's been sitting on LKML for 10 months for OLPC and asked if I'd take it via platform/drivers/x86. OLPC appears to be unmaintained per MAINTAINERS. Add it to platform/drivers/x86 (unless someone else really wants it!) Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 4bc645df7d46253836062ecb1e2969034d5ebd11 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 6 18:39:40 2015 -0300 [media] DocBook: finish documenting struct dmx_demux There are two callbacks still not documented: .//drivers/media/dvb-core/demux.h:422: warning: No description found for parameter 'get_pes_pids' .//drivers/media/dvb-core/demux.h:422: warning: No description found for parameter 'get_stc' The purpose of first one is clear. The second one is used only on the obsolete av7110 driver, and its purpose is not clear, as it just returns a 64-bit word from the firmware to userspace. Let's document get_pes_pids and mark get_stc as private, adding a comment to not use it, while this is not documented. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1e92bbe08ad9fc0d5ec05174c176a9bc54921733 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 6 18:36:20 2015 -0300 [media] dvb: don't keep support for undocumented features There are two DVB demux callbacks and ioctls that aren't documented and aren't used at all by the DVB core or by any DVB driver upstream. Let's comment out the code for those two ioctls and remove on some future version. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 28cff82ce2811a15bbaa4e978c64a231ddc71880 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Oct 6 15:30:46 2015 -0300 [media] DocBook: update documented fields at struct dmx_demux There are a few inconsistencies between the old documentation that got imported into the header and the current status. Update them, and use the proper doc-nano nomenclature for struct artuments "@", instead of foo(). Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 95abfdb942a44e165c54a4e890a9b91a1eeb8621 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 15:10:55 2015 -0300 [media] DocBook: Move struct dmx_demux kABI doc to demux.h The DocBook/media/dvb/kdapi.xml contains the description of the kABI for DVB. The problem is that, by being maintained on a separate file and not being updated for years, it got outdated. So, for example, some callback parameters were changed, but the DocBook were still using the old stuff. As a first step to fix it, let's move the documentation of struct dmx_demux into demux.h and fix the parameters used there. For now, don't document any other field nor touch the descriptions that got moved, letting this job to other patches. That makes easier to review the patch. PS.: Please notice that an additional patch will be needed in order to fix the return values (some uses non-existent return codes) and to the functions and callbacks mentioned at the descriptions. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bdbbf13e0434ab82d700693ff19182013aaa09dd Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 14:04:54 2015 -0300 [media] dvb_ca_en50221.h: Make checkpatch.pl happy There are several CodingStyle violations at the DVB code. While we won't be fixing them as a hole, let's fix at least the headers, as we're touching on them already in order to properly document them. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d7061f836fb166467b0a39f6adec4a69a0c9b826 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 14:02:43 2015 -0300 [media] DocBook: document struct dvb_ca_en50221 This struct is already documented at the header file, but it is not using Kernel doc-nano format. Convert to it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 38349665388fb079fb2bc8c46db9446dd976802a Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Oct 6 11:00:17 2015 +0200 perf tools: Fix handling read result using a signed variable The function can return negative value, assigning it to unsigned variable can cause memory corruption. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: kernel-janitors@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444122017-16856-1-git-send-email-a.hajda@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1178bfd41f3ab6914eb6884875b776bc3032c9b5 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Oct 6 14:25:12 2015 +0200 perf tools: Use hpp_dimension__add_output to register hpp columns The perf_hpp__init currently does not respect sorting dimensions and the setup_sorting function could endup queueing same format twice. That screwed up the perf_hpp__list and got stuck in loop within perf_hpp__setup_output_field function. $ perf report -F +overhead 0x00000000004c1355 in perf_hpp__is_sort_entry (format=format@entry=0x880440 <perf_hpp.format>) at util/sort.c:1506 1506 { #0 0x00000000004c1355 in perf_hpp__is_sort_entry (format=format@entry=0x880440 <perf_hpp.format>) at util/sort.c:1506 #1 0x00000000004c139d in perf_hpp__same_sort_entry (a=a@entry=0x880440 <perf_hpp.format>, b=b@entry=0x2bb2fe0) at util/sort.c:1380 #2 0x00000000004f8d3c in perf_hpp__setup_output_field () at ui/hist.c:554 #3 0x00000000004c1d1e in setup_sorting () at util/sort.c:1984 #4 0x000000000042efbf in cmd_report (argc=0, argv=0x7ffea5a0e790, prefix=<optimized out>) at builtin-report.c:874 #5 0x0000000000476f13 in run_builtin (p=p@entry=0x875628 <commands+168>, argc=argc@entry=3, argv=argv@entry=0x7ffea5a0e790) at perf.c:385 #6 0x000000000047710b in handle_internal_command (argc=3, argv=0x7ffea5a0e790) at perf.c:445 #7 0x0000000000477176 in run_argv (argcp=argcp@entry=0x7ffea5a0e5fc, argv=argv@entry=0x7ffea5a0e5f0) at perf.c:489 #8 0x00000000004773e7 in main (argc=3, argv=0x7ffea5a0e790) at perf.c:606 Using hpp_dimension__add_output function to register the output column. It will also mark the dimension as taken and omit above stuck. Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444134312-29136-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit beeaaeb3684d97e89548c1b6b6275329214014df Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Oct 6 14:25:11 2015 +0200 perf tools: Introduce hpp_dimension__add_output function This function will allow to register output column from ui code and respect taken sort/output dimensions. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444134312-29136-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0974d2c9719a4c74fea0f6886b9922b100b903a6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Oct 6 14:25:10 2015 +0200 perf tools: Get rid of superfluos call to reset_dimensions There's no need to call reset_dimensions within __setup_output_field function. It's already called in its caller setup_sorting right before perf_hpp__init, which will be changed in following patch to respect taken dimension. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444134312-29136-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b4eb6cdbbd13698704863f680c643c569909e1c2 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Tue Aug 25 20:25:37 2015 -0400 PCI: Add builtin_pci_driver() to avoid registration boilerplate In f309d4443130 ("platform_device: better support builtin boilerplate avoidance"), we introduced the builtin_driver() macro. Here we use that support and extend it to PCI driver registration, so where a driver is clearly non-modular and builtin-only, we can register it in a similar fashion. Existing code that is clearly non-modular can be updated with the simple mapping of module_pci_driver(...) ---> builtin_pci_driver(...) We've essentially cloned the former to make the latter, and taken out the remove/module_exit parts since those never get used in a non-modular build of the code. Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit bd3208bab35872e545d40f22cc707a8c4892b66e Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:46 2015 +0200 ARM: pxa: magician: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 2dc9975a516aa49790c69368b3bbc519b64eb059 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:45 2015 +0200 ARM: pxa: lpd270: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit b0e9bbb97fea0198de9140142f750c4b7f08fc8a Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:44 2015 +0200 ARM: pxa: hx4700: Remove unused field initializers The ID and period for the backlight PWM are obtained from a PWM lookup table, so the corresponding values don't need to be duplicated into the platform data. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit aeac23bda87fd98049352d3bc27a1cb80445e7a0 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jun 5 13:46:22 2015 +0100 drm: bridge/dw_hdmi: improve HDMI enable/disable handling HDMI sinks are permitted to de-assert and re-assert the HPD signal to indicate that their EDID has been updated, which may not involve a change of video information. An example of where such a situation can arise is when an AV receiver is connected between the source and the display device. Events which can cause the HPD to be deasserted include: * turning on or switching to standby the AV receiver. * turning on or switching to standby the display device. Each of these can change the entire EDID data, or just a part of the EDID data - it's up to the connected HDMI sink to do what they desire here. For example - with the AV receiver and display device both in standby, a source connected to the AV receiver may provide its own EDID to the source. - turning on the display device causes the display device's EDID to be made available in an unmodified form to the source. - subsequently turning on the AV receiver then provides a modified version of the display device's EDID. Moreover, HPD doesn't tell us whether something is actually listening on the HDMI TDMS signals. The phy gives us a set of RXSENSE indications which tell us whether there is a sink connected to the TMDS signals. Currently, we use the HPD signal to enable or disable the HDMI block, which is questionable when HPD is used in this manner. Using the RXSENSE would be more appropriate, but there is some bad behaviour which needs to be coped with. The iMX6 implementation lets the TMDS signals float when the phy is "powered down", which cause spurious interrupts. Rather than just using RXSENSE, use RXSENSE and HPD becoming both active to signal the presence of a device, but loss of RXSENSE to indicate that the device has been unplugged. The side effect of this change is that a sink deasserting the HPD signal to cause a re-read of the EDID data will not cause the bridge to immediately disable the video signal. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 381f05a7a8428c84483d6bbd0aa3f4ced463c278 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Jun 5 15:25:08 2015 +0100 drm: bridge/dw_hdmi: add connector mode forcing When connected to HDMI sources, some DVI monitors de-assert their HPD signal and TDMS loads for one seconds every four seconds when there is no signal present on the connection. Unfortunately, this behaviour is indistinguishable from a proper HDMI setup with an AV receiver in the path to the display: the HDMI spec requires us to detect HPD deassertions as short as 100ms, which indicate that the EDID has changed. Since it is possible to connect a DVI monitor to an AV receiver and then to a HDMI source, merely working around this by detecting the lack of HDMI vendor block in the EDID is insufficient - the AV receiver is at liberty to modify the EDID as it sees fit, and it will place its own parameters into the EDID including the HDMI vendor block. DRM has support for forcing the state of a connector, which we should implement to allow us to work around these broken DVI monitors - we can tell DRM to force the connection state to indicate that there is always a device connected to work around this problem. Although this requires manual configuration, it is better than nothing at all. When a forced connection state has been set, there is no point handling our RXSENSE interrupts, so disable them in this circumstance. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e80b9f4eea2649f67edc05d4f2e7ddc250f91453 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 11:08:25 2015 +0100 drm: bridge/dw_hdmi: add support for interlaced video modes Add support for interlaced video modes to the dw_hdmi bridge. This mainly involves halving the vertical parameters to be programmed into the bridge registers, and setting the interlace_allowed connector flag. This brings working 1080i support. However, 480i and 576i fail to work due to the lack of proper pixel repetition support, which is not trivial to add due to the tabular PLL parameterisation. Hence, we filter out these modes in our mode_valid() method. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit aefa627fa3f231c5d86aeb229f15e8478cb6e910 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:22:29 2015 +0100 gpu: imx: fix support for interlaced modes The support for interlaced video modes seems to be broken; we don't use anything other than the vtotal/htotal from the timing information to define the various sync counters. Freescale patches for interlaced video support contain an alternative sync counter setup, which we include here. This setup produces the hsync and vsync via the normal counter 2 and 3, but moves the display enable signal from counter 5 to counter 6. Therefore, we need to change the display controller setup as well. The corresponding Freescale patches for this change are: iMX6-HDMI-support-interlaced-display-mode.patch IPU-fine-tuning-the-interlace-display-timing-for-CEA.patch This produces a working interlace format output from the IPU. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f94ab604db9db1a8a0cf0827f5573bfd2d2b89aa Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Tue Jul 21 10:00:15 2015 +0100 gpu: imx: simplify sync polarity setting Use a function to convert the sync pin to a bit mask for the DI_GENERAL register, and move this out of the interlace/non-interlace path to the common path. Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a36a99618b1adb2d6ca0b7e08e3a656a04e477fe Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 20:01:48 2015 -0700 locktorture: Fix module unwind when bad torture_type specified The locktorture module has a list of torture types, and specifying a type not on this list is supposed to cleanly fail the module load. Unfortunately, the "fail" happens without the "cleanly". This commit therefore adds the needed clean-up after an incorrect torture_type. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit a8c06024d0b557b465ad40b87ef0b51a428f99fd Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 25 17:12:09 2015 -0700 torture: Forgive non-plural arguments This commit allows --bootarg instead of --bootargs, --config instead of --configs, and --qemu-arg instead of --qemu-args. For those cases where a native English speaker might auto-correct the argument to be incorrect. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 4f441a258f7badf752b3d9b04b675869ca4e751c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 13:13:51 2015 -0700 rcutorture: Fix unused-function warning for torturing_tasks() The torturing_tasks() function is used only in kernels built with CONFIG_PROVE_RCU=y, so the second definition can result in unused-function compiler warnings. This commit adds __maybe_unused to suppress these warnings. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 889d487a26de4bcd1a0a668754bcbce893969edf Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 11:37:58 2015 -0700 rcutorture: Fix module unwind when bad torture_type specified The rcutorture module has a list of torture types, and specifying a type not on this list is supposed to cleanly fail the module load. Unfortunately, the "fail" happens without the "cleanly". This commit therefore adds the needed clean-up after an incorrect torture_type. Reported-by: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: David Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 4bace7344d6dbd7a1b0b801abf24ea9878064317 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Sep 11 17:59:18 2015 +0200 rcu_sync: Cleanup the CONFIG_PROVE_RCU checks 1. Rename __rcu_sync_is_idle() to rcu_sync_lockdep_assert() and change it to use rcu_lockdep_assert(). 2. Change rcu_sync_is_idle() to return rsp->gp_state == GP_IDLE unconditonally, this way we can remove the same check from rcu_sync_lockdep_assert() and clearly isolate the debugging code. Note: rcu_sync_enter()->wait_event(gp_state == GP_PASSED) needs another CONFIG_PROVE_RCU check, the same as is done in ->sync(); but this needs some simple preparations in the core RCU code to avoid the code duplication. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit cc5f730b41506d37a5c2826b2e801d0a59853d11 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:43:03 2015 +0200 locking/percpu-rwsem: Clean up the lockdep annotations in percpu_down_read() Based on Peter Zijlstra's earlier patch. Change percpu_down_read() to use __down_read(), this way we can do rwsem_acquire_read() unconditionally at the start to make this code more symmetric and clean. Originally-From: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit f324a76324c97e81a6ba66a8efac20cdbffd759e Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:43:00 2015 +0200 locking/percpu-rwsem: Fix the comments outdated by rcu_sync Update the comments broken by the previous change. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 001dac627ff37433d5528ffb0d897cd19c2b1e43 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:57 2015 +0200 locking/percpu-rwsem: Make use of the rcu_sync infrastructure Currently down_write/up_write calls synchronize_sched_expedited() twice, which is evil. Change this code to rely on rcu-sync primitives. This avoids the _expedited "big hammer", and this can be faster in the contended case or even in the case when a single thread does down_write/up_write in a loop. Of course, a single down_write() will take more time, but otoh it will be much more friendly to the whole system. To simplify the review this patch doesn't update the comments, fixed by the next change. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 95b19f684c61ffc9b039e02c5d1113c2d8cd7105 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:55 2015 +0200 locking/percpu-rwsem: Make percpu_free_rwsem() after kzalloc() safe This is the temporary ugly hack which will be reverted later. We only need it to ensure that the next patch will not break "change sb_writers to use percpu_rw_semaphore" patches routed via the VFS tree. The alloc_super()->destroy_super() error path assumes that it is safe to call percpu_free_rwsem() after kzalloc() without percpu_init_rwsem(), so let's not disappoint it. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 07899a6e5f56136028c44a57ad0451e797365ac3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:52 2015 +0200 rcu_sync: Introduce rcu_sync_dtor() This commit allows rcu_sync structures to be safely deallocated, The trick is to add a new ->wait field to the gp_ops array. This field is a pointer to the rcu_barrier() function corresponding to the flavor of RCU in question. This allows a new rcu_sync_dtor() to wait for any outstanding callbacks before freeing the rcu_sync structure. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 3a518b76af7bb411efe6dd090fbf098e29accb2e Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:50 2015 +0200 rcu_sync: Add CONFIG_PROVE_RCU checks This commit validates that the caller of rcu_sync_is_idle() holds the corresponding type of RCU read-side lock, but only in kernels built with CONFIG_PROVE_RCU=y. This validation is carried out via a new rcu_sync_ops->held() method that is checked within rcu_sync_is_idle(). Note that although this does add code to the fast path, it only does so in kernels built with CONFIG_PROVE_RCU=y. Suggested-by: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 82e8c565be8a72957570d7da8dd9b441db7bb648 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:47 2015 +0200 rcu_sync: Simplify rcu_sync using new rcu_sync_ops structure This commit adds the new struct rcu_sync_ops which holds sync/call methods, and turns the function pointers in rcu_sync_struct into an array of struct rcu_sync_ops. This simplifies the "init" helpers by collapsing a switch statement and explicit multiple definitions into a simple assignment and a helper macro, respectively. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit cc44ca848f5e517aeca9f5eabbe13609a3f71450 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Fri Aug 21 19:42:44 2015 +0200 rcu: Create rcu_sync infrastructure The rcu_sync infrastructure can be thought of as infrastructure to be used to implement reader-writer primitives having extremely lightweight readers during times when there are no writers. The first use is in the percpu_rwsem used by the VFS subsystem. This infrastructure is functionally equivalent to struct rcu_sync_struct { atomic_t counter; }; /* Check possibility of fast-path read-side operations. */ static inline bool rcu_sync_is_idle(struct rcu_sync_struct *rss) { return atomic_read(&rss->counter) == 0; } /* Tell readers to use slowpaths. */ static inline void rcu_sync_enter(struct rcu_sync_struct *rss) { atomic_inc(&rss->counter); synchronize_sched(); } /* Allow readers to once again use fastpaths. */ static inline void rcu_sync_exit(struct rcu_sync_struct *rss) { synchronize_sched(); atomic_dec(&rss->counter); } The main difference is that it records the state and only calls synchronize_sched() if required. At least some of the calls to synchronize_sched() will be optimized away when rcu_sync_enter() and rcu_sync_exit() are invoked repeatedly in quick succession. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 3836f5337f74fedc15981688c3c31dbf4293ae84 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 30 03:29:58 2015 -0700 torture: Consolidate cond_resched_rcu_qs() into stutter_wait() This commit moves cond_resched_rcu_qs() into stutter_wait(), saving a line and also avoiding RCU CPU stall warnings from all torture loops containing a stutter_wait(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 617783dd99704331e22636388c932450e02ee636 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 29 14:46:29 2015 -0700 locktorture: Add torture tests for percpu_rwsem This commit adds percpu_rwsem tests based on the earlier rwsem tests. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 302707fd7cd341a23dbc448a335d432ad0069c20 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 31 20:21:59 2015 -0700 locking/percpu-rwsem: Export symbols for locktorture This commit exports percpu_down_read(), percpu_down_write(), __percpu_init_rwsem(), percpu_up_read(), and percpu_up_write() to allow locktorture to test them when built as a module. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 095777c417db142970adeb776fa0cb10810b8122 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Jul 22 14:07:27 2015 -0700 locktorture: Support rtmutex torturing Real time mutexes is one of the few general primitives that we do not have in locktorture. Address this -- a few considerations: o To spice things up, enable competing thread(s) to become rt, such that we can stress different prio boosting paths in the rtmutex code. Introduce a ->task_boost callback, only used by rtmutex-torturer. Tasks will boost/deboost around every 50k (arbitrarily) lock/unlock operations. o Hold times are similar to what we have for other locks: only occasionally having longer hold times (per ~200k ops). So we roughly do two full rt boost+deboosting ops with short hold times. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit ad2ad5d31f90fc6fb269e9be244224cecfc8b400 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 08:18:32 2015 -0700 documentation: Add lockless_dereference() The recently added lockless_dereference() macro is not present in the Documentation/ directory, so this commit fixes that. Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit b672adf8cfb822781ab904343e5de0297ee117ed Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 11:46:00 2015 -0700 documentation: Catch up list of torture_type options This commit rids the documentation of long-obsolete torture_type options such as rcu_sync and adds new ones such as tasks. Also add verbiage noting the fact that rcutorture now concurrently tests the asynchrounous, synchronous, expedited synchronous, and polling grace-period primitives. Reported-by: David Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: David Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 2c4ac34bc2d97f056ed3c43fa03c0737fae46fb6 Author: Jason A. Donenfeld <Jason@xxxxxxxxx> Date: Tue Aug 11 14:26:33 2015 +0200 documentation: Correct doc to use rcu_dereference_protected As there is lots of misinformation and outdated information on the Internet about nearly all topics related to the kernel, I thought it would be best if I based my RCU code on the guidelines of the examples in the Documentation/ tree of the latest kernel. One thing that stuck out when reading the whatisRCU.txt document was, "interesting how we don't need any function to dereference rcu protected pointers when doing updates if a lock is held. I wonder how static analyzers will work with that." Then, a few weeks later, upon discovering sparse's __rcu support, I ran it over my code, and lo and behold, things weren't done right. Examining other RCU usages in the kernel reveal consistent usage of rcu_dereference_protected, passing in lockdep_is_held as the conditional. So, this patch adds that idiom to the documentation, so that others ahead of me won't endure the same exercise. Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit da873def8da5883a6c04d11f73dcd836c216cf4f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 11:54:04 2015 -0700 documentation: Call out slow consoles as cause of stall warnings The Linux kernel outputs copious text during boot, and a slow serial console can result in stall warnings, particularly when messages are printed with interrupts disabled. This commit adds this to the list of causes of RCU CPU stall warning messages. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 27566139b6e2f6cfe273e8bb0e538d7616c2ea00 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 1 10:45:26 2015 -0700 documentation: No acquire/release for RCU readers Documentation/memory-barriers.txt calls out RCU as one of the sets of primitives associated with ACQUIRE and RELEASE. There really is an association in that rcu_assign_pointer() includes a RELEASE operation, but a quick read can convince people that rcu_read_lock() and rcu_read_unlock() have ACQUIRE and RELEASE semantics, which they do not. This commit therefore removes RCU from this list in order to avoid this confusion. Reported-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 7f5f873c6a0772970d5fee1f364231207051ecd8 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 18 08:45:22 2015 -0700 rculist: Use WRITE_ONCE() when deleting from reader-visible list The various RCU list-deletion macros (list_del_rcu(), hlist_del_init_rcu(), hlist_del_rcu(), hlist_bl_del_init_rcu(), hlist_bl_del_rcu(), hlist_nulls_del_init_rcu(), and hlist_nulls_del_rcu()) do plain stores into the ->next pointer of the preceding list elemment. Unfortunately, the compiler is within its rights to (for example) use byte-at-a-time writes to update the pointer, which would fatally confuse concurrent readers. This patch therefore adds the needed WRITE_ONCE() macros. KernelThreadSanitizer (KTSAN) reported the __hlist_del() issue, which is a problem when __hlist_del() is invoked by hlist_del_rcu(). Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit e62e3f620ba8d437f4998441fc11cf3dc9d466d1 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 12:23:01 2015 -0700 rcu: Remove deprecated rcu_lockdep_assert() The old rcu_lockdep_assert() was retained to ease handling of incoming patches, but any use will result in deprecated warnings. However, its replacement, RCU_LOCKDEP_WARN(), is now upstream. It is therefore time to remove rcu_lockdep_assert(), which this commit does. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 8db70b132dd57696cfc7560203a72e90c51bfdda Author: Patrick Marlier <patrick.marlier@xxxxxxxxx> Date: Fri Sep 11 15:50:35 2015 -0700 rculist: Make list_entry_rcu() use lockless_dereference() The current list_entry_rcu() implementation copies the pointer to a stack variable, then invokes rcu_dereference_raw() on it. This results in an additional store-load pair. Now, most compilers will emit normal store and load instructions, which might seem to be of negligible overhead, but this results in a load-hit-store situation that can cause surprisingly long pipeline stalls, even on modern microprocessors. The problem is that it takes time for the store to get the store buffer updated, which can delay the subsequent load, which immediately follows. This commit therefore switches to the lockless_dereference() primitive, which does not expect the __rcu annotations (that are anyway not present in the list_head structure) and which, like rcu_dereference_raw(), does not check for an enclosing RCU read-side critical section. Most importantly, it does not copy the pointer, thus avoiding the load-hit-store overhead. Signed-off-by: Patrick Marlier <patrick.marlier@xxxxxxxxx> [ paulmck: Switched to lockless_dereference() to suppress sparse warnings. ] Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit c3ac7cf1847a4e68c909984f60d36adef2088e35 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:29:02 2015 -0700 rcu: Add rcu_pointer_handoff() This commit adds an rcu_pointer_handoff() that is intended to mark situations where a structure's protection transitions from RCU to some other mechanism (locking, reference counting, whatever). These markings should allow external tools to more easily spot bugs involving leaking pointers out of RCU read-side critical sections. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c34d2f418485a5d710bc002e490148b8ea53f456 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 11:21:28 2015 -0700 rcu: Correct comment for values of ->gp_state field This commit corrects the comment for the values of the ->gp_state field, which previously incorrectly said that these were for the ->gp_flags field. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 77f81fe08ebd99d7e0eefde42ddac06a675bc4ad Author: Petr Mladek <pmladek@xxxxxxxx> Date: Wed Sep 9 12:09:49 2015 -0700 rcu: Finish folding ->fqs_state into ->gp_state Commit commit 4cdfc175c25c89ee ("rcu: Move quiescent-state forcing into kthread") started the process of folding the old ->fqs_state into ->gp_state, but did not complete it. This situation does not cause any malfunction, but can result in extremely confusing trace output. This commit completes this task of eliminating ->fqs_state in favor of ->gp_state. The old ->fqs_state was also used to decide when to collect dyntick-idle snapshots. For this purpose, we add a boolean variable into the kthread, which is set on the first call to rcu_gp_fqs() for a given grace period and clear otherwise. Signed-off-by: Petr Mladek <pmladek@xxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 49f5903b473c5f63f3b57856d1bd4593db0a2eef Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 00:42:57 2015 -0700 rcu: Move preemption disabling out of __srcu_read_lock() Currently, __srcu_read_lock() cannot be invoked from restricted environments because it contains calls to preempt_disable() and preempt_enable(), both of which can invoke lockdep, which is a bad idea in some restricted execution modes. This commit therefore moves the preempt_disable() and preempt_enable() from __srcu_read_lock() to srcu_read_lock(). It also inserts the preempt_disable() and preempt_enable() around the call to __srcu_read_lock() in do_exit(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 7f21aeef722d598ba350d1834f6e4134c7b5e8de Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 15 14:49:50 2015 -0700 rcu: Add online/offline info to stall warning message This commit makes the RCU CPU stall warning message print online/offline indications immediately after a hyphen following the CPU number. A "O" indicates that the global CPU-hotplug system believes that the CPU is online, a "o" that RCU perceived the CPU to be online at the beginning of the current expedited grace period, and an "N" that RCU currently believes that it will perceive the CPU as being online at the beginning of the next expedited grace period, with "." otherwise for all three indications. So for CPU 10, you would normally see "10-OoN:" indicating that everything believes that the CPU is online. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ee968ac61d5a3440b931375d81113e0eedfcb249 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 08:28:35 2015 -0700 rcu: Eliminate panic when silly boot-time fanout specified This commit loosens rcutree.rcu_fanout_leaf range checks and replaces a panic() with a fallback to compile-time values. This fallback is accompanied by a WARN_ON(), and both occur when the rcutree.rcu_fanout_leaf value is too small to accommodate the number of CPUs. For example, given the current four-level limit for the rcu_node tree, a system with more than 16 CPUs built with CONFIG_FANOUT=2 must have rcutree.rcu_fanout_leaf larger than 2. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit bb73c52bad3666997ed2ec83c0c80c3f8ef55008 Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Thu Jul 30 16:55:38 2015 -0700 rcu: Don't disable preemption for Tiny and Tree RCU readers Because preempt_disable() maps to barrier() for non-debug builds, it forces the compiler to spill and reload registers. Because Tree RCU and Tiny RCU now only appear in CONFIG_PREEMPT=n builds, these barrier() instances generate needless extra code for each instance of rcu_read_lock() and rcu_read_unlock(). This extra code slows down Tree RCU and bloats Tiny RCU. This commit therefore removes the preempt_disable() and preempt_enable() from the non-preemptible implementations of __rcu_read_lock() and __rcu_read_unlock(), respectively. However, for debug purposes, preempt_disable() and preempt_enable() are still invoked if CONFIG_PREEMPT_COUNT=y, because this allows detection of sleeping inside atomic sections in non-preemptible kernels. However, Tiny and Tree RCU operates by coalescing all RCU read-side critical sections on a given CPU that lie between successive quiescent states. It is therefore necessary to compensate for removing barriers from __rcu_read_lock() and __rcu_read_unlock() by adding them to a couple of the RCU functions invoked during quiescent states, namely to rcu_all_qs() and rcu_note_context_switch(). However, note that the latter is more paranoia than necessity, at least until link-time optimizations become more aggressive. This is based on an earlier patch by Paul E. McKenney, fixing a bug encountered in kernels built with CONFIG_PREEMPT=n and CONFIG_PREEMPT_COUNT=y. Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit db3e8db45e1cbf8cc22f1083a559d78eb91ccd63 Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Wed Jul 29 13:29:39 2015 +0800 rcu: Use call_rcu_func_t to replace explicit type equivalents We have had the call_rcu_func_t typedef for a quite awhile, but we still use explicit function pointer types in some places. These types can confuse cscope and can be hard to read. This patch therefore replaces these types with the call_rcu_func_t typedef. Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit b6a4ae766e3133a4db73fabc81e522d1601cb623 Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Wed Jul 29 13:29:38 2015 +0800 rcu: Use rcu_callback_t in call_rcu*() and friends As we now have rcu_callback_t typedefs as the type of rcu callbacks, we should use it in call_rcu*() and friends as the type of parameters. This could save us a few lines of code and make it clear which function requires an rcu callbacks rather than other callbacks as its argument. Besides, this can also help cscope to generate a better database for code reading. Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 84778472e1b6a27a8931712c40e8cf31143c8f6c Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 2 01:28:44 2015 -0700 sched: Export sched_setscheduler_nocheck The new locktorture rtmutex_lock tests exercise priority boosting, which means that they need to set some tasks to real-time priority. To do this, they use sched_setscheduler_nocheck(). However, this is not exported to modules, which results in the following error when building locktorture as a module: ERROR: "sched_setscheduler_nocheck" [kernel/locking/locktorture.ko] undefined! This commit therefore adds an EXPORT_SYMBOL_GPL() to allow this function to be invoked from locktorture when built as a module. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 91dca0f0fe419813b7450b0d092e9e23255db51b Author: Nishanth Menon <nm@xxxxxx> Date: Sat Oct 3 17:02:56 2015 -0700 ARM: dts: keystone: Update SoC specific compatible flags Update the compatible flags to allow specific SoC identification. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 01cf228b555b323bba9c76f96c07fb93f1064cba Author: Nishanth Menon <nm@xxxxxx> Date: Sat Oct 3 17:02:56 2015 -0700 ARM: keystone: Update compatible to have SoC specific matches With future SoCs of keystone2 family, the generic compatible match may not be sufficient to handle SoC specific handling. So introduce matches based on SoC compatiblity. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 2df7b0f0d2268ecbcd59323fd09955e93d3fefbd Author: Nishanth Menon <nm@xxxxxx> Date: Sat Oct 3 17:02:56 2015 -0700 Documentation: dt: keystone: provide SoC specific compatible flags Keystone2 devices are used on more platforms than just Texas Instruments reference evaluation platforms called EVMs. Providing a generic compatible "ti,keystone" is not sufficient to differentiate various SoC definitions possible on various platforms for the following reasons: a) Userspace applications have no way of knowing which SoC they are functioning, providing the compatible matches provide a mechanism for them to enable SoC specific functionality. Such userspace applications are typically automated test framework or SoC custom hardware acceleration entitlement from a common file system. b) Provides an accurate hardware description. This allows SoC specific logic to be run time handled based on of_machine_is_compatible("ti,k2hk") or as needed for the dependent processor instead of needing to use board dependent compatibles that are needed now. Hence, provide compatible matches for each SoC in the Keystone family. Acked-By: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 712df65ccb63da08a484bf57c40b250dfd4103a7 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Thu Sep 24 21:10:21 2015 +0900 perf/x86/intel/uncore: Fix multi-segment problem of perf_event_intel_uncore In multi-segment system, uncore devices may belong to buses whose segment number is other than 0: .... 0000:ff:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03) ... 0001:7f:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03) ... 0001:bf:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03) ... 0001:ff:10.5 System peripheral: Intel Corporation Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers (rev 03 ... In that case, relation of bus number and physical id may be broken because "uncore_pcibus_to_physid" doesn't take account of PCI segment. For example, bus 0000:ff and 0001:ff uses the same entry of "uncore_pcibus_to_physid" array. This patch fixes this problem by introducing the segment-aware pci2phy_map instead. Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1443096621-4119-1-git-send-email-izumi.taku@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7ce1346a6842550a3c4c453cdf1c7b81fb60b07e Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Sep 28 08:30:04 2015 -0400 perf/x86: Add Intel cstate PMUs support This patch adds new PMUs to support cstate related free running (read-only) counters. These counters may be used simultaneously by other tools, such as turbostat. However, it still make sense to implement them in perf. Because we can conveniently collect them together with other events, and allow to use them from tools without special MSR access code. These counters include CORE_C*_RESIDENCY and PKG_C*_RESIDENCY. According to counters' scope and category, two PMUs are registered with the perf_event core subsystem. - 'cstate_core': The counter is available for each physical core. The counters include CORE_C*_RESIDENCY. - 'cstate_pkg': The counter is available for each physical package. The counters include PKG_C*_RESIDENCY. The events are exposed in sysfs for use by perf stat and other tools. The files are: /sys/devices/cstate_core/events/c*-residency /sys/devices/cstate_pkg/events/c*-residency These events only support system-wide mode counting. The /sys/devices/cstate_*/cpumask file can be used by tools to figure out which CPUs to monitor by default. The PMU type (attr->type) is dynamically allocated and is available from /sys/devices/core_misc/type and /sys/device/cstate_*/type. Sampling is not supported. Here is an example. - To caculate the fraction of time when the core is running in C6 state CORE_C6_time% = CORE_C6_RESIDENCY / TSC # perf stat -x, -e"cstate_core/c6-residency/,msr/tsc/" -C0 -- taskset -c 0 sleep 5 11838820015,,cstate_core/c6-residency/,5175919658,100.00 11877130740,,msr/tsc/,5175922010,100.00 For sleep, 99.7% of time we ran in C6 state. # perf stat -x, -e"cstate_core/c6-residency/,msr/tsc/" -C0 -- taskset -c 0 busyloop 1253316,,cstate_core/c6-residency/,4360969154,100.00 10012635248,,msr/tsc/,4360972366,100.00 For busyloop, 0.01% of time we ran in C6 state. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: acme@xxxxxxxxxx Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1443443404-8581-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 00eb4bab69db349c3bdc7e0b0f7e9070dafea58c Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 30 13:03:15 2015 -0700 locking/rwsem: Use acquire/release semantics As of 654672d4ba1 (locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations) and 6d79ef2d30e (locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'), weakly ordered archs can benefit from more relaxed use of barriers when locking and unlocking, instead of regular full barrier semantics. While currently only arm64 supports such optimizations, updating corresponding locking primitives serves for other archs to immediately benefit as well, once the necessary machinery is implemented of course. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul E.McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443643395-17016-6-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3552a07a9c4aea32cc092fadf10a186c84ed8a61 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 30 13:03:14 2015 -0700 locking/mcs: Use acquire/release semantics As of 654672d4ba1 (locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations) and 6d79ef2d30e (locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'), weakly ordered archs can benefit from more relaxed use of barriers when locking and unlocking, instead of regular full barrier semantics. While currently only arm64 supports such optimizations, updating corresponding locking primitives serves for other archs to immediately benefit as well, once the necessary machinery is implemented of course. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul E.McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443643395-17016-5-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 700318d1d7b38bbfe86813d9c5c18364dd941526 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 30 13:03:13 2015 -0700 locking/rtmutex: Use acquire/release semantics As of 654672d4ba1 (locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations) and 6d79ef2d30e (locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'), weakly ordered archs can benefit from more relaxed use of barriers when locking and unlocking, instead of regular full barrier semantics. While currently only arm64 supports such optimizations, updating corresponding locking primitives serves for other archs to immediately benefit as well, once the necessary machinery is implemented of course. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul E.McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443643395-17016-4-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 81a43adae3b943193fb3afd20a36a7482332f964 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 30 13:03:12 2015 -0700 locking/mutex: Use acquire/release semantics As of 654672d4ba1 (locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations) and 6d79ef2d30e (locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'), weakly ordered archs can benefit from more relaxed use of barriers when locking and unlocking, instead of regular full barrier semantics. While currently only arm64 supports such optimizations, updating corresponding locking primitives serves for other archs to immediately benefit as well, once the necessary machinery is implemented of course. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul E.McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443643395-17016-3-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 63ab7bd0d450b726b88fa4b932f151b98cee2557 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Wed Sep 30 13:03:11 2015 -0700 locking/asm-generic: Add _{relaxed|acquire|release}() variants for inc/dec atomics Similar to what we have for regular add/sub calls. For now, no actual arch implements them, so everyone falls back to the default atomics... iow, nothing changes. These will be used in future primitives. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul E.McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443643395-17016-2-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 77792b11409c9270d98e604b4314b85ce886ac7d Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Thu Oct 1 12:38:07 2015 -0400 regmap: Allow installing custom reg_update_bits function This commit allows installing a custom reg_update_bits function for cases where the hardware provides a mechanism to set or clear register bits without a read/modify/write cycle. Such is the case with the Microchip ENCX24J600. If a custom reg_update_bits function is provided, it will only be used against volatile registers. Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82fc167c392a1700f9adbde639730ee8c8122474 Merge: e3e72ab 049e6dd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 6 17:10:28 2015 +0200 Merge tag 'v4.3-rc4' into locking/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5a4fd0368517bc5b5399ef958f6d30cbff492918 Author: xiaofeng.yan <yanxiaofeng@xxxxxxxxxx> Date: Wed Sep 23 14:55:59 2015 +0800 sched/core: Remove a parameter in the migrate_task_rq() function The parameter "int next_cpu" in the following function is unused: migrate_task_rq(struct task_struct *p, int next_cpu) Remove it. Signed-off-by: xiaofeng.yan <yanxiaofeng@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 Link: http://lkml.kernel.org/r/1442991360-31945-1-git-send-email-yanxiaofeng@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ce03e4137bb22fc560ad7a07cf4138ae2cd59f65 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Oct 5 21:26:05 2015 +0800 sched/core: Drop unlikely behind BUG_ON() (1) For !CONFIG_BUG cases, the bug call is a no-op, so we couldn't care less and the change is ok. (2) PPC and MIPS, which HAVE_ARCH_BUG_ON, do not rely on branch predictions as it seems to be pointless [1] and thus callers should not be trying to push an optimization in the first place. (3) For CONFIG_BUG and !HAVE_ARCH_BUG_ON cases, BUG_ON() contains an unlikely compiler flag already. Hence, we can drop unlikely behind BUG_ON(). [1] http://lkml.iu.edu/hypermail/linux/kernel/1101.3/02289.html Signed-off-by: Geliang Tang <geliangtang@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 Link: http://lkml.kernel.org/r/6fa7125979f98bbeac26e268271769b6ca935c8d.1444051018.git.geliangtang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1de64443d755f83af8ba8b558fded0c61afaef47 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Sep 30 17:44:13 2015 +0200 sched/core: Fix task and run queue sched_info::run_delay inconsistencies Mike Meyer reported the following bug: > During evaluation of some performance data, it was discovered thread > and run queue run_delay accounting data was inconsistent with the other > accounting data that was collected. Further investigation found under > certain circumstances execution time was leaking into the task and > run queue accounting of run_delay. > > Consider the following sequence: > > a. thread is running. > b. thread moves beween cgroups, changes scheduling class or priority. > c. thread sleeps OR > d. thread involuntarily gives up cpu. > > a. implies: > > thread->sched_info.last_queued = 0 > > a. and b. results in the following: > > 1. dequeue_task(rq, thread) > > sched_info_dequeued(rq, thread) > delta = 0 > > sched_info_reset_dequeued(thread) > thread->sched_info.last_queued = 0 > > thread->sched_info.run_delay += delta > > 2. enqueue_task(rq, thread) > > sched_info_queued(rq, thread) > > /* thread is still on cpu at this point. */ > thread->sched_info.last_queued = task_rq(thread)->clock; > > c. results in: > > dequeue_task(rq, thread) > > sched_info_dequeued(rq, thread) > > /* delta is execution time not run_delay. */ > delta = task_rq(thread)->clock - thread->sched_info.last_queued > > sched_info_reset_dequeued(thread) > thread->sched_info.last_queued = 0 > > thread->sched_info.run_delay += delta > > Since thread was running between enqueue_task(rq, thread) and > dequeue_task(rq, thread), the delta above is really execution > time and not run_delay. > > d. results in: > > __sched_info_switch(thread, next_thread) > > sched_info_depart(rq, thread) > > sched_info_queued(rq, thread) > > /* last_queued not updated due to being non-zero */ > return > > Since thread was running between enqueue_task(rq, thread) and > __sched_info_switch(thread, next_thread), the execution time > between enqueue_task(rq, thread) and > __sched_info_switch(thread, next_thread) now will become > associated with run_delay due to when last_queued was last updated. > This alternative patch solves the problem by not calling sched_info_{de,}queued() in {de,en}queue_task(). Therefore the sched_info state is preserved and things work as expected. By inlining the {de,en}queue_task() functions the new condition becomes (mostly) a compile-time constant and we'll not emit any new branch instructions. It even shrinks the code (due to inlining {en,de}queue_task()): $ size defconfig-build/kernel/sched/core.o defconfig-build/kernel/sched/core.o.orig text data bss dec hex filename 64019 23378 2344 89741 15e8d defconfig-build/kernel/sched/core.o 64149 23378 2344 89871 15f0f defconfig-build/kernel/sched/core.o.orig Reported-by: Mike Meyer <Mike.Meyer@xxxxxxxxxxxx> 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 Link: http://lkml.kernel.org/r/20150930154413.GO3604@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b52da86e0ad58f096710977fcda856fd84da9233 Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 07:48:25 2015 +0530 sched/numa: Fix task_tick_fair() from disabling numa_balancing If static branch 'sched_numa_balancing' is enabled, it should kickstart NUMA balancing through task_tick_numa(). However the following commit: 2a595721a1fa ("sched/numa: Convert sched_numa_balancing to a static_branch") erroneously disables this. Fix this anomaly by enabling task_tick_numa() when the static branch 'sched_numa_balancing' is enabled. Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443752305-27413-1-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e2bf1c4b17aff25f07e0d2952d8c1c66643f33fe Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 29 12:18:46 2015 +0200 sched/core: Add preempt_count invariant check Ingo requested I keep my debug check for the preempt_count invariant. Requested-by: Ingo Molnar <mingo@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 499d79559ffe4b9c0c3031752f6a40abd532fb75 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:52:36 2015 +0200 sched/core: More notrace annotations preempt_schedule_common() is marked notrace, but it does not use _notrace() preempt_count functions and __schedule() is also not marked notrace, which means that its perfectly possible to end up in the tracer from preempt_schedule_common(). Steve says: | Yep, there's some history to this. This was originally the issue that | caused function tracing to go into infinite recursion. But now we have | preempt_schedule_notrace(), which is used by the function tracer, and | that function must not be traced till preemption is disabled. | | Now if function tracing is running and we take an interrupt when | NEED_RESCHED is set, it calls | | preempt_schedule_common() (not traced) | | But then that calls preempt_disable() (traced) | | function tracer calls preempt_disable_notrace() followed by | preempt_enable_notrace() which will see NEED_RESCHED set, and it will | call preempt_schedule_notrace(), which stops the recursion, but | still calls __schedule() here, and that means when we return, we call | the __schedule() from preempt_schedule_common(). | | That said, I prefer this patch. Preemption is disabled before calling | __schedule(), and we get rid of a one round recursion with the | scheduler. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e61bf1e43b6f8e687ce93e5d0ce85bca7e481600 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:11:35 2015 +0200 sched/core: Kill PREEMPT_ACTIVE Its unused, kill the definition. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d87b7a33794f52226131f93cbc9db03274d9fecf Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:11:18 2015 +0200 sched/core, sched/x86: Kill thread_info::saved_preempt_count With the introduction of the context switch preempt_count invariant, and the demise of PREEMPT_ACTIVE, its pointless to save/restore the per-cpu preemption count, it must always be 2. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit da7142e2ed735e1c1bef5a757dc55de35c65fbd6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:11:45 2015 +0200 sched/core: Simplify preempt_count tests Since we stopped setting PREEMPT_ACTIVE, there is no need to mask it out of preempt_count() tests. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1dc0fffc48af94513e621f95dff730ed4f7317ec Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 17:57:39 2015 +0200 sched/core: Robustify preemption leak checks When we warn about a preempt_count leak; reset the preempt_count to the known good value such that the problem does not ripple forward. This is most important on x86 which has a per cpu preempt_count that is not saved/restored (after this series). So if you schedule with an invalid (!2*PREEMPT_DISABLE_OFFSET) preempt_count the next task is messed up too. Enforcing this invariant limits the borkage to just the one task. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3d8f74dd4ca1da8a1a464bbafcf679e40c2fc10f Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:09:19 2015 +0200 sched/core: Stop setting PREEMPT_ACTIVE Now that nothing tests for PREEMPT_ACTIVE anymore, stop setting it. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c73464b1c8434ad4cbfd5369c3e724f3e8ffe5a4 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:06:56 2015 +0200 sched/core: Fix trace_sched_switch() __trace_sched_switch_state() is the last remaining PREEMPT_ACTIVE user, move trace_sched_switch() from prepare_task_switch() to __schedule() and propagate the @preempt argument. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fc13aebab7d8f0d19d557c721a0f25cdf7ae905c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:05:34 2015 +0200 sched/core: Add preempt argument to __schedule() There is only a single PREEMPT_ACTIVE use in the regular __schedule() path and that is to circumvent the task->state check. Since the code setting PREEMPT_ACTIVE is the immediate caller of __schedule() we can replace this with a function argument. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 609ca066386b2e64d4c0b0f55da327654962a0c9 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 17:52:18 2015 +0200 sched/core: Create preempt_count invariant Assuming units of PREEMPT_DISABLE_OFFSET for preempt_count() numbers. Now that TASK_DEAD no longer results in preempt_count() == 3 during scheduling, we will always call context_switch() with preempt_count() == 2. However, we don't always end up with preempt_count() == 2 in finish_task_switch() because new tasks get created with preempt_count() == 1. Create FORK_PREEMPT_COUNT and set it to 2 and use that in the right places. Note that we cannot use INIT_PREEMPT_COUNT as that serves another purpose (boot). After this, preempt_count() is invariant across the context switch, with exception of PREEMPT_ACTIVE. 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 b99def8b961448f5b9a550dddeeb718e3975e7a6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 18:02:03 2015 +0200 sched/core: Rework TASK_DEAD preemption exception TASK_DEAD is special in that the final schedule call from do_exit() must be done with preemption disabled. This means we end up scheduling with a preempt_count() higher than usual (3 instead of the 'expected' 2). Since future patches will want to rely on an invariant preempt_count() value during schedule, fix this up. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 87dcbc0610cb580c8eaf289f52aca3620af825f0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 28 17:45:40 2015 +0200 sched/core: Simplify INIT_PREEMPT_COUNT As per the following commit: d86ee4809d03 ("sched: optimize cond_resched()") we need PREEMPT_ACTIVE to avoid cond_resched() from working before the scheduler is set up. However, keeping preemption disabled should do the same thing already, making the PREEMPT_ACTIVE part entirely redundant. The only complication is !PREEMPT_COUNT kernels, where PREEMPT_DISABLED ends up being 0. Instead we use an unconditional PREEMPT_OFFSET to set preempt_count() even on !PREEMPT_COUNT kernels. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fe19159225d8516f3f57a5fe8f735c01684f0ddd Merge: c6e1e7b 95913d9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 6 17:05:36 2015 +0200 Merge branch 'sched/urgent' into sched/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 882fed73420e85c0b06447c036e3096862fc73ba Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 10:17:18 2015 -0700 phy: cygnus: pcie: Add Cygnus PCIe PHY support This patch adds the PCIe PHY support for the Broadcom PCIe RC interface on Cygnus Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Arun Parameswaran <aparames@xxxxxxxxxxxx> Reviewed-by: JD (Jiandong) Zheng <jdzheng@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 9d030e170608aeb287ef56ecb40d9aa4cfa7d086 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 10:17:17 2015 -0700 dt-bindings: Add Cygnus PCIe PHY binding doc Add DT binding document for Broadcom Cygnus PCIe PHYs Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Arun Parameswaran <aparames@xxxxxxxxxxxx> Reviewed-by: JD (Jiandong) Zheng <jdzheng@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit b2dfc34c975ad7b9c531f8b93f8bd7b8606286c1 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 25 08:47:29 2015 +0800 phy: sun4i-usb: Use devm_gpiod_get_optional for optional GPIOs Both data->id_det_gpio and data->vbus_det_gpio are optional, so use devm_gpiod_get_optional for them. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit dc7f190fd51f5c64d7d9280e5f052b46ce8cee24 Author: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Date: Tue Sep 29 11:01:36 2015 +0800 phy: add usb3.0 phy driver for mt65xx SoCs support usb3.0 phy of mt65xx SoCs Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 538b2a4e96990a4839086cc47b657a12b1364d3c Author: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Date: Tue Sep 29 11:01:34 2015 +0800 dt-bindings: Add usb3.0 phy binding for MT65xx SoCs add a DT binding documentation of usb3.0 phy for MT65xx SoCs from Mediatek. Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a007ddbaef5317f76bec541688e304f31ad9c4b0 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 21 14:38:37 2015 +0200 phy: exynos-usb2: add vbus regulator support Exynos USB2 PHY has separate power supply, which is usually provided by VBUS regulator. This patch adds support for it. VBUS regulator is optional, to keep compatibility with boards, which have VBUS provided from some always-on power source. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Tested-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a67e5c32aac9d55c0aafa2d9c012a03db69ab1ed Merge: 049e6dd e233d74 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:46:41 2015 +0200 Merge tag 'renesas-clk-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers Merge "Renesas ARM Based SoC Clk Updates for v4.4" from Simon Horman: * Consider "zb_clk" suitable for power management This part of a multi-stage effort by Geert Uytterhoeven to add: "Clock Domain support to the Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks driver using the generic PM Domain, to be used on shmobile SoCs without device power domains (R-Car Gen1 and Gen2, RZ). 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, similar to SoCs with device power domains (SH-Mobile and R-Mobile)." * tag 'renesas-clk-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: clk: shmobile: mstp: Consider "zb_clk" suitable for power management commit d64c5097ff1701ae54d02d36f68184756e6a80f0 Merge: 6468527 6f112a0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:43:25 2015 +0200 Merge tag 'at91-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/soc Merge "First little batch of SoC changes for 4.4" from Nicolas Ferre: - a MAINTAINER addition to cover SAMA5 SoCs - removal of one unneeded header file - for low-level serial output, use the DEBUG_UART_PHYS * tag 'at91-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91: debug: use DEBUG_UART_PHYS ARM: at91: remove useless includes in platform_data/atmel.h MAINTAINERS: explicitly add Atmel SAMA5 commit 64685273186b71b75734771ca21823cec2d994c3 Merge: 049e6dd 8b98d74 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:42:07 2015 +0200 Merge tag 'renesas-soc-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Updates for v4.4" from Simon Horman: * ARM: shmobile: R-Mobile: Use CPG/MSTP Clock Domain attach/detach helpers This part of a multi-stage effort by Geert Uytterhoeven to add: "Clock Domain support to the Clock Pulse Generator (CPG) Module Stop (MSTP) Clocks driver using the generic PM Domain, to be used on shmobile SoCs without device power domains (R-Car Gen1 and Gen2, RZ). 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, similar to SoCs with device power domains (SH-Mobile and R-Mobile)." * tag 'renesas-soc-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: R-Mobile: Use CPG/MSTP Clock Domain attach/detach helpers clk: shmobile: mstp: Consider "zb_clk" suitable for power management commit a362ec8f677e5d701bc587edad93128897748c32 Author: Tyler Baker <tyler.baker@xxxxxxxxxx> Date: Wed Sep 30 18:19:48 2015 -0700 arm64: dts: add all hi6220 uart nodes This patch adds all UART nodes for the Hi6220 SoC. Recently a board[1] has been developed to standardize UART access across all the 96boards consumer edition boards. To use this hardware on HiKey we must configure and enable UART3. However, to ensure backward compatibility we must keep UART0 enabled as well. I have removed the hard coded clock index values in favor of using the ones already defined in include/dt-bindings/clock/hi6220-clock.h. Since UART0 needs to be soldered, it has been suggested to use the UART3 as the default console. This patch was boot tested on top of next-20150930, with both UART configurations. [1] http://www.seeedstudio.com/depot/96Boards-UART-p-2525.html?ref=newInBazaar Signed-off-by: Tyler Baker <tyler.baker@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 90656b84144d3ef90295aac673e233f2ab1b2854 Merge: b8faca6 78cd6a9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:31:17 2015 +0200 Merge tag 'socfpga_dts_for_v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt Merge "SoCFPGA DTS updates for v4.4" from Dinh Nguyen: - Add base arm64 dts for Statrix 10 - Peripheral updates for Arria10(USB,I2C,UART) * tag 'socfpga_dts_for_v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: arm64: dts: Add base stratix 10 dtsi ARM: socfpga: dts: enable USB and I2C on Arria10 SoCDK ARM: socfpga: dts: add clock fields for I2C, UART and USB on Arria10 commit b8faca6af8586f364503bb52cf39e831e24b31ac Merge: d1176d1 1d8d53b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:28:37 2015 +0200 Merge tag 'xgene-dts-for-v4.4-1' of https://github.com/AppliedMicro/xgene-next into next/dt Merge "X-Gene DTS changes queued for v4.4" from Duc Dang: * tag 'xgene-dts-for-v4.4-1' of https://github.com/AppliedMicro/xgene-next: arm64: dts: Add poweroff device nodes for APM X-Gene 2 platform arm64: dts: Add APM X-Gene 2 standby GPIO controller DTS entries arm64: dts: Add PMU node for APM X-Gene Storm SOC Documentation: arm: pmu: Add Potenza PMU binding arm64: dts: Add X-Gene v2 reboot driver dts node arm64: dts: add APM Merlin Board device tree power: reset: Add syscon poweroff device node for APM X-Gene platform arm64: dts: Add X-Gene reboot driver dts node Documentation: arm64: add SCU dts binding documentation to linux kernel MAINTAINERS: Add Applied Micro (APM) X-Gene Device Tree maintainer commit d1176d175eaa528c28d2680ce63c60cbb1befb10 Merge: 3cb06b3 a9b672a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:26:38 2015 +0200 Merge tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt Merge "First batch of DT changes for 4.4:" from Nicolas Ferre: - some DT fixes: dma declaration, led labels - disable some nodes: PMIC on sama5d3 Xplained, unused i2c1 on at91sam9n12ek - add some others that were missing: touchscreen, cryto nodes, LCD panels or image capture properties on various boards - as the new pinmux for sama5d2 was accepted, we can now add the definitions and the actual muxing for sama5d2 Xplained board * tag 'at91-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: at91/dt: sama5d2 Xplained: add device pin muxing ARM: at91/dt: add sama5d2 pinmux ARM: at91/dt: ov2640: add hsync/vsync-active property ARM: at91/dt: sama5d4 xplained: enable the led D8 ARM: at91/dt: sama5d4ek: Add support of QT1070 and Maxtouch ARM: at91/dt: sama5d4: enable crypto nodes ARM: at91/dt: sama5d4: add pioD pin mux mask and enable pioD ARM: at91/dt: sama5d3: update iio config for touchscreen ARM: at91/dt: sama5d3 xplained: disable pmic ARM: at91/dt: at91sam9x5: enable iio touchscreen for 9x5ek ARM: at91/dt: at91sam9n12ek: disable i2c1 ARM: at91/dt: at91sam9n12ek: fix the led labels name ARM: at91/dt: corrections to i2c1 declaration to sama5d4 commit 3cb06b30e4959abb43617a14e19b00aba89ffb07 Merge: f85e64b cae010a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:25:00 2015 +0200 Merge tag 'sti-dt-for-v4.4-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/dt Merge "STi DT changes for v4.4, round 1" from Maxime Coquelin: Highlights: ----------- - Add multiple pinctrl configurations to STiH407 - Enable devices using pins only at board level - Add HW RNG device nodes to STiH407 family - Fix MMC0 clock configuration on STiH418 - Fix interrupt related bindings on STiH407 * tag 'sti-dt-for-v4.4-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti: ARM: STi: STiH407: Enable the 2 HW Random Number Generators for STiH4{07, 10} ARM: DT: STi: STiH418: Fix mmc0 clock configuration ARM: STi: DT: STiH407: Rename incorrect interrupt related binding ARM: STi: STiH407: Add spi default pinctrl groups. ARM: DT: STiH407: Add RMII pinctrl support ARM: DT: STiH407: Add pinconfig for IRB UHF and IRB TX ARM: DT: STiH407: Add SD pinctrl config for mmc0 controller ARM: DT: STiH407: Add systrace pin configuration ARM: DT: STiH407: Add NAND flash controller pin configuration ARM: DT: STiH407: Add SPI FSM (NOR Flash) Controller pin config ARM: DT: STiH407: Add serial3 pinctrl configuration ARM: DT: STiH407: Add SPI 3 wire and 4 wire pinctrl configs ARM: STi: DT: STiH407: Add i2c3 alternate pin configs ARM: STi: DT: STiH407: Add a cec0 pin definition ARM: dts: stih410: Enable USB2.0 and related PHY nodes at board level ARM: dts: stih407/410: Tidy up display nodes ARM: dts: stih407: Enable PWM nodes only board level commit d836ace65ee98d7079bc3c5afdbcc0e27dca20a3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Sat Oct 3 13:03:47 2015 -0700 ARM: orion: Fix DSA platform device after mvmdio conversion DSA expects the host_dev pointer to be the device structure associated with the MDIO bus controller driver. First commit breaking that was c3a07134e6aa ("mv643xx_eth: convert to use the Marvell Orion MDIO driver"), and then, it got completely under the radar for a while. Reported-by: Frans van de Wiel <fvdw@xxxxxxx> Fixes: c3a07134e6aa ("mv643xx_eth: convert to use the Marvell Orion MDIO driver") CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit f85e64b540711fdbed61f17ee88c533756a5bc9d Merge: 049e6dd fcab303 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:20:52 2015 +0200 Merge tag 'hip05-dt-for-4.3' of git://github.com/hisilicon/linux-hisi into next/dt Merge "ARM64: DT: Hisilicon hip05 soc and D02 board updates for 4.3" from Wei Xu: - Updated the hisilicon devicetree bindings document to support hip05-D02 board - Added dts files for hip05 SoC and D02 board * tag 'hip05-dt-for-4.3' of git://github.com/hisilicon/linux-hisi: arm64: dts: add dts files for Hisilicon Hip05-D02 Development Board arm64: hip05-d02: Document devicetree bindings for Hisilicon Hip05-D02 Board commit 1590a419ac4f7f003f03309a93856cf453980d52 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 24 13:39:19 2015 +0200 ARM: multi_v7_defconfig: Support RTC devices commonly used on Rockchip boards Similar to the power management situation on Rockchip boards, there are two common RTC setups. For boards using the RK808 chip as a PMIC that chip also serves as the RTC, while boards using the ACT8846 typically use the Haoyu Microelectronics HYM8563 chip as their RTC. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 0ed9eb30c60b31c4959e01a7e78fd569135dc3a5 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 24 13:39:18 2015 +0200 ARM: multi_v7_defconfig: Enable the Rockchip USB 2.0 phy Most Rockchip SoCs have a DesignWare HS OTG USB 2.0 controller, enable the driver for the Rockchip USB 2.0 PHY to make that functional. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit cc68819a582cf5aa8258e58cb8803936850b67d0 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 24 13:39:17 2015 +0200 ARM: multi_v7_defconfig: Enable Rockchip display support Enable options needed for HDMI out on rockchip: DRM driver, Rockchip DesignWare HDMI glue and the rockchip IOMMU (dependency of the DRM driver). Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 307440f4db19832347e7ced2b25d858b299ec933 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 24 13:39:16 2015 +0200 ARM: multi_v7_defconfig: Enable common regulators for rockchip boards Rockchip boards seem to have two common regulator setups. Various board used the Active Semi act8846 often in combination with Silergy syr82x regulators (e.g. Radxa Rock Pro/Rock 2, Firefly, and Netxeon R89 etc), while others use regulator part of the Rockchip RK808 chip (e.g. the various Veyron based chromebooks, Chipspark Popmetal etc) Enable all these regulators. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2be40ba6d7fecdff407dd2ec1d502864c37a3f8b Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 24 13:39:15 2015 +0200 ARM: multi_v7_defconfig: Enable common Rockchip devices/busses Enable Rockchip I2C, SPI, PWM, thermal drivers. Builtin are I2C (as it often required to control the pmic) and Thermal drivers (to prevent thermal damage). SPI and PWM drivers configured as modules Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 7e3b7dc76c41f9042a7079eb07d071f744bbd87a Author: YH Huang <yh.huang@xxxxxxxxxxxx> Date: Tue Aug 18 15:27:54 2015 +0800 pwm: Add MediaTek display PWM driver support Add display PWM driver support to modify backlight for MT8173 and MT6595. The PWM has one channel to control the brightness of the display. When the (high_width / period) is closer to 1, the screen is brighter; otherwise, it is darker. Signed-off-by: YH Huang <yh.huang@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 3e9e6c28d287a4a2dc62f61cf67654bdae374992 Author: YH Huang <yh.huang@xxxxxxxxxxxx> Date: Tue Aug 18 15:27:53 2015 +0800 dt-bindings: pwm: Add MediaTek display PWM bindings Document the device-tree binding of MediaTek display PWM. The PWM has one channel to control the backlight brightness for display. Both the MT8173 and MT6595 are supported. Signed-off-by: YH Huang <yh.huang@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 25ebc9ec162d64ab38a813dac01c5322ebbcfcfa Author: Vignesh R <vigneshr@xxxxxx> Date: Tue Sep 8 20:44:05 2015 +0530 pwm: tipwmss: Enable on TI DRA7x and AM437x TIPWMSS is present on TI's DRA7x and AM437x SoCs. Enable its usage. Instead of adding each SoC individually, use the more generic symbol ARCH_OMAP2PLUS instead. Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 2b8b0ef354cc055f855d8cb86aeae9089517fba7 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Sep 9 15:32:30 2015 +0200 pwm: atmel-hlcdc: add sama5d2 SoC support. Add sama5d2 hlcdc backlight PWM support. This chip doesn't have to deal with an errata, so it's a simple addition of the mfd compatible string. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 3a9f5957020f87503afd5d4c1d5705253f0b3569 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 14 16:47:06 2015 -0700 pwm: Add Broadcom BCM7038 PWM controller support Add support for the BCM7038-style PWM controller found in all BCM7xxx STB SoCs. This controller has a hardcoded 2 channels per controller, and cascades a variable frequency generator on top of a fixed frequency generator which offers a range of a 148ns period all the way to ~622ms periods. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit b605aded44912d69c9a54b68c424171c35591aa2 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Oct 5 10:12:22 2015 +0100 ARM: multi_v7_defconfig: Add missing QCOM APQ8064 configs This patch adds few missing essential configs in the multi_v7_defconf, absense of some configs like PINCTRL_APQ8064 would prevent the board from getting access to serial. cc: Kevin Hilman <khilman@xxxxxxxxxx> cc: Tyler Baker <tyler.baker@xxxxxxxxxx> Tested-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit bd57a6a90e44d54281e2459be6bec5699e758499 Merge: aea843b de0d542 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:03:48 2015 +0200 Merge tag 'arm-soc/for-4.4/defconfig' of http://github.com/Broadcom/stblinux into next/defconfig Merge "Broadcom defconfig changes for v4.4" from Florian Fainelli: This pull request contains the following changes for the multi_v7_defconfig: - Jon adds support for the NorthStar Plus SocS to the multi_v7_defconfig file * tag 'arm-soc/for-4.4/defconfig' of http://github.com/Broadcom/stblinux: ARM: multi_v7_defconfig: Add NSP to defconfig commit aea843bc38562332ffdf73629fc01b6b74f71020 Merge: 049e6dd 0a8b069 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 16:02:34 2015 +0200 Merge tag 'renesas-defconfig-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Merge "Renesas ARM Based SoC Defconfig Updates for v4.4" from Simon Horman: * Remove now non-existent MACH_MARZEN from defconfigs * tag 'renesas-defconfig-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: multi_v7_defconfig: Remove Marzen ARM: shmobile: Remove Marzen from shmobile_defconfig commit c39b7eef7d92f5ffef1abf04227a62fa2a6a62b2 Merge: 1e1851f 049e6dd Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 15:01:52 2015 +0100 Merge 4.3-rc4 into char-misc-next This is needed due to the duplicated iommu stuff to help with the merge and to prevent future issues. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 064ca93f7ab927c2752d86fc5727716e340d737c Merge: e44a01f f719a0d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 15:59:16 2015 +0200 Merge tag 'efm32-for-4.4-rc1' of git://git.pengutronix.de/git/ukl/linux into next/cleanup Merge "efm32 cleanups for 4.4-rc1" from Uwe Kleine-Koenig: These are just two followup cleanups for commits that are in v3.17-rc1 and waited in my private tree for application since that time. * tag 'efm32-for-4.4-rc1' of git://git.pengutronix.de/git/ukl/linux: ARM: efm32: switch to vendor,device compatible strings ARM: efm32: switch to properly namespaced location property commit e44a01fa0e0aec2f3a21dadb9c030d14831d4258 Merge: 049e6dd 04418c2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Oct 6 15:45:52 2015 +0200 Merge tag 'renesas-cleanup-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Merge "Renesas ARM Based SoC Cleanup for v4.4" from Simon Horman: * Remove bockw/r8a7798 legacy board and SoC code * Many cleanups relating to legacy board and SoC code removal * tag 'renesas-cleanup-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (21 commits) ARM: shmobile: Remove legacy clock support leftovers ARM: shmobile: remove Makefile.boot ARM: shmobile: Kconfig: remove unused SHMOBILE_TIMER_HZ section ARM: shmobile: bockw: remove legacy DTB build target MAINTAINERS: remove references to dropped marzen and bockw defconfigs ARM: shmobile: bockw: remove legacy defconfig ARM: shmobile: remove ARCH_SHMOBILE_LEGACY option ARM: shmobile: r8a7778: remove legacy clock implementation ARM: shmobile: Kconfig: remove obsolete option ARCH_R8A7778 ARM: shmobile: r8a7778: remove obsolete setup code ARM: shmobile: bockw: remove legacy board file and config ARM: shmobile: remove paragraph on DT reference platforms ARM: shmobile: bockw: remove "reference" board file and config ARM: shmobile: bockw: remove "reference" device tree ARM: shmobile: Remove obsolete twd_local_timer declaration ARM: shmobile: Remove obsolete earlytimer registration ARM: shmobile: Remove obsolete legacy PM Domain leftovers ARM: shmobile: Remove obsolete intc.h ARM: shmobile: Remove obsolete custom earlyprintk code ARM: shmobile: Remove obsolete sh-gpio.h ... commit 21c4c073f14509d685ed219aa3c76362a7bfa0ac Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 6 06:25:43 2015 -0700 Revert "regmap: Allow installing custom reg_update_bits function" This reverts commit 7741c373cf3ea1f5383fa97fb7a640a429d3dd7c. commit 6a27a6c3be95d382cd158c5705c1840be291f28f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 6 06:25:36 2015 -0700 Revert "net: Microchip encx24j600 driver" This reverts commit 04fbfce7a222327b97ca165294ef19f0faa45960. commit c664bc6d946d253077f3a5d5ca6769492de59e04 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 6 06:25:29 2015 -0700 Revert "net: encx24j600_exit() can be static" This reverts commit 9886ce2b9d4e5a8bb3d78d0f7eff3c0f1ed58d67. commit 380996aab50eea1d66269e1633cd2f971f06da6d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:34:47 2015 +0100 drm/i915: Use a task to cancel the userptr on invalidate_range Whilst discussing possible ways to trigger an invalidate_range on a userptr with an aliased GGTT mmapping (and so cause a struct_mutex deadlock), the conclusion is that we can, and we must, prevent any possible deadlock by avoiding taking the mutex at all during invalidate_range. This has numerous advantages all of which stem from avoid the sleeping function from inside the unknown context. In particular, it simplifies the invalidate_range because we no longer have to juggle the spinlock/mutex and can just hold the spinlock for the entire walk. To compensate, we have to make get_pages a bit more complicated in order to serialise with a pending cancel_userptr worker. As we hold the struct_mutex, we have no choice but to return EAGAIN and hope that the worker is then flushed before we retry after reacquiring the struct_mutex. The important caveat is that the invalidate_range itself is no longer synchronous. There exists a small but definite period in time in which the old PTE's page remain accessible via the GPU. Note however that the physical pages themselves are not invalidated by the mmu_notifier, just the CPU view of the address space. The impact should be limited to a delay in pages being flushed, rather than a possibility of writing to the wrong pages. The only race condition that this worsens is remapping an userptr active on the GPU where fresh work may still reference the old pages due to struct_mutex contention. Given that userspace is racing with the GPU, it is fair to say that the results are undefined. v2: Only queue (and importantly only take one refcnt) the worker once. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e4b946bfe1e36680e27a5f39163980979fa61a5d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:34:46 2015 +0100 drm/i915: Fix userptr deadlock with aliased GTT mmappings MichaÅ? Winiarski found a really evil way to trigger a struct_mutex deadlock with userptr. He found that if he allocated a userptr bo and then GTT mmaped another bo, or even itself, at the same address as the userptr using MAP_FIXED, he could then cause a deadlock any time we then had to invalidate the GTT mmappings (so at will). Tvrtko then found by repeatedly allocating GTT mmappings he could alias with an old userptr mmap and also trigger the deadlock. To counter act the deadlock, we make the observation that we only need to take the struct_mutex if the object has any pages to revoke, and that before userspace can alias with the userptr address space, it must have invalidated the userptr->pages. Thus if we can check for those pages outside of the struct_mutex, we can avoid the deadlock. To do so we introduce a separate flag for userptr objects that we can inspect from the mmu-notifier underneath its spinlock. The patch makes one eye-catching change. That is the removal serial=0 after detecting a to-be-freed object inside the invalidate walker. I felt setting serial=0 was a questionable pessimisation: it denies us the chance to reuse the current iterator for the next loop (before it is freed) and being explicit makes the reader question the validity of the locking (since the object-free race could occur elsewhere). The serialisation of the iterator is through the spinlock, if the object is freed before the next loop then the notifier.serial will be incremented and we start the walk from the beginning as we detect the invalid cache. To try and tame the error paths and interactions with the userptr->active flag, we have to do a fair amount of rearranging of get_pages_userptr(). v2: Grammar fixes v3: Reorder set-active so that it is only set when obj->pages is set (and so needs cancellation). Only the order of setting obj->pages and the active-flag is crucial. Calling gup after invalidate-range begin means the userptr sees the new set of backing storage (and so will not need to invalidate its new pages), but we have to be careful not to set the active-flag prior to successfully establishing obj->pages. v4: Take the active->flag early so we know in the mmu-notifier when we have to cancel a pending gup-worker. v5: Rearrange the error path so that is not so convoluted v6: Set pinned to 0 when negative before calling release_pages() Reported-by: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Testcase: igt/gem_userptr_blits/map-fixed* Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 68d6c840595849c0d29f6c52bc75b44ded66b41f Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 12:34:45 2015 +0100 drm/i915: Only update the current userptr worker The userptr worker allows for a slight race condition where upon there may two or more threads calling get_user_pages for the same object. When we have the array of pages, then we serialise the update of the object. However, the worker should only overwrite the obj->userptr.work pointer if and only if it is the active one. Currently we clear it for a secondary worker with the effect that we may rarely force a second lookup. v2: Rebase and rename a variable to avoid 80cols v3: Mention v2 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 24dfd0736c9fc01d096e5760c656032b5a07e962 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Oct 2 14:16:53 2015 +0100 drm/i915: prevent out of range pt in the PDE macros (take 3) We tried to fix this in commit fdc454c1484a ("drm/i915: Prevent out of range pt in gen6_for_each_pde"). But the static analyzer still complains that, just before we break due to "iter < I915_PDES", we do "pt = (pd)->page_table[iter]" with an iter value that is bigger than I915_PDES. Of course, this isn't really a problem since no one uses pt outside the macro. Still, every single new usage of the macro will create a new issue for us to mark as a false positive. Also, Paulo re-started the discussion a while ago [1], but didn't end up implemented. In order to "solve" this "problem", this patch takes the ideas from Chris and Dave, but that check would change the desired behavior of the code, because the object (for example pdp->page_directory[iter]) can be null during init/alloc, and C would take this as false, breaking the for loop immediately. This has been already verified with "static analysis tools". [1]http://lists.freedesktop.org/archives/intel-gfx/2015-June/068548.html v2: Make it a single statement, while preventing the common subexpression elimination (Chris) Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e9f24d5fb7cf3628b195b18ff3ac4e37937ceeae Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Oct 5 13:26:36 2015 +0100 drm/i915: Clean up associated VMAs on context destruction Prevent leaking VMAs and PPGTT VMs when objects are imported via flink. Scenario is that any VMAs created by the importer will be left dangling after the importer exits, or destroys the PPGTT context with which they are associated. This is caused by object destruction not running when the importer closes the buffer object handle due the reference held by the exporter. This also leaks the VM since the VMA has a reference on it. In practice these leaks can be observed by stopping and starting the X server on a kernel with fbcon compiled in. Every time X server exits another VMA will be leaked against the fbcon's frame buffer object. Also on systems where flink buffer sharing is used extensively, like Android, this leak has even more serious consequences. This version is takes a general approach from the earlier work by Rafael Barbalho (drm/i915: Clean-up PPGTT on context destruction) and tries to incorporate the subsequent discussion between Chris Wilson and Daniel Vetter. v2: Removed immediate cleanup on object retire - it was causing a recursive VMA unbind via i915_gem_object_wait_rendering. And it is in fact not even needed since by definition context cleanup worker runs only after the last context reference has been dropped, hence all VMAs against the VM belonging to the context are already on the inactive list. v3: Previous version could deadlock since VMA unbind waits on any rendering on an object to complete. Objects can be busy in a different VM which would mean that the cleanup loop would do the wait with the struct mutex held. This is an even simpler approach where we just unbind VMAs without waiting since we know all VMAs belonging to this VM are idle, and there is nothing in flight, at the point context destructor runs. v4: Double underscore prefix for __915_vma_unbind_no_wait and a commit message typo fix. (Michel Thierry) Note that this is just a partial/interim fix since we have a bit a fundamental issue with cleaning up, e.g. https://bugs.freedesktop.org/show_bug.cgi?id=87729 Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Testcase: igt/gem_ppgtt.c/flink-and-exit-vma-leak Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> [danvet: Add a note that this isn't everything.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 683b95e8071603b4e945cb26dcae0308457ec478 Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:40 2015 +0300 ath10k: use pre-allocated DMA buffer in Tx ath10k driver is using dma_pool_alloc per packet and dma_pool_free in coresponding at Tx completion. Use of pre-allocated DMA buffer in Tx will improve saving CPU resource by 5% while it consumes about 56KB memory more as trade off. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bc27e8cddda69daa324318ffe3d2e1badad07775 Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:39 2015 +0300 ath10k: use Rx decap mode configured when driver registered ath10k is using Native WiFi mode as default mode for both of Tx and Rx path, but it could be changed when driver registers with a module parameter for specific purpose such as mesh. The Rx decap mode sent to firmware during WMI initialization should use the same mode that driver configured at its registration stage in case of using raw mode, so that host driver receives MAC frame header containing necessary fields such as QoS and Mesh Control and uses them in right way to make data traffic work. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 295426669cd68efc84657e6ee426499cfb54346e Author: Maharaja Kennadyrajan <c_mkenna@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:38 2015 +0300 ath10k: implement debugfs interface for Transmit Power Control stats The Transmit Power Control (TPC) dump will show the power control values for each rate which makes it easier to debug calibration problems. Example usage: # cat /sys/kernel/debug/ieee80211/phy0/ath10k/tpc_stats TPC config for channel 5180 mode 10 CTL = 0x10 Reg. Domain = 58 Antenna Gain = 1 Reg. Max Antenna Gain = 0 Power Limit = 34 Reg. Max Power = 34 Num tx chains = 3 Num supported rates = 155 **********CDD POWER TABLE******* No. Preamble Rate_code tpc_valu1 tpc_value2 tpc_value3 0 CCK 0x40 0 0 0 1 CCk 0x41 0 0 0 [...] 154 HTCUP 0x 0 24 0 0 **********STBC POWER TABLE****** No. Preamble Rate_code tpc_valu1 tpc_value2 tpc_value3 0 CCK 0x40 0 0 0 [...] 154 HTCUP 0x 0 24 24 0 **********TXBF POWER TABLE****** is used to dump the tx power control stats. Signed-off-by: Maharaja Kennadyrajan <c_mkenna@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3b8fc902e33e65dd859c0f974c0097b177eeb695 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:37 2015 +0300 ath10k: add a_sle32_to_cpu() Copy a_sle32_to_cpu() from ath6kl so that we can easily handle signed __le32 values. This is needed in struct wmi_pdev_tpc_config_event. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2a995088c5aec38db6ffbac96c404f75c7dd9d2c Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:37 2015 +0300 ath10k: split an unnecessary long line from checkpatch: drivers/net/wireless/ath/ath10k/mac.c:1113: line over 90 characters Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9a14969fa1674d2215d6d9f171ed323bd3ebb39d Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:36 2015 +0300 ath10k: fix whitespace usage checkpatch found: drivers/net/wireless/ath/ath10k/core.c:574: Blank lines aren't necessary before a close brace '}' drivers/net/wireless/ath/ath10k/mac.c:4067: Missing a blank line after declarations drivers/net/wireless/ath/ath10k/mac.c:4083: Missing a blank line after declarations drivers/net/wireless/ath/ath10k/mac.c:4084: spaces required around that '>>=' (ctx:WxV) drivers/net/wireless/ath/ath10k/pci.c:1507: Missing a blank line after declarations Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 92438a2cdb5d152d152ca7c449b033c255b977b4 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:36 2015 +0300 ath10k: remove void function return statements drivers/net/wireless/ath/ath10k/wmi.c:3023: void function return statements are not generally useful Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b9e284e515af75e72043bb802cfb52cd9bd04450 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:35 2015 +0300 ath10k: brace style fixes drivers/net/wireless/ath/ath10k/htt_tx.c:457: braces {} are not necessary for single statement blocks drivers/net/wireless/ath/ath10k/htt_tx.c:545: braces {} are not necessary for single statement blocks drivers/net/wireless/ath/ath10k/mac.c:200: braces {} are not necessary for single statement blocks Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 617b0f4d4a69962e0e86604f889d6af9e8f4150d Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:35 2015 +0300 ath10k: indentation fixes checkpatch found: drivers/net/wireless/ath/ath10k/core.c:513: Alignment should match open parenthesis drivers/net/wireless/ath/ath10k/core.c:1266: code indent should use tabs where possible drivers/net/wireless/ath/ath10k/core.c:1267: code indent should use tabs where possible drivers/net/wireless/ath/ath10k/core.c:1268: code indent should use tabs where possible drivers/net/wireless/ath/ath10k/core.c:1269: code indent should use tabs where possible drivers/net/wireless/ath/ath10k/mac.c:4659: Alignment should match open parenthesis drivers/net/wireless/ath/ath10k/mac.c:6271: Alignment should match open parenthesis drivers/net/wireless/ath/ath10k/pci.c:2260: Alignment should match open parenthesis drivers/net/wireless/ath/ath10k/wmi.c:3510: Alignment should match open parenthesis Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit be62e92a5b2b5960b494fc81ce27611240016821 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Oct 5 17:56:34 2015 +0300 ath10k: fix checkpatch warning about logical continuations checkpatch found: drivers/net/wireless/ath/ath9k/core.c:490: Logical continuations should be on the previous line Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 88e72717c2de4181d8a6de1b04315953ad2bebdf Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 18:35:31 2015 +0200 drm/irq: Use unsigned int pipe in public API This continues the pattern started in commit cc1ef118fc09 ("drm/irq: Make pipe unsigned and name consistent"). This is applied to the public APIs and driver callbacks, so pretty much all drivers need to be updated to match the new prototypes. Cc: Christian König <christian.koenig@xxxxxxx> Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: Inki Dae <inki.dae@xxxxxxxxxxx> Cc: Jianwei Wang <jianwei.wang.chn@xxxxxxxxx> Cc: Alison Wang <alison.wang@xxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Mark Yao <mark.yao@xxxxxxxxxxxxxx> Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Vincent Abriou <vincent.abriou@xxxxxx> Cc: Thomas Hellstrom <thellstrom@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1b70386c99e997b359735c753ca1a27c6cf87847 Author: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Date: Wed Jul 22 15:54:29 2015 +1000 powerpc/kexec: Wait 1s for secondaries to enter OPAL Always include a timeout when waiting for secondary cpus to enter OPAL in the kexec path, rather than only when crashing. Signed-off-by: Samuel Mendoza-Jonas <sam.mj@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 255e8e046c3925ee45a869466221a48d38451b39 Author: Christophe Leroy <christophe.leroy@xxxxxx> Date: Fri Aug 21 13:05:15 2015 +0200 powerpc/8xx: Shorten irq_chip name for the SIU show_interrupts() expects the irq_chip name to be max 8 characters otherwise everything get misaligned # cat /proc/interrupts CPU0 17: 0 CPM PIC 0 Level error 19: 0 MPC8XX SIU 15 Level tbint 20: 90 CPM PIC 4 Level cpm_uart 38: 29746 MPC8XX SIU 5 Level fs_enet-mac 39: 0 MPC8XX SIU 7 Level fs_enet-mac 47: 401 CPM PIC 5 Level fsl_spi 68: 1 MPC8XX SIU 2 Level phy_interrupt, phy_interrupt, phy_interrupt LOC: 7225485 Local timer interrupts for timer event device LOC: 9 Local timer interrupts for others SPU: 0 Spurious interrupts PMI: 0 Performance monitoring interrupts MCE: 0 Machine check exceptions Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 698d0b59f3d91cc44a76dd2994a002d263c3606b Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Mon Oct 5 21:03:39 2015 +0200 ASoC: rockchip: namespace rockchip i2s module name Change the rockchip i2s object name (and thus module name) from the rather generic snd-soc-i2s to the more specific snd-soc-rockchip-i2s Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 45d5ea48e1d4dc3b9df2e37aebaa4e97c52a7f2c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 5 19:35:24 2015 +0200 regulator: max77802: Separate sections for nodes and properties The optional "regulators" is a node and not a property so it should not be in the "Optional properties" section but in an "Optional nodes" one. Suggested-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7d8d05d11473a169ab4d53bc7fc23d1fe3f1959f Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 11:23:46 2015 +0200 misc: atmel_tclib: 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 timer counters. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit eed9fb9df47898ea62d71be7dcc3b36d95819a7c Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 11:23:45 2015 +0200 clocksource: tcb_clksrc: fix setup_clkevents error path t2_clk is already disabled before request_irq(), it must not be disabled again. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 216ab8f155fba659e06df240862cf59acb8b7be5 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 16 11:23:44 2015 +0200 clocksource: atmel-st: get and use slow clock The current slow clock rate is hardcoded. Properly get the slow clock and use its rate. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 8128f23c436d0dd4f72412e1bf9256e424479dc3 Author: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Date: Thu Aug 27 15:33:03 2015 +0200 iommu/s390: Add iommu api for s390 pci devices This adds an IOMMU API implementation for s390 PCI devices. Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 78cd6a9d8e154fe2ac5d2b912519e27545cfd13b Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 4 23:25:50 2015 -0500 arm64: dts: Add base stratix 10 dtsi Add the base DTS for Altera's SoCFPGA Stratix 10 platform. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> --- v4: Add a non-zero ranges property for /soc node v3: change #address-cells and #size-cells to <2> change the GIC address to 0xfffc1000 update the GIC virtual CPU reg length to 0x2000 v2: use interrupt-affinity for pmu node commit 19c21388272a64c0cd5c4a6a24eca33507ee6d50 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 22 14:50:37 2015 -0500 ARM: socfpga: dts: enable USB and I2C on Arria10 SoCDK On the Arria10 Devkit, the I2C bus has a serial EEPROM and an RTC hanging off it. Also, enable the USB node. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit e7604ae277ffa49474336fc2c099225e36559002 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 22 15:55:56 2015 -0500 ARM: socfpga: dts: add clock fields for I2C, UART and USB on Arria10 Add the required clock fields for all the I2C nodes. Also add missing clock fields for UART0 and USB1. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit e1a58320a38dfa72be48a0f1a3a92273663ba6db Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Mon Oct 5 12:55:20 2015 -0400 x86/mm: Warn on W^X mappings Warn on any residual W+X mappings after setting NX if DEBUG_WX is enabled. Introduce a separate X86_PTDUMP_CORE config that enables the code for dumping the page tables without enabling the debugfs interface, so that DEBUG_WX can be enabled without exposing the debugfs interface. Switch EFI_PGT_DUMP to using X86_PTDUMP_CORE so that it also does not require enabling the debugfs interface. On success it prints this to the kernel log: x86/mm: Checked W+X mappings: passed, no W+X pages found. On failure it prints a warning and a count of the failed pages: ------------[ cut here ]------------ WARNING: CPU: 1 PID: 1 at arch/x86/mm/dump_pagetables.c:226 note_page+0x610/0x7b0() x86/mm: Found insecure W+X mapping at address ffffffff81755000/__stop___ex_table+0xfa8/0xabfa8 [...] Call Trace: [<ffffffff81380a5f>] dump_stack+0x44/0x55 [<ffffffff8109d3f2>] warn_slowpath_common+0x82/0xc0 [<ffffffff8109d48c>] warn_slowpath_fmt+0x5c/0x80 [<ffffffff8106cfc9>] ? note_page+0x5c9/0x7b0 [<ffffffff8106d010>] note_page+0x610/0x7b0 [<ffffffff8106d409>] ptdump_walk_pgd_level_core+0x259/0x3c0 [<ffffffff8106d5a7>] ptdump_walk_pgd_level_checkwx+0x17/0x20 [<ffffffff81063905>] mark_rodata_ro+0xf5/0x100 [<ffffffff817415a0>] ? rest_init+0x80/0x80 [<ffffffff817415bd>] kernel_init+0x1d/0xe0 [<ffffffff8174cd1f>] ret_from_fork+0x3f/0x70 [<ffffffff817415a0>] ? rest_init+0x80/0x80 ---[ end trace a1f23a1e42a2ac76 ]--- x86/mm: Checked W+X mappings: FAILED, 171 W+X pages found. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> 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: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1444064120-11450-1-git-send-email-sds@xxxxxxxxxxxxx [ Improved the Kconfig help text and made the new option default-y if CONFIG_DEBUG_RODATA=y, because it already found buggy mappings, so we really want people to have this on by default. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b248e6548e344a26fc92c57772fd4224a490bca9 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Mon Oct 5 16:21:11 2015 +0800 drm/i915/bxt: vlv_dsi_reset_clocks() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 38a413cbc2b2834683b21823d964bc2d2f0abb82 Merge: 55696b1 9ffecb1 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 6 10:56:54 2015 +0200 Merge tag 'v4.3-rc3' into x86/mm, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2493f21f56316ad55508f173463ebf0b3f0a15bb Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Mon Oct 5 10:01:13 2015 +0300 drm/i915: Rename DP link training functions The link training functions had confusing names. The start function actually does the clock recovery phase of the link training, and the complete function does the channel equalization. So call them that instead. Also, every call to intel_dp_start_link_train() was followed by a call to intel_dp_complete_link_train(), so add a new start function that calls clock_recory and channel_equalization. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0b5e88dc25ee6c9040c0355e6e025dcbc9c8de92 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Oct 5 16:43:15 2015 +0530 drm/i915: Add hot_plug hook for hdmi encoder This patch adds a separate probe function for HDMI EDID read over DDC channel. This function has been registered as a .hot_plug handler for HDMI encoder. The current implementation of hdmi_detect() function re-sets the cached HDMI edid (in connector->detect_edid) in every detect call.This function gets called many times, sometimes directly from userspace probes, forcing drivers to read EDID every detect function call.This causes several problems like: 1. Race conditions in multiple hot_plug / unplug cases, between interrupts bottom halves and userspace detections. 2. Many Un-necessary EDID reads for single hotplug/unplug 3. HDMI complaince failures which expects only one EDID read per hotplug This function will be serving the purpose of really reading the EDID by really probing the DDC channel, and updating the cached EDID. The plan is to: 1. i915 IRQ handler bottom half function already calls intel_encoder->hotplug() function. Adding This probe function which will read the EDID only in case of a hotplug / unplug. 2. During init_connector this probe will be called to read the edid 3. Reuse the cached EDID in hdmi_detect() function. The "< gen7" check is there because this was tested only for >=gen7 platforms. For older platforms the hotplug/reading edid path remains same. v2: Calling set_edid instead of hdmi_probe during init. Also, for platforms having DDI, intel_encoder for DP and HDMI is same (taken from intel_dig_port), so for DP also, hot_plug function gets called which is not intended here. So, check for HDMI in intel_hdmi_probe Rely on HPD for updating edid only for platforms gen > 8 and also for VLV. v3: Dropping the gen < 8 || !VLV check. Now all platforms should rely on hotplug or init for updating the edid.(Daniel) Also, calling hdmi_probe in init instead of set_edid v4: Renaming intel_hdmi_probe to intel_hdmi_hot_plug. Also calling this hotplug handler from intel_hpd_init to take care of init resume scenarios. v5: Moved the call to encoder hotplug during init to separate patch(Daniel) Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> [danvet: Mark intel_hdmi_hot_plug as static.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b9748cb513a6bef4af87b79f0da3ff7e8b56cd8 Author: Jordan Justen <jordan.l.justen@xxxxxxxxx> Date: Thu Oct 1 23:09:58 2015 -0700 drm/i915: Add GEN7_GPGPU_DISPATCHDIMX/Y/Z to the register whitelist This is required to support glDispatchComputeIndirect for gen7. Signed-off-by: Jordan Justen <jordan.l.justen@xxxxxxxxx> Reviewed-by: Kristian Høgsberg <krh@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3e7732a05d3b14e2ae33013622ae9c691b419312 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Thu Oct 1 20:29:27 2015 +0530 drm/i915: Update Promotion timer for RC6 TO Mode When using RC6 timeout mode, the timeout value should be written to GEN6_RC6_THRESHOLD. v2: Updated commit message. (Tom) v3: Rebase over whitespace differences. (Daniel) Cc: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a1c4199414539d7eea34e416fb64fb5178221381 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Sep 30 09:46:37 2015 -0700 drm/i915/guc: Add host2guc notification for suspend and resume Add host2guc interface to notify GuC power state changes when enter or resume from power saving state. v3: Move intel_guc_suspend to i915_drm_suspend for consistency. v2: Add GuC suspend/resume to runtime suspend/resume too v1: Change to a more flexible way when fill host to GuC scratch data in order to remove hard coding. Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3be60de9e9dc92c852c196cf4b62e287fa53963c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 18:05:45 2015 +0300 drm/i915: Skip CHV PHY asserts until PHY has been fully reset The BIOS can leave the CHV display PHY in some odd state where some of the LDOs/lanes won't power down fully when unused. This will trigger a host of asserts that were added in: 30142273a3e83936fd7b45aa5339311a9295ca51 drm/i915: Add CHV PHY LDO power sanity checks 6669e39f95b5530ca8cb9137703ceb5e83e5d648 drm/i915: Add some CHV DPIO lane power state asserts To avoid that, skip the asserts until the PHY power well has been disabled at least once. That will fully reset the PHY, and once brought back up, the dynamic power down features will work correctly. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S<deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9571b190cf474ae02a7e018a21d14052d750070f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 18:05:44 2015 +0300 drm/i915: Don't bypass LRC on CHV The docs are unclear as usual, so it's not clear whether LRC should be bypassed, performed normally or GRC code should be used as the LRC code. Some old docs stated that LRC bypass ought to be used, more recent ones no longer say that. Some docs indicated that we could use GRC as the LRC code on CHV, but the BIOS doesn't do that, so let's not do it either. Besides to enable LRC bypass properly, I believe we should set the bit already before deasserting cmnreset. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S<deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5d250b05918c002b63632c7db91c3c5f924c6a3b Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Oct 5 16:43:14 2015 +0530 drm/i915: Call encoder hotplug for init and resume cases For all the encoders, call the hot_plug if it is registered. This is required for connected boot and resume cases to generate fake hpd resulting in reading of edid. Removing the initial sdvo hot_plug call too so that it will be called just once from this loop. Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1e1851f9d725ff9f00d74dfc4b73d47cba57466f Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Mon Oct 5 10:37:01 2015 -0700 Revert "iommu: Allow iova to be used without requiring IOMMU_SUPPORT" Revert 'commit 353649e5da90 ("iommu: Allow iova to be used without requiring IOMMU_SUPPORT"). This commit is made unnecessary by 'commit ac6d83ccd9c5 ("misc: mic: Fix SCIF build failure with IOMMU_SUPPORT disabled") and will create a conflict upon merging with 4.3-rc4. The correct long term solution is to move the iova library from drivers/iommu into lib/iova which will be done in a future patch. Cc: David Woodhouse <David.Woodhouse@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c696693a4f54d12714738b45aee3e4302884ade Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:18:22 2015 +0800 soc: rockchip: power-domain: Add power domain driver This driver is found on RK3288 SoCs. In order to meet high performance and low power requirements, a power management unit is designed or saving power when RK3288 in low power mode. The RK3288 PMU is dedicated for managing the power of the whole chip. PMU can work in the Low Power Mode by setting bit[0] of PMU_PWRMODE_CON register. After setting the register, PMU would enter the Low Power mode. In the low power mode, pmu will auto power on/off the specified power domain, send idle req to specified power domain, shut down/up pll and so on. All of above are configurable by setting corresponding registers. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> [replace dsb() with dsb(sy) for arm64 buildability; sy is the default, so no functional change; adapt to per-user clocks in genpd] Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit d64180fd5921be9db9cf63cc12c11086c444c0d0 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:18:20 2015 +0800 dt-bindings: add document of Rockchip power domains This add the necessary binding documentation for the power domains found on Rockchip SoCs. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 30c63a9db6052ef10355101bd4f30d2d7437a65d Merge: 772b050 a914169 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Oct 6 09:47:26 2015 +0200 Merge branch 'v4.4-armsoc/pd-headers' into v4.4-armsoc/drivers commit 772b05086d7ade59e997c4f5f2cca6af16f5096d Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Oct 1 21:05:09 2015 +0200 PM / clk: Do not __clk_get passed in clock-references Clock references are on a per-user basis now, so they are not supposed to be refcounted by itself anymore. Therefore multiple cascaded get and put calls will fail. When a clock reference gets passed into pm_clk_add_clk we can assume that the pm clock handling will take control of the clock reference, so after this functions returns the caller should've given up control of that handle. So remove the additional call to __clk_get() in __pm_clk_add(). The only current user of pm_clk_add_clk is drivers/clk/shmobile/clk-mstp.c which already follows this paradigm by only getting the clock but not puting it after passing the reference into pm_clk_add_clk. In the error case the caller is expected to clean up the clock, as it may very well try to do something different if pm_clk_add_clk() fails. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> [add commit-message] Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9495525e51e6f54fda4fbb7ef19eed4d131f18b2 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 14 16:47:05 2015 -0700 Documentation: dt: add Broadcom BCM7038 PWM controller binding Add a binding documentation for the Broadcom BCM7038 PWM controller found in BCM7xxx chips. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit ed6c1476bf7f16d5f203ce2893ed04284c3aebd3 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Sep 30 17:47:53 2015 +0900 pwm: Add support for R-Car PWM Timer This patch adds support for R-Car SoCs PWM Timer. The PWM timer of R-Car H2 has 7 channels. So, we can use the channels if we describe device tree nodes. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 7260d25145a1485767efc5d4341405bcb5703eab Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Sep 30 17:47:52 2015 +0900 pwm: Add device tree binding document for R-Car PWM Timer Add binding document for Renesas PWM Timer on R-Car SoCs. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 59d5c8b1537da3bc6a18a4912727bc9287e6af91 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 16:59:47 2015 +0200 pwm: Add support for the Berlin PWM controller Add a PWM controller driver for the Marvell Berlin SoCs. This PWM controller has 4 channels. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 1c748dc2cbbe45d48572e395e11be677fbf7a28c Merge: e3b0ac1 27bf90b Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Oct 6 09:04:10 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: - Switch the default callchain output mode to 'graph,0.5,caller', to make it look like the default for other tools, reducing the learning curve for people used to 'caller' based viewing. (Arnaldo Carvalho de Melo) - Implement column based horizontal scrolling in the hists browser (top, report), making it possible to use the TUI for things like 'perf mem report' where there are many more columns than can fit in a terminal. (Arnaldo Carvalho de Melo) - Support sorting by symbol_iaddr with perf.data files produced by 'perf mem record'. (Don Zickus) - Display DATA_SRC sample type bit, i.e. when running 'perf evlist -v' the "DATA_SRC" wasn't appearing when set, fix it to look like: (Jiri Olsa) cpu/mem-loads/pp: ...SNIP... sample_type: IP|TID|TIME|ADDR|CPU|PERIOD|DATA_SRC - Introduce the 'P' event modifier, meaning 'max precision level, please', i.e.: $ perf record -e cycles:P usleep 1 Is now similar to: $ perf record usleep 1 Useful, for instance, when specifying multiple events. (Jiri Olsa) - Make 'perf -v' and 'perf -h' work. (Jiri Olsa) - Fail properly when pattern matching fails to find a tracepoint, i.e. '-e non:existent' was being correctly handled, with a proper error message about that not being a valid event, but '-e non:existent*' wasn't, fix it. (Jiri Olsa) Infrastructure changes: - Separate arch specific entries in 'perf test' and add an 'Intel CQM' one to be fun on x86 only. (Matt Fleming) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a837fe4724713ef701e47d6bfab98a5efaff3eb Author: Peter Nørlund <pch@xxxxxxxxxxxx> Date: Tue Oct 6 07:24:47 2015 +0200 ipv4: Fix compilation errors in fib_rebalance This fixes net/built-in.o: In function `fib_rebalance': fib_semantics.c:(.text+0x9df14): undefined reference to `__divdi3' and net/built-in.o: In function `fib_rebalance': net/ipv4/fib_semantics.c:572: undefined reference to `__aeabi_ldivmod' Fixes: 0e884c78ee19 ("ipv4: L3 hash-based multipath") Signed-off-by: Peter Nørlund <pch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c21dbcfefc9dc9abc42971dc1f2681b6a8677c3c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 28 12:38:34 2015 +0200 ARM: dts: Remove regulator-compatible usage in exynos4412-trats2 The regulator-compatible property from the regulator DT binding was deprecated and the correct approach is to use the node's name. This patch has no functional changes but by not using a deprecated property, new DTS based on this one will not carry the same issue. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit c5185068066d854dab2f1af1894cd994234c65ce Author: Sean Paul <seanpaul@xxxxxxxxxxxx> Date: Thu Sep 17 14:48:39 2015 +0200 ARM: dts: Move display-timings node from fimd to dp in exynos5250-arndale, smdk5250 and smdk5420 This patch moves the display-timings node from fimd to dp to reflect the device tree bindings change. Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> [tomeu.vizoso@xxxxxxxxxxxxx: Rebased] Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit c7efd123500b11568ce928a5cd91ad132ec36df5 Author: Yoichi Yuasa <yuasa@xxxxxxxxxxxxxx> Date: Sat Sep 19 11:34:30 2015 -0700 Input: add support for ROHM BU21023/24 touchscreen This adds support for ROHM BU21023/24 Dual touch resistive touchscreens. Signed-off-by: Yoichi Yuasa <yuasa@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 33ca8ab97cbb676d11a4b026ad392c046893a6dc Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 29 16:04:36 2015 -0700 Input: parkbd - use parallel port device model Modify parkbd driver to use the new Parallel Port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0877098d82fd1823878534b116a4a725e729701f Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 6 01:51:01 2015 +0300 ARM: shmobile: porter: add Ether DT support Define the Porter board dependent part of the Ether device node. Enable DHCP and NFS root for the kernel booting. This patch is analogous to the commit 26b0d2cf73cb ("ARM: shmobile: henninger: add Ether DT support") as there are no differences between those boards in this respect. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7b415285ae96f5bfa0fa95d3227c6900c4ff151d Merge: c65cf81 049e6dd Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Oct 5 17:36:38 2015 -0700 Merge tag 'v4.3-rc4' into next Merge with mainline to sync up with changes to parkbd driver. commit c65cf815653ec64e73d40819806c2d1aed91681e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Oct 5 17:23:08 2015 -0700 Input: turbografx - store object in correct index The variable i is used to check the port to attach to and we are supposed to save the reference of struct tgfx in the location given by tgfx_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. Fixes: 4de27a638a99 ("Input: turbografx - use parallel port device model") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c36906c53ccff0f43310fac9606976440a71c742 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Oct 5 17:22:58 2015 -0700 Input: gamecon - store object at correct index The variable i is used to check the port to attach to and we are supposed to save the reference of struct gc in the location given by gc_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Fixes: a517e87c3dfc ("Input: gamecon - use parallel port device model") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit dd23bf1044e89f46e2d1af9725c0b24864309082 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Oct 5 17:22:47 2015 -0700 Input: db9 - store object at correct index The variable i is used to check the port to attach to and we are supposed to save the reference of struct db9 in the location given by db9_base[i]. But after finding out the index, i is getting modified again so we saved in a wrong index. While at it mark db9_base[i] as NULL after it is freed. Fixes: 2260c419b52b ("Input: db9 - use parallel port device model") Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 47490ec141b9944a8a7cbe3bec8b8f4fdaaa700b Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Tue Oct 6 09:44:42 2015 +1030 modpost: Add flag -E for making section mismatches fatal The section mismatch warning can be easy to miss during the kernel build process. Allow it to be marked as fatal to be easily caught and prevent bugs from slipping in. Setting CONFIG_SECTION_MISMATCH_WARN_ONLY=y causes these warnings to be non-fatal, since there are a number of section mismatches when using allmodconfig on some architectures, and we do not want to break these builds by default. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Change-Id: Ic346706e3297c9f0d790e3552aa94e5cff9897a6 Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 27bf90bf0690f55c3679bcc4c325823cf1cfd19d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 21:31:17 2015 +0200 perf tools: Fail properly in case pattern matching fails to find tracepoint Currently we dont fail properly when pattern matching fails to find any tracepoint. Current behaviour: $ perf record -e 'sched:krava*' sleep 1 WARNING: event parser found nothinginvalid or unsupported event: 'sched:krava*' Run 'perf list' for a list of valid events usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] This patch change: $ perf record -e 'sched:krava*' sleep 1 event syntax error: 'sched:krava*' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing/events/sched/krava* not found. Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?. Run 'perf list' for a list of valid events usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] Reported-by: Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444073477-3181-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c6c3c02dea4034431110923ffd8e296ebfbdbe1b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 17:22:43 2015 -0300 perf hists browser: Implement horizontal scrolling Do it using the recently introduced ui_brower scrolling mode, setting ui_browser.columns to the number of sort columns and then, when rendering each line, skipping as many initial columns as the user pressed the right arrow. As the user presses the left arrow, the ui_browser code will remove the scrolling counter and the left scrolling takes place. The right arrow key was an alias for ENTER, so people used to press it may get a bit annoyed at first, sorry! Ditto for ESC and the left key. Callchains can be left as is or we can, when rendering the Symbol column, store the at what position on the screen it is and then using ui_browser__gotorc() to print it from there, i.e. the callchain would move around with the symbol. Leaving it as is, i.e. at a fixed position, close to the left, saves precious screen real state for it, so I'm inclined to leave it as is now. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> 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-ccqq9sabgfge5dwbqjwh71ij@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit faae6f690eecb82b6d9d9f2112f5b51ac37d4acb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 11 17:14:40 2015 -0300 perf ui browser: Optional horizontal scrolling key binding If the classes derived from ui_browser want to do some sort of horizontal scrolling, they have just to set ui_browser->columns to the number of columns available. Those columns can be the number of characters on the screen, if what is desired is to scroll character by character, or the number of columns in a spreadsheet like table. This is what the hist_browser will do, skipping ui_browser->horiz_scroll columns when rendering each of its lines. 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-q6a22bpmpgcr1awgzrmd4jrs@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit def02db0d662b0edd83f80e3c18f660fc414decb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 5 17:05:35 2015 -0300 perf callchain: Switch default to 'graph,0.5,caller' Which is the most common default found in other similar tools. Requested-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: https://www.youtube.com/watch?v=nXaxk27zwlk Link: http://lkml.kernel.org/n/tip-v8lq36aispvdwgxdmt9p9jd9@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c3322022897ca528b57e8854cd4fc40c61f81eb6 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:43 2015 +0200 ARM: pxa: ezx: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit bd2e2b3c354605d2064ddd8b3c9fbbe7d2df714f Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Mon Oct 5 10:49:42 2015 +0200 ARM: pxa: colibri-pxa270-income: Use PWM lookup table Use a PWM lookup table to provide the PWM to the pwm-backlight device. The driver has a legacy code path that is required only because boards still use the legacy method of requesting PWMs by global ID. Replacing these usages allows that legacy fallback to be removed. Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 035827e9f2bd71a280f4eb58c65811d377ab2217 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Mon Oct 5 15:40:21 2015 +0100 perf tests: Add Intel CQM test Peter reports that it's possible to trigger a WARN_ON_ONCE() in the Intel CQM code by combining a hardware event and an Intel CQM (software) event into a group. Unfortunately, the perf tools are not able to create this bundle and we need to manually construct a test case. For posterity, record Peter's proof of concept test case in tools/perf so that it presents a model for how we can perform architecture specific tests, or "arch tests", in perf in the future. The particular issue triggered in the test case is that when the counter for the hardware event overflows and triggers a PMI we'll read both the hardware event and the software event counters. Unfortunately, for CQM that involves performing an IPI to read the CQM event counters on all sockets, which in NMI context triggers the WARN_ON_ONCE(). Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxx> Cc: Vince Weaver <vince@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1437490509-15373-1-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/n/tip-3p4ra0u8vzm7m289a1m799kf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d8b167f9d8af817073ee35cf904e2e527465dbc1 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Mon Oct 5 15:40:20 2015 +0100 perf tests: Move x86 tests into arch directory Move out the x86-specific tests into tools/perf/arch/x86/tests and define an 'arch_tests' array, which is the list of tests that only apply to the build architecture. We can also now begin to get rid of some of the #ifdef code that is present in the generic perf tests. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxx> Cc: Vince Weaver <vince@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-9s68h4ptg06ah0lgnjz55mqn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 31b6753f95320260b160935d0e9c0b29f096ab57 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Mon Oct 5 15:40:19 2015 +0100 perf tests: Add arch tests Tests that only make sense for some architectures currently live in the same place as the generic tests. Move out the x86-specific tests into tools/perf/arch/x86/tests and define an 'arch_tests' array, which is the list of tests that only apply to the build architecture. The main idea is to encourage developers to add arch tests to build out perf's test coverage, without dumping everything in tools/perf/tests. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxx> Cc: Vince Weaver <vince@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-p4uc1c15ssbj8xj7ku5slpa6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a1853e2c6f8ed488adcd84fb162c5b3f0b674d9b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:09 2015 +0200 perf tools: Handle -h and -v options Adding handling for '-h' and '-v' options to invoke help and version command respectively. Current behaviour is: $ perf -v Unknown option: -v Usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS] $ perf -h Unknown option: -h Usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS] New behaviour: $ perf -h usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS] The most commonly used perf commands are: annotate Read perf.data (created by perf record) and display annotated code archive Create archive with object files with build-ids found in perf.data file bench General framework for benchmark suites ... $ perf -v perf version 4.3.rc3.gc99e32 Updated man page. Requested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-10-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b34b3bf0798633cc248b682f5b4f6509739ce234 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:08 2015 +0200 perf tools: Setup proper width for symbol_iaddr field We need to properly initialize column width for symbol_iaddr field, so all symbols could fit in the column. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-9-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 28e6db205b3ed3f1d86a00c69b3304190377da5f Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Mon Oct 5 20:06:07 2015 +0200 perf tools: Add support for sorting on the iaddr Sorting on 'symbol' gives to broad a resolution as it can cover a range of IP address. Use the iaddr instead to get proper sorting on IP addresses. Need to use the 'mem_sort' feature of perf record. New sort option is: symbol_iaddr, header label is 'Code Symbol'. $ perf mem report --stdio -F +symbol_iaddr # Overhead Samples Code Symbol Local Weight # ........ ............ ........................ ............ # 54.08% 1 [k] nmi_handle 192 4.51% 1 [k] finish_task_switch 16 3.66% 1 [.] malloc 13 3.10% 1 [.] __strcoll_l 11 Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-8-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ddd83c9717ef8204f17cc63d6dcb5053d472caee Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:06 2015 +0200 perf tests: Add parsing test for 'P' modifier We cant test 'P' modifier gets properly parsed, the functionality test itself is beyond this suite. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-7-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7f94af7a489fada17d28cc60e8f4409ce216bd6d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:05 2015 +0200 perf tools: Introduce 'P' modifier to request max precision The 'P' will cause the event to get maximum possible detected precise level. Following record: $ perf record -e cycles:P ... will detect maximum precise level for 'cycles' event and use it. Commiter note: Testing it: $ perf record -e cycles:P usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.013 MB perf.data (9 samples) ] $ perf evlist cycles:P $ perf evlist -v cycles:P: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, precise_ip: 2, sample_id_all: 1, mmap2: 1, comm_exec: 1 $ Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 45cf6c33f95448752dd3d5531388429c3a5012d0 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:04 2015 +0200 perf tools: Export perf_event_attr__set_max_precise_ip() It'll be used in following patch. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5ec4502d774699194952209ff3ebe65d2472e15a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:03 2015 +0200 perf annotate: Fix sizeof_sym_hist overflow issue The annotated_source::sizeof_sym_hist could easily overflow int size, resulting in crash in __symbol__inc_addr_samples. Changing its type int size_t as was probably intended from beginning based on the initialization code in symbol__alloc_hist. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 84422592e58f6f1ea03688fcf92143bbc095fa88 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:02 2015 +0200 perf evlist: Display DATA_SRC sample type bit Adding DATA_SRC bit_name call to display sample_type properly. $ perf evlist -v cpu/mem-loads/pp: ...SNIP... sample_type: IP|TID|TIME|ADDR|CPU|PERIOD|DATA_SRC, ... Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ccb5597f9ba11b67b8aa8c6f4682675eceee0e21 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Oct 5 20:06:01 2015 +0200 tools lib api fs: No need to use PATH_MAX + 1 Because there's no point, PATH_MAX is big enough. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1444068369-20978-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e8e88438008375b17561dcc6a22abc24decf04ac Author: Ritesh Raj Sarraf <rrs@xxxxxxxxxx> Date: Mon Oct 5 22:02:18 2015 +0530 HID: sensor-hub: Add quirk for Lenovo Yoga 2 with ITE Chips This patch is a follow-up to 47eeca8a48 (" HID: sensor-hub: Add in quirk for Lenovo Yogas with ITE") The Lenovo Yoga 2 13 seems to be sold in multiple variants with minor difference3s. IN my case, the USB ID for ITE chip is different than the Yoga 2 11 and Yoga 3 14. Without the quirk, no data is received from the accelerometer. I have verified the patch, testing this on 4.3-rc4 (and 4.2 stable). With this patch, proper orientation data is received. rrs@learner:~/Community/UpstreamSources/linux-upstream_GIT (stable-42)$ monitor-sensor ** Message: Accelerometer orientation changed: bottom-up ** Message: Light changed: 0.000000 (lux) ±** Message: Accelerometer orientation changed: left-up ** Message: Accelerometer orientation changed: bottom-up ** Message: Accelerometer orientation changed: left-up ** Message: Accelerometer orientation changed: normal ** Message: Light changed: 29.999999 (lux) monitor-sensor can be found in the iio-sensor-proxy tool. Signed-off-by: Ritesh Raj Sarraf <rrs@xxxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 06766513232d1619ac84e87b1d839d3fcc23a540 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Thu Sep 10 21:20:57 2015 -0700 RDS: IB: split mr pool to improve 8K messages performance 8K message sizes are pretty important usecase for RDS current workloads so we make provison to have 8K mrs available from the pool. Based on number of SG's in the RDS message, we pick a pool to use. Also to make sure that we don't under utlise mrs when say 8k messages are dominating which could lead to 8k pull being exhausted, we fall-back to 1m pool till 8k pool recovers for use. This helps to at least push ~55 kB/s bidirectional data which is a nice improvement. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 41a4e9646229801624e38f7a1cc53033a0affdb1 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sat Sep 19 13:06:08 2015 -0400 RDS: IB: use max_mr from HCA caps than max_fmr All HCA drivers seems to popullate max_mr caps and few of them do both max_mr and max_fmr. Hence update RDS code to make use of max_mr. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 67161e250a28de5cdafa99a3b659b1e2e269fd7e Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sat Sep 19 17:21:22 2015 -0400 RDS: IB: mark rds_ib_fmr_wq static Fix below warning by marking rds_ib_fmr_wq static net/rds/ib_rdma.c:87:25: warning: symbol 'rds_ib_fmr_wq' was not declared. Should it be static? Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 26139dc1dbf79fd1ae1e2766a1f66b0728bd67b3 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Tue Sep 15 18:20:35 2015 -0700 RDS: IB: use already available pool handle from ibmr rds_ib_mr already keeps the pool handle which it associates with. Lets use that instead of round about way of fetching it from rds_ib_device. No functional change. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 2e1d6b813ac146db1e33ebb9b90441012dde4952 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sun Sep 13 22:34:37 2015 -0700 RDS: IB: fix the rds_ib_fmr_wq kick call RDS IB mr pool has its own workqueue 'rds_ib_fmr_wq', so we need to use queue_delayed_work() to kick the work. This was hurting the performance since pool maintenance was less often triggered from other path. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 9441c973e1e0e9885537a3a86020fe8e121e9a98 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sat Sep 19 14:01:09 2015 -0400 RDS: IB: handle rds_ibdev release case instead of crashing the kernel Just in case we are still handling the QP receive completion while the rds_ibdev is released, drop the connection instead of crashing the kernel. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 0c28c04500cf956c82d542c199f5bddabd590af3 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sun Sep 6 02:18:51 2015 -0400 RDS: IB: split send completion handling and do batch ack Similar to what we did with receive CQ completion handling, we split the transmit completion handler so that it lets us implement batched work completion handling. We re-use the cq_poll routine and makes use of RDS_IB_SEND_OP to identify the send vs receive completion event handler invocation. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit f4f943c958a2869b0601092857c1cf0e485d3ce8 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Sun Sep 6 02:18:51 2015 -0400 RDS: IB: ack more receive completions to improve performance For better performance, we split the receive completion IRQ handler. That lets us acknowledge several WCE events in one call. We also limit the WC to max 32 to avoid latency. Acknowledging several completions in one call instead of several calls each time will provide better performance since less mutual exclusion locks are being performed. In next patch, send completion is also split which re-uses the poll_cq() and hence the code is moved to ib_cm.c Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit db6526dcb51b054961a2d96ba43dec23e38818b3 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Fri Sep 11 15:44:29 2015 -0700 RDS: use rds_send_xmit() state instead of RDS_LL_SEND_FULL In Transport indepedent rds_sendmsg(), we shouldn't make decisions based on RDS_LL_SEND_FULL which is used to manage the ring for RDMA based transports. We can safely issue rds_send_xmit() and the using its return value take decision on deferred work. This will also fix the scenario where at times we are seeing connections stuck with the LL_SEND_FULL bit getting set and never cleared. We kick krdsd after any time we see -ENOMEM or -EAGAIN from the ring allocation code. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 4bebdd7a4d2960b2ff6c40b27156d041ea270765 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Thu Sep 10 11:57:14 2015 -0700 RDS: defer the over_batch work to send worker Current process gives up if its send work over the batch limit. The work queue will get kicked to finish off any other requests. This fixes remainder condition from commit 443be0e5affe ("RDS: make sure not to loop forever inside rds_send_xmit"). The restart condition is only for the case where we reached to over_batch code for some other reason so just retrying again before giving up. While at it, make sure we use already available 'send_batch_count' parameter instead of magic value. The batch count threshold value of 1024 came via commit 443be0e5affe ("RDS: make sure not to loop forever inside rds_send_xmit"). The idea is to process as big a batch as we can but at the same time we don't hold other waiting processes for send. Hence back-off after the send_batch_count limit (1024) to avoid soft-lock ups. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 5f5cdc08231eb802ad3890ba3bd2ef272c21b924 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 16:59:50 2015 +0200 ARM: berlin: add a PWM node on the BG2CD This patch adds a PWM node in the Berlin BG2CD device tree, using the newly added Berlin PWM driver. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 8eaaaa6f9d09bd53440b60f8aec38fe0c6b3d88b Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 16:59:49 2015 +0200 ARM: berlin: add a PWM node on the BG2 This patch adds a PWM node in the Berlin BG2 device tree, using the newly added Berlin PWM driver. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 956d8217842938c4e614dc5e8b24d6a499ad547a Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 16:59:48 2015 +0200 ARM: berlin: add a PWM node on the BG2Q This patch adds a PWM node in the Berlin BG2Q device tree, using the newly added Berlin PWM driver. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 709641061457ee31ad9fed96798102c3326750f9 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 13:50:42 2015 -0300 [media] lirc_dev.h: Make checkpatch happy Remove warnings about bad whitespacing at function struct parameters. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit be14c5cd592b6a268c825ca78ff7be758bab316d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 13:35:37 2015 -0300 [media] DocBook: Convert struct lirc_driver to doc-nano format The struct lirc_driver is already documented, but on some internal format. Convert it to Kernel doc-nano format and add documentation for some additional parameters that are also present at the structure. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 326ab27bbddf053e6b578fde312b5069aa55b2ab Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 13:08:34 2015 -0300 [media] DocBook: Document tveeprom.h This header declares the code and structures used to parse Hauppauge eeproms. As this is part of the V4L2 common, and used by several drivers, let's properly document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e5224f58e3efd74972f7dcf46264c3ba9aa807ba Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Tue Sep 29 16:41:43 2015 +0200 ASoC: ad193x: add support to ad1934 The AD1934 codec has no ADC feature. Hence it register mapping is slightly different from the register mapping of other members of the AD193x family. Some ASoC controls and widgets are related to the DAC feature so are not relevant in the case of an AD1934 codec. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c64c60763b4e3c72a3520c8d51be858cd67bacb5 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Sep 18 11:09:13 2015 +0800 ASoC: fsl_esai: Add driver suspend and resume to support MEGA Fast For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of modules during system suspend and resume procedure. Thus, ESAI needs to save all the values of registers before the system suspend and restore them after the system resume. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 05cf237972fe65eb537ea4f10e5627ceeb8f89b6 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Sep 18 11:09:12 2015 +0800 ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of modules during system suspend and resume procedure. Thus, SSI needs to save all the values of registers before the system suspend and restore them after the system resume. The register SFCSR is volatile, but some bits in it need to be recovered after suspend/resume. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f9f4fa61aab9417e40898cf6706fffa94005dc44 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Sep 18 11:09:11 2015 +0800 ASoC: fsl_spdif: Add driver suspend and resume to support MEGA Fast For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of modules during system suspend and resume procedure. Thus, SPDIF needs to save all the values of registers before the system suspend and restore them after the system resume. The SRPC register should be volatile, LOCK bit is set by the hardware. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1fde5e83a17acbcfcce27f68be46a6da4344efbd Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Sep 18 11:09:10 2015 +0800 ASoC: fsl_sai: Add driver suspend and resume to support MEGA Fast For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of modules during system suspend and resume procedure. Thus, SAI needs to save all the values of registers before the system suspend and restore them after the system resume. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 43ac946922b337507c4131c45bf339ddcd7e7402 Author: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Date: Fri Sep 18 17:18:48 2015 +0800 ASoC: imx-spdif: add snd_soc_pm_ops for spdif machine driver Add snd_soc_pm_ops in machine driver to make the trigger suspend/resume be called in suspend/resume. Signed-off-by: Zidan Wang <zidan.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6dd3187447e710db23de81ed4877fc8f72e80411 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 12:56:16 2015 -0300 [media] tveeprom: Remove two unused fields from struct The digitizer* fields aren't used. Remove them. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5edfcee5ed73eb9537987c4ddb6bf062b6943b73 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 08:42:00 2015 +0200 mac80211: make ieee80211_new_mesh_header return unsigned The function returns always non-negative values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b1ce5b79aec8d8cd8bcd076d8cce8bc3cd690051 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Sep 23 19:16:01 2015 +0200 iommu/vt-d: Create RMRR mappings in newly allocated domains Currently the RMRR entries are created only at boot time. This means they will vanish when the domain allocated at boot time is destroyed. This patch makes sure that also newly allocated domains will get RMRR mappings. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d66ce54b4664a0d66429a4de996741581d71cf90 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Sep 23 19:00:10 2015 +0200 iommu/vt-d: Split iommu_prepare_identity_map Split the part of the function that fetches the domain out and put the rest into into a domain_prepare_identity_map, so that the code can also be used with when the domain is already known. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a29a9a585b2840a205f085a34dfd65c75e86f7c3 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Mon Oct 5 11:50:46 2015 +0900 netfilter: nfnetlink_log: allow to attach conntrack This patch enables to include the conntrack information together with the packet that is sent to user-space via NFLOG, then a user-space program can acquire NATed information by this NFULA_CT attribute. Including the conntrack information is optional, you can set it via NFULNL_CFG_F_CONNTRACK flag with the NFULA_CFG_FLAGS attribute like NFQUEUE. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 224a05975ebbbdf507c65043f8aba280ccb39e6e Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Mon Oct 5 11:49:56 2015 +0900 netfilter: ctnetlink: add const qualifier to nfnl_hook.get_ct get_ct as is and will not update its skb argument, and users of nfnl_ct_hook is currently only nfqueue, we can add const qualifier. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> commit 83f3e94d3477d79e603a1cf4c3e0c14da0f02688 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Mon Oct 5 11:48:47 2015 +0900 netfilter: Kconfig rename QUEUE_CT to GLUE_CT Conntrack information attaching infrastructure is now generic and update it's name to use `glue' in previous patch. This patch updates Kconfig symbol name and adding NF_CT_NETLINK dependency. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a4b4766c3cebb4018167e06b863d8e95b7274757 Author: Ken-ichirou MATSUZAWA <chamaken@xxxxxxxxx> Date: Mon Oct 5 11:47:13 2015 +0900 netfilter: nfnetlink_queue: rename related to nfqueue attaching conntrack info The idea of this series of patch is to attach conntrack information to nflog like nfqueue has already done. nfqueue conntrack info attaching basis is generic, rename those names to generic one, glue. Signed-off-by: Ken-ichirou MATSUZAWA <chamas@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 0647e708344f4bf8b9e3f1855361c597f93d084d Author: Flavio Leitner <fbl@xxxxxxxxxxxx> Date: Wed Sep 30 10:23:50 2015 -0300 netfilter: remove dead code Remove __nf_conntrack_find() from headers. Fixes: dcd93ed4cd1 ("netfilter: nf_conntrack: remove dead code") Signed-off-by: Flavio Leitner <fbl@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1d957d862ac782eaf5803d4d4cf167708e4dc147 Author: Maruthi Srinivas Bayyavarapu <Maruthi.Bayyavarapu@xxxxxxx> Date: Fri Sep 25 17:48:22 2015 -0400 ASoC: dwc: support dw i2s in slave mode dw i2s controller can work in slave mode, codec being master. dw i2s is made to support master/slave operation, by reading dwc register. Signed-off-by: Maruthi Bayyavarapu <maruthi.bayyavarapu@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 47fac2415db653a79e005d4fa25948d3667b8e02 Author: Misael Lopez Cruz <misael.lopez@xxxxxx> Date: Mon Sep 14 15:31:05 2015 +0300 dmaengine: omap-dma: Enable packed accesses for cyclic transfers The L3 throughput can be higher than expected when packed access is not enabled. The ratio depends on the number of bytes in a transaction and the EMIF interface width. The throughput was measured for the following settings/cases: * Case 1: Burst size of 64 bytes, packed access disabled * Case 2: Burst size of 64 bytes, packed access enabled * Case 3: Burst disabled, packed access disabled Throughput measurements were done during McASP-based audio playback on the Jacinto6 EVM using the omapconf tool [1]: $ omapconf trace bw -m sdma_rd --------------------------------------------------------- Throughput (MB/s) Audio parameters Case 1 Case 2 Case 3 --------------------------------------------------------- 44.1kHz, 16-bits, stereo 1.41 0.18 1.41 44.1kHz, 32-bits, stereo 1.41 0.35 1.41 44.1kHz, 16-bits, 4-chan 2.82 0.35 2.82 44.1kHz, 16-bits, 6-chan 4.23 0.53 4.23 44.1kHz, 16-bits, 8-chan 5.64 0.71 5.64 --------------------------------------------------------- From above measurements, case 2 is the only one that delivers the expected throughput for the given audio parameters. For that reason, the packed accesses are now enabled. It's worth to mention that packed accesses cannot be enabled for all addressing modes. In cyclic transfers, it can be enabled in the source for MEM_TO_DEV and in dest for DEV_TO_MEM, as they use post-increment mode which supports packed accesses. Peter Ujfalusi: From the TRM regarding to this: "NOTE: Except in the constant addressing mode, the source or destination must be specified as packed for burst transactions to occur." So w/o the packed setting the burst on the MEM side was not enabled, this explains the numbers. [1] https://github.com/omapconf/omapconf 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 b28b1e826f818c30ea732ba751bbecb202dd32a7 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Sun Oct 4 19:38:14 2015 +0200 netfilter: nfnetlink_queue: use y2038 safe timestamp The __build_packet_message function fills a nfulnl_msg_packet_timestamp structure that uses 64-bit seconds and is therefore y2038 safe, but it uses an intermediate 'struct timespec' which is not. This trivially changes the code to use 'struct timespec64' instead, to correct the result on 32-bit architectures. This is a copy and paste of Arnd's original patch for nfnetlink_log. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2b5b1a01a77f0e24b77680fce5245a582cb96330 Merge: 32f40c5 b59f2e3 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Oct 5 17:25:54 2015 +0200 Merge tag 'ipvs3-for-v4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next Simon Horman says: ==================== Third Round of IPVS Updates for v4.4 please consider this build fix from Eric Biederman which resolves a build problem introduced in is excellent work to cleanup IPVS which you recently pulled: its queued up for v4.4 so no need to worry about earlier kernel versions. I have another minor cleanup, to fix a build warning, pending. However, I wanted to send this one to you now as its hit nf-next, net-next and in turn next, and a slow trickle of bug reports are appearing. ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a04267fd87b62cd03d2a2ebb05a5b38d272e8d11 Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Mon Oct 5 15:09:49 2015 +0100 ALSA: hdac: Fix to check if stream not in use in release if the stream is decoupled and both link and host are used, while releasing the stream, need to check if link and host stream are not in use. This patch adds fix to check if the host/link stream is in used before coupling it back when releasing the stream. Signed-off-by: Jeeja KP <jeeja.kp@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 88b19968a247117d3cbf0d405d004c7fc0e7a42c Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Mon Oct 5 15:09:48 2015 +0100 ALSA: hdac: Fix incorrect update of stream id mapping Bits in LOSIDV need to be set to map the stream id for specific link. Fixing this by setting the required bits in the register. 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 c2f4160b77f1e12b2c05f2253575617faf0c69d0 Merge: 6ff33f3 7e50711 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 5 16:17:08 2015 +0100 Merge tag 'ib-mfd-regulator-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into regulator-tps6105x Immutable branch between MFD and Regulator due for v4.3 commit f40eb916aae018e6133f338503eafdc0e80bec27 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Oct 5 17:07:23 2015 +0200 regulator: max77802: Add input supply properties to DT binding doc The max77802 regulator driver defines the supply name for each regulator so these can be described in DT but is not mentioned in the binding doc. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4e929134eb8271abc9c52c371e056debfea6898b Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Mon Oct 5 15:10:04 2015 +0100 ASoC: da7219: Improve error handling for regulator supplies Currently if bulk_enable() of supplies fails, the code still goes on to try and put the device into active state, and set expected IO voltage of the device. This doesn't really make sense so code now returns on bulk_enable() failure, with an error message. Also, to help with debug, failure to get supplies also provides an error message. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5057f3262c52434fea9eda17494716b9649f25bd Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 11:37:15 2015 -0300 [media] DocBook: add documentation for tuner-types.h The tuner-types.h is part of the V4L2 core and should be touched for every new tuner added. So, it deserves to be documented at the device-drivers DocBook. Add it to device-drivers.tmpl and add descriptions for enum param_type and struct tuner_range. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a2c026cfec3fb84375785dd2d6ec80bd60c5120e Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Oct 5 19:34:16 2015 +0800 ASoC: rt5645: Prevent the weird sound of the headphone while rebooting The patch adds the codec reset setting in the shutdown function to prevent the weird sound of the headphone happened by rebooting. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f79683ded69aeb041ee9b814d7611f47b6a89881 Merge: 1f9c6e1 b8402d8 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Mon Oct 5 17:22:54 2015 +0300 Merge ath-next from ath.git Major changes in ath10k: * add spectral scan support for 10.4 firmware * add qca6164 support * implement mesh support using firmware raw mode commit 7118f19c4c7cc95ad1513729b83f9db789970152 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 30 14:39:46 2015 +0800 regulator: axp20x: set supply names for AXP22X DC1SW/DC5LDO internally The DC1SW and DC5LDO regulators in the AXP22X are internally chained to DCDC1 and DCDC5, hence the names. The original bindings used the parent regulator names for the supply regulator property. Since they are internally connected, the relationship should not be represented in the device tree, but handled internally by the driver. This patch has the driver remember the regulator names for the parent DCDC1/DCDC5, and use them as supply names for DC1SW/DC5LDO. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8a29f6c3da0b56fa20c94edde98f53a5582e71a3 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 30 14:39:45 2015 +0800 regulator: axp20x: Drop AXP221 DC1SW and DC5LDO regulator supplies from bindings The DC1SW and DC5LDO regulators in the AXP221 are internally chained to DCDC1 and DCDC5, hence the names. The original bindings used the parent regulator names for the supply regulator property. This causes some confusion when we actually use it in the dts: axp221 { /* self supplying? */ dcdc1-supply = <&dcdc1>; dcdc5-supply = <&dcdc5>; dcdc1: dcdc1 { ... }; dcdc5: dcdc5 { ... }; }; Since they are internally connected within the PMIC, their relationships should not be visible in the device tree. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0cdf5640e4f6940bdbbefee4bb0adb7dffb185ec Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Oct 2 18:42:00 2015 +0200 ebpf: include perf_event only where really needed Commit ea317b267e9d ("bpf: Add new bpf map type to store the pointer to struct perf_event") added perf_event.h to the main eBPF header, so it gets included for all users. perf_event.h is actually only needed from array map side, so lets sanitize this a bit. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4560cdff03a76348ee5fae48e3c7914e4de2db5b Author: Nicolas Schichan <nschichan@xxxxxxxxxx> Date: Fri Oct 2 17:06:47 2015 +0200 ARM: net: support BPF_ALU | BPF_MOD instructions in the BPF JIT. For ARMv7 with UDIV instruction support, generate an UDIV instruction followed by an MLS instruction. For other ARM variants, generate code calling a C wrapper similar to the jit_udiv() function used for BPF_ALU | BPF_DIV instructions. Some performance numbers reported by the test_bpf module (the duration per filter run is reported in nanoseconds, between "jitted:<x>" and "PASS": ARMv7 QEMU nojit: test_bpf: #3 DIV_MOD_KX jited:0 2196 PASS ARMv7 QEMU jit: test_bpf: #3 DIV_MOD_KX jited:1 104 PASS ARMv5 QEMU nojit: test_bpf: #3 DIV_MOD_KX jited:0 2176 PASS ARMv5 QEMU jit: test_bpf: #3 DIV_MOD_KX jited:1 1104 PASS ARMv5 kirkwood nojit: test_bpf: #3 DIV_MOD_KX jited:0 1103 PASS ARMv5 kirkwood jit: test_bpf: #3 DIV_MOD_KX jited:1 311 PASS Signed-off-by: Nicolas Schichan <nschichan@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df7b6015421babdf0fe7c0061dcc0bddf8ebab09 Merge: bab1899 6a57081 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 06:58:51 2015 -0700 Merge branch 'asix-rx-mem-handling' Mark Craske says: ==================== Improve ASIX RX memory allocation error handling The ASIX RX handler algorithm is weak on error handling. There is a design flaw in the ASIX RX handler algorithm because the implementation for handling RX Ethernet frames for the DUB-E100 C1 can have Ethernet frames spanning multiple URBs. This means that payload data from more than 1 URB is sometimes needed to fill the socket buffer with a complete Ethernet frame. When the URB with the start of an Ethernet frame is received then an attempt is made to allocate a socket buffer. If the memory allocation fails then the algorithm sets the buffer pointer member to NULL and the function exits (no crash yet). Subsequently, the RX hander is called again to process the next URB which assumes there is a socket buffer available and the kernel crashes when there is no buffer. This patchset implements an improvement to the RX handling algorithm to avoid a crash when no memory is available for the socket buffer. The patchset will apply cleanly to the net-next master branch but the created kernel has not been tested. The driver was tested on ARM kernels v3.8 and v3.14 for a commercial product. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a570814cd430fa5ef4f278e8046dcf12ee63f13 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri Oct 2 14:29:08 2015 +0100 asix: Continue processing URB if no RX netdev buffer Avoid a loss of synchronisation of the Ethernet Data header 32-bit word due to a failure to get a netdev socket buffer. The ASIX RX handling algorithm returned 0 upon a failure to get an allocation of a netdev socket buffer. This causes the URB processing to stop which potentially causes a loss of synchronisation with the Ethernet Data header 32-bit word. Therefore, subsequent processing of URBs may be rejected due to a loss of synchronisation. This may cause additional good Ethernet frames to be discarded along with outputting of synchronisation error messages. Implement a solution which checks whether a netdev socket buffer has been allocated before trying to copy the Ethernet frame into the netdev socket buffer. But continue to process the URB so that synchronisation is maintained. Therefore, only a single Ethernet frame is discarded when no netdev socket buffer is available. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Mark Craske <Mark_Craske@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f30b158eba5c604b6e0870027eef5d19fc9271d Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri Oct 2 14:29:07 2015 +0100 asix: On RX avoid creating bad Ethernet frames When RX Ethernet frames span multiple URB socket buffers, the data stream may suffer a discontinuity which will cause the current Ethernet frame in the netdev socket buffer to be incomplete. This frame needs to be discarded instead of appending unrelated data from the current URB socket buffer to the Ethernet frame in the netdev socket buffer. This avoids creating a corrupted Ethernet frame in the netdev socket buffer. A discontinuity can occur when the previous URB socket buffer held an incomplete Ethernet frame due to truncation or a URB socket buffer containing the end of the Ethernet frame was missing. Therefore, add a sanity test for when an Ethernet frame spans multiple URB socket buffers to check that the remaining bytes of the currently received Ethernet frame point to a good Data header 32-bit word of the next Ethernet frame. Upon error, reset the remaining bytes variable to zero and discard the current netdev socket buffer. Assume that the Data header is located at the start of the current socket buffer and attempt to process the next Ethernet frame from there. This avoids unnecessarily discarding a good URB socket buffer that contains a new Ethernet frame. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Mark Craske <Mark_Craske@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a5ccd8e039eef53336e45d01c7d8a1acbd36b47 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri Oct 2 14:29:06 2015 +0100 asix: Simplify asix_rx_fixup_internal() netdev alloc The code is checking that the Ethernet frame will fit into a netdev allocated socket buffer within the constraints of MTU size, Ethernet header length plus VLAN header length. The original code was checking rx->remaining each loop of the while loop that processes multiple Ethernet frames per URB and/or Ethernet frames that span across URBs. rx->remaining decreases per while loop so there is no point in potentially checking multiple times that the Ethernet frame (remaining part) will fit into the netdev socket buffer. The modification checks that the size of the Ethernet frame will fit the netdev socket buffer before allocating the netdev socket buffer. This avoids grabbing memory and then deciding that the Ethernet frame is too big and then freeing the memory. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Mark Craske <Mark_Craske@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3bfc69abf802f56901ffd83bb66b7dd7644ddcc3 Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri Oct 2 14:29:05 2015 +0100 asix: Tidy-up 32-bit header word synchronisation Tidy-up the Data header 32-bit word synchronisation logic in asix_rx_fixup_internal() by removing redundant logic tests. The code is looking at the following cases of the Data header 32-bit word that is present before each Ethernet frame: a) all 32 bits of the Data header word are in the URB socket buffer b) first 16 bits of the Data header word are at the end of the URB socket buffer c) last 16 bits of the Data header word are at the start of the URB socket buffer eg. split_head = true Note that the lifetime of rx->split_head exists outside of the function call and is accessed per processing of each URB. Therefore, split_head being true acts on the next URB to be processed. To check for b) the offset will be 16 bits (2 bytes) from the end of the buffer then indicate split_head is true. To check for c) split_head must be true because the first 16 bits have been found. To check for a) else c) Note that the || logic of the old code included the state (skb->len - offset == sizeof(u16) && rx->split_head) which is not possible because the split_head cannot be true whilst checking for b). This is because the split_head indicates that the first 16 bits have been found and that is not possible whilst checking for the first 16 bits. Therefore simplify the logic. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Mark Craske <Mark_Craske@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b0378f517fa1a32b5c8384248d2f8bf79c7c2ae Author: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Date: Fri Oct 2 14:29:04 2015 +0100 asix: Rename remaining and size for clarity The Data header synchronisation is easier to understand if the variables "remaining" and "size" are renamed. Therefore, the lifetime of the "remaining" variable exists outside of asix_rx_fixup_internal() and is used to indicate any remaining pending bytes of the Ethernet frame that need to be obtained from the next socket buffer. This allows an Ethernet frame to span across multiple socket buffers. "size" is now local to asix_rx_fixup_internal() and contains the size read from the Data header 32-bit word. Add "copy_length" to hold the number of the Ethernet frame bytes (maybe a part of a full frame) that are to be copied out of the socket buffer. Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx> Signed-off-by: Mark Craske <Mark_Craske@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0037686596832572bbca05ab168d9884d7d704c1 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Tue Sep 29 23:15:53 2015 +0200 spi: bitbang: switch to the generic implementation of transfer_one_message Change the bitbang driver to use the generic implementation of transfer_one_message. This simplifies the bitbang driver code and provides benefits like the statistics in the generic implementation. Successfully tested on a IMX6-based system (spi-imx) and on a MIPS-based router (OpenWRT with spi-ath79). Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e30d8f23926b70a003d9fb16b49bfe23f01269da Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Tue Sep 29 23:09:33 2015 +0200 spi: bitbang: remove unneeded check Remove an unneeded check. The SPI core (__spi_validate) takes care that these fields are always populated. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bab18991871545dfbd10c931eb0fe8f7637156a9 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Fri Oct 2 15:17:33 2015 +0200 bpf, seccomp: prepare for upcoming criu support The current ongoing effort to dump existing cBPF seccomp filters back to user space requires to hold the pre-transformed instructions like we do in case of socket filters from sk_attach_filter() side, so they can be reloaded in original form at a later point in time by utilities such as criu. To prepare for this, simply extend the bpf_prog_create_from_user() API to hold a flag that tells whether we should store the original or not. Also, fanout filters could make use of that in future for things like diag. While fanout filters already use bpf_prog_destroy(), move seccomp over to them as well to handle original programs when present. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Tested-by: Tycho Andersen <tycho.andersen@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65fc64090ed3dc750d40474b07a6f8ad734440cc Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 10:24:59 2015 -0300 [media] DocBook: convert struct tuner_parms to doc-nano format The struct tuner_params is almost fully documented, but using a non-standard way. Convert it to doc-nano format, and add descriptions for the parameters that aren't documented yet. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0a15afd2eaceceff5be4c8b7166f01c1a68e9642 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Oct 1 15:21:08 2015 -0700 vrf: fix a kernel warning This fixes: tried to remove device ip6gre0 from (null) ------------[ cut here ]------------ kernel BUG at net/core/dev.c:5219! invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC CPU: 3 PID: 161 Comm: kworker/u8:2 Not tainted 4.3.0-rc2+ #1142 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Workqueue: netns cleanup_net task: ffff8800d784a9c0 ti: ffff8800d74a4000 task.ti: ffff8800d74a4000 RIP: 0010:[<ffffffff817f0797>] [<ffffffff817f0797>] __netdev_adjacent_dev_remove+0x40/0xec RSP: 0018:ffff8800d74a7a98 EFLAGS: 00010282 RAX: 000000000000002a RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff88011adcf701 RSI: ffff88011adccbf8 RDI: ffff88011adccbf8 RBP: ffff8800d74a7ab8 R08: 0000000000000001 R09: 0000000000000000 R10: ffffffff81d190ff R11: 00000000ffffffff R12: ffff8800d599e7c0 R13: 0000000000000000 R14: ffff8800d599e890 R15: ffffffff82385e00 FS: 0000000000000000(0000) GS:ffff88011ac00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00007ffd6f003000 CR3: 000000000220c000 CR4: 00000000000006e0 Stack: 0000000000000000 ffff8800d599e7c0 0000000000000b00 ffff8800d599e8a0 ffff8800d74a7ad8 ffffffff817f0861 0000000000000000 ffff8800d599e7c0 ffff8800d74a7af8 ffffffff817f088f 0000000000000000 ffff8800d599e7c0 Call Trace: [<ffffffff817f0861>] __netdev_adjacent_dev_unlink+0x1e/0x35 [<ffffffff817f088f>] __netdev_adjacent_dev_unlink_neighbour+0x17/0x41 [<ffffffff817f56e6>] netdev_upper_dev_unlink+0x6c/0x13d [<ffffffff81674a3d>] vrf_del_slave+0x26/0x7d [<ffffffff81674ac3>] vrf_device_event+0x2f/0x34 [<ffffffff81098c40>] notifier_call_chain+0x75/0x9c [<ffffffff81098fa2>] raw_notifier_call_chain+0x14/0x16 [<ffffffff817ee129>] call_netdevice_notifiers_info+0x52/0x59 [<ffffffff817f179d>] call_netdevice_notifiers+0x13/0x15 [<ffffffff817f6f18>] rollback_registered_many+0x14f/0x24f [<ffffffff817f70f2>] unregister_netdevice_many+0x19/0x64 [<ffffffff819a2455>] ip6gre_exit_net+0x163/0x177 [<ffffffff817eb019>] ops_exit_list+0x44/0x55 [<ffffffff817ebcb7>] cleanup_net+0x193/0x226 [<ffffffff81091e1c>] process_one_work+0x26c/0x4d8 [<ffffffff81091d20>] ? process_one_work+0x170/0x4d8 [<ffffffff81092296>] worker_thread+0x1df/0x2c2 [<ffffffff810920b7>] ? process_scheduled_works+0x2f/0x2f [<ffffffff810920b7>] ? process_scheduled_works+0x2f/0x2f [<ffffffff81097a20>] kthread+0xd4/0xdc [<ffffffff810bc523>] ? trace_hardirqs_on_caller+0x17d/0x199 [<ffffffff8109794c>] ? __kthread_parkme+0x83/0x83 [<ffffffff81a5240f>] ret_from_fork+0x3f/0x70 [<ffffffff8109794c>] ? __kthread_parkme+0x83/0x83 Fixes: 93a7e7e837af ("net: Remove the now unused vrf_ptr") Cc: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14152c8d30bbe5155d0438feb0a1931aee0e5bce Author: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Date: Thu Oct 1 10:00:58 2015 +0300 drm: Use DRM_ROTATE_MASK and DRM_REFLECT_MASK Avoid magic numbers and use the introduced defines. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6220907089cc3eb4ab2fa7073bbf617b019666c5 Author: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Date: Thu Oct 1 10:00:57 2015 +0300 drm: Add DRM_ROTATE_MASK and DRM_REFLECT_MASK Makes it cleaner to separate the two from rotation variable. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 67673dce9a9c765f38ba103b11e948488342f230 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 16:59:46 2015 +0200 pwm: Add Berlin PWM controller DT binding Add DT binding documentation for the Berlin PWM controller. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 62e93f090b0903def1d7455c311c50b9e6f38ef2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 09:54:23 2015 -0300 [media] tuner.h: Make checkpatch.pl happier Remove some bad whitespaces before tabs and fix the initial comment to be compliant with Kernel coding style. Now, the only complains are about long comment lines at the defines. Those warnings should be ok to be kept. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a2f1a680115c527972ead1b89de4a31176d3c2c6 Author: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Date: Sun Oct 4 21:58:48 2015 +0300 ARM: dts: sun4i: Add AXP209 PMU regulators for pcDuino1/2 This allows voltage-scaling with cpufreq-dt. The reliability of voltage-scaling has been checked by reducing the voltage of all operating points by 0.025V (for extra safety headroom) and running libjpeg-turbo decoding tests on 5 pcDuino2 boards. It means that the standard sun4i voltages should be perfectly fine too. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 07c68a7423c4e44cc4f85caa83bb7fae36367250 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 09:50:36 2015 -0300 [media] DocBook: Document include/media/tuner.h This is part of the V4L2 core, so its kABI should be documented at device-drivers DocBook. Add the meta-tags for that. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7111c6c672fc8714c5092952a24df6694d46d71f Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Aug 30 23:34:25 2015 +0200 backlight: adp8870: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and also "adp8870-backlight" is not a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit da601ebc70f3b2d3a5c9b6f9f41e519abe76f47e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Aug 30 23:34:24 2015 +0200 backlight: adp8860: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and also "adp8860-backlight" is not a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9f7898f3ca71744ef834048dc78ad4a21db4ac64 Author: Werner Johansson <werner.johansson@xxxxxxxxxxxxxx> Date: Thu Aug 27 10:41:15 2015 -0700 backlight: lp855x: Make sure props struct is zeroed The driver occasionally got stuck in suspend mode or other strange states as those parts of the props struct were never initialized. Signed-off-by: Werner Johansson <werner.johansson@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit efe98010b80ec4516b2779e1b4e4a8ce16bf89fe Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Oct 5 09:12:56 2015 -0300 [media] DocBook: Fix remaining issues with VB2 core documentation Right now, "private:" tag should be lower-case, otherwise the scripts/kernel-doc won't do the right thing. Also, no fields after "private:" should be documented. As we don't want to strip the documentation, let's untag. This way, it will be seen only at the file, and not at the DocBooks. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0316d30ea3e66379cd30ed70a114bc282159bb4c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri May 22 13:41:07 2015 +0200 iwlwifi: mvm: add minimal multi-RXQ infrastructure Since the new multi-queue capability depends on a new firmware API, we can already add some code for it. If the new API is present, a new opmode ops struct is used that handles the new rx_rss method. For now, only restructure the RX handling to distinguish between the two. Future patches will convert the new infrastructure to actually use the new RX descriptor layout. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit d3f555f493b037eb688adda6d8a682e9b69211ed Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 16 12:21:32 2015 +0200 iwlwifi: size firmware flags memory correctly Instead of relying on a hard-coded constant of a maximum of 64 API and capability bits, add a new enum value after the others that will then always track the number of used bits in the API/capabilities. We thus no longer need to maintain the maximum number, and on 32-bit platforms even (currently) reduce the number of bits kept in memory. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit fe96cc73c9f405a0bdc90504048235dfd0384582 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 24 22:19:43 2015 +0200 iwlwifi: mvm: make threshold temperatures unsigned There's no need to have negative threshold temperatures, so make them unsigned to avoid signedness warnings in debugfs. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 91fac940896b345d10e503ed7e1f54f85b3b9318 Author: Moshe Harel <moshe.harel@xxxxxxxxx> Date: Wed Sep 2 12:45:12 2015 +0300 iwlwifi: nvm: add nvm phy_sku section to debugfs The only NVM section not captured in debugfs. Signed-off-by: Moshe Harel <moshe.harel@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit e6c21be665cab08325ee1f99e76497b5ffa924a9 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 24 22:15:02 2015 +0200 iwlwifi: mvm: fix signedness warnings in ToF debugfs Using an int* instead of u32* as the kstrtou32() output argument obviously results in signedness warnings, change that. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 1191f646bb913feba4239a7ca45e5edb09324869 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Sep 19 23:48:45 2015 +0300 iwlwifi: mvm: rs: dynamically switch between 80MHz and 20MHz in some scenarios This is a tweak which has been shown to improve performance when moving away from the AP while working in 80Mhz. When RS decides to go down to 80MHz SISO MCS0 instead switch to 20MHz MCS4. Go back to 80MHz MCS1 if RS can sustain 20MHz MCS5. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 7c0ebd7870ce212d370a97d3d8ff5129edcc2323 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 22 12:28:42 2015 +0200 iwlwifi: mvm: minor rx code cleanup Clean up variable initialisation slightly. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 5736b7eba362ee304335808325ad60e2249ac670 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 22 10:51:17 2015 +0200 iwlwifi: remove IWL3165_UCODE_API_OK and _MIN As the 3165 device uses the same firmware as 7265-D and currently all 7000 series (including 3160/3165) use the same API versions remove IWL3165_UCODE_API_OK and _MIN. We might have to put them back if firmware support ever splits, but in that case might also have to add a different MODULE_FIRMWARE statement. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit ed21a384bbd2b011289dd1b5cab7eebc7ebeda11 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Mon Sep 21 20:03:22 2015 +0300 iwlwifi: mvm: rs: fix success ratio comparison in rs_get_best_rate success_ratio is actually 128 * SR in percentage while IWL_MVM_RS_SR_NO_DECREASE is 85%. Fix this by using RS_PERCENT(). This bug caused the if branch to be always executed. This in turn led to always selecting a rate, following a column switch, in which the expected throughput would exceed the best expected current throughput. In some scenarios where the success ratio isn't >85% such a rate could be too aggressive leading us to avoid the new column. This has the potential of causing sub optimal performance. Reported-by: Moshe Harel <moshe.harel@xxxxxxxxx> Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 40ce5ed1e9d5c80819733c4fdc40a2b6c531d981 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Sep 19 23:54:38 2015 +0300 iwlwifi: mvm: rs: minor indentation fix Indentation was off a bit. Fix it. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit dfa1325a0865da0509f045ddc4c99b8653517f6b Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Sep 19 23:46:32 2015 +0300 iwlwifi: mvm: rs: remove overflowing debug message This message isn't very useful and creates clutter. Remove it. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit cc60c6e92907d7d1380353b46d7db9826a3622f2 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Sep 19 23:37:45 2015 +0300 iwlwifi: mvm: rs: improve rate debug messages Pretty print the rate full details to ease debugging. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit ceef91c89480dd18bb3ac51e91280a233d0ca41f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 4 11:27:25 2015 +0200 iwlwifi: mvm: stop using DEVICE_POWER_FLAGS_CAM_MSK The firmware has always treated these two bits to mean that powersave is enabled when POWER_SAVE_ENA is set and CAM is clear; it doesn't use them in any non-combined way. Therefore, it's pointless to send it two bits, and the API should be cleaned up. Prepare the driver by removing the CAM bit and using only POWER_SAVE_ENA to indicate whether PS is enabled or not. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 5c1156efebc6b76b4a7daec844c19d2ce1d7bb03 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Wed Jul 22 17:59:53 2015 +0300 iwlwifi: mvm: support enabling a queue with a given ssn When enabling a queue, the default SSN is 0. Allow determining what that SSN should be, if required. This can happen, for example, if a queue gets reconfigured. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 4ecafae9e56802575c3b0c45ecf3dedecd3fd9e3 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Tue Jul 14 13:36:18 2015 +0300 iwlwifi: mvm: support using multiple ACs on single HW queue "DQA" is shorthand for "dynamic queue allocation", with the idea of allocating queues per-RA/TID on-demand rather than using shared queues statically allocated per vif. The goal of this is to enable future features (like GO PM) and to improve performance measurements of TX traffic. When RA/TID streams can't be neatly sorted into different AC queues, DQA allows sharing queues for the same RA. This means that DQA allows different ACs may reach the same HW queue. Update the code to allow such queue sharing by having a mapping between the HW queue and the mac80211 queues using it (as this could be more than one queue). Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 56882e6cab432508c79b350d7842af3abac9c7d3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri May 22 11:33:12 2015 +0200 iwlwifi: transport: track number of allocated queues As the transport will decide how many queues (and MSI-X vectors) to allocate, add a field to indicate that to the op-mode so it can size/allocate its own data structures appropriately. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit a190430c5eeaff1b3a0cfc05d3572650b3bd3beb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri May 22 10:52:26 2015 +0200 iwlwifi: op-mode API: add rx_rss method Upcoming hardware will have the ability to do L3 hashing for RSS, directing data packets (and perhaps some associated metadata and management notifications) to different MSI-X vectors. In this case, it makes no sense to go through the full RX dispatch since it's already known that only a subset of the possibilities can come in, requiring a new receive method. In addition this must know which queue the packet was received on. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 1939089300cb4709dec2b268db649adfdefdb7bc Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 3 14:53:09 2015 +0200 iwlwifi: mvm: remove PHY RX from handlers Treat PHY RX specially, since it's actually pretty frequent, doesn't need all the notication etc. code, and will have a different handler in future hardware. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 5ac15be8fa5193206f5c47172a63cf83bec91f66 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Sep 16 11:47:14 2015 +0300 iwlwifi: mvm: Improve debugfs tof robustness Return a proper error when wrong parameters are passed to debugfs tof_range_request. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 9ef2b8befb5acf499ac60e2a18dfa3e41194ba6e Author: Gregory Greenman <gregory.greenman@xxxxxxxxx> Date: Mon Jul 20 07:44:44 2015 +0300 iwlwifi: mvm: ToF - fill bssid of responder configuration The command needs to have the AP interfaces BSSID (which corresponds to its address). Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 3e0fa50575dbc83e57ceee7c413ff9b4e09a9a80 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Sep 16 11:44:55 2015 +0300 iwlwifi: mvm: Fix tof debugfs formats (dec vs. hex) Make some input formats more natural, e.g. bandwidth and periods are more natural in decimal than in hexadecimal. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 78856ac0dd33036ae08a18b644e9fa40b30ee011 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Oct 5 13:07:47 2015 +0200 Revert "gpio-sysfs: Use gpio descriptor name instead of gpiochip names array" This reverts commit ddd5404007b8496f20ad2efe1147e102e6226634. We need to preserve only using this naming strategy for names coming from chip->names[], the descripor->name field is for the new interface. commit 9886ce2b9d4e5a8bb3d78d0f7eff3c0f1ed58d67 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Thu Oct 1 20:26:20 2015 +0800 net: encx24j600_exit() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04fbfce7a222327b97ca165294ef19f0faa45960 Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Thu Oct 1 07:43:21 2015 -0400 net: Microchip encx24j600 driver This ethernet driver supports the Micorchip enc424j600/626j600 Ethernet controller over a SPI bus interface. This driver makes use of the regmap API to optimize access to registers by caching registers where possible. Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/39935b.pdf Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7741c373cf3ea1f5383fa97fb7a640a429d3dd7c Author: Jon Ringle <jringle@xxxxxxxxxxxxx> Date: Thu Oct 1 07:43:20 2015 -0400 regmap: Allow installing custom reg_update_bits function This commit allows installing a custom reg_update_bits function for cases where the hardware provides a mechanism to set or clear register bits without a read/modify/write cycle. Such is the case with the Microchip ENCX24J600. Signed-off-by: Jon Ringle <jringle@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 937317c7c1097aa878a5000e3aab616eb5c590c0 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Thu Oct 1 14:18:47 2015 +0530 enic: do hang reset only in case of tx timeout The current code invokes hang reset in case of error interrupt. We should hang reset only in case of tx timeout. This because of the way hang reset is implemented in firmware. Hang reset takes more firmware resources than soft reset. Adaptor does not generate error interrupt in case of tx timeout. Hang reset only in case of tx timeout, in .ndo_tx_timeout. Do soft reset otherwise. Introduce deferred work, enic_tx_hang_reset, to do hang reset. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc809237e1f215141165f221ad729803d88bcbbe Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Thu Oct 1 14:18:46 2015 +0530 enic: handle spurious error interrupt Some of the enic adaptors are know to generate spurious interrupts. When error interrupt is generated, driver just resets the device. This patch resets the device only when an error is occurred. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2905f5bb1cad66a37d142c4370d23d9e9632368e Merge: 40e1068 8541225 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:48:45 2015 -0700 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== cxgb4: Trivial fixes for cxgb4 Fixes the following issues Don't read non existent T4/T5/T6 adapter registers for ethtool dump. For T4, dont read mailbox control registers. Adds new devlog faility and report correct link speed for unsupported ones. 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. ==================== Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 85412255ef4fcccf52e0408d61cf8a75828a6800 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 1 13:48:48 2015 +0530 cxgb4: Report correct link speed for unsupported ones When we get garbage from the firmware with weird Port Speeds, etc. we should emit a warning regarding unsupported speeds rather than use the bogus default of "10Mbps" which isn't even an option in the firmware Port Information message Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da4976e17bff3bb7538090c36750b9875da67b5e Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 1 13:48:47 2015 +0530 cxgb4: Adds a new Device Log Facility FW_DEVLOG_FACILITY_CF The firmware team added a new Device Log Facility FW_DEVLOG_FACILITY_CF, but the driver has been decoding Device Log messages with that Facility as "(NULL)", fixing it. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3695540ba5d8cf032f30533d53786b31af271f5 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 1 13:48:46 2015 +0530 cxgb4: For T4, don't read the Firmware Mailbox Control register T4 doesn't have the Shadow copy of the register which we can read without side effect. So don't read mbox control register for T4 adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8119c018000bcc2d56e74f5459b7ff1902f96ff8 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 1 13:48:45 2015 +0530 cxgb4 : Update T4/T5/T6 register ranges Update T4/T5/T6 adapter register ranges so that it doesn't read non existent registers when dumped using ethtool Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40e106801e3b6629ec8026ab80985902d180502e Merge: 7e2832f b1842ff Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:39:31 2015 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/net-next Eric W. Biederman says: ==================== net: Pass net through ip fragmention This is the next installment of my work to pass struct net through the output path so the code does not need to guess how to figure out which network namespace it is in, and ultimately routes can have output devices in another network namespace. This round focuses on passing net through ip fragmentation which we seem to call from about everywhere. That is the main ip output paths, the bridge netfilter code, and openvswitch. This has to happend at once accross the tree as function pointers are involved. First some prep work is done, then ipv4 and ipv6 are converted and then temporary helper functions are removed. ==================== Acked-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e2832f17f9bec41643d420d55efd96b09d1fb45 Merge: 393159e 76b29ef Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:34:59 2015 -0700 Merge branch 'rds-perf' Sowmini Varadhan says: ==================== RDS: RDS-TCP perf enhancements A 3-part patchset that (a) improves current RDS-TCP perf by 2X-3X and (b) refactors earlier robustness code for better observability/scaling. Patch 1 is an enhancment of earlier robustness fixes that had used separate sockets for client and server endpoints to resolve race conditions. It is possible to have an equivalent solution that does not use 2 sockets. The benefit of a single socket solution is that it results in more predictable and observable behavior for the underlying TCP pipe of an RDS connection Patches 2 and 3 are simple, straightforward perf bug fixes that align the RDS TCP socket with other parts of the kernel stack. v2: fix kbuild-test-robot warnings, comments from Sergei Shtylov and Santosh Shilimkar. ==================== Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76b29ef120f5b845f862de08b92c7d2317b50907 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Sep 30 16:54:09 2015 -0400 RDS-TCP: Set up MSG_MORE and MSG_SENDPAGE_NOTLAST as appropriate in rds_tcp_xmit For the same reasons as commit 2f5338442425 ("tcp: allow splice() to build full TSO packets") and commit 35f9c09fe9c7 ("tcp: tcp_sendpages() should call tcp_push() once"), rds_tcp_xmit may have multiple pages to send, so use the MSG_MORE and MSG_SENDPAGE_NOTLAST as hints to tcp_sendpage() Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1edd6a14d24f21b8b478970c63a243a08e2b55b0 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Sep 30 16:54:08 2015 -0400 RDS-TCP: Do not bloat sndbuf/rcvbuf in rds_tcp_tune Using the value of RDS_TCP_DEFAULT_BUFSIZE (128K) clobbers efficient use of TSO because it inflates the size_goal that is computed in tcp_sendmsg/tcp_sendpage and skews packet latency, and the default values for these parameters actually results in significantly better performance. In request-response tests using rds-stress with a packet size of 100K with 16 threads (test parameters -q 100000 -a 256 -t16 -d16) between a single pair of IP addresses achieves a throughput of 6-8 Gbps. Without this patch, throughput maxes at 2-3 Gbps under equivalent conditions on these platforms. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b20fc389705a4c959adebc494578cb99bb8be9e Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Wed Sep 30 16:54:07 2015 -0400 RDS: Use a single TCP socket for both send and receive. Commit f711a6ae062c ("net/rds: RDS-TCP: Always create a new rds_sock for an incoming connection.") modified rds-tcp so that an incoming SYN would ignore an existing "client" TCP connection which had the local port set to the transient port. The motivation for ignoring the existing "client" connection in f711a6ae was to avoid race conditions and an endless duel of reconnect attempts triggered by a restart/abort of one of the nodes in the TCP connection. However, having separate sockets for active and passive sides is avoidable, and the simpler model of a single TCP socket for both send and receives of all RDS connections associated with that tcp socket makes for easier observability. We avoid the race conditions from f711a6ae by attempting reconnects in rds_conn_shutdown if, and only if, the (new) c_outgoing bit is set for RDS_TRANS_TCP. The c_outgoing bit is initialized in __rds_conn_create(). A side-effect of re-using the client rds_connection for an incoming SYN is the potential of encountering duelling SYNs, i.e., we have an outgoing RDS_CONN_CONNECTING socket when we get the incoming SYN. The logic to arbitrate this criss-crossing SYN exchange in rds_tcp_accept_one() has been modified to emulate the BGP state machine: the smaller IP address should back off from the connection attempt. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb2d3883c6033831e2a93b396fcc43033108409c Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:26:14 2015 +0300 powerpc/msi: Free the bitmap if it was slab allocated During the MSI bitmap test on boot kmemleak spews the following trace: unreferenced object 0xc00000016e86c900 (size 64): comm "swapper/0", pid 1, jiffies 4294893173 (age 518.024s) hex dump (first 32 bytes): 00 00 01 ff 7f ff 7f 37 00 00 00 00 00 00 00 00 .......7........ ff ff ff ff ff ff ff ff 01 ff ff ff ff ff ff ff ................ backtrace: [<c00000000003eebc>] .zalloc_maybe_bootmem+0x3c/0x380 [<c000000000042d6c>] .msi_bitmap_alloc+0x3c/0xb0 [<c000000000a9aff8>] .msi_bitmap_selftest+0x30/0x2b4 [<c0000000000090f4>] .do_one_initcall+0xd4/0x270 [<c000000000a8e250>] .kernel_init_freeable+0x1a0/0x280 [<c000000000009b5c>] .kernel_init+0x1c/0x120 [<c000000000007fbc>] .ret_from_kernel_thread+0x58/0x9c Add a flag to msi_bitmap for tracking allocations from slab and memblock so we can properly free/handle memory in msi_bitmap_free(). Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> [mpe: Reword changelog & use bitmap_from_slab in the if] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 393159e917242c39a5c07173914a0e2a2367ee69 Merge: ac8cfc7 5078984 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:23:40 2015 -0700 Merge branch 'xgbe-next' Tom Lendacky says: ==================== amd-xgbe: AMD XGBE driver updates 2015-09-30 The following patches are included in this driver update series: - Remove unneeded semi-colon - Follow the DT/ACPI precedence used by the device_ APIs - Add ethtool support for getting and setting the msglevel - Add ethtool support error and debug messages - Simplify the hardware FIFO assignment calculations - Add receive buffer unavailable statistic - Use the device workqueue instead of the system workqueue - Remove the use of a link state bit This patch series is based on net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50789845cfc37d5331b56e1a566ddc95aeac0a7d Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:53:22 2015 -0500 amd-xgbe: Remove the XGBE_LINK state bit The XGBE_LINK bit is used just to determine whether to call the netif_carrier_on/off functions. Rather than define and use this bit, just call the functions. The netif_carrier_ok function can be used in place of checking the XGBE_LINK bit in the future. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afb43e8a0af18fa959e9ef09abfa969c3c83f4ef Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:53:16 2015 -0500 amd-xgbe: Use device workqueue instead of system workqueue The driver creates, flushes and destroys a device workqueue but queues work to the system workqueue. Switch from using the system workqueue to the device workqueue. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72c9ac4e1f4faf1f4e7252319ab8af2517891ae5 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:53:10 2015 -0500 amd-xgbe: Add receive buffer unavailable statistic Add a statistic that tracks how many times an interrupt is generated for a receive buffer not being available to the hardware which prevents the hardware from being able to DMA the received data. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9c439e4b730f0d519821527afd697e6af99a67ab Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:53:03 2015 -0500 amd-xgbe: Simplify calculation and setting of queue fifos The calculation of the Tx and Rx fifo sizes can be calculated rather than hardcoded in a switch statement. Additionally, the per-queue fifo sizes can be calculated rather than hardcoded using if/else if statements that can possibly underutilize the available fifo area. Change the code to calculate the fifo sizes and the per-queue fifo sizes to simplify the code and make best use of the available fifo. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5dd8b81107881f8928378a38f6e47aa2da62c37 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:52:57 2015 -0500 amd-xgbe: Add ethtool error and debug messages Add error and dynamic debug messages to various ethtool functions in the driver while also removing the DBGPR debug print calls. Also, change the message level for some error messages from alert to err. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 349fb2d7008caa752919e394fb202545b5f72c67 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:52:51 2015 -0500 amd-xgbe: Add ethtool support for setting the msglevel Provide the ethtool functions to support getting and setting the msglevel for the driver. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47f2e6c27553d9a164bb0067f4c1f9bbba388c2e Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:52:45 2015 -0500 amd-xgbe: Use proper DT / ACPI precedence checking Device tree presence takes precedence over ACPI in the device_* APIs. The amd-xgbe driver should follow the same precedence. Update the check on whether to use DT / ACPI to follow this. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3947d78a547845fa5a129a39ce0abac2352f7a3a Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 30 08:52:38 2015 -0500 amd-xgbe: Remove an unneeded semicolon on a switch statement Remove an unneeded semicolon at the end of a switch statement block. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac8cfc7bb836835bd68c3ab9da242747e9df9542 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 30 06:18:23 2015 -0700 tcp: restore fastopen operations I accidentally cleared fastopenq.max_qlen in reqsk_queue_alloc() while max_qlen can be set before listen() is called, using TCP_FASTOPEN socket option for example. Fixes: 0536fcc039a8 ("tcp: prepare fastopen code for upcoming listener changes") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77946de51bd165d55306a47410dd6757d93bc394 Merge: 0735573 3ef0a25 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:16:49 2015 -0700 Merge branch 'net-y2038' Arnd Bergmann says: ==================== net: assorted y2038 changes This is a set of changes for network drivers and core code to get rid of the use of time_t and derived data structures. I have a longer set of patches that enables me to build kernels with the time_t definition removed completely as a help to find y2038 overflow issues. This is the subset for networking that contains all code that has a reasonable way of fixing at the moment and that is either commonly used (in one of the defconfigs) or that blocks building a whole subsystem. Most of the patches in this series should be noncontroversial, but the last two that I marked [RFC] are a bit tricky and need input from people that are more familiar with the code than I am. All 12 patches are independent of one another and can be applied in any order, so feel free to pick all that look good. Patches that are not included here are: - disabling less common device drivers that I don't have a fix for yet, this includes drivers/net/ethernet/brocade/bna/bfa_ioc.c drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c drivers/net/ethernet/tile/tilegx.c drivers/net/hamradio/baycom_ser_fdx.c drivers/net/wireless/ath/ath10k/core.h drivers/net/wireless/ath/ath9k/ drivers/net/wireless/ath/ath9k/ drivers/net/wireless/atmel.c drivers/net/wireless/prism54/isl_38xx.c drivers/net/wireless/rt2x00/rt2x00debug.c drivers/net/wireless/rtlwifi/ drivers/net/wireless/ti/wlcore/ drivers/staging/ozwpan/ net/atm/mpoa_caches.c net/atm/mpoa_proc.c net/dccp/probe.c net/ipv4/tcp_probe.c net/netfilter/nfnetlink_queue_core.c net/netfilter/nfnetlink_queue_core.c net/netfilter/xt_time.c net/openvswitch/flow.c net/sctp/probe.c net/sunrpc/auth_gss/ net/sunrpc/svcauth_unix.c net/vmw_vsock/af_vsock.c We'll get there eventually, or we an add a dependency to ensure they are not built on 32-bit kernels that need to survive beyond 2038. Most of these should be really easy to fix. - recvmmsg/sendmmsg system calls: patches have been sent out as part of the syscall series, need a little more work and review - SIOCGSTAMP/SIOCGSTAMPNS/ ioctl calls: tricky, need to discuss with some folks at kernel summit - SO_RCVTIMEO/SO_SNDTIMEO/SO_TIMESTAMP/SO_TIMESTAMPNS socket opt: similar and related to the ioctl - mmapped packet socket: need to create v4 of the API, nontrivial - pktgen: sends 32-bit timestamps over network, need to find out if using unsigned stamps is good enough - af_rxpc: similar to pktgen, uses 32-bit times for deadlines - ppp ioctl: patch is being worked on, nontrivial but doable ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ef0a25bf9ef318615c810e24d244d55c09806d7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:40 2015 +0200 net: sctp: avoid incorrect time_t use We want to avoid using time_t in the kernel because of the y2038 overflow problem. The use in sctp is not for storing seconds at all, but instead uses microseconds and is passed as 32-bit on all machines. This patch changes the type to u32, which better fits the use. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Cc: Neil Horman <nhorman@xxxxxxxxxxxxx> Cc: linux-sctp@xxxxxxxxxxxxxxx Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3dd7669f1f13772d0a846dee58379399f163729c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:39 2015 +0200 ipv6: use ktime_t for internal timestamps The ipv6 mip6 implementation is one of only a few users of the skb_get_timestamp() function in the kernel, which is both unsafe on 32-bit architectures because of the 2038 overflow, and slightly less efficient than the skb_get_ktime() based approach. This converts the function call and the mip6_report_rate_limiter structure that stores the time stamp, eliminating all uses of timeval in the ipv6 code. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6389ecbc5f3ddc5860aab22bd7f7e1a8aeb3165 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:38 2015 +0200 nfnetlink: use y2038 safe timestamp The __build_packet_message function fills a nfulnl_msg_packet_timestamp structure that uses 64-bit seconds and is therefore y2038 safe, but it uses an intermediate 'struct timespec' which is not. This trivially changes the code to use 'struct timespec64' instead, to correct the result on 32-bit architectures. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Cc: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Cc: netfilter-devel@xxxxxxxxxxxxxxx Cc: coreteam@xxxxxxxxxxxxx Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70ba07b675b53782ad366ebc4d3a00eab9a06bc9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 17:32:01 2015 +0200 atm: remove 'struct zatm_t_hist' The zatm_t_hist structure is not used anywhere in the kernel, but is exported to user space. As we are trying to eliminate uses of time_t in the kernel for y2038 compatibility, the current definition triggers checking tools because it contains 'struct timeval'. As pointed out by Chas Williams, the only user of this structure was the ZATM_GETHIST ioctl command that has been removed a long time ago, and we can remove the structure as well without breaking any user space. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Chas Williams <3chas3@xxxxxxxxx> Cc: linux-atm-general@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84b00607aeb8f139a11c93036e1c0ee03dde5634 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:36 2015 +0200 mac80211: use ktime_get_seconds The mac80211 code uses ktime_get_ts to measure the connected time. As this uses monotonic time, it is y2038 safe on 32-bit systems, but we still want to deprecate the use of 'timespec' because most other users are broken. This changes the code to use ktime_get_seconds() instead, which avoids the timespec structure and is slightly more efficient. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52f4f91893955c359885d022b2142e2326f020a1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:35 2015 +0200 mwifiex: avoid gettimeofday in ba_threshold setting mwifiex_get_random_ba_threshold() uses a complex homegrown implementation to generate a pseudo-random number from the current time as returned from do_gettimeofday(). This currently requires two 32-bit divisions plus a couple of other computations that are eventually discarded as only eight bits of the microsecond portion are used at all. We could replace this with a call to get_random_bytes(), but that might drain the entropy pool too fast if this is called for each packet. Instead, this patch converts it to use ktime_get_ns(), which is a bit faster than do_gettimeofday(), and then uses a similar algorithm as before, but in a way that takes both the nanosecond and second portion into account for slightly-more-but-still-not-very-random pseudorandom number. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Cc: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e253fb74d66428597bd272b2614e8564b882b14c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:34 2015 +0200 mwifiex: use ktime_get_real for timestamping The mwifiex_11n_aggregate_pkt() function creates a ktime_t from a timeval returned by do_gettimeofday, which is slow and causes an overflow in 2038 on 32-bit architectures. This solves both problems by using the appropriate ktime_get_real() function. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Cc: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40c9b0796d46523fffb93e46ed8c691456146743 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:33 2015 +0200 net: igb: avoid using timespec We want to deprecate the use of 'struct timespec' on 32-bit architectures, as it is will overflow in 2038. The igb driver uses it to read the current time, and can simply be changed to use ktime_get_real_ts64() instead. Because of hardware limitations, there is still an overflow in year 2106, which we cannot really avoid, but this documents the overflow. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Cc: intel-wired-lan@xxxxxxxxxxxxxxxx Reviewed-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a6241551d20e982dba8fc6c88b0a021456ea7b4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:32 2015 +0200 net: stmmac: avoid using timespec We want to deprecate the use of 'struct timespec' on 32-bit architectures, as it is will overflow in 2038. The stmmac driver uses it to read the current time, and can simply be changed to use ktime_get_real_ts64() instead. Because of hardware limitations, there is still an overflow in year 2106, which we cannot really avoid, but this documents the overflow. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be7ccdc36ba4815ca71b0ac6df898237a912b3ac Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 30 13:26:31 2015 +0200 net: fec: avoid timespec use The fec_ptp_enable_pps uses an open-coded implementation of ns_to_timespec, which will be removed eventually as it is not y2038-safe on 32-bit architectures. Two more instances of the same code in this file were already converted to use the safe ns_to_timespec64 in commit 6630514fcee ("ptp: fec: use helpers for converting ns to timespec"), this changes the last one as well. The seconds portion here is actually unused and we could just remove the timespec variable, but using ns_to_timespec64 can still be better as the implementation can be hand-optimized in the future. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Cc: Fugang Duan <b38611@xxxxxxxxxxxxx> Cc: Luwei Zhou <b45643@xxxxxxxxxxxxx> Cc: Frank Li <Frank.Li@xxxxxxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 06bacefcbd5f91efb7ffedc17615fa188d6ce406 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 12:46:10 2015 +0300 powerpc/pseries: re-use code from of_helpers module The derive_parent() has similar semantics to what we have in newly introduced of_helpers module. The replacement reduces code base and propagates the actual error code to the caller. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a46d9884096c15ec17505b9b3d19f5e0672deff3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 12:46:09 2015 +0300 powerpc/pseries: handle nodes without '/' In case we have node without '/' strrchr() returns NULL which might lead to crash. Replace strrchr() by kbasename() and modify condition to avoid such behaviour. Suggested-by: Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a030e1e4bbd085bbcfd0a23f8d355fcd41f39bed Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 12:46:08 2015 +0300 powerpc/pseries: replace kmalloc + strlcpy The helper kstrndup() will do the same in one line. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit dc85aaed64804205c476d06cebe4c94f66fd8a20 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 12:46:07 2015 +0300 powerpc/pseries: fix a potential memory leak In case we have a full node name like /foo/bar and /foo is not found the parent_path left unfreed. So, free a memory before return to a caller. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 948ad1acaf456b7213731cd9eb58654930335070 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 12:46:06 2015 +0300 powerpc/pseries: extract of_helpers module Extract a new module to share the code between other modules. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 07355737a8badd951e6b72aa8609a2d6eed0a7e7 Merge: 2472186 79a1315 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 03:00:26 2015 -0700 Merge branch 'ipv4-multipath-hash' Peter Nørlund says: ==================== ipv4: Hash-based multipath routing When the routing cache was removed in 3.6, the IPv4 multipath algorithm changed from more or less being destination-based into being quasi-random per-packet scheduling. This increases the risk of out-of-order packets and makes it impossible to use multipath together with anycast services. This patch series replaces the old implementation with flow-based load balancing based on a hash over the source and destination addresses. Distribution of the hash is done with thresholds as described in RFC 2992. This reduces the disruption when a path is added/remove when having more than two paths. To futher the chance of successful usage in conjuction with anycast, ICMP error packets are hashed over the inner IP addresses. This ensures that PMTU will work together with anycast or load-balancers such as IPVS. Port numbers are not considered since fragments could cause problems with anycast and IPVS. Relying on the DF-flag for TCP packets is also insufficient, since ICMP inspection effectively extracts information from the opposite flow which might have a different state of the DF-flag. This is also why the RSS hash is not used. These are typically based on the NDIS RSS spec which mandates TCP support. Measurements of the additional overhead of a two-path multipath (p_mkroute_input excl. __mkroute_input) on a Xeon X3550 (4 cores, 2.66GHz): Original per-packet: ~394 cycles/packet L3 hash: ~76 cycles/packet Changes in v5: - Fixed compilation error Changes in v4: - Functions take hash directly instead of func ptr - Added inline hash function - Added dummy macros to minimize ifdefs - Use upper 31 bits of hash instead of lower Changes in v3: - Multipath algorithm is no longer configurable (always L3) - Added random seed to hash - Moved ICMP inspection to isolated function - Ignore source quench packets (deprecated as per RFC 6633) Changes in v2: - Replaced 8-bit xor hash with 31-bit jenkins hash - Don't scale weights (since 31-bit) - Avoided unnecesary renaming of variables - Rely on DF-bit instead of fragment offset when checking for fragmentation - upper_bound is now inclusive to avoid overflow - Use a callback to postpone extracting flow information until necessary - Skipped ICMP inspection entirely with L4 hashing - Handle newly added sysctl ignore_routes_with_linkdown ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79a131592dbb81a2dba208622a2ffbfc53f28bc0 Author: Peter Nørlund <pch@xxxxxxxxxxxx> Date: Wed Sep 30 10:12:22 2015 +0200 ipv4: ICMP packet inspection for multipath ICMP packets are inspected to let them route together with the flow they belong to, minimizing the chance that a problematic path will affect flows on other paths, and so that anycast environments can work with ECMP. Signed-off-by: Peter Nørlund <pch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3337eb1e113bed287b58677e755c807be88d507 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Mon Oct 5 06:59:17 2015 +0300 vme: tsi148: silence uninitialized variable warning The warning is a false positive. drivers/vme/bridges/vme_tsi148.c: In function 'tsi148_master_write': drivers/vme/bridges/vme_tsi148.c:1358:31: warning: 'handler' may be used uninitialized in this function [-Wmaybe-uninitialized] vme_unregister_error_handler(handler); ^ drivers/vme/bridges/vme_tsi148.c: In function 'tsi148_master_read': drivers/vme/bridges/vme_tsi148.c:1260:31: warning: 'handler' may be used uninitialized in this function [-Wmaybe-uninitialized] vme_unregister_error_handler(handler); ^ Fixes: 0b0496625715 ("vme: change bus error handling scheme") Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e884c78ee19e902f300ed147083c28a0c6302f0 Author: Peter Nørlund <pch@xxxxxxxxxxxx> Date: Wed Sep 30 10:12:21 2015 +0200 ipv4: L3 hash-based multipath Replaces the per-packet multipath with a hash-based multipath using source and destination address. Signed-off-by: Peter Nørlund <pch@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2472186f58ee1e4b9ca194245fef03931f6de90a Merge: 3e087ca a1a5344 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 5 02:46:26 2015 -0700 Merge branch 'tcp-listener-fixes-and-improvement' Eric Dumazet says: ==================== tcp: lockless listener fixes and improvement This fixes issues with TCP FastOpen vs lockless listeners, and SYNACK being attached to request sockets. Then, last patch brings performance improvement for syncookies generation and validation. Tested under a 4.3 Mpps SYNFLOOD attack, new perf profile looks like : 12.11% [kernel] [k] sha_transform 5.83% [kernel] [k] tcp_conn_request 4.59% [kernel] [k] __inet_lookup_listener 4.11% [kernel] [k] ipt_do_table 3.91% [kernel] [k] tcp_make_synack 3.05% [kernel] [k] fib_table_lookup 2.74% [kernel] [k] sock_wfree 2.66% [kernel] [k] memcpy_erms 2.12% [kernel] [k] tcp_v4_rcv ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1a5344ddbe8fd3e080013b317ac9a664490cfdf Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 4 21:08:11 2015 -0700 tcp: avoid two atomic ops for syncookies inet_reqsk_alloc() is used to allocate a temporary request in order to generate a SYNACK with a cookie. Then later, syncookie validation also uses a temporary request. These paths already took a reference on listener refcount, we can avoid a couple of atomic operations. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 004a5d0140ce1d05c1f5fce5df4baa2717a330e0 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 4 21:08:10 2015 -0700 net: use sk_fullsock() in __netdev_pick_tx() SYN_RECV & TIMEWAIT sockets are not full blown, they do not have a sk_dst_cache pointer. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7eadb4de9e645e1b34539dc4128240b1e5f71dc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 4 21:08:09 2015 -0700 ipv6: inet6_sk() should use sk_fullsock() SYN_RECV & TIMEWAIT sockets are not full blown, they do not have a pinet6 pointer. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit caf3f2676aaad395903d24a54e22f8ac4bc4823d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 4 21:08:08 2015 -0700 inet: ip_skb_dst_mtu() should use sk_fullsock() SYN_RECV & TIMEWAIT sockets are not full blown, do not even try to call ip_sk_use_pmtu() on them. Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7656d842de93fd2d2de7b403062cad757cadf1df Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 4 21:08:07 2015 -0700 tcp: fix fastopen races vs lockless listener There are multiple races that need fixes : 1) skb_get() + queue skb + kfree_skb() is racy An accept() can be done on another cpu, data consumed immediately. tcp_recvmsg() uses __kfree_skb() as it is assumed all skb found in socket receive queue are private. Then the kfree_skb() in tcp_rcv_state_process() uses an already freed skb 2) tcp_reqsk_record_syn() needs to be done before tcp_try_fastopen() for the same reasons. 3) We want to send the SYNACK before queueing child into accept queue, otherwise we might reintroduce the ooo issue fixed in commit 7c85af881044 ("tcp: avoid reorders for TFO passive connections") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e50711993552800644a4667daa0f569a7665eca Author: Grigoryev Denis <grigoryev@xxxxxxxxxx> Date: Fri Oct 2 16:14:41 2015 +0000 mfd: tps6105x: Use i2c regmap to access registers This patch modifies tps6105x and associated function driver to use regmap instead of operating directly on i2c. Signed-off-by: Denis Grigoryev <grigoryev@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bb7436093717d3ccaeaf28438be763b30a794ad8 Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Sat Sep 12 12:04:51 2015 +0200 iwlwifi: mvm: fix tof.h header guard Commit ce7929186a39 ("iwlwifi: mvm: add basic Time of Flight (802.11mc FTM) support") created drivers/net/wireless/iwlwifi/mvm/tof.h with a broken header guard: #ifndef __tof #define __tof_h__ ... #endif /* __tof_h__ */ Use __tof_h__ in the first line. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit f82c83397beac5c829bfcb3ea6bb4bfdbac79209 Author: Ilan Peer <ilan.peer@xxxxxxxxx> Date: Thu Sep 10 12:54:38 2015 +0300 iwlwifi: mvm: Correctly update MAC context on add/del station Commit "iwlwifi: mvm: don't ask beacons when AP vif and no assoc sta" directly called iwl_mvm_mac_ctxt_cmd_ap() to update the MAC context when adding/removing a station. However, this ignores the case that the vif is actually a P2P GO. Fix this by calling iwl_mvm_mac_ctxt_changed() that handles P2P GO case as well. Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 69191afef3c889992de643af7c318c9a8a1750c0 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Tue Sep 1 18:50:22 2015 +0300 iwlwifi: mvm: fix default disabled aggs in sta For the ADD_STA command, when the flag for aggregation disabling is set, there is a bitmap indicated what TIDs are disabling aggregations and what aren't. Currently, by default, all TIDs allow for aggregations since the value we begin with is 0. Change this default value to 0xffff so all TIDs don't allow aggregations until explicitly turned on. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit acf9de3dfb2c9c00d94c3d614980006947ed2b7f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 4 20:54:35 2015 +0200 iwlwifi: enable tracing by default Tracing, if disabled at runtime, has very low overhead with great returns on debugging. It therefore makes sense to have it enabled by default (if the kernel enables EVENT_TRACING). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 7b9aebf0e507108daba3516f28cfd78fce80c176 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 8 17:03:20 2015 +0200 MAINTAINERS: iwlwifi: update contact email The ilw@xxxxxxxxxxxxxxx address is being phased out, replace it with the new address. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit a6449126518d908f0d706cce85c9bf243342b7b0 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 1 14:15:17 2015 +0200 iwlwifi: mvm: correct skip-over-DTIM implementation The formula used in D0i3 should also be used in D3, instead of the hardcoded value. Additionally, the formula is actually wrong - if the calculation yields 0 then 1 should be used instead of disabling entirely. Also need to add 1 since the firmware needs 3 to skip 2, etc. To make all this clearer, centralize the calculation into a single function. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit bb35dc14182c16e9646f6323cce25f3cfe3ba593 Author: Moshe Harel <moshe.harel@xxxxxxxxx> Date: Sun Sep 6 16:50:33 2015 +0300 iwlwifi: nvm: force 1x1 antenna in Series 8000 This is a workaround to an OTP bug. In Series 8000 1x1, the OTP 0xA052 defines 2x2 antenna configuration. This workaround overrides the decision based on HW id and MIMO disabled bit which is correct in the OTP and set to disabled. Signed-off-by: Moshe Harel <moshe.harel@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 09eef3307e6d55afbdc4cebc8aeacbbb0a7337f6 Author: Aviya Erenfeld <aviya.erenfeld@xxxxxxxxx> Date: Tue Sep 1 19:34:38 2015 +0300 iwlwifi: mvm: move DTS command and notification to new group Move the DTS measurement command and notification from short command header to the new PHY command group for firmware supporting the extended command headers. Signed-off-by: Aviya Erenfeld <aviya.erenfeld@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit f32517bf1ae0a2de72b3f27200233bd3ad65bfeb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 14:20:28 2015 +0300 gpio: pca953x: support ACPI devices found on Galileo Gen2 This patch adds a support of the expandes found on Intel Galileo Gen2 board. The platform information comes from ACPI. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c6664149af2939b8bbaef0711b3ca5469bed33fb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 14:20:27 2015 +0300 gpio: pca953x: store driver_data for future use Instead of using id->driver_data directly we copied it to the internal structure. This will help to adapt driver for ACPI use. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 068127601eefa0565f4b2f4d82750cad9e37000c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Oct 2 18:14:22 2015 +0300 drm/i915: unlock on error in i915_ppgtt_info() We need to call intel_runtime_pm_put() and mutex_unlock() before returning. Fixes: 7cb5dff8d59d ('drm/i915: fix task reference leak in i915_debugfs.c') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 22db3cbcf9f91eef848db0986869822b4bf27193 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 4 23:34:03 2015 +0200 Bluetooth: Send transport open and close monitor events When the core starts or shuts down the actual HCI transport, send a new monitor event that indicates that this is happening. These new events correspond to HCI_DEV_OPEN and HCI_DEV_CLOSE events. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit e9ca8bf157f2b45f8f670517c96da313083ee9b2 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 4 23:34:02 2015 +0200 Bluetooth: Move handling of HCI_RUNNING flag into core Setting and clearing of HCI_RUNNING flag in each and every driver is just duplicating the same code all over the place. So instead of having the driver do it in their hdev->open and hdev->close callbacks, set it globally in the core transport handling. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 73d0d3c8671190ea982a8e79a7c79fbfe88f8f47 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 4 23:34:01 2015 +0200 Bluetooth: Move HCI_RUNNING check into hci_send_frame In all callbacks for hdev->send the status of HCI_RUNNING is checked. So instead of repeating that code in every driver, move the check into the hci_send_frame function before calling hdev->send. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 4a3f95b7b62e50a1e42e42ba6571ec9e747f4861 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 4 23:34:00 2015 +0200 Bluetooth: Introduce HCI_DEV_OPEN and HCI_DEV_CLOSE events When opening the HCI transport via hdev->open send HCI_DEV_OPEN event and when closing the HCI transport via hdev->close send HCI_DEV_CLOSE. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit ed1b28a48b6c4e206bd88f5758393261710566f2 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Oct 4 23:33:59 2015 +0200 Bluetooth: Limit userspace exposure of stack internal events The stack internal events that are exposed to userspace should be limited to HCI_DEV_REG, HCI_DEV_UNREG, HCI_DEV_UP and HCI_DEV_DOWN. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit b224d3ff717cc3af91a4ec74d863a176d79331af Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sat Oct 3 12:01:08 2015 +0200 Bluetooth: btbcm: Send HCI Reset before sending Apple specific commands The commit 7bee8b08c428 allows the Read Verbose Config Info to fail gracefully and not cause the controller setup to abort. It seems the reason that command failed in the first place was the missing HCI Reset to bring the controller in full Bluetooth mode. Apple Bluetooth controllers start out in HID mode and when in that mode the Read Verbose Config Info command is not allowed. Sending HCI Reset switches the controller into full HCI mode. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8d2402605b85be860808961cd82fdc4bd8bc1704 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Sep 30 23:52:36 2015 +0200 gpio: generic: use error pointers Use the ERRPTR standard way to return an error code in a pointer thus simplifiying the code. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 43960b4731d3450fe82105c40ee19d487622e427 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Sep 30 23:51:08 2015 +0200 gpio: generic: modernize remapping Replace devm_request_mem_region / devm_ioremap with devm_ioremap_resource. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cf3f2a2c8bae0db72233629c9da9d9f617b3f8af Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Wed Sep 30 23:50:20 2015 +0200 gpio: generic: improve error handling in bgpio_map If bgpio_map returns NULL then err should always be set. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit dbe2256ddd8e8420c254c79f4045c41cb5f4bd6b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Sep 25 17:29:04 2015 +0200 driver-core: platform: Provide helpers for multi-driver modules Some modules register several sub-drivers. Provide a helper that makes it easy to register and unregister a list of sub-drivers, as well as unwind properly on error. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5f9e73309b774dd9d86428edd7958b0960bcb85 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Sep 30 12:51:51 2015 +0900 USB: u132-hcd: Fix seperate word in printk message This patch fix seperated word in printk message. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a76eb5b04062cf2a32d5c7f0aefc9d92c3f986a Author: Tilman Schmidt <tilman@xxxxxxx> Date: Wed Sep 30 01:45:11 2015 +0200 Documentation: improve line discipline method descriptions Mention that the ldisc open method must set tty->receive_room, and that many methods are optional. Add description of receive_buf2 method. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7568fb63f57ac8672f8bf2018171255441238882 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Tue Aug 25 22:12:37 2015 -0700 mm: Check if section present during memory block (un)registering Tony found on his setup, if memory block size 512M will cause crash during booting. BUG: unable to handle kernel paging request at ffffea0074000020 IP: [<ffffffff81670527>] 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: [<ffffffff81453b56>] ? register_mem_sect_under_node+0x66/0xe0 [<ffffffff81453eeb>] register_one_node+0x17b/0x240 [<ffffffff81b1f1ed>] ? pci_iommu_alloc+0x6e/0x6e [<ffffffff81b1f229>] topology_init+0x3c/0x95 [<ffffffff8100213d>] 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. 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. Also fixes unregister_mem_sect_under_nodes() that assume one section per memory block. Reported-by: Tony Luck <tony.luck@xxxxxxxxx> Tested-by: Tony Luck <tony.luck@xxxxxxxxx> 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> Cc: stable@xxxxxxxxxxxxxxx #v3.15 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f35d04a02a652f14566f875aef3a6f2af4cb77b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 21 19:21:51 2015 +0300 devres: fix a for loop bounds check The iomap[] array has PCIM_IOMAP_MAX (6) elements and not DEVICE_COUNT_RESOURCE (16). This bug was found using a static checker. It may be that the "if (!(mask & (1 << i)))" check means we never actually go past the end of the array in real life. Fixes: ec04b075843d ('iomap: implement pcim_iounmap_regions()') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a785ce9c90bc7d73b5cae4388641b310948509cb Author: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Date: Thu Sep 24 11:27:47 2015 +0800 CMA: fix CONFIG_CMA_SIZE_MBYTES overflow in 64bit In 64bit system, if you set CONFIG_CMA_SIZE_MBYTES>=2048, it will overflow and size_bytes will be a big wrong number. Set CONFIG_CMA_SIZE_MBYTES=2048 and you will get an info below during system boot: ********* cma: Failed to reserve 17592186042368 MiB ********* Signed-off-by: Tan Xiaojun <tanxiaojun@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e93762bbf68143594223024532fdeef71f5e8f75 Author: Vignesh R <vigneshr@xxxxxx> Date: Mon Sep 14 10:54:33 2015 -0700 w1: masters: omap_hdq: add support for 1-wire mode This patches makes following changes to omap_hdq driver - Enable 1-wire mode. - Implement w1_triplet callback to facilitate search rom procedure and auto detection of 1-wire slaves. - Proper enabling and disabling of interrupt. - Cleanups (formatting and return value checks). HDQ mode remains unchanged. Signed-off-by: Vignesh R <vigneshr@xxxxxx> 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> Acked-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> CC: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Vignesh R <vigneshr@xxxxxx> Cc: NeilBrown <neilb@xxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5052436dcb7eac532cf2ffd6650be01d3f15e0b5 Author: Levente Kurusa <levex@xxxxxxxxx> Date: Mon Sep 14 10:56:12 2015 -0700 drivers/w1/w1_int.c: call put_device if device_register fails Currently, memsetting and kfreeing the device is bad behaviour. The device will have a reference count of 1 and hence can cause trouble because it has kfree'd. Proper way to handle a failed device_register is to call put_device right after it fails. Signed-off-by: Levente Kurusa <levex@xxxxxxxxx> Acked-by: Evgeniy Polyakov <zbr@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c22e645cd742b82ec232e4f2328fc53d247ccea Author: Geliang Tang <geliangtang@xxxxxxx> Date: Fri Oct 2 00:37:57 2015 +0800 pcmcia: use kstrdup() in pcmcia_device_query() Use kstrdup instead of kmalloc and strncpy. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df6be790623f11c0db8152e724f4951cd944ffe2 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 4 17:23:49 2015 +0100 memory: ti-aemif: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 613a91e275a0c7fc493140ef02ec398cd17bbb63 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sun Oct 4 17:23:48 2015 +0100 memory: fsl-corenet: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac6d83ccd9c5eaeb610bd65b27adc84b47a1498a Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Sun Oct 4 13:38:40 2015 -0700 misc: mic: Fix SCIF build failure with IOMMU_SUPPORT disabled SCIF depends on IOVA which requires IOMMU_SUPPORT to be enabled. The long term fix is to move IOVA from drivers/iommu to lib/ but this current patch should fix the reported issue. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7265405f74b33f256073ea233690b6ee866c252c Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 3 00:53:38 2015 +0300 ARM: shmobile: fix SILK board name Unfortunately, the SILK board bindings were not quite correct, as the board name should be all caps. Fix that, adding the board model # in parens and removing stray semicolon. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2f33b9f796ce6ebb00f6e8238fba07149c5264f2 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 02:53:58 2015 +0300 ARM: shmobile: r8a7794: add HS-USB DT support Define the R8A7794 generic part of the HS-USB device node. It is up to the board file to enable the device. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3e087caa23ef36370bfb925d3bbca78e8302d3ce Merge: 68d4e52 0f963b7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 4 16:46:14 2015 -0700 Merge branch 'bridge-netlink' Nikolay Aleksandrov says: ==================== bridge: complete netlink support This set completes the bridge device's netlink support and makes it possible to view and configure everything that can be configured via sysfs. I have tested all of these (setting and getting). There're a few longer line warnings about the br_get_size() ifla comments but I think we should have them to know what has been accounted for. I have used the sysfs interface as a guide of what and how to set. As usual I'll send the corresponding iproute2 patches later. The bridge port's netlink interface will be completed after this set gets applied in some form. This patch-set is on top of my last vlan cleanups set: http://www.spinics.net/lists/netdev/msg346005.html ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f963b7592ef9e054974b6672b86ec1edd84b4bc Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:47 2015 +0200 bridge: netlink: add support for default_pvid Add IFLA_BR_VLAN_DEFAULT_PVID to allow setting/getting bridge's default_pvid via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93870cc02a0af4392401713d14235accafc752bc Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:46 2015 +0200 bridge: netlink: add support for netfilter tables config Add support to allow getting/setting netfilter tables settings. Currently these are IFLA_BR_NF_CALL_IPTABLES, IFLA_BR_NF_CALL_IP6TABLES and IFLA_BR_NF_CALL_ARPTABLES. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e4df51eb35deedd3ba8d4db92a6c36fb7eff90a Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:45 2015 +0200 bridge: netlink: add support for igmp's intervals Add support to set/get all of the igmp's configurable intervals via netlink. These currently are: IFLA_BR_MCAST_LAST_MEMBER_INTVL IFLA_BR_MCAST_MEMBERSHIP_INTVL IFLA_BR_MCAST_QUERIER_INTVL IFLA_BR_MCAST_QUERY_INTVL IFLA_BR_MCAST_QUERY_RESPONSE_INTVL IFLA_BR_MCAST_STARTUP_QUERY_INTVL Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b89e6babad4b7ca7298ad863c6c83dc76b0abdef Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:44 2015 +0200 bridge: netlink: add support for multicast_startup_query_count Add IFLA_BR_MCAST_STARTUP_QUERY_CNT to allow setting/getting br->multicast_startup_query_count via netlink. Also align the ifla comments. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79b859f573d6afa64e328cc7f50ad7a209e0c92d Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:43 2015 +0200 bridge: netlink: add support for multicast_last_member_count Add IFLA_BR_MCAST_LAST_MEMBER_CNT to allow setting/getting br->multicast_last_member_count via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 858079fdae16421d4908722140346cfdddedf343 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:42 2015 +0200 bridge: netlink: add support for igmp's hash_max Add IFLA_BR_MCAST_HASH_MAX to allow setting/getting br->hash_max via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 431db3c050af0be72b3b01fa7484982f35cb268f Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:41 2015 +0200 bridge: netlink: add support for igmp's hash_elasticity Add IFLA_BR_MCAST_HASH_ELASTICITY to allow setting/getting br->hash_elasticity via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba062d7cc6a09a8194eba975d5ee635378a55bfc Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:40 2015 +0200 bridge: netlink: add support for multicast_querier Add IFLA_BR_MCAST_QUERIER to allow setting/getting br->multicast_querier via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 295141d9049bdf4fa316b325d2e2501b210dbe06 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:39 2015 +0200 bridge: netlink: add support for multicast_query_use_ifaddr Add IFLA_BR_MCAST_QUERY_USE_IFADDR to allow setting/getting br->multicast_query_use_ifaddr via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89126327f921bd278c72284d38428443bbef344f Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:38 2015 +0200 bridge: netlink: add support for multicast_snooping Add IFLA_BR_MCAST_SNOOPING to allow enabling/disabling multicast snooping via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9a6bc70f5f70b3835b081e401b469b88c7c8a3a Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:37 2015 +0200 bridge: netlink: add support for multicast_router Add IFLA_BR_MCAST_ROUTER to allow setting and retrieving br->multicast_router when igmp snooping is enabled. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 150217c688217e549ef8a36ea4f6718977373765 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:36 2015 +0200 bridge: netlink: add fdb flush Simple attribute that flushes the bridge's fdb. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 111189abc5c3f0ea6f516a6c3e8d8c3a2cf391d9 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:35 2015 +0200 bridge: netlink: add group_addr support Add IFLA_BR_GROUP_ADDR attribute to allow setting and retrieving the group_addr via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d76bd14e0f759040efc8ce142dd6d1f9eca33d39 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:34 2015 +0200 bridge: netlink: export all timers Export the following bridge timers (also exported via sysfs): IFLA_BR_HELLO_TIMER, IFLA_BR_TCN_TIMER, IFLA_BR_TOPOLOGY_CHANGE_TIMER, IFLA_BR_GC_TIMER via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed4163098e3090bb7b51421bde977e355275a554 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:33 2015 +0200 bridge: netlink: export topology_change and topology_change_detected Add IFLA_BR_TOPOLOGY_CHANGE and IFLA_BR_TOPOLOGY_CHANGE_DETECTED and export them via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 684dd248bee8c73eadb90706123bf1494d3218b8 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:32 2015 +0200 bridge: netlink: export root path cost Add IFLA_BR_ROOT_PATH_COST and export it via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8762ba680fe8d41b444fc92f90ce7194b2b8303b Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:31 2015 +0200 bridge: netlink: export root port Add IFLA_BR_ROOT_PORT and export it via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7599a2201fc71cdca16a92d350f14cce8730e03f Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:30 2015 +0200 bridge: netlink: export bridge id Add IFLA_BR_BRIDGE_ID and export br->bridge_id via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5127c81f84de0dd643d5840a2c7de571bc6aceb3 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:29 2015 +0200 bridge: netlink: export root id Add IFLA_BR_ROOT_ID and export br->designated_root via netlink. For this purpose add struct ifla_bridge_id that would represent struct bridge_id. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7910228b6bb35f3c8e0bc72a8d84c29616cb1b90 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 4 14:23:28 2015 +0200 bridge: netlink: add group_fwd_mask support Add IFLA_BR_GROUP_FWD_MASK attribute to allow setting and retrieving the group_fwd_mask via netlink. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 68d4e5208291ac8bd7d47d992f353da31a2e1484 Merge: e96f78a 6be144f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 4 16:43:56 2015 -0700 Merge branch 'bridge-vlan' Nikolay Aleksandrov says: ==================== bridge: vlan: cleanups & fixes (part 2) This is the second follow-up set with one fix (patch 01) and more cleanups (patches 02,03 and 04). These are minor compared to the previous ones and should be the last before taking on the optimization changes on the fast-path. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6be144f62f64c8a67e11b2f8b86c7bf390b87411 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 15:05:13 2015 +0200 bridge: vlan: use br_vlan_should_use to simplify __vlan_add/del The checks that lead to num_vlans change are always what br_vlan_should_use checks for, namely if the vlan is only a context or not and depending on that it's either not counted or counted as a real/used vlan respectively. Also give better explanation in br_vlan_should_use's comment. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ffdf508d278d48ccb928238846df352db21f4eb Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 15:05:12 2015 +0200 bridge: vlan: drop master_flags from __vlan_add There's only one user now and we can include the flag directly. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8ed289fab843fbc9251aa2f5c3d416f09b5fc7e Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 15:05:11 2015 +0200 bridge: vlan: use br_vlan_(get|put)_master to deal with refcounts Introduce br_vlan_(get|put)_master which take a reference (or create the master vlan first if it didn't exist) and drop a reference respectively. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 586c2b573ee4c2c4ba03e16318a16614ebf876f8 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 15:05:10 2015 +0200 bridge: vlan: use rcu list for the ordered vlan list When I did the conversion to rhashtable I missed the required locking of one important user of the vlan list - br_get_link_af_size_filtered() which is called: br_ifinfo_notify() -> br_nlmsg_size() -> br_get_link_af_size_filtered() and the notifications can be sent without holding rtnl. Before this conversion the function relied on using rcu and since we already use rcu to destroy the vlans, we can simply migrate the list to use the rcu helpers. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb042ec35956de2684de2a05a814cd15efe570ca Author: Wei Fang <fangwei1@xxxxxxxxxx> Date: Tue Sep 29 11:23:55 2015 +0800 jffs2: fix a memleak in read_direntry() Need to free the memory allocated for 'fd' if failed to read all of the remainder name. Signed-off-by: Wei Fang <fangwei1@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d54e88011d0a5fb48d9bb60fede3e83375c75841 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Thu Oct 1 02:23:37 2015 +0300 mtd: nand: lpc32xx_slc: fix calculation of timing arcs from given values According to LPC32xx User's Manual all values measured in clock cycles are programmable from 1 to 16 clocks (4 bits) starting from 0 in bitfield, the current version of calculated clock cycles is too conservative. Correctness of 0 bitfield value (i.e. programmed 1 clock timing) is proven with actual NAND chip devices. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 08d3cd5ef0633df84d119e939d8d1b56c6e4a5e7 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Thu Oct 1 02:23:36 2015 +0300 mtd: nand: lpc32xx_slc: fix potential overflow over 4 bits In case if quotient of controller clock rate to device clock rate does not fit into 4 bit value, choose the maximum acceptable value 0xF, which stands for 16 clocks. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 641f6342f507cfe671ac5a58768a8473e14ae2ac Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Thu Oct 1 02:23:35 2015 +0300 mtd: nand: lpc32xx_slc: improve SLCTAC_*() macro definitions No functional change, move bitfield calculations to macro definitions with added clock rate argument, which are in turn defined by new common SLCTAC_CLOCKS(c, n, s) macro definition. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b6ad9a26e7c6fae74062baa9b8a7f583a803e092 Author: Oliver Schmitt <voltumna@xxxxxxx> Date: Sat Oct 3 18:20:02 2015 +0200 HID: usbhid: Fix for the WiiU adapter from Mayflash The WiiU adapter from Mayflash (see http://www.mayflash.com/Products/NINTENDOWiiU/W009.html) is not working correctly. The "XInput" mode works fine, the controller is recognized as a xbox controller. But it is only possible to connect one controller with this method. In "DInput" mode the device is recognized as some kind of mouse input but no joystick is created. This commit will change this behavior with HID_QUIRK_MULTI_INPUT to split the device into 4 input devices so that it will also create joysticks in /dev/input/js*. Signed-off-by: Oliver Schmitt <voltumna@xxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 32f40c5fa730fa598e500dfbaab8aabc39c56f96 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Sep 30 22:53:54 2015 +0100 netfilter: rename nfnetlink_queue_core.c to nfnetlink_queue.c Now that we have integrated the ct glue code into nfnetlink_queue without introducing dependencies with the conntrack code. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b7bd1809e0784435791657502bc0d8280ad6f7ea Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Sep 30 22:53:44 2015 +0100 netfilter: nfnetlink_queue: get rid of nfnetlink_queue_ct.c The original intention was to avoid dependencies between nfnetlink_queue and conntrack without ifdef pollution. However, we can achieve this by moving the conntrack dependent code into ctnetlink and keep some glue code to access the nfq_ct indirection from nfqueue. After this patch, the nfq_ct indirection is always compiled in the netfilter core to avoid polluting nfqueue with ifdefs. Thus, if nf_conntrack is not compiled this results in only 8-bytes of memory waste in x86_64. This patch also adds ctnetlink_nfqueue_seqadj() to avoid that the nf_conn structure layout if exposed to nf_queue, which creates another dependency with nf_conntrack at compilation time. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5760b0a565e0f64dfb90d8c42df949f966038e1d Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:20 2015 +0300 MAINTAINERS: add an entry for Intel(R) Trace Hub Add myself as a maintainer for the Intel(R) Trace Hub framework and drivers. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14cdbf041788f150ec3b323583b80bfd5775f73e Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:19 2015 +0300 intel_th: Add PTI output driver Parallel Trace Interface (PTI) unit is a trace output device that sends data over a PTI port. The driver provides interfaces to configure bus width, bus clock divider and mode. Tracing is enabled via output device's "active" attribute. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba82664c134ef7ab97808f09a3c5e894b0a4900d Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:18 2015 +0300 intel_th: Add Memory Storage Unit driver Memory Storage Unit (MSU) is a trace output device that collects trace data to system memory. It consists of 2 independent Memory Storage Controllers (MSCs). This driver provides userspace interfaces to configure in-memory tracing parameters, such as contiguous (high-order allocation) buffer or multiblock (scatter list) buffer mode, wrapping (data overwrite) and number and sizes of windows in multiblock mode. Userspace can read the buffers via mmap()ing or read()ing of the corresponding device node. Signed-off-by: Laurent Fert <laurent.fert@xxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f04e449fc76e7bfd1b8ed11967ab092d05355b6b Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:17 2015 +0300 intel_th: Add Software Trace Hub driver Software Trace Hub (STH) is a trace source device in the Intel TH architecture, it generates data that then goes through the switch into one or several output ports. STH collects data from software sources using the stm device class abstraction. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b27a6a3f97b90f05ed145f553de46d5d9d47d78d Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:16 2015 +0300 intel_th: Add Global Trace Hub driver Global Trace Hub (GTH) is the central component of Intel TH architecture; it carries out switching between the trace sources and trace outputs, can enable/disable tracing, perform STP encoding, internal buffering, control backpressure from outputs to sources and so on. This property is also reflected in the software model; GTH (switch) driver is required for the other subdevices to probe, because it matches trace output devices against its output ports and configures them accordingly. It also implements an interface for output ports to request trace enabling or disabling and a few other useful things. For userspace, it provides an attribute group "masters", which allows configuration of per-master trace output destinations for up to master 255 and "256+" meaning "masters 256 and above". It also provides an attribute group to discover and configure some of the parameters of its output ports, called "outputs". Via these the user can set up data retention policy for an individual output port or check if it is in reset state. Signed-off-by: Laurent Fert <laurent.fert@xxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b0b16d329add49d503ff08b45d7636731f493dc Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:15 2015 +0300 intel_th: Add pci glue layer for Intel(R) Trace Hub This patch adds basic support for PCI-based Intel TH devices. It requests 2 bars (configuration registers for the subdevices and STH channel MMIO region) and calls into Intel TH core code to create the bus with subdevices etc. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39f4034693b7c7bd1fe4cb58c93259d600f55561 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:14 2015 +0300 intel_th: Add driver infrastructure for Intel(R) Trace Hub devices Intel(R) Trace Hub (TH) is a set of hardware blocks (subdevices) that produce, switch and output trace data from multiple hardware and software sources over several types of trace output ports encoded in System Trace Protocol (MIPI STPv2) and is intended to perform full system debugging. For these subdevices, we create a bus, where they can be discovered and configured by userspace software. This patch creates this bus infrastructure, three types of devices (source, output, switch), resource allocation, some callback mechanisms to facilitate communication between the subdevices' drivers and some common sysfs attributes. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3e5a3d3da3e68ac5a7ab0278dffec8353ca8174 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:13 2015 +0300 stm class: stm_console: Add kernel-console-over-stm driver This is a simple stm_source class device driver (kernelspace stm trace source) that registers a console and sends kernel messages over STM devices. Reviewed-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c41538191e1ee34e316aaba586fb2cab1379a3a Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:12 2015 +0300 stm class: dummy_stm: Add dummy driver for testing stm class This is a simple module that pretends to be an stm device and discards all the data that comes in. Useful for testing stm class and its users. Reviewed-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a961e698d8112f3facdd4cde7df8565ea0865ff7 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:11 2015 +0300 MAINTAINERS: add an entry for System Trace Module device class Add myself as a maintainer for the stm class framework. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7bd1d4093c2fa37d1ecab05da3c9d48ea2af2264 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:47:10 2015 +0300 stm class: Introduce an abstraction for System Trace Module devices A System Trace Module (STM) is a device exporting data in System Trace Protocol (STP) format as defined by MIPI STP standards. Examples of such devices are Intel(R) Trace Hub and Coresight STM. This abstraction provides a unified interface for software trace sources to send their data over an STM device to a debug host. In order to do that, such a trace source needs to be assigned a pair of master/channel identifiers that all the data from this source will be tagged with. The STP decoder on the debug host side will use these master/channel tags to distinguish different trace streams from one another inside one STP stream. This abstraction provides a configfs-based policy management mechanism for dynamic allocation of these master/channel pairs based on trace source-supplied string identifier. It has the flexibility of being defined at runtime and at the same time (provided that the policy definition is aligned with the decoding end) consistency. For userspace trace sources, this abstraction provides write()-based and mmap()-based (if the underlying stm device allows this) output mechanism. For kernel-side trace sources, we provide "stm_source" device class that can be connected to an stm device at run time. Cc: linux-api@xxxxxxxxxxxxxxx Reviewed-by: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx> Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 448535a35010253f21ed913a05abe3d0adb47743 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Sep 18 02:01:45 2015 +0300 vme: print unhandled VME access errors This will enable error messages for accesses done through mmap. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Acked-by: Martyn Welch <martyn@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b0496625715374c7d0b747268c11528e8af32a3 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Sep 18 02:01:44 2015 +0300 vme: change bus error handling scheme The current VME bus error handler adds errors to the bridge error list. vme_master_{read,write} then traverses that list to look for relevant errors. Such scheme didn't work well for accesses going through vme_master_mmap because they would also allocate a vme_bus_error, but have no way to do vme_clear_errors call to free that memory. This changes the error handling process to be other way around: now vme_master_{read,write} defines a window in VME address space that will catch possible errors. VME bus error interrupt only traverses these windows and marks those that had errors in them. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Cc: Igor Alekseev <igor.alekseev@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 472f16f33c7d53515af83c805d4babd8a6c24a19 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Sep 18 02:01:43 2015 +0300 vme: include address space in error filtering Also changes vme_bus_error_handler to take generic address modifier code instead of raw contents of a device-specific attribute register. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Cc: Igor Alekseev <igor.alekseev@xxxxxxx> Acked-by: Martyn Welch <martyn@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2c6393fda98dde5534dd6f83bd15f76abed6555 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Fri Sep 18 02:01:42 2015 +0300 vme: move tsi148 error handling into VME subsystem Error handling code found in tsi148 is not device specific. In fact it already relies on shared vme_bus_error struct and vme_bridge.vme_errors field. The other bridge driver could reuse this code if it is shared. This introduces a slight behavior change: vme error message won't be triggered in a rare case when err_chk=1 and kmalloc fails. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Cc: Igor Alekseev <igor.alekseev@xxxxxxx> Acked-by: Martyn Welch <martyn@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da5ae8a991d35d73b3875de0298afaf033d85363 Author: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Date: Wed Jul 8 17:42:17 2015 +0300 vme: lower alignment requirement in pci bridge drivers Universe II allows PCI address grannularity of 4K or 64K depending on the window id. tsi148 only supports 64K. Existing driver implementations are validating window size against this grannularity and then use that very size as alignment parameter to pci_bus_alloc_resource. This constraint is excessive, alignment by granularity should be enough. This changes alignment constraint from size to a fixed constraint of 64K. Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43b2ec01d2140964d98ea7812ca2f9dff67d2db2 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:36 2015 +0200 IB/ehca: fix handling idr_alloc result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Doug Ledford <dledford@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8b2c7d845d57f7a4b9f1f941f24728165e27626 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Aug 7 07:19:22 2015 +0200 base/platform: assert that dev_pm_domain callbacks are called unconditionally When a platform driver doesn't provide a .remove callback the function platform_drv_remove isn't called and so the call to dev_pm_domain_attach called at probe time isn't paired by dev_pm_domain_detach at remove time. To fix this (and similar issues if different callbacks are missing) hook up the driver callbacks unconditionally and make them aware that the platform callbacks might be missing. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65da3484d9be5664f5f7d2378e438bb2794f40b8 Author: NeilBrown <neilb@xxxxxxxx> Date: Thu Aug 6 08:27:55 2015 +1000 sysfs: correctly handle short reads on PREALLOC attrs. attributes declared with __ATTR_PREALLOC use sysfs_kf_read() which ignores the 'count' arg. So a 1-byte read request can return more bytes than that. This is seen with the 'dash' shell when 'read' is used on some 'md' sysfs attributes. So only return the 'min' of count and the attribute length. Signed-off-by: NeilBrown <neilb@xxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cfcf6a91aa0d59faddb423a65230eea7f230d057 Author: Lee Duncan <lduncan@xxxxxxxx> Date: Thu Oct 1 11:59:09 2015 -0700 base: soc: siplify ida usage Simplify ida index allocation and removal by using the ida_simple_* helper functions Signed-off-by: Lee Duncan <lduncan@xxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 850b37a71bde71ac43468bc05d031d5e0704dac3 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Sep 30 15:27:03 2015 +0300 tty: serial: msm: Remove 115.2 Kbps maximum baud rate limitation UART controller is capable to perform transfers up to 4 Mbps. Remove artificial 115.2 Kbps limitation. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99693945013a5178e1944f9409a1527d80b33abc Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Sep 30 15:27:02 2015 +0300 tty: serial: msm: Add RX DMA support Add receive DMA support for UARTDM type of controllers. Tested on APQ8064, which have UARTDM v1.3 and ADM DMA engine and APQ8016, which have UARTDM v1.4 and BAM DMA engine. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a878c430fd6eb4f8587f9ebd187f773bf85d1d6 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Sep 30 15:27:01 2015 +0300 tty: serial: msm: Add TX DMA support Add transmit DMA support for UARTDM type of controllers. Tested on APQ8064, which have UARTDM v1.3 and ADM DMA engine and APQ8016, which have UARTDM v1.4 and BAM DMA engine. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 558abdb05fe0c7fc86eba8803d74bc9592c3cb26 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Wed Sep 30 15:27:00 2015 +0300 tty: serial: msm: Add msm prefix to all driver functions Make function naming consistent across this driver. Also rename msm_irq to msm_uart_irq. No functional changes. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eec43b8afaf57af5dfbbdcd92c64e83a3ef8ca57 Author: Pramod Gurav <gpramod@xxxxxxxxxxxxxx> Date: Wed Sep 30 15:26:59 2015 +0300 tty: serial: msm: replaces (1 << x) with BIT(x) macro Replaces (1 << x) with BIT(x) macro Signed-off-by: Pramod Gurav <gpramod@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12b9b9f186f336ad6fe7adcbad48bd5340af9abb Author: Pramod Gurav <gpramod@xxxxxxxxxxxxxx> Date: Wed Sep 30 15:26:58 2015 +0300 tty: serial: msm: Add mask value for UART_DM registers The bit masks for RFR_LEVEL1 and STALE_TIMEOUT_MSB values in MR1 and IPR registers respectively are different for UART and UART_DM hardware cores. We have been using UART core mask values for these. Add the same for UART_DM core. There is no bit setting as UART_IPR_RXSTALE_LAST for UART_DM core so do it only for UART core. Signed-off-by: Pramod Gurav <gpramod@xxxxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b0159d1ecfbc11badb96466c0c1582ee5ffe78f Author: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Date: Sun Oct 4 18:59:45 2015 +0200 sc16is7xx: null ptr check If a wrong compatible flag in specified, the of_match_device returning null. Implemented check and if NULL then returning -ENODEV. Signed-off-by: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adfb9233e434896e87811339ca0c18bc923b262f Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 3 16:45:35 2015 -0300 serial: omap: remove warnings about unused functions They're used by only if CONFIG_PM is enabled, so enclose them with proper ifdefs. Removes these warnings: drivers/tty/serial/omap-serial.c:202:12: warning: 'serial_omap_get_context_loss_count' defined but not used [-Wunused-function] drivers/tty/serial/omap-serial.c:213:13: warning: 'serial_omap_enable_wakeup' defined but not used [-Wunused-function] Signed-off-by: Guido MartÃnez <guido@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc12c116b1982c61dfbb6c00673dac50cc2bd7b5 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 17:19:33 2015 +0200 mpsc: use dma_set_mask insted of dma_supported This ensures the dma mask that is supported by the driver is recorded in the device structure. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27c310c5c3129aac9d2f325211df85a82177f274 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Wed Sep 30 10:04:17 2015 +0300 serial: 8250_dma: no need to sync RX buffer RX buffer is allocated from DMA coherent memory. Thus there is no need to call DMA sync API for it. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10791233e98fbd0ed84b9ba549ce537ca2fcccf3 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 15:36:11 2015 -0400 serial: 8250: Refactor serial console restore-from-suspend Move h/w reinit of serial console restore-from-suspend into standalone helper function. No functional change. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f56f3fdca43c9a18339b6e0c3b1aa2f57f6d0b0 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Sep 25 15:36:10 2015 -0400 serial: 8250: Tolerate clock variance for max baud rate When the UART clock is set slightly under 1.8432MHz, the 8250 driver core doesn't permit the 115200 baud rate since it calculates the maximum frequency to pass to uart_get_baud_rate by simply dividing the uart clock by 16 which yields a value slightly under 115200, even though the frequency is close enough for the UART to operate reliably. Therefore add some tolerance in the calculation of the maximum baud rate. 1% tolerance allows for marginally slower uart clk than nominal without introducing transmission errors. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> [pjh: Forward-port & refactor original patch; change tolerance to 1%] Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d215d80957ce98c318064c249ad0b7800c63a19d Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Tue Sep 22 15:20:32 2015 +0300 serial_core: support native endianness There are three natural ways in which devices may be wired to the system: little endian (device receives correctly ordered bits of a word written by little-endian CPU to its register, but big-endian CPU needs to swap bytes of a word before writing it), big endian (same, but with big-endian CPU in more favourable position) and native endian (CPU of either endianness may do word-sized I/O without need for byteswapping). Adding an option for native endianness allows using single kernel command line for boards with native-endian serial ports on bi-endian architectures. This goes in parallel with 'native-endian' DTS attribute. Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 616ea8d2d644b93ec634a3cb97e04f1ec3b0a491 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 21 16:47:06 2015 +0100 tty/serial: st-asc: drop the use of IRQF_NO_SUSPEND These drivers doesn't claim the serial device to be wakeup source. Even if it is, it needs to use enable_irq_wake or other related PM wakeup APIs to enable it. This patch removes yet another misuse of IRQF_NO_SUSPEND. Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: kernel@xxxxxxxxxxx Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b801e7f898aba3953fddbda47bcda2e5411bcfa0 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 21 16:47:05 2015 +0100 MIPS: ttyFDC: replace IRQF_NO_SUSPEND with IRQF_COND_SUSPEND Since the FD interrupt handler can discern spurious IRQs and it is shared with timer interrupt, use IRQF_COND_SUSPEND instead of IRQF_NO_SUSPEND. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14996122a47bb489233629533bc059af50628ec8 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:38 2015 +0200 tty: serial: lpc32xx_hs: fix handling platform_get_irq result The function can return negative values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 618bbaa260a3aa469e13a8f7c3e2a65e456c7005 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:14 2015 +0200 tty: serial: cpm_uart: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7edb23ce4618b2150e7b17b2061ddb4239f69b2e Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 20:04:12 2015 +0200 tty: serial: sprd: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d58db1ede9bd1a057b5d5114ae72210347dfe91 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:43 2015 +0200 tty: serial: of_serial: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50a84487c3c573a8c7c9146c31af21b51aa86b10 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 20:02:44 2015 +0200 tty: serial: apbuart: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b2256c8274c72bacb7eca7dee5ffe85832cb5e0 Author: Mans Rullgard <mans@xxxxxxxxx> Date: Tue Sep 15 17:54:13 2015 +0100 serial: 8250: simplify ralink/alchemy register remap selection Some SoCs, including Ralink/Mediatek and Alchemy Au1xxx, have a 16550-like UART with a non-standard register layout. These are supported by a simple mapping table in 8250_port.c Rather than list every SoC type using this access mode in the ifdefs there, allow selecting the SERIAL_8250_RT288X Kconfig option with any system and default it to y for the known cases needing it. The help text is reworded accordingly. This change simplifies adding support for other SoCs also using the same UART. The name of the option is a little misleading, but not knowing the true origin of this UART, it is as good a choice as any. Signed-off-by: Mans Rullgard <mans@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce59e48fdbad2aa6609ceb87e1306ec69e577e05 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 30 10:19:41 2015 +0200 serial: mctrl_gpio: implement interrupt handling This allows to reduce the per-driver boiler plate considerably. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d8c70d8048c7b4307dff95d9300d6b1ea7a3547 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 30 10:19:40 2015 +0200 serial: mctrl-gpio: rename init function This is done before adding more functionality to the init function with the existing name. As this new functionality conflicts with stuff drivers are required to implement themselves up to I want to convert them one by one to make reviewing and reverting more easy in case I broke something. Once mctrl_gpio_init is there and all drivers are converted mctrl_gpio_init_noauto can be removed again. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc2454f7eb08c07d12c87f526bf8de35b1d2b0c2 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 30 10:19:39 2015 +0200 serial: mxs-auart+imx: allow compile testing on non-Freescale architectures Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8d1f02245a3cf36d0817deba88caf13de498a43 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 30 10:19:38 2015 +0200 serial: atmel: allow compile testing on non-atmel architectures This commit also fixes compiler warnings and errors seen when building on x86_64. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abc7882aacdb4b0e110026bff9b52fb783f4ebd8 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:43 2015 +0200 serial: imx: also update RX stats in DMA path The RX bytecount was only updated in the PIO path and thus the device erroneously reported a value of 0 if DMA is in use. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e11577ef6f31faf4a505e7823bf78b679906aca Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:42 2015 +0200 serial: imx: re-enable DMA support without hardware flow control The commit enabling DMA support even if no flow control is present was reverted on the grounds that it uncovered a number of bugs in the code that lead to hanging tty devices and/or missing characters. After tracking down the issues it is clear that those were generic bugs and had nothing to do with flow control being present or not, only that allowing DMA without hardware flow control increased the exposure of that code a lot. Now that those bugs are fixed, it should be safe to re-enable DMA support. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 905c0decad28402aa166975023fb88c8f62f93c8 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:41 2015 +0200 serial: imx: don't use idle condition detect for DMA transfers The reference manual states that idle condition detect should not be used with DMA transfers, as the ROM SDMA scripts don't check those conditions. The RAM SDMA scripts worked around this, but the change broke compatibility with the ROM scripts. The previous commits fixed the DMA burst sizes, so that the aging timer is now working as described in the reference manual. With this fixed we can remove the hack of using the idle condition detect to stop the DMA transfer if there are no new characters incoming. This should work with both the ROM and RAM SDMA scripts. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 184bd70bbc81ff0aa561eb51914c952225e42aab Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:40 2015 +0200 serial: imx: configure proper DMA burst sizes Triggering the DMA engine for every byte is horribly inefficient. Also it doesn't allow to use the aging timer for the RX FIFO as this requires the DMA engine to leave one byte remaining in the FIFO when doing a normal burst transfer. Adjust watermark levels so that the DMA engine can do at least 8 byte burst transfers. This is a conservative value, as the both TX and RX FIFOs are able to contain 32 bytes. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 976b39cd5b1d671bb2b2512b1a79fef2b210c875 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:39 2015 +0200 serial: imx: always restart DMA if more data is available Simplify the DMA restart logic to always queue up the next transfer immediately if there is at least one more byte available in the FIFO, so that the transfer will finish in a limited time. This way the driver stops to rely on zero length transfers to signal transfers ends. Those will go away when the idle detect DMA requests are disabled. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86a04ba64295e419f442866282051777ce962b8a Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:38 2015 +0200 serial: imx: set up aging timer interrupt as DMA trigger The DMA transfer is only started once we are sure it will finish in a limited time, i.e. only after we received a RRDY interrupt. In order to allow the watermark level to be raised the aging timer and the corresponding interrupt need to be set up as an additional trigger, so that the transfer is also started if the incoming amount of bytes never reach the watermark. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc32382d9fd22dc8eebba4a245f50417267bda8e Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 4 17:52:37 2015 +0200 serial: imx: make setup_ufcr more useful This function currently doesn't use its parameter. Change prototype to pass in watermark levels, so we can reuse this function in the DMA setup paths. Also relocate to be near the calling functions. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7693c79ce0779e9f3ebeaee747592da42294bc5f Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:33 2015 +0300 serial: 8250_dw: don't set UPF_BOOT_AUTOCONF flag serial8250_register_8250_port adds it to all ports it registers. No need to set it separately. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2338a75e0fe7195a615e66941a183b3286ee2fcd Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:32 2015 +0300 serial: 8250_dw: cleanup dw8250_setup_port Using the same style of declaring variables as used in the other functions of the driver. Passing uart_port to the function instead of uart_8250_port, as it is the one mostly needed. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83ce95ef5efba06e5201c31064d11069bfdb87a0 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:31 2015 +0300 serial: 8250_dw: cleanup dw8250_idma_filter Remove the extra return. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1edb3cf21f4b0be2a5d9577d4913eb9a3131cd16 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:30 2015 +0300 serial: 8250_dw: rename and comment the fallback dma filter Adding comment where the purpose of the function is explained. The dma parameters are not used, so removing them, and also moving the assignment of the function to the same place where the other dw8250_data structures members are being set in dw8250_probe. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c73942e22aa4a3d910f9be8d48de4080c3a52086 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:29 2015 +0300 serial: 8250_dw: proper support for UARTs without busy functionality If the DW_apb_uart is configured with UART_16550_COMPATIBLE configuration parameter set, then the Busy Functionality is not available. These UARTs will never generate the Busy detect indication interrupt, and therefore don't need handling for it. This creates a small optimization for the DW_apb_uarts configured without the busy functionality, but more importantly, it removes the small but real risk of hitting potential issues caused by busy functionality handling when no busy functionality exist. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e08fa50b2f5935a219a323df5380d28f675c585 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:28 2015 +0300 serial: 8250_dw: add dw8250_quirks function Merging the DT and ACPI specific probe functions into dw8250_quirks. Those functions did not have that much code any more and some of the quirks need to be shared. This will also allow platforms without DT or ACPI to use the driver. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f042054faa0f40b5801464ef818f28885e5435e Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:27 2015 +0300 serial: 8250_dw: only setup the port from one place This adds a flag "skip_autocfg" that the platforms that do not have the ADDITIONAL_FEATURES implemented can use to skip the port setup. It's then enough to call dw8250_setup_port just from dw8250_probe based on that flag. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2559318caa76028edc9c0553932a17139e6adc58 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:26 2015 +0300 serial: 8250_dw: hook the DMA in one place Instead of assigning the dma member in dw8250_probe_of and dw8250_probe_acpi separately, assigning it in dw8250_probe. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd8edba10e6aa275434a8daa7ddcaf849fe49ad Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:25 2015 +0300 serial: 8250_dw: adapt to unified device property interface This makes the properties available for all types of platforms instead of just the ones using DT. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78d3da75d54ac7c1984ff19ba6034db2f549df89 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 14:17:24 2015 +0300 serial: 8250_dw: add separate pointer for the uart_port to dw8250_probe For convenience, adding separate pointer for the "port" member of struct uart_8250_port that is being filled in the probe function. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25c7ce7f7b511fc02b6eef95595af2cea80e2612 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Oct 3 19:21:11 2015 +0200 libata: cleanup ata_scsi_qc_complete Remove an incorrect comment and untangle an if statement in ata_scsi_qc_complete. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d05f15707bb7659d2b863fafa1a918f286d74a63 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Sep 14 19:56:03 2015 -0500 serial: 8250: Add OF earlycon support This allows earlycon to be used without needing to specify the I/O address on the kernel command line, if linux,stdout-path is specified in the chosen node. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 913c6c0e947be8fb14d591be69e8966912af9c15 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Aug 28 11:56:19 2015 +0200 serial: imx: add earlycon support Earlycon allows to have an early debugging console that doesn't need to be statically configured in the kernel config, like earlyprintk, but is set up through the stdout-path DT property. This allows to have the early debugging always built into the kernel and enabled on demand without clashing between different boards or architectures. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4cad4c57e0b3e90555a81e79ac7e82b253979697 Author: Abhimanyu Kapur <abhimany@xxxxxxxxxxxxxx> Date: Sat Sep 12 12:44:39 2015 -0500 ARM64: TTY: hvc_dcc: Add support for ARM64 dcc Add support for debug communications channel based hvc console for arm64 cpus. Signed-off-by: Abhimanyu Kapur <abhimany@xxxxxxxxxxxxxx> Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d27070108216b5c689dd3d0bf3ac10ef88570f7 Author: Timur Tabi <timur@xxxxxxxxxxxxxx> Date: Sat Sep 12 12:44:38 2015 -0500 hvc_dcc: don't ignore errors during initialization hvc_instantiate() and hvc_alloc() return errors if they fail, so don't ignore them. Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9af92fbff3b06d75470717361076aa7bd097ff8b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 11:29:03 2015 +0200 tty/serial: at91: move ATMEL_MAX_UART Move ATMEL_MAX_UART from platform_data/atmel.h to atmel_serial.c as this is the only file using it and it is common practise from tty/serial drivers to define it directly in the driver file. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed4492fa91265ff7ffc69a4212533ebe3e7cbe18 Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Fri Sep 11 11:38:03 2015 +0000 serial: of-serial: compile correctly when 8250 driver is compiled as module If the 8250 driver is compiled as a module then CONFIG_SERIAL_8250_MODULE is defined and not CONFIG_SERIAL_8250. This results in all those code sections that require CONFIG_SERIAL_8250 to be defined are not included. This patch fixes the situation and allows 8250 and of-serial to be compiled as a module with the same functionality as when compiled into the kernel. Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d144aff1363a332e43be3cb431f6f8600a449cdc Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 9 20:34:12 2015 +0200 serial: altera_uart: Use of_property_read_u32 instead of open-coding it Use of_property_read_u32 instead of of_get_property with return value checks and endianness conversion. Also remove the !CONFIG_OF implementation of altera_uart_get_of_uartclk as of_property_read_u32 will return a non-zero value for !CONFIG_OF. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acccab429be7fd83987214c50cfde057ea71d118 Author: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Date: Tue Sep 8 16:55:36 2015 +0100 devicetree: Add JZ4760/JZ4775 to Ingenic SoC UART binding Add these variants of the UART as compatible strings Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx> blah Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c74997bdfe0f81047fc9258af3625deb2f9aff27 Author: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Date: Tue Sep 8 16:55:35 2015 +0100 serial: 8250_ingenic: Enable FIFO for Ingenic UARTs Enable the TX/RX FIFOs present on UARTs in Ingenic SoCs. FIFO sizes vary per device so match these based on the OF compatible string Enabling the FIFOs permits much faster transfer with lower CPU overhead. Tested on Ingenic JZ4780 on the MIPS Ci20 Creator board Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 129a45b1a93b93b1c7f3a60ec6d7a276d6142da5 Author: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Date: Tue Sep 8 16:55:34 2015 +0100 serial: 8250_ingenic: Enable hardware flow control The Ingenic UART is similar to a standard 16550, but hardware flow control requires setting a couple of additional, non-standard bits in the MCR. The non-standard "modem control enable" and "hardware flow control mode" bits are set when writing to the MCR register, based on whether the modem control interrupt is active. Additionally the non-16550 compliant parts of the uart need to be masked from higher layers. Tested on Ingenic JZ4780 on MIPS Creator Ci20 board Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20b5af93505cba9d55577f576fcd0d162eb2ad4a Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Aug 30 23:42:14 2015 +0200 serial: sc16is7xx: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases and also "sc16is7xx" is not a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57e7e2a64a49961d2810a6f4f0e1ca2699338ec2 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Sep 19 11:43:07 2015 +0800 serial: mux: Convert to uart_console_device instead of open-coded The implementation of mux_console_device() is very similar to uart_console_device(). Setting .data field in mux_console then we can convert to use uart_console_device(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 740134960811bdeadaf52d6155d8fea97470dcda Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 25 16:49:46 2015 -0300 serial: 68328serial: Use NULL for pointers 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09557c0169d20585a12e2900fe6d00b5128e5ba8 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 15 14:49:00 2015 +0200 serial: samsung: Fix UART status handling in DMA mode So far, when interrupt occured in DMA mode, it was handled by terminating DMA transfer and draining data remaining in RX FIFO. It worked well until interrupt was caused by timeout, but the same interrupt can be alse caused by special condition (eg. 'break'), which requires special handling. In such case handling mechanism was the same - DMA transaction was terminated and FIFO was drained, but any special conditions were ingnored. Because of this in DMA mode there was no ability to use, for example, Magic SysRq. This patch fixes this problem by using s3c24xx_serial_rx_drain_fifo() function instead of uart_rx_drain_fifo(), which does the same thing (drains RX FIFO) plus checks UART status to detect special conditions (such as 'break'). Thanks to this we have exactly the same UART status handling in both DMA and PIO mode. This change additionally simplifies RX handling code, as we no longer need uart_rx_drain_fifo() function, so we can remove it. Reported-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01732dd25c06c127b7a7fba1cf8daad60387795a Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 15 14:48:59 2015 +0200 serial: samsung: introduce s3c24xx_serial_rx_drain_fifo() function This patch introduces s3c24xx_serial_rx_drain_fifo() which reads data from RX FIFO and writes it to tty buffer. It also checks for special conditions (such as 'break') and handles it. This function has been separated from s3c24xx_serial_rx_chars_pio() as it contains code which can be used also in DMA mode. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 620bb21448a2ec38d6c3f1e7d4868ac6e81fa68e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 15 14:48:58 2015 +0200 serial: samsung: remove unneded 'ignore_char' label This label does nothing special and we don't need to have it anymore. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4678afeffa3c3c8020050448af2c226f6c49c56 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 15 14:48:57 2015 +0200 serial: samsung: remove unused 'irq' parameter This parameter is not used anywhere, so we can get rid of it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff4411296e99db2c0896580d8b47348abf3ad703 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 18 13:08:33 2015 +0200 serial: sh-sci: Add DT support to DMA setup Add support for obtaining DMA channel information from the device tree. This requires switching from the legacy sh_dmae_slave structures with hardcoded channel numbers and the corresponding filter function to: 1. dma_request_slave_channel_compat(), - On legacy platforms, dma_request_slave_channel_compat() uses the passed DMA channel numbers that originate from platform device data, - On DT-based platforms, dma_request_slave_channel_compat() will retrieve the information from DT. 2. and the generic dmaengine_slave_config() configuration method, which requires filling in DMA register ports and slave bus widths. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7327c09def48ccfd204025726f11b57a19a9c24 Author: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Date: Fri Sep 18 13:08:32 2015 +0200 serial: sh-sci: Pause DMA engine and get DMA status again Occasionally, DMA transaction completes _after_ DMA engine is stopped. Verify if the transaction has not finished before forcing the engine to stop and push the data Signed-off-by: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b963042b64f5de3c63a1ebcbe2cad6b1597b8b9 Author: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Date: Fri Sep 18 13:08:31 2015 +0200 serial: sh-sci: Do not terminate DMA engine when race condition occurs When DMA packet completion and timer expiry take place at the same time, do not terminate the DMA engine, leading by submission of new descriptors, as the DMA communication hasn't necessarily stopped here. Signed-off-by: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d3db608f933605d2dce44a0262ea94da3407465 Author: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Date: Fri Sep 18 13:08:30 2015 +0200 serial: sh-sci: Call dma_async_issue_pending when transaction completes dmaengine_submit() will not start the DMA operation, it merely adds it to the pending queue. If the queue is no longer running, it won't be restarted until dma_async_issue_pending() is called. Signed-off-by: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> [geert: Add more description] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 371cfed3116bc2ebd173fe55870f77ea1413edac Author: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Date: Fri Sep 18 13:08:29 2015 +0200 serial: sh-sci: Redirect port interrupts to CPU _only_ when DMA stops Since the DMA engine is not stopped everytime rx_timer_fn is called, the interrupts have to be redirected back to CPU only when incomplete DMA transaction is handled Signed-off-by: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ab76556608665c35080f641c73025297d0a2813 Author: Aleksandar Mitev <amitev@xxxxxxxxxxx> Date: Fri Sep 18 13:08:28 2015 +0200 serial: sh-sci: Remove timer on shutdown of port This prevents DMA timer timeout that can trigger after the port has been closed. Signed-off-by: Aleksandar Mitev <amitev@xxxxxxxxxxx> [geert: Move del_timer_sync() outside spinlock to avoid circular locking dependency between rx_timer_fn() and del_timer_sync()] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e5c4b4d154ee0a34e39e1a587f71d4671783abf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 18 13:08:27 2015 +0200 serial: sh-sci: Stop calling sci_start_rx() from sci_request_dma() There's no need to call sci_start_rx() from sci_request_dma() when DMA setup fails, as sci_startup() will call sci_start_rx() anyway. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 756981be7497ab76ae7ccd2fda9223a135320aa1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 18 13:08:26 2015 +0200 serial: sh-sci: Submit RX DMA from RX interrupt on (H)SCIF For DMA receive requests, the driver is only notified by DMA completion after the whole DMA request has been transferred. If less data is received, it will stay stuck until more data arrives. The driver handles this by setting up a timer handler from the receive interrupt, after reception of the first character. Unlike SCIFA and SCIFB, SCIF and HSCIF don't issue receive interrupts on reception of individual characters if a receive DMA request is in progress, so the timer is never set up. To fix receive DMA on SCIF and HSCIF, submit the receive DMA request from the receive interrupt handler instead. In some sense this is similar to the SCIFA/SCIFB behavior, where the RDRQE (Rx Data Transfer Request Enable) bit is also set from the receive interrupt handler. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67f462b069e9d2087d3fe838584730ecefcf9c66 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 18 13:08:25 2015 +0200 serial: sh-sci: Get rid of the workqueue to handle receive DMA requests The receive DMA workqueue function work_fn_rx() handles two things: 1. Reception of a full buffer on completion of a receive DMA request, 2. Reception of a partial buffer on receive DMA time-out. The workqueue is kicked by both the receive DMA completion handler, and by a timer to handle DMA time-out. As there are always two receive DMA requests active, it's possible that the receive DMA completion handler is called a second time before the workqueue function runs. As the time-out handler re-enables the receive interrupt, an interrupt may come in before time-out has been fully handled. Move part 1 into the receive DMA completion handler, and move part 2 into the receive DMA time-out handler, to fix these race conditions. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1910fcdb545acd374b38785b46cbefb1b6f01e9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 18 13:08:24 2015 +0200 serial: sh-sci: Shuffle functions around This allows to: - Remove forward declarations of static functions, - Coalesce two sections protected by #ifdef CONFIG_SERIAL_SH_SCI_DMA, - Avoid shuffling functions around in the near future, - Avoid adding forward declarations in the near future. No functional changes. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3575b8583e7867ac246520e24be7f973df113d6a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Sep 30 11:57:33 2015 +0200 serial: sh-sci: Add device tree support for r8a7795 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99dc8e400e93773fb45c57cc969c7be443d98141 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:57 2015 +0200 serial: sh-sci: Don't call sci_dma_rx_push() if no data has arrived On receive DMA time-out, avoid calling sci_dma_rx_push() if no data was transferred by the timed out DMA request. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8eadb56d6830f169fd225a59e0e27dd97fc762c1 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Fri Aug 21 20:02:56 2015 +0200 serial: sh-sci: Don't kick tx in sci_er_interrupt() when using DMA If CONFIG_SERIAL_SH_SCI_DMA is enabled, the driver doesn't enable TIE on SCIF or HSCIF. However, this driver may call sci_tx_interrupt() in sci_er_interrupt(). After that, the driver cannot care of the interrupt, and then "irq 109: nobody cared" happens on r8a7791/koelsch board. This patch fixes the issue. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> [geert] Keep kicking tx when using PIO Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6403c112f8cf573147f621533d2fa2c3fe015de Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:55 2015 +0200 serial: sh-sci: Don't call sci_rx_interrupt() on error when using DMA The error handler calls sci_rx_interrupt() to drain the receive FIFO if an error condition happens. However, if DMA is enabled on SCIFA or SCIFB, this will call disable_irq_nosync() twice. Due to this imbalance, the receive interrupt will never be re-enabled, and reception stops forever. To fix this, restrict draining the FIFO to PIO mode, and just call sci_receive_chars() directly. Inspired by a patch from Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>. Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b39d901846d2548829e7788eefcfe9091224973 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Fri Aug 21 20:02:54 2015 +0200 serial: sh-sci: Fix NULL pointer dereference if HIGHMEM is enabled This patch fixes an issue that this driver causes a NULL pointer dereference in the following conditions: - CONFIG_HIGHMEM and CONFIG_SERIAL_SH_SCI_DMA are enabled - This driver runs on the sci_dma_rx_push() This issue was caused by virt_to_page(buf) in the sci_request_dma() because this driver didn't check if the "buf" was valid or not. So, this patch uses the "buf" from dma_alloc_coherent() as is, not page. This patch also fixes a WARNING issue in sci_rx_dma_release(): WARNING: CPU: 0 PID: 1328 at lib/dma-debug.c:1125 check_unmap+0x444/0x848() rcar-dmac e6700000.dma-controller: DMA-API: device driver frees DMA memory with different CPU address [device address=0x000000006dd89000] [size=64 bytes] [cpu alloc address=0x000000016189c000] [cpu free address=0x0000000080000000] WARNING: CPU: 1 PID: 1 at drivers/base/dma-mapping.c:334 dma_common_free_remap+0x48/0x6c() trying to free invalid coherent area: (null) Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> [geert] Rebased [geert] Reworded [geert] Dropped .rx_chunk, as it's always identical to .rx_buf[0] Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba172c70451ed6688a31e27d8bb5a4631c2003de Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:53 2015 +0200 serial: sh-sci: Use incrementing pointers instead of stack array There's no need to keep all buffer and DMA pointers on the stack. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47b0e94a67d4ab771a05dd23a2c5cc5c2c533fdc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:52 2015 +0200 serial: sh-sci: Use tty_insert_flip_string() for DMA receive Switch from using tty_buffer_request_room() and looping over tty_insert_flip_char() to tty_insert_flip_string(). Keep track of buffer overruns in the icount structure, like serial_core.c does. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0533502d258371cab9eb1a51eaf2ec5d5c11f9bb Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:51 2015 +0200 serial: sh-sci: Pass scatterlist to sci_dma_rx_push() Currently sci_dma_rx_push() has to find the active scatterlist itself, but in some cases the caller already knows. Hence let the caller pass the scatterlist, and introduce a helper to find the active DMA request while we're at it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04928b79d2399e6e924f5345bbda28b63751dcb0 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:50 2015 +0200 serial: sh-sci: Fix race condition between RX worker and cleanup During serial port shutdown, the DMA receive worker function may still be called after the receive DMA cleanup function has been called. Fix this race condition between work_fn_rx() and sci_rx_dma_release() by acquiring the port's spinlock in sci_rx_dma_release(). This requires releasing the spinlock in work_fn_rx() before calling (any function that may call) sci_rx_dma_release(). Terminate all active receive DMA descriptors to release them, and to make sure no more completions come in. Do the same in sci_tx_dma_release() for symmetry, although the serial upper layer will no longer submit more data at this point of time. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0907c1004f9bbe5bda0d3d2be46520b729de5c1d Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Fri Aug 21 20:02:49 2015 +0200 serial: sh-sci: Fix exclusion of work_fn_rx and sci_dma_rx_complete There is a problem when the sci_dma_rx_complete() is processed before cancel process of work_fn_rx() completes by rx_timer_fn(). This patch locks work_fn_rx(). Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47aceb927fffa77b0328b6fde846a6b2182dad01 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:48 2015 +0200 serial: sh-sci: Do not resubmit DMA descriptors Resubmission of DMA descriptors is explicitly forbidden by the DMA engine API. Hence pass DMA_CTRL_ACK to dmaengine_prep_slave_sg(), and prepare a new DMA descriptor instead of reusing the old one. Remove sci_port.desc_rx[], as there's no longer a need to access the active descriptor. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 658daa95b6aec9c06e1d8c4b99d89b186e4b2e72 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:47 2015 +0200 serial: sh-sci: Simplify sci_submit_rx() error handling Simplify the error handling in sci_submit_rx() by - Moving it to the end of the function, - Just calling dmaengine_terminate_all() instead of calling async_tx_ack() for all already submitted descriptors. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32f2ce031f41dc244d3fac71e7bd1d4952d7381b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:46 2015 +0200 serial: sh-sci: Stop acknowledging DMA transmit completions As dmaengine_prep_slave_sg() is called with the DMA_CTRL_ACK flag set for DMA transmit requests, there's no need to explicitly acknowledge DMA transmit requests in the DMA transmit completion callback. Hence remove the call to async_tx_ack(), and remove the now unused dma_async_tx_descriptor pointer in the sci_port structure. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 565dd11aa786765458cca2231e7278b46b996051 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:45 2015 +0200 serial: sh-sci: Switch to generic DMA residue handling Convert the SCI driver from the SHDMAE-specific partial DMA transfer handling to the generic dmaengine residual data framework. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e14670c06968554c67b36d05e8c52c36c14671a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:44 2015 +0200 serial: sh-sci: Use DMA submission helpers instead of open-coding Replace open-coded - calls to dma_async_tx_descriptor.tx_submit() by calls to the dmaengine_submit() helper, - dma_cookie_t comparisons by calls to dma_submit_error(). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e301474f15f00b3f2ccde85f6f19b17ec7ee70d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:43 2015 +0200 serial: sh-sci: Fix TX buffer mapping leak The mapped transmit buffer is never unmapped. This leaks quite some mappings, as the mapping is done in uart_ops.startup(), i.e. every time the device is opened. Unmap the buffer on device close. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79904420b7be91d6aa84cbfa293f17545d9d5c49 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:42 2015 +0200 serial: sh-sci: Switch to dma_map_single() for DMA transmission Simplify the DMA transmit code by using dma_map_single() instead of constantly modifying the single-entry scatterlist to match what's currently being transmitted. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 092248aa326794ce758b7a4bb60827b661abafa8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:41 2015 +0200 serial: sh-sci: Use min_t()/max_t() instead of casts When comparing differently sized types, it's better to use min_t()/max_t() than adding casts. Also use "unsigned int" instead of "int", as that's the right type for the length of an SG entry. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e14ba8f8b733840659d79e38758fb2b6c765dc5 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:40 2015 +0200 serial: sh-sci: Use correct device for DMA mapping with IOMMU To function correctly in the presence of an IOMMU, the DMA buffers must be managed using the DMA channel's device instead of the platform device's device. Make sure to free the DMA memory before releasing the channel, not after. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9258020264dfacb8695df181d766fa9a079ab15 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:39 2015 +0200 serial: sh-sci: Handle DMA init failures inside sci_request_dma() Let sci_request_dma() handle failures to initialize DMA itself. This way sci_tx_dma_release() and sci_rx_dma_release() don't have to consider partial initialization, and thus don't need to reset DMA addresses to DMA_ERROR_CODE, which is not 100% portable access architectures. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5835c1d0e30c7d0a48aa36e3a353c7d54ace470 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:38 2015 +0200 serial: sh-sci: Improve comments for DMA timeout calculation Reformat, grammar improvements, use "ms" instead of "msec". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit beb9487b0c18650da16ef088ec859d6e421fade1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:37 2015 +0200 serial: sh-sci: Improve DMA error messages Make the life of the driver developer/debugger easier: - Add __func__ prefix to identical messages, - Add DMA directions to messages, - Add TX failure messages, - Always use "cookie %d" for DMA cookies, - "#%d" is reserved for the DMA cookie/descriptor index. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 908030727ba83b2859097ecdb52b55ea13e354b3 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Fri Aug 21 20:02:36 2015 +0200 serial: sh-sci: Return IRQ_HANDLED when overrun if detected This patch fix an issue that the driver may cause "nobody cared" IRQ when this driver detects the overrun flag only. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0a12a27e834a71a3a21208e2e7e9f7c959def72 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:35 2015 +0200 serial: sh-sci: Remove bogus sci_handle_fifo_overrun() call on (H)SCIF Commit 8b6ff84c2d445a47 ("serial: sh-sci: Fix R-Car SCIF and HSCIF overrun handling") added overrun handling for (H)SCIF using the SCLSR register, but also accidentally added a bogus call to sci_handle_fifo_overrun() in the receive interrupt path. Remove it again. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4205463ce14b2814b31cfa5aa2b31ceda412133a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:34 2015 +0200 serial: sh-sci: Remove useless memory allocation failure printks Printing an error on memory allocation failures is unnecessary. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3184e68868ae17647506531381aa6cd503f1c14 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:33 2015 +0200 serial: sh-sci: Make sci_regmap[] const Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d56a91e8123f8dd51cd374a2f1bfadc437cd2d6a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:32 2015 +0200 serial: sh-sci: Make sci_irq_desc[] const Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f84b6bdcabc49ce0541687a8d875b648e26af560 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:31 2015 +0200 serial: sh-sci: Improve readability of sampling rate configuration Reorder sampling_rate assignment for consistency in all cases of the switch statement. Avoid using the ternary conditional operator to make it more clear that the value is overridden by platform data. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b933bd3200196d247184b26f10472f08b0036d0f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:30 2015 +0200 serial: sh-sci: Drop path in reference to serial_core.c serial_core.c was moved from drivers/serial/ to drivers/tty/serial/ a while ago. Remove the path to make it move-proof. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2944a331b764e65adad1bc374fe456f1e3567b0c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:29 2015 +0200 serial: sh-sci: Use SCSMR_CKS instead of hardcoded literal 3 Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54af5001e1b804f93aa02b1265857f19ad15784f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:28 2015 +0200 serial: sh-sci: Use SCIF_DR instead of hardcoded literal 1 Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5da0f468745bc2dd992f49511bae5183efadfa05 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:27 2015 +0200 serial: sh-sci: Correct SCIF_ERROR_CLEAR for plain SCIF SCIF_ERROR_CLEAR includes SCIFA_ORER, which exists only on SCIFA/SCIFB and SCIF on sh7705/sh7720/sh7721. To fix this: 1. Remove SCIFA_ORER from the definition of SCIF_ERROR_CLEAR, 2. During initialization, store the error clear mask to use, incorporating the overrun bit only if it applies to the SCxSR register. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9efeca613a8fe5281d7c91f5c8c9ea46f2312f6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:26 2015 +0200 serial: sh-sci: Prevent compiler warnings on 64-bit Expressions involving "BIT(...)" create values of type "long", which is 64-bit on 64-bit. Hence "~BIT(...)" no longer fits in 32-bit, which will cause future compiler warnings when assigning to 32-bit variables: drivers/tty/serial/sh-sci.c: In function 'sci_init_single': drivers/tty/serial/sh-sci.h:58:25: warning: large integer implicitly truncated to unsigned type [-Woverflow] #define SCI_ERROR_CLEAR ~(SCI_RESERVED | SCI_PER | SCI_FER | SCI_ORER) ^ drivers/tty/serial/sh-sci.c:2325:27: note: in expansion of macro 'SCI_ERROR_CLEAR' sci_port->error_clear = SCI_ERROR_CLEAR; As these values are (at most) 32-bit register values anyway, cast them to "u32" at the definition level to prevent such compiler warnings. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1b5b43ffb84945cbdc5cbdb993d3195c7e77cbb Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 21 20:02:25 2015 +0200 serial: sh-sci: Replace buggy big #ifdef by runtime logic The #ifdef logic to clear SCxSR bits using RMW on SCIFA/SCIFB and SCIF variants with some SCIFA features (sh7705/SH7720/sh7721) has several drawbacks: - It wasn't updated for newer R-Mobile variants (APE6), - It doesn't correctly handle SoCs with both SCIF and SCIFA/B (e.g. R-Car Gen2, but also legacy sh7723/sh7724), - It doesn't play well with ARM multi-platform kernels: on R-Car Gen2, SCIF/SCIFA/SCIFB/HSCIF were handled differently, depending on whether r8a7740 or sh73a0 support was enabled or not, Replace the #ifdef logic by runtime logic to fix this. SCIFA/SCIFB and SCIF on sh7705/sh7720/sh7721 use RMW to clear error bits, other variants use plain stores, as before. Note that this changes behavior for SCIFA on sh7723/sh7724 (these SoCs have both SCIF and SCIFA), which didn't use RMW before. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a23a1d10bd0c25457d6dfda1b0e754bf8a8e973 Author: Taichi Kageyama <t-kageyama@xxxxxxxxxxxxx> Date: Mon Aug 17 02:45:29 2015 +0000 serial: 8250: Fix autoconfig_irq() to avoid race conditions The following race conditions can happen when a serial port is used as console. Case1: CPU_B is used to detect an interrupt from a serial port, but it can have interrupts disabled during the waiting time. Case2: CPU_B clears UART_IER just after CPU_A sets UART_IER and then a serial port may not make an interrupt. Case3: CPU_A sets UART_IER just after CPU_B clears UART_IER. This is an unexpected behavior for serial8250_console_write(). CPU_A [autoconfig_irq] | CPU_B [serial8250_console_write] ----------------------------|--------------------------------------- | probe_irq_on() | spin_lock_irqsave(&port->lock,) serial_outp(,UART_IER,0x0f) | serial_out(,UART_IER,0) udelay(20); | uart_console_write() probe_irq_off() | | spin_unlock_irqrestore(&port->lock,) Case1 and 2 can make autoconfig_irq() failed. In these cases, the console doesn't work in interrupt mode and "input overrun" (which can make operation mistakes) can happen on some systems. Especially in the Case1, It is known that the problem happens with high rate every boot once it occurs because the boot sequence is always almost same. port mutex makes sure that the autoconfig operation is exclusive of any other concurrent HW access except by the console operation. console lock is required in autoconfig_irq(). Signed-off-by: Taichi Kageyama <t-kageyama@xxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Reviewed-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4b4e3176f4dc1c3bb13aab54982381c5cf10217 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Sep 24 21:18:34 2015 +0200 serial: mpc52xx: add delay after resetting transmitter to fix broken chars This fixes receiving broken characters on the console from an MPC5125 system when systemd comes up which repeatedly opens and shuts down the console device. Trial and error with the needed interval showed that 500 us are good enough most of the time when using 38400 Bd, so I think 1 ms is a good compromise between fixing the issue and not penalize faster setups too much. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b1dd999b6162ea477de94954d96dc2f1fcc330a Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 19 17:48:09 2015 -0400 drivers/tty: make serial 8250_lpc18xx.c Kconfig a tristate The Kconfig currently controlling compilation of this code is: 8250/Kconfig:config SERIAL_8250_LPC18XX 8250/Kconfig: bool "NXP LPC18xx/43xx serial port support" ...meaning that it currently is not being built as a module by anyone. When targetting orphaned modular code in non-modular drivers, this came up. Joachim indicated that the driver was actually meant to be tristate but ended up bool by accident. So here we make it tristate instead of removing the modular code that was essentially orphaned. Suggested-by: Joachim Eastwood <manabian@xxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Acked-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 128a3d0603862ce41da322c19d0cc264625d5206 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 19 17:48:08 2015 -0400 drivers/tty: make serial/mpsc.c driver explicitly non-modular The Kconfig for this driver is currently: config SERIAL_MPSC bool "Marvell MPSC serial port 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. 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 4b07dd3df3e0928d2abaed32074715723d461744 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 19 17:48:07 2015 -0400 drivers/tty: make hvc_console.c explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/tty/hvc/Kconfig:config HVC_DRIVER drivers/tty/hvc/Kconfig: bool ...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, even though someone bothered to comment that the code was not used. Unlike other changes, this driver binds in w/o using module_init, so we dont have init ordering concerns with this commit. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bce6f6434a14d3bb444483476885f0d2a32329e Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 19 17:48:06 2015 -0400 drivers/tty: make sysrq.c slightly more explicitly non-modular The Kconfig currently controlling compilation of this code is: config.debug:config MAGIC_SYSRQ bool "Magic SysRq key" ...meaning that it currently is not being built as a module by anyone. Lets remove the traces of modularity we can so that when reading the driver there is less 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 delete the module.h include since other parts of the file are using content from there. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7154988fec43fe2ed986f3b7dd5b43171fab64d6 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Wed Aug 19 17:48:05 2015 -0400 drivers/tty: make pty.c slightly more explicitly non-modular The Kconfig currently controlling compilation of this code is: drivers/tty/Kconfig:config LEGACY_PTYS drivers/tty/Kconfig: bool "Legacy (BSD) PTY support" ...and: drivers/tty/Kconfig:config UNIX98_PTYS drivers/tty/Kconfig: bool "Unix98 PTY support" if EXPERT combined with this: obj-$(CONFIG_LEGACY_PTYS) += pty.o obj-$(CONFIG_UNIX98_PTYS) += pty.o ...meaning that it currently is not being built as a module by anyone. Lets remove the traces of modularity we can so that when reading the driver there is less 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 delete the module.h include since other parts of the file are using content from there. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4fda3a0427526bcbca4e2b6528bc95a6fbc15ed Author: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Date: Sun Sep 27 16:25:56 2015 +0200 serial: don't register CIR serial ports CIR type serial ports aren't real serial ports. This is just a way to prevent legacy 8250 serial driver from probing and eventually binding some resources. Since in current state such ports aren't providing any real functionality and it is not possible to change their type via setserial/ioctl(TIOCSSERIAL) (due to UPF_FIXED_PORT flag set on them) it is simpler and cleaner to not register them at all with serial core. Print a short message in this case so it is known to user what has happened. This way checks for PORT_8250_CIR in serial port callbacks can be removed too, since they won't ever be called. Signed-off-by: Maciej Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 658e2ebce5213897665f8488f951364a5eb5d96b Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Aug 14 18:01:03 2015 +0200 serial: 8250_omap: check how many bytes were injected The function tty_insert_flip_string() returns an int and as such it might fail. So the result is that I kindly asked to insert 48 bytes and the function only insterted 32. I have no idea what to do with the remaining 16 so I think dropping them is the only option. I also increase the buf_overrun counter so userpace has a clue that we lost bytes. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Tested-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 425a570e1bfaeadaf6558df1e14e1735d5a76c10 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Oct 4 09:17:03 2015 +0900 ALSA: bebob: support Firewire I/O card of Mackie Onyx 1220/1620/1640 Current ALSA BeBoB drivers has an entry for this model, while the value of vendor ID seems to be wrong according to an user's report. The vendor had released no updated firmware, thus we can judge that this model had not changed the content of its config ROM. It's reasonable to fix the ID according to the report. $ ./linux-firewire-utils/src/crpp < /sys/bus/firewire/devices/fw1/config_rom ROM header and bus information block ----------------------------------------------------------------- 400 0425720f bus_info_length 4, crc_length 37, crc 29199 404 31333934 bus_name "1394" 408 f0646122 irmc 1, cmc 1, isc 1, bmc 1, pmc 0, cyc_clk_acc 100, max_rec 6 (128), max_rom 1, gen 2, spd 2 (S400) 40c 00000ff2 company_id 00000f | 410 00004697 device_id f200004697 | EUI-64 00000ff200004697 root directory ----------------------------------------------------------------- 414 000859be directory_length 8, crc 22974 418 04000082 hardware version 41c 0c0083c0 node capabilities per IEEE 1394 420 03000ff2 vendor 424 8100000a --> descriptor leaf at 44c 428 17010065 model 42c 8100000d --> descriptor leaf at 460 430 13000910 version 434 d1000001 --> unit directory at 438 unit directory at 438 ----------------------------------------------------------------- 438 0004ccec directory_length 4, crc 52460 43c 1200a02d specifier id: 1394 TA 440 13010001 version: AV/C 444 17010065 model 448 8100000d --> descriptor leaf at 47c descriptor leaf at 44c ----------------------------------------------------------------- 44c 0004152a leaf_length 4, crc 5418 450 00000000 textual descriptor 454 00000000 minimal ASCII 458 4d61636b "Mack" 45c 69650000 "ie" descriptor leaf at 460 ----------------------------------------------------------------- 460 000612b5 leaf_length 6, crc 4789 464 00000000 textual descriptor 468 00000000 minimal ASCII 46c 4f6e7978 "Onyx" 470 20466972 " Fir" 474 65776972 "ewir" 478 65000000 "e" descriptor leaf at 47c ----------------------------------------------------------------- 47c 000612b5 leaf_length 6, crc 4789 480 00000000 textual descriptor 484 00000000 minimal ASCII 488 4f6e7978 "Onyx" 48c 20466972 " Fir" 490 65776972 "ewir" 494 65000000 "e" $ cat /proc/asound/card3/firewire/firmware Manufacturer: bridgeCo Protocol Ver: 1 Build Ver: 0 GUID: 0x00000FF200004697 Model ID: 0x82 Model Rev: 1 Firmware Date: 20040430 Firmware Time: 131527 Firmware ID: 0x10065 Firmware Ver: 2320 Base Addr: 0x20080000 Max Size: 1572864 Loader Date: 20040430 Loader Time: 112036 Reported-by: Andrzej Gansiniec <andrzej@xxxxxxxxxxxx> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 43e53407f6805044bd13e8bf837e169d38ad0458 Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:37 2015 +0200 Add tsys01 meas-spec driver support Support for TSYS01 temperature sensor Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d574a87cc311cb01486b8947a9133814a79e2e6e Author: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:13:36 2015 +0200 Add meas-spec sensors common part Measurement specialties drivers common part. These functions are used by further drivers in the patchset: TSYS01, TSYS02D, HTU21, MS5637, MS8607 Signed-off-by: Ludovic Tancerel <ludovic.tancerel@xxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0bc2763f569ff9533a8222bcb884ef0e22569a72 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sat Oct 3 11:00:14 2015 +0800 RDMA/amso1100: use offset_in_page macro Use offset_in_page macro instead of (addr & ~PAGE_MASK). Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1ab75dd6212992cdc0803315f29fdefc45735f1 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sat Oct 3 10:43:11 2015 +0800 IB/ipath: use offset_in_page macro Use offset_in_page macro instead of (addr & ~PAGE_MASK). Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e260e404ba45422e816eb3af01687870097745ac Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sat Oct 3 10:34:59 2015 +0800 IB/hfi1: use offset_in_page macro Use offset_in_page macro instead of (addr & ~PAGE_MASK). Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a81fc20eadcf193a4517fd5ee862c3d465aceb3 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 6 14:25:35 2015 +0900 android, lmk: Send SIGKILL before setting TIF_MEMDIE. It was observed that setting TIF_MEMDIE before sending SIGKILL at oom_kill_process() allows memory reserves to be depleted by allocations which are not needed for terminating the OOM victim. This patch reverts commit 6bc2b856bb7c ("staging: android: lowmemorykiller: set TIF_MEMDIE before send kill sig"), for oom_kill_process() was updated to send SIGKILL before setting TIF_MEMDIE. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b76968db6869666c9b30ea99894e9dd88a0ab13 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 28 12:31:10 2015 -0700 spmi: pmic-arb: u8 <= 0xff is always true Silences this static checker warning: drivers/spmi/spmi-pmic-arb.c:363 pmic_arb_write_cmd() warn: always true condition '(opc <= 255) => (0-255 <= 255)' Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5144796db928b1f7a074c4be3575c50951c9569 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 28 12:21:42 2015 -0700 spmi: pmic-arb: Don't byte swap when reading/writing FIFO We don't want to swap bytes that we're reading and writing to the FIFOs when we're running on a big-endian CPU. Doing so causes problems like where the qcom-spmi-iadc driver can't detect the type of device because the bytes are all mixed up. Use the raw IO accessors for these API instead, and collapse pmic_arb_base_read() into the byte reading API so that we aren't tempted to read non-FIFO data like commands with that function. Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48e3d668b7902cca3c61e9e2098e7f76b5646c28 Author: Philip P. Moltmann <moltmann@xxxxxxxxxx> Date: Thu Aug 6 15:18:01 2015 -0700 VMware balloon: Enable notification via VMCI Get notified immediately when a balloon target is set, instead of waiting for up to one second. The up-to 1 second gap could be long enough to cause swapping inside of the VM that receives the VM. Acked-by: Andy King <acking@xxxxxxxxxx> Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Tested-by: Siva Sankar Reddy B <sankars@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7568c130d0d0ff1fc5b364fc879b91f108a3d54 Author: Philip P. Moltmann <moltmann@xxxxxxxxxx> Date: Thu Aug 6 15:18:01 2015 -0700 VMware balloon: Treat init like reset Unify the behavior of the first start of the balloon and a reset. Also on unload, declare that the balloon driver does not have any capabilities anymore. Acked-by: Andy King <acking@xxxxxxxxxx> Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 365bd7ef7ec8eb9c2e081cd970a5cdfa237dc243 Author: Philip P. Moltmann <moltmann@xxxxxxxxxx> Date: Thu Aug 6 15:18:01 2015 -0700 VMware balloon: Support 2m page ballooning. 2m ballooning significantly reduces the hypervisor side (and guest side) overhead of ballooning and unballooning. hypervisor only: balloon unballoon 4 KB 2 GB/s 2.6 GB/s 2 MB 54 GB/s 767 GB/s Use 2 MB pages as the hypervisor is alwys 64bit and 2 MB is the smallest supported super-page size. The code has to run on older versions of ESX and old balloon drivers run on newer version of ESX. Hence match the capabilities with the host before 2m page ballooning could be enabled. Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33d268ed00190e8bc642508f9eb2f3f9ac0a1569 Author: Philip P. Moltmann <moltmann@xxxxxxxxxx> Date: Thu Aug 6 15:18:01 2015 -0700 VMware balloon: Do not limit the amount of frees and allocations in non-sleep mode. When VMware's hypervisor requests a VM to reclaim memory this is preferrably done via ballooning. If the balloon driver does not return memory fast enough, more drastic methods, such as hypervisor-level swapping are needed. These other methods cause performance issues, e.g. hypervisor-level swapping requires the hypervisor to swap in a page syncronously while the virtual CPU is blocked. Hence it is in the interest of the VM to balloon memory as fast as possible. The problem with doing this is that the VM might end up doing nothing else than ballooning and the user might notice that the VM is stalled, esp. when the VM has only a single virtual CPU. This is less of a problem if the VM and the hypervisor perform balloon operations faster. Also the balloon driver yields regularly, hence on a single virtual CPU the Linux scheduler should be able to properly time-slice between ballooning and other tasks. Testing Done: quickly ballooned a lot of pages while wathing if there are any perceived hickups (periods of non-responsiveness) in the execution of the linux VM. No such hickups were seen. Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b36e89da86022c04fa5e7c32f0d55c1ba23c1ab8 Author: Philip P. Moltmann <moltmann@xxxxxxxxxx> Date: Thu Aug 6 15:18:00 2015 -0700 VMware balloon: Show capabilities of balloon and resulting capabilities in the debug-fs node. This helps with debugging vmw_balloon behavior, as it is clear what functionality is enabled. Acked-by: Andy King <acking@xxxxxxxxxx> Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4670de4d7fe9532c8c7c7fe2d0c297b319086854 Author: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Date: Thu Aug 6 15:17:59 2015 -0700 VMware balloon: Update balloon target on each lock/unlock. Instead of waiting for the next GET_TARGET command, we can react faster by exploiting the fact that each hypervisor call also returns the balloon target. 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 f220a80f0c2e790e445ee6b7d90759292b4c3a66 Author: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Date: Thu Aug 6 15:17:58 2015 -0700 VMware balloon: add batching to the vmw_balloon. Introduce a new capability to the driver that allow sending 512 pages in one hypervisor call. This reduce the cost of the driver when reclaiming memory. Signed-off-by: Xavier Deguillard <xdeguillard@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dtor@xxxxxxxxxx> Signed-off-by: Philip P. Moltmann <moltmann@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d4896a507d7e169c62468c6f44ace368dc7880b Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Sep 29 23:33:56 2015 -0700 misc: genwqe: fix a comment typo Just fix a typo in the code comment. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9e5fe58265d2af5472ea49ec82428e53ac00431 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 21 15:48:19 2015 +0530 misc: sgi-gru: fix return of error If kzalloc() fails then gms is NULL and we are returning NULL, but the functions which called this function gru_register_mmu_notifier() are not expecting NULL as the return. They are expecting either a valid pointer or the error code in ERR_PTR. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dcf9cbfa17f03a4ecda4310ab76138ce9173555 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 15:48:18 2015 +0530 misc: sgi-gru: gruhandles.c: Remove unused function Remove the function tfh_restart() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b74afe5892ddcc46281a9038563afad78afb48fb Author: Manuel Schölling <manuel.schoelling@xxxxxx> Date: Mon Sep 21 15:48:17 2015 +0530 misc: sgi-gru: use time_before() To be future-proof and for better readability the time comparisons are modified to use time_before() instead of plain, error-prone math. Signed-off-by: Manuel Schölling <manuel.schoelling@xxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d18243293a48cddf0a91d19b3da18551e18419b5 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:16:25 2015 -0700 misc: mic: SCIF RMA nodeqp and minor miscellaneous changes This patch adds the SCIF kernel node QP control messages required to enable SCIF RMAs. Examples of such node QP control messages include registration, unregistration, remote memory allocation requests, remote memory unmap and SCIF remote fence requests. The patch also updates the SCIF driver with minor changes required to enable SCIF RMAs by adding the new files to the build, initializing RMA specific information during SCIF endpoint creation, reserving SCIF DMA channels, initializing SCIF RMA specific global data structures, adding the IOCTL hooks required for SCIF RMAs and updating RMA specific debugfs hooks. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 564c8d8dfc39638978ac37d37f61733240f31a36 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:16:19 2015 -0700 misc: mic: SCIF fence This patch implements the fence APIs required to synchronize DMAs. SCIF provides an interface to return a "mark" for all DMAs programmed at the instant the API was called. Users can then "wait" on the mark provided previously by blocking inside the kernel. Upon receipt of a DMA completion interrupt the waiting thread is woken up. There is also an interface to signal DMA completion by polling for a location to be updated via a "signal" cookie to avoid the interrupt overhead in the mark/wait interface. SCIF allows programming fences on both the local and the remote node for both the mark/wait or the fence signal APIs. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cc31cd27752e5e92f968e39095c4ea9d78c758e Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:16:04 2015 -0700 misc: mic: SCIF DMA and CPU copy interface SCIF allows users to read from or write to registered remote memory via CPU copies or DMA. The API verifies that both local and remote windows are valid before initiating the CPU or DMA transfers. SCIF has optimized algorithms for handling byte aligned as well as cache line aligned DMA engines. A registration cache is maintained to avoid the overhead of pinning pages repeatedly if buffers are reused. The registration cache is invalidated upon receipt of MMU notifier callbacks. SCIF windows are destroyed and the pages are unpinned only once all prior DMAs initiated using that window are drained. Users can request synchronous DMA operations as well as tail byte ordering if required. CPU copies are always performed synchronously. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1a2d865e78d00a4b6d364a8e341b6ebe4f10228 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:15:55 2015 -0700 misc: mic: SCIF remote memory map/unmap interface This patch implements the SCIF mmap/munmap interface. A similar capability is provided to kernel clients via the scif_get_pages()/scif_put_pages() APIs. The SCIF mmap interface queries to check if a window is valid and then remaps the local virtual address to the remote physical pages. These mappings are subsequently destroyed upon receipt of the VMA close operation or scif_get_pages(). This functionality allows SCIF users to directly access remote memory without any driver interaction once the mappings are created thereby providing bare-metal PCIe latency. These mappings are zapped to avoid RMA accesses from user space, if a Coprocessor is reset. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 168ef015ca053e34c1d66c61c3c3f2cbaadbb20a Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:15:44 2015 -0700 misc: mic: SCIF RMA list operations This patch adds the implementation for operations performed on the list of SCIF windows. Examples of such operations includes adding the windows to the list of registered (or cached) windows, querying the list of self or remote windows and unregistering windows. The query operation is used by SCIF APIs which initiate DMAs, CPU copies or fences to ensure that a window remains valid during a transfer. Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba612aa8b487bdf345602a23315c30a181bf6406 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:15:29 2015 -0700 misc: mic: SCIF memory registration and unregistration This patch implements the SCIF APIs required to pin and unpin pages. SCIF registration locks down the pages. It then sends a remote window allocation request to the peer. Once the peer has allocated memory, the local SCIF endpoint copies the pinned page information to the peer and notifies the peer once the copy has complete. The peer upon receipt of the registration notification adds the new remote window to its list. At this point the window page information is available on both self and remote nodes so that they can start performing SCIF DMAs, CPU copies and fences. The unregistration API tears down the registration at both self and remote nodes. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3ae6175dd371fcf5855452257b30c492f59054a Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:15:15 2015 -0700 misc: mic: SCIF RMA header file This patch adds the internal data structures required to perform SCIF RMAs. The data structures required to maintain per SCIF endpoint, RMA information are contained in scif_endpt_rma_info. scif_pinned_pages describes a set of SCIF pinned pages maintained locally. The scif_window is a data structure which contains all the fields required to describe a SCIF registered window on self and remote nodes. It contains an offset which is used as a key to perform SCIF DMAs and CPU copies between self and remote registered windows. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a44f2630d78bfafc8eb5ab7d8b7b8cd4642ba749 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:15:03 2015 -0700 misc: mic: SCIF RMA header file and IOCTL changes This patch updates the SCIF header file and IOCTL interface with the changes required to support RMAs. APIs added include the ability to pin pages and register those pages with SCIF. SCIF kernel clients can also add references to remote registered pages and access them via the CPU. The user space IOCTL interface has been updated to enable SCIF registration, RDMA/CPU copies and fence APIs for RDMA synchronization. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4a66c20448257fbb8932827e5f766b74d1acbf0 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:14:30 2015 -0700 misc: mic: Update MIC host daemon with COSM changes This patch updates the MIC host daemon to work with corresponding changes in COSM. Other MIC daemon fixes, cleanups and enhancements as are also rolled into this patch. Changes to MIC sysfs ABI which go into effect with this patch are also documented. Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d411e79391092925457d89b77d7cd3038ba6d04b Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:13:54 2015 -0700 misc: mic: Remove COSM functionality from the MIC card driver Since card side COSM functionality, to trigger MIC device shutdowns and communicate shutdown status to the host, is now moved into a separate COSM client driver, this patch removes this functionality from the base MIC card driver. The mic_bus driver is also updated to use the device index provided by COSM rather than maintain its own device index. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1da2b3eeef3667dbb92749f269e81757a6a79a16 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:13:26 2015 -0700 misc: mic: Remove COSM functionality from the MIC host driver Since COSM functionality is now moved into a separate COSM driver drivers, this patch removes this functionality from the base MIC host driver. The MIC host driver now implements cosm_hw_ops and registers a COSM device which allows the COSM driver to trigger boot/shutdown/reset of the MIC devices via the cosm_hw_ops. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cb46d9bffd949244f4ac784c94f4caae1ac206c Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:13:03 2015 -0700 misc: mic: COSM client driver The COSM client driver running on the MIC cards is implemented as a kernel mode SCIF client. It responds to a "shutdown" message from the host by triggering a card shutdown and also communicates the shutdown or reboot status back the host. It is also responsible for syncing the card time to that of the host. Because SCIF messaging cannot be used in a panic context, the COSM client driver also periodically sends a heartbeat SCIF message to the host thereby enabling the host to detect card crashes. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6727b613573f9902e6f0fc60abf6289f5e7f4593 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:12:48 2015 -0700 misc: mic: COSM SCIF server The COSM driver communicates with the MIC cards over SCIF. A SCIF "server" listens for incoming connections from "client" MIC cards as they boot. After the connection is accepted a separate work item is scheduled for each MIC card. This work item normally stays blocked in scif_poll but wakes up to process messages from the card. The SCIF connection between the host and card COSM components is used to (a) send the command to shut down the card (b) receive shutdown status back from the card upon completion of shutdown (c) receive periodic heartbeat messages to detect card crashes (d) send host time to the card to enable the card to sync its time to the host. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8487a26b285feea2cb210efec42c49dce9ae708 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:12:27 2015 -0700 misc: mic: Coprocessor State Management (COSM) driver The COSM driver allows boot, shutdown and reset of Intel MIC devices via sysfs. This functionality was previously present in the Intel MIC host driver but has now been taken out into a separate driver so that it can be shared between multiple generations of Intel MIC products. The sysfs kernel ABI used by the COSM driver is the same as that defined originally for the MIC host driver in Documentation/ABI/testing/sysfs-class-mic.txt. The COSM driver also contains support for dumping the MIC card log_buf and doing a "force reset" for the card via debugfs. The OSPM support present in the MIC host driver has now largely been moved to user space and only a small required OSPM functionality is now present in the driver. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3283d831a71d53234fcc279e0d9ed262cef94d5 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:12:03 2015 -0700 misc: mic: MIC COSM bus The MIC COSM bus allows the co-processor state management (COSM) functionality to be shared between multiple generations of Intel MIC products. The COSM driver registers itself on the COSM bus. The base PCIe drivers implement the bus ops and register COSM devices on the bus, resulting in the COSM driver being probed with the COSM devices. COSM bus ops, e.g. start, stop, ready, reset, therefore abstract out common functionality from its specific implementation for individual generations of MIC products. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3d912eb7386b7512f131b34407978cecccb3703 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:11:15 2015 -0700 misc: mic: Add support for kernel mode SCIF clients Add support for registration/de-registration of kernel mode SCIF clients. SCIF clients are probed with new and existing SCIF peer devices. Similarly the client remove method is called when SCIF peer devices are removed. Changes to SCIF peer device framework necessitated by supporting kernel mode SCIF clients are also included in this patch. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7f944411b4a628443f84a542858a8c78847bb48 Author: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Date: Tue Sep 29 18:10:44 2015 -0700 misc: mic: SCIF poll SCIF poll allows both user and kernel mode clients to wait on events on a SCIF endpoint. These events include availability of space or data in the SCIF ring buffer, availability of connection requests on a listening endpoint and completion of connections when using async connects. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff39988abd70bcd1b14a4c81f2d102e67b8db580 Author: Siva Yerramreddy <yshivakrishna@xxxxxxxxx> Date: Tue Sep 29 18:09:37 2015 -0700 dma: Add support to program MIC x100 status descriptiors The MIC X100 DMA engine has a special status descriptor which writes an 8 byte value to a destination location. This is used to signal completion of all DMA descriptors prior to the status descriptor. This patch add a new DMA engine API which enables updating a destination address with an 8 byte immediate data value. Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Lawrynowicz, Jacek <jacek.lawrynowicz@xxxxxxxxx> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Siva Yerramreddy <yshivakrishna@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 353649e5da909070146ca729acd38726bf2059c5 Author: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Date: Tue Sep 29 18:09:05 2015 -0700 iommu: Allow iova to be used without requiring IOMMU_SUPPORT iova is a library which can be built without IOMMU_SUPPORT Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 234bc0d6677fb1deaa3b104361866849cbb513bb Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Tue Sep 29 18:08:26 2015 -0700 iommu: Make the iova library a module The iova library has use outside the intel-iommu driver, thus make it a module. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11e33955b9abb41b99d75cdf8cd385d705b95ace Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Tue Sep 29 18:07:30 2015 -0700 iommu: iova: Export symbols Use EXPORT_SYMBOL_GPL() to export the iova library symbols. The symbols include: init_iova_domain(); iova_cache_get(); iova_cache_put(); iova_cache_init(); alloc_iova(); find_iova(); __free_iova(); free_iova(); put_iova_domain(); reserve_iova(); copy_reserved_iova(); Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09e8b485ee4212f78bf27c8d727845919f85cf1f Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Tue Sep 29 18:07:02 2015 -0700 iommu: iova: Move iova cache management to the iova library This is necessary to separate intel-iommu from the iova library. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19f7767e297f81726e0bd7bf3729178c41b94079 Author: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 18:23:50 2015 +0200 misc/genwqe: get rid of atomic allocations we received reports of failed allocations in genwqe code: [ 733.550955] genwqe_gzip: page allocation failure: order:1, mode:0x20 [ 733.550964] CPU: 2 PID: 1846 Comm: genwqe_gzip Not tainted 4.3.0-rc3-00042-g3225031 #78 [ 733.550968] 000000002782b830 000000002782b8c0 0000000000000002 0000000000000000 000000002782b960 000000002782b8d8 000000002782b8d8 00000000001134a0 0000000000000000 0000000000892b2a 0000000000871d0a 000000000000000b 000000002782b920 000000002782b8c0 0000000000000000 0000000000000000 0000000000000000 00000000001134a0 000000002782b8c0 000000002782b920 [ 733.551003] Call Trace: [ 733.551013] ([<0000000000113388>] show_trace+0xf8/0x158) [ 733.551018] [<0000000000113452>] show_stack+0x6a/0xe8 [ 733.551024] [<00000000004611d4>] dump_stack+0x7c/0xd8 [ 733.551031] [<000000000024dc22>] warn_alloc_failed+0xda/0x150 [ 733.551036] [<000000000025268e>] __alloc_pages_nodemask+0x94e/0xbc0 [ 733.551041] [<000000000012bcd8>] s390_dma_alloc+0x70/0x1a0 [ 733.551054] [<000003ff804d8e8c>] __genwqe_alloc_consistent+0x84/0xd0 [genwqe_card] [ 733.551063] [<000003ff804d90c2>] genwqe_alloc_sync_sgl+0x13a/0x328 [genwqe_card] [ 733.551066] [<000003ff804d41a0>] do_execute_ddcb+0x1f8/0x388 [genwqe_card] [ 733.551069] [<000003ff804d48c8>] genwqe_ioctl+0x598/0xd50 [genwqe_card] [ 733.551072] [<00000000002cc90c>] do_vfs_ioctl+0x3f4/0x590 [ 733.551074] [<00000000002ccb46>] SyS_ioctl+0x9e/0xb0 [ 733.551078] [<00000000006c8166>] system_call+0xd6/0x258 [ 733.551080] [<000003fffd25819a>] 0x3fffd25819a [ 733.551082] no locks held by genwqe_gzip/1846. This specific allocation and some others in genwqe are unnecessary flagged as atomic. All of genwqe's atomic allocations happen in a context where it's allowed to sleep. Change these to use GFP_KERNEL. Signed-off-by: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Acked-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b1eb1450269cadfe992465db9941fc42f3bc688 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Fri Sep 18 12:32:13 2015 +0900 misc: hpilo: Change e-mail address from hp.com to hpe.com This patch changes maintainer's email address from hp.com to hpe.com in hpilo.c. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: David Altobelli <david.altobelli@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a56f329c719d296f6b721d0ff10a6048fa94555 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Fri Sep 18 12:32:12 2015 +0900 misc: hpilo: Add min and max value of module parameter in description This patch add minimum and maximum value of module parameter max_ccb in hpilo.c. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edce5e6f33a365c879b453286191bf397cc5efb4 Author: Michal Hocko <mhocko@xxxxxxxx> Date: Mon Sep 7 09:21:24 2015 +0200 uio: fix false positive __might_sleep warning splat Andy has reported a __might_sleep warning [ 5174.883617] WARNING: CPU: 0 PID: 1532 at /home/agrover/git/kernel/kernel/sched/core.c:7389 __might_sleep+0x7d/0x90() [ 5174.884407] do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffffa02a5821>] uio_read+0x91/0x170 [uio] [ 5174.885198] Modules linked in: tcm_loop target_core_user uio target_core_pscsi target_core_file target_core_iblock iscsi_target_mod target_core_mod uinput fuse nfsv3 nfs_acl nfs lockd grace fscache sunrpc microcode i2c_piix4 virtio_balloon i2c_core xfs libcrc32c crc32c_intel virtio_net virtio_blk [ 5174.887351] CPU: 0 PID: 1532 Comm: tcmu-runner Not tainted 4.2.0-rc7+ [ 5174.887853] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.8.1-20150318_183358- 04/01/2014 [ 5174.888633] ffffffff81a3b870 ffff880045393ca8 ffffffff817afaae 0000000000000000 [ 5174.889224] ffff880045393cf8 ffff880045393ce8 ffffffff8109a846 ffff880045393cd8 [ 5174.889793] ffffffffa02a7150 00000000000002dc 0000000000000000 ffff880045008000 [ 5174.890375] Call Trace: [ 5174.890562] [<ffffffff817afaae>] dump_stack+0x4c/0x65 [ 5174.890938] [<ffffffff8109a846>] warn_slowpath_common+0x86/0xc0 [ 5174.891388] [<ffffffff8109a8c6>] warn_slowpath_fmt+0x46/0x50 [ 5174.891808] [<ffffffffa02a5821>] ? uio_read+0x91/0x170 [uio] [ 5174.892237] [<ffffffffa02a5821>] ? uio_read+0x91/0x170 [uio] [ 5174.892653] [<ffffffff810c584d>] __might_sleep+0x7d/0x90 [ 5174.893055] [<ffffffff811ea023>] __might_fault+0x43/0xa0 [ 5174.893448] [<ffffffff817b31ce>] ? schedule+0x3e/0x90 [ 5174.893820] [<ffffffffa02a58c2>] uio_read+0x132/0x170 [uio] [ 5174.894240] [<ffffffff810cbb80>] ? wake_up_q+0x70/0x70 [ 5174.894620] [<ffffffff81236168>] __vfs_read+0x28/0xe0 [ 5174.894993] [<ffffffff81353233>] ? security_file_permission+0xa3/0xc0 [ 5174.895541] [<ffffffff8123678f>] ? rw_verify_area+0x4f/0xf0 [ 5174.896006] [<ffffffff812368ba>] vfs_read+0x8a/0x140 [ 5174.896391] [<ffffffff817b28f5>] ? __schedule+0x425/0xcc0 [ 5174.896788] [<ffffffff812375d9>] SyS_read+0x49/0xb0 The warning is a false positive because uio_read doesn't depent on TASK_INTERRUPTIBLE after copy_to_user so it is safe to silence the warning by an explicit setting the state to TASK_RUNNING in the path which might call into TASK_RUNNING. Reported-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0049ef9c8d44e46d042e463fb74e120efe7640f2 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:08:48 2015 +0200 uio: uio_fsl_elbc_gpcm: 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e532f7925f1758369c7963297baceac3cbaefc1 Author: kbuild test robot <lkp@xxxxxxxxx> Date: Wed Sep 30 21:46:06 2015 +0800 nvmem: rockchip_efuse_regmap_config can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03a69568e07e1150e1cfdb862892798f88dafd17 Author: ZhengShunQian <zhengsq@xxxxxxxxxxxxxx> Date: Wed Sep 30 13:56:44 2015 +0100 nvmem: Adding bindings for rockchip-efuse There are some SoC specified values store in eFuse, such as the cpu_leakage and cpu_version, this driver can expose these values to /sys base on nvmem. Signed-off-by: Caesar Wang <caesar.wang@xxxxxxxxxxxxxx> Signed-off-by: ZhengShunQian <zhengsq@xxxxxxxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit faf25a9089fc9bdc277b30dbdef8ea7ad7c9083b Author: ZhengShunQian <zhengsq@xxxxxxxxxxxxxx> Date: Wed Sep 30 13:56:36 2015 +0100 nvmem: rockchip-efuse: describe the usage of eFuse This patch add the bindings document of rockchip eFuse driver. Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Cc: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: ZhengShunQian <zhengsq@xxxxxxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c01e9a11ab6f3096a54574c3224d8732a374f135 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Wed Sep 30 13:56:27 2015 +0100 nvmem: add driver for ocotp in i.MX23 and i.MX28 This patch brings read-only support for the On-Chip OTP cells in the i.MX23 and i.MX28 processor. The driver implements the new NVMEM provider API. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb86de91c2a48e320bfa3767802d9a1fb204a230 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Wed Sep 30 13:56:11 2015 +0100 nvmem: add binding for mxs-ocotp This patch adds the devicetree bindings for the Freescale MXS On Chip OTP driver. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3edba6b47e4265948db3a77a0137157c033d69e2 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Sep 30 13:55:47 2015 +0100 nvmem: imx-ocotp: Add i.MX6 OCOTP driver This driver handles the i.MX On-Chip OTP Controller found in i.MX6Q/D, i.MX6S/DL, i.MX6SL, and i.MX6SX SoCs. Currently it just returns the values stored in the shadow registers. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5380a9a6acd990833f76c52c1327a289d09d88aa Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Sep 30 13:55:17 2015 +0100 nvmem: Add i.MX6 OCOTP device tree binding documentation This patch documents the i.MX6 OCOTP device tree binding. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22dbdb7cbf7214befd3a449ba7959c8cf4038e6c Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Wed Sep 30 13:54:59 2015 +0100 nvmem: Add Vybrid OCOTP support The patch adds support for the On Chip One Time Programmable Peripheral (OCOTP) on the Vybrid platform. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6230699469523337d65bb5e2f47279dfcf3eea17 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Wed Sep 30 13:54:44 2015 +0100 nvmem: Add DT binding documentation for Vybrid OCOTP driver Add the devicetree bindings for the Freescale Vybrid On-Chip OTP driver. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa40ae34441286b2cb595468ef781e24573e9e7d Author: Gabriel Somlo <somlo@xxxxxxx> Date: Mon Aug 10 15:51:43 2015 -0400 kobject: move EXPORT_SYMBOL() macros next to corresponding definitions Move EXPORT_SYMBOL() macros in kobject.c from the end of the file next to the function definitions to which they belong. Signed-off-by: Gabriel Somlo <somlo@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7025709e29aded887becdaf4a81072ef1f475bf Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Wed Sep 2 15:40:02 2015 +0200 kobject: explain what kobject's sd field is (More) unclear, especially name-wise, after sysfs_dirent became kernfs_node. Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 398dc4ad52022c3d585908544b936bdf73640727 Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Mon Sep 7 19:03:15 2015 +0200 debugfs: document that debugfs_remove*() accepts NULL and error values According to commit a59d6293e537 ("debugfs: change parameter check in debugfs_remove() functions"), this is meant to make cleanup easier for callers. In that case it ought to be documented. Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 621a5f7ad9cd1ce7933f1d302067cbd58354173c Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Sep 26 15:04:07 2015 -0700 debugfs: Pass bool pointer to debugfs_create_bool() Its a bit odd that debugfs_create_bool() takes 'u32 *' as an argument, when all it needs is a boolean pointer. It would be better to update this API to make it accept 'bool *' instead, as that will make it more consistent and often more convenient. Over that bool takes just a byte. That required updates to all user sites as well, in the same commit updating the API. regmap core was also using debugfs_{read|write}_file_bool(), directly and variable types were updated for that to be bool as well. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e58f752a6502b43e039fd7df2c7c5cde8dde437 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Sat Sep 26 15:04:06 2015 -0700 ACPI / EC: Fix broken 64bit big-endian users of 'global_lock' global_lock is defined as an unsigned long and accessing only its lower 32 bits from sysfs is incorrect, as we need to consider other 32 bits for big endian 64-bit systems. There are no such platforms yet, but the code needs to be robust for such a case. Fix that by changing type of 'global_lock' to u32. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cc95cd81bca06698e64b4189a34cb57ec941d0d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 14:58:01 2015 +0530 Staging: lustre: obdclass: Remove unused function obd_export_nid2str Remove obd_export_nid2str as it is defined but not used anymore. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5119dd1e3f7e84073dea4d53322f2fd99f0d0d8b Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Tue Sep 29 18:21:19 2015 +0900 usb: renesas_usbhs: Add support for R-Car H3 This patch adds a compatible string to support for R-Car H3. Since the HS-USB controller of R-Car H3 is almost the same specification with R-Car Gen2 (these have 16 pipes and usb-dmac), this patch sets the "type" of renesas_usbhs_driver_param to USBHS_TYPE_RCAR_GEN2. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f975c5cdb53c1cfef18c28aaae8385e5d16bc104 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Tue Sep 29 18:21:18 2015 +0900 usb: renesas_usbhs: fix build warning if 64-bit architecture This patch fixes the following warning if 64-bit architecture environment: ./drivers/usb/renesas_usbhs/common.c:496:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] dparam->type = of_id ? (u32)of_id->data : 0; Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 635e664a6b4d4b9c12f507045d156ea419b62dff Author: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Date: Mon Sep 21 11:30:45 2015 +0200 usbip: vhci_hcd: at unlink, return -EIDRM if vhci_rx took the urb In a situation where the urb is about to be returned or was never there, we should return -EIDRM (as per usb_hcd_check_unlink_urb). This is exactly the situation when the urb is picked up by vhci_rx before we access priv. Return -EIDRM rather than 0 when this happens. Signed-off-by: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03b0a52822fec8fba351fd472f3adda6fd760e77 Author: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Date: Mon Sep 21 11:30:44 2015 +0200 usbip: vhci_hcd: only return urb at enqueue when served We handle USB_REQ_SET_ADDRESS at enqueue, so we want to perform cleanup and giveback the urb. We should not call usb_hcd_giveback_urb when we're cleaning up after a failed enqueue, though. Only giveback the urb at cleanup when we claim to have served it. Signed-off-by: Igor Kotrasinski <i.kotrasinsk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c43e9d835b003d862a5f76e3affcc1f973fb3c0 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:39 2015 +0200 usb: host: ehci-msm: fix handling platform_get_irq result The function can return negative values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8091e0cafb1ae8869dcb74c39f7659013bfd3936 Author: Kris Borer <kborer@xxxxxxxxx> Date: Fri Aug 28 09:31:43 2015 -0400 USB: rewrite isd200_init_info for readability Previously, Coccinelle would issue the following false positive: isd200.c:1478:14-18: ERROR: reference preceded by free on line 1472 This change rewrites the isd200_init_info function to have more explicit execution pathways to make it easier for scripts and humans to parse. Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0452fe09a90d4aff5029d3c053014ae2caeec94 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Sep 28 17:57:59 2015 +0100 usb: host: fotg210: remove unreachable code Before running the platform_driver_unregister() the code will either return retval or jump to clean. Removing this line that is unreachable. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2f3951110f19fd901159981dadc756263d30386 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Sep 19 14:10:59 2015 +0100 usb: host: uhci-platform: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04c0b766605e067428ca558421a44c1baf56c2cf Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Sep 19 14:10:58 2015 +0100 usb: host: ohci-spear: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ddb9b88814063c96a9b79026369529ce8345e81 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Sep 19 14:10:57 2015 +0100 usb: host: fsl-mph-dr-of: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e76eaefde8f0ac30d28b6d3bd33116153e7b435f Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Sat Sep 19 14:10:56 2015 +0100 usb: host: ehci-spear: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d2d641c44269656bf72381c72e2eb50b18a8404 Author: Li Jun <jun.li@xxxxxxxxxxxxx> Date: Mon Aug 31 16:20:49 2015 +0800 usb: otg: don't set a_alt_hnp_support feature for OTG 2.0 device Since a_alt_hnp_support is obsolete in OTG 2.0, HNP capable host should send this set feature request only if the otg device is connecting to a non-HNP port and it's compliant with OTG 1.x revision. This is done by checking its otg descriptor length, OTG 2.0 uses usb_otg20_descriptor which has different length than OTG 1.x using usb_otg_descriptor. Signed-off-by: Li Jun <jun.li@xxxxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9766f2517e55338ab546891c4bfff6666ffacaea Author: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Date: Mon Sep 7 21:30:25 2015 +0530 usb: core: driver: Use kmalloc_array Use kmalloc_array instead of kmalloc to allocate memory for an array. Also, remove the dev_warn for a memory leak, making the if check more sleek. Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 776c15d0ad0c7534be4e7a1b980ee933ef7c4387 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 19 16:36:32 2015 -0500 USB: ehci-platform: Add ACPI bindings for the EHCI platform driver. This enables USB on the ARM juno board when booted with an ACPI kernel. The PNP id comes from the PNP/ACPI registry and describes an EHCI controller without debug. Tested-by: Huang Shijie <shijie.huang@xxxxxxx> Reviewed-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17f69b5fa6f642898a7dae16dee6997869b1f234 Author: Jeremy Linton <jeremy.linton@xxxxxxx> Date: Wed Aug 19 16:36:31 2015 -0500 USB: ehci-platform: Display a DMA configuration error message If the ehci driver fails to configure the dma settings then display a dev error instead of simply failing. This is triggered in an ACPI world if the user fails to set the _CCA on the device. Tested-by: Huang Shijie <shijie.huang@xxxxxxx> Reviewed-by: Graeme Gregory <graeme.gregory@xxxxxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39047e0702c003d2c4cc1d493d7823407a96e1f5 Author: Kris Borer <kborer@xxxxxxxxx> Date: Tue Aug 25 17:59:49 2015 -0400 usb: message: remove redundant declaration Fix the Sparse warning: message.c:1390:21: warning: symbol 'i' shadows an earlier one message.c:1294:13: originally declared here Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cca26be3e68ff2950acda29a5331fe65825034ce Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Aug 24 11:10:43 2015 +0200 UAS: also check for ESHUTDOWN in error reporting -ESHUTDOWN means that the HC has been unplugged. Reporting an error in that case makes no sense. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db1319e166c5e872c4be54eac4e47454133708cf Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Sun Aug 23 15:01:08 2015 +0200 usb: ehci-orion: fix probe for !GENERIC_PHY Commit d445913ce0ab7f ("usb: ehci-orion: add optional PHY support") added support for optional phys, but devm_phy_optional_get returns -ENOSYS if GENERIC_PHY is not enabled. This causes probe failures, even when there are no phys specified: [ 1.443365] orion-ehci f1058000.usb: init f1058000.usb fail, -38 [ 1.449403] orion-ehci: probe of f1058000.usb failed with error -38 Similar to dwc3, treat -ENOSYS as no phy. Fixes: d445913ce0ab7f ("usb: ehci-orion: add optional PHY support") Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17a364e2eceafae9eac6b29d09a71ea21979b106 Author: Kris Borer <kborer@xxxxxxxxx> Date: Fri Aug 21 10:47:46 2015 +0530 usb: hub: remove redundant declarations Fix two occurrences of the Sparse warning: warning: symbol XXX shadows an earlier one Signed-off-by: Kris Borer <kborer@xxxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c596336a8e73a1773f38159ae2ef7b062863d80 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Aug 19 10:47:46 2015 +0530 usbip: vhci_hcd: 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 039b33070e8be5f4b452617792ac7269e577d23e Author: Chase Metzger <chasemetzger15@xxxxxxxxx> Date: Tue Aug 18 20:36:58 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 c7360b343ab1f1442e0731eb9e31e2a89fa6f97c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:14:58 2015 +0200 xhci: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03bce87ce99ae6611ad8c03d509b2da59d86183d Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:11 2015 +0200 whci: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4c1f0c2a959f2aa05f86e64f7d83b9fb18e2cdd Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:32 2015 +0200 usb: host: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); @@ expression x; @@ -if (x != NULL) { \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); x = NULL; -} // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 395f5409ca4336ee6ad461d3e0436bcc2d7c6309 Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:39 2015 +0300 xhci: support new USB 3.1 hub request to get extended port status USB 3.1 adds different types of Get Port Status request. The Get Extended Port Status request returns 4 additional bytes after the normal portstatus and portchange words containing link speed and lane information about a connected enhanced super speed device Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b50107bb83d027dfd36bb7efb90570559757d6ae Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:38 2015 +0300 xhci: check xhci hardware for USB 3.1 support Set the controller speed to HCD_USB31 to if host hardware supports USB 3.1 For PCI xhci controllers the USB 3.1 support is checked from SBRN bits in pci config space. Platform controllers will need to set xhci->sbrn == 0x31 to indicate USB 3.1 support before calling xhci_gen_setup(). Also make sure xhci driver works correctly with speed set to HCD_USB31 Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7117522520b9101af7a0602d6b0d1e67d689fc6b Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:37 2015 +0300 usb: define HCD_USB31 speed option for hosts that support USB 3.1 features Hosts that support USB 3.1 Enhaned SuperSpeed can set their speed to HCD_USB31 to let usb core and host drivers know that the controller supports new USB 3.1 features. make sure usb core handle HCD_USB31 hosts correctly, for now similar to HCD_USB3. Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2338b9e47fba0cd35e1e59f09838a8b9b339a55a Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:36 2015 +0300 xhci: define the new default speed ID for SuperSpeedPlus used by xhci hw USB 3.1 capable xhci controllers use a new default speed ID "5" in the PORTSC register to represent a 10Gbps connection speed of a SuperSpeedPlus device Make sure the xhci driver can handle the returned SuperSpeedPlus speed ID properly Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5693e0b77f82cddf322bdc3eb50f26d3c707f61e Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:35 2015 +0300 xhci: Add a SuperSpeedPlus capability descriptor for xhci USB 3.1 roothub All usb devices that support USB 3.1 Gen2 speeds need to provide a SuperSpeedPlus device capability descriptor as part of their BOS descriptor. If the xhci controller supports USB 3.1 enhanced SuperSpeed, meaning it can handle both Gen1 SuperSpeed 5Gbps and Gen2 SuperSpeedPlus 10Gbps devices, then we need to provide a SuperSpeedPlus capability descriptor for the USB 3.1 roothub as well. Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 47189098f8bebe4d937945df70d3ca8e6c0b3e4d Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:34 2015 +0300 xhci: parse xhci protocol speed ID list for usb 3.1 usage xhci 1.1 controllers that support USB 3.1 must provide a protocol speed ID (PSI) list to inform the driver of the supported speeds. The PSI list can be read from the xhci supported protocol extended capabilities. The PSI values will be used to create a USB 3.1 SuperSpeedPlus capability descriptor for the xhci USB 3.1 roothub. Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3220befddc0da1f4e09fc790a32a9bd8427e8889 Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:33 2015 +0300 usb: store the new usb 3.1 SuperSpeedPlus device capability descriptor If a device supports usb 3.1 SupeerSpeedPlus Gen2 speeds it povides a SuperSpeedPlus device capability descriptor as a part of its BOS descriptor. If we find one while parsing the BOS then save it togeter with the other device capabilities found in the BOS Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90ec9247808ed6b9f072e2c4021868374b0a6d92 Author: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:32 2015 +0300 usb: Add USB 3.1 SuperSpeedPlus device capability descriptor USB 3.1 SuperSpeedPlus device capability descriptor is returned as part of the bos descriptor for devices that support SuperSpeedPlus protocol. The descriptor contains more detailed information about the supported speeds of the device. More details about the descriptor can be found in the USB 3.1 specification section 9.6.2.5 Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04abb6de28250d619ec5aa53695f12a1e4265e1a Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:40:31 2015 +0300 xhci: Read and parse new xhci 1.1 capability register xhci 1.1 capable controllers have a new HCCPARAMS2 registers with bits indicating support for new xhci 1.1 capabilities. Also add support for the new xhci 1.1 bits in the config operational opertational register that used to be reserved Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> [modified and left out parts not related to HCCPARAMS2 -Mathias] Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54a5e02abb03d296c07426d51ddaea8f4cc9ca39 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 11:05:57 2015 -0700 staging: comedi: 8255: prefer using the BIT macro Fix the checkpatch.pl issues. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa9df8e31addd4ae26d8317f166bc09921b3629d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:16 2015 +0530 Staging: lustre: obdclass: obd_mount: Declare as static Declare lustre_fs_type, do_lcfg, lustre_fill_super, lustre_put_lsi, lustre_init_lsi, lustre_start_simple, server_name2index and server_name2fsname as static since they are used only in this particular file.Also remove corresponding declarations from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28fcc6626f1b3880e989f73d0472f54fdb72835f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:15 2015 +0530 Staging: lustre: obdclass: class_obd: Declare as static Declare obd_init_checks as static since it is used only in this particular file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63e9a7485d7a7d7a216f32f9db0b4cc444decab4 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:14 2015 +0530 Staging: lustre: obdclass: genops: Declare as static Declare obd_export_nid2str and obd_zombie_impexp_cull as static since they are used only in this particular file. Also remove the corresponding declarations from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12d0be620fb1cb57ed15c9e167bfab42156594fc Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:13 2015 +0530 Staging: lustre: ptlrpc: niobuf: Declare as static Declare ptlrpc_register_bulk as static since it is used only in this particular file.Also remove the declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98e0a2881878dca4dbd4e9104c8153871d824ee4 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:12 2015 +0530 Staging: lustre: ptlrpc: layout: Declare as static Declare req_capsule_init_area and req_capsule_field_present as static since they are used only in this particular file. Also remove the corresponding declarations from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ed50b03160b3435006cba231afd60dffdd1ffb0 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:11 2015 +0530 Staging: lustre: ptlrpc: pinger: Declare as static Declare ptlrpc_pinger_remove_timeouts as static since it is used only in this particular file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4ec6d23df2e5e7791fb55247a5481bb2c8d6b39 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:10 2015 +0530 Staging: lustre: ptlrpc: events: Declare as static Declare ptl_get_pid as static since it is used only in this particular file. Also remove declaration from corresponding header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53856b23201c780599c877d66b625fcbc5bc9dd3 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Oct 4 13:00:09 2015 +0530 Staging: lustre: ptlrpc: nrs: Declare as static Declare ptlrpc_nrs_policy_register as static since it is used only in this particular file. Also remove corresponding declaration from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 757e0cb5f16964d637dffa1bce734208659b7f6e Author: Itai Katz <itai.katz@xxxxxxxxxxxxx> Date: Sun Oct 4 10:09:54 2015 +0300 staging: fsl-mc: remove references to dev_root The dev_root field in the bus type struct has been replaced by a new mechanism to identify the root dprc. Remove all references to dev_root. Signed-off-by: Itai Katz <itai.katz@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 565b94506f7e2f77dc0d94b4722532358d5965c7 Author: Itai Katz <itai.katz@xxxxxxxxxxxxx> Date: Sun Oct 4 10:09:53 2015 +0300 staging: fsl-mc: add counter to track number of root DPRCs Add a counter to track the number of root DPRCs. When this counter is greater then 0 it means that at least one root DPRC device exists. Signed-off-by: Itai Katz <itai.katz@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4ea40f98d2fd9ec01893c0c1a4718f92adac800 Author: Itai Katz <itai.katz@xxxxxxxxxxxxx> Date: Sun Oct 4 10:09:52 2015 +0300 staging: fsl-mc: add function to return pointer to root dprc To support multiple root dprcs, instead of relying on the dev_root field of the bus type struct, instead create a function to traverse to the root dprc and return a pointer to the device struct Signed-off-by: Itai Katz <itai.katz@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b55f00c6edf380e8bb2211dfd466f7c36500f2fe Author: Itai Katz <itai.katz@xxxxxxxxxxxxx> Date: Sun Oct 4 10:09:51 2015 +0300 staging: fsl-mc: abstract test for whether a dprc is a root dprc Instead of relying on assumptions about fields in data structures, abstract the test for whether a dprc is a root dprc into a function. Signed-off-by: Itai Katz <itai.katz@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14f928054a057edf80d154314946664bbc4c2a46 Author: Itai Katz <itai.katz@xxxxxxxxxxxxx> Date: Sun Oct 4 10:09:50 2015 +0300 staging: fsl-mc: abstract test for existence of fsl-mc bus Add function to test for existence of an fsl-mc bus instance instead of doing this by looking directly at a field in the bus type struct. Signed-off-by: Itai Katz <itai.katz@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f31b6955932f9ec2dbf1a1e1827e18ce7239943 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:27 2015 +0100 staging: vt6655: device_tx_srv rename pTD Following the convention elsewhere for vnt_tx_desc rename desc. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12f2ee356ef6658d7311e051a4a481b553155185 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:26 2015 +0100 staging: vt6655: device_main replace pTDInfo with td_info. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 480fc5b8f6b55173bd26f016118cab0416e96d5d Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:25 2015 +0100 staging: vt6655: device_main replace pRD with rd. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e011b433639a5485480a8abc9f5b70a049057cb Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:24 2015 +0100 staging: vt6655: device_alloc_rx_buf replace pRDInfo with rd_info. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e76c8f4aa4dc952baf62cbaa33785d93cbc10f8 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:23 2015 +0100 staging: vt6655: device_main.c replace pDesc with desc. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78e0e85376ab41d86f4bb8bc8d498b495c1dde8b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Oct 3 20:30:22 2015 +0100 staging: vt6655: device_main replace pDevice with priv. Removing camel case. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 464b577c8bf5a150638baee151d083790190c1b7 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:25 2015 -0400 staging: unisys: visorinput: remove extraneous do_key function do_key() is no longer needed. 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 b4f033f2d01b6b7ab9273b8e93256673c235f5c8 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:24 2015 -0400 staging: unisys: visorinput: remove extraneous mouse logic Removes a cursor positioning hack that no longer seems to be required. 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 bc49496d2924d8fd5974053207d477d1bb6ba6ee Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:23 2015 -0400 staging: unisys: visorinput: register & use input_dev open() and close() Registration of visorinput_open() and visorinput_close() for each device allow us to eliminate unnecessary activity when nobody in user-land cares. 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 add282479665cfbe5767524630086871e12d49f1 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:22 2015 -0400 staging: unisys: visorinput: change input bus type to BUS_VIRTUAL (6) BUS_HOST wasn't really appropriate, so I changed to BUS_VIRTUAL, which is what virtio uses. 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 ade7280ff53c000c87e416fcf466081990d62c9a Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:21 2015 -0400 staging: unisys: visorinput: comment tweaks - s/gizmo/input node/g Just a simple search and replace in the comments. 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 cb3690fe4e45649dad5cbec3f9aa451fc8bcd9c5 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:20 2015 -0400 staging: unisys: visorinput: correct code comments per kernel conventions Multi-line comments were modified to conform to kernel conventions: /* * multi-line * comments */ doc-test /** */ for some comments was removed. 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 f9bda156cfd22f8a6598729bac831308f6db7997 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:19 2015 -0400 staging: unisys: visorinput: make structs & arrays const where possible This also gave me a warning with the assignment: visorinput_dev->keycode = visorkbd_keycode; because input_dev->keycode is NOT static but visorkbd_keycode now is, so I went ahead and also added logic to stash away non-static copies of visorkbd_keycode[] and visorkbd_ext_keycode[] within visorinput_devdata, and use the copy to assign to visorinput_dev->keycode. This change is also technically required, because user-space can remap keys, and we don't want this to be shared with the other keyboard devices running on the same system. 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 b3d5d05dcc4ac1d349c51ea743092375701aa8e1 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:17 2015 -0400 staging: unisys: visorinput: re-order declarations for consistency In order to be more consistent with kernel conventions used elsewhere, I have re-ordered declarations in visorinput.c to follow this general order (where possible): * #defines * struct/enum/union declarations * static declarations (const if possible for all of them) * forward function declarations where absolutely necessary Exceptions were made for the static declarations like the driver declaration, given that it depends on previously-defined callbacks. So such declarations are at the end of visorinput.c. 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 dabf6c399e27e21db9f1b438467bb9b7cfc8b834 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:16 2015 -0400 staging: unisys: visorinput: subsume .h files directly into visorinput.c keyboardchannel.h and mousechannel.h are now included within visorinput.c directly. 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 6ea9b6e6a78cec3e8cb2e77019795aa4a1c8c42c Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Oct 2 13:19:15 2015 -0400 staging: unisys: visorhid: rename to visorinput This visorhid driver provides a Human Interface Device, but is not at all using HID, the protocol. It's a plain input driver, so for clarity, it is being renamed to visorinput. 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 63417188f10351945e23ff03af68c605cb18da52 Author: Martin Kletzander <mkletzan@xxxxxxxxxx> Date: Sat Oct 3 22:55:49 2015 +0200 staging: rdma: Fix braces around if/else Get rid of all ELSE_AFTER_BRACE type errors reported by checkpatch.pl. Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd6dee3c51d3d6e5dbdeec2013dbf293ef18d7a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:56 2015 +0900 staging: wilc1000: remove blank lines before close brace This patch removes blank lines before close brace '}' CHECK: Blank lines aren't necessary before a close brace '}' drivers/staging/wilc1000/host_interface.c:5366: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d6c9bbb070c99d8926308f284e2e13cd8bc3982 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:54 2015 +0900 staging: wilc1000: rename s32Error in host_int_wait_msg_queue_idle This patch replaces s32Error with result to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 244efb1f5df5589c98bc1d0d1850c896151b9caa Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:53 2015 +0900 staging: wilc1000: fix return type of host_int_wait_msg_queue_idle This patch changes return type of host_int_wait_msg_queue_idle from s32 to int. s32Error gets return value from wilc_mq_send that has return type of int. It should be changed return type of host_int_wait_msg_queue_idle by int as well as data type of s32Error. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ba48ecca5bb528ee5893513f4e4b5f3c8a7c214 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:52 2015 +0900 staging: wilc1000: rename hWFIDrv of host_int_set_mac_chnl_num This patch replaces hWFIDrv with wfi_drv that is first argument of host_int_set_mac_chnl_num to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c5833ce6309d32a282ffeef86417ccfacc438e3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:51 2015 +0900 staging: wilc1000: rename u8ChNum of host_int_set_mac_chnl_num This patch replaces u8ChNum with channel that is second argument of host_int_set_mac_chnl_num to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ef58e42561b759c094528e3f4b1ee1b048bf751 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:49 2015 +0900 staging: wilc1000: rename s32Error in host_int_set_mac_chnl_num This patch replaces s32Error with result to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3565ded9f220e86c9560f1cbaed2549edea8e7a3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:48 2015 +0900 staging: wilc1000: fix NULL comparison style This patch changes NULL comparison style to use ! operator found by checkpatch.pl CHECK: Comparison to NULL could be written "!pstrWFIDrv" drivers/staging/wilc1000/host_interface.c:5324: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6d3346d92356d74c7b7b31a44ae52d07fce38e9 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 21:44:47 2015 +0900 staging: wilc1000: fix return type of host_int_set_mac_chnl_num This patch changes return type of host_int_set_mac_chnl_num from s32 to int. s32Error gets return value from wilc_mq_send function that has return type of int. It should be changed return type of host_int_set_mac_chnl_num function by int as well as data type of s32Error. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8668984f8129d5ac7a90c6c0348e8ed4207fc145 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Oct 3 17:31:30 2015 +0530 Staging: most: Use module_platform_driver Use module_platform_driver for drivers whose init and exit functions only register and unregister, respectively. Thus remove some boilerplate code. A simplified version of Coccinelle patch - @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: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b565b3fbeca1e65702a37ab837ea625284809923 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Oct 3 14:52:09 2015 +0300 Staging: panel: Replace NULL comparison. Use ! operating instead of NULL checks. Addresses "CHECK: Comparison to NULL" from checkpatch.pl. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a731c70bc79d3d41f37d9bf4ab4d549333bff37 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 2 22:09:43 2015 +0200 Staging: comedi: Use mutex instead of semaphore in ni_usb6501.c Replace binary semaphore with mutex because mutex gives better performance. This change is safe because the thread that decrements the value of semaphore is also the one that increments it, and acts like a mutex where owner of the lock is the only one that can release the lock. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27a90695e02759ccab58ca610af4f8ed79d8a35c Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 2 22:07:54 2015 +0200 Staging: comedi: Use mutex instead of semaphore in usbduxfast.c Replace binary semaphore with mutex because mutex gives better performance. This change is safe because the thread that decrements the value of semaphore is also the one that increments it, and acts like a mutex where owner of the lock is the only one that can release the lock. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e5cae2f0b3460bf68ebe948bb5caa31c0281c6c Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 2 22:05:57 2015 +0200 Staging: comedi: Use mutex instead of semaphore in usbdux.c Replace binary semaphore with mutex because mutex gives better performance. This change is safe because the thread that decrements the value of semaphore is also the one that increments it, and acts like a mutex where owner of the lock is the only one that can release the lock. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e719935ea07eae2b9674c9578e8941601e4380d Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 2 22:04:22 2015 +0200 Staging: comedi: Use mutex instead of semaphore in usbduxsigma.c Replace binary semaphore with mutex because mutex gives better performance. This change is safe because the thread that decrements the value of semaphore is also the one that increments it, and acts like a mutex where owner of the lock is the only one that can release the lock. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 851f7c0e62dc564bf99e295b3c498d3d96a73b4a Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Fri Oct 2 19:24:05 2015 +0200 Staging: olpc_dcon: Replace timespec with ktime_t Struct timespec will overflow in year 2038, here it will not cause an overflow because it is used with timespec_sub, but still has to be removed as part of y2038 changes. Replace it with ktime_t. Also use monotonic instead of real-time by replacing functions getnstimeofday with ktime_get. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51abf45c23872df0a43dbe849eb4439ebda6145f Author: Salah Triki <salah.triki@xxxxxxx> Date: Sun Oct 4 02:49:48 2015 +0100 staging: dgnc: take a lock when storing value in dgnc_poll_tick Reads of dgnc_poll_tick are protected by dgnc_poll_lock spinlock, but the write to dgnc_poll_tick is not. It could theoretically race. Signed-off-by: Salah Triki <salah.triki@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d99d6a3cffdcbf1705ebd41b528fc31feaa7966 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 20:52:49 2015 +0530 staging: dgnc: remove dgnc_init_globals function The dgnc_init_globals() function is only initializing the timer so initialize it directly and remove dgnc_init_globals() and change the comment appropriately. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 482e191d61a85c87e033a650e755d3a4361a6158 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 20:52:48 2015 +0530 staging: dgnc: remove initialization of global globals variable will be initialied to 0 and the global pointers will be to NULL. No need to initialize them separately. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e24bb0ed81795731c8cca4d3ecbac04862fbf128 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 20:52:46 2015 +0530 staging: dgnc: remove NULL test This NULL test is not required as iounmap will validate the argument. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60acb623c9f9431e84485a10347dab7e4801b3e1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 20:52:44 2015 +0530 staging: dgnc: change style of NULL comparison Change the NULL comparison style as warned by checkpatch. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d9920eca404c785483598980547ff3be58eddd9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Oct 3 20:52:39 2015 +0530 staging: dgnc: remove unused variables These variables were only assigned some values but were never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 851f306d6e42a7573dd5a9425ce929ff10215be6 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Fri Oct 2 20:15:55 2015 +0300 staging: dgnc: Fix line over 80 characters warning Fix 'line over 80 characters' checkpatch warning Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea14cd2b0d9e65f8957cb991d1a7763eae985db4 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sat Oct 3 16:33:34 2015 +0300 staging: octeon: Add kernel-doc params description Fix 'No description found for parameter' kernel-doc warnings Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7112574aea6955774638941e75bd915e59c8bca6 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 18:07:04 2015 +0530 Staging: lustre: obdclass: Remove unused functions Remove dump_exports and print_export_data as they are defined but not used anywhere. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 961354612efa9cecb98250f4f1cfd51221af8098 Author: Rocco Folino <rocco@xxxxxxxxxx> Date: Fri Oct 2 23:54:26 2015 +0200 staging/lustre: Make nrs_policy_get_info_locked() static This patch fixes the warning generated by sparse: "symbol 'nrs_policy_get_info_locked' was not declared. Should it be static?" by declaring the function static. Signed-off-by: Rocco Folino <rocco@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb320795704ccb6f4694801543f1418aedabad72 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 23:19:14 2015 +0530 Staging: lustre: obdclass: class_obd: Declare as static Declare class_resolve_dev_name as static it is not used anywhere apart from this particular file.Also remove the declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbe327246da118513004f9022e1061d11a8f320b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 23:19:13 2015 +0530 Staging: lustre: obdclass: genops: Declare as static Declare class_get_type and class_search_type as static since they are used only in this particular file. Also remove the declaration from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d63414eb9833ddae771102aa792178ea04624c34 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 23:19:12 2015 +0530 Staging: lustre: obdclass: obd_config: Declare as static Declare class_add_conn, class_add_profile, class_cleanup, class_config_parse_rec, class_del_conn, class_detach, class_match_param, class_attach, class_setup as static since they are used only in this particular file. Also remove the corresponding declarations from header files. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a90a291767ae9c37e9da3069739b609151602dbf Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 23:19:11 2015 +0530 Staging: lustre: obdclass: cl_lock: Declare as static Declare cl_lock_intransit and cl_lock_extransit as static since they are used only in this particular file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9bda311cb0e8a520daebbc6d0d795d327744536 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 23:19:10 2015 +0530 Staging: lustre: obdclass: cl_io: Declare as static Declare cl_page_list_assume, cl_io_cancel, cl_io_rw_advance, cl_page_list_del, cl_page_list_discard, cl_page_list_fini as static since they are used only in this particular file. Also remove them from corresponding header files Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91a3a5014e8a3d046608c3835e7c793b87dc20b6 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:31 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_parse_rule as static Declare sptlrpc_parse_rule as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf0a7f9eadce9b0dcf8099adde84696a5cad5202 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:30 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_req_replace_dead_ctx as static Declare sptlrpc_req_replace_dead_ctx as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65e4b792a770dbca4a1e3f93759a8a4a2249e235 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:29 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_rule_set_choose as static Declare sptlrpc_rule_set_choose as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57552bf00f028f2621acdb66857a18ea83f3637f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:28 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_rule_set_expand as static Declare sptlrpc_rule_set_expand as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 337349fb599b75756909eb80c0b86bb332d8857b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:27 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_rule_set_free as static Declare sptlrpc_rule_set_free as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cff0cc99fe4e92cbb2f1680bd744b8290686e8d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Oct 2 16:19:26 2015 +0530 Staging: lustre: ptlrpc: Declare sptlrpc_rule_set_merge as static Declare sptlrpc_rule_set_merge as static since it is accessed from this particular file only. Also remove its declaration from header file Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 801b798c25b810ba036f38f6bf2e1750201485b0 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sat Oct 3 18:45:01 2015 +0300 staging: android: Remove /** from regular comments Fix 'cannot understand function prototype' and 'No description found for parameter' kernel-doc warnings by replacing /** with /* in regular comments Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d92ea5d0ddafea25b532eb1c0721f7e73984a76 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Sat Oct 3 18:20:47 2015 +0300 staging: android: Remove kernel-doc typo Fix 'No description found for parameter 'prot_mask'' and 'Excess struct/union/enum/typedef member 'prot_masks' description in 'ashmem_area'' warnings by removing typo Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdddc22f071a365de205c8396d59f8d7ad1c86a9 Author: Hugo Camboulive <hugo.camboulive@xxxxxxxxx> Date: Sat Oct 3 18:32:48 2015 +0000 staging: iio: adc: fix comment block coding style issue This patch to ad7746.c makes the comment block end with a */ on a separate line. Signed-off-by: Hugo Camboulive <hugo.camboulive@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 877cdf9115122e068245326da519a848d2387221 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Fri Oct 2 13:37:50 2015 +0300 staging: iio: resolver: replace iio_device_register by devm_iio_device_register Use devm_iio_device_register instead of iio_device_register when the remove function is only used to call iio_device_unregister in order to ease the error path. Since resource managed functions implicitly call unregister at driver detach also remove iio_device_unregister Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86727e30d1d6485b5f8b4a84790ac659dc002d27 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Fri Oct 2 13:37:49 2015 +0300 staging: iio: light: use devm_iio_device_register instead iio_device_register Replace iio_device_register with resource managed devm_iio_device_register in order to ease the error path. Also delete the remove function since there is no need after this change. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 252fb58ceb42d82931c971b11f5ea1323caa8a35 Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Fri Oct 2 13:37:48 2015 +0300 staging: iio: cdc: use devm_iio_device_register instead iio_device_register Replace iio_device_register with resource managed devm_iio_device_register in order to ease the error path. Also delete de remove function since there is no need after this change. Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a305cf316239073eab9da9ba22266bb698f5c3f7 Author: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Date: Sat Oct 3 16:01:36 2015 +0200 staging: wlan-ng: prism2sta: replace memcmp with ether_addr_equal Replace memcmp() with ether_addr_equal(). In every location where the replacement was done, the addresses accessed are __aligned(2). Structures accessed either stack or heap allocated, no direct memory casts to possibly unaligned structs are used. Involved structures: typedef struct hfa384x_authenticateStation_data { u8 address[ETH_ALEN]; /* 0 offset */ ... } __packed hfa384x_authenticateStation_data_t; struct prism2sta_authlist { unsigned int cnt; u8 addr[WLAN_AUTH_MAX][ETH_ALEN]; /* 4 bytes offset, addresses start at u16 boundary */ u8 assoc[WLAN_AUTH_MAX]; }; struct prism2sta_accesslist { unsigned int modify; unsigned int cnt; u8 addr[WLAN_ACCESS_MAX][ETH_ALEN]; /* 8 bytes offset, multiple of u16 */ ... u8 addr1[WLAN_ACCESS_MAX][ETH_ALEN]; /* starts at u32 boundary, struct not packed */ }; typedef struct hfa384x_AssocStatus { u16 assocstatus; u8 sta_addr[ETH_ALEN]; /* 2 bytes offset, struct is packed */ u8 old_ap_addr[ETH_ALEN]; /* 8 bytes offset */ ... } __packed hfa384x_AssocStatus_t; The patch resolves the following checkpatch warnings: WARNING: Prefer ether_addr_equal() or ether_addr_equal_unaligned() over memcmp() Signed-off-by: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8552d85442dd814d733f67592627ea55f7cbfb01 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Mon Aug 31 19:54:51 2015 -0400 i40evf: don't blow away MAC address Under certain circumstances, we can get an extra VF_RESOURCES message from the PF driver at runtime. When this happens, we need to parse it because our VSI may have changed out from underneath us, and that will affect our relationship with the PF driver. However, parsing the resources message also blows away our current MAC address in the hardware struct, usually with all zeros. When this happens, the next time the interface is opened, it will have no MAC address and will a) not work and b) complain. Fix this issue by restoring the current MAC address from the netdev struct after we parse the resource message. Change-ID: I6cd1b624fc20432f81dc901166c8de195b8e0e65 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 24408e7ae677cea4e44ce6869a1b803820839471 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Mon Sep 28 14:12:38 2015 -0400 i40e/i40evf: grab the AQ spinlocks before clearing registers Make sure we have the spinlocks before we clear the ARQ and ASQ management registers. Also, widen the locked portion and make a sanity check earlier in the send function to be sure we're working with safe register values. Change-ID: I34b56044b33461ed780f3d2de8d62826cdf933f9 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 126b63d9d3aa99a90381ed168a885989dd33cf15 Author: Anjali Singhai <anjali.singhai@xxxxxxxxx> Date: Mon Aug 24 13:26:53 2015 -0700 i40e: Fix a memory leak in X722 rss config path In any case free the memory allocated before exiting. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> 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 27ca2753500537b8f3f3aba43558d68e2e8439a1 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Aug 17 11:19:03 2015 +0800 i40evf: Use numa_mem_id() to better support memoryless node Function i40e_clean_rx_irq() tries to reuse memory pages allocated from the nearest node. To better support memoryless node, use numa_mem_id() instead of numa_node_id() to get the nearest node with memory. This change should only affect performance. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8dc5562e4e2b8255d2ea5d472a7fa25d5aa20da4 Author: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Date: Mon Aug 17 11:19:02 2015 +0800 i40e: Use numa_mem_id() to better support memoryless node Function i40e_clean_rx_irq() tries to reuse memory pages allocated from the nearest node. To better support memoryless node, use numa_mem_id() instead of numa_node_id() to get the nearest node with memory. This change should only affect performance. Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1cb8f9776c7dcadc57885c6653943511d282633b Author: Richard Weinberger <richard@xxxxxx> Date: Tue Aug 11 23:27:44 2015 +0200 ubi: fastmap: Implement produce_free_peb() If fastmap requests a free PEB for a pool and UBI is busy with erasing PEBs we need to offer a function to wait for one. We can reuse produce_free_peb() from the non-fastmap WL code but with different locking semantics. Cc: stable@xxxxxxxxxxxxxxx # 4.1.x- Reported-and-tested-by: Jörg Krause <joerg.krause@xxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit e96f78ab2703f3b0d512f6b469bc685d2ef20475 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Oct 3 06:27:28 2015 -0700 tcp/dccp: add SLAB_DESTROY_BY_RCU flag for request sockets Before letting request sockets being put in TCP/DCCP regular ehash table, we need to add either : - SLAB_DESTROY_BY_RCU flag to their kmem_cache - add RCU grace period before freeing them. Since we carefully respected the SLAB_DESTROY_BY_RCU protocol like ESTABLISH and TIMEWAIT sockets, use it here. req_prot_init() being only used by TCP and DCCP, I did not add a new slab_flags into their rsk_prot, but reuse prot->slab_flags Since all reqsk_alloc() users are correctly dealing with a failure, add the __GFP_NOWARN flag to avoid traces under pressure. Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be186cc4de35fcfe766d2938c13ddf3935d6c159 Author: shengyong <shengyong1@xxxxxxxxxx> Date: Wed Sep 23 09:11:40 2015 +0000 UBIFS: print verbose message when rescanning a corrupted node This is a trivial fix of showing verbose message when leb-recovery detects a corrupted node, which is not the last one in the LEB. Rescan expects to show more detail of the corrupted node. Reviewed-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 8f6983abe31f37d953197c3ede14b1d1321affee Author: shengyong <shengyong1@xxxxxxxxxx> Date: Wed Sep 23 09:11:39 2015 +0000 UBIFS: call dbg_is_power_cut() instead of reading c->dbg->pc_happened Call dbg_is_power_cut() to emulate power cut instead of reading c->dbg->pc_happened. Otherwise, the function becomes dead code. Signed-off-by: Sheng Yong <shengyong1@xxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit f9a113d65fa56d8e8e662e37ec2fbeac0d52aa01 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Sep 13 14:15:16 2015 +0200 UBI: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 86f6e454e6371003caecee3b4aa55de3e8eacbdd Author: Andrew Murray <amurray@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 12:02:09 2015 +0100 UBI: Update comments to reflect UBI_METAONLY flag This patch trivially updates code comments to reflect the addition of the UBI_METAONLY flag - as discussed https://lkml.org/lkml/2014/10/29/764 Cc: Richard Weinberger <richard@xxxxxx> Cc: trivial@xxxxxxxxxx Signed-off-by: Andrew Murray <amurray@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 5347417e56b68354faf315ca42c99cfb0c02f1dd Author: Richard Weinberger <richard@xxxxxx> Date: Fri Jul 3 10:36:16 2015 +0200 UBI: Fix debug message We have to use j instead of i. i is the volume id and not the block. Reported-by: Alexander.Block@xxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 4ebb4c9dcbe88a683b083f03176612ee8e87befb Author: Richard Weinberger <richard@xxxxxx> Date: Fri Jul 3 10:36:15 2015 +0200 UBI: Fix typo in comment While we are here fix a s/beween/between typo. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 876f9a348779b348f44736254365bb574fea74eb Author: Richard Weinberger <richard@xxxxxx> Date: Fri Jul 3 10:36:14 2015 +0200 UBI: Fastmap: Simplify expression There is no need to compute pnum again. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7d25b361a2d3e8a9dcaf463d92285d58dedc74ab Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 30 13:48:09 2015 +0800 UBIFS: fix a typo in comment of ubifs_budget_req s/now/how Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Reviewed-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit bbc8a0044fb27da5fadb7efbfb472aed00c58e72 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:31 2015 +0200 UBIFS: 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: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 14991fc7dfc6cd18b0d79ebc8f39b1350cb34fc9 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Sep 28 20:32:28 2015 -0600 platform/x86: Toshiba WMI Hotkey Driver Toshiba laptops that feature WMI events for hotkeys were left unsupported by the toshiba_acpi driver, however, commit a88bc06e5aec ("toshiba_acpi: Avoid registering input device on WMI event laptops") added hardware support for such laptops, but the hotkeys are not handled there. This driver adds support for hotkey monitoring on certain Toshiba laptops that manage the hotkeys via WMI events instead of the Toshiba Configuration Interface (TCI). The toshiba_acpi driver and this one can co-exist, as this only takes care of hotkeys, while the proper takes care of hardware related stuff. Currently the driver is under the EXPERIMENTAL flag, as the keymap and the notify function are incomplete (due to lack of hardware to test). Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d06f107bcd828a6c3ecd4a7d449d5d0c0dba0326 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Thu Oct 1 18:16:21 2015 +0200 Bluetooth: btintel: Add iBT register access over HCI support Add regmap ibt to support Intel Bluetooth silicon register access over HCI. Intel BT/FM combo chip allows to read/write some registers (e.g. FM registers) via its HCI interface. Read/Write operations are performed via a HCI transaction composed of a HCI command (host->controller) followed by a HCI command complete event (controller->host). Read/Write Command opcodes can be specified to the regmap init function. We define data formats which are intel/vendor specific. Register Read/Write HCI command payload (Host): Field: | REG ADDR | MODE | DATA_LEN | DATA... | size: | 32b | 8b | 8b | 8b* | Register Read HCI command complete event payload (Controller): Field: | CMD STATUS | REG ADDR | DATA... | size: | 8b | 32b | 8b* | Register Write HCI command complete event payload (Controller): Field: | CMD_STATUS | size: | 8b | Since this payload is HCI encapsulated, Little Endian byte order is used. Write/Read Example: If we write 0x0000002a at address 0x00008c04, with opcode_write 0xfc5d, The resulting transaction is (btmon trace): < HCI Command (0x3f|0x005d) plen 10 [hci0] 04 8c 00 00 02 04 2a 00 00 00 > HCI Event (0x0e) plen 4 Unknown (0x3f|0x005d) ncmd 1 00 Then, if we read the same register with opcode_read 0xfc5e: < HCI Command (0x3f|0x005e) plen 6 [hci0] 04 8c 00 00 02 04 > HCI Event (0x0e) plen 12 [hci0] Unknown (0x3f|0x005e) ncmd 1 00 04 8c 00 00 2a 00 00 00 Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 963406ffa6e77ae85b400a9bc8b747813c4497cf Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:22 2015 +0200 sony-laptop: Fix handling sony_nc_hotkeys_decode result sony_nv_hotkeys_decode can return a negative value. real_ev is a u32 variable. The check for real_ev > 0 is incorrect. Use an intermediate ret variable. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> [dvhart: clarify commit msg, drop superfluous else block] Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit daea5a65dec21de4b1f83c05162b5cb66b1f6c4c Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 21 16:47:01 2015 +0100 intel_mid_powerbtn: Remove misuse of IRQF_NO_SUSPEND flag The IRQF_NO_SUSPEND flag is used to identify the interrupts that should be left enabled so as to allow them to work as expected during the suspend-resume cycle, but doesn't guarantee that it will wake the system from a suspended state, enable_irq_wake is recommended to be used for the wakeup. This patch removes the use of IRQF_NO_SUSPEND flags and uses newly introduce PM wakeup APIs dev_pm_{set,clear}_wake_irq. Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Cc: platform-driver-x86@xxxxxxxxxxxxxxx Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 9a431bd5a26ca7db8ab251a75e006aa8b145718e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Jun 25 10:44:08 2015 +0100 ARM: make highpte an expert option When highmem is enabled, there's little reason not to also enable highpte support as well. Rather than leaving this to chance, make it an expert option, and default it to be enabled if highmem is enabled. Add some help text to the option while we're here. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d9a427ec81e7f1f81cb30777e8fe7dc1f4d03803 Author: Roald Frederickx <roald.frederickx@xxxxxxxxx> Date: Sat Sep 12 22:00:16 2015 +0200 compal-laptop: Add charge control limit Add charge control limit to the power supply subsystem of the Compal platform driver. This apparently was present in the original driver by Cezary Jackiewicz at http://eko.one.pl/index.php?page=compal-laptop but it seems to have been overlooked. The Kconfig description is updated to reflect this addition. It now also mentions the hwmon interface that was already present. Signed-off-by: Roald Frederickx <roald.frederickx@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 63ce446c9b5787a94ed875bab20772e1a2b3092f Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Sun Sep 13 03:30:11 2015 +0100 ARM: 8433/1: add a VMSPLIT_3G_OPT config option Mimicking the same config option on x86, this allows for 1GB systems to have their RAM entirely mapped as low memory. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0768330d46435f324a0b4860c889057524af17c2 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Tue Sep 22 17:12:10 2015 +0100 ARM: 8439/1: Fix backtrace generation when IPI is masked Currently on ARM when <SysRq-L> is triggered from an interrupt handler (e.g. a SysRq issued using UART or kbd) the main CPU will wedge for ten seconds with interrupts masked before issuing a backtrace for every CPU except itself. The new backtrace code introduced by commit 96f0e00378d4 ("ARM: add basic support for on-demand backtrace of other CPUs") does not work correctly when run from an interrupt handler because IPI_CPU_BACKTRACE is used to generate the backtrace on all CPUs but cannot preempt the current calling context. This can be fixed by detecting that the calling context cannot be preempted and issuing the backtrace directly in this case. Issuing directly leaves us without any pt_regs to pass to nmi_cpu_backtrace() so we also modify the generic code to call dump_stack() when its argument is NULL. Acked-by: Hillf Danton <hillf.zj@xxxxxxxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 307340493f3d62935db0bd48a9909bb746ffef1e Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Mon Sep 14 11:16:30 2015 +0200 asus-wmi: restore kbd led level after resume Afters suspend/resume cycle with closed lid the kbd backlight level is lost. This patch will will restore this value to last known level. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 10e6aaabc37171a8b2c0f531696db91f5ac442f9 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Sep 18 22:45:34 2015 -0600 toshiba_acpi: Remove unneeded u32 variables from *setup_keyboard The function toshiba_acpi_setup_keyboard currently has two u32 variables used to store the Hotkey Event Type and the result of the HCI_SYSTEM_EVENT query. This patch removes those two variables, as we already have a global variable named "hotkey_event_type" and the result of the HCI_SYSTEM_EVENT query can be checked directly from the function. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 0b498201e67df447dc81542a71b36db0fae2878d Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Sep 9 11:30:09 2015 -0600 toshiba_acpi: Add 0x prefix to available_kbd_modes_show function This patch adds the 0x prefix to the values printed by such function, the values are already being printed in hex, but without the prefix, causing confusion, even though the file under Documentation/ABI clearly states that hey are hex values. Simply add the 0x prefix to avoid such confusion. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 52cbae0127ade4120f51a6c5b46f28534723b9bf Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Sep 9 11:28:20 2015 -0600 toshiba_acpi: Change default Hotkey enabling value The driver currently uses the hotkey enabling value of 0x09 to enable hotkey events, but windows uses a different value (0x01). All Toshiba laptops accept the following "hotkey" parameters: 0x01 - Enable hotkey and system events. 0x03 - Enable system events only. 0x09 - Enable hotkey events only. 0x0b - Disable (hotkey and system) events. This patch changes the default hotkey enabling value from 0x09 to 0x01, enabling both the hotkey and system events. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit b116fd009a73fc83f05241152ea9300304e6826c Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Sep 9 11:28:19 2015 -0600 toshiba_acpi: Unify hotkey enabling functions Currently the driver has two functions enabling hotkeys support, but these two functions can be merged into one. This patch merges these two functions, moving some checks to the *enable_hotkeys function, simplifying code in the process. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 001bf455d20645190beb98ff4ee450dfea1b7eb2 Author: Doug Anderson <armlinux@xxxxxxxxxxxxxx> Date: Wed Sep 2 03:39:19 2015 +0100 ARM: 8428/1: kgdb: Fix registers on sleeping tasks Dumping registers from other sleeping tasks in KGDB was totally failing for me. All registers were reported as 0 in many cases. The code was using task_pt_regs(task) to try to get other thread registers. This doesn't appear to be the right place to look. From my tests, I saw non-zero values in this structure when we were looking at a kernel thread that had a userspace task associated with it, but it contained the register values from the userspace task. So even in the cases where registers weren't reported as 0 we were still not showing the right thing. Instead of using task_pt_regs(task) let's use task_thread_info(task). This is the same place that is referred to when doing a dump of all sleeping task stacks (kdb_show_stack() -> show_stack() -> dump_backtrace() -> unwind_backtrace() -> thread_saved_sp()). As further evidence that this is the right thing to do, you can find the following comment in "gdbstub.c" right before it calls sleeping_thread_to_gdb_regs(): Pull stuff saved during switch_to; nothing else is accessible (or even particularly relevant). This should be enough for a stack trace. ...and if you look at switch_to() it only saves r4-r11, sp and lr. Those are the same registers that I'm getting out of the task_thread_info(). With this change you can use "info thread" to see all tasks in the kernel and you can switch to other tasks and examine them in gdb. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7e31210349e9e03a9a4dff31ab5f2bc83e8e84f5 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 28 09:42:09 2015 +0100 ARM: 8427/1: dma-mapping: add support for offset parameter in dma_mmap() IOMMU-based dma_mmap() implementation lacked proper support for offset parameter used in mmap call (it always assumed that mapping starts from offset zero). This patch adds support for offset parameter to IOMMU-based implementation. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.6+ Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 371f0f085f629fc0f66695f572373ca4445a67ad Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Aug 28 09:41:39 2015 +0100 ARM: 8426/1: dma-mapping: add missing range check in dma_mmap() dma_mmap() function in IOMMU-based dma-mapping implementation lacked a check for valid range of mmap parameters (offset and buffer size), what might have caused access beyond the allocated buffer. This patch fixes this issue. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.6+ Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit db695c0509d6ec9046ee5e4c520a19fa17d9fce2 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Sep 21 19:34:28 2015 +0100 ARM: remove user cmpxchg syscall Mark Brand reports that a NEEDS_SYSCALL_FOR_CMPXCHG enabled kernel would open a security hole in the ghost syscall used to implement cmpxchg, as it fails to validate the user pointer. However, in order for this option to be enabled, you'd need to be building a pre-ARMv6 kernel with SMP support. There is only one system known which fits that, which is an early ARM SMP FPGA implementation based on the ARM926T. In any case, the Kconfig does not allow SMP to be enabled for pre-ARMv6 systems. Moreover, even if NEEDS_SYSCALL_FOR_CMPXCHG were to be enabled, the kernel would not build as __ARM_NR_cmpxchg64 is not defined. The simple answer is to remove the buggy code. Reported-by: Mark Brand <markbrand@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6f56a68d0bed16c13e9ec958cd28acbc2991d495 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Sep 15 00:11:30 2015 +0100 ARM: 8438/1: Add unwinding to __clear_user_std() Add unwinding annotations so that unwinding from this function works properly. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit b97b272e72ae07a04a664685c876439215bdeb74 Author: Maninder Singh <maninder1.s@xxxxxxxxxxx> Date: Mon Sep 14 15:59:26 2015 +0100 ARM: 8436/1: hw_breakpoint: remove unnecessary header Header <asm/kdebug.h> is not needed for arm/hw_breakpoint.c, so remove the pointless #include. Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx> Reviewed-by: Vaneet Narang <v.narang@xxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 63c27ae7981e5c28abfe97ca5f6ef92a5070ce7a Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Oct 2 20:33:36 2015 +0100 ARM: 8434/2: Revert "7655/1: smp_twd: make twd_local_timer_of_register() no-op for nosmp" This reverts commit 904464b91eca8c665acea033489225af02eeb75a. The problem pointed out by commit 904464b91eca ("ARM: 7655/1: smp_twd: make twd_local_timer_of_register() no-op for nosmp") doesn't exist anymore. We can safely boot with nosmp and the warning won't show up. The other side benefit of this patch is that TWD has a chance to probe on single-core A9 systems such as AM437x which sport TWD. While at that, also drop SMP dependency from TWD's Kconfig entry. Cc: Shawn Guo <shawn.guo@xxxxxxxxxx> Cc: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 36086d43f6575c081067de9855786a2fc91df77b Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Oct 3 10:49:29 2015 -0400 ext4 crypto: fix bugs in ext4_encrypted_zeroout() Fix multiple bugs in ext4_encrypted_zeroout(), including one that could cause us to write an encrypted zero page to the wrong location on disk, potentially causing data and file system corruption. Fortunately, this tends to only show up in stress tests, but even with these fixes, we are seeing some test failures with generic/127 --- but these are now caused by data failures instead of metadata corruption. Since ext4_encrypted_zeroout() is only used for some optimizations to keep the extent tree from being too fragmented, and ext4_encrypted_zeroout() itself isn't all that optimized from a time or IOPS perspective, disable the extent tree optimization for encrypted inodes for now. This prevents the data corruption issues reported by generic/127 until we can figure out what's going wrong. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 687c3c36e754a999a8263745b27965128db4fee5 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Oct 3 10:49:27 2015 -0400 ext4 crypto: replace some BUG_ON()'s with error checks Buggy (or hostile) userspace should not be able to cause the kernel to crash. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3684de8ca2b82180f2cdcf5fbcfd3d29ef0afaf8 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Oct 3 10:49:26 2015 -0400 ext4 crypto: ext4_page_crypto() doesn't need a encryption context Since ext4_page_crypto() doesn't need an encryption context (at least not any more), this allows us to simplify a number function signature and also allows us to avoid needing to allocate a context in ext4_block_write_begin(). It also means we no longer need a separate ext4_decrypt_one() function. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit cccd147a57e47527ce9c27fcd5f0a1c5669d6870 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sat Oct 3 10:49:23 2015 -0400 ext4: optimize ext4_writepage() for attempted 4k delalloc writes In cases where the file system block size is the same as the page size, and ext4_writepage() is asked to write out a page which is either has the unwritten bit set in the extent tree, or which does not yet have a block assigned due to delayed allocation, we can bail out early and, unlocking the page earlier and avoiding a round trip through ext4_bio_write_page() with the attendant calls to set_page_writeback() and redirty_page_for_writeback(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f4f24d1fd0803e8b5de5da373276f5046bef7463 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 17:25:15 2015 -0300 [media] drxd: use kzalloc in drxd_attach() This saves a little .text and removes the sizeof(...) style inconsistency. Use sizeof(*state) in accordance with CodingStyle. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit edf8875f21c34102be54becfb5f435f0b7ca5a65 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Thu Oct 1 11:25:57 2015 -0300 [media] i2c: fix platform_no_drv_owner.cocci warnings drivers/media/i2c/ml86v7667.c:430: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 6903acde49372001c83d8717a5435d0f91896914 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 19:27:07 2015 -0300 [media] vivid: Add an option to configure the maximum number of devices The vivid driver currently has a hard-coded limit of 64 devices, however there's nothing that prevents the creation of even more devices. This commit adds a new driver option (which defaults to 64) to allow this maximum number to be configurable. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a5d42b8c3b3ddccd88dc1c70957177d31a6699fb Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 18:36:51 2015 -0300 [media] vivid: Fix iteration in driver removal path When the diver is removed and all the resources are deallocated, we should be iterating through the created devices only. Currently, the iteration ends when vivid_devs[i] is NULL. Since the array contains VIVID_MAX_DEVS elements, it will oops if n_devs=VIVID_MAX_DEVS because in that case, no element is NULL. Fixes: c88a96b023d8 ('[media] vivid: add core driver code') Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d2d04834d937bc43b185681a9dcdd67883ed32c7 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 11:00:13 2015 -0300 [media] media: am437x-vpfe: fix handling platform_get_irq result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 08ed049af5e9228d62104fdcecf8d86ccd209639 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 11:00:14 2015 -0300 [media] staging: media: omap4iss: fix handling platform_get_irq result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e54560d963866a45e5905a16821e3904ed0c9561 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 11:00:18 2015 -0300 [media] cx231xx: fix handling cx231xx_read_i2c_data result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2788052a8ac9326723c8526f9c5953b8cfff8ab5 Author: Erik Andresen <erik@xxxxxxxxxxx> Date: Sat Sep 19 14:30:30 2015 -0300 [media] Add Terratec H7 Revision 4 to DVBSky driver Adds Terratec H7 Rev. 4 with USB id 0ccd:10a5 to DVBSky driver. Signed-off-by: Erik Andresen <erik@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bc28bb33275b26a0c1139e8dbcfa50d9f8918f6d Author: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Date: Fri Sep 4 17:04:04 2015 -0300 [media] staging: lirc: fix indentation Fix non-tab indentation. This resolves the following checkpatch problem: ERROR: code indent should use tabs where possible [mchehab@xxxxxxxxxxxxxxx: remove a hunk already applyed by some other patch] Signed-off-by: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f84456466c55d2e034ba308975bd3b970d8dd5ab Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 6 07:11:48 2015 -0300 [media] VIDEO_RENESAS_JPU should depend on HAS_DMA If NO_DMA=y: warning: (VIDEO_STI_BDISP && VIDEO_RENESAS_JPU && VIDEO_DM365_VPFE && VIDEO_OMAP4) selects VIDEOBUF2_DMA_CONTIG which has unmet direct dependencies (MEDIA_SUPPORT && HAS_DMA) drivers/media/v4l2-core/videobuf2-dma-contig.c: In function â??vb2_dc_mmapâ??: drivers/media/v4l2-core/videobuf2-dma-contig.c:207: error: implicit declaration of function â??dma_mmap_coherentâ?? drivers/media/v4l2-core/videobuf2-dma-contig.c: In function â??vb2_dc_get_base_sgtâ??: drivers/media/v4l2-core/videobuf2-dma-contig.c:390: error: implicit declaration of function â??dma_get_sgtableâ?? VIDEO_RENESAS_JPU selects VIDEOBUF2_DMA_CONTIG, which bypasses its dependency on HAS_DMA. Make VIDEO_RENESAS_JPU depend on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4b4c7a197a7af402ae5a6eb85d4cc9002c974a5a Author: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Date: Fri Sep 4 17:04:05 2015 -0300 [media] staging: lirc: lirc_serial: use dynamic debugs Replace custom debug macro dprintk() with pr_debug() or dev_dbg(). Remove unused module param `debug`. This removes the following checkpatch warning: WARNING: Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ... + printk(KERN_DEBUG LIRC_DRIVER_NAME ": " \ Signed-off-by: Maciek Borzecki <maciek.borzecki@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 702c287082cd92cb792cfe5afd8c5160bf563b4f Author: Graham Eccleston <grahameccleston_@xxxxxxxxxxx> Date: Sun Aug 9 11:38:07 2015 -0300 [media] Compro U650F support Added Compro U650F to the rtl28xxu devices. Signed-off-by: Graham Eccleston <grahameccleston_@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4236e2a1ad679f3b57b23ba333f261b514814f4f Merge: 28117b0 9c70d7c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 3 05:16:50 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-30 This series contains updates to i40e and i40evf only. Vasily Averin provides a couple of rtnl lock/unlock fixes for both i40e and i40evf. Shannon provides several updates and fixes, first fixes up a type clash in i40e_aq_rc_to_posix(), where the error codes are signed values, so we need to treat them as such. Then fixes up a padding issue where an extra byte is added in i40e_aqc_get_cee_dcb_cfg_v1_resp to directly acknowledge the padding. Updated i40e to keep debugfs register read and writes from accessing outside of the io-remapped space. Added support and device id for another 20 GbE device. Jesse fixes the transmit hand workaround code for ARM that was causing Tx hangs to still occur occasionally when there really was no hang. Then fixed the receive dropped counter to show up in netstat interface. Refactor the interrupt enable function since it was always making the caller add the base_vector from the VSI struct which is already passed to the function. Fix kbuild warnings found in 0day build infrastructure by adding a harmless cast to a dev_info(), also fix 32 bit build warnings found by sparse. Greg fixed a configuration error that results if a port VLAN is set for a VF before the VF driver is loaded, so that when the VF driver is loaded the port VLAN is ignored. Mitch fixes the use of QOS field consistently in i40e_ndo_set_vf_port_vlan(). Modified the init timing of the driver to increase stability on load/unload and SR-IOV enable/disable cycles. Anjali updates i40e to not collect VEB stats if they are disabled in the hardware for performance reasons. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28117b08e55a70322389c4366751b35a2bb9d393 Merge: f8e1100 22d4df8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 3 05:05:30 2015 -0700 Merge branch 'ravb-r8a7795' Simon Horman says: ==================== ravb: Add support for r8a7795 SoC please consider this series for net-next. It enhances the ravb driver to support the r8a7795 SoC. Changes: * Dropped RFC prefix * Details in changelog of individual patches Base: * net-next/master Availability: To aid review of this in conjunction with other EtherAVB changes the following branches are available in my renesas tree on kernel.org. * me/r8a7795-ravb-driver-v4: this series * me/r8a7795-ravb-pfc-v2: r8a7795 sh-pfc update for EthernetAVB * me/r8a7795-ravb-integration-v4: enable EthernetAVB on r8a7795 * me/r8a7795-ravb-driver-and-integration-v4.runtime: the above three branches with their runtime dependencies ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22d4df8ff3a3cc7251671d129a7185c66a929ddc Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Wed Sep 30 15:15:55 2015 +0900 ravb: Add support for r8a7795 SoC This patch supports the r8a7795 SoC by: - Using two interrupts + One for E-MAC + One for everything else + Both can be handled by the existing common interrupt handler, which affords a simpler update to support the new SoC. In future some consideration may be given to implementing multiple interrupt handlers - Limiting the phy speed to 100Mbit/s for the new SoC; at this time it is not clear how this restriction may be lifted but I hope it will be possible as more information comes to light Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> [horms: reworked] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 619f3bd2e1f24dd6221e563e051c798844b83a93 Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Wed Sep 30 15:15:54 2015 +0900 ravb: Document binding for r8a7795 SoC This patch updates the ravb binding to support the r8a7795 SoC by: - Adding a compat string for the new hardware - Adding 25 named interrupts to binding for the new SoC; older SoCs continue to use a single multiplexed interrupt The example is also updated to reflect the r8a7795 as this is the more complex case. Based on work by Kazuya Mizuguchi and others. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2dbb33ad9545de6859747b92556a74a81bed8f5 Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Date: Wed Sep 30 15:15:53 2015 +0900 ravb: Provide dev parameter to DMA API This patch is in preparation for using this driver on arm64 where the implementation of __dma_alloc_coherent fails if a device parameter is not provided. Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@xxxxxxxxxxx> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Masaru Nagai <masaru.nagai.vx@xxxxxxxxxxx> [horms: squashed into a single patch] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f3a6bd393c2c5d0e6b16624ba99a1c5fa07bdb0b Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Sep 30 15:15:52 2015 +0900 phylib: Add phy_set_max_speed helper Add a helper to allow ethernet drivers to limit the speed of a phy (that they are attached to). This mainly involves factoring out the business-end of of_set_phy_supported() and exporting a new symbol. This code seems to be open coded in several places, in several different variants. It is is envisaged that this will be used in situations where setting the "max-speed" property in DT is not appropriate, e.g. because the maximum speed is not a property of the phy hardware. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8e1100afc4f362e94c2d4a3231f16c77beb6d1b Merge: bd8762b 754f1e6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 3 05:02:50 2015 -0700 Merge branch 'bpf-updates' Daniel Borkmann says: ==================== BPF updates Some minor updates to {cls,act}_bpf to retrieve routing realms and to make skb->priority writable. Thanks! v1 -> v2: - Dropped preclassify patch for now from the series as the rest is pretty much independent of it - Rest unchanged, only rebased and already posted Acked-by's kept ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 754f1e6a36c9b42525de223ee1ba628dcafbad41 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 30 01:41:52 2015 +0200 sched, bpf: make skb->priority writable {cls,act}_bpf can now set the skb->priority from an eBPF program based on various critera, so that for example classful qdiscs like multiq can update the skb's priority during enqueue time and further push it down into subsequent qdiscs. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c46646d0484f5d08e2bede9b45034ba5b8b489cc Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 30 01:41:51 2015 +0200 sched, bpf: add helper for retrieving routing realms Using routing realms as part of the classifier is quite useful, it can be viewed as a tag for one or multiple routing entries (think of an analogy to net_cls cgroup for processes), set by user space routing daemons or via iproute2 as an indicator for traffic classifiers and later on processed in the eBPF program. Unlike actions, the classifier can inspect device flags and enable netif_keep_dst() if necessary. tc actions don't have that possibility, but in case people know what they are doing, it can be used from there as well (e.g. via devs that must keep dsts by design anyway). If a realm is set, the handler returns the non-zero realm. User space can set the full 32bit realm for the dst. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a91263d520246b63c63e75ddfb072ee6a853fe15 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 30 01:41:50 2015 +0200 ebpf: migrate bpf_prog's flags to bitfield As we need to add further flags to the bpf_prog structure, lets migrate both bools to a bitfield representation. The size of the base structure (excluding insns) remains unchanged at 40 bytes. Add also tags for the kmemchecker, so that it doesn't throw false positives. Even in case gcc would generate suboptimal code, it's not being accessed in performance critical paths. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd8762bec95ed81d5b81390ff23c5f83345cb536 Merge: c3fc7ac 9e8f4a5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 3 04:49:48 2015 -0700 Merge branch 'switchdev-obj' Jiri Pirko says: ==================== switchdev: bring back switchdev_obj Second version of the patch extends to a patchset. Basically this patchset brings object structure back which disappeared with recent Vivien's patchset. Also it does a bit of naming changes in order to get the things in line. Also, object id is put back into object structure. Thanks to Scott and Vivien for review and suggestions. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9e8f4a548ab4710002c23c94c4b1bbde91b5e335 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:46 2015 +0200 switchdev: push object ID back to object structure Suggested-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 648b4a995a057187ddd77cdb181e6a0b24ab2959 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:45 2015 +0200 switchdev: bring back switchdev_obj and use it as a generic object param Replace "void *obj" with a generic structure. Introduce couple of helpers along that. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52ba57cfdc4c90da3bf996dfbe0c5feb731eb477 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:44 2015 +0200 switchdev: rename switchdev_obj_fdb to switchdev_obj_port_fdb Make the struct name in sync with object id name. Suggested-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f24f3095dcedaa4eb4719eee2bed738fe2ce4a0 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:43 2015 +0200 switchdev: rename switchdev_obj_vlan to switchdev_obj_port_vlan Make the struct name in sync with object id name. Suggested-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f86839874a50c9ee2009567d2f312b1e1949e24 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:42 2015 +0200 switchdev: rename SWITCHDEV_ATTR_* enum values to SWITCHDEV_ATTR_ID_* To be aligned with obj. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57d80838dae55c1bc6ca629e471c84100513079a Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Oct 1 11:03:41 2015 +0200 switchdev: rename SWITCHDEV_OBJ_* enum values to SWITCHDEV_OBJ_ID_* Suggested-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3fc7ac9a0b978ee8538058743d21feef25f7b33 Merge: f6d3125 e994b2f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 3 04:32:52 2015 -0700 Merge branch 'tcp-lockless-listener' Eric Dumazet says: ==================== tcp/dccp: lockless listener TCP listener refactoring : this is becoming interesting ! This patch series takes the steps to use normal TCP/DCCP ehash table to store SYN_RECV requests, instead of the private per-listener hash table we had until now. SYNACK skb are now attached to their syn_recv request socket, so that we no longer heavily modify listener sk_wmem_alloc. listener lock is no longer held in fast path, including SYNCOOKIE mode. During my tests, my server was able to process 3,500,000 SYN packets per second on one listener and still had available cpu cycles. That is about 2 to 3 order of magnitude what we had with older kernels. This effort started two years ago and I am pleased to reach expectations. We'll probably extend SO_REUSEPORT to add proper cpu/numa affinities, so that heavy duty TCP servers can get proper siloing thanks to multi-queues NIC. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e994b2f0fb9229aeff5eea9541320bd7b2ca8714 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:39 2015 -0700 tcp: do not lock listener to process SYN packets Everything should now be ready to finally allow SYN packets processing without holding listener lock. Tested: 3.5 Mpps SYNFLOOD. Plenty of cpu cycles available. Next bottleneck is the refcount taken on listener, that could be avoided if we remove SLAB_DESTROY_BY_RCU strict semantic for listeners, and use regular RCU. 13.18% [kernel] [k] __inet_lookup_listener 9.61% [kernel] [k] tcp_conn_request 8.16% [kernel] [k] sha_transform 5.30% [kernel] [k] inet_reqsk_alloc 4.22% [kernel] [k] sock_put 3.74% [kernel] [k] tcp_make_synack 2.88% [kernel] [k] ipt_do_table 2.56% [kernel] [k] memcpy_erms 2.53% [kernel] [k] sock_wfree 2.40% [kernel] [k] tcp_v4_rcv 2.08% [kernel] [k] fib_table_lookup 1.84% [kernel] [k] tcp_openreq_init_rwin Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92d6f176fdcce1a9c22a59d754c924168fdf2ce4 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:38 2015 -0700 tcp/dccp: add a reschedule point in inet_csk_listen_stop() If a listener with thousands of children in accept queue is dismantled, it can take a while to close all of them. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef547f2ac16bd9d77a780a0e7c70857e69e8f23f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:37 2015 -0700 tcp: remove max_qlen_log This control variable was set at first listen(fd, backlog) call, but not updated if application tried to increase or decrease backlog. It made sense at the time listener had a non resizeable hash table. Also rounding to powers of two was not very friendly. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10cbc8f179177c1a6d5f56a46ebddc8f602ce5ac Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:36 2015 -0700 tcp/dccp: remove struct listen_sock It is enough to check listener sk_state, no need for an extra condition. max_qlen_log can be moved into struct request_sock_queue We can remove syn_wait_lock and the alignment it enforced. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca6fb06518836ef9b65dc0aac02ff97704d52a05 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:35 2015 -0700 tcp: attach SYNACK messages to request sockets instead of listener If a listen backlog is very big (to avoid syncookies), then the listener sk->sk_wmem_alloc is the main source of false sharing, as we need to touch it twice per SYNACK re-transmit and TX completion. (One SYN packet takes listener lock once, but up to 6 SYNACK are generated) By attaching the skb to the request socket, we remove this source of contention. Tested: listen(fd, 10485760); // single listener (no SO_REUSEPORT) 16 RX/TX queue NIC Sustain a SYNFLOOD attack of ~320,000 SYN per second, Sending ~1,400,000 SYNACK per second. Perf profiles now show listener spinlock being next bottleneck. 20.29% [kernel] [k] queued_spin_lock_slowpath 10.06% [kernel] [k] __inet_lookup_established 5.12% [kernel] [k] reqsk_timer_handler 3.22% [kernel] [k] get_next_timer_interrupt 3.00% [kernel] [k] tcp_make_synack 2.77% [kernel] [k] ipt_do_table 2.70% [kernel] [k] run_timer_softirq 2.50% [kernel] [k] ip_finish_output 2.04% [kernel] [k] cascade Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b33bc3e9e903f7293f7dfe80a875b2a5d0305aa Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:34 2015 -0700 ipv6: remove obsolete inet6 functions inet6_csk_search_req() and inet6_csk_reqsk_queue_hash_add() no longer exist. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 81b496b31a4331415b6a644b485a329ec0b45155 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:33 2015 -0700 tcp/dccp: shrink struct listen_sock We no longer use hash_rnd, nr_table_entries and syn_table[] For a listener with a backlog of 10 millions sockets, this saves 80 MBytes of vmalloced memory. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 079096f103faca2dd87342cca6f23d4b34da8871 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:32 2015 -0700 tcp/dccp: install syn_recv requests into ehash table In this patch, we insert request sockets into TCP/DCCP regular ehash table (where ESTABLISHED and TIMEWAIT sockets are) instead of using the per listener hash table. ACK packets find SYN_RECV pseudo sockets without having to find and lock the listener. In nominal conditions, this halves pressure on listener lock. Note that this will allow for SO_REUSEPORT refinements, so that we can select a listener using cpu/numa affinities instead of the prior 'consistent hash', since only SYN packets will apply this selection logic. We will shrink listen_sock in the following patch to ease code review. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Ying Cai <ycai@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2feda34192a379f8b35a7c6c5826b2f23e884f32 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:31 2015 -0700 tcp/dccp: remove inet_csk_reqsk_queue_added() timeout argument This is no longer used. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa3a0c8ce651b5e16124866b0a10d1b90b9ef022 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:30 2015 -0700 tcp: get_openreq[46]() changes When request sockets are no longer in a per listener hash table but on regular TCP ehash, we need to access listener uid through req->rsk_listener get_openreq6() also gets a const for its request socket argument. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9cfd08601f49a4536e4407286b5f07b24293e474 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:29 2015 -0700 tcp: remove BUG_ON() in tcp_check_req() Once listener is lockless, its sk_state can change anytime. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba8e275a457397ab06f3567cf7bef0d78a43ae7e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:28 2015 -0700 tcp: cleanup tcp_v[46]_inbound_md5_hash() We'll soon have to call tcp_v[46]_inbound_md5_hash() twice. Also add const attribute to the socket, as it might be the unlocked listener for SYN packets. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b267cdd1075d28501b7c05c7aeb8466775505e8d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:27 2015 -0700 tcp/dccp: init sk_prot and call sk_node_init() in reqsk_alloc() We plan to use generic functions to insert request sockets into ehash table. sk_prot needs to be set (to retrieve sk_prot->h.hashinfo) sk_node needs to be cleared. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38cb52455c2c3e8b5751350a3fb32e43e82e129a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:26 2015 -0700 tcp: call sk_mark_napi_id() on the child, not the listener This fixes a typo : We want to store the NAPI id on child socket. Presumably nobody really uses busy polling, on short lived flows. Fixes: 3d97379a67486 ("tcp: move sk_mark_napi_id() at the right place") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d2675f1e464aa5cedda63849adecffd8d33fead Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:25 2015 -0700 tcp: move synflood_warned into struct request_sock_queue long term plan is to remove struct listen_sock when its hash table is no longer there. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aac065c50aba0c534a929aeb687eb68c58e523b8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:24 2015 -0700 tcp: move qlen/young out of struct listen_sock qlen_inc & young_inc were protected by listener lock, while qlen_dec & young_dec were atomic fields. Everything needs to be atomic for upcoming lockless listener. Also move qlen/young in request_sock_queue as we'll get rid of struct listen_sock eventually. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fff1f3001cc58b5064a0f1154a7ac09b76f29c44 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 2 11:43:23 2015 -0700 tcp: add a spinlock to protect struct request_sock_queue struct request_sock_queue fields are currently protected by the listener 'lock' (not a real spinlock) We need to add a private spinlock instead, so that softirq handlers creating children do not have to worry with backlog notion that the listener 'lock' carries. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9ab96e212808123fbd9072d580a59194e5cd410 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 21 12:55:16 2015 +0200 iio: bmc150: Add SPI driver Add a simple SPI driver which initializes the spi regmap for the bmc150 core driver. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 55637c38377a301cd0768cee73021e43d05de543 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 21 12:55:15 2015 +0200 iio: bmc150: Split the driver into core and i2c Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Tested-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 19c95d63e7768fe8909775188f5ef948f7ce324a Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 21 12:55:14 2015 +0200 iio: bcm150: Remove i2c_client from private data i2c_client struct is now only used for debugging output. We can use the device struct as well so we can remove all struct i2c_client usage. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Tested-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4011eda6139b315af3483c6de7dbdded3b07aedf Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 21 12:55:13 2015 +0200 iio: bmc150: Use i2c regmap This replaces all usage of direct i2c accesses with regmap accesses. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Tested-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0f0796509c07c1c7b77671c05b2955beb245e367 Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Wed Sep 23 12:02:01 2015 +0300 iio: remove gpio interrupt probing from drivers that use a single interrupt Commit 845c877009cf014b ("i2c / ACPI: Assign IRQ for devices that have GpioInt automatically") automatically assigns the first ACPI GPIO interrupt in client->irq, so we can remove the probing code from drivers that use only one interrupt. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 90b3b37383fd083481655d5529686ca4eda4da2b Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 13:46:19 2015 +0200 EDAC, ppc4xx_edac: Fix module autoload for OF platform driver This platform driver has an 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 <luisbg@xxxxxxxxxxxxxxx> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150917114619.GA13145@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 6839c1b0700a79375639528985a0ec0fbd58cf9a Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Wed Sep 23 12:02:00 2015 +0300 iio: fix drivers that use 0 as a valid IRQ in client->irq (part 2) Since commit dab472eb931bc291 ("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> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit eda7d0f38aaf50dbb2a2de15e8db386c4f6f65fc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Sat Aug 8 22:16:42 2015 +0300 iio: accel: sca3000: memory corruption in sca3000_read_first_n_hw_rb() "num_read" is in byte units but we are write u16s so we end up write twice as much as intended. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 61fd56309165d4790f99462d893b099f0b07312a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 2 21:02:58 2015 +0200 iio: st_accel: fix interrupt handling on LIS3LV02 This accelerometer accidentally either emits a DRDY signal or an IRQ signal. Accidentally I activated the IRQ signal as I thought it was analogous to the interrupt generator on other ST accelerometers. This was wrong. After this patch generic_buffer gives a nice stream of accelerometer readings. Fixes: 3acddf74f807778f "iio: st-sensors: add support for lis3lv02d accelerometer" Cc: Denis CIOCCA <denis.ciocca@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: <Stable@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7cc97d77ee8a90a6389b96a62472cddc02475ffc Author: Adam YH Lee <adam.yh.lee@xxxxxxxxx> Date: Tue Aug 4 11:15:48 2015 -0700 iio: adc: twl4030: Fix ADC[3:6] readings MADC[3:6] reads incorrect values without these two following changes: - enable the 3v1 bias regulator for ADC[3:6] - configure ADC[3:6] lines as input, not as USB Signed-off-by: Adam YH Lee <adam.yh.lee@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1de953e77b8c8b8cb6f734733cf20e95a1b0fbb8 Author: Crt Mori <cmo@xxxxxxxxxxx> Date: Fri Oct 2 14:24:21 2015 +0200 iio: mlx96014: Error checking from positive to negative Dan Carpenter reported a static checker report and after his mail I noticed that we actually return from function if positive value is obtained from i2c read. This was remainder from when code was not in separate function (which I changed during the review process). Static checker reported drivers/iio/temperature/mlx90614.c:167 mlx90614_iir_search() warn: this cast is a no-op which meant that cast before negating is useless. Dan also proposed a solution on nicer bit operation form. Also changed magic number to macro in process as that was confusing. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Crt Mori <cmo@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a914169f5f00452e31f92e4b0a665dd1ad345730 Author: Caesar Wang <wxt@xxxxxxxxxxxxxx> Date: Tue Sep 8 14:18:21 2015 +0800 dt-bindings: add power-domain header for RK3288 SoCs According to a description from TRM, add all the power domains. At the moment, we can support some domains on RK3288. We can add more types on RK3288 in the future, that's need to do. Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e3b0ac1b7a8a590440a2030e7d10d48c59ab8a2a Merge: c2365b9 19afd10 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Oct 3 08:20:14 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: - Do event name substring search as last resort in 'perf list'. (Arnaldo Carvalho de Melo) E.g.: # perf list clock List of pre-defined events (to be used in -e): cpu-clock [Software event] task-clock [Software event] uncore_cbox_0/clockticks/ [Kernel PMU event] uncore_cbox_1/clockticks/ [Kernel PMU event] kvm:kvm_pvclock_update [Tracepoint event] kvm:kvm_update_master_clock [Tracepoint event] power:clock_disable [Tracepoint event] power:clock_enable [Tracepoint event] power:clock_set_rate [Tracepoint event] syscalls:sys_enter_clock_adjtime [Tracepoint event] syscalls:sys_enter_clock_getres [Tracepoint event] syscalls:sys_enter_clock_gettime [Tracepoint event] syscalls:sys_enter_clock_nanosleep [Tracepoint event] syscalls:sys_enter_clock_settime [Tracepoint event] syscalls:sys_exit_clock_adjtime [Tracepoint event] syscalls:sys_exit_clock_getres [Tracepoint event] syscalls:sys_exit_clock_gettime [Tracepoint event] syscalls:sys_exit_clock_nanosleep [Tracepoint event] syscalls:sys_exit_clock_settime [Tracepoint event] - Reduce min 'perf stat --interval-print/-I' to 10ms. (Kan Liang) perf stat --interval in action: # perf stat -e cycles -I 50 -a usleep $((200 * 1000)) print interval < 100ms. The overhead percentage could be high in some cases. Please proceed with caution. # time counts unit events 0.050233636 48,240,396 cycles 0.100557098 35,492,594 cycles 0.150804687 39,295,112 cycles 0.201032269 33,101,961 cycles 0.201980732 786,379 cycles # - Allow for max_stack greater than PERF_MAX_STACK_DEPTH, as when synthesizing callchains from Intel PT data. (Adrian Hunter) - Allow probing on kmodules without DWARF. (Masami Hiramatsu) - Fix a segfault when processing a perf.data file with callchains using "perf report --call-graph none". (Namhyung Kim) - Fix unresolved COMMs in 'perf top' when -s comm is used. (Namhyung Kim) - Register idle thread in 'perf top'. (Namhyung Kim) - Change 'record.samples' type to unsigned long long, fixing output of number of samples in 32-bit architectures. (Yang Shi) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 937d7b84dca58f2565715f2c8e52f14c3d65fb22 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Oct 2 23:54:58 2015 -0400 ext4 crypto: fix memory leak in ext4_bio_write_page() There are times when ext4_bio_write_page() is called even though we don't actually need to do any I/O. This happens when ext4_writepage() gets called by the jbd2 commit path when an inode needs to force its pages written out in order to provide data=ordered guarantees --- and a page is backed by an unwritten (e.g., uninitialized) block on disk, or if delayed allocation means the page's backing store hasn't been allocated yet. In that case, we need to skip the call to ext4_encrypt_page(), since in addition to wasting CPU, it leads to a bounce page and an ext4 crypto context getting leaked. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 21d19f87d483fbac66ca24863b8c8d52a7ab539d Author: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Date: Sat Oct 3 05:02:28 2015 +0200 NFC: nci: Use __nci_request for exported routines Since we do not know in which context drivers will call these routines, they should use the unlocked version of nci_request, i.e. __nci_request. It is up to drivers to know/decide if they need to take the req_lock mutex before calling those routines. When being called from the NCI setup routine there is no need to do so as ops->setup is called under req_lock. Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 69c308e2bcc303ab3eebb9b554de598dd4597b75 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Sep 30 21:07:18 2015 +0900 pinctrl: pinconf-generic: add "input-schmitt" DT property PIN_CONFIG_INPUT_SCHMITT is defined in enum_pin_config_param, but the corresponding DT property is missing. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3c4b23dd71ea6f68be9731b68877fbc05f4fb693 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Sep 30 21:07:17 2015 +0900 pinctrl: pinconf-generic: sort pin configuration params alphabetically Currently, the dt_params array in drivers/pinctrl/pinconf-generic.c is not sorted in the same order as the enum pin_config_param in include/linux/pinctrl/pinconf-generic.h. Sort enum pin_config_param, conf_items, dt_params, alphabetically for consistency. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2db8aba860c70478f6af18c410a3e513a2d2f541 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Sep 29 12:55:44 2015 +0200 gpio: pca953x: Add TI TCA9539 support The TCA9539 is almost identical to the PCA9555 and software-compatible with this driver. It exposes 16 general purpose I/O pins in two 8-bit configurations. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7474f23dd05713dacc5f22d309913c96bce1c92b Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Sep 26 22:18:20 2015 +0200 gpio: max730x: eliminate double free The function __max730x_remove is called from the remove functions of drivers/gpio/gpio-max7300.c and drivers/gpio/gpio-max7301.c. In both cases, the probe function allocates ts using devm_kzalloc. Explicitly freeing such a value with kfree will cause a double free. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 89092fb0701d3b4070ade6d0aa04640720f52fbd Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Sep 28 11:41:13 2015 +0200 pinctrl: at91-pio4: irq argument as been removed from irq flow handlers Irq argument as been removed from irq flow handlers so use the irq descriptor to retrieve data we need. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3fd550c6b3cb364a0d3f0e4abf64618b998dc6b4 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Sep 28 11:41:12 2015 +0200 pinctrl: at91-pio4: use irq_set_handler_locked Use irq_set_handler_locked() as it avoids a redundant lookup of the irq descriptor. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a169400b506e98bb90a92c7211f4bed751341750 Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Wed Sep 30 11:11:09 2015 -0500 pinctrl: freescale: imx: imx7d iomuxc-lpsr devicetree bindings Add iomuxc-lpsr devicetree bindings documentation Provide documentation context as well an example on pheriperals that could use pad from either iomuxc controller supported by iMX7D SoC Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 978fd1d7265aee0d8be501f416017d029e6977a7 Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Wed Sep 30 11:11:08 2015 -0500 pinctrl: freescale: imx7d: support iomux lpsr controller iMX7D has two iomuxc controllers, iomuxc controller similar as previous iMX SoC generation and iomuxc-lpsr which provides low power state rentetion capabilities on gpios that are part of iomuxc-lpsr Add iomuxc-lpsr gpio group id's Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 26d8cde5260b5d0236d50501b6ef1a444774b33b Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Fri Sep 25 16:06:00 2015 -0500 pinctrl: freescale: imx: add shared input select reg support - Add shared input select register support - imx7d has two iomux controllers iomuxc and iomuxc-lpsr which share select_input register for daisy chain settings Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e7b37a522aa92da5f47106aa07b6c1fc58bfd922 Author: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Date: Fri Sep 25 16:05:59 2015 -0500 pinctrl: freescale: imx: allow mux_reg offset zero Allow mux_reg offset zero to be a valid pin_id, on imx7d mux_conf reg offset is zero for iomuxc-lspr controller Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit aa6555622cdf443f0b001352fdc3afb6e7bce20d Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Oct 2 10:47:29 2015 +0300 nl802154: Missing return in nl802154_add_llsec_key() There was a missing return here so it meant that often ieee802154_llsec_parse_key_id() was not called. Fixes: a26c5fd7622d ('nl802154: add support for security layer') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1c5dc33514002395cf07fa818b95ac4ac21364db Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Sun Aug 23 03:57:38 2015 +0300 drm/radeon: remove volatile qualifier There doesn't seem to be any need to have 'ib' volatile, the code is not even consistent with it and some places already miss it. As it is now it's just making gcc produce worse code. If there are special requirements for that memory, then proper primitives like memory barriers or accessor functions should be used, but it doesn't look like that is needed here. While at it, change the type to match the one in radeon_ib structure. Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7874d3901d752dc9ea31bbb32f519bc9a2c1b6aa Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Sun Aug 23 03:57:37 2015 +0300 drm/radeon: refactor register check loop After this patch the register check loop does the same thing as before, except that now gcc does better job optimizing it: it now sees that end_reg was already checked against PACKET3_SET_CONTEXT_REG_END and can optimize REG_SAFE_BM_SIZE comparison out of evergreen_is_safe_reg() as (PACKET3_SET_CONTEXT_REG_END >> 7) < REG_SAFE_BM_SIZE. Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit e5b69da6badca8286a67c1d0d1c6634e65c7e669 Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Sun Aug 23 03:57:36 2015 +0300 drm/radeon: split evergreen_cs_check_reg evergreen_cs_check_reg() is a large function and gcc doesn't want to inline it. It has a quick check for reg_safe_bm[] to see if register needs special handling, which often results in early exit. However because the function is large, it has a long prologue/epilogue to save/restore all the callee-save registers which according to perf is taking significant amount of time. To avoid this, we can reuse evergreen_is_safe_reg() to do the early check directly in register loop. Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4a985353d461951e4ed51abc281c09a780d30058 Author: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Sun Aug 23 03:57:35 2015 +0300 drm/radeon: simplify register checker To avoid having to distinguish between CAYMAN or older on every register check, place a pointer in evergreen_cs_track and use it unconditionally. Also make use of the fact that both reg_safe_bm[] arrays are of the same length to remove another CAYMAN check. Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 1694467b96cadd1b166b3bd0365b2431a7685143 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sat Sep 5 11:17:35 2015 +0200 drm/amdgpu: Spell vga_switcheroo consistently Currently everyone and their dog has their own favourite spelling for vga_switcheroo. This makes it hard to grep dmesg for log entries relating to vga_switcheroo. It also makes it hard to find related source files in the tree. vga_switcheroo.c uses pr_fmt "vga_switcheroo". Use that everywhere. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 8e5de1d8c34c63331f12cf7bf7bbf115bba0317a Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sat Sep 5 11:14:43 2015 +0200 drm/radeon: Spell vga_switcheroo consistently Currently everyone and their dog has their own favourite spelling for vga_switcheroo. This makes it hard to grep dmesg for log entries relating to vga_switcheroo. It also makes it hard to find related source files in the tree. vga_switcheroo.c uses pr_fmt "vga_switcheroo". Use that everywhere. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 450fa54cfd66e3dda6eda26256637ee8928af12a Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri Sep 25 12:28:03 2015 -0700 gpio: omap: convert to use generic irq handler This patch converts TI OMAP GPIO driver to use generic irq handler instead of chained IRQ handler. This way OMAP GPIO driver will be compatible with RT kernel where it will be forced thread IRQ handler while in non-RT kernel it still will be executed in HW IRQ context. As part of this change the IRQ wakeup configuration is applied to GPIO Bank IRQ as it now will be under control of IRQ PM Core during suspend. There are also additional benefits: - on-RT kernel there will be no complains any more about PM runtime usage in atomic context "BUG: sleeping function called from invalid context"; - GPIO bank IRQs will appear in /proc/interrupts and its usage statistic will be visible; - GPIO bank IRQs could be configured through IRQ proc_fs interface and, as result, could be a part of IRQ balancing process if needed; - GPIO bank IRQs will be under control of IRQ PM Core during suspend to RAM. Disadvantage: - additional runtime overhed as call chain till omap_gpio_irq_handler() will be longer now - necessity to use wa_lock in omap_gpio_irq_handler() to W/A warning in handle_irq_event_percpu() WARNING: CPU: 1 PID: 35 at kernel/irq/handle.c:149 handle_irq_event_percpu+0x51c/0x638() This patch doesn't fully follows recommendations provided by Sebastian Andrzej Siewior [1], because It's required to go through and check all GPIO IRQ pin states as fast as possible and pass control to handle_level_irq or handle_edge_irq. handle_level_irq or handle_edge_irq will perform actions specific for IRQ triggering type and wakeup corresponding registered threaded IRQ handler (at least it's expected to be threaded). IRQs can be lost if handle_nested_irq() will be used, because excecution time of some pin specific GPIO IRQ handler can be very significant and require accessing ext. devices (I2C). Idea of such kind reworking was also discussed in [2]. [1] http://www.spinics.net/lists/linux-omap/msg120665.html [2] http://www.spinics.net/lists/linux-omap/msg119516.html Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Austin Schuh <austin@xxxxxxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 19afd10410957b1c808c2c49a88e6dd8b23aa894 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Oct 2 05:04:34 2015 -0400 perf stat: Reduce min --interval-print to 10ms The --interval-print parameter was limited to 100ms. However, for example, 10ms is required to do sophisticated bandwidth analysis using uncore events. The test shows that the overhead of the system-wide uncore monitoring with 10ms interval is only ~2%. So this patch reduces the minimal interval-print allowd to 10ms. But 10ms may not work well for all cases. For example, when the cpus/threads number is very large, for system-wide core event monitoring the overhead could be high. To handle this issue, a warning will be displayed when the interval-print is set between 10ms to 100ms. So users can make a decision according to their specific cases. # perf stat -e uncore_imc_1/cas_count_read/ -a --interval-print 10 -- sleep 1 print interval < 100ms. The overhead percentage could be high in some cases. Please proceed with caution. # time counts unit events 0.010200451 0.10 MiB uncore_imc_1/cas_count_read/ 0.020475117 0.02 MiB uncore_imc_1/cas_count_read/ 0.030692800 0.01 MiB uncore_imc_1/cas_count_read/ 0.040948161 0.02 MiB uncore_imc_1/cas_count_read/ 0.051159564 0.00 MiB uncore_imc_1/cas_count_read/ 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/1443776674-42511-1-git-send-email-kan.liang@xxxxxxxxx [ Added warning about overhead when using sub 100ms intervals to the man page ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9f065194e2a505bb6fd23946b410a0036e9de2ca Author: Yang Shi <yang.shi@xxxxxxxxxx> Date: Tue Sep 29 14:49:43 2015 -0700 perf record: Change 'record.samples' type to unsigned long long When run "perf record -e", the number of samples showed up is wrong on some 32 bit systems, i.e. powerpc and arm. For example, run the below commands on 32 bit powerpc: perf probe -x /lib/libc.so.6 malloc perf record -e probe_libc:malloc -a ls perf.data [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.036 MB perf.data (13829241621624967218 samples) ] Actually, "perf script" just shows 21 samples. The number of samples is also absurd since samples is long type, but it is printed as PRIu64. Build test ran on x86-64, x86, aarch64, arm, mips, ppc and ppc64. Signed-off-by: Yang Shi <yang.shi@xxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443563383-4064-1-git-send-email-yang.shi@xxxxxxxxxx [ Bumped the 'hits' var used together with record.samples to 'unsigned long long' too ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1a8ac29cbffc261f6d7c92e573878110a7dcbd94 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Oct 2 21:58:32 2015 +0900 perf probe: Allow probing on kmodules without dwarf Allow probing on kernel modules when 'perf' is built without debuginfo support. Currently perf-probe --module requires linking with libdw, but this doesn't make sense. E.g. ---- # make NO_DWARF=1 # ./perf probe -m pcspkr pcspkr_event%return Error: unknown switch `m' ---- With this patch ---- # ./perf probe -m pcspkr pcspkr_event%return Added new event: probe:pcspkr_event (on pcspkr_event%return in pcspkr) You can now use it in all perf tools, such as: perf record -e probe:pcspkr_event -aR sleep 1 ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20151002125832.18617.78721.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 92deea1350f9fa97a841d45cd1f8228d5e8aa667 Author: Noralf Trønnes <noralf@xxxxxxxxxxx> Date: Fri Oct 2 11:30:11 2015 -0700 Input: add support for FocalTech FT6236 touchscreen controller This adds support for the FT6x06 and the FT6x36 family of capacitive touch panel controllers, in particular the FT6236. Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d6f0c3d3a815aca40f1ea9daf6ed0d1f9e243185 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:21:12 2015 -0700 Input: cyttsp - use PTR_ERR_OR_ZERO() The PTR_ERR_OR_ZERO() helper function checks if a pointer contains an errno code and returns it or return 0 if that's not the case. Use the helper instead of open coding the same logic in the driver. This was found with make coccicheck that complains with the following warning: drivers/input/touchscreen/cyttsp4_i2c.c:53:1-3: WARNING: PTR_ERR_OR_ZERO can be used Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c4517f82d23eb72bf0768257bccc5f326c9ceada Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:20:40 2015 -0700 Input: ads7846 - use PTR_ERR_OR_ZERO() The PTR_ERR_OR_ZERO() helper function checks if a pointer contains an errno code and returns it or return 0 if that's not the case. Use the helper instead of open coding the same logic in the driver. This was found with make coccicheck that complains with the following warning: drivers/input/touchscreen/ads7846.c:532:1-3: WARNING: PTR_ERR_OR_ZERO can be used Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e5e66ed00ea555a4f66793b4be84ff99c9c7fa6e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:19:54 2015 -0700 Input: tps6507x-ts - simplify function return logic The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. This also fixes the following make coccicheck warning: drivers/input/touchscreen/tps6507x-ts.c:57:5-8: WARNING: end returns can be simplified Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 901ea5e3a8251c05fcf252149103df7f35733967 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:18:59 2015 -0700 Input: auo-pixcir-ts - simplify function return logic The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. This also fixes the following make coccicheck warnings: end returns can be simplified and declaration on line 402 can be dropped Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a47fcbc24f24c2620bf4bf499d13ec2bf8355e72 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:15:08 2015 -0700 Input: zforce - simplify function return logic The invoked function already returns zero on success or a negative errno code so there is no need to open code the logic in the caller. This also fixes the following make coccicheck warning: end returns can be simplified and declaration on line 602 can be dropped Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko.stuebner@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5ccd9abd508644cefee8641ccd6157e8b55a6ee3 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:14:26 2015 -0700 Input: kxtj9 - remove unneeded retval variable The retval variable isn't needed since isn't used in the function. Remove the variable and just return 0 instead. This also fixes the following make coccicheck warning: drivers/input/misc/kxtj9.c:638:5-11: Unneeded variable: "retval". Return "0" on line 646 Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5702222c9a7af4a207066d54aa95cfe31f34f2f8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 11:12:53 2015 -0700 Input: joydev - use memdup_user() to duplicate memory from user-space The memdup_user() helper function can be used to duplicate a memory region from user-space to kernel-space. There is no need to open code the same logic using kmalloc() and copy_from_user() instead. This was found with make coccicheck that reported the following warning: drivers/input/joydev.c:447:10-17: WARNING opportunity for memdup_user drivers/input/joydev.c:483:10-17: WARNING opportunity for memdup_user Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit aaa59e0911f5624663217c248cfa7cc1c2e33e08 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Oct 2 10:49:48 2015 -0700 Input: goldfish - allow compile the driver with COMPILE_TEST The driver depends on GOLDFISH but there isn't a build dependency so it's a good idea to allow the driver to be built even if that option is disabled, if the COMPILE_TEST option is enabled. That way, the driver can be built with a config generated by make allyesconfig and can be checked if a patch would break the build. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 77fa05541cc02ab87e6d6e42254052b0cd30c3a4 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Fri Oct 2 10:44:00 2015 -0700 Input: gpio_keys - don't report events on gpio failure In the cases where the gpio chip fails to acquire the current state an error is reported back to gpio_keys. This is currently interpreted as if the line went high, which just confuses the developer. This patch introduces an error print in this case and skipps the reporting of a input event; to aid in debugging this issue. Reported-by: John Stultz <john.stultz@xxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6082d88e1d0001fd466c3350b7b256e96f8433ab Merge: 12b5aa6 cdb2bab Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:38:20 2015 -0700 Merge branch 'v4.3-rc3-clk' of https://github.com/jamesjjliao/linux into clk-next Pull mediatek clock support and fixes from James Liao: "This is a collection of new Mediatek clocks support and fixes. These patches come from Joe and me, including clock support for subsystems, GPT and some minor fixes." * 'v4.3-rc3-clk' of https://github.com/jamesjjliao/linux: clk: mediatek: Add USB clock support in MT8173 APMIXEDSYS clk: mediatek: Add subsystem clocks of MT8173 dt-bindings: ARM: Mediatek: Document devicetree bindings for clock controllers clk: mediatek: Fix rate and dependency of MT8173 clocks clk: mediatek: Add fixed clocks support for Mediatek SoC. clk: mediatek: Add __initdata and __init for data and functions clk: mediatek: Remove unused code from MT8173. clk: mediatek: Removed unused dpi_ck clock from MT8173 clk: mediatek: add 13mhz clock for MT8173 commit 12b5aa61ee1d9425c82e35290ec76db1bc0a0614 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:34:34 2015 -0700 clk: samsung: exynos7: Staticize file scope symbols drivers/clk/samsung/clk-exynos7.c:896:33: warning: symbol 'fixed_rate_clks_fsys0' was not declared. Should it be static? drivers/clk/samsung/clk-exynos7.c:1010:33: warning: symbol 'fixed_rate_clks_fsys1' was not declared. Should it be static? Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit caac0ef8414bfbe296e6617511908ba249f0ab92 Merge: c0d625c 7993b3e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:31:43 2015 -0700 Merge tag 'clk-samsung-4.4' of git://linuxtv.org/snawrocki/samsung into clk-next Pull updates from Sylwester Nawrocki: "Fixes, improvements and addition of some missing features of the exynos7 clock controller driver." * tag 'clk-samsung-4.4' of git://linuxtv.org/snawrocki/samsung: clk: samsung: exynos7: Add required clock tree for UFS clk: samsung: exynos7: Add missing fixed_clks to cmu_info clk: samsung: exynos7: Correct CMU_FSYS1 clocks names clk: samsung: exynos7: Correct CMU_FSYS0 clocks names clk: samsung: exynos7: Correct CMU_PERIS clocks names clk: samsung: exynos7: Correct CMU_PERIC1 clocks names clk: samsung: exynos7: Correct CMU_PERIC0 clocks names clk: samsung: exynos7: Correct CMU_CCORE clocks names clk: samsung: exynos7: Correct CMU_TOP1 clocks names clk: samsung: exynos7: Correct CMU_TOP0 clocks names clk: samsung: exynos7: Adds missing clocks gates of CMU_TOPC clk: samsung: exynos7: Change the CMU_TOPC block clock names clk: samsung: exynos7: Correct nr_clk_ids for fsys1 clk: samsung: exynos7: Correct nr_clk_ids for fsys0 clk: samsung: exynos7: Fix CMU TOP1 block clk: samsung: exynos7: Fix CMU TOPC block clock commit c0d625cbb541ae68ca3c97fb62f5f6093d3382fa Merge: 3b4261d 9f30a04 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Oct 2 11:29:54 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: (3 commits) clk: ti: dflt: fix enable_reg validity check clk: ti: fix dual-registration of uart4_ick clk: ti: clk-7xx: Remove hardwired ABE clock configuration commit 3b4261dcf65993f95de80a0d63c5299aab922bd8 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 22 18:54:12 2015 +0300 serial: 8250_dw: allow lower reference frequencies We have couple of standard but rare used baudrates which are not supported by 1,8432MHz reference frequency. Besides that user can potentially ask for any baudrate (via BOTHER flag) and we currently don't fully support that. Since clk-fractional-divider is moved to use rational best approximation for reference frequency we may amend the driver to support whatever user wants. Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 0777591e715a89fd44fd598167aa8beaa49f1776 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 22 18:54:11 2015 +0300 clk: fractional-divider: switch to rational best approximation This patch converts the code to use rational best approximation algorithm which is much more precise. Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5d49a6e103790bddc4565a2076ff04beb38babc7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 22 18:54:10 2015 +0300 clk: rockchip: save width in struct clk_fractional_divider The ->mwidth and ->nwidth fields will be used by clk-fractional-divider when it will be switched to rational base approximation algorithm. Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 934e2536b1bfe663de033298f75c1b8ff9d0c9ea Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 22 18:54:09 2015 +0300 clk: fractional-divider: keep mwidth and nwidth internally The patch adds mwidth and nwidth fields to the struct clk_fractional_divider for further usage. While here, use GENMASK() instead of open coding this functionality. Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f7f087c262771ab1d3be8b9c54266637f6136963 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 22 18:54:08 2015 +0300 clk: fractional-divider: rename prate -> parent_rate Rename function parameter to be more explicit what it is for. This also makes it in align with struct clk_ops. There is no functional change. Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit fa52ceabc2a3e70431a82bca2bc547a15eaf19df Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 2 15:28:16 2015 -0300 perf list: Honour 'event_glob' whem printing selectable PMUs Some PMUs, like the 'intel_bts' one can be used as an event name, i.e.: $ perf record -e intel_bts:// usleep 1 Is a valid event name. But the code printing such PMUs was not honouring the 'event_glob' parameter, so the following line was always appearing: $ intel_bts// [Kernel PMU event] Fix it: $ [acme@felicio linux]$ perf list data List of pre-defined events (to be used in -e): uncore_imc/data_reads/ [Kernel PMU event] uncore_imc/data_writes/ [Kernel PMU event] $ 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-ajb71858n7q7ao77b8pyy74w@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ec1f9d9f01384fe656a6f92b90de274146fe35a1 Author: Roman Bacik <rbacik@xxxxxxxxxxxx> Date: Thu Sep 10 18:13:43 2015 -0700 usb: dwc2: gadget: parity fix in isochronous mode USB OTG driver in isochronous mode has to set the parity of the receiving microframe. The parity is set to even by default. This causes problems for an audio gadget, if the host starts transmitting on odd microframes. This fix uses Incomplete Periodic Transfer interrupt to toggle between even and odd parity until the Transfer Complete interrupt is received. Signed-off-by: Roman Bacik <rbacik@xxxxxxxxxxxx> Reviewed-by: Abhinav Ratna <aratna@xxxxxxxxxxxx> Reviewed-by: Srinath Mannam <srinath.mannam@xxxxxxxxxxxx> Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 146b503e102778ee98d8ba59e9e178ab26a4af5b Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:29 2015 +0200 mtd: nand: sunxi: fix bitflips in erased pages Use the nand_check_erased_ecc_chunk() function to test if the ECC error was triggered by an erased page containing a few bitflips. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 23151fd6138a3959628ea093237ca3f9d597e155 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:28 2015 +0200 mtd: nand: sunxi: replace the NFC_BUF_TO_USER_DATA() macro by an inline function sunxi_nfc_user_data_to_buf() is exposed as an inline function, replace the NFC_BUF_TO_USER_DATA() macro by an inline function to be consistent. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f363e0faa8bd5adb00739086db75713c669b4d9e Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:27 2015 +0200 mtd: nand: sunxi: retrieve corrected OOB bytes The ECC engine is protecting a few OOB bytes. Retrieve them from the USER_DATA register instead of reading them in raw mode (ie without the ECC protection). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 35d0e24f09d00e27eae3484784feee24effc23c5 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:26 2015 +0200 mtd: nand: sunxi: factorize extra OOB bytes handling Add helper functions to factorize the code dealing extra OOB bytes in the normal and syndrome ECC implementations. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b462551c125a125d1782b53d4c7ee7fd35534641 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:25 2015 +0200 mtd: nand: sunxi: make use of sunxi_nfc_hw_ecc_read/write_chunk() The sunxi_nfc_hw_ecc_read/write_chunk() functions have been created to factorize the code in the normal and syndrome ECC implementation. Make use of them where appropriate. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 913821bdd2110b4569540c532ec50f3e61a7c9ba Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:24 2015 +0200 mtd: nand: sunxi: introduce sunxi_nfc_hw_ecc_read/write_chunk() The logic behind normal and syndrome ECC handling is pretty much the same, the only difference is the ECC bytes placement. Create two functions to read/write ECC chunks. Those functions will later be used by the sunxi_nfc_hw_ecc_read/write_page() and sunxi_nfc_hw_syndrome_ecc_read/write_page() functions. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c9118ecebe1d694b463777ec33e397e226d4b149 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 23:45:23 2015 +0200 mtd: nand: sunxi: create sunxi_nfc_hw_ecc_enable()/disable() functions The code used to enable/disable the hardware ECC engine is repeated in a lot of places. Create two functions to avoid code duplication. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6efadcf9592c2ed438d1692ca55168e3de5c975b Author: Stefan Roese <sr@xxxxxxx> Date: Fri Oct 2 12:40:21 2015 +0200 mtd: nand: fsmc: Remove BUG macros Remove the BUG macros and return with error (if possible) instead. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit cbf29b83caa8c336cdb80b44bd1b959372e24d28 Author: Stefan Roese <sr@xxxxxxx> Date: Fri Oct 2 12:40:20 2015 +0200 mtd: nand: fsmc: Small whitespace cleanup Remove tab in empty line. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fbe039bb0815e6113f82021aa8c0e36a1941f511 Author: Ben Zhang <benzh@xxxxxxxxxxxx> Date: Mon Sep 28 13:32:37 2015 -0700 ASoC: rt5645: Allow 4 channel recording on AIF1 The codec supports 4 channel recording with TDM on AIF1. This patch modifies the DAI capability to allow it. Signed-off-by: Ben Zhang <benzh@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7c93377244329552a72912c63fd7503a4e88d6a1 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Tue Sep 29 16:44:12 2015 +0100 ASoC: da7219: Add entry to cover DA7219 bindings document This adds an entry to indicate the DA7219 bindings document (and other Dialog codecs bindings documents) are supported. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b29759ee29d5592b686bb42bb007179c215297c0 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Tue Sep 29 16:44:07 2015 +0100 ASoC: da7219: Add bindings documentation for DA7219 audio codec Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6d817c0e9fd7536be76690bfdee88e8a81c16f7d Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Tue Sep 29 16:44:01 2015 +0100 ASoC: codecs: Add da7219 codec driver This adds support for the DA7219 audio codec with built-in advanced accessory detect features. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76a822a6ae9c0c67309318bb60a4117329252fc4 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Wed Sep 30 17:32:40 2015 +0800 ASoC: topology: ABI - Remove tdm_slot & dai_fmt from snd_soc_tplg_stream These two fields are line parameters for BE/CC links and should not be from toplogy but from ACPI. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2a9df656f28e42538562d090e2b6f3dec5b41f2 Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:32:22 2015 +0800 ASoC: topology: ABI - Add configuration for BE & Codec-Codec DAI Links struct snd_soc_tplg_link_config is defined to configure BE & CC links. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7c545b327d54cdc3f693093f744459f6e0d8ce58 Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:32:04 2015 +0800 ASoC: topology: ABI - Add the type for BE DAI link Define the topology type for BE DAI link: SND_SOC_TPLG_TYPE_BACKEND_LINK. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 478d0d39719127c42f21ac85b8719a87b8fa7bd7 Author: Mengdong Lin <mengdong.lin@xxxxxxxxx> Date: Wed Sep 30 17:31:44 2015 +0800 ASoC: topology: ABI - Change stream formats to a bitwise flag The toplogy user space tool will generate this bitwise flag by using SNDRV_PCM_FORMAT_* exposed by asound.h, and the topology core will copy this flag when generating DAI streams. Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Acked-by: Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 731324f5cee3caf230427f754701212961fe0bb1 Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:31:34 2015 +0800 ASoC: topology: ABI - Add name element to snd_soc_tplg_stream For codec-codec links, this struct will be mapped to the DAI links's params, which is struct snd_soc_pcm_stream and it needs a stream name. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e8b3fe8f383bbf055cbd69b776fcbbb5ed3befcd Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:30:05 2015 +0800 ASoC: topology: ABI - Use __le32 instead of __u32 in snd_soc_tplg_dapm_widget This fixes the endianness of the ABI parameters in the struct. The field 'num_kcontrols' is also extended from 16 bits to 32 bits. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7654855ef84d78079109bb38195a8db6b188117b Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:29:47 2015 +0800 ASoC: topology: ABI - Remove unused struct snd_soc_tplg_stream_config The struct snd_soc_tplg_stream_config is no longer used in the ABI. We are using snd_soc_tplg_stream instead. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5b2688a59af686f7c0a80edc49d7f190365ac090 Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Wed Sep 30 17:28:47 2015 +0800 ASoC: topology: ABI - Add PCM Support and bump ABI version to 4 The struct snd_soc_tplg_pcm_dai is renamed to snd_soc_tplg_pcm. This struct will now be used to handle data related to PCMs (FE DAI & DAI links). It's not for BE, because BE DAI mappings will be provided by ACPI/FDT data. Remove the unused struct snd_soc_tplg_pcm_cfg_caps. We are using snd_soc_tplg_stream and snd_soc_stream_caps instead. Bump ABI version to 4. Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Mengdong Lin <mengdong.lin@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1f37cbe2a2153e0981f43fa86aa2004c42761d5d Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Wed Sep 30 15:25:50 2015 +0800 regulator: act8865: add DT binding for property "active-semi,vsel-high" Add a DT property "active-semi,vsel-high" to indicate the VSEL pin is high. If this property is missing, then assume the VSEL pin is low(0). Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Reviewed-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c86dc03e54ce15aac623125d92faac005f94267b Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Wed Sep 30 15:25:49 2015 +0800 regulator: act8865: support output voltage by VSET2[] bits For the step-down DC/DC regulators, the output voltage is selectable by setting VSEL pin that when VSEL is low, output voltage is programmed by VSET1[] bits, and when VSEL is high, output voltage is programmed by VSET2[] bits. The DT property "active-semi,vsel-high" is used to specify the VSEL pin at high on the board. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Reviewed-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6ebbce0a6e15fd52ef029f780ec5fb3282fc22e3 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 14:01:09 2015 +0100 ASoC: wm8998: Initial WM8998 codec driver Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 50e6168f27fdc1f915d3341743b46147c626dc6e Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 14:01:08 2015 +0100 ASoC: arizona: add defines for single-input gain control Adds convenience defines for declaring a gain control that has an input mux. These blocks are functionally equivalent to the existing mixer blocks but can only have a single input active at once. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 33aa380006776850872914d83fe0dbeee42fc95d Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 14:01:07 2015 +0100 regulator: arizona: add support for WM8998 and WM1814 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 54bf4505bd64bdb61e343fc007f2f21899172931 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Oct 2 16:52:27 2015 +0300 spi: pxa2xx: Remove unused psp member variable from struct chip_data It is not used since commit 8d94cc50aa4f ("[PATCH] spi: stabilize PIO mode transfers on PXA2xx systems"). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e5e0c3dd257bf34cf001e10422943f90437f0f1b Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:17 2015 +0900 ALSA: firewire-tascam: add hwdep interface This commit adds hwdep interface so as the other IEEE 1394 sound devices has. This interface is designed for mixer/control applications. By using this interface, an application can get information about firewire node, can lock/unlock kernel streaming and can get notification at starting/stopping kernel streaming. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e453df44f0d6574e99fae990c89a22c6ec6bbb62 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:16 2015 +0900 ALSA: firewire-tascam: add PCM functionality This commit adds PCM functionality to transmit/receive PCM samples. When one of PCM substreams are running or external clock source is selected, current sampling rate is used. Else, the sampling rate is changed as an userspace application requests. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 35efa5c489de63a9bdbb7ea4e66dcfadcca951b4 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:15 2015 +0900 ALSA: firewire-tascam: add streaming functionality This commit adds streaming functionality for both direction. To utilize the sequence of the number of data blocks in packets, full duplex with synchronization is applied. Besides, TASCAM FireWire series allows drivers to decide which PCM data channels are enabled. For convenience, this driver always enable whole the data channels. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 47faeea25ef3a39f2224377a1fc76581cd18c044 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:14 2015 +0900 ALSA: firewire-tascam: add data block processing layer TASCAM FireWire series uses non-blocking transmission for AMDTP packet streaming, while the format of data blocks is unique. The CIP headers includes specific value in FMT field and no SYT information. In transmitted packets, the first data channel represents event counter, and the last data channel has status and control information. The rest has 24bit PCM samples with right padding. In received packets, all of data channels include 16, 24, 32bit PCM samples. There's no other kind of information. This commit adds support for this protocol. For convenience, the size of PCM samples in outgoing packet is limited by 16 and 24bit. The status and control information will be supported in future commits. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 96e5fbb0dd128496378dbc404c2a894e49c1ac21 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:13 2015 +0900 ALSA: firewire-tascam: add proc node to show firmware information TASCAM FireWire series has certain registers for firmware information. This commit adds proc node to show the information. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6f81ba19ace2282f2560f5ec3a827ec5370825cb Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:12 2015 +0900 ALSA: firewire-tascam: add a structure for model-dependent parameters. TASCAM FireWire series doesn't tell drivers their capabilities, thus the drivers should have model-dependent parameters and apply it to detected devices. This commit adds a structure to represent such parameters. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c0949b278515da948597b4a1a2726f42591ef385 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Thu Oct 1 22:02:11 2015 +0900 ALSA: firewire-tascam: add skeleton for TASCAM FireWire series This commit adds a new driver for TASCAM FireWire series. In this commit, this driver just creates/removes card instance according to bus event. More functionalities will be added in following commits. TASCAM FireWire series consists of: * PDI 1394P23 for IEEE 1394 PHY layer * PDI 1394L40 for IEEE 1394 LINK layer and IEC 61883 interface * XILINX XC9536XL * XILINX Spartan-II XC2S100 * ATMEL AT91M42800A Ilya Zimnovich had investigated TASCAM FireWire series in 2011, and discover some features of his FW-1804. You can see a part of his research in FFADO project. http://subversion.ffado.org/wiki/Tascam A part of my work are based on Ilya's investigation, while this series doesn't support the FW-1804, because of a lack of config ROM information and its protocol detail, especially for PCM channels. I observed that FW-1884 and FW-1082 don't work properly with 1394 OHCI controller based on VT6315. The controller can actually communicate packets to these models, while these models generate no sounds. It may be due to the PHY/LINK layer issues. Using 1394 OHCI controller produced by the other vendors such as Texas Instruments may work. Or adding another node on the bus. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f6d3125fa3c2f55ddf7cf69365c41089de6cfae6 Merge: 2dc6a03 36f8daf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 2 07:21:25 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/dsa/slave.c net/dsa/slave.c simply had overlapping changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit faf7ec4a92c0231d1079177095077c162eb9b466 Author: Sudeep Holla <Sudeep.Holla@xxxxxxx> Date: Thu Jun 18 15:41:34 2015 +0100 drivers: firmware: psci: add system suspend support PSCI v1.0 introduces a new API called PSCI_SYSTEM_SUSPEND. This API provides the mechanism by which the calling OS can request entry into the deepest possible system sleep state. It meets all the necessary preconditions for entering suspend to RAM state in Linux. This patch adds support for PSCI_SYSTEM_SUSPEND in psci firmware and registers a psci system suspend operation to implement the suspend-to-RAM(s2r) in a generic way on all the platforms implementing PSCI. Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 029180b1c99046831c33ed43fdbdb620506cb15b Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu Jun 18 15:41:33 2015 +0100 drivers: firmware: psci: define more generic PSCI_FN_NATIVE macro This patch replaces the definition and usage of PSCI_0_2_FN_NATIVE with the new and more generic macro PSCI_FN_NATIVE that can be used with any version. This will be useful for the new features introduced in PSCIv1.0 and for any future revisions. Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 0fc197c7cb3b1139fccb3b92e8db19a93f81f6fb Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue May 26 13:06:57 2015 +0100 drivers: firmware: psci: add PSCI v1.0 DT bindings PSCI 1.0 is designed to be fully compliant to the PSCI 0.2 specification, with minor differences that are described in the PSCI specification. In particular, PSCI v1.0 augments the specification with a new power_state format (extended stateid - probeable through the PSCI_FEATURES call), changes some function return codes and functions usage requirements wrt PSCI 0.2. These changes mean that 1.0 vs 0.2 compliancy should be enforced through a DT compatible string that allows firmware to specify 1.0 only compliancy so that older kernels are prevented from using PSCI 1.0 FW implementations in a non-compatible way (eg by calling a 1.0 FW implementation and expecting 0.2 behaviour). This patch adds PSCI 1.0 DT bindings and related compatible string. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> commit a5c00bb28da0bb34f901d090839fc448246aa996 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue May 26 17:10:32 2015 +0100 drivers: firmware: psci: add extended stateid power_state support PSCI v1.0 augmented the power_state parameter format specification (extended stateid) and introduced a way to probe it through the PSCI_FEATURES interface. This patch implements code that detects the power_state format at run-time through the PSCI_FEATURES interface, so that the power_state argument can be properly detected and validated in the kernel according to the information provided through firmware. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> commit 5f004e0c9fb152a080b47d06dc48bdd29765a734 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue May 26 17:06:21 2015 +0100 drivers: firmware: psci: add PSCI_FEATURES call PSCI v1.0 introduces a PSCI_FEATURES call that allows to probe for features related to a specific function identifier. This patch adds PSCI_FEATURES support to the PSCI firmware layer. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> commit 068654c200cc32966ce7906ca0bd096b9b97e988 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue May 26 16:49:01 2015 +0100 drivers: firmware: psci: move power_state handling to generic code Functions implemented on arm64 to check if a power_state parameter is valid and if the power_state implies context loss are not arm64 specific and should be moved to generic code so that they can be reused on arm systems too. This patch moves the functions handling the power_state parameter to generic PSCI firmware layer code. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> commit 2217d7c68e5caf50ec86b8c75c76bf06eb4b2c45 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Fri May 22 14:31:37 2015 +0100 drivers: firmware: psci: add INVALID_ADDRESS return value PSCI 1.0 introduces the INVALID_ADDRESS return value for functions that take an address as input parameter (eg CPU_SUSPEND). This patch adds INVALID_ADDRESS return value to kernel code and updates the PSCI to linux error conversion to take it into account. The kernel error value associated to INVALID_ADDRESS is set to the error returned when the PSCI error code is INVALID_PARAMETERS to comply with current call sites expected return value, given that the kernel at present has no use for the additional error information reported. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Tested-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> commit 022e4e52a750066047b22031733df70e136ae299 Author: Sunil Kamath <sunil.kamath@xxxxxxxxx> Date: Wed Sep 30 22:34:57 2015 +0530 drm/i915/bxt: Modify BXT BLC according to VBT changes Latest VBT mentions which set of registers will be used for BLC, as controller number field. Making use of this field in BXT BLC implementation. Also, the registers are used in case control pin indicates display DDI. Adding a check for this. According to Bspec, BLC_PWM_*_2 uses the display utility pin for output. To use backlight 2, enable the utility pin with mode = PWM v2: Jani's review comments addressed - Add a prefix _ to BXT BLC registers definitions. - Add "bxt only" comment for u8 controller - Remove control_pin check for DDI controller - Check for valid controller values - Set pipe bits in UTIL_PIN_CTL - Enable/Disable UTIL_PIN_CTL in enable/disable_backlight() - If BLC 2 is used, read active_low_pwm from UTIL_PIN polarity Satheesh's review comment addressed - If UTIL PIN is already enabled, BIOS would have programmed it. No need to disable and enable again. v3: Jani's review comments - add UTIL_PIN_PIPE_MASK and UTIL_PIN_MODE_MASK - Disable UTIL_PIN if controller 1 is used - Mask out UTIL_PIN_PIPE_MASK and UTIL_PIN_MODE_MASK before enabling UTIL_PIN - check valid controller value in intel_bios.c - add backlight.util_pin_active_low - disable util pin before enabling v4: Change for BXT-PO branch: Stubbed unwanted definition which was existing before because of DC6 patch. UTIL_PIN_MODE_PWM (0x1b << 24) v2: Fixed Jani's review comment. v3: Split the backight PWM frequency programming into separate patch, in cases BIOS doesn't initializes it. v4: Starting afresh and not modifying existing state for backlight, as per Jani's recommendation. v5: Fixed Jani's review comment wrt util pin enable Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Signed-off-by: Sunil Kamath <sunil.kamath@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ada62b1070a57562664713bbf46a78d5dc4cb23 Author: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Date: Fri Jun 12 09:57:11 2015 +0300 agp/uninorth: fix a memleak in create_gatt_table Fix the memory leak in create_gatt_table: we've lost a kfree on the exit path for the pages array allocated in uninorth_create_gatt_table Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b6080db4f4e8bf28717b832976efc421de25b86c Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Fri Jul 17 09:20:00 2015 +0200 powerpc/nvram: Fix function name in some errors messages. 'nvram_create_os_partition' should be 'nvram_create_partition'. Use __func__ to have it right, as done elsewhere in this file. Signed-off-by: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7d523187173294f6ae3b86a48e442122b1aecc38 Author: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Date: Fri Jul 17 09:19:59 2015 +0200 powerpc/nvram: Add missing kfree in error path If 'nvram_write_header' fails, then 'new_part' should be freed, otherwise, there is a memory leak. Signed-off-by: Christophe Jaillet <christophe.jaillet@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ce0c982152137789e6f09e9d8712034088adf3aa Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:46 2015 +0530 drm/i915/bxt: get DSI pixelclock BXT's DSI PLL is different from that of VLV. So this patch adds a new function to get the current DSI pixel clock based on the PLL divider ratio and lane count. This function is required for intel_dsi_get_config() function. v2: Fixed Jani's review comments. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit baeac68a82f07f7c37bfc3d9624127b813a8d8b4 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:45 2015 +0530 drm/i915/bxt: get_hw_state for BXT Pick appropriate port control register (BXT or VLV), based on device. Get the current hw state wrt Mipi port. v2: Rebased on latest drm nightly branch. v3: Removed the GET_DSI_PORT_CTRL Macro for consistency with earlier implementations as per Jani's suggestion. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b389a45c6b2f9b310ddf631d23b9e3e045cf747b Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:44 2015 +0530 drm/i915/bxt: DSI disable and post-disable This patch contains changes to support DSI disble sequence in BXT. The changes are: 1. BXT specific changes in clear_device_ready function. 2. BXT specific changes in DSI disable and post-disable functions. 3. Add a new function to reset BXT Dphy clock and dividers (bxt_dsi_reset_clocks). 4. Moved some part of the vlv clock reset code, in a new function (vlv_dsi_reset_clocks) maintaining the exact same sequence. 5. Wrapper function to call corresponding reset clock function. v2: Fixed Jani's review comments. v3: Removed the GET_DSI_PORT_CTRL Macro for consistency with earlier implementations as per Jani's suggestion. Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 11b8e4f58e1baa94e44400a076b1a3757612ea55 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Wed Sep 23 23:27:17 2015 +0530 drm/i915/bxt: Program Tx Rx and Dphy clocks BXT DSI clocks are different than previous platforms. So adding a new function to program following clocks and dividers: 1. Program variable divider to generate input to Tx clock divider (Output value must be < 39.5Mhz) 2. Select divide by 2 option to get < 20Mhz for Tx clock 3. Program 8by3 divider to generate Rx clock v2: Fixed Jani's review comments. Adjusted the Macro definition as per convention. Simplified the logic for bit definitions for MIPI PORT A and PORT C in same registers. v3: Refactored the macros for TX, RX Escape and DPHY clocks as per Jani's suggestion. v4: Addressed Jani's review comments. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3fe2c7d4c85b4557c9772ff16f31ddc18cfd2521 Author: Dmitry Osipenko <digetx@xxxxxxxxx> Date: Sun Jun 28 22:27:02 2015 +0300 gpu: host1x: Fix MLOCK's debug info MLOCK's debug info, spewed on CDMA timeout, contains meaningless MLOCK owner channel ID because HOST1X_SYNC_MLOCK_OWNER_CHID_F() returns shifted value, while unshifted should be used. Fix it by changing '_F' to '_V'. Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> Reviewed-By: Terje Bergstrom <tbergstrom@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 37ab0810c9b7e06ec3904c186c46e9c540b3793b Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:42 2015 +0530 drm/i915/bxt: DSI enable for BXT This patch contains following changes: 1. MIPI device ready changes to support dsi_pre_enable. Changes are specific to BXT device ready sequence. Added check for ULPS mode(No effects on VLV). 2. Changes in dsi_enable to pick BXT port control register. 3. Changes in dsi_pre_enable to restrict DPIO programming for VLV v2: Fixed Jani's review comments. Removed the changes in VLV/CHV code. Fixed the macros to get proper port offsets. v3: Rebased on latest drm-nightly branch. Fixed Jani's review comments. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e77b675f8786f38d40fc1562e1275875daf67fef Author: Dmitry Osipenko <digetx@xxxxxxxxx> Date: Tue Jun 30 17:15:50 2015 +0300 ARM: tegra: paz00: use con_id's to refer GPIO's in gpiod_lookup table Commit 72daceb9a10a ("net: rfkill: gpio: Add default GPIO driver mappings for ACPI") removed possibility to request GPIO by table index for non-ACPI platforms without changing its users. As result "shutdown" GPIO request will fail if request for "reset" GPIO succeeded or "reset" will be requested instead of "shutdown" if "reset" wasn't defined. Fix it by making gpiod_lookup_table use con_id's instead of indexes. Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> Fixes: 72daceb (net: rfkill: gpio: Add default GPIO driver mappings for ACPI) Cc: <stable@xxxxxxxxxxxxxxx> # v3.19+ Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Reviewed-by: Marc Dietrich <marvin24@xxxxxx> Tested-by: Marc Dietrich <marvin24@xxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7d4aefd0a90dcced6ec24fd1908e4b407a8d4793 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Thu Oct 1 22:23:49 2015 +0530 drm/i915/bxt: DSI encoder support in CRTC modeset SKL and BXT qualifies the HAS_DDI() check, and hence haswell modeset functions are re-used for modeset sequence. But DDI interface doesn't include support for DSI. This patch adds: 1. cases for DSI encoder, in those modeset functions and allows a CRTC modeset 2. Adds call to pre_pll enabled from CRTC modeset function. Nothing needs to be done as such in CRTC for DSI encoder, as PLL, clock and and transcoder programming will be taken care in encoder's pre_enable and pre_pll_enable function. v2: Fixed Jani's review comments. Added INVALID_PORT for non DDI encoder like DSI for platforms having HAS_DDI as true. v3: Rebased on latest drm-nightly branch. Added a WARN_ON for invalid encoder. v4: WARN_ON for invalid encoder is refactored as per Jani's suggestion. Fixed the sequence for pre_pll_enable. v5: Protected DDI code paths in case of DSI encoder calls. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13d70b8135e92274c9044d5ba4a543e1d6f0ef59 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Wed Sep 30 23:00:44 2015 +0300 drm/i915: rename INSTDONE1 to GEN4_INSTDONE1 This register was added on GEN4, by the name INSTDONE_1 whereas the GEN6 specification calls it INSTDONE_2. Keep the original name with a platform prefix to make it clearer which INSTDONE register instance this is. Also add a comment about the SNB alternative name. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aca82d1cbb49af34b69ecd4571a0fe48ad9247c1 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Fri Sep 25 12:28:02 2015 -0700 gpio: omap: move pm runtime in irq_chip.irq_bus_lock/sync_unlock The PM runtime API can't be used in atomic contex on -RT even if it's configured as irqsafe. As result, below error report can be seen when PM runtime API called from IRQ chip's callbacks irq_startup/irq_shutdown/irq_set_type, because they are protected by RAW spinlock: BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:917 in_atomic(): 1, irqs_disabled(): 128, pid: 96, name: insmod 3 locks held by insmod/96: #0: (&dev->mutex){......}, at: [<c04752c8>] __driver_attach+0x54/0xa0 #1: (&dev->mutex){......}, at: [<c04752d4>] __driver_attach+0x60/0xa0 #2: (class){......}, at: [<c00a408c>] __irq_get_desc_lock+0x60/0xa4 irq event stamp: 1834 hardirqs last enabled at (1833): [<c06ab2a4>] _raw_spin_unlock_irqrestore+0x88/0x90 hardirqs last disabled at (1834): [<c06ab068>] _raw_spin_lock_irqsave+0x2c/0x64 softirqs last enabled at (0): [<c003d220>] copy_process.part.52+0x410/0x19d8 softirqs last disabled at (0): [< (null)>] (null) Preemption disabled at:[< (null)>] (null) CPU: 1 PID: 96 Comm: insmod Tainted: G W O 4.1.3-rt3-00618-g57e2387-dirty #184 Hardware name: Generic DRA74X (Flattened Device Tree) [<c00190f4>] (unwind_backtrace) from [<c0014734>] (show_stack+0x20/0x24) [<c0014734>] (show_stack) from [<c06a62ec>] (dump_stack+0x88/0xdc) [<c06a62ec>] (dump_stack) from [<c006ca44>] (___might_sleep+0x198/0x2a8) [<c006ca44>] (___might_sleep) from [<c06ab6d4>] (rt_spin_lock+0x30/0x70) [<c06ab6d4>] (rt_spin_lock) from [<c04815ac>] (__pm_runtime_resume+0x68/0xa4) [<c04815ac>] (__pm_runtime_resume) from [<c04123f4>] (omap_gpio_irq_type+0x188/0x1d8) [<c04123f4>] (omap_gpio_irq_type) from [<c00a64e4>] (__irq_set_trigger+0x68/0x130) [<c00a64e4>] (__irq_set_trigger) from [<c00a7bc4>] (irq_set_irq_type+0x44/0x6c) [<c00a7bc4>] (irq_set_irq_type) from [<c00abbf8>] (irq_create_of_mapping+0x120/0x174) [<c00abbf8>] (irq_create_of_mapping) from [<c0577b74>] (of_irq_get+0x48/0x58) [<c0577b74>] (of_irq_get) from [<c0540a14>] (i2c_device_probe+0x54/0x15c) [<c0540a14>] (i2c_device_probe) from [<c04750dc>] (driver_probe_device+0x184/0x2c8) [<c04750dc>] (driver_probe_device) from [<c0475310>] (__driver_attach+0x9c/0xa0) [<c0475310>] (__driver_attach) from [<c0473238>] (bus_for_each_dev+0x7c/0xb0) [<c0473238>] (bus_for_each_dev) from [<c0474af4>] (driver_attach+0x28/0x30) [<c0474af4>] (driver_attach) from [<c0474760>] (bus_add_driver+0x154/0x200) [<c0474760>] (bus_add_driver) from [<c0476348>] (driver_register+0x88/0x108) [<c0476348>] (driver_register) from [<c0541600>] (i2c_register_driver+0x3c/0x90) [<c0541600>] (i2c_register_driver) from [<bf003018>] (pcf857x_init+0x18/0x24 [gpio_pcf857x]) [<bf003018>] (pcf857x_init [gpio_pcf857x]) from [<c000998c>] (do_one_initcall+0x128/0x1e8) [<c000998c>] (do_one_initcall) from [<c06a4220>] (do_init_module+0x6c/0x1bc) [<c06a4220>] (do_init_module) from [<c00dd0c8>] (load_module+0x18e8/0x21c4) [<c00dd0c8>] (load_module) from [<c00ddaa0>] (SyS_init_module+0xfc/0x158) [<c00ddaa0>] (SyS_init_module) from [<c000ff40>] (ret_fast_syscall+0x0/0x54) The IRQ chip interface defines only two callbacks which are executed in non-atomic contex - irq_bus_lock/irq_bus_sync_unlock, so lets move PM runtime calls there. Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Austin Schuh <austin@xxxxxxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Acked-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ee1635180a8437b8ea4ea2233fd3d3ab1ae95a49 Author: Robin Gong <b38343@xxxxxxxxxxxxx> Date: Thu Sep 24 15:53:57 2015 -0500 pinctrl: freescale: imx: fix system crash if enable two pinctl instances Fix system chrash caused by groups whose number is smaller than the number of groups of the last pinctl instance which is not initialized. iMX7D supports two iomux controllers (iomuxc-lpsr and iomuxc) on probing the second instance (iomuxc) the chrash below occurs. Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.2.0-next-20150901-00006-gebfa43c (aalonso@bluefly) [ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7) [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasin instruction cache [ 0.000000] Machine model: Freescale i.MX7 SabreSD Board [ 0.661012] [<802a6cb0>] (strcmp) from [<802cc80c>] (imx_dt_node_to_map+0x58/0x208) [ 0.668879] [<802cc80c>] (imx_dt_node_to_map) from [<802cbe24>] (pinctrl_dt_to_map+0x174/0x2b0) [ 0.677654] [<802cbe24>] (pinctrl_dt_to_map) from [<802c8f18>] (pinctrl_get+0x100/0x424) [ 0.685878] [<802c8f18>] (pinctrl_get) from [<802c9510>] (pinctrl_register+0x26c/0x480) [ 0.694104] [<802c9510>] (pinctrl_register) from [<802ccf3c>] (imx_pinctrl_probe+0x580/0x6e8) [ 0.702706] [<802ccf3c>] (imx_pinctrl_probe) from [<80351b58>] (platform_drv_probe+0x44/0xa4) [ 0.711455] [<80351b58>] (platform_drv_probe) from [<803503ec>] (driver_probe_device+0x174/0x2b4) [ 0.720405] [<803503ec>] (driver_probe_device) from [<803505fc>] (__driver_attach+0x8c/0x90) [ 0.728982] [<803505fc>] (__driver_attach) from [<8034e930>] (bus_for_each_dev+0x6c/0xa0) [ 0.737381] [<8034e930>] (bus_for_each_dev) from [<8034fb88>] (bus_add_driver+0x148/0x1f0) [ 0.745804] [<8034fb88>] (bus_add_driver) from [<80350c00>] (driver_register+0x78/0xf8) [ 0.753880] [<80350c00>] (driver_register) from [<800097d0>] (do_one_initcall+0x8c/0x1d4) [ 0.762282] [<800097d0>] (do_one_initcall) from [<80987dac>] (kernel_init_freeable+0x144/0x1e4) [ 0.771061] [<80987dac>] (kernel_init_freeable) from [<806d9c7c>] (kernel_init+0x8/0xe8) [ 0.779285] [<806d9c7c>] (kernel_init) from [<8000f628>] (ret_from_fork+0x14/0x2c) [ 0.786981] Code: e3520000 e5e32001 1afffffb e12fff1e (e4d03001) Signed-off-by: Robin Gong <b38343@xxxxxxxxxxxxx> Signed-off-by: Adrian Alonso <aalonso@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit de4e882f3fbef586304837518c424787bdfca8b8 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Fri Sep 25 11:14:09 2015 +0200 pinctrl: at91-pio4: add PM stuff Allow GPIOs to be configured as wakeup sources. When going to suspend, disable all GPIO irqs excepting the one configured as wakeup sources. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 69d301fdd19635a39cb2b78e53fdd625b7a27924 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Sep 24 15:05:45 2015 -0700 gpio: add DT bindings for existing consumer flags It is customary for GPIO controllers to support open drain/collector and open source/emitter configurations. Add standard GPIO line flags to account for this and augment the documentation to say that these are the most generic bindings. Several people approached me to add new flags to the lines, and this makes sense, but let's first bind up the most common cases before we start to add exotic stuff. Thanks to H. Nikolaus Schaller for ideas on how to encode single-ended wiring such as open drain/source and open collector/emitter. Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Grygorii Strashko <grygorii.strashko@xxxxxx> Cc: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b8664924e8071b67b99f05b13e669e20104d7709 Author: Diego Elio Pettenò <flameeyes@xxxxxxxxxxxx> Date: Mon Sep 21 18:24:24 2015 +0200 gpio: add GPIO support for IT87xx, replacing gpio-it8761e This patch adds support for the GPIOs found on the ITE super-I/O chips IT87xx. Signed-off-by: Diego Elio Pettenò <flameeyes@xxxxxxxxxxxx> Signed-off-by: Christophe Vu-Brugier <cvubrugier@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 48b5953ed826224a1332f2fd784d37d5f084ca9c Author: Dirk Behme <dirk.behme@xxxxxxxxx> Date: Tue Aug 18 18:02:32 2015 +0200 gpio: gpiolib: don't compare an unsigned for >= 0 The parameter offset is an unsigned, so it makes no sense to compare it for >= 0. Fix the compiler warning regarding this by removing this comparison. As the macro GPIO_OFFSET_VALID is only used at this single place, simplify the code by dropping the macro completely and dropping the invert, too. No functional change. Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 633a5065939ae75a07bc37c110399a3faf065147 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 10 16:59:01 2015 +0100 gpio: arizona: add support for WM8998 and WM1814 Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c75a37720480819291ebca0db7fab4e87c46f73d Author: Nicholas Krause <xerofoify@xxxxxxxxx> Date: Wed Aug 26 17:52:19 2015 -0400 gpio: Fix error checking in the function device_pca957x_init This fixes error checking in the function device_pca957x_init to properly check and return error code values from the calls to the function pca953x_write_regs if they fail as to properly signal callers when a error occurs due a failure when writing registers for this gpio based device. Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 49a5bd880cb63fba9f4589a89d68b8a255062a5f Author: Alban Bedel <albeu@xxxxxxx> Date: Tue Sep 1 11:38:02 2015 +0200 gpio: ath79: Convert to the state container design pattern Turn the ath79 driver into a true driver supporting multiple instances. While at it also removed unneed includes and make use of the BIT() macro. Signed-off-by: Alban Bedel <albeu@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9f3538280301bb953bf159d5ce9fc1f41482aa4c Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Aug 28 14:48:56 2015 -0700 gpio: msm: Remove unused driver Remove this driver now that Bjorn has introduced a pinctrl driver for msm8660 and the dts files have been updated with the pinctrl compatibles. Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fa9795d1121e18a6ee2d0f8b2e837f51d63d4b00 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Aug 27 14:26:46 2015 +0200 gpio: zynq: use container_of() to get state container The state container of the Zynq GPIO driver is sometimes extracted from the gpio_chip exploiting the fact that offsetof() the struct gpio_chip inside the struct zynq_gpio is 0, so the container_of() is in practice a noop. However if a member is added to struct zynq_gpio in front of struct gpio_chip, things will break. Using proper container_of() avoids this problem. Semantically this is a noop, the compiler will optimize it away, but syntactically it makes me happier. Also replace some explicit container_of() calls with the helper function. Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Ezra Savard <ezra.savard@xxxxxxxxxx> Cc: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Harini Katakam <harinik@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2f930643c581f3fe45568f24a8aba93af46ff287 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Aug 27 14:13:46 2015 +0200 gpio: vf610: use container_of() to get state container The state container of the vf610 GPIO driver is sometimes extracted from the gpio_chip exploiting the fact that offsetof() the struct gpio_chip inside the struct vf610_gpio_port is 0, so the container_of() is in practice a noop. However if a member is added to struct vf610_gpio_port in front of struct gpio_chip, things will break. Using proper container_of() avoids this problem. Semantically this is a noop, the compiler will optimize it away, but syntactically it makes me happier. Also replace some explicit container_of() calls with the helper function. Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 218f1f8b50aef5438fd95a4e3d64549bf9c459c3 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 25 11:26:04 2015 +0200 gpio: sx150x: use container_of() to get state container The state container of the sx150x GPIO driver is sometimes extracted from the gpio_chip exploiting the fact that offsetof() the struct gpio_chip inside the struct sx150x_chip is 0, so the container_of() is in practice a noop. However if a member is added to struct sx150_chip in front of struct gpio_chip, things will break. Using proper container_of() avoids this problem. Semantically this is a noop, the compiler will optimize it away, but syntactically it makes me happier. Cc: Wei Chen <Wei.Chen@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 231d51b8a4d5b24e72112bbc73fdcc38759a26e3 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 25 10:54:12 2015 +0200 gpio: altera: use container_of() to get state container The state container of the Altera GPIO driver is extracted from the gpio_chip exploiting the fact that offsetof() the struct gpio_chip inside the struct of_mm_gpio_chip are both 0, so the container_of() is in practice a noop. However if a member is added to struct altera_gpio_chip in front of struct of_mm_gpio_chip, things will break. Using proper container_of() avoids this problem. Semantically this is a noop, the compiler will optimize it away, but syntactically it makes me happier. Cc: Tien Hock Loh <thloh@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4843289e60e16bed00b7c3b910e67fb06214631a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 25 10:40:23 2015 +0200 gpio: etraxfs: use container_of() to get state container The state container of the etraxfs GPIO driver is extracted from the gpio_chip exploiting the fact that offsetof() the struct gpio_chip inside the struct bgpio_chip are both 0, so the container_of() is in practice a noop. However if a member is added to struct etraxfs_gpio_chip in front of struct bgpio_chip, things will break. Using proper container_of() avoids this problem. Semantically this is a noop, the compiler will optimize it away, but syntactically it makes me happier. Acked-by: Rabin Vincent <rabin@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1dbf7f299f90dc4b45e2322a3af843ad65e1501b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Sep 17 14:21:25 2015 +0200 gpio: pl061: detail IRQ trigger handling I couldn't follow this code flow. Make it dirt simple to figure out what is going on and get proper debug prints. Warn if we set up an IRQ without any trigger. Should make no semantic difference. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4730f33f0d822fd8d0f5d2229793a5df674fed5c Author: Vishnu Patekar <vishnupatekar0510@xxxxxxxxx> Date: Tue Sep 22 23:38:55 2015 +0800 pinctrl: sunxi: add allwinner A83T PIO controller support Allwinner A83T soc port controller has 8 ports. It has 3 IRQ banks namely PB, PG, PH. Pinmuxing are different for some pins as compared to sun8i A23 and A33. Signed-off-by: Vishnu Patekar <vishnupatekar0510@xxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e86c62066e7be8b9f5284842ca8347991dd02edf Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Thu Sep 24 21:26:47 2015 +0900 pinctrl: uniphier: add SD card pinmux settings Add SD card pinmux settings for PH1-LD4, PH1-Pro4, PH1-sLD8, PH1-Pro5, ProXstream2, and PH1-LD6b SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit be2cbd4dbbe63cfb6888f6ce96f1ac87eddae513 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:31 2015 +0200 pinctrl: samsung: Remove unneded semicolon It's not needed an is just creating a null statement, so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e44118997523cc62c893ba019a1fd3e0c43d6877 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:30 2015 +0200 pinctrl: mediatek: Remove unneded semicolon It's not needed an is just creating a null statement, so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Hongzhou Yang <hongzhou.yang@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5c99c0ffa4ee284961a0214b171748df0edf16f4 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:29 2015 +0200 pinctrl: sunxi: Remove unneeded semicolon It's not needed an is just creating a null statement, so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 14316c4ca9675ee086e3635b58340aaa7f6976e5 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:28 2015 +0200 pinctrl: mxs: Remove unneded semicolon It's not needed an is just creating a null statement, so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1978c5ec0f8310df856a4a725048635725b673fa Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:27 2015 +0200 pinctrl: tz1090-pdc: Remove unneded semicolons They aren't needed and are just creating null statements so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 916888838441e13155495f4d7e812e3bb0f5b875 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 10:28:26 2015 +0200 pinctrl: tz1090: Remove unneded semicolons They aren't needed and are just creating null statements so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 866a2c247fb9eebe91a11cafd38fd4dd8b25efed Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:21 2015 +0900 staging: wilc1000: rename u8CurrChannel This patch replaces u8CurrChannel with curr_channel to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd739ea517c43cb902d5116923c182d3f72dc9a7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:20 2015 +0900 staging: wilc1000: set_channel: rename s32Error This patch replaces s32Error with result to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7584019e575286d35b2a1151a8f7f3038bf3d377 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:19 2015 +0900 staging: wilc1000: set_channel: fix data type of s32Error This patch changes data type of s32Error variable from s32 to int because return type of this function is int. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a4598316e20a30a8926a81e2032f592ebe7e42a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:18 2015 +0900 staging: wilc1000: set_channel: remove blank line after open brace This patch removes blank line after open brace '{' found by checkpatch.pl CHECK: Blank lines aren't necessary after an open brace '{' drivers/staging/wilc1000/wilc_wfi_cfgoperations.c:664: Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a74cc6b8d8ee405cfef4a26f6c8259f1c1882c66 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:17 2015 +0900 staging: wilc1000: use int instead of int8_t This patch replaces int8_t with int. The int8_t should be int. It's used as an index into an array or -1 for not found. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cc59d299f0690c5ce3b32cdf8e07ac535c2288a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:16 2015 +0900 staging: wilc1000: use ARRAY_SIZE macro This patch uses ARRAY_SIZE macro found by checkpatch.pl WARNING: Prefer ARRAY_SIZE(wb) drivers/staging/wilc1000/wilc_spi.c:400 drivers/staging/wilc1000/wilc_spi.c:402 Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30b2ba099c799a72fa68c35e1e10016c515cac06 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:15 2015 +0900 staging: wilc1000: remove unnecessary comment This patch removes unnecessary comment. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0981ce2bba6dd76c9fb2edf459a7e6e207a0cef3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:14 2015 +0900 staging: wilc1000: remove #if 1 and #endif This patch removes #if 1 and #endif, which is encapsulated some codes. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2eda352d046b3bd48d7916da9b2bfefbddffacf Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:13 2015 +0900 staging: wilc1000: fix indentation level This patch removes unnecessary block braces and fix indentation. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afcd8c514698d96842d76db649e0237bd384d81a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:12 2015 +0900 staging: wilc1000: remove if defined codes of USE_OLD_SPI_SW This patch removes if defined codes of USE_OLD_SPI_SW. This macro is deleted because it is commented out. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 331d80c53b2d2d11d526da5bed117119e7bd57bc Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:11 2015 +0900 staging: wilc1000: remove commented codes This patch removes commented codes that is not used in this driver. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3ad7f5788efc03e41a31756a01c0718324d366c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Fri Oct 2 16:41:10 2015 +0900 staging: wilc1000: remove wilc_platform.h This patch removes wilc_platform.h file that is not used anywhere. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cdf6e7bd3f87485a5d1fddcbc7e9969cbb9be4b Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:12 2015 +0900 staging: wilc1000: remove unused variable real_ndev This patch removes unused variable real_ndev. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 814bc36807e26ffbee40dd81de3ae398b608c266 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:11 2015 +0900 staging: wilc1000: remove function pointer cfg_init This patch removes function pointer cfg_init and call the function wilc_wlan_cfg_init instead. Remove static from function declaration. After removing cfg_init, the struct wilc_cfg_func_t is useless so just delete it and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30f535a673d043d21be5d40cced45387bd51b3b9 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:10 2015 +0900 staging: wilc1000: remove function pointer rx_indicate This patch removes function pointer rx_indicate and just call the function wilc_wlan_cfg_indicate_rx instead. Remove static from the function declration. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 355cca2ab21b06b7222e7cd8bebede9aced75374 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:09 2015 +0900 staging: wilc1000: remove function pointer cfg_wid_get_val This patch removes cfg_wid_get_val and call the function wilc_wlan_cfg_get_wid_value. Remove static from the function declaration. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec1b86bf6a47d6099cd502e6dc1a1217e2c6c23d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:08 2015 +0900 staging: wilc1000: remove function pointer cfg_wid_get Remove function pointer cfg_wid_get and call the function wilc_wlan_cfg_get_wid instead. Remove static from the function declaration. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17e8f16554f22e8e5e0146e1236c2ec64a047e92 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:07 2015 +0900 staging: wilc1000: remove function pointer cfg_wid_set This patch removes function pointer cfg_wid_set and call the function wilc_wlan_cfg_set_wid instead. Remove static from the function declaration. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66482a56425036e605e60bf56c573b30d0596a7b Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:06 2015 +0900 staging: wilc1000: Delete undefined DEBUG_MODE and it's related codes This patch removes undefined DEBUG_MODE and it's related codes. We won't use this at the moment. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28dedb8070398561243ad3708dd4f77ca920c6dd Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Oct 2 14:22:05 2015 +0900 staging: wilc1000: wilc_wfi_netdevice.h: remove unused variables This patch removes unused variable already_claim and hWILCWFIDrv_2. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdf33a76972c487511962eab9ed5f0c1fa439f4e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Fri Oct 2 14:22:04 2015 +0900 staging: wilc1000: coreconfigurator.c: remove unused struct This patch removes unused structure, tstrconfigPktInfo from the coreconfigurator.c file. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dd2f7719d265fd01b9f08f6a61c97b900dd1a4e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Fri Oct 2 14:22:03 2015 +0900 staging: wilc1000: remove typedef from enum This patch removes typedef from enumerated types defined in coreconfigurator.c file and also changes their names to avoid CamelCase naming convention as shown: - tenuBasicFrmType to basic_frame_type - tenuFrmSubtype to sub_frame_type - tenuInfoElemID to info_element_id Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9d4834d94c5126e79984769da8c36844ae6db5d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:43 2015 +0900 staging: wilc1000: remove function pointer wlan_add_mgmt_to_tx_que This patch removes function pointer wlan_add_mgmt_to_tx_que and just call the function wilc_wlan_txq_add_mgmt_pkt. Remove structure wilc_wlan_oup_t also because no members in it. Since wilc_wlan_oup_t is deleted, it's variable, function parameters and related codes are also deleted. - deleted variables gpstrWlanOps oup - modified functions wilc1000_prepare_11b_core wilc_wlan_init Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 894de36b1ae8cf78514a686c381dd5c3c4812a04 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:42 2015 +0900 staging: wilc1000: remove function pointer wlan_cfg_get_value This patch removes function pointer wlan_cfg_get_value and just call the function wilc_wlan_cfg_get_val. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07056a85078ad4d8114c9898799f7ded626a4023 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:41 2015 +0900 staging: wilc1000: remove function pointer wlan_cfg_get This patch removes function pointer wlan_cfg_get and just call the function wilc_wlan_cfg_get. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1028e5a4045f541662909d148d024505c01fafb7 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:40 2015 +0900 staging: wilc1000: remove function pointer wlan_cfg_set This patch removes function pointer wlan_cfg_set and just call the function wilc_wlan_cfg_set. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d4469c945bcc243b9edd2e19d5b2333bb52215c Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:39 2015 +0900 staging: wilc1000: delete define ACTION and PROBE_REQ The define ACTION and PROBE_REQ are duplicate. They are aleady defined in host_interface.h. Just delete it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a17e2ec1ef681ccbc8eab4d435a227445a539488 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:38 2015 +0900 staging: wilc1000: remove function pointer wlan_cleanup This patch removes function pointer wlan_cleanup and just call the function wilc_wlan_cleanup. Remove static from the function also. After changing function pointer wlan_cleanup with wilc_wlan_cleanup, the define wilc_wlan_deinit will be like folowing. -define wilc_wlan_deinit(nic) { wilc_wlan_cleanup(); } The define is unnecessary so just call wilc_wlan_cleanup instead of wilc_wlan_deinit() and remove the define also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46ca80cd16f650c480cde3cdf3c68c6eb1a12f58 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:37 2015 +0900 staging: wilc1000: remove function pointer wlan_handle_rx_isr This patch removes function pointer wlan_handle_rx_isr and just call the function wilc_handle_isr. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f590c4ce170386e8aea7745ac5d92c7cbe2ab892 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:36 2015 +0900 staging: wilc1000: remove function pointer wlan_handle_tx_que This patch removes function pointer wlan_handle_tx_que and just call the function wilc_wlan_handle_txq. Remove static from the function also. There is one function call wlan_handle_tx_que which does not have an argument and return value. So put txq_count as argument and ret for return value. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fc84a6f6496e8079fed1b9c43606b82bf195c06 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:35 2015 +0900 staging: wilc1000: remove function pointer wlan_add_to_tx_que This patch removes function pointer wlan_add_to_tx_que and just call the function wilc_wlan_txq_add_net_pkt. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cec741e4aee21b324a4c2a7e142114271dfe572 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:34 2015 +0900 staging: wilc1000: remove function pointer wlan_stop This patch removes function pointer wlan_stop and just call the function wilc_wlan_stop. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e42563bbb223190575918c1706309ff99deef331 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:33 2015 +0900 staging: wilc1000: remove function pointer wlan_start This patch removes function pointer wlan_start and just call the function wilc_wlan_start. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63d7ab8efd4da800848a2862624bd5ebb482354f Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Oct 1 16:03:32 2015 +0900 staging: wilc1000: remove function pointer wlan_firmware_download This patch removes function pointer wlan_firmware_download and just call the function wilc_wlan_firmware_download. Remove static from the function also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 070d365c3d54df8be8a87bce0b5c437bab6b8ab3 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:10 2015 +0900 staging: wilc1000: rename strHostIfRemainOnChan This patch renames strHostIfRemainOnChan to remain_on_ch to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c833b4748a04ab13e88bbe847bb4c2c91b370266 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:09 2015 +0900 staging: wilc1000: rename strHostIfBASessionInfo This patch renames strHostIfBASessionInfo to session_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a584869521512432cd105f71d5bcf6949d0e798d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:08 2015 +0900 staging: wilc1000: rename strHostIfGetMacAddress This patch renames strHostIfGetMacAddress to get_mac_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15326e281cf0484f22bd1d223bcdee5c41ff3ca1 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:07 2015 +0900 staging: wilc1000: rename strHostIfSetMacAddress This patch renames strHostIfSetMacAddress to set_mac_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00c4630e3dda50112128c789e94bedfed0bf72c9 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:06 2015 +0900 staging: wilc1000: rename strHostIfSetOperationMode This patch renames strHostIfSetOperationMode to mode to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a079cf4d5e3fcfb4a01eeae911eaadf0098d16dd Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:55:05 2015 +0900 staging: wilc1000: rename strHostIfSetMulti This patch renames strHostIfSetMulti to multicast_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb2d65ed73df8a1779aa16827d001e90b583e98b Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:39 2015 +0900 staging: wilc1000: rename strHostIfSetIP This patch renames strHostIfSetIP to ip_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e4377e6ecd9ddba2eabbfb44af7a5dd1ff1154b Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:38 2015 +0900 staging: wilc1000: rename strHostIfSetDrvHandler This patch renames strHostIfSetDrvHandler to drv to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66bac7f20c5e2b9794ac7f273e398de810965f2e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:37 2015 +0900 staging: wilc1000: rename strHostIfStaInactiveT This patch renames strHostIfStaInactiveT to mac_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49e1f81b1e49e1458fb9e942e50bc9a2eb4c45c5 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:36 2015 +0900 staging: wilc1000: rename strPowerMgmtparam This patch renames strPowerMgmtparam to pwr_mgmt_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df0e7839ab7ef00f238bcfb39935a76e1e8ab059 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:35 2015 +0900 staging: wilc1000: remove struct timer_cb This patch removes struct timer_cb which is not used. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a930962b03b6f5f491be3d4bce7bed741846d1e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:34 2015 +0900 staging: wilc1000: rename strEditStaParam This patch renames strEditStaParam to edit_sta_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 889c25bee9f59dca815f48fbd5ce02e9e29cb9f5 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:33 2015 +0900 staging: wilc1000: rename strDelStaParam This patch renames strDelStaParam to del_sta_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca8f47f8d50b5b34cba5a8dbe871c01a6a3719b6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:32 2015 +0900 staging: wilc1000: rename strAddStaParam This patch renames strAddStaParam to add_sta_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a98491e50d9abaf46b4e27c353c73d08f98f64bb Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:31 2015 +0900 staging: wilc1000: rename strHostIFSetBeacon This patch renames strHostIFSetBeacon to beacon_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f33fecde162d8694fd3072aa70b59d459330d35 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:30 2015 +0900 staging: wilc1000: rename struct set_beacon This patch renames struct set_beacon to beacon_attr to keep the naming convention as scan_attr, connect_attr and channel_attr. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80bf8836bf7657000f6e49786f82207b8b5cc02f Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:29 2015 +0900 staging: wilc1000: remove struct del_beacon This patch removes struct del_beacon which is not necessary. This patch also changes Handle_DelBeacon function by removing 2nd parameter, struct del_beacon because it is not used inside. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffd6dbc8694029de6939c715c5b2bc235cd124b8 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:28 2015 +0900 staging: wilc1000: rename strHostIFSetChan This patch renames strHostIFSetChan to channel_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94bdfe4243dfc230c41acdcc02bb9b4db4346e97 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:27 2015 +0900 staging: wilc1000: rename struct set_channel This patch renames struct set_channel to channel_attr to keep the naming convention such as scan_attr and connect_attr. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3962e1c4567bfff4d61fca8e021fde78b61f1108 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:26 2015 +0900 staging: wilc1000: remove struct get_channel This patch removes struct get_channel from the driver because it is not used anywhere. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2340c36ffb0285bd80943cfd6cb06e8191f27ea Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:25 2015 +0900 staging: wilc1000: rename strHostIFCfgParamAttr This patch renames strHostIFCfgParamAttr to cfg_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18990bfe4c82261e9bddfb972d8ef23220468992 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:24 2015 +0900 staging: wilc1000: rename strHostIFkeyAttr This patch renames strHostIFkeyAttr to key_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66add622128e183e6cbe54fd653d1154af7c31c6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:23 2015 +0900 staging: wilc1000: rename strRcvdGnrlAsyncInfo This patch renames strRcvdGnrlAsyncInfo to async_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02d1946002a35ff9e82d0520570466aac8d58689 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:22 2015 +0900 staging: wilc1000: rename strRcvdNetworkInfo This patch renames strRcvdNetworkInfo to net_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f501971b72bb82437b7a3566b00648e1b007a3d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:21 2015 +0900 staging: wilc1000: rename strHostIFconnectAttr This patch renames strHostIFconnectAttr to con_info to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4528bdb5d26f699175e1e199a72e349a3992b08c Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:20 2015 +0900 staging: wilc1000: rename strHostIFscanAttr This patch renames strHostIFscanAttr to scan_info in order to avoid CamelCase naming convention. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6011b7796e8f98ace407dd06b554a8d195c0d4bc Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:19 2015 +0900 staging: wilc1000: remove AGING_ALG This patch removes AGING_ALG from the Makefile because it is always in use. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50f415203085311aee004fdbcbf845d49faa8dd9 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 30 18:44:18 2015 +0900 staging: wilc1000: remove PLL_WORKAROUND This patch removes unnecessary definition, PLL_WORKAROUND from the Makefile. There is no use throughout the driver. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c9fc85c0eca22fff369fed0d27b814b9989c035 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Thu Oct 1 21:52:56 2015 -0800 Staging: rtl8192u: Remove spaces at the start of lines This is a patch to correct indentation in one instance in ieee80211_crypt_ccmp.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9098c551a5d96df61cd4703866e727d7b1a2af8 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Thu Oct 1 21:52:52 2015 -0800 Staging: rtl8192u: Correct open brace placement This is a patch to move open braces to the appropriate lines in two instances in ieee80211_crypt_ccmp.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27a98a28e09c309f3fab3ea5af6af866b8f5b1bd Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Thu Oct 1 21:52:47 2015 -0800 Staging: rtl8192u: Fix block comment formatting This is a patch to correct block comment formatting in two instances in ieee80211_crypt_ccmp.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28b70100dab2f58f61ac34e55b7ebe4d0e36e6f5 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Thu Oct 1 21:52:43 2015 -0800 Staging: rtl8192u: missing blank lines after declarations This is a patch to add missing lines after variable decalarations in two functions in ieee80211_crypt_ccmp.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2043397283c4e1e318932bc7db285cf1c6a073fa Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Thu Oct 1 21:52:37 2015 -0800 Staging: rtl8192u: quoted strings split across lines This is a patch to fix up instances where quoted strings are split across multiple lines in several instances in ieee80211_crypt_ccmp.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4dc4d225550e12bb0526a2dc05c0073f44121714 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 1 12:14:04 2015 +0300 staging: sm750fb: remove clear method from lynxfb_{crtc,output} The clear methods of lynxfb_crtc and lynxfb_output are empty and therefore they can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efca4885b2b86d9c1a2eb579f6e9d573d44896f8 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 1 12:14:03 2015 +0300 staging: sm750fb: remove proc_checkMode method from lynxfb_output The proc_checkMode of lynxfb_output is set to function that always returns 0. Calling that function and checking for its return value is meaningless. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 104f456ce1301fa49f7dffc129c0bce420da07df Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Oct 1 12:14:02 2015 +0300 staging: sm750fb: remove unneeded switch statement The lynxfb_ops_check_var function has two switch statements, the first one checks for validity of var->bits_per_pixel and it is is immediatly followed by another one that sets parameters according to var->bits_per_pixel value. These switch statements can be merged into one. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d893537569948120332184bbea29c743f9951d9 Author: Iban Rodriguez <iban.rodriguez@xxxxxxx> Date: Thu Oct 1 22:21:40 2015 +0200 Staging: rtl8188eu: Correct two coding style errors Correct two errors reported by checkpatch.pl because space prohibited before ','. Also split both lines into multiple lines as they are longer than 80 characters Signed-off-by: Iban Rodriguez <iban.rodriguez@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fe1be87abfb4fab62a03ca6e1440cd4fc63dc74 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 1 16:18:07 2015 +0300 staging: rtl8712: re-use mac_pton() ...instead of custom approach Cc: Joshua Clayton <stillcompiling@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a57ace12815d2e913f6b81e2e9e3c00e24d64594 Author: Bryan Paul <bryan.paul@xxxxxxxxx> Date: Wed Sep 30 11:05:09 2015 -0600 staging:rtl8188eu style fix Fixed style issue if comparison should place constant on right of test Signed-off-by: Bryan Paul <bryan.paul@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86dc65b36cb55b81d1bd90b7483bea06375f5078 Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Wed Sep 30 13:12:11 2015 +0100 staging: rtl8192e: rtl_wx: fix negative noise value wstats->qual.noise is of type uint8, so it shouldn't be assigned a negative number. Assigning it 0x100 - 100, which is the equivalent to -100 dBm when IW_QUAL_DBM is set. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Tested-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b890d00e849384ed2529071ce4a8e51160de6055 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Wed Sep 30 10:20:47 2015 -0500 staging: rtl8188eu: Add missing include In commit 0a0796eb16f3, there is no include to mon.h, a newly created header file. This omission leads to the following Sparse warnings: CHECK drivers/staging/rtl8188eu/os_dep/mon.c drivers/staging/rtl8188eu/os_dep/mon.c:81:6: warning: symbol 'rtl88eu_mon_recv_hook' was not declared. Should it be static? drivers/staging/rtl8188eu/os_dep/mon.c:113:6: warning: symbol 'rtl88eu_mon_xmit_hook' was not declared. Should it be static? drivers/staging/rtl8188eu/os_dep/mon.c:167:19: warning: symbol 'rtl88eu_mon_init' was not declared. Should it be static? drivers/staging/rtl8188eu/os_dep/mon.c:188:6: warning: symbol 'rtl88eu_mon_deinit' was not declared. Should it be static? Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f7a9424951b9d415aa61bcbd126ba5a3e09c1bc Author: Arjun Krishna Babu <arjunkrishnababu96@xxxxxxxxx> Date: Wed Sep 30 18:24:22 2015 +0530 staging: vt6655: Fixed two lines over 80 characters long Two lines of code that were over 80 characters long is fixed by splitting them across multiple lines. The lines of code are now easier to comprehend. Issue found by checkpatch. Signed-off-by: Arjun Krishna Babu <arjunkrishnababu96@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddf837ea95017a658d2a4bac6b89fc0989f2e5e6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 30 17:37:13 2015 +0100 staging: comedi: comedi_usb.c: improve function documentation Expand the descriptions of the functions and document the return values. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 127a0cf9b091fe85b6624a4ac8164d6b2cf76143 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 30 17:10:57 2015 +0100 staging: comedi: comedi_pcmcia.c: improve function documentation Expand the descriptions of the functions and document the return values. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea1ea695133a47302c639d9e836f513d7473562a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 30 16:43:55 2015 +0100 staging: comedi: comedi_pci.c: Fix kernel-doc Return tags Fix the 'Return' tags in the kernel-doc comments as they currently say 'Returns', which is not recognized by kernel-doc. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a56d092aa94ebcc9452ddaa47423b9a478aa6aa5 Author: Rohit kumar <rohit.kr@xxxxxxxxxxx> Date: Wed Sep 30 11:07:35 2015 +0530 staging: ion: Fix error handling in ion_buffer_create This patch fixes error handling case when buffer->pages allocation fails. Also, it removes unreachable code of checking ret variable although it is not updated. Signed-off-by: Rohit kumar <rohit.kr@xxxxxxxxxxx> Reviewed-by: Laura Abbott <labbott@xxxxxxxxxx> Suggested-by: Pintu Kumar <pintu.k@xxxxxxxxxxx> Reviewed-by: Pintu Kumar <pintu.k@xxxxxxxxxxx> Reviewed-by: Gioh Kim <gioh.kim@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc719854d2c0f338fb784560e80e216dcfbe5332 Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Oct 1 12:41:59 2015 -0400 staging: unisys: visorhid: remove unnecessary include of serio.h No need for serio.h to be included. 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 0fbc149c9426f2ca18745bf94eb854b6d41332bb Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Thu Oct 1 12:41:58 2015 -0400 staging: unisys: visorhid: correctly map keys with extended scancodes The most-noticed key that wasn't being mapped correctly was Right-Alt, which is the AltGr key on many non-US keyboards, used to select many extended characters. 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 f84bd6267d623b49f196d54ba9edc41ff1c4d5e3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Thu Oct 1 11:52:30 2015 -0400 staging: unisys: correctly handle return value from queue_delayed_work() Properly handle the return value from queue_delayed_work() - it's a bool, not an int, so using a less than comparison isn't appropriate. This mistake was found by David Binderman <dcb314@xxxxxxxxxxx>. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07f8260bb65676910d4a16e81a319b33095dccb6 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Thu Oct 1 11:52:29 2015 -0400 staging: unisys: get rid of list of devices We don't need the list of devices, we can loop through the one provided by the network api and filter on ours. 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 f5c9598b735c55e56998fbd0c2df61d12a418167 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Thu Oct 1 11:52:28 2015 -0400 staging: unisys: get rid of devnum pool and dev num devnum pool and devnum are no longer needed. 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 6fce180320ba1fb9710f5f25577da84af12447e8 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Thu Oct 1 11:52:27 2015 -0400 staging: unisys: remove devdata->name use netdev->name The net device already has a name, so use that instead. 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 d1e9aef604da38a4963998922ed0ffff675e3ede Author: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Date: Fri Oct 2 02:57:03 2015 +0530 Staging: xgifb: vb_util: Fixed sparse warning of bit truncation due to cast Fixed the warning generated by sparse that 'cast truncates bits from constant value' by typecasting unsigned values to u8 as their logical operation is being performed with and stored in a u8 type variable. Signed-off-by: Shivani Bhardwaj <shivanib134@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1657183fcc4e044b2e96bcb9150265027ad2b44b Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Thu Oct 1 22:10:52 2015 +0300 staging: iio: Fix comment style warning Move final */ to the next line, in accordance with the suggestion of checkpatch Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c76d294f324856240ee45569c7f783e86082434c Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Thu Oct 1 21:43:57 2015 +0300 staging: dgnc: Fix indentation warning Fixed 'suspect code indent for conditional statements (8, 24)' Warning Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec2c398eff3e928ad3932d6b041168bd85b45ff0 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Oct 1 16:42:16 2015 +0300 Staging: octeon: Use preferred kernel type This patch "uint*_t" type instead of "u*" type was used. checkpatch.pl issue in octeon driver. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f6347ef496dbeeacb9937aedb50ed9aa1a20cd1 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Sep 30 18:28:54 2015 +0530 Staging: fbtft: Remove debug messages related to DEBUG_BACKLIGHT Remove debug messages related to fbtft_par_dbg(DEBUG_BACKLIGHT.. ) as this info can be obtained using kernel function tracer Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bcaa1e955fe9126ef627d5f1d81bd1be7946299 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Sep 30 18:28:53 2015 +0530 Staging: fbtft: Remove debug messages related to DEBUG_WRITE_VMEM Remove debug messages related to fbtft_par_dbg(DEBUG_WRITE_VMEM.. ) as this info can be obtained using kernel function tracer Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60ec47f23e70baf920f73026095de57edb14731a Author: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Date: Wed Sep 30 22:28:32 2015 +0300 staging: wlan-ng: fix block comment indentation Update indentation of block comments to follow linux coding style Signed-off-by: Ioana Ciornei <ciorneiioana@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12597e4539e60975d934ae42a33e765d1857bf04 Merge: b4b05b9 819fd4b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Oct 2 02:25:01 2015 -0700 Merge branch 'sh-pfc-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel commit 053118935e7a0f62e96471220acd659b83d04ef7 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Oct 1 15:07:58 2015 +0530 Staging: lustre: obdclass: Declare structure as static. Declare structure as static since it is not accessed anywhere apart from this particular file. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3fde1b870dff88d2655b4fa60d6d25366c6ee09 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:42 2015 -0400 staging/lustre/ldlm: Make ldlm_add_ast_work_item() static Now that ldlm_flock code no longer uses it. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb10512e76b8db31c0f99115ee6216d648cf9816 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:41 2015 -0400 staging/lustre/ldlm: Remove posix lock (flock) deadlock detection This is server-side code that cannot work on the client (vfs would do this check on the local node). Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58ba1c313fa04f86f00e0aa5df9e7ee31a25dd33 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:40 2015 -0400 staging/lustre/ldlm: Remove ldlm_namespace_inactive_list() Since there are no server namespaces, just replace it with ldlm_cli_inactive_namespace_list pointer. Also make ldlm_cli_inactive_namespace_list static as it's only used in ldlm_resource.c Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58c6d1337761b8adc69a422f40f8701db6807f24 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:39 2015 -0400 staging/lustre/ldlm: Remove unused exported symbols. This rather large patch prunes all unused EXPORT_SYMBOLS and marks functions only used locally as static lustre ldlm module. The only two remaining nonstatic functions that should be static now are: ldlm_cancel_lru_local ldlm_resource_putref_locked But some bigger code shuffling around is needed to achieve that, so it's left for a future patch. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00f9d12b6b334208e8d5e1097db67793492d25a7 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:38 2015 -0400 staging/lustre/ldlm: Remove server side code from pool support. Server-side scanning is not really used in the client code, so it's ok to drop it. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71570b98e35d9f00a5ee9936204e5d7c380491d6 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:37 2015 -0400 staging/lustre: Remove ns_is_server() Since the code we have is Lustre-client only, this function always returns 0, so drop it and amend all the callsites to drop dead code. One of the places also sets LDLM_FL_NS_SRV to indicate a lock is in a server namespace. This too cannot happen in this code, so drop all such checks as well. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf739f84a326d009670ba5c2d8d7b63216722ffc Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:36 2015 -0400 staging/lustre: Remove ns_is_client() Since staging tree code is just the client, ns_is_client is always true, so change all callers as such and drop all the dead code for when it's false. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f954e778dce59036dae0ebf9cf304621a71aa85b Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:35 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_blocking_ast/_nocheck() All users are gone, and they were used on the server anyway. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8d84a762faaf7dd6dacfcd981dcc8ecec68e5d3 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:34 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_resource_insert_lock_after() It was only used on the server. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71d1c4d5cb6c578c191db042dc7f025d328b5f73 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:33 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_reprocess_all*() They are only used on the server. Also remove helper functions and cleanup callsites. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02176031cd6db041a8b3916364df82b8708da3fc Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:32 2015 -0400 staging/lustre/ldlm: Remove intent policies handler. This includes ldlm_register_intent(), ns_policy field in the namespace and all of it's users, as this could only happen on the server. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8868dc0d90e0ed3f9d276c849a65284fad25109c Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:31 2015 -0400 staging/lustre/ldlm: Remove ldlm_refresh/del_waiting_lock() Nothing adds locks into waiting list on the client, so no point in retaining those. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5613d7545519e9896d08a8061a6bbd546c1c10b Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:30 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_pool_set_slv() Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 865cc738e6f7b720284cc3a1c9f323d9772c3d4e Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:29 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_pool_get_clv() Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4889fd37f50f361716764c26121e3b7cbf741bc3 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:28 2015 -0400 staging/lustre/ldlm: Remove ldlm_namespace_free() It was directly used only on the server. Client side part was split into smaller chunks to avoid deadlocks. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 996cbc63df2538b36ae7ce192d333dcd2454789e Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:27 2015 -0400 staging/lustre/ldlm: Remove ldlm_lock_fail_match() It's not used anywhere. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e306fc791709e979634075a01c902c11d5b20b02 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:26 2015 -0400 staging/lustre/ldlm: Remove ldlm_glimpse_ast() Only used on the server. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38c3f17fcac1c5de10db7306e585b62577e55bcb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:25 2015 -0400 staging/lustre/ldlm: Remove ldlm_errno2error() This particular incarnation is only used on the server. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf2a033360f7e4173c42a7e9b7dfd9d6757904bd Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:24 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_enqueue_pack() Not used anywhere Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7dbe11ef0700829ef133e332673e5921346f80e Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:23 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_init/fini_flock_export And all supporting export infrastructure. There's no use for it all on client. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab47eb1b937783fba5363c43dc8da5ccd2fca77f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:22 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_cli_enqueue_local() This is only used on the server. Also while we are at it, remove unused prototypes for ldlm_server_ast and ldlm_handle_enqueue0() that are not defined anywhere Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c279f4d93c7be90a0163ef0bb5a71b11edf7395 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:21 2015 -0400 staging/lustre/ldlm: Get rid of lr_converting queue Now that we removed all the lock conversion functions, also get rid of the converson queue since nothing could ever get there anyway. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97ea097b456185f3d653d1a623998086c35d4c66 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:20 2015 -0400 staging/lustre/ldlm: Remove unimplemented lock conversion traces. Lock conversion is not really implemented, so let's stop pretending here. This removes ldlm_lock_convert, ldlm_cli_lock_convert and ldlm_lock_downgrade. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 004a4b38a7a0522c0edfd29c01855f92bec516a1 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:19 2015 -0400 staging/lustre/ldlm: Remove ldlm_init/destroy_export() These functions are used on the server-only, so get rid of them. Also get rid of ldlm export hash operations and the struct. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a7c086d8cb17978f2fdf6768ff0233f9a9507ea Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:18 2015 -0400 staging/lustre/ldlm: Remove unused ldlm_cancel_locks_for_exports() This is only used on the server in case a client gets disconnected. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3dd5a6ba55d62a9c9c04194bbf8e285ef9e0f5ad Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:17 2015 -0400 staging/lustre/ldlm: Remove unused interval tree bits On client side interval-tree code operations are pretty basic, so get rid of the code that is only used on the server to figure out how much to extend the locks and such. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ddca06fb384b1ff7cf2badf80d085487ce40868 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:16 2015 -0400 staging/lustre/lov: Remove unused lov_lsm_decref() Also lov_lsm_addref is only used in the file it is defined, so make it static Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88bc797cc3c531ea86e84b7724371ebbde213fa8 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:15 2015 -0400 staging/lustre/lov: Remove unused lov_dump_lmm/pool() These generic switch functions appear to be unused as all the individual ones are called directly. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d00df54e0c93bc65127bdef09bf4e56ca3ab13c Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:14 2015 -0400 staging/lustre/llite: Remove unused ll_rmdir_entry() The ioctl for this function was removed, but the function was forgotten, so kill it now. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17556af2b4268f3504cefeb907d27a5c40dff230 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:13 2015 -0400 staging/lustre: Remove ununused ll_ra_read_get() Also ll_ra_read_get_locked that was only used by it. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b27f9d185f8ed05229b867a30de1d4254039deb8 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:12 2015 -0400 staging/lustre: KEY_DEFAULT/MAX_COOKIESIZE key is unused, remove them Also remove the lmv and mdc infrastructure to query these keys. In fact this whole "unlink cookies" thing becomes irrelevant with newer servers, but since we still retain 2.[123] servers commpatibility, we cannot completely remove all traces of it yet. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db459e48f5c6273f104113a043a698605dde73f8 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Oct 1 00:12:11 2015 -0400 staging/lustre/llite: Remove unused ll_get_default/max_cookiesize() This was used for a function that's no longer important, but is no longer used anywhere. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f12a3118f554d2a38cc2c0ea17443d8b041b17f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Aug 23 23:23:02 2015 +0200 vga_switcheroo: Add missing locking The following functions iterate over the client list, invoke client callbacks or invoke handler callbacks without locking anything at all: - Introduced by c8e9cf7bb240 ("vga_switcheroo: Add a helper function to get the client state"): vga_switcheroo_get_client_state() - Introduced by 0d69704ae348 ("gpu/vga_switcheroo: add driver control power feature. (v3)"): vga_switcheroo_set_dynamic_switch() vga_switcheroo_runtime_suspend() vga_switcheroo_runtime_resume() vga_switcheroo_runtime_resume_hdmi_audio() Refactor vga_switcheroo_runtime_resume_hdmi_audio() a bit to be able to release vgasr_mutex immediately after iterating over the client list. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 819fd4bfcc84805c48291de511c917596e911ffa Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Date: Tue Sep 15 14:49:15 2015 +0900 pinctrl: sh-pfc: r8a7795: add EtherAVB support This patch adds EthernetAVB Based on a much lager patch by Takeshi Kihara which was originally posted by Kuninori Morimoto. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> [horms: extracted from a larger patch; corrected swapped {MATCH,CAPTURE_A} pins] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 9b132ba3e31773ad9371f4a296c5a99ac483fb40 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Sep 18 01:54:25 2015 +0000 pinctrl: sh-pfc: r8a7795: add Audio SSI pin support Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit c33a7fe39975f64edbbbfafcaef268fb162d5d63 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Sep 18 01:54:02 2015 +0000 pinctrl: sh-pfc: r8a7795: add Audio clock pin support Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 2544ef72306a34344cc636272d8567f5682ca4fb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Sep 18 01:53:33 2015 +0000 pinctrl: sh-pfc: r8a7795: add I2C pin support Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit ff8459a5061670960f944fcefc4b69af77e14739 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Sep 3 02:52:07 2015 +0000 pinctrl: sh-pfc: r8a7795: add SCIFx support This patch adds SCIF0/1/2/3/4/5 Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> [Morimoto-san: Updated] Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0b0ffc96dbe30fa9d966a6f8a9ce9f276fd4007f Author: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> Date: Thu Sep 3 02:51:49 2015 +0000 pinctrl: sh-pfc: Initial R8A7795 PFC support Add PFC base support for the R8A7795 SoC. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@xxxxxxxxxxx> [Morimoto-san: updated] Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 5451d09259d59e37430575676e3344cf41735b33 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:51:21 2015 +0000 pinctrl: sh-pfc: remove unused PINMUX_IPSR_MODSEL_DATA() Now, all PINMUX_IPSR_MODSEL_DATA() are replased to PINMUX_IPSR_MSEL() Let's remove unused PINMUX_IPSR_MODSEL_DATA() Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 759151401c9dc2e929b34c8d7d863c78c8240496 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:50:58 2015 +0000 pinctrl: sh-pfc: r8a7779: use PINMUX_IPSR_MSEL() Now, PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are same. Current PFC driver is very difficult to read, because macro names are using different length. PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can use PINMUX_IPSR_MSEL() instead of PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit af5132dd12c5a1fab0c2500168dfed2cbf6179b6 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:50:38 2015 +0000 pinctrl: sh-pfc: r8a7790: use PINMUX_IPSR_MSEL() Now, PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are same. Current PFC driver is very difficult to read, because macro names are using different length. PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can use PINMUX_IPSR_MSEL() instead of PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 13ce3c39d0c45fe32398b90422c78f7a8a2b8970 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:50:16 2015 +0000 pinctrl: sh-pfc: r8a7791: use PINMUX_IPSR_MSEL() Now, PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are same. Current PFC driver is very difficult to read, because macro names are using different length. PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can use PINMUX_IPSR_MSEL() instead of PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit adedb87fb61f5a418a1aabdb989bc0f55895e44f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:49:56 2015 +0000 pinctrl: sh-pfc: r8a7794: use PINMUX_IPSR_MSEL() Now, PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are same. Current PFC driver is very difficult to read, because macro names are using different length. PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can use PINMUX_IPSR_MSEL() instead of PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 3d8c120be3fc003c0a0a8dc5a0e77f2dbd20ee68 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:49:36 2015 +0000 pinctrl: sh-pfc: sh7734: use PINMUX_IPSR_MSEL() Now, PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are same. Current PFC driver is very difficult to read, because macro names are using different length. PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can use PINMUX_IPSR_MSEL() instead of PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 2b67bccb478773347717d21781cf2bfd6db5c9fd Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 3 02:49:14 2015 +0000 pinctrl: sh-pfc: modify PINMUX_IPSR_MSEL() macro order The difference between PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() are FN_xxx order, and PINMUX_IPSR_MSEL() is used only from r8a7778. Now it r8a7778 works correctly with PINMUX_IPSR_MODSEL_DATA() order. This means we can merge PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA(). Current PFC driver is very difficult to read, because macro names are using different length. Especially PINMUX_IPSR_MODSEL_DATA() is well used macro PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) PINMUX_IPSR_MODSEL_DATA(ipsr, ...) It can be readable if we can merge PINMUX_IPSR_MSEL() and PINMUX_IPSR_MODSEL_DATA() PINMUX_IPSR_NOGP(ispr, ...) PINMUX_IPSR_DATA(ipsr, ...) PINMUX_IPSR_NOGM(ispr, ...) PINMUX_IPSR_NOFN(ipsr, ...) PINMUX_IPSR_MSEL(ipsr, ...) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 4adeabd042422ceecd7605961d785c5c3edab9e1 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 10:08:13 2015 +0300 pinctrl: sh-pfc: Remove hardcoded IRQ numbers Now that all ARM-based Renesas SoCs use multiplatform kernels only the hardcoded IRQ numbers can be dropped as they're dynamically allocated. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 90d066130f69533fb16b395be3de613903575e69 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 27 22:07:23 2015 +0200 pinctrl: sh-pfc: Get rid of CONFIG_ARCH_SHMOBILE_LEGACY Shmobile is all multiplatform these days, so get rid of the reference to CONFIG_ARCH_SHMOBILE_LEGACY. Move the legacy code to do the non-DT mapping between GPIOs and pins inside the existing #ifdef CONFIG_SUPERH section. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9e214614532a6bd7e90bdcdc778b041647cc4036 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Sep 10 14:17:03 2015 +0200 pinctrl: sh-pfc: r8a7791/r8a7793: Correct SCIFB1_B SCK MOD_SEL value When using serial port SCIFB1_B, transmit works, but nothing is received. Receive fails because the SCIFB1_SCK_B settings configure the wrong value for the sel_scifb1 field in the Module Select Register (MOD_SEL), due to an ambiguity in the R-Car M2-W and M2-N datasheets. Tested on r8a7791/koelsch using pins 53 (TXD) and 72 (RXD) on EXIO Connector A. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 48a7b99d75b4f48fb001057a8390a839e70e7acc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 26 19:53:58 2015 +0200 pinctrl: sh-pfc: r8a7794: Remove bogus SCIF0 SCK pin data SCIF0 on R-Car E2 does not have an SCK pin. "SCIF_CLK" is the (H)SCIF baud rate generation clock pin, which is not yet supported. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 56f891b46d37e8c7b04db660d6e9ad05e586203c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:19 2015 +0200 pinctrl: sh-pfc: Confine legacy function GPIOs to SH Legacy function GPIOs are no longer used on ARM since commit a27c5cd1a08cc95c ("sh-pfc: sh73a0: Remove function GPIOs"). Extract its setup code into a separate function, and make all function GPIO related code and data depend on CONFIG_SUPERH. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit 57106e5ca55bea70e3e296a3e7546aefe0d1dabe Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:18 2015 +0200 pinctrl: sh-pfc: Remove empty gpio_function_free() gpio_chip.free() is optional, and can just be left unimplemented. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 18fab3995e8a6c4e3ffe2adced0ffa76eebdc989 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:55:17 2015 +0200 pinctrl: sh-pfc: Stop calling gpiochip_add_pin_range() on DT platforms On platforms where the PFC/GPIO controller is instantiated from DT, the mapping between GPIOs and pins is set up using the "gpio-ranges" property in DT. Hence stop setting up the mapping from C code on DT platforms. This code is still used for SH or ARM-legacy platforms. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> commit bd93a50e4dbae108a55a228bba1a69a2314096fb Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Wed Sep 30 23:00:43 2015 +0300 drm/i915: rename INSTDONE to GEN2_INSTDONE We have a bunch of INSTDONE registers for different platforms and purposes and it's not immediately clear which instance they are just by looking at the register name. This one was added on GEN2, where it was the only INSTDONE register, so mark it as such. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f1d543485344f11f90e5fac637cc3430841ddabf Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Wed Sep 30 23:00:42 2015 +0300 drm/i915: remove duplicate names for the render ring INSTDONE register We use 3 different names to refer to the same render ring INSTDONE register. This can be confusing when comparing two parts of the code accessing the register via different names. Although the GEN4 version's layout is different, we treat it the same way as the GEN7+ version, in that we simply read it out during error capture. So remove the duplicates and leave a comment about the GEN4 difference. Note that there is also a GEN2 version of this register, but that's on a different address so not handled in this patch. Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5325f83aba3cc80a1d3aa62a0350a107cfae7a43 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Jul 28 07:06:45 2015 +0000 ARM: shmobile: dts: Add common file for AA121TD01 panel The Mitsubishi AA121TD01 panel is commonly used with the Marzen, Lager and Koelsch boards. Create a .dtsi file that describe the panel and its connection to the board. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d4070ff71363a2b6598633f23558f809600ebad2 Merge: 2d4df13 fd1ee4c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 2 15:41:17 2015 +1000 Merge tag 'drm-intel-next-2015-09-11' of git://anongit.freedesktop.org/drm-intel into drm-next - initialize backlight from VBT as fallback (Jani) - hpd A support from Ville - various atomic polish all over (mostly from Maarten) - first parts of virtualize gpu guest support on bdw from Zhiyuan Lv - GuC fixes from Alex - polish for the chv clocks code (Ville) - various things all over, as usual * tag 'drm-intel-next-2015-09-11' of git://anongit.freedesktop.org/drm-intel: (145 commits) drm/i915: Update DRIVER_DATE to 20150911 drm/i915: Remove one very outdated comment drm/i915: Use crtc->state for duplication. drm/i915: Do not handle a null plane state. drm/i915: Remove legacy plane updates for cursor and sprite planes. drm/i915: Use atomic state when changing cursor visibility. drm/i915: Use the atomic state in intel_update_primary_planes. drm/i915: Use the plane state in intel_crtc_info. drm/i915: Use atomic plane state in the primary plane update. drm/i915: add attached connector to hdmi container drm/i915: don't hard code vlv backlight frequency if unset drm/i915: initialize backlight max from VBT drm/i915: use pch backlight override on hsw too drm/i915/bxt: Clean up bxt_init_clock_gating drm/i915: Fix cmdparser STORE/LOAD command descriptors drm/i915: Dump pfit state as hex drm/i915: access the PP_ON_DELAYS/PP_OFF_DELAYS regs only pre GEN5 drm/i915: access the PP_CONTROL reg only pre GEN5 drm/i915: Refactor common ringbuffer allocation code drm/i915: use the yesno helper for logging ... commit e5cf79d9957d958c0c5fd1cbc4eda6c48c563888 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Sep 29 09:43:08 2015 +0100 ARM: shmobile: dt: Rename incorrect interrupt related binding interrupts-names => interrupt-names Other line changes are re-aligning. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6e67d2ccb8b5ac6dbc6a0cfdf8320d68fa289193 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:45 2015 +0200 ARM: shmobile: apmu: correct type of CPU id CPU id can be negative, so it cannot be assigned to unsigned variable. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 45cb0bd77a85ee53234968109909654415479558 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 13 02:00:19 2015 +0300 ARM: shmobile: r8a7794: link PCI USB devices to USB PHY Describe the PCI USB devices that are behind the PCI bridges, adding necessary links to the USB PHY device. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2dc6a0303b89de4c92b44f5278d61b6b6c9c20eb Merge: 4bf1b54 248234c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 1 18:24:12 2015 -0700 Merge branch 'bridge_vlan_cleanups_fixes' Nikolay Aleksandrov says: ==================== bridge: vlan: cleanups & fixes This is the first follow-up set, patch 01 reduces the default rhashtable size and the number of locks that can be allocated. Patch 02 and 04 fix possible null pointer dereferences due to the new ordering and initialization on port add/del, and patch 03 moves the "pvid" member in the net_bridge_vlan_group struct in order to simplify code (similar to how it was with the older struct). Patch 05 fixes adding a vlan on a port which is pvid and doesn't have a global context yet. Please review carefully, I think this is the first use of rhashtable's "locks_mul" member in the tree and I'd like to make sure it's correct. Another thing that needs special attention is the nbp_vlan_flush() move after the rx_handler unregister. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 248234ca029710fbad6423c48f98c2a6ea9582fb Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:16:55 2015 +0200 bridge: vlan: don't pass flags when creating context only We should not pass the original flags when creating a context vlan only because they may contain some flags that change behaviour in the bridge. The new global context should be with minimal set of flags, so pass 0 and let br_vlan_add() set the master flag only. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 263344e64c0a2ac0e409a1a3f27effb6d57b853e Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:16:54 2015 +0200 bridge: vlan: fix possible null ptr derefs on port init and deinit When a new port is being added we need to make vlgrp available after rhashtable has been initialized and when removing a port we need to flush the vlans and free the resources after we're sure noone can use the port, i.e. after it's removed from the port list and synchronize_rcu is executed. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77751ee8aec3e1748e0d1471ccbfc008793e88a6 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:16:53 2015 +0200 bridge: vlan: move pvid inside net_bridge_vlan_group One obvious way to converge more code (which was also used by the previous vlan code) is to move pvid inside net_bridge_vlan_group. This allows us to simplify some and remove other port-specific functions. Also gives us the ability to simply pass the vlan group and use all of the contained information. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 468e7944589c7f096bb4ea14db17980aa6c2766c Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:16:52 2015 +0200 bridge: vlan: fix possible null vlgrp deref while registering new port While a new port is being initialized the rx_handler gets set, but the vlans get initialized later in br_add_if() and in that window if we receive a frame with a link-local address we can try to dereference p->vlgrp in: br_handle_frame() -> br_handle_local_finish() -> br_should_learn() Fix this by checking vlgrp before using it. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8af78b6487856d8a896ba15e9255b8e5fa91eb5f Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:16:51 2015 +0200 bridge: vlan: adjust rhashtable initial size and hash locks size As Stephen pointed out the default initial size is more than we need, so let's start small (4 elements, thus nelem_hint = 3). Also limit the hash locks to the number of CPUs as we don't need any write-side scaling and this looks like the minimum. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f4f6317ab67c118f54c94c24aa6b7dbfc2babec Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 01:06:23 2015 +0300 ARM: shmobile: silk: enable USB PHY Enable USB PHY device for the SILK board. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 74ef4572004fc2abf5951a07aab36600a17b3a48 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 2 01:05:12 2015 +0300 ARM: shmobile: r8a7794: add USB PHY DT support Define the R8A7794 generic part of the USB PHY device node. It is up to the board file to enable the device. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f138e54c4525fa789b556909c00359fea3c21a6c Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 02:02:27 2015 +0300 ARM: shmobile: porter: initial device tree Add the initial device tree for the R8A7791 SoC based Porter low cost board (which is a slightly modified version of the Henninger board). SCIF0 serial port support is included, so that the serial console can work. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 12a75ced8ed7c6fa0ef483a35c15464bb9c9dab2 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 02:01:38 2015 +0300 ARM: shmobile: add Porter board DT bindings Add Porter device tree bindings documentation, listing it as a supported board. This allows to use checkpatch to validate DTSes referring to the Porter board. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2c74b5399de730e3155dc3d5a8ad041fba5e93f4 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Sep 28 14:22:03 2015 -0700 clk: bcm2835: Add binding docs for the new platform clock driver. Previously we've only supported a few fixed clocks based on assumptions about how the firmware sets up the clocks, but this binding will let us control the actual (audio power domain) clock manager. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Acked-by: Lee Jones <lee@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 4f61d8e220c110de90a02736ceb55e1e398d6be7 Author: Eric Anholt <eric@xxxxxxxxxx> Date: Mon Sep 28 14:22:02 2015 -0700 clk: bcm2835: Move under bcm/ with other Broadcom SoC clk drivers. clk-bcm2835.c predates the drivers under bcm/, but all the new BCM drivers are going in there so let's follow them. Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 53fdc8fd25e81da9dd3acb920c448b601f8d29ff Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 29 13:32:27 2015 +0200 clk: imx: use sign_extend32() and abs() This simplifies the given function by getting rid of the manual sign extension as well as saving an absolute value in an extra variable. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7a03fe6f48f35bbf5f5c3cb46f02e8c90b26b238 Author: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Date: Fri Sep 4 08:15:33 2015 +0800 clk: rockchip: reset init state before mmc card initialization mmc host controller's IO input/output timing is unpredictable if bootloader execute tuning for HS200 mode. It might make kernel failed to initialize mmc card in identification mode. The root cause is tuning phase and degree setting for HS200 mode in bootloader aren't applicable to that of identification mode in kernel stage. Anyway, we can't force all bootloaders to reset tuning phase and degree setting before into kernel. Simply reset it in rockchip_clk_register_mmc. Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 7a29f3f02028bff1a44daa61c3eabb5dd2c89de5 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Sep 9 14:57:11 2015 +0200 clk: shmobile: div6: Grammar s/They/Their/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d87574332cd669c8949b75e87e499a7478dffead Author: Victorien Vedrine <victorien.vedrine@xxxxxxxxxx> Date: Mon Aug 31 10:45:07 2015 +0200 clk:mxs: Fix bug on frequency divider On drivers/clk/mxs/clk-frac.c, the function clk_frac_round_rate returned a bad result. The division before multiplication computes a wrong value ; the calculation is inverted to fix the problem. The second issue is that the exact rate have decimals and they are truncate. The consequence is that the function clk_frac_set_rate (which use the result of clk_frac_round_rate) computes a wrong value for the register (the rate generated can be closer to the desired rate). The correction is : if there is decimal to the result, it is rounded to the next larger integer. On drivers/clk/mxs/clk-frac.c, the function clk_frac_recalc_rate returned a bad result. The multiplication is made before the division to compute a correct value. Signed-off-by: Victorien Vedrine <victorien.vedrine@xxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a1c22a4be7983f64324e960f7ba373784c0c8289 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:16 2015 +0200 clk: st: fix handling result of of_property_count_strings The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 996347612dc58b534e397a742b3bfd3023850bb1 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 19:10:55 2015 -0300 [media] rcar_jpu: Fix namespace for two __be16 vars Fixes those sparse warnings: drivers/media/platform/rcar_jpu.c:1150:51: warning: incorrect type in assignment (different base types) drivers/media/platform/rcar_jpu.c:1150:51: expected unsigned short [unsigned] [short] [usertype] <noident> drivers/media/platform/rcar_jpu.c:1150:51: got restricted __be16 [usertype] <noident> drivers/media/platform/rcar_jpu.c:1152:50: warning: incorrect type in assignment (different base types) drivers/media/platform/rcar_jpu.c:1152:50: expected unsigned short [unsigned] [short] [usertype] <noident> drivers/media/platform/rcar_jpu.c:1152:50: got restricted __be16 [usertype] <noident> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5347f97c651906887446a8811946e54b5a972fe4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 19:07:32 2015 -0300 [media] c8sectpfe: fix namespace on memcpy/memset Solves those sparse warnings: drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1087:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1087:9: expected void *<noident> drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1087:9: got void [noderef] <asn:2>*<noident> drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1090:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1090:9: expected void *<noident> drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c:1090:9: got void [noderef] <asn:2>* Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit de2ce8fd84f965a270bad28d284932bf20c349be Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 19:05:46 2015 -0300 [media] mipi-csis: make sparse happy Fix the namespace issue that causes this warning: drivers/media/platform/exynos4-is/mipi-csis.c:709:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/exynos4-is/mipi-csis.c:709:17: expected void const *<noident> drivers/media/platform/exynos4-is/mipi-csis.c:709:17: got void [noderef] <asn:2>* Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 340ccedb76593a2961ad5dd72b33894dd755a358 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 19:02:45 2015 -0300 [media] netup_unidvb_ci: Fix dereference of noderef expression Fix those sparse warnings: drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:150:40: warning: dereference of noderef expression drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:165:31: warning: dereference of noderef expression drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:174:36: warning: dereference of noderef expression drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:189:27: warning: dereference of noderef expression Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8334c0e7b983fb27e0d8788901e9621d1946ba93 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Oct 1 11:38:35 2015 +0200 clk: rockchip: don't use clk_ APIs in the pll init-callback Separate the update of pll registers from the actual set_rate function so that the init callback does not need to access clk-API functions. As we now have separated the getting and setting of the pll parameters we can also directly use these new functions in other places too. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d91b1d912e9d856afb062c1a985e8c0b561f6c87 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:49:29 2015 -0300 [media] netup_unidvb: remove most of the sparse warnings There is a mess at the namespace on netup_unidvb: drivers/media/pci/netup_unidvb/netup_unidvb_core.c:192:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:192:41: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:192:41: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:194:26: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_core.c:194:26: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:194:26: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:194:26: got unsigned short [usertype] *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:196:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:196:41: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:196:41: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:198:26: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_core.c:198:26: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:198:26: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:198:26: got unsigned short [usertype] *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:210:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:210:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:210:37: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:211:32: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:211:32: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:211:32: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:213:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:213:33: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:213:33: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:528:49: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:528:49: expected void const volatile [noderef] <asn:2>*src drivers/media/pci/netup_unidvb/netup_unidvb_core.c:528:49: got unsigned char [usertype] * drivers/media/pci/netup_unidvb/netup_unidvb_core.c:541:49: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:541:49: expected void const volatile [noderef] <asn:2>*src drivers/media/pci/netup_unidvb/netup_unidvb_core.c:541:49: got unsigned char [usertype] * drivers/media/pci/netup_unidvb/netup_unidvb_core.c:647:22: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:647:22: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:647:22: got unsigned char [usertype] *addr_virt drivers/media/pci/netup_unidvb/netup_unidvb_core.c:650:22: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_core.c:654:59: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:654:59: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:654:59: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:655:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:655:56: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:655:56: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:656:23: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:656:23: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:656:23: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:658:31: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:658:31: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:658:31: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_core.c:660:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_core.c:660:33: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_core.c:660:33: got restricted __le32 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:81:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:81:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:81:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:82:38: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:82:38: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:82:38: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:104:33: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:104:33: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:104:33: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:105:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:105:47: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:105:47: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:112:33: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:112:33: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:112:33: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:113:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:113:47: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:113:47: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:132:36: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:132:36: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:132:36: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:133:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:133:32: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:133:32: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:134:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:134:32: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:134:32: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:135:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:135:32: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:135:32: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:136:27: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:136:27: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:136:27: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:137:27: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:137:27: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:137:27: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:144:28: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:144:28: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:144:28: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:150:34: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:150:34: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:150:34: got unsigned char *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:157:34: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:157:34: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:157:34: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:158:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:158:29: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:158:29: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:165:35: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:165:35: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:165:35: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:170:34: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:170:34: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:170:34: got unsigned char *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:181:34: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:181:34: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:181:34: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:182:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:182:29: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:182:29: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:189:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:189:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:189:29: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:191:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:191:37: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:191:37: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:192:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:192:35: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:192:35: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:194:21: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:194:21: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:194:21: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:195:9: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:205:47: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:205:47: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:205:47: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:206:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:206:29: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:206:29: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:272:53: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:272:53: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:272:53: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:274:53: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:274:53: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:274:53: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c:323:22: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:229:38: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:229:38: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:229:38: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_ci.c:229:38: got unsigned short [usertype] *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:89:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:89:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:89:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:96:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:96:46: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:96:46: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:97:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:97:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:97:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:98:49: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:98:49: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:98:49: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:116:44: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:116:44: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:116:44: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:117:23: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:117:23: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:117:23: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:132:48: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:132:48: expected void volatile [noderef] <asn:2>*dst drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:132:48: got unsigned char *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:136:46: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:136:46: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:136:46: got unsigned char *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:144:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:144:37: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:144:37: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:145:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:145:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:145:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:154:52: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:154:52: expected void const volatile [noderef] <asn:2>*src drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:154:52: got unsigned char *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:205:23: warning: cast removes address space of expression drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:206:24: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:206:24: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:206:24: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:243:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:243:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:243:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:244:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:244:46: expected void volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:244:46: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:245:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:245:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:245:25: got restricted __le16 *<noident> drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:246:49: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/netup_unidvb/netup_unidvb_spi.c:246:49: expected void volatile [noderef] <asn:2>*addr Fix the above sparse warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c84a71c85b9f37abe029c600ffc02f440829df55 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:12:39 2015 -0300 [media] s5c73m3: fix a sparse warning drivers/media/i2c/s5c73m3/s5c73m3-core.c:170:39: warning: incorrect type in argument 1 (different base types) drivers/media/i2c/s5c73m3/s5c73m3-core.c:170:39: expected restricted __be16 const [usertype] *p drivers/media/i2c/s5c73m3/s5c73m3-core.c:170:39: got unsigned short [usertype] *<noident> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ef69ee1bc2c10fd1c5b389258d8156f3c38bdb33 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:07:53 2015 -0300 [media] media-entity.c: get rid of var length arrays Fix those sparse warnings: drivers/media/media-entity.c:238:17: warning: Variable length array is used. drivers/media/media-entity.c:239:17: warning: Variable length array is used. That allows sparse and other code check tools to verify if the function is using more stack than allowed. It also solves a bad Kernel pratice of using var length arrays at the stack. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit df70aeef60839cb2732913fa41e61aba52ca942c Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Fri Jul 31 11:43:12 2015 +0200 clk: at91: add generated clock driver Add a new type of clocks that can be provided to a peripheral. In addition to the peripheral clock, this new clock that can use several input clocks as parents can generate divided rates. This would allow a peripheral to have finer grained clocks for generating a baud rate, clocking an asynchronous part or having more options in frequency. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Transition to new clk_hw provider APIs] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a5752e57bb63154fe9202d8d2282bad3bae3bced Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Jun 18 14:43:29 2015 +0200 clk: at91: add PMC sama5d2 support Add support for the new sama5d2 SoC and adapt capabilities. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 36844bdf651a2ae2d35ae4b11337671905b67bff Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Jun 17 14:40:39 2015 +0200 clk: at91: modify PMC peripheral clock to deal with newer register layout As some more information is added to the PCR register, we'd better use a copy of its content and modify just the peripheral-related bits. Implement a read-modify-write for the enable() and disable() callbacks. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 96ef36e9c424b7a66413bb9229ef5afcddf4fef4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Wed Jun 17 14:40:38 2015 +0200 clk: at91: cleanup PMC header file for PCR register fields Add _MASK and _OFFSET values and cleanup register fields layout. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 1f744fd317dc55cadd7132c57c499e3117aea01d Author: Thomas Hebb <tommyhebb@xxxxxxxxx> Date: Thu Oct 1 21:00:00 2015 +0200 ARM: dts: berlin: change BG2Q's USB PHY compatible Currently, BG2Q shares a compatible with BG2. This is incorrect, since BG2 and BG2Q use different USB PLL dividers. In reality, BG2Q shares a divider with BG2CD. Change BG2Q's USB PHY compatible string to reflect that. Cc: <stable@xxxxxxxxxxxxxxx> # v4.2.0- Signed-off-by: Thomas Hebb <tommyhebb@xxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit ca739eb086155007d7264be7ccc07f894d5a7bbe Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 15:48:19 2015 -0300 Revert "[media] rcar_vin: call g_std() instead of querystd()" As pointed by Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>, this patch depends on two adv7180 patches that got rejected. This reverts commit f00ae754c536511055ed6162778be8348e093514. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ee2a003e8622d51e865ffa5547a5708e592a1a5 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Sep 21 12:16:11 2015 +0200 usb: dwc2: fix unbalanced phy control Even when DWC2 is in (internal) suspended state, it should disable PHY in suspend and then enable it in resume. This patch fixes unbalanced PHY control sequence. Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4112905f90510fce7c8ccb1cdc05253a25595734 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Sep 21 12:16:10 2015 +0200 usb: dwc2: remove non-functional clock gating During typical gadget operation, dwc2 clock was enabled 3 times: from dwc2_gadget_init(), dwc2_hsotg_udc_start() and dwc2_hsotg_pullup(), and then disabled in s3c_hsotg_pullup(), s3c_hsotg_udc_stop() and dwc2_hsotg_remove(). This really makes no sense, so leave clock control code only in dwc2_gadget_init/remove functions. Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 19dadca58a16741b2eeb1c31021b577ffb4b88ee Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Sep 21 12:16:09 2015 +0200 usb: dwc2: remove double call to dwc2_hsotg_of_probe This patch removes doubled call to dwc2_hsotg_of_probe() function. Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 44583fecfd85f33878a90ca9cad2eb533bfc39a1 Author: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Date: Tue Sep 29 12:25:01 2015 +0200 usb: dwc2: gadget: fix a memory use-after-free bug When dwc2_hsotg_handle_unaligned_buf_complete() hs_req->req.buf already destroyed, in dwc2_hsotg_unmap_dma(), it touches hs_req->req.dma again, so dwc2_hsotg_unmap_dma() should be called before dwc2_hsotg_handle_unaligned_buf_complete(). Otherwise, it will cause a bad_page BUG, when allocate this memory page next time. This bug led to the following crash: BUG: Bad page state in process swapper/0 pfn:2bdbc [ 26.820440] page:eed76780 count:0 mapcount:0 mapping: (null) index:0x0 [ 26.854710] page flags: 0x200(arch_1) [ 26.885836] page dumped because: PAGE_FLAGS_CHECK_AT_PREP flag set [ 26.919179] bad because of flags: [ 26.948917] page flags: 0x200(arch_1) [ 26.979100] Modules linked in: [ 27.008401] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W3.14.0 #17 [ 27.041816] [<c010e1f8>] (unwind_backtrace) from [<c010a704>] (show_stack+0x20/0x24) [ 27.076108] [<c010a704>] (show_stack) from [<c087eea8>] (dump_stack+0x70/0x8c) [ 27.110246] [<c087eea8>] (dump_stack) from [<c01ce0b8>] (bad_page+0xfc/0x12c) [ 27.143958] [<c01ce0b8>] (bad_page) from [<c01ce65c>] (get_page_from_freelist+0x3e4/0x50c) [ 27.179298] [<c01ce65c>] (get_page_from_freelist) from [<c01ce9a0>] (__alloc_pages_nodemask) [ 27.216296] [<c01ce9a0>] (__alloc_pages_nodemask) from [<c01cf00c>] (__get_free_pages+0x20/) [ 27.252326] [<c01cf00c>] (__get_free_pages) from [<c01e5bec>] (kmalloc_order_trace+0x34/0xa) [ 27.288295] [<c01e5bec>] (kmalloc_order_trace) from [<c0203304>] (__kmalloc+0x40/0x1ac) [ 27.323751] [<c0203304>] (__kmalloc) from [<c052abc0>] (dwc2_hsotg_ep_queue.isra.12+0x7c/0x1) [ 27.359937] [<c052abc0>] (dwc2_hsotg_ep_queue.isra.12) from [<c052af88>] (dwc2_hsotg_ep_queue) [ 27.397478] [<c052af88>] (dwc2_hsotg_ep_queue_lock) from [<c0554110>] (rx_submit+0xfc/0x164) [ 27.433619] [<c0554110>] (rx_submit) from [<c05546e8>] (rx_complete+0x22c/0x230) [ 27.468872] [<c05546e8>] (rx_complete) from [<c052b528>] (dwc2_hsotg_complete_request+0xfc/0) [ 27.506240] [<c052b528>] (dwc2_hsotg_complete_request) from [<c052bba0>] (dwc2_hsotg_handle_o) [ 27.545401] [<c052bba0>] (dwc2_hsotg_handle_outdone) from [<c052be70>] (dwc2_hsotg_epint+0x2c) [ 27.583689] [<c052be70>] (dwc2_hsotg_epint) from [<c052c750>] (dwc2_hsotg_irq+0x1dc/0x4ac) [ 27.621041] [<c052c750>] (dwc2_hsotg_irq) from [<c01682e0>] (handle_irq_event_percpu+0x70/0x) [ 27.659066] [<c01682e0>] (handle_irq_event_percpu) from [<c01684ec>] (handle_irq_event+0x4c) [ 27.697322] [<c01684ec>] (handle_irq_event) from [<c016bae0>] (handle_fasteoi_irq+0xc8/0x11) [ 27.735451] [<c016bae0>] (handle_fasteoi_irq) from [<c0167b8c>] (generic_handle_irq+0x30/0x) [ 27.773918] [<c0167b8c>] (generic_handle_irq) from [<c0167ca4>] (__handle_domain_irq+0x84/0) [ 27.812018] [<c0167ca4>] (__handle_domain_irq) from [<c01003b0>] (gic_handle_irq+0x48/0x6c) [ 27.849695] [<c01003b0>] (gic_handle_irq) from [<c010b340>] (__irq_svc+0x40/0x50) [ 27.886907] Exception stack(0xc0d01ee0 to 0xc0d01f28) Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Tested-by: Jeffy Chen <jeffy.chen@xxxxxxxxxxxxxx> Signed-off-by: Yunzhi Li <lyz@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 21795c826a4525bd6b111acfe0db079545083c40 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:30 2015 +0200 usb: dwc2: exit hibernation on session request Controller enters hibernation through suspend interrupt on disconnection. On connection, session request interrupt is generated. dwc2 must exit hibernation and restore state from this interrupt before continuing. In host mode, exit from hibernation is handled by bus_resume function. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8fc37b82a4a43f63e3464e5d02578ea988cb5c01 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:29 2015 +0200 usb: dwc2: gadget: handle reset interrupt before endpoint interrupts If system is loaded, reset, enum-done and setup interrupts can occur at the same time. Current interrupt handling sequence will handle setup packet's interrupt before handling reset interrupt. Which will break the enumeration process. Correct sequence is to handle reset, enum-done and then any other endpoint interrupts. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 61f7223bf14689382fdf36b7580f206745c2409a Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 29 12:08:28 2015 +0200 usb: dwc2: gadget: exit hibernation before power down When disconnecting cable, controller will detect a suspend condition and enter partial power down. If vbus_session is called by the phy driver during hibernation, make sure controller exit hibernation before it is accessed. Signed-off-by: Jianqiang Tang <jianqiang.tang@xxxxxxxxx> Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1ee6903b8f9bbcbeb7cf72e5127d7a0b8aeb267c Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 29 12:08:27 2015 +0200 usb: dwc2: gadget: unmask idstschng interrupt only if controller supports it idstschng interrupt should not be used when id pin control is external. This is already handled on dwc2 host part. Fix it on gadget part as well. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2becdc62a98da6882d7457f7661f70255235ef88 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:26 2015 +0200 usb: dwc2: gadget: only reset core after addressed state There is a 200ms guard period to avoid unnecessary resets of the dwc2 ip. This delay sometimes prove to be too large when usbcv is run with an ehci host. dwc2 only needs to be reset after addressed state. Change the logic to reset ip after addressed state. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5390d438e6f4aaf3555acc72aff155660a48cd28 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:25 2015 +0200 usb: dwc2: gadget: kill ep0 requests before reinitializing core Make sure there are no requests pending on ep0 before reinitializing core. Otherwise, dwc2_hsotg_enqueue_setup will fail afterwards. Also, take hsotg->lock before calling dwc2_hsotg_core_init_disconnected() from dwc2_conn_id_status_change() as dwc2_hsotg_complete_request() expect lock to be held. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c524dd5f432a0690710b62e729a3673c557d8b58 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:24 2015 +0200 usb: dwc2: gadget: stop current transfer on dequeue If the request being dequeued is already started, disable endpoint to stop the transfer and then call dwc2_hsotg_complete_request(). Endpoint will be re-enabled on next call to dwc2_hsotg_start_req(). Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e525e74339b1e94ade1c14640d5282dbcdb32526 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:23 2015 +0200 usb: dwc2: gadget: print complete setup packet wIndex field was missing. Also print in natural order instead of Req first, so that its easier to compare for example against bus analyzer logs. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b2d4c54e51c4213d215520bab25efee74ddc8d3a Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:22 2015 +0200 usb: dwc2: gadget: ignore stall check for ep0 dwc2_hsotg_start_req starts a request only if endpoint is not stalled. Ignore this check for ep0 as core will clear DOEPCTL0.Stall after sending stall handshake. Prepare instead for receiving next setup packet. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 86de48953653777fd6f918f5c0f2107bb873eae3 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 29 12:08:21 2015 +0200 usb: dwc2: gadget: abort core init if core_reset fails No point of continue with initialization if core is not in a sane state. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cd0e641c8da3c763f1f4b838a9bc30f1297f68d0 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 29 12:08:20 2015 +0200 usb: dwc2: gadget: set op_state in vbus_session call Some device may have external id pin control enabled, so op_state will not be set on id pin interrupt change. Thus, ensure op_state is set to peripheral during vbus detection. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 77ba9119adc48a0bb890ca121f6b8f09162c9182 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 29 12:08:19 2015 +0200 usb: dwc2: gadget: don't modify pullup state in host mode Modifying the pullup state during host mode trig a new enumeration of attached device. Thus, avoid modifying pullup in host mode. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 857512d0ebf838d8a2b600234debdbfc1e97f919 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 29 12:08:18 2015 +0200 usb: dwc2: force dr_mode in case of configuration mismatch If dual role configuration is not selected, check and force dr_mode based on the selected configuration. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fa50bff63689849175d65f4923691944556fbacc Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Sep 21 21:51:14 2015 +0200 usb: gadget: SourceSink: Fix show methods for attributes Most of USB functions place new line after attribute value. Let's follow this convention also in source sink function as it improves readability. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 902d03c7f3900b8a5d2997303b87dc12397bea71 Author: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Date: Mon Sep 21 21:51:13 2015 +0200 usb: gadget: loopback: Fix show methods for attributes Most of USB functions place new line after attribute value. Let's follow this convention also in loopback function as it improves readability. Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9af9195426685ffd7c81022002b0db3fd7040591 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Sep 19 22:42:58 2015 +0530 usb: gadget: at91_udc: mention proper dependency While building allmodconfig on avr32 the build failed with the error: "at91_pmc_base" [drivers/usb/gadget/udc/atmel_usba_udc.ko] undefined! On checking the code it turned out that if CONFIG_OF is defined then it is using at91_pmc_read() which is using at91_pmc_base. And unless COMMON_CLK_AT91 is defined we donot have at91_pmc_base. And COMMON_CLK_AT91 is available with AT91 architecture. Mention the dependency such that this driver builds with avr32 only if OF is not enabled. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1b7015083486e0e5b919981c980980afca37507e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:37 2015 +0530 usb: gadget: amd5536udc: NULL comparison A NULL comparison can be written as if (var) or if (!var). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5d31a17b389870a8eb215ce7313144eb49c08838 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:36 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_basic_init Rearrange the udc_basic_init function to remove the forward declaration. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0e7734193a1fead4d966f3b3b64e54ae71b3d356 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:35 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_pci_* Remove the forward declarations of udc_pci_probe and udc_pci_remove. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3719b9bd66d29de3682b4daaf07748f915f7ac92 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:34 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_free_dma_chain Rearrange udc_free_dma_chain to remove the forward declaration. While at it fixed all the relevant checkpatch warnings. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c9760ad817091b19fcbb86c8cb5e1ab9e90d913b Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:33 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_create_dma_chain Rearrange udc_create_dma_chain to remove the forward declaration. While rearranging fixed the relevant checkpatch warnings. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 79a5b4aa3511f82e1398223062cd62051044288d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:32 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_remote_wakeup Rearrange the udc_remote_wakeup function to remove the forward declaration. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4f06b6bb73be3fcdf728d7271ad05cd81df58f3d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:31 2015 +0530 usb: gadget: amd5536udc: remove forward declaration of udc_probe Rearrange the udc_probe function to remove the forward declarations. While rearranging also fixed the relevant checkpatch warnings. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 76c3727da1e6e2bd5aa012841ea17c7664f0638b Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:30 2015 +0530 usb: gadget: amd5536udc: remove unnecessary conditions The condition checking for irq_registered, regs, mem_region and active are not required as this is the remove function. And we are in the remove means that probe was successful and they can never be NULL at this point of code. It was required in the original code as the remove function was part of the error handler of probe function. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f349dd3c76039a2b0bf03a11484dd2850868b7e3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:29 2015 +0530 usb: gadget: amd5536udc: use free_dma_pools We have the function free_dma_pools() which frees all the dma pools. Use it instead of calling all the functions separately. The if conditions for data_requests and stp_requests are also not required here as this is the remove function and we are here means probe has succeeded and dma has been successfully allocated, so they cannot be NULL here. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2e1b7d0c691c63c66d5bf5c097243f3b037adf32 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:28 2015 +0530 usb: gadget: amd5536udc: use WARN_ON Use WARN_ON() instead of halting the kernel with BUG_ON() and also fix the checkpatch warning. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 580693bb3b66ce299f85f71dee60734438b1cd79 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:27 2015 +0530 usb: gadget: amd5536udc: fix error path Handle the error properly instead of calling the pci remove function. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 14a37ec6c181178a14ffb7d10a57b99ef8e6b3b3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 22 18:54:26 2015 +0530 usb: gadget: amd5536udc: rewrite init_dma_pools A rewrite of init_dma_pools() with proper error handling. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ec4cc6579c7334fb334ba2f30214f5c41b16c6e8 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 22 15:16:55 2015 +0200 usb: dwc2: gadget: initialize op_state for peripheral only configuration ID status change interrupt will not be handled in peripheral only configuration. So initialize op_state during gadget init. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 065d393124f06ef1f5a20a6f5f262fee2cfa873d Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:54 2015 +0200 usb: dwc2: gadget: ensure lx_state corresponds to current state Correctly update lx_state on gadget connection and disconnection. When usb cable is disconnected, lx_state must be updated to L3 as controller could be in power off state. When usb cable is connected, lx_state must be updated to L0 as controller is powered. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2e84da6e340a652e942c3513703020976b28190b Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:53 2015 +0200 usb: dwc2: host: kill remaining urbs using -ECONNRESET status On a disconnect, dwc2 will kill all remaining urbs from qh list. urbs are given back to hcd with -ETIMEDOUT status. Some usb device driver, like mass storage, will unlink all urbs using usb_hcd_unlink_urb when receiving a negative status different from -ECONNRESET. The following flow will then happen: dwc2_hcd_disconnect() -> dwc2_kill_all_urbs() try to kill first pending urb. -> dwc2_host_complete(-ETIMEDOUT) -> usb_hcd_giveback_urb(-ETIMEDOUT) -> sg_complete() -> usb_unlink_urb() -> usb_put_dev(urb->dev) -> dwc2_kill_all_urbs() try to kill next pending urb. -> dwc2_host_complete(-ETIMEDOUT) -> usb_hcd_giveback_urb(-ETIMEDOUT) -> NULL pointer dereferencing because urb->dev has been freed for all urbs of this device. The root cause of this NULL pointer is to call call usb_unlink_urb() while we are killing all urbs. To avoid this return urb with -ECONNRESET status This issue usually happens while removing mass storage device during transfer. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit dd81dd7c8178c430040dc98c8144d4998ba2f7fb Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:52 2015 +0200 usb: dwc2: host: use correct frame number during qh init On first qh initialization, hsotg->frame_number is not corresponding to reality. So read it from host controller to get correct value. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fe9b1773c989b261a9747940a6cf61f77b4e2685 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:51 2015 +0200 usb: dwc2: host: correctly dump urb isochronous descriptors Print urb->iso_frame_desc.status after it has been updated using dwc2_hcd_urb_get_iso_desc_status(). Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5634e016cf6e2e0c9651081f5c554f59e1050fc5 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:50 2015 +0200 usb: dwc2: host: wait 3ms for controller stabilization Some high speed mass storage devices fail to enumerate with following error: Cannot enable port %i. Maybe the USB cable is bad? This happens only when the device is plugged while the controller is in hibernation state. After exiting hibernation, the controller detects the device as a low speed device and fail to enumerate it. Problem occurs only if HPRT0.PWR bit is programmed in a too short delay after exiting hibernation. Dumping hprt register in _dwc2_hcd_resume() directly after dwc2_exit_hibernation() shows that HPRT0.LNSTS (D+/D- level) becomes valid approximately 2ms after exiting hibernation. Since dwc2_exit_hibernation() is called from atomic context, move the delay out of this function. Delay value is experimental and not mentioned in Synopsys documentation. To be on the safe side 3ms delay is used. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cad73da26cb9392db3449ab35e506ea13efd1888 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:49 2015 +0200 usb: dwc2: host: clear pending interrupts prior hibernation If an interrupt rises during hibernation process, dwc2 will assert interrupt line to interrupt controller. If interrupt is level sensitive, interrupt handler will be called in a loop because dwc2 will not be able to clear it while controller is hibernated. Thus, clear all controller interrupts before hibernation entry. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5bbf6ce0a964c77d9522cf377fd7a4c4af030378 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:48 2015 +0200 usb: dwc2: host: disable interrupt during stop Disable host interrupts before synchronising dwc2 irq. So that interrupts are not generated once controller is stopped. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 77dbf7138d59994d50b7875deb24992f51b811b5 Author: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Date: Tue Sep 22 15:16:47 2015 +0200 usb: dwc2: host: add disconnect interrupt to host only interrupts GINTSTS.DisconnInt is host only interrupt and should be disable after dwc2_disable_host_interrupts is called. Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 091473ad9b402f9e1b08a68a78b54e0d3c9affb6 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:46 2015 +0200 usb: dwc2: host: disconnect hcd prior stopping it In case controller is asked to stop while devices are connected, disconnect all devices and clean up before stopping. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 08c4ffc24087d1949948002abdbac0d1e71ade5d Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:45 2015 +0200 usb: dwc2: host: reset frame number after suspend Frame number is reset in hardware after exiting hibernation. Thus, reset frame_number and ensure qh are queued with correct sched_frame. Otherwise, qh->sched_frame may be too high compared to current frame number (which is 0). This can delay addition of qh in the list of transfers until frame number reaches qh->sched_frame. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bea78555f71e01196d0a4613ffefd4c8920ba439 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:44 2015 +0200 usb: dwc2: host: resume only if bus is suspended Port can be resumed in bus_resume callback. In this case, there is no need to drive resume a second time when hcd ask for it. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6e74162f69c7fb6f60941ea7e94f1264bd6225fb Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:43 2015 +0200 usb: dwc2: host: ignore wakeup interrupt if hibernation supported If hibernation is supported, resume of devices will be handled in bus_resume callback. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9afaf75508b0bec6ef38b83d97aa40701cc1b00c Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:42 2015 +0200 usb: dwc2: host: avoid resetting lx_state to L3 during disconnect When a device is disconnected, lx_state must not be changed since the device may be disconnected whereas controller is still powered. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 31927b6b68acd21258b1f4ef24464acae60cfd36 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:41 2015 +0200 usb: dwc2: host: update hcd and lx_state during start/stop callbacks During hcd initialization, hardware accessible flag and lx_state must be reset to the working state since controller is powered at this stage. Same logic applied for stop callback. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a2a23d3f9e6f44f900e4c4b4cd58f22490c3c200 Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:40 2015 +0200 usb: dwc2: host: enter hibernation during bus suspend Disable controller power and enter hibernation when usb bus is suspended. A phy driver is required to disable the power of the controller and detect remote-wakeup or disconnection since the controller will not be able to detect these in this state. Once the phy driver detects bus activity, it must call usb_hcd_resume_root_hub. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 734643dfbdde7dd881b2c16404a86f444287414e Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:39 2015 +0200 usb: dwc2: host: add flag to reflect bus state lx_state must be used to reflect controller power state only and not bus state. Thus add a flag to track state during bus suspend. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 30db103c3ddeb0b616eedb8fd030b88efb1af96f Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:38 2015 +0200 usb: dwc2: host: create a function to handle port_resume port resume sequence may be used in different places. Create a function to handle it. Make hprt0 read-modify-write atomic and clear HPRT0_SUSP for both writes as it is a "read, write-set, and self-clear (R_WS_SC)" bit. Since the lock is released between the writes, read hprt0 again. Since the phy clock is stopped in dwc2_port_suspend(), enable it here and remove the PCGCTL write from dwc2_hcd_hub_control() Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cc047ce4be6188d3bd3997b44ec724ce390fbdcb Author: Gregory Herrero <gregory.herrero@xxxxxxxxx> Date: Tue Sep 22 15:16:37 2015 +0200 usb: dwc2: host: don't clear hprt0 status bits when exiting hibernation When entering hibernation hprt0 must be read using dwc2_read_hprt0(). Otherwise, any set hprt0 status bits will be cleared when restoring hprt0 on exit from hibernation. Signed-off-by: Gregory Herrero <gregory.herrero@xxxxxxxxx> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> Tested-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Tested-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d383b57911c8a6c3da1af7b3f72dfecfcd5633d0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 14:23:35 2015 -0300 [media] DocBook: Remove a warning at videobuf2-v4l2.h There's no need to document to_foo() macros, and the macro is badly documented anyway. That removes this warning: include/media/videobuf2-v4l2.h:43: warning: No description found for parameter 'vb' While here, remove the parenthesis for container_of(). The countainer_of() already have parenthesis inside it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a7f5ba40c74e67b2c8c6e15425157ab6775621d7 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 1 16:58:27 2015 +0200 mtd: nand: remove unused ->init_size() hook The ->init_size() hook was introduced to let NAND controller drivers support NAND devices that could not be described in the nand_ids table. Since then, the core has added support for extended-id parsing and full-id description, thus allowing to describe pretty much all existing NANDs. Moreover, this hook is not used by any mainline driver, and should not be used by new drivers, because detecting the NAND chip is not something controller specific. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 491e94f790982bec5a1334dd3db2708de3724bdf Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Thu Oct 1 11:47:31 2015 -0500 gfs2: Add missing else in trans_add_meta/data This patch fixes a timing window that causes a segfault. The problem is that bd can remain NULL throughout the function and then reference that NULL pointer if the bh->b_private starts out NULL, then someone sets it to non-NULL inside the locking. In that case, bd still needs to be set. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 32d81b41cd4f2021ef1b6378b4f6029307687df2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 13:59:29 2015 -0300 [media] DocBook: fix most of warnings at videobuf2-core.h include/media/videobuf2-core.h:112: warning: No description found for parameter 'get_dmabuf' include/media/videobuf2-core.h:146: warning: No description found for parameter 'm' include/media/videobuf2-core.h:146: warning: Excess struct/union/enum/typedef member 'mem_offset' description in 'vb2_plane' There are still several warnings, but those are hard to fix, as they're actually a bug at DocBook. Those should be fixed on separate patches. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 090e2edb4171dae4872c4eaae972dd3ccf96d4a8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 22:21:32 2015 +0200 net: sfc: avoid using timespec The sfc driver internally uses a time format based on 32-bit (unsigned) seconds and 32-bit nanoseconds. This means it will overflow in 2106, but the value we pass into it is a signed 32-bit tv_sec that already overflows in 2038 to a negative value. This patch changes the logic to use the lower 32 bits of the timespec64 tv_sec in efx_ptp_ns_to_s_ns, which will have the correct value beyond the overflow. While this does not change any of the register values, it lets us keep using the driver after we deprecate the use of the timespec type in the kernel. In the efx_ptp_process_times function, the change to use timespec64 is similar, in that the tv_sec portion is ignored anyway and we only care about the nanosecond portion that remains unchanged. Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit ade1bdffe90e59cd257cb9bd4f5abe4de5f14911 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 22:21:31 2015 +0200 ntp/pps: use y2038 safe types in pps_event_time The pps_event_time uses two 'timespec' structures internally, which suffer from the y2038 problem. The uses of this structure are fairly self-contained in the pps code, so this replaces them all at once. Unfortunately, this includes the sfc ethernet driver aside from the pps subsystem, so we change that one as well. Both touch the same data structure, and there probably is no good way to split the patch into smaller units. Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 5fd96c421ff2c76ec441aa4139c3b87dfea93e3a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 22:21:30 2015 +0200 ntp: use timespec64 in sync_cmos_clock The sync_cmos_clock has one use of struct timespec, which we want to eventually replace with timespec64 or similar in the kernel. There is no way this one can overflow, but the conversion to timespec64 is trivial and has no other dependencies. Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 071eee45b1650d53d21c636d344bdcebd4577ed2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 22:21:29 2015 +0200 ntp/pps: replace getnstime_raw_and_real with 64-bit version There is exactly one caller of getnstime_raw_and_real in the kernel, which is the pps_get_ts function. This changes the caller and the implementation to work on timespec64 types rather than timespec, to avoid the time_t overflow on 32-bit architectures. For consistency with the other new functions (ktime_get_seconds, ktime_get_real_*, ...), I'm renaming the function to ktime_get_raw_and_real_ts64. We still need to convert from the internal 64-bit type to 32 bit types in the caller, but this conversion is now pushed out from getnstime_raw_and_real to pps_get_ts. A follow-up patch changes the remaining pps code to completely avoid the conversion. Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit 7ec88e4be461590b5a3817460c34603f76d9b3ae Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 22:21:28 2015 +0200 ntp/pps: use timespec64 for hardpps() There is only one user of the hardpps function in the kernel, so it makes sense to atomically change it over to using 64-bit timestamps for y2038 safety. In the hardpps implementation, we also need to change the pps_normtime structure, which is similar to struct timespec and also requires a 64-bit seconds portion. This introduces two temporary variables in pps_kc_event() to do the conversion, they will be removed again in the next step, which seemed preferable to having a larger patch changing it all at the same time. Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> commit b1842ffddf8941aee4fcd95594bf62d3dc2867cc Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Oct 1 11:41:42 2015 -0500 ipv6: Add missing newline to __xfrm6_output_finish Add a newline between variable declarations and the code. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 289de5541ca6aec56308c04b76c1bb59f00b1f09 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Oct 1 18:23:18 2015 +0300 spi: pxa2xx: Remove empty function pxa2xx_spi_dma_resume() This was leftover from the legacy pxa2xx DMA implementation and not needed anymore so remove it. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 101b506a7fc7be3f0d0a337ade270eb5eb5a2857 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Oct 1 13:33:57 2015 +0100 drm/i915: Wa32bitGeneralStateOffset & Wa32bitInstructionBaseOffset There are some allocations that must be only referenced by 32-bit offsets. To limit the chances of having the first 4GB already full, objects not requiring this workaround use DRM_MM_SEARCH_BELOW/ DRM_MM_CREATE_TOP flags In specific, any resource used with flat/heapless (0x00000000-0xfffff000) General State Heap (GSH) or Instruction State Heap (ISH) must be in a 32-bit range, because the General State Offset and Instruction State Offset are limited to 32-bits. Objects must have EXEC_OBJECT_SUPPORTS_48B_ADDRESS flag to indicate if they can be allocated above the 32-bit address range. To limit the chances of having the first 4GB already full, objects will use DRM_MM_SEARCH_BELOW + DRM_MM_CREATE_TOP flags when possible. The libdrm user of the EXEC_OBJECT_SUPPORTS_48B_ADDRESS flag is here: http://lists.freedesktop.org/archives/intel-gfx/2015-September/075836.html v2: Changed flag logic from neeeds_32b, to supports_48b. v3: Moved 48-bit support flag back to exec_object. (Chris, Daniel) v4: Split pin flags into PIN_ZONE_4G and PIN_HIGH; update PIN_OFFSET_MASK to use last PIN_ defined instead of hard-coded value; use correct limit check in eb_vma_misplaced. (Chris) v5: Don't touch PIN_OFFSET_MASK and update workaround comment (Chris) v6: Apply pin-high for ggtt too (Chris) v7: Handle simultaneous pin-high and pin-mappable end correctly (Akash) Fix check for entries currently using +4GB addresses, use min_t and other polish in object_bind_to_vm (Chris) v8: Commit message updated to point to libdrm patch. v9: vmas are allocated in the correct ozone, so only check flag when the vma has not been allocated. (Chris) Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> (v4) Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9d91a1bfae7d12eb2c91006dc977d9bac9000a30 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Wed Sep 30 09:57:37 2015 -0700 drm/i915/guc: Don't forward flip interrupts to GuC Due to flip interrupts GuC stays awake always and GT does not enter RC6. Do not route those interrupts to GuC for now. Driver won't touch DE_GUCRMR register and leave it as what default value. Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 923c124107840d58c5002cc19734310743501811 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 30 17:06:43 2015 +0300 drm/i915: s/GET_CFG_CR1_REG/DPLL_CFGCR1/ etc. v2: Use SKL_DPLLx symbolic names instead of raw numbers Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73416dab235e5ff030e3b3c61da0cd6ced324fc9 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Fri Aug 14 18:33:07 2015 +0800 Btrfs: move kobj stuff out of dev_replace lock range To avoid deadlock described in commit 084b6e7c7607 ("btrfs: Fix a lockdep warning when running xfstest."), we should move kobj stuff out of dev_replace lock range. "It is because the btrfs_kobj_{add/rm}_device() will call memory allocation with GFP_KERNEL, which may flush fs page cache to free space, waiting for it self to do the commit, causing the deadlock. To solve the problem, move btrfs_kobj_{add/rm}_device() out of the dev_replace lock range, also involing split the btrfs_rm_dev_replace_srcdev() function into remove and free parts. Now only btrfs_rm_dev_replace_remove_srcdev() is called in dev_replace lock range, and kobj_{add/rm} and btrfs_rm_dev_replace_free_srcdev() are called out of the lock range." Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> [added lockup description] Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit f190aa471a7a703444f6587ed79c24a04a22d848 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:33:05 2015 +0800 Btrfs: add helper for closing one device Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> [reworded subject and changelog] Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 097efc966ab3e2c3677698f4ab5b229bfff101dd Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:33:04 2015 +0800 Btrfs: don't log error from btrfs_get_bdev_and_sb Originally the message was not in a helper but ended up there. We should print error messages from callers instead. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> [reworded subject and changelog] Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 9e271ae27e4407388c5b25c747abc25c07838b0b Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:33:02 2015 +0800 Btrfs: kernel operation should come after user input has been verified By general rule of thumb there shouldn't be any way that user land could trigger a kernel operation just by sending wrong arguments. Here do commit cleanups after user input has been verified. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 12b1c2637b6e0763121648d637ffe603b422e986 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:59 2015 +0800 Btrfs: enhance btrfs_scratch_superblock to scratch all superblocks This patch updates and renames btrfs_scratch_superblocks, (which is used by the replace device thread), with those fixes from the scratch superblock code section of btrfs_rm_device(). The fixes are: Scratch all copies of superblock Notify kobject that superblock has been changed Update time on the device So that btrfs_rm_device() can use the function btrfs_scratch_superblocks() instead of its own scratch code. And further replace deivce code which similarly releases device back to the system, will have the fixes from the btrfs device delete. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> [renamed to btrfs_scratch_superblock] Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 29c36d72535deb3d8961b3fb4b6a565190a6c63b Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:58 2015 +0800 Btrfs: add btrfs_read_dev_one_super() to read one specific SB This uses a chunk of code from btrfs_read_dev_super() and creates a function called btrfs_read_dev_one_super() so that next patch can use it for scratch superblock. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> [renamed bufhead to bh] Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 9e7e2b0a6a005941a6854cdabae19c3d9e069dbe Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Oct 1 15:54:53 2015 +0300 genirq: Remove unused functions irqd_[set|clr]_chained_irq_inprogress() These two functions are not used anywhere in the kernel source tree so remove them. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443704093-36837-2-git-send-email-mika.westerberg@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 92068d17c20b218bf1e24505a3e08495476b0ebf Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Thu Oct 1 15:54:52 2015 +0300 genirq: Fix typo in documentation of enumeration field name It should say IRQ_NESTED_THREAD instead of IRQ_NESTED_TRHEAD. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443704093-36837-1-git-send-email-mika.westerberg@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit dbc67409fa912ba063dfa956af0543af1258fc97 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 1 12:12:22 2015 -0300 perf list: Do event name substring search as last resort when no events found Before: # perf list _alloc_ | head -10 # After: # perf list _alloc_ | head -10 ext4:ext4_alloc_da_blocks [Tracepoint event] ext4:ext4_get_implied_cluster_alloc_exit [Tracepoint event] kmem:kmem_cache_alloc_node [Tracepoint event] kmem:mm_page_alloc_extfrag [Tracepoint event] kmem:mm_page_alloc_zone_locked [Tracepoint event] xen:xen_mmu_alloc_ptpage [Tracepoint event] # And it works for all types of events: # perf list br List of pre-defined events (to be used in -e): branch-instructions OR branches [Hardware event] branch-misses [Hardware event] branch-load-misses [Hardware cache event] branch-loads [Hardware cache event] branch-instructions OR cpu/branch-instructions/ [Kernel PMU event] branch-misses OR cpu/branch-misses/ [Kernel PMU event] filelock:break_lease_block [Tracepoint event] filelock:break_lease_noblock [Tracepoint event] filelock:break_lease_unblock [Tracepoint event] syscalls:sys_enter_brk [Tracepoint event] syscalls:sys_exit_brk [Tracepoint event] # Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-qieivl18jdemoaghgndj36e6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d74a625987a134b00749e3912bdb6d3ac83fd71d Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:56 2015 +0800 Btrfs: use BTRFS_ERROR_DEV_MISSING_NOT_FOUND when missing device is not found Use btrfs specific error code BTRFS_ERROR_DEV_MISSING_NOT_FOUND instead of -ENOENT. Next this removes the logging when user specifies "missing" and we don't find it in the kernel device list. Logging are for system events not for user input errors. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit a51e80d002b63bbdaff3229f3ebf4fbb53c75c33 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Oct 1 22:26:44 2015 +0800 irqchip/i8259: Convert to use irq_set_chained_handler_and_data 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. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Link: http://lkml.kernel.org/r/1443709604.12993.0.camel@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit bebcb8dab6bac53b6a61a896db03781d1992cadb Merge: 26c21dd f1e0bb0 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Oct 1 16:14:24 2015 +0200 Merge branch 'irq/for-arm' into irq/core Bring in the change which we offered arm[64] folks to pull into their trees. commit 9196d9676fe790975fdb1fc03230629139c6ea8e Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Sep 30 05:40:00 2015 -0700 crypto: qat - remove unneeded variable Remove unneeded variable val_indx. Issue found by a static analyzer. Reported-by: Giovanni Cabiddu <giovanni.cabiddu@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit def14bfaf30d5d5a4a8fe5bf600ce09232e688c0 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Sep 30 05:38:39 2015 -0700 crypto: qat - add support for ctr(aes) and xts(aes) Add support for ctr and xts encryption modes. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ecdd6bed292fda02a3e3997307ac228edcab0b22 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Sep 27 22:47:05 2015 +0800 crypto: skcipher - blkcipher and ablkcipher should it be static Fixes the following sparse warnings: crypto/skcipher.c:94:5: warning: symbol 'crypto_init_skcipher_ops_blkcipher' was not declared. Should it be static? crypto/skcipher.c:185:5: warning: symbol 'crypto_init_skcipher_ops_ablkcipher' was not declared. Should it be static? Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 284a0f6e87b0721e1be8bca419893902d9cf577a Author: John Haxby <john.haxby@xxxxxxxxxx> Date: Thu Sep 24 18:24:35 2015 +0100 crypto: testmgr - Disable fips-allowed for authenc() and des() ciphers No authenc() ciphers are FIPS approved, nor is ecb(des). After the end of 2015, ansi_cprng will also be non-approved. Signed-off-by: John Haxby <john.haxby@xxxxxxxxxx> Acked-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 640eec52abbcb962804e8ff0c69e9802b0b726c0 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Sep 23 13:55:28 2015 +0200 crypto: sahara - dma_map_sg can handle chained SG The sahara driver use two dma_map_sg path according to SG are chained or not. Since dma_map_sg can handle both case, clean the code with all references to sg chained. Thus removing the sahara_sha_unmap_sg function. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 13fb8fd7a81923f7a64b4e688fe0bdaf1ea26adf Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Sep 23 13:55:27 2015 +0200 crypto: caam - dma_map_sg can handle chained SG The caam driver use two dma_map_sg path according to SG are chained or not. Since dma_map_sg can handle both case, clean the code with all references to sg chained. Thus removing dma_map_sg_chained, dma_unmap_sg_chained and __sg_count functions. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b8a011d41c988aeb9aa199eb80ccd5179b5940c1 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Wed Sep 23 13:55:25 2015 +0200 crypto: talitos - dma_map_sg can handle chained SG The talitos driver use two dma_map_sg path according to SG are chained or not. Since dma_map_sg can handle both case, clean the code with all references to sg chained. Thus removing talitos_map_sg, talitos_unmap_sg_chain and sg_count functions. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit be2cfac07619a8f97fe3aae39f095e9e33decd99 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Tue Sep 22 11:57:47 2015 -0700 crypto: qat - remove empty functions and turn qat_uregister fn to void Some code cleanups after crypto API changes: - Change qat_algs_unregister to a void function to keep it consistent with qat_asym_algs_unregister. - Remove empty functions qat_algs_init & qat_algs_exit. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7cb410cdbdc9b71e2d4f356f2e4cea0b925abb21 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 7 13:34:26 2015 +0100 drm/armada: move frame wait wakeup into plane work Move the wakeup for the frame wait into the armada plane work, to ensure that it is woken up every time we run a work. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4a8506d2d68724b6d326621118874c07095c6645 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 7 09:33:05 2015 +0100 drm/armada: convert overlay plane vbl worker to a armada plane worker Convert the overlay plane to use the generic armada plane worker infrastructure which is shared with the primary plane. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4b5dda82c20c2eee500520010c0558789592d62f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 6 16:37:18 2015 +0100 drm/armada: move CRTC flip work to primary plane work Add a plane work implementation, and move the CRTC framebuffer flip work to it for the primary plane. The idea is to have a common plane work implementation for both the primary and overlay planes. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 5740d27fa5594344ed4d2c18d7ae7bea69002004 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:25 2015 +0100 drm/armada: move frame wait into armada_frame Both the CRTC and overlay frames have their own wait queues. It would make more sense if these were part of the plane - the primary plane for the CRTC and overlay plane for the overlay. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6908cf755af74b38d67195ee6607976a55f53d95 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:25 2015 +0100 drm/armada: move the locking for armada_drm_vbl_event_remove() Move the locking for armada_drm_vbl_event_remove() into itself, which makes this function symmetrical with armada_drm_vbl_event_add(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 5c8752c6506abf29950d32366f826899dc87dde7 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:25 2015 +0100 drm/armada: move the update of dplane->ctrl0 out of spinlock It is not necessary to write dplane->ctrl0 under the CRTC spinlock, as this is only accessed under process context where the DRM locks will protect us instead. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9099ea19ca8ad21ab7f2a7abc06e270adeb8b02f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:25 2015 +0100 drm/armada: move write to dma_ctrl0 to armada_drm_crtc_plane_disable() Move the write to clear the DMA enable bit, and augment it with clearing the graphics enable bit for the primary plane. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 583268035825fc5ef0bbc467631fea0358831cbe Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:25 2015 +0100 drm/armada: provide a common helper to disable a plane Provide a common helper to disable either the overlay or the primary plane. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit de32301b86030b20a51151a12d81fff6429cad0c Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: allocate primary plane ourselves Allocate our own primary plane as an armada_plane. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1c914cecb5bc4b097df07b799d39abac842ce193 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: add primary plane creation Use drm_primary_helper_create_plane() to create our primary plane, and register the CRTC with drm_crtc_init_with_planes(). This enables the primary plane to be initialised with the supported format information. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 561f60bc511f6ec054b566205b5c40ab9558a0ff Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: introduce generic armada_plane struct Introduce a generic armada_plane struct which will eventually be used for both the primary and overlay planes. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d563c24514166d01b87cc96f92fe93b635d24c6e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: update armada overlay to use drm_universal_plane_init() Use the new drm_universal_plane_init() rather than the legacy drm_plane_init(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 66377efa3fd468283a092f17692e81c2344b03ed Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: use xchg() to atomically update dplane->old_fb Rather than using a spinlock, use xchg() to atomically update dplane->old_fb. This allows us to eliminate dplane->lock. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6db0290322101f971d6c06ee652d9838f3f4ee92 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:27:02 2015 +0200 ftrace: Remove redundant swap function To cover the common case of sorting an array of pointers, Daniel Wagner recently modified the library sort() to use a specific swap function for size==8, in addition to the size==4 case which was already handled. Since sizeof(long) is either 4 or 8, ftrace_swap_ips() is redundant and we can just let sort() pick an appropriate and fast swap callback. Link: http://lkml.kernel.org/r/1441834023-13130-1-git-send-email-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 15ada16dc7657c08242d24067a4ddf07a2662062 Author: Marcus Cooper <codekipper@xxxxxxxxx> Date: Wed Sep 30 19:34:39 2015 +0200 ARM: sun7i: dt: Add new Olimex A20 EVB device The A20-SOM-EVB is a reference design of a 2-layer board for the A20-SOM. It expands the features of A20-SOM by adding VGA connector, HDMI connector, audio In/Out, LCD connector, 2 Mpix camera, gigabit Ethernet, SATA, USB-OTG and 2 USB hosts. Signed-off-by: Marcus Cooper <codekipper@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b7d2063177a584cb1afb06fc0ed6c48b576f3e75 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:56 2015 +0800 iommu/vt-d: Add a command line parameter for VT-d posted-interrupts Enable VT-d Posted-Interrtups and add a command line parameter for it. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Joerg Roedel <joro@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bf9f6ac8d74969690df1485b33b7c238ca9f2269 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:55 2015 +0800 KVM: Update Posted-Interrupts Descriptor when vCPU is blocked This patch updates the Posted-Interrupts Descriptor when vCPU is blocked. pre-block: - Add the vCPU to the blocked per-CPU list - Set 'NV' to POSTED_INTR_WAKEUP_VECTOR post-block: - Remove the vCPU from the per-CPU list Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> [Concentrate invocation of pre/post-block hooks to vcpu_block. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 28b835d60fcc2498e717cf5e6f0c3691c24546f7 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:54 2015 +0800 KVM: Update Posted-Interrupts Descriptor when vCPU is preempted This patch updates the Posted-Interrupts Descriptor when vCPU is preempted. sched out: - Set 'SN' to suppress furture non-urgent interrupts posted for the vCPU. sched in: - Clear 'SN' - Change NDST if vCPU is scheduled to a different CPU - Set 'NV' to POSTED_INTR_VECTOR Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> [Include asm/cpu.h to fix !CONFIG_SMP compilation. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 87276880065246ce49ec571130d3d1e4a22e5604 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:40 2015 +0800 KVM: x86: select IRQ_BYPASS_MANAGER Select IRQ_BYPASS_MANAGER for x86 when CONFIG_KVM is set Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit efc644048ecde54f016011fe10110addd0de348f Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:51 2015 +0800 KVM: x86: Update IRTE for posted-interrupts This patch adds the routine to update IRTE for posted-interrupts when guest changes the interrupt configuration. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> [Squashed in automatically generated patch from the build robot "KVM: x86: vcpu_to_pi_desc() can be static" - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6d7425f109d2629d1f4b4b146eca8e43701bf966 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:50 2015 +0800 vfio: Register/unregister irq_bypass_producer This patch adds the registration/unregistration of an irq_bypass_producer for MSI/MSIx on vfio pci devices. Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d84f1e0755ba1e87d20d1f90c1e6eb0cbbc0af9d Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:49 2015 +0800 KVM: make kvm_set_msi_irq() public Make kvm_set_msi_irq() public, we can use this function outside. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8feb4a04dc756002f78df0026e58118669de4851 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:47 2015 +0800 KVM: Define a new interface kvm_intr_is_single_vcpu() This patch defines a new interface kvm_intr_is_single_vcpu(), which can returns whether the interrupt is for single-CPU or not. It is used by VT-d PI, since now we only support single-CPU interrupts, For lowest-priority interrupts, if user configures it via /proc/irq or uses irqbalance to make it single-CPU, we can use PI to deliver the interrupts to it. Full functionality of lowest-priority support will be added later. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ebbfc765369690cf8fc512615e6b83ec1702f8ac Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:46 2015 +0800 KVM: Add some helper functions for Posted-Interrupts This patch adds some helper functions to manipulate the Posted-Interrupts Descriptor. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> [Make the new functions inline. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 6ef1522f7ecc063317dfb5ca63da6e47130a4c50 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:45 2015 +0800 KVM: Extend struct pi_desc for VT-d Posted-Interrupts Extend struct pi_desc for VT-d Posted-Interrupts. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f70c20aaf141adb715a2d750c55154073b02a9c3 Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Fri Sep 18 22:29:53 2015 +0800 KVM: Add an arch specific hooks in 'struct kvm_kernel_irqfd' This patch adds an arch specific hooks 'arch_update' in 'struct kvm_kernel_irqfd'. On Intel side, it is used to update the IRTE when VT-d posted-interrupts is used. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9016cfb577a15abd6a7990890ccf6bf1edf04d31 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 18 22:29:44 2015 +0800 KVM: eventfd: add irq bypass consumer management This patch adds the registration/unregistration of an irq_bypass_consumer on irqfd assignment/deassignment. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1a02b27035f82091d51ecafcb9ccaac1f31d4eb2 Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 18 22:29:43 2015 +0800 KVM: introduce kvm_arch functions for IRQ bypass This patch introduces - kvm_arch_irq_bypass_add_producer - kvm_arch_irq_bypass_del_producer - kvm_arch_irq_bypass_stop - kvm_arch_irq_bypass_start They make possible to specialize the KVM IRQ bypass consumer in case CONFIG_KVM_HAVE_IRQ_BYPASS is set. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> [Add weak implementations of the callbacks. - Feng] Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 166c9775f1f8b8f00ad1db0fa5c8fc74059d965d Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Fri Sep 18 22:29:42 2015 +0800 KVM: create kvm_irqfd.h Move _irqfd_resampler and _irqfd struct declarations in a new public header: kvm_irqfd.h. They are respectively renamed into kvm_kernel_irqfd_resampler and kvm_kernel_irqfd. Those datatypes will be used by architecture specific code, in the context of IRQ bypass manager integration. Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Reviewed-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 37d9fe4783ffcaddcc4afe67626691e62c5ab30e Author: Feng Wu <feng.wu@xxxxxxxxx> Date: Tue Sep 22 16:47:29 2015 +0800 virt: Add virt directory to the top Makefile We need to build files in virt/lib/, which are now used by KVM and VFIO, so add virt directory to the top Makefile. Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Acked-by: Michal Marek <mmarek@xxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f73f8173126ba68eb1c42bd9a234a51d78576ca6 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Sep 18 22:29:39 2015 +0800 virt: IRQ bypass manager When a physical I/O device is assigned to a virtual machine through facilities like VFIO and KVM, the interrupt for the device generally bounces through the host system before being injected into the VM. However, hardware technologies exist that often allow the host to be bypassed for some of these scenarios. Intel Posted Interrupts allow the specified physical edge interrupts to be directly injected into a guest when delivered to a physical processor while the vCPU is running. ARM IRQ Forwarding allows forwarded physical interrupts to be directly deactivated by the guest. The IRQ bypass manager here is meant to provide the shim to connect interrupt producers, generally the host physical device driver, with interrupt consumers, generally the hypervisor, in order to configure these bypass mechanism. To do this, we base the connection on a shared, opaque token. For KVM-VFIO this is expected to be an eventfd_ctx since this is the connection we already use to connect an eventfd to an irqfd on the in-kernel path. When a producer and consumer with matching tokens is found, callbacks via both registered participants allow the bypass facilities to be automatically enabled. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> Tested-by: Feng Wu <feng.wu@xxxxxxxxx> Signed-off-by: Feng Wu <feng.wu@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 18cd52c4d9bfbd081fb643021ba8d048475cd82a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Sep 18 18:04:17 2015 +0200 irq_remapping: move structs outside #ifdef This is friendlier to clients of the code, who are going to prepare vcpu_data structs unconditionally, even if CONFIG_IRQ_REMAP is not defined. Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 72c930dcfc2b49404ee9e20f6c868402e9c71166 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Fri Sep 18 17:54:29 2015 +0200 x86: kvmclock: abolish PVCLOCK_COUNTS_FROM_ZERO Newer KVM won't be exposing PVCLOCK_COUNTS_FROM_ZERO anymore. The purpose of that flags was to start counting system time from 0 when the KVM clock has been initialized. We can achieve the same by selecting one read as the initial point. A simple subtraction will work unless the KVM clock count overflows earlier (has smaller width) than scheduler's cycle count. We should be safe till x86_128. Because PVCLOCK_COUNTS_FROM_ZERO was enabled only on new hypervisors, setting sched clock as stable based on PVCLOCK_TSC_STABLE_BIT might regress on older ones. I presume we don't need to change kvm_clock_read instead of introducing kvm_sched_clock_read. A problem could arise in case sched_clock is expected to return the same value as get_cycles, but we should have merged those clocks in that case. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Acked-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1cea0ce68ed76490ffa64a9e2a7a40104efe9352 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:57 2015 +0800 KVM: VMX: drop rdtscp_enabled field Check cpuid bit instead of it Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7ec362964d6cc228ea68572fdd6d75a59f8b40fa Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:56 2015 +0800 KVM: VMX: clean up bit operation on SECONDARY_VM_EXEC_CONTROL Use vmcs_set_bits() and vmcs_clear_bits() to clean up the code Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit feda805fe7c4ed9cf78158e73b1218752e3b4314 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:55 2015 +0800 KVM: VMX: unify SECONDARY_VM_EXEC_CONTROL update Unify the update in vmx_cpuid_update() Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> [Rewrite to use vmcs_set_secondary_exec_control. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8b97265a1516819d54c2d24b3874489a52f269d4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 15 17:34:42 2015 +0200 KVM: VMX: align vmx->nested.nested_vmx_secondary_ctls_high to vmx->rdtscp_enabled The SECONDARY_EXEC_RDTSCP must be available iff RDTSCP is enabled in the guest. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 29541bb8f4a18b2939dea137315e1803b4617c8d Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:54 2015 +0800 KVM: VMX: simplify invpcid handling in vmx_cpuid_update() If vmx_invpcid_supported() is true, second execution control filed must be supported and SECONDARY_EXEC_ENABLE_INVPCID must have already been set in current vmcs by vmx_secondary_exec_control() If vmx_invpcid_supported() is false, no need to clear SECONDARY_EXEC_ENABLE_INVPCID Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit f36201e5f44b55faf44ddc820929548e51ec841b Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:53 2015 +0800 KVM: VMX: simplify rdtscp handling in vmx_cpuid_update() if vmx_rdtscp_supported() is true SECONDARY_EXEC_RDTSCP must have already been set in current vmcs by vmx_secondary_exec_control() Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e2821620c0908593e6cb40f79c7e78b31921ed73 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:52 2015 +0800 KVM: VMX: drop rdtscp_enabled check in prepare_vmcs02() SECONDARY_EXEC_RDTSCP set for L2 guest comes from vmcs12 Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8b3e34e46aca9b6d349b331cd9cf71ccbdc91b2e Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:51 2015 +0800 KVM: x86: add pcommit support Pass PCOMMIT CPU feature to guest to enable PCOMMIT instruction Currently we do not catch pcommit instruction for L1 guest and allow L1 to catch this instruction for L2 if, as required by the spec, L1 can enumerate the PCOMMIT instruction via CPUID: | IA32_VMX_PROCBASED_CTLS2[53] (which enumerates support for the | 1-setting of PCOMMIT exiting) is always the same as | CPUID.07H:EBX.PCOMMIT[bit 22]. Thus, software can set PCOMMIT exiting | to 1 if and only if the PCOMMIT instruction is enumerated via CPUID The spec can be found at https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit eb1c31b46800a476644cd63ab3bc7ef918b0a917 Author: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Date: Wed Sep 9 14:05:50 2015 +0800 KVM: x86: allow guest to use cflushopt and clwb Pass these CPU features to guest to enable them in guest They are needed by nvdimm drivers Signed-off-by: Xiao Guangrong <guangrong.xiao@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d6a858d13e5d02b97daab5ba0648c704ae3f9517 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 28 11:58:14 2015 +0200 KVM: vmx: disable posted interrupts if no local APIC Uniprocessor 32-bit randconfigs can disable the local APIC, and posted interrupts require reserving a vector on the LAPIC, so they are incompatible. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 9eec50b8bbe1535c440a1ee88c1958f78fc55957 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Wed Sep 16 12:29:50 2015 +0300 kvm/x86: Hyper-V HV_X64_MSR_VP_RUNTIME support HV_X64_MSR_VP_RUNTIME msr used by guest to get "the time the virtual processor consumes running guest code, and the time the associated logical processor spends running hypervisor code on behalf of that guest." Calculation of this time is performed by task_cputime_adjusted() for vcpu task. Necessary to support loading of winhv.sys in guest, which in turn is required to support Windows VMBus. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 11c4b1ca719eaaa5ca6fe0e80bb009f3f2012fd2 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Wed Sep 16 12:29:49 2015 +0300 kvm/x86: Hyper-V HV_X64_MSR_VP_INDEX export for QEMU. Insert Hyper-V HV_X64_MSR_VP_INDEX into msr's emulated list, so QEMU can set Hyper-V features cpuid HV_X64_MSR_VP_INDEX_AVAILABLE bit correctly. KVM emulation part is in place already. Necessary to support loading of winhv.sys in guest, which in turn is required to support Windows VMBus. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e516cebb4f2b2057a5a421fea589079502acfff6 Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Date: Wed Sep 16 12:29:48 2015 +0300 kvm/x86: Hyper-V HV_X64_MSR_RESET msr HV_X64_MSR_RESET msr is used by Hyper-V based Windows guest to reset guest VM by hypervisor. Necessary to support loading of winhv.sys in guest, which in turn is required to support Windows VMBus. Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx> Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> CC: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e9ea5069d9e569c32ab913c39467df32e056b3a7 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue Sep 15 14:41:59 2015 +0800 kvm: add capability for any-length ioeventfds Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 931c33b178b091cced2a6b3f57f04655f8ff5207 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue Sep 15 14:41:58 2015 +0800 kvm: add tracepoint for fast mmio Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d3febddde9c7a959dbb189a700e937db50fad4d6 Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Tue Aug 25 17:05:46 2015 +0800 kvm: use kmalloc() instead of kzalloc() during iodev register/unregister All fields of kvm_io_range were initialized or copied explicitly afterwards. So switch to use kmalloc(). Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1c1a9ce973a7863dd46767226bce2a5f12d48bc6 Author: Steve Rutherford <srutherford@xxxxxxxxxx> Date: Thu Jul 30 11:27:16 2015 +0200 KVM: x86: Add support for local interrupt requests from userspace In order to enable userspace PIC support, the userspace PIC needs to be able to inject local interrupts even when the APICs are in the kernel. KVM_INTERRUPT now supports sending local interrupts to an APIC when APICs are in the kernel. The ready_for_interrupt_request flag is now only set when the CPU/APIC will immediately accept and inject an interrupt (i.e. APIC has not masked the PIC). When the PIC wishes to initiate an INTA cycle with, say, CPU0, it kicks CPU0 out of the guest, and renedezvous with CPU0 once it arrives in userspace. When the CPU/APIC unmasks the PIC, a KVM_EXIT_IRQ_WINDOW_OPEN is triggered, so that userspace has a chance to inject a PIC interrupt if it had been pending. Overall, this design can lead to a small number of spurious userspace renedezvous. In particular, whenever the PIC transistions from low to high while it is masked and whenever the PIC becomes unmasked while it is low. Note: this does not buffer more than one local interrupt in the kernel, so the VMM needs to enter the guest in order to complete interrupt injection before injecting an additional interrupt. Compiles for x86. Can pass the KVM Unit Tests. Signed-off-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b053b2aef25d00773fa6762dcd4b7f5c9c42d171 Author: Steve Rutherford <srutherford@xxxxxxxxxx> Date: Wed Jul 29 23:32:35 2015 -0700 KVM: x86: Add EOI exit bitmap inference In order to support a userspace IOAPIC interacting with an in kernel APIC, the EOI exit bitmaps need to be configurable. If the IOAPIC is in userspace (i.e. the irqchip has been split), the EOI exit bitmaps will be set whenever the GSI Routes are configured. In particular, for the low MSI routes are reservable for userspace IOAPICs. For these MSI routes, the EOI Exit bit corresponding to the destination vector of the route will be set for the destination VCPU. The intention is for the userspace IOAPICs to use the reservable MSI routes to inject interrupts into the guest. This is a slight abuse of the notion of an MSI Route, given that MSIs classically bypass the IOAPIC. It might be worthwhile to add an additional route type to improve clarity. Compile tested for Intel x86. Signed-off-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7543a635aa09eb138b2cbf60ac3ff19503ae6954 Author: Steve Rutherford <srutherford@xxxxxxxxxx> Date: Wed Jul 29 23:21:41 2015 -0700 KVM: x86: Add KVM exit for IOAPIC EOIs Adds KVM_EXIT_IOAPIC_EOI which allows the kernel to EOI level-triggered IOAPIC interrupts. Uses a per VCPU exit bitmap to decide whether or not the IOAPIC needs to be informed (which is identical to the EOI_EXIT_BITMAP field used by modern x86 processors, but can also be used to elide kvm IOAPIC EOI exits on older processors). [Note: A prototype using ResampleFDs found that decoupling the EOI from the VCPU's thread made it possible for the VCPU to not see a recent EOI after reentering the guest. This does not match real hardware.] Compile tested for Intel x86. Signed-off-by: Steve Rutherford <srutherford@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 49df6397edfc5a8ba8ca813b51fb9729d8e94b40 Author: Steve Rutherford <srutherford@xxxxxxxxxx> Date: Wed Jul 29 23:21:40 2015 -0700 KVM: x86: Split the APIC from the rest of IRQCHIP. First patch in a series which enables the relocation of the PIC/IOAPIC to userspace. Adds capability KVM_CAP_SPLIT_IRQCHIP; KVM_CAP_SPLIT_IRQCHIP enables the construction of LAPICs without the rest of the irqchip. Compile tested for x86. Signed-off-by: Steve Rutherford <srutherford@xxxxxxxxxx> Suggested-by: Andrew Honig <ahonig@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4ca7dd8ce4b24e18f94eed90e80c6eb80fb48c9a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Jul 30 10:32:16 2015 +0200 KVM: x86: unify handling of interrupt window The interrupt window is currently checked twice, once in vmx.c/svm.c and once in dm_request_for_irq_injection. The only difference is the extra check for kvm_arch_interrupt_allowed in dm_request_for_irq_injection, and the different return value (EINTR/KVM_EXIT_INTR for vmx.c/svm.c vs. 0/KVM_EXIT_IRQ_WINDOW_OPEN for dm_request_for_irq_injection). However, dm_request_for_irq_injection is basically dead code! Revive it by removing the checks in vmx.c and svm.c's vmexit handlers, and fixing the returned values for the dm_request_for_irq_injection case. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 35754c987f252e859bfa390a6816e85563afe79d Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 12:05:37 2015 +0200 KVM: x86: introduce lapic_in_kernel Avoid pointer chasing and memory barriers, and simplify the code when split irqchip (LAPIC in kernel, IOAPIC/PIC in userspace) is introduced. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d50ab6c1a2b24e12d3012d7beb343eba5b94a6ca Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 11:49:59 2015 +0200 KVM: x86: replace vm_has_apicv hook with cpu_uses_apicv This will avoid an unnecessary trip to ->kvm and from there to the VPIC. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3bb345f387dd26beb097cf776e342bc0d96d805a Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 10:43:18 2015 +0200 KVM: x86: store IOAPIC-handled vectors in each VCPU We can reuse the algorithm that computes the EOI exit bitmap to figure out which vectors are handled by the IOAPIC. The only difference between the two is for edge-triggered interrupts other than IRQ8 that have no notifiers active; however, the IOAPIC does not have to do anything special for these interrupts anyway. This again limits the interactions between the IOAPIC and the LAPIC, making it easier to move the former to userspace. Inspired by a patch from Steve Rutherford. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bdaffe1d93e7eddbcc71d074a5d49eba7fe1c765 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Jul 29 15:03:06 2015 +0200 KVM: x86: set TMR when the interrupt is accepted Do not compute TMR in advance. Instead, set the TMR just before the interrupt is accepted into the IRR. This limits the coupling between IOAPIC and LAPIC. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 58219c1ab32be51e23f672ec52d2c6a86b0489d8 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Oct 1 12:26:50 2015 +0200 tools lib traceevent: update KVM plugin The format of the role word has changed through the years and the plugin was never updated; some VMX exit reasons were missing too. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 79ac6ef521075d0f40805df77e8890c55f538fe4 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:24:01 2015 +0200 tracing: Use kstrdup_const instead of private implementation The kernel now has kstrdup_const/kfree_const for reusing .rodata (typically string literals) when possible; there's no reason to duplicate that logic in the tracing system. Moreover, as the comment above core_kernel_data states, it may not always return true for .rodata - that is for example the case on x86_64, where we thus end up kstrdup'ing all the passed-in strings. Arguably, testing for .rodata explicitly (as kstrdup_const does) is also more correct: I don't think one is supposed to be able to change the name after creating the event_subsystem by passing the address of a static char (but non-const) array. Link: http://lkml.kernel.org/r/1441833841-12955-1-git-send-email-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 82f6c9cd908bfab6566d89700ee687146db974b8 Merge: d292242 e02ae38 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Oct 1 15:02:45 2015 +0200 Merge branch 'x86/for-kvm' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into HEAD This merges a cleanup of asm/apic.h, which is needed by the KVM patches to support VT-d posted interrupts. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0edd453368c6b9cdb756bde2b6675bb0d5d0eb0a Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:48 2015 +0300 perf callchain: Allow for max_stack greater than PERF_MAX_STACK_DEPTH Adjust the validation to allow for max_stack greater than PERF_MAX_STACK_DEPTH. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-18-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7f14bededbf1e0db5d17743b27a8855ab05ad645 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Oct 1 20:48:29 2015 +0800 ARM: dts: sun6i: hummingbird: Add aliases for rtc devices The hummingbird A31 has 2 rtc devices available: one in the SoC, and a pcf8563 external rtc on i2c2. For some unknown reason, the onboard backup battery alone can not supply enough power to the internal rtc. When external power is removed, the internal rtc would reset. Hence we want to use the external one by default. Add aliases for the rtc devices with the external one as rtc0. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 208e7607459477432d3df52c32d4b961a96d4a94 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Sep 30 13:34:00 2015 +0900 perf report: Fix a bug on "--call-graph none" option The patch f9db0d0f1b2c ("perf callchain: Allow disabling call graphs per event") added an ability to enable/disable callchain recording per event. But it had a problem when the enablement setting is changed at 'perf report' time using -g/--call-graph option. For example, the following scenario will get a segfault. $ perf record -ag sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.500 MB perf.data (2555 samples) ] $ perf report -g none perf: Segmentation fault -------- backtrace -------- perf[0x53a98a] /usr/lib/libc.so.6(+0x335af)[0x7f4e91df95af] This is because callchain_param.sort() callback was not set but it tried to call the function as it had the PERF_SAMPLE_CALLCHAIN bit. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Fixes: f9db0d0f1b2c ("perf callchain: Allow disabling call graphs per event") Link: http://lkml.kernel.org/r/1443587640-24242-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c53d138d41a7f33cf085762c64b4b61e8d223e1c Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Sep 30 10:45:26 2015 +0900 perf top: Register idle thread The perf top didn't add the idle/swapper thread to the machine's thread list and its comm was displayed as ':0'. Fix it. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443577526-3240-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4b37af595742977f1bdd8c0fd0f3e6e55b36e7b7 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Sep 30 10:45:25 2015 +0900 perf top: Fix unresolved comm when -s comm is used The perf top uses 'dso,symbol' sort keys by default so it overlooked a problem in task's comm resolving. When the sort key contains 'comm', some task's comm is not shown properly. This is because the perf_top__mmap_read_idx() checks the cpumode value improperly. The cpumode value of non-sample events are 0 (PERF_RECORD_MISC_CPUMODE_ UNKNOWN) so the events will be ignored by the switch statement. This patch allows it for non-sample events. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443577526-3240-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e5bed564485b340d87f2d8945643a393e55b8225 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Sep 30 10:45:24 2015 +0900 perf record: Allocate area for sample_id_hdr in a synthesized comm event A previous patch added a synthesized comm event for forked child process but it missed that the event should contain area for sample_id_hdr at the end. It worked by accident since the perf_event union contains bigger event structs like mmap_events. This patch fixes it by dynamically allocating event struct including those area like in perf_event__synthesize_thread_map(). Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443577526-3240-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f1e0bb0ad473a32d1b7e6d285ae9f7e47710bb5e Author: Yang Yingliang <yangyingliang@xxxxxxxxxx> Date: Thu Sep 24 17:32:13 2015 +0800 genirq: Introduce generic irq migration for cpu hotunplug ARM and ARM64 have almost identical code for migrating interrupts on cpu hotunplug. Provide a generic version which can be used by both. The new code addresses a shortcoming in the ARM[64] variants which fails to update the affinity change in some cases. The solution for this is to use the core function irq_do_set_affinity() instead of open coding it. [ tglx: Added copyright notice and license boilerplate. Rewrote subject and changelog. ] Signed-off-by: Yang Yingliang <yangyingliang@xxxxxxxxxx> Acked-by: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443087135-17044-2-git-send-email-yangyingliang@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fb91aecb96cb852f0989432968b3c50d6247ed7f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 09:35:01 2015 -0300 [media] DocBook: Fix documentation for struct v4l2_dv_timings Fix this warning: include/media/v4l2-dv-timings.h:29: warning: cannot understand function prototype: 'const struct v4l2_dv_timings v4l2_dv_timings_presets[]; ' Unfortunately, currently, it seems that doc-nano doesn't support documenting extern static vars. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5a11cb1cd4cb7fe9cf44ca62bd9b472254f6e5b2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 09:14:57 2015 -0300 [media] dvbdev: Remove two cut-and-paste errors Those two came from dvb_register_adapter cut-and-paste: .//drivers/media/dvb-core/dvbdev.h:199: warning: Excess function parameter 'device' description in 'dvb_register_device' .//drivers/media/dvb-core/dvbdev.h:199: warning: Excess function parameter 'adapter_nums' description in 'dvb_register_device' Remove them. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1ccd66cca96a377ef924d2ee76fbb753a7bec9ea Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 09:12:23 2015 -0300 [media] DocBook: add the new videobuf2-v4l2 header This header should also be used to generate documentation. So, add it. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b0dcc5f61253b384367c43c89b75e560fa751cf4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 1 09:10:06 2015 -0300 [media] s5p-jpeg: remove unused var changeset 6c96dbbc2aa9 added a new function that seems to be a modified version of an existing function. That's ok, but it was adding a "word" var from the previous code that it is not used on the new function. So, remove this left-over. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2d7007153f0c9b1dd00c01894df7d26ddc32b79f Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Sep 22 10:30:30 2015 -0300 [media] media: videobuf2: Restructure vb2_buffer Remove v4l2 stuff - v4l2_buf, v4l2_plane - from struct vb2_buffer. Add new member variables - bytesused, length, offset, userptr, fd, data_offset - to struct vb2_plane in order to cover all information of v4l2_plane. struct vb2_plane { <snip> unsigned int bytesused; unsigned int length; union { unsigned int offset; unsigned long userptr; int fd; } m; unsigned int data_offset; } Replace v4l2_buf with new member variables - index, type, memory - which are common fields for buffer management. struct vb2_buffer { <snip> unsigned int index; unsigned int type; unsigned int memory; unsigned int num_planes; struct vb2_plane planes[VIDEO_MAX_PLANES]; <snip> }; v4l2 specific fields - flags, field, timestamp, timecode, sequence - are moved to vb2_v4l2_buffer in videobuf2-v4l2.c struct vb2_v4l2_buffer { struct vb2_buffer vb2_buf; __u32 flags; __u32 field; struct timeval timestamp; struct v4l2_timecode timecode; __u32 sequence; }; Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c139990e842d550db2f59bd4f5993bba90f140e0 Author: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Date: Tue Sep 22 10:30:29 2015 -0300 [media] media: videobuf2: Replace videobuf2-core with videobuf2-v4l2 Make videobuf2-v4l2 as a wrapper of videobuf2-core for v4l2-use. And replace videobuf2-core.h with videobuf2-v4l2.h. This renaming change should be accompanied by the modifications of all device drivers that include videobuf2-core.h. It can be done with just running this shell script. replace() { str1=$1 str2=$2 dir=$3 for file in $(find $dir -name *.h -o -name *.c -o -name Makefile) do echo $file sed "s/$str1/$str2/g" $file > $file.out mv $file.out $file done } replace "videobuf2-core" "videobuf2-v4l2" "include/media/" replace "videobuf2-core" "videobuf2-v4l2" "drivers/media/" replace "videobuf2-core" "videobuf2-v4l2" "drivers/usb/gadget/" replace "videobuf2-core" "videobuf2-v4l2" "drivers/staging/media/" Signed-off-by: Junghak Sung <jh1009.sung@xxxxxxxxxxx> Signed-off-by: Geunyoung Kim <nenggun.kim@xxxxxxxxxxx> Acked-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a8077734055f870ba630563868a6349671ca8dfc Author: Benoit Parrot <bparrot@xxxxxx> Date: Mon Sep 21 13:03:21 2015 -0300 [media] media: v4l2-ctrls: Fix 64bit support in get_ctrl() When trying to use v4l2_ctrl_g_ctrl_int64() to retrieve a V4L2_CTRL_TYPE_INTEGER64 type value the internal helper function get_ctrl() would prematurely exit because for this control type the 'is_int' flag is not set. This would result in v4l2_ctrl_g_ctrl_int64 always returning 0. Also v4l2_ctrl_g_ctrl_int64() is reading and returning the 32bit value member instead of the 64bit version, so fixing that as well. This patch extends the condition check to allow the V4L2_CTRL_TYPE_INTEGER64 type to continue processing instead of exiting. Signed-off-by: Benoit Parrot <bparrot@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.17 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d275d935900e10f01f2e43fb4a961ebcb48867bc Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Sep 21 13:00:41 2015 -0300 [media] cx25821, cx88, tm6000: use SNDRV_DEFAULT_ENABLE_PNP Instead of manually initializing the bool array enable, use the SNDRV_DEFAULT_ENABLE_PNP macro. As most drivers do. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fc88dd16a0e430f57458e6bd9b62a631c6ea53a1 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Sep 21 08:42:04 2015 -0300 [media] cobalt: fix Kconfig dependency The cobalt driver should depend on VIDEO_V4L2_SUBDEV_API. This fixes this kbuild error: tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 99bc7215bc60f6cd414cf1b85cd9d52cc596cccb commit: 85756a069c55e0315ac5990806899cfb607b987f [media] cobalt: add new driver config: x86_64-randconfig-s0-09201514 (attached as .config) reproduce: git checkout 85756a069c55e0315ac5990806899cfb607b987f # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): drivers/media/i2c/adv7604.c: In function 'adv76xx_get_format': >> drivers/media/i2c/adv7604.c:1853:9: error: implicit declaration of function 'v4l2_subdev_get_try_format' [-Werror=implicit-function-declaration] fmt = v4l2_subdev_get_try_format(sd, cfg, format->pad); ^ drivers/media/i2c/adv7604.c:1853:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion] fmt = v4l2_subdev_get_try_format(sd, cfg, format->pad); ^ drivers/media/i2c/adv7604.c: In function 'adv76xx_set_format': drivers/media/i2c/adv7604.c:1882:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion] fmt = v4l2_subdev_get_try_format(sd, cfg, format->pad); ^ cc1: some warnings being treated as errors Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c7d97499cc8ab9f9cda0af5c1b078480e198eb4c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 21 08:23:09 2015 -0300 [media] tvp5150: add support for asynchronous probing Allow the subdevice to be probed asynchronously. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5b5fbd38776e06df8e74c2fa91a172435400486 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Aug 2 17:30:53 2015 -0300 [media] s5p-mfc: Correct misuse of %0x<decimal> Correct misuse of 0x%d in logging message. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7d9f9bf45b0e573c8cda403f068f5722a902e450 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Fri Sep 18 11:20:59 2015 -0300 [media] MAINTAINERS: add exynos jpeg codec maintainers Add Andrzej Pietrasiewicz and Jacek Anaszewski as maintainers of drivers/media/platform/s5p-jpeg. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6c96dbbc2aa9f5b4aed8792989d69eae22bf77c4 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Fri Sep 18 11:20:58 2015 -0300 [media] s5p-jpeg: add support for 5433 JPEG IP found in Exynos5433 is similar to what is in Exynos4, but there are some subtle differences which this patch takes into account. The most important difference is in what is processed by the JPEG IP and what has to be provided to it. In case of 5433 the IP does not parse Huffman and quantisation tables, so this has to be performed with the CPU and the majority of the code in this patch does that. A small but important difference is in what address is passed to the JPEG IP. In case of 5433 it is the SOS (start of scan) position, which is natural, because the headers must be parsed elsewhere. There is also a difference in how the hardware is put to work in device_run. Data structures are extended as appropriate to accommodate the above changes. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Reviewed-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5f509239eccc9d118d3474a22e78b3da1ceefe02 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Oct 1 08:03:06 2015 +0200 ieee802154: handle datagram variables as u16 This reverts commit 9abc378c66e3d6f437eed77c1c534cbc183523f7 ("ieee802154: 6lowpan: change datagram var types"). The reason is that I forgot the IPv6 fragmentation here. Our MTU of lowpan interface is 1280 and skb->len should not above of that. If we reach a payload above 1280 in IPv6 header then we have a IPv6 fragmentation above 802.15.4 6LoWPAN fragmentation. The type "u16" was fine, instead I added now a WARN_ON_ONCE if skb->len is above MTU which should never happen otherwise IPv6 on minimum MTU size is broken. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b95a24d6b10a70d88916e4c7c67f3a63772afb6a Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Fri Sep 18 11:20:57 2015 -0300 [media] s5p-jpeg: generalize clocks handling Allow jpeg codec variants declare clocks they need. Before this patch is applied jpeg-core gets jpeg->sclk "speculatively": if it is not there, we assume no problem. This patch eliminates this by explicitly declaring what clocks are needed for each variant. This is a preparation for adding Exynos 5433 variant support, which needs 4 clocks of names not compatible with any previous version of jpeg hw module. [Rebase and commit message] Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Reviewed-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5bcc0dd7906758ad9b37ce66835e5b53e15d9b1d Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 16 20:55:04 2015 -0300 [media] go7007: Fix returned errno code in gen_mjpeghdr_to_package() The driver is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Since the error number is propagated, the caller will get a -EPERM which is the wrong error condition. Also, the smatch tool complains with the following warning: gen_mjpeghdr_to_package() warn: returning -1 instead of -ENOMEM is sloppy Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5aa2ccfc370f0a48f16492059a95a1252d721f6c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Sep 11 07:53:09 2015 -0300 [media] s5c73m3: Export OF module alias information The SPI core always reports the MODALIAS uevent as "spi:<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: SPI id table or OF match table). So drivers needs to export the SPI 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 SPI 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 SPI device name for example. To avoid the above, the SPI 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> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 60f4570de80264428ddbd350dc8ed1d95f9dcd9d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Sep 21 06:21:55 2015 -0300 [media] DocBook/media: clarify control documentation - Add missing V4L2_CTRL_TYPE_U32 documentation - Remove 'which are actually different on the hardware' sentence which is confusing. I think the idea was to let the user know that the step can be different for different hardware, but that's obvious because otherwise you wouldn't need to specify the step value. - Clarify that V4L2_CTRL_COMPOUND_TYPES also applies to arrays. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 35204e2e84f2dae72012f8ca319659c12f428430 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Sep 21 06:14:16 2015 -0300 [media] v4l2-ctrls: arrays are also considered compound controls Array controls weren't skipped when only V4L2_CTRL_FLAG_NEXT_CTRL was provided (so no V4L2_CTRL_FLAG_NEXT_COMPOUND was set). This is wrong since arrays are also considered compound controls (i.e. with more than one value), and applications that do not know about arrays will not be able to handle such controls. Fix the test to include arrays. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Reported-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.17 and up Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5ba0e2c3ad4c049b19f6cad7ec62e59424a55183 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 17 18:19:37 2015 -0300 [media] use v4l2_get_timestamp where possible This is a preparation for a change to the type of v4l2 timestamps. v4l2_get_timestamp() is a helper function that reads the monotonic time and stores it into a 'struct timeval'. Multiple drivers implement the same thing themselves for historic reasons. Changing them all to use v4l2_get_timestamp() is more consistent and reduces the amount of code duplication, and most importantly simplifies the following changes. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> [hans.verkuil@xxxxxxxxx: dropped the v4l2-dev.c patch that didn't belong here] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3a40cfc36bb3d2e25c9af31e56863ea7144c5324 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Sep 30 16:05:43 2015 +0200 regulator: core: create unlocked version of regulator_list_voltage The unlocked version will be needed when we start propagating voltage changes to the supply regulators. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9f01cd4a915e13dda6a61b989229015687ffd58f Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Wed Sep 30 16:05:42 2015 +0200 regulator: core: introduce function to lock regulators and its supplies Each regulator_dev is locked with its own mutex. This is fine as long as only one regulator_dev is locked, but makes lockdep unhappy when we have to walk up the supply chain like it can happen in regulator_get_voltage: regulator_get_voltage -> mutex_lock(®ulator->rdev->mutex) -> _regulator_get_voltage(regulator->rdev) -> regulator_get_voltage(rdev->supply) -> mutex_lock(®ulator->rdev->mutex); This causes lockdep to issue a possible deadlock warning. There are at least two ways to work around this: - We can always lock the whole supply chain using the functions introduced with this patch. - We could store the current voltage in struct regulator_rdev so that we do not have to walk up the supply chain for the _regulator_get_voltage case. Anyway, regulator_lock_supply/regulator_unlock_supply will be needed once we allow regulator_set_voltage to optimize the supply voltages. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2ef3b6fe9e6d7b22ca9f81a58d5ff089f7b4ef91 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 17 18:19:35 2015 -0300 [media] exynos4-is: use monotonic timestamps as advertized The exynos4 fimc capture driver claims to use monotonic timestamps but calls ktime_get_real_ts(). This is both an incorrect API use, and a bad idea because of the y2038 problem and the fact that the wall clock time is not reliable for timestamps across suspend or settimeofday(). This changes the driver to use the normal v4l2_get_timestamp() function like all other drivers. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 280e87b2e6b92090ec6da8cd7e55100f6d4b11bc Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:16:34 2015 -0300 [media] ml86v7667: implement g_std() method The driver was written with the 'soc_camera' use in mind, however the g_std() video method was forgotten. Implement it at last... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 225b783b38d72a45349ff6eab29fc8230e346eed Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:33 2015 -0300 [media] saa7164: video and vbi ports share the same input/tuner/std The vbi port should pass any tuner/input/standard information on to the video port since in the input and tuner are shared between the two. There is no reason to duplicate this code, just pass the ioctls on to the video encoder port. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6b99612606b794e59c5089aa61168adabe983969 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:32 2015 -0300 [media] saa7164: fix input and tuner compliance problems - the frequency range was never set - there was no initial frequency - missing index/tuner checks - inconsistent standard reporting - removed unnecessary tuner type checks (the core handles that) - clamp frequency to the valid frequency range as per the V4L2 spec Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4e203f7fddecd4c4fc9af2f25bae1d79b28405a8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:31 2015 -0300 [media] saa7164: remove unused videobuf references This driver includes videobuf headers and selects VIDEOBUF_DVB, but videobuf isn't used at all. Remove this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 031d229772745044faf86f6bee0c9d0f151e3bd4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:30 2015 -0300 [media] saa7164: fix format ioctls Fix various v4l2-compliance issues in the formatting ioctls: - the vbi device implemented video format ioctls which make no senses for a vbi device, remove them. - remove the unused ts_packet_size and ts_packet_count fields. - fill in colorspace and field. - fill in sizeimage with a default value. - for the video node the get, set and try format functions all do the same thing, so combine into a single function. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 245b5ae95f6c58a49f5a7230041f9fbfbaabfc99 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:29 2015 -0300 [media] saa7164: add support for control events Now that saa7164 uses v4l2_fh and that poll() has been fixed, it is trivial to add support for control events. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 45053edc054ac9467adfdaf4f8a39db15af22b37 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:28 2015 -0300 [media] saa7164: fix poll bugs - poll doesn't return negative values, so you can't return -EINVAL. Instead return POLLERR. - poll can't be called if !video_is_registered(), so this test can be dropped. - poll can never do a blocking wait, so remove that check. - poll shouldn't attempt to start streaming if the caller isn't interested in read events. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d6d3fe2fe118ad13ac3a24c1e45a37312b44c462 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:27 2015 -0300 [media] saa7164: add v4l2_fh support Control events require the use of struct v4l2_fh. Add this to saa7164. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1a708ea0133cd4959752a8d5c9ca12fc27dd475d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Aug 28 08:48:26 2015 -0300 [media] saa7164: convert to the control framework Convert this driver to the control framework. Note that the VBI device nodes have no controls as there is nothing to control. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b2f73922d119686323f14fbbe46587f863852328 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 30 15:59:17 2015 +0200 fs/proc, core/debug: Don't expose absolute kernel addresses via wchan So the /proc/PID/stat 'wchan' field (the 30th field, which contains the absolute kernel address of the kernel function a task is blocked in) leaks absolute kernel addresses to unprivileged user-space: seq_put_decimal_ull(m, ' ', wchan); The absolute address might also leak via /proc/PID/wchan as well, if KALLSYMS is turned off or if the symbol lookup fails for some reason: static int proc_pid_wchan(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *task) { unsigned long wchan; char symname[KSYM_NAME_LEN]; wchan = get_wchan(task); if (lookup_symbol_name(wchan, symname) < 0) { if (!ptrace_may_access(task, PTRACE_MODE_READ)) return 0; seq_printf(m, "%lu", wchan); } else { seq_printf(m, "%s", symname); } return 0; } This isn't ideal, because for example it trivially leaks the KASLR offset to any local attacker: fomalhaut:~> printf "%016lx\n" $(cat /proc/$$/stat | cut -d' ' -f35) ffffffff8123b380 Most real-life uses of wchan are symbolic: ps -eo pid:10,tid:10,wchan:30,comm and procps uses /proc/PID/wchan, not the absolute address in /proc/PID/stat: triton:~/tip> strace -f ps -eo pid:10,tid:10,wchan:30,comm 2>&1 | grep wchan | tail -1 open("/proc/30833/wchan", O_RDONLY) = 6 There's one compatibility quirk here: procps relies on whether the absolute value is non-zero - and we can provide that functionality by outputing "0" or "1" depending on whether the task is blocked (whether there's a wchan address). These days there appears to be very little legitimate reason user-space would be interested in the absolute address. The absolute address is mostly historic: from the days when we didn't have kallsyms and user-space procps had to do the decoding itself via the System.map. So this patch sets all numeric output to "0" or "1" and keeps only symbolic output, in /proc/PID/wchan. ( The absolute sleep address can generally still be profiled via perf, by tasks with sufficient privileges. ) Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Kostya Serebryany <kcc@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: kasan-dev <kasan-dev@xxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150930135917.GA3285@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 28c50292751cd20ffa4b70eb0d4476c887bcb93d Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Aug 21 10:19:22 2015 -0300 [media] media/v4l2-compat-ioctl32: Simple stylechecks The next patches on the series need this modifications to pass clean checkpath.pl. 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 d9e7d2285a6787b61e8741dddbbf4d6702afa637 Author: Ricardo Ribalda <ricardo.ribalda@xxxxxxxxx> Date: Fri Aug 21 10:19:20 2015 -0300 [media] videodev2.h: Fix typo in comment Referenced file has moved 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 b96c544f44c00a85b660e72dd8cc8363a499a6d6 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Sep 21 05:31:19 2015 -0300 [media] vivid: add 10 and 12 bit Bayer formats Add support for 10 and 12 bit Bayer formats to the test pattern generator and the vivid driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d5beb67bc74d8c048c63f361b13fbebbda1bc43a Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Sep 17 06:46:04 2015 -0300 [media] v4l2-compat-ioctl32: add missing SDR support Add the missing support for v4l2_sdr_format (V4L2_BUF_TYPE_SDR_CAPTURE). Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fd4b0d751835b74b06ace3ebcfb50f829a74ce2e Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Sep 15 09:36:01 2015 -0300 [media] media: fix kernel-doc warnings in v4l2-dv-timings.h Fix the following 'make htmldocs' warnings: .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'frame_height' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'hfreq' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'vsync' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'active_width' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'polarities' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'interlaced' .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'fmt' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'frame_height' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'hfreq' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'vsync' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'polarities' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'interlaced' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'aspect' .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'fmt' .//include/media/v4l2-dv-timings.h:184: warning: No description found for parameter 'hor_landscape' .//include/media/v4l2-dv-timings.h:184: warning: No description found for parameter 'vert_portrait' Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d006a9791d53905109d3ba31c54c514326deeb6b Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Tue Sep 15 03:49:44 2015 -0300 [media] vim2m: small cleanup: use assignment instead of memcpy Use a type-safe assignment instead of memcpy. And it is easier to read as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 00507a8d6a86973e55076ea21053fd8e786391eb Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 16:15:21 2015 -0300 [media] DocBook media: Document the SMPTE 2084 transfer function Document this new transfer function used by High Dynamic Range content. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e29fd55d8d23ea7afcadd15a87700583e7da5035 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Thu Oct 1 14:47:10 2015 +0800 ASoC: rt5645: Add the control of ClassD modulator Speaker Gain Ratio Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 945ef5bb146e65c58edb866eb0708e98224e54ab Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 21:57:06 2015 +0200 vgaarb: use kzalloc in vga_arbiter_add_pci_device() Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a7e705af524d165fe7bc303aee82225c66734885 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Oct 1 10:55:29 2015 +0800 x86/irq: Drop unlikely before IS_ERR_OR_NULL IS_ERR_OR_NULL already contain an unlikely compiler flag. Drop it. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Link: http://lkml.kernel.org/r/03d18502ed7ed417f136c091f417d2d88c147ec6.1443667610.git.geliangtang@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit cae010a1b663a779fdbfbf625839bc07dad16428 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 15:45:00 2015 +0200 ARM: STi: STiH407: Enable the 2 HW Random Number Generators for STiH4{07, 10} Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit c2365b9388e8ec19305e3f449c1826e7493d156d Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Oct 1 14:22:02 2015 +0530 perf/x86/intel/uncore: Do not use 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> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20151001085201.GA16939@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e98d6d6203552ebd1e80ac17de857547efa37fba Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:26:45 2015 +0300 Bluetooth: hci_bcm: Do not test ACPI companion in bcm_acpi_probe() This device has always ACPI companion because driver supports only ACPI enumeration. Therefore there is no need to test it in bcm_acpi_probe() and we can pass it directly to acpi_dev_get_resources() (which will return -EINVAL in case of NULL argument is passed). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4d1c4558028ff0b7dbc1e24c319f478658f0620d Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:26:44 2015 +0300 Bluetooth: hci_bcm: Remove needless looking code Tree wide grep for "hci_bcm" doesn't reveal there is any code registering this platform device and "struct acpi_device_id" use for passing the platform data looks a debug/test code leftover to me. I'm assuming this driver effectively supports only ACPI enumeration and thus test for ACPI_HANDLE() and platform data can be removed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5fbae60d43652edc005f1a690345ec7e290def8e Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:26:43 2015 +0300 Bluetooth: hci_bcm: Remove needless acpi_match_device() call There is no need to call acpi_match_device() in driver's probe path and verify does it find a match to given ACPI _HIDs in .acpi_match_table as driver/platform/acpi core code has found the match prior calling the probe. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5be00284dc85dadd5241833fbca645c19baebebb Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:26:42 2015 +0300 Bluetooth: hci_bcm: Handle possible error from acpi_dev_get_resources() Driver doesn't handle possible error from acpi_dev_get_resources(). Test it and return the error code in case of error. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 09dbf1b7847ca09afb4616021fdc928452511888 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:26:41 2015 +0300 Bluetooth: hci_bcm: Add missing acpi_dev_free_resource_list() Caller of acpi_dev_get_resources() should free the constructed resource list by calling the acpi_dev_free_resource_list() in order to avoid memory leak. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fa4270d8e0257b4b76f11baa2866f4313d29aaf5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 30 19:21:34 2015 +0300 drm: Don't zero vblank timestamps from the irq handler If we couldn't get a high precisions vblank timestamp, we currently store a zeroed timestamp instead and assume the next vblank irq to get us something better. This makes sense when trying to update the timestamp from eg. vblank enable. But if we do this from the vblank irq we will never get a vblank timestamp unless we high precision timestamps are available and succeeded. This break weston for instance on drivers lacking high precision timestamps. To fix this, zero the timestamp only when not called from vbl irq. When called from the irq, we still want the timestamp, even if not perfect. This fixes a regression from 4dfd64862ff852df drm: Use vblank timestamps to guesstimate how many vblanks were missed Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Reported-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4bc6a58fcbf63dc3da9870c41eeab1bd030bc585 Merge: 9c17dbc 7f8d1ad Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 1 09:03:57 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: User visible changes: - By default use the most precise "cycles" hw counter available, i.e. when the user doesn't specify any event, it will try using cycles:ppp, cycles:pp, etc. (Arnaldo Carvalho de Melo) - Remove blank lines, headers when piping output in 'perf list', so that it can be sanely used with 'wc -l', etc. (Arnaldo Carvalho de Melo) - Amend documentation about max_stack and synthesized callchains. (Adrian Hunter) - Fix 'perf probe -l' for probes added to kernel module functions. (Masami Hiramatsu) Build fixes: - Fix shadowed declarations that break the build on older distros. (Jiri Olsa) - Fix build break on powerpc due to sample_reg_masks. (Sukadev Bhattiprolu) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 23270e160dd5d240dbf73722c1df9ff3044d7bc9 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 30 16:28:52 2015 +0300 Bluetooth: hci_intel: Cleanup the device probe code There is some unneeded code in "hci_intel" probing. First acpi_match_device() call is needless as driver/platform/acpi core code has already done the matching before calling the probe and the driver does not use the returned pointer to matching _HID other than checking is it NULL. Then tree wide grep for "hci_intel" doesn't reveal that there is any code registering this platform device so it looks this device is always backed with ACPI companion so also ACPI_HANDLE() test can be removed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2adc48a691866fbb3134dd3abd77647a8b5a9307 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 23 15:40:35 2015 +1000 powerpc: Add ppc64le_defconfig Based directly on ppc64_defconfig using merge_config. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d2036f30cfe1daa19e63ce75afd56c7ffd39ef3c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 23 15:40:34 2015 +1000 scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target Arch Makefiles can set KBUILD_DEFCONFIG to tell kbuild the name of the defconfig that should be built by default. However currently there is an assumption that KBUILD_DEFCONFIG points to a file at arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG). We would like to use a target, using merge_config, as our defconfig, so adapt the logic in scripts/kconfig/Makefile to allow that. To minimise the chance of breaking anything, we first check if KBUILD_DEFCONFIG is a file, and if so we do the old logic. If it's not a file, then we call the top-level Makefile with KBUILD_DEFCONFIG as the target. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Michal Marek <mmarek@xxxxxxxx> commit 65d3223a853ac8598694064c1d37b0955e7d99cc Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:20:56 2015 +0530 powerpc/mm: Add virt_to_pfn and use this instead of opencoding This add helper virt_to_pfn and remove the opencoded usage of the same. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c974809a26a13e40254dbe3cf46f49aa32acca11 Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Fri Sep 25 14:01:40 2015 +1000 powerpc/vdso: Avoid link stack corruption in __get_datapage() powerpc has a link register (lr) used for calling functions. We "bl <func>" to call a function, and "blr" to return back to the call site. The lr is only a single register, so if we call another function from inside this function (ie. nested calls), software must save away the lr on the software stack before calling the new function. Before returning (ie. before the "blr"), the lr is restored by software from the software stack. This makes branch prediction quite difficult for the processor as it will only know the branch target just before the "blr". To help with this, modern powerpc processors keep a (non-architected) hardware stack of lr called a "link stack". When a "bl <func>" is run, the lr is pushed onto this stack. When a "blr" is called, the branch predictor pops the lr value from the top of the link stack, and uses it to predict the branch target. Hence the processor pipeline knows a lot earlier the branch target. This works great but there are some cases where you call "bl" but without a matching "blr". Once such case is when trying to determine the program counter (which can't be read directly). Here you "bl+4; mflr" to get the program counter. If you do this, the link stack will get out of sync with reality, causing the branch predictor to mis-predict subsequent function returns. To avoid this, modern micro-architectures have a special case of bl. Using the form "bcl 20,31,+4", ensures the processor doesn't push to the link stack. The 32 and 64 bit variants of __get_datapage() use a "bl; mflr" to determine the loaded address of the VDSO. The current versions of these attempt to use this special bl variant. Unfortunately they use +8 rather than the required +4. Hence the current code results in the link stack getting out of sync with reality and hence the resulting performance degradation. This patch moves it to bcl+4 by moving __kernel_datapage_offset out of __get_datapage(). With this patch, running a gettimeofday() (which uses __get_datapage()) microbenchmark we get a decent bump in performance on POWER7/8. For the benchmark in tools/testing/selftests/powerpc/benchmarks/gettimeofday.c POWER8: 64bit gets ~4% improvement 32bit gets ~9% improvement POWER7: 64bit gets ~7% improvement Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Reported-by: Aaron Sawdey <sawdey@xxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d17475d906fde8e9fe39fff3873b07380ed6da76 Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Fri Sep 25 14:01:39 2015 +1000 powerpc/selftest: Add gettimeofday() benchmark This adds a benchmark directory to the powerpc selftests and adds a gettimeofday() benchmark to it. Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 26cd835ef8bdc9ca6db03374372738176c36dd88 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Aug 13 17:11:18 2015 +1000 powerpc/slb: Use a local to avoid multiple calls to get_slb_shadow() For no reason other than it looks ugly. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1d15010c349a26640e8f24959390bcf2ebd1db60 Author: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 13 17:07:54 2015 +1000 powerpc/slb: Define an enum for the bolted indexes This patch defines macros for the three bolted SLB indexes we use. Switch the functions that take the indexes as an argument to use the enum. Signed-off-by: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 787b393c9f6300c343600d39f53f1b9f09d3684f Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Aug 7 13:05:42 2015 +1000 powerpc/vdso: Emit GNU & SysV hashes Andy Lutomirski says: Some dynamic loaders may be slightly faster if a GNU hash is available. 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. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8fa884dc355ffd0caa964a284a530bf747df5c77 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Oct 1 08:44:24 2015 +0200 drm: Hack around CONFIG_AGP=m build failures Surprisingly kbuild can't cope with tristates in the <module>-$(CONFIG_FOO) pattern. This patch hacks up a solution. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxxx> Cc: linux-kbuild@xxxxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit b59f2e31b8abda3d63c53ea7672a219639ded61b Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 28 10:23:27 2015 -0500 ipvs: Don't protect ip_vs_addr_is_unicast with CONFIG_SYSCTL I arranged the code so that the compiler can remove the unecessary bits in ip_vs_leave when CONFIG_SYSCTL is unset, and removed an explicit CONFIG_SYSCTL. Unfortunately when rebasing my work on top of that of Alex Gartrell I missed the fact that the newly added function ip_vs_addr_is_unicast was surrounded by CONFIG_SYSCTL. So remove the now unnecessary CONFIG_SYSCTL guards around ip_vs_addr_is_unicast. It is causing build failures today when CONFIG_SYSCTL is not selected and any self respecting compiler will notice that sysctl_cache_bypass is always false without CONFIG_SYSCTL and not include the logic from the function ip_vs_addr_is_unicast in the compiled code. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b12ff41658171f53e81fbe1b53a4bde6e69af3be Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Sep 30 17:50:20 2015 +0200 ARM: shmobile: r8a7779: Remove legacy PM Domain remainings As of commit c99cd90d98a98aa1 ("ARM: shmobile: r8a7779: Remove legacy SoC code"), r8a7779_init_pm_domains() is no longer called. Remove all related legacy PM Domain code. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 20e73335dc35bf5e200173e6ed99f6a2b32f8857 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Sep 30 17:50:19 2015 +0200 ARM: shmobile: r8a7778: Make r8a7778_init_irq_dt() static As of commit 4baadb9e05c68962 ("ARM: shmobile: r8a7778: remove obsolete setup code"), r8a7778_init_irq_dt() is no longer used outside setup-r8a7778.c. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 54245073431df264fe4715bc7f1bf295a19c40b7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Sep 30 17:50:18 2015 +0200 ARM: shmobile: smp: Make shmobile_smp_apmu_cpu_shutdown() static shmobile_smp_apmu_cpu_shutdown() is used inside platsmp-apmu.c only. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cdb2bab78aff97101da767b9643fbd692af4623b Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed May 20 15:59:21 2015 +0800 clk: mediatek: Add USB clock support in MT8173 APMIXEDSYS Add REF2USB_TX clock support into MT8173 APMIXEDSYS. This clock is needed by USB 3.0. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 29859d9315834c7a36a436a6a383f2f810b91047 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed May 20 14:45:54 2015 +0800 clk: mediatek: Add subsystem clocks of MT8173 Most multimedia subsystem clocks will be accessed by multiple drivers, so it's a better way to manage these clocks in CCF. This patch adds clock support for MM, IMG, VDEC, VENC and VENC_LT subsystems. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 566184895659b59f9989fc13a77dd77e409f319d Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Wed May 20 16:45:08 2015 +0800 dt-bindings: ARM: Mediatek: Document devicetree bindings for clock controllers This adds the binding documentation for the mmsys, imgsys, vdecsys, vencsys and vencltsys controllers found on Mediatek SoCs. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit a4f7a15fed1de731d78b71d638c15f3448d7ac88 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Fri Jul 10 11:41:15 2015 +0800 clk: mediatek: Fix rate and dependency of MT8173 clocks Remove the dependency from clk_null, and give all root clocks a typical rate, include clkph_mck_o, usb_syspll_125m and hdmitx_dig_cts. dpi_ck was removed due to no clock reference to it. Replace parent clock of infra_cpum with cpum_ck, which is an external clock and can be defined in the device tree. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 4fa043806a2cdbf86503068276ab9bba91a726f6 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Fri Jul 10 11:39:15 2015 +0800 clk: mediatek: Add fixed clocks support for Mediatek SoC. This patch adds fixed clocks support by using CCF fixed-rate clock implementation. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit e02940fc9ed323ae512f3ded62abaf9d6a3d3265 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Tue Jul 28 15:37:34 2015 +0800 clk: mediatek: Add __initdata and __init for data and functions Add __init for clock registration functions, and add __initdata for mtk_gate_regs initial structures. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 07d130698b8e1ecf1a72d294b5f89a26fea1ec6f Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Tue Jul 28 14:53:29 2015 +0800 clk: mediatek: Remove unused code from MT8173. Remove unused header files from MT8173, and remove unused keywords from function declaration. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 829f4912d1577f6ee68274fcb678f9da0b760244 Author: James Liao <jamesjj.liao@xxxxxxxxxxxx> Date: Tue Jul 28 14:30:03 2015 +0800 clk: mediatek: Removed unused dpi_ck clock from MT8173 The dpi_ck clock can be removed because it not actually used in topckgen and subsystems. Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> commit 2d61fe0fc7f0a8c214587ba063fc8770486c0af1 Author: Joe.C <yingjoe.chen@xxxxxxxxxxxx> Date: Mon Jul 13 17:32:48 2015 +0800 clk: mediatek: add 13mhz clock for MT8173 Add 13mhz clock used by GPT timer in infracfg. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: James Liao <jamesjj.liao@xxxxxxxxxxxx> commit 9290a16cf19301224556bc7bcb913c0c2a45bb9a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Aug 21 11:48:37 2015 +0000 dmaengine: OF DMAEngine API based on CONFIG_DMA_OF instead of CONFIG_OF 5fa422c ("dmaengine: move drivers/of/dma.c -> drivers/dma/of-dma.c") moved OF base DMAEngine code to of-dma.c, then it based on CONFIG_DMA_OF. But, OF base DMAEngine API on of_dma.h still based on CONFIG_OF now. So, current kernel can't find OF base DMAEngine API if .config has CONFIG_OF, but not have CONFIG_DMA_OF. This patch tidyup it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ad577e4642e7168f47146895db5791462b096c0f Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 23:00:17 2015 +0200 dmaengine: xilinx: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c719d7fa81f18c9fd179f36c672d9648bd723504 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:59:31 2015 +0200 dmaengine: sun6i: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e0c26f22069e559b4c84dcc5060355e402f37744 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:58:53 2015 +0200 dmaengine: sirf: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9ace300c98fd0b7280968195caaa7e7bbebefad1 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:58:22 2015 +0200 dmaengine: mpc512x: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 981ec2b248688968cd42734773add4c168326356 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:57:51 2015 +0200 dmaengine: moxart-dma: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7522c2402aca2cb032ee1de7efde657491c3e4f5 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:57:17 2015 +0200 dmaengine: fsldma: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 62b5cb757f1d6c875293958535952dd38ff9e675 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Tue Sep 15 15:38:24 2015 +0200 dmaengine: at_xdmac: fix memory leak in interleaved mode In interleaved mode, when numf > 1, we have only one descriptor for the transfer but this descriptor has to be added to the descs_list. If not, when doing remove_xfer, the descriptor won't be put back in the free_descs_list. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4e5385784e69e448efca0998aa188404d5e8d313 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 15 15:29:27 2015 +0200 dmaengine: at_xdmac: handle numf > 1 Handle 'numf > 1' case for interleaved mode. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6169588f69f864c39f04e6d65cc620e58822aec5 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:34:02 2015 -0500 Documentation: power: bq24257: Document exported sysfs entries Document the settings exported by bq24257 charger driver through sysfs entries: - ovp_voltage - in_dpm_voltage - high_impedance_enable - sysoff_enable Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1a492ac2b87b05c8a175478e79d3c74511c74921 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Oct 1 07:11:48 2015 +0530 dmaengine: zxdma: fix memset call Fix the call to memset in this driver [linux-4.2-next-20150911/drivers/dma/zx296702_dma.c:444]: (warning) memset() called to fill 0 bytes of 'ds'. Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3722ed2380ad6e89eaf81fcf93f06d605e740435 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:18 2015 +0100 clocksource: cosmetic: Drop OF 'dependency' from symbols Seeing the 'of' characters in a symbol that is being called from ACPI seems to freak out people. So let's do a bit of pointless renaming so that these folks do feel at home. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ae281cbd2689200329afe2474b2f39f3f6eb54b9 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:17 2015 +0100 clocksource / arm_arch_timer: Convert to ACPI probing It is now absolutely trivial to convert the arch timer driver to use ACPI probing, just like its DT counterpart. Let's enjoy another crapectomy. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit aad83b15aa21f2d9e46b978b27bc63989e61202d Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:16 2015 +0100 clocksource: Add new CLKSRC_{PROBE,ACPI} config symbols The clocksource probing infrastructure currently depends on CONFIG_CLKSRC_OF, which depends on CONFIG_OF. In order to make this infrastructure selectable even if CONFIG_OF is not selected, introduce a new CONFIG_CLKSRC_PROBE (which allow the infrastructure to be compiled in), and CONFIG_CLKSRC_ACPI (which is the pendent of CONFIG_CLKSRC_OF for ACPI). Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c625f76a9910b9d51df5d6ca40a8da0684326996 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:15 2015 +0100 clocksource / ACPI: Add probing infrastructure for ACPI-based clocksources DT enjoys a rather nice probing infrastructure for clocksources, while ACPI is so far stuck into a very distant past. This patch introduces a declarative API, allowing clocksources to be self-contained and be called when parsing the GTDT table. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f26527b1428f379fbd7edf779854c3b41bc0b3e5 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:14 2015 +0100 irqchip / GIC: Convert the GIC driver to ACPI probing Now that we have a basic infrastructure to register irqchips and call them on discovery of a matching entry in MADT, convert the GIC driver to this new probing method. It ends up being a code deletion party, which is a rather good thing. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 46e589a391809627144e6bee93d71d73fe915db2 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:13 2015 +0100 irqchip / ACPI: Add probing infrastructure for ACPI-based irqchips DT enjoys a rather nice probing infrastructure for irqchips, while ACPI is so far stuck into a very distant past. This patch introduces a declarative API, allowing irqchips to be self-contained and be called when a particular entry is matched in the MADT table. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e647b532275bb357e87272e052fccf5fcdb36a17 Author: Marc Zyngier <Marc.Zyngier@xxxxxxx> Date: Mon Sep 28 15:49:12 2015 +0100 ACPI: Add early device probing infrastructure IRQ controllers and timers are the two types of device the kernel requires before being able to use the device driver model. ACPI so far lacks a proper probing infrastructure similar to the one we have with DT, where we're able to declare IRQ chips and clocksources inside the driver code, and let the core code pick it up and call us back on a match. This leads to all kind of really ugly hacks all over the arm64 code and even in the ACPI layer. In order to allow some basic probing based on the ACPI tables, introduce "struct acpi_probe_entry" which contains just enough data and callbacks to match a table, an optional subtable, and call a probe function. A driver can, at build time, register itself and expect being called if the right entry exists in the ACPI table. A acpi_probe_device_table() is provided, taking an identifier for a set of acpi_prove_entries, and iterating over the registered entries. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Tested-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 233782495f161341a82aa933b42b35c94077bd65 Merge: 9ffecb1 3f4232e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Oct 1 02:18:32 2015 +0200 Merge branch 'device-properties' into acpi-init commit c732e647ba4b870216658a33bba14e36bdb1a73f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 16:15:20 2015 -0300 [media] vivid: add support for SMPTE 2084 transfer function Support the new SMPTE 2084 transfer function in the vivid test driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b258480aa7c950d8ad4e0fd1504a9e252665c0d0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 16:15:19 2015 -0300 [media] vivid-tpg: add support for SMPTE 2084 transfer function Support the new SMPTE 2084 transfer function in the test pattern generator. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2bdd28017e0b4747915265dc294ee0165d52c12e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 16:15:18 2015 -0300 [media] videodev2.h: add SMPTE 2084 transfer function define CEA-861.3 adds support for the SMPTE 2084 Electro-Optical Transfer Function as can be used in HDR displays. Add a define for this in videodev2.h. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1d78053549224cd3e09d3478ebe9c14be604a6cc Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:32 2015 -0300 [media] vivid: add support for the DCI-P3 colorspace Support this new colorspace in vivid. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b592b52e2b91c1a8ff3177bda0c943180e0349ad Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:31 2015 -0300 [media] vivid-tpg: support the DCI-P3 colorspace Add support to the test pattern generator for the DCI-P3 colorspace. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7146a9cfa499ac3bfaea18555d67afb04cac40c3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:30 2015 -0300 [media] DocBook media: document the new DCI-P3 colorspace Document this colorspace. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 529a7960307012f66faec6426747cf61d320265c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:29 2015 -0300 [media] videodev2.h: add support for the DCI-P3 colorspace This colorspace is used for cinema projectors and is supported by the DisplayPort standard. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2e94c19c0750d5685c95db5561f1f34e5fcab0c7 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:28 2015 -0300 [media] vivid: use Bradford method when converting Rec. 709 to NTSC 1953 The V4L2_COLORSPACE_470_SYSTEM_M (aka NTSC 1953) colorspace has a different whitepoint (C) compared to Rec. 709 (D65). The Bradford method is the recommended method to compensate for that when converting a Rec. 709 color to an NTSC 1953 color. See http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html for more details on the Bradford method. This patch updates the Rec. 709 to NTSC 1953 matrix so that it includes the chromatic adaptation as calculated by the Bradford method, and it recalculates the tpg_csc_colors table accordingly. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ff1447267b83d648078c1002eb566e7f6c0f82dd Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Sep 13 13:41:27 2015 -0300 [media] vivid: use ARRAY_SIZE to calculate max control value The max value of various menu controls is hardcoded, and it is easy to forget to update it after adding a new menu item. So use ARRAY_SIZE instead to calculate this value. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 58ceb57ec1be928bec2faeca11fe0752f930669d Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Sep 30 22:51:52 2015 +0200 ASoC: pxa: pxa-pcm-lib: switch over to snd-soc-dmaengine-pcm This patch removes the old PXA DMA API usage and switches over to generic functions provided by snd-soc-dmaengine-pcm. More cleanups may be done on top of this, and some function stubs can now be removed completetly. However, the intention here was to keep the transition as small as possible. This was tested on the mioa701 pxa27x board. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> [trivial change from mmp-dma to pxa-dma] Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c0e869357454c2aab3d02d002ffc1f0a0ab2782 Merge: baafd37 ed14ee0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 30 23:21:11 2015 +0100 Merge tag 'asoc-fix-v4.3-rc2' into asoc-pxa ASoC: Fixes for v4.3 A disappointingly large set of fixes, though none of them very big and very widely spread over many different drivers. Nothing especially stands out, it's mostly all device specific and relatively minor. commit 6ece90f9a13e2592cbd6634f74bcb306169b5ab6 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Sep 29 21:10:05 2015 +0200 netfilter: fix Kconfig dependencies for nf_dup_ipv{4,6} net/built-in.o: In function `nf_dup_ipv4': (.text+0xed24d): undefined reference to `nf_conntrack_untracked' net/built-in.o: In function `nf_dup_ipv4': (.text+0xed267): undefined reference to `nf_conntrack_untracked' net/built-in.o: In function `nf_dup_ipv6': (.text+0x158aef): undefined reference to `nf_conntrack_untracked' net/built-in.o: In function `nf_dup_ipv6': (.text+0x158b09): undefined reference to `nf_conntrack_untracked' Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8a3e33cf92c7b7ae25c589eccd1a69ab11cc4353 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Wed Sep 30 21:10:25 2015 +0200 ata: ahci: find eSATA ports and flag them as removable If the AHCI ports' HPCP or ESP bits are set, the port should be considered external (e.g. eSATA) and is marked as removable. Userspace tools like udisks then treat it like an usb drive. With this patch applied, when I plug a drive into the esata port, KDE pops up a window asking what to do with the drives(s), just like it does for any random USB stick. Removability is indicated to the upper layers by way of the SCSI RMB bit, as I haven't found another way to signal userspace to treat a sata disk like any usb stick. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 7f8d1ade1b19f684ed3a7c4fb1dc5d347127b438 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 17:49:49 2015 -0300 perf tools: By default use the most precise "cycles" hw counter available If the user doesn't specify any event, try the most precise "cycles" available, i.e. start by "cycles:ppp" and go on removing "p" till it works. E.g. $ perf record usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data (11 samples) ] $ perf evlist cycles:pp $ perf evlist -v cycles:pp: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, precise_ip: 2, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 $ grep 'model name' /proc/cpuinfo | head -1 model name : Intel(R) Core(TM) i7-3667U CPU @ 2.00GHz $ When 'cycles' appears explicitely is specified this will not be tried, i.e. the user has full control of the level of precision to be used: $ perf record -e cycles usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.016 MB perf.data (9 samples) ] $ perf evlist cycles $ perf evlist -v cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1 $ Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Chandler Carruth <chandlerc@xxxxxxxxx> 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: https://www.youtube.com/watch?v=nXaxk27zwlk Link: http://lkml.kernel.org/n/tip-b1ywebmt22pi78vjxau01wth@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dfc431cbdc3a3c0556f1cd462d724d107cc15a9e Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 17:13:26 2015 -0300 perf list: Remove blank lines, headers when piping output So that one can, for instance, use it with wc -l: # perf list *:*write* | wc -l 60 Or to look for the "bio" tracepoints, without 'perf list' headers: # perf list *:*bio* | head block:block_bio_backmerge [Tracepoint event] block:block_bio_bounce [Tracepoint event] block:block_bio_complete [Tracepoint event] block:block_bio_frontmerge [Tracepoint event] block:block_bio_queue [Tracepoint event] block:block_bio_remap [Tracepoint event] # 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ts7sc0x8u4io4cifzkup4j44@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6cca13bdf5a5d561a855259689874e0c7266eec3 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Oct 1 01:41:37 2015 +0900 perf probe: Improve error message when %return is on inlined function perf probe shows more precisely message when it finds given %return target function is inlined. Without this fix: ---- # ./perf probe -V getname_flags%return Return probe must be on the head of a real function. Debuginfo analysis failed. Error: Failed to show vars. ---- With this fix: ---- # ./perf probe -V getname_flags%return Failed to find "getname_flags%return", because getname_flags is an inlined function and has no return point. Debuginfo analysis failed. Error: Failed to show vars. ---- Suggested-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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150930164137.3733.55055.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 20f49859c785183d5296670a10dace454131274b Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Oct 1 01:41:35 2015 +0900 perf probe: Fix a segfault bug in debuginfo_cache perf probe --list will get a segfault if the first kprobe event is on a module and the second or latter one is on the kernel. e.g. ---- # ./perf probe -q -m pcspkr pcspkr_event # ./perf probe -q vfs_read # ./perf probe -l Segmentation fault (core dumped) ---- This is because the debuginfo_cache fails to handle NULL module name, which causes segfault on strcmp. (Note that strcmp("something", NULL) always causes segfault) To fix this debuginfo_cache__open always translates the NULL module name to "kernel" (this is correct, because NULL module name means opening the debuginfo for the kernel) ---- # ./perf probe -l probe:pcspkr_event (on pcspkr_event@drivers/input/misc/pcspkr.c in pcspkr) probe:vfs_read (on vfs_read@ksrc/linux-3/fs/read_write.c) ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150930164135.3733.23993.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9b239a12bc872f212cefbaee4d028c838abe6ff3 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Oct 1 01:41:33 2015 +0900 perf probe: Show correct source lines of probes on kmodules Perf probe always failed to find appropriate line numbers because of failing to find .text start address offset from debuginfo. e.g. ---- # ./perf probe -m pcspkr pcspkr_event:5 Added new events: probe:pcspkr_event (on pcspkr_event:5 in pcspkr) probe:pcspkr_event_1 (on pcspkr_event:5 in pcspkr) You can now use it in all perf tools, such as: perf record -e probe:pcspkr_event_1 -aR sleep 1 # ./perf probe -l Failed to find debug information for address ffffffffa031f006 Failed to find debug information for address ffffffffa031f016 probe:pcspkr_event (on pcspkr_event+6 in pcspkr) probe:pcspkr_event_1 (on pcspkr_event+22 in pcspkr) ---- This fixes the above issue as below. 1. Get the relative address of the symbol in .text by using map->start. 2. Adjust the address by adding the offset of .text section in the kernel module binary. With this fix, perf probe -l shows lines correctly. ---- # ./perf probe -l probe:pcspkr_event (on pcspkr_event:5@drivers/input/misc/pcspkr.c in pcspkr) probe:pcspkr_event_1 (on pcspkr_event:5@drivers/input/misc/pcspkr.c in pcspkr) ---- 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: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150930164132.3733.24643.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9135949ddd9d0d8d73a2f441912508d25a4a82a2 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Oct 1 01:41:28 2015 +0900 perf probe: Begin and end libdwfl report session correctly Fix a trival bug about libdwfl usage of the report session, it should explicitly begin and end a report session around dwfl_report_offline(). Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150930164128.3733.59876.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 663b1151f2d674e2004c015cbe9995749033c49a Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Oct 1 01:41:30 2015 +0900 perf probe: Fix to remove dot suffix from second or latter events Fix to remove dot suffix (e.g. .const, .isra) from the second or latter events which has suffix numbers. Since the previous commit 35a23ff928b0 ("perf probe: Cut off the gcc optimization postfixes from function name") didn't care about the suffix numbered events, therefore we'll have an error when we add additional events on the same dot suffix functions. e.g. ---- # ./perf probe -f -a get_sigframe.isra.2.constprop.3 \ -a get_sigframe.isra.2.constprop.3 Failed to write event: Invalid argument Error: Failed to add events. ---- This fixes above issue as below: ---- # ./perf probe -f -a get_sigframe.isra.2.constprop.3 \ -a get_sigframe.isra.2.constprop.3 Added new events: probe:get_sigframe (on get_sigframe.isra.2.constprop.3) probe:get_sigframe_1 (on get_sigframe.isra.2.constprop.3) You can now use it in all perf tools, such as: perf record -e probe:get_sigframe_1 -aR sleep 1 ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150930164130.3733.26573.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f845086a8ed49e657a750f87f85966d75c8a9645 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 13:02:08 2015 -0300 tools lib symbol: Introduce kallsyms2elf_type Map 't', 'T' (text, local, global), 'w' and 'W' (weak text, local, global) as STT_FUNC, and the rest as STT_OBJECT Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-sbwcixulpc5v1xuxn3xvm0nn@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8e947f1e84fd1588f66e5f2ea69c80647de72cd4 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 12:42:07 2015 -0300 tools lib symbol: Rename kallsyms2elf_type to kallsyms2elf_binding It is about binding, not type, we have just a letter in kallsyms that should map both for the ELF type (STT_FUNC, etc) and to the ELF symbol binding (STB_WEAK, STB_GLOBAL, etc), so rename it now before introducing kallsyms2_elf_type() Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-uu5vj343ms1q2wm55690on6v@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5e813c68649366aaa3f785772b00ea6ccad7b8d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 11:54:04 2015 -0300 perf machine: Add method for common kernel_map(FUNCTION) operation And it is also a step in the direction of killing the separation of data and text maps in map_groups. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-rrds86kb3wx5wk8v38v56gw8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 77e65977495cd6f6fcfacd8c16bdd9c8c18a1d72 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 30 11:08:58 2015 -0300 perf machine: Use machine__kernel_map() thoroughly In places where we were using its open coded equivalent. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-khkdugcdoqy3tkszm3jdxgbe@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit eb56db54326f910348defbee2803ec0675a664b2 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:53:49 2015 -0400 perf tools: Fix build break on powerpc due to sample_reg_masks The perf_regs.c file does not get built on Powerpc as CONFIG_PERF_REGS is false. So the weak definition for 'sample_regs_masks' doesn't get picked up. Adding perf_regs.o to util/Build unconditionally, exposes a redefinition error for 'perf_reg_value()' function (due to the static inline version in util/perf_regs.h). So use #ifdef HAVE_PERF_REGS_SUPPORT' around that function. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Cc: Naveen N. Rao <naveen.n.rao@xxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150930182836.GA27858@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 40862a7b793945c7080d1566ca3dc6249f3c6354 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Sep 29 11:52:37 2015 +0300 perf report: Amend documentation about max_stack and synthesized callchains The --max_stack option was added as an optimization to reduce processing time, so people specifying --max-stack might get a increased processing time if combined with synthesized callchains, but otherwise no real harm. A warning about setting both --max_stack and the synthesized callchains max depth seems like overkill. Amend the documentation. 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/560A5155.4060105@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b7f9ff5654d53fa47e0b5ff20f834f3e7a611846 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Sep 29 17:34:46 2015 -0300 perf maps: Introduce maps__find_symbol_by_name() Out of map_groups__find_symbol_by_name(), so that we can turn this later one first into a call to maps__find_symbol_by_name(MAP__FUNCTION) + MAP__VARIABLE, and then to just one call, we'll merge MAP__FUNCTION with MAP__VARIABLE maps, to simplify the code. 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-pvkar0jacqn92g148u9sqttt@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 272ed29a91aea4397c05157dea7210dd7e81557a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Sep 29 17:05:31 2015 +0200 perf tools: Fix shadowed declaration in parse-events.c The error variable breaks build on CentOS 6.7, due to a collision with a global error symbol: CC util/parse-events.o cc1: warnings being treated as errors util/parse-events.c:419: error: declaration of â??errorâ?? shadows a global declaration util/util.h:135: error: shadowed declaration is here util/parse-events.c: In function â??add_tracepoint_multi_eventâ??: ... Using different argument names instead to fix it. Reported-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: He Kuang <hekuang@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: linux-tip-commits@xxxxxxxxxxxxxxx Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150929150531.GI27383@xxxxxxxxxxxxxxxx [ Fix one more case, at line 770 ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 45633a169571e81835ec53fe0c089dd20f3195f1 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Sep 29 16:53:12 2015 +0200 tools: Fix shadowed declaration in err.h The error variable breaks build on CentOS 6.7, due to collision with global error symbol: CC util/evlist.o cc1: warnings being treated as errors In file included from util/evlist.c:28: tools/include/linux/err.h: In function â??ERR_PTRâ??: tools/include/linux/err.h:34: error: declaration of â??errorâ?? shadows a global declaration util/util.h:135: error: shadowed declaration is here Using 'error_' name instead to fix it. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-i9mdgdbrgauy3fe76s9rd125@xxxxxxxxxxxxxx Reported-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx> [ Use 'error_' instead of 'err' to, visually, not diverge too much from include/linux/err.h ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 99a3b15572499e31bebc70d3d50bc13c0c49cbac Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon May 18 16:24:30 2015 -0700 sh: mach-rsk: remove unnecessary MTD partition probe specification The cmdlinepart parser is already supported in the default probe. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6031d8bbf29e7bdb22d69dc4dd7b2ad7a402e57a Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Mon Jul 20 18:59:21 2015 +0200 ARM: dts: lpc4350-hitex-eval: add joystick, buttons and leds Add the joystick, buttons and LEDs connected to the I2C I/O expander. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 67b17a116fa4662b91f982f51c45ce3d8519d2af Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 20 14:50:56 2015 +0200 ARM: dts: lpc4350-hitex-eval: add i2c0 and devices Add the I2C0 bus and the some of the I2C devices on the Hitex LPC4350 eval board. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 474ae43004ef3646aa424f513d7d84017f844151 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 30 01:48:17 2015 +0200 ARM: dts: lpc4350-hitex-eval: add spifi and flash device The Hitex LPC4350 eval board has a Spansion S25SL064P SPI-NOR Flash connected to the SPIFI perherial. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 7eef5587688c5e16204740b8ecf48a1c73632e23 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:59:28 2015 +0200 ARM: dts: lpc4357-ea4357: add i2c0 and devices Add I2C0 and some of the I2C devices on the EA4357 dev kit. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 09d039971b993225e1677d3f5935adeec5e75fd2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat May 30 19:31:25 2015 +0200 ARM: dts: lpc4357-ea4357: add ssp0 The SSP0 can be found on the EA4357 Dev Kit on J15 pin 3-6. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit f359348b1beaff0cd1f790d74c3c156f0bef98e6 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jun 20 15:25:13 2015 +0200 ARM: dts: lpc4357-ea4357: add spifi and flash device The EA4357 dev kit has a Spansion S25FL016K SPI-NOR Flash connected to the SPIFI perherial. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 2300830fe71c7652e6cefdfadaf479e81c8bc293 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sat Jul 11 11:34:21 2015 +0200 ARM: dts: lpc18xx: add resets entry to device nodes Most of the peripherals on LPC18xx/43xx devices have their reset lines hooked up to internal reset controller (RGU). Add reset entries to the device nodes so a driver can use the reset line. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit b8da65d1088e71466eb80181d307f2fb2b36eb58 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 18:15:37 2015 +0200 ARM: dts: lpc18xx: add sct pwm node NXP LPC SoCs family, which includes LPC18xx/LPC43xx, provides a State Configurable Timer (SCT) which can be configured as a Pulse Width Modulator. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 9c8a5cdcee682013c4e69b5354e4f4e3acf30487 Author: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 18:11:41 2015 +0200 ARM: dts: lpc18xx: add watchdog node Add node for the watchdog timer found on LPC18xx/LPC43xx. Signed-off-by: Ariel D'Alessandro <ariel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 06713a943253cfa47b6b76c39ead3c666a7b9119 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 05:20:45 2015 +0200 ARM: dts: lpc18xx: add i2c nodes Add NXP LPC1778 I2C controller nodes to the dtsi for all lpc18xx/43xx devices. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 4e9c5aa8dbe33e8816c686aa154015dcb44afbbf Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Sep 30 22:35:37 2015 +0200 ARM: dts: lpc18xx: add dma to uart0/1/2/3 Add dmas entries to the four UART peripherals on LPC18xx/43xx devices so that DMA can be used to transfer data. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit c5288091b07914d57dbc03f516b23eb337c34869 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed Sep 30 22:29:29 2015 +0200 ARM: dts: lpc18xx: add dma to ssp0/1 Add dmas entries to the two SSP peripherals on LPC18xx/43xx devices so that DMA can be used to transfer data. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 494da07c0f20245b3af54e33e1d2cd91d386c412 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed May 20 17:05:06 2015 -0700 mtd: brcmnand: remove unnecessary fields from brcmnand_soc These really aren't needed, especially now that we embed the soc struct in our private struct, so we can stash things there if needed. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a86c947b25a57b2ff85132138d36ad75549b4cba Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed May 20 17:05:05 2015 -0700 mtd: brcmnand: refactor iProc SoC layering Removes an unnecessary allocation and saves a little bit of pointer chasing. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7af67226fb25fd68c9bf49adf7dd189dc2d58f87 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed May 20 17:05:04 2015 -0700 mtd: brcmnand: refactor bcm63138 SoC layering Removes an unnecessary allocation and saves a little bit of pointer chasing. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit dae0f305d61b07933a129dfe975342f3177277d5 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Sep 28 14:23:57 2015 +0200 x86/signal: Deinline get_sigframe, save 240 bytes This function compiles to 277 bytes of machine code and has 4 callsites. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443443037-22077-4-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c368ef2866adbfc0e90fdecc09e3b3fe2cddcd14 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Sep 28 14:23:56 2015 +0200 x86: Deinline early_console_register, save 403 bytes This function compiles to 60 bytes of machine code. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443443037-22077-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e6e5f84092b1f3a8733c20e26838af4e21a4854f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Mon Sep 28 14:23:55 2015 +0200 x86/e820: Deinline e820_type_to_string, save 126 bytes This function compiles to 102 bytes of machine code. It has two callsites. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443443037-22077-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b7a2a1c0b67283442a06fcc679cba0683914f794 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Sun Sep 27 18:47:35 2015 +0200 spi: ath79: simplify iomem resource mapping Simplify the code by switching from devm_ioremap to devm_ioremap_resource. Checking the result of platform_get_resource is not needed as devm_ioremap_resource checks the provided resource argument for NULL. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca07e9f3cb929548feee8b16715983a4ed009eb6 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:30:27 2015 +0200 regmap: debugfs: simplify regmap_reg_ranges_read_file() slightly By printing the newline character to entry, we can avoid accounting for it manually in several places. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 20991cdb26ffc51030223320a6dd266f4fc28fbd Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:30:26 2015 +0200 regmap: debugfs: use memcpy instead of snprintf Since we know the length of entry and that there's room enough in the output buffer, using memcpy instead of snprintf is simpler and cheaper. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e34dc490713f8d9dfbbb5bb56d966d90a9344131 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 20:30:25 2015 +0200 regmap: debugfs: use snprintf return value in regmap_reg_ranges_read_file() Calling strlen() no less than three times on entry is silly. Since we're formatting into a buffer with plenty of room, there's no chance of truncation, so snprintf() has actually returned the value we want, meaning we don't even have to call strlen once. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 937804f3c706970f83ca5f58483e0ca14ef19d84 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Wed Sep 30 21:30:51 2015 +0200 HID: corsair: boolify struct k90_led.removed 'removed' field of struct k90_led is in its nature bool, let's use it that way. Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6f78193ee9ea5575180d4462f0f7273a22dd5057 Author: Clément Vuchener <clement.vuchener@xxxxxxxxx> Date: Wed Sep 30 15:14:20 2015 +0200 HID: corsair: Add Corsair Vengeance K90 driver This patch implements a HID driver for the Corsair Vengeance K90 keyboard. It fixes the behaviour of the keys using incorrect HID usage codes and exposes the macro playback mode and current profile to the user space through sysfs attributes. It also adds two LED class devices controlling the "record" LED and the backlight. Signed-off-by: Clément Vuchener <clement.vuchener@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 37aea98b84c0ce2ac638510fefeed9f8f920bd34 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 30 14:27:31 2015 -0400 tracing: Add trace options for tracer options to instances Add the tracer options to instances options directory as well. Only add the options for tracers that are allowed to be enabled by an instance. But note, that tracer options are global. That is, tracer options enabled in an instance, also take affect at the top level and in other instances. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 16270145ce6b90750bbe4f9365865f65037b2027 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 30 12:30:06 2015 -0400 tracing: Add trace options for core options to instances Allow instances to have their own options, at least for the core options (non tracer specific ones). There are a few global options that should not be added to instances, like enabling of trace_printk, and the sched comm recording, which do not have a specific trace instance associated to them. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2d34f48955158cfdf18704256c84b04fe3a16c7b Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 30 11:45:22 2015 -0400 tracing: Make ftrace_trace_stack() depend on general trace_array flag In preparation for the multi buffer instances to have their own trace_flags, the check in ftrace_trace_stack() needs to test the trace_array descriptor flag that is for the current event, not the global_trace descriptor. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 9a38a8856f41f90cc7e57798c544e3fe77033196 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 30 11:11:15 2015 -0400 tracing: Add a method to pass in trace_array descriptor to option files In preparation of having the multi buffer instances having their own trace option flags, the trace option files needs a way to not only pass in the flag they represent, but also the trace_array descriptor. A new field is added to the trace_array descriptor called trace_flags_index, which is a 32 byte character array representing a bit. This array is simply filled with the index of the array, where index_array[n] = n; Then the address of this array is passed to the file callbacks instead of the index of the flag index. Then to retrieve both the flag index and the trace_array descriptor: data is the passed in argument. index = *(unsigned char *)data; data -= index; /* Now data points to the address of the array in the trace_array */ tr = container_of(data, struct trace_array, trace_flags_index); Suggested-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 983f938ae69585213bbb779d841b90e75f93f545 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 30 09:42:05 2015 -0400 tracing: Move trace_flags from global to a trace_array field In preparation to make trace options per instance, the global trace_flags needs to be moved from being a global variable to a field within the trace instance trace_array structure. There's still more work to do, as there's some functions that use trace_flags without passing in a way to get to the current_trace array. For those, the global_trace is used directly (from trace.c). This includes setting and clearing the trace_flags. This means that when a new instance is created, it just gets the trace_flags of the global_trace and will not be able to modify them. Depending on the functions that have access to the trace_array, the flags of an instance may not affect parts of its trace, where the global_trace is used. These will be fixed in future changes. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 55577204154c7a95c6bce4cb185366d638b238b5 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 19:06:50 2015 -0400 tracing: Move sleep-time and graph-time options out of the core trace_flags The sleep-time and graph-time options are only for the function graph tracer and are not used by anything else. As tracer options are now visible when the tracer is not activated, its better to move the function graph specific tracer options into the function graph tracer. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 09907ca630047bbeaa96de0102df7a6cc3a966cd Merge: d786ad3 e02ae38 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Wed Sep 30 21:20:39 2015 +0200 Merge branch 'x86/for-kvm' into x86/apic Pull in the apic change which is provided for kvm folks to pull into their tree. commit e02ae3871355194a61b03a07d96fd71e81d7eff9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 28 12:26:31 2015 +0200 x86/x2apic: Make stub functions available even if !CONFIG_X86_LOCAL_APIC Some CONFIG_X86_X2APIC functions, especially x2apic_enabled(), are not declared if !CONFIG_X86_LOCAL_APIC. However, the same stubs that work for !CONFIG_X86_X2APIC are okay even if there is no local APIC support at all. Avoid the introduction of #ifdefs by moving the x2apic declarations completely outside the CONFIG_X86_LOCAL_APIC block. (Unfortunately, diff generation messes up the actual change that this patch makes). There is no semantic change because CONFIG_X86_X2APIC depends on CONFIG_X86_LOCAL_APIC. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Feng Wu <feng.wu@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443435991-35750-1-git-send-email-pbonzini@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d786ad32c305ca0f6be1924558866fe9f901e291 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Tue Sep 29 22:37:02 2015 +0200 x86/apic: Deinline various functions __x2apic_disable: 178 bytes, 3 calls __x2apic_enable: 117 bytes, 3 calls __smp_spurious_interrupt: 110 bytes, 2 calls __smp_error_interrupt: 208 bytes, 2 calls Reduces code size by about 850 bytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443559022-23793-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 26c21dd9885a2d8a4f4d539917c4877ffd399286 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Wed Sep 30 12:03:07 2015 +0200 irqchip/renesas-intc-irqpin: r8a7778 IRLM setup support Works the same as on r8a7779. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Link: http://lkml.kernel.org/r/1443607387-19147-1-git-send-email-geert+Brenesas@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit debb97248741597fa9f38f563f2b9a17250ee4c5 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 21:43:18 2015 +0200 ASoC: sun4i-codec: Remove redundant SND_PCM_RATE_KNOT The SND_PCM_RATE_KNOT covers all the rate settings, even though some that we don't support, while we also list all the rate we support. Simply remove it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 98a4b665bc91480cc4c054093a59249e153ac17e Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 21:43:17 2015 +0200 ASoC: sun4i-codec: pass through clk_set_rate error The current code, disregarding the clk_set_rate error code, was always returning -EINVAL. Fix that and return the code in order to have more clue about what's going on. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b6a02c0847f80968869bea57824f00fa395057a0 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 09:46:36 2015 +0200 mtd: nand: sunxi: rework macros Suffix mask macros with _MSK and add new helper macros to avoid manually shifting values. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c25c79b468a61ad8a54f764553056e2e2a427ea8 Author: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Date: Tue Sep 29 16:43:56 2015 +0100 ASoC: Add SOC_DOUBLE_R_EXT _EXT version of SOC_DOUBLE_R required to allow for custom handlers. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0c00a36d93ebeb7b62923d91075c26cf2f63e1bc Merge: 039353c e5a5d92 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Sep 30 11:12:14 2015 -0700 Merge MTD 4.3-rc updates into -next commit 039353c8f92ec22c8eb9ec3853b8289b8237bfc1 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Sep 30 09:54:26 2015 -0700 mtd: nand: vf610_nfc: include missing pincrl/consumer.h This must have been implicitly included on the builds I tested. Reported by numerous test bots: drivers/mtd/nand/vf610_nfc.c: In function 'vf610_nfc_resume': drivers/mtd/nand/vf610_nfc.c:660:2: error: implicit declaration of function 'pinctrl_pm_select_default_state' [-Werror=implicit-function-declaration] pinctrl_pm_select_default_state(dev); ^ Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> commit c05dc2cce7422a5c05db470572b22fcd855f8cd7 Author: Peter Rosin <peda@xxxxxxxxxx> Date: Wed Sep 23 16:26:23 2015 +0200 iio: mcp4531: Driver for Microchip digital potentiometers Add support for Microchip digital potentiometers and rheostats MCP4531, MCP4532, MCP4551, MCP4552 MCP4631, MCP4632, MCP4651, MCP4652 DEVICE Wipers Steps Resistor Opts (kOhm) i2c address MCP4531 1 129 5, 10, 50, 100 010111x MCP4532 1 129 5, 10, 50, 100 01011xx MCP4551 1 257 5, 10, 50, 100 010111x MCP4552 1 257 5, 10, 50, 100 01011xx MCP4631 2 129 5, 10, 50, 100 0101xxx MCP4632 2 129 5, 10, 50, 100 01011xx MCP4651 2 257 5, 10, 50, 100 0101xxx MCP4652 2 257 5, 10, 50, 100 01011xx Datasheet: http://www.microchip.com/downloads/en/DeviceDoc/22096b.pdf Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b15aef8d5b8e9edd325c86ba5c78deca66c5ccb6 Author: Peter Rosin <peda@xxxxxxxxxx> Date: Wed Sep 23 16:26:22 2015 +0200 iio: resistance: Document that resistance can be output Signed-off-by: Peter Rosin <peda@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 80cf2b5ca4e4c43222d7ac9ba606d21f3d3f4a2c Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Tue Sep 22 23:22:03 2015 -0700 iio: lidar: add missing MODULE_DEVICE_TABLE for dt The device tree compatible strings weren't properly registered for the pulsedlight-lidar-lite-v2 driver. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bf23cee62d5953927758ff6287d300dc945afc84 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Tue Sep 22 21:25:09 2015 -0700 iio: chemical: vz89x hardware i2c workaround Chipset sometime updates in the middle of a reading causing it to reset the data pointer, and causing invalid reading of previous data. We can check for this invalid state by reading MSB of the resistance reading that is always zero, and by also confirming the VOC_short isn't zero. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 83234554ef3a9549d83d08c9aafbe041c75d3a89 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Sep 25 11:45:10 2015 +0200 iio: dac: ad5504: leave sysfs naming to the core This shouldn't actually change anything since the core calls the events sysfs folder "events" anyways. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d2654817ea6502660d805cd999efea625c10823f Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Sep 25 11:52:11 2015 +0200 iio: adc: max1363: leave sysfs naming to the core This shouldn't actually change anything since the core calls the events sysfs folder "events" anyways. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 443f33e9581c3c98ef5e7ec2236b655a9afe1c1d Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Fri Sep 25 11:54:01 2015 +0200 iio: adc: ad799x: leave sysfs naming to the core This shouldn't change anything since the core calls the events folder "events" anyways. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e38f898320b4a91d382036d1a34e8ae64cade1f6 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 25 22:53:02 2015 +0530 Staging: iio: cdc: Remove unnecessary dev_info Remove dev_info as the information can be obtained by other means Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 46d4503bc8c95010e83b03a48fa59344bf78daa3 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 25 22:53:01 2015 +0530 Staging: iio: cdc: Prefer using the BIT macro Replace bit shifting on 1 with the BIT(x) macro Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e5bae86797141e4a95e42d825f737cb36d7b8c37 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 30 12:18:03 2015 +0200 mtd: mtdpart: fix add_mtd_partitions error path If we fail to allocate a partition structure in the middle of the partition creation process, the already allocated partitions are never removed, which means they are still present in the partition list and their resources are never freed. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9b9acde7e887e057568cd077d9c3377d2cb9aa5b Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Tue Feb 11 19:34:25 2014 -0800 RDS: Use per-bucket rw lock for bind hash-table One global lock protecting hash-tables with 1024 buckets isn't efficient and it shows up in a massive systems with truck loads of RDS sockets serving multiple databases. The perf data clearly highlights the contention on the rw lock in these massive workloads. When the contention gets worse, the code gets into a state where it decides to back off on the lock. So while it has disabled interrupts, it sits and backs off on this lock get. This causes the system to become sluggish and eventually all sorts of bad things happen. The simple fix is to move the lock into the hash bucket and use per-bucket lock to improve the scalability. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 28126959882d3ec4745f2ec800f3a1d74368b2fe Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Fri Feb 3 11:08:50 2012 -0500 RDS: fix rds_sock reference bug while doing bind One need to take rds socket reference while using it and release it once done with it. rds_add_bind() code path does not do that so lets fix it. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 8b0a6b461e2ccc95363e0547aa4f43ba2e02b096 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Fri Feb 3 11:09:23 2012 -0500 RDS: make socket bind/release locking scheme simple and more efficient RDS bind and release locking scheme is very inefficient. It uses RCU for maintaining the bind hash-table which is great but it also needs to hold spinlock for [add/remove]_bound(). So overall usecase, the hash-table concurrent speedup doesn't pay off. In fact blocking nature of synchronize_rcu() makes the RDS socket shutdown too slow which hurts RDS performance since connection shutdown and re-connect happens quite often to maintain the RC part of the protocol. So we make the locking scheme simpler and more efficient by replacing spin_locks with reader/writer locks and getting rid off rcu for bind hash-table. In subsequent patch, we also covert the global lock with per-bucket lock to reduce the global lock contention. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 59fe4606748f7016e9e02bbd26da185f8620661a Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> Date: Fri Feb 3 11:09:23 2012 -0500 RDS: use kfree_rcu in rds_ib_remove_ipaddr synchronize_rcu() slowing down un-necessarily the socket shutdown path. It is used just kfree() the ip addresses in rds_ib_remove_ipaddr() which is perfect usecase for kfree_rcu(); So lets use that to gain some speedup. Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxxx> commit 76305b1a68e196c4f76d15ec1897097bb7a7c641 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:18 2015 -0700 drm/i915: Calculate watermark configuration during atomic check (v2) v2: Don't forget to actually check the cstate->active value when tallying up the number of active CRTC's. (Ander) 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 a4611e444694869a9ccec69e4e640aee9b7dc58e Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:17 2015 -0700 drm/i915: Don't set plane visible during HW readout if CRTC is off We already ensure that pstate->visible = false when crtc->active = false during runtime programming; make sure we follow the same logic when reading out initial hardware state. 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 a28170f3389f4e42db95e595b0d86384a79de696 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:16 2015 -0700 drm/i915: Calculate ILK-style watermarks during atomic check (v3) Calculate pipe watermarks during atomic calculation phase, based on the contents of the atomic transaction's state structure. We still program the watermarks at the same time we did before, but the computation now happens much earlier. While this patch isn't too exciting by itself, it paves the way for future patches. The eventual goal (which will be realized in future patches in this series) is to calculate multiple sets up watermark values up front, and then program them at different times (pre- vs post-vblank) on the platforms that need a two-step watermark update. While we're at it, s/intel_compute_pipe_wm/ilk_compute_pipe_wm/ since this function only applies to ILK-style watermarks and we have a completely different function for SKL-style watermarks. Note that the original code had a memcmp() in ilk_update_wm() to avoid calling ilk_program_watermarks() if the watermarks hadn't changed. This memcmp vanishes here, which means we may do some unnecessary result generation and merging in cases where watermarks didn't change, but the lower-level function ilk_write_wm_values already makes sure that we don't actually try to program the watermark registers again. v2: Squash a few commits from the original series together; no longer leave pre-calculated wm's in a separate temporary structure since it's easier to follow the logic if we just cut over to using the pre-calculated values directly. v3: - Pass intel_crtc instead of drm_crtc to .compute_pipe_wm() entrypoint and use intel_atomic_get_crtc_state() to avoid need for extra casting. (Ander) - Drop unused intel_check_crtc() function prototype. (Ander) 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 de4a9f83395e8a709ffe463dff6d1c51945da352 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:15 2015 -0700 drm/i915: Calculate pipe watermarks into CRTC state (v3) A future patch will calculate these during the atomic 'check' phase rather than at WM programming time, so let's store the watermark values we're planning to use in the CRTC state; the values actually active on the hardware remains in intel_crtc. While we're at it, do some minor restructuring to keep ILK and SKL values in a union. v2: Don't move cxsr_allowed to state (Maarten) v3: Only calculate watermarks in state. Still keep active watermarks in intel_crtc itself. (Ville) 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 de165e0bccb4a8fe71debd5adb2f599609bcb8e0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 24 15:53:14 2015 -0700 drm/i915: Refactor ilk_update_wm (v3) Split ilk_update_wm() into two parts; one doing the programming and the other the calculations. v2: Fix typo in commit message v3 (by Matt): Heavily rebased for current codebase. Signed-off-by: Ville Syrjälä <ville.syrjala@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 47c99438b52d12df50e182583634a4cfede3c920 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:13 2015 -0700 drm/i915: Drop intel_update_sprite_watermarks The only platform that still has an update_sprite_wm entrypoint is SKL; on SKL, intel_update_sprite_watermarks just updates intel_plane->wm and then performs a regular watermark update. However intel_plane->wm is only used to update a couple fields in intel_wm_config, and those fields are never used by the SKL code, so on SKL an update_sprite_wm is effectively identical to an update_wm call. Since we're already ensuring that the regular intel_update_wm is called any time we'd try to call intel_update_sprite_watermarks, the whole call is redundant and can be dropped. 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 7809e5ae35b9d8d0710f0874b2e3f10be144e38b Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:12 2015 -0700 drm/i915/ivb: Move WaCxSRDisabledForSpriteScaling w/a to atomic check Determine whether we need to apply this workaround at atomic check time and just set a flag that will be used by the main watermark update routine. Moving this workaround into the atomic framework reduces ilk_update_sprite_wm() to just a standard watermark update, so drop it completely and just ensure that ilk_update_wm() is called whenever a sprite plane is updated in a way that would affect watermarks. 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 3a05f5e2e78eab7ffe816abb59b6769e331a1957 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:11 2015 -0700 drm/i915/skl: Eliminate usage of pipe_wm_parameters from SKL-style WM (v3) Just pull the info out of the state structures rather than staging it in an additional set of structures. To make this more straightforward, we change the signature of several internal WM functions to take the crtc state as a parameter. v2: - Don't forget to skip cursor planes on a loop in the DDB allocation function to match original behavior. (Ander) - Change a use of intel_crtc->active to cstate->active. They should be identical, but it's better to be consistent. (Ander) - Rework more function signatures to pass states rather than crtc for consistency. (Ander) v3: - Add missing "+ 1" to skl_wm_plane_id()'s 'overlay' case. (Maarten) - Packed formats should pass '0' to drm_format_plane_cpp(), not 1. (Maarten) - Drop unwanted WARN_ON() for disabled planes when calculating data rate for SKL. (Maarten) 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 4969d33ed91d51262691e0479faad16f57688146 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:10 2015 -0700 drm/i915/skl: Simplify wm structures slightly (v2) A bunch of SKL watermark-related structures have the cursor plane as a separate entry from the rest of the planes. Since a previous patch updated I915_MAX_PLANES such that those plane arrays now have a slot for the cursor, update the code to use the new slot in the existing plane arrays and kill off the cursor-specific structures. There shouldn't be any functional change here; this is just shuffling around how the data is stored in some of the data structures. The whole patch is generated with Coccinelle via the following semantic patch: @@ struct skl_pipe_wm_parameters WMP; @@ - WMP.cursor + WMP.plane[PLANE_CURSOR] @@ struct skl_pipe_wm_parameters *WMP; @@ - WMP->cursor + WMP->plane[PLANE_CURSOR] @@ @@ struct skl_pipe_wm_parameters { ... - struct intel_plane_wm_parameters cursor; ... }; @@ struct skl_ddb_allocation DDB; expression E; @@ - DDB.cursor[E] + DDB.plane[E][PLANE_CURSOR] @@ struct skl_ddb_allocation *DDB; expression E; @@ - DDB->cursor[E] + DDB->plane[E][PLANE_CURSOR] @@ @@ struct skl_ddb_allocation { ... - struct skl_ddb_entry cursor[I915_MAX_PIPES]; ... }; @@ struct skl_wm_values WMV; expression E1, E2; @@ ( - WMV.cursor[E1][E2] + WMV.plane[E1][PLANE_CURSOR][E2] | - WMV.cursor_trans[E1] + WMV.plane_trans[E1][PLANE_CURSOR] ) @@ struct skl_wm_values *WMV; expression E1, E2; @@ ( - WMV->cursor[E1][E2] + WMV->plane[E1][PLANE_CURSOR][E2] | - WMV->cursor_trans[E1] + WMV->plane_trans[E1][PLANE_CURSOR] ) @@ @@ struct skl_wm_values { ... - uint32_t cursor[I915_MAX_PIPES][8]; ... - uint32_t cursor_trans[I915_MAX_PIPES]; ... }; @@ struct skl_wm_level WML; @@ ( - WML.cursor_en + WML.plane_en[PLANE_CURSOR] | - WML.cursor_res_b + WML.plane_res_b[PLANE_CURSOR] | - WML.cursor_res_l + WML.plane_res_l[PLANE_CURSOR] ) @@ struct skl_wm_level *WML; @@ ( - WML->cursor_en + WML->plane_en[PLANE_CURSOR] | - WML->cursor_res_b + WML->plane_res_b[PLANE_CURSOR] | - WML->cursor_res_l + WML->plane_res_l[PLANE_CURSOR] ) @@ @@ struct skl_wm_level { ... - bool cursor_en; ... - uint16_t cursor_res_b; - uint8_t cursor_res_l; ... }; v2: Use a PLANE_CURSOR enum entry rather than making the code reference I915_MAX_PLANES or I915_MAX_PLANES+1, which was confusing. (Ander) 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 31409e97ef708ba52ddcb9a7b65b8b878ecc08f3 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:09 2015 -0700 drm/i915: Determine I915_MAX_PLANES from plane enum Let the compiler figure out what I915_MAX_PLANES is from 'enum plane' so that we don't need a separate #define. While we're at it, add the cursor plane to the enum. This will cause I915_MAX_PLANES to now include the cursor plane in its count (it didn't previously). This change is safe since we currently only use this value in array declarations (never in the actual code logic); we just wind up allocating slightly more memory than we need to. A followup patch will cause various parts of the code to start using the extra array element where appropriate. (This patch probably should have been squashed with the followup patch, but I couldn't figure out how to get Coccinelle to modify enum declarations...) Suggested-by: Ander Conselvan De Oliveira <conselvan2@xxxxxxxxx> 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 7221fc333dbe1743a3dff155b03527fda90d4ec1 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:08 2015 -0700 drm/i915: Eliminate usage of pipe_wm_parameters from ILK-style WM (v2) Just pull the info out of the CRTC state structure rather than staging it in an additional structure. Note that we use cstate->active rather than intel_crtc->active which may appear to be a change in behavior. However since we're no longer trying to recalculate watermarks during the "pipe off" stage of a modeset, intel_crtc->active and cstate->active should always be identical when watermarks are calculated (at least for ILK-style platforms). v2: Clarify reasoning for cstate->active and add a WARN_ON to the code to assert that it really is always identical to intel_crtc->active as expected. 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 43d59eda1f69631c267e06ab6b94ed3c14f1f6d1 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:07 2015 -0700 drm/i915: Eliminate usage of plane_wm_parameters from ILK-style WM code (v2) Just pull the info out of the plane state structure rather than staging it in an additional structure. v2: Add 'visible' condition to sprites_scaled so that we don't limit the WM level when the sprite isn't enabled. (Ville) Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by(v1): Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 37d9078b9b395185947784ba8d71c0980e5aacad Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Thu Sep 24 15:53:06 2015 -0700 drm/i915: Drop redundant watermark programming In commit 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 we added extra watermark updates to all of the .crtc_disable() entrypoints to avoid problems problems with system resume on SKL. Those disable entrypoints are currently called in just two places in the driver: intel_atomic_commit (i.e., during a modeset) and intel_crtc_disable_noatomic (which is called during hardware readout). It seems that this extra watermark recalculation should only be important in the latter case (which happens during a resume operation); the former case should always have appropriate watermark programming happening at other points in the modeset sequence. Let's move the watermark update out of the .crtc_disable() entrypoints and place it directly in intel_crtc_disable_noatomic() so that it only happens on S3 resume and not during a regular modeset (since the existing watermark handling should properly update watermarks during normal atomic commits). Cc: Patrik Jakobsson <patrik.jakobsson@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 d8135109e45d4cf352387b7de66c216a176e37f0 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Sep 29 16:28:46 2015 +0300 drm/i915/bxt: fix RC6 residency time calculation The RC6 residency time unit is 833.33ns on BXT according to the specification, so update the calculation accordingly. Use the same way as CHV/VLV to divide by the corresponding frequency, as I think this is the more natural unit for what the HW does internally. v2: - add missing IS_BROXTON check (Ville) Testcase: igt/pm_rc6_residency 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 93f253187c2f565678bd7e5ca5f64c1043774f1b Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Fri Sep 25 11:46:56 2015 -0700 drm/i915/guc: Media domain bit needed when notify GuC rc6 state GuC expects two bits for Render and Media domain separately when driver sends data via host2guc SAMPLE_FORCEWAKE. Bit 0 is for Render and bit 1 is for Media domain. v2: Keep sync with code for WaRsDoubleRc6WrlWithCoarsePowerGating v1: Add parameters definition to avoid magic value Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 36c0d0cf33ed31fada15caac34d50555b33208bb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:31 2015 +0300 drm/i915: s/_TRANSA_CHICKEN/TRANS_CHICKEN(PIPE_A)/ Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eede3b53e9b5f7587e876ae9575392f92932951a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:30 2015 +0300 drm/i915: s/_FDI_RXA_.../FDI_RX_...(PIPE_A)/ Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4a2fa2b8a861b095f6d495dc006e9d47df177594 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Wed Sep 30 13:02:05 2015 +0000 Bluetooth: hci_h5: clean up hci_h5 code This patch fixes checkpatch warnings: - Comparison to NULL could be re-written - no space required after a cast Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c668cde5a3b5a1326923f341885ce9660d15091e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 30 10:46:59 2015 +0200 drm/i915: Remove setparam ioctl This was only used for the ums+gem combo, so ripe for removal now that we only have kms code left. v2: Drop fence_reg_start since it's now unused, noticed by Ville. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44b7308871ac6fd85fc840bfa3ddb466fe7aff23 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:22 2015 +0900 ALSA: firewire-digi00x: add support for asynchronous messaging Digi 002/003 family uses asynchronous transaction for messaging. The address to transmit this message is stored on a certain register. This commit allocates a range of address on OHCI 1394 host controller to handle the messaging. As long as I know, the purpose of this message seems to notify lost of synchronization. While, the meaning of content of the message is not clear. Actual examples of this messaging: * When clock source is set as internal: - 0x00007051 - 0x00007052 - 0x00007054 - 0x00007057 - 0x00007058 * When clock source is set as somewhat external: - 0x00009000 - 0x00009010 - 0x00009020 - 0x00009021 - 0x00009022 The lost often occurs when using internal clock source. In this case, users hear sounds with quite short gap every several minutes. In fact, the lost is recovered temporarily. When using with external clock source, the lost seems not to occur. The mechanism is not clear yet. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 660dd3d52ead45b8e60dcf966daf304de2121a28 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:21 2015 +0900 ALSA: firewire-digi00x: add hwdep interface This commit adds hwdep interface so as the other sound drivers for units on IEEE 1394 bus have. This interface is designed for mixer/control applications. By using this interface, an application can get information about firewire node, can lock/unlock kernel streaming and can get notification at starting/stopping kernel streaming. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0120d0f1fe3bbf6c6a450056be56a70c409cf7a3 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:20 2015 +0900 ALSA: firewire-digi00x: add PCM functionality This commit adds PCM functionality to transmit/receive PCM samples. Any PCM substreams are jointed because incoming/outgoing AMDTP streams are bound. When one of PCM substream is running or external clock source is selected, current sampling rate is used. Else, the sampling rate is changed as an userspace application requests. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 927f17dc3a517128f07bbc1634fb25ce2587dc6f Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:19 2015 +0900 ALSA: firewire-digi00x: add proc node to show clock status This commit adds proc node to show current clock status for debugging. As long as testing Digi 002 rack, registers can show local clock rate, local clock source. When external clock input such as S/PDIF is connected, the registers show the detection and external clock rate. Additionally, the registers show the mode of optical digital input interface. Although, a tester with Digi 003 rack reports this makes no sense. Further investigation is required for Digi 003 series. Besides, in Digi 002 rack, the S/PDIF format must be IEC 60958-4, so-called professional. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3a2a17974eef10766ffbd7d3e9f5191fbb3c9f33 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:18 2015 +0900 ALSA: firewire-digi00x: add stream functionality This commit adds a functionality to manage streaming. The streaming is not controlled by CMP in IEC 61883-6. It's controlled by IEEE 1394 write transaction to certain addresses. Several clock sources are available, while there're no differences about packet transmission. The value of SYT field in transmitted packets is always zero. Thus, streams in both direction don't build synchronization. And the device always requires received packets to transmit packets. This driver keeps to transfer outgoing stream even if they're not required. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 163ae6f3f3f059ab44311792af5a73f70f747263 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:17 2015 +0900 ALSA: firewire-digi00x: add data block processing layer Digi 002/003 family uses its own format for data blocks. The format is quite similar to AM824 in IEC 61883-6, while there're some differences: * The Valid Bit Length (VBL) code is always 0x40 in Multi-bit Linear Audio (MBLA) data channel. * The first data channel includes MIDI messages, against IEC 61883-6 recommendation. * The Counter field is always zero in MIDI conformant data channel. * Sequence multiplexing in IEC 61883-6 is not applied to the MIDI conformant data channel. * PCM samples are scrambled in received AMDTP packets. We call the way as Double-Oh-Three (DOT). The algorithm was discovered by Robin Gareus and Damien Zammit in 2012. This commit adds data processing layer to satisfy these differences. There's a quirk about transmission mode for received packets. When this driver applies non-blocking mode to outgoing packets with isochronous channel 2 or more, after 15 to 20 seconds since playbacking, any PCM samples causes noisy sound on the device. With isochronous channel 0 or 1, this doesn't occur. As long as I investigated, this quirk is not observed when applying blocking mode to the received packets. This driver applies blocking mode to outgoing packets, while non-blocking mode to incoming packgets. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9edf723fd85822c7b7d8ef4f41a74c5a33eeca0c Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Wed Sep 30 09:39:16 2015 +0900 ALSA: firewire-digi00x: add skeleton for Digi 002/003 family This commit adds a new driver for Digidesign 002/003 family. This commit just creates/removes card instance according to bus event. More functions will be added in following commits. Digidesign 002/003 family consists of: * Agere FW802B for IEEE 1394 PHY layer * PDI 1394L40 for IEEE 1394 LINK layer and IEC 61883 interface * ALTERA ACEX EP1K50 for IEC 61883 layer and DSP controller * ADSP-21065L for signal processing [minor cleanup using skip_spaces() by tiwai] Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 239ede3c0213f152a1bab083af7d7bbb39e0d3d5 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Wed Sep 30 12:27:46 2015 +0000 Bluetooth: btuart_cs: remove obsolete header Use <linux/io.h> instead of <asm/io.h>, fixes checkpatch Warning; Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9c70d7cebfec558e07a2ab0f2d5f5a80a821ecf5 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Aug 13 18:54:31 2015 -0700 i40e: fix 32 bit build warnings Sparse found some issues with 32 bit compilation, which probably should at least work without warning. Not only that, but the code was wrong. Thanks sparse!! And thanks to the kbuild robot zero day testing for finding this issue. $ make ARCH=i386 M=drivers/net/ethernet/intel/i40e C=2 CF="-D__CHECK_ENDIAN__" CHECK drivers/net/ethernet/intel/i40e/i40e_main.c include/linux/etherdevice.h:79:32: warning: restricted __be16 degrades to integer drivers/net/ethernet/intel/i40e/i40e_main.c:7565:17: warning: shift too big (32) for type unsigned long drivers/net/ethernet/intel/i40e/i40e_main.c:7565:17: warning: shift too big (42) for type unsigned long drivers/net/ethernet/intel/i40e/i40e_main.c:7565:17: warning: shift too big (39) for type unsigned long drivers/net/ethernet/intel/i40e/i40e_main.c:7565:17: warning: shift too big (40) for type unsigned long CC: kbuild-all@xxxxxx Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e88ae667ecccf104311ec1a34536bd1e8a0fe6f7 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Aug 13 18:54:26 2015 -0700 i40e: fix kbuild warnings The 0day build infrastructure found some issues in i40e, this removes the warnings by adding a harmless cast to a dev_info. CC: kbuild-all@xxxxxx Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9b32b0b5dded7382c00595180bd5ce4f2f8c3d9b Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Aug 13 15:11:32 2015 -0700 i40evf: tweak init timing This patch tweaks the init timing of the driver just a little bit to increase stability on load/unload and SR-IOV enable/disable cycles. First, run the init_task loop a little quicker in order to reduce overall init time. Second, stagger the start of the init task based on the device's PCIe function ID. This lessens the impact on the firmware when a whole bunch of VFs are initialized simultaneously, e.g. enabling SR-IOV without the VF driver blacklisted. For single VFs assigned to VMs this will have no effect as the function ID will always be 0. 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 e908f81562b1367ac3ab3d156db3dcbbe07479f6 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Jul 23 16:54:42 2015 -0400 i40e: warn on double free Down was requesting queue disables, but then exited immediately without waiting for the queues to actually disable. This could allow any function called after i40evf_down to run immediately, including i40evf_up, and causes a memory leak. This issue has been fixed in a recent refactor of the reset code, but add a couple WARN_ONs in the slow path to help us recognize if we reintroduce this issue or if we missed any cases. Change-ID: I27b6b5c9a79c1892f0ba453129f116bc32647dd0 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> 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 7845548de7e4b49451f0eed77f690e579c428417 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Jul 23 16:54:41 2015 -0400 i40e: refactor interrupt enable The interrupt enable function was always making the caller add the base_vector from the VSI struct which is already passed to the function. Just collapse the math into the helper function. Change-ID: I54ef33aa7ceebc3231c3cc48f7b39fd0c3ff5806 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 3c95e0c5a6fa36406fe5ba9a2d85a11c1483bfd0 Merge: 02e6ef9 87f77ef Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 30 14:37:27 2015 +0200 Merge branch 'topic/drm-sync-audio-rate' into for-next commit 87f77eff710db012a994ee319b5627c26a7b2204 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 30 09:39:01 2015 +0200 drm/i915: Add missing const to audio_rate_need_prog() The lack of const leads to a compile warning after merging i915 upstream tree: drivers/gpu/drm/i915/intel_audio.c:147:13: note: expected 'struct drm_display_mode *' but argument is of type 'const struct drm_display_mode *' Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d1a8d275340470b89fa3a3f7c47433caf1286336 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Jul 23 16:54:40 2015 -0400 i40e: Strip VEB stats if they are disabled in HW Due to performance reasons, VEB stats have been disabled in the hw. This patch adds code to check for that condition before accumulating these stats. Change-ID: I7d805669476fedabb073790403703798ae5d878e 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 48a3b512e8c0703884dd1b3afd85a295ecd36b5f Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 23 16:54:39 2015 -0400 i40e/i40evf: add new device id 1588 Add new device id and support for another 20Gb device. Change-ID: Ib1b61e5bb6201d84953f97cade39a6e3369c2cf2 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 201991004da2c88e780ec58c93c960d0223c3687 Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Thu Jul 23 16:54:38 2015 -0400 i40e: Remove useless message Remove a useless message that blathers on whenever a vxlan port is deleted. Change-ID: If63fb8cf38e56cf433b68e498f11389de51919ba 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 2ac8b675d9466b397f94aa1ead575d39b71b5055 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 23 16:54:37 2015 -0400 i40e: limit debugfs io ops Don't let the debugfs register read and write commands try to access outside of the ioremapped space. While we're at it, remove the use of a misleading constant. Change-ID: Ifce2893e232c65c7a76c23532c658f298218a81b 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 f7fc2f2eb11fe808df330df42a9429aa5b804388 Author: Mitch Williams <mitch.a.williams@xxxxxxxxx> Date: Thu Jul 23 16:54:36 2015 -0400 i40e: use QOS field consistently In i40e_ndo_set_vf_port_vlan, we were using the QOS value inconsistently, sometimes shifting it, sometimes not. Do the shift-and- or operation correctly, once, and use the result consistently everywhere in the function. Change-ID: I46f062f3edc90a8a017ecec9137f4d1ab0ab9e41 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 d8201e200a7474d391fd24ca811b0375e6694387 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Jul 23 16:54:35 2015 -0400 i40e: count drops in netstat interface The i40e rx_dropped counter was not showing up in netstat -i. Add the right counter to be updated with the stats. Change-ID: I4dd552e9995836099184f9d9a08e90edb591155f 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 0deda86836e489fe43a33e8d899319bd0ed985a4 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Thu Jul 23 16:54:34 2015 -0400 i40e/i40evf: fix Tx hang workaround code The arm writeback (arm_wb) code is used for kicking the Tx ring to make sure any pending work is completed even if interrupts are disabled. It was running when it didn't need to, and not clearing the ring->arm_wb state after it was set. This caused Tx hangs to still occur occasionally when there really was no hang. Fix this by resetting the variable right after it was used. Change-ID: I7bf75d552ba9c4bd203d40615213861a24bb5594 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 17351401fec6df1e6032054cd3c2ea03ad917a92 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 23 16:54:32 2015 -0400 i40e: fixup padding issue in get_cee_dcb_cfg_v1_resp The struct i40e_aqc_get_cee_dcb_cfg_v1_resp was originally defined with word boundary layout issues, which most compilers deal with by silently adding padding, making the actual struct larger than designed. This patch adds an extra byte in fields reserved3 and reserved4 to directly acknowledge that padding. Because the struct doesn't actually change in size or layout, this doesn't constitute a change in the API. Change-ID: I53fa4741b73fa255621232a85fba000b0e223015 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 d9b68f8aba0ae3f9ab6c5dec4ae1052b7e26c53c Author: Greg Rose <gregory.v.rose@xxxxxxxxx> Date: Thu Jul 23 16:54:31 2015 -0400 i40e: Fix a port VLAN configuration bug If a port VLAN is set for a given virtual function (VF) before the VF driver is loaded then a configuration error results in which the port VLAN is ignored when the VF driver is subsequently loaded. This causes the VF's MAC/VLAN filters to not use the correct VLAN filter. This patch ensures that the port VLAN filter is considered at the right time during configuration of the VF's MAC/VLAN filters. Change-ID: I28f404cbc21a4c6d70a7980b87c77f13f06685a4 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 1fa89a4b3b0b646ee9cb04eb890a3398eae0dc85 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 23 16:54:30 2015 -0400 i40e/i40evf: fix up type clash in i40e_aq_rc_to_posix conversion The error code sent into i40e_aq_rc_to_posix() are signed values, so we really need to treat them as such. Change-ID: I3d1ae0ee9ae0b1b6f5fc424f8b8cc58b0ea93203 Reported-by: Helin Zhang <helin.zhang@xxxxxxxxx> 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 91bedd34abf0cd3f6276de642a145f75731acca5 Author: Å?ukasz Daniluk <lukasz.daniluk@xxxxxxxxx> Date: Fri Sep 25 11:54:58 2015 +0200 drm/i915/bdw: Check for slice, subslice and EU count for BDW Added checks for available slices, subslices and EUs for Broadwell. This information is filled in intel_device_info and is available to user with GET_PARAM. Added checks for enabled slices, subslices and EU for Broadwell. This information is based on available counts but takes power gated slices into account. It can be read in debugfs. Introduce new register defines that contain information on slices on Broadwell. v2: - Introduce GT_SLICE_INFO register - Change Broadwell sseu_device_status function to use GT_SLICE_INFO register instead of RPCS register - Undo removal of dev_priv variables in Cherryview and Gen9 sseu_device_satus functions v3: - Fix style issues v4: - Corrected comment - Reverted reordering of defines Cc: Jeff Mcgee <jeff.mcgee@xxxxxxxxx> Cc: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Å?ukasz Daniluk <lukasz.daniluk@xxxxxxxxx> Reviewed-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4c4935a964e29da61390122f0a5c9f36e8ae081d Author: Vasily Averin <vvs@xxxxxxxxxxxxx> Date: Wed Jul 8 15:04:26 2015 +0300 i40e: rtnl_lock called twice in i40e_pci_error_resume() Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f2a1c3680c1d9e2a1f9e68ce13f1130e587d28cf Author: Vasily Averin <vvs@xxxxxxxxxxxxx> Date: Tue Jul 7 18:53:38 2015 +0300 i40evf: missing rtnl_unlock in i40evf_resume() Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx> Tested-by: Andrews Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1c64f147d3cc9bbafe091a7b335ea3ec700186f0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 30 10:20:11 2015 +0200 ieee802154: 6lowpan: add tx/rx stats This patch adds support for increment transmit and receive stats. The meaning of these stats are IPv6 based, which shows the stats after running the 6lowpan adaptation layer (uncompression/compression, fragmentation handling) on receive and before the adaptation layer when transmit. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4bc8fbc95e0d831e5e3800ecc8a8d5acac79c9a8 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 30 10:20:10 2015 +0200 ieee802154: 6lowpan: don't skip first dsn while fragmentation This patch fixes the data frame sequence numer (dsn) while 6lowpan fragmentation for frag1. Currently we create one 802.15.4 header at first, then check if it's match into one frame and at the end construct many fragments and calling wpan_dev_hard_header for each of them, inclusive for the first fragment. This will make the first generated header to garbage, instead we copying this header for frag1 instead of generate a new one which skips one dsn. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72d53b116264d5e570f610b3971dae4721aa5c0f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 30 10:20:09 2015 +0200 ieee802154: 6lowpan: change datagram var types This patch changes datagram size variable from u16 type to unsigned int. The reason is that an IPv6 header has an MAX_UIN16 payload length, but the datagram size is payload + IPv6 header length. This avoids overflows at some places. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5f2ebb3b59c81a461ffd4921d12e9f6e09c32945 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 19:59:48 2015 +0200 mac802154: check on len instead mac_len This patch change the length check to len instead of mac_len for checking if the frame control field is available to dereference. We need to change it because I saw issues with af_packet raw sockets and the mrf24j40 which calls this functionality. The raw socket functionality doesn't set the mac_len but resets the skb_mac_header to skb->data which is still correct. The issue occur at mrf24j40 only, because the driver need to evaluate the fc fields. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b40988c438c2405a177ae54ff4baa08c720c296f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 12:36:26 2015 +0200 ieee802154: change mtu size behaviour This patch changes the mtu size of 802.15.4 interfaces. The current setting is the meaning of the maximum transport unit with mac header, which is 127 bytes according 802.15.4. The linux meaning of the mtu size field is the maximum payload of a mac frame. Like in ethernet, which is 1500 bytes. We have dynamic length of mac frames in 802.15.4, this is why we assume the minimum header length which is hard_header_len. This contains fc and sequence fields. These can evaluated by driver layer without additional checks. We currently don't support to set the FCS from userspace, so we need to subtract this from mtu size as well. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d58a2fa903c18f97aac30cd3c4c8a378a2c647c4 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 09:00:26 2015 +0200 mac802154: add comments for llsec issues While doing a little test with the llsec implementation I saw these issues. We should move decryption and encruption somewhere else, otherwise while capturing with wireshark the mac header shows secuirty fields but the payload is plaintext. A complete other issue is what doing with HardMAC drivers where the payload is always plaintext. I think we need a special handling then in userspace. We currently doesn't support any HardMAC transceivers, so we should fix the first issue for SoftMAC transceivers. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a26c5fd7622d4951425131d54a8c99f076fe2068 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 09:00:25 2015 +0200 nl802154: add support for security layer This patch adds support for accessing mac802154 llsec implementation over nl802154. I added for a new Kconfig entry to provide this functionality CONFIG_IEEE802154_NL802154_EXPERIMENTAL. This interface is still in development. It provides to change security parameters and add/del/dump entries of security tables. Later we can add also a get to get an entry by unique identifier. Cc: Phoebe Buckheister <phoebe.buckheister@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1ee06ef1596dcc5858ea29ef9faf0f29e139dfcc Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 09:00:24 2015 +0200 nl802154: use nla_get_le64 for get extended addr This patch uses the nla_get_le64 function instead of doing a force converting to le64. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c648a0138b8f79b6cb4bd092dfab761e4becb1c2 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 28 09:00:23 2015 +0200 netlink: add nla_get for le32 and le64 This patch adds missing inline wrappers for nla_get_le32 and nla_get_le64. The 802.15.4 MAC byteorder is little endian and we keep the byteorder for fields like address configuration in the same byteorder as it comes from the MAC layer. To provide these fields for nl802154 userspace applications, we need these inline wrappers for netlink. Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5b62408ffe42ffce28e94bc5e7a6dec45e6456ee Author: Ronit Halder <ronit.crj@xxxxxxxxx> Date: Wed Sep 30 11:39:45 2015 +0530 staging: dgap: fix memory leak in dgap_parsefile() In dgap_parsefile() char pointers are set with kstrdup() without checking that some string is allocated to that char pointer before. This patch frees the memory if already allocated and then set the poniter with kstrdup(). Signed-off-by: Ronit halder <ronit.crj@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4221c5958796174a5ea13043075816b199a60d09 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:59 2015 +0300 staging: sm750fb: remove unused enable{ZVPort,SSP,PWM} functions The functions that enable/disable power for some sub-devices are not used and therefore they can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 228a4cf8e7e5553d9da06916dd01dd0b17cc1a8f Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:58 2015 +0300 staging: sm750fb: staticize getPowerMode function The getPowerMode function is not used outside ddk750_power, make it static. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6af70030431d5d58b34c294ddb371baf7f6c9d4b Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:57 2015 +0300 staging: sm750fb: remove unused macros Several macros defined in sm750.h and sm750_help.h are not used and therefore they can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86b5f4ed3525645dac9fa8a5eedcd5af7118c591 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:56 2015 +0300 staging: sm750fb: remove unused ddk750_initDVIDisp function The ddk750_initDVIDisp function is never used and therefore it can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55a6cf5d4b211a8d1c13264ab1ed5fc7e09fdfdd Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:55 2015 +0300 staging: sm750fb: remove unused calcPllValue2 function The calcPllValue2 function is never called and therefore it can be removed. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb6f37a8c842542093a2409792e8ef0f13411684 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Sep 30 08:24:54 2015 +0300 staging: sm750fb: staticize local functions in ddk750_chip Several functions in ddk750_chip are not used elsewhere, let's make them static. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de992acb93df41fd6cd0ea975ae192363033694a Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Sep 30 14:57:57 2015 +0900 extcon: gpio: Use descriptor-based GPIO interface instead of legacy gpio_* API This patch uses the descriptor-based GPIO interface (gpiod_* API) instead of legacy gpio_* API and add the internal gpio_extcon_init() to handle all gpio-related tasks. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 6ba129974a3d6bcb236cbd96aa1db6001d163678 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Sep 29 22:59:55 2015 +0900 extcon: gpio: Fix minor coding style and remove the unused fields. This patch fixes the minor coding style about indentation and removes the unused fields from struct gpio_extcon_platform_data. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit ce6f7496050e29108bcefe0413df1789648fb38f Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Sep 29 22:57:24 2015 +0900 extcon: gpio: Add the missing supported_cable parameter to devm_extcon_dev_allocate() The commit 2a9de9c0 ("extcon: Use the unique id for external connector instead of string") defines the unique id of each external connector to identify the type of external connector instead of string name. So, devm_extcon_dev_allocate() should include the second parameter (unsigned int *supported_cable). This patch adds the supported_cable parameter which is passed by platform data. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 60f9b9e65c82cc610cc9c02c1f555df8fb2ce4f0 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Sep 29 20:53:12 2015 +0900 extcon: gpio: Remove duplicate data from struct gpio_extcon_data There are duplicate data between struct gpio_extcon_data and struct gpio_extcon_platform_data. This patch removes them from struct gpio_extcon_data. Instead, this patch add pdata field to struct gpio_extcon_data. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit ae59f3a21fbe4b9ef3a9a09deabd2b0afb80942d Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Fri Sep 25 22:40:51 2015 +0900 extcon: gpio: Use resource managed function for request_irq This patch uses the resource managed function for registering interrupt. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 0c9fc33cec319d8df632ac107bdba77a9b44bb37 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 30 17:52:14 2015 +0900 staging: wilc1000: fix build error for openrisc-allmodconfig The kbuild test robot reports the following build error for openrisc-allmodconfig. >> drivers/staging/wilc1000/wilc_sdio.c:584:2: error: implicit >> declaration of function 'memset' The error occurs due to missing a standard header file as <linux/string.h> so that three .c files are included it. Reported-by: kbuild test robot <lkp@xxxxxxxxx> Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9844b2cafd7b78486400f9b6cf3188e9a527312 Author: Chanwoo Choi <cwchoi00@xxxxxxxxx> Date: Tue Sep 29 19:06:31 2015 +0900 extcon: arizona: Reorder the default statement to remove unnecessary warning This patch reorders the default statement to remove unnecessary warning message when info->hpdet_ip_version is higher than 2. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit 82c05810b2ef6149368b0b2db205c24a832547ad Author: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Date: Mon Aug 24 16:23:00 2015 +0200 ARM: DT: STi: STiH418: Fix mmc0 clock configuration This patch configure correctly the MMC-0 clock for STiH418 platform. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 2bb1441f97ac9765e8d558a1ee726a21e1df5fbe Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Sep 29 10:52:00 2015 +0200 ARM: STi: DT: STiH407: Rename incorrect interrupt related binding interrupts-names => interrupt-names Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 0731c65aceb2ac9b1d3bc64a057d6b0f0daae80d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:31 2015 +0200 drm: Remove dummy agp ioctl wrappers They're only used in the drm ioctl table, and there they're excluded when AGP support is disabled. So this is just dead code ripe for removal. Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 87698c8aa77ce58c41a09b72a0c35fdbc9949025 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:29 2015 +0200 drm/vmwgfx: Stop checking for DRM_UNLOCKED drm core enforces now for DRIVER_MODESET that all ioctls are unlocked. And all the old nasty ones from drm core aren't allowed for modern drivers any more. Hence this is no longer needed. Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 0aaf20cff6dc1b89ec9d63cb004803cf4c0efae7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:27 2015 +0200 drm/drm_ioctl.c: kerneldoc As usual pull it into the drm docbook template, too. And again as usual I've decided to only document stuff exported to drivers, so all the old leftover markup from the shared drm repo days lost the magic ** signature. Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4b63539bb2f604b26ef4951c5c14828d24a7ce6c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:26 2015 +0200 drm: Define a drm_invalid_op ioctl implementation And use it in radeon to replace all the ioctls no longer valid in kms mode. I plan to also use this later on when nuking the ums support for i915. Note that setting the function pointer in the ioctl table to NULL would amount to the same, but that results in some debug output from the drm_ioctl() function. I've figured it's cleaner to have a special-purpose function. Cc: Alex Deucher <alexdeucher@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a7fb8a23c1afa607ec8ce9f61df645f37c529434 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 9 16:45:52 2015 +0200 drm: Remove __OS_HAS_AGP We already express the drm/agp depencies correctly in Kconfig, so we can rip this remnant from the shared drm core days. Aside: Pretty much all the #ifdefs in radeon/nouveau could be killed if ttm would provide dummy functions. I'm not going to volunteer for that though. v2: Use IS_ENABLED(CONFIG_AGP) as suggested by Ville v3: Polish from Ville's review. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> (v2) Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 76b1cf211cbe120a2d6c46403abc97d4376c619e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:25 2015 +0200 drm: i915: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b9f9108cad3998a4c8fd26051c37a451f1dff1f1 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 18:21:35 2015 -0400 tracing: Remove access to trace_flags in trace_printk.c In the effort to move the global trace_flags to the tracing instances, the direct access to trace_flags must be removed from trace_printk.c Instead, add a new trace_printk_enabled boolean that is set by a new access function trace_printk_control(), that will enable or disable trace_printk. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit b5e87c0581319481399b6d8e8d6972b5523c18e6 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 18:13:33 2015 -0400 tracing: Add build bug if we have more trace_flags than bits Add a enum that denotes the last bit of the trace_flags and have a BUILD_BUG_ON(last_bit > 32). If we add more bits than we have in trace_flags, the kernel wont build. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 41d9c0beccbb92397bea8b04a6afd1253c064a1a Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 17:31:55 2015 -0400 tracing: Always show all tracer options in the options directory There are options that are unique to a specific tracer (like function and function graph). Currently, these options are only visible in the options directory when the tracer is enabled. This has been a pain, especially for something like the func_stack_trace option that if used inappropriately, could bring the system to a crawl. But the only way to see it, is to enable the function tracer. For example, if one had done: # cd /sys/kernel/tracing # echo __schedule > set_ftrace_filter # echo 1 > options/func_stack_trace # echo function > current_tracer The __schedule call will be traced and a stack trace will also be recorded there. Now when you were done, you may do... # echo nop > current_tracer # echo > set_ftrace_filter But you forgot to disable the func_stack_trace. The only way to disable it is to re-enable function tracing first. If you do not add a filter to set_ftrace_filter and just do: # echo function > current_tracer Now you would be performing a stack trace on *every* function! On some systems, that causes a live lock. Others may take a few minutes to fix your mistake. Having the func_stack_trace option visible allows you to check it and disable it before enabling the funtion tracer. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f409ed0f4915c00e93ca21d1aea24e9aa2dedaf2 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 13 01:32:12 2015 +0300 ARM: shmobile: silk: enable internal PCI Enable internal AHB-PCI bridges for the USB EHCI/OHCI controllers attached to them. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a6a130b34f84b51ecce711c266d434c02a6b53fe Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 13 01:30:05 2015 +0300 ARM: shmobile: r8a7794: add internal PCI bridge nodes Add device nodes for the R8A7794 internal PCI bridge devices. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5507faeb03f87f952373314b21741548421a6944 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Mon Sep 14 14:03:48 2015 +0300 drm/i915: make backlight hooks connector specific Previously we've relied on having basically one backlight and one backlight type per platform. This is already a bit quirky with PMIC PWM support on VLV/CHV platforms with MIPI DSI. In the foreseeable future we'll have at least DPCD based backlight control on eDP and DCS command based backlight control on MIPI DSI. Backlight is becoming more and more connector specific, so reflect this fact by making the backlight control hooks connector specific. This enables further work to reuse generic backlight code in intel_panel.c while adding more specific backlight code accessed via the hooks. Cc: Deepak M <m.deepak@xxxxxxxxx> Cc: Yetunde Adebisi <yetundex.adebisi@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Deepak M <m.deepak@xxxxxxxxx> Reviewed-by: Yetunde Adebisi <yetundex.adebisi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8cd21b7f28ed1f12059935512edaaadf1deaeb67 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Sep 29 10:24:26 2015 +0300 drm/i915/ddi: use switch case instead of if ladder for ddi_get_encoder_port Make the alternatives stand out better. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 85b98a4c30c60272b2830d9acc43121eb2988bd2 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Sep 29 10:24:25 2015 +0300 drm/i915/ddi: warn instead of oops on invalid ddi encoder type It's more useful to limp on than bring the kernel down. Hitting this is a more likely event with BXT DSI, although care should be taken not to call the function for DSI. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7bad74d57c81b08218cc564af3a78427e12bf3ac Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 24 23:29:20 2015 +0300 drm/i915: Use czclk_freq in vlv c0 residency calculations Replace the use of mem_freq/4 with czclk_freq in the vlv c0 residency calculations. Also deal with VLV_COUNT_RANGE_HIGH which affects all RCx residency counters. We have just enough bits to do this without intermediate divisions. 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 2cc9fab180e8add4159ed1fc874131f984d0bcb1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:43 2015 +0300 drm/i915: Simplify vlv/chv rc6 residency calculation We have the czclk frequency in dev_priv now, so let's just use it when converting the rc6 counters to milliseconds. This eliminates a bunch of hairy code that essentially tries to extract the czclk frequency using yet another method. v2: Fix typos in commit message (Imre) Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bfa7df01a092e92ae764d39fee07fc3f486ed6a9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 24 23:29:18 2015 +0300 drm/i915: Read czclk from CCK on vlv/chv As with the cdclk, read out czclk from CCK as well. This gives us the real current value and avoids having to decode fuses and whatnot. Also store it in kHz under dev_priv like we do for cdlck since it's not just an rps related clock, and having it in kHz is more standard/convenient for some things. Imre also pointed out that we currently fail to read czclk on VLV, which means the PFI credit programming isn't working as expected. 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 87d5d2593299cb8814e5f26c676aef3557650eea Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Thu Sep 24 23:29:17 2015 +0300 drm/i915: Renaming CCK related reg definitions Rename the DISPLAY_TRUNK_* and DISPLAY_FREQUENCY_* bits to CCK_... instead of DISPLAY_... to make it clear they apply to all CCK clock control registers. Suggested by Ville. Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2d05fa16fefb9922e021e0b7db4a0c515558f103 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 23:08:50 2015 +0200 drm/i915: Fix comparison bug ->stolen->start has type u64 aka unsigned long long; relying on the difference (effectively cast to int) for sorting is wrong. It wouldn't be a problem in practice if the values compared are always within INT_MAX of each other (so that the difference is actually representable in an int), but 440fd5283a87 ("drm/mm: Support 4 GiB and larger ranges") strongly suggests that's not the case. Note: atm we don't support more than about 1G of stolen, so this is impossible currenlty. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> [danvet: Add note that this is impossible currently.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 120f5d28714b5c401179a1fd6010c86b13d912ff Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:46 2015 +0100 drm/i915/gen8: Move WaHdcDisableFetchWhenMasked to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a340af58730e892ccb507f7a70054f7909b28d49 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:45 2015 +0100 drm/i915/gen8: Move WaForceEnableNonCoherent to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7eebcde6e526a53e06d238f6daf788df3c8e7620 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:44 2015 +0100 drm/i915/gen8: Move GEN7_GT_MODE WA to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 484046362fcee7ad0c67e1c10c4c346fb14cf420 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:43 2015 +0100 drm/i915/gen8: Move Wa4x4STCOptimizationDisable to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6def8fdd5d9528db7fb6dfebd994491f6ba45785 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:42 2015 +0100 drm/i915/gen8: Move HiZ RAW stall optimization disable WA to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d0581194566eb9744fa657812b2693556392451b Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:40 2015 +0100 drm/i915/gen8: Move WaDisablePartialInstShootdown to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 717d84d67e3a95f440c37c7482681b3535fdc7e2 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:39 2015 +0100 drm/i915/gen8: Move WaDisableAsyncFlipPerfMode to common init fn Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 68c6198b33d22af5ac1649554f6b8982ea587a72 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:38 2015 +0100 drm/i915/gen8: Move INSTPM WA to common function Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e9a64adaec93ce5dfcdee44bbd89c90b4d997f6f Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 17:40:37 2015 +0100 drm/i915/gen8: Add gen8_init_workarounds for common WA WA in this function should be ordered based on register address. The following order is suggested (Ville), instpm mi_mode row chicken half slice chicken common slice chicken hdc chicken cache_mode_0 cache_mode_1 gt_mode Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 010e9f5fad88bce83dc21a864540fcbf6d17e9b3 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:44 2015 +0100 drm/i915/skl: Remove WaDisableVFUnitClockGating Dropping it because it is for pre-production stepping, also removed bit definition in i915_reg.h as it is not used anywhere else. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Keep #define as Ville suggested.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7019f0a7a68258ba05e6e5b17ef49ec547610a33 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:43 2015 +0100 drm/i915/skl: Remove WaSetGAPSunitClckGateDisable Dropping it because it is for pre-production stepping, also removed bit definition in i915_reg as it is not used anywhere else. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Keep define as Ville suggested.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 68fc2b76a16c4dd6c768c838f91d956475e1b3df Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:42 2015 +0100 drm/i915/skl: Remove WaDisableSDEUnitClockGating Dropping it because it is for pre-production stepping. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa66c506f1c40af4fbb383ac35069b7baca7642c Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:40 2015 +0100 drm/i915/bxt: Add WaStoreMultiplePTEenable name Updated WA with the name. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 60294683d4becb011f5e181062fd5214cf3690bd Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:37 2015 +0100 drm/i915/gen9: Merge two WA as they part of same register Merge Wa4x4STCOptimizationDisable and WaDisablePartialResolveInVc to save an entry in WA array. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa0011a896bc1d9aa35a1ed12da63dca92e7b3f1 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 25 14:33:35 2015 +0100 drm/i915/gen9: Handle error returned by gen9_init_workarounds Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1170f28c0f7a450e1cb7f31ed2968e8be751b4fc Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Fri Sep 25 14:00:32 2015 +0300 drm/i915: Add CD and pixel clock information This patch adds information of current and maximum CD clock frequency and pixel clock frequency information on 'i915_debugfs.c'. v2: - combined seperate patches for current CD clock, maximum CD clock and maximum pixel clock - space added between the frequency value and the unit 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 77179400cdf61f189fecb379e23347027b9ea68d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:35 2015 +0300 drm/i915: s/DDI_BUF_CTL_A/DDI_BUF_CTL(PORT_A)/ Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e66eb81de2ff8228cc888946f2c1e307d5b19373 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:34 2015 +0300 drm/i915: Add VLV_HDMIB etc. which already include VLV_DISPLAY_BASE Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0b87c24ea5ec9e950aaa0c933fa739a95aa43555 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 22 19:47:51 2015 +0300 drm/i915: s/_CURACNTR/CURCNTR(PIPE_A)/ v2: Deal with _CURABASE too Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f65a9c5bd7287b4e545b07a3551a1b05c1468349 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:28 2015 +0300 drm/i915: Parametrize PALETTE and LGC_PALETTE Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c039b7f2bf2e872b7b85d089ecf2f3cef215952e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:27 2015 +0300 drm/i915: Include MCHBAR_MIRROR_BASE in ILK_GDSR Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d3a93cbe47bfb49de2d517d68c7082cef176dbb9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:26 2015 +0300 drm/i915: Always use GEN8_RING_PDP_{LDW, UDW} instead of hand rolling the register offsets Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7e435ad2c263cf3fd51343b0754856f2d88b0cdb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:25 2015 +0300 drm/i915: Add LO/HI PRIVATE_PAT registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab9cc558a3d793b8643846940f16faa440f7d32b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:24 2015 +0300 drm/i915: Parametrize UOS_RSA_SCRATCH Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7949dd47ba58e0fb7effd4651afa4468ba240460 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 25 16:39:30 2015 +0300 drm/i915: Add HDMI aspect ratio property for SDVO Handle the HDMI aspect ratio property the same way in the SDVO code as we handle it in the HDMI code. v2: Remove stray whitespace change Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7c5f93b05efc72feb206348da00a0a77e631a3c2 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 13:40:49 2015 +0300 drm/i915: Constify adjusted_mode Make adjusted_mode const whereever we don't have to modify it. This only covers cases when we have a local adjusted_mode variable, and doesn't make any difference for cases where we just dereference pipe_config->adjusted_mode. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 28b468a008888928ce59bc2528713b913be60baa Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 13:40:48 2015 +0300 drm/i915: Move HDMI aspect ratio setup to .compute_config() We shouldn't frob adjusted_mode after .compute_config(), so move the infoframe aspect ratio setup to .compute_config() from intel_hdmi_set_avi_infoframe(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aad941d53f7aa2b642a798e6b3de520c19ba2e46 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 25 16:38:56 2015 +0300 drm/i915: Always use crtc_ timings when dealing with adjustead_mode The adjustead_mode crtc_ timings are what we will program into the hardware, so it's those timings we should be looking practically everywhere. The normal and crtc_ timings should differ only when stere doubling is used. In that case the normal timings are the orignal non-doubled timigns, and crtc_ timings are the doubled timings used by the hardware. The only case where we continue to look at the normal timings is when we pass the adjusted_mode to drm_match_{cea,hdmi}_mode() to find the VIC. drm_edid keeps the modes aronund in the non-double form only, so it needs the non-double timings to match against. Done with sed 's/adjusted_mode->\([vhVH]\)/adjusted_mode->crtc_\1/g' 's/adjusted_mode->clock/adjusted_mode->crtc_clock/g' with a manual s/VDisplay/vdisplay/ within the comment in intel_dvo.c v2: Update due to intel_dsi.c changes Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5e7234c9ccf88c427448fbe147839b4dca82efde Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 25 16:37:43 2015 +0300 drm/i915: s/mode/adjusted_mode/ in functions that really get passed the adjusted_mode Rename the function argument to 'adjusted_mode' whenever the function only ever gets passed the adjusted_mode. v2: Update due to intel_dsi.c changes Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3c5f174e383d6eddd9190637cebd005174287996 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Sep 23 12:52:24 2015 -0300 drm/i915: export size_is_valid() from __intel_fbc_update() Make the giant function a little less giant. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add pipe_ prefix as suggested by Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9f218336bd44719c64a6e7df142b101304452692 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Sep 23 12:52:27 2015 -0300 drm/i915: extract fbc_supported() Make it clear that we're checking whether FBC is supported or not. The fact that the vfunc is not NULL is just a consequence. Another name option would have been fbc_initialized(). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1ca36d4cb3436bd783f8688b563830341a8d9150 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Wed Sep 23 12:52:22 2015 -0300 drm/i915: don't use the first stolen page on Broadwell The spec says we just can't use it. v2: - Add WA name (Ville). - Add a big comment explaining that we still didn't fix the problem where we inherit a framebuffer on the first page (Chris, Ville). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b26d3ea323b41a56db74f46131bc89e3c485f365 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 23 16:11:41 2015 +0200 drm/i915: Add primary plane to mask if it's visible This fixes the warnings like "plane A assertion failure, should be disabled but not" that on the initial modeset during boot. This can happen if the primary plane is enabled by the firmware, but inheriting it fails because the DMAR is active or for other reasons. Most likely caused by commit 36750f284b3a4f19b304fda1bb7d6e9e1275ea8d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Jun 1 12:49:54 2015 +0200 drm/i915: update plane state during init This is the 4.4 version of commit 721a09f7393de6c28a07516dccd654c6e995944a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Sep 15 14:28:54 2015 +0200 drm/i915: Add primary plane to mask if it's visible Reported-by: Andreas Reis <andreas.reis@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91429 Reported-and-tested-by: Emil Renner Berthing <kernel@xxxxxxxx> Tested-by: Andreas Reis <andreas.reis@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eecf613a432c663d206a11c2543e9cca2ddc3aba Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 21 18:05:14 2015 +0300 drm/i915: Parametrize fence registers v2: Hide the 945 vs. rest of gen2/3 difference in the macro Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9c58a049566566a8dc5aa1874ddfb3d32f954260 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Sep 24 10:22:54 2015 +0530 drm/i915/bxt: Set oscaledcompmethod to enable scale value Bspec update tells that we have to enable oscaledcompmethod instead of ouniqetrangenmethod for enabling scale value during swing programming. v2: Adding back 'don't care' values to bxt_ddi_translations_dp and add error message if ouniquetrangemethod was set (Imre) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx>(v1) Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d9d7000d5a4dfda6aa54907b96cfa490f4140aa9 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Sep 24 10:24:56 2015 +0530 drm/i915/bxt: eDP low vswing support Adding voltage swing table for edp to support low vswings. v2: Rebased. Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 165ed87c47ae7dd0deab53d552a29d7985569c28 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Wed Sep 23 14:37:17 2015 -0700 drm/i915: fixup runtime PM handling v2 According to the PCI docs and Rafael, we don't need to be doing explicit enables and disables in our init and teardown routines, as they're taken care of by the PCI core. So drop the pm_runtime_disable() at teardown and pm_runtime_set_active() at init. This fixes one failure of the basic-pci-d3-state test on my BYT. v2: drop extra get_noresume() and put_noidle() (Rafael) Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Acked-by: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d44d3fa2b9089b0039118351773d465204ad581 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Tue Sep 22 13:48:40 2015 -0700 drm/i915/guc: Fix a bug in GuC status check Bit 16 of GuC status indicates resuming from RC6. The LAPIC_DONE status is a reliable readiness flag only when resuming from RC6. This fix a racing issue that allocation of doorbell fails whilst GuC init is not finished. Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 124abe076fd8b360dd7c651046cb8b204268efeb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 13:40:45 2015 +0300 drm/i915: Always call the adjusted mode 'adjusted_mode' Always name any variable pointing at the adjusted mode as 'adjustead_mode'. This will make it much easier to identify when we should use the crtc_ timings and when we shoudln't. Conversion was performed with coccinelle: @@ expression E; identifier I; @@ - struct drm_display_mode *I = &E.adjusted_mode; + struct drm_display_mode *adjusted_mode = &E.adjusted_mode; <... - I + adjusted_mode ...> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> [danvet: Fixup conflicts.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 28694070d849c98290288734ef67a3ef484425ec Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 8 13:40:44 2015 +0300 drm/i915: Use intel_panel for DVO fixed mode handling Replace intel_dvo->panel_fixed_mode with the appropriate intel_panel stuff. Now all connectors that have a fixed mode use intel_panel. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 08aef7caa14f1c0b7c5d79d61d279bcedc188ab9 Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Wed Aug 26 01:36:09 2015 +0530 drm/i915/skl: Block disable call for pw1 if dmc firmware is present. Another interesting criteria to work dmc as expected is pw1 to be enabled by driver and dmc will shut it off in its execution sequence. If already disabled by driver dmc will get confuse and behave differently than expected found during pc10 entry issue for skl. So berfore we disable power-well 1, added check if dmc firmware is present and driver will not disable power well 1, but for any reason if firmware is not present of failed to load we can shut off the power well 1 which will save some power. As skl is currently fully dependent on dmc to go in lowest possible power state (dc6) but the same is not applicable for bxt. Display engine can enter into dc9 without dmc, hence unblocking disable call. v1: Initial version. v2: Rebased as per current patch series. 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> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4e961e426cdeb5c9f27d65fb0afb0010fcecfeae Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Wed Aug 26 01:36:08 2015 +0530 drm/i915/skl: Do not disable cdclk PLL if csr firmware is present While display engine entering into low power state no need to disable cdclk pll as CSR firmware of dmc will take care. If pll is already enabled firmware execution sequence will be blocked. This is one of the criteria for dmc to work properly. v1: Initial version. v2: Based on review comment from Daniel added code commnent. 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-bt: Vathsala Nagaraju <vathsala.nagaraju@xxxxxxxxx> Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@xxxxxxxxx> Reviewed-by: A.Sunil Kamath <sunil.kamath@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c268444a2cecabc0ab567ca275662d80fa0ac813 Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Wed Aug 26 01:36:06 2015 +0530 drm/i915/skl Remove the call for csr uninitialization from suspend path This patch remove the function call to set the firmware loading status as uninitialized during suspend. Dmc firmware will restore the firmware in normal suspend. In previous patch added a check to directly read the hardware status and load the firmware if got reset during resume from suspend-hibernation. Cc: Daniel Vetter <daniel.vetter@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> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4b7ab5fca1976a53d59ef1558ddb06ba69fab356 Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Wed Aug 26 01:36:05 2015 +0530 drm/i915/skl: Added a check for the hardware status of csr fw before loading. Dmc will restore the csr program except DC9, cold boot, warm reset, PCI function level reset, and hibernate/suspend. intel_csr_load_program() function is used to load the firmware data from kernel memory to csr address space. All values of csr address space will be zero if it got reset and the first byte of csr program is always a non-zero if firmware is loaded successfuly. Based on hardware status will load the firmware. Without this condition check if we overwrite the firmware data the counters exposed for dc5/dc6 (help for debugging) will be nullified. Note: Above commit message seems to be confused and the real problem apparently going on is that for suspend-to-idle and system standby the firmware survives (it's like runtime pm), but it doesn't for suspend-to-mem and hibernate-to-disk. All the other talking about DC9 and pci reset are irrelevant for the path touched here (only driver load and system resume functions) and might not be true statements. v1: Initial version. v2: Based on review comments from Daniel, - Added a check to know hardware status and load the firmware if not loaded. 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: Explain clearly in the code comment when we need to reload and when not and make it a FIXME. Also deconfuse the commit message with a note. Also: Make. it. compile.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30c964a6cb7bbade28eabcbc3fce4b01be8f1a39 Author: Robert Beckett <robert.beckett@xxxxxxxxx> Date: Fri Aug 28 13:10:22 2015 +0100 drm/i915: Detect virtual south bridge Virtualized systems often use a virtual P2X4 south bridge. Detect this in intel_detect_pch and make a best guess as to which PCH we should be using. This was seen on vmware esxi hypervisor. When passing the graphics device through to a guest, it can not pass through the PCH. Instead it simulates a P2X4 southbridge. Signed-off-by: Robert Beckett <robert.beckett@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 49dfebebfb6811693a9e883423585f079b5941fa Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 28 18:57:07 2015 +0300 avr32: use dw_dmac autoconfiguration Instead of hardcoding a platform data for dw_dmac let's use it's own autoconfiguration feature. Thus, remove hardcoded values. Tested on ATNGW100. Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 6dbd80a919db24f5a1c66460838bb10ebe188d21 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 28 18:57:05 2015 +0300 dmaengine: dw: use dw_dmac autoconfiguration in PCI driver Instead of hardconding a platform data for dw_dmac let's use it's own autoconfiguration feature. Thus, remove hardcoded values. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 39416677b95bf1ab8bbfa229ec7e511c96ad5d0c Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 28 18:57:04 2015 +0300 dmaengine: dw: convert to __ffs() We replace __fls() by __ffs() since we have to find a *minimum* data width that satisfies both source and destination. While here, rename dwc_fast_fls() to dwc_fast_ffs() which it really is. Fixes: 4c2d56c574db (dw_dmac: introduce dwc_fast_fls()) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b2c68a2f1bab3e3d3bf4ab2b5fcd94cd37f61b41 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Sep 29 15:52:59 2015 -0700 HID: hid-input: allow input_configured callback return errors When configuring input device via input_configured callback we may encounter errors (for example input_mt_init_slots() may fail). Instead of continuing with half-initialized input device let's allow driver indicate failures. Signed-off-by: Jaikumar Ganesh <jaikumarg@xxxxxxxxxxx> Signed-off-by: Arve HjønnevÃ¥g <arve@xxxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Nikolai Kondrashov <Nikolai.Kondrashov@xxxxxxxxxx> Acked-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6e3f797c9ae9bd381247e90907838da43f695306 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 28 21:46:35 2015 +0200 drm/doc: Update docs about device instance setup ->load is deprecated, bus functions are deprecated and everyone should use drm_dev_alloc®ister. So update the .tmpl (and pull a bunch of the overview docs into the sourcecode to increase chances that it'll stay in sync in the future) and add notes to functions which are deprecated. I didn't bother to clean up and document the unload sequence similarly since that one is still a bit a mess: drm_dev_unregister does way too much, drm_unplug_dev does what _unregister should be doing but then has the complication of promising something it doesn't actually do (it doesn't unplug existing open fds for instance, only prevents new ones). Motivated since I don't want to hunt every new driver for usage of drm_platform_init any more ;-) v2: Reword the deprecation note for ->load a bit, using Laurent's suggestion as an example (but making the wording a bit stronger even). Fix spelling in commit message. v3: More spelling fixes from Laurent. Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: David Herrmann <dh.herrmann@xxxxxxxxx> (v2) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 55fd9b184cb6339f51adc9e27e6900bb431a7d18 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: STi: STiH407: Add spi default pinctrl groups. Now we have default pinconfig groups for each SPI controller ensure it is used by the SPI controller node. Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 9d6d736bfe6c65ec6ca42dc0f36baf9c18eae7d6 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add RMII pinctrl support This patch adds the RMII pinctrl support for the Synopsys MAC on STiH407 SoCs. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 0252d86366538eb7e65e35733eb1c0260410f720 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add pinconfig for IRB UHF and IRB TX This patch adds the pinconfig for IRB TX and IRB UHF. Signed-off-by: M'boumba Cedric Madianga <cedric.madianga@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit fab876695a1ac2f55ed86dce5ec18db35f08a0bb Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add SD pinctrl config for mmc0 controller This patch adds the missing SD pinctrl config for mmc/sd controller 0. This is required to enable the B2144A daughter board that exposes this controller as a sd slot. Signed-off-by: Nebil BEN MEFTEH <nebil.ben-mefteh@xxxxxx> Acked-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 0e60262814da699ccc6cb5e1880da88ed25c28fe Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add systrace pin configuration This patch adds the pin config for systrace for STiH407 family silicon. Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 8eefa90f3c808af200c041274a8268e20fbedbf7 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add NAND flash controller pin configuration This patch adds NAND flash support controller pin configuration for STiH407 family silicon. Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 9af0a7b5e6cbf1a67258dd5eca03b4403640a355 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add SPI FSM (NOR Flash) Controller pin config This patch adds the pin configuration for the NOR flash controller. Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit d8036479848b997094b5bd32aa96f61960d3f0db Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add serial3 pinctrl configuration Add missing serial 3 pinctrl config. This can be used on b2206 HVK, where it defaults to PIO31[3] & PIO31[4], alternate 1. Signed-off-by: Erwan Le Ray <erwan.leray@xxxxxx> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxx> Acked-by: Carmelo Amoroso <carmelo.amoroso@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 193bb623f22a63524e71c7a8980189d59fa6083c Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: DT: STiH407: Add SPI 3 wire and 4 wire pinctrl configs This patch adds the spi pinctrl configurations for all SPI controllers, and also the alternate muxings which can be used depending on board design. Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 38fc7859867492f3ee00583acd70ebceff27d1fd Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: STi: DT: STiH407: Add i2c3 alternate pin configs i2c3 controller can use several sets of pins depending on board design. This patch adds the missing alternate pinconfigs. Signed-off-by: Seraphin Bonnaffe <seraphin.bonnaffe@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 0f38d5ad1f25594c3ffc1cab33293de2b5fcb3e0 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 28 14:37:00 2015 +0200 ARM: STi: DT: STiH407: Add a cec0 pin definition This pin setup provides the correct configuration in order to interact with the CEC HW. Signed-off-by: Erwan Le Ray <erwan.leray@xxxxxx> Signed-off-by: Nicolas Vanhaelewyn <nicolas.vanhaelewyn@xxxxxx> Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 6a5e3bd0c8bc1025bb5092f54d5aea38216c665e Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 00:14:14 2015 +0200 tridentfb: Add DDC support Add DDC support for Trident cards. Tested on TGUI9440, TGUI9680, 3DImage 9750, Blade3D 9880 and Blade XP. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit ec90631c8a6861cdd752148fe19c20f775df47e7 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 00:14:13 2015 +0200 fb_ddc: Allow I2C adapters without SCL read capability i2c-algo-bit allows I2C adapters without SCL read capability to work but fb_ddc_read fails to work on them. Fix fb_ddc_read to work with I2C adapters not capable of reading SCL. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 6c6000c2ccfe69e5d17a2fba91954ce1e6f7df01 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Wed Sep 30 15:53:55 2015 +0900 ARM: dts: Add Exynos5250 Snow Rev5+ support on exynos5250-snow-rev5 There are 2 revisions of the Exynos5250 Snow Chromebook that were shipped: Rev4 and Rev5. The only difference between these 2 revisions is the codec, Rev4 has a max98095 codec while Rev5 has a max98090. Mainline only supports Rev4 so this patch moves the common device nodes to a DTSI file and adds a DTS for the Exynos5250 Snow Rev5. The Snow Rev5 DTS is based on the DTS found in the ChromiumOS 3.8 tree. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Tested-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit aff1e0cee36ab679552846a18d15dcb6d2e3fc4c Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 4 16:12:30 2015 +0300 dmaengine: acpi: Use ACPI_COMPANION() instead of acpi_bus_get_device() Get pointer to the struct acpi_device by using ACPI_COMPANION() macro. This is more efficient than using ACPI_HANDLE() and acpi_bus_get_device(). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 44cc6c08da0b6c8321c6740bbb6a0c6feb45b2c2 Merge: 40a4a57 2d4df13 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 30 08:47:41 2015 +0200 Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next Backmerge to catch up with 4.3. slightly more involved conflict in the irq code, but nothing beyond adjacent changes. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 184e16d79d38634cbb7b7c1cd3832caf89595c9a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 14 20:14:45 2015 -0500 openvswitch: Remove ovs_vport_output_sk This was a compatibility function needed while the ipv4 and ipv6 fragmentation code was being modified to pass a struct net through them. Now that is complete this function has no more users so remove it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 75aec9df3a7895747a0d022b7c83a1dfb2adf942 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 14 13:46:16 2015 -0500 bridge: Remove br_nf_push_frag_xmit_sk Now that this compatability function no longer has any callers remove it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 7d8c6e391575ee86c870b88635a163743fca9eac Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jun 12 22:12:04 2015 -0500 ipv6: Pass struct net through ip6_fragment Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> commit 694869b3c5440e0d821583ec8811b6cb5d03742d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Jun 12 21:55:31 2015 -0500 ipv4: Pass struct net through ip_fragment Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit c559cd3ad32ba729bb810283c5fc6838d2473c2e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 14 20:10:28 2015 -0500 openvswitch: Pass net into ovs_fragment In preparation for the ipv4 and ipv6 fragmentation code taking a net parameter pass a struct net into ovs_fragment where the v4 and v6 fragmentation code is called. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit 188515fbc6b18e6bc6f2fa4629f1a77308197371 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 14 20:08:51 2015 -0500 openvswitch: Pass net into ovs_vport_output When struct net starts being passed through the ipv4 and ipv6 fragment routines ovs_vport_output will need to take a net parameter. Prepare ovs_vport_output before that is needed and introduce ovs_vport_output_skk for the call sites that still need the old calling conventions. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> commit d9388c8432379e8c99b2315bff207f0773554462 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 08:23:40 2015 +0200 clk: imx31: Do not call mxc_timer_init twice when booting with DT mxc_timer_init must not be called from within mx31_clocks_init_dt. It will eventually be called by imx31_timer_init_dt (drivers/clocksource/timer-imx-gpt.c). This arranges the initialization code similar to clk-imx27.c Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit ddfe4d0cce7828d79f3e3762c664342658c3f254 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Sep 30 12:06:36 2015 +0530 dmaengine: edma: remove redundant conditions in edma_callback, driver was doing redundant check for desc, so remove that Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4bf1b54f9df7ced4869f7dfd0bdf5eb22aa98447 Merge: b8d866a c1444c6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 21:46:21 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter/IPVS updates for net-next The following pull request contains Netfilter/IPVS updates for net-next containing 90 patches from Eric Biederman. The main goal of this batch is to avoid recurrent lookups for the netns pointer, that happens over and over again in our Netfilter/IPVS code. The idea consists of passing netns pointer from the hook state to the relevant functions and objects where this may be needed. You can find more information on the IPVS updates from Simon Horman's commit merge message: c3456026adc0 ("Merge tag 'ipvs2-for-v4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next"). Exceptionally, this time, I'm not posting the patches again on netdev, Eric already Cc'ed this mailing list in the original submission. If you need me to make, just let me know. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8d866ac6aa45147b84f3f67b124b82bee675e9f Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:38:36 2015 -0400 net: dsa: fix preparation of a port STP update Because of the default 0 value of ret in dsa_slave_port_attr_set, a driver may return -EOPNOTSUPP from the commit phase of a STP state, which triggers a WARN() from switchdev. This happened on a 6185 switch which does not support hardware bridging. Reported-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21fdd092acc7ebda0dfe682008592eb79c382707 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 09:32:03 2015 -0700 net: Add support for filtering neigh dump by master device Add support for filtering neighbor dumps by master device by adding the NDA_MASTER attribute to the dump request. A new netlink flag, NLM_F_DUMP_FILTERED, is added to indicate the kernel supports the request and output is filtered as requested. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Acked-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5172393522e4b2caf1af638076c3c0cd74313ae3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 21:24:05 2015 -0700 tcp: fix tcp_v6_md5_do_lookup prototype tcp_v6_md5_do_lookup() now takes a const socket, even if CONFIG_TCP_MD5SIG is not set. Fixes: b83e3deb974c ("tcp: md5: constify tcp_md5_do_lookup() socket argument") From: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eef50d466a47bb6a57f2e55a9415c716c463255b Merge: 79b0eb2 44bbcf5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 21:32:00 2015 -0700 Merge branch 'switchdev-callback' Vivien Didelot says: ==================== net: switchdev: use specific switchdev_obj_* This patchset changes switchdev add, del, dump operations from this: int (*switchdev_port_obj_add)(struct net_device *dev, struct switchdev_obj *obj, struct switchdev_trans *trans); int (*switchdev_port_obj_del)(struct net_device *dev, struct switchdev_obj *obj); int (*switchdev_port_obj_dump)(struct net_device *dev, struct switchdev_obj *obj); to something similar to the notifier_call callback of a notifier_block: int (*switchdev_port_obj_add)(struct net_device *dev, enum switchdev_obj_id id, const void *obj, struct switchdev_trans *trans); int (*switchdev_port_obj_del)(struct net_device *dev, enum switchdev_obj_id id, const void *obj); int (*switchdev_port_obj_dump)(struct net_device *dev, enum switchdev_obj_id id, void *obj, int (*cb)(void *obj)); This allows the caller to pass and expect back a specific switchdev_obj_* structure (e.g. switchdev_obj_fdb) instead of the generic switchdev_obj one. This will simplify pushing the callback function down to the drivers. The first 3 patches get rid of the dev parameter of the dump callback, since it is not always neeeded (e.g. vlan_dump) and some drivers (such as DSA drivers) may not have easy access to it. Patches 4 and 5 implement the change in the switchdev operations and its users. Patch 6 extracts the inner switchdev_obj_* structures from switchdev_obj and removes this last one. v2: fix error spotted by kbuild (extra ';' inline switchdev_port_obj_dump). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 44bbcf5c4a19a8be43ba35ca7e22310e171f022c Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:18 2015 -0400 net: switchdev: extract struct switchdev_obj_* Now that switchdev and its drivers directly use specific switchdev_obj_* structures, move them out of the switchdev_obj union and get rif of this outer structure. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab06900230181b5a717b1e1a39c44e96f6292e71 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:17 2015 -0400 net: switchdev: abstract object in add/del ops Similar to the notifier_call callback of a notifier_block, change the function signature of switchdev add and del operations to: int switchdev_port_obj_add/del(struct net_device *dev, enum switchdev_obj_id id, void *obj); This allows the caller to pass a specific switchdev_obj_* structure instead of the generic switchdev_obj one. Drivers implementation of these operations and switchdev have been changed accordingly. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25f07adc473f05f850efc9414b9da3374563015f Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:16 2015 -0400 net: switchdev: pass callback to dump operation Similar to the notifier_call callback of a notifier_block, change the function signature of switchdev dump operation to: int switchdev_port_obj_dump(struct net_device *dev, enum switchdev_obj_id id, void *obj, int (*cb)(void *obj)); This allows the caller to pass and expect back a specific switchdev_obj_* structure instead of the generic switchdev_obj one. Drivers implementation of dump operation can now expect this specific structure and call the callback with it. Drivers have been changed accordingly. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03d5fb18626aff95426a380aef0d1c6904cac7c9 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:15 2015 -0400 net: switchdev: remove dev from switchdev_obj cb The net_device associated to a dump operation does not have to be passed to the callback. switchdev stores it in a superset struct, if needed. Also some drivers (such as DSA drivers) may not have easy access to it. This will simplify pushing the callback function down to the drivers. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e02a06b2a7c6e8b43c60ed8e0181172231af13d7 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:14 2015 -0400 net: switchdev: move dev in switchdev_fdb_dump The FDB dump callback requires the related net_device so move it to the struct switchdev_fdb_dump superset instead of using a callback param. With this done, it'll be simpler to change the dump function signature. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e23b002b23dfdcd12ca982fbc57dcb071a1fee62 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 12:07:13 2015 -0400 net: switchdev: remove dev in port_vlan_dump_put The static switchdev_port_vlan_dump_put function does not need the net_device parameter, so remove it. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79b0eb2aadfefaecb34c84453bd44d3264c4c781 Merge: 4905287 6153348 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 21:11:13 2015 -0700 Merge branch 'm68k-netdev-modular' Geert Uytterhoeven says: ==================== net: m68k: Allow modular build This patch series makes the remaining m68k Ethernet drivers modular. It's an alternative to the last 3 patches of Paul Gortmaker's series "[PATCH net-next 0/6] make non-modular code explicitly non-modular". Note that "[PATCH 5/5] net: macmace: Allow modular build" depends on "[PATCH 4/5] m68k/mac: Export Peripheral System Controller (PSC) base address to modules". Feel free to take the dependency through the netdev tree to avoid modular build breakage. This was compile-tested only (mac_defconfig + allmodconfig) due to lack of hardware. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6153348f5e0cc6e162918c20e05534981aa5504c Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:24:06 2015 +0200 net: macmace: Allow modular build Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a77cdaaf2dbc69743bc22354f81bc4ec5e452d40 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:24:05 2015 +0200 m68k/mac: Export Peripheral System Controller (PSC) base address to modules If CONFIG_MACMACE=m: ERROR: psc [drivers/net/ethernet/apple/macmace.ko] undefined! Add the missing export to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18785040b088c0d90713606b57a8b1bd4834ec04 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:24:04 2015 +0200 net: hplance: Allow modular build Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93a82ca2f3c642becc3d824ba79be98084f76519 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:24:03 2015 +0200 net: 7990: Export lance_poll() to modules If CONFIG_HPLANCE=m and CONFIG_NET_POLL_CONTROLLER=y: ERROR: "lance_poll" [drivers/net/ethernet/amd/hplance.ko] undefined! Add the missing export to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a3a7f3b7fbd3c2f2ca2f2bf76363a1abbd5ba94 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 29 10:24:02 2015 +0200 net: mac8390: Allow modular build The modular driver supports only one card, just like the built-in driver. Note that this limitation is a problem which affects all Nubus card drivers, because they have to do all their own bus matching, because Nubus still lacks the necessary driver model support. Suggested-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4905287138f60e86198620c72b570d3d265a71ea Author: Andrew Lunn <andrew@xxxxxxx> Date: Tue Sep 29 01:53:48 2015 +0200 dsa: mv88e6xxx: Fix unsigned/signed issue commit dea870242a9c ("dsa: mv88e6xxx: Allow speed/duplex of port to be configured") leads to the following static checker warning: drivers/net/dsa/mv88e6xxx.c:585 mv88e6xxx_adjust_link() warn: unsigned 'ret' is never less than zero. drivers/net/dsa/mv88e6xxx.c 573 void mv88e6xxx_adjust_link(struct dsa_switch *ds, int port, 574 struct phy_device *phydev) 575 { 576 struct mv88e6xxx_priv_state *ps = ds_to_priv(ds); 577 u32 ret, reg; 578 579 if (!phy_is_pseudo_fixed_link(phydev)) 580 return; 581 582 mutex_lock(&ps->smi_mutex); 583 584 ret = _mv88e6xxx_reg_read(ds, REG_PORT(port), PORT_PCS_CTRL); 585 if (ret < 0) Make ret an int, which is the return type for _mv88e6xxx_reg_read() Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f82ff596c7a8917b21100117646c719017ce8fe4 Merge: e6934f3 9478d12 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 20:41:10 2015 -0700 Merge branch 'L3_master_device' David Ahern says: ==================== net: L3 master device The VRF device is essentially a Layer 3 master device used to associate netdevices with a specific routing table and to influence FIB lookups via 'ip rules' and controlling the oif/iif used for the lookup. This series generalizes the VRF into L3 master device, l3mdev. Similar to switchdev it has a Kconfig option and separate set of operations in net_device allowing it to be completely compiled out if not wanted. The l3mdev methods rely on the 'master' aspect and use of netdev_master_upper_dev_get_rcu to retrieve the master device from a given netdevice if it is enslaved to an L3_MASTER. The VRF device is converted to use the l3mdev operations. At the end the vrf_ptr is no longer and removed, as are all direct references to VRF. The end result is a much simpler implementation for VRF. Thanks to Nikolay for suggestions (eg., use of the master linkage which is the key to making this work) and to Roopa, Andy and Shrijeet for early reviews. v3 - added license header to l3mdev.c - export symbols in l3mdev.c for use with GPL modules - removed netdevice header from l3mdev.h (not needed) and fixed typo in comment v2 - rebased to top of net-next - addressed Niks comments (checking master, removing extra lines, and flipping the order of patches 1 and 2) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9478d12d33ad12d29c5343ae7346b51bc1f4c5a9 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:18 2015 -0700 net: Move netif_index_is_l3_master to l3mdev.h Change CONFIG dependency to CONFIG_NET_L3_MASTER_DEV as well. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec539514e56284b21c47468f23f7d01ff882f51b Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:17 2015 -0700 net: Remove vrf header file Move remaining structs to VRF driver and delete the vrf header file. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93a7e7e837af6846052481da974320c19ab82e5c Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:16 2015 -0700 net: Remove the now unused vrf_ptr Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e1ed7058b3c79b085cf5b1529698a157499074c Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:15 2015 -0700 net: Replace calls to vrf_dev_get_rth Replace calls to vrf_dev_get_rth with l3mdev_get_rtable. The check on the flow flags is handled in the l3mdev operation. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3236b0042ba6555b45d75b6be12922922e17d66e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:14 2015 -0700 net: Replace vrf_dev_table and friends Replace calls to vrf_dev_table and friends with l3mdev_fib_table and kin. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 385add906b6155e8bc64035ad56fb8ccfef925f7 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:13 2015 -0700 net: Replace vrf_master_ifindex{, _rcu} with l3mdev equivalents Replace calls to vrf_master_ifindex_rcu and vrf_master_ifindex with either l3mdev_master_ifindex_rcu or l3mdev_master_ifindex. The pattern: oif = vrf_master_ifindex(dev) ? : dev->ifindex; is replaced with oif = l3mdev_fib_oif(dev); And remove the now unused vrf macros. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee15ee5d94f5837260e7fa539ffd1b50952079c4 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:12 2015 -0700 net: Add support for l3mdev ops to VRF driver Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b69c6d0ae90b7f1a4f61d5c8209d5cb7a55f849 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:11 2015 -0700 net: Introduce L3 Master device abstraction L3 master devices allow users of the abstraction to influence FIB lookups for enslaved devices. Current API provides a means for the master device to return a specific FIB table for an enslaved device, to return an rtable/custom dst and influence the OIF used for fib lookups. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 007979eaf94d1c888d8c7cf8a5250c2c6c9bd98e Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 20:07:10 2015 -0700 net: Rename IFF_VRF_MASTER to IFF_L3MDEV_MASTER Rename IFF_VRF_MASTER to IFF_L3MDEV_MASTER and update the name of the netif_is_vrf and netif_index_is_vrf macros. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7477929566b65f692b79974b784ee59e8b2b9f18 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 30 11:59:24 2015 +0900 staging: wilc1000: remove define CONNECT_DIRECT The driver use CONNECT_DIRECT define as always. No need to provide as feature. This patch removes ifdef/ifndef CONNECT_DIRECT line and it's related codes inside ifndef CONNECT_DIRECT. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 438b293ebded4c89fe0a2c4f68e065a79e752511 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 30 11:59:23 2015 +0900 staging: wilc1000: remove define WILC_PARSE_SCAN_IN_HOST The define WILC_PARSE_SCAN_IN_HOST is always used in the driver, so just delete ifdef WILC_PARSE_SCAN_IN_HOST line, ifndef WILC_PARSE_SCAN_IN_HOST line and it's related codes. Finally, remove define in Makefile. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fc42225f23e0b29583b92499806264dbfba0f4b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 30 08:15:42 2015 +0900 staging: wilc1000: delete wilc_oswrapper.h This patch deletes wilc_oswrapper.h that has nothing inside. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e215a871255f9256de77e1b9c32b84d3a80122c1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 30 08:15:41 2015 +0900 staging: wilc1000: remove wilc_platform include file This patch removes wilc_platform.h include file in wilc_oswrapper.h wilc_platform.h have several standard header files so that some header files should be included to avoid compilation errors. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffda203c0cf3b5b4648ba24c7d1ca34b9dcd4a3e Author: Anish Bhatt <anish@xxxxxxxxxx> Date: Tue Sep 29 12:15:49 2015 -0700 wilc1000 : Use BIT() macro where possible Replace (1 << x) by BIT(x) as recommended by checkpatch.pl Signed-off-by: Anish Bhatt <anish@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65ead4ecb2d22a78592263ecba3decbc9df548dd Author: Anish Bhatt <anish@xxxxxxxxxx> Date: Tue Sep 29 12:15:48 2015 -0700 wilc1000 : Remove leftover comment delimiters Remove leftover comment delimiters that were only partially removed in a previous cleanup. Fixes : c3ca63728ad8 ("staging: wilc1000: remove useless comment") Signed-off-by: Anish Bhatt <anish@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2866914ce1f84ffbd8fae66552058e586c84d851 Author: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Date: Tue Sep 29 14:47:25 2015 -0700 staging:emxx_udc: Fixed comparison style warnings Fixed 'Comparisons should place the constant on the right side of the test' Warnings Signed-off-by: Cristina Moraru <cristina.moraru09@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3ce2076c70087c31a03d87900a7b868d0ead1bb Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Wed Sep 30 00:51:28 2015 +0530 Staging: media: lirc: Use USB API functions rather than constants Introduce use of function usb_endpoint_is_int_in() and usb_endpoint_is_int_out(). Also remove the variables ep_dir and ep_type as they are not used anymore. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 178b2d09afc05a46f68b190c6594f3a429bc2385 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 24 16:18:12 2015 -0300 ARM: dts: imx7d: Fix UART2 base address The UART2 memory space starts at address 0x30890000 (UART2_URXD). Fix it so that UART2 can be used. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Fixes: 949673450291 ("ARM: dts: add imx7d soc dtsi file") Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d0a76bbfe920e056e761bfcb77f3b95bd3bce98f Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 03:46:43 2015 +0200 staging: iio: iio_dummy_evgen: handle_simple_irq() build fix handle_simple_irq() has dropped the first parameter, so fix it up in the iio_dummy_evgen.c driver to prevent the build from breaking. Cc: Jonathan Cameron <jic23@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f827d8099e76a4a2fb99faa88ee7859459f2360 Merge: 99207b8 1d2f1e0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 30 03:37:48 2015 +0200 Merge tag 'iio-for-4.4a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: First round of new driver, new functionality and cleanups for IIO in the 4.4 cycle New device support * APDS9960 ALS + proximity driver * bmg160 SPI devices. * HDC100x humidity sensors * Holt HI-8435 threshold detector * mma8453Q accelerometer added to the mma8452 driver * mma86452FC and mma8653FC accelerometers added to the mma8452 driver * mxc4005 accelerometer * PulsedLight LIDAR * SensorTech VZ89x volatile organic compound sensor * UPISEMI uS5182d ALS and proximity sensors New core functionality * triggered events - use triggers to check for changes in threshold type detectors on devices with out interrupt support. First user is the holt comparator. * chemical concentration and resistance channel types. New driver functionality * vf610 - buffer support. - followup coccinelle warning fix. Core rework * buffers - break out callback buffer to own module. - move buffer implementations to a new subdirectory * percolate the error code form iio_event_getfd out to userspace rather than giving a missleading error later on. Cleanups * adddac drivers - use BIT macro where appropriate. * meter drivers - use BIT macro where appropriate. * ad7303 - add an OF match table to line up with the binding docs. * adc128s052 - add an OF match table to line up with the binding docs. * adf4350 - add an OF match table to line up with the binding docs * as3935 - add an OF match table to line up with the binding docs. * berlin2-adc - use GENMASK and BIT for masks - prevent attempting to sample multiple channels at once by moving a mutex scop - coding style cleanups * bmg150_magn - kconfig sort order was wrong - fix it. * bmg160 - use i2c regmap and drop all uses of i2c_client - separate i2c and core driver * cc10001_adc - kconfig sort order was wrong - fix it. * evgen (dummy driver helper module) - move interrupt generation to irq_work to reduce differences between the dummy driver and real hardware drivers. * hmc5843 - set the name dynamically rather than to a fixed value for one of the suported parts. - export module alias information to allow autoprobing of module. * lpc32xx - on failure to get resource or irq return -ENXIO as uppose to -EBUSY * max1027 - set .of_match_table to actually allow OF style matching. * max5821 - add MODULE_DEVICE_TABLE for OF table. * mma8452 - refactor to separate out chip specific data. - add freefall / motion interrupt source for devices that do their interrupts slightly differently. - update copywrite notice. - leave naming of events directory in sysfs to the core * mcp320x - set .of_match_table so that it can be use for OF style matching. * mlx90614 - Implement filter configuration (note the datasheet changed as a result of the driver reviews to include the values we needed ;) * opt3001 - drop .owner field as assigned by platform driver core. * si7020 - replace a bitmask on the humidity values with a more correct range check. * stk310 - improved error handling. - use BIT macro where appropriate and use the resulting defines instead of magic numbers in the code. - fix indentation * st-sensors - add debugfs register read hook * tsl4531 - fix error handling in check_id * twl6030 - fix module autoload for OF * iio-trig-sysfs - document add and remove attribute * trigger in staging - code alignment fixes. - braces on both branches of if statement if needed for one. * xilinx-xadc - push interrupts into hardirq context as there isn't much in them any more and it avoids breaking PREEMPT_RT builds due to the use of a spinlock between the hardirq and the thread. Tools * event-monitor - report unsupported events. We keep expanding what can come from drivers so give a helpful error if one turns up in an out of date userspace program. * generic-buffer - helpful message about needing to enable a channel to start the buffer. commit d489ff42db9179647004ca2b12c614cb71ac81ea Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Sep 29 17:28:44 2015 -0700 Revert "mtd: mtdram: check offs and len in mtdram->erase" This reverts commit 7827e3acad2df1c6537e5fe7211d216dabc60399. There are some 64-bit arithmetic issues on some architectures, so let's wait until we get a better patch for this. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e6934f3ec00b04234acb24a1a2c28af59763d3b5 Merge: 4c7e622 0536fcc Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 16:53:10 2015 -0700 Merge branch 'listener-refactoring-preparations' Eric Dumazet says: ==================== tcp: listener refactoring preparations This patch series makes changes to TCP/DCCP stacks so that we can switch listener code to lockless mode. This is done by marking const the listener socket in all appropriate paths. FastOpen code had to be changed to not dynamically allocate a very small structure to make code simpler for following changes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0536fcc039a8926ec12ec587f41a83f7acafeb82 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:52 2015 -0700 tcp: prepare fastopen code for upcoming listener changes While auditing TCP stack for upcoming 'lockless' listener changes, I found I had to change fastopen_init_queue() to properly init the object before publishing it. Otherwise an other cpu could try to lock the spinlock before it gets properly initialized. Instead of adding appropriate barriers, just remove dynamic memory allocations : - Structure is 28 bytes on 64bit arches. Using additional 8 bytes for holding a pointer seems overkill. - Two listeners can share same cache line and performance would suffer. If we really want to save few bytes, we would instead dynamically allocate whole struct request_sock_queue in the future. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2985aaac010ebd5e562ce1a22cc61acbb0e40cf2 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:51 2015 -0700 tcp: constify tcp_syn_flood_action() socket argument tcp_syn_flood_action() will soon be called with unlocked socket. In order to avoid SYN flood warning being emitted multiple times, use xchg(). Extend max_qlen_log and synflood_warned fields in struct listen_sock to u32 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f964629e3338d9e5a78c9b354380d5a1e2fa4617 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:50 2015 -0700 tcp: constify tcp_v{4|6}_route_req() sock argument These functions do not change the listener socket. Goal is to make sure tcp_conn_request() is not messing with listener in a racy way. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f684b4b1f1c86e3a6ac63389d1032e239fddd79 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:49 2015 -0700 tcp: cookie_init_sequence() cleanups Some common IPv4/IPv6 code can be factorized. Also constify cookie_init_sequence() socket argument. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c27171e66d94f9121fc00e87407ca7103bb6649 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:48 2015 -0700 tcp/dccp: constify syn_recv_sock() method sock argument We'll soon no longer hold listener socket lock, these functions do not modify the socket in any way. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c28c6f045945f53e842467bf0e86c5fac051643d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:47 2015 -0700 tcp: constify tcp_create_openreq_child() socket argument This method does not touch the listener socket. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54105f98f544ec5305bf1fad292ca454ad55ef67 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:46 2015 -0700 dccp: constify dccp_create_openreq_child() sock argument socket no longer needs to be read/write Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87e002b21aafccfe71faeec62f3543d30600a518 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:45 2015 -0700 net: constify sk_gfp_atomic() sock argument Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ce31c9e08997ea0fa62be0a7437f868be173f13 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:44 2015 -0700 inet: constify __inet_inherit_port() sock argument socket is not touched, make it const. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2432c4fa5e3c4c06df6efe0c406b6f575829a7b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:43 2015 -0700 inet: constify inet_csk_route_child_sock() socket argument The socket points to the (shared) listener. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f76b33c32b1913dd8909d8509f2726b1661aa6b1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:42 2015 -0700 dccp: use inet6_csk_route_req() helper Before changing dccp_v6_request_recv_sock() sock argument to const, we need to get rid of security_sk_classify_flow(), and it seems doable by reusing inet6_csk_route_req() helper. We need to add a proto parameter to inet6_csk_route_req(), not assume it is TCP. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72ab4a86f7a260d4c2a320b49662da107ce77a81 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:41 2015 -0700 tcp: remove tcp_rcv_state_process() tcp_hdr argument Factorize code to get tcp header from skb. It makes no sense to duplicate code in callers. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bda07a64c09c44ced789dbb815c71854f0c59839 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:40 2015 -0700 tcp: remove unused len argument from tcp_rcv_state_process() Once we realize tcp_rcv_synsent_state_process() does not use its 'len' argument and we get rid of it, then it becomes clear this argument is no longer used in tcp_rcv_state_process() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a00e74442bac5ad19a929d097370da7e07540ea6 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 29 07:42:39 2015 -0700 tcp/dccp: constify send_synack and send_reset socket argument None of these functions need to change the socket, make it const. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a27b5e0a78c31b57fa5cceaec4415caeca2e50dd Author: S Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Mon Jul 27 22:28:40 2015 -0700 Input: add DA9062 OnKey capability to DA9063 OnKey driver Add DA9062 OnKey support into the existing DA9063 OnKey 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 OnKey. The following alterations have been made to the DA9063 OnKey: - Addition of a da906x_chip_config structure to hold all generic registers and bitmasks for this type of OnKey component. - Addition of an struct of_device_id table for DA9063 and DA9062 defaults - Refactoring functions to use struct da9063_onkey accesses to generic registers/masks instead of using defines from registers.h - Re-work of da9063_onkey_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: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8f697e574012cc73b6b0dcbf30d88a3a0f43b78f Merge: 221bcb2 9ffecb1 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Sep 29 16:28:52 2015 -0700 Merge tag 'v4.3-rc3' into next Merge with Linux 4.3-rc3 to bring in MFD DA9062 changes to merge DA9062 OnKey driver. commit 4c7e622ddf07388d72e15b97a88d260a5a168e37 Merge: 0f50c10 0d75396 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 16:27:47 2015 -0700 Merge branch 'ipv4-routing-cleanups' Alexander Duyck says: ==================== Minor IPv4 routing cleanups These patches just contain some minor cleanups to address a few minor issues. The first and the third mostly just improve readability. The second patch should improve the performance for multicast destination addresses that do not have a localhost source IP address by avoiding some unnecessary dereferences. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d7539603bba77b72679d53e7d7eb84c16dd76d8 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 11:10:44 2015 -0700 net: Remove martian_source_keep_err goto label err is initialized to -EINVAL when it is declared. It is not reset until fib_lookup which is well after the 3 users of the martian_source jump. So resetting err to -EINVAL at martian_source label is not needed. Removing that line obviates the need for the martian_source_keep_err label so delete it. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75fea73dce4ed7c1725f9f5c0adf5aecc8d0fcfd Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Mon Sep 28 11:10:38 2015 -0700 net: Swap ordering of tests in ip_route_input_mc This patch just swaps the ordering of one of the conditional tests in ip_route_input_mc. Specifically it swaps the testing for the source address to see if it is loopback, and the test to see if we allow a loopback source address. The reason for swapping these two tests is because it is much faster to test if an address is loopback than it is to dereference several pointers to get at the net structure to see if the use of loopback is allowed. Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2094acbb714e24e464c810c2d8fa57493fcb25a6 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Mon Sep 28 11:10:31 2015 -0700 net/ipv4: Pass proto as u8 instead of u16 in ip_check_mc_rcu This patch updates ip_check_mc_rcu so that protocol is passed as a u8 instead of a u16. The motivation is just to avoid any unneeded type transitions since some systems will require an instruction to zero extend a u8 field to a u16. Also it makes it a bit more readable as to the fact that protocol is a u8 so there are no byte ordering changes needed to pass it. Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 221bcb24c6530be17468fdcdbf91299aba32a693 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 29 16:06:22 2015 -0700 Input: walkera0701 - use parallel port device model Modify walkera0701 driver to use the new Parallel Port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4de27a638a99d1a36b14a8fbe982a043223143f6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 29 16:04:01 2015 -0700 Input: turbografx - use parallel port device model Modify turbografx driver to use the new Parallel Port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a517e87c3dfccc8b7a655e6208829ad7b04e16df Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 29 16:03:43 2015 -0700 Input: gamecon - use parallel port device model Modify gamecon driver to use the new Parallel Port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 379d7cfa9bcae3b89299fdcb135ec0e2810e97bc Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 29 16:02:29 2015 -0700 Input: ff-core - silence an underflow warning My static checker complains that "value" comes from the user in evdev_do_ioctl() and we check that it's not too large here but we don't check that it's negative. It's harmless because the ->set_gain() and ->set_autocenter() functions truncate it to a valid u16 value, but we may as well fix it just to make the static checker happy. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7827e3acad2df1c6537e5fe7211d216dabc60399 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Tue Jul 21 16:30:20 2015 +0800 mtd: mtdram: check offs and len in mtdram->erase We should prevent user to erasing mtd device with an unaligned offset or length. Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2d4df13c0f9ef56452b1d9a9016cb3946e17bfe5 Merge: 9ffecb1 cf64830 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 30 08:35:45 2015 +1000 Merge tag 'topic/drm-misc-2015-09-25' of git://anongit.freedesktop.org/drm-intel into drm-next Another attempt at drm-misc for 4.4 ... - better atomic helpers for runtime pm drivers - atomic fbdev - dp aux i2c STATUS_UPDATE handling (for short i2c replies from the sink) - bunch of constify patches - inital kerneldoc for vga switcheroo - some vblank code cleanups from Ville and Thierry - various polish all over * tag 'topic/drm-misc-2015-09-25' of git://anongit.freedesktop.org/drm-intel: (57 commits) drm/irq: Add drm_crtc_vblank_count_and_time() drm/irq: Rename drm_crtc -> crtc drm: drm_atomic_crtc_get_property should be static drm/gma500: Remove DP_LINK_STATUS_SIZE redefinition vga_switcheroo: Set active attribute to false for audio clients drm/core: Preserve the fb id on close. drm/core: Preserve the framebuffer after removing it. drm: Use vblank timestamps to guesstimate how many vblanks were missed drm: store_vblank() is never called with NULL timestamp drm: Clean up drm_calc_vbltimestamp_from_scanoutpos() vbl_status drm: Limit the number of .get_vblank_counter() retries drm: Pass flags to drm_update_vblank_count() drm/i915: Fix vblank count variable types drm: Kill pixeldur_ns drm: Stop using linedur_ns and pixeldur_ns for vblank timestamps drm: Move timestamping constants into drm_vblank_crtc drm/fbdev: Update legacy plane->fb refcounting for atomic restore drm: fix kernel-doc warnings in drm_crtc.h vga_switcheroo: Sort headers alphabetically drm: Spell vga_switcheroo consistently ... commit 0f50c10d2683fd2b8a3908c779c5f29bcb3c2174 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 28 17:51:51 2015 +0100 RESEND: [PATCH v3 net-next] sky2: use random address if EEPROM is bad On some embedded systems the EEPROM does not contain a valid MAC address. In that case it is better to fallback to a generated mac address and let init scripts fix the value later. Reported-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> [Changed handcoded setup to use eth_hw_addr_random() and to save new address into HW] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 822d54b9c2c18271239ad7d928f1e9c702676592 Author: Alexander Duyck <aduyck@xxxxxxxxxxxx> Date: Mon Sep 28 09:16:17 2015 -0700 netpoll: Drop budget parameter from NAPI polling call hierarchy For some reason we were carrying the budget value around between the various calls to napi->poll. If for example one of the drivers called had a bug in which it returned a non-zero value for work this could result in the budget value becoming negative. Rather than carry around a value of budget that is 0 or less we can instead just loop through and pass 0 to each napi->poll call. If any driver returns a value for work done that is non-zero then we can report that driver and continue rather than allowing a bad actor to make the budget value negative and pass that negative value to napi->poll. Note, the only actual change here is that instead of letting budget become negative we are keeping it at 0 regardless of the value returned for work since it should not be possible for the polling routine to do any actual work with a budget of 0. So if the polling routine returns a non-0 value we are just reporting it and continuing with a budget of 0 rather than letting that work value be subtracted from the budget of 0. Signed-off-by: Alexander Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b840b6e65cbe2b84ec398bb286d121a9eb2597ee Author: Eduardo Valentin <edubezval@xxxxxxxxx> Date: Mon Sep 21 17:32:15 2015 -0700 thermal: ti-soc-thermal: add OMAP36xx support Add OMAP36xx support to ti-soc-thermal driver. This chip is also unreliable. The data provided here is based on OMAP36xx TRM: http://www.ti.com/lit/ug/swpu177aa/swpu177aa.pdf Signed-off-by: Eduardo Valentin <edubezva@xxxxxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 9c5c87e5936e792ddca5cb876d523b6e5d6042e6 Author: Pavel Machek <pavel@xxxxxx> Date: Thu Apr 2 16:49:07 2015 +0200 ti-soc-thermal: implement omap3 support This adds support for OMAP3 chips to ti-soc-thermal. As requested by TI people, it is marked unreliable and warning is printed. Signed-off-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Eduardo Valentin <edubezval@xxxxxxxxx> commit 8a799590005180b1010912be096c1302e2bd06da Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Sep 2 18:06:35 2015 -0700 mtd: nand: vf610_nfc: add device tree bindings Signed-off-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> [Brian: fixup #size-cells in example] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 049f42509973b86f0015e2c1c38d4c79aea408f5 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Sep 2 18:06:34 2015 -0700 mtd: nand: vf610_nfc: add hardware BCH-ECC support This adds hardware ECC support using the BCH encoder in the NFC IP. The ECC encoder supports up to 32-bit correction by using 60 error correction bytes. There is no sub-page ECC step, ECC is calculated always across the whole page (up to 2k pages). Limitations: - HW ECC: Only 2K page with 64+ OOB. - HW ECC: Only 24 and 32-bit error correction implemented. Raw writes have been tested using the generic nand_write_page_raw implementation. However, raw reads are currently not possible because the controller need to know whether we are going to use the ECC mode already at NAND_CMD_READ0 command time. At this point we do not have the information whether it is a raw read or a regular read at driver level... Signed-off-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 456930d80a2da129974640dc0238d5380597e172 Author: Stefan Agner <stefan@xxxxxxxx> Date: Wed Sep 2 18:06:33 2015 -0700 mtd: nand: vf610_nfc: Freescale NFC for VF610, MPC5125 and others This driver supports Freescale NFC (NAND flash controller) found on Vybrid (VF610), MPC5125, MCF54418 and Kinetis K70. The driver has been tested using 8-bit and 16-bit NAND interface on the ARM based Vybrid SoC VF500 and VF610 platform. parameter page reading. Limitations: - Untested on MPC5125 and M54418. - DMA and pipelining not used. - 2K pages or less. - No chip select, one NAND chip per controller. - No hardware ECC. Some paths have been hand-optimized and evaluated by measurements made using mtd_speedtest.ko on a 100MB MTD partition. Colibri VF50 eb write % eb read % page write % page read % rel/opt 5175 11537 4560 11039 opt 5164 -0.21 11420 -1.01 4737 +3.88 10918 -1.10 none 5113 -1.20 11352 -1.60 4490 -1.54 10865 -1.58 Colibri VF61 eb write % eb read % page write % page read % rel/opt 5766 13096 5459 12846 opt 5883 +2.03 13064 -0.24 5561 +1.87 12802 -0.34 none 5701 -1.13 12980 -0.89 5488 +0.53 12735 -0.86 rel = using readl_relaxed/writel_relaxed in optimized paths opt = hand-optimized by combining multiple accesses into one read/write The measurements have not been statistically verfied, hence use them with care. The author came to the conclusion that using the relaxed variants of readl/writel are not worth the additional code. Signed-off-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Tested-by: Albert ARIBAUD <albert.aribaud@xxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Reviewed-by: Alexey Klimov <klimov.linux@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 53bb724f94f57b67213e08a4c155c8c5eb74c644 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Sep 21 13:26:59 2015 -0700 mtd: provide proper 32/64-bit compat_ioctl() support for BLKPG After a bit of poking around wondering why my 32-bit user-space can't seem to send a proper ioctl(BLKPG) to an MTD on my 64-bit kernel (ARM64), I noticed that struct blkpg_ioctl_arg is actually pretty unsuitable for use in the ioctl() ABI, due to its use of raw pointers, and its lack of alignment/packing restrictions (32-bit arch'es tend to pack the 4 fields into 4 32-bit words, whereas 64-bit arch'es would add padding after the third int, and make this 6 32-bit words). Anyway, this means BLKPG deserves some special compat_ioctl handling. Do the conversion in a small shim for MTD. block/compat_ioctl.c already has compat support for the block subsystem, but it does so by a re-marshalling data to/from user-space (see compat_blkpg_ioctl()). Personally, I think this approach is cleaner. Tested only on MTD, with an ARM32 user space on an ARM64 kernel. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2594e9064a57634efc146ff4e89a5de562e05011 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 19:00:11 2015 +0200 bridge: vlan: add per-vlan struct and move to rhashtables This patch changes the bridge vlan implementation to use rhashtables instead of bitmaps. The main motivation behind this change is that we need extensible per-vlan structures (both per-port and global) so more advanced features can be introduced and the vlan support can be extended. I've tried to break this up but the moment net_port_vlans is changed and the whole API goes away, thus this is a larger patch. A few short goals of this patch are: - Extensible per-vlan structs stored in rhashtables and a sorted list - Keep user-visible behaviour (compressed vlans etc) - Keep fastpath ingress/egress logic the same (optimizations to come later) Here's a brief list of some of the new features we'd like to introduce: - per-vlan counters - vlan ingress/egress mapping - per-vlan igmp configuration - vlan priorities - avoid fdb entries replication (e.g. local fdb scaling issues) The structure is kept single for both global and per-port entries so to avoid code duplication where possible and also because we'll soon introduce "port0 / aka bridge as port" which should simplify things further (thanks to Vlad for the suggestion!). Now we have per-vlan global rhashtable (bridge-wide) and per-vlan port rhashtable, if an entry is added to a port it'll get a pointer to its global context so it can be quickly accessed later. There's also a sorted vlan list which is used for stable walks and some user-visible behaviour such as the vlan ranges, also for error paths. VLANs are stored in a "vlan group" which currently contains the rhashtable, sorted vlan list and the number of "real" vlan entries. A good side-effect of this change is that it resembles how hw keeps per-vlan data. One important note after this change is that if a VLAN is being looked up in the bridge's rhashtable for filtering purposes (or to check if it's an existing usable entry, not just a global context) then the new helper br_vlan_should_use() needs to be used if the vlan is found. In case the lookup is done only with a port's vlan group, then this check can be skipped. Things tested so far: - basic vlan ingress/egress - pvids - untagged vlans - undef CONFIG_BRIDGE_VLAN_FILTERING - adding/deleting vlans in different scenarios (with/without global ctx, while transmitting traffic, in ranges etc) - loading/removing the module while having/adding/deleting vlans - extracting bridge vlan information (user ABI), compressed requests - adding/deleting fdbs on vlans - bridge mac change, promisc mode - default pvid change - kmemleak ON during the whole time Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4404bd742db767a7f316b1207c46a04a38ca7198 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Sep 18 15:08:14 2015 -0700 mtd: spi-nor: add support for w25q128fw Tested only with single I/O, but the datasheet says it supports dual and quad. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 09b6a377687b885565339e60bc62566433a0406f Author: Furquan Shaikh <furquan@xxxxxxxxxx> Date: Fri Sep 18 14:59:17 2015 -0700 mtd: spi-nor: scale up timeout for full-chip erase This patch fixes timeout issues seen on large NOR flash (e.g., 16MB w25q128fw) when using ioctl(MEMERASE) with offset=0 and length=16M. The input parameters matter because spi_nor_erase() uses a different code path for full-chip erase, where we use the SPINOR_OP_CHIP_ERASE (0xc7) opcode. Fix: use a different timeout for full-chip erase than for other commands. While most operations can be expected to perform relatively similarly across a variety of NOR flash types and sizes (and therefore might as well use a similar timeout to keep things simple), full-chip erase is unique, because the time it typically takes to complete: (1) is much larger than most operations and (2) scales with the size of the flash. Let's base our timeout on the original comments stuck here -- that a 2MB flash requires max 40s to erase. Small survey of a few flash datasheets I have lying around: Chip Size (MB) Max chip erase (seconds) ---- -------- ------------------------ w25q32fw 4 50 w25q64cv 8 30 w25q64fw 8 100 w25q128fw 16 200 s25fl128s 16 ~256 s25fl256s 32 ~512 From this data, it seems plenty sufficient to say we need to wait for 40 seconds for each 2MB of flash. After this change, it might make some sense to decrease the timeout for everything else, as even the most extreme operations (single block erase?) shouldn't take more than a handful of seconds. But for safety, let's leave it as-is. It's only an error case, after all, so we don't exactly need to optimize it. Signed-off-by: Furquan Shaikh <furquan@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 961a86d22e89428516fa7183b7750a4ba9866f4d Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Sep 28 19:51:21 2015 +0300 doc: dt: arm,pl172: add description of PL175 and PL176 controllers Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit f6d77beefd159f8c36b28c60d89e1557438a077e Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Sep 28 19:51:20 2015 +0300 memory: pl172: add ARM PrimeCell PL176 MPMC support The change adds support of ARM PrimeCell PL176 MPMC. Static memory configuration of PL175 MPMC is very similar to one found on PL172 and PL175 controllers, so it is preferred to add its support into the existing driver. The difference is that PL176 supports up to 10 slave ports (but only 4 of them may be connected to static memory devices), AHB master bus width cab be 64-bit wide, also NAND devices can be interfaced. Similar to PL175 contoller, PL176 has no write buffer enable control in static memory configuration register, the rest of static memory configuration bits (with exception of NAND) is the same. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit b794df56cbb46e031c29922acb24617b72f8f5a7 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Sep 28 19:51:19 2015 +0300 memory: pl172: add ARM PrimeCell PL175 MPMC support The change adds support of ARM PrimeCell PL175 MPMC, the controller is found on NXP LPC32xx SoC. PL175 MPMC is very similar to PL172 controller, so it is preferred to add its support into the existing driver. One of the differences between PL172 and PL175 is that the latter one supports up to 6 AHB ports, but still only 4 AHB ports can be assigned to a static memory device, also PL175 does not have write buffer enable control in static memory configuration register. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 5b32b1368ae532a2d06c931ba6356c39a9de63ac Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Mon Sep 28 19:51:18 2015 +0300 memory: pl172: correct MPMC peripheral ID register bits According to PL172 TRM read of bits [7:6] of MPMCPeriphID3 is undefined, so unmask them. Also the driver supports all currently present revisions of PL172, this allows to alleviate requirements to the revision version matched by the driver. Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit c887be71cc3984db486c4d942dea2682c7b24a71 Author: Yao Yuan <yao.yuan@xxxxxxxxxxxxx> Date: Wed Sep 16 17:59:45 2015 +0800 mtd: spi-nor: Add support for sst25wf040b It is a 512KiB flash with 4 KiB erase sectors. Signed-off-by: Yuan Yao <yao.yuan@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 15c2bf2f3f5c1f25293ad89a9effeb75524458e8 Author: Tom Englund <tomenglund26@xxxxxxxxx> Date: Fri Sep 18 21:42:59 2015 +0200 pcmciamtd: Add id for PRETEC 4MB SRAM The module pcmciamtd doesn't generate a mtd node for PRETEC 4MB SRAM cards without the id and hash added to pcmciamtd.c Tested on 3 different 4MB pretec sram cards. Signed-off-by: Tom Englund <tomenglund26@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 73dddbb57bb08d465dd0ecab93db0c5209e50cfe Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 15:38:55 2015 -0400 tracing: Only create stacktrace option when STACKTRACE is configured Only create the stacktrace trace option when CONFIG_STACKTRACE is configured. Cleaned up the ftrace_trace_stack() function call a little to allow better encapsulation of the stacktrace trace flag. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8179e8a15b76eaec1e757da7a0f96de9f0c466c6 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 10:24:56 2015 -0400 tracing: Do not create function tracer options when not compiled in When the function tracer is not compiled in, do not create the option files for it. Fix up both the sched_wakeup and irqsoff tracers to handle the change. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 191988e0bd3875526464e3a601edf29f2a3118ae Merge: 8a4683a f864288 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 29 11:51:41 2015 -0700 Merge branch 'mvneta_percpu_irq' Gregory CLEMENT says: ==================== net: mvneta: Switch to per-CPU irq and make rxq_def useful As stated in the first version: "this patchset reworks the Marvell neta driver in order to really support its per-CPU interrupts, instead of faking them as SPI, and allow the use of any RX queue instead of the hardcoded RX queue 0 that we have currently." Following the review which has been done, Maxime started adding the CPU hotplug support. I continued his work a few weeks ago and here is the result. Since the 1st version the main change is this CPU hotplug support, in order to validate it I powered up and down the CPUs while performing iperf. I ran the tests during hours: the kernel didn't crash and the network interfaces were still usable. Of course it impacted the performance, but continuously power down and up the CPUs is not something we usually do. I also reorganized the series, the 3 first patches should go through the irq subsystem, whereas the 4 others should go to the network subsystem. However, there is a runtime dependency between the two parts. Patch 5 depend on the patch 3 to be able to use the percpu irq. Thanks, Gregory PS: Thanks to Willy who gave me some pointers on how to deal with the NAPI. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f864288544802ae68b20da293e1b861230852dba Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:38 2015 +0200 net: mvneta: Statically assign queues to CPUs Since the switch to per-CPU interrupts, we lost the ability to set which CPU was going to receive our RX interrupt, which was now only the CPU on which the mvneta_open function was run. We can now assign our queues to their respective CPUs, and make sure only this CPU is going to handle our traffic. This also paves the road to be able to change that at runtime, and later on to support RSS. [gregory.clement@xxxxxxxxxxxxxxxxxx]: hardened the CPU hotplug support. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d893665728f3cc79f7719df50c4345d200bb293c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:37 2015 +0200 net: mvneta: Allow different queues The mvneta driver allows to change the default RX queue trough the rxq_def kernel parameter. However, the current code doesn't allow to have any value but 0. It is actively checked for in the driver's probe because the drivers makes a number of assumption and takes a number of shortcuts in order to just use that RX queue. Remove these limitations in order to be able to specify any available queue. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 12bb03b436dad56692e9a103ed26156156bef5d2 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:36 2015 +0200 net: mvneta: Handle per-cpu interrupts Now that our interrupt controller is allowing us to use per-CPU interrupts, actually use it in the mvneta driver. This involves obviously reworking the driver to have a CPU-local NAPI structure, and report for incoming packet using that structure. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2502d0ef272da7058ef303b849a2c8dc324c2e2e Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:35 2015 +0200 net: mvneta: Fix CPU_MAP registers initialisation The CPU_MAP register is duplicated for each CPUs at different addresses, each instance being at a different address. However, the code so far was using CONFIG_NR_CPUS to initialise the CPU_MAP registers for each registers, while the SoCs embed at most 4 CPUs. This is especially an issue with multi_v7_defconfig, where CONFIG_NR_CPUS is currently set to 16, resulting in writes to registers that are not CPU_MAP. Fixes: c5aff18204da ("net: mvneta: driver for Marvell Armada 370/XP network unit") Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.8+ Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 080481f97f425f89440386d02201c1d014f9e0dc Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:34 2015 +0200 irqchip: armada-370-xp: Rework per-cpu interrupts handling The MPIC driver currently has a list of interrupts to handle as per-cpu. Since the timer, fabric and neta interrupts were the only per-cpu interrupts in the system, we can now remove the switch and just check for the hardware irq number to determine whether a given interrupt is per-cpu or not. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aec2e2ad1786eb07814ae60988e0e306cd24a6cc Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:33 2015 +0200 irq: Export per-cpu irq allocation and de-allocation functions Some drivers might use the per-cpu interrupts and still might be built as a module. Export request_percpu_irq an free_percpu_irq to these user, which also make it consistent with enable/disable_percpu_irq that were exported. Reported-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1b7febd725a2cdfc8ac245b7b7437ce4b91aecb Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 18:09:32 2015 +0200 genirq: Fix the documentation of request_percpu_irq The documentation of request_percpu_irq is confusing and suggest that the interrupt is not enabled at all, while it is actually enabled on the local CPU. Clarify that. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 271707b1d817f5104e02b2bd1bab43f0c8759418 Author: Graham Moore <grmoore@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 21 09:39:31 2015 -0500 mtd: nand: denali: max_banks calculation changed in revision 5.1 Read Denali hardware revision number and use it to calculate max_banks, The encoding of max_banks changed in Denali revision 5.1. Signed-off-by: Graham Moore <grmoore@xxxxxxxxxxxxxxxxxxxxx> [Brian: parentheses around macro arg] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 99c221df33fbfa1b30e15dee879eb0a9ae1be353 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Sep 28 18:42:37 2015 +0900 irqchip/renesas-irqc: Move over to nested generic chip Convert the IRQC driver to rely on GENERIC_IRQ_CHIP and set IRQ_GC_INIT_NESTED_LOCK to enable nested locking. 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/20150928094237.32552.83434.sendpatchset@little-apple Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e7dbe2da5e8e247c6e62a0894935d94d7153ed16 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Sep 28 18:42:28 2015 +0900 irqchip/renesas-irqc: Add r8a7795 INTC-EX DT documentation For some reason the name of the external interrupt controller has changed name with r8a7795, so use "intc-ex" instead of "irqc" as r8a7795 compat string to follow the friendly documentation. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Reviewed-by: horms@xxxxxxxxxxxx Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: jason@xxxxxxxxxxxxxx Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150928094228.32552.83336.sendpatchset@little-apple Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 9c07d094bbfe3d09e4c3e01a81cd1399bd23b268 Author: Enrico Jorns <ejo@xxxxxxxxxxxxxx> Date: Fri Sep 18 10:02:41 2015 +0200 mtd: nand: denali: pass col argument to READID operation A read id operation followed by 0x00 reads the device ID while a read id operation followed by 0x20 reads the possible ONFI identifier. As the READID function did not propagate the second id parameter but had a hard-coded call for 0x90 0x00, reading the ONFI identifier was not possible and thus chips werde not detected (tested with MT29F8G08ABABAWP) Signed-off-by: Enrico Jorns <ejo@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9525c4dd923f8ffe38818f86cee523a5f7b19617 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:28:53 2015 +0100 drm/i2c: tda998x: clean up after struct tda998x_priv2 removal We can now kill a number of glue functions which were sitting between the common tda998x code and the drm encoder/connector methods. This results in slightly cleaner code. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a3584f60f4898c9479931cdca1dc19f758af45fb Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:22:50 2015 +0100 drm/i2c: tda998x: kill struct tda998x_priv2 Kill the redundant tda998x_priv2 structure now that its only member is the struct tda998x_priv. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit eed64b5963f1496be62ba41f536346b2186727a0 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:18:28 2015 +0100 drm/i2c: tda998x: move connector into struct tda998x_priv Move the DRM connector structure into struct tda998x_priv from the old struct tda998x_priv2. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 78e401f9891a8ecdb075c0ca46f9f43ce0ed0c4e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:17:12 2015 +0100 drm/i2c: tda998x: remove encoder pointer Remove the encoder pointer from struct tda998x_priv, moving the encoder itself from struct tda998x_priv2 here. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3d58e31888318ebd157ba0680fb24cdcd1bc3d6f Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:13:50 2015 +0100 drm/i2c: tda998x: remove DRM slave encoder support Remove the DRM slave encoder compatibility from the TDA998x driver. We now use the component helpers to manage the binding of DRM sub-drivers. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c1444c6357217cea405415b4c96491d4057b0746 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 16:52:51 2015 -0500 bridge: Pass net into br_validate_ipv4 and br_validate_ipv6 The network namespace is easiliy available in state->net so use it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5f5d74d723146c5b97c7318b5851af15b30e3304 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 15:07:31 2015 -0500 ipv6: Pass struct net into ip6_route_me_harder Don't make ip6_route_me_harder guess which network namespace it is routing in, pass the network namespace in. Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e45f50660ee5fd38a540afabb7c0f65d063db631 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 15:07:30 2015 -0500 ipv4: Pass struct net into ip_route_me_harder Don't make ip_route_me_harder guess which network namespace it is routing in, pass the network namespace in. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6a1d689d9f2953975df937be020ae60fa10a73c1 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 15:07:29 2015 -0500 netfilter: ipt_SYNPROXY: Pass snet into synproxy_send_tcp ip6t_SYNPROXY already does this and this is needed so that we have a struct net that can be passed down into ip_route_me_harder, so that ip_route_me_harder can stop guessing it's context. Along the way pass snet into synproxy_send_client_synack as this is the only caller of synprox_send_tcp that is not passed snet already. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d815d90bbbc08777c0e3a36f57b97fc4a4fb3150 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 15:07:28 2015 -0500 netfilter: Push struct net down into nf_afinfo.reroute The network namespace is needed when routing a packet. Stop making nf_afinfo.reroute guess which network namespace is the proper namespace to route the packet in. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 372892ec1151c895c7dec362f3246f089690cfc7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 25 15:07:27 2015 -0500 ipv4: Push struct net down into nf_send_reset This is needed so struct net can be pushed down into ip_route_me_harder. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4ee4301c4bab22c84df20ce694cc6932dd812be5 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 10:19:35 2015 -0400 tracing: Only create branch tracer options when compiled in When the branch tracer is not compiled in, do not create the option files associated to it. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 729358da95a1b3850ef892e9384f58932da1dc69 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 10:15:10 2015 -0400 tracing: Only create function graph options when it is compiled in Do not create fuction graph tracer options when function graph tracer is not even compiled in. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a3418a364ec3c8f0c29bf3f4cfc71dc6f240150e Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 09:43:30 2015 -0400 tracing: Use TRACE_FLAGS macro to keep enums and strings matched Use a cute little macro trick to keep the names of the trace flags file guaranteed to match the corresponding masks. The macro TRACE_FLAGS is defined as a serious of enum names followed by the string name of the file that matches it. For example: #define TRACE_FLAGS \ C(PRINT_PARENT, "print-parent"), \ C(SYM_OFFSET, "sym-offset"), \ C(SYM_ADDR, "sym-addr"), \ C(VERBOSE, "verbose"), Now we can define the following: #undef C #define C(a, b) TRACE_ITER_##a##_BIT enum trace_iterator_bits { TRACE_FLAGS }; The above creates: enum trace_iterator_bits { TRACE_ITER_PRINT_PARENT_BIT, TRACE_ITER_SYM_OFFSET_BIT, TRACE_ITER_SYM_ADDR_BIT, TRACE_ITER_VERBOSE_BIT, }; Then we can redefine C as: #undef C #define C(a, b) TRACE_ITER_##a = (1 << TRACE_ITER_##a##_BIT) enum trace_iterator_flags { TRACE_FLAGS }; Which creates: enum trace_iterator_flags { TRACE_ITER_PRINT_PARENT = (1 << TRACE_ITER_PRINT_PARENT_BIT), TRACE_ITER_SYM_OFFSET = (1 << TRACE_ITER_SYM_OFFSET_BIT), TRACE_ITER_SYM_ADDR = (1 << TRACE_ITER_SYM_ADDR_BIT), TRACE_ITER_VERBOSE = (1 << TRACE_ITER_VERBOSE_BIT), }; Then finally we can create the list of file names: #undef C #define C(a, b) b static const char *trace_options[] = { TRACE_FLAGS NULL }; Which creates: static const char *trace_options[] = { "print-parent", "sym-offset", "sym-addr", "verbose", NULL }; The importance of this is that the strings match the bit index. trace_options[TRACE_ITER_SYM_ADDR_BIT] == "sym-addr" Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ce3fed628ecc86d81fdb2be5a5c336c636960bfe Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Sep 29 09:22:05 2015 -0400 tracing: Use enums instead of hard coded bitmasks for TRACE_ITER flags Using enums with FLAG_BIT and then defining a FLAG = (1 << FLAG_BIT), is a bit more robust as we require that there are no bits out of order or skipped to match the file names that represent the bits. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 938db5f569247d13910d4542666709623c4253b0 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Sep 28 16:21:55 2015 -0400 tracing: Remove unused tracing option "ftrace_preempt" There was a time where the function tracing would disable interrupts unless specifically told not to, where it would only disable preemption. With the new lockless code, the function tracing never disalbes interrupts and just uses disabling of preemption. Remove the option "ftrace_preempt" as it does nothing anyway. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 03905582fd093940cf609956adf6feb494e45346 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Sep 28 15:37:49 2015 -0400 tracing: Move "display-graph" option to main options In order to facilitate making all tracer options visible even when the tracer is not active, we need to get rid of duplicate options. Any option that is shared between multiple tracers really should be a main option. As the wakeup and irqsoff tracers both use the "display-graph" option, and use it exactly the same way, move that option from the tracer options to the main options and consolidate them. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 7ee20ff0072154d326c86223fbb88d23aa152b91 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 15:47:51 2015 +0200 ARM: mvebu: Use a CR_C constant instead of a hard-coded one Fix the armada_370_xp_pmsu_idle_enter() function to use a CR_C constant instead of a hard-coded constant in the assembly part. This clean-up was suggested by Russell King. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a3ff23375aa4dac7ceee2087f02b4141c78c762e Author: Guo Zeng <Guo.Zeng@xxxxxxx> Date: Fri Aug 14 01:11:03 2015 +0000 clk: atlas7: fix noc/socket disconnect/reconnect for unit clks Power management on of NoC(Notwork On Chip) requires that disconnect and reconnect routine should been done during clk disable/enable. also there are different types of clocks, For NoC Macro clocks, write idle_bit and wait for hardward ACK; For Socket clocks, write idle_bit; For others, do nothing. Signed-off-by: Guo Zeng <Guo.Zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 1f57d1d88cb2a89466e1782e1c2fd358771ea4c5 Author: Guo Zeng <Guo.Zeng@xxxxxxx> Date: Fri Aug 14 01:11:02 2015 +0000 clk: atlas7: move variable-definition together re-order the codes more reasonable by moving variable-definition together. Signed-off-by: Guo Zeng <Guo.Zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Michael Turquette <mturquette@xxxxxxxxxxxx> commit 007ee5f65693fd7370c0f6e70269175ac2ed1a28 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:34:00 2015 -0500 power: bq24257: Add various device-specific sysfs properties This patch adds support for enabling/disabling optional device specific features through sysfs properties at runtime. * High-impedance mode enable/disable * Sysoff enable/disable Refer to the respective device datasheets for more information: http://www.ti.com/product/bq24250 http://www.ti.com/product/bq24251 http://www.ti.com/product/bq24257 Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 0cfbfde65aec4cd9ae4e7971f8a3e42c69e8e24f Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:59 2015 -0500 power: bq24257: Allow input current limit sysfs access This patch allows reading and writing of the input current limit through the power supply's input_current_limit sysfs property. This allows userspace to see what charger was detected (if the D+/D- USB signal- based charger type detection is enabled) and to re-configure the maximum current drawn from the external supply at runtime based on system-level knowledge or user input. Note that upon charger disconnection and re-connection the limit configured through firmware becomes active again (or the D+/D- USB signal-based charger detection will be run again). Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 138606ffe45511fa774e51df04f6da562ff9c44d Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:58 2015 -0500 power: bq24257: Add input DPM voltage threshold setting support A new optional device property called "ti,in-dpm-voltage" is introduced to allow configuring the input voltage threshold for the devices' dynamic power path management (DPM) feature. In short, it can be used to prevent the input voltage from dropping below a certain value as current is drawn to charge the battery or supply the system. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit bb2956e8e1976d876a755896f5be287cb7e766b2 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:57 2015 -0500 power: bq24257: Add over voltage protection setting support A new optional device property called "ti,ovp-voltage" is introduced to allow configuring the input over voltage protection setting. This commit also adds the basic sysfs support for custom properties which is being used to allow userspace to read the current ovp-voltage setting. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7c071a0a08f6c6327b86df918d2dda728355d457 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:56 2015 -0500 power: bq24257: Add SW-based approach for Power Good determination A software-based approach for determining the charger's input voltage "Power Good" state is introduced for devices like the bq24250 which don't have a dedicated hardware pin for that purpose. This SW-based approach is also used for other devices (with dedicated PG pin) as a fall back solution if that pin is not configured to be used through "pg-gpios". Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit eb9fbcc6693ad73745198bbfc7c2b0e881580f59 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:55 2015 -0500 power: bq24257: Allow manual setting of input current limit A new optional device property called "ti,current-limit" is introduced to allow disabling the D+/D- USB signal-based charger type auto- detection algorithm used to set the input current limit and instead to use a fixed input current limit. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 02e6ef9fba3ed85e31b13cbd6bb2185412b44c9e Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Sep 29 22:46:10 2015 +0800 ALSA: firewire-lib: process_rx_data_blocks() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7ef62365c61572085e63e8a7c3483bacfff6e541 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:54 2015 -0500 power: bq24257: Add bit definition for temp sense enable Adding a missing bit definition for the sake of consistency device model vs. bit field representation. No change in functionality. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit bf02dca9ee9d5f9ea7a0ef2e15a2051b8cca6b09 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:53 2015 -0500 power: bq24257: Add basic support for bq24250/bq24251 This patch adds basic support for bq24250 and bq24251 which are very similar to the bq24257 the driver was originally written for. Basic support means the ability to select a device through Kconfig, DT and ACPI, an instance variable allowing to check which chip is active, and the reporting back of the selected device through the model_name power supply sysfs property. This patch by itself is not sufficient to actually use those two added devices in a real-world setting due to some feature differences which are addressed by other patches in this series. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit fff59df1054a56b7960b3a0aa96d86d955dacf55 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:49 2015 -0500 dt: power: bq24257-charger: Cover additional devices Extend the bq24257 charger's device tree documentation to cover the bq24250 and bq24251 devices as well feature additions. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3b84b8efef054ba59e7679d1d430afb437aa4640 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:52 2015 -0500 power: bq24257: Simplify bq24257_power_supply_init() Eliminate a few lines of code by using the PTR_ERR_OR_ZERO() macro. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit dfc602524b9f4ecc6de9a3050667412176db7c55 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Mon Sep 28 17:33:51 2015 -0500 power: bq24257: Use managed power supply register Use the devm_* managed version of the function to register the power supply and remove the associated unregister function. This will simplify error handling moving forward as it allows the unregister to happen automatically. It also saves a few lines of code. As this changes the order of putting the bq24257 into reset vs. unregistering the power-supply during driver remove re-tested various driver unload scenario to make sure that this doesn't cause any unintended side effects such as erroneous interrupts. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b771ae27bc72c7be48993872396c8f1d9a72b12d Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Wed Sep 23 19:53:58 2015 +0200 ARM: dts: stih410: Enable USB2.0 and related PHY nodes at board level A board might not expose the USB2.0 ports, so disable them by default in SoC file, and enable them in b2120 board. Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Acked-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit a4553fefb59cb0336f543fa567170b47e90142a9 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Sep 25 14:43:01 2015 +0800 Btrfs: consolidate btrfs_error() to btrfs_std_error() btrfs_error() and btrfs_std_error() does the same thing and calls _btrfs_std_error(), so consolidate them together. And the main motivation is that btrfs_error() is closely named with btrfs_err(), one handles error action the other is to log the error, so don't closely name them. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Suggested-by: David Sterba <dsterba@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 57d816a15ba2c2690c57635134bc01cf4da4623c Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:52 2015 +0800 Btrfs: __btrfs_std_error() logic should be consistent w/out CONFIG_PRINTK defined error handling logic behaves differently with or without CONFIG_PRINTK defined, since there are two copies of the same function which a bit of different logic One, when CONFIG_PRINTK is defined, code is __btrfs_std_error(..) { :: save_error_info(fs_info); if (sb->s_flags & MS_BORN) btrfs_handle_error(fs_info); } and two when CONFIG_PRINTK is not defined, the code is __btrfs_std_error(..) { :: if (sb->s_flags & MS_BORN) { save_error_info(fs_info); btrfs_handle_error(fs_info); } } I doubt if this was intentional ? and appear to have caused since we maintain two copies of the same function and they got diverged with commits. Now to decide which logic is correct reviewed changes as below, 533574c6bc30cf526cc1c41bde050c854a945efb Commit added two copies of this function cf79ffb5b79e8a2b587fbf218809e691bb396c98 Commit made change to only one copy of the function and to the copy when CONFIG_PRINTK is defined. To fix this, instead of maintaining two copies of same function approach, maintain single function, and just put the extra portion of the code under CONFIG_PRINTK define. This patch just does that. And keeps code of with CONFIG_PRINTK defined. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 92fc03fbdcbe2523be3f7e6b8e95fee9563a10d2 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:51 2015 +0800 Btrfs: SB read failure should return EIO for __bread failure This will return EIO when __bread() fails to read SB, instead of EINVAL. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit c1b7e474595b1b3a4463450cc22aa18b926093a3 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:50 2015 +0800 Btrfs: rename super_kobj to fsid_kobj Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 325760404820e070bb20be0ce57e8d684d69a2ac Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:49 2015 +0800 Btrfs: rename btrfs_kobj_rm_device to btrfs_sysfs_rm_device_link Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit e3bd6973bcf134a56786a8bd248d1740249352ec Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:48 2015 +0800 Btrfs: rename btrfs_kobj_add_device to btrfs_sysfs_add_device_link Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 6618a59bfc0a0490f2a51df37c67878e23285670 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:47 2015 +0800 Btrfs: rename btrfs_sysfs_remove_one to btrfs_sysfs_remove_mounted Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 96f3136e51580ed68a2952341c8b9e2d7f853472 Author: Anand Jain <anand.jain@xxxxxxxxxx> Date: Fri Aug 14 18:32:46 2015 +0800 Btrfs: rename btrfs_sysfs_add_one to btrfs_sysfs_add_mounted Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxxx> commit 9a3ed1332fb93b3573a3f0ae99315e2dcc041967 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:57 2015 +0200 ARM: mvebu: define crypto SRAM ranges in armada-375-db.dts Define the crypto SRAM ranges so that the resources referenced by the sa-sram node can be properly extracted from the DT. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 35e5bb58dbf6c7b309387a83ffa04584d669ef8b Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:56 2015 +0200 ARM: mvebu: add crypto related nodes to armada 375 dtsi Add crypto related nodes in armada-375.dtsi. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit b416f1926eb6d0f21467b6782c8555af04c46082 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:55 2015 +0200 ARM: mvebu: define crypto SRAM ranges for all armada-370 boards Define the crypto SRAM ranges so that the resources referenced by the sa-sram node can be properly extracted from the DT. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 2dbcdb11a6cfde6b54702c7550f5826f46c3c612 Author: Arnaud Ebalard <arno@xxxxxxxxxxxx> Date: Tue Sep 22 11:20:06 2015 +0200 ARM: mvebu: add crypto related nodes to armada 370 dtsi Add crypto related nodes in armada-370.dtsi. Signed-off-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit c466d997bb160f7c3527f8bb204b1919cbb25259 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:53 2015 +0200 ARM: mvebu: define crypto SRAM ranges for all armada-xp boards Define the crypto SRAM ranges so that the resources referenced by the sa-sram node can be properly extracted from the DT. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 076cdcb12f784b2057f172b5caca641fafa67cdf Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 24 16:14:55 2015 +0200 mac80211: use bool argument to ieee80211_send_nullfunc Instead of int with 0/1, use bool with false/true for the powersave argument to ieee80211_send_nullfunc(). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 90d13e8f5b3c2445f481be4a2012a1861337f718 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 24 16:13:07 2015 +0200 mac80211: reduce indentation by inlining a check Instead of nesting two if statements, inline the second check into the first if statement and to indentation. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 50f36ae61a5b65ba4612a5d2aa696c8ac5b6c988 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Thu Sep 24 14:59:48 2015 +0200 mac80211: fix tx sequence number assignment with software queue + fast-xmit When using software queueing, tx sequence number assignment happens at ieee80211_tx_dequeue time, so the fast-xmit codepath must not do that. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 44674d9c2267f454f38df7b2395939bfa911f92e Author: Ayala Beker <ayala.beker@xxxxxxxxx> Date: Wed Sep 23 10:41:27 2015 +0200 mac80211: advertise support for full station state in AP mode This enables adding stations in unauthenticated mode, just after receiving the first authentication frame; which in turn allows sending a negative authentication reply if the station cannot be added. In addition init rate control for unassociated station only when it becomes associated, prior to that low rates will be used. Signed-off-by: Ayala Beker <ayala.beker@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 47edb11b522561658fe719e56aa69a3c3098a3fe Author: Ayala Beker <ayala.beker@xxxxxxxxx> Date: Mon Sep 21 15:49:53 2015 +0300 cfg80211: allow changing station capabilities for unassociated stations Currently, cfg80211 rejects capability updates for existing entries and as a result it's impossible to update entries that were added unassociated, but that is necessary to go through the full station states from userspace, adding a station before authentication etc. Fix this by allowing updates to capabilities for stations that the driver (or mac80211) assigned unassociated state. Drivers setting the full station state support flag must use the new station type for proper operation. Signed-off-by: Ayala Beker <ayala.beker@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d0a77c6569abe29d921148c45f598bc796084226 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 23 10:42:28 2015 +0200 mac80211: allow writing TX PN in debugfs For certain tests, for example replay detection, it can be useful to be able to influence/set the PN used in outgoing packets. Make it possible to change the TX PN in debugfs. For now, this doesn't support TKIP since I haven't needed it, but there's no reason it couldn't be added if necessary. Note that this must be used very carefully: it could, for example, be used to make "valid replays" where the PN reuse happens on a different TID. This couldn't be done by an attacker since the TID is protected as part of the AAD. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 416eb9fc29469f036c85b412edf89774d6b34b0f Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Sep 23 14:18:36 2015 +0200 mac80211: Deinline drv_get/set/reset_tsf() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining these functions have sizes and callsite counts as follows: drv_get_tsf: 634 bytes, 6 calls drv_set_tsf: 626 bytes, 2 calls drv_reset_tsf: 617 bytes, 2 calls Total size reduction is about 4.2 kbytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: Johannes Berg <johannes.berg@xxxxxxxxx> CC: John Linville <linville@xxxxxxxxxxxxx> CC: Michal Kazior <michal.kazior@xxxxxxxxx> CC: linux-wireless@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6db96838971eb4c8ae6285795188f391e97d47c3 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Sep 23 14:18:35 2015 +0200 mac80211: Deinline drv_ampdu_action() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining the function size is 755 bytes and there are 6 callsites. Total size reduction is about 3.3 kbytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: Johannes Berg <johannes.berg@xxxxxxxxx> CC: John Linville <linville@xxxxxxxxxxxxx> CC: Michal Kazior <michal.kazior@xxxxxxxxx> CC: linux-wireless@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 42677ed33a8b6995e6af2ec15643840afcf1c48b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Sep 23 14:18:34 2015 +0200 mac80211: Deinline drv_switch_vif_chanctx() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining the function size is 821 bytes and there are 2 callsites, reducing code size by about 800 bytes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> CC: Johannes Berg <johannes.berg@xxxxxxxxx> CC: John Linville <linville@xxxxxxxxxxxxx> CC: Michal Kazior <michal.kazior@xxxxxxxxx> CC: linux-wireless@xxxxxxxxxxxxxxx CC: linux-kernel@xxxxxxxxxxxxxxx [adjust code-style a bit] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0e5c371aa05522ac14e91ddee0522ad855e12d02 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 23 14:02:47 2015 +0200 mac80211: improve __rate_control_send_low warning If there are no supported rates in the rate mask with the required flags, we warn, but it's not clear which part causes the warning. Add the relevant data to the warning to understand why it happens. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a0c391b1345cfaecfb24c3c07378d80f6168fb61 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 23 10:29:20 2015 +0200 mac80211: minstrel[_ht]: remove non-ascii debugfs characters Replace the average symbol by "avg" to avoid being warned about the non-ASCII symbol all the time, line up the columns properly. (I changed my mind - the warnings are getting annoying) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 27392719541c89595a5c03d49b599ddfe009e6b8 Author: Eliad Peller <eliadx.peller@xxxxxxxxx> Date: Mon Sep 21 15:50:26 2015 +0300 mac80211: don't tear down aggregation on suspend in case of wowlan->any In case of "any" wowlan trigger, there is no reason to tear down aggregations, as we want the device to continue working normally. Similarly, there's no reason to tear down aggregations on resume, as they should have been torn down on suspend if needed. However, since the reconfiguration flow is shared with HW restart, tear down aggregations on reconfiguration when we are not resuming. To keep things working after non-wowlan suspend, keep clearing the WLAN_STA_BLOCK_BA flag. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9f0e13546ef5773b7059b531a667ec47a5f897ee Author: Fu, Zhonghui <zhonghui.fu@xxxxxxxxxxxxxxx> Date: Sat Sep 19 10:40:14 2015 +0800 net/wireless: enable wiphy device to suspend/resume asynchronously Now, PM core supports asynchronous suspend/resume mode for devices during system suspend/resume, and the power state transition of one device may be completed in separate kernel thread. PM core ensures all power state transition timing dependency between devices. This patch enables wiphy device to suspend/resume asynchronously. This can take advantage of multicore and improve system suspend/resume speed. Signed-off-by: Zhonghui Fu <zhonghui.fu@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9aae296a6208188fb40da987efb6bcd92f4fb169 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 15:19:38 2015 +0200 mac80211: Deinline drv_add/remove/change_interface() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining these functions have sizes and callsite counts as follows: drv_add_interface: 638 bytes, 5 calls drv_remove_interface: 611 bytes, 6 calls drv_change_interface: 658 bytes, 1 call Total size reduction is about 9 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: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4fbd572c29bd184146e8adf52631db193c4e34b9 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 15:19:35 2015 +0200 mac80211: Deinline drv_sta_rc_update() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining the function size is 706 bytes and there are 2 callsites, reducing code size by about 700 bytes. 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: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b23dcd4aca1854cda520def01731ad035cae94d8 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 15:19:34 2015 +0200 mac80211: Deinline drv_conf_tx() With this .config: http://busybox.net/~vda/kernel_config_ALLYES_Os, after deinlining the function size is 785 bytes and there are 7 callsites. Total size reduction is about 3.5 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: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 35afa588624c4f9e19a0edfbb51769b59c90bb0d Author: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Date: Wed Sep 9 09:46:32 2015 +0200 mac80211: Copy tx'ed beacons to monitor mode When debugging wireless powersave issues on the AP side it's quite helpful to see our own beacons that are transmitted by the hardware/driver. However, this is not that easy since beacons don't pass through the regular TX queues. Preferably drivers would call ieee80211_tx_status also for tx'ed beacons but that's not always possible. Hence, just send a copy of each beacon generated by ieee80211_beacon_get_tim to monitor devices when they are getting fetched by the driver. Also add a HW flag IEEE80211_HW_BEACON_TX_STATUS that can be used by drivers to indicate that they report TX status for beacons. Signed-off-by: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> (with a fix from Christian Lamparted rolled in) Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 759742d13caa11acf24b0aef7daa8b56f244f231 Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Wed Sep 23 03:04:24 2015 +0200 ARM: dts: stih407/410: Tidy up display nodes The display nodes are common to both STiH407 and STiH410, move them to the family file. Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Acked-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit 8aa5f09df06f0c3a5a799c5fcf878acaf29db93f Author: Maxime Coquelin <maxime.coquelin@xxxxxx> Date: Wed Sep 23 02:47:44 2015 +0200 ARM: dts: stih407: Enable PWM nodes only board level The PWM may not be used on some boards, so enable them only the board file. Acked-by: Patrice Chotard <patrice.chotard@xxxxxx> Acked-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> commit b2ee6b7bd597f567dc40447bb2ca473604ce3b6a Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 10:08:52 2015 +0200 ARM: mvebu: add crypto related nodes to armada-xp.dtsi Add crypto related nodes to armada-xp.dtsi. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 97dd823e7e88d6c5a1aaf6dae5ecf5d0c43850ca Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:09:21 2015 +0200 ARM: mvebu: add CPU config registers in the Armada 370/XP Device Tree This commit adds the description of the CPU config registers in the Armada 370 and Armada XP Device Tree. Since the registers are in fact different between the two SoCs, a different compatible string is used. Note that the Armada 370 node is currently unused, but it is nonetheless added for consistency with the addition on the Armada XP side. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit a591989a7c162587f24305c3fe3bd8f055ed3329 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:31 2015 +0200 iommu/amd: Drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) { \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); x = NULL; -} // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d492cccac28493f26bb70038385a9ef4df19bdee Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 8 16:09:20 2015 +0200 ARM: mvebu: add support to clear shared L2 bit on Armada XP For optimal performance, in a HW I/O coherency context such as the one used on Armada XP, the shared L2 bit of the CPU configuration register should be cleared. This commit adjusts the coherency fabric code used by Marvell EBU processors to clear this bit on Armada XP. Since it's a per-CPU register, it's cleared in set_cpu_coherent() for the boot CPU, and through a CPU notifier for the non-boot CPUs. [gregory.clement@xxxxxxxxxxxxxxxxxx: rebasd on 4.3-rc1] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> commit 0c6cac7ab44435d8837931a561cc4d58530cc032 Author: Bastien Nocera <hadess@xxxxxxxxxx> Date: Thu Sep 10 14:46:40 2015 +0200 hwmon: applesmc: fix comment typos s/ressources/resources/ Signed-off-by: Bastien Nocera <hadess@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0dec1474ab27f308c0d6ef542ef36100712dc81b Author: Rolf Eike Beer <eike-kernel@xxxxxxxxx> Date: Fri Sep 4 20:52:45 2015 +0200 Kconfig: remove comment about scsi_wait_scan module This module has been removed in commit 6072609d9bb91ff54aee3ef29304bd5b4fc88aae ([SCSI] Remove scsi_wait_scan module), so this module is gone since 3.6. Signed-off-by: Rolf Eike Beer <eike-kernel@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1207775428d57508fd1b4c9403833463a6b632c2 Author: Rolf Eike Beer <eike-kernel@xxxxxxxxx> Date: Fri Sep 4 20:49:14 2015 +0200 class_find_device: fix reference to argument "match" There is no argument "fn". Signed-off-by: Rolf Eike Beer <eike-kernel@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 99207b80bbf602f1674485c3f9653b7c527785d9 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:12 2015 -0400 staging/lustre: Remove ccc_transient_page_* methods All of them but the ccc_transient_page_prep are unused, so remove the unused ones. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6f4b8554f9b0bd5ac86f495c137de0696856f6c Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:11 2015 -0400 staging/lustre: Remove unused ccc_io_fini() Does not appear to be used anywhere. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c74cb0125fc80c2179c0a321ad698a882676fbc Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:10 2015 -0400 staging/lustre: Remove ccc_attr/conf_set() These seem to be unused. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af3ec53b7b6723d89f25f223ca293b3361071272 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:09 2015 -0400 staging/lustre: Remove server-only recovery-related bits This patch is a first stab at trying to remove structure fields from obd_export and obd structures that are only used on the server or make sense on the server. These include tracking requests in recovery, various recovery stages, lists of recovered and not yet recovered clients and so on. Also prune functions that use these fields. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 706d263ffaad264f72a3b4dbbc4b904aec87352d Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:08 2015 -0400 staging/lustre/obdclass: Remove unused nid_hash nid_hash is used on export to faster find clients based on their NID. There's no use for that on the client. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 072b36e13e766e715944ead0ee35d131ecee0071 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:07 2015 -0400 staging/lustre/fid: Remove unused struct lu_server_seq Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4f8407fb1ef35b8fd2475e15eba6f2c928b78ae Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:06 2015 -0400 staging/lustre/fid: Get rid of lcs_srv in lu_client_seq Since we know lcs_srv is always NULL, just get rid of it completely and fix up all the code to assumee it was never there. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 997f0eed26eb14c14e01810a097f7f69e7adbf48 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:05 2015 -0400 staging/lustre/fid: Remove unused seq_client_get_seq function Also while we are at it, remove seq_site_fini forward declaration as there's no such function anymore. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 065749efe4b27333338d7d7db68adf82afdef1fb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:04 2015 -0400 staging/lustre/fid: seq_client_init/fini don't need to be exported In fact they could be static as they are only used inside this file, so remove EXPORT_SYMBOL and declarations. Also seq_client_init is always called with srv = NULL, so just drop this argument. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db65e92727017ccba61e998bd26f87ca34283d17 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:03 2015 -0400 staging/lustre/fid: Remove server fid function declarations Those functions are not present anywhere in the client code. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db2162d17565ff1f90fe24464cc14974ce9fbff6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 28 23:44:02 2015 -0400 staging/lustre: remove lots of dead code This is a large patch to remove all dead code from obdclass and ptlrpc, purely removing functions and declarations now, so despite the size should be easy enough to verify. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e57708b2071cdff36d8b8815dad30b345ac5d2d Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:01 2015 -0400 staging/lustre: Drop unused obdo_from_la() and la_from_obdo() They are no longer used anywhere. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d97cc6442a44ecbd5e7c6c00be4a863de3ee3158 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:44:00 2015 -0400 staging/lustre/ptlrpc: secure wrapping code cleanup Drop unused functions. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11109260080f2840e3563cbede8bec73c0699f5a Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:59 2015 -0400 staging/lustre/ptlrpc: Drop unused client code These client request/import functions are not used anywhere, so drop them. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e461e18fabdcbb2f16d2d094c6d5512c0cd2a51b Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:58 2015 -0400 staging/lustre/obdclass: Drop unused code from obdo.c These functions are not even referenced in any header files anymore. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a6c5cb5f65596776f0fdc8593fe0d33a72a44ea Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:57 2015 -0400 staging/lustre: Remove unused function server_name2svname() All users are only in the server code Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a459a79cea24cf0f6def24a16ce7b308d93d8a2 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:56 2015 -0400 staging/lustre: Remove unused function class_handle_hash_back() No callers left. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f27355ba2f7b3f6916e9dd8e46a7a540a88eb564 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:55 2015 -0400 staging/lustre/obdclass: Remove unused functions from genops.c These functions are mostly used on the server. class_uuid2obd, get_devices_count, class_obd_list, class_conn2obd, class_conn2cliimp, class_connected_export, obd_exports_barrier, kuc_* (kernel-userspace communications). Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b30c78e216e5ce37b28c665b22ff9ec2882d7c2c Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:54 2015 -0400 staging/lustre/ldlm: Remove unused round_timeout function It's not referenced anywhere anymore. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 709e280afae54722421cc43e8b8436d058aae03f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:53 2015 -0400 staging/lustre: Remove unused lu_object functions. Quite a bunch of them are only used on the server. lu_object_put_nocache, lu_object_invariant, lu_dev_del_linkage, lu_context_tags_update, lu_context_tags_clear, lu_session_tags_update, lu_session_tags_clear, lu_env_refill_by_tags, lu_printk_printer, lu_object_assign_fid, lu_object_anon, lu_buf_free, lu_buf_alloc, lu_buf_realloc, lu_buf_check_and_alloc, lu_buf_check_and_grow Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a83a765d14df24c8fa0fc500d24b0334638ee828 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:52 2015 -0400 staging/lustre: Remove unused functions and definitions from cl_object cl_object_header_fini, cl_object_has_locks, cl_attr2lvb, cl_page_list_own, cl_page_list_unmap, cl_2queue_assume, cl_io_print, cl_enqueue, also cleanup extern declarations in cl_object.h Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5febc9916156226f519be65a32648c0c4a699ac Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:51 2015 -0400 staging/lustre: Remove unused ptlrpcd_add_rqset() No point in retaining it if it's unused. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d075f05f40a8b5349b54a822a26fd0777d99918 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:50 2015 -0400 staging/lustre: Remove unused statfs_pack() It's only used on the server. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 942f38903c6c00db24d6bfc42af79dba6bd895ba Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:49 2015 -0400 staging/lustre: Remove high-priority request callbacks This function is only used on the server where real high-priority requests actually exist. This deletes ptlrpc_hpreq_handler() and ptlrpc_request_change_export() Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dab49b4062f51346a88a7426132e76c1b4d23ad4 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:48 2015 -0400 staging/lustre: Remove unused reply state batches code rs_batch is used on the server only. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0744613b234a59a53cad6302e6925ee0874bb51 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:47 2015 -0400 staging/lustre: Remove unused req_capsule_server_grow It's only used on the server Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e64674d093ed58e507cf93647e690c2a11541181 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:46 2015 -0400 staging/lustre/ptlrpc: Remove server-specific health checks ptlrpc_service_health_check is only used on a service, so it makes no point to retain it in the client code. Also removing it's helpers: ptlrpc_svcpt_health_check and ptlrpc_nrs_req_peek_nolock Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 600362f9170af4b3370c8e43cddb81a8182a7998 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:45 2015 -0400 staging/lustre: Remove unused lustre_acl_xattr_merge2posix() Apparently this is only used only on the metadata server. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f24f47a4778df876acc2f3204465e4710f575bcf Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 28 23:43:44 2015 -0400 staging/lustre: Remove unused target_print_req() This is a server-side request printing function, so we don't really need it on the client. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 636db7a96cbd95f7842246a3f5f842ba791cd393 Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Fri Sep 4 01:54:22 2015 +0200 debugfs: document that debugfs_remove*() accepts NULL and error values According to commit a59d6293e537 ("debugfs: change parameter check in debugfs_remove() functions"), this is meant to make cleanup easier for callers. In that case it ought to be documented. Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5bd28f0701ca989629bfeae86e5167b54804bb60 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Sep 29 11:14:42 2015 +0530 Staging: most: Use module_i2c_driver Macro module_i2c_driver is used for drivers whose init and exit paths does only register and unregister to i2c API. Remove some boilerplate code by using module_i2c_driver. Problem found using Coccinelle. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02ab79c80bc4ba5288e84d717ec4f6dc0030c90f Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Tue Sep 29 12:22:03 2015 +0100 staging: comedi: ni_tiocmd: remove unused code Code after a return will never run, removing this dead code. Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1282bade3b8e34cb4a26b8444577d70c7f15e0d8 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 29 10:47:49 2015 +0300 staging: sm750fb: remove dead code Remove the code enclosed in '#if 0' Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbef168fec837ae26c8725737cd4b49dc8a0f917 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Tue Sep 29 15:05:44 2015 +0200 Bluetooth: Add hci_cmd_sync function Send a HCI command and wait for command complete event. This function serializes the requests by grabbing the req_lock. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b5ffe634425591db5692fa242da0bbe20d1f76a7 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:47 2015 +0530 net: 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: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 18e8e5c7a9f9aef1b45e0729dc340989d5a954d0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:46 2015 +0530 mm: 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: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a1c83681d52704c766d576bea2d7f2f99e8dde23 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:44 2015 +0530 fs: 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: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: David Howells <dhowells@xxxxxxxxxx> Reviewed-by: Steve French <smfrench@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit bf69a3b60e4d892f8c1d7a6b18cf84aaa7acd43f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:42 2015 +0530 drivers: net: 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: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d9902d597ac54c8abc02e37492e2bc102f31e83f Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Wed Aug 12 15:59:41 2015 +0530 drivers: misc: 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: Jiri Kosina <jkosina@xxxxxxx> commit 061eebba3d3077186609da7d8029e0fd89f194e7 Author: Andrew Murray <amurray@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 12:02:09 2015 +0100 UBI: Update comments to reflect UBI_METAONLY flag This patch trivially updates code comments to reflect the addition of the UBI_METAONLY flag - as discussed https://lkml.org/lkml/2014/10/29/764 Cc: Richard Weinberger <richard@xxxxxx> Cc: trivial@xxxxxxxxxx Signed-off-by: Andrew Murray <amurray@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0220531a13b83d0049dcf1391a5a0cb10346962f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:01 2015 +0200 pktcdvd: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 336382c78b926af7f3b22f738998962cec5a26e1 Author: Geoff Levand <geoff@xxxxxxxxxxxxx> Date: Mon Sep 14 14:36:35 2015 -0700 powerpc/ps3: Refresh ps3_defconfig Refresh and remove obsolete CONFIG_EXT3_FS. Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6a6120bc5ec9e54d3cc06e739c270b55b081abe5 Author: Colin King <colin.king@xxxxxxxxxxxxx> Date: Mon Sep 14 19:35:04 2015 +0000 drivers/ps3: Fix ps3-vuart null dereference On the unlikely event that drv is null, the current code will perform a null pointer dereference with it when printing a dev_dbg message. Instead, the BUG_ON check on drv should be performed before we emit the dev_dbg message. Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 12a509336701132f521c8fc22a5910478ca98cb3 Author: Rudhresh Kumar J <rudhresh.jk@xxxxxxxxx> Date: Mon Sep 14 19:35:04 2015 +0000 drivers/ps3: Fix ps3-lpm white space Fixed a coding style issue. Signed-off-by: Rudhresh Kumar J <rudhresh.jk@xxxxxxxxx> Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e5e16d8f3ec6973af2068897786be619cf97860e Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Mon Sep 7 07:58:00 2015 +0800 powerpc: Kconfig: remove BE-only platforms from LE kernel build Currently, little endian is only supported on powernv and pseries, however, Kconfigs still allow us to include other platforms in a LE kernel, this may result in space wasting or even build error if some BE-only platforms always assume they are built for a BE kernel. So just modify the Kconfigs of BE-only platforms to remove them from being built for a LE kernel. For 32bit only platforms, nothing needs to be done, because CPU_LITTLE_ENDIAN depends on PPC64. For 64bit supported platforms, add CPU_BIG_ENDIAN to dependencies explicitly, so that these platforms will be disabled for LE [Suggested-by: Cédric Le Goater <clg@xxxxxxxxxx>]. Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Acked-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6b7464b703e3147b54dcb1032dfa10244f5a4d56 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Sep 28 06:44:31 2015 -0500 Documentation/EDAC: Add reference documents section for amd64_edac This section used to be in amd64_edac.h. Move it here as it is a more natural place to put all documentation-related info. Add links to the BKDGs while at it. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: linux-doc@xxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443440671-2400-1-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1a8bc7707edb7c90478012076beb9207ab67d8d1 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Sep 28 06:43:13 2015 -0500 EDAC, amd64_edac: Update copyright and remove changelog Git provides us all the changelogs anyway. So trim the comments section here. Update the copyrights info while at it. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443440593-2316-3-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit da92110dfdfacfdb0e3be06040a14d96c23be5d0 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Sep 28 06:43:12 2015 -0500 EDAC, amd64_edac: Extend scrub rate support to F15hM60h The scrub rate control register has moved to function 2 in PCI config space and is at a different offset on family 0x15, models 0x60 and later. The minimum recommended scrub rate has also changed. (Refer to D18F2x1c9_dct[1:0][DramScrub] in Fam15hM60h BKDG). Adjust set_scrub_rate() and get_scrub_rate() functions to accommodate this. Tested on F15hM60h, Fam15h, models 00h-0fh and Fam10h systems. Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443440593-2316-2-git-send-email-Aravind.Gopalakrishnan@xxxxxxx [ Cleanup conditionals. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 094435d41df823dde850e193add57534a5b709c9 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Sep 29 12:57:42 2015 +0200 ALSA: pcm: Avoid double hw_free calls at releasing a stream snd_pcm_release_substream() always calls hw_free op when the stream was opened. This is superfluous in most cases because it's been already released via explicit hw_free ioctl. Although this double call is usually OK as this callback should be written to be called multiple times, it's better to avoid superfluous calls. Reported-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Jeeja Kp <jeeja.kp@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d8dfacf8b50c260d79864933ac82a8198a0908a9 Merge: e87359e df075fe Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Sep 29 12:52:07 2015 +0200 Merge branch 'topic/firewire-update' into for-next commit df075feefbd347f13fba5198294cda619532c237 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:22:02 2015 +0900 ALSA: firewire-lib: complete AM824 data block processing layer This commit moves the codes related to data block processing from packet streaming layer to AM824 layer. Each driver initializes amdtp stream structure for AM824 data block by calling amdtp_am824_init(). Then, a memory block is allocated for AM824 specific structure. This memory block is released by calling amdtp_stream_destroy(). When setting streaming parameters, it calls amdtp_am824_set_parameters(). When starting packet streaming, it calls amdtp_stream_start(). When stopping packet streaming, it calls amdtp_stream_stop(). Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 49c7b3fcd9f0a0125e8cd8212d5576382198eeb2 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:22:01 2015 +0900 ALSA: firewire-lib: rename macros with AM824 prefix This commit renames some macros just related to AM824 format. In later commit, they're moved to AM824 layer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 85130cb43e78a7bdb2ade10131563d89fbbddf9d Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:22:00 2015 +0900 ALSA: firewire-lib: rename PCM format helper function Setting the format of PCM substream to AMDTP stream structure is important to set a handler to copy actual PCM samples between buffers. The processing should be in data block processing layer because essentially it has no relationship to packet streaming. This commit renames PCM format setting function to prepare for integrating AM824 layer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 03e2a67eed7bf2e4c701587080bc8d60dd45209c Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:59 2015 +0900 ALSA: firewire-lib: move MIDI trigger helper function to AM824 layer In IEC 61883-6, MIDI messages are transferred in MIDI conformant data channel. Essentially, packet streaming layer is not responsible for MIDI functionality. This commit moves MIDI trigger helper function from the layer to AM824 layer. The rest of codes related to MIDI functionality will be moved in later commits. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f65be911c0e13fab28919e17c9fa00c38dc4ff2f Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:58 2015 +0900 ALSA: firewire-lib: add helper functions to set positions of data channels In IEC 61883-6, several types of data are available in AM824 format. The data is transferred in each data channel. The position of data channel in data block differs depending on model. Current implementation has an array to map the index of data channel in an data block to the position of actual data channel. The implementation allows each driver to access the mapping directly. In later commit, the mapping is in specific structure pushed into an opaque pointer. Helper functions are required. This commit adds the helper functions for this purpose. In IEC 61883-6, AM824 format supports many data types, while this specification easily causes over-engineering. Current AM824 implementation is allowed to handle two types of data, Multi Bit Linear Audio data (=PCM samples) and MIDI conformant data (=MIDI messages). Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bc8500da3e62cd6a896407a1b330a2eb21817c22 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:57 2015 +0900 ALSA: firewire-lib: move PCM substream constraint to AM824 layer In IEC 61883-6, PCM frames are transferred in Multi Bit Linear Audio data channel. The data channel transfers 16/20/24 bit PCM samples. Thus, PCM substream has a constrain about it. This commit moves codes related to the constraint from packet streaming layer to AM824 data block processing layer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 51c29fd21389d9995a8a18a91eeb8dd1220a2119 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:56 2015 +0900 ALSA: firewire-lib: rename parameter setting function for AM824 with FDF field The value of FDF field in CIP header is protocol-dependent. Thus, it's better to allow data block processing layer to decide the value in any timing. In AM824 data format, the value of FDF field in CIP header indicates N-flag and Nominal Sampling Frequency Code (sfc). The N-flag is for switching 'Clock-based rate control mode' and 'Command-based rate control mode'. In our implementation, 'Clock-based rate control mode' is just supported. Therefore, When sampling transfer frequency is decided, then the FDF can be set. This commit replaces 'amdtp_stream_set_parameters' with 'amdtp_am824_set_parameters' to set the FDF. This is the same timing to decide the ration between the number of data blocks and the number of PCM frames. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5955815e71ff9c773b156680c781c87728e37bea Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:55 2015 +0900 ALSA: firewire-lib: add data block processing layer for AM824 format This commit adds data block processing layer for AM824 format. The new layer initializes streaming layer with its value for fmt field. Currently, most implementation of data block processing still remains streaming layer. In later commits, these codes will be moved to the layer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d67c46b953749aef223496ec95b7bf93e40887dc Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:54 2015 +0900 ALSA: firewire-lib: rename 'amdtp' to 'amdtp-stream' to prepare for functional separation In later commit, data block processing layer will be newly added. This layer will be named as 'amdtp-am824'. This commit renames current amdtp file to amdtp-stream, to distinguish it from the new layer. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 414ba022a5287e9473c7fa2b4aa1b1025e9ca8be Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:53 2015 +0900 ALSA: firewire-lib: add support arbitrary value for fmt/fdf fields in CIP header Some vendor specific protocol uses its own value for fmt/fdf fields in CIP header. This commit support to set arbitrary values for the fields. In IEC 61883-6, NO-DATA code is defined for FDF field. A packet with this code includes no data even if it includes some data blocks. This commit still leaves a condition to handle this special packet. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 20e445771ea109bc0ce9e717cbf2475e56a141a8 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:52 2015 +0900 ALSA: firewire-lib: add helper functions as interfaces between packet streaming layer and data block processing layer ALSA PCM framework uses PCM buffer with a concept of 'period' to synchronize userspace operations to hardware for nearly-realtime processing. Each driver implements snd_pcm_period_elapsed() to tell across of the period boundary to ALSA PCM middleware. To call the function, some drivers utilize hardware interrupt handlers, the others count handled PCM frames. Drivers for sound units on IEEE 1394 bus are the latter. They use two buffers; PCM buffer and DMA buffer for IEEE 1394 isochronous packet. PCM frames are copied between these two buffers and 'amdtp_stream' structure counts the handled PCM frames. Then, snd_pcm_period_elapsed() is called if required. Essentially, packet streaming layer should not be responsible for PCM frame processing. The PCM frame processing should be handled in each data block processing layer as a result of handling data blocks. Although, PCM frame counting is a common work for all of protocols which ALSA firewire stack is going to support. This commit adds two new helper functions as interfaces between packet streaming layer to data block processing layer. In future, each data block processing layer implements these functions. The packet streaming layer calls data block processing layer per packet by calling the functions. The data block processing layer processes data blocks and PCM frames, and returns the number of processed PCM frames. Then the packet streaming layer calculates handled PCM frames and calls snd_pcm_period_elapsed(). Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6a4e89ff0f4e46c1a9d0c28e786952e70516a5f4 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:51 2015 +0900 ALSA: firewire-lib: add a member of frame_multiplier instead of double_pcm_frames In future commit, interface between data block processing layer and packet stream processing layer is defined. These two layers communicate the number of data blocks and the number of PCM frames. The data block processing layer has a responsibility for calculating the number of PCM frames. Therefore, 'dual wire' of Dice quirk should be handled in data block processing layer. This commit adds a member of 'frame_multiplier'. This member represents the ratio of the number of PCM frames against the number of data blocks. Usually, the value of this member is 1, while it's 2 in Dice's 'dual wire'. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 27ec83b5c6ac08599240ec9a95286e79d6ea9e51 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:50 2015 +0900 ALSA: firewire-lib: add an argument for Dice's dual wire mode In IEC 61883-6, one data block represents one event. In ALSA, the event is one PCM frame. Therefore, when processing one data block, current implementation counts one PCM frame. On the other hand, Dice platform has a quirk called as 'dual wire' at higher sampling rate. In detail, see comment of commit 6eb6c81eee2a ("ALSA: dice: Split stream functionality into a file"). Currently, to handle this quirk, AMDTP stream structure has a 'double_pcm_frames' member. When this is enabled, two PCM frames are counted. Each driver set this flag by accessing the structure member directly. In future commit, some members related to AM824 data block will be moved to specific structure, to separate packet streaming layer and data block processing layer. The access will be limited by opaque pointer. For this reason, this commit adds an argument into amdtp_stream_set_parameter() to set the flag. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 547e631ce3886175a33b5ccf67729bdd18e9b7e0 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:49 2015 +0900 ALSA: firewire-lib: return error code when amdtp_stream_set_parameters() detects error Currently, amdtp_stream_set_parameters() returns no error even if wrong arguments are given. This is not good for streaming layer because drivers can continue processing ignoring capability of streaming layer. This commit changes this function to return error code. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 10b2b6dc1a6bb287411045c788f76d53f96c11bc Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sat Sep 19 11:21:48 2015 +0900 ALSA: firewire-lib: arrange structure for AMDTP stream In later commit, some members related to AM824 data format will be moved from AMDTP stream structure to data block structure. This commit is a preparation for it. Additionally, current layout of AMDTP stream structure is a bit mess by several extensions. This commit also arranges the layout. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dc425a1c8c02b45fbab8b3ba522649d238cf84db Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Sep 28 17:22:17 2015 +0300 HID: multitouch: Add suffix for HID_DG_TOUCHPAD Instead of printing "UNKNOWN" as device suffix for HID_DG_TOUCHPAD call the device as "Touchpad". Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: Daniel Martin <consume.noise@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f3984edc171c9f1296502d6d5e41290785816736 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Sep 28 15:15:08 2015 +0300 HID: i2c-hid: Fill in physical device providing HID functionality Currently hid_connect() prints out following when I2C connected HID devices is connected: hid-multitouch 0018:03EB:2136.0001: ... [ATML3432:00 03EB:2136] on After "on " should read physical device name but it is left empty by the driver. Make it look better and fill in the physical device name. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: Daniel Martin <consume.noise@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4e077237cfb6ab13701d504060d3ae248b191e6e Author: Michael Rossberg <michael.rossberg@xxxxxxxxxxxxx> Date: Tue Sep 29 11:25:08 2015 +0200 xfrm: Fix state threshold configuration from userspace Allow to change the replay threshold (XFRMA_REPLAY_THRESH) and expiry timer (XFRMA_ETIMER_THRESH) of a state without having to set other attributes like replay counter and byte lifetime. Changing these other values while traffic flows will break the state. Signed-off-by: Michael Rossberg <michael.rossberg@xxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit c386578f1cdb4dac230395a951f88027f64346e3 Author: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Date: Tue Sep 29 11:40:49 2015 +0200 xfrm: Let the flowcache handle its size by default. The xfrm flowcache size is limited by the flowcache limit (4096 * number of online cpus) and the xfrm garbage collector threshold (2 * 32768), whatever is reached first. This means that we can hit the garbage collector limit only on systems with more than 16 cpus. On such systems we simply refuse new allocations if we reach the limit, so new flows are dropped. On syslems with 16 or less cpus, we hit the flowcache limit. In this case, we shrink the flow cache instead of refusing new flows. We increase the xfrm garbage collector threshold to INT_MAX to get the same behaviour, independent of the number of cpus. The xfrm garbage collector threshold can still be set below the flowcache limit to reduce the memory usage of the flowcache. Tested-by: Dan Streetman <dan.streetman@xxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit d8d09564b830c2040a39039dd1e683c26158f466 Author: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 28 12:41:42 2015 +0100 extcon: arizona: Add support for WM8998 and WM1814 This patch adds support for the WM8998 and WM1814 codecs. These use the same IP version as WM5110 but have different clamp control. Signed-off-by: Richard Fitzgerald <rf@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 37e57066d58e6c78cb8e8b22b46c3633630ad411 Merge: 363b389 6c20b93 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Sep 29 18:10:04 2015 +0900 Merge branch 'ib-extcon-mfd-4.4' into extcon-next commit 363b389106e6762bc855d3da794461be18597d52 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:21 2015 +0200 extcon: sm5502: fix handling regmap_irq_get_virq result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 238ffc2e64646951d2d3c541f3624b01be5f65e4 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Sep 24 16:00:20 2015 +0200 extcon: rt8973a: fix handling regmap_irq_get_virq result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 4bf27b7038c23fe789aa9bd553a6391cc33ccfa1 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Mon Sep 14 23:19:35 2015 +0530 extcon: axp288: Convert to using managed resources Use resource managed functions devm_usb_get_phy and devm_gpio_request to make error path simpler. To be compatible the change, various gotos are replaced with direct returns and unnecessary label gpio_req_failed is dropped. Also, remove function axp288_extcon_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit ff612f9170eaa9ca7ade357b270f582b0c44ed70 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Aug 25 08:31:15 2015 +0200 extcon: 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: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 8ac2a1704a9f315d490ca1050b8fe8367644e675 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:39 2015 +0200 irqchip/gicv3-its: Use new jump label API Use newly introduced jump label API. Make this a separate patch for easier backporting to older kernels of the errata patch set. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Marc Zygnier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-7-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 94100970743365a9f9e186520e77ef56c492058d Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:38 2015 +0200 irqchip/gicv3-its: Workaround for Cavium ThunderX errata 22375, 24313 This implements two gicv3-its errata workarounds for ThunderX. Both with small impact affecting only ITS table allocation. erratum 22375: only alloc 8MB table size erratum 24313: ignore memory access type The fixes are in ITS initialization and basically ignore memory access type and table size provided by the TYPER and BASER registers. Signed-off-by: Ganapatrao Kulkarni <gkulkarni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Marc Zygnier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-6-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 67510ccafb9d69e79079b5cd6c9959025bc02061 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:37 2015 +0200 irqchip/gicv3-its: Add HW revision detection and configuration Some GIC revisions require an individual configuration to esp. add workarounds for HW bugs. This patch implements generic code to parse the hw revision provided by an IIDR register value and runs specific code if hw matches. A function is added that reads the IIDR registers for ITS (GITS_IIDR) and then goes through a list of init functions to be called for specific versions. Same could be done for GICV3 (GICD_IIDR), but there are no users yet for it. The patch is needed to implement workarounds for HW errata in Cavium's ThunderX GICV3 ITS. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Marc Zygnier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-5-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c14e36733b8a63894db9ca0b486ce14299ef2fda Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:36 2015 +0200 irqchip/gicv3-its: Read typer register outside the loop No need to read the typer register in the loop. Values do not change. This patch is basically a prerequisite for a follow-on patch that adds errata code for Cavium ThunderX. It moves the calculation of the number of id entries to the beginning of the function close to other setup values that are needed to allocate the its table. Now we have a central location to modify the setup parameters and the errata code can be implemented in a single block. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-4-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6d4e11c5e2e8cd54a035ba395bf8ccfa7e22cfd8 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:35 2015 +0200 irqchip/gicv3: Workaround for Cavium ThunderX erratum 23154 This patch implements Cavium ThunderX erratum 23154. The gicv3 of ThunderX requires a modified version for reading the IAR status to ensure data synchronization. Since this is in the fast-path and called with each interrupt, runtime patching is used using jump label patching for smallest overhead (no-op). This is the same technique as used for tracepoints. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Marc Zygnier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-3-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 30f2136346cab91e1ffd9ee6370d76809f20487a Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 21 22:58:34 2015 +0200 irqchip/gicv3-its: Add range check for number of allocated pages The number of pages for the its table may exceed the maximum of 256. Adding a range check and limitting the number to its maximum. Based on a patch from Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx>. Signed-off-by: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Reviewed-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442869119-1814-2-git-send-email-rric@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 1f9c6e1bc1ba5f8a10fcd6e99d170954d7c6d382 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 21 19:19:53 2015 +0300 mwifiex: fix mwifiex_rdeeprom_read() There were several bugs here. 1) The done label was in the wrong place so we didn't copy any information out when there was no command given. 2) We were using PAGE_SIZE as the size of the buffer instead of "PAGE_SIZE - pos". 3) snprintf() returns the number of characters that would have been printed if there were enough space. If there was not enough space (and we had fixed the memory corruption bug #2) then it would result in an information leak when we do simple_read_from_buffer(). I've changed it to use scnprintf() instead. I also removed the initialization at the start of the function, because I thought it made the code a little more clear. Fixes: 5e6e3a92b9a4 ('wireless: mwifiex: initial commit for Marvell mwifiex driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2b8fa9e870b7dd4ea30a0c72e3a134533552278f Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 15:44:25 2015 +0200 airo: Implement netif_carrier_on/off Add calls to netif_carrier_on and netif_carrier_off Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 4a0f2ea79797642341020eae5918871db94fc769 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 15:44:24 2015 +0200 airo: fix IW_AUTH_ALG_OPEN_SYSTEM IW_AUTH_ALG_OPEN_SYSTEM is ambiguous in set_auth for WEP as wpa_supplicant uses it for both no encryption and WEP open system. Cache the last mode set (only of these two) and use it here. This allows wpa_supplicant to work with unencrypted APs. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit b5cf0022450d2068e56b60cbbd0b5ff1430b7656 Author: Jelle de Jong <jelledejong@xxxxxxxxxxxxx> Date: Tue Sep 22 15:36:05 2015 +0200 ARM: dts: sun7i: Add dts file for Wits Pro A20 DKT The Wits Pro A20 DKT is an A20 Development KiT with 1G RAM, 4G NAND, sdio wifi, 1Gbit ethernet, 1024x768 lcd screen with ft5x_ts touchscreen and a ton of IO connectors. Note there seem to be multiple sdcard slots on the board (4 in total), but other then mmc0 none of these are hooked up by default, there is a ton of dip-switches which likely allow hooking some of these up, but the documentation of the board only describes the use of a fraction of them, so for now we only support mmc0. Signed-off-by: Jelle de Jong <jelledejong@xxxxxxxxxxxxx> [hdegoede@xxxxxxxxxx: Use pwrseq instead of a regulator for the wifi-en pin] [hdegoede@xxxxxxxxxx: Add support for OOB irq for the sdio wifi] Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cf75496b6fc2fd8dd74633b0f49f4fa3f58f36e1 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 21 09:55:26 2015 +0200 ssb: make ssb_pcmcia_switch_core static Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 264c7708c9ceabfd10c70f942bb2910976ca92ff Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 21 09:47:20 2015 +0200 ssb: drop declaration of non existing ssb_sdio_hardware_setup Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 7b1647bc1a44422ee9d67d4d2b5d3ab12d2c5bee Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 21 09:47:19 2015 +0200 ssb: make ssb_sdio_switch_core static It's used locally only. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 44f3fd2700eee30e03fe9da6258b73d53bc037c5 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 21 09:47:18 2015 +0200 ssb: unexport ssb_bus_pcibus_register It isn't used anywhere out of ssb code and we don't (plan to) build pcihost_wrapper.c as a separated module. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 69b5f4da26362912e7e56e48c8e1df7fde281e58 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Sep 19 14:43:50 2015 +0200 bcma: add support for population subnodes also when build as module of_default_bus_match_table was not exported earlier, so it could only be accessed by code compiled into the kernel. A new function of_platform_default_populate() was added which uses of_default_bus_match_table and this function is also exported. This way it is possible to create a bus with the content of of_default_bus_match_table and we can remove the hacks from bcma. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a32be01772525eba2001be23a570d9e31c58273d Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Sep 19 12:47:20 2015 +0200 brcmfmac: include linux/atomic.h brcmfmac uses atomic_or() and other atomic_* functions, but does not include linux/atomic.h. This file gets included by some other header file so this normally does not cause problems. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 29b93c0e3c3891e3ba6e38a71997bdad8a2aa457 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:19 2015 +0200 brcmfmac: Accept events when TDLS is used in combination with p2p. TDLS events are mapped back to primary interface but when p2p is in use then this fails because the check was incorrect by checking bsscfg number. Which can be different when a p2p device has been created. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit cb8dc71f516a98908de7de9be381ef9b571742e2 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:18 2015 +0200 brcmfmac: Fix TDLS setup by properly handling p2p noif. There is a workaround needed for p2p device setup which breaks tdls functionality. This patch fixes that by properly signalling fweh that p2p device setup is ongoing. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 55acca90da52b85299c033354e51ddaa7b73e019 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:17 2015 +0200 brcmfmac: Add support for the BCM4365 and BCM4366 PCIE devices. This patch adds support for the BCM4365 and BCM4366 11ac Wave2 PCIE devices. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit a2044d91d9d25a0e9e2abb43ca90cceee032f6ee Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:16 2015 +0200 brcmfmac: Fix race condition bug when deleting p2p interface. When p2p device interface gets deleted by deinitialising discovery it will result in an event which removes the interface, but that is also done by delete p2p interface code. This results in race condition which sometimes results in lockup/crash. With this patch the delete device interface will wait for the event (with timeout) removing the possible race condition. Also on the stop device call from cfg80211 the deinitialisation of the discovery device should be avoided as it can result in a similar situation. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 8268c2011d255b547a9093977e728af5cf16d69e Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:15 2015 +0200 brcmfmac: Add module parameter to disable features. For debugging purpose it is very handy to be able to disable features. It has happened a few times that new features turned out not always being properly detected for all devices/firmwares. Making it possible to disable the feature with a module parameter will make testing/debugging easier. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 35a3cbcc49b5422fbfe7d655952888a3d29b45ed Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:14 2015 +0200 brcmfmac: Fix p2p bug for older firmwares. Some devices with older firmwares are reporting new p2p device interface with the wrong type. Accept this type to get p2p working for these devices. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit d1bb34c128f59c30b75b96ef60f5f00cdbe9ca0e Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:13 2015 +0200 brcmfmac: Only handle p2p_stop_device if vif is valid In some situations it is possible that vif has been removed while cfg80211 invokes the p2p_stop_device handler. This will result in crash. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9831bcb987df4aff6a1d85975f1dda4c654f298d Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:12 2015 +0200 brcmfmac: Deleting of p2p device is leaking memory. When a p2p device gets deleted, the memory for the vif is not being released. This is solved by reorganizing the cleanup path and properly freeing the memory. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 178e9ef9b6c619b1b3de354f21692a0ad1071116 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:11 2015 +0200 brcmfmac: Workaround in change vif for wpa_supplicant support. Different wpa_supplicants have different behavior and expectations regarding the change_virtual_intf behavior. This patch implements a workaround for the different versions and possible brcmfmac configuration. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 43e55a2a1cf05afcc4b9d4fc214ccb4a53447cb1 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:10 2015 +0200 brcmfmac: Make p2pon module param always available. p2pon module param is currently under define BRCMDBG. Though it is a needed option for older versions of the wpa_supplicant which do not support the P2P_DEVICE interface. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9f64df940cfe734156ec434807611e014278b359 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:09 2015 +0200 brcmfmac: Fix bug in flowring management. The hash index stored in the flowrings is of type u16 but gets stored in u8. This can result in incorrect indexing and possibly result in crashes. This patch fixes the type. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit ae7c03f68ee24e51f3ded9265715405df72812ba Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:08 2015 +0200 brcmfmac: Inform p2p module about p2pon through API When the p2pon module param is used then p2p attach will initialize p2p device iface in the firmware, but it is doing that by checking data. It is cleaner to pass the p2pon information to p2p by API. This information is also needed for other patch. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 6ea696eb4e2646e8f2440e2090f3d165a21ff02f Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:07 2015 +0200 brcmfmac: Only assign primary netdev to if2bss array. The if2bss allows for translation of ifidx to bssidx which has a 1:n relation. Therefor only the first (primary) netdev should be assigned in this array. This fixes the p2pon=1 module param usage. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 60dc35ef9ffdf8810b98cc09abb02378023818c2 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:06 2015 +0200 brcmfmac: Fix set and get tx-power functions. Implementation of tx-power (get and set) related functions are still assuming mW interface. This is wrong as functions use dbm (or mbm) nowadays. As a result a tx power configuration could result in wrong power configuration. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e3c92cb2eea395c9fbec7ceb678626565cbac0fe Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:05 2015 +0200 brcmfmac: Add support for the BCM4350 PCIE device. This patch adds support fo the BRCM4350 2x2 11ac PCIE device. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2b5d348ee786dd875b3aa8536a97ff6f6421d018 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Fri Sep 18 22:08:04 2015 +0200 brcmfmac: Fix exception handling. In some exception situations the ifp->vif was not properly assigned which could result in crash. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 47038677e52344135731ea0180bdd981a8ae4fae Author: Aleksei Mamlin <mamlinav@xxxxxxxxx> Date: Tue Sep 22 15:36:04 2015 +0200 ARM: dts: sun7i: Enable USB DRC on Wexler TAB7200 Enable the otg/drc usb controller on the Wexler TAB7200 tablet. Signed-off-by: Aleksei Mamlin <mamlinav@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 9324ef4b14fe4d16a0f9900bd46f26f0ad44ed91 Author: Reinder de Haan <patchesrdh@xxxxxxxxx> Date: Tue Sep 22 15:36:03 2015 +0200 ARM: dts: sun7i: Enable USB DRC on the Orange pi Add usb otg support for Orange pi, based on Orange pi mini. Signed-off-by: Reinder de Haan <patchesrdh@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 3ff427f02dc055fdede6051ba32efbd73f4b1f31 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 15:36:02 2015 +0200 ARM: dts: sun7i: Enable USB DRC on orangepi-mini Enable the otg/drc usb controller on the orangepi-mini. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5b3abbee42562a7bcdc6b589a3d8f9b5752550ed Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 22 15:36:00 2015 +0200 ARM: dts: axp209: Add usb_power_supply child node to the ax209 node Add a node representing the usb power supply part of the axp209 pmic, note that the usb power supply and the (to be added later) ac power supply will each have their own child-node, so that they can be separately specified as power-supply for other nodes using a power-supply property with a phandle pointing to the right axp209 child-node. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 735ab6bfc03878e6b41feb1f14da750a951854ad Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:18 2015 -0700 mwifiex: complete usb tx data with multi endpoints This patch do the work to TX data with specific USB endpoint. At the same time, update data_sent flag according to multi port status. And is_port_ready API is added for BSS interface to check if current used usb data endpoint is available or not. 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 7e4e5d2cd0817b91eb07c7abe297012bf76616ea Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:17 2015 -0700 mwifiex: add usb multi endpoints resync support This patch add support for usb multi endpoints resync. Once multi channel event is received from firmware, update usb_mc_setp flag to block TX data until setup is over. And available data endpoint will be attached to BSS interface. 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 308fe29ef24394e4db66d80c7a23e3e5640aca74 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:16 2015 -0700 mwifiex: add usb tx data multi endpoints support This patch add support for USB interface to TX data with different endpoint. And previous TX information are saved in new designed structure. 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 2b0f997db43f01370503d88b5fbec9a350a7955f Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:15 2015 -0700 mwifiex: add usb multi channel event process support This patch add multi channel event process for USB multi tx data endpoints. Driver receives firmware multi channel event only in case that new connection is setup or interface is disconnect. Different BSS interface need update used usb endpoint. 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 d941444321f6b84bdd36d8d24eef10171c9ab981 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:14 2015 -0700 mwifiex: move usb specific data_sent update to usb.c This patch move data_sent flag update to usb.c file. >From now all data_sent update cases only happened in specific file: sdio.c, usb.c, pcie.c. Outside ot these files, it is only allowed to check the value of data_ent. 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 d22871db0172eba2bba2e7ff8373f682c9b001cd Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:13 2015 -0700 mwifiex: fix tx data_sent issue for usb interface This patch fix missing tx data_sent flag update for usb interface. Except USB interface, data_sent flag has been updated in specific file such as sdio.c and pcie.c. So only USB interface type need check when TX data completed. 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 17090beec26ea5bd064c67e2707151722d9d88d6 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 18 06:32:12 2015 -0700 mwifiex: Suppress -ENOSR error for data traffic on USB We have preallocated buffer pool for Tx data. During high data traffic, all buffers are submitted to USB and driver needs to wait until one of the buffers get available for next Tx packet. "data: -ENOSR is returned" errors is expected in this case. Let's lower the priority of this message. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 70c5ad7e20c1426d14f6e722da0972b2c9163db7 Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:11 2015 -0700 mwifiex: correct paused tx data packet counter This patch fixes observed issues while updating counter for number of paused data packets in wmm queue when trying to delete packet or delete station entry. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 14d9c11c91a606fed65eaae2455423a23bb4ae59 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 18 06:32:10 2015 -0700 mwifiex: avoid memsetting PCIe event buffer Preallocated PCIe buffer is being reused for all PCIe interface events. Physical address of the buffer is shared with firmware so that it can perform DMA on it. As event length is specified in the header, there should not be a problem if the buffer gets overwritten. We will save some cycles by avoiding memset everytime while submitting the buffer to firmware. Fixes: 2728cecdc7d6bf3d21(mwifiex: corrections in PCIe event skb) Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 17e524b1b60f4390d24a51d9524d1648cf5d1447 Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Fri Sep 18 06:32:09 2015 -0700 mwifiex: fix NULL pointer dereference during hidden SSID scan This NULL pointer dereference is observed during suspend resume stress test. All pending commands are cancelled when system goes into suspend state. There a corner case in which host may receive response for last scan command after this and try to trigger extra active scan for hidden SSIDs. The issue is fixed by adding a NULL check to skip that extra scan. Fixes: 2375fa2b36feaf34 (mwifiex: fix unable to connect hidden SSID..) Cc: <stable@xxxxxxxxxxxxxxx> [v4.2+] Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 2c3da961268ff7f4a6c958fee081c58aef2e5c1d Author: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Date: Fri Sep 18 06:32:08 2015 -0700 mwifiex: don't always include ht/vht info in tdls confirm frame Current TDLS implementation always includes ht/vht information in tdls setup confirm frame which causes teardown by legacy peer station after TDLS handshake. We will inclue ht/vht capabilities in tdls setup confirm frame only if peer station supports it to fix this problem. Signed-off-by: Aniket Nagarnaik <aniketn@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 02421dd3f6af1b6becb6d9a690a2b70c73c03a7a Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Sep 18 06:32:07 2015 -0700 mwifiex: NULL check for cfg80211_inform_bss() cfg80211_inform_bss would return null in some cases, such as memory allocation failure. This patch adds sanity check for this case, to avoid possible issues when above corner case is hit. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9a9053c3420fcc5779319e4ea267c6dcbf8d7c04 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Sep 18 06:32:06 2015 -0700 mwifiex: fix driver init failure under memory pressure 64k Tx and Rx buffers are allocated during driver initialization for SDIO level data aggregations. When host is under memory pressure situation, kzalloc() request for 64k may fail. We will try allocating 32k buffers and disable our rx single port aggreagation feature in this situation. If the allocation still fails, we will disable our sdio multport aggregation feature as well. In this way, we will transmit and receive packets one by one, thus reduce the demand for big memory. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit e3ad3d5b6ab2a9876773fe99d9d1866d3c1744ae Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Sep 18 06:32:05 2015 -0700 mwifiex: minor corrections in multiport aggregation code This patch includes below changes 1) Check if multiport aggregation feature flag while doing rx length validation check. 2) Reset buffer size variables when buffers are freed. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 0a252abb6ad75260353a28c08b904c2c9d258d2c Author: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Date: Fri Sep 18 06:32:04 2015 -0700 mwifiex: update amsdu tx packet time stamp This patch fixes the issue of delay time in A-MSDU tx packet. In generated new A-MSDU packet, the time stamp is initialized to zero. Choose the time of first MSDU packet as aggregated packet's time. 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 65405c51bb2e9d2a348f5402443e31f82411aabb Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Sep 18 06:32:03 2015 -0700 mwifiex: fix typo in del_virtual_intf() function Interface counters should be incremented in add_virtual_intf() and decremented in del_virtual_intf() function. This patch corrects it. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 32677b25849f627aba27235f4cbf65663a0cc1a6 Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Fri Sep 18 20:37:27 2015 +0800 wlcore: align reg_ch_conf_last[] to 64bit Align fields reg_ch_conf_last and reg_ch_conf_pending of struct wl1271{} to 64bit. Without this, on 64bit ARM, wlcore_set_pending_regdomain_ch() fails at the point it calls set_bit(ch_bit_idx, (long*)wl->reg_ch_conf_pending); Here is the error message while doing iw wlan0 scan or connect: [ 10.666857] wlcore: IRQ work [ 10.670046] wlcore: intr: 0x40 (fw_rx_counter = 1, drv_rx_counter = 0, tx_results_counter = 0) [ 10.678697] wlcore: WL1271_ACX_INTR_DATA [ 10.682810] Unhandled fault: alignment fault (0x96000021) at 0xffffffc037a817f4 [ 10.690139] Internal error: : 96000021 [#1] PREEMPT SMP [ 10.695366] Modules linked in: [ 10.698437] CPU: 3 PID: 894 Comm: irq/60-wl18xx Tainted: G W 4.2.0-rc6-linaro-hikey #2 [ 10.707501] Hardware name: HiKey Development Board (DT) [ 10.712733] task: ffffffc03a9d1680 ti: ffffffc039e18000 task.ti: ffffffc039e18000 [ 10.720239] PC is at set_bit+0x14/0x30 [ 10.724002] LR is at wlcore_set_pending_regdomain_ch+0x40/0x4c Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 9c17dbc6eb73bdd8a6aaea1baefd37ff78d86148 Merge: 18ab2cd e637d17 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 29 09:43: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: - Accept a zero --itrace period, meaning "as often as possible". In the case of Intel PT that is the same as a period of 1 and a unit of 'instructions' (i.e. --itrace=i1i). (Adrian Hunter) - Harmonize itrace's synthesized callchains with the existing --max-stack tool option. (Adrian Hunter) - Allow time to be displayed in nanoseconds in 'perf script'. (Adrian Hunter) - Fix potential infinite loop when handling Intel PT timestamps. (Adrian Hunter) - Slighly improve Intel PT debug logging. (Adrian Hunter) - Warn when AUX data has been lost, just like when processing PERF_RECORD_LOST. (Adrian Hunter) - Further document export-to-postgresql.py script. (Adrian Hunter) - Add option to synthesize branch stack from auxtrace data. (Adrian Hunter) - Use equivalent logic to avoid using dso->kernel. (Arnaldo Carvalho de Melo) - Show proper error messages when parsing bad terms for hw/sw events. (He Kuang) - Tracepoint event parsing improvements. (He Kuang) - Store tracing mountpoint for better error message. (Jiri Olsa) - Add fixdep to tools/build, bringing it closer to the kernel counterpart, from where it is being lifted. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 862a336c8302695cbac6d8d752ee9a2429487478 Author: Jan Kaisrlik <kaisrja1@xxxxxxxxxxx> Date: Thu Sep 17 14:03:46 2015 +0200 ath9k: Add support for OCB mode The patch adds support for "outside the context of a BSS"(OCB) mode to ath9k driver and extends debugfs files by OCB ralated information. This patch was tested on AR9380-AL1A cards. Signed-off-by: Jan Kaisrlik <kaisrja1@xxxxxxxxxxx> Cc: Michal Sojka <sojkam1@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit c452d944bee09c8c2529d965f10999d80991402a Author: Hiroaki KAWAI <hiroaki.kawai@xxxxxxxxx> Date: Thu Sep 10 18:04:45 2015 +0000 carl9170: fix bad rssi reading Fix rssi calculation error which was introduced in otus to ar9170 porting. Signed-off-by: Hiroaki KAWAI <hiroaki.kawai@xxxxxxxxx> Acked-by: Christian Lamparter <chunkeey@xxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 76ea6fdbeb2540ea8a06189b519175ee5616ab56 Author: Geoff Levand <geoff@xxxxxxxxxxxxx> Date: Wed Sep 2 16:56:42 2015 -0700 net/wireless/wl18xx: Add missing MODULE_FIRMWARE Fixes the output of 'modinfo --field firmware'. Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 61d36370e24bb5d8f83481aa6f76fc05385c75c9 Author: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Date: Tue Sep 1 10:56:09 2015 +0800 ath9k: enable hw manual peak calibration for QCA9561 This patch fix https://lists.openwrt.org/pipermail/openwrt-devel/ 2015-August/034979.html. As the peak detect calibration is set incorrectly. Signed-off-by: Miaoqing Pan <miaoqing@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 36925e52c5ac9d10a553d1339e13a61bfbdd4ba4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Aug 31 10:46:45 2015 -0700 mwifiex: Make mwifiex_dbg a function, reduce object size The mwifiex_dbg macro has two tests that could be consolidated into a function reducing overall object size ~10KB (~4%). So convert the macro into a function. $ size drivers/net/wireless/mwifiex/built-in.o* (x86-64 defconfig) text data bss dec hex filename 233102 8628 4809 246539 3c30b drivers/net/wireless/mwifiex/built-in.o.new 243949 8628 4809 257386 3ed6a drivers/net/wireless/mwifiex/built-in.o.old Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 07fe2e38c7fd19dc6a5468d0661fc75586ce9ca4 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Thu Aug 27 16:14:06 2015 +0200 brcmfmac: Reset PCIE devices after recognition. When PCIE type devices are being FW reloaded without being properly reset then the device ends up in a locked state, requiring the device to be completely powered down. This patch adds a reset through watchdog at the moment the device (cores) has been recognized. This will solve warm reboot issues. Cc: Rafal Milecki <zajec5@xxxxxxxxx> Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 95ef12394a4d002c7ed3bcbed224f3391792a02b Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:15:04 2015 +0200 brcmfmac: introduce brcmf_net_detach() function In case of error during brcmf_bus_start() the network interfaces were freed using free_netdev(). However, the interfaces may have additional memory allocated which is not freed. The netdev has destructor set to brcmf_cfg80211_free_netdev() which frees the additional memory if allocated and call free_netdev(). The brcmf_net_detach() either calls brcmf_cfg80211_free_netdev() directly or uses unregister_netdev() when struct net_device::reg_state indicates the netdev was registered. Reported-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> 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 c67d41ba6ff3a4be9aecb9df202e05e149832df5 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:15:03 2015 +0200 brcmfmac: change prototype for brcmf_fws_hdrpull() Instead of passing ifidx and drvr just pass struct brcmf_if pointer which holds both parameters. 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 03cca20a6ee15b25487b4992eda2c3bf08d1f1c1 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:15:02 2015 +0200 brcmfmac: remove ifidx parameter from brcmf_fws_txstatus_suppressed() The brcmf_fws_txstatus_suppressed() function prototype specifies an ifidx parameter which is not used within the function implementation. 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 9d6c1dc4f9136227b39faf98ae46d0228fe1fa19 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:15:01 2015 +0200 brcmfmac: add dedicated debug level for firmware console logging Both PCIe and SDIO devices have the possibility to log the firmware console output in kernel log. For PCIe it is logged when PCIE debug level is enabled. For SDIO it is logged when user specifies a non-zero console interval through debugfs. This patch tries to make it a bit more consistent. The firmware console output is only logged when FWCON debug level is enabled. 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 291da87b69109924e6ee526606a783668d2232e0 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:15:00 2015 +0200 brcmfmac: add mapping for interface index to bsscfg index Because the P2P Device interface in firmware uses the same interface index as the primary interface we use the bsscfg index as index in the struct brcmf_pub::iflist. However, in the data path we get the interface index and not the bsscfg index. So we need a mapping of interface index to bsscfg index, which can be determined upon handle adding the interface. 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 054e68add65972af20dbf0848e25c80828c5cd60 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:59 2015 +0200 brcmfmac: pass struct brcmf_if instance in brcmf_txfinalize() Most call sites of brcmf_txfinalize already have struct brcmf_if instance so pass that to brcmf_txfinalize() as the function needs it anyway. 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 46f3b6ee483898095906023e1ba3af2bddc38af9 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:58 2015 +0200 brcmfmac: use brcmf_get_ifp() to map ifidx to struct brcmf_if instance The knowledge on how to map the interface index to a struct brcmf_if instance is in brcmf_get_ifp() so use that function when only the interface index is known instead of accessing brcmf_pub::iflist directly. 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 ddddfed2f9d8422fd5bb5080aa95e478832c0130 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:57 2015 +0200 brcmfmac: correct detection of p2pdev interface event The p2pdev interface is setup in firmware resulting in a interface event. This event has role and no-if flag. When role is p2p client and no-if flag is set it indicates that this is the p2pdev interface. This info is used in handling the event and adding interface in the driver. 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 1c626cf472fce757a69a4c70f038867907b5b808 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:56 2015 +0200 brcmfmac: only call brcmf_cfg80211_detach() when attach was successful In brcmf_bus_start() the function brcmf_cfg80211_attach() is called which may fail. If this happens we should not call brcmf_cfg80211_detach() in the failure path as it will result in NULL pointer dereference: brcmf_fweh_activate_events: Set event_msgs error (-5) brcmf_bus_start: failed: -5 brcmf_sdio_firmware_callback: dongle is not responding BUG: unable to handle kernel NULL pointer dereference at 0000000000000068 IP: [<ffffffff811e8f08>] kernfs_find_ns+0x18/0xd0 PGD 0 Oops: 0000 [#1] SMP Modules linked in: brcmfmac(O) brcmutil(O) cfg80211 auth_rpcgss CPU: 1 PID: 45 Comm: kworker/1:1 Tainted: G O Hardware name: Dell Inc. Latitude E6410/07XJP9, BIOS A07 02/15/2011 Workqueue: events request_firmware_work_func task: ffff880036c09ac0 ti: ffff880036dd4000 task.ti: ffff880036dd4000 RIP: 0010:[<ffffffff811e8f08>] [<ffffffff811e8f08>] kernfs_find_ns+0x18/0xd0 RSP: 0018:ffff880036dd7a28 EFLAGS: 00010246 RAX: ffff880036c09ac0 RBX: 0000000000000000 RCX: 000000007fffffff RDX: 0000000000000000 RSI: ffffffff816578b9 RDI: 0000000000000000 RBP: ffff880036dd7a48 R08: 0000000000000000 R09: ffff880036c0b340 R10: 00000000000002ec R11: ffff880036dd7b08 R12: ffffffff816578b9 R13: 0000000000000000 R14: ffffffff816578b9 R15: ffff8800c6c87000 FS: 0000000000000000(0000) GS:ffff88012bc40000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000068 CR3: 0000000001a0b000 CR4: 00000000000006e0 Stack: 0000000000000000 ffffffff816578b9 0000000000000000 ffff8800c0d003c8 ffff880036dd7a78 ffffffff811e8ff5 0000000ffffffff1 ffffffff81a9b060 ffff8800c789f880 ffff8800c0d00000 ffff880036dd7a98 ffffffff811ebe0d Call Trace: [<ffffffff811e8ff5>] kernfs_find_and_get_ns+0x35/0x60 [<ffffffff811ebe0d>] sysfs_unmerge_group+0x1d/0x60 [<ffffffff81404ef2>] dpm_sysfs_remove+0x22/0x60 [<ffffffff813f9db9>] device_del+0x49/0x240 [<ffffffff815da768>] rfkill_unregister+0x58/0xc0 [<ffffffffa06bd91b>] wiphy_unregister+0xab/0x2f0 [cfg80211] [<ffffffffa0742fe3>] brcmf_cfg80211_detach+0x23/0x50 [brcmfmac] [<ffffffffa074d986>] brcmf_detach+0x86/0xe0 [brcmfmac] [<ffffffffa0757de8>] brcmf_sdio_remove+0x48/0x120 [brcmfmac] [<ffffffffa0758ed9>] brcmf_sdiod_remove+0x29/0xd0 [brcmfmac] [<ffffffffa0759031>] brcmf_ops_sdio_remove+0xb1/0x110 [brcmfmac] [<ffffffffa001c267>] sdio_bus_remove+0x37/0x100 [mmc_core] [<ffffffff813fe026>] __device_release_driver+0x96/0x130 [<ffffffff813fe0e3>] device_release_driver+0x23/0x30 [<ffffffffa0754bc8>] brcmf_sdio_firmware_callback+0x2a8/0x5d0 [brcmfmac] [<ffffffffa074deaf>] brcmf_fw_request_nvram_done+0x15f/0x5e0 [brcmfmac] [<ffffffff8140142f>] ? devres_add+0x3f/0x50 [<ffffffff810642b5>] ? usermodehelper_read_unlock+0x15/0x20 [<ffffffff81400000>] ? platform_match+0x70/0xa0 [<ffffffff8140f400>] request_firmware_work_func+0x30/0x60 [<ffffffff8106828c>] process_one_work+0x14c/0x3d0 [<ffffffff8106862a>] worker_thread+0x11a/0x450 [<ffffffff81068510>] ? process_one_work+0x3d0/0x3d0 [<ffffffff8106d692>] kthread+0xd2/0xf0 [<ffffffff8106d5c0>] ? kthread_create_on_node+0x180/0x180 [<ffffffff815ed35f>] ret_from_fork+0x3f/0x70 [<ffffffff8106d5c0>] ? kthread_create_on_node+0x180/0x180 Code: e9 40 fe ff ff 48 89 d8 eb 87 66 0f 1f 84 00 00 00 00 00 66 66 66 66 90 55 48 89 e5 41 56 49 89 f6 41 55 49 89 d5 31 d2 41 54 53 <0f> b7 47 68 48 8b 5f 48 66 c1 e8 05 83 e0 01 4d 85 ed 0f b6 c8 RIP [<ffffffff811e8f08>] kernfs_find_ns+0x18/0xd0 RSP <ffff880036dd7a28> CR2: 0000000000000068 ---[ end trace 87d6ec0d3fe46740 ]--- Reported-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> 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 ee6e3a3414a48425211f9292b8bfc4524c666c41 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:55 2015 +0200 brcmfmac: change parameters for brcmf_remove_interface() Just pass the interface to be removed, ie. the struct brcmf_if instance. 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 796cfb65e3ed01a9b08e3a0b93e34120c54bbbd2 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:54 2015 +0200 brcmfmac: make brcmf_proto_hdrpull() return struct brcmf_if instance Avoid spreading the ifidx in the driver, but have it return the struct brcmf_if instance. 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 75effb03ee8e4c9d4bbc909118ce5444b047dfde Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Wed Aug 26 22:14:53 2015 +0200 brcmfmac: consolidate ifp lookup in driver core In rx path the firmware provide an interface index which is used to map to a struct brcmf_if instance. However, this involves some trick that is done in two places. This is changed by having driver core providing brcmf_get_ifp() function. 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 00e5e8c47b6fb2da314b0221477b2b84bea0e224 Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 19:59:00 2015 +0200 ARM: dts: Unify voltage regulator style in exynos4412-odroid Use 'ldoN_reg: LDON' syntax and drop the deprecated 'regulator-compatible' property. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit 4e33714eb46dfdb275893a4999b73f9b94e999f2 Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 19:58:59 2015 +0200 ARM: dts: Remove redundant pinctrl settings in exynos4412-odroid The pinctrl settings in i2c_0 and i2c_1 are already provided through the exynos4 dtsi. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit 6716f6c6b8ae69e2abbea5e9c0c3c274be57d927 Author: Vladimir Zapolskiy <vz@xxxxxxxxx> Date: Fri Sep 25 20:35:32 2015 +0300 ARM: dts: Fix cpu compatible value for s3c2416 The change corrects cpu compatible property to a defined one, see Documentation/devicetree/bindings/arm/cpus.txt Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Kukjin Kim <kgene@xxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit 8a4683a5e06efda7e1f327213678d4dcafc0d894 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Mon Sep 28 12:47:14 2015 +0200 net: help compiler generate better code in eth_get_headlen Noticed that the compiler (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)) generated suboptimal assembler code in eth_get_headlen(). This early return coding style is usually not an issue, on super scalar CPUs, but the compiler choose to put the return statement after this very unlikely branch, thus creating larger jump down to the likely code path. Performance wise, I could measure slightly less L1-icache-load-misses and less branch-misses, and an improvement of 1 nanosec with an IP-forwarding use-case with 257 bytes packets with ixgbe (CPU i7-4790K @ 4.00GHz). Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2e1339f40db753286ca0a92c92a847e08c5d2de Author: Bendik Rønning Opstad <bro.devel@xxxxxxxxx> Date: Wed Sep 23 18:49:53 2015 +0200 tcp: Fix CWV being too strict on thin streams Application limited streams such as thin streams, that transmit small amounts of payload in relatively few packets per RTT, can be prevented from growing the CWND when in congestion avoidance. This leads to increased sojourn times for data segments in streams that often transmit time-dependent data. Currently, a connection is considered CWND limited only after having successfully transmitted at least one packet with new data, while at the same time failing to transmit some unsent data from the output queue because the CWND is full. Applications that produce small amounts of data may be left in a state where it is never considered to be CWND limited, because all unsent data is successfully transmitted each time an incoming ACK opens up for more data to be transmitted in the send window. Fix by always testing whether the CWND is fully used after successful packet transmissions, such that a connection is considered CWND limited whenever the CWND has been filled. This is the correct behavior as specified in RFC2861 (section 3.1). Cc: Andreas Petlund <apetlund@xxxxxxxxx> Cc: Carsten Griwodz <griff@xxxxxxxxx> Cc: Jonas Markussen <jonassm@xxxxxxxxxx> Cc: Kenneth Klette Jonassen <kennetkl@xxxxxxxxxx> Cc: Mads Johannessen <madsjoh@xxxxxxxxxx> Signed-off-by: Bendik Rønning Opstad <bro.devel+kernel@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Tested-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Tested-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e2a5ebc3f94027d0f2ffd33d3f3adbc856775d3 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Mon Sep 28 10:26:53 2015 +0530 cxgb4: Add HW timesptamp support for RX Adds support for ethtool get time stamp ioctl, which is used by tcpdump to get the supported time stamp types eg: tcpdump -i eth5 -J Time stamp types for eth5 (use option -j to set): host (Host) adapter_unsynced (Adapter, not synced with system time) Adds support for adapter unsynced mode, by adding SIOCSHWTSTAMP support in driver. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4600d69ffc7c0ce9759532e2c10056bf1c0a1a7 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Sun Sep 27 15:22:44 2015 +0800 net: Fix Hisilicon Network Subsystem Support Compilation This patch fixes the compilation error with arm allmodconfig, this error generated due to unavailability of readq() on 32-bit platform which was found during net-next daily compilation. In the same time, fix all the hns drivers compilation warnings. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: zhaungyuzeng <Yisen.zhuang@xxxxxxxxxx> Signed-off-by: kenneth Lee <liguozhu@xxxxxxxxxxxxx> Signed-off-by: yankejian <yankejian@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1273bc573ab13b9c76053fe0403dca7d8acffa78 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Sep 26 20:49:20 2015 +0200 net: irda: pxaficp_ir: dmaengine conversion Convert pxaficp_ir to dmaengine. As pxa architecture is shifting from raw DMA registers access to pxa_dma dmaengine driver, convert this driver to dmaengine. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Tested-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89fa57244aa170bb344cdb5be35afdeefc219fbd Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Sep 26 20:49:19 2015 +0200 net: irda: pxaficp_ir: convert to readl and writel Convert the pxa IRDA driver to readl and writel primitives, and remove another set of direct registers access. This leaves only the DMA registers access, which will be dealt with dmaengine conversion. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Tested-by: Petr Cvek <petr.cvek@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be01891e4606bc6aaa2b12fbade1aca8eb467a16 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Sep 26 20:49:18 2015 +0200 net: irda: pxaficp_ir: use sched_clock() for time management Instead of using directly the OS timer through direct register access, use the standard sched_clock(), which will end up in OSCR reading anyway. This is a first step for direct access register removal and machine specific code removal from this driver. This commit changes the behavior, as previously the minimum turnaround time was counted in 76ns steps, while with this patch it is counted in microsecond steps. The strictly equal formula would have been : while ((sched_clock() - si->last_clk) * 76 < mtt) Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b40f709a1b3100a1a9dbd824303c68757f2e25e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 25 18:31:32 2015 -0300 net: fec: Remove unneeded FEATURES_NEED_QUIESCE definition There is no need to have FEATURES_NEED_QUIESCE defined as we can simply use NETIF_F_RXCSUM instead as done in other parts of the driver. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17fb0b2b90568182bc969cbe0d76fa07079267e4 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 25 15:22:54 2015 -0600 net: Remove redundant oif checks in rt6_device_match The oif has already been checked that it is non-zero; the 2 additional checks on oif within that if (oif) {...} block are redundant. CC: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49d28b5642444d82bd23b9333785480d265420d1 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Fri Sep 25 21:13:48 2015 +0000 lan78xx: Return 0 when lan78xx_suspend() has no error. lan78xx_suspend() may return non-zero from lan78xx_write_reg() in some scenario. Fix to return 0 when lan78xx_suspend() has no error. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 366f02d873575ccbcdc5f6d90698dbbe4f80f134 Merge: 4de61ba 171bb2c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 28 22:19:56 2015 -0700 Merge branch 'mlx5-next' Or Gerlitz says: ==================== Mellanox mlx5 driver update Bunch of changes from the team, while warming engines for the upcoming SRIOV support. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 171bb2c560f45c0427ca3776a4c8f4e26e559400 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:16 2015 +0300 net/mlx5_core: Update health syndromes Update new health monitored syndromes and their descriptions. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78ccb25861d76a8fc5c678d762180e6918834200 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:15 2015 +0300 net/mlx5_core: Fix wrong name in struct The name refers to syndrome so uset ext_synd instread of ext_sync. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a31208b1e11df334d443ec8cace7636150bb8ce2 Author: Majd Dibbiny <majd@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:14 2015 +0300 net/mlx5_core: New init and exit flow for mlx5_core In the new flow, we separate the pci initialization and teardown from the initialization and teardown of the other resources. init_one calls mlx5_pci_init that handles the pci resources initialization. It then calls mlx5_load_one to initialize the remainder of the resources. When removing a device, remove_one is invoked. However, now remove_one calls mlx5_unload_one to free all the resources except the pci resources. When mlx5_unload_one returns, mlx5_pci_close is called to free the pci resources. The above separation will allow us to implement the pci error handlers and suspend and resume callbacks. Signed-off-by: Majd Dibbiny <majd@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8ffe63e60dde2f2f05fa92dad48f6106d62f9a3 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:13 2015 +0300 net/mlx5_core: Fix notification of page supplement error Some errors did not result with notifying firmware that the page request could not be fulfilled. Fix this and put the notification logic into a separate function. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be87544de8df2b1eb34bcb5e32691287d96f9ec4 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:12 2015 +0300 net/mlx5_core: Fix async commands return code In case of async command completion, the error code returned should take into account the command completion status. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c3dbd2d722a6010010ad99a6890a56178385bb8 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:11 2015 +0300 net/mlx5_core: Remove redundant "err" variable usage Cosmetic change. Do not use the an err variable just to assign and return it. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97909302f9739c4c5664bc6fc19237ec19d53c02 Author: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:10 2015 +0300 net/mlx5_core: Fix struct type in the DESTROY_TIR/TIS device commands Used the output mailbox format for input mailbox. Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 343b29f308d0a9c12579feec9d244ffc53ae99c3 Author: Achiad Shochat <achiad@xxxxxxxxxxxx> Date: Fri Sep 25 10:49:09 2015 +0300 net/mlx5e: Priv state flag not rolled-back upon netdev open error The private mlx5 state flag that indicates that the netdev is opened is set at the beginning of the netdev open flow. In case an error occured later in the mlx5 netdev open flow, this flag was not cleared, remaining set although the actual set is closed. Signed-off-by: Achiad Shochat <achiad@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4de61ba234c0d5834bfec1cbe180008b9d2e1827 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 08:45:43 2015 +0200 tools: bpf_jit_disasm: make get_last_jit_image return unsigned The function returns always non-negative values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c85af8810448d8ef59331be51e482413b5f503d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Sep 24 17:16:05 2015 -0700 tcp: avoid reorders for TFO passive connections We found that a TCP Fast Open passive connection was vulnerable to reorders, as the exchange might look like [1] C -> S S <FO ...> <request> [2] S -> C S. ack request <options> [3] S -> C . <answer> packets [2] and [3] can be generated at almost the same time. If C receives the 3rd packet before the 2nd, it will drop it as the socket is in SYN_SENT state and expects a SYNACK. S will have to retransmit the answer. Current OOO avoidance in linux is defeated because SYNACK packets are attached to the LISTEN socket, while DATA packets are attached to the children. They might be sent by different cpus, and different TX queues might be selected. It turns out that for TFO, we created a child, which is a full blown socket in TCP_SYN_RECV state, and we simply can attach the SYNACK packet to this socket. This means that at the time tcp_sendmsg() pushes DATA packet, skb->ooo_okay will be set iff the SYNACK packet had been sent and TX completed. This removes the reorder source at the host level. We also removed the export of tcp_try_fastopen(), as it is no longer called from IPv6. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eae93fe4ff88ec0979a00c440a1aa63f92c8f367 Merge: 34c2d9f cbfe360 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 28 20:56:02 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-28 This series contains updates to i40e, i40evf and igb to resolve issues seen and reported by Red Hat. Kiran moves i40e_get_head() in preparation for the refactor of the Tx timeout logic, so that it can be used in other areas of the driver. Refactored the driver timeout logic by issuing a writeback request via a software interrupt to the hardware the first time the driver detects a hang. This was due to the driver being too aggressive in resetting a hung queue. Shannon adds the GRE protocol to the transmit checksum encoding. Anjali fixes an issue of forcing writeback too often, which caused us to not benefit from NAPI. We now disable force writeback in the clean routine for X710 and XL710 adapters. The X722 adapters do not enable interrupt to force a writeback and benefit from WB_ON_ITR and so force WB is left enabled for those adapters. Fixed a possible deadlock issue where sync_vsi_filters() can be called directly under RTNL or through the timer subtask without RTNL. So update the flow to see if we are already under RTNL before trying to grab it. Stefan Assmann provides a fix for igb where SR-IOV was not getting enabled properly and we ran into a NULL pointer if the max_vfs module parameter is specified. This is prevented by setting the IGB_FLAG_HAS_MSIX bit before calling igb_probe_vfs(). v2: added "i40e: Fix for recursive RTNL lock during PROMISC change" patch to the series, as it resolves another issues seen and reported by Red Hat. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07294cc2ea3000da706fd88c8ec7dcfadc715e14 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Mon Sep 28 23:59:52 2015 +0200 USB: Added forgotten parameter description for authorized attribute in usb.h Signed-off-by: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96a384a7ed53b38fc2ba35fa5ef828a2c7368a3a Author: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Date: Mon Sep 28 22:52:33 2015 +0100 staging: rtl8712: remove dead code The while() loop will only exit in a return or a goto ask_for_joinbss, which means it will never break and execute the return after it. Removing return _FAIL since it is dead code. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3a5536a7da427283c4709d0bbe5665fe8d3c810 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:48 2015 -0800 Staging: rtl819u: Fix brace styling issues This is a patch to correct two flavors of brace styling issues in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b85e56bebab9297d96c167531ebba974f383117 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:43 2015 -0800 Staging: rtl8192u: spaces required around = operator This is a patch to add spaces around = operators in several instances in ieee80211_softmac_wx.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0bde11cb4541e50a44392b0f0eccc679093343a7 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:38 2015 -0800 Staging: rtl8192u: add spaces around == and || operators This is a patch to add missing spaces around == and || operators in one instance in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b117d1a0da3f1b090dcd354eaafd5a5dfb8378c7 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:34 2015 -0800 Staging: rtl8192u: move open braces to previous lines This is a patch to move opening braces to the lines on which their corresponding if-statements exist in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbb192d151a9ec2d98629b4b42c6b074bdbb4e0c Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:29 2015 -0800 Staging: rtl8192u: add missing blank lines after declarations This is a patch to add blank lines after declaration ins several instances in iee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc9db95017d24fd1e2f324b3977077c030d8e830 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 23 22:15:24 2015 -0800 Staging: rtl8192u: space required after ',' This is a fix to add spaces after commas in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d76173d40bef0516068dbf38195470abf979c8a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 27 21:48:19 2015 +0200 staging: rtl8723au: Fix resource leak Firmware was not released properly if kmemdup fails. Addresses-Coverity-Id: 1269118 Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9da4aa48d04bbdbae3c959809e14da2bf0c53f61 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Wed Sep 23 23:42:26 2015 +0200 staging: rtl8188eu: Fix build error when CFG80211 is not selected The kbuild test robot reports the following build error for i386-randconfig-c0-09230740: >> ERROR: "ieee80211_hdrlen" [drivers/staging/rtl8188eu/r8188eu.ko] undefined! Add a dependency on CFG80211 to fix it. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f62cd2cd95ef05f125c57d4905deff81a504682e Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 23:50:38 2015 +0200 staging: rtl8188eu: issue_action_BA(): extract ADDBA_req pointer pmlmeinfo->ADDBA_req is accessed three times in this function, but it contributes to generating lines above 80 characters that are not easy to split in a nice way. Extract a pointer to it to make code slightly more concise and fix some lines over 80 characters. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e4e8e025c374959538d37a812a7c20f7aa8a5c1 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 23:50:37 2015 +0200 staging: rtl8188eu: don't cast when calling rtw_set_fixed_ie() The 'pbuf' and 'source' arguments to rtw_set_fixed_ie() are (void *), the explicit typecasts are not needed. They just make code less readable. Also fix checkpatch issues in the lines touched: ERROR: space prohibited before that ',' (ctx:WxW) WARNING: line over 80 characters CHECK: Unnecessary parentheses around <var> Note: some of the modified lines are still over 80 characters because they are not fixable by just adding newlines. They will be fixed in a later patch. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3441d08ca20a390ab0484c11bd69f2a75e702774 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 23:50:36 2015 +0200 staging: rtl8188eu: rtw_set_fixed_ie(): accept void* parameters rtw_set_ie() is a memcpy-like function, taking addresses of memory buffers among its parameters. Similarly to memcpy, change the parameters to be void*. This will allow to get rid of typecasts whenever it is called. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f22c2468b6ff8542453b5d9e7f3b8ddbbb4bcef4 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Tue Sep 22 23:50:35 2015 +0200 staging: rtl8188eu: remove useless comment This comment gives pretty much the same information as the name of the function that it immediately precedes. Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0588da57c4b3afe99a70f5452d5e017e3d5e0d16 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:33 2015 +0200 staging: rtl8192e: Merge/Remove _rtl92e_dm_bb_initialgain_backup Merge rtl92e_dm_backup_state and _rtl92e_dm_bb_initialgain_backup. Static function is called only once and dm_backup_state had short body. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77b6c42e0278decff0c98999fb835f36048415ab Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:32 2015 +0200 staging: rtl8192e: Simplify _rtl92e_calculate_bit_shift Use ffs instead of iteration. Behaviour of function doesn't change. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcf481dbbd80e1206804a0fae3fd5c1debebe11c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:31 2015 +0200 staging: rtl8192e: Remove extra braces Remove extra braces in _rtl92e_dm_check_tx_power_tracking_thermal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7ebb316b3dc777175fd53aff7952c3097eb14ff Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:30 2015 +0200 staging: rtl8192e: Remove _rtl92e_dm_check_pbc_gpio Function is empty. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68a707e41f624777a5f24ae85de8b2f7a4e74f2e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:29 2015 +0200 staging: rtl8192e: Remove _rtl92e_silent_reset_mesh Function is empty. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae6d07a5d11a6ee2153521077c4760e22bef886f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:28 2015 +0200 staging: rtl8192e: Fix FSF_MAILING_ADDRESS warnings Remove FSF address from licenses at the beginning of files. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c29207a96885b82175979c723a63de05d5fb2f9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:27 2015 +0200 staging: rtl8192e: Fix CONSTANT_COMPARISON warnings Remove yoda conditions where pointed by checkpatch. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc00af0cd0313f1446cf4ff9d536a2db216f8fb7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:26 2015 +0200 staging: rtl8192e: Fix SUSPECT_CODE_INDENT warnings Fix SUSPECT_CODE_INDENT warnings (indentation). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2e681faa50baa078c8d129e929f0e51b7c07877 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 21:04:25 2015 +0200 staging: rtl8192e: rtl_wx: Fix BRACES warning Fix checkpatch BRACES warning. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba72f25b2588e1ac5980c9e1bb343630d6b5b03d Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Fri Sep 25 11:21:01 2015 -0500 staging: fsl-mc: Fixed uintX_t CHECK checkpatch warnings Replaced all uses of uintX_t types to uX types, to be checkpatch clean. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9bf3f206bd5e61e7908a1e81f0c254bf6c99064 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Thu Sep 24 14:26:54 2015 -0500 staging: fsl-mc: Moved kernel-doc comments to .c files Moved kernel-doc comments for non-inline functions from header files to .c files. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ee695fab32e25ff188c98a145cc93674f594923 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:11:03 2015 -0500 staging: fsl-mc: up-rev dprc binary interface to v4.0 Add cmd_flags parameter to all dprc APIs to comply with the dprc 4.0 MC interface. Updated MC version major number. Pass irq args in struct instead of separate args. dprc 4.0 uses MC-relative offsets to specify object regions, instead of physical addresses. So, translate_mc_addr() and struct fsl_mc_addr_translation_range need to be updated accordingly. Update commands for 4.0: add new commands 'set/get obj irq', 'set obj label', 'get obj descriptor'. Remove 'get portal paddr'. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1135cb669fabc5c22286faec9d3ca1f2d9594ec Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:11:02 2015 -0500 staging: fsl-mc: up-rev dpcon binary interface to v2.0 dpcon object minor version number updated to match latest MC firmware. This change is needed because the dpcon object binds to the allocator and the current driver match logic uses object version numbers. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a9a56be67b2ae4c9af943a5696c4fff309cc14f Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:11:01 2015 -0500 staging: fsl-mc: up-rev dpmcp binary interface to v2.0 Add cmd_flags parameter to all dpbp APIs to comply with the dpmcp 2.0 MC interface. Updated version major number. Pass irq args in struct instead of separate args. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4d887219cba8ce78dcc854b1a3afd0b48ade760 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:11:00 2015 -0500 staging: fsl-mc: up-rev dpbp binary interface to v2.0 Add cmd_flags parameter to all dpbp APIs to comply with the dpbp 2.0 MC interface. Updated MC version major number. Pass irq args in struct instead of separate args. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 405774356453ac955a9c221690a61cbb2d262c15 Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:10:59 2015 -0500 staging: fsl-mc: uprev dpmng binary interface to v8.0 Add cmd_flags parameter to all dpmng APIs to comply with 8.0 MC firmware interface. Updated MC version major number. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8604669069ea8816205fac23037c21452aa328c Author: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Date: Wed Sep 23 16:10:58 2015 -0500 staging: fsl-mc: Add new flags field to MC command header The Management Complex (MC) binary interface added a new "flags" field to the command header. Add the definitions for this field in preparation for adding the new cmd_flags parameter to all MC interface APIs. Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e4161747bc6e1e40d0a45dc9ad742d66f2a9fb1 Author: Sriram Raghunathan <sriram@xxxxxxxxxxxxx> Date: Tue Sep 22 22:35:51 2015 +0530 staging: android: Fix checkpatch block comments warnings This patch is intended to fix the checkpatch warning for ``block`` comments for staging/android driver. Signed-off-by: Sriram Raghunathan <sriram@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56b4c049273f3d4ad6d5c71a1569d3fbb4028840 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:44 2015 +0100 staging: vt6656: remove RX complete locking. The lock in vnt_submit_rx_urb_complete is blocked by TX activity. The lock comes from a time when RX needed to be synchronized with other parts of the driver because the WLAN API was in driver. Since this is now dealt with in mac80211 the lock is unnecessary. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b914b4944902d489226a5b465908403505723b9a Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:43 2015 +0100 staging: vt6656: don't stop TX queue unless buffer full. Presently the TX buffer stops while filling the buffer and urb. However, this does not make use of the available buffer space, it also lags the speed of the TX troughtput. Only stop the queue when the buffer becomes full. The URB complete will start the queue again when a buffer and URB is available. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49a315bf072e7ebe8bdc4a2e11f405c821835e88 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:42 2015 +0100 staging: vt6656: implement power saving. The device can now operate in low power mode Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43c93d9bf5e2b195c38de99024d8d9e545a5aae5 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:41 2015 +0100 staging: vt6656: implement power saving code. The device should ready to listen to next beacon so on count down of wake_up_count == 1. schedule command WLAN_CMD_TBTT_WAKEUP which calls vnt_next_tbtt_wakeup which wakes the device. This restores this back to vendors code with a slight difference the count down is in the interrupt handler. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c15158797df6c36780bd07252eb079ff4c9d1706 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:40 2015 +0100 staging: vt6656: implement TSF counter The TSF counter is presently unused on driver in infrastructure mode. It is needed to implement power saving functions and wireless stats that are passed in interrupt handling. Ensuring counter is synced with access point beacon. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 113d6dc18e5e9334493a0f500c01a9e97796cd9b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Sep 27 09:17:39 2015 +0100 staging: vt6655: don't stop TX queue unless buffer full. Presently the TX buffer stops while filling the buffer. However, this does not make use of the available buffer space, it also lags the speed of the TX troughtput. Only stop the queue when the buffer becomes full. The Interupt handler will start the queue again when a buffer is available. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ac8480ad61a45c2a9e3ee003d2cf4ce37ef4795 Author: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Date: Wed Sep 23 22:07:55 2015 +0200 staging: wlan-ng remove unnessecary variable The result variable is not set anywhere beyond its initialization, therefore it can be remove. Signed-off-by: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c739c987c1e19b924b252ebb12ffeac3ef9b1d5c Author: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Date: Wed Sep 23 22:07:54 2015 +0200 staging: wlan-ng remove redundant conditional We exit the above loop either if curroff >= (HFA384x_PDA_LEN_MAX / 2 - 1) or if we found the END marker in the element beyond the current one. The first case is checked for in the preceding if statement, therefore the second if statement is redundant and can be removed. Signed-off-by: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ccb726c728cb414d9abc65a11a6453e75204503 Author: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Date: Wed Sep 23 22:07:53 2015 +0200 staging: wlan-ng fix buffer overflow in firmware handling We test for an END marker in the element beyond the current one, this effectively limits the size of the array to be HFA384x_PDA_LEN_MAX/2 - 1 not HFA384x_PDR_END_OF_PDA/2. This patch fixes a possible buffer overflow in case there was no END marker. Signed-off-by: Tillmann Heidsieck <theidsieck@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 174f2642349da542eb27c011e67a147773d8721f Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sun Sep 27 16:25:43 2015 +0300 staging: sm750fb: replace twoToPowerOfx with shift operator The function twoToPowerOfx that iteratively calculates the power of 2 may be replaced with shift operator Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e967d336ee1a01ced24907ead6cd93dc4f097bed Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 22 12:01:18 2015 +0300 staging: sm750fb: remove unused MB(x) and KB(x) macros The MB(x) and KB(x) macros are not used and therefore they can be removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4cf26d859aba42f15a372d9f26b51f4a36f03575 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 22 12:01:17 2015 +0300 staging: sm750fb: replace custom MB(x) macro with appropriate SZ_xM Use SZ_xM defined in linux/sizes.h instead of custom MB(x) macro Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67088d49a1c952c71448e75b6105ad5ce9c04719 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 22 12:01:16 2015 +0300 staging: sm750fb: tidy up #include directives Add space between '#include' keyword and the header name Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27254ec26c6395ca0cfabde8e67b352a4ad7a3bf Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 22 10:52:16 2015 +0300 staging: sm750fb: sm750_help.h: spacing fix Remove unnecessary space in sm750_help.h to fix the following checkpatch.pl error: drivers/staging/sm750fb/sm750_help.h:46: space prohibited after that '~' (ctx:ExW) Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e98631d83c84adfee9d33f04808a6e0eb2fa0345 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 22 02:39:36 2015 +0200 staging: dgap: fix returned errno code in dgap_parsefile() The driver is using -1 instead of the -ENOMEM defined macro to specify that a buffer allocation failed. Since the error number is propagated, the caller will get a -EPERM which is the wrong error condition. Also, the smatch tool complains with the following warning: dgap_parsefile() warn: returning -1 instead of -ENOMEM is sloppy Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f937918b73b2a56ef238a2dcc0bbd97d48490b9 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 22 16:24:58 2015 +0200 staging: wicl1000: remove duplicated operand in OR operation The IEEE80211_STYPE_PROBE_REQ flag appears twice in the expression and coccicheck complains with: wilc_wfi_cfgoperations.h:80:3-38: duplicated argument to & or | Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2c3506be646a495a4e3f1d1ce9540916703c244 Author: David Kershner <david.kershner@xxxxxxxxxx> Date: Thu Sep 24 11:00:40 2015 -0400 staging: unisys: Add s-Par visorhba This driver create a host bus adapter device when s-Par sends a device create message to create a storage adapter on the visorbus. When the message is received by visorbus, the visorhba_probe function is called and the hba device is created and managed by the visorhba driver. Signed-off-by: Erik Arfvidson <erik.arfvidson@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 070b399723206a4ed80410358f801a7df68d08e6 Author: Bodong Wang <bodong@xxxxxxxxxxxx> Date: Tue Sep 22 23:18:11 2015 +0300 IB/mlx4: Report checksum offload cap for RAW QP when query device Signed-off-by: Bodong Wang <bodong@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit 470a55358186d0bb93558a87d13159dfbc989351 Author: Bodong Wang <bodong@xxxxxxxxxxxx> Date: Tue Sep 22 23:18:10 2015 +0300 IB/core: Add support of checksum capability reporting for RC and RAW Two enum members IB_DEVICE_RC_IP_CSUM and IB_DEVICE_RAW_IP_CSUM are added to ib_device_cap_flags. Device should set these two flags if they support insertion of UDP and TCP checksum on outgoing IPv4 messages and can verify the validity of checksum for incoming IPv4 messages, for RC IPoIB and RAW over Ethernet respectively. They are similar to IB_DEVICE_UD_IP_CSUM. Signed-off-by: Bodong Wang <bodong@xxxxxxxxxxxx> Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx> commit a6c8746d54047640e71572d3f48f0bf5708bc92f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:47 2015 -0400 staging/lustre: partially use time64_t for capa expiry Here, we actually have a problem in 2038 or at the latest in 2106 when the lc_expiry variable on the wire protocol overflows, including on 64-bit architectures. Now that the actual code was removed, only on-the wire structure is left so we add in a y2038 warning to remind whoever gets to implement it again about this problem. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef2e0f55ec2e893748f024e0873a58db9d1d10de Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:46 2015 -0400 staging/lustre: Remove mds/ost capabilities support Client capabilities is an outdated feature that never worked properly, so let's get rid of the client support since modern servers don't have this support either. The patch is big, but since it just removes one large feature, so it's hopefully easy to verify. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3598094361898873d469c6f25fe9365ca9a8fc3 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:45 2015 -0400 staging/lustre: Remove unused debugfs/procfs helpers These particular helpers are unused so let's get rid of them: ldebugfs_add_symlink, lprocfs_rd_u64, lprocfs_rd_atomic, lprocfs_wr_atomic, lprocfs_rd_name, lprocfs_seq_read_frac_helper Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dcaf8882218eb01c3bfdc048a1b98097a111ebf1 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:44 2015 -0400 staging/lustre: Remove unused lprocfs_init_ldlm_stats This is unused anywhere in the client code. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf16e3718c3648c8ce8912e27b6c7893346ad49f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:43 2015 -0400 staging/lustre: Remove unused lprocfs_alloc/free_md_stats This code is not called anywhere in the current client code, so we can remove it. Also remove a helper function lprocfs_init_mps_stats Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a6198c74d224c3ebcc4fb3d45c18d6310bc86e3 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:42 2015 -0400 staging/lustre/obdclass: Remove unused lprocfs_alloc/free_obd_stats obd_stats in the form present were only used on the server, so let's remove them from the client code This also removes lprocfs_init_ops_stats helper. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9184bd51c9a981410533f31a2516a8452eb0da69 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:41 2015 -0400 staging/lustre: remove dt_object implementation Nothing uses dt_object now, so we can kill the implementation and the stale references. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c85bd76d3faad3ed6a3abefb636bc88287765d5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:40 2015 -0400 staging/lustre/llog: remove unused server code Most of the code in llog.c and llog_cat.c is completely unused on the client and can be removed, as a preparation for removing the dt_object code. Two tricky parts are: - In llog_cat_close(), we rely on the fact that llh_flags never contains LLOG_F_ZAP_WHEN_EMPTY, because nobody ever sets that flag. - In llog_read_header(), we check the return value of the lpi_cb callback, and again we know that it cannot be LLOG_PROC_BREAK or LLOG_DEL_RECORD and can remove the respective code path. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdeccfdc37eff2125e926d4c78b02165711393ce Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:39 2015 -0400 staging/lustre: Remove obd_export_evict_by_nid/uuid These functions only make sense on the server. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c860a3bd565702e45690060d047e841a7f167771 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:38 2015 -0400 staging/lustre/obdclass: Remove unused lprocfs_wr_evict_client This is only used on the servers to evict clients. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93d3a405a168fba4450bdda793149e3cd4174736 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:37 2015 -0400 staging/lustre: remove CFS_TIME_T definition The CFS_TIME_T macro serves no real purpose as we stopped using time_t and changed over to time64_t, so we can remove the last remaining uses of this. Two uses of this macro are incorrect and refer to jiffies values rather than time_t, and one refers to an inode timespec that gets changed separately. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3aabf997441891a9f4962f3ffa0c22c16aed2da0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Sep 27 16:45:36 2015 -0400 staging/lustre/ptlrpc: Remove ptlrpc_update_export_timer() This is only used on the server to keep track of alive clients and feeds into ping evictor (that was removed from the client code). Also remove struct obd's obd_exports_timed and struct obd_export's exp_obd_chain_timed used to keep track of that Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb209cbddd5fdd8e0916f5c2650cc778a5ce09e0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:35 2015 -0400 staging/lustre: remove class_disconnect_export_list More code that makes no sense on the client and that can be removed without replacement. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 117e2ce8cf35ce7b16ef39138bbba81a7cc38277 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:34 2015 -0400 staging/lustre: remove unused time handling functions A bunch of API functions deal with time values but are now completely unused in lustre. This removes them in order to remove all references to time_t from the header files. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 922da0c58e4107fb70364e1032c8243ac8646107 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:33 2015 -0400 staging/lustre: remove wrappers for timer functions This is a simple cleanup that I did after noticing that the abstraction for the timer functions in completely pointless, and the one user (ptlrpc) can just as well call the native Linux functions. For good measure, this also removes the empty libcfs_arch_init() and libcfs_arch_cleanup() functions that are defined in the same file. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 806d6514e9ed68ba7e47975feb9deb1f31348a12 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:32 2015 -0400 staging/lustre/lov: remove a bit of dead code lov_stripe_md_cmp lov_lum_lsm_cmp lov_lum_swab_if_needed functions have not been in used for a long time, so lets just remove them. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 380f01a18cb9ee12908583b2b30382c6d2e142d2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:31 2015 -0400 staging/lustre: remove the ping evictor This code is never used on the client and can simply be removed. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 219e6de627243c8dbc701eaafe1c30c481d1f82c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:30 2015 -0400 staging/lustre: use 64-bit times for request times All request timestamps and deadlines in lustre are recorded in time_t and timeval units, which overflow in 2038 on 32-bit systems. In this patch, I'm converting them to time64_t and timespec64, respectively. Unfortunately, this makes a relatively large patch, but I could not find an obvious way to split it up some more without breaking atomicity of the change. Also unfortunately, this introduces two instances of div_u64_rem() in the request path, which can be slow on 32-bit architectures. This can probably be avoided by a larger restructuring of the code, but it is unlikely that lustre is used in performance critical setups on 32-bit architectures, so it seems better to optimize for correctness rather than speed here. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cc980713ec9e6847896891c54562ad815c33424 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:29 2015 -0400 staging/lustre: use 64-bit times for ptlrpc_sec Here we use an unsigned long to store the timeout for gc, which is probably safe until 2106, but this patch converts it to use ktime_get_real_seconds() and time64_t for consistency. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 986ef135c2afce959971b0086fc04e0f9f654120 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:28 2015 -0400 staging/lustre: use 64-bit times for ptlrpc sec expiry The exp_flvr_expire and imp_sec_expire are defined as 'unsigned long', which doesn't overflow until 2106, but to be on the safe side, this changes the code to use time64_t like we do everywhere else. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14e3f92a4c46eedfe745b0dec42a4dcb1b16a989 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:27 2015 -0400 staging/lustre: use 64-bit timestamps for mdc These three are timestamps that are sent over the wire in mdc_lib and the obd logging 64-bit values, but are generated using the 32-bit get_seconds() function, which will eventually overflow. Changing them to use 64-bit ktime_get_real_seconds() solves the problem. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d7eed54a2391db16f184b18cde5c1824775ebdc Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:26 2015 -0400 staging/lustre: use 64-bit times in another debug print The ll_setattr_raw() function prints the new inode timestamps along with the current time using '%lu', which overflows in 2106. This changes the printing of the current time for now, the other two will change when we migrate the VFS code to use 64-bit timestamps. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 589bfa37692c61e6f07ed0d65fbfbd478694bc22 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:25 2015 -0400 staging/lustre: use 64-bit times in debug print This adapts the format string and get_seconds() call to not overflow in 2038 in the libcfs_debug_dumplog_internal() function. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80018a9edbc3180ae31a7197f9dacab975a7f5e2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:24 2015 -0400 staging/lustre: use 64-bit times in ptlrpc_enc_page_pool ptlrpc_enc_page_pool computes time deltas using 'long' values from get_seconds(). This is probably safe beyond y2038, but it's better to go use monotonic times and 64-bit here for consistency. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9f79e6bf02c109f117132163239bfffa6475ccb Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:23 2015 -0400 staging/lustre: use 64-bit time for selftest The lustre selftest code has multiple time stamps that are kept as 'time_t' or 'unsigned long' and can therefore overflow on 32-bit systems. This changes the code to use time64_t instead. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec0067d1beeee2ca45e865d608101148b5e739d4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:22 2015 -0400 staging/lustre: use 64-bit time for ni_last_alive The ni_last_alive member of lnet_ni uses a 'long' to store a timestamp, which breaks on 32-bit systems in 2038. This changes it to use time64_t and the respective functions for it. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74ad578f19959fc7af219752760c1dc0b2f78ced Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:21 2015 -0400 staging/lustre: use 64-bit times for ksnd_connd The connection starting/failing time stamps will overflow in 2038 on 32-bit machines, so we need to use time64_t and ktime_get_real_seconds() instead. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05406826aafb658d51ba7ac2fc6870992776ef6d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:20 2015 -0400 staging/lustre: use 64-bit llite debugfs timestamps The llite debugfs interface contains timestamps that are computed from timeval, which overflows in 2038 on 32-bit systems. This changes the output to use a timespec64 type to avoid the overflow. I also change the format to print the sub-second portion as 9 digits (nanoseconds) for clarity, rather than printing six digits without leading zeroes. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ac0478b65de1e5b8b62f608bdf1d8ba631acc4d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:19 2015 -0400 staging/lustre: use 64-bit time for adaptive timeout The adaptive timeout handling stores absolute times in 32-bit time_t quantities, which will overflow in 2038. This changes it to use time64_t. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74e489aa9cce1ec8f8a44ecc1651cf06b61db204 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:18 2015 -0400 staging/lustre: use 64-bit time for debugfs output This time is only printed in debugfs, and can be easily converted to 64-bit to avoid overflowing on 32-bit systems in 2038. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f83409cf2382c968f96877368cd5b542b92af1d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:17 2015 -0400 staging/lustre: use 64-bit time for pl_recalc The ldlm pool calculates elapsed time by comparing the previous and current get_seconds() values, which is unsafe on 32-bit machines after 2038. This changes the code to use time64_t and ktime_get_real_seconds(), keeping the 'real' instead of 'monotonic' time because of the debug prints. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f8c37a4e29bb4794950228d2d9571029f277d7b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:16 2015 -0400 staging/lustre: use 64-bit timestamps for selftest The wire protocol for the ping uses a 64-bit seconds/microseconds pair, but this won't work when one side uses a 32-bit timeval to look up the current time beyond 2038. This changes the code to use ktime_get_real_ts64() to create a timestamp that has the right format on all machines. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23d9a0467c6ce436e4f40e44e81005df6bdd9d2d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:15 2015 -0400 staging/lustre: use 64-bit computation in s2dhms() The s2dhms computes the day/hour/minute/second values from a time_t, which stops working in 2038. This changes the code to take a time64_t argument, and use div_u64_rem() to implement the first division. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f4fc343c008981d3a91351c030e2c29f5cd1b1c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:14 2015 -0400 staging/lustre: use 64-bit times for cfs_srand seed Several functions in Lustre call cfs_srand with do_gettimeofday as the seed to get a pseudo-random number. There is no bug here, but changing it to use ktime_get_ts64() gets us closer to deprecating do_gettimeofday() and makes it slightly more random. Affected functions are: lnet_shuffle_seed, init_lustre_lite and class_handle_init Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 473c4e01029f6692be7ddc0e7f9b75dc933c7057 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:13 2015 -0400 staging/lustre: use 64-bit ibn_incarnation computation ibn_incarnation is a 64-bit value, but using timeval to compute it will cause an overflow in 2038. This changes it to use ktime_get_real_ts64() instead. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70513c5d17b9812cc218e8b4c7826ebb5f375d9a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:12 2015 -0400 staging/lustre: use jiffies_to_*() instead of cfs_duration_usec The cfs_duration_usec() function has a timeval as its output, which we want to avoid in general because of the y2038 problem. There are only two locations remaining in lustre, so we can for now replace one with jiffies_to_timeval(), which is a generic kernel function that does the same thing, the other can just use jiffies_to_usecs() and completely avoid the timeval. This is not a full solution yet, but it's a small step that lets us build a larger portion of lustre without this reference to timeval in a header file, and avoid triggering automated checking tools that wants to warn about timeval. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8453c24d7f610ec67cc1bbbcf5c8b6880645672 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:11 2015 -0400 staging/lustre: use 'long' return type for cfs_duration_sec() The cfs_duration_sec() converts a relative jiffies value into seconds, and returns that number as a time_t. We know that a 32-bit type is enough here, because the result is order of magnitudes smaller than the difference in jiffies that is also expressed as a 'long', so we can safely replace the time_t type with long as well. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e50efea6a4fe6c92dce3022878f91cf17bdceb8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:10 2015 -0400 staging/lustre: use 64-bit time LNetCtl() This ioctl function passes a 64-bit time argument but then performs a computation with a 32-bit get_seconds() value. In order to avoid overflow here, this changes the code to use 64-bit math and ktime_get_real_seconds(). Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a11ef8ca94cccca98e0d7f23d5145cad71dd62f0 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:09 2015 -0400 staging/lustre: avoid unnecessary timeval conversion The lnet_eq_wait_locked tries to wait for time to pass or an event to wake up the wait queue. The entire logic seems to be a very elaborate reimplementation of wait_event(). I'm not trying to clean up the entire logic here, but this at least gets rid of the multi-way conversion between miliseconds, timeval and jiffies. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8ff18106cf12af944c0c33ada5aa9a0a0e54048 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:08 2015 -0400 staging/lustre: change rq_at_index type The rq_at_index member of ptlrpc_request is incorrectly declared as time_t, when it is only used as an index into an array, and assigned from a __u32 variable. This changes the type to u32, so we can kill off another use of time_t. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98f2d643e3597bf42fa6c2c2fa12b99fe4afb3bc Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:07 2015 -0400 staging/lustre: use ktime_t for calculating elapsed time process_param2_config() tries to print how much time has passed across a call_usermodehelper() function, and uses struct timeval for that. We want to remove this structure, so this is better expressed in terms of ktime_t and ktime_us_delta(). Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf6d21539d58f64812d71c956ecec3d67650b2ee Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:06 2015 -0400 staging/lustre: use time64_t for l_last_activity The l_last_activity struct member is used to keep track lock hold times, and it is printed for debugging purposes. For the elapsed time, we can use 'long' here, but it's better to use time64_t for storing the real time to avoid an overflow in 2038. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86655400c6e74751a73be82ea40d5ae6979c3225 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:05 2015 -0400 staging/lustre: use 64-bit timestamps in debugfs output Some lustre debugfs files contain the current time. Make sure we use a format here that does not overflow in 2038. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65f28840e4c653b7d78feabcb65280c09d3d0d23 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:04 2015 -0400 staging/lustre: tracefile: document seconds overflow The lustre tracefile has a timestamp defined as __u32 ph_sec; __u64 ph_usec; which seems completely backwards, as the microsecond portion of a time stamp will always fit into a __u32 value, while the second portion will overflow in 2038 or 2106 (in case of unsigned seconds). Changing this would unfortunately change the format in an incompatible way, breaking all existing user space tools that access the data. This uses ktime_get_real_ts64() to replace the insufficient do_gettimeofday() and then truncates the seconds portion to an u32 type, along with comments to explain the result. A possible alternative would be the use of ktime_get_ts64() to read a monotonic timestamp that never overflows, but this would trigger a check in user space 'hdr->ph_sec < (1 << 30)' that attempts to ensure that the values are within a reasonable range. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45efd655b1ed8286e9fe03e63e674cfb4f5b671e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:03 2015 -0400 staging/lustre: obd: remove unused data structures We want to get rid of all uses of time_t, and it turns out that obd.h contains a bunch of them that are completely unused. This removes those structures, along with a couple of other structures and functions in the same file that also turned out to be unused. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46c360f9d38e0b26247a3b723545790853c6747b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:02 2015 -0400 staging/lustre: use 64-bit inode timestamps internally Lustre has 64-bit timestamps in its network data structures, but on 32 bit systems, it converts them directly into time_t, which is 32 bit wide. This changes the code to use 64-bit time stamps for files. The Linux VFS code still uses time_t though, and will be changed in a separate patch series. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f088dba3cc267ea11ec0da318cd0175575b5f9b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Sun Sep 27 16:45:01 2015 -0400 staging/lustre: use jiffies for lp_last_query times The recently introduced lnet_peer_set_alive() function uses get_seconds() to read the current time into a shared variable, but all other uses of that variable compare it to jiffies values. This changes the current use to jiffies as well for consistency. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: af3fa7c71bf ("staging/lustre/lnet: peer aliveness status and NI status") Cc: Liang Zhen <liang.zhen@xxxxxxxxx> Cc: James Simmons <uja.ornl@xxxxxxxxx> Cc: Isaac Huang <he.huang@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7fb7027c44647338962d7aa35ddeedaaa6a9f7d6 Author: Jayavant Kenjalkar <jgkenjalkar@xxxxxxxxx> Date: Sun Sep 27 11:15:21 2015 +0530 Staging: lustre: Fix warning detected by coccicheck Removing redundant semicolon as detected by coccicheck. Signed-off-by: Jayavant Kenjalkar <jgkenjalkar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2adf5e8775374288ed5b5b4966dc92418d3868f8 Author: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Date: Thu Sep 24 00:08:17 2015 +0300 staging: lustre: make non-exported functions static Declare non-exported functions as static. Signed-off-by: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e58248728ded9d2d088b355cf74f33eb6a4746c Author: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Date: Thu Sep 24 00:04:04 2015 +0300 staging: lustre: include header with local ptlrpc declarations Include the header with declarations of variables that are shared between several sources in ptlrpc module into the appropriate source files. Signed-off-by: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dc3840b4efb6ad47357c3088a91d0088e306514 Author: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Date: Thu Sep 24 00:02:28 2015 +0300 staging: lustre: moved extern declarations to a header This patch moves declarations of variables used in several files across the ptlrpc module from source files to a local header. Signed-off-by: Anton Gerasimov <anton.gerasimov@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40396eb900aae70a79e966ff91b0783662250d07 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Tue Sep 22 07:44:03 2015 +0300 staging: lustre: lustre_dlm_flags: stop using C99 comments Convert C99-style // comments to C89-style comments and fix C99_COMMENTS checpatch errors. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92bb833e39feea79827946e1ecbaa7e6dee73fbf Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:37 2015 +0200 staging: lustre: fix handling lustre_posix_acl_xattr_filter result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4346f9a01fe0846d1399292b53b24f6fde5bd2d9 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:58 2015 +0200 staging: lustre: remove invalid check Unsigned cannot be negative. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2d023af6995b949c3661abed48c5e8266b1170b Author: Ira Weiny <ira.weiny@xxxxxxxxx> Date: Mon Sep 28 14:05:48 2015 -0400 staging/rdma: Kconfig change STAGING_RDMA to be tristate. STAGING_RDMA was failing to build when INFINIBAND was set to 'm' and STAGING_RDMA was set to 'y'. Making this a tristate properly inherits the 'm' from the INFINIBAND setting. Reviewed-by: Dalessandro, Dennis <dennis.dalessandro@xxxxxxxxx> Reviewed-by: John, Jubin <jubin.john@xxxxxxxxx> Reviewed-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b91cc5738f89ee0d551a1cd90d794c537b8f1dea Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Sep 21 23:39:08 2015 +0800 staging: rdma: add a blank line after function Fixed warnings found by checkpatch.pl: Please use a blank line after function/struct/union/enum declarations FILE: drivers/staging/rdma/amso1100/c2_mq.c:158: FILE: drivers/staging/rdma/hfi1/file_ops.c:2069: FILE: drivers/staging/rdma/hfi1/sdma.c:744: FILE: drivers/staging/rdma/hfi1/verbs.c:1202: Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96a660d70699fc5decb381b15fd0a62a27001fe4 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Sep 21 22:18:14 2015 +0800 IB/hfi1: class_name_user() should be static Fixes the following sparse warning: drivers/staging/rdma/hfi1/device.c:127:12: warning: symbol 'class_name_user' was not declared. Should it be static? Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60f57ec2da398a7c1f56dc2ac690ef75b17d2399 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Mon Sep 21 04:43:05 2015 -0700 IB/hfi1: use kvfree() in sdma.c Use kvfree() instead of open-coding it. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Acked-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49c3203707c9feebee26fec02f67b0431ac0a72a Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Sun Sep 20 16:07:15 2015 +0200 staging/rdma/hfi1: do not use u8 to store a 32-bit integer hfi1_rc_hdrerr() stores the result of be32_to_cpu() into opcode, which is a local variable declared as u8. Later this variable is used in a 24-bit logical right shift, which makes clang complains (when building an allmodconfig kernel with LLVMLinux patches): drivers/staging/rdma/hfi1/rc.c:2399:9: warning: shift count >= width of type [-Wshift-count-overflow] opcode >>= 24; ^ ~~ All of this lead to the point that opcode may have been designed to be a 32-bit integer instead of an 8-bit one. Therefore make this variable u32. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Acked-by: Mike Marciniszyn <mike.marciniszyn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16c863bbf4dabc1ff67d5c67d2d6e614211528d4 Author: fangwei <fangwei1@xxxxxxxxxx> Date: Tue Jul 7 10:54:26 2015 +0800 jffs2: remove unneeded kfree c->oobbuf hasn't been kmalloced in jffs2_dataflash_setup, so there is no need to free it. Signed-off-by: Wei Fang <fangwei1@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ecb43e0a5f72379095892660c4e1601904ab1949 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Jun 19 13:10:07 2015 -0700 mtd: cmdlinepart: convert printk() to pr_*() This driver uses some custom macros for printing. Let's use the standard pr_fmt()/pr_{err,warn}(). Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d855d23b56a5d67a7727dc275a86aaba290d7c55 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Jun 19 13:10:06 2015 -0700 mtd: cmdlinepart: allow small partitions I'm not sure why we have a PAGE_SIZE restriction on this partition parser. If we really wanted the restriction, I would expect it to be a restriction for *all* parsers, so we'd move it to the MTD core At any rate, while small partitions may not be useful (they'll often be smaller than the eraseblock size and therefore can only be used read-only), they still have use as a read-only partition. This restriction is especially annoying because it aborts the entire MTD's cmdline parsing, leaving it unpartitioned. So, let's kill the restriction and only check for zero-sized partitions, which I expect we don't want to allow. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 713519c710749d72bfad844579e10017af77bf84 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:24:14 2015 +0200 staging: rtl8192e: Rename dm_ctrl_initgain_byrssi Use naming schema found in other rtlwifi devices. Rename dm_ctrl_initgain_byrssi to _rtl92e_dm_ctrl_initgain_byrssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3270b5074fd23101d6983cd52dd661e5e916e470 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:24:13 2015 +0200 staging: rtl8192e: Rename firmware_check_ready Use naming schema found in other rtlwifi devices. Rename firmware_check_ready to _rtl92e_fw_check_ready. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57aac1ce29bcc37ed8eece017272bfd2bb321f45 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:24:12 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_enc Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_enc to _rtl92e_wx_set_enc. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea3ab341a205097c88ca0327e6b506f2f508c18c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:24:11 2015 +0200 staging: rtl8192e: Rename dm_tx_update_tssi_weak_signal Use naming schema found in other rtlwifi devices. Rename dm_tx_update_tssi_weak_signal to _rtl92e_dm_tx_update_tssi_weak_signal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 264045986f689af5abd08be6a0a124affc40fc90 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:24:10 2015 +0200 staging: rtl8192e: Rename dm_tx_update_tssi_strong_signal Use naming schema found in other rtlwifi devices. Rename dm_tx_update_tssi_strong_signal to _rtl92e_dm_tx_update_tssi_strong_signal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a19b5d7207f7baa09560d01a16c5790ad70c6d76 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:09 2015 +0200 staging: rtl8192e: Rename dm_TXPowerTrackingCallback_TSSI Use naming schema found in other rtlwifi devices. Rename dm_TXPowerTrackingCallback_TSSI to _rtl92e_dm_tx_power_tracking_callback_tssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 721d2f8dfeebf07803bd3e7cb299967b7dabee1c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:08 2015 +0200 staging: rtl8192e: Rename dm_TXPowerTrackingCallback_ThermalMeter Use naming schema found in other rtlwifi devices. Rename dm_TXPowerTrackingCallback_ThermalMeter to _rtl92e_dm_tx_power_tracking_cb_thermal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b97c2206474ca5dd7dad7cf40ea259d3d7489c2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:07 2015 +0200 staging: rtl8192e: Rename dm_txpower_reset_recovery Use naming schema found in other rtlwifi devices. Rename dm_txpower_reset_recovery to _rtl92e_dm_tx_power_reset_recovery. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07aec67071dcb1f835419ed6f1af4c1a4ed985a8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:06 2015 +0200 staging: rtl8192e: Rename dm_StartSWFsync Use naming schema found in other rtlwifi devices. Rename dm_StartSWFsync to _rtl92e_dm_start_sw_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22b5e8cd712b08a9ce9e9b1839c8bd0de593cae9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:05 2015 +0200 staging: rtl8192e: Rename dm_StartHWFsync Use naming schema found in other rtlwifi devices. Rename dm_StartHWFsync to _rtl92e_dm_start_hw_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 500344fdc257b8563bb35e4d7db170b0a8c30895 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:04 2015 +0200 staging: rtl8192e: Rename dm_send_rssi_tofw Use naming schema found in other rtlwifi devices. Rename dm_send_rssi_tofw to _rtl92e_dm_send_rssi_to_fw. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c0510e7399ac6b07e6b82f789d68233c20cc9bc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:03 2015 +0200 staging: rtl8192e: Rename dm_rxpath_sel_byrssi Use naming schema found in other rtlwifi devices. Rename dm_rxpath_sel_byrssi to _rtl92e_dm_rx_path_sel_byrssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88a4b242ed1760c957e43a3f22a95398e304d0e4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:02 2015 +0200 staging: rtl8192e: Rename dm_pd_th Use naming schema found in other rtlwifi devices. Rename dm_pd_th to _rtl92e_dm_pd_th. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 199ab04fb1b0e0aaa9c4ba9cd90d5d4ef672df39 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:01 2015 +0200 staging: rtl8192e: Rename dm_Init_WA_Broadcom_IOT Use naming schema found in other rtlwifi devices. Rename dm_Init_WA_Broadcom_IOT to _rtl92e_dm_init_wa_broadcom_iot. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1078599cbf68219d8e893644dff4d7fd67ab9de5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:20:00 2015 +0200 staging: rtl8192e: Rename dm_InitializeTXPowerTracking_TSSI Use naming schema found in other rtlwifi devices. Rename dm_InitializeTXPowerTracking_TSSI to _rtl92e_dm_initialize_tx_power_tracking_tssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b3625cde60f762abbfa22cf8c655389ba00356b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:59 2015 +0200 staging: rtl8192e: Rename dm_init_rxpath_selection Use naming schema found in other rtlwifi devices. Rename dm_init_rxpath_selectio to _rtl92e_dm_init_rx_path_selection. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09de06c9e9d4370a39b5f1a177b2d32a9fd74f92 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:58 2015 +0200 staging: rtl8192e: Rename dm_InitializeTXPowerTracking_ThermalMeter Use naming schema found in other rtlwifi devices. Rename dm_InitializeTXPowerTracking_ThermalMeter to _rtl92e_dm_init_tx_power_tracking_thermal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5578a5660ba805e9be482855b8f48b02f6f9a290 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:57 2015 +0200 staging: rtl8192e: Rename dm_initial_gain Use naming schema found in other rtlwifi devices. Rename dm_initial_gain to _rtl92e_dm_initial_gain. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1f59c71b48581e9b584e2078279d1cecb4ce8ba Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:56 2015 +0200 staging: rtl8192e: Rename dm_init_fsync Use naming schema found in other rtlwifi devices. Rename dm_init_fsync to _rtl92e_dm_init_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53f1c5b19c0316fdaac1142bd81d993ad0bd7113 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:55 2015 +0200 staging: rtl8192e: Rename dm_init_dynamic_txpower Use naming schema found in other rtlwifi devices. Rename dm_init_dynamic_txpower to _rtl92e_dm_init_dynamic_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dd6581129d281a7e5e3d04c57a0c189a4099c90 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:54 2015 +0200 staging: rtl8192e: Rename dm_init_ctstoself Use naming schema found in other rtlwifi devices. Rename dm_init_ctstoself to _rtl92e_dm_init_cts_to_self. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26210305ab8ecc1233d09b01d3491d347d0763a2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:53 2015 +0200 staging: rtl8192e: Rename dm_init_bandwidth_autoswitch Use naming schema found in other rtlwifi devices. Rename dm_init_bandwidth_autoswitch to _rtl92e_dm_init_bandwidth_autoswitch. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c70d11cdcead2578b55d6c7bbf59b2b2e333edb1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:52 2015 +0200 staging: rtl8192e: Rename dm_fsync_timer_callback Use naming schema found in other rtlwifi devices. Rename dm_fsync_timer_callback to _rtl92e_dm_fsync_timer_callback. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f00afec854d473f74ea6d306a83ef7ef1438bdf3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:51 2015 +0200 staging: rtl8192e: Rename dm_EndSWFsync Use naming schema found in other rtlwifi devices. Rename dm_EndSWFsync to _rtl92e_dm_end_sw_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a420d8f55a0146cd9c5767a817bca5ab3d33f31 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:50 2015 +0200 staging: rtl8192e: Rename dm_EndHWFsync Use naming schema found in other rtlwifi devices. Rename dm_EndHWFsync to _rtl92e_dm_end_hw_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b09dea2f279e131c5790339d24bb7bc34bb846d3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:49 2015 +0200 staging: rtl8192e: Rename dm_dynamic_txpower Use naming schema found in other rtlwifi devices. Rename dm_dynamic_txpower to _rtl92e_dm_dynamic_tx_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 832734bf7cee8751faa1be4b76bdcb56240a602f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:48 2015 +0200 staging: rtl8192e: Rename dm_dig_init Use naming schema found in other rtlwifi devices. Rename dm_dig_init to _rtl92e_dm_dig_init. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6bc343a522a733f7139acdec69648a2f1559f73 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:47 2015 +0200 staging: rtl8192e: Rename dm_deInit_fsync Use naming schema found in other rtlwifi devices. Rename dm_deInit_fsync to _rtl92e_dm_deinit_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dab9eef4f2896a8bac28be9aa5c4344c4ec894a6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:46 2015 +0200 staging: rtl8192e: Rename dm_ctstoself Use naming schema found in other rtlwifi devices. Rename dm_ctstoself to _rtl92e_dm_cts_to_self. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c696148c69bfc220d1debe9cd451d87f45526fa Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:45 2015 +0200 staging: rtl8192e: Rename dm_ctrl_initgain_byrssi_highpwr Use naming schema found in other rtlwifi devices. Rename dm_ctrl_initgain_byrssi_highpwr to _rtl92e_dm_ctrl_initgain_byrssi_highpwr. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7249a4b5118ab693d6e871fcea8edbdaeddfa3c5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:44 2015 +0200 staging: rtl8192e: Rename dm_ctrl_initgain_byrssi_by_fwfalse_alarm Use naming schema found in other rtlwifi devices. Rename dm_ctrl_initgain_byrssi_by_fwfalse_alarm to _rtl92e_dm_ctrl_initgain_byrssi_false_alarm. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24ec800e8076eb73dde509cc15cb5787a85b3fa8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:43 2015 +0200 staging: rtl8192e: Rename dm_ctrl_initgain_byrssi_by_driverrssi Use naming schema found in other rtlwifi devices. Rename dm_ctrl_initgain_byrssi_by_driverrssi to _rtl92e_dm_ctrl_initgain_byrssi_driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 552944e3e4e228c17954a5bfab56c9ea06babc10 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:42 2015 +0200 staging: rtl8192e: Rename dm_cs_ratio Use naming schema found in other rtlwifi devices. Rename dm_cs_ratio to _rtl92e_dm_cs_ratio. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b230f92ba93076d7bdcf2ddc1b3b492c28e62f1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:41 2015 +0200 staging: rtl8192e: Rename dm_check_txrateandretrycount Use naming schema found in other rtlwifi devices. Rename dm_check_txrateandretrycount to _rtl92e_dm_check_txrateandretrycount. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dfb646871e41206d7cf6083ec8fa84348203346 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:40 2015 +0200 staging: rtl8192e: Rename dm_CheckTXPowerTracking_TSSI Use naming schema found in other rtlwifi devices. Rename dm_CheckTXPowerTracking_TSSI to _rtl92e_dm_check_tx_power_tracking_tssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c40c66a79d6bbe7151c49983400e1f51c3a9c4e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:39 2015 +0200 staging: rtl8192e: Rename dm_CheckTXPowerTracking_ThermalMeter Use naming schema found in other rtlwifi devices. Rename dm_CheckTXPowerTracking_ThermalMeter to _rtl92e_dm_check_tx_power_tracking_thermal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f3173c23f4234d5c0c272fad73e0b6c81c541fa Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:38 2015 +0200 staging: rtl8192e: Rename dm_check_txpower_tracking Use naming schema found in other rtlwifi devices. Rename dm_check_txpower_tracking to _rtl92e_dm_check_tx_power_tracking. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ff542578c0ff760a36f815a6b18e0673da3ab80 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:37 2015 +0200 staging: rtl8192e: Rename dm_check_rx_path_selection Use naming schema found in other rtlwifi devices. Rename dm_check_rx_path_selection to _rtl92e_dm_check_rx_path_selection. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a1161264d20d3c9ed0c54aebfa097107467d3f9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:36 2015 +0200 staging: rtl8192e: Rename dm_CheckRfCtrlGPIO Use naming schema found in other rtlwifi devices. Rename dm_CheckRfCtrlGPIO to _rtl92e_dm_check_rf_ctrl_gpio. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e2721f9c20dac367ff486ddf3f481268cf54376 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:35 2015 +0200 staging: rtl8192e: Rename dm_check_rate_adaptive Use naming schema found in other rtlwifi devices. Rename dm_check_rate_adaptive to _rtl92e_dm_check_rate_adaptive. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59c997ef14c9246847b0595b7e3742e08f3fb898 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:34 2015 +0200 staging: rtl8192e: Rename dm_check_pbc_gpio Use naming schema found in other rtlwifi devices. Rename dm_check_pbc_gpio to _rtl92e_dm_check_pbc_gpio. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e63b75613994511e3fd0657de421e1a62b0ca918 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:33 2015 +0200 staging: rtl8192e: Rename dm_check_fsync Use naming schema found in other rtlwifi devices. Rename dm_check_fsync to _rtl92e_dm_check_fsync. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f778eca7b98d4c48ce340c98d9193d599c8a0cd5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:32 2015 +0200 staging: rtl8192e: Rename dm_check_edca_turbo Use naming schema found in other rtlwifi devices. Rename dm_check_edca_turbo to _rtl92e_dm_check_edca_turbo. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit babb55f9db82896675275f1748f2d684fac13024 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:31 2015 +0200 staging: rtl8192e: Rename dm_check_ac_dc_power Use naming schema found in other rtlwifi devices. Rename dm_check_ac_dc_power to _rtl92e_dm_check_ac_dc_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52645a01225f3a8c459d4536da204af3f5a805da Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:30 2015 +0200 staging: rtl8192e: Rename dm_CCKTxPowerAdjust_TSSI Use naming schema found in other rtlwifi devices. Rename dm_CCKTxPowerAdjust_TSSI to _rtl92e_dm_cck_tx_power_adjust_tssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a50bc3f6cd47bb42c6cfd66b99050d6a719a7999 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:29 2015 +0200 staging: rtl8192e: Rename dm_CCKTxPowerAdjust_ThermalMeter Use naming schema found in other rtlwifi devices. Rename dm_CCKTxPowerAdjust_ThermalMeter to _rtl92e_dm_cck_tx_power_adjust_thermal_meter. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90cc1250046ef2d36947e3be9368db557ad998b3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:28 2015 +0200 staging: rtl8192e: Rename dm_bb_initialgain_restore Use naming schema found in other rtlwifi devices. Rename dm_bb_initialgain_restore to _rtl92e_dm_bb_initialgain_restore. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24a29bf819e397969385b6944daba636a06e0d3d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:27 2015 +0200 staging: rtl8192e: Rename dm_bb_initialgain_backup Use naming schema found in other rtlwifi devices. Rename dm_bb_initialgain_backup to _rtl92e_dm_bb_initialgain_backup. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4244a0305d7b0ee37d18897204b03453650a7b9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:26 2015 +0200 staging: rtl8192e: Rename dm_bandwidth_autoswitch Use naming schema found in other rtlwifi devices. Rename dm_bandwidth_autoswitch to _rtl92e_dm_bandwidth_autoswitch. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a263fcf0a23b826bd24dd0c500ba3f52728570e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:25 2015 +0200 staging: rtl8192e: Rename r8192se_wx_set_lps_awake_interval Use naming schema found in other rtlwifi devices. Rename r8192se_wx_set_lps_awake_interval to _rtl92e_wx_set_lps_awake_interval. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84e4dc10939419b967355cbc8630983d0b93bbf0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:24 2015 +0200 staging: rtl8192e: Rename r8192se_wx_set_force_lps Use naming schema found in other rtlwifi devices. Rename r8192se_wx_set_force_lps to _rtl92e_wx_set_force_lps. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e830e0dc455625353844154f7d53f391467c16fc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:23 2015 +0200 staging: rtl8192e: Rename r8192_get_wireless_stats Use naming schema found in other rtlwifi devices. Rename r8192_get_wireless_stats to _rtl92e_get_wireless_stats. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3831d405e43380bf11920958e9dc44f28cd53ef1 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:22 2015 +0200 staging: rtl8192e: Rename rtl8192_hw_sleep_down Use naming schema found in other rtlwifi devices. Rename rtl8192_hw_sleep_down to _rtl92e_hw_sleep. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79f387e710bcf19974345f26f13d253804684364 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:21 2015 +0200 staging: rtl8192e: Rename MgntActSet_802_11_PowerSaveMode Use naming schema found in other rtlwifi devices. Rename MgntActSet_802_11_PowerSaveMode to _rtl92e_ps_set_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcc3df4f44d637f43ec4e04b2f3b8b692e0b3937 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:20 2015 +0200 staging: rtl8192e: Rename InactivePsWorkItemCallback Use naming schema found in other rtlwifi devices. Rename InactivePsWorkItemCallback to _rtl92e_ps_update_rf_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 440379c54b537021d519ccf3f5aab47d48fe07c6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:19 2015 +0200 staging: rtl8192e: Rename rtl8192_parse_pci_configuration Use naming schema found in other rtlwifi devices. Rename rtl8192_parse_pci_configuration to _rtl92e_parse_pci_configuration. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1252b09e9e191d1596a3a9c0dd0d4378dd7d8b6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:18 2015 +0200 staging: rtl8192e: Rename rtl8192_wx_get_range Use naming schema found in other rtlwifi devices. Rename rtl8192_wx_get_range to _rtl92e_wx_get_range. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 291bf50d2348c13b7352f87ef5d0e8c866683941 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:17 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_wap Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_wap to _rtl92e_wx_set_wap. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7c821650f95afd857017f9bfcfd0f197f48d148 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:16 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_sens Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_sens to _rtl92e_wx_set_sens. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11f24fd159fc0d1ce5895116942a496f9212321f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:15 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_scan_type Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_scan_type to _rtl92e_wx_set_scan_type. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe13d0105df026e0a954ffcd65aeaa6ec46a5e1f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:14 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_scan Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_scan to _rtl92e_wx_set_scan. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c90ee2fcbe132c449c94278edc450145f998972a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:13 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_rts Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_rts to _rtl92e_wx_set_rts. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f761ee68c90184b600f59d58697a95dac7654f8d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:12 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_retry Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_retry to _rtl92e_wx_set_retry. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3118323435881185f11df71197e14bd9d486488c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:11 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_rawtx Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_rawtx to _rtl92e_wx_set_rawtx. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad6a5412b06df81185503cf9184e684a761d4993 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:10 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_rate Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_rate to _rtl92e_wx_set_rate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d987a158223554347b545f869c90a06c4f1b1532 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:09 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_PromiscuousMode Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_PromiscuousMode to _rtl92e_wx_set_promisc_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2e901857a970abd84ff26f7cc0e5d0f0c54efce Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:08 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_power Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_power to _rtl92e_wx_set_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06a0b5c234ae11947fee804358ea050fdce057fd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:07 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_nick Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_nick to _rtl92e_wx_set_nick. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89528d6c2cdfd5a2b12eebad043cac077d1cc502 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:06 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_mode Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_mode to _rtl92e_wx_set_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdd105f8bea1a2cf44494b9579919b4680c4c5bd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:05 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_mlme Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_mlme to _rtl92e_wx_set_mlme. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49d650e7ab29252b1bd7f175176ec85e553bdc02 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:04 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_gen_ie Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_gen_ie to _rtl92e_wx_set_gen_ie. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1f1c8b0774f1c0d52c1857272708bf6525ae7a7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:03 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_freq Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_freq to _rtl92e_wx_set_freq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9128ca2d67982a4c6b6738fd70b842360600b1b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:02 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_frag Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_frag to _rtl92e_wx_set_frag. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03550af0c4f2660a90ca680f05a4137c262aa1f9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:01 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_essid Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_essid to _rtl92e_wx_set_essid. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e197821fb587155ccf2b1d4a573486b2605aadd9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:19:00 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_enc_ext Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_enc_ext to _rtl92e_wx_set_encode_ext. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d373a0cebb211031899913ce85d31e8c77b2eeb6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:59 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_debugflag Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_debugflag to _rtl92e_wx_set_debug. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99f1859f8da099add02a89a03d37af11dd37c6a5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:58 2015 +0200 staging: rtl8192e: Rename r8192_wx_set_auth Use naming schema found in other rtlwifi devices. Rename r8192_wx_set_auth to _rtl92e_wx_set_auth. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cd40ae4fe3f2fdc2b74fc760eda3f826087ab98 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:57 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_wap Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_wap to _rtl92e_wx_get_wap. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbeb359403c4664ab1fefd7a9d0aa2462a4d14e8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:56 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_sens Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_sens to _rtl92e_wx_get_sens. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d7b35c724c00354a8991daac951c4cfaebc8562 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:55 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_scan Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_scan to _rtl92e_wx_get_scan. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e19794b1ffb9817716d386e59cb565c96ee25c68 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:54 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_rts Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_rts to _rtl92e_wx_get_rts. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0c2194574d8d174a1122d5daefb5b1ee0de3ffc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:53 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_retry Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_retry to _rtl92e_wx_get_retry. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5be1e1ff7cf649c538c85fd5dbbdce04220dde8b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:52 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_rate Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_rate to _rtl92e_wx_get_rate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e792cf88de1942852b3c4de2451f6eadb5d7a99f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:51 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_PromiscuousMode Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_PromiscuousMode to _rtl92e_wx_get_promisc_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b821768a77d5b43f05ad7a9316906a1c5a22cad6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:50 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_power Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_power to _rtl92e_wx_get_power. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1341a077a24d270b3957538a16ff682497776811 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:49 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_nick Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_nick to _rtl92e_wx_get_nick. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17bbe9866d3b96d943ebc98613d1563d8b26032d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:48 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_name Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_name to _rtl92e_wx_get_name. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 062cd9b4018c556e847631e98108e1e3af61ec57 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:47 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_mode Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_mode to _rtl92e_wx_get_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d343ed7fa1845843be27d663bacb25a5345a6864 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:46 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_gen_ie Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_gen_ie to _rtl92e_wx_get_gen_ie. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1bae81aff1a555b9931b7a25598905b08446495 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:45 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_freq Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_freq to _rtl92e_wx_get_freq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd2213daa0faa238cc1ba2457d49cd33f03d059c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:44 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_frag Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_frag to _rtl92e_wx_get_frag. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c630d42a14c7f6f8201fc49c7fb2f43aa25a1cfa Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:43 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_essid Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_essid to _rtl92e_wx_get_essid. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00496b54d60e996e9c9de6b204ca0830d09c7933 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:18:42 2015 +0200 staging: rtl8192e: Rename r8192_wx_get_enc Use naming schema found in other rtlwifi devices. Rename r8192_wx_get_enc to _rtl92e_wx_get_enc. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 042f05ebd5df26be499c970dba4d7a74cad87283 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:17 2015 +0200 staging: rtl8192e: Rename r8192_wx_force_reset Use naming schema found in other rtlwifi devices. Rename r8192_wx_force_reset to _rtl92e_wx_force_reset. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac9e5e733bbbbe5210ec60647ed09f3575f2d2f3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:16 2015 +0200 staging: rtl8192e: Rename r8192_wx_adapter_power_status Use naming schema found in other rtlwifi devices. Rename r8192_wx_adapter_power_status to _rtl92e_wx_adapter_power_status. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1153037d40327a7bfff655b94122d079d3140c6b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:15 2015 +0200 staging: rtl8192e: Rename rtl819x_ethtool_get_link Use naming schema found in other rtlwifi devices. Rename rtl819x_ethtool_get_link to _rtl92e_ethtool_get_link. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4b27f60dc26db5ee34240fd5ecc7f66a93171a6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:14 2015 +0200 staging: rtl8192e: Rename rtl819x_ethtool_get_drvinfo Use naming schema found in other rtlwifi devices. Rename rtl819x_ethtool_get_drvinfo to _rtl92e_ethtool_get_drvinfo. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 288adaf5a6d5b81e2d2f169f94a6c3b5d9e80296 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:13 2015 +0200 staging: rtl8192e: Rename rtl8192_check_nic_enough_desc Use naming schema found in other rtlwifi devices. Rename rtl8192_check_nic_enough_desc to _rtl92e_check_nic_enough_desc. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4dba03a28742cc3b290eb6579fa07d2b0a859f40 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:12 2015 +0200 staging: rtl8192e: Rename rtl8192_cancel_deferred_work Use naming schema found in other rtlwifi devices. Rename rtl8192_cancel_deferred_work to _rtl92e_cancel_deferred_work. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2002978d5454b89b1d3c1b533b06d0a18907c8ad Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:11 2015 +0200 staging: rtl8192e: Rename r8192_set_multicast Use naming schema found in other rtlwifi devices. Rename r8192_set_multicast to _rtl92e_set_multicast. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ef7f1ee57c3f59f5a004551d1b4974ebaf572fe Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:10 2015 +0200 staging: rtl8192e: Rename r8192_set_mac_adr Use naming schema found in other rtlwifi devices. Rename r8192_set_mac_adr to _rtl92e_set_mac_adr. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64c6ee9e515b54da7e65ff104c4ec26479c1a050 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:09 2015 +0200 staging: rtl8192e: Rename SetRFPowerState8190 Use naming schema found in other rtlwifi devices. Rename SetRFPowerState8190 to _rtl92e_set_rf_power_state. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e54431c65c598d33a9762c9464412b877ee8d65 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:08 2015 +0200 staging: rtl8192e: Rename rtl8192_SetTxPowerLevel Use naming schema found in other rtlwifi devices. Rename rtl8192_SetTxPowerLevel to _rtl92e_set_tx_power_level. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b54d76d1c4772ae0e311b98fc535eb71c55e760 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:07 2015 +0200 staging: rtl8192e: Rename rtl8192_SetBWModeWorkItem Use naming schema found in other rtlwifi devices. Rename rtl8192_SetBWModeWorkItem to _rtl92e_set_bw_mode_work_item. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 003486fd3c910f381edd178db05ef925031265a3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:06 2015 +0200 staging: rtl8192e: Rename rtl8192_InitBBRFRegDef Use naming schema found in other rtlwifi devices. Rename rtl8192_InitBBRFRegDef to _rtl92e_init_bb_rf_reg_def. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8411ff1d6be1b9400ac737535f77b6e026bbd4c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:05 2015 +0200 staging: rtl8192e: Rename rtl8192_CalculateBitShift Use naming schema found in other rtlwifi devices. Rename rtl8192_CalculateBitShift to _rtl92e_calculate_bit_shift. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43af9f4a4e313f50ef69e1149d99ea84f2d1a8da Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:04 2015 +0200 staging: rtl8192e: Rename rtl8192_BB_Config_ParaFile Use naming schema found in other rtlwifi devices. Rename rtl8192_BB_Config_ParaFile to _rtl92e_bb_config_para_file. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a2c58a2acd529340d2c9ed39720bb6c8024f9cd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:03 2015 +0200 staging: rtl8192e: Rename CCK_Tx_Power_Track_BW_Switch_TSSI Use naming schema found in other rtlwifi devices. Rename CCK_Tx_Power_Track_BW_Switch_TSSI to _rtl92e_cck_tx_power_track_bw_switch_tssi. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fca7024a047a7e413741d14fc25df6771f873bac Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:02 2015 +0200 staging: rtl8192e: Rename CCK_Tx_Power_Track_BW_Switch_ThermalMeter Use naming schema found in other rtlwifi devices. Rename CCK_Tx_Power_Track_BW_Switch_ThermalMeter to _rtl92e_cck_tx_power_track_bw_switch_thermal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81f5847da9ce10e656e02bc41341330600a75ec7 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:01 2015 +0200 staging: rtl8192e: Rename CCK_Tx_Power_Track_BW_Switch Use naming schema found in other rtlwifi devices. Rename CCK_Tx_Power_Track_BW_Switch to _rtl92e_cck_tx_power_track_bw_switch. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77055c56a71bccc57f64444e9b99296588bee0fd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:14:00 2015 +0200 staging: rtl8192e: Rename rtl8192_UpdateReceivedRateHistogramStatistics Use naming schema found in other rtlwifi devices. Rename rtl8192_UpdateReceivedRateHistogramStatistics to _rtl92e_update_received_rate_histogram_stats. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d70ed838e28ef42bb2ba03447205335fb22a0c9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:59 2015 +0200 staging: rtl8192e: Rename rtl8192_TranslateRxSignalStuff Use naming schema found in other rtlwifi devices. Rename rtl8192_TranslateRxSignalStuff to _rtl92e_translate_rx_signal_stats. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af82349ab36835649dcb83287ee155879eb8a3d0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:58 2015 +0200 staging: rtl8192e: Rename rtl8192_signal_scale_mapping Use naming schema found in other rtlwifi devices. Rename rtl8192_signal_scale_mapping to _rtl92e_signal_scale_mapping. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 676b8bae806ebf7e36d640ea64ac06116143fc5b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:57 2015 +0200 staging: rtl8192e: Rename rtl8192_read_eeprom_info Use naming schema found in other rtlwifi devices. Rename rtl8192_read_eeprom_info to _rtl92e_read_eeprom_info. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 410bfd1d8f1c16dafca2182f7391099a077806f5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:56 2015 +0200 staging: rtl8192e: Rename rtl8192_query_rxphystatus Use naming schema found in other rtlwifi devices. Rename rtl8192_query_rxphystatus to _rtl92e_query_rxphystatus. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45de428315f590d6a7ec7c7bd9b6a0d2adcaff67 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:55 2015 +0200 staging: rtl8192e: Rename rtl8192_QueryIsShort Use naming schema found in other rtlwifi devices. Rename rtl8192_QueryIsShort to _rtl92e_query_is_short. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1325ba089c4337ef54970d4252c9c197a2a8f20c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:54 2015 +0200 staging: rtl8192e: Rename rtl8192_process_phyinfo Use naming schema found in other rtlwifi devices. Rename rtl8192_process_phyinfo to _rtl92e_process_phyinfo. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 479e2b8ca88d6a7d2ed4945a2fbe50b061c713dd Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:53 2015 +0200 staging: rtl8192e: Rename rtl8192_net_update Use naming schema found in other rtlwifi devices. Rename rtl8192_net_update to _rtl92e_net_update. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e77891b35ccab4f41e01e631eb79eab46ec19ce9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:52 2015 +0200 staging: rtl8192e: Rename rtl8192_MapHwQueueToFirmwareQueue Use naming schema found in other rtlwifi devices. Rename rtl8192_MapHwQueueToFirmwareQueue to _rtl92e_hw_queue_to_fw_queue. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f588a2254fd4cd9c9ec8cb37712b1a12415f7e6a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:51 2015 +0200 staging: rtl8192e: Rename rtl8192_hwconfig Use naming schema found in other rtlwifi devices. Rename rtl8192_hwconfig to _rtl92e_hwconfig. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ded689376a2a53c6a2a6b7d3f3d584e0e391ef4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:50 2015 +0200 staging: rtl8192e: Rename rtl8192e_update_msr Use naming schema found in other rtlwifi devices. Rename rtl8192e_update_msr to _rtl92e_update_msr. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e49f3eca24734c064a86575838bd89b3fd7a3a8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:49 2015 +0200 staging: rtl8192e: Rename rtl8192_hard_start_xmit Use naming schema found in other rtlwifi devices. Rename rtl8192_hard_start_xmit to _rtl92e_hard_start_xmit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52a740454f0e417d5637b45ecbc46fe3edbf4d51 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:48 2015 +0200 staging: rtl8192e: Rename rtl8192_hard_data_xmit Use naming schema found in other rtlwifi devices. Rename rtl8192_hard_data_xmit to _rtl92e_hard_data_xmit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5341f07018bd124b987bf6eecb77f1a23e7db477 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:47 2015 +0200 staging: rtl8192e: Rename rtl8192_handle_beacon Use naming schema found in other rtlwifi devices. Rename rtl8192_handle_beacon to _rtl92e_handle_beacon. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b5a80317d99e7cff3a8a557e72a6f7b34027fef Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:46 2015 +0200 staging: rtl8192e: Rename rtl8192_handle_assoc_response Use naming schema found in other rtlwifi devices. Rename rtl8192_handle_assoc_response to _rtl92e_handle_assoc_response. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee394a7f86cf3bacb76ebd18fbadd9eedb7672b8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:45 2015 +0200 staging: rtl8192e: Rename rtl8192_getSupportedWireleeMode Use naming schema found in other rtlwifi devices. Rename rtl8192_getSupportedWireleeMode to _rtl92e_get_supported_wireless_mode. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66a5c29b33bee95f855ce76db23748caca9e63fb Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:44 2015 +0200 staging: rtl8192e: Rename rtl8192_get_channel_map Use naming schema found in other rtlwifi devices. Rename rtl8192_get_channel_map to _rtl92e_get_channel_map. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2cfc37586a80abc79ebd0461151eb0209e5ef0c2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:43 2015 +0200 staging: rtl8192e: Rename watch_dog_timer_callback Use naming schema found in other rtlwifi devices. Rename watch_dog_timer_callback to _rtl92e_watchdog_timer_cb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e2d598ac3db434d812956d9d1aca51c51a04e02 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:42 2015 +0200 staging: rtl8192e: Rename rtl819x_watchdog_wqcallback Use naming schema found in other rtlwifi devices. Rename rtl819x_watchdog_wqcallback to _rtl92e_watchdog_wq_cb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3b481652f60249a847c10c8ce966189d9d71c98 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:41 2015 +0200 staging: rtl8192e: Rename rtl819x_update_rxcounts Use naming schema found in other rtlwifi devices. Rename rtl819x_update_rxcounts to _rtl92e_update_rxcounts. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cfe245bbb8c55b704a3faf7fc01921feb598faf3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:40 2015 +0200 staging: rtl8192e: Rename rtl819x_silentreset_mesh_bk Use naming schema found in other rtlwifi devices. Rename rtl819x_silentreset_mesh_bk to _rtl92e_silent_reset_mesh. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e177a9f4e3bf5416699dc1231e04599b773713b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:39 2015 +0200 staging: rtl8192e: Rename rtl819x_ifsilentreset Use naming schema found in other rtlwifi devices. Rename rtl819x_ifsilentreset to _rtl92e_if_silent_reset. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79fbe932318e87ca2a51983bbfcca101e260b2c3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:38 2015 +0200 staging: rtl8192e: Rename rtl819x_ifcheck_resetornot Use naming schema found in other rtlwifi devices. Rename rtl819x_ifcheck_resetornot to _rtl92e_if_check_reset. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a99c563d16314cf9814ca174e1da430c5491fc2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:37 2015 +0200 staging: rtl8192e: Rename rtl8192_update_cap Use naming schema found in other rtlwifi devices. Rename rtl8192_update_cap to _rtl92e_update_cap. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc888405510dbaf4019cda7a6625f6e0721d113e Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:36 2015 +0200 staging: rtl8192e: Rename rtl8192_update_beacon Use naming schema found in other rtlwifi devices. Rename rtl8192_update_beacon to _rtl92e_update_beacon. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2f08fc58f18978c88a064089e0f2aba72da06c4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:35 2015 +0200 staging: rtl8192e: Rename rtl8192_stop_beacon Use naming schema found in other rtlwifi devices. Rename rtl8192_stop_beacon to _rtl92e_stop_beacon. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dba0e06f823033f8e67d32d945df0e81a8590019 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:34 2015 +0200 staging: rtl8192e: Rename _rtl8192_sta_up Use naming schema found in other rtlwifi devices. Rename _rtl8192_sta_up to _rtl92e_sta_up. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b19e2221464100647009144278ce60bb800ab51 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:33 2015 +0200 staging: rtl8192e: Rename rtl8192_sta_down Use naming schema found in other rtlwifi devices. Rename rtl8192_sta_down to _rtl92e_sta_down. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5da06ad85740a3f3f300857da95c6a6de5762449 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:32 2015 +0200 staging: rtl8192e: Rename rtl8192_set_chan Use naming schema found in other rtlwifi devices. Rename rtl8192_set_chan to _rtl92e_set_chan. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 422c8bef062497377edef137531993776e2f4d52 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:31 2015 +0200 staging: rtl8192e: Rename rtl8192_refresh_supportrate Use naming schema found in other rtlwifi devices. Rename rtl8192_refresh_supportrate to _rtl92e_refresh_support_rate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5d0d6f5dba847478aeaaa059b13f9a5877b41da Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:30 2015 +0200 staging: rtl8192e: Rename rtl8192_qos_handle_probe_response Use naming schema found in other rtlwifi devices. Rename rtl8192_qos_handle_probe_response to _rtl92e_qos_handle_probe_response. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24bee78a3b4ca06891a7873fa4594c377f7beed8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:29 2015 +0200 staging: rtl8192e: Rename rtl8192_qos_association_resp Use naming schema found in other rtlwifi devices. Rename rtl8192_qos_association_resp to _rtl92e_qos_assoc_resp. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae1fe0db83e257a4709e36b6d1beeda06c506b56 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:28 2015 +0200 staging: rtl8192e: Rename rtl8192_qos_activate Use naming schema found in other rtlwifi devices. Rename rtl8192_qos_activate to _rtl92e_qos_activate. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e009a8496ef4e24d16f9c978e923f7ad2ea305b9 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:27 2015 +0200 staging: rtl8192e: Rename rtl8192_prepare_beacon Use naming schema found in other rtlwifi devices. Rename rtl8192_prepare_beacon to _rtl92e_prepare_beacon. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87602255efc10e410fb7336388491b132bc6daf5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:26 2015 +0200 staging: rtl8192e: Rename rtl8192_SwChnl_WorkItem Use naming schema found in other rtlwifi devices. Rename rtl8192_SwChnl_WorkItem to _rtl92e_phy_switch_channel_work_item. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d53a5efc83b4459e3bd41164a8d6442fe06c648 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:25 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_SwChnlStepByStep Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_SwChnlStepByStep to _rtl92e_phy_switch_channel_step. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b9484016734d6f635849e1a90e87038c2d73764 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:24 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_SetSwChnlCmdArray Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_SetSwChnlCmdArray to _rtl92e_phy_set_sw_chnl_cmd_array. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c2d5aebe945d2104885210a834f8eb58cf6371b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:23 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_RFSerialWrite Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_RFSerialWrite to _rtl92e_phy_rf_write. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6edb1763ca7a97148fb8c7ccb8311c442d941f6f Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:22 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_RFSerialRead Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_RFSerialRead to _rtl92e_phy_rf_read. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 626687964adaa9c11b1954f79f7908a2aa8621e3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:21 2015 +0200 staging: rtl8192e: Rename rtl8192_phy_FinishSwChnlNow Use naming schema found in other rtlwifi devices. Rename rtl8192_phy_FinishSwChnlNow to _rtl92e_phy_switch_channel. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a059e47206d7f7ec62b5eaf82b411faeb8c51d8b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:20 2015 +0200 staging: rtl8192e: Rename rtl8192_phyConfigBB Use naming schema found in other rtlwifi devices. Rename rtl8192_phyConfigBB to _rtl92e_phy_config_bb. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f957076035ca986a6082f0ee5f45dba69dc99eab Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:19 2015 +0200 staging: rtl8192e: Rename phy_FwRFSerialWrite Use naming schema found in other rtlwifi devices. Rename phy_FwRFSerialWrite to _rtl92e_phy_rf_fw_write. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5269f55ddf5b9436cac76edc328346a6496a6789 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:18 2015 +0200 staging: rtl8192e: Rename phy_FwRFSerialRead Use naming schema found in other rtlwifi devices. Rename phy_FwRFSerialRead to _rtl92e_phy_rf_fw_read. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a86fc527bf6ef0b7f824f78f48f2a6b96463a45c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:17 2015 +0200 staging: rtl8192e: Rename fw_download_code Use naming schema found in other rtlwifi devices. Rename fw_download_code to _rtl92e_fw_download_code. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f3cd6e50399f7709b2c05e02be8fd2087e34531 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:16 2015 +0200 staging: rtl8192e: Rename CPUcheck_maincodeok_turnonCPU Use naming schema found in other rtlwifi devices. Rename CPUcheck_maincodeok_turnonCPU to _rtl92e_fw_boot_cpu. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4ad6ef1ffecc1bca2d2530703b628b795993ebc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:15 2015 +0200 staging: rtl8192e: Rename CPUcheck_firmware_ready Use naming schema found in other rtlwifi devices. Rename CPUcheck_firmware_ready to _rtl92e_is_fw_ready. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 615c8d8d534d58b3f0c35c28b9e6665c8227a54a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:14 2015 +0200 staging: rtl8192e: Rename MRateToHwRate8190Pci Use naming schema found in other rtlwifi devices. Rename MRateToHwRate8190Pci to _rtl92e_rate_mgn_to_hw. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01d5f56691774b08aa04156ec2c57cfb5c34bbae Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:13 2015 +0200 staging: rtl8192e: Rename HwRateToMRate90 Use naming schema found in other rtlwifi devices. Rename HwRateToMRate90 to _rtl92e_rate_hw_to_mgn. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea2d7059f40139b39d87db2ec8a967a2fc410900 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:12 2015 +0200 staging: rtl8192e: Rename rtl819x_RxCheckStuck Use naming schema found in other rtlwifi devices. Rename rtl819x_RxCheckStuck to _rtl92e_rx_check_stuck. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ba8f7c0d4aeabf2c206b2fdfd01cef28265127a Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:11 2015 +0200 staging: rtl8192e: Rename rtl8192_rx_normal Use naming schema found in other rtlwifi devices. Rename rtl8192_rx_normal to _rtl92e_rx_normal. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8d841917655f9ac978575b3c0357f1271e93e8c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:10 2015 +0200 staging: rtl8192e: Rename rtl819x_TxCheckStuck Use naming schema found in other rtlwifi devices. Rename rtl819x_TxCheckStuck to _rtl92e_tx_check_stuck. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f8d4a7db6fecab916e6d81ae84b8a873a3f9047 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:09 2015 +0200 staging: rtl8192e: Rename rtl8192_is_tx_queue_empty Use naming schema found in other rtlwifi devices. Rename rtl8192_is_tx_queue_empty to _rtl92e_is_tx_queue_empty. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a67c79040e1000250b1389388be8f0b687e0e283 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:08 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_resume Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_resume to _rtl92e_tx_resume. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac3926553248f23a46147f76d886c9e4a8b34c04 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:07 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_timeout Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_timeout to _rtl92e_tx_timeout. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7effc87bcb52d0b72a2763a247568b44025466d4 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:06 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_isr Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_isr to _rtl92e_tx_isr. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98208f968c56e0918babab40f5f7a01645f1d7b6 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:05 2015 +0200 staging: rtl8192e: Rename rtl8192_tx_cmd Use naming schema found in other rtlwifi devices. Rename rtl8192_tx_cmd to _rtl92e_tx_cmd. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 374a3c5a5d68cd88dd757e815c59edcb3baa56f3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:04 2015 +0200 staging: rtl8192e: Rename rtl8192_tx Use naming schema found in other rtlwifi devices. Rename rtl8192_tx to _rtl92e_tx. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebc36ecde07835b2455b4cf7af4139bcad3c4815 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:03 2015 +0200 staging: rtl8192e: Rename rtl8192_free_tx_ring Use naming schema found in other rtlwifi devices. Rename rtl8192_free_tx_ring to _rtl92e_free_tx_ring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 694f9d30f7ec55e3b1f0b3418b4c472e4b7e38f8 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:02 2015 +0200 staging: rtl8192e: Rename rtl8192_free_rx_ring Use naming schema found in other rtlwifi devices. Rename rtl8192_free_rx_ring to _rtl92e_free_rx_ring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf1ddf24d8a86c827fd079b164cba4694dcc47fc Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:01 2015 +0200 staging: rtl8192e: Rename rtl8192_alloc_tx_desc_ring Use naming schema found in other rtlwifi devices. Rename rtl8192_alloc_tx_desc_ring to _rtl92e_alloc_tx_ring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d148965ebe43feb7f70f60cadbc80cbc55d17f5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:13:00 2015 +0200 staging: rtl8192e: Rename rtl8192_alloc_rx_desc_ring Use naming schema found in other rtlwifi devices. Rename rtl8192_alloc_rx_desc_ring to _rtl92e_alloc_rx_ring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93cc57b5d492559c93674ec713b1f55186728a38 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:59 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_probe Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_probe to _rtl92e_pci_probe. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e482fb542c3bf9059bcc75090b591997701fa1a2 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:58 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_module_init Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_module_init to _rtl92e_pci_module_init. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d96bde71d87651bd1ad243b50e5c9e6857d611e5 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:57 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_module_exit Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_module_exit to _rtl92e_pci_module_exit. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 197917a89083acb45144bd6c203dbd2e645dc288 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:56 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_initdescring Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_initdescring to _rtl92e_pci_initdescring. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a85182159f315753ac2cc418bca2530454b1add Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:55 2015 +0200 staging: rtl8192e: Rename rtl8192_pci_disconnect Use naming schema found in other rtlwifi devices. Rename rtl8192_pci_disconnect to _rtl92e_pci_disconnect. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81524bbc17ca25f5865f0e6d615d85ff29b8dfb0 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:54 2015 +0200 staging: rtl8192e: Rename _rtl8192_up Use naming schema found in other rtlwifi devices. Rename _rtl8192_up to _rtl92e_up. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1665a67be1d39a32c2a023f32c9f74279bd1508 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:53 2015 +0200 staging: rtl8192e: Rename rtl8192_up Use naming schema found in other rtlwifi devices. Rename rtl8192_up to _rtl92e_try_up. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78e67df3f3d58ae5fced1cee24024d2c337e111b Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:52 2015 +0200 staging: rtl8192e: Rename rtl8192_restart Use naming schema found in other rtlwifi devices. Rename rtl8192_restart to _rtl92e_restart. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33bec9bd9bd68c8c3fd99bbf0fadbe844e173762 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:51 2015 +0200 staging: rtl8192e: Rename rtl8192_down Use naming schema found in other rtlwifi devices. Rename rtl8192_down to _rtl92e_down. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27cbba60e045d3e71e726d6f0781ed3ec2b2ce5c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:50 2015 +0200 staging: rtl8192e: Rename rtl8192_close Use naming schema found in other rtlwifi devices. Rename rtl8192_close to _rtl92e_close. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27d673b0bc5bcd4c8e26ab81434af805e7650e02 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:49 2015 +0200 staging: rtl8192e: Rename rtl8192_open Use naming schema found in other rtlwifi devices. Rename rtl8192_open to _rtl92e_open. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09c26de711311ed80c829f8e2c9b06f05b7657c3 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:12:48 2015 +0200 staging: rtl8192e: Rename rtl8192_ioctl Use naming schema found in other rtlwifi devices. Rename rtl8192_ioctl to _rtl92e_ioctl. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2743b2cd662ff4f621ef2ab6693b90aa19b905d Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:30 2015 +0200 staging: rtl8192e: Rename rtl8192_irq_tx_tasklet Use naming schema found in other rtlwifi devices. Rename rtl8192_irq_tx_tasklet to _rtl92e_irq_tx_tasklet. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2940405b2bc47adcf8d4490f2ab7747d51014b09 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:29 2015 +0200 staging: rtl8192e: Rename rtl8192_irq_rx_tasklet Use naming schema found in other rtlwifi devices. Rename rtl8192_irq_rx_tasklet to _rtl92e_irq_rx_tasklet. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87e01f225000cd7a8a23d2d2132300123e304b5c Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:28 2015 +0200 staging: rtl8192e: Rename rtl8192_interrupt Use naming schema found in other rtlwifi devices. Rename rtl8192_interrupt to _rtl92e_irq. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 414f401f60e0b11f2fd81884125d5ca7e63a04ff Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:27 2015 +0200 staging: rtl8192e: Rename rtl8192_init_priv_variable Use naming schema found in other rtlwifi devices. Rename rtl8192_init_priv_variable to _rtl92e_init_priv_variable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ab2a8feae0ac4a473805881c75f9b99ef907c08 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:26 2015 +0200 staging: rtl8192e: Rename rtl8192_init_priv_task Use naming schema found in other rtlwifi devices. Rename rtl8192_init_priv_task to _rtl92e_init_priv_task. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 529c66c1f11805117498dffd2cad758a8c2b5ace Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:25 2015 +0200 staging: rtl8192e: Rename rtl8192_init_priv_lock Use naming schema found in other rtlwifi devices. Rename rtl8192_init_priv_lock to _rtl92e_init_priv_lock. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8d0dc3c272a051e4892e10a8a8158d5aaf65850 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:24 2015 +0200 staging: rtl8192e: Rename rtl8192_init_priv_handler Use naming schema found in other rtlwifi devices. Rename rtl8192_init_priv_handler to _rtl92e_init_priv_handler. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b2aaeaed490172390314ab41860c2911a711c51 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:23 2015 +0200 staging: rtl8192e: Rename rtl8192_init_priv_constant Use naming schema found in other rtlwifi devices. Rename rtl8192_init_priv_constant to _rtl92e_init_priv_constant. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bd5e8e0a2cc6bda6ed968a1a9385bc795c96e53 Author: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Date: Sun Sep 20 10:09:22 2015 +0200 staging: rtl8192e: Rename rtl8192_init Use naming schema found in other rtlwifi devices. Rename rtl8192_init to _rtl92e_init. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc86e82d346320d036961da5a2f35a2cbc7e00cf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:12 2015 -0700 staging: comedi: rtd520: hook up 8254 timer/counter subdevice There is a standard 8254 Timer/Counter device on the board. Hook up the subdevice for the user. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da6877732d4d6f7264a6e719ddf50852bd33137a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:11 2015 -0700 staging: comedi: rtd520: use DIV_ROUND_CLOSEST and DIV_ROUND_UP macros Use the macros to clarify the divisor calculations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 640da603179c425c23f1df95f346ae132f52ea98 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:10 2015 -0700 staging: comedi: rtd520: tidy up block comments Use the preferred block command style. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 152eb6cc37c32aa1717e72a687979d8ed8e8b5fa Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:09 2015 -0700 staging: comedi: rtd520: remove unnecessary function desc. block comments These function description comments are cut-and-paste cruft from the old skeleton driver. 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 8e0768b184f361a30c640b7571d602f408744c13 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:08 2015 -0700 staging: comedi: rtd520: fix rtd_ao_winsn() The "comedi range and offset conversions" in this function is incorrect. According to the hardware manual, the DAC registers are defined as: | D15 | D14-D03 | D02 | | D01 | D00 | | Sign | 12-bit data | (see manual) | The extended 'Sign' bit is only used for bipolar ranges to indicate negative 12-bit data values. The current code actually flips the sign for all bipolar data values instead of just munging the value to 2's complement and extending the sign bit. Fix the function to correctly munge the comedi offset binary values into 2's complement and extended the sign when bipolar ranges are specified. For aesthetics, rename this function and tidy it up a bit. Save the readback value after the conversion is complete. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78c1652c7eeac2dff6961678e60c3d792cbe83b5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:07 2015 -0700 staging: comedi: rtd520: convert DAC register defines to macros For aesthetics, convert the defines for the various DAC registers into macros that take the comedi channel and return the correct offset. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ddf02bfd89e43dec940fa3f10c309f69888eda2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:06 2015 -0700 staging: comedi: rtd520: remove unnecessary comments from rtd_ao_winsn() These comments are cut-and-paste from the old skeleton driver. 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 e7211492e36145b2a39e20354bb615b6b196d25c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:05 2015 -0700 staging: comedi: rtd520: move constants to right side of comparisons Fix the checkpatch.pl issues about: WARNING: Comparisons should place the constant on the right side of the test Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd62ef005839d8f82e46014cec6074aab2733abf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:04 2015 -0700 staging: comedi: rtd520: rename rtd520Boards For aesthetics, rename this CamelCase array. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 120bdac7376a36418eb1d55e0161dc0e660a45c3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:03 2015 -0700 staging: comedi: rtd529: 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 c3aea01259655b6dcf0e9665416d254177fe222b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:02 2015 -0700 staging: comedi: rtd520: fix logical continuations Fix the checkpatch.pl issues about: CHECK: Logical continuations should be on the previous line Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 267d2e0741f3e90d94dd1b69faa6a195d64484bf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:52:01 2015 -0700 staging: comedi: rtd520: 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 7a064fd13f44eb1acf2d525765fab55c7a3c3bf1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 23 19:35:56 2015 +0100 staging: comedi: comedi_pci.c: improve function documentation Expand the descriptions of the functions and document the return values. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e2ec8f9f311caf006a077aea5e20f6608540b8b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 10:43:37 2015 -0700 staging: comedi: rti800: use comedi_offset_munge() Use the comedi_offset_munge() helper to do the two's complement to comedi offset binary and comedi offset binary to two's complement conversions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77d010ee4eda11ec21828d834ac190b127ede9b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 10:43:36 2015 -0700 staging: comedi: rti800: 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 a3e399422f8c92b38ed2f95e56f0fa4c2eaecf5f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 23 16:33:27 2015 +0100 staging: comedi: comedi_fops.c: Tweak kernel-doc for consistency Adjust the kernel-doc in this file for consistency of capitalization and punctuation. Make more use of the special kernel-doc markers for parameter names, constant names, etc. Use the correct kernel-doc tag for the return values sections. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c240e20c73b2d3d4f27b9155bf4897db40af9b1e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 22 18:02:39 2015 +0100 staging: comedi: comedi_buf.c: document remaining exported functions Add kernel-doc headers to the remaining functions marked for export. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67ecc3ddd3acb9095b171211b5516478c8b57764 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 22 18:02:38 2015 +0100 staging: comedi: comedi_buf.c: tweak existing kernel-doc Expand the kernel-doc descriptions of those exported functions that already have kernel-doc comments. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42e55839943a8303d6dd86814b8989d5add42cca Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:56 2015 +0100 staging: comedi: comedidev.h: document remaining inline functions Add kernel-doc headers to the inline functions that do not have them yet. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f78264cdd6caf0073f5fb09dce49f4c598927b9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:55 2015 +0100 staging: comedi: comedidev.h: tweak docs for inline functions Tweak the kernel-doc for already documented inline functions for consistency, and document their return values. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f2f5d34e136741fb36fd33c3a6ffbf6c2f190da Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:54 2015 +0100 staging: comedi: comedidev.h: tweak struct comedi_async documentation Make the kernel-doc layout for `struct comedi_async` more consistent with the documentation for the other COMEDI data types. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5459bc1281e628e6f57ee16c69eaf8a9622912e8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:53 2015 +0100 staging: comedi: comedidev.h: document struct comedi_lrange Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11a10830b6e1ed001e0d71594beb5eedc714e202 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:52 2015 +0100 staging: comedi: comedidev.h: document struct comedi_buf_map Add kernel-doc for `struct comedi_buf_map` and the associated `struct comedi_buf_page`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f952fa843397f9a08b937caf8fcc8126813d492 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:51 2015 +0100 staging: comedi: comedidev.h: document struct comedi_subdevice Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ac5b44fbed08758d4d09bf309700a46cef28035 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:50 2015 +0100 staging: comedi: comedidev.h: document struct comedi_device Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3ed91f8757a6d2e6f8c6f61aa08761831e33feb Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:49 2015 +0100 staging: comedi: comedidev.h: document struct comedi_driver Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a871773f23fb18f455e0a44717a8d091874aa1ba Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:48 2015 +0100 staging: comedi: comedidev.h: tweak kernel-doc for struct comedi_async Tweak the formatting of the kernel-doc formatted comment for `struct comedi_async` in order to stop it generating bogus headings for text before a colon. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 251a16ab67906c29cbc0b7aebc85fc0209f6770f Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:47 2015 +0100 staging: comedi: comedidev.h: use enum for COMEDI_CB_... constants The existing constants `COMEDI_CB_EOS` etc. are in the form of macros and have a bogus kernel-doc comment. Change them to `enum` constants so they can be documented properly with kernel-doc. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2750914363bff601fc812f8cb0ef56ffc8b0b27b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 21 18:52:46 2015 +0100 staging: comedi: comedidev.h: reformat copyright comment Use the preferred block comment style. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b34845ee3620ddf1329932edde00bd5b4b9d466 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Sep 17 17:19:17 2015 +0100 staging: comedi: drivers.c: document exported functions Add missing kernel-doc to the low-level COMEDI driver API functions exported from "drivers.c" and tart up some of the existing kernel-doc comments for consistency. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d35d893965a6d7efe995d7f8d66b2427c14bbc36 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Sep 17 17:19:16 2015 +0100 staging: comedi: drivers.c: replace #include <linux/dma-mapping.h> Comedi's "drivers.c" doesn't use anything from `<linux/dma-mapping.h>`, but it does use `DMA_NONE` from `<linux/dma-direction.h>`, so replace the appropriate `#include` directive. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db0700a18d7d8832e3f5f5c3a55f197258e257e5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Sep 17 17:19:15 2015 +0100 staging: comedi: drivers.c: remove irrelevant #includes Comedi's "drivers.c" doesn't use anything from these included headers, so remove them. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e8aa94e97790b4092f6694ab7f381e6791d3245 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:58 2015 +0200 staging: most: fix pcm_write input/output error This patch keeps the process from sleeping after the PCM middle layer has stopped playback by calling the pcm trigger callback. The patch is needed to prevent aplay from causing a pcm_write Input/Output error. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aac997dfdd58eec1add02dae09030caeddc1abe6 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:57 2015 +0200 staging: most: add poll syscall to AIM cdev This patch adds the implementation of the poll syscall to the AIM cdev. To have the full functionality, a helper function is needed in the core module to retrieve the instantaneous availability of tx buffers. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48ab5a339de2b1cd006b7783d1555e4711bf77e5 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:56 2015 +0200 staging: most: remove audio resolution format check This patch removes the audio format cross-check, because the definitions are not compatible. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35c33721387afe2adda91936f163bb31ba3f0adf Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:55 2015 +0200 staging: most: fix style problems This patch simply corrects style violations. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e569da2662505961499a4caf3dce07fe6492ceea Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:54 2015 +0200 staging: most: move initialization code This pathch moves the initialization of the PCM middle layer hardware parameters to function audio_set_hw_params(). Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb0056a8aef0561727602c08951e9b4fd79a0e5f Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:53 2015 +0200 staging: most: rename function This patch renames the function audio_set_pcm_format(). Since the function doesn't only set the PCM format anymore and to guard against misunderstandings, its name needs to be changed. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31e91e0f40547816f9256d5865d39d504706ad06 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:52 2015 +0200 staging: most: add missing channel initialization This patch adds missing initialization of channel count for 8-bit mono audio resolution. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b981abbb56ed57b2eda394955de99cbe7ca21fef Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:51 2015 +0200 staging: most: purge unecessary variable This patch purges a temp. variable to store the functions return value. Since the content is never being evaluated, it can safely be removed. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19a1143fa4f0a144ee9891f2d2badef2ee74a123 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:50 2015 +0200 staging: most: squash AIM sound This patch removes debug messages and prevents the sound AIM from being noisy in kernel log. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d801887248312f4279913963f501fd94670256ad Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:49 2015 +0200 staging: most: make hardware parameters channel exclusive Since the PCM interface's hardware parameters are channel/substream exclusive, the struct snd_pcm_hardware needs to be embedded in the channel structure. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9801345cd8edc2082eefed71cbd07ce2c4c51ea1 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:48 2015 +0200 staging: most: include vendor in audio card's shortname This patch adds Microchip as vendor to the audio card's shortname to be displayed, when playback and capture devices are queried. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e4a0ef17fc8bf4503fb77f059d580a03e67b5f1 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:47 2015 +0200 staging: most: add multi channel support to sound AIM This patch adds 5.1 surround configuration with subbuffer cross-check, when establishing a link to the core. For the sake of simplicity, only one specific channel configuration is allowed. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccfbaee033abff6f4467c9874eb7b1b48aced739 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:46 2015 +0200 staging: most: refactor channel structure The struct most_c_obj has the same set of attributes for each of two AIMs. This patch cleans up the code by introducing the new struct most_c_aim_obj hat contains those fields. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71457d482751a38e78da32fde80e87b6f670c389 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:45 2015 +0200 staging: most: add fair buffer distribution This patch ensures a fair distribution of buffers, when two AIMs share a single channel. The AIMs then won't be able to use more than half of all pre-allocated buffers of the linked channel. However, in case the channel is not shared, the AIM can exclusively use all available buffers. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c81c9c3e0fd5170e7bede7d06202062338644e93 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:44 2015 +0200 staging: most: consolidate code The function drci_rd_reg() always delivers little endian representation of the 16-bit DCI register. The value returned by this function must always be carefully converted from __le16 to u16 type. This patch moves all those conversions to the function itself. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26370228875b823b9a90562619c509461f9b91ae Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:43 2015 +0200 staging: most: prevent DMA on stack This patch is needed to avoid having DMA on the stack. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc8d9935134c0473ae536383586ec7b7becdd82d Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:42 2015 +0200 staging: most: simplify code This patch simply rearranges code for better readability. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ea7e502c425605a7ae5417085f21e8a2b09297c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:41 2015 +0200 staging: most: fix MAC address representation This patch fixes the representation of the MAC address within the HDM USB module. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c31d9d12ef5b6937d8399fa9ede2bb11dc225363 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:40 2015 +0200 staging: most: fix buffer size for DIM2 This patch reduces the DBR buffer size to prevent an overflow in the DIM2 module. It is needed, because the MediaLB hardware has problems with DBR buffers that exceed the size of 255 messages. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1b9a84382045b693b28d7dce1b2af45b435bbe9 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:39 2015 +0200 staging: most: remove macro cpu_to_le16 This patch removes the wrongly used macros cpu_to_le16 Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d747e8ec1c9ce0cc6c4813ca1fce993db4001a38 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:38 2015 +0200 staging: most: fix buffer synchronization request Revision D of OS81118 network interface controller have the internal buffer synchronization mechanism changed. This patch adapts the driver to this. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2cfae06acf9b7f142fbde4a5cc94c1423136390 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:37 2015 +0200 staging: most: remove dead code The case where the channel type is neither synchronous nor isochronous is already covered by a previous condition. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6f7737d5a576f0625ebb2a5896d1b13e3c1c95c Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:36 2015 +0200 staging: most: remove unnecessary field initialization Since conf->extra_len has already been reset in most_start_channel() when function hdm_configure_channel() gets called, it can safely be removed here. Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f13f6981bca3c79ba97c4092ab5ed6aed8b2ce99 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:35 2015 +0200 staging: most: fix channel operation in multi-aim context This patch fixes the opening and closing process of a physical channel when used by different AIMs. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9161e9311c29e905c8b1cf9f10f5010239d49975 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:34 2015 +0200 staging: most: fix USB babble on IN pipe This patch prevents the HDM USB from submitting an URB with a buffer size unaligned to 512 bytes to the USB subsystem. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3032ab931bc81d56f6bd9a2a319afc66e4b03923 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:33 2015 +0200 staging: most: remove shared IRQ request Since there is no way find out whether the INIC has generated an interrupt, the I2C interrupt must not be registered as a shared interrupt. Reported-by: PrasannaKumar Muralidharan <PrasannaKumar.Muraidharan@xxxxxxxxxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25ef42f3084df7b7511f1a9f72678a95d444f579 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:32 2015 +0200 staging: most: fix race condition in AIM networking If the network device is being opened right after it has been registered via function register_netdev(), the device state is not yet consistent in the context of function ndo_open(). This patch cares about having the initialization done right, before the networking device is registered. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf358040c448af3fc6446bcf0d998d2fd420a7fc Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:31 2015 +0200 staging: most: remove aim reset This patch partly reverts a modification of function most_stop_channel() that is trying to reset an established link between an AIM and an HDM in all suitable places. But since the function most_stop_channel() is stopping the data transfer it is the wrong place to do so. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec5c00afc2cab1c0e6692541302bc620437c8441 Author: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Date: Mon Sep 28 17:18:30 2015 +0200 staging: most: change structure initialization By applying this patch the initialization of the most_aim structure is performed at compile time. Signed-off-by: Andrey Shvetsov <andrey.shvetsov@xxxxxx> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adf508c347c3a5d66d7610412467e2a03924485b Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Jul 9 22:30:57 2015 +0200 mtd: spi-nor: s25fl008k and s25fl016k supports dual/quad mode s25fl016k can be found on Embedded Artists' LPC4357 Developer's Kit where is used in quad mode by the LPC4357 SPIFI controller. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit cbfe360a1541a32e9e28f8f8ac925d2b7979d767 Author: Stefan Assmann <sassmann@xxxxxxxxx> Date: Thu Sep 17 14:46:10 2015 +0200 igb: assume MSI-X interrupts during initialization In igb_sw_init() the sequence of calls was changed from igb_init_queue_configuration() igb_init_interrupt_scheme() igb_probe_vfs() to igb_probe_vfs() igb_init_queue_configuration() igb_init_interrupt_scheme() This results in adapter->flags not having the IGB_FLAG_HAS_MSIX bit set during igb_probe_vfs()->igb_enable_sriov(). Therefore SR-IOV does not get enabled properly and we run into a NULL pointer if the max_vfs module parameter is specified (adapter->vf_data does not get allocated, crash on accessing the structure). [ 7.419348] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048 [ 7.419367] IP: [<ffffffffa02161c6>] igb_reset+0xe6/0x5d0 [igb] [ 7.419370] PGD 0 [ 7.419373] Oops: 0002 [#1] SMP [ 7.419381] Modules linked in: ahci(+) libahci igb(+) i40e(+) vxlan ip6_udp_tunnel udp_tunnel megaraid_sas(+) ixgbe(+) mdio [ 7.419385] CPU: 0 PID: 4 Comm: kworker/0:0 Not tainted 4.2.0+ #153 [ 7.419387] Hardware name: Dell Inc. PowerEdge R720/0C4Y3R, BIOS 1.6.0 03/07/2013 [...] [ 7.419431] Call Trace: [ 7.419442] [<ffffffffa0217236>] igb_probe+0x8b6/0x1340 [igb] [ 7.419447] [<ffffffff814c7f15>] local_pci_probe+0x45/0xa0 Prevent this by setting the IGB_FLAG_HAS_MSIX bit before calling igb_probe_vfs(). The real interrupt capabilities will be checked during igb_init_interrupt_scheme() so this is safe to do. Signed-off-by: Stefan Assmann <sassmann@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 30e2561b95295258890b4e0366ce867e04d34a97 Author: Anjali Singhai <anjali.singhai@xxxxxxxxx> Date: Mon Sep 28 13:37:12 2015 -0700 i40e: Fix for recursive RTNL lock during PROMISC change The sync_vsi_filters function can be called directly under RTNL or through the timer subtask without one. This was causing a deadlock. If sync_vsi_filters is called from a thread which held the lock, and in another thread the PROMISC setting got changed we would be executing the PROMISC change in the thread which already held the lock alongside the other filter update. The PROMISC change requires a reset if we are on a VEB, which requires it to be called under RTNL. Earlier the driver would call reset for PROMISC change without checking if we were already under RTNL and would try to grab it causing a deadlock. This patch changes the flow to see if we are already under RTNL before trying to grab it. Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Kiran Patil <kiran.patil@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5cfe8c144524f7e1688b41c5dab46722be4a912b Author: Anish Bhatt <anish@xxxxxxxxxx> Date: Fri Sep 25 00:45:15 2015 -0700 wilc1000 : Remove unused macro definitions Remove all unused TCP_*_MASK macro definitions Signed-off-by: Anish Bhatt <anish@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fea593f645c6375e24a74bef5f36f268679f8d2 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:06 2015 +0900 staging: wilc1000: remove variable cif_func This patch removes variable cif_func and use mac_cfg directly. No need to have another pointer variable. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b002e20d53c80b4071b267e1be776bfccf9676de Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:05 2015 +0900 staging: wilc1000: remove function pointer os_wait This patch removes function pointer os_wait which is pointer of linux_wlan_lock_timeout and just call the real name function directly. Remove also static from linux_wlan_lock_timeout declaration. As os_wait is deleted, structure wilc_wlan_os_func_t is useless. Delete wilc_wlan_os_func_t, os_func and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2bfac009ca2ea75befe5adde9ba8fd46e409c91 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:04 2015 +0900 staging: wilc1000: remove mutex txq_cs and it's related codes mutex txq_cs is never used in the driver. txq_cs, txq_critical_section and txq_lock have same pointer so just delete them and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03eb7266306659080776907498cbfe96f7771d12 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:03 2015 +0900 staging: wilc1000: remove variable rx_buffer_size This patch removes two variables rx_buffer_size and use LINUX_RX_SIZE as argument. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7015b5db076a08f90e0e3015ba7708202fb2a916 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:02 2015 +0900 staging: wilc1000: remove variable tx_buffer_size This patch removes unnecessary two variables tx_buffer_size and just use LINUX_TX_SIZE as argument. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 187f1ef192e1d070843fbf9cc2693e66ca3d72b4 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:01 2015 +0900 staging: wilc1000: remove pointer varialbes of hif_cs Remove hif_lock and hif_critical_section which are pointer of g_linux_wlan->hif_cs. Remove also it's related codes. Just use mutex varialbe g_linux_wlan->hif_cs. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5a63a868b264ef7cf8b39394f9ab09391633a50 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:15:00 2015 +0900 staging: wilc1000: remove pointer variables of txq_add_to_head_cs This patch removes txq_add_to_head_critical_section and txq_add_to_head_lock which are pointer of g_linux_wlan->txq_add_to_head_cs. Just use g_linux_wlan->txq_add_to_head_cs as argument of function. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a3b94f71829bee2c2467870470e6d528f9ea46d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:59 2015 +0900 staging: wilc1000: remove pointer varialbe cfg_wait and cfg_wait_event This patch removes cfg_wait and cfg_wait_event which are pointer of g_linux_wlan->cfg_event. No need to have pointer varialbe of it. Just use g_linux_wlan->cfg_event. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cd6363385d0fe1669b4bf0906939b08e77b031e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:58 2015 +0900 staging: wilc1000: remove pointer variable of g_linux_wlan->txq_event Remove variable txq_wait and txq_wait_event which are pointer varialbe of g_linux_wlan->txq_event. No need to have extra pointer varialbe. Just use g_linux_wlan->txq_event. Remove os_context.txq_wait_event, txq_wait and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 645db60e47bbc26aef84e0110544ff34b7ecf454 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:57 2015 +0900 staging: wilc1000: use g_linux_wlan->rxq_cs for function arguemnt Use mutex variable g_linux_wlan->rxq_cs instead of pointer varialbe. No need to make extra pointer variable for the mutex. Remove rxq_critical_section, rxq_lock and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85e57567f2ae6ff89648f7073d1b74dcc5620dc9 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:56 2015 +0900 staging: wilc1000: use g_linux_wlan->txq_spinlock not the pointer of it Use spinlock variable g_linux_wlan->txq_spinlock itself instead of g_wlan.txq_spinlock which is pointer of g_linux_wlan->txq_spinlock. Delete os_context.txq_spin_lock, g_wlan.txq_spinlock and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef2b784c3006575fb6ffd6faed41c0f2d09abfb4 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:55 2015 +0900 staging: wilc1000: remove function pointer os_debug This patch removes os_debug and call linux_wlan_dbg function instead of os_debug. Delete static from the linux_wlan_dbg. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0cadaa4ab48839459cfe6a31211453dcfd31eee Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:54 2015 +0900 staging: wilc1000: remove function pointer rx_complete just call the function linux_wlan_rx_complete directly. No need for a pointer to the functions. Remove rx_complete, wilc_wlan_net_func_t and net_func which are not used anymore. Finally remove static from the function linux_wlan_rx_complete. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4417d3daf8e45150b9121ee838f215431dc411dd Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:53 2015 +0900 staging: wilc1000: remove function pointer mac_indicate No need for a pointer to a function. Just call linux_wlan_mac_indicate. Remove mac_indicate and also wilc_wlan_indicate_func_t since no members in it. Variable indicate_func is not used so delete it and related codes. Finally remove static from the function linux_wlan_mac_indicate. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6361167037a65d4a7a93873b2ff20548107ba6f3 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 24 18:14:52 2015 +0900 staging: wilc1000: remove function pointer rx_indicate This patch removes function pointer rx_indicate and call the function frmw_to_linux directly. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 498767e336d0a0a3521ae9426177d82453555ab3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 23 18:03:48 2015 +0900 staging: wilc1000: remove WILC_OSW_INTERFACE_VER define This patch removes WILC_OSW_INTERFACE_VER define that is not used anywhere. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f23eb98b9429082644c2a08af12fbdbff646c406 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 23 18:03:47 2015 +0900 staging: wilc1000: move wilc_msgqueue.h include file This patch moves wilc_msgqueue.h include file from wilc_oswrapper.h to host_interface.c because message queue function as wilc_mq_create, wilc_mq_send, wilc_mq_recv and wilc_mq_destroy are used only at host_interface.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 947239070af5ce30c09de1f384cb605b9e6a3401 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 23 18:03:46 2015 +0900 staging: wilc1000: remove wilc_platform.h include file This patch removes wilc_platform.h include file that is defined in wilc_msgqueue.h file. After removing it, compilation error occurs so that it is included two header files as <linux/semaphore.h> and <linux/slab.h> at wilc_msgqueue.h and wilc_msgqueue.c Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e8c37df4cf101c7f4c051868c4dc2c33dbabf0d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 23 18:03:45 2015 +0900 staging: wilc1000: move struct Message and WILC_MsgQueueHandle This patch moves struct Message and WILC_MsgQueueHandle from wilc_platform.h to wilc_msgqueue.h because those two structures are used only at wilc_msgqueue.c so that it is good to be defined at wilc_msgqueue.h Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5804474311912c1b80601a1afee052e8df962cd4 Author: Anjali Singhai <anjali.singhai@xxxxxxxxx> Date: Fri Sep 25 18:26:13 2015 -0700 i40e: Fix RS bit update in Tx path and disable force WB workaround This patch fixes the issue of forcing WB too often causing us to not benefit from NAPI. Without this patch we were forcing WB/arming interrupt too often taking away the benefits of NAPI and causing a performance impact. With this patch we disable force WB in the clean routine for X710 and XL710 adapters. X722 adapters do not enable interrupt to force a WB and benefit from WB_ON_ITR and hence force WB is left enabled for those adapters. For XL710 and X710 adapters if we have less than 4 packets pending a software Interrupt triggered from service task will force a WB. This patch also changes the conditions for setting RS bit as described in code comments. This optimizes when the HW does a tail bump and when it does a WB. It also optimizes when we do a wmb. 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 c1d1791dc8b2a13c316a4e163552804361a786a4 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Sep 25 19:26:04 2015 +0000 i40e: add GRE tunnel type to csum encoding Make sure the Tx checksum encoder knows about GRE protocol and sets the descriptor flag appropriately. 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 b03a8c1f4c0c6f95f5addaf4a13dd3aa118c3c1a Author: Kiran Patil <kiran.patil@xxxxxxxxx> Date: Thu Sep 24 18:13:15 2015 -0400 i40e/i40evf: refactor tx timeout logic This patch modifies the driver timeout logic by issuing a writeback request via a software interrupt to the hardware the first time the driver detects a hang. The driver was too aggressive in resetting a hung queue, so back that off by removing logic to down the netdevice after too many hangs, and move the function to the service task. Change-ID: Ife100b9d124cd08cbdb81ab659008c1b9abbedea Signed-off-by: Kiran Patil <kiran.patil@xxxxxxxxx> Signed-off-by: Shannon Nelson <shannon.nelson@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 1e6d6f8c1b07a5874444c3a403eb24427e8b39d3 Author: Kiran Patil <kiran.patil@xxxxxxxxx> Date: Thu Sep 24 15:43:02 2015 -0400 i40e: Move i40e_get_head into header file i40e_get_head needs to be called in multiple files in a further patch, prepare by moving the function into a header file. Signed-off-by: Kiran Patil <kiran.patil@xxxxxxxxx> Tested-by: Andrew Bowers <andrewx.bowers@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 35667b9983a2a89e504377e89388982dc398773d Author: Johannes Thumshirn <jthumshirn@xxxxxxx> Date: Wed Jul 8 17:15:34 2015 +0200 mtd: Destroy mtd_idr on module_exit Destroy mtd_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: Brian Norris <computersforpeace@xxxxxxxxx> commit 70f52debbed3d0c99d8b9b6ce32d8cf7f0cfe638 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 23 16:10:53 2015 +0900 staging: wilc1000: remove define DISABLE_PWRSAVE_AND_SCAN_DURING_IP The driver will use define DISABLE_PWRSAVE_AND_SCAN_DURING_IP always. So remove the ifdef line and define in Makefile. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f446ebbeee224cc50c6e8a04916585b8ac5dd566 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 23 16:10:52 2015 +0900 staging: wilc1000: remove ifdef OLD_FPGA_BITFILE line OLD_FPGA_BITFILE is not used in the driver. Just delete ifdef line and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74a443e0940a57ee8f360692dc3bfbc551dee6c0 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:45 2015 +0900 staging: wilc1000: parse_network_info: remove s32Error s32Error is defined, but not used anywhere in this function. Then just delete it and return 0 at the end of this function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1f7f64244aa15e76f794d1bd4f346c852882248 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:44 2015 +0900 staging: wilc1000: rename ParseNetworkInfo This patch replaces ParseNetworkInfo with parse_network_info to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd322576bdd4c3e529f5f6933dffe743ce78fadc Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:43 2015 +0900 staging: wilc1000: remove extern declaration This patch removes extern declaration of *gpstrWlanOps in coreconfigurator.c file. It is defined extern declaration in wilc_wlan_if.h file and then is included in coreconfigurator.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36cca3ba725c87c322dbef983d47a3fe72c6d9b4 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:42 2015 +0900 staging: wilc1000: remove useless comment This patch removes useless comment in coreconfigurator.c Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0a7fcc7e6978051fc38ae885ab5fd8bc9d6b281 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:41 2015 +0900 staging: wilc1000: replace kmalloc_array/memset with kcalloc This patch replaces kmalloc_array followed by memset with kcalloc. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02cf299d0e281efc930bf1bd01479897d9ec483e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:40 2015 +0900 staging: wilc1000: replace kmalloc/memcpy with kmemdup This patch replaces kmalloc followed by memset and memcpy with kmemdup. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef154414b2e7ba2e20db932fc96262cc692e8621 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:39 2015 +0900 staging: wilc1000: replace kmalloc with kzalloc This patch replaces kmalloc with kzalloc because it is initialized by 0 immediately after allcating memory. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf32c3c4230a8f1f513e77266d5e02bdc0e1f27d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:38 2015 +0900 staging: wilc1000: rename SendConfigPkt This patch replaces SendConfigPkt with send_config_pkt to aovid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e971affaf92d530b653122f08aa23e7384de170f Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Mon Sep 28 22:56:51 2015 +0200 mtd: nand: pxa3xx-nand: prevent DFI bus lockup on removal After the conversion of pxa architecture to common clock framework, the NAND clock can be disabled on driver exit. In this case, it happens that if the driver used the NAND and set the DFI arbitration bit, the next access to a static memory controller area, such as an ethernet card, will stall the system bus, and the core will be stalled forever. This is especially true on pxa31x SoCs, where the NDCR was augmented with a new bit to prevent this lockups by giving full ownership of the DFI arbiter to the SMC, in change SCr#6. Fix this by clearing the DFI arbritration bit in driver exit. This effectively prevents a lockup on zylonite when removing pxa3xx-nand module, and using ethernet afterwards. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c22dbd4bb8fd15faa800ef5daf1a81aa31896bf8 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 22:47:37 2015 +0900 staging: wilc1000: remove CoreConfiguratorDeInit This patch removes CoreConfiguratorDeInit function, which is not doing anything else except printing a PRINT_D message and returning a s32Error. It is also removed the codes that is calling this function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a27224f964d045cc8358f7c23dce3ab401f702d Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Tue Sep 22 15:24:50 2015 +0200 staging: wicl1000: fix dereference after free in wilc_wlan_cleanup() The wilc_wlan_cleanup() function iterates over the list of transmission buffers freeing all of them and then iterates over the receive buffers list to free all of them as well. But on the receive loop a pointer to struct txq_entry_t is dereferenced instead of the pointer to a struct rxq_entry_t. This not only causes a dereference to a pointer already freed but also leaks the memory in the struct rxq_entry_t buffer. Also, the buffer is allocated when MEMORY_STATIC is not defined no when MEMORY_DYNAMIC is defined. So use #ifndef MEMORY_STATIC instead as it's done in the rest of the driver to avoid leaking the buffer memory. Fixes: c5c77ba18ea6 ("staging: wilc1000: Add SDIO/SPI 802.11 driver") Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dddaba1a3b1b17a6945a973a1ac57358bab269ee Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:35:01 2015 +0900 staging: wilc1000: host_int_init: remove unnecessary parentheses This patch removes unnecessary parentheses found by checkpatch.pl Unnecessary parentheses around pstrWFIDrv->hSemTestKeyBlock Unnecessary parentheses around pstrWFIDrv->hSemTestDisconnectBlock Unnecessary parentheses around pstrWFIDrv->hSemGetRSSI Unnecessary parentheses around pstrWFIDrv->hSemGetLINKSPEED Unnecessary parentheses around pstrWFIDrv->hSemGetCHNL Unnecessary parentheses around pstrWFIDrv->hSemInactiveTime Unnecessary parentheses around pstrWFIDrv->gtOsCfgValuesSem Unnecessary parentheses around pstrWFIDrv->gtOsCfgValuesSem Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d53eec391e988aea0a81618f35950a682e2daeb Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:35:00 2015 +0900 staging: wilc1000: host_int_init: remove blank line before a close brace. This patch removes blank line before a close brace. CHECK: Blank lines aren't necessary before a close brace '}' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b09bd32a723f41fba91be8c83e0c9909646464e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:59 2015 +0900 staging: wilc1000: host_int_init: replace s32Error with result This patch replaces s32Error with result in host_int_init function to avoid camelcase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f4e0ce2b67fc556fcbfb615381e5441938256c7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:58 2015 +0900 staging: wilc1000: host_int_init: remove commented code This patch removes commented code in host_int_init function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dfcff4a42ef694c09adf8f2d7b6ceff8cbe21ec Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:57 2015 +0900 staging: wilc1000: host_int_init: remove multiple blank lines This patch removes multiple blank lines in host_int_init function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1604296d20a7d278f525a8134e2db1a727b2fdd1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:56 2015 +0900 staging: wilc1000: host_int_init: fix kzalloc error check This patch fixes error check when kzalloc is failed. NULL comparison style is changed to use ! operator and PRINT_ER is also removed. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27a82ebf920123978d74d51fe7ce94579e372f94 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:55 2015 +0900 staging: wilc1000: host_int_init: replace kmalloc with kzalloc This patch replaces kmalloc with kzalloc in host_int_init. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67ec31b8c268bc912f1d5a437b75194692816d3f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:54 2015 +0900 staging: wilc1000: host_int_init: remove meaningless comment This patch removes meaningless comment in host_int_init function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 109c4831279d4bb3f1fff885c5dc31132b03296e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:53 2015 +0900 staging: wilc1000: remove CoreConfiguratorInit This patch removes CoreConfiguratorInit function, which is not doing anything else except printing a PRINT_D message and returing a s32Error. It is also removed the code that is calling this function. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37316e81677fe2765d7711f856898863ec7a73b5 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:52 2015 +0900 staging: wilc1000: make add_virtual_intf static This patch makes add_virtual_intf static. This function is used only at wilc_wfi_cfgoperation.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c156032daf431d46a4520c42de7858747929eea4 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:51 2015 +0900 staging: wilc1000: make mgmt_tx static This patch makes mgmt_tx static. This function is used only at wilc_wfi_cfgoperation.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85c587a5483814b5a8ca19e0ee473fc0afa232e2 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:50 2015 +0900 staging: wilc1000: make mgmt_tx_cancel_wait static This patch makes mgmt_tx_cancel_wait static. This function is used only at wilc_wfi_cfgoperation.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 956d7211970693ad211d22a8c17600d9482a883c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:49 2015 +0900 staging: wilc1000: make del_virtual_intf static This patch makes del_virtual_intf static. This function is used only at wilc_wfi_cfgoperation.c file. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8047e26c799c8c426588677cd22ac657e970d04 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:48 2015 +0900 staging: wilc1000: rename WILC_WFI_set_cqm_rssi_config This patch replaces WILC_WFI_set_cqm_rssi_config with set_cqm_rssi_config to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdc9cba5fff5c67cd6093eb0578062e0f62d8482 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:47 2015 +0900 staging: wilc1000: remove useless comment This patch removes useless comment. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4653067955726266b25123b86921af09ad275a5a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 22 18:34:46 2015 +0900 staging: wilc1000: rename WILC_WFI_set_power_mgmt This patch replaces WILC_WFI_set_power_mgmt with set_power_mgmt. then makes set_power_mgmt static. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b33c35b11e0049e3adbb58df6c83d6c9496f8210 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 00:13:28 2015 +0200 mtd: mxc_nand: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 531c7ceb934f709ce2b8847b1ace499727e11de1 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Sep 22 14:34:46 2015 +0900 staging: wilc1000: wilc_wlan_if.h: align define, enum and structure This patch fix alignment of defines and items in enum and structure. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4cebe4d886f23a5666871f9980bbcc9cf769ea7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Sep 22 14:34:45 2015 +0900 staging: wilc1000: wilc_wlan_if.h: remove warnings line over 80 characters This patch removes the warnings reported by checkpatch.pl for line over 80 characters. And also align comments which is not over 80 but to align with them. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12dc9e4ea69df9cce45e90810b574990d2d90eba Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Sep 22 14:34:44 2015 +0900 staging: wilc1000: wilc_wlan_if.h: remove warnings on the multiple blank lines This patch removes the warnings reported by checkpatch.pl for using multiple blank lines. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 234837decbffdb28325588f66811796698d68cf2 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Sep 22 14:34:43 2015 +0900 staging: wilc1000: Modify null check routine This patch removes the potential faults which may happen when unexpectedly getting access to invalid pointer. Return error when the invalid memory is accessed. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ce401d56b36a7492b26646b94d1fe9194880a1a Author: Peng Fan <van.freenix@xxxxxxxxx> Date: Fri Sep 11 21:41:47 2015 +0800 mtd: blktrans: fix multiplication overflow In drivers/mtd/mtd_blkdevs.c: 406 set_capacity(gd, (new->size * tr->blksize) >> 9); The type of new->size is unsigned long and the type of tr->blksize is int, the result of 'new->size * tr->blksize' may exceed ULONG_MAX on 32bit machines. I use nand chip MT29F32G08CBADBWP which is 4GB and the parameters passed to kernel is 'mtdparts=gpmi-nand:-(user)', the whole nand chip will be treated as a 4GB mtd partition. new->size is 0x800000 and tr->blksize is 0x200, 'new->size * tr->blksize' however is 0. This is what we do not want to see. Using type cast u64 to fix the multiplication overflow issue. Signed-off-by: Peng Fan <van.freenix@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 60f593977b28fd3acbe4c3ca5eb6acf8ddf34d9e Merge: ff8e2c5 9ffecb1 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 02:14:46 2015 +0200 Merge 4.3-rc3 into usb-next We want the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcabc6f32888435932364702ebf368164dea6678 Merge: 60d6a21 9ffecb1 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 29 01:52:40 2015 +0200 Merge 4.3-rc3 into staging-next We want the staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b83b14598ffbb59bc96dbd3d4350a3b8f0287bb2 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 28 15:59:22 2015 -0700 Input: omap4-keypad - fix memory leak If omap4_keypad_parse_dt() fails we returned the error code but we missed releasing keypad_data. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7446076e818814d3237b20a96112b44bdb3f8576 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 00:13:01 2015 +0200 mtd: mpc5121_nfc: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3f7f7a5f3fba43d3fbfef4d8406252104d1c684f Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 00:12:30 2015 +0200 mtd: fsl_ifc_nand: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 030a70b9af4ad6bb1fd715205efc44c576a9a0c4 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 00:11:59 2015 +0200 mtd: fsl_elbc_nand: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 98d1a5eea378a624e0b0795f63900189a693d938 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 00:14:02 2015 +0200 mtd: orion_nand: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1bc81eeeba99ed20b570423c311826811e162e6d Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Mon Sep 28 22:15:38 2015 +0800 jffs2: remove unnecessary new_valid_dev check As new_valid_dev always returns 1, so !new_valid_dev check is not needed, remove it. Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2260c419b52bd71166aa96fac9081388f76df5e0 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 28 16:09:51 2015 -0700 Input: db9 - use parallel port device model Modify db9 driver to use the new Parallel Port device model. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Tested-By: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit e637d17757a10732fa5d573c18f20b3cd4d31245 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Sep 28 03:52:16 2015 +0000 perf tools: Enable event_config terms to tracepoint events This patch enables config terms for tracepoint perf events. Valid terms for tracepoint events are 'call-graph' and 'stack-size', so we can use different callgraph settings for each event and eliminate unnecessary overhead. Here is an example for using different call-graph config for each tracepoint. $ perf record -e syscalls:sys_enter_write/call-graph=fp/ -e syscalls:sys_exit_write/call-graph=no/ dd if=/dev/zero of=test bs=4k count=10 $ perf report --stdio # # Total Lost Samples: 0 # # Samples: 13 of event 'syscalls:sys_enter_write' # Event count (approx.): 13 # # Children Self Command Shared Object Symbol # ........ ........ ....... .................. ...................... # 76.92% 76.92% dd libpthread-2.20.so [.] __write_nocancel | ---__write_nocancel 23.08% 23.08% dd libc-2.20.so [.] write | ---write | |--33.33%-- 0x2031342820736574 | |--33.33%-- 0xa6e69207364726f | --33.33%-- 0x34202c7320393039 ... # Samples: 13 of event 'syscalls:sys_exit_write' # Event count (approx.): 13 # # Children Self Command Shared Object Symbol # ........ ........ ....... .................. ...................... # 76.92% 76.92% dd libpthread-2.20.so [.] __write_nocancel 23.08% 23.08% dd libc-2.20.so [.] write 7.69% 0.00% dd [unknown] [.] 0x0a6e69207364726f 7.69% 0.00% dd [unknown] [.] 0x2031342820736574 7.69% 0.00% dd [unknown] [.] 0x34202c7320393039 Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1443412336-120050-4-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 865582c3f48e12b7ab9e260161868313e4a37f44 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Sep 28 03:52:15 2015 +0000 perf tools: Adds the tracepoint name parsing support Adds rules for parsing tracepoint names. Change rules of tracepoint which derives from PE_NAMEs into tracepoint names directly, so adding more rules based on tracepoint names will be easier. Changes v2-v3: - Change __event_legacy_tracepoint label in bison file to tracepoint_name - Fix formats error. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1443412336-120050-3-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ffeb883e5662e94b14948078e85812261277ad67 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Sep 28 03:52:14 2015 +0000 perf tools: Show proper error message for wrong terms of hw/sw events Show proper error message and show valid terms when wrong config terms is specified for hw/sw type perf events. This patch makes the original error format function formats_error_string() more generic, which only outputs the static config terms for hw/sw perf events, and prepends pmu formats for pmu events. Before this patch: $ perf record -e 'cpu-clock/freqx=200/' -a sleep 1 invalid or unsupported event: 'cpu-clock/freqx=200/' Run 'perf list' for a list of valid events usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events After this patch: $ perf record -e 'cpu-clock/freqx=200/' -a sleep 1 event syntax error: 'cpu-clock/freqx=200/' \___ unknown term valid terms: config,config1,config2,name,period,freq,branch_type,time,call-graph,stack-size Run 'perf list' for a list of valid events usage: perf record [<options>] [<command>] or: perf record [<options>] -- <command> [<options>] -e, --event <event> event selector. use 'perf list' to list available events Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1443412336-120050-2-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0b8891a8e62cb537b65ebc55cfbbb4ec22333c44 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Mon Sep 28 03:52:13 2015 +0000 perf tools: Adds the config_term callback for different type events Currently, function config_term() is used for checking config terms of all types of events, while unknown terms is not reported as an error because pmu events have valid terms in sysfs. But this is wrong when unknown terms are specificed to hw/sw events. This patch Adds the config_term callback so we can use separate check routines for each type of events. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1443412336-120050-1-git-send-email-hekuang@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba11ba65e02836c475427ae199adfc2d8cc4a900 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:56 2015 +0300 perf intel-pt: Add mispred-all config option to aid use with autofdo autofdo incorrectly expects branch flags to include either mispred or predicted. In fact mispred = predicted = 0 is valid and means the flags are not supported, which they aren't by Intel PT. To make autofdo work, add a config option which will cause Intel PT decoder to set the mispred flag on all branches. Below is an example of using Intel PT with autofdo. The example is also added to the Intel PT documentation. It requires autofdo (https://github.com/google/autofdo) and gcc version 5. The bubble sort example is from the AutoFDO tutorial (https://gcc.gnu.org/wiki/AutoFDO/Tutorial) amended to take the number of elements as a parameter. $ gcc-5 -O3 sort.c -o sort_optimized $ ./sort_optimized 30000 Bubble sorting array of 30000 elements 2254 ms $ cat ~/.perfconfig [intel-pt] mispred-all $ perf record -e intel_pt//u ./sort 3000 Bubble sorting array of 3000 elements 58 ms [ perf record: Woken up 2 times to write data ] [ perf record: Captured and wrote 3.939 MB perf.data ] $ perf inject -i perf.data -o inj --itrace=i100usle --strip $ ./create_gcov --binary=./sort --profile=inj --gcov=sort.gcov -gcov_version=1 $ gcc-5 -O3 -fauto-profile=sort.gcov sort.c -o sort_autofdo $ ./sort_autofdo 30000 Bubble sorting array of 30000 elements 2155 ms Note there is currently no advantage to using Intel PT instead of LBR, but that may change in the future if greater use is made of the data. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-26-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f56fb9864c501dc85ebe40af5bf925dd07d990c0 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:55 2015 +0300 perf inject: Add --strip option to strip out non-synthesized events Add a new option --strip which is used with --itrace to strip out non-synthesized events. This results in a perf.data file that is simpler for external tools to parse. In particular, this can be used to prepare a perf.data file for consumption by autofdo. A subsequent patch makes a change to Intel PT also to enable use with autofdo and gives an example of that use. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-25-git-send-email-adrian.hunter@xxxxxxxxx [ Made it use perf_evlist__remove() + perf_evsel__delete() ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 70f3a9caa11665e9f9aace581d85d8483716a4c8 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 28 15:18:33 2015 -0500 usb: dwc3: gadget: remove unnecessary _irqsave() We *know* our threads executes with our IRQs disabled. We really don't need to use the _irqsave() variant of spin_lock(). Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e6e709b7ab89a0d9ec0d803cb2f3b66902145ba0 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 28 15:16:56 2015 -0500 usb: dwc3: gadget: use Update Transfer from Xfer In Progress Instead of limiting __dwc3_gadget_kick_transfer() to Xfer Complete, we can try to issue Update Transfer command from Xfer In Progress too. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6bb4fe12ea089da98b89dc2630d2273d60fe0c29 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 28 14:49:02 2015 -0500 usb: dwc3: gadget: use update transfer command If we get a Xfer Not Ready event with reason "Transfer Active" it means endpoint is still transferring data and we can use that to issue update transfer for this particular endpoint in case we have pending requests in our queue. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 73117308f953afb60a1383725b7d5372feeb2433 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:54 2015 +0300 perf inject: Remove more aux-related stuff when processing instruction traces perf inject can process instruction traces (using the --itrace option) which removes aux-related events and replaces them with the requested synthesized events. However there are still some leftovers, namely PERF_RECORD_ITRACE_START events and the original evsel (selected event) e.g. intel_pt// For the sake of completeness, remove them too. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-24-git-send-email-adrian.hunter@xxxxxxxxx [ Made it use perf_evlist__remove() + perf_evsel__delete() ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4768230ad57d4e4fc6d36c44e98e0062c89b0dc0 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:53 2015 +0300 perf evlist: Add perf_evlist__remove() Add a counterpart to perf_evlist__add() that does the opposite and deletes the evsel. This will be used by perf inject to remove unwanted evsels. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-23-git-send-email-adrian.hunter@xxxxxxxxx [ Renamed it from perf_evlist__del() to perf_evlist__remove() and removed the perf_evsel__delete() call ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dddcf6abbf5946f9ec1183dd2099cede6dbe12fc Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:52 2015 +0300 perf evlist: Add perf_evlist__id2evsel_strict() perf_evlist__id2evsel_strict() is the same as perf_evlist__id2evsel() except that it ensures that the id must match. This will be used by perf inject to find a specific evsel that is to be deleted, hence the need to match exactly. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-22-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3c5b645faee7afbd417f6127694adbd26778a9eb Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:51 2015 +0300 perf script: Make scripting_max_stack value allow for synthesized callchains perf script has a setting to set the maximum stack depth when processing callchains. The setting defaults to the hard-coded maximum definition PERF_MAX_STACK_DEPTH which is 127. It is possible, when processing instruction traces, to synthesize callchains. Synthesized callchains do not have the kernel size limitation and are whatever size the user requests, although validation presently prevents the user requested a value greater that 1024. The default value is 16. To allow for synthesized callchains, make the scripting_max_stack value at least the same size as the synthesized callchain size. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-21-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 44cbe7295c3808977159f500a5bcdebf12a7db5f Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:50 2015 +0300 perf scripting python: Allow for max_stack greater than PERF_MAX_STACK_DEPTH Use the scripting_max_stack value to allow for values greater than PERF_MAX_STACK_DEPTH. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-20-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 03cd1fed2b8730271d3a8dbabd87989abddc33c4 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:49 2015 +0300 perf script: Add a setting for maximum stack depth Add a setting for maximum stack depth in preparation for allowing for synthesized callchains. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-19-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 96b40f3c05f36e061fd4dde920b9e9c795a88b69 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:47 2015 +0300 perf hists: Allow for max_stack greater than PERF_MAX_STACK_DEPTH Use the max_stack value instead of PERF_MAX_STACK_DEPTH so that arbitrary-sized callchains can be supported. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-17-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 188bb5e2ce112463428994f91291e5df6fc05521 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:46 2015 +0300 perf report: Make max_stack value allow for synthesized callchains perf report has an option (--max-stack) to set the maximum stack depth when processing callchains. The option defaults to the hard-coded maximum definition PERF_MAX_STACK_DEPTH which is 127. The intention of the option is to allow the user to reduce the processing time by reducing the amount of the callchain that is processed. It is also possible, when processing instruction traces, to synthesize callchains. Synthesized callchains do not have the kernel size limitation and are whatever size the user requests, although validation presently prevents the user requested a value greater that 1024. The default value is 16. To allow for synthesized callchains, make the max_stack value at least the same size as the synthesized callchain size. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-16-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f14445ee72c59f32aa5cbf4d0f0330a5f62a752d Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:45 2015 +0300 perf intel-pt: Support generating branch stack Add support for generating branch stack context for PT samples. The decoder reports a configurable number of branches as branch context for each sample. Internally it keeps track of them by using a simple sliding window. We also flush the last branch buffer on each sample to avoid overlapping intervals. This is useful for: - Reporting accurate basic block edge frequencies through the perf report branch view - Using with --branch-history to get the wider context of samples - Other users of LBRs Also the Documentation is updated. Examples: Record with Intel PT: perf record -e intel_pt//u ls Branch stacks are used by default if synthesized so: perf report --itrace=ile is the same as: perf report --itrace=ile -b Branch history can be requested also: perf report --itrace=igle --branch-history Based-on-patch-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-15-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 385e33063fb963f5cccb0a37fe539319b6481fa5 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:44 2015 +0300 perf intel-pt: Move branch filter logic intel_pt_synth_branch_sample() skips synthesizing if the branch does not match the branch filter. That logic was sitting in the middle of the function but is more efficiently placed at the start of the function, so move it. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-14-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 051a01b9a2c1c1ef3049973a43d9ed4ddcc946f3 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:43 2015 +0300 perf inject: Set branch stack feature flag when synthesizing branch stacks The branch stack feature flag is set by 'perf record' when recording data that contains branch stacks. Consequently, when 'perf inject' synthesizes branch stacks, the feature flag should be set also. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-13-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f86225db3aa0e394915af45eea1c3cca6f3e2dba Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:42 2015 +0300 perf report: Skip events with null branch stacks A non-synthesized event might not have a branch stack if branch stacks have been synthesized (using itrace options). An example of that is when Intel PT records sched_switch events for decoding purposes. Those sched_switch events do not have branch stacks even though the Intel PT decoder may be synthesizing other events that do due to the itrace options. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-12-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fb9fab66e6e3ee737e521c899684c6d684b24a22 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:41 2015 +0300 perf report: Also do default setup for synthesized branch stacks The 'perf report' tool will default to displaying branch stacks (-b option) if they are present. Make that also happen for synthesized branch stacks. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-11-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c7eced63f2f67bd06ceb2269062416db9d81d29d Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:40 2015 +0300 perf report: Adjust sample type validation for synthesized branch stacks perf report looks at event sample types to determine if branch stacks have been sampled. Adjust the validation to know about instruction tracing options. This change allows the use of the -b option which otherwise would complain with an error like: Error: Selected -b but no branch data. Did you call perf record without -b? # To display the perf.data header info, # please use --header/--header-only options. # Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-10-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 601897b54c7ed492a89b262dccd7c6f7faf12b30 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:39 2015 +0300 perf auxtrace: Add option to synthesize branch stacks on samples Add AUX area tracing option 'l' to synthesize branch stacks on samples just like sample type PERF_SAMPLE_BRANCH_STACK. This is taken into use by Intel PT in a subsequent patch. Based-on-patch-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-9-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 35ca01c117da9b8e5b60204f730cdde414735596 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:38 2015 +0300 perf tools: Add more documentation to export-to-postgresql.py script Add some comments to the script and some 'views' to the created database that better illustrate the database structure and how it can be used. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-8-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a38f48e300f9dac30a9b2d2ce958c8dbd7def351 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:37 2015 +0300 perf session: Warn when AUX data has been lost By default 'perf record' will postprocess the perf.data file to determine build-ids. When that happens, the number of lost perf events is displayed. Make that also happen for AUX events. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-7-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 83e1986032dfcd3f9e9fc0d06e11d9153edae19b Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:36 2015 +0300 perf script: Allow time to be displayed in nanoseconds Add option --ns to display time to 9 decimal places. That is useful in some cases, for example when using Intel PT cycle accurate mode. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-6-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 116f349c5bf8c7aec4047dd6e06c310354b46e4f Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:35 2015 +0300 perf intel-pt: Make logging slightly more efficient Logging is only used for debugging. Use macros to save calling into the functions only to return immediately when logging is not enabled. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9992c2d50a73f442653968a98a9e5f3bf4e769e9 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:34 2015 +0300 perf intel-pt: Fix potential loop forever TSC packets contain only 7 bytes of TSC. The 8th byte is assumed to change so infrequently that its value can be inferred. However the logic must cater for a 7 byte wraparound, which it does by adding 1 to the top byte. The existing code was doing that with a while loop even though the addition should only need to be done once. That logic won't work (will loop forever) if TSC wraps around at the 8th byte. Theoretically that would take at least 10 years, unless something else went wrong. And what else could go wrong. Well, if the chunks of trace data are processed out of order, it will make it look like the 7-byte TSC has gone backwards (i.e. wrapped). If that happens 256 times then stuck in the while loop it will be. Fix that by getting rid of the unnecessary while loop. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d062ac16f53d1a24047bcc9eded5514a71c363b8 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:33 2015 +0300 perf report: Fix sample type validation for synthesized callchains Processing instruction tracing data (e.g. Intel PT) can synthesize callchains e.g. $ perf record -e intel_pt//u uname $ perf report --stdio --itrace=ige However perf report's callgraph option gets extra validation, so: $ perf report --stdio --itrace=ige -gflat Error: Selected -g or --branch-history but no callchain data. Did you call 'perf record' without -g? # To display the perf.data header info, # please use --header/--header-only options. # Fix the validation to know about instruction tracing options so above command works. A side-effect of the change is that the default option to accumulate the callchain of child functions comes into force. To get the previous behaviour the --no-children option can be used e.g. $ perf report --stdio --itrace=ige -gflat --no-children Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8a1a9c9e4503f246b1d4339c5be3485e14c31858 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 21 14:32:00 2015 -0500 usb: dwc3: gadget: start transfer on XFER_COMPLETE if by the time we get to XFER_COMPLETE we have pending requests to be processed, instead of waiting for a following XFER_NOT_READY, let's start the request right away and, maybe, save the time of a few NAKs due to lack of started transfers. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e1791347b5d57d13326cf0114df1a3f3b1c4ca24 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Sep 25 16:15:32 2015 +0300 perf auxtrace: Fix 'instructions' period of zero Instruction tracing options (i.e. --itrace) include an option for sampling instructions at an arbitrary period. e.g. --itrace=i10us means make an 'instructions' sample for every 10us of trace. Currently the logic does not distinguish between a period of zero and no period being specified at all, so it gets treated as the default period which is 100000. That doesn't really make sense. Fix it so that zero period is accepted and treated as meaning "as often as possible". In the case of Intel PT that is the same as a period of 1 and a unit of 'instructions' (i.e. --itrace=i1i). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443186956-18718-2-git-send-email-adrian.hunter@xxxxxxxxx [ Add a few lines describing this in the Documentation/intel-pt.txt file ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7c422f5572667fef0db38d2046ecce69dcf0afc8 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:34:02 2015 +0200 tools build: Build fixdep helper from perf and basic libs Adding the fixdep target into the Makefile.include to ease up building of fixdep helper, that needs to be built before we dive in to the build itself. The user can invoke the fixdep target to build the helper. 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/1443004442-32660-8-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 324c824ade1cad094a21e6177b9aa7977146feeb Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:34:01 2015 +0200 perf tools: Rename the 'single_dep' target to 'prepare' And use the new 'prepare' target for the $(PERF_IN) target. 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/1443004442-32660-7-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9fb81323eb3085b6a47fe81d78541958ae7eaea3 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:34:00 2015 +0200 tools build: Make the fixdep helper part of the build process Making the fixdep helper to be invoked within dep-cmd. Each user of the build framework needs to make sure fixdep exists before executing the build itself. If the build doesn't find fixdep, it falls back to the old style dependency tracking. 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/1443004442-32660-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 275e2d95591e2714d6b541d4e26959381d6b2705 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:33:59 2015 +0200 tools build: Move dependency copy into function So it's easier to add more functionality in the following commit. 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/1443004442-32660-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9f7ef9854e800bc3bab3d9a527e8f8f960eec1a6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:33:58 2015 +0200 tools build: Add fixdep dependency helper For dependency tracking we currently use targets that fall out of the gcc -MD command. We store this info in the .cmd file and include as makefile during the build. This format put object as target and all the c and header files as dependencies, like: util/abspath.o: util/abspath.c /usr/include/stdc-predef.h util/cache.h \ /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \ ... If any of those dependency header files (krava.h below) is removed the build fails on: make[1]: *** No rule to make target 'krava.h', needed by 'inc.o'. Stop. This patch adds fixdep helper, that is used by kbuild to alter the shape of the object dependencies like: source_util/abspath.o := util/abspath.c deps_util/abspath.o := \ /usr/include/stdc-predef.h \ util/cache.h \ ... util/abspath.o: $(deps_util/abspath.o) $(deps_util/abspath.o): With this format the header removal won't make the build fail, because it'll be picked up by the last empty target defined for each header. As previously mentioned the fixdep tool is taken from kbuild. It's not complete backport, only the part that alters the standard dependency info was taken, the part that adds the CONFIG_* dependency logic will be probably taken later on. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Kai Germaschewski <kai.germaschewski@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1443004442-32660-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c00c3fb4e4a6ff714b7ad864f58e0fb33b3534c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:33:57 2015 +0200 tools build: Add test for missing include The current build framework fails to cope with header file removal. The reason is that the removed header file stays in the .cmd file target rule and forces the build to fail. This issue is fixed and explained in the following patches. Adding a new build test that simulates header removal. 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/1443004442-32660-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ab6201d09b1840c7ffcd6606c1d3dae68b8b3048 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 23 12:33:56 2015 +0200 tools build: Add Makefile.include To ease up build framework code setup for users. More shared code will be added in the 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/1443004442-32660-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc240c5dc2a02e335c5bcb50ad3a1274818c8609 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Sep 19 16:47:07 2015 +0200 tools lib api fs: Store tracing mountpoint for better error message Storing the actual tracing path mountpoint to display correct error message hint ('Hint:' line). The error hint rediscovers mountpoints, but it could be different from what we actually used in tracing path. Before we'd display debugfs mount even though tracefs was used: $ perf record -e sched:sched_krava ls event syntax error: 'sched:sched_krava' \___ can't access trace events Error: No permissions to read /sys/kernel/debug/tracing/events/sched/sched_krava Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug' ... After this change, correct mountpoint is displayed: $ perf record -e sched:sched_krava ls event syntax error: 'sched:sched_krava' \___ can't access trace events Error: No permissions to read /sys/kernel/debug/tracing/events/sched/sched_krava Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing' ... Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Link: http://lkml.kernel.org/r/1442674027-19427-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ab9c2bdc8947482057b81258c0128952763661cb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 23 15:45:20 2015 -0300 perf tools: Use __map__is_kernel() when synthesizing kernel module mmap records Equivalent and removes one more case of using dso->kernel. # perf record -a usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.768 MB perf.data (30 samples) ] Before: [root@zoo ~]# perf script --show-task --show-mmap | head -3 swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffff81000000(0x1f000000) @ 0xffffffff81000000]: x [kernel.kallsyms]_text swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffffa0000000(0xa000) @ 0]: x /lib/modules/4.3.0-rc1+/kernel/drivers/acpi/video.ko swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffffa000a000(0x5000) @ 0]: x /lib/modules/4.3.0-rc1+/kernel/drivers/i2c/algos/i2c-algo-bit.ko # # perf script --show-task --show-mmap | head -3 swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffff81000000(0x1f000000) @ 0xffffffff81000000]: x [kernel.kallsyms]_text swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffffa0000000(0xa000) @ 0]: x /lib/modules/4.3.0-rc1+/kernel/drivers/acpi/video.ko swapper 0 [0] 0.0: PERF_RECORD_MMAP -1/0: [0xffffffffa000a000(0x5000) @ 0]: x /lib/modules/4.3.0-rc1+/kernel/drivers/i2c/algos/i2c-algo-bit.ko # 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-b65xe578dwq22mzmmj5y94wr@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 045b80dd03403b8e61a29460987c231317ebfbd4 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 23 15:38:55 2015 -0300 perf hists browser: Use the map to determine if a DSO is being used as a kernel The map is what should say if an ELF (or some other format) image is being used for some particular purpose, as a kernel, host or guest. 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-zufousvfar0710p4qj71c32d@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cfc5acd4c80b875d2f739d6a93562034aee5563f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 23 15:15:54 2015 -0300 perf top: Filter symbols based on __map__is_kernel(map) Instead of using dso->kernel, this is equivalent at the moment, and helps in reducing the accesses to dso->kernel. 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: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-1pc2v63iphtifovw3bv0bo1v@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9b1cf1e44d91e80b17a315d04193b1764ca82a15 Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Fri Sep 25 10:54:08 2015 -0500 power: bq24257: Streamline input current limit setup The maximum amount of input current the charger should draw is dependent on the power supply and should only be (re-)configured when the power supply gets connected and disconnected. However the driver was also lowering the bq24257's input current limit setting to 500mA when the battery was removed and restored the previous setting according to the power supply capabilities when the battery was reconnected although these events are not impacting the amount of power that can be drawn from the supply. Furthermore, a re-configuration of the input current limit to 500mA when the battery gets disconnected is actually dangerous if the limit was set higher previously and the system draws more than 500mA in which case the system voltage would be reduced in order to maintain 500mA which could result in the system getting too low of a supply to maintain operation. Last but not least the mechanism itself used for battery re-connection detection did not work in corner cases such as when the device's input current loop becomes active and the bq24257 device clears its battery fault error resulting in incorrectly reporting that the battery got reconnected. This patches removes the impact the battery removal/insertion has on the input current limit configured for the bq24257 and simplifies the associated handler routine. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5ff8c89d112cbeb5776d5ba40a224b70f67e41bb Author: Andreas Dannenberg <dannenberg@xxxxxx> Date: Fri Sep 25 10:54:07 2015 -0500 power: bq24257: Remove IRQ config through stat-gpios At the time the driver was written GpioInt resources in ACPI were not passed to the driver in client->irq, as opposed to DT enumeration. To accommodate this use case, a "stat-gpios" property was introduced to allow configuring the IRQ. However this issue with ACPI was fixed in commit "845c877 i2c / ACPI: Assign IRQ for devices that have GpioInt automatically" and makes this workaround no longer necessary, hence we can remove the support for the "stat-gpios" property and the associated code from the bq24257 driver. Signed-off-by: Andreas Dannenberg <dannenberg@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9903b6bedd389a033a3da0308f220571c7f68e7a Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 28 10:45:47 2015 -0500 usb: gadget: pch-udc: fix lock gadget methods should be called without spinlocks held. Reported-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2edd69a81dd4e8068bb512ffcc3959c77fc182ea Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 28 10:51:27 2015 +0200 power: bq27xxx_battery: fix signedness bug in bq27xxx_battery_read_health() We need flags to be signed for the error handling to work. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Fixes: 74aab849f342 ('power: bq27xxx_battery: Cleanup health checking') Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-By: Pali Rohár <pali.rohar@xxxxxxxxx> Acked-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d0c9c93019e9b61f21ac22a5c23749873adc0038 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 24 13:59:27 2015 -0600 EDAC: Don't allow empty DIMM labels Updating dimm_label to an empty string does not make much sense. Change the sysfs dimm_label store operation to fail a request when an input string is empty. Suggested-by: Borislav Petkov <bp@xxxxxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: elliott@xxxxxxx Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1443124767.25474.172.camel@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit ef92480a58c3b4dac5eccbc787131a51a3b0a45c Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Sep 28 10:16:12 2015 -0400 tracing: Turn seq_print_user_ip() into a static function seq_print_user_ip() is used in only one location in one file. Turn it into a static function. We could inject its code into the caller, but that would make the code a bit too complex. Keep the code separate. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 6b1032d53cdbda39ad56c8692bac17a66475b57d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Sep 28 10:11:44 2015 -0400 tracing: Inject seq_print_userip_objs() into its only user seq_print_userip_objs() is used only in one location, in one file. Instead of having it as an external function, go one further than making it static, but inject is code into its only user. It doesn't make the calling function much more complex. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ca475e831fd59e131bccd60de43c4104d82d02f5 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Mon Sep 28 09:41:11 2015 -0400 tracing: Make ftrace_trace_stack() static ftrace_trace_stack() is not called outside of trace.c. Make it a static function. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit e87359efcaf45efc41dbaa6ec25eb26705300cee Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 28 13:06:20 2015 +0300 ALSA: usb-audio: harmless underflow in snd_audigy2nx_led_put() We want to verify that "value" is either zero or one, so we test if it is greater than one. Unfortunately, this is a signed int so it could also be negative. I think this is harmless but it introduces a static checker warning. Let's make "value" unsigned. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 868e87ccda2461cafd4a0d39f1486eb8f4a9a6f9 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Sep 28 10:31:50 2015 +0100 ARM: make RiscPC depend on MMU RiscPC fails to build if MMU is disabled: arch/arm/mach-rpc/ecard.c: In function 'ecard_init_pgtables': arch/arm/mach-rpc/ecard.c:229:2: error: implicit declaration of function 'pgd_offset' [-Werror=implicit-function-declaration] arrange for RiscPC to depend on MMU. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit a913718812d5998b3af2b6d6b5f0be4a09caebb1 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Mon Sep 28 08:03:24 2015 +0000 Bluetooth: hci_qca: Changed unsigned long to bool 'retransmit' being set in HCI_IBS_TX_WAKING case, using bool would be efficient. Initialize local bool to false. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8def31034d033961a4e1f34a80f317fd7002faee Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Mar 30 10:59:52 2015 +0100 cpufreq: arm_big_little: add SCPI interface driver On some ARM based systems, a separate Cortex-M based System Control Processor(SCP) provides the overall power, clock, reset and system control including CPU DVFS. SCPI Message Protocol is used to communicate with the SCPI. This patch adds a interface driver for adding OPPs and registering the arm_big_little cpufreq driver for such systems. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx commit 9490f01e247169a93262054074409ad73d71c4da Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Mar 30 10:59:52 2015 +0100 clk: scpi: add support for cpufreq virtual device The clocks for the CPUs are provided by SCP and are managed by this clock driver. So the cpufreq device needs to be added only after the clock get registered and removed when this driver is unloaded. This patch manages the cpufreq virtual device based on the clock availability. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxxxx> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> Cc: linux-clk@xxxxxxxxxxxxxxx commit cd52c2a4b5c43631e429d06dce12e08b0cab477f Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Mar 30 10:59:52 2015 +0100 clk: add support for clocks provided by SCP(System Control Processor) On some ARM based systems, a separate Cortex-M based System Control Processor(SCP) provides the overall power, clock, reset and system control. System Control and Power Interface(SCPI) Message Protocol is defined for the communication between the Application Cores(AP) and the SCP. This patch adds support for the clocks provided by SCP using SCPI protocol. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxxxx> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> Cc: linux-clk@xxxxxxxxxxxxxxx commit 8cb7cf56c9fe5412de238465b27ef35b4d2801aa Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Mar 30 10:59:52 2015 +0100 firmware: add support for ARM System Control and Power Interface(SCPI) protocol This patch adds support for System Control and Power Interface (SCPI) Message Protocol used between the Application Cores(AP) and the System Control Processor(SCP). The MHU peripheral provides a mechanism for inter-processor communication between SCP's M3 processor and AP. SCP offers control and management of the core/cluster power states, various power domain DVFS including the core/cluster, certain system clocks configuration, thermal sensors and many others. This protocol driver provides interface for all the client drivers using SCPI to make use of the features offered by the SCP. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Reviewed-by: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> Cc: Jassi Brar <jassisinghbrar@xxxxxxxxx> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> commit 80f390ea5afdf7073bba0757b1eeb8d4f833398f Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Thu May 14 11:26:11 2015 +0100 Documentation: add DT binding for ARM System Control and Power Interface(SCPI) protocol This patch adds devicetree binding for System Control and Power Interface (SCPI) Message Protocol used between the Application Cores(AP) and the System Control Processor(SCP). The MHU peripheral provides a mechanism for inter-processor communication between SCP's M3 processor and AP. SCP offers control and management of the core/cluster power states, various power domain DVFS including the core/cluster, certain system clocks configuration, thermal sensors and many others. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> CC: Jassi Brar <jassisinghbrar@xxxxxxxxx> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Jon Medhurst (Tixy) <tixy@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx commit b7631a12e726597cffde1b29cc3bcf811981c1fb Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 28 12:19:08 2015 +0200 ALSA: hda - Fix typos in snd_hdac_regmap_*() documents Fixes the wrong reference names to regmap amp functions. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9f06c5309a140eab80a4289f08c35c2496c4d1d3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Sep 24 17:23:54 2015 +0200 ARM: dts: sun8i: Make ippo-q8h-v1.2.dts a symlink to q8-tablet.dts A33 Q8 tablets with the ippo-q8h-v1.2 pcb will work fine with the generic q8-tablet.dts and given the many variants of PCBs found in Q8 tablets using such a specific dts name was a mistake in hindsight. We cannot just drop the ippo-q8h-v1.2.dtb as existing u-boot configs may very well point to it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit beff1084f1cab155feb3551d72d41ce48af4ae79 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Sep 24 17:23:53 2015 +0200 ARM: dts: sun8i: Add sun8i-a33-q8-tablet.dts file This is a generic dts file for A33 based q8 formfactor tablets, this is intended to replace both sun8i-a33-ippo-q8h-v1.2.dts and sun8i-a33-et-q8-v1.6.dts (these can be fully dropped after a transition period). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6e06780a98f149f131d46c1108d4ae27f05a9357 Author: Ashok Raj <ashok.raj@xxxxxxxxx> Date: Mon Sep 28 09:21:43 2015 +0200 x86/mce: Don't clear shared banks on Intel when offlining CPUs It is not safe to clear global MCi_CTL banks during CPU offline or suspend/resume operations. These MSRs are either thread-scoped (meaning private to a thread), or core-scoped (private to threads in that core only), or with a socket scope: visible and controllable from all threads in the socket. When we offline a single CPU, clearing those MCi_CTL bits will stop signaling for all the shared, i.e., socket-wide resources, such as LLC, iMC, etc. In addition, it might be possible to compromise the integrity of an Intel Secure Guard eXtentions (SGX) system if the attacker has control of the host system and is able to inject errors which would be otherwise ignored when MCi_CTL bits are cleared. Hence on SGX enabled systems, if MCi_CTL is cleared, SGX gets disabled. Tested-by: Serge Ayoun <serge.ayoun@xxxxxxxxx> Signed-off-by: Ashok Raj <ashok.raj@xxxxxxxxx> [ Cleanup text. ] Signed-off-by: Borislav Petkov <bp@xxxxxxx> Reviewed-by: Tony Luck <tony.luck@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> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441391390-16985-1-git-send-email-ashok.raj@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d44975d1e2791f6df2b84b182f49d815ba3c9e0 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Sat Sep 26 14:47:17 2015 +0200 x86/kgdb: Replace bool_int_array[NR_CPUS] with bitmap Straigntforward conversion from: int was_in_debug_nmi[NR_CPUS] to: DECLARE_BITMAP(was_in_debug_nmi, NR_CPUS) Saves about 2 kbytes in BSS for NR_CPUS=512. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443271638-2568-1-git-send-email-dvlasenk@xxxxxxxxxx [ Tidied up the code a bit. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b479bfd00e463034a73a9894d4f6d87988cbc559 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Mon Sep 28 01:09:52 2015 +0100 DocBook: Use a fixed encoding for output Currently the encoding of documents generated by DocBook depends on the current locale. Make the output reproducible independently of the locale, by setting the encoding to UTF-8 (LC_CTYPE=C.UTF-8) by preference, or ASCII (LC_CTYPE=C) as a fallback. LC_CTYPE can normally be overridden by LC_ALL, but the top-level Makefile unsets that. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> [jc: added check-lc_ctype to .gitignore] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 40a4a5727f21a0e439d317aa99953e24467605eb Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 28 08:35:34 2015 +0200 drm/i915: Update DRIVER_DATE to 20150928 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 18ab2cd3ee9d52dc64c5ae984146a261a328c4e8 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Sun Sep 27 23:25:50 2015 +0800 perf/core, perf/x86: Change needlessly global functions and a variable to static Fixes various sparse warnings. Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/70c14234da1bed6e3e67b9c419e2d5e376ab4f32.1443367286.git.geliangtang@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6afc0c269c3d20cde05515b00ede00e91fee0be5 Merge: 968d712 097f70b Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Sep 28 08:06:57 2015 +0200 Merge branch 'linus' into perf/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 34c2d9fb0498c066afbe610b15e18995fd8be792 Author: Ian Wilson <iwilson@xxxxxxxxxxx> Date: Thu Sep 24 11:20:11 2015 -0700 bridge: Allow forward delay to be cfgd when STP enabled Allow bridge forward delay to be configured when Spanning Tree is enabled. Signed-off-by: Ian Wilson <iwilson@xxxxxxxxxxx> Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09bb431951f7d339bf5ef7179ae807e519928121 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Sep 12 10:22:55 2015 -0700 ARM: dts: set up trigger type for edt-ft5x06 interrupts Now that the driver respects IRQ trigger settings from device tree, let's fix them up in individual DTSes (note that the driver is still compatible with older DTSes). Acked-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit f0bef75c593391198f2c9f855aae8e994a0e9293 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Sep 12 10:11:09 2015 -0700 Input: edt-ft5x06 - do not hardcode interrupt trigger type Instead of hardcoding IRQ trigger type to IRQF_TRIGGER_FALLING, let's respect settings specified in device tree. To be compatible with older DTSes, if trigger type is not set up in DTS we'll set it to default (falling edge). Tested-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 2e23b7a96372f855d4a006e82b183915e249e2ac Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Sep 12 09:54:15 2015 -0700 Input: edt-ft5x06 - use generic properties API Instead of only parsing device tree properties let's switch to using generic properties API so that the driver can also work on other platforms. Tested-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 22ddbacc4bb54ef8577c46114227c06c31e3c47d Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Sep 12 09:37:03 2015 -0700 Input: edt-ft5x06 - remove support for platform data We do not have any users of platform data in the tree and all newer platforms are either DT or ACPI, so let's drop handling of platform data. Tested-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 079128eba8075daff59390c14ce2d2a2e9a1f3a1 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Sep 12 09:17:47 2015 -0700 Input: edt-ft5x06 - drop parsing of irq gpio The driver does not use irq gpio as gpio, but rather relies on I2C core or board code to set up client's structure IRQ line, so let's stop trying to locate the resource and parse it. Tested-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 13c23cd18bd12ddbf00beddd136e3cd33b4f2dfa Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Fri Sep 11 17:30:34 2015 -0700 Input: edt-ft5x06 - switch to newer gpio framework The current/old gpio framework used doesn't properly listen to ACTIVE_LOW and ACTIVE_HIGH flags. The newer gpio framework takes into account these flags when setting gpio values. Since the values being output were based on voltage and not logic they change to reflect this difference. Also use gpiod_set_value_cansleep since wake and reset pins can be provided by bus based io expanders. Switch from msleep(5) to udelay_range(5000,6000) to avoid check patch warning. Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 8f5ba31aa565c4efe11cca2b37acbb35c4f143f2 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Sep 6 15:12:47 2015 +0200 mtd: nand: pxa3xx-nand: switch to dmaengine Now pxa architecture has a dmaengine driver, remove the access to direct dma registers in favor of the more generic dmaengine code. This should be also applicable for mmp and orion, provided they work in device-tree environment. This patch also removes the previous hack which was necessary to make the driver work in a devicetree environment. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Reviewed-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> [Brian: fixup use of 'enum dma_transfer_direction'] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5913f5595e4fba648fd89afe85ad3c6dee0e7ec2 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Wed May 27 00:04:20 2015 +0200 ARM: dts: lpc18xx: add dmamux node Add node for the DMA multiplexer placed in front of the PL080 DMA controller on lpc18xx/43xx devices. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 5924007c7ec807c2dd478ada8db10df6ca519373 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Tue May 26 20:59:32 2015 +0200 ARM: dts: lpc18xx: add dmac node Add the ARM PL080 DMA controller node to the dtsi for all lpc18xx/43xx devices. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 4f85dd16a52de59f6676bd55db309643c89b8704 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Thu Apr 2 06:16:33 2015 +0200 ARM: dts: lpc18xx: add spifi node Add the NXP LPC1773 SPIFI (SPI Flash Interface) flash controller node to the dtsi for all lpc18xx/43xx devices. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 0745c70260dbd763e93230acce92c6be43ba4a55 Author: Joachim Eastwood <manabian@xxxxxxxxx> Date: Sun Sep 27 22:28:38 2015 +0200 ARM: dts: lpc18xx: add rgu node Add the NXP LPC1850 RGU (Reset Generation Unit) reset controller node to the dtsi for all lpc18xx/43xx devices. Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx> commit c566f365434e732986d7904e29c8122dfcb1e333 Merge: b05b7c7 9ffecb1 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 27 12:44:02 2015 -0700 Merge 4.3-rc3 into char-misc-next We want those fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9caeb06ebd4687bc40a67d94facabb2d31c702ce Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 11:14:36 2015 +0300 usb: dwc3: pci: passing forward the ACPI companion Sharing the ACPI companion with dwc3 core so it has access to the properties defined for DWC3 in ACPI tables. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3d128919b7e514f0e489ab863c572a1e7032276a Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 11:14:35 2015 +0300 usb: dwc3: core: convert to unified device property interface No functional affect on existing platforms, but the driver is now ready to extract the properties also from ACPI tables as well as from DT. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 06e7114f0d8297278eb24f4e9bee3393a94bd8ce Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 11:14:34 2015 +0300 usb: common: of_usb_get_dr_mode to usb_get_dr_mode By using the unified device property interface, the function can be made available for all platforms and not just the ones using DT. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 666472733b8ce20716037c0d866395db54aa8c1d Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 11:14:33 2015 +0300 usb: dwc3: st: prepare the driver for generic usb_get_dr_mode function of_usb_get_dr_mode will be converted into more generic usb_get_dr_mode function that will take struct device instead of struct device_node as its parameter. To make the conversion possible later, waiting for the platform device for dwc3 to be populated before calling of_usb_get_dr_mode. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> CC: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> CC: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 63863b988eeca2823ce76b28b104e0b8366cafec Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Mon Sep 21 11:14:32 2015 +0300 usb: common: of_usb_get_maximum_speed to usb_get_maximum_speed By using the unified device property interface, the function can be made available for all platforms and not just the ones using DT. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 58efd4b06df4a421652cb2c8a850a9697a37915c Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 22 15:31:34 2015 +0800 usb: phy: change some comments - Replace all "transceiver" with "phy" - Replace one "OTG controller" with "phy" Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5cd22f80bc0c10e3005dad5e2903504b431bbe0e Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:11:04 2015 +0200 usb: gadget: legacy: tcm: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of tcm, ep->driver_data was used only for endpoint claiming so we can simplify code by reducing it. We also remove give_back_ep() function which is not needed after all - when error code is returned from bind() function, composite will release all endpoints anyway. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4ce86bfaa62f7f044701b796f1ee84e80308457f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:11:03 2015 +0200 usb: gadget: legacy: dbgp: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of dbgp, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 18411c0f94716ec225a4f7e1d7735c80f5ec0dab Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:11:02 2015 +0200 usb: gadget: u_serial: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of u_serial ep->driver_data stores pointer to struct gs_port, which is referenced in many places in code. Code using ep->driver_data to mark endpoint as enabled/disabled has been removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6e4bfc54083b2b0eff45ad2001f2a3bee9074dcc Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:11:01 2015 +0200 usb: gadget: u_ether: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of u_ether we only need to store in ep->driver_data pointer to struct eth_dev, as it's used in rx_complete() and tx_complete() callbacks. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d62bf8c16570eb44e2ea3fc5c1f6a8ab83e52778 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:11:00 2015 +0200 usb: gadget: f_uvc: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_uvc, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 887d8206c5c50f06241688f3ab807e1e2568f5c6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:59 2015 +0200 usb: gadget: f_uac2: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_uac2, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6ae6e1a241c1d7a5c5800d035d195a66911d96f1 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:58 2015 +0200 usb: gadget: f_uac1: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_uac1, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bb38c18adb872714d5b27b0fe2d87c6489cb6275 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:57 2015 +0200 usb: gadget: f_subset: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_subset, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit dbd2badfa6b40de6baf81b7c1911794cdb4c1c90 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:56 2015 +0200 usb: gadget: f_sourcesink: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_sourcesink we only need to store in ep->driver_data pointer to struct f_sourcesink, as it's used in source_sink_complete() callback. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 885d22eb84a5f634e3776676e5d42f9931899d06 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:55 2015 +0200 usb: gadget: f_serial: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_serial, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bbc474f7882b815e616a57adcc49c977ad53fb7f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:54 2015 +0200 usb: gadget: f_rndis: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_rndis, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ce21a9894208bf6fc3444837bb286f876d675205 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:53 2015 +0200 usb: gadget: f_printer: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_printer we only need to store in ep->driver_data pointer to struct printer_dev, as it's used in rx_complete() and tx_complete() callbacks. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 101382ffb3838d68bf6d6d675c66a2f84ed3cb90 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:52 2015 +0200 usb: gadget: f_phonet: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_phonet we only need to store in ep->driver_data pointer to struct f_phonet, as it's used in pn_tx_complete() and pn_rx_complete() callbacks. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d277e1a30305bbef4ce38477771dc1594dc1e8fb Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:51 2015 +0200 usb: gadget: f_obex: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_obex, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6b4012a2e4d4702f8fb0ee1db1c0f0b17ab7d41b Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:50 2015 +0200 usb: gadget: f_ncm: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_ncm, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ce723951a5093a47b312d828c2b975c4cf3d5a5b Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:49 2015 +0200 usb: gadget: f_midi: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_midi we only need to store in ep->driver_data pointer to struct f_midi, as it's used in f_midi_complete() callback and related functions. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1cecd54f327fdddbeefa15126f2f58b26b6c39e2 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:48 2015 +0200 usb: gadget: f_mass_storage: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_mass_storage we only need to store in ep->driver_data pointer to struct fsg_common, which is used in bulk_in_complete() and bulk_out_complete() callbacks. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0523ca4e485f9273975103c5fe2397b2a8abfae8 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:47 2015 +0200 usb: gadget: f_loopback: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_hid we only need to store in ep->driver_data pointer to struct f_loopback, as it's used in loopback_complete() callback. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2516a680c4202aa587858e94ce7b721dfb9363a3 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:46 2015 +0200 usb: gadget: f_hid: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_hid we only need to store in ep->driver_data pointer to struct f_hidg, as it's used in f_hidg_req_complete() callback. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 34422a5e5a884c8680ce9144cf270ae08b1472be Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:45 2015 +0200 usb: gadget: f_eem: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_ecm, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4aab757ca44ad8f9d629c4bf5a513e94cff9aeb1 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:44 2015 +0200 usb: gadget: f_acm: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_acm we only need to store in ep->driver_data pointer to struct f_acm, as it's used in acm_complete_set_line_coding() callback. All other uses of ep->driver_data are now meaningless and can be safely removed. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 92fbfc3884733a4deae313169ef4eca20c0e6e72 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:43 2015 +0200 usb: gadget: f_ecm: eliminate abuse of ep->driver data Since ep->driver_data is not used for endpoint claiming, neither for enabled/disabled state storing, we can reduce number of places where we read or modify it's value, as now it has no particular meaning for function or framework logic. In case of f_ecm, ep->driver_data was used only for endpoint claiming and marking endpoints as enabled, so we can simplify code by reducing it. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b0bac2581c1918cc4ab0aca01977ad69f0bc127a Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:42 2015 +0200 usb: gadget: introduce 'enabled' flag in struct usb_ep This patch introduces 'enabled' flag in struct usb_ep, and modifies usb_ep_enable() and usb_ep_disable() functions to encapsulate endpoint enabled/disabled state. It helps to avoid enabling endpoints which are already enabled, and disabling endpoints which are already disables. From now USB functions don't have to remember current endpoint enable/disable state, as this state is now handled automatically which makes this API less bug-prone. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b67f628c84329a9ce82dbff5fde196dc4624e7c2 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:41 2015 +0200 usb: gadget: epautoconf: add usb_ep_autoconfig_release() function This patch introduces usb_ep_autoconfig_release() function which allows to release endpoint previously obtained from usb_ep_autoconfig() during USB function bind. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 35bfde36872607b1de87288f9798af79820a910f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:40 2015 +0200 usb: gadget: f_ncm: obtain cdev from function instead of driver_data The 'driver_data' field in ep0 is never set to pointer to cdev, so we have to obtain it from another source as in this context ep->driver_data contains invalid data. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f871cb9b2e178667a351a6fae9d930826ec10e95 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Wed Sep 16 12:10:39 2015 +0200 usb: gadget: fix few outdated comments Fix comments in code to make them up to date. composite: claiming endpoint is now done by setting ep->claimed flag, not ep->driver_data. epautoconf: usb_ep_autoconfig() and usb_ep_autoconfig_ss() return claimed endpoint with ep->claimed flag already set. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 04c4d8d4d556256ca8131dd780427e2fbfbd0270 Author: WEN Pingbo <pingbo.wen@xxxxxxxxxx> Date: Fri Sep 18 10:51:26 2015 +0800 usb: gadget: dummy_hcd: replace timeval with timespec64 The millisecond of the last second will be normal if tv_sec is overflowed. But for y2038 consistency and demonstration purpose, and avoiding further risks, we need to remove 'timeval' in this driver, to avoid similair problems. Signed-off-by: Pingbo Wen <pingbo.wen@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6344475f53977d329ec50f49805fd4ab83df4011 Author: Sekhar Nori <nsekhar@xxxxxx> Date: Mon Aug 31 21:09:08 2015 +0530 usb: dwc3: support for pinctrl state change during system sleep Add support for USB DRVVBUS pinctrl state change during suspend/resume. This helps is conserving power during system sleep. Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9e44d194b90b2d9e6e26cd0381db856fa7cd7e19 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:48:04 2015 +0800 tools: usb: testusb: change the default value for length from 512 to 1024 For ctrl out test, it needs length > vary, so in order to run it with default parameters, we do this change. Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0f286379ed72cfc2f9e9a4fd52e79b92d4edaa01 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:48:03 2015 +0800 tools: usb: testusb: change the help text The 'length' is the transfer length, not the packet size, so change the help text. Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 046839098c34f0ade17b7060e7385bd581151b3b Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:48:02 2015 +0800 usb: gadget: f_sourcesink: format data pattern according to max packet size Since the host and gadget can't agree with transfer length before each transfer, but they agree with max packet size for each endpoint, we use max packet size to format data pattern. Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9a6e8e1001e28fecbd74c073f5503dac2790563 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 09:48:01 2015 +0800 usb: misc: usbtest: format the data pattern according to max packet size With this change, the host and gadget doesn't need to agree with transfer length for comparing the data, since they doesn't know each other's transfer size, but know max packet size. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> (Fixed the 'line over 80 characters warning' by Peter Chen) Tested-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 169900f96792c11a5435773dd379046bc8036704 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:48:00 2015 +0800 usb: misc: usbtest: using the same data format among write/compare/output Using the same data format "buf[j] = (u8)(i + j)" among write, compare buf, and console output stage. Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a724ddfb17e0519d2c2b6e09a96b1b94eff6b801 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:47:59 2015 +0800 usb: misc: usbtest: delete useless memset for urbs array The element of urbs array will be initialized at below code at once. for (i = 0; i < param->sglen; i++) { urbs[i] = iso_alloc_urb(udev, pipe, desc, param->length, offset); Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 41d3c0b84d6e084865c429b1b6825256c0169319 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 1 09:47:58 2015 +0800 usb: misc: usbtest: allocate size of urb array according to user parameter Allocate the size of urb pointer array according to testusb's parameter sglen, and limits the length of sglen as MAX_SGLEN (128 currently). Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 95c8bc3609440af5e4a4f760b8680caea7424396 Author: Antti Seppälä <a.seppala@xxxxxxxxx> Date: Thu Aug 20 21:41:07 2015 +0300 usb: dwc2: Use platform endianness when accessing registers This patch switches calls to readl/writel to their dwc2_readl/dwc2_writel equivalents which preserve platform endianness. This patch is necessary to access dwc2 registers correctly on big-endian systems such as the mips based SoCs made by Lantiq. Then dwc2 can be used to replace ifx-hcd driver for Lantiq platforms found e.g. in OpenWrt. The patch was autogenerated with the following commands: $EDITOR core.h sed -i "s/\<readl\>/dwc2_readl/g" *.c hcd.h hw.h sed -i "s/\<writel\>/dwc2_writel/g" *.c hcd.h hw.h Some files were then hand-edited to fix checkpatch.pl warnings about too long lines. Signed-off-by: Antti Seppälä <a.seppala@xxxxxxxxx> Signed-off-by: Vincent Pelletier <plr.vincent@xxxxxxxxx> Signed-off-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bba787a860fa8c7b4ab3cefbfcb2b214b2aed30c Author: Mike Looijmans <mike.looijmans@xxxxxxxx> Date: Wed Aug 5 08:54:55 2015 +0200 usb: gadget: ether: Allow jumbo frames USB network adapters support Jumbo frames. The only thing blocking that feature is the code in the gadget driver that disposes of packets larger than 1518 bytes, and the limit on the ioctl to set the mtu. This patch relaxes these limits, and allows up to 15k frames sizes. The 15k value was chosen because 16k does not work on all platforms, and usingclose to 16k will result in allocating 5 or 8 4k pages to store the skb, wasting pages at no measurable performance gain. On a topic-miami board (Zynq-7000), iperf3 performance reports: MTU= 1500, PC-to-gadget: 139 Mbps, Gadget-to-PC: 116 Mbps MTU=15000, PC-to-gadget: 239 Mbps, Gadget-to-PC: 361 Mbps On boards with slower CPUs the performance improvement will be relatively much larger, e.g. an OMAP-L138 increased from 40 to 220 Mbps using a similar patch on an 2.6.37 kernel. Signed-off-by: Mike Looijmans <mike.looijmans@xxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 428163d703712d11cacfddaf30f40b18ccc50042 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:46:19 2015 +0200 usb: gadget: at91_udc: move at91_udc_data in at91_udc.h struct at91_udc_data is now only used inside the driver, move it to its include. Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1f91b4cc03556ba0d43ac80621dac8263cda3880 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Aug 6 18:11:54 2015 -0500 usb: dwc2: rename all s3c_* to dwc2_* this driver has long ago became dwc2.ko with both peripheral and host roles, there's no point in keeping the old function names. Acked-by: John Youn <johnyoun@xxxxxxxxxxxx> Tested-by: John Youn <johnyoun@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit db2be4e9e30c6e43e48c5749d3fc74cee0a6bbb3 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Fri Sep 4 10:15:58 2015 +0530 usb: dwc3: Add frame length adjustment quirk Add adjust_frame_length_quirk for writing to fladj register which adjusts (micro)frame length to value provided by "snps,quirk-frame-length-adjustment" property thus avoiding USB 2.0 devices to time-out over a longer run Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3737c54418c35034127bf2837e9b27a3c3c67940 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Fri Sep 4 10:14:54 2015 +0530 Documentation: dt: dwc3: Add snps,quirk-frame-length-adjustment property Add snps,quirk-frame-length-adjustment property which provides value for post silicon frame length adjustment Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7ed855e65b4f9ecd8658ddda5d50d0e7399419f3 Author: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Date: Mon Sep 7 14:24:36 2015 +0300 usb: phy: qcom: Switch to new extcon framework API [un]register_interest and reading cable state by name have been deprecated. Switch to new API. Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 41932b9b8adc14b5650e8909f66d5bd08619b81c Author: Bin Liu <b-liu@xxxxxx> Date: Wed Sep 9 11:56:18 2015 -0500 usb: musb: dsps: control musb speed based on dts setting Set musb config->maximum_speed based on the dts setting to control musb speed. By default musb works in high-speed mode. Adding maximum-speed = "full-speed"; to dts usb node will force musb to full-speed mode. Signed-off-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 9b7537642cb6ad400ee4a95114582ba758b3009c Author: Bin Liu <b-liu@xxxxxx> Date: Wed Sep 9 13:17:23 2015 -0500 usb: musb: set the controller speed based on the config setting Set the Power register HSENAB bit based on musb->config->maximum_speed, so that the glue layer can control MUSB to work in high- or full-speed. Signed-off-by: Bin Liu <b-liu@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f35fe4beb03d4e3203a2bd734d2253060694d98f Author: Felipe F. Tonello <eu@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 18:36:28 2015 +0100 usb: gadget: f_midi: check for error on usb_ep_queue f_midi is not checking whether there is an error on usb_ep_queue request, ignoring potential problems, such as memory leaks. Signed-off-by: Felipe F. Tonello <eu@xxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2e6c72b61b9a0a7787e8cfa3fff3b34a0c2548ce Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 15 09:39:45 2015 -0500 usb: gadget: mass_storage: allow for deeper queue lengths Instead of allowing a range of 2 to 4 requests, let's allow the user choose up to 32 requests as that will give us a better chance of keeping controller busy. We still maintain default of 2 so users shouldn't be affected. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a8f32817eeb0ada6367d812de5cd2ee91a532a48 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Sep 16 10:40:07 2015 -0500 usb: dwc3: gadget: improve ep_queue's error reporting We shouldn't return -EBUSY, that's used only internally when the core still has transfers in flight on a given endpoint. Also, combine the error reporting so that we don't have to duplicate it. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 89185916d2295f7c4bc3a05adae25380b3e08e58 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 15 09:49:14 2015 -0500 usb: dwc3: gadget: clear DWC3_PENDING_REQUEST when request is queued Instead of clearing DWC3_PENDING_REQUEST when we start transfer, let's do it when the request is actually queued, that way we know for sure that we're clearing in the right time. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1d6a39186b37b6f5097f9cdee8fcbfc24d231428 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 14 11:27:46 2015 -0500 usb: dwc3: gadget: start requests as soon as they come In an attempt to make dwc3 slightly faster, let's start usb_requests as soon as they come as that will let us avoid a XFER_NOT_READY event and save a little bit of time. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fe84f522ed6d27ed0a48e202e04327c2f4891e23 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 1 09:01:38 2015 -0500 usb: dwc3: gadget: move trace_dwc3_ep_queue() by moving trace_dwc3_ep_queue() from dwc3_gadget_ep_queue() to __dwc3_gadget_ep_queue() after usb_request is properly initialized, makes for a better output always showing a request with 0 actual and -115 (-EINPROGRESS) status. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d4499e255eec6b004f97610efa90cae4d1b41ec1 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Sep 25 15:46:35 2015 +0200 ARM: dts: mt8135-evbp1: remove regulator-compatible usage The regulator-compatible property from the regulator DT binding was deprecated and the correct approach is to use the node's name. This patch has no functional changes since the values of the node's name and the regulator-compatible match for all the regulators. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit b0c936f59c8928dac2b230322dd51cbfae289151 Author: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Date: Mon Aug 31 21:44:19 2015 +0800 arm64: dts: Add spi bus dts This patch adds MT8173 spi bus controllers into device tree. Signed-off-by: Leilk Liu <leilk.liu@xxxxxxxxxxxx> Reviewed-and-Tested-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 1462206cbccebf2b61e05cf786d458afe49d5509 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Sep 27 15:20:30 2015 +0200 PM / domains: Drop unused label Drop the "out" label in __pm_genpd_poweron() that's not used any more. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 47e90154fafd1a1310e3c5baed77d8f4c33ab271 Author: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Date: Wed Aug 26 15:14:41 2015 +0800 soc: mediatek: add scpsys support active_wakeup Register gpd_dev_ops.active_wakeup function to support keep power during suspend state. And add flag to each power domain to decide whether keep power during suspend or not. Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> Signed-off-by: Eddie Huang <eddie.huang@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 1ee35c05d9c67771d649f687e6f76e61e76eb779 Author: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Date: Wed Sep 16 09:35:25 2015 +0800 arm64: mt8173.dtsi: correct i2c node names Node name in device tree should describe general class of the device. Correct incorrect i2c node names. Signed-off-by: Yingjoe Chen <yingjoe.chen@xxxxxxxxxxxx> Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit b8402d827fbb288f4ecee585e151bab5a81b3c58 Author: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Date: Thu Sep 17 08:17:33 2015 +0200 ath10k: fix MSI-X registering for qca99x0 In case of qca99x0 and MSI-X supported/enabled we failed during interrupts registering with message: ath10k_pci 0000:04:00.0: failed to request MSI-X ce irq 50: -22 Issue/fix was reproduced/tested using Dell Latitude E6430 laptop. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bd4a41e6dee43b5b00876e37d42abffa298d63fe Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:19:00 2015 +0530 ath10k: fix ldpc param for fixed rate ldpc is not configured for fixed rates. This blocks auto rate vs fixed rate performance comparison. Since firmware is considering ldpc vdev param for fixed rate selection, it has to be configured to enable ldpc for fixed rates. Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 44acedb00b6d4b56ddab04362ccfa133b0d3b013 Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Thu Sep 17 14:29:08 2015 +0300 ath: use PRI value given by spec for fixed PRI PRI value is used as divider when DFS detector analyzes candidate radar pulses. If PRI deviation is big from its origin PRI, DFS detector could miss valid radar reports since HW often misses detecting radar pulses and causes long interval value of pulses. For instance from practical results, if runtime PRI is calculated as 1431 for fixed PRI value of 1428 and delta timestamp logs 15719, the modular remainder will be 1409 and the delta between the remainder and runtime PRI is 22 that is bigger than PRI tolerance which is 16. As a result this radar report will be ignored even though it's valid. By using spec defined PRI for fixed PRI, we can correct this error. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b0b252278082787eec54098556566d4d68b8126c Author: Peter Oh <poh@xxxxxxxxxxxxxxxx> Date: Thu Sep 17 14:29:07 2015 +0300 ath: fix incorrect PPB on JAPAN chirp radar The number of pulses per burst on Japan chirp radar is between 1 and 3. The previous value, 20, is representing number of bursts, but since current DFS detector is using pulse detection other than bursts, use the pulse number for correct radar detection. Also using the highest number helps to avoid false detection. Signed-off-by: Peter Oh <poh@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bbe379fc7ca5cae09b1bc44fe5ee4173ad883fbf Author: Henry Chen <henryc.chen@xxxxxxxxxxxx> Date: Fri Sep 11 21:05:20 2015 +0800 soc: mediatek: Move the initial setting of pmic wrap interrupt before requesting irq. The watchdog may not be initialized by the bootloader, even if the rest of the pwrap is. Move the watchdog initialization out of pwrap_init() to make sure the watchdog is always initialized and not only when the pwrap is uninitialized. Signed-off-by: Henry Chen <henryc.chen@xxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 849147cdb540266883cb49f2094a87b3ee6e12ec Author: Lawrence Yu <lyu@xxxxxxxxxx> Date: Tue Sep 22 08:50:50 2015 -0700 ARM: dts: sun6i: Add support for Yones Toptech bs1078v2 tablets The bs1078v2 is a pcb found in 10.1" tablets with an A31 soc, 1G RAM and 8G NAND, rtl8723as usb wifi, 1 micro USB OTG port, 1 USB HOST port This commit adds a dts for v2 of the bs1078 pcb. Signed-off-by: Lawrence Yu <lyu@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 40088eb4071ecc40e2b7ded71b0c06f216385efe Author: Aleksei Mamlin <mamlinav@xxxxxxxxx> Date: Thu Sep 24 10:33:46 2015 +0300 ARM: dts: sun4i: Enable USB DRC on the Marsboard A10 Enable the otg/drc usb controller on the Marsboard A10. Similar to Cubieboard, the 5V of the otg is directly connected to the general 5V, so we only use the id pin. Signed-off-by: Aleksei Mamlin <mamlinav@xxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 0372bb6b92a438a539f5a2d58b1979f999170813 Author: Priit Laes <plaes@xxxxxxxxx> Date: Wed Sep 23 10:38:31 2015 +0300 ARM: dts: sun4i: gemei-g9: Add accelerometer (bma250) IRQ Add IRQ configuration for bma250 accelerometer. Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit f7ad082cac8ec0a6af2d77513f9897374b9b3e9d Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 23 12:34:39 2015 +0800 ARM: dts: sun8i-a33: Add security system crypto engine clock and device nodes A33 has 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: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit f5f1c2cbe8785c212794067ce57aeb6439be7ac1 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Sep 20 08:30:50 2015 -0400 ARM: dts: sun8i: Add pwm-backlight device for A23/A33 Q8 format tablets The LCD backlight on the A23/A33 Q8 format tablets is enabled with a GPIO controlled regulator, and brightness controlled with the SoC's PWM controller. The backlight is powered from the AXP223 PMIC's DC1SW output, which is not supported yet. A proper bootloader is required to enable it. The brightness levels are arbitrary. The FEX files do not have such information. As such, actual brightness levels may differ from device to device. 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 36034fc1957d55837189075076a502051784a805 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:36:18 2015 +0200 ARM: sun8i: A23: Add missing msgbox gate Even though it's not mentionned in the A23 user manual, the A23 has a gate for the AHB1 clock to the msgbox IP. Add it to the clock-indices. Reported-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit f42a9505d1da7b0caf4bc6e7b3eb133631ed03ec Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:34:06 2015 +0200 ARM: sun8i: Move A23 AHB1 gates out of common DTSI The AHB1 gates were assumed to be identical between the A23 and the A33, which turned out to be wrong. Move the A23 gates definition to the A23 DTSI. Reported-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit fe8872c176255c13a9c72e1a3679fec475b849c4 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:32:56 2015 +0200 ARM: sun8i: Add the A33 AHB1 gates clock driver The A33 has a different gates array than the A23, add the node to the DT. Reported-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit eb2217b4c25e3796b0e834ce6e4fb5490ee9ab27 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 5 16:55:53 2015 +0200 ARM: dts: sun5i: Add dts file for q8 formfactor a13 based tablets This commits adds a generic dts file for q8 formfactor a13 based tablets. The tablets ship in many variants, with the difference mainly being the touchscreen controller / accelerometer / wifi chip used. The wifi is USB based, and thus not listed in devicetree. The touchscreen controller / accelerometer may turn out to be a problem once we add support for those. We can either do something with devicetree overlays, or add sun5i-a13-<touchscreen>-<accelerometer>.dts files. The latter is what the android mod community is doing with firmware images. This dts was tested with an a13 q8 tablet with a pcb labelled: "94V-0", silead gsl1680 touchscreen controller and a mc32x0 accelerometer. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d5c1274f26c18c4e3037cf7667d967388a73348b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 5 16:55:52 2015 +0200 ARM: dts: sun5i: Add sun5i-q8-common.dtsi This is the sun5i / a13 version of sun8i-q8-common.dtsi for use in dts files for a13 q8 based tablets. Compared to sun8i this uses uart1 for the serial console, and PG0 for card-detect for mmc0. This also adds pmic and otg support, which both use the same config on all known q8 a13 devices. This is not present in sun5i-q8-common.dtsi because pmic / otg support for sun8i has not yet been merged. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 29a0d085b759ef7c1d63918c4dd04daec3860a12 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Sep 18 15:35:37 2015 +0800 ARM: dts: sun8i: Add PWM channel 0 pinmux setting for A23/A33 The PWM controller has 2 outputs, with one usable pin for each. Add a pinmux setting for the first channel. This is often used for backlight dimming on tablets. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 832f977c8bb7c4a0ddfdc809448af6af34436f99 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Sep 18 15:35:36 2015 +0800 ARM: dts: sun8i: Add PWM controller node for A23/A33 A23/A33 have a PWM controller that is compatible to the one on the A20. Add a device node for it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6f1606bfe9cc2111072d48c65bab33d4d267024c Author: Yassin Jaffer <yassinjaffer@xxxxxxxxx> Date: Wed Sep 16 00:05:54 2015 +1000 ARM: dts: sun7i: Add keypad clk node This patch add support to the keypad clock on sun7i Signed-off-by: Yassin Jaffer <yassinjaffer@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5d97c677a94ea701650b642b3425b46d993e2af7 Author: Sander Vermin <sander@xxxxxxxxx> Date: Sun Sep 13 20:26:01 2015 +0200 ARM: dts: sun6i: Add accelerometer on Columbus A31 Add mma8452 accelerometer to sun6i-a31-colombus.dts. Signed-off-by: Sander Vermin <sander@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit adfa06ce9bd30f8bc5439be49bcfaa7ceb1b6c2a Author: Jelle van der Waa <jelle@xxxxxxxx> Date: Thu Sep 10 15:05:59 2015 +0200 ARM: dts: sun5i: Add dts file for the Wobo i5 top set box The Wobo i5 top set box is a somewhat curious A10s based top set box, it uses an AXP209 rather then the AXP152 usually used in combination with the A10s. It has an ethernet phy connected to PORTD rather then PORTA, and its built-in usb wifi is connected via the otg controller. This commit adds a dts file adding support for this top set box. Signed-off-by: Jelle van der Waa <jelle@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit bea9b7bcf3f7597092de7cac5d43370fa004e2c5 Author: Jelle van der Waa <jelle@xxxxxxxx> Date: Thu Sep 10 15:05:58 2015 +0200 ARM: dts: sun5i: Add emac_pins_b definition The emac pins on an A10s can also be routed to the outside through PORTD rather then through PORTA, add a pinctrl node for this. Signed-off-by: Jelle van der Waa <jelle@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit f49243f13075901a0674e19b6e77d5ccd27d6a24 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Thu Sep 10 10:31:21 2015 +0200 dts: sunxi: add eeprom to A20 OLinuXino micro board The Olimex A20 OLinuXino Micro features an eeprom that is always on the board. This patch adds it to the dts. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit dbca81d2f9eec95b50fb79752dad0cc5d821eeb2 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Thu Sep 10 10:31:20 2015 +0200 dts: sunxi: add eeprom to A20 OLinuXino Lime2 board The Olimex A20 OLinuXino Lime2 features an eeprom that is always on the board. This patch adds it to the dts. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d2057c59beec4b977b6b4c199f549ecfcf980cf9 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Thu Sep 10 10:31:19 2015 +0200 dts: sunxi: add eeprom to A20 OLinuXino Lime board The Olimex A20 OLinuXino Lime features an eeprom that is always on the board. This patch adds it to the dts. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ce350094cadc53ee21abe9f697bfb2dd3a8aaa49 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Thu Sep 10 10:31:18 2015 +0200 dts: sunxi: correct vendor prefix on OLinuXino a10s micro The OLinuXino A10S micro features an eeprom. According to the eeprom.txt binding document, we should use the manufacturer and 'at' is not the proper manufacturer id according to the vendor-prefixes. This patch takes the proper vendor-prefix and uses it for the eeprom node. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit e89ecbf141aa6301b3d5dff9d2a123700140a920 Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Thu Sep 10 10:31:17 2015 +0200 dts: sunxi: add eeprom to A10 OLinuXino Lime board The Olimex A10 OLinuXino Lime features an eeprom that is always on the board. This patch adds it to the dts. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b92b14909eba9ebe30da6aa041d99f9d4b47dc3e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Sep 9 10:23:24 2015 +0200 ARM: dts: sun4i: Add dts file for iNet-1 based tablets The iNet-tek iNet-1 PCB is a PCB found in various generic 10.1" 1024x600 A10 based tablets such as the Point of View Protab2 XXL and the Cherry M1007. This patch has been tested on both rev2 and rev5 of this board / these tablets. It comes with a rtl8188cus usb wifi connected to ehci1, focal ft5406ee8 touchscreen connected to i2c2 addr 0x38, bosch bma 250 accelerometer connected to i2c1 addr 0x18 and the usual connectors: headphone, mini hdmi, power-barrel, mini-usb and a micro-sd slot. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2ecf488b149c88f2f94e63df38d4d038e7fb6247 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Sep 9 10:23:23 2015 +0200 ARM: dts: sun4i: Add dts file inet9f-rev03 based tablets The inet9f-rev03 pcb is specially designed for gaming tablets, such as the qware tb-g100 tablet. These 7" tablets feature a dpad, firebuttons and 2 joysticks on the sides of the screen. Besides this they have the usual connectors: power-barrel, mini usb, mini hdmi, headphone and micro-sd slot. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 72df94cbec320860f759258b5677f72caa5d4777 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 5 16:55:51 2015 +0200 ARM: dts: sunxi: Add sun?i-q8-common.dtsi files for q8 tablets Cheap allwinner based devices in the q8 enclosure come in many variants, all sharing the case and a number of other basic features. They differ in the display, touchscreen, accelerometer and wifi chips used. This commit adds 2 dtsi files defining the shared features of all the q8 tablets. sunxi-q8-common.dtsi defines features shared amongst all q8 tablets, sun8i-q8-common.dtsi defines features shared amongst all a23 / a33 based q8 tablets, but not with a13 q8 based tablets. a13 based tablets use a different card-detect pin for the mmc, and use uart1 instead of the r_uart for the serial console. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ac1dd1dcc55044dfd2b8039ae974fec6d2ab2c77 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Aug 28 15:15:17 2015 +0200 ARM: dts: sun5i: Add dts file for inet98v_rev2 based tablets The inet98v_rev2 is a pcb used in generic A13 based tablets. It features volume buttons, a power barrel, micro-usb otg, headphone connector and a power button. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4917c46ced2f225e2f94f066c1c52d9f264cce3b Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Aug 28 17:54:37 2015 +0800 ARM: dts: sun6i: Add mmc2 pins for 8 bit emmc This also includes the reset pin for emmc. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 61d2595cd12931708a69960df8b674c5e3fbba03 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Fri Aug 28 17:54:34 2015 +0800 ARM: dts: sun6i: Add lradc node sun6i also has the LRADC for tablet buttons. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ff9dc0b93b7ef0e3b431d76cbc6d4babb6a0dabb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 24 00:37:26 2015 +0200 ARM: dts: sun4i: inet97fv2: Enable i2c1 and i2c2 controllers Enable i2c1 and i2c2 controllers, these are used for the touchscreen resp. the accelerometer. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2d4f66355b37b149efb63887226f3bb71342b5aa Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 24 00:37:25 2015 +0200 ARM: dts: sun4i: inet97fv2: Enable support for tablet keys Enable support for the tablet keys which are connected via the lradc. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 64a6295e620204e8a9d4429c3e59544022eeef45 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 24 00:37:24 2015 +0200 ARM: dts: sun4i: inet97fv2: Enable otg controller Enable the otg controller on the inet97fv2 tablet. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5fed0cbf4f65ff91694e64899cdcca67c59a5767 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 24 00:37:23 2015 +0200 ARM: dts: sun4i: inet97fv2: Add regulator nodes Use axp209.dtsi and add regulator nodes for the regulators used on the inet97fv2 tablet. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cb8b85a89ac80d9a15ad518b7fc74a360c59e5c2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Aug 24 00:37:22 2015 +0200 ARM: dts: sun4i: inet97fv2: Disable unused usb controllers The inet97fv2 tablet only has a usb-2 wifi device connected to the second ehci controller, disable the first ehci controller and both ohci controllers. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2a9a5cfaf1c1d0d6f34887faaa05cc86ff9b4288 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Aug 7 17:22:33 2015 +0200 ARM: dts: sun5i: Add support for the Auxtek-T003 HDMI stick The Auxtek-T003 HDMI stick is an A10s based HDMI stick with USB wifi, and composite video out support. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 49e86fd98b726d176ed3fd15d1bc14352bb4b171 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Aug 19 16:57:22 2015 +0800 ARM: dts: sun6i: hummingbird: Add missing pinmux setting for gmac phy reset Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b8962f7ee700580a148e05eceb2302bcfc59ffbc Author: Ralph Benadski <benadski@xxxxxxxxx> Date: Fri Aug 14 16:44:36 2015 +0200 ARM: dts: sun7i: Enable USB DRC on cubieboard2 Enable the otg/drc usb controller on the cubieboard2. Note this board has the otg-vbus connected directly to the 5v-dcc of the board, so there is no vbus0 regulator, nor vbus0-det. Signed-off-by: Ralph Benadski <benadski@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 87cf56ec311f31822a6507beaeb837f96a0607aa Author: Jelle van der Waa <jelle@xxxxxxxx> Date: Fri Aug 14 16:44:35 2015 +0200 ARM: dts: sun7i: Enable USB DRC on pcDuino 3 Enable the otg/drc usb controller on the pcDuino 3. Note this board has the otg-vbus connected directly to the 5v-dcc of the board, so there is no vbus0 regulator, nor vbus0-det. Signed-off-by: Jelle van der Waa <jelle@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 2f40620aedab9c2de1c3be76ce3af6cea6903bd6 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Aug 14 16:44:37 2015 +0200 ARM: dts: sun8i: Add support for qt90h-v4 tablets The gt90h is a pcb found in generic 9" tablets with an A23 soc, 1G RAM and 8G nand, rtl8723as usb wifi, 1 micro usb port and 1 micro sd slot. This commit adds a dts for v4 of the gt90h pcb. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 770df8c87eda3185cd16fbf11638145e098d545e Author: Jelle van der Waa <jelle@xxxxxxxx> Date: Fri Aug 14 16:44:34 2015 +0200 ARM: dts: sun7i: Add regulator configuration to the pcduino3 dts file Add regulator configuration to the pcduino3 dts file. Signed-off-by: Jelle van der Waa <jelle@xxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> [Maxime: Removed usb_power_supply node that isn't defined in the DTSI] Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit af283532415f756900807c2b5ca0312c01e57cde Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Aug 14 16:44:32 2015 +0200 ARM: dts: sun5i: Add simplefb node for tvencoder output Add a simplefb node for tvencoder / composite-video output, such as found on the Auxtek-T003 and the CHIP. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 465274d73c7b17578cf1f2444c50086bb2697c2c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Aug 7 17:22:35 2015 +0200 ARM: dts: sun6i: Columbus: Add i2c controller for communicating with the LCD The Colombus development kit uses an optional 2048x1536 edp panel using an anx9804 parallel lcd to edp converter. The anx9804 chip is controlled via an i2c bus which is connected to 2 regular gpio pins. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8f3504372963fb65d2386f8a2210a557d7cc01d9 Merge: 8b7a704 b1be00a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 26 22:40:56 2015 -0700 Merge branch 'vxlan-ipv4-ipv6' Jiri Benc says: ==================== vxlan: support both IPv4 and IPv6 sockets Note: this needs net merged into net-next in order to apply. It's currently not easy enough to work with metadata based vxlan tunnels. In particular, it's necessary to create separate network interfaces for IPv4 and IPv6 tunneling. Assigning an IPv6 address to an IPv4 interface is allowed yet won't do what's expected. With route based tunneling, one has to pay attention to use the vxlan interface opened with the correct family. Other users of this (openvswitch) would need to always create two vxlan interfaces. Furthermore, there's no sane API for creating an IPv6 vxlan metadata based interface. This patchset simplifies this by opening both IPv4 and IPv6 socket if the vxlan interface has the metadata flag (IFLA_VXLAN_COLLECT_METADATA) set. Assignment of addresses etc. works as expected after this. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1be00a6c39fda2ec380e168d7bcf96fb8c9da42 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Sep 24 13:50:02 2015 +0200 vxlan: support both IPv4 and IPv6 sockets in a single vxlan device For metadata based vxlan interface, open both IPv4 and IPv6 socket. This is much more user friendly: it's not necessary to create two vxlan interfaces and pay attention to using the right one in routing rules. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 205f356d165033443793a97a668a203a79a8723a Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Thu Sep 24 13:50:01 2015 +0200 vxlan: make vxlan_sock_add and vxlan_sock_release complementary Make vxlan_sock_add both alloc the socket and attach it to vxlan_dev. Let vxlan_sock_release accept vxlan_dev as its parameter instead of vxlan_sock. This makes vxlan_sock_add and vxlan_sock release complementary. It reduces code duplication in the next patch. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b7a7048220f86547db31de0abe1ea6dd2cfa892 Author: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Date: Thu Sep 24 11:38:22 2015 +0100 8139cp: Fix GSO MSS handling When fixing the TSO support I noticed we just mask ->gso_size with the MSSMask value and don't care about the consequences. Provide a .ndo_features_check() method which drops the NETIF_F_TSO feature for any skb which would exceed the maximum, and thus forces it to be segmented by software. Then we can stop the masking in cp_start_xmit(), and just WARN if the maximum is exceeded, which should now never happen. Finally, Francois Romieu noticed that we didn't even have the right value for MSSMask anyway; it should be 0x7ff (11 bits) not 0xfff. Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a58f227790faded5a3ef6075f3ddd65093e0f86 Author: David Woodhouse <David.Woodhouse@xxxxxxxxx> Date: Wed Sep 23 09:46:09 2015 +0100 8139cp: Enable offload features by default I fixed TSO. Hardware checksum and scatter/gather also appear to be working correctly both on real hardware and in QEMU's emulation. Let's enable them by default and see if anyone screams... Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4963ed48f2c20196d51a447ee87dc2815584fee4 Merge: 4d54d86 518a7cb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 26 16:08:27 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: net/ipv4/arp.c The net/ipv4/arp.c conflict was one commit adding a new local variable while another commit was deleting one. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 688538636bec2d49d6aae3f9c152216c7aafb8e7 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Fri Sep 18 18:40:12 2015 +0200 ARM: pxa: mioa701: add wm9713 codec The mioa701 is using the wm9713 for audio, battery and touchscreen. Add the missing audio part, which disappeared. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit 48a629da63480089561d794b316644b4362b0a82 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sat Sep 12 13:36:49 2015 +0200 ARM: pxa: add resources to pxaficp_ir Add io memory and dma requestor lines to the irda pxa device. This is part of the conversion of pxaficp_ir to dmaengine, and to shrink its adherence to 'mach' includes. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Tested-by: Petr Cvek <petr.cvek@xxxxxx> commit 8f6c5b079cb37f01463a643182815c00aa5263f2 Merge: e904cf6 7c014e3 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Date: Sat Sep 26 21:25:18 2015 +0300 Merge tag 'iwlwifi-next-for-kalle-2015-09-21' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next * some debugfs improvements; * fix signedness in beacon statistics; * deinline some functions to reduce size when device tracing is enabled; * filter beacons out in AP mode when no stations are associated; * deprecate firmwares version -12; * fix a runtime PM vs. legacy suspend race; * one-liner fix for a ToF bug; * clean-ups in the rx code; * small debugging improvement; * fix WoWLAN with new firmware versions; commit 2202e1fc5a29eab13fab31d287dd2019dc9edaa6 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Fri Sep 25 22:20:45 2015 +0200 drivers: power: twl4030_charger: fix link problems when building as module If either twl4030_charger or twl4030_madc is configured as MODULE, we get build (link) errors. To solve, the direct call of twl4030_get_madc_conversion() is replaced by a call to iio_read_channel_processed(). Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit af19161aaed7ff8d1a52b2e517460f2fa0774e32 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Fri Sep 25 22:20:47 2015 +0200 ARM: dts: twl4030: Add iio properties for bci subnode Added new iio properties which are required for twl4030-charger driver and allow to use twl4030-madc indirectly. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 90adf98d9530054b8e665ba5a928de4307231d84 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Tue Sep 22 19:00:40 2015 +0200 wm831x_power: Use IRQF_ONESHOT to request threaded IRQs Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. scripts/coccinelle/misc/irqf_oneshot.cocci detected this issue. Fixes: b5874f33bbaf ("wm831x_power: Use genirq") Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1b9af68f325cb91ac9fc691f52d69dfb0826afd7 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:54:04 2015 +0200 clk: imx7d: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 0822f933735c1eee6adfc236c72f763f42ac0f3d Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:54:03 2015 +0200 clk: imx6: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 89981a6f7bbe5b98c3f9c8e01ca53c1f7b28030d Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:54:02 2015 +0200 clk: imx5: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 57d5a4c3ed001f813f1c8e1609db83c84d0e88cf Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:54:01 2015 +0200 clk: imx35: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 5c678cdd02f25398b4908638d672b134cff9d59c Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:54:00 2015 +0200 clk: imx31: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6f1871316347a5ef098d85305d5eb5ac6ac1f52a Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:53:59 2015 +0200 clk: imx27: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 517c7f9302efdde86fe8ebca80bc9ef826fa62e5 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:53:58 2015 +0200 clk: imx25: retain early UART clocks during kernel init Make sure to keep UART clocks enabled during kernel init if earlyprintk or earlycon are active. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 55adc61c568af99419be1dc0412f8eae019c71f2 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Mon Sep 21 18:53:57 2015 +0200 clk: imx: add common logic to detect early UART usage Both earlycon and eralyprintk depend on the bootloader setup UART clocks being retained. This patch adds the common logic to detect such situations and make the information available to the clock drivers, as well as adding the facilities to disable those clocks at the end of the kernel init. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit d43b1b6f8e5b3219d4d02ea7fadcf67fecf78b1a Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 14 14:01:47 2015 +0530 cpufreq : powernv: Report Pmax throttling if capped below nominal frequency Log a 'critical' message if the max frequency is reduced below nominal frequency. We already log 'info' message if the max frequency is capped below turbo frequency. CPU should guarantee atleast nominal frequency, but not turbo frequency in all system configurations and environments. So report the pmax throttling with severity when Pmax is dipped below nominal frequency. 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 a35fc5a33b62a6c658b8ffe7544c966c1776d128 Author: Bai Ping <b51503@xxxxxxxxxxxxx> Date: Fri Sep 11 23:41:05 2015 +0800 cpufreq: imx: update the clock switch flow to support imx6ul For i.MX6UL, the clock switch flow is slightly different from other i.MX6 SOCs. It has a 'secondary_sel' clk that will be used when the CPU freq is higher than 396MHz. So the clock switch flow in 'set_target' callback need to update to support i.MX6UL in the common i.MX6 SOC cpufreq driver. Signed-off-by: Bai Ping <b51503@xxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit febf63cf616083e9a4ee05e2c28163b074890f36 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Sep 8 19:13:23 2015 +0200 cpufreq: tegra20: remove superfluous CONFIG_PM ifdefs CONFIG_PM ifdefs are superfluous and can be removed. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 03d5eec000973e80b1a1ccdef16ed8206621c3e4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Sep 8 07:10:34 2015 +0530 cpufreq: conservative: remove 'enable' field Conservative governor has its own 'enable' field to check if conservative governor is used for a CPU or not This can be checked by policy->governor with 'cpufreq_gov_conservative' and so this field can be dropped. Because its not guaranteed that dbs_info->cdbs.shared will a valid pointer for all CPUs (will be NULL for CPUs that don't use ondemand/conservative governors), we can't use it anymore. Lets get policy with cpufreq_cpu_get_raw() instead. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cea3ad93d9a5e054d916f1ad71da02cb306e4828 Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Sep 1 20:37:49 2015 +0200 PM / Domains: Remove cpuidle attach The power domains code allows to tie a cpuidle state with a power domain. Preventing the cpuidle framework to enter a specific idle state by disabling from the power domain framework is a good idea. Unfortunately, the current implementation has some gaps with a SMP system and a complex cpuidle implementation. Enabling a power domain wakes up all the cpus even if a cpu does not belong to the power domain. There is some work to do a logical representation with the power domains of the hardware dependencies (eg. a cpu belongs to a power domains, these power domains belong to a higher power domain for a cluster, etc ...). A new code relying on the genpd hierarchy to disable the idle states would make more sense. As the unique user of this code has been removed, let's wipe out this code to prevent new user and to have a clean place to put a new implementation. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c6f7b48e7e21989f4cfc996837d55c595d5dbf87 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Sep 10 16:00:50 2015 +0200 PM / Domains: Remove name based API for genpd As all users of the named based APIs now have converted to the non-named based APIs, the time has come to remove them. Signed-off-by: Ulf Hansson <ulf.hansson@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 611975470740b38084610e0a64ff4c6ff5aec89a Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Sep 24 14:54:54 2015 +0800 ACPI / EC: Fix a race issue in acpi_ec_guard_event() In acpi_ec_guard_event(), EC transaction state machine variables should be checked with the EC spinlock locked. The bug doesn't trigger any real issue now because this bug can only occur when the ec_event_clearing=event mode is applied while there is no user currently using this mode. Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0700c047f66101c7d0d23e3583f1ae9c3c2dd71c Author: Lv Zheng <lv.zheng@xxxxxxxxx> Date: Thu Sep 24 14:54:48 2015 +0800 ACPI / EC: Fix query handler related issues 1. acpi_ec_remove_query_handlers() This patch refines the query handler removal logic implemented in acpi_ec_remove_query_handler(), making it to invoke new acpi_ec_remove_query_handlers() API, and ensuring all other removal code paths to invoke the new API to honor the reference count of the query handlers. 2. acpi_ec_get_query_handler_by_value() This patch also refines the query handler search logic originally implemented in acpi_ec_query(), collecting it into acpi_ec_get_query_handler_by_value(). And since schedule_work() can ensure the serilization of acpi_ec_event_handler(), we needn't put the mutex_lock() around schedule_work(). Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 00b9b91cb330e70b6bc571a9aa7175b4590ca452 Author: Duc Dang <dhdang@xxxxxxx> Date: Wed Sep 16 17:31:40 2015 -0700 PCI/MSI: xgene: Remove msi_controller assignment After 8d63bc7beaee ("PCI/MSI: pci-xgene-msi: Get rid of struct msi_controller"), it is no longer required to assign msi_controller for X-Gene PCIe host bridge to support MSI. Remove this unnecessary code. This also avoids a warning message ("failed to enable MSI") during boot. [bhelgaas: changelog] Signed-off-by: Duc Dang <dhdang@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Tanmay Inamdar <tinamdar@xxxxxxx> commit 8d0afa1a93be2da954c85392bbc7b2264c9d241c Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:20 2015 -0700 PCI: iproc: Update PCIe device tree bindings Update the device tree bindings with added support for outbound mapping configurations. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit aaf22ab4e916afa68a2e1aed4e913b76cbd58276 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:19 2015 -0700 PCI: iproc: Improve link detection logic Improve the link detection logic by explicitly querying the link status register to ensure link is active. Also force class to PCI_CLASS_BRIDGE_PCI (0x0604) through the host configuration space register. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Anup Patel <anup.patel@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> commit 199ff14100095d52cd1b232cc0f3b12f348b5b07 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:18 2015 -0700 PCI: iproc: Fix PCIe reset logic The current reset logic does not always properly reset the device. For example, in the case when the perst_b signal is already de-asserted in the bootloader, the current reset logic fails to trigger a proper assert -> de-assert reset sequence. Fix the issue by always triggering the proper reset sequence. Also explicitly select the desired reset source, i.e., perst_b, and reduce the wait time after the device comes out of reset from 250 ms to 100 ms, based on recommendation from the ASIC team. Tested-by: Vladimir Dreizin <vdreizin@xxxxxxxxxxxx> Tested-by: Darren Edamura <dedamura@xxxxxxxxxxxx> Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Vladimir Dreizin <vdreizin@xxxxxxxxxxxx> Reviewed-by: Trac Hoang <trhoang@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> commit bdb8a1844f3113ec08915d1e8e3fd5686fb2fb78 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:17 2015 -0700 PCI: iproc: Call pci_fixup_irqs() for ARM64 as well as ARM After 459a07721c11 ("PCI: Build setup-irq.o for arm64"), we build setup-irq.o for arm64, so we can use pci_fixup_irqs() on both arm and arm64. Remove the "#ifdef CONFIG_ARM" around the call to pci_fixup_irqs(). [bhelgaas: changelog] Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 98aac697a83db6e1d004e5d61cf6c976a0b1c35a Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:16 2015 -0700 PCI: iproc: Remove unused struct iproc_pcie.irqs[] Remove unused struct iproc_pcie member irqs[] and unused #define IPROC_PCIE_MAX_NUM_IRQS. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 5d92f41c48c5e3c6fa5be87e3d6fca57e2fbb127 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Tue Sep 15 17:39:15 2015 -0700 PCI: iproc: Fix code comment to match code Fix code comment in pcie-iproc.h so it matches the code. Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit b7f0c959edfb4448f94bd33c39fda08e10ce6ede Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 25 17:38:44 2015 -0400 tracing: Pass trace_array into trace_buffer_unlock_commit() In preparation for having trace options be per instance, the trace_array needs to be passed to the trace_buffer_unlock_commit(). The trace_event_buffer_lock_reserve() already passes in the trace_event_file where the trace_array can be derived from. Also added a "__init" to the boot up test event plus function tracing function function_test_events_call(). Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 78ce6dbfa317c85cfb8a8dc0b5ee588645c795c1 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Wed Sep 16 22:24:46 2015 +0200 cpufreq: integrator: 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 <luisbg@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9ec32cc703c17b9fd1695619695b84f6ed554fab Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Wed Sep 9 03:40:39 2015 -0300 [media] v4l2-compat-ioctl32: replace pr_warn by pr_debug Every time compat32 encounters an unknown ioctl it will call pr_warn. However, that's very irritating since it is perfectly normal that this happens. For example, applications often try to call an ioctl to see if it exists, and if that's used with an older kernel where compat32 doesn't support that ioctl yet, then it starts spamming the kernel log. So replace pr_warn by pr_debug. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ac4033e02a54a1dd3b22364d392ffe3da5d09a5f Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Aug 4 06:37:49 2015 -0300 [media] atmel-isi: parse the DT parameters for vsync/hsync/pixclock polarity This patch will get the DT parameters of vsync/hsync/pixclock polarity, and pass to driver. Also add a debug information for test purpose. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d32dd315ff1c4b03ab431d8eee903e74c5d52655 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Aug 1 06:22:56 2015 -0300 [media] v4l: atmel-isi: Remove unused platform data fields The emb_crc_sync, mck_hz, asd and asd_sizes platform data fields are unused, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 40a78f36fc92bb156872468fb829984a9d946df7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Aug 1 06:22:54 2015 -0300 [media] v4l: atmel-isi: Remove support for platform data All in-tree users have migrated to DT, remove support for platform data. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [josh.wu@xxxxxxxxx: squash the commit to remove the unused variable: dev] 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 375123976f71367c2e14921179149f52b2225746 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Aug 1 06:22:53 2015 -0300 [media] v4l: atmel-isi: Simplify error handling during DT parsing Put the endpoint DT node earlier to avoid the need for goto statements to a cleanup code block in case of errors. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9626d03e8dd4bb0c4def6e42c29c7f674d9f8e41 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Sep 11 04:00:16 2015 -0300 [media] atmel-isi: add sanity check for supported formats in try/set_fmt() After adding the format check in try_fmt()/set_fmt(), we don't need any format check in configure_geometry(). So make configure_geometry() as void type. 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 f653da3457fc2988793393d202c487955a14e4e6 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Sep 11 04:00:15 2015 -0300 [media] atmel-isi: move configure_geometry() to start_streaming() As in set_fmt() function we only need to know which format is been set, we don't need to access the ISI hardware in this moment. So move the configure_geometry(), which access the ISI hardware, to start_streaming() will make code more consistent and simpler. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ad5f9d19682b210b74f686ac58cfaad1044624ec Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Sep 11 04:00:14 2015 -0300 [media] atmel-isi: setup the ISI_CFG2 register directly In the function configure_geometry(), we will setup the ISI CFG2 according to the sensor output format. It make no sense to just read back the CFG2 register and just set part of it. So just set up this register directly makes things simpler. Currently only support YUV format from camera sensor. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d67b48824fef61883404ed5c034901bbb319d0df Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Jun 17 07:27:08 2015 -0300 [media] atmel-isi: increase timeout to disable/enable isi If ISI is working on a 1024x768 or higher resolution, it needs longer time to disable ISI. So this patch will increase timeout to 500ms. 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 18baba64580fe78a46d652a638915518b2a1dc40 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 6 07:08:49 2015 -0300 [media] atmel-isi: Protect PM-only functions to kill warning If CONFIG_PM=n: drivers/media/platform/soc_camera/atmel-isi.c:1044: warning: 'atmel_isi_runtime_suspend' defined but not used drivers/media/platform/soc_camera/atmel-isi.c:1054: warning: 'atmel_isi_runtime_resume' defined but not used Protect the unused functions by #ifdef CONFIG_PM to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f00ae754c536511055ed6162778be8348e093514 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:18:05 2015 -0300 [media] rcar_vin: call g_std() instead of querystd() Hans Verkuil says: "The only place querystd can be called is in the QUERYSTD ioctl, all other ioctls should use the last set standard." So call the g_std() subdevice method instead of querystd() in the driver's set_fmt() method. Reported-by: Hans Verkuil <hverkuil@xxxxxxxxx> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 936ad8900c60b800f10b14afc3b9ab26a7182d26 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 1 19:29:01 2015 -0300 [media] rcar_vin: propagate querystd() error upstream rcar_vin_set_fmt() defaults to PAL when the subdevice's querystd() method call fails (e.g. due to I2C error). This doesn't work very well when a camera being used outputs NTSC which has different order of fields and resolution. Let us stop pretending and return the actual error except when the querystd() method is not implemented, in which case we'll have to set the 'field' variable to V4L2_FIELD_NONE. Note that doing this would prevent video capture on at least Renesas Henninger/ Porter boards where I2C seems particularly buggy. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit db33386ae31ff81b52d2f8a25a02d403ec8bf3f2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Jun 23 09:59:43 2015 -0300 [media] rcar_vin: Remove obsolete r8a779x-vin 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: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3dcb8043fb3e2a744841da9769230b3ebb56065a Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Tue Aug 4 07:51:09 2015 -0300 [media] soc-camera: increase the length of clk_name on soc_of_bind() Since in soc_of_bind() it may use the of node's full name as the clk_name, and this full name may be longer than 32 characters, take at91 i2c sensor as an example, length is 34 bytes: /ahb/apb/i2c@f8028000/camera@0x30 So this patch increase the clk_name[] array size to 64. It seems big enough so far. 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 a3e72739b7a7ea225dd11c4096f97123f6427d87 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 25 16:24:27 2015 -0400 cgroup: fix too early usage of static_branch_disable() 49d1dc4b8179 ("cgroup: implement static_key based cgroup_subsys_enabled() and cgroup_subsys_on_dfl()") converted cgroup enabled test to use static_key; however, cgroup_disable() is called before static_key subsystem itself is initialized and thus leads to the following warning when "cgroup_disable=" parameter is specified. WARNING: CPU: 0 PID: 0 at kernel/jump_label.c:99 static_key_slow_dec+0x44/0x60() static_key_slow_dec used before call to jump_label_init ... Call Trace: [<ffffffff813b18c2>] dump_stack+0x44/0x62 [<ffffffff8108dd52>] warn_slowpath_common+0x82/0xc0 [<ffffffff8108ddec>] warn_slowpath_fmt+0x5c/0x80 [<ffffffff8119c054>] static_key_slow_dec+0x44/0x60 [<ffffffff81d826b6>] cgroup_disable+0xaf/0xd6 [<ffffffff81d5f9de>] unknown_bootoption+0x8c/0x194 [<ffffffff810b0c03>] parse_args+0x273/0x4a0 [<ffffffff81d5fd67>] start_kernel+0x205/0x4b8 ... Fix it by making cgroup_disable() to record the subsystems to disable in cgroup_disable_mask and moving the actual application to cgroup_init() which is late enough and where the enabled state is first used. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Andrey Wagin <avagin@xxxxxxxxx> Link: http://lkml.kernel.org/g/CANaxB-yFuS4SA2znSvcKrO9L_CbHciHYW+o9bN8sZJ8eR9FxYA@xxxxxxxxxxxxxx Fixes: 49d1dc4b81797f88270832b11e9f73809e7e7209 commit 5d0fd3c806b9e932010931ae67dbb482020e0882 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jul 27 11:06:48 2015 -0300 [media] uvcvideo: Disable hardware timestamps by default The hardware timestamping implementation has been reported as not working correctly on at least the Logitech C920. Until this can be fixed, disable it by default. Reported-by: Peter Rabbitson <rabbit@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 60f68735441ce01858c81d32071f7df41c1691e3 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 1 20:04:51 2015 -0300 [media] vivid: sdr cap: few enhancements * Constify struct * Fix comments * Fix alignment * Use modulus to transfer phase angles * Correct float [-1.0, +1.0] to s8 [-128, 127] conversion Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f335c3f229880cc3f7bde9310def6ac5c53c9c7c Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 1 20:04:50 2015 -0300 [media] vivid: SDR cap: add control for FM deviation Add user control to adjust generated FM deviation. Default it to 75kHz like public FM radio broadcast. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 655e9780ab913a3a06d4a164d55e3b755524186d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Aug 31 08:56:15 2015 -0300 [media] v4l2-compat-ioctl32: fix alignment for ARM64 Alignment/padding rules on AMD64 and ARM64 differs. To allow properly match compatible ioctls on ARM64 kernels without breaking AMD64 some fields should be aligned using compat_s64 type and in one case struct should be unpacked. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # for v3.10 and up [hans.verkuil@xxxxxxxxx: use compat_u64 instead of compat_s64 in v4l2_input32] Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 63ab664cebe5bbfd530d46ed7439e43aa4d45227 Author: Darek Zielski <dz1125tor@xxxxxxxxx> Date: Thu Aug 27 19:18:54 2015 -0300 [media] saa7134: add Leadtek Winfast TV2100 FM card support Add Leadtek Winfast TV2100 FM card to saa7134 driver. It is a card bearing SAA7130HL chip. Signed-off-by: Darek Zielski <dz1125tor@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 67dcfebdf9416ade3b2dca1050e54067e50e33df Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Wed Aug 26 16:06:11 2015 -0300 [media] media/pci/cobalt: 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: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f1a81afc98e315f4bf600d28f8a19a5655f7cfe0 Author: Zahari Doychev <zahari.doychev@xxxxxxxxx> Date: Mon Aug 17 07:13:53 2015 -0300 [media] m2m: fix bad unlock balance This patch removes unnecessary mutex queue unlock/lock sequence causing bad unlock balance in v4l2_m2m_poll when the last buffer on the destination queue has been dequeued and adds spin lock protection for the done list list_empty calls. [ 144.990873] ===================================== [ 144.995584] [ BUG: bad unlock balance detected! ] [ 145.000301] 4.1.0-00137-ga105070 #98 Tainted: G W [ 145.006140] ------------------------------------- [ 145.010851] demux:sink/487 is trying to release lock (&dev->dev_mutex) at: [ 145.017785] [<808cc578>] mutex_unlock+0x18/0x1c [ 145.022322] but there are no more locks to release! [ 145.027205] [ 145.027205] other info that might help us debug this: [ 145.033741] no locks held by demux:sink/487. [ 145.038015] [ 145.038015] stack backtrace: [ 145.042385] CPU: 2 PID: 487 Comm: demux:sink Tainted: G W 4.1.0-00137-ga105070 #98 [ 145.051089] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree) [ 145.057622] Backtrace: [ 145.060102] [<80014a4c>] (dump_backtrace) from [<80014cc4>] (show_stack+0x20/0x24) [ 145.067679] r6:80cedf78 r5:00000000 r4:00000000 r3:00000000 [ 145.073421] [<80014ca4>] (show_stack) from [<808c61e0>] (dump_stack+0x8c/0xa4) [ 145.080661] [<808c6154>] (dump_stack) from [<80072b64>] (print_unlock_imbalance_bug+0xb8/0xe8) [ 145.089277] r6:808cc578 r5:ac6cd050 r4:ac38e400 r3:00000001 [ 145.095020] [<80072aac>] (print_unlock_imbalance_bug) from [<80077db4>] (lock_release+0x1a4/0x250) [ 145.103983] r6:808cc578 r5:ac6cd050 r4:ac38e400 r3:00000000 [ 145.109728] [<80077c10>] (lock_release) from [<808cc470>] (__mutex_unlock_slowpath+0xc4/0x1b4) [ 145.118344] r9:acb27a41 r8:00000000 r7:81553814 r6:808cc578 r5:60030013 r4:ac6cd01c [ 145.126190] [<808cc3ac>] (__mutex_unlock_slowpath) from [<808cc578>] (mutex_unlock+0x18/0x1c) [ 145.134720] r7:00000000 r6:aced7cd4 r5:00000041 r4:acb87800 [ 145.140468] [<808cc560>] (mutex_unlock) from [<805a98b8>] (v4l2_m2m_fop_poll+0x5c/0x64) [ 145.148494] [<805a985c>] (v4l2_m2m_fop_poll) from [<805955a0>] (v4l2_poll+0x6c/0xa0) [ 145.156243] r6:aced7bec r5:00000000 r4:ac6cc380 r3:805a985c [ 145.161991] [<80595534>] (v4l2_poll) from [<80156edc>] (do_sys_poll+0x230/0x4c0) [ 145.169391] r5:00000000 r4:aced7be4 [ 145.173013] [<80156cac>] (do_sys_poll) from [<801574a8>] (SyS_ppoll+0x1d4/0x1fc) [ 145.180414] r10:00000000 r9:aced6000 r8:00000000 r7:00000000 r6:75c04538 r5:00000002 [ 145.188338] r4:00000000 [ 145.190906] [<801572d4>] (SyS_ppoll) from [<800108c0>] (ret_fast_syscall+0x0/0x54) [ 145.198481] r8:80010aa4 r7:00000150 r6:75c04538 r5:00000002 r4:00000008 Signed-off-by: Zahari Doychev <zahari.doychev@xxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 27315059e2c1f9bc478a87bb9ce4438b7506e1ce Author: Nicolas Sugino <nsugino@xxxxxxxxxxx> Date: Fri Aug 14 14:36:11 2015 -0300 [media] ivtv-alsa: Add index to specify device number When using multiple capture cards, it might be necessary to identify a specific device with an ALSA one. If not, the order of the ALSA devices might have no relation to the id of the radio or video device. Signed-off-by: Nicolas Sugino <nsugino@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a1f8c0cff03c1215e00586ff760fdeb4464091fc Author: Andrew Milkovich <amilkovich@xxxxxxxxx> Date: Fri Aug 14 13:43:56 2015 -0300 [media] Staging: media: bcm2048: warnings for uninitialized variables fixed This patch fixes the following sparse warnings: warning: ... may be used uninitialized in this function Some function variables have been initialized to 0. Signed-off-by: Andrew Milkovich <amilkovich@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4d54d86546f62c7c4a0fe3b36a64c5e3b98ce1a9 Merge: 6ea29da 1b70e97 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 25 13:00:40 2015 -0700 Merge branch 'listener-sock-const' Eric Dumazet says: ==================== dccp/tcp: constify listener sock Another patch bomb to prepare lockless TCP/DCCP LISTEN handling. SYNACK retransmits are built and sent without listener socket being locked. Soon, initial SYNACK packets will have same property. This series makes sure we did not something wrong with this model, by adding a const qualifier in all the paths taken from synack building and transmit, for IPv4/IPv6 and TCP/dccp. The only potential problem was the rewrite of ecn bits for connections with DCTCP as congestion module, but this was a very minor one. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b70e977cef6ce7e7411c9bbec21f9adc8e29097 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:24 2015 -0700 inet: constify inet_rtx_syn_ack() sock argument SYNACK packets are sent on behalf on unlocked listeners or fastopen sockets. Mark socket as const to catch future changes that might break the assumption. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea3bea3a1d38aab1542176b2ff11a99ce3db9656 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:23 2015 -0700 tcp/dccp: constify rtx_synack() and friends This is done to make sure we do not change listener socket while sending SYNACK packets while socket lock is not held. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 802885fc0400d0166a6b65d1844b61696aecbb10 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:22 2015 -0700 dccp: constify dccp_make_response() socket argument Like tcp_make_synack() the only time we might change the socket is when calling sock_wmalloc(), which is using atomic operation to update sk->sk_wmem_alloc Also use MAX_DCCP_HEADER as both IPv4/IPv6 use this value for max_header. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f935dbedc49a5044ebff08b47eef35a2f2bbe92 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:21 2015 -0700 tcp: constify tcp_v{4|6}_send_synack() socket argument This documents fact that listener lock might not be held at the time SYNACK are sent. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c1e9d2b67897316770fc8a2e1acdd9f2787838d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:20 2015 -0700 ipv6: constify ip6_xmit() sock argument This is to document that socket lock might not be held at this point. skb_set_owner_w() and ipv6_local_error() are using proper atomic ops or spinlocks, so we promote the socket to non const when calling them. netfilter hooks should never assume socket lock is held, we also promote the socket to non const. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d062de7f8ea1ca7c635957ff1144fba815ba34c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:19 2015 -0700 tcp: constify tcp_make_synack() socket argument listener socket is not locked when tcp_make_synack() is called. We better make sure no field is written. There is one exception : Since SYNACK packets are attached to the listener at this moment (or SYN_RECV child in case of Fast Open), sock_wmalloc() needs to update sk->sk_wmem_alloc, but this is done using atomic operations so this is safe. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ac705b1805863b1899e85f641bb265f9e6e9d99 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:18 2015 -0700 tcp: remove tcp_ecn_make_synack() socket argument SYNACK packets might be sent without holding socket lock. For DCTCP/ECN sake, we should call INET_ECN_xmit() while socket lock is owned, and only when we init/change congestion control. This also fixies a bug if congestion module is changed from dctcp to another one on a listener : we now clear ECN bits properly. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37bfbdda0b036a3720924e04c0171d9038159c2c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:17 2015 -0700 tcp: remove tcp_synack_options() socket argument We do not use the socket in this function. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cfe673b0ae4754ffc051482f4a948b67ddbeec10 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:16 2015 -0700 ip: constify ip_build_and_send_pkt() socket argument This function is used to build and send SYNACK packets, possibly on behalf of unlocked listener socket. Make sure we did not miss a write by making this socket const. We no longer can use ip_select_ident() and have to either set iph->id to 0 or directly call __ip_select_ident() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b83e3deb974ca2c11e21256fe602e517afb83247 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:15 2015 -0700 tcp: md5: constify tcp_md5_do_lookup() socket argument When TCP new listener is done, these functions will be called without socket lock being held. Make sure they don't change anything. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e3f5d727d60939c890a6e86944da52b3a1625ce Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:14 2015 -0700 inet: constify ip_dont_fragment() arguments ip_dont_fragment() can accept const socket and dst Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30d50c61df94bc8d7700272ea09a716e0af8b58b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:13 2015 -0700 ipv6: constify inet6_csk_route_req() socket argument socket is not modified, make it const so that callers can do the same if they need. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3aef934f4d4b97532c333d9c1f5f73fb80aeb459 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:12 2015 -0700 ipv6: constify ip6_dst_lookup_{flow|tail}() sock arguments ip6_dst_lookup_flow() and ip6_dst_lookup_tail() do not touch socket, lets add a const qualifier. This will permit the same change in inet6_csk_route_req() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5895bc600ccba1fde4ea0741813f9c33b5b4021 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:11 2015 -0700 inet: constify inet_csk_route_req() socket argument This is used by TCP listener core, and listener socket shall not be modified by inet_csk_route_req(). Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f9c961546699ff8bc5e1c1c52200616867ec68a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:10 2015 -0700 inet: constify ip_route_output_flow() socket argument Very soon, TCP stack might call inet_csk_route_req(), which calls inet_csk_route_req() with an unlocked listener socket, so we need to make sure ip_route_output_flow() is not trying to change any field from its socket argument. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1964b5fce389a5660139ca39c25ff294da07b4f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:09 2015 -0700 tcp: constify tcp_openreq_init_rwin() Soon, listener socket wont be locked when tcp_openreq_init_rwin() is called. We need to read socket fields once, as their value could change under us. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b40cf18ef7961b6d67732e234780586590510ce1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 25 07:39:08 2015 -0700 tcp: constify listener socket in tcp_v[46]_init_req() Soon, listener socket spinlock will no longer be held, add const arguments to tcp_v[46]_init_req() to make clear these functions can not mess socket fields. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f438c6138ac5739ce16c8db04689e438d65dfe6 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Sep 25 09:03:14 2015 +0000 Bluetooth: btmrvl: Comparison to NULL re-written NOT NULL comparison modified to be readable, reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 41907416bc24412f839559ea10a2b9e4eeb21aa7 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 25 15:06:00 2015 -0400 tracing: Remove unused function trace_current_buffer_lock_reserve() trace_current_buffer_lock_reserve() is not used by anything. Might as well get rid of it. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit d78a461427d752bc1cd5b87515167453a18de7e3 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 25 13:30:47 2015 -0400 tracing: Remove ftrace_trace_stack_regs() ftrace_trace_stack_regs() is used in only one place, and because that is such a simple function, just move its code into the location that it was used in (trace_buffer_unlock_commit_regs()). Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 6ea29da1d04f56e167ec8cc5ed15e927997d9d67 Author: Michal KubeÄ?ek <mkubecek@xxxxxxx> Date: Thu Sep 24 10:59:05 2015 +0200 net: remove unused argument of __netdev_find_adj() The __netdev_find_adj() helper does not use its first argument, only the device to find and list to walk through. Signed-off-by: Michal Kubecek <mkubecek@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 119e359c6f2254b3b0724f951e786f19405d2299 Merge: f37db85 008aa6a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 25 12:27:23 2015 -0700 Merge branch 'l2tp-module-autoloading' Stephen Hemminger says: ==================== l2tp: module autoloading With L2TP it was necessary to manually load modules which is a nuisance and not required with other tunneling protocols. This set of patches adds the aliases and module load hook to get rid of the necessity of modprobing. ==================== Acked-By: James Chapman <jchapman@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 008aa6a4faac36fe623ff5a1ba753dc9b0d8102e Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 21:33:36 2015 -0700 l2tp: remove references to modprobe in documentation No longer need explicit modprobe's and update to use ip instead of deprecated ifconfig command. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 163c2e252fa658ac26edda78d2a9e3939f7d10e5 Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 21:33:35 2015 -0700 l2tp: auto load IP modules When creating a IP encapsulated tunnel the necessary l2tp module should be loaded. It already works for UDP encapsulation, it just doesn't work for direct IP encap. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1f39f91102733bcde2462c6a138f636ee541ea8 Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 23 21:33:34 2015 -0700 l2tp: auto load type modules It should not be necessary to do explicit module loading when configuring L2TP. Modules should be loaded as needed instead (as is done already with netlink and other tunnel types). This patch adds a new module alias type and code to load the sub module on demand. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f37db85d0c1eb6e4e8460cf7a13cfba42bfc2cb0 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 23 18:19:58 2015 -0700 net: dsa: Set a "dsa" device_type Provide a device_type information for slave network devices created by DSA, this is useful for user-space application to easily locate/search for devices of a specific kind. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e8646580cc9a6ae24ab3d05f90e71334f50cdedf Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 25 09:03:01 2015 +0300 spi: atmel: Remove needless bits_per_word and speed_hz tests SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This makes possible to remove two if statements and remove one code block that is never executed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 438470b84c119f4910ebf1fdd26738c8d9881b24 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 24 13:06:04 2015 -0600 EDAC: Fix sysfs dimm_label store operation Sysfs "dimm_label" and "chX_dimm_label" nodes have the following issues in their store operation: 1) A newline-terminated input string causes redundant newlines: # echo "test" > /sys/bus/mc0/devices/dimm0/dimm_label # cat /sys/bus/mc0/devices/dimm0/dimm_label test # od -bc /sys/bus/mc0/devices/dimm0/dimm_label 0000000 164 145 163 164 012 012 t e s t \n \n 0000006 2) The original label string (31 characters) cannot be stored due to an improper size check: # echo "CPU_SrcID#0_Ha#0_Chan#0_DIMM#0" > /sys/bus/mc0/devices/dimm0/dimm_label # cat /sys/bus/mc0/devices/dimm0/dimm_label # od -bc /sys/bus/mc0/devices/dimm0/dimm_label 0000000 012 012 \n \n 0000002 3) An input string longer than the buffer size results a wrong label info as it allows a retry with the remaining string: # echo "CPU_SrcID#0_Ha#0_Chan#0_DIMM#0_TEST" > /sys/bus/mc0/devices/dimm0/dimm_label # cat /sys/bus/mc0/devices/dimm0/dimm_label _TEST Fix these issues by making the following changes: 1) Replace a newline character at the end by setting a null. It also assures that the string is null-terminated in the label buffer. 2) Check the label buffer size with 'sizeof(dimm->label)'. 3) Fail a request if its string exceeds the label buffer size. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: Robert Elliott <elliott@xxxxxxx> Link: http://lkml.kernel.org/r/1443121564.25474.160.camel@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1ea62c59c80090dd4621911e1b7853c379da5fd7 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Tue Sep 22 08:58:02 2015 -0600 EDAC: Fix sysfs dimm_label show operation After 7d375bffa524 ("sb_edac: Fix support for systems with two home agents per socket") sysfs "dimm_label" and "chX_dimm_label" show their label string without a newline "\n" at the end. [root@orange ~]# cat /sys/bus/mc0/devices/dimm0/dimm_label CPU_SrcID#0_Ha#0_Chan#0_DIMM#0[root@orange ~]# [root@orange ~]# cat /sys/devices/system/edac/mc/mc0/csrow0/ch0_dimm_label CPU_SrcID#0_Ha#0_Chan#0_DIMM#0[root@orange ~]# The label strings now have 31 characters, which are the same as EDAC_MC_LABEL_LEN. Since the snprintf()s in channel_dimm_label_show() and dimmdev_label_show() limit the whole length by EDAC_MC_LABEL_LEN, the newline in the format "%s\n" is ignored. [root@orange ~]# od -bc /sys/bus/mc0/devices/dimm0/dimm_label 0000000 103 120 125 137 123 162 143 111 104 043 060 137 110 141 043 060 C P U _ S r c I D # 0 _ H a # 0 0000020 137 103 150 141 156 043 060 137 104 111 115 115 043 060 000 _ C h a n # 0 _ D I M M # 0 \0 0000037 Fix it by using 'sizeof(dimm->label) + 1' as the whole length in the snprintf()s in channel_dimm_label_show() and dimmdev_label_show(). Reported-by: Robert Elliott <elliott@xxxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442933883-21587-2-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 536b5603e7a3c75c7d2e0c1c56980690909b12d3 Merge: 6ff33f3 b4fe8ba Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 25 10:01:09 2015 -0700 Merge tag 'ib-mfd-regmap-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into regmap-irq-hdr Immutable branch between MFD and Regmap due for v4.3 commit b9f6940a437dcb8481df16b175359e126cf7bc33 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 25 10:27:18 2015 +0300 spi: pxa2xx: Use ACPI_COMPANION() instead of acpi_bus_get_device() Get pointer to the struct acpi_device by using ACPI_COMPANION() macro. This is more efficient than using ACPI_HANDLE() and acpi_bus_get_device(). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0eca7cf2696506006463b9d67bb6110c82d3e064 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 25 10:27:17 2015 +0300 spi: pxa2xx: Set the max_speed_hz of the master Carry input clock of the controller in max_speed_hz of struct spi_master instead of in own driver data. They mean the same thing and more over now the max_speed_hz is not even set here. As an added bonus this allows SPI core to validate that transfer speed is not beyond the maximum input clock. This is not a problem in spi-pxa2xx as the driver doesn't use transfer speed parameter directly but via input clock divider calculation which will top at divide by one. However it's better to validate speed before passing it here. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b4b05b9af35e4ba8aee4fc8fcfc4175c7feb3544 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sat Aug 29 01:25:01 2015 +0200 pinctrl: mediatek: Consistently use the BIT() macro The mediatek pinctrl driver uses the BIT() macro instead of open coding 1 << n in all but one place. Replace this occurrence with the BIT() macro for consistency. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c5ce767088a5ab7a051006c7c1f6e2c2ab9f460d Author: Xing Zheng <zhengxing@xxxxxxxxxxxxxx> Date: Fri Aug 28 13:46:47 2015 +0800 pinctrl: rockchip: add support for the rk3036 Many parts of pinctrl rk3036 are similar to rk2928's. Signed-off-by: Xing Zheng <zhengxing@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a73f22f9811da0f69d5f04eadcfc87b4d6280814 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 25 08:43:31 2015 +0200 libata: samsung_cf: fix handling platform_get_irq result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f7e7868b4743f1cc5e59e6e0ddd3ccf9cfe53a1b Author: Georgios Toptsidis <gtoptsid@xxxxxxxxx> Date: Fri Sep 25 10:50:08 2015 +0300 cdrom: Random writing support for BD-RE media Recently, i bought a blu-ray writer and noticed that while cdrecord worked perfectly, random writing didn't work on rewritable bd-re media. For example, dd if=/dev/zero of=/dev/sr0 bs=32768 count=2 gave the usual "read-only file system" message. After checking if the problem lies with my burner or firmware, i grep-ed the kernel source for EROFS. One of the results was in the cdrom driver. I tried to follow the function chain and ended in the cdrom_is_dvd_rw function where writing is permitted only for DVD-RAM and DVD+RW media. I added a new case label for 0x43 which is the profile name of BD-RE and now it works correctly for BD-RE too. Maybe there is a better way of implementing this, like a new function checking for blu-ray support and called from cdrom_open_write like it happens for mrw and dvdram media, but adding the case label worked. Thank you for your time. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 05bd7762faac386c224b159607fdaf65e5760672 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Sep 25 09:05:04 2015 +0000 Bluetooth: btuart_cs: Comparison to NULL re-written NOT NULL comparison modified to be readable, reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7a1dc788e5c754685e3491c637875d8368bea42d Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Sep 25 09:02:18 2015 +0000 Bluetooth: bt3c_cs: Comparison to NULL re-written NOT NULL comparison modified to be readable, reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c51edfb10e6b6e8cfd1bd80ab9f54e51e55ea62a Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Sep 24 16:05:28 2015 -0600 MAINTAINERS: The docs tree has moved For years I've waited in vain for Linus to see the error of his ways and go back to our beloved 2.6.x naming scheme. But dispair has overtaken me at last, so, with a heavy heart, I'm moving my repo to a more contemporary name. My kids will be proud of me. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 043cba96915b9728b9d52c04954de5d1ce61be32 Author: Loc Ho <lho@xxxxxxx> Date: Wed Sep 23 17:41:01 2015 -0700 arm64, EDAC: Add L3/SoC DT subnodes to the APM X-Gene SoC EDAC node Add L3/SoC DT subnodes to the APM X-Gene SoC EDAC node. Signed-off-by: Loc Ho <lho@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: Duc Dang <dhdang@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Iyappan Subramanian <isubramanian@xxxxxxx> Cc: jcm@xxxxxxxxxx Cc: Keyur Chudgar <kchudgar@xxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: mchehab@xxxxxxxxxxxxxxx Cc: patches@xxxxxxx Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Rameshwar Prasad Sahu <rsahu@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Tanmay Inamdar <tinamdar@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Y Vo <yvo@xxxxxxx> Link: http://lkml.kernel.org/r/1443055261-8613-5-git-send-email-lho@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit f864b79ba247b0735d7423ca62d9ac5bdce74eac Author: Loc Ho <lho@xxxxxxx> Date: Wed Sep 23 17:41:00 2015 -0700 EDAC, xgene: Add SoC support Add support for the SoC component. Signed-off-by: Loc Ho <lho@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: ijc+devicetree@xxxxxxxxxxxxxx Cc: jcm@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: mark.rutland@xxxxxxx Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: patches@xxxxxxx Cc: robh+dt@xxxxxxxxxx Link: http://lkml.kernel.org/r/1443055261-8613-4-git-send-email-lho@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 9bc1c0c0ec14dcdb6df2c7a39dbaecb383a46681 Author: Loc Ho <lho@xxxxxxx> Date: Thu Sep 24 10:38:07 2015 -0700 EDAC, xgene: Fix possible sprintf() overflow issue Replace sprintf() with snprintf() to avoid possible string array overflow. Signed-off-by: Loc Ho <lho@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: ijc+devicetree@xxxxxxxxxxxxxx Cc: jcm@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: mark.rutland@xxxxxxx Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: patches@xxxxxxx Cc: robh+dt@xxxxxxxxxx Link: http://lkml.kernel.org/r/1443116287-11752-1-git-send-email-lho@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 9347473c7d8218c795b5a73d8d94aa53657d9e29 Author: Loc Ho <lho@xxxxxxx> Date: Wed Sep 23 17:40:59 2015 -0700 EDAC, xgene: Add L3 support Add EDAC support for the L3 component. Signed-off-by: Loc Ho <lho@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: ijc+devicetree@xxxxxxxxxxxxxx Cc: jcm@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: mark.rutland@xxxxxxx Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: patches@xxxxxxx Cc: robh+dt@xxxxxxxxxx Link: http://lkml.kernel.org/r/1443055261-8613-3-git-send-email-lho@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 7cb5dff8d59da8008c6ec30d4161e8e96aa4afe8 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Fri Sep 25 03:58:11 2015 -0700 drm/i915: fix task reference leak in i915_debugfs.c Leak a task reference in i915_ppgtt_info(), add put_task_struct() to fix it. Introduced by commit 1c60fef535d143860d5bf6593e24ab6417f5227c Author: Ben Widawsky <ben@xxxxxxxxxxxx> Date: Fri Dec 6 14:11:30 2013 -0800 drm/i915: Dump all ppgtt Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> [danvet: Add note provided by Jani about which commit introduced this issue.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3498355eec32cc8307655890916741e8a3419182 Author: Loc Ho <lho@xxxxxxx> Date: Wed Sep 23 17:40:58 2015 -0700 EDAC, Documentation: Update X-Gene EDAC binding for L3/SoC subnodes Update documentation for the APM X-Gene SoC EDAC DTS binding for L3/SoC subnodes. Signed-off-by: Loc Ho <lho@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: jcm@xxxxxxxxxx Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: mchehab@xxxxxxxxxxxxxxx Cc: patches@xxxxxxx Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1443055261-8613-2-git-send-email-lho@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 54b5b34eded2f068e8db181dec78be07b288dcfc Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Sep 25 07:59:18 2015 +0000 Bluetooth: bluecard: Comparison to NULL could be re-written replaced 'not null' comparison that is readable, reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 010cf269a4e27252c029f10e1ccaa9ad4bd6a000 Merge: 0b2c8c1 7e8275c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Sep 25 10:07:55 2015 +0200 Merge branch 'topic/drm-sync-audio-rate' into for-next commit 7e8275c2f2bbb384e18af37066b8b2f32b7d092f Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Fri Sep 25 09:36:12 2015 +0800 drm/i915: set proper N/CTS in modeset When modeset occurs and the TMDS frequency is set to some speical values, the N/CTS need to be set manually if audio is playing. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ddd621fbba35178643a39559c9688a373285bbc0 Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Wed Sep 2 14:11:40 2015 +0800 ALSA: hda - display audio call sync_audio_rate callback For display audio, call the sync_audio_rate callback function to do the synchronization between gfx driver and audio driver. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4a21ef7d1d2b19fdd986783e9ef53bd15fdc87bf Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Wed Sep 2 14:11:39 2015 +0800 drm/i915: implement sync_audio_rate callback HDMI audio may not work at some frequencies with the HW provided N/CTS. This patch sets the proper N value for the given audio sample rate at the impacted frequencies. At other frequencies, it will use the N/CTS value which HW provides. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5334240c30cb0058fa8c373bf0d653337833230d Author: Libin Yang <libin.yang@xxxxxxxxx> Date: Wed Sep 2 14:11:38 2015 +0800 drm/i915: Add audio sync_audio_rate callback Add the sync_audio_rate callback. With the callback, audio driver can trigger i915 driver to set the proper N/CTS or N/M based on different sample rates. Signed-off-by: Libin Yang <libin.yang@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0b101e62afe626ecae60173f92f1e0ec72151653 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Sep 24 14:02:29 2015 +0200 x86/asm: Force inlining of cpu_relax() On x86, cpu_relax() simply calls rep_nop(), which generates one instruction, PAUSE (aka REP NOP). With this config: http://busybox.net/~vda/kernel_config_OPTIMIZE_INLINING_and_Os gcc-4.7.2 does not always inline rep_nop(): it generates several copies of this: <rep_nop> (16 copies, 194 calls): 55 push %rbp 48 89 e5 mov %rsp,%rbp f3 90 pause 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/ on rep_nop() and cpu_relax(). ( Forcing inlining only on rep_nop() causes GCC to deinline cpu_relax(), with almost no change in generated code). text data bss dec hex filename 88118971 19905208 36421632 144445811 89c1173 vmlinux.before 88118139 19905208 36421632 144444979 89c0e33 vmlinux Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1443096149-27291-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3f2c5085ed99b6ad233cf77009c2f4f898b2f7c8 Author: Andy Lutomirski <luto@xxxxxxxxxx> Date: Tue Sep 1 15:41:06 2015 -0700 x86/sched/64: Don't save flags on context switch (reinstated) This reinstates the following commit: 2c7577a75837 ("sched/x86_64: Don't save flags on context switch") which was reverted in: 512255a2ad2c ("Revert 'sched/x86_64: Don't save flags on context switch'") Historically, Linux has always saved and restored EFLAGS across context switches. As far as I know, the only reason to do this is because of the NT flag. In particular, if something calls switch_to() with the NT flag set, then we don't want to leak the NT flag into a different task that might try to IRET and fail because NT is set. Before this commit: 8c7aa698baca ("x86_64, entry: Filter RFLAGS.NT on entry from userspace") we could run system call bodies with NT set. This would be a DoS or possibly privilege escalation hole if scheduling in such a system call would leak NT into a different task. Importantly, we don't need to worry about NT being set while preemptible or across page faults. The only way we can schedule due to preemption or a page fault is in an interrupt entry that nests inside the SYSENTER prologue. The CPU will clear NT when entering through an interrupt gate, so we won't schedule with NT set. The only other interesting flags are IOPL and AC. Allowing switch_to() to change IOPL has no effect, as the value loaded during kernel execution doesn't matter at all except between a SYSENTER entry and the subsequent PUSHF, and anythign that interrupts in that window will restore IOPL on return. If we call __switch_to() with AC set, we have bigger problems. 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> Link: http://lkml.kernel.org/r/d4440fdc2a89247bffb7c003d2a9a2952bd46827.1441146105.git.luto@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9c9ab385bc6c3f0787f742d5e9baf04063d9697a Merge: 93f13a9 bcee19f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 25 09:28:58 2015 +0200 Merge branch 'linus' into x86/asm, to refresh the tree before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0b2c8c12f92996debdd7a2c2aebb33242e30922a Merge: db25f44 4922e7a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Sep 25 08:33:11 2015 +0200 Merge tag 'asoc-v4.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v4.4 A first batch of updates targetted at v4.4. There are no substantial core fixes here, the biggest block of changes is updates to the rcar drivers and the addition of a CODEC driver for the AK4613. commit 4110b282059c6ddefe874b718756bbc3bc2db515 Merge: aee2f54 f623ab7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 24 22:59:23 2015 -0700 Merge branch 'switchdev-transaction-item-queue' Jiri Pirko says: ==================== switchdev: transaction item queue and cleanup ==================== Acked-by: Scott Feldman <sfeldma@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f623ab7f51b1bfb523c9cd492747392abf3c4421 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:49 2015 +0200 switchdev: reduce transaction phase enum down to a boolean Now, since we have only 2 values for transaction phase, just use bool. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79a62eb22a5fa4ee5e1f21af5e1f19f493dac5e0 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:48 2015 +0200 dsa: use prepare/commit switchdev transaction helpers The enum is going to disappear, use the helpers instead. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f6467cf229a0e8a7580401b07de2a76e4c8618d Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:47 2015 +0200 switchdev: remove "ABORT" transaction phase No longer used by drivers, as transaction queue with item destructors takes care of abort phase internally in switchdev code. So kill it. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b8a61a6fd5fdd161ae16e4f76bfb09d6de95ddd Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:46 2015 +0200 switchdev: remove "NONE" transaction phase Shouldn't have been there in the first place. Now it is unused, kill it. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac3dbc68a4a74e74f4604207d01456d075394a64 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:45 2015 +0200 rocker: use switchdev transaction queue for allocated memory Benefit from previously introduced transaction item queue infrastructure and remove rocker specific transaction memory management. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76c6f945cc8ec92918ab5459eaa0958dedbfbcfe Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:44 2015 +0200 rocker: push struct switchdev_trans down through rocker code There will be needed to have switchdev_trans available down in the call chain, so propagate it instead of trans phase enum. This enum will be removed anyway. Also, use prepare/commit phase check helpers to get information about current phase of transaction. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8bdb427206f077cdb567bf34da2e7212ecb2603c Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:43 2015 +0200 switchdev: add switchdev_trans_ph_prepare/commit helpers Add helpers which should be used int attr_set/obj_add switchdev ops to check the phase of transaction. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8db83486e316ff50f97961a82b614985645508e Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:42 2015 +0200 switchdev: move transaction phase enum under transaction structure Before it disappears completely, move transaction phase enum under transaction structure and make attr/obj structures a bit cleaner. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7ea6eb3f56f45cf4babae8b9a7421868e5005f17 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:41 2015 +0200 switchdev: introduce transaction item queue for attr_set and obj_add Now, the memory allocation in prepare/commit state is done separatelly in each driver (rocker). Introduce the similar mechanism in generic switchdev code, in form of queue. That can be used not only for memory allocations, but also for different items. Abort item destruction is handled as well. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69f5df491e0becb75d2d795add7481a35218d657 Author: Jiri Pirko <jiri@xxxxxxxxxxxx> Date: Thu Sep 24 10:02:40 2015 +0200 switchdev: rename "trans" to "trans_ph". This is temporary, name "trans" will be used for something else and "trans_ph" will eventually disappear. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97c37accd38f6136fa0abbdef01b5f864e91e6c7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:55:41 2015 +0300 dmaengine: idma64: use lo_hi_readq() / lo_hi_writeq() There are already helper functions to do 64-bit I/O on 32-bit machines, thus we don't need to reinvent the wheel. In our case we can't use readq() / writeq() even on 64-bit kernel since there is a hardware limitation (OCP bus is a 32-bit bus). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2e9b55becc905207eb01e24bc282f8062cc497b5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:55:40 2015 +0300 dmaengine: idma64: make better performance on pause / resume Accordingly to the documentation the CH_DRAIN bit enforses single bursts when channel is going to be suspended. This, in case when channel will be resumed, makes data to flow in non-optimal mode until DMA returns to full burst mode. The fix differentiates pause / resume cycle from pause / terminate and sets CH_DRAIN bit accordingly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 581ec089a5476a9ddc8d0707e47315a2609297ad Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:55:39 2015 +0300 dmaengine: idma64: this is not DesignWare This patch fixes a comment where DesignWare is wrongly mentioned. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 22b74406c5ac1829cd60f75c8c6a4ed1e0f4da03 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:55:38 2015 +0300 dmaengine: idma64: useless use of min_t() We use a pattern x = min_t(u32, <LOG2_CONSTANT>, __ffs(expr)); There is no need to use min_t() since we can replace it by x = __ffs(expr | <2^LOG2_CONST>); and moreover guarantee that argument of __ffs() will be not zero. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 87b045969ad3fe021ccbd1ed88e7cb90adf4ca80 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:55:37 2015 +0300 dmaengine: idma64: convert to __ffs() We replace __fls() by __ffs() since we have to find a *minimum* data width that satisfies both source and destination. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit eef228e3191de0b62ef5913be216f25ba6b23a4c Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Thu Sep 24 15:21:23 2015 -0700 ARM: dts: move aliases back to .dts in Cygnus Move aliases from bcm-cygnus.dtsi back to individual .dts files. Also clean up the chosen node to have the stdout-path using the proper alias Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 7236214c88454d96de7633e07a8314644d529f26 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:42:06 2015 +0200 PM / wakeup: wakeup_source_create: use kstrdup_const Using kstrdup_const allows us to save a little runtime memory (and a string copy) in the common case where name is a string literal. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3f4232ee8b53cf2266d227af299aa511d2d91d11 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Sep 14 17:37:36 2015 +0300 acpi-dma: Add support for "dma-names" device property The current implementation hard codes the two supported channels so that "tx" is always 0 and "rx" is always 1. This is because there has been no suitable way in ACPI to name resources. With _DSD device properties we can finally do this: Device (SPI1) { Name (_CRS, ResourceTemplate () { ... FixedDMA (0x0000, 0x0000, Width32bit) FixedDMA (0x0001, 0x0001, Width32bit) }) Name (_DSD, Package () { ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package () { Package () {"dma-names", Package () {"tx", "rx"}} }, }) } The names "tx" and "rx" now provide index of the FixedDMA resource in question. Modify acpi_dma_request_slave_chan_by_name() so that it looks for "dma-names" property first and only then fall back using hardcoded indices. The DT "dma-names" binding that we reuse for ACPI is documented in Documentation/devicetree/bindings/dma/dma.txt. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3f5c8d3187852b1cbed8546169e6293d6d421751 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Sep 14 17:37:35 2015 +0300 device property: Add fwnode_property_match_string() Sometimes it is useful to be able to extract an index of certain string value from an array of strings. A typical use case is to give a name to a DMA channel, PWM, clock and so on. Provide an implementation using unified device property accessors that follows of_property_match_string() but works for all supported fwnodes. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c3456026adc0b22baae75e2617f370866d98b8ce Merge: aee2f54 57781c1 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Sep 25 01:37:21 2015 +0200 Merge tag 'ipvs2-for-v4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next Simon Horman says: ==================== Second Round of IPVS Updates for v4.4 please consider these bug fixes and extensive clean-ups of IPVS from Eric Biederman for v4.4. His excellent description of the changes, which is part of an even larger set of clean-up work, is as follows: I am gradually working my way through the netfilter stack passing struct down into the netfilter hooks and from the netfilter hooks and from there down into the functions that actually care. This removes the need for netfilter functions to guess how to figure out how to compute which network namespace they are in and instead provides a simple and reliable method to do so. The cleanups stand on their own but this is part of a larger effort to have routes with an output device that is not in the current network namespace. The IPVS code has been a bit more of a challenge than most. Just passing struct net through to where it is needed did not feel clean to me. The practical issue is that the ipvs code in most places actually wants struct netns_ipvs and not struct net. So as part of this process I have turned the relationship between struct net and the structs netns_ipvs, ip_vs_conn_param, ip_vs_conn, and ip_vs_service inside out. I have modified the ipvs functions to take a struct netns_ipvs not a struct net. The net is code with fewer conversions from one type of structure to another. I did wind up adding a struct netns_ipvs parameter to quite a few functions that did not have it before so I could pass the structure down from the netfilter hooks to where it is actually needed to avoid guessing. I have broken up the work in a bunch of small patches so there is at least a chance and reviewing that each step I took is correct. The series compiles at each step so bisecting it should not be a problem if something weird comes up. The first two changes in this series are actually bug fixes. The first is a compile fix for a bug in sctp that came in, in the last round of ipvs changes merged into nf-next. The second fixes an older bug where in pathological circumstances the wrong network namespace could be used when a proc file is written to. The rest of the patchset is a bunch of boring changes getting pushing struct netns_ipvs (and by extension ipvs->net) where it needs to be. Either by replacing struct net pointers or adding new struct netns_ipvs pointers. With a handful of other minor cleanups (like removing skb_net). I have decided include the bug fixes in this pull request. Patch one relates to a bug that was added to nf-next recently and is thus not applicable to nf . Patch two could arguably be promoted to a fix for v4.3 and stable though it does not appear to be severe enough to warrant that course of action; let me know if you would like me to reconsider. ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit aee2f545f0a12399cc6bbe134d69b8994582b694 Merge: d8ed625 21dd560 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 24 15:39: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-09-23 This series contains updates to ixgbe only. Mark provides all the changes in this series, first clears the destination location for I2C data initially so that the received data will not be corrupted by previous attempts. Then reduced the pauses/delays in the PHY detection when no SFP is present by reducing the number of retires, once an SFP is detected, the "normal" number of retries in PHY detection will be used. Added support for X55EM_x SFP+ dual-speed, and fixed 1G and 10G link stability for X550EM_x by configuring the CS4227 correctly by moving code to ixgbe_setup_mac_link_sfp_x550em(). Added functionality to reset CS4227, since on some platforms the CS4227 does not initialize properly. Next reduces the SFP polling rate, due to when an SFP is not present, the I2C timeouts that result are very costly. So prevent the SFP polling from being done more than once every two seconds. Added support for I2C bus MUX. Fixed the setting of RDRXCTL register which should fall through X540 and 82599, not 82598. In addition, added small packet padding support in X550 by setting RDRXCTL.PSP when the driver is in SRIOV mode. Fixed a known hardware issue where the PCI transactions pending bit sticks high when there are pending transactions, so workaround the issue by wait and then continue with our reset flow. Added a new device ID for X550EM device with SFPs. Provided a fix with the DCA setup, which was suggested by Alex Duyck <aduyck@xxxxxxxxxxxx>, by making it so that we always set the relaxed ordering bits related to the DCA registers even if DCA is not enbaled. Then moves the configuration out of the ixgbe_down() and into ixgbe_configure() before enabling the transmit and receive rings. This ensures that DCA is configured correctly before starting the processing of packets. Fixed VM-to-VM loopback mode which requires that FCRTH be set, but the datasheets did not specify what the value should be. It has now been determined that the correct value should be RXPBSIZE - (24*1024). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 111feb7f0c50a4b3369274539c27612904d33e96 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 11 09:08:53 2015 -0300 PCI: imx6: Add PCIE_PHY_RX_ASIC_OUT_VALID definition Add a #define for PCIE_PHY_RX_ASIC_OUT_VALID and use it instead of a hardcoded value. [bhelgaas: drop PCIE_PHY_DEBUG_R0_LTSSM_MASK; updated in future patch] Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <helgaas@xxxxxxxxxx> Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> commit 89b2d4f14b147bcb499f5e7b1c6e6ce082a58e8f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 11 09:08:52 2015 -0300 PCI: imx6: Return real error code from imx6_add_pcie_port() When devm_request_irq() fails, imx6_add_pcie_port() should return the real error code instead of always returning -ENODEV. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <helgaas@xxxxxxxxxx> Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> commit 10b4ad1a53e40425122a1a8f21f2d7428fa31e08 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 17:02:07 2015 -0500 PCI: Disable MSI on SiS 761 MSI is broken on SiS 761 chipset at least on PC Chips A31G board. No interrupts are delivered once MSI is enabled for a device. This causes hang on X11 start with a nVidia card installed (with nouveau driver). Disable MSI completely for this chipset. Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <helgaas@xxxxxxxxxx> commit 5664f7645d6768da80e0b0d1f47a92d95d33608b Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Mon Sep 14 19:54:07 2015 -0500 Docs/kernel-parameters: Add earlycon devicetree usage This form of the earlycon parameter was added by commit fb11ffe74c794a5 ("of/fdt: add FDT serial scanning for earlycon") without documentation. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit e12d74623dd77821c833a6fbb762ad32efc0ffa9 Author: Alex Henrie <alexhenrie24@xxxxxxxxx> Date: Sun Sep 20 14:11:19 2015 +0200 SubmittingPatches: make Subject examples match the de facto standard The examples should better match what kernel developers actually expect, so that they set a good example both for this project and for other projects with similar development processes. Signed-off-by: Alex Henrie <alexhenrie24@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 2b71920e60153a5058a7984e97d692350aa527cb Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Sep 21 15:14:46 2015 +0200 Documentation: gpio: mention that <function>-gpio has been deprecated The gpiolib supports parsing DT properties of the form <function>-gpio but it was only added for compatibility with older DT bindings that got it wrong and should not be used in newer bindings. The commit that added support for this was: dd34c37aa3e8 ("gpio: of: Allow -gpio suffix for property names") but didn't update the documentation to explain this so it's been a source of confusion. So let's make clear this in the GPIO documentation. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 55d015954140cd32e463ca1673527f023409ba90 Author: Yuan Sun <sunyuan3@xxxxxxxxxx> Date: Tue Sep 22 17:00:06 2015 +0800 Documentation: cgroups: just fix a few typos Just fix some typos in blkio-controller.txt, freezer-subsystem.txt, unified-hierarchy.txt. Signed-off-by: Yuan Sun <sunyuan3@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit d8ed625044cdede8661324074aaad7459a1e3c7a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 22 20:44:17 2015 -0700 tcp: factorize sk_txhash init Neal suggested to move sk_txhash init into tcp_create_openreq_child(), called both from IPv4 and IPv6. This opportunity was missed in commit 58d607d3e52f ("tcp: provide skb->hash to synack packets") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 76caa6ca99a6e56f5b247f4f5e54263caa13cb5e Author: Wang Long <long.wanglong@xxxxxxxxxx> Date: Wed Sep 23 09:35:25 2015 +0000 Documentation: Update kselftest.txt Add document for how to install selftests. Signed-off-by: Wang Long <long.wanglong@xxxxxxxxxx> Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 7bc590b2fc057f3c48b618c739517bf1af9a28fe Author: Sakari Ailus <sakari.ailus@xxxxxx> Date: Wed Sep 23 14:41:09 2015 +0300 Documentation: DMA API: Be more explicit that nents is always the same The nents argument to the DMA API functions operating on scatterlists is always the same. The documentation used different argument names and the matter was not mentioned in Documentation/DMA-API-HOWTO.txt at all. Fix these. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit c604503192718b9676a0ef5dd104b6a8acef8278 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Thu Sep 24 16:51:25 2015 +0800 Documentation: Update the default value of crashkernel low In commit 94fb933 ("x86/crash: Allocate enough low memory when crashkernel=high") the default value of crashkernel low memory is changed to 256M. In this patch update it accordingly. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 3657c20d8277e7ee50a26ac9cacad55a8bba901d Author: Sergey SENOZHATSKY <sergey.senozhatsky@xxxxxxxxx> Date: Thu Sep 24 18:56:41 2015 +0900 zram: update documentation Several documentation changes. First, we never mentioned any errors and never required any error checks in documentation. Second, mention that there is another way to configure and manage zram devices -- zramctl, provided by util-linux. Third, add a bit of clarification on why `mem_used_max' attr is RW and correct some typos. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 1c0032c8eb67c637075e54209ff59c22bba8e01e Merge: d5fc4f5 ad29fff Author: Jonathan Corbet <corbet@xxxxxxx> Date: Thu Sep 24 15:32:09 2015 -0600 Merge branch 'doc/4.4' of git.lwn.net:/home/git/linux-2.6 commit 729bf329c79684327a55c33cdf21222543a1e5f1 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 23 09:20:55 2015 +0200 net: axinet: Use of_property_read_u32 instead of open-coding it Use of_property_read_u32 instead of of_get_property with return value checks and endianness conversion. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Reviewed-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e734a42f046104f798195042e5a4d4b357f0b3fb Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 23 09:20:02 2015 +0200 net: ll_temac: Use of_property_read_u32 instead of open-coding it Use of_property_read_u32 to read the "clock-frequency" property instead of using of_get_property with return value checks. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Reviewed-by: Sören Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0522908d22e0b8669e01a7706720996c773e7f4 Merge: 1026507 9badce0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Sep 24 16:59:19 2015 -0400 cgroup: Merge branch 'for-4.3-fixes' into for-4.4 Pull to receive 9badce000e2c ("cgroup, writeback: don't enable cgroup writeback on traditional hierarchies"). The commit adds cgroup_on_dfl() usages in include/linux/backing-dev.h thus causing a silent conflict with 9e10a130d9b6 ("cgroup: replace cgroup_on_dfl() tests in controllers with cgroup_subsys_on_dfl()"). The conflict is fixed during this merge. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3636859b280ca595da4556274a509223f47e9a39 Author: Enric Balletbo i Serra <eballetbo@xxxxxxxxx> Date: Thu Sep 24 21:44:21 2015 +0200 power_supply: Add support for tps65217-charger. This patch adds support for the tps65217 charger driver. This driver is responsible for controlling the charger aspect of the tps65217 mfd. Currently, this mainly consists of turning on and off the charger, but some other features of the charger can be supported through this driver. Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8e97a88c5b5864004ec5e87e7088dba7dcf79fdc Author: Enric Balletbo i Serra <eballetbo@xxxxxxxxx> Date: Thu Sep 24 21:44:20 2015 +0200 devicetree: Add TPS65217 charger binding. The TPS65217 charger is a subnode of the TPS65217 MFD. Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 0bc58e93819d542475cd9390921db509a283fe72 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Sep 24 21:41:37 2015 +0300 power: qcom_smbb: test the correct variable "state" is a bool so it's never less than zero. The intent was to test "ret" instead. Fixes: 56d7df8716b2 ('power: Add Qualcomm SMBB driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 38cf595b195552276e1cf1826434e05782de4be8 Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Tue Sep 22 18:57:13 2015 +0200 ipv6: remove unused neigh parameter from ndisc functions Since commit 12fd84f4383b1 ("ipv6: Remove unused neigh argument for icmp6_dst_alloc() and its callers."), the neigh parameter of ndisc_send_na and ndisc_send_ns is unused. CC: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92c14d9b5ee86fd6cf136c01b6a87353522aebdd Author: Jiri Benc <jbenc@xxxxxxxxxx> Date: Tue Sep 22 18:56:43 2015 +0200 genetlink: simplify genl_notify The genl_notify function has too many arguments for no real reason - all callers use genl_info to get them anyway. Just pass the genl_info down to genl_notify. Signed-off-by: Jiri Benc <jbenc@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2d5ecfaeafdedfb997a466c654c7029c511f43d Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Sep 24 09:37:11 2015 +0200 mac802154: iface: assume big endian for af_packet The callback "create" and "parse" from header_ops are called from netdev core upper-layer functionality, like af_packet. These callbacks assumes big endian for addresses and we should not introduce a special byteordering handling for ieee802154 over af_packet in userspace. We have an identical issue with setting the mac address which also assumes big endian byteordering. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f856f21dbcd162a53e30987a91d75d5ab54a7f80 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Sep 24 09:37:10 2015 +0200 ieee802154: remove unnecessary includes This patch removes some unnecessary includes from ieee802154 header, which was introduced by commit b609fb54adfa ("ieee802154: add helpers for frame control checks"). Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2900ea609616c2651dec65312beeb2a6e536bc50 Author: Seth Jennings <sjenning@xxxxxxxxxx> Date: Wed Aug 5 13:16:01 2015 -0500 EDAC, sb_edac: Fix TAD presence check for sbridge_mci_bind_devs() In commit 7d375bffa524 ("sb_edac: Fix support for systems with two home agents per socket") NUM_CHANNELS was changed to 8 and the channel space was renumerated to handle EN, EP, and EX configurations. The *_mci_bind_devs() functions - except for sbridge_mci_bind_devs() - got a new device presence check in the form of saw_chan_mask. However, sbridge_mci_bind_devs() still uses the NUM_CHANNELS for loop. With the increase in NUM_CHANNELS, this loop fails at index 4 since SB only has 4 TADs. This results in the following error on SB machines: EDAC sbridge: Some needed devices are missing EDAC sbridge: Couldn't find mci handler EDAC sbridge: Couldn't find mci handle This patch adapts the saw_chan_mask logic for sbridge_mci_bind_devs() as well. After this patch: EDAC MC0: Giving out device to module sbridge_edac.c controller Sandy Bridge Socket#0: DEV 0000:3f:0e.0 (POLLED) EDAC MC1: Giving out device to module sbridge_edac.c controller Sandy Bridge Socket#1: DEV 0000:7f:0e.0 (POLLED) Signed-off-by: Seth Jennings <sjenning@xxxxxxxxxx> Acked-by: Aristeu Rozanski <aris@xxxxxxxxxx> Acked-by: Tony Luck <tony.luck@xxxxxxxxx> Tested-by: Borislav Petkov <bp@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.2 Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Cc: linux-edac <linux-edac@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438798561-10180-1-git-send-email-sjenning@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit eb24d061f4b80338672b7d38ee6331896f0a7710 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Sep 24 19:40:33 2015 +0200 mrf24j40: remove trailing semicolon This patch removes a trailing semicolon which was introduced by commit d3f1bc3 ("mrf24j40: add cca mode support") and reported by kbuild test robot. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cf6483050e9bf13979415d9fd388554d8c8f3477 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 18:35:36 2015 +0200 drm/irq: Add drm_crtc_vblank_count_and_time() This function is the KMS native variant of drm_vblank_count_and_time(). It takes a struct drm_crtc * instead of a struct drm_device * and an index of the CRTC. Eventually the goal is to access vblank data through the CRTC only so that the per-CRTC data can be moved to struct drm_crtc. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2b193f023dc8f43b005bc7844b07e437a4e418db Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 18:35:30 2015 +0200 drm/irq: Rename drm_crtc -> crtc Since the original crtc parameter was renamed to pipe, there is no longer a need to artificially prefix the CRTC parameter. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf22f3be15630234b76d7ece0b1f97627ea833a8 Author: Geliang Tang <geliangtang@xxxxxxx> Date: Thu Sep 24 03:01:03 2015 -0700 drm: drm_atomic_crtc_get_property should be static Fixes the following sparse warning: drivers/gpu/drm/drm_atomic.c:442:5: warning: symbol 'drm_atomic_crtc_get_property' was not declared. Should it be static? Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5fbec9014b5ab9deecb3338cd14aae82ed14d0ec Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Sep 24 10:07:32 2015 +0200 drm/gma500: Remove DP_LINK_STATUS_SIZE redefinition The DRM/DP helpers already contain a definition for this macro. Remove the duplicate in the GMA500 driver to avoid having to keep both updated synchronously. Cc: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21b45676b7c4b79334d8fe3c5a112af0517b66e9 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Thu Aug 27 16:43:43 2015 +0200 vga_switcheroo: Set active attribute to false for audio clients The active attribute in struct vga_switcheroo_client denotes whether the outputs are currently switched to this client. The attribute is only meaningful for vga clients. It is never used for audio clients. The function vga_switcheroo_register_audio_client() misuses this attribute to store whether the audio device is fully initialized. Most likely there was a misunderstanding about the meaning of "active" when this was added. Comment from Takashi's review: "Not really. The full initialization of audio was meant that the audio is active indeed. Admittedly, though, the active flag for each audio client doesn't play any role because the audio always follows the gfx state changes, and the value passed there doesn't reflect the actual state due to the later change. So, I agree with the removal of the flag itself -- or let the audio active flag following the corresponding gfx flag. The latter will make the proc output more consistent while the former is certainly more reduction of code." Set the active attribute to false for audio clients. Remove the active parameter from vga_switcheroo_register_audio_client() and its sole caller, hda_intel.c:register_vga_switcheroo(). vga_switcheroo_register_audio_client() was introduced by 3e9e63dbd374 ("vga_switcheroo: Add the support for audio clients"). Its use in hda_intel.c was introduced by a82d51ed24bb ("ALSA: hda - Support VGA-switcheroo"). v1.1: The changes above imply that in find_active_client() the call to client_is_vga() is now superfluous. Drop it. Cc: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> [danvet: Add Takashi's clarification to the commit message.] Reviewed-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73f7570bc6c853ca1fad24f9d31815b20e405354 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 9 16:40:57 2015 +0200 drm/core: Preserve the fb id on close. Keep the fb_id, which means that any application exiting without unsetting the framebuffer from all planes will preserve its contents. This is similar to preserving the initial framebuffer, except all planes are preserved. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> [danvet: Remove unused variable, reported by Stephen Rothwell.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13803132818cf8084d169617be060fd8e3411a98 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 9 16:40:56 2015 +0200 drm/core: Preserve the framebuffer after removing it. Previously RMFB and fd close chose to disable any plane that had an active framebuffer from this file. If it was a primary plane the crtc was disabled. However the fbdev code or any system compositor should restore the planes anyway so there's no need to do it twice. The old fb_id is zero'd, so there's no danger of being able to restore the fb from fb_id. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4dfd64862ff852df7b1198d667dda778715ee88f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:51 2015 +0300 drm: Use vblank timestamps to guesstimate how many vblanks were missed When lacking am accurate hardware frame counter, we can fall back to using the vblank timestamps to guesstimagte how many vblanks have elapsed since the last time the vblank counter was updated. Take the oppostunity to unify the vblank_disable_and_save() and drm_handle_vblank_events() to call the same function (drm_update_vblank_count()) to perform the vblank updates. If the hardware/driver has an accurate frame counter use it instead of the timestamp based guesstimate. If the hardware/driver has neither a frame counter nor acurate vblank timestamps, we fall back to assuming that each drm_handle_vblank_events() should increment the vblank count by one. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1b2eb71050915d88e62a0ca0c448e0e93484ae9e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:50 2015 +0300 drm: store_vblank() is never called with NULL timestamp Remove the NULL 't_vblank' checks from store_vblank() since that will never happen. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad1716ecca9d9099199cfc9278672c17d1484c75 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:49 2015 +0300 drm: Clean up drm_calc_vbltimestamp_from_scanoutpos() vbl_status Avoid confusion and don't use 'vbl_status' as both the .get_scanout_position() return value and the return value from drm_calc_vbltimestamp_from_scanoutpos(). While at it make 'vbl_status' unsigned and print it as hex in the debug prints since it's a bitmask. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit facfb062e8c958f321c366c6ea3d98db899a4c6e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:48 2015 +0300 drm: Limit the number of .get_vblank_counter() retries Pontential infinite loops in the vblank code are a bad idea. Add some limits. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a6e610dcce3c8cbd5217527a089c8811d4412184 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:47 2015 +0300 drm: Pass flags to drm_update_vblank_count() We'll soon have use for the 'flags' in drm_update_vblank_count() so pass it in. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 66f59c5ccf50eec42bbe4f5029ad9434f73eaf75 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:46 2015 +0300 drm/i915: Fix vblank count variable types The vblank counts are u32 so make flip_queued_vblank and flip_ready_vblank u32 as well. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 20b2020334110f9afb8316ba158b9549f2f07ff9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:45 2015 +0300 drm: Kill pixeldur_ns pixeldur_ns is now unsued, so kill it from drm_vblank_crtc. framedur_ns is also currently unused but we will have use for it in the near future so leave it be. linedur_ns is still used by nouveau for some internal delays. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3bb403bf421b5b00366a9041a7edc0a1f6494f5e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:44 2015 +0300 drm: Stop using linedur_ns and pixeldur_ns for vblank timestamps linedur_ns, and especially pixeldur_ns are becoming rather inaccurate to be used for the vblank timestamp correction. With 4k@60 the pixel duration is already below 2ns, so the amount of error due to the truncation to nanoseconds is introducing quite a bit of error. We can avoid such problems if we instead calculate the timestamp delta_ns directly from the dislay timings, avoiding the use of these intermediate truncated values. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> [danvet: Squash in fixup from Thierry Reding for amdgpu.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eba1f35dfe145247c7eb690c7c32740fde8ec699 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:43 2015 +0300 drm: Move timestamping constants into drm_vblank_crtc Collect the timestamping constants alongside the rest of the relevant stuff under drm_vblank_crtc. We can now get rid of the 'refcrtc' parameter to drm_calc_vbltimestamp_from_scanoutpos(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 942840371cde152fe57c15e0e8483b760e7763e3 Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Sep 21 17:21:48 2015 -0700 drm/fbdev: Update legacy plane->fb refcounting for atomic restore Starting with commit commit 28cc504e8d52248962f5b485bdc65f539e3fe21d Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:36:00 2015 -0400 drm/i915: enable atomic fb-helper I've been seeing some panics on i915 when the DRM master shuts down that appear to be caused by using an already-freed framebuffer (i.e., we're unexpectedly dropping our initial FB's reference count to 0 and freeing it, which causes a crash when we try to restore it later). Digging deeper, the state FB refcounting is working as expected, but we seem to be missing proper refcounting on the legacy plane->fb pointers in the new atomic fbdev code. Tracking plane->old_fb and then doing a ref/unref at the end of the fbdev restore like we do in the legacy ioctl's ensures we don't miscount references on plane->fb and avoids the panics. v2 from Daniel: Really do what the atomic ioctl does: - Also update plane->fb and plane->crtc. - Clear out plane->old_fb on failures too. v3: git add everything. Oops. v4: Also clear old_fb in all other failure paths, spotted by David. Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> (v1) Reviewd-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5e7d49446b5964d2866ea1912cc9f65ab33ed76f Author: Geliang Tang <geliangtang@xxxxxxx> Date: Wed Sep 16 23:25:22 2015 -0700 drm: fix kernel-doc warnings in drm_crtc.h Fix the following 'make htmldocs' warning: .//include/drm/drm_crtc.h:929: warning: Excess struct/union/enum/typedef member 'base' description in 'drm_bridge' Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4127838c460ab66f60ea8cdb069654972f8c277f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sat Sep 5 13:40:23 2015 +0200 vga_switcheroo: Sort headers alphabetically Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f15a66e68422ca6bb783142780ad440067f6cc89 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sat Sep 5 11:22:39 2015 +0200 drm: Spell vga_switcheroo consistently Currently everyone and their dog has their own favourite spelling for vga_switcheroo. This makes it hard to grep dmesg for log entries relating to vga_switcheroo. It also makes it hard to find related source files in the tree. vga_switcheroo.c uses pr_fmt "vga_switcheroo". Use that everywhere. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1da248a583de4e63a006dd84d9d53e6784b958a3 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 14 22:43:42 2015 +0300 drm: s/int crtc/unsigned int pipe/ straggles Finish the recent replacement of 'int pipe' with 'unsigned int pipe' Cc: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f881bab038c9667deab19a85d8666029cbfa6f2c Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 23 16:20:43 2015 -0700 gpio: keep the GPIO line names internal This refactors the changes to the GPIO line naming mechanism to not have so widespread effects, instead we conclude the patch series by having created a name attribute in the GPIO descriptor, that need not be globally unique, and it will be initialized from the old .names array in struct gpio_chip if it exists, then used in the legacy sysfs code like the array was used previously. The associated changes to name lines from the device tree are controversial and need to stand alone from this. Resulting changes: 1. Remove the export and the header for the gpio_name_to_desc() as so far the only use is inside gpiolib.c. Staticize gpio_name_to_desc() and move it above the only function using it. 2. Only print a warning if there are two GPIO lines with the same name. The reason is to preserve current behaviour: before the previous changes to the naming mechanism this would not reject probing the driver, instead the error would occur when trying to export the line in sysfs, so restore this behaviour, but print a friendly warning if names collide. Cc: Johan Hovold <johan@xxxxxxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ced433e2a4a0f11362c149daf802157ffb65ee20 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 14 16:11:02 2015 +0200 gpiolib: Add gpio name information to /sys/kernel/debug/gpio Add some information about gpio names to the debugfs gpio file. name and label of a GPIO are then displayed next to each other. This way it is easy to see what the real name of GPIO is and what the driver requested it for. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> [Dropped unsolicited sysfs ABI patch hunk] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ddd5404007b8496f20ad2efe1147e102e6226634 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 14 16:11:01 2015 +0200 gpio-sysfs: Use gpio descriptor name instead of gpiochip names array The name is now stored in the gpio descriptor as well, for example to allow to store names from DT. This patch changes the sysfs gpio files to use the gpio descriptor name. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5f3ca7329b049b40667a190ddf14b69afdb91576 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 14 16:11:00 2015 +0200 gpiolib: Use GPIO name from names array for gpio descriptor This patch adds GPIO names to the GPIO descriptors when initializing the gpiochip. It also introduces a check whether any of the new names will conflict with an existing GPIO name. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c0017ed71966a19ec40c7bc900d4338ddfbc4105 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 14 16:10:59 2015 +0200 gpio: Introduce gpio descriptor 'name' The latest gpio hogging mechanism assigns each gpio a 'line-name' in the devicetree. The 'name' field is different from the 'label' field. 'label' is only used for requested GPIOs to describe its current use by driver or userspace. The 'name' field describes the GPIO itself, not the use. This is most likely identical to the label in the schematic on the GPIO line and should help to find this particular GPIO. This is equivalent to the gpiochip->names array. However names should be stored in the GPIO descriptor. We will use gpiochip->names in the future only as initializer for the GPIO descriptors for drivers that assign GPIO names hardcoded. All other GPIO names will be parsed from DT and directly assigned to the GPIO descriptor. This patch adds a helper function to find gpio descriptors by name instead of gpio number. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fd7337fdb9bce420033c28af4c07b73e34e692c1 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Fri Aug 14 16:10:58 2015 +0200 gpiolib-of: Rename gpio_hog functions to be generic The gpio hogging functions are currently only used for gpio-hogging. But these functions are widely generic ones which parse gpio device nodes in the DT. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0f7e17740612ca0f3b8baf91645075d07bb52b2c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 24 23:34:01 2015 +0800 ASoC: rl6347a: Clean up unneeded inclusion of header files Also move the include of sound/hda_verbs.h to rl6347a.h because it is used in rl6347a.h. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b4fe8ba7a310da6a2b99e3abe67c7815198cde49 Author: Qipeng Zha <qipeng.zha@xxxxxxxxx> Date: Tue Sep 15 00:39:17 2015 +0800 regmap: Add generic macro to define regmap_irq Add REGMAP_IRQ_REG macro in regmap.h to define regmap_irq structure easily for other driver module. Signed-off-by: Qipeng Zha <qipeng.zha@xxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9ab8b4e7cacfc4a03e4f39fe8a090436ce456720 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Sep 21 22:18:45 2015 +0530 dmaengine: idma: rename to INTEL_IDMA64 the symbol CONFIG_IDMA64 should rather be CONFIG_INTEL_IDMA64 to conform to rest of the intel dmaengine drivers. This was found after sorting the entries and trying to place this odd one Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 646db260b843d2f758559a5483174354c304acf8 Merge: a645654 1f93e4a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 22 11:02:18 2015 +0200 Merge tag 'v4.3-rc2' into topic/drm-misc Backmerge Linux 4.3-rc2 because of conflicts in the dp helper code between bugfixes and new code. Just adjacent lines really. On top of that there's a silent conflict in the new fsl-dcu driver merged into 4.3 and commit 844f9111f6f54f88eb2f0fac121b82ce77193866 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 2 10:42:40 2015 +0200 drm/atomic: Make prepare_fb/cleanup_fb only take state, v3. which Thierry Reding spotted and provided a fixup for. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 4781bc427b0d23bfde4675d210fd35debee2c9de Author: Jérôme Glisse <jglisse@xxxxxxxxxx> Date: Mon Aug 31 18:13:03 2015 -0400 iommu/amd: Return positive value in amd_iommu_detect() Fix amd_iommu_detect() to return positive value on success, like intended, and not zero. This will not change anything in the end as AMD IOMMU disable swiotlb and properly associate itself with devices even if detect() doesn't return a positive value. Signed-off-by: Jérôme Glisse <jglisse@xxxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Cc: iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx commit e88ab30d3669f08e94e66e7f926713be93af97fc Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Sep 23 18:18:11 2015 +0200 Bluetooth: hci_bcm: Add suspend/resume runtime PM functions Adds autosuspend runtime functionality to BCM UART driver. Autosuspend is enabled at end of bcm_setup. bcm_device_lock is used for system sleep functions as they can be called at any time. bcm_device_lock is not held for runtime suspend functions as this is only enabled as long as platform device is opened. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7649faff1cfe4f76dabf78cd53d659d39f65b3c1 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Sep 23 18:18:10 2015 +0200 Bluetooth: Remove useless rx_lock spinlock rx_lock spinlock is only used in hci_uart_tty_receive() which is the receive_buf ldisc callback. hci_uart_tty_receive() is protected from re-entrance by its only caller (flush_to_ldisc() in drivers/tty/tty_buffer.c) which held a mutex (buf->lock) for this section. This lock allows "safe use of the line discipline's receive_buf() method by excluding the buffer work and any pending flush from using the flip buffer." (comments from tty_buffer_lock_exclusive() in drivers/tty/tty_buffer.c) So, no need to double protect this resource with rx_lock. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b7a622a249736b36c0bf4c3f986ed431281d5e98 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Sep 23 18:18:09 2015 +0200 Bluetooth: hci_bcm: Prepare PM runtime support Change some CONFIG_PM_SLEEP to CONFIG_PM as hu and is_suspended parameters will be used during PM runtime callbacks. Add bcm_suspend_device() and bcm_resume_device() which performs link management for PM callbacks. These functions will be used for runtime management. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5cebdfea32b89911d4540440c1c2854a1a3d591e Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Sep 23 18:18:08 2015 +0200 Bluetooth: hci_bcm: Fix IRQ polarity for T100 ACPI table for BCM2E39 of T100TA is not correct. Set correct irq_polarity for this device. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 594b31ea7dc6101519deee1b31483fce2e1a7414 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Wed Sep 23 18:18:07 2015 +0200 Bluetooth: Add BT_WARN and bt_dev_warn logging macros Add warning logging macros to bluetooth subsystem logs. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7c4a7d60bcda9449bca1ed2ee47392cd7acb8535 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 24 11:57:45 2015 +0100 drm/i915: Defer adding preallocated stolen objects to the VM list When preallocating a stolen object during early initialisation, we may be running before we have setup the the global GTT VM state, in particular before we have initialised the range manager and associated lists. As this is the case, we defer binding the stolen object until we call i915_gem_setup_global_gtt(). Not only should we defer the binding, but we should also defer the VM list manipulation. Fixes regression uncovered by commit a2cad9dff4dd44d0244b966d980de9d602d87593 Author: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Date: Wed Sep 16 11:49:00 2015 +0200 drm/i915/gtt: Do not initialize drm_mm twice. Whilst I am here remove the duplicate work leaving dangling pointers from the error path... v2: Typos galore before coffee. Reported-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92099 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Reviewed-by: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Tested-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit db25f440f42eca380fcdb339f51cf73633e32485 Merge: 145d92e 8351044 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 24 14:02:48 2015 +0200 Merge branch 'for-linus' into for-next commit 3ac58d58087e65592f2b91957c7a106a7a409aa4 Author: Olliver Schinagl <o.schinagl@xxxxxxxxxxxxx> Date: Tue Sep 8 21:19:51 2015 +0200 fbdev: ssd1307fb: add ssd1309 support The ssd1307fb driver supports a lot of chips from the ssd130xfb series. This patch adds the ssd1309 chip, a 128x64 OLED driver chip. It is very similar to the other chips and only has some definitions added to support it. Signed-off-by: Olliver Schinagl <o.schinagl@xxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 48846ec502525bd93ee6e611eeacb397f5662f9b Author: Olliver Schinagl <oliver@xxxxxxxxxxx> Date: Tue Sep 8 21:19:50 2015 +0200 fbdev: ssd1307fb: alphabetize headers This patch sorts the headers on ssd1307fb driver. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c50d5cd235210abffa1e88affbead1adbd5f294a Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:34:00 2015 +0200 video/omap: remove invalid check regno is unsigned so it cannot be negative. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 8a9d4626db312fe0a682c35ef43fe8d9160c2ecd Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri Aug 28 17:21:46 2015 +0300 OMAPDSS: hdmi: Reconfigure and restart audio when display is enabled Reconfigure and restart audio when display is enabled, if audio playback was active before. This is needed in a situation when an audio+video stream application opens the audio stream before the video. When video stream is opened the display mode may change and that aborts audio playback, because the display is momentarily turned off. The audio configuration is stored when it is successfully applied and a boolean is set when the audio playback is started and unset when stopped. This data is used to reconfigure the audio when display is re-enabled. The audio playback is aborted if the reconfiguration fails. A new spin lock is introduced in order to protect state variables related to audio playback status. This is needed for the transition from display enabled state (when audio start/stop commands can be written to HW) to display disabled state (when audio start/stop commands update only the hdmi.audio_playing variable) to always serialize correctly with the start/stop audio commands. The already existing mutex can not be used, because the audio start and stop commands are executed in atomic context. For example: when display is turned back on we take the spinlock and we can be sure that the audio start/stop status will not change while we update the HW according to hdmi.audio_playing state and set hdmi.display_enabled to true. After releasing the lock hdmi.display_enabled is true and all audio_start and audio_stop commands write their stuff directly to HW. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 145d92e77e6f34f53773fdb06789816ec2b6c7b3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Sep 23 12:42:28 2015 +0300 ALSA: core: check for underflow in snd_pcm_sw_params() As far as I can see, having an invalid ->tstamp_mode is harmless, but adding a check silences a static checker warning. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 13f3a46d2a6cbdff1bbb06fac6de7dce753db8e1 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Sep 20 21:18:55 2015 +0900 ALSA: oxfw: add Mackie Onyx Satellite quirk to inform wrong value in 'dbs' field in tx CIP header Mackie Onyx Satellite has two usage; standalone and with base station. These two modes has different stream formats. In standalone mode, rx data block includes 2 Multi Bit Linear Audio (MBLA) data channels and tx data block includes 2. With base station, they're 6 and 2. Although, with base station, the actual tx packet include wrong value in 'dbs' field in its CIP header. This quirk causes packet streaming layer to detect packet discontinuity and to stop PCM substream. This is a response of 'single' subfunction 'extended stream format information' command in AV/C Stream Format Information Specification 1.1. It means that a data block in tx packets includes 2 MBLA data channels. $ ./firewire-request /dev/fw1 fcp 0x01ffbfc001000000ffffffff response: 000: 0c ff bf c0 01 00 00 00 ff 00 90 40 03 02 01 02 response: 010: 06 Current OXFW driver parses the response and detects stream formats correctly. $ cat /proc/asound/card1/firewire/formation ... Output Stream from device: Rate PCM MIDI * 48000 2 0 44100 2 0 88200 2 0 96000 2 0 On the other hand, in actual tx CIP, the 'dbs' field has 6. But the number of quadlets in CIP payload is not multiple of 6. Seeing the subtraction of two successive payload quadlets, it should be multiple of 2. payload CIP CIP quadlets header0 header1 24 00060052 9002ffff 24 0006005e 9002ffff 26 0006006a 9002ffff 24 00060077 9002ffff 24 00060083 9002ffff 26 0006008f 9002ffff 24 0006009c 9002ffff 24 000600a8 9002ffff 26 000600b4 9002ffff 24 000600c1 9002ffff This commit adds support for this quirk to OXFW driver, by using CIP_WRONG_DBS flag. When this flag is set, packet streaming layer uses the value of its 'data_block_quadlets' member instead of the value in CIP header. This value is already set by OXFW driver and no discontinuity is detected. Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 158ecc39185b885420e5136b803b29be2bbec7fb Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Sep 23 12:49:01 2015 +0200 x86/fpu: Fixup uninitialized feature_name warning Hand in &feature_name to cpu_has_xfeatures() as it is supposed to. Fixes an uninitialized warning. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: brgerst@xxxxxxxxx Cc: dvlasenk@xxxxxxxxxx Cc: fenghua.yu@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: tim.c.chen@xxxxxxxxxxxxxxx Fixes: d91cab78133d ("x86/fpu: Rename XSAVE macros") Link: http://lkml.kernel.org/r/20150923104901.GA3538@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 21dd560162d4bbf98cc81b303bfa19740ae5b964 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Tue Aug 11 13:11:58 2015 -0700 ixgbe: Advance version to 4.2.1 With the addition of X550em_x SFP+ support, the driver is now functionally equivalent to what will be the 4.2.1 driver when released, so change the version to match. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c5846ba44500293d290eb2a31bd344565f237ad3 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:27:56 2015 -0700 ixgbe: X540 thermal warning interrupt not a GPI The X540 thermal interrupt (IXGBE_EIMS_TS) is not an SDP, so it doesn't need to be enabled in ixgbe_setup_gpie(). In fact the value is simply not for the GPIE register at all. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bc1fc64fd2d9093496e5b04c6d94d26bfa629c9c Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:27:51 2015 -0700 ixgbe: Fix FCRTH value in VM-to-VM loopback mode The 82599 and X540 datasheets require that FCRTH be "set" for Tx switching (VM-to-VM loopback) but it did not previously specify what the value should be set to. It has now been determined that the correct value is RXPBSIZE - (24*1024). This setting is also required for later devices. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3507a9b8c9d1684b5095c97f587ee46184e590da Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:27:46 2015 -0700 ixgbe: Only clear adapter_stopped if ixgbe_setup_fc succeeded A logic error here results in the adapter_stopped flag only being cleared when ixgbe_setup_fc returns an error. Correct the logic. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9de7605ea2389d5ab86d6fbb3f1a11b87665a35c Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:27:41 2015 -0700 ixgbe: Correct several flaws with with DCA setup This change does two things. First, it makes it so that we always set the relaxed ordering bits related to the DCA registers even if DCA is not enabled. Second, it moves the configuration out of the ixgbe_down function and into the ixgbe_configure function before enabling the Rx and Tx rings. This ensures that DCA is configured correctly before starting to process packets. Thanks to Alex Duyck for this fix. CC: Alex Duyck <aduyck@xxxxxxxxxxxx> Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 018d7146eee1942f27675bdabf9b43586bfaef72 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:19:19 2015 -0700 ixgbe: Add new X550EM SFP+ device ID Add new device ID for X550EM device with SFPs. 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 7fc151035487916b266257c2e7b8b6cb2a5cd04f Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:19:14 2015 -0700 ixgbe: Update ixgbe_disable_pcie_master flow for X550* This patch skips the PCI transactions pending check in ixgbe_disable_pcie_master. This is done to addresses a known HW issue where the PCI transactions pending bit sticks high when there are pending transactions. HW engineering instructed to workaround this issue by wait and then continue with our reset flow. 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 f961ddae164a5288a62146aae191da7bc1ecedb4 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:19:09 2015 -0700 ixgbe: Add small packet padding support for X550 This patch sets RDRXCTL.PSP when the driver is in SRIOV mode which enables padding of small packets. 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 052a1a724338bbf4721f8b4d7de8486701fc37cb Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:19:04 2015 -0700 ixgbe: Correct setting of RDRXCTL register for X550* devices Setting the X550* RDRXCTL register should fall through into X540 and 82599, not 82598. 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 5967fe225686bcae17352de172573964a15b17d5 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:59 2015 -0700 ixgbe: Correct error path in semaphore handling The timeout path is supposed to release the semaphore, so do that. 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 449e21a92411ba35bfa68b4464aa7dbd1f705d28 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:53 2015 -0700 ixgbe: Add I2C bus mux support Take control of an I2C mux that selects which SFP is attached to the I2C bus. The control of the mux is captured in the taking and releasing of the related semaphore. Because only port 1 can control the mux, port 1 always leaves the mux set to select port 0. 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 58e7cd24d474c87763387f606e403012f562760b Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:48 2015 -0700 ixgbe: Limit SFP polling rate Reduce the frequency of polling for SFP modules. Because the service task sometimes runs at high rates, we can poll for SFPs too often. When an SFP is not present, the I2C timeouts that result are very costly. So, prevent SFP polling from being done more than once every two seconds. To reduce latency, the poll time is cleared in a couple of cases to permit the next service task execution to poll the SFP module. 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 69eec0c2fa8781a6abae96af1f11069e1965cbfe Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:43 2015 -0700 ixgbe: Allow SFP+ on more than 82598 and 82599 Since SFP+ can be used with some X550 devices, permit them to be detected. 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 542b6eecf4c3640f15a84ff89525131d421e7c8c Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:38 2015 -0700 ixgbe: Add logic to reset CS4227 when needed On some hardware platforms, the CS4227 does not initialize properly. Detect those cases and reset it appropriately. 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 e23f33367882450c66f7de8805b98ce7665a7ba9 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:33 2015 -0700 ixgbe: Fix 1G and 10G link stability for X550EM_x SFP+ Configures the CS4227 correctly for both 1G and 10G operation, by moving the code to ixgbe_setup_mac_link_sfp_x550em(). It needs to be in this function because we need both the module type and the speed, and this is the only function in the init flow that knows the speed. In contrast, ixgbe_setup_sfp_modules_X550em() does not know the speed, so we can't do anything useful here. This is a fundamental difference from the previous flow, and is due to the way the CS4227 is implemented. 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 6d373a1bbb99bdfb9ce820aec9ae5f2e02c8891f Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:28 2015 -0700 ixgbe: Add X550EM_x dual-speed SFP+ support This patch adds X550EM_x SFP+ dual-speed support. 82599 fiber link code was moved from ixgbe_82599.c to ixgbe_common.c for use by X550EM. SFP MAC link code is added to x550EM. 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 56f6ed1ce13b0cb85ae9537f839df7c4ba1f5369 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:22 2015 -0700 ixgbe: Allow reduced delays during SFP detection Reduce the number of retries during PHY detection. This reduces pauses when no SFP is present. Once an SFP is detected, the normal retry count will be used. 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 6ee8c9a70d65ee37251465348501a067138050d7 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:17 2015 -0700 ixgbe: Clear I2C destination location Clear the destination location for I2C data initially so that the received data will not be affected by previous attempts. This could have returned wrong data in certain retry sequences. 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 57781c1ceead5a3c1cd3ae11834226ef1de21cb5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:03:01 2015 -0500 ipvs: Pass ipvs into ip_vs_gather_frags This will be needed later when the network namespace guessing is removed from ip_defrag. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 9cfdd75b7c049895317aebb0e27f8112e7e31593 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:03:00 2015 -0500 ipvs: Remove skb_sknet This function adds no real value and it obscures what the code is doing. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 7c6c21ee94452081a5219667851d2084a45c5009 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:59 2015 -0500 ipvs: Remove skb_net This hack has no more users so remove it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 7d1f88eca0ae7228bdbd971f060603b3a1270693 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:58 2015 -0500 ipvs: Pass ipvs not net to ip_vs_protocol_net_(init|cleanup) Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 69f390934b26154573fc7c360645ced8b0c7871a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:57 2015 -0500 ipvs: Remove net argument from ip_vs_tcp_conn_listen The argument is unnecessary and in practice confusing, and has caused the callers to do all manner of silly things. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit a43d1a6b97433f7774436307708516ee06592c54 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:56 2015 -0500 ipvs: Pass ipvs through ip_vs_route_me_harder into sysctl_snat_reroute This removes the need to use the hack skb_net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 7b5f689a2c25fbae66683071e895e444658b0eef Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:55 2015 -0500 ipvs: Pass ipvs into ip_vs_out_icmp and ip_vs_out_icmp_v6 This removes the need to compute ipvs with the hack "net_ipvs(skb_net(skb))" Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6f2bcea9917d85ff78b3a497e4a96b77b7bc2dd0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:54 2015 -0500 ipvs: Pass ipvs into ip_vs_in_icmp and ip_vs_in_icmp_v6 With ipvs passed into ip_vs_in_icmp and ip_vs_in_icmp_v6 they no longer need to call the hack that is skb_net. Additionally ipvs_in_icmp no longer needs to call dev_net(skb->dev) and can use the ipvs->net instead. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6e385bb3efdbfaf09b564b93b2a834006802de84 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:53 2015 -0500 ipvs: Pass ipvs into ip_vs_in Derive ipvs from state->net in the callers of ip_vs_in and pass it into ip_vs_out. Removing the need to use the hack skb_net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1b75097dd7a2680d2e209fe452b6fab01a511fb1 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:52 2015 -0500 ipvs: Pass ipvs into ip_vs_out Derive ipvs from state->net in the callers of ip_vs_out and pass it into ip_vs_out. Removing the need to use the hack skb_net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 2300f0451e5fa5016330a5f7878db2ca0858b836 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:51 2015 -0500 ipvs: Pass ipvs not net into sysctl_nat_icmp_send Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 51efbcbbb29708f8b588fda6cca42d26710f14fd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:50 2015 -0500 ipvs: Simplify ipvs and net access in ip_vs_leave Stop using the hack skb_net(skb) to compute the network namespace. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 570329487437d4531eb806accdf98726923367ae Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:49 2015 -0500 ipvs: Wrap sysctl_cache_bypass and remove ifdefs in ip_vs_leave With sysctl_cache_bypass now a compile time constant the compiler can figue out that it can elimiate all of the code that depends on sysctl_cache_bypass being true. Also remove the duplicate computation of net previously necessitated by #ifdef CONFIG_SYSCTL Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 7c08d78e6f122039ab98edf74c3c7b4b15c9fa1d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:48 2015 -0500 ipvs: Better derivation of ipvs in ip_vs_in_stats and ip_vs_out_stats Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 20868a40d0a6d88467d95fb0e5b0448e6a0c83a0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:47 2015 -0500 ipvs: Pass ipvs into ensure_mtu_is adequate This allows two different ways for computing/guessing net to be removed from ensure_mtu_is_adequate. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f5745f8ae6bd1ac5e59031b2e3e91fcbf4b30c5b Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:46 2015 -0500 ipvs: Pass ipvs into __ip_vs_get_out_rt_v6 Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ecfe87b884dc0ed352b783ad2d7787a5883c60ea Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:45 2015 -0500 ipvs: Pass ipvs into __ip_vs_get_out_rt Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 361c3f529332b28408ba7f8e8a4fa3ac23c855ff Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:44 2015 -0500 ipvs: Better derivation of ipvs in ip_vs_tunnel_xmit Don't use "net_ipvs(skb_net(skb))" as skb_net is a bad hack. Instead use cp->ipvs and ipvs->net for the net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit d8f44c335a1111d647f41e9fa6ae65b18db112e4 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:43 2015 -0500 ipvs: Pass ipvs into .conn_schedule and ip_vs_try_to_schedule This moves the hack "net_ipvs(skb_net(skb))" up one level where it will be easier to remove. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 2f3edc6a5bb2a570f491e8e8a4a16526aff3675b Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:42 2015 -0500 ipvs: Pass ipvs not net into ip_vs_conn_net_init and ip_vs_conn_net_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit d889717aaf15475e2bfba76320ecd1e8290f6bc8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:41 2015 -0500 ipvs: Pass ipvs not net into ip_vs_conn_net_flush Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 754b81a35710e02ffada4d80095318a3e57acd48 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:40 2015 -0500 ipvs: Pass ipvs not net to ip_vs_conn_hashkey Use the address of struct netns_ipvs in the hash not the address of struct net. Both addresses are equally valid candidates and by using the address of struct netns_ipvs there becomes no need deal with struct net in this part of the code. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 0cf705c8c2e8333aff5b472cfff13f9542620500 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:39 2015 -0500 ipvs: Pass ipvs into conn_out_get Move the hack of relying on "net_ipvs(skb_net(skb))" to derive the ipvs up a layer. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ab161976421585812bcdab6592852b1b5b7dec1f Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:38 2015 -0500 ipvs: Pass ipvs into .conn_in_get and ip_vs_conn_in_get_proto Stop relying on "net_ipvs(skb_net(skb))" to derive the ipvs as skb_net is a hack. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f5099dd4d98a8cc4ef1003378a4812597cfba4c6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:37 2015 -0500 ipvs: Pass ipvs into ip_vs_conn_fill_param_proto Move the ugly hack net_ipvs(skb_net(skb)) up a layer in the call stack so it is easier to remove. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1281a9c2d181a932ae2f59f5711ae087a58f1c13 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:36 2015 -0500 ipvs: Pass ipvs not net into init_netns and exit_netns Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit c70bd6800abf1fe78d5fca2146f91831e94324d1 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:35 2015 -0500 ipvs: Pass ipvs not net into [un]register_ip_vs_proto_netns Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b5dd212cc147603372d39dbe52480d687c98da7d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:34 2015 -0500 ipvs: Pass ipvs not net into ip_vs_app_net_init and ip_vs_app_net_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 09858708e68c7d9900e631e1e6e91a882e59518d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:33 2015 -0500 ipvs: Pass ipvs not net into ip_vs_app_inc_release Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 9f8128a56ef241753ea038e92948fe13beacf59f Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:32 2015 -0500 ipvs: Pass ipvs not net to register_ip_vs_app and unregister_ip_vs_app Also move the tests for net_ipvs being NULL into __ip_vs_ftp_init and __ip_vs_ftp_exit. The only places where they possibly make sense. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3250dc9c52045dd3f38297d1e189cc147a8db884 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:31 2015 -0500 ipvs: Pass ipvs not net to register_ip_vs_app_inc Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit a080ce38a0b9746ef61af93c0cc300d9131bc8c8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:30 2015 -0500 ipvs: Pass ipvs not net into ip_vs_app_inc_new Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 19648918fbf245ab2dda8c7842c9a83fd412ac35 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:29 2015 -0500 ipvs: Pass ipvs not net into register_app and unregister_app Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit a4dd0360c623e5beac011f3674ff7e13b35b5b05 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:28 2015 -0500 ipvs: Pass ipvs not net to ip_vs_estimator_net_init and ip_vs_estimator_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 70a131a2c815935ecb3b5fa5cb53e6244823d5ff Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:27 2015 -0500 ipvs: Pass ipvs not net to estimation_timer Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3d99376689ee40d4e88c90d26588268a4fccb383 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:26 2015 -0500 ipvs: Pass ipvs not net into ip_vs_control_net_(init|cleanup) Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 8b8237a5814d96e2740e9f74ca37688b46625314 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:25 2015 -0500 ipvs: Pass ipvs not net to ip_vs_control_net_(init|cleanup)_sysctl Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 423b55954de222380a6b63c5b6ae7b6686e98e63 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:24 2015 -0500 ipvs: Pass ipvs not net to ip_vs_random_drop_entry Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 0f34d54bf48892f23e2abef2f9fd8d0237db4623 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:23 2015 -0500 ipvs: Pass ipvs not net to ip_vs_start_estimator aned ip_vs_stop_estimator Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit cacd1e60f1f2fb863b2272b8557c4fb0d3bc69e9 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:22 2015 -0500 ipvs: Pass ipvs not net to ip_vs_genl_set_config Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ebea1f7c0b8c0bb02045c87e4b548a31fc5612a6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:21 2015 -0500 ipvs: Pass ipvs not net to ip_vs_sync_net_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 802cb43703d080bd6269578bf6747189b654cc24 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:20 2015 -0500 ipvs: Pass ipvs not net to ip_vs_sync_net_init Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1fc12004d2fdb31c1b5db58d51a19bc145f6fcf7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:19 2015 -0500 ipvs: Pass ipvs not net to ip_vs_proc_sync_conn Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 4f30665bac73cba452fe49f97c51e663b9fec34c Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:18 2015 -0500 ipvs: Pass ipvs not net to ip_vs_proc_conn Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b61a8c1a40c2a9417eb6f710cce54353d195c9c7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:17 2015 -0500 ipvs: Pass ipvs not net to ip_vs_sync_conn Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 72e9481e28e4f982b91a58ebce86d27b395d8789 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:16 2015 -0500 ipvs: Pass ipvs not net to ip_vs_sync_conn_v0 Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 7d537f3ab7694709981498c37233a0874d18c639 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:15 2015 -0500 ipvs: Pass ipvs not net to ip_vs_process_message Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 37b68e6ded49c0b7e7434a4ecd17c5553e576b4d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:14 2015 -0500 ipvs: Store ipvs not net in struct ip_vs_sync_thread_data In practice struct netns_ipvs is as meaningful as struct net and more useful as it holds the ipvs specific data. So store a pointer to struct netns_ipvs. Update the accesses of tinfo->net to access tinfo->ipvs->net instead. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit fd124e2f8bb2ff94a1547a8f1d9741e7ffef1bbb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:13 2015 -0500 ipvs: Pass ipvs not net to make_receive_sock Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 68c76b6aa0e02b727e931cd9ce7d969e94a8e845 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:12 2015 -0500 ipvs: Pass ipvs not net to make_send_sock Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b3cf3cbfb57c273cf9f88230416fcc5b97287862 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:11 2015 -0500 ipvs: Pass ipvs not net to stop_sync_thread Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6ac121d710697cee894d6981b804583b0a66ed38 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:10 2015 -0500 ipvs: Pass ipvs not net to start_sync_thread Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit df04ffb766a6eca2805d77e4f38beb7a9764c384 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:09 2015 -0500 ipvs: Pass ipvs not net to ip_vs_genl_del_daemon Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit d8443c5f2b6524bbad465073330f6dba458f8871 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:08 2015 -0500 ipvs: Pass ipvs not net to ip_vs_genl_new_daemon Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 34c2f5146c6567843b6507aaedd794725ba91496 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:07 2015 -0500 ipvs: Pass ipvs not net to ip_vs_genl_find_service Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 613fb830b75d6cd0f41f8365d031d10346ac637d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:06 2015 -0500 ipvs: Pass ipvs not net to ip_vs_genl_parse_service Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit af5403419d1c14bdae11eee55083a0ae308c6ecf Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:05 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_get_timeouts Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 08fff4c3576451cdb33bf1606c90a27c222aae73 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:04 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_get_dest_entries Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b2876b7773f3dbd3989d6e1dbeb2cbe879d84fbd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:03 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_get_service_entries Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f1faa1e7495445444c3227f698dacee50176ace0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:02 2015 -0500 ipvs: Pass ipvs not net to ip_vs_set_timeout Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 18d6ade63c8d796c272e2b4922d649cf108d7980 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:01 2015 -0500 ipvs: Pass ipvs not net to ip_vs_proto_data_get Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit a47b4300801978745bca9fd08d848b9024eed797 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:02:00 2015 -0500 ipvs: Cache ipvs in ip_vs_in_icmp and ip_vs_in_icmp_v6 Storte the value of net_ipvs in a variable named ipvs so that when there are more users struct netns_ipvs in ip_vs_in_cmp and ip_vs_in_icmp_v6 they won't need to compute the value again. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit c60856c687d601e908950289f5b3917253e98cb6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:59 2015 -0500 ipvs: Pass ipvs not net to ip_vs_zero_all Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 56d2169b7734f9b5cb2a4e66887ce6dc33d53632 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:58 2015 -0500 ipvs: Pass ipvs not net to ip_vs_service_net_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ef7c599d91172d388463c61da6d47d5bb002ca4d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:57 2015 -0500 ipvs: Pass ipvs not net to ip_vs_flush Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 5060bd8307fcfbd405c6038228e8927e593b2008 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:56 2015 -0500 ipvs: Pass ipvs not net to ip_vs_add_service Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit cd58278bd4a409af4619bb1d7dc4d80dc3017a50 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:55 2015 -0500 ipvs: Cache ipvs in ip_vs_genl_set_cmd Compute ipvs early in ip_vs_genl_set_cmd and use the cached value to access ipvs->sync_state. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 8e743f1b455d40dd34dd76a234e3a01427a7d123 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:54 2015 -0500 ipvs: Pass ipvs not net to ip_vs_dest_trash_expire Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 79ac82e0aaff327383beb860150fb2a85aa7b743 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:53 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_del_dest Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6c0e14f507364d6a87bb7ce349ba2d97c2ea9480 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:52 2015 -0500 ipvs: Pass ipvs not net to ip_vs_trash_cleanup Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit dc2add6f2e35916afd6ffcd7819a06ce9b28063d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:51 2015 -0500 ipvs: Pass ipvs not net to ip_vs_find_dest Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 48aed1b029597d5f33316b1e978392fe30814f8d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:50 2015 -0500 ipvs: Pass ipvs not net to ip_vs_has_real_service Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 0a4fd6ce92460ec325f7e56813645e4308da170e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:49 2015 -0500 ipvs: Pass ipvs not net to ip_vs_service_find Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit bb2e2a8c957fd1ae323b84d8a1c3268233669f83 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:48 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_service_find Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ba61f39034dc296990fa2dd7a9c2720f49beee1e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:47 2015 -0500 ipvs: Pass ipvs not net to ip_vs_svc_hashkey Use the address of ipvs not the address of net when computing the hash value. This removes an unncessary dependency on struct net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1ed8b947806155c1898c1af7c664aff1690ca22e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:46 2015 -0500 ipvs: Pass ipvs not net to __ip_vs_svc_fwm_find ipvs is what the code actually wants to use. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f6510b245e0b32b67d836b2ff5c0b132a58a8cbe Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:45 2015 -0500 ipvs: Pass ipvs not net to ip_vs_svc_fwm_hashkey Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3109d2f2d1fe068f1cc3b1f74f5022ab4aef52a7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:44 2015 -0500 ipvs: Store ipvs not net in struct ip_vs_service In practice struct netns_ipvs is as meaningful as struct net and more useful as it holds the ipvs specific data. So store a pointer to struct netns_ipvs. Update the accesses of param->net to access param->ipvs->net instead. In functions where we are searching for an svc and filtering by net filter by ipvs instead. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 19913dec1bc1d1aa5afe26db858507d4c3042665 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:43 2015 -0500 ipvs: Pass ipvs not net to ip_vs_fill_conn ipvs is what is actually desired so change the parameter and the modify the callers to pass struct netns_ipvs. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit e64e2b460cedadf93d05a23e9ad397cc0386568c Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:42 2015 -0500 ipvs: Store ipvs not net in struct ip_vs_conn_param In practice struct netns_ipvs is as meaningful as struct net and more useful as it holds the ipvs specific data. So store a pointer to struct netns_ipvs. Update the accesses of param->net to access param->ipvs->net instead. When lookup up struct ip_vs_conn in a hash table replace comparisons of cp->net with comparisons of cp->ipvs which is possible now that ipvs is present in ip_vs_conn_param. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 58dbc6f2604a2cbff9e6ec144d1bb9d000a1a1ec Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:41 2015 -0500 ipvs: Store ipvs not net in struct ip_vs_conn In practice struct netns_ipvs is as meaningful as struct net and more useful as it holds the ipvs specific data. So store a pointer to struct netns_ipvs. Update the accesses of conn->net to access conn->ipvs->net instead. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit d484fc38124bc198b9285c80d709c9e4ee032085 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:40 2015 -0500 ipvs: Use state->net in the ipvs forward functions Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 717e917ddfa8db628041490eb44bce5815e947fd Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:39 2015 -0500 ipvs: Don't use current in proc_do_defense_mode Instead store ipvs in extra2 so that proc_do_defense_mode can easily find the ipvs that it's value is associated with. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1daea8ed16ae3f949eb82893cd8656f3f08125eb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Sep 21 13:01:38 2015 -0500 ipvs: Hoist computation of ipvs earlier in sctp_conn_schedule The addition of sysctl_sloppy_sctp in sctp_conn_schedule resulted in a use of ipvs before it was computed. Hoist the computation of ipvs earlier to avoid this problem. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 06e60e5912c0373b15143cc52e4a11fafeaafff3 Author: Max Filippov <jcmvbkbc@xxxxxxxxx> Date: Tue Sep 22 14:27:16 2015 +0300 net/ethoc: support big-endian register layout Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bb6aa56bb388ac4f7dba226aa55142fa8c65361 Author: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Date: Tue Sep 22 10:57:04 2015 +0200 net: davinci_emac: Add support for fixed-link PHY In case the DaVinci Emac is directly connected to a non-mdio PHY/device, it should be possible to provide a fixed link configuration in the DT. Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6bd9b5448a9362e3ca33b21f1461baa5500520f Author: Shrikrishna Khare <skhare@xxxxxxxxxx> Date: Mon Sep 21 20:01:29 2015 -0700 Driver: Vmxnet3: Extend register dump support Signed-off-by: Shrikrishna Khare <skhare@xxxxxxxxxx> Signed-off-by: Bhavesh Davda <bhavesh@xxxxxxxxxx> Acked-by: Srividya Murali <smurali@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6015a6c137e5bb5c0484ebe546540f88d690cfd5 Merge: 16cfbae 25b1029 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 23 14:52:02 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-22 This series contains updates to e1000, e1000e, igbvf, ixgbe, ixgbevf and fm10k. Jacob provides several updates for fm10k, which cleans up comments and most notably a fix for a corner case issue with the PF/VF mailbox code. The issue being fm10k_mbx_reset_work clears various states about the mailbox, but does not clear the Tx FIFO head/tail pointers. We also are not able to simply clear these pointers, as we would drop untransmitted messages without error. Also adds support for extra debug statistics, which provides the ability to see what the PF thinks the VF mailboxes look like. Don adds support for SFP+ in X550 and support for SCTP flow director filters SCTP mask. Francois Romieu dusts off the e1000 driver and removes some dead calls to e1000_init_eeprom_params(). Toshiaki Makita provides three patches to enable TSO for stacked VLAN's on e1000e, igbvf and ixgbevf. Mark provides the first of several ixgbe updates. First updates the driver to accept SFP not present error for all devices, since an SFP can still be inserted. Adds support for SFP insertion interrupt on X550EM devices with SPFs. Adds I2C combined operations on X550EM (not X550) devices. Moved the setting of lan_id to before any I2C eeprom access. Lastly, set the bit bang mode in the hardware when performing bit banding I2C operations on X550. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 16cfbae160c46eadf0105892b676c365b051bfc2 Merge: 34ea90e 45ffda7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 23 14:35:59 2015 -0700 Merge branch 'bridge_external_fdb_aging' Scott Feldman says: ==================== bridge: don't age out externally added FDB entries v3: Per davem review: add del_timer_sync on rocker port remove. v2: Per Jiri review comment: add BR_DEFAULT_AGEING_TIME to defines Siva originally proposed skipping externally added FDB entries in the bridge's FDB garbage collection func, and moving the ageing of externally added entries to the port driver/device. This broke rocker, since rocker didn't have a hardware (or software) mechanism for ageing out its learned FDB entries. This patchset reintroduces Siva's bridge driver patch to skip externally added entries and adds support in rocker so rocker can age out its own entries. Rocker does this using a software timer similar to the bridge's FDB garbage collection timer. Other switchdev devices/drivers can use this software timer method or program the device to nofity aged-out entries to the driver. Updated switchdev.txt documentation to reflect current state-of-the-art. This removes one more XXX todo comment in switchdev.txt. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45ffda75e145ed7a2b40f6a5de35431d7e62d1f0 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:20 2015 -0700 switchdev: update documentation on FDB ageing_time Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Reviewed-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dcd45e06496ca586db35949d1d92d48aab8a0a00 Author: Siva Mannem <siva.mannem.lnx@xxxxxxxxx> Date: Wed Sep 23 08:39:19 2015 -0700 bridge: don't age externally added FDB entries Signed-off-by: Siva Mannem <siva.mannem.lnx@xxxxxxxxx> Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Premkumar Jonnala <pjonnala@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52fe3e2d51d27c0e68b2bea29dea0b64af2c665e Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:18 2015 -0700 rocker: add FDB cleanup timer Add a timer to each rocker switch to do FDB entry cleanup by ageing out expired entries. The timer scheduling algo is copied from the bridge driver, for the most part, to keep the firing of the timer to a minimum. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7335703e33e7787333872a31e0f4491f9d76cac Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:17 2015 -0700 rocker: adding port ageing_time for ageing out FDB entries Follow-up patcheset will allow user to change ageing_time, but for now just hard-code it to a fixed value (the same value used as the default for the bridge driver). Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a79e88d9fbbe2e3ecb9d883fb59dca7468d42d79 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:16 2015 -0700 bridge: define some min/max/default ageing time constants Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c660496c95af93f3461c06d46fd33c0719625db Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:15 2015 -0700 rocker: store rocker_port in fdb key rather than pport We'll need more info from rocker_port than just pport when we age out fdb entries, so store rocker_port rather than pport in each fdb entry. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a471be41f2bfe4ee3a4b38b0e5af17d0abfd3aa6 Author: Scott Feldman <sfeldma@xxxxxxxxx> Date: Wed Sep 23 08:39:14 2015 -0700 rocker: track when FDB entry is touched. The entry is touched once when created, and touched again for each update. The touched time is used to calculate FDB entry age. Signed-off-by: Scott Feldman <sfeldma@xxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34ea90ef725405a0b431843b775fb9f4021da6ae Merge: e1ffc0c 5cf8ca0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 23 14:29:02 2015 -0700 Merge branch 'cls_bpf-next' Daniel Borkmann says: ==================== Minor cls_bpf updates Some minor updates resp. follow-ups on cls_bpf, please see individual patches for details. Will follow with the iproute2 patch after this series. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5cf8ca0e473df01c9b78894d6e62afa2e1d1166f Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 23 21:56:48 2015 +0200 cls_bpf: further limit exec opcodes subset Jamal suggested to further limit the currently allowed subset of opcodes that may be used by a direct action return code as the intention is not to replace the full action engine, but rather to have a minimal set that can be used in the fast-path on things like ingress for some features that cls_bpf supports. Classifiers can, of course, still be chained together that have direct action mode with those that have a full exec pass. For more complex scenarios that go beyond this minimal set here, the full tcf_exts_exec() path must be used. Suggested-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef146fa40cc3af1dcb13688f41cc06a9c0deb01c Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 23 21:56:47 2015 +0200 cls_bpf: make binding to classid optional The binding to a particular classid was so far always mandatory for cls_bpf, but it doesn't need to be. Therefore, lift this restriction as similarly done in other classifiers. Only a couple of qdiscs make use of class from the tcf_result, others don't strictly care, so let the user choose his needs (those that read out class can handle situations where it could be NULL). An explicit check for tcf_unbind_filter() is also not needed here, as the previous r->class was 0, so the xchg() will return that and therefore a callback to the qdisc's unbind_tcf() is skipped. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf007d1c75aceb4e8a407f325d42ee9958049a31 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 23 21:56:46 2015 +0200 cls_bpf: also dump TCA_BPF_FLAGS In commit 43388da42a49 ("cls_bpf: introduce integrated actions") we have added TCA_BPF_FLAGS. We can also retrieve this information from the prog, dump it back to user space as well. It's useful in tc when displaying/dumping filter info. Also, remove tp from cls_bpf_prog_from_efd(), came in as a conflict from a rebase and it's unused here (later work may add it along with a real user). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1ffc0cd2c2698d272121fb85fcb012994c4112c Merge: 927ab1d 834c952 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 23 14:27:24 2015 -0700 Merge tag 'arcnet-cleanup-v4.3-rc2' of git://git.pengutronix.de/git/mgr/linux Michael Grzeschik says: ==================== ARCNET: refactoring and cleanup This series cleans up the code in drivers/net/arcnet and include/uapi/linux/if_arcnet.h . It doesn't change the runtime behaviour of the code. Its only purpose is to improve the code maintenance and readability. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 927ab1d764565aec36ace1d017fa14c1e84f2769 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Wed Sep 23 22:20:15 2015 +0200 sched, bpf: let stack handle !IFF_UP devs on bpf_clone_redirect Similarly as already the case in bpf_redirect()/skb_do_redirect() pair, let the stack deal with devs that are !IFF_UP. dev_forward_skb() as well as dev_queue_xmit() will free the skb and increment drop counter internally in such cases, so we can spare the condition in bpf_clone_redirect(). Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 644d0e6569582872e448b1d39b9338d5e4021faa Author: Tom Herbert <tom@xxxxxxxxxxxxxxx> Date: Wed Sep 23 14:13:35 2015 -0700 ipv6 Use get_hash_from_flowi6 for rt6 hash In rt6_info_hash_nhsfn replace the custom hashing over flowi6 that is using xor with a call to common function get_hash_from_flowi6. Signed-off-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eda01dab53b1126a20da98b5d691f3e55d79f21d Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 23 13:51:15 2015 -0700 HID: wacom: Add four new Intuos devices This series of devices supports both pen and touch. It reports touch data in Bamboo3 format and pen data in Intuos pro format. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Tested-By: Aaron Skomra <aaron.skomra@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 3b164a00a9fc0e8df88291a671bb3de37aa3340f Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 23 09:59:10 2015 -0700 HID: wacom: Cleanup unsupported device_type for BAMBOO_PT Not all Bamboo support both pen and touch. Make sure we deal with pen only and touch only devices properly. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Tested-By: Aaron Skomra <aaron.skomra@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1d2f1e084b7386b4082ebc2490ce0ddc8efe5667 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Sep 22 10:21:48 2015 +0800 iio: light: apds9960: fix platform_no_drv_owner.cocci warnings drivers/iio/light/apds9960.c:1125: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: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ebe5c543cf8ed3010881a8d863e954b961013fea Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Sep 22 10:21:48 2015 +0800 iio: apds9960: light: fix simple_return.cocci warnings drivers/iio/light/apds9960.c:986:1-4: WARNING: end returns can be simpified Simplify a trivial if-return sequence. Possibly combine with a preceding function call. Generated by: scripts/coccinelle/misc/simple_return.cocci CC: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 36736cc66bcedcd25b65faff43e352491409971f Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Tue Sep 22 10:16:48 2015 +0800 iio: adc: vf610: fix simple_return.cocci warnings drivers/iio/adc/vf610_adc.c:766:1-4: WARNING: end returns can be simpified and declaration on line 755 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: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9214185b515ed550fe67c912ca446b4524f01603 Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Wed Sep 16 11:14:12 2015 +0300 devicetree: Add documentation for UPISEMI us5182d ALS and Proximity sensor Added entries in i2c/vendor-prefixes for the us5182d als and proximity sensor. Also added a documentation file for this sensor's properties. Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c14f8abe5304ba46b898cd381a0857fd61f87200 Author: Adriana Reus <adriana.reus@xxxxxxxxx> Date: Wed Sep 16 11:14:11 2015 +0300 iio: light: Add support for UPISEMI uS5182d als and proximity sensor Add support for UPISEMI us5182d als and proximity sensor. Supports raw readings. Data sheet for this device can be found here: http://www.upi-semi.com/temp/uS5182D-DS-P0103-temp.pdf Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit fd2bb310ca3d3621a0f201e018e1292dca95df6e Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Fri Sep 11 16:59:30 2015 +0300 Staging: iio: Move evgen interrupt generation to irq_work Enhance interrupt generation in the dummy driver and expand its usage by introducing the irq_work infrastructure to trigger an interrupt. This way, the irq_work_queue() wrapper permits calling both of the top half and threaded part from a hard irq context, unlike handle_nested_irq(), which only calls the threaded part. As an outcome, the driver succeeds in simulating real hardware interrupts, while keeping the normal interrupt flow. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit cd8d97774f23c601d0ed66b5035bcc77dd665b10 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Sep 13 20:26:14 2015 -0700 iio: chemical: add SGX VZ89x VOC sensor support Add support for VZ89X sensors VOC and CO2 reporting channels in percentage which can be converted to part per million. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9bff3131cfb30ef761adfad08c4a0a1b7faf1e20 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Sep 13 20:26:13 2015 -0700 devicetree: add SGX Sensortech vendor id Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d38d54692d454e4dded125677e39f53514dc4277 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Sep 13 20:26:12 2015 -0700 iio: resistance: add IIO_RESISTANCE channel type Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8ff6b3bc9493089247e012a9fcba7198e194b4a5 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Sep 13 20:26:11 2015 -0700 iio: chemical: Add IIO_CONCENTRATION channel type There are air quality sensors that report data back in parts per million of VOC (Volatile Organic Compounds) which are usually indexed from CO2 or another common pollutant. This patchset adds an IIO_CONCENTRATION type that returns a percentage of substance because no other channels types fit this use case. Modifiers for IIO_MOD_CO2 and IIO_MOD_VOC gas types are defined. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0df5a5488b6d157eabfdc0747c87c08bd7431a56 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 19:02:00 2015 +0200 iio: adc: twl6030-gpadc: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e09f56f3f09638a0f0120be81352378ed1727431 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 19:02:32 2015 +0200 iio: dac: max5821: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b2a768949c4906d87fd0c65b39752e599b5a1860 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:13 2015 +0200 iio: mma8452: leave sysfs namings to the iio core This doesn't actually change anything since the core names the sysfs folder for the iio event attributes "events" anyways. It only leaves the job to the core. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d6223c3737bd9680f1fb6c058bdfca41ee24e2da Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:12 2015 +0200 iio: mma8452: add copyright notice comment Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 417e008ba9db7ce4b4e48131c6f69829e9886b3e Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:11 2015 +0200 iio: mma8452: add support for MMA8652FC and MMA8653FC MMA8652FC and MMA8653FC don't provide the transient interrupt source, so the motion interrupt source is used by providing a new iio_chan_spec definition, so that other supported devices are not affected by this. Datasheets for the newly supported devices are available at Freescale's website: http://cache.freescale.com/files/sensors/doc/data_sheet/MMA8652FC.pdf http://cache.freescale.com/files/sensors/doc/data_sheet/MMA8653FC.pdf Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 60f562e74e75716cc121cc7adb2dcb43c17709bf Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:10 2015 +0200 iio: mma8452: add freefall / motion interrupt source This adds the freefall / motion interrupt source definitions to the driver. It is used in this series' next patch, for chips that don't support the transient interrupt source. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c5ea1b58e8f51d8cd72e46cc398742988a614054 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:09 2015 +0200 iio: mma8452: add support for MMA8453Q accelerometer chip This adds support for the 10 bit version if Freescale's accelerometers of this series. The datasheet is available at Freescale's website: http://cache.freescale.com/files/sensors/doc/data_sheet/MMA8453Q.pdf It creates a devicetree bindings file to document the new functionality and removes the driver from the trivial-devices list. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c3cdd6e48e35b7a02f28e301ef30a87ff3cd6527 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Tue Sep 1 13:45:08 2015 +0200 iio: mma8452: refactor for seperating chip specific data This adds a struct mma_chip_info to hold data that will remain specific to the chip in use. It is provided during probe() and linked in struct of_device_id. Also this suggests that the driver is called "mma8452" and now handles the MMA8452Q device, but is not limited to it. Signed-off-by: Martin Kepplinger <martin.kepplinger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Muellner <christoph.muellner@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit afc7da6e486c04244766da9fe2574d972125a602 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:00:29 2015 +0530 Staging: iio: addac: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro. This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 01b721536b4128c1e17c596650198bfc36ad8c6c Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:00:30 2015 +0530 Staging: iio: meter: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4839367d99e3b067d3c2e9404ae320c100d090c7 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Sun Sep 6 13:27:39 2015 -0700 iio: humidity: add HDC100x support Add support for the HDC100x temperature and humidity sensors including the resistive heater element. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7db75fd615a6d77230315c52f9c79b2102ef2bfe Author: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 17:28:20 2015 +0300 dt: Document Holt HI-8435 bindings These bindings can be used to register Holt HI-8435 threshold detector Signed-off-by: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 72aa29ce0a59779dcda91e967600a0f8637945a6 Author: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 28 17:27:52 2015 +0300 iio: adc: hi8435: Holt HI-8435 threshold detector Add Holt threshold detector driver for HI-8435 chip Signed-off-by: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0b26cd69480d4d99f39042c6621a05af7496b3da Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Sep 21 18:26:45 2015 -0500 PCI: Clear IORESOURCE_UNSET when reverting to firmware-assigned address If pci_assign_resource() fails to assign space for a BAR, we may restore the BAR to whatever firmware left there at boot-time (this depends on whether the arch implements pcibios_retrieve_fw_addr()). The messages we print are not as useful as they could be: pci 0000:00:01.0: BAR 15: assigned [mem 0xc0000000-0xc01fffff 64bit pref] pci 0000:01:00.0: BAR 0: no space for [mem size 0x10000000 pref] pci 0000:01:00.0: BAR 0: trying firmware assignment [mem size 0x10000000 pref] pci 0000:01:00.0: BAR 0: [mem size 0x10000000 pref] conflicts with PCI Bus 0000:00 [mem 0xc0000000-0xffffffff window] The last two lines should contain the actual BAR address, not the size. Clear IORESOURCE_UNSET so we print the address. If requesting the firmware-assigned resource fails, mark it IORESOURCE_UNSET again. This is a cosmetic change to clarify the message: previously, if pci_revert_fw_address() succeeded, pci_assign_resource() cleared IORESOURCE_UNSET anyway, so this isn't really a functional change. Link: https://bugzilla.kernel.org/show_bug.cgi?id=85491#c50 Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 4922e7a1b767fcf6f29ce121ad74e424f4045eff Merge: 727e53a c81740e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:30 2015 -0700 Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next commit 727e53a12fed3ab2d5fadb7aa3c510d506a9d716 Merge: e32efed3 1ff68f5 6c84e591 03d3964 31f4f0c 3e8f526 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:27 2015 -0700 Merge remote-tracking branches 'asoc/topic/sh', 'asoc/topic/simple', 'asoc/topic/spear', 'asoc/topic/sunxi' and 'asoc/topic/tlv320aic3x' into asoc-next commit e32efed3ead2c5035cf6b15714904396f25e8dd7 Merge: 9abbe73 baafd37 8985729 462c30b 9d70594 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:25 2015 -0700 Merge remote-tracking branches 'asoc/topic/pxa', 'asoc/topic/qcom', 'asoc/topic/rcar' and 'asoc/topic/rockchip' into asoc-next commit 9abbe73e7d49ff7939c9a45bf50647cf47b05abf Merge: f7b9315 27fcf91 30953a8 887e83e cde7903 5b73de1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:22 2015 -0700 Merge remote-tracking branches 'asoc/topic/jz4740', 'asoc/topic/kirkwood', 'asoc/topic/mtk', 'asoc/topic/multi' and 'asoc/topic/mxs' into asoc-next commit f7b93159abf368565ff6bd222bbd2412f4a22c5c Merge: 97e15d9 76b0d1f 14a998b c759241 9529138 5b97c0f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:19 2015 -0700 Merge remote-tracking branches 'asoc/topic/blackfin', 'asoc/topic/davinci', 'asoc/topic/fsl', 'asoc/topic/hdmi' and 'asoc/topic/intel' into asoc-next commit 97e15d9a8be199788cd8d138fd65943c81c61b88 Merge: f950aa9 e3a4d95 544637b ccaadda 3f8958c 2342caf Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:16 2015 -0700 Merge remote-tracking branches 'asoc/topic/ak4613', 'asoc/topic/ak4642', 'asoc/topic/arizona', 'asoc/topic/atmel' and 'asoc/topic/au1x' into asoc-next commit f950aa96d153586c04d74c11e6835605fb71cc5d Merge: ed14ee0 de3f8fd Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 23 11:01:15 2015 -0700 Merge remote-tracking branch 'asoc/topic/rt5645' into asoc-next commit de3f8fdf7393e4259b68ae8cea806c39d602769e Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Sep 23 14:35:27 2015 +0800 ASoC: rt5645: Remove the repeated definitions Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bc07c10a3603a5ab3ef01ba42b3d41f9ac63d1b6 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:51 2015 +0800 block: loop: support DIO & AIO There are at least 3 advantages to use direct I/O and AIO on read/write loop's backing file: 1) double cache can be avoided, then memory usage gets decreased a lot 2) not like user space direct I/O, there isn't cost of pinning pages 3) avoid context switch for obtaining good throughput - in buffered file read, random I/O top throughput is often obtained only if they are submitted concurrently from lots of tasks; but for sequential I/O, most of times they can be hit from page cache, so concurrent submissions often introduce unnecessary context switch and can't improve throughput much. There was such discussion[1] to use non-blocking I/O to improve the problem for application. - with direct I/O and AIO, concurrent submissions can be avoided and random read throughput can't be affected meantime xfstests(-g auto, ext4) is basically passed when running with direct I/O(aio), one exception is generic/232, but it failed in loop buffered I/O(4.2-rc6-next-20150814) too. Follows the fio test result for performance purpose: 4 jobs fio test inside ext4 file system over loop block 1) How to run - KVM: 4 VCPUs, 2G RAM - linux kernel: 4.2-rc6-next-20150814(base) with the patchset - the loop block is over one image on SSD. - linux psync, 4 jobs, size 1500M, ext4 over loop block - test result: IOPS from fio output 2) Throughput(IOPS) becomes a bit better with direct I/O(aio) ------------------------------------------------------------- test cases |randread |read |randwrite |write | ------------------------------------------------------------- base |8015 |113811 |67442 |106978 ------------------------------------------------------------- base+loop aio |8136 |125040 |67811 |111376 ------------------------------------------------------------- - somehow, it should be caused by more page cache avaiable for application or one extra page copy is avoided in case of direct I/O 3) context switch - context switch decreased by ~50% with loop direct I/O(aio) compared with loop buffered I/O(4.2-rc6-next-20150814) 4) memory usage from /proc/meminfo ------------------------------------------------------------- | Buffers | Cached ------------------------------------------------------------- base | > 760MB | ~950MB ------------------------------------------------------------- base+loop direct I/O(aio) | < 5MB | ~1.6GB ------------------------------------------------------------- - so there are much more page caches available for application with direct I/O [1] https://lwn.net/Articles/612483/ Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ab1cb278bc7027663adbfb0b81404f8398437e11 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:50 2015 +0800 block: loop: introduce ioctl command of LOOP_SET_DIRECT_IO If loop block is mounted via 'mount -o loop', it isn't easy to pass file descriptor opened as O_DIRECT, so this patch introduces a new command to support direct IO for this case. Cc: linux-api@xxxxxxxxxxxxxxx Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2e5ab5f379f96a6207c45be40c357ebb1beb8ef3 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:49 2015 +0800 block: loop: prepare for supporing direct IO This patches provides one interface for enabling direct IO from user space: - userspace(such as losetup) can pass 'file' which is opened/fcntl as O_DIRECT Also __loop_update_dio() is introduced to check if direct I/O can be used on current loop setting. The last big change is to introduce LO_FLAGS_DIRECT_IO flag for userspace to know if direct IO is used to access backing file. Cc: linux-api@xxxxxxxxxxxxxxx Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e03a3d7a94e2485b6e2fa3fb630b9b3a30b65718 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:48 2015 +0800 block: loop: use kthread_work The following patch will use dio/aio to submit IO to backing file, then it needn't to schedule IO concurrently from work, so use kthread_work for decreasing context switch cost a lot. For non-AIO case, single thread has been used for long long time, and it was just converted to work in v4.0, which has caused performance regression for fedora live booting already. In discussion[1], even though submitting I/O via work concurrently can improve random read IO throughput, meantime it might hurt sequential read IO performance, so better to restore to single thread behaviour. For the following AIO support, it is better to use multi hw-queue with per-hwq kthread than current work approach suppose there is so high performance requirement for loop. [1] http://marc.info/?t=143082678400002&r=1&w=2 Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5b5e20f421c0b6d437b3dec13e53674161998d56 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:47 2015 +0800 block: loop: set QUEUE_FLAG_NOMERGES for request queue of loop It doesn't make sense to enable merge because the I/O submitted to backing file is handled page by page. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 53cbf3b157a0428d40989ab1c7df9228a1976fc2 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Mon Aug 17 10:31:46 2015 +0800 fs: direct-io: don't dirtying pages for ITER_BVEC/ITER_KVEC direct read When direct read IO is submitted from kernel, it is often unnecessary to dirty pages, for example of loop, dirtying pages have been considered in the upper filesystem(over loop) side already, and they don't need to be dirtied again. So this patch doesn't dirtying pages for ITER_BVEC/ITER_KVEC direct read, and loop should be the 1st case to use ITER_BVEC/ITER_KVEC for direct read I/O. The patch is based on previous Dave's patch. Reviewed-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5948edbcbf43759586cdf2656d293ea7de310280 Author: Roman Pen <r.peniaev@xxxxxxxxx> Date: Tue Sep 15 08:27:25 2015 -0600 fs/mpage.c: forgotten WRITE_SYNC in case of data integrity write In case of wbc->sync_mode == WB_SYNC_ALL we need to do data integrity write, thus mark request as WRITE_SYNC. akpm: afaict this change will cause the data integrity write bios to be placed onto the second queue in cfq_io_cq.cfqq[], which presumably results in special treatment. The documentation for REQ_SYNC is horrid. Signed-off-by: Roman Pen <r.peniaev@xxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f75782e4e067fd68249635699cb20dfe0489d743 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Mon Sep 14 18:16:02 2015 +0100 block: kmemleak: Track the page allocations for struct request The pages allocated for struct request contain pointers to other slab allocations (via ops->init_request). Since kmemleak does not track/scan page allocations, the slab objects will be reported as leaks (false positives). This patch adds kmemleak callbacks to allow tracking of such pages. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> Tested-by: Bart Van Assche<bart.vanassche@xxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 28153a31b8b6c44e4f1e24dafce2f1b22cec427b Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Mon Sep 21 16:58:20 2015 +0200 bq2415x_charger: Fix null pointer dereference Commit b68c3161430a (bq2415x_charger: Allow to load and use driver even if notify device is not registered yet) introduced null pointer dereference in case bq is NULL. This patch fixes it. Fixes: b68c3161430a ("bq2415x_charger: Allow to load and use driver even if notify device is not registered yet") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ebd173beb8db5b8b315fa1c5bbac86c54059397a Author: Theodore Ts'o <tytso@xxxxxxx> Date: Wed Sep 23 12:46:17 2015 -0400 ext4: move procfs registration code to fs/ext4/sysfs.c This allows us to refactor the procfs code, which saves a bit of compiled space. More importantly it isolates most of the procfs support code into a single file, so it's easier to #ifdef it out if the proc file system has been disabled. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 76d33bca5581b1dd5c3157fa168db849a784ada4 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Wed Sep 23 12:45:17 2015 -0400 ext4: refactor sysfs support code Make the code more easily extensible as well as taking up less compiled space. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b5799018827e67867fda77c3cde10fc080606fe2 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Wed Sep 23 12:44:17 2015 -0400 ext4: move sysfs code from super.c to fs/ext4/sysfs.c Also statically allocate the ext4_kset and ext4_feat objects, since we only need exactly one of each, and it's simpler and less code if we drop the dynamic allocation and deallocation when it's not needed. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 8807feb91b76dc3267cef58302aaeff3430cb8f2 Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:11 2015 -0500 power: bq27xxx_battery: Add interrupt handling support Some devices have a pin that can generate an interrupt when the battery's status changes. Add an interrupt handler to read the new battery status. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 74aab849f3423f3f783a8e5e9767572c2b59b353 Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:10 2015 -0500 power: bq27xxx_battery: Cleanup health checking Reorganize the logic checking battery health and add under temperature condition checking. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit cd1736ad0a6f0f7a31773ddf90040bd15969bc21 Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Mon Sep 21 14:02:29 2015 +0100 drm/i915: Remove extraneous request cancel. Remove extraneous request cancel in request allocation failure path in intel_lr_context_deferred_alloc (Tvrtko Ursulin) Regression from: commit e84fe80337dc85cca07d0417ea97edbec4789d8b Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Fri Sep 11 12:53:46 2015 +0100 drm/i915: Split alloc from init for lrc Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dedf278ce69cac6b29c324d280183da31093e0b0 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Sep 21 10:45:35 2015 +0100 drm/i915: Enable querying offset of UV plane with intel_plane_obj_offset v2: Rebase. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 89e3e1427629027dc33e576fc002880a02a7e50c Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Sep 21 10:45:34 2015 +0100 drm/i915: Support NV12 in rotated GGTT mapping Just adding the rotated UV plane at the end of the rotated Y plane. v2: Rebase. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 804beb4b5b76e41352b41027ab2804b8462c1686 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Sep 21 10:45:33 2015 +0100 drm/i915: Support appending to the rotated pages mapping By providing a start offset into the source array of pages, and returning the end position in the scatter-gather table, we will be able to append the UV plane to the rotated mapping in later patches. v2: Rebase. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe47ea0cfa4adffe2a20edb22376d7af76b6a74c Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Mon Sep 21 10:45:32 2015 +0100 drm/i915: Support planar formats in tile height calculations This will be needed for NV12 support. v2: Rebase. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ca4163a612068d8f942c454218d3d631f22af1b Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Fri Sep 18 17:52:47 2015 +0100 drm/i915/bxt: Update revision id for BXT C0 Cc: Nick Hoath <nicholas.hoath@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d2aa5ae8e721bfe319e68ef5c08380385d452787 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:23 2015 +0300 drm/i915: Parametrize CSR_PROGRAM registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9712e68840cf09d138be6226f6e6f6dcd9b009f1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:22 2015 +0300 drm/i915: Parametrize DDI_BUF_TRANS registers FIXME: Should there be a WARN(i != 9) or something, or what does the entry 9 comment mean? Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d74534c27775857cb09abd0f92ed9539dc8d0a93 Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:09 2015 -0500 power: bq27xxx_battery: Add support for additional bq27xxx family devices Add support for additional devices and register equivalent family devices including the bq27010, bq27210, bq27500, bq27510, bq27520, bq27530, bq27531, bq27541, bq27542, bq27546, bq27545, bq27441, bq27421, and the bq27641. To facilitate this process the register mapings have been moved to tables and other small cleanups have been made. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 184d7c06227349aad07921e8da63f61ab67e6727 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:21 2015 +0300 drm/i915: Parametrize TV luma/chroma filter registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7d81c3e02b685074e437cdb48ea3a9efd82873c5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:20 2015 +0300 drm/i915: Replace raw numbers with the approproate register name in ILK turbo code Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 616847e7e8569a28e46a56d4cc1ac28f061e29e4 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:19 2015 +0300 drm/i915: Parametrize ILK turbo registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d110c71fb87c5601832e918c36af8cd4ef739f9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:18 2015 +0300 drm/i915: Parametrize FBC_TAG registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 22dfe79fd9c3951017bd68cad1d3257631307dde Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:16 2015 +0300 drm/i915: Parametrize GEN7_GT_SCRATCH and GEN7_LRA_LIMITS Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83843d84fcd38a7e9b30ff0b9af04669c77ecf8c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:15 2015 +0300 drm/i915: Parametrize LRC registers Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8bd864b81a7472a19eb6ed536e028a10e7d71239 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 18 20:03:14 2015 +0300 drm/i915: Don't pass sdvo_reg to intel_sdvo_select_{ddc, i2c}_bus() intel_sdvo_select_ddc_bus() and intel_sdvo_select_i2c_bus() have no used for the passed in 'reg', so just drop it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 58a9c251c9a1a2f2154e40a9fe7bb81857761b24 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Wed Sep 16 15:53:29 2015 -0500 EDAC, ghes_edac: Remove redundant memory_type array We already have edac_mem_types[] that enumerates the different kinds of memory. So, use that and remove the redundant memory_type[] array here. 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/1442436811-23382-2-git-send-email-Aravind.Gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 972e7d71c82ea70100b808695d5cf735c1df5ef8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 11 21:04:39 2015 +0300 drm/i915: Ignore "digital output" and "not HDMI output" bits for eDP detection Ignore DEVICE_TYPE_NOT_HDMI_OUTPUT and DEVICE_TYPE_DIGITAL_OUTPUT when trying to determine the presence of eDP based on the VBT child device type. Apparently a significant portion of VLV systems have these bits set incorrectly, and so we currently fail to detect eDP on said systems. This is based on an earlier patch [1] from Andreas Lampersperger. Instead of ignoring the bits just on VLV as was done in the orignal patch, we now ignore them for all platforms. We should still have enough bits in there to avoid false positives (unless the VBT is totally bonkers). Quoting the orignal patch: > When the i915.ko identify an eDP output on a valleyview > board, it should be more slackly. The reason for that is, > that BIOS DATA TABLES generated with intel BMP (Binary > Modification Program) do not set bits for NOT_HDMI or > DIGITAL_OUTPUT on the device type. Due to Adolfo > Sanchez from Intel EMGD, this is not possible. > To solve this problem and enable i915.ko on embedded > vlv boards with eDP, we ignore this two bits. [1] http://lists.freedesktop.org/archives/intel-gfx/2015-June/069416.html Cc: Andreas Lampersperger <lampersperger.andreas@xxxxxxxxxxxxx> Cc: "Sanchez, AdolfoX" <adolfox.sanchez@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53ce81a761fb130c5d7ad653239fc9f9adc32237 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 11 21:04:38 2015 +0300 drm/i915: Make sure we don't detect eDP on g4x We don't support eDP on g4x, so let's not even look at the VBT to determine the port type, just in case the VBT is bonkers on some g4x machines and indicates the precense of eDP. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0706f17c307b056ff6f1848320ba82d76945a6ff Author: Egbert Eich <eich@xxxxxxx> Date: Wed Sep 23 16:15:27 2015 +0200 drm/i915: Avoid race of intel_crt_detect_hotplug() with HPD interrupt, v2 An HPD interrupt may fire while we are in a function that changes the PORT_HOTPLUG_EN register - especially when an HPD interrupt storm occurs. Since the interrupt handler changes the enabled HPD lines when it detects such a storm the read-modify-write cycles may interfere. To avoid this, shiled the rmw cycles with IRQ save spinlocks. Changes since v1: - Implement a function which takes care of accessing PORT_HOTPLUG_EN. Signed-off-by: Egbert Eich <eich@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a9b672a636a599cc052afcb6837e3177dc53c143 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:37:03 2015 +0200 ARM: at91/dt: sama5d2 Xplained: add device pin muxing Add device pin muxing for the sama5d2 Xplained board. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7f16cb676c006d87a97ed2e51815daf1fa17eb29 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:37:02 2015 +0200 ARM: at91/dt: add sama5d2 pinmux Add sama5d2 pin descriptions. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c570903290d7cb542c06b8985b7326a8dd4cdf86 Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:08 2015 -0500 power: bq27xxx_battery: Fix typos and change naming for state of charge functions Fix typos and change "relative state of charge" to "state of charge" as not all supported devices use relative state of charge. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 424cfde49acaf1426e90837961e8aead0238b11b Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:07 2015 -0500 power: bq27xxx_battery: Platform initialization must declare a device When initialized as a platform device the initializer must now specify a device. An empty device name is no longer valid. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 081bab217db769526c1202c87099ff69737126ae Author: Andrew F. Davis <afd@xxxxxx> Date: Tue Sep 22 14:35:06 2015 -0500 power: bq27x00_battery: Renaming for consistency Rename functions that are used by multiple devices. New devices have been added and the function names and driver name are no longer general enough for the functionality they provide. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Acked-by: GUAN Xuetao <gxt@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6de20eb0dee4c802d9d228d6c08d00386e172e52 Author: Andrew Price <anprice@xxxxxxxxxx> Date: Wed Sep 23 08:45:43 2015 -0500 GFS2: Set s_mode before parsing mount options In the generic mount_bdev() function, deactivate_locked_super() is called after the fill_super() call fails, at which point s_mode has been set. kill_block_super() expects this and dumps a warning when FMODE_EXCL is not set in s_mode. In gfs2_mount() we call deactivate_locked_super() on failure of gfs2_mount_args(), at which point s_mode has not yet been set. This causes kill_block_super() to dump a stack trace when gfs2 fails to mount with invalid options. Set s_mode earlier in gfs2_mount() to avoid that. Signed-off-by: Andrew Price <anprice@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 8204502a6aa2eab8cd5779020c2881fbc6361a96 Author: Dongwon Kim <dongwon.kim@xxxxxxxxx> Date: Thu Sep 17 11:26:35 2015 -0700 drm/i915: Do not hardcode s_max, ss_max and eu_mask for BXT We can calculate BXT values correctly from GFX fuse values without hardcoding special limits. Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Matthew D Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Dongwon Kim <dongwon.kim@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 46ac51822a6a0b83ee3e408ee9edcb292fb8ced0 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 23 09:26:27 2015 -0400 tracing: Move non perf code out of perf.h Commit ee53bbd17257 "tracing: Move the perf code out of trace_event.h" moved more than just the perf code out of trace_event.h, but also removed a bit of the tracing code too. Move it back. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a2cad9dff4dd44d0244b966d980de9d602d87593 Author: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Date: Wed Sep 16 11:49:00 2015 +0200 drm/i915/gtt: Do not initialize drm_mm twice. It would be initialized just moments later by i915_init_vm. Rearrange the code such that i915_init_vm() is next to its callers inside i915_gem_gtt (and so we can make it static). After removing the dance around the files, it is clear that we are repeating some work inside the initializers (such as calling drm_mm_init() multiple times), so take advantage of the refactor to also remove some redundant code and clean up the interface. v2: Commit msg update, s/i915_init_vm/i915_address_space_init, move to i915_gem_gtt.c, init address_space during i915_gem_setup_global_gtt for ggtt. v3: Do not init global_link - we are adding it to vm_list moments later, make i915_address_space_init static, use OOP style parameter order. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Reviewed-by Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7d316aecf883a19c9883e4dcbc058806fd25b152 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 16 21:28:50 2015 +0300 drm/i915: Implement stolen reserved detection for ctg/elk Finally managed to dig up enough hints as to where the stolen reserved stuff lives on ctg/elk. So add the code to decode it. This was a combination of old chipset specs, diggin up an old elk grits release with an ctg/elk AubLoad etc. This was only tested on an elk as I don't have a ctg here unfortunately. This leaves ilk as the only platform that doesn't have a way to detect this stuff. Looking at the register contents on my ilk, it might be that the elk way works there too, but I can't be sure since I can't affect the amount of reserved memory on that machine, and if I am to trust the register contents, by default it would reserve 0 bytes. v2: s/WARN_ON_ONCE/WARN_ON/ since it's in one time init code anyway (Paulo) Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Acked-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2db3366b18e6ee5c6cb09b5f3902bcacfa3d534e Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:20:03 2015 -0300 drm/i915: fix FBC for cases where crtc->base.y is non-zero I only tested this on BDW and SKL, but since the register description is the same ever since gen4, let's assume that all gens take the same register format. If that's not true, then hopefully someone will bisect a bug to this patch and we'll fix it. Notice that the wrong fence offset register just means that the hardware tracking will be wrong. Testcases: - igt/kms_frontbuffer_tracking/fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt - igt/kms_frontbuffer_tracking/fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt v2: - Add intel_crtc->adjusted_{x,y} so this code can work independently of intel_gen4_compute_page_offset(). (Ville). - This version also works on SKL. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b9e831dc3973bddfaa8e27629745c5948ed8b92d Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 21 19:48:06 2015 -0300 drm/i915: reject invalid formats for FBC This commit is essentially a rewrite of "drm/i915: Check pixel format for fbc" from Ville Syrjälä. The idea is the same, but the code is different due to all the changes that happened since his original patch. So any bugs are due to my bad rewrite. v2: - Drop the alpha formats (Ville). v3: - Drop the stale comment (Ville). Testcases: igt/kms_frontbuffer_tracking/*fbc*-${format_name}-draw-* Credits-to: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40f4022ef67f30cc0b7ee7453926d1803277d1af Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:20:01 2015 -0300 drm/i915: don't apply WaFbcAsynchFlipDisableFbcQueue on SKL This WA is only for HSW/BDW. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 57012be9289b4f6d12b05878411d903982ec2a4e Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:20:00 2015 -0300 drm/i915: apply WaFbcAsynchFlipDisableFbcQueue earlier The spec says the register should have that value for the entire time that FBC is enabled, so apply the WA before we enable FBC. Notice that we also have this WA for ILK/SNB, but it is implemented at init_clock_gating(). I could move the IVB/HSW/BDW WA code to init_clock_gating() too, but since we recently had some complaints about WAs not staying after being set, I'm going to play safe and keep this here for now. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b24c9a696c1c68eaa471a27bf467e97a9986fa9 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:19:59 2015 -0300 drm/i915: don't enable FBC when pixel rate exceeds 95% on HSW/BDW BSpec says we shouldn't enable FBC on HSW/BDW when the pipe pixel rate exceeds 95% of the core display clock. v2: - HSW also needs the WA (Ville). - Add the WA name (Ville). - Use the current cdclk (Ville). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b8bf5d7fe0dee64ed0a73fa1e95ba8e464d605da Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:19:58 2015 -0300 drm/i915: print the correct amount of bytes allocated for the CFB And also print the threshold. I was surprised to see a log message claiming the CFB size was 32mb when there was less than 24mb available for it. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a9da512b3ed73045253afd778e40d4298f42905b Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:19:57 2015 -0300 drm/i915: avoid the last 8mb of stolen on BDW/SKL The FBC hardware for these platforms doesn't have access to the bios_reserved range, so it always assumes the maximum (8mb) is used. So avoid this range while allocating. This solves a bunch of FIFO underruns that happen if you end up putting the CFB in that memory range. On my machine, with 32mb of stolen, I need a 2560x1440 mode for that. Testcase: igt/kms_frontbuffer_tracking/fbc-* (given the right setup) Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit adf70c65cff66d843d66469dbe13ef1ed21e062b Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:19:56 2015 -0300 drm/i915: check for the supported strides on HSW+ FBC Don't allow FBC for cases where the spec says we can't FBC. v2: - Just WARN_ON() the strides that should have been caught earlier (Daniel) - Make it a new function since I expect this to grow more. v3: - Document which IGT test is exercised by this. v4: - Implement the restrictions for gens 2-6 too (Ville). - Fix off-by-one mistake (Ville). Testcase: igt/kms_frontbuffer_tracking/fbc-badstride Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8cb8d69d125f56fa3ba5239b215a56718e2ca44 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Mon Sep 14 15:19:55 2015 -0300 drm/i915: fix the FBC work allocation failure path Always update the currrent crtc, fb and vertical offset after calling enable_fbc. We were forgetting to do so along the failure paths when enabling fbc synchronously. Fix this with a new helper to enable_fbc() and update the state simultaneously. v2: Improve commit message (Chris). v3: Constify struct drm_framebuffer (Ville). Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7aefe2b50a0be5c85e7702bff110e5e187fbe4b5 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Sep 14 11:30:10 2015 +0200 drm/i915: Fix fastboot scalers for skylake. The scaler_id in intel_pipe_config_compare should not be checked when adjusting in intel_pipe_config_compare. The hw scaler id may be changed in intel_update_pipe_config. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 97c322e713b92b5071ad276f65cabf8a503a7408 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sat Sep 12 10:17:54 2015 +0530 drm/i915: Program GuC MAX IDLE Count Cc: Alex Dai <yu.dai@xxxxxxxxx> Cc: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Alex Dai <yu.dai@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 63a4dec2c168b74a39df1eac494501f0f6bf3708 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sat Sep 12 10:17:53 2015 +0530 drm/i915: WaRsDoubleRc6WrlWithCoarsePowerGating Cc: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Alex Dai <yu.dai@xxxxxxxxx> [danvet: Fix continuation alignment.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e3429cd240b06c79df3ea90f28065a7e011744cd Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sat Sep 12 10:17:52 2015 +0530 drm/i915: WaRsUseTimeoutMode Enable TO mode for RC6 for SKL till D0 and BXT till A0. Cc: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Alex Dai <yu.dai@xxxxxxxxx> [danvet: Fixup line continuation alignment.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ed1098e4738d935cef12833b08916f6f5e700652 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 14 14:42:09 2015 -0300 ARM: imx_v6_v7_defconfig: Remove CONFIG_VMSPLIT_2G CONFIG_VMSPLIT_2G was added to mx5_defconfig by commit 06965c39b4c639 ("ARM i.MX5: update defconfig") to fix an issue where mx53 was not detecting the full 1GiB memory range. However, as explained by Russell King [1] the correct fix is to select CONFIG_HIGHMEM. imx_v6_v7_deconfig inherited such option from mx5_defconfig. As imx_v6_v7_deconfig has CONFIG_HIGHMEM=y, we should no longer select such non-standard CONFIG_VMSPLIT_2G option. [1] http://www.spinics.net/lists/arm-kernel/msg137839.html Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 79b568b9d0c7c5d81932f4486d50b38efdd6da6d Author: Richard Purdie <richard.purdie@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 18 16:31:33 2015 -0700 HID: core: Avoid uninitialized buffer access hid_connect adds various strings to the buffer but they're all conditional. You can find circumstances where nothing would be written to it but the kernel will still print the supposedly empty buffer with printk. This leads to corruption on the console/in the logs. Ensure buf is initialized to an empty string. Signed-off-by: Richard Purdie <richard.purdie@xxxxxxxxxxxxxxxxxxx> [dvhart: Initialize string to "" rather than assign buf[0] = NULL;] Cc: Jiri Kosina <jikos@xxxxxxxxxx> Cc: linux-input@xxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0678072755b6672b19ee0fd42748a003912fca09 Author: Daniel Martin <daniel.martin@xxxxxxxxxxx> Date: Thu Sep 17 17:02:22 2015 +0200 HID: Make I2C a known bus in hid_connect() Just to prettify the log message. Otherwise it would be <UNKNOWN>. Signed-off-by: Daniel Martin <consume.noise@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c6956eb70e2549a3c2fa6ee525e02776d293caf4 Author: Donavan Lance <shvr@xxxxxxxxxxxxxxxxx> Date: Tue Sep 15 12:44:54 2015 -0400 HID: Add new Microsoft Type Cover 3 product ID Adds support for Microsoft Type Cover 3 with 0x07e2 product ID. Signed-off-by: Donavan Lance <shvr@xxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 09bd1b4f814870ffa3496aca9e41938ec3ed2884 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 22 13:13:46 2015 +0200 EDAC, xgene: Convert to debugfs wrappers Drop CONFIG_EDAC_DEBUG ifdeffery too, while at it. Tested-by: Loc Ho <lho@xxxxxxx> Cc: linux-edac@xxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 834c952a1177721f2c0e779e3ca856b79ce27310 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Wed Apr 22 11:47:43 2015 +0200 arcnet: capmode: remove extra function This patch cleans the capmode protocol module. It removes the obsolete function arcnet_cap_init and replaces printk with pr_info. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit abc23ec927f217f1cc698e36d300ef80e935e805 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Wed Apr 22 11:11:58 2015 +0200 arcnet: arc-rawmode: reorder module functions This patch moves the module_init and module_exit patches to the end of the file. It also replaces the printk with pr_info. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit f2d2fe95072acd5404f8051b8bf1195c61a47fb5 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sat Sep 12 10:17:51 2015 +0530 drm/i915: WaRsDisableCoarsePowerGating WaRsDisableCoarsePowerGating: Coarse Power Gating (CPG) needs to be disabled for platforms prior to BXT B0 and SKL GT3/GT4 till E0. v2: Added GT3/GT4 Check. Change-Id: Ia3c4c16e050c88d3e259f601054875c812d69c3a Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Alex Dai <yu.dai@xxxxxxxxx> [danvet: Align continuation properly.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7a58bad0e63295dfa803973efcebc80cb730c7bd Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sat Sep 12 10:17:50 2015 +0530 drm/i915: Add IS_SKL_GT3 and IS_SKL_GT4 macro. It will be usefull to specify w/a that affects only SKL GT3 and GT4. Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Alex Dai <yu.dai@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a5a0393ab5de28f8dad100bf604e4ab55550836 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Tue Sep 15 10:03:01 2015 -0700 drm/i915: fix crash in error state readout on non-execlist platforms v2 Looks like this was introduced in: commit d1675198ed1f21aec6e036336e4340c40b726497 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:43 2015 +0100 drm/i915: Integrate GuC-based command submission This patch assumed LRC contexts and HWS layout, which is incorrect on platforms without execlists. This can lead to a crash in GPU error state readout on those platforms. I don't see a bug filed for this, but there may be one that I haven't found. v2: fixup offset handling for error capture fix (Dave) Cc: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9eca6832f7254d49d25494da7d47c0f8a24f7862 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 10 18:59:10 2015 +0300 drm/i915: Move scanline_offset and timestamping constant setup to intel_modeset_readout_hw_state() intel_modeset_readout_hw_state() seems like the more appropriate place for populating the scanline_offset and timestamping constants than intel_sanitize_crtc() since they are basically part of the state we read out. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f9cd7b881a042dcc8f1b1236ecea6deb3eb4d5bd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 10 18:59:08 2015 +0300 drm/i915: Move sprite/cursor plane disable to intel_sanitize_crtc() Move the sprite/cursor plane disabling to occur in intel_sanitize_crtc() where it belongs instead of doing it in intel_modeset_readout_hw_state(). The plane disabling was first added in 4cf0ebbd4fafbdf8e6431dbb315e5511c3efdc3b drm/i915: Rework plane readout. I got the idea from some patches from Partik and/or Maarten but those moved also the plane state readout to intel_sanitize_crtc() which isn't quite right in my opinion. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=91910 Reviewed-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f4c62840cc416986f983a8c68f7010c97e06daf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 10 18:59:07 2015 +0300 drm/i915: Assign hwmode after encoder state readout The dotclock is often calculated in encoder .get_config(), so we shouldn't copy the adjusted_mode to hwmode until we have read out the dotclock. Gets rid of some warnings like these: [drm:drm_calc_timestamping_constants [drm]] *ERROR* crtc 21: Can't calculate constants, dotclock = 0! [drm:i915_get_vblank_timestamp] crtc 0 is disabled v2: Steal Maarten's idea to move crtc->mode etc. assignment too Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91428 Reviewed-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c6e1e7b5b7f031910850ddaf7bfa65ba3b4843ea Author: Juergen Gross <jgross@xxxxxxxx> Date: Tue Sep 22 12:48:59 2015 +0200 sched/core: Make 'sched_domain_topology' declaration static The 'sched_domain_topology' variable is only used within kernel/sched/core.c. Make it static. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> 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/1442918939-9907-1-git-send-email-jgross@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 237ed86c693d8a8e4db476976aeb30df4deac74b Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Tue Sep 15 09:44:20 2015 +0530 drm/i915: Check live status before reading edid The Bspec is very clear that Live status must be checked about before trying to read EDID over DDC channel. This patch makes sure that HDMI EDID is read only when live status is up. The live status doesn't seem to perform very consistent across various platforms when tested with different monitors. The reason behind that is some monitors are late to provide right voltage to set live_status up. So, after getting the interrupt, for a small duration, live status reg fluctuates, and then settles down showing the correct staus. This is explained here in, in a rough way: HPD line ________________ |\ T1 = Monitor Hotplug causing IRQ | \______________________________________ | | | | | | T2 = Live status is stable | | _____________________________________ | | /| Live status _____________|_|/ | | | | | | | | | | T0 T1 T2 (Between T1 and T2 Live status fluctuates or can be even low, depending on the monitor) After several experiments, we have concluded that a max delay of 30ms is enough to allow the live status to settle down with most of the monitors. This total delay of 30ms has been split into a resolution of 3 retries of 10ms each, for the better cases. This delay is kept at 30ms, keeping in consideration that, HDCP compliance expect the HPD handler to respond a plug out in 100ms, by disabling port. v2: Adding checks for VLV/CHV as well. Reusing old ibx and g4x functions to check digital port status. Adding a separate function to get bxt live status (Daniel) v3: Using intel_encoder->hpd_pin to check the live status (Siva) Moving the live status read to intel_hdmi_probe and passing parameter to read/not to read the edid. (me) v4: * Added live status check for all platforms using intel_digital_port_connected. * Rebased on top of Jani's DP cleanup series * Some monitors take time in setting the live status. So retry for few times if this is a connect HPD v5: Removed extra "drm/i915" from commit message. Adding Shashank's sob which was missed. v6: Drop the (!detect_edid && !live_status check) check because for DDI ports which are enumerated as hdmi as well as DP, we don't have a mechanism to differentiate between DP and hdmi inside the encoder's hot_plug. This leads to call to the hdmi's hot_plug hook for DP as well as hdmi which leads to issues during unplug because of the above check. v7: Make intel_digital_port_connected global in this patch, some reformatting of while loop, adding a print when live status is not up. (Rodrigo) v8: Rebase it on nightly which involved skipping the hot_plug hook for now and letting the live_status check happen in detect until the hpd handling part is finalized (Daniel) Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d2e08c0f34438af791482de8abf2c8e4e573b1d3 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:40 2015 +0530 drm/i915/bxt: DSI prepare changes for BXT This patch modifies dsi_prepare() function to support the same modeset prepare sequence for BXT also. Main changes are: 1. BXT port control register is different than VLV. 2. BXT modeset sequence needs vdisplay and hdisplay programmed for transcoder. 3. BXT can select PIPE for MIPI transcoders. 4. BXT needs to program register MIPI_INIT_COUNT for both the ports, even if only one is being used. v2: Fixed Jani's review comments. Rectified the DSI Macros to get proper register offsets using _MIPI_PORT instead of _TRANSCODER v3: Rebased on latest drm-nightly branch. Fixed Jani's review comments. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe88fc6828f6471c9eebc511aa15984d055d11c1 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:39 2015 +0530 drm/i915/bxt: Disable DSI PLL for BXT This patch adds two new functions: - disable_dsi_pll. BXT DSI disable sequence and registers are different from previous platforms. - intel_disable_dsi_pll wrapper function to re-use the same code for multiple platforms. It checks platform type and calls appropriate core pll disable function. v2: Fixed Jani's review comments. v3: Rebased on latest drm-nightly branch. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cfe01a5eba1ff5723f3a47895fb7e9d890edf157 Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Tue Sep 1 19:41:38 2015 +0530 drm/i915/bxt: Enable BXT DSI PLL This patch adds new functions for BXT clock and PLL programming. They are: 1. configure_dsi_pll for BXT. This function does the basic math and generates the divider ratio based on requested pixclock, and program clock registers. 2. enable_dsi_pll function. This function programs the calculated clock values on the PLL. 3. intel_enable_dsi_pll Wrapper function to use same code for multiple platforms. It checks the platform and calls appropriate core pll enable function. v2: Fixed Jani's review comments. Macros are adjusted as per convention. v3: Removed a redundant change wrt code comment. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83e3337204b2385d20e149c8fe91bb2719978df2 Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sun Aug 23 17:52:47 2015 +0530 drm/i915: Increase maximum polling time to 50ms for forcewake request/clear ack On BXT, We Observe timeout for forcewake request completion with 2ms polling period as given here: [drm:fw_domains_get] ERROR render: timed out waiting for forcewake ack request. Polling for 50ms is recommended to avoid these timeouts. Change-Id: Ie715b0069a3049606e9602bc5e97a6511890864d Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed by: Alex Dai <yu.dai@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e3e72ab80a3fac0b88e07d358a2c75724ccd66b4 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Sep 18 13:22:52 2015 +0200 atomic: Implement atomic_read_ctrl() Provide atomic_read_ctrl() to mirror READ_ONCE_CTRL(), such that we can more conveniently use atomics in control dependencies. Since we can assume atomic_read() implies a READ_ONCE(), we must only emit an extra smp_read_barrier_depends() in order to upgrade to READ_ONCE_CTRL() semantics. Requested-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> 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 Cc: oleg@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150918115637.GM3604@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 62e8a3258bda118f24ff462fe04cfbe75b8189b5 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Sep 18 11:13:10 2015 +0200 atomic, arch: Audit atomic_{read,set}() This patch makes sure that atomic_{read,set}() are at least {READ,WRITE}_ONCE(). We already had the 'requirement' that atomic_read() should use ACCESS_ONCE(), and most archs had this, but a few were lacking. All are now converted to use READ_ONCE(). And, by a symmetry and general paranoia argument, upgrade atomic_set() to use WRITE_ONCE(). Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: james.hogan@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: will.deacon@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 90fe65148ea76988d8d5acbf3e578aa74129a490 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Sep 18 15:04:59 2015 +0200 atomic: Add atomic_long_t bitops When adding the atomic bitops, I seem to have forgotten about atomic_long_t, fix this. 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 4bbffe718fe1bfae6176a6fb783c1576b69338e5 Merge: ac742d3 21199f2 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 23 09:52:03 2015 +0200 Merge branch 'locking/urgent' into locking/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 269b26a5ef2b10bf15f66524fa47d81c1b4dc1a1 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Wed Sep 2 11:01:36 2015 +0100 sched/rt: Make (do_)balance_runtime() return void The return value of (do_)balance_runtime() is not consumed by anybody. Make them return void. Signed-off-by: Juri Lelli <juri.lelli@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/1441188096-23021-5-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f52405757e4e9bddd868d6b8ca501d58f292969f Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Wed Sep 2 11:01:35 2015 +0100 sched/deadline, locking/rtmutex: Fix open coded check in rt_mutex_waiter_less() rt_mutex_waiter_less() check of task deadlines is open coded. Since this is subject to wraparound bugs, make it use the correct helper. Reported-by: Luca Abeni <luca.abeni@xxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@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/1441188096-23021-4-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2726d6ce389788c7fe724961a6e1bfe569560088 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Wed Sep 2 11:01:34 2015 +0100 sched/deadline: Unify dl_time_before() usage Move dl_time_before() static definition in include/linux/sched/deadline.h so that it can be used by different parties without being re-defined. Reported-by: Luca Abeni <luca.abeni@xxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@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/1441188096-23021-3-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 23eafea6a9d1faac0588a5275d0c755cb261346e Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Sun Aug 23 17:52:48 2015 +0530 drm/i915/bxt: WaGsvDisableTurbo Disable Turbo on steppings prior to B0 on BXT due to hangs seen during GT CPD exit. Change-Id: I50c5c03f59f5ba092db19e17234951d89db42c6c Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed by: Alex Dai <yu.dai@xxxxxxxxx>. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 968d712a2565121b269e1037a1517916a9769423 Merge: b572727 e803cf9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 23 09:42:58 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 a segfault in 'perf probe' when removing uprobe events. (Masami Hiramatsu) - Synthesize COMM event for workloads started from the command line in 'perf record' so that we can have the pid->comm mapping before we get the real PERF_RECORD_COMM switching from perf to the workload. (Namhyung Kim) - Fix build tools/vm/ due to removal of tools/lib/api/fs/debugfs.h. (Arnaldo Carvalho de Melo) Infrastructure changes: - Fix the make tarball targets by including the recently added err.h header in the perf MANIFEST file. (Jiri Olsa) - Don't assume that the event parser returns a non empty evlist. (Wang Nan) - Add way to disambiguate feature detection state files, needed to use tools/build feature detection for multiple components in a single O= output dir, which will be the case with tools/perf/ and tools/lib/bpf/. (Arnaldo Carvalho de Melo) - Fixup FEATURE_{TESTS,DISPLAY} inversion in tools/lib/bpf/. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b5727270ecd807f75a8d5d1450cec39495fc794a Merge: 96f3eda d0d0313 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 23 09:42:11 2015 +0200 Merge branch 'perf/urgent' into perf/core to pick up fixes before pulling new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7b403ffba8ed8636f3467a9008bd2e060792b2e4 Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Tue Aug 4 22:02:42 2015 +0530 drm/i915/bxt: Modified HAS_CSR, added support for BXT Modified HAS_CSR macro defination which earlier only supported for skl, now added support for BXT. v1: Initial version. v2: Instaed of skylake/broxton check added gen9 check alone based on review comment from Sunil. Cc: Vetter, Daniel <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> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cff765fb1383dff6787fa735fcc88aa122d3c00d Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Tue Aug 4 22:02:43 2015 +0530 drm/i915/bxt: Stepping info added for bxt. Added stepping info in intel_csr.c which is required to extract specific firmware from packaged dmc firmware. Stepping info is aligned with current bspec info. Cc: Vetter, Daniel <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> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 18c237c0f9fa2e1c66e1eb4c305aeff4f28f89bf Author: Animesh Manna <animesh.manna@xxxxxxxxx> Date: Tue Aug 4 22:02:41 2015 +0530 drm/i915/bxt: Path added of dmc firmware ver1 for BXT. Broxton also has dmc to manage low-power display engine state. Path of the firmware added in intel_csr.c. Naming convention followed as <platform>_dmc_<api-version>.bin v1: Initial version. v2: Commit description added based on review comment from Sunil. Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Cc: Sunil Kamath <sunil.kamath@xxxxxxxxx> Signed-off-by: Animesh Manna <animesh.manna@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 84286f191a01f198ccfc15759d01320e3847accd Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Wed Apr 15 11:43:57 2015 +0200 arcnet: com20020: replace magic numbers with readable macros This patch replaces all magic numbers in the driver with proper named macros. For the case of XTOcfg and STARTIOcmd it introduces the new macros. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 54a84c61823e2069da2c7ad91518ff7625129ce5 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Fri Mar 20 15:22:02 2015 +0100 arcnet: reformat structs to C99 format This patch changes the macro definitions to match the C99 formating. This improves the readability. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 4b0dad83c53b4a6a29be47dc3acc8623be36e7dd Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:14 2015 -0700 arcnet: Remove unused arcnet_<I/O>w macros The word length macros are unused. Remove them. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 8e0f295ea5e712ca30db08a4e3c496e914ee7fef Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:13 2015 -0700 arcnet: Add com9026.h to standardize COM9026_REG_<foo> Deduplicate the COM9026 registers. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit e15b03625ce1aa5ca4ab782e034af7d5b56e1b19 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:12 2015 -0700 arcnet: Remove function pointer macro indirections It's clearer to use function pointer calls directly instead of the macro indirections of ARCRESET, ACOMMAND, ASTATUS, and AINTMASK. Remove the now unused macros too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit a11a5442d108357d44d34407ce2ed9d77ab424a0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:11 2015 -0700 arcnet: com90xx: Use arcnet_readb/writeb routines Simplify and make consistent the current uses of readb/writeb by using the newly introduced arcnet_<I/O> equivalents. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 4e2f9f1b1ff68e86871594f7321c851c4a147ea4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:10 2015 -0700 arcnet: arc-rimi: Use arcnet_<I/O> routines Simplify and make consistent the current uses of readb/writeb by using the newly introduced arcnet_<I/O> equivalents. o Add new #defines for register offsets o Remove old #defines that included the ioaddr o Remove obfuscating macros by expanding them in-place where appropriate Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 9c76aa55110a48c0db1eab4c998a5b94d9f0f852 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:09 2015 -0700 arcnet: arcdevice.h: Add arcnet_readb and arcnet_writeb Use the same indirection as the other arcnet_<I/O> macros. Neither of these new macros add the BUS_ALIGN use for 8 bit devices on 16 bit busses. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 09dfbcd5d178f8e03b5a29c9f3411687ec388c91 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:08 2015 -0700 arcnet: com90xx: Use arcnet_<I/O> routines Simplify and make consistent the current uses of inb/outb by using the newly introduced arcnet_<I/O> equivalents. o Add new #defines for register offsets o Remove old #defines that included the ioaddr o Remove obfuscating macros by expanding them in-place where appropriate Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit f0b9c27c0c933a6545ea57d4edbc56a4db435c84 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:07 2015 -0700 arcnet: com90io: Use arcnet_<I/O> routines Simplify and make consistent the current uses of inb/outb by using the newly introduced arcnet_<I/O> equivalents. o Add new #defines for register offsets o Remove old #defines that included the ioaddr o Remove obfuscating macros by expanding them in-place where appropriate Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 0fec65130b9f11a73d74f47025491f97f82ba070 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:06 2015 -0700 arcnet: com20020: Use arcnet_<I/O> routines Simplify and make consistent the current uses of inb/outb by using the newly introduced arcnet_<I/O> equivalents. o Add new #defines for register offsets There is an register offset, 8, that is unnamed and used as-is. o Remove old #defines that included the ioaddr o Remove obfuscating macros by expanding them in-place where appropriate o Create static inline com20020_set_subaddress for the SET_SUBADR macro There is an unused arcnet config entry CONFIGSA100_CT6001 which added a special #define BUS_ALIGN which was introduced but never used in fullhist git tree commit 22cfce4b82b0 ("[ARCNET]: Fixes.") in Nov 2004 for Linux v2.6.10. This BUS_ALIGN #define tries to allow 8 bit devices to work on a 16 bit bus by aligning addresses to 16 bit boundaries. Move this currently unused CONFIG_SA1100_CT6001 BUS_ALIGN macro from com20020.h to arcdevice.h. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit e5fcfc1f8d3cfaf432a93d39df3e5d7718c58848 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:05 2015 -0700 arcnet: Add arcnet_<I/O> macros arcnet uses an I/O scheme which can align I/O addresses to word boundaries on different architectures. Add arcnet specific macros which can hide this alignment calculation. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 4e299b922c44d242ac855805aee94d938b06944f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:04 2015 -0700 arcnet: Make a char * array const char * const Might as well be specific about the use of this array. Add a commment questioning the indexing too. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 26c6d281688e8bb8154fa78c60e551d024f5d0b8 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:03 2015 -0700 arcnet: Move files out of include/linux These #include files don't need to be in the include/linux directory as they can be local to drivers/net/arcnet/ Move them and update the #include statements. Update the MAINTAINERS file pattern by deleting arcdevice from the NETWORKING block as arcnet is currently unmaintained. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit d6d7d3ed56e3bfe7fd34108dbe23f0610e3d8621 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:02 2015 -0700 arcnet: Wrap some long lines Just neatening. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 83df99b50f901cb7c72cf132a83f43bbaeb01362 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:01 2015 -0700 arcnet: Convert arcnet_dump_skb macro to static inline Make sure the arguments are tested appropriately when not using this function. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit d8101e7bec352b7b6a154ec2e428d01bddb7e5b4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:06:00 2015 -0700 arcnet: Remove pointer comparisons to NULL Use direct tests of pointer instead. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 97464eddf9fdbe02abfc44676949e07708cf557f Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:59 2015 -0700 arcnet: Remove assignments from ifs Move the assignment above the if like general kernel style. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 5628d98fc5e99e29f2a480d4a7b1faba94a0d422 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:58 2015 -0700 arcnet: Remove unnecessary OOM messages Alloc failures have generic stack dumps so these are redundant. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 811eafc02e16996674848d7d057909624fb0cc31 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:57 2015 -0700 arcnet: Move EXPORT_SYMBOL after declarations Use the normal kernel style for EXPORT_SYMBOL. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 05a24b234b9dda3720208b74503f2cf1d05774ee Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:56 2015 -0700 arcnet: Convert printk to pr_<level> Use the more current logging style. Remove #define VERSION, use pr_info normally. Add pr_fmt with "arcnet:" prefixes and KBUILD_MODNAME. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit a34c0932c3b2f28542825ffc5280d562c49ad42d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:55 2015 -0700 arcnet: Convert BUGMSG and BUGMSG2 to arc_prink and arc_cont These macros don't actually represent BUG uses but are more commonly used as logging macros, so use a more kernel style macro. Convert the BUGMSG from a netdev_ like use to actually use netdev_<level>. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 72aeea4841c037b9b3abf65859673cbd7b6664a9 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:54 2015 -0700 arcnet: Expand odd BUGLVL macro with if and uses Don't hide what should be obvious. Make the macro a simple test instead of using if and test. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit d77510f3436e0db9b5e72fa8159ce26c3ac88d2d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:53 2015 -0700 arcnet: Neaten BUGMSG macro defines These macros are actually printk and pr_cont uses with a flag. Add a new BUGLVL_TEST macro which is just the "should use" test and not an odd "if (<foo>)" macro to simplify uses in a new patch. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit f2f0a16bf89a1bbf2f774e060de85ffbd8fff162 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:52 2015 -0700 arcnet: Use network block comment style Conformity can be useful. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 5e7ef9134ce1b8ae8d686ce08b9746b32535964d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:51 2015 -0700 arcnet: Use include/linux path for asm Use the preferred kernel include path for asm paths. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 3b4e55510f3151cd906cd221f6fba5cb56b8cfed Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:50 2015 -0700 arcnet: Coalesce string fragments Using coalesced strings helps grep for specific messages. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 7f5e760c1b269044a4ba1b269263beca80ae2741 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:49 2015 -0700 arcnet: Use normal kernel brace style Move braces normal kernel locations. Add missing braces. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 01a1d5ac4e1a5890fd6c0d0ae900e1b6e4f851d6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:48 2015 -0700 arcnet: Add and remove blank lines Use a more current kernel line style. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit cb334648a10c7fa6f0f163c22602f4dc1c6d56b4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue May 5 10:05:47 2015 -0700 arcnet: Use normal kernel spacing style Standardized spacing is easier to read. git diff -w shows no differences. objdiff shows no differences. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit 37587fadff8ce8f40a6952f0383c571a89b29d1d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Thu Jul 30 13:22:43 2015 -0700 arcnet: fix indentation of if_arcnet.h Standardized spacing is easier to read. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> commit ef34cc3428a716f86ee72aa5a37fa6c0025e4363 Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Date: Wed Sep 23 09:38:13 2015 +0800 x86/numachip: Fix timer build conflict Fix Numachip build conflict from: ce2e572 x86/numachip: Introduce Numachip2 timer mechanisms drivers/built-in.o:(.discard+0x1b): multiple definition of `__pcpu_unique_cpu_ced' arch/x86/built-in.o:(.discard+0xa0da): first defined here Ensure cpu_ced is unique by prefixing with 'numachip2'. Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Cc: <tipbuild@xxxxxxxxx> Cc: <kbuild-all@xxxxxx> Cc: Steffen Persvold <sp@xxxxxxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit e803cf97a4f90d31bcc2c9a1ea20fe9cdc12b2f9 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 22 09:24:55 2015 +0900 perf record: Synthesize COMM event for a command line workload When perf creates a new child to profile, the events are enabled on exec(). And in this case, it doesn't synthesize any event for the child since they'll be generated during exec(). But there's an window between the enabling and the event generation. It used to be overcome since samples are only in kernel (so we always have the map) and the comm is overridden by a later COMM event. However it won't work if events are processed and displayed before the COMM event overrides like in 'perf script'. This leads to those early samples (like native_write_msr_safe) not having a comm but pid (like ':15328'). So it needs to synthesize COMM event for the child explicitly before enabling so that it can have a correct comm. But at this time, the comm will be "perf" since it's not exec-ed yet. Committer note: Before this patch: # perf record usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data (7 samples) ] # perf script --show-task-events :4429 4429 27909.079372: 1 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. :4429 4429 27909.079375: 1 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. :4429 4429 27909.079376: 10 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. :4429 4429 27909.079377: 223 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. :4429 4429 27909.079378: 6571 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. usleep 4429 27909.079380: PERF_RECORD_COMM exec: usleep:4429/4429 usleep 4429 27909.079381: 185403 cycles: ffffffff810a72d3 flush_signal_handlers (/lib/modules/4. usleep 4429 27909.079444: 2241110 cycles: 7fc575355be3 _dl_start (/usr/lib64/ld-2.20.so) usleep 4429 27909.079875: PERF_RECORD_EXIT(4429:4429):(4429:4429) After: # perf record usleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data (7 samples) ] # perf script --show-task perf 0 0.000000: PERF_RECORD_COMM: perf:8446/8446 perf 8446 30154.038944: 1 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. perf 8446 30154.038948: 1 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. perf 8446 30154.038949: 9 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. perf 8446 30154.038950: 230 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. perf 8446 30154.038951: 6772 cycles: ffffffff8105f45a native_write_msr_safe (/lib/modules/4. usleep 8446 30154.038952: PERF_RECORD_COMM exec: usleep:8446/8446 usleep 8446 30154.038954: 196923 cycles: ffffffff81766440 _raw_spin_lock (/lib/modules/4.3.0-rc1 usleep 8446 30154.039021: 2292130 cycles: 7f609a173dc4 memcpy (/usr/lib64/ld-2.20.so) usleep 8446 30154.039349: PERF_RECORD_EXIT(8446:8446):(8446:8446) # Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1442881495-2928-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6489bc2d402c0db84aa64f13b864d17f7eecb07 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Sep 22 13:13:04 2015 -0300 tools vm: Fix build due to removal of tools/lib/api/fs/debugfs.h There were some changes in how this debugfs mounting helper is implemented/exported and we forgot to check if there were other users besides perf, fix it. Need to do a make -C tools/ everytime we do changes to tools/{lib,include} and other places where we're moving things from tools/perf/ to be used by other tools/ living code. Fixed: $ make -C tools/vm make: Entering directory '/home/git/linux/tools/vm' make -C ../lib/api make[1]: Entering directory '/home/git/linux/tools/lib/api' CC fd/array.o LD fd/libapi-in.o CC fs/fs.o CC fs/tracing_path.o LD fs/libapi-in.o CC cpu.o LD libapi-in.o AR libapi.a make[1]: Leaving directory '/home/git/linux/tools/lib/api' gcc -Wall -Wextra -I../lib/ -o page-types page-types.c ../lib/api/libapi.a make: Leaving directory '/home/git/linux/tools/vm' $ Reported-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx> Tested-by: Vinson Lee <vlee@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Fixes: 60a1133a5b39 ("tools lib api fs: Remove debugfs, tracefs and findfs objects") Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8d449cb5e29a488cef44d81196f2819b92585513 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 11:35:14 2015 +0200 clk: imx35: Do not call mxc_timer_init twice when booting with DT mxc_timer_init must not be called from within mx35_clocks_init_dt. It will eventually be called by imx31_timer_init_dt (drivers/clocksource/timer-imx-gpt.c). This arranges the initialization code similar to clk-imx27.c Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 0753f56e411a5e216c9899c21e54bd11dde17313 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Mon Sep 7 13:51:35 2015 +0530 clk: clk-vf610: Add clock for Vybrid OCOTP controller Add clock support for Vybrid On-Chip One Time Programmable (OCOTP) controller. While the OCOTP block does not require explicit clock gating, for programming the OCOTP timing register the clock rate of ipg clock is required for timing calculations related to fuse and shadow register read sequence. We explicitly specify the ipg clock for OCOTP as a result. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 08668d9de98193936a082f36c105fc3de168b69b Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:50 2015 -0700 ARM: dts: fix Cygnus nand device node The third compatible string "brcm,brcmnand" in bcm-cygnus.dtsi nand node is incorrect, redundant and should be removed. "brcm,brcmnand" is meant to be used by STB based Broadcom SoCs. All iProc based SoCs should use "brcm,nand-iproc". Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 35e372a3a1f016648f278aeb7b55fe347b6699da Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:49 2015 -0700 ARM: dts: enable touchscreen support on Cygnus This patch enables touchscreen support on bcm958300k and bcm958305k. Touchscreen is connected to these boards through the bcm9hmidc daughter card, and therefore also adding bcm9hmidc.dtsi that describes the daughter card Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Vikram Prakash <vikramp@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 2e561f92dc12ea3de131d337516d58862fd7ef2c Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:48 2015 -0700 ARM: dts: Enable NAND support on bcm911360_entphn This patch enables NAND support on Broadcom Cygnus form factor board (bcm911360_entphn) Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 894526cd466e4cb5fd88afbc5ff573b14933321f Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:47 2015 -0700 ARM: dts: Enable various peripherals on bcm958305k This patch enables various peripherals on Broadcom Cygnus wireless audio board (bcm958305k). These peripherals include I2C, PCIe, and NAND Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 9c5101f7a253c4f2f9bbe47e8bb681b63f4c65f5 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:46 2015 -0700 ARM: dts: Reorder Cygnus peripherals Reorder all Cygnus peripherals based on base register addresses in bcm-cygnus.dtsi Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 0f0b21a83ad2285cd14082c7cfae57a0288dd813 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:45 2015 -0700 ARM: dts: Move all Cygnus peripherals into axi bus Move all Cygnus peripherals to be under the "axi" bus node of type "simple-bus" Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit ef5b812a4e8d088836e67ade113562ca5ad4579e Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:44 2015 -0700 ARM: dts: Put Cygnus core components under core bus Put all Cygnus core components into "core" node of type "simple-bus" in bcm-cygnus.dtsi Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 5b159b62eb2a6799d9dbe998d7635b346ca6fdf8 Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:43 2015 -0700 ARM: dts: Use label for device nodes in Cygnus dts Use label instead of full path to reference device nodes in Cygnus dts files Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit de192ef14391dbec5057cf6c798aeb5fe0194e9e Author: Ray Jui <rjui@xxxxxxxxxxxx> Date: Mon Sep 21 15:12:42 2015 -0700 ARM: dts: consolidate aliases for Cygnus dt files Move aliases into bcm-cygnus.dtsi to avoid duplications in Cygnus dts files Signed-off-by: Ray Jui <rjui@xxxxxxxxxxxx> Reviewed-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 69f9c5047d04945693ecc1bdfdb8a3dc2a1f48cf Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Mon Sep 7 10:55:00 2015 +0800 ARM: imx: add enet init for i.MX7D platform Add enet phy fixup, clock source init for i.MX7D platform. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 7dc87ff8815ef43717c936faea79013855e3dbef Author: Fugang Duan <b38611@xxxxxxxxxxxxx> Date: Mon Sep 7 10:54:59 2015 +0800 ARM: imx7d: add imx7d iomux-gpr field define Add imx7d iomux-gpr field define. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 227b9e8708b14a8a26ef67bbbe19b13626df4a35 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:59 2015 +0200 usbnet: remove invalid check skb->len is always non-negative. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e724da64491b20257d46f100bcc6d6214c37b70 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:55 2015 +0200 rndis_wlan: fix checking for default value Thresholds uses -1 to indicate that default value should be used. Since thresholds are unsigned sign checking makes no sense. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e79dd09b605f42d85d1a5605ad0fe96b970695e9 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:54 2015 +0200 orinoco: fix checking for default value Thresholds uses -1 to indicate that default value should be used. Since thresholds are unsigned sign checking makes no sense. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc7514985919238ef7ce94e80f0d0ad87193de47 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:53 2015 +0200 mwifiex: fix comparison expression To avoid underflows signed variables should be used in expression. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94926121692381247090b35ec68aed124260f05e Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:52 2015 +0200 net: brcm80211: fix range check Unsigned minus constant is still unsigned so checking its sign makes no sense. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 23c2412d6296b4719c2c60054af00062174dd464 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:51 2015 +0200 net: stmmac: fix type of entry variable Variable can store negative values. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d2fa71048b85c29a3265a6ed3fae3a568aae49e Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:50 2015 +0200 net/ibm/emac: fix type of phy_mode phy_mode can be negative. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f89642fa10bb6ec02feaa8e3d1d62df671d0207 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:49 2015 +0200 isdn: hisax: fix frame calculation Difference of unsigned values is also unsigned so it does not make sense to check its sign. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25b1029789f98f945a03a2d04662a94b357aacb9 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:12 2015 -0700 ixgbe: Enable bit-banging mode on X550 Set the bit banging mode in the hardware when performing bit banging I2C operations on X550. Also control the output enable on both the clock and data lines. 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 da4ea4baf77c9e45c53671e465043ffaf26fd45d Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:07 2015 -0700 ixgbe: Set lan_id before first I2C eeprom access The lan_id is being set after a previous I2C eeprom access which makes no sense because it needs to be set before any access. Move the setting to before the access. 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 bb5ce9a5cb6e915a2b284a8785686716823679d1 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:18:02 2015 -0700 ixgbe: Provide unlocked I2C methods Most I2C accesses take and release semaphores for each access. Now there is a reason to perform multiple I2C operations under the same holding of the semaphore, so provide unlocked I2C methods for that purpose. 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 4f9e3a3de0e2fbc49c036322cb2ee656ea8b93fc Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:17:57 2015 -0700 ixgbe: Provide I2C combined on X550EM Provide I2C combined operations on X550EM, not X550 devices. 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 cbd45ec7aae9a20835d1a64c7a1910eb5dcec57b Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:17:51 2015 -0700 ixgbe: Add X550EM support for SFP insertion interrupt Add support for the SFP insertion interrupt on X550EM devices with SFPs. 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 29a8dca1997f880563e53e9ba0fcb50b03bd23af Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 8 16:17:46 2015 -0700 ixgbe: Accept SFP not present errors on all devices When an SFP not present error is returned by the reset_hw method, accept it and go on, since an SFP can still be inserted. Previously it was only accepted for 82598 devices. 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 0f90300f4fd30968a4d40fe47a9043be9912cb31 Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Thu Aug 6 17:57:31 2015 +0900 ixgbevf: Enables TSO for stacked VLAN Setting ndo_features_check to passthru_features_check allows the driver to skip the check for multiple tagged TSO packets and enables stacked VLAN TSO. Tested with 82599ES. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f2701b185e05d0897a47f6a14da40a068b0644ff Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Thu Aug 6 17:57:29 2015 +0900 e1000e: Enable TSO for stacked VLAN Setting ndo_features_check to passthru_features_check allows the driver to skip the check for multiple tagged TSO packets and enables stacked VLAN TSO. Tested with I217-LM. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 213246d3fade6772e07138597bca0bdf9fbe754d Author: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Date: Thu Aug 6 17:57:28 2015 +0900 igbvf: Enable TSO for stacked VLAN Setting ndo_features_check to passthru_features_check allows the driver to skip the check for multiple tagged TSO packets and enables stacked VLAN TSO. Tested with I350. Signed-off-by: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 307723255a05242ab252dd7047d4970ab60c7dfd Author: Francois Romieu <romieu@xxxxxxxxxxxxx> Date: Thu Aug 6 00:52:37 2015 +0200 e1000: remove dead e1000_init_eeprom_params calls The device probe method e1000_probe calls e1000_init_eeprom_params itself so there's no reason to call it again from e1000_do_write_eeprom or e1000_do_read_eeprom. The sentence above assumes that e1000_init_eeprom_params is effective. e1000_init_eeprom_params depends mostly on hw->mac_type and e1000_probe bails out early if it can't set mac_type (see e1000_init_hw_struct, then e1000_set_mac_type), qed. Btw, if effective, the removed paths would had been deadlock prone when e1000_eeprom_spi was set: -> e1000_write_eeprom (takes e1000_eeprom_lock) -> e1000_do_write_eeprom -> e1000_init_eeprom_params -> e1000_read_eeprom (takes e1000_eeprom_lock) (same narrative with e1000_read_eeprom -> e1000_do_read_eeprom etc.) As a final note, the candidate deadlock above can't happen in e1000_probe due to the way eeprom->word_size is set / tested. Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 80043f3bf5bdb187566620a8f183c15b94e961cb Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jul 1 17:38:36 2015 -0700 fm10k: add support for extra debug statistics Add a private ethtool flag to enable display of these statistics, which are generally less useful. However, sometimes it can be useful for debugging purposes. The most useful portion is the ability to see what the PF thinks the VF mailboxes look like. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 15aa49cb99c128e1484b6373382e264588067cab Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Fri Jun 26 08:54:07 2015 -0700 fm10k: TRIVIAL remove unnecessary comma Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit afadfd224f53106e4fd52f3b6885a93431a5a6f5 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Fri Jun 26 08:54:06 2015 -0700 fm10k: create "correct" header for the remote end on connect When we connect to the mailbox, we insert a fake disconnect header so that the code does not see an invalid header and thus instantly error every time we bring up the mailbox. However, we incorrectly record the tail and head from the local perspective. Since the remote end shouldn't have anything for us, add a "create_fake_disconnect_hdr" function which inverts the TAIL and HEAD fields. This enables us to connect without any errors of either TAIL or HEAD incorrectness, and prevents creating extraneous error messages. This is necessary now since mbx_reset_work does not actually reset the Tx FIFO head and tail pointers, thus head and tail might not be equivalent on a reconnect. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4b09728e9d34170c375f41d9b454f067ce39591f Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Thu Jun 25 14:43:43 2015 -0700 fm10k: drop transmitted messages in Tx FIFO as part of reset_work This patch fixes a corner case issue with the PF/VF mailbox code. Currently, fm10k_mbx_reset_work clears various state about the mailbox. However, it does not clear the Tx FIFO head/tail pointers. We can't simply clear these pointers as we unintentionally drop untransmitted messages without error. Doing nothing results in a possible phantom re-transmission of messages, since we leave tx.head and tx.tail intact, but clear the tx_pulled and tail_len values. This means that the PF could continuously re-send a message which triggers a reset in the VF. Upon reset, the VF will re-receive the same message after a reconnect. If we reset the tx.head and tx.tail pointers completely, we end up dropping some messages that were pending before connect. This results in missing LPORT_MSG_READY bits, and VFs will end up reporting no link. However, we can resolve both issues by simply incrementing head to account for the already transmitted messages, before we reset tx_pulled. We do this via the same logic as fm10k_mbx_head_pull. We account for the tail_len which includes all data not yet transmitted, once we account for the acked data which means re-reading the HEAD variable from the message header. Then, we drop messages until we've dropped more than the new tx_pulled value. At this point, resetting tail_len and tx_pulled, but not tx.head and tx.tail will result in prevention of the phantom message. It also prevents us from dropping untransmitted messages upon attempting to Tx into a connect or disconnect header. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5532408b48834bd762ed53c22aabed5dae0748d6 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 24 17:03:30 2015 -0400 ixgbe: Add fdir support for SCTP on X550 X550 has HW support for SCTP flow director filters SCTP mask. This patch adds it like we do for UDP and TCP. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Tested-by: Krishneil Singh <Krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a023bbd0b1a3716397d8d54ba5b95e09b8e27699 Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Jun 24 16:38:53 2015 -0400 ixgbe: Add SFP+ detection for X550 hardware This patch is part of the future enablement of X550 SFP+ support. This HW uses different SDP so the interrupts need to be set up accordingly. Signed-off-by: Donald C Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8427672abdc9e405f86755fad5a035511a5b1534 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Jun 15 15:00:52 2015 -0700 fm10k: remove comment about rtnl_lock around mbx operations This comment is no longer true due to a couple of mailbox locking refactors, and we now don't actually do any rtnl protected operations directly in the mailbox path. Remove this comment as it is factually incorrect and confusing. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ce2e572cfe7b2fc3f0e9da4aa7bc61a2c2c51fc7 Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Date: Mon Sep 21 18:02:25 2015 +0800 x86/numachip: Introduce Numachip2 timer mechanisms Add 1GHz 64-bit Numachip2 clocksource timer support for accurate system-wide timekeeping, as core TSCs are unsynchronised. Additionally, add a per-core clockevent mechanism that interrupts via the platform IPI vector after a programmed period. [ tglx: Taking it through x86 due to dependencies ] Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Acked-by: Steffen Persvold <sp@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1442829745-29311-1-git-send-email-daniel@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ad03a9c25d258641556c7198e26fd882c741987a Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Date: Mon Sep 21 01:02:01 2015 +0800 x86/numachip: Add Numachip IPI optimisations When sending IPIs, first check if the non-local part of the source and destination APIC IDs match; if so, send via the local APIC for efficiency. Secondly, since the AMD BIOS-kernel developer guide states IPI delivery will occur invarient of prior deliver status, avoid polling the delivery status bit for efficiency. Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Acked-by: Steffen Persvold <sp@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1442768522-19217-3-git-send-email-daniel@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d9d4dee6cedfa17e5eedcba242dca3091bf73bc3 Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Date: Mon Sep 21 01:02:00 2015 +0800 x86/numachip: Add Numachip2 APIC support Introduce support for Numachip2 remote interrupts via detecting the right ACPI SRAT signature. Access is performed via a fixed mapping in the x86 physical address space. Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Acked-by: Steffen Persvold <sp@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1442768522-19217-2-git-send-email-daniel@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit db1003a719d75cebe5843a7906c02c29bec9922c Author: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Date: Mon Sep 21 01:01:59 2015 +0800 x86/numachip: Cleanup Numachip support Drop unused code and includes in Numachip header files and APIC driver. Additionally, use the 'numachip1' prefix on Numachip1-specific functions; this prepares for adding Numachip2 support in later patches. Signed-off-by: Daniel J Blueman <daniel@xxxxxxxxxxxxx> Acked-by: Steffen Persvold <sp@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1442768522-19217-1-git-send-email-daniel@xxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 99cb99aa055a72d3880d8a95a71034c4d64bcf9a Merge: 97170ea 0a031ac5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 22 13:11:43 2015 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter/IPVS updates for net-next The following patchset contains Netfilter/IPVS updates for your net-next tree in this 4.4 development cycle, they are: 1) Schedule ICMP traffic to IPVS instances, this introduces a new schedule_icmp proc knob to enable/disable it. By default is off to retain the old behaviour. Patchset from Alex Gartrell. I'm also including what Alex originally said for the record: "The configuration of ipvs at Facebook is relatively straightforward. All ipvs instances bgp advertise a set of VIPs and the network prefers the nearest one or uses ECMP in the event of a tie. For the uninitiated, ECMP deterministically and statelessly load balances by hashing the packet (usually a 5-tuple of protocol, saddr, daddr, sport, and dport) and using that number as an index (basic hash table type logic). The problem is that ICMP packets (which contain really important information like whether or not an MTU has been exceeded) will get a different hash value and may end up at a different ipvs instance. With no information about where to route these packets, they are dropped, creating ICMP black holes and breaking Path MTU discovery. Suddenly, my mom's pictures can't load and I'm fielding midday calls that I want nothing to do with. To address this, this patch set introduces the ability to schedule icmp packets which is gated by a sysctl net.ipv4.vs.schedule_icmp. If set to 0, the old behavior is maintained -- otherwise ICMP packets are scheduled." 2) Add another proc entry to ignore tunneled packets to avoid routing loops from IPVS, also from Alex. 3) Fifteen patches from Eric Biederman to: * Stop passing nf_hook_ops as parameter to the hook and use the state hook object instead all around the netfilter code, so only the private data pointer is passed to the registered hook function. * Now that we've got state->net, propagate the netns pointer to netfilter hook clients to avoid its computation over and over again. A good example of how this has been simplified is the former TEE target (now nf_dup infrastructure) since it has killed the ugly pick_net() function. There's another round of netns updates from Eric Biederman making the line. To avoid the patchbomb again to almost all the networking mailing list (that is 84 patches) I'd suggest we send you a pull request with no patches or let me know if you prefer a better way. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55696b1f664e52b3036f21631f9c2247b667f587 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:24 2015 -0600 x86/mm: Fix no-change case in try_preserve_large_page() try_preserve_large_page() checks if new_prot is the same as old_prot. If so, it simply sets do_split to 0, and returns with no-operation. However, old_prot is set as a 4KB pgprot value while new_prot is a large page pgprot value. Now that old_prot is initially set from p?d_pgprot() as a large page pgprot value, fix it by not overwriting old_prot with a 4KB pgprot value. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-12-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit d551aaa2f7e1387fa66093ce9914c2e91f283a50 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:23 2015 -0600 x86/mm: Fix __split_large_page() to handle large PAT bit __split_large_page() is called from __change_page_attr() to change the mapping attribute by splitting a given large page into smaller pages. This function uses pte_pfn() and pte_pgprot() for PUD/PMD, which do not handle the large PAT bit properly. Fix __split_large_page() by using the corresponding pud/pmd pfn/ pgprot interfaces. Also remove '#ifdef CONFIG_X86_64', which is not necessary. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-11-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3a19109efbfa7d887996a74257556a46e00525c2 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:22 2015 -0600 x86/mm: Fix try_preserve_large_page() to handle large PAT bit try_preserve_large_page() is called from __change_page_attr() to change the mapping attribute of a given large page. This function uses pte_pfn() and pte_pgprot() for PUD/PMD, which do not handle the large PAT bit properly. Fix try_preserve_large_page() by using the corresponding pud/pmd prot/pfn interfaces. Also remove '#ifdef CONFIG_X86_64', which is not necessary. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-10-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit daf3e35c5888e8bd6a2f5ed15ed392b2df362ecf Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:21 2015 -0600 x86/mm: Fix gup_huge_p?d() to handle large PAT bit gup_huge_pud() and gup_huge_pmd() cast *pud and *pmd to *pte, and use pte_xxx() interfaces to obtain the flags and PFN. However, the pte_xxx() interface does not handle the large PAT bit properly for PUD/PMD. Fix gup_huge_pud() and gup_huge_pmd() to use pud_xxx() and pmd_xxx() interfaces according to their type. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-9-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 34437e67a6727885bdf6cbfd8441b1ac43a1ee65 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:20 2015 -0600 x86/mm: Fix slow_virt_to_phys() to handle large PAT bit slow_virt_to_phys() calls lookup_address() to obtain *pte and its level. It then calls pte_pfn() to obtain a physical address for any level. However, this physical address is not correct when the large PAT bit is set because pte_pfn() does not mask the large PAT bit properly for PUD/PMD. Fix slow_virt_to_phys() to use pud_pfn() and pmd_pfn() for 1GB and 2MB mapping levels. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-8-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit da25e628c4c231a281b1c1de3168a36ab9bfe473 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:19 2015 -0600 x86/mm: Fix page table dump to show PAT bit /sys/kernel/debug/kernel_page_tables does not show the PAT bit for PUD/PMD mappings. This is because walk_pud_level(), walk_pmd_level() and note_page() mask the flags with PTE_FLAGS_MASK, which does not cover their PAT bit, _PAGE_PAT_LARGE. Fix it by replacing the use of PTE_FLAGS_MASK with p?d_flags(), which masks the flags properly. Also change to show the PAT bit as "PAT" to be consistent with other bits. Reported-by: Robert Elliott <elliott@xxxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-7-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit bbac8c6deadab921f4b7d00ce675ffa4f358ec7f Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:18 2015 -0600 x86/asm: Add pud_pgprot() and pmd_pgprot() pte_pgprot() returns a pgprot_t value by calling pte_flags(). Now that pud_flags() and pmd_flags() work specifically for the pud/pmd levels, define pud_pgprot() and pmd_pgprot() for PUD/PMD. Also update pte_pgprot() to remove the unnecessary mask with PTE_FLAGS_MASK as pte_flags() takes care of it. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-6-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit f70abb0fc3da1b2945c92751ccda2744081bf2b7 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:17 2015 -0600 x86/asm: Fix pud/pmd interfaces to handle large PAT bit Now that we have pud/pmd mask interfaces, which handle pfn & flags mask properly for the large PAT bit. Fix pud/pmd pfn & flags interfaces by replacing PTE_PFN_MASK and PTE_FLAGS_MASK with the pud/pmd mask interfaces. Suggested-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-5-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 4be4c1fb9a754b100466ebaec50f825be0b2050b Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:16 2015 -0600 x86/asm: Add pud/pmd mask interfaces to handle large PAT bit The PAT bit gets relocated to bit 12 when PUD and PMD mappings are used. This bit 12, however, is not covered by PTE_FLAGS_MASK, which is used for masking pfn and flags for all levels. Add pud/pmd mask interfaces to handle pfn and flags properly by using P?D_PAGE_MASK when PUD/PMD mappings are used, i.e. PSE bit is set. Suggested-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-4-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 832102671855f73962e7a04fdafd48b9385ea5c6 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:15 2015 -0600 x86/asm: Move PUD_PAGE macros to page_types.h PUD_SHIFT is defined according to a given kernel configuration, which allows it be commonly used by any x86 kernels. However, PUD_PAGE_SIZE and PUD_PAGE_MASK, which are set from PUD_SHIFT, are defined in page_64_types.h, which can be used by 64-bit kernel only. Move PUD_PAGE_SIZE and PUD_PAGE_MASK to page_types.h so that they can be used by any x86 kernels as well. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-3-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit fb535ccb30845fe0b7bd09caa37a838985b72ff9 Author: Toshi Kani <toshi.kani@xxxxxxx> Date: Thu Sep 17 12:24:14 2015 -0600 x86/vdso32: Define PGTABLE_LEVELS to 32bit VDSO In case of CONFIG_X86_64, vdso32/vclock_gettime.c fakes a 32-bit non-PAE kernel configuration by re-defining it to CONFIG_X86_32. However, it does not re-define CONFIG_PGTABLE_LEVELS leaving it as 4 levels. This mismatch leads <asm/pgtable_type.h> to NOT include <asm-generic/ pgtable-nopud.h> and <asm-generic/pgtable-nopmd.h>, which will cause compile errors when a later patch enhances <asm/pgtable_type.h> to use PUD_SHIFT and PMD_SHIFT. These -nopud & -nopmd headers define these SHIFTs for the 32-bit non-PAE kernel. Fix it by re-defining CONFIG_PGTABLE_LEVELS to 2 levels. Signed-off-by: Toshi Kani <toshi.kani@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Juergen Gross <jgross@xxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Konrad Wilk <konrad.wilk@xxxxxxxxxx> Cc: Robert Elliot <elliott@xxxxxxx> Cc: linux-mm@xxxxxxxxx Link: http://lkml.kernel.org/r/1442514264-12475-2-git-send-email-toshi.kani@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit ff8e2c560eca32043ed097099debac488a4bd99f Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:11 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 <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f59c150ad9ae017abcff16775ccdd0bdefb963d Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:10 2015 +0200 usb: interface authorization: Documentation part This part adds the documentation for the interface authorization. Signed-off-by: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 310d2b4124c073a2057ef9d952d4d938e9b1dfd9 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:09 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 <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3910cef3968b2456cdd6c33b1f5e33904319f22 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:08 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 <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d1f8573a33224dce9b6e3a5085a6857b7572c13 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:07 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 <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b2bd3c8c69c4817a9a2feb4597021d486c105f4 Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:06 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 <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ad2ddce1a096dea71d42969515d3a64f0d9246f Author: Stefan Koch <stefan.koch10@xxxxxxxxx> Date: Tue Aug 25 21:10:05 2015 +0200 usb: interface authorization: Declare authorized attribute The attribute authorized shows the authorization state for an interface. Signed-off-by: Stefan Koch <stefan.koch10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c61814544cfe0db7c4c4adf38e51d015c7175f9 Author: Eric Curtin <ericcurtin17@xxxxxxxxx> Date: Tue Sep 15 21:27:20 2015 +0100 tools: usbip: detach: avoid calling strlen() at each iteration Instead of calling strlen on every iteration of the for loop, just call it once and cache the result in a temporary local variable which will be used in the for loop instead. Signed-off-by: Eric Curtin <ericcurtin17@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0132c4e0d06046a324051c09bd094719b9216ac Author: Yaowei Bai <bywxiaobai@xxxxxxx> Date: Tue Sep 22 21:43:13 2015 +0800 kernel/trace_probe: is_good_name can be boolean This patch makes is_good_name return bool to improve readability due to this particular function only using either one or zero as its return value. No functional change. Link: http://lkml.kernel.org/r/1442929393-4753-2-git-send-email-bywxiaobai@xxxxxxx Signed-off-by: Yaowei Bai <bywxiaobai@xxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 6f83d30a370851f8e47b91d0a7a2adc3d3c3ad8a Merge: 7001b3f 9e294bf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Sep 22 09:54:16 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: clk: samsung: fix cpu clock's flags checking commit 10265075aa3a8629b0ccdcff4d10b17bd740defe Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 11 15:00:22 2015 -0400 cgroup: make cgroup_update_dfl_csses() migrate all target processes atomically cgroup_update_dfl_csses() is responsible for migrating processes when controllers are enabled or disabled on the default hierarchy. As the css association changes for all the processes in the affected cgroups, this involves migrating multiple processes. Up until now, it was implemented by migrating process-by-process until the source css_sets are empty; however, this means that if a process fails to migrate after some succeed before it, the recovery is very tricky. This was considered okay as subsystems weren't allowed to reject process migration on the default hierarchy; unfortunately, enforcing this policy turned out to be problematic for certain types of resources - realtime slices for now. As such, the default hierarchy is gonna allow restricted failures during migration and to support that this patch makes cgroup_update_dfl_csses() migrate all target processes atomically rather than one-by-one. The preceding patches made subsystems ready for multi-process migration and factored out taskset operations making this almost trivial. All tasks of the target processes are put in the same taskset and the migration operations are performed once which either fails or succeeds for all. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit adaae5dcf8920375a2fdc6268f762a0b7b331c55 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 11 15:00:21 2015 -0400 cgroup: separate out taskset operations from cgroup_migrate() Currently, cgroup_migreate() implements large part of the migration logic inline including building the target taskset and actually migrating them. This patch separates out the following taskset operations. CGROUP_TASKSET_INIT() : taskset initializer cgroup_taskset_add() : add a task to a taskset cgroup_taskset_migrate() : migrate a taskset to the destination cgroup This will be used to implement atomic multi-process migration in cgroup_update_dfl_csses(). This is pure reorganization which doesn't introduce any functional changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit 9af2ec45c2d323d5ce35b431bb150c0eb567f19a Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 11 15:00:20 2015 -0400 cgroup: reorder cgroup_migrate()'s parameters cgroup_migrate() has the destination cgroup as the first parameter while cgroup_task_migrate() has the destination cset as the last. Another migration function is scheduled to be added which can make the discrepancy further stand out. Let's reorder cgroup_migrate()'s parameters so that the destination cgroup is the last. This doesn't cause any functional difference. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit 4530eddb59494b89650d6bcd980fc7f7717ad80c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 11 15:00:19 2015 -0400 cgroup, memcg, cpuset: implement cgroup_taskset_for_each_leader() It wasn't explicitly documented but, when a process is being migrated, cpuset and memcg depend on cgroup_taskset_first() returning the threadgroup leader; however, this approach is somewhat ghetto and would no longer work for the planned multi-process migration. This patch introduces explicit cgroup_taskset_for_each_leader() which iterates over only the threadgroup leaders and replaces cgroup_taskset_first() usages for accessing the leader with it. This prepares both memcg and cpuset for multi-process migration. This patch also updates the documentation for cgroup_taskset_for_each() to clarify the iteration rules and removes comments mentioning task ordering in tasksets. v2: A previous patch which added threadgroup leader test was dropped. Patch updated accordingly. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 3df9ca0a2b8b50db5a079ae9d97c5b55435e9a6c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 11 15:00:18 2015 -0400 cpuset: migrate memory only for threadgroup leaders If memory_migrate flag is set, cpuset migrates memory according to the destnation css's nodemask. The current implementation migrates memory whenever any thread of a process is migrated making the behavior somewhat arbitrary. Let's tie memory operations to the threadgroup leader so that memory is migrated only when the leader is migrated. While this is a behavior change, given the inherent fuziness, this change is not too likely to be noticed and allows us to clearly define who owns the memory (always the leader) and helps the planned atomic multi-process migration. Note that we're currently migrating memory in migration path proper while holding all the locks. In the long term, this should be moved out to an async work item. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit 917536aeb88d34e06c1353b0dd144f0987bb66bd Author: John Lin <john.lin@xxxxxxxxxxx> Date: Mon Sep 21 14:12:01 2015 +0800 ASoC: rt5645: Add jd_invert for Broadwell Broadwell can not triger the IRQ falling and rising simultaneously, so it can not detect jack-in and jack-out simultaneously. We add a flag "jd_invert" to platform data. If this flag is set, codec IRQ will be set to invert that forces IRQ as pulse when jack-in and jack-out. Signed-off-by: John Lin <john.lin@xxxxxxxxxxx> Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e9159e7577cfd1ac8b3c5ea8916ad37bcd87e629 Author: John Lin <john.lin@xxxxxxxxxxx> Date: Mon Sep 21 14:12:00 2015 +0800 ASoC: rt5645: Add dmi for Broadwell Add DMI data for Buddy project. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: John Lin <john.lin@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c44506997c67bcc6299e47dd43030cbd133ed439 Merge: 6ff33f3 df5c79e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 22 09:45:46 2015 -0700 Merge branch 'fix/rt5645' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rt5645 commit 52019e406c24a98ba8c8f731c1236ff0ac3de96a Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 22 12:36:15 2015 +0200 EDAC, i5100: Convert to debugfs wrappers This driver creates its debugfs hierarchy under the toplevel debugfs dir - see i5100_init() - so make it use edac_debugfs_create_dir_at( , NULL) because we're not breaking userspace. Oh well. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit bba3b31e440a9c16da013a5f07066b8092a16c87 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 22 12:27:29 2015 +0200 EDAC, altera: Convert to debugfs wrappers Use the EDAC-specific wrappers. Drop CONFIG_EDAC_DEBUG ifdeffery. Cc: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Cc: <linux-edac@xxxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4397bcb4fa1dd285a2c6d583d1f1cbc6bd423f97 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 22 12:16:05 2015 +0200 EDAC: Add debugfs wrappers Later patches will convert EDAC users to those. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1a3284542f2cedc14fa8c4b4de6b9a85eedf4402 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Sep 22 08:56:35 2015 -0700 ARM: configs: keystone: Add basic systemd related options Add basic options to bootup on systemd based distros such as debian. See http://cgit.freedesktop.org/systemd/systemd/tree/README#n38 for more information. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit 45ddd2e3723a2ed9e5125ddcc3afbb0a27c2c425 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Sep 22 08:56:28 2015 -0700 ARM: configs: keystone: sync to savedefconfig Sync up the defconfig to savedefconfig output. easier to integrate deltas as a result. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit adda50b8b32bd559906d82fa32caeaf6c9306f59 Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Tue Jul 21 10:42:53 2015 -0700 drm/i915/skl: Don't clear all watermarks when updating. (v2) Clearing the watermarks for all pipes/planes when updating the watermarks for a single CRTC change seems like the wrong thing to do here. As is, this code will ony update any pipe/plane watermarks that need updating and leave the remaining set to zero. Later, the watermark checks in check_wm_state() will flag these zero'd out pipe/plane watermarks and throw errors. By clearing only the watermark values associated with the specific crtc the other watermark values may remain unchanged. v2: Make sure all the dirty flags are cleared. Damien Clear all values assoicated with crtc/pipe being updated. Damien Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 25e1793f6c642604b13e33bc81a9c8d48d652c86 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:56:23 2015 +0200 drm/i915: Mark debug mod options as _unsafe We don't want random people to touch these. Especially true since we've just screwed up SKL by holding it way too long under the preliminary flag because of some ABI issues. And now there's howtos all over the internets about how to set this. Same pretty much for anything else. Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> [danvet: drop fastboot changes, that option is gone.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 604ef7346862bb761a091932e99c14204ff4050a Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Mon Sep 21 15:33:35 2015 +0200 drm/i915: fix handling gen8_emit_flush_coherentl3_wa result The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2038576 Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5389e916c3b64c3dd249018dfaf983e2e3a06c6f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Fri Sep 4 21:06:15 2015 +0200 drm/i915: Spell vga_switcheroo consistently Currently everyone and their dog has their own favourite spelling for vga_switcheroo. This makes it hard to grep dmesg for log entries relating to vga_switcheroo. It also makes it hard to find related source files in the tree. vga_switcheroo.c uses pr_fmt "vga_switcheroo". Use that everywhere. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac742d37180bee83bc433be087b66a17af2883b9 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:36:40 2015 +0200 futex: Force hot variables into a single cache line futex_hash() references two global variables: the base pointer futex_queues and the size of the array futex_hashsize. The latter is marked __read_mostly, while the former is not, so they are likely to end up very far from each other. This means that futex_hash() is likely to encounter two cache misses. We could mark futex_queues as __read_mostly as well, but that doesn't guarantee they'll end up next to each other (and even if they do, they may still end up in different cache lines). So put the two variables in a small singleton struct with sufficient alignment and mark that as __read_mostly. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441834601-13633-1-git-send-email-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 95b8aff2a6e5616639db06dd37efb36fba188590 Author: Andrew F. Davis <afd@xxxxxx> Date: Mon Sep 14 16:26:07 2015 -0500 power: bq27x00_battery: Remove unneeded i2c MODULE_ALIAS The MODULE_DEVICE_TABLE macro automatically adds all needed i2c MODULE_ALIASes so remove the extra MODULE_ALIAS. Signed-off-by: Andrew F. Davis <afd@xxxxxx> Acked-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5e5822f670c2c61953b5d4d18b4cc3e66744865c Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Aug 13 10:24:41 2015 +0530 power_supply: max8998: Use devm_power_supply_register Use managed resource function devm_power_supply_register instead of power_supply_register to simplify the error path by allowing unregister to happen automatically on error. To be compatible with the change, replace various gotos by direct returns and remove unneeded label err. Also, remove max8998_battery_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 71f64340fc0eadd06036d0db9a511b6d726add1d Author: Huang Shijie <shijie.huang@xxxxxxx> Date: Wed Sep 2 10:24:55 2015 +0800 genirq: Remove the second parameter from handle_irq_event_percpu() Actually, we always use the first irq action of the @desc->action chain, so remove the second parameter from handle_irq_event_percpu() which makes the code more tidy. Signed-off-by: Huang Shijie <shijie.huang@xxxxxxx> Reviewed-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx Cc: marc.zyngier@xxxxxxx Link: http://lkml.kernel.org/r/1441160695-19809-1-git-send-email-shijie.huang@xxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit b55a3bb8650ddb096624175c55176d7fdbcad4ae Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Sep 21 15:46:06 2015 +0200 irqchip/atmel-aic5: Simplify base chip selection Use irq_get_domain_generic_chip() to select the base chip. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Nicholas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: <sasha.levin@xxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: <Wenyou.Yang@xxxxxxxxx> Cc: <jason@xxxxxxxxxxxxxx> Cc: <marc.zyngier@xxxxxxx> Link: http://lkml.kernel.org/r/1442843173-2390-3-git-send-email-ludovic.desroches@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 414a431ad6217a03e561fcb199048141db3fc024 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Sep 21 15:46:05 2015 +0200 irqchip/atmel-aic5: Use explicit variable name for the base chip To avoid errors, use an explicit variable name when accessing the 'base' generic chip. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Nicholas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: <sasha.levin@xxxxxxxxxx> Cc: <linux-arm-kernel@xxxxxxxxxxxxxxxxxxx> Cc: <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: <Wenyou.Yang@xxxxxxxxx> Cc: <jason@xxxxxxxxxxxxxx> Cc: <marc.zyngier@xxxxxxx> Link: http://lkml.kernel.org/r/1442843173-2390-2-git-send-email-ludovic.desroches@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 75ea8ca844fd35ce365e35e1617b239892d31f72 Author: Marcel Ziswiler <marcel@xxxxxxxxxxxx> Date: Sun Sep 20 00:13:37 2015 +0200 power: charger-manager: comment spelling fixes By accident I stumbled over a few misspelled words in the charger-manager header file which this patch fixes. Namely: - Extcon rather than Exton - constraint rather than constratint - existence rather than existance - difference rather than diffential While at it also add a missing space before a closing comment star forward-slash. Signed-off-by: Marcel Ziswiler <marcel@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c72b7bf82cc681c350c051e5f077b54dac531d2f Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 18:54:07 2015 +0200 tps65090-charger: 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 0df2deeab462bde009c7f1a29c6d2d395bac39d8 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Sep 17 18:55:00 2015 +0530 max8903_charger: Convert to using managed resources Use managed resource functions devm_request_threaded_irq and devm_power_supply_register to simplify error handling. To be compatible with the change, various gotos are replaced with direct returns and unneeded labels are dropped. Also, remove max8903_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 50bddb99c10d6ed861ce384bfe95c78eab5e3ca7 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Sep 17 18:27:52 2015 +0530 power: max17042_battery: Convert to using managed resources Use managed resource functions devm_request_threaded_irq and devm_power_supply_register to simplify error handling. Also, remove max17042_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit f94f87ab1a04629699ec1e2408dae8f3acee5dc4 Merge: afbbd23 d32dc9a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Tue Sep 22 15:56:46 2015 +0200 Merge branch 'irq/urgent' into irq/core Get the urgent bugfix for aic5 as further patches depend on it. commit 96d8bf75da12df17f2c861043158dad2dabfe491 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 21 16:35:43 2015 +0200 perf tools: Add include/err.h into MANIFEST Otherwise the tarpkg is incomplete (tarpkg tests fails). Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Fixes: 01ca9fd41d6f ("tools: Add err.h with ERR_PTR PTR_ERR interface") Link: http://lkml.kernel.org/r/1442846143-8556-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 65f041bee7838e2a91dbbc0a917d9291adbb3484 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 21 17:25:27 2015 -0300 tools lib bpf: Use FEATURE_USER to allow building in the same dir as perf When building tools/lib/bpf as part of the tools/perf/ build process, which will happend when we introduce a patch wiring that up, we end up stomping on the feature detection caching mechanism, that uses a file in the output directory (O=) that is shared by libbpf and perf to check if something changed from one build to another that requires redoing the feature detection process. By using the recently introduced FEATURE_USER tools/build/ knob, we can avoid that: Before, every make invokation would run the feature detection: $ make O=/tmp/build/perf -C tools/perf make: Entering directory '/home/git/linux/tools/perf' Auto-detecting system features: ... dwarf: [ on ] ... glibc: [ on ] <SNIP> ... get_cpuid: [ on ] ... bpf: [ on ] GEN perf-archive GEN perf-with-kcore Auto-detecting system features: ... libelf: [ on ] ... bpf: [ on ] <SNIP> After: $ make O=/tmp/build/perf -C tools/perf make: Entering directory '/home/git/linux/tools/perf' BUILD: Doing 'make -j4' parallel build make: Leaving directory '/home/git/linux/tools/perf' $ Because we now have two different feature detection state files: $ ls -la /tmp/build/perf/FEATURE-DUMP* -rw-rw-r--. 1 acme acme 338 Sep 21 17:25 /tmp/build/perf/FEATURE-DUMP -rw-rw-r--. 1 acme acme 33 Sep 21 17:25 /tmp/build/perf/FEATURE-DUMP.libbpf $ Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Fixes: 1b76c13e4b36 ("bpf tools: Introduce 'bpf' library and add bpf feature check") Link: http://lkml.kernel.org/n/tip-s6ev9wfqy7pvvs58emys2g90@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 13e96db61c1c32cd4c8102a95129bb7677cc746d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 21 12:24:47 2015 -0300 tools build: Allow setting the feature detection user We will use the tools/build/ autodetection in the eBPF patchkit and it is currently sharing the output directory with perf, that also uses the feature detection logic. As we keep state in the output directory, so that we can avoid running all the tests again, we need to have different filenames for the files used in this state, allow doing that via the FEATURE_USER variable, to be set alongside the existing FEATURE_{TEST,DISPLAY} variables. v2: Fix comment describing the FEATURE_DUMP filename to make sure where it is created, precisely at $(OUTPUT)FEATURE-DUMP$(FEATURE_USER). Pointed out by Jiri. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/n/tip-fdbev0vrn3x6idqc3ajbnvcb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 20517cd9c5930c9ef580082d23073842e92249ad Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 21 17:00:27 2015 -0300 tools lib bpf: Fix up FEATURE_{TESTS,DISPLAY} usage When libbpf was introduced it wrongly asked for the "libelf" and "bpf" feature tests to be performed (via FEATURE_TESTS), while asking that "libbpf", "libelf-mmap", "libelf-getphdrnum" and "bpf" to have the result of its respective tests to be displayed (via FEATURE_DISPLAY). Due to another recently bug fixed in the tools/build/ infrastructure ("tools build: Fixup feature detection display function name") the results for the entries in the FEATURE_DISPLAY, for this case, were appearing as all succeeding, when two of them (the ones only on the DISPLAY) were not even being performed. Before: $ make -C tools/lib/bpf/ make: Entering directory '/home/git/linux/tools/lib/bpf' Auto-detecting system features: ... libelf: [ on ] ... libelf-getphdrnum: [ OFF ] ... libelf-mmap: [ OFF ] ... bpf: [ on ] <SNIP> After, with FEATURE_TESTS == FEATURE_DISPLAY: Auto-detecting system features: ... libelf: [ on ] ... libelf-getphdrnum: [ on ] ... libelf-mmap: [ on ] ... bpf: [ on ] <SNIP> I just inverted, so that it tests the four features but displays just the libelf and mmap ones, to make it more compact. So it becomes: $ make -C tools/lib/bpf/ make: Entering directory '/home/git/linux/tools/lib/bpf' Auto-detecting system features: ... libelf: [ on ] ... bpf: [ on ] Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Fixes: 1b76c13e4b36 ("bpf tools: Introduce 'bpf' library and add bpf feature check") Link: http://lkml.kernel.org/n/tip-y4bd59e6j9rzzojiyeqrg2jq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bc312cbdfa4c4eaa074bae29adbff231c743619a Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Sep 10 12:35:13 2015 +0200 power: reset: at91-reset/trivial: driver applies to SAMA5 family as well This diver doesn't applies only on SAM9 SoC families but on SAMA5 families as well. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6076e2a47cccfb3d48a8d165853c0b799c563df7 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 21 11:49:51 2015 -0300 tools build: Fixup feature detection display function name Cut'n'paste mistake, it should eval the name of the function defined right next to it, in the next line, fix it. Before: $ make -C tools/lib/bpf/ make: Entering directory '/home/git/linux/tools/lib/bpf' Auto-detecting system features: ... libelf: [ on ] ... libelf-getphdrnum: [ on ] ... libelf-mmap: [ on ] ... bpf: [ on ] <SNIP> After: $ make -C tools/lib/bpf/ make: Entering directory '/home/git/linux/tools/lib/bpf' Auto-detecting system features: ... libelf: [ on ] ... libelf-getphdrnum: [ OFF ] ... libelf-mmap: [ OFF ] ... bpf: [ on ] <SNIP> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Fixes: 58d4f00ff13f ("perf build: Fix feature_check name clash") Link: http://lkml.kernel.org/n/tip-dzu1c4sruukgfq5d5b1c4r30@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3ed769bdb2a2484fd7f9f7f3047413053aacbe21 Author: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Date: Fri Sep 18 15:54:23 2015 +0200 timers: Fix data race in timer_stats_account_timer() timer_stats_account_timer() reads timer->start_site, then checks it for NULL and then re-reads it again, while timer_stats_timer_clear_start_info() can concurrently reset timer->start_site to NULL. This should not lead to crashes, but can double number of entries in timer stats as start_site is used during comparison, the doubled entries will have unuseful NULL start_site. Read timer->start_site only once in timer_stats_account_timer(). The data race was found with KernelThreadSanitizer (KTSAN). Signed-off-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: andreyknvl@xxxxxxxxxx Cc: glider@xxxxxxxxxx Cc: kcc@xxxxxxxxxx Cc: ktsan@xxxxxxxxxxxxxxxx Cc: john.stultz@xxxxxxxxxx Link: http://lkml.kernel.org/r/1442584463-69553-1-git-send-email-dvyukov@xxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5359d112dcb081fd7a5f2de287fa995f6ba0800c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Sep 14 13:56:17 2015 +0200 Revert "mac80211: add pointer for driver use to key" This reverts commit f9a060f4b2003eb7350762e60dfc576447e44bad. No driver has turned up needing this functionality, and I've just implemented the functionality I wanted this for in a different way. Thus, remove it again, until somebody shows up with a need for having it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4dc792b8f098ab6327033fc97ba40163a2cd5fcc Author: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Date: Wed Sep 2 13:23:30 2015 +0200 mac80211: Split sending tx'ed frames to monitor interfaces into its own function This allows ieee80211_tx_monitor to be used directly for sending 802.11 frames to all monitor interfaces. Signed-off-by: Helmut Schaa <helmut.schaa@xxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d55d0d598e6610bbfcc1f2ecd6e8af669b94783b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Aug 31 22:59:38 2015 +0200 nl80211: put current TX power in interface info Many drivers implement reading current TX power (using either cfg80211 or ieee80211 op) but userspace can't get it using nl80211. Right now the only way to access it is to call some wext ioctl. Let's put TX power in interface info reply (callback is wdev specific) just like we do with current channel. To be consistent (e.g. NL80211_CMD_SET_WIPHY) let's use mBm as na unit. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0edd5faeb07bfd3ec5402f9467e4c169dcd131e8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 28 14:31:48 2015 +0200 wireless: mark element IDs 8 and 9 reserved These were never used in the tree, and are marked as reserved in the IEEE 802.11 documentation (ANA). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 338c17ae311e6b5a439573a4043fd2d9237cd1d5 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 28 10:52:54 2015 +0200 mac80211: use DECLARE_EWMA for ave_beacon_signal It doesn't seem problematic to change the weight for the average beacon signal from 3 to 4, so use DECLARE_EWMA. This also makes the code easier to maintain since bugs like the one fixed in the previous patch can't happen as easily. With a fix from Avraham Stern to invert the sign since EMWA uses unsigned values only. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8ec6d97871f37e4743678ea4a455bd59580aa0f4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 28 10:52:53 2015 +0200 mac80211: fix driver RSSI event calculations The ifmgd->ave_beacon_signal value cannot be taken as is for comparisons, it must be divided by since it's represented like that for better accuracy of the EWMA calculations. This would lead to invalid driver RSSI events. Fix the used value. Fixes: 615f7b9bb1f8 ("mac80211: add driver RSSI threshold events") Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8e0d7fe07c3f8c2a5e3b5bdbfdf09de4da2e2dd4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 28 10:52:52 2015 +0200 mac80211: remove last_beacon/ave_beacon debugfs files These file aren't really useful: - if per beacon data is required then you need to use radiotap or similar anyway, debugfs won't help much - average beacon signal is reported in station info in nl80211 and can be looked up with iw Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c85fb53c4fa6521352028c40ce096a808aabd389 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Thu Aug 27 09:00:18 2015 -0400 mac80211: implement VHT support for mesh Implement the basics required for supporting very high throughput with mesh: include VHT information elements in beacons, probe responses, and peering action frames, and check for compatible VHT configurations when peering. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f020ae40b0c969d3fd3b320d0a05e62d5553ff72 Author: Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx> Date: Fri Sep 4 10:58:05 2015 +0800 mac80211: zero center freq segment 2 in VHT oper IE Clear the Channel Center Frequency Segment 2 in VHT operation IEs to avoid sending non-zero values if the SKB wasn't zeroed before adding the VHT operation IE. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@xxxxxxxxx> [change commit message a bit - not necessarily just mesh related] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 99e7ca44bb910f0cbfda5d9008e8517df0ebc939 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sat Aug 15 22:39:51 2015 +0300 mac80211: allow the driver to advertise A-MSDU within A-MPDU Rx support Drivers may be interested in receiving A-MSDU within A-MDPU. Not all the devices may be able to do so, make it configurable. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 46cad4b7a131a215159d889fa88d0dc71d581908 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sat Aug 15 22:39:54 2015 +0300 mac80211: remove direct probe step before authentication The direct probe step before authentication was done mostly for two reasons: 1) the BSS data could be stale 2) the beacon might not have included all IEs The concern (1) doesn't really seem to be relevant any more as we time out BSS information after about 30 seconds, and in fact the original patch only did the direct probe if the data was older than the BSS timeout to begin with. This condition got (likely inadvertedly) removed later though. Analysing this in more detail shows that since we mostly use data from the association response, the only real reason for needing the probe response was that the code validates the WMM parameters, and those are optional in beacons. As the previous patches removed that behaviour, we can now remove the direct probe step entirely. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit e3abc8ff0fc18b3925fd5d5c5fbd1613856f4e7c Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Aug 16 11:13:22 2015 +0300 mac80211: allow to transmit A-MSDU within A-MPDU Advertise the capability to send A-MSDU within A-MPDU in the AddBA request sent by mac80211. Let the driver know about the peer's capabilities. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 1b09b5568e5f46c6dfb781d7c1dfad431a6d8ec1 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Sat Aug 15 22:39:50 2015 +0300 mac80211: introduce per vif frame registration API Currently the cfg80211's frame registration api receives wdev, however mac80211 assumes per device filter configuration and ignores wdev. Per device filtering is too wasteful, especially for multi-channel devices. Introduce new per vif frame registration API and use it for probe request registrations in ieee80211_mgmt_frame_register() Also call directly to ieee80211_configure_filter instead of using a work since it is now allowed to sleep in ieee80211_mgmt_frame_register. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7bdbe400d1b2aac116513f90b75969ad2365fba6 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Sat Aug 15 22:39:49 2015 +0300 nl80211: support vendor dumpit commands In order to transfer many items in vendor commands, support the dumpit netlink method for them. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit dd55ab59b6234c73522dc533757e89e6a77c2c38 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sat Aug 15 22:39:48 2015 +0300 mac80211: TDLS: check reg with IR-relax on chandef upgrade When checking if a TDLS chandef can be upgraded, IR-relaxation can be taken into account to allow more channels. 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 82c0cc90d6268a3cd3ee058257d2146188326452 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sat Aug 15 22:39:46 2015 +0300 mac80211: debugfs: add file to disallow TDLS wider-bw Sometimes we are interested in testing TDLS performance in a specific width setting. Add the ability to disable the wider-band feature, thereby allowing the TDLS channel width to be controlled by the BSS width. 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 fc58c47ef1ace65c5c1c94f2e96578e7b04aad64 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Sat Aug 15 22:04:01 2015 +0300 mac80211: process skb_queue while scanning in HW Queued frames aren't processed during scan, which results in an inability to complete the BA session establishment until the scan ends. Since we can't tx frames until the BA agreement setup is complete, it might result in a very large latency during scan. Fix this by allowing to process queued skbs while scanning in HW. This should be ok since the devices which support hw scan should be able to handle tx/rx while scanning. During SW scan, mac80211 drops any txed frames besides probes and NDPs, so it is still needed to delay processing of the queued frames till the SW scan is done. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 8de1c63ba1ccfa8225505e60b405537c2c72673c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 21 14:13:06 2015 +0200 wireless: make __freq_reg_info static As pointed out by sparse, this symbol should be static, make it so. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 064380a12e12412f25db049a503126228babbae5 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 11:12:50 2015 +0200 power/reset: at91-poweroff: 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 at91 shutdown controller. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6dd1ad1f236e7e683e92efd6b5b3953615900701 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 11:12:49 2015 +0200 power/reset: at91-poweroff: allow compiling as a module It was not possible to compile at91-poweroff as a module. Implement .remove() to allow it. Also switch to module_platform_driver_probe() as it is not hotpluggable. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 2b2c6148fe851042cefbf272146b77634a4da39d Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 11:12:48 2015 +0200 power/reset: at91-reset: 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 at91 reset controller. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6e64180a7c0219d769e05b6dbe5af4a073c1eb92 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 11:12:47 2015 +0200 power/reset: at91-reset: allow compiling as a module It was not possible to compile at91-reset as a module. Implement .remove() to allow it. Also switch to module_platform_driver_probe() as it is not hotpluggable. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit eacd8d09db7f4504eea6b5fdc55a8fe5eaf62bed Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 11:12:46 2015 +0200 power/reset: at91-reset: remove useless at91_reset_platform_probe() Since all the at91 platforms are now DT only, at91_reset_platform_probe() is now useless, remove it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 4b813f09405823dcbb27a434f6ddcd1741e55e9b Author: Andrew Price <anprice@xxxxxxxxxx> Date: Tue Sep 22 07:41:21 2015 -0500 GFS2: fallocate: do not rely on file_update_time to mark the inode dirty Previously __gfs2_fallocate() relied on file_update_time() marking the inode dirty, but that's not a safe assumption as that function doesn't dirty the inode in some cases. Mark the inode dirty explicitly. Signed-off-by: Andrew Price <anprice@xxxxxxxxxx> Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> commit 2a9123f185ca07dcd76f36242ee03bed3fe2ab5c Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Sep 17 18:03:40 2015 +0530 88pm860x_battery: Convert to using managed resources Use managed resource functions devm_request_threaded_irq and devm_power_supply_register to simplify error handling. To be compatible with the change, various gotos are replaced with direct returns and unneeded labels are dropped. Also, remove pm860x_battery_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 56d7df8716b2e7a138af89bffe4923e15cf9bf68 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Jul 30 10:53:56 2015 -0700 power: Add Qualcomm SMBB driver Add the Qualcomm Switch-Mode Battery Charger and Boost driver, found in pm8941. Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 43fde00b264e261d18a273751c48912b02f66245 Author: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Date: Thu Jul 30 10:53:55 2015 -0700 dt-binding: power: Add Qualcomm SMBB binding Add the Qualcomm Switch-Mode Battery Charger and Boost device tree binding. Signed-off-by: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit da42bbd99d8a74ef15f53c4c1782ee2ea627ed81 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 31 10:52:00 2015 +0200 power: Remove unnecessary MODULE_ALIAS() for I2C drivers These drivers already have an I2C device id table that is used to create module aliases and the used MODULE_ALIAS() was either already in the I2C table so it was redundant or wasn't a valid I2C id so it was never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9615a29932e8a2c719142ac81481ad7d0e271924 Author: Milo Kim <milo.kim@xxxxxx> Date: Tue Aug 25 15:07:08 2015 +0900 power:lp8727_charger: parsing child node after getting debounce-ms According to lp8727 bindings[*], charging parameter is optional. So parsing can be skipped in case those properties are undefined. However, 'debounce-ms' should be read prior to checking the properties. Otherwise, 'debounce-ms' property will be ignored even it is configured inside the DT. So, counting child is processed after updating 'debounce-ms'. [*] Documentation/devicetree/bindings/power_supply/lp8727_charger.txt Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 87d931d56970d014a7074ca57f11baadc4e6d834 Author: Milo Kim <milo.kim@xxxxxx> Date: Tue Aug 25 15:07:07 2015 +0900 power:lp8727_charger: use the private data instead of updating I2C device platform data Currently, lp8727 charger 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, lp8727 driver changes this configuration when it is loaded. The driver should get data from the platform side and use the private data, 'lp8727_chg->pdata' instead of changing the original platform data. _probe() procedure is changed as follows. 1. lp8727_parse_dt() returns the pointer of lp8727_platform_data. The driver uses this allocated platform data. So it should keep original platform data, 'dev->platform_data'. 2. In _probe(), check the return value of lp8727_parse_dt(). If an error is found, then exit as PTR_ERR(pdata). 3. If 'of_node' is not found, then the driver just gets the platform data from the I2C device structure. 4. Map the platform data to private data structure. Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Milo Kim <milo.kim@xxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c01576c8f3445208036eac72ea6703b452d42612 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Aug 20 15:12:43 2015 -0700 power: wm831x_power: Convert to devm_kzalloc() Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 69fb4dcada7704beeba86e3f401a66c726aa8504 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Aug 1 10:39:38 2015 +0200 power: Add an axp20x-usb-power driver This adds a driver for the usb power_supply bits of the axp20x PMICs. I initially started writing my own driver, before coming aware of Bruno Prémont's excellent earlier RFC with a driver for this. My driver was lacking CURRENT_MAX and VOLTAGE_MIN support Bruno's drvier has, so I've copied the code for those from his driver. Note that the AC-power-supply and battery charger bits will need separate drivers. Each one needs its own devictree child-node so that other devicetree nodes can reference the right power-supply, and thus each one will get its own mfd-cell / platform_device and platform-driver. Cc: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 264905209a58779566a1d80c96110eea69b09440 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Aug 1 10:39:37 2015 +0200 ARM: dts: Add binding documentation for AXP20x pmic usb power supply Add binding documentation for the usb power supply part of the AXP20x pmic. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 571af55a31d3652ac1f758f116835a76d0335661 Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Tue Aug 25 14:42:53 2015 +0800 time: Fix spelling in comments Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Cc: Hanjun Guo <guohanjun@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tianhong Ding <dingtianhong@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Xinwei Hu <huxinwei@xxxxxxxxxx> Cc: Xunlei Pang <pang.xunlei@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1440484973-13892-1-git-send-email-thunder.leizhen@xxxxxxxxxx [ Fixed yet another typo in one of the sentences fixed. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit afbbd23381767aec5717ce07736f3a165ef724cd Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Sep 14 22:06:44 2015 +0200 irqchip/gic: Document optional Clock and Power Domain properties Depending on the GIC variant, the GIC module has one or more clock inputs. Document the optional "clocks" and "clock-names" properties, and their possible values, based on the Technical Reference Manuals. optional. Add the optional "power-domains" property. This will allow to describe in DT the relationship between the GIC and the Clock and/or Power Domain topology on SoCs where this is relevant and needed for proper operation. Note: As the current GIC driver doesn't support Runtime PM yet, PM Domain constraints must be handled elsewhere in e.g. platform code. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442261204-30931-3-git-send-email-geert%2Brenesas@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8709b9eb37f07193e39ae4f8f8cb59aaed9eae2e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Sep 14 22:06:43 2015 +0200 irqchip/gic: Add arm,pl390 support Add support for the PrimeCell® Generic Interrupt Controller (PL390) to the GIC DT bindings and driver. Currently the GIC driver treats this GIC variant the same as other GIC variants, but there are differences in hardware topology (e.g. clock inputs). Sort the list of compatible values while we're at it. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Rob Herring <robh+dt@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1442261204-30931-2-git-send-email-geert%2Brenesas@xxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2a1d3ab8986d1b2f598ffc42351d94166fa0f022 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Mon Sep 21 11:01:10 2015 +0200 genirq: Handle force threading of irqs with primary and thread handler Force threading of interrupts does not really deal with interrupts which are requested with a primary and a threaded handler. The current policy is to leave them alone and let the primary handler run in interrupt context, but we set the ONESHOT flag for those interrupts as well. Kohji Okuno debugged a problem with the SDHCI driver where the interrupt thread waits for a hardware interrupt to trigger, which can't work well because the hardware interrupt is masked due to the ONESHOT flag being set. He proposed to set the ONESHOT flag only if the interrupt does not provide a thread handler. Though that does not work either because these interrupts can be shared. So the other interrupt would rightfully get the ONESHOT flag set and therefor the same situation would happen again. To deal with this proper, we need to force thread the primary handler of such interrupts as well. That means that the primary interrupt handler is treated as any other primary interrupt handler which is not marked IRQF_NO_THREAD. The threaded handler becomes a separate thread so the SDHCI flow logic can be handled gracefully. The same issue was reported against 4.1-rt. Reported-and-tested-by: Kohji Okuno <okuno.kohji@xxxxxxxxxxxxxxxx> Reported-By: Michal Smucr <msmucr@xxxxxxxxx> Reported-and-tested-by: Nathan Sullivan <nathan.sullivan@xxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1509211058080.5606@nanos Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 7ac8bf9bc9ba82aea763ef30671a34c6a2a39922 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 22 11:56:04 2015 +0200 EDAC: Carve out debugfs functionality ... into a separate compilation unit and drop a couple of CONFIG_EDAC_DEBUG ifdefferies. Rename edac_create_debug_nodes() to edac_create_debugfs_nodes(), while at it. No functionality change. Cc: <linux-edac@xxxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit f0ef67485f5918794143b7a85d60c1a52bc690ec Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Mon Sep 21 03:06:42 2015 -0700 Bluetooth: btmrvl: add sd8997 chipset support This patch adds support for Marvell's new chipset SD8997. Register offsets and supported feature flags are updated. Signed-off-by: Zhaoyang Liu <liuzy@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 53d6cfa581405d0aa47a5b9ceb027bc157fddebc Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Mon Sep 21 03:06:41 2015 -0700 Bluetooth: btmrvl: remove extra space in cast Coding style fix, extra spaces are removed to make casting consistent. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 7d840545e5b933028e7423b127459d0d5e5e04fb Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:43 2015 +0200 mrf24j40: replace magic numbers This patch replaces some magic numbers with defines for register bits, mask and shifts. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit afaf7fdedb6cc484b4eccf48227632c7d81dcf5a Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:42 2015 +0200 mrf24j40: change irq trigger type behaviour This patch changes the irq trigger type value while calling devm_request_irq by using IRQF_TRIGGER_LOW when no irq type was given. Additional we add support for change the irq polarity while hw init if high level or low level triggered irq type are given. For rising edge triggered irq's the mrf24j40 can't deal with that, this races at position of tx completion irq, while the irq is disabled we readout the irq status registers. This will resets the irq line so other irq's can occur. Wile readout the irq status register the irq is still disabled and edge triggered interrupts will be ignored. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8ba40417401ce771769d847900f08c978bb61632 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:41 2015 +0200 mrf24j40: add promiscuous mode support This patch adds support for promiscuous mode by setting promiscuous (no frame filtering), disable automatic ack handling and not filtering frames where the crc is invalid. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 00250f78896bc52fd4606c4de7e3fb174e702123 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:40 2015 +0200 mrf24j40: add tx power support This patch supports setting of transmit power for the mrf24j40ma transceiver only. The mrf24j40mc has some amplifier to change the transmit power, I am currently not sure how the mapping for this amplifier looks like. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e33a0f96ac518d4c7ffcf98d2f030e6e23fab6b3 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:39 2015 +0200 mrf24j40: add cca ed level support This patch supports handling to set the cca energy detection level for the mrf24j40 transceiver. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f1d781272231dc4d1cdfdce13ad3e6f3f96b7ec0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:38 2015 +0200 mrf24j40: add cca mode support This patch supports cca mode handling for mrf24j40. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2323cf38f949439bc4ac4252cf1d91d1297cce92 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:37 2015 +0200 mrf24j40: add csma params support This patch adds supports to change the CSMA parameters. The datasheet doesn't say anything about max_be value. Seems not configurable and we assume the 802.15.4 default. But this value must exists because there is a min_be value. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 374416112bb0f83c5b4d8bb3fbb157fbe0b2814b Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:36 2015 +0200 mrf24j40: async interrupt handling This patch removes the threaded irq handling and do a hardirq instead. We need to switch to spi_async for this step for getting the irq status register. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c91a301162899ee100c1eab397958cb9aef50d0c Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:35 2015 +0200 mrf24j40: rework rx handling to async rx handling This patch prepares that we can do the receive handling inside interrupt context by using spi_async. This is necessary for introduce a non-threaded irq handling. Also we drop the bit setting for "RXDECINV" at register "BBREG1", we do a driectly full write of register "BBREG1", because it contains the bit RXDECINV only. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6844a0e4debd67c9bcf6a8fed3c7f9c24413c349 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:34 2015 +0200 mrf24j40: rework tx handling to async tx handling This patch reworks the current transmit API to spi_async handling. We removed the error handling check, because mac802154 has no chance to report it. Also the transmit timeout handling can't be handled by xmit async handling, for this usecase we need to implement the netdev watchdog. These are all unlikely cases which we drop now and should be provided by netdev watchdog. We also drop the bit setting for TXNACKREQ at register TXNCON, this is not necessary. The TXNCON register should set only once for each frame, previous settings doesn't matter. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 79750ac4257763ff595a8b2cdc7ba580f0b0c8e0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:33 2015 +0200 ieee802154: add helpers for frame control checks This patch introduce two static inline functions. The first to get the frame control field from an sk_buff. The second is for checking on the acknowledgment request bit on the frame control field. Later we can introduce more functions to check on the frame control fields. These will deprecate the current behaviour which requires a host-byteorder conversion and manually bit handling. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ab40ff7508d2f54ed03b99523493c46250649c52 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:32 2015 +0200 mrf24j40: change to frame delivery with crc This patch changes the frame delivery to mac802154 with crc. This is useful for monitor interface types which deliver the crc to userspace. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 42c7148e06661ae0ca1bb511e1b98878b5f522f8 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:31 2015 +0200 mrf24j40: use regmap for register access This patch uses the regmap functions for transceiver register settings where it's possible. This means everything except the hotpaths like receive/transmit handling. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b0156792001b7a19bc115dcc32aebb9b9a0b6a01 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:30 2015 +0200 mrf24j40: add regmap support This patch introduce regmap support for short and long address space of mrf24j40. It's only possible to use regmap_read/write/update_bits for long address range. This is because I added lowlevel bus operation because the write operation need to set the 12th bit to mark a register write, but regmap only supports to set bits for register write access in the first byte. We use other regmap register functions than read/write/update_bits, so this should be fine. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 554b49493b89b068643b7360334b40d5f5ca8ff2 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:29 2015 +0200 mrf24j40: add more register defines For supporting regmap, this patch will add more register defines to prepare a full register dump by regmap debugfs. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d344c91280326469e5f9c5a3b1b92ef0d1c5d25f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:28 2015 +0200 mrf24j40: add random extended addr generation The mrf24j40 has no source to get a permanent extended address. This patch will add a random generated permanent extended address source. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 766928fbf8c989f65184c3ed0d48fd3004213c46 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:27 2015 +0200 mrf24j40: add default channel setting Per default mrf24j40 has the channel 11 after reset. This patch adds the right phy default value for the channel setting. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2e6fd648b6b87e6a2289c875c6067acc3bd88b3e Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:26 2015 +0200 mrf24j40: add device-tree support This patch adds devicetree support to mrf24j40 with proper devicetree compatible strings. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 78aedb6bfa43f43dacd8fc7b06452a87d33e3886 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:25 2015 +0200 mrf24j40: remove spi settings overwrite This patch removes spi settings while mrf24j40 probing. These settings cannot be overwrite while device probing where spi controller should be already configured. These settings need to be setup by device tree or platform data. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a339e1849b9504b6e9631777e41ea2a240e58621 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:24 2015 +0200 mrf24j40: calling ieee802154_register_hw at last The function ieee802154_register_hw should always called at last. Currently we do hardware init and such things after register hardware into the subsystem. It could be that the subsystem already call driver operations while running hardware init. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b2cfdf3c6720b9b77758ef229401f28f48c3372b Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:23 2015 +0200 mrf24j40: use ieee802154_alloc_hw for private data This patch removes the own private dataroom allocation by calling devm_kzalloc for devrec and assign this pointer to "devrec->hw->priv". Instead we using like all other drivers ieee802154_alloc_hw and give the size for the private driver dataroom at the first argument. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c9f883f6fe66ff08ea968494709f4c0b28bc619a Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 11:24:22 2015 +0200 mrf24j40: cleanup define identation This patch replaces the spaces after define by a tab. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 57c1bc7ea8a4857070722c23ce98e01f256c9306 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Sep 21 09:37:54 2015 +0200 at86rf230: support edge triggered irq This patch adds support for edge triggered irq types. We remove the locking for irq resources by enable/disable irq and allocate directly some heap buffer at isr. We have still a enable/disable irq path but this is for level-triggered irq's which need to be disabled until spi_async clear the irq line. There is usually a little race condition between "irq line cleared" and "enable_irq". When in this time a edge triggered irq arrived, we will not recognize this interrupt. This case can't happend at at86rf230. The reason is that we unmask TRX_END irq's only which indicates a transmit or receive completion, which depends on the current state. On Transmit: TRX_END arrived and transceiver is in TX_ARET_ON state again, in this state no other TRX_END can happen until we leave the state. On Receive: This is protected with the RX_SAFE_MODE bit which leaves the transceiver in RX_AACK_BUSY until we readed the framebuffer. In this state no other TRX_END can happen. Tested with RPi where I first detected issues between edge/level irq's. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 02c7b6922899621aa8e8babe27fca7b6b2e497b0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Sep 18 11:30:44 2015 +0200 mac802154: tx: add warning if MTU exceeds Sending over AF_PACKET RAW sockets we can sending frames which exceeds MTU size. To handling it correct we need to change things in AF_PACKET which knows on RAW sockets an additional FCS is set by hardware or mac802154 transmit functionality. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 87a93e4eceb495f93e3f37b100334d2641765b6c Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Sep 18 11:30:43 2015 +0200 ieee802154: change needed headroom/tailroom This patch cleanups needed_headroom, needed_tailroom and hard_header_len fields for wpan and lowpan interfaces. For wpan interfaces the worst case mac header len should be part of needed_headroom, currently this is set as hard_header_len, but hard_header_len should be set to the minimum header length which xmit call assumes and this is the minimum frame length of 802.15.4. The hard_header_len value will check inside send callbacl of AF_PACKET raw sockets. For lowpan interfaces, if fragmentation isn't needed the skb will call dev_hard_header for 802154 layer and queue it afterwards. This happens without new skb allocation, so we need the same headroom and tailroom lengths like 802154 inside 802154 6lowpan layer. At least we assume as minimum header length an ipv6 header size. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 838b83d63d2909f9136f3030dc4fffa8230c31da Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Sep 18 11:30:42 2015 +0200 ieee802154: introduce wpan_dev_header_ops The current header_ops callback structure of net device are used mostly from 802.15.4 upper-layers. Because this callback structure is a very generic one, which is also used by e.g. DGRAM AF_PACKET sockets, we can't make this callback structure 802.15.4 specific which is currently is. I saw the smallest "constraint" for calling this callback with dev_hard_header/dev_parse_header by AF_PACKET which assign a 8 byte array for address void pointers. Currently 802.15.4 specific protocols like af802154 and 6LoWPAN will assign the "struct ieee802154_addr" as these parameters which is greater than 8 bytes. The current callback implementation for header_ops.create assumes always a complete "struct ieee802154_addr" which AF_PACKET can't never handled and is greater than 8 bytes. For that reason we introduce now a "generic" create/parse header_ops callback which allows handling with intra-pan extended addresses only. This allows a small use-case with AF_PACKET to send "somehow" a valid dataframe over DGRAM. To keeping the current dev_hard_header behaviour we introduce a similar callback structure "wpan_dev_header_ops" which contains 802.15.4 specific upper-layer header creation functionality, which can be called by wpan_dev_hard_header. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a1da67b8117ddbe88c770b48b5b1527393b8c9c0 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Sep 18 11:30:41 2015 +0200 ieee802154: header_ops: fix frame control setting Sometimes upper-layer protocols wants to generate a new mac header by filling "struct ieee802154_hdr" only. These upper-layers sets for the address settings the source and dest fields, but not the fc fields for indicate the source and dest address mode. This patch changes the "ieee802154_hdr_push" function so the fc address fields are set according the source and dest fields of "struct ieee802154_hdr". Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit cdd38b219eec2e1b83c0a02d89d372f9656648eb Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Sep 18 11:30:40 2015 +0200 mac802154: llsec: fix device deletion from list This patch adds a missing list_del when a device description will be deleted. Cc: Phoebe Buckheister <phoebe.buckheister@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 475b9eacc5543eea922431bb8ac4ec761de0e415 Author: Nachiket Kukade <kukaden@xxxxxxxxxxx> Date: Fri Sep 18 06:40:40 2015 -0700 Bluetooth: btmrvl: fix firmware dump issue First firmware dump attempt from user works fine, but firmware goes into bad state after this. Subsequent attempts fails. As required by the firmware dump implementation, this change writes FW_DUMP_READ_DONE value to dump ctrl register to address this issue. Signed-off-by: Nachiket Kukade <kukaden@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a645654b817feba05e5156345325d19fc85ebc9f Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Sun Aug 23 15:18:55 2015 +0200 vga_switcheroo: Document _ALL_ the things! This adds an "Overview" DOC section plus two DOC sections for the modes of use ("Manual switching and manual power control" and "Driver power control"). Also included is kernel-doc for all public functions, structs and enums. Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0f8b83984f14a64851e7219c86fad53dc5da435a Merge: d1b9d03 a78695d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 22 10:17:39 2015 +0200 Merge remote-tracking branch 'drm-intel/drm-intel-next-queued' into drm-intel-next-queued Pull in patches Jani merged while I was at XDC. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 6ff0966052c46efb53980b8a1add2e7b49c9f560 Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Sun Sep 13 03:25:26 2015 +0100 ARM: 8432/1: move VMALLOC_END from 0xff000000 to 0xff800000 There is a 12MB unused region in our memory map between the vmalloc and fixmap areas. This became unused with commit e9da6e9905e6, confirmed with commit 64d3b6a3f480. We also have a 8MB guard area before the vmalloc area. With the default 240MB vmalloc area size and the current VMALLOC_END definition, that means the end of low memory ends up at 0xef800000 which is unfortunate for 768MB machines where 8MB of RAM is lost to himem. Let's move VMALLOC_END to 0xff800000 so the guard area won't chop the top of the 768MB low memory area while keeping the default vmalloc area size unchanged and still preserving a gap between the vmalloc and fixmap areas. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 803e3dbcb4cf80c898faccf01875f6ff6e5e76fd Author: Sergey Dyasly <dserrg@xxxxxxxxx> Date: Wed Sep 9 16:27:18 2015 +0100 ARM: 8430/1: use default ioremap alignment for SMP or LPAE 16MB alignment for ioremap mappings was added by commit a069c896d0d6 ("[ARM] 3705/1: add supersection support to ioremap()") in order to support supersection mappings. But __arm_ioremap_pfn_caller uses section and supersection mappings only in !SMP && !LPAE case. There is no need for such big alignment if either SMP or LPAE is enabled. After this change, ioremap will use default maximum alignment of 128 pages. Link: https://lkml.kernel.org/g/1419328813-2211-1-git-send-email-d.safonov@xxxxxxxxxxxxxxxxxxx Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: James Bottomley <JBottomley@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Arnd Bergmann <arnd.bergmann@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Dmitry Safonov <d.safonov@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Sergey Dyasly <s.dyasly@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f460b6abdeeafd30c3ee737c843be17b1ceb38e5 Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Aug 26 07:49:12 2015 +0100 ARM: 8423/1: add const qualifier to smp_operations member in structures The core framework does not modify smp_operations structures. To clarify it, this commit adds 'const' qualifier to the 'ops' member of struct of_cpu_method and the 'smp' member of struct machine_desc. This change allows each SoC code to add 'const' qualifier to its smp_operation structure. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 4caa9dda388f34f957a9eb52b9f5ef1a8c975c7b Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Date: Wed Aug 26 07:49:11 2015 +0100 ARM: 8424/1: add const qualifier to the argument of smp_set_ops() This function just copies '*ops' to 'smp_ops', so the given structure '*ops' is not modified at all. Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit bbeb9209515989ff47802d4e5d5702178c8e42c4 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Tue Aug 25 13:52:09 2015 +0100 ARM: 8422/1: enable imprecise aborts during early kernel startup This patch adds imprecise abort enable/disable macros and uses them to enable imprecise aborts early when starting the kernel. This helps in tracking down the real cause for such imprecise abort, as they are handled as soon as they occur. Until now those aborts would only be enabled when entering the userspace and as a consequence crash the first userspace process if any abort had been raised during kernel startup. Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 6c20b934247875f41fe9bcc74072bb072b4f28d8 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:21 2015 +0100 extcon: arizona: Don't disable debounce for inverted jacks Whilst the jack is connected we disable the jack detection debounce to ensure as quick as possible a detection of jack removal. However, it is only safe to disable the jack debounce whilst the jack is connected if using the micd clamp or the jack is not inverted. Otherwise spurious interrupts might be generated when we re-enable the debounce. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit ff1cb0ed716304e9f7835ecc5f12ad580b0637ea Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:20 2015 +0100 extcon: arizona: Use the micd_clamp for interrupts if it is available Currently we only use the microphone clamp IRQ if GPIO5 is being used as a second jack detection pin. But we should be using it on any system where the clamp is available. This patch updates the driver to do so. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit a0ef642849f6319a031f1dcc2fa444d651179131 Author: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:19 2015 +0100 extcon: arizona: Ignore jd_invert for MICD_CLAMP_STS The polarity of MICD_CLAMP_STS does not change when different clamp modes are used, this patch corrects this issue. Signed-off-by: Nariman Poushin <nariman@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit f719ae3311f9b609151a0319f0cc2fdb7491d37a Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:18 2015 +0100 extcon: arizona: Additional settings to improve accuracy of HP detect If the TST_CAP_SEL bits aren't set correctly on wm5110/8280 there will be a 100k load along side the headphones, which will affect the accurary towards the very top of the detection range. This patch sets those bits. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 6772a5ab4f53672adce6310dffe2b0c6987d8f92 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:17 2015 +0100 extcon: arizona: Add support for general purpose switch The switch is typically used in conjunction with the MICDET clamp in order to suppress pops and clicks associated with jack insertion. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit df8b6771bdd4004c743ad8ffff6fb7059d6687d1 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:16 2015 +0100 extcon: arizona: Add support for new ADC value mic detect Newer devices give users the option to make the 3/4 pole jack determination using a software comparison rather than a hardware one. This patch adds support for this functionality. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit b8ba9edb911102b452c815879f520bfe2713fab6 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:15 2015 +0100 mfd: arizona: Add TST_CAP bits for headphone detection On wm5110/8280 some additional settings are required to get accurate measurements at the top end of the headphone detection range. This patch adds the bits required for this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 1ce376897e02e623ba357594604ca655df61053b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:14 2015 +0100 mfd: arizona: Add register bits for general purpose switch The switch is typically used in conjunction with the MICDET clamp in order to suppress pops and clicks associated with jack insertion. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit e76e397a7f99bffbd91fb21f96370cbb165b5bcd Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:42:13 2015 +0100 mfd: arizona: Add registers for ADC microphone detection The newer devices support using a software comparison to determine whether a 3/4 pole jack is present. Add the registers necessary for this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 97170ea1823bf00cf6ed0f503129e9053a66c53a Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Sep 21 20:41:44 2015 -0700 drivers/net/ieee802154/at86rf230.c: seq_printf() now returns NULL Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35736c8165ba666b1a5f07a57f838d8ce1ac3c67 Merge: 607cba1 cec4284 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 21 17:21:47 2015 -0700 Merge branch 'cpsw-macid-no-of' Mugunthan V N says: ==================== Add support for reading macid when DT macid not found Did a boot test on dra7-evm [1] and am437x-gp-evm [2]. Pushed a branch [3] for others to test the patch. [1]: http://pastebin.ubuntu.com/12513420/ [2]: http://pastebin.ubuntu.com/12513428/ [3]: git://git.ti.com/~mugunthanvnm/ti-linux-kernel/linux.git cpsw-macid-read-support ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cec42849162c79a2677d7ec29c20e72fb9ca5666 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 21 15:56:53 2015 +0530 arm: dts: am4372: add syscon phandle to cpsw node There are 2 MACIDs stored in the control module of the am4372. These are read by the cpsw driver if no valid MACID was found in the devicetree. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a084e13e795aca7c18f39304c0c76579b4364655 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 21 15:56:52 2015 +0530 arm: dts: dra7: add syscon phandle to cpsw node There are 2 MACIDs stored in the control module of the dra7. These are read by the cpsw driver if no valid MACID was found in the devicetree. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d230a11abc97e118365b12a472ff758d867c4bac Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 21 15:56:51 2015 +0530 drivers: net: cpsw-common: add support for reading mac address for dra7 and am437x platforms Adding support for reading mac address using syscon driver for dra7 and am437x platforms Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6745f6e4e63f23fd5bf46ea2745783be13a0960 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 21 15:56:50 2015 +0530 drivers: net: cpsw: davinci_emac: move reading mac id to common file Moving mac address reading from ethernet driver to common file for better maintenance and for code reusable. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 607cba1554cbdfd8d9f4a645f235e1dc909ba33f Merge: 852bcaf 6fa7da2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 21 17:15:03 2015 -0700 Merge tag 'linux-can-next-for-4.4-20150921' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-09-17 this is a pull request of 8 patches for net-next/master. All 8 patches are by me and cleanup the flexcan driver. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1305df1283cbe1aa57093f8766b2dfe650ed5ff Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Sep 13 14:15:29 2015 +0200 jffs2: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0791a5f8ab5082d2726d99f3b21036d438c11424 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Sun Sep 13 14:14:54 2015 +0200 mtd: nandsim: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 79c452adb159dc9abc507ea13faec8d115a78758 Author: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Date: Fri Sep 18 17:49:25 2015 +0200 mtd: spi-nor: remove unused read_xfer/write_xfer hooks struct spi_nor_xfer_cfg and read_xfer/write_xfer hooks were never used by any driver. Do some cleanup by removing them. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxx> Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 852bcafb99247abb3a2876625a3adf684c42e015 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 18 14:16:53 2015 -0700 net: bcmgenet: Remove duplicate test for tx_coalesce_usecs_high We were checking twice for ec->tx_coalesce_usecs_high, remove the duplicate test. Reported-by: Julia Lawall <julia.lawall@xxxxxxx> Reported-by: kbuild-all@xxxxxx Fixes: 2f9130709d2c19 ("net: bcmgenet: Implement TX coalescing control knobs") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9b9958229638245b5709f27c76c199a465f1496 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Sep 18 11:40:33 2015 -0700 tcp: send loss probe after 1s if no RTT available This patch makes TLP to use 1 sec timer by default when RTT is not available due to SYN/ACK retransmission or SYN cookies. Prior to this change, the lack of RTT prevents TLP so the first data packets sent can only be recovered by fast recovery or RTO. If the fast recovery fails to trigger the RTO is 3 second when SYN/ACK is retransmitted. With this patch we can trigger fast recovery in 1sec instead. Note that we need to check Fast Open more properly. A Fast Open connection could be (accepted then) closed before it receives the final ACK of 3WHS so the state is FIN_WAIT_1. Without the new check, TLP will retransmit FIN instead of SYN/ACK. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Nandita Dukkipati <nanditad@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f1c28ae74bb1a34d36fca2db5161611d58b3148 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Sep 18 11:36:14 2015 -0700 tcp: usec resolution SYN/ACK RTT Currently SYN/ACK RTT is measured in jiffies. For LAN the SYN/ACK RTT is often measured as 0ms or sometimes 1ms, which would affect RTT estimation and min RTT samping used by some congestion control. This patch improves SYN/ACK RTT to be usec resolution if platform supports it. While the timestamping of SYN/ACK is done in request sock, the RTT measurement is carefully arranged to avoid storing another u64 timestamp in tcp_sock. For regular handshake w/o SYNACK retransmission, the RTT is sampled right after the child socket is created and right before the request sock is released (tcp_check_req() in tcp_minisocks.c) For Fast Open the child socket is already created when SYN/ACK was sent, the RTT is sampled in tcp_rcv_state_process() after processing the final ACK an right before the request socket is released. If the SYN/ACK was retransmistted or SYN-cookie was used, we rely on TCP timestamps to measure the RTT. The sample is taken at the same place in tcp_rcv_state_process() after the timestamp values are validated in tcp_validate_incoming(). Note that we do not store TS echo value in request_sock for SYN-cookies, because the value is already stored in tp->rx_opt used by tcp_ack_update_rtt(). One side benefit is that the RTT measurement now happens before initializing congestion control (of the passive side). Therefore the congestion control can use the SYN/ACK RTT. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 21fe8af40024c49af37124bc7b19c5836d25695e Merge: 5dcd246 91e60eb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 21 16:03:05 2015 -0700 Merge branch 's390-next' Ursula Braun says: ==================== s390: qeth and iucv patches here is version 2 of some s390 related qeth patches for net-next. The patch by Thomas Richter adds a new feature to the qeth layer2 code; the remaining patches are minor improvements. Version 2 of patch 4 uses the desired indentation in function declarations and definitions spanning multiple lines in almost all cases. Thomas run into a conflict with the maximum number of columns once. Thus you will still see one function definition using an earlier column before the opening paranthesis. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91e60eb60bdf078fc58b8d2fd1ac12f3c09bb893 Author: Ursula Braun <ursula.braun@xxxxxxxxxx> Date: Fri Sep 18 16:06:52 2015 +0200 s390/iucv: do not use arrays as argument The iucv code uses arrays as arguments. Even though this does not really cause a problem, it could be misleading, since the compiler turns array arguments into just a pointer argument. To be more precise this patch changes the array arguments into pointers. Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d7def2a12386dbf56443016114c187df50e3442 Author: Thomas Richter <tmricht@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 18 16:06:51 2015 +0200 qeth: add layer 2 RX/TX checksum offloading Checksum offloading for send and receive is already supported for layer 3 (IP layer). This patch adds support for RX and TX hardware checksum offloading for layer 2 (MAC layer). The hardware calculates the checksum for IP UDP and TCP packets. This patch moves the hardware checksum offloading setup to the set of common functions in qeth_core_main.c. Layer 2 and layer 3 now simply call the same common functions. Also note that TX checksum offloading is always enabled. The device driver relies on the TCP/IP stack to make use of this feature. Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Reviewed-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 239ff408ddd8fa7a19c53ed247daec855ff11ea2 Author: Ursula Braun <ursula.braun@xxxxxxxxxx> Date: Fri Sep 18 16:06:50 2015 +0200 qeth: move OSA portname into deprecated status An OSA-Express port name was required to identify a shared OSA port. All operating system instances that shared the port had to use the same port name. This requirement no longer applies. Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 248046ba074dc3cbba4f771f08da8b430662d8ac Author: Lakhvich Dmitriy <ldmitriy@xxxxxxxxxx> Date: Fri Sep 18 16:06:49 2015 +0200 qeth: no write permission for readonly sysattr User is not allowed to write into bridge_state sysfs file. Fixed attribute not mislead the user Signed-off-by: Lakhvich Dmitriy <ldmitriy@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Reported-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Reviewed-by: Thomas Richter <tmricht@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9846e70b9bcd9ec11f82a47df159d1b1dfb02eee Author: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Date: Fri Sep 18 16:06:48 2015 +0200 qeth: remove extraneous length from %pM format Length specifier in the %pM format is not supported (at least, not documented). Remove it, and also an extraneous '&' for the array. Signed-off-by: Eugene Crosser <Eugene.Crosser@xxxxxxxxxx> Signed-off-by: Ursula Braun <ursula.braun@xxxxxxxxxx> Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5dcd2461073a43b2aa48ab5cfc135ba182667794 Merge: a1ef48e 6818375 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 21 16:00:44 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-09-18 Here's the first bluetooth-next pull request for the 4.4 kernel: - ieee802154 cleanups & fixes - debugfs support for the at86rf230 driver - Support for quirky (seemingly counterfeit) CSR Bluetooth controllers - Power management and device config improvements for Intel controllers - Fix for devices with incorrect advertising data length - Fix for closing HCI user channel socket Please let me know if there are any issues pulling. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 730a43fbc135e593cc3de3b1b895e49c05c8e2dc Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 18:03:38 2015 +0200 mtd: nand: add nand_check_erased helper functions Add two helper functions to help NAND controller drivers test whether a specific NAND region is erased or not. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1de7d80246a047edaa4ea7de225437571a3aec34 Author: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 21 11:33:28 2015 +0200 regulator: pwm: implement ->enable(), ->disable() and ->is_enabled methods Implement the ->enable(), ->disable() and ->is_enabled methods and remove the PWM call in ->set_voltage_sel(). This is particularly important for critical regulators tagged as always-on, because not claiming the PWM (and its dependencies) might lead to unpredictable behavior (like a system hang because the PWM clk is only claimed when the PWM device is enabled). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 854f736364c659046f066a98fed2fdb10a39577a Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Sun Sep 6 07:13:17 2015 +0000 perf tools: Don't assume that the parser returns non empty evsel list Don't blindly retrieve and use a last element in the lists returned by parse_events__scanner(), as it may have collected no entries, i.e. return an empty list. 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: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441523623-152703-2-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0fb18553478dee5b3d8dc0af4f99a5288e81142f Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Sep 16 21:52:42 2015 +0900 perf probe: Fix a segfault when removing uprobe events Fix a segfault bug and a small mistake in perf probe -d. Since the "ulist" in perf_del_probe_events is never initialized, strlist__add(ulist, *) always causes a segfault when removing uprobe events by perf probe -d. Also, the "str" local variable is never released if fail to allocate the "klist". This fixes it too. This has been introduced by the commit e607f1426b58 ("perf probe: Print deleted events in cmd_probe()"). Reported-by: Milian Wolff <milian.wolff@xxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20150916125241.4446.44805.stgit@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e1a3e724a25761a2b2e9e0e059e33afac6409a76 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 12:15:05 2015 +0200 ARM: berlin: register cpufreq-dt The Berlin SoCs use cpufreq-dt for cpufreq. Register a platform device. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 1e5c50572d9e587c88d6e976e582a9b3377f9153 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 12:15:04 2015 +0200 ARM: berlin: dts: add the cpufreq-dt bindings on the BG2CD The BG2CD uses cpugreq-dt. Add the corresponding bindings. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 2e1782add72fbbb7309b2c120ce20a543a23f5b3 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 12:15:03 2015 +0200 ARM: berlin: dts: add the cpufreq-dt bindings on the BG2 The BG2 uses cpugreq-dt. Add the corresponding bindings. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 23998645f6e73f7038347255228ae1c60f1598da Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 12:15:02 2015 +0200 ARM: berlin: dts: add the cpufreq-dt bindings on the BG2Q The BG2Q uses cpugreq-dt. Add the corresponding bindings. The operating points can be updated by the bootloader. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 85f3b4311629defd68eb2b9779fda593d8fb7728 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Mon Sep 21 16:02:47 2015 +0200 regulator: core: Remove regulator_list As we are already registering a device with regulator_class for each regulator device, regulator_list is redundant and can be replaced with calls to class_find_device() and class_for_each_device(). Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 472912a2b5e2027efd58aa47f78acb2373675187 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 18:01:59 2015 -0400 memcg: generate file modified notifications on "memory.events" cgroup core only recently grew generic notification support. Wire up "memory.events" so that it triggers a file modified event whenever its content changes. v2: Refreshed on top of mem_cgroup relocation. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> commit f6c804b08ca5e04f309e88b7e8823ef8b9d054e5 Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:37:00 2015 +0200 ARM: at91/dt: sama5d2: add pio controller node Add pio4 controller node to enable pinmux and gpio. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 33d3690cf5c24261af69b5d415ae5403ee386e1f Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:36:59 2015 +0200 MAINTAINERS: Add an entry for pinctrl-at91-pio4 Add an entry for the Atmel PIO4 controller driver. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 56d794222474edef1cae2bc97732a717ab41003a Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:36:58 2015 +0200 pinctrl: dt-binding: Add DT binding documentation for Atmel PIO4 Add documentation for the Atmel PIO4 controller introduced with SAMA5D2 chip family. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 776180848b574c9c01217fa958f10843ffce584f Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Wed Sep 16 17:36:57 2015 +0200 pinctrl: introduce driver for Atmel PIO4 controller Add a pinctrl/gpio driver for Atmel PIO4 controller available on SAMA5D2 chip family. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6c8c58b38f17e92691dd648c0e3b66f1a6942433 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Sep 19 13:25:54 2015 +0200 ARM: BCM5301X: Netgear R6250 add USB GPIO Add GPIO number which is needed to activate the USB power supply. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 2d3eda67dd2a02087a2ae6916c92ee1966945b88 Author: Thomas Elste <thomas.elste@xxxxxxx> Date: Mon Sep 21 16:30:47 2015 +0200 regulator: tps65023: add device tree support Add device tree based initialization support for tps65023 regulators. Therefore add macros for regulator definition setting of_match and regulators_node members. Add initialization of regulator_desc data using these macros. Remove old regulator_desc initialization. Add device tree binding document for tps65023 regulators. Signed-off-by: Thomas Elste <thomas.elste@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 240eb916076c8deb206c7e66d1ee9eb37d6a499a Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:19 2015 +0200 dmaengine: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 60d6a21b1ec25629e93f11464fae3b2045c3370f Author: Punit Vara <punitvara@xxxxxxxxx> Date: Mon Sep 21 21:59:41 2015 +0530 Staging: rts5208: Coding style warnings fix for block comments This is patch to rtsx_chip.c that fixes up following warning reported by checkpatch.pl : -Block comments use * on subsequent lines Signed-off-by: Punit Vara <punitvara@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d53dfb24e5772bd2a0cec16cf7b0edc5b5f2e7b2 Author: Amber N. Adams <amber@xxxxxxxxxxxxx> Date: Sun Sep 20 11:32:06 2015 -0500 staging: skein: Adds * on subsequent lines in block comment This patch fixes the checkpatch.pl warning: WARNING: Block comments use * on subsequent lines +/* +Copyright (c) 2010 Werner Dittmann Signed-off-by: Amber N. Adams <amber@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64ffdc383b18e66c3698fff05ea693f4346cfbf9 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Sep 21 18:57:10 2015 +0530 Staging: fbtft: Remove debug messages Remove debug messages related to fbtft_par_dbg(DEBUG_INIT_DISPLAY.. ) as this info can be obtained using kernel function tracer Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40220d8062ce5b333c0124388f7709c84c142074 Author: Ting-Chih Hsiao <s894330@xxxxxxxxxxx> Date: Mon Sep 21 14:58:09 2015 +0800 staging: lustre-mgc: make mgc_obd_ops static Fix sparse warnings of the following type: warning: symbol '....' was not declared. Should it be static? Signed-off-by: Ting-Chih Hsiao <s894330@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4222a9074339fccc59526cbf30d8d2ec41468574 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Wed Aug 26 13:17:30 2015 -0700 dmaengine: ioatdma: add PCIe AER handlers Adding AER handlers in order to handle any PCIe errors. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ad4a7b5065c1b4f5176e7d031c3cc2b36f776884 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Wed Aug 26 13:17:24 2015 -0700 dmaengine: ioatdma: adding shutdown support The ioatdma needs to be queisced and block all additional op submission during reboots. When NET_DMA was used, this caused issue as ops were still being sent to ioatdma during reboots even though PCI BME has been turned off. Even though NET_DMA has been deprecated, we need to prevent similar situations. The shutdown handler should address that. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9c811209eb87f26e83f1b1afea186d4797f8b71e Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Sep 21 20:56:58 2015 +0530 dmaengine: xgene-dma: use dma_pool_zalloc We should use shiny new dma_pool_zalloc instead of dma_pool_alloc/memset Reported-by: Julia Lawall <julia.lawall@xxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7c014e35a018187462f2cd6c85259e080663ba2d Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Sep 6 14:17:17 2015 +0300 iwlwifi: mvm: add debug print for d0i3 exit indication In order to verify d0i3 flow, add debug print to indicate d0i3 exit was completed (right after tx was re-enabled), along with the wakeup reasons. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 183edd8484fd375d0f6d5e73b071c21b17243424 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Tue Sep 1 14:16:00 2015 +0300 iwlwifi: mvm: configure wowlan configuration only if connected Recent fw version added assert to make sure wowlan configuration is configured only when a station is connected. Change the driver behavior to pass this configuration only if we indeed have ap station id (i.e. connected). Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit ee6dbb29377f6055093cccefc0cd0ac2670b12b3 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 2 14:53:39 2015 +0200 iwlwifi: mvm: move RX API into its own file The RX API is currently mixed up into the general fw-api.h file, but we're going to need to extend it significantly in the future, so move it to its own file. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 2df5328e7853e33155312970036f05c27c189b71 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 2 14:47:16 2015 +0200 iwlwifi: mvm: remove some unused defines from RX API Remove some unused values from the RX API; these were used with older firmware API that didn't have the RX energy API, support for which was removed a long time ago. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit abfd794c59c7cbfe31a5d1471e5868d4dbd74205 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 2 12:26:45 2015 +0200 iwlwifi: mvm: remove pointless cfg_phy_cnt length check Since the driver can never configure the data here, this field will always be reported as 0 by the firmware. Even if this was not the case, however, it wouldn't matter since the extra data would be added beyond the end of the phy_info structure we use in the driver, so wouldn't harm anything in this code either. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 7f89a58efc0a18ec4a6eb7fdcf9ab73d426ce11f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 2 11:51:23 2015 +0200 iwlwifi: mvm: remove useless debug message from RX This message is useless - it's in the good case that always happens so enabling it doesn't really help. Just remove it. There are other ways to debug this (e.g. tracing) so there's no need to add a message in the bad case. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit da583fdfececf69571d3b8fafed278310592eec1 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 26 15:55:04 2015 +0200 iwlwifi: mvm: make sure AP is operating for ToF It's possible for an AP interface to be UP but not actually operating (i.e. not beaconing etc.) - in this case it can't actually do ToF, so check for it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 38d5f66f062a65bfc436013135a817e53037ccca Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 14:03:02 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_STATS_V10 TLV flag This flag is set in all supported firmwares. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 9d43fa4b4a0e46881d7d4fb3bc689a17d2f72257 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 13:57:37 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_ASYNC_DTM TLV flag This flag is set in all supported firmwares. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit eb991c5ec18ba41bfa2c206c22bceae94f6f3c15 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 13:55:11 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_SINGLE_SCAN_EBS TLV flag All the supported firmwares have this flag set. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 4d31eed13f2a2234e86aa178918e129b6e33a9ee Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 13:52:54 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_TX_POWER_DEV TLV flag All the supported firmwares use the new API. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 89ced540eb3527669bac0a3239a408fb1129f0dc Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 13:50:59 2015 +0300 iwlwifi: mvm: remove IWL_UCODE_TLV_API_HDC_PHASE_0 TLV flag All the supported firwmares support the new API. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx> commit 97bce7e0b58dfc7d159ded329f57961868fb060b Author: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Date: Sun Sep 20 16:42:36 2015 +0200 crypto: crc32c-pclmul - use .rodata instead of .rotata Module crc32c-intel uses a special read-only data section named .rotata. This section is defined for K_table, and its name seems to be a spelling mistake for .rodata. Fixes: 473946e674eb ("crypto: crc32c-pclmul - Shrink K_table to 32-bit words") Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d23afa1abc54b5b7cb7c65f451378b5c0820bfe6 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Sep 18 14:57:11 2015 +0200 crypto: sahara - replace sahara_sg_length with sg_nents_for_len The sahara_sg_length function of the sahara driver is the same as sg_nents_for_len from lib/scatterlist.c Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 76804eb846a413cd761f63ad6cdca1c8ca337678 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Sep 18 14:57:10 2015 +0200 crypto: amcc - replace get_sg_count by sg_nents_for_len The get_sg_count function of amcc is the same as sg_nents_for_len from lib/scatterlist.c Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1f6d79d7e011ff0b85feaecf0aed0b3949eaa1f2 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Fri Sep 18 14:57:09 2015 +0200 crypto: bfin_crc - replace sg_count by sg_nents The sg_count function in bfin_crc.c is the same function as sg_nents. Remove the duplicate code and use sg_nents() instead. Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit fcab303c015397c307ae4873e02598f89a4a3ef6 Author: Ding Tianhong <dingtianhong@xxxxxxxxxx> Date: Sun Sep 6 17:34:35 2015 +0800 arm64: dts: add dts files for Hisilicon Hip05-D02 Development Board Add initial dtsi file to support Hisilicon Hip05-D02 Board with support of CPUs in four clusters and each cluster has quard Cortex-A57. Also add dts file to support Hip05-D02 development board. Signed-off-by: Ding Tianhong <dingtianhong@xxxxxxxxxx> Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 7334de0de9869666b664683e18836d1ba9910387 Author: Ding Tianhong <dingtianhong@xxxxxxxxxx> Date: Sun Sep 6 17:34:34 2015 +0800 arm64: hip05-d02: Document devicetree bindings for Hisilicon Hip05-D02 Board This patch adds documentation for the devicetree bindings used by the DT files of Hisilicon Hip05-D02 development board. Signed-off-by: Ding Tianhong <dingtianhong@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 6f112a08c1ed717a015dae190e289d53085c1bc4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 8 12:11:11 2015 +0200 ARM: at91: debug: use DEBUG_UART_PHYS Instead of having to add a new configuration option each time support for new SoC is added, use CONFIG_DEBUG_UART_PHYS. For now, CONFIG_DEBUG_UART_VIRT is automatically computed. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit bc81beb80538cb4fc964baf1d7f43a2f9b58def0 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Sep 18 19:28:22 2015 +0800 ARM: at91/dt: ov2640: add hsync/vsync-active property On at91sam9x5ek/at91sam9m10g45ek/sama5d3xek boards, we use the parallel connection for ov2640. So we must set the hsync/vsync property (1 means active high). Otherwise, the connection would be seen as BT.656 or BT.1120. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit be6ec98ddb6749bba0fc7f67bd2f89a2396805de Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Wed Sep 16 16:35:53 2015 -0700 crypto: x86/sha - Restructure x86 sha512 glue code to expose all the available sha512 transforms Restructure the x86 sha512 glue code so we will expose sha512 transforms based on SSSE3, AVX or AVX2 as separate individual drivers when cpu provides support. This will make it easy for alternative algorithms to be used if desired and makes the code cleaner and easier to maintain. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5dda42fc89f26fb3b6312076b17feda8c397d2b8 Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Wed Sep 16 16:35:23 2015 -0700 crypto: x86/sha - Restructure x86 sha256 glue code to expose all the available sha256 transforms Restructure the x86 sha256 glue code so we will expose sha256 transforms based on SSSE3, AVX, AVX2 or SHA-NI extension as separate individual drivers when cpu provides such support. This will make it easy for alternative algorithms to be used if desired and makes the code cleaner and easier to maintain. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 85c66ecd6f2144c075044292359e179b20af1f2d Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Wed Sep 16 16:34:53 2015 -0700 crypto: x86/sha - Restructure x86 sha1 glue code to expose all the available sha1 transforms Restructure the x86 sha1 glue code so we will expose sha1 transforms based on SSSE3, AVX, AVX2 or SHA-NI extension as separate individual drivers when cpu provides such support. This will make it easy for alternative algorithms to be used if desired and makes the code cleaner and easier to maintain. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e38b6b7fcfd11fb83dcac54a33cbca3739c45a09 Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Sep 10 15:27:26 2015 -0700 crypto: x86/sha - Add build support for Intel SHA Extensions optimized SHA1 and SHA256 This patch provides the configuration and build support to include and build the optimized SHA1 and SHA256 update transforms for the kernel's crypto library. Originally-by: Chandramouli Narayanan <mouli_7982@xxxxxxxxx> Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 95fca7df0b4964fbe3fe159e3d6e681e6b5b7a53 Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Sep 10 15:27:20 2015 -0700 crypto: x86/sha - glue code for Intel SHA extensions optimized SHA1 & SHA256 This patch adds the glue code to detect and utilize the Intel SHA extensions optimized SHA1 and SHA256 update transforms when available. This code has been tested on Broxton for functionality. Originally-by: Chandramouli Narayanan <mouli_7982@xxxxxxxxx> Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 600a2334e83d22e5c3f7ff2581f545bfc354d206 Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Sep 10 15:27:13 2015 -0700 crypto: x86/sha - Intel SHA Extensions optimized SHA256 transform function This patch includes the Intel SHA Extensions optimized implementation of SHA-256 update function. This function has been tested on Broxton platform and measured a speed up of 3.6x over the SSSE3 implementiation for 4K blocks. Originally-by: Chandramouli Narayanan <mouli_7982@xxxxxxxxx> Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c356a7e975a25e8867961c1b7a4a965d506f0a04 Author: tim <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Sep 10 15:26:59 2015 -0700 crypto: x86/sha - Intel SHA Extensions optimized SHA1 transform function This patch includes the Intel SHA Extensions optimized implementation of SHA-1 update function. This function has been tested on Broxton platform and measured a speed up of 3.6x over the SSSE3 implementiation for 4K blocks. Originally-by: Chandramouli Narayanan <mouli_7982@xxxxxxxxx> Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b8e31bf3083106e8530d6d5786e23b365b49b11b Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:57 2015 +0100 MAINTAINERS: Add ST's Random Number Generator to the ST entry Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ba25d8b4011bc496afff65b2f28136aa141d7d6b Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:56 2015 +0100 ARM: STi: STiH407: Enable the 2 HW Random Number Generators for STiH4{07, 10} Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4a4da53c408c9e1e545b60d2b07635d08a949c99 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:55 2015 +0100 hwrng: st - Add support for ST's HW Random Number Generator Signed-off-by: Pankaj Dev <pankaj.dev@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Kieran Bingham <kieranbingham@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b4a5407ea82869bf947c8a1176984f80c30e25a6 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:54 2015 +0100 hwrng: st - Provide DT bindings for ST's Random Number Generator Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d9a53b01404fa602117220e98bb6c9b2b63f1e7f Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:53 2015 +0100 hwrng: core - Simplify RNG switching from sysfs If we attempt to use sysfs to change the current RNG in the usual way i.e. issuing something like: `echo 8a8a000.rng > /sys/devices/virtual/misc/hw_random/rng_current` ... it will fail because the code doesn't currently take the '\n' into consideration. Well, now it does. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cb2c316b22d89072643d2685ef0eb883cae8a9de Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:52 2015 +0100 hwrng: Kconfig - Fix device node name reference /dev/hw_random => /dev/hwrng In April 2009, commit d405640 ("Driver Core: misc: add node name support for misc devices.") inadvertently changed the device node name from /dev/hw_random to /dev/hwrng. Since 6 years has passed since the change it seems unpractical to change it back, as this node name is probably considered ABI by now. So instead, we'll just change the Kconfig help to match the current situation. NB: It looks like rng-tools have already been updated. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Kieran Bingham <kieranbingham@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e9e23158f2f5a0992f27d367aa1f11ba12b0b54c Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Sep 17 14:45:51 2015 +0100 hwrng: doc - Fix device node name reference /dev/hw_random => /dev/hwrng In April 2009, commit d405640 ("Driver Core: misc: add node name support for misc devices.") inadvertently changed the device node name from /dev/hw_random to /dev/hwrng. Since 6 years has passed since the change it seems unpractical to change it back, as this node name is probably considered ABI by now. So instead, we'll just change the documentation to match the current situation. NB: It looks like rng-tools have already been updated. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Kieran Bingham <kieranbingham@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4dd17c9c8a30c8d8cd1c9d4b94f08aca4b038d3e Author: sudip <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 13:12:51 2015 +0530 crypto: asymmetric_keys - remove always false comparison hour, min and sec are unsigned int and they can never be less than zero. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3cc43a0a5cea4fe2a2107e77500d6032b9bcafde Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Sep 16 05:33:06 2015 -0700 crypto: qat - Add load balancing across devices Load balancing of crypto instances only used a single device. There was no problem with that on PF, but since there is only one or two instance per VF we need to loadbalance across devices. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 859e58055a36e7a4948df614e3c5d872ef153f36 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 15 13:54:53 2015 -0300 crypto: caam - Remove unused JUMP_TYPE_MASK definition Commit a1efb01feca597b ("jump_label, locking/static_keys: Rename JUMP_LABEL_TYPE_* and related helpers to the static_key* pattern") introduced the definition of JUMP_TYPE_MASK in include/linux/jump_label.h causing the following name collision: In file included from drivers/crypto/caam/desc_constr.h:7:0, from drivers/crypto/caam/ctrl.c:15: drivers/crypto/caam/desc.h:1495:0: warning: "JUMP_TYPE_MASK" redefined #define JUMP_TYPE_MASK (0x03 << JUMP_TYPE_SHIFT) ^ In file included from include/linux/module.h:19:0, from drivers/crypto/caam/compat.h:9, from drivers/crypto/caam/ctrl.c:11: include/linux/jump_label.h:131:0: note: this is the location of the previous definition #define JUMP_TYPE_MASK 1UL As JUMP_TYPE_MASK definition in desc.h is never used, we can safely remove it to avoid the name collision. Reported-by: Olof's autobuilder <build@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Reviewed-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5f8741d1bfa42b7e5443f2d2035de37bd5b73978 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Tue Sep 15 18:41:33 2015 +0200 hwrng: Fix module autoload for OF platform drivers This 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 <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 05db0ad8656376e341db6120758d04c247c9cf2f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Sep 12 20:19:53 2015 -0300 hwrng: mxc-rnga - Use the preferred format for kzalloc According to Documentation/CodingStyle: "The preferred form for passing a size of a struct is the following: p = kmalloc(sizeof(*p), ...);" ,so do as suggested. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit eeb322540987d42a480cf8516fb88cda46347882 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Sep 12 20:19:52 2015 -0300 hwrng: mxc-rnga - Remove unnecessary dev_info message There is no need to print a message simply saying that a kernel driver has been registered, so remove it. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c09e2cc69441ef5d99d31aa83f7d2b6239e5b9a7 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Sep 12 20:19:51 2015 -0300 hwrng: mxc-rnga - Remove uneeded initialization There is no need to pre-initialize variable 'err' as this initial value will be overwritten later on. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1bf2138e9806ea436933d5a803547833f9524c8f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Sep 12 20:19:50 2015 -0300 hwrng: mxc-rnga - Remove unneeded goto label We can simplify the code by returning the error code immediately instead of jumping to a goto label. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6c5de9871a4d43bba179c6a862eeb53b5232f996 Author: John Griffin <john.griffin@xxxxxxxxx> Date: Fri Sep 11 12:26:00 2015 -0700 crypto: qat - don't check for iommu In some cases we don't want iommu to be enabled but still we want to enable VFs. Signed-off-by: John Griffin <john.griffin@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 04b7d704c6160fa4e8eeffc8540575fb15142f7f Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Sep 10 11:32:26 2015 +0530 hwrng: octeon - Use devm_hwrng_register Use resource managed function devm_hwrng_register instead of hwrng_register to make the error-path simpler. Also, remove octeon_rng_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a2712e6c75f1e95b7c31830c19191e8fa367c15a Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Sep 2 12:05:18 2015 -0300 crypto: mxs-dcp - Allow MXS_DCP to be used on MX6SL MX6SL has the same DCP crypto block as in MX23/MX28, so allow it to be built for ARCH_MXC. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 53ed2d4e56c0e4749e3481475d3520275d9e67a5 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 18:44:49 2015 +0200 crypto: ux500 - 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: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c3abc0f3b606a984f864452292c423f01e57c656 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 18:44:03 2015 +0200 crypto: picoxcell - 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: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 3dc1597b6b0a8d17fc56d93b5e9cf859fe681727 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 18:43:24 2015 +0200 crypto: amcc - 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: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f074f7b103a915edb1edf833f96a902adeb374cf Author: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Date: Thu Aug 27 18:38:36 2015 +0300 crypto: tcrypt - avoid mapping from module image addresses The output buffer in test_ahash_speed will point to an address located within the tcrypt module image. This causes problems when trying to DMA map the buffer. For e.g. on ARM-based LS1021A, a page fault occurs within the DMA API when trying to access the struct page returned by virt_to_page(output): insmod tcrypt.ko mode=403 testing speed of async sha1 (sha1-caam) test 0 ( 16 byte blocks, 16 bytes per update, 1 updates): Unable to handle kernel paging request at virtual address f07e9080 pgd = e58d0e00 [f07e9080] *pgd=80000080007003, *pmd=00000000 Internal error: Oops: 206 [#1] SMP THUMB2 Modules linked in: tcrypt(+) CPU: 1 PID: 1119 Comm: insmod Not tainted 4.2.0-rc1-256134-gbf433416e675 #1 Hardware name: Freescale LS1021A task: ea063900 ti: e5a34000 task.ti: e5a34000 PC is at dma_cache_maint_page+0x38/0xd0 LR is at __dma_page_cpu_to_dev+0x15/0x64 pc : [<800155a0>] lr : [<8001564d>] psr: 000f0033 sp : e5a35ca0 ip : 8063df00 fp : f07e9080 r10: 00000cd0 r9 : 8063df00 r8 : 805a2f04 r7 : 0017f804 r6 : 00000002 r5 : ee7f9000 r4 : 00000014 r3 : 80612d40 r2 : 01ff0080 r1 : 00000380 r0 : ee7f9000 Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA Thumb Segment user Control: 70c5387d Table: e58d0e00 DAC: 9b7ede70 Process insmod (pid: 1119, stack limit = 0xe5a34210) Stack: (0xe5a35ca0 to 0xe5a36000) [...] [<800155a0>] (dma_cache_maint_page) from [<8001564d>] (__dma_page_cpu_to_dev+0x15/0x64) [<8001564d>] (__dma_page_cpu_to_dev) from [<800156eb>] (arm_dma_map_page+0x1f/0x44) [<800156eb>] (arm_dma_map_page) from [<802935e3>] (ahash_digest+0x35f/0x510) [<802935e3>] (ahash_digest) from [<7f800d03>] (test_ahash_speed.constprop.6+0x24a/0x4e4 [tcrypt]) [<7f800d03>] (test_ahash_speed.constprop.6 [tcrypt]) from [<7f802fd5>] (do_test+0x1898/0x2058 [tcrypt]) [<7f802fd5>] (do_test [tcrypt]) from [<7f80802f>] (tcrypt_mod_init+0x2e/0x63 [tcrypt]) [<7f80802f>] (tcrypt_mod_init [tcrypt]) from [<80009517>] (do_one_initcall+0xb3/0x134) [<80009517>] (do_one_initcall) from [<80351ec7>] (do_init_module+0x3b/0x13c) [<80351ec7>] (do_init_module) from [<8005cc3f>] (load_module+0x97b/0x9dc) [<8005cc3f>] (load_module) from [<8005cd8d>] (SyS_finit_module+0x35/0x3e) [<8005cd8d>] (SyS_finit_module) from [<8000d101>] (ret_fast_syscall+0x1/0x4c) Code: 1aba 0152 eb00 0b02 (5882) 0f92 addr2line -f -i -e vmlinux 800155a0 page_zonenum include/linux/mm.h:728 page_zone include/linux/mm.h:881 dma_cache_maint_page arch/arm/mm/dma-mapping.c:822 Signed-off-by: Horia Geant? <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 128a37852234c1bd68eee4e7447f5362778009b8 Author: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Date: Mon Sep 21 09:43:06 2015 +0200 fs: fix data races on inode->i_flctx locks_get_lock_context() uses cmpxchg() to install i_flctx. cmpxchg() is a release operation which is correct. But it uses a plain load to load i_flctx. This is incorrect. Subsequent loads from i_flctx can hoist above the load of i_flctx pointer itself and observe uninitialized garbage there. This in turn can lead to corruption of ctx->flc_lock and other members. Documentation/memory-barriers.txt explicitly requires to use a barrier in such context: "A load-load control dependency requires a full read memory barrier". Use smp_load_acquire() in locks_get_lock_context() and in bunch of other functions that can proceed concurrently with locks_get_lock_context(). The data race was found with KernelThreadSanitizer (KTSAN). Signed-off-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit d11797a0a7acc1fe6a51b1605e166adad04da29b Author: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> Date: Mon Sep 21 07:26:45 2015 -0400 locks: change tracepoint for generic_add_lease Add some more helpful info to make it easier to determine why a lease wasn't granted. Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> commit a78695d3ea045cd9977a8397c89171d762708f86 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 18 15:54:50 2015 +0300 drm/i915/skl: handle port E in cpt_digital_port_connected SKL port E handling was added in 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 but the whole function was moved in a another branch in commit b93433ccf64846820b9448f5ff5dd4348b58a8ed Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:36 2015 +0300 drm/i915: move ibx_digital_port_connected to intel_dp.c and the addition was lost at some backmerge that I was unable to identify. Put it back in. Tested-by: Tomi Sarvela <tomix.p.sarvela@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit a83a6a82250fe900be85c8e142f5cb504d9482bd Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Sep 18 18:58:21 2015 +0200 pwm: atmel-hlcdc: 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. This patch adds the missing MODULE_DEVICE_TABLE() for OF to export that information so modules have the correct aliases built-in and autoloading works correctly. A longer explanation by Javier Canillas can be found here: https://lkml.org/lkml/2015/7/30/519 Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 93f13a9f96771a064c716364aebc6e283b186eb8 Author: Borislav Petkov <bp@xxxxxxxxx> Date: Mon Sep 21 09:48:29 2015 +0200 x86/entry/vsyscall: Fix undefined symbol warning Commit: 3dc33bd30f3e1 ("x86/entry/vsyscall: Add CONFIG to control default") did the ifdef/elif thing but GCC doesn't like that: arch/x86/entry/vsyscall/vsyscall_64.c:44:7: warning: "CONFIG_LEGACY_VSYSCALL_NONE" is not defined [-Wundef] #elif CONFIG_LEGACY_VSYSCALL_NONE ^ Use defined() instead. Signed-off-by: Borislav Petkov <bp@xxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150921074829.GA3550@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 21e29d9afd1024b63a311172bf57c41223665299 Author: Jonathan Liu <net147@xxxxxxxxx> Date: Mon Sep 21 16:13:22 2015 +1000 ARM: sunxi_defconfig: enable MODULE_UNLOAD Loadable module support is enabled so we should allow unloading modules too. This also allows lsmod to show values other than "-2" in the "Used by" column. Signed-off-by: Jonathan Liu <net147@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8e0735c5e0a92d6a8e5b30cd485c2811d701e58b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:16 2015 +0900 staging: wilc1000: rename WILC_WFI_frame_register This patch replaces WILC_WFI_frame_register with wilc_mgmt_frame_register to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12ec0bd63eb13d1c33fc02112b7ca91d5ebf070b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:15 2015 +0900 staging: wilc1000: remove declaration of WILC_WFI_frame_register This patch removes function declaration of WILC_WFI_frame_register in linux_wlan.c file, then adds it in wilc_wfi_cfgoperations.h file. The compilation warning occurs because it is assigned to incorrect pointer type of second parameter of WILC_WFI_frame_register. It is assigned with struct wireless_dev pointer type. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fa7da249269a6146ce456c43098901c81c8afdf Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Thu Aug 27 14:24:48 2015 +0200 can: flexcan: enable interrupts atomically at the end of flexcan_chip_start() This patch defers the writing of the interrupts bits of the CTRL register order to enables all interrupts atomically at the the of the flexcan_chip_start() function. Suggested-by: Torsten Lang <torsten.lang@xxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 1ba763d1d4bda61bfb9b8e5154e6cf39a3e2d0e6 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Tue Aug 25 10:39:19 2015 +0200 can: flexcan: give member of flexcan_priv holding mailboxes a sensible name This patch gives the member of flexcan_priv holding mailboxes a sensible name, by renaming from "cantxfg" to "mb": struct flexcan_priv::cantxfg -> struct flexcan_priv::mb Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 89af8746dea940c66f414866eed2a964a348dc09 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Fri May 8 09:32:58 2015 +0200 can: flexcan: use pointer to struct regs instead of void pointer for mmio address space This patch renames the pointer to the mmio address space from "base" to "regs" and changes the type from "void __iomem *" to "struct flexcan_regs __iomem *". Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit f377bff0235708ded5f94e581855d6bd678cd2d1 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Fri May 8 15:22:36 2015 +0200 can: flexcan: rename feature into quirks This patch renames the "features" member of struct flexcan_devtype_data to "quirks". The corresponding defines are renamed too, to reflect what they actually do. FLEXCAN_HAS_V10_FEATURES -> FLEXCAN_QUIRK_DISABLE_RXFG FLEXCAN_HAS_BROKEN_ERR_STATE -> FLEXCAN_QUIRK_BROKEN_ERR_STATE FLEXCAN_HAS_MECR_FEATURES -> FLEXCAN_QUIRK_DISABLE_MECR Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 749de6fce2dd67b40f4118bf694be37f9093c3f5 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Mon Aug 31 21:32:34 2015 +0200 can: flexcan: flexcan_chip_start(): cleanup writing of reg_mcr This patch changes the order the individual bits of the mcr register in flexcan_chip_start() are or'ed together to match the datasheet. The inline documentation is adjusted accordingly. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 8c411745dd6ddbe745ee25cd1f6db856e920e7fa Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Sat May 9 18:25:05 2015 +0200 can: flexcan: remove unused header files This patch removes unused header files from the flexcan driver. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 2785968cd122b22b289db565b7438f2200984044 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Sat May 9 17:47:52 2015 +0200 can: headers: make header files self contained This patch adds the missing #include-s to the dev.h and led.h, so that they can be used without including further header files. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 0012e5c9315c33fe8d62cb8cb87a95484d7761c1 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Thu Aug 6 14:53:57 2015 +0200 can: flexcan: cleanup coding style and fix typos This patch fixes up the coding style to make checkpatch happier. Some typos are also fixed. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit a5a45ba2738723c62775f51aad4657f1606f3b7d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:17:03 2015 +0900 staging: wilc1000: delete unnecessary comments and dead code The comments in union message_body are not essential and cross 80 ending line, so they are deleted and also a dead code commented out in the union is deleted. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 903b4d31c81125cbf493bdd6b5ddaa50b0d3ed67 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:17:02 2015 +0900 staging: wilc1000: remove u32Intialized which is unnecessary This patch removes the global variable, u32Intialized which is not necessary from the host_interface.c file. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ddea59641605a6e494c7ad167111e47d513e741 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:17:01 2015 +0900 staging: wilc1000: remove unnecessary global variable The global variable msgQ_created is removed because it is not necessary. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4e644e48c391d3b0316afec6cecf870d83bafd3 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:17:00 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFDelAllSta This patch removes typedef from the struct tstrHostIFDelAllSta and renames it to del_all_sta in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc37c5dfba7d32a41584c97a642dbfcb836f065d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:59 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfRegisterFrame This patch removes typedef from the struct tstrHostIfRegisterFrame and renames it to reg_frame in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f9c03f5216f7cb752103a7cd84ea431c199db48 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:58 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfRemainOnChan This patch removes typedef from the struct tstrHostIfRemainOnChan and renames it to remain_ch in order to comply with the Linux coding style Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb93a1e1be67aa935903687d7d4972751b8adebc Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:57 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFDelSta This patch removes typedef from the struct tstrHostIFDelSta and renames it del_sta in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54265472bf3e614252ea829e378977189b56717c Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:56 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfBASessionInfo This patch removes typedef from the struct tstrHostIfBASessionInfo and renames it to ba_session_info in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcd27c5f658b905bbd0abf55c7304a9cc4a3e90e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:55 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfGetMacAddress This patch removes typedef from the struct tstrHostIfGetMacAddress and renames it get_mac_addr in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7611a87a938ffc1aaff54b1d773e5f372ae2150 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:54 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfSetMacAddress This patch removes typedef from the struct tstrHostIfSetMacAddress and renames it set_mac_addr in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 801bee52a111c1c6957480d14326cd6a579c6f55 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:53 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfSetOperationMode This patch removes typedef from the struct tstrHostIfSetOperationMode and renames it to op_mode in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 641210ac1b9c74b615e76efa33e01b1975e0849a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:52 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFSetMulti This patch removes typedef from the struct tstrHostIFSetMulti and renames it to set_multicast in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 127f9d9497aa90b9006323b97f539dcca88df95b Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:51 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfSetDrvHandler This patch removes typedef from the struct tstrHostIfSetDrvHandler and renames it to drv_handler in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15191eaf4ef2d705e9b529f24977a29de8ed0d2d Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:50 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFSetIPAddr This patch removes typedef from the struct tstrHostIFSetIPAddr and renames it to set_ip_addr in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d1eac048deeefc587c96fb2d950fe11b3b1cba4 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:49 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfStaInactiveT This patch removes typedef from the struct tstrHostIfStaInactiveT and renames it to sta_inactive_t in oder to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a008f1cd3d47b054633a56f8823ce69b4d5ba7a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:48 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIfPowerMgmtParam This patch removes typedef from the struct tstrHostIfPowerMgmtParam and renames it to power_mgmt_param in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 525819340a5bf487dbf2b3defb0a4bfe37a70c87 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:47 2015 +0900 staging: wilc1000: remove typedef from the struct tstrTimerCb This patch removes typedef from the tstrTimerCb and renames it to timer_cb in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a89ba9cee532e93098b014ea90d8efdebfc28c6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:46 2015 +0900 staging: wilc1000: remove typedef from the struct tstrWILC_AddStaParam This patch removes typedef from the struct tstrWILC_AddStaParam and renames it to add_sta_param in oder to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0227fcbcc82fa68c637e70fde1153fa8ab850e6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:45 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFDelBeacon This patch removes typedef from the struct tstrHostIFDelBeacon and renames it to del_beacon in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 902362b1f7f6e3afa01a3290f77a1ae448c3840f Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:44 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFSetBeacon This patch removes typedef from the struct tstrHostIFSetBeacon and renames it to set_beacon in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29f84000740af55dfe3dc705a184cab3b04773c1 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:43 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFGetChan This patch removes typedef from the struct tstrHostIFGetChan and renames it to get_channel in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 326b323d012b04ec8932b1135290e463bb120fad Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:42 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFSetChan This patch removes typedef from the struct tstrHostIFSetChan and ranames it to set_channel in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 361ff841ff1980427fce63ac99cfdec350bc83e9 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:41 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFCfgParamAttr This patch removes typedef from the struct tstrHostIFCfgParamAttr and renames it to cfg_param_attr in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c98387a5736e928273fbe306942b447afea964e6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:40 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFkeyAttr This patch removes typedef from the struct tstrHostIFkeyAttr and renames it to key_attr in oder to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f23a9eabcbb0e1fb8648f9b86b22c6f8540e15dd Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:39 2015 +0900 staging: wilc1000: remove typedef from the struct tstrRcvdGnrlAsyncInfo This patch removes typedef from the struct tstrRcvdGnrlAsyncInfo and renames it to rcvd_async_info in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bbd59f5f5d8681f606ecad3fc6a06305a228b42 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:38 2015 +0900 staging: wilc1000: remove typedef from the struct tstrRcvdNetworkInfo This patch removes typedef from the struct tstrRcvdNetworkInfo and renames it to rcvd_net_info in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 120ae59385cc744c9ae6a2054f2b90cfdfb45f9e Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:37 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFconnectAttr This patch removes typedef from the struct tstrHostIFconnectAttr and renames it to connect_attr to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c476feb8d3e51fe1775207b72102f48d6177b963 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:36 2015 +0900 staging: wilc1000: remove typedef from the struct tstrHostIFscanAttr This patch removes typedef from the structure tstrHostIFscanAttr and changes the camelcase name, tstrHostIFscanAttr to scan_attr in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 410c248991430d8fbcba0230501c7e3666eb01a3 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:35 2015 +0900 staging: wilc1000: rename uniHostIFmsgBody This patch changes the camelcase notation, uniHostIFmsgBody which is a member variable of structure host_if_msg to body in order to comply with the Linux coding style. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfc7663ba27f38be04095e3d4931f9df58b887fc Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:34 2015 +0900 staging: wilc1000 remove typedef from the union This patch gets rid of typedef from the union and renames tuniHostIFmsgBody with simply message_body because the Linux coding style does not recommend camelcase notation and typedef for structure, enmu and also union. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9f812a6d845d4511a711c7d5d84776b2f5aec8c Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:33 2015 +0900 staging: wilc1000: rename u16MsgId This patch changes the name, u16MsgId simply to id to avoid the camelcase notation. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 143eb95abb4c4e59772681de749af8d2f71afac6 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 21 12:16:32 2015 +0900 staging: wilc1000: rename strHostIFmsg This patch changes the name, strHostIFmsg simply to msg because the camelcase notation is not recommended in Linux. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b05b7c7cc0324524dcda7fa7c2be1255290ee416 Author: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Date: Fri Sep 11 16:42:38 2015 +0200 ti-st: use worker instead of calling st_int_write in wake up The wake up method is called with the port lock held. The st_int_write method calls port->ops->write with tries to acquire the lock again, causing CPU to wait infinitely. Right way to do is to write data to port in worker thread. Signed-off-by: Muhammad Hamza Farooq <mfarooq@xxxxxxxxxxx> Signed-off-by: Jacob Siverskog <jacob@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1ef48e1e8843e2f6be631b8cf1c21b24579b9d6 Merge: eaf9a99 f91638a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 20 22:26:58 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-17 This series contains updates to i40e and i40evf. Shannon provides updates to i40e and i40evf to resolve an issue with the nvmupdate utility. First renames a variable name to reduce confusion and to differentiate it from the actual user variable. Then added the ability to save the admin queue write back descriptor if a caller supplies a buffer for it to be saved into. Added a new GetStatus command so that the NVM update tool can query the current status instead of doing fake write requests to probe for readiness. Added wait states to the NVM update state machine to signify when waiting for an update operation to finish, whether we are in the middle of a set of write operations, or we are now idle but waiting. Then added a facility to run admin queue commands through the NVM update utility in order to allow the update tools to interact with the firmware and do special commands needed for updates and configuration changes. Also added a facility to recover the result of a previously run admin queue command. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eaf9a992b75a0363f15e2d5f40e3ba820098c856 Merge: 22a3f9a 0738eff Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 20 21:58:23 2015 -0700 Merge tag 'linux-can-next-for-4.4-20150917' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2015-09-17 this is a pull request of two patches for net-next/master. Gerhard Bertelsmann adds support for the CAN controller found on the Allwinner A10/A20 SoC. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22a3f9a2043be28cde6d272e786874ba0d6afe15 Author: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Date: Thu Sep 17 18:12:53 2015 +0200 rxrpc: Replace get_seconds with ktime_get_seconds Replace time_t type and get_seconds function which are not y2038 safe on 32-bit systems. Function ktime_get_seconds use monotonic instead of real time and therefore will not cause overflow. Signed-off-by: Ksenija Stanojevic <ksenija.stanojevic@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62e3b1d01c4ebbf11702a27e0c749d27195ba043 Merge: 812494d b5996f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 20 21:42:58 2015 -0700 Merge branch 'hsilicon-net-subsys' huangdaode says: ==================== net: Hisilicon Network Subsystem support This is V2 of Hisilicon Network Subsystem(HNS) patchesets taking care about LKML comments. Please find out the changes from the change logs. This patchset is rebased on mainline kernel Linux 4.3-rc1 branch. [PATCH v2 1/5] Device Tree Binding Documentation [PATCH v2 2/5] Merge MDIO Module [PATCH v2 3/5] Hisilicon Network Acceleration Engine Framework [PATCH v2 4/5] Distributed System Area Fabric Module [PATCH v2 5/5] Basic Ethernet Driver Module Changes from V1: 1. Remove "inline" in C file (according to LKML comment, same in below). 2. Fix a bug about class_find_device. 3. Change the DTS pattern on hnae, restruct it to compatible with Hi1610 soc. 4. Unified hip04_mdio and hip05_mdio into hns_mdio, which is more usaul for later SOCs. V1 Patches Reference: https://lkml.org/lkml/2015/8/14/165 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5996f11ea5496d0445078f47d22c987888ed467 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Thu Sep 17 14:51:50 2015 +0800 net: add Hisilicon Network Subsystem basic ethernet support This is to add basic ethernet support for HNS. It is one of the way to use the HNS acceleration engine. But most of the decoding/encoding capability of the AE cannot be used in this way. This submit contains the basic feature as a ethernet driver. More will be added later. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: Kenneth Lee <liguozhu@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 511e6bc071db1484d1a3d1d0bd4c244cf33910ff Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Thu Sep 17 14:51:49 2015 +0800 net: add Hisilicon Network Subsystem DSAF support DSAF, namely Distributed System Area Fabric, is one of the HNS acceleration engine implementation. This patch add DSAF driver to the system. hns_ae_adapt: the adaptor for registering the driver to HNAE framework hns_dsaf_mac: MAC cover interface for GE and XGE hns_dsaf_gmac: GE (10/100/1000G Ethernet) MAC function hns_dsaf_xgmac: XGE (10000+G Ethernet) MAC function hns_dsaf_main: the platform device driver for the whole hardware hns_dsaf_misc: some misc helper function, such as LED support hns_dsaf_ppe: packet process engine function hns_dsaf_rcb: ring buffer function Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@xxxxxxxxxx> Signed-off-by: Kenneth Lee <liguozhu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fe6611ff275522a4e4c0359e2f46cdd07780d2f Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Thu Sep 17 14:51:48 2015 +0800 net: add Hisilicon Network Subsystem hnae framework support HNAE (Hisilicon Network Acceleration Engine) is a framework to provide a unified ring buffer interface for Hisilicon Network Acceleration Engines. With the interface, upper layer can work as ethernet driver, ODP driver or other service driver on purpose. Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: Kenneth Lee <liguozhu@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b904d39406a61c056c3fe1b45867f0161827ef1 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Thu Sep 17 14:51:47 2015 +0800 net: add Hisilicon Network Subsystem MDIO support The MDIO support for Hisilicon Network Subsystem. It is used in Hislicon hip04, hip05 and Hi1610 SoC to control the external PHY Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@xxxxxxxxxx> Signed-off-by: Kenneth Lee <liguozhu@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc7e37c6b2704fb0360f7ecf747d5d3012ef9632 Author: huangdaode <huangdaode@xxxxxxxxxxxxx> Date: Thu Sep 17 14:51:46 2015 +0800 net: add Hisilicon Network Subsystem support (config and documents) The Hisilicon Network Subsystem is a long term evolution IP which is supposed to be used in Hisilicon ICT SoC. The IP, which is called hns for short, is a TCP/IP acceleration engine, which can directly decode TCP/IP stream and distribute them to different ring buffers. HNS can be configured to work on different mode for different scenario. This patch make use only some of the mode to make it as standard ethernet NIC. The other mode will be added soon. The whole function has 4 kernel sub-modules: hnae: the HNS acceleration engine framework. It provides a abstract interface between the engine and the upper layers which make use of the engine by ring buffer. hns_enet_drv: a standard ethernet driver that base on the ring buffer. hns_dsaf: one of the implementation of HNS acceleration engine, which is applied on Hililicon hip05, Hi1610 and other later-on SoCs hns_mdio: the mdio control to the PHY, used by acceleration engine This submit add basic config and documents Signed-off-by: huangdaode <huangdaode@xxxxxxxxxxxxx> Signed-off-by: Kenneth Lee <liguozhu@xxxxxxxxxx> Signed-off-by: Yisen Zhuang <Yisen.Zhuang@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 812494d9a0cacf77e0a538be18183c7b471812aa Author: chas williams <3chas3@xxxxxxxxx> Date: Wed Sep 16 16:28:25 2015 -0400 xen-netfront: always set num queues if possible If netfront connects with two (or more) queues and then reconnects with only one queue it fails to delete or rewrite the multi-queue-num-queues key and netback will try to use the wrong number of queues. Always write the num-queues field if the backend has multi-queue support. Signed-off-by: Chas Williams <3chas3@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b74c458906fc4a62f932ee8bb801d29baf15fec Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 15:16:57 2015 -0700 rcu: Make ->cpu_no_qs be a union for aggregate OR This commit converts the rcu_data structure's ->cpu_no_qs field to a union. The bytewise side of this union allows individual access to indications as to whether this CPU needs to find a quiescent state for a normal (.norm) and/or expedited (.exp) grace period. The setwise side of the union allows testing whether or not a quiescent state is needed at all, for either type of grace period. For now, only .norm is used. A later commit will introduce the expedited usage. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 0d43eb34f9aabcddf41c99b7af2d0ced33e9a3cc Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 14:17:29 2015 -0700 rcu: Invert passed_quiesce and rename to cpu_no_qs This commit inverts the sense of the rcu_data structure's ->passed_quiesce field and renames it to ->cpu_no_qs. This will allow a later commit to use an "aggregate OR" operation to test expedited as well as normal grace periods without added overhead. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 97c668b8e983b722e2ed765b98b05f644aff1b13 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 6 11:31:51 2015 -0700 rcu: Rename qs_pending to core_needs_qs An upcoming commit needs to invert the sense of the ->passed_quiesce rcu_data structure field, so this commit is taking this opportunity to clarify things a bit by renaming ->qs_pending to ->core_needs_qs. So if !rdp->core_needs_qs, then this CPU need not concern itself with quiescent states, in particular, it need not acquire its leaf rcu_node structure's ->lock to check. Otherwise, it needs to report the next quiescent state. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit bce5fa12aad148e15efd9bc0015dc4898b6e723b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 5 16:03:54 2015 -0700 rcu: Move synchronize_sched_expedited() to combining tree Currently, synchronize_sched_expedited() uses a single global counter to track the number of remaining context switches that the current expedited grace period must wait on. This is problematic on large systems, where the resulting memory contention can be pathological. This commit therefore makes synchronize_sched_expedited() instead use the combining tree in the same manner as synchronize_rcu_expedited(), keeping memory contention down to a dull roar. This commit creates a temporary function sync_sched_exp_select_cpus() that is very similar to sync_rcu_exp_select_cpus(). A later commit will consolidate these two functions, which becomes possible when synchronize_sched_expedited() switches from stop_one_cpu_nowait() to smp_call_function_single(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 8203d6d0ee784cfb2ebf89053f7fe399abc867d7 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 2 13:53:17 2015 -0700 rcu: Use single-stage IPI algorithm for RCU expedited grace period The current preemptible-RCU expedited grace-period algorithm invokes synchronize_sched_expedited() to enqueue all tasks currently running in a preemptible-RCU read-side critical section, then waits for all the ->blkd_tasks lists to drain. This works, but results in both an IPI and a double context switch even on CPUs that do not happen to be running in a preemptible RCU read-side critical section. This commit implements a new algorithm that causes less OS jitter. This new algorithm IPIs all online CPUs that are not idle (from an RCU perspective), but refrains from self-IPIs. If a CPU receiving this IPI is not in a preemptible RCU read-side critical section (or is just now exiting one), it pushes quiescence up the rcu_node tree, otherwise, it sets a flag that will be handled by the upcoming outermost rcu_read_unlock(), which will then push quiescence up the tree. The expedited grace period must of course wait on any pre-existing blocked readers, and newly blocked readers must be queued carefully based on the state of both the normal and the expedited grace periods. This new queueing approach also avoids the need to update boost state, courtesy of the fact that blocked tasks are no longer ever migrated to the root rcu_node structure. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit b9585e940a0d78770cda8f9aebf81b17b4d19e6d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 16:04:45 2015 -0700 rcu: Consolidate tree setup for synchronize_rcu_expedited() This commit replaces sync_rcu_preempt_exp_init1(() and sync_rcu_preempt_exp_init2() with sync_exp_reset_tree_hotplug() and sync_exp_reset_tree(), which will also be used by synchronize_sched_expedited(), and sync_rcu_exp_select_nodes(), which contains code specific to synchronize_rcu_expedited(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 7922cd0e562cb2b8da2c8a0afda2e1c9bb4a94e2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 31 13:34:32 2015 -0700 rcu: Move rcu_report_exp_rnp() to allow consolidation This is a nearly pure code-movement commit, moving rcu_report_exp_rnp(), sync_rcu_preempt_exp_done(), and rcu_preempted_readers_exp() so that later commits can make synchronize_sched_expedited() use them. The non-code-movement portion of this commit tags rcu_report_exp_rnp() as __maybe_unused to avoid build errors when CONFIG_PREEMPT=n. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f4ecea309d3e17ba5e90082308125ad23bd5701b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 17:28:11 2015 -0700 rcu: Use rsp->expedited_wq instead of sync_rcu_preempt_exp_wq Now that there is an ->expedited_wq waitqueue in each rcu_state structure, there is no need for the sync_rcu_preempt_exp_wq global variable. This commit therefore substitutes ->expedited_wq for sync_rcu_preempt_exp_wq. It also initializes ->expedited_wq only once at boot instead of at the start of each expedited grace period. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f97ef759999485df485fe19a440d6af02d561140 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 10 16:22:03 2015 +0530 drivers/misc/sgi-gru: fix possible NULL dereference If mmu_find_ops() returns NULL then we are allocating memory for gms using kzalloc. But kzalloc can return NULL and we were dereferencing gms in gru_dbg(). Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6894fdaeaa2a653c3232b11926df8c7e8b5bd83c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Mon Aug 31 00:09:12 2015 +0200 misc: ad525x_dpot: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the module aliases and also "ad_dpot" isn't a supported I2C id, so it's never used. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b7ebe01294a956109571ef66bd2942e3b9c2410 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sat Aug 8 16:35:02 2015 -0400 drivers/char: make efirtc.c driver explicitly non-modular The Kconfig for this driver is currently: config EFI_RTC bool "EFI Real Time Clock Services" ...meaning that it currently is not being built as a module by anyone. Lets remove all modular references, 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_LICENSE for documentation purposes. Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67dd339c725496000627a777a4ed8580bb4db86f Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sat Aug 8 16:35:05 2015 -0400 drivers/misc: make kgdbts.c slightly more explicitly non-modular The Kconfig currently controlling compilation of this code is: lib/Kconfig.kgdb:config KGDB_TESTS lib/Kconfig.kgdb: bool "KGDB: internal test suite" ...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 also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. We can't remove the module.h include since we've kept the use of module_param in this file for now. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: kgdb-bugreport@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Acked-by: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2544007b0534ff21781c599115922b9a9db289b5 Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sat Aug 8 16:35:03 2015 -0400 drivers/char: make SGI snsc.c driver explicitly non-modular The Kconfig for this driver is currently: config SGI_SNSC bool "SGI Altix system controller communication support" ...meaning that it currently is not being built as a module by anyone. Lets remove all modular references, 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. Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8cedfec8f68e199ce9d00cee7868a5c65640bbc Author: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Date: Sat Aug 8 16:35:04 2015 -0400 drivers/char: make hpet.c explicitly non-modular The Kconfig currently controlling compilation of this code is: char/Kconfig:config HPET char/Kconfig: bool "HPET - High Precision Event Timer" if (X86 || IA64) ...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 don't replace module.h with init.h since the file already has that. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code. We leave some tags like MODULE_AUTHOR for documentation purposes. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff6f46483f0e14b829cd5a71bafcbb1c136a84b6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Sep 10 15:06:20 2015 -0700 spmi: Auto-populate driver.owner in spmi_driver_register() Populate the owner field of the spmi driver when spmi_driver_register() is called in a similar fashion to how other *_driver_register() functions do it. This saves driver writers from having to do this themselves. Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Cc: Gilad Avidov <gavidov@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf094ebe4d8b9efbc83c8f13b1b8453a573cbb66 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Fri Sep 18 00:11:52 2015 +0300 mei: me: fix d0i3 register offset in tracing Fix copy-paste error in D0i3 register access tracing Fixes: 13b14c3f ("mei: me: d0i3: add d0i3 enter/exit state machine") 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 ae48d74dfcb55d508404135ce2807d59e93bd46f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:06 2015 +0300 mei: bus: use mei_cl_bus_ prefix consistently Use mei_cl_bus_ for internal bus function consistently. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d49dc5e76fc917e5dfef76cb56fe3b3868deed5d Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:05 2015 +0300 mei: bus: use mei_cldev_ prefix for the API functions Use mei_cldev_ prefix for all mei client bus api functions in order to resolve prefix conflict with functions that handle client function and are defined in client.c Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 893913822e829f7a37824f6041ff964076374191 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:04 2015 +0300 mei: bus: complete variable rename of type struct mei_cl_device In the commit 5c079ae11921 ("mei: bus: fix drivers and devices names confusion") we set the variables of type struct mei_cl_device to 'cldev' but few places were left out, namely mei_cl_bus.h header and the mei nfc drivers. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01a14edeaf0456c28e2b9af3afdc0807ec6c20bd Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:03 2015 +0300 mei: bus: export mei_cldev_enabled function Let me client device driver query of the device is connected and hence enabled. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit baeacd0376975bee0fdf6378e1c24587ab0b6ad4 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:02 2015 +0300 mei: bus: export uuid and protocol version to mei_cl bus drivers Export the uuid and the protocol version of the underlying me client for me client bus drivers usage. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b26864cad1c9f66f4966726ba7bc81d2b9b8f990 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:01 2015 +0300 mei: bus: add client protocol version to the device alias The device alias now looks like mei:S:uuid:N:* In that way we can bind different drivers to clients with different protocol versions if required. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40b7320ee413d0d1cc89c32c2a757fda56d27708 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Sep 10 10:18:00 2015 +0300 mei: bus: export client protocol version export me client protocol version to sysfs and uevent Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59796edcf21c7c19d58a223001f9ed13746c51c2 Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Thu Sep 10 10:17:59 2015 +0300 mei: make modules.alias UUID information easier to read scripts/mod/file2alias.c:add_uuid() convert UUID into a single string which does not conform to the standard little endian UUID formatting. This patch changes add_uuid() to output same format as %pUL and modifies the mei driver to match the change. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c56026bfbe3a4e11f35c612ff400345c8acb5f9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 3 20:20:51 2015 +0530 drivers/misc/sgi-gru: remove unused variable dw was only assigned some value and was never reused. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bba57f8f948239340e939cb25c7d858cd60ad9de Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 09:56:20 2015 +0530 drivers/misc/sgi-gru: fix dereference of ERR_PTR gru_alloc_gts() can fail and it can return ERR_PTR(errvalue). We should not dereference it if it has returned error. And incase it has returned error then wait for some time and try again. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2ed545cee2412a47a5931340ba408b8abcee22c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 3 20:20:49 2015 +0530 drivers/misc/sgi-gru: remove always false condition The member gid in struct gru_dump_chiplet_state_req is unsigned int. So it can never be less than 0. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1126bc2eb4a27029918f157f0b0371d87d658259 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 3 20:20:48 2015 +0530 drivers/misc/sgi-gru: make functions static The functions gru_get_cb_exception_detail_str() and gru_abort() were only called locally from that file. We can make them static. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a010d2761705d38e8720d7ab56ba1f7a9e1246d9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 3 20:20:47 2015 +0530 drivers/misc/sgi-gru: add return on error If the buffer is too small then return the error and in the process remove the variables which became unused. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf84b1406c206374133e85e15bab266e10e1a837 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:21 2015 +0200 misc/vmw_vmci: 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 069b3162590896352d3f3d55868667495a8ba9fb Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Sun Sep 20 13:14:13 2015 -0400 staging: rtl8192u: r8192U_core: add line breaks to keep lines under 80 characters Add line breaks in multiple lines to keep them under 80 characters, as to follow the kernel code style. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98a52483161d5a117e137b43874fd9182492f0e8 Author: Punit Vara <punitvara@xxxxxxxxx> Date: Sun Sep 20 16:55:29 2015 +0530 Staging: rtl8712: Coding style warning fix for block comment This is a patch to mlme_linux.c that fixes up following warning reported by checkpatch.pl : -Block comments use a trailing */ on a separate line Signed-off-by: Punit Vara <punitvara@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd4b6a832e4bef352a6038c07415c4eb4d1d6ee1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:25 2015 +0900 staging: wilc1000: rename WILC_WFI_InitHostInt This patch replaces WILC_WFI_InitHostInt with wilc_init_host_int to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9a1682344107cfefa35cf6c14c1019c67288f88 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:24 2015 +0900 staging: wilc1000: rename WILC_WFI_DeInitHostInt This patch replaces WILC_WFI_DeInitHostInt with wilc_deinit_host_int to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a8ccd85854c24963306c23382afb8a7fd3c046b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:23 2015 +0900 staging: wilc1000: replace s32 with int This patch changes date type of s32Error as int. The return type of WILC_WFI_InitHostInt and WILC_WFI_DeInitHostInt is int so that data type of this variable is changed by int. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1fe9c435d048cba8dcb4f0515f016722e246f73 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:22 2015 +0900 staging: wilc1000: remove braces for single statement blocks This patch removes braces for single if statement blocks 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 244d31b572c6935f30d2e0b52c6316cd5528ba41 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:21 2015 +0900 staging: wilc1000: remove useless #if 1 This patch removes #if 1, which is encapsulated some codes. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 967c606a90fc6f0fc6f1368a481fa906ab0aa54f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:20 2015 +0900 staging: wilc1000: wilc_msgqueue.c: replace s32RetStatus with result This patch replaces s32RetStatus with result to avoid CamelCase in wilc_msgqueue.c Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3ca63728ad87e65386ec53a904a623f85afe443 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:19 2015 +0900 staging: wilc1000: remove useless comment This patch removes useless comment that is containing "BugXXXX" Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1058cc32d13b9958f23b6a82271413ad0f11b680 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:12 2015 +0900 staging: wilc1000: remove blank line before a close brace '{' This patch removes blank line before a close brace '{' found by checkpatch.pl CHECK: Blank lines aren't necessary before a close brace '}' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 855a771d59a41b37eb6848aeab5ae3c27302ae6e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:11 2015 +0900 staging: wilc1000: remove blank line after an open brace '{' This patch removes blank line after an open brace '{' found by checkpatch.pl. CHECK: Blank lines aren't necessary after an open brace '{' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 619837aea8fef3e3a08e4158f79b51118e552fec Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:10 2015 +0900 staging: wilc1000: fix NULL comparison style This patch fixes NULL comparison style found by checkpatch.pl. CHECK: Comparison to NULL could be written "!net" CHECK: Comparison to NULL could be written "!net->ieee80211_ptr" CHECK: Comparison to NULL could be written "!net->ieee80211_ptr->wiphy" Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8459fd54aa3ac145ba16a2b9cbc76ab5b99b4d32 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:09 2015 +0900 staging: wilc1000: rename WILC_WFI_WiphyRegister This patch replaces WILC_WFI_WiphyRegister with wilc_create_wiphy to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96da20a9a31a2acec0f9bd1c6681dce6c2c40096 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Sun Sep 20 15:51:08 2015 +0900 staging: wilc1000: rename WILC_WFI_WiphyFree This patch replaces WILC_WFI_WiphyFree with wilc_free_wiphy to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e19202501a0362c6f2f73c6625d8fea42d5a2be Author: Erik Arfvidson <erik.arfvidson@xxxxxxxxxx> Date: Tue Aug 25 17:52:35 2015 -0400 staging: unisys: add visorhid driver This driver provides mouse and keyboard input to Unisys s-Par Partition Desktop application. This device is created by the visorbus device. Signed-off-by: Erik Arfvidson <erik.arfvidson@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Tim Sell <timothy.sell@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59995f55973e23d957f1dad13446554f6aef73d0 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Sep 18 21:47:39 2015 +0800 arm64: dts: add dts file for Marvell Berlin4CT STB board This patch adds dts for the Berlin4CT STB reference board which is also based on the Berlin4CT SoC. The Berlin4CT DMP board will be deprecated as time goes. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 8884d8c7cc2fd8b8cd188204f340d16b3972deb0 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Sep 18 21:47:38 2015 +0800 arm64: dts: berlin4ct: add GPIO nodes Marvell berlin4ct SoC has 6 GPIO ports powered by snps,dw-apb-gpio. This patch adds the corresponding device tree nodes. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit c582fbfba581d1331a52a85f0d712b0b7ec961c3 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Fri Sep 18 21:47:37 2015 +0800 arm64: berlin: enable ARCH_REQUIRE_GPIOLIB All berlin SoCs have GPIOs driven by the dwapb GPIO driver. Add GPIOLIB as a dependency to be able to support them. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 5cfc5220a63b1008e7198fb4f91c3ef763e46657 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 18 10:14:41 2015 +0300 ARM: pxa: Remove unused clock_enable field from struct pxa2xx_spi_master Use for struct pxa2xx_spi_master clock_enable field was removed years ago from the pxa2xx-spi driver by the commit 2f1a74e5a2de ("[ARM] pxa: make pxa2xx_spi driver use ssp_request()/ssp_free()"). Therefore remove it from structure definition, documentation and from couple affected board files. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> commit e4877d64f00964d86a6e4a023011cccc73899018 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 20:23:34 2015 +0200 x86/fpu/math-emu: Add support for FISTTP instructions These FPU instructions were added in SSE3-enabled CPUs. Run-tested by booting with "no387 nofxsr" and running test program: [RUN] Testing fisttp instructions [OK] fisttp Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442600614-28428-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a58e2ecd019d9ffb9f1813faf6151716fdecbae5 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Sun Sep 20 16:03:10 2015 +0200 x86/fpu/math-emu, selftests: Add test for FISTTP instructions $ ./test_FISTTP_32 [RUN] Testing fisttp instructions [OK] fisttp Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442757790-27233-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c56e1a2be1cec29fb1de9358b0b2b20582cdca30 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Sep 14 14:42:13 2015 +0800 arm: dts: berlin: use stdout-path Use stdout-path to specify the console and remove the console argument from the kernel command line. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 487eacb9fc184eb6e54b299df3faf3ee57ace5df Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Mon Sep 14 14:42:12 2015 +0800 arm: dts: berlin: add aliases for serial This is to prepare for the using stdout-path in next commit. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> commit 3dc33bd30f3e1c1bcaaafa3482737694debf0f0b Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Wed Aug 12 17:55:19 2015 -0700 x86/entry/vsyscall: Add CONFIG to control default Most modern systems can run with vsyscall=none. In an effort to provide a way for build-time defaults to lack legacy settings, this adds a new CONFIG to select the type of vsyscall mapping to use, similar to the existing "vsyscall" command line parameter. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-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: 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/20150813005519.GA11696@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a9d8642d03a7512f78cbe7ed6a2011fad3cbca3 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 16:53:30 2015 +0200 x86/fpu/math-emu: Add support for FCMOVcc insns Run-tested by booting with "no387 nofxsr" and running test program: [RUN] Testing fcmovCC instructions [OK] fcmovCC Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442588010-20055-3-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b8e4a910e576961009a87d07f6b7eff67c5c2e34 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 16:53:29 2015 +0200 x86/fpu/math-emu: Add support for F[U]COMI[P] insns Run-tested by booting with "no387 nofxsr" and running test program: [RUN] Testing f[u]comi[p] instructions [OK] f[u]comi[p] Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442588010-20055-2-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4aef363e48177d451b4d263c69dd2c86437e988b Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Fri Sep 18 16:53:28 2015 +0200 x86/fpu/math-emu: Remove define layer for undocumented opcodes No code changes. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442588010-20055-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 57ca6897cd134efd8914cc230f602abad431c7db Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Sep 17 15:02:13 2015 +0200 x86/fpu/math-emu, selftests: Add tests for FCMOV and FCOMI insns Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> 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/1442494933-13798-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5c18a06af753eab1162fcdfb1cf03581e70b3f4 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sat Sep 12 11:08:34 2015 -0700 Input: ad714x - convert to using managed resources Use managed resource functions devm_request_threaded_irq, devm_inpute_allocate_device and devm_kzalloc to simplify error handling. Also, remove use of input_unregister_device as input_register_device itself handles it and works as resource managed function. To be compatible with the change, various gotos are replaced with direct returns, and unneeded labels are dropped. With these changes remove ad714x_remove and corresponding calls of it as they are now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6b7bc0618ff1a333d2265131b124e966335d5dee Author: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 22 13:02:04 2015 +0000 spi: add transfer histogram statistics via sysfs report transfer sizes as a histogram via the following files: /sys/class/spi_master/spi*/statistics/transfer_bytes_histo_* /sys/class/spi_master/spi*/spi*.*/statistics/transfer_bytes_histo_* Signed-off-by: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cde79035c6cf578dd33dfea3e39666efc27cbcf2 Author: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> Date: Mon Aug 24 14:16:51 2015 +0200 ASoC: Handle multiple codecs with split playback / capture Add the capability to use multiple codecs on the same DAI linke where one codec is used for playback and another one is used for capture. Tested on a setup using an SSM2518 for playback and an ICS43432 I2S MEMS microphone for capture. No verification is made that the playback and capture codec setups are compatible in terms of number of TDM slots (where applicable). Signed-off-by: Ricard Wanderlof <ricardw@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9529138276c852297967b5d3cc2f6dda3ddb9526 Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri Sep 18 14:06:38 2015 +0300 ASoC: hdmi: Remove obsolete dummy HDMI codec The hdmi stub codec has not been used since refactoring of OMAP HDMI audio support. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5b97c0f18a1781f50db96baa020f913886d1972a Author: Jeeja KP <jeeja.kp@xxxxxxxxx> Date: Mon Aug 17 22:56:44 2015 +0530 ASoC: Intel: Skylake: Remove unused CPU dais We need to create CPU DAI for each endpoint instance. For this we should have one DMIC DAI, one HDA DAI and SSP DAI. Thus, DMIC23, HDA-SPK/AMIC was not required so this patch removes them 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 9d70594760a94523c550d2cc0f47b3c0af63c8e9 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 18 15:25:32 2015 +0800 ASoC: rockchip: Fix missing CLKDEV_LOOKUP dependency Make SND_SOC_ROCKCHIP_MAX98090 and SND_SOC_ROCKCHIP_RT5645 depend on CLKDEV_LOOKUP to fix below build warning: warning: (SND_SOC_ROCKCHIP_MAX98090 && SND_SOC_ROCKCHIP_RT5645) selects SND_SOC_ROCKCHIP_I2S which has unmet direct dependencies (SOUND && !M68K && !UML && SND && SND_SOC && CLKDEV_LOOKUP && SND_SOC_ROCKCHIP) Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e3a4d958d78e4f1709f3d4611849617ac9222a0c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Fri Sep 18 00:52:44 2015 +0000 ASoC: ak4613: add Digital Playback Volume support For L/ROUT1 to L/ROUT6 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9ae3109d1d9ff367e0d0efa7073cc078edb9a372 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 19 07:31:47 2015 -0700 regmap: debugfs: Remove scratch buffer for register length calculation Now we no longer use the scratch buffer for register length calculation there is no need for callers to supply one. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3a8c41b50aa2782f3ba926944a2374b957705f33 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Fri Sep 18 18:11:04 2015 +0900 staging: wilc1000: remove typedef from the struct The Linux kernel coding style does not recommend to use typedef for the structure. This patch removes typedef from the host_if_msg structure. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67dd5eb952032b07cf2cc6e04047c990714cb270 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Fri Sep 18 18:11:03 2015 +0900 staging: wilc1000: rename tstrHostIFmsg This patch changes the name, tstrHostIFmsg to host_if_msg not to use camelcase notation in the Linux. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63107ce85edc9296b518fa29f6fe80cc29cb9c68 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 18 15:46:23 2015 +0100 staging: comedi: comedi_fops.c: remove bogus kernel-doc for runflags The comment before the `COMEDI_SRF_...` macros starts with a kernel-doc mark but isn't valid kernel-doc. There isn't a kernel-doc template for a group of macro constants. These macros are all private anyway, so don't really need to be in kernel-doc. Just change it to a normal comment. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbdc251d1153087f98b4e84f7d7d54357752b9d7 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 22:14:35 2015 +0530 staging: slicoss: use status in isr If we are not able to setup the LINK UP command then don't increment the interrupt count. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b8645d64375a82971cebb312a6f665dc586686f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 22:14:34 2015 +0530 staging: slicoss: use status in slic_ioctl In the ioctl function if we are not able to UP the link after setting the new parameters then return an error code to the userspace. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de4772aef38a4cba6e163913e92b2c874274b863 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 22:14:33 2015 +0530 staging: slicoss: use status in slic_if_init While initializing the interface if we are not able to setup the command to UP the link then we release everything and return the error code. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78affe6522738ccda21c3f4e83bcaf08aab18d6e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 17 22:14:32 2015 +0530 staging: slicoss: return status of slic_link_event_handler slic_link_event_handler() issues command READ_LINK_STATUS to be executed asynchronously, which is followed by UP configuration write command. But it can fail while setting up the command and in that case the link will not be up. Lets check the status and return it. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a0796eb16f387b01e0da968883ebce7faf17972 Author: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Date: Fri Sep 18 08:13:00 2015 +0200 staging: rtl8188eu: Introduce monitor interface for IEEE 802.11 frames This adds support for monitoring IEEE 802.11 Data and Management frames received or transmitted by a RTL8188EU-based device handled by this driver. The monitor interface is not enabled by default and will be registered only if monitor_enable module parameter is set to 1. When enabled it will show up as a monX network device, which can be used by the userspace programs for monitoring network traffic. It is intended as an exploratory/debugging tool for rtl8188eu driver. Signed-off-by: Jakub Sitnicki <jsitnicki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d59177cb70bbfff07408de0ceed8dcdd91208b5e Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 17 17:47:25 2015 +0900 staging: wilc1000: remove do-nothing ifdef statement This patch removes do-nothing ifdef, else statement and add ifdef WILC_SDIO for disable_sdio_interrupt(). Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a87d792b3594454c97c2c9e9693e7dd3bfcbb012 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 17 17:47:24 2015 +0900 staging: wilc1000: remove define RX_BH_TYPE This patch removes the preprocessor definition, RX_BH_TYPE and uses the request_threaded_irq instead of kernel thread to execute the interrupt handler. As a result, linux_wlan_enable_irq() and linux_wlan_disable_irq() are also removed from the linux_wlan.c file. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5366012de97bc1f6b53c79bd5f664b7a0ced769b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:49 2015 +0900 staging: wilc1000: remove declaration of wilc_get_chipid This patch removes the declaration of wilc_get_chipid function. It is included wilc_wlan_if.h that has declaration of wilc_get_chipid. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5af6b85b9e65b81c1954cbfa18ad41d65f911c93 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:48 2015 +0900 staging: wilc1000: remove useless comment This patch removes useless comment that is included "BugID_xxxx" Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62f463a892420f7e275a6e67af1c465b431a3ac1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:47 2015 +0900 staging: wilc1000: remove WILC_TIME typedef This patch removes WILC_TIME typedef that is not used anymore. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0097ac7b1d5e17c08fd555a3e97eae808a3d0be2 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:46 2015 +0900 staging: wilc1000: remove unused defines This patch removes unused defines. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0e5facedb4a1c7892a6f6f7a749eaf9b23fbbe1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:45 2015 +0900 staging: wilc1000: linux_wlan_spi.c: fix kzalloc error check This patch fixes error check of kzalloc. If kzalloc is failed, return type is used as -ENOMEM. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fed16f2c912fbd1e8e866738e2a8fcd5d9c36c81 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:43 2015 +0900 staging: wilc1000: replace __inline with inline This patch replaces __inline with inline. plain inline is more preferred than __inline. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18f05b529592e65470ff50a887b9387d7d71e724 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Thu Sep 17 16:48:42 2015 +0900 staging: wilc1000: remove INLINE macro This patch removes INLINE macro that is used anymore. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f60eade2433cb3a38687d5f8a4f44b92c6c51bf Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: generalize obtaining the handles of and notifying cgroup files cgroup core handles creations and removals of cgroup interface files as described by cftypes. There are cases where the handle for a given file instance is necessary, for example, to generate a file modified event. Currently, this is handled by explicitly matching the callback method pointer and storing the file handle manually in cgroup_add_file(). While this simple approach works for cgroup core files, it can't for controller interface files. This patch generalizes cgroup interface file handle handling. struct cgroup_file is defined and each cftype can optionally tell cgroup core to store the file handle by setting ->file_offset. A file handle remains accessible as long as the containing css is accessible. Both "cgroup.procs" and "cgroup.events" are converted to use the new generic mechanism instead of hooking directly into cgroup_add_file(). Also, cgroup_file_notify() which takes a struct cgroup_file and generates a file modified event on it is added and replaces explicit kernfs_notify() invocations. This generalizes cgroup file handle handling and allows controllers to generate file modified notifications. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 4df8dc903161c03cd9bff9077d8427fefe808e6d Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: restructure file creation / removal handling The file creation / removal path has always been a bit icky and the planned notification update requires css during file creation. Restructure as follows. * cgroup_addrm_files() now takes both @css and @cgrp and is only called directly by other file handling functions. * cgroup_populate/clear_dir() are replaced with css_populate/clear_dir() taking @css and @cgrp_override. @cgrp_override is used only when files needs to be created on / removed from a cgroup which isn't attached to @css which happens during subsystem rebinds. Subsystem loops are moved to the callers. * cgroup_add_file() now takes both @css and @cgrp. @css isn't used yet but will be used by the planned notification update. This patch doens't cause any behavior changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 1ada48387a31b437074aa8973ce81de6e8c60bde Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: cosmetic updates to rebind_subsystems() * Use local variables @scgrp and @dcgrp for @src_root->cgrp and @dst_root->cgrp respectively. * Use initializers to set @src_root and @css in the inner bind loop. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 6732ed853af942ba20ddbd091336acc7df569119 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: make cgroup_addrm_files() clean up after itself on failures After a file creation failure, cgroup_addrm_files() it didn't remove the files which had already been created. When cgroup_populate_dir() is the caller, this is fine as the caller performs cleanup; however, for other callers, this may leave unactivated dangling files behind. As kernfs directory removals are recursive, this doesn't lead to permanent memory leak but it can, for example, fail future attempts to create those files again. There's no point in keeping around this sort of subtlety and it gets in the way of planned updates to file handling. This patch makes cgroup_addrm_files() clean up after itself on failures. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit ccdca2187b03decd186df13e44c57fbf1974d0a0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: relocate cgroup_populate_dir() Move it upwards so that it's right below cgroup_clear_dir() and the forward declaration is unnecessary. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 7dbdb199d3bf88f043ea17e97113eb28d5b100bc Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:23 2015 -0400 cgroup: replace cftype->mode with CFTYPE_WORLD_WRITABLE cftype->mode allows controllers to give arbitrary permissions to interface knobs. Except for "cgroup.event_control", the existing uses are spurious. * Some explicitly specify S_IRUGO | S_IWUSR even though that's the default. * "cpuset.memory_pressure" specifies S_IRUGO while also setting a write callback which returns -EACCES. All it needs to do is simply not setting a write callback. "cgroup.event_control" uses cftype->mode to make the file world-writable. It's a misdesigned interface and we don't want controllers to be tweaking interface file permissions in general. This patch removes cftype->mode and all its spurious uses and implements CFTYPE_WORLD_WRITABLE for "cgroup.event_control" which is marked as compatibility-only. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 4a07c222d3afb00e1113834fee38d23a8e5d71dc Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 17:54:22 2015 -0400 cgroup: replace "cgroup.populated" with "cgroup.events" memcg already uses "memory.events" for event reporting and other controllers may need event reporting too. Let's standardize on "$SUBSYS.events" interface file for reporting events which don't happen too frequently and thus can share event notification. "cgroup.populated" is replaced with "populated" field in "cgroup.events" and documentation is updated accordingly. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit c616ac28a5b392a03eaa1bbab2bdb1d8931cfdb8 Author: Jakub Wilk <jwilk@xxxxxxxxx> Date: Wed Aug 12 16:15:35 2015 +0200 HSI: Fix a typo Signed-off-by: Jakub Wilk <jwilk@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9222097f0d2f88db602c0340d19d90a1c72b5fec Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Thu Sep 10 18:40:31 2015 +0800 PCI: Remove unnecessary "if" statement In store_remove_id(), set the default return value to -ENODEV, and overwrite it with the input buffer size if we find a matching list entry. Then we don't need to test whether to return an error or the count. No functional change. [bhelgaas: changelog] Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 7d6ddad659f7220438b863977b0c4032e3d77dda Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 18 19:25:17 2015 +0200 clk: sunxi: Add A33 gates support The A33 gates are different from the A23 ones, add a new hook to simple gates to handle this clock Reported-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 0a031ac5c00d091ce1f7007f22d5881620bf0a7e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:08 2015 -0500 netfilter: Use nf_ct_net instead of dev_net(out) in nf_nat_masquerade_ipv6 Use nf_ct_net(ct) instead of guessing that the netdevice out can reliably report the network namespace the conntrack operation is happening in. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c7af6483b9f7f3eaba01b2e62d3d8a70cd89bdaf Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:07 2015 -0500 netfilter: Pass net into nf_xfrm_me_harder Instead of calling dev_net on a likley looking network device pass state->net into nf_xfrm_me_harder. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 06198b34a3e09e06d9aecaa3727e0d37206cea77 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:06 2015 -0500 netfilter: Pass priv instead of nf_hook_ops to netfilter hooks Only pass the void *priv parameter out of the nf_hook_ops. That is all any of the functions are interested now, and by limiting what is passed it becomes simpler to change implementation details. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 176971b33859135d8dbda9b79e16cb1cf615eb92 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:05 2015 -0500 ipvs: Read hooknum from state rather than ops->hooknum This should be more cache efficient as state is more likely to be in core, and the netfilter core will stop passing in ops soon. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a31f1adc0948930fba9ab5a111ccd735a5d864c6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:04 2015 -0500 netfilter: nf_conntrack: Add a struct net parameter to l4_pkt_to_tuple As gre does not have the srckey in the packet gre_pkt_to_tuple needs to perform a lookup in it's per network namespace tables. Pass in the proper network namespace to all pkt_to_tuple implementations to ensure gre (and any similar protocols) can get this right. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a4ffe319ae72034e3f3332698a2fd83b6f063b18 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:03 2015 -0500 act_connmark: Remember the struct net instead of guessing it. Stop guessing the struct net instead of remember it. Guessing is just silly and will be problematic in the future when I implement routes between network namespaces. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 206e8c00752fbe9cc463184236ac64b2a532cda5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:02 2015 -0500 netfilter: Pass net to nf_dup_ipv4 and nf_dup_ipv6 This allows them to stop guessing the network namespace with pick_net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 88182a0e0c665cbd2f01af743c7f88e494924246 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:01 2015 -0500 netfilter: nf_tables: Use pkt->net instead of computing net from the passed net_devices Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 46448d0093ba18a212e314fd9ea029e740baa476 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:33:00 2015 -0500 netfilter: nf_tables: Pass struct net in nft_pktinfo nft_pktinfo is passed on the stack so this does not bloat any in core data structures. By centrally computing this information this makes maintence of the code simpler, and understading of the code easier. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 686c9b50809dc80cba7c2e9f809471ab40bae735 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:59 2015 -0500 netfilter: x_tables: Use par->net instead of computing from the passed net devices Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 156c196f6038610770588a708b9e0f7df2ead74a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:58 2015 -0500 netfilter: x_tables: Pass struct net in xt_action_param As xt_action_param lives on the stack this does not bloat any persistent data structures. This is a first step in making netfilter code that needs to know which network namespace it is executing in simpler. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6aa187f21ca2d8ade791f01fd8fab908b1f27673 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:57 2015 -0500 netfilter: nf_tables: kill nft_pktinfo.ops - Add nft_pktinfo.pf to replace ops->pf - Add nft_pktinfo.hook to replace ops->hooknum This simplifies the code, makes it more readable, and likely reduces cache line misses. Maintainability is enhanced as the details of nft_hook_ops are of no concern to the recpients of nft_pktinfo. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 082a758f042e1c1eb241bfc2308ddc2b4ef6840d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:56 2015 -0500 inet netfilter: Prefer state->hook to ops->hooknum The values of nf_hook_state.hook and nf_hook_ops.hooknum must be the same by definition. We are more likely to access the fields in nf_hook_state over the fields in nf_hook_ops so with a little luck this results in fewer cache line misses, and slightly more consistent code. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6cb8ff3f1a535b1d8eb5ea318932513d08eb3da7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:55 2015 -0500 inet netfilter: Remove hook from ip6t_do_table, arp_do_table, ipt_do_table The values of ops->hooknum and state->hook are guaraneted to be equal making the hook argument to ip6t_do_table, arp_do_table, and ipt_do_table is unnecessary. Remove the unnecessary hook argument. In the callers use state->hook instead of ops->hooknum for clarity and to reduce the number of cachelines the callers touch. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 97b59c3a91d5ee4777658ff2136d1fdf13bd23d0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Sep 18 14:32:54 2015 -0500 netfilter: ebtables: Simplify the arguments to ebt_do_table Nearly everything thing of interest to ebt_do_table is already present in nf_hook_state. Simplify ebt_do_table by just passing in the skb, nf_hook_state, and the table. This make the code easier to read and maintenance easier. To support this create an nf_hook_state on the stack in ebt_broute (the only caller without a nf_hook_state already available). This new nf_hook_state adds no new computations to ebt_broute, but does use a few more bytes of stack. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 36aea585a1103b8c2a1de04637b8a4326b92c254 Merge: 47bbbb3 4e47809 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Sep 18 21:03:32 2015 +0200 Merge tag 'ipvs-for-v4.4' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-next Simon Horman says: ==================== IPVS Updates for v4.4 please consider these IPVS Updates for v4.4. The updates include the following from Alex Gartrell: * Scheduling of ICMP * Sysctl to ignore tunneled packets; and hence some packet-looping scenarios ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 98a97e6fe9eb20e877a82d0149ce6d8f832c8975 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 18 13:58:35 2015 -0500 PCI: designware: Make get_msi_addr() return phys_addr_t, not u32 Make get_msi_addr() return phys_addr_t, not u32. This allows the MSI target address to be above 4GB for 64bit or PAE systems. No functional change for the current 32bit platform users as phys_addr_t maps to u32 for them. [bhelgaas: changelog] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 79707374090411c5fa9dbcde862e59306bf8f765 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 18 13:58:35 2015 -0500 PCI: designware: Implement multivector MSI IRQ setup Implement multivector MSI IRQ setup. This allows to set up and use multiple MSI IRQs per device. [bhelgaas: changelog, use -EINVAL instead of -ENOSYS] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit ea643e1a33576216de589cf525dbb40267fde5a9 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 18 13:58:35 2015 -0500 PCI: designware: Factor out MSI msg setup Factor out the PCI MSI message setup from the single MSI setup function. This will be reused by the multivector MSI setup. No functional change yet. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit 339e5b44eda2150baad183def6b7030fad5ec44e Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 18 13:58:34 2015 -0500 PCI: Add msi_controller setup_irqs() method for special multivector setup Add a msi_controller setup_irqs() method so MSI chip providers can implement their own multivector MSI setup. [bhelgaas: changelog] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxxxxx> commit ed8b472df44af6dc4cb18e828dc9bb2d57f14b9e Author: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Date: Wed Aug 26 11:17:34 2015 +0800 PCI: designware: Fix PORT_LOGIC_LINK_WIDTH_MASK The value under PORT_LOGIC_LINK_WIDTH_MASK is 0x1, 0x2, 0x4, 0x8. In IP v4.2, bits [16:8] are defined for NUM_OF_LANES. But in IP v4.4, bits[12:8] are defined for NUM_OF_LANES, bits [16:13] are for other usages (bit 16 is AUTO_LANE_FLIP_CTRL_EN, bits [15:13] are PRE_DET_LANE). As there is no conflict about NUM_OF_LANES between v4.2 and v4.4, change the mask value to avoid future problems. Signed-off-by: Zhou Wang <wangzhou1@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> commit ad29fff889765b13cf6ca61462d5377934fcfcda Author: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> Date: Mon Sep 14 09:05:42 2015 -0700 README: Add ARC architecture ARC support was added back in 2013 but I missed updating here Reported-by: Francois Bedard <fbedard@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 96d8d5ffae5047a3525e0ffc86c904b260176047 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Sep 17 00:54:58 2015 +0900 Doc:misc-devices: Fix typo in Documentation/misc-devices This patch fix spelling typos in Documentation/misc-devices. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit ac78a15de46489343790585d28395a7921697349 Author: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Date: Fri Sep 18 11:10:15 2015 +0200 can: Add documentation for CAN FD driver configuration With Linux 3.15 the infrastructure for CAN FD hardware drivers had been introduced into the kernel. Now the M_CAN driver and the peak_usb driver support CAN FD. Update the documentation to show the latest CAN related configuration options of 'ip' from iproute2 and describe the CAN FD specific options to set the data bitrate and protocol version (ISO/non-ISO). Signed-off-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9e10a130d9b62af976d17d120c95f3650769312c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 11:56:28 2015 -0400 cgroup: replace cgroup_on_dfl() tests in controllers with cgroup_subsys_on_dfl() cgroup_on_dfl() tests whether the cgroup's root is the default hierarchy; however, an individual controller is only interested in whether the controller is attached to the default hierarchy and never tests a cgroup which doesn't belong to the hierarchy that the controller is attached to. This patch replaces cgroup_on_dfl() tests in controllers with faster static_key based cgroup_subsys_on_dfl(). This leaves cgroup core as the only user of cgroup_on_dfl() and the function is moved from the header file to cgroup.c. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> commit fc5ed1e95410ad73b2ab8f33cd90eb3bcf6c98a1 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 11:56:28 2015 -0400 cgroup: replace cgroup_subsys->disabled tests with cgroup_subsys_enabled() Replace cgroup_subsys->disabled tests in controllers with cgroup_subsys_enabled(). cgroup_subsys_enabled() requires literal subsys name as its parameter and thus can't be used for cgroup core which iterates through controllers. For cgroup core, introduce and use cgroup_ssid_enabled() which uses slower static_key_enabled() test and can be indexed by subsys ID. This leaves cgroup_subsys->disabled unused. Removed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxxxx> commit 49d1dc4b81797f88270832b11e9f73809e7e7209 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 11:56:28 2015 -0400 cgroup: implement static_key based cgroup_subsys_enabled() and cgroup_subsys_on_dfl() Whether a subsys is enabled and attached to the default hierarchy seldom changes and may be tested in the hot paths. This patch implements static_key based cgroup_subsys_enabled() and cgroup_subsys_on_dfl() tests. The following patches will update the users and remove duplicate mechanisms. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Zefan Li <lizefan@xxxxxxxxxx> commit fa128fd735bd236b6b04d3fedfed7a784137c185 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Fri Sep 18 11:56:28 2015 -0400 jump_label: make static_key_enabled() work on static_key_true/false types too static_key_enabled() can be used on struct static_key but not on its wrapper types static_key_true and static_key_false. The function is useful for debugging and management of static keys. Update it so that it can be used for the wrapper types too. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit d6157e4f18173ad24441aa9ca04e7e9121a9b4c7 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 10 16:41:45 2015 +0200 ARM: at91: remove useless includes in platform_data/atmel.h include/linux/platform_data/atmel.h has a lot of useless includes, remove them. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8dca5ce893e8d6b7e6b03f0df03375fb26b846ec Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 18:24:21 2015 +0200 MAINTAINERS: explicitly add Atmel SAMA5 Atmel SAMA5 SoCs are also supported through mach-at91. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4a43c3b8d8c085d643786c7b69a75f72770fe04b Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Apr 23 10:08:04 2015 +0200 ARM: at91/dt: sama5d4 xplained: enable the led D8 Enable D8 led as now the pioD is available. D8 is the power led and is on by default. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: split the patch in 2] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit a21a6c47f53c575082800cd311a9ab0bd3b52809 Author: Patrice Vilchez <patrice.vilchez@xxxxxxxxx> Date: Mon Jan 12 11:34:45 2015 +0100 ARM: at91/dt: sama5d4ek: Add support of QT1070 and Maxtouch As the EK board comes with a PDA 7" screen, add the touch buttons and touchscreen for it. Signed-off-by: Patrice Vilchez <patrice.vilchez@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: add commit message] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4288ac7b882d2669fe4b795971392aadb7168fa8 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Apr 7 14:28:53 2015 +0200 ARM: at91/dt: sama5d4: enable crypto nodes The crypto modules will provide HW AES/TDES/SHA for any sama5d4 board. Enable them by default. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 679f8d92bb015cfe2af4fddbe22a6689609c4ec6 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Thu Apr 23 10:07:18 2015 +0200 ARM: at91/dt: sama5d4: add pioD pin mux mask and enable pioD Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit cb3651d7be288573591e9e21f3ba7e8258efa4c6 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Jan 28 14:39:34 2015 +0100 ARM: at91/dt: sama5d3: update iio config for touchscreen Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 19146e7e91bd1c1d0838c44808bad151dee0d2e6 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Fri Apr 17 15:27:19 2015 +0200 ARM: at91/dt: sama5d3 xplained: disable pmic As PMIC act8865 can disturb communication on i2c1, and as it should be setup correctly then its i2c interface disabled by bootloader, we simply disregard it in DT. Acked-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7c08d8cda1dd0fb304e8171dce4300fc92907bd9 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Fri Jul 12 18:17:00 2013 +0800 ARM: at91/dt: at91sam9x5: enable iio touchscreen for 9x5ek Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit eed7c4e611a7feaacb70fca1c3180af4edef4562 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Thu Sep 11 09:29:12 2014 +0800 ARM: at91/dt: at91sam9n12ek: disable i2c1 No device connect to i2c1, so remove it to keep it as disabled. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7b6521f112afcbb6555cf119c2eefb21dee5eae8 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Mon Mar 30 18:40:22 2015 +0800 ARM: at91/dt: at91sam9n12ek: fix the led labels name Correct the led labels in at91sam9n12ek. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit b5dada82ad624b69a2229c819d6a30b664a5606f Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Sep 17 14:20:32 2015 +0100 drm/i915/bxt: Fix wrongly placed ')' in I915_READ() Not the first time! not the last time? There is a possibility to use gcc 5's -Wbool-compare to try and compare (reg) in those macros to a constant and gcc will warn that the comparison between a boolean expression and a constant is always either true or false. Maybe. Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 9aa6114253a9d01513796f6b44eda9838dc7bf3b Author: Matt Roper <matthew.d.roper@xxxxxxxxx> Date: Mon Sep 14 19:24:18 2015 -0700 drm/i915: Don't leak VBT mode data We allocate memory for LVDS modes while parsing the VBT at startup, but never free this memory when the driver is unloaded, causing a small leak. Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d637ce3f6dcc0bec950ed4e03e53162500d6b28b Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Thu Sep 17 08:08:32 2015 -0700 drm/i915: cleanup pipe_update trace functions with new crtc debug info v3 Use the new debug info in the intel_crtc struct in these functions rather than passing them as args. v2: move min/max assignment back above first trace call (Ville) use scanline from crtc->debug rather than fetching a new one (Ville) v3: fix up trace_i915_pipe_update_end, needs end scanline (Ville) Requested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d1a9c24ad16ab2b26f1574bc3f2c165a7beff5df Author: Holger Busse <h.busse@xxxxxxxxxxxxxxxxxxx> Date: Wed Aug 26 10:45:45 2015 +0200 ARM: at91/dt: corrections to i2c1 declaration to sama5d4 Correcting the dma declaration for i2c1 dma. Signed-off-by: Holger Busse <h.busse@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Fixes: 4cc7cdf35c5f ("ARM: at91/dt: add i2c1 declaration to sama5d4") Cc: stable@xxxxxxxxxxxxxxx # v4.1+ commit 6818375e974aa8659c3d2b1bf4b660a2a7929077 Author: Szymon Janc <ext.szymon.janc@xxxxxxxxx> Date: Wed Sep 16 20:21:54 2015 +0200 Bluetooth: Fix reporting incorrect EIR in device found mgmt event Some remote devices (ie Gigaset G-Tag) misbehave with ADV data length. This can lead to incorrect EIR format in device found event when ADV_DATA and SCAN_RSP are merged (terminator field before SCAN_RSP part). Fix this by inspecting ADV_DATA and correct its length if terminator is found. > HCI Event: LE Meta Event (0x3e) plen 42 [hci0] 32.172182 LE Advertising Report (0x02) Num reports: 1 Event type: Connectable undirected - ADV_IND (0x00) Address type: Public (0x00) Address: 7C:2F:80:94:97:5A (Gigaset Communications GmbH) Data length: 30 Flags: 0x06 LE General Discoverable Mode BR/EDR Not Supported Company: Gigaset Communications GmbH (384) Data: 021512348094975abbc5 16-bit Service UUIDs (partial): 1 entry Battery Service (0x180f) RSSI: -65 dBm (0xbf) > HCI Event: LE Meta Event (0x3e) plen 27 [hci0] 32.172191 LE Advertising Report (0x02) Num reports: 1 Event type: Scan response - SCAN_RSP (0x04) Address type: Public (0x00) Address: 7C:2F:80:94:97:5A (Gigaset Communications GmbH) Data length: 15 Name (complete): Gigaset G-tag RSSI: -59 dBm (0xc5) Note "Data length: 30" in ADV_DATA which results in 9 extra zero bytes after Battery Service UUID. Terminator field present in the middle of EIR in Device Found event resulted in userspace stop parsing EIR and skipping device name. @ Device Found: 7C:2F:80:94:97:5A (1) rssi -59 flags 0x0000 02 01 06 0d ff 80 01 02 15 12 34 80 94 97 5a bb ..........4...Z. c5 03 02 0f 18 00 00 00 00 00 00 00 00 00 0e 09 ................ 47 69 67 61 73 65 74 20 47 2d 74 61 67 Gigaset G-tag With this fix EIR with merged ADV_DATA and SCAN_RSP in device found event is properly formatted: @ Device Found: 7C:2F:80:94:97:5A (1) rssi -59 flags 0x0000 02 01 06 0d ff 80 01 02 15 12 34 80 94 97 5a bb ..........4...Z. c5 03 02 0f 18 0e 09 47 69 67 61 73 65 74 20 47 .......Gigaset G 2d 74 61 67 -tag Signed-off-by: Szymon Janc <ext.szymon.janc@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e781b7f7fcc141d69f63d4eef70d249549dfaeda Author: Szymon Janc <ext.szymon.janc@xxxxxxxxx> Date: Wed Sep 16 20:21:53 2015 +0200 Bluetooth: Add BT_ERR_RATELIMITED This patch adds ratelimited version of the BT_ERR macro. Signed-off-by: Szymon Janc <ext.szymon.janc@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c25be94f2870bf75552a41ad8b15f756e19ffb1d Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Wed Sep 16 20:23:29 2015 +0200 x86/asm/entry/32, selftests: Add 'test_syscall_vdso' test This new test checks that all x86 registers are preserved across 32-bit syscalls. It tests syscalls through VDSO (if available) and through INT 0x80, normally and under ptrace. If kernel is a 64-bit one, high registers (r8..r15) are poisoned before the syscall is called and are checked afterwards. They must be either preserved, or cleared to zero (but r11 is special); r12..15 must be preserved for INT 0x80. EFLAGS is checked for changes too, but change there is not considered to be a bug (paravirt kernels do not preserve arithmetic flags). Run-tested on 64-bit kernel: $ ./test_syscall_vdso_32 [RUN] Executing 6-argument 32-bit syscall via VDSO [OK] Arguments are preserved across syscall [NOTE] R11 has changed:0000000000200ed7 - assuming clobbered by SYSRET insn [OK] R8..R15 did not leak kernel data [RUN] Executing 6-argument 32-bit syscall via INT 80 [OK] Arguments are preserved across syscall [OK] R8..R15 did not leak kernel data [RUN] Running tests under ptrace [RUN] Executing 6-argument 32-bit syscall via VDSO [OK] Arguments are preserved across syscall [OK] R8..R15 did not leak kernel data [RUN] Executing 6-argument 32-bit syscall via INT 80 [OK] Arguments are preserved across syscall [OK] R8..R15 did not leak kernel data On 32-bit paravirt kernel: $ ./test_syscall_vdso_32 [NOTE] Not a 64-bit kernel, won't test R8..R15 leaks [RUN] Executing 6-argument 32-bit syscall via VDSO [WARN] Flags before=0000000000200ed7 id 0 00 o d i s z 0 a 0 p 1 c [WARN] Flags after=0000000000200246 id 0 00 i z 0 0 p 1 [WARN] Flags change=0000000000000c91 0 00 o d s 0 a 0 0 c [OK] Arguments are preserved across syscall [RUN] Executing 6-argument 32-bit syscall via INT 80 [OK] Arguments are preserved across syscall [RUN] Running tests under ptrace [RUN] Executing 6-argument 32-bit syscall via VDSO [OK] Arguments are preserved across syscall [RUN] Executing 6-argument 32-bit syscall via INT 80 [OK] Arguments are preserved across syscall Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@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: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Drewry <wad@xxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1442427809-2027-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e904cf6fe23022cde4e0ea9d41601411a315a3dc Author: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Date: Sun Sep 6 13:09:01 2015 +0200 ath9k_htc: introduce support for different fw versions Current kernel support only one fw name with theoretically only one fw version located in â??firmware/htc_[9271|7010].fwâ??. Which is ok so far we have only one fw version (1.3). After we realised new fw 1.4, we faced compatibility problem which was decided to solve by firmware name and location: - new firmware is located now in firmware/ath9k_htc/htc_[9271|7010]-1.4.0.fw - old version 1.3 should be on old place, so old kernel have no issues with it. - new kernels including this patch should be able to try different supported (min..max) fw version. - new kernel should be able to support old fw location too. At least for now. At same time this patch will add new module option which should allow user to play with development fw version without replacing stable one. If user will set â??ath9k_htc use_dev_fw=1â?? module will try to find firmware/ath9k_htc/htc_[9271|7010]-1.dev.0.fw first and if it fails, use stable version: for example...1.4.0.fw. Signed-off-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> commit 93edc8bd7750ff3cae088bfca453ea73dc9004a4 Author: Waiman Long <Waiman.Long@xxxxxxx> Date: Fri Sep 11 14:37:34 2015 -0400 locking/pvqspinlock: Kick the PV CPU unconditionally when _Q_SLOW_VAL If _Q_SLOW_VAL has been set, the vCPU state must have been vcpu_hashed. The extra check at the end of __pv_queued_spin_unlock() is unnecessary and can be removed. Signed-off-by: Waiman Long <Waiman.Long@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> 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/1441996658-62854-3-git-send-email-Waiman.Long@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c55a6ffa6285e29f874ed403979472631ec70bff Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 14 00:37:24 2015 -0700 locking/osq: Relax atomic semantics ... by using acquire/release for ops around the lock->tail. As such, weakly ordered archs can benefit from more relaxed use of barriers when issuing atomics. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> 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@xxxxxxx> Link: http://lkml.kernel.org/r/1442216244-4409-3-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6e1e5196975fb7ecc501b3fe1075b77aea2b7839 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 14 00:37:22 2015 -0700 locking/qrwlock: Rename ->lock to ->wait_lock ... trivial, but reads a little nicer when we name our actual primitive 'lock'. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> 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@xxxxxxx> Link: http://lkml.kernel.org/r/1442216244-4409-1-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e58cdf585a38412f9f56c512d20e8e12637d9892 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 9 16:46:38 2015 -0700 locking/Documentation/lockstat: Fix typo - lokcing -> locking Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Jiri Kosina <trivial@xxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441842398-25063-1-git-send-email-sboyd@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d6a367853b4340768a917a9e67127231cfd97218 Merge: 8456799 a7d5c18 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 18 09:25:12 2015 +0200 Merge branch 'linus' into locking/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 96f3eda67fcf2598e9d2794398e0e7ab35138ea6 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Sep 14 10:14:07 2015 -0400 perf/x86/intel: Fix static checker warning in lbr enable Commit deb27519bf1f ("perf/x86/intel: Fix LBR callstack issue caused by FREEZE_LBRS_ON_PMI") leads to the following Smatch complaint: warn: variable dereferenced before check 'cpuc->lbr_sel' (see line 154) Fix the warning. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> 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> Fixes: deb27519bf1f ("perf/x86/intel: Fix LBR callstack issue caused by FREEZE_LBRS_ON_PMI") Link: http://lkml.kernel.org/r/1442240047-48149-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 02386c356af0ce5bbee11ed9b23c312ca60298f0 Merge: d71b0ad f73e22a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 18 09:24:01 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 79a89f92cbe31ba6bc50caf211a7ac4d97d0f35f Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Tue Sep 15 18:56:45 2015 +0800 sched/fair: Remove unnecessary parameter for group_classify() The group_classify() function does not use the "env" parameter, so remove it. Also unify code to always use group_classify() to calculate group's load type. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> 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/1442314605-14838-1-git-send-email-leo.yan@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 84fb5a182d39221b89f205365386df243135d622 Author: Leo Yan <leo.yan@xxxxxxxxxx> Date: Tue Sep 15 18:57:37 2015 +0800 sched/fair: Polish comments for LOAD_AVG_MAX Macro LOAD_AVG_MAX is defined far away from the precompuated tables for decay calculation in code; So explicitly comments for this. Also fix one typo: s/LOAD_MAX_AVG/LOAD_AVG_MAX. Signed-off-by: Leo Yan <leo.yan@xxxxxxxxxx> 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/1442314657-14949-1-git-send-email-leo.yan@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4620f8c1fda2af4ccbd11e194e2dd785f7d7f279 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Sep 11 09:00:27 2015 -0400 sched/numa: Limit the amount of virtual memory scanned in task_numa_work() Currently task_numa_work() scans up to numa_balancing_scan_size_mb worth of memory per invocation, but only counts memory areas that have at least one PTE that is still present and not marked for numa hint faulting. It will skip over arbitarily large amounts of memory that are either unused, full of swap ptes, or full of PTEs that were already marked for NUMA hint faults but have not been faulted on yet. This can cause excessive amounts of CPU use, due to there being essentially no upper limit on the scan rate of very large processes that are not yet in a phase where they are actively accessing old memory pages (eg. they are still initializing their data). Avoid that problem by placing an upper limit on the amount of virtual memory that task_numa_work() scans in each invocation. This can be a higher limit than "pages", to ensure the task still skips over unused areas fairly quickly. While we are here, also fix the "nr_pte_updates" logic, so it only counts page ranges with ptes in them. Reported-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Reported-by: Jan Stancek <jstancek@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150911090027.4a7987bd@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 20f9cd2acb1d74a8bf4b4087267f586e6ecdbc03 Author: Henrik Austad <henrik@xxxxxxxxx> Date: Wed Sep 9 17:00:41 2015 +0200 sched/core: Make policy-testing consistent Most of the policy-tests are done via the <class>_policy() helpers with the notable exception of idle. A new wrapper for valid_policy() has also been added to improve readability in set_load_weight(). This commit does not change the logical behavior of the scheduler core. Signed-off-by: Henrik Austad <henrik@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: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441810841-4756-1-git-send-email-henrik@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0c6a5b4319928b769ba81eff45bd679737a29ba1 Merge: 006cdf0 a7d5c18 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 18 09:22:55 2015 +0200 Merge branch 'linus' into sched/core, to pick up fixes before applying new changes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 47bbbb30b4331ec58a74a66a044341f0114b02b3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Sep 17 16:37:13 2015 -0700 sch_dsmark: improve memory locality Memory placement in sch_dsmark is silly : Better place mask/value in the same cache line. Also, we can embed small arrays in the first cache line and remove a potential cache miss. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25354001d0f84f91201cb743aa52b7cac5fe4f9c Merge: 9110fe4 4a29645 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 17 22:17:14 2015 -0700 Merge branch 'bcmgenet-irq-coalesce' Florian Fainelli says: ==================== net: bcmgenet: Interrupt coalescing This patch series adds support for interrupt coalescing for GENET adapters. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a29645bfe6c20f06f041109ca578a0b4156f29a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 16 16:47:40 2015 -0700 net: bcmgenet: Implement RX coalescing control knobs Add support for the ethtool rx-frames coalescing parameter which allows defining the number of RX interrupts per frames received. The RDMA engine supports a configurable timeout with a resolution of approximately 8.192 us. We can no longer enable the BDONE/PDONE interrupts as those would fire for each packet/buffer received, which would defeat the MBDONE interrupt purpose. The MBDONE interrupt is guaranteed to correspond to a PDONE/BDONE interrupt when the threshold is set to 1. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f9130709d2c19e2eef336bda0fb0c807cbc1f64 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 16 16:47:39 2015 -0700 net: bcmgenet: Implement TX coalescing control knobs Configuring the ethtool tx-frames property, which translates into N packets before a TX interrupt is the simplest configuration scheme because it requires no locking neither at the softare nor hardware level, and is completely indepedent from the link speed. Since ethtool does not allow per-tx queue coalescing parameters, we apply the same setting to any transmit queue. We can no longer enable the BDONE/PDONE interrupts as those would fire for each packet/buffer received, which would defeat the MBDONE interrupt purpose. The MBDONE interrupt is guaranteed to correspond to a PDONE/BDONE interrupt when the threshold is set to 1, but offers interrupt coalescing when the value is > 1. Since the HW is configured to generate an interrupt when the ring becomes emtpy, we have to deny any timeout/timer settings coming from user-space to indicate we can only generate an interrupt very <N> packets. While we are at it, fix the DMA_INTR_THRESHOLD_MASK value which was off by one bit (0xff vs. 0x1ff). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9110fe4a17743e5f416f7fbe01a2a83cffd807d6 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:41:19 2015 +0000 lan78xx: Remove not defined MAC_CR_GMII_EN_ bit from MAC_CR. Remove not defined MAC_CR_GMII_EN_ bit from MAC_CR. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 758c5c1174343a134031ff817c19c732b3729747 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:41:14 2015 +0000 lan78xx: Create lan78xx_get_mdix_status() and lan78xx_set_mdix_status() for MDIX control. Create lan78xx_get_mdix_status() and lan78xx_set_mdix_status() for MDIX control. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdfba55e0d541a9547d737573ae11db7ed72e2bb Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:41:07 2015 +0000 lan78xx: Remove phy defines in lan78xx.h and use defines in include/linux/microchipphy.h Remove phy defines in lan78xx.h and use defines in include/linux/microchipphy.h. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce85e13ad6ef47ddcd34684889dc38a9901868ef Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:40:54 2015 +0000 lan78xx: Update to use phylib instead of mii_if_info. Update to use phylib instead of mii_if_info. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05fe68c008daaa641531f3cb44c567f04bf19ef7 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:40:47 2015 +0000 lan78xx: Add PHYLIB and MICROCHIP_PHY as default config. Add PHYLIB and MICROCHIP_PHY as default configuration for lan78xx. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c595b03b1087f9f18a809ee7ce1a79c746037d5 Author: Woojung.Huh@xxxxxxxxxxxxx <Woojung.Huh@xxxxxxxxxxxxx> Date: Wed Sep 16 23:40:39 2015 +0000 lan78xx: Check device ready bit (PMT_CTL_READY_) after reset the PHY Check device ready bit (PMT_CTL_READY_) after reset the PHY. Device may not be ready even if PHY_RST_ is cleared depends on configuration. Signed-off-by: Woojung Huh <woojung.huh@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bde6f9ded1bd37ff27a042dcb968e104d92b02c1 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 10:16:39 2015 -0600 net: Initialize table in fib result Sergey, Richard and Fabio reported an oops in ip_route_input_noref. e.g., from Richard: [ 0.877040] BUG: unable to handle kernel NULL pointer dereference at 0000000000000056 [ 0.877597] IP: [<ffffffff8155b5e2>] ip_route_input_noref+0x1a2/0xb00 [ 0.877597] PGD 3fa14067 PUD 3fa6e067 PMD 0 [ 0.877597] Oops: 0000 [#1] SMP [ 0.877597] Modules linked in: virtio_net virtio_pci virtio_ring virtio [ 0.877597] CPU: 1 PID: 119 Comm: ifconfig Not tainted 4.2.0+ #1 [ 0.877597] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 0.877597] task: ffff88003fab0bc0 ti: ffff88003faa8000 task.ti: ffff88003faa8000 [ 0.877597] RIP: 0010:[<ffffffff8155b5e2>] [<ffffffff8155b5e2>] ip_route_input_noref+0x1a2/0xb00 [ 0.877597] RSP: 0018:ffff88003ed03ba0 EFLAGS: 00010202 [ 0.877597] RAX: 0000000000000046 RBX: 00000000ffffff8f RCX: 0000000000000020 [ 0.877597] RDX: ffff88003fab50b8 RSI: 0000000000000200 RDI: ffffffff8152b4b8 [ 0.877597] RBP: ffff88003ed03c50 R08: 0000000000000000 R09: 0000000000000000 [ 0.877597] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88003fab6f00 [ 0.877597] R13: ffff88003fab5000 R14: 0000000000000000 R15: ffffffff81cb5600 [ 0.877597] FS: 00007f6de5751700(0000) GS:ffff88003ed00000(0000) knlGS:0000000000000000 [ 0.877597] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 0.877597] CR2: 0000000000000056 CR3: 000000003fa6d000 CR4: 00000000000006e0 [ 0.877597] Stack: [ 0.877597] 0000000000000000 0000000000000046 ffff88003fffa600 ffff88003ed03be0 [ 0.877597] ffff88003f9e2c00 697da8c0017da8c0 ffff880000000000 000000000007fd00 [ 0.877597] 0000000000000000 0000000000000046 0000000000000000 0000000400000000 [ 0.877597] Call Trace: [ 0.877597] <IRQ> [ 0.877597] [<ffffffff812bfa1f>] ? cpumask_next_and+0x2f/0x40 [ 0.877597] [<ffffffff8158e13c>] arp_process+0x39c/0x690 [ 0.877597] [<ffffffff8158e57e>] arp_rcv+0x13e/0x170 [ 0.877597] [<ffffffff8151feec>] __netif_receive_skb_core+0x60c/0xa00 [ 0.877597] [<ffffffff81515795>] ? __build_skb+0x25/0x100 [ 0.877597] [<ffffffff81515795>] ? __build_skb+0x25/0x100 [ 0.877597] [<ffffffff81521ff6>] __netif_receive_skb+0x16/0x70 [ 0.877597] [<ffffffff81522078>] netif_receive_skb_internal+0x28/0x90 [ 0.877597] [<ffffffff8152288f>] napi_gro_receive+0x7f/0xd0 [ 0.877597] [<ffffffffa0017906>] virtnet_receive+0x256/0x910 [virtio_net] [ 0.877597] [<ffffffffa0017fd8>] virtnet_poll+0x18/0x80 [virtio_net] [ 0.877597] [<ffffffff815234cd>] net_rx_action+0x1dd/0x2f0 [ 0.877597] [<ffffffff81053228>] __do_softirq+0x98/0x260 [ 0.877597] [<ffffffff8164969c>] do_softirq_own_stack+0x1c/0x30 The root cause is use of res.table uninitialized. Thanks to Nikolay for noticing the uninitialized use amongst the maze of gotos. As Nikolay pointed out the second initialization is not required to fix the oops, but rather to fix a related problem where a valid lookup should be invalidated before creating the rth entry. Fixes: b7503e0cdb5d ("net: Add FIB table id to rtable") Reported-by: Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx> Reported-by: Richard Alpe <richard.alpe@xxxxxxxxxxxx> Reported-by: Fabio Estevam <festevam@xxxxxxxxx> Tested-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> Tested-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41a9802fd87316ac736182e2debc579e987c8311 Merge: f6c5333 27b29f6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 17 21:09:07 2015 -0700 Merge branch 'bpf_avoid_clone' Alexei Starovoitov says: ==================== bpf: performance improvements v1->v2: dropped redundant iff_up check in patch 2 At plumbers we discussed different options on how to get rid of skb_clone from bpf_clone_redirect(), the patch 2 implements the best option. Patch 1 adds 'integrated exts' to cls_bpf to improve performance by combining simple actions into bpf classifier. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 27b29f63058d26c6c1742f1993338280d5a41dc6 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Sep 15 23:05:43 2015 -0700 bpf: add bpf_redirect() helper Existing bpf_clone_redirect() helper clones skb before redirecting it to RX or TX of destination netdev. Introduce bpf_redirect() helper that does that without cloning. Benchmarked with two hosts using 10G ixgbe NICs. One host is doing line rate pktgen. Another host is configured as: $ tc qdisc add dev $dev ingress $ tc filter add dev $dev root pref 10 u32 match u32 0 0 flowid 1:2 \ action bpf run object-file tcbpf1_kern.o section clone_redirect_xmit drop so it receives the packet on $dev and immediately xmits it on $dev + 1 The section 'clone_redirect_xmit' in tcbpf1_kern.o file has the program that does bpf_clone_redirect() and performance is 2.0 Mpps $ tc filter add dev $dev root pref 10 u32 match u32 0 0 flowid 1:2 \ action bpf run object-file tcbpf1_kern.o section redirect_xmit drop which is using bpf_redirect() - 2.4 Mpps and using cls_bpf with integrated actions as: $ tc filter add dev $dev root pref 10 \ bpf run object-file tcbpf1_kern.o section redirect_xmit integ_act classid 1 performance is 2.5 Mpps To summarize: u32+act_bpf using clone_redirect - 2.0 Mpps u32+act_bpf using redirect - 2.4 Mpps cls_bpf using redirect - 2.5 Mpps For comparison linux bridge in this setup is doing 2.1 Mpps and ixgbe rx + drop in ip_rcv - 7.8 Mpps Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 045efa82ff563cd4e656ca1c2e354fa5bf6bbda4 Author: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Date: Tue Sep 15 23:05:42 2015 -0700 cls_bpf: introduce integrated actions Often cls_bpf classifier is used with single action drop attached. Optimize this use case and let cls_bpf return both classid and action. For backwards compatibility reasons enable this feature under TCA_BPF_FLAG_ACT_DIRECT flag. Then more interesting programs like the following are easier to write: int cls_bpf_prog(struct __sk_buff *skb) { /* classify arp, ip, ipv6 into different traffic classes * and drop all other packets */ switch (skb->protocol) { case htons(ETH_P_ARP): skb->tc_classid = 1; break; case htons(ETH_P_IP): skb->tc_classid = 2; break; case htons(ETH_P_IPV6): skb->tc_classid = 3; break; default: return TC_ACT_SHOT; } return TC_ACT_OK; } Joint work with Daniel Borkmann. Signed-off-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f6c53334d6c6ac7088c2e7e70ff2941bfb33f52e Author: Junwei Zhang <martinbj2008@xxxxxxxxx> Date: Fri Sep 18 00:00:05 2015 -0400 net: only check perm protocol when register proto The permanent protocol nodes are at the head of the list, So only need check all these nodes. No matter the new node is permanent or not, insert the new node after the last permanent protocol node, If the new node conflicts with existing permanent node, return error. Signed-off-by: Martin Zhang <martinbj2008@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b1b865e4e97e336316f30e32af36d71e98bdabc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 15 15:24:28 2015 -0700 bonding: use l4 hash if available If skb carries a l4 hash, no need to perform a flow dissection. Performance is slightly better : lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.39012e+06 lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.39393e+06 lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.39988e+06 After patch : lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.43579e+06 lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.44304e+06 lpaa5:~# ./super_netperf 200 -H lpaa6 -t TCP_RR -l 100 2.44312e+06 Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Cc: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58d607d3e52f2b15902f58a1161da9fb3b0f6d47 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 15 15:24:20 2015 -0700 tcp: provide skb->hash to synack packets In commit b73c3d0e4f0e ("net: Save TX flow hash in sock and set in skbuf on xmit"), Tom provided a l4 hash to most outgoing TCP packets. We'd like to provide one as well for SYNACK packets, so that all packets of a given flow share same txhash, to later enable bonding driver to also use skb->hash to perform slave selection. Note that a SYNACK retransmit shuffles the tx hash, as Tom did in commit 265f94ff54d62 ("net: Recompute sk_txhash on negative routing advice") for established sockets. This has nice effect making TCP flows resilient to some kind of black holes, even at connection establish phase. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Tom Herbert <tom@xxxxxxxxxxxxxxx> Cc: Mahesh Bandewar <maheshb@xxxxxxxxxx> Acked-by: Tom Herbert <tom@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f91638af0ef7cf85c204e3ebc853a35a99992e93 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Fri Aug 28 17:56:01 2015 -0400 i40e/i40evf: Bump i40e to 1.3.21 and i40evf to 1.3.13 Bump. Change-ID: If7ce84218361defa209142d1d8c6f69d48c2d7ad 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 b72dc7b19398b238698fbc5954a3c3de6cbc815d Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Aug 28 17:55:51 2015 -0400 i40e/i40evf: add get AQ result command to nvmupdate utility Add a facility to recover the result of a previously run AQ command. Change-ID: I21afec2c20c1a5e6ba60c7fbfcbedfff78c10e45 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 e4c83c20f87fe1d3da6b3a7ecaf40ae8717c7842 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Aug 28 17:55:50 2015 -0400 i40e/i40evf: add exec_aq command to nvmupdate utility Add a facility to run AQ commands through the nvmupdate utility in order to allow the update tools to interact with the FW and do special commands needed for updates and configuration changes. Change-ID: I5c41523e4055b37f8e4ee479f7a0574368f4a588 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 2f1b5bc844a7c13a3ec997a7ce029f27403adc57 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Aug 28 17:55:49 2015 -0400 i40e/i40evf: add wait states to NVM state machine This adds wait states to the NVM update state machine to signify when waiting for an update operation to finish, whether we're in the middle of a set of Write operations, or we're now idle but waiting. Change-ID: Iabe91d6579ef6a2ea560647e374035656211ab43 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 0af8e9db2ce93d17c25a0ff0a044dfebf66ea5af Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Aug 28 17:55:48 2015 -0400 i40e/i40evf: add GetStatus command for nvmupdate This adds a new GetStatus command so that the NVM update tool can query the current status instead of doing fake write requests to probe for readiness. Change-ID: I671ec6ccd4dfc9dbac3a03b964589d693fda5cd8 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 6b5c1b89c37791d89eac5f276cc095acf4f8ab6b Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Fri Aug 28 17:55:47 2015 -0400 i40e/i40evf: add handling of writeback descriptor If the writeback descriptor buffer was previously created, this gives it to the AQ command request to be used to save the results. Change-ID: I8c8a1af81e6ebed6d0a15ed31697fe1a6c4e3708 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 87db27a9e21fdeb20f77a024b30b406915e083d6 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Aug 27 11:42:42 2015 -0400 i40e/i40evf: save aq writeback for future inspection Add the ability to save the AdminQ write back descriptor if a caller supplies a buffer for it to be saved into. Change-ID: I3d1301d26360b39a2d66dc8569e851f54133a3af 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 79afe839ab1a5e1e9232845f430d5c500e956e8d Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 23 16:54:33 2015 -0400 i40e: rename variable to prevent clash of understanding This code returns something that becomes the errno value from ethtool and passes around a pointer to an errno variable. This patch changes the name slightly to differentiate it from the actual user errno variable. Change-ID: Idaa37845c069e66f4cea072e90f471bb2142454d Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bbe8373138a1fe92160a18418e7298b4c0128ff1 Merge: a2f23e0 be10de0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 17 17:18:38 2015 -0700 Merge branch 'nf_hook_netns' Eric W. Biederman says: ==================== Passing net through the netfilter hooks My primary goal with this patchset and it's follow ups is to cleanup the network routing paths so that we do not look at the output device to derive the network namespace. My plan is to pass the network namespace of the transmitting socket through the output path, to replace code that looks at the output network device today. Once that is done we can have routes with output devices outside of the current network namespace. Which should allow reception and transmission of packets in network namespaces to be as fast as normal packet reception and transmission with early demux disabled, because it will same code path. Once skb_dst(skb)->dev is a little better under control I think it will also be possible to use rcu to cleanup the ancient hack that sets dst->dev to loopback_dev when a network device is removed. The work to get there is a series of code cleanups. I am starting with passing net into the netfilter hooks and into the functions that are called after the netfilter hooks. This removes from netfilter the need to guess which network namespace it is working on. To get there I perform a series of minor prep patches so the big changes at the end are possible to audit without getting lost in the noise. In particular I have a lot of patches computing net into a local variable and then using it through out the function. So this patchset encompases removing dead code, sorting out the _sk functions that were added last time someone pushed a prototype change through the post netfilter functions. Cleaning up individual functions use of the network namespace. Passing net into the netfilter hooks. Passing net into the post netfilter functions. Using state->net in the netfilter code where it is available and trivially usable. Pablo, Dave I don't know whose tree this makes more sense to go through. I am assuming at least initially Pablos as netfilter is involved. From what I have seen there will be a lot of back and forth between the netfilter code paths and the routing code paths. The patches are also available (against 4.3-rc1) at: git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/net-next.git master ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be10de0a322ded7701a4dcce4a0ba83b3bbf42e5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Sep 17 17:21:31 2015 -0500 netfilter: Add blank lines in callers of netfilter hooks In code review it was noticed that I had failed to add some blank lines in places where they are customarily used. Taking a second look at the code I have to agree blank lines would be nice so I have added them here. Reported-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c4b51f0054ce85c0ec578ab818f0631834573eb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:18 2015 -0500 netfilter: Pass net into okfn This is immediately motivated by the bridge code that chains functions that call into netfilter. Without passing net into the okfns the bridge code would need to guess about the best expression for the network namespace to process packets in. As net is frequently one of the first things computed in continuation functions after netfilter has done it's job passing in the desired network namespace is in many cases a code simplification. To support this change the function dst_output_okfn is introduced to simplify passing dst_output as an okfn. For the moment dst_output_okfn just silently drops the struct net. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9dff2c966a0a79a4222553a851f17e679fc28a43 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:17 2015 -0500 netfilter: Use nf_hook_state.net Instead of saying "net = dev_net(state->in?state->in:state->out)" just say "state->net". As that information is now availabe, much less confusing and much less error prone. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29a26a56803855a79dbd028cd61abee56237d6e5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:16 2015 -0500 netfilter: Pass struct net into the netfilter hooks Pass a network namespace parameter into the netfilter hooks. At the call site of the netfilter hooks the path a packet is taking through the network stack is well known which allows the network namespace to be easily and reliabily. This allows the replacement of magic code like "dev_net(state->in?:state->out)" that appears at the start of most netfilter hooks with "state->net". In almost all cases the network namespace passed in is derived from the first network device passed in, guaranteeing those paths will not see any changes in practice. The exceptions are: xfrm/xfrm_output.c:xfrm_output_resume() xs_net(skb_dst(skb)->xfrm) ipvs/ip_vs_xmit.c:ip_vs_nat_send_or_cont() ip_vs_conn_net(cp) ipvs/ip_vs_xmit.c:ip_vs_send_or_cont() ip_vs_conn_net(cp) ipv4/raw.c:raw_send_hdrinc() sock_net(sk) ipv6/ip6_output.c:ip6_xmit() sock_net(sk) ipv6/ndisc.c:ndisc_send_skb() dev_net(skb->dev) not dev_net(dst->dev) ipv6/raw.c:raw6_send_hdrinc() sock_net(sk) br_netfilter_hooks.c:br_nf_pre_routing_finish() dev_net(skb->dev) before skb->dev is set to nf_bridge->physindev In all cases these exceptions seem to be a better expression for the network namespace the packet is being processed in then the historic "dev_net(in?in:out)". I am documenting them in case something odd pops up and someone starts trying to track down what happened. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04eb44890e5bb3cc855e5c0f18a05eb7311364b7 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:15 2015 -0500 bridge: Add br_netif_receive_skb remove netif_receive_skb_sk netif_receive_skb_sk is only called once in the bridge code, replace it with a bridge specific function that calls netif_receive_skb. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2d74cf88c625bfa723c5ffb79885c852ee1f46b Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:14 2015 -0500 bridge: Cache net in br_nf_pre_routing_finish This is prep work for passing net to the netfilter hooks. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6532948b2e7b75895c1264967342ae61dc97b4a6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:13 2015 -0500 bridge: Pass net into br_nf_push_frag_xmit When struct net starts being passed through the ipv4 and ipv6 fragment routines br_nf_push_frag_xmit will need to take a net parameter. Prepare br_nf_push_frag_xmit before that is needed and introduce br_nf_push_frag_xmit_sk for the call sites that still need the old calling conventions. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d4df0b9300a2623559a8f616a152312454cada1 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:12 2015 -0500 bridge: Pass net into br_nf_ip_fragment This is a prep work for passing struct net through ip_do_fragment and later the netfilter okfn. Doing this independently makes the later code changes clearer. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit adb28c9d3371c845c7a28bfd4fb163aca0d0dc37 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:11 2015 -0500 ipv6: Compute net once in raw6_send_hdrinc Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19a0644ca31c7e22abdb4058ea013f1f7abf7327 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:10 2015 -0500 ipv6: Cache net in ip6_output Keep net in a local variable so I can use it in NF_HOOK_COND when I pass struct net to all of the netfilter hooks. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78126c41907e999979635855b6b1b24aa46f53d8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:09 2015 -0500 ipv6: Only compute net once in ip6_finish_output2 Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9865249fd19d1416f70aa73ac7f214cbee4f6b51 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:08 2015 -0500 ipv6: Don't recompute net in ip6_rcv Avoid silly redundant code Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b4aa3cec4873005a0d5155395b34641584b3a4e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:07 2015 -0500 net: Remove dev_queue_xmit_sk A function with weird arguments that it will never use to accomdate a netfilter callback prototype is absolutely in the core of the networking stack. Frankly it does not make sense and it causes a lot of confusion as to why arguments that are never used are being passed to the function. As I am preparing to make a second change to arguments to the okfn even the names stops making sense. As I have removed the two callers of this function remove this confusion from the networking stack. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f19c578df80ad2e6b2bd9af63aa0af4bcc7470e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:06 2015 -0500 bridge: Introduce br_send_bpdu_finish The function dev_queue_xmit_skb_sk is unncessary and very confusing. Introduce br_send_bpdu_finish to remove the need for dev_queue_xmit_skb_sk, and have br_send_bpdu_finish call dev_queue_xmit. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9e4306fd87c6ff08c9a94212d84a23c16395843 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:05 2015 -0500 arp: Introduce arp_xmit_finish The function dev_queue_xmit_skb_sk is unncessary and very confusing. Introduce arp_xmit_finish to remove the need for dev_queue_xmit_skb_sk, and have arp_xmit_finish call dev_queue_xmit. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 244ba779855c2ccbb843444c2dce952ca8c1a78e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:04 2015 -0500 ipv6: Only compute net once in ip6mr_forward2_finish Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 758ccac8e7419ae746bcda807919a547ed9cdaad Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:03 2015 -0500 ipv4: Only compute net once in ipmr_forward_finish Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38184b3b073bf588d809d3b2fb7370264357c289 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:02 2015 -0500 ipv4: Only compute net once in ip_rcv_finish Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ba1bf42920b778c8c884e694e8e2aa6486c2b31 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:01 2015 -0500 ipv4: Only compute net once in ip_finish_output2 Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9479b0af489c836cc0d04b01ee5a7d48d79d3d51 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:04:00 2015 -0500 ipv4: Explicitly compute net in ip_fragment Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26a949dbd5595b987bf199be4442136e9288a93e Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:59 2015 -0500 ipv4: Only compute net once in ip_do_fragment Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc4c851e4b41d668075d7cb6c71e3725bc5d4662 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:58 2015 -0500 ipv4: Don't recompute net in ipmr_queue_xmit Calling dev_net(dev) for is just silly. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88f5cc245849df73c353f7bb46e9e5749469f6d3 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:57 2015 -0500 ipv4: Remember the net in ip_output and ip_mc_output This is a prepatory patch to passing net int the netfilter hooks, where net will be used again. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e707766ce0ca65084b60a275a7c1a9863207cfa6 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:56 2015 -0500 ipv4: Compute net once in ip_rcv Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8e1ac7912700914e4d6d129d38ecbcff8e4f4c4 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:55 2015 -0500 ipv4: Compute net once in ip_forward_finish Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fcad0ac2da05d5ed443acee7abd69e24e69037ca Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:54 2015 -0500 ipv4: Compute net once in ip_forward Compute struct net from the input device in ip_forward before it is used. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a70649e0dae02ba5090540fffce667d2300bc5a Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:53 2015 -0500 net: Merge dst_output and dst_output_sk Add a sock paramter to dst_output making dst_output_sk superfluous. Add a skb->sk parameter to all of the callers of dst_output Have the callers of dst_output_sk call dst_output. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a6568b2425daffc7b21ae63b6601b57ae14b5cb8 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:52 2015 -0500 xfrm: Remove unused afinfo method init_dst Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a7735044e1eab1415697b3139e758d24a600099 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:51 2015 -0500 netfilter: Pass net to nf_hook_thresh Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b11b1f652dccde707d568f4012b01a8ec5bd5f57 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:50 2015 -0500 netfilter: Store net in nf_hook_state Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb884253a919148677c5bf347ffb62c539370440 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Tue Sep 15 20:03:49 2015 -0500 netfilter: Remove !CONFIG_NETFITLER definition of nf_hook_thresh The !CONFIG_NETFILTER definition of nf_hook_thresh calls okfn when the CONFIG_NETFITLER defintion does not, making it buggy. As the !CONFIG_NETFILTER defintion of nf_hook_thresh is not used remove it rather than fix it. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b98d74780ab70147d40400c36059c16c1aea4da Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 14:28:17 2015 +0200 ARM: shmobile: R-Mobile: Use CPG/MSTP Clock Domain attach/detach helpers The R-Mobile PM Domain driver manages both power domains and a clock domain. The clock domain part is very similar to the CPG/MSTP Clock Domain, which is used on shmobile SoCs without device power domains, except for the way how clocks suitable for power management are selected: - The former uses the first clock tied to the device through the NULL con_id, which is a relic from the legacy pm_clk_notifier-based method in drivers/sh/pm_runtime.c, - The latter looks for suitable clocks in DT, which is more future-proof. All platforms using this driver are now supported in DT-based ARM multi-platform builds only, hence switch to using the CPG/MSTP Clock Domain helpers. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e233d74c30f48108b7affb4e76bfc8f3c76b68ce Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 15:25:35 2015 +0200 clk: shmobile: mstp: Consider "zb_clk" suitable for power management Currently the CPG/MSTP Clock Domain code looks for MSTP clocks to power manage a device. Unfortunately, on R-Mobile APE6 (r8a73a4) and SH-Mobile AG5 (sh73a0), the Bus State Controller (BSC) is not power-managed by an MSTP clock, but by a plain CPG clock (zb_clk). Add a special case to handle this, so the clock is properly managed, and devices connected to the BSC work as expected. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a2f23e08b0861bd17109c1add000c4125a6c2dbc Merge: c4047f5 9adbac5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Sep 17 16:50:36 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-15 This series contains updates to ixgbe and fm10k. Don fixes a ixgbe issue by adding checks for systems that do not have SFP's to avoid incorrectly acting on interrupts that are falsely interpreted as SFP events. Alex Williamson adds a fix for ixgbe to disable SR-IOV prior to unregistering the netdev to avoid issues with guest OS's which do not support hot-unplug or their hot-unplug is broken. Alex Duyck update the lowest limit for adaptive interrupt interrupt moderation to about 12K interrupts per second for ixgbe. This change increases the performance for ixgbe. Also fixed up fm10k to remove the optimization that assumed that all fragments would be limited to page size, since that assumption is incorrect as the TCP allocator can provide up to a 32K page fragment. Updated fm10k to add the MAC address to the list of values recorded on driver load. Fixes fm10k so that we only trigger the data path reset if the fabric is ready to handle traffic to avoid triggering the reset unless the switch API is ready for us. Jacob updates the fm10k driver to disable the service task during suspend and re-enable it after we resume. If we don't do this, the device could be UP when you suspend and come back from resume as DOWN. Also update fm10k to prevent the removal of default VID rules, and correctly remove the stack layers information of the VLAN, but then return to forwarding that VID as untagged frames. If we deleted the VID rules here, we would begin dropping traffic due to VLAN membership violations. Fixed fm10k to use pcie_get_minimum_link(), which is useful in cases where we connect to a slot at Gen3, but the slot is behind a bus which is only connected at Gen2. Updated fm10k to update the netdev permanent address during reinit instead of up to enable users to immediately see the new MAC address on the VF even if the device is not up. Adds the creation of VLAN interfaces on a device, even while the device is down for fm10k. Fixed an issue where we request the incorrect MAC/VLAN combinations, and prevents us from accidentally reporting some frames as VLAN tagged. Provided a couple of trivial fixes for fm10k to fix code style and typos in code comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c4047f533f3cb1c57e82ad02f3aa7054406df648 Author: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxx> Date: Tue Sep 15 18:28:00 2015 -0300 net-sysfs: get_netdev_queue_index() cleanup Redo commit ed1acc8cd8c22efa919da8d300bab646e01c2dce. Commit 822b3b2ebfff8e9b3d006086c527738a7ca00cd0 ("net: Add max rate tx queue attribute") moved get_netdev_queue_index around, but kept the old version. Probably because of a reuse of the original patch from before Eric's change to that function. Remove one inline keyword, and no need for a loop to find an index into a table. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxx> Fixes: 822b3b2ebfff ("net: Add max rate tx queue attribute") Acked-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9e69c8c58eb8671e9f6cee728088e4c5abc9115 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Aug 7 09:59:14 2015 +0200 arch/x86/intel-mid: 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> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Julia Lawall <Julia.Lawall@xxxxxxx> Link: http://lkml.kernel.org/r/1438934377-4922-9-git-send-email-a.hajda@xxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0738eff14d817a02ab082c392c96a1613006f158 Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:21:22 2015 +0200 can: Allwinner A10/A20 CAN Controller support - Kernel module Kernel module for Allwinner A10/A20 CAN controller. Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 4366bd4fa8c46b61ec0a7d564bd978cfa882692b Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:21:19 2015 +0200 can: Allwinner A10/A20 CAN Controller support - Devicetree bindings Devicetree bindings for Allwinner A10/A20 CAN controller. Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit d24c8f24ea897ae89738b865a41b0a5d70137c46 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Thu Sep 10 21:26:04 2015 +0200 net: smc91x: convert pxa dma to dmaengine Convert the dma transfers to be dmaengine based, now pxa has a dmaengine slave driver. This makes this driver a bit more PXA agnostic. The driver was tested on pxa27x (mainstone) and pxa310 (zylonite), ie. only pxa platforms. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ae1add247bf8c22facacbd818142f1f66e735802 Author: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Date: Tue Sep 15 18:30:36 2015 -0700 of: Check for overlap in reserved memory regions Any overlap in the reserved memory regions (those specified in the reserved-memory DT node) is a bug. These bugs might go undetected as long as the contested region isn't used simultaneously by multiple software agents, which makes such bugs hard to debug. Fix this by printing a scary warning during boot if overlap is detected. Signed-off-by: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 4f59d7119c7cb5f32ca91662a74c217ea7c4ddca Author: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Date: Tue Aug 25 12:08:22 2015 +0800 of: to support binding numa node to specified device in devicetree For now, in function device_add, the new device will be forced to inherit the numa node of its parent. But this will override the device's numa node which configured in devicetree. Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 7001b3f960c66a7f3617da632564b35ddba39498 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Thu Sep 17 19:39:29 2015 +0300 clk: qcom: Add MSM8916 audio clocks Add support for the msm8916 audio clocks. This includes core bus, low-power audio and codec clocks. They are required for audio playback. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a2e8272f3f898bedfc78e20b373a9d7356e16608 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Thu Sep 17 19:39:28 2015 +0300 clk: qcom: Add MSM8916 gpu clocks Add support for the msm8916 BIMC (Bus Integrated Memory Controller) clocks that are needed for GPU. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit d042877aa7a36e7a5e0bb8c60dcd86e939f205c9 Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Thu Sep 17 19:39:27 2015 +0300 clk: qcom: Add support for RCGs with shared branches Some root clock generators may have child branches that are controlled by different CPUs. These RCGs require some special operations: - some enable bits have to be toggled when we set the rate; - if RCG is disabled we only cache the rate and set it later when enabled; - when the RCG is disabled, the mux is set to the safe source; Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> [sboyd@xxxxxxxxxxxxxx: Simplify recalc_rate implementation] Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 93e71695daa654918fbe5b768cd8c5bca677df0c Author: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Date: Thu Sep 17 19:39:26 2015 +0300 clk: qcom: Add MSM8916 iommu clocks Add support for the msm8916 TCU (Translation Control Unit) clocks that are needed for IOMMU. Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ab5c342992cac7d1ddaf8a75a4dcab0d13718022 Merge: 90c5354 d34e210 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Sep 17 12:28:41 2015 -0700 Merge branch 'clk-fixes' into clk-next * clk-fixes: drivers: clk: st: Rename st_pll3200c32_407_c0_x into st_pll3200c32_cx_x clk: check for invalid parent index of orphans in __clk_init() commit 90c53547fcae9daf46265fd9e74adc4f936cd919 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Sep 17 15:49:29 2015 +0200 clk: Remove unneeded semicolons There are cleary typo errors so can be removed. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Leo Yan <leo.yan@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 285547802936247adb77c192d08a1ddb97948bd6 Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:21:20 2015 +0200 can: Allwinner A10/A20 CAN Controller support - Defconfig Defconfig multi_v7 for Allwinner A10/A20 CAN driver Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit a918a7d2e3b14c9b33353bc2ef128ba53786eb40 Author: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:21:21 2015 +0200 can: Allwinner A10/A20 CAN Controller support - Defconfig Defconfig sunxi for Allwinner A10/A20 CAN driver Signed-off-by: Gerhard Bertelsmann <info@xxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b69d42b5c44bcfc1c73fe185d4644487f1bd3193 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:28 2015 +0300 spi: pxa2xx: Remove cr0 variable from struct chip_data There hasn't been need to carry chip->cr0 after SPI core started to validate speed_hz and bits_per_word transfer parameters. That effectively caused that pump_transfers() always recalculated it and practically chip->cr0 is used locally in setup() for debug prints only. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 196b0e2cf2373f43d7b0e8c1a63e9d528c06e1df Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:27 2015 +0300 spi: pxa2xx: Remove if statement that is always true in pump_transfers() This is continuation to previous commit by separating unindentation from variable removal done in previous commit. As said SPI core have validated both the speed_hz and bits_per_word and the if statement here evaluates always to true. Remove the test and unindent the code block accordingly. While at it remove also needless "cr0 = chip->cr0" as cr0 will be overwritten anyway and fix block comment style. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4f1474b3b786305d77c93c232f65d40018043e9f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:26 2015 +0300 spi: pxa2xx: Remove two variables from struct chip_data There is no need to carry spi->max_speed_hz and spi->bits_per_word from setup() in "struct chip_data" since pump_transfers() will anyway take the transfer parameters from "struct spi_transfer". This is since SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa14e47fc409390f1be92da679a365faef187937 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:25 2015 +0300 spi: spi-fsl-dspi: Remove duplicated register write SPI core makes sure that transfer speed is always set so code here writes the same register with the same value twice. Code has been doing this from the beginning. This looks to me some sort of copy paste error so I'm removing the second write. If this is not the case we can bring it back with a comment. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 55f9a0706f60df4639010c91d6f28ce6b2351179 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:24 2015 +0300 spi: dw: Remove test for non-zero spi->max_speed_hz Test for non-zero spi->max_speed_hz in dw_spi_setup() looks needless as spi_setup() defaults to master->max_speed_hz in case it is not set. This drivers sets the master->max_speed_hz based on max_freq data passed to it via dw_spi_add_host() call. I suppose things have already fallen apart if dw_spi_mmio_probe() or spi_pci_probe() ever passes zero max_freq. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0ed36990a93b23c4873c77cdc1423429e40ed469 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:23 2015 +0300 spi: dw: Remove needless if statements SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This allows to remove related if statements as they evaluate always to true and reduce indentation. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 82f46c465149137a8d230b6c1e08c43bf6e32cdb Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 14 12:04:22 2015 -0700 Documentation: bindings: brcmstb: Document write-pairing Document the hif-cpubiuctrl node a bit more, and add a documentation entry for the optional "brcm,write-pairing" property. Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Gregory Fong <gregory.0xf0@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 6701212e86398622a05b85d87391646bf0e81bfc Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 4 17:50:11 2015 +0100 arm64: dts: Drop linux,pci-probe-only from the Seattle DTS The linux,pci-probe-only property mandates an argument to indicate whether or not to engage the "probe-only" mode, but the Seattle DTS just provides a naked property, which is illegal. Also, it turns out that the board is perfectly happy without probe-only, so let's drop this altogether. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> commit 705a7b474ed929a8c86733ad230dd9c820e84a7b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 4 17:50:10 2015 +0100 powerpc/PCI: Fix lookup of linux,pci-probe-only property When find_and_init_phbs() looks for the probe-only property, it seems to trust the firmware to be correctly written, and assumes that there is a parameter to the property. It is conceivable that the firmware could not be that perfect, and it could expose this property naked (at least one arm64 platform seems to exhibit this exact behaviour). The setup code the ends up making a decision based on whatever the property pointer points to, which is likely to be junk. Instead, switch to the common of_pci.c implementation that doesn't suffer from this problem and ignore the property if the firmware couldn't make up its mind. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a07245d14fcb0ac760bfc60fc3483b0619998867 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 4 17:50:09 2015 +0100 PCI: generic: Fix lookup of linux,pci-probe-only property When pci-host-generic looks for the probe-only property, it seems to trust the DT to be correctly written, and assumes that there is a parameter to the property. Unfortunately, this is not always the case, and some firmware expose this property naked. The driver ends up making a decision based on whatever the property pointer points to, which is likely to be junk. Switch to the common of_pci.c implementation that doesn't suffer from this problem. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit 1a344e9b7557a819b8143d7d7d4365b9694bb5e3 Author: Franklin S Cooper Jr <fcooper@xxxxxx> Date: Thu Sep 17 09:03:52 2015 -0700 ARM: dts: keystone: Add ti,keystone-spi for SPI Add ti,keystone-spi to the compatible field for the SPI node. This new entry insures that the proper prescaler limit is used for keystone devices Signed-off-by: Franklin S Cooper Jr <fcooper@xxxxxx> Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> commit f81c11af617ca4bad5028e9e431feae8d4166bc7 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Fri Sep 4 17:50:08 2015 +0100 of/pci: Add of_pci_check_probe_only to parse "linux,pci-probe-only" Both pci-host-generic and Pseries parse the "linux,pci-probe-only" property to engage the PCI_PROBE_ONLY mode, and both have a subtle bug that can be triggered if the property has no parameter. Provide a generic, safe implementation that can be used by both. [bhelgaas: fold in #include <asm-generic/pci-bridge.h>] Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> commit 469eabb3aec03d9defed3462df743a223a5c8f54 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 17 13:19:45 2015 +0200 ata: pata_macio: 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. This patch adds the missing MODULE_DEVICE_TABLE() for OF to export that information so modules have the correct aliases built-in and autoloading works correctly. Link: https://lkml.org/lkml/2015/7/30/519 Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b07461a8e45b7a62ef7fb46e4f6ada66f63406a8 Author: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Date: Thu Sep 17 10:09:37 2015 -0500 PCI/AER: Clear error status registers during enumeration and restore AER errors might be recorded when powering-on devices. These errors can be ignored, so firmware usually clears them before the OS enumerates devices. However, firmware is not involved when devices are added via hotplug, so the OS may discover power-up errors that should be ignored. The same may happen when powering up devices when resuming after suspend. Clear the AER error status registers during enumeration and resume. [bhelgaas: changelog, remove repetitive comments] Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3f8958cf9aaaac8a2bfc7417cb87db757eeb4465 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:22 2015 +0300 spi: atmel: Remove needless bits_per_word and speed_hz tests SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This makes possible to remove two if statements and remove one code block that is never executed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76f67ea9bf27b045eacf8f1e148fd13149f51823 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:21 2015 +0300 spi: omap-100k: Rely on validations done by spi core SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This allows to remove a few if statements around per transfer bits_per_word and speed_hz tests as they evaluate always to true. Also defaulting word_len to 8 is needless since spi_setup() has already made sure spi->bits_per_word is 8 in case it is not set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 160f8d0691659b65a97494c151c95b1287c377ae Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:20 2015 +0300 spi: omap-uwire: Remove needless bits_per_word and speed_hz tests SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This allows to remove two needless tests from uwire_txrx() and uwire_setup_transfer(). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85c1912d44081173b9cd796955959a8201aa7a4e Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:19 2015 +0300 spi: mpc512x: Call mpc512x_psc_spi_transfer_setup() unconditionally SPI core validates both bits_per_word and speed_hz transfer parameters and thus the if statement here is needless as it will always call the mpc512x_psc_spi_transfer_setup(). Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b07570628471777aabb5695284e1af4533e502da Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 15 08:26:36 2015 +0000 ASoC: add ak4613 support Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ce26d8137bc5c5b8371f91646bda969ed7f8b398 Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Tue Sep 15 12:19:45 2015 +0000 Bluetooth: hci_qca: Coding style clean up Cleanup patch to fix spaces required reported by checkpatch Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 10bd9731cc7257a6f53c0a208003414d872d627e Author: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Date: Fri Sep 11 15:02:36 2015 +0000 Bluetooth: bt3c_cs: clean up obsolete functions simple_strtoul is obsolete, use kstrtoul instead reported by checkpatch. Signed-off-by: Prasanna Karthik <mkarthi3@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8f9d02f470f48416444ac3a1eacecdd0f743f1a7 Author: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Date: Thu Sep 10 17:07:00 2015 +0100 Bluetooth: Remove SCO fragments on connection close SCO packet reassembler may have a fragment of SCO packet, from previous connection, cached and not removed when SCO connection is ended. Packets from new SCO connection are then going to be attached to that fragment, creating an invalid SCO packets. Controllers like Intel's WilkinsPeak are always fragmenting SCO packet into 3 parts (#1, #2, #3). Packet #1 contains SCO header and audio data, others just audio data. if there is a fragment cached from previous connection, i.e. #1, first SCO packet from new connection is going to be attached to it creating packet consisting of fragments #1-#1-#2. This will be forwarded to upper layers. After that, fragment #3 is going to be used as a starting point for another SCO packet. It does not contain a SCO header, but the code expects it, casts a SCO header structure on it, and reads whatever audio data happens to be there as SCO packet length and handle. From that point on, we are assembling random data into SCO packets. Usually it recovers quickly as initial audio data contains mostly zeros (muted stream), but setups of over 4 seconds were observed. Issue manifests itself by printing on the console: Bluetooth: hci0 SCO packet for unknown connection handle 48 Bluetooth: hci0 SCO packet for unknown connection handle 2560 Bluetooth: hci0 SCO packet for unknown connection handle 12288 It may also show random handles if audio data was non-zeroed. Hcidump shows SCO packets with random length and handles. Few messages with handle 0 at connection creation are OK for some controllers (like WilkinsPeak), as there are SCO packets with zeroed handle at the beginning (possible controller bug). Few of such messages at connection end, with a handle looking sane (around 256, 512, 768 ...) is also OK, as these are last SCO packets that were assembled and sent up, before connection was ended, but were not handled in time. This issue may still manifest itself on WilkinsPeak as it sometimes, at SCO connection creation, does not send third fragment of first SCO packet (#1-#2-#1-#2-#3...). This is a firmware bug and this patch does not address it. Signed-off-by: Kuba Pawlak <kubax.t.pawlak@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f755247379912f1b855f05cb44e3e2b11abdee11 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 9 21:04:15 2015 +0200 Bluetooth: hci_intel: Enable IRQ wake capability We need to explicitly enable the IRQ wakeup mode to let the controller wake the system from sleep states (like suspend-to-ram). PM suspend/resume callbacks now call the generic intel device PM functions after enabling/disabling IRQ wake. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 30e945fb28a66bbbc00859540f79d08e76dec2e2 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 9 19:08:02 2015 +0200 Bluetooth: hci_intel: Give priority to LPM packets Change the way to insert LPM packets into the txq. Use skb_queue_head instead of skb_queue_tail to always prioritise LPM packets over potential tx queue content. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9def9afde77a298bfc6ad84a6c5a9e9523aa8bab Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Sat Sep 5 12:27:59 2015 +0200 atusb: add handling for different chipnames This patch supports handling for printout different chipnames between atusb and rzusb. The rzusb contains an at86rf230 and atusb an at86rf231 transceiver. Cc: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c5080d42db1d5d5c57274bb4235d0e50fd3a3a6d Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Fri Sep 4 17:08:18 2015 +0200 Bluetooth: Fix typo in smp_ah comment for hash function Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 6cc4396c8829cb65e0cf182c8a13ce6b2ac66a88 Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Fri Sep 4 15:35:44 2015 +0200 Bluetooth: hci_bcm: Add wake-up capability Retrieve the Interruption used by BCM device, which can be declared as Interruption or GpioInt in the ACPI table. Retrieve IRQ polarity from the ACPI table to use it for host_wake_active parameter of Setup Sleep vendor specific command. Configure BCM device to wake-up the host. Enable IRQ wake while suspended. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e924d3d65aeef31733a84d16e3fe72531b0494b4 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Fri Sep 4 17:54:36 2015 +0200 Bluetooth: btusb: Use btintel_load_ddc_config for device config btintel_load_ddc_config is now part of btintel. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1cfbabdd11b32b6312a239a80583bbc09e1c3461 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Fri Sep 4 17:54:35 2015 +0200 Bluetooth: hci_intel: Add Device configuration Apply DDC parameters once controller is in operational mode. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 145f2368c5fd7962e37315ccc092670743019d08 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Fri Sep 4 17:54:34 2015 +0200 Bluetooth: btintel: Add Device Configuration support btintel_load_ddc_config retrieves the ddc file and sends its content via DDC commands (opcode 0xfc8b). The ddc file should contain one or more DDC structures. A DDC structure is composed of the folowing fields: field: | DDC LEN | DDC ID | DDC VALUE | size: | 1 byte | 2 bytes | DDC LEN - 2 | Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a9cb0fe4895cae95b49934af6fdcc54aa04e723d Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Fri Sep 4 17:39:25 2015 +0200 Bluetooth: hci_intel: Fix warnings due to unused lpm functions intel_lpm_suspend/resume are only used in case of CONFIG_PM. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0eee53cdd985772284a14b21088e7677aeca45f9 Author: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Date: Thu Sep 3 23:08:45 2015 +0200 Bluetooth: btintel: fix warning Fix compilation the following compilation warning, which happens when CONFIG_BT_INTEL is not set: drivers/bluetooth/btintel.h:98:13: warning: â??btintel_version_infoâ?? defined but not used [-Wunused-function] static void btintel_version_info(struct hci_dev *hdev, struct intel_version *ver) ^ Signed-off-by: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bfe08a875a8903c0abb1ef5d57722252d14ede2e Author: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Date: Thu Sep 3 16:31:35 2015 +0200 ieee802154: af_ieee802154: fix typo in comment. Signed-off-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 29cd5ddc45d66ce41632a76bb4dc2ae37b88b9e6 Author: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Date: Thu Sep 3 16:31:34 2015 +0200 ieee802154: docs: fix project name to linux-wpan as well as some typos Signed-off-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5c3c4736370961a121994cffd87f4dddc95ea8f2 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Aug 27 21:49:20 2015 +0200 at86rf230: detailed edge triggered irq warning This patch introduce a more detailed information why edge triggered irq's are currently not recommended. It could be that rising/falling edge detection can happen while the irq is disabled. Suggested-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 493bc90a96839ffde5e6216c62c025d2f9e6efc3 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Aug 27 21:49:19 2015 +0200 at86rf230: add debugfs support This patch introduce debugfs support for collect trac status stats. To clear the stats ifdown the interface of at86rf230 and start the interface again. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ed4a26b0995baf10807ebb3f18fba3db2c6539fc Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Aug 27 21:49:18 2015 +0200 at86rf230: interrupt tx with force trx_off To abort a TX_ARET_BUSY state it's recommended to switch into TRX_OFF state by doing STATE_TRX_FORCE_OFF. This patch will do always a TRX_OFF state change when the transceiver stucks in any state. From TRX_OFF we can switch to the states which are also possible by TX_ON state. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 346ce4bbddfd40aa62b899db8982c728ed3d42a5 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Thu Aug 27 21:49:17 2015 +0200 at86rf230: change trac status check behaviour When transmit is done, indicated by trx_end irq, we do first a force state change to TX_ON and then checking the trac status, if the trac status is unequal zero we do a state change to TRX_OFF. This patch changes to the following behaviour, we first check on trac status after trx_end occurs and then doing a normal change to TX_ON without do the state change to TRX_OFF when trac status is unequal zero. The reasons are that the datasheet doesn't described when the trac status register is cleared, we should doing to evaluate the trac status at first. The reason to remove the TRX_OFF change if the trac status is unequal to zero and it was force is the following paragraph inside The at86rf2xx datasheets: "Using FORCE_PLL_ON to interrupt an TX_ARET transaction, it is recommended to check register bits [7:5] of register address 0x32 for value 0. If this value is different, TRX_CMD sequence FORCE_TRX_OFF shall be used immediately followed by TRX_CMD sequence PLL_ON. This performs a state transition to PLL_ON." The meaning is here "to interrupt an TX_ARET transaction" in case of trx_end interrupt the "TX_ARET transaction" is already done and we don't interrupt the "TX_ARET transaction" by doing the change to TX_ON (PLL_ON) here. Additional I changed the force change to normal TX_ON which seems to work here. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a1d8d9a57c3389dc95698ad44284c13330235691 Author: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Date: Thu Sep 3 14:54:19 2015 +0200 ieee802154: 6lowpan: use correct ESC value for dispatch The ESC dispatch value has some history and it originally was 0x7f in rfc4944 (see section-5.1). With the release of rfc6282 this value got part of the LOWPAN_IPHC range and was no longer available for ESC. Instead 0x40 was used as replacement (see section-2 in rfc6282). We have been checking the dispatch byte in an order where IPHC would always be evaluated before ESC and thus we would never reach the ESC check as the IPHC range already covers this value. Signed-off-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 776857a87ccf1ae3095d9e16fbc8a0f9d1daac7e Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 20:05:42 2015 +0200 ieee802154: 6lowpan: fix drop return value This patch changes the return value of lowpan packet receive handler to the correct NET_RX_DROP instead RX_DROP. This issue was detected by sparse and reported from Marcel: net/ieee802154/6lowpan/rx.c:329:32: expected int net/ieee802154/6lowpan/rx.c:329:32: got restricted lowpan_rx_result ... Reported-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 187625e18498ff0f3738a059778a8578171f06c8 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:31 2015 +0200 ieee802154: 6lowpan: remove tx full-size calc workaround This patch removes a workaround for datagram_size calculation while doing fragmentation on transmit. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0c4349687fb6de660b24d3498d12e068f0320425 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:30 2015 +0200 ieee802154: 6lowpan: remove packet type to host This patch remove the packet_type to host and leave the mac pkt_type. By running 'grep -r "pkt_type" net/ipv6', the IPv6 stack will evaluate this value for PACKET_BROADCAST. Instead of overwriting this value we will leave the mac value there which is broadcasts if the mac frame was a broadcast frame. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 54552d03023cfd485cedf8d7471d1554139d58aa Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:29 2015 +0200 ieee802154: 6lowpan: check on valid 802.15.4 frame This patch adds frame control checks to check if the received frame is something which could contain a 6LoWPAN packet. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c6fdbba3eadd5af695c1290c59fe917ce8d9295f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:28 2015 +0200 ieee802154: 6lowpan: add check for reserved dispatch This patch adds checks for reserved dispatch value. When we have a reserved dispatch value we should drop the skb immediately. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ad663600e1a8e2db1c4343bae73836f793ff4e08 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:27 2015 +0200 ieee802154: 6lowpan: add handler for all dispatch values This patch adds dummy handlers for all known IEEE 802.15.4 dispatch values which prints a warning that we don't support these dispatches right now. Also we add a warning to the RX_CONTINUE case inside of lowpan_rx_handlers_result which should now never happend. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit faf7d36e5ecd16ab090c82d14bff31f7ab2f70e6 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:26 2015 +0200 ieee802154: 6lowpan: add generic lowpan header check This patch introduce an earlier check if a 6LoWPAN frame can be valid. This contains at first for checking if the header contains a dispatch byte and isn't the nalp dispatch value, which means it isn't a 6LoWPAN packet. Also we add a check if we can derference the dispatch value by checking if skb->len is unequal zero. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72a5e6bb5120d6464c9e7855c5a22555ede819dc Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:25 2015 +0200 ieee820154: 6lowpan: dispatch evaluation rework This patch complete reworks the evaluation of 6lowpan dispatch value by introducing a receive handler mechanism for each dispatch value. A list of changes: - Doing uncompression on-the-fly when FRAG1 is received, this require some special handling for 802.15.4 lltype in generic 6lowpan branch for setting the payload length correct. - Fix dispatch mask for fragmentation. - Add IPv6 dispatch evaluation for FRAG1. - Add skb_unshare for dispatch which might manipulate the skb data buffer. Cc: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f801cf40243d8f81ac05aa7466d9d8b1e676ee7c Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:24 2015 +0200 ieee802154: 6lowpan: earlier skb->dev switch We should change the skb->dev pointer earlier to the lowpan interface Sometimes we call iphc_decompress which also use some netdev printout functionality. This patch will change that the correct interface will be displayed in this case, which should be the lowpan interface. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 742c3afe53c5d16fa62632c34f8e2273766d3052 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:23 2015 +0200 ieee802154: 6lowpan: trivial checks at first This patch moves some trivial checks at first before calling skb_share_check which could do some memcpy if the buffer is shared. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ad23d5b9da399c0ecbe58e16c6603c3fcdcafdbd Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:22 2015 +0200 ieee802154: 6lowpan: cleanup pull of iphc bytes This patch cleanups the pull of the iphc bytes. We don't need to check if the skb->len contains two bytes, this will be checked by lowpan_fetch_skb_u8. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 989d433dca558fda85e592fc675af2a59af88858 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:21 2015 +0200 ieee802154: 6lowpan: change if lowpan dev is running We don't need to check if the wpan interface is running because the lowpan_rcv is the packet layer receive handler for the wpan interface. Instead doing a check if wpan interface is running we should check if the lowpan interface is running before starting 6lowpan adaptation layer. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 348a882ea745039295e721ef00f1b46307fb1c88 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:20 2015 +0200 ieee802154: 6lowpan: remove EXPORT_SYMBOL This function is used internally inside of ieee802154 6lowpan module only and not outside of any other module. We don't need to export this function then. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 56aeaddfbc874123c88e5b058b068ce8fca71dcd Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:19 2015 +0200 ieee802154: 6lowpan: remove set to zero Internal mechanism by calling netdev_alloc which use kzalloc already sets these variables to zero. This patch cleanup the setup of net_device. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2c88b5283f60d09d41b9fe03351c0d2e8eef904f Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:18 2015 +0200 ieee802154: 6lowpan: remove check on null This patch removes one check on null which should be already done by checking before for ARPHRD_IEEE802154. All ARPHRD_IEEE802154 and ARPHRD_IEEE802154_MONITOR should have wdev->ieee802154_ptr, where ARPHRD_IEEE802154 is currently a node interface only. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 90997af7e9dc47cb12afd4170ee0d3541fb09400 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:17 2015 +0200 ieee802154: 6lowpan: register packet layer while open This patch moves the open count handling while doing open of a lowpan interface. We need the packet handler register at first when one lowpan interface is up. There exists a small case when all lowpan interfaces are down and the 802154 packet layer is still registered. To reduce some overhead we will register the packet layer when the first lowpan interface comes up and unregister when the last interface will become down. Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f4606583fd8dcf15a07060dbd45a3e369144a934 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Wed Sep 2 14:21:16 2015 +0200 ieee802154: 6lowpan: change dev vars to wdev and ldev Inside the IEEE 802.15.4 6LoWPAN subsystem we use two interfaces which are wpan and lowpan interfaces. Instead of using always the variable name "dev" for both we rename the "dev" variable to wdev which means the wpan net_device and ldev which means a lowpan net_device. This avoids confusing and always looking back to see which net_device is meant by the variable name "dev". Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 517a5460a93d641e2beb362d4066f9861f108e2f Author: Kieran Bingham <kieranbingham@xxxxxxxxx> Date: Wed Sep 2 13:51:10 2015 +0100 Bluetooth: btmrvl: skb resource leak, and double free. if btmrvl_tx_pkt() is called, and the branch if (skb_headroom(skb) < BTM_HEADER_LEN) evaluates positive, a new skb is allocated via skb_realloc_headroom. The original skb is stored in a tmp variable, before being free'd. However on success, the new skb, is not free'd, nor is it returned to the caller which will then double-free the original skb. This issue exists from the original driver submission in commit: #132ff4e5fa8dfb71a7d99902f88043113947e972 If this code path had been alive, it would have been noted from the double-free causing a panic. All skb's here should be allocated through bt_skb_alloc which adds 8 bytes as headroom, which is plenty against the 4 bytes pushed on by this driver. This code path is dead, and buggy at the same time, so the cleanest approach is to remove the affected branch. Reported by coverity (CID 113422) Signed-off-by: Kieran Bingham <kieranbingham@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6b3cc1db68ac83647d37f7d16f0261621eda24aa Author: Simon Fels <simon.fels@xxxxxxxxxxxxx> Date: Wed Sep 2 12:10:12 2015 +0200 Bluetooth: close HCI device when user channel socket gets closed With 9380f9eacfbbee701daa416edd6625efcd3e29e1 the order of unsetting the HCI_USER_CHANNEL flag of the HCI device was reverted to ensure the device is first closed before making it available again. Due to hci_dev_close checking for HCI_USER_CHANNEL being set on the device it was never really closed and was kept opened. We're now calling hci_dev_do_close directly to make sure the device is correctly closed and we keep the correct order to unset the flag on our device object. Signed-off-by: Simon Fels <simon.fels@xxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1b1975749f856946f716180ca94db52fb1ae3500 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 2 12:04:14 2015 +0200 Bluetooth: hci_intel: Show error in case of invalid LPM packet size Don't hide this packet size error. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 74cdad37cd2410c5cec2160d031e04577948aff0 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 2 12:04:13 2015 +0200 Bluetooth: hci_intel: Add runtime PM support Implement runtime PM suspend/resume callbacks. If LPM supported, controller is put into supsend after a delay of inactivity (1s). Inactivity is based on LPM idle notification and host TX traffic. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit aa6802df09fe324c2c19d75ab1a9a001cd7e4d4a Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 2 12:04:12 2015 +0200 Bluetooth: hci_intel: Add PM support Add PM suspend/resume callbacks which call lpm_suspend/resume. Add LPM ack in threaded IRQ handler to notify the controller that resume is complete. Protect hci_uart against concurrent removing during suspend/resume. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 894365468ed4a569ece9de03abbf13f1af3042b8 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Wed Sep 2 12:04:11 2015 +0200 Bluetooth: hci_intel: Implement LPM suspend/resume Add LPM PM suspend/resume/host_wake LPM functions. A LPM transaction is composed with a LPM request and ack/response. Host can send a LPM suspend/resume request to the controller which should respond with a LPM ack. If resume is requested by the controller (irq), host has to send a LPM ack once resumed. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 65ad07c9e5f3935a06517c007e90d2b2ef4829ac Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Sep 1 12:13:36 2015 +0200 Bluetooth: hci_bcm: Use bt_dev logging helpers Replace BT_ logging calls by the new bt_dev ones. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bb3ea16a44c648cd5ebcf3cc88dd522f432063ab Author: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Date: Tue Sep 1 12:13:35 2015 +0200 Bluetooth: hci_bcm: Replace spinlock by mutex Replace spinlock by mutex to be able to use bcm_device_lock in sleepable context like devm_request_threaded_irq or upcomming PM support. Signed-off-by: Frederic Danis <frederic.danis@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f81b001a3e1c7ac42ba734de8d136a14ccb087c0 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Aug 30 23:05:32 2015 +0200 Bluetooth: hci_qca: Fix a few tab vs spaces issues Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 67c8bde04d8587a57112993d1342c62b851b0756 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Mon Aug 31 18:34:31 2015 +0200 Bluetooth: hci_intel: Replace spinlock with mutex Replace the device_intel list spinlock with a mutex. devm_request_threaded_irq is not atomic and upcomming PM support should be simpler. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f44e78a5fc5b103e4d7b04480365a128ca9184ee Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Mon Aug 31 18:34:30 2015 +0200 Bluetooth: hci_intel: Use bt_dev logging helpers Replace BT_ logging calls by the new bt_dev ones. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b98469f4be5f606339233fe2da9586e2a7067ffe Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Sat Aug 29 13:38:19 2015 +0200 Bluetooth: hci_intel: Introduce LPM support Enable controller Low-Power-Mode if we have a pdev to manage host wake-up. Once LPM is enabled, controller notifies its TX status via a vendor specific packet (tx_idle/tx_active). tx_active means that there is more data upcoming from controller. tx_idle means that controller can be put in suspended state. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 765ea3abd116fc6dc5f67d73fcd7010a7a88f3cc Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Sat Aug 29 13:38:18 2015 +0200 Bluetooth: hci_intel: Retrieve host-wake IRQ An IRQ can be retrieved from the pdev resources. This irq will be used in case of LPM suspend mode to wake-up the host and resume the link. This resource can be declared as a GPIO-Interrupt which requires to be converted into IRQ. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6f558b70fb39fc8272fc513ecf191b3ad87d867b Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Sun Aug 30 18:16:55 2015 +0200 Bluetooth: Add bt_dev logging macros Add specific bluetooth device logging macros since hci device name is repeatedly referred in bluetooth subsystem logs. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6cafcd959599d91d0fa4615feae7f1e7ab407c4b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sun Aug 30 21:47:21 2015 +0300 Bluetooth: btusb: Detect new kind of counterfeit CSR controllers Controllers claiming to be CSR with LMP subversion 0x0c5c don't actually seem to be authentic CSR controllers. They also don't have their USB bcdDevice value matching the LMP subversion like all other CSR controllers: HCI: > HCI Event: Command Complete (0x0e) plen 12 Read Local Version Information (0x04|0x0001) ncmd 1 Status: Success (0x00) HCI version: Bluetooth 2.0 (0x03) - Revision 3164 (0x0c5c) LMP version: Bluetooth 2.0 (0x03) - Subversion 3164 (0x0c5c) Manufacturer: Cambridge Silicon Radio (10) USB: T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=16 #Cfgs= 1 P: Vendor=0a12 ProdID=0001 Rev= 1.34 C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA 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 These controllers also have the HCI_Read_Stored_Link_Key command broken so it's important the right quirk is set for them. Reported-and-tested-by: Rhobison Alves Pereira <rhobison@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e81be90bdafa48389028249c357a4efcd0fdce53 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sun Aug 30 21:47:20 2015 +0300 Bluetooth: Use BROKEN_STORED_LINK_KEY quirk for HCI_Read_Stored_Link_Key Some counterfeit CSR controllers also have broken behavior with the HCI_Read_Stored_Link_Key command: < HCI Command: Read Stored Link Key (0x03|0x000d) plen 7 Address: 00:00:00:00:00:00 (OUI 00-00-00) Read all: 0x01 > HCI Event: Command Complete (0x0e) plen 8 Read Stored Link Key (0x03|0x000d) ncmd 1 Status: Unsupported Feature or Parameter Value (0x11) Max num keys: 0 Num keys: 0 Extend the existing HCI_QUIRK_BROKEN_STORED_LINK_KEY to be also used for this HCI command. Reported-and-tested-by: Rhobison Alves Pereira <rhobison@xxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5af82fa66a7ee8dfc29fadb487a02e2ef14ea965 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Wed Sep 9 11:34:37 2015 +0300 ath10k: add ATH10K_FW_FEATURE_RAW_MODE_SUPPORT to ath10k_core_fw_feature_str[] This was missed in the original commit adding the flag and ath10k only printed "bit10": ath10k_pci 0000:02:00.0: qca988x hw2.0 (0x4100016c, 0x043202ff) fw 10.2.4.70.6-2 api 3 htt-ver 2.1 wmi-op 5 htt-op 2 cal otp max-sta 128 raw 0 hwcrypto 1 features no-p2p,bit10 Also add a build test to avoid this happening again. Fixes: ccec9038c721 ("ath10k: enable raw encap mode and software crypto engine") Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b263d20373d7726dd3ac0cd5e32f123e69a02847 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Tue Aug 18 15:14:06 2015 -0700 regulator: Introduce property to flag set-load support Introduce "regulator-allow-set-load" property to make it possible to flag in the board configuration that a regulator is allowed to have the load requirements changed. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c15f6ed3a18f10cdc33f64906ab353f17a6df114 Author: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Date: Mon Aug 17 11:52:54 2015 +0800 spi: bitbang: Replace spinlock by mutex chipselect (in the case of spi-gpio: spi_gpio_chipselect, which calls gpiod_set_raw_value_cansleep) can sleep, so we should not hold a spinlock while calling it from spi_bitbang_setup. This issue was introduced by this commit, which converted spi-gpio to cansleep variants: d9dda5a191 "spi: spi-gpio: Use 'cansleep' variants to access GPIO" Replacing the lock variable by a mutex fixes the issue: This is safe as all instances where the lock is used are called from contexts that can sleep. Finally, update spi-ppc4xx and and spi-s3c24xx to use mutex functions, as they directly hold the lock for similar purpose. Signed-off-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9713e3de801eb9c2dd2221ba8c1dddd5bc7ba360 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 3 10:44:52 2015 +0200 ath10k: handle IEEE80211_CHANCTX_CHANGE_WIDTH properly Vdevs associated with a given chanctx should be restarted if the bandwidth changes. Otherwise traffic may cease. This is known to fix STA CSA with bandwidths wider than 20MHz. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7be6d1b7625ab20e1dfde07a0c6dc77784efbb48 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 3 10:44:51 2015 +0200 ath10k: split switch_vif_chanctx guts This is necessary to make vdev restarting logic reusable later. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 634349bae0b2a23f71cabbdb770d35fffc1aad8c Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 3 10:43:45 2015 +0200 ath10k: move hw_scan worker queuing The remain_on_channel callback needs different timeout. Calling ieee80211_queue_work() with a shorter delay after calling it with a longer delay will not change the timer. This caused the offchannel timeout worker to not trigger in time and caused the device to stay on channel longer then expected. This could cause some problems and was be easily reproduced with `iw offchannel` command. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit b6c7bafa7d4b1398cce93e4af0a48603919fa933 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Wed Sep 9 12:47:36 2015 -0400 ath10k: implement mesh support Add support for mesh to ath10k. We simply use an AP virtual interface in the firmware in order to enable beaconing without TSF adoption, and use the raw (802.11) transmit mode. Due to firmware limitations, the firmware must operate in raw (non-native 802.11) mode. As this is configured at firmware init time, a new "rawmode" modparam is added, and mesh interfaces are available only if rawmode=true. The firmware must advertise support for rawmode; tested successfully with firmware 10.2.4.70.6-2. When the module is loaded with (newly implemented) modparam rawmode=1, it will enable operating an open mesh STA via something like the following: ip link set wlan0 down iw dev wlan0 set type mp ip link set wlan0 up iw dev wlan0 set freq 5745 80 5775 iw dev wlan0 mesh join mesh-vht Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bc76c28719d4333248a516fd4d469ab741b44b63 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Wed Sep 9 12:47:35 2015 -0400 ath10k: check for encryption before adding MIC_LEN In the case of raw mode without nohwcrypt parameter, we should still make sure the frame is protected before adding MIC_LEN to avoid skb_under_panic errors. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0d031c8995bcc065f9c5778069f2131f7d92d4d5 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Wed Sep 9 12:47:34 2015 -0400 ath10k: enable monitor when OTHER_BSS requested By default, ath10k restricts received frames to those matching BSSID. When other BSS frames are requested (e.g. in mesh mode), add an internal monitor device so those frames are not filtered. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a650fdd9427f1f5236f83d2d8137bea9b452fa53 Author: Guo Zeng <Guo.Zeng@xxxxxxx> Date: Thu Sep 17 05:23:21 2015 +0000 regmap: irq: add ack_invert flag for chips using cleared bits as ack An user will be CSR SiRFSoC ARM chips. Signed-off-by: Guo Zeng <Guo.Zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7b7d1968e4c8d8392e8e63906d45d0bcad079037 Author: Guo Zeng <Guo.Zeng@xxxxxxx> Date: Thu Sep 17 05:23:20 2015 +0000 regmap: irq: add support for chips who have separate unmask registers Some chips have separate unmask registers from mask registers for some consideration of concurrency SMP write performance. And this patch adds a flag for it. An user will be CSR SiRFSoC ARM chips. Signed-off-by: Guo Zeng <Guo.Zeng@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 31f4f0c640bd2d144ab16666c76d45f173f952f5 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Thu Sep 17 04:55:55 2015 +0800 ASoC: sunxi: fix platform_no_drv_owner.cocci warnings sound/soc/sunxi/sun4i-codec.c:708: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: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 14a998be08e5286741021d3c81cc81e8d6d8a270 Author: Jyri Sarha <jsarha@xxxxxx> Date: Thu Sep 17 10:39:05 2015 +0300 ASoC: davinci-mcasp: Get rid of bclk_lrclk_ratio in private data The slot_width is for essentially same thing. Instead of storing bclk_lrclk_ratio, just store the slot_width. Comments has been updated accordingly and some variable names changed to more descriptive. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8985729578cb42f9e781a8e38e5b6b1ee90c1018 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Thu Sep 17 10:47:33 2015 +0200 ASoC: qcom: change PTR_ERR argument Apply PTR_ERR to the value that was recently assigned. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x,y; @@ if (IS_ERR(x) || ...) { ... when any when != IS_ERR(...) ( PTR_ERR(x) | * PTR_ERR(y) ) ... when any } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c84e5917f83334f9196a50cfa31e72207b1a7f6 Author: Jyri Sarha <jsarha@xxxxxx> Date: Thu Sep 17 13:13:38 2015 +0300 ASoC: soc-core: Fix sparse warning in be32_to_cpup() call Store return value of of_get_property() to a pointer of __be32 type as device tree has big endian type. This fixes a sparse warning couple of lines later when be32_to_cpup() is used to convert from big endian to cpu endian. The whole conversion is not really necessary, as we are only checking if the value is zero or not, but I wanted to add it to remind in the future that the data has to be converted before use. Compiler should optimize the unnecessary operations away. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ccaadda319ffa42385d8eabde0efc3c544bebce3 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 17 10:45:24 2015 +0100 ASoC: wm5110: Add additional analogue input enable for early revs Earlier revisions of the wm5110/8280 silicon require a slightly more complex procedure to enable analogue inputs. This patch adds this into the driver. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eb120ef6a3e18780e7464e7de70221d06dfe5845 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Tue Sep 15 14:19:32 2015 -0700 drm/i915: add more debug info for when atomic updates fail v3 I used these additional fields to track down the issue I saw on HSW. v2: move debug fields into a substruct (Ville) v3: clean up debug code more (Ville) References: https://bugs.freedesktop.org/show_bug.cgi?id=91579 Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit d9072a3e80bd0f2e95d6a452987899039ba808ed Author: Geliang Tang <geliangtang@xxxxxxx> Date: Tue Sep 15 05:58:44 2015 -0700 drm/i915: fix kernel-doc warnings in i915_gem.c Fix the following 'make htmldocs' warnings: .//drivers/gpu/drm/i915/i915_gem.c:1729: warning: No description found for parameter 'vma' .//drivers/gpu/drm/i915/i915_gem.c:1729: warning: No description found for parameter 'vmf' .//drivers/gpu/drm/i915/i915_gem.c:4962: warning: No description found for parameter 'old' .//drivers/gpu/drm/i915/i915_gem.c:4962: warning: No description found for parameter 'new' .//drivers/gpu/drm/i915/i915_gem.c:4962: warning: No description found for parameter 'frontbuffer_bits' Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit 0063fdfb12b4cafd98846a61ac600376dc1d2693 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Fri Sep 11 03:29:09 2015 -0400 staging: rtl8192u: r8192U_core: fix comments lines over 80 characters Move, replace and reorganize comments to stay under 80 characters per line, as to follow the kernel code style. Some unuseful comments have been removed. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50fbb884e1afdb8f650b10e86e5975ca4ec53e6b Author: Marcos Canán <mcanan@xxxxxxxxx> Date: Wed Sep 16 17:48:57 2015 -0300 staging: comedi: drivers: coding style: fixed block comment style This is a patch to the drivers.c file that fixes a block comment style. Signed-off-by: Marcos Canán <mcanan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3083eb8fd7f6f72b67c7d7c99a15bfc37289a71 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:49 2015 -0400 staging: rtl8723au: Clean up getPowerBase() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 784e36838af091160b1f4917e8fc076ae0cf468e Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:48 2015 -0400 staging: rtl8723au: TurboScanOff is always true Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36708d00b16d608801c34cf660afafdec1fdea91 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:47 2015 -0400 staging: rtl8723au: Tidy up SetTxPowerLevel8723A() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5241dc0198760e945aa94c9080e65aa49149aa4 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:46 2015 -0400 staging: rtl8723au: Fold getTxPowerIndex() into PHY_SetTxPowerLevel8723A() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b9283234e8f8f6195de37d38d4979900681e198 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:45 2015 -0400 staging: rtl8723au: Eliminate dummy ccxPowerIndexCheck() Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96a98aa1fc59c8fb0cb3bd6445111a35beed6e1f Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Tue Sep 15 16:32:44 2015 -0400 staging: rtl8723au: Simplify eeprom content checking This eliminates the ugly Hal_EEValueCheck() function Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2602b2bf419c3e5a9fad74359bb553cb4f977953 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:26 2015 +0900 staging: wicl1000: remove function pointer wlan_handle_rx_que The function pointer wlan_handle_rx_que is not called anywhere. Delete wlan_handle_rx_que and it's assignment code. But the function wilc_wlan_handle_rxq in assignment code is used. So leave it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9af382bca5bfab2891199c69447217a6aa3ededc Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 16 20:11:27 2015 +0900 staging: wilc1000: replace INLINE with static inline INLINE macro is defined as static __inline so that it is replaced by static inline. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50b51dac4a4f26b815289d6f879eac9b77e786c1 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Sep 16 20:11:26 2015 +0900 staging: wilc1000: wilc_wlan.c: use BIT(x) macro Remove bit shift macro that is custom defined, then replace BIT(x) macro. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7ed06a3840c2db50094a7b377642202a6e71da5 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:27 2015 +0900 staging: wilc1000: remove unused variable rxq_thread The rxq_thread never runs since it's kthread_run code was delete in a previous patch. Remove kthread_run and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85718c2d6b7da8adc589889fae993e1aa4a4a9fa Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:25 2015 +0900 staging: wilc1000: remove unused semaphore and it's related codes Variable rxq_event, rxq_wait_event and rxq_wait have the same pointer. nwi->os_context.rxq_wait_event = (void *)&g_linux_wlan->rxq_event; g_wlan.rxq_wait = inp->os_context.rxq_wait_event; They are never aquired(down) since down function was only called in linux_wlan_rxq_task which was deleted in a previous patch. So delete variable rxq_event, rxq_wait_event, rxq_wait and it's related codes. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51f8a39911c3b7bf8466009eba87903d75d6192d Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:24 2015 +0900 staging: wilc1000: remove variable rxq_thread_started rxq_thread_started is initiallized but never used in the driver. Remove the variable and init code line. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce25267907e15c8f69d54ba3fa02ae39aca7667f Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:23 2015 +0900 staging: wilc1000: remove function linux_wlan_rxq_task linux_wlan_rxq_task is not used in the driver. Just remove it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25a84832bb662fb2d9966b7d0f9301d93023a6cf Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:22 2015 +0900 staging: wilc1000: remove define TCP_ENHANCEMENTS and it's related code TCP_ENHANCEMENTS is always in use. Remove define TCP_ENHANCEMENTS, ifdef line, ifndef line and codes inside ifndef. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcc6ef9230373eeb0c6d897c22fef390378abc3b Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:21 2015 +0900 staging: wilc1000: remove define WILC_P2P and ifdef line WILC_P2P is always used in the driver. So delete define WILC_P2P and ifdef line. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 108b3439b7dd51687983d42e66532b9dbd3204d1 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 18:53:20 2015 +0900 staging: wilc1000: remove define WILC_AP_EXTERNAL_MLME and ifdef line This driver use WILC_AP_EXTERNAL_MLME define always. Delete define WILC_AP_EXTERNAL_MLME and ifdef line. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6569738ad547c6562c94254245a12aaaf2e375c4 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:36:04 2015 +0900 staging: wilc1000: remove wilc_errorsupport.h This patch removes the wilc_errorsupport.h which is not used anymore and also deletes #include "wilc_errorsupport.h" from the source code. In addition, adds linux_wlan_common.h file in the wilc_msgqueue.c file in order to use PRINT macros defined in the linux_wlan_common.h file. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6e12661d8e123667afc03a58fc2e90cd95c5e5e Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:36:03 2015 +0900 staging: wilc1000: replace wilc error types with the generic error types This patch replaces the error types defined by wilc driver with the generic error types provided by the Linux kernel. - WILC_SUCCESS 0 - WILC_FAIL -EFAULT - WILC_BUSY -EBUSY - WILC_INVALID_ARGUMENT -EINVAL - WILC_INVALID_STATE -EINVAL - WILC_BUFFER_OVERFLOW -EOVERFLOW - WILC_NULL_PTR -EFAULT - WILC_TIMEOUT -ETIMEDOUT - WILC_NOT_FOUND -ENOENT - WILC_NO_MEM -ENOMEM After then removes all wilc definitions. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 559e1a04e2888331dae5f648cc097dd9f30172c7 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:36:02 2015 +0900 staging: wilc1000: remove definitions unused Remove the definitions which are not used anywhere. - WILC_ALREADY_EXSIT - WILC_EMPTY - WILC_FULL - WILC_CANCELED - WILC_INVALID_FILE - WILC_UNSUPPORTED_VERSION - WILC_FILE_EOF Remove the definition which is not used anymore. - WILC_CATCH Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24db713fe5325917690c2c793a6321aa0b11a0c8 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:36:01 2015 +0900 staging: wilc1000: remove the macro WILC_ERRORREPORT This patch removes the macro WILC_ERRORREPORT which is not used anymore by replacing it with the plain statements. The compiler complains the build warnings in some functions for WILC_CATCH and ERRORHANDLER as unused definitions. So, this patch also removes WILC_CATCH and ERRORHANDLER from some of functions. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7dc1d0cc1ffa29aa11219ad7e31ae5f4dc443711 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:36:00 2015 +0900 staging: wilc1000: remove the macro WILC_ERRORCHECK This patch removes the macro WILC_ERRORCHECK which is not used anymore by replacing it with the plain statements. This patch also removes the WILC_CATCH macros from some of functions not to make the build warnings. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ae433631eacd0f0aaa749baef4c7f6baa5b3936 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 16 18:35:59 2015 +0900 staging: wilc1000: remove a macro WILC_NULLCHECK This patch replaces WILC_NULLCHECK with the plain statements and then removes the macro WILC_NULLCHECK in wilc_errorsupport.h which is not used anymore. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c116299cff0c3bf67d0c3a7880dee95212d22227 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:55 2015 +0900 staging: wilc1000: remove unused variable g_flushing_in_progress g_flushing_in_progress is never used so just delete it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57c111a472106bf75a4ac8ae525a41356f003861 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:54 2015 +0900 staging: wilc1000: coreconfigurator.h: remove unused defines The define MAX_PACKET_BUFF_SIZE and STATUS_MSG_LEN is not used in the driver. Delete two defines. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be6c212a6fc0ceb942600176258b2cb2ff9cc1d1 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:53 2015 +0900 staging: wilc1000: delete function declaration SendRawPacket SendRawpacket is declared but not implemented. It is not used also. So just delete it. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 496a77257c67035fd56bf0faeb1a8251fc0c942a Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:52 2015 +0900 staging: wilc1000: remove unused variables Variable g_num_total_switches is never used so just remove it. gastrWIDs is also not used because g_num_total_switches is deleted. Remove gastrWIDs also. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd33a8651e2cd248dfd9e519ebca535c5974be55 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:51 2015 +0900 staging: wilc1000: delete unused global variables. gstrConfigPktInfo, SemHandleSendPkt and SemHandlePktResp are never used in the drivers. So just delete the variables and it's related code. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b701da39edeaa6f3f209f76b8f965700090ad60f Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:50 2015 +0900 staging: wilc1000: remove unnecessary extern function declaration Function NetworkInfoReceived, GnrlAsyncInfoReceived and host_int_ScanCompleteReceived are declared in the header file already. Just removes the declaration and comments. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20f44491070376150a9e68860129786869eff4a6 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:49 2015 +0900 staging: wilc1000: remove unused defines This patch removes follwing unused defines. MAX_CFG_PKTLEN MSG_HEADER_LEN QUERY_MSG_TYPE WRITE_MSG_TYPE RESP_MSG_TYPE WRITE_RESP_SUCCESS INVALID MAC_ADDR_LEN Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d52979b3bbe4622b799c29cf2647b1d1e20d5336 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:48 2015 +0900 staging: wilc1000: remove unnecessary define FIVE_GHZ_BAND wilc1000 driver does not support five Ghz band. Remove FIVE_GHZ_BAND and it's related code. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d30244a032f2e05e5125b45f20648ebe7dec2798 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Wed Sep 16 10:43:47 2015 +0900 staging: wilc1000: remove useless define PHY_802_11n The define PHY_802_11n is useless because wilc1000 support 802.11n as always. Remove PHY_802_11n and it related code. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b4738c0b416b7578a09dde83ac02a1194b4d25f Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Wed Sep 16 10:43:46 2015 +0900 staging: wilc1000: remove PANDA_BOARD This patch removes one of the platform dependencies, PANDA_BOARD from the driver codes. The device tree will provide the platform dependencies in the future commits. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efc0cfa1341b9718b8bf295641e2bf909fe215ba Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Tue Sep 15 14:28:18 2015 +0530 Staging: most: aim-network: Replace pr_info with netdev_info Use netdev_* family of macros when there is reference to a network device. dev->name is removed as netdev_info will print the device name Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2877f245cf13d4cc6be4dab149d3d2f239ce8cd6 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Wed Sep 16 19:51:56 2015 -0700 staging/lustre: use __noreturn for lbug_with_loc fixes sparse error: drivers/staging/lustre/lustre/libcfs/linux/linux-debug.c:149:6: error: symbol 'lbug_with_loc'redeclared with different type (originally declared at drivers/staging/lustre/lustre/libcfs/linux/../../../include/linux/libcfs/libcfs_private.h:82) - different modifiers Use the __noreturn macro instead of __attribute__((noreturn)) The macro is exactly that but its usage seems more common and it is bit more readable. Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59cfb96fcdcc53ead9ca2ef766e6bd91a09615eb Author: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Date: Wed Sep 16 17:12:21 2015 +0530 staging: lustre: lnet: lnet: Removed a space Removed a space to fix the following coding style warning detected by checkpatch: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1c4ad3a2e1fbd0ec0ae3ec16efe788df502adcd Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:10 2015 -0400 staging/lustre: Remove server defines from lustre_disk.h Take initial stab at removing server-disk related defines that client does not need. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa2d3e81a47ebbba0738c039dcc9df5045168cd9 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:09 2015 -0400 staging/lustre: remove IS_MDS|IS_OST|IS_MGS defines and users These could only happen on the server, so they make no sense on the client. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15b441cd9f7b802b38bf83c8bebabc7a69ec6fc5 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:08 2015 -0400 staging/lustre: Remove IS_SERVER and all users Since the client can never be server, this is all dead code. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bea5820d7ad868ba4e4096b259fd8d5a359f6feb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:07 2015 -0400 staging/lustre: remove obd_memory stats counter Now that we no longer track allocated memory, remove obd_memory statistics counter and all references to it everywhere Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ea9d6652b1e8d8f9299ec4dcfb9e20499923b2f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:06 2015 -0400 staging/lustre: Remove lustre used memory tracking framework Lustre memory allocation framework has a feature to track amount of allocated memory, but since it's not being used consistently anymore and is on the way out in general, just remove it. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 543d5f3d280748558e6f187e1805a16164d59dac Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:05 2015 -0400 staging/lustre: Remove memory allocation fault injection framework Lustre memory allocation wrappers also included a fault injection framework that's totally redundant, since in-kernel offering is actually superior to what we had. So let's remove it. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1708ad71433b01ed38fa5468bc0e8e95fc267fb Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:04 2015 -0400 staging/lustre: Remove unused OBD_ALLOC* and OBD_FREE macros This removes now unused OBD_ALLOC, OBD_ALLOC_GFP, OBD_ALLOC_PTR, OBD_ALLOC_LARGE and supporting infrastructure. Also OBD_FREE, OBD_FREE_PTR, OBD_FREE_LARGE and supporting infrastructure. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35eaf88724f7cc37c3b2c112d3333b98cddabaf5 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:03 2015 -0400 staging/lustre: Remove stray bit of userland utils code The UTILS are userland and I see it's causing confusion with things beging already converted to kmalloc, so just remove it. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df29ca21143975d6ed11873fdf7e2248a6016ef0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:02 2015 -0400 staging/lustre: Replace last users of OBD_ALLOC/FREE_LARGE OBD_ALLOC_LARGE is now replaced with libcfs_kvzalloc and OBD_FREE_LARGE is now replaced with kvfree. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1089175c9c99e5cd8378b19a5a90bc0076b9151f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:01 2015 -0400 staging/lustre/ptlrpc: Replace OBD_FREE_PTR with kfree Part of effort of getting rid of custom Lustre alloc/free macros Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 781c848aa3e005415e03381640e2d886d4fd4f31 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:27:00 2015 -0400 staging/lustre: Convert lustre_cfg_new/free to use kzalloc/kfree Part of effort of getting rid of custom Lustre allocation macros Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3dc6f3252296f158764b110310124ec0e5eec6b0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:59 2015 -0400 staging/lustre/fld: Replace OBD_ALLOC_GFP with kzalloc Part of effort to get rid of custom Lustre allocation macros. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0a2472fa8e3a00168640542f158cc6ba8f55aaa Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:58 2015 -0400 staging/lustre: Remove references to OBD_ALLOC/FREE* in comments Since everything is now supposed to use regular kernel alloc and free functions. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d37c8781c0c1f7d52213b94a32c9b82f402845f0 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:57 2015 -0400 staging/lustre/obdclass: replace OBD_ALLOC_GFP with kzalloc Part of getting rid of custom Lustre allocation macros. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af13af52e488ed2d2044924ea73ecb8589fc4d3b Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:56 2015 -0400 staging/lustre/llite: Get rid of OBD_ALLOC/FREE_PTR The remaining users in ll_open_cleanup and obd_mod_alloc are converted to regular kzalloc/kfree. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fca5ba8a1d047b4eddc1774d64eccdf9724a9577 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:55 2015 -0400 staging/lustre: Remove users of OBD_ALLOC/FREE_PTR lu_object.h These are converted to regular kzalloc/kfree calls. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6173fe0be3257067203a559a2290489a7664101 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:54 2015 -0400 staging/lustre: Remove unused OBD_CPT_ALLOC* macros OBD_CPT_ALLOC and friends are no longer used, so remove them. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8800d8cf7edaa80f17b1a03c39e0d13ffa34565f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:53 2015 -0400 staging/lustre: Remove unused OBD_VMALLOC These macros are not used anymore, so let's remove them, also __OBD_VMALLOC_VEROBSE and OBD_CPT_VMALLOC Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fd57333deabe3a37f7e57b64841e46e1834a598 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:26:52 2015 -0400 staging/lustre: Remove OBD_CPT_ALLOC_LARGE Remove OBD_CPT_ALLOC_LARGE define and convert the only user to libcfs_kvzalloc_cpt. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e478098ac0ac1b6ef9a70fcdc2ec8b93f1b59a1 Author: Alex Gartrell <agartrell@xxxxxx> Date: Mon Sep 14 23:23:05 2015 -0700 ipvs: add sysctl to ignore tunneled packets This is a way to avoid nasty routing loops when multiple ipvs instances can forward to eachother. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ee4a5f838c8437484c9387e9ef9256332f07f3dd Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Wed Aug 5 01:48:37 2015 +0800 ARM: imx: add suspend/resume support for i.mx6ul This patch adds suspend function for i.MX6UL, it supports "standby" and "mem" mode, for "standby" mode, SoC will enter STOP mode only, while for "mem" mode, SoC will enter STOP mode and DDR IO will be set to low power mode. As i.MX6UL contains a "Cortex-A7" ARM core which has no PL310, so we need to avoid any PL310 operations during suspend/resume, also, we need to flush Cortex-A7's inernal L2 cache before suspend. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> commit 44103fcfef646b5d6a5a8f8f48a2abdc9e9dbdea Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Fri Aug 28 17:09:34 2015 +0800 ARM: imx_v6_v7_defconfig: enable imx6ul_tsc Enable imx6ul touchscreen controller Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 8efaf5ed4d442068a1b76f218c0a90e6a5989f11 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Thu Aug 6 22:13:56 2015 +0800 clk: imx: increase AXI clock rate to 264MHz for i.MX6UL On i.MX6UL, AXI clock rate's design target is 264MHz, but by default it is only set to 198MHz which is NOT good enough for performance, this patch increases AXI clock rate from 198MHz to 264MHz to meet the design target, this is done by switching its parent clock "periph" from 396MHz PFD to 528MHz PLL. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> commit 6658356014cbf772c7f11154adc0c46717b3322b Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Sep 16 08:37:11 2015 +0900 ARM: dts: Add support Odroid XU4 board for exynos5422-odroidxu4 Add Hardkernel Odroid XU4 board Device Tree sources. The board differs from Odroid XU3 and XU3-Lite by: 1. No green and red LEDs (except standard red power LED). 2. Only two PWM outputs are used (fan and blue LED) 3. No audio codec. 4. Two USB3 ports in host mode (no micro USB3 connector for OTG). 5. Realtek RTL8153-CG gigabit network adapter (instead of SMSC9514). 6. Additional connector with IO ports (I2S_0, I2C_5). 7. No DisplayPort (like XU3-Lite). 8. No TI INA231 power measurement sensors (like XU3-Lite). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 8cec734904f55d5551ac97fa9910752ef521a673 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Sep 16 08:37:07 2015 +0900 ARM: dts: Split audio configuration to separate exynos5422-odroidxu3-audio The Odroid XU4 board does not have audio codec so before adding DTS for new board split the audio codec to separate DTSI file. Include the audio codec DTSI in Odroid XU3 and XU3-Lite boards. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 0fb033bb3a384fdf1c08bcfaf429ca6431de91c7 Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Mon Aug 17 08:55:51 2015 +0900 ARM: dts: Fix power off method for exynos5422-odroidxu3-common The Odroid XU3 family boards have ACOKB pin of PMIC grounded, instead of pulled up as usual. This means that PMIC must manually set PWRHOLD field in its CTRL1 register to low before initiating power down. This fixes Odroid XU3 powering off: [ 25.966053] reboot: Power down [ 25.967679] Power down. [ 26.070174] Power down failed, please power off system manually. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Reported-by: Anand Moon <linux.amoon@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 6a4479f965430457f301c61dfe7b0dd76f691e9e Author: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Date: Mon Aug 17 08:55:51 2015 +0900 dt-bindings: Document grounded ACOKB pin on S2MPS11 Document a new Device Tree property 'samsung,s2mps11-acokb-ground' indicating that ACOKB pin of S2MPS11 PMIC is connected to the ground so the PMIC must manually set PWRHOLD bit in CTRL1 register to turn off the power. Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@xxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit d3981d1e0a34bd294d620476a33967452e0298a7 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Mon Aug 17 08:53:48 2015 +0900 ARM: dts: use pwm-fan device as a cooling device for exynos4412-odroidu3 With those bindings it is possible to use pwm-fan device available in Odroid U3 as a cooling device. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit ee6011f299f3e75458bd6e91db5795e5adedd6fe Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Mon Aug 17 08:53:47 2015 +0900 ARM: dts: Add pwm-fan node for exynos4412-odroidu3 Add pwm-fan node to the Odroid-U3 board file to enable PWM control of the cooling fan. In addition, add the "pwm" label to the pwm@139D0000 node in the exynos4412.dtsi. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit 41553f267a369f24244867f5d6c8d4df254906b7 Author: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Date: Mon Aug 17 08:53:47 2015 +0900 dt-bindings: Documentation entry to explain how to use PWM FAN as a cooling device Explanation of several properties, which allow PWM fan working as a cooling device, have been embraced in this commit. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene@xxxxxxxxxx> commit cb2eb7de38e946e8e49536af7fa439c0f0210931 Author: Stephane Viau <sviau@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:50 2015 +0530 clk: qcom: gdsc: Add GDSCs in apq8084 MMCC Add the GDSC instances that exist as part of apq8084 MMCC block. Signed-off-by: Stephane Viau <sviau@xxxxxxxxxxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 639af9490b545bb41ae1f7623aec73d6951d5630 Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:49 2015 +0530 clk: qcom: gdsc: Add GDSCs in apq8084 GCC Add the GDSC instances that exist as part of apq8084 GCC block Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8108b23ca7270ff2c2b551f447e57436d534d23a Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:48 2015 +0530 clk: qcom: gdsc: Add GDSCs in msm8974 MMCC Add the GDSC instances that exist as part of msm8974 MMCC block Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 340029efdc83c7ba682dae731feff0d72a0ffd66 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:47 2015 +0530 clk: qcom: gdsc: Add GDSCs in msm8974 GCC There's just one GDSC as part of the msm8974 GCC block. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 073ae2b41c44903b9c28e3dc0263814c7fd33d5b Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:46 2015 +0530 clk: qcom: gdsc: Add GDSCs in msm8916 GCC Add all data for the GDSCs which are part of msm8916 GCC block. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 3c53f5e2179874441a1741ec7bcbaa92fcec9c79 Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:45 2015 +0530 clk: qcom: gdsc: Add support for ON only state Certain devices can have GDSCs' which support ON as the only state. They can't be power collapsed to either hit RET or OFF. The clients drivers for these GDSCs' however would expect the state of the core to be reset following a GDSC disable and re-enable. To do this assert/deassert reset lines every time the client driver would request the GDSC to be powered on/off instead. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 014e193ccd197d15b6f7bf6d3d616600091c14ad Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:44 2015 +0530 clk: qcom: gdsc: Add support for Memory RET/OFF Along with the GDSC power switch, there is additional control to either retain all memory (core and peripheral) within a given powerdomain or to turn them off while the GDSC is powered down. Add support for these by modelling a RET state where all memory is retained and an OFF state where all memory gets turned off. The controls provided are granular enough to be able to support various differnt levels of RET states, like a 'shallow RET' with all memory retained and a 'deep RET' with some memory retained while some others are lost. The current patch does not support this and considers just one RET state where all memory is retained. Futher work, if needed can support multiple different levels of RET state. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 5e5cc241e9c448d1f6e5fdef843ab018a9947d5c Author: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:43 2015 +0530 clk: qcom: gdsc: Prepare common clk probe to register gdscs The common clk probe registers a clk provider and a reset controller. Update it to register a genpd provider using the gdsc data provided by each platform. Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 45dd0e55317ccb27fe8eae639275c2b3a2fb52e5 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Aug 6 16:07:42 2015 +0530 clk: qcom: Add support for GDSCs GDSCs (Global Distributed Switch Controllers) are responsible for safely collapsing and restoring power to peripherals in the SoC. These are best modelled as power domains using genpd and given the registers are scattered throughout the clock controller register space, its best to have the support added through the clock driver. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 9556f9dad8f57602159825ad19f7a8017eed2089 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Apr 13 16:03:21 2015 -0700 clk: divider: handle integer overflow when dividing large clock rates On 32-bit architectures, 'unsigned long' (the type used to hold clock rates, in Hz) is often only 32 bits wide. DIV_ROUND_UP() (as used in, e.g., commit b11d282dbea2 "clk: divider: fix rate calculation for fractional rates") can yield an integer overflow on clock rates that are not (by themselves) too large to fit in 32 bits, because it performs addition before the division. See for example: DIV_ROUND_UP(3000000000, 1500000000) = (3.0G + 1.5G - 1) / 1.5G = OVERFLOW / 1.5G This patch fixes such cases by always promoting the dividend to 64-bits (unsigned long long) before doing the division. While this patch does not resolve the issue with large clock rates across the common clock framework nor address the problems with doing full 64-bit arithmetic on a 32-bit architecture, it does fix some issues seen when using clock dividers on a 3GHz reference clock to produce a 1.5GHz CPU clock for an ARMv7 Brahma B15 SoC. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Reference: http://lkml.kernel.org/g/20150413201433.GQ32500@ld-irv-0074 Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 051ace1020d44ca7a1eb813ab35b7e769a622aa8 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 14:44:32 2015 +0200 clk: sunxi: sun9i-mmc: 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: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 6ed5f8e45dc4c305abbf19640a5c75fb3694986b Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 14:44:14 2015 +0200 clk: sunxi: sun8i-apb0: 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: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ad915483e3f74f3df3b6bf195f23c1acc68949dd Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 14:43:54 2015 +0200 clk: sunxi: sun6i-ar100: 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: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit f01745f640467353ac4ac526883400d3d43d8962 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 14:43:33 2015 +0200 clk: sunxi: sun6i-apb0-gates: 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: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 685301211665a606b752d91defcfc059da466e74 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Fri Aug 28 14:43:14 2015 +0200 clk: sunxi: sun6i-apb0: 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: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit a97cea2a5cfb1e66716226ea258251317acd8ffe Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:34:07 2015 +0200 clk: at91: system: don't try to free_irq when there is no IRQ In the error path of at91_clk_register_system(), sys->irq is freed unconditionally but it may not exist or be request at all. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit de661d002229c6c02e99e242fd5fc1f1da2fbe3b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 11 16:34:06 2015 +0200 clk: at91: utmi: use pmc_read when the at91_pmc is available at91_pmc_read is a workaround to allow external drivers to acces some registers of the PMC. There is no need for it in clk-utmi.c as we aready have a pointer to the struct at91_pmc. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 8ee9c7de019596445fd81e7647f5509d90e2fb72 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Apr 9 23:02:02 2015 -0700 clk: qcom: Allow clk_set_parent() to work on display clocks Sometimes the display driver may want to change the parent PLL of the display clocks (byte and pixel clocks) depending on the use-case. Currently the parent is fixed by means of having a frequency table with one entry that chooses a particular parent. Remove this restriction and use the parent the clock is configured for in the hardware during clk_set_rate(). This requires consumers to rely on the default parent or to configure the parent with clk_set_parent()/assigned-clock-parents on the clocks before calling clk_set_rate(). Tested-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Cc: Hai Li <hali@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit db544f1b583aadc818b00ff528eb1744b3bbcac6 Merge: 6ff33f3 e1595d8 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 16 15:20:03 2015 -0700 Merge branch 'clk-next' into v4.3-rc1 commit 7ebcf26c39205ca8d61c178dcd3f5be4f25b1309 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 16 12:10:26 2015 -0700 regulator: core: Make error messages more informative The same error print exists 4 times in the regulator core <rdev>: operation not allowed Unfortunately, seeing this in the dmesg is not very informative. Add what type of operation is not allowed to the message so that these errors are unique, hopefully pointing developers in the right direction <rdev>: drms operation not allowed <rdev>: voltage operation not allowed <rdev>: current operation not allowed <rdev>: mode operation not allowed Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a54e22f40480eb63533d3f0520e9c84b102dd09f Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:59:42 2015 +0100 ASoC: Add SOC_SINGLE_RANGE_EXT_TLV macro Add a version of the SOC_SINGLE_RANGE_TLV macro that allows a custom get and put to be specified. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 002b083b8da96fd6c546fab2608803e7ce47627d Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:59:41 2015 +0100 ASoC: arizona: Add utility function to check if an input is analog We will occasionally require to take different action based on if an input is analog or digital so add a helper function to return if an input is analog. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bee261b8964d7751fdd63d7f636c42741294a30c Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 16 13:59:40 2015 +0100 ASoC: arizona: Add default cases for event switches Since the addition of the WILL_PMU / WILL_PMD several of the switches in arizona.c no longer cover all cases or have a default case. Whilst this isn't causing any problems in the interests of robustness add default cases. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0beb0a6da8896da14287b1caa77596057690901a Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:18 2015 +0300 spi: au1550: Simplify au1550_spi_setupxfer() SPI core validates both bits_per_word and speed_hz transfer parameters and defaults to spi->bits_per_word and spi->max_speed_hz in case these per transfer parameters are not set. This can simplify a little the au1550_spi_setupxfer() as there is need to check only for valid "struct spi_transfer" pointer. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 95a8fde23ef426aeee579bc99f35dc854e711225 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:17 2015 +0300 spi: spi-bfin5xx: Calculate transfer speed unconditionally SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set so code here won't use the chip->baud value (which is derived from spi->max_speed_hz). Please note driver uses chip->baud at the beginning of message transmission by calling the bfin_spi_restore_state() but then programs per transfer speed in bfin_spi_pump_transfers(). I'm not familiar with the HW so I don't know would it be possible to remove chip->baud completely by either using constant value in bfin_spi_restore_state() or by removing the baud register write there. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 57b48ab49b7a9ac5ff94402ade2ccb5d63579816 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:16 2015 +0300 spi: bfin-sport: Calculate transfer speed unconditionally SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set so code here won't use the chip->baud value (which is derived from spi->max_speed_hz). Please note driver uses chip->baud at the beginning of message transmission by calling the bfin_sport_spi_restore_state() but then programs per transfer speed in bfin_sport_spi_pump_transfers(). I'm not familiar with the HW so I don't know would it be possible to remove chip->baud completely by either using constant value in bfin_sport_spi_restore_state() or by removing the tclkdiv register write there. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8cf3af32902d14f6a0fbc4ad9a3025d9e7d4701b Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:15 2015 +0300 spi: octeon: Use transfer speed unconditionally SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 88d4a7440e51754bd44f58fe1f8c6e6fe050e929 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:14 2015 +0300 spi: s3c64xx: Use transfer speed unconditionally SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fc306de9b54e94a2949fee452741c00259d7dd4a Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 15 16:26:13 2015 +0300 spi: txx9: Use transfer speed unconditionally SPI core validates the transfer speed and defaults to spi->max_speed_hz in case the transfer speed is not set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 462c30bc8b3457e2904c45babf4cb06c3b38ed4e Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 15 02:44:37 2015 +0000 ASoC: rsnd: fixup clkout_name[] index error for single AUDIO_CLKOUT SoC 2a46db4a3("ASoC: rsnd: add AUDIO_CLKOUT support") added AUDIO_CLKOUT support for ADG. But single AUDIO_CLKOUT needs clkout_name[CLKOUT], not clkout_name[i]. Kernel will have NULL pointer access without this patch. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 544637bf3f4ddc1971740026e1cf58d8516b53fa Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 15 02:42:42 2015 +0000 ASoC: ak4642: exchange macro name to avoid redefinition 71a0138ab("ASoC: ak4642: enable to use MCKO as fixed rate output pin on DT") added new FS() macro, but x86 already has it in arch/x86/include/uapi/asm/ptrace-abi.h This patch exchange FS() to FSs() to avoid redefinition warning Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e2f8445176c9e6e6b152b792d08abca8308bb8ff Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 15 02:41:05 2015 +0000 ASoC: rsnd: SND_SOC_RCAR depends on COMMON_CLK 2a46db4a3("ASoC: rsnd: add AUDIO_CLKOUT support") uses of_clk_add_provider() which is requesting struct clk_onecell_data. But it is COMMON_CLK feature. SND_SOC_RCAR depends on COMMON_CLK This patch also solved compile error of 7486d80f7("ASoC: rsnd: remove unneeded sh_clk header") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 45fb6b6f2aa3f6b22b81078db0dba4b26c9d0bdb Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Sat Sep 12 15:26:24 2015 +0200 ASoC: sunxi: add support for the on-chip codec on early Allwinner SoCs The sun4i, sun5i and sun7i SoC families have a built-in codec, capable of both audio capture and playback. While this is called a codec by Allwinner, it really is an in-SoC combination of a codec and a DAI, with its own DAC/ADC and amplifiers in a single memory-mapped controller. The capture part has been left out for now, and will be added eventually. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4ec73d3c81be5a401546afc6628aaf8add253ff1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 12 15:26:23 2015 +0200 ASoC: sunxi: Add the Allwinner A10 codec bindings The Allwinner SoCs have an in-SoC audio controller taking the role of a DAI and a codec. Add the binding documentation for that controller on the A10. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1d8d53b62d80dc3a6ae1483891e7d840cd7a51bd Author: Duc Dang <dhdang@xxxxxxx> Date: Tue Sep 1 13:42:16 2015 -0700 arm64: dts: Add poweroff device nodes for APM X-Gene 2 platform This patch adds: + poweroff button device node to support poweroff by power button on APM X-Gene 2 Merlin platform. + syscon poweroff device node to support poweroff feature on APM X-Gene 2 Merlin platform Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit 5fc86b513fd3a2f19fb267bc2e9cac49c792294e Author: Duc Dang <dhdang@xxxxxxx> Date: Tue Sep 1 13:39:27 2015 -0700 arm64: dts: Add APM X-Gene 2 standby GPIO controller DTS entries Add standby domain gpio controller for APM X-Gene 2 SoC platforms. Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit 7434f42b8e5ca5d57262ca7ceb856a86e4ade0d4 Author: Feng Kan <fkan@xxxxxxx> Date: Wed Jan 7 17:33:38 2015 -0700 arm64: dts: Add PMU node for APM X-Gene Storm SOC This patch adds the PMU device tree node for APM X-Gene Storm SOC. Signed-off-by: Vinayak Kale <vkale@xxxxxxx> Signed-off-by: Feng Kan <fkan@xxxxxxx> commit 51f1e4a0d4992af29228090825546ffe55ad675c Author: Feng Kan <fkan@xxxxxxx> Date: Wed Jan 7 17:33:37 2015 -0700 Documentation: arm: pmu: Add Potenza PMU binding This patch documents the compatible string for APM X-Gene Potenza CPU's PMU. Signed-off-by: Vinayak Kale <vkale@xxxxxxx> Signed-off-by: Feng Kan <fkan@xxxxxxx> commit 991c1292f61261180873be430b9bdd50de36055d Author: Duc Dang <dhdang@xxxxxxx> Date: Wed Aug 12 16:37:08 2015 -0700 arm64: dts: Add X-Gene v2 reboot driver dts node This patch add dts nodes for X-Gene v2 (APM X-Gene Shadowcat SoC) platforms to use generic SYSCON regmap reset driver for its reset operation. Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit e144dc5b8fadb1ca6d4c429aeae51a9f51d88b0e Author: Feng Kan <fkan@xxxxxxx> Date: Mon May 18 17:56:16 2015 -0700 arm64: dts: add APM Merlin Board device tree This patch adds the support for APM Merlin board. The Merlin board is based on the APM X-Gene Shadowcat SoC. This DTS enables PMU, Ethernet, SATA and Serial. [dhdang: remove pcie0 node] Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit 94d6ba285f561cd4382b2410fcbf8820056de34e Author: Tai Nguyen <ttnguyen@xxxxxxx> Date: Wed Aug 12 12:32:32 2015 -0700 power: reset: Add syscon poweroff device node for APM X-Gene platform This patch adds syscon poweroff device node to support poweroff feature on APM X-Gene Mustang platform Signed-off-by: Tai Nguyen <ttnguyen@xxxxxxx> Tested-by: dann frazier <dann.frazier@xxxxxxxxxxxxx> Acked-by: Moritz Fischer <moritz.fischer@xxxxxxxxx> commit 5c3a87e363c09242541620a777d5b73e89b6c245 Author: Feng Kan <fkan@xxxxxxx> Date: Tue Aug 11 17:39:36 2015 -0700 arm64: dts: Add X-Gene reboot driver dts node This patch add dts nodes for X-Gene platforms to use generic SYSCON regmap reset driver for its reset operation. [dhdang: changelog] Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit c5251136031e615aafd5b36589a2729ca6589612 Author: Feng Kan <fkan@xxxxxxx> Date: Thu Nov 13 16:19:56 2014 -0800 Documentation: arm64: add SCU dts binding documentation to linux kernel This add documentation for the SCU system clock unit device tree binding to the kernel. Signed-off-by: Feng Kan <fkan@xxxxxxx> commit 21c75328866deaa17e52bd7982d8e28ba0ce38b5 Author: Duc Dang <dhdang@xxxxxxx> Date: Wed Aug 12 17:01:12 2015 -0700 MAINTAINERS: Add Applied Micro (APM) X-Gene Device Tree maintainer This patch adds information of maintainers for Applied Micro (APM) X-Gene device tree. Signed-off-by: Duc Dang <dhdang@xxxxxxx> commit 37d2dbcdcca88e392009d7cbe8617d5af0ebcb32 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Wed Sep 16 11:32:41 2015 -0700 net: fix cdc-phonet.c dependency and build error Fix build error caused by missing Kconfig dependency: ERROR: "cdc_parse_cdc_header" [drivers/net/usb/cdc-phonet.ko] undefined! Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28cc504e8d52248962f5b485bdc65f539e3fe21d Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:36:00 2015 -0400 drm/i915: enable atomic fb-helper i915 supports enough atomic to have atomic fb-helper paths, even though it does not yet advertise DRIVER_ATOMIC. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1edf0269f02dc7e295f3ca7bdd698e3dcf7350bf Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:35:59 2015 -0400 drm/fb-helper: atomic pan_display().. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bbb1e52402b2a288b09ae37e8182599931c7e9df Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:35:58 2015 -0400 drm/fb-helper: atomic restore_fbdev_mode().. Add support for using atomic code-paths for restore_fbdev_mode(). Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> [danvet: Bikeshed comments slightly.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9685cd9df75c1f5686308601c870f5e4ebc809be Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Aug 25 15:35:57 2015 -0400 drm/fb-helper: add headerdoc for drm_fb_helper Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 45a3e771085d16c95eb54f8009d795941b21fb28 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 9 13:55:53 2015 +0200 spi: oc-tiny: Use of_property_read_u32 instead of open-coding it Use of_property_read_u32 instead of of_get_property with return value checks and endianness conversion. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2fc171e69e0dc0f5cce805ec40923c4e7ff78e94 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 10 18:01:45 2015 +0530 ASoC: Intel: remove unused function The function get_current_pipe_id() was not being used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3014dde762f618fbcfe899f9ce9e929a2e5aa6dd Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 16 13:03:02 2015 -0400 cgroup: simplify threadgroup locking Note: This commit was originally committed as b5ba75b5fc0e but got reverted by f9f9e7b77614 due to the performance regression from the percpu_rwsem write down/up operations added to cgroup task migration path. percpu_rwsem changes which alleviate the performance issue are pending for v4.4-rc1 merge window. Re-apply. Now that threadgroup locking is made global, code paths around it can be simplified. * lock-verify-unlock-retry dancing removed from __cgroup_procs_write(). * Race protection against de_thread() removed from cgroup_update_dfl_csses(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Link: http://lkml.kernel.org/g/55F8097A.7000206@xxxxxxxxxx commit 6131084a0bc966107021d8c89489f9cd1663b902 Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Sep 9 21:27:43 2015 +0300 ASoC: simple-card: Add tdm slot mask support to simple-card Adds DT binding for explicitly choosing a tdm mask for DAI and uses it in simple-card. The API for snd_soc_of_parse_tdm_slot() has also been changed. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd55ff8346a972cca1ad056c8258ee96d090633e Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Sep 9 21:27:44 2015 +0300 ASoC: davinci-mcasp: Add set_tdm_slots() support Implements set_tdm_slot() callback for mcasp. Channel constraints are updated according to the configured tdm mask and slots each time set_tdm_slot() is called. The special case when slot width is set to zero is allowed and it means that slot width is the same as the sample width. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3e8f5263bd83fd0fe7dacba2de347b17ac99fc91 Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Sep 9 21:27:46 2015 +0300 ASoC: tlv320aic3x: Improve tdm support Before this patch the set_tdm_slots() callback did not store the value of slot width anywhere. The tdm support only worked if selected slot width was equal to the sample width. With this patch all sample widths that fit into the slot width are supported. There unused bits are filled unnecessarily in the capture direction, but the other end of the i2s bus should be able to ignore them. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ed1328792ff46e4bb86a3d7f7be2971f4549f6c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 16 12:53:17 2015 -0400 sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem Note: This commit was originally committed as d59cfc09c32a but got reverted by 0c986253b939 due to the performance regression from the percpu_rwsem write down/up operations added to cgroup task migration path. percpu_rwsem changes which alleviate the performance issue are pending for v4.4-rc1 merge window. Re-apply. The cgroup side of threadgroup locking uses signal_struct->group_rwsem to synchronize against threadgroup changes. This per-process rwsem adds small overhead to thread creation, exit and exec paths, forces cgroup code paths to do lock-verify-unlock-retry dance in a couple places and makes it impossible to atomically perform operations across multiple processes. This patch replaces signal_struct->group_rwsem with a global percpu_rwsem cgroup_threadgroup_rwsem which is cheaper on the reader side and contained in cgroups proper. This patch converts one-to-one. This does make writer side heavier and lower the granularity; however, cgroup process migration is a fairly cold path, we do want to optimize thread operations over it and cgroup migration operations don't take enough time for the lower granularity to matter. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Link: http://lkml.kernel.org/g/55F8097A.7000206@xxxxxxxxxx Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> commit 03d3964c517b24b11923978e2ed4a2a19b702f8a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 1 12:31:24 2015 +0800 ASoC: SPEAr: Make SND_SPEAR_SOC select SND_SOC_GENERIC_DMAENGINE_PCM devm_snd_dmaengine_pcm_register() is guarded by CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6774eea6d7a61616384743b218cf77f322e060d9 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Aug 20 23:28:38 2015 +0530 spi: bcm53xx: Adjust devm usage Remove use of spi_unregister_master in remove function as devm_spi_register_master in probe function automatically handles it. To be compatible with the change, use direct return instead of goto and remove unnedded label out. Also, remove bcm53xxspi_bcma_remove as it is now redundant. Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a6f5f0dd4e21191ce35030dd4d6421e1cca10ee4 Author: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> Date: Tue Sep 15 10:32:46 2015 -0700 PM / sleep: Report interrupt that caused system wakeup Add a sysfs attribute, /sys/power/pm_wakeup_irq, reporting the IRQ number of the first wakeup interrupt (that is, the first interrupt from an IRQ line armed for system wakeup) seen by the kernel during the most recent system suspend/resume cycle. This feature will be useful for system wakeup diagnostics of spurious wakeup interrupts. Signed-off-by: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx> [ rjw: Fixed up pm_wakeup_irq definition ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit be8becb81bdc6d4c1bb81808e252ed6bc2c7a2f1 Author: Priit Laes <plaes@xxxxxxxxx> Date: Wed Sep 16 10:55:42 2015 +0300 ARM: sunxi_defconfig: Enable LRADC keys (KEYBOARD_SUN4I_LRADC) Signed-off-by: Priit Laes <plaes@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d71b0ad8d30922ccdd0705318237e6890b4ec1b6 Merge: a4d7109 f6cf87f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 16 09:19:56 2015 +0200 Merge branch 'perf/urgent' into perf/core, to resolve a conflict Conflicts: tools/perf/ui/browsers/hists.c Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a4d71093e759b7cfe0babbc6ae89c8130532f6ad Merge: 9059b28 bbbe6bf Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Sep 16 09:12:07 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: - Enhance the error reporting of tracepoint event parsing, e.g.: $ oldperf record -e sched:sched_switc usleep 1 event syntax error: 'sched:sched_switc' \___ unknown tracepoint Run 'perf list' for a list of valid events Now we get the much nicer: $ perf record -e sched:sched_switc ls event syntax error: 'sched:sched_switc' \___ can't access trace events Error: No permissions to read /sys/kernel/debug/tracing/events/sched/sched_switc Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug' And after we have those mount point permissions fixed: $ perf record -e sched:sched_switc ls event syntax error: 'sched:sched_switc' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing/events/sched/sched_switc not found. Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?. Now its just a matter of using what git uses to suggest alternatives when we make a typo, i.e. that it is just an 'h' missing :-) I.e. basically now the event parsing routing uses the strerror_open() routines introduced by and used in 'perf trace' work. (Jiri Olsa) Infrastructure changes: - Export init/exit_probe_symbol_maps() from 'perf probe' for use in eBPF. (Namhyung Kim) - Free perf_probe_event in cleanup_perf_probe_events(). (Namhyung Kim) - regs_query_register_offset() infrastructure + implementation for x86. First user will be the perf/eBPF code. (Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b84ee0d7f375ed7840c7c110d46eac24cf94b2a2 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Wed Sep 16 11:10:16 2015 +1000 cdc: add header guards Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9adbac599a71bc25a2617850ffcaa4388dc5c20d Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:50 2015 -0700 fm10k: fix iov_msg_mac_vlan_pf VID checks The VF will send a message to request multicast addresses with the default VID. In the current code, if the PF has statically assigned a VLAN to a VF, then the VF will not get the multicast addresses. Fix up all of the various VLAN messages to use identical checks (since each check was different). Also use set as a variable, so that it simplifies our check for whether VLAN matches the pf_vid. The new logic will allow set of a VLAN if it is zero, automatically converting to the default VID. Otherwise it will allow setting the PF VID, or any VLAN if PF has not statically assigned a VLAN. This is consistent behavior, and allows VF to request either 0 or the default_vid without silently failing. Note that we need the check for zero since VFs might not get the default VID message in time to actually request non-zero VLANs. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ac98100359e098d03dbd98783ca4becaf2ea7ec3 Author: Alexander Duyck <alexander.duyck@xxxxxxxxxx> Date: Wed Jun 24 13:34:49 2015 -0700 fm10k: Only trigger data path reset if fabric is up This change makes it so that we only trigger the data path reset if the fabric is ready to handle traffic. The general idea is to avoid triggering the reset unless the switch API is ready for us. Otherwise we can just postpone the reset until we receive a switch ready notification. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 95f4f8da644256d8c0ff5bab2c93ba33d2a42cd8 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:48 2015 -0700 fm10k: re-enable VF after a full reset on detection of a Malicious event Modify behavior of Malicious Driver Detection events. Presently, the hardware disables the VF queues and re-assigns them to the PF. This causes the VF in question to continuously Tx hang, because it assumes that it can transmit over the queues in question. For transient events, this results in continuous logging of malicious events. New behavior is to reset the LPORT and VF state, so that the VF will have to reset and re-enable itself. This does mean that malicious VFs will possibly be able to continue and attempt malicious events again. However, it is expected that system administrators will step in and manually remove or disable the VF in question. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5c2d642fd0cf0f4f7396dfd3754bc03f6e50e359 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:47 2015 -0700 fm10k: TRIVIAL fix typo in fm10k_netdev.c Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e71c9318428fb16de808b497e0229994010d32a1 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:46 2015 -0700 fm10k: send traffic on default VID to VLAN device if we have one This patch ensures that VLAN traffic on the default VID will go to the corresponding VLAN device if it exists. To do this, mask the rx_ring VID if we have an active VLAN on that VID. For this to work correctly, we need to update fm10k_process_skb_fields to correctly mask off the VLAN_PRIO_MASK bits and compare them separately, otherwise we incorrectly compare the priority bits with the cleared flag. This also happens to fix a related bug where having priority bits set causes us to incorrectly classify traffic. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6fbc6b358b3f63e701d15e9d330a3b0dbb03f802 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:44 2015 -0700 fm10k: TRIVIAL fix up ordering of __always_unused and style Fix some style issues in debugfs code, and correct ordering of void and __always_unused. Technically, the order does not matter, but preferred style is to put the macro between the type and name. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 855c40fc31ca2392845558235f7e92e406936fbe Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Jun 24 13:34:41 2015 -0700 fm10k: remove is_slot_appropriate This function is no longer used now that we have updated fm10k_slot_warn functionality. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b655a5c735867c1a80e7ceaa1f1c45d1dd34909f Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Fri Jun 19 10:56:10 2015 -0700 fm10k: don't store sw_vid at reset If we store the sw_vid at reset of PF, then we accidentally prevent the VF from receiving the message to update its default VID. This only occurs if the VF is created before the PF has come up, which is the standard way of creating VFs when using the module parameter. This fixes an issue where we request the incorrect MAC/VLAN combinations, and prevents us from accidentally reporting some frames as VLAN tagged. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3f0bdb2e2ce7db7425856686d9ccd8fd0ddf9bf0 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Fri Jun 19 10:56:09 2015 -0700 fm10k: allow creation of VLAN interfaces even while down We re-sync upon going up, so there is little reason to worry about not syncing immediately with switch. This prevents an error that occurs if you add a VLAN interface while down. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0ff36676a3778d0655933ace201fca7c11b4e8b5 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Jun 18 19:41:10 2015 -0700 fm10k: Report MAC address on driver load This change adds the MAC address to the list of values recorded on driver load. The MAC address represents the serial number of the unit and allows us to track the value should a card be replaced in a system. The log message should now be similar in output to that of ixgbe. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit aae072e363bed4e91c00d57f753c799276ddb161 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Tue Jun 16 11:47:12 2015 -0700 fm10k: Don't assume page fragments are page size This change pulls out the optimization that assumed that all fragments would be limited to page size. That hasn't been the case for some time now and to assume this is incorrect as the TCP allocator can provide up to a 32K page fragment. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Acked-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bdc7f5902d22e7297b8f0d7a8d6ed8429cdba636 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Jun 15 15:00:56 2015 -0700 fm10k: update netdev perm_addr during reinit, instead of at up Update the netdev permanent address during fm10k_reinit enables the user to immediately see the new MAC address on the VF even if the device isn't up. The previous code required that the device by opened before changes would appear. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 106c07a49506359f7663770ef33f4997d68316c1 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Jun 15 15:00:55 2015 -0700 fm10k: update fm10k_slot_warn to use pcie_get_minimum link This is useful in cases where we connect to a slot at Gen3, but the slot is behind a bus which only connected at Gen2. This generally only happens when a PCIe switch is in the sequence of devices, and can be very confusing when you see slow performance with no obvious cause. I am aware this patch has a few lines that break 80 characters, but there does not seem to be a readable way to format them to less than 80 characters. Suggestions welcome. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 56f0569e3ab741d3c5cebc4b4c882b471df53738 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Jun 15 15:00:53 2015 -0700 fm10k: only prevent removal of default VID rules This allows us to correctly add a VLAN even if it matches our default VID. However, we don't want to remove the VID rules once that VLAN is deleted. Correctly remove the stack layers information of the VLAN, but then return to forwarding that VID as untagged frames. If we deleted the VID rules here, we would begin dropping traffic due to VLAN membership violations. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e40296628bec7400f529927eef4bc87cb425a22a Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Mon Jun 15 15:00:51 2015 -0700 fm10k: disable service task during suspend The service task reads some registers as part of its normal routine, even while the interface is down. Normally this is ok. However, during suspend we have disabled the PCI device. Due to this, registers will read in the same way as a surprise-remove event. Disable the service task while we suspend, and re-enable it after we resume. If we don't do this, the device could be UP when you suspend and come back from resume as closed (since fm10k closes the device when it gets a surprise remove). Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8ac34f10a5ea4c7b6f57dfd52b0693a2b67d9ac4 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Thu Jul 30 15:19:28 2015 -0700 ixgbe: Limit lowest interrupt rate for adaptive interrupt moderation to 12K This patch updates the lowest limit for adaptive interrupt interrupt moderation to roughly 12K interrupts per second. The way I came about reaching 12K as the desired interrupt rate is by testing with UDP flows. Specifically I had a simple test that ran a netperf UDP_STREAM test at varying sizes. What I found was as the packet sizes increased the performance fell steadily behind until we were only able to receive at ~4Gb/s with a message size of 65507. A bit of digging found that we were dropping packets for the socket in the network stack, and looking at things further what I found was I could solve it by increasing the interrupt rate, or increasing the rmem_default/rmem_max. What I found was that when the interrupt coalescing resulted in more data being processed per interrupt than could be stored in the socket buffer we started losing packets and the performance dropped. So I reached 12K based on the following math. rmem_default = 212992 skb->truesize = 2994 212992 / 2994 = 71.14 packets to fill the buffer packet rate at 1514 packet size is 812744pps 71.14 / 812744 = 87.9us to fill socket buffer From there it was just a matter of choosing the interrupt rate and providing a bit of wiggle room which is why I decided to go with 12K interrupts per second as that uses a value of 84us. The data below is based on VM to VM over a direct assigned ixgbe interface. The test run was: netperf -H <ip> -t UDP_STREAM" Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB Before: 212992 65507 60.00 1100662 0 9613.4 10.89 0.557 212992 60.00 473474 4135.4 11.27 0.576 After: 212992 65507 60.00 1100413 0 9611.2 10.73 0.549 212992 60.00 974132 8508.3 11.69 0.598 Using bare metal the data is similar but not as dramatic as the throughput increases from about 8.5Gb/s to 9.5Gb/s. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Tested-by: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6b010e9b1f0a406d1d35202a694fa724a559bf77 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Jul 29 14:38:21 2015 -0600 ixgbe: 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: Krishneil Singh <krishneil.k.singh@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4ccc650cc845476885f73660b2e6335852f0f75c Author: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Date: Wed Sep 2 13:47:54 2015 -0700 ixgbe: fix issue with SFP events with new X550 devices Add checks for systems that don't have SFP's to avoid incorrectly acting on interrupts that are falsely interpreted as SFP events. This also includes a modified check generating the EICR mask to be more forward-looking. Signed-off-by: Don Skidmore <donald.c.skidmore@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d5566fd72ec1924958fcfd48b65c022c8f7eae64 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Fri Sep 11 16:48:48 2015 -0400 rtnetlink: RTEXT_FILTER_SKIP_STATS support to avoid dumping inet/inet6 stats Many commonly used functions like getifaddrs() invoke RTM_GETLINK to dump the interface information, and do not need the the AF_INET6 statististics that are always returned by default from rtnl_fill_ifinfo(). Computing the statistics can be an expensive operation that impacts scaling, so it is desirable to avoid this if the information is not needed. This patch adds a the RTEXT_FILTER_SKIP_STATS extended info flag that can be passed with netlink_request() to avoid statistics computation for the ifinfo path. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3dce23eb887800e19cc18b389a13290dd12c5905 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Sep 15 22:50:33 2015 +0100 metag: Turn irq_ctx_* macros into static inlines The irq_ctx_init()/irq_ctx_exit() functions are only used for 4KiB stacks, otherwise they are implemented as an empty macro. To prevent future bit rottage due to the cpu argument not being type checked, convert the macros to empty static inline functions. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit 928df02bd46e2fe02cfd3127ba1814796d6d80b0 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Tue Sep 15 22:19:04 2015 +0100 metag: SMP: Fix 4KiB stack setup on secondary CPUs Back in early 2008, 4KiB stack support was added to reduce memory consumption on workloads with lots of threads, using a separate IRQ stack per CPU to alleviate stack pressure. However the SMP code added a year and a half later didn't set up the IRQ stack when bringing up secondary CPUs, resulting in a crash when SMP is configured with 4KiB stacks, as soon as the first interrupt arrived on a secondary CPU. Fix with calls to irq_ctx_exit()/irq_ctx_exit() when bringing up/down a CPU. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx commit ad1e7b97b3adb91d46f3adb70a7867a50fc274cf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 15 13:25:03 2015 -0700 cdc: Fix build warning. In file included from drivers/usb/gadget/function/u_serial.h:16:0, from drivers/usb/gadget/function/f_acm.c:23: >> include/linux/usb/cdc.h:47:5: warning: 'struct usb_interface' declared inside parameter list int buflen); ^ >> include/linux/usb/cdc.h:47:5: warning: its scope is only this definition or declaration, which is probably not what you want Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b711d6db5c78a6d1969fb0fccb93daa7df53762 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 9 17:40:56 2015 -0700 mv643xx_eth: Neaten mv643xx_eth_program_multicast_filter The code around the allocation and loops are a bit obfuscated. Neaten it by using: o kcalloc with decimal count and sizeof(u32) o Decimal loop indexing and i++ not i += 4 o A promiscuous block using a similar style to the multicast block o Remove unnecessary variables Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29feb66a9afbe69d3aeb2550f2e0ea20d4782ead Merge: 7b6ee48 e63c7a0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 15 12:47:47 2015 -0700 Merge branch 'xgene-2nd-10gbe-port' Iyappan Subramanian says: ==================== driver: net: xgene: Enable 2nd 10GbE port on APM X-Gene SoC This patch adds support for 2nd 10GbE on APM X-Gene SoC ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e63c7a0979f28bb13e06b981765dd514c01c075b Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Tue Sep 8 15:50:27 2015 -0700 dtb: xgene: Add 2nd 10GbE node Adding the second 10GbE dt node for APM X-Gene SoC device tree Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 149e9ab495a4ba50fc6b52cb9b2710566adcf56e Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Tue Sep 8 15:50:26 2015 -0700 driver: net: xgene: Add support for 2nd 10GbE port Adding support for the second 10GbE port on APM X-Gene SoC Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b6ee48d3f4d432bfa6c9c9662fbdbd97681240e Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Sep 7 16:05:42 2015 +0200 cdc-phonet: use common parser This moves cdc-phonet to the common parser for CDC users to reduce code duplication. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8492ed45aa5dbb5c4f0786f90ff12d8511615505 Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Sep 7 16:05:41 2015 +0200 qmi-wwan: use common parser This moves qmi-wwan to the common parser for CDC user to reduce code duplication. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 823bd3433424aa959499e6fd8f2da842430a8d42 Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Sep 7 16:05:40 2015 +0200 cdc-ether: switch to common CDC parser This patch uses the common parser to parse extra CDC headers in order to reduce code duplication. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77b0a099674ac1c43b631445d8d50453e4805b29 Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Sep 7 16:05:39 2015 +0200 cdc-ncm: use common parser This moves cdc-ncm to the common parser for CDC user to reduce code duplication. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c40a2c8817e42273a4627c48c884b805475a733f Author: Oliver Neukum <oneukum@xxxxxxxx> Date: Mon Sep 7 16:05:38 2015 +0200 CDC: common parser for extra headers CDC drivers all implement their own parser for the extra headers. This patch fixes the code duplication introducing a single common parser in usbnet. Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1d147ccbfc35d7d45c87fb0c767e6e40c316aa32 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 7 15:16:44 2015 +0530 drivers: net: cpsw: Add support to drive gpios for ethernet to be functional In DRA72x EVM, by default slave 1 is connected to the onboard phy, but slave 2 pins are also muxed with video input module which is controlled by pcf857x gpio and currently to select slave 0 to connect to phy gpio hogging is used, but with omap2plus_defconfig the pcf857x gpio is built as module. So when using NFS on DRA72x EVM, board doesn't boot as gpio hogging do not set proper gpio state to connect slave 0 to phy as it is built as module and you do not see any errors for not setting gpio and just mentions dhcp reply not got. To solve this issue, introducing "mode-gpios" in DT when gpio based muxing is required. This will throw a warning when gpio get fails and returns probe defer. When gpio-pcf857x module is installed, cpsw probes again and ethernet becomes functional. Verified this on DRA72x with pcf as module and ramdisk. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e75f3c39d33360075d6543529d40b5299f92622 Merge: c36ba66 2b8157b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 15 12:04:22 2015 -0700 Merge branch 'dsa-mv88e6xxx-ATU' Vivien Didelot says: ==================== net: dsa: mv88e6xxx: improve ATU move operations This patchset completes the set of available Address Translation Unit operations. These Marvell switches have 4 operations to flush or (re)move, all or only non-static MAC addresses, from the entire set of databases or from just a particular one. The first 3 patches introduce a generic _mv88e6xxx_atu_flush_move function. The 4 remaining patches update a few FID operations in the driver on setup, when a port join or leave a VLAN, or change state. This is a step forward improving the hardware bridging support in DSA and 88E6352-compatible switches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b8157b1c20bdac0e0b856b2cb1499c7f18f2b07 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:16 2015 -0400 net: dsa: mv88e6xxx: remove all MACs when disabling a port When we're moving a port from Learning or Forwarding state to Disabled or Blocking or Listening state, remove all non-static MAC addresses mapped to this port in the entire set of databases, not only one. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f4d55d2869d86bd5dc59ff28109f7fefedc325d Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:15 2015 -0400 net: dsa: mv88e6xxx: remove addresses when a port leaves a VLAN Add a new _mv88e6xxx_atu_move function to prepare the ATU data register for the move operation. The ports vector will contain the source port and destination port of the Move operation. If the destination port is 0xF, the MAC addresses mapped to the source port are removed for the address database(s). Then add a _mv88e6xxx_atu_remove wrapper to remove the MAC addresses from a VLAN database that are mapped to a given port, when it leaves it. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c400018c003d221a2db1ce46a5b88d7a37add1c Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:14 2015 -0400 net: dsa: mv88e6xxx: flush all addresses when adding a VLAN When choosing an address database for a new VLAN, flush every entries, not only the non-static ones. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c161d0a5edf35dfbb18e859825355791dd6fb2cc Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:13 2015 -0400 net: dsa: mv88e6xxx: flush ATU on initial setup Purge all MAC addresses from the entire set of address databases when the driver initializes the device. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7fb5e755153d7b40dd321f7c766dbd4e76c66711 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:12 2015 -0400 net: dsa: mv88e6xxx: rework ATU Flush operation These Marvell switches have 4 operations to flush or (re)move, all or only non-static MAC addresses, from the entire set of databases or from just a particular one. The value of the EntryState bits will determine if the operation is either a Flush (0x0) or a Move (0xF). When moving entries from one port to another, entries will be removed if the destination port is 0xF. This patch renames these operations for consistency, add a new generic _mv88e6xxx_atu_flush_move function, and change _mv88e6xxx_flush_fid to use it. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37705b731500b0ce9fb4ead21a7cdfc241a401fe Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:11 2015 -0400 net: dsa: mv88e6xxx: extract ATU data write access Other ATU commands need to write the ATU data register. To ease the introduction of such commands, extract the ATU data write access from _mv88e6xxx_atu_load to its own function. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70cc99d10ca17b8688575d2579e5a2f6c4fa6f29 Author: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 14:34:10 2015 -0400 net: dsa: mv88e6xxx: extract FID write from ATU command Not every ATU commands apply to an FID, thus remove the FID writing from mv88e6xxx_atu_cmd and write it explicitly where needed, in order to ease introduction of such commands. Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c36ba6603a1154ac617d023bbcc062a12afb258b Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:58:36 2015 -0700 net: Allow user to get table id from route lookup rt_fill_info which is called for 'route get' requests hardcodes the table id as RT_TABLE_MAIN which is not correct when multiple tables are used. Use the newly added table id in the rtable to send back the correct table similar to what is done for IPv6. To maintain current ABI a new request flag, RTM_F_LOOKUP_TABLE, is added to indicate the actual table is wanted versus the hardcoded response. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7503e0cdb5dbec5d201aa69d8888c14679b5ae8 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:58:35 2015 -0700 net: Add FIB table id to rtable Add the FIB table id to rtable to make the information available for IPv4 as it is for IPv6. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d08c4f355403840fad98d9918db51a7113f38ee8 Author: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 13:58:34 2015 -0700 net: Refactor rtable initialization All callers to rt_dst_alloc have nearly the same initialization following a successful allocation. Consolidate it into rt_dst_alloc. Signed-off-by: David Ahern <dsa@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fecfdb2db8b5fc2e6cb731a714889de5e43c2380 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:24 2015 +0100 drm/armada: factor out retirement of old fb We have two identical places in the overlay code which retire the drm framebuffer. Factor these out into a common function. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 28a2aebed6374c4af5224114e4b4273a3aae649a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:11:23 2015 +0100 drm/armada: rename overlay identifiers Include an _ovl infix into the overlay identifiers to separate them from the primary plane. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 709ffd82fc6ff760dc3a7f71bdf26d78a8e3caf0 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Jul 15 18:09:38 2015 +0100 drm/armada: redo locking and atomics for armada_drm_crtc_complete_frame_work() We can do better with armada_drm_crtc_complete_frame_work() - we can avoid taking the event lock unless a call to drm_send_vblank_event() is required, and using cmpxchg() and xchg(), we can eliminate the locking around dcrtc->frame_work entirely. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e0ac5e9b4b14ab4be7fbba48d666fc619342fd88 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 29 18:01:38 2015 +0100 drm/armada: disable CRTC clock during DPMS When the CRTC is in low power mode, it isn't running, and so there's no point keeping the CRTC clock enabled. Disable the CRTC clock during DPMS. We need to re-enable it in the mode_set callback to ensure that the variant's compute_clock() continues to see its clock in the expected state (enabled). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f8e140698234dae3a4ea7b971e7bf63a3e0c987a Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 29 17:52:42 2015 +0100 drm/armada: use drm_plane_force_disable() to disable the overlay plane Use drm_plane_force_disable() to disable the overlay plane on a mode_set rather than coding this ourselves. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7c8f7e1abc75b853adf60d8ee0a589e058bcdb6b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Mon Jun 29 17:52:16 2015 +0100 drm/armada: move vbl code into armada_crtc Our vblank event code belongs in armada_crtc.c rather than the core of the driver. Move it there. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0fb2970b4b6bfc26817a731b8bc29a9bf9177c20 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:46:53 2015 +0100 drm/armada: remove non-component support Now that the transition of TDA998x to the component helpers is complete, remove the non-componentised support from the Armada DRM driver. All outputs are expected to use the component helpers from now on. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 96795df15c89ce30261a31289740b4621bcec0fe Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 6 10:52:05 2015 +0100 drm/i2c: tda998x: use more HDMI helpers Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit ec5d3e83d332ac5dfde8e0a1f57393fc91d55030 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:41:10 2015 +0100 drm/i2c: tda998x: handle all outstanding interrupts As reading the interrupt registers clears the outstanding interrupts, we must process all received interrupts to avoid dropping any. Rearrange the code to achieve this, and properly check for a HPD interrupt from the CEC_RXSHPDINT register. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit e66e03abf80f701da60ae085cbb913e67ce6741d Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:41:10 2015 +0100 drm/i2c: tda998x: convert to u8/u16/u32 types C99 types are against the style of the Linux kernel. Convert to using Linus-friendly types. See https://lwn.net/Articles/113367/ for more information. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0fc6f44d9683c61678da4b0eebc89e8fa624de39 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:41:09 2015 +0100 drm/i2c: tda998x: re-implement "Fix EDID read timeout on HDMI connect" Commit 6833d26ef823 ("drm: tda998x: Fix EDID read timeout on HDMI connect") used a weak scheme to try and delay reading EDID on a HDMI connect event. It is weak because delaying the notification of a hotplug event does not stop userspace from trying to read the EDID within the 100ms delay. The solution provided here solves this issue: * When a HDMI connection event is detected, mark a blocking flag for EDID reads, and start a timer for the delay. * If an EDID read is attempted, and the blocking flag is set, wait for the blocking flag to clear. * When the timer expires, clear the blocking flag and wake any thread waiting for the EDID read. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit f84a97d4804a09240372dc7b195f9d6162152228 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:41:09 2015 +0100 drm/i2c: tda998x: report whether we actually handled the IRQ Rather than always reporting that the interrupt was handled, we should report whether we did handle the interrupt. Arrange to report IRQ_NONE for cases where we found nothing to do. This allows us to (eventually) recover from stuck-IRQ problems, rather than causing the kernel to solidly lock up. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 3f3d0d00734de56a0c5996f4e4433046c745592e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Jun 6 21:41:09 2015 +0100 drm/i2c: tda998x: remove useless NULL checks There is no way 'priv' can be NULL in tda998x_irq_thread() - this can only happen if request_threaded_irq() was passed a NULL priv pointer, and we would have crashed long before then if that was the case. We also always ensure that priv->encoder is correctly setup, which must have been initialised prior to the interrupt being claimed, so we can remove this check as well. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1130feca0629678239d400c7ae03e62406c5e2c7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:28 2015 +0900 staging: wilc1000: wilc_wfi_cfgoperations.h: align defines This patch fix alignment of some defines in wilc_wfi_cfgoperations.h Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72d9af2a150bb5ed6f269616ba0e07fc5a029599 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:27 2015 +0900 staging: wilc1000: remove if defined codes of FORCE_P2P_CLIENT This patch removes if defined codes of FORCE_P2P_CLIENT. This macro is deleted because it it commented out. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f68fd661315383d2efde3addd316c9c63e83f707 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:26 2015 +0900 staging: wilc1000: remove FORCE_P2P_CLIENT This patch removes FORCE_P2P_CLIENT that is commented. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cb8671553bc3ea1fd383ad7ed548d5476241af6 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:25 2015 +0900 staging: wilc1000: remove if defined codes of USE_SUPPLICANT_GO_INTENT This patch removes if defined codes of USE_SUPPLICANT_GO_INTENT. This macro is deleted because it is commented out. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5c47a409d55f51963365a3e5e1b95c29b2d4a28 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:24 2015 +0900 staging: wilc1000: remove USE_SUPPLICANT_GO_INTENT This patch removes USE_SUPPLICANT_GO_INTENT macro that is commented. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df94ed254bbc12111e038cbc4ad38c085fea47c0 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:23 2015 +0900 staging: wilc1000: fix alignment of enum This patch fix alignment of enum. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 568ab197c4d80b344884b32032ca445ea2b1594e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:22 2015 +0900 staging: wilc1000: fix alignment of defines This patch fix alignment of defines. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90c604b2246b8135f27bdd5c0cc98fc881ecd12c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:21 2015 +0900 staging: wilc1000: remove unused defines The macros are not used anywhere in this driver, so just delete it. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af080e04caee06689a5df23c17a407b95c3b3994 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:20 2015 +0900 staging: wilc1000: remove bit shift macro that is custom defined This patch remove bit shift macro that is custom defined, then it is replaced BIT(x) macro. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f57fb215442314af2512721c0b7304bad0077214 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:19 2015 +0900 staging: wilc1000: use BIT macro This patch replaces bit shift with BIT(x) macro. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77c19f3a9c2e49dbec3b6572a926e411c0ec32af Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:18 2015 +0900 staging: wilc1000: remove useless extern declarations This patch removes useless extern declarations. This function is not existed in the driver. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 766cecaffdcc424868cc136a8f2c139b41bcadfd Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:17 2015 +0900 staging: wilc1000: remove commented codes This patch removes commented codes. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbc2fe16afa3f3709f29a8f938fc680e30894b8f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:16 2015 +0900 staging: wilc1000: use u32 instead of uint32_t This patch replaces uint32_t with u32 that is a preferred kernel type. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec53adfe1ca0951f6e48b76b4e8682edde2feac0 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:15 2015 +0900 staging: wilc1000: use u16 instead of uint16_t This patch replaces uint16_t with u16 that is preferred kernel type. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51e825f70b67ee9eb6ebb4ee8a191b31ea18981e Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:14 2015 +0900 staging: wilc1000: use u8 instead of uint8_t This patch replaces uint8_t with u8 that is a preferred kernel type. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2726887c5647b3799a568092ede0fecc418fce16 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:13 2015 +0900 staging: wilc1000: rename WILC_WFI_priv This patch replaces WILC_WFI_priv with wilc_priv to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08241924d489dc8396c0916735941b1e906449e6 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:12 2015 +0900 staging: wilc1000: rename WILC_WFI_cfg80211_ops This patch replaces WILC_WFI_cfg80211_ops with wilc_cfg80211_ops to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23ced60f154122765fbb320a3eb9d16e4ed19ca5 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 15 14:06:11 2015 +0900 staging: wilc1000: remove duplicated include wilc_wfi_cfgoperations.h and linux_wlan_common.h are included as duplicated in linux_wlan.c. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 703b0d4bbb28f0d12389a13a49860e66c4f4b03b Author: Nicolas Joseph <nicolas.joseph@xxxxxxxxxxxxxxxx> Date: Tue Sep 15 11:35:20 2015 +0200 staging/rtl8192u: remove unused function Remove unused function N_DBPSOfRate. This function was only used by function ComputeTxTime that was removed in the previous commit 742728f97a99 ("staging: rtl8192u: remove unused function.") Signed-off-by: Nicolas Joseph <nicolas.joseph@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60eeb4102e9bccb07d4a0d4e79864c8058461847 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 15 17:22:28 2015 +0530 staging: rtl8192e: fix memory leak If the size of the firmware is not as expected then we are jumping to the error path but we missed releasing the firmware. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d05652c5ce812b4d1addd1a2733d20c912d528d Author: Chandra S Gorentla <csgorentla@xxxxxxxxx> Date: Tue Sep 15 18:09:51 2015 +0530 drivers: staging: wilc1000: Add check for SPI availability NULL pointer deference is observed in the wilc1000.ko module with bus type SPI and when SPI is not ready. Signed-off-by: Chandra S Gorentla <csgorentla@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8fec2ee4fa58e57b835ab9bac67f04f091cf976d Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Tue Sep 15 11:53:35 2015 +0900 staging: wilc1000: remove definition WILC_IS_ERR This patch removes the definition WILC_IS_ERR which is not used anymore. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 978fdc22bae06ea7422d7660ac78ed1c1c9c3e2a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 15 13:35:25 2015 +0300 IB/hfi1: fix copy_to/from_user() error handling copy_to/from_user() returns the number of bytes which we were not able to copy. It doesn't return an error code. Also a couple places had a printk() on error and I removed that because people can take advantage of it to fill /var/log/messages with spam. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Mike Marciniszyn <infinipath@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adad44d1322c6657a96fa1681ded9bb0c3bd56f0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:04 2015 +0200 hfi1: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Cc: Mike Marciniszyn <infinipath@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70b49cd526c5b01679b5794272a160dad5c3205c Author: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Date: Sun Sep 13 22:42:58 2015 -0800 Staging: rlt8192u: Remove spaces at the start of lines This is a patch to remove spaces at the start of lines in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1dfec545169e98b048e1fde0e7e16b6c29f09712 Author: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Date: Sun Sep 13 22:42:53 2015 -0800 Staging: rtl8192u: do not use C99 // comments This is a patch to convert C99-style comments to C89-style comments in ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9bcffdc77139e25e6632e774f978c1d3383aa43 Author: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Date: Sun Sep 13 22:42:49 2015 -0800 Staging: rtl8192u: suspect code indent for conditional statment This is a patch to correct an improperly indented block of code in ieee80211_softmac_wx.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96d6a318370db07e004bd19bd1c17471b3bf5b52 Author: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Date: Sun Sep 13 22:42:44 2015 -0800 Staging: rtl8192u: space required before open parentheses This is a patch to add spaces where required before open parentheses in ieee80211_softmac_wx.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e04f3f381c6a3ab3a7ef0ec9ded709e95996527 Author: Ronit Halder <ronit.crj@xxxxxxxxx> Date: Mon Sep 14 11:03:34 2015 +0530 Staging: wilc1000: Use NULL instead of zero This patch fixes the warning generated by sparse "Using plain integer as NULL pointer" by using NULL instead of zero. Signed-off-by: Ronit halder <ronit.crj@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ae9ac0b61a752fc95298820debde88c10bdb53e Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 15 09:54:33 2015 +0300 staging: wilc1000: off by one in get_handler_from_id() The > should be >= here or we read beyond the end of the array. Fixes: d42ab0838d04 ('staging: wilc1000: use id value as argument') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6de9a2e3d46969044e5fa3c4ca48362f1a3d9435 Author: Lucas Georges <lucas.georges@xxxxxxxxxxx> Date: Mon Sep 14 16:52:35 2015 +0200 staging: ft1000: code style cleanup There was a stray '*' in a comment block. Signed-off-by: Lucas Georges <lucas.georges@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e36cf44798e0107f7e73edce098d0a5c233a79c Author: Sakshi Vaid <sakshivaid95@xxxxxxxxx> Date: Mon Sep 14 20:59:24 2015 +0530 Staging: lustre: lustre: lov: lov_dev.c: Added missing blank line line 158: WARNING: Missing a blank line after declarations line 183: WARNING: Missing a blank line after declarations Added a missing blank line after declartions. Signed-off-by: Sakshi Vaid <sakshivaid95@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5c4c6fae0f754aa17180b411ad04c196f9798ee Author: Olaf Weber <olaf@xxxxxxx> Date: Mon Sep 14 18:41:35 2015 -0400 staging/lustre/ptlrpc: make ptlrpcd threads cpt-aware On NUMA systems, the placement of worker threads relative to the memory they use greatly affects performance. The CPT mechanism can be used to constrain a number of Lustre thread types, and this change makes it possible to configure the placement of ptlrpcd threads in a similar manner. To simplify the code changes, the global structures used to manage ptlrpcd threads are changed to one per CPT. In particular this means there will be one ptlrpcd recovery thread per CPT. To prevent ptlrpcd threads from wandering all over the system, all ptlrpcd thread are bound to a CPT. Note that some CPT configuration is always created, but the defaults are not likely to be correct for a NUMA system. After discussing the options with Liang Zhen we decided that we would not bind ptlrpcd threads to specific CPUs, and rather trust the kernel scheduler to migrate ptlrpcd threads. With all ptlrpcd threads bound to a CPT, but not to specific CPUs, the load policy mechanism can be radically simplified: - PDL_POLICY_LOCAL and PDL_POLICY_ROUND are currently identical. - PDL_POLICY_ROUND, if fully implemented, would cost us the locality we are trying to achieve, so most or all calls using this policy would have to be changed to PDL_POLICY_LOCAL. - PDL_POLICY_PREFERRED is not used, and cannot be implemented without binding ptlrpcd threads to individual CPUs. - PDL_POLICY_SAME is rarely used, and cannot be implemented without binding ptlrpcd threads to individual CPUs. The partner mechanism is also updated, because now all ptlrpcd threads are "bound" threads. The only difference between the various bind policies, PDB_POLICY_NONE, PDB_POLICY_FULL, PDB_POLICY_PAIR, and PDB_POLICY_NEIGHBOR, is the number of partner threads. The bind policy is replaced with a tunable that directly specifies the size of the groups of ptlrpcd partner threads. Ensure that the ptlrpc_request_set for a ptlrpcd thread is created on the same CPT that the thread will work on. When threads are bound to specific nodes and/or CPUs in a NUMA system, it pays to ensure that the datastructures used by these threads are also on the same node. Visible changes: * ptlrpcd thread names include the CPT number, for example "ptlrpcd_02_07". In this case the "07" is relative to the CPT, and not a CPU number. Tunables added: * ptlrpcd_cpts (string): A CPT string describing the CPU partitions that ptlrpcd threads should run on. Used to make ptlrpcd threads run on a subset of all CPTs. * ptlrpcd_per_cpt_max (int): The maximum number of ptlrpcd threads to run in a CPT. * ptlrpcd_partner_group_size (int): The desired number of threads in each ptlrpcd partner thread group. Default is 2, corresponding to the old PDB_POLICY_PAIR. A negative value makes all ptlrpcd threads in a CPT partners of each other. Tunables obsoleted: * max_ptlrpcds: The new ptlrcpd_per_cpt_max can be used to obtain the same effect. * ptlrpcd_bind_policy: The new ptlrpcd_partner_group_size can be used to obtain the same effect. Internal interface changes: * pdb_policy_t and related code have been removed. Groups of partner ptlrpcd threads are still created, and all threads in a partner group are bound on the same CPT. The ptlrpcd threads bound to a CPT are typically divided into several partner groups. The partner groups on a CPT all have an equal number of ptlrpcd threads. * pdl_policy_t and related code have been removed. Since ptlrpcd threads are not bound to a specific CPU, all the code that avoids scheduling on the current CPU (or attempts to do so) has been removed as non-functional. A simplified form of PDL_POLICY_LOCAL is kept as the only load policy. * LIOD_BIND and related code have been removed. All ptlrpcd threads are now bound to a CPT, and no additional binding policy is implemented. * ptlrpc_prep_set(): Changed to allocate a ptlrpc_request_set on the current CPT. * ptlrpcd(): If an error is encountered before entering the main loop store the error in pc_error before exiting. * ptlrpcd_start(): Check pc_error to verify that the ptlrpcd thread has successfully entered its main loop. * ptlrpcd_init(): Initialize the struct ptlrpcd_ctl for all threads for a CPT before starting any of them. This closes a race during startup where a partner thread could reference a non-initialized struct ptlrpcd_ctl. Signed-off-by: Olaf Weber <olaf@xxxxxxx> Reviewed-on: http://review.whamcloud.com/13972 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6325 Reviewed-by: Grégoire Pichon <gregoire.pichon@xxxxxxxx> Reviewed-by: Stephen Champion <schamp@xxxxxxx> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69456a0377555c52bf0b69d9555a2a605b2aa1d3 Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Mon Sep 14 18:41:34 2015 -0400 staging/lustre/libcfs: remove unused cfs_timer_done Remove the cfs_timer_done function in the libcfs kernel module since it is not used anywhere. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: frank zago <fzago@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/13917 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6245 Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 199a0cc08d8552b9683150ef49ebceb764e436eb Author: Liang Zhen <liang.zhen@xxxxxxxxx> Date: Mon Sep 14 18:41:33 2015 -0400 staging/lustre/o2iblnd: leak cmid in kiblnd_dev_need_failover cmid created by kiblnd_dev_need_failover should always be destroyed, however it is not the case in current implementation and we will leak cmid when this function detected a device failover. Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/14603 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6480 Reviewed-by: Isaac Huang <he.huang@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aefd9d714d5dc65b748e4f226475537ba6e00e86 Author: Li Xi <lixi@xxxxxxx> Date: Mon Sep 14 18:41:32 2015 -0400 staging/lustre/osc: use global osc_rq_pool to reduce memory usage The per-osc request pools consume a lot of memory if there are hundreds of OSCs on one client. This will be a critical problem if the client doesn't have sufficient memory for both OSCs and applications. This patch replaces per-osc request pools with a global pool osc_rq_pool. The total memory usage is 5MB by default. And it can be set by a module parameter of OSC: "options osc osc_reqpool_mem_max=POOL_SIZE". The unit of POOL_SIZE is MB. If cl_max_rpcs_in_flight is the same for all OSCs, the memory usage of the OSC pool can be calculated as: Min(POOL_SIZE * 1M, (cl_max_rpcs_in_flight + 2) * OSC number * OST_MAXREQSIZE) Also, this patch changes the allocation logic of OSC write requests. The allocation from osc_rq_pool will only be tried after normal allocation failed. Signed-off-by: Wu Libin <lwu@xxxxxxx> Signed-off-by: Wang Shilong <wshilong@xxxxxxx> Signed-off-by: Li Xi <lixi@xxxxxxx> Reviewed-on: http://review.whamcloud.com/15422 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6770 Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae9c46d12284ee339eefb915d7d5da83cad8933d Author: Ben Evans <bevans@xxxxxxxx> Date: Mon Sep 14 18:41:31 2015 -0400 staging/lustre: Remove unused MAY_ constants Remove unused MAY_ constants from lustre_idl.h Signed-off-by: Ben Evans <bevans@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/15398 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6450 Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0b8803a36f51e8ade88c64cbb5a768e575b1787 Author: Ann Koehler <amk@xxxxxxxx> Date: Mon Sep 14 18:41:30 2015 -0400 staging/lustre/obdclass: Eliminate hash bucket scans in lu_cache_shrink The lu_cache_shrink slab shrinker is too slow, accounting for > 90% of the time spent in shrink_slab when allocating huge pages. Most of its time is spent iterating over the buckets in each site's object hash table to compute the number of freeable objects. This iteration is eliminated by adding an lru length count to the lu_site struct. A percpu counter is used to maintain the lru length, so that the lu_site does not need to be locked when an object is accessed through the hash table. A counter is updated whenever an object is added to or deleted from any of the hash table buckets. The number of freeable objects is the sum of the counter values across all cpus. Signed-off-by: Ann Koehler <amk@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/14066 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6365 Reviewed-by: Mike Pershin <mike.pershin@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f830d8d54d348783a7c23635fb985b40e5db963 Author: Andrew Perepechko <andrew.perepechko@xxxxxxxxxxx> Date: Mon Sep 14 18:41:29 2015 -0400 staging/lustre/llite: ASSERTION( atomic_read(&d->ld_ref) == 0 ) failed ll_iget_for_nfs() can call unbalanced iput() causing memory leaks. This patch removes this iput() call. Also, avoid unhashing disconnected dentries in d_lustre_invalidate(), which is another source of memory leaks. One of the symptoms of the leak is the following crash pattern: LustreError: 14812:0:(lu_object.c:1251:lu_device_fini()) ASSERTION( atomic_read(&d->ld_ref) == 0 ) failed: Refcount is 1 LustreError: 14812:0:(lu_object.c:1251:lu_device_fini()) LBUG Pid: 14812, comm: umount Call Trace: [<ffffffffa11bc895>] libcfs_debug_dumpstack+0x55/0x80 [libcfs] [<ffffffffa11bce97>] lbug_with_loc+0x47/0xb0 [libcfs] [<ffffffffa1458a48>] lu_device_fini+0xb8/0xc0 [obdclass] [<ffffffffa08e9ab2>] lovsub_device_free+0x52/0x220 [lov] [<ffffffffa145c64e>] lu_stack_fini+0x7e/0xc0 [obdclass] [<ffffffffa146356e>] cl_stack_fini+0xe/0x10 [obdclass] [<ffffffffa08bc1a8>] lov_device_fini+0x58/0x120 [lov] [<ffffffffa145c619>] lu_stack_fini+0x49/0xc0 [obdclass] [<ffffffffa146356e>] cl_stack_fini+0xe/0x10 [obdclass] [<ffffffffa0e1279d>] cl_sb_fini+0x6d/0x190 [lustre] [<ffffffffa0dd34bc>] ll_put_super+0x1bc/0x11e0 [lustre] [<ffffffff811cd0f2>] ? fsnotify_clear_marks_by_inode+0x32/0xf0 [<ffffffff811a59df>] ? destroy_inode+0x2f/0x60 [<ffffffff811a5eac>] ? dispose_list+0xfc/0x120 [<ffffffff811a62a6>] ? invalidate_inodes+0xf6/0x190 [<ffffffff8118b35b>] generic_shutdown_super+0x5b/0xe0 [<ffffffff8118b446>] kill_anon_super+0x16/0x60 [<ffffffffa144e7ba>] lustre_kill_super+0x4a/0x60 [obdclass] [<ffffffff8118bbe7>] deactivate_super+0x57/0x80 [<ffffffff811aabef>] mntput_no_expire+0xbf/0x110 [<ffffffff811ab73b>] sys_umount+0x7b/0x3a0 [<ffffffff8100b072>] system_call_fastpath+0x16/0x1b Signed-off-by: Andrew Perepechko <andrew.perepechko@xxxxxxxxxxx> Reviewed-on: http://review.whamcloud.com/15480 Xyratex-bug-id: MRP-2414 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6794 Reviewed-by: Lai Siyao <lai.siyao@xxxxxxxxx> Reviewed-by: Bobi Jam <bobijam@xxxxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f3622b90fb551d3672479ad1e4ab649d7fcdbad Author: Isaac Huang <he.huang@xxxxxxxxx> Date: Mon Sep 14 18:41:28 2015 -0400 staging/lustre/o2iblnd: wrong uses of kib_tx_t::tx_nfrags The kib_tx_t::tx_nfrags field is the # entries in the kib_tx_t::tx_frags array, rather than # DMA mapped entries. So kiblnd_send/kiblnd_recv should use kib_rdma_desc_t::rd_nfrags instead. Signed-off-by: Isaac Huang <he.huang@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12857 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5956 Reviewed-by: Liang Zhen <liang.zhen@xxxxxxxxx> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: Doug Oucharek <doug.s.oucharek@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4dcb710986aa3bbcee8172b2ea6387982d5455cc Author: Liang Zhen <liang.zhen@xxxxxxxxx> Date: Mon Sep 14 18:41:27 2015 -0400 staging/lustre/lnet: fix deadloop in ksocknal_push ksocknal_push() should break the loop if it can't find matching peer Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4423 Reviewed-on: http://review.whamcloud.com/10128 Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: Doug Oucharek <doug.s.oucharek@xxxxxxxxx> Reviewed-by: Isaac Huang <he.huang@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a956d8c1939e2ad34047fde96d40d39ec2186cf Author: Niu Yawei <yawei.niu@xxxxxxxxx> Date: Mon Sep 14 18:41:26 2015 -0400 staging/lustre/libcfs: minor fix in cfs_hash_for_each_relax() cfs_hash_for_each_relax() should break iteration when callback returns non-zero value. Signed-off-by: Niu Yawei <yawei.niu@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/14927 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6636 Reviewed-by: Bobi Jam <bobijam@xxxxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Liang Zhen <liang.zhen@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0df83c184effeac5d05394b65ca7baef71f41178 Author: Hiroya Nozaki <nozaki.hiroya@xxxxxxxxxxxxxx> Date: Mon Sep 14 18:41:25 2015 -0400 staging/lustre/osc: LBUG in osc_lru_reclaim LASSERT touches cl_client_cache->ccc_lru without any protection. So this patch the LASSERT moves to the section protected by cl_client_cache->ccc_lru_lock Signed-off-by: Hiroya Nozaki <nozaki.hiroya@xxxxxxxxxxxxxx> Reviewed-on: http://review.whamcloud.com/14901 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6624 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fa3c577bb8d57a517445af1015035eb43a87a1f Author: Liang Zhen <liang.zhen@xxxxxxxxx> Date: Mon Sep 14 18:41:24 2015 -0400 staging/lustre/o2iblnd: connection refcount fix for kiblnd_post_rx kiblnd_post_rx() can't refer to rx::rx_conn anymore after ib_post_recv() because this rx can be polled out by another thread which may drop this rx and destroy rx::rx_conn. This patch fixes this issue by taking an extra refcount on connection before calling ib_post_recv(). Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/12852 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5678 Reviewed-by: Isaac Huang <he.huang@xxxxxxxxx> Reviewed-by: Amir Shehata <amir.shehata@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbaa9c10328aa14615733c407b0c2f6d9c3df330 Author: Niu Yawei <yawei.niu@xxxxxxxxx> Date: Mon Sep 14 18:41:23 2015 -0400 staging/lustre/llite: deny non-root user for changelog operations To avoid potential security problems, non-privileged users should have no permission to run 'lfs changelog' & 'lfs changelog_clear'. Signed-off-by: Niu Yawei <yawei.niu@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/14280 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6415 Reviewed-by: Lai Siyao <lai.siyao@xxxxxxxxx> Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ced41eba4111e954af6a67ff45e30072a89d6cc5 Author: Oleg Drokin <oleg.drokin@xxxxxxxxx> Date: Mon Sep 14 18:41:22 2015 -0400 staging/lustre/lmv: fix potential null pointer dereference In lmv_disconnect_mdc do procfs removal only if we actually know the name. Reviewed-on: http://review.whamcloud.com/14605 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6517 Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e4fe2bde9028d4cd8090e08331305e51771c125 Author: Andreas Dilger <andreas.dilger@xxxxxxxxx> Date: Mon Sep 14 18:41:21 2015 -0400 staging/lustre/ptlrpc: remove LUSTRE_MSG_MAGIC_V1 support Remove the remains of LUSTRE_MSG_MAGIC_V1 support from ptlrpc. It has not been supported since 1.8 and is not functional since 2.0. In lustre_msg_check_version(), return an error for unsupported RPC versions so that the server will reject such RPCs early. Otherwise the server only prints an error message and continue on. Signed-off-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/14007 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6349 Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2742c75ec6f086dff1102f801fd0bff7a15ec3fd Author: Bruno Faccini <bruno.faccini@xxxxxxxxx> Date: Mon Sep 14 18:41:20 2015 -0400 staging/lustre/llite: strengthen checks for hsm flags and archive id Prior to this patch undefined flags bits and out of range archive id can be set. Signed-off-by: Bruno Faccini <bruno.faccini@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/13337 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5757 Reviewed-by: frank zago <fzago@xxxxxxxx> Reviewed-by: Henri Doreau <henri.doreau@xxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44ecac688986e96d6654a1f71ce07032a8f6c278 Author: Fan Yong <fan.yong@xxxxxxxxx> Date: Mon Sep 14 18:41:19 2015 -0400 staging/lustre/llite: cleanup open handle for client open failure For open case, the client side open handling thread may hit error after the MDT grant the open. Under such case, the client should send close RPC to the MDT as cleanup; otherwise, the open handle on the MDT will be leaked there until the client umount or evicted. If the LFSCK marks LU_OBJECT_HEARD_BANSHEE on the MDT-object that is opened by others for repairing some inconsistency, such as repairing multiple-referenced OST-object, because the leaked open handle still references the MDT-object, then it will block the subsequent threads that want to locate such object via FID. Signed-off-by: Fan Yong <fan.yong@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/13709 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6301 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Lai Siyao <lai.siyao@xxxxxxxxx> Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e580ab50a3d3344be5d410406967edcc691d8a0 Author: Frank Zago <fzago@xxxxxxxx> Date: Mon Sep 14 18:41:18 2015 -0400 staging/lustre/obdclass: reorganize busy object accounting Due to some accounting bug, lsb_busy of a hash bucket can become larger than the total number of objects in said bucket. A busy object can be counted more than once. When that happens, a negative value is returned by the shrinker callback. Instead of trying (and failing) to count the busy objects, count the objects than are not busy, i.e. the objects that are present on the lsb_lru list. The number of busy objects is then the difference between the number of objects in the hash and the objects on the lsb_lru list. Signed-off-by: frank zago <fzago@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/12468 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5722 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Mike Pershin <mike.pershin@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b03f395a3e9bf4874fb58f4fe6033866d3b9f105 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 14 18:41:17 2015 -0400 staging/lustre/lnet: Reenable lnet router debugfs It looks like router proc files were defined out, so I missed them during debugfs conversion. Reenable the code and move all the variables to debugfs. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbbe6bf6037d77816c4a19aaf35f4cecf662b49a Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Sun Sep 6 07:13:35 2015 +0000 perf tools: Introduce regs_query_register_offset() for x86 regs_query_register_offset() is a helper function which converts register name like "%rax" to offset of a register in 'struct pt_regs', which is required by BPF prologue generator. Since the function is identical, try to reuse the code in arch/x86/kernel/ptrace.c. Comment inside dwarf-regs.c list the differences between this implementation and kernel code. get_arch_regstr() switches to regoffset_table and the old string table is dropped. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> 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: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441523623-152703-20-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 63ab024a5b6f295ca17a293ad81b7c728f49a89a Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Mon Sep 14 23:02:49 2015 -0300 perf tools: regs_query_register_offset() infrastructure regs_query_register_offset() is a helper function which converts register name like "%rax" to offset of a register in 'struct pt_regs', which is required by BPF prologue generator. PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET indicates an architecture supports converting name of a register to its offset in 'struct pt_regs'. HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET is introduced as the corresponding CFLAGS of PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441523623-152703-19-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> [ Extracted from eBPF patches ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 196581717d85f59365dc9303685cd5b1cdf106a3 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 7 10:38:07 2015 +0200 perf tools: Enhance parsing events tracepoint error output Enhancing parsing events tracepoint error output. Adding more verbose output when the tracepoint is not found or the tracing event path cannot be access. $ sudo perf record -e sched:sched_krava ls event syntax error: 'sched:sched_krava' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing//tracing/events/sched/sched_krava not found. Hint: Perhaps this kernel misses some CONFIG_ setting to enable this feature?. Run 'perf list' for a list of valid events ... $ perf record -e sched:sched_krava ls event syntax error: 'sched:sched_krava' \___ can't access trace events Error: No permissions to read /sys/kernel/debug/tracing//tracing/events/sched/sched_krava Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug' Run 'perf list' for a list of valid events ... Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@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/1441615087-13886-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8dd2a1317eba2c207632dcb19adb7cb746861652 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 7 10:38:06 2015 +0200 perf evsel: Propagate error info from tp_format Propagate error info from tp_format via ERR_PTR to get it all the way down to the parse-event.c tracepoint adding routines. Following functions now return pointer with encoded error: - tp_format - trace_event__tp_format - perf_evsel__newtp_idx - perf_evsel__newtp This affects several other places in perf, that cannot use pointer check anymore, but must utilize the err.h interface, when getting error information from above functions list. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441615087-13886-5-git-send-email-jolsa@xxxxxxxxxx [ Add two missing ERR_PTR() and one IS_ERR() ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e2f9f8ea6a54e252e3a94a5c2321f673b5b97360 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 7 10:38:05 2015 +0200 perf tools: Propagate error info for the tracepoint parsing Pass 'struct parse_events_error *error' to the parse-event.c tracepoint adding path. It will be filled with error data in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Reviewed-by: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441615087-13886-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 01ca9fd41d6f2ad796a6b109b5253e06b6ae6dc7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 7 10:38:03 2015 +0200 tools: Add err.h with ERR_PTR PTR_ERR interface Adding part of the kernel's <linux/err.h> interface: inline void * __must_check ERR_PTR(long error); inline long __must_check PTR_ERR(__force const void *ptr); inline bool __must_check IS_ERR(__force const void *ptr); It will be used to propagate error through pointers in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Reviewed-by: 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/1441615087-13886-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9bae1e8c3fe5359ce17309b894f54667fd563e98 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Sep 10 11:27:05 2015 +0900 perf probe: Export init/exit_probe_symbol_maps() The init/exit_symbols_maps() functions are to setup and cleanup necessary info for probe events. But they need to be called from out of the probe code now, so this patch exports them. However the names are too generic, so change them to have 'probe'. :) Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441852026-28974-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a43aac299c3abc09eff856039f5b72166b780d35 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Sep 10 11:27:04 2015 +0900 perf probe: Free perf_probe_event in cleanup_perf_probe_events() The cleanup_perf_probe_events() frees all resources related to a perf probe event. However it only freed resources in trace probe events, not perf probe events. So call clear_perf_probe_event() too. Reported-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441852026-28974-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 10d9be6ebe9199feb7680433a24b564a31a8f9b1 Author: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Date: Tue Sep 15 12:55:15 2015 +0300 clk: tegra: Unlock top rates for Tegra124 DFLL clock The new determine_rate prototype allows for clock rates exceeding 2^31-1 Hz to be used. Switch the DFLL clock to use determine_rate instead of round_rate and unlock the top rates supported by the Tegra124. Signed-off-by: Mikko Perttunen <mikko.perttunen@xxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3f5331324f187b3dc7634c4fb4351f7bd36fad21 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:46 2015 +0200 ARM: tegra: colibri-eval: Fix power/wakeup key Rather than a power key SODIMM pin 45 is actually used for wake-up purposes which this patch fixes. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ccb43161b0bde0d22692dbfb34383f2c0228abc3 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:45 2015 +0200 ARM: tegra: colibri-eval: Add comment concerning SD/MMC Instead of adding an otherwise unused sdmmc label just add a comment. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e4212ffa41361aae7824844609ea4ac9f78513d8 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:44 2015 +0200 ARM: tegra: colibri-eval: Fix vendor string of M41T0M6 RTC Fix compatible vendor string of M41T0M6 real time clock as found on the Colibri Evaluation board. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d5edc4ecc84edc6a336592a39946f44543158cf3 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Sep 15 10:29:57 2015 +0200 ARM: tegra: colibri: Properly align pin names Align pin names on subsequent lines with the first the name of the first pin in the first line. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 3791d1cc4bb1aa78c1032873a637ceeaf304a704 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:43 2015 +0200 ARM: tegra: colibri: Replace eMMC label by comment Rather than a bogus label just add a comment identifying the SDHCI instance connected to the on-module eMMC. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 737a7c26a8917f4789884f728e66856a5d526556 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:42 2015 +0200 ARM: tegra: colibri: Activate STMPE811 touch controller Activate STMPE811 touch controller as found on Colibri T30 modules. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 6456e9c5a27fad0345d2b24ea35ce5562917a352 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:41 2015 +0200 ARM: tegra: colibri: Add touch pen interrupt pin muxing Add TOUCH_PEN_INT# pin muxing required for proper STMPE811 touch screen controller operation. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit b038e3b916cf5c6f4f27f1fbaa10b657a941be54 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:40 2015 +0200 ARM: tegra: colibri: Fix comment about 3v3 fixed supply Fix the comment about the 3v3 fixed supply as the previous v3_3 was bogus. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit e48f6c0eaac087519f9343297eedc6dc117bb153 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:39 2015 +0200 ARM: tegra: colibri: Add pin muxing for on-module power I2C Add pin muxing for the on-module power I2C bus which connects to the PMICs, temperature sensor and touch screen controller. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 62bcaba1ab2fb1a9ce5e6d7540ca5efa609fe480 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:38 2015 +0200 ARM: tegra: colibri: Improve comment about thermal alert pin Improve the comment about the THERMD_ALERT# pin which is the unlatched I2C address pin of the LM95245 temperature sensor and therefore requires disabling for now otherwise it won't get detected properly. While at it also move that pin further down to have it alphabetically sorted again. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 312d373225fb9f05a9b45207087378d236026b4e Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:37 2015 +0200 ARM: tegra: colibri: Fix HDMI supplies Fix HDMI supplies (both regular VDD as well as PLL ones) being switched by the TPS65911 PMIC's GPIO6 aka EN_VDD_HDMI by introducing two new GPIO witched fixed regulators avdd_hdmi_pll_1v8_reg and avdd_hdmi_3v3_reg. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 39ebbf61d4a71dc0f47ac443c9d3fb433b057283 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 17:59:36 2015 +0200 ARM: tegra: colibri: Update hardware revisions compatibility Update introductory comment about what exact hardware revisions this device tree is compatible with as a hint for our customers. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 21db15df49e9095326ce672209ec47c022105422 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:36 2015 +0200 ARM: tegra: apalis-eval: Fix power/wakeup key Rather than a power key, WAKE1_MICO is actually a standard Apalis MXM3 pin used for wake-up purposes which this patch fixes. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9ecf78c277ab721f793cccc84312d7f55011b40c Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:35 2015 +0200 ARM: tegra: apalis-eval: Fix backlight PWM comment Fix the backlight PWM comment as it is actually called PWM_BKL1 rather than just PWM0. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit ea147c8f0e8e5265143f43e602b978ff1859a1b1 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:34 2015 +0200 ARM: tegra: apalis-eval: Set OTG dr_mode This has currently no functional effect as neither USB device nor OTG is currently supported on any Tegras in mainline as of yet. However once we use the same device tree on U-Boot this will actually make it work properly there. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 26f660d9db98582e28b85a95cd2318ba2dc9df8a Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:33 2015 +0200 ARM: tegra: apalis-eval: Enable HDA controller Actually enable HDA now that it should otherwise be supported by the driver and the device tree. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 40699b926df77ccfe2a85c14ede6ac61e515bb40 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Sep 15 10:29:57 2015 +0200 ARM: tegra: apalis: Properly align pin names Align pin names on subsequent lines with the first the name of the first pin in the first line. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 4399f40b2bebde152171112253990f1a88abd912 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:32 2015 +0200 ARM: tegra: apalis: Add digital audio pin muxing Add Apalis digital audio pin muxing which is e.g. used for HDA operation together with the Realtek HDA codec as found on the Apalis Evaluation board. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7be74b0594a51a1b0fb1eba1001e7beda6a4b9de Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:31 2015 +0200 ARM: tegra: apalis: Add comment concerning eMMC Instead of adding an otherwise unused emmc label just add a comment describing what the SDHCI is routed to. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 0f44de6cb8904e9a686188aaa51323280d37e127 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:30 2015 +0200 ARM: tegra: apalis: Fix pin muxing Fix pin muxing which got broken due to certain stuff having been fixed or renamed since. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 654b7d6aec9e55ca5e67adb3bdf0fefd9533c900 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:29 2015 +0200 ARM: tegra: apalis: Fix HDMI power supplies Fix HDMI supplies (both regular VDD as well as PLL ones) being switched by the TPS65911 PMIC's GPIO6 aka EN_VDD_HDMI by introducing two new GPIO switched fixed regulators avdd_hdmi_pll_1v8_reg and avdd_hdmi_3v3_reg. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit a5e27206b3b560f91aa421e166029db02b15a7dd Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 14:42:28 2015 +0200 ARM: tegra: apalis: Update hardware revisions compatibility comment Update introductory comment about what exact hardware revisions this device tree is compatible with as a hint for our customers. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit d8b316b2509f224308e851036653364c22222c61 Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Thu Aug 27 11:44:48 2015 +0200 ARM: tegra: Whitespace clean-up for Tegra20/30/124 There were a few cases of eight spaces being used instead of a tab character plus one case of using two spaces after an equal sign instead of just one which this patch fixes. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9a0baee960a718b2fde249b7d9197641fb8eb08d Author: Jon Hunter <jonathanh@xxxxxxxxxx> Date: Wed Jun 3 12:43:41 2015 +0100 ARM: tegra: Enable CPUFreq support for Tegra124 Chromebooks Add the device-tree DFLL clock node and CPU regulator phandle for Tegra124 Chromebooks to enable CPUFreq support on these boards. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> Reviewed-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 7993b3ebec979b23c2d7425959c9d232c452498b Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:37 2015 +0530 clk: samsung: exynos7: Add required clock tree for UFS Adding required mux/div/gate clocks for UFS controller present on Exynos7. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit ad108e10ae3ce6bc68eb89e788296a3c40801482 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:36 2015 +0530 clk: samsung: exynos7: Add missing fixed_clks to cmu_info FSYS0 fixed clocks are not added to fsys0_cmu_info, this makes some of the usb clocks orphans. This fixes the same. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 753195a749a6c849dbd05cb82a2deb4190a06257 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:35 2015 +0530 clk: samsung: exynos7: Correct CMU_FSYS1 clocks names This patch renames CMU_FSYS1 clocks names to match with user manual. And also adds missing gate clock for aclk_fsys1_200. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit a259a61be1d0d01aa2dd4778722e4d161780c813 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:34 2015 +0530 clk: samsung: exynos7: Correct CMU_FSYS0 clocks names This patch renames CMU_FSYS0 clocks names to match with user manual. And also adds missing gate clock for aclk_fsys0_200. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 6ce0f5cf11a1165675a1eef8a17b8738fea3f9da Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:33 2015 +0530 clk: samsung: exynos7: Correct CMU_PERIS clocks names This patch renames CMU_PERIS clocks names to match with user manual. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 33b8b739ef5ec43b5119ab011c0a885fc565ad19 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:32 2015 +0530 clk: samsung: exynos7: Correct CMU_PERIC1 clocks names This patch renames CMU_PERIC1 clocks names to match with user manual. And also adds missing gate clock for aclk_peric1_66. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 3f54fb1e09da301173bc44845f93a1be7fe33d8f Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:31 2015 +0530 clk: samsung: exynos7: Correct CMU_PERIC0 clocks names This patch renames CMU_PERIC0 clocks names to match with user manual. And also adds missing gate clock for aclk_peric0_66. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 56365ee893558a613e2c99e462f29d0047e54b5f Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:30 2015 +0530 clk: samsung: exynos7: Correct CMU_CCORE clocks names This patch renames CMU_CCORE clocks names to match with user manual. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 716d81e3508cad4f8c2fa4e48088646c0a9bbe7d Author: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Date: Fri Aug 28 23:08:15 2015 +0200 ARM: tegra: Update default configuration Update the Tegra default configuration for the following features: - expose hardware/virtual IRQ mapping via debugfs - WM9712 audio/touch controller as found on Colibri T20 - sysfs interface for GPIOs - NFS client support for NFS version 4 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 9b3ad363c107af4ea35f745c0ef5f1587b3bdf3c Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:29 2015 +0530 clk: samsung: exynos7: Correct CMU_TOP1 clocks names This patch renames CMU_TOP1 clocks names to match with user manual. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit cf5ee64c358bbfc238abe5417a99415a7d881ed6 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:28 2015 +0530 clk: samsung: exynos7: Correct CMU_TOP0 clocks names This patch renames CMU_TOP0 clocks names to match with user manual. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 241e077b560ce3a67bb3ba681d9e5494a6c1042d Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Sep 15 11:10:48 2015 +0200 ARM: tegra: Rebuild default configuration on v4.3-rc1 As a result of rebuilding the configuration the following symbols are removed: - EXT4_FS: ext3 has finally been removed from the kernel. ext4 provides feature parity and can be used to mount ext3 filesystems. EXT3_FS selects EXT4_FS. - EXT3_DEFAULTS_TO_ORDERED: Removed as part of the ext3 filesystem removal. - IPV6: IPv6 is now built-in by default Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> commit 2cbb51574557a8affe0732ad23a840cf90c656b1 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:27 2015 +0530 clk: samsung: exynos7: Adds missing clocks gates of CMU_TOPC This adds some of the missing GATE clocks of CMU_TOPC block. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit dc504b2277c86b97ca58cf02dde5652eb5ce6d86 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Thu Sep 10 14:14:26 2015 +0530 clk: samsung: exynos7: Change the CMU_TOPC block clock names Corrects the CMU_TOPC block clock names as per user manual. This does not change any functionalities. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 167c9e4d6d11263eb8b3712e17c0d7952812cdf2 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Wed Aug 26 09:00:44 2015 +0530 clk: samsung: exynos7: Correct nr_clk_ids for fsys1 nr_clk_ids for FSYS1 block is wrongly set as TOP1 block, this patch corrects it. Signed-off-by: Padmavathi Venna <padma.v@xxxxxxxxxxx> Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 7cca2e0744a990bfa0ae93a40c886fd589fb37b7 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Wed Aug 26 09:00:43 2015 +0530 clk: samsung: exynos7: Correct nr_clk_ids for fsys0 This patch corrects the nr_clk_ids for fsys0 block which is wrongly set to number of clocks of the TOP1 CMU. This also adjusts the gate clocks order. Signed-off-by: Padmavathi Venna <padma.v@xxxxxxxxxxx> Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit cfc7588a310254b659cb0a6fcca1fffd3f223090 Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Wed Aug 26 09:00:42 2015 +0530 clk: samsung: exynos7: Fix CMU TOP1 block As per UM, sclk_mmc2 is bit 16 of SEL_TOP1_FSYS0. Also the DIV and the GATE clocks are at bit 16 in their respective registers. For mmc1 and mmc0 clock MUXs are in TOP1_FSYS11 instead of TOP1_FSYS1. And their DIV and GATE clks are in xxx_TOP1_FSYS11 instead of TOP1_FSYS1. This patch corrects it. This also adds xxx_FSYS11 to be saved/restore during s2r cycles. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit fa9f3a526459ef33f1ca54aad231c5a23071f37f Author: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Date: Wed Aug 26 09:00:41 2015 +0530 clk: samsung: exynos7: Fix CMU TOPC block clock Corrects the bit width of DIV_TOPC3 register. These are wrongly set to 3 which should be 4 bit wide as per UM. This also adjusts the MUX clock order. Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> commit 9059b284caecb628fac826c2c5cc8ee85708eec1 Merge: 8f3e568 92d424a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 15 08:50:59 2015 +0200 Merge tag 'perf-core-for-mingo-2' 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 'socket' sort entry, to sort by the processor socket in 'perf top' and 'perf report'. (Kan Liang) - Introduce --socket-filter to 'perf report', for filtering by processor socket. (Kan Liang) - Add new "Zoom into Processor Socket" operation in the perf hists browser, used in 'perf top' and 'perf report'. (Kan Liang) - Fix the 'CPU' hist browser column width calculation. (Arnaldo Carvalho de Melo) Infrastructure changes: - 'perf test' fixes for the object code reading entry. (Jan Stancek) - Add processor socket and cpu topology 'perf test' entries. (Kan Liang) - Introduce more sysfs__read_TYPE() helpers. (Arnaldo Carvalho de Melo) - Group cpu information reading functions in tools/lib/api/cpu.[ch], starting with cpu__get_max_freq() from a patchkit by Kan Liang. (Arnaldo Carvalho de Melo) - Retrieve the MSR PMU type from a perf.data file header and store it in struct perf_env. (Kan Liang) - Add tools/include into CTAGS file list. (Jiri Olsa) - Add iterator function for perf tests. (Matt Fleming) - Switch to tracing_patch interface. (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 73477bbb09e7022063d1737c7322ad2e08968c23 Author: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Date: Thu Aug 27 20:15:28 2015 +0200 x86/fpu/math-emu: Remove !NO_UNDOC_CODE We always want to support all FPU opcodes, including undocumented ones. That define was fully justified ~20 years ago but not today. Let's not complicate the code with it. Signed-off-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1440699330-1305-1-git-send-email-dvlasenk@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f934c745079ea3a15e8619350faf681dad42cc91 Author: Rami Rosen <ramirose@xxxxxxxxx> Date: Fri Sep 11 17:49:22 2015 +0300 ACPI: change acpi_sleep_proc_init() to return void This patch changes the type of the return value of the acpi_sleep_proc_init() method to be void, as this method never fails and its return value is never used. Signed-off-by: Rami Rosen <ramirose@xxxxxxxxx>\ [ rjw : Fixed up the static inline stub ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c33cab60bc0e05ddf1ef1b2cba8d16dd010f600a Author: Rami Rosen <ramirose@xxxxxxxxx> Date: Thu Sep 10 23:48:09 2015 +0300 ACPI: change init_acpi_device_notify() to return void This patch changes the type of the return value of the init_acpi_device_notify() method to be void, as this method never fails and its return value is never used. Signed-off-by: Rami Rosen <ramirose@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6a0d12ef993c5291047d72e88d73d0aa2b967335 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:59:43 2015 +0200 ACPI / scan: use kstrdup_const() in acpi_add_id() Empirically, acpi_add_id is mostly called with string literals, so using kstrdup_const for initializing struct acpi_hardware_id::id saves a little run-time memory and a string copy. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 844142c3f80c66fb2c311b118d60abdfe02322cb Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:59:42 2015 +0200 ACPI / scan: constify struct acpi_hardware_id::id This is preparation for using kstrdup_const to initialize that member. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 636c19d38920caee61d694ef306d110d33935038 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 23:59:41 2015 +0200 ACPI / scan: constify first argument of struct acpi_scan_handler::match One wouldn't expect a "match" function modify the string it searches for, and indeed the only instance of the struct acpi_scan_handler::match callback, acpi_pnp_match, can easily be changed. While there, update its helper matching_id(). This is also preparation for constifying struct acpi_hardware_id::id. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f59d3ee8480d30f41914cb4bed5086237e8507b0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Sep 4 13:47:26 2015 +0530 PM / OPP: Move cpu specific code to opp/cpu.c Move cpu device specific code out of generic opp library, and add it to cpu.c. Along with that, create a core-internal opp.h header, which will be used to share structures and function prototypes within opp core. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 33692dc381f9b89ddfc408631bf670ac2fd08ffc Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Sep 4 13:47:25 2015 +0530 PM / OPP: Move opp core to its own directory OPP code is expanding and is already present in multiple directories (cpufreq and power). Lets move it to its own directory, to manage it better. This also moves/renames the cpufreq_opp file to cpu.c, as it will contain helpers for cpu device. Its not just about cpufreq, other frameworks can use OPPs as well. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8f8d37b2537a28b5b2e3cb60dfc85a2a1303f99b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Sep 4 13:47:24 2015 +0530 PM / OPP: Prefix exported opp routines with dev_pm_opp_ That's the naming convention followed in most of opp core, but few routines didn't follow this, fix them. Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f0489a5ef4d011e29f78021ad13a543e8769d619 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Sep 4 13:47:23 2015 +0530 PM / OPP: Rename opp init/free table routines free-table routines are opposite of init-table ones, and must be named to make that clear. Opposite of 'init' is 'exit', but those doesn't suit really well. Replace 'init' with 'add' and 'free' with 'remove'. Reported-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1840995c52d44bec8c20d6c07a706dc1499da9da Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Fri Sep 4 13:47:22 2015 +0530 PM / OPP: reuse of_parse_phandle() We already have a better API to get the opp descriptor block's node from cpu-node. Lets reuse that instead of creating our own routines for the same stuff. That cleans the code a lot. This also kills a check we had earlier (as we are using the generic API now). Earlier we used to check if the operating-points-v2 property contained multiple phandles instead of a single phandle. Killing this check isn't an issue because, we only parse the first entry with of_parse_phandle(). So, if a user passes multiple phandles, its really his problem :) Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 504a33749971c36c54ba5ccb1364872dee1f17a7 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:42:33 2015 +0200 ACPI / property: Extend device_get_next_child_node() to data-only nodes Make device_get_next_child_node() work with ACPI data-only subnodes introduced previously. Namely, replace acpi_get_next_child() with acpi_get_next_subnode() that can handle (and return) child device objects as well as child data-only subnodes of the given device and modify the ACPI part of the GPIO subsystem to handle data-only subnodes returned by it. To that end, introduce acpi_node_get_gpiod() taking a struct fwnode_handle pointer as the first argument. That argument may point to an ACPI device object as well as to a data-only subnode and the function should do the right thing (ie. look for the matching GPIO descriptor correctly) in either case. Next, modify fwnode_get_named_gpiod() to use acpi_node_get_gpiod() instead of acpi_get_gpiod_by_index() which automatically causes devm_get_gpiod_from_child() to work with ACPI data-only subnodes that may be returned by device_get_next_child_node() which in turn is required by the users of that function (the gpio_keys_polled and gpio-leds drivers). Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit d079524a33977dc08ea15650a21a1664a7313941 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:41:33 2015 +0200 ACPI / gpio: Split acpi_get_gpiod_by_index() Split acpi_get_gpiod_by_index() into three smaller routines to allow the subsequent change of the generic firmware node properties code to be more strarightforward. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3a7a2ab839ad18c2d542b40f4a647c98d068e55a Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:40:05 2015 +0200 ACPI / property: Extend fwnode_property_* to data-only subnodes Modify is_acpi_node() to return "true" for ACPI data-only subnodes as well as for ACPI device objects and change the name of to_acpi_node() to to_acpi_device_node() so it is clear that it covers ACPI device objects only. Accordingly, introduce to_acpi_data_node() to cover data-only subnodes in an analogous way. With that, make the fwnode_property_* family of functions work with ACPI data-only subnodes introduced previously. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 263b4c1a64bc12470684aeaf7c44f03d31716819 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:37:19 2015 +0200 ACPI / property: Expose data-only subnodes via sysfs Add infrastructure needed to expose data-only subnodes of ACPI device objects introduced previously via sysfs. Each data-only subnode is represented as a sysfs directory under the directory corresponding to its parent object (a device or a data-only subnode). Each of them has a "path" attribute (containing the full ACPI namespace path to the object the subnode data come from) at this time. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit 445b0eb058f5f31c844a731cb82e7441d0d9e578 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:36:14 2015 +0200 ACPI / property: Add support for data-only subnodes In some cases, the information expressed via device properties is hierarchical by nature. For example, the properties of a composite device consisting of multiple semi-dependent components may need to be represented in the form of a tree of property data sets corresponding to specific components of the device. Unfortunately, using ACPI device objects for this purpose turns out to be problematic, mostly due to the assumption made by some operating systems (that platform firmware generally needs to work with) that each device object in the ACPI namespace represents a device requiring a separate driver. That assumption leads to complications which reportedly are impractically difficult to overcome and a different approach is needed for the sake of interoperability. The approach implemented here is based on extending _DSD via pointers (links) to additional ACPI objects returning data packages formatted in accordance with the _DSD formatting rules defined by Section 6.2.5 of ACPI 6. Those additional objects are referred to as data-only subnodes of the device object containing the _DSD pointing to them. The links to them need to be located in a separate section of the _DSD data package following UUID dbb8e3e6-5886-4ba6-8795-1319f52a966b referred to as the Hierarchical Data Extension UUID as defined in [1]. Each of them is represented by a package of two strings. The first string in that package (the key) is regarded as the name of the data-only subnode pointed to by the link. The second string in it (the target) is expected to hold the ACPI namespace path (possibly utilizing the usual ACPI namespace search rules) of an ACPI object evaluating to a data package extending the _DSD. The device properties initialization code follows those links, creates a struct acpi_data_node object for each of them to store the data returned by the ACPI object pointed to by it and processes those data recursively (which may lead to the creation of more struct acpi_data_node objects if the returned data package contains the Hierarchical Data Extension UUID section with more links in it). All of the struct acpi_data_node objects are present until the the ACPI device object containing the _DSD with links to them is deleted and they are deleted along with that object. [1]: http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.pdf Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit bd8191cc8a74018e255eb3efff5e02dc305a5ed1 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Aug 27 04:35:14 2015 +0200 ACPI / property: Add routine for extraction of _DSD properties Move the extraction of _DSD properties from acpi_init_properties() to a separate routine called acpi_extract_properties() to make the subsequent changes more straightforward. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> commit de0d542338bc507d2fc21bfca2be540f17fc874a Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Wed Aug 26 18:35:29 2015 -0400 ARM: multi_v7_defconfig: Add NSP to defconfig Add the Broadcom Northstar Plus SoC to the multi_v7_defconfig Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 63f37ddf5c221c5a86ea9e45625bd0381feabc13 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Wed Aug 26 18:35:30 2015 -0400 MAINTAINERS: add entry for the Broadcom Northstar Plus SoCs Modify the iProc MAINTAINER to cover the Nortstar Plus SoCs, and add me to the list of people responsible for it. Since iProc is a family of SoCs that includes more than just Cygnus (i.e., Northstar (BCM5301X), Northstar Plus, Northstar 2, and a number of other platforms), remove it from the title to avoid any future confusion. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit aca770fb4f9a88434e77b922743e5010a43f73d1 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Jun 18 17:11:36 2015 -0700 ARM: dts: brcmstb: add BCM7445 system PM DT nodes Need the aon-ctrl, boot SRAM, and memory_controller descriptions. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> [florian: remove wake-timer, aon-pm-l2-intc duplicate] Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 9c07d61f1bbb96beb01dcc2b109cf56e61f9b819 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Jun 18 17:11:30 2015 -0700 Documentation: dt: brcmstb: add system PM bindings Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit bb1d8fba19654be3a92cf40a4c67e64ec7d4fc8f Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sat Sep 12 13:17:36 2015 +0200 ARM: BCM5301X: add NAND flash chip description for Asus RT-AC87U The NAND flash chip description were not imported for the Asus RT-AC87U dts file when this was done for all the other dts files, because these patches were send in parallel. This adds a missing NAND flash chip description to this patch: commit 9faa5960eef3204cae6637b530f5e23e53b5a9ef Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Fri May 29 23:39:47 2015 +0200 ARM: BCM5301X: add NAND flash chip description Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit bfae737540fd2647afb55dfb480964042819b751 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Aug 26 16:13:22 2015 +0200 ARM: BCM5301X: Add DT for Netgear R7000 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 7b2e987de20781ce74c160a59dbf6a2c06983794 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Mon Aug 31 19:48:53 2015 -0400 ARM: NSP: add minimal Northstar Plus device tree Add a very minimalistic set of Northstar Plus Device Tree files which describes the SoC and the BCM958625 implementation. The perpherials described are: ARM Cortex A9 CPU 2 8250 UARTs ARM GIC PL310 L2 Cache ARM A9 Global timer Signed-off-by: Kapil Hali <kapilh@xxxxxxxxxxxx> Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Reviewed-by: Ray Jui <rjui@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 40b43419e61cbeb3946953df46d4a18d47f8e09c Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Wed Aug 26 18:35:26 2015 -0400 dt-bindings: Create Documentation for NSP DT bindings Add the documentation for the Broadcom Northstar Plus device tree bindings. Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit d52fad262041217be0a0e7049253186ec9cfb2a6 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Jun 18 17:11:32 2015 -0700 soc: add stubs for brcmstb SoC's Used on BCM7xxx Set-Top Box chips (e.g., BCM7445). Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 1f3e9a6edae4f1168a4baaeb4c55d4eb5a8f7501 Author: Jon Mason <jonmason@xxxxxxxxxxxx> Date: Wed Aug 26 18:35:28 2015 -0400 ARM: NSP: Add basic support for Broadcom Northstar Plus SoC Broadcom Northstar Plus family of SoCs are used for switching control and management applications as well as residential router/gateway applications. The SoC features dual core Cortex A9 ARM CPUs, integrating several peripheral interfaces including multiple Gigabit Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and NAND flash, SATA and several other IO controllers. Signed-off-by: Kapil Hali <kapilh@xxxxxxxxxxxx> Signed-off-by: Jon Mason <jonmason@xxxxxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit b4a21fc275e99fc63c77b30da92ee497f8a7bdb6 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Sep 11 16:37:05 2015 -0700 regmap: Allocate buffers with GFP_ATOMIC when fast_io == true If a regmap is using fast_io, allocate the scratch buffer in regmap_bulk_write() with GFP_ATOMIC instead of GFP_KERNEL. Otherwise we may schedule while atomic. Reported-by: Abhijeet Dharmapurikar <adharmap@xxxxxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 424fb281d6dff1c0fef2a402de3b3819b7a91a87 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Sep 11 04:26:57 2015 +0200 regulator: da9063: Remove unneeded semicolon It's clearly a typo error that just creates a null statement so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f3f400e760303b8542bf91c8372fecf19cf07fab Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Fri Sep 11 04:26:56 2015 +0200 regulator: bcm590xx: Remove unneeded semicolon It's clearly a typo error that just creates a null statement so remove it. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 158fcc4e050a75b609bbef1007cf7bf2a01ca043 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Thu Sep 10 16:11:42 2015 +0200 spi/bcm63xx: replace custom io accessors with standard ones Replace all bcm_read* with (io)read. Due to this block following system endianness, make sure we match that. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a45fcea5b20f1dcc2abb08aa29ecb2feacae60f2 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Thu Sep 10 16:11:41 2015 +0200 spi/bcm63xx: hardcode busnum to 0 We always pass 0 as the spi bus number, so we might as well hard code it. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 65059997306901f4da1f5168db65de8225d5d04c Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Thu Sep 10 16:11:40 2015 +0200 spi/bcm63xx: always use a fixed number of CS We always pass 8 for the number of chip selects, so we can as well hardcode it to this number. Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2bdf5151a3a9224d622f1f2bdd20f56bad5d2505 Author: Jonas Gorski <jogo@xxxxxxxxxxx> Date: Thu Sep 10 16:11:39 2015 +0200 spi/bcm63xx: remove unused rx_tail variable Fixes the following warning: drivers/spi/spi-bcm63xx.c:125:5: warning: unused variable 'rx_tail' [-Wunused-variable] u8 rx_tail; ^ Signed-off-by: Jonas Gorski <jogo@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a46db4a3787edb0dc07276f21f33bbaf01938f1 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:04:45 2015 +0000 ASoC: rsnd: add AUDIO_CLKOUT support Renesas sound has AUDIO_CLKOUT (in Gen1/Gen2) AUDIO_CLKOUT1/2/3 (in Gen3) This patch support these patches as clock provider. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 248e88c2fb5a09eb87b21b00fd4167cc99c05759 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:04:24 2015 +0000 ASoC: rsnd: adg: ignore undefined clock error undefined clock is not error. Accept such case. And this is prepare for clock out support in the same time. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3af6c3ac91eb937fc611f9c745f89e7c53d55282 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:04:06 2015 +0000 ASoC: rsnd: tidyup ADG debug message for clock selection It didn't have "\n", and indicated different data Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eae6fff4f15a9d1969412bb5aa5a3585f00821fb Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:03:48 2015 +0000 ASoC: rsnd: tidyup ADG clock calculate method Current ADG clock calculation needs ADG and SSI settings. Thus, SSI side clock request function depends on ADG settings. After reconsideration, we can close this method inside ADG. This function uses new method. And it becomes preparation for AUDIO_CLKOUT support. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c6901d98b35c3192336e419344f0f22f86b8845 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:03:25 2015 +0000 ASoC: rsnd: ADG initial setup on rsnd_adg_ssi_clk_init() ADG is special IP since it doesn't have MSTP. And now, ADG has common mod base register access. We can now setup ADG initial setting when probe timing. It is needed if sound card is based on AUIDO_CLK which is used as Master clock. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f1df12290722f998f5eb173ae30434d313aea54c Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:03:08 2015 +0000 ASoC: rsnd: add common mod confirm method Renesas sound has SSI/SRC/DVC/MIX/ADG modules, and these have original register mapping. Thus this driver is using regmap field, and each module is using it based on each module ID. Sometimes, each module needs other module to controlling. but current each function is using just "mod" as parameter name. This is confusable. For example, if SSI0 and SRC2 are connected, and if SRC module function has bug of module access, and if it needs to control connected SSI, SRC function will access to SSI2 (It should access to SSI0, but it uses SRC's ID 2). This is easy to happen in current driver style. To avoid this kind of confusable trouble, this patch adds module confirm macro for debug purpose. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1665a9e5e224a44798ea6ae16b507d48752eb4a1 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:02:39 2015 +0000 ASoC: rsnd: ADG uses mod base common method Renesas sound has ADG IP, but it is special device. (It is clock generater, and it doesn't need MSTP) Thus, ADG didn't use mod base common method on rsnd driver. But it can be confusable point. Let's use common method Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b76e218ae5e5e8d8025b75066e82ad0674e2e845 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:02:21 2015 +0000 ASoC: rsnd: add rsnd_mod_get() macro and use it Renesas sound driver has SSI/SRC/DVC/CTU/MIX, and these are controlled as modules. And these module are member of each modules's private data. It used own method to get module pointer, but Let's use common method Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ac37a45b0b6c8400719bb837f1c321079b72db53 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 07:01:58 2015 +0000 ASoC: rsnd: Add Gen3 initial support Renesas sound Gen3 is updated version of Gen2. We need to update driver for it, but basically it should works as Gen2 compatible. This is initial support for Gen3. Gen3 specific feature will be incrementally added in the future Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e3d2cec8d49c01800373c25a5a06326f2a4304e6 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:49:54 2015 +0000 ASoC: rsnd: add missing #sound-dai-cells explain on Document Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7486d80f7d853f50088124824bf62d9a4d14de75 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:49:29 2015 +0000 ASoC: rsnd: remove unneeded sh_clk header sh_clk header is not needed, and it will create confusion. Let's remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b9bfe9d5f7755e225989a253e427cc620c001662 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:49:12 2015 +0000 ASoC: rsnd: rename rsnd_src_pcm_new() to rsnd_src_pcm_new_gen2() rsnd_src_pcm_new() is used only from Gen2. make it clear in function name, and remove unneeded Gen1 check. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c25f20e1de6e22960f69cc93220e71ba8b5ee8b6 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:48:52 2015 +0000 ASoC: rsnd: tidyup rsnd_dma_to_xxx() position rsnd_dma_to_xxx() macro should exist in same place Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 171a0138ab75fcbe1228c4af0442221efccfb197 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:40:19 2015 +0000 ASoC: ak4642: enable to use MCKO as fixed rate output pin on DT ak4642 chip can output clock via MCKO pin as audio reference clock. This patch supports it on DT Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2719a752b6e96b22ac6a0d5b9397c21c93abcd0f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Sep 10 06:39:59 2015 +0000 ASoC: ak4642: use *dev on ak4642_i2c_probe() Let's replace &i2c->dev to dev Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8ebe9d163e93e10458f3fd7522f29f9149e58632 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Thu Sep 3 22:40:53 2015 +0200 spi: s3c64xx: replace clock disabling with runtime PM suspend call in remove function Simplify s3c64xx_spi_remove by replacing the clock disabling with calling runtime PM suspend which does the same. Waking up the device if it was suspended wouldn't be strictly needed for this driver but using pm_runtime_get_sync is cleaner and makes s3c64xx_spi_remove more consistent with the runtime PM handling in s3c64xx_spi_setup. pm_runtime_force_suspend does most of the work for us: disabling the clocks, disabling runtime PM and setting it to "suspended" state. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4fcd9b9e06d43b93d00bf02c767d578e7cf8b25c Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Thu Sep 3 22:40:11 2015 +0200 spi: s3c64xx: simplify suspend / resume handlers The runtime PM suspend / resume handlers take care of the enabling/ disabling the clocks already. Therefore replace the duplicated clock handling with pm_runtime_force_suspend/resume. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 483867ee2070e045eb0a18fb7bb2f79d2433339f Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Thu Sep 3 22:39:36 2015 +0200 spi: s3c64xx: extend driver to make full use of runtime PM autosuspend Extend the driver to make full use of runtime PM autosuspend. Before only the SPI core was instructed to use autosuspend by setting master->auto_runtime_pm. Nevertheless due to the missing pm_runtime_use_autosuspend call autosuspend wasn't active. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3c863792e9b882c9256b4396742a4b257fb9c557 Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> Date: Thu Sep 3 22:38:46 2015 +0200 spi: s3c64xx: clean up runtime PM if driver registration fails Fix missing runtime PM cleanup if driver registration fails. Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c81740e00556312af32fb3cd5ec12174935e5f70 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:01:15 2015 +0200 ASoC: ux500: 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: Mark Brown <broonie@xxxxxxxxxx> commit cfa7a38c754a56fd80762d1251f4c344eb535230 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:00:40 2015 +0200 ASoC: mop500: 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: Mark Brown <broonie@xxxxxxxxxx> commit baafd373e9287f20ca0c9a6bb38eb6785a146ac2 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:00:03 2015 +0200 ASoC: pxa: 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 30953a804714fcfe49bec594239306bf5b476464 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:59:32 2015 +0200 ASoC: kirkwood: 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: Mark Brown <broonie@xxxxxxxxxx> commit 27fcf913f6462662e9ec1b74ce04961126852db9 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:58:57 2015 +0200 ASoC: jz4740: 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: Mark Brown <broonie@xxxxxxxxxx> commit c759241fe2f16e6be43675abaa715f0da9d7a254 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:58:23 2015 +0200 ASoC: fsl_sai: 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: Mark Brown <broonie@xxxxxxxxxx> commit 5226f2340c67225d27f61330205f16314881cc5c Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:57:47 2015 +0200 ASoC: fsl-asoc-card: 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: Mark Brown <broonie@xxxxxxxxxx> commit aab7826f592b4af9a1407cf5b717978dc16cc19a Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 12:55:08 2015 +0200 ASoC: atmel_wm8904: 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: Mark Brown <broonie@xxxxxxxxxx> commit 9ed747641b0fe122a827494b1d490bc2e2e45347 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Sep 2 12:01:27 2015 +0800 ASoC: intel: broadwell: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ff68f55901ffd25b40f23bc6296657beca8377f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 1 21:11:10 2015 +0800 ASoC: sh: siu_dai: Convert to use resource managed APIs Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2fd7076a43710666b147e206866ecd946b0b33e5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 1 10:32:59 2015 +0800 ASoC: pxa: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5b73de19fd65f11a8c1b33bb7aeb0275898f8786 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 17:20:01 2015 +0800 ASoC: mxs-sgtl5000: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76b0d1f5e748630e01763d7fd6bec8436af7ec51 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 17:17:44 2015 +0800 ASoC: blackfin: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2342cafe2269fe7cccda0aea88e30e8f4bcc075f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 17:16:01 2015 +0800 ASoC: au1x: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d1b9d039de79a1cdd789d1547251d5ba0fad573b Author: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Date: Mon Sep 14 21:35:42 2015 +0530 drm/i915: Fix fb object's frontbuffer-bits Shared frontbuffer bits are causing warnings when same FB is displayed in another plane without clearing the bits from previous plane. v2: Removing coversion of fb bits to 64 bit as it is not needed for now. (Daniel) Change-Id: Ic2df80747f314b82afd22f8326297c57d1e652c6 Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> [danvet: Drop INTEL_FRONTBUFFER_SPRITE_MASK since unused.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 512ee2fd9ca1c0b447a144c6c49a53a010f8d6fa Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Aug 26 10:49:34 2015 +0200 PCI: tegra: Wrap static pgprot_t initializer with __pgprot() Wrap pgprot_t initializer with __pgprot() to comply with the STRICT_MM_TYPECHECKS rules. [bhelgaas: changelog] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> commit 92d424ae898e0d04ac34263aa33e40acc1e1f3d1 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 10:45:46 2015 -0400 perf test: Add entry for hists socket filter Add test case for hists socket filter. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441377946-44429-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 84734b06b63093cd44533f4caa43d4452fb11ec3 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 10:45:45 2015 -0400 perf hists browser: Zoom in/out for processor socket Currently, users can zoom in/out for threads and dso in 'perf top' and 'perf report'. This patch extends it for the processor sockets. 'S' is the short key to zoom into current Processor Socket. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441377946-44429-4-git-send-email-kan.liang@xxxxxxxxx [ - Made it elide the Socket column when zooming into it, just like with the other zoom ops; - Make it use browser->pstack, to unzoom level by level; - Rename 'socket' variables to 'socket_id' to make it build on older systems where it shadows a global glibc declaration ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6dd19f19a5e2fb78681e5f33431200e2b5aec763 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Sun Sep 13 22:00:44 2015 -0700 staging/rtl8188eu : Remove duplicated BIT() definitions The BIT() macro is already defined in bitops.h, remove duplicate definitions. Users of BIT() macro are expecting unsigned int/u32, so add typecasts where this creates a build warning. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9137f812e911fc8030e8b954b097e62e29691154 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:49 2015 +0300 staging: sm750fb: ddk750_*i2c: shorten lines to under 80 characters Fix some checkpatch warnings about long lines Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 987f202a344385c461b33f13eb39050e2a39fa22 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:48 2015 +0300 staging: sm750fb: ddk750_*i2c: remove multiple blank lines Fix the checkpatch warning about multiple blank lines Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe820044892de545b8cd8ad3ccdd864d78734b97 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:47 2015 +0300 staging: sm750fb: ddk750_swi2c: further reduce CamelCase Rename remaining CamelCase variables Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53bc6b6e1a8d7f6a2e16ef701b7c0ecfe627c396 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:46 2015 +0300 staging: sm750fb: ddk750_swi2c: rename CamelCase static variables Rename static variables defining I2C GPIO pins and their control registers from CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3696b797185396090da1f2661f242317a3cd795 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:45 2015 +0300 staging: sm750fb: ddk750_hwi2c: reduce amount of CamelCase Rename camel case variables deviceAddress, pBuffer and totalBytes to addr, buf and total_bytes respectively in sm750_hw_i2c_{read,write}_data functions. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 938ad7edf21b16f93e9309e3d859a1aa4685f164 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:44 2015 +0300 staging: sm750fb: hw_i2c_{read,write}: rename CamelCase variables Rename longCamelCase variables deviceAddress and registerIndex to shorter addr and reg Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a503da64fdde16b745f6465659fcc40e2ece8ee7 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:43 2015 +0300 staging: sm750fb: ddk750_hw_i2c: rename busSpeedMode rename CamelCase parameter in sm750_hw_i2c_init() Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c78f4ce60437e5292202241c317bd2a9e05d3ac Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:42 2015 +0300 staging: sm750fb: ddk750_swi2c: rename CamelCase static functions Fix the checkpatch warning about CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01a64c4469acf6556c7e622e8874f84cb95a23bf Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:41 2015 +0300 staging: sm750fb: ddk750_swi2c: staticize swI2C{SCL,SDA} swI2C{SCL,SDA} are not used outside ddk750_swi2c, make them static Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d33b42048ed97dfacc031707e3aefa63da631237 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:40 2015 +0300 staging: sm750fb: rename swI2CWriteReg to sm750_sw_i2c_write_reg Fix the checkpatch warning about CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 288836b69f1a3fd96d742fdf9bc4a827f8f625e5 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:39 2015 +0300 staging: sm750fb: rename swI2CReadReg to sm750_sw_i2c_read_reg Fix the checkpatch warning about CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2ea7733ddd741e0803015271573fec0c529ba27 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:38 2015 +0300 staging: sm750fb: rename swI2CInit to sm750_sw_i2c_init Fix the checkpatch warning about CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac1189513f4c60adc4f350ff6abb01928dcccae2 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:37 2015 +0300 staging: sm750fb: ddk750_hwi2c: rename CamelCase static functions Fix the checkpatch warning about CamelCase. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6bdbe62b9d1bd6cc7853992b26d093630416dd0f Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:36 2015 +0300 staging: sm750fb: rename hwI2CWriteReg to sm750_hw_i2c_write_reg Fix the checkpatch warning about CamelCase Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ccf7340036b4dd1abf60ecafe77d14ce094468f Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:35 2015 +0300 staging: sm750fb: rename hwI2CReadReg to sm750_hw_i2c_read_reg Fix the checkpatch warning about CamelCase Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed7042edaf0b515088e83c692a895dfbebaa4678 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:34 2015 +0300 staging: sm750fb: rename hwI2CClose to sm750_hw_i2c_close Fix the checkpatch warning about CamelCase Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19f70eaedba8f2575e757b3439ed08a0dad9511b Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 11:07:33 2015 +0300 staging: sm750fb: rename hwI2CInit to sm750_hw_i2c_init Fix the checkpatch warning about CamelCase Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a03b8b3e18969e10d5fdc732a06b5c58c247e842 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:38 2015 +0100 staging: vt6655: Move code in device_get_pci_info Function always returns true and now only a few lines move to vt6655_probe. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70d66a6a753b19a3de5ab167fe8b941eac32c079 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:37 2015 +0100 staging: vt6655: device_get_pci_info pcid already assigned. pcid has already been assigned earlier in vt6655_probe. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41652a21b7c11322f4efa6daa43deb7935a052f9 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:36 2015 +0100 staging: vt6655: device_get_pci_info remove call to set master. a call to PCI_COMMAND is used to set master. However, a call to pci_set_master earlier in function which does the same thing. So remove the calls and variable b. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ef1571b13859ce56bf779ddaf3b7be44eacc5d7 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:35 2015 +0100 staging: vt6655: device_get_pci_info remove variable cis_addr. cis_addr is never used remove its call to pci_resource_start. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a95f96108efc94cd79d46245a70c3b5bf9c0840 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:34 2015 +0100 staging: vt6655: device_get_pci_info remove unused pci_read_config_* These values are read from pci but never used. Removing variables byRevId, SubSystemID, SubVendorID and pci_cmd. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f31798266f23edf85d32b38f7b2a755684d399ef Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:33 2015 +0100 staging: vt6655: remove and move vt6655_init_info move code to vt6655_probe. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e577474f3b55ef368090ec7f29543fb8b5a712be Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:32 2015 +0100 staging: vt6655: vt6655_init_info remove memset. vnt_private is allocated with kzalloc so is already zero. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73eb8a11275ecadf7f49ffc1e67f7cef35188182 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:31 2015 +0100 staging: vt6655: remove unused multicast_limit. multicast_limit is assigned a vale that is never used. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 319755a72226e8c433077b7839aa6064080917fc Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:30 2015 +0100 staging: vt6655: Remove typedef struct __chip_info_tbl Only two values that are assigned from this table. DEVICE_FLAGS_TX_ALIGN and the value of io_size which is used as the size of ioremap which is 256. Remove all variables, DEVICE_FLAGS_TX_ALIGN check, apply io_size value and chip_info_table. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e77610a94c1fe0402979f58bee6933ffe18b15e3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:29 2015 +0100 staging: vt6655: remove get_chip_name and info message. This prints "VIA Networking Solomon-A/B/G Wireless LAN Adapter" which has already printed once in vt6655_probe. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2c77eea18f24d847fc6dbbed5d6eaf29fb8de3e Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Sep 12 19:10:28 2015 +0100 staging: vt6655: vt6655_probe remove PCI debug info Remove unnecessary debug PCI info that can be obtained by lspci. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 433c7f8fe2e086d037783d324cb2ddaf1e244787 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Sep 13 09:16:10 2015 +0530 Staging: rtl8192u: Remove unnecessary printk This patch removes the commented printk inside else block as it is not needed. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ddc2f06c8384cc023b60d7bf8471d0737bba613 Author: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Date: Sun Sep 13 16:22:00 2015 +0530 staging: dgnc: Fixed line over 80 characters long This is a patch that fixes line over 80 characters coding style warning detected by checkpatch.pl. WARNING: line over 80 characters Signed-off-by: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4579ec9af094361bef38f37005897d6de6cc7dcb Author: Samuel Dominguez Lorenzo <yysamueldominguez@xxxxxxxxx> Date: Sun Sep 13 16:18:33 2015 +0100 staging: rtl8712: usb_ops_linux: fixed a comparison coding style issue Fixed a coding style issue where a comparison had the constant on the left side of the test instead of being on the right side of it. Signed-off-by: Samuel Dominguez Lorenzo <yysamueldominguez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce85ed4d15b44f6a3216f0e0b3ce464aecd44c3c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 13 14:15:06 2015 +0200 staging: lustre: drop null test before destroy functions Remove unneeded NULL test. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x; @@ -if (x != NULL) \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); @@ expression x; @@ -if (x != NULL) { \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x); x = NULL; -} // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 910b551c85ae599201428e6ac110a222d0da4c50 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 19:20:03 2015 +0300 staging: lustre: fix TRAILING_STATEMENTS checkpatch errors Move trailing statements to be on the next line to fix the TRAILING_STATEMENTS checkpatch error. Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a05b98635b2abf22138ed4b0e6373447aa36758c Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Sep 12 19:20:02 2015 +0300 staging: lustre: fix switch-case identation errors Re-indent switch-case statements to fix SWITCH_CASE_INDENT_LEVEL errors reported by checkpatch.pl Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 046225e79995482e96560c3b4390be4d83f490bf Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sun Sep 13 22:46:06 2015 +0530 Staging: ft1000: use usleep_range() This patch fixes checkpatch.pl warning WARNING : msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52a59cf1e74441d95174e607836ee76aa956e4cc Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 12 15:04:35 2015 +0530 Staging: ft1000: ft1000-usb: Use USB API functions rather than constants Introduce the use of the function usb_endpoint_is_bulk_in(). Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12a26a33fec9454781352f6268239e1ced83a60d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:28 2015 +0900 staging: wilc1000: rename WILC_WFI_mgmt_tx This patch replaces WILC_WFI_mgmt_tx with mgmt_tx to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a2f9b38a5eada30826644e488af4114bb78a183 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:27 2015 +0900 staging: wilc1000: rename WILC_WFI_mgmt_tx_cancel_wait This patch replaces WILC_WFI_mgmt_tx_cancel_wait with mgmt_tx_cancel_wait to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1dd5440b60ccc8875395b7f49546c38c59c7679a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:26 2015 +0900 staging: wilc1000: rename WILC_WFI_cancel_remain_on_channel This patch replaces WILC_WFI_cancel_remain_on_channel with cancel_remain_on_channel to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d19d695e091c2e32a1eac80ace52c4e8af13d10 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:25 2015 +0900 staging: wilc1000: rename WILC_WFI_remain_on_channel This patch replaces WILC_WFI_remain_on_channel with remain_on_channel to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b33c39b1f3fa113e013b8d715a8373bda3e37e0f Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:24 2015 +0900 staging: wilc1000: rename WILC_WFI_flush_pmksa This patch replaces WILC_WFI_flush_pmksa with flush_pmksa to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ff86d9605a2ed7142647e18c6da7f0cf8807292 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:23 2015 +0900 staging: wilc1000: rename WILC_WFI_del_pmksa This patch replaces WILC_WFI_del_pmksa with del_pmksa to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d46657a23cce98ef5a21cf42fc6ea4145fbeee7 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:22 2015 +0900 staging: wilc1000: rename WILC_WFI_set_pmksa This patch replaces WILC_WFI_set_pmksa with set_pmksa to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a76b63ef570cd771e973fe2c4d3f1b5efb8f685a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:21 2015 +0900 staging: wilc1000: rename WILC_WFI_set_wiphy_params This patch replaces WILC_WFI_set_wiphy_params with set_wiphy_params to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5f7db6aaa20edae10f287c01b59ec65b944b692 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:20 2015 +0900 staging: wilc1000: rename WILC_WFI_change_bss This patch replaces WILC_WFI_change_bss with change_bss to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdb6338f6f5bc1fd2bb79a83357bfba2e1bc64a8 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:19 2015 +0900 staging: wilc1000: rename WILC_WFI_dump_station This patch replaces WILC_WFI_dump_station with dump_station to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f06f562dd144857325d8c1db38102bea3b946e77 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:18 2015 +0900 staging: wilc1000: rename WILC_WFI_get_station This patch replaces WILC_WFI_get_station with get_station to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14b420849bfe568940dbd391a5890c6aa3a9ab18 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:17 2015 +0900 staging: wilc1000: rename WILC_WFI_change_station This patch replaces WILC_WFI_change_station with change_station to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0a8be95cc54b3d68b4cb45d74d23ffb7c5baae8 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:16 2015 +0900 staging: wilc1000: rename WILC_WFI_del_station This patch replaces WILC_WFI_del_station with del_station to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed26955ca0e81ba0b56302c896836e6a9d7d495a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:15 2015 +0900 staging: wilc1000: rename WILC_WFI_add_station This patch replaces WILC_WFI_add_station with add_station to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8cddd7917d8a2f52bf1410ff48cb421b9e1f5ae Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:14 2015 +0900 staging: wilc1000: rename WILC_WFI_stop_ap This patch replaces WILC_WFI_stop_ap with stop_ap to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a4c84d7a04e607225170b29403af503b8e84805 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:13 2015 +0900 staging: wilc1000: rename WILC_WFI_change_beacon This patch replaces WILC_WFI_change_beacon with change_beacon to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a13168d75b30311ebe974042dd5ae658e7aece25 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:12 2015 +0900 staging: wilc1000: rename WILC_WFI_start_ap This patch replaces WILC_WFI_start_ap with start_ap to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3615e9a36778317535134878382c014079d56042 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:11 2015 +0900 staging: wilc1000: rename WILC_WFI_change_virt_intf This patch replaces WILC_WFI_change_virt_intf with change_virtual_intf to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4a733558450583e143c9f1aa24bd0ef8f0c0046 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:10 2015 +0900 staging: wilc1000: rename WILC_WFI_del_virt_intf This patch replaces WILC_WFI_del_virt_intf with del_virtual_intf to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69deb4c2a1ef214fe3d859ab913bb9a87d785db2 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:09 2015 +0900 staging: wilc1000: rename WILC_WFI_add_virt_intf This patch replaces WILC_WFI_add_virt_intf with add_virtual_intf to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f5b8ca323d56bfb22152af1dfd91f127278a91a Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:08 2015 +0900 staging: wilc1000: rename WILC_WFI_set_default_key This patch replaces WILC_WFI_set_default_key with set_default_key to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4893dfc31f51a608911ce9f44cbd29058872034 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:07 2015 +0900 staging: wilc1000: rename WILC_WFI_get_key This patch replaces WILC_WFI_get_key with get_key to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3044ba7e6f6b8916c87204737c7c266795147fff Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:06 2015 +0900 staging: wilc1000: rename WILC_WFI_del_key This patch replaces WILC_WFI_del_key with del_key to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 953d417a0dc704169b507314e3e3bfde45948fe3 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:05 2015 +0900 staging: wilc1000: rename WILC_WFI_add_key This patch replaces WILC_WFI_add_key with add_key to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b027cde9504e87b6181328fb8c4ed5ccd87a0a55 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:04 2015 +0900 staging: wilc1000: rename WILC_WFI_disconnect This patch replaces WILC_WFI_disconnect with disconnect to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ffbcdb6de150c13f23eb6ef8746db70b07f08ff Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:03 2015 +0900 staging: wilc1000: rename WILC_WFI_CfgConnect This patch replaces WILC_WFI_CfgConnect with connect to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e30d06d9bda25c0edc3dbb721a43a6f87036f24 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:02 2015 +0900 staging: wilc1000: rename WILC_WFI_CfgScan This patch replaces WILC_WFI_CfgScan with scan to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80785a9a82fc6a5979129a1aedb1260034c6927b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Mon Sep 14 12:24:01 2015 +0900 staging: wilc1000: rename WILC_WFI_CfgSetChannel This patch replaces WILC_WFI_CfgSetChannel with set_channel to avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9db385df2d337f11fd71eaffde62ff9678416d3 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Sep 12 22:02:12 2015 +0800 staging: wilc1000: Add terminating entry for wilc_sdio_ids The sdio_device_id table is supposed to be zero-terminated. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21394d948a0c7c451d4a4d68afed9a06c4969636 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 10:45:44 2015 -0400 perf report: Introduce --socket-filter option Introduce --socket-filter option for 'perf report' to only show entries for a processor socket that match this filter. $ perf report --socket-filter 1 --stdio # To display the perf.data header info, please use --header/--header-only options. # # Total Lost Samples: 0 # # Samples: 752 of event 'cycles' # Event count (approx.): 350995599 # Processor Socket: 1 # # Overhead Command Shared Object Symbol # ........ ......... ................ ................................. # 97.02% test test [.] plusB_c 0.97% test test [.] plusA_c 0.23% swapper [kernel.vmlinux] [k] acpi_idle_do_entry 0.09% rcu_sched [kernel.vmlinux] [k] dyntick_save_progress_counter 0.01% swapper [kernel.vmlinux] [k] task_waking_fair 0.00% swapper [kernel.vmlinux] [k] run_timer_softirq Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441377946-44429-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2e7ea3ab8282f6bb1d211d8af760a734c055f493 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 10:45:43 2015 -0400 perf tools: Introduce new sort type "socket" for the processor socket This patch enable perf report to sort by processor socket: $ perf report --stdio --sort socket,comm,dso,symbol # To display the perf.data header info, please use --header/--header-only options. # # Total Lost Samples: 0 # # Samples: 686 of event 'cycles' # Event count (approx.): 349215462 # # Overhead SOCKET Command Shared Object Symbol # ........ ...... ....... ................ ............................ # 97.05% 000 test test [.] plusB_c 0.98% 000 test test [.] plusA_c 0.93% 001 perf [kernel.vmlinux] [k] smp_call_function_single 0.19% 001 perf [kernel.vmlinux] [k] page_fault 0.19% 001 swapper [kernel.vmlinux] [k] pm_qos_request 0.16% 000 test [kernel.vmlinux] [k] add_mm_counter_fast Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441377946-44429-2-git-send-email-kan.liang@xxxxxxxxx [ Fix col calc, un-allcapsify col header & read the topology when not using perf.data ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0c4c4debb0adda4c18c158d95031dc2b9f637869 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 10:45:42 2015 -0400 perf tools: Add processor socket info to hist_entry and addr_location This information will come from perf.data files of from the current system, cached when needed, such as when the 'socket' sort order gets introduced. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441377946-44429-1-git-send-email-kan.liang@xxxxxxxxx [ Don't blindly use env->cpu[al.cpu].socket_id & use machine->env, fixes by Jiri & Arnaldo ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4cde998d205894705b534878122631142a3eefe4 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 9 12:25:00 2015 -0300 perf machine: Add pointer to sample's environment The 'struct machine' represents the machine where the samples were/are being collected, and we also have a 'struct perf_env' with extra details about such machine, that we were collecting at 'perf.data' creation time but we also needed when no perf.data file is being used, such as in 'perf top'. So, get those structs closer together, as they provide a bigger picture of the sample's environment. In 'perf session', when the file argument is NULL, we can assume that the tool is sampling the running machine, so point machine->env to the global put in place in previous patches, while set it to the perf_header.env one when reading from a file. This paves the way for machine->env to be used in perf_event__preprocess_sample to populate addr_location.socket. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-2ajotl0khscutm68exictoy9@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit aa36ddd7afbb0a3db216c1391e28cd6d80ed1706 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 9 10:37:01 2015 -0300 perf env: Introduce read_cpu_topology_map() method Out of the code to write the cpu topology map in the perf.data file header. Now if one needs the CPU topology map for the running machine, one needs to call perf_env__read_cpu_topology_map(perf_env) and the info will be stored in perf_env.cpu. For now we're using a global perf_env variable, that will have its contents freed after we run a builtin. v2: Check perf_env__read_cpu_topology_map() return in write_cpu_topology() (Kan Liang) 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441828225-667-5-git-send-email-acme@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5d8cf721cb13be92e96f22846e5bcd31040d4d0b Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Sep 11 10:49:45 2015 -0300 perf cpu_map: Use sysfs__read_int in get_{core,socket}_id() We have the tools/lib/ sysfs__read_int() for that, avoid code duplication. 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-fqg6vt5ku72pbf54ljg6tmoy@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 09f6acf2eacad3a0f9a4b9f77e0b021f0cb45780 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Sep 10 12:20:14 2015 -0300 tools lib api cpu: Introduce cpu.[ch] to obtain cpu related information E.g.: $ ./cpu__get_max_freq 3200000 It does that, as Kan's patch does, by looking at these files: $ cat /sys/devices/system/cpu/online 0-3 $ ./sysfs__read_ull devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq=3200000 $ I.e. find out the first online CPU, then read its cpufreq info. But do it in tools/lib/api/, so that other tools/ living code can use it, not just perf. Based-on-a-patch-by: Kan Liang <kan.liang@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: Kan Liang <kan.liang@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-915v4cvxqplaub8qco66b9mv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2d729f6a8ac3edbf68de7239fab96c9736946af5 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Sep 10 11:58:50 2015 -0300 tools lib api fs: Introduce sysfs__read_{int,ull}() To read either an int or an unsigned long long value from the given file. E.g.: $ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq 3200000 $ ./sysfs__read_ull devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq=3200000 $ 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> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-4a12m4d5k8m4qgc1vguocvei@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e0838e029f4f6f271d6172b18f5473558ebdea1b Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Sep 10 11:03:05 2015 -0300 perf env: Read msr pmu type from header Get msr pmu type when processing pmu_mappings Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-3ngei63gepydwxhvytl2wx89@xxxxxxxxxxxxxx [ Fixed it up wrt moving perf_env from header.h ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b60114067c656be572f0ca4030c3a2c560e7255c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 7 10:38:04 2015 +0200 perf tools: Add tools/include into tags directories Adding tools/include into tags directories, to have include definitions reachable via tags/cscope. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441615087-13886-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8168caded331a19302593a591f070136cb3a31c8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 9 12:38:17 2015 -0300 perf evsel: Remove forward declaration of 'struct perf_evlist' We have no use for it in evsel.h. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-um03yjrgyi3bj1hzqiqs4dsu@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a4978eca684a3b471f3da862f427e419283e93a3 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 9 12:14:00 2015 -0300 perf hists browser: Fixup the "cpu" column width calculation Since we were not setting it to at least 3 chars ('CPU'), it was being reset to zero when recalculating the columns width when refreshing the screen, in 'perf top'. Fix it. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-iqcdnkkqm6sew06x01fbijmy@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b699869285c4f6949f281ea57ac35ea9b9c6f467 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Sep 8 16:58:20 2015 -0300 perf env: Adopt perf_header__set_cmdline Move this from two globals to perf_env global, that eventually will be just perf_header->env or something else, to ease the refactoring series, leave it as a global and go on reading more of its fields, not as part of the header writing process but as a perf_env init one that will be used for perf.data-less situations. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-2j78tdf8zn1ci0y6ji15bifj@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit eebd0bfca5cb83f6e1ef0d872a16d45af0422114 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Sep 8 15:52:20 2015 -0300 perf env: Rename some leftovers from rename to perf_env In ce80d3bef9ff ("perf tools: Rename perf_session_env to perf_env") we forgot to rename a few functions to the "perf_env" prefix, do it now. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-b3ui3z6ock89z1814pu2er98@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f0ce888c064e07c73a103822f2ad8e77649fd107 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Sep 8 13:30:00 2015 -0300 perf env: Move perf_env out of header.h and session.c into separate object Since it can be used separately from 'perf_session' and 'perf_header', move it to separate include file and object, next csets will try to move a perf_env__init() routine. Tested-by: Wang Nan <wangnan0@xxxxxxxxxx> 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-ff2rw99tsn670y1b6gxbwdsi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e8210cefb7e1ec0760a6fe581ad0727a2dcf8dd1 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Sat Sep 5 20:02:20 2015 +0100 perf tests: Introduce iterator function for tests In preparation for introducing more arrays of tests, e.g. "arch tests" (architecture-specific tests), abstract the code to iterate over the list of tests into a helper function. This way, code that uses a 'struct test' doesn't need to worry about how the tests are grouped together and changes to the list of tests doesn't require changes to the code using it. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Kanaka Juvva <kanaka.d.juvva@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Vikas Shivappa <vikas.shivappa@xxxxxxxxx> Cc: Vince Weaver <vince@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441479742-15402-2-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c84974ed9fb672930929e0d20ea3c366635a54aa Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Fri Sep 4 04:58:31 2015 -0400 perf test: Add entry to test cpu topology This patch test cpu core_id and socket_id which are stored in perf_env. Commiter note: # perf test topo 40: Test topology in session: Ok # perf test -v topo 40: Test topology in session: --- start --- test child forked, pid 31767 templ file: /tmp/perf-test-VTZ1PL CPU 0, core 0, socket 0 CPU 1, core 1, socket 0 CPU 2, core 0, socket 0 CPU 3, core 1, socket 0 test child finished with 0 ---- end ---- Test topology in session: Ok # Based-on-a-patch-by: Jiri Olsa <jolsa@xxxxxxxxxx> 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> Link: http://lkml.kernel.org/r/1441357111-64522-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fbf99625b88fd8808bf2b80efac453d63cae08e8 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:45 2015 +0200 perf tools: Switch to tracing_path interface on appropriate places Using tracing_path interface on several places, that more or less copy the functionality of tracing_path interface. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-16-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 60a1133a5b39738671eff1e4d77bedc1ee3fa528 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:44 2015 +0200 tools lib api fs: Remove debugfs, tracefs and findfs objects We have all the functionality in fs.c, let's remove unneeded objects. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-15-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4605eab3487dc818b1f3cbee2cd139cca3564be7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:43 2015 +0200 tools lib api fs: Replace debugfs/tracefs objects interface with fs.c Switching to the fs.c related filesystem framework. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-14-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4f234f06d608635a1cff936131285a91af213b37 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:36 2015 +0200 tools lib api fs: Make tracing_path_strerror_open message generic Making tracing_path__strerror_open_tp message generic by mentioning both debugfs/tracefs words in error message plus the tracing_path instead of debugfs_mountpoint. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-7-git-send-email-jolsa@xxxxxxxxxx [ Add comment for the ENOENT case out of this patch discussion thread ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fd405cf6cfddd300377bd5fd9b93d2ff66fbc32d Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Wed Sep 2 10:19:17 2015 +0200 perf tests: Print objdump/dso buffers if they don't match Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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/d0f42f786bc0e965918e0f422df25617a12a4021.1441181335.git.jstancek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit edfdb7eab0fe5f98f2951598dc679b71bdb3e16b Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Wed Sep 2 10:19:16 2015 +0200 perf tests: Stop reading if objdump output crossed sections objdump output can span across multiple sections: Disassembly of section .text: 0000000000000008 <crc32c+0x8>: 8: 48 89 e5 mov %rsp,%rbp b: 53 push %rbx c: 8b 01 mov (%rcx),%eax <snip> 6b: 90 nop Disassembly of section .init.text: 0000000000000008 <init_module+0x8>: 8: 00 00 add %al,(%rax) a: 00 00 add %al,(%rax) c: 48 89 e5 Stop further reading if an address starts going backwards, assuming we crossed sections. Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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/9d1ea95e5f9884fdff1be6f761a2feabef37412c.1441181335.git.jstancek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 06f679c18fcf414cc8462938466f8361315f18cb Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Thu Sep 3 13:23:32 2015 +0200 perf tests: Make objdump disassemble zero blocks Add -z parameter to avoid skipping zero blocks: ffffffff816704fe <sysret_check+0x4b>: ffffffff816704fe: 7b 34 jnp ffffffff81670534 <sysret_signal+0x1c> ... ffffffff81670501 <sysret_careful>: ffffffff81670501: 0f ba e2 03 bt $0x3,%edx ffffffff81670505: 73 11 jae ffffffff81670518 <sysret_signal> Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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/130c6267fbdb9af506633a9efa06f3269ff5bd2c.1441275982.git.jstancek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 729a7ed103ae1b04a5c87a5855885e0973161da4 Author: Jan Stancek <jstancek@xxxxxxxxxx> Date: Wed Sep 2 10:19:14 2015 +0200 perf tests: Take into account address of each objdump line objdump output can contain repeated bytes. At the moment test reads all output sequentially, assuming each address is represented in output only once: ffffffff8164efb3 <retint_swapgs+0x9>: ffffffff8164efb3: c1 5d 00 eb rcrl $0xeb,0x0(%rbp) ffffffff8164efb7: 00 4c 8b 5c add %cl,0x5c(%rbx,%rcx,4) ffffffff8164efb8 <restore_c_regs_and_iret>: ffffffff8164efb8: 4c 8b 5c 24 30 mov 0x30(%rsp),%r11 ffffffff8164efbd: 4c 8b 54 24 38 mov 0x38(%rsp),%r10 Store objdump output to buffer according to offset calculated from address on each line. Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> 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/ad13289a55d6350f7717757c7e32c2d4286402bd.1441181335.git.jstancek@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 70675e0b6a1ae20f8e93f9fc083d28034ad38948 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 29 16:52:58 2015 +0800 PCI: Don't try to restore VF BARs VF BARs are read-only zero, so updating VF BARs will not have any effect. See the SR-IOV spec r1.1, sec 3.4.1.11. Don't update VF BARs in pci_restore_bars(). This avoids spurious "BAR %d: error updating" messages that we see when doing vfio pass-through after 6eb7018705de ("vfio-pci: Move idle devices to D3hot power state"). [bhelgaas: changelog, fix whitespace] Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 6b6d5626750d72a22180a6e094cf95acd1d85c9b Author: Robert Beckett <robert.beckett@xxxxxxxxx> Date: Tue Sep 8 10:31:52 2015 +0100 drm/i915/gen9: WA ST Unit Power Optimization Disable WaDisableSTUnitPowerOptimization:skl,bxt Signed-off-by: Robert Beckett <robert.beckett@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d0a9964e98731c708500a2e712f28f9d39183647 Author: Mike Travis <travis@xxxxxxx> Date: Sat Sep 12 21:51:10 2015 -0500 x86/platform/uv: Implement simple dump failover if kdump fails The ability to trigger a kdump using the system NMI command was added by commit 12ba6c990fab ("x86/UV: Add kdump to UV NMI handler") Author: Mike Travis <travis@xxxxxxx> Date: Mon Sep 23 16:25:03 2013 -0500 This is useful because when kdump is working the information gathered is more informative than the original per CPU stack traces or "dump" option. However a number of things can go wrong with kdump and then the stack traces are more useful than nothing. The two most common reasons for kdump to not be available are: 1) if a problem occurs during boot before the kdump service is started, or 2) the kdump daemon failed to start. In either case the call to crash_kexec() returns unexpectedly. When this happens uv_nmi_kdump() also sets the uv_nmi_kexec_failed flag which causes the slave CPU's to also return to the NMI handler. Upon this unexpected return to the NMI handler, the NMI handler will revert to the "dump" action which uses show_regs() to obtain a process trace dump for all the CPU's. Other minor changes: The "dump" action now generates both the show_regs() stack trace and show instruction pointer information. Whereas the "ips" action only shows instruction pointers for non-idle CPU's. This is more like an abbreviated "ps" display. Change printk(KERN_DEFAULT...) --> pr_info() Signed-off-by: Mike Travis <travis@xxxxxxx> Signed-off-by: George Beshers <gbeshers@xxxxxxx> Cc: Alex Thorlton <athorlton@xxxxxxx> Cc: Dimitri Sivanich <sivanich@xxxxxxx> Cc: Hedi Berriche <hedi@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russ Anderson <rja@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d7884d69a524b92d9770bcdc03df3c5a6120c2d0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 11 21:14:29 2015 +0300 drm/i915: Set stolen reserved to 0 for pre-g4x platforms This stolen reserved stuff was introduced on g4x, so no need to waste stolen on older platforms. Unfortunately configdb is no more so I can't look up the right way to detect this stuff. I do have one hint as to where the register might be on ctg, but I don't have a ctg to test it, and on the elk I have here it doesn't contain sensible looking data. For ilk grits suggegsts it might be in the same place as on snb (the original PCI reg, not the mirror) but I can't be entirely sure about it The register shows a round zero on my ilk. So when there's no really good data for any of these platforms leave the current "assume 1MiB" approach in place. Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 374887bae861be2e691381f704b3d6068a54457c Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sun Sep 13 21:08:31 2015 +0900 drm/i915: Fix warnings while make xmldocs caused by intel_lrc.c This patch fix following warnings while "make xmldocs". .//drivers/gpu/drm/i915/intel_lrc.c:780: warning: No description found for parameter 'req' .//drivers/gpu/drm/i915/intel_lrc.c:780: warning: Excess function parameter 'request' description in 'intel_logical_ring_begin' .//drivers/gpu/drm/i915/intel_lrc.c:780: warning: Excess function parameter 'ctx' description in 'intel_logical_ring_begin' Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ef78f2a4bf84d8db9f36868decca2dc24e02a6af Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:31 2015 -0700 x86/fpu: Check CPU-provided sizes against struct declarations We now have C structures defined for each of the XSAVE state components that we support. This patch adds checks during our verification pass to ensure that the CPU-provided data enumerated in CPUID leaves matches our C structures. If not, we warn and dump all the XSAVE CPUID leaves. Note: this *actually* found an inconsistency with the MPX 'bndcsr' state. The hardware pads it out differently from our C structures. This patch caught it and warned. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233131.A8DB36DA@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e6e888f96b4a531886f3bf29ba9af0b6f1026365 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:30 2015 -0700 x86/fpu: Check to ensure increasing-offset xstate offsets The xstate CPUID leaves enumerate where each state component is inside the XSAVE buffer, along with the size of the entire buffer. Our new XSAVE sanity-checking code extrapolates an expected _total_ buffer size by looking at the last component that it encounters. That method requires that the highest-numbered component also be the one with the highest offset. This is a pretty safe assumption, but let's add some code to ensure it stays true. To make this check work correctly, we also need to ensure we only consider the offsets from enabled features because the offset register (ebx) will return 0 on unsupported features. This also means that we will preserve the -1's that we initialized xstate_offsets/sizes[] with. That will help find bugs. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233130.0843AB15@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 65ac2e9baa7deebe3e9588769d44d85555e05619 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:30 2015 -0700 x86/fpu: Correct and check XSAVE xstate size calculations Note: our xsaves support is currently broken and disabled. This patch does not fix it, but it is an incremental improvement. This might be useful to someone backporting the entire set of XSAVES patches at some point, but it should not be backported alone. Ingo said he wanted something like this (bullets 2 and 3): http://lkml.kernel.org/r/20150808091508.GB32641@xxxxxxxxx There are currently two xsave buffer formats: standard and compacted. The standard format is waht 'XSAVE' and 'XSAVEOPT' produce while 'XSAVES' and 'XSAVEC' produce a compacted-formet buffer. (The kernel never uses XSAVEC) But, the XSAVES buffer *ALSO* contains "system state components" which are never saved by a plain XSAVE. So, XSAVES has two things that might make its buffer differently-sized from an XSAVE-produced one. The current code assumes that an XSAVES buffer's size is simply the sum of the sizes of the (user) states which are supported. This seems to work in most cases, but it is not consistent with what the SDM says, and it breaks if we 'align' a component in the buffer. The calculation is also unnecessary work since the CPU *tells* us the size of the buffer directly. This patch just reads the size of the buffer right out of the CPUID leaf instead of trying to derive it. But, blindly trusting the CPU like this is dangerous. We add a verification pass in do_extra_xstate_size_checks() to ensure that the size we calculate matches with what we see from the hardware. When it comes down to it, we trust but verify the CPU. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233130.234FE1EC@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 060dd0f712562925662c65b90d225d82304764f7 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:29 2015 -0700 x86/fpu: Add C structures for AVX-512 state components AVX-512 has 3 separate state components: 1. opmask registers 2. zmm upper half of registers 0-15 3. new zmm registers (16-31) This patch adds C structures for the three components along with a few comments mostly lifted from the SDM to explain what they do. This will allow us to check our structures against what the hardware tells us about the sizes of the components. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233129.F2433B98@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 83aa3c45307228af4329cbb915a2f2142e5479ad Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:29 2015 -0700 x86/fpu: Rework YMM definition We are about to rework all of the "extended state" definitions. This makes the 'ymm' naming consistent with the AVX-512 types we will introduce later. We also add a convenience type: "reg_128_bit" so that we do not have to spell out our arithmetic. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233129.B4EB045F@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1126cb4535c4ff172c37a412a6bd25d6b47a1901 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:29 2015 -0700 x86/fpu/mpx: Rework MPX 'xstate' types MPX includes two separate "extended state components". There is no real need to have an 'mpx_struct' because we never really manage the states together. We also separate out the actual data in 'mpx_bndcsr_state' from the padding. We will shortly be checking the state sizes against our structures and need them to match. For consistency, we also ensure to prefix these types with 'mpx_'. Lastly, we add some comments to mirror some of the descriptions in the Intel documents (SDM) of the various state components. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233129.384B73EB@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 633d54c47a5bedfb42f10e6a63eeeebd35abdb4c Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:29 2015 -0700 x86/fpu: Add xfeature_enabled() helper instead of test_bit() We currently use test_bit() in a few places to see if an xfeature is enabled. It ends up being a bit ugly because 'xfeatures_mask' is a u64 and test_bit wants an 'unsigned long' so it requires a cast. The *_bit() functions are also techincally atomic, which we have no need for here. So, remove the test_bit()s and replace with the new xfeature_enabled() helper. This also provides a central place to add a comment about the future need to support 'system xstates'. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233129.B1534F86@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ee9ae257eb17d3426ee9ab91449a3aa443298b36 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:28 2015 -0700 x86/fpu: Remove 'xfeature_nr' xfeature_nr ended up being initialized too late for me to use it in the "xsave size sanity check" patch which is later in the series. I tried to move around its initialization but realized that it was just as easy to get rid of it. We only have 9 XFEATURES. Instead of dynamically calculating and storing the last feature, just use the compile-time max: XFEATURES_NR_MAX. Note that even with 'xfeatures_nr' we can had "holes" in the xfeatures_mask that we had to deal with. We also change a 'leaf' variable to be a plain 'i'. Although it is used to grab a cpuid leaf in this one loop, all of the other loops just use an 'i' and I find it much more obvious to keep the naming consistent across all the similar loops. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233128.3F30DF5A@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8a93c9e0dca131a0bf330ea9d1e57c1bcf3824ad Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:28 2015 -0700 x86/fpu: Rework XSTATE_* macros to remove magic '2' The 'xstate.c' code has a bunch of references to '2'. This is because we have a lot more work to do for the "extended" xstates than the "legacy" ones and state component 2 is the first "extended" state. This patch replaces all of the instances of '2' with FIRST_EXTENDED_XFEATURE, which clearly explains what is going on. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233128.A8C0BF51@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dad8c4fe8530f28dde73dadd1d588e3aaa507562 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:27 2015 -0700 x86/fpu: Rename XFEATURES_NR_MAX This is a logcal followon to the last patch. It makes the XFEATURE_MAX naming consistent with the other enum values. This is what Ingo suggested. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233127.A541448F@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d91cab78133d33b1dfd3d3fa7167fcbf74fb5f99 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:26 2015 -0700 x86/fpu: Rename XSAVE macros There are two concepts that have some confusing naming: 1. Extended State Component numbers (currently called XFEATURE_BIT_*) 2. Extended State Component masks (currently called XSTATE_*) The numbers are (currently) from 0-9. State component 3 is the bounds registers for MPX, for instance. But when we want to enable "state component 3", we go set a bit in XCR0. The bit we set is 1<<3. We can check to see if a state component feature is enabled by looking at its bit. The current 'xfeature_bit's are at best xfeature bit _numbers_. Calling them bits is at best inconsistent with ending the enum list with 'XFEATURES_NR_MAX'. This patch renames the enum to be 'xfeature'. These also happen to be what the Intel documentation calls a "state component". We also want to differentiate these from the "XSTATE_*" macros. The "XSTATE_*" macros are a mask, and we rename them to match. These macros are reasonably widely used so this patch is a wee bit big, but this really is just a rename. The only non-mechanical part of this is the s/XSTATE_EXTEND_MASK/XFEATURE_MASK_EXTEND/ We need a better name for it, but that's another patch. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233126.38653250@xxxxxxxxxxxxxxxxxx [ Ported to v4.3-rc1. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 75933433d666c2ab13a7a93f4ec1e6f000a94ffc Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:25 2015 -0700 x86/fpu: Remove partial LWP support definitions LightWeight Profiling was evidently an AMD profiling feature that we never got around to implementing. Remove the references to it. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233125.7E602284@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4109ca066b6b899ac7549bf3aac94b178ac95891 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:25 2015 -0700 x86/fpu: Remove XSTATE_RESERVE The original purpose of XSTATE_RESERVE was to carve out space to store all of the possible extended state components that get saved with the XSAVE instruction(s). However, we are now almost entirely dynamically allocating the buffers we use for XSAVE by placing them at the end of the task_struct and them sizing them at boot. The one exception for that is the init_task. The maximum extended state component size that we have today is on systems with space for AVX-512 and Memory Protection Keys: 2696 bytes. We have reserved a PAGE_SIZE buffer in the init_task via fpregs_state->__padding. This check ensures that even if the component sizes or layout were changed (which we do not expect), that we will still not overflow the init_task's buffer. In the case that we detect we might overflow the buffer, we completely disable XSAVE support in the kernel and try to boot as if we had 'legacy x87 FPU' support in place. This is a crippled state without any of the XSAVE-enabled features (MPX, AVX, etc...). But, it at least let us boot safely. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233125.D948D475@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a265375028b241a9173b7c569dd2368ba97fcd4 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:24 2015 -0700 x86/fpu: Move XSAVE-disabling code to a helper When we want to _completely_ disable XSAVE support as far as the kernel is concerned, we have a big set of feature flags to clear. We currently only do this in cases where the user asks for it to be disabled, but we are about to expand the places where we do it to handle errors too. Move the code in to xstate.c, and put it in the xstate.h header. We will use it in the next patch too. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233124.EA9A70E5@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b0815359590f496f80e355a74319b6dc77010951 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Wed Sep 2 16:31:24 2015 -0700 x86/fpu: Print xfeature buffer size in decimal This is utterly a personal taste thing, but I find it way easier to read structure sizes in decimal than in hex. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Brian Gerst <brgerst@xxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: dave@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20150902233124.1A8B04A8@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e84fe80337dc85cca07d0417ea97edbec4789d8b Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Fri Sep 11 12:53:46 2015 +0100 drm/i915: Split alloc from init for lrc Extend init/init_hw split to context init. - Move context initialisation in to i915_gem_init_hw - Move one off initialisation for render ring to i915_gem_validate_context - Move default context initialisation to logical_ring_init Rename intel_lr_context_deferred_create to intel_lr_context_deferred_alloc, to reflect reduced functionality & alloc/init split. This patch is intended to split out the allocation of resources & initialisation to allow easier reuse of code for resume/gpu reset. v2: Removed function ptr wrapping of do_switch_context (Daniel Vetter) Left ->init_context int intel_lr_context_deferred_alloc (Daniel Vetter) Remove unnecessary init flag & ring type test. (Daniel Vetter) Improve commit message (Daniel Vetter) v3: On init/reinit, set the hw next sequence number to the sw next sequence number. This is set to 1 at driver load time. This prevents the seqno being reset on reinit (Chris Wilson) v4: Set seqno back to ~0 - 0x1000 at start-of-day, and increment by 0x100 on reset. This makes it obvious which bbs are which after a reset. (David Gordon & John Harrison) Rebase. v5: Rebase. Fixed rebase breakage. Put context pinning in separate function. Removed code churn. (Thomas Daniel) v6: Cleanup up issues introduced in v2 & v5 (Thomas Daniel) Issue: VIZ-4798 Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: John Harrison <john.c.harrison@xxxxxxxxx> Cc: David Gordon <david.s.gordon@xxxxxxxxx> Cc: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8ece249a811e93d3f60e3f1ebdc86c7e7a95bdbf Author: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Date: Fri Sep 4 14:11:42 2015 +0100 acpi/apei: Use appropriate pgprot_t to map GHES memory If the ACPI APEI firmware handles hardware error first (called "firmware first handling"), the firmware updates the GHES memory region with hardware error record (called "generic hardware error record"). Essentially the firmware writes hardware error records in the GHES memory region, triggers an NMI/interrupt, then the GHES driver goes off and grabs the error record from the GHES region. The kernel currently maps the GHES memory region as cacheable (PAGE_KERNEL) for all architectures. However, on some arm64 platforms, there is a mismatch between how the kernel maps the GHES region (PAGE_KERNEL) and how the firmware maps it (EFI_MEMORY_UC, ie. uncacheable), leading to the possibility of the kernel GHES driver reading stale data from the cache when it receives the interrupt. With stale data being read, the kernel is unaware there is new hardware error to be handled when there actually is; this may lead to further damage in various scenarios, such as error propagation caused data corruption. If uncorrected error (such as double bit ECC error) happened in memory operation and if the kernel is unaware of such an event happening, errorneous data may be propagated to the disk. Instead GHES memory region should be mapped with page protection type according to what is returned from arch_apei_get_mem_attribute(). Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> [ Small stylistic tweaks. ] Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Acked-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/1441372302-23242-3-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 89e44b51cc0db50ea4b5bbb5d582c4db88bbaed8 Author: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Date: Fri Sep 4 14:11:41 2015 +0100 arm64, acpi/apei: Implement arch_apei_get_mem_attributes() Table 8 of UEFI 2.5 section 2.3.6.1 defines mappings from EFI memory types to MAIR attribute encodings for arm64. If the physical address has memory attributes defined by EFI memmap as EFI_MEMORY_[UC|WC|WT], return approprate page protection type according to the UEFI spec. Otherwise, return PAGE_KERNEL. Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> [ Small stylistic tweaks. ] Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Link: http://lkml.kernel.org/r/1441372302-23242-2-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 87bcdd2e275d75e374434a4ad7da66bbb6da1d17 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Thu Sep 10 14:55:00 2015 -0700 drm/i915: don't try to load GuC fw on pre-gen9 This avoids some bad register writes and generally feels more correct than unconditionally trying to redirect interrupts and such. References: https://bugs.freedesktop.org/show_bug.cgi?id=91777 Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6ff8ab0d0fab914755cb79b1e0469dd7123cc471 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Thu Sep 10 08:20:28 2015 -0700 drm/i915: make CSR firmware messages less verbose Use WARN_ONCE in a bunch of places and demote a message that would continually spam us. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b970b48685a7ae2953e659f7e657cde2949b12ae Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Tue Sep 8 10:31:53 2015 +0100 drm/i915/gen9: Add WaDisableMinuteIaClockGating Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5b88abacd4820c66bc347a6beeb3d6ad1144544b Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Sep 8 10:31:49 2015 +0100 drm/i915/bxt: Add WaSetClckGatingDisableMedia Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8c761609ec3beca88819e28d4fcf333b579d29b4 Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Sep 8 10:31:48 2015 +0100 drm/i915/gen9: Add WaDisableSamplerPowerBypassForSOPingPong Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e2ec35a58b3c9cdadbb7d913e8262ad9ddcb00f7 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Sep 11 16:58:32 2015 +0530 drm/i915/bxt: Use intel_encoder->hpd_pin to check live status Using intel_encoder's hpd_pin to check the live status because of BXT A0/A1 WA for HPD pins and hpd_pin contains the updated pin for the corresponding port. Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0e2815de552a638295cfdaf0865e575573bf263e Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Sep 9 09:12:44 2015 +0200 x86/headers: Clean up too long lines Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: bp@xxxxxxxxx Cc: brgerst@xxxxxxxxx Cc: dvlasenk@xxxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: mikko.rapeli@xxxxxx Cc: oleg@xxxxxxxxxx Link: http://lkml.kernel.org/r/20150909071244.GM3644@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 04a6b8bfee06e309be7e9ae4527cdab19c081761 Author: Mathias Krause <mathias.krause@xxxxxxxxxxx> Date: Fri Sep 11 09:57:20 2015 +0200 xfrm6: Fix ICMPv6 and MH header checks in _decode_session6 Ensure there's enough data left prior calling pskb_may_pull(). If skb->data was already advanced, we'll call pskb_may_pull() with a negative value converted to unsigned int -- leading to a huge positive value. That won't matter in practice as pskb_may_pull() will likely fail in this case, but it leads to underflow reports on kernels handling such kind of over-/underflows, e.g. a PaX enabled kernel instrumented with the size_overflow plugin. Reported-by: satmd <satmd@xxxxxxx> Reported-and-tested-by: Marcin Jurkowski <marcin1j@xxxxxxxxx> Signed-off-by: Mathias Krause <mathias.krause@xxxxxxxxxxx> Cc: PaX Team <pageexec@xxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 5af05fefb5be51d42effc4f802b6d806fbda34eb Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Sep 4 12:59:15 2015 +0100 drm/i915/lrc: Prevent preemption when lite-restore is disabled When WaEnableForceRestoreInCtxtDescForVCS is required, it is only safe to send new contexts if the last reported event is "active to idle". Otherwise the same context can fully preempt itself because lite-restore is disabled. Testcase: igt/gem_concurrent_blit Reported-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Tested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec72d5884c6a3cf4f27b52da51654a472b919545 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Sep 4 12:59:14 2015 +0100 drm/i915: WaEnableForceRestoreInCtxtDescForVCS is for video engines only Also check for correct revision id in each Gen9 platform (SKL until B0 and BXT until A0). Cc: Nick Hoath <nicholas.hoath@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Tested-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6764e9f8724f1231b4deac53b9a82286ac0830e7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:06 2015 +0200 drm/i915: skip modeset if compatible for everyone. This is done as a separate commit, to make it easier to revert when things break. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bfd16b2a23dc99f2af3f5c4f54aa153347f2dc3c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:05 2015 +0200 drm/i915: Make updating pipe without modeset atomic. Instead of doing a hack during primary plane commit the state is updated during atomic evasion. It handles differences in pipe size and the panel fitter. This is continuing on top of Daniel's work to make faster modesets atomic, and not yet enabled by default. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> [danvet: - simplify/future-proof if ladder that Jesse spotted - resolve conflict in pipe_config_check and don't spuriously move the code.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f4502c25ebd04691f284fdafff4a5613299c36dc Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:04 2015 +0200 drm/i915: Always try to inherit the initial fb. The initial state is read out correctly and the state is atomic, so it's safe to preserve the fb without any hacks if it's suitable. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d551599181769571f4f68dd93e5d8b15868889af Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:03 2015 +0200 drm/i915: Remove references to crtc->active from intel_fbdev.c It should really use the atomic state. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 44522d852f1979ec0e6807eb4dc58bd7ecc8af08 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:44:02 2015 +0200 drm/i915: Set csc coefficients in update_pipe_size. This might not have been set during boot, and when we preserve the initial mode this can result in a black screen. Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit db66e32e0d2ae1f5070faa589aa460b75780ab47 Merge: f9f3ce8 6ff33f3 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Sun Sep 13 18:41:29 2015 -0700 Merge tag 'v4.3-rc1' into MTD -next development commit 535118cac9e0705bf58de0604060f644bee7472d Author: Wolfram Sang <wsa@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 9 19:48:19 2015 +0200 ARM: shmobile: r8a7790: lager: add pinmux for iic0 It seems we used to rely on the default pinmux setting of this HW, but currently we need to explicitly set the pinmux to access this bus. It is better style, too. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 23640ff2eff0dec2016dd097b1b04c817a4ffd3f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Aug 25 07:14:50 2015 +0000 ARM: shmobile: r8a7778: tidyup SSI resource region Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8c3f903bd362328aac997aba1adfea59e337918a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Aug 24 08:28:17 2015 +0000 ARM: shmobile: r8a7791: tidyup SSI resource region Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4bc4a2051abe12e6e7521cbabac0048096243094 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Aug 24 08:27:56 2015 +0000 ARM: shmobile: r8a7790: tidyup SSI resource region Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6bc651afec2dba4d3e40901a2c5cfc88ad35d97a Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Aug 20 03:09:52 2015 +0000 ARM: shmobile: lager: use CCF for audio clock Because of historical reason, audio clock didn't use CCF. Let's use it now. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c19c84ff3ab1280894bb2cdd99027f751922e2ba Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Thu Aug 20 03:09:30 2015 +0000 ARM: shmobile: koelsch: use CCF for audio clock Because of historical reason, audio clock didn't use CCF. Let's use it now. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8614daf299cbab2bcada922e727fdc9ad45b2412 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 01:24:47 2015 +0300 ARM: shmobile: silk: add VIN0/ADV7180 DT support Define the SILK board dependent part of the VIN0 device node. Add the device node for Analog Devices ADV7180 video decoder to I2C1 bus. Add the necessary subnodes to interconnect VIN0 and ADV7180 devices. Based on the Henninger VIN0/ADV8170 device tree patch by myself. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1afe77ca7846489fff3d1675b82bd2116a56474a Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 01:22:24 2015 +0300 ARM: shmobile: r8a7794: add VIN DT support Define the generic R8A7794 part of the VIN[01] device nodes. Add aliases for the VIN[01] device nodes. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fa070791c1e7df91ca07fc7c9a431fac0d7d2832 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 01:05:02 2015 +0300 ARM: shmobile: silk: add I2C1 DT support Define the SILK board dependent part of the I2C1 device node. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5428521ba123dddda4d2ac9ab19d173b692a8acb Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 01:00:09 2015 +0300 ARM: shmobile: r8a7794: add I2C DT support Define the generic R8A7794 parts of the I2C[0-5] device nodes. Based on the original patch by Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 755252d0e502627df6ddabbb2d628705bc256497 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Jul 6 12:55:32 2015 +0200 ARM: shmobile: kzm9g dts: Use adxl345-specific compatible property Replace the deprecated generic "adi,adxl34x" compatible value by the adxl345-specific "adi,adxl345" value, cfr. commit e465bf6fc55d5ce2 ("DT: i2c: Deprecate adi,adxl34x compatible string"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8025e3ff4ca972a0ca2aa898562670a767f79889 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Aug 7 11:45:33 2015 +0900 ARM: shmobile: marzen: Board specific serial port order Convert Marzen to use board-specific serial0 and serial1 instead of the older shared SoC-specific SCIF index. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0ebdbc505b620ab4397c3105d36a5383fb16b151 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 01:00:35 2015 +0300 ARM: shmobile: silk: add QSPI DT support Define the SILK board dependent part of the QSPI device node. Add device nodes for Spansion S25FL512S SPI flash and MTD partitions on it. Based on the original patch by Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 740b4a9f07fe73b5ccd2bc3dc365dc359e1a332d Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 00:59:24 2015 +0300 ARM: shmobile: r8a7794: add QSPI DT support Define the generic R8A7794 part of the QSPI device node. Based on original patch by Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e8f5de3bea9e01fd1390d64bc915a11df919b3fe Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 01:09:31 2015 +0300 ARM: shmobile: r8a7794: add GPIO DT support Describe GPIO[0-6] controllers in the R8A7794 device tree. Based on original patch by Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3f37e01852a06faf1d5fed30eaee5cae942fc9d5 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 9 01:08:21 2015 +0300 ARM: shmobile: r8a7794: add GPIO clocks Describe the GPIO clocks in the R8A7794 device tree. Based on the original patch by Koji Matsuoka <koji.matsuoka.xm@xxxxxxxxxxx>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e5923ad92d0177202b85fc4c2f1ae1a3a01f5a76 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Aug 5 06:30:48 2015 +0900 ARM: shmobile: Add silk device tree bindings documentation Add Silk Device tree bindings Documentation, listing it as a supported board. This allows to use checkpatch to validate DTSes referring to the Silk board. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 0a8b0695f4c490c349ee12956d6946576c44a419 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Jul 15 15:45:23 2015 +0900 ARM: multi_v7_defconfig: Remove Marzen Kill of the defconfig bits now when the marzen-reference board code is gone. Based on work by Magnus Damm. Acked-by: Magnus Damm <damm@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ea3e4a2b3945f62457fa377c2bd0f49c32192194 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Jul 13 15:15:23 2015 +0900 ARM: shmobile: Remove Marzen from shmobile_defconfig Kill of the defconfig bits now when the marzen-reference board code is gone. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 04418c23a9411b85b8789eab5f4397bcbd62b7b4 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sat Aug 29 00:37:17 2015 +0300 ARM: shmobile: Remove legacy clock support leftovers The shmobile_clk_init() function has been removed and the linux/sh_clk.h header doesn't need to be included anymore. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fc22a4d484fafb373c51bb6792bb5a4ef4caae71 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Thu Aug 20 16:27:44 2015 -0700 ARM: shmobile: remove Makefile.boot Now that the only multiplatform boot is supported for all shmobile platforms Makefile.boot may be removed. This seems correct to me given: * Setting MACHINE to no value in arch/arm/Makefile if CONFIG_ARCH_MULTIPLATFORM is set * Not including Makefile.boot in arch/arm/boot/Makefile if MACHINE has no value Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 7463c876331d01aafb420f3637c2f69409eb0447 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Aug 18 15:12:18 2015 +0200 ARM: shmobile: Kconfig: remove unused SHMOBILE_TIMER_HZ section Obsoleted by removal of legacy platforms. 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 6263ef7c25d3e081642c22d2e6d0dc1e9cb7c015 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Aug 18 15:12:17 2015 +0200 ARM: shmobile: bockw: remove legacy DTB build target Obsoleted by removal of legacy platform. 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 8d4f9480f6e7882acf4c320833457f879d2bbd10 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:08 2015 +0200 MAINTAINERS: remove references to dropped marzen and bockw defconfigs Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e12cc06150094d936c955d5fbe8681a0a44b23f8 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:07 2015 +0200 ARM: shmobile: bockw: remove legacy defconfig Obsoleted by removal of legacy platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 36d6c9280b7f7c895c124ecf918ee5bda3c52ccd Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:06 2015 +0200 ARM: shmobile: remove ARCH_SHMOBILE_LEGACY option With Bock-W, the last legacy platform has been removed. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 51e47a386f3ac1c3efd10505a7b190667bd4b731 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:05 2015 +0200 ARM: shmobile: r8a7778: remove legacy clock implementation Bock-W was the last legacy clock platform, so this also removes the common legacy clock code. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 993f58c32c613b7155f3cab75ed4e2e6e6b3ec64 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:04 2015 +0200 ARM: shmobile: Kconfig: remove obsolete option ARCH_R8A7778 Obsoleted by removal of r8a7778 legacy platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4baadb9e05c68962362b7e1f52f32f50b4062593 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:03 2015 +0200 ARM: shmobile: r8a7778: remove obsolete setup code Removal of the legacy Bock-W platform obsoletes most setup code. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3d7608e4c169af0361a4ebcb6294e7530b0e2c31 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:51:02 2015 +0200 ARM: shmobile: bockw: remove legacy board file and config Replaced by multi-platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c2c7375ba2dfcce3dfc9ecf4b3e44b975fb139fc Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 14 15:54:04 2015 +0200 ARM: shmobile: remove paragraph on DT reference platforms They have all been eliminated now. 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 892b19fe503f5478f14c77d5f14df9f954292baf Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 7 18:34:57 2015 +0200 ARM: shmobile: bockw: remove "reference" board file and config Replaced by multi-platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2c0a876680c2c90442a8d6bb3cde07bd8b663dca Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 7 18:34:56 2015 +0200 ARM: shmobile: bockw: remove "reference" device tree Replaced by multi-platform. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b62708ac3f5ebfd3a15bd65fd48ed013c5f166bf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:12 2015 +0200 ARM: shmobile: Remove obsolete twd_local_timer declaration The last user of twd_local_timer was removed in commit c99cd90d98a98aa1 ("ARM: shmobile: r8a7779: Remove legacy SoC code"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 93161cb4c3c27517f1b4516a880adaf7df4112e2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:11 2015 +0200 ARM: shmobile: Remove obsolete earlytimer registration The last caller of shmobile_earlytimer_init() was removed in commit c99cd90d98a98aa1 ("ARM: shmobile: r8a7779: Remove legacy SoC code"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit edc77c65df148548bd168fde9607707d81de39ff Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:10 2015 +0200 ARM: shmobile: Remove obsolete legacy PM Domain leftovers The last users were removed in commit b587288001f05c0e ("ARM: shmobile: R-Mobile: Remove legacy PM Domain code"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 49611d482910b654ba6ce09fa44aa665359620b4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:09 2015 +0200 ARM: shmobile: Remove obsolete intc.h The last user of "intc.h" was removed in commit 9a9863987bf7307f ("ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 815fc8c06b57f283f942c6c25e3c58d6e4cb8fd7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:08 2015 +0200 ARM: shmobile: Remove obsolete custom earlyprintk code The last caller of shmobile_setup_console() was removed in commit 44d88c754e57a6d9 ("ARM: shmobile: Remove legacy SoC code for R-Mobile A1"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 26449ecc21dd690f5bc686fbee8037587c77ac5e Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:07 2015 +0200 ARM: shmobile: Remove obsolete sh-gpio.h The last user of "sh-gpio.h" was removed in commit 1fa59bda21c7fa36 ("ARM: shmobile: Remove legacy board code for Armadillo-800 EVA"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 08a0a2409fd0684a1184bf90486b0286a2ba1194 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 4 20:03:06 2015 +0200 ARM: shmobile: Remove unused declaration of r8a7778_add_standard_devices_dt() The actual implementation was removed by commit 40216263d3d0b9b4 ("ARM: shmobile: Remove unused r8a7778 auxdata and callback") in v3.12. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 216c59d65f99aa1ef1a92e1ae64f1f1c2590dddc Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Fri Sep 11 00:07:19 2015 +0300 drm/atomic-helper: Don't skip plane disabling on active CRTC Since commit "drm/atomic-helper: Add option to update planes only on active crtc" the drm_atomic_helper_commit_planes() function accepts an active_only argument to skip updating planes when the associated CRTC is inactive. Planes being disabled on an active CRTC are incorrectly considered as associated with an inactive CRTC and are thus skipped, preventing any plane disabling update from reaching drivers. Fix it by checking the state of the CRTC stored in the old plane state for planes being disabled. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d73270192ec8238135d9fb65b49f6f42f50818d Author: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Date: Mon Sep 7 17:01:59 2015 -0300 scripts/kernel-doc: Replacing highlights hash by an array The "highlight" code is very sensible to the order of the hash keys, but the order of the keys cannot be predicted. It generates faulty DocBook entries like: - @<function>device_for_each_child</function> Sorting the result is not enough some times (as it's deterministic but we can't control it). We should use an array for that job, so we can guarantee that the order of the regex execution on dohighlight is correct. [jc: I think this is kind of papering around the real problem, that people are saying @function() when "function" is not a parameter. But this makes things better than they were before, so...] Signed-off-by: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 17666497fe631fef483afd38824c5dabdd764b90 Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Mon Sep 7 19:06:14 2015 +0200 sysfs.txt: mention that store method buffers are null-terminated Without knowing this, the use of sysfs_streq() becomes puzzling. The termination happens in kernfs_fop_write(). Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> [jc: moved the new text to a different paragraph] Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9ba41327d8d01df54be1e6f1c246b123b009fa55 Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Wed Sep 2 14:34:53 2015 +0200 sysfs-tagging.txt: fix pre-kernfs references - sysfs_dirent is now kernfs_node - see commit 324a56e16e44 ("kernfs: s/sysfs_dirent/kernfs_node/ and rename its friends accordingly") - sysfs_super_info is now kernfs_super_info - see commit c525aaddc366 ("kernfs: s/sysfs/kernfs/ in various data structures") - the 's_' prefix was dropped from various fields - see commit adc5e8b58f48 ("kernfs: drop s_ prefix from kernfs_node members") Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 390b421c42c8b749661f018818f1d34f339fc3b2 Author: Ulf Magnusson <ulfalizer@xxxxxxxxx> Date: Wed Sep 2 14:34:52 2015 +0200 sysfs.txt: fix pre-kernfs sysfs_dirent reference sysfs_dirent went away when kernfs was extracted from sysfs. The reference to the kobject now lives in a kernfs_node (in the 'priv' member). See commit 324a56e16e44 ("kernfs: s/sysfs_dirent/kernfs_node/ and rename its friends accordingly"). Signed-off-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 121e0248bdae1ddaebc26ef32975c3ac1692995e Author: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Date: Sun Sep 6 02:13:34 2015 +0300 documentation: fix small typo in rbtree.txt Signed-off-by: Alexey Klimov <alexey.klimov@xxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 68f86662380c343317325c024d6a35221f1908ac Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Tue Sep 1 23:48:49 2015 +0100 Documentation: Avoid creating man pages in source tree Currently kernel-doc generates a dummy DocBook file when asked to convert a C source file with no structured comments. For an out-of-tree build (objtree != srctree), the title of the output file is the absolute path name of the C source file, which later results in a manual page being created alongside the C source file. Change the title to be a relative path. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit df5f0b6efb20be669ad356eba675706d4cda2d0b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 9 16:46:38 2015 -0700 Documentation: lockstat: Fix typo lokcing -> locking Cc: Jiri Kosina <trivial@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 42f41ecfa946db61a490b3f8da3b7f18b76ca138 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Fri Sep 11 13:23:36 2015 -0600 MAINTAINERS: claim scripts/*doc* in the docs tree Changes to scripts/kernel-doc and such are best run through the docs tree. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 23aebb3c05f3b3fb06a68bf6b1539a05a5f8aaab Author: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Date: Tue Sep 1 14:44:14 2015 -0300 scripts/kernel-doc: Processing -nofunc for functions only Docproc processes the EXPORT_SYMBOL(f1) macro and uses -nofunc f1 to avoid duplicated documentation in the next call. It works for most of the cases, but there are some specific situations where a struct has the same name of an already-exported function. Current kernel-doc behavior ignores those structs and does not add them to the final documentation. This patch fixes it. This is unusual, the only case I've found is the drm_modeset_lock (function and struct) defined in drm_modeset_lock.h and drm_modeset_lock.c. Considering this, it should only affect the DRM documentation by including struct drm_modeset_lock to the final Docbook. Signed-off-by: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 47f16529a7b0d359ee5ac29dc88c99d1ce0323b9 Author: Jonathan Corbet <corbet@xxxxxxx> Date: Fri Sep 11 10:46:07 2015 -0600 Docs/DocBook: Add .db files to .gitignore These files were added with the XML crossreference patch; they make git complain. Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 2d774bd047fcbf8d2a1f470dbe7c9875f9074b11 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Aug 31 11:16:08 2015 -0700 DocBook: ignore .proc files These are generated as part of 'make htmldocs'. If we don't ignore them, then most of our generated subdirectories get treated as "untracked" by git. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> commit 9ddf9071ea17b83954358b2dac42b34e5857a9af Merge: 50ef28a 6ff33f3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Sep 13 11:10:12 2015 -0300 Merge tag 'v4.3-rc1' into patchwork Linux 4.3-rc1 * tag 'v4.3-rc1': (11838 commits) Linux 4.3-rc1 blk: rq_data_dir() should not return a boolean writeback: plug writeback in wb_writeback() and writeback_inodes_wb() thermal: fix intel PCH thermal driver mismerge ARCv2: [axs103_smp] Reduce clk for SMP FPGA configs 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 Revert "writeback: plug writeback at a high level" scsi_dh: fix randconfig build error 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 ... commit bab84fa9cc09dfa9702029f83ea6bf8bf5ae96af Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Aug 27 18:30:43 2015 +0600 m68k/sun3: Use %pM format specifier to print ethernet address printk() supports %pM format specifier for printing 6-byte MAC/FDDI addresses in hex notation small buffers, let's use it intead of %x:%x... Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 9ff5052f7561068207c2b0e7590ad8ca5765f2cc Author: Olliver Schinagl <o.schinagl@xxxxxxxxxxxxx> Date: Sun Aug 9 20:22:58 2015 +0200 ARM: dts: sunxi: enable otg port on the sun7i-a20-olinuxino-lime2 This patch enables the musb-otg USB controller on the Lime2. The Lime2 differs from the Lime1 series in pins used for usb0 power. Tested on a OlinuXino Lime2-4GB. Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit bcbf506d777d2627cb8f68755816fab04eb8b852 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Aug 8 17:38:54 2015 +0200 ARM: dts: sun4i: Enable i2c1 and i2c2 on the Chuwi V7-CW0825 tablet i2c1 has a freescale mma7660 accelerometer connected to it at addr 0x4c, i2c2 has a ft5x touchscreen connected to it at addr 0x38. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit fec794c7717eaf724542c56fda5f7090f23cefab Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Aug 4 23:30:09 2015 +0200 ARM: dts: sun4i: Enable otg in host only mode on Jesurun Q5 The Jesurun Q5 has the musb hooked up to an usb-a receptacle, enable it in host-only mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 0052b7dcf9d9ec6be4fc3fe815a2ceda623bb9d1 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Sun Sep 13 19:00:05 2015 +0900 ALSA: pcm: remove structure member of 'struct snd_pcm_hwptr_log *' type because this structure had been removed This structure was added by 4d96eb255c53 ('ALSA: pcm_lib - add possibility to log last 10 DMA ring buffer positions') to store PCM pointers information of latest 10 pointer movements (=XRUN_LOG_CNT). When CONFIG_SND_PCM_XRUN_DEBUG is configured, 'struct snd_pcm_runtime' has 'hwptr_log' member with a pointer to the structure. When calling xrun_log() in pcm_lib.c, the structure was allocated to the pointer. When calling snd_pcm_detach_substream() in pcm.c, the allocated pointer is released. In f5914908a5b7 ('ALSA: pcm: Replace PCM hwptr tracking with tracepoints'), the pointer logging is replaced with using Linux Kernel Tracepoints. The structure was also removed, while it's just declared. The member and kfree still remains. This commit removes the member and related codes. I think this was overlooked because it brings no errors/warnings to C compilers. Fixes: f5914908a5b7 ('ALSA: pcm: Replace PCM hwptr tracking with tracepoints') Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8f3e5684d3fbd91ead283916676fa3dac22615e5 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:53 2015 -0700 perf/core: Drop PERF_EVENT_TXN We currently use PERF_EVENT_TXN flag to determine if we are in the middle of a transaction. If in a transaction, we defer the schedulability checks from pmu->add() operation to the pmu->commit() operation. Now that we have "transaction types" (PERF_PMU_TXN_ADD, PERF_PMU_TXN_READ) we can use the type to determine if we are in a transaction and drop the PERF_EVENT_TXN flag. When PERF_EVENT_TXN is dropped, the cpuhw->group_flag on some architectures becomes unused, so drop that field as well. This is an extension of the Powerpc patch from Peter Zijlstra to s390, Sparc and x86 architectures. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-11-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 88a486132dffeb010d659e00361c4d114de09972 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:52 2015 -0700 powerpc, perf/powerpc/hv-24x7: Use PMU_TXN_READ interface The 24x7 counters in Powerpc allow monitoring a large number of counters simultaneously. They also allow reading several counters in a single HCALL so we can get a more consistent snapshot of the system. Use the PMU's transaction interface to monitor and read several event counters at once. The idea is that users can group several 24x7 events into a single group of events. We use the following logic to submit the group of events to the PMU and read the values: pmu->start_txn() // Initialize before first event for each event in group pmu->read(event); // Queue each event to be read pmu->commit_txn() // Read/update all queuedcounters The ->commit_txn() also updates the event counts in the respective perf_event objects. The perf subsystem can then directly get the event counts from the perf_event and can avoid submitting a new ->read() request to the PMU. Thanks to input from Peter Zijlstra. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-10-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4a00c16e552ea5e71756cd29cd2df7557ec9cac4 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:51 2015 -0700 perf/core: Define PERF_PMU_TXN_READ interface Define a new PERF_PMU_TXN_READ interface to read a group of counters at once. pmu->start_txn() // Initialize before first event for each event in group pmu->read(event); // Queue each event to be read rc = pmu->commit_txn() // Read/update all queued counters Note that we use this interface with all PMUs. PMUs that implement this interface use the ->read() operation to _queue_ the counters to be read and use ->commit_txn() to actually read all the queued counters at once. PMUs that don't implement PERF_PMU_TXN_READ ignore ->start_txn() and ->commit_txn() and continue to read counters one at a time. Thanks to input from Peter Zijlstra. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-9-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7d88962e230c8342080e7e2fe9dd5be43dc13b79 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:50 2015 -0700 perf/core: Add return value for perf_event_read() When we implement the ability to read several counters at once (using the PERF_PMU_TXN_READ transaction interface), perf_event_read() can fail when the 'group' parameter is true (eg: trying to read too many events at once). For now, have perf_event_read() return an integer. Ignore the return value when the 'group' parameter is false. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-8-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fa8c269353d560b7c28119ad7617029f92e40b15 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Sep 3 20:07:49 2015 -0700 perf/core: Invert perf_read_group() loops In order to enable the use of perf_event_read(.group = true), we need to invert the sibling-child loop nesting of perf_read_group(). Currently we iterate the child list for each sibling, this precludes using group reads. Flip things around so we iterate each group for each child. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> [ Made the patch compile and things. ] Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-7-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0492d4c5b8c4dc3a7591bf6fa0e35d117812cc85 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Sep 3 20:07:48 2015 -0700 perf/core: Add group reads to perf_event_read() Enable perf_event_read() to update entire groups at once, this will be useful for read transactions. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/20150723080435.GE25159@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b15f495b4e9295cf21065d8569835a2f18cfe41b Author: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Date: Thu Sep 3 20:07:47 2015 -0700 perf/core: Rename perf_event_read_{one,group}, perf_read_hw In order to free up the perf_event_read_group() name: s/perf_event_read_\(one\|group\)/perf_read_\1/g s/perf_read_hw/__perf_read/g Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-5-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 01add3eaf1b25e497b14ca210f3bfe5f5dd2b112 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:46 2015 -0700 perf/core: Split perf_event_read() and perf_event_count() perf_event_read() does two things: - call the PMU to read/update the counter value, and - compute the total count of the event and its children Not all callers need both. perf_event_reset() for instance needs the first piece but doesn't need the second. Similarly, when we implement the ability to read a group of events using the transaction interface, we would need the two pieces done independently. Break up perf_event_read() and have it just read/update the counter and have the callers compute the total count if necessary. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-4-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fbbe07011581990ef74dfac06dc8511b1a14badb Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:45 2015 -0700 perf/core: Add a 'flags' parameter to the PMU transactional interfaces Currently, the PMU interface allows reading only one counter at a time. But some PMUs like the 24x7 counters in Power, support reading several counters at once. To leveage this functionality, extend the transaction interface to support a "transaction type". The first type, PERF_PMU_TXN_ADD, refers to the existing transactions, i.e. used to _schedule_ all the events on the PMU as a group. A second transaction type, PERF_PMU_TXN_READ, will be used in a follow-on patch, by the 24x7 counters to read several counters at once. Extend the transaction interfaces to the PMU to accept a 'txn_flags' parameter and use this parameter to ignore any transactions that are not of type PERF_PMU_TXN_ADD. Thanks to Peter Zijlstra for his input. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> [peterz: s390 compile fix] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1441336073-22750-3-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 845583767c306dac0290aab908c18b01772ea4b4 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:44 2015 -0700 sparc, perf/sparc: Remove unnecessary assignment In ->commit_txn() 'cpuc' is already initialized when it is declared, so we can remove the duplicate assignment. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441336073-22750-2-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b0e878759452314676fbdd71df4ac67e7d08de5d Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Aug 28 14:06:07 2015 +0200 perf/abi: Document some more aspects of the perf ABI Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 73fdeb66592ee80dffb16fb8a9b7378a00c1a826 Author: Huaitong Han <huaitong.han@xxxxxxxxx> Date: Mon Aug 31 16:21:02 2015 +0800 perf/x86/intel/pt: Fix KVM warning due to doing rdmsr() before the CPUID test If KVM does not support INTEL_PT, guest MSR_IA32_RTIT_CTL reading will produce host warning like "kvm [2469]: vcpu0 unhandled rdmsr: 0x570". Guest can determine whether the CPU supports Intel_PT according to CPUID, so test_cpu_cap function is added before rdmsr,and it is more in line with the code style. Signed-off-by: Huaitong Han <huaitong.han@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: acme@xxxxxxxxxx Link: http://lkml.kernel.org/r/1441009262-9792-1-git-send-email-huaitong.han@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 516792e67c39d31701641ab355acdb9cbfec0643 Author: Kirill Tkhai <ktkhai@xxxxxxxx> Date: Mon Aug 31 15:12:56 2015 +0300 perf/core: Delete PF_EXITING checks from perf_cgroup_exit() callback cgroup_exit() is not called from copy_process() after commit: e8604cb43690 ("cgroup: fix spurious lockdep warning in cgroup_exit()") from do_exit(). So this check is useless and the comment is obsolete. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/55E444C8.3020402@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit deb27519bf1f4b21a761c0675dbdf1196df7d72a Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Mon Aug 17 08:37:31 2015 -0400 perf/x86/intel: Fix LBR callstack issue caused by FREEZE_LBRS_ON_PMI This patch fixes an issue which introduced by commit 1a78d93750bb5f61abdc59a91fc3bd06a214542a ("perf/x86/intel: Streamline LBR MSR handling in PMI"). The old patch not only avoids writing LBR_SELECT MSR in PMI, but also avoids updating lbr_select variable. So in PMI, FREEZE_LBRS_ON_PMI bit is always mistakenly set for IA32_DEBUGCTLMSR MSR, which causes superfluous increase/decrease of LBR_TOS when collecting LBR callstack. Reported-by: Milian Wolff <mail@xxxxxxxxxx> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1439815051-8616-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d2878d642a4edd1d57c691dc3e4d7847cbf9d442 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:09:28 2015 +0300 perf/x86/intel/bts: Disallow use by unprivileged users on paranoid systems BTS leaks kernel addresses even in userspace-only mode due to imprecise IP sampling, so sometimes syscall entry points or page fault handler addresses end up in a userspace trace. Now, intel_bts driver exports trace data zero-copy, it does not scan through it to filter out the kernel addresses and it's would be a O(n) job. To work around this situation, this patch forbids the use of intel_bts driver by unprivileged users on systems with the paranoid setting above the (kernel's) default "1", which still allows kernel profiling. In other words, using intel_bts driver implies kernel tracing, regardless of the "exclude_kernel" attribute setting. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1441030168-6853-3-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a09d31f45224c219a4d5c728fa40150dc9d3e3e5 Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Date: Mon Aug 31 17:09:27 2015 +0300 perf/x86/intel/ds: Work around BTS leaking kernel addresses BTS leaks kernel addresses even in userspace-only mode due to imprecise IP sampling, so sometimes syscall entry points or page fault handler addresses end up in a userspace trace. Since this driver uses a relatively small buffer for BTS records and it has to iterate through them anyway, it can also take on the additional job of filtering out the records that contain kernel addresses when kernel space tracing is not enabled. This patch changes the bts code to skip the offending records from perf output. In order to request the exact amount of space on the ring buffer, we need to do an extra pass through the records to know how many there are of the valid ones, but considering the small size of the buffer, this extra pass adds very little overhead to the nmi handler. This way we won't end up with awkward IP samples with zero IPs in the perf stream. Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Cc: hpa@xxxxxxxxx Link: http://lkml.kernel.org/r/1441030168-6853-2-git-send-email-alexander.shishkin@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b20112edeadf0b8a1416de061caa4beb11539902 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 21 12:05:18 2015 +0300 perf/x86: Improve accuracy of perf/sched clock When TSC is stable perf/sched clock is based on it. However the conversion from cycles to nanoseconds is not as accurate as it could be. Because CYC2NS_SCALE_FACTOR is 10, the accuracy is +/- 1/2048 The change is to calculate the maximum shift that results in a multiplier that is still a 32-bit number. For example all frequencies over 1 GHz will have a shift of 32, making the accuracy of the conversion +/- 1/(2^33). That is achieved by using the 'clocks_calc_mult_shift()' function. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vince Weaver <vincent.weaver@xxxxxxxxx> Link: http://lkml.kernel.org/r/1440147918-22250-1-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 216dcaf290a5e93426cec283ac9edc67ff6756b3 Merge: d2bb1d4 ebfb498 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Sep 13 11:25:55 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 d2bb1d42b95fa88f092623bbb8ed533f316b6a3c Merge: 3bd7617 6ff33f3 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Sep 13 11:25:35 2015 +0200 Merge tag 'v4.3-rc1' into perf/core, to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 84567995612258c23bc55795575babe7ef605dd9 Author: Boqun Feng <boqun.feng@xxxxxxxxx> Date: Wed Aug 26 19:52:46 2015 +0800 locking/atomics, cmpxchg: Privatize the inclusion of asm/cmpxchg.h After commit: 654672d4ba1a ("locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations") Architectures may only provide {cmp,}xchg_relaxed definitions in asm/cmpxchg.h. Other variants, such as {cmp,}xchg, may be built in linux/atomic.h, which means simply including asm/cmpxchg.h may not get the definitions of all the{cmp,}xchg variants. Therefore, we should privatize the inclusions of asm/cmpxchg.h to keep it only included in arch/* and replace the inclusions outside with linux/atomic.h Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Cc: Chris Brannon <chris@xxxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Jonathan Corbet <corbet@xxxxxxx> Cc: Kirk Reiser <kirk@xxxxxxxxxx> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx> Cc: Shradha Shah <sshah@xxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: William Hubbs <w.d.hubbs@xxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Cc: linux-net-drivers@xxxxxxxxxxxxxx Cc: speakup@xxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1440589966-26280-1-git-send-email-boqun.feng@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c7ef92cea98bc468bbc8e67b6e49d7365dc69482 Merge: a6b2778 6ff33f3 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Sep 13 10:01:24 2015 +0200 Merge tag 'v4.3-rc1' into locking/core, to refresh the tree Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 006cdf025a33cb008c3d466bed311c2c347b458f Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Sep 9 09:06:17 2015 +0200 sched/fair: Optimize per entity utilization tracking Currently the load_{sum,avg} and util_{sum,avg} tracking is asymmetric in that load tracking gets a 2^10 unit from the weight, but util gets no such factor. This results in more lost bits for util scaling and asymmetric scaling rules. Fix this by removing shifts, such that we gain the 2^10 factor from scaling. There is no risk of overflowing the u32 as the max value is now LOAD_AVG_MAX << 10, which is still well below UINT_MAX. This further entangles the assumption that both LOAD and CAPACITY shifts are the same (and 10) so put in an assertion for that. This fixes the math for the LOAD_RESOLUTION != 0 case. 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> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6f2b04524f0b38bfbb8413f98d2d6af234508309 Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Mon Sep 7 14:57:22 2015 +0100 sched/fair: Defer calling scaling functions Do not call the scaling functions in case time goes backwards or the last update of the sched_avg structure has happened less than 1024ns ago. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx <daniel.lezcano@xxxxxxxxxx> Cc: mturquette@xxxxxxxxxxxx <mturquette@xxxxxxxxxxxx> Cc: pang.xunlei@xxxxxxxxxx <pang.xunlei@xxxxxxxxxx> Cc: rjw@xxxxxxxxxxxxx <rjw@xxxxxxxxxxxxx> Cc: sgurrappadi@xxxxxxxxxx <sgurrappadi@xxxxxxxxxx> Cc: vincent.guittot@xxxxxxxxxx <vincent.guittot@xxxxxxxxxx> Cc: yuyang.du@xxxxxxxxx <yuyang.du@xxxxxxxxx> Link: http://lkml.kernel.org/r/55EDA2E9.8040900@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6115c793ca1a6e39c7c15159cbb47baa04009cb8 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 7 15:09:15 2015 +0200 sched/fair: Optimize __update_load_avg() Prior to this patch; the line: scaled_delta_w = (delta_w * 1024) >> 10; which is the result of the default arch_scale_freq_capacity() function, turns into: 1b03: 49 89 d1 mov %rdx,%r9 1b06: 49 c1 e1 0a shl $0xa,%r9 1b0a: 49 c1 e9 0a shr $0xa,%r9 Which is silly; when made unsigned int, GCC recognises this as pointless ops and fails to emit them (confirmed on 4.9.3 and 5.1.1). Furthermore, afaict unsigned is actually the correct type for these fields anyway, as we've explicitly ruled out negative delta's earlier in this function. 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 54a21385facbdcd89a78e8c3e5025f04c5f2b59c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 7 15:05:42 2015 +0200 sched/fair: Rename scale() to cap_scale() Rename scale() to cap_scale() to better reflect its purpose, it is after all not a general purpose scale function, it has SCHED_CAPACITY_SHIFT hardcoded in it. 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 98d8fd8126676f7ba6e133e65b2ca4b17989d32c Author: Morten Rasmussen <morten.rasmussen@xxxxxxx> Date: Fri Aug 14 17:23:14 2015 +0100 sched/fair: Initialize task load and utilization before placing task on rq Task load or utilization is not currently considered in select_task_rq_fair(), but if we want that in the future we should make sure it is not zero for new tasks. cc: Ingo Molnar <mingo@xxxxxxxxxx> cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Dietmar Eggemann <Dietmar.Eggemann@xxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: mturquette@xxxxxxxxxxxx Cc: pang.xunlei@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: sgurrappadi@xxxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Cc: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1439569394-11974-7-git-send-email-morten.rasmussen@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 231678b768da07d19ab5683a39eeb0c250631d02 Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Fri Aug 14 17:23:13 2015 +0100 sched/fair: Get rid of scaling utilization by capacity_orig Utilization is currently scaled by capacity_orig, but since we now have frequency and cpu invariant cfs_rq.avg.util_avg, frequency and cpu scaling now happens as part of the utilization tracking itself. So cfs_rq.avg.util_avg should no longer be scaled in cpu_util(). Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steve Muckle <steve.muckle@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx <daniel.lezcano@xxxxxxxxxx> Cc: mturquette@xxxxxxxxxxxx <mturquette@xxxxxxxxxxxx> Cc: pang.xunlei@xxxxxxxxxx <pang.xunlei@xxxxxxxxxx> Cc: rjw@xxxxxxxxxxxxx <rjw@xxxxxxxxxxxxx> Cc: sgurrappadi@xxxxxxxxxx <sgurrappadi@xxxxxxxxxx> Cc: vincent.guittot@xxxxxxxxxx <vincent.guittot@xxxxxxxxxx> Cc: yuyang.du@xxxxxxxxx <yuyang.du@xxxxxxxxx> Link: http://lkml.kernel.org/r/55EDAF43.30500@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9e91d61d9b0ca8d865dbd59af8d0d5c5b68003e9 Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Fri Aug 14 17:23:12 2015 +0100 sched/fair: Name utilization related data and functions consistently Use the advent of the per-entity load tracking rewrite to streamline the naming of utilization related data and functions by using {prefix_}util{_suffix} consistently. Moreover call both signals ({se,cfs}.avg.util_avg) utilization. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Dietmar Eggemann <Dietmar.Eggemann@xxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: mturquette@xxxxxxxxxxxx Cc: pang.xunlei@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: sgurrappadi@xxxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Cc: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1439569394-11974-5-git-send-email-morten.rasmussen@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e3279a2e6d697e00e74f905851ee7cf532f72b2d Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Sat Aug 15 00:04:41 2015 +0100 sched/fair: Make utilization tracking CPU scale-invariant Besides the existing frequency scale-invariance correction factor, apply CPU scale-invariance correction factor to utilization tracking to compensate for any differences in compute capacity. This could be due to micro-architectural differences (i.e. instructions per seconds) between cpus in HMP systems (e.g. big.LITTLE), and/or differences in the current maximum frequency supported by individual cpus in SMP systems. In the existing implementation utilization isn't comparable between cpus as it is relative to the capacity of each individual CPU. Each segment of the sched_avg.util_sum geometric series is now scaled by the CPU performance factor too so the sched_avg.util_avg of each sched entity will be invariant from the particular CPU of the HMP/SMP system on which the sched entity is scheduled. With this patch, the utilization of a CPU stays relative to the max CPU performance of the fastest CPU in the system. In contrast to utilization (sched_avg.util_sum), load (sched_avg.load_sum) should not be scaled by compute capacity. The utilization metric is based on running time which only makes sense when cpus are _not_ fully utilized (utilization cannot go beyond 100% even if more tasks are added), where load is runnable time which isn't limited by the capacity of the CPU and therefore is a better metric for overloaded scenarios. If we run two nice-0 busy loops on two cpus with different compute capacity their load should be similar since their compute demands are the same. We have to assume that the compute demand of any task running on a fully utilized CPU (no spare cycles = 100% utilization) is high and the same no matter of the compute capacity of its current CPU, hence we shouldn't scale load by CPU capacity. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Morten Rasmussen <morten.rasmussen@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/55CE7409.1000700@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8cd5601c50603caa195ce86cc465cb04079ed488 Author: Morten Rasmussen <morten.rasmussen@xxxxxxx> Date: Fri Aug 14 17:23:10 2015 +0100 sched/fair: Convert arch_scale_cpu_capacity() from weak function to #define Bring arch_scale_cpu_capacity() in line with the recent change of its arch_scale_freq_capacity() sibling in commit dfbca41f3479 ("sched: Optimize freq invariant accounting") from weak function to #define to allow inlining of the function. While at it, remove the ARCH_CAPACITY sched_feature as well. With the change to #define there isn't a straightforward way to allow runtime switch between an arch implementation and the default implementation of arch_scale_cpu_capacity() using sched_feature. The default was to use the arch-specific implementation, but only the arm architecture provides one and that is essentially equivalent to the default implementation. Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Dietmar Eggemann <Dietmar.Eggemann@xxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: mturquette@xxxxxxxxxxxx Cc: pang.xunlei@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: sgurrappadi@xxxxxxxxxx Cc: vincent.guittot@xxxxxxxxxx Cc: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1439569394-11974-3-git-send-email-morten.rasmussen@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e0f5f3afd2cffa96291cd852056d83ff4e2e99c7 Author: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Date: Fri Aug 14 17:23:09 2015 +0100 sched/fair: Make load tracking frequency scale-invariant Apply frequency scaling correction factor to per-entity load tracking to make it frequency invariant. Currently, load appears bigger when the CPU is running slower which affects load-balancing decisions. Each segment of the sched_avg.load_sum geometric series is now scaled by the current frequency so that the sched_avg.load_avg of each sched entity will be invariant from frequency scaling. Moreover, cfs_rq.runnable_load_sum is scaled by the current frequency as well. Signed-off-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> Signed-off-by: Morten Rasmussen <morten.rasmussen@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Cc: Dietmar Eggemann <Dietmar.Eggemann@xxxxxxx> Cc: Juri Lelli <Juri.Lelli@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: mturquette@xxxxxxxxxxxx Cc: pang.xunlei@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: sgurrappadi@xxxxxxxxxx Cc: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1439569394-11974-2-git-send-email-morten.rasmussen@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2a595721a1fa6b684c1c818f379bef834ac3d65e Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 21:54:21 2015 +0530 sched/numa: Convert sched_numa_balancing to a static_branch Variable sched_numa_balancing toggles numa_balancing feature. Hence moving from a simple read mostly variable to a more apt static_branch. Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439310261-16124-1-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2b49d84b259fc18e131026e5d38e7855352f71b9 Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 16:30:13 2015 +0530 sched/numa: Remove the NUMA sched_feature Variable sched_numa_balancing is available for both CONFIG_SCHED_DEBUG and !CONFIG_SCHED_DEBUG. All code paths now check for sched_numa_balancing. Hence remove sched_feat(NUMA). Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439290813-6683-4-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c3b9bc5bbfc3750570d788afffd431263ef695c6 Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 16:30:12 2015 +0530 sched/numa: Disable sched_numa_balancing on UMA systems Commit 2a1ed24 ("sched/numa: Prefer NUMA hotness over cache hotness") sets sched feature NUMA to true. However this can enable NUMA hinting faults on a UMA system. This commit ensures that NUMA hinting faults occur only on a NUMA system by setting/resetting sched_numa_balancing. This commit: - Makes sched_numa_balancing common to CONFIG_SCHED_DEBUG and !CONFIG_SCHED_DEBUG. Earlier it was only in !CONFIG_SCHED_DEBUG. - Checks for sched_numa_balancing instead of sched_feat(NUMA). Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439290813-6683-3-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 78a9c54649ea220065aad9902460a1d137c7eafd Author: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 11 16:30:11 2015 +0530 sched/numa: Rename numabalancing_enabled to sched_numa_balancing Simple rename of the 'numabalancing_enabled' variable to 'sched_numa_balancing'. No functional changes. Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1439290813-6683-2-git-send-email-srikar@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c5afb6a87f2386bcf09fa051e6ca390d43e2222e Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Mon Aug 3 11:55:50 2015 +0200 sched/fair: Fix nohz.next_balance update Since commit: d4573c3e1c99 ("sched: Improve load balancing in the presence of idle CPUs") the ILB CPU starts with the idle load balancing of other idle CPUs and finishes with itself in order to speed up the spread of tasks in all idle CPUs. The this_rq->next_balance is still used in nohz_idle_balance() as an intermediate step to gather the shortest next balance before updating nohz.next_balance. But the former has not been updated yet and is likely to be set with the current jiffies. As a result, the nohz.next_balance will be set with current jiffies instead of the real next balance date. This generates spurious kicks of nohz ilde balance. nohz_idle_balance() must set the nohz.next_balance without taking into account this_rq->next_balance which is not updated yet. Then, this_rq will update nohz.next_update with its next_balance once updated and if necessary. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: preeti@xxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1438595750-20455-1-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 446685e9bfa11174332fbb0b3218b37015fbf4ff Author: Kirill Tkhai <ktkhai@xxxxxxxx> Date: Mon Aug 31 15:12:56 2015 +0300 sched/core: Delete PF_EXITING checks from cpu_cgroup_exit() callback cgroup_exit() is not called from copy_process() after commit: e8604cb43690 ("cgroup: fix spurious lockdep warning in cgroup_exit()") from do_exit(). So this check is useless and the comment is obsolete. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxx> 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/55E444C8.3020402@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bc54da2176cd38cedea767eff637229a191a2383 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Aug 31 17:13:55 2015 +0200 sched/core: Remove unused argument from sched_class::task_move_group The previous patches made the second argument go unused, remove it. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Byungchul Park <byungchul.park@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit daa59407b558e6e621e9081a308d5db3ef991fb6 Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Thu Aug 20 20:22:00 2015 +0900 sched/fair: Unify switched_{from,to}_fair() and task_move_group_fair() By observing that switched_from_fair() detaches from a runqueue, and switched_to_fair() attaches to a runqueue, we can see that task_move_group_fair() is one followed by the other with flipping the runqueue in between. Therefore extract all the common bits and implement all three functions in terms of them. This should fix a few corner cases wrt. vruntime normalization; where, when we take a task off of a runqueue we convert to an approximation of lag by subtracting min_vruntime, and when placing a task on the a runqueue to the reverse. Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> [peterz: Changelog] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1440069720-27038-6-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a9280514bf1e54775b8d7cd93d87c05c2b5273e6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Fri Sep 11 16:10:59 2015 +0200 sched/fair: Make the entity load aging on attaching tunable In case there are problems with the aging on attach, provide a debug knob to turn it off. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Byungchul Park <byungchul.park@xxxxxxx> 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: yuyang.du@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6efdb105d392da3ad5cb4ef951aed373cd049813 Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Thu Aug 20 20:21:59 2015 +0900 sched/fair: Fix switched_to_fair()'s per entity load tracking Where switched_from_fair() will remove the entity's load from the runqueue, switched_to_fair() does not currently add it back. This means that when a task leaves the fair class for a short duration; say because of PI; we loose its load contribution. This can ripple forward and disturb the load tracking because other operations (enqueue, dequeue) assume its factored in. Only once the runqueue empties will the load tracking recover. When we add it back in, age the per entity average to match up with the runqueue age. This has the obvious problem that if the task leaves the fair class for a significant time, the load will age to 0. Employ the normal migration rule for inter-runqueue moves in task_move_group_fair(). Again, there is the obvious problem of the task migrating while not in the fair class. The alternative solution would be to to omit the chunk in attach_entity_load_avg(), which would effectively reset the timestamp and use whatever avg there was. Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> [ Rewrote the changelog and comments. ] 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: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1440069720-27038-5-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1746babbb15594ba2d8d8196589bbbc2b5ff51c9 Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Thu Aug 20 20:21:58 2015 +0900 sched/fair: Have task_move_group_fair() also detach entity load from the old runqueue Since we attach the entity load to the new runqueue, we should also detatch the entity load from the old runqueue, otherwise load can accumulate. Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> [ Rewrote the changelog. ] 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: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1440069720-27038-4-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 50a2a3b246149d041065a67ccb3e98145f780a2f Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Thu Aug 20 20:21:57 2015 +0900 sched/fair: Have task_move_group_fair() unconditionally add the entity load to the runqueue Currently we conditionally add the entity load to the rq when moving the task between cgroups. This doesn't make sense as we always 'migrate' the task between cgroups, so we should always migrate the load too. [ The history here is that we used to only migrate the blocked load which was only meaningfull when !queued. ] Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> [ Rewrote the changelog. ] 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: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1440069720-27038-3-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a05e8c51ff097ff73ec2947631d9102283545f7c Author: Byungchul Park <byungchul.park@xxxxxxx> Date: Thu Aug 20 20:21:56 2015 +0900 sched/fair: Factor out the {at,de}taching of the per entity load {to,from} the runqueue Currently we open-code the addition/subtraction of the per entity load to/from the runqueue, factor this out into helper functions. Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> [ Rewrote the changelog. ] 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: yuyang.du@xxxxxxxxx Link: http://lkml.kernel.org/r/1440069720-27038-2-git-send-email-byungchul.park@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 973759c80db96ed4b4c5cb85ac7d48107f801371 Merge: a75a606 6ff33f3 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Sep 13 09:51:21 2015 +0200 Merge tag 'v4.3-rc1' into sched/core, to refresh the branch Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7c52198b9c36001d47e11d50f7f1556805c5c3e3 Author: George Beshers <gbeshers@xxxxxxx> Date: Sat Sep 12 21:51:05 2015 -0500 x86/platform/uv: Insert per_cpu accessor function on uv_hub_nmi UV: NMI: insert this_cpu_read accessor function on uv_hub_nmi. On SGI UV systems a 'power nmi' command from the CMC causes all processors to drop into uv_handle_nmi(). With the 4.0 kernel this results in BUG: unable to handle kernel paging request The bug is caused by the current code trying to use the PER_CPU variable uv_cpu_nmi.hub without an appropriate accessor function. That oversight occurred in commit e16321709c82 ("uv: Replace __get_cpu_var") Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:41 2014 -0500 This patch inserts this_cpu_read() in the uv_hub_nmi macro restoring the intended functionality. Signed-off-by: George Beshers <gbeshers@xxxxxxx> Acked-by: Mike Travis <travis@xxxxxxx> Cc: Alex Thorlton <athorlton@xxxxxxx> Cc: Dimitri Sivanich <sivanich@xxxxxxx> Cc: Hedi Berriche <hedi@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russ Anderson <rja@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 22374fbedb2ce03ef81323b3f7ceb3fa29344aa6 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Mon Jun 29 15:22:34 2015 +0200 ARM: dts: Add DMA support for serial ports in exynos4 Enable DMA transfers for serial ports. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> commit e714b7eab150a609b9c2bb1ae7605d882b2cceec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 11 18:28:53 2015 +0530 staging: fbtft: change log level Reduce the log level of some of the pr_* calls and remove 2 pr_debug calls which just prints "init" and "exit". Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 805deadbc298939a7ade70443feadeb80e7d9e6d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 11 18:28:52 2015 +0530 staging: fbtft: start using pr_fmt Instead of defining DRVNAME and using it in all calls to pr_* family of macros lets start using pr_fmt. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 962539a068a5a9b9ab2729f4f3ae88ef85fecf4f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 11 18:28:51 2015 +0530 staging: fbtft: use dev_* Use dev_* family of macros where we have a reference of a device. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b92ae1fd84ac24100db20fccd5a34cde1a53a857 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:59 2015 +0530 Staging: rtl8188eu: os_dep: osdep_service.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a08cd2b7d0c98047a09b91fc7e18f4ed13dd7753 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:58 2015 +0530 Staging: rtl8188eu: os_dep: mlme_linux.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc749a9a3d1801c8dee892816eb19d285e06fd41 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:57 2015 +0530 Staging: rtl8188eu: os_dep: recv_linux.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b210e0dc6056953f54bb539630c5e0db2b0b9026 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:56 2015 +0530 Staging: rtl8188eu: hal: rtl8188eu_xmit.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cfd23644a87d9b6b0917c72418c5966520fd4e5a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:55 2015 +0530 Staging: rtl8188eu: hal: Hal8188ERateAdaptive.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5228fb63a1060c4bb361df7d986f9bb025324e6e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:54 2015 +0530 Staging: rtl8188eu: hal: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11d5c7894bfb24955ebc3f7675f93f9377c6e7ae Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:09:26 2015 +0530 Staging: lustre: obdclass: genops.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd550e40e1d1f09964b6c2fb0e52ce3e7229404f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:09:25 2015 +0530 Staging: lustre: obdclass: obd_config.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdf21a324c0519dc6b0b74a438dbd018f956c49d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:09:24 2015 +0530 Staging: lustre: libcfs: libcfs_mem.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ecacb4e43720009a01439605c127ac88e529833 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:09:23 2015 +0530 Staging: lustre: libcfs: libcfs_lock.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3789b0c54442fef9cdb5541b89b677b76c8673a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:53 2015 +0530 Staging: rtl8188eu: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a544f0edb25fa43c2807c3e21c86bb1f33a2e457 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 10:40:52 2015 +0530 Staging: rtl8188eu: core: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a90624cf253cc74e9464b42d54aa4825575edefe Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:32:28 2015 +0530 Staging: speakup: kobjects.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 114885e08c0e7d55775373f5cea8fa3c0b1ef1e8 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:32:27 2015 +0530 Staging: speakup: serialio.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 562c47982df0e46499042dfcc06b4dfa8324f63d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:32:26 2015 +0530 Staging: speakup: devsynth.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff52fc380db676398fe92e2a3c802ecb41bc535e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 11 11:32:29 2015 +0530 Staging: speakup: varhandlers.c: Remove explicit NULL comparison Remove explicit NULL comparison and write it in its simpler form. Replacement done with coccinelle: @replace_rule@ expression e; @@ -e == NULL + !e Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 412ef9933e403bb863ec6ac29e671dd832c4638b Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:02:41 2015 +0530 Staging: comedi: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 077d4575c91928abc36a8963e1fe5f2c7118b328 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 9 23:16:33 2015 -0800 Staging: rtl8192u: space prohibited before close parenthesis This is a style change to remove whitespace before close parentheses in ieee80211_softmac_wx.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a02c67382d0c0874ddd5cdb87ea8dc5428119ca1 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 9 23:16:28 2015 -0800 Staging: rtl8192u: space required after close braces This is a style change to insert spaces before closed braces in ieee80211_softmac_wx.c Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5ad7c0ece9f06558d56a823a4213d1d5d80e5fc Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 9 23:16:21 2015 -0800 Staging: rtl8192u: space required before open braces This is a change to add spaces before open braces to ieee80211_softmac_wx.c. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4fee29ba6f5c7df4bc61a8afa1a0d59b41980289 Author: mike dupuis <mike.dupuis.0@xxxxxxxxx> Date: Wed Sep 9 23:16:13 2015 -0800 Staging: rtl8192u: Space not allowed after & This is a change to ieee80211_softmac_wx.c to remove spaces after unary & operators. Signed-off-by: Mike Dupuis <mike.dupuis.0@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03c7da4fe1c6903f6d05ce99b8f31a5ec0eb86aa Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 09:02:58 2015 +0530 Staging: rtl8192u: ieee80211: ieee80211_softmac.c: Replace "#include <asm/uaccess>" with "#include <linux/uaccess>" Fix checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2245e1492e2bbeae61552b899e823a5b3af10141 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 09:02:59 2015 +0530 Staging: rtl8192u: ieee80211: ieee80211_module.c: Replace "#include <asm/uaccess>" with "#include <linux/uaccess>" Fix checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aecdac15d9b545099be42122aea3b98cac2c52e3 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 09:02:57 2015 +0530 Staging: rtl8192u: ieee80211: Replace "#include <asm/uaccess>" with "#include <linux/uaccess>" Fix checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9f7f1d0846f15585b8af64435b6b706b25a5c0b Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Sat Sep 12 00:22:15 2015 +0600 staging/dgap: Use strpbrk() instead of dgap_sindex() The <linux/string.h> provides strpbrk() function that does the same that the dgap_sindex(). Let's use already defined function instead of writing custom. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e25075e3e34cedf660c63e30bfcc7e385d40766 Author: Junesung Lee <junesoung412@xxxxxxxxx> Date: Sat Sep 12 09:58:47 2015 +0900 staging: android: fix typo 'syncrhronization' is wrong spell. 'synchronization' is correct. Signed-off-by: Junesung Lee <junesoung412@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 045ec4123152e48b1047bb0e3ed316d924677e86 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 10 17:24:59 2015 +0530 staging: dgap: remove unused variable These variables were assigned some values but they were never used. Removed them but kept one call to ioread8() as it might affect the hardware. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39be6b8b0cc84b33cd17bc570e80a25126f87c9c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Thu Sep 10 17:24:58 2015 +0530 staging: dgap: fix possible NULL dereference The return pointer from dgap_getword() is used in strcmp() where it is dereferenced. But dgap_getword() can return NULL. Lets put a check there and return 0 as error. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60aff4ffba3336cd97789b60f086d47b1932147b Author: Sakshi Vaid <sakshivaid95@xxxxxxxxx> Date: Thu Sep 10 22:35:10 2015 +0530 staging: lustre: lustre: obdclass: Fixed space checkpatch Removed the space between function name and open parenthesis '('. Signed-off-by: Sakshi Vaid <sakshivaid95@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6876a1435390a1bcc59cea6e23b9e03ae727819d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:02:40 2015 +0530 Staging: lustre: ptlrpc: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e6aa99b87c3cd9e2487b275a7c47b37bee33fb5 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:00:31 2015 +0530 Staging: lustre: libcfs: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c021dc0b8722365e9aee06d7a2213b5d93075c7 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Wed Sep 9 15:57:10 2015 -0700 staging/rtl8712 : Remove duplicated BIT() definitions The BIT() macro is already defined in bitops.h, remove duplicate definitions. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27934f362a90039b8cd9e48721ace549fd2ae417 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Wed Sep 9 15:57:08 2015 -0700 staging/rtl8712 : Remove unused macro definitions. WLAN_ETHHDR_LEN/WLAN_ETHADDR_LEN/WLAN_ADDR_LEN are unused, duplicate or unnecessary, remove. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 913336ae09a3aaf13b8ace21569ac7ad40ff50db Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Wed Sep 9 15:57:07 2015 -0700 staging/rtl8188eu : Remove unused macro definitions. WLAN_ETHHDR_LEN/WLAN_ETHADDR_LEN/WLAN_ADDR_LEN are unused, duplicate or unnecessary, remove. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d832fb26416f599a92e1b41d8380b208de32c7c1 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:00:29 2015 +0530 Staging: iio: addac: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro. This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4d8aceb63985cd504a368b49b26b3681a40379f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:00:30 2015 +0530 Staging: iio: meter: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b8ffb5565a241c4cfddb15b5a7b2f28ce64dbf7 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 22:02:39 2015 +0530 Staging: iio: cdc: Prefer using the BIT macro This patch replaces bit shifting on 1 with the BIT(x) macro This was done with coccinelle: @@ int g; @@ -(1 << g) +BIT(g) Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5da0a0706b4d2a591cf9dcb0e9bfe0100bf5a5b2 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Fri Sep 11 12:04:20 2015 +0900 staging: wilc1000: coreconfigurator.c: remove unused functions This patch removes following unused funtions which will not be used anymore. ascii_hex_to_dec get_hex_char extract_mac_addr create_mac_addr conv_ip_to_int conv_int_to_ip get_wid_type get_type CreateConfigPacket ConfigWaitResponse ConfigProvideResponse ConfigPktReceived ParseWriteResponse CreatePacketHeader ParseResponse ProcessBinWid ProcessAdrWid ProcessStrWid ProcessIPwid ProcessIntWid ProcessShortWid ProcessCharWid As a result, four global variable causes defined but not used compile warnings. So just remove unused varialbs g_seqno, g_wid_num, Res_Len and g_oper_mode. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0462838c1c8c72ffdf81461d862a320c010e025 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 10 18:26:29 2015 +0900 staging: wilc1000: remove unused enum This patch removes a unused enum tenuFrameClass. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7092b839e915583b3f518bf89f6053d9c757b292 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Thu Sep 10 18:26:28 2015 +0900 staging: wilc1000: remove unused global variables This patch removes the followings from the driver because they are in debugging purpose but not used anymore. - int_clrd - int_rcvdU - int_rcvdB - android_wifi_priv_cmd structure Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 435ebabb305bdc09376297520095ec346a49de62 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Thu Sep 10 18:26:27 2015 +0900 staging: wilc1000: remove firmware definition This patch removes the firmware definitions, STA_FIRMWARE, AP_FIRMWARE, and P2P_CONCURRENCY_FIRMWARE from the linux_wlan.c file because they are defined in the Makefile. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73d4ee746d6159dd76cf89e7d0d44a90a3545edd Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Thu Sep 10 18:26:26 2015 +0900 staging: wilc1000: remove STATIC_MACADDRESS This patch removes unused definition, STATIC_MACADDRESS from the linux_wlan.c file. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f9eb1fbef1d151107e2ba598e40c47f3e11d474 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Thu Sep 10 09:03:01 2015 +0530 Staging: wilc1000: Replace "#include <asm/uaccess>" with "#include <linux/uaccess>" Fix checkpatch.pl warning "Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d36340917ae4a04d7e6322058e3209e37af50662 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 10 12:03:05 2015 +0900 staging: wilc1000: delete wilc_memory.c and wilc_memory.h The macro WILC_MALLOC is not used in the driver anymore, so just delete files. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3052587e31ce8ac11c069d942a5cefb18025037 Author: Glen Lee <glen.lee@xxxxxxxxx> Date: Thu Sep 10 12:03:04 2015 +0900 staging: wilc1000: remove kmalloc wrapper This patch calls kmalloc() directly. No need to wrap kmalloc(). All is not holding a spin lock or in interrupt context. So use GFP_KERNEL flag for kmalloc. Signed-off-by: Glen Lee <glen.lee@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37b9d03039032008e244ec37030ef9b3d87f198a Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Thu Sep 10 11:59:11 2015 +0900 staging: wilc1000: remove BROKEN status This patch removes BROKEN status from the Kconfig. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a15adada1ca0f2b853d7876045e0580e831f91b5 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Mon Sep 7 19:58:23 2015 +0530 Staging: comedi: addi_apci_3120: Remove unnecessary if Remove the if condition, as the code inside the if condition is commented and does not have any FIXME or TODO comment. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e0407b453d082747c088fb6e704c85476bbf212 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Sat Sep 5 22:15:12 2015 -0400 staging: rtl8192u: r8192U_core: fix use ether_addr_copy() over memcpy() code style issue Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) The values used are stored as dev_addr in net_device (declared in include/linux/netdevice.h) and sa_data in sockaddr (declared in include/linux/socket.h). Both these elements are u16 aligned as shown by using pahole (position must be a multiple of sizeof(u16)): unsigned char * dev_addr; /* 888 8 */ char sa_data[14]; /* 2 14 */ It is thus safe to use ether_addr_copy() instead of memcpy() for that call, as it is already done in multiple files in the Linux kernel sources: drivers/net/ethernet/broadcom/genet/bcmgenet.c drivers/net/ethernet/brocade/bna/bnad.c drivers/net/ethernet/emulex/benet/be_main.c drivers/net/ethernet/ezchip/nps_enet.c drivers/net/ethernet/ibm/ibmveth.c drivers/net/ethernet/intel/fm10k/fm10k_netdev.c drivers/net/ethernet/intel/i40e/i40e_main.c drivers/net/ethernet/mellanox/mlx5/core/en_main.c drivers/net/usb/lan78xx.c net/8021q/vlan_dev.c net/batman-adv/soft-interface.c net/dsa/slave.c Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c32bb25ee1b396c8d04c4c797f826afe2167eb15 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 7 18:08:22 2015 +0530 staging: gdm72xx: NULL comparison style checkpatch complains if NULL comparison is done as if (var == NULL) Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea022df19395f0da090e9dcdf417d28326e15404 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 7 18:08:21 2015 +0530 staging: gdm72xx: fix memory leak We were successfully requesting the firmware but on error it was not being released. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb7014df159bb8524341a0fdb8d467f6827b0770 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Sep 5 19:13:44 2015 +0530 staging: fbtft: do not use magic numbers Using magic numbers are not good coding practise. Use FBTFT_GPIO_NAME_SIZE as defined in the header files. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb6a2dbf32a4ea2fa94f742f6494f661a807fb45 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sat Sep 5 19:13:43 2015 +0530 staging: fbtft: use strncpy instead of strcpy Using strcpy() is a security risk as the destination buffer size is not checked and we may over-run the buffer. Use strncpy() instead, while mentioning the buffer size leaving place for the NULL termination. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1b32e1e89ee69fd62e6d3bd781d017748889e00 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:28 2015 +0530 Staging: rtl8192e: rtl_wx.c: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca0b6fe173a11219312bb3607d4d5a0faac1feb4 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:27 2015 +0530 Staging: speakup: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7273773c2cecb647373c4180b159ba1669313681 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:26 2015 +0530 Staging: android: Remove unnecessary braces. The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12d273767a819f7f1bfb90fb485b8caa959b6853 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:19 2015 +0530 Staging: rtl8723au: hal: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The error was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 242850f48a96ce0bf48e81fa20850792f27fd3ba Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Fri Sep 4 14:00:30 2015 -0700 staging/wlan-ng : Remove duplicated defines from p80211 ETH_ALEN/ETH_HLEN can be used instead of WLAN_ETHADDR_LEN & WLAN_ETHHDR_LEN, replace directly or use eth_addr* functions where applicable. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2f9ff6c75ad2c3110ad8464c0dbaef4902c9400 Author: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Date: Fri Sep 4 22:30:33 2015 +0530 Staging: fsl-mc/bus: mc-bus.c: Fixed coding style issues Fixed coding style issues where kernel types u16,u64,u32 should be preferred over uint16_t,uint64_t,uint32_t Signed-off-by: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2b29165c52dc1377824e6407a11ac786bef15d5 Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Tue Sep 8 21:18:51 2015 +0530 staging: emxx_udc: Remove unused parameter from function parameter list parameter list struct nbu2ss_ep *ep parameter in functions _nbu2ss_ep0_in_transfer() and _nbu2ss_ep0_out_transfer() is not used anywhere inside. Hence, removed. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c648a57ae5e1685ff5aee496b0014ae93b308975 Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Sat Sep 5 01:08:29 2015 +0530 staging: emxx_udc: Remove cleanup1 label The cleanup1 label does nothing but return. Better way is to return immediately instead of using goto. Hence, removed. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 706eb8cfb1f43953d7b7e85780e4ba720748ca00 Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Fri Sep 4 13:48:22 2015 +0530 staging: emxx_udc: Fix NULL comparison style Fixed NULL comparison style as suggested by checkpatch.pl Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b68ff8f61e9d10055092d6d8f35d72663b83e0ae Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Fri Sep 4 13:46:32 2015 +0530 staging: emxx_udc: Avoid using multiple blank lines Fixed multiple blank lines warning by checkpatch.pl Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 446be1b553c3cf03f2d581153777a4ce88f403fe Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Fri Sep 4 13:29:52 2015 +0530 staging: emxx_udc: Remove FSF mailing address FSF mailing address is no longer required to be specified. Hence removed. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4cba1972bb060cc4042b226ecb54d09ddfb9fb2d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 8 21:53:02 2015 +0530 staging: lustre: lov: remove always false condition The member qc_idx of struct if_quotactl is unsigned and hence it can never be less than zero. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0f69b5a66c30350ed6e41eef72414ce8650face Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 8 21:53:01 2015 +0530 staging: lustre: lov: fix dereference of ERR_PTR If lov_sub_get() fails then it returns the error code in ERR_PTR, but here we were dereferencing sub without checking if lov_sub_get() has actually succeeded or not. And on error we can directly return the error code from lov_io_fault_start() as it return 0 on success and the error code on error. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ced12a7f8bf4994d43209074587519d044d21a2 Author: Anders Fridlund <anders.fridlund@xxxxxxxxx> Date: Tue Sep 8 00:56:48 2015 +0200 staging: lustre: ptlrpc: include ptlrpc_internal.h Remove sparse warning "symbol 'sptlrpc_plain_init' was not declared" by including ptlrpc_internal.h, which includes sptlrpc_plain_init. Signed-off-by: Anders Fridlund <anders.fridlund@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b45024edc44428888c41a8e186f4f0385c79b768 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Mon Sep 7 16:05:15 2015 +0300 staging: lustre: use linux/statfs.h instead of asm/statfs.h Fix the following checkpatch warning: drivers/staging/lustre/lustre/include/linux/lustre_lite.h:46: WARNING:INCLUDE_LINUX: Use #include <linux/statfs.h> instead of <asm/statfs.h> Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddb4e767437c75858e9ad556e1a9477c6fffbefb Author: Matthew Needes <mneedes@xxxxxxxxx> Date: Sat Sep 5 13:03:38 2015 -0700 staging: lustre/obdclass/linux/linux-module.c Fixed sparse warning by removing unused variable "proc_version". Signed-off-by: Matthew Needes <mneedes@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e03b80cfc2d43b1f3ee9e854450aa5691dc92a8a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:25 2015 +0530 Staging: lustre: lnet: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d927bc51b4f05ac9aebdf42037b4e55957ef42e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:24 2015 +0530 Staging: lustre: llite: llite_lib.c: Remove unnecessary braces The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9ec18cf14c6ceefe58e869ebd4104ca61328bfe Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:23 2015 +0530 Staging: lustre: llite: llite_close.c: Remove unnecessary braces The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 451a377d10728419b8730f427d68697d3eda3f0e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:22 2015 +0530 Staging: lustre: obdclass: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd2909f7591b4177b31f14d19b2e9c37e7e93675 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:21 2015 +0530 Staging: lustre: libcfs: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b779d2e1b7244677917b521304257ee76045f6d Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Sep 5 18:58:20 2015 +0530 Staging: lustre: ptlrpc: Remove braces for single statement blocks The linux kernel coding style discourages use of braces for single statement blocks. This patch removes the unnecessary braces. The warning was detected using checkpatch.pl. Coccinelle was used to make the change. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e72f36e22c4d54642edc7b807dc2ee13724c71a8 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:49 2015 +0530 Staging: lustre: osc: Space prohibited between function name and open parenthesis This patch fixes the checkpatch.pl warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd6f9a4b08dc534dfb34786739d8e8b2f0e281cd Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:48 2015 +0530 Staging: lustre: obdclass: Insert blank line from declarations This patch fixes the checkpatch.pl warning WARNING: Missing a blank line after declarations Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4d34a5f5de5e5449bdf1ddd16ab42494d07af50 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:47 2015 +0530 Staging: lustre: obdclass: Remove unnecessary return statements This patch removes return statement which are not required. The warning was detected by checkpatch.pl WARNING: void function return statements are not generally useful Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cf8e32d6d337e0c293cd1b192a970639291703e Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:45 2015 +0530 Staging: lustre: mdc: 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 91b4e64bfe5b2b2afe66ba5ec622c003d483f9e3 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:44 2015 +0530 Staging: lustre: lnet: 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 222a7e9166b90f7cfd683a192cc757181b95a34f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:42 2015 +0530 Staging: lustre: obdclass: Use kasprintf instead of kzalloc and sprintf 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 2de5855cf96a798bc95cb13f94b6ba7a142f2f1f Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:41 2015 +0530 Staging: lustre: obdclass: 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 lu_site_stats_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 a8fff8bf6b8376ec14f3176c0601f2c318650ba0 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Fri Sep 4 12:08:40 2015 +0530 Staging: lustre: libcfs: 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 cfs_wi_sched_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 780eb03eba8491bd15c0e87334660f9181757a21 Author: Leo Kim <leo.kim@xxxxxxxxx> Date: Wed Sep 9 16:08:13 2015 +0900 staging: wilc1000: remove unused PLAT_RK3026_TCHIP This patch removes the preprocessor definition, PLAT_RK3026_TCHIP which is not used anymore. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 721c9859478345d2c3593ce798af8c1c1dfdef68 Author: Kim, Leo <leo.kim@xxxxxxxxx> Date: Tue Sep 8 17:08:03 2015 +0900 staging: wilc1000: delete definition USE_WIRELESS The preprocessor definition, USE_WIRELESS is always in use. So, this patch deletes the definitions from the makefile and source codes. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e89419bc9cde142639acbe5c40791a43940896f1 Author: Kim, Leo <leo.kim@xxxxxxxxx> Date: Tue Sep 8 17:08:02 2015 +0900 staging: wilc1000: remove unused NM73131_0_BOARD This patch removes the preprocessor definition, NM73131_0_BOARD which is not used anymore. Signed-off-by: Leo Kim <leo.kim@xxxxxxxxx> Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06b548638b39c99f2e96effc80bbb5f33043d697 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Tue Sep 8 17:08:01 2015 +0900 staging: wilc1000: add maintainers for Atmel 802.11 driver This patch adds new maintainers who develops new design for Atmel 802.11 link controller and deletes Dean Lee who cannot maintain the wireless driver anymore. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3441847ee2f3993a3e6fae435431d507f211b1c6 Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Tue Sep 8 17:08:00 2015 +0900 staging: wilc1000: remove meaningless line The current driver is calling skb_reserve function to align memory in frmw_to_linux function. However, the wrong value is used as the input argument. Besides, the process is not necessary because the address already is algined in dev_alloc_skb function. So, this patch removes the line for dummy headroom. 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 c590b9a4c0ec5e3a545887dc83e96466c493613e Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Tue Sep 8 17:07:59 2015 +0900 staging: wilc1000: define undefined operation mode This patch adds new define, IDLE_MODE to change comparison statement which is wrong due to typecasting to null. 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 ac61ef86f971c3fd0d3aff59744423ff32c4fcca Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 8 00:36:36 2015 +0900 staging: wilc1000: linux_wlan.c: add kzalloc error check This patch adds error check if kzalloc is failed. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9998a91fee33153dfddb86fa7301d2e26590dbe Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 8 00:36:38 2015 +0900 staging: wilc1000: wilc_msgqueue.c: use kmalloc with GFP_ATOMIC This patch use kmalloc with GFP_ATOMIC instead of WILC_MALLOC. It is inside the spin lock region. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c589c240122e37d01997e665cd22bff9f11603c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Sep 8 00:36:35 2015 +0900 staging: wilc1000: linux_wlan.c: use kzalloc instead of WILC_MALLOC This patch replaces WILC_MALLOC with kzalloc. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f638dd3918a4caa910ce62176d2d185203867876 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 7 19:09:31 2015 +0900 staging: wilc1000: fix potential memory leak This patch adds kfree(mgmt_tx) when memory allocation of mgmt_tx->buff fails in the second calls of kmalloc() to avoid the memory leak from mgmt_tx first allocated before the second calls of kmalloc(). Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Chris Park <chirs.park@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 700db05372bf44eb44a6e0bbae749ef0d538b192 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 7 19:09:30 2015 +0900 staging: wilc1000: remove unused preprocessor definition This patch removes a preprocessor definition, SWITCH_LOG_TERMINAL, which is not used. Enabling this definition affects the performance. Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f39e10872c0ca161146e253d3efa18b59d5d9a5 Author: Tony Cho <tony.cho@xxxxxxxxx> Date: Mon Sep 7 19:09:29 2015 +0900 staging: wilc1000: remove dead codes This patch removes the preprocessor definition from the codes, as shown in the following, which is not used anymore. - WILC_FULLY_HOSTING_AP Signed-off-by: Tony Cho <tony.cho@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec58d2a8727d34a2b51295895d51279abf9edd74 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 16:22:06 2015 +0530 staging: most: style of bool comparison BOOLEAN tests do not need any comparison to TRUE or FALSE. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0834be6c52367d397d75e185dad549e3da9be312 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 16:22:05 2015 +0530 staging: most: remove unneeded NULL check The loop cursor of list_for_each_entry_safe() can never be NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 983e83cc173894720b168fa603ccf82ca74e020d Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 16:22:04 2015 +0530 staging: most: remove driver owner The platform driver core will set the owner value, we do not need to do it in the module. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b532df0fc1eb0834261d9cfbeef0f346c817d7f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 16:22:03 2015 +0530 staging: most: return NULL instead of integer The return type of get_aim_dev() is a pointer but we were returning 0 incase of failure. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0183053e31a51f7814b5ea257db010b924b3857 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 16:22:02 2015 +0530 staging: most: remove always true comparison channel->dev has already been checked for NULL and if it was NULL then we have returned with -EPIPE. So at this point it can not be NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4629385e6a4c8f092555c45eea21f1d24887071b Author: Tim Sell <Timothy.Sell@xxxxxxxxxx> Date: Fri Sep 4 12:25:49 2015 -0400 staging: unisys: documentation and TODO tweaks Update documentation (including TODO) to reflect the current state of the drivers. 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 2b922cbef153359413ec328135f21165d5f04826 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 09:30:51 2015 -0700 staging: wilc1000: remove wrapper around usleep_range() Just call the function directly, no need for the indirection. 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 360e27a91dd25fb7cf3b2befa1e1a7b4f27828d2 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 4 15:34:15 2015 +0530 staging: wilc1000: fix freeing of ERR_PTR If memdup_user() fails then it will return the error code in ERR_PTR. We were checking it with IS_ERR but then again trying to free it on the error path. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d42ab0838d040bb57b2368125aeb49a8bf1d2383 Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 20 16:32:52 2015 +0900 staging: wilc1000: use id value as argument The driver communicates with the chipset via the address of handlers to distinguish async data frame. The SendConfigPkt function gets the pointer address indicating the handlers as the last argument, but this requires redundant typecasting and does not support the 64 bit machine. This patch adds the function which assigns ID values instead of pointer representing the driver handler to the address and then uses the ID instead of pointer as the last argument of SendConfigPkt. The driver also gets the handler's address from the ID in the data frame when it receives them. 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 17c4d5d541e282f05b709885578d7c5ac18e49d8 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:17:31 2015 -0700 staging: wilc1000: remove spinlock wrappers Just call the spinlock functions directly, no need for the indirection. 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 8990d856f55d42b56c0e940f42942e21f9c05e16 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 20:07:58 2015 -0700 staging: wilc1000: remove wrappers around semaphore usage Just call up/down directly, no need for a wrapper function that hides what is really happening. Fix up some variable types to be the correct structure pointers, not void *. 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 642768eec5e5d8cd1e239828e3b5e23ae45b131a Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:56:21 2015 -0700 staging: wilc1000: remove wrappers around sema_init() Just call the function directly. Also remove a pointless "deinit" function that was empty to match the init function. This also fixes a bug where txq_add_to_head_cs was a mutex structure being used as a semaphore. See the fun things that happen when you use void pointers instead of "real" types? Amazing that this worked at all, someone got _very_ lucky. Whoever "Amr" is, they really didn't fix BugID_4720 correctly :( 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 19a334890b11c5b622e35eca352728a42bfe4396 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:43:44 2015 -0700 staging: wilc1000: remove mutex_init/destroy() wrappers Just call the real 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 b25a37b910dd9b0eda1cc3a55be2abf38dae21da Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:38:42 2015 -0700 staging: wilc1000: remove wrapper around spin_lock_init() It's only called once, so just call the real function. Also remove the empty "deinit" function that didn't do anything. 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 5e150b52a5fadbf3ef27ce2eaa7c79b4b1436342 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:32:11 2015 -0700 staging: wilc1000: remove mutex_lock/unlock wrappers Just call the functions directly. Also fix the variable types to be correct, not void *, so we have a semblance of type safety happening now. 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 c2e4c0f19a6bbcb4f5f7c8991614c1b1dfaf9683 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:09:50 2015 -0700 staging: wilc1000: remove mdelay wrapper Just call the function, no need for a pointer to a function that calls the function. turtles, all the way down... 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 a18dd63047a86e0dc1c927232a526bda6d770bff Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 19:04:19 2015 -0700 staging: wilc1000: remove pointless kfree wrapper It isn't needed, and we were checking if a buffer was not NULL multiple times, no one had ever looked at the 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 d5df379784bdb3e88c2644972a576e2a74b90ce3 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 18:59:07 2015 -0700 staging: wilc1000: remove another useless kmalloc wrapper A static function that just calls kmalloc(), and only used in one place. It's obvious that the wrappers on wrappers in this driver have never actually been reviewed... 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 47c632d829c6aea524cb57114ceef5c07bcf8d2c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 18:55:43 2015 -0700 staging: wilc1000: remove another pointless kmalloc wrapper Call kmalloc directly, don't make a special "atomic" function pointer to call it 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 f019b9d91d84cb62bfa22fccf15bd4457d4acb2f Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 18:50:27 2015 -0700 staging: wilc1000: remove pointless kmalloc wrapper just call kmalloc directly, don't use an indirect pointer to a 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 927ac9d54eca5ce36fc3fe3c43a162f45d404bd9 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 18:44:19 2015 -0700 staging: wilc1000: remove wilc_exported_buf.c The config option, CONFIG_WILC1000_PREALLOCATE_DURING_SYSTEM_BOOT, was never able to be set, so this file was never being built. Also, as WILC_PREALLOC_AT_BOOT was never being set in the build system, remove all code framed by that symbol. 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 b2952d62bab9a0c1d7c22ef427785886a0104f40 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 11:49:13 2015 +0300 staging: lustre: fix whitespace errors reported by checkpatch.pl Added/removed spaces and replaced '+1' with '1' in several places to eliminate SPACING and POINTER_LOCATION errors reported by checkpatch.pl Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 310a28fd34d77e6dca246cd13b1e52018d3af819 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Fri Sep 4 00:48:14 2015 +0600 staging/wilc1000: Use %pM format specifier to print mac address printk() supports %pM format specifier for printing 6-byte MAC/FDDI addresses in hex notation small buffers, let's use it intead of %x:%x... Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76f966e79560ab0bcf20a48e8a0a3d51b3618bc5 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 20:50:51 2015 +0300 staging: ft1000_pcmcia: staticize local functions in ft1000_dnld.c Several functions in ft1000_dnld.c are not used outside that file, make them static Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b32fccc104da1e9673bb461035c1dbcb5a2962e Author: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Date: Thu Sep 3 23:14:35 2015 +0530 staging: comedi: kcomedilib: Fixed coding style issue Fixed checkpatch.pl warning in kcomedilib_main.c: - Block comments use * on subsequent lines Signed-off-by: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 768e66bd0b2ab33f294fec51c3a0820c616ae283 Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Thu Sep 3 01:31:30 2015 +0530 staging: goldfish: Prefer kernel type u32 over uint32_t Prefer kernel type u32 over uint32_t to maintain uniformity. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10d7108466f91edac408c568defd0863965d34ea Author: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Date: Wed Sep 2 22:41:19 2015 +0530 staging: goldfish: Fix NULL comparison style Fixed NULL comparison style as suggested by checkpatch.pl with --strict option. Signed-off-by: Ravi Teja Darbha <ravi2j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c76f012702d71b85567ae3bd1bed47c570b4eb1 Author: MichaÅ? Bartoszkiewicz <mbartoszkiewicz@xxxxxxxxx> Date: Wed Sep 2 01:35:00 2015 +0200 staging: rtl8723au: remove unnecessary le32_to_cpu The values passed to le32_to_cpu are already in the correct byte order. This fixes four "cast to restricted __le32" sparse warnings. Signed-off-by: MichaÅ? Bartoszkiewicz <mbartoszkiewicz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2503426cfbb3fa48606d51aec3525d3d1680d304 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Sun Aug 30 23:52:13 2015 +0200 Staging: ste_rmi4: Remove unnecessary MODULE_ALIAS() The driver has a I2C device id table that is used to create the modaliases which already contains "synaptics_rmi4_ts". So the alias is not needed. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f0c1424f0663fedd8f38b00088f2d4fdeb03b09 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Fri Aug 28 00:57:45 2015 +0200 staging: rtl8723au: remove unimplemented function declarations Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f740474bbf8b2e1e0ccf0a45d929b219aabbc95a Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Aug 22 16:28:12 2015 +0530 Staging: rtl8192e: r8192E_dev.c: Remove unused variable This patch discards the variable as it is not used anywhere throughout the kernel. Build tested it. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d40d3e117a82650423944182477b4027a7e45d72 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Aug 22 16:28:13 2015 +0530 Staging: rtl819u: ieee80211: Remove unused variable This patch discards the variable count as it is not used anywhere throughout the kernel. Build tested it. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit afeeff07440650bb03a659de8ef4c8eb5328d5d7 Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Aug 22 16:28:14 2015 +0530 Staging: rtl8723au: core: Remove unused variable This patch discards the variable as it is not used anywhere throughout the kernel. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b190f34f7b535171ed5a1c09e6a7603b0a8d3ef Author: Shraddha Barke <shraddha.6596@xxxxxxxxx> Date: Sat Aug 22 16:28:11 2015 +0530 Staging: rtl8192e: rtl_core.c: Remove unused variable This patch discards the variable ResetThreshold as it is not used anywhere throughout the kernel. Build tested it. Signed-off-by: Shraddha Barke <shraddha.6596@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c17893c2fe2e0a506ef07eda486ebc9aa709da7 Author: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Date: Thu Aug 27 21:02:46 2015 +0530 staging: panel: panel.c: Fixed coding style issues Fixed warnings reported by checkpatch.pl: - Block comments use a trailing */ on a separate line - Block comments use * on subsequent lines Signed-off-by: Nayeemahmed Badebade <itachi.opsrc@xxxxxxxxx> Acked-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1972308bf580ad092c315ad21700946320ab54f7 Author: Luis de Bethencourt <luis@xxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:13:51 2015 +0200 staging: octeon-usb: 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e498d4b40120899f1477b106677f3fa2cc7bb1c Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:19 2015 +0200 staging: mt29f_spinand: Export OF module alias information The SPI core always reports the MODALIAS uevent as "spi:<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: SPI id table or OF match table). So drivers needs to export the SPI 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 SPI 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 SPI device name for example. To avoid the above, the SPI 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: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94c0a5442708dbc4226f8aabcf9163caac179a92 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Thu Sep 3 00:53:37 2015 -0700 staging/fbtft : Add missing whitespace around operators Add blank spaces around operators where recommended by checkpatch.pl Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1014c2ce082241db728e0528dd5f1bfb04fd0b06 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Thu Sep 3 00:53:36 2015 -0700 staging/fbtft : Fix multiple/missing blank line issues Remove or add blank lines as recommended by checkpatch.pl Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3eeca503db189422ee22bbad7ca52e1febbe276 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Thu Sep 3 00:53:35 2015 -0700 staging/fbtft : Remove unicode characters Remove stray unicode quotes around name Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e73221877a21352aa03437960b3874fee52fa189 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Thu Sep 3 00:53:34 2015 -0700 staging/fbtft : Remove repeated set_addr_win debug messages fbtft_par_dbg(DEBUG_SET_ADDR_WIN.. ) is repeated in every set_addr_win() handler, this could be replicated by using the kernel function tracer instead. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Suggested-by: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e6ea2028e04b2adea69b06ef6d5e2d73f82b713c Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Thu Sep 3 00:53:33 2015 -0700 staging/fbtft : Use BIT() macro when possible Based on checkpatch.pl recommendations, (1 << x) is replaced by BIT(x) Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6d657dac56438bf7ade5a05142a633e7f5e43984 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 08:13:14 2015 +0300 staging: fbtft: fb_watterott: define backlight_ops statically instead of devm_kzalloc'ing them Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23801e3438f6ceddf7db6d03c3556375d1001fda Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 08:13:13 2015 +0300 staging: fbtft: fb_ssd1351: define backlight_ops statically instead of devm_kzalloc'ing them Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed20c6fbf76bdbc326960be621caebfdce92a2c6 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 08:13:12 2015 +0300 staging: fbtft: fbtft_request_gpios: reduce nesting Returning immediately if no platform_data or platform_data->gpios is specified reduceis code nesting Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c18d116d9215d28736f6346f95127b53c7892376 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 08:13:11 2015 +0300 staging: fbtft: fbtft-core: define backlight_ops statically instead of devm_kzalloc'ing them Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7f506bd0e2db2cc67da6e16776cf54aeb827999 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Thu Sep 3 08:13:10 2015 +0300 staging: fbtft: remove unused bl_ops from fbtft_unregister_backlight The only usage of bl_ops variable in fbtft_unregister_backlight function was assigment of a value to that variable, therefore the assignment and the variable itself can be safely removed Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a1a838362a0ddbb847855e2a6918c2efcb54de2 Author: Anish Bhatt <anish7@xxxxxxxxx> Date: Wed Sep 2 18:46:42 2015 -0700 staging/fbtft : Remove FSF mailing address checkpatch.pl recommends that this is no longer required. Also replaces ASCII-art copyright notice with simple text Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85a22e42f5929bdcc65b90c0c13c741f5783864b Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:18 2015 -0400 staging: rtl8192u: r8192U_core: fix quoted string split across lines code style issue Quoted strings should not be split to help text grep in the source. All quoted strings that were split have thus been merged to one unique quoted string each to follow the code style. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b25c24e3f2743689c1578e2efeb249fd89c5faf Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:17 2015 -0400 staging: rtl8192u: r8192U_core: fix missing blank line after declarations code style issue Adds whitespaces to separate the variables declarations and the function content. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25e4b9d586f18f8a603ab0fae4ef61fd178e143e Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:16 2015 -0400 staging: rtl8192u: r8192U_core: fix unnecessary whitespace code style issue Whitespaces are not necessary before a quoted newline. Remove those. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9647a6d534f2f8f2570d0871e42dee4177b3af27 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:15 2015 -0400 staging: rtl8192u: r8192U_core: fix unnecessary else after return code style issue An else statement is not useful after a return. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2054df8690ecbcbfd9409adb4bfb3db9c44f8a2b Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:14 2015 -0400 staging: rtl8192u: r8192U_core: fix unnecessary parentheses code style issue Two sets of parentheses were used to contain the same statement. In those cases, one of them has been removed, as unnecessary. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit efe8a7fad59f4e157485e91d84210fe7496afa03 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:13 2015 -0400 staging: rtl8192u: r8192U_core: fix unnecessary check before kfree code style issue kfree(NULL) is safe and the checks were not required. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b31c1013502848fef8e5ead3d920d46b8b1d1e4c Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:12 2015 -0400 staging: rtl8192u: r8192U_core: remove forward declarations in .c file Checkpatch was giving a "externs should be avoided in .c files" because of these forward declarations. As these were not useful in this case, they have been removed. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf47ca02250d2420e2511853e6f9a1059bf13e04 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:11 2015 -0400 staging: rtl8192u: r8192U_core: fix unecessary braces code style issue braces {} are not necessary for any arm of a statement containing one statement on each side. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c21f566c72594e79d2ec6a48b1c8ff166d476f5 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:10 2015 -0400 staging: rtl8192u: r8192U_core: remove return statement of void function void function return statement was not useful in this case. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f94967a4b8ba8f08cec7034e44ec3178e07513c Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:09 2015 -0400 staging: rtl8192u: r8192U_core: include linux/uaccess.h instead of asm/uaccess.h Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14285c1f97c3bb137a12fb9e3a4e65e1a3a51a0d Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:08 2015 -0400 staging: rtl8192u: r8192U_core: clean C99 // comments Replace C99 // comments by /* comments */ to follow the kernel code style. Remove some unuseful comments. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74a0266c072c185880290eb04d2fea4e68d62f1d Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:07 2015 -0400 staging: rtl8192u: r8192U_core: whitespace neatening to fix consistent spacing code style errors Clean-up the file by using a cleaner spacing around symbols and words. Mostly use the automatic checkpatch whitespacing fixes. This takes care of the consistent spacing errors reported by checkpatch. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b54cc8d8e8cc4f8cca29cb70ee8d04bcb702fc91 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:06 2015 -0400 staging: rtl8192u: r8192U_core: fix missing struct leading to consistent spacing code style error A missing struct keyword in variable declaration triggered a need consistent spacing around '*' code style error. The struct keyword thus has been added everywhere for the rtl8192_rx_info struct, and therefore its typedef removed as not needed anymore. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70cdcac563b2e6d06cd5e81ec4a5153f2488ecd1 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:05 2015 -0400 staging: rtl8192u: r8192U_core: fix else following close brace code style error Fix "else should follow close brace" checkpatch error. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c745f2677067cbafa6c276a43f832e328e320d6b Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:04 2015 -0400 staging: rtl8192u: r8192U_core: fix code indent using spaces code style error Fix "code indent should use tabs where possible" checkpatch error Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28071d3400d88325c20e583a96ee5be277a6fdf8 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:03 2015 -0400 staging: rtl8192u: r8192U_core: fix space before close parenthesis code style error A space existed before the close parenthesis of an if statement. This patch removes it to follow the kernel code style. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a7be027984f61119c027f42ee3003a8b30f539ea Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 12:58:02 2015 -0400 staging: rtl8192u: r8192U_core: fix switch and case indent code style error Some switch and case were not be at the same indent level. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1865e4ea0b2d9889e5e1f93d5ca69194857cc9f0 Author: Ronit Halder <ronit.crj@xxxxxxxxx> Date: Wed Aug 19 11:17:09 2015 +0530 Staging: most: Use NULL instead of zero This patch fixes the warning generated by sparse "Using plain integer as NULL pointer" by using NULL instead of zero. Signed-off-by: Ronit halder <ronit.crj@xxxxxxxxx> Acked-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 858e1a27c1c58f5a1dd0ba58ce28c80bf5095d0b Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Aug 24 19:19:32 2015 +0530 staging: most: NULL comparison style checkpatch complains when a variable comparison to NULL is written as: variable == NULL or variable != NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9c2520818ddc8666472e5535181bf3930a8b558 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:28 2015 +0530 staging: most: fix Makefile The Makefile is including "drivers/media/video". But there is no such directory in kernel tree. Since it is aim-v4l2 this might have been "drivers/media/v4l2-core", but the Kconfig already mentions that it depends on VIDEO_V4L2. So no need to mention that again in the Makefile. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9153b5b1286546d6bee3be0662625573be7bc7a2 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:27 2015 +0530 staging: most: remove unused variable The variable conf was only assigned the value but was never used. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96d3064b461f32b0e37b3d7c0cfa4edb24dbf430 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:26 2015 +0530 staging: most: use NULL pointer sparse was complaining that an integer is used as NULL pointer. Fix it by using NULL. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 809da8a5f19010e877ed66cd1ffac9f8284d7052 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:25 2015 +0530 staging: most: make functions static split_arg_list() and audio_set_pcm_format() are being called from the same file and is not referenced from outside, so make them as static. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11f7edb5980f4ad7d4eae915c34bdb17d8c751bb Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:24 2015 +0530 staging: most: remove unused functions These functions were only defined but not used anywhere. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c704dfbe452ef1857e83d29bac88e35bdb2bb507 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:23 2015 +0530 staging: most: out of memory error If kzalloc fails it will print lots of debugging information in the log, no need to have another in the code. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba857e0ff08b0ba7922cb58d0870a5a207eadc5e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:22 2015 +0530 staging: most: remove multiple blank line Multiple blank lines are not recommended in the kernel coding style. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51d6859f2352ef420f8a45abaac0391acf573730 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 18 20:48:21 2015 +0530 staging: most: bool comparison style Mentioning true or false in the if comparison is error prone and also not according to the coding style. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c74210509049f3391576a45acb1174e2454588c Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Aug 27 19:09:27 2015 +0600 staging/rtl8723au: Use %pM format specifier to print mac address printk() supports %pM format specifier for printing 6-byte MAC/FDDI addresses in hex notation small buffers, let's use it intead of %x:%x... Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Acked-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fec85e0afa918b33e56797400f674bc828362dd4 Author: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Date: Thu Aug 27 19:08:15 2015 +0600 staging/rtl8188eu: Use %pM format specifier to print mac address printk() supports %pM format specifier for printing 6-byte MAC/FDDI addresses in hex notation small buffers, let's use it intead of %x:%x... Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a79a7f7135ab724bce5979963a9e3e5be4c8908 Author: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Date: Thu Aug 20 09:59:44 2015 +0000 staging: wilc1000: simplify 'memset' of 2D array This patch simplifies the 'memset' done on a static 2D array. Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5d57e917a8c7ff1da10a568eb738a6ac5697dae Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 20 16:32:53 2015 +0900 staging: wilc1000: change address to fixed value The linux_wlan_init_test_config() is called once when net driver is loaded. And because the pointer type of the pstrWFIDrv is changed with the interger type, this patch replaces it with designated value instead of pointer. 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 53a84401883a873c8ad29a43dee4f0fbdc53157e Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 20 16:32:51 2015 +0900 staging: wilc1000: add an argument for Handle_SetWfiDrvHandler Similar to functions of same layer, this patch add an argument for Handle_SetWfiDrvHandler function. As a result, the redundant typecasting is removed. 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 8a625cade3d4ac4da0d985f62afd3184617ba9b7 Author: Johnny Kim <johnny.kim@xxxxxxxxx> Date: Thu Aug 20 16:32:50 2015 +0900 staging: wilc1000: use the real data type This patch changes the type of gu8FlushedJoinReqDrvHandler with his real data type becasue typecasting is not necessary. In result, typecasting which is not necessary and some building warnings is removed. 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 1b128f632d100290fe1e7d9007f08046f2579189 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:08 2015 +0900 staging: wilc1000: rename WILC_MsgQueueDestroy to wilc_mq_destroy This patch replaces WILC_MsgQueueDestroy to wilc_mq_destroy to shorten function name and avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b986e33e1e60c203620bc8224353590694d70abd Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:07 2015 +0900 staging: wilc1000: rename WILC_MsgQueueRecv to wilc_mq_recv This patch replaces WILC_MsgQueueRecv with wilc_mq_recv to shorten function name and avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79198138a8c77b385f9232a9067e783e2a7d5eeb Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:06 2015 +0900 staging: wilc1000: rename WILC_MsgQueueSend to wilc_mq_send This patch replaces WILC_MsgQueueSend with wilc_mq_send to shorten function name and avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd08fc78138af767a8dea2f4d0a8251efd9a0afc Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:05 2015 +0900 staging: wilc1000: rename WILC_MsgQueueCreate to wilc_mq_create This patch replaces WILC_MsgQueueCreate with wilc_mq_create to shorten function name and avoid CamelCase. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd56018a87a992c3c5ebfe4174b2bc41316dae3b Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:04 2015 +0900 staging: wilc1000: replace WILC_ErrNo by int type This patch replaces WILC_ErrNo with int type. WILC_ErrNo typedef is also removed. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb9c2e7a9d04f74746256f033fd78cff2df0a5db Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:03 2015 +0900 staging: wilc1000: wilc_msgqueue.c: fix bool comparison style This patch changes bool comparison style found by checkpatch.pl CHECK: Using comparison to true is error prone Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce118546d4250cfe2b059fb42a4b755944723a50 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:02 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove kfree NULL check This patch removes kfree NULL check. WARNING: kfree(NULL) is safe and this check is probably not required. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae177a2afc36336dd6a5a21bb8ddfe9d44791a0d Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:01 2015 +0900 staging: wilc1000: wilc_msgqueue.c: use ! operator instead of NULL comparison This patch uses ! operator instead of NULL comparison. Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96cab4cdc6583d386696c1325a391c11391d6998 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:59:00 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove unnecessary parentheses This patch remove unnecessary parentheses found by checkpatch.pl CHECK: Unnecessary parentheses around pHandle->hSem Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6583f7415dbf15aab8fee9ccebd47e52a7aab4c Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:58:59 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove blank line before a close brace This patch removes blank line before a close brace "}" CHECK: Blank lines aren't necessary before a close brace '}' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df1890a67482660485130baff7dd5e0c3c3fa9be Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:58:58 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove multiple blank lines This patch removes multiple blank lines. CHECK: Please don't use multiple blank lines Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32728da0293835ee37adf72d7d334b29eeb121c2 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:58:57 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove blank line after open brace This patch removes a blank line for open brace "{" CHECK: Blank lines aren't necessary after an open brace '{' Signed-off-by: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fffc6213df87e78debd952fe28338a3c8816d03 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Wed Aug 19 15:58:56 2015 +0900 staging: wilc1000: wilc_msgqueue.c: remove braces for single statement This patch removes braces for single statement blocks. 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 8dfaafd6398ec49797566ecb6992117434376588 Author: Chaehyun Lim <chaehyun.lim@xxxxxxxxx> Date: Tue Aug 18 23:18:11 2015 +0900 staging: wilc1000: add a blank line after declaration This patch adds a blank line after declaration 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 297a1c34da83459e3f7160e2b75127b8935ef688 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 23:14:50 2015 -0400 staging: wilc1000: replace MALLOC_WILC_BUFFER() macro to avoid possible memory leak The MALLOC_WILC_BUFFER() macro was using a return statement, and didn't take care of possible memory leaks and subsequent bugs when it was failing after succeeding some allocations. This patch corrects this behavior. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a669e58615c8908cf15222a0ffe1042995cfcd9 Author: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Date: Tue Aug 18 23:14:49 2015 -0400 staging: wilc1000: remove FREE_WILC_BUFFER() It was just a wrapper around kfree(), so call that instead. Signed-off-by: Raphaël Beamonte <raphael.beamonte@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8797affa142840e7c62deccb750813563fc8097 Author: Trung Thanh Le <trungthanh1608@xxxxxxxxx> Date: Sat Aug 15 22:09:45 2015 +0800 staging: android: fix coding style checks in sw_sync.c replace comparison "obj" to NULL with "!obj" Signed-off-by: Trung Thanh Le <trungthanh1608@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7048c1fc37f71f860b5042fbe021c9f98218b122 Author: Peng Sun <sironhide0null@xxxxxxxxx> Date: Thu Aug 27 15:41:07 2015 +0800 staging: android: ashmem.c: 'Alignment' style issue fix two CHECK issues by checkpatch.pl with --strict: Alignment should match open parenthesis Signed-off-by: Peng Sun <sironhide0null@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8d3bfa7802a5d5ffea7e14837147d063df8eabe Author: Peng Sun <sironhide0null@xxxxxxxxx> Date: Thu Aug 27 15:41:06 2015 +0800 staging: android: ashmem.c: 'No space necessary after' style issue fix two CHECK issues by checkpatch.pl with --strict: No space is necessary after a cast Signed-off-by: Peng Sun <sironhide0null@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2e4f687c463e5080af203de2251b5b78b01e58c Author: Peng Sun <sironhide0null@xxxxxxxxx> Date: Thu Aug 27 15:41:05 2015 +0800 staging: android: ashmem.c: 'spaces preferred around that -' style issue fix a CHECK style issue by checkpatch.pl with --strict: spaces preferred around that '-' Signed-off-by: Peng Sun <sironhide0null@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9cb693f6f326ddf8f9df9c2bb3302048a919b394 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 15 21:57:35 2015 +0100 staging: vt6655: replace typedef struct tagSRxDesc with struct vnt_rx_desc and all members the same. volatile is removed from pointers as this generates warning message. Only the first four members of vnt_rx_desc need to be volatile. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88defe2b35f1b765dbfe9a800c443c31400a4e13 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 15 21:57:34 2015 +0100 staging: vt6655: replace typedef struct tagDEVICE_RD_INFO with struct vnt_rd_info volatile is removed because it will generate a warning (in any case this member is not) and renaming rd_info. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fc7091cc24ceae25885a3ad074689cfb029f3c0 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 15 21:57:33 2015 +0100 staging: vt6655: replace typedef struct tagRDES1 with struct vnt_rdes1 and members wReqCount -> req_count wReserved -> reserved Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de1c1862ca8c32a811021b61ce8905d03e53a451 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 15 21:57:32 2015 +0100 staging: vt6655: replace typedef struct tagRDES0 with struct vnt_rdes0 replacing members as follows wResCount -> res_count f15Reserved -> f15_reserved f1Owner -> owner big endian f8Reserved1 -> f8_reserved1 f7Reserved -> f7_reserved Narrowing endian differences to inside structure. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e48c9c260189e28b57ab3a7cf68c5a29ab6dbf51 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:06 2015 -0700 staging: comedi: usbduxfast: remove unnecessary clearing of private data The clearing of the private data members in the (*detatch) is not necessary. The comedi core is going to kfree the private data as soon as the (*detach) finishes. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42293db075e121d6baef4d0cd7865e060631f3ac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:05 2015 -0700 staging: comedi: usbduxfast: absorb usbduxfast_attach_common() This function is only called by the (*auto_attach) to do the final setup of the analog input subdevice. For aesthetics absorb it into usbduxfast_auto_attach() and reorder the initialization of the subdevice to better follow the "norm" in comedi drivers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c79c014cba5694633ada77811ce14654dfb8227 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:04 2015 -0700 staging: comedi: usbduxfast: remove unnecessary semaphore down/up The semaphore down/up in usbduxfast_attach_common() is not necessary. This function is only called as part of the (*auto_attach) and does not talk to the USB device. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a05e94bd5230a90eca2905495e764a0ad707c498 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:03 2015 -0700 staging: comedi: usbduxfast: document strange ai maxdata The subdevice 'maxdata' is typically a mask of the valid bits that can be returned by a subdevice, (1 << bits) - 1. The analog inputs of this device have a resolution of 12-bits so the 'maxdata' should be 0x0fff. But, this hardware can produce a value of 0x1000 indicating an overflow from the ADC. The comedilib library's comedi_to_phys() function will then return NAN when this value is read from the hardware. Add a comment to clarify the strage 'maxdata' value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b0fc5baa0bd75fa04cd784828d7d072fb905144 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:02 2015 -0700 staging: comedi: usbduxfast: use a common exit path in ai (*do_cmd) For aesthetics, use 'goto' and a common exit point in this function so that the up of the semaphore is not overlooked. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c748debc66026d1400686ce9bd5183d5bcf36ec3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:01 2015 -0700 staging: comedi: usbduxfast: tidy up the conversion timing validation Cleanup the validation of the cmd->convert_arg to use the same calculation in the (*do_cmdtest) and the (*do_cmd). Remove the, then unnecessary, redundant check in the (*do_cmd). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe0d96bf5198a06d4620a10f7faba0e596902e72 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:14:00 2015 -0700 staging: comedi: usbduxfast: TRIG_EXT is only valid for cmd->start_src According to the code, and verified with the author Bernd Porr, the TRIG_EXT trigger is only valid for the cmd->start_src. Remove this trigger from the cmd->scan_begin_src and cmd->convert_src. The only valid scan_begin_src is then TRIG_FOLLOW and the convert_src is only TRIG_TIMER. Remove the redundant unique trigger checks in Step 2b of the (*do_cmdtest) as well as any other unnecessary checks of those trigger sources. Also remove the incorrect comment for a cmd->stop_src of TRIG_EXT. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d636f87d861308a46ad18bb9b23c34ab32ea39de Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:59 2015 -0700 staging: comedi: usbduxfast: TRIG_EXT only works for 1 or 16 channels Move this check from the (*do_cmd) to the (*do_cmdtest). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24b83783ceda1e7a0e871d9110cbf966387da4d5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:58 2015 -0700 staging: comedi: usbduxfast: fix multi-line comment This comment does not need to be multi-line. Fix it to remove the checkpatch warning. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26961546738e42f3672ba4022c2d0b8b2b6ea882 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:57 2015 -0700 staging: comedi: usbduxfast: use preferred kernel types As suggested by checkpatch.pl: CHECK: Prefer kernel type 'u8' over 'uint8_t' CHECK: Prefer kernel type 's8' over 'int8_t' For consistency, also change the uint16_t and int16_t types to u16 and s16. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd9fe1fc1cd4771eff4666379b915661d7a4f0d2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:56 2015 -0700 staging: comedi: usbduxfast: remove impossible 'if (!devpriv)' checks The private data 'devpriv' is allocated in the (*auto_attach) before the subdevices are initialized and the (*auto_attach) has to complete successfully before the core will call any of the subdevice operations. Because of this the (!devpriv) checks in the subdevice code can never fail. 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 db1876ff1e7c86dc97d1721ce2e5e0df71072acb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:55 2015 -0700 staging: comedi: usbduxfast: only chanlist of 1, 2, 3, or 16 are supported The analog input (*do_cmd) only supports channel lists of 1, 2, 3, or 16 channels. Add a check for this to usbduxfast_ai_check_chanlist() and remove the check from usbduxfast_ai_cmd(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99555fc25a5f2a40f0d111a67b13bcd8e8d826b1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 24 10:13:54 2015 -0700 staging: comedi: usbduxfast: chanlist check is Step 5 of (*do_cmdtest) The channel list should be checked in Step 5 of the (*do_cmdtest) not as part of the (*do_cmd). Factor the check out of usbduxfast_ai_cmd(). Tidy up the factored out code. The channel number 'i' will never be greater than NUMCHANNELS due to the subdevice setup and the checks done in the code. The up/down of the semaphore is also not needed because the (*do_cmdtest) never actually tries to access the hardware. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a399d81d41e17410ffd7a84af9bd7ec8aafa58a2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:27 2015 -0700 staging: comedi: s526: fix the block comments Tidy up the block comments to fix the checkpatch.pl warnings. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f3ed25664073891ae093bfe2fa35480bbd10717 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:26 2015 -0700 staging: comedi: s526: remove #if 0'ed out code block This #if 0'ed out code is not necessary. It's actually just a copy of the psuedo code in the S526 Hardware Manual that shows an example of a counter application. 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 537dd665e42794886266f50c8379b879d5d99af3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:25 2015 -0700 staging: comedi: s526: remove unnecessary defines Remove a couple unused defines, Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21424e3fa81505f466841eaecaa373f160f44cf4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:24 2015 -0700 staging: comedi: s526: remove s526_ai_insn_config() This (*insn_config) does not follow the comedi core API. It also would not work as expected. It appears to be trying to configure the analog input subdevice so that the (*insn_read) would read multiple channels (data[0]) and optionally enable the 15us delay (data[1]) needed for the multiplexor to change channels between samples. Unfortunately, the comedi core expects (*insn_read) operations to return 1 or more samples for a single channel, which is what the (*insn_read) in this driver does. The (*insn_config) is also enabling the analog input end-of-conversion interrupt. This isn't needed, and might be a problem since the driver does not currently request and interrupt. The enable bit does not need to be set for the end-of-conversion to occur in the interrupt status register. Remove the (*insn_config) and modify the (*insn_read) to automatically handle the 15us delay when needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf483f1e07d0b292ae5d5fdf94d901fa4415ab38 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:23 2015 -0700 staging: comedi: s526: tidy up s526_ai_rinsn() Rename this function to follow the normal naming in comedi drivers. Use the comedi_offset_munge() helper to munge the hardware two's complement data to the comedi offset binary format. Change the final return to insn->n to clarify the return value without the need for the comment. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09c5d6c83ec3bd56ee1ebef8bec42956b32ca7eb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:22 2015 -0700 staging: comedi: s526: wait for analog output conversions to complete It's possible for the user to write more than one value to an analog output channel with the (*insn_write) operation. Use comedi_timeout() to check the interrupt status register to ensure that each data conversion is complete before writing the next value. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12911c2d6ae64315edb721cc142cc6d4b20db8b5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:21 2015 -0700 staging: comedi: s526: tidy up subdevice init For aesthetics, add some whitespace to the 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 2c6b58246de18a9915e5a5804800a7c0a302f8c2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:20 2015 -0700 staging: comedi: s526: define the eeprom data and control registers Define these registers and their bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64fe38f49cb2d1335d077f1b9a387177fea22dac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:19 2015 -0700 staging: comedi: s526: define the miscellaneous register and bits Define this register and its bits. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 658441b48c01886217d6119d5cfd5c3278b37ddf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:18 2015 -0700 staging: comedi: s526: define the digtial I/O control register and bits Define this register and its bits and 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 8a5d6d2ee252dd76305c18f843f82ee7ee376371 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:17 2015 -0700 staging: comedi: s526: define the interrupt enable/status registers These registers use the same bit defines. Define both of them and 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 15bccf2e5d7f5d1960c41962b2b628bd1b034ce2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:16 2015 -0700 staging: comedi: s526: add defines for the ao/ai data register The same register is used for analog output and input data. Add defines for both for added clarity. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe79b3d0c339f053a04673bff95a50f26f59222f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:15 2015 -0700 staging: comedi: s526: define the ADC (analog input) control register and bits Define this register and its bits and 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 abbb6489090255290d0bc24f1bf9eeba26b595de Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:14 2015 -0700 staging: comedi: s526: define the DAC (analog output) control register and bits Define this register and its bits and 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 088c1ce04dacc3374335ce8b23666a9f8aa5d85c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:13 2015 -0700 staging: comedi: s526: define the watchdog timer control register and bits Define this register and it's bits so that we can possibly support it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e04fd32599bb4e0f2574708e5d48f1f78d80761 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:12 2015 -0700 staging: comedi: s526: define the timer control register and bits Define this register and it's bits so that we can possibly support it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d0d1c00daff961b130691a64ad2cde6d856d24e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:11 2015 -0700 staging: comedi: s526: refactor gpct registers The S526 board has 4 general purpose counter/timers. The current defines used for the registers of these devices do not provide much clarity in what they are. Refactor the code to add some clarity. Replace the current register defines with macros that return the correct offset based on the counter 'channel'. Introduce a some helper functions to handle reading/writing the LSB/MSB registers so that they are always accessed in the correct oreder. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de332b11946f1e5f9d8513828e18701d6cb903d4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 16:58:10 2015 -0700 staging: comedi: s526: tidy up 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 8d63f5b8f87204cbbdbf5616731680dac7add01b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:18:43 2015 -0700 staging: comedi: serial2002: use proper errno checkpatch.pl reports: WARNING: ENOSYS means 'invalid syscall nr' and nothing else Change the error code to -ENOTTY. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3335dfd1ab5f02915fb2aeeace41526f92d8b560 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:18:42 2015 -0700 staging: comedi: serial2002: usleep_range is preferred over udelay Fix checkpatch issue: "CHECK: usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt". Replace the udelay() 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 28a2993e3e7c02d0b4312df80ada4c27f830c9d5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:18:41 2015 -0700 staging: comedi: serial2002: tidy up 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 6d40c0c74a49c568ecb3d8fa650f922c195047a7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 17 13:03:22 2015 -0700 staging: comedi: unioxx5: remove this flawed driver I was going to clean up this driver but looking it over it has a number of serious flaws. Also, Fastwell published an End-Of-Life notification for the board on 24/Jan/2014 (End-of-sale 30/Jun/2014, End-of-delivery 30/Dec/2014). Since the driver has a comedi driver status of "unkown", lets just remove the driver instead of trying to fix the flaws. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 035d819b4ee6de95268381e92f65f8c98d39ecdc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 17:09:12 2015 -0700 staging: comedi: ssv_dnp: tidy up multi-line comments Format the multi-line comments in the kernel CodingStyle. Move the comment about the I/O ports in dnp_attach() to the start of the function. This is typically where the resources are reserved. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e2ebdf8720306d9aee47de4e050b41884de7e3d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:31 2015 -0700 staging: comedi: usbdux: use comedi_offset_munge() Use the comedi_offset_munge() helper to convert the hardware two's complement values to the offset binary format expected by comedi. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2779b7e51497b5d0855dc7d21d793998acd2ad5f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:30 2015 -0700 staging: comedi: usbdux: remove impossible 'if (!devpriv)' check The comedi core can only call this subdevice function is the private data was successfully allocated during the (*auto_attach). 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 1e4c3a2e7da0f7e40f79ba1e219ccbe1d8a79f56 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:29 2015 -0700 staging: comedi: usbdux: rename dev->private local variables For aesthetics, consistently use the same name. 'devpriv', for the local variable used to reference the private data, 'dev->private'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0341e5deb05c18c67b786d138799b9a107cdfbf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:28 2015 -0700 staging: comedi: usbdux: use common code path to check the cmd->scan_begin_arg There are currently separate code paths to check the scan_begin_arg based of the USB speed. Refactor the code to use a common code path and 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 0725b16ece9fe68887144fc2a86b6f297bafa1e2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:27 2015 -0700 staging: comedi: usbdux: add missing spaces Add some missing space to quiet the checkpatch.pl issues about: CHECK: spaces preferred around that '/' (ctx:VxV) CHECK: spaces preferred around that '*' (ctx:VxV) CHECK: spaces preferred around that '+' (ctx:VxV) For aesthetics, use tabs instead of spaces in all the defines and ensure they have common alignment. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b2ea2fb4b31bd59c48bb37a21928a0205668b34 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 15:23:26 2015 -0700 staging: comedi: usbdux: use preferred kernel types As suggested by checkpatch.pl: CHECK: Prefer kernel type 'u8' over 'uint8_t' CHECK: Prefer kernel type 'u16' over 'uint16_t' Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9b9cfe792feace71a2e0b4c079124b3f5f26ff2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 14:35:29 2015 -0700 staging: comedi: vmk80xx: tidy up defines For aesthetics, use tabs instead of spaces for the whitespace. Convert the bit defines to use the preferred 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 0726f06d176c015f4ed5f27b661eb1da1ea6f633 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 14:35:28 2015 -0700 staging: comedi: vmk80xx: cleanup multi-line comment Reformat the multi-line comment 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 d3f1e38830f7201d901aa456050d00be1931b248 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:39:42 2015 -0700 staging: comedi: usbduxsigma: use comedi_offset_munge() Use the comedi_offset_munge() helper to convert the hardware two's complement values to the offset binary format expected by comedi. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c20d199492b48402cef24a9bab599bc10e0d2a3c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:39:41 2015 -0700 staging: comedi: usbduxsigma: tidy up block comments Merge the two comments and format it 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 ef9a6bdfea3fa9686dbadf0a79502eff005c141a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:39:40 2015 -0700 staging: comedi: usbduxsigma: use prefered kernel types As suggested by checkpatch.pl: CHECK: Prefer kernel type 'u8' over 'uint8_t' CHECK: Prefer kernel type 'u32' over 'uint32_t' Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11f32ad360bf0447e4f97cb1dc2d020247a59f1f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 14 11:39:39 2015 -0700 staging: comedi: usbduxsigma: add missing spaces Add some missing space to quiet the checkpatch.pl issues about: CHECK: spaces preferred around that '/' (ctx:VxV) CHECK: spaces preferred around that '+' (ctx:VxV) CHECK: spaces preferred around that '*' (ctx:VxV) CHECK: spaces preferred around that '-' (ctx:VxV) Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b241d31a4b3129e10d35763f8cfdc84d9e46936 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:12 2015 +0200 staging: lustre: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40daf5ce553ae214ba5bf56af1550258e2e57ff4 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:11 2015 +0200 staging: lustre: osc: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c5d9fa05508e3e03b6d17641588819bafb55dad Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:10 2015 +0200 Staging: lustre: obd: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f6eaf830b3c4f77a5b18414f1d564c1d3301f6e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:09 2015 +0200 staging: lustre: llite: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cfc537aea3fe442f31d16fd641bf8bff56c6acd Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:08 2015 +0200 staging: lustre: libcfs: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a75e7ac6492aabb5fa9bb659657766b7b40c3b18 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:07 2015 +0200 staging: lustre: ldlm: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5019c8f017495cd8da21df7a49a5ed41377965e6 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:06 2015 +0200 staging: lustre: lnet: lib-ptl.c: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 625a31217eb2cca358d7a3d6976bca402beaa7a5 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 29 19:30:05 2015 +0200 staging: lustre: include: put constant on the right of binary operator Move constants to the right of binary operators. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ constant c; expression e; binary operator b = {==,!=,&,|}; @@ ( - c + e b - e + c | - c < e + e > c ) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60753e90ffa7e213539fa937b110c7e91297be04 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Aug 22 17:17:23 2015 +0300 staging: lustre: fix OPEN_BRACE checkpatch.pl errors Fix occurencies of the following checkpatch.pl error: ERROR: open brace '{' following function declarations go on the next line Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea28d21ac51ae955834ac71e66587e2005de9215 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Aug 22 17:17:21 2015 +0300 staging: lustre: fix GLOBAL_INITIALISERS checkpatch.pl errors Fix occurencies of the following checkpatch.pl error: ERROR: do not initialise globals to 0 or NULL Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1ff890126909bfaeb8b5be5af08cb525cd85cfe Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Sat Aug 22 17:17:20 2015 +0300 staging: lustre: fix CODE_INDENT checkpatch.pl errors Fix occurencies of the following checkpatch.pl error: ERROR: code indent should use tabs where possible Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0bed03524f3e1a4140d339cd69c88120052d3ea Author: Jeff Becker <Jeffrey.C.Becker@xxxxxxxx> Date: Mon Aug 24 11:28:18 2015 -0700 staging/lustre: fix block comment formatting Running checkpatch.pl on lnet/klnds/o2iblnd/o2iblnd.h produces several "Block comments use a trailing */ on a separate line" warnings. This patch fixes these. Signed-off-by: Jeff Becker <Jeffrey.C.Becker@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8369cfff7235d120397b96030beb33a72062f491 Author: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Date: Tue Aug 18 19:24:24 2015 +0530 staging: lustre: lustre: llite: Added a space Added a space to fix the following coding style error detected by checkpatch error: ERROR: space required after that close brace '}' Signed-off-by: Anjali Menon <cse.anjalimenon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 441fda8461c8c1c781c3604d9ddb32747c61657c Author: Maxime Lorrillere <maxime.lorrillere@xxxxxxxxx> Date: Mon Aug 17 14:04:49 2015 +0200 staging: lustre: simplify ptlrpc_deactivate_and_unlock_import The locking scheme used in ptlrpc_deactivate_and_unlock_import and ptlrpc_deactivate_import generates the followings sparse errors: drivers/staging/lustre/lustre/ptlrpc/import.c:209:9: warning: context imbalance in 'ptlrpc_deactivate_and_unlock_import' - unexpected unlock drivers/staging/lustre/lustre/ptlrpc/import.c:221:6: warning: context imbalance in 'ptlrpc_deactivate_import' - wrong count at exit As ptlrpc_deactivate_and_unlock_import is only used by ptlrpc_deactivate_import as a helper function, this patch moves its code into ptlrpc_deactivatre_import to fix the sparse warnings. Signed-off-by: Maxime Lorrillere <maxime.lorrillere@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a75a6068dac25d4022ebcd82192ed6345407843c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Sep 10 15:07:50 2015 +0200 cpu/hotplug: Read_lock(tasklist_lock) doesn't need to disable irqs check_for_tasks() doesn't need to disable irqs, recursive read_lock() from interrupt is fine. While at it, s/do_each_thread/for_each_process_thread/. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Kirill Tkhai <ktkhai@xxxxxxxx> Reviewed-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx> Cc: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150910130750.GA20055@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f9f3ce835ddce3c669eee869253105f88819888b Author: Jagan Teki <jteki@xxxxxxxxxxxx> Date: Wed Aug 19 15:26:44 2015 +0530 mtd: spi-nor: Zap unneeded write_enable from write_reg The 'write_enable' argument is unused and unneeded, so remove it from the API. Signed-off-by: Jagan Teki <jteki@xxxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Han Xu <han.xu@xxxxxxxxxxxxx> [Brian: fixed for nxp-spifi.c] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fd7252346b2b005ea5c5f1b432a63dbb9bb05768 Author: Jagan Teki <jteki@xxxxxxxxxxxx> Date: Wed Aug 19 15:26:43 2015 +0530 mtd: spi-nor: Use write_sr for write status Use existing write_sr() call instead of decoding and calling nor->write_reg separately. Signed-off-by: Jagan Teki <jteki@xxxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a3d22a55cda99bcd151836f39ddd329af6cb1d30 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 10:30:25 2015 +0200 mtd: nand: sunxi: rely on nand_dt_init initialization nand_dt_init(), called from nand_scan_ident(), is already parsing the generic MTD/NAND DT properties, and initializing the nand_chip struct accordingly. Rely on this initialization instead of manually parsing those properties. Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> [Brian: rename 'np' -> 'flash_node' to accomodate for prior rename patch] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 61528d888adf9470db73aaadf1ff9ca35942262a Author: Marek Vasut <marex@xxxxxxx> Date: Thu Sep 3 18:35:37 2015 +0200 mtd: nand: Rename nand_chip .dn to .flash_node Use a more descriptive name for the device_node element in struct nand_chip . This name matches the element name used for device_node property of a flash in the spi-nor framework. Signed-off-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 11bff0b70cc003b995cf4c2acec4adab90957b02 Author: Marek Vasut <marex@xxxxxxx> Date: Thu Sep 3 18:35:36 2015 +0200 mtd: spi-nor: Decouple SPI NOR's device_node from controller device The problem this patch is trying to address is such, that SPI NOR flash devices attached to a dedicated SPI NOR controller cannot read their properties from the associated struct device_node. A couple of facts first: 1) Each SPI NOR flash has a struct spi_nor associated with it. 2) Each SPI NOR flash has certain device properties associated with it, for example the OF property 'm25p,fast-read' is a good pick. These properties are used by the SPI NOR core to select which opcodes are sent to such SPI NOR flash. These properties are coming from spi_nor .dev->of_node . The problem is, that for SPI NOR controllers, the struct spi_nor .dev element points to the struct device of the SPI NOR controller, not the SPI NOR flash. Therefore, the associated dev->of_node also is the one of the controller and therefore the SPI NOR core code is trying to parse the SPI NOR controller's properties, not the properties of the SPI NOR flash. Note: The m25p80 driver is not affected, because the controller and the flash are the same device, so the associated device_node of the controller and the flash are the same. This patch adjusts the SPI NOR core such that the device_node is not picked from spi_nor .dev directly, but from a new separate spi_nor .flash_node element. This let's the SPI NOR controller drivers set up a different spi_nor .flash_node element for each SPI NOR flash. This patch also fixes the controller drivers to be compatible with this modification and correctly set the spi_nor .flash_node element. This patch is inspired by 5844feeaa4154d1c46d3462c7a4653d22356d8b4 mtd: nand: add common DT init code Signed-off-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fd1ee4cc9326c97b52154ee2ef8cdd23ac6aae1c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Sep 11 21:57:24 2015 +0200 drm/i915: Update DRIVER_DATE to 20150911 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 29d28c5060023e661965c51c7e8f53bc9eb44fc4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 11 19:10:38 2015 +0530 ALSA: hdsp: fix memory leak If the size of the firmware is less than expected size then we are exiting with the error code but we missed releasing the firmware. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c86fb9d997428e0d55ab5a47488b6ba3bc4b5c5b Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 10 22:39:22 2015 +0200 drm: Nuke drm_framebuffer->helper_private It's completely unused and there's really no reason for this: - drm_framebuffer structures are invariant after creation, no need for helpers to manipulate them. - drm_framebuffer structures should just be embedded (and that's what all the drivers do). Stumbled over this since some folks are apparently concerned with the overhead of struct drm_framebuffer and this is an easy 8 byte saving. More could be gained by ditching the legacy fields and recomputing stuff from the fourcc value. But that would require some drm-wide cocci and real justification. Cc: gary.k.smith@xxxxxxxxx Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 88622d80af827b23201d62bbc1697541308f85e9 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Thu Sep 10 21:07:49 2015 +0200 ata: pata_pxa: dmaengine conversion The PXA architecture was offered a slave dmaengine support. As a consequence the direct DMA registers are progressively replaced by dmaengine support. This makes the pata_pxa change, which brings this driver to almost a generic ATA 40-wires driver relying on dmaengine for transfers. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f0fea8dd362c77a06e7b8744d63f429fe065c6b4 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Tue Sep 8 12:52:48 2015 +0100 drm/i915: Remove one very outdated comment Comment disagrees with the code which has changed a lot since it was documented. Note that the logic to remove -EIO handling was dropped in commit 1488fc08c1706288616c602416654fd38c773deb Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Apr 24 15:47:31 2012 +0100 drm/i915: Remove the deferred-free list Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f2a066f3dee8a0e37015d15298e14e9ad6c0a53d Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:08:03 2015 +0200 drm/i915: Use crtc->state for duplication. In async mode crtc->config can be updated after the locks are released, resulting in the wrong state being duplicated. Note that this also removes a spurious assignment of crtc_state->crtc introduced in commit f0c60574eb1216b0904c0d696c64d5096d6e4913 Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Date: Tue Apr 21 17:12:58 2015 +0300 drm/i915: Call drm helpers when duplicating crtc and plane states Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bca8013ec24210087bfed49678ec821c811982b1 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:08:02 2015 +0200 drm/i915: Do not handle a null plane state. With the conversion to atomic this cannot happen any more. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8e0e9ceaa05317c6644635f8816705b609f2c274 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:08:00 2015 +0200 drm/i915: Remove legacy plane updates for cursor and sprite planes. Unfortunately fbc still depends on legacy primary state, so it can't be killed off completely yet. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9b4101be5bb165484d143629d17d084d76fdd77c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:07:59 2015 +0200 drm/i915: Use atomic state when changing cursor visibility. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 11c22da619101a5a4332df718268e6214e3919f3 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:07:58 2015 +0200 drm/i915: Use the atomic state in intel_update_primary_planes. This function was still using the legacy state, convert it to atomic. While we're at it, fix the FIXME too and disable the primary plane. v2 (Daniel): - Add FIXME explaining that update_primary_planes should soon get removed anyway. - Don't call ->disable_plane since we can't disable the primary plane with a CS flip (noticed by Ville). Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 23a48d5323bc488f0e350467996e7226f902e0a7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:07:57 2015 +0200 drm/i915: Use the plane state in intel_crtc_info. Legacy state might not be updated any more. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d4b08630fb6e3fe9948456b09feb223fba2b48a6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Sep 10 16:07:56 2015 +0200 drm/i915: Use atomic plane state in the primary plane update. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d8b4c43a4baccecee7106c1432baa986fab9593a Author: Shashank Sharma <shashank.sharma@xxxxxxxxx> Date: Fri Sep 4 18:56:11 2015 +0530 drm/i915: add attached connector to hdmi container This patch adds the intel_connector initialized to intel_hdmi display, during the init phase, just like the other encoders do. This attachment is very useful when we need to extract the connector pointer during the hotplug handler function Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f719a0d6a8541b383c506aaa4b4fa6b4109669f4 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Mar 25 11:27:25 2014 +0100 ARM: efm32: switch to vendor,device compatible strings The mainline drivers were fixed in commits - 4ea8dafd2475 (serial: efm32: use $vendor,$device scheme for compatible string) - 12f6dd860cf8 (spi: efm32: use $vendor,$device scheme for compatible string) - 63cc122381bd (clocksource: efm32: use $vendor,$device scheme for compatible string) which are all in 3.16-rc1 to also support these compatible strings. For the other affected peripherals (adc and gpio) there are no drivers in mainline yet. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit e848f754257d7dec2b9a395a15dce22758492d84 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Mar 14 15:53:52 2014 +0100 ARM: efm32: switch to properly namespaced location property Since commits: 281ec367bff4 (i2c: efm32: correct namespacing of location property) d36f47fa8419 (serial: efm32: correct namespacing of location property) 10ed7e9847b6 (spi: efm32: correct namespacing of location property) (contained in 3.17-rc1) all drivers support the correctly namespaced location property. So use the better names now. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> commit f9b97fe61402f7f18da71e034b1e72f68df82c1a Merge: 7eadd47 2ff46e6 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Sep 9 16:57:39 2015 -0700 Merge MTD 4.3-rc1 updates into -next commit 7eadd47fd708df2028877558d085f47dc9086459 Author: Stefan Roese <sr@xxxxxxx> Date: Fri Aug 28 14:45:21 2015 +0200 mtd: sunxi_nand: Select the chip in sunxi_nand_chip_init_timings() nand_scan_ident() leaves the chip deselected. So just issuing some commands from the sunxi driver does not work. We need to select the chip before writing the commands to the NAND device. This patch takes care of this. Set the new timing on all dies implemented as suggested by Boris. This was detected on the in-circuit ICnova-A20 SoM equipped with the Micron MT29F32G08CBACAWP (4GiB) ONFI NAND device. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Roy Spliet <r.spliet@xxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> [Brian: fixup whitespace] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c099b55a6fa6f9ec2f26105c76df462d7c7c7d5b Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 9 13:46:21 2015 +0200 drm/core: Do not call drm_framebuffer_remove internally during teardown. This may cause issues because encoders are already destroyed so removing active primaries may use freed memory. Instead free the fb directly, ignoring refcount. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fcc9021343212f6a4a52a085b3d383ab29a9ac0a Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Wed Sep 9 14:21:30 2015 +0200 drm: move drm_class into drm_sysfs.c Right now, drm_sysfs_create() returns the newly allocated "struct class" to the caller (which is drm_core_init()), which then has to set the global variable 'drm_class'. During cleanup, though, we call drm_sysfs_destroy() which implicitly uses the global 'drm_class'. This is confusing, as ownership of the global 'drm_class' is non-obvious. This patch changes drm_sysfs_create() to drm_sysfs_init() and makes it initialize the 'drm_class' object directly, rather than returning it. This way, both drm_sysfs_init() and drm_sysfs_destroy() work in a similar fashion and manage the global drm class. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26b91ae4732be89228d207c76827071c6aecc4d8 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Wed Sep 9 14:21:29 2015 +0200 drm: simplify drm_sysfs_destroy() via IS_ERR_OR_NULL() Simplify `foo == NULL || IS_ERR(foo)` via IS_ERR_OR_NULL(). This is pretty commonly used all over the kernel, especially for debugfs/sysfs cleanup paths. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a818d350f6b5ad542175ab1f71c027787ce952e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 7 18:22:58 2015 +0300 drm: Make drm_av_sync_delay() 'mode' argument const drm_av_sync_delay() doesn't change the passed in mode, so make it const. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9e5a3b529e8419db1dd2b32c86a1fb42fc07347d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 7 18:22:57 2015 +0300 drm: Remove the 'mode' argument from drm_select_eld() drm_select_eld() doesn't look at the passed in mode, so don't pass it in. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 85f8fcd619d161d65c53b067e2d99590c0d7bbad Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 7 18:22:56 2015 +0300 drm: Make some modes const when iterating through them valid_inferred_mode() don't change the modes over which it iterates, so make the iterator const. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6ccea107eba46fbc7de40e944bf17145c2809666 Author: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Date: Wed Sep 2 17:05:27 2015 +0300 ath10k: print invalid mcs reported in rx descriptor Sometimes hardware reports invalid mcs index in rx descriptor when operating in VHT80 mode and all packets with invalid mcs will be eventually dropped in mac80211. This issue is observerd during testing on QCA99X0 chipsets. This patch adds a warn message for dumping the rx desc info which helps in analysing the issue when invalid mcs is received. Signed-off-by: Manikanta Pubbisetty <c_mpubbi@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0c6d6f2606dfe3758265fb29bfe8103e89d99bab Author: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Date: Wed Sep 2 13:20:20 2015 +0200 ath10k: fix beamformer VHT sounding dimensions capability Similarly to the VHT STS, this is supposed to be propagated by firmware. In case it's not, use the default value, but as last resort. Signed-off-by: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 707a0c811ca02861f1500f0696efebcf3bd2e2e2 Author: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Date: Wed Sep 2 13:20:19 2015 +0200 ath10k: fix beamformee VHT STS capability The VHT STS CAP shall be reported by firmware to host, like in case of QCA99x0. For QCA6174 hw family this isn't set for some reason. So for this particular chips, let's assume it has the ability to support VHT NDP in up to 4 STSs (which is true by the way). Change the published beamformee STS cap accordingly to 3 or to what the firmware reports. Assumption so far, it suppose to be the num_rf_chains-1, was completely wrong. Signed-off-by: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7b7da0a02192fd518c26c46dad6b14aca4569605 Author: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Date: Mon Aug 31 16:34:55 2015 +0530 ath10k: drop probe responses when too many are queued In a noisy environment, when multiple interfaces are created, the management tx descriptors are fully occupied by the probe responses from all the interfaces. This prevents a new station from a successful association. Fix this by limiting the probe responses when the specified threshold limit is reached. Signed-off-by: Vivek Natarajan <nataraja@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a925a3763982799460b9e9b5299520172652b785 Author: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Date: Fri Aug 28 17:21:34 2015 +0530 ath10k: fix DMA alloc failure for target requested memory chunks During long hours of stress testing like AP interface up/down along with continuous ping flood from a station doing connect/disconnect, it is observed that the system is not able to allocate DMA consistent memory of size > 512KB chunks as requested by firmware in WMI_SERVICE_EVENTID. With the system memory getting fragmented during the run based on the size of the memory requested, the failure to return physically continguous memory of high order can happen. Once the system gets to this situation, bringing up the wifi interface will fail and a system reboot may be needed to make it work again. This problem is obseved with QCA99X0. To fix this issue, allocate the DMA memory requested by firmware during device probe time and keep it during the life time of the device. WMI service ready event handler is changed to allocate the memory chunks if it is not already allocated or if the memory allocated for the previous ready event is not same as the current requested ones. After this patch the memory usage when wifi is inactive will be inceased by few 100KB to 3MB based on the target type. Failure happens with the following stack trace [29557.488773] kworker/u4:1: page allocation failure: order:8, mode:0xd0 [29557.494297] CPU: 0 PID: 8402 Comm: kworker/u4:1 Not tainted 3.14.43 #7 [29557.500793] Workqueue: ath10k_aux_wq ath10k_wmi_event_service_ready_work [ath10k_core] [29557.508602] [<c021e9b0>] (unwind_backtrace) from [<c021ba90>] (show_stack+0x10/0x14) [29557.516580] [<c021ba90>] (show_stack) from [<c03bdddc>] (dump_stack+0x88/0xcc) [29557.523612] [<c03bdddc>] (dump_stack) from [<c0290e34>] (warn_alloc_failed+0xdc/0x108) [29557.531515] [<c0290e34>] (warn_alloc_failed) from [<c0292d88>] (__alloc_pages_nodemask+0x4f0/0x654) [29557.540485] [<c0292d88>] (__alloc_pages_nodemask) from [<c0222b48>] (__dma_alloc_buffer.isra.20+0x2c/0x104) [29557.550260] [<c0222b48>] (__dma_alloc_buffer.isra.20) from [<c0222c34>] (__alloc_remap_buffer.isra.23+0x14/0xb8) [29557.560413] [<c0222c34>] (__alloc_remap_buffer.isra.23) from [<c022305c>] (__dma_alloc+0x224/0x2b8) [29557.569490] [<c022305c>] (__dma_alloc) from [<c0223208>] (arm_dma_alloc+0x84/0x90) [29557.577010] [<c0223208>] (arm_dma_alloc) from [<bf5159d0>] (ath10k_wmi_event_service_ready_work+0x2f8/0x420 [ath10k_core]) [29557.588055] [<bf5159d0>] (ath10k_wmi_event_service_ready_work [ath10k_core]) from [<c024260c>] (process_one_work+0x20c/0x328) [29557.599305] [<c024260c>] (process_one_work) from [<c02432d0>] (worker_thread+0x228/0x360) [29557.607470] [<c02432d0>] (worker_thread) from [<c0247f88>] (kthread+0xd8/0xec) [29557.614750] [<c0247f88>] (kthread) from [<c0208d18>] (ret_from_fork+0x14/0x3c) [29557.712751] Normal: 696*4kB (UEMR) 512*8kB (UEMR) 367*16kB (UEMR) 404*32kB (UEMR) 455*64kB (UEMR) 424*128kB (UEMR) 379*256kB (UMR) 327*512kB (UMR) 1*1024kB (R) 0*2048kB 0*4096kB = 374544kB Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@xxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 6986fdd699f9be57cc1478c738ea6347e3d52547 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 27 14:47:33 2015 +0200 ath10k: fix mu-mimo rx status reporting MU-MIMO Rx involves different interpretation of the VHT-SIG-A compared to SU-MIMO. The incorrect interpretation led ath10k to report VHT MCS values greater than 9 which subsequently prompted mac80211 to drop such frames. This effectively broke Rx with MU-MIMO in many cases and manifested with a kernel warning in the log which looked like this: [ 14.552520] WARNING: CPU: 2 PID: 0 at net/mac80211/rx.c:3578 ieee80211_rx+0x26c/0x940 [mac80211]() [ 14.552522] Rate marked as a VHT rate but data is invalid: MCS: 10, NSS: 2 ... call trace follows ... Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 68ec2a2a24815c0ee359b1327b60a276cd2280d8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:30 2015 +0300 drm/dp: Use I2C_WRITE_STATUS_UPDATE to drain partial I2C_WRITE requests When an i2c WRITE gets an i2c defer or short i2c ack reply, we are supposed to switch the request from I2C_WRITE to I2C_WRITE_STATUS_UPDATE when we continue to poll for the completion of the request. v2: Don't assume DP_AUX_I2C_WRITE is 0 even though it is, to make the code more obvious to the casual reader (Jani) Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Resolve conflict due to changed context.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f993406182b3ffad7c53ffc180b65e2b7e3d8986 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:29 2015 +0300 drm/tegra: Handle I2C_WRITE_STATUS_UPDATE for address only writes A address-only I2C_WRITE can't be replied with a short i2c ack, but I suppose it could be replied with an i2c defer. So the code should be prepared for an address-only I2C_WRITE_STATUS_UPDATE. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: "Terje Bergström" <tbergstrom@xxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1f75b29d3fc9abb06b095860f9312f8190e6015b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:28 2015 +0300 drm/radeon: Handle DP_AUX_I2C_WRITE_STATUS_UPDATE When we get an i2c defer or short ack for i2c-over-aux write we need to switch to WRITE_STATUS_UPDATE to poll for the completion of the original request. Looks like radeon doesn't do anything special with the request type, so hopefully just treating it the same as a i2c write is enough. Cc: Alex Deucher <alexander.deucher@xxxxxxx> Cc: "Christian König" <christian.koenig@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c1e74122fb029d30b66d9364122aef50265354aa Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:27 2015 +0300 drm/i915: Handle DP_AUX_I2C_WRITE_STATUS_UPDATE When we get an i2c defer or short ack for i2c-over-aux write we need to switch to WRITE_STATUS_UPDATE to poll for the completion of the original request. i915 doesn't try to interpret wht request type apart from separating reads from writes, and so we should be able to treat this the same as a normal i2c write. Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 2b712be72fddc74ac12c2857af24a20a93d9e9c0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 17:23:26 2015 +0300 drm/dp: s/I2C_STATUS/I2C_WRITE_STATUS_UPDATE/ Rename the I2C_STATUS request to I2C_WRITE_STATUS_UPDATE to match the spec. Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ecfb4598512a7c3e21df2941db58c10461583bb9 Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Mon Sep 7 16:23:16 2015 +0800 ahci: added a new driver for supporting Freescale AHCI sata Currently Freescale QorIQ series SATA is supported by ahci_platform driver. Some SoC specific settings have been put in uboot. So whether SATA works or not heavily depends on uboot. This patch will add a new driver to support QorIQ sata which removes the dependency on any other boot loader. Freescale QorIQ series sata, like ls1021a ls2085a ls1043a, is compatible with serial ATA 3.0 and AHCI 1.3 specification. Signed-off-by: Yuantian Tang <Yuantian.Tang@xxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 437dd8c3c20fa750a9db2e6b39b5e2ff7d01c79e Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Mon Sep 7 16:23:15 2015 +0800 devicetree:bindings: add devicetree bindings for Freescale AHCI adds bindings for Freescale QorIQ AHCI SATA controller. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit fc4f370d77f867fe327fb3591030930693e5438e Author: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Date: Mon Sep 7 16:23:14 2015 +0800 Revert "ahci: added support for Freescale AHCI sata" This reverts commit 5163fb62541e ("ahci: added support for Freescale AHCI sata") The reverted patch added Freescale QorIQ AHCI sata support to ahci_platform driver though, but it left SoC specific settings to uboot. It leads to QorIQ sata heavily depending on uboot. In order to removing the dependency we first revert the old patch and then will add a new driver for QorIQ SATA. Since there are no LS* platforms that have been upstreamed, So the revert would not break anything exists. Signed-off-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3bd7617596df560e2cb22ad97888cb42dae39d02 Merge: 21adf76 cf2f33a Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 8 16:22:29 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: - Use PERF_RECORD_SWITCH when available in intel-pt, instead of "sched:sched_switch" events, enabling an unprivileged user to trace multi-threaded or multi-process workloads. (Adrian Hunter) - Always use non inlined file name for 'srcfile' sort key. (Andi Kleen) - Quieten failed to read counter message, helps in systems without backend-stalled-cycles. (Andi Kleen) Infrastructure changes: - Add a 'perf test' entry for decoding of new x86 instructions. (Adrian Hunter) - Add new instructions (sha, clflushopt, clwb, pcommit, rdpkru, wrpkru, xsavec, xsaves, xrstors) to the x86 instruction decoder. (Adrian Hunter) - Add a build test to warn when source code drifts happen for the instruction decoder files in the kernel and in tools/perf. (Adrian Hunter) - Copy linux/filter.h to tools/include. (He Kuang) - Support function __get_dynamic_array_len in libtraceevent. (He Kuanguuu) - Tracing path finding/mounting/error reporting refactorings. (Jiri Olsa) - Store CPU socket and core IDs in perf.data. (Kan Liang) - Reorganize add/del probe insertion routines in 'perf probe'. (Namhyung Kim, Wang Nan) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 397fd77c0491ceb0ed4783eb88fc05d0222e2030 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Sep 8 15:00:45 2015 +0200 drm/atomic-helper: Implement drm_atomic_helper_duplicate_state() This function can be used to duplicate an atomic state object. This is useful for example to implement suspend/resume, where the state before suspend can be saved and restored upon resume. v2: move locking to caller, be more explicit about prerequisites v3: explicitly pass lock acquisition context, improve kerneldoc Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6e48ae3269e3b89d8014d0eb2e35678b0d242b3d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 13:52:45 2015 +0200 drm/atomic-helper: Pimp docs with recommendations for rpm drivers Requested by Laurent. Note that this uses the new markdown support which will only land in kernel 4.4 (for the code snippet). v2: A few spelling fixes I spotted myself. v3: Big reword for commit_planes() kerneldoc based on a text from Laurent. Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> (v1 on irc) Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit aef9dbb8f779ae0ffb46313b07700cac72b58ff4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 8 12:02:07 2015 +0200 drm/atomic-helper: Add option to update planes only on active crtc With drivers supporting runtime pm it's generally not a good idea to touch the hardware when it's off. Add an option to the commit_planes helper to support this case. Note that the helpers already add all planes on a crtc when a modeset happens, hence plane updates will not be lost if drivers set this to true. v2: Check for NULL state->crtc before chasing the pointer. Also check both old and new crtc if there's a switch. Finally just outright disallow switching crtcs for a plane if the plane is in active use, on most hardware that doesn't make sense. v3: Since commit_planes(active_only = true) is for enabling things only after all the crtc are on we should only look at the new crtc to decide whether to call the plane hooks - if the current CRTC isn't on then skip. If the old crtc (when moving a plane) went down then the plane should have been disabled as part of the pipe shutdown work already. For which there's currently no helper really unfortunately. Also move the check for wether a plane gets a new CRTC assigned while still in active use out of this patch. v4: Rebase over exynos changes. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Tested-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 844f9111f6f54f88eb2f0fac121b82ce77193866 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Sep 2 10:42:40 2015 +0200 drm/atomic: Make prepare_fb/cleanup_fb only take state, v3. This removes the need to separately track fb changes i915. That will be done as a separate commit, however. Changes since v1: - Add dri-devel to cc. - Fix a check in intel's prepare and cleanup fb to take rotation into account. Changes since v2: - Split out i915 changes to a separate commit. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Daniel Stone <daniels@xxxxxxxxxxxxx> [danvet: Squash in msm fixup from Maarten.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 825926d8e0bfa6f933706236603bb74a8cea002c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 13:58:09 2015 +0200 drm/atomic: Make sure lock is held in trylock contexts. This will make sure we get a lockdep spat in all cases even if the context is a complete garbage pointer. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53edb2c62e1a884f53a74899cc7e9558fd89051a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 31 15:09:27 2015 +0300 drm/i2c/ch7006: Constify ch7006_tv_norms[] and ch7006_modes[] drivers/gpu/drm/i2c/ch7006.ko: -.text 5913 +.text 5897 -.rodata 664 +.rodata 7256 -.data 6992 +.data 416 Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b7c914b3d94e93bd9b442226231b0bba84c9fa2c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 31 15:09:26 2015 +0300 drm: Constify TV mode names Make the mode names passed to drm_mode_create_tv_properties() const. drivers/gpu/drm/i2c/ch7006.ko: -.rodata 596 +.rodata 664 -.data 7064 +.data 6992 drivers/gpu/drm/nouveau/nouveau.ko: -.rodata 146808 +.rodata 146904 -.data 178624 +.data 178528 Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a5b62374618f629f5d9d6d86f3bef9b552fc980b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 31 15:09:25 2015 +0300 drm: Constify generic_edid_names[] Make generic_edid_names[] const since it's supposed to be immutable. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 96206e2922c114b13cadefa03b9f340b58fee13c Author: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> Date: Thu Aug 27 10:04:13 2015 -0700 dtrm/edid: Allow comma separated edid binaries. (v3) Allow comma separated filenames in the edid_firmware parameter. For example: edid_firmware=eDP-1:edid/1280x480.bin,DP-2:edid/1920x1080.bin v2: Use strsep() to simplify parsing of comma seperated string. (Matt) Move initial bail before strdup. (Matt) v3: Changed conditionals after while loop to make more readable (Jani) Updated kernel-parameters.txt to reflect changes (Jani) Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Bob Paauwe <bob.j.paauwe@xxxxxxxxx> [danvet: Flatten else control flow and appease checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8aeb41c4b7e9de0a4df4ed1ba78cd6ee5c87281 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 26 21:49:42 2015 +0200 drm/atomic: refuse changing CRTC for planes directly Very strictly speaking this is possible if you have special hw and genlocked CRTCs. In general switching a plane between two active CRTC just won't work so well and is probably not tested at all. Just forbid it. I've put this into the core since right now no helper or driver copes with it, no userspace has code for it and no one asks for it. Yes there's piles of corner-cases where this would be possible to do this like: - switch from inactive crtc to active crtc - switch from active crtc to inactive crtc - genlocked display - invisible plane (to do whatever) - idle plane hw due to dsi cmd mode/psr - whatever but looking at details it's not that easy to implement this correctly. Hence just put it into the core and add a comment, since the only userspace we have right now for atomic (weston) doesn't want to use direct plane switching either. v2: don't bother with complexity and just outright disallow plane switching without the intermediate OFF state. Simplifies drivers, we don't have any hw that could do it anyway and current atomic userspace (weston) works like this already anyway. v3: Bikeshed function name (Ville) and add comment (Rob). v4: Also bikeshed commit message (Rob). v5: Fix compile warnings reported by 0-day. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Daniel Stone <daniels@xxxxxxxxxxxxx> Acked-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Acked-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f64c5573d253ab3f9c01b4056c5f75a889d18502 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Aug 25 15:45:13 2015 +0200 drm/fb-helper: Add module option to disable fbdev emulation Faster than recompiling. Note that restore_fbdev_mode_unlocked is a bit special and the only one which returns an error code when fbdev isn't there - i915 needs that one to not fall over with some additional fbcon related restore code. Everyone else just ignores the return value or only prints a DRM_DEBUG level message. Reviewed-by: Archit Taneja <architt@xxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a39a357c6ca3c88ad64e9b51bd7607c06cd6d35d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Aug 25 15:45:11 2015 +0200 drm: Make drm_fb_unregister/remove accept NULL fb These functions are used by drivers to release fbdev emulation buffers. We need to make them resilient to NULL pointers to make the fbdev compile/runtime knobs not cause Oopses on module unload. Cc: Archit Taneja <architt@xxxxxxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b7bdf0a87add0fead1550533e328a290d8f9da6c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Aug 25 17:20:28 2015 +0200 drm/fb-helper: Use -errno return in restore_mode_unlocked Using bool and returning true upon error is very uncommon. Also an int return value is actually what all the callers which did check it seem to have expected. v2: Restore hunk misplaced in a rebase, spotted by Rob. Cc: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26196f7e11f4b2494a2c14eb789fc61a91207e79 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Aug 25 16:26:03 2015 +0200 drm/atomic-helper: properly annotate functions in kerneldoc Without the () the markup and more important hyperlinking wont happen. v2: Also fix nearby type Laurent spotted. v3: Actually git add. Argh! Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit fe8660acd8853ad9f95b94a04cce384949ddecfe Author: Danilo Cesar Lemes de Paula <danilo.cesar@xxxxxxxxxxxxxxx> Date: Fri Aug 21 16:46:14 2015 -0300 drm/doc: Fixing xml documentation warning "/**" should be used for kernel-doc documentation only. It causes a warning with the new "in struct body" format. 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> Cc: Graham Whaley <graham.whaley@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bbda9c1f170e4b31f5d827372ee9a3fb8389f7fa Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Aug 19 19:21:14 2015 -0400 drm: cleanup modesetting ioctls, one param per line Since this already confused me once when adding addfb2.1, let's clean up the header to split params one per line. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fafecc01bcce4a21c0644c79de833e659882d33a Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Sun Aug 16 04:02:28 2015 +0100 drm/mm: Do DRM_MM_CREATE_TOP adj_start calculation after color_adjust The adj_start calculation for DRM_MM_CREATE_TOP should happen after mm->color_adjust. There was an inconsistency between drm_mm_insert_helper_range and drm_mm_insert_helper, as the later was already updating after color_adjust. Didn't spot it before, as color_adjust is only done in systems without LLC. But I'm not aware of anybody using this test case yet. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bcfe0c0954f3336c44993e5ce444e09ad6087637 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Aug 13 17:06:39 2015 -0300 drm: WARN_ON if a modeset driver uses legacy suspend/resume helpers Legacy s/r hooks are only used for shadow-attaching drivers, warn when a KMS driver tries to use them. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit decb4c41159e1511197f2964da758fa7f2eeb741 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:43 2015 +0200 x86/headers: Remove <asm/sigcontext.h> references on the kernel side Now that all type definitions are in the UAPI header, include it directly, instead of through <asm/sigcontext.h>. [ We still keep asm/sigcontext.h, so that uapi/asm/sigcontext32.h can include <asm/sigcontext.h>. ] Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-16-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 711531f4f3cb881f4598cddfcc36663101dee411 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:42 2015 +0200 x86/headers: Remove direct sigcontext32.h uses Now that all sigcontext types are defined in asm/sigcontext.h, remove the various sigcontext32.h uses in the kernel. We still keep the header itself, which includes sigcontext.h, in case user-space relies on it. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-15-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8fcb346b910e860d2525457742ae984c4ddc64b5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:41 2015 +0200 x86/headers: Convert sigcontext_ia32 uses to sigcontext_32 Use the new name in kernel code, and move the old name to the user-space-only legacy section of the UAPI header. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-14-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db1e031401c6abab983919e882916d028f3b385e Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:40 2015 +0200 x86/headers: Unify 'struct sigcontext_ia32' and 'struct sigcontext_32' The two structures are identical - merge them and keep the legacy name as a define. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-13-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 530e5c827182a7a5322c55276b0617fd06874c24 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:39 2015 +0200 x86/headers: Make sigcontext pointers bit independent Before we can eliminate the duplication between 'struct sigcontext_32' and 'struct sigcontext_ia32', make the 'fpstate' pointer field in 'struct sigcontext_32' bit independent. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-12-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f2c609bca0b6526810fa22330ce4d173cc023ef8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:38 2015 +0200 x86/headers: Move the 'struct sigcontext' definitions into the UAPI header Our goal is to eliminate the duplicate struct sigcontext_ia32 definition, so move the kernel's primary sigcontext type into the UAPI header, defining these two variants: struct sigcontext_32 struct sigcontext_64 ... and map them to 'struct sigcontext'. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-11-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2d057c69e743bfb88f1259ddbf1b1160bdd850e5 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:37 2015 +0200 x86/headers: Clean up the kernel's struct sigcontext types to be ABI-clean Use the __u16/32/64 types we standardized on in ABI definitions and which other sigcontext related types are already using. This will help unify struct sigcontext types between native 32-bit, compat and 64-bit kernels. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-10-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 86e9fc3a0ecdd3c21a938e325daf462ca1724f68 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:36 2015 +0200 x86/headers: Convert uses of _fpstate_ia32 to _fpstate_32 Remove uses of _fpstate_ia32 from the kernel, and move the legacy _fpstate_ia32 definition to the user-space only portion of the header. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-9-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7bb0dc2222779b4cbf1ec9ad651e500e62fa5b11 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:35 2015 +0200 x86/headers: Unify 'struct _fpstate_ia32' and i386 struct _fpstate 'struct _fpstate_ia32' and 'struct _fpstate' on i386 are identical in all fields, except 'padding1' being named 'padding'. We unify the two structures and add a union that is both named 'padding1' and 'padding', in the (unlikely) case there's user-space code that relies on the padding field name. We rename the two main types to be: struct _fpstate_32 struct _fpstate_64 for the 32-bit and 64-bit frame, and map them to the main and compat structure names (_fpstate) depending on whether we are on 32-bit or on 64-bit kernels. We also keep the old _fpstate_ia32 name as a legacy name. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-8-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 337a167d1a5b2704414679d1a993220a4613ec13 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:34 2015 +0200 x86/headers: Unify register type definitions between 32-bit compat and i386 The following sigcontext related types were duplicated across native 32-bit and compat 32-bit headers: struct _fpreg; struct _fpxreg; struct _xmmreg; X86_FXSR_MAGIC Unify them. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-7-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3f623a5b27c150451387e358774131780dbd2407 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:33 2015 +0200 x86/headers: Use ABI types consistently in sigcontext*.h Use the __u16/32/64 types we standardized on in ABI definitions - and which most of this header was already using. This will allow us to more obviously unify the compat header into the main header. No change in functionality. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-6-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 128f8257a17a47b9a40f550cc2f36458cd8c07b0 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:32 2015 +0200 x86/headers: Separate out legacy user-space structure definitions Better separate the user-space struct sigcontext definitions from the kernel definitions, so that we can unify the kernel definitions with sigcontext32.h. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-5-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cbf5f4fbf435e871e59d49653d555266b8796efc Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:31 2015 +0200 x86/headers: Clean up and better document uapi/asm/sigcontext.h Clean up sigcontext.h: - the explanations were full of typos and were hard to read in general - use consistent and readable vertical spacing - fix, harmonize and extend comments No field name has been changed, user-space might be relying on them. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-4-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c3f4986fb0774bb13feb4bade1276bed2ba8a3db Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:30 2015 +0200 x86/headers: Clean up uapi/asm/sigcontext32.h Clean up sigcontext32.h a bit: - use consistent and readable vertical spacing - fix, harmonize and extend comments No field name has been changed, user-space might be relying on them. Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-3-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b76cb6c869b966b4c991251136b45b3e1babc4e8 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 5 09:32:29 2015 +0200 x86/headers: Fix (old) header file dependency bug in uapi/asm/sigcontext32.h Mikko Rapeli reported that the following standalone user-space header does not compile: #include <asm/sigcontext32.h> Due to undefined 'struct __fpx_sw_bytes' which is defined in asm/sigcontext.h. The following header order works: #include <asm/sigcontext.h> #include <asm/sigcontext32.h> and that's probably how everyone's been using these headers for the past decade or so, but it's a legit header file dependency bug, so include asm/sigcontext.h in sigcontext32.h to allow it to be built standlone. Reported-by: Mikko Rapeli <mikko.rapeli@xxxxxx> Acked-by: Mikko Rapeli <mikko.rapeli@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: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1441438363-9999-2-git-send-email-mingo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4a999d253195db87f18215049cf7a44f795f4ca0 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 4 16:55:15 2015 +0300 drm/i915: don't hard code vlv backlight frequency if unset Fall back to VBT based backlight modulation frequency if it's not set. Do not hard code. This could be a problem if there is no VBT. Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Tested-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa17cdb4f8367875d3a53c41e004fc02e983e317 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 4 16:55:14 2015 +0300 drm/i915: initialize backlight max from VBT Normally we determine the backlight PWM modulation frequency (which we also use as backlight max value) from the backlight registers at module load time, expecting the registers have been initialized by the BIOS. If this is not the case, we fail. The VBT contains the backlight modulation frequency in Hz. Add platform specific functions to convert the frequency in Hz to backlight PWM modulation frequency, and use them to initialize the backlight when the registers are not initialized by the BIOS. v2: Fix SPT and VLV. Thanks to Clint for the VLV code. Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 437b15b8017e0d946453c10794b0c5d4591cf180 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 4 16:55:13 2015 +0300 drm/i915: use pch backlight override on hsw too Currently the difference between backlight control on HSW vs. BDW/SKL is that on HSW we modify the duty cycle on the CPU register, and have the hardware pass the changes on to the PCH registers. We still drive the PCH PWM on both. While HSW and BDW use the same LPT PCH, BDW does not pass these messages on to the PCH. Therefore on BDW we need to enable the PCH override bit, and program the PCH directly. (On SPT PCH, this mode is the default.) We could as well do this on HSW too, and in fact I've been told this is what a certain other operating system does. So use PCH backlight override on HSW too. This simplifies some follow-up code, but it does have the danger of breaking backlight on HSW machines. It should work, but mysterious are the ways of backlight. While at it, name the related backlight hooks according to the PCH rather than the CPU for clarity. Cc: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a7546159718171ba9f2a4df37b574c64b1589b5d Author: Nick Hoath <nicholas.hoath@xxxxxxxxx> Date: Mon Jun 29 14:07:32 2015 +0100 drm/i915/bxt: Clean up bxt_init_clock_gating Add stepping check for A0 workarounds, and remove the associated FIXME tags. Split out unrelated WAs for later condition checking. v2: Fixed format (PeterL) v3: Corrected stepping check for WaDisableSDEUnitClockGating - Ignoring comment, following hardware spec instead. (ChrisH) Added description for TILECTL setting (JonB) Cc: Peter Lawthers <peter.lawthers@xxxxxxxxx> Cc: Chris Harris <chris.harris@xxxxxxxxx> Cc: Jon Bloomfield <jon.bloomfield@xxxxxxxxx> Signed-off-by: Nick Hoath <nicholas.hoath@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cf2f33a4e54096f90652cca3511fd6a456ea5abe Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Sep 4 13:22:06 2015 -0300 perf trace: Add read/write to the file group 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-l6812iuai3g486z3mn8ufan8@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e607f1426b584f2bd3f688a2d416baf963251e7a Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Sep 4 21:16:03 2015 +0900 perf probe: Print deleted events in cmd_probe() Showing actual trace event when deleteing perf events is only needed in perf probe command. But the add functionality itself can be used by other places. So move the printing code into the cmd_probe(). The output is not changed. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441368963-11565-5-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e7895e422e4da63daedacad0a2ed1a5a6b502d66 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Sep 4 21:16:02 2015 +0900 perf probe: Split del_perf_probe_events() The del_perf_probe_events() does 2 things: 1. find existing events which match to filter 2. delete such trace events from kernel But sometimes we need to do something with the trace events. So split the funtion into two, so that it can access intermediate trace events name using strlist if needed. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441368963-11565-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b02137cc6550c1fa28e9a7c943a79fe6e4c4378d Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Sep 4 21:16:01 2015 +0900 perf probe: Move print logic into cmd_probe() Showing actual trace event when adding perf events is only needed in perf probe command. But the add functionality itself can be used by other places. So move the printing code into the cmd_probe(). Also it combines the output if more than one event is added. Before: $ sudo perf probe -a do_fork -a do_exit Added new event: probe:do_fork (on do_fork) You can now use it in all perf tools, such as: perf record -e probe:do_fork -aR sleep 1 Added new events: probe:do_exit (on do_exit) probe:do_exit_1 (on do_exit) You can now use it in all perf tools, such as: perf record -e probe:do_exit_1 -aR sleep 1 After: $ sudo perf probe -a do_fork -a do_exit Added new events: probe:do_fork (on do_fork) probe:do_exit (on do_exit) probe:do_exit_1 (on do_exit) You can now use it in all perf tools, such as: perf record -e probe:do_exit_1 -aR sleep 1 Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441368963-11565-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 12fae5ef6dc6031ffcf4dffc6be5a16080e7dd7d Author: Wang Nan <wangnan0@xxxxxxxxxx> Date: Fri Sep 4 21:16:00 2015 +0900 perf probe: Link trace_probe_event into perf_probe_event This patch drops struct __event_package structure. Instead, it adds a 'struct trace_probe_event' pointer to 'struct perf_probe_event'. The trace_probe_event information gives further patches a chance to access actual probe points and actual arguments. Using them, 'perf probe' can get the whole list of added probes and print them at once. Other users like the upcoming bpf_loader will be able to attach one bpf program to different probing points of an inline function (which has multiple probing points) and glob functions. Moreover, by reading the arguments information, bpf code for reading those arguments can be generated. Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441368963-11565-2-git-send-email-namhyung@xxxxxxxxxx [namhyung: extract necessary part from the existing patch] Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 844dffa598b55fca6a83a856214fc0cfc3da24e5 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Sep 4 21:15:59 2015 +0900 perf probe: Split add_perf_probe_events() The add_perf_probe_events() does 3 things: 1. convert all perf events to trace events 2. add all trace events to kernel 3. cleanup all trace events But sometimes we need to do something with the trace events. So split the funtion into three, so that it can access intermediate trace events via struct __event_package if needed. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1441368963-11565-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 86c2786994bd7c0d4b525bbfbe42ac540d0b8166 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Aug 13 12:40:57 2015 +0300 perf intel-pt: Add support for PERF_RECORD_SWITCH Add support for selecting and processing PERF_RECORD_SWITCH events for use by Intel PT. If they are available, they will be used in preference to sched_switch events. This enables an unprivileged user to trace multi-threaded or multi-process workloads with any level of perf_event_paranoid. However it depends on kernel support for PERF_RECORD_SWITCH. Without this patch, tracing a multi-threaded workload will decode without error but all the data will be attributed to the main thread. Without this patch, tracing a multi-process workload will result in decoder errors because the decoder will not know which executable is executing. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1439458857-30636-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1b29ac59b1d692c06ec543a5f35e0d9ebb98e003 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Thu Sep 3 08:31:00 2015 -0400 perf session: Don't call dump_sample() when evsel is NULL Need to check evsel before passing it to dump_sample(). 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/1441283463-51050-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f83b6b64eba155cfb43ab8a5d9c422c3e7f603e6 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:31 2015 +0300 x86/insn: perf tools: Add new xsave instructions Add xsavec, xsaves and xrstors to the op code map and the perf tools new instructions test. To run the test: $ tools/perf/perf test "x86 ins" 39: Test x86 instruction decoder - new instructions : Ok Or to see the details: $ tools/perf/perf test -v "x86 ins" 2>&1 | grep 'xsave\|xrst' For information about xsavec, xsaves and xrstors, refer the Intel SDM. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-8-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 978260cdbec3e34a3dfb2277ffc0aa1809457362 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:30 2015 +0300 x86/insn: perf tools: Add new memory protection keys instructions Add rdpkru and wrpkru to the op code map and the perf tools new instructions test. In the case of the test, only the bytes can be tested at the moment since binutils doesn't support the instructions yet. To run the test: $ tools/perf/perf test "x86 ins" 39: Test x86 instruction decoder - new instructions : Ok Or to see the details: $ tools/perf/perf test -v "x86 ins" 2>&1 | grep pkru For information about rdpkru and wrpkru, refer the Intel SDM. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-7-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ac1c8859a81e2fc45db1dbff30bdc572005734ca Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:29 2015 +0300 x86/insn: perf tools: Add new memory instructions Intel Architecture Instruction Set Extensions Programing Reference (Oct 2014) describes 3 new memory instructions, namely clflushopt, clwb and pcommit. Add them to the op code map and the perf tools new instructions test. e.g. $ tools/perf/perf test "x86 ins" 39: Test x86 instruction decoder - new instructions : Ok Or to see the details: $ tools/perf/perf test -v "x86 ins" Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-6-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3fe78d6af9e2f08c4014fd3ccbf9e1ff312dedf1 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:28 2015 +0300 x86/insn: perf tools: Add new SHA instructions Intel SHA Extensions are explained in the Intel Architecture Instruction Set Extensions Programing Reference (Oct 2014). There are 7 new instructions. Add them to the op code map and the perf tools new instructions test. e.g. $ tools/perf/perf test "x86 ins" 39: Test x86 instruction decoder - new instructions : Ok Or to see the details: $ tools/perf/perf test -v "x86 ins" 2>&1 | grep sha Committer note: 3 lines of details, for the curious: $ perf test -v "x86 ins" 2>&1 | grep sha256msg1 | tail -3 Decoded ok: 0f 38 cc 84 08 78 56 34 12 sha256msg1 0x12345678(%rax,%rcx,1),%xmm0 Decoded ok: 0f 38 cc 84 c8 78 56 34 12 sha256msg1 0x12345678(%rax,%rcx,8),%xmm0 Decoded ok: 44 0f 38 cc bc c8 78 56 34 12 sha256msg1 0x12345678(%rax,%rcx,8),%xmm15 $ Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 78173ec6311a22ca9f42cf949cf37754a8b71633 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:27 2015 +0300 x86/insn: perf tools: Pedantically tweak opcode map for MPX instructions The MPX instructions are presently not described in the SDM opcode maps, and there are not encoding characters for bnd registers, address method or operand type. So the kernel opcode map is using 'Gv' for bnd registers and 'Ev' for everything else. That is fine because the instruction decoder does not use that information anyway, except as an indication that there is a ModR/M byte. Nevertheless, in some cases the 'Gv' and 'Ev' are the wrong way around, BNDLDX and BNDSTX have 2 operands not 3, and it wouldn't hurt to identify the mandatory prefixes. This has no effect on the decoding of valid instructions, but the addition of the mandatory prefixes will cause some invalid instructions to error out that wouldn't have previously. Note that perf tools has a copy of the instruction decoder and provides a test for new instructions which includes MPX instructions e.g. $ perf test "x86 ins" 39: Test x86 instruction decoder - new instructions : Ok Or to see the details: $ perf test -v "x86 ins" Commiter notes: And to see these MPX instructions specifically: $ perf test -v "x86 ins" 2>&1 | grep bndldx | head -3 Decoded ok: 0f 1a 00 bndldx (%eax),%bnd0 Decoded ok: 0f 1a 05 78 56 34 12 bndldx 0x12345678,%bnd0 Decoded ok: 0f 1a 18 bndldx (%eax),%bnd3 $ perf test -v "x86 ins" 2>&1 | grep bndstx | head -3 Decoded ok: 0f 1b 00 bndstx %bnd0,(%eax) Decoded ok: 0f 1b 05 78 56 34 12 bndstx %bnd0,0x12345678 Decoded ok: 0f 1b 18 bndstx %bnd3,(%eax) $ Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 98e4619f2b2bb80d310feaac5589b44c000aecc1 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:26 2015 +0300 perf tools: Add a test for decoding of new x86 instructions Add a new test titled: Test x86 instruction decoder - new instructions The purpose of this test is to check the instruction decoder after new instructions have been added. Initially, MPX instructions are tested which are already supported, but the definitions in x86-opcode-map.txt will be tweaked in a subsequent patch, after which this test can be run to verify those changes. The data for the test comes from assembly language instructions in insn-x86-dat-src.c which is converted into bytes by the scripts gen-insn-x86-dat.sh and gen-insn-x86-dat.awk, and included into the test program insn-x86.c as insn-x86-dat-32.c and insn-x86-dat-64.c. The conversion is not done as part of the perf tools build because the test data must be under (git) change control in order for the test to be repeatably-correct. Also it may require a recent version of binutils. Commiter notes: Using it: # perf test decoder 39: Test x86 instruction decoder - new instructions : Ok # perf test -v decoder 39: Test x86 instruction decoder - new instructions : --- start --- test child forked, pid 21970 Decoded ok: 0f 31 rdtsc Decoded ok: f3 0f 1b 00 bndmk (%eax),%bnd0 Decoded ok: f3 0f 1b 05 78 56 34 12 bndmk 0x12345678,%bnd0 Decoded ok: f3 0f 1b 18 bndmk (%eax),%bnd3 <SNIP> Decoded ok: f2 e9 00 00 00 00 bnd jmpq 402 <main+0x402> Decoded ok: f2 e9 00 00 00 00 bnd jmpq 408 <main+0x408> Decoded ok: 67 f2 ff 21 bnd jmpq *(%ecx) Decoded ok: f2 0f 85 00 00 00 00 bnd jne 413 <main+0x413> test child finished with 0 ---- end ---- Test x86 instruction decoder - new instructions: Ok # Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3a9d7723145a6c1be6e9afbb661e3ad7768be2e0 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 2 15:15:25 2015 +0300 perf tools: Display build warning if x86 instruction decoder differs from kernel perf tools has a copy of the x86 instruction decoder used by the kernel. The expectation is that the copy will be kept more-or-less in-synch with the kernel version. Consequently it is helpful to know if there are differences. This patch adds a check into the perf tools build so that a diff is done on the sources, and a warning is printed if they are different. Note that the warning is not fatal and the build continues as normal. The check is done as part of building the instruction decoder, so, like a compiler warning, it is not seen unless the instruction decoder has to be re-compiled. e.g. $ make -C tools/perf >/dev/null $ echo "/* blah */" >> tools/perf/util/intel-pt-decoder/inat_types.h $ make -C tools/perf >/dev/null Warning: Intel PT: x86 instruction decoder differs from kernel $ make -C tools/perf >/dev/null $ Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Qiaowei Ren <qiaowei.ren@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441196131-20632-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 709adcb33928b5bf965587b23ed6544e964584a3 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:42 2015 +0200 tools lib api fs: Add FSTYPE__configured() method Add FSTYPE__configured() (where FSTYPE is one of sysfs, procfs, debugfs, tracefs) interface that returns bool state of the filesystem mount: true - mounted, false - not mounted It will not try to mount the filesystem. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-13-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 73ca85ad364769ffa312b1d892816d8fa23a02bf Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:41 2015 +0200 tools lib api fs: Add FSTYPE__mount() method Adding FSTYPE__mount (where FSTYPE is, as of now, one of sysfs, procfs, debugfs, tracefs) method that tries to mount the filesystem in case no mount of FSTYPE is found. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-12-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c495afb4988dcbb8bae11b8f1bbb7e11f172672b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:40 2015 +0200 tools lib api fs: Add tracefs into fs.c object Adding tracefs support into fs.c framework. It'll replace the tracefs object functionality in following patches. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-11-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8ccfabdb873df2e18b235bfaf2722f7528d220f1 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:39 2015 +0200 tools lib api fs: Add debugfs into fs.c object Adding debugfs support into fs.c framework. It'll replace the debugfs object functionality in following patches. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-10-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 41e3a1fece31d0b2383281e4a917ff4b16fa9223 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:38 2015 +0200 tools lib api fs: Move SYSFS_MAGIC PROC_SUPER_MAGIC into fs.c There's no need to export SYSFS_MAGIC PROC_SUPER_MAGIC in fs.h. Leave them in the fs.c. Link: http://lkml.kernel.org/n/tip-b2cd1bb7yvbazq5oua24oz18@xxxxxxxxxxxxxx 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-9-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b86b0d3570273c6ddc16b1972e82bf7778346286 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:37 2015 +0200 tools lib api fs: Add STR and PATH_MAX macros to fs object We're going to get rid of findfs.h in following patches, but we'll still need these macros. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-8-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 988bdb319246dea977a375beee39a5452e99b3ef Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:35 2015 +0200 tools lib api fs: Move debugfs__strerror_open into tracing_path.c object Moving debugfs__strerror_open out of api/fs/debugfs.c, because it's not debugfs specific. It'll be changed to consider tracefs mount as well in following patches. Renaming it into tracing_path__strerror_open_tp to fit into the namespace. No functional change is intended. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-6-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 592d5a6ba86a31681fa5e20a63a145b0a3b53c8a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:34 2015 +0200 tools lib api fs: Move tracing_path interface into api/fs/tracing_path.c Moving tracing_path interface into api/fs/tracing_path.c out of util.c. It seems generic enough to be used by others, and I couldn't think of better place. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Raphael Beamonte <raphael.beamonte@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 18339f59c3a6698ee17d32970c9e1e450b16e7c3 Author: Maciej Zuk <gzmlke@xxxxxxxxx> Date: Thu Sep 3 21:46:39 2015 +0200 HID: dragonrise: fix HID Descriptor for 0x0006 PID Fixed HID descriptor for DragonRise Joystick. Replaced default descriptor which doubles Z axis and causes mixing values of X and Z axes. Signed-off-by: Maciej Zuk <gzmlke@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 90cdd986335eddb7cac6e456f7c48c1ce76fd095 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Sep 3 09:08:30 2015 -0400 HID: logitech-hidpp: add support to disable tap-to-click on the K400 The Logitech K400 keyboard has an embedded touchpad which is seen as a mouse from the OS point of view. There is a hardware shortcut to disable tap-to-click but the setting is not remembered accross reset, annoying some users. We can toggle this feature from the host by using the feature 0x6010: Touchpad FW items Reported-by: BALATON Zoltan <balaton@xxxxxxxxxx> Tested-by: BALATON Zoltan <balaton@xxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 580a7e82f08c38837dbe08374d649329d3de698b Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Sep 3 09:08:29 2015 -0400 HID: logitech-hidpp: split HIDPP_QUIRK_DELAYED_INIT in two HIDPP_QUIRK_DELAYED_INIT means two things currently: - we want to delay the initialization process - we do not want hid to create an input device based on the report descriptor. This should actually be 2 different quirks so we can have special connect events while still having HID creating the input for us. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 9fe8eccad4425fd024516fac2ebc0a39610441a0 Author: Fernando D S Lima <fernandodsl@xxxxxxxxx> Date: Thu Sep 3 12:56:31 2015 -0300 HID: sensor-hub: Fixup for Lenovo ThinkPad Helix 2 sensor hub report There is an error in the report descriptor of the Thinkpad Helix 2 where logical minimum value (557376) is greater than logical maximum (491200) for all of the magnetic flux axis data fields. This error results in a report descriptor parsing failure that causes the sensors attached to the hub not to be detected. dmesg excerpt: [ 19.866905] drivers/hid/hid-core.c: logical range invalid 0x88140 0x77ec0 [ 19.866914] hid-sensor-hub 0018:2047:0855.0007: item 0 1 0 8 parsing failed [ 19.866926] hid-sensor-hub 0018:2047:0855.0007: parse failed [ 19.866933] hid-sensor-hub: probe of 0018:2047:0855.0007 failed with error -22 Add a report fixup to change magnetic flux logical minimums to -557376 for the parsing to succeed and the sensors to get detected. After applying the fix the sensors get detected, with corresponding drivers (hid-accel-3d,hid-gyro-3d,etc) loaded, and its possible to read their values. Signed-off-by: Fernando D S Lima <fernandodsl@xxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8ffd341c4b66f4a2c0dea93dac9b7141870ea63c Author: Harald Brinkmann <hbrinkmann@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 17:49:26 2015 +0200 HID: saitek: mode button quirk for Mad Catz R.A.T.5 This patch enables the Saitek HID quirk for the mode button of the Mad Catz R.A.T.5 gaming mouse by adding the same quirk that's been neeeded for preivous versions. [jikos@xxxxxxxxxx: update changelog a little bit] Signed-off-by: Harald Brinkmann <hbrinkmann@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 614f4ad7984f930623bf0d25adba707d0d36c6dc Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 2 12:29:40 2015 +0100 drm/i915: Fix cmdparser STORE/LOAD command descriptors Fixes regression from commit f1afe24f0e736b9d7f2275e2b1504af3fe612f2a Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Aug 4 16:22:20 2015 +0100 drm/i915: Change SRM, LRM instructions to use correct length which forgot to account for the length bias when declaring the fixed length. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91844 Reported-by: Andreas Reis <andreas.reis@xxxxxxxxx> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Cc: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 333b8ca8cfcafc8c556d4333fe660283fea691d4 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 3 21:50:16 2015 +0300 drm/i915: Dump pfit state as hex The pfit state is stored as register values, so dump them as hex instead of decimal to make some sense of the error messages. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 96d12cbdbd03a9ce87a75520512ef9ad8c585e92 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Sep 3 16:24:36 2015 +0300 drm/i915: access the PP_ON_DELAYS/PP_OFF_DELAYS regs only pre GEN5 These registers exist only before GEN5, so currently we may access undefined registers on VLV/CHV and BXT. Apply the workaround only pre GEN5. Since the workaround is relevant only when LVDS is present, for clarity apply it only if this is the case. This triggered an unclaimed register access warning on BXT. v2: (Ville) - move the workaround to the LVDS init code - print a debug note about the workaround 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 c5796b7126b2497513bfa9a9341d02cb833d83d6 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Thu Sep 3 16:24:35 2015 +0300 drm/i915: access the PP_CONTROL reg only pre GEN5 This register exists only pre GEN5, but atm we also access it on VLV/BXT/CHV. Prevent accessing it on these latter platforms. 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 01101fa7cc85fffc95798d1f67970dad96063fc6 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 3 13:01:39 2015 +0100 drm/i915: Refactor common ringbuffer allocation code A small, very small, step to sharing the duplicate code between execlists and legacy submission engines, starting with the ringbuffer allocation code. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 742f491d2c204204086d2bc85cc5100daa6ff336 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Sep 3 11:16:09 2015 +0300 drm/i915: use the yesno helper for logging Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1da7d7131c35cde83f1bab8ec732b57b69bef814 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Sep 3 11:16:08 2015 +0300 drm/i915: ignore link rate in TPS3 selection TPS3 is mandatory for downstream devices that support HBR2, and Intel platforms that support HBR2 also support TPS3. Whenever TPS3 is supported by both the source and sink, it should be used. In other words, whenever the source and sink are capable of 5.4 Gbps link, we should anyway go for TPS3, regardless of the link rate being selected. Log an error if the sink has advertized HBR2 capability without TPS3 capability. Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bc5133d595a0ddfaaa5edb4b077f44d92cc8fb0d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Sep 3 11:16:07 2015 +0300 drm/i915/dp: move TPS3 logic to where it's used There is no need to have a separate flag for tps3 as the information is only used at one location. Move the logic there to make it easier to follow. 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 1c132b44f0eabaaf801e79a3e4b98770431a4274 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Sep 2 15:19:26 2015 -0700 drm/i915: Future proof panel fitter. This is another case where we can consider the default is the newest available and not actually a missed case. No functional change. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 22cc27bb7a47cf6ad33b983539b14bc46e65f9b2 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Sep 3 14:38:00 2015 -0700 drm/i915: Future proof uncore_init. Unless future specs tells otherwise we can assume future gens inherit some stuff from the previous so let's handle missed cases when we know tehy should't be there and assume default equals newest one. No functional changes. v2: Remove useless case as pointed out by Ville. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b4834a508a1c25773c929c3d8eb7a29ad1041e19 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Wed Sep 2 15:19:24 2015 -0700 drm/i915: Future proof interrupt handler. These functions are already being called for gen >= 9, so let's be sure when this happens we use whatever is there already for the latest platform. No functional change. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a41a05d70b4fb455256fd3a8348e186f156c310 Author: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Date: Thu Sep 3 19:22:18 2015 +0200 drm/i915/gtt: Avoid calling kcalloc in a loop when allocating temp bitmaps On each call to gen8_alloc_va_range_3lvl we're allocating temporary bitmaps needed for error handling. Unfortunately, when we increase address space size (48b ppgtt) we do additional (512 - 4) calls to kcalloc, increasing latency between exec and actual start of execution on the GPU. Let's just do a single kcalloc, we can also drop the size from free_gen8_temp_bitmaps since it's no longer used. v2: Use GFP_TEMPORARY to make the allocations reclaimable. v3: Drop the 2D array, just allocate a single block. v4: Rebase to handle gen8_preallocate_top_level_pdps. v5: Align misaligned bracket. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: MichaÅ? Winiarski <michal.winiarski@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Correct kcalloc arguments as suggested by Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea916ea057299f66e774c9131e269df070a84779 Author: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> Date: Thu Sep 3 16:17:09 2015 +0530 drm/i915/skl+: Add YUV pixel format in Capability list GEN >= 9 supports YUV format for all planes, but it's not exported in Capability list of primary plane. Add YUV formats in skl_primary_formats list. Testcase: igt/kms_universal_plane.c Signed-off-by: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> Cc: Konduru, Chandra <chandra.konduru@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 395ab7541a0e141ffbde127b534e44f28d39a050 Author: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> Date: Thu Sep 3 16:17:08 2015 +0530 drm/i915/skl: Avoid using un-initialized bits_per_pixel Don't rely on fb->bits_per_pixel as intel_framebuffer_init is not filling bits_per_pixel field of fb-struct for YUV pixel format. This leads to divide by zero error during watermark calculation. Signed-off-by: Kumar, Mahesh <mahesh1.kumar@xxxxxxxxx> Cc: Konduru, Chandra <chandra.konduru@xxxxxxxxx> Reviewed-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 93efac3f2e03321129de67a3c0ba53048bb53e31 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 4 13:21:06 2015 +0800 ipv6: Fix IPsec pre-encap fragmentation check The IPv6 IPsec pre-encap path performs fragmentation for tunnel-mode packets. That is, we perform fragmentation pre-encap rather than post-encap. A check was added later to ensure that proper MTU information is passed back for locally generated traffic. Unfortunately this check was performed on all IPsec packets, including transport-mode packets. What's more, the check failed to take GSO into account. The end result is that transport-mode GSO packets get dropped at the check. This patch fixes it by moving the tunnel mode check forward as well as adding the GSO check. Fixes: dd767856a36e ("xfrm6: Don't call icmpv6_send on local error") Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 2c652a98ca556cca7749c184f0246315367bfad4 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Sep 2 15:46:51 2015 -0700 regulator: qcom_smd: Handle big endian CPUs The smd rpm structures are always in little endian, but this driver is not capable of being used on big endian CPUs. Annotate the little endian data members and update the code to do the proper byte swapping. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a9cadf72bfb7185a680eb7599b9bda65d1515b9f Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 21 15:47:28 2015 -0300 mtd: pxa3xx_nand: Remove unused platform-data flash specification The driver supports board files specificating the flash device, by passing a pxa3xx_nand_flash struct (with flash parameters) in the platform data struct. Currently this support is not being used by any board file. Moreover, we'd like to deprecate such usage in favor of using the device table in nand_ids.c. So let's remove the ad-hoc flash specification. Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e747dbe75e83345379455a78bb208ab7202229df Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Aug 13 15:46:02 2015 -0700 mtd: fsl-quadspi: use automatic spi-nor detection We don't really need the flash information from the device tree here. Let's stick with autodetection here instead. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Han Xu <han.xu@xxxxxxxxxxxxx> Tested-by: Han Xu <han.xu@xxxxxxxxxxxxx> commit 1976367173a47f801c67b5f456922d79c60d0d42 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Aug 13 15:46:05 2015 -0700 mtd: spi-nor: embed struct mtd_info within struct spi_nor This reflects the proper layering, so let's do it. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Joachim Eastwood <manabian@xxxxxxxxx> commit a39f1d5e4303f535840a44eee87326fd9743de7c Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Aug 13 15:46:04 2015 -0700 mtd: spi-nor: add forward declaration for mtd_info This header can't actually stand alone, as it relies on the declaration (but not definition) of struct mtd_info. Let's fix that. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Joachim Eastwood <manabian@xxxxxxxxx> commit c9ec3900abf279d9276a0661c9bed2550c1f0bb5 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Thu Aug 13 15:46:03 2015 -0700 mtd: spi-nor: assign mtd->priv in spi_nor_scan() Layering suggests that the SPI NOR layer (not the hardware driver) should be initializing the MTD layer. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Tested-by: Joachim Eastwood <manabian@xxxxxxxxx> commit 65d4b265103a3cb2f0993c946815157a38797421 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:33 2015 +0200 perf tools: Move tracing_path stuff under same namespace Renaming all functions touching tracing_path under same namespace. New interface is: char tracing_path[]; - tracing mount path char tracing_events_path[]; - tracing mount/events path void tracing_path_set(const char *mountpoint); - setting directly tracing_path(_events), used by --debugfs-dir option const char *tracing_path_mount(void); - initial setup of tracing_(events)_path, called from perf.c mounts debugfs/tracefs if needed and possible char *get_tracing_file(const char *name); void put_tracing_file(char *file); - get/put tracing file path 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6a09af7de3b39b1e4fcff7374871f834498b7f0 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Sep 2 09:56:32 2015 +0200 perf tools: Remove mountpoint arg from perf_debugfs_mount It's not used by any caller. We either detect the mountpoint or use hardcoded one. 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> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1441180605-24737-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 245bad8eb45fca36638da53fb0a361397a707001 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 1 15:52:46 2015 -0700 perf stat: Quieten failed to read counter message Since 3b3eb0445 running perf stat on a system without backend-stalled-cycles spits out ugly warnings by default. Since that is quite common, make the message a debug message only. We know anyways that the counter wasn't read by the normal <unsupported> output. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441147966-14917-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2bb00d2f95193aea5bfa98392907273115c96920 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Sep 1 09:58:12 2015 -0400 perf tools: Store the cpu socket and core ids in the perf.data header This patch stores the cpu socket_id and core_id in a perf.data header, and reads them into the perf_env struct when processing perf.data files. The changes modifies the CPU_TOPOLOGY section, making sure it is backward/forward compatible. The patch checks the section size before reading the core and socket ids. It never reads data crossing the section boundary. An old perf binary without this patch can also correctly read the perf.data from a new perf with this patch. Because the new info is added at the end of the cpu_topology section, an old perf tool ignores the extra data. Examples: 1. New perf with this patch read perf.data from an old perf without the patch: $ perf_new report -i perf_old.data --header-only -I ...... # sibling threads : 33 # sibling threads : 34 # sibling threads : 35 # Core ID and Socket ID information is not available # node0 meminfo : total = 32823872 kB, free = 29315548 kB # node0 cpu list : 0-17,36-53 ...... 2. Old perf without the patch reads perf.data from a new perf with the patch: $ perf_old report -i perf_new.data --header-only -I ...... # sibling threads : 33 # sibling threads : 34 # sibling threads : 35 # node0 meminfo : total = 32823872 kB, free = 29190932 kB # node0 cpu list : 0-17,36-53 ...... 3. New perf read new perf.data: $ perf_new report -i perf_new.data --header-only -I ...... # sibling threads : 33 # sibling threads : 34 # sibling threads : 35 # CPU 0: Core ID 0, Socket ID 0 # CPU 1: Core ID 1, Socket ID 0 ...... # CPU 61: Core ID 10, Socket ID 1 # CPU 62: Core ID 11, Socket ID 1 # CPU 63: Core ID 16, Socket ID 1 # node0 meminfo : total = 32823872 kB, free = 29190932 kB # node0 cpu list : 0-17,36-53 Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441115893-22006-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 193b6bd339ccb30c861a307a915d4532f443e0fb Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Sep 1 09:58:11 2015 -0400 perf cpumap: Factor out functions to get core_id and socket_id This patch moves the code which reads core_id and socket_id into separate functions. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441115893-22006-1-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 76055940c1afc8d445992fb0278b80cf205bbf97 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Sat Aug 29 04:22:05 2015 +0000 tools lib traceevent: Support function __get_dynamic_array_len Support helper function __get_dynamic_array_len() in libtraceevent, this function is used accompany with __print_array() or __print_hex(), but currently it is not an available function in the function list of process_function(). The total allocated length of the dynamic array is embedded in the top half of __data_loc_##item field. This patch adds new arg type PRINT_DYNAMIC_ARRAY_LEN to return the length to eval_num_arg(), Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440822125-52691-32-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dabf626f7f0e5cbef0d1cfb5143e40213f079bb8 Author: He Kuang <hekuang@xxxxxxxxxx> Date: Sat Aug 29 04:21:55 2015 +0000 perf tools: Copy linux/filter.h to tools/include This patch copies filter.h from include/linux/kernel.h to tools/include/linux/filter.h to enable other libraries to use macros in it, like libbpf which will be introduced by further patches. Currently, the filter.h copy only contains the useful macros needed by libbpf for not introducing too much dependence. tools/perf/MANIFEST is also updated for 'make perf-*-src-pkg'. One change: The 'imm' field of BPF_EMIT_CALL becomes ((FUNC) - BPF_FUNC_unspec) to suit user space code generator. Signed-off-by: He Kuang <hekuang@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: Daniel Borkmann <daniel@xxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kaixu Xia <xiakaixu@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Cc: Zefan Li <lizefan@xxxxxxxxxx> Cc: pi3orama@xxxxxxx Link: http://lkml.kernel.org/r/1440822125-52691-22-git-send-email-wangnan0@xxxxxxxxxx Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx> [ Removed stylistic changes, so that a diff to the original file gets reduced ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2f84b42b28eed0f980200401077e51571202f868 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 1 11:47:19 2015 -0700 perf tools: Always use non inlined file name for 'srcfile' sort key When profiling the kernel with the 'srcfile' sort key it's common to "get stuck" in include. For example a lot of code uses current or other inlines, so they get accounted to some random include file. This is not very useful as a high level categorization. For example just profiling the idle loop usually shows mostly inlines, so you never see the actual cpuidle file. This patch changes the 'srcfile' sort key to always unwind the inline stack using BFD/DWARF. So we always account to the base function that called the inline. In a few cases include is still shown (for example for MSR accesses), but that is because they get inlining expanded as part of assigning to a global function pointer. For the majority it works fine though. v2: Use simpler while loop. Add maximum iteration count. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1441133239-31254-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 58f2cf241fb98414e2e35fc3d4d0494eb30b3245 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 28 22:59:08 2015 +0300 drm/i915: Don't call intel_get_hpd_pins() when there's no hotplug interrupt On GMCH plaforms we are now getting the following spew on aux interrupts: [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000 [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000 [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000 [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000 [drm:intel_get_hpd_pins] hotplug event received, stat 0x00000000, dig 0x00000000, pins 0x00000000 [drm:intel_dp_aux_ch] dp_aux_ch timeout status 0x71450064 Prevent it by not calling intel_get_hpd_pins() unless one of the HPD interrupt bits are actually set. I already fixed similar annoyance once with 4bca26d0a6518d51a9abe64fbde4b12f04c74053 drm/i915: Use HOTPLUG_INT_STATUS_G4X on VLV/CHV but another source for it got added in fd63e2a972c670887e5e8a08440111d3812c0996 drm/i915: combine i9xx_get_hpd_pins and pch_get_hpd_pins due to pch_get_hpd_pins() being chosen over i9xx_get_hpd_pins() to serve as the new unified piece of code. pch_get_hpd_pins() had the debug print, and i9xx_get_hpd_pins() didn't. Cc: Imre Deak <imre.deak@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 a52bb15bfad09115cff2433e76b164be94c42af5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:11 2015 +0300 drm/i915: Rewrite BXT HPD code to conform to pre-existing style Rewrite the BXT hpd setup to match the way we do it on other platforms: - Throw out BXT_HOTPLUG_CTL since it's the same as PCH_PORT_HOTPLUG - Enable the HPD bits in the DE port IER in gen8_de_irq_postinstall() - Update DE port IMR using bdw_update_port_irq() Also throw out port D from bxt_port_hotplug_long_detect() since BXT only goes up to C. 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 40e5641086f6f64acb13ff6893cf82c4fb30a6d7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:10 2015 +0300 drm/i915: Refactor the hpd irq handling functions A lot of the hpd irq handling is duplicated code, so refactor it a bit by observing that in several places the only difference is the hpd[] array. So pull the code to a few functions and pass in the hpd[] array from the caller. Another option would be to determine the correct array to use within the functions themselves, but somehow passing it in felt nicer. Further code reduction could be achieved by passing in the hotplug register offset, and the long pulse detection function pointer. But that didn't feel as good for some reason, so I left it at the middle ground. 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 cebd87a07748b649f22356efd56f478248aec300 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:09 2015 +0300 drm/i915: Rewrite bxt_hpd_handler() to look like everyone else bxt_hpd_handler() looks different to everyone else for no good reason. Rewrite it to use the standard variable namees etc. 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 08d8a232aa5e145f995a98ac7f3de55e2fe6832b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:08 2015 +0300 drm/i915: Reinitialize HPD after runtime D3 Runtime suspends disabled all interrupts, so in order to get them back fully we need to also do the HPD irq setup on runtime resume. Except on VLV/CHV where the display interrupt initialization is part of the display power well powerup. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74c0b395fce4c807a49c404fb59462b22069b001 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:07 2015 +0300 drm/i915: Add port A HPD support for SPT On SKL the port A HPD has moved to the PCH. Hook it up. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a3b3c7da37b35955c7c6a36a1f059d02f17eafb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:06 2015 +0300 drm/i915: Add port A HPD support for BDW Wire up the port A HPD for BDW. Compared to earlier platforms the interrupt setup is a bit different, but basically everything else looks the same. v2: 0 initialize pin_mask/long_mask due to intel_get_hpd_pins() changes Check for BDW before processing the HPD to not break BXT Set found=true when processing port A HPD Sort out the mess I made of the irq setup in v1 Warn about bad irq mask vs. enable bits in bdw_update_port_irq() (Paulo) 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 0b2eb33e5e2b4aaeaa786d551a1b5f08904a9bfc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:05 2015 +0300 drm/i915: LPT:LP needs port A HPD enabled in both north and south If the CPU and PCH are on the same package we must enabled the port A HPD also in the south hotplug register. To identify the package type we simply look at the PCH type: LPT-H means separate package, and LPT-LP means multi chip package (MCP). v2: Add comment and pimp commit message Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 23bb4cb5122c2c6379be38aaa5c0fd6786ae6c3a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:04 2015 +0300 drm/i915: Add port A HPD support for IVB/HSW As with ILK/SNB wire up the port A HPD on IVB/HSW. This might be more important on HSW with PSR. BSpec tells us that if the automagic link training performed by the hardware fails for some reason, we're going to get a short HPD and are supposed to re-train the link manyally. v2: 0 initialize pin_mask/long_mask due to intel_get_hpd_pins() changes Add a comment about the pulse duration bits being reserved on HSW+ like we have for LPT+ in ibx_hpd_irq_setup() Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e4ce95aa661e411d7da554eb8e6c7f81504acae6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:03 2015 +0300 drm/i915: Add port A HPD support for ILK/SNB ILK/SNB support port A HPD. While HPD is optional on eDP let's at least try to wite it up so that we might notice if the link has issues. The eDP spec suggests that if HPD is not wired up, one should poll the link status instead. We don't even do that currently. v2: 0 initialize pin_mask/long_mask due to intel_get_hpd_pins() changes Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6dbf30ce234925e4770f0b52950b601e816b6586 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:02 2015 +0300 drm/i915: Introduce spt_irq_handler() Starting from SPT the only interrupts living in the south are GMBUS and HPD. What's worse some of the SPT specific new bits conflict with some other bits on earlier PCH generations. So better not use the cpt_irq_handler() for SPT+ anymore. Also kill the hand rolled port E handling with something more standardish. This also avoids accidentally confusing port B and port E long pulses since the bits occupy the same positions, just in different registers. Also add a comment noting that the short pulse duration bits are reserved on LPT+. The 2ms value we program is 0, so no issue wrt. the MBZ in the spec. v2: Call intel_hpd_irq_handler() only once (Paulo) 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 42db67d664af417e946211c7f1f4178c782a582a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 28 21:26:27 2015 +0300 drm/i915: Move {pin, long}_mask initialization to caller from intel_get_hpd_pins() Move the 0 initialization of pin_mask and long_mask from intel_get_hpd_pins() into each caller. This we we can call intel_get_hpd_pins() multiple times to accumulate more pins from several sources. v2: Add a comment explaining the dangers of intel_get_hpd_pins() (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 195baa0673345c70f04d19e9e18470c9cbf88bcf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:56:00 2015 +0300 drm/i915: Rename BXT PORTA HPD defines The PORTA HPD defines are not BXT specific. They also exist on SPT, and partially already on LPT:LP. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c2699524d666bd606a2de0aa68691c984efb1fec Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:55:59 2015 +0300 drm/i915: Add HAS_PCH_LPT_LP() macro Make LPT:LP checks look neater by wrapping the details in a new HAS_PCH_LPT_LP() macro. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d9dc34f1a1e9649f6e1e3709f6177f7883ce75ce Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:55:58 2015 +0300 drm/i915: Factor out ilk_update_display_irq() Extract the core of ironlake_{enable,disable}_display_irq() into a new function. We'll have further use for it later. v2: Warn about invalid mask vs. enable bits (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 87a0210665eeca7c5fa237592da025650b216831 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:55:57 2015 +0300 drm/i915: Extract intel_hpd_enabled_irqs() Eliminate a bunch of duplicated code that calculates the currently enabled HPD interrupt bits. v2: s/;/:/ in patch subject (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40bfd7a3303b7c383493c80a250c59b61d812ce5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Aug 27 23:55:56 2015 +0300 drm/i915: Clean up various HPD defines Indent the PORTx_HOTPLUG_... defines appropriately, and fix some space vs. tab issues. v2: Document pre-HSW/LPT bits, and order another tab (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 62f0ace531b2ca69a1defe5a01a85539fd28353f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 26 18:57:26 2015 +0200 drm/i915: Update comments around base bpp Forgot to do that in commit d328c9d78d64ca11e744fe227096990430a88477 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Apr 10 16:22:37 2015 +0200 drm/i915: Select starting pipe bpp irrespective or the primary plane and it's confusing. Fix it. Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Acked-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit e93c28f39375558409329a02a767d5cadfcc4a31 Merge: 85a62bf 6fa2d19 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 2 14:33:42 2015 +0200 Merge tag 'drm-intel-next-fixes-2015-09-02' into drm-intel-next-queued Backmerge -fixes since there's more DDI-E related cleanups on top of the pile of -fixes for skl that just landed for 4.3. Conflicts: drivers/gpu/drm/i915/intel_display.c drivers/gpu/drm/i914/intel_dp.c drivers/gpu/drm/i915/intel_lrc.c Conflicts are all fairly harmless adjacent line stuff. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 85a62bf9d8ef8d533635270ae985281c58e8c974 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Tue Sep 1 12:15:33 2015 +0200 drm/i915: Also record time difference if vblank evasion fails, v2. This makes the error message slightly more useful. Changes since v1: - Use ktime_get() while irqs are still disabled. (vsyrjala) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 34e0adbb4508a318e8039ee3959383e4bf080f04 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Mon Aug 31 13:04:25 2015 +0200 drm/i915: Remove start frame argument to pipe_update_begin/end. There's already a per crtc member that can be used for it. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 650da34c4af12921e0148bbc0dba7419d7776189 Author: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Date: Fri Aug 28 15:41:18 2015 +0800 drm/i915: guest i915 notification for Intel GVT-g When i915 drivers run inside a VM with Intel GVT-g, some explicit notifications are needed from guest to host device model through PV INFO page write. The notifications include: PPGTT create PPGTT destroy They are used for the shadow implementation of PPGTT. Intel GVT-g needs to write-protect the guest pages of PPGTT, and clear the write protection when they end their life cycle. v2: - Use lower_32_bits()/upper_32_bits() for qword operations; - Remove the notification of guest context creation/destroy; Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 532beabf343d16d269491c63ed4590e5a675ea2b Author: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Date: Fri Aug 28 15:41:17 2015 +0800 drm/i915: Update PV INFO page definition for Intel GVT-g Some more definitions in the PV info page are added. They are mainly for the guest notification to Intel GVT-g device model. They are used for Broadwell enabling. The notification of PPGTT page table creation/destroy is to notify GVT-g device model the life cycle of guest page tables. Then device model will implement shadow page table for guests. The notification of context create/destroy is optional. If it is used, the device model will create/destroy shadow context corresponding to the context's life cycle. Guest driver needs to make sure that the context's LRCA and backing storage address unchanged. If it is not used, the device model will perform the context shadow work in the context scheduling time. Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a0bd6c3183a164970e934ee4f514956dd577a628 Author: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Date: Fri Aug 28 15:41:16 2015 +0800 drm/i915: Always enable execlists on BDW for vgpu Broadwell hardware supports both ring buffer mode and execlist mode. When i915 runs inside a VM with Intel GVT-g, we allow execlist mode only. The main reason of EXECLIST only is that GVT-g does not support the dynamic mode switch between ring buffer mode and execlist mode when running multiple virtual machines. v2: - Adjust the position of vgpu check in sanitize function (Joonas) - Add vgpu error check in context initialization. (Joonas, Daniel) Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 331f38e77d4519d2ca60cea232c7f2bfad5e4d28 Author: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Date: Fri Aug 28 15:41:14 2015 +0800 drm/i915: preallocate pdps for 32 bit vgpu This is based on Mika Kuoppala's patch below: http://article.gmane.org/gmane.comp.freedesktop.xorg.drivers.intel/61104/match=workaround+hw+preload The patch will preallocate the page directories for 32-bit PPGTT when i915 runs inside a virtual machine with Intel GVT-g. With this change, the root pointers in EXECLIST context will always keep the same. The change is needed for vGPU because Intel GVT-g will do page table shadowing, and needs to track all the page table changes from guest i915 driver. However, if guest PPGTT is modified through GPU commands like LRI, it is not possible to trap the operations in the right time, so it will be hard to make shadow PPGTT to work correctly. Shadow PPGTT could be much simpler with this change. Meanwhile hypervisor could simply prohibit any attempt of PPGTT modification through GPU command for security. The function gen8_preallocate_top_level_pdps() in the patch is from Mika, with only one change to set "used_pdpes" to avoid duplicated allocation later. Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Zhiyuan Lv <zhiyuan.lv@xxxxxxxxx> Signed-off-by: Zhi Wang <zhi.a.wang@xxxxxxxxx> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 42a8ca4cb4a48ddbf40e8edb291425e76bcdc230 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 27 16:23:30 2015 +0300 drm/i915: add yesno utility function Add a common function to return "yes" or "no" string based on the argument, and drop the local versions of it. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 79e50a4f7228e5f27d2e9785fad5509d1392a0d3 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 26 10:58:20 2015 +0300 drm/i915: move intel_hrawclk() to intel_display.c Make it available outside of intel_dp.c. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Clint Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f5d3c3eaab1d9e38854deb0251e659d04e3bc771 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Tue Aug 18 14:34:47 2015 -0700 drm/i915: Notify GuC rc6 state If rc6 is enabled, notify GuC so it can do proper forcewake before command submission. Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa557ab01576531c39fa3e7ceaa33314f65164fd Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Tue Aug 18 14:32:35 2015 -0700 drm/i915/guc: Support GuC version 4.3 The firmware layout changes that now it only has css header + uCode + RSA signature. Plus, other trivial changes to support GuC V4.3. Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1751fcf9f92ebfd230260230956535b19b4ec675 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Thu Aug 27 15:15:15 2015 +0200 drm/i915: Fix module initialisation, v2. The driver doesn't support UMS any more, so set DRIVER_MODESET by default, remove the legacy s/r callbacks, and rename the s/r functions to make it more clear they're only in use by switcheroo now. Also remove an obsolete comment about atomic. Normal updates are supported only async updates aren't yet. v2: Don't unconditionally set DRIVER_ATOMIC, we're not yet there. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 02e93c3537d5b496bbf4d6a97c0d02becc501b5c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 26 19:39:19 2015 +0300 drm/i915: Factor out intel_crtc_has_encoders() Make the code mode readable by pulling the "does this crtc have any encoders?" deduction into a separate function. Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0f64614dde172e4f4b2734a55091a4d307863cbb Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 26 19:39:18 2015 +0300 drm/i915: Fix clock readout when pipes are enabled w/o ports The BIOS sometimes likes to enable pipes w/o any ports, at least on older machines. Currently we fail to assign anything sensible to crtc->hwmode.crtc_clock which leads to complaints from the vblank code. Deal with active pipes w/o ports and assign something sensible to crtc_clock in i9xx_get_pipe_config(). The encoder .get_config() will override this if the port is enabled. Gets rid of rest of these on my gen4: [drm:drm_calc_timestamping_constants [drm]] *ERROR* crtc 24: Can't calculate constants, dotclock = 0! [drm:i915_get_vblank_timestamp] crtc 1 is disabled v2: Fill out crtc_clock already in i9xx_get_pipe_config() (Maarten) Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 30142273a3e83936fd7b45aa5339311a9295ca51 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:46:01 2015 +0300 drm/i915: Add CHV PHY LDO power sanity checks At various points when changing the DPIO lane/phy power states, construct an expected value of the DISPLAY_PHY_STATUS register and compare it with the real thing. To construct the expected value we look at our shadow PHY_CONTROL register value (which should match what we've just written to the hardware), and we also need to look at the actual state of the cmn power wells as a disabled power well causes the relevant LDO status to be reported as 'on' in DISPLAY_PHY_STATUS. When initially powering up the PHY it performs various internal calibrations for which it fully powers up. That means that if we check for the expetected power state immediately upon releasing cmnreset we would get the occasional false positive. But we can of course poll until the expected value appears. It shouldn't be too long so this shouldn't make modesets substantially longer. One extra complication is introduced when we cross the streams, ie. drive port B with pipe B. In this case we trick CL2 (where the DPLL lives) into life by temporaily powering up the lanes in the second channel, and once the pipe is up and runnign we release the lane power override. At that point the power state of CL2 has somehow gotten entangled with the power state of the first channel. That means that constructing the expected DISPLAY_PHY_STATUS value is a bit tricky since based on the lane power states in the second channel, CL2 should also be powered down. But we can use the DPLL enable bit to determine when CL2 should be alive even if the lanes are powered down. However the power state of CL2 isn't actually tied in with the DPLL state, but to the state of the lanes in first channel, so we have to avoid checking the expected state between shutting down the DPLL and powering down the lanes in the first channel. So no calling assert_chv_phy_status() before the DISPLAY_PHY_CONTROL write in chv_phy_powergate_lanes(), but after the write is a safe time to check. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6669e39f95b5530ca8cb9137703ceb5e83e5d648 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:46:00 2015 +0300 drm/i915: Add some CHV DPIO lane power state asserts Add some checks that the state of the DPIO lanes is more or less what we expect based on the overrides. The hardware only provides two bits per channel indicating whether all or some of the lanes are powered down, so we can't do an exact check. Additionally, CL2 powering down before we can check it adds another twist. To work around this we simply check for the 0 value of the CL2 register (which is what we get when it's powered down) and adjust our expectations. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a8f327fb8464875e5b764008a1c50dbc0b384c17 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jul 9 20:14:11 2015 +0300 drm/i915: Clean up CHV lane soft reset programming Currently we release the lane soft reset before lane stagger settings have been programmed. I believe that means we don't actually do lane staggering. So move the soft reset deassert to happen after lane staggering has been programmed. The one confusing thing in this is that when we remove the power down override from the lanes, they power up with defaul register values, which do not have the soft reset overrides enabled. And according to some docs by default the data lane resets are tied to cmnreset. So that would mean that lanes would come out of reset without staggering as soon as the power down overrides are removed. But since we can't access either the lane stagger register nor the soft reset override registers until the lanes are powered on, we can't really do anything about it. So let's just set the soft reset overrides as soon as the lane is powered on and hope for the best. v2: Fix typos in commit message (Daniel) Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2bbe6bbb0dc94fd4ce287bdac9e1bd184e23057b Author: Francisco Jerez <currojerez@xxxxxxxxxx> Date: Mon Jun 15 14:03:29 2015 +0300 drm/i915: Bump command parser version number. This was forgotten in 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. Signed-off-by: Francisco Jerez <currojerez@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit caa860d919865ade32e029631bd0d531eead9212 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 27 13:25:37 2015 +0300 drm/i915/dp: use the drm dp helper for determining sink tps3 support No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: s/intel_dp_tps/drm_dp_tps/.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7cc53cf01e61bd1a774d2ba492bbe3e93e58ca79 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 26 14:33:31 2015 +0300 drm/dp: add drm_dp_tps3_supported helper Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5e26b1b3abce05c177feb589260031519a1bc7b1 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:41 2015 -0700 ipvs: support scheduling inverse and icmp SCTP packets In the event of an icmp packet, take only the ports instead of trying to grab the full header. In the event of an inverse packet, use the source address and port. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 2b0f39ef3d8951036d778ddee503e2fdf8e4ff4f Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:40 2015 -0700 ipvs: support scheduling inverse and icmp UDP packets In the event of an icmp packet, take only the ports instead of trying to grab the full header. In the event of an inverse packet, use the source address and port. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 8f88ea68e6146ff2d0df263b1f3e6e655e69ba98 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:39 2015 -0700 ipvs: support scheduling inverse and icmp TCP packets In the event of an icmp packet, take only the ports instead of trying to grab the full header. In the event of an inverse packet, use the source address and port. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 89621f31d18b81a6c66a97fc2a80b3b6e5937a81 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:38 2015 -0700 ipvs: ensure that ICMP cannot be sent in reply to ICMP Check the header for icmp before sending a PACKET_TOO_BIG Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6044eeffafbe35154c5d3b04b73e8938a62e5d39 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:37 2015 -0700 ipvs: attempt to schedule icmp packets Invoke the try_to_schedule logic from the icmp path and update it to the appropriate ip_vs_conn_put function. The schedule functions have been updated to reject the packets immediately for now. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 1471f35efa86407fc180ca6d55363c684d166ef6 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:36 2015 -0700 ipvs: sh: support scheduling icmp/inverse packets consistently "source_hash" the dest fields if it's an inverse packet. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3481894fcb0d7d3c226618e6b73a27796a7a3eca Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:35 2015 -0700 ipvs: Use outer header in ip_vs_bypass_xmit_v6 The ip_vs_iphdr may refer to an internal header, so use the outer one instead. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 94485fedcb176a9105961e47bd9dda23801c1906 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:34 2015 -0700 ipvs: add schedule_icmp sysctl This sysctl will be used to enable the scheduling of icmp packets. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ee78378f97648834d22ce97e91633ea40f044e3d Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:33 2015 -0700 ipvs: Make ip_vs_schedule aware of inverse iph'es This is necessary to schedule icmp later. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 802c41adcf3be63f351c302c9665865d705cada9 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:32 2015 -0700 ipvs: drop inverse argument to conn_{in,out}_get No longer necessary since the information is included in the ip_vs_iphdr itself. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3b5ca61768457de5139229392d0333165abcf10f Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:31 2015 -0700 ipvs: pull out ip_vs_try_to_schedule function This is necessary as we'll be trying to schedule icmp later and we'll want to share this code. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 0b72902120d89153996f411bb3ec8ca7b4baf1d8 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:30 2015 -0700 ipvs: Handle inverse and icmp headers in ip_vs_leave Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 4fd9beef37f3a14aa34cb025479a0e431dc9e58b Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:29 2015 -0700 ipvs: Add hdr_flags to iphdr These flags contain information like whether or not the addresses are inverted or from icmp. The first will allow us to drop an inverse param all over the place, and the second will later be useful in scheduling icmp. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b0e010c527de742cb18e8d50a06dfd1a995b5382 Author: Alex Gartrell <agartrell@xxxxxx> Date: Wed Aug 26 09:40:28 2015 -0700 ipvs: replace ip_vs_fill_ip4hdr with ip_vs_fill_iph_skb_off This removes some duplicated code and makes the ICMPv6 path look more like the ICMP path. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 47196620c82f8d8cef0dc61b87b76f18278537dd Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Thu Aug 20 17:37:33 2015 +0300 iio: mxc4005: add data ready trigger for mxc4005 Add iio trigger for the data ready interrupt that signals new measurements for the X, Y and Z axes. Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1ce0eda0f75747b3131a9047aee19291f59c18c9 Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Thu Aug 20 17:37:32 2015 +0300 iio: mxc4005: add triggered buffer mode for mxc4005 This patch adds support for buffered readings for the 3-axis accelerometer mxc4005. Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 077377fc4f74899c58e946e47352216412d0bb3a Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Thu Aug 20 17:37:31 2015 +0300 iio: accel: add support for mxc4005 accelerometer This patch adds support for Memsic MXC4005XC 3-axis accelerometer. The current implementation is a minimal one as it adds raw readings for the three axes and setting scale from userspace. Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b1d125cc6236399258025b0c5646cafa2b45e043 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 19 14:12:46 2015 +0200 iio: bmg160: Add SPI driver Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 13426454b6493a847cebe276fb1ec3a7f1d48d0e Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 19 14:12:45 2015 +0200 iio: bmg160: Separate i2c and core driver This patch separates the core driver using regmap and the i2c driver which creates the i2c regmap. Also in the Kconfig file BMG160 and BMG160_I2C are separate now. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit cb119d5350839297bbe8a382dbb2feff545742b5 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Tue Aug 18 07:40:38 2015 -0700 iio: proximity: add support for PulsedLight LIDAR Add support for the PulsedLight LIDAR rangefinder sensor which allows high speed (over 300Hz) distance measurements using Barker Coding within 40 meter range. Support only tested on the "blue label" rev 2, but may work using low sample frequencies on the original version. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 12280bd3d5d7e1ba1dd60ba0bd4412f4056fc028 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Tue Aug 18 07:40:37 2015 -0700 devicetree: add PulsedLight vendor + device docs Add pulsedlight vendor to vendor-prefixes.txt, and LIDAR device documentation to trivial-devices.txt Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7d87b3c5c8602df4ce6d615b33ae6dc15438fa29 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 18 12:16:33 2015 +0300 iio: tsl4531: fix error handling in tsl4531_check_id() The tsl4531_check_id() function returned 1 on "found" and 0 on "not found" and negative error codes on failure. This was non-standard and bug prone. The caller treated all non-zero values including error codes as "found". This patch fixes it by changing the tsl4531_check_id() to return zero on success or a negative error code, and updates the caller. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit aff268cd532e99ced3c8f48d01118912eb002bbf Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Mon Aug 17 10:30:16 2015 -0700 iio: light: add APDS9960 ALS + promixity driver APDS9960 is a combination of ALS, proximity, and gesture sensors. This patch adds support for these functions along with gain control, integration time, and event thresholds. Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 078d02cfdafdd06562286b2f222e6532f369eb27 Author: Matt Ranostay <mranostay@xxxxxxxxx> Date: Mon Aug 17 10:30:15 2015 -0700 iio: light: DT binding docs for APDS9960 driver Document compatible string, and required DT properties for APDS9960 chipset driver. Reviewed-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Matt Ranostay <mranostay@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 0010d6b444064029f924b4973f74b87579daddc6 Author: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Date: Mon Aug 17 21:21:40 2015 +0530 iio: adc: vf610: Add IIO buffer support for Vybrid ADC This patch adds support for IIO buffer to the Vybrid ADC driver. IIO triggered buffer infrastructure along with iio sysfs trigger is used to leverage continuous sampling support provided by the ADC block. Signed-off-by: Sanchayan Maity <maitysanchayan@xxxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f6707ef7a3c9196faee1841f4d12e990239f5dae Author: Peng Fan <van.freenix@xxxxxxxxx> Date: Sun Aug 30 16:12:57 2015 +0800 staging: iio: adc: lpc32xx: use correct reutrn value To lpc32xx_adc driver, when platform_get_resource or platform_get_irq failed, we should use -ENXIO as a return value, but not -EBUSY. Signed-off-by: Peng Fan <van.freenix@xxxxxxxxx> Cc: Jonathan Cameron <jic23@xxxxxxxxxx> Cc: Hartmut Knaack <knaack.h@xxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 887e83e32d99e43798e9ac9a274ad4debebf03f7 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 30 17:18:50 2015 +0800 ASoC: mediatek: Convert to devm_snd_soc_register_card Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Koro Chen <koro.chen@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a8dbc64a2619b82ec0106f2c54174a94d74da620 Author: kbuild test robot <fengguang.wu@xxxxxxxxx> Date: Sun Aug 30 16:46:57 2015 +0800 iio: light: fix platform_no_drv_owner.cocci warnings drivers/iio/light/opt3001.c:796: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: Andreas Dannenberg <dannenberg@xxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 01302d4d17ed524e7d855f5fbbac5822f14f9c5e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Aug 28 18:05:26 2015 +0200 drm/i915: Update DRIVER_DATE to 20150828 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 79f682806240741f62faaa33d933ebe768caa07f Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Mon Aug 24 16:23:58 2015 +0300 iwlwifi: mvm: remove SCD_QUEUE_CONFIG TLV flag We don't support firmwares that don't use the new API. This also allows to use all the SCD queues, so increase the reported number of queues to 31. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 3c1f84a174e425f2e7a687a6cfd791f609cbc9eb Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Aug 26 13:48:55 2015 +0300 iwlwifi: mvm: don't load -12.ucode anymore -13.ucode has been published long ago. Deprecate old versions of the firmware. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit cfe417bc47ba8f470941a1b8ad60911e163f1b34 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Aug 26 12:22:12 2015 +0200 iwlwifi: mvm: don't NUL-terminate low-latency debugfs file There's obviously no reason to write a NUL-terminating byte into the debugfs file. Apparently nobody tried to use this from a tool that doesn't strip NUL bytes though, so we never noticed. Fix it. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit cf8c3cff3fcce966c6d31001c09c92778f961eea Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Mon Aug 24 14:53:25 2015 +0300 iwlwifi: mvm: make sure d0i3 exit work runs before suspending If we are in d0i3 when entering suspend, we leave d0i3 so that mac80211 can call us to remove connections or whatever before going to suspend. We do this by calling pm_runtime_resume() early in the slave transport flow and reactivating it later, when the wiphy suspend flow runs. The problem is that we queue a work in order to leave d0i3. If this work hasn't run yet when the wiphy suspend flow is called, we have a race and entering d0i3 fails (because we're still holding the IWL_MVM_REF_EXIT_WORK reference). To solve this, simply flush the d0i3_exit_work at the beginning of the iwl_mvm_suspend() function. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 9493908095a3d0b4fa24ff529975376b3a2b8394 Author: Gregory Greenman <gregory.greenman@xxxxxxxxx> Date: Mon Aug 24 14:38:35 2015 +0300 iwlwifi: mvm: don't ask for beacons when AP vif and no assoc sta When in AP mode, we need beacons from other APs for HT protection. However, when there's no any associated station we will not do any Tx and thus don't really need beacons. On the other hand, these beacons will cause a lot of unnecessary wakeups which increase our power consumption. Handle this by asking FW to pass beacons only when there's at least one associated station. Signed-off-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit a73a2cea922de5d2dd03ad456e280ef92c8bb9f6 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Aug 23 13:29:36 2015 +0300 iwlwifi: Deinline iwl_{read,write}(8,32} With CONFIG_IWLWIFI_DEVICE_TRACING=y, these functions are rather large, too big for inlining. With this .config: http://busybox.net/~vda/kernel_config, after uninlining these functions have sizes and callsite counts as follows: iwl_read32 475 bytes, 51 callsites iwl_write32 477 bytes, 90 callsites iwl_write8 493 bytes, 3 callsites Reduction in size is about 74,000 bytes: text data bss dec hex filename 90758147 17226024 36659200 144643371 89f152b vmlinux0 90687995 17221928 36659200 144569123 89df323 vmlinux.after Reported-by: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit e50460192e6e326fc748037c7ba69565fc18f992 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Aug 17 10:45:50 2015 +0300 iwlwifi: mvm: add debugfs hook to send ECHO_CMD to the firmware ECHO_CMD is a simple command that can be sent to the firmware just to check that it is alive. This command is useful for debug purpose, provide a debugfs hook to send it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 62e004fe941d56cb70ea9148bb79cf6698751248 Author: Sara Sharon <sara.sharon@xxxxxxxxx> Date: Thu Aug 20 14:12:58 2015 +0300 iwlwifi: mvm: fix statistics variables type When receiving statistics notification there is a field of average energy. This is defines as signed 8 bit, while FW refers to it as unsigned. when the energy is higher than 127 this causes in iwl_mvm_stat_iterator a wrong computation of the signal int sig = -stats->general.beacon_filter_average_energy; resulting in incorrect CQM event (change from low to high). While at it - update the rest of the fields to the correct type. Signed-off-by: Sara Sharon <sara.sharon@xxxxxxxxx> Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit dbb04b0d29f884dbb6d0a52dd7877445d2e776f1 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Aug 18 12:07:48 2015 +0300 iwlwifi: mvm: remove netdetect debugfs entry This debugfs entry was implemented just as a proof-of-concept before the full support for netdetect via cfg80211/mac80211 was implemented. Now that we have a proper way to enable netdetect from userspace, this entry is redundant and should be removed to avoid unnecessary maintenance work. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> commit 3f4642fc06a51e203b01cf29c418d0833761c4d3 Author: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 22:38:08 2015 +0300 dt: Add vendor prefix 'holt' Add Holt Integrated Circuits, Inc. to the list of device tree vendor prefixes Signed-off-by: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 735ad074ffa72ccc4fdba8e54eb024df95545e7d Author: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 20 22:37:39 2015 +0300 iio: Support triggered events Support triggered events. This is useful for chips that don't have their own interrupt sources. It allows to use generic/standalone iio triggers for those drivers. Signed-off-by: Vladimir Barinov <vladimir.barinov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 764589b688a1b087b5ff6c1e99f7cd57a5241395 Author: Crt Mori <cmo@xxxxxxxxxxx> Date: Mon Aug 17 19:34:33 2015 +0200 iio: mlx90614: Implement filter configuration Implemented Low pass 3db frequency filter which configures FIR and IIR values within the configuration register of EEPROM. For more standardized interface we have fixed the FIR value to 1024, while changes in IIR value are directly connected to filter responses. The new datasheet version will provide a simplified table (also in reStructured text format below) with this change, to provide quick overview of possible settings. Below sensor timings (bandwidth) are calculated for 3db frequency low pass filter. +--------------------+-----------------+ | Filter setting (%) | Band width (Hz) | | (rounded to 1.0) | | +====================+=================+ | 13 | 0.15 | +--------------------+-----------------+ | 17 | 0.20 | +--------------------+-----------------+ | 25 | 0.31 | +--------------------+-----------------+ | 50 | 0.77 | +--------------------+-----------------+ | 57 | 0.86 | +--------------------+-----------------+ | 67 | 1.10 | +--------------------+-----------------+ | 80 | 1.53 | +--------------------+-----------------+ | 100 | 7.23 | +--------------------+-----------------+ The diff is made towards togreg branch. Added myself to MAINTAINERS and authors as per discussion with Jonathan. Signed-off-by: Crt Mori <cmo@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c5b852f33e7844f4664794a3b3c738d07b09ce0a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Date: Wed Aug 26 09:29:56 2015 +0200 Partially revert "drm/i915: Use full atomic modeset." This partially reverts commit 74c090b1bdc57b1c9f1361908cca5a3d8a80fb08. The DRIVER_ATOMIC cap cannot yet be exported because i915 lacks async support. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6c908bf43df417b10917c3a463d3bd413eb476fd Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Aug 25 19:03:41 2015 -0300 drm/i915: gen 9 can check for unclaimed registers too Dear git bisect user, Even though this is the patch that introduced the WARN() you're bisecting, please notice that it's very likely that the problem you're facing was already present before this commit. In other words: this commit adds code to detect errors and give WARN()s about them, but the errors were already there. In order to continue your debug, please use the i915.mmio_debug option, check the backtraces and try to discover which read or write operation is causing the error message. Then check if this is happening because the register does not exist or because its power well is down when the operation is being done. On my SKL machine, if I use i915.mmio_debug=999, this patch triggers 42 WARNs just by booting. I didn't investigate them yet. Normal users are only going to get a single WARN due to the default i915.mmio_debug setting. Thank you for your comprehension, Paulo Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3e28878635cc3bb3159445dc9cfbdc3d34eb8daf Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:58 2015 +0300 drm/i915: Force CL2 off in CHV x1 PHY We can choose to leave the display PHY CL2 powerdown up to some hardware signals, or we can force it. The BXT code forces the nonexistent CL2 in the x1 PHY to power down. Follow suit on CHV. Maybe it can still save some extra power by disabling some extra logic in CL1, or something. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ee27921824e6ad0ca2d8e5abfa12cf4d853ded6c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:57 2015 +0300 drm/i915: Enable DPIO SUS clock gating on CHV CHV has supports some form of automagic clock gating for the DPIO SUS clock. We can simply enable the magic bits and the hardware should take care of the rest. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0047eedc48869f8c7797dd10f0cf976ac34c1d33 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Jul 10 10:56:24 2015 +0300 drm/i915: Force common lane on for the PPS kick on CHV With DPIO powergating active the DPLL can't be accessed unless something else is keeping the common lane in the channel on. That means the PPS kick procedure could fail to enable the PLL. Power up some data lanes to force the common lane to power up so that the PLL can be enabled temporarily. v2: Avoid gcc uninitilized variable warning Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b0b3384612bd4ce608c5d95626149311bb43f121 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:55 2015 +0300 drm/i915: Trick CL2 into life on CHV when using pipe B with port B Normmally the common lane in a PHY channel gets powered up when some of the data lanes get powered up. But when we're driving port B with pipe B we don't want to enabled any of the data lanes, and just want the DPLL in the common lane to be active. To make that happens we have to temporarily enable some data lanes after which we can access the DPLL registers in the common lane. Once the pipe is up and running we can drop the power override on the data lanes allowing them to shut down. From this point forward the common lane will in fact stay powered on until the data lanes in the other channel get powered down. Ville's extended explanation from the review thread: On Wed, Aug 19, 2015 at 07:47:41AM +0530, Deepak wrote: > One Q, why only for port B? Port C is also in same common lane right? Port B is in the first PHY channel which also houses CL1. CL1 always powers up whenever any lanes in either PHY channel are powered up. CL2 only powers up if lanes in the second channel (ie. the one with port C) powers up. So in this scenario (pipe B->port B) we want the DPLL from CL2, but ideally we only want to power up the lanes for port B. Powering up port B lanes will only power up CL1, but as we need CL2 instead we need to, temporarily, power up some lanes in port C as well. Crossing the streams the other way (pipe A->port C) is not a problem since CL1 powers up whenever anything else powers up. So powering up some port C lanes is enough on its own to make the CL1 DPLL operational, even though CL1 and the lanes live in separate channels. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> [danvet: Amend commit message with extended explanation.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e0fce78f041014846d77940d3a350a4cffe4ab2b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:54 2015 +0300 drm/i915: Implement PHY lane power gating for CHV Powergate the PHY lanes when they're not needed. For HDMI all four lanes are needed always, but for DP we can enable only the needed lanes. To power down the unused lanes we use some power down override bits in the DISPLAY_PHY_CONTROL register. Without the overrides it appears that the hardware always powers on all the lanes. When the port is disabled the power down override is not needed and the lanes will shut off on their own. That also means the override is critical to actually be able to access the DPIO registers before the port is actually enabled. Additionally the common lanes will power down when not needed. CL1 remains on as long as anything else is on, CL2 will shut down when all the lanes in the same channel will shut down. There is one exception for CL2 that will be dealt in a separate patch for clarity. With potentially some lanes powered down, the DP code now has to check the number of active lanes before accessing PCS/TX registers. All registers in powered down blocks will reads as 0xffffffff, and soe we would drown in warnings from vlv_dpio_read() if we allowed the code to access all those registers. Another important detail in the DP code is the "TX latency optimal" setting. Normally the second TX lane acts as some kind of reset master, with the other lanes as slaves. But when only a single lane is enabled, that single lane obviously has to be the master. A bit of extra care is needed to reconstruct the initial state of the DISPLAY_PHY_CONTROL register since it can't be read safely. So instead read the actual lane status from the DPLL/PHY_STATUS registers and use that to determine which lanes ought to be powergated initially. We also need to switch the PHY power modes to "deep PSR" to avoid a hard system hang when powering down the single channel PHY. Also sprinkle a few debug prints around so that we can monitor the DISPLAY_PHY_STATUS changes without having to read it and risk corrupting it. v2: Add locking to chv_powergate_phy_lanes() v3: Actually enable dynamic powerdown in the PHY and deal with the fallout Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5a8fbb7d192b96de3d258164e5fc95b769d698c3 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jun 29 15:25:53 2015 +0300 drm/i915: Move DPLL ref/cri/VGA mode frobbing to the disp2d well enable Bunch of stuff needs the DPLL ref/cri clocks on both VLV and CHV, and having VGA mode enabled causes some problems for CHV. So let's just pull the code to configure those bits into the disp2d well enable hook. With the DPLL disable code also fixed to leave those bits alone we should now have a consistent DPLL state all the time even if the DPLL is disabled. This also neatly removes some duplicated code between the VLV and CHV codepaths. 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 4d9194dec37a9bf22354f6a5872e285e1bb8c1da Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 21 20:45:29 2015 +0300 drm/i915: Make some string arrays const Most of our char* arrays are markes as const already, but a few slipped through the cracks. Fix it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 53abb6794ac022e6c0b5f239fc26d99ea054ee86 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 21 20:45:28 2015 +0300 drm/i915: Use ARRAY_SIZE() instead of hand rolling it A couple of hand rolled ARRAY_SIZE()s caught my eye. Get rid of them. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0a0b457fbf765d0b98fa48495b9bb7901eb8b091 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 21 20:45:27 2015 +0300 drm/i915: Fix some gcc warnings Simple one: drivers/gpu/drm/i915/i915_debugfs.c:2449:57: warning: Using plain integer as NULL pointer And something a bit more peculiar: drivers/gpu/drm/i915/i915_debugfs.c:4953:18: warning: Variable length array is used. drivers/gpu/drm/i915/i915_debugfs.c:4953:32: warning: Variable length array is used. We pass a 'const int' as the array size which results in the warning, dropping the const gets rid of the warning. Weird, but I think getting rid of the warnings is better than holding on to the const. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e464bfdeda3da3b0ef29ca84960715993ccbb1fc Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:42 2015 +0300 drm/i915/bxt: Use correct live status register for BXT platform BXT platform uses live status bits from 0x44440 register to obtain DP status on hotplug. The existing g4x_digital_port_connected() uses a different register and hence misses DP hotplug events on BXT platform. This patch fixes it by using the appropriate register(0x44440) and live status bits(3:5). Based on a patch by Durgadoss R <durgadoss.r@xxxxxxxxx>, from whom the commit message is shamelessly copy pasted. Reported-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9642c81c225a43982536fcb7a3fa212dcfaa67ea Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:41 2015 +0300 drm/i915: split g4x_digital_port_connected to g4x and vlv variants Choose the right function at the intel_digital_port_connected level. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0df53b77287198502ff2eb51120c041ba317f059 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:40 2015 +0300 drm/i915: split ibx_digital_port_connected to ibx and cpt variants Choose the right function at the intel_digital_port_connected level. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7e66bcf2656ad2e53de939c5a5f211288a332ede Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:39 2015 +0300 drm/i915: add common intel_digital_port_connected function Add a common intel_digital_port_connected() that splits out to functions for different platforms. No functional changes. v2: make the function return a boolean Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 196cabd4a39496038ee81c2755496955e7355bd5 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:38 2015 +0300 drm/i915: add MISSING_CASE annotation to ibx_digital_port_connected With the case added for eDP on port A (always connected from this function's point of view), we should not be hitting any of the default cases in ibx_digital_port_connected, so add MISSING_CASE annotation. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d245987754f8cd0bf21c77ecda2023ca13ff8c1 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:37 2015 +0300 drm/i915: make g4x_digital_port_connected return boolean status We should not be hitting any of the default cases in g4x_digital_port_connected, so add MISSING_CASE annotation and return boolean status. The current behaviour is just cargo culting from the days of yonder when the display port support was added to i915. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b93433ccf64846820b9448f5ff5dd4348b58a8ed Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 20 10:47:36 2015 +0300 drm/i915: move ibx_digital_port_connected to intel_dp.c The function can be made static there. No functional changes. Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26a91555bd27b0672ab4efaf4de04fe7321540dc Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Tue Aug 18 14:37:02 2015 +0300 drm/i915: DVO pixel clock check It is possible the we request to have a mode that has higher pixel clock than our HW can support. This patch checks if requested pixel clock is lower than the one supported by the HW. The requested mode is discarded if we cannot support the requested pixel clock. This patch applies to DVO. V2: - removed computation for max pixel clock V3: - cleanup by removing unnecessary lines V4: - clock check against max dotclock moved inside 'if (fixed_mode)' V5: - dot clock check against fixed_mode clock when available 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 759a1e98213f17d51926495e6754fdaced5f7d81 Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Tue Aug 18 14:37:01 2015 +0300 drm/i915: DSI pixel clock check It is possible the we request to have a mode that has higher pixel clock than our HW can support. This patch checks if requested pixel clock is lower than the one supported by the HW. The requested mode is discarded if we cannot support the requested pixel clock. This patch applies to DSI. V2: - removed computation for max pixel clock V3: - cleanup by removing unnecessary lines V4: - max_pixclk variable renamed as max_dotclk - moved dot clock checking inside 'if (fixed_mode)' V5: - dot clock checked against fixed_mode clock 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 7f7b58cc61883bd16dfd4cae67d7404f7905d0a7 Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Tue Aug 18 14:37:00 2015 +0300 drm/i915: LVDS pixel clock check It is possible the we request to have a mode that has higher pixel clock than our HW can support. This patch checks if requested pixel clock is lower than the one supported by the HW. The requested mode is discarded if we cannot support the requested pixel clock. This patch applies to LVDS. V2: - removed computation for max pixel clock V3: - cleanup by removing unnecessary lines V4: - moved supported dotclock check from mode_valid() to intel_lvds_init() V5: - dotclock check moved back to mode_valid() function - dotclock check for fixed mode 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 adafdc6fcb66ea6541a88884ec522273f857c145 Author: Mika Kahola <mika.kahola@xxxxxxxxx> Date: Tue Aug 18 14:36:59 2015 +0300 drm/i915: Store max dotclock Store max dotclock into dev_priv structure so we are able to filter out the modes that are not supported by our platforms. V2: - limit the max dot clock frequency to max CD clock frequency for the gen9 and above - limit the max dot clock frequency to 90% of the max CD clock frequency for the older gens - for Cherryview the max dot clock frequency is limited to 95% of the max CD clock frequency - for gen2 and gen3 the max dot clock limit is set to 90% of the 2X max CD clock frequency V3: - max_dotclk variable renamed as max_dotclk_freq in i915_drv.h - in intel_compute_max_dotclk() the rounding method changed from round up to round down when computing max dotclock V4: - Haswell and Broadwell supports now dot clocks up to max CD clock frequency 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 65d64cc5bb7aee1f5a8d6717f4d421623c58ea30 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:53 2015 +0300 drm/i915: Add vlv_dport_to_phy() Add vlv_dport_to_phy() and fix up the return values of vlv_dport_to_channel() and vlv_pipe_to_channel() to use the appropriate enums. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c0b4c660311c73c8ee4ed0e58b65ae9b4b75276d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:52 2015 +0300 drm/i915: Move VLV/CHV prepare_pll later With DPIO powergating active on CHV, we can't even access the DPIO PLL registers until the lane power state overrides have been enabled. That will happen from the encoder .pre_pll_enable() hook, so move chv_prepare_pll() to happen after that point, which puts it just before chv_enable_pll() actually. Do the same for VLV to avoid accumulating weird differences between the platforms. Both platforms seem happy with the new arrangement. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 770effb19fbdcb44c6bdacf4a78571d28393f48f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:51 2015 +0300 drm/i915: Add locking around chv_phy_control_init() dev_priv->chv_phy_control is protected by the power_domains->lock elsewhere, so also grab it when initializing chv_phy_control. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e27f299ec3ddd03373bb07db23dd19747eecef72 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:50 2015 +0300 drm/i915: Move DPIO port init earlier To implement DPIO lane power gating on CHV we're going to need to access DPIO registers from the cmn power well enable hook. That gets called rather early, so we need to move the DPIO port IOSF sideband port assignment earlier as well. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d6db995fe36c7460a30c8c6250bb47937d38c482 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:49 2015 +0300 drm/i915: Add encoder->post_pll_disable() hooks and move CHV clock buffer disables there Move the CHV clock buffer disable from chv_disable_pll() to the new encoder .post_pll_disable() hook. This is more symmetric since the clock buffer enable happens from the .pre_pll_enable() hook. We'll have more use for the new hook soon. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 67fa24b4041436f1a21f7640d1d7ab56d023d7e9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:48 2015 +0300 drm/i915: Always program unique transition scale for CHV The docs give you the impression that the unique transition scale value shouldn't matter when unique transition scale is enabled. But as Imre found on BXT (and I verfied also on BSW) the value does matter. So from now on just program the same value 0x9a always. Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 25a25dfce4e678bb18c4d63937d240839ecd19cd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jul 8 23:45:47 2015 +0300 drm/i915: Always program m2 fractional value on CHV When fractional m2 divider isn't used on CHV the fractional part is ignore by the hardware. Despite that, program the fractional value (0 in this case) to the hardware register just to keep things a bit more consistent. Might at least make register dumps a bit less confusing when there isn't some stale fractional part hanging around. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4eee4920f05e39e22571deb57f1c314ce7a46e7f Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Mon Aug 17 17:30:52 2015 +0100 drm/i915: fix driver's versions of WARN_ON & WARN_ON_ONCE The current versions of these two macros don't work correctly if the argument expression happens to contain a modulo operator (%) -- when stringified, it gets interpreted as a printf formatting character! With a specifically crafted parameter, this could probably cause a kernel OOPS; consider WARN_ON(p%s) or WARN_ON(f %*pEp). Instead, we should use an explicit "%s" format, with the stringified expression as the coresponding literal-string argument. Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 901c2daf05c8ae6c3f85370fc96b9b6892f5da2d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 17 18:05:12 2015 +0300 drm/i915: Put back lane_count into intel_dp and add link_rate too With MST there won't be a crtc assigned to the main link encoder, so trying to dig up the pipe_config from there is a recipe for an oops. Instead store the parameters (lane_count and link_rate) in the encoder, and use those values during link training etc. Since those parameters are now assigned only when the link is actually enabled, .compute_config() won't clobber them as it did before. Hardware state readout is still bonkers though as we don't transfer the link parameters from pipe_config intel_dp. We should do that during encoder sanitation. But since we don't even do a proper job of reading out the main link encoder state for MST there's littel point in worrying about this now. Fixes a regression with MST caused by: commit 90a6b7b052b1aa17fbb98b049e9c8b7f729c35a7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 16:39:15 2015 +0300 drm/i915: Move intel_dp->lane_count into pipe_config v2: Different apporoach that should keep intel_dp_check_mst_status() somewhat less oopsy Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Reported-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e5756c10d841ddb448293c849392f3d6b809561f Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Fri Aug 14 18:43:30 2015 +0300 drm/i915/bxt: don't allow cached GEM mappings on A stepping Due to a coherency issue on BXT A steppings we can't guarantee a coherent view of cached (CPU snooped) GPU mappings, so fail such requests. User space is supposed to fall back to uncached mappings in this case. v2: - limit the WA to A steppings, on later stepping this HW issue is fixed v3: - return error instead of trying to work around the issue in kernel, since that could confuse user space (Chris) Testcast: igt/gem_store_dword_batches_loop/cached-mapping Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 319404df2f682ddabf98cbf6421bb43b951ca978 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Fri Aug 14 18:35:27 2015 +0300 drm/i915/bxt: work around HW coherency issue when accessing GPU seqno By running igt/store_dword_loop_render on BXT we can hit a coherency problem where the seqno written at GPU command completion time is not seen by the CPU. This results in __i915_wait_request seeing the stale seqno and not completing the request (not considering the lost interrupt/GPU reset mechanism). I also verified that this isn't a case of a lost interrupt, or that the command didn't complete somehow: when the coherency issue occured I read the seqno via an uncached GTT mapping too. While the cached version of the seqno still showed the stale value the one read via the uncached mapping was the correct one. Work around this issue by clflushing the corresponding CPU cacheline following any store of the seqno and preceding any reading of it. When reading it do this only when the caller expects a coherent view. v2: - fix using the proper logical && instead of a bitwise & (Jani, Mika) - limit the workaround to A stepping, on later steppings this HW issue is fixed v3: - use a separate get_seqno/set_seqno vfunc (Chris) Testcase: igt/store_dword_loop_render Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8be6ca8537e1230da8e92c753df4125151a3f6b1 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Mon Aug 24 16:38:23 2015 -0700 drm/i915: Also call frontbuffer flip when disabling planes. We also need to call the frontbuffer flip to trigger proper invalidations when disabling planes. Otherwise we will miss screen updates when disabling sprites or cursor. On core platforms where HW tracking also works, this issue is totally masked because HW tracking triggers PSR exit however on VLV/CHV that has only SW tracking we miss screen updates when disabling planes. It was caught with kms_psr_sink_crc sprite_plane_onoff and cursor_plane_onoff subtests running on VLV/CHV. This is probably a regression since I can also get this with the manual test case, but with so many changes on atomic modeset I couldn't track exactly when this was introduced. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f1afe24f0e736b9d7f2275e2b1504af3fe612f2a Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Aug 4 16:22:20 2015 +0100 drm/i915: Change SRM, LRM instructions to use correct length MI_STORE_REGISTER_MEM, MI_LOAD_REGISTER_MEM instructions are not really variable length instructions unlike MI_LOAD_REGISTER_IMM where it expects (reg, addr) pairs so use fixed length for these instructions. v2: rebase Cc: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> [danvet: Appease checkpatch as Mika spotted in i915_reg.h - it seems terminally unhappy about i915_cmd_parser.c so that would be a separate patch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74b22c465cd2b6ff4b8cec3997512ec807e6e495 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 26 09:42:34 2015 +0930 params: don't ignore the rest of cmdline if parse_one() fails parse_args() just aborts after it hits an error, so other args at the same initcall level are simply ignored. This can lead to other hard-to-understand problems, for example my testing machine panics during the boot if I pass "locktorture.verbose=true". Change parse_args() to save the err code for return and continue. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit cff4f55bf4fb1e32483885bf0e571847668d9d67 Author: Graham Whaley <graham.whaley@xxxxxxxxxxxxxxx> Date: Mon Aug 24 14:41:21 2015 +0100 doc: drm: Fix mis-spelling of i915_guc_submission includes In commit d1675198e: drm/i915: Integrate GuC-based command submission the drm.tmpl include lines reference the intel_guc_submission.c but the patch adds the file i915_guc_submission.c. drm.tmpl fails to build with: docproc: .//drivers/gpu/drm/i915/intel_guc_submission.c: No such file or directory Change the file reference to the actual file. Signed-off-by: Graham Whaley <graham.whaley@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ecf7e207a55d8760734a9de5fba1a974628b92e5 Author: Nicola Corna <nicola@xxxxxxxxxx> Date: Sun Aug 23 23:06:19 2015 +0200 iio: humidity: si7020: replaced bitmask on humidity values with range check The maximum possible value for the relative humidity is 55575 (100%RH). This value, if shifted right by 2 bits, uses 14 bits and masking it with a 12 bit mask removes 2 meaningful bits. The masking has been replaced with a range check that sets the minimum value at 786 (0%RH) and the maximum at 13893 (99.998%RH). Signed-off-by: Nicola Corna <nicola@xxxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 275d7d44d802ef271a42dc87ac091a495ba72fc5 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Thu Aug 20 10:34:59 2015 +0930 module: Fix locking in symbol_put_addr() Poma (on the way to another bug) reported an assertion triggering: [<ffffffff81150529>] module_assert_mutex_or_preempt+0x49/0x90 [<ffffffff81150822>] __module_address+0x32/0x150 [<ffffffff81150956>] __module_text_address+0x16/0x70 [<ffffffff81150f19>] symbol_put_addr+0x29/0x40 [<ffffffffa04b77ad>] dvb_frontend_detach+0x7d/0x90 [dvb_core] Laura Abbott <labbott@xxxxxxxxxx> produced a patch which lead us to inspect symbol_put_addr(). This function has a comment claiming it doesn't need to disable preemption around the module lookup because it holds a reference to the module it wants to find, which therefore cannot go away. This is wrong (and a false optimization too, preempt_disable() is really rather cheap, and I doubt any of this is on uber critical paths, otherwise it would've retained a pointer to the actual module anyway and avoided the second lookup). While its true that the module cannot go away while we hold a reference on it, the data structure we do the lookup in very much _CAN_ change while we do the lookup. Therefore fix the comment and add the required preempt_disable(). Reported-by: poma <pomidorabelisima@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Fixes: a6e6abd575fc ("module: remove module_text_address()") Cc: stable@xxxxxxxxxx commit ab6ff6c6ca1b4739b2af07501bc333b85d7381d8 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:26 2015 +0200 iio: adc: mcp320x: Set struct spi_driver .of_match_table The driver has an OF id table but the .of_match_table is not set so the SPI core can't do an OF style match and the table was unused. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Acked-by: Michael Welling <mwelling@xxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ed199a11bdfd2957e46984b77a1e1f0927dc9fa0 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:14 2015 +0200 iio: Export SPI module alias information in missing drivers The SPI core always reports the MODALIAS uevent as "spi:<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: SPI id table or OF match table). So drivers needs to export the SPI 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> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1c00dcd31d8e71670180ff938f05eb9aef49c84e Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:23 2015 +0200 iio: dac: ad7303: Add OF match table The Documentation/devicetree/bindings/iio/dac/ad7303.txt DT binding doc lists "adi,ad7303" 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> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9c68be3ecc74e1ccc085eab6f0cdbaff3093fba2 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:29 2015 +0200 iio: frequency: adf4350: Add OF match table The Documentation/devicetree/bindings/iio/frequency/adf4350.txt DT binding doc lists "adi,adf4350" or "adi,adf4351" as 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> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9e611c9e5a20c28f426271a0c2c962795b699069 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:28 2015 +0200 iio: adc128s052: Add OF match table The Documentation/devicetree/bindings/iio/adc/ti-adc128s052.txt DT binding doc lists "ti,adc128s052" or "ti,adc122s021" as 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: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8b7c826d03721ed1d96bd87f138e59dcf80f54e7 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:27 2015 +0200 iio: as3935: Add OF match table The Documentation/devicetree/bindings/iio/proximity/as3935.txt DT binding doc lists "ams,as3935" 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: Jonathan Cameron <jic23@xxxxxxxxxx> commit d1b895fedae30e2e948dbae4d209509c44564074 Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:24 2015 +0200 iio: adc: max1027: Set struct spi_driver .of_match_table The driver has an OF id table but the .of_match_table is not set so the SPI core can't do an OF style match and the table was unused. Signed-off-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 45ef12b6ad6ade7bb8c89db3d3101e99d9552f3a Author: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Date: Thu Aug 20 09:07:15 2015 +0200 staging: iio: hmc5843: Export missing SPI module alias information The SPI core always reports the MODALIAS uevent as "spi:<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: SPI id table or OF match table). So drivers needs to export the SPI 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: Jonathan Cameron <jic23@xxxxxxxxxx> commit a6d748e3ad927f6f2b93c9747d78da72c83141b6 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: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8463f6fb78e0798817785e03860f8b1fc4e1b2e8 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: Jonathan Cameron <jic23@xxxxxxxxxx> commit 70581e0ef8634074cc305f9e63e8abec08788753 Author: Xander Huff <xander.huff@xxxxxx> Date: Tue Aug 11 18:00:49 2015 -0500 iio: adc: xilinx-xadc: Push interrupts into hardirq context The driver currently registers a pair of irq handlers using request_threaded_irq(), however the synchronization mechanism between the hardirq and the threadedirq handler is a regular spinlock. Unfortunately, this breaks PREEMPT_RT builds, where a spinlock can sleep, and is thus not able to be acquired from a hardirq handler. This patch gets rid of the threaded handler and pushes all interrupt handling into the hardirq context, and uses request_irq(). To validate that this change has no impact on RT performance, here are cyclictest values with no processes running: $ sudo cyclictest -S -m -p 98 policy: fifo: loadavg: 0.00 0.01 0.05 1/174 2539 T: 0 ( 1405) P:98 I:1000 C:167010520 Min: 9 Act: 12 Avg: 12 Max: 75 T: 1 ( 1862) P:98 I:1500 C:111340339 Min: 9 Act: 12 Avg: 12 Max: 73 Then, all xadc raw handles were accessed in a continuous loop via /sys/bus/iio/devices/iio:device0: $ sudo cyclictest -S -m -p 98 policy: fifo: loadavg: 7.84 7.70 7.63 3/182 4260 T: 0 ( 2559) P:98 I:1000 C:241557018 Min: 11 Act: 18 Avg: 21 Max: 74 T: 1 ( 2560) P:98 I:1500 C:161038006 Min: 10 Act: 21 Avg: 20 Max: 73 Signed-off-by: Xander Huff <xander.huff@xxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 70b2737e0a948552843ce1b8500e033080677086 Author: Yong Li <sdliyong@xxxxxxxxx> Date: Wed Aug 12 21:25:46 2015 +0800 staging: iio: hmc5843: Set iio name dynamically Load the driver using the below command: echo hmc5983 0x1e > /sys/bus/i2c/devices/i2c-?/new_device In sysfs, the iio name is hmc5843, however the i2c name is hmc5983, they are inconsistent. With this patch, the iio name will be the same as the i2c device name Signed-off-by: Yong Li <sdliyong@xxxxxxxxx> Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3f9059b71791cf0e57a4879594f0066237976943 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 11 11:56:40 2015 +0200 iio: percolate error if event fd fails This makes the error from iio_event_getfd() percolate up to userspace properly so we can know for sure there is no events on this device (-ENODEV returned). Before this patch we would bail out looking for the unsupported events on the erroneous (negative) file descriptor. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 53dabafe1b17411de82b6c4560145cf396cbb564 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Aug 10 10:55:08 2015 +0200 iio: generic_buffer: be helpful about enabling channels Currently if generic_buffer is invoked without first enabling any channels in scan_elements/*_en, it will fail unable to enable the buffer because bytes_per_datum inside the kernel will be zero if no channels are available. It is implied that the user of the program should enable channels manually or with a script before executing generic_buffer. Be more helpful by stopping execution if no enabled channels can be found, and print a helptext that will tell you what is wrong and what needs to be done. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 672f93b6047cc724f002cf50a84f4e8155b86f12 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Aug 11 14:34:38 2015 +0200 iio: event_monitor: report unsupported events This makes the event monitor bail out with a helpful error message if a device does not support events, as a related fix to iio core now makes it return -ENODEV properly. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a0175b9c76f59c1f5706f986d690e27ba06363dd Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Aug 12 10:22:41 2015 +0200 iio: st_sensors: add debugfs register read hook This adds a debugfs hook to read/write registers in the ST sensors using debugfs. Proved to be awesome help when trying to debug why IRQs do not arrive. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Denis Ciocca <denis.ciocca@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8d96fc276aaec449871bcb86cef41f3187136f0a Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Aug 12 14:29:41 2015 +0300 Documentation: iio-trig-sysfs: Add remove_trigger attribute ABI This patch adds the documentation ABI for the remove_trigger attribute, provided by the iio-trig-sysfs stand-alone driver. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit e0950d3b9e88051082f7d5a60a0f8156285cbb6d Author: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Date: Wed Aug 12 14:28:34 2015 +0300 Documentation: iio-trig-sysfs: Document add_trigger attribute This patch adds the ABI documentation for the add_trigger attribute, which is provided by the iio-trig-sysfs stand-alone driver. Signed-off-by: Cristina Opriceana <cristina.opriceana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5d889abbe5c39c0c9ebe468dbcab2688324a33fc Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 16:50:07 2015 +0200 iio: bmg160: Remove remaining uses of i2c_client Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ebc6eb5907acecdebbd0e180a754d98f21045fbc Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 16:50:06 2015 +0200 iio: bmg160: Use generic dev_drvdata i2c_get_clientdata() is specifically for i2c. Replace it with the generic dev_get/set_drvdata() to support different protocols. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 74e04345dc7e111fd151923d2de32267f1aae321 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 16:50:05 2015 +0200 iio: bmg160: Remove i2c_client from data struct i2c_client variable is not really used anymore in the core driver. It is only used to get the device to make proper outputs. This patch replaces all i2c_client usage through direct usage of the device pointer. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c6c9e995bcd8349f271b39e6abd9bd2f090ec5bd Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Wed Aug 12 16:50:04 2015 +0200 iio: bmg160: Use i2c regmap instead of direct i2c access This patch introduces regmap usage into the driver. This is done to later easily support the SPI interface of this chip. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8548a63b37be4891e7972ba058b785d9468e8907 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Aug 14 16:54:55 2015 +0200 iio: Move generic buffer implementations to sub-directory For generic IIO trigger implementations we already have a sub-directory, but the generic buffer implementations currently reside in the IIO top-level directory. The main reason is that things have historically grown into this form. With more generic buffer implementations on its way now is the perfect time to clean this up and introduce a sub-directory for generic buffer implementations to avoid too much clutter in the top-level directory. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 050ee2f16e245b42c9ba30640bb91b309b424c48 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Fri Aug 14 16:54:54 2015 +0200 iio: Move callback buffer to its own module Currently the IIO callback buffer implementation is directly built into the IIO core module when enabled. Given that the callback buffer module is standalone functionallity there is really no reason to do this. So move it to its own module. Also rename the source to follow the standard IIO module naming convention as well as add a license notice to the file. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 66e2806656b12bbb98ff36b7beb1538b87cb2f2f Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Aug 14 15:59:53 2015 +0300 drm/i915: remove excessive scaler debugging messages There's so much scaler debugging messages that it makes other debugging hard. Remove them. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8b417c266b715b3797cd3e65342149372b9ac0c8 Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Wed Aug 12 15:43:44 2015 +0100 drm/i915: Debugfs interface for GuC submission statistics This provides a means of reading status and counts relating to GuC actions and submissions. v2: Remove surplus blank line in output [Chris Wilson] v5: Added GuC per-engine submission & seqno statistics v6: Add per-ring statistics to client, refactor client-dumper. Signed-off-by: Dave Gordon <david.s.gordon@xxxxxxxxx> Signed-off-by: Alex Dai <yu.dai@xxxxxxxxx> Reviewed-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d1675198ed1f21aec6e036336e4340c40b726497 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:43 2015 +0100 drm/i915: Integrate GuC-based command submission GuC-based submission is mostly the same as execlist mode, up to intel_logical_ring_advance_and_submit(), where the context being dispatched would be added to the execlist queue; at this point we submit the context to the GuC backend instead. There are, however, a few other changes also required, notably: 1. Contexts must be pinned at GGTT addresses accessible by the GuC i.e. NOT in the range [0..WOPCM_SIZE), so we have to add the PIN_OFFSET_BIAS flag to the relevant GGTT-pinning calls. 2. The GuC's TLB must be invalidated after a context is pinned at a new GGTT address. 3. GuC firmware uses the one page before Ring Context as shared data. Therefore, whenever driver wants to get base address of LRC, we will offset one page for it. LRC_PPHWSP_PN is defined as the page number of LRCA. 4. In the work queue used to pass requests to the GuC, the GuC firmware requires the ring-tail-offset to be represented as an 11-bit value, expressed in QWords. Therefore, the ringbuffer size must be reduced to the representable range (4 pages). v2: Defer adding #defines until needed [Chris Wilson] Rationalise type declarations [Chris Wilson] v4: Squashed kerneldoc patch into here [Daniel Vetter] v5: Update request->tail in code common to both GuC and execlist modes. Add a private version of lr_context_update(), as sharing the execlist version leads to race conditions when the CPU and the GuC both update TAIL in the context image. Conversion of error-captured HWS page to string must account for offset from start of object to actual HWS (LRC_PPHWSP_PN). 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 4df001d3989ed319bc5abf2058dc5173bb02c53b Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Wed Aug 12 15:43:42 2015 +0100 drm/i915: Interrupt routing for GuC submission Turn on interrupt steering to route necessary interrupts to GuC. v6: 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 44a28b1d36762499de6fd701fcce6814eefe31d7 Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Wed Aug 12 15:43:41 2015 +0100 drm/i915: Implementation of GuC submission client A GuC client has its own doorbell and workqueue. It maintains the doorbell cache line, process description object and work queue item. A default guc_client is created for the i915 driver to use for normal-priority in-order submission. Note that the created client is not yet ready for use; doorbell allocation will fail as we haven't yet linked the GuC's context descriptor to the default contexts for each ring (see later patch). v2: Defer adding structure members until needed [Chris Wilson] Rationalise type declarations [Chris Wilson] v5: Add GuC per-engine submission & seqno statistics. Move wq locking to encompass both get_space() and add_item(). Take forcewake lock in host2guc_action() [Tom O'Rourke] v6: Fix GuC doorbell cacheline selection code (the cacheline-within-page calculation was wrong). Rename GuC priorities to make them closer to the names used in the GuC firmware source, matching what the autogenerated versions will (probably) be. Add per-ring statistics to client. 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 4c7e77fc1007b1e12d25c6e5083369863346f5dd Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:40 2015 +0100 drm/i915: Enable GuC firmware log Allocate a GEM object to hold GuC log data. A debugfs interface (i915_guc_log_dump) is provided to print out the log content. v2: Add struct members at point of use [Chris Wilson] v6: 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 bac427f8abfc8c11e10274d5edd9db4e4b8e74d3 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:39 2015 +0100 drm/i915: Prepare for GuC-based command submission This adds the first of the data structures used to communicate with the GuC (the pool of guc_context structures). We create a GuC-specific wrapper round the GEM object allocator as all GEM objects shared with the GuC must be pinned into GGTT space at an address that is NOT in the range [0..WOPCM_TOP), as that range of GGTT addresses is not accessible to the GuC (from the GuC's point of view, it's permanently reserved for other objects such as the BootROM & SRAM). Later, we will need to allocate additional GuC-sharable objects for the submission client(s) and the GuC's debug log. v2: Remove redundant initialisation [Chris Wilson] Defer adding struct members until needed [Chris Wilson] Local functions should pass dev_priv rather than dev [Chris Wilson] v5: Invalidate GuC TLB after allocating and pinning a new object v6: 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 919f1f55d90b5487a9f38e94842e486509474f09 Author: Dave Gordon <david.s.gordon@xxxxxxxxx> Date: Wed Aug 12 15:43:38 2015 +0100 drm/i915: Expose one LRC function for GuC submission mode GuC submission is basically execlist submission, but with the GuC handling the actual writes to the ELSP and the resulting context switch interrupts. So to describe a context for submission via the GuC, we need one of the same functions used in execlist mode. This commit exposes one such function, changing its name to better describe what it does (it's related to logical ring contexts rather than to execlists per se). v2: Replaces previous "drm/i915: Move execlists defines from .c to .h" v3: Incorporates a change to one of the functions exposed here that was previously part of an internal patch, but which was omitted from the version recently committed to drm-intel-nightly: 7a01a0a drm/i915/lrc: Update PDPx registers with lri commands So we reinstate this change here. v4: Drop v3 change, update function parameters due to collision with 8ee3615 drm/i915: Convert execlists_ctx_descriptor() for requests v5: Don't expose execlists_update_context() after all. The current version is no longer compatible with GuC submission; trying to share the execlist version of this function results in both GuC and CPU updating TAIL in the context image, with bad results when they get out of step. The GuC submission path now has its own private version that just updates the ringbuffer start address, and not TAIL or PDPx. v6: Rebased Issue: VIZ-4884 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 fdf5d3572fd1f2103a6bda0dba643e76a3ea978e Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:37 2015 +0100 drm/i915: Debugfs interface to read GuC load status The new node provides access to the status of the GuC-specific loader; also the scratch registers used for communication between the i915 driver and the GuC firmware. v2: Changes to output formats per Chris Wilson's suggestions v6: 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 33a732f407fed464df687370d7bb4d64533f9920 Author: Alex Dai <yu.dai@xxxxxxxxx> Date: Wed Aug 12 15:43:36 2015 +0100 drm/i915: GuC-specific firmware loader This fetches the required firmware image from the filesystem, then loads it into the GuC's memory via a dedicated DMA engine. This patch is derived from GuC loading work originally done by Vinit Azad and Ben Widawsky. v2: Various improvements per review comments by Chris Wilson v3: Removed 'wait' parameter to intel_guc_ucode_load() as firmware prefetch is no longer supported in the common firmware loader, per Daniel Vetter's request. Firmware checker callback fn now returns errno rather than bool. v4: Squash uC-independent code into GuC-specifc loader [Daniel Vetter] Don't keep the driver working (by falling back to execlist mode) if GuC firmware loading fails [Daniel Vetter] v5: Clarify WOPCM-related #defines [Tom O'Rourke] Delete obsolete code no longer required with current h/w & f/w [Tom O'Rourke] Move the call to intel_guc_ucode_init() later, so that it can allocate GEM objects, and have it fetch the firmware; then intel_guc_ucode_load() doesn't need to fetch it later. [Daniel Vetter]. v6: Update comment describing intel_guc_ucode_load() [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 04a60f9ffa9a9ac05d5616408e3f11115ed1450a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 15:10:06 2015 +0300 drm/i915: Kill intel_dp->{link_bw, rate_select} We only need the link_bw/rate_select parameters when starting link training, and they should be computed based on the currently active config, so throw them out from intel_dp and just compute on demand. Toss in an extra debug print to see rate_select in addition to link_bw, as the latter may be 0 for eDP 1.4. 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 a79b8165beed02a96dc54737feb20700ddf71127 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 15:10:05 2015 +0300 drm/i915: Don't use link_bw to select between TP1 and TP3 intel_dp->link_bw is going away, so consul the port_clock instead when choosing between TP1 and TP3. 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 90a6b7b052b1aa17fbb98b049e9c8b7f729c35a7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 16:39:15 2015 +0300 drm/i915: Move intel_dp->lane_count into pipe_config Currently we clobber intel_dp->lane_count in compute config, which means after a rejected modeset we may no longer be able to retrain the current link. Move lane_count into pipe_config to avoid that. v2: Add missing ':' to the pipe config debug dump 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 b81e34c29e67f5b3e5ce28b5055ae2ca59c36f7b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 15:10:03 2015 +0300 drm/i915: Avoid confusion between DP and TRANS_DP_CTL in DP .get_config() Use a separate variable for the TRANS_DP_CTL value instead of reusing 'tmp' that otherwise contains the DP port register value. 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 96f3f1f905e9c4977220fa07477cd8a8ed4af4da Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 15:10:02 2015 +0300 drm/i915: Don't pass clock to DDI PLL select functions All the *_ddi_pll_select() functions get passed the port_clock and pipe config as parameters. We only need to pass the pipe config, and the functions can dig up the port_clock themselves. 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 840b32b7eda7837db6e0236293f71fc6644dedf8 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> commit 0f2a2a756e862e1936ef599451015ca4c12efde8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Jul 6 15:10:00 2015 +0300 drm/i915: Clean up DP/HDMI limited color range handling Currently we treat intel_{dp,hdmi}->color_range as partly user controller value (via the property) but we also change it during .compute_config() when using the "Automatic" mode. That is a bit confusing, so let's just change things so that we store the user property values in intel_dp, and only change what's stored in pipe_config during .compute_config(). There should be no functional change. 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 908565c20888f790b96b03ae5be9cd175f3d8d72 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 12 13:08:22 2015 +0100 drm/i915: Do not check or a stalled pageflip prior to it being queued When we queue the command or operation to change the scanout address, we mark the flip as in progress. We can use this flag to prevent us from checking for a stalled flip prior to its existence! Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ed75a55bb36dec17b9e0f878cea7c8ccb037d8f9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 11 19:47:10 2015 +0300 drm/i915: clflush on pin_to_display after pwrite to UC bo in LLC Currently we don't clflush on pin_to_display if the bo is already UC/WT and is not in the CPU write domain. This causes problems with pwrite since pwrite doesn't change the write domain, and it avoids clflushing on UC/WT buffers on LLC platforms unless the buffer is currently being scanned out. Fix the problem by marking the cache dirty and adjusting i915_gem_object_set_cache_level() to clflush when the cache is dirty even if the cache_level doesn't change. My last attempt [1] at fixing this via write domain frobbing was shot down, but now with the cache_dirty flag we can do things in a nicer way. [1] http://lists.freedesktop.org/archives/intel-gfx/2014-November/055390.html v2: Drop the I915_CACHE_NONE/WT checks from pwrite Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86422 Testcase: igt/kms_pwrite_crc Testcase: igt/gem_pwrite_snooped Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cf1d58833f07afbb4534b15caa3fd48baa313b2c Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Aug 10 10:35:36 2015 +0530 drm/i915/bxt: WA for swapped HPD pins in A stepping WA for BXT A0/A1, where DDIB's HPD pin is swapped to DDIA, so enabling DDIA HPD pin in place of DDIB. v2: For DP, irq_port is used to determine the encoder instead of hpd_pin and removing the edp HPD logic because port A HPD is not present(Imre) v3: Rebased on top of Imre's patchset for enabling HPD on PORT A. Added hpd_pin swapping for intel_dp_init_connector, setting encoder for PORT_A as per the WA in irq_port (Imre) v4: Dont enable interrupt for edp, also reframe the description (Siva) v5: Donâ??t check for PORT_A in intel_ddi_init to update dig_port, instead avoid setting hpd_pin itself (Imre) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f3561bec7cb4e4804bc246069420d3f2f7f3ebe Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Aug 10 10:35:35 2015 +0530 drm/i915/bxt: Add HPD support for DDIA Also remove redundant comments. Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 25f5033761f85a659db729a10b59d80f93a6be0d Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Aug 7 17:40:19 2015 +0100 drm/i915: Always pass dev pointer in pdp_init And fix 0-DAY kernel test infrastructure warning. Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f365f91181ce862181d0d2f4fb3ca0fe2276874b Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Aug 7 17:40:18 2015 +0100 drm/i915: Use complete virtual address range on 32-bit platforms With the offset length being taken care of in ("drm/i915/gtt: Allow >= 4GB offsets in X86_32"), the code should be finally safe in 32-bit kernels. This reverts commit 501fd70fcaebc911b6b96a7b331e6960e5af67e7 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri May 29 14:15:05 2015 +0100 drm/i915: limit PPGTT size to 2GB in 32-bit platforms Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 088e0df4020e30c4952f29dc672ceb4742b98e73 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Fri Aug 7 17:40:17 2015 +0100 drm/i915/gtt: Allow >= 4GB offsets in X86_32 Similar to commit c44ef60e437019b8ca1dab8b4d2e8761fd4ce1e9 ("drm/i915/gtt: Allow >= 4GB sizes for vm"), i915_gem_obj_offset and i915_gem_obj_ggtt_offset return an unsigned long, which in only 4-bytes long in 32-bit kernels. Change return type (and other related offset variables) to u64. Since Global GTT is always limited to 4GB, this change would not be required in i915_gem_obj_ggtt_offset, but this is done for consistency. v2: Remove unnecessary offset variable in do_pin, as we already have vma->node.start (Chris). Update GGTT offset too (Tvrtko). Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aabc95dcf200908993573b2019ff5210121bcba9 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:35:50 2015 -0700 drm/i915: Dont -ETIMEDOUT on identical new and previous (count, crc). By Vesa DP 1.2 spec TEST_CRC_COUNT is a "4 bit wrap counter which increments each time the TEST_CRC_x_x are updated." However if we are trying to verify the screen hasn't changed we get same (count, crc) pair twice. Without this patch we would return -ETIMEOUT in this case. So, if in 6 vblanks the pair (count, crc) hasn't changed we return it anyway instead of returning error and let test case decide if it was right or not. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 621d4c76fd4ce7f648fa59a26e3eb6b2346cf873 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:35:49 2015 -0700 drm/i915: Save latest known sink CRC to compensate delayed counter reset. By Vesa DP 1.2 Spec TEST_CRC_COUNT should be "reset to 0 when TEST_SINK bit 0 = 0." However for some strange reason when PSR is enabled in certain platforms this is not true. At least not immediatelly. So we face cases like this: first get_sink_crc operation: count: 0, crc: 000000000000 count: 1, crc: c101c101c101 returned expected crc: c101c101c101 secont get_sink_crc operation: count: 1, crc: c101c101c101 count: 0, crc: 000000000000 count: 1, crc: 0000c1010000 should return expected crc: 0000c1010000 But also the reset to 0 should be faster resulting into: get_sink_crc operation: count: 1, crc: c101c101c101 count: 1, crc: 0000c1010000 should return expected crc: 0000c1010000 So in order to know that the second one is valid one we need to compare the pair (count, crc) with latest (count, crc). If the pair changed you have your valid CRC. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e5a1cab5e57d7bd6ef77502f950cfab6e14d92a8 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Thu Jul 23 16:35:48 2015 -0700 drm/i915: Force sink crc stop before start. By Vesa DP spec, test counter at DP_TEST_SINK_MISC just reset to 0 when unsetting DP_TEST_SINK_START, so let's force this stop here. But let's minimize the aux transactions and just do it when we know it hasn't been properly stoped. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Rafael Antognolli <rafael.antognolli@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c6d576cc576196593671eabc8aad6c1744b32568 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:24:00 2015 +0100 drm/i915/userptr: Kill user_size limit check GTT was only 32b and its max value is 4GB. In order to allow objects bigger than 4GB in 48b PPGTT, i915_gem_userptr_ioctl we could check against max 48b range (1ULL << 48). But since the check no longer applies, just kill the limit. v2: Use the default ctx to infer the ppgtt max size (Akash). v3: Just kill the limit, it was only there for early detection of an error when used for execbuffer (Chris). Cc: Akash Goel <akash.goel@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit af98714e5d05fcbf7638ea4b53d158d96d693bf2 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:59 2015 +0100 drm/i915: batch_obj vm offset must be u64 Otherwise it can overflow in 48-bit mode, and cause an incorrect exec_start. Before commit 5f19e2bffa63a91cd4ac1adcec648e14a44277ce ("drm/i915: Merged the many do_execbuf() parameters into a structure"), it was already an u64. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 65bd342ff2f1f9f3ca4a17691a825935d2aa13c9 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:58 2015 +0100 drm/i915: object size needs to be u64 In a 48b world, users can try to allocate buffers bigger than 4GB; in these cases it is important that size is a 64b variable. v2: Drop the warning about bind with size 0, it shouldn't happen anyway. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea91e401501a72597554cb5c080fe5671a6ccb84 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:57 2015 +0100 drm/i915/gen8: Add ppgtt info and debug_dump v2: Clean up patch after rebases. v3: gen8_dump_ppgtt for 32b and 48b PPGTT. v4: Use used_pml4es/pdpes (Akash). v5: Rebase after Mika's ppgtt cleanup / scratch merge patch series. v6: Rely on used_px bits instead of null checking (Akash) Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e1f123257a1f7d3af36a31a0fb2d4c6f40039fed Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:56 2015 +0100 drm/i915: Expand error state's address width to 64b v2: For semaphore errors, object is mapped to GGTT and offset will not be > 4GB, print only lower 32-bits (Akash) v3: Print gtt_offset in groups of 32-bit (Chris) Cc: Akash Goel <akash.goel@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 69ab76fd3d497816992b22dd201d2327cb921c94 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:55 2015 +0100 drm/i915/gen8: Initialize PDPs and PML4 Similar to PDs, while setting up a page directory pointer, make all entries of the pdp point to the scratch pd before mapping (and make all its entries point to the scratch page); this is to be safe in case of out of bound access or proactive prefetch. Also add a scratch pdp, which the PML4 entries point to. v2: Handle scratch_pdp allocation failure correctly, and keep initialize_px functions together (Akash) v3: Rebase after Mika's ppgtt cleanup / scratch merge patch series. Rely on the added macros to initialize the pdps. v4: Rebase after final merged version of Mika's ppgtt/scratch patches (and removed commit message part related to v3). v5: Update commit message to also mention PML4 table initialization and the new scratch pdp (Akash). Suggested-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit de5ba8eb9cefff78ac4951bd68633d2b7a0fc5c1 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Mon Aug 3 09:53:27 2015 +0100 drm/i915/gen8: Add 4 level support in insert_entries and clear_range When 48b is enabled, gen8_ppgtt_insert_entries needs to read the Page Map Level 4 (PML4), before it selects which Page Directory Pointer (PDP) it will write to. Similarly, gen8_ppgtt_clear_range needs to get the correct PDP/PD range. This patch was inspired by Ben's "Depend exclusively on map and unmap_vma". v2: Rebase after s/page_tables/page_table/. v3: Remove unnecessary pdpe loop in gen8_ppgtt_clear_range_4lvl and use clamp_pdp in gen8_ppgtt_insert_entries (Akash). v4: Merge gen8_ppgtt_clear_range_4lvl into gen8_ppgtt_clear_range to maintain symmetry with gen8_ppgtt_insert_entries (Akash). v5: Do not mix pages and bytes in insert_entries (Akash). v6: Prevent overflow in sg_nents << PAGE_SHIFT, when inserting 4GB at once. v7: Rebase after Mika's ppgtt cleanup / scratch merge patch series. Use gen8_px_index functions, and remove unnecessary number of pages parameter in insert_pte_entries. v8: Change gen8_ppgtt_clear_pte_range to stop at PDP boundary, instead of adding and extra clamp function; remove unnecessary pdp_start/pdp_len variables (Akash). v9: pages->orig_nents instead of sg_nents(pages->sgl) to get the length (Akash). v10: Remove pdp warning check ingen8_ppgtt_insert_pte_entries until this commit (Akash). Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> (v9) Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3387d433b0bbdda53ad51016ae9d10c6c17046a0 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Mon Aug 3 09:52:47 2015 +0100 drm/i915/gen8: Pass sg_iter through pte inserts As a step towards implementing 4 levels, while not discarding the existing pte insert functions, we need to pass the sg_iter through. The current function understands to the page directory granularity. An object's pages may span the page directory, and so using the iter directly as we write the PTEs allows the iterator to stay coherent through a VMA insert operation spanning multiple page table levels. v2: Rebase after s/page_tables/page_table/. v3: Rebase after Mika's ppgtt cleanup / scratch merge patch series; updated commit message (s/map/insert). v4: Rebase. Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> (v3) Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2dba3239f5c7511ffac957887facd0a0c9d003a5 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Jul 30 11:06:23 2015 +0100 drm/i915/gen8: Add 4 level switching infrastructure and lrc support In 64b (48bit canonical) PPGTT addressing, the PDP0 register contains the base address to PML4, while the other PDP registers are ignored. In LRC, the addressing mode must be specified in every context descriptor, and the base address to PML4 is stored in the reg state. v2: PML4 update in legacy context switch is left for historic reasons, the preferred mode of operation is with lrc context based submission. v3: s/gen8_map_page_directory/gen8_setup_page_directory and s/gen8_map_page_directory_pointer/gen8_setup_page_directory_pointer. Also, clflush will be needed for bxt. (Akash) v4: Squashed lrc-specific code and use a macro to set PML4 register. v5: Rebase after Mika's ppgtt cleanup / scratch merge patch series. PDP update in bb_start is only for legacy 32b mode. v6: Rebase after final merged version of Mika's ppgtt/scratch patches. v7: There is no need to update the pml4 register value in execlists_update_context. (Akash) v8: Move pd and pdp setup functions to a previous patch, they do not belong here. (Akash) v9: Check USES_FULL_48BIT_PPGTT instead of GEN8_CTX_ADDRESSING_MODE in gen8_emit_bb_start to check if emit pdps is needed. (Akash) Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 762d99363dc9bc436f39f8bdc3f8670ea272a5a9 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Jul 30 11:05:29 2015 +0100 drm/i915/gen8: implement alloc/free for 4lvl PML4 has no special attributes, and there will always be a PML4. So simply initialize it at creation, and destroy it at the end. The code for 4lvl is able to call into the existing 3lvl page table code to handle all of the lower levels. v2: Return something at the end of gen8_alloc_va_range_4lvl to keep the compiler happy. And define ret only in one place. Updated gen8_ppgtt_unmap_pages and gen8_ppgtt_free to handle 4lvl. v3: Use i915_dma_unmap_single instead of pci API. Fix a couple of incorrect checks when unmapping pdp and pd pages (Akash). v4: Call __pdp_fini also for 32b PPGTT. Clean up alloc_pdp param list. v5: Prevent (harmless) out of range access in gen8_for_each_pml4e. v6: Simplify alloc_vma_range_4lvl and gen8_ppgtt_init_common error paths. (Akash) v7: Rebase, s/gen8_ppgtt_free_*/gen8_ppgtt_cleanup_*/. v8: Change location of pml4_init/fini. It will make next patches cleaner. v9: Rebase after Mika's ppgtt cleanup / scratch merge patch series, while trying to reuse as much as possible for pdp alloc. pml4_init/fini replaced by setup/cleanup_px macros. v10: Rebase after Mika's merged ppgtt cleanup patch series. v11: Rebase after final merged version of Mika's ppgtt/scratch patches. v12: Fix pdpe start value in trace (Akash) v13: Define all 4lvl functions in this patch directly, instead of previous patches, add i915_page_directory_pointer_entry_alloc here, use test_bit to detect when pdp is already allocated (Akash). v14: Move pdp allocation into a new gen8_ppgtt_alloc_page_dirpointers funtion, as we do for pds and pts; move pd and pdp setup functions to this patch (Akash). v15: Added kfree(pdp) from previous patch to this (Akash). Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 81ba8aefd03803a8aec3395d18f7b1dda5942105 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Mon Aug 3 09:52:01 2015 +0100 drm/i915/gen8: Add PML4 structure Introduces the Page Map Level 4 (PML4), ie. the new top level structure of the page tables. To facilitate testing, 48b mode will be available on Broadwell and GEN9+, when i915.enable_ppgtt = 3. v2: Remove unnecessary CONFIG_X86_64 checks, ppgtt code is already 32/64-bit safe (Chris). v3: Add goto free_scratch in temp 48-bit mode init code (Akash). v4: kfree the pdp until the 4lvl alloc/free patch (Akash). v5: Postpone 48-bit code in sanitize_enable_ppgtt (Akash). v6: Keep _insert_pte_entries changes outside this patch (Akash). Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4c06ec8d13d2b0e57479bb135e49afd56ebe9275 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:49 2015 +0100 drm/i915/gen8: Add dynamic page trace events The dynamic page allocation patch series added it for GEN6, this patch adds them for GEN8. v2: Consolidate pagetable/page_directory events v3: Multiple rebases. v4: Rebase after s/page_tables/page_table/. v5: Rebase after Mika's ppgtt cleanup / scratch merge patch series. v6: Rebase after gen8_map_pagetable_range removal. v7: Use generic page name (px) in DECLARE_EVENT_CLASS (Akash) v8: Defer define of i915_page_directory_pointer_entry_alloc (Akash) Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v3+) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f9b5b782c4720f6c353088b559af5842ce66aa6f Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Jul 30 11:02:49 2015 +0100 drm/i915/gen8: Generalize PTE writing for GEN8 PPGTT The insert_entries function was the function used to write PTEs. For the PPGTT it was "hardcoded" to only understand two level page tables, which was the case for GEN7. We can reuse this for 4 level page tables, and remove the concept of insert_entries, which was never viable past 2 level page tables anyway, but it requires a bit of rework to make the function a bit more generic. v2: Rebase after Mika's ppgtt cleanup / scratch merge patch series. v3: Rebase after final merged version of Mika's ppgtt/scratch patches. v4: Check and warn for NULL value of pdp pointer (Akash). Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d4ec9da0e17cb6a86c0b76c5b254981601d25031 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Jul 30 11:02:03 2015 +0100 drm/i915/gen8: Abstract PDP usage Up until now, ppgtt->pdp has always been the root of our page tables. Legacy 32b addresses acted like it had 1 PDP with 4 PDPEs. In preparation for 4 level page tables, we need to stop using ppgtt->pdp directly unless we know it's what we want. The future structure will use ppgtt->pml4 for the top level, and the pdp is just one of the entries being pointed to by a pml4e. The temporal pdp local variable will be removed once the rest of the 4-level code lands. Also, start passing the vm pointer to the alloc functions, instead of ppgtt. v2: Updated after dynamic page allocation changes. v3: Rebase after s/page_tables/page_table/. v4: Rebase after changes in "Dynamic page table allocations" patch. v5: Rebase after Mika's ppgtt cleanup / scratch merge patch series. v6: Rebase after final merged version of Mika's ppgtt/scratch patches. v7: Keep pagetable map in-line (and avoid unnecessary for_each_pde loops), remove redundant ppgtt pointer in _alloc_pagetabs (Akash) v8: Fix text indentation in _alloc_pagetabs/page_directories (Chris) v9: Defer gen8_alloc_va_range_4lvl definition until 4lvl is implemented, clean-up gen8_ppgtt_cleanup [pun intended] (Akash). v10: Clean-up commit message (Akash). Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: "Akash Goel" <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6ac1850220732f47bc6ae767fa41542009674ad7 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:46 2015 +0100 drm/i915/gen8: Make pdp allocation more dynamic This transitional patch doesn't do much for the existing code. However, it should make upcoming patches to use the full 48b address space a bit easier. 32-bit ppgtt uses just 4 PDPs, while 48-bit ppgtt will have up-to 512; this patch prepares the existing functions to query the right number of pdps at run-time. This also means that used_pdpes should also be allocated during ppgtt_init, as the bitmap size will depend on the ppgtt address range selected. v2: Renamed pdp_free to be similar to pd/pt (unmap_and_free_pdp). v3: To facilitate testing, 48b mode will be available on Broadwell and GEN9+, when i915.enable_ppgtt = 3. v4: Rebase after s/page_tables/page_table/, added extra information about 4-level page table formats and use IS_ENABLED macro. v5: Check CONFIG_X86_64 instead of CONFIG_64BIT. v6: Rebase after Mika's ppgtt cleanup / scratch merge patch series, and follow his nomenclature in pdp functions (there is no alloc_pdp yet). v7: Rebase after merged version of Mika's ppgtt cleanup patch series. v8: Rebase after final merged version of Mika's ppgtt/scratch patches. v9: Introduce PML4 (and 48-bit checks) until next patch (Akash). v10: Also use test_bit to detect when pd/pt are already allocated (Akash) Cc: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v2+) Reviewed-by: Akash Goel <akash.goel@xxxxxxxxx> [danvet: Amend commit message as suggested by Michel.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 09120d4e88b13967d44d46280fb74d3ac4ac2f73 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Jul 29 17:23:45 2015 +0100 drm/i915: Remove unnecessary gen8_clamp_pd gen8_clamp_pd clamps to the next page directory boundary, but the macro gen8_for_each_pde already has a check to stop at the page directory boundary. Furthermore, i915_pte_count also restricts to the next page table boundary. v2: Rebase after Mika's ppgtt cleanup / scratch merge patch series. Suggested-by: Akash Goel <akash.goel@xxxxxxxxx> Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: "Akash Goel" <akash.goel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 47d5e30ae38ba81600bd2c3292b39d31792470c7 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Sun Jun 21 12:15:51 2015 +0200 iio:adc:cc10001_adc: resort entry in Kconfig and Makefile Move the entry for the CC 10001 ADC driver in Kconfig and Makefile up to maintain alphabetic order. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2427d22de807b40f72175c8c9b1ff8a07275ad82 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Fri Jul 17 10:52:25 2015 +0200 iio:magnetometer:bmc150_magn: sort entry alphabetically Sort the entry for bmc105_magn in Kconfig and Makefile to its correct position. Also add the minor module information for completeness. Fixes: c91746a2361d ("iio: magn: Add support for BMC150 magnetometer") Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5b958f110f8b11f9bb6c62e713b83768b1375f31 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jul 9 23:51:33 2015 +0200 iio:light:stk3310: adjust indentation Adjust some indentation issues as spotted by checkpatch.pl --strict Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Reviewed-by: Tiberiu Breana <tiberiu.a.breana@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 952c3aa3fb5538aa5026980cfdedb3d38829b67e Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jul 9 23:51:32 2015 +0200 iio:light:stk3310: use correct names and type for state Indicate the bit number of predefined states, make use of these names and change the state type in _resume to u8 to avoid type 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 7c7a9eeaa335df03d692ad65e0767020ad1be374 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Thu Jul 9 23:51:31 2015 +0200 iio:light:stk3310: add more error handling Check for the following error cases: * lower boundary for val in _write_event * return value of regmap_(field_)read * possible values for chan->type * return value of stk3310_gpio_probe Also add an error path in _probe to put the sensor back into stand-by mode in case of serious errors. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b465fc5499083d0b7086ae590cb852c0052622a0 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:39:04 2015 +0200 iio:adc:berlin2-adc: coding style cleanup Some adjustment of indentation to make checkpatch.pl happy in strict mode. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3ac065224fa07ec7e60213d67464388ac8a52222 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:39:03 2015 +0200 iio:adc:berlin2-adc: enable interrupts with mutex locked Move the call to enable channel interrupts into its _read() function to have it protected by a mutex. This ensures that only one channel is sampled at a time. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4b308e8c396dc9af3e1a97f75d15c055e09a17b2 Author: Hartmut Knaack <knaack.h@xxxxxx> Date: Tue Jul 28 00:38:59 2015 +0200 iio:adc:berlin2-adc: use GENMASK and BIT for masks Make use of GENMASK for consecutive bitmasks and BIT for single bitmasks. Signed-off-by: Hartmut Knaack <knaack.h@xxxxxx> Acked-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5cfb203a304deaaa8c7c5368722b214d24583137 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Aug 8 15:16:20 2015 +0930 modpost: abort if a module symbol is too long Module symbols have a limited length, but currently the build system allows the build finishing even if the driver code contains a too long symbol name, which eventually overflows the modversion_info[] item. The compiler may catch at compiling *.mod.c like CC xxx.mod.o xxx.mod.c:18:16: warning: initializer-string for array of chars is too long but it's merely a warning. This patch adds the check of the symbol length in modpost and stops the build properly. Currently MODULE_NAME_LEN is defined in modpost.c instead of referring to the definition in kernel header because including linux/module.h is messy and we must cover cross-compilation. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 8d446c8647c9ab8fcb45a8fc7dbbafe1f83aa2f3 Author: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Date: Fri Aug 7 09:36:59 2015 +0100 arm64/mm: Add PROT_DEVICE_nGnRnE and PROT_NORMAL_WT UEFI spec 2.5 section 2.3.6.1 defines that EFI_MEMORY_[UC|WC|WT|WB] are possible EFI memory types for AArch64. Each of those EFI memory types is mapped to a corresponding AArch64 memory type. So we need to define PROT_DEVICE_nGnRnE and PROT_NORMWL_WT additionaly. MT_NORMAL_WT is defined, and its encoding is added to MAIR_EL1 when initializing the CPU. Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> 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/1438936621-5215-6-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b40227fbfb1f98614e6f9bdc4cb3a54ab31d48a5 Author: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Date: Fri Aug 7 09:36:58 2015 +0100 acpi, x86: Implement arch_apei_get_mem_attributes() ... to allow an arch specific implementation of getting page protection type associated with a physical address. On x86, we currently have no way to look up the EFI memory map attributes for a region in a consistent way, because the memmap is discarded after efi_free_boot_services(). So if you call efi_mem_attributes() during boot and at runtime, you could theoretically see different attributes. Since we are yet to see any x86 platforms that require anything other than PAGE_KERNEL (some arm64 platforms require the equivalent of PAGE_KERNEL_NOCACHE), return that until we know differently. Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> 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/1438936621-5215-5-git-send-email-matt@xxxxxxxxxxxxxxxxxxx [ Small fixes to spelling. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7bf793115dd96ce9bd8ed1665fc187d961a95dba Author: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Date: Fri Aug 7 09:36:57 2015 +0100 efi, x86: Rearrange efi_mem_attributes() x86 and ia64 implement efi_mem_attributes() differently. This function needs to be available for other architectures (such as arm64) as well, such as for the purpose of ACPI/APEI. ia64 EFI does not set up a 'memmap' variable and does not set the EFI_MEMMAP flag, so it needs to have its unique implementation of efi_mem_attributes(). Move efi_mem_attributes() implementation from x86 to the core EFI code, and declare it with __weak. It is recommended that other architectures should not override the default implementation. Signed-off-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxx> 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/1438936621-5215-4-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fa5c35011a8d5f3d0c597a6336107eafd1b6046c Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Aug 7 09:36:56 2015 +0100 Revert "x86/efi: Request desired alignment via the PE/COFF headers" This reverts commit: aeffc4928ea2 ("x86/efi: Request desired alignment via the PE/COFF headers") Linn reports that Signtool complains that kernels built with CONFIG_EFI_STUB=y are violating the PE/COFF specification because the 'SizeOfImage' field is not a multiple of 'SectionAlignment'. This violation was introduced as an optimisation to skip having the kernel relocate itself during boot and instead have the firmware place it at a correctly aligned address. No one else has complained and I'm not aware of any firmware implementations that refuse to boot with commit aeffc4928ea2, but it's a real bug, so revert the offending commit. Reported-by: Linn Crosetto <linn@xxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michael Brown <mbrown@xxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438936621-5215-3-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 248fbcd5aee00f6519a12c5ed3bc3dc0f5e84de5 Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Fri Aug 7 09:36:55 2015 +0100 x86/efi-bgrt: Switch pr_err() to pr_debug() for invalid BGRT It's totally legitimate, per the ACPI spec, for the firmware to set the BGRT 'status' field to zero to indicate that the BGRT image isn't being displayed, and we shouldn't be printing an error message in that case because it's just noise for users. So swap pr_err() for pr_debug(). However, Josh points that out it still makes sense to test the validity of the upper 7 bits of the 'status' field, since they're marked as "reserved" in the spec and must be zero. If firmware violates this it really *is* an error. Reported-by: Tom Yan <tom.ty89@xxxxxxxxx> Tested-by: Tom Yan <tom.ty89@xxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438936621-5215-2-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 87db73aebf55554fefaa3eade0a28f282a1511b8 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Aug 7 09:36:54 2015 +0100 efi: Add support for EFI_MEMORY_RO attribute introduced by UEFIv2.5 The UEFI spec v2.5 introduces a new memory attribute EFI_MEMORY_RO, which is now the preferred attribute to convey that the nature of the contents of such a region allows it to be mapped read-only (i.e., it contains .text and .rodata only). The specification of the existing EFI_MEMORY_WP attribute has been updated to align more closely with its common use as a cacheability attribute rather than a permission attribute. Add the #define and add the attribute to the memory map dumping routine. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Reviewed-by: Laszlo Ersek <lersek@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1438936621-5215-1-git-send-email-matt@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 73958c651fbf70d8d8bf2a60b871af5f7a2e3199 Author: Sam Ravnborg <sam@xxxxxxxxxxxx> Date: Fri Aug 7 20:34:12 2015 +0200 sparc64: use ENTRY/ENDPROC in VISsave From 7d8a508d74e6cacf0f2438286a959c3195a35a37 Mon Sep 17 00:00:00 2001 From: Sam Ravnborg <sam@xxxxxxxxxxxx> Date: Fri, 7 Aug 2015 20:26:12 +0200 Subject: [PATCH] sparc64: use ENTRY/ENDPROC in VISsave Commit 44922150d87cef616fd183220d43d8fde4d41390 ("sparc64: Fix userspace FPU register corruptions") left a stale globl symbol which was not used. Fix this and introduce use of ENTRY/ENDPROC Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1b3475def4bca962cc8904cc0cdac22e7b6b6b3 Author: Rob Gardner <rob.gardner@xxxxxxxxxx> Date: Fri Aug 7 14:47:35 2015 -0600 sparc64: Fix incorrect ASI_ST_BLKINIT_MRU_S value ASI_ST_BLKINIT_MRU_S is incorrectly defined as 0xf2 when it should be 0xf3 according to section 10.3.1 of the Sparc Architecture manual. Signed-off-by: Rob Gardner <rob.gardner@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Revision graph left in /home/logs/results/bisect/linux-linus/test-amd64-i386-qemut-rhel6hvm-intel.xen-boot.{dot,ps,png,html,svg}. ---------------------------------------- 65215: tolerable ALL FAIL flight 65215 linux-linus real-bisect [real] http://logs.test-lab.xenproject.org/osstest/logs/65215/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: test-amd64-i386-qemut-rhel6hvm-intel 6 xen-boot fail baseline untested jobs: test-amd64-i386-qemut-rhel6hvm-intel fail ------------------------------------------------------------ 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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |